-
GEBIET DER
ERFINDUNG
-
Die
Erfindung betrifft das Gebiet der Kryptographie. Insbesondere betrifft
die Erfindung das Erweitern des Authentifizierungsprotokolls eines
kryptographischen Systems.
-
ALLGEMEINER
STAND DER TECHNIK
-
Der
Austausch von Daten, insbesondere von audiovisuellen Medien, zwischen
Geräten,
die diese Daten benutzen oder darstellen, ist allgemein üblich. Die
eigentlichen Daten können
das Ergebnis einer bedeutenden Investition von Zeit und Geld sein.
Um diese Investition zu schützen,
erheben die Anbieter solcher Daten oftmals Gebühren für das Verteilen der Daten an
die am Erhalt der Daten Interessierten. Wenn die Kanäle, über welche
die Daten verteilt werden, jedoch unsicher sind, können Dritte
die Daten empfangen, ohne die Gebühr zu entrichten. So werden
die an der Produktion oder Verteilung der Daten Beteiligten daran
gehindert, die Kosten für
ihre Anstrengungen zurückzuerwirtschaften.
-
Um
die Sicherheit der Kanäle
zu erhöhen, über die
derartige Daten übertragen
werden, können kryptographische
Systeme eingesetzt werden. Solche kryptographischen Systeme verschlüsseln die Daten,
bevor diese über
einen Datenübertragungsstrom
an ein weiteres Gerät übertragen
werden. Wenn die Daten das beabsichtigte Gerät erreichen, können sie
in ihre ursprüngliche,
brauchbare Form entschlüsselt
werden. Solange sie verschlüsselt
sind, befinden sich die Daten nicht in einer brauchbaren Form. Dritte,
die nicht über
die Fähigkeit
zum Entschlüsseln
der Daten verfügen,
sind daher nicht in der Lage, die Daten zu benutzen. Kryptographische Systeme
dienen folglich dazu, einen gewissen Grad an Garantie dafür bereitzustellen,
daß die
Daten nur von denjenigen Empfängern
entschlüsselt
werden können,
denen die Fähigkeit
hierfür
zugedacht wurde.
-
Es
existieren verschiedene kryptographische Systeme. Ein solches kryptographisches
System ist HDCP (engl. "High
Digital Content Protection System", dt. "digitales Breitband-Inhaltsschutzsystem"). Die HDCP-Spezifikation ist im Stand
der Technik bekannt und muß hier
daher nicht im einzelnen beschrieben werden. Kurz gesagt ist HDCP
dazu ausgelegt, die Videoübertragung
zwischen einem DVI-Sender (engl. "Digital Visual Interface", dt. "digitale visuelle
Schnittstelle")
und einem DVI-Empfänger
zu schützen.
Die DVI-Spezifikation ist im Stand der Technik bekannt und muß hier daher
nicht im einzelnen beschrieben werden. HDCP setzt ein Authentifizierungsprotokoll
ein, mit dessen Hilfe ein DVI-Sender überprüft, ob ein gegebener DVI-Empfänger dazu
berechtigt ist, geschützte
Daten zu empfangen. Nachdem die Berechtigung des Empfängers festgestellt
worden ist, werden auf der Basis von im Rahmen des Authentifizierungsprotokolls
vereinbarten gemeinsamen Geheimnissen zwischen den beiden Geräten verschlüsselte Daten übertragen.
Ein Sendegerät
kann daher als eine Verschlüsselungseinheit
(bzw. -Schicht) zum Verschlüsseln
der Daten umfassend betrachtet werden, und ein Empfangsgerät kann als
eine entsprechende Entschlüsselungseinheit
(bzw. -schicht) zum Entschlüsseln
eben dieser Daten umfassend betrachtet werden.
-
Einige
kryptographische Systeme, wie z.B. HDCP, stellen zu einem Preis,
der den Einsatz in vielen Fällen
finanziell durchführbar
macht, einen gewissen Grad an kryptographischer Garantie bzw. Sicherheit
bereit. Beispielsweise kann HDCP ein kryptographisches System nutzen,
bei dem Schlüssel
verteilt werden. Im Stand der Technik ist bekannt, daß derartige
Systeme nur einen gewissen Sicherheitsgrad bieten, jedoch geringere
Implementationskosten aufwerfen. Andere Umstände erfordern jedoch möglicherweise
einen höheren
Grad an kryptographischer Garantie bzw. Sicherheit, wie er etwa
von Kryptographie mit öffentlichen
Schlüsseln
geboten wird. Von letzterer ist allgemein bekannt, daß sie einen
höheren
Sicherheitsgrad bietet, jedoch auch höhere Implementationskosten
aufwirft. Wer bereits in ein Kryptographiesystem, wie etwa ein HDCP-System
mit Schlüsselverteilung,
investiert hat, kann auf ein System mit höherem Sicherheitsgrad, wie
etwa ein System mit öffentlichen
Schlüsseln,
derzeit bedauerlicherweise nur aufrüsten, indem er das alte System aufgibt
und vollständig
durch ein neues System ersetzt. Dies führt zu unangemessenen Implementations-
und Wartungskosten.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Ausführungsformen
der Erfindung lassen sich am Besten unter Bezugnahme auf die nachstehende
Beschreibung und die beigefügten
Zeichnungen verstehen, die solche Ausführungsformen erläutern. Die
Nummerierung in den beigefügten
Figuren erfolgt dergestalt, daß die
führende
Ziffer eines gegebenen Elements in einer Figur mit der Nummer der Figur
verbunden ist. Kommt jedoch ein und dasselbe Element in verschiedenen
Figuren vor, wird es überall
durch dieselbe Elementnummer bezeichnet.
-
1 zeigt
ein Blockdiagramm, das eine Vorrichtung zum Verbessern der Authentifizierung
in einem kryptographischen System gemäß einer Ausführungsform
der Erfindung veranschaulicht.
-
2 zeigt
ein Ablaufdiagramm, das ein Verfahren zum Verbessern der Authentifizierung
in einem kryptographischen System gemäß einer Ausführungsform
der Erfindung veranschaulicht.
-
3 veranschaulicht
eine erweiterte Verschlüsselungsvorrichtung
gemäß einer
Ausführungsform
der Erfindung.
-
4 ist
ein Ablaufdiagramm, das ein Verfahren gemäß einer Ausführungsform
der Erfindung beschreibt.
-
5 ist
ein Ablaufdiagramm, das ein Verfahren gemäß einer Ausführungsform
der Erfindung beschreibt.
-
6 zeigt
ein Blockdiagramm, das ein System veranschaulicht, welches eine
Vorrichtung zum Verbessern der Authentifizierung in einem kryptographischen
System gemäß einer
Ausführungsform
der Erfindung umfaßt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
In
der folgenden Beschreibung werden zahlreiche spezifische Details
dargestellt, um ein eingehendes Verständnis der Ausführungsformen
der Erfindung zu ermöglichen.
Es versteht sich jedoch, daß Ausführungsformen
der Erfindung ohne diese spezifischen Details in die Praxis umgesetzt
werden können.
In anderen Fällen
werden bekannte Schaltungen, Strukturen und Verfahren nicht im Detail
gezeigt, um die Verständlichkeit
der Ausführungsformen
der Erfindung nicht zu beeinträchtigen.
-
Nachstehend
werden ein Verfahren und eine Vorrichtung beschrieben, die dazu
dienen, eine Authentifizierungseinheit in einem bereits bestehenden kryptographischen
System durch Aufnahme einer zusätzlichen
Kryptographieschicht zu erweitern, wodurch eine verbesserte Authentifizierungseinheit
geschaffen wird, die eine zusätzliche
Sicherheitsstufe bereitstellen kann. Ein Vorteil der verbesserten
Authentifizierungseinheit besteht darin, daß das bereits bestehende kryptographische
System erweitert werden kann und nicht ausgetauscht werden muß, wodurch
erweiterte kryptographische Sicherheit bei minimalen Kosten möglich wird.
Ein weiterer Vorteil besteht darin, daß die nicht verbesserte Authentifizierungseinheit
ein kryptographisches Verfahren anwenden kann, während die verbesserte Authentifizierungseinheit
ein anderes kryptographisches Verfahren anwenden kann, aber beide
jeweils unabhängig voneinander
arbeiten können.
Demgemäß kann das Sicherheitssystem
weiterhin gemäß dem ursprünglichen
einstufigen Sicherheitsgrad arbeiten, oder es kann gemäß einem
erweiterten zweistufigen Sicherheitsgrad arbeiten.
-
1 zeigt
ein Blockdiagramm, das eine erweiterte kryptographische Vorrichtung 100 zum
Verbessern der Authentifizierung in einem kryptographischen System
gemäß einer
Ausführungsform
der Erfindung veranschaulicht. Die Sendeeinheit 110 ist über den
Datenübertragungsstrom 130 mit
der Empfangseinheit 120 verbunden. Die Sendeeinheit 110 umfaßt die Verschlüsselungseinheit 140 und
die verbesserte Authentifizierungseinheit 150. Die Verschlüsselungseinheit 140 ist über den
Datenübertragungsstrom 130 mit
der verbesserten Authentifizierungseinheit 150 verbunden.
Die Empfangseinheit 120 umfaßt die Verschlüsselungseinheit 160 und
die verbesserte Authentifizierungseinheit 170. Die Entschlüsselungseinheit 160 ist über den
Datenübertragungsstrom 130 mit
der verbesserten Authentifizierungseinheit 170 verbunden.
Die Verschlüsselungseinheit 140 ist über den
Datenübertragungsstrom 130 mit
der Entschlüsselungseinheit 160 verbunden. Die
verbesserte Authentifizierungseinheit 150 ist über den
Datenübertragungsstrom 130 mit
der verbesserten Authentifizierungseinheit 170 verbunden. Zwar
werden die vorgenannten Einheiten als Einheiten beschrieben und
können
in Hardware implementiert werden, doch ist es offensichtlich, daß es sich
bei einer oder mehreren dieser Einheiten um in Software implementierte
Datenübertragungsprotokollschichten
handeln kann.
-
In
einer Ausführungsform
ist die Sendeeinheit 110 ein DVI-Videosender. In einer
Ausführungsform
ist die Empfangseinheit 120 ein DVI-Videoempfänger. In
einer Aus führungsform
ist die Sendeeinheit 110 ein DVI-Videozwischenverstärker. In
einer Ausführungsform
ist die Empfangseinheit 120 ein DVI-Videozwischenverstärker. In
einer Ausführungsform
ist der Datenübertragungsstrom 130 ein
Inter-IC-Bus (I2C-Bus). Die I2C-Spezifikation ist
im Stand der Technik bekannt und muß hier daher nicht im einzelnen beschrieben
werden. In einer Ausführungsform
ist die Verschlüsselungseinheit 140 ein
HDCP-Sender. In
einer Ausführungsform
ist die Entschlüsselungseinheit 160 ein
HDCP-Empfänger.
-
In
einer Ausführungsform
werden die verbesserten Authentifizierungseinheiten 150 und 170 der
Sendeeinheit 110 bzw. der Empfangseinheit 120 hinzugefügt, ohne
daß dabei
die bestehende Hardware von Verschlüsselungseinheit 140 bzw.
Entschlüsselungseinheit 160 verändert wird.
In einer Ausführungsform
arbeiten die Verschlüsselungseinheit 140 und
die Entschlüsselungseinheit 160 unabhängig von
den verbesserten Authentifizierungseinheiten 150 und 170.
-
Indem
das HDCP-System, wie hier beschrieben, erweitert wird, läßt sich
ein höherer
Grad an kryptographischer Garantie bzw. Sicherheit erzielen als
mit HDCP allein, und gleichzeitig werden bestehende, vergleichsweise
kostengünstige
HDCP-Systeme vorteilhafterweise wiederverwendet.
-
2 zeigt
ein Ablaufdiagramm, das einen Prozeß zum Verbessern der Authentifizierung
in einem kryptographischen System gemäß einer Ausführungsform
veranschaulicht. Die Operationen aus diesem und anderen Ablaufdiagrammen
werden unter Bezugnahme auf die Ausführungsbeispiele aus den anderen
Diagrammen beschrieben. Es ist jedoch zu beachten, daß die Operationen
aus den Ablaufdiagrammen außer
von den unter Bezugnahme auf diese anderen Diagramme behandelten
Ausführungsformen
auch von anderen Ausführungsformen der
Erfindung ausgeführt
werden können,
und die unter Bezugnahme auf diese anderen Diagramme behandelten
Ausführungsformen
der Erfindung können außer den
unter Bezugnahme auf die Ablaufdiagramme behandelten Operationen
auch andere Operationen ausführen.
-
In
Verarbeitungsblock 210 wird ein Nonce aus einem Datenübertragungsstrom
entfernt. Ein Nonce ist ein beliebiger Zufallswert, der in einer
Authentifizierungsaustauschphase eines kryptographischen Systems
benutzt wird. Beispielsweise fügt
die Verschlüsselungseinheit 140 den
Nonce während der
Authentifizierungsaustauschphase eines kryptographischen Systems
in den Datenübertragungsstrom 130 ein,
und die verbesserte Authentifizierungseinheit 150 fängt anschließend den
Nonce ab und entfernt den Nonce aus dem Datenübertragungsstrom 130.
-
In
einer Ausführungsform
der Erfindung handelt es sich bei dem Nonce um einen An-Wert, der von einer
HDCP-Funktion generiert wurde. Für
eine Beschreibung des An-Werts wird auf
die HDCP-Spezifikation verwiesen. Kurz gesagt ist der An-Wert
ein 64-Bit-Pseudozufallswert,
der von der HDCP-Chiffrierfunktion hdcpRngCipher generiert wird
und in einer Initiierungsnachricht enthalten ist, die während des
HDCP-Authentifizierungsaustauschs von einem HDCP-Sender an einen
HDCP-Empfänger
gesendet wird.
-
In
Verarbeitungsblock 220 wird der Nonce auf Basis eines gemeinsamen
Geheimnisses verschlüsselt.
Das Konzept eines gemeinsamen Geheimnisses bei Kryptographiesystemen
mit öffentlichen
Schlüsseln
ist im Stand der Technik bekannt und muß hier daher nicht im einzelnen
beschrieben werden. Beispielsweise führen die verbesserte Authentifizierungseinheit 150 und
die verbesserte Authentifizierungseinheit 170 einen authentifizierten Schlüsselaustausch
durch. Durch diesen authentifizierten Schlüsselaustausch wird ein gemeinsames Geheimnis
(zwischen Authentifizierungseinheit 150 und Authentifizierungseinheit 170)
gebildet. Dieses gemeinsame Geheimnis ist nicht mit einem während eines
Austauschs zwischen Verschlüsselungseinheit 140 und
Entschlüsselungseinheit 160 gebildeten
gemeinsamen Geheimnis zu verwechseln: Letzteres wird zum Verschlüsseln und
Entschlüsseln
der zwischen Verschlüsselungseinheit 140 und
Entschlüsselungseinheit 160 übertragenen
Daten benutzt, während
ersteres zum Verschlüsseln
des bei der Authentifizierung zwischen Verschlüsselungseinheit 140 und
Entschlüsselungseinheit 160 verwendeten Nonce
benutzt wird, bevor jene Datenverschlüsselung und -entschlüsselung
stattfindet. Dieser authentifizierte Schlüsselaustausch bietet einen
höheren Grad
an kryptographischer Garantie bzw. Sicherheit als HDCP allein. Im
weiteren Verlauf des Beispiels verschlüsselt die verbesserte Authentifizierungseinheit 150 den
Nonce auf Basis des gemeinsamen Geheimnisses. Im Stand der Technik
sind verschiedene Verschlüsselungs-
und Entschlüsselungsverfahren bekannt
und müssen
hier daher nicht im einzelnen beschrieben werden.
-
In
einer Ausführungsform
kommt bei dem authentifizierten Schlüsselaustausch, auf dem das
gemeinsame Geheimnis beruht, ein signierter Diffie-Hellman-Schlüsselaustausch
zum Einsatz, und bei dem authentifizierten Schlüsselaustausch wird ein digitales
Zertifikat zurückgegeben.
Der signierte Diffie-Hellman-Schlüsselaustausch ist im Stand
der Technik bekannt und muß hier
daher nicht im einzelnen beschrieben werden. In einer Ausführungsform wird
der Nonce mit dem RSA-Algorithmus ("Rivest Shamir Adleman") verschlüsselt. Der
RSA-Algorithmus
ist im Stand der Technik bekannt und muß hier daher nicht im einzelnen
beschrieben werden; jedoch kann die nachfolgende detaillierte Beschreibung
einige Details diesbezüglich
enthalten.
-
In
Verarbeitungsblock 230 wird der verschlüsselte Nonce in den Datenübertragungsstrom eingefügt. Beispielsweise
fügt die
verbesserte Authentifizierungseinheit 150 den verschlüsselten
Nonce in den Datenübertragungsstrom 130 ein.
Der verschlüsselte
Nonce ersetzt im Datenübertragungsstrom 130 wirksam
den von der verbesserten Authentifizierungseinheit 150 abgefangenen
Nonce.
-
In
Verarbeitungsblock 240 wird der verschlüsselte Nonce aus dem Datenübertragungsstrom
entfernt. Beispielsweise fängt
die verbesserte Authentifizierungseinheit 170 den verschlüsselten Nonce
ab und entfernt den verschlüsselten
Nonce aus dem Datenübertragungsstrom 130.
-
In
Verarbeitungsblock 250 wird der verschlüsselte Nonce auf Basis des
gemeinsamen Geheimnisses entschlüsselt.
Beispielsweise entschlüsselt
die verbesserte Authentifizierungseinheit 170 den verschlüsselten
Nonce. Das Ergebnis der Entschlüsselung
ist der Nonce, der ursprünglich
von der Verschlüsselungseinheit 140 in
den Datenübertragungsstrom
eingefügt
wurde. Der entschlüsselte Nonce
ersetzt im Datenübertragungsstrom 130 wirksam
den von der verbesserten Authentifizierungseinheit 170 abgefangenen
Nonce.
-
In
Verarbeitungsblock 260 wird der entschlüsselte Nonce in den Datenübertragungsstrom eingefügt. Beispielsweise
fügt die
verbesserte Authentifizierungseinheit 170 den entschlüsselten
Nonce in den Datenübertragungsstrom 130 ein.
Der Nonce wird daraufhin während
der Authentifizierungsaustauschphase eines kryptographischen Systems von
der Entschlüsselungseinheit 160 empfangen. Der
Nonce kann von der Entschlüsselungseinheit 160 benutzt
werden, um den Authentifizierungsaustausch mit der Verschlüsselungseinheit 140 abzuschließen.
-
3 veranschaulicht
eine erweiterte Verschlüsselungsvorrichtung 300 gemäß einer
Ausführungsform
der Erfindung. Weiter wird auf 3 Bezug
genommen. Ein Sendegerät 302 soll
verschlüsselte
Daten an ein Empfangsgerät 304 übertragen. Das
Sendegerät 302 umfaßt eine
bereits bestehende Sendeeinheit 310, die ein bestimmtes
Verschlüsselungsprotokoll
befolgt, das während
der Authentifizierung bzw. des Schlüsselaustauschs keinen öffentlichen
Schlüssel
benutzt, oder anders gesagt, bei dem Protokoll handelt es sich um
ein Protokoll für
einen Authentifizierungs- und Schlüsselaustausch, der nicht auf
der Basis öffentlicher
Schlüssel
erfolgt, forthin "ASANÖS"-Protokoll genannt.
In der in 3 gezeigten Ausführungsform
der Erfindung kann folglich die bereits bestehende Sendeeinheit 310 als "ASANÖS-Sendeeinheit 310" bezeichnet werden.
Das Sendegerät 302 umfaßt weiterhin
eine verbesserte Authentifizierungseinheit 306, die dazu
vorgesehen ist, für
die ASANÖS-Sendeeinheit 310 einen
authentifizierten Schlüsselaustausch
auf Basis öffentlicher Schlüssel, forthin "ASAÖS" genannt, bereitzustellen. Die
verbesserte Authentifizierungseinheit 306 wird auf die
ASANÖS-Sendeeinheit 310 aufgesetzt
und erweitert das ASANÖS-Protokoll
auf den Sicherheitsgrad eines ASAÖS-Protokolls. In der in 3 gezeigten
Ausführungsform
der Erfindung wird folglich die erweiterte Authentifizierungseinheit 306 als "ASAÖS-Sendeeinheit 306" bezeichnet. Dementsprechend
umfaßt
das Empfangsgerät 304 eine
bereits bestehende Entschlüsselungseinheit 312,
die ein ASANÖS-Protokoll
befolgt, und eine verbesserte Authentifizierungseinheit 308,
die auf die bereits bestehende Entschlüsselungseinheit 312 aufgesetzt
ist, um Authentifizierung und Sicherheit auf ASAÖS-Niveau bereitzustellen. In
der in 3 gezeigten Ausführungsform der Erfindung wird
folglich die bereits bestehende Sendeeinheit 312 als "ASANÖS-Sendeeinheit 312" und die verbesserte
Authentifizierungseinheit 308 als "ASAÖS-Empfangseinheit 308" bezeichnet. Wie
zuvor erwähnt,
werden die ASAÖS-Einheiten 306 und 308 auf
die ASANÖS-Einheiten 310 und 312 aufgesetzt.
Der Begriff "aufsetzen" ist ein bildlicher
Ausdruck und bedeutet, daß sich
die ASAÖS-Einheiten 306 und 308 in
die Authentifizierungs- und Schlüsselaustauschabschnitte
der ASANÖS-Einheiten 310 und 312 integrieren
und eine erweiterte Authentifizierung bereitstellen. Ein Verfahren,
das dieses Aufsetzen beschreibt, wird weiter unten in Zusammenhang
mit 4 eingehender beschrieben.
-
Es
wird weiterhin auf 3 Bezug genommen. Das Sendegerät 302 soll über einen
Datenkanal 314 Daten, wie etwa DVI-Daten, an das Empfangsgerät 304 übertragen.
Die Daten müssen
vor der Übertragung
an die ASANÖS-Empfangseinheit 312 im
Empfangsgerät 304 von
der ASANÖS-Sendeeinheit 310 verschlüsselt werden.
Nach der Übertragung
an das Empfangsgerät 304 müssen die
verschlüsselten
Daten von der ASANÖS-Empfangseinheit 312 entschlüsselt werden.
Der kryptographische Prozeß erfordert
in seiner Gesamtheit jedoch mehr als lediglich Verschlüsselung
und Entschlüsselung von
Daten. Wie dem Fachmann bekannt ist, ist die Verschlüsselung
und Entschlüsselung
von Daten nutzlos, sofern das verschlüsselnde Gerät nicht mit dem entschlüsselnden
Gerät kommunizieren
und die wahre Identität
des entschlüsselnden
Geräts überprüfen kann.
Diese Überprüfung wird
für gewöhnlich "Authentifizierung" genannt. Außerdem verschlüsselt der
Verschlüsselungs-/Entschlüsselungsprozeß Daten,
die nur mit einem Schlüssel
entschlüsselt
werden können,
den das verschlüsselnde
Gerät mit
dem entschlüsselnden
Gerät teilt.
Im Rahmen des Entschlüsselungsprozesses
müssen
sich das entschlüsselnde
Gerät und
das verschlüsselnde
Gerät über die Schlüssel einigen
("Schlüsselaustausch").
-
In
der in 3 gezeigten Ausführungsform der Erfindung verfügen die
ASANÖS-Sendeeinheit 310 und
die ASANÖS-Empfangseinheit 312 über Fähigkeiten
zu Authentifizierung, Schlüsselaustausch und
Verschlüsselung/Entschlüsselung,
welche jeweils über
Datenübertragungspfade 316,
wie z.B. I2C-Datenübertragungspfade, abgewickelt
werden. Jedoch beruhen die Authentifizierungs- und Schlüsselaustauschfähigkeiten
der ASANÖS-Sendeeinheit 310 und
der ASANÖS-Empfangseinheit 312 möglicherweise
auf einem kryptographischen Verfahren, das nur einen bestimmten
Grad an Schutz bieten kann. Zum Beispiel können die ASANÖS-Sendeeinheit 310 und
die ASANÖS-Empfangseinheit 312 ein symmetrisches
Verschlüsselungsverfahren
oder ein Verfahren mit verteilten Schlüsseln nutzen – beides ist
nach Stand der Technik bekannt –,
wobei eine zentrale Administration Schlüssel erstellt und anschließend die
Schlüssel
an bestimmte Mitglieder einer Gruppe verteilt. Die Mitglieder der
Gruppe nehmen nicht an der Erstellung der Schlüssel teil und verfügen über keine
für die
korrekte Funktion der Schlüssel
notwendigen privaten Geheimnisse. Die Schlüssel selbst stellen die einzige
Form von Sicherheit dar. Demgemäß nutzt
ein Mitglied der Gruppe während
der Authentifizierungs- und Schlüsselaustauschvorgänge einen
oder mehrere verteilte Schlüssel,
auf welche sich die ASANÖS-Sendeeinheit 310 und
die ASANÖS-Empfangseinheit 312 einigen
können,
und mit denen sie die Authentifizierung durchführen können. Da jedoch die Mitglieder
der Gruppe an der Erstellung der Schlüssel nicht beteiligt sind und
da sie über
keine für
die korrekte Funktion der Schlüssel
notwendigen privaten Geheimnisse verfügen, kann ein Dritter, der
nicht Mitglied der Gruppe ist, sofern er in den Besitz eines oder
mehrerer Schlüssel
gelangt, Daten ohne Erlaubnis verschlüsseln und entschlüsseln. Somit
haben die ASANÖS-Sendeeinheit 310 und
die ASANÖS-Empfangseinheit 312 bestimmte
Einschränkungen,
auch wenn sie einen gewissen Grad an Sicherheit bieten. In einer
Ausführungsform
der Erfindung befolgen die ASANÖS-Einheiten 310 und 312,
wie hier beschrieben, das HDCP-Protokoll, welches ein Protokoll
zur Schlüsselverteilung
nutzt.
-
Es
existieren jedoch andere Arten von kryptographischen Systemen, die
einen höheren
Grad an Sicherheit bieten können.
Ein solches System ist ein System mit öffentlichen Schlüsseln. Bei
einem System mit öffentlichen
Schlüsseln
kann sich ein Benutzer an der Erstellung das Schlüssels beteiligen
und einen geheimen Teil des Schlüssels
für sich
behalten, während
er einen anderen Teil des Schlüssels
mit einem teilnehmenden Benutzer teilt. Ein System mit öffentlichen
Schlüsseln
ist sicherer, da, selbst wenn ein Dritter in den Besitz des gemeinsamen
Teils des Schlüssels
gelangt, der geheime Teil doch immer noch geheim ist und stets niemand
anderem als dem Benutzer, der ihn erstellt hat, bekannt sein muß. Systeme
mit öffentlichen
Schlüsseln
bieten daher einen höheren
Grad an Sicherheit als Systeme mit symmetrischen oder verteilten
Schlüsseln,
auch wenn Systeme mit öffentlichen
Schlüsseln
oft kostspieliger zu implementieren und zu warten sind. Des weiteren gab
es bislang für
bereits bestehende Systeme mit symmetrischen oder verteilten Schlüsseln keine Möglichkeit,
die höhere
Sicherheit eines Systems mit öffentlichen
Schlüsseln
zu nutzen. Das bereits existierende System hätte vollständig durch ein neues System
mit öffentlichen
Schlüsseln
ersetzt werden müssen,
was zu einem unangemessenen Zeit- und Kostenaufwand geführt hätte. Demgegenüber besteht
ein Vorteil der Verschlüsselungsvorrichtung 300 darin,
daß die
Sicherheit der ASANÖS-Einheiten 310 und 312,
die einen geringeren Sicherheitsgrad, wie etwa den eines Systems
mit symmetrischen oder verteilten Schlüsseln, benutzen, durch die
ASAÖS-Einheiten 306 und 308 auf
einen höheren
Sicherheitsgrad, wie etwa den eines Systems mit öffentlichen Schlüsseln, erweitert
werden kann. Die ASAÖS-Einheiten 306 und 308 stellen
hierzu die Authentifizierung und den Schlüsselaustausch auf Basis öffentlicher
Schlüssel
bereit, bevor die ASANÖS-Einheiten 310 und 312 die
Authentifizierung und den Schlüsselaustausch
auf Basis symmetrischer oder verteilter Schlüssel durchführt. Während des authentifizierten Schlüsselaustauschs
auf Basis öffentlicher
Schlüssel leiten
die ASAÖS-Einheiten 306 und 308 einen
gemeinsamen geheimen Wert ab. Sobald die ASAÖS-Einheiten 306 und 308 den
gemeinsamen geheimen Wert über
den authentifizierten Schlüsselaustausch
auf Basis öffentlicher
Schlüssel
abgeleitet haben, können
die ASANÖS-Einheiten 310 und 312 ihre
Authentifizierungs- und Schlüsselaustauschfunktionen
ausführen.
Ein Verfahren, das beschreibt, wie die ASAÖS-Einheiten 306 und 308 die
ASANÖS-Einheiten 310 und 312 erweitern,
wird nachstehend in Zusammenhang mit 4 eingehend
beschrieben.
-
4 ist
ein Ablaufdiagramm, das ein Verfahren 400 zum Aufsetzen
der ASAÖS-Einheiten 306 und 308 auf
die ASANÖS-Einheiten 310 und 312 beschreibt.
Das in 4 gezeigte Verfahren nutzt einen authentifizierten
Diffie-Hellman-Schlüsselaustauschalgorithmus,
doch der Durchschnittsfachmann kann erkennen, daß anstelle des Diffie-Hellman-Algorithmus
andere Algorithmen auf Basis öffentlicher Schlüssel genutzt
werden können.
Weiter wird auf 4 Bezug genommen. Wie in Verarbeitungsblock 402 gezeigt,
generiert die ASAÖS-Sendeeinheit 306 zufällig einen
ersten geheimen Wert (Xa). Dieser Wert ist
nicht zur Weitergabe an andere Einheiten außerhalb des Sendegeräts 302 bestimmt.
Nachdem der erste geheime Wert (Xa) generiert
worden ist, verwendet die ASAÖS-Sendeeinheit 306,
wie in Verarbeitungsblock 404 gezeigt, den ersten geheimen Wert
(Xa), um gemäß einem Diffie-Hellman-Algorithmus
einen ersten gemeinsamen öffentlichen
Wert (Ya) zu berechnen (Ya =
gXa mod p, wobei g und p öffentliche
Systemparameter sind, die sowohl der ASAÖS-Sendeeinheit 306 als
auch der ASAÖS-Empfangseinheit 308 bekannt
sind). Nachdem der erste gemeinsame öffentliche Wert (Ya)
berechnet worden ist, überträgt die ASAÖS-Sendeeinheit 306 den
ersten gemeinsamen öffentlichen
Wert (Ya) an die ASAÖS-Empfangseinheit 308,
wie in Verarbeitungsblock 406 gezeigt. Die ASAÖS-Empfangseinheit 308 empfängt den
ersten gemeinsamen öffentlichen
Wert (Ya), wie in Verarbeitungsblock 408 gezeigt,
und die ASAÖS-Empfangseinheit 308 generiert
zufällig
einen zweiten geheimen Wert (Xb), wie in
Verarbeitungsblock 410 gezeigt. Obwohl das Verfahren 400 zeigt, daß die ASAÖS-Empfangseinheit 308 den
zweiten geheimen Wert (Xb) generiert (Block 410),
nachdem sie den ersten gemeinsamen Wert (Ya)
empfangen hat (Block 408), kann die ASAÖS-Empfangseinheit 308 in
anderen Ausführungsformen
der Erfindung den zweiten geheimen Wert (Xb)
auch bereits vor Ablauf der in den vorangehenden Verarbeitungsblöcken 402 bis 408 beschriebenen
Methodik generieren. Als nächstes
nutzt die ASAÖS-Empfangseinheit 308,
wie in Verarbeitungsblock 412 gezeigt, den zweiten geheimen
Wert (Xb), um gemäß einem Diffie-Hellman-Algorithmus
einen zweiten gemeinsamen öffentlichen
Wert (Yb) zu berechnen (Yb =
gXb mod p).
-
Als
nächstes
benutzt die ASAÖS-Empfangseinheit 308,
wie in Verarbeitungsblock 414 gezeigt, einen gerätespezifischen
privaten Schlüssel,
um den ersten und den zweiten gemeinsamen öffentlichen Wert zu signieren.
In einer Ausführungsform
der Erfindung hängt
die ASAÖS-Empfangseinheit 308 den ersten
und den zweiten gemeinsamen öffentlichen Wert
aneinander ("die
aneinandergehängten
Werte") und signiert
die aneinandergehängten
Werte. Die ASAÖS-Empfangseinheit 308 kann
den RSA-Algorithmus nutzen, um die aneinandergehängten Werte zu signieren. Der
RSA-Algorithmus umfaßt
die Verwendung eines verschlüsselten
privaten Schlüssels und
eines verschlüsselten öffentlichen
Schlüssels. Der öffentliche
Schlüssel
ist in einem Zertifikat enthalten, das von einer zentralen Lizensierungsadministration
(Bcert) signiert wurde. Daraufhin übermittelt, wie
in Verarbeitungsblock 420 gezeigt, die ASAÖS-Empfangseinheit 308 an
die ASAÖS-Sendeeinheit 306 die
signierten aneinandergehängten
Werte, den zweiten gemeinsamen öffentlichen
Wert (Yb) und das Zertifikat (Bcert),
und diese werden, wie in Verarbeitungsblock 422 gezeigt,
von der ASAÖS-Sendeeinheit 306 empfangen.
Weitere, die ASAÖS-Sendeeinheit 306 betreffende
Methodik folgt weiter unten. Außerdem
nutzt die ASAÖS-Empfangseinheit 308, wie
in Verarbeitungsblock 416 gezeigt, den ersten gemeinsamen öffentlichen
Wert (Ya) und den zweiten geheimen Wert
(Xb), um gemäß dem Diffie-Hellman-Algorithmus
einen ersten gemeinsamen geheimen Wert (Xab)
zu berechnen (Xab = Ya Xb mod p).
-
Weiter
wird wieder der Verarbeitungsblock 422 betrachtet. Nachdem
die ASAÖS-Sendeeinheit 306 die
signierten aneinandergehängten
Werte, den zweiten gemeinsamen öffentlichen
Wert (Yb) und das Zertifikat (Bcert)
empfangen hat, überprüft bzw.
authentifiziert die ASAÖS-Sendeeinheit 306 in
Verarbeitungsblock 424 die aneinandergehängten Werte unter
Verwendung des öffentlichen
Schlüssels
und des Zertifikats (Bcert) und vergleicht
den Abschnitt der authentifizierten aneinandergehängten Werte,
der dem zweiten gemeinsamen Wert entspricht, mit dem empfangenen
zweiten gemeinsamen Wert (Yb). Bei Übereinstimmung
nutzt die ASAÖS-Sendeeinheit 306,
wie in Verarbeitungsblock 426 gezeigt, den authentifizierten
zweiten gemeinsamen öffentlichen Wert
und den ersten geheimen Wert (Xa), um gemäß dem Diffie-Hellman-Algorithmus
einen zweiten gemeinsamen geheimen Wert (Xba)
zu berechnen (Xba = Yb Xa mod p), dessen Wert mit dem ersten gemeinsamen
geheimen Wert (Xab) übereinstimmt. Schließlich integrieren
die ASANÖS-Sendeeinheit 310 und
die ASANÖS-Empfangseinheit 312,
wie in Verarbeitungsblock 430 gezeigt, den übereinstimmenden
gemeinsamen geheimen Wert (Xab = Xba) in den ASANÖS-Authentifizierungsprozeß.
-
Gemäß einer
obenerwähnten
Ausführungsform
der Erfindung kann der übereinstimmende
gemeinsame geheime Wert auf einen Nonce-Wert im ASANÖS-Authentifizierungsprotokoll
angewendet werden. In einer Ausführungsform
der Erfindung kann es sich bei dem ASANÖS-Protokoll um das HDCP-Protokoll handeln.
Das HDCP-Protokoll benutzt bei seinem Authentifizierungsprozeß zum Verschlüsseln der
ausgetauschten Schlüssel
einen Nonce-Wert (An). Da es sich bei dem
HDCP-Protokoll um ein ASANÖS-Protokoll
handelt, wird der Nonce-Wert (An) mit einem
geringeren Grad an Sicherheit abgeleitet. Sofern jedoch der gemeinsame
geheime Wert gemäß der in 4 beschriebenen
Methode abgeleitet wird, kann der gemeinsame geheime Wert den Nonce-Wert
(An) ersetzen oder in einer anderen Weise
auf diesen angewendet werden. Zum Beispiel kann in einer Ausführungsform
der Erfindung der gemeinsame geheime Wert über eine One-Time-Pad-Verschlüsselung,
welche eine exklusive ODER-Operation nutzt, auf den HDCP-Nonce-Wert (An) angewendet werden.
-
Außerdem kann,
je nach dem verwendeten ASANÖS-Protokoll,
möglicherweise
nicht der gesamte gemeinsame geheime Wert notwendig sein, sondern
nur eine gekürzte
Version des gemeinsamen geheimen Werts. Wenn beispielsweise der
Nonce-Wert (An) der HDCP-Authentifizierung ein 64-Bit-Wert ist,
kann die ASAÖS-Sendeeinheit 306 den
gemeinsamen geheimen Wert auf die ersten 64 Bits kürzen und
zur Verwendung bei der HDCP-Authentifizierung
nur diesen Abschnitt des zweiten gemeinsamen geheimen Werts an die
ASANÖS-Sendeeinheit 310 übermitteln.
Desgleichen kann die ASAÖS-Empfangseinheit 308 den
ersten gemeinsamen geheimen Wert auf die ersten 64 Bits kürzen und zur
Verwendung bei der HDCP-Authentifizierung nur diesen Abschnitt des
ersten gemeinsamen geheimen Werts an die ASANÖS-Empfangseinheit 312 übermitteln.
Sofern andere Versionen von HDCP einen Nonce-Wert mit einer anderen
Bitgröße als 64
Bit nutzen, können
die ASAÖS-Einheiten 306 und 308 die
gleichwertigen gemeinsamen geheimen Werte statt dessen auf die notwendige
Anzahl von Bits kürzen.
-
5 ist
ein Ablaufdiagramm, das ein Verfahren 500 zum Integrieren
des gemeinsamen geheimen Werts in ein HDCP-Authentifizierungsprotokoll beschreibt.
Weiter wird auf 5 Bezug genommen. Das Verfahren
beginnt bei Verarbeitungsblock 502 damit, daß die ASAÖS-Einheiten 306 und 308 den gemeinsamen
geheimen Wert auf die Bitgröße des HDCP-Nonce-Werts (An)
kürzen.
Zum Beispiel können
die ASAÖS-Einheiten 310 und 312 dazu
programmiert sein, zu erkennen, daß die ASANÖS-Einheiten 310 und 312 ein
HDCP-Protokoll mit einem 64-Bit-Nonce
einsetzen. Folglich kürzen
die ASAÖS-Einheiten 310 und 312 den
gemeinsamen geheimen Wert auf die ersten 64 Bits und erzeugen einen gekürzten gemeinsamen
geheimen Wert (Am). Wie in Verarbeitungsblock 504 gezeigt,
fängt dann
die ASAÖS-Sendeeinheit 306 den
Nonce (An) ab, wenn die ASANÖS-Sendeeinheit 310 mit
der Authentifizierung beginnt, und verknüpft den HDCP-Nonce (An) durch exklusives ODER mit dem gekürzten gemeinsamen Geheimnis
(Am) und erzeugt so einen verschlüsselten
Nonce (Amn). Als nächstes übermittelt die ASAÖS-Sendeeinheit 306,
wie in Verarbeitungsblock 506 gezeigt, den verschlüsselten
Nonce (Amn) an das Empfangsgerät 304,
und die ASAÖS-Empfangseinheit 308 fängt den
verschlüsselten
Nonce (Amn) ab. Daraufhin verschlüsselt die
ASAÖS-Empfangseinheit 308,
wie in Verarbeitungsblock 508 gezeigt, den verschlüsselten
Nonce (Amn), indem sie ihn durch exklusives
ODER mit dem gekürzten
gemeinsamen geheimen Wert (Am) verknüpft und
so den ursprünglichen
HDCP-Nonce-Wert (An) ableitet. Daraufhin übermittelt
die ASAÖS-Empfangseinheit 308,
wie in Verarbeitungsblock 510 gezeigt, den ursprünglichen Nonce-Wert
(An), sobald dieser abgeleitet ist, an die ASANÖS-Empfangseinheit 312,
die den Nonce (An) bei der Authentifizierung
nutzt.
-
Somit
ist mindestens eine Ausführungsform der
Erfindung beschrieben worden, bei der ein ASAÖS-Protokoll zusammen mit einem
ASANÖS-Protokoll
genutzt wird, um die Sicherheit des ASANÖS-Protokolls zu erweitern.
Es ist jedoch in anderen Ausführungsformen
der Erfindung ebenso gut möglich,
ein ASAÖS-Protokoll
auf ein älteres
ASAÖS-Protokoll
aufzusetzen, um so das ältere
ASAÖS-Protokoll
mit zusätzlicher
Sicherheit zu versehen.
-
6 zeigt
ein Blockdiagramm, das ein System veranschaulicht, das eine Vorrichtung
zum Verbessern der Authentifizierung in einem kryptographischen
System gemäß einer
Ausführungsform
der Erfindung umfaßt.
Der Videosender 610 ist mit dem Videozwischenverstärker 620 verbunden.
Der Videozwischenverstärker 620 ist
mit den Videoempfängern 630, 640 und 650 verbunden.
Der Videosender 620 ist außerdem mit dem Videozwischenverstärker 660 verbunden.
Der Videozwischenverstärker 660 ist
mit den Videoempfängern 670 und 680 verbunden.
-
Der
Videosender 610 umfaßt
die Sendeeinheit 110. Die Videoempfänger 630, 640, 650, 670 und 680 umfassen
die Empfangseinheit 120. Die Videozwischenverstärker 620 und 660 umfassen
die Empfangseinheit 120 und die Sendeeinheit 110.
-
In
unterschiedlichen Ausführungsformen können der
Videosender 610 und/oder die Videoempfänger 630, 640, 650, 670 und/oder 680 und/oder
die Videozwischenverstärker 620 und/oder 660 jeweils
Fernseher, Videorekorder, DVD-Spieler, Computer, Monitore, Set-Top-Boxen, Graphikkarten, Kinoausrüstung usw.
umfassen. Es ist offensichtlich, daß das obige System auch zur
Funktion mit Audiosignalen und -geräten ebenso wie zur Funktion
mit Videosignalen und -geräten
oder mit anderen Arten von Daten sowie Geräten, die diese Datenarten benutzen,
abgewandelt werden kann. Offenkundig sind unterschiedliche topographische
Ausrichtungen in derartigen Systemen genauso möglich wie unterschiedliche
Geräteanzahlen.
-
Das
obenstehend beschriebene Verfahren kann als auszuführende Anweisungsfolgen
im Speicher eines Computersystems (z.B. einer Set-Top-Box, einem
Videorekorder usw.) abgelegt werden. Außerdem könnten die Anweisungen zur Ausführung des
obenstehend beschriebenen Verfahrens ersatzweise auch auf anderen
Arten von maschinenlesbaren Medien, darunter etwa Magnetplatten
und optische Speicherplatten, abgelegt werden. Zum Beispiel könnte ein
Verfahren gemäß einer
Ausführungsform
der Erfindung auf maschinenlesbaren Medien, etwa auf Magnetplatten
oder optischen Speicherplatten, gespeichert sein, auf welche über ein
Plattenlaufwerk (oder ein Laufwerk für computerlesbare Medien) zugegriffen
werden kann. Weiterhin können
die Anweisungen in Form einer kompilierten und gebundenen Version über ein
Datennetz auf ein Rechengerät
heruntergeladen werden.
-
Ersatzweise
könnte
die Logik zur Ausführung
der obenstehend behandelten Verfahren in weiteren computer- und/oder
maschinenlesbaren Medien implementiert werden, so etwa in diskreten
Hardwarekomponenten, wie z.B. hochintegrierte Schaltkreise (LSI),
anwendungsspezifische integrierte Schaltkreise (ASIC), Firmware,
wie z.B. elektrisch löschbare
programmierbare Festwertspeicher (EEPROM) und in elektrischen, optischen,
akustischen und anderen Formen von sich ausbreitenden Signalen (z.B.
Trägerwellen,
Infrarotsignale, digitale Signale usw.) usw.
-
Obwohl
spezifische Ausführungsbeispiele der
vorliegenden Erfindung beschrieben worden sind, ist es offenkundig,
daß vielfältige Abwandlungen
und Änderungen
an diesen Ausführungsformen vorgenommen
werden können,
ohne von dem wesentlichen Gedanken und dem Umfang der Erfindung abzuweichen.
Dementsprechend sind die Patentschrift und die Zeichnungen in einem
veranschaulichenden und nicht in einem einschränkenden Sinne zu verstehen.
-
ZUSAMMENFASSUNG
-
In
einem kryptographischen System wird ein Nonce aus einem Datenübertragungsstrom
entfernt. Der Nonce wird auf Basis eines geteilten Geheimnisses
verschlüsselt.
Der verschlüsselte
Nonce wird in den Datenübertragungsstrom
eingefügt.
Der verschlüsselte
Nonce wird aus dem Datenübertragungsstrom
entfernt. Der verschlüsselte
Nonce wird auf Basis des von einem authentifizierten Schlüsselaustausch
gebildeten gemeinsamen Geheimnisses entschlüsselt. Der entschlüsselte Nonce
wird in den Datenübertragungsstrom
eingefügt.
Bei dem Nonce kann es sich um einen von einer HDCP-Funktion erzeugten
An-Wert handeln. Der authentifizierte Schlüsselaustausch
kann einen Diffie-Hellman-Schlüsselaustausch
benutzen.