Teletrust-Projekt arbeitet mit asymmetrischem Verschlüsselungsverfahren

OSIS: Sicherheit schließt Offenheit nicht aus

21.11.1986

Kommunikationsschleusen auf dem Sektor der Tele-Informationsdienstleistung öffnen will das zusammen von der Gesellschaft für Mathematik und Datenverarbeitung (GMD) und der internationalen Teletrust-Gruppe initiierte Projekt "Open Shops for Information Services". Das kurz als OSIS bezeichnete Vorhaben soll unmittelbare Zahlungen über vorhandene Datenschienen und daher den Zugang zu jedem beliebigen Dienstleister ermöglichen.

Die derzeitige Situation ist dadurch gekennzeichnet, daß Informations-Dienstleistungen über öffentliche Datenübertragungsdienste angeboten werden und öffentliche Transportdienste zur Lieferung privater Dienstleistungen zur Verfügung stehen. Daraus ergeben sich eine ganze Reihe von Restriktionen:

- Die Dienstleistungen können nur mittelbar über Papier-Post gezahlt werden.

- Der Kunde kann die Inanspruchnahme bestreiten, ohne daß der Dienstleister ihm und einem Richter das Gegenteil nachweisen kann.

- Dienstleister verweigern daher Unbekannten und Unzuverlässigen ihre Leistung. Der Kunde muß mit dem Dienstleister oder einer Inkasso-Stelle einen Vertrag eingehen. Wenn er für die Risiken verantwortlich gemacht wird, dann läßt der Dienstleister nur gute Adressen zu.

- Der Zugang zu den Dienstleistungen ist also nicht frei. Der Sicherheit werden Offenheit und die Chancen eines freien Marktes geopfert.

- Wegen des Sicherheitsbedürfnisses ist eine anonyme Inanspruchnahme und Bezahlung einer Dienstleistung nicht möglich.

- Dienstleistungen, die sicher abgewickelt werden müssen, verzichten auf konventionelle Datenübertragung.

OSIS versucht die gegebenen Mängel zu überwinden, indem es die Schaffung eines sicheren und zugleich offenen Kommunikations- beziehungsweise Zahlungssystems anpeilt. Die neue Konzeption sieht dabei eine Beteiligung der Banken vor, wobei die Geldinstitute ihre Kunden autorisieren müssen, Zahlungsanweisungen auszustellen und diese auch durchzuführen. Der Kunde sollte die Zahlungsanweisung so unterschreiben, daß sie von den sonstigen Beteiligten geprüft werden können. In diesem Zusammenhang ist es weiterhin wichtig, daß die Unterschrift mittels eines sicheren technischen Verfahrens unverfälschbar und mittels eines vertrauenswürdigen Dritten öffentlich nachweisbar ist.

Karten könnten jeden Text "unterschreiben"

Der vertrauenswürdige Dritte muß die Unterschrift eines Teilnehmers erkennen und sie bestätigen können. In der Sprache der Chipkarten-Technik heißt das: Er muß dem Teilnehmer eine Karte ausfolgen, mit der dieser so unterschreibt, daß die Unterschrift oder Fälschungen eindeutig erkannt werden können. Als vertrauenswürdige Dritte kommen beispielsweise Banken in Frage. Es ist denkbar, daß sie nicht nur zu Zahlungen autorisieren, sondern auch Karten ausgeben, mit denen man unterschreiben und Unterschriften lesen kann. Solche Karten könnten dann nicht nur speziell Schecks ausstellen, sondern auch jeden anderen Text (Angebot, Vertrag) unterschreiben, ohne dabei die Bank zu beanspruchen. Die Banken hätten es in der Hand, Karten zu verweigern und damit in die verfassungsrechtlich garantierte Informationsfreiheit einzugreifen. Ein so verallgemeinertes System also, das eine vertragssichere Kommunikation ermöglicht, ist aber nicht die Aufgabe der Banken allein. Man darf davon ausgehen, daß sich die Bundespost auch ihrer annimmt.

OSIS läßt sich auch in eine andere Richtung hin verallgemeinern. Man kann es für jede Art von Zahlung einsetzen, auch wenn dafür kein öffentliches Kommunikationssystem verwendet wird, zum Beispiel an Kassenautomaten. Auch hier würde man sich eine staatliche Autorität wünschen, zumal die Unterschrift unter einer Zahlungsanweisung eine rechtliche Bedeutung hat. So wäre es denkbar, daß Banken und die Post selbst OSIS-Karten ausgeben.

Nach drei Falscheingaben "zerstört sich" Token

Der Teilnehmer an einem OSIS-System erhält als Identitätskarte einen sogenannten OSIS-Token, der beim Ausweisen und Bezahlen eine Unterschrift leistet. Die OSIS-Karte ist insofern portabel, als sie an jedem Terminal oder sonstigem Gerät mit geeigneter Lesevorrichtung gebraucht werden kann. Sie könnte wie eine Kreditkarte aussehen und wäre deren Chipkarten-Version ähnlich.

Derzeit kann das Token "seinen Herrn" anhand einer persönlichen Identifikationsnummer PIN authentizieren. Zur Sicherung gegen Mißbrauch erkennt es falsche Angaben und zeigt sie an. Nach drei aufeinander folgenden Falscheingaben zerstört Token seine eigene Fähigkeit zu unterschreiben.

Zur Identifizierung seines Eigentümers muß ein solches Token eine Eingabetastatur und eine Anzeige haben, weil sonst die Gefahr der Manipulation besteht. Die Forderung nach der Trennung der Besitzererkennung vom sonstigen Kommunikationsvorgang hat also Sicherheit zum Ziel. Technisch realisierbar ist dies mit einem kreditkartengroßen Taschenrechner.

Die empfohlene Trennung bringt es mit sich, daß man das Eigentümer-Erkennungsverfahren ändern kann, ohne daß der Fernmeldebetrieb davon berührt wird. Es können Token miteinander verkehren, die ihren Eigentümer unterschiedlich erkennen (zum Beispiel PIN oder Daumenabdruck).

Abgesehen von der sicheren Identifizierung des Eigentümers und von der Kontenverwaltung hat das Token im wesentlichen die Funktion, einen Text zu unterschreiben und von anderen Token unterschriebene Texte zu identifizieren. Neben die Mensch/Token-Schnittstelle tritt das Token/System-Interface. Das Token identifiziert sich gegenüber dem Kommunikationssystem mit einer Spezialkennung. Diese beruht auf seinem geheimen Schlüssel und kann mit Hilfe des beigefügten Identifizierungsmodus von jedem anderem Token erkannt werden. Während also für die Mensch/Token-Schnittstelle die PIN maßgebend ist, ist es für die Token-System-Integration eine bestimmte Kryptomeriemethode. Dabei spielen die Schlüsselpaare des Tokens, der Bank und der Zentralestelle für Athentifikation eine Rolle.

Von zwei komplementären Schlüsseln einer geheim

Eine Unterschriftenerkennung, bei der die Nachricht um ein Zertifikat ergänzt wird, ist nur sinnvoll, wenn das Zertifikat nicht geheim gehalten werden muß. Dies ist nach dem derzeitigen Stand der Technik ausschließlich mit sogenannten asymmetrischen Verschlüsselungsalgorithmen zu erreichen.

Da die Unterschrift auf eine Person beziehbar sein muß, braucht man für sie einen geheimen Schlüssel, der nur eben dieser Person zur Verfügung steht. Die geleistete Unterschrift soll von praktisch jedermann geprüft werden können. Der dafür benötigte Schlüssel muß also jedem Empfänger zur Verfügung stehen; er darf daher nicht geheim sein, sondern öffentlicher Schlüssel sein. Gefordert sind also je zwei komplementäre Schlüssel, von denen einer geheim gehalten werden muß und der andere nicht geheim sein darf. Es muß unmöglich sein, aus dem öffentlichen den geheimen Schlüssel abzuleiten.

Das derzeit brauchbarste asymmetrische Verfahren wird vom RSA-Algorithmus (das Kürzel steht für die Anfangsbuchstaben der Begründer dieses Verschlüsselungsmechanismus) geboten. Er sieht zwei Schlüssel vor, die zueinander in einer geheimzuhaltenden Beziehung stehen. Was immer mit einem verschlüsselt wird, kann nur mit dem anderen entschlüsselt werden und umgekehrt. Das läßt es zu, daß man einen von beiden veröffentlichen kann. Was immer mit dem öffentlichen Code verschlüsselt wird, kann nur mit dem geheimen entschlüsselt werden 5) und was immer sein Besitzer mit seinem geheimen Schlüssel codiert, kann öffentlich entschlüsselt werden. Damit kann ihm jeder nachweisen, daß er den Text gesichert hat. Ein solcher Nachweis kann weder von einem Dritten noch von seinem Empfänger gefälscht werden, ist dokumentierbar und jederzeit durchführbar. Er kann nicht einmal vom Aussteller selbst gefälscht werden, denn das Token numeriert und datiert seine Unterschriften. Da der Eigentümer seinen geheimen Schlüssel nicht kennt, kann er auch seine eigene Unterschrift nicht manipulieren.

Verdichteter Text wird verschlüsselt

Zur Unterschrift wird der Klartext per Hash-Funktion auf eine feste Länge verdichtet. Es muß praktisch unmöglich sein, zum verdichteten Text einen anderen verwechselbaren Klartext zu finden. Der verdichtete Text wird nach dem RSA-Public-Key-Verfahren verschlüsselt. Es beruht auf einer Modulo-Potenzierung. Eine Zahl X soll mit e und mit d potenziert sich selbst ergeben, also zunächst mit e eindeutig in eine andere Zahl Y transformiert werden, die dann mit d potenziert wieder in X zurücktransformiert wird. Daraus ergeben sich folgende Formeln:

- Xed mod N = X (1)

- Xe mod N = Y (2.1)

- yd mod N = X (2.2)

X kann dann zum Beispiel ein Klartext und Y der entsprechende Schlüsseltext sein, oder auch umgekehrt. Bei der Unterschrift ist es in der Tat umgekehrt: Der Klartext Y wird mit dem geheimen d in den Schlüsseltext X transformiert, der mit Hilfe des öffentlichen e von jedermann wieder in Y zurückgeführt werden kann. Damit die Zahlen X und Y in der gleichen Größenordnung bleiben, muß das Potenzieren modulo einer Zahl N dieser Größenordnung erfolgen. Das heißt nach jeder Teiloperation (zum Beispiel Multiplikation) wird die Zahl N so oft abgezogen, bis der Rest kleiner als N ist. X und Y müssen kleiner als N sein; wenn X die Unterschrift, also das Ergebnis einer Modulooperation darstellt, ist dies für X gewährleistet; nicht notwendigerweise aber auch für Y. Deshalb läuft die für OSIS vorgesehene Hash-Funktion ebenfalls modulo N ab und ist so auch für Y sichergestellt, daß es kleiner als N ist. Eine Operation wie unter (1) beziehungsweise (2) ist in der Tat möglich, wenn folgende Bedingungen erfüllt sind:

- N muß das Produkt zweier Primzahlen p und q sein. Das gilt auch für mehrere Primzahlen; allerdings verliert das Verfahren damit an Sicherheit.

- N = p.q (3)

- e.d = 1 mod 1cm (p-1,q-1) (4)

"1 cm" bedeutet das kleinste gemeinsame Vielfache (von p-1 und q-1). Um (4) zu erfüllen, muß e und d teilerfremd sein.

Es treten also folgende Werte auf:

- X Unterschritt nicht geheim

- Y Text nicht geheim

- e/N öffentlicher Schlüssel nicht geheim

- d/N privater Schlüssel geheim

- N Modulus nicht geheim

- P Primzahl geheim

- q Primzahl geheim

Die Primzahlen p und q müssen geheim bleiben, weil ansonsten ein Angreifer mit Gleichung (4) aus dem öffentlichen e das geheime d ableiten könnte. Das bedeutet auch, daß der Modulus N so groß sein muß, daß seine Faktorisierung in p und q untraktabel ist. Wie schnell man N faktorisieren kann, hängt nicht allein von seiner Größe, sondern auch von der Wahl der Primzahlen ab. Zum Beispiel ist es günstig, wenn die Werte p-1 und q-1 große Primfaktoren haben. Bei der großen Menge von Primzahlen im Zahlenbereich von 256 Bit ist es trotz strenger Auswahlkriterien nahezu ausgeschlossen, daß zufällig zweimal das gleiche Schlüsselpaar generiert wird. Größere Strenge in der Auswahl führt höchstens dazu, daß die Schlüsselerzeugung mehr Zeit in Anspruch nimmt.

Nur ein Schlüssel personenbezogen

Für den Gebrauch bei OSIS stellt sich das Schlüsselungsverfahren folgendermaßen dar:

- Unterschreiben: Yd mod N = X (5)

- Authentizieren: Xe mod N = Y (6)

Die beiden Schlüssel bestehen also aus je einem Zahlenpaar (e/N beziehungsweise d/N). Der nicht geheime Modulus N wird sowohl für das Unterschreiben als auch für das Authentizieren gebraucht.

Von den beiden Werten, die den öffentlichen Schlüssel darstellen, braucht nur einer personenbezogen sein; der andere kann als Systemkonstante eingeführt werden. Es wäre sehr gefährlich, N systemkonstant zu halten, weil mit seiner Faktorisierung sämtliche geheimen Schlüssel aus den öffentlichen bestimmbar wären. TeleTrusT hat deshalb beschlossen, e zur Systemkonstante zu machen. Folgende Festlegungen wurden getroffen:

Stellenzahl von N = 512 Bit

e = 216 + 1 = 65537 oder binär 10 000 000 000 000 001

65537 ist eine (Fermat?sche) Primzahl. Da sie als Binärzahl weitgehend aus Nullen besteht, ist das Potenzieren schnell; als Primzahl erfüllt sie die Bedingung der Teilerfremdheit von e und d besonders gut.

Derzeit gelingt es, N von etwa 75 Dezimalstellen oder rund 250 Bit mit verfügbar großem Aufwand zu faktorisieren. Schätzt man (realistischerweise), daß sich der Aufwand für jede weitere Dezimalstelle nicht verzehnfacht, sondern nur etwa verdreifacht, dann ergeben sich folgende Überlegungen für größere N: Um ein N von 512 Bit zu faktorisieren, müßte bei gleichbleibenden Verfahren der Aufwand um etwa das 10-hoch-37fache gesteigert werden. Der Aufwand würde also ins Unvorstellbare wachsen. Allerdings ist derzeit nicht nachzuweisen, daß nicht erheblich schnellere Faktorisierungsverfahren gefunden werden können. Desgleichen ist für das RSA-Verfahren noch nicht nachgewiesen, daß es nicht eine Möglichkeit gibt, den geheimen Schlüssel anders als durch das Faktorisieren von N schneller abzuleiten oder eine effiziente Umkehroperation (Logarithmierung) zu (5) zu finden.

Der Umstand, daß der öffentliche Schlüssel e/N nicht geheim gehalten werden muß, bedeutet nur, daß er nicht gegen unbefugte Kenntnisnahme gesichert zu werden braucht. Er muß aber manipulationssicher sein, wenn man mit ihm den Echtheitsnachweis zu einer Unterschrift führen will.

Zunächst Blanko-Scheck bei der Bank

Man stelle sich vor: Eine zentrale Authentikationsstelle lizenziert Banken zur Ausgabe von Token. Die lizensierten Banken geben an ihre Kunden statt Scheckkarten, Token aus, die unter anderem folgendes unmanipulierbar enthalten:

(1) eine asymmetrisch arbeitende Verschlüsselungseinheit,

(2) das e = 65537 als Systemkonstante,

(3) das d des geheimen Schlüssels d/NT des Token,

(4) den Token-Modulus NT als personenbezogenen Teil des öffentlichen Schlüssels e/NT,

(5) die Unterschrift des Token-Modulus NT durch die Bank,

(6) den Modulus NB als Teil des öffentlichen Schlüssels e/NB der Bank,

(7) die Unterschrift des Bank-Modulus NB durch die zentrale Authentikationsstelle,

(8) den Authentikationsstellen-Modulus Nz als Teil von deren öffentlichen Schlüssels e/Nz,

(9) eine eindeutige Benennung (distinguished name) des Tokeninhabers,

(10) eine ausreichend genau gehende Datums-Uhr.

Die Größen (4) bis einschließlich (7) machen das Zertifikat aus.

Wenn der Kunde ein Token erhalten will, muß er seine Bank aufsuchen und sich ihr identifizieren. Ein Bankbediensteter führt in einen speziellen Automaten ein Blanko-Token ein, das soweit nur die Verschlüsselungseinheit (1) und die öffentliche Systemkonstante e (2), enthält. Außerdem gibt er dem Automaten eine eindeutige Benennung des Kunden, etwa Namen und Kontonummer, ein.

Im Automaten liefert ein Zufallszahlengenerator einem Schlüsselgenerator eine Zufallszahl. Dieser springt in einen aus ihr abgeleiteten Zahlenbereich und sucht dort die beiden Primzahlen p und q. Sind sie gefunden, werden der Modulus NT (4) und das d (3) des geheimen Token-Schlüssels errechnet und eingetragen.

