Blom-Verfahren

Das Verfahren von Blom ist ein kryptographischer Algorithmus zum Austausch symmetrischer Schlüssel. Es wird derzeit im HDCP-Protokoll (dem Kopierschutzverfahren des HDTV) eingesetzt.

Eine vertrauenswürdige Partei gibt dabei jedem der n Teilnehmern 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 jedoch k 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 k Benutzer können (bei optimaler Parameterwahl, siehe weiter unten) nichts ausrichten. Es handelt sich dabei um ein Schwellwertverfahren (engl. threshold scheme).

Inhaltsverzeichnis

Vorteile des symmetrischen Schlüsselaustausch

Das Verfahren ist sowohl wesentlich schneller als auch einfacher zu programmieren als zum Beispiel das RSA-Verfahren. Somit kann das Blom-Verfahren auch in leistungsschwachen Mikrochips eingesetzt werden.

Nachteile

Wenn einige Teilnehmer zusammenarbeiten, oder aber deren Schlüssel geknackt, geklaut oder anderweitig komprimittiert werden, können alle Schlüssel berechnet werden.

Das Protokoll

Der Schlüsselaustausch erfordert eine vertrauenswürdige Partei (Trent) und n Benutzer (neue Benutzer können auch nachträglich bequem hinzugefügt werden). Alice und Bob seien im folgenden zwei Benutzer.

Protokoll Vorbereitung

Die vertrauenswürdige Partei Trent wählt eine geheime, zufällige und symmetrische k×k-Matrix D über GF(p), wobei p vorzugsweise eine Primzahl sein sollte. Diese Matrix muss zum Hinzufügen eines neuen Benutzers bekannt sein.

D sei zum Beispiel (p = 17): \begin{pmatrix} 1&6&2\\6&3&8\\2&8&2\end{pmatrix}\mod 17

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 in Abhängigkeit ihres Namens). Dies ist hier mathematisch gesehen ein Vektor IAlice mit k Komponenten aus GF(p).

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

IAlice = \begin{pmatrix} 3 \\ 10 \\ 11 \end{pmatrix}, dann ist gAlice = \begin{pmatrix} 1&6&2\\6&3&8\\2&8&2\end{pmatrix} * \begin{pmatrix} 3 \\ 10 \\ 11 \end{pmatrix} = \begin{pmatrix} 0\\0\\6\end{pmatrix}\mod 17

IBob = \begin{pmatrix} 1 \\ 3 \\ 15 \end{pmatrix}, dann ist gBob = \begin{pmatrix} 1&6&2\\6&3&8\\2&8&2\end{pmatrix} * \begin{pmatrix} 1 \\ 3 \\ 15 \end{pmatrix} = \begin{pmatrix} 15\\16\\5\end{pmatrix}\mod 17

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 IBob) und den eigenen privaten Schlüssel gAlice.

Sie berechnet nun: kAlice / Bob = gAlice * IBobt (t bedeutet transponiert)

Bob kann dasselbe machen (aber natürlich mit seinem privaten Schlüssel und Alice Identifikationsvektor).

Beispiele:

kAlice / Bob = \begin{pmatrix} 0\\0\\6 \end{pmatrix}^t * \begin{pmatrix} 1\\3\\15 \end{pmatrix} = 0*1 + 0*3 + 6*15 = 5\mod 17

kBob / Alice = \begin{pmatrix} 15\\16\\5 \end{pmatrix}^t * \begin{pmatrix} 3\\10\\11 \end{pmatrix} = 15*3 + 16*10 + 5*11 = 5\mod 17

Bemerkungen

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

Quellen


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • HDCP — …   Deutsch Wikipedia

  • High Bandwidth Digital Content Protection — …   Deutsch Wikipedia

  • Strukturalismus — Struk|tu|ra|lịs|mus 〈m.; ; unz.〉 1. 〈Wissth.〉 mehreren Humanwissenschaften gemeinsame Richtung, die eine die Menschen betreffende Tatsache in Abhängigkeit von einem organischen Ganzen zu bestimmen u. diese Beziehung durch math. Modelle… …   Universal-Lexikon

  • Chlordioxid — Strukturformel Allgemeines Name Chlordioxid Andere Namen …   Deutsch Wikipedia

  • Aluminiumelektrolyte — ist ein Elektrolyttyp der Galvanotechnik. Inhaltsverzeichnis 1 Abscheidemöglichkeiten 1.1 Abscheidung aus aluminiumorganischen Verbindungen 1.2 Zusammensetzung von Aluminiumelektrolyten 2 Quellen …   Deutsch Wikipedia

  • Quantile-Quantile-Plot — Ein Quantile Quantile Plot (Q Q Plot, Quantil Quantil Diagramm) ist ein exploratives, grafisches Werkzeug, in dem die Quantile zweier statistischer Variablen gegeneinander abgetragen werden, um ihre Verteilungen zu vergleichen. Ein Probability… …   Deutsch Wikipedia

  • Stabhochspringer — Stabhochsprung Stabhochspringer bei der Lattenüberquerung Stabhochsprung ist eine Disziplin in der Leichtathletik, bei der die Springer nach ihrem Anlauf eine hoch …   Deutsch Wikipedia

  • Alkoholische Gärung — Bier als Produkt der alkoholischen Gärung Die alkoholische Gärung (Syn. Ethanol Gärung, ethanolische Gärung) ist ein biochemischer Prozess, bei dem Kohlenhydrate, hauptsächlich Glucose, unter anoxischen Bedingungen zu Ethanol („Trinkalkohol“) und …   Deutsch Wikipedia

  • Ethanolgärung — Bier Ein Produkt der alkoholischen Gärung Die alkoholische Gärung (Syn. Ethanol Gärung, Ethanolische Gärung) ist ein biochemischer Prozess, bei dem Kohlenhydrate, hauptsächlich Glucose, unter anoxischen Bedingungen zu Ethanol („Trinkalkohol“) und …   Deutsch Wikipedia

  • SMED — Single Minute Exchange of Die (SMED; dt.: Werkzeugwechsel im einstelligen Minutenbereich) bezeichnet ein Verfahren, das die Rüstzeit einer Produktionsmaschine oder einer Fertigungslinie reduzieren soll. Der Terminus „Werkzeugwechsel“ ist hierbei… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”