-
Hintergrund
der Erfindung
-
Technisches
Gebiet
-
Die
Erfindung betrifft vertrauenswürdiges Verarbeiten
(trusted computing). Insbesondere betrifft die Erfindung eine Vorrichtung,
die ein vertrauenswürdiges
(trusted) Element vorsieht, das innerhalb einer internationalen
Kryptographieumgebung oder anderen Verarbeitungsumgebung vertrauenswürdige Verarbeitung
gewährleistet.
-
Beschreibung
des Stands der Technik
-
Kunden
großer
Computersysteme sind typischerweise multinationale Konzerne, die
an dem Kauf konzernweiter computerbasierter Lösungen interessiert sind. Durch
das verteilte Wesen solcher Organisationen ist es notwendig, daß diese öffentliche internationale
Kommunikationsdienste verwenden, um Daten innerhalb ihrer Organisationen
zu transportieren. Natürlicherweise
sind sie um die Sicherheit ihrer Kommunikation besorgt und wünschen die
Verwendung moderner Endpunkt-zu-Endpunkt-Kryptographieeinrichtungen,
um Geheimhaltung und Datenintegrität sicherzustellen.
-
Die
Verwendung von Kryptographie bei Kommunikation und Datenspeicherung
wird durch nationale Richtlinien geregelt, wobei sich die nationalen
Richtlinien unglücklicherweise
hinsichtlich dieser Verwendungen unterscheiden. Jede nationale Richtlinie
(policy) wird unabhängig
entwickelt, im allgemeinen mit einer stärker nationalen Betonung, als
internationale Überlegungen
einbeziehend. Es gibt Standardisierungsgruppen, deren Ziel es ist,
einen gemeinsamen kryptographischen Algorithmus zu entwickeln, der
für internationale
Kryptographie geeignet ist. Jedoch ist die Thematik der internationalen
Kryptographiestandards kein technisches Problem, sondern ein politisches
Problem, dessen Kern durch die nationale Souveränität bestimmt ist. Es ist daher
als solches nicht realistisch, zu erwarten, daß die unter schiedlichen nationalen
Kryptographierichtlinien durch einen technischen Standardisierungsprozeß einander
angeglichen werden.
-
Die
Frage der nationalen Interessen bei der Kryptographie ist ein besonderes
Anliegen von Firmen, die Produkte der Informationstechnik, welche auf
offenen Standards basieren, für
einen weltweiten Markt herstellen. Der Markt erwartet, daß diese
Produkte sicher sind. Zudem sind mehr und mehr Kunden dieser Produkte
selbst multinational und halten Ausschau nach Herstellern, die ihnen
helfen, die Probleme der internationalen Kryptographie zu lösen, welche
ihre Entwicklung von weltweiter Informationstechnik hemmen. Das
Fortbestehen ungelöster Unterschiede
und die Exportvorschriften bei nationalen Kryptographierichtlinien
haben einen nachteiligen Einfluß auf
das Wachstum des internationalen Marktes für Sicherheits-Computerprodukte,
die auf einem offenen Standard basieren. Es wäre daher hilfreich, einen internationalen
Rahmen bzw. ein internationales Framework vorzusehen, der bzw. das
globale Produkte der Informationstechnik vorsieht, die gemeinsame
Sicherheitselemente unterstützt,
während die
unabhängige
Entwicklung nationaler Kryptographie-Standards einbezogen wird.
-
Für Staaten
bestehen Gründe,
Richtlinien zur Festlegung der Kryptographie vorzugeben. Oftmals
sind diese Gründe
mit der Durchsetzung von Rechten und Angelegenheiten der nationalen
Sicherheit verknüpft.
Innerhalb jedes Landes können
Diskussionen zwischen der Regierung und dem Volk hinsichtlich der
Rechtmäßigkeit
und der Eignung dieser Richtlinien bestehen. Statt diese Debatten
zu unterstützen
oder deren Ergebnis vorhersagen zu wollen, ist es praktischer, das
souveräne
Recht jedes Staats auf die Festlegung einer unabhängigen Richtlinie,
die die Kryptographie bei Nachrichtenübertragungen regelt, zu akzeptieren.
-
Richtlinien
zur Regelung der nationalen Kryptographie drücken nicht nur den Wunsch des Volks
und der Regierung aus, sondern umfassen zudem zahlreiche Techniken
zur Unterstützung
von Kryptographie. Die Wahl der Technik ist sicherlich ein Gebiet,
in der die Standardisierung eine Rolle spielen kann.
-
Jedoch
ist dies, wie oben bemerkt, nicht ein ausschließlich technisches Problem,
so daß die
Wahl üblicher
Kryptographietechniken alleine die Verschiedenheiten zwischen den
nationalen Richtlinien nicht lösen
kann. Es wäre
daher nützlich,
einen allgemeinen akzeptierten Kryptographierahmen bzw. ein Kryptographieframework
vorzusehen, mit dem unabhängige Entscheidungen
hinsichtlich der Technik und der Richtlinien in einer Weise getroffen
werden können,
die trotzdem internationale kryptographische Übertragungen im Einklang mit
diesen Richtlinien ermöglicht.
-
In
der parallelen US Patentanmeldung 08/401,488 von K. Klemba und R.
Merckling, "International
Cryptography Framework",
eingereicht am 8. März
1995, ist ein vierteiliges Technik-Framework offenbart, das internationale
Kryptographie unterstützt,
welche eine nationale Flag-Karte, eine kryptographische Einheit,
ein Hostsystem und einen Netzsicherheits-Server umfaßt. Drei
dieser vier Dienstelemente haben eine grundlegende hierarchische
Beziehung zueinander. Die nationale Flag-Karte (National Flag Card,
NFC) ist in der kryptographischen Einheit (Cryptographic Unit, CU)
installiert, die wiederum in einem Host-System (HS) installiert
ist. Ohne eine kryptographische Einheit können auf dem Host-System keine
kryptographischen Funktionen ausgeführt werden, wobei die kryptographische
Einheit selbst das Vorliegen einer gültigen nationalen Flag-Karte erfordert,
bevor ihr Dienst zur Verfügung
steht. Das vierte Dienstelement, ein Netzsicherheits-Server (Network
Security Server, NSS), kann eine Reihe verschiedener Sicherheitsdienste
vorsehen, einschließlich
der Verifikation der anderen drei Dienstelemente.
-
Das
Framework bzw. der Rahmen unterstützt die Ausgestaltung, Implementierung
und die betrieblichen Elemente jeder einzelnen nationalen Richtlinie,
während
die Ausgestaltung, die Entwicklung und der Betrieb unabhängiger nationaler
Sicherheitsrichtlinien vereinigt werden. Das Framework gibt daher
für die
Dienstelemente nationaler Sicherheitsrichtlinien Standardformen
vor, wobei solche Dienstelemente Merkmale wie Hardware-Formfaktoren, Kommunikationsprotokolle
sowie Online- und Offline-Datendefinitionen umfassen.
-
Kritisch
für die
Implementierung des Frameworks ist das Bereitstellen einer Grundtechnik,
die die Erzeugung der verschiedenen Dienstelemente gestattet. Während zahlreiche
Implementierungen der Dienstelemente innerhalb des Könnens des Fachmanns
liegen, besteht das Bedürfnis
an bestimmten Verbesserungen des Stands der Technik, wenn das volle
Potential des Frameworks realisiert werden soll.
-
In
dem Framework und bei anderen vertrauenswürdigen Systemen ist eine wichtige
Aufgabenstellung die Zusammenstellung, das heißt, an welcher Stelle jedes
einzelne Element des vertrauenswürdigen
Systems vertrauenswürdig
sein muß,
da ein System, das vollständig
aus vertrauenswürdigen Elementen
zusammengestellt ist, sowohl unhandlich als auch langsam ist. Es
ist daher wünschenswert, nur
die Anzahl vertrauenswürdiger
Elemente vorzusehen, die dazu notwendig ist, zu gewährleisten,
daß der
Grad an gewünschter
Vertrauenswürdigkeit
vorgesehen wird.
-
Vertrauenswürdige Produkte
erfordern, daß die
Zusammenstellung einiger Eigenschaften in Sicherheitssystemen kombinierbar
ist. Solche Eigenschaften werden vorzugsweise in Übereinstimmung mit
einem vorbestimmten Standard vorgesehen. Es ist beispielsweise notwendig,
die Beziehungsarten zu ermitteln, die zwischen den vertrauenswürdigen Elementen
des Frameworks herrschen. Es ist ebenfalls notwendig, die sicherheitsrelevanten
Eigenschaften der vertrauenswürdigen
Elemente zu definieren, wenn diese derartige Beziehungen eingehen.
Es ist ferner notwendig, zu ermitteln, welche wechselseitigen Beeinflussungen
zwischen den sicherheitsrelevanten Eigenschaften eines zusammengestellten Systems
gegenüber
den sicherheitsrelevanten Eigenschaften der Elemente ergeben, die
das System bilden, d.h., ob das vertrauenswürdige Element mit Hilfe von
Wissen überwunden
werden kann, das sich von anderen Elementen des Systems ableitet.
-
Es
wäre dementsprechend
vorteilhaft, eine vertrauenswürdige
Verarbeitungsfunktion innerhalb der Grenzen des Frameworks oder
anderen Verarbeitungssystems zu definieren und zu implementieren.
-
Abriß der Erfindung
-
Das
internationale Kryptographieframework (international cryptography
framework) ermöglicht
es Herstellern, verschiedenen nationalen Gesetzen zu entsprechen,
welche die Verteilung von kryptographischen Funktionen regeln. Insbesondere
ermöglicht ein
solches Framework bzw. ein solcher Rahmen, daß kryptographische Funktionen
weltweit an alle Typen von Informationsverarbeitungsgeräten (beispielsweise
Drucker, Palmtops) verschickt werden können. Innerhalb des Frameworks
bzw. Rahmens enthält
eine kryptographische Einheit verschiedene kryptographische Verfahren
(beispielsweise DES, RSA, MD5).
-
Die
Erfindung sieht ein vertrauenswürdiges (trusted)
Verarbeitungselement vor, beispielsweise in einem internationalen
Kryptographieframework oder in einer anderen vertrauenswürdigen Verarbeitungsanwendung.
Zum Zwecke der Offenbarung in dieser Beschreibung wird das vertrauenswürdige Element gemäß dem Standard
ISO/IEC 10081-1 definiert, das heißt, daß das Element y von dem Element
x für einige
Aktivitätsklassen
im Kontext einer Sicherheitsrichtlinie vertrauenswürdig eingestuft
wird, wenn, und nur wenn das Element x Vertrauen darin hat, daß sich das
Element y in einer genau bestimmten Weise verhält, welche die Sicherheitsrichtlinie
nicht verletzt.
-
Die
Erfindung sieht eine Vorrichtung vor, die das Problem der Zusammenstellung
beim Vorsehen einer vertrauenswürdigen
Rechenbasis löst,
auf die eine Anwendung zugreift, welche eine beschränkte Anzahl
vertrauenswürdiger
Ausführungslinien (trusted
execution streams) hat. Solche Ausführungslinien bzw. Ausführungsstreams
sind einfach als vertrauenswürdig
zu steuern/zu definieren. Die Architektur der Erfindung definiert
einfache Beziehungen zwischen den Bereichen, die als vertrauenswürdig gelten,
und denjenigen, die ausgeführt
werden.
-
Das
vertrauenswürdige
Verarbeitungselement (trusted processing element) ist gemäß zahlreicher
Prinzipien implementiert, einschließlich:
- • Trennung – In jeder
Ausführungsebene
herrscht eine klare Trennung der Sicherheitsfunktionen von anderen
Funktionen, um die Menge an Funktion zu minimieren, die vertrauenswürdig sein müssen und
damit den Grad an Vertrauenswürdigkeit
erhöhen,
der erreicht werden kann. Daher liegt am äußersten Ende des Spektrums
eine einzelne Ausführung
des Befehls. Tatsächlich
beziehen sich Systeme oder Kernel-Implementierungen auf ein Ausführungs-Grundelement
als einzelner Task oder Thread sowie auf geschützte Kommunikationsmechanismen
zwischen Prozessen.
Um daher in einer vertrauenswürdigen Zone
oder Gebiet auszuführen,
ist es notwendig, hinsichtlich der Vertrauenswürdigkeit von Abschnitten sicher zu
sein. Die Abschnitte stellen einen ausführbaren Code oder eine Kombination
von Code und Daten dar. Daher sieht das Prinzip der Trennung einen ersten
Schritt zum Implementieren der vertrauenswürdigen Ausführung vor. Das bedeutet, daß das System
Abschnittbereiche haben muß,
in denen Ausführungsstreams
(execution streams) verwendet werden, um ausführbaren Code an die vertrauenswürdigen Rechenbasis
weiterzuleiten. Dieses Prinzip führt
dazu, daß in
einem System Vertrauenswürdigkeit
herrscht, jedoch ist das Prinzip der Trennung nicht ausreichend,
um das Kriterium der Integrität
zu erfüllen.
- • Lokalität – Jeder
Teil eines Systems, dem es gestattet ist, Information zu verarbeiten,
kann diese Information korrumpieren. Daher hängt der Erhalt der Integrität der Information
von dem Grad an Vertrauenswürdigkeit
der systembildenden Teile ab, die die Information handhaben. Wenn
Daten oder Befehle lokal ausgeführt
werden, hat das vertrauenswürdige
Element Kontrolle über
die Information nur innerhalb der Vertrauens-Begrenzung (trust boundary).
Das heißt,
daß es
außerhalb
keine Kontrolle hat, und umgekehrt. Definitionsgemäß besteht
ein Mangel an Vertrauenswürdigkeit
außerhalb
der Partition, die durch die Vertrauens-Begrenzung vorgegeben wird,
da die Information dafür
freisteht, an nicht vertrauenswürdigen
Ausführungen
teilzunehmen, sobald sie außerhalb
des Abschnitts gelangt ist. Daher implementiert die Erfindung das
Prinzip der Lokalität, das
heißt,
daß Ausführungen,
die mit Prozessen oder Tasks (Aufgaben) in der Partition verknüpft sind,
nur lokal in der vertrauenswürdigen
Rechenbasis bearbeitet werden.
Als eine Anwendung des ersten
Prinzips wird die vertrauenswürdige
Verarbeitungsfunktion einer kryptographischen Einheit, die von einer
Richtlinienkarte (policy card) gesteuert wird, zu einem vertrauenswürdigen Ausführungsbereich,
in dem kritische Anwendungen sensible Information umwandeln. Solche
Information verwendet geschützte
Mechanismen, d.h. Umschläge
(envelopes), um den vertrauenswürdigen
Ausführungsbereich
zu verlassen oder um sich dem Benutzerebenen-Task anzugliedern,
bevor sie von der kryptographischen Einheit verarbeitet wird.
-
Innerhalb
des vertrauenswürdigen
Verarbeitungselements (wie es beispielsweise für eine kryptographische Einheit
verwendet wird) nimmt die Haupt-CPU an der Verarbeitung von vertrauenswürdigen Partitionen
teil, die von der Richtlinie gesteuert werden.
-
Grundlegende
Eigenschaften des vertrauenswürdigen
Verarbeitungselements umfassen:
- • Gekapselte
einzelne Tasks;
- • Verwendung
eng verbundener, rekonfigurierbarer Kernel-Komponenten; und
- • Ausführung von
Anpassungsrichtlinien innerhalb einer sicheren Abschirmung (secure
vault), um einer nicht autorisierten Verwendung von Privilegien
vorzubeugen.
-
Daher
sieht das vertrauenswürdige
Verarbeitungselement einen hinsichtlich der Vertrauenswürdigkeit
gesteuerten (trust controlled) Prozessor vor, so daß die System-/Anwendungs-Verarbeitung in einer
vertrauenswürdigen
Art und Weise fortgeführt wird.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines internationalen Kryptographieframeworks
mit einer nationalen Flag-Karte, einer Kryptographieeinheit, einem Host-System
und einem Netzsicherheitsserver;
-
2 zeigt
ein Vertrauenswürdigkeits-Netz (trust
web), durch das die Framework-Dienstelemente
von 1 miteinander verbunden sind;
-
3 ist
eine schematische Darstellung, welche die zahlreichen Elemente des
internationalen Kryptographieframeworks von 1 zeigt,
einschließlich
beispielhafter Prozesse, die ein erfindungsgemäßes vertrauenswürdiges Element
aufnehmen können;
-
4 ist
eine schematische Darstellung, welche eine Vertrauenswürdigkeits-Begrenzung
gemäß der Erfindung
darstellt, wie sie zwischen einem Betriebssystem und einer vertrauenswürdigen Rechenbasis
gemäß der Erfindung
errichtet ist;
-
5 ist
eine schematische Darstellung, die eine Abschnittsausführung zeigt,
um das erfindungsgemäße Trennungsprinzip
zu veranschaulichen;
-
6 ist
eine schematische Darstellung, die eine lokale Ausführung von
sensibler Information zeigt, um das erfindungsgemäße Lokalitätsprinzip
zu veranschaulichen;
-
7 ist
ein Timingdiagramm, welches das Verhalten einer kryptographischen
Einheit während einer
erfindungsgemäßen Arbeitsstufe
darstellt;
-
8 ist
eine schematische Darstellung, die den erfindungsgemäßen Steuerungsfluß für eine vertrauenswürdige Ausführung zeigt;
-
9 ist
eine schematische Darstellung, welche die lokale Ausführung einer
adaptiven Kernel-Komponente gemäß der Erfindung
darstellt;
-
10 stellt
eine Positionierung eines persönlichen
Tokens in dem Kontext einer vertrauenswürdigen Verarbeitung gemäß der Erfindung
dar;
-
11 ist
eine schematische Darstellung, welche die interne Struktur eines
persönlichen
Tokens und dessen Beziehung zu einer speziellen vertrauenswürdigen Ausführung gemäß der Erfindung zeigt,
d.h., den Zugriffsverfahrensmanager; und
-
12 stellt
die Verwendung von Sicherheitskontrollen dar, d.h., eine sicherheitsprivilegierte Ausführung im
Kontext eines persönlichen
Tokens und der vertrauenswürdigen
Verarbeitung gemäß der Erfindung.
-
Detaillierte
Beschreibung der Erfindung
-
Nationale
Kryptographierichtlinien hängen von
dem Industriesegment, dem politischen Umfeld und/oder der Nachrichtenfunktion
ab. Es ist daher schwierig, für
alle Zeiten der gesamten Industrie eine einheitliche Richtlinie
zuzuordnen. Daher ist die Flexibilität eines kryptographischen Frameworks,
das eine nationale Flag-Karte beinhaltet, sehr vielversprechend.
Die Erfindung ist daher vorgesehen, Probleme zu lösen, welche
im Umfeld der internationalen Kryptographie liegen. In einer bevorzugten
Ausführung
der Erfindung ist ein vertrauenswürdiges Verarbeitungselement
(trusted processing element) vorgesehen, beispielsweise in Verbindung
mit einer Kryptographieeinheit für
ein Framework (Rahmen), das zum Unterstützen der Ausgestaltung und
Entwicklung jeder nationalen Richtlinie hinsichtlich der Kryptographie
verwendet werden kann. Daher errichtet die Erfindung eine Vertrauenswürdigkeits-Begrenzung (trust
boundary), so daß sowohl
die Verwendung von Kryptographie als auch die Verwendung eines Systems,
welches durch die Kryptographie geschützt ist, in einer vertrauenswürdigen und
fälschungssicheren
Weise gesteuert sind. Es ist ersichtlich, daß die Erfindung in jeder Systemumgebung verwendet
werden kann, in der ein vertrauenswürdiges Ver arbeitungselement
erwünscht
ist, obwohl die Erfindung in Verbindung mit einem internationalen Kryptographieframework
beschrieben ist.
-
Die
Kryptographieeinheit, in der die bevorzugte Ausführung der Erfindung implementiert
ist, ist vorzugsweise in einem internationalen Kryptographieframework
vorgesehen, das vier Dienstelemente hat, die jeweils verschiedene
Diensttypen anbieten. Die 1 ist ein
Blockdiagramm des internationalen Kryptographieframeworks (international
cryptography framework, IDC) 10, einschließlich einer
nationalen Flag-Karte 12, einer Kryptographieeinheit 14,
einem Host-System 16 und einem Netzsicherheitsserver (network
security server) 18. Drei der vier Dienstelemente haben
eine grundlegend hierarchische Beziehung zueinander. Die nationale
Flag-Karte (National Flag Card, NFC) ist in der kryptographischen
Einheit (Cryptographic Unit, CU) installiert, die wiederum in einem
Host-System (HS) installiert ist. Kryptographische Funktionen können auf
dem Host-System nicht ohne eine kryptographische Einheit ausgeführt werden,
die selbst das Vorliegen einer gültigen
nationalen Flag-Karte erfordert, bevor ihre Dienste zur Verfügung stehen.
Zum Zwecke der hierin vorgenommenen Betrachtung wird die nationale
Flag-Karte auch als Richtlinie (policy) bezeichnet, da sie die Maßnahmen
vorsieht, welche eine nationale Kryptographierichtlinie umsetzt
und/oder die verwendet wird, um eine vertrauenswürdige Funktion freizugeben.
-
Das
vierte Dienstelement, ein Netzsicherheitsserver (Network Security
Server, NSS), sieht eine Reihe verschiedener Sicherheitsdienste
vor, einschließlich
der Verifikation der anderen drei Dienstelemente, und verhält sich
daher wie eine vertrauenswürdige
dritte Partei. Nachrichten, die mit dem vorgeschlagenen Framework
verschlüsselt
werden, tragen eine elektronische Marke, welche die nationale Kryptographierichtlinie
kennzeichnet; gemäß der die
Nachricht verschlüsselt
wurde. Der Netzsicherheitsserver sieht ferner Markenverifikationsdienste
für Nachrichtenverarbeitungssysteme
vor.
-
Das
ICF (international cryptography framework) ermöglicht es Herstellern, unterschiedlichen nationalen
Gesetzen zu entsprechen, die die Verteilung kryptographischer Fähigkeiten
regeln. Insbesondere ermöglicht
es ein solches Framework, kryptographische Fähigkeiten weltweit in alle
Typen von Informations-Verarbeitungseinrichtungen (beispielsweise
Drucker, Palmtops) zu versenden.
-
Es
ist vorteilhaft, eine vertrauenswürdige Verarbeitungsfunktion
innerhalb der Beschränkungen
des Frameworks oder eines anderen Verarbeitungssystems zu definieren
und zu implementieren. Eine solche Funktion sollte auf zahlreichen
grundlegenden Annahmen basieren. Um daher ein Sicherheitsmodell
zu beschreiben, das die notwendige Nähe zu der Struktur aufweist,
ist es zunächst
notwendig, die hinsichtlich der Natur der Frameworkarchitektur getroffenen
Annahmen aufzulisten. Diese Annahmen geben das Wesen des Vertrauenswürdigkeitsmodells
vor.
-
Zusammenstellung.
Das Framework besteht aus vier Dienstelementen, die in einem parallelen
US Patent US-A-5,651,068 (=
EP
0731406 A1 ), "International
Cryptography Framework",
von K. Klemba, R. Merckling, eingereicht am 8. März 1995, offenbart sind, welche
mit einem Vertrauenswürdigkeitsnetz (trust
web) verbunden sind, einschließlich
einer Sicherheits-Domänenautorität (security
domain authority, SDA)
71 und einer Anwendungs-Domänenautorität (application
domain authority, ADA)
73, wie in der
2 dargestellt
ist. Das Framework ist genau in das Vertrauensverhältnis eingepaßt, das
zwischen der Anwendungsdomäne
75 und
der Sicherheitsdomäne
77 vorgesehen
ist, die durch eine Domänengrenze
79 getrennt
sind.
-
Zwei
verschiedene vertrauenswürdige
Elemente verkörpern
die aktive Beziehung in dem Vertrauenswürdigkeitsnetz: die Richtlinienunterstützung und
die kryptographische Dienstklasse – die auch COS (cryptographic
class of service) genannt wird. Die Richtlinienunterstützung ist
ein zusammengesetztes Element, das aus einem vertrauenswürdigen Element,
das in der Sicherheitsdomäne
entwickelt wird, einer Richtline (NFC) und einen vertrauenswürdigen Element
besteht, das in der Anwendungsdomäne, d.h. in der kryptographischen
Einheit (CU) entwickelt wird.
-
Koexistenz.
Das Framework koexistiert mit einem eingerichteten Netz von untereinander
verknüpften,
physikalischen Maschinen/Einrichtungen und macht die kryptographische
Dimension des bestehenden Netzes greifbar. Jede Maschine – des Hostsystems – ist die
Heimat einer Anzahl vertrauenswürdiger
und nicht vertrauenswürdiger
Anwendungen, die alle Zugriff auf einen kryptographischen Dienst
benötigen.
Kryptographische Dienste werden den Anwendungen im Rahmen einer
kontrollierten Richtlinie zur Verfügung gestellt. Die Richtlinie
wird durch die SDA bestimmt.
-
Existenzstatus.
Sobald die zwei vertrauenswürdigen
Elemente, d.h. die kryptographische Einheit und die Richtlinie,
wechselseitig authentifiziert sind und ein Vertrauensverhältnis ausgebildet
haben, erzeugt die kombinierte Richtlinienunterstützung den Existenzstatus
der kryptographischen Mechanismen in dem Host-System.
-
Rolle
der Komponenten. Die SDAs (security domain authorities, Sicherheitsdomänenauthorität) erzeugen
die Richtlinienunterstützung,
welche die geltende Richtlinie der Domäne umsetzt. Die SDAs können die
Richtlinie selbst erzeugen oder das Recht an eine anerkannte Entity
der Domäne – den nationalen
Sicherheitsserver – übertragen.
Sie können
ferner die Richtlinie erzeugen. Die Übertragung ist keine endlose
Bevollmächtigungskette,
sondern eine kontrollierte Kette mit einer begrenzten Entityliste.
Das Erzeugen der Elemente der Richtlinienunterstützung tritt in Reaktion auf
Anfragen seitens eines Anwendungsbenutzers auf, der die Freigabe
kryptographischer Mechanismen anfordert.
-
SDAs
können
ferner COSes (cryptographic class of service, kryptographische Diensklasse)
erzeugen und aufheben und diese für deren ADAs (application domain
authorities, Anwendungsdomänenauthorität) durch
das Mittel einer Zertifikatstruktur zur Verfügung stellen.
-
Eine
kryptographische Einheit wird durch eine vertrauenswürdige Entity
der Anwendungsdomäne
hergestellt. Der vertrauenswürdige
Urheber der geheimen Information erzeugt nun einen weiteren sicheren
Kommunikationskanal zwischen den zwei Domänen, d.h., zwischen der ADA
und der SDA.
-
Administrative
Aktivitäten 76, 78 ergänzen das
Vertrauenswürdigkeitsnetz,
indem die Entities beider Domänen
und die Beziehung zwischen den Domänen mit konsolidierten Integrationsfunktionen vorgesehen
werden.
-
Die 3 ist
eine schematische Darstellung, die zahlreiche Elemente des internationalen
Kryptographieframeworks von 1 zeigt,
einschließlich beispielhafter
Prozesse, beispielsweise DB Comm Runtime Lib 21, CU Driver 22 und
NFC Driver 23, die ein vertrauenswürdiges Element gemäß der Erfindung
aufnehmen können.
-
Die
Erfindung sieht ein vertrauenswürdiges (trusted)
Verarbeitungselement vor, beispielsweise in einem internationalen
Kryptographieframework oder in einer anderen vertrauenswürdi gen Verarbeitungsanwendung.
Zum Zwecke der Offenbarung in dieser Beschreibung wird das vertrauenswürdige Element gemäß dem Standard
ISO/IEC 10081-1 definiert, das heißt; daß das Element y von dem Element
x für einige
Aktivitätsklassen
im Kontext einer Sicherheitsrichtlinie für vertrauenswürdig eingestuft
wird, wenn, und nur wenn das Element x Vertrauen darin hat, daß sich das
Element y in einer genau bestimmten Weise verhält, welche die Sicherheitsrichtlinie
nicht verletzt. Beispielsweise im Kontext von 3 ist
der NFC-Treiber 23 gegenüber der CU 14 vertrauenswürdig, wenn,
und nur wenn die CU sich gemäß der Richtlinie
verhält,
die von der NFC 12 vorgegeben wird.
-
Das
vertrauenswürdige
Verarbeitungselement ist gemäß verschiedener
Prinzipien implementiert, einschließlich:
- • Trennung – In jeder
Ausführungsebene
herrscht eine klare Trennung der Sicherheitsfunktionen von anderen
Funktionen, um die Menge an Funktionen zu minimieren, die vertrauenswürdig sein müssen und
damit den Grad an Vertrauenswürdigkeit
erhöhen,
der erreicht werden kann. Daher liegt das äußerste Ende des Spektrums in
einer einzelnen Ausführung
des Befehls. Tatsächlich beziehen
sich Systeme oder Kernel-Implementierungen
auf ein Ausführungsgrundelement
als einzelner Task (Aufgabe) oder Thread (Ausführungslinie). Dieses Prinzip
führt zu
Vertrauenswürdigkeit
in einem System, jedoch wird das Trennungsprinzip nicht als ausreichend
betrachtet, um in den meisten Anwendung Integrität zu erreichen.
- • Lokalität – Jeder
Teil eines Systems, dem es gestattet ist, Information zu verarbeiten,
ist in der Lage, diese Information korrumpieren. Daher hängt der
Erhalt der Integrität
von dem Grad an Vertrauenswürdigkeit
der systembildenden Teile ab, die die Information handhaben. Als
eine Anwendung des ersten Prinzips wird die Fähigkeit zur vertrauenswürdigen Verarbeitung
einer kryptographischen Einheit, die durch eine Richtlinienkarte
gesteuert ist, zu einem vertrauenswürdigen Ausführungsbereich, in dem kritische
Anwendungen sensible Information umwandeln. Solche Informationen
verwenden geschützte
Mechanismen, d.h., Umschläge
(envelopes), um den vertrauenswürdigen
Ausführungsbereich
zu verlassen, oder um sich dem Benutzerebenen-Task vor der Verarbeitung durch die
kryptographische Einheit anzugliedern.
-
Innerhalb
des vertrauenswürdigen
Verarbeitungselements (beispielsweise wie es für eine kryptographische Einheit
verwendet wird) nimmt die Haupt-CPU an der Verarbeitung der Partitionen
teil, die vertrauenswürdig
sind und die von der Richtlinie gesteuert werden.
-
Grundlegende
Eigenschaften des vertrauenswürdigen
Verarbeitungselements umfassen:
- • Gekapselte
einzelne Tasks;
- • Verwenden
eng verbundener, rekonfigurierbarer Kernel-Komponenten; und
- • Ausführen von
Anpassungsrichtlinien (adaption policies) in einer sicheren Abschirmung
(secure vault), um der nicht autorisierten Verwendung von Privilegien
vorzubeugen.
-
Daher
sieht das vertrauenswürdige
Verarbeitungselement einen hinsichtlich der Vertrauenswürdigkeit
gesteuerten Prozessor vor, so daß die System-/Anwendungsverarbeitung
in einer vertrauenswürdigen
Art und Weise fortgeführt
wird.
-
Es
ist eine grundlegende Voraussetzung des internationalen Kryptographieframeworks,
daß eine Richtlinienkarte – mit einem
beliebigen Formfaktor; körperlich
oder logisch – für eine Kryptographieeinheit
vorliegen muß,
um deren Funktionsfähigkeit
vorzusehen. Das internationale Kryptographieframework wurde ausgestaltet,
um es Herstellern zu ermöglichen,
verschiedenen nationalen Gesetzen zu entsprechen, die die Verteildung
kryptographischer Fähigkeiten
regeln.
-
Grundlegende Annahmen
hinsichtlich der Architektur.
-
- • Code,
der zur Ausführung
durch eine kryptographische Einheit vorbereitet ist, kann nicht
an einer anderen Stelle ausgeführt
werden;
- • Code,
der zur Ausführung
durch eine kryptographische Einheit vorbereitet ist, kann nicht
verändert
werden;
- • Code,
der für
die Ausführung
durch eine kryptographische Einheit vorbereitet ist, kann nicht
in Klartext gesehen werden;
- • die
Ausführung
von Code in der kryptographischen Einheit kann nicht vorbelegt (preempted) werden;
und
- • Daten,
die von der kryptographischen Einheit manipuliert sind, werden lokal
ausgeführt.
- • Eine
Richtlinie regelt die vertrauenswürdige Verarbeitung – physikalische/logische
Wiederaufnahme der Richtlinie läßt die vertrauenswürdige Verarbeitung
verfallen.
-
Die Problematik der Zusammenstellung.
-
Die
Problematik der Zusammenstellung beschäftigt sich mit den Arten von
Beziehungen, die vertrauenswürdige
Elemente untereinander in Systemen eingehen können, einschließlich der
sicherheitsrelevanten Eigenschaften vertrauenswürdiger Elemente, wenn sich
diese in solchen Beziehungen befinden, und die Beeinflussung, die
sich für
das Umfeld der sicherheitsrelevanten Eigenschaften des zusammengesetzten
Systems aus den sicherheitsrelevanten Eigenschaften der einzelnen
Elemente ergibt. Damit vertrauenswürdige Elemente kombinierbar sind,
müssen
einige Eigenschaften in sicheren Systemen eingerichtet werden, insbesondere,
wenn standardisierte Eigenschaften die Implementierung von vertrauenswürdigen Elementen
zu einer einfachen Aufgabe machen.
-
Die 4 ist
eine schematische Darstellung, die eine Vertrauens-Begrenzung zeigt,
wie sie zwischen einem Betriebssystem und einer vertrauenswürdigen Rechenbasis
gemäß der Erfindung
errichtet ist. In der Figur trennt die Vertrauens-Begrenzung 30 das
Betriebssystem 34 von einer vertrauenswürdigen Rechenbasis 32.
In diesem Beispiel enthält
die vertrauenswürdige
Rechenbasis eine kryptographische Einheit 14, die durch
eine Richtlinie gemäß dem oben
beschriebenen internationalen Kryptographieframework geregelt ist.
Die kryptographische Einheit umfaßt einen Krypto-Ausfuhrungsbereich 38,
der kryptographische Funktionen ausführt (beispielsweise diejenigen,
die in dem US Patent 5,710,814, "Cryptographic
Unit Touch Point Logic" beschrieben sind).
-
Die
kryptographische Einheit umfaßt
ferner einen vertrauenswürdigen
Ausführungsbereich 37, der
für die
Ausführung
der vertrauenswürdigen
Verarbeitung zuständig
ist. Wie oben bemerkt, tritt die vertrauenswürdige Ausführung gemäß einiger grundlegender strukturellen
Annahmen auf, beispielsweise die Annahme, daß die kryptographische Einheit
von einem vertrauenswürdigen
Element beispielsweise die Richtlinie, gesteuert ist. Der vertrauenswürdige Ausführungsbereich
ist typischerweise eine Wiedergabe eines Anwendungsmoduls, das einem
Host oder einem externen Einrichtungstoken (device token) oder einem
Systemprozeß angehört, der
in einer vertrauenswürdigen
Rechenbasis ausgeführt
wird. Der einzige Unterschied ist der gesteuerte Zugriff auf Daten
und Befehle aufgrund einer sehr engen Verbindung mit der Richtlinie.
Da die vertrauenswürdige Verarbeitung
hier als einfacher Prozeß definiert
ist, ist sie ein nicht unterbrechbarer Task, der eine einzelne Zuweisung
zu dem Prozeß oder
CPU aufweist. Es ist daher nicht möglich, den bestehenden Prozeß zu ersetzen,
da diese bestimmte Funktion des Änderns oder
des Austauschens des Kontextes der Kontrolle des vertrauenswürdigen Elements,
d.h. dem Richtlinienmonitor, unterliegt.
-
Das
Betriebssystem führt
typischerweise zahlreiche Anwendungen 39, 40 aus,
die jeweils einen oder mehrere Prozesse oder Tasks 41 umfassen.
Jede Anwendung umfaßt
typischerweise zahlreiche Abschnitte 42, die jeweils geschützte Mechanismen
verwenden, d.h. Umschläge
(envelopes) 43, 44, 45, um den vertrauenswürdigen Ausführungsbereich
zu verlassen, beispielsweise, um entfernt gelegene Prozesse 46 zu
verwenden, oder um sich vor einer lokalen Ausführung durch die kryptographische Einheit
dem Benutzerebenen-Task 41 anzugliedern.
-
Die
Umschläge
(envelopes) sind ein verschlüsselter/signierter
Block (bulk) von Daten, die jeden der zahlreichen bekannten Standards
verwenden können.
Beispielsweise verwendet in einer Ausführung der Erfindung ein Umschlag
die Verschlüsselungsdatenstruktur
der X/OPEN-definierten generischen kryptographischen Dienste (generic
cryptographic services, GCS), die zu einer Verschlüsselungs-Bedieneinrichtung
(encryption handle) gehören;
das heißt,
daß ein
Anwendungszertifikat-Berechtigungsnachweis während der ursprünglichen
sicheren Zuordnung eingerichtet wird, beispielsweise create_CC.
Die spezifische Bedieneinrichtung (handle) ist ein Sitzungsschlüssel, der
mit einem privaten Schlüssel
einer Anwendung verschlüsselt
wird, um den (die) sicheren Export/Import/Speicherung zu gewährleisten,
wenn diese(r) nicht in der vertrauenswürdigen Umgebung verwendet wird.
-
Die
kryptographische Einheit kann Komponenten wie Software, virtueller
Speicher und eine CPU umfassen. Es ist daher der kryptographischen Einheit
möglich,
Anwendungsprogramme in dem Speicher zu speichern und diese mittels
Paging einer vertrauenswürdigen
Rechenbasis zur vertrauenswürdigen
Verarbeitung zuzuführen.
Solche Anwendungen umfassen zahlreiche vertrauenswürdige Module (die
im weiteren detaillierter behandelt werden), denen typischerweise
jeweils eine Signatur zugeordnet ist. Dadurch hat das Modul selbst
eine gewisse Bindung zu dem Task, aber insbesondere ist eine Signatur
dem Modul zugeordnet, wodurch dieses einmalig und hinsichtlich der
Authentizität
und Integrität
verifizierbar ist. Im Gegensatz hierzu ist ein Verzweigungsmechanismus
nicht mehr als eine Standard-Kontrollstruktur oder -Kontrollfunktion
ohne jegliche Verifikation der Integrität des nächsten Befehls. Die Erfindung
sieht ein vertrauenswürdiges
Element vor, das beispielsweise einige der Kernkomponenten eines
Kernals vorbereitet, um deren Verhalten sehr speziell auszugestalten.
Der Stand der Technik sieht weder Adaptivität vor, noch die Möglichkeit
zur Rekonfiguration. Daher kann die Erfindung dahingehend verstanden
werden, daß ein
vertrauenswürdiges
Element vorgesehen wird, das die Anwendung oder das Betriebssystem
vorab konditioniert, so daß dieses)
in einer bestimmten Weise gemäß den Vorgaben
der Richtlinie arbeitet.
-
Mit
der Erfindung ist immer gegeben, daß die Vertrauenswürdigkeit
in den Grenzen der vertrauenswürdigen
Rechenbasis auf einer Seite der Vertrauens-Begrenzung liegt. Wie
in der obengenannten Patentanmeldung "International Cryptographic Framework" von K. Klemba und
R. Merckling behandelt, ist es nicht möglich, in einen Bereich, der
durch eine Richtlinie gesichert ist, einzutreten oder diesen zu ändern. In
der Erfindung wird der Begriff Richtlinien-Einheit/kryptographische Einheit verwendet,
um eine Vertrauens-Begrenzung innerhalb eines Prozesses zu errichten,
so daß die
vertrauenswürdigen
Elemente verwendet werden, um die Ausführung eines Tasks oder eines
Prozesses innerhalb einer Anwendung zu kontrollieren. Jeder Versuch,
die vertrauenswürdige Rechenbasis
zu stoppen, oder die Seiten aus der Applikation zu entfernen, wird
von der vertrauenswürdigen
Rechenbasis erfaßt,
und damit wird jegliche Funktionen, die von dem vertrauenswürdigen Element
vorgesehen werden, gesperrt (genauer: gelöscht).
-
Daher
kann das Betriebssystem 34, beispielsweise MacOS®,
Windows® oder
Lotus Notes® in dem
vertrauenswürdigen
Verarbeitungsbereich 37 einen Codebereich über die
Vertrauens-Begrenzung hinweg
umfassen, beispielsweise Code zur Kostenbestimmung, der dem Benut zer
für den
Zugriff auf dieses System etwas berechnet. Für solche Anwendungen ist es
wesentlich, daß diese
Codestücke
ausgeführt
werden.
-
In
dem System liegt implizit ein vertrauenswürdiges Element vor, beispielsweise
die oben betrachtete Richtlinie in Verbindung mit dem internationalen
Kryptographieframework. Wenn die Richtlinie entfernt ist, könnte die
Anwendung trotzdem ablaufen; jedoch kann sie die von der vertrauenswürdigen Maschine
bzw. Engine vorgesehenen Eigenschaften nicht nutzen. In dem obengenannten
Kostenberechnungsbeispiel würde
die Berechnungsfunktion nicht ablaufen, mit dem Ergebnis, daß der Zugriff
nicht gestattet wäre.
-
In
einem System, in dem Kryptographie verwendet wird, beispielsweise
wie es in 4 in Verbindung mit dem Krypto-Ausführungsbereich 38 dargestellt
ist, kann es der Anwendung verwehrt sein, Kryptographie in Abwesenheit
einer Richtlinie, d.h. des vertrauenswürdigen Elements, zu verwenden. Daher
kann die Anwendung ablaufen, jedoch keine Kryptographie verwenden.
In diesem Beispiel könnte eine
Kryptographieeinheit frei exportiert werden, ohne lokale Gesetze
hinsichtlich Kryptographie beachten zu müssen, jedoch könnte auf
die Kryptographie nur gemäß der lokalen
Gesetzte zugegriffen werden, wenn eine Richtlinie installiert ist,
d.h. wenn das vertrauenswürdige
Element vorliegt.
-
Die 5 ist
eine schematische Darstellung, die eine unterteilte Ausführung zeigt,
um ein Trennungsprinzip gemäß der Erfindung
zu veranschaulichen. Wie oben bemerkt, ist zur Trennung erforderlich,
daß in
jeder Ausführungsebene
eine klare Trennung der Sicherheitsfunktionen von anderen Funktion
angewendet wird, um die Menge an Funktionen zu minimieren, die vertrauenswürdig sein
müssen
um somit den Grad an zu erreichender Vertrauenswürdigkeit zu erhöhen. In
der Figur ist die vertrauenswürdige
Basis mit einer Vielzahl von Partitionen 42, 44, 46, 48, 49 dargestellt,
wobei jede Partition einen Prozeß oder einen Task definiert,
der auf die vertrauenswürdige
Rechenbasis zugreifen muß,
um während der
Ausführung
des Prozesses oder des Tasks ein vertrauenswürdiges Element vorzusehen.
Durch die abschnittsweise Ausführung
in einer Vielzahl von Partitionen, die jeweils Bestätigung von
außerhalb der
Vertrauens-Begrenzung erfordern, wird die Vertrauenswürdigkeitsfunktion
von der Ausführung
des Prozesses oder des Tasks getrennt, so daß die Ausführung einer Anwendung außerhalb
der Vertrauens-Begrenzung fortschreitet, ausgenommen diejenigen
Partitionen, die Vertrauenswürdigkeit
vorsehen und die von der Anwendung getrennt sind, jedoch für die Anwendung
Vertrauenswürdigkeit
vorsehen (vergleiche 3).
-
Die 6 ist
eine schematische Darstellung, die eine lokale Ausführung sensibler
Information zeigt, um das erfindungsgemäße Lokalitätsprinzip zu veranschaulichen.
Wie oben bemerkt, kann jeder Teil eines Systems, der Information
verarbeiten kann, diese Information korrumpieren. Daher muß die vertrauenswürdige Rechenbasis
gesichert sein. Deshalb hängt
das Erhalten der Integrität
der Information von dem Grad an Vertrauenswürdigkeit der systembildenden
Teile ab, welche die Information handhaben. Definitionsgemäß wird die
vertrauenswürdige Verarbeitungsfunktion
einer kryptographischen Einheit, die von einer Richtlinienkarte
kontrolliert wird, zu einem vertrauenswürdigen Ausführungsbereich, d.h., zu der
vertrauenswürdigen
Rechenbasis 32, in der kritische Anwendungen 59, 60, 61, 62 sensible
Information transformieren. Daher ist durch die Lokalität erforderlich,
daß vertrauenswürdige Funktionen
ausschließlich
in dem vertrauenswürdigen
Ausführungsbereich
ausgeführt
werden.
-
Der
vertrauenswürdige
Prozessor ermöglicht es
der Richtlinie, für
verschiedene Systembenutzer verschiedene Ebenen an Privilegien vorzusehen.
Daher reagiert ein bestimmtes System auf einen Benutzerzugriff mit
verschiedenen Ebenen an Privilegien, basierend auf der bestimmten
Richtlinie, d.h. der Grad an Vertrauenswürdigkeit ist durch die Richtlinie
vorgegeben. Ein Überwacher
(supervisor) kann größere Privilegien
als ein Angestellter haben, und der Besitzer der Firma kann bessere
Privilegien als der Überwacher
haben. Die Erfindung sieht daher ein vertrauenswürdiges Element vor, das beispielsweise die
Sicherheit einer Kostenberechnungsfunktion, basierend auf der Richtlinie
ermittelt, das heißt,
daß mehr
Autorität
weniger Sicherheit erfordert, und umgekehrt.
-
Ein
kritisches Element der Erfindung ist, daß das System die Engine und
das vertrauenswürdige Element
physikalisch getrennt vorsieht, da es beispielsweise in einigen
Ausführungen
wünschenswert ist,
die kryptographische Einheit international ohne Exportkontrollen
zu versenden zu können.
Passiert die kryptographische Einheit die Grenze, ist diese nicht
tatsächlich
eine kryptographische Einheit, da es keinen Weg gibt, diese als
kryptographische Einheit in Betrieb zu nehmen, ohne daß ein Benutzer
eine Richtlinienkarte einführt.
Daher können
die kryptographischen Einheiten einfach über internationale Grenzen
versendet werden, da diese keine Kryptographie enthalten, wenn sie
eine internationale Grenze überqueren.
-
Es
sollte beachtet werden, daß die
Erfindung diese Anordnung vorteilhafterweise in anderen Systemen
ausnutzt, in denen ein getrenntes vertrauenswürdiges Element erforderlich
ist; und daß das
hier vorgestellte Beispiel des internationalen Kryptographieframeworks
und der Komponenten, die dieses bilden, nur zum Zwecke der Darstellung
vorgesehen ist. Beispielsweise kombiniert eine Ausführung der Erfindung
eine kryptographische Richtlinie mit Privilegien/Identifikationsdaten.
Wenn das vertrauenswürdige
Element, beispielsweise die Richtline, zu der kryptographischen
Einheit oder zu einer anderen Engine mit der Fähigkeit angegliedert wird,
auf einen vertrauenswürdigen
Ausführungsbereich
zuzugreifen, wird die Kryptographie innerhalb der kryptographischen
Einheit gemäß der Richtlinie
aktiviert, und der Benutzer/die Privilegien werden für das System identifiziert.
Sobald die Richtlinie entfernt ist, dann ist nicht nur der Benutzer
aus dem System ausgeloggt, sondern dann ist auch die kryptographische
Funktion entfernt. Wenn ein Dritter auf das System zugreift und
versucht, dieses zu verwenden, kann es von diesem nicht verwendet
werden, da die kryptographische Funktion nicht arbeitet.
-
Die
Erfindung ist daher für
Instanzen wie nationale Regierungen nützlich. Beispielsweise kann
es einem Regierungsangestellten erlaubt sein, ein bestimmtes Verfahren
zu verwenden, das andere nicht verwenden dürfen. Als Konsequenz ist es
nicht wünschenswert,
dieses Verfahren innerhalb der kryptographischen Einheit aktiviert
zurückzulassen,
wenn sich der privilegierie Benutzer entfernt. Wenn der nächste Benutzer
kein Regierungsangestellter ist, dann befindet sich das Verfahren
nicht in dem System. Es ist allgemein bekannt, wie Authentifikationsinformation
zu verfälschen
ist. Wenn die Erfindung ausgeführt
wird, ist es nicht ausreichend, nur zu ermitteln, ob der Benutzer
ein Regierungsangestellter ist, bevor das als geheim eingestufte
Verfahren aktiviert wird. Wenn die Richtlinie eingeführt ist,
erfordert das vertrauenswürdige
Element eine durchgehende "Konversation" mit dem Task oder
dem Prozeß,
die nicht dupliziert werden kann, da sie für die Richtlinie spezifisch
ist. Daher gibt die Fälschung
einer Benutzeridentität
die Applikation nicht frei, beispielsweise wenn zahlreiche Partitionen
vorgesehen sind, die jeweils Zugriff auf das vertrauenswürdige Element
erfordern.
-
Es
sollte bemerkt werden, daß die
Richtlinie der kryptographischen Einheit in jeder Art und Weise hinzugefügt werden
kann. Beispielsweise kann diese physikalisch an einem einzelnen
Ort beigefügt
werden, oder sie kann elektronisch über eine sichere Kommunikationsleitung
hinzugefügt
werden.
-
Analyse des Kontrollflussses.
-
Umschläge (envelopes)
sind bereits das vertrauenswürdige
Vehikel sowie ein Grundstein des Verschlüsselungs-Erstellungsblocks,
der die grundlegende Gatefreigabe-Information für die Berührungspunkte vorsieht. In gleicher
Weise übertragen
die Umschläge
vertrauenswürdige
Ausführungsinformation
an den Richtlinienmonitor. Der Kontrollfluß zur Einführung der vertrauenswürdigen Verarbeitungsrichtlinie
ist am besten unter Bezugnahme auf die Beschreibung des Verhaltens
der kryptographischen Einheit verständlich, die in dem
US 5,719,814 "Cryptographic Unit
Touch Point Logic" von
K. Klemba und R. Merckling, sowie in der oben genannten Patentanmeldung "International Cryptography
Framework" ausgeführt ist.
-
Die 7 ist
ein Timingdiagramm, das das Verhalten einer kryptographischen Einheit
während eines
Arbeitsschritts gemäß der Erfindung
darstellt. Zum Zwecke der hier beschriebenen Erfindung ist das Verhalten
der kryptographischen Einheit wie folgend modifiziert:
Die
kryptographische Einheit führt
Schritt 7 durch (siehe auch 4 in dem
oben genannten US Patent "Cryptographic
Unit Touch Point Logic")
nach einem ersten erfolgreichen Herzschlag des zuletzt installierten
Verschlüsselungsverfahrens.
Um den Zustand zu festigen, ändert
die kryptographische Einheit ferner den Modus auf Mode 8.
In Mode 8 sind sowohl die von der Richtlinie gesteuerte
vertrauenswürdige
Verarbeitung und die von der Richtlinie gesteuerten Verschlüsselungsmechanismen
aktiviert. Es ist zu bemerken, daß die vertrauenswürdige Verarbeitung
nur stattfinden kann, während
die kontrollierte Verschlüsselung
aktiviert ist. Umgekehrt kann als Beispiel die kryptographische
Einheit in Schritt 7 während
einer Lebensperiode auf Mode 6 bleiben und trotzdem auf Mode 8 umschalten,
um die vertrauenswürdige
Ausführung
in einer anderen Lebensperiode freigeben. Zum Zwecke der hier angeführten Betrachtung
ist eine Lebensperiode (lifetime) definiert als Lebensausführung (life
execution) einer kryptographischen Engine auf einem Hostsystem.
Wie im weiteren behandelt ist, faßt Schritt 7 – Mode 8 die
Zeit zur Installation von Richtlinien für vertrauenswürdige Verarbeitung
zusammen. Eine logische Laufzahl #1 soll das Fortschreiten kennzeichnen.
-
Benutzungsbeispiel: Zertifiziertes
Laden.
-
Das
folgende Beispiel ist in 8 dargestellt, die ein schematisches
Diagramm zeigt, das den Kontrollfluß für eine erfindungsgemäße vertrauenswürdige Ausführung darstellt.
Dieses Bei spiel zeigt eine Ausführung
der Erfindung, die eine vertrauenswürdige Verarbeitung in dem oben
betrachteten internationalen Kryptographieframework vorsieht. Es
ist zu bemerken; daß das
folgende nur als Beispiel einer bevorzugten Ausführung der Erfindung vorgesehen
ist, und daß die
Erfindung nicht auf diese bestimmte Ausführung beschränkt ist.
In der Figur ist jeder der folgenden Schritte durch eine entsprechende
Zahl in einem Kreis dargestellt.
-
Schritt
#1: Zwischen dem Richtlinienmonitor 70 und der Richtlinie 12 wird
eine vertrauenswürdige Kommunikation
aufgebaut, d.h., zwei Challenge/Response-Phasen für die Identifikation
der kryptographischen Einheit und der Austausch ohne Vorwissen (zero
knowledge) zum Erstellen des Sitzungsschlüssels wurden erfolgreich abgeschlossen.
-
Schritt
#2: Der Richtlinienmonitor 70 hat die Berührungspunktdaten
durch die Ladefunktion umgeleitet (vgl. die oben genannte Patentanmeldung "Cryptographic Unit
Touch Point Logic").
Die Installation der Berührungspunktdaten
für den
letzten Mechanismus hat den Dialog mit einem erfolgreichen Herzschlag
abgeschlossen.
-
Schritt
#3: Der von der Richtlinie 12 stammende Kopf des Austauschumschlags,
der an die Kryptographieeinheit/den Richtlinienmonitor gerichtet
ist, kennzeichnet die nächsten
Inhalte des Umschlags als Berechtigungsnachweis für vertrauenswürdige Ausführung.
-
Es
gilt die folgende Inhaltsstruktur des Umschlags:
- • Adaptiver
Kernel-Kennzeichner (AKC1);
- • die
Privilegienebene, die verwendet werden sollte, um den COSp auszuführen, auf
den Bezug genommen wurde; und
- • die
von dem System zugelassene(n) Rolle(n) (system granted role(s)),
die mit einer solchen Anwendung verknüpft sind.
-
Es
können
mehrere Iterationen von Umschlägen
notwendig sein, um alle vertrauenswürdigen AKCs zu installieren.
-
Schritt
#4: Ein Anwendungs-Berechtigungsnachweis wird von dem API mit einem
zertifizierten COSp-Berechtigungsnachweis vorgelegt.
-
Schritt
#5: Die vertrauenswürdige
adaptive Kernelkomponente wird durch Nachrichtenweiterleitung gestartet,
wodurch eine bestimmte Privilegienebene durchgesetzt wird.
-
Schritt
#6: Zahlreiche Unter-AKCs fordern lokal ausgeführte Verschlüsselung
des Verschlüsselungsmaterials
an.
-
Schritt
#7: Auf einem spezifischen Datenblock wird während der Ausführung der
Anwendung Bezug genommen, wodurch die Verwendung einiger registrierter
Import-/Exponmechanismen erforderlich ist.
-
Schritt
#8: Die Ausführung
der Anwendung wird mit einer erfolgreichen Kapselung einiger Verschlüsselungsinformation
abgeschlossen, die in einem weiteren Aufruf wiederhergestellt werden
soll.
-
Durch Hardware geschützter Bereich.
-
Die 9 ist
eine schematische Darstellung, welche die lokale Ausführung einer
adaptiven Kernel-Komponente zeigt. In der Figur wird eine vertrauenswürdige Verarbeitungs-CPU
durch für
die Kernel-Komponenten vorgesehenen adaptiven Verarbeitungsrichtlinien
geregelt. In gleicher Weise erfordern solche Komponenten das Aufrufen
von Unterkomponenten. Dies ist in der 8 für AKC1 dargestellt,
die eine Privilegienebene, ein Verfahren und Informationserfassung
(die Weiterleiten oder verpacktes Weiterleiten (shuttling) umfassen
kann), eine durch den ADA garantierte Dienstklasse und eine Rolle
(role). Die Mechanismen der in 9 dargestellten
Ausführungen
gleichen denen, die oben in Verbindung mit 8 dargestellt
sind.
-
Ausführen und Anpassen von Richtlinien
für adaptive Kernels.
-
Kernels
neuerer Generation sehen spezielle Unterstützung für die Anpassungsfähigkeit
und Konfigurierbarkeit ihrer Basiskomponenten vor, sowie die Unterstützung erforderlichen
zugewiesenen Laufzeitverhaltens für kritische Anwendungen, die
hier kollektiv als Personalitä ten
(personalities) bezeichnet werden. Anwendungen verwenden zahlreiche
Kernel-Ressourcen,
beispielsweise Zeitplanungskomponenten (scheduling components),
Synchronisierungskomponenten, Threads, Speicher-Handler (memory
handlers), Ausnahmen-Handler (exception handlers) und Interrupts.
Frühere
Untersuchungen haben gezeigt, daß aufwendige Transaktionsanwendungen
sowie parallele Anwendungen oft dynamische Prozeßmigration und Lastausgleich
(load balancing) erfordern. Um die grundlegenden Eigenschaften zu
erfüllen,
die für
ein solches Ressourcenmanagement erforderlich sind, benötigen Komponenten
von zusammengestellten Produkten Standardschnittstellen, Datenformate
und Protokolle.
-
Kernels
sehen Ressourcen für
Anwendungen vor, beispielsweise die Zeitsteuerungskomponenten, Synchronisierungskomponenten,
Speicher-Handler und Ausnahme-Handler. Alle diese Komponenten definieren
ein spezifisches echtes Laufzeit-Verhalten für eine Anwendung. Ein Aspekt der
Erfindung (oben behandelt) definiert Personalitäten für Anwendungen, die tatsächlich eine Übersetzung
der Richtlinie sind. Eine in der kryptographischen Einheit installierte
Richtlinie kann die Personalität
einer Anwendung einschränken,
so daß sich
eine Anwendung, basierend auf der Richtlinie, in einer bestimmten
Weise verhält.
-
Beispielsweise
kann die Richtlinie die Personalität der kryptographischen Einheit
beschränken, indem
Synchronisierungsmechanismen, Interrupts und Ausnahme-Handling konfiguriert
werden, um die Verwendung privilegierter Betriebsmodi durch eine Anwendung
entweder zu vereinfachen oder zu verhindern. Wenn das Betriebssystem
eine Kernel-Funktion hat, beispielsweise ein Druckmodul, dann kann
durch die Richtlinie ein Druckprozeß gehemmt werden, d.h., der
Benutzer kamt bestimmte Informationen sehen, jedoch kann diese Information nicht
ausgedruckt werden. In gleicher Weise kann die Richtlinie dem Benutzer
Zugriff auf einen Server verwehren. Mit Bezug auf die 5 und 6 kann eine
der Partitionen in dem Druckertreiber sein, so daß der Druckertreiber
zur Ausführung
auf die vertrauenswürdige
Rechenbasis zugreifen muß.
Daher kann dann der Druckertreiber nicht ausgeführt werden, wenn die Richtlinie
die Druckfunktion verwehrt.
-
Im
folgenden ist ein Beispiel einer Anwendung der gesicherten verteilten
Verarbeitungsfunktionen eines persönlichen Tokens (10)
dargestellt. Dieses Beispiel führt
die Konzepte des Zugriffs auf persönliche Tokens 90 ein,
beispielsweise Smartcards. Smartcards gewinnen in einer breiten
Spanne von Industriesektoren mehr und mehr an Bedeutung. Während diese
vorgesehen sind, einfache und kleine Mengen an Information sicher
zu verwahren, sind grö ßere Kapazitäten an Datenspeicherung
und bessere Zugriffsverfahren auf diesen Speicher für Anwendungen
notwendig, um die gesamten Vorteile des persönlichen Tokens vorzusehen.
-
Die
zentralen Schwierigkeiten liegen in der begrenzten Kapazität des persönlichen
Tokens, wodurch sich ein Kompromißverhältnis zwischen Funktion und
Kapazität
ergibt. Das Verteilen der Verarbeitungselemente über das Vernauensnetz mittels
adaptiver Kernel-Komponenten
(AKC)-Modelle können als
Alternative betrachtet werden, wie oben bereits angeführt wurde.
-
Im
folgenden ist ein Verfahren zum Implemetieren eines strukturierten
Zugriffsverfahrens auf höherer
Ebene beschrieben, beispielsweise SQL oder Aufruf-Verfahren wie
Applets für
sehr kleine Umgebungen. Dadurch wird ein Framework entwickelt, das die
sichere verteilte Verarbeitung zwischen dem persönlichen Token und der kryptographischen
Einheit ermöglicht,
die in dem Host-System installiert ist.
-
Es
können
drei Hauptszenarios ausgehend von den oben eingeführten Prinzipien
der Trennung und der Lokalität
definiert werden:
- • Szenario 1 ist eine spezielle
Ausführungsrichtlinie
für einen
Speichermanager.
- • Szenario
2 ist die Verwendung der Unterteilung in acht Schritte (oben beschrieben),
in der die Zielanwendung ein Applet ist.
- • Szenario
3 ist die ausdrückliche
Trennung von Daten und Verfahren, wobei die Daten in den persönlichen
Token vorgesehen sind, und wobei das Ausführungsverfahren zu der vertrauenswürdigen Verarbeitung
in der kryptoographischen Einheit gehört.
-
Da
Szenario 2 bereits in Verbindung mit 8 behandelt
wurde, sind keine weiteren Erläuterungen
erforderlich.
-
Szenario
1 erfordert eine zusätzliche
Einführung.
Drei Haupt-Erstellungsblocks sind Teil der Lösung.
-
Anwendung.
Die Anwendung ist das Element, welches das persönliche Token kontaktiert, um auf
gespeicherte Information zuzugreifen. Die Anwendung muß eine gegenseitige
Authentifizierung mit dem Token aufbauen, um die Authentität der ausgetauschten
Daten zu gewährleisten.
-
Zugriffsverfahren-Manager.
Der Zugriffsverfahren-Manager sieht für die Anwendung eine Abstraktion
auf hoher Ebene vor, beispielsweise die SQL-Sprache. Alle von der
Anwendung kommenden Anfragen werden in diesem Zugriffsverfahren
auf höhere
Ebene ausgedrückt.
-
Spezifische
Zugriffsrichtlinien können
in den Richtlinien-Managerblock installiert werden, wie in 11 dargestellt
ist, wodurch die Durchsetzung der ausschließlichen Verwendung von SQL-Befehlsklassen
(beispielsweise DELETE USER, CREATE KEY und UNLOCK) für spezifische
Administrationsanwendungen unterstützt wird, in denen der Benutzer
die Rolle eines Administrators hat. Um spezifisch vorgesehen zu
werden, gestattet das AKC_invocation-Feld die Ausführung der
Befehlsklassen delete_user, create_key und unlock. Diesen wird kein
COS-Feld zugeordnet, wenn keine Verschlüsselung der Daten erforderlich
ist.
-
Speichermanager.
Der Speichermanager ist das Element, das in dem persönlichen
Token implementiert ist. Die Hauptverantwortung des Speichermanagers
ist es, die in dem persönlichen
Token gespeicherte Information zu managen.
-
Das
gleiche Prinzip gilt für
die Steuerung des Verschiebens von verschlüsselten Daten, einschließlich ihrer Übertragung,
Umwandlung, Wiederherstellung und verschlüsselte Speicherung. Die Anwendung
mit dem AKC_invocation-Feld ermöglicht
spezifische Verschiebungsfunktionen mit einem COS-Feldsatz für verschlüsselte Speicherung.
-
Das
Szenario 3, das in 12 dargestellt ist, weist einen
weiteren Erstellungsblock auf: die Sicherungsschicht.
-
Beim
herkömmlichen
Ansatz, in dem jede Komponente in dem persönlichen Token vorgesehen ist,
ist die Sicherheitsbegrenzung auf der Zugriffsverfahren-Ebene vorgesehen.
Die Erfindung sieht ein Verfahren und eine Vorrichtung vor, die
diese Unterteilung bricht, indem eine Sicherheitsbegrenzung eingeführt wird,
die sich auf einer niedrigeren Ebene befindet. Als Ergebnis muß zwischen
dem Zugriffsverfahrenmanager in dem Host-System und dem Speichermanager
in dem persönlichen
Token sensible strukturelle Information ausgetauscht werden.
-
Der
gesamte Nachrichtenverkehr zwischen dem persönlichen Token und dem Zugriffsmanager muß in verschlüsselter
Form ausgetauscht werden, beispielsweise in Umschlägen. Es
müssen
auf jeder Seite der Verbindung kryptographische Dienste zur Verfügung stehen.
Die 12 zeigt ein System, das eine kryptographische
Einheit auf dem Host-System sowie die kryptographischen Dienste
verwendet, die in dem persönlichen
Token für
diesen Zweck implementiert sind.
-
Während die
Verbindung besteht, müssen sich
beide Parteien gegenseitig authentifizieren. Der Zugriffsmanager
muß die
strukturelle Information haben, bevor er eine Zugriffsanfrage bilden
kann. Der Zugriffsverfahrenmanager sendet eine Anfrage an das persönliche Token,
um die Verbindung herzustellen. Das persönliche Token antwortet mit
einer Aufforderung (challenge) und mit der strukturellen Information,
die von dem Zugriffsverfahrenmanager benötigt wird, um eine Anfrage
für den
Speichermanager zu bilden.
-
Nach
dem Herunterladen von Daten und der strukturellen Information von
dem persönlichen
Token in die Ausführungszone
unter Verwendung von Umschlägen
kann die vertrauenswürdige
Verarbeitung Privilegienbefehle freigeben, wie sie in der Zugriffsverfahren-Manageranwendung
spezifiziert sind. Dieses Szenario verwendet das AKC_privilege-Feld, um
die Ausführung
der korrekten Aktion bezüglich der
Daten zu steuern, die mittels der Umschläge geladen wurden.
-
Der
Kernpunkt der Erfindung ist die Tatsache, daß die Vertrauens-Begrenzung
nicht übertreten werden
kann. Während
diese Begrenzung physikalisch, elektrisch oder logisch sein kann,
errichtet das vertrauenswürdige
Element, d.h. die Richtlinie, die Vertrauens-Begrenzung, indem ein
Hardware-Element vorgesehen wird, das aufgrund der Weise, in der
es hergestellt und personalisiert ist, nicht dupliziert werden kann.
Während
das vertrauenswürdige Element
eine beliebige der unterschiedlichen Sicherheitseinrichtungen oder
Techniken sein kann, verwendet die bevorzugte Ausführung der
Erfindung die Vorteile der Eigenschaften, die von der Richtlinie
vorgesehen werden, welche in der oben genannten US-Patentanmeldung "International Cryptography Framework" von K. Klemba und
R. Merckling, beschrieben ist.
-
Einige
der Anwendungen, in denen die Erfindung eingesetzt werden kann,
umfassen die vertrauenswürdige
Ausführung
der Loginprüfung,
die Erzeugung von Prüfungsmitschriften
(audit-logs), das vertrauenswürdige
Konfigurationsmanagement, die Netz- und Systeminfrastruktur, das
Anwendungsmanagement, das Management der Sicherheitsautoritäten, das
Management der Anwendungsautoritäten, Management
von Richtlinienkarten und von Verwenderkarten, beispielsweise persönliche Tokens.
-
Verfallsfunktion
-
Jede
der zwischen der kryptographischen Einheit und der Richtlinie gesendete
Nachricht wird mittels eines Schlüssels verschlüsselt, der
sich fortwährend ändert. Dadurch
kann das System einen Verlauf hervorrufen, der nicht gestört werden
kann, da sich der Schlüssel
ständig ändert. Der
Wert ki (wobei ki eine
der Nachrichten ist) ist gleich einer Funktion der Sitzungslaufzahl
(RN). Diese Nachrichten beginnen an einem zufälligen Punkt, beispielsweise 1010,
die eine Zufallszahl ist, welche die erste Laufzahl war, die zwischen
der Richtlinie und der kryptographischen Einheit übertragen
wurde. Die Richtlinie sendet eine Antwort an die kryptographische
Einheit, welche die Zahl erhöht,
d.h. 1011. Das System fährt von
diesem Zufallspunkt aus mit der Bildung der Folge fort. Der Funktionswert
ki ist eine Funktion dieser Zufallszahl
und k, wobei k während
der Initialisierungsphase (wie oben beschrieben) ermittelt wurde und
ein einmaliger Schlüssel
ist, den sich nun die Richtlinie und die kryptographische Einheit
teilen.
-
Um
den Schlüssel
zu jedem Punkt ki zu kennen oder den Schlüssel vorauszusagen,
ist es notwendig, die Laufzahl der Nachricht, RN, und k, die ursprüngliche
Zahl, zu kennen. Ferner hat die Funktion einen Verfallswert. Es
soll beispielsweise angenommen werden, daß die Richtlinie und die kryptographische
Einheit für
eine gewisse Zeit in Verbindung standen und bis zu der Zahl 2084
gelangt sind, d.h. der Wert von RN. Wenn ein Eindringling eine Menge
dieser Nachrichten mitempfangen hat, und auf die erste Nachricht
zurückkehrt
und diese erlangen möchte, arbeitet
die Funktion nicht, wenn der ausgetauschte Wert um mehr als ein
Delta von 10 von der aktuellen Zahl entfernt ist. Daher ist ki nur gültig,
wenn RN gleich RN oder nicht mehr als 10 von RN entfernt ist.
-
Mit
der Verfallsfunktion können
die Richtlinie und die kryptographische Einheit eine Nachricht jeden
beliebigen Typs übermitteln,
der mit ki verschlüsselt wurde. Mit einer Brute-Force-Attacke auf
eine zu ermittelnde Nachricht mit einer fünf Tage dauernden Bearbeitung
dieser Nachricht kann es möglich
sein, an eine Nachricht zu kommen, um ki zu
erlangen. Jedoch wurde dies zu einem Zeitpunkt erreicht, an dem der
Schlüssel
bereits fünf
Tage alt war. Die Kenntnis dieses Schlüssels und sogar die Kenntnis
dieser Funktion kann nicht umgekehrt werden, um den Wert von k zu
ermitteln. Sogar wenn k und ki bekannt sind, weicht
der berechnete Wert mehr als 10 von dem aktuellen Wert ab.
-
Ein
Wert, beispielsweise 10, wird in einer bevorzugten Ausführung der
Erfindung ausgewählt,
da ein Legitimationssystem durch Jitter aus der Synchronisierung
kommen könnte,
beispielsweise durch einen Fehler in der Energieversorgung, oder
falls jemand die Richtlinie herauszieht, bevor sie die Zahl in ihrem
statischen RAM aktualisieren konnte. Das System wird sofort wieder
mit Strom versorgt, jedoch fällt das
System nicht wieder auf Null zurück.
Wenn die Energieversorgung wiederhergestellt ist, wird erwartet,
daß das
System mit ki fortfährt. Jedoch könnte dieser
Wert abweichen, so daß die
Zahl in dem Algorithmus veränderlich
ist, beispielsweise um 10.
-
Ein
wichtiger Aspekt der Erfindung ist, daß die Richtlinie gegenüber dem
System vertrauenswürdig
ist, jedoch der kryptographischen Einheit nicht tatsächlich vertraut.
Die Richtlinie kann jederzeit die Laufzahl ändern. Daher kann die Richtlinie
normalerweise die Laufzahl um jeweils eins erhöhen, um dann gelegentlich eine
andere Zufallszahl ausgeben. Wenn die Richtlinie dies durchführt, empfängt die kryptographische
Einheit die Zahl in der Nachricht, da die Nachricht mit ki verschlüsselt
worden wäre,
die das System synchronisiert. Wenn die andere Seite einen plötzlichen
Sprung der Laufzahl erkennt, ist die empfangene Nachricht gültig, da
diese in dem Datenstrom war, der mit dem richtigen nächsten Schlüssel verschlüsselt wurde;
lediglich die Zufallszahl macht einen Sprung. Die kryptographische
Einheit folgt diesem Sprung, da diese damit befaßt ist, eine Nachricht zurück an die
Richtlinie zu senden. Daher springt das System absichtlich periodisch
um einen Verfallswert, beispielsweise 10, nur für den Fall, daß der Wert
vor der zehnten Nachricht verschlüsselt wurde. Dieser Sprung
stammt ausschließlich
von der Richtlinie. Eine kryptographische Einheit weiß, daß von Zeit
zu Zeit ein Sprung erfolgen wird; wenn jedoch die Richtlinie einen
Sprung immer erkennt, ist dieser erfolgreich. Ferner kann das Intervall
für den
Sprung vollständig
zufällig
sein, und der Betrag des Sprungs kann nach oben oder nach unten
führen.