DE69635209T2 - Parametrierbare hash-funktionen zur zugangskontrolle - Google Patents

Parametrierbare hash-funktionen zur zugangskontrolle Download PDF

Info

Publication number
DE69635209T2
DE69635209T2 DE69635209T DE69635209T DE69635209T2 DE 69635209 T2 DE69635209 T2 DE 69635209T2 DE 69635209 T DE69635209 T DE 69635209T DE 69635209 T DE69635209 T DE 69635209T DE 69635209 T2 DE69635209 T2 DE 69635209T2
Authority
DE
Germany
Prior art keywords
key
executable program
unit
signature
executable
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
DE69635209T
Other languages
English (en)
Other versions
DE69635209D1 (de
Inventor
W. David AUCSMITH
C. Robert KNAUERHASE
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE69635209D1 publication Critical patent/DE69635209D1/de
Application granted granted Critical
Publication of DE69635209T2 publication Critical patent/DE69635209T2/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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf die Zugriffssteuerung in einem Computersystem. Insbesondere bezieht sich die vorliegende Erfindung auf eine Einrichtung und ein Verfahren zur Identifizierung des Ursprungs eines ausführbaren Abbildes [eines Prozesses im Speicher] und die Verwendung dieser Identifikation zur Bestimmung der dem Ausführbaren gewährten Ebene der Zugriffsrechte.
  • HINTERGRUND DER ERFINDUNG
  • Sicherheitsverletzungen in Computersystemen können entweder als vorsätzlich oder als unbeabsichtigt eingestuft werden. Zu den Arten eines vorsätzlichen Zugriffs gehört ein nicht autorisiertes Lesen von Daten, eine nicht autorisierte Modifikation von Daten und eine nicht autorisierte Zerstörung von Daten. Die meisten Betriebssysteme stellen für Prozesse Mittel zur Erzeugung anderer Prozesse bereit. In einer derartigen Umgebung ist die Erzeugung einer Situation möglich, in der Betriebssystemressourcen und Anwenderdateien missbraucht werden. Würmer und Viren sind zwei übliche Verfahren eines Missbrauchs. Der Schutz eines Computersystems hängt von seiner Fähigkeit zur Identifizierung des Ursprungs der auszuführenden Programme und zur Überprüfung ab, ob diese Programme nicht in einer Art und Weise modifiziert wurden, so dass sie dann eine Sicherheitsbedrohung für das System darstellen können. Das US-Patent Nr. 5,412,718 beschreibt ein Verfahren, bei dem eine für ein gegebenes Speichermedium einzigartige Signatur zur Ableitung eines Schlüssels zur Verschlüsselung der Informationen auf dem Speichermedium verwendet wird.
  • Zusätzlich zur Überprüfung der Echtheit des Ursprungs eines Programms gibt es auch eine dringende Notwendigkeit sicherzustellen, dass die Dateien, Speichersegmente, die CPU und anderen Ressourcen eines Computersystems nur durch die Prozesse genutzt werden können, die vom Betriebssystem eine ordnungsgemäße Berechtigung erhalten haben. Es gibt für die Bereitstellung dieses Schutzes verschiedene Gründe. Der offensichtlichste ist die dringende Notwendigkeit eine bösartige, absichtliche Verletzung einer Zugriffsbeschränkung zu verhindern. von mehr allgemeiner Bedeutung ist die dringende Notwendigkeit zu gewährleisten, dass jede in einem System aktive Programmkomponente Systemressourcen auf eine Art und Weise verwendet, die mit den festgelegten Richtlinien für die Verwendungen dieser Ressourcen übereinstimmt. Durch eine Erfassung latenter Fehler an den Schnittstellen zwischen den Komponententeilsystemen kann ein Schutz die Zuverlässigkeit verbessern. Eine frühzeitige Erfassung von Schnittstellenfehlern kann eine Kontaminierung eines gesunden Teilsystems durch ein anderes, schlecht funktionierendes Teilsystem verhindern.
  • Ein Prozess wirkt üblicherweise innerhalb eines Schutzbereichs. Der Bereich spezifiziert die Ressourcen, auf die der Prozess zugreifen kann. Jeder Bereich definiert eine Menge von Objekten und die an jedem Objekt aufrufbaren Operationsarten. Die Fähigkeit zur Ausführung einer Operation an einem Objekt ist ein Zugriffsrecht. Ein Bereich ist eine Sammlung von Zugriffsrechten, von denen jedes üblicherweise ein geordnetes Paar: <Objektname, Menge der Rechte> ist. Wenn zum Beispiel der Bereich D das Zugriffsrecht <Datei F, {lesen, schreiben}> aufweist, kann ein Prozess, der im Bereich D ausgeführt wird, sowohl Datei F lesen als auch schreiben. Es sollte jedoch nicht die Durchführung irgendeiner anderen Operation an diesem Objekt gestattet sein. Bereiche können disjunkt sein oder sie können Zugriffsrechte gemeinsam nutzen. Die Zuordnung zwischen einem Prozess und einem Bereich kann auch entweder statisch oder dynamisch sein. Folglich ist eine Beschränkung der für jeden Prozess zugänglichen Schutzbereiche wichtig.
  • Was folglich benötigt wird, sind eine Einrichtung und ein Verfahren zur Bereitstellung einer fälschungssicheren Signatur eines ausführbaren Abbildes, die verwendet werden kann zur Identifikation des Ursprungs des ausführbaren Abbildes, ob es irgendeine Modifikation am Ausführbaren gegeben hat und die dem Ausführbaren durch das Betriebssystem zu gewährenden Ebene der Zugriffsrechte oder des Vertrauens.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es werden ein Verfahren und eine Vorrichtung zur Zugriffssteuerung in einem Computersystem beschrieben. Ein Ausführungsbeispiel des Zugriffs-Controller weist eine Speichereinheit auf. Die Speichereinheit speichert einen, eine Signaturkomponente und ein verschlüsseltes ausführbares Abbild aufweisenden Datenblock. Mit der Speichereinheit ist eine Separierungseinheit gekoppelt. Die Separierungseinheit empfängt den Datenblock und separiert die Signaturkomponente vom verschlüsselten ausführbaren Abbild. Mit der Separierungseinheit ist eine Entschlüsselungseinheit gekoppelt. Die Entschlüsselungseinhieit empfängt das verschlüsselte ausführbare Abbild und entschlüsselt das verschlüsselte ausführbare Abbild in ein ausführbares Programm. Dies kann durch einen Programmlauf eines Entschlüsselungsalgorithmus erreicht werden, der die Signaturkomponente als einen Schlüssel zum Entschlüsseln des verschlüsselten ausführbaren Abbildes verwendet. Mit der Entschlüsselungseinheit ist eine Identifikationseinheit gekoppelt. Die Identifikationseinheit empfängt das zu verwendende ausführbare Programm und identifiziert einen für eine Identifikationsmarkierung im ausführbaren Programm gekennzeichneten Schlüssel zur Berechnung eines kryptographischen schlüsselab hängigen Hash-Wertes des ausführbaren Programms. Mit der Entschlüsselungseinheit ist eine Signaturerzeugungseinheit gekoppelt. Die Signaturerzeugungseinheit empfängt das ausführbare Programm und berechnet unter Verwendung eines durch die Identifikationseinheit identifizierten, gespeicherten Schlüssels einen kryptographischen schlüsselabhängigen Hash-Wert für das ausführbare Programm. Mit der Hash-Einheit ist eine Überprüfungseinheit gekoppelt. Die Überprüfungseinheit vergleicht zur Überprüfung des Ursprungs des Datenblocks und einer nicht erfolgten Durchführung einer Modifikation am Datenblock den schlüsselabhängigen Hash-Wert mit der Signaturkomponente. Mit der Hash-Einheit ist eine Rechtezuweisungseinheit gekoppelt. Die Rechtezuweisungseinheit empfängt den zur Berechnung des schlüsselabhängigen Hash-Wertes des ausführbaren Programms verwendeten Schlüssel und weist gemäß den dem Schlüssel zugeordneten Rechten dem ausführbaren Programm Rechte zu.
  • Ein zweites Ausführungsbeispiel der vorliegenden Erfindung offenbart ein Verfahren zur Zugriffssteuerung in einem Computersystem. Zuerst wird ein, eine Signaturkomponente und ein verschlüsseltes ausführbares Abbild aufweisender Datenblock empfangen. Nach dem Empfang des Datenblocks wird die Signaturkomponente vom verschlüsselten ausführbaren Abbild separiert. Als Nächstes wird durch die Ausführung eines die Signaturkomponente als Schlüssel verwendenden Entschlüsselungsalgorithmus das ausführbare Abbild entschlüsselt. Es wird ein, einer Identifikationsmarkierung im ausführbaren Programm entsprechender, zusammengesetzter Schlüssel identifiziert. Der zusammengesetzte Schlüssel wird zur Berechnung eines schlüsselabhängigen Hash-Wertes des ausführbaren Programms verwendet. Nach der Berechnung des schlüsselabhängigen Hash-Wertes wird zur Überprüfung der Quelle des Datenblocks der schlüsselabhängige Hash-Wert mit der Signaturkomponente verglichen. Gemäß dem Schlüs sel vorab zugewiesenen Rechten werden dem ausführbaren Programm Rechte zugewiesen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird vollständiger anhand der nachfolgend gegebenen, detaillierten Beschreibung und der beigefügten Zeichnungen der verschiedenen, in der Erfindung enthaltenen Merkmale und Elemente verstanden werden. Die Beschreibung und die Zeichnungen sind nicht zur Begrenzung der Erfindung auf das spezielle Ausführungsbeispiel gedacht. Sie werden zur Erklärung und zum Verständnis bereitgestellt.
  • 1 veranschaulicht ein Ausführungsbeispiel eines in einem Computersystem ausgeführten Zugriffs-Controllers.
  • 2 veranschaulicht eine Blockdarstellung eines Ausführungsbeispiels einer Codierungseinheit der vorliegenden Erfindung.
  • 3 veranschaulicht, wie eine Nachricht unter Verwendung einer Codierungseinheit der vorliegenden Erfindung codiert wird.
  • 4 veranschaulicht eine Blockdarstellung eines zweiten Ausführungsbeispiels eines Zugriffs-Controllers der vorliegenden Erfindung.
  • 5 veranschaulicht eine Blockdarstellung eines dritten Ausführungsbeispiels des Videoverarbeitungssystems der vorliegenden Erfindung.
  • 6 ist ein Ablaufdiagramm, das ein Verfahren zur Codierung veranschaulicht.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zur Zugriffssteuerung eines Computersystems veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Es wird eine neue Zugriffs-Controller-Einheit beschrieben. In der folgenden detaillierten Beschreibung werden zahlreiche spezielle Details zur Bereitstellung eines vollständigen Verständnisses der vorliegenden Erfindung dargelegt. Es wird jedoch von den Fachleuten verstanden werden, dass die vorliegende Erfindung ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen wurden bekannte Verfahren, Vorgehensweisen, Komponenten und Schaltungen nicht detailliert beschrieben, um die vorliegende Erfindung nicht zu verdecken.
  • Einige Teile der nachfolgenden detaillierten Beschreibungen werden in Form von Algorithmen und symbolischen Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers dargestellt. Diese algorithmischen Beschreibungen und Darstellungen sind die von den Fachleuten der Datenverarbeitung verwendeten Mittel, um anderen Fachleuten die Substanz ihrer Arbeit am wirksamsten zu vermitteln. Ein Algorithmus wird als eine in sich geschlossene Folge von Schritten verstanden, die zu einem gewünschten Ergebnis führt. Die Schritte sind diejenigen, die physikalische Manipulationen physikalischer Größen erfordern. Üblicherweise, aber nicht notwendigerweise, sind diese Größen elektrische oder magnetische Signale, die geeignet sind, gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert zu werden. Es hat sich zeitweise als zweckmäßig erwiesen, primär aus Gründen der allgemeinen Verwendung, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder dergleichen zu bezeichnen. Es sollte jedoch berücksichtigt werden, dass all diese und ähnliche Begriffe den entsprechenden physikalischen Größen zuzuordnen sind und lediglich für diese Größen verwendete, geeignete Kennzeichnungen sind. Wenn es nicht speziell anders angegeben ist, wie sich aus der folgenden Erörterung ergibt, ist in der vorliegenden Erfindung immer zu verstehen, dass sich Erörterungen, die Begriffe wie zum Beispiel „Verarbeiten" oder „Berechnen" oder „Rechnen" oder „Bestimmen" oder „Anzeigen" oder dergleichen verwenden, sich auf die Aktion und die Prozesse eines Computersystems oder einer ähnlichen elektronischen Recheneinrichtung beziehen, das bzw. die Daten, die als physikalische (elektronische) Größen in den Registern und Speichern eines Computersystems dargestellt sind, in andere Daten manipulieren und umwandeln, die in ähnlicher Weise als physikalische Größen in den Computersystemspeichern oder Registern oder anderen derartigen Informationsspeicher-, Übertragungs- oder Anzeigeeinrichtungen dargestellt werden.
  • 1 veranschaulicht in Blockdarstellungsform ein Computersystem eines Ausführungsbeispiels der vorliegenden Erfindung. Das Computersystem weist einen Bus 100, eine Tastaturschnittstelle 101, einen externen Speicher 102, eine Massenspeichereinrichtung 103, einen Prozessor 104 und einen Anzeigeeinrichtungs-Controller 105 auf. Der Bus 100 ist mit dem Anzeigeeinrichtungs-Controller 105, der Tastaturschnittstelle 101, dem Mikroprozessor 104, dem Speicher 102 und der Massenspeichereinrichtung 103 gekoppelt. Der Anzeigeeinrichtungs-Controller 105 kann mit einer Anzeigeeinrichtung gekoppelt werden. Die Tastaturschnittstelle 101 kann mit einer Tastatur gekoppelt werden.
  • Der Bus 100 kann ein einzelner Bus oder eine Kombination mehrerer Busse sein. Beispielsweise kann der Bus 100 einen Industry-Standard-Architectural[Industriestandard-Architektur] (ISA) – Bus, einen Extended-Industry-Standard-Architecture[Erweiterte-Industriestandard-Architektur] (EISA) – Bus, einen Systembus, einen X-Bus, einen PS/2-Bus, einen Peripheral-Components-Interconnect[Peripheriekomponentenverbindung] (PCI) – Bus, einen Personal-Computer-Memory-Card-International-Association [Standard für scheckkartengroße PC-Erweiterungen] (PCMCIA) – Bus oder andere Busse aufweisen. Der Bus 100 kann auch eine Kombination irgendwelcher dieser Busse aufweisen. Der Bus 100 stellt Kommunikationsverbindungen zwischen den Komponenten im Computersystem bereit. Die Tastaturschnitt stelle 101 kann ein Tastatur-Controller oder eine andere Tastaturschnittstelle sein. Die Tastaturschnittstelle 101 kann eine fest zugeordnete Einrichtung sein oder kann sich in einer anderen Einrichtung befinden, wie zum Beispiel einem Bus-Controller oder einem anderen Controller. Die Tastaturschnittstelle 101 gestattet die Koppelung einer Tastatur mit dem Computersystem und überträgt Signale von einer Tastatur zum Computersystem. Der externe Speicher 102 kann einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM), einen statischen Speicher mit wahlfreiem Zugriff (SRAM) oder andere Speichereinrichtungen aufweisen. Der externe Speicher 102 speichert zur Verwendung durch den Prozessor 104 Informationen und Daten von einer Massenspeichereinrichtung 103 und einem Prozessor 104. Die Massenspeichereinrichtung 103 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Einrichtung, eine Flash-Speichereinrichtung oder eine andere Massenspeichereinrichtung sein. Die Massenspeichereinrichtung 103 stellt dem externen Speicher 102 Informationen und Daten bereit.
  • Der Prozessor 104 verarbeitet Informationen und Daten vom externen Speicher 102 und speichert Informationen und Daten in den externen Speicher 102. Der Prozessor 104 empfängt auch Signale vom Tastatur-Controller 101 und überträgt Informationen und Daten zum Anzeige-Controller 105 zur Anzeige auf einer Anzeigeeinrichtung. Der Prozessor 104 überträgt auch Videobilder zum Anzeige-Controller zur Anzeige auf einer Anzeigeeinrichtung. Der Prozessor 104 kann ein Complex-Instruction-Set-Computing[Verarbeitung mit komplexem Befehlssatz] (CISC) – Mikroprozessor, ein Reduced-Instruction-Set-Computing[Verarbeitung mit reduziertem Befehlssatz] (RISC) -Mikroprozessor, ein Very-Long-Instruction-Word[sehr langes Befehlswort] (VLIW) – Mikroprozessor oder eine andere Prozessoreinrichtung sein. Der Anzeigeeinrichtungs-Controller 105 gestattet die Kopplung einer Anzeigeeinrichtung mit dem Computersystem und wirkt als eine Schnittstelle zwischen der Anzeigeeinrichtung und dem Computersystem. Der Anzeigeeinrichtungs-Controller 105 kann eine Monochrome-Display-Adapter[Monochrome-Anzeige-Adapter] (MDA) – Karte, eine Color-Graphics-Adapter[Farbgrafikadapter] (CGA) – Karte, eine Enhanced-Graphics-Adapter[Verbesserte-Grafik-Adapter] (EGA) – Karte, eine Multi-Color-Graphics-Array(Mehrfarbengrafik-Array] (MCGA) – Karte, eine Video-Graphics-Array[Videografik-Array] (VGA) – Karte, eine Extended-Graphics-Array[Erweitertes Grafik-Array] (XGA) – Karte oder ein anderer Anzeigeeinrichtungs-Controller sein. Die Anzeigeeinrichtung kann ein Fernsehapparat, ein Computerbildschirm, ein Flachbildschirm oder eine andere Anzeigeeinrichtung sein. Die Anzeigeeinrichtung empfängt über den Anzeigeeinrichtungs-Controller 105 Informationen und Daten von Prozessor 104 und zeigt dem Anwender des Computersystems die Informationen und Daten an.
  • Das Computersystem weist auch eine Zugriffs-Controller-Einheit 106 auf. Die Zugriffs-Controller-Einheit 106 ist mit dem Bus 100 gekoppelt. In der Zugriffs-Controller-Einheit 106 ist ein Satz von Schlüsseln gespeichert, denen Zugriffsrechte im Computersystem zugeordnet sind. Jeder Schlüssel definiert den Bereich, in dem ein Programm arbeitet. Die Schlüssel definieren auch einen oder mehrere zusammengesetzte Schlüssel, die in einer kryptographischen Hash-Funktion zur Erzeugung einer Programmsignatur als Parameter verwendet werden. Die Programmsignatur wird ferner als ein Verschlüsselungsschlüssel zum Verschlüsseln des ausführbaren Programms verwendet.
  • Die Zugriffs-Controller-Einheit 106 empfängt einen vom Prozessor 104 auszuführenden Prozess von der Massenspeichereinrichtung 103 oder einer anderen, mit dem Bus 100 gekoppelten I/O-Einrichtung. Der Prozess weist ein verschlüsseltes ausführbares Abbild und eine Signaturkomponente auf. Bevor das Computersystem ein Programm ausführt, überprüft die Zugriffs- Controller-Einheit 106, dass die Signatur des Programms von einem bekannten zusammengesetzten Schlüssel legal erstellt wurde. Durch die Prüfung der Signaturkomponente des Prozesses identifiziert die Zugriffs-Controller-Einheit 106 den Ursprung des Prozesses, überprüft, dass der Prozess nicht in einer das Computersystem bedrohenden Art und Weise modifiziert wurde, und bestimmt die Zugriffsebene, die das Betriebssystem dem Prozess gewähren soll. Die Zugriffs-Controller-Einheit 106 gestattet dann dem ausführbaren Programm die Ausführung mit den Rechten, die den beim Ableiten des zusammengesetzten Schlüssels verwendeten Schlüsseln zugewiesen wurden.
  • 2 veranschaulicht eine Blockdarstellung eines Ausführungsbeispiels einer Datei-Codierungseinheit der vorliegenden Erfindung. Die Datei-Codierungseinheit 210 weist einen Signaturgenerator 221 und eine Verschlüsselungseinheit 230 auf. Der Signaturgenerator 221 bewirkt die Erzeugung einer Signatur eines durch den Prozessor 104 auszuführenden, ausführbaren Programms. Die Verschlüsselungseinheit 230 verschlüsselt unter Verwendung der Signatur als ein Schlüssel die das ausführbare Programm enthaltende Datei. Der Signaturgenerator 221 führt an dem Klartext eines ausführbaren Programms eine kryptographische schlüsselabhängige Hash-Funktion aus. Dies erzeugt einen Geheimtext. Der Signaturgenerator 221 verwendet Schlüssel, die zusammengesetzte Schlüssel von in der Zugriffs-Controller-Einheit 106 gespeicherten Schlüsseln sind. Jedem der in der kryptographischen Hash-Funktion verwendeten, zusammengesetzten Schlüssel ist ein Satz von Zugriffsrechten zugeordnet. Diese Rechte werden dem ausführbaren Programm vor der Ausführung zugewiesen.
  • Der Signaturgenerator 221 weist eine Berechnungseinheit 222 und eine Verschlüsselungseinheit 223 auf. Der Signaturgenerator 221 kann die Berechnungseinheit 222 und die Verschlüsselungseinheit 223 zur Durchführung irgendeiner Anzahl von kryptographischen schlüsselabhängigen Hash-Funktionen oder Verschlüsselungsalgorithmen an dem Klartext des ausführbaren Programms verwenden. Die Schlüssel können entweder private symmetrische Schlüssel oder öffentliche asymmetrische Schlüssel sein. Der Unterschied ist der Schutzumfang, der von der Schlüsselkopie des Betriebssystems gefordert wird. Der Signaturgenerator 221 kann zur Erzeugung eines kryptographischen schlüsselabhängigen Hash-Wertes für das ausführbare Programm derartige konventionelle Algorithmen wie Lucifer, Madryga, NewDES, FEAL, REDOC, LOKI, Khufu, Khafre oder IDEA verwenden. In einem Ausführungsbeispiel der vorliegenden Erfindung verwenden die Berechnungseinheit 222 und die Verschlüsselungseinheit 223 zur Erzeugung eines kryptographischen schlüsselabhängigen Hash-Wertes für das ausführbare Programm die Data-Encryption-Standard[Datenverschlüsselungs-Standard] (DES) – Cipher-Block-Chaining[Chiffren-Blockverkettung] (CBC).
  • 3 veranschaulicht die zur Erzeugung eines schlüsselabhängigen Hash-Wertes für das ausführbare Programm von der Berechnungseinheit 222 und der Verschlüsselungseinheit 223 unternommenen Schritte bei Verwendung von CBC. Die Verkettung verwendet einen Rückkopplungsmechanismus. Die Ergebnisse der Verschlüsselung vorheriger Blöcke werden in die Verschlüsselung des aktuellen Blocks zurückgeführt. Mit anderen Worten, der vorherige Block wird zur Modifikation der Verschlüsselung des nächsten Blocks verwendet. Jeder Schlüsseltext- bzw. Geheimtextblock ist sowohl von dem ihn erzeugenden Klartextblock als auch den vorhergehenden Klartextblöcken abhängig. In CBC wird der Klartext vor der Verschlüsselung mit dem vorhergehenden Geheimtextblock XOR[Exklusiv-Oder] – verknüpft.
  • In diesem Beispiel empfängt die Codierungseinheit 210 eine, ein ausführbares Programm mit einer Größe von 24 Bytes enthaltende Datei. Der Signaturgenerator 221 trennt die 24-Byte-Datei in drei 8-Byte-Abschnitte auf. Die ersten 8 Bytes des Klartextes werden in Block 301 als P1 dargestellt. P1 wird mit einem in der Berechnungseinheit 222 gespeicherten Initiierungsvektor (IV) XOR-verknüpft. Dies ergibt ein erstes Produkt. Der Initiierungsvektor ist eine Funktion eines ersten zusammengesetzten Schlüssels, dem ein Satz von dem ausführbaren Programm zuzuweisenden Zugriffsrechten zugeordnet ist. Nachdem P1 mit IV XOR-verknüpft ist, führt die Verschlüsselungseinheit 223 unter Verwendung eines zweiten zusammengesetzten Schlüssels einen schlüsselabhängigen Verschlüsselungsalgorithmus an dem ersten Produkt durch. Dies ergibt ein verschlüsseltes erstes Produkt C1. Der schlüsselabhängige Verschlüsselungsalgorithmus kann einer von einer Auswahl von verschiedenen schlüsselabhängigen Verschlüsselungsalgorithmen sein, die irgendeinen der vorher aufgelisteten schlüsselabhängigen Verschlüsselungsalgorithmen umfasst. Die Berechnungseinheit 222 verknüpft das verschlüsselte erste Produkt mit dem als P2 dargestellten zweiten 8-Byte-Abschnitt XOR, um ein zweites 8-Byte-Produkt als Resultat zu haben. Die Verschlüsselungseinheit 223 führt unter Verwendung des zweiten zusammengesetzten Schlüssels einen schlüsselabhängigen Verschlüsselungsalgorithmus an dem zweiten Produkt durch. Dies ergibt ein verschlüsseltes zweites Produkt C2. Die Berechnungseinheit 222 verknüpft das verschlüsselte zweite Produkt mit dem dritten 8-Byte-Abschnitt XOR, um ein drittes 8-Byte-Produkt als Resultat zu haben. Die Verschlüsselungseinheit 223 führt unter Verwendung des zweiten zusammengesetzten Schlüssels einen schlüsselabhängigen Verschlüsselungsalgorithmus an dem dritten Produkt durch. Dies ergibt ein drittes verschlüsseltes Produkt, C3, das als eine Signatur des ausführbaren Programms verwendet wird.
  • Die Signaturerzeugungseinheit 221 erzeugt eine Signatur des ausführbaren Programms, die eine Funktion aller Zeichen in der Datei ist. Wenn das ausführbare Programm modifiziert wird, würde man auf diese Weise durch eine Neuberechnung des kryptographischen schlüsselabhängigen Hash-Wertes und den Vergleich des neuberechneten Wertes mit der ursprünglichen Signatur zur Erfassung der Modifikation im Stande sein.
  • Die Verschlüsselungseinheit 230 bewirkt durch die Durchführung eines Verschlüsselungsalgorithmus unter Verwendung der vom schlüsselabhängigen kryptographischen Hash-Algorithmus erzeugten Signatur als Schlüssel ein Verschlüsseln des ausführbaren Programms. Dies ergibt ein verschlüsseltes ausführbares Abbild. Die Verschlüsselung des ausführbaren Programms stellt eine zusätzliche Schutzebene bereit, um einen nicht autorisierten Dritten am Lesen des ausführbaren Programms zu hindern. von der Verschlüsselungseinheit 230 kann irgendeine Auswahl von Verschlüsselungsalgorithmen verwendet werden. Sowohl das verschlüsselte ausführbare Abbild als auch die Signatur werden als eine Datei zur Ausführung an ein Computersystem gesendet.
  • 4 veranschaulicht eine Blockdarstellung eines zweiten Ausführungsbeispiels eines Zugriffs-Controllers der vorliegenden Erfindung. Die Zugriffs-Steuerungs-Einheit 400 weist eine Speichereinheit 410, eine Separierungseinheit 420, eine Entschlüsselungseinheit 430, eine Identifikationseinheit 440, eine Signaturerzeugungseinheit 450, eine Überprüfungseinheit 460 und eine Rechtezuweisungseinheit 470 auf.
  • Die Speichereinheit 410 empfängt einen, ein verschlüsseltes ausführbares Abbild und eine Signaturkomponente aufweisenden Datenblock. Die Speichereinheit 410 kann eine DRAM-Einrichtung, eine SRAM-Einrichtung oder andere Speichereinrichtungen aufweisen. Die Speichereinheit 410 verwendet einen Zeiger, um dem Computersystem zu indizieren, ob die gespeicherte Datei ein ausführbares Abbild oder ein ausführbares Programm ist. Der Zeiger indiziert dem Computersystem, dass die Speichereinheit 410 als temporärer Speicher verwendet wird, wenn die gespeicherte Datei ein ausführbares Abbild ist. Der Zeiger indiziert dem Computersystem die Verwendung der Speichereinheit 410 als Ausführungsstelle, wenn die Datei ein ausführbares Programm ist.
  • Die Separierungseinheit 420 ist mit der Speichereinheit 410 gekoppelt. Die Separierungseinheit 420 empfängt den Datenblock von der Speichereinheit 410 und separiert das verschlüsselte ausführbare Abbild von der Signaturkomponente. Dies gestattet der Zugriffs-Steuerungs-Einheit 400 die getrennte Verarbeitung des verschlüsselten ausführbaren Abbildes und der Signaturkomponente.
  • Die Entschlüsselungseinheit 430 ist mit der Separierungseinheit 420 und der Speichereinheit 410 gekoppelt. Die Entschlüsselungseinheit 430 empfängt das verschlüsselte ausführbare Abbild in Geheimtextform und die Signaturkomponente von der Separierungseinheit 420. Die Entschlüsselungseinheit 430 entschlüsselt unter Verwendung der Signaturkomponente als Entschlüsselungsschlüssel das verschlüsselte ausführbare Abbild. Die Entschlüsselungseinheit 430 wandelt das verschlüsselte ausführbare Abbild in ein entschlüsseltes ausführbares Programm um.
  • Die Identifikationseinheit 440 ist mit der Entschlüsselungseinheit 430 und der Speichereinheit 410 gekoppelt. Die Identifikationseinheit 440 empfängt das ausführbare Programm von der Entschlüsselungseinheit 430. Die Identifikationseinheit 440 liest eine Identifikationsmarkierung im ausführbaren Programm und erhält die Identität eines entsprechenden zusammengesetzten Schlüssels, der der Identifikationsmarkierung zugewiesen wird. Dieser zusammengesetzte Schlüssel ist üblicherweise der gleiche Schlüssel, der von der Signaturerzeugungseinheit 221 zur Erzeugung des schlüsselabhängigen Hash-Wertes des ausführbaren Programms verwendet wird. In einem Ausführungsbeispiel der vorliegenden Erfindung enthält der Identifi kationsprozessor 440 eine Nachschlagtabelle, die verschiedene Identifikationsmarkierungen mit verschiedenen zusammengesetzten Schlüsseln abgleicht. Dem zusammengesetzten Schlüssel sind bestimmte Zugriffsrechte zugeordnet, die dem ausführbaren Programm gewährt werden.
  • Die Signaturerzeugungseinheit 450 ist mit der Identifikationseinheit 440 und der Speichereinheit 410 gekoppelt. Die Signaturerzeugungseinheit 450 empfängt die Identität des der Identifikationsmarkierung des ausführbaren Programms zugewiesenen, zusammengesetzten Schlüssels. Die Signaturerzeugungseinheit 450 bewirkt eine Berechnung eines kryptographischen schlüsselabhängigen Hash-Wertes des entschlüsselten ausführbaren Programms, das von der Identifikationseinheit 440 unter Verwendung der Identität des von der Identifikationseinheit 440 empfangenen, zusammengesetzten Schlüssels empfangen wurde. Die Signaturerzeugungseinheit 450 speichert eine Mehrzahl von Schlüsseln, denen spezielle Zugriffsrechte auf das Computersystem zugewiesen sind. Diese Schlüssel leiten eine Mehrzahl zusammengesetzter Schlüssel ab, die zur Codierung und Decodierung ausführbarer Programme und entschlüsselter ausführbarer Programme verwendet werden.
  • Die Überprüfungseinheit 460 ist mit der Signaturerzeugungseinheit 450 und der Speichereinheit 410 gekoppelt. Die Vergleichseinheit 460 empfängt die Signaturkomponente des ausführbaren Abbildes von der Speichereinheit 410 und den schlüsselabhängigen Hash-Wert des entschlüsselten ausführbaren Programms von der Signaturerzeugungseinheit 450. Die Überprüfungseinheit 460 vergleicht den schlüsselabhängigen Hash-Wert des entschlüsselten ausführbaren Programms mit der Signaturkomponente des ausführbaren Abbildes. Wenn beide gleich sind, gestattet die Überprüfungseinheit 460 dem entschlüsselten ausführbaren Programm die Ausführung durch das Computersystem. Wenn beide nicht gleich sind, erkennt die Überprüfungseinheit 460, dass das ausführbare Abbild modifiziert wurde und nicht durch das Computersystem ausgeführt werden sollte.
  • In einem Ausführungsbeispiel der vorliegenden Erfindung empfängt die Signaturerzeugungseinheit 450 nicht die Identität eines zur Berechnung einer schlüsselabhängigen Hash-Funktion des entschlüsselten ausführbaren Programms verwendeten, zusammengesetzten Schlüssels. Stattdessen berechnet die Signaturerzeugungseinheit 450 unter Verwendung zusammengesetzter Schlüssel, die durch Permutationen von in der Signaturerzeugungseinheit 450 gespeicherten Schlüsseln abgeleitet werden, verschiedene schlüsselabhängige Hash-Werte des entschlüsselten ausführbaren Programms. Diese schlüsselabhängigen Hash-Werte werden von der Überprüfungseinheit 460 empfangen, die bestimmt, ob irgendeiner der schlüsselabhängigen Hash-Werte mit der ursprünglichen Signaturkomponente übereinstimmt. Wenn es eine Übereinstimmung zwischen der Signaturkomponente des ausführbaren Abbildes und irgendeinem der berechneten, schlüsselabhängigen Hash-Werte des entschlüsselten ausführbaren Programms gibt, gestattet die Überprüfungseinheit 460 in gleicher Weise dem entschlüsselten ausführbaren Programm die Ausführung durch das Computersystem. Wenn es keine Übereinstimmungen gibt, erkennt die Überprüfungseinheit 460, dass das ausführbare Abbild modifiziert wurde und nicht durch das Computersystem ausgeführt werden sollte.
  • Die Rechtezuweisungseinheit 470 ist mit der Überprüfungseinheit 460 und der Speichereinheit 410 gekoppelt. Die Rechtezuweisungseinheit 470 empfängt die Identität des zur Berechnung des mit der Signaturkomponente des ausführbaren Abbildes übereinstimmenden, schlüsselabhängigen Hash-Wertes verwendeten, zusammengesetzten Schlüssels. Wenn die Rechtezuweisungseinheit 470 ein die Ausführung des entschlüsselten, ausführbaren Programms durch das Computersystem indizierendes Signal von der Überprüfungseinheit 460 empfängt, bewirkt die Rechte zuweisungseinheit 470 eine Zuweisung der dem Programm verfügbaren Rechte durch die Identifizierung der Rechte, die den zur Berechnung des übereinstimmenden schlüsselabhängigen Hash-Wertes verwendeten, speziellen zusammengesetzten Schlüsseln zugeordnet wurden. In einem Ausführungsbeispiel der vorliegenden Erfindung kann die Rechtezuweisungseinheit 470 eine Nachschlagtabelle enthalten, die verschiedene zusammengesetzte Schlüssel mit verschiedenen Ebenen von Zugriffsrechten abgleicht. Nachdem die Rechtezuweisungseinheit 470 dem entschlüsselten ausführbaren Programm die entsprechenden Rechte zugewiesen hat, verschiebt die Rechtezuweisungseinheit 470 den Zeiger in der Speichereinheit 410, um dem Computersystem zu indizieren, dass die Speichereinheit 410 als Ausführungsstelle verwendet wird. Das Computersystem wird erkennen, dass die Speichereinheit 410 ein ausführbares Programm enthält, und wird zur Ausführung des ausführbaren Programms fortsetzen.
  • 5 veranschaulicht in einer Blockdarstellungsform ein typisches Computersystem eines vierten Ausführungsbeispiels der vorliegenden Erfindung. Das Computersystem weist einen Bus 500, einen Mikroprozessor 510, einen Speicher 520, eine Datenspeichereinrichtung 530, einen Tastatur-Controller 540 und einen Anzeigeeinrichtungs-Controller 550 auf.
  • Der Mikroprozessor 510 kann ein Complex-Instruction-Set-Computing(CISC) – Mikroprozessor, ein Reduced-Instruction-Set-Computing(RISC) – Mikroprozessor oder eine andere Prozessoreinrichtung sein. Der Mikroprozessor führt im Speicher 520 gespeicherte Befehle oder Code aus und führt Operationen an im Speicher 520 gespeicherten Daten durch. Das Computersystem 500 weist ferner eine mit dem Bus 515 gekoppelte Datenspeichereinrichtung 530 auf, wie zum Beispiel ein Festplatten-, ein Disketten- oder ein optisches Laufwerk. Der Anzeigeeinrichtungs-Controller 550 ist auch mit dem Bus 515 gekoppelt. Der Anzeigeeinrichtungs-Controller 550 gestattet die Koppelung einer Anzeigeeinrichtung mit dem Computersystem. Der Tastatur-Controller 540 gestattet die Koppelung einer Tastatur mit dem Computersystem und überträgt Signale von einer Tastatur zum Computersystem.
  • Der Speicher 520 ist mit dem Mikroprozessor 510 über den Bus 500 gekoppelt. Der Speicher 520 kann ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM), ein statischer Speicher mit wahlfreiem Zugriff (SRAM) oder eine andere Speichereinrichtung sein. Der Speicher 520 kann durch den Prozessor 510 ausführbare Befehle oder Code speichern, die Bestandteil von Anwendungsprogrammen, Programmen des Betriebssystems oder anderen Computerprogrammen sind. Der Speicher 520 weist ein Speicherungsmodul 521, ein Separationsmodul 522, ein Entschlüsselungsmodul 523, ein Identifikationsmodul 524, ein Signaturerzeugungsmodul 525, ein Überprüfungsmodul 526 und ein Rechtezuweisungsmodul 527 auf. Das Speicherungsmodul 521 weist eine erste Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Speicherungsmodul führt Funktionen durch, die denen der Speichereinheit 410 in 4 ähnlich sind. Das Separationsmodul 522 weist eine zweite Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Separationsmodul 522 führt Funktionen durch, die denen der Separierungseinheit 420 in 4 ähnlich sind. Das Entschlüsselungsmodul 523 weist eine dritte Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Entschlüsselungsmodul 523 führt Funktionen durch, die denen der Entschlüsselungseinheit 430 in 4 ähnlich sind. Das Identifikationsmodul 524 weist eine vierte Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Identifikationsmodul 524 funktioniert ähnlich der Identifikationseinheit 440 in 4. Das Signaturerzeugungsmodul 525 weist eine fünfte Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Signaturerzeugungsmodul 525 führt Funktionen durch, die denen der Signaturerzeugungseinheit 450 in 4 ähnlich sind. Das Überprüfungsmodul 526 weist eine sechste Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Überprüfungsmodul 526 führt Funktionen durch, die denen der Überprüfungseinheit 460 in 4 ähnlich sind. Die Rechtezuweisungseinheit 527 weist eine siebte Mehrzahl von durch den Prozessor ausführbaren Befehlen auf, die durch den Prozessor 510 in der in 7 gezeigten Art und Weise ausgeführt werden. Das Rechtezuweisungsmodul 527 funktioniert ähnlich der Rechtezuweisungseinheit 470 in 4.
  • 6 ist ein Ablaufdiagramm, das ein Verfahren zur Codierung eines von einem Computersystem auszuführenden, ausführbaren Programms veranschaulicht. Zuerst wird ein ausführbares Programm empfangen, wie in Block 601 gezeigt. Als Nächstes wird ein zusammengesetzter Schlüssel empfangen, der dem ausführbaren Programm zuzuweisende, zugeordnete Rechte definiert, wie in Block 602 gezeigt.
  • Es wird ein schlüsselabhängiger kryptographischer Hash-Algorithmus an dem ausführbaren Programm durchgeführt. Der verwendete zusammengesetzte Schlüssel kann entweder ein privater symmetrischer Schlüssel oder ein öffentlicher asymmetrischer Schlüssel sein. Dies ergibt einen verschlüsselten schlüsselabhängigen Hash-Wert, der als eine Signatur oder Fingerabdruck für das ausführbare Programm dient. Dies ist in Block 603 gezeigt.
  • Als Nächstes wird das ausführbare Programm unter Verwendung des verschlüsselten schlüsselabhängigen Hash-Wertes als Schlüssel verschlüsselt. Dies ergibt ein ausführbares Abbild. Dies ist in Block 604 gezeigt. Nachdem das ausführbare Programm zu einem ausführbaren Abbild verschlüsselt ist, werden sowohl das ausführbare Abbild als auch die Signaturkomponente zur Verarbeitung und Ausführung an ein Computersystem gesendet: Dies ist in Block 605 gezeigt.
  • 7 zeigt ein Ablaufdiagramm, das ein Verfahren zur Zugriffssteuerung in einem Computersystem veranschaulicht. Zuerst wird ein, eine Signaturkomponente und ein ausführbares Abbild aufweisender Datenblock empfangen, wie in Block 701 gezeigt. Es wird die Signaturkomponente vom ausführbaren Abbild separiert, wie in Block 702 gezeigt. Es wird das ausführbare Abbild unter Verwendung der Signaturkomponente als Schlüssel entschlüsselt. Dies ergibt ein entschlüsseltes ausführbares Programm. Dies ist in Block 703 gezeigt.
  • Als Nächstes wird eine Identifikationsmarkierung im entschlüsselten ausführbaren Programm lokalisiert, wie in Block 704 gezeigt. Es wird ein, der Identifikationsmarkierung zugeordneter, zusammengesetzter Schlüssel identifiziert. Dies ist in Block 705 gezeigt. Es wird ein schlüsselabhängiger kryptographischer Hash-Wert des entschlüsselten ausführbaren Programms unter Verwendung des der Identifikationsmarkierung zugeordneten, zusammengesetzten Schlüssels berechnet, wie in Block 706 gezeigt. Als Nächstes wird durch einen Vergleich der Signaturkomponente im Datenblock mit dem berechneten schlüsselabhängigen kryptographischen Hash-Wert für das entschlüsselte ausführbare Programm die Quelle des Datenblocks und, ob der Block modifiziert wurde, überprüft. Dies ist in Block 707 gezeigt. Das entschlüsselte ausführbare Programm wird nicht ausgeführt, wenn die Signaturkomponente im Datenblock nicht mit dem berechneten schlüsselabhängigen kryptographischen Hash-Wert übereinstimmt. Dies ist in Block 708 gezeigt. Wenn die Signaturkomponente im Datenblock mit dem berechneten schlüsselabhängigen kryptographischen Hash-Wert übereinstimmt, werden dem entschlüsselten ausführbaren Programm die entsprechenden Rechte zugewiesen, wie sie durch den zusammengesetzten Schlüssel identifiziert sind. Dies ist in Block 709 gezeigt. Zum Schluss wird das entschlüsselte ausführbare Programm ausgeführt, wie in Block 710 gezeigt.

Claims (12)

  1. Ein computer-implementiertes Verfahren zum Erzeugen eines codierten ausführbaren Abbilds eines ausführbaren Programms, umfassend: Durchführen einer kryptografischen schlüsselabhängigen Hash-Funktion an dem ausführbaren Programm, so daß eine Signaturkomponente erzeugt wird, unter Verwendung eines ersten Schlüssels, der einen zugehörigen Satz von Zugriffsrechten aufweist, die dem ausführbaren Programm zugewiesen sind; und Durchführen eines Verschlüsselungsalgorithmus an dem ausführbaren Programm unter Verwendung der Signaturkomponente als einem zweiten Schlüssel.
  2. Das Verfahren nach Anspruch 1, wobei das Durchführen der kryptografischen schlüsselabhängigen Hash-Funktion ein Durchführen eines Data-Encryption-Standard-Chiffreblockverkettungsalgorithmus umfaßt.
  3. Ein Verfahren zur Zugriffskontrolle, umfassend: Separieren einer Signaturkomponente aus einem verschlüsselten ausführbaren Abbild eines ersten ausführbaren Programms in einem Datenblock; Entschlüsseln des ausführbaren Abbilds in ein zweites ausführbares Programm unter Verwendung der Signaturkomponente; Berechnen eines kryptografischen schlüsselabhängigen Hash-Werts des ausführbaren Programms unter Verwendung eines Schlüssels, der einen zugehörigen Satz von Zugriffsrechten aufweist, die dem zweiten ausführbaren Programm zugewiesen sind; Überprüfen einer Quelle des Datenblocks, indem die Signaturkomponente mit dem kryptografischen schlüsselabhängigen Hash-Wert verglichen wird.
  4. Das Verfahren nach Anspruch 3, ferner umfassend: Auffinden einer Identifikationsmarke in dem zweiten ausführbaren Programm; und Nachschlagen des Schlüssels, der der Identifikationsmarke entspricht, um den kryptografischen schlüsselabhängigen Hash-Wert des zweiten ausführbaren Programms zu berechnen.
  5. Das Verfahren nach Anspruch 3, ferner umfassend ein Zuweisen von Rechten an das zweite ausführbare Programm in Übereinstimmung mit den dem Schlüssel zugeordneten Rechten.
  6. Eine Einrichtung zum Codieren eines ausführbaren Programms, aufweisend: eine Signaturerzeugungseinheit, die eine kryptografische schlüsselabhängige Hash-Funktion an einem ausführbaren Programm zum Erzeugen einer Signaturkomponente durchführt unter Verwendung eines ersten Schlüssels, der einen zugeordneten Satz von Zugriffsrechten aufweist, die dem ausführbaren Programm zugewiesen sind; und eine mit der Signaturerzeugungseinheit gekoppelte erste Verschlüsselungseinheit, die das ausführbare Programm unter Verwendung der Signaturkomponente als zweiten Schlüssel verschlüsselt.
  7. Die Einrichtung nach Anspruch 6, wobei die Signaturerzeugungseinheit ferner eine Berechnungseinheit und eine zweite Verschlüsselungseinheit aufweist, die einen Data-Encryption-Standard-Chiffreblockverkettungsalgorithmus durchführt.
  8. Ein Zugriffs-Controller, aufweisend: eine Separierungseinheit, die eine aus der Durchführung einer schlüsselabhängigen Hash-Funktion an einem ersten ausführbaren Programm abgeleitete Signaturkomponente von einem schlüsselabhängigen ausführbaren Abbild des ersten ausführbaren Programms in einem Block Daten separiert; eine mit der Separierungseinheit gekoppelte Entschlüsselungseinheit, die das schlüsselabhängigen ausführbare Abbild in ein zweites ausführbares Programm mit der Signaturkomponente entschlüsselt; eine Signaturerzeugungseinheit, die mit der Entschlüsselungseinheit gekoppelt ist und die einen kryptografischen schlüsselabhängigen Hash-Wert des zweiten ausführbaren Programms unter Verwendung eines Schlüssels berechnet; und eine mit der Signaturerzeugungseinheit gekoppelte Überprüfungseinheit, die den kryptografischen schlüsselabhängigen Hash-Wert mit der Signaturkomponente vergleicht.
  9. Der Zugriffs-Controller nach Anspruch 8, wobei die Signaturerzeugungseinheit ferner eine Schlüsselspeicherkomponente aufweist, die den von der Signaturerzeugungseinheit verwendeten Schlüssel speichert.
  10. Der Zugriffs-Controller nach Anspruch 8, ferner aufweisend eine mit der Entschlüsselungseinheit gekoppelte Identifikationseinheit, die den für eine Identifikationsmarke in dem zweiten ausführbaren Programm bestimmten Schlüssel zur Berechnung des kryptografischen Hash-Werts des zweiten ausführbaren Programms identifiziert.
  11. Der Zugriffs-Controller nach Anspruch 8, ferner aufweisend eine mit der Signaturerzeugungseinheit gekoppelte Rechtezuweisungseinheit, die Rechte an das zweite ausführbare Programm in Übereinstimmung mit dem Schlüssel zugeordneten Rechten zuweist.
  12. Ein Computersystem, aufweisend: einen Bus; einen mit dem Bus gekoppelten Speicher; und den Zugriffs-Controller nach Anspruch 8.
DE69635209T 1995-08-25 1996-07-19 Parametrierbare hash-funktionen zur zugangskontrolle Expired - Lifetime DE69635209T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US519307 1995-08-25
US08/519,307 US5757915A (en) 1995-08-25 1995-08-25 Parameterized hash functions for access control
PCT/US1996/011925 WO1997007657A2 (en) 1995-08-25 1996-07-19 Parameterized hash functions for access control

Publications (2)

Publication Number Publication Date
DE69635209D1 DE69635209D1 (de) 2006-02-02
DE69635209T2 true DE69635209T2 (de) 2006-06-22

Family

ID=24067740

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635209T Expired - Lifetime DE69635209T2 (de) 1995-08-25 1996-07-19 Parametrierbare hash-funktionen zur zugangskontrolle

Country Status (11)

Country Link
US (2) US5757915A (de)
EP (1) EP0860064B1 (de)
JP (1) JP4087442B2 (de)
CN (1) CN1124719C (de)
AU (1) AU6501196A (de)
BR (1) BR9610127A (de)
DE (1) DE69635209T2 (de)
HK (1) HK1015987A1 (de)
IL (1) IL123198A (de)
RU (1) RU2142674C1 (de)
WO (1) WO1997007657A2 (de)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US20120166807A1 (en) 1996-08-12 2012-06-28 Intertrust Technologies Corp. Systems and Methods Using Cryptography to Protect Secure Computing Environments
JP3865775B2 (ja) * 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
EP0790595B1 (de) * 1995-09-05 2005-12-28 Mitsubishi Denki Kabushiki Kaisha Vorrichtung und Verfahren zur Datenumwandlung
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
AU2003203649B2 (en) * 1996-08-12 2006-03-02 Intertrust Technologies Corporation Systems and methods using cryptography to protect secure computing environments
AU2004240210B2 (en) * 1996-08-12 2008-03-06 Intertrust Technologies Corporation Systems and methods using cryptography to protect secure computing environments
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
US6253323B1 (en) 1996-11-01 2001-06-26 Intel Corporation Object-based digital signatures
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US6021491A (en) * 1996-11-27 2000-02-01 Sun Microsystems, Inc. Digital signatures for data streams and data archives
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JP3781874B2 (ja) * 1997-09-05 2006-05-31 富士通株式会社 画像指示による電子情報管理装置、秘密鍵管理装置及び方法、並びに、秘密鍵管理プログラムを記録した記録媒体
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
EP1105798B1 (de) * 1998-08-19 2004-01-07 Siemens Aktiengesellschaft Verfahren, anordnung sowie ein satz mehrerer anordnungen zum schutz mehrerer programme und/oder mehrerer dateien vor einem unbefugten zugriff durch einen prozess
US6320964B1 (en) 1998-08-26 2001-11-20 Intel Corporation Cryptographic accelerator
DE19847943A1 (de) * 1998-10-09 2000-04-13 Deutsche Telekom Ag Verfahren zum Generieren von digitalen Wasserzeichen für elekronische Dokumente
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US6567917B1 (en) * 1999-02-01 2003-05-20 Cisco Technology, Inc. Method and system for providing tamper-resistant executable software
JP4238410B2 (ja) * 1999-04-09 2009-03-18 ソニー株式会社 情報処理システム
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
EP1056010A1 (de) 1999-05-28 2000-11-29 Hewlett-Packard Company Datenintegritätsüberwachung in einer vertrauten Rechnereinheit
EP1055990A1 (de) * 1999-05-28 2000-11-29 Hewlett-Packard Company Registrierung von Ereignissen in einer Computerplattform
FI110565B (fi) * 1999-06-08 2003-02-14 Nokia Corp Menetelmä ja järjestelmä puhelinkeskusjärjestelmässä
US6560599B1 (en) * 1999-06-30 2003-05-06 Microsoft Corporation Method and apparatus for marking a hash table and using the marking for determining the distribution of records and for tuning
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
JP2001066986A (ja) * 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
US6976165B1 (en) 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US6868405B1 (en) * 1999-11-29 2005-03-15 Microsoft Corporation Copy detection for digitally-formatted works
EP1256042B1 (de) * 2000-02-17 2005-07-20 General Instrument Corporation Methode und gerät für sicheres fernladen von software
KR100430147B1 (ko) * 2000-03-15 2004-05-03 인터내셔널 비지네스 머신즈 코포레이션 컴퓨터 액세스 제어
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US20010042204A1 (en) * 2000-05-11 2001-11-15 David Blaker Hash-ordered databases and methods, systems and computer program products for use of a hash-ordered database
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
JP2002016596A (ja) * 2000-06-29 2002-01-18 Oki Electric Ind Co Ltd 画像伝送装置及び画像受信装置
US6952477B1 (en) * 2000-07-03 2005-10-04 International Business Machines Corporation Fault intolerant cipher chaining
US7096493B1 (en) * 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
US6738932B1 (en) * 2000-12-22 2004-05-18 Sun Microsystems, Inc. Method and system for identifying software revisions from memory images
US6948065B2 (en) 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
EP1223696A3 (de) * 2001-01-12 2003-12-17 Matsushita Electric Industrial Co., Ltd. System zur Übertragung von digitalen Audiodaten nach dem MOST-Verfahren
US20020112163A1 (en) * 2001-02-13 2002-08-15 Mark Ireton Ensuring legitimacy of digital media
GB2372592B (en) * 2001-02-23 2005-03-30 Hewlett Packard Co Information system
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372591A (en) * 2001-02-23 2002-08-28 Hewlett Packard Co Method of investigating transactions in a data processing environment
GB2372594B (en) * 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing environment
IL142487A0 (en) * 2001-04-05 2003-09-17 Hexalock Ltd Method and system for protecting data
WO2002084590A1 (en) * 2001-04-11 2002-10-24 Applied Minds, Inc. Knowledge web
US7136840B2 (en) 2001-04-20 2006-11-14 Intertrust Technologies Corp. Systems and methods for conducting transactions and communications using a trusted third party
US7424747B2 (en) * 2001-04-24 2008-09-09 Microsoft Corporation Method and system for detecting pirated content
US7024403B2 (en) * 2001-04-27 2006-04-04 Veritas Operating Corporation Filter driver for identifying disk files by analysis of content
EP1388126B1 (de) * 2001-05-17 2013-03-27 Nokia Corporation Auf abstand gewährter zugang zu einer intelligenten umgebung
US20030105961A1 (en) * 2001-11-30 2003-06-05 Peter Zatloukal Avoiding attachment of an ineligible smart interchangeable cover to an electronic device
US7246235B2 (en) * 2001-06-28 2007-07-17 Intel Corporation Time varying presentation of items based on a key hash
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
US8117450B2 (en) * 2001-10-11 2012-02-14 Hewlett-Packard Development Company, L.P. System and method for secure data transmission
KR20030075018A (ko) * 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
US7844610B2 (en) 2003-12-12 2010-11-30 Google Inc. Delegated authority evaluation system
US8069175B2 (en) 2002-04-10 2011-11-29 Google Inc. Delegating authority to evaluate content
US20030196094A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Method and apparatus for authenticating the content of a distributed database
US20030195834A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Automated online purchasing system
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US6851056B2 (en) * 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
EP1504555A4 (de) * 2002-05-06 2008-09-03 Bentley Systems Inc Verfahren und system zur verwaltung digitaler rechte und digitaler signaturen
JP2004013608A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd プログラムの実行および転送の制御
US7243231B2 (en) 2002-07-31 2007-07-10 Intel Corporation Sensory verification of shared data
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
AU2003297193A1 (en) 2002-12-13 2004-07-09 Applied Minds, Inc. Meta-web
US8012025B2 (en) * 2002-12-13 2011-09-06 Applied Minds, Llc Video game controller hub with control input reduction and combination schemes
US8996874B2 (en) * 2003-04-03 2015-03-31 Stmicroelectronics Sa Protection of a program waiting to be executed in a memory used by a microprocessor
US7353397B1 (en) * 2003-04-30 2008-04-01 Adobe Systems Incorporated Repurposing digitally signed information
CN1860761B (zh) * 2003-06-05 2015-09-23 英特特拉斯特技术公司 用于对等服务编排的可互操作系统和方法
US7272228B2 (en) * 2003-06-12 2007-09-18 International Business Machines Corporation System and method for securing code and ensuring proper execution using state-based encryption
US20050033700A1 (en) * 2003-08-04 2005-02-10 Vogler Dean H. Method and apparatus for creating and rendering an advertisement
US8661559B2 (en) * 2003-08-18 2014-02-25 Riverside Research Institute Software control flow watermarking
US20050055312A1 (en) * 2003-08-18 2005-03-10 Wilson Kelce Steven Software control flow watermarking
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US20050131918A1 (en) * 2003-12-12 2005-06-16 W. Daniel Hillis Personalized profile for evaluating content
JP2005346182A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 情報処理装置、耐タンパ方法、耐タンパプログラム
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
EA200700350A1 (ru) * 2004-07-26 2007-08-31 Стохасто Аса Способ защиты компьютерных систем от шифрующихся и полиморфных вирусов
US7712135B2 (en) * 2004-08-05 2010-05-04 Savant Protection, Inc. Pre-emptive anti-virus protection of computing systems
US9313214B2 (en) * 2004-08-06 2016-04-12 Google Technology Holdings LLC Enhanced security using service provider authentication
JP4732508B2 (ja) 2005-03-22 2011-07-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. トラステッドデータのための方法、デバイス、およびデータ構造体
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US8521752B2 (en) 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
JP4901164B2 (ja) * 2005-09-14 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8135958B2 (en) * 2005-11-22 2012-03-13 International Business Machines Corporation Method, system, and apparatus for dynamically validating a data encryption operation
US20070180210A1 (en) * 2006-01-31 2007-08-02 Seagate Technology Llc Storage device for providing flexible protected access for security applications
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8099629B2 (en) * 2006-07-14 2012-01-17 Marvell World Trade Ltd. System-on-a-chip (SoC) test interface security
US7512748B1 (en) 2006-08-17 2009-03-31 Osr Open Systems Resources, Inc. Managing lock rankings
US8539228B1 (en) * 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
WO2008058377A1 (en) * 2006-11-13 2008-05-22 Certicom Corp. Compressed ecdsa signatures
US8024433B2 (en) * 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US8386608B1 (en) * 2007-08-03 2013-02-26 Alex Rankov Service scripting framework
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
US20090064134A1 (en) * 2007-08-30 2009-03-05 Citrix Systems,Inc. Systems and methods for creating and executing files
US8667597B2 (en) * 2008-06-25 2014-03-04 Lockheed Martin Corporation Systems, methods, and products for secure code execution
JP2010191665A (ja) * 2009-02-18 2010-09-02 Sony Corp 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体
EP2486509B1 (de) * 2009-10-09 2022-11-02 Nokia Technologies Oy Plattformsicherheit
WO2011119137A1 (en) 2010-03-22 2011-09-29 Lrdc Systems, Llc A method of identifying and protecting the integrity of a set of source data
US9772834B2 (en) * 2010-04-27 2017-09-26 Red Hat, Inc. Exportable encoded identifications of networked machines
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US8713684B2 (en) 2012-02-24 2014-04-29 Appthority, Inc. Quantifying the risks of applications for mobile devices
US10402393B2 (en) * 2012-03-02 2019-09-03 Pure Storage, Inc. Slice migration in a dispersed storage network
US11232093B2 (en) 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network
FR2992083B1 (fr) * 2012-06-19 2014-07-04 Alstom Transport Sa Calculateur, ensemble de communication comportant un tel calculateur, systeme de gestion ferroviaire comportant un tel ensemble, et procede de fiabilisation de donnees dans un calculateur
US8819772B2 (en) * 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8856519B2 (en) 2012-06-30 2014-10-07 International Business Machines Corporation Start method for application cryptographic keystores
US9106411B2 (en) 2012-09-30 2015-08-11 Apple Inc. Secure escrow service
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
RU2533061C1 (ru) * 2013-06-26 2014-11-20 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к шифруемым создаваемым файлам
US20150039872A1 (en) * 2013-08-05 2015-02-05 Caterpillar Inc. Multiple Signed Filesystem Application Packages
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US10491398B2 (en) * 2014-09-12 2019-11-26 Salesforce.Com, Inc. Facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment
US9842062B2 (en) 2015-05-31 2017-12-12 Apple Inc. Backup accessible by subset of related devices
CN108416224B (zh) * 2018-02-13 2019-10-15 北京梆梆安全科技有限公司 一种数据加解密方法及装置
US11055426B2 (en) * 2018-07-16 2021-07-06 Faro Technologies, Inc. Securing data acquired by coordinate measurement devices
US11108545B2 (en) * 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4715034A (en) * 1985-03-04 1987-12-22 John Fluke Mfg. Co., Inc. Method of and system for fast functional testing of random access memories
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US5052040A (en) * 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification

Also Published As

Publication number Publication date
BR9610127A (pt) 1999-10-26
US5940513A (en) 1999-08-17
CN1194072A (zh) 1998-09-23
US5757915A (en) 1998-05-26
HK1015987A1 (en) 1999-10-22
RU2142674C1 (ru) 1999-12-10
EP0860064B1 (de) 2005-09-21
JPH11511576A (ja) 1999-10-05
AU6501196A (en) 1997-03-19
WO1997007657A2 (en) 1997-03-06
EP0860064A4 (de) 1999-10-06
IL123198A (en) 2001-06-14
CN1124719C (zh) 2003-10-15
JP4087442B2 (ja) 2008-05-21
DE69635209D1 (de) 2006-02-02
EP0860064A2 (de) 1998-08-26
IL123198A0 (en) 1998-09-24
WO1997007657A3 (en) 1997-04-17

Similar Documents

Publication Publication Date Title
DE69635209T2 (de) Parametrierbare hash-funktionen zur zugangskontrolle
CA2241745C (en) Method and apparatus for controlling access to encrypted data files in a computer system
DE69534212T2 (de) Verfahren und Vorrichtung zur Verbesserung der Softwaresicherheit und zur Software-Verteilung
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE112005001666B4 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE69704684T2 (de) Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
DE69837303T2 (de) Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme
US6598161B1 (en) Methods, systems and computer program products for multi-level encryption
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
DE69816986T2 (de) Verfahren und vorrichtung zur versiegelung und unterschrift von objekten
DE112005001654B4 (de) Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD
WO1997024675A9 (en) Method and apparatus for controlling access to encrypted data files in a computer system
EP1943605A1 (de) Verfahren und system zum übertragen von daten von einer ersten datenverarbeitungseinrichtung an eine zweite datenverarbeitungseinrichtung
DE60114069T2 (de) System und Verfahren für den Schutz von Digitalwerken
DE60219706T2 (de) Verfahren und Vorrichtung zum Anfügen einer elektronischen Unterschrift an ein strukturiertes Dokument
DE60221861T2 (de) Server mit dateiverifikation
CN109919823A (zh) 一种水印生成方法和装置
CN111131657B (zh) 基于自验证矩阵的混沌医学图像防篡改加密方法
EP0982896B1 (de) Verfahren und Vorrichtung zum Nachweis einer digitalen Signatur einer elektronischen Datei
DE202022101844U1 (de) Ein System zur Ver- und Entschlüsselung von Daten für gesicherte Kommunikation
WO1998026537A1 (de) Verfahren zur elektronisch gesicherten speicherung von daten in einer datenbank
WO2024038210A1 (de) Verfahren zum bereitstellen eines digitalen schlüssels
EP3441898B1 (de) Verfahren und vorrichtung zum schützen einer software gegen ein unbefugtes nutzen
DE69935980T2 (de) Eine Technik zur Erstellung Privat authentifizierbarer kryptografischer Unterschriften und zur Verwendung einer solchen Unterschrift in Verbindung mit der Kopie eines Produktes
Geetha et al. Biometric Masking to Re-establish the Database Through Watermarking with Distortion Control

Legal Events

Date Code Title Description
8364 No opposition during term of opposition