<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
      xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>
<channel>
     

<itunes:subtitle>Hanno's blog</itunes:subtitle>
<itunes:author>Hanno's blog</itunes:author>
<itunes:summary></itunes:summary>
<itunes:image href="http://hboeck.de/itunes.jpg" />
<itunes:category text="Technology" />                
                
    <title>Hanno's blog - Cryptography</title>
    <link>http://blog.hboeck.de/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7-rc3 - http://www.s9y.org/</generator>
    <pubDate>Sun, 10 Feb 2013 13:11:57 GMT</pubDate>

    <image>
        <url>http://blog.hboeck.de/templates/hanno/img/s9y_banner_small.png</url>
        <title>RSS: Hanno's blog - Cryptography - </title>
        <link>http://blog.hboeck.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Explain hard stuff with the 1000 most common words #UPGOERFIVE</title>
    <link>http://blog.hboeck.de/archives/815-Explain-hard-stuff-with-the-1000-most-common-words-UPGOERFIVE.html</link>
            <category>Cryptography</category>
            <category>English</category>
            <category>Life</category>
            <category>Science</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/815-Explain-hard-stuff-with-the-1000-most-common-words-UPGOERFIVE.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=815</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=815</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Based on &lt;a href=&quot;http://xkcd.com/1133/&quot;&gt;the XKCD comic &quot;Up Goer Five&quot;&lt;/a&gt;, someone made &lt;a href=&quot;http://splasho.com/upgoer5/#&quot;&gt;a nice little tool&lt;/a&gt;: An online text editor that lets you only use the 1000 most common words in English. And ask you to explain a hard idea with it.&lt;br /&gt;
&lt;br /&gt;
Nice idea. I gave it a try. The most obvious example to use was my &lt;a href=&quot;http://rsapss.hboeck.de/&quot;&gt;diploma thesis (on RSA-PSS and provable security)&lt;/a&gt;, where I always had a hard time to explain to anyone what it was all about.&lt;br /&gt;
&lt;br /&gt;
Well, obviously math, proof, algorithm, encryption etc. all are forbidden, but I had a hard time with the fact that even words like &quot;message&quot; (or anything equivalent) don&#039;t seem to be in the top 1000.&lt;br /&gt;
&lt;br /&gt;
Here &lt;a href=&quot;http://splasho.com/upgoer5/?i=I2uyovO5o3HtqTSfnlO0olOuVTMlnJIhMPjtp2uyVT9lVTuyVTgho3qmVUyiqFOupzHtqTuyVUOypaAiovOcovOkqJImqTyiov4tDaI0VUqbMJ4trJ91VTEiVUEbnKZtLFOzpzyyozDtMzSlVTS3LKxtqTulo3IanPOwo21jqKEypaZfVUyiqFOwLJ4toz90VTWyVUA1pzHhPyEbLKDaplO3nUxtL29gpUI0MKWmVTuuqzHtq2S5plO0olOfMKDtrJ91VTgho3ptnJLtqTuyVUOypaAiovO5o3HtLKWyVUEuoTgcozptqT8tnKZtpzIuoTk5VUEbMFOlnJqbqPOjMKWmo24hPtcHnTHtq2S5plO3MFO1p2HtqT9xLKxtnTS2MFOiozHtpUWiLzkyoGbtI2HtLKWyVT5iqPOmqKWyVUEbLKDtqTuyrFO3o3WeYvOWqPOgLKxtLzHtqTuuqPOuVTWuMPOjMKWmo24tn25iq3ZtLFO3LKxtqT8tLzHtLJWfMFO0olO0MJkfVUyiqFO0nTS0VTuyVTymVTyhVTMuL3DtrJ91pvOzpzyyozDhVSqyVTEiVT5iqPO0nTyhnlO0nTS0VUEbMKWyVTSlMFOmqJAbVUqurKZtMz9lVTWuMPOjMKWmo25mYPOvqKDtq2HtLKWyVT5iqPOwo21joTI0MJk5VUA1pzHhPtcHnTymVTymVUqbrFOmo21yVUOyo3OfMFO0paxtqT8tMzyhMPO3LKymVUEbLKDtLKWyVTWyqUEypv4tI2uypzHtq2HtL2ShVTWyVUA1pzHtqTuuqPOholOvLJDtpTIlp29hVTymVTSvoTHtqT8tqTIfoPO5o3HtqTuuqPObMFOcplO5o3IlVTMlnJIhMP4tI2y0nPO0nTHtn25iq24tq2S5plO0o2EurFO0nTymVTymVT5iqPOwo21joTI0MJk5VUOip3AcLzkyYvOPqKDtnKDtnKZtpT9mp2yvoTHtnJ4tpTSlqUZhPtcWVTuuqzHtoT9in2IxVTS0VUEbo3AyVTWyqUEypvO3LKymYvOOozDtFFObLKMyVUqipzgyMPOiovOvpzyhM2yhMlO0nTImMFOvMKE0MKVtq2S5plO0olO5o3IlVTAioKO1qTIlYt==&quot;&gt;we go&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;When you talk to a friend, she or he knows you are the person in question. But when you do this a friend far away through computers, you can not be sure.&lt;br /&gt;
That&#039;s why computers have ways to let you know if the person you are talking to is really the right person.&lt;br /&gt;
&lt;br /&gt;
The ways we use today have one problem: We are not sure that they work. It may be that a bad person knows a way to be able to tell you that he is in fact your friend. We do not think that there are such ways for bad persons, but we are not completely sure.&lt;br /&gt;
&lt;br /&gt;
This is why some people try to find ways that are better. Where we can be sure that no bad person is able to tell you that he is your friend. With the known ways today this is not completely possible. But it is possible in parts.&lt;br /&gt;
&lt;br /&gt;
I have looked at those better ways. And I have worked on bringing these better ways to your computer.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
So - do you now have an idea what I was taking about?&lt;br /&gt;
&lt;br /&gt;
I found this nice tool through &lt;a href=&quot;https://bengoldacre.posterous.com/randomised-trials-blinding-systematic-reviews&quot;&gt;Ben Goldacre, who tried to explain randomized trials, blinding, systematic review and publication bias&lt;/a&gt; - go there and read it. Knowing what publication bias and systematic reviews are is much more important for you than knowing what RSA-PSS is. You can leave cryptography to the experts, but you should care about your health. And for the record, I recently tried myself to &lt;a href=&quot;https://www.taz.de/!108379/&quot;&gt;explain publication bias (german only)&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Sat, 26 Jan 2013 11:51:57 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/815-guid.html</guid>
    <category>diplomathesis</category>
<category>language</category>
<category>rsapss</category>
<category>simple</category>
<category>thesis</category>
<category>upgoerfive</category>
<category>words</category>

</item>
<item>
    <title>How to configure your HTTPS server</title>
    <link>http://blog.hboeck.de/archives/814-How-to-configure-your-HTTPS-server.html</link>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>Gentoo</category>
            <category>Linux</category>
    
    <comments>http://blog.hboeck.de/archives/814-How-to-configure-your-HTTPS-server.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=814</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=814</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Yesterday, we had a meeting at &lt;a href=&quot;http://cacertberlin.wikihoster.net/whn/1._SSL-Stammtisch&quot;&gt;CAcert Berlin&lt;/a&gt; where I had a little talk about how to almost-perfectly configure your HTTPS server. Motivation for that was the very nice &lt;a href=&quot;https://www.ssllabs.com/ssltest/&quot;&gt;Qualys SSL Server test&lt;/a&gt;, which can remote-check your SSL configuration and tell you a bunch of things about it.&lt;br /&gt;
&lt;br /&gt;
While playing with that, I &lt;a href=&quot;https://fancyssl.hboeck.de/&quot;&gt;created a test setup&lt;/a&gt; which passes with 100 points in the Qualys test. However, you will hardly be able to access that page, which is mainly due to it&#039;s exclusive support for TLS 1.2. All major browsers fail. Someone from the audience told me that the iPhone browser was successfully able to access the page. To safe the reputation of free software, someone else found out that the Midori browser is also capable of accessing it. I&#039;ve described what I did there on the page itself and you may also read it &lt;a href=&quot;http://fancynossl.hboeck.de/&quot;&gt;here via http&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here are my slides &lt;a href=&quot;http://int21.de/slides/slides_https.odp&quot;&gt;&quot;SSL, X.509, HTTPS - How to configure your HTTPS server&quot; as ODP&lt;/a&gt;, &lt;a href=&quot;http://int21.de/slides/slides_https.pdf&quot;&gt;as PDF&lt;/a&gt; and &lt;a href=&quot;http://www.slideshare.net/hannob/ssl-x509-https-how-to-configure-your-https-server&quot;&gt;on Slideshare&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
And some links mentioned in the slides:&lt;br /&gt;
&lt;a href=&quot;https://factorable.net/&quot;&gt;Check SSL and SSH weak keys due to broken random numbers&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.eff.org/observatory&quot;&gt;EFF SSL Observatory&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.eff.org/sovereign-keys&quot;&gt;Sovereign Keys proect&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Some great talks on the mentioned topics by others:&lt;br /&gt;
&lt;a href=&quot;http://media.ccc.de/browse/congress/2012/29c3-5275-en-facthacks_h264.html&quot;&gt;Facthacks Talk 29c3&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://media.ccc.de/browse/congress/2008/25c3-3023-en-making_the_theoretical_possible.html&quot;&gt;MD5 considered harmful today - Creating a rogue CA Certificate&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://media.ccc.de/browse/congress/2010/27c3-4121-en-is_the_ssliverse_a_safe_place.html&quot;&gt;Is the SSLiverse a safe place?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; As people seem to find these browser issue interesting: It&#039;s been pointed out that the iPad Browser also works. Opera with TLS 1.2 enabled seems to work for some people, but not for me (maybe Windows-only). luakit and epiphany also work, but they don&#039;t check certificates at all, so that kind of doesn&#039;t count. 
    </content:encoded>

    <pubDate>Sat, 19 Jan 2013 11:45:11 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/814-guid.html</guid>
    <category>ca</category>
<category>cacert</category>
<category>certificate</category>
<category>cryptography</category>
<category>encryption</category>
<category>https</category>
<category>security</category>
<category>ssl</category>
<category>tls</category>
<category>x509</category>

</item>
<item>
    <title>Das Ärgernis GEMA</title>
    <link>http://blog.hboeck.de/archives/810-Das-AErgernis-GEMA.html</link>
            <category>Cryptography</category>
            <category>Politics</category>
    
    <comments>http://blog.hboeck.de/archives/810-Das-AErgernis-GEMA.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=810</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=810</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    &lt;!-- s9ymdb:361 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;183&quot;  src=&quot;http://blog.hboeck.de/uploads/youtube-gema.png&quot;  alt=&quot;GEMA-Sperre auf Youtube&quot; /&gt;Über die GEMA könnte man viel schreiben und sich viel ärgern, etwa jedes zweite mal, wenn man auf ein Youtube-Video klickt und erzählt bekommt, dass dieses Video &quot;in Deinem Land nicht verfügbar&quot; ist. Ein besonders krasses Ärgernis ist aber die sogenannte GEMA-Vermutung. Sie bewirkt letztendlich, dass die GEMA Geld für Musiker kassieren kann, die überhaupt nicht bei ihr Mitglied sind.&lt;img src=&quot;http://vg01.met.vgwort.de/na/4bbbf76659814910ac8cc45efdc115fa&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;
&lt;br /&gt;
Wie funktioniert das? Grob gesagt sagt die GEMA-Vermutung folgendes: Man geht davon aus, dass fast alle Musik von der GEMA vertreten wird und somit im Zweifel immer angenommen wird, dass die GEMA Ansprüche auf Zahlungen hat. Konkret: Wer ein Konzert ausrichten, eine CD produzieren oder sonst etwas mit Musik machen will, muss damit rechnen, von der GEMA behelligt zu werden - und zwar auch dann, wenn die betroffenen Künstler nicht bei der GEMA Mitglied sind. Denn beweisen muss man das selbst. Das führt zu absurden Situationen: &lt;a href=&quot;https://linksunten.indymedia.org/de/node/54192&quot;&gt;Das Landgericht Mannheim forderte etwa, dass alle Musiker, die in der Freiburger KTS über mehrere Jahre aufgetreten sind, als Zeugen persönlich vor Gericht erscheinen sollten&lt;/a&gt;. Eine schriftliche Erklärung der Musiker reichte nicht aus. Kürzlich Schlagzeilen machte ein Fall, in dem die &lt;a href=&quot;http://musik.klarmachen-zum-aendern.de/pressemitteilung/2012/08/27/musikpiraten_unterliegen_der_gema_-_berufung_geplant-1722&quot;&gt;Musikpiraten an die GEMA zahlen sollten, weil auf einem von ihnen veröffentlichten Sampler ein Musiker vertreten war, der mit einem Pseudonym auftrat und seinen bürgerlichen Namen nicht nennen wollte&lt;/a&gt;. Auch hier bekam die GEMA recht.&lt;br /&gt;
&lt;br /&gt;
Die GEMA-Vermutung ist in der heutigen Zeit völlig absurd. Eingeführt wurde sie, als tatsächlich noch davon ausgegangen werden konnte, dass die Mehrzahl der erfolgreicheren Künstler in ihr Mitlgied waren. Heute gibt es aber &lt;a href=&quot;http://www.jamendo.com/&quot;&gt;zahllose Musiker und Künstler&lt;/a&gt;, die andere Wege gehen, die auf Creative Commons-Lizenzen setzen und die mit der GEMA nichts am Hut haben.&lt;br /&gt;
&lt;br /&gt;
Warum schreibe ich das alles? Weil gerade beim &lt;a href=&quot;https://epetitionen.bundestag.de/petitionen/_2012/_08/_28/Petition_35441.html&quot;&gt;Bundestag eine Petition gegen die GEMA-Vermutung läuft&lt;/a&gt; - die ihr bitte alle SOFORT unterstützen solltet. Denn sie läuft nur noch bis heute abend und braucht noch gut 10.000 Unterstützer, damit es zu einer Anhörung kommt. 
    </content:encoded>

    <pubDate>Wed, 17 Oct 2012 11:00:10 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/810-guid.html</guid>
    <category>bundestag</category>
<category>copyright</category>
<category>creativecommons</category>
<category>epetition</category>
<category>gema</category>
<category>gemavermutung</category>
<category>kts</category>
<category>musik</category>
<category>musikpiraten</category>
<category>petition</category>

</item>
<item>
    <title>Verteidigung meiner Diplomarbeit</title>
    <link>http://blog.hboeck.de/archives/797-Verteidigung-meiner-Diplomarbeit.html</link>
            <category>Cryptography</category>
            <category>Science</category>
    
    <comments>http://blog.hboeck.de/archives/797-Verteidigung-meiner-Diplomarbeit.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=797</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=797</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    &lt;!-- s9ymdb:342 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;264&quot;  src=&quot;http://blog.hboeck.de/uploads/pss.serendipityThumb.png&quot;  alt=&quot;&quot; /&gt;Die Verteidigung meiner &lt;a href=&quot;http://rsapss.hboeck.de/&quot;&gt;Diplomarbeit über RSA-PSS&lt;/a&gt; an der HU Berlin wird am 10. November stattfinden. Die Veranstaltung ist öffentlich (17:00 Uhr s. t., Rudower Chausee 25, Campus Berlin-Adlershof, Raum 3&#039;113). &lt;b&gt;Achtung: Termin und Ort verschoben.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Ankündigung:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Das Verschlüsselungs- und Signaturverfahren RSA ist das mit Abstand am häufigsten eingesetzte Public Key-Verfahren. RSA kann nicht in seiner ursprünglichen Form eingesetzt werden, da hierbei massive Sicherheitsprobleme auftreten. Zur Vorverarbeitung ist ein sogenanntes Padding notwendig. Bislang wird hierfür meist eine simple Hash-Funktion eingesetzt. Schon 1996 stellten Mihir Bellare und Philipp Rogaway für Signaturen ein verbessertes Verfahren mit dem Namen &quot;Probabilistic Signature Scheme&quot; (PSS) vor. Es garantiert unter bestimmten Annahmen &quot;beweisbare&quot; Sicherheit.&lt;br /&gt;
&lt;br /&gt;
In der Diplomarbeit wurde untersucht, welche Vorteile RSA-PSS gegenüber früheren Verfahren bietet und inwieweit RSA-PSS in verbreiteten Protokollen bereits zum Einsatz kommt. Weiterhin wurde eine Implementierung des Verfahrens für X.509-Zertifikate für die nss-Bibliothek erstellt. nss wird unter anderem von Mozilla Firefox und Google Chrome eingesetzt.&lt;/i&gt; 
    </content:encoded>

    <pubDate>Thu, 27 Oct 2011 21:04:53 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/797-guid.html</guid>
    <category>cryptography</category>
<category>diploma</category>
<category>diplomarbeit</category>
<category>nss</category>
<category>pss</category>
<category>rsa</category>
<category>security</category>
<category>thesis</category>

</item>
<item>
    <title>OpenLeaks doing strange things with SSL</title>
    <link>http://blog.hboeck.de/archives/786-OpenLeaks-doing-strange-things-with-SSL.html</link>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/786-OpenLeaks-doing-strange-things-with-SSL.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=786</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=786</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    &lt;!-- s9ymdb:332 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;224&quot;  src=&quot;http://blog.hboeck.de/uploads/leaks-taz-de.jpg&quot;  alt=&quot;leaks.taz.de&quot; /&gt;OpenLeaks is a planned platform like WikiLeaks, founded by ex-Wikileaks member Daniel Domscheit-Berg. It&#039;s been announced a while back and &lt;a href=&quot;https://leaks.taz.de/&quot;&gt;a beta is currently presented in cooperation with the newspaper taz&lt;/a&gt; during the &lt;a href=&quot;http://events.ccc.de/camp/2011/&quot;&gt;Chaos Communication Camp&lt;/a&gt; (where I am right now).&lt;br /&gt;
&lt;br /&gt;
I had a short look and found some things noteworthy:&lt;br /&gt;
The page is SSL-only, any connection attempt with http will be forwarded to https. When I opened the page in firefox, I got a message that the certificate is not valid. That&#039;s obviously bad, although most people probably won&#039;t see this message.&lt;br /&gt;
&lt;br /&gt;
What is wrong here is that an intermediate certificate is missing - we have a so-called transvalid certificate (the term &quot;transvalid&quot; has been used for it by the EFF SSL Observatory project). Firefox includes the root certificate from Go Daddy, but the certificate is signed by another certificate which itself is signed by the root certificate. To make this work, one has to ship the so-called intermediate certificate when opening an SSL connection.&lt;br /&gt;
&lt;br /&gt;
The reason why most people won&#039;t see this warning and why it probably went unnoticed is that browsers remember intermediate certificates. If someone ever was on a webpage which uses the Go Daddy intermediate certificate, he won&#039;t see this warning. I saw it because I usually don&#039;t use Firefox and it had a rather fresh configuration.&lt;br /&gt;
&lt;br /&gt;
There was another thing that bothered me: On top of the page, there&#039;s a line &quot;Before submitting anything verify that the fingerprints of the SSL certificate match!&quot; followed by a SHA-1 certificate fingerprint. Beside the fact that it&#039;s english on a german page, this is a rather ridiculous suggestion. Checking a fingerprint of an SSL connection against one you got through exactly that SSL connection is bogus. Checking a certificate fingerprint doesn&#039;t make any sense if you got it through a connection that was secured with that certificate. If checking a fingerprint should make sense, it has to come through a different channel. Beside that, nowhere is explained how a user should do that and what a fingerprint is at all. I doubt that this is of any help for the targetted audience by a whistleblower platform - it will probably only confuse people.&lt;br /&gt;
&lt;br /&gt;
Both issues give me the impression that the people who designed OpenLeaks don&#039;t really know how SSL works - and that&#039;s not a good sign. 
    </content:encoded>

    <pubDate>Fri, 12 Aug 2011 17:26:04 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/786-guid.html</guid>
    <category>cccamp11</category>
<category>certificate</category>
<category>openleaks</category>
<category>security</category>
<category>ssl</category>
<category>taz</category>
<category>transvalid</category>

</item>
<item>
    <title>Using EFF SSL Observatory to find weak keys in CAcert</title>
    <link>http://blog.hboeck.de/archives/785-Using-EFF-SSL-Observatory-to-find-weak-keys-in-CAcert.html</link>
            <category>Cryptography</category>
            <category>English</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/785-Using-EFF-SSL-Observatory-to-find-weak-keys-in-CAcert.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=785</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=785</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    &lt;div class=&quot;serendipity_imageComment_right&quot; style=&quot;width: 300px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;!-- s9ymdb:331 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;124&quot;  src=&quot;http://blog.hboeck.de/uploads/sslobservatory.jpg&quot;  alt=&quot;SSL Observatory Logo&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;(c) EFF, Creative Commons by&lt;/div&gt;&lt;/div&gt;I&#039;ve written in the past about the &lt;a href=&quot;https://www.eff.org/observatory&quot;&gt;EFF SSL Observatory&lt;/a&gt;. It&#039;s a great project that has scanned the whole IP space for SSL-certificates used in HTTPS. They provide a database with meta information and their project found a couple of issues where CAs have issued certificates with weak security settings and violation of their own policies. &lt;a href=&quot;http://www.cacert.org/&quot;&gt;CAcert&lt;/a&gt; is a project which tries to be the &quot;better SSL authority&quot; - it issues certificates for free, based on a web-of-trust community. The CAcert root certificate is not part of any major web browser. The EFF has mainly analyzed the browser-accepted CAs - but they provide the data, so I could do it myself.&lt;br /&gt;
&lt;br /&gt;
I did some checks on the all_certs table selecting the certificates from cacert. I found out that there were 143 valid certificates with 512 bit. That is completely insecure and &lt;a href=&quot;http://www.ticalc.org/archives/news/articles/14/145/145154.html&quot;&gt;breakable by a home computer today&lt;/a&gt;. I also found that the majority of certificates still has 1024 bit, which by today&#039;s standards should be considered harmful - there have been no public breaks yet, but it&#039;s expected that it&#039;s possible to build an RSA-1024 cracker for an attacker with enough money.&lt;br /&gt;
&lt;br /&gt;
I did the following query on the database:&lt;br /&gt;
&lt;b&gt;SELECT RSA_Modulus_Bits, count(*) FROM all_certs WHERE `Validity:Not After datetime` &gt; &#039;2010-03-08&#039; AND ( `Issuer` like &#039;%CAcert.org%&#039; OR `Issuer` like &#039;%cacert.org&#039;) GROUP BY `RSA_Modulus_Bits` ORDER BY count(*);&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;+------------------+----------+&lt;br/&gt;| RSA_Modulus_Bits | count(*) |&lt;br/&gt;+------------------+----------+&lt;br/&gt;[...]&lt;br/&gt;| 512              |      143 |&lt;br/&gt;| 4096             |      632 |&lt;br/&gt;| 2048             |     3716 |&lt;br/&gt;| 1024             |     5790 |&lt;br/&gt;+------------------+----------+&lt;/pre&gt;&lt;br /&gt;
Now, what further checks can we do? I checked for the RSA exponent. I found two certificates in the database with exponent 3. RSA with low exponent is also considered insecure, although one has to state that this is not a serious issue. RSA with low exponents is not insecure by itself, but it can create vulnerabilities in combination with other issues (if you&#039;re interested in details, read &lt;a href=&quot;http://rsapss.hboeck.de/&quot;&gt;my diploma thesis&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
I have not checked the CAcert database for the Debian SSL vulnerability, as that would&#039;ve been non-trivial. There were scripts shipped with the SSL Observatory data, but I found them not easy to use, so I skipped that part. &lt;br /&gt;
&lt;br /&gt;
My suggestions to cacert were to revoke all certificates with serious issues (like the 512 bit certificates). Also, I suggested that new certificates with insecure settings like RSA below 2048 bits or a low exponent should not be allowed. CAcert did most of this. By now, all 512 bit certificates should be revoked and it is impossible to create new ones below 1024 bit or with low exponents. It is however still possible to create 1024 bit certificates, which is due to a limitation in the client certificate creation script for the Internet Explorer. They say they&#039;re working on this and plan to prevent 1024 bit certificates in the future. They also told me that they&#039;ve checked for the Debian SSL bug.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve reported the issue on the 11th March and got a reply on the same day - that&#039;s pretty okay, one slight thing still: There was no security contact with a PGP key listed on the webpage (but I got a PGP-encrypted contact once I asked for it). That&#039;s not good, I expect especially from a security project that I can contact them for security issues with encrypted mail. One can also argue if four months is a bit long to fix such an issue, but as it was far away from being trivial, this can be apologized.&lt;br /&gt;
&lt;br /&gt;
I&#039;d say that I&#039;m quite satisfied with the reactions of CAcert. I always got fast replies to questions I had and the issues were resolved in a proper way. I have other points of criticism on the security of CAcert, the issue that bothers me most is that they still use SHA-1 and refuse to switch to a more secure hashing algorithm like SHA-512, although all major browsers have support for this since a long time.&lt;br /&gt;
&lt;br /&gt;
I want to encourage others to do further tests on CAcert. I&#039;d like to see CAcert being an authority that does better than the commercial ones. The database from the observatory is a treasure and should be used by projects like CAcert to improve their security. 
    </content:encoded>

    <pubDate>Sat, 30 Jul 2011 15:39:03 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/785-guid.html</guid>
    <category>cacert</category>
<category>eff</category>
<category>observatory</category>
<category>rsa</category>
<category>security</category>
<category>ssl</category>
<category>x509</category>

</item>
<item>
    <title>Diploma thesis on RSA-PSS finished</title>
    <link>http://blog.hboeck.de/archives/760-Diploma-thesis-on-RSA-PSS-finished.html</link>
            <category>Code</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Life</category>
    
    <comments>http://blog.hboeck.de/archives/760-Diploma-thesis-on-RSA-PSS-finished.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=760</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=760</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    &lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.hboeck.de/uploads/diplomarbeit.jpg&#039;&gt;&lt;!-- s9ymdb:288 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;300&quot; height=&quot;225&quot;  src=&quot;http://blog.hboeck.de/uploads/diplomarbeit.serendipityThumb.jpg&quot;  alt=&quot;Diplomarbeit&quot; /&gt;&lt;/a&gt;Today I submitted my diploma thesis to my university.&lt;br /&gt;
&lt;br /&gt;
The thesis summarizes several months of investigation of the Probabilistic Signature Scheme (PSS). Traditionally, RSA signatures are done by hashing and then signing them. PSS is an improved, provable secure scheme to prepare a message before signing. The main focus was to investigate where PSS is implemented and used in real world cryptographic applications with a special focus on X.509.&lt;br /&gt;
&lt;br /&gt;
During my work on that, I also implemented PSS signatures for the nss library in the Google Summer of Code 2010.&lt;br /&gt;
&lt;br /&gt;
The thesis itself (including PDF and latex sources), patches for nss and everything else relevant can be found at&lt;br /&gt;
&lt;a href=&quot;http://rsapss.hboeck.de/&quot;&gt;http://rsapss.hboeck.de&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 04 May 2011 14:07:58 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/760-guid.html</guid>
    <category>cryptography</category>
<category>diploma</category>
<category>gsoc</category>
<category>nss</category>
<category>pss</category>
<category>rsa</category>
<category>thesis</category>
<category>university</category>

</item>
<item>
    <title>X.509 / SSL certificate test cases</title>
    <link>http://blog.hboeck.de/archives/757-X.509-SSL-certificate-test-cases.html</link>
            <category>Cryptography</category>
            <category>English</category>
    
    <comments>http://blog.hboeck.de/archives/757-X.509-SSL-certificate-test-cases.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=757</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=757</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    https is likely the most widely used cryptographic protocol. It&#039;s based on X.509 certificates. There&#039;s a living debate how useful this concept is at all, mainly through the interesting findings of the &lt;a href=&quot;https://www.eff.org/observatory&quot;&gt;EFF SSL Observatory&lt;/a&gt;. But that won&#039;t be my point today.&lt;br /&gt;
&lt;br /&gt;
Pretty much all webpage certificates use RSA and sadly, the vast majority still use insecure hash algorithms. But it is rarely known that the X.509 standards support a whole bunch of other public key algorithms.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve set up a &lt;a href=&quot;http://ssl.hboeck.de/&quot;&gt;page with a couple of test-cases for less-often used algorithm combinations&lt;/a&gt;. At the moment, it&#039;s mainly focused on RSASSA-PSS, but I plan to add elliptic curve algorithms soon. As I won&#039;t get any certificate authority to sign me certificates with anything else than classic RSA, I created my own testing root CA.&lt;br /&gt;
&lt;br /&gt;
I&#039;d be very interested to get some feedback. If you happen to have some interesting OS/Browser combination, please &lt;a href=&quot;http://ssl.hboeck.de/rootca.crt&quot;&gt;import the root certificate&lt;/a&gt; and send me a screenshot where I can see how many green ticks there are (post a link to the screenshot in the commends or send it via email).&lt;br /&gt;
&lt;br /&gt;
At the moment, I&#039;m especially looking for people to test:&lt;ul&gt;&lt;li&gt;Internet Explorer 9 on Windows 7&lt;/li&gt;&lt;li&gt;Safari on latest MacOS X&lt;/li&gt;&lt;li&gt;Internal browser on iPhone (I don&#039;t know if it&#039;s possible to install a new certificate authority there)&lt;/li&gt;&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Thu, 21 Apr 2011 13:52:52 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/757-guid.html</guid>
    <category>certificate</category>
<category>cryptography</category>
<category>pss</category>
<category>rsa</category>
<category>security</category>
<category>ssl</category>
<category>tls</category>
<category>x509</category>

</item>
<item>
    <title>Playing with the EFF SSL Observatory</title>
    <link>http://blog.hboeck.de/archives/754-Playing-with-the-EFF-SSL-Observatory.html</link>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Science</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/754-Playing-with-the-EFF-SSL-Observatory.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=754</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=754</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    The Electronic Frontier Foundation is running a fascinating project called the SSL Observatory. What they basically do is quite simple: They collected all SSL certificates they could get via https (by scanning all possible IPs), put them in a database and made statistics with them.&lt;br /&gt;
&lt;br /&gt;
For an introduction, watch their &lt;a href=&quot;http://media.ccc.de/browse/congress/2010/27c3-4121-en-is_the_ssliverse_a_safe_place.html&quot;&gt;talk at the 27C3&lt;/a&gt; - it&#039;s worth it. For example, they found a couple of &quot;Extended Validation&quot;-Certificates that clearly violated the rules for extended validation, including one 512-bit EV-certificate.&lt;br /&gt;
&lt;br /&gt;
The great thing is: They provide the full mysql database for download. I took the time to import the thing locally and am now able to run my own queries against it.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s show some examples: I&#039;m interested in crypto algorithms used in the wild, so I wanted to know which are used in the wild at all. My query:&lt;br /&gt;
&lt;pre&gt;SELECT `Signature Algorithm`, count(*) FROM valid_certs GROUP BY `Signature Algorithm` ORDER BY count(*);&lt;/pre&gt;shows all signature algorithms used on the certificates.&lt;br /&gt;
And the result:&lt;br /&gt;
&lt;pre&gt;+--------------------------+----------+&lt;br/&gt;| Signature Algorithm      | count(*) |&lt;br/&gt;+--------------------------+----------+&lt;br/&gt;|  sha512WithRSAEncryption |        1 |&lt;br/&gt;|  sha1WithRSA             |        1 |&lt;br/&gt;|  md2WithRSAEncryption    |        4 |&lt;br/&gt;|  sha256WithRSAEncryption |       62 |&lt;br/&gt;|  md5WithRSAEncryption    |    29958 |&lt;br/&gt;|  sha1WithRSAEncryption   |  1503333 |&lt;br/&gt;+--------------------------+----------+&lt;/pre&gt;Nothing very surprising here. Seems nobody is using anything else than RSA. The most popular hash algorithm is SHA-1, followed by MD5. The transition to SHA-256 seems to go very slowly (btw., the most common argument I heared when asking CAs for SHA-256 certificates was that Windows XP before service pack 3 doesn&#039;t support that). The four MD2-certificates seem interesting, though even that old, it&#039;s still more secure than MD5 and provides a similar security margin as SHA-1, though support for it has been removed from a couple of security libraries some time ago.&lt;br /&gt;
&lt;br /&gt;
This query was only for the valid certs, meaning they were signed by any browser-supported certificate authority. Now I run the same query on the all_certs table, which contains every cert, including expired, self-signed or otherwise invalid ones:&lt;br /&gt;
&lt;pre&gt;+-------------------------------------------------------+----------+&lt;br/&gt;| Signature Algorithm                                   | count(*) |&lt;br/&gt;+-------------------------------------------------------+----------+&lt;br/&gt;|  1.2.840.113549.27.1.5                                |        1 |&lt;br/&gt;|  sha1                                                 |        1 |&lt;br/&gt;|  dsaEncryption                                        |        1 |&lt;br/&gt;|  1.3.6.1.4.1.5849.1.3.2                               |        1 |&lt;br/&gt;|  md5WithRSAEncryption ANDALSO  md5WithRSAEncryption   |        1 |&lt;br/&gt;|  ecdsa-with-Specified                                 |        1 |&lt;br/&gt;|  dsaWithSHA1-old                                      |        2 |&lt;br/&gt;|  itu-t ANDALSO  itu-t                                 |        2 |&lt;br/&gt;|  dsaWithSHA                                           |        3 |&lt;br/&gt;|  1.2.840.113549.1.1.10                                |        4 |&lt;br/&gt;|  ecdsa-with-SHA384                                    |        5 |&lt;br/&gt;|  ecdsa-with-SHA512                                    |        5 |&lt;br/&gt;|  ripemd160WithRSA                                     |        9 |&lt;br/&gt;|  md4WithRSAEncryption                                 |       15 |&lt;br/&gt;|  sha384WithRSAEncryption                              |       24 |&lt;br/&gt;|  GOST R 34.11-94 with GOST R 34.10-94                 |       25 |&lt;br/&gt;|  shaWithRSAEncryption                                 |       50 |&lt;br/&gt;|  sha1WithRSAEncryption ANDALSO  sha1WithRSAEncryption |       72 |&lt;br/&gt;|  rsaEncryption                                        |       86 |&lt;br/&gt;|  md2WithRSAEncryption                                 |      120 |&lt;br/&gt;|  GOST R 34.11-94 with GOST R 34.10-2001               |      378 |&lt;br/&gt;|  sha512WithRSAEncryption                              |      513 |&lt;br/&gt;|  sha256WithRSAEncryption                              |     2542 |&lt;br/&gt;|  dsaWithSHA1                                          |     2703 |&lt;br/&gt;|  sha1WithRSA                                          |    60969 |&lt;br/&gt;|  md5WithRSAEncryption                                 |  1354658 |&lt;br/&gt;|  sha1WithRSAEncryption                                |  4196367 |&lt;br/&gt;+-------------------------------------------------------+----------+&lt;/pre&gt;It seems quite some people are experimenting with DSA signatures. Interesting are the number of GOST-certificates. GOST was a set of cryptography standards by the former soviet union. Seems the number of people trying to use elliptic curves is really low (compared to the popularity they have and that if anyone cares for SSL performance, they may be a good catch). For the algorithms only showing numbers, 1.2.840.113549.1.1.10 is RSASSA-PSS (not detected by current openssl release versions), 1.3.6.1.4.1.5849.1.3.2 is also a GOST-variant (GOST3411withECGOST3410) and 1.2.840.113549.27.1.5 is unknown to google, so it must be something very special. 
    </content:encoded>

    <pubDate>Sat, 26 Feb 2011 22:40:51 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/754-guid.html</guid>
    <category>algorithm</category>
<category>certificate</category>
<category>cryptography</category>
<category>eff</category>
<category>observatory</category>
<category>pss</category>
<category>rsa</category>
<category>security</category>
<category>ssl</category>

</item>
<item>
    <title>How to create a PGP/GPG-key free of SHA-1</title>
    <link>http://blog.hboeck.de/archives/751-How-to-create-a-PGPGPG-key-free-of-SHA-1.html</link>
            <category>Cryptography</category>
            <category>English</category>
            <category>Linux</category>
    
    <comments>http://blog.hboeck.de/archives/751-How-to-create-a-PGPGPG-key-free-of-SHA-1.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=751</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=751</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    If you&#039;ve read my last blog entry, you saw that I was struggling a bit with the fact that I was unable to create a PGP key without SHA-1. This is a bit tricky, as there are various places where hash functions are used within a pgp key:&lt;br /&gt;
&lt;br /&gt;
1. The key self-signatures and signatures on other keys. Every key has user IDs that are signed with the master key itself. This is to proofe that the names and mail adresses in the key belong to the keyholder itself and can&#039;t be replaced my a malicous attacker.&lt;br /&gt;
2. The signatures on messages, for example E-Mails.&lt;br /&gt;
3. The preference in side the key - this indicates to other people what sigature algorithms you would prefer if they send messages to you.&lt;br /&gt;
4. The fingerprint.&lt;br /&gt;
&lt;br /&gt;
1 is controlled by the setting cert-digest-algo in the file gpg.conf (for both self-signatures and signatures to other keys). 2 is controlled by the setting personal-digest-preferences. So you should add these two lines to your gpg.conf, preferrably before you create your own key (if you intend to create one, don&#039;t bother if you want to stick with your current one):&lt;br /&gt;
&lt;pre style=&quot;border:dotted 1px black;background-color:#D0D0D0;&quot;&gt;personal-digest-preferences SHA256&lt;br/&gt;cert-digest-algo SHA256&lt;/pre&gt;3 defaults to SHA256 if you generate your key with a recent GnuPG version. You can check it with &lt;b&gt;gpg --edit-key [your key ID]&lt;/b&gt; and then &lt;b&gt;showpref&lt;/b&gt;. For 4, I think it can&#039;t be changed at all (though I think it doesn&#039;t mean a security threat for collission attacks - still it should be changed at some point).&lt;br /&gt;
&lt;br /&gt;
It is also not really trivial to check the used algorithms. For message signatures, if you verify them with &lt;b&gt;gpg -v --verify [filename]&lt;/b&gt;. For key signatures, I found no option to do that - but a workaround: Export the key whose signatures you&#039;d like to check &lt;b&gt;gpg --export --armor [key ID] &gt; filename.asc&lt;/b&gt;. Then parse the exported file with &lt;b&gt;gpg -vv filename.asc&lt;/b&gt;. It&#039;ll show you blocks like this:&lt;br /&gt;
&lt;pre style=&quot;border:dotted 1px black;background-color:#d0d0d0;&quot;&gt;:signature packet: algo 1, keyid A5880072BBB51E42&lt;br/&gt;	version 4, created 1294258192, md5len 0, sigclass 0x13&lt;br/&gt;	digest algo 8, begin of digest 3e c3&lt;/pre&gt;The &lt;b&gt;digest algo 8&lt;/b&gt; is what you&#039;re looking for. 1 means MD5, 2 means SHA1, 8 means SHA256. Other values can be looked up in &lt;b&gt;include/cipher.h&lt;/b&gt; in the source code. No, that&#039;s not user friendly. But I found no easier way.&lt;br /&gt;
&lt;br /&gt;
The big question remains: Why is this so complicated and why isn&#039;t gnupg just defaulting to SHA256? I don&#039;t know the answer.&lt;br /&gt;
&lt;br /&gt;
(Please also have a look at &lt;a href=&quot;http://www.debian-administration.org/users/dkg/weblog/48&quot;&gt;this blog entry from Debian&lt;/a&gt; about the topic) 
    </content:encoded>

    <pubDate>Wed, 05 Jan 2011 21:24:21 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/751-guid.html</guid>
    <category>cryptography</category>
<category>gnupg</category>
<category>gpg</category>
<category>key</category>
<category>openpgp</category>
<category>pgp</category>
<category>security</category>
<category>sha1</category>
<category>sha2</category>
<category>sha256</category>

</item>
<item>
    <title>Goodbye 3DBD3B20, welcome BBB51E42</title>
    <link>http://blog.hboeck.de/archives/750-Goodbye-3DBD3B20,-welcome-BBB51E42.html</link>
            <category>Cryptography</category>
            <category>English</category>
            <category>Gentoo</category>
            <category>Linux</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/750-Goodbye-3DBD3B20,-welcome-BBB51E42.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=750</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=750</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Having used my PGP key &lt;a href=&quot;http://pgp.mit.edu:11371/pks/lookup?op=get&amp;amp;search=0xAF6424B13DBD3B20&quot;&gt;3DBD3B20&lt;/a&gt; for almost eight years, it&#039;s finally time for a new one: &lt;span style=&quot;text-decoration: line-through;&quot;&gt;4F9F43A9&lt;/span&gt;. The old primary key was a 1024 bit DSA key, which had two drawbacks:&lt;br /&gt;
1. 1024 bit keys for DLP or factoring based algorithms are &lt;a href=&quot;http://media.ccc.de/browse/congress/2003/20C3-546-1024_bit_RSA_ist_unsicher.html&quot;&gt;considered insecure&lt;/a&gt;.&lt;br /&gt;
2. It&#039;s impossible to set the used hash algorithm to &lt;a href=&quot;http://www.debian-administration.org/users/dkg/weblog/48&quot;&gt;anything beyond SHA-1&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
My new key has 4096 bits key size (&lt;a href=&quot;http://lists.gnupg.org/pipermail/gnupg-announce/2009q3/000294.html&quot;&gt;2048 bit is the default of GnuPG since 2.0.13&lt;/a&gt; and should be fairly enough, but I wanted some extra security) and the default hash algorithm preference is SHA-256. I had to make a couple of decisions for my name in the key:&lt;br /&gt;
1. I&#039;m usually called Hanno, but my real/official name is Johannes.&lt;br /&gt;
2. My surname has a special character (ö) in it, which can be represented as oe.&lt;br /&gt;
&lt;br /&gt;
In my previous keys, I&#039;ve mixed this. I decided against this for the new key, because both my inofficial prename Hanno and my umlaut-converted surname Boeck are part of my mail adress, so people should still be able to find my key if they&#039;re searching for that.&lt;br /&gt;
&lt;br /&gt;
Another decision was the time I wanted my key to be valid. I&#039;ve decided to give it an expiration date, but a fairly long one: 10 years from now.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve signed my new key with my old key, so if you&#039;ve signed my old one, you should be able to verify the new one. I leave it up to you if you decide to sign my new key or if you want to re-new the signing procedure. I&#039;ll start from scratch and won&#039;t sign any keys I&#039;ve signed with the old key automatically with the new one. If you want to key-sign with me, you may find me on the 27C3 within the next days.&lt;br /&gt;
&lt;br /&gt;
My old key will be valid for a while, at some time in the future I&#039;ll probably revoke it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; I just found out that having a key without SHA-1 is trickier than I thought. The self-signatures were still SHA-1. I could re-do the self-signatures and revoke the old ones, but that&#039;d clutter the key with a lot of useless cruft and as the new key wasn&#039;t around long and didn&#039;t get any signatures I couldn&#039;t get easily again, I decided to start over again: The new key is &lt;a href=&quot;http://pgp.mit.edu:11371/pks/lookup?op=get&amp;amp;search=0xA5880072BBB51E42&quot;&gt;BBB51E42&lt;/a&gt; and the other one will be revoked.&lt;br /&gt;
I&#039;ll write another blog entry to document how you can create your own SHA-256 only key. 
    </content:encoded>

    <pubDate>Sun, 26 Dec 2010 18:16:16 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/750-guid.html</guid>
    <category>cryptography</category>
<category>datenschutz</category>
<category>encryption</category>
<category>gnupg</category>
<category>gpg</category>
<category>key</category>
<category>pgp</category>
<category>privacy</category>
<category>schlüssel</category>
<category>security</category>
<category>sha1</category>
<category>sha2</category>
<category>verschlüsselung</category>

</item>
<item>
    <title>How I revoked my old PGP key</title>
    <link>http://blog.hboeck.de/archives/749-How-I-revoked-my-old-PGP-key.html</link>
            <category>Code</category>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Linux</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/749-How-I-revoked-my-old-PGP-key.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=749</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=749</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Prologue of this story: A very long time ago (2004 to be exact), I decided to create a new PGP / GnuPG key with 4096 bits (due to &lt;a href=&quot;http://media.ccc.de/browse/congress/2003/20C3-546-1024_bit_RSA_ist_unsicher.html&quot;&gt;this talk&lt;/a&gt;). However, shortly after that, I had a hardware failure of my hard disc. The home was a dm-crypt partition with xfs. I was able to restore most data, but it seemed the key was lost. I continued to use my old key I had in a backup and the 4096 key was bitrotting on keyservers. And that always annoyed me. In the meantime, I found all private keys of old DOS (2.6.3i) and Windows (5.0) PGP keys I had created in the past and revoked them, but this 4096 key was still there.&lt;br /&gt;
&lt;br /&gt;
I still have the hard disc in question and a couple of dumps I created during the data rescue back then. Today, I decided that I&#039;ll have to try restoring that key again. My strategy was not trying to do anything on the filesystem, but only operate within the image. Very likely the data must be there somewhere.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:281 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;637&quot; height=&quot;237&quot;  src=&quot;http://blog.hboeck.de/uploads/hexedit-pgpkey.png&quot;  alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I found a place where I was rather sure that this must be the key. But exporting that piece with dd didn&#039;t succeed - looking a bit more at it, it seemed that the beginning was in shape, but at some place there were zeros. I don&#039;t know if this is due to the corruption or the fact that the filesystem didn&#039;t store the data sequentially at that place - but it didn&#039;t matter. I had a look at the file format of PGP keys in &lt;a href=&quot;http://tools.ietf.org/html/rfc4880&quot;&gt;RFC 4880&lt;/a&gt;. Public keys and private keys are stored pretty similar. Only the beginning (the real &quot;key&quot;) part differs, the userid / signatures / rest part is equal. So I was able to extract the private key block (starting with 0x95) with the rest (I just used the place where the first cleartext userid started with my name &quot;Johannes&quot;). What should I say? It worked like a charm. I was able to import my old private key and was able to revoke it. Key 147C5A9F is no longer valid. Great!&lt;br /&gt;
&lt;br /&gt;
P. S.: Next step will be finally creating a new 4096 bit RSA key and abandoning my still-in-use 1024 bit DSA key for good.&lt;img src=&quot;http://vg02.met.vgwort.de/na/af16d26b183446c3849cafdbb481289d&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt; 
    </content:encoded>

    <pubDate>Tue, 14 Dec 2010 15:47:31 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/749-guid.html</guid>
    <category>cryptography</category>
<category>gpg</category>
<category>key</category>
<category>keyserver</category>
<category>pgp</category>
<category>revoke</category>

</item>
<item>
    <title>Notes from talk about GSM and free software</title>
    <link>http://blog.hboeck.de/archives/748-Notes-from-talk-about-GSM-and-free-software.html</link>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Linux</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/748-Notes-from-talk-about-GSM-and-free-software.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=748</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=748</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Yesterday I was at a talk at the &lt;a href=&quot;http://www.fsfe.org/&quot;&gt;FSFE&lt;/a&gt; Berlin about free software and GSM. It was an interesting talk and discussion.&lt;br /&gt;
Probably most of you know that GSM is the protocol that keeps the large majority of mobile phones running. In the past, only a handful of companies worked with the protocol and according to the talk, even most mobile phone companies don&#039;t know much of the internal details, as they usually buy ready-made chips.&lt;br /&gt;
Three free software projects work on GSM, &lt;a href=&quot;http://openbts.sourceforge.net/&quot;&gt;OpenBTS&lt;/a&gt; and &lt;a href=&quot;http://openbsc.osmocom.org/&quot;&gt;OpenBSC&lt;/a&gt; on the server side and &lt;a href=&quot;http://osmocom.org/&quot;&gt;OsmocomBB&lt;/a&gt; on the client side. What I didn&#039;t know yet and think is really remarkable: The &lt;a href=&quot;http://openbts.sourceforge.net/NiuePilot/&quot;&gt;Island State of Niue installed a GSM-network based on OpenBTS&lt;/a&gt;. The island found no commercial operator, so they installed a free software based and community supported GSM network.&lt;br /&gt;
&lt;br /&gt;
Afterwards, we had a longer discussion about security and privacy implications of GSM. To sum it up, GSM is horribly broken on the security side. It offers no authentication between phones and cells. Also, it&#039;s encryption has been broken in the early 90s. There is not much progress in protocol improvements although this is known for a very long time. It&#039;s also well known that so-called IMSI-cachers are sold illegally for a few thousand dollars. The only reason GSM is still working at all is basically that those possibilities still cost a few thousands. But cheaper hardware and improvement in free GSM software makes it more likely that those possibilities will have a greater impact in the future (this is only a brief summary and I&#039;m not really in that topic, &lt;a href=&quot;http://en.wikipedia.org/wiki/COMP128#GSM_service_security&quot;&gt;see Wikipedia for some starting points for more info&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
There was a bit of discussion about the question how realistic it is that some &quot;normal user&quot; is threatened by this due to the price of a few thousand dollars for the equipment. I didn&#039;t bring this up in the discussion any more, but I remember having seen a talk by a guy from Intel that the tendency is to design generic chips for various protocols that can be GSM, Bluetooth or WLAN purely by software control. Thinking about that, this raises the question of protocol security even more, as it might already be possible to use mainstream computer hardware to do mobile phone wiretapping by just replacing the firmware of a wireless lan card. It almost certainly will be possible within some years.&lt;br /&gt;
&lt;br /&gt;
Another topic that was raised was frequency regulation. Even with free software you wouldn&#039;t be able to operate your own GSM network, because you couldn&#039;t afford buying a frequency (although it seems to be possible to get a testing license for a limited space, e. g. for technical workshops - the &lt;a href=&quot;http://www.mail-archive.com/openbsc@lists.gnumonks.org/msg00376.html&quot;&gt;27C3 will have a GSM test network&lt;/a&gt;). I mentioned that there&#039;s a chapter in the book &quot;Code&quot; from Lawrence Lessig (available in an updated version &lt;a href=&quot;http://codev2.cc/&quot;&gt;here&lt;/a&gt;, chapter is &quot;The Regulators of Speech: Distribution&quot; and starts on page 270 in the PDF). The thoughts from Lessing are that frequency regulation was neccessary in the beginning of radio technology, but today, it would be easily possible to design protocols that don&#039;t need regulation - they could be auto-regulating, e. g. with a prefix in front of every data package (the way wireless lan works). But the problem with that is that today, frequency usage generates large income for the state - that&#039;s completely against the original idea of it, as it&#039;s primarily purpose was to keep technology usable. 
    </content:encoded>

    <pubDate>Fri, 10 Dec 2010 22:35:59 +0100</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/748-guid.html</guid>
    <category>27c3</category>
<category>berlin</category>
<category>cellular</category>
<category>freesoftware</category>
<category>frequency</category>
<category>fsfe</category>
<category>gsm</category>
<category>lessig</category>
<category>mobilephones</category>
<category>openbsc</category>
<category>openbts</category>
<category>osmocombb</category>
<category>privacy</category>
<category>security</category>
<category>wiretapping</category>

</item>
<item>
    <title>P != NP and what this may mean to cryptography</title>
    <link>http://blog.hboeck.de/archives/738-P-!-NP-and-what-this-may-mean-to-cryptography.html</link>
            <category>Computer culture</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Science</category>
    
    <comments>http://blog.hboeck.de/archives/738-P-!-NP-and-what-this-may-mean-to-cryptography.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=738</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=738</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    Yesterday I &lt;a href=&quot;https://twitter.com/benni_b/status/20708370110&quot;&gt;read via twitter&lt;/a&gt; that the HP researcher Vinay Deolalikar claimed to have &lt;a href=&quot;http://www.hpl.hp.com/personal/Vinay_Deolalikar/Papers/pnp_updated.pdf&quot;&gt;proofen P!=NP&lt;/a&gt;. If you never heared about it, the question whether P=PN or not is probably the biggest unsolved problem in computer science and one of the biggest ones in mathematics. It&#039;s one of the &lt;a href=&quot;http://www.claymath.org/millennium/&quot;&gt;seven millenium problems&lt;/a&gt; that the Clay Mathematics Institute announced in 2000. Only one of them has been solved yet (Poincaré conjecture) and everyone who solves one gets one million dollar for it.&lt;br /&gt;
&lt;br /&gt;
The P/NP-problem is one of the candidates where many have thought that it may never be solved at all and if this result is true, it&#039;s a serious sensation. Obviously, that someone claimed to have solved it does not mean that it is solved. Dozends of pages with complex math need to be peer reviewed by other researchers. Even if it&#039;s correct, it will take some time until it&#039;ll be widely accepted. I&#039;m far away from understanding the math used there, so I cannot comment on it, but it seems &lt;a href=&quot;http://www.hpl.hp.com/personal/Vinay_Deolalikar/&quot;&gt;Vinay Deolalikar&lt;/a&gt; is a serious researcher and has published in the area before, so it&#039;s at least promising. As I&#039;m currently working on &quot;provable&quot; cryptography and this has quite some relation to it, I&#039;ll try to explain it a bit in simple words and will give some outlook what this may mean for the security of your bank accounts and encrypted emails in the future.&lt;br /&gt;
&lt;br /&gt;
P and NP are problem classes that say how hard it is to solve a problem. Generally speaking, P problems are ones that can be solved rather fast - more exactly, their running time can be expressed as a polynom. NP problems on the other hand are problems where a simple method exists to verify if they are correct but it&#039;s still hard to solve them. To give a real-world example: If you have a number of objects and want to put them into a box. Though you don&#039;t know if they fit into the box.  There&#039;s a vast number of possibilitys how to order the objects so they fit into the box, so it may be really hard to find out if it&#039;s possible at all. But if you have a solution (all objects are in the box), you can close the lit and easily see that the solution works (I&#039;m not entirely sure on that but I think this is a variant of KNAPSACK). There&#039;s another important class of problems and that are NP complete problems. Those are like the &quot;kings&quot; of NP problems, their meaning is that if you have an efficient algorithm for one NP complete problem, you would be able to use that to solve all other NP problems.&lt;br /&gt;
&lt;br /&gt;
NP problems are the basis of cryptography. The most popular public key algorithm, RSA, is based on the factoring problem. Factoring means that you divide a non-prime into a number of primes, for example factoring 6 results in 2*3. It is hard to do factoring on a large number, but if you have two factors, it&#039;s easy to check that they are indeed factors of the large number by multiplying them. One big problem with RSA (and pretty much all other cryptographic methods) is that it&#039;s possible that a trick exists that nobody has found yet which makes it easy to factorize a large number. Such a trick would undermine the basis of most cryptography used in the internet today, for example https/ssl.&lt;br /&gt;
&lt;br /&gt;
What one would want to see is cryptography that is provable secure. This would mean that one can proove that it&#039;s really hard (where &quot;really hard&quot; could be something like &quot;this is not possible with normal computers using the amount of mass in the earth in the lifetime of a human&quot;) to break it. With todays math, such proofs are nearly impossible. In math terms, this would be a lower bound for the complexity of a problem.&lt;br /&gt;
&lt;br /&gt;
And that&#039;s where the P!=NP proof get&#039;s interesting. If it&#039;s true that P!=NP then this would mean NP problems are definitely more complex than P problems. So this might be the first breakthrough in defining lower bounds of complexity. I said above that I&#039;m currently working on &quot;proovable&quot; security (with the example of RSA-PSS), but provable in this context means that you have core algorithms that you believe are secure and design your provable cryptographic system around it. Knowing that P!=NP could be the first step in having really &quot;provable secure&quot; algorithms at the heart of cryptography.&lt;br /&gt;
&lt;br /&gt;
I want to stress that it&#039;s only a &quot;first step&quot;. Up until today, nobody was able to design a useful public key cryptography system around an NP hard problem. Factoring is NP, but (at least as far as we know) it&#039;s not NP hard. I haven&#039;t covered the whole topic of quantum computers at all, which opens up a whole lot of other questions (for the curious, it&#039;s unknown if NP hard problems can be solved with quantum computers).&lt;br /&gt;
&lt;br /&gt;
As a final conclusion, if the upper result is true, this will lead to a whole new aera of cryptographic research - and some of it will very likely end up in your webbrowser within some years. 
    </content:encoded>

    <pubDate>Tue, 10 Aug 2010 12:42:33 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/738-guid.html</guid>
    <category>cmi</category>
<category>cryptography</category>
<category>deolalikar</category>
<category>math</category>
<category>milleniumproblems</category>
<category>pnp</category>
<category>provablesecurity</category>
<category>security</category>

</item>
<item>
    <title>Secure RSA padding: RSA-PSS</title>
    <link>http://blog.hboeck.de/archives/737-Secure-RSA-padding-RSA-PSS.html</link>
            <category>Code</category>
            <category>Cryptography</category>
            <category>English</category>
            <category>Linux</category>
            <category>Security</category>
    
    <comments>http://blog.hboeck.de/archives/737-Secure-RSA-padding-RSA-PSS.html#comments</comments>
    <wfw:comment>http://blog.hboeck.de/wfwcomment.php?cid=737</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hboeck.de/rss.php?version=2.0&amp;type=comments&amp;cid=737</wfw:commentRss>
    

    <author>nospam@example.com (Hanno Böck)</author>
    <content:encoded>
    I got selected for this years &lt;a href=&quot;http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/mozilla/t127230761333&quot;&gt;Google Summer of Code with a project for the implementation of RSA-PSS&lt;/a&gt; in the nss library. RSA-PSS will also be the topic of my diploma thesis, so I thought I&#039;d write some lines about it.&lt;br /&gt;
&lt;br /&gt;
RSA is, as you may probably know, the most widely used public key cryptography algorithm. It can be used for signing and encryption, RSA-PSS is about signing (something similar, RSA-OAEP, exists for encryption, but that&#039;s not my main topic).&lt;br /&gt;
&lt;br /&gt;
The formula for the RSA-algorithm is &lt;b&gt;S = M^k mod N&lt;/b&gt; (S is the signature, M the input, k the private key and N some big prime number). One important thing is that M is not the Message itself, but some encoding of the message. A simple way of doing this encoding is using a hash-function, for example SHA256. This is basically how old standards (like PKCS #1 1.5) worked. While no attacks exist against this scheme, it&#039;s believed that this can be improved. One reason is that while the RSA-function accepts an input of size N (which is the same length as the keysize, for example 2048/4096 bit), hash-functions usually produce much smaller inputs (something like 160/256 bit).&lt;br /&gt;
&lt;br /&gt;
An improved scheme for that is the &lt;a href=&quot;http://www.rsa.com/rsalabs/node.asp?id=2005&quot;&gt;Probabilistic Signature Scheme (PSS)&lt;/a&gt;, (&lt;a href=&quot;http://www.cs.ucdavis.edu/~rogaway/papers/exact.html&quot;&gt;Bellare/Rogaway 1996/1998&lt;/a&gt;). PSS is &quot;provable secure&quot;. It does not mean that the outcoming algorithm is &quot;provable secure&quot; (that&#039;s impossible with today&#039;s math), but that the outcome is as secure as the input algorithm RSA and the used hash function (so-called &quot;random oracle model&quot;). A standard for PSS-encryption is PKCS #1 2.1 (republished as &lt;a href=&quot;http://tools.ietf.org/html/rfc3447&quot;&gt;RFC 3447&lt;/a&gt;) So PSS in general is a good idea as a security measure, but as there is no real pressure to implement it, it&#039;s still not used very much. Just an example, the new DNSSEC ressource records &lt;a href=&quot;http://tools.ietf.org/html/rfc5702&quot;&gt;just published last year still use the old PKCS #1 1.5 standard&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
For SSL/TLS, standards to use PSS exist (&lt;a href=&quot;http://tools.ietf.org/html/rfc4055&quot;&gt;RFC 4055&lt;/a&gt;, &lt;a href=&quot;http://tools.ietf.org/html/rfc5756&quot;&gt;RFC 5756&lt;/a&gt;), but implementation is widely lacking. Just recently, &lt;a href=&quot;http://rt.openssl.org/Ticket/Display.html?id=1951&quot;&gt;openssl got support for PSS verification&lt;/a&gt;. The only implementation of signature creation I&#039;m aware of is the java-library &lt;a href=&quot;http://www.bouncycastle.org/&quot;&gt;bouncycastle&lt;/a&gt; (yes, this forced me to write some lines of java code).&lt;br /&gt;
&lt;br /&gt;
The nss library is used by the Mozilla products (Firefox, Thunderbird), so an implementation there is crucial for a more widespread use of PSS. 
    </content:encoded>

    <pubDate>Fri, 14 May 2010 23:22:43 +0200</pubDate>
    <guid isPermaLink="false">http://blog.hboeck.de/archives/737-guid.html</guid>
    <category>cryptography</category>
<category>gsoc</category>
<category>nss</category>
<category>pss</category>
<category>rsa</category>
<category>rsapss</category>
<category>security</category>
<category>ssl</category>
<category>tls</category>

</item>

</channel>
</rss>
