DE69732882T2 - Verfahren und Vorrichtung für vertrauenswürdiges Verarbeiten - Google Patents

Verfahren und Vorrichtung für vertrauenswürdiges Verarbeiten Download PDF

Info

Publication number
DE69732882T2
DE69732882T2 DE69732882T DE69732882T DE69732882T2 DE 69732882 T2 DE69732882 T2 DE 69732882T2 DE 69732882 T DE69732882 T DE 69732882T DE 69732882 T DE69732882 T DE 69732882T DE 69732882 T2 DE69732882 T2 DE 69732882T2
Authority
DE
Germany
Prior art keywords
trusted
policy
processor
processor according
trustworthy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69732882T
Other languages
English (en)
Other versions
DE69732882D1 (de
Inventor
Roger Palo Alto Merkling
Helmut Fieres
Keith Palo Alto Klemba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHEYENNE PROPERTY TRUST SAN FR
CHEYENNE PROPERTY TRUST SAN FRANCISCO
Original Assignee
CHEYENNE PROPERTY TRUST SAN FR
CHEYENNE PROPERTY TRUST SAN FRANCISCO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHEYENNE PROPERTY TRUST SAN FR, CHEYENNE PROPERTY TRUST SAN FRANCISCO filed Critical CHEYENNE PROPERTY TRUST SAN FR
Application granted granted Critical
Publication of DE69732882D1 publication Critical patent/DE69732882D1/de
Publication of DE69732882T2 publication Critical patent/DE69732882T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/009Trust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

  • 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.

Claims (18)

  1. Vertrauenswürdiger Prozessor, der umfaßt: ein Prozeß (41), der eine Task innerhalb eines Systems ausführt, wobei der Prozeß eine oder mehrere Partitionen (42, 44, 46, 48, 49; 50, 52, 54, 56, 58) aufweist, die vertrauenswürdige Module definieren; eine Vertrauens-Begrenzung (30), die von einem vertrauenswürdigen Element (12) erstellt wird; und eine vertrauenswürdige Rechenbasis (32), einschließlich eines vertrauenswürdigen Ausführungsbereichs (37), wobei die vertrauenswürdige Rechenbasis von dem Prozeß getrennt ist und die vertrauenswürdigen Module lokal innerhalb des vertrauenswürdigen Ausführungsbereichs ausgeführt werden.
  2. Vertrauenswürdiger Prozessor nach Anspruch 1, wobei das vertrauenswürdige Element umfaßt: eine Richtlinie (12).
  3. Vertrauenswürdiger Prozessor nach Anspruch 2, wobei die Richtlinie (12) eine Prozessoridentität implementiert.
  4. Vertrauenswürdiger Prozessor nach Anspruch 3, wobei die Identität ein Vertrauensniveau und/oder ein Privileg definiert, das für einen Benutzer des vertrauenswürdigen Prozessors erforderlich ist.
  5. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 4, der ferner umfaßt: einen Umschlag (43), um Information über die Vertrauens-Begrenzung hinweg zu befördern.
  6. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 5, der ferner umfaßt: eine Verschlüsselungseinheit (14); und eine Richtlinie (12); wobei die Verschlüsselungseinheit von der Richtlinie gesteuert wird und die Richtlinie ein vertrauenswürdiges Element umfaßt.
  7. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 6, wobei die Vertrauens-Begrenzung (30) umfaßt: eine physikalische, elektrische und/oder logische Barriere.
  8. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 7, wobei das vertrauenswürdige Element (12) umfaßt: ein Hardware-Element, das aufgrund der Weise, in der es hergestellt und/oder personalisiert wurde, nicht dupliziert werden kann.
  9. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 8, wobei das vertrauenswürdige Element (12) die Verwendung von Verschlüsselung innerhalb des vertrauenswürdigen Ausführungsbereichs (37) steuert.
  10. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 9, der ferner umfaßt: einen Challenge/Response-Mechanismus (70), um Kommunikationen zu sichern, die über die Vertrauens-Begrenzung hinweg vorgesehen sind.
  11. Vertrauenswürdiger Prozessor nach Anspruch 10, wobei der Challenge/Response-Mechanismus (70) ferner umfaßt: eine Verfallsfunktion, um einen Challenge/Response-Schlüssel dynamisch zu ändern.
  12. Vertrauenswürdiger Prozessor nach Anspruch 11, wobei die Verfallsfunktion ferner umfaßt: Mittel, die innerhalb der vertrauenswürdigen Rechenbasis angeordnet oder mit dieser assoziiert sind, um den Challenge/Response-Schlüssel zufällig zu ändern.
  13. Vertrauenswürdiger Prozessor nach Anspruch 11, wobei die Verfallsfunktion ferner umfaßt: einen Offset mit festem Wert, der einen Bereich zulässiger Werte für den Challenge/Response-Schlüssel definiert.
  14. Vertrauenswürdiger Prozessor nach Anspruch 10, wobei der Challenge/Response-Mechanismus (70) sich nicht wiederholt und/oder nicht im voraus bestimmbar ist.
  15. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 14, wobei der Prozessor ferner umfaßt: zumindest eine Anwendung mit zumindest einem adaptiven Kern (AKC), wobei die Adaption in Reaktion auf eine Identität stattfindet, die von der Richtlinie vorgegeben ist.
  16. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 15, wobei das vertrauenswürdige Element ein persönliches Token (90) ist.
  17. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 16, wobei das vertrauenswürdige Element (12) eine fälschungssichere Smart-Card ist.
  18. Vertrauenswürdiger Prozessor nach einem der Ansprüche 1 bis 17, wobei die vertrauenswürdige Rechenbasis (32) von den Daten getrennt ist, und wobei die Daten zur Verarbeitung gesammelt und/oder an die vertrauenswürdige Rechenbasis übertragen werden.
DE69732882T 1996-08-23 1997-07-01 Verfahren und Vorrichtung für vertrauenswürdiges Verarbeiten Expired - Lifetime DE69732882T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/702,332 US5841869A (en) 1996-08-23 1996-08-23 Method and apparatus for trusted processing
US702332 2000-10-31

Publications (2)

Publication Number Publication Date
DE69732882D1 DE69732882D1 (de) 2005-05-04
DE69732882T2 true DE69732882T2 (de) 2006-02-23

Family

ID=24820785

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732882T Expired - Lifetime DE69732882T2 (de) 1996-08-23 1997-07-01 Verfahren und Vorrichtung für vertrauenswürdiges Verarbeiten

Country Status (4)

Country Link
US (1) US5841869A (de)
EP (1) EP0825511B1 (de)
JP (1) JPH10154130A (de)
DE (1) DE69732882T2 (de)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008155A1 (en) * 1996-08-20 1998-02-26 Hewlett-Packard Company Secure enablement of a processing entity
EP0881557B1 (de) * 1997-05-28 2003-04-16 Siemens Aktiengesellschaft Computersystem und Verfahren zum Schutz von Software
US6397330B1 (en) 1997-06-30 2002-05-28 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
US6389534B1 (en) 1997-06-30 2002-05-14 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
US6178504B1 (en) * 1998-03-12 2001-01-23 Cheyenne Property Trust C/O Data Securities International, Inc. Host system elements for an international cryptography framework
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US6988250B1 (en) 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
US6651171B1 (en) 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6775779B1 (en) * 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers
EP1055990A1 (de) 1999-05-28 2000-11-29 Hewlett-Packard Company Registrierung von Ereignissen in einer Computerplattform
EP1056010A1 (de) 1999-05-28 2000-11-29 Hewlett-Packard Company Datenintegritätsüberwachung in einer vertrauten Rechnereinheit
EP1085396A1 (de) 1999-09-17 2001-03-21 Hewlett-Packard Company Betrieb von gesicherten Zustand in einer Computerplattform
US6931130B1 (en) * 1999-10-07 2005-08-16 International Business Machines Corporation Dynamically adjustable software encryption
WO2001033355A1 (en) * 1999-11-01 2001-05-10 Secure.Net Corporation Security process for public networks
US6772416B1 (en) * 1999-11-19 2004-08-03 General Dynamics Decision Systems, Inc. Separation kernel with memory allocation, remote procedure call and exception handling mechanisms
US6757824B1 (en) 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
US6671809B1 (en) * 2000-05-10 2003-12-30 General Dynamics Decision Systems, Inc. Software-defined communications system execution control
US6895502B1 (en) 2000-06-08 2005-05-17 Curriculum Corporation Method and system for securely displaying and confirming request to perform operation on host computer
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
GB0020441D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
WO2002042880A2 (en) * 2000-10-25 2002-05-30 Thomson Financial Inc. Electronic commerce system
US7305360B1 (en) 2000-10-25 2007-12-04 Thomson Financial Inc. Electronic sales system
US7287089B1 (en) 2000-10-25 2007-10-23 Thomson Financial Inc. Electronic commerce infrastructure system
US7330830B1 (en) 2000-10-25 2008-02-12 Thomson Financial Inc. Distributed commerce system
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
GB2372345A (en) * 2001-02-17 2002-08-21 Hewlett Packard Co Secure email handling using a compartmented operating system
GB2372592B (en) * 2001-02-23 2005-03-30 Hewlett Packard Co Information system
GB2372594B (en) * 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing environment
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
ATE242892T1 (de) 2001-05-11 2003-06-15 Sospita As Sequenznummerierungsmechanismus zur sicherung der ausführungsordnungs-integrietät von untereinander abhängigen smart-card anwendungen
US7689506B2 (en) 2001-06-07 2010-03-30 Jpmorgan Chase Bank, N.A. System and method for rapid updating of credit information
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
GB2376762A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Renting a computing environment on a trusted computing platform
GB2376761A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
GB0114898D0 (en) * 2001-06-19 2001-08-08 Hewlett Packard Co Interaction with electronic services and markets
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
GB2378272A (en) * 2001-07-31 2003-02-05 Hewlett Packard Co Method and apparatus for locking an application within a trusted environment
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7159240B2 (en) * 2001-11-16 2007-01-02 Microsoft Corporation Operating system upgrades in a trusted operating system environment
US7243230B2 (en) 2001-11-16 2007-07-10 Microsoft Corporation Transferring application secrets in a trusted operating system environment
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US7350226B2 (en) * 2001-12-13 2008-03-25 Bea Systems, Inc. System and method for analyzing security policies in a distributed computer network
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US7337445B1 (en) 2003-05-09 2008-02-26 Sun Microsystems, Inc. Virtual system console for virtual application environment
US7437556B2 (en) * 2003-05-09 2008-10-14 Sun Microsystems, Inc. Global visibility controls for operating system partitions
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
US7389512B2 (en) * 2003-05-09 2008-06-17 Sun Microsystems, Inc. Interprocess communication within operating system partitions
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
US20040226017A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Mechanism for associating resource pools with operating system partitions
US7461080B1 (en) 2003-05-09 2008-12-02 Sun Microsystems, Inc. System logging within operating system partitions using log device nodes that are access points to a log driver
US7493650B2 (en) * 2003-07-01 2009-02-17 Portauthority Technologies Inc. Apparatus and method for ensuring compliance with a distribution policy
US7669239B2 (en) * 2003-09-15 2010-02-23 Jpmorgan Chase Bank, N.A. Secure network system and associated method of use
US7594112B2 (en) * 2003-10-10 2009-09-22 Bea Systems, Inc. Delegated administration for a distributed security system
US7644432B2 (en) 2003-10-10 2010-01-05 Bea Systems, Inc. Policy inheritance through nested groups
US8346909B2 (en) * 2004-01-22 2013-01-01 International Business Machines Corporation Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements
US20050188075A1 (en) * 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
US20050182966A1 (en) * 2004-02-17 2005-08-18 Duc Pham Secure interprocess communications binding system and methods
US7437767B2 (en) * 2004-11-04 2008-10-14 International Business Machines Corporation Method for enabling a trusted dialog for collection of sensitive data
US8181182B1 (en) 2004-11-16 2012-05-15 Oracle America, Inc. Resource allocation brokering in nested containers
US7647626B2 (en) * 2004-12-08 2010-01-12 International Business Machines Corporation Method for establishing a trusted relationship between a data server and a middleware server
US7568039B2 (en) * 2004-12-27 2009-07-28 International Business Machines Corporation Method for providing and utilizing a network trusted context
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
EP1866825A1 (de) 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Verfahren, einrichtungen und datenstrukturen für vertrauenswürdige daten
US8972743B2 (en) 2005-05-16 2015-03-03 Hewlett-Packard Development Company, L.P. Computer security system and method
US7885975B2 (en) 2006-02-23 2011-02-08 Oracle America, Inc. Mechanism for implementing file access control using labeled containers
US8938473B2 (en) 2006-02-23 2015-01-20 Oracle America, Inc. Secure windowing for labeled containers
US7882227B2 (en) 2006-02-23 2011-02-01 Oracle America, Inc. Mechanism for implementing file access control across a network using labeled containers
US8938554B2 (en) 2006-03-02 2015-01-20 Oracle America, Inc. Mechanism for enabling a network address to be shared by multiple labeled containers
GB2453518A (en) * 2007-08-31 2009-04-15 Vodafone Plc Telecommunications device security
US20110173643A1 (en) * 2008-10-10 2011-07-14 Nicolson Kenneth Alexander USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
US8321926B1 (en) * 2008-12-02 2012-11-27 Lockheed Martin Corporation System and method of protecting a system that includes unprotected computer devices
US20100293618A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Runtime analysis of software privacy issues
US20110296430A1 (en) * 2010-05-27 2011-12-01 International Business Machines Corporation Context aware data protection
US8930896B1 (en) * 2010-07-23 2015-01-06 Amazon Technologies, Inc. Data anonymity and separation for user computation
KR20150049596A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 보안 입력 방법 및 그 전자 장치
US10341321B2 (en) 2016-10-17 2019-07-02 Mocana Corporation System and method for policy based adaptive application capability management and device attestation
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0266748B1 (de) * 1986-11-05 1995-02-08 International Business Machines Corporation Softwareschutzsystem einschliesslich eines Einschlüsselkryptosystems, eines auf Hardware beruhenden Genehmigungssystems und eines geschützten Zusatzprozessors
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US4945468A (en) * 1988-02-01 1990-07-31 International Business Machines Corporation Trusted path mechanism for virtual terminal environments
US4885789A (en) * 1988-02-01 1989-12-05 International Business Machines Corporation Remote trusted path mechanism for telnet
US4993068A (en) * 1989-11-27 1991-02-12 Motorola, Inc. Unforgeable personal identification system
US5204961A (en) * 1990-06-25 1993-04-20 Digital Equipment Corporation Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols
US5173939A (en) * 1990-09-28 1992-12-22 Digital Equipment Corporation Access control subsystem and method for distributed computer system using compound principals
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5341422A (en) * 1992-09-17 1994-08-23 International Business Machines Corp. Trusted personal computer system with identification
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5574786A (en) * 1995-02-06 1996-11-12 International Business Machines Corporation Securing trusted personal computer system against unauthorized movement

Also Published As

Publication number Publication date
EP0825511B1 (de) 2005-03-30
EP0825511A3 (de) 1998-05-06
JPH10154130A (ja) 1998-06-09
US5841869A (en) 1998-11-24
EP0825511A2 (de) 1998-02-25
DE69732882D1 (de) 2005-05-04

Similar Documents

Publication Publication Date Title
DE69732882T2 (de) Verfahren und Vorrichtung für vertrauenswürdiges Verarbeiten
DE69720614T2 (de) Verschlüsselungseinheit mit Kontaktpunktlogik
DE69734227T2 (de) Verfahren und Vorrichtung zur Erzwingung der Benutzung von Kryptographie in einer internationalen kryptographischen Struktur
DE69729356T2 (de) Verfahren und gerät zur sicherung des zugangs einer station zu mindestens einem server
DE69829642T2 (de) Authentifizierungssystem mit chipkarte
DE69736697T2 (de) Verfahren und Gerät zur Steuerung von Zugriff auf Systembetriebsmittel
DE69731714T2 (de) Dynamische Dienstklassen für eine internationale kryptographische Struktur
DE60036086T2 (de) Berechtigung und zugriffskontrolle von in set-top geräten vorhandenen programmobjekten
DE69233708T2 (de) Vorrichtung und Verfahren zur Schaffung von Netzwerksicherheit
DE69226386T2 (de) Zugriffsteuerung in einem verteilten Rechnersystem
DE60006217T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von einem eingangspunktobjekt
DE69408176T2 (de) Verwaltungsverfahren von Geheimschlüsseln zwischen zwei Chipkarten
DE60119857T2 (de) Verfahren und Vorrichtung zur Ausführung von gesicherten Transaktionen
EP2454704A1 (de) Verfahren zum lesen von attributen aus einem id-token
DE10212619A1 (de) Sichere Benutzerauthentisierung über ein Kommunikationsnetzwerk
DE10212620A1 (de) Sichere Benutzer- und Datenauthentisierung über ein Kommunikationsnetzwerk
DE19827659A1 (de) Systeme und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE19947986A1 (de) System und Verfahren zum Herunterladen von Anwendungsteilen auf eine Chipkarte
WO2009106214A2 (de) Client/server-system zur kommunikation gemäss dem standardprotokoll opc ua und mit single sign-on mechanismen zur authentifizierung sowie verfahren zur durchführung von single sign-on in einem solchen system
DE60002687T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von laufzeitumgebungsprivilegien
DE60212969T3 (de) Verfahren und vorrichtung zum verfolgen des status eines betriebsmittels in einem system zur verwaltung der benutzung der betriebsmittel
DE602004012059T2 (de) Techniken zum dynamischen Aufbauen und Handhaben von Authentisierung und Vertrauensverhältnissen
WO2012168019A2 (de) Zugriff auf in einer cloud gespeicherte daten
DE69724448T2 (de) Verfahren und sicherheitssystem zur verarbeitung einer sicherheitskritischen tätigkeit
DE69733351T2 (de) Verbesserung von internet-kommunikationssystemen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition