-
Stand der Technik
-
Digitale
Signaturen werden in IT-Systemen und in embedded devices zur Erreichung
folgender Sicherheitsziele eingesetzt:
Integrität:
Absichtliche Modifikationen signierter Daten werden mit Sicherheit
erkannt, d. h. die Daten und die zugehörige Signatur kann
nicht verändert werden, ohne dass diese Veränderung
bei einer Signaturprüfung auffällt.
-
Authentizität:
Nur ein Unterzeichner der Daten (Absender) ist in der Lage eine
korrekte Signatur zu erzeugen, d. h. niemand außer dem
Absender selbst kann sich erfolgreich als Unterzeichner der Daten
ausgeben.
-
Nicht-Abstreitbarkeit:
Der Unterzeichner kann eine einmal getätigte Signatur nicht
nachträglich abstreiten, d. h. jede Signatur kann eindeutig
einem bestimmten Unterzeichner zugeordnet werden.
-
Typischer
Weise werden zur Erreichung dieser Sicherheitsziele so genannte
Public-Key-Verfahren angewendet. Dabei besitzt jeder Teilnehmer
A eines Kommunikationssystems ein Signaturschlüsselpaar
bestehend aus privatem Signaturschlüssel und öffentlichem
Signaturprüfschlüssel. Die Schlüsselpaare
für die einzelnen Teilnehmer werden in geschützter
Umgebung beispielsweise einem Trustcenter erzeugt. Anschließend
wird der für einen bestimmten Teilnehmer vorgesehene private
Signaturschlüssel an den entsprechenden Teilnehmer ausgegeben.
Der öffentliche Signaturprüfschlüssel
wird allen Teilnehmern des Kommunikationssystems öffentlich
zugängig gemacht.
-
Zur
Signierung einer Botschaft wird typischer Weise eine geeignete Hashfunktion
angewendet, die die Daten auf einen Hashwert mit fester kurzer Länge typischer
Weise 160 Bit reduziert. Dieser Hashwert wird anschließend
mit dem privaten Signaturschlüssel mittels eines geeigneten
Verschlüsselungsverfahrens, dem Signaturalgorithmus, unterschrieben.
Zum Erzeugen des Hashwerts wird beispielsweise eine SHA1-Summe aus
den Daten erzeugt. Zur Verschlüsselung wird beispielsweise
die so genannte RSA-Verschlüsselung gewählt. Als
Ergebnis des Signiervorgangs erhält man eine digitale Signatur,
deren Länge von der gewählten Schlüssellänge
abhängig ist.
-
Der
Empfänger der Nachricht bzw. der Daten wendet erneut dieselbe
Hashfunktion an und prüft mittels einer authentischen Kopie
des öffentlichen Signaturprüfschlüssels
des Senders die Gültigkeit der digitalen Signatur. Zur
Prüfung der Signatur kommt als Verifizieralgorithmus ebenfalls
beispielsweise der RSA-Algorithmus zur Anwendung. Wenn der Verifizieralgorithmus
die Gültigkeit der Signatur bestätigt, ist die
Integrität und Authentizität sowie die Nichtabstreitbarkeit
des Signaturvorgangs der Daten sichergestellt, da niemand anders
als der Besitzer des privaten Signaturschlüssels die Signatur
erzeugt haben kann und jede Veränderung der Daten zu einer
veränderten Signatur führt.
-
Um
sicherzustellen, dass der öffentliche Signaturprüfschlüssel
authentisch ist, wird der öffentliche Signaturprüfschlüssel
beispielsweise von dem Trustcenter unterschrieben. Jeder Teilnehmer
des Kommunikationssystems erhält außerdem zusätzlich zum
privaten Signaturschlüssel ein Zertifikat des Trustcenters.
Dieses Zertifikat wird dazu verwendet, um die Authentizität
eines beliebigen öffentlichen Signaturprüfschlüssels
zu verifizieren.
-
Steuergeräte
wie sie typischer Weise in Kraftfahrzeugen zum Einsatz können,
bieten die Möglichkeit Daten von außen in das
Steuergerät einzuspielen, d. h. in einem in dem Steuergerät
vorgesehenen Speicher abzuspeichern. Um die Abspeicherung von Daten
in dem Speicher des Steuergeräts nur autorisierten Per sonen
zugängig zu machen, werden dazu beispielsweise kryptographische
Verfahren eingesetzt.
-
Will
ein Teilnehmer Daten in dem Steuergerät abspeichern, so
signiert er diese Daten zuerst mit seinem privaten Signaturschlüssel.
Anschließend wird im Steuergerät geprüft,
ob die Daten von einem berechtigten Teilnehmer signiert wurden.
Die Daten werden nur dann im Speicher des Steuergeräts
abgespeichert, wenn es sich bei der Signatur um die Signatur eines
berechtigten Teilnehmers handelt. Dies bedeutet aber auch, dass
in dem Steuergerät der öffentliche Signaturprüfschlüssel
jedes berechtigten Teilnehmers verfügbar sein muss, um
die Signaturen aller möglichen Teilnehmer verifizieren
zu können.
-
Offenbarung der Erfindung
-
Vorteile der Erfindung
-
Die
erfindungsgemäße Vorrichtung und das erfindungsgemäße
Verfahren, Computerprogramm, Computerprogrammprodukt mit den Merkmalen
der unabhängigen Ansprüche hat demgegenüber
den Vorteil, dass vorgegebene Daten (m) in einem ersten Speicher
in einem Steuergerät abgespeichert werden, wobei die Daten
von einem Teilnehmer aus einer an einem Signierverfahren teilnehmenden
Gruppe von Teilnehmern mittels einer Signatur unterschrieben werden,
wobei die Signatur abhängig von einem dem Teilnehmer zugeordneten
ersten Schlüssel erzeugt wird, wobei die Signatur in einem
zweiten Speicher im Steuergerät abgespeichert wird, wobei vor
der Verwendung der Daten mittels eines zweiten Schlüssels
geprüft wird, ob die vorgegebene Signatur von einem der
Teilnehmer aus der Gruppe von Teilnehmern erzeugt wurde, und wobei
die Signatur eine zur Entschlüsselung mittels eines dritten
Schlüssels verschlüsselte, die Identität
des unterschreibenden Teilnehmers charakterisierende Größe
enthält.
-
Dadurch
lässt sich die Authentizität einer Signatur eines
beliebigen Teilnehmers mittels genau eines öffentlichen
Signaturprüfschlüssels überprüfen, wobei
gleichzeitig die Sicherheitsziele Integrität, Authentizität
und Nicht-Abstreitbarkeit erreicht werden. Dazu sind in dem Steuergerät
abzuspeichernde Daten mittels ei ner Signatur unterschrieben. Die
Signatur wird mittels eines Gruppen-Signaturverfahren hergestellt,
bei dem jedem Teilnehmer aus einer Gruppe von Teilnehmern am Gruppen-Signaturverfahren
genau ein geheimer privater Schlüssel zur Erzeugung der
Signatur zur Verfügung steht. Dazu erhält jeder
Teilnehmer am Gruppen-Signaturverfahren beispielsweise einen privaten
geheimen Schlüssel und in verschlüsselter für
den Teilnehmer selbst nicht lesbarer Form Informationen über
sich, als den Urheber der Signatur. Die für den Teilnehmer
selbst nicht lesbare Information ist mittels eines geheimen Schlüssels
eines Gruppenmanagers verschlüsselt. Diese Information
wird durch den Gruppenmanager nur im Fall von Streitigkeiten zur
Aufdeckung der Identität des Teilnehmers benutzt. Die Signatur
wird aufgrund des privaten geheimen Schlüssels, der verschlüsselten
Urheberinformation und der Daten selbst erzeugt. Damit ist die Signatur
somit zum einen eindeutig einem Teilnehmer am Gruppen-Signaturverfahren
als Urheber zugeordnet. Zum anderen ist die Signatur auch den unterschriebenen
Daten eindeutig zugeordnet.
-
Mittels
des genannten Gruppen-Signaturverfahren lassen sich anschließend
alle Signaturen die von einem beliebigen zur Gruppe der Teilnehmer
am Gruppen-Signaturverfahren gehörenden Teilnehmer erzeugt
wurden, mittels des gleichen öffentlichen Signaturprüfschlüssels
verifizieren. Daher wird nur ein öffentlicher Signaturprüfschlüssel
benötigt. Das gilt auch dann, wenn neue Teilnehmer zur
Gruppe hinzukommen, nachdem der Signaturprüfschlüssel
hergestellt wurde. Im Steuergerät wird der öffentliche
Signaturprüfschlüssel beispielsweise bei der Herstellung des
Steuergeräts in einem nur lesbaren Speicher abgespeichert.
Dann wird mittels des öffentlichen Signaturprüfschlüssels
geprüft, ob die Signatur mit der die abzuspeichernden Daten
unterschrieben sind, tatsächlich zu einem Teilnehmer aus
der Gruppe der Teilnehmer am Gruppen-Signaturverfahren stammt. Falls
dies der Fall ist, kann mit hoher Wahrscheinlichkeit ausgeschlossen
werden, dass es sich um eine Manipulation durch einen unberechtigten
Dritten handelt.
-
Durch
die in den abhängigen Ansprüchen aufgeführten
Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen
der in den unabhängigen Ansprüchen angegebenen
Vorrichtung, des Verfahrens, Computerprogramms und Computerprogrammprodukts
möglich.
-
Besonders
vorteilhaft ist es, wenn die Prüfung in einem Rechner im
Steuergerät selbst durchgeführt wird. Damit wird
nach einem Eingriff von außerhalb des Steuergeräts
ein maximaler Schutz der Daten ohne externe Testgeräte
möglich.
-
Besonders
vorteilhaft ist es, wenn ein Programm das zur Prüfung auf
dem Rechner im Steuergerät selbst abläuft in einem
vor Manipulation geschützten dritten Speicher im Steuergerät
abgespeichert ist. Dadurch kann die Prüfung der Daten mit
einem Programm im Steuergerät durchgeführt werden, das
beispielsweise durch die Art der Verbauung und des gewählten
Speichers vor Manipulation geschützt ist. Dies erhöht
den Schutz der Daten im ersten Speicher und der Signatur im zweiten
Speicher vor Manipulation. Die Verbauung wird beispielsweise so
gewählt, dass ein Versuch die Daten im dritten Speicher zu
verändern unweigerlich zur Zerstörung des dritten Speichers
führt.
-
Besonders
vorteilhaft ist es, wenn die Prüfung in einem Rechner außerhalb
des Steuergeräts selbst durchgeführt wird. Dadurch
können die Daten und die Signatur auch in einer Werkstatt
außerhalb des Steuergeräts überprüft
werden. So kann beispielsweise eine bereits erfolgte Manipulation
nachgewiesen werden.
-
Besonders
vorteilhaft ist es, wenn die Daten im Steuergerät nur dann
verwendet werden, wenn die Prüfung der vorgegebenen Signatur
ergibt, dass die Daten von einem der Teilnehmer aus der Gruppe der
Teilnehmer erzeugt wurden. Dadurch werden nur Daten akzeptiert die
von einer vorher bestimmten Gruppe autorisierter Teilnehmer erzeugt
wurden.
-
Besonders
vorteilhaft ist es, wenn die Signatur abhängig von den
Daten und dem ersten Schlüssel ermittelt wird, wobei der
erste Schlüssel abhängig von einer vorgegebenen
Anzahl der Teilnehmer und einer vorgegebenen Schlüssellänge
ermittelt wird. Dadurch kommen erprobte und effiziente Algorithmen
zum Einsatz, die einen sicheren Schutz der Daten und eine schnelle
rechenzeitoptimale Berechnung gewährleisten.
-
Besonders
vorteilhaft ist es, wenn jedem Teilnehmer aus einer Gruppe von Teilnehmern
genau ein erster Schlüssel zugeordnet wird. Dadurch wird
sicherge stellt, dass eindeutig festgestellt werden kann, welcher
der Teilnehmer eine Signatur erzeugt hat. Da die Daten im Steuergerät
nur dann akzeptiert werden, wenn die Signatur im Speicher des Steuergeräts zu
den Daten passt, kann so im Schadensfall durch Auslesen der Signatur
aus dem Steuergerät der Teilnehmer, oder die im Steuergerät
enthaltenen Daten unterschrieben hat, eindeutig bestimmt werden.
-
Besonders
vorteilhaft ist es, wenn die Prüfung, ob die Signatur von
einem der Teilnehmer aus der Gruppe der Teilnehmer erzeugt wurde,
abhängig von einem vorgegebenen zweiten Schlüssel
erfolgt. Durch die Verwendung des zweiten Schlüssels wird verhindert,
dass die persönliche Information über den Teilnehmer,
der die Signatur erzeugt hat, entschlüsselt wird. Mit dem
zweiten Schlüssel ist eine Entschlüsselung dieser
Information nicht möglich.
-
Besonders
vorteilhaft ist es, wenn mittels des zweiten Schlüssels
nur überprüft wird, ob die Signatur von einem
der Teilnehmer aus der Gruppe der Teilnehmer erzeugt wurde. Dadurch
wird zuverlässig geprüft, ob ein autorisierter
Teilnehmer die Daten im Steuergerät unterschrieben hat.
Weiter bleibt die Information über den Teilnehmer, der
die Daten unterschrieben hat, geheim. Vorteilhafter Weise wird so
für die Überprüfung und Verifikation
der Signaturen aller am Signaturverfahren teilnehmenden Teilnehmer
nur ein öffentliches Gruppenzertifikat bzw. ein öffentlicher Gruppenschlüssel
und ein Trustcenter-Zertifikat benötigt. Dies spart Rechner-Ressourcen
und Kosten gegenüber einem Verfahren bei dem für
M Teilnehmer mit M Signaturen auch M Zertifikate bzw. öffentliche
Schlüssel geprüft und ggf. abgespeichert werden
müssen.
-
Besonders
vorteilhaft ist es, wenn die Entschlüsselung der in der
Signatur enthaltenen verschlüsselten Information mittels
eines vorgegebenen dritten Schlüssels abhängig
von den Daten und der Signatur erfolgt. Dadurch kann die Identität
des Teilnehmers, der die Daten unterschrieben hat, sicher ermittelt
werden. Dies ist beispielsweise in einem Schadensfall wichtig, um
den Verursacher eindeutig identifizieren zu können.
-
Besonders
vorteilhaft ist es, wenn die in der Signatur enthaltene, die Identität
des Teilnehmers charakterisierende Größe eine
Information über den ersten Schlüssel, der erste
Schlüssel selbst, oder der Teilnehmer selbst ist. Dadurch
wird das Verfahren auf unterschiedliche und flexible Weise an die
Bedürfnisse der Benutzer angepasst.
-
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden
Beschreibung näher erläutert. Es zeigen:
-
1 schematisch
den Aufbau einer Signaturschlüsselerzeugungseinrichtung,
-
2 schematisch
den Aufbau einer Signaturerstellungseinrichtung,
-
3 schematisch
den Aufbau einer Signaturprüfeinrichtung,
-
4 schematisch
den Aufbau einer Einrichtung zur Aufdeckung der Identität,
-
5 einen
ersten Ablaufplan
-
6 einen
zweiten Ablaufplan
-
7 einen
dritten Ablaufplan
-
Ausführungsformen
der Erfindung
-
In 1 ist
eine Signaturschlüsselerzeugungseinrichtung beispielsweise
ein Arbeitsplatzrechner dargestellt und mit 100 bezeichnet.
Die Signaturschlüsseler zeugungseinrichtung ist Teil einer
sicheren Umgebung, beispielsweise eines Trustcenters.
-
Die
Signaturschlüsselerzeugungseinrichtung 100 umfasst
eine erste Vorgabeeinrichtung 101, die eine Schlüssellänge
k vorgibt. Weiter umfasst die Signaturschlüsselerzeugungseinrichtung 100 eine zweite
Vorgabeeinrichtung 102, die eine Anzahl n der Teilnehmer
an einem Gruppensignaturschema vorgibt.
-
Eine
ebenfalls in der Signaturschlüsselerzeugungseinrichtung
vorgesehene dritte Vorgabeeinrichtung 105 erzeugt abhängig
von der Schlüssellänge k sowie der Anzahl n der
Teilnehmer an dem Gruppensignaturschema mittels eines sogenannten Group
Key Generation Algorithmus folgende Größen:
- – ein einziger öffentlicher
Gruppenschlüssel gpk,
- – ein einziger geheimer Gruppenmanagerschlüssel
gmsk,
- – n geheime Gruppensignaturschlüssel gsk_i
= gsk_1...gsk_n.
-
Als
Group Key Generation Algorithmus werden beispielsweise die von Ateniese
et. al., Bellare et. al. oder Boneh
et. al. beschriebenen Algorithmen verwendet.
- – Giuseppe
Ateniese, Jan Camenisch, Marc Joye, and Gene Tsudik. A practical
and provably secure coalition-resistant group signature scheme.
In volume 2656 of Lecture Notes in Computer Science, pages 614–629.
Springer, 2003.
- – Mihir Bellare, Daniele Micciancio, and Bogdan
Warinschi. Foundations of group signatures: Formal definitions,
simplified requirements, and a construction based an general assumptions.
In Eli Biham, editor, Proceedings of Eurocrypt '03,
- – Dan Boneh, Xavier Boyen, and Hovav Shacham. Short
group signatures. In Matthew K. Franklin, editor, Advances in Cryptology – CRYPTO
2004, number 3152 in Lecture Notes in Computer Science, pages 41–55.
Springer-Verlag, 2004.
-
Die
geheimen Gruppensignaturschlüssel gsk_i werden beispielsweise
in Form von Chipkarten an die n Teilnehmer am Gruppensignaturverfahren ausgegeben.
Die Chipkarten werden beispielsweise mittels eines Chipkartenschreibers,
der mit dem Arbeitsplatzrechner verbunden ist, erzeugt.
-
Der öffentliche
Gruppenschlüssel gpk wird vom Trustcenter in bekannter
Weise mit der Signatur des Trustcenters unterschrieben. Das so entstehende
Gruppenzertifikat wird in bekannter Weise beispielsweise auf einem
Internet-Server des Trustcenters veröffentlicht.
-
Der
geheime Gruppenmanagerschlüssel gmsk wird beispielsweise
ebenfalls auf einer Chipkarte gespeichert und verbleibt beim Gruppenmanager.
Der Gruppenmanager hält den Gruppenmanagerschlüssel
geheim.
-
In 2 ist
eine Signaturerstellungseinrichtung dargestellt und mit 200 bezeichnet.
Die Signaturerstellungseinrichtung umfasst eine vierte Vorgabeeinrichtung 201,
die Daten m vorgibt. Die Daten m sind beispielsweise von einem beliebigen
Mitglied i der Gruppe ausgewählte Nutzdaten, beispielsweise ein
Programm das zum Ablauf in einem Steuergerät vorgesehen
ist. Die vierte Vorgabeeinrichtung 201 ist beispielsweise
ein erster Speicher eines mobilen Rechners in dem die Daten m gespeichert
sind. Außerdem umfasst die Signaturerstellungseinrichtung 200 eine
fünfte Vorgabeeinheit 202, die den geheimen Gruppensignaturschlüssel
des Mitglieds i gsk_i vorgibt. Die fünfte Vorgabeeinheit 202 ist
beispielsweise die Chipkarte des Teilnehmers i, die an den mobilen
Rechner über einen Chipkartenleser angeschlossen ist.
-
Die
Signaturerstellungseinrichtung 200 umfasst zudem eine erste
Berechnungseinrichtung 203, die die Daten m und dem geheimen
Gruppensignaturschlüssel gsk_i des Teilnehmers i empfängt.
Die erste Berechnungseinrichtung 203 unterschreibt die Daten
m und liefern die Signatur σ_i. Dazu wird ein Group Signature
Generation Algorithmus benutzt, der zu dem jeweilig verwendeten
Group Key Generation Algorithmus passt. Dieser Algorithmus ist beispielsweise
in Ateniese et. al., Bellare et. al. oder Boneh
et. al. beschrieben.
-
Die
Signatur σ_i beinhaltet die Information über den
Teilnehmer i in verschlüsselter Form. Eine Eigenschaft
des Gruppensignaturalgorithmus ist, dass außer dem Gruppenmanager
kein Teilnehmer i in der Lage ist, aus der Signatur σ_i
auf den Unterzeichner also den Teilnehmer i zurückzuschließen. Lediglich
der Gruppenmanager kann beispielsweise im Streitfall mit einer passenden Öffnungsprozedur die
Identität des Unterzeichners, also des Teilnehmers i zweifelsfrei
aufdecken.
-
Die
Signatur σ_i und die Daten m werden wie in 2 dargestellt
von der ersten Berechnungseinrichtung 203 ausgegeben. Beispielsweise
werden die Daten m zusammen mit der Signatur σ_i über
eine Serielle Datenleitung von dem mobilen Rechner an das Steuergerät
beispielsweise in einem Kraftfahrzeug ausgegeben.
-
Das
Steuergerät ist so ausgestaltet, dass sowohl die Daten
m als auch die Signatur σ_i beispielsweise in einem zweiten
Speicher im Steuergerät abgespeichert werden.
-
In 3 ist
eine Signaturprüfeinrichtung dargestellt und mit 300 bezeichnet.
Die Signaturprüfeinrichtung 300 umfasst eine sechste
Vorgabeeinrichtung 301, die die Daten m vorgibt. Bei der
sechsten Vorgabeeinrichtung 301 handelt es sich beispielsweise
um den Speicher im Steuergerät. Zudem umfasst die Signaturprüfeinrichtung 300 eine
siebte Vorgabeeinrichtung 302, die die Signatur σ_i
vorgibt. Bei der siebten Vorgabeeinrichtung 302 handelt
es sich beispielsweise um den Speicher im Steuergerät.
-
Die
Signaturprüfeinrichtung 300 umfasst außerdem
eine achte Vorgabeeinrichtung 303, die den öffentlichen
Gruppenschlüssel gpk vorgibt. Die achte Vorgabeeinrichtung 303 ist
beispielsweise der Internet-Server des Trustcenters, der das Gruppenzertifikat,
das den öffentlichen Gruppenschlüssel gpk enthält
sendet.
-
Die
Daten m, die Signatur σ_i und der öffentliche
Gruppenschlüssel gpk werden wie in 3 dargestellt
an eine zweite Berechnungseinrichtung 304 übertragen.
Bei der zweiten Berechnungseinrichtung 304 handelt es sich
beispielsweise um den mobilen Rechner. Beispielsweise ist der Speicher
im Steuergerät zur Übertragung der Daten m und
der Signatur σ_i mit einer seriellen Datenleitung mit dem
mobilen Rechner verbunden. Der Internet-Server ist über
ein Computernetzwerk mit dem mobilen Rechner verbunden.
-
In
der zweiten Berechnungseinrichtung 304 ist eine Verifikationsprozedur
abgespeichert. Diese Verifikationsprozedur ist passend zum Group
Key Generation Algorithmus gewählt. Die Verifikationsprozedur
prüft beispielsweise in bekannter Weise zuerst, ob das
Gruppenzertifikat tatsächlich vom Trustcenter stammt. Dazu
wird typischerweise ein vom Trustcenter ausgegebenes Trustcenter-Zertifikat
verwendet, das in der Signaturprüfeinrichtung 300 fest abgespeichert
ist.
-
Dann
prüft die Verifikationsprozedur mittels des öffentlichen
Gruppenschlüssels gpk und der Daten m, ob die Signatur σ_i
tatsächlich von einem Teilnehmer i der Gruppe geleistet
wurde. Gleichzeitig wird überprüft, ob die mit
der Signatur σ_i tatsächlich die Daten m unterschrieben
wurden. Der der Verifikationsprozedur zugrundeliegende Algorithmus
ist beispielsweise ebenfalls bei Ateniese et. al., Bellare
et. al. oder Boneh et. al. beschrieben.
-
Die
zweite Berechnungseinrichtung 304 beispielsweise ein Rechner
gibt das Ergebnis E der Überprüfung aus. Beispielsweise
handelt es sich bei den Daten m um ein Programm (Softwarestand)
der auf dem Steuergerät ablaufen soll. Beispielsweise wird
als Ergebnis „Softwarestand unverfälscht” an
einem Bildschirm des mobilen Rechners angezeigt, wenn die Überprüfung
ergibt, dass Signatur σ_i von einem Teilnehmer i der Gruppe
erzeugt wurde. Anderenfalls wird das Ergebnis „Softwarestand
verfälscht” ausgegeben. Aufgrund der Eigenschaft
des Gruppensignaturverfahrens bedeutet das Ergebnis „Software
unverfälscht” dass ist die Herkunft der Daten
m, die in dem Steuergerät gespeichert sind, eindeutig auf
die Gruppe zurückzuführen sind. Die Identität
des Teilnehmers i kann ebenfalls aufgrund der Eigenschaft des Gruppensignaturverfahrens
nicht mittels des öffentlichen Gruppenschlüssels
ermittelt werden. Diese persönlichen Daten des Teilnehmers
i sind somit vom Zugriff durch andere Teilnehmer als den Gruppenmanager
geschützt.
-
Vorteilhafter
Weise wird so für die Überprüfung und
Verifikation der Signaturen σ_i aller am Signaturverfahren
teilnehmenden Teilnehmer i nur ein öffentliches Gruppenzertifikat
bzw. ein öffentlicher Gruppenschlüssel und ein
Trustcenter- Zertifikat in der Berechnungseinrichtung 304 benötigt.
Dies spart Rechner-Ressourcen und Kosten gegenüber einem Verfahren
bei dem für M Teilnehmer mit M Signaturen auch M Zertifikate
bzw. öffentliche Schlüssel geprüft und
ggf. abgespeichert werden müssen.
-
In 4 ist
eine Einrichtung zur Aufdeckung der Identität dargestellt
und mit 400 bezeichnet. Die Einrichtung zur Aufdeckung
der Identität 400 umfasst eine neunte Vorgabeeinrichtung 401,
die die Daten m vorgibt. Bei der neunten Vorgabeeinrichtung 401 handelt
es sich beispielsweise um den Speicher im Steuergerät.
Zudem umfasst die Einrichtung zur Aufdeckung der Identität 400 eine
zehnte Vorgabeeinrichtung 402, die die Signatur σ_i
vorgibt. Bei der zehnten Vorgabeeinrichtung 302 handelt
es sich beispielsweise um den Speicher im Steuergerät.
-
Die
Einrichtung zur Aufdeckung der Identität 400 umfasst
außerdem eine elfte Vorgabeeinrichtung 403, die
den geheimen Gruppenmanagerschlüssel gmsk vorgibt. Die
elfte Vorgabeeinrichtung 403 ist beispielsweise ein Chipkartenleser,
der die Chipkarte des Gruppenmanagers ausliest.
-
Die
Daten m, die Signatur σ_i und der geheime Gruppenmanagerschlüssel
gmsk werden wie in 4 dargestellt an eine dritte
Berechnungseinrichtung 404 übertragen. Bei der
dritten Berechnungseinrichtung 404 handelt es sich beispielsweise
um den mobilen Rechner. Beispielsweise ist der Speicher im Steuergerät
zur Übertragung der Daten m und der Signatur σ_i
mit einer seriellen Datenleitung mit dem mobilen Rechner verbunden.
Der Chipkartenleser ist beispielsweise ebenfalls mit dem mobilen
Rechner verbunden.
-
In
der dritten Berechnungseinrichtung 404 ist eine Öffnungsprozedur
abgespeichert. Diese Öffnungsprozedur ist passend zum Group
Key Generation Algorithmus so gewählt, dass sie zur Entschlüsselung
der Information über den Teilnehmer i geeignet ist. Der
der Öffnungsprozedur zugrundeliegende Algorithmus ist beispielsweise
ebenfalls bei Ateniese et. al., Bellare
et. al. oder Boneh et. al. beschrieben.
-
Die
dritte Berechnungseinrichtung 404 öffnet die Signatur σ_i
und gibt die Identität des Teilnehmers i aus. Beispielsweise
wird die Identität des Teilnehmers i an einem Bildschirm
des mobilen Rechners angezeigt.
-
Damit
wird die Herkunft der Daten m, die in dem Steuergerät gespeichert
sind eindeutig nachgewiesen. Gleichzeitig wird verhindert, dass
ein anderer Teilnehmer als der Gruppenmanager diese Information
auslesen kann.
-
Die
erfindungsgemäße Vorrichtung, das erfindungsgemäße
Verfahren sind jedoch nicht auf die bei in Ateniese et.
al., Bellare et. al. oder Boneh
et. al. beschriebenen Gruppensignaturaltorithmen beschränkt.
-
Das
Verfahren zur Erzeugung der Signatur σi ist
in 5 dargestellt und im Folgenden beschrieben.
-
Das
Verfahren wird gestartet, wenn ein Benutzer des Steuergeräts
Daten m zur Verwendung im Steuergerät unterschreiben möchte.
Dazu wird das Verfahren beispielsweise in einem Computerprogramm
dargestellt, das in einem Arbeitsplatzrechner beispielsweise einem
PC ausgeführt wird.
-
Nach
dem Start des Verfahrens wird ein Schritt 501 ausgeführt.
-
Beim
Schritt 501 werden die Daten m vorgegeben. Anschließend
wird das Verfahren bei einem Schritt 502 fortgesetzt.
-
Beim
Schritt 502 wird der zweite Schlüssel gsk_i, also
der private Signaturschlüssel vorgegeben. Anschließend
wird das Verfahren bei einem Schritt 503 fortgesetzt.
-
Beim
Schritt 503 wird die Signatur σ_i gemäß dem
bekannten Gruppen-Signaturverfahren ermittelt. Anschließend
wird das Verfahren bei einem Schritt 504 fortgesetzt.
-
Beim
Schritt 504 werden die Signatur σ_i und die Daten
m ausgegeben. Beispielsweise werden die Daten m im ersten Speicher
und die die Signatur σ_i und im zweiten Speicher des Steuergeräts
abgespeichert.
-
In 6 ist
ein Ablaufdiagramm dargestellt, das beispielweise als Computerprogramm
realisiert und in dem Steuergerät in einem dritten Speicher
abgespeichert ist. Der dritte Speicher ist baulich vor Manipulation
geschützt und lässt sich nicht ohne Zerstörung
mit neuem Speicherinhalt füllen.
-
Wenn
ein Benutzer des Steuergeräts neue Daten m in dem Steuergerät
in den ersten Speicher abspeichern möchte, wird das im
Ablaufplan in 6 beschriebene Verfahren gestartet.
-
Nach
dem Start wird ein Schritt 601 ausgeführt.
-
Beim
Schritt 601 werden die Daten m und die erste Signatur σ_i
vorgegeben. Anschließend wird das Verfahren beim Schritt 602 fortgesetzt.
-
Beim
Schritt 602 wird abhängig vom zweiten Schlüssel
gpk und den Daten m mittels des Gruppensignaturalgorithmus geprüft,
ob die aus dem zweiten Schlüssel gpk und den Daten m bestimmte
Signatur mit der vorgegebenen Signatur σ_i übereinstimmt. Falls
die mit dem zweiten Schlüssel gpk und den Daten m vorgenommene
Signaturprüfung ergibt, dass die Signatur σ_i
gültig ist, wird das Verfahren bei einem Schritt 603 fortgesetzt.
Anderenfalls wird das Verfahren beendet.
-
Beim
Schritt 603 werden die Daten m im ersten Speicher und die
vorgegebene Signatur σ_i im zweiten Speicher abgespeichert
und das Verfahren beendet.
-
Zur
Ermittlung des Urhebers der in dem Steuergerät im ersten
Speicher abgespeicherten Daten m wird das in dem Ablaufplan aus 7 dargestellte
Verfahren gestartet. Nach dem Start wird ein Schritt 701 ausgeführt.
-
Beim
Schritt 701 werden die Daten m aus dem ersten Speicher
und die Signatur σ_i aus dem zweiten Speicher gelesen.
Anschließend wird ein Schritt 702 ausgeführt.
-
Beim
Schritt 702 wird der dritte Schlüssel gmsk vorgegeben.
Die Vorgabe des dritten Schlüssels gmsk erfolgt beispielsweise
mittels eines Wechselspeichers, beispielsweise einer Chipkarte.
Anschließend wird ein Schritt 703 ausgeführt.
-
Beim
Schritt 703 wird die Identität des Urhebers, also
eine den Urheber der ersten Signatur σ_i kennzeichnende
Größe ermittelt. Dazu wird der aus dem Gruppen-Signaturverfahren
bekannte Algorithmus eingesetzt. Anschließend wird das
Verfahren bei einem Schritt 704 fortgesetzt.
-
Beim
Schritt 704 wird die Identität des Urhebers der
Daten m, also des Teilnehmers i, der die Signatur σ_i erzeugt
hat, ausgegeben. Anschließend wird das Verfahren beendet.
-
Die
in den Ablaufplänen der 5, 6 und 7 dargestellten
Verfahren werden vorzugsweise als Computerprogramm realisiert und
beispielweise auf einem Computerprogrammprodukt, beispielsweise
einem Datenträger abgespeichert.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - Ateniese et.
al. [0035]
- - Bellare et. al. [0035]
- - Boneh et. al. [0035]
- - Giuseppe Ateniese, Jan Camenisch, Marc Joye, and Gene Tsudik.
A practical and provably secure coalition-resistant group signature
scheme. In volume 2656 of Lecture Notes in Computer Science, pages
614–629. Springer, 2003 [0035]
- - Mihir Bellare, Daniele Micciancio, and Bogdan Warinschi. Foundations
of group signatures: Formal definitions, simplified requirements,
and a construction based an general assumptions. In Eli Biham, editor,
Proceedings of Eurocrypt '03 [0035]
- - Dan Boneh, Xavier Boyen, and Hovav Shacham. Short group signatures.
In Matthew K. Franklin, editor, Advances in Cryptology – CRYPTO
2004, number 3152 in Lecture Notes in Computer Science, pages 41–55.
Springer-Verlag, 2004 [0035]
- - Ateniese et. al. [0040]
- - Bellare et. al. [0040]
- - Boneh et. al. [0040]
- - Ateniese et. al. [0048]
- - Bellare et. al. [0048]
- - Boneh et. al. [0048]
- - Ateniese et. al. [0054]
- - Bellare et. al. [0054]
- - Boneh et. al. [0054]
- - Ateniese et. al. [0057]
- - Bellare et. al. [0057]
- - Boneh et. al. [0057]