Blom-Verfahren

Das Verfahren v​on Blom i​st ein kryptographisches Protokoll z​um Austausch symmetrischer Schlüssel m​it Hilfe e​iner vertrauenswürdigen Partei. Das Verfahren i​st wesentlich schneller a​ls ein asymmetrisches Verfahren. Somit läuft e​s auch a​uf leistungsschwachen Mikrochips. Es w​ird derzeit i​m HDCP-Protokoll (dem Kopierschutzverfahren d​es HDTV) eingesetzt.

Das Protokoll

Der Schlüsselaustausch erfordert eine vertrauenswürdige Partei (Trent) und Benutzer (neue Benutzer können auch nachträglich bequem hinzugefügt werden). Die vertrauenswürdige Partei gibt dabei jedem der Teilnehmer einen geheimen privaten Schlüssel sowie eine öffentliche Identifikationsnummer. Mit diesen Daten kann jeder Protokollteilnehmer mit jedem anderen Teilnehmer mit Hilfe einfacher Berechnungen (nur lineare Algebra) einen symmetrischen Schlüssel austauschen.

Wenn oder mehr kompromittierte Benutzer zusammenarbeiten sollten, können sie das Verfahren knacken (d. h., sie können den Master-Schlüssel der o. g. vertrauenswürdigen Partei berechnen). Weniger als Benutzer können (bei optimaler Parameterwahl) nichts ausrichten. Es handelt sich dabei um ein Schwellwertverfahren (englisch threshold scheme).

Alice u​nd Bob s​eien im Folgenden z​wei Benutzer.

Protokoll-Vorbereitung

Die vertrauenswürdige Partei Trent wählt als Master-Schlüssel eine geheime, zufällige und symmetrische -Matrix über , wobei eine Primzahl sein muss. Diese Matrix muss zum Hinzufügen eines neuen Benutzers bekannt sein.

D sei zum Beispiel ():

Hinzufügen eines neuen Teilnehmers

Ein neuer Benutzer Alice möchte der Schlüsselaustausch-Gruppe beitreten. Trent wählt für Alice eine öffentliche Benutzerkennung (am besten abhängig von ihrem Namen). Dies ist hier mathematisch gesehen ein Vektor mit Komponenten aus .

Anschließend berechnet Trent den privaten Schlüssel von Alice: Der private Schlüssel kann nun von Alice verwendet werden, um einen gemeinsamen Schlüssel mit einem beliebigen anderen Gruppenteilnehmer zu berechnen.

, dann ist

, dann ist

Berechnung eines gemeinsamen Schlüssels zwischen Alice und Bob

Nun möchte Alice mit Bob kommunizieren. Alice kennt hierzu Bobs Identifikation (nämlich den Vektor ) und den eigenen privaten Schlüssel .

Sie berechnet nun das Produkt daraus: ( bedeutet transponiert)

Bob k​ann dasselbe machen (aber natürlich m​it seinem privaten Schlüssel u​nd Alices Identifikationsvektor).

Beispiele:

Bemerkungen

Damit erst oder mehr korrumpierte Benutzer das System knacken können, müssen ihre Benutzerkennungen (also die Vektoren ) in Gruppen linear unabhängig sein, d. h., jede Auswahl von Vektoren ist linear unabhängig. Dies kann dadurch erreicht werden, dass die durch alle Benutzervektoren aufgespannte Matrix einen MDS-Code darstellt (Maximum-Distance-Separable-Fehlerkorrekturcode). Die Benutzerkennungen sind dabei die Spalten dieser Matrix.

Quellen

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.