Daraufhin erstellt der Automat das restliche Zertifikat und schreibt es in das Token. Zu diesem Zwecke unterschreibt er den Modulus NT (4) zur Unterschrift (5) und fügt seinen Modulus NB (6) und dessen Unterschrift (7) durch die zentrale Authentikationsstelle zu.

Schließlich schreibt der Automat auch den Modulus NZ als Teil des öffentlichen Schlüssels der zentralen Authentikationsstelle in das Token.

Automat erstellt ein rechtliches Zertifikat

Er prüft gegen eine von ihm geführte Liste, ob die Benennung (9) des Kunden eindeutig ist, und trägt sie gegebenenfalls in das Token ein. Dann stellt er die Datumsuhr (10) des Tokens. Selbstverständlich werden auch anwendungsspezifische Angaben (Kontostand, Kreditlimit und Gültigkeitsdauer) und Informationen eingetragen, die zur Prozessierung von Fehlzuständen benötigt werden.

Von den oben angeführten Werten merkt sich der Automat neben dem Ausgabezeitpunkt und -ort den Token-Modulus (4) als den personenbezogenen Teil des öffentlichen Schlüssels und die Benennung (9) des Tokeninhabers. Mit Hilfe des Automaten kann also der Eigentümer eines Modulus beziehungsweise eines Tokens von da an sicher identifiziert werden.

Mit PIN das Token "unterschreiben" lassen

Dann gibt der Automat das ausgefüllte Token wieder frei. Der Bankbedienstete folgt es dem Kunden aus und fordert ihn auf, dem Token eine PIN einzugeben. Nachdem der Kunde das getan hat, ist das Token funktionsfähig. Um die erfolgte PIN-Eingabe und die Funktionsfähigkeit des Tokens zu prüfen, unterschreibt der Kunde mit dem Token als erstes eine elektronische Empfangsbestätigung. Dann kann der Kunde jederzeit mit der PIN das Token zu jeweils einer Unterschrift aktivieren und kann mit ihm die Unterschriften anderer systemzugehöriger Token unmittelbar authentizieren.

So stellt sich die Schlüsselgenerierung und -verteilung dar. Die Schlüssel werden unmittelbar in ein gesichertes Medium eingebracht, mit dem sie dann zur portablen Anwendung transportiert werden können; keiner wird über das Fernmeldemedium übertragen. Ein besonderer Vorteil asymmterischer Algorithmen gegenüber den besser bekannten symmetrischen ist, daß geheime Schlüssel jeweils nur an einer einzigen Stelle gespeichert werden, was nicht nur die Sicherheit erhöht, sondern auch die Verteilung und deren Organisation in einem öffentlichen Directory System sehr viel einfacher macht.

CCITT und Teletrust gehen konform

Der Gebrauch von OSIS muß sich an den heutigen beziehungsweise künftigen Gebrauch offener Kommunikationssysteme und genormter elektronischer Zahlungssysteme anschließen. Dabei dürften sich vielerlei Ansätze ergeben. Zum Beispiel ist derzeit das CCITT, die internationale Normungsorganisation für das Fernmeldewesen, dabei, allgemein gültige Grundsätze für Directory Systems zu den unterschiedlichen Fernmeldediensten zu erarbeiten. Dazu gehört auch ein Authentication Framework, das eine Authentikationshierarchie und Zertifikate vorsieht, wie sie von Teletrust auch für OSIS vorgeschlagen werden.

Auch im Bereich der Zahlungssysteme wird es notwendig, die Systeme zu vernetzen, das heißt sie offener und sicherer, vor allem gegen das organisierte Verbrechen, zu machen. Auch wenn diese Sorge aus verständlichen Gründen verdeckt getragen wird, schlägt sie sich doch bereits heute in der Entwicklung chipkartenorientierter Zahlungssysteme nieder.

So betrachtet ist die Datenverschlüsselung kein entbehrlicher Luxus. Sie allein lost allerdings das Problem nicht vollständig. Man muß zudem in der Lage sein, die geheimzuhaltenden Informationen zu sichern. Diesbezüglich berechtigt die Chipkartentechnik zu Hoffnungen, denn im Kartenchip gespeicherte Information kann praktisch unausforschbar und unmanipulierbar gehalten werden. Man wird ein Übriges tun müssen, indem man im Directory/Verteilungs-System systematische Prüfungen einrichtet, mit denen ein erfolgreicher Angriff auf eine besonders kritische geheime Information, wie zum Beispiel den geheimen Schlüssel der zentralen Authentikationsstelle, schnell entdeckt werden kann. Darüber ein andermal.