Henryk Plötz: SSL im Eigenbau ?

Beitrag lesen

Moin,

Ich programmiere gerade einen Webshop und hatte Folgendes zum Thema Verschlüsselung vor, da ich nicht über einen SSL Server verfüge:
1.) Daten werden normal in einem Formular eingegeben
2.) Bei "Submit" werden Daten in Formular durch AES mit einem bestimmten Schlüssel chiffriert und gesandt
3.) Auf der nächsten Seite angekommen werden sie entschlüsselt und mit einem neuen Schlüssel wieder verschlüsselt und in die Datenbank eingetragen.
Ich habe mir gedacht, dass ich somit eine sehr hohe Sicherheit erziele. Was sagt ihr dazu ?

Dass das Mist ist.

a) AES ist ein wunderschöner symmetrischer Algorithmus. Du musst also den gleichen Schlüssel zum Ver- wie auch Entschlüsseln benutzen. Zum Verschlüsseln musst du diesen Schlüssel an den Browser schicken. Damit ist der Schlüssel nicht mehr geheim und die Verschlüsselung vollständig und vollkommen hinfällig.
b) Dagegen gibt es asymmetrische Verfahren. Die haben aber eigentlich alle gemeinsam, dass du zum einen einen größeren Schlüssel brauchst und zum anderen (unter anderem wegen der großen Schlüssel) mit ekelhaft großen Zahlen hantieren musst. Das ist schon in herkömmlichen Programmiersprachen keine Freude und Aufwendig[0], aber in JavaScript quasi unmachbar[1].
c) Selbst wenn du einen asymmetrischen Algorithmus implementiert hast, werden das Programm, dass den Algorithmus ausführt und der Schlüssel weiterhin ungeschützt übertragen. Ein Angreifer kann relativ einfach deinen Schlüssel (oder wahlweise dein JavaScript) abfangen und durch eine Version ersetzen welche es ihm erlaubt, die verschlüsselten Daten mitzulesen.

Du erreichst also einerseits 0 (in Worten "null") Sicherheit und hast andererseits einen immensen Aufwand.

[0] Der durchschnittliche Integer hat 32 Bit. Ein RSA-Schlüssel hat (wenn er auch nur annähernd sicher sein soll) 1024 Bit.
[1] Ich habe in meiner BASIC-Zeit auch mal mit großen Zahlen in BASIC hantiert. Das hat beinahe eine Minute für eine popelige Potenz gebraucht (ok, der Exponent war ziemlich groß, 17088 glaube ich).

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~