DE60130172T2 - Eine gesicherte und offene Rechnerplattform - Google Patents

Eine gesicherte und offene Rechnerplattform Download PDF

Info

Publication number
DE60130172T2
DE60130172T2 DE60130172T DE60130172T DE60130172T2 DE 60130172 T2 DE60130172 T2 DE 60130172T2 DE 60130172 T DE60130172 T DE 60130172T DE 60130172 T DE60130172 T DE 60130172T DE 60130172 T2 DE60130172 T2 DE 60130172T2
Authority
DE
Germany
Prior art keywords
data
platform
operating system
operable
key
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
Application number
DE60130172T
Other languages
English (en)
Other versions
DE60130172D1 (de
Inventor
Peter Princeton Yianilos
Joseph Princeton Junction Kilian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Franklin Electronic Publishers Inc
Original Assignee
Franklin Electronic Publishers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Franklin Electronic Publishers Inc filed Critical Franklin Electronic Publishers Inc
Publication of DE60130172D1 publication Critical patent/DE60130172D1/de
Application granted granted Critical
Publication of DE60130172T2 publication Critical patent/DE60130172T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Description

  • Diese Erfindung betrifft eine Vorrichtung und ein System zum Bereitstellen einer Computerplattform, insbesondere einer, die den Betrieb der Anwendungsprogramme und Objektdateien steuert, um auf angemessene Weise vor Computerstörungen zu schützen.
  • Eine Sorge beim Erstellen einer Computerplattform gilt dem Ausmaß an Kontrolle, das die Plattform über die Art behält, in der die Anwendungsprogramme arbeiten und mit der auf Datendateien auf der Plattform zugegriffen wird. Eine Computerplattform kann Steuerungsmerkmale aufweisen, die Regeln und Einschränkungen darüber ausführen, wie Anwendungsprogramme ausgeführt werden und wie auf Dateien auf dieser Plattform zugegriffen wird. Jedes Anwendungsprogramm, das auf dieser Plattform arbeitet, würde dann gewöhnlich gemäß diesen Regeln oder Einschränkungen geschrieben.
  • Es wird beabsichtigt, dass Steuerungsmerkmale einer Plattform eine Art von Sicherheit für den Benutzer der Plattform und/oder den Schreiber des Anwendungsprogramms oder der Objektdatei bewirken. Zum Beispiel kann eine Computerplattform bestimmte Steuerungsmerkmale enthalten, um unerwünschte Computerstörungen, wie diejenigen, die durch einen Computervirus oder ein schlecht geschriebenes Anwendungsprogramm verursacht werden, zu verhindern. In anderen Fällen kann eine Computerplattform auch Steuerungsmerkmale zur Verhinderung der Verletzung der Rechte des geistigen Eigentums einer Person aufweisen, die durch die unberechtigte Vervielfältigung von urheberrechtlich geschütztem Material eintreten kann.
  • Je mehr Steuerungsmerkmale auf einer bestimmten Plattform ausgeführt werden, desto weniger flexibel ist die Plattform beim Aufnehmen von Anwendungsprogrammen. Wenn ein Anwendungsprogramm geschrieben wird, um die Regeln einer bestimmten Plattform zu erfüllen, ist es möglich, dass das Anwendungsprogramm nur auf dieser Plattform verwendet werden kann. Umgekehrt kann es sein, dass Anwendungsprogramme, die geschrieben wurden, um die Regeln einer unterschiedlichen Plattform zu erfüllen, nicht auf dieser Plattform arbeiten können.
  • Ein Anwendungsprogrammierer muss vor dem Schreiben des Anwendungsprogramms für gewöhnlich bestimmen, für welche Plattform die Programmanwendung geschrieben wird. Folglich wird ein Anwendungsprogrammierer gewöhnlich die Plattformen bevorzugen, die am wenigsten restriktiv sind, da dies die Möglichkeit erhöht, dass das Anwendungsprogramm in der Lage ist, auf den meisten Plattformen ausgeführt zu werden. Daher ist es für eine Plattform vorteilhafter, beim Ausführen der gewünschten Steuerungsmerkmale das geringste Ausmaß an Regeln zu verwenden.
  • Wenn eine Computerplattform zur Behandlung von sensiblem, urheberrechtlich geschütztem Material bestimmt ist, wird das Verhindern unerlaubter Vervielfältigung vorrangig und alle Steuerungsfragen sind von geringerer Bedeutung. Mit dem Aufkommen und der Beliebtheit digitaler Veröffentlichungen und dem elektronischen Vertrieb von Veröffentlichungen, die auf elektronischen Lesern zu lesen sind, hat der Schutz von Urheberrechten auf einer Computerplattform an Bedeutung gewonnen.
  • Folglich wäre es vorteilhaft, eine Computerplattform bereitzustellen, die Steuerungsmerkmale bereitstellt, um unerwünschte Verletzungen der Rechte des geistigen Eigentums zu verhindern und dennoch genügend Flexibilität für Anwendungsprogramme und Objektdateien erlaubt. Es wäre auch vorteilhaft, eine Computerplattform bereitzustellen, die Steuerungsmerkmale bereitstellt, die vor Störungen von Computeranwendungen auf der Plattform schützt.
  • WO-A-00/1023 offenbart ein Verfahren und System zum Schützen von Inhalt durch Gewährleistung einer sicheren Softwareverarbeitungsumgebung. Ein Prozessor ist mit einer Zertifizierungseinheit verbunden, die gewährleistet, dass nur zertifizierter Software der Zugriff auf Speicher erlaubt wird, die Inhalt enthalten. Das Zertifizieren einer Einheit zertifiziert in Reaktion auf eine Startanfrage auch ein BIOS- und Betriebssystem, das im Speicher gespeichert ist. Das BIOS- und Betriebssystem werden nur geladen, wenn sie korrekt zertifiziert sind.
  • Die vorliegende Erfindung beinhaltet ein System, das genügend Steuerungsmerkmale bereitstellt, um eine sichere Plattform zu erstellen, und trotzdem die Flexibilität beibehält, um in der Lage zu sein, zu arbeiten und eine breite Palette an Anwendungen auszuführen.
  • Die vorliegende Erfindung ist in den begleitenden unabhängigen Ansprüchen 1, 13 und 17 definiert. Einige bevorzugte Merkmale werden in den abhängigen Ansprüchen aufgezählt.
  • In einer bevorzugten Ausführungsform bringt das erfundene System die Verwendung von Steuerungsmerkmalen mit sich, die kombiniert gegen Störungen in einer Computerplattform schützen und die Fähigkeit bereitstellen, unerlaubten Zugriff auf urheberrechtlich geschütztes Material zu verhindern. Diese Sicherheitsmaßnahmen umfassen:
    • 1) Ein sicheres Betriebssystem, einschließlich eines sicheren Speicherverwaltungssystems;
    • 2) Verschlüsselung mit öffentlichem Schlüssel;
    • 3) Datenauthentifizierung durch digitale Signaturen; und
    • 4) Anwendungsprogramm-/Objektdateienzulassung.
  • Das Bereitstellen eines sicheren Betriebssystems kann zwei Gesichtspunkte mit sich bringen: 1) Gewährleisten, dass das Betriebssystem für die Plattform zugelassen ist und 2) Erstellen von Firewalls um die Anwendungsprogramme und Objektdateien, die auf der Plattform arbeiten. Der Begriff „Firewall" wird hierin verwendet, um die Anordnung in der Computerplattform zu bezeichnen, die bestimmte Speicherverwaltungskomponenten des Betriebssystems verwendet, um den Zugriff auf ein Anwendungsprogramm oder eine Objektdatei im Speicher zu verweigern. Der Zugriff auf die Objektdatei oder das Anwendungsprogramm kann nur gewährt werden, wenn die erforderliche Erlaubnis erhalten wird.
  • Verschlüsselung bringt allgemein das Reformatieren von Daten unter Verwendung eines „Verschlüsselungsschlüssels" mit sich, derart, dass niemand anderes in der Lage sein wird, die se Daten zu verwenden oder zu lesen, wenn er nicht über einen zweckmäßigen „Entschlüsselungsschlüssel" verfügt.
  • Datenauthentifizierung bringt die Fähigkeit mit sich, den Autor und den Titel der Daten zu verifizieren und zu gewährleisten, dass die Daten richtig verfasst sind und seit dem Zeitpunkt der Erstellung durch diesen Verfasser bis zum Empfang durch die Plattform nicht abgeändert wurden.
  • Die Anwendungs-/Datenzulassung ermöglicht es den Anwendungsprogrammen, den Typ von Objektdateien zurückzuweisen, auf dem sie arbeiten wird und ermöglicht es den Objektdateien auch, die Anwendung durch eine flexible Zugriffspolitik durch die Verwendung von Objekt-Handlern und eines Anwendungsprogramm-Zulassungsverfahrens zurückzuweisen.
  • In der Ausführungsform des erfundenen Systems sind diese vier Typen von Steuerungsmerkmalen für den Zugriff durch ein Anwendungsprogramm oder eine Datendatei verfügbar, wenn sie sich auf der Plattform befinden. Anwendungsprogramme und Dateien können auf der Plattform arbeiten, ohne die Steuerungsmerkmale zu verwenden. Durch diese vier Typen von Steuerungsmerkmalen wird eine Computerplattform bereitgestellt, die sowohl für die Annahme verschiedener Anwendungsprogramme als auch für den Schutz geistigen Eigentums offen ist.
  • Die vorliegende Erfindung kann auf verschiedene Arten in die Praxis umgesetzt werden, von denen einige nun mit Bezug auf die begleitenden Zeichnungen beschrieben werden; es zeigen:
  • 1 die Anordnung einer Vorrichtung, die eine Ausführungsform der vorliegenden Erfindung ausführt;
  • 2 ein Ablaufdiagramm, das das Erstellen einer digitalen Signatur gemäß einer Ausführungsform der vorliegenden Erfindung anschaulich macht;
  • 3 ein Ablaufdiagramm, das das Signatur-Authentifizierungsverfahren gemäß einer Ausführungsform der vorliegenden Erfindung anschaulich macht;
  • 4 ein Ablaufdiagramm, das das Erstellen einer digitalen Signatur zusammen mit dem weiteren Schritt der Ver schlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung anschaulich macht;
  • 5 ein Ablaufdiagramm, das das Signatur-Authentifizierungsverfahren zusammen mit dem weiteren Schritt der Entschlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung anschaulich macht;
  • 6 ein Ablaufdiagramm, das das Erstellen einer digitalen Signatur zusammen mit dem weiteren Schritt der Verschlüsselung gemäß einer anderen Ausführungsform der vorliegenden Erfindung anschaulich macht;
  • 7 ein Ablaufdiagramm, das das Signatur-Authentifizierungsverfahren zusammen mit dem weiteren Schritt der Entschlüsselung gemäß einer anderen Ausführungsform der vorliegenden Erfindung anschaulich macht; und
  • 8 ein Ablaufdiagramm, das die Schritte des Erhaltens der Erlaubnis zum Zugreifen auf Daten im Speicher gemäß einer Ausführungsform der vorliegenden Erfindung anschaulich macht.
  • 1 stellt die Anordnung einer Vorrichtung, die eine Ausführungsform der vorliegenden Erfindung ausführt, bildlich dar. Die Computerplattform 101 ist mit einer Eingangsschnittstelle 103 und einer Ausgabeschnittstelle 105 versehen, um es der Plattform zu ermöglichen, Daten zu erhalten und zu übertragen. Die Eingangsschnittstelle 103 und die Ausgabeschnittstelle 105 können die gleiche physikalische Schnittstelle sein, so lange diese die Fähigkeit aufweist, sowohl Daten zu empfangen als auch zu übertragen.
  • Die Hardware 107 ist innerhalb der Computerplattform 101 enthalten und führt Firmware 109 aus. Die Hardware 107 umfasst auch Speicherregister 111. Das Betriebssystem der Computerplattform wird auf die Hardware 107 geladen.
  • Das Betriebssystem („O/S") ist das Fundament für die Infrastruktur der Plattform zur Verwaltung von Sicherheit und digitalen Rechten. Die Firmware 109 umfasst einen O/S-Verifizierer 113 zum Authentifizieren des O/S bevor das O/S auf die Hardware 107 geladen wird. Jedes Mal, wenn das O/S geladen oder abgeändert wird, muss der O/S-Verifizierer 113 das O/S authentifizieren. Die O/S-Verifizierung verhindert die potentielle Umgehung der Sicherheitsmerkmale, die durch das O/S ausgeführt werden, durch unerlaubtes Verändern oder Ersetzen des O/S. Die O/S-Verifizierung beinhaltet nicht die Auferlegung von Einschränkungen, die die Anwendungsprogramme, die auf der Computerplattform ausgeführt werden, beeinträchtigen würden.
  • Die O/S-Verifizierung kann durch verschiedene Verfahren bewerkstelligt werden. Ein Verfahren der O/S-Verifizierung, das ausgeführt werden kann, verwendet digitale Signaturen. Algorithmen zum Erstellen und Verifizieren von Signaturen und zum Erzeugen der öffentlichen/privaten Signaturschlüsselpaare sind in der Literatur gut bekannt (vgl. Bruce, Schneier, „Applied Cryptography, second edition", John Wiley & Sons, Inc. New York (1996)). 2 und 3 stellen die Verifizierung der digitalen Signatur für das O/S bildlich dar. Diese Technik verwendet öffentliche/geheime Signaturschlüssel. Der erste Schritt 201 des digitalen Signaturverfahrens ist das Erstellen des zu signierenden Datenpakets. Das Datenpaket ist nicht unbedingt nur das O/S. Es können andere Informationen als Teil des Datenpakets mit eingeschlossen werden. Zum Beispiel können die Referenzen zusammen mit dem Datenpaket mit eingeschlossen werden. Diese Referenzen können verschiedene Elemente zum Identifizieren des O/S, wie den Autor, die Version und das Erstellungsdatum, enthalten.
  • Nach dem Bestimmen des zu signierenden Datenpakets besteht der nächste Schritt 203 im Anwenden einer Hash-Funktion auf das Datenpaket. Eine Hash-Funktion erstellt im Wesentlichen einen Wert mit fester Länge, der Hash-Wert genannt wird. Der Hash-Wert wird von Kennzeichen des Datenpakets abgeleitet. Unterschiedliche Datenpakete erstellen für gewöhnlich unterschiedliche Hash-Werte. Ferner ist das Erzeugen zweier unterschiedlicher Pakete, die den gleichen Hash-Wert aufweisen, rechnerisch unausführbar.
  • Jeder Autor ist einem oder mehreren Paaren von öffentlichen/privaten Signaturschlüsseln zugeordnet. Nachdem der Hash-Wert erstellt wurde (203), werden der Hash-Wert und der priva te Signaturschlüssel in einen festen, öffentlich bekannten Signaturalgorithmus eingegeben, der als seine Ausgabe eine digitale Signatur erzeugt (205). Jeder private Signaturschlüssel ist für einen einzelnen Autor eindeutig und ihm bekannt. Die resultierende Signatur ist für den Autor, der den privaten Signaturschlüssel kennt, eindeutig.
  • 3 stellt die Schritte bildlich dar, die ausgeführt werden, um ein signiertes Datenpaket zu authentifizieren. Der erste Schritt (301) besteht im Neuberechnen des Hash-Werts des Datenpakets. Diese Berechnung wendet die Hash-Funktion erneut auf das Datenpaket an. Der neuberechnete Hash-Wert, die Signatur und der öffentliche Signaturschlüssel werden als Eingänge in einen festen, öffentlich bekannten Signatur-Verifizierungsalgorithmus (303) eingegeben. Dieser Algorithmus gibt einen von zwei Werten aus: „annehmen", was bedeutet, dass die Signatur anzunehmen ist, und „zurückweisen", was bedeutet, dass die Signatur zurückzuweisen ist.
  • Die Kombination des Erstellens eines Hash-Codes und des Signierens des Hash-Codes zum Erstellen der digitalen Signatur ermöglicht die Fähigkeit des Sicherstellens, dass der Signatar die Signatur erstellt hat und dass das Datenpaket nicht abgeändert wurde, seit die Signatur erstellt wurde.
  • Für den OS-Verifizierer wird die öffentliche Signatur des autorisierten O/S-Programmierers in die Hardware der Computerplattform gebrannt. Dies ist erforderlich, da das O/S gewöhnlich die erste Software ist, die auf die Computerplattform geladen wird, und die Computerplattform in der Lage sein muss, dieses O/S zu verifizieren, wenn es geladen wird. Der autorisierte O/S-Programmierer ist gewöhnlich der Hersteller der Computerplattform.
  • Die Verfahren des Erstellens einer digitalen Signatur und des Authentifizierens der digitalen Signatur, die in 2 und 3 ausführlich aufgezeigt werden, sind nicht auf die O/S-Verifizierung beschränkt. Diese Verfahren können auch auf das Verfahren des Authentifizierens von Anwendungsprogrammen und Objektdateien anwendbar sein. Zusätzlich zu den Verfahren in 2 und 3 kann das Authentifizieren von Anwendungsprogram men und Objektdateien indes zusätzliche Schritte mit sich bringen.
  • 4 und 5 stellen die Verfahren bildlich dar, die beim Authentifizieren von Signaturen von Anwendungsprogrammen und Objektdateien ausgeführt werden können. In ähnlicher Weise wie die Verfahren, die in 2 umrissen werden, bestehen die ersten drei Schritte des Erstellens einer Signatur für Anwendungsprogramme und Objektdateien in den Schritten des Erstellens des Datenpakets 401, des Erstellens des Hash-Werts 403 und des Erstellens der digitalen Signatur 405. Für Anwendungsprogramme und Objektdateien sollten Referenzen mit dem Datenpaket mit einbezogen werden und diese Referenzen sollten zumindest den Namen des Autors der Daten beinhalten. Nachdem die Signatur des Datenpakets erstellt wurde, werden sowohl das Datenpaket als auch die Signatur in Schritt 407 mit einem öffentlichen Verschlüsselungsschlüssel verschlüsselt.
  • In ähnlicher Weise wie die öffentlichen/geheimen Signaturschlüssel ist der öffentliche Verschlüsselungsschlüssel unverwechselbar mit einem privaten Entschlüsselungsschlüssel verbunden. Sowohl der Verschlüsselungs- als auch der Entschlüsselungsschlüssel sind indes für eine bestimmte Computerplattform anstatt für einen bestimmten Programmierer eindeutig. Ein anderer Unterschied ist, dass der öffentliche Verschlüsselungsschlüssel verwendet wird, um die Daten zu verschlüsseln, während der private Entschlüsselungsschlüssel verwendet wird, um die Daten zu entschlüsseln. Der private Entschlüsselungsschlüssel wird geheim gehalten und ist lediglich dieser bestimmten Computerplattform bekannt. Dies erlaubt es nur dieser Computerplattform, auf die verschlüsselten Daten zuzugreifen, die mit dem öffentlichen Schlüssel verschlüsselt wurden, der für die Plattform eindeutig ist.
  • Zum Authentifizieren des Anwendungsprogramms oder der Objektdatei besteht der erste Schritt 501 im Entschlüsseln der verschlüsselten Daten mit dem privaten Entschlüsselungsschlüssel der Computerplattform. Nachdem die Daten entschlüsselt wurden, sollten die entschlüsselten Daten aus dem Datenpaket und der digitalen Signatur bestehen. Die nächsten Schritte bestehen im Wiedererstellen des Hash-Werts des Datenpakets 503 und im Erhalten der Ausgabe vom öffentlich bekannten Signatur-Verifizierungsalgorithmus 505. Wenn die Hash-Werte nicht übereinstimmen, dann werden die Daten vom Speicher gelöscht.
  • Die Verschlüsselung des Datenpakets unter Verwendung der Technik mit öffentlichen/privaten Schlüsseln stellt durch die Verwendung von zwei separaten Schlüsseln einen rigorosen Schutz gegen unerlaubten Zugriff auf die verschlüsselten Daten bereit. Dieses Verfahren kann indes ein beträchtliches Ausmaß der Verarbeitungsressourcen der Plattform in Anspruch nehmen. Zusätzlich kann das Verschlüsselungs- und Entschlüsselungsverfahren durch das Verschlüsseln des gesamten Datenpakets einen beträchtlichen Betrag an Zeit in Anspruch nehmen.
  • Eine andere Alternative zur Verwendung der öffentlichen/privaten Schlüssel ist das Verwenden einer weniger komplizierten Verschlüsselungstechnik zusätzlich zur Verschlüsselung mit öffentlichen/privaten Schlüsseln. 6 und 7 stellen das Verfahren des Authentifizierens von Programmanwendungen und Objektdateien unter Verwendung der zweiten Verschlüsselungstechnik bildlich dar.
  • Der erste Schritt 601 besteht im Erstellen des Datenpakets. Die zweiten und dritten Schritte 603, 605 bestehen im Erstellen des Hash-Werts und der digitalen Signaturen des Datenpakets. Der vierte Schritt 607 besteht im Verschlüsseln des Datenpakets und in der Signatur mit einem einzigen Verschlüsselungs-/Entschlüsselungsschlüssel. Dieser einzige Schlüssel wird sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet. Der einzige Entschlüsselungsschlüssel wird dann im nächsten Schritt 609 selbst mit dem öffentlichen Verschlüsselungsschlüssel verschlüsselt, der zu dieser bestimmten Plattform gehört.
  • Zum Entschlüsseln der Daten an der Plattform muss die Plattform zuerst in Schritt 701 den einzigen Verschlüsselungs-/Entschlüsselungsschlüssel unter Verwendung ihres privaten Entschlüsselungsschlüssels entschlüsseln. Mit dem entschlüsselten einzigen Verschlüsselungs-/Entschlüsselungsschlüssel verfügt die Plattform nun über den einzigen Verschlüsselungs-/Entschlüsselungsschlüssel und dann kann das Datenpaket entschlüsselt werden. Durch separates Verschlüsseln des einzigen Verschlüsselungs-/Entschlüsselungsschlüssels mit den öffentlichen/privaten Schlüsseln wird der Vorteil der Verwendung des sichereren öffentlichen/privaten Verschlüsselungssystems zum Schützen des gesamten Datenpakets erzielt, während ein geringeres Niveau an Komplexität beibehalten wird.
  • Nachdem ein Anwendungsprogramm oder eine Objektdatei durch die Verfahren, die in 4 oder 6 ausführlich aufgezeigt werden, oder durch gleichartige Verfahren authentifiziert wurde, werden sie als sichere Daten betrachtet. Wenn ein Anwendungsprogramm oder eine Objektdatei nicht authentifiziert wird, wird es/sie als unsicher betrachtet.
  • Dadurch, dass die Verschlüsselungs-/Entschlüsselungsschlüssel für jede Computerplattform eindeutig sind, kann das erfundene System die Verfügbarkeit von Daten auf eine bestimmte Computerplattform begrenzen. Jede Computerplattform, die nicht den richtigen privaten Entschlüsselungsschlüssel für ein verschlüsseltes Datenpaket aufweist, kann es nicht richtig entschlüsseln. Diese Fähigkeit, kombiniert mit den Signatur-Authentifizierungsverfahren, stellt die Fähigkeit bereit, eine vollständige Kontrolle über die Datenübertragungen an die Computerplattform auszuüben, indem: 1) gewährleistet wird, dass jede Datenübertragung an die Computerplattform nur durch diese Plattform gelesen werden kann und 2) gewährleistet wird, dass die Datenübertragung nicht abgeändert wurde, seit der Autor der Daten sie signiert hat.
  • Der private Entschlüsselungsschlüssel der Computerplattform muss in die Hardware gebrannt werden, derart, dass die Plattform immer in der Lage sein wird, verschlüsselte Datenpakete zu entschlüsseln. Zusätzlich sollte die Authentifizierung von Anwendungsprogrammen und Objektdateien jedes Mal vorgenommen werden, wenn ein Anwendungsprogramm oder Objektdateien auf dem Speicher der Computerplattform abgelegt werden. Durch das Ausführen dieser Authentifizierung jedes Mal, wenn Daten auf die Plattform geladen werden, gewährleistet das System, dass sämtliche Daten, die auf die Computerplattform geladen werden, richtig als sicher oder unsicher gekennzeichnet werden.
  • Obgleich nur die öffentliche Signatur des Herstellers in die Hardware gebrannt wird, ist die Fähigkeit, Anwendungsprogramme und Objektdateien als sicher zu bezeichnen, nicht auf den Hersteller der Computerplattform beschränkt. Jeder Programmierer, der ein Anwendungsprogramm oder eine Objektdatei schreibt, das/die auf der Computerplattform zu verwenden ist, kann es/sie als sichere Daten bezeichnen. Um unterschiedliche Programmierer beim Bezeichnen von Daten als sicher aufzunehmen, können die Programmierer alle Daten, die als sicher zu bezeichnen sind, an den Hersteller senden. Nach dem Authentifizieren der Daten vom Programmierer wird der Hersteller die Daten digital mit seinem geheimen Signaturschlüssel signieren, der dem öffentlichen Signaturschlüssel entspricht, der in die Hardware der Computerplattform gebrannt wurde.
  • Eine andere Ausführungsform bringt das Senden des öffentlichen Signaturschlüssels des Anwendungsprogrammierers an den Hersteller mit sich. Der Hersteller kann dann diesen öffentlichen Signaturschlüssel digital signieren. Diese Signatur kann dann unter Verwendung des Signaturschlüssels des Anwendungsprogrammierers an Signaturen angehängt werden. Da er durch den Hersteller signiert wurde, wird die Computerplattform den öffentlichen Signaturschlüssel des Programmierers als einen zusätzlichen Signaturschlüssel annehmen, der verwendet werden kann, um Anwendungsprogramme und Objektdateien als sicher zu authentifizieren. Diese zusätzlichen öffentlichen Signaturschlüssel und die entsprechenden Identitäten werden durch das O/S in einer Liste gespeichert. Auf diese Liste wird durch das O/S zugegriffen und die Identität, die in den Referenzen enthalten ist, wird verwendet, um den zweckmäßigen öffentlichen Signaturschlüssel zu bestimmen.
  • Dieses Verfahren des Zulassens des öffentlichen Signaturschlüssels eines anderen Programmierers ist nicht auf O/S-Verifizierung anwendbar. Es ist wichtig, das O/S immer zu kontrollieren, da dies gewährleistet, dass die Sicherheits merkmale, die durch das O/S vorgeschrieben werden, nicht umgangen werden können.
  • Ein durch das O/S ausgeführtes Sicherheitsmerkmal, das nicht umgangen werden sollte, ist das Erstellen von Firewalls um die Daten in den Speicherregistern 111, um die Integrität und den Datenschutz der Anwendungsprogramme und der Objektdateien zu wahren. Sowohl der Speicher eines Anwendungsprogramms als auch der Speicher einer Objektdatei werden automatisch vor allen anderen Anwendungen geschützt, die auf der Computerplattform 101 ausgeführt werden können. Es ist keine besondere Programmierung durch die Programmierer erforderlich, um diesen Schutz zu genießen. Zum Durchbrechen einer Firewall wird das O/S die Erlaubnis von zwei Orten ersuchen: 1) dem Anwendungsprogramm, das den Durchbruch anfragt und 2) den Daten im Speicher, auf die zuzugreifen ist.
  • 8 stellt das Verfahren des Erhaltens der zweckmäßigen Erlaubnis vor dem Erlauben des Zugriffs auf Anwendungsprogramme oder Objektdateien im Speicher bildlich dar. Für den ersten Schritt 801 bestimmt das O/S, ob die Daten im Speicher, auf die zugegriffen werden soll, zu einer sicheren Objektdatei oder einem sicheren Anwendungsprogramm gehören. Wenn die Daten im Speicher nicht sicher sind, informiert das O/S das anfragende Anwendungsprogramm darüber, dass sie nicht sicher sind. Das O/S wird es dem anfragenden Anwendungsprogramm erlauben, Zugriff auf die unsicheren Daten zu erlangen, wenn die anfragende Anwendung geschrieben wurde, um den Zugriff auf unsichere Daten zu erlauben, wie in Schritt 803 bestimmt.
  • Wenn die Daten im Speicher zu sicheren Daten gehören, dann stellt das O/S in Schritt 805 die Referenzen der sicheren Zieldaten für das anfragende Anwendungsprogramm bereit, um in Schritt 807 für das anfragende Anwendungsprogramm zu bestimmen, ob die Referenzen zugelassen sind.
  • Das O/S wird nicht automatisch Zugriff auf die sicheren Daten bereitstellen, wenn das anfragende Anwendungsprogramm die Referenzen zulässt. Mit sicheren Daten bestimmt das O/S dann in Schritt 809, ob die Daten zu einem Anwendungsprogramm oder einer Objektdatei gehören.
  • Wenn der Speicher zu einer Objektdatei gehört, wird das O/S gewöhnlich einen Objekt-Handler ausführen, der der Objektdatei zugeordnet ist. Der Begriff „Objekt-Handler", der hierin verwendet wird, bezeichnet ein Programm, das Objektdateien zugeordnet ist, die bestimmen, ob der Zugriff auf diese Objektdatei erlaubt ist. Zum Beispiel könnte ein Objekt-Handler, der einer bestimmten Objektdatei zugeordnet ist, Zugriff durch die Firewall für ein Anwendungsprogramm erlauben, das vom Herausgeber der Objektdatei hergeleitet wird. Der Objekt-Handler kann eine Anzahl von Parametern (Herausgeber, Verfalldatum, Plattformidentifikationen, usw.) als Kriterien für den Zugriff verwenden. Wenn der Objekt-Handler bestimmt, dass die Erlaubnis zum Zugriff auf den gewünschten Speicher erlaubt ist, wird das O/S den Zugriff ermöglichen.
  • Objekt-Handler werden für gewöhnlich durch den Autor des Datenpakets erstellt und zusammen mit dem Datenpaket einbezogen, das digital signiert wird. Es können in einer anderen Ausführungsform der vorliegenden Erfindung indes durch das O/S Default-Objekt-Handler für sichere Objektdateien erstellt werden, die keinen Objekt-Handler aufweisen.
  • Wenn die Zieldaten im Speicher zu einem Anwendungsprogramm gehören, dann muss das O/S bestimmen, ob die Zielanwendung das anfragende Anwendungsprogramm zulässt. Der nächste Schritt 811 besteht im Bestimmen, ob die anfragende Anwendung sicher ist. Abhängig vom sicheren Status der anfragenden Anwendung werden entweder die Referenzen der anfragenden Anwendung in Schritt 813 an das Zielanwendungsprogramm übermittelt oder die Tatsache, dass sie unsicher ist, wird an das Zielanwendungsprogramm übermittelt. In beiden Fällen muss das Zielanwendungsprogramm bestimmen, ob der Zugriff auf seinen Speicher gewährt wird, wie in Schritt 815 beziehungsweise 817 bildlich dargestellt.
  • Das Erhalten der Erlaubnis zum Durchbrechen einer Firewall muss in jedem neuen Fall erhalten werden, in dem ein Anwendungsprogramm Zugriff auf Daten im Speicher anfragt. Nachdem ein Anwendungsprogramm die Erlaubnis zum Zugreifen auf den Speicher erhält, muss das Anwendungsprogramm die Erlaubnis bis zur Beendigung seines Zugriffs nicht erneut erhalten. Nachdem der Zugriff beendet wurde, wird eine darauf folgende Anfrage zum Zugreifen auf Daten im Speicher als ein neuer Fall behandelt und die erforderliche Erlaubnis muss erhalten werden.
  • Durch rigoroses Schützen der Integrität von Anwendungsprogrammen und Objektdateien im Speicher minimiert das System den Schaden, der durch Computerstörungen verursacht wird. Jede Störung bei Anwendungsprogrammen oder Computerviren kann beim Beeinträchtigen anderer Programmanwendungen und Objektdateien geblockt werden. Die Firewall isoliert im Wesentlichen potentiell schädliche Einwirkungen auf Anwendungsprogramme und Objektdateien.
  • Firewalls ermöglichen es dem System auch, die Kontrolle über Datenübertragungen, die durch Datenverschlüsselung und Signatur-Authentifizierung ausgeübt wird, auszuweiten, um die Daten abzudecken, während sie sich im Speicher der Computerplattform befinden. Sobald sie sich im Speicher der Computerplattform befinden, wird unerlaubter Zugriff durch die Kombination von Firewalls und des Zulassungsverfahrens durch Objekt-Handler und Anwendungsprogrammzulassungen abgeblockt. So wird unerlaubter Zugriff auf die Daten vom Zeitpunkt der Erstellung der digitalen Signatur bis hin zur Übertragung der Daten an die Computerplattform und zur Verwendung auf der Plattform verhindert.
  • Unerlaubter Zugriff auf die Daten kann auch verhindert werden, wenn die Daten aus der Computerplattform exportiert werden, indem das Verschlüsselungs-/Entschlüsselungsverfahren auf alle Daten angewandt wird, die aus der Computerplattform heraus übertragen werden. Jedes Mal, wenn irgendwelche Daten, die als sicher gekennzeichnet sind, aus der Computerplattform heraus übermittelt werden, verschlüsselt die Computerplattform die Daten mit dem Verschlüsselungsschlüssel der Computerplattform. Das Verschlüsseln der Daten verhindert, das jemand, der nicht über den Entschlüsselungsschlüssel dieser Computerplattform verfügt, in unzulässiger Weise auf die Daten zugreift, die aus der Plattform heraus übermittelt wurden.
  • Eine Vielzahl von Daten kann durch das OS als sensibel bezeichnet werden, was bedeutet, dass nicht erwünscht ist, dass andere Organisationen die Inhalte dieser Daten erfahren. Zum Beispiel kann das OS Daten, die es in verschlüsselter Form empfängt, als sensibel bezeichnen. Das OS kann automatisch Teile des Speichers, die durch eine sichere Anwendung verwendet werden, für sensibel erachten. Oder es kann auf eine Anfrage hin handeln, die durch eine Anwendung oder das OS selbst erzeugt wurde, dass die Daten als sensibel bezeichnet werden sollen.
  • Normalerweise werden sensible Daten innerhalb der Computerplattform gehalten. Aufgrund von Speichereinschränkungen oder zum Ermöglichen von Datensicherung kann es erforderlich sein, sensible Daten von der Computerplattform zu exportieren. In der bevorzugten Ausführungsform der Erfindung werden Informationen, die durch das OS als sensibel bezeichnet werden, verschlüsselt, wenn sie, vollständig oder in Teilen, aus der Computerplattform heraus übertragen werden, und entschlüsselt, wenn sie wieder in die Computerplattform zurück importiert werden. In der bevorzugten Ausführungsform der Erfindung führt das OS diese Verschlüsselungs- und Entschlüsselungsschritte automatisch aus. Andere Betriebsarten sind möglich und können in spezifischen Zusammenhängen zweckmäßiger sein. Zum Beispiel kann das OS den Benutzer der Computerplattform oder Anwendungen, die auf der Computerplattform gespeichert sind, abfragen, bevor die Verschlüsselungs- und Entschlüsselungsabläufe ausgeführt werden. Durch das Steuern des Zugriffs auf Daten, die aus der Plattform heraus übermittelt wurden, übt das erfundene System die Kontrolle über den Zugriff auf die Daten in allen Fällen potentiellen Zugriffs aus, nachdem die digitale Signatur erstellt wird. Neben dem betrügerischen Beschaffen der Erlaubnis durch Zugreifen auf die geheimen und privaten Schlüssel muss eine Person die ausgeführten Sicherheitsmaßnahmen überwinden, um Zugriff auf sichere Daten zu erlangen. Diese Sicherheitsmaßnahmen erlegen dem Anwendungsprogrammierer keine restriktiven Regeln auf, da unsichere Anwendungsprogramme und Objektdateien immer noch auf dem erfundenen System arbeiten können.
  • Die vorliegende Erfindung wird in ihrem Umfang nicht als durch die in dieser Beschreibung beschriebenen bevorzugten Ausführungsformen eingeschränkt betrachtet. Die Software für das System, durch die das Verfahren der Erfindung ausgeführt wird, kann auf irgendeinem zweckmäßigen maschinenlesbaren Medium, wie beispielsweise einer Floppy-Disk, einer Computer-Festplatte, CD-ROM, Flash-ROM, nicht flüchtigem ROM und RAM gespeichert sein. Das Medium kann magnetisch oder optisch lesbar sein. Von zusätzlichen Vorteilen und Abwandlungen, die dem Fachmann bei Überlegung und aus der Beschreibung und in der Praxis leicht einfallen, wird beabsichtigt, dass sie innerhalb des Umfangs der folgenden Ansprüche liegen.

Claims (21)

  1. Ein Datensteuerungssystem, aufweisend: eine Computerplattform (101), die zum Authentifizieren eines auf die Plattform zu ladenden Betriebssystems betreibbar ist und zum Verhindern, dass das Betriebssystem auf die Plattform geladen wird, wenn das Betriebssystem nicht authentifiziert ist; einen Speicher (111) in welchem Anwendungsprogramme und Objektdateien speicherbar sind, wobei das Betriebssystem zum Erstellen einer Firewall um die zu Anwendungsprogrammen und Objektdateien gehörenden Daten in dem Speicher betreibbar ist, um den Zugriff auf die Anwendungsprogramme und Objektdateien zu steuern; eine Eingangsschnittstelle (103), welche mit der Plattform verbunden ist, um den Empfang von Eingangsdaten durch die Plattform zu erlauben, wobei das Betriebssystem in der Lage ist, die Eingangsdaten zu entschlüsseln und die Eingangsdaten zu authentifizieren; gekennzeichnet durch eine Ausgabeschnittstelle (105), welche mit der Plattform verbunden ist, um der Plattform ein Übertragen von Ausgangsdaten aus der Plattform zu erlauben, wobei die Ausgangsdaten bei der Übertragung verschlüsselt sind; wobei das Betriebssystem betreibbar ist, um einem anfragenden Programm den Zugriff auf Zieldaten innerhalb der Firewall zu erlauben, wenn sowohl das anfragende Anwendungsprogramm den Zugriff auf die Zieldaten autorisiert und ein den Zieldaten zugeordnetes Programm den Zugriff durch das anfragende Anwendungsprogramm autorisiert.
  2. Ein Datensteuerungssystem gemäß Anspruch 1, wobei die Plattform betreibbar ist, um das Betriebssystem durch Verifizieren einer digitalen Signatur, die dem Betriebssystem zugeordnet ist, zu authentifizieren (101).
  3. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 oder 2, wobei das Betriebssystem betreibbar ist, um die Eingangsdaten mit einem privaten Entschlüsselungsschlüssel, der für die Plattform einzigartig ist, zu entschlüsseln.
  4. Ein Datensteuerungssystem gemäß Anspruch 3, ferner mit einer Sendestation, welche betreibbar ist, um Daten mit einem öffentlichen Verschlüsselungsschlüssel zu verschlüsseln, wobei der öffentliche Verschlüsselungsschlüssel unmittelbar mit dem privaten Entschlüsselungsschlüssel der Computerplattform in Beziehung steht.
  5. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 bis 4, wobei das Betriebssystem betreibbar ist, um die Eingangsdaten zu authentifizieren, indem eine den Eingangsdaten zugeordnete digitale Signatur mit einem öffentlichen Signaturschlüssel verifiziert wird und wobei Eingangsdaten, welche nicht durch das Betriebssystem authentifiziert sind, als unsichere Daten klassifiziert werden.
  6. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 bis 5, wobei die Ausgangsschnittstelle (105) betriebbar ist, um die Ausgangsdaten zu verschlüsseln, wenn die Ausgangsdaten wenigstens einen Teil von Daten enthalten, welche durch das Betriebssystem authentifiziert wurden.
  7. Ein Datensteuerungssystem gemäß Anspruch 5, ferner mit einer Sendestation, welche betreibbar ist, um eine digitale Signatur mit einem geheimen Signaturschlüssel zu erzeugen, wobei der geheime Signaturschlüssel unverwechselbar der Sendestation zugeordnet ist.
  8. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 bis 4, wobei das Betriebssystem betreibbar ist, um die Eingangsdaten durch Verwendung einer Hash-Funktion zu authentifizieren.
  9. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 bis 8, wobei die Daten in dem Speicher betreibbar sind, um einen Zugriff durch einen Objekt-Handler zuzulassen, welcher jeder der Objektdateien zugeordnet ist, wenn die Daten in dem Speicher zu den Objektdateien gehören.
  10. Ein Datensteuerungssystem gemäß einem der Ansprüche 1 bis 9, welches betreibbar ist, um die Ausgangsdaten mit einem öffentlichen Verschlüsselungsschlüssel zu verschlüsseln, welcher für die Plattform eindeutig ist.
  11. Ein Datensteuerungssystem gemäß Anspruch 10, welches betreibbar ist, um die Ausgangsdaten mit einem privaten Entschlüsselungsschlüssel zu entschlüsseln, welcher dem öffentlichen Verschlüsselungsschlüssel zugeordnet ist.
  12. Ein Datensteuerungssystem gemäß einem Ansprüche 1 bis 11, wobei die Computerplattform (101) Hardware (103) enthält, welche betreibbar ist, um das Betriebssystem zu authentifizieren und zu verhindern, dass das Betriebssystem geladen wird, wenn es nicht authentifiziert ist.
  13. Ein Datensteuerungssystem, aufweisend: eine Sendestation, enthaltend: (a) eine Mehrzahl von Anwendungsprogrammen, (b) eine Mehrzahl von Objektdateien, (c) eine Mehrzahl von Handler-Programmen, jeweils einer einzelnen der Objektdateien zugeordnet, und (d) einer Mehrzahl von geheimschlüssel-verschlüsselten Signaturen, jeweils eindeutig für eine Untermenge der Anwendungsprogramme und der Objektdateien; eine Mehrzahl von Empfangsplattformen (101), jeweils mit Firmware (109) und einem Betriebssystem, wobei die Firmware betreibbar ist, um das Betriebssystem zu authentifizieren, wobei jede der Empfangsplattformen (101) zum Empfangen der Anwendungsprogramme, Objektdateien, Handler und Signaturen angepaßt ist und jede der Empfangsplattformen aufweist: (a) einen öffentlichen Signatur-Identifikationsschlüssel zum Authentifizieren der Signaturen und (b) Firewalls, die den Anwendungsprogrammen und Objektdateien zur Steuerung des Zugriffs auf jedes der Anwendungsprogramme und jede der Objektdateien zugeordnet ist, wobei eines der Handler-Programme, die jedem der Objektdateien zugeordnet sind, betreibbar ist, um Zugriff auf die zugeordneten Objektdateien durch ein oder mehrere geeignete Anwendungsprogramme zu erlauben; und wobei jedes der Handler-Programme programmierbar ist, um eine Multi-Parametersteuerung über den Zugriff auf die zugeordneten Objektdateien zu erlauben; dadurch gekennzeichnet, dass das Betriebssystem betreibbar ist, um einem anfragenden Programm den Zugriff auf Zieldaten innerhalb der Firewalls zu erlauben, wenn sowohl das anfragende Anwendungsprogramm den Zugriff auf die Zieldaten autorisiert und ein den Zieldaten zugeordnetes Programm den Zugriff durch das anfragende Anwendungsprogramm autorisiert.
  14. Das Datensteuerungssystem gemäß Anspruch 13, wobei: die Sendestation betreibbar ist, um die Objektdateien und die Anwendungsprogramme mit einem öffentlichen Schlüssel, der für die adressierte Empfangsplattform (101) eindeutig ist, zu verschlüsseln und wobei die empfangende Plattform (101) betreibbar ist, um die verschlüsselten Objektdateien und Anwendungsprogramme mit einem privaten Schlüssel zu entschlüsseln.
  15. Das Datensteuerungssystem gemäß Anspruch 13 oder 16, wobei die Signaturidentifikation durch einen Signatur-Erzeugungsalgorithmus bereitgestellt wird und einen geheimen Schlüssel an der sendenden Station, und durch einen Signatur-Verifizierungsalgorithmus und einen öffentlichen Schlüssel an jeder empfangenden Plattform.
  16. Das System gemäß einem der Ansprüche 13 bis 15, wobei: die Sendestation eine Mehrzahl von geheimschlüssel-verschlüsselten Signaturen aufweist, wobei jede Signatur für einen einzelnen Satz von Anwendungsprogrammen und Datentexten eindeutig ist, jede empfangende Plattform (101) eine Mehrzahl von öffentlichen Signatur-Identifikationsschlüsseln aufweist, die der Mehrzahl von geheimen Schlüsseln an der sendenden Station zugeordnet sind.
  17. Ein Verfahren zum Bereitstellen eines Datensteuerungssystems, aufweisend die Schritte: Authentifizieren eines auf einer Computerplattform (101) zu ladenden Betriebssystems; wobei der Authentifizierungsschritt jedes Mal ausgeführt wird, wenn ein Betriebssystem auf die Computerplattform geladen wird; Verifizieren von Referenzen von Daten, die zu der Computerplattform übermittelt werden, bevor die Daten in den Speicher der Computerplattform geladen werden; Erzeugen von Firewalls um Daten, die in den Speicher der Computerplattform geladen werden; Entschlüsseln von auf die Computerplattform übertragenen Daten mit einem privaten Entschlüsselungsschlüssel, der für die Computerplattform eindeutig ist; gekennzeichnet durch Verschlüsseln von Daten, die aus der Computerplattform übertragen werden, mit einem öffentlichen Verschlüsselungsschlüssel, der für die Computerplattform eindeutig ist und einem öffentlichen Entschlüsselungsschlüssel zugeordnet ist und wobei das Betriebssystem betreibbar ist, um einem anfragenden Anwendungsprogramm den Zugriff auf Zieldaten innerhalb der Firewalls zu erlauben, wenn sowohl das anfragende Anwendungsprogramm den Zugriff auf die Zieldaten autorisiert und ein den Zieldaten zugeordnetes Programm den Zugriff durch das anfragende Anwendungsprogramm autorisiert.
  18. Ein Verfahren gemäß Anspruch 17, wobei der Authentifizierungsschritt ausgeführt wird, indem eine digitale Signatur verifiziert wird, welche dem Betriebssystem zugeordnet ist.
  19. Ein Verfahren gemäß Anspruch 17 oder 18, ferner mit dem Schritt des Erhaltens einer Erlaubnis, bevor es einem An wendungsprogramm erlaubt wird, auf in den Speicher geladene Daten zuzugreifen.
  20. Ein Verfahren gemäß Anspruch 19, wobei der Schritt des Erhaltens durch Objekt-Handler ausgeführt wird.
  21. Ein computerlesbares Medium mit computerausführbaren Anweisungen zum Ausführen des Verfahrens gemäß einem der Ansprüche 16 bis 20.
DE60130172T 2000-06-23 2001-06-25 Eine gesicherte und offene Rechnerplattform Expired - Fee Related DE60130172T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21349500P 2000-06-23 2000-06-23
US213495P 2000-06-23

Publications (2)

Publication Number Publication Date
DE60130172D1 DE60130172D1 (de) 2007-10-11
DE60130172T2 true DE60130172T2 (de) 2008-05-21

Family

ID=22795320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60130172T Expired - Fee Related DE60130172T2 (de) 2000-06-23 2001-06-25 Eine gesicherte und offene Rechnerplattform

Country Status (4)

Country Link
US (1) US20010056533A1 (de)
EP (1) EP1168141B1 (de)
AT (1) ATE371888T1 (de)
DE (1) DE60130172T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113898B (fi) * 2000-11-21 2004-06-30 Nokia Corp Menetelmä sisällön tuottamiseksi langattomaan viestintälaitteeseen
US20020127263A1 (en) * 2001-02-27 2002-09-12 Wenda Carlyle Peroxisome proliferator-acitvated receptor gamma ligand eluting medical device
US7272832B2 (en) * 2001-10-25 2007-09-18 Hewlett-Packard Development Company, L.P. Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
CA2505343C (en) * 2002-11-08 2010-06-22 Research In Motion Limited System and method of connection control for wireless mobile communication devices
US7815100B2 (en) 2004-04-30 2010-10-19 Research In Motion Limited System and method of owner application control of electronic devices
US7793355B2 (en) * 2002-12-12 2010-09-07 Reasearch In Motion Limited System and method of owner control of electronic devices
AU2004213886A1 (en) * 2003-02-21 2004-09-02 Research In Motion Limited System and method of multiple-level control of electronic devices
DE10312774A1 (de) * 2003-03-21 2004-10-14 Deutsche Telekom Ag Verfahren und Kommunikationssystem zur Freigabe einer Datenverarbeitungseinheit
CA2564914C (en) 2004-04-30 2016-09-20 Research In Motion Limited System and method for handling data transfers
US8099060B2 (en) 2004-10-29 2012-01-17 Research In Motion Limited Wireless/wired mobile communication device with option to automatically block wireless communication when connected for wired communication
US7752667B2 (en) * 2004-12-28 2010-07-06 Lenovo (Singapore) Pte Ltd. Rapid virus scan using file signature created during file write
US7805765B2 (en) * 2004-12-28 2010-09-28 Lenovo (Singapore) Pte Ltd. Execution validation using header containing validation data
US7703138B2 (en) * 2004-12-29 2010-04-20 Intel Corporation Use of application signature to identify trusted traffic
KR20060081337A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 비밀키를 이용한 암호화 및 복호화 방법
US7272727B2 (en) * 2005-04-18 2007-09-18 Hitachi, Ltd. Method for managing external storage devices
US7614082B2 (en) 2005-06-29 2009-11-03 Research In Motion Limited System and method for privilege management and revocation
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US8214296B2 (en) * 2006-02-14 2012-07-03 Microsoft Corporation Disaggregated secure execution environment
EP1826944B1 (de) 2006-02-27 2009-05-13 Research In Motion Limited Verfahren zum Personalisieren einer standardisierten IT-Richtlinie
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
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8910234B2 (en) * 2007-08-21 2014-12-09 Schneider Electric It Corporation System and method for enforcing network device provisioning policy
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
DE102009052457A1 (de) * 2009-11-09 2011-05-26 Siemens Aktiengesellschaft Verfahren und System zum Auslösen eines Namenskonfliktes
FR2965381B1 (fr) * 2010-09-27 2013-04-19 Cloud Seas Procede de demarrage d'un terminal avec verification d'authenticite du systeme d'exploitation du terminal
US9497220B2 (en) 2011-10-17 2016-11-15 Blackberry Limited Dynamically generating perimeters
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9613219B2 (en) 2011-11-10 2017-04-04 Blackberry Limited Managing cross perimeter access
US8799227B2 (en) 2011-11-11 2014-08-05 Blackberry Limited Presenting metadata from multiple perimeters
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
US8656016B1 (en) 2012-10-24 2014-02-18 Blackberry Limited Managing application execution and data access on a device
US9075955B2 (en) 2012-10-24 2015-07-07 Blackberry Limited Managing permission settings applied to applications
KR20140111466A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 프로세스 인증 방법 및 이를 구현하는 전자 장치
US9521000B1 (en) * 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6735696B1 (en) * 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
US6775779B1 (en) * 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers

