So oder so ähnlich haben die interessierten Leser neuster Quellen die Überschrift vor ein paar Tagen gelesen. Mein Schwager hat mir auch hauptsächlich diese Überschrift zugerufen und ich war natürlich erschreckt. Die genaue Überschrift von http://www.heise.de lautete: „Forscher klauen Schlüssel aus RSA-Tokens“. Das hat mich natürlich noch viel mehr erschreckt. Der geneigte Leser wird sich nun natürlich fragen: „Wieso? Was erzählt der da?“ Ich habe mich deswegen dafür entschieden mal ganz grob zu erklären wie eine Verschlüsselung mit Hilfe von RSA funktioniert. Wer genaueres wissen möchtet studiert bitte Informatik bzw. Mathematik (Schwerpunkt Kryptographie). Wem das zu lange dauert kann auch versuchen sich auf dieser Wikipedia Seite einen Überblick über die verwendete Mathematik zu machen http://de.wikipedia.org/wiki/RSA-Kryptosystem
Ich versuche nun trotzdem zu erklären wie das Ganze funktioniert bzw. worauf das Verfahren basiert. Die Idee ist am einfachsten mit der Verschlüsselung einer Email zu erklären. Ich möchte meine Emails in Zukunft verschlüsseln und entscheide mich dafür das RSA-Verfahren zu verwenden (wie das zum Beispiel PGP (pretty good privacy) eine Standardsoftware zur Verschlüsselung von Mails) macht. Nun wird von der Software für mich ein privater Schlüssel (private key) generiert (den nur ich haben darf) und einen öffentlicher Schlüssel (public key) der zu meinem privaten passt. Die Mathematik bei der Schlüsselerzeugung beruht auf der Wahl zweier sehr großer Primzahlen (mehr als 100 Dezimalstellen). Das Produkt der beiden Primzahlen hat als einzige Teiler dann die jeweiligen Primzahlen (weil ja jede für sich nicht zerlegbar ist). Dies ist wichtig, weil die Sicherheit des Verfahrens darauf beruht das es nicht in vertretbarer Zeit möglich ist die beiden Primzahlen herauszufinden wenn man nur dieses Produkt der Primzahlen kennt. Eine lustige Anekdote meines Professors war dann die Folgende:
Ein Student fragte einen Mathematikprofessor, warum man sich denn nicht einfach ein Buch schnappt, in dem alle Primzahlen bis 100 Dezimalstellen stehen. Dann könnte man diese ja nacheinander durchgehen und hätte so das Ergebnis recht schnell gefunden. Zur Erläuterung bleibt zu sagen, dass es geschätzt ca. 1090 Primzahlen gibt die hierfür in Frage kommen. Da aber das uns bekannte Universum nur aus 1050 Atomen besteht wäre es ziemlich schwierig dies zu Papier zu bringen.
Dieses Produkt der beiden Primzahlen ist also Teil1 der beiden Schlüssel. Der jeweils andere Teil des private bzw. public key werden berechnet. Dies kann der interessierte Leser gerne im oben erwähnten Wikipedia Artikel nachlesen. Wenn mir nun jemand eine verschlüsselte Email schicken möchte dann kann er sich in sog. Schlüsselverzeichnissen meinen public key besorgen. Er verschlüsselt seine Nachricht mit meinem public key. Da ich den zugehörigen private key besitze kann ich mir die Nachricht entschlüsseln. Die zweite Anwendung ist das ich meine Nachricht signieren (unterschreiben kann). Dazu signiere ich meine Nachricht mit meinem private key und sage damit ich bin Person XY. Diese Mail ist für den Empfänger nur entschlüsselbar mit dem public key der zu diesem private Key gehört nämlich dem von Person XY. Somit weiß der Empfänger, dass die Nachricht wirklich von Person XY kommt.
So nun nachdem dies soweit in groben Zügen erklärt wurde komme ich zu dem Grund dieses Blogbeitrages zurück. Der Artikel mit dem Titel: „Forscher klauen Schlüssel aus RSA-Tokens“ klingt für mich so als hätten die Forscher einen Weg gefunden aus diesen ominösen RSA-Tokens den private key zu extrahieren. Ein RSA-Token ist übrigens ein Stück Hardware das zum in diesem Token gespeicherten private key, einen Schlüssel ausgibt der beispielsweise eine Person identifiziert oder eine Tür in Kombination mit einer Smartcard öffnet. Bei dem Angriff wurde tatsächlich für ein spezielles Token der Schlüssel ausgelesen. Allerdings versicherten die Hersteller, dass dies ein ganz spezieller Fall eines Tokens war und dass diese Methode nicht generell gegen RSA-Verschlüsselung eingesetzt werden kann. Allerdings hat man vor 5 Jahren noch gedacht, dass es erst in sehr ferner Zukunft möglich wäre eine Verschlüsselung von 1024bit (bei diesem Token verwendet) zu knacken. Dies stimmt auch wenn man die reine Rückrechnung betrachtet allerdings gibt es immer wieder Möglichkeiten die Hardware oder die intern verwendeten Standards zur Berechnung der jeweiligen Schlüssel auszutricksen. Dies ist hier geschehen allerdings ist das Fazit:
Ihr müsst keine Angst um Eure Tokens für Partypoker, das Battle.net oder sonstige Anwendungen haben. Grundsätzlich gilt das Verschlüsselungen immer einfacher sind als Entschlüsselungen. Alleine vom algorithmischen bzw. mathematischen Aufwand betrachtet. Somit begünstigt die rasante Weiterentwicklung der Hardware primär immer die Verschlüsselungsmöglichkeiten!
Viele Grüße