Ansicht umschalten
Avatar von ToPeG
  • ToPeG

mehr als 1000 Beiträge seit 02.04.2001

Technisches Problem

Wir haben es hier mit einem technischen Problem zu tun, das nun
gesetzlich festgeschrieben werden soll.

Man schaue sich mal die Anforderungen von DE-Mail an.

- Jeder soll sie benutzen können (Das gilt auch für die verwendeten
Betriebssysteme. )

- Die Handhabung soll so einfach wie möglich sein.

- Die der Inhalt soll geschützt sein

- Der Empfang soll zuverlässig bestätigt werden können.

Mit den Anforderungen läuft man nun in ein primäres Problem, wenn man
dem Bürger nicht traut.

Die Empfangsbestätigung kann man nicht von einen Client machen
lassen. Der könnte so manipuliert sein, das er nie eine Bestätigung
sendet. Es wird also schon mal ein Server gebraucht, der eine
Bestätigung sendet, wenn die Mail dargestellt wird. Doch das
kollidiert mit der Verschlüsselung. Eine Verschlüsselte Mail kann
nicht gelesen werden. Es ist also essenziell, das sicher gestellt
wird, das die Mail entschlüsselt auf dem Rechner des Nutzers
vorliegt. Der Server muss die Mail entschlüsseln und dem Nutzer
zustellen, die er dann lesbar auf seinem Rechner hat. Eine
Ende-zu-Ende Verschlüsselung ist mit einer (paranoiden)
Empfangsbestätigung nicht zu vereinbaren.

Damit nahezu jeder das System benutzen kann muss es auf auf eine weit
verbreitetet Technologie aufsetzen. HTTP/HTML ist somit das System
der Wahl. Aber Browser sind nicht sehr zuverlässig was das speichern
von Passworten und Schlüsseln betrifft, diese müssen aber zuverlässig
abgelegt sein, damit immer ein eindeutige Zuordnung von Benutzer und
EncyptionKey möglich ist. Das bedeutet die Schlüssel müssen auf einem
Server abgelegt werden, der so zuverlässig wie möglich ist und
unabhängig vom Nutzer. Das wiederum bedeutet, das die Mails nur eine
Transferverschlüsselung zu Server haben können.

Um die Handhabung möglichst einfach zu machen soll der Nutzer nichts
von einer Verschlüsselung mit bekommen. Das beutet es darf keine
Rückmeldungen, oder übermäßige Passwort Anfragen geben.

Daraus ergibt sich nahezu zwangsläufig das DE-Mail System. Man hat
einen Server der mit http/HTML-Clients kommuniziert. Die Mails liegen
zwar verschlüsselt auf dem Server werden aber als Klartext über einen
sichern Kanal (Transferverschlüsselung) übertragen.

Das ganze hat nichts mit Viren zu tun. Das eine mögliche Mail Prüfung
dabei Anfällt ist ein "positiver" neben Effekt.

Wie also könnte man eine Empfangsbestätigung machen, die zuverlässig
ist und einer ende-zu-ende Verschlüsselung genügt?
Die einzige weitere Möglichkeit wäre über Zwang.
Jede verschlüsselte Mail hat im Kopf eine ID, die vom Sender
eingesetzt wurde. Erst die entschlüsselte Mail Zeigt diese ID, der
sende hat die ID dem Server mitgeteilt, Solange die ID nicht vom
Empfänger korrekt gesendet wurde können keine weiteren Mails vom
Server geholt werden.
Das Problem dabei ist, dass ein defekter Client alles Blockieren
kann.
Dann bleibt noch das Problem mit dem PrivateKey Wo soll der abgelegt
werden? Der Client ist nicht zuverlässig. Das einzige was dort hilft,
ist das er Passwort-verschlüsselt auf einem Server liegt. Der Client
kann diesen Anfordern und selbst entschlüsseln.

Wie man sieht wird es immer komplizierter. Eine Ende-zu-Ende
Verschlüsselung ist mit den Anforderungen von DE-Mail einfach nicht
zu vereinbaren, sofern man den Nutzern nicht Traut.

Wie läuft ein Einschreiben denn in der Realität? Der Postbote kommt,
klingelt man bekommt einen Zettel in die Hand gedrückt den man
unterschreibt und der Postbote geht wider. Selten mal dass überprüft
wird, ob man auch die Richtige Person ist. Und gar nicht geprüft wird
ob man den Brief überhaupt geöffnet hat.

Warum dann nicht das selbe als DE-Mail? Wenn die Mail vom Server
versendet wurde wird sie als zugestellt markiert. Der Client kann
während der Session ein Encryption-error/-success senden. Das dann
vom Server quittiert wird.
Der Client kann ein "Server-Storrage" von ein paar kByte anfordern in
den er Daten hinterlegen kann. Ein HTTP-Client würde das nutzen um
den Private Key verschlüsselt zu hinterlegen. Die
ver/ent-schlüsselung würde im Browser über Javascript erfolgen. Ein
nativer Client könnte das auch nutzen.
Um sicher zu stellen, das immer der Richtige Public-Key verwendet
wird zu jeder verschlüsselten Mail der dazugehörige Public Key
mitversendet. Der server kann die Mail ablehnen wenn der Public-Key
nicht existiert oder abgelaufen/ungültig ist.
Sollte ein Client eine Mail bekommen, die sie nicht entschlüsseln
kann, so sendet sie ein Encryption-error mit dem aktuellen PublicKey
an den Server der das an den Sender weiter reicht. Dieser hat die
Möglichkeit die Mail mit dem neuen Schlüssel erneut zu zusenden.
Und so weiter und so fort.
Ich habe keine Lust das Komplette System zu designen. :-)

Vertraut man darauf das ein korrekter Umgang mit dem System zu aller
Vorteil ist, so kann man Problemlos eine Ende-Zu-Ende Verschlüsselung
Implementieren. Dazu muss man aber darauf vertrauen, dass die meisten
Nutzer das System nicht missbrauchen.

Bewerten
- +
Ansicht umschalten