DE69534212T2 - Verfahren und Vorrichtung zur Verbesserung der Softwaresicherheit und zur Software-Verteilung - Google Patents
Verfahren und Vorrichtung zur Verbesserung der Softwaresicherheit und zur Software-Verteilung Download PDFInfo
- Publication number
- DE69534212T2 DE69534212T2 DE69534212T DE69534212T DE69534212T2 DE 69534212 T2 DE69534212 T2 DE 69534212T2 DE 69534212 T DE69534212 T DE 69534212T DE 69534212 T DE69534212 T DE 69534212T DE 69534212 T2 DE69534212 T2 DE 69534212T2
- Authority
- DE
- Germany
- Prior art keywords
- computer
- software
- application author
- passport
- digital signature
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 42
- 230000008569 process Effects 0.000 description 10
- 241000700605 Viruses Species 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000006163 transport media Substances 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
- HINTERGRUND DER ERFINDUNG
- 1. Gebiet der Erfindung:
- Die vorliegende Erfindung betrifft den Einsatz einer Verschlüsselung mit öffentlichem Schlüssel und insbesondere betrifft die vorliegende Erfindung den Einsatz der Verschlüsselung mit öffentlichem Schlüssel, um eine bessere Sicherheit und Produktauthentifizierung bei dem Software-Vertrieb zu erzielen.
- 2. Fachlicher Hintergrund:
- Die Verschlüsselung mit öffentlichem Schlüssel basiert auf Verschlüsselungsalgorithmen, die zwei Schlüssel aufweisen. Einer wird zu Verschlüsselung verwendet und der andere Schlüssel wird zur Entschlüsselung verwendet. Es gibt einen bekannten Algorithmus, der den zweiten Schlüssel zuerst berechnet, wenn der Erste bekannt ist. Ohne vollständige Kenntnis aller Parameter kann man jedoch den ersten Schlüssel bei vorgegebenem zweiten Schlüssel nicht berechnen. Der erste Schlüssel wird als der "private Schlüssel" bezeichnet, und der zweite Schlüssel wird als der "öffentliche Schlüssel" bezeichnet. In der Praxis kann entweder der private Schlüssel oder der öffentliche Schlüssel zur Verschlüsselung einer Nachricht verwendet werden, wobei der andere Schlüssel zu deren Entschlüsselung verwendet wird. Im allgemeinen muß der private Schlüssel privat bzw. geheim gehalten werden, während der öffentliche Schlüssel jedem zur Verfügung gestellt werden kann. Verschiedene kryptographische Schemas mit öffentlichem Schlüssel wurden für den Schutz von Nachrichten und Daten entwickelt (siehe, Whitfield Diffie, "The First Ten Years of Public Key Cryptography" (IEEE Proceedings, Band 76, Nr. 5, 1988) und Paul Fahn, "Answers to Frequently Asked Questions about Today's Cryptography (RSA Laborstories 1993).
- Kryptographie mit öffentlichem Schlüssel wird zum Senden sicherer Nachrichten über öffentliche Kommunikationsverbindungen verwendet, welche ein Eindringling abhören kann, und sie löst das Problem des sichereren Übersendens des Verschlüsselungspaflworts an die andere Seite.
- Einige kryptographische Schemas mit öffentlichem Schlüssel erfordern eine Gegensignatur und gemeinsame Signatur für die digitale Zertifizierung (siehe Fischer, Public Key/Signature Cryptosystem With Enhanced Digital Signature Certification, Europäisches Patent mit der Veröffentlichungsnummer 0328232, 16. August 1989); oder sie ermöglichen einem Software-Anbieter, sein Signaturschema zu ändern, ohne seinen aktuellen Schlüsselzertifizierungsprozeß zu ändern, indem die Schlüsselzertifizierung und die Signaturverifikation in der Authentifizierungsprozedur getrennt werden (siehe Ham, Lin und Yang, A Software Authentication System For Information Integrity, Computers & Security Journal, Band 11, Nr. 8, Dezember 1992, Seiten 747–752).
- Systeme mit öffentlichem Schlüssel können auch zur Verschlüsselung von Nachrichten verwendet werden, und auch zum wirksamen Unterzeichnen von Nachrichten, wobei dies der empfangenden Partei ermöglicht, den Sender der Nachricht zu authentifizieren. Man kann die Kryptographie mit öffentlichem Schlüssel auch zum Versiegeln einer Dateneinheit oder zum Schützen dieser vor unautorisierten Eingriffen verwenden. In diesem Fall berechnet der Sender einen Nachrichten-Digest aus den Daten unter Verwendung speziell konzipierter kryptographisch starker Digests, die für diesen Zweck konzipiert sind. Der Sender verwendet den privaten Schlüssel dann zum Verschlüsseln des Nachrichten-Digests, wobei dieser verschlüsselte Nachrichten-Digest eine digitale "Signatur" genannt wird. Der Sender packt die Daten, den verschlüsselten Nachrichten-Digest und den öffentlichen Schlüssel dann zusammen. Der Empfänger kann dann eine Prüfung auf unautorisierte Eingriffe ausführen, indem er den Nachrichten-Digest erneut berechnet, und dann den empfangenen Nachrichten-Digest mit dem öffentlichen Schlüssel entschlüsselt. Wenn der neu berechnete und der entschlüsselte Nachrichten-Digest identisch sind, gab es keine unautorisierten Eingriffe auf die Daten.
- "Viren" und "Würmer" sind schlau in legitime Programme eingefügte Computercodes, die anschließend auf den Computern ausgeführt werden. Jedes Mal, wenn das Programm ausgeführt wird, kann der Virus oder der Wurm Schaden in den System verursachen, indem wertvolle Informationen zerstört werden, und/oder andere Maschinen außerdem infizieren und sich zu diesen in dem Netzwerk ausbreiten. Während es feine Unterschiede zwischen einem Virus und einem Wurm gibt, ist eine bedeutsame Komponente für beide, daß sie üblicherweise der Hilfe von einem ahnungslosen Computerbenutzer bedürfen, um einen Computer oder ein Firmennetz erfolgreich zu infizieren.
- Die Infizierung von Computern mit Viren und Würmern ist ein allgemeines Problem in der heutigen Computerindustrie. Außerdem sind Firmennetze anfällig für Frontalangriffe, bei denen ein Eindringling in das Netzwerk einbricht und Informationen stiehlt oder zerstört. Sicherheitsverletzungen beliebiger Art sind in großen Firmennetzen ein besonders beunruhigendes Problem aufgrund der Gefahr eines umfangreichen Schadens und wirtschaftlichen Verlustes. Sicherheitsverletzungen können darüber hinaus leichter begangen werden, wenn ein Firmennetzwerk mit einem öffentlichen Netzwerk, beispielsweise dem Internet verbunden ist. Firmen ergreifen verschiedene Maßnahmen, um sich vor Verletzungen der Netzwerksicherheit zu schützen, entweder durch Frontalangriffe oder Infizierungen, wobei die Vorteile erhalten bleiben sollen, die mit der Verbindung mit einem weltweiten Netzwerk verbunden sind.
- Die von den meisten Firmen, welche die Vorteile der Verbindung mit dem Internet nutzen möchten und gleichzeitig ihre Sicherheit aufrecht halten möchten, angenommene Lösung ist die Installation eines Firewall. Firewalls beschränken im allgemeinen Internet-Dateiübertragungen und Telnet-Verbindungen. Derartige Übertragungen und Verbindungen können nur von innerhalb des Firmennetzwerks initiiert werden, so daß von außerhalb initiierte Dateiübertragungen und Telnet-Verbindungen von dem Firewall zurückgewiesen werden. Firewalls erlauben e-mail und Netzwerknachrichten, frei in das innere des privaten Netzwerkes der Firewall zu strömen. Die Verwendung von Firmen-Firewalls erlaubt es Angestellten, in der Firmenumgebung leicht Informationen auszutauschen, ohne extreme Sicherheitsmaßnahmen zu ergreifen. Eine gute Firewall-Ausführung kann vor den meisten typischen Frontalangriffen auf die Systemsicherheit schützen.
- Ein Verfahren, um zu verhindern, daß Viren und Würmer ein Firmennetz infizieren, besteht darin, nie ein Programm auszuführen, das Viren enthalten kann. Im allgemeinen sollten legitim im Firmennetz verbreitete Programme als virusfrei betrachtet werden. Sofern von außerhalb des Firewalls abgerufen, ist alles binär Ausführbare, alle nicht durchgesehenen Shell-Scripts und jeder Quellcode Software, die einen Wurm oder Virus enthalten kann.
- Jedoch können binäre Ausführbare, Shell-Scripts und Quellcode von außerhalb einen Firmen-Firewall als Anlage einer e-mail erreichen. Beispielsweise können Shell-Scripts, die verwendet werden, um mehrere Dateien zu erstellen und mit Hilfe von e-mail zu senden, und die Survey-Tools, die durch Aktivierung der e-mail-Anlage gestartet werden, den Zugang von Viren ermöglichen. Ausführbare können auch direkt durch das iftp-Programm abgerufen werden, über einen world-wide-web-Browser, beispielsweise Mosaik, oder von einer externen Firma, deren Netzwerk bereits beeinträchtigt wurde.
- Darüber hinaus ist der kommerzielle Softwarefreigabe- und -verteilungsprozeß mit Sicherheits- und Authentifizierungsproblemen verbunden. Beispielsweise sind einige der Software zugeordneten Informationen, beispielsweise die Ursprungsfirma oder der Autor, die Angabe der Rechtsbeschränkungen und der gleichen nicht an dem Code selbst angehängt. Statt dessen werden derartige Informationen als Drucksache zur Verfügung gestellt, und werden von dem Code getrennt, sobald das Paket geöffnet ist und der Code installiert ist. Selbst Anwendungen, die versuchen, sich beim Start selbst zu identifizieren, sind anfällig dafür, daß die Identifizierung gefälscht oder auf andere Weise nachgemacht wird.
- Ein Benutzer hat keinen Mechanismus, um zu authentifizieren, daß die verkaufte Software tatsächlich von dem auf dem Etikett gezeigten Hersteller stammt. Unautorisiertes Kopieren und der Verkauf von Software ist ein beträchtliches Problem und ebenfalls Benutzer, die glauben, daß sie Software mit einer Herstellergarantie und nicht Pirateriesoftware kaufen, die weder eine Garantie noch eine Softwareunterstützung bietet. Das Problem der Authentifizierung des Originalursprungs der Software wird erhöht, wenn die Software in Netzwerken verteilt werden soll, und der Software-Ursprung für einen Benutzer kann weit entfernt von dem ursprünglichen Autor der Software sein. Außerdem hat der Benutzer nicht die Möglichkeit zu überprüfen, daß die gekaufte Software nur den Code des Originalherstellers enthält. Ein Benutzer verfügt darüber hinaus nicht über ein Verfahren zum Erfassen von unautorisierten Eingriffen, wie beispielsweise die Existenz eines Virus, welche unerwünschte Effekte verursachen können.
- Alle obigen Probleme betreffen den Transport der Software sowohl von den Herstellern zu den Benutzern als auch von Benutzer zu Benutzer. Darüber hinaus ist das Transportproblem unabhängig vom Transportmedium. Das Problem gibt es in allen Transportmedien, einschließlich Diskette, Magnetband, CD-ROM und Netzwerk.
- Wie beschrieben wird, stellt die vorliegende Erfindung ein Verfahren und eine Einrichtung zum Authentifizieren zur Verfügung, daß von einem Hersteller verteilte Software eine legitime bzw. rechtmäßige Kopie einer autorisierten Softwarefreigabe ist und daß die Software nur den Originalherstellercode ohne unautorisierte Eingriffe enthält. Die vorliegende Erfindung löst die oben angegebenen Probleme durch die Verwendung eines "Software-Passes", welcher die digitale Signatur des Anwendungsautors und Herstellers umfaßt. Wie oben beschrieben wird, kann die vorliegende Erfindung auch verwendet werden, um geistiges Eigentum in Form von urheberrechtlich geschütztem Computercode zu schützen, indem kryptografische Techniken verwendet werden, die hier als Verschlüsselung mit öffentlichem Schlüssel bezeichnet werden.
- ZUSAMMENFASSENDE DARSTELLUNG DER ERFINDUNG
- Die Erfindung stellt ein Verfahren und eine Einrichtung zur Verfügung, die Verschlüsselungstechniken mit öffentlichem Schlüssel zum Verbessern der Software-Sicherheit und zum Verteilen von Software verwenden, die in den beigefügten Ansprüchen beschrieben sind.
- Gemäß der vorliegenden Erfindung wird ein Verfahren zum Verbessern der Software-Sicherheit geschaffen, daß die Schritte umfaßt:
Bereitstellen eines ersten Computers;
Bereitstellen eines privaten Schlüssels eines Anwendungsautors;
Bereitstellen einer Lizenz des Anwendungsautors, die einen öffentlichen Schlüssel des Anwendungsautors und eine digitale Signatur eines Plattformherstellers einschließt;
Bereitstellen einer Software;
Bereitstellen des privaten Schlüssels des Anwendungsautors, der Lizenz des Anwendungsautors und der Software an einen von dem ersten Computer ausgeführten Compiler, wobei der Compiler die Software in einen binären Code kompiliert und einen ersten Nachrichten-Digest für den binären Code berechnet;
wobei der erste Computer ferner den ersten Nachrichten-Digest unter Verwendung des privaten Schlüssels des Anwendungsautors verschlüsselt, wobei der verschlüsselte erste Nachrichten-Digest eine digitale Signatur des Anwendungsautors bildet;
wobei der erste Computer einen Software-Paß erzeugt, der die digitale Signatur des Anwendungsautors, die Lizenz des Anwendungsautors und den binären Code umfaßt; und
Bereitstellen eines Elements zum Ausführen des Schrittes des Verteilens des Software-Passes an einen zweiten Computer, wobei der zweite Computer einen eingebetteten öffentlichen Schlüssel des Plattformherstellers aufweist. - Ebenfalls gemäß der vorliegenden Erfindung wird ein System zum Verbessern der Software-Sicherheit zur Verfügung gestellt, aufweisend:
einen ersten Computer;
einen privaten Schlüssel eines Anwendungsautors;
eine Lizenz des Anwendungsautors, welche einen öffentlichen Schlüssel des Anwendungsautors und eine digitale Signatur eines Plattformherstellers einschließt;
eine Software;
einen von dem ersten Computer ausgeführten Compiler, wobei der Compiler die Software in binären Code kompiliert und einen ersten Nachrichten-Digest für den binären Code berechnet;
wobei der Compiler ferner den ersten Nachrichten-Digest unter Verwendung des privaten Schlüssels des Anwendungsautors verschlüsselt, wobei der verschlüsselte erste Nachrichten-Digest eine digitale Signatur des Anwendungsautors bildet und
wobei der erste Computer einen Software-Paß erzeugt, der die digitale Signatur des Anwendungsautors die Lizenz des Anwendungsautors und den binären Code umfaßt;
Mittel zum Verteilen des Software-Passes an einen zweiten Computer, wobei der zweite Computer einen eingebetteten öffentlichen Schlüssel des Plattformherstellers aufweist. - KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein Datenverarbeitungssystem, in das die Lehre der vorliegenden Erfindung integriert ist. -
2 zeigt konzeptionell die Verwendung des Software-Passes der vorliegenden Erfindung, wobei der Anwendungscode und der Software-Paß in separaten Dateien zur Verfügung gestellt werden. -
3 zeigt konzeptionell den Einsatz der Software-Paß-Verwendung der vorliegenden Erfindung, wobei der Anwendungscode und der Software-Paß in derselben Datei verteilt werden. -
4 zeigt schematisch den Prozeß zum Erzeugen eines Software-Passes gemäß der vorliegenden Erfindung. -
5 zeigt schematisch die Verwendung der vorliegenden Erfindung für eine Plattformhersteller-Lizenzvergabe. -
6a und6b sind Flußdiagramme, die die Schritte darstellen, die von einem Ausführungsbeispiel der vorliegenden Erfindung ausgeführt werden, um zu verifizieren, daß eine gültige Lizenz eines Software-Autors vorhanden ist, und daß die Signatur des Software-Autors ("SW's) gültig ist, bevor die Ausführung eines Computerprogramms erlaubt wird. - Notation und Nomenklaturen
- Die detaillierte folgende Beschreibung wird größtenteils anhand von symbolischen Darstellungen von Operationen von Datenverarbeitungseinrichtungen präsentiert. Diese Prozeßbeschreibungen und Darstellungen sind die von Fachleuten in der Datenverarbeitung verwendeten Mittel, um das Wesen ihrer Arbeit am effektivsten anderen Fachleuten zu vermitteln.
- Unter einem Algorithmus ist hier und im allgemeinen eine selbstkonsistente Schrittfolge zu verstehen, die zu einem gewünschten Ergebnis führt. Diese Schritte sind solche, die eine physikalische Bearbeitung von physikalischen Größen erfordern. Üblicherweise, jedoch nicht notwendigerweise, können diese Größen die Form von elektrischen oder magnetischen Signalen annehmen, die gespeichert, übertragen, kombiniert, verglichen, angezeigt oder auf andere Weise bearbeitet werden können. Es erweist sich manchmal als vorteilhaft, hauptsächlich aus Gründen der allgemeinen Verwendung, diese Signale als Bits, Werte, Nachrichten, Namen, Elemente, Symbole, Operationen, Nachrichten, Begriffe, Zahlen oder dergleichen zu bezeichnen. Es sollte jedoch nicht vergessen werden, daß alle diese ähnlichen Begriffe den entsprechenden physikalischen Größen zugeordnet werden müssen, und lediglich vorteilhafte Bezeichnungen für diese Größen sind.
- In der vorliegenden Erfindung sind die Operationen, auf die Bezug genommen wird, Maschinenoperationen. Vorteilhafte Maschinen zur Ausführung der Operationen der vorliegenden Erfindung umfassen digitale Mehrzweckcomputer oder andere ähnliche Einrichtungen. In allen Fällen möge sich der Leser den Unterschied zwischen den Verfahrensoperationen beim Betrieb eines Computers und dem Berechnungsverfahren selbst vergegenwärtigen. Die vorliegende Erfindung betrifft Verfahrensschritte für den Betrieb eines Computers, der mit einer Reihe von Netzwerken gekoppelt ist und elektrische oder andere physikalische Signale verarbeitet, um andere gewünschte physikalische Signale zu erzeugen.
- Die vorliegende Erfindung betrifft außerdem eine Einrichtung zur Ausführung dieser Operationen. Diese Einrichtung kann für die benötigten Zwecke speziell konstruiert sein oder sie kann einen Mehrzweckcomputer umfassen, der von einem in dem Computer gespeicherten Computerprogramm selektiv aktiviert oder rekonfiguriert wird. Die hier präsentierten Verfahren/Prozeßschritte sind nicht von Natur aus mit einem bestimmten Computer oder einer anderen Einrichtung verbunden. Verschiedene Mehrzweckmaschinen können mit Programmen gemäß der hier enthaltenen Lehre verwendet werden, oder es kann sich als vorteilhafter erweisen, eine spezialisierte Einrichtung zur Ausführung der erforderlichen Verfahrensschritte zu konstruieren. Die erforderliche Struktur für verschiedene dieser Maschinen ergibt sich aus der weiter unten gelieferten Beschreibung.
- Detaillierte Beschreibung der Erfindung
- In der folgenden Beschreibung sind zahlreiche spezielle Details angegeben, beispielsweise Systemkonfigurationen, repräsentative Daten, eine Computercodeorganisation, Verschlüsselungsverfahren und Einrichtungen usw., um ein vollständiges Verständnis der vorliegenden Erfindung zu ermöglichen. Für einen Fachmann ist jedoch klar, daß die vorliegende Erfindung ohne diese speziellen Details ausgeführt werden kann. In anderen Fällen wurden bekannte Schaltungen und Strukturen nicht im Detail beschrieben, um die vorliegende Erfindung nicht zu verschleiern. Außerdem werden bestimmte Begriffe wie "weiß", "verifiziert", "vergleicht", "untersucht", "ver wendet", "findet", "bestimmt", "fordert heraus", "authentifiziert" usw. in dieser Beschreibung verwendet und werden als Fachbegriffe betrachtet. Die Verwendung dieser Begriffe, die von einem zufälligen Leser als Personifizierungen eines Computers oder eines elektronischen Systems betrachtet werden können, bezeichnen die Funktionen des Systems mit menschenähnlichen Attributen aus Gründen der Vereinfachung. Beispielsweise ist die hier gewählte Bezeichnung für ein elektronisches System als etwas "bestimmend" einfach ein Kurzschreibverfahren für die Beschreibung, daß das elektronische System gemäß der hier beschriebenen Lehre programmiert wurde oder auf andere Weise modifiziert wurde. Der Leser wird gewarnt, die beschriebenen Funktionen nicht mit menschlichen Alltagsattributen zu verwechseln. Diese Funktionen sind in jeder Hinsicht Maschinenfunktionen.
- Beispielhafte Hardware
-
1 zeigt ein Datenverarbeitungssystem gemäß der Lehre der vorliegenden Erfindung. Es ist ein Computer10 dargestellt, der drei Hauptkomponenten umfaßt. Die erste von diesen ist eine Eingabe/Ausgabe(I/O)-Schaltung12 , die zur Übermittlung von Informationen in geeignet strukturierter Form an andere Teile des Computers10 und von diesen verwendet wird. Darüber hinaus umfaßt der Computer10 eine zentrale Verarbeitungseinheit (CPU)13 , die mit der I/O-Schaltung12 und einem Speicher14 gekoppelt ist. Diese Elemente sind diejenigen, die in den meisten Mehrzweckcomputern üblicherweise zu finden sind, und tatsächlich soll der Computer10 ein breites Spektrum von Datenverarbeitungseinrichtungen repräsentieren. Der Computer10 kann gemäß der hier beschriebenen Lehre ferner mit einem Netzwerk gekoppelt werden. Der Computer10 kann ferner eine die vorliegende Erfindung realisierende Verschlüsselung- und Entschlüsselungsschaltung enthalten oder die vorliegende Erfindung kann als vom Computer10 ausgeführte Software implementiert werden. In der Darstellung ist ein Rasterbildschirm16 mit der I/O-Schaltung12 gekoppelt und vorgesehen, um von der CPU13 erzeugte Bilder gemäß der vorliegenden Erfindung anzuzeigen. Als Anzeige16 kann eine beliebige von verschiedenen Kathodenstrahlröhren (CRT) oder eine andere Anzeige verwendet werden. - Der Software-Paß der vorliegenden Erfindung kennzeichnet einen Teil der Software oder einen Maschinencode (im folgenden "Code" genannt) in einer ähnlichen Weise wie eine physikalischer Paß eine Person kennzeichnet. Das Konzept ähnelt dem echten Paß-System, welches die Basis für ein Vertrauensmodel zwischen verschiedenen Nationen darstellt. Physikalische Pässe ermöglichen es Grenzbeamten, jedes Individuum zu identifizieren und bestimmte Entscheidungen auf der Basis seines/ihres Passes zu treffen. Wie im folgenden beschrieben wird, ist ein Software-Paß ein moderner Freigabeprozeß für die Verteilung von Software-Produkten. Ein Software-Paß verleiht einem Software-Produkt eine Identität und eine Handelsmarke. Der Software-Paß liefert die Basis für ein Vertrauensmodell und ermöglicht es Computerbenutzern, die Echtheit eines Software-Produktes auf der Basis der in dessen Paß enthaltenen Informationen zu identifizieren und zu bestimmen.
- Es wird nun auf
2 Bezug genommen. Die vorliegende Erfindung ist konzeptionell für den Fall dargestellt, indem der Computercode (der aus Software besteht) und der Software-Paß sich in getrennten Dateien befinden.3 zeigt die Verwendung der vorliegenden Erfindung, wobei der Software enthaltende Computercode und der Software-Paß sich in der gleichen Datei befinden. - Wie in den
2 und3 dargestellt ist, können die im Software-Paß der vorliegenden Erfindung enthaltenen Informationen umfassen:
Produktinformationen, beispielsweise den Namen des Softwareproduktes und beliebige andere für das spezielle Produkt relevante Informationen;
Firmeninformationen, einschließlich des Namens der Firma oder des Softwareanwendungsautors, der das Produkt erstellt hat;
ein Gültigkeitsdatum, welches das Ausgabedatum des Software-Passes und das Ablaufdatum des Passes umfaßt;
eine Legende über die eingeschränkten Rechte, welche Copyright-Hinweise und andere ähnliche Legenden umfaßt;
den Softwarecode-Körper, der einen an den Benutzer verteilten ausführbaren Anwendungscode umfaßt;
eine Lizenz eines Anwendungsautors; und
eine digitale Signatur des Softwareanwendungsautors. - Es wird klar sein, daß die Komponenten eines Software-Passes im allgemeinen ohne Erläuterung verständlich sind, wobei die Lizenz des Anwendungsautors und die digitale Signatur weiter unten detaillierter erläutert werden.
- DIGITALE SIGNATUR DES SOFTWAREHERSTELLERS
- Eine digitale "Signatur" wird erstellt, indem bestimmte kryptografische Techniken der Berechnung eines Nachrichten-Digests von einem Softwarecode (im folgenden "Code" genannt) verwendet werden, und der Nachrichten-Digest unter Verwendung des privaten Schlüssels des Unterzeichners verschlüsselt wird. Es gibt viele bekannte Nachrichten-Digest-Algorithmen, beispielsweise die von RSA, Inc. veröffentlichten MD2-, MD4- und MD5-Algorithmen. Die Verwendung von privaten kryptografischen Techniken macht es sehr schwer, diese Signatur zu fälschen, da der Unterzeichner den privaten Schlüssel geheim hält. Der Leser wird verwiesen auf die Veröffentlichungen von Whitfield Diffie, "The First Ten Years of Public Key Cryptography", Band 76, Nr. 5 (IEEE Proceedings, Mai 1988); und Whitfiled Diffie, et al., "Authentication and Authenticated Key Exchanges" (Designs, Codes and Cryptography, 2, 107 – 125, 1992 Kluwer Academic Publishers) für eine detaillierte Beschreibung der Funktionsweise von Diffie-Helman-Zertifikaten und Kryptographie mit öffentlichem Schlüssel.
- Man kann sich das Berechnen des Nachrichten-Digest für einen Code als Mechanismus der Aufnahme eines Foto-Schnappschusses von der Software vorstellen. Wenn sich der Code ändert, gibt sein Nachrichten-Digest alle Unterschiede wieder. In dem System der vorliegenden Erfindung wird diese "digitale Signatur" auf das Produkt vor dessen Freigabe gestempelt. Die digitale Signatur ordnet ein Produkt der Rechtspersönlichkeit zu, die es erzeugt hat, und ermöglicht Verbrauchern, die Qualität eines Produktes basierend auf dem Ruf des Herstellers zu beurteilen. Die Signatur erlaubt es ferner einem Verbraucher, die Echtheit eines Produktes zu erkennen.
- LIZENZ DES SOFTWAREHERSTELLERS
- Die erfindungsgemäße Lizenz des Softwareherstellers (die hier meistens als die "Lizenz des Anwendungsautors" bezeichnet wird) ist eine ähnliche Identifizierung wie die von einem Staat erteilte Lizenz für Handwerkerfirmen. Die Lizenz eines Softwareherstellers identifiziert und zertifiziert, daß der Hersteller autorisiert ist, bestimmte Softwareherstellungsaktivitäten auszuführen. Es wird erwartet, daß die Lizenz des Softwareherstellers von irgendeiner allgemein anerkannten Behörde erteilt wird, die von der Computersoftwareindustrie errichtet wird. Vor der Erteilung einer Lizenz an einen Softwarehersteller, führt diese Behörde einen definierten Prozeß zur Authentifizierung der Person oder der Firma durch, und um deren fachlichen Fähigkeiten zu verifizieren; genauso wie es ein Staat vor der Erteilung einer Firmenlizenz macht. Der Einfachheit halber wird die allgemein anerkannte Rechtspersönlichkeit in dieser Beschreibung als die Software veröffentlichende Behörde ("SPA"-Software Publishing Authority) bezeichnet.
- Die Lizenz eines Softwareherstellers umfaßt die folgenden Informationen
den Herstellernamen;
das Lizenzerteilungsdatum;
das Lizenzablaufdatum;
den öffentlichen Schlüssel des Herstellers;
den Namen der erteilenden Behörde SPA; und
die digitale Signatur der SPA. - Die Softwareherstellerlizenz ordnet einem Anwendungsautor einen Namen und einen öffentlichen Schlüssel zu. Sie ermöglicht einem Softwarehersteller, mehrere Produkte herzustellen und jedes hergestellte Produkt zu signieren. Der in eine Lizenz eingebettete öffentliche Schlüssel gehört der Person, die die Lizenz besitzt. Dieser öffentliche Schlüssel kann später von beliebigen Dritten zur Verifizierung der digitalen Signatur des Herstellers verwendet werden. Ein Benutzer, der ein Produkt gekauft hat, kann die Echtheit des Produktes bestimmen, indem er den in die Identifizierung des Herstellers eingebetteten öffentlichen Schlüssel verwendet, um die digitale Signatur zu authentifizieren.
- Die digitale Signatur der SPA wird erzeugt, indem der Nachrichten-Digest der Herstelleridentifizierung berechnet wird und der Nachrichten-Digest unter Verwendung des privaten Schlüssels der SPA verschlüsselt wird. Da der private Schlüssel der SPA von der SPA geheim gehalten wird, können Dritte die Signatur der SPA nicht leicht fälschen, um eine gefälschte Identifizierung zu erstellen.
- Gemäß der Lehre der vorliegenden Erfindung liefert ein Softwareanwendungsautor ("SW"-software applicaton writer) drei Hauptinformationen an einen Compiler vor der Kompilierung des Codes:
den von dem Anwendungsautor geschriebenen Quellcode;
den privaten Schlüssel des Anwendungsautors; und
die Lizenz des Anwendungsautors. - Der in einem Paß enthaltende Code kann Quellcode in verschiedenen Computersprachen, Assemblercode, binären Maschinencode oder Daten umfassen. Der Code kann in verschiedenen Formaten gespeichert werden. Beispielsweise kann Quellcode als Klarstext im Paß gespeichert werden. Binärer ausführbarer Maschinencode kann auch in einem kompaktierten Format in dem Paß gespeichert werden, wobei bestimmte bekannte Verdichtungsalgorithmen verwendet werden, beispielsweise die Huffman- Codierung. Das in einer bestimmten Ausführungsform verwendete Format wird von einem Fleck in dem Paß angegeben.
- Ferner kann ein binärer ausführbarer Code in einem Format mit einem Satz von druckbaren Zeichen gespeichert werden, um den Druck des Passes zu ermöglichen. Ein Benutzer würde dann das druckbare Format umkehren, um die Software wiederzugewinnen. Darüber hinaus kann durch geistiges Eigentum geschützter Code, beispielsweise durch Copyright oder Patent, in einem verschlüsselten Format in dem Paß gespeichert sein. In einem derartigen Fall, wird erwogen, daß ein Benutzer eine Lizenzgebühr bezahlen muß, bevor er auf die Software zugreifen kann.
- Es wird nun auf
4 Bezug genommen. Um den Software-Paß der vorliegenden Erfindung zu erzeugen, werden der ursprüngliche Quellcode20 , der private Schlüssel22 des Anwendungsautors und die Lizenz24 des Anwendungsautors an einen Compiler26 geliefert. Wie dargestellt ist, umfaßt die Lizenz24 des Anwendungsautors den Autornamen30 , den öffentlichen Schlüssel32 des Autors und ein Gültigkeitsdatum34 . - Der Compiler
26 kompiliert den Quellcode20 dann im binären Code. Der Compiler26 berechnet ferner den Nachrichten-Digest für den binären Code und verschlüsselt den Nachrichten-Digest unter Verwendung des privaten Schlüssels22 , der von dem Anwendungsautor geliefert wird. Dieser verschlüsselte Nachrichten-Digest bildet die Signatur des Anwendungsautors. - Eine digitale Signatur des Anwendungsautors wird erstellt und in den Paß eingebettet. Der Compiler
26 bettet auch die Lizenz24 des Anwendungsautors in dem Paß ein. Die Lizenz24 des Anwendungsautors ermöglicht es einem Benutzer, der das Produkt gekauft hat, den Hersteller des Produkts zu erkennen. Die digitale Signatur des Anwendungsautors in dem Paß ermöglicht es einem Benutzer, die Echtheit des Produktes zu verifizieren. Die digitale Signatur der SPA in der Lizenz24 des Anwendungsautors ermöglicht es dem Benutzer, zu verifizieren, daß ein Anwendungsautor ein lizensierter Anwendungsautor ist, indem der öffentliche Schlüssel der SPA zum Entschlüsseln der Signatur verwendet wird. - Wie in
4 gezeigt ist, wird der erzeugte Software-Paß38 , der den Anwendungscode umfaßt, dann unter Verwendung eines beliebigen gewünschten Softwarevertriebsmodells vertrieben bzw. verteilt. Der Paß38 wird von einem Benutzer empfangen und wird ausgeführt unter Verwendung eines Betriebssystems (OS), das auf einem Computersystem ("Plattform"), beispielsweise dem System gemäß1 , läuft. - Es wird nun auf
5 Bezug genommen. Es wird die Verwendung der vorliegenden Erfindung durch Plattformhersteller beschrieben. In der Industrie für elektronische Spiele und der Industrie für interaktives Kabelfernsehen-Set-Top-Boxen wünschen Plattformhersteller oft, daß sie nur die Ausführung von autorisiertem Code auf ihrer speziellen Plattform erlauben können. Um die Steuerung der Zugriffsmöglichkeit auf eine Plattform zu steuern, muß der empfangene Code identifizierbar sein und die Plattform muß in der Lage sein, die Software zu identifizieren, wenn sie eingeht. Wie in5 dargestellt ist, kann die vorliegende Erfindung in einem Plattformherstellerlizenzvergabeschema angewendet werden, und zwar mit besonderer Anwendung für den Einsatz in den Umgebungen von Set-Top-Boxen und Videospielen. - Es wird nun auf die
6a und6b Bezug genommen. Ein Plattformhersteller kann eine "Lizenz des Programmierers" an eine Gruppe von Anwendungsautoren erteilen (die alternativ als "Software-Autoren" bezeichnet werden), die autorisiert sind, für eine spezielle Plattform Anwendungscodes zu schreiben. Eine von einem Plattformhersteller erteilte Lizenz des Programmierers ähnelt der von der SPA erteilten Identifizierung des Programmierers, mit der Ausnahme, daß die Lizenz von dem Plattformhersteller und nicht von der SPA digital signiert ist. Die Lizenz des Programmierers umfaßt die folgenden Informationen:
Herstellername;
das Lizenzerteilungsdatum;
das Lizenzablaufdatum;
den öffentlichen Schlüssel des Herstellers;
die erteilende Behörde (der Plattformhersteller); und
die digitale Signatur des Plattformherstellers. - Die digitale Signatur des Plattformherstellers wird dadurch erzeugt, daß der Nachrichten-Digest der Lizenz berechnet wird und der Nachrichten-Digest unter Verwendung des privaten Schlüssels des Plattformherstellers verschlüsselt wird.
- Die von einem lizensierten Anwendungsautor erstellte Software umfaßt einen gültigen Paß
50 (siehe5 und6a ), der eine digitale Signatur eines echten Autors enthält, und eine gültige von dem Plattformhersteller erteilte Lizenz52 des Anwendungsautors. Jeder Anwendungsautor, der von dem Plattformhersteller nicht autorisiert ist, besitzt keine gültige Lizenz. Daher hat der von einer unautorisierten Person erzeugte Software-Paß entweder keine gültige Lizenz oder keine gültige Signatur. - Der öffentliche Schlüssel
54 des Plattformherstellers ist für den Verifizierungsprozeß in die Plattform (z. B. Videospiel) eingebettet. Zur Ausführungszeit extrahiert die Plattform den in das System eingebetteten öffentlichen Schlüssel54 , um zu verifizieren, daß ein Paß eine gültige Lizenz52 des Anwendungsautors enthält. Die digitale Signatur in der Lizenz des Anwendungsautors wird dadurch erzeugt, daß der Nachrichten-Digest der Lizenz52 berechnet wird und der Nachrichten-Digest mit Hilfe des privaten Schlüssels des Plattformherstellers verschlüsselt wird. Das System der vorliegenden Erfindung kann auf diese Weise den ursprünglichen Nachrichten-Digest durch Entschlüsselung der Signatur mit Hilfe des öffentlichen Schlüssels54 des Plattformherstellers wiederherstellen. Der Verifizierungsprozeß für die Lizenz des Anwendungsautors kann dadurch erreicht werden: - 1. daß der
Nachrichten-Digest der Anwendungslizenz
52 in dem Paß50 neu berechnet wird, - 2. der ursprüngliche Nachrichten-Digest wieder hergestellt wird, und
- 3. der alte Digest mit dem neu berechneten Digest verglichen wird.
- Der Paß
50 enthält eine gültige Lizenz des Anwendungsautors, wenn die beiden Nachrichten-Digests gleich sind. Ansonsten ist die Lizenz nicht gültig. Der Verifizierungsprozeß eines Ausführungsbeispiels der vorliegenden Erfindung ist in dem Flußdiagramm von6(a) dargestellt. - Es wird klar sein, daß selbst wenn der Paß
50 eine gültige Lizenz eines Anwendungsautors enthält, der Anwendungsautor die Lizenz dadurch gestohlen haben kann, daß er sie von dem Paß eines anderen autorisierten Autors kopiert hat. In diesem Fall hätte der unautorisierte Autor keinen korrekten privaten Schlüssel58 , um die Signatur des autorisierten Autors zu fälschen. Es wird erwogen, daß das System die Signatur des Anwendungsautors60 weiter verifiziert. Es wird daran erinnert, daß die digitale Signatur des Anwendungautors in dem Paß dadurch erzeugt wurde, daß der Nachrichten-Digest des Codes berechnet wurde und der Nachrichten-Digest mit Hilfe des privaten Schlüssels58 des Anwendungsautors verschlüsselt wurde. Der ursprüngliche Nachrichten-Digest kann durch Entschlüsselung der Signatur mit Hilfe des öffentlichen Schlüssels62 des Autors entschlüsselt werden, der in der Lizenz52 des Anwendungsautors eingebettet ist, welche in den Paß50 eingebettet ist. Die digitale Signatur des Anwendungsautors kann dann dadurch verifiziert werden, daß: - 1. der Nachrichten-Digest des Codes neu berechnet wird,
- 2. der ursprüngliche Nachrichten-Digest wiederhergestellt wird, und
- 3. der alte Digest mit dem neuen Digest verglichen wird.
- Die Signatur ist gültig, wenn die beiden Nachrichten-Digests gleich sind. Ansonsten ist der Paß nicht gültig und die Plattform wird die Ausführung der Software zurückweisen. Die Schritte, die von einem Ausführungsbeispiel der vorliegenden Erfindung zur Verifizierung der digitalen Signatur des Anwendungsautors ausgeführt werden, sind im Flußdiagramm von
6(b) dargestellt. - Es sei ferner zu beachten, daß das Sicherheitsschema der vorliegenden Erfindung verwendet werden kann, um durch gewerbliche Schutzrechte, wie Copyrights und Patente, geschützte Erfindungen und Urheberschaften zu schützen. Die eine zusätzliche Prozedur die zum Schutz von geistigem Eigentum hinzugefügt wird, besteht darin, daß der Compiler (z. B. der in
5 gezeigte Compiler68 ) verschlüsselte Bytecodes erzeugt. Wenn ein Benutzer versucht, den Code auf dem Betriebssystem ("OS") der Plattform ablaufen zu lassen, wird den Verifizierungsprozeduren gefolgt, die unter Bezugnahme auf die6(a) und6(b) oben beschrieben wurden. Da der Code jedoch verschlüsselt ist, benötigt das Betriebssystem eine zusätzliche Genehmigung, bevor es den Code ablaufen lassen kann. Es wird ein kryptografischer Schlüssel benötigt, der im wesentlichen eine IP-Lizenz zum Ablaufen des Codes ergibt. Nach der Authentifizierung des Codes fordert das Betriebssystem die IP-Lizenz an. Das Betriebssystem verifiziert, daß die IP-Lizenz von der Person signiert ist, welche der Urheber des Codes ist und geht dann zur Entschlüsselung und Ausführung des Codes über. Ein weiteres Merkmal des vorliegenden Ausführungsbeispiels ist, daß Dritte nicht die Möglichkeit haben, den Code zu inspizieren, da er verschlüsselt ist. - Gemäß der vorliegenden Erfindung wurde ein Verfahren und eine Einrichtung zum Verbessern der Softwaresicherheit beschrieben. Obwohl die vorliegende Erfindung unter Bezugnahme auf die
1 –6 beschrieben wurde, ist es klar, daß viele Alternativen, Modifikationen und Änderungen auf der Grundlage der vorangehenden Beschreibung vorgenommen werden können.
Claims (24)
- Ein Verfahren zum Verbessern der Software-Sicherheit, umfassend die Schritte: Bereitstellen eines ersten Computers; Bereitstellen eines privaten Schlüssels (
22 ,58 ) eines Anwendungsautors; Bereitstellen einer Lizenz (24 ,52 ) des Anwendungsautors, die einen öffentlichen Schlüssel (32 ,62 ) des Anwendungsautors und eine digitale Signatur eines Plattformherstellers einschließt; Bereitstellen einer Software; Bereitstellen des privaten Schlüssels (22 ,58 ) des Anwendungsautors, der Lizenz des Anwendungsautors und der Software an einen von dem ersten Computer ausgeführten Compiler (26 ,68 ), wobei der Compiler die Software in einen binären Code kompiliert und einen ersten Nachrichten-Digest für den binären Code berechnet; wobei der erste Computer ferner den ersten Nachrichten-Digest unter Verwendung des privaten Schlüssels des Anwendungsautors verschlüsselt, wobei der verschlüsselte erste Nachrichten-Digest eine digitale Signatur des Anwendungsautors bildet; wobei der erste Computer einen Software-Paß (38 ,50 ) erzeugt, der die digitale Signatur des Anwendungsautors, die Lizenz des Anwendungsautors und den binären Code umfaßt; und Bereitstellen eines Elements zum Ausführen des Schrittes des Verteilens des Software-Passes (38 ,50 ) an einen zweiten Computer, wobei der zweite Computer einen eingebetteten öffentlichen Schlüssel (54 ) des Plattformherstellers aufweist. - Das Verfahren nach Anspruch 1, ferner einschließend die Schritte, daß: der zweite Computer den Software-Paß (
38 ,50 ) empfängt; und der zweite Computer feststellt, ob der Software-Paß die Lizenz (24 ,52 ) des Anwendungsautors enthält, so daß dann, wenn der Software-Paß die Lizenz des Anwendungsautors nicht enthält, der zweite Computer den Software-Paß (38 ,50 ) zurückweist. - Das Verfahren nach Anspruch 2, ferner einschließend den Schritt des Extrahierens der Lizenz (
24 ,52 ) des Anwendungsautors aus dem Software-Paß. - Das Verfahren nach Anspruch 3, ferner einschließend den Schritt des Feststellens, ob die Lizenz (
24 ,52 ) des Anwendungsautors die digitale Signatur des Plattformherstellers enthält, so daß der Software-Paß (38 ,50 ) dann, wenn die digitale Signatur des Plattformherstellers nicht enthalten ist, von dem zweiten Computer zurückgewiesen wird. - Das Verfahren nach Anspruch 4, ferner einschließend den Schritt des Entschlüsselns der digitalen Signatur des Plattformherstellers unter Verwendung des öffentlichen Schlüssels (
54 ) des Plattformherstellers, der in dem zweiten Computer eingebettet ist. - Das Verfahren nach Anspruch 5, ferner einschließend den Schritt, daß der zweite Computer einen zweiten Nachrichten-Digest der Lizenz des Anwendungsautors berechnet und die entschlüsselte digitale Signatur des Plattformherstellers mit dem zweiten Nachrichten-Digest vergleicht, so daß der Software-Paß (
38 ,50 ) dann, wenn die entschlüsselte digitale Signatur des Plattformherstellers und der zweite Nachrichten-Digest nicht gleich sind, von dem zweiten Computer zurückgewiesen wird. - Das Verfahren nach Anspruch 6, ferner einschließend den Schritt, daß dann, wenn die entschlüsselte digitale Signatur des Plattformherstellers und der zweite Nachrichten-Digest gleich sind, der zweite Computer den öffentlichen Schlüssel (
32 ,62 ) des Anwendungsautors aus der Lizenz (24 ,52 ) des Anwendungsautors extrahiert. - Das Verfahren nach Anspruch 7, ferner einschließend den Schritt, daß der zweite Computer den binären Code aus dem Software-Paß (
38 ,50 ) extrahiert. - Das Verfahren nach Anspruch 8, ferner einschließend den Schritt, daß der zweite Computer die digitale Signatur des Anwendungsautors aus dem Software-Paß (
38 ,50 ) extrahiert. - Das Verfahren nach Anspruch 9, ferner einschließend den Schritt, daß der zweite Computer einen Nachrichten-Digest des binären Codes berechnet.
- Das Verfahren nach Anspruch 10, ferner einschließend den Schritt, daß der zweite Computer die digitale Signatur des Anwendungsautors unter Verwendung des öffentlichen Schlüssels (
32 ,62 ) des Anwendungsautors entschlüsselt. - Das Verfahren nach Anspruch 11, ferner einschließend den Schritt, daß der zweite Computer den Nachrichten-Digest des binären Codes mit der entschlüsselten digitalen Signatur des Anwendungsautors vergleicht, so daß dann, wenn der Nachrichten-Digest des binären Codes und die entschlüsselte Signatur des Anwendungsautors gleich sind, der zweite Computer den binären Codes ausführt.
- Ein System zum Verbessern der Software-Sicherheit, aufweisend: einen ersten Computer; einen privaten Schlüssel (
22 ,58 ) eines Anwendungsautors; eine Lizenz (24 ,52 ) des Anwendungsautors, welche einen öffentlichen Schlüssel (32 ,62 ) des Anwendungsautors und eine digitale Signatur eines Plattformherstellers einschließt; eine Software; einen von dem ersten Computer ausgeführten Compiler (26 ,68 ), wobei der Compiler die Software in binären Code kompiliert und einen ersten Nachrichten-Digest für den binären Code berechnet; wobei der Compiler ferner den ersten Nachrichten-Digest unter Verwendung des privaten Schlüssels (22 ,58 ) des Anwendungsautors verschlüsselt, wobei der verschlüsselte erste Nachrichten-Digest eine digitale Signatur des Anwendungsautors bildet; und wobei der erste Computer einen Software-Paß (38 ,50 ) erzeugt, der die digitale Signatur des Anwendungsautors, die Lizenz des Anwendungsautors und den binären Code umfaßt; Mittel zum Verteilen des Software-Passes an einen zweiten Computer, wobei der zweite Computer einen eingebetteten öffentlichen Schlüssel (54 ) des Plattformhersteller aufweist. - Das System nach Anspruch 13, wobei der zweite Computer den Software-Paß (
38 ,50 ) empfängt und feststellt, ob der Software-Paß die Lizenz (24 ,52 ) des Anwendungsautors enthält, so daß dann, wenn der Software-Paß die Lizenz des Anwendungsautors nicht enthält, der zweite Computer den Software-Paß zurückweist. - Das System nach Anspruch 14, wobei der zweite Computer die Lizenz (
24 ,52 ) des Anwendungsautors aus dem Software-Paß (38 ,50 ) extrahiert. - Das System nach Anspruch 15, wobei der zweite Computer feststellt, ob die Lizenz (
24 ,52 ) des Anwendungsautors die digitale Signatur des Plattformherstellers enthält, so daß dann, wenn die digitale Signatur des Plattformherstellers nicht enthalten ist, der Software-Paß (38 ,50 ) von dem zweiten Computer zurückgewiesen wird. - Das System nach Anspruch 16, wobei der zweite Computer die digitale Signatur des Plattformherstellers unter Verwen dung des in dem zweiten Computer eingebetteten öffentlichen Schlüssels (
54 ) des Plattformherstellers entschlüsselt. - Das System nach Anspruch 17, wobei der zweite Computer einen zweiten Nachrichten-Digest der Lizenz (
24 ,52 ) des Anwendungsautors berechnet und die entschlüsselte digitale Signatur des Plattformherstellers mit dem zweiten Nachrichten-Digest vergleicht, so daß dann, wenn die entschlüsselte digitale Signatur des Plattformherstellers und der zweite Nachrichten-Digest nicht gleich sind, der Software-Paß (38 ,50 ) von dem zweiten Computer zurückgewiesen wird. - Das System nach Anspruch 18, wobei dann, wenn die entschlüsselte digitale Signatur des Plattformherstellers und der zweite Nachrichten-Digest gleich sind, der zweite Computer den öffentlichen Schlüssel (
32 ,62 ) des Anwendungsautors aus der Lizenz des Anwendungsautors extrahiert. - Das System nach Anspruch 19, wobei der zweite Computer den binären Code aus dem Software-Paß (
38 ,50 ) extrahiert. - Das System nach Anspruch 20, wobei der zweite Computer die digitale Signatur des Anwendungsautors aus dem Software-Paß (
38 ,50 ) extrahiert. - Das System nach Anspruch 21, wobei der zweite Computer einen Nachrichten-Digest des binären Codes berechnet.
- Das System nach Anspruch 22, wobei der zweite Computer die digitale Signatur des Anwendungsautors unter Verwendung des öffentlichen Schlüssels (
32 ,62 ) des Anwendungsautors entschlüsselt. - Das System nach Anspruch 23, wobei der zweite Computer den Nachrichten-Digest des binären Codes mit der entschlüsselten digitalen Signatur des Anwendungsautors vergleicht, so daß dann, wenn der Nachrichten-Digest des binären Codes und die entschlüsselte Signatur des Anwendungsautors gleich sind, der zweite Computer den binären Code ausführt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/258,244 US5724425A (en) | 1994-06-10 | 1994-06-10 | Method and apparatus for enhancing software security and distributing software |
US258244 | 1994-06-10 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE69534212D1 DE69534212D1 (de) | 2005-06-23 |
DE69534212T2 true DE69534212T2 (de) | 2006-01-12 |
DE69534212T8 DE69534212T8 (de) | 2006-04-27 |
Family
ID=22979711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69534212T Expired - Fee Related DE69534212T8 (de) | 1994-06-10 | 1995-05-31 | Verfahren und Vorrichtung zur Verbesserung der Softwaresicherheit und zur Software-Verteilung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5724425A (de) |
EP (1) | EP0686906B1 (de) |
JP (1) | JPH08166879A (de) |
DE (1) | DE69534212T8 (de) |
Families Citing this family (335)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE47908E1 (en) * | 1991-12-23 | 2020-03-17 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
USRE48056E1 (en) * | 1991-12-23 | 2020-06-16 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US6564321B2 (en) | 1995-04-28 | 2003-05-13 | Bobo Ii Charles R | Systems and methods for storing, delivering, and managing messages |
US5864683A (en) * | 1994-10-12 | 1999-01-26 | Secure Computing Corporartion | System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US6963859B2 (en) * | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US7505945B2 (en) * | 1995-02-08 | 2009-03-17 | Cryptomathic A/S | Electronic negotiable documents |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US7095854B1 (en) * | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US7124302B2 (en) * | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US6658568B1 (en) | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US6948070B1 (en) | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
CN1912885B (zh) * | 1995-02-13 | 2010-12-22 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US7143290B1 (en) * | 1995-02-13 | 2006-11-28 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US6157721A (en) * | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
DE19510626A1 (de) * | 1995-03-23 | 1996-09-26 | Giesecke & Devrient Gmbh | Verfahren zur Prüfung der Unversehrtheit von gespeicherten Daten auf einer Verarbeitungsanlage für Blattgut, wie z. B. Banknoten oder Wertpapiere |
WO1996032685A1 (en) * | 1995-04-11 | 1996-10-17 | Kinetech, Inc. | Identifying data in a data processing system |
US6590996B1 (en) * | 2000-02-14 | 2003-07-08 | Digimarc Corporation | Color adaptive watermarking |
GB9510035D0 (en) * | 1995-05-18 | 1995-08-02 | Cryptech Systems Inc | Strengthened public key protocols |
JP4162099B2 (ja) | 1995-06-02 | 2008-10-08 | 富士通株式会社 | ウィルス感染に対処する機能を持つ装置及びその記憶装置 |
EP0766472A3 (de) * | 1995-09-26 | 2000-05-31 | Siemens Aktiengesellschaft | Verfahren zur Nutzung von elektronischen Informationsdiensten unter Sicherstellung der Anonymität von Benutzern gegenüber den Betreibern solcher Dienste |
FR2739469B1 (fr) * | 1995-10-03 | 1997-12-26 | Gemplus Card Int | Procede de cryptographie a cle publique base sur le logarithme discret |
US6067575A (en) * | 1995-12-08 | 2000-05-23 | Sun Microsystems, Inc. | System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs |
US5943423A (en) * | 1995-12-15 | 1999-08-24 | Entegrity Solutions Corporation | Smart token system for secure electronic transactions and identification |
US6219423B1 (en) | 1995-12-29 | 2001-04-17 | Intel Corporation | System and method for digitally signing a digital agreement between remotely located nodes |
US9530150B2 (en) * | 1996-01-19 | 2016-12-27 | Adcension, Llc | Compensation model for network services |
US5823879A (en) | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
US6264560B1 (en) | 1996-01-19 | 2001-07-24 | Sheldon F. Goldberg | Method and system for playing games on a network |
US20090012864A1 (en) * | 2007-07-02 | 2009-01-08 | Goldberg Sheldon F | Compensation model for network services |
US5913024A (en) | 1996-02-09 | 1999-06-15 | Secure Computing Corporation | Secure server utilizing separate protocol stacks |
JP3848684B2 (ja) * | 1996-03-22 | 2006-11-22 | 株式会社日立製作所 | コンピュータネットワークシステムの管理方法,および,コンピュータネットワークシステムに用いるコンピュータ |
US6226383B1 (en) * | 1996-04-17 | 2001-05-01 | Integrity Sciences, Inc. | Cryptographic methods for remote authentication |
GB9608696D0 (en) * | 1996-04-26 | 1996-07-03 | Europ Computer Ind Res | Electronic copy protection mechanism |
US7567669B2 (en) | 1996-05-17 | 2009-07-28 | Certicom Corp. | Strengthened public key protocol |
EP0809201A3 (de) * | 1996-05-22 | 2000-05-03 | Fujitsu Limited | Informationsverarbeitungssystem und Aufzeichnungsmedium |
US6263442B1 (en) * | 1996-05-30 | 2001-07-17 | Sun Microsystems, Inc. | System and method for securing a program's execution in a network environment |
TW313642B (en) * | 1996-06-11 | 1997-08-21 | Ibm | A uniform mechanism for using signed content |
US6324525B1 (en) | 1996-06-17 | 2001-11-27 | Hewlett-Packard Company | Settlement of aggregated electronic transactions over a network |
US5796830A (en) * | 1996-07-29 | 1998-08-18 | International Business Machines Corporation | Interoperable cryptographic key recovery system |
US5950195A (en) * | 1996-09-18 | 1999-09-07 | Secure Computing Corporation | Generalized security policy management system and method |
US6181803B1 (en) | 1996-09-30 | 2001-01-30 | Intel Corporation | Apparatus and method for securely processing biometric information to control access to a node |
US5946396A (en) * | 1996-10-25 | 1999-08-31 | Intel Corporation | System and method for ensuring integrity of audio |
US6167520A (en) * | 1996-11-08 | 2000-12-26 | Finjan Software, Inc. | System and method for protecting a client during runtime from hostile downloadables |
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 |
US7613926B2 (en) * | 1997-11-06 | 2009-11-03 | Finjan Software, Ltd | Method and system for protecting a computer and a network from hostile downloadables |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US6154844A (en) * | 1996-11-08 | 2000-11-28 | Finjan Software, Ltd. | System and method for attaching a downloadable security profile to a downloadable |
US5878417A (en) * | 1996-11-20 | 1999-03-02 | International Business Machines Corporation | Method and apparatus for network security in browser based interfaces |
AUPO474997A0 (en) * | 1997-01-23 | 1997-02-20 | Commonwealth Bank Of Australia | Distribution system with authentication |
EP0856968A3 (de) * | 1997-01-24 | 2000-12-06 | Nec Corporation | Vorrichtung zur Verarbeitung eines kryptographischen Schlüssels zur Aufnahme in einer Datenrückgewinnungseinrichtung oder einer Schlüsseleinstellungseinrichtung zur Erzeugung eines kryptographischen Schlüssels |
US20050021477A1 (en) * | 1997-01-29 | 2005-01-27 | Ganapathy Krishnan | Method and system for securely incorporating electronic information into an online purchasing application |
US5949877A (en) * | 1997-01-30 | 1999-09-07 | Intel Corporation | Content protection for transmission systems |
US6148401A (en) * | 1997-02-05 | 2000-11-14 | At&T Corp. | System and method for providing assurance to a host that a piece of software possesses a particular property |
US7062500B1 (en) * | 1997-02-25 | 2006-06-13 | Intertrust Technologies Corp. | Techniques for defining, using and manipulating rights management data structures |
US5920861A (en) | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
US6408336B1 (en) | 1997-03-10 | 2002-06-18 | David S. Schneider | Distributed administration of access to information |
US8914410B2 (en) * | 1999-02-16 | 2014-12-16 | Sonicwall, Inc. | Query interface to policy server |
US6108420A (en) * | 1997-04-10 | 2000-08-22 | Channelware Inc. | Method and system for networked installation of uniquely customized, authenticable, and traceable software application |
JPH10301772A (ja) | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
JPH10301773A (ja) * | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
US5999921A (en) * | 1997-04-30 | 1999-12-07 | Pitney Bowes Inc. | Electronic postage meter system having plural clock system providing enhanced security |
JPH10327147A (ja) * | 1997-05-21 | 1998-12-08 | Hitachi Ltd | 電子認証公証方法およびシステム |
US6381698B1 (en) | 1997-05-21 | 2002-04-30 | At&T Corp | System and method for providing assurance to a host that a piece of software possesses a particular property |
DE69720971T2 (de) * | 1997-05-28 | 2003-10-30 | Siemens Ag | Computersystem und Verfahren zum Schutz von Software |
JP3595109B2 (ja) * | 1997-05-28 | 2004-12-02 | 日本ユニシス株式会社 | 認証装置、端末装置、および、それら装置における認証方法、並びに、記憶媒体 |
US5958073A (en) * | 1997-05-30 | 1999-09-28 | Motorola, Inc. | Reliability enhanced processing system and method for optimizing |
US6122372A (en) * | 1997-06-04 | 2000-09-19 | Signet Assurance Company Llc | System and method for encapsulating transaction messages with verifiable data generated identifiers |
US5968136A (en) * | 1997-06-05 | 1999-10-19 | Sun Microsystems, Inc. | Apparatus and method for secure device addressing |
WO1999001815A1 (en) | 1997-06-09 | 1999-01-14 | Intertrust, Incorporated | Obfuscation techniques for enhancing software security |
US6175924B1 (en) * | 1997-06-20 | 2001-01-16 | International Business Machines Corp. | Method and apparatus for protecting application data in secure storage areas |
US6108425A (en) * | 1997-06-30 | 2000-08-22 | International Business Machines Corporation | Method and apparatus for controlling the configuration of a cryptographic processor |
EP0895148B1 (de) * | 1997-07-31 | 2003-09-17 | Siemens Aktiengesellschaft | Programmvermietungssystem und Verfahren zur Vermietung von Programmen |
US6233567B1 (en) * | 1997-08-29 | 2001-05-15 | Intel Corporation | Method and apparatus for software licensing electronically distributed programs |
WO1999015947A1 (en) * | 1997-09-19 | 1999-04-01 | Hyo Joon Park | Software license control system based on independent software registration server |
EP1027784B2 (de) * | 1997-10-28 | 2010-05-26 | First Data Mobile Holdings Limited | Verfahren zum digitalen signieren einer nachricht |
US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
US7092914B1 (en) * | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US7418731B2 (en) * | 1997-11-06 | 2008-08-26 | Finjan Software, Ltd. | Method and system for caching at secure gateways |
US7975305B2 (en) * | 1997-11-06 | 2011-07-05 | Finjan, Inc. | Method and system for adaptive rule-based content scanners for desktop computers |
US8225408B2 (en) * | 1997-11-06 | 2012-07-17 | Finjan, Inc. | Method and system for adaptive rule-based content scanners |
US6567793B1 (en) | 1997-12-22 | 2003-05-20 | Christian Bielefeldt Hicks | Remote authorization for unlocking electronic data system and method |
US6298153B1 (en) * | 1998-01-16 | 2001-10-02 | Canon Kabushiki Kaisha | Digital signature method and information communication system and apparatus using such method |
US6308270B1 (en) | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
TR200002649T2 (tr) | 1998-03-16 | 2000-11-21 | Jazio Inc. | VLSI CMOS arayüz devreleri için yüksek hızlı sinyal üretimi. |
US6160423A (en) * | 1998-03-16 | 2000-12-12 | Jazio, Inc. | High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines |
US6189146B1 (en) * | 1998-03-18 | 2001-02-13 | Microsoft Corporation | System and method for software licensing |
US7171662B1 (en) * | 1998-03-18 | 2007-01-30 | Microsoft Corporation | System and method for software licensing |
BE1012292A3 (nl) * | 1998-03-26 | 2000-09-05 | Int Management Services Afgeko | Werkwijze voor het identificeren van computergegevens, eenheden om deze werkwijze te realiseren, alsmede netwerk dat van deze werkwijze gebruik maakt. |
US6725378B1 (en) | 1998-04-15 | 2004-04-20 | Purdue Research Foundation | Network protection for denial of service attacks |
US6199113B1 (en) * | 1998-04-15 | 2001-03-06 | Sun Microsystems, Inc. | Apparatus and method for providing trusted network security |
DE19820605A1 (de) * | 1998-05-08 | 1999-11-11 | Giesecke & Devrient Gmbh | Verfahren zur sicheren Verteilung von Software |
US6724895B1 (en) | 1998-06-18 | 2004-04-20 | Supersensor (Proprietary) Limited | Electronic identification system and method with source authenticity verification |
US6256393B1 (en) * | 1998-06-23 | 2001-07-03 | General Instrument Corporation | Authorization and access control of software object residing in set-top terminals |
US6138235A (en) * | 1998-06-29 | 2000-10-24 | Sun Microsystems, Inc. | Controlling access to services between modular applications |
US7711714B2 (en) * | 1998-09-22 | 2010-05-04 | Hitachi, Ltd. | Method and a device for sterilizing downloaded files |
US6463535B1 (en) * | 1998-10-05 | 2002-10-08 | Intel Corporation | System and method for verifying the integrity and authorization of software before execution in a local platform |
US7215773B1 (en) | 1998-10-14 | 2007-05-08 | Certicom.Corp. | Key validation scheme |
BR9914551A (pt) * | 1998-10-16 | 2002-03-05 | Computer Ass Think Inc | Processo e sistema para macro-linguagem extensìvel |
US7386727B1 (en) | 1998-10-24 | 2008-06-10 | Encorus Holdings Limited | Method for digital signing of a message |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
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 |
US6272469B1 (en) | 1998-11-25 | 2001-08-07 | Ge Medical Systems Global Technology Company, Llc | Imaging system protocol handling method and apparatus |
US6408075B1 (en) * | 1998-11-30 | 2002-06-18 | Hitachi, Ltd. | Information processing equipment and IC card |
DE19902722A1 (de) * | 1999-01-25 | 2000-07-27 | Giesecke & Devrient Gmbh | Verfahren zum Austauschen von mindestens einem geheimen Anfangswert zwischen einer Bearbeitungsstation und einer Chipkarte |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
US6763467B1 (en) | 1999-02-03 | 2004-07-13 | Cybersoft, Inc. | Network traffic intercepting method and system |
US7197639B1 (en) * | 1999-02-05 | 2007-03-27 | Rsa Security Inc. | Cryptographic countermeasures against connection depletion attacks |
JP3779837B2 (ja) * | 1999-02-22 | 2006-05-31 | 松下電器産業株式会社 | コンピュータ及びプログラム記録媒体 |
FI990461A0 (fi) * | 1999-03-03 | 1999-03-03 | Nokia Mobile Phones Ltd | Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen |
US6766305B1 (en) * | 1999-03-12 | 2004-07-20 | Curl Corporation | Licensing system and method for freely distributed information |
US20020019814A1 (en) * | 2001-03-01 | 2002-02-14 | Krishnamurthy Ganesan | Specifying rights in a digital rights license according to events |
US6973444B1 (en) * | 1999-03-27 | 2005-12-06 | Microsoft Corporation | Method for interdependently validating a digital content package and a corresponding digital license |
EP1175763B1 (de) * | 1999-03-31 | 2014-01-01 | BRITISH TELECOMMUNICATIONS public limited company | Serverrechner zum gewährleisten der unversehrtheit von dateien |
US6557105B1 (en) * | 1999-04-14 | 2003-04-29 | Tut Systems, Inc. | Apparatus and method for cryptographic-based license management |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US6449720B1 (en) * | 1999-05-17 | 2002-09-10 | Wave Systems Corp. | Public cryptographic control unit and system therefor |
US6442559B1 (en) * | 1999-06-22 | 2002-08-27 | Microsoft Corporation | Dynamic SKU management |
US6658567B1 (en) | 1999-06-25 | 2003-12-02 | Geomechanics International, Inc. | Method and logic for locking geological data and an analyzer program that analyzes the geological data |
US6578145B1 (en) * | 1999-06-29 | 2003-06-10 | Gilbarco Inc. | Methods and systems for securely communicating personal identification number information between a security module and a plurality of secure keypad devices |
US7243236B1 (en) * | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US6684389B1 (en) * | 1999-08-05 | 2004-01-27 | Canon Kabushiki Kaisha | Compiler that decrypts encrypted source code |
EP1076279A1 (de) * | 1999-08-13 | 2001-02-14 | Hewlett-Packard Company | Computerplattformen und deren Betriebsverfahren |
US6757831B1 (en) * | 1999-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Logic block used to check instruction buffer configuration |
US6675298B1 (en) * | 1999-08-18 | 2004-01-06 | Sun Microsystems, Inc. | Execution of instructions using op code lengths longer than standard op code lengths to encode data |
US6987855B1 (en) * | 1999-09-10 | 2006-01-17 | Cisco Technology, Inc. | Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups |
US6684331B1 (en) | 1999-12-22 | 2004-01-27 | Cisco Technology, Inc. | Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure |
US7103185B1 (en) | 1999-12-22 | 2006-09-05 | Cisco Technology, Inc. | Method and apparatus for distributing and updating private keys of multicast group managers using directory replication |
US7260716B1 (en) | 1999-09-29 | 2007-08-21 | Cisco Technology, Inc. | Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach |
US7013389B1 (en) | 1999-09-29 | 2006-03-14 | Cisco Technology, Inc. | Method and apparatus for creating a secure communication channel among multiple event service nodes |
US7434046B1 (en) | 1999-09-10 | 2008-10-07 | Cisco Technology, Inc. | Method and apparatus providing secure multicast group communication |
US7181014B1 (en) | 1999-09-10 | 2007-02-20 | Cisco Technology, Inc. | Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange |
US20080082446A1 (en) * | 1999-10-01 | 2008-04-03 | Hicks Christian B | Remote Authorization for Unlocking Electronic Data System and Method |
US7734457B2 (en) * | 1999-10-16 | 2010-06-08 | Computer Associates Think, Inc. | Method and system for generating dynamic comparison models |
DE19950249C1 (de) * | 1999-10-18 | 2001-02-01 | Siemens Ag | Elektronisches Gerät mit Softwareschutz |
AU7895900A (en) * | 1999-10-20 | 2001-04-30 | George J Tomko | System and method for secure data handling over a network |
US7039713B1 (en) * | 1999-11-09 | 2006-05-02 | Microsoft Corporation | System and method of user authentication for network communication through a policy agent |
US6996720B1 (en) * | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US6970849B1 (en) | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US7047411B1 (en) | 1999-12-17 | 2006-05-16 | Microsoft Corporation | Server for an electronic distribution system and method of operating same |
US6944765B1 (en) * | 1999-12-21 | 2005-09-13 | Qualcomm, Inc. | Method of authentication anonymous users while reducing potential for “middleman” fraud |
US7055175B1 (en) * | 2000-01-06 | 2006-05-30 | International Business Machines Corporation | Method and system for generating and using a virus free file certificate integrated within a file |
US7089211B1 (en) * | 2000-01-12 | 2006-08-08 | Cisco Technology, Inc. | Directory enabled secure multicast group communications |
JP3949341B2 (ja) * | 2000-03-03 | 2007-07-25 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置及び記録媒体 |
US6895501B1 (en) | 2000-03-13 | 2005-05-17 | Wrq, Inc. | Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure |
US6687825B1 (en) | 2000-03-17 | 2004-02-03 | International Business Machines Corporation | Data processing system and method for protecting data in a hard drive utilizing a signature device |
AU2001253176A1 (en) * | 2000-04-06 | 2001-10-23 | Predictive Systems, Inc. | Method and system for website content integrity |
SG103257A1 (en) * | 2000-04-13 | 2004-04-29 | Kent Ridge Digital Labs | Private retrieval of digital objects |
WO2001080528A2 (en) * | 2000-04-14 | 2001-10-25 | Next Level Communications | Method and apparatus for test and verification of field and terminal equipment |
US6993149B2 (en) * | 2001-09-25 | 2006-01-31 | Digimarc Corporation | Embedding digital watermarks in spot colors |
US7493486B1 (en) * | 2000-06-09 | 2009-02-17 | Verizon Laboratories, Inc. | Method and apparatus for supporting cryptographic-related activities in a public key infrastructure |
US7020776B2 (en) * | 2000-06-22 | 2006-03-28 | Microsoft Corporation | Cryptosystem based on a Jacobian of a curve |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
US6891953B1 (en) | 2000-06-27 | 2005-05-10 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
US7158953B1 (en) | 2000-06-27 | 2007-01-02 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US7539875B1 (en) * | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US7225159B2 (en) * | 2000-06-30 | 2007-05-29 | Microsoft Corporation | Method for authenticating and securing integrated bookstore entries |
US6941457B1 (en) | 2000-06-30 | 2005-09-06 | Cisco Technology, Inc. | Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key |
US20020046045A1 (en) * | 2000-06-30 | 2002-04-18 | Attila Narin | Architecture for an electronic shopping service integratable with a software application |
EP1626325B1 (de) | 2000-09-21 | 2010-09-01 | Research In Motion Limited | System und verfahren zum unterschreiben eines software-kodes |
US7024554B1 (en) * | 2000-09-29 | 2006-04-04 | Mindspeed Technologies, Inc. | Systems and methods that authorize target devices utilizing proprietary software and/or hardware |
US6971023B1 (en) * | 2000-10-03 | 2005-11-29 | Mcafee, Inc. | Authorizing an additional computer program module for use with a core computer program |
US7395549B1 (en) * | 2000-10-17 | 2008-07-01 | Sun Microsystems, Inc. | Method and apparatus for providing a key distribution center without storing long-term server secrets |
US20040180721A1 (en) * | 2000-12-21 | 2004-09-16 | Igt | Gaming terminal data repository and information distribution system |
US8556698B2 (en) | 2000-10-19 | 2013-10-15 | Igt | Executing multiple applications and their variations in computing environments |
US8636596B2 (en) | 2000-11-04 | 2014-01-28 | Igt | Dynamic player notices for operational changes in gaming machines |
US6645077B2 (en) * | 2000-10-19 | 2003-11-11 | Igt | Gaming terminal data repository and information distribution system |
US9251647B2 (en) * | 2000-10-19 | 2016-02-02 | Igt | Remote configuration of gaming terminals |
US6850161B1 (en) * | 2000-10-23 | 2005-02-01 | Verizon Corporate Services Group Inc. | Systems and methods for identifying and mapping conduit location |
US6889209B1 (en) * | 2000-11-03 | 2005-05-03 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
US7224806B2 (en) * | 2000-11-13 | 2007-05-29 | Thomson Licensing | Threshold cryptography scheme for conditional access systems |
US7100045B2 (en) * | 2000-11-22 | 2006-08-29 | Kabushiki Kaisha Toshiba | System, method, and program for ensuring originality |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7186181B2 (en) * | 2001-02-02 | 2007-03-06 | Igt | Wide area program distribution and game information communication system |
US20020112162A1 (en) * | 2001-02-13 | 2002-08-15 | Cocotis Thomas Andrew | Authentication and verification of Web page content |
US7096497B2 (en) | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
US20020144121A1 (en) * | 2001-03-30 | 2002-10-03 | Ellison Carl M. | Checking file integrity using signature generated in isolated execution |
US7580988B2 (en) * | 2001-04-05 | 2009-08-25 | Intertrust Technologies Corporation | System and methods for managing the distribution of electronic content |
US7188342B2 (en) * | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
US7099663B2 (en) | 2001-05-31 | 2006-08-29 | Qualcomm Inc. | Safe application distribution and execution in a wireless environment |
GB2376389A (en) * | 2001-06-04 | 2002-12-11 | Hewlett Packard Co | Packaging evidence for long term validation |
US20020191785A1 (en) * | 2001-06-14 | 2002-12-19 | International Business Machines Corporation | Apparatus and method for encrypting and decrypting data with incremental data validation |
US7343297B2 (en) * | 2001-06-15 | 2008-03-11 | Microsoft Corporation | System and related methods for managing and enforcing software licenses |
US7000115B2 (en) * | 2001-06-19 | 2006-02-14 | International Business Machines Corporation | Method and apparatus for uniquely and authoritatively identifying tangible objects |
US7287156B2 (en) * | 2001-06-29 | 2007-10-23 | International Business Machines Corporation | Methods, systems and computer program products for authentication between clients and servers using differing authentication protocols |
US20030005327A1 (en) * | 2001-06-29 | 2003-01-02 | Julian Durand | System for protecting copyrighted materials |
US7137000B2 (en) * | 2001-08-24 | 2006-11-14 | Zih Corp. | Method and apparatus for article authentication |
US20030061947A1 (en) * | 2001-10-01 | 2003-04-03 | Hohberger Clive P. | Method and apparatus for associating on demand certain selected media and value-adding elements |
CN1575562A (zh) * | 2001-10-23 | 2005-02-02 | 松下电器产业株式会社 | 信息处理装置 |
JP2003141267A (ja) * | 2001-11-05 | 2003-05-16 | Sony Corp | 通信教育システム及び通信教育方法 |
US7334125B1 (en) | 2001-11-27 | 2008-02-19 | Cisco Technology, Inc. | Facilitating secure communications among multicast nodes in a telecommunications network |
US7346781B2 (en) * | 2001-12-06 | 2008-03-18 | Mcafee, Inc. | Initiating execution of a computer program from an encrypted version of a computer program |
US20030120923A1 (en) * | 2001-12-21 | 2003-06-26 | Avaya Technology Corp. | Secure data authentication apparatus |
US7400729B2 (en) * | 2001-12-28 | 2008-07-15 | Intel Corporation | Secure delivery of encrypted digital content |
JP2003244138A (ja) * | 2002-02-18 | 2003-08-29 | Fujitsu Ltd | 原本作成装置及び原本性保証装置 |
SG115453A1 (en) * | 2002-02-27 | 2005-10-28 | Oneempower Pte Ltd | Activity management method |
US20030167407A1 (en) * | 2002-03-01 | 2003-09-04 | Brett Howard | Authenticated file loader |
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 |
WO2003093961A2 (en) * | 2002-05-02 | 2003-11-13 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
US7203844B1 (en) | 2002-06-20 | 2007-04-10 | Oxford William V | Method and system for a recursive security protocol for digital copyright control |
US8438392B2 (en) * | 2002-06-20 | 2013-05-07 | Krimmeni Technologies, Inc. | Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol |
US7803052B2 (en) * | 2002-06-28 | 2010-09-28 | Microsoft Corporation | Discovery and distribution of game session information |
US7979712B2 (en) * | 2002-07-01 | 2011-07-12 | International Business Machines Corporation | Network system, server and information terminal for list matching |
US7093119B2 (en) | 2002-07-16 | 2006-08-15 | International Business Machines Corporation | Methods and computer program products for protecting source code of an interpreted programming language |
US8393001B1 (en) | 2002-07-26 | 2013-03-05 | Mcafee, Inc. | Secure signature server system and associated method |
JP4200067B2 (ja) * | 2002-08-30 | 2008-12-24 | 株式会社リコー | 画像処理装置、画像処理方法、及び画像処理プログラム |
US20040059922A1 (en) * | 2002-09-20 | 2004-03-25 | Harris Rodney C. | Continuous voice recognition for user authentication by a digital transmitting device |
US20040260947A1 (en) * | 2002-10-21 | 2004-12-23 | Brady Gerard Anthony | Methods and systems for analyzing security events |
CN1333314C (zh) * | 2002-12-11 | 2007-08-22 | 雄图资讯股份有限公司 | 软件执行控制系统 |
US7305564B2 (en) * | 2002-12-19 | 2007-12-04 | International Business Machines Corporation | System and method to proactively detect software tampering |
US7069245B2 (en) * | 2003-02-06 | 2006-06-27 | Business Wire | Simultaneous network news distribution |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US20040235563A1 (en) * | 2003-02-26 | 2004-11-25 | Blackburn Christopher W. | Game update service in a service-oriented gaming network environment |
US6965968B1 (en) | 2003-02-27 | 2005-11-15 | Finjan Software Ltd. | Policy-based caching |
US20040242328A1 (en) * | 2003-03-05 | 2004-12-02 | Blackburn Christopher W. | Boot service in a service-oriented gaming network environment |
US8308567B2 (en) * | 2003-03-05 | 2012-11-13 | Wms Gaming Inc. | Discovery service in a service-oriented gaming network environment |
US20040243848A1 (en) * | 2003-03-06 | 2004-12-02 | Blackburn Christopher W. | Authentication service in a service-oriented gaming network environment |
US20040243849A1 (en) * | 2003-03-06 | 2004-12-02 | Blackburn Christopher W. | Authorization service in a service-oriented gaming network environment |
US20030177051A1 (en) * | 2003-03-13 | 2003-09-18 | Robin Driscoll | Method and system for managing worker resources |
US20040242331A1 (en) * | 2003-03-17 | 2004-12-02 | Blackburn Christopher W. | Time service in a service-oriented gaming network environment |
US20040266532A1 (en) * | 2003-03-27 | 2004-12-30 | Blackburn Christopher W. | Event management service in a service-oriented gaming network environment |
US7352878B2 (en) * | 2003-04-15 | 2008-04-01 | Digimarc Corporation | Human perceptual model applied to rendering of watermarked signals |
CA2464788A1 (en) * | 2003-04-16 | 2004-10-16 | Wms Gaming Inc. | A gaming software distribution network in a gaming system environment |
US20040259633A1 (en) * | 2003-04-16 | 2004-12-23 | Gentles Thomas A. | Remote authentication of gaming software in a gaming system environment |
US20040259640A1 (en) * | 2003-04-16 | 2004-12-23 | Gentles Thomas A. | Layered security methods and apparatus in a gaming system environment |
CA2464514A1 (en) * | 2003-04-16 | 2004-10-16 | Wms Gaming Inc. | Secured networks in a gaming system environment |
US20050227768A1 (en) * | 2003-05-27 | 2005-10-13 | Blackburn Christopher W | Gaming network environment having a language translation service |
EP1678692A4 (de) * | 2003-06-17 | 2008-03-12 | Intelagents Inc | System und verfahren zum überwachen und erkennen einer sicherheitsgefahr |
US7012520B2 (en) | 2003-06-17 | 2006-03-14 | Infraegis, Inc. | Global intelligent remote detection system |
US20050002533A1 (en) * | 2003-07-01 | 2005-01-06 | Langin-Hooper Jerry Joe | Fully secure message transmission over non-secure channels without cryptographic key exchange |
WO2005006326A2 (en) * | 2003-07-11 | 2005-01-20 | Koninklijke Philips Electronics N.V. | Watermark embedding and detection |
WO2005015389A1 (en) * | 2003-07-11 | 2005-02-17 | Computer Associates Think, Inc. | Adding user-defined objects to a modeling tool |
US8738535B2 (en) * | 2003-08-15 | 2014-05-27 | Inter-Tel (DE) Inc | System and method for software site licensing |
US20050038751A1 (en) * | 2003-08-15 | 2005-02-17 | Gaetano Arthur Louis | System and method for software site licensing |
US20050071656A1 (en) * | 2003-09-25 | 2005-03-31 | Klein Dean A. | Secure processor-based system and method |
US7711957B2 (en) | 2003-09-30 | 2010-05-04 | Siemens Aktiengesellschaft | Granting access to a computer-based object |
CA2542344A1 (en) * | 2003-10-13 | 2005-04-21 | Koninklijke Philips Electronics N.V. | Storage allocation per application |
US7516147B2 (en) * | 2003-10-23 | 2009-04-07 | Sumisho Computer Systems Corporation | URL system and method for licensing content |
JP2005167977A (ja) * | 2003-11-14 | 2005-06-23 | Ricoh Co Ltd | 製品正当性検証システム、正当性検証対象の装置、製品正当性検証方法及び固有情報提供方法 |
JP4547907B2 (ja) * | 2003-12-22 | 2010-09-22 | 横河電機株式会社 | コントローラ |
FR2866451B1 (fr) * | 2004-02-18 | 2008-02-29 | Cit Alcatel | Procede et dispositif de transformation d'un systeme d'exploitation en vue de la protection d'un programme informatique contre des intrusions exterieures |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
JP2005293109A (ja) * | 2004-03-31 | 2005-10-20 | Canon Inc | ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム |
US7287159B2 (en) * | 2004-04-01 | 2007-10-23 | Shieldip, Inc. | Detection and identification methods for software |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
US7693286B2 (en) * | 2004-07-14 | 2010-04-06 | Intel Corporation | Method of delivering direct proof private keys in signed groups to devices using a distribution CD |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8200476B2 (en) * | 2004-11-04 | 2012-06-12 | Avaya Inc. | Message file editing process |
US7694153B2 (en) * | 2004-11-15 | 2010-04-06 | Microsoft Corporation | Changing product behavior in accordance with license |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US8176564B2 (en) | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
US8924728B2 (en) * | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
US20080288786A1 (en) * | 2004-12-20 | 2008-11-20 | Michael Stephen Fiske | System with access keys |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
JP4727278B2 (ja) * | 2005-04-05 | 2011-07-20 | 株式会社エヌ・ティ・ティ・ドコモ | アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US8151112B2 (en) * | 2005-04-22 | 2012-04-03 | Gerard Lin | Deliver-upon-request secure electronic message system |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US20060271493A1 (en) * | 2005-05-24 | 2006-11-30 | Contentguard Holdings, Inc. | Method and apparatus for executing code in accordance with usage rights |
US8287375B2 (en) * | 2005-05-31 | 2012-10-16 | Aristocrat Technologies Australia Pty Ltd | Password entry system |
US8353046B2 (en) * | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
US8132005B2 (en) * | 2005-07-07 | 2012-03-06 | Nokia Corporation | Establishment of a trusted relationship between unknown communication parties |
US7698227B1 (en) * | 2005-07-14 | 2010-04-13 | Sun Microsystems, Inc. | System and method for providing traceable acknowledgement of a digital data distribution license |
US20070016770A1 (en) * | 2005-07-18 | 2007-01-18 | Dell Products L.P. | System and method for managing the initiation of software programs in an information handling system |
US20100203960A1 (en) * | 2005-07-20 | 2010-08-12 | Wms Gaming Inc. | Wagering game with encryption and authentication |
GB0516471D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | Protected software identifiers for improving security in a computing device |
US20070056035A1 (en) * | 2005-08-16 | 2007-03-08 | Drew Copley | Methods and systems for detection of forged computer files |
JP2009505148A (ja) * | 2005-08-19 | 2009-02-05 | エヌエックスピー ビー ヴィ | 暗号化演算における反転操作を行うための回路配置及び方法 |
US8265265B2 (en) * | 2005-08-19 | 2012-09-11 | Nxp B.V. | Circuit arrangement and method for RSA key generation |
US8682795B2 (en) * | 2005-09-16 | 2014-03-25 | Oracle International Corporation | Trusted information exchange based on trust agreements |
US8340289B2 (en) * | 2005-09-29 | 2012-12-25 | Research In Motion Limited | System and method for providing an indication of randomness quality of random number data generated by a random data service |
US7797545B2 (en) * | 2005-09-29 | 2010-09-14 | Research In Motion Limited | System and method for registering entities for code signing services |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7953225B2 (en) * | 2005-10-21 | 2011-05-31 | Harris Corporation | Mobile wireless communications device with software installation and verification features and related methods |
JP4556857B2 (ja) * | 2005-12-07 | 2010-10-06 | セイコーエプソン株式会社 | 情報配信装置、情報配信装置の制御方法および制御プログラム |
US8818897B1 (en) * | 2005-12-15 | 2014-08-26 | Rockstar Consortium Us Lp | System and method for validation and enforcement of application security |
US20070152854A1 (en) * | 2005-12-29 | 2007-07-05 | Drew Copley | Forgery detection using entropy modeling |
US7499552B2 (en) * | 2006-01-11 | 2009-03-03 | International Business Machines Corporation | Cipher method and system for verifying a decryption of an encrypted user data key |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
US20070294181A1 (en) * | 2006-05-22 | 2007-12-20 | Saurabh Chheda | Flexible digital rights management with secure snippets |
EP1879122A1 (de) * | 2006-07-10 | 2008-01-16 | ABB Research Ltd | Verfahren und Vorrichtungen zur Überprüfung der Authentizität eines aufgerufenen Code-Moduls |
US8311650B2 (en) * | 2006-07-13 | 2012-11-13 | Mitsubishi Electric Corporation | Equipment management system, programmable controller and centralized controller |
WO2008021079A2 (en) | 2006-08-08 | 2008-02-21 | Wms Gaming Inc. | Configurable wagering game manager |
GB2443863B (en) * | 2006-10-30 | 2011-05-11 | Hewlett Packard Development Co | Method and system for generating data transaction id |
CN101226569A (zh) * | 2007-01-19 | 2008-07-23 | 国际商业机器公司 | 在虚拟机中验证代码模块的方法及装置 |
US8682800B2 (en) * | 2007-01-30 | 2014-03-25 | Microsoft Corporation | Controlling access to technology based upon authorization |
US8433927B2 (en) | 2007-05-29 | 2013-04-30 | International Business Machines Corporation | Cryptographically-enabled privileged mode execution |
US8422674B2 (en) | 2007-05-29 | 2013-04-16 | International Business Machines Corporation | Application-specific secret generation |
US8332635B2 (en) | 2007-05-29 | 2012-12-11 | International Business Machines Corporation | Updateable secure kernel extensions |
CA2591280A1 (en) * | 2007-06-12 | 2008-12-12 | Nikolajs Volkova | A new digital signature scheme |
US7974409B2 (en) * | 2007-06-28 | 2011-07-05 | Samsung Electronics Co., Ltd. | Changing the order of public key cryptographic computations |
US8332636B2 (en) * | 2007-10-02 | 2012-12-11 | International Business Machines Corporation | Secure policy differentiation by secure kernel design |
FR2922702B1 (fr) | 2007-10-17 | 2010-02-26 | Airbus France | Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes |
US10013536B2 (en) * | 2007-11-06 | 2018-07-03 | The Mathworks, Inc. | License activation and management |
JP5052367B2 (ja) * | 2008-02-20 | 2012-10-17 | 株式会社リコー | 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体 |
CN101593257B (zh) * | 2008-05-27 | 2011-02-16 | 北京飞天诚信科技有限公司 | 基于.Net虚拟机的软件保护系统和方法 |
US20090313171A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Electronic transaction verification |
CN101436141B (zh) * | 2008-11-21 | 2012-07-18 | 深圳创维数字技术股份有限公司 | 基于数字签名的固件升级、固件封装方法与装置 |
TWI412941B (zh) * | 2008-11-25 | 2013-10-21 | Inst Information Industry | 產生及驗證一訊息之一語音簽章之裝置、方法及其電腦程式產品 |
US9135434B2 (en) * | 2010-04-19 | 2015-09-15 | Appcentral, Inc. | System and method for third party creation of applications for mobile appliances |
JP2012088765A (ja) * | 2010-10-15 | 2012-05-10 | Hitachi Solutions Ltd | プログラム起動制御方法、プログラム起動制御プログラム、携帯端末、ネットワークシステム |
JP5630261B2 (ja) * | 2010-12-27 | 2014-11-26 | 日本電気株式会社 | コンテンツ管理システム、管理サーバ、コンテンツ管理方法、及びプログラム |
US9152779B2 (en) | 2011-01-16 | 2015-10-06 | Michael Stephen Fiske | Protecting codes, keys and user credentials with identity and patterns |
US8732831B2 (en) | 2011-07-14 | 2014-05-20 | AVG Netherlands B.V. | Detection of rogue software applications |
US9098678B2 (en) * | 2011-09-15 | 2015-08-04 | Verizon Patent And Licensing Inc. | Streaming video authentication |
US9098696B2 (en) * | 2011-10-25 | 2015-08-04 | Raytheon Company | Appliqué providing a secure deployment environment (SDE) for a wireless communications device |
US9575906B2 (en) | 2012-03-20 | 2017-02-21 | Rubicon Labs, Inc. | Method and system for process working set isolation |
US9256765B2 (en) * | 2012-06-29 | 2016-02-09 | Kip Sign P1 Lp | System and method for identifying software changes |
US9323951B2 (en) | 2013-03-13 | 2016-04-26 | International Business Machines Corporation | Encrypted warranty verification and diagnostic tool |
EP3197089B1 (de) * | 2014-11-06 | 2019-08-07 | Huawei Technologies Co., Ltd. | Sicheres informationskonfigurationsverfahren, sicheres authentifizierungsverfahren und zugehöriger chip |
US11403685B2 (en) * | 2016-10-17 | 2022-08-02 | Blackberry Limited | Automatic distribution of licenses for a third-party service operating in association with a licensed first-party service |
US10262127B2 (en) | 2017-04-05 | 2019-04-16 | General Electric Company | Systems and method for securely sharing and executing data and models |
US10706164B2 (en) * | 2017-09-29 | 2020-07-07 | Intel Corporation | Crypto-enforced capabilities for isolation |
US10574451B2 (en) * | 2017-10-19 | 2020-02-25 | Bank Of America Corporation | Method and apparatus for perfect forward secrecy using deterministic hierarchy |
TWI643160B (zh) * | 2017-11-16 | 2018-12-01 | 國立臺北科技大學 | 利用權重參數與餘數定義隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 |
KR101979323B1 (ko) * | 2017-12-18 | 2019-05-15 | 주식회사 캐드서브 | 소프트웨어 저작권 인증 관리 방법 |
US20190236269A1 (en) * | 2018-01-31 | 2019-08-01 | International Business Machines Corporation | Detecting third party software elements |
US11050735B2 (en) * | 2018-08-23 | 2021-06-29 | International Business Machines Corporation | Customizable authentication system |
US11562073B2 (en) | 2018-11-28 | 2023-01-24 | The Boeing Company | Systems and methods of software load verification |
US10951404B1 (en) * | 2020-06-09 | 2021-03-16 | Quantropi Inc. | Methods and systems for digital message encoding and signing |
FR3113963B1 (fr) * | 2020-09-10 | 2023-06-30 | Thales Sa | Chaine de confiance avancee en aeronautique domaine de l'invention |
US11641347B2 (en) | 2021-03-10 | 2023-05-02 | Quantropi Inc. | Quantum-safe cryptographic methods and systems |
US20230403147A1 (en) | 2021-08-03 | 2023-12-14 | Mohammed Alawi E GEOFFREY | Methods and systems for verification method to validate documents |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4670857A (en) * | 1981-10-26 | 1987-06-02 | Rackman Michael I | Cartridge-controlled system whose use is limited to authorized cartridges |
US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
US4868877A (en) * | 1988-02-12 | 1989-09-19 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
-
1994
- 1994-06-10 US US08/258,244 patent/US5724425A/en not_active Expired - Lifetime
-
1995
- 1995-05-31 EP EP95303720A patent/EP0686906B1/de not_active Expired - Lifetime
- 1995-05-31 DE DE69534212T patent/DE69534212T8/de not_active Expired - Fee Related
- 1995-06-12 JP JP7144507A patent/JPH08166879A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0686906B1 (de) | 2005-05-18 |
EP0686906A3 (de) | 1997-08-06 |
JPH08166879A (ja) | 1996-06-25 |
DE69534212T8 (de) | 2006-04-27 |
DE69534212D1 (de) | 2005-06-23 |
US5724425A (en) | 1998-03-03 |
EP0686906A2 (de) | 1995-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69534212T2 (de) | Verfahren und Vorrichtung zur Verbesserung der Softwaresicherheit und zur Software-Verteilung | |
DE69534757T2 (de) | System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften | |
DE112005001654B4 (de) | Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD | |
DE69635209T2 (de) | Parametrierbare hash-funktionen zur zugangskontrolle | |
DE69704684T2 (de) | Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip | |
DE19827659B4 (de) | System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff | |
DE69738002T2 (de) | Authentifizierungseinrichtung nach dem Challenge-Response-Prinzip | |
DE69514908T2 (de) | Verfahren und einrichtung zum aufbau einer kryptographischen verbindung zwischen elementen eines systems | |
DE69837303T2 (de) | Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme | |
DE112005001666B4 (de) | Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD | |
DE602004005485T2 (de) | Verfahren zum beurteilen der nutzungserlaubnis für informationen und inhaltsverbreitungssystem, das dieses verfahren verwendet | |
EP1133849B1 (de) | Verfahren und vorrichtung zum erzeugen eines verschlüsselten nutzdatenstroms und verfahren und vorrichtung zum entschlüsseln eines verschlüsselten nutzdatenstroms | |
DE602004007116T2 (de) | Geschützter rückkanal vom digitalen rechte verwaltenden dongle | |
EP1184771B1 (de) | Verfahren zum Schutz von Computer-Software und/oder computerlesbaren Daten sowie Schutzgerät | |
DE60002893T2 (de) | Computerplattformen und deren betriebsverfahren | |
EP1777907B1 (de) | Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem | |
EP2810400B1 (de) | Kryptographisches authentifizierungs - und identifikationsverfahren mit realzeitverschlüsselung | |
DE102004024002B4 (de) | Verfahren zur Authentifizierung von Sensordaten und zugehörigem Sensor | |
DE102010027586B4 (de) | Verfahren zum kryptographischen Schutz einer Applikation | |
DE60114069T2 (de) | System und Verfahren für den Schutz von Digitalwerken | |
DE60106802T2 (de) | Urheberrechtsschutzsystem, Verschlüsselungsvorrichtung, Entschlüsselungsvorrichtung und Aufzeichnungsmedium | |
DE60112227T2 (de) | Verfahren und vorrichtung zur sicheren datenverteilung | |
DE69720971T2 (de) | Computersystem und Verfahren zum Schutz von Software | |
DE69605654T2 (de) | Elektronisch verhandelbare dokumente | |
DE202022101844U1 (de) | Ein System zur Ver- und Entschlüsselung von Daten für gesicherte Kommunikation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |