-
Die
Erfindung betrifft ein Verfahren zur Verschlüsselung von Daten und ein geeignetes
System hierfür.
-
Die
Sicherheit und die Zugriffsrechte auf bestimmte Datenverarbeitungssysteme
spielt bei den heutigen Datenmengen bzw. Dateninformationen, die
verarbeitet werden müssen,
eine immer größere Rolle,
wobei für
die jeweiligen Schutz- bzw. Sicherheitsmaßnahmen der Datenmengen für den Zugriff unberechtigter
Personen ein immer größerer Aufwand
notwendig wird. Auch für
die Übertragung
und den Austausch der Datenmengen hat es sich als Vorteil herausgestellt,
immer häufiger
nur gesicherte Kommunikationsverbindungen zu nutzen und zwar über den
Einsatz von unterschiedlichen Verschlüsselungstechnologien. Die bekannten
Verschlüsselungstechnologien
ermöglichen
somit den Zugriff auf Datenmengen bzw. Dateninformationen nur für berechtigte
Personen, jedoch ist die Verwaltung der für die Verschlüsselungstechniken
notwendigen Schlüssel komplex
und führt
teilweise dazu, dass bei Änderung eines
Schlüssels
nahezu jeder Schlüssel,
der mit dem geänderten
Schlüssel
in Zusammenhang steht, ebenfalls geändert werden muss. Die Zugriffsmöglichkeiten
der berechtigten Nutzer werden somit teilweise ungewollt beschränkt. Eine
geordnete Zuordnung der verwendeten Schlüssel ist in den meisten Fälle somit
ebenfalls nicht möglich.
-
In
der
US 4969188 wird
eine Verschlüsselungseinrichtung
mit einem Basisteil und einem Sicherheitsmodul beschrieben. Die
bekannte Verschlüsselungseinheit
sieht vor, dass lediglich das Sicherheitsmodul die entsprechenden
Schlüssel
enthält,
welche in einer Schlüsseltabelle
abgelegt werden, wobei vorrangig entsprechend einer Hierarchieebene
die Verschlüsselung
vorgenommen wird. Erfolgt die Verschlüsselung weitergehender Schlüssel verschiedener
Hierarchieebenen, wird gleichwohl in herkömmlicher Weise die Verschlüsselung
bzw. Entschlüsselung
vorgenommen, d.h. je mehr Schlüssel in
den unterschiedlichen Hierarchieebenen vorliegen und zu ver schlüsseln sind,
desto schwerer ist ein geordneter Zugriff auf die jeweiligen Schlüssel möglich.
-
Es
ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren bzw.
ein System zur Verschlüsselung
von Daten bereitzustellen, bei dem die zur Verschlüsselung
notwendigen Schlüssel
geordnet zugriffsbereit gehalten werden.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist es, ein System bzw.
Verfahren zur Verschlüsselung
von Daten bereitzustellen, bei dem die Veränderung einer Verschlüsselung
bzw. eines Schlüssels
eine effiziente Verteilung der Schlüssel ermöglicht.
-
Gelöst werden
diese Aufgaben verfahrenstechnisch mit den Merkmalen des Anspruchs
1 und systemtechnisch mit den Merkmalen des Anspruchs 8.
-
Anmeldungsgemäß wird das
zu verschlüsselnde
Objekt mit einem ersten Schlüssel
verschlüsselt.
Der erste Schlüssel
wird dann verschlüsselt
in einer ersten Schlüsseltabelle
geführt,
wobei mindestens ein zweiter Schlüssel vorgesehen ist, der eine zweite
Schlüsseltabelle
verschlüsselt.
Auf diese Weise wird somit über
die Schlüsseltabelle
der Zugriff vieler erster Schlüssel
geordnet, die über
die Verschlüsselung
mit dem zweiten Schlüssel
ebenfalls vor unberechtigten Zugriffen geschützt werden. Dadurch, dass anmeldungsgemäß der zweite
Schlüssel mit
mindestens einem ersten Schlüssel
in der ersten Schlüsseltabelle
verschlüsselt
geführt
wird, sind die Zugriffe der zweiten Schlüssel ebenfalls kontrolliert und
nachvollziehbar. Auf Grund dieser Struktur ist es möglich, dass
die Verwendung der Schlüssel
durch betriebsinterne Vorgaben oder aber durch den Administrator
selbst definiert werden kann. Auch diese Zuordnung in die jeweilige
Schlüsseltabelle
führt dazu, dass
eine unnötige
Verdoppelung der Schlüssel
vermieden wird bzw. unmittelbar erkannt wird, ob doppelte Schlüssel vergeben
wurden. Die Veränderung eines
Schlüssels
macht es ferner nicht erforderlich, dass alle individuellen gespeicherten
Schlüssel
aktualisiert werden müssen,
sondern lediglich die Schlüssel,
die in der jeweiligen Schlüsseltabelle
zusammengefasst sind. Auf Grund dieser anmeldungsgemäßen Zuordnung
von Schlüssel und
Schlüsseltabellen
sind so genannte hierarchische Gruppierungen, beispielsweise unter
Windows „organizational
units" möglich, wodurch
jeder Gruppe beispielsweise eine Schlüsseltabelle zugewiesen wird.
Der Benutzer „erbt" somit deren Inhalte
durch direkte oder indirekte Mitgliedschaften. Auf Grund der vorgegebenen
Struktur kann somit eine baumartige Struktur entstehen, die kryptographisch
abgesichert ist. Anmeldungsgemäß wird somit
ein Schlüssel
lediglich an einer Stelle verändert,
so dass sich automatisch ein geänderter
sog. Schlüsselring
ergibt, der jeweils beim Logon des Benutzers aufgebaut wird. Auf
diese Weise wird die Schlüsselverwaltung
effizienter gestaltet.
-
Weitere
vorteilhafte Ausgestaltungen der vorliegen Erfindung sind Gegenstand
der Unteransprüche.
-
Werden
weitere Schlüsseltabellen
vorgesehen, so kann je nach Komplexität der kryptographischen Anordnung
die Hierarchie verständlicher
aufgebaut werden.
-
In
vorteilhafter Weise können
weitere Schlüssel
vorgesehen sein, die weitere Objekte verschlüsseln können. Diese können somit
ebenfalls in weiteren Schlüsseltabellen
zugeordnet werden, wobei die Zuteilungs- bzw. Zugriffsrechte auf
einfache Weise gesteuert werden.
-
Sind
mehrere Hierarchieebenen vorgesehen, die die baumartige Struktur
bilden und vorzugsweise iterativ aufgebaut sind, so wird über die
baumartige Struktur bzw. den Iterationsprozess die Komplexität der erforderlichen
Schlüssel
bzw. Verschlüsselungsmaßnahmen
strukturierter dargestellt.
-
Werden
die Hierarchieebenen entsprechend der Anzahl der zweiten Schlüssel gestaffelt,
so ergibt sich vorteilhafterweise zwangsläufig eine baumartige Struktur,
wobei die Komplexität
der Verschlüsselungstechniken
an Hand der Hierarchieebenen unmittelbar entnommen werden kann.
Durch diese anmeldungsgemäße Struktur
der Schlüsseltabellen wird
erreicht, dass bei Veränderung
eines Schlüssels nur
die unmittelbaren in der Schlüsseltabelle
geführten
weiteren Schlüssel
verändert
werden.
-
Anmeldungsgemäß ist diese
Strukturanordnung dann gegeben, wenn ein erster Schlüssel mit einem
zweiten Schlüssel
eine Ebene bildet, wobei der zweite Schlüssel durch den ersten Schlüssel in der
nächsthöheren Ebene
verschlüsselt
wird. Mit dieser Maßnahme
ist der Iterationsprozess für
die Anordnung der Schlüssel
vorgegeben.
-
Weitere
vorteilhafte Ausgestaltungen der vorliegenden Erfindung werden anhand
der nachfolgenden Figur beschrieben.
-
In
der Figur sind beispielsweise die einzelnen Verknüpfungen
zwischen den verwendeten Schlüsseln
(KEK und SEK) und den entsprechenden Schlüsseltabellen (ST1, ST2, ST3,
ST4), d.h. Rechteckkasten (mit Seiten- und Oberrand) dargestellt. Hieraus
ist beispielhaft erkennbar, welcher Schlüssel welche Schlüsseltabelle
schützt,
d.h. dass auf Grund der Pfeilrichtung der jeweilige Anfangspunkt
des Pfeils und der hiermit angedeutete Schlüssel die entsprechende Schlüsseltabelle,
an dem der Pfeil endet, schützt
bzw. verschlüsselt.
Als Einstieg in die jeweilige Schlüsselhierarchie ist der sog.
SEK (User), das kryptographische Ergebnis der Authentisierung, anzusehen.
Hieraus ist erkennbar, dass es zum Einstieg einen Storage Encryption
Key SEK (User) gibt, der eine Schlüsseltabelle schützt und
somit der herkömmlichen
Kryptographie folgt.
-
Dieser
zum Einstieg notwendige Storage Encryption Key SEK (User) verschlüsselt beispielsweise
eine erste Schlüsseltabelle
ST1, die einen sogenannten Key Encryption Key (KEK) als ersten Schlüssel, in
diesem Fall KEK (User), enthält.
Dieser KEK (User) kann dann beispielsweise in der ersten Schlüsseltabelle
ST1 zusammen mit weiteren SEKs geführt werden. Somit bilden dann
verschiedene SEKs und der KEK (User) eine erste Schlüsseltabelle ST1,
wobei der erste Schlüssel
KEK, ggfs. auch zusammen mit weiteren SEKs, über den Einstiegschlüssel SEK
(User) geschützt
bzw. verschlüsselt geführt wird
bzw. werden. Dieser zumindest eine in der ersten Schlüsseltabelle
ST1 aufgeführte
SEK verschlüsselt
bzw. schützt
eine zweite Schlüsseltabelle
ST2, in der wiederum SEKs und KEKs geführt werden. Auf diese Weise
wird der iterative Verschlüsselungsprozess
ausgehend von dem User beschrieben.
-
Dem
gegenüber
ist auch die Möglichkeit
gegeben, dass ein KEK eines bestimmten Unternehmens, beispielsweise
des Anmelders, als ersten Schlüssel,
durch den SEK (Corp) des Unternehmens verschlüsselt wird und dieser SEK (Corp)
zusammen mit einem weiteren KEK einer bestimmten zu einer Einheit
zusammengefassten Gruppe, beispielsweise Munich, eine Schlüsseltabelle
bilden, wobei der SEK (Munich) diese Schlüsseltabelle verschlüsselt und somit
aus einer niedrigeren Hierachieebene die Schlüsseltabelle der nächsthöheren Ebene
schützt. Wird
die anmeldungsgemäße Verschlüsselungsstruktur
erneut darauf angewandt, so hat der SEK (Munich), welcher in der
Schlüsseltabelle
ST2 zusammen mit weiteren KEKs geführt wird, den in der Schlüsseltabelle
ST3 zusammengefassten KEK (Munich) und SEK (Corp) geschützt. Den
in der Schlüsseltabelle
ST2 genannten weiteren KEKs können verschiedene
Unterdivisionen von DEV entsprechen. Der Schlüssel SEK (Munich) zusammen
mit dem KEK (DEV) und ggf. weiteren KEKs bilden somit wieder eine
Schlüsseltabelle.
Wird die anmeldungsgemäße Verschlüsselungsstruktur
erneut angewandt, hat der SEK (DEV) beispielsweise die oben genannte Schlüsseltabelle
ST2 mit dem KEK (DEV) und den weiteren KEKs sowie der SEK (Corp))
verschlüsselt. Gemäß anmeldungsgemäßer Struktur
bilden somit beispielsweise die SEK (Munich), KEK (DEV) und weitere
KEKs ABC eine so genannte zweite Schlüsseltabelle ST2, die von einem
zweiten Schlüssel
SEK (DEV) in einer ersten Schlüsseltabelle
ST1 verschlüsselt
sind.
-
In
der Figur sind insgesamt vier Hierarchienebenen gebildet, wobei
die Anzahl der Hierarchien der Anzahl der verwendeten SEKs entspricht,
die jeweils eine Schlüsseltabelle
verschlüsselt
haben.
-
Aus
der Figur ist somit entnehmbar, dass jeweils die nächstniedrige
Hierarchieebene die nächsthöhere Hierarchieebene
schützt
bzw. verschlüsselt, so
dass es auf Grund dieser Struktur nicht möglich ist, durch Kenntnis eines
Schlüssels
einer höheren Ebene
die verschlüsselten
Schlüsseltabellen
der nächstniedrigeren
Ebene zu erfor schen. Es wird somit auf Grund einer Art Rückwärtsverkettung
von Schlüsseln
eine einfache Verteilung der Schlüssel und eine saubere kryptographische
Durchsetzung der Hierarchie vorgenommen. Bei notwendigen Änderungen
der Schlüssel
werden die Änderungen
lediglich in den verschlüsselten
Schlüsseltabellen
in den betroffenen Hierarchieebenen bzw. -knoten vorgenommen, die
Schlüssel
für alle
Nutzer müssen aber
nicht ausgetauscht werden. Somit ist eine dezidierte Zugriffskontrolle
in den jeweiligen Benutzerhierarchien gegeben. Es erfolgt somit
eine von unten nach oben gestaltete Verwaltungsstruktur.
-
Diese
Verwaltungsstruktur ist insbesondere in der Figur dadurch erkennbar,
dass die jeweiligen Schlüsseltabellen
einzelnen Organisationsstrukturen eines Unternehmens zugeordnet
sind. Diese Verwaltungsstruktur kann einer baumartigen Hierarchie
gleichen. Wobei bei dem Baum an den Blättern ggf. Computer, Benutzer
oder andere Objekte gefunden werden können, und die Knoten auf dem
Weg zu den Wurzeln als sog. Container bezeichnet alles „darunter" Befindliche enthalten
und somit selber zur Wurzel für
den jeweiligen Unterbaum werden. Parallel hierzu gibt es oft Gruppen
von Objekten, die außerhalb
der Hierarchie stehen als eine nicht hierarchische Gemeinsamkeit
abbilden. Die sind beispielsweise mit "Group" gekennzeichnet. In der Regel hat die
Zuordnung von Benutzern zu Containern oder Gruppen in der Verwaltungsstruktur
eine Entsprechung in der realen Unternehmensorganisation, wobei
Benutzer der gleichen Gruppe miteinander Daten austauschen können. Dies
kann beispielsweise bei verschlüsselten
Daten über
gemeinsame Schlüssel
erfolgen, die allen Gruppenmitgliedern bekannt sein müssen.
-
Anmeldungsgemäß ist ein
Benutzer oder Computer direkt und indirekt Mitglied mehrerer hierarchischer
Container oder Gruppen, und dementsprechend viele unterschiedliche
gemeinsame Schlüssel
können
notwendig werden, um in allen Gruppen Daten austauschen zu können. In
der Abbildung erkennt man das z.B. für das Objekt „User", indem man den Pfad
vom Blatt „User" zur Wurzel „Corp" beschreitet. Nachdem
jede Mitgliedschaft mindestens einen weiteren Schlüssel bedeutet,
kann man das anmeldungsgemäße Verfahren
heranziehen und auf jedem Schritt einen Schlüssel aufzusammeln. Zusätzlich kann
jedem Benutzer oder Computer noch mindestens ein ganz „persönlicher" Schlüssel zugestanden
werden. Das Ergebnis ist dann ein Satz von Schlüsseln, vergleichbar mit einem
Schlüsselring,
der für
jeden Benutzer oder Computer verschieden ist.
-
Alle
bisher erwähnten
Schlüssel
sind KEKs (Key Encryption Keys), deren einzige Funktion es ist, andere
Schlüssel
zu verschlüsseln,
sogenannte DEKs (Data Encryption Key). Diese DEKs sind es eigentlich,
die dann für
die Verschlüsselung
von Nutzdaten verwendet werden. Somit kann festgehalten werden,
dass ohne KEK kein DEK, und ohne DEK keine Daten möglich sind.
Die DEKs sind für
die weitere Betrachtung jedoch unerheblich und werden daher nicht
mehr explizit erwähnt – es genügt, festzuhalten,
dass für
den Zugriff auf bestimmte Daten der richtige KEK im Zugriff sein
muss.
-
Diese
KEKs müssen
ebenso verschlüsselt werden.
Daher gibt es für
jeden Benutzer, Computer, Container oder Gruppe eine Schlüsseltabelle
ST1, ST2, ST3, ST4 (in der Abbildung heraus vergrößert), die
mit einem weiteren individuellen Schlüssel SEK (Storage Encryption
Key) verschlüsselt
ist. Daraus ergibt sich, wer also den SEK zu einer bestimmten Tabelle
hat, hat damit Zugriff auf den Inhalt der gesamten Tabelle. Wer
ihn nicht hat, kann die Tabelle und die darin befindlichen Schlüssel nicht
lesen. Eine Sonderstellung nimmt der SEK zur persönlichen Schlüsseltabelle
des Benutzers oder Computers ein (in der Abbildung mit SEK (User)
bezeichnet. Dieser kann natürlich
in keiner Tabelle stehen, sondern muss von außen zugeführt werden. In der beschriebenen
Ausführung
ist dieser SEK das krytpographische Ergebnis einer Benutzeranmeldung
(bezeichnet mit „User
Authentication"),
z. B. ein Derivat des geheimen Passwortes.
-
An
Hand des Anmeldungsgegenstandes, den SEK der nächsthöheren Hierarchieebene (Knoten
im Baum) mit in der Schlüsseltabelle
aufzunehmen, ergibt sich für
jeden Endknoten (Blatt des Baums) eine Liste von Schlüsseltabellen
bis zur Wurzel. Im Beispiel ist der Benutzer „User" Mitglied der Abteilung „DEV" und hat daher den
SEK von DEV in seiner Schlüsseltabelle.
Da er auch Mitglied der nicht-hierarchischen Gruppe „Group" (in der Figur dunkel
eingefärbt)
ist, hat er auch deren SEK in seiner Schlüsseltabelle. Er kann damit
durch seinen SEK alle Schlüssel
benutzen, die in seiner oder in den Tabellen von „DEV" oder „Group" vorhanden sind.
Da „DEV" Mitglied von „Munich" ist, enthält die Schlüsseltabelle
von „DEV" natürlich auch
den Schlüssel
(SEK) zur Tabelle von „Munich".
-
Die
Tabelle von „Munich" hat wiederum den Schlüssel zur
nächsthöheren Ebene „Corp" aber nicht den zur
untergeordneten Abteilung „QA".
-
Muss
bei einem Knoten ein Schlüssel
gewechselt/hinzugefügt/weggenommen
werden, so genügt
es, die Schlüsseltabelle
für diesen
einen Knoten neu zu verteilen. Es ist nicht nötig, für alle Blätter des Baumes individuell
eine neue Schlüsseltabelle
zu erzeugen und zu verteilen, wie das bei anderen Systemen der Fall
ist.
-
Vorteilhaft
ist auch, dass der Schaden klar begrenzt bleibt, sollte ein SEK
kompromittiert werden. Es ist nur der Teil des Baums vom kompromittierten
Schlüssel
bis zur Wurzel betroffen. Demgegenüber wäre bei einem System, das von
der Wurzel ausgeht, der gesamte Unterbaum ab dem kompromittierten
Schlüssel
betroffen. Eine weitere Konsequenz dieser Eigenschaft ist, dass
die Endknoten (Blätter)
kryptographisch gegeneinander abgesichert sind, d.h. ein Benutzer
wird auf Grund der Struktur nie den persönlichen Schlüssel eines
anderen Benutzers gegen dessen Willen bekommen können, da er an dessen Schlüsseltabelle
nicht herankommt. Im Bild gibt es z. B. kryptographisch keinen Weg
von „DEV" über „Munich" nach „QA".