Also Published As

Publication number Publication date
DE60130172D1 (de) 2007-10-11
EP1168141B1 (de) 2007-08-29
EP1168141A3 (de) 2004-09-08
ATE371888T1 (de) 2007-09-15
US20010056533A1 (en) 2001-12-27
EP1168141A2 (de) 2002-01-02

Similar Documents

Publication Publication Date Title
DE60130172T2 (de) Eine gesicherte und offene Rechnerplattform
DE69837303T2 (de) Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE60301177T2 (de) Programm, Verfahren und Vorrichtung zum Datenschutz
DE60002893T2 (de) Computerplattformen und deren betriebsverfahren
DE69727198T2 (de) Durchführen digitaler Unterschriften für Datenströme und Archive
DE60123672T2 (de) Computersystemschutz
DE69731714T2 (de) Dynamische Dienstklassen für eine internationale kryptographische Struktur
DE60200323T2 (de) Verfahren zum Schutz der Integrität von Programmen
DE60303476T2 (de) Verfahren und server für eine programm-aktualisierung
DE102009013332B4 (de) Verfahren und Vorrichtung zum Erzeugen eines kryptografischen Schlüssels
DE602004002140T2 (de) Universeller sicherer Datenaustausch für kryptographischen Modulen
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
CH709936A2 (de) System und Verfahren für das kryptographische Suite-Management.
DE112008001436T5 (de) Sichere Kommunikation
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE60114069T2 (de) System und Verfahren für den Schutz von Digitalwerken
EP2502176B1 (de) Verfahren und vorrichtung zum zugreifen auf steuerungsdaten gemäss einer bereitgestellten rechteinformation
EP2442251A2 (de) Individuelle Aktualisierung von Computerprogrammen
EP2434424B1 (de) Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online-Diensten
CN105095693A (zh) 一种基于互联网的数字资产安全共享的方法及其系统
EP3497606B1 (de) Individuelles verschlüsseln von steuerbefehlen
EP2491513B1 (de) Verfahren und system zum bereitstellen von edrm-geschützten datenobjekten
DE102018208830A1 (de) Zugriffssteuerung auf eine Ressource
DE102023116901A1 (de) Zertifikatlose Authentifizierung von ausführbaren Programmen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee