DE60305315T2 - Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode - Google Patents

Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode Download PDF

Info

Publication number
DE60305315T2
DE60305315T2 DE60305315T DE60305315T DE60305315T2 DE 60305315 T2 DE60305315 T2 DE 60305315T2 DE 60305315 T DE60305315 T DE 60305315T DE 60305315 T DE60305315 T DE 60305315T DE 60305315 T2 DE60305315 T2 DE 60305315T2
Authority
DE
Germany
Prior art keywords
digest
code
executable file
app
removable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60305315T
Other languages
English (en)
Other versions
DE60305315D1 (de
Inventor
Corinne Dive-Reclus
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.)
Nokia Oyj
Original Assignee
Symbian Ltd
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 Symbian Ltd filed Critical Symbian Ltd
Application granted granted Critical
Publication of DE60305315D1 publication Critical patent/DE60305315D1/de
Publication of DE60305315T2 publication Critical patent/DE60305315T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Slot Machines And Peripheral Devices (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Saccharide Compounds (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Percussion Or Vibration Massage (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein Gerät, das Tamper-Evidence für ausführbare Codes, die auf einem Wechseldatenträger gespeichert sind, liefert. Dieses Gerät stellt ein Element eines Plattform-Sicherheitskonzepts dar.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Plattformsicherheit umfasst die Philosophie, das Konzept und die Anwendung von Plattform-Abwehrmitteln gegen bösartige oder schlecht geschriebene Codes. Diese Abwehrmittel verhindern, dass diese Codes Schaden zufügen. Bösartige Codes umfassen üblicherweise zwei Komponenten: einen Payload-Mechanismus, der den Schaden anrichtet, und einen Ausbreitungs-Mechanismus zur Verbreitung des Ersteren. Diese werden normalerweise wie folgt klassifiziert:
    Trojanisches Pferd: fungiert als legitime Anwendung, die dem Benutzer gutartig und attraktiv erscheint.
    Wurm: kann sich ohne weitere manuelle Einwirkung seitens dessen Täter oder Benutzer replizieren und ausbreiten.
    Virus: infiltriert legitime Programme und ändert bzw. zerstört Daten.
  • Die Sicherheitsbedrohungen umfassen (a) eine potentielle Verletzung der Vertraulichkeit, Integrität oder Verfügbarkeit von Leistungen oder Daten in der Wertschöpfungskette sowie der Integrität der Leistung, und (b) eine Bedrohung der Leistungsfunktionen. Die Bedrohungen werden in folgende Kategorien klassifiziert:
    • 1. Bedrohungen der Vertraulichkeit und Integrität von Daten. Beispiele: die Erlangung des Benutzerpasswortes; die Beschädigung von Dateien.
    • 2. Bedrohungen der Vertraulichkeit und Integrität von Leistungen. Beispiele: die Benutzung der Bandbreite von Teilnehmern eines Telefonnetzes, ohne dafür zu bezahlen; die Ablehnung von Transaktionen mit Netzwerk Dienstleistern.
    • 3. Bedrohungen der Verfügbarkeit von Leistungen (auch Leistungsverweigerung genannt). Beispiele: das Hindern des Benutzers, eine Textnachricht zu senden; das Hindern des Benutzen, einen telefonischen Anruf entgegen zu nehmen.
  • Drahtlose, mobile Geräte stellen demzufolge für den Designer eines Plattform-Sicherheitskonzepts eine sehr große Herausforderung dar. Ein kritischer Aspekt dieser Herausforderung liegt darin, dass mobile, drahtlose Geräte regelmäßig Programme auf Wechseldatenträgern installieren. Der Hauptgrund dafür ist zusätzlichen Speicherplatz zur Verfügung zu stellen, den der Benutzer des drahtlosen Gerätes ändern kann, je nachdem, welche Gruppe von Programmen er/sie benutzen möchte. Ein wohl bekanntes Beispiel ist die Benutzung von Floppy-Disketten oder Speicherkarten in PC-Umgebungen. Der Wechseldatenträger kann im Prinzip irgendwie manipuliert werden, wenn dieser nicht an das mobile, drahtlose Gerät angeschlossen ist und die auf dem Gerät gespeicherten Programme würden demzufolge ihre Integrität verlieren. Es ist entscheidend, dass ein drahtloses Gerät unter allen Umständen bezüglich der Integrität des ausführbaren Codes sicher ist, auch dann, wenn ein Wechseldatenträger wieder angeschlossen werden soll (z.B. dass keine bösartigen Änderungen zur Überschreibung von Sicherheitsmerkmalen erfolgt sind und kein Virus eingeführt wurde etc.).
  • Bis dato sind jedoch noch keine wirksamen Vorschläge zur Garantie der Integrität eines ausführbaren Codes erbracht worden, der von einem mobilen, drahtlosen Gerät herunter transferiert und dann wieder auf das Originalgerät zurück geschickt wurde.
  • Es kann weiterhin auf WO 00/18162 verwiesen werden, in der die Identität eines entfernten Endgeräts authentifiziert wird, um das Herunterladen von Software über eine Langstreckenverbindung nur auf zulässige Computer zu erlauben. Sie befasst sich weder mit der Verifizierung der Authentizität des Inhalts eines Speichermittels, das dazu ausgelegt ist, bei normalem Betrieb leicht entfernt und dann wieder an ein mobiles, drahtloses Gerät angeschlossen zu werden, noch mit der spezifischen Gegebenheit, ausführbaren Code zu diesem leicht zu entfernenden Speichermittel zu schreiben bzw. der Notwendigkeit, die Integrität dieses Codes zu garantieren, wenn das Gerät wieder an das drahtlose Gerät angeschlossen wird. Weiterhin kann auf das Dokument US-6026293 verwiesen werden; dieses befasst sich jedoch auch nicht mit den obigen Gegebenheiten.
  • ZUSAMMENFASSUNG DER VORLIEGENDEN ERFINDUNG
  • Als erster Aspekt der vorliegenden Erfindung liegt ein mobiles, drahtloses Gerät vor, das dazu benutzt werden kann, einen selbst ausführbaren Code auf einem Wechseldatenträger zu installieren, wobei das Gerät dazu programmiert ist, einen Digest (bei einem Digest handelt es sich um einen Wert, der anhand des vollständigen Inhalts des Codes unter Verwendung eines Algorithmus generiert wurde und der garantiert, dass derselbe Wert nicht regeneriert werden kann, falls der Inhalt geändert wurde) dieses Codes zu berechnen und in einem persistenten nicht auswechselbaren Speicher innerhalb des Geräts zu speichern. Selbst ausführbarer Code besteht aus Befehlen, die von einer CPU oder einem Gerät direkt ausgeführt werden. Der Datenträger kann bei normalem Betrieb leicht entfernt und wieder angeschlossen werden.
  • Wenn der Wechseldatenträger wieder angeschlossen ist und die ausführbare Datei aufgerufen wurde, berechnet das Gerät einen Digest des Codes neu, den es von dem Wechseldatenträger laden will und vergleicht ihn mit demjenigen, der innerhalb des persistenten nicht auswechselbaren Speichers gespeichert ist. Falls diese nicht übereinstimmen, wurde die ausführbare Datei manipuliert und das Gerät kann diesem somit nicht vertrauen. Der Digest ist nur von den Komponenten einer Trusted Computing Base (siehe weiter unten) zugänglich und ist somit selbst sicher. Bei dem Digest kann es sich um einen Hash oder einen anderen eindeutigen und repräsentativen Wert handeln, der von der gesamten ausführbaren Datei wieder berechnet werden kann.
  • Dieser Ansatz unterscheidet sich von herkömmlichen Wasserzeichenmarkierungen, bei denen ein Hash von einer Datenträgerdatei abgeleitet und dann wieder in die Datei eingefügt wird, wobei er diese unmerklich verändert.
  • Bei einer Anwendung werden sowohl der Digest als auch die „Fähigkeit" der ausführbaren Datei sicher auf dem Gerät gespeichert. Unter einer „Fähigkeit" kann man sich ein Zugriffsmerkmal vorstellen, das einem Recht zur Durchführung einer sensiblen Handlung entspricht. (Der Zweck des Fähigkeitsmodells ist es, den Zugriff auf sensible System-Ressourcen zu kontrollieren.) Zur Ladezeit überprüft das Ladegerät den Hash vor dem Ladevorgang. Falls die ausführbare Datei unbekannt ist (kein zugehöriger Digest), wird die ausführbare Datei ohne Fähigkeit (d.h. keine Zugriffsrechte auf sensible Ressourcen) und ohne Identität (keine Zugriffsrechte auf Daten, die zu einem identifizierten Prozess des Betriebssystems gehören) geladen. Falls die Verifizierung erfolgreich war, wird die ausführbare Datei geladen und die gespeicherte Fähigkeit dem neu geladenen Code zugeordnet.
  • Die vorliegende Erfindung ermöglicht es den Benutzern, Speicherkarten und andere Arten von Wechseldatenträgern ohne Einschränkungen bei mehreren Geräten gemeinsam zu benutzen. Sie erlaubt es jedem Benutzer weiterhin, die Rechte zu behalten, die er bezüglich der auf diesen Karten gespeicherten Anwendungen innehat, unabhängig von dem Datenträger und der Auswahl anderer Benutzer.
  • Die Erfindung wird entsprechend dem Gerät nach Anspruch 1 und dem Verfahren nach Anspruch 7 definiert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung wird unter Bezugnahme auf das Sicherheitskonzept des objektorientierten Symbian OS Betriebssystems beschrieben, das für drahtlose Geräte für Einzelanwender entworfen wurde. Das Symbian OS Betriebssystem wurde von der Symbian Ltd., London, Großbritannien, für mobile, drahtlose Geräte entwickelt.
  • Der Grundriss des Symbian OS Sicherheitskonzeptes entspricht den Verteidigungsanlagen einer mittelalterlichen Burg. Ähnlich wie diese verwendet es einfache und gestaffelte Sicherheitsschichten oberhalb und außerhalb des Installationsumfangs. Bei den Hauptbedrohungen, die das Modell zu lösen versucht, handelt es sich um diejenigen in Verbindung mit nicht genehmigtem Zugriff auf Benutzerdaten und Systemleistungen, vor allem dem Phone Stack Der Phone Stack ist im Zusammenhang mit einem Smart Phone von besonderer Bedeutung, da dieses eine permanente Datenverbindung zu dem Telefonnetz steuert. Hinter dem Modell stehen zwei Hauptdesign Treiber:
    • • Firewall Schutz von Schlüsselsystemressourcen mittels der Verwendung von fähigkeitsbezogener Zugriffskontrolle.
    • • Datenpartitionierung, die einen geschützten Teil des Dateiensystems erzeugt, auf den Standardsoftware nicht in der Lage ist, zuzugreifen.
  • Das Hauptkonzept des unten beschriebenen Fähigkeitsmodells besteht in der Steuerung, was ein Prozess tun darf anstatt der Steuerung, was ein Benutzer tun darf. Dieser Ansatz unterscheidet sich weitgehend von bekannten Systemen wie Windows NT und Unix. Die Hauptgründe sind folgende:
    • – Die grundsätzliche Beschaffenheit von Symbian OS ist auf Einzelbenutzer ausgerichtet.
    • – Symbian OS bietet Leistungen durch unabhängige Serverprozesse. Diese laufen immer und hängen nicht an einer Benutzersitzung. Solange die Stromversorgung besteht, ist Symbian OS eingeschaltet, selbst wenn kein Benutzer eingeloggt ist.
    • – Symbian OS ist dazu ausgelegt, in Geräten verwendet zu werden, die von einem großen Publikum ohne technische Kenntnisse benutzt werden. Bei der Installation der Software verfügt der Benutzer eventuell nicht über die Kenntnisse um zu entscheiden, welche Rechte einer Anwendung zu erteilen sind. Mit immer angeschlossenen Geräten können die Konsequenzen einer falschen oder böswilligen Entscheidung eine Domäne viel stärker betreffen, als das Gerät selbst.
  • 1 Trusted Computing Plattform
  • 1.1 Trusted Computing Base
  • Eine Trusted Computing Base (TCB) ist eine architektonische Grundvoraussetzung für robuste Plattformsicherheit. Die Trusted Computing Base besteht aus einer Anzahl von architektonischen Elementen, die nicht untergraben werden können und die die Integrität des Gerätes garantieren. Es ist wichtig, diese Base so klein wie möglich zu halten und das Principle of Least Privilege anzuwenden, damit gewährleistet ist, dass die Systemserver und -anwendungen keine Rechte erhalten müssen, die diese zum Betrieb nicht benötigen. Bei geschlossenen Geräten besteht die TCB aus dem Kernel, Ladeprogramm und Datenserver, bei offenen Geräten wird außerdem ein Software-Installer benötigt. All diese Prozesse sind systemweit vertrauenswürdig und haben demzufolge vollen Zugriff auf das System. Dieser vertrauenswürdige Kern würde mit einer "Grund"-Fähigkeit arbeiten, über die andere Plattform-Codes nicht verfügen (siehe Abschnitt 2.1).
  • Es gibt noch ein anderes wichtiges Element zur Aufrechterhaltung der Integrität der Trusted Computing Base, das außerhalb des Rahmens der vorliegenden Erfindung liegt, und zwar die Hardware. Vor allem bei Geräten, die die Funktionalität der Trusted Computing Base im Flash-ROM enthalten, ist es notwendig, über ein sicheres Boot-Ladegerät zu verfügen, um zu gewährleisten, dass die Trusted Computing Base nicht mit einem bösartigen ROM Image untergraben werden kann.
  • 1.2 Trusted Computing Environment
  • Jenseits des Kerns bekämen andere Systemkomponenten begrenzte orthogonale Systemfähigkeit und würden die Trusted Computing Environment (TCE) bilden; diese würden Systemserver wie Anschluss-, Telefon- und Window-Server enthalten. Dem Window-Server würde zum Beispiel nicht die Fähigkeit des Zugriffs auf den Phone Stack gewährt werden, und dem Telefonserver würde nicht die Fähigkeit des direkten Zugriffs auf Tastaturereignisse gewährt werden. Es wird sehr empfohlen, einer Softwarekomponente so wenig Systemfähigkeit wie möglich zu geben, um einen möglichen Schaden aufgrund eines Missbrauchs dieser Rechte einzugrenzen.
  • Die TCB garantiert die Integrität des gesamten Systems, so wie jedes Element der TCE die Integrität einer Leistung gewährleistet. Die TCE kann nicht ohne TCB existieren, die TCB kann jedoch alleine existieren, um einen sicheren „Sand Box" für jeden Prozess zu gewähren.
  • 2 Prozessfähigkeiten
  • Unter einer „Fähigkeit" kann man sich ein Zugriffsmerkmal vorstellen, das einem Recht zur Durchführung einer sensiblen Handlung entspricht. Der Zweck des Fähigkeitsmodells ist es, den Zugriff auf sensible Systemressourcen zu kontrollieren. Die wichtigste Ressource, die eine Zugriffskontrolle erfordert, ist die Kernel-Exekutive selbst, und eine System-Fähigkeit (siehe Abschnitt 2.1) wird von einem Client verlangt, um einen Zugriff auf gewisse Funktionalitäten durch das Kernel API zu erhalten. Alle anderen Ressourcen befinden sich in benutzerseitigen Servern, auf die via IPC [Inter Process Communication] zugegriffen wird. Eine kleine Gruppe von Grundfähigkeiten würde dazu definiert werden, spezifische Client-Tätigkeiten auf den Servern zu kontrollieren. Der Besitz einer Anruf-Fähigkeit zum Beispiel würde einem Client erlauben, einen Telefonserver zu benutzen. Es läge in der Verantwortlichkeit des entsprechenden Servers, den Client-Zugriff auf Ressourcen zu kontrollieren, die die Fähigkeiten repräsentieren. Fähigkeiten würden auch mit jeder Library (DLL) und jedem Programm (EXE) in Verbindung gebracht und mittels des Ladegerätes während der Laufzeit kombiniert, um reine Bearbeitungsfähigkeiten zu erzeugen, die im Kernel enthalten sein würden. Bezüglich offener Geräte würden der Fremdsoftware Fähigkeiten zugewiesen werden, entweder während der Installation der Software basierend auf dem zur Signierung des Installationspakets benutzten Zertifikat oder durch den Benutzer nach der Softwareinstallation. Die Überwachung der Fähigkeiten würde zwischen dem Ladegerät, dem Kernel und den betroffenen Servern geregelt, durch den IPC-Mechanismus jedoch über den Kernel geregelt werden.
  • Bei den Hauptmerkmalen des Prozessfähigkeitsmodells handelt es sich um folgende:
    • • Dieses konzentriert sich hauptsächlich auf Systemserver und Client-Server IPC Interaktionen zwischen diesen Einheiten.
    • • Fähigkeiten sind mit Prozessen und nicht mit Strängen verbunden. Stränge in demselben Prozess teilen dieselben Rechte bezüglich Adressplatz und Speicherzugriff. Dies bedeutet, dass alle von einem Strang benutzten Daten von allen anderen Strängen desselben Prozesses gelesen und geändert werden können.
    • • Die Überwachung der Fähigkeiten erfolgt durch das Ladegerät und den Kernel sowie mittels der Fähigkeitsüberwachung bei den Ziel-Servern. Der Kernel IPC Mechanismus ist an der Letzteren beteiligt.
    • • Wenn der Code nicht läuft, werden die Fähigkeiten innerhalb von Libraries und Programmen gespeichert. In Libraries und Programmen gespeicherte Fähigkeiten sind nicht modifizierbar, da diese während der Installation an einer Speicherstelle gespeichert würden, die nur seitens der Trusted Computing Base zugänglich ist.
    • • Nicht alle Server müssten Client Fähigkeiten behandeln. Server wären verantwortlich, Fähigkeiten nach eigenem Wunsch zu interpretieren.
    • • Die einzige an diesem Schema beteiligte Kryptographie fände zum Zeitpunkt der Softwareinstallation statt, bei der Zertifikate gegen ein geeignetes Rootzertifikat geprüft werden.
  • 2.1 Systemfähigkeiten: Schutz der Integrität des Geräts
  • Root. "Vollständiger Zugriff auf alle Dateien-Fähigkeiten in Verbindung mit ausführbaren Dateien können geändert werden"
  • "Root" Fähigkeit – Diese wird nur von der Trusted Computing Base benutzt und gewährt vollständigen Zugriff auf alle Dateien des Geräts.
  • Systemfähigkeiten
  • Einige Systemserver erfordern einen spezifischen Zugriff auf die Trusted Computing Base. Aufgrund der objektorientierten Implementierung von Symbian OS bezieht sich die Art der Ressourcen, die von einem System Server benötigt werden, meistens ausschließlich auf diesen. Aus diesem Grund würde einem Systemserver einige Systemfähigkeiten gewährt werden, die orthogonal zu den von einem anderen Server benötigten wären. Dem Window-Server würde zum Beispiel Zugriff auf die vom Kernel ausgegebenen Tastatur- und Schreibvorgänge gewährt werden, er würde jedoch kein Recht auf einen Zugriff auf den Phone Stack haben. Ebenso würde dem Telefonserver Zugriff auf den Phone Stack gewährt, dieser hätte jedoch kein Recht, Vorgänge von dem Kernel zu sammeln.
  • Als Beispiel kann Folgendes aufgeführt werden:
    WriteSystemData Erlaubt die Änderung von Konfigurationssystemdaten
    CommDD Gewährt Zugriff auf alle Nachrichtenverbindungs- und Ethernet-Kartengerättreiber.
    DiskAdmin Kann Administratoraufgaben auf der Platte durchführen (Reformatieren, Umbenennung eines Laufwerks, ... ).
  • 2.2 Dem Benutzer zugängliche Fähigkeiten: das Mappen von Real-World-Rechten
  • Der Prozess der Generierung von Fähigkeiten kann schwierig sein. Dazu müssen zuerst diejenigen Zugriffe identifiziert werden, die eine Überwachung erfordern, danach müssen diese Anforderungen in etwas gemappt werden, das für einen Benutzer aussagekräftig ist. Mehr Fähigkeiten bedeuten zudem eine größere Komplexität, und die Komplexität wird überwiegend als der Hauptfeind der Sicherheit angesehen. Eine auf Fähigkeiten beruhende Lösung sollte daher darauf ausgerichtet sein, die insgesamt eingesetzte Anzahl zu minimieren. Die folgenden Fähigkeiten können relativ breitflächig auf die Hauptbedrohungen gemappt werden, bei denen es sich um nicht autorisierten Zugriff auf Systemleistungen (z.B. den Phone Stack) und die Wahrung der Vertraulichkeit/Integrität der Benutzerdaten handelt.
    • PhoneNetwork. „Ermöglicht den Zugriff auf Telefon-Netzwerkdienste und die mögliche Ausgabe von Benutzergeld" „Einen Anruf tätigen" „Eine SMS senden".
    • WriteUserData. „Kann die privaten Informationen des Benutzen lesen und ändern" „Einen Kontakt hinzufügen". „Einen Termin löschen".
    • ReadUserData. „Kann die privaten Informationen des Benutzers lesen" „Zugriff auf Kontaktdaten". „Zugriff auf die Terminplanung".
    • LocalNetwork. „Ermöglicht den Zugriff auf das lokale Netzwerk" „Eine Bluetooth Nachricht senden". „Eine IR Verbindung herstellen" „Eine USB Verbindung herstellen"
    • Location. „Ermöglicht den Zugriff auf den aktuellen Standort des Geräts" „Finde das Gerät auf einer Karte" „Zeige das Restaurant und Kino in nächster Nähe an"
  • Root- und Systemfähigkeiten sind zwingend erforderlich; wenn sie einer ausführbaren Datei nicht gewährt sind, kann der Benutzer des Geräts nicht über die Durchführung entscheiden. Deren strikte Überwachung gewährleistet die Integrität der Trusted Computing Plattform. Die Art und Weise jedoch, auf die Server die den Benutzern zugänglichen Fähigkeiten überprüfen oder interpretieren, kann völlig flexibel sein und sogar im Ermessen des Benutzers liegen.
  • 2.3 Fähigkeiten einem Prozess zuordnen
  • Die Zuordnung einer Laufzeitfähigkeit zu einem Prozess bindet das Ladegerät ein. Im Wesentlichen werden die den individuellen Libraries und Programmen zugeordneten statischen Fähigkeitseinstellungen in eine Laufzeitfähigkeit verwandelt, die der Kernel enthält und bezüglich der mittels einer Kernel-Benutzer-Library-API Queries durchgeführt werden können. Das Ladegerät wendet folgende Regeln an:
    • Regel 1. Bei der Anlage eines Prozesses ordnet das Ladegerät dieselbe Gruppe von Fähigkeiten wie die dessen Programms zu.
    • Regel 2. Bei dem Laden einer Library innerhalb einer ausführbaren Datei muss die Fähigkeit der Library größer als oder gleich der Gruppe Fähigkeiten der ladenden ausführbaren Datei sein. Falls dies nicht der Fall ist, wird die Library nicht in die ausführbare Daten geladen.
    • Regel 3. Eine ausführbare Datei kann eine Library mit höheren Fähigkeiten laden, gewinnt dadurch jedoch nicht an Fähigkeiten.
    • Regel 4. Das Ladegerät lehnt alle ausführbaren Dateien ab, die sich nicht in dem Bereich der Caged-Daten des dem TCB vorbehaltenen Dateiensystems befinden.
  • Folgendes ist hierbei zu beachten:
    • • Die Fähigkeiten der Libraries werden nur zum Zeitpunkt des Ladens überprüft. Darüber hinaus werden alle in Libraries enthaltenen Codes frei betrieben und dieselbe Gruppe von Fähigkeiten wie die des Programms zugeordnet, in das es bei der Initiierung einiger IPC Anrufe läuft.
    • • Für ROM Images mit etablierter Durchführung löst das ROM erstellte Werkzeug alle Symbole auf, die dieselbe Aufgabe wie das Ladegerät zur Laufzeit durchführen. Das ROM erstellte Werkzeug muss daher bei der Bildung eines ROM Image dieselben Regeln wie das Ladegerät durchsetzen.
  • Diese Regeln
    • • verhindern, dass Malware in sensible Prozesse geladen wird, zum Beispiel einen Anschluss an einen Systemserver
    • • fördern die Einkapselung von sensiblen Codes innerhalb eines Prozesses ohne mögliche Umgehungen
  • Die unten stehenden Beispiele zeigen, wie diese Regeln im Falle von statisch bzw. dynamisch geladenen Libraries angewendet werden.
  • 2.3.1 Beispiele für verlinkte DLL
  • Das Programm P.EXE ist mit der Library L1.DLL verlinkt.
  • Die Library L1.DLL ist mit der Library L0.DLL verlinkt.
    • Fall 1:
    • P.EXE enthält Fäh1 & Fäh2
    • L1.DLL enthält Fäh1 & Fäh2 & Fäh3
    • L0.DLL enthält Fäh1 & Fäh2.
    • Der Prozess P kann nicht angelegt werden, das Ladegerät versagt, da L1.DLL nicht L0.DLL laden kann. Da L0.DLL nicht über eine Gruppe Fähigkeiten größer als oder gleich L1.DLL verfügt, wird Regel 2 angewendet.
    • Fall 2:
    • P.EXE enthält Fäh1 & Fäh2
    • L1.DLL enthält Fäh1 & Fäh2 & Fäh3
    • L0.DLL enthält Fäh1 & Fäh2 & Fäh3 & Fäh4
    • Der Prozess P wird angelegt, das Ladegerät ist erfolgreich und dem neuen Prozess werden Fäh1 & Fäh2 zugeordnet. Die Fähigkeit des neuen Prozesses wird durch die Anwendung von Regel 1 bestimmt; L1.DLL kann nicht die in L0.DLL enthaltene Fäh4 Fähigkeit erlangen und P1.EXE kann nicht die in L1.DLL enthaltene Fäh3 Fähigkeit erlangen, wie laut Regel 3 bestimmt.
  • 2.3.2 Beispiele für dynamisch geladene DLL
  • Das Programm P.EXE lädt dynamisch die Library L1.DLL.
  • Die Library L1.DLL lädt dann dynamisch die Library L0.DLL.
    • Fall 1:
    • P.EXE enthält Fäh1 & Fäh2
    • L1.DLL enthält Fäh1 & Fäh2 & Fäh3
    • L0.DLL enthält Fäh1 & Fäh2
    • Der Prozess P wird erfolgreich angelegt und der Fäh1 & Fäh2 zugeordnet.
    • Wenn P das Ladegerät auffordert, L1.DLL & L0.DLL zu laden, ist das Ladegerät erfolgreich, da P L1.DLL und L0.DLL laden kann. In diesem Fall wird Regel 2 angewendet, da die ausführbare Ladedatei Prozess P und nicht die Library L1.DLL darstellt: Der IPC-Ladevorgang erfordert, dass der Ladegerätprozess seitens des Programms P gesendet wird. Der Umstand, dass der gesamte Anruf innerhalb L1.DLL stattfindet, ist hier nicht relevant. Regel 1 & 3 werden wie oben angewendet und P wird durch das Laden von L1.DLL nicht Fäh3 zugeordnet
    • Fall 2:
    • P.EXE enthält Fäh1 & Fäh2
    • L1.DLL enthält Fäh1&Fäh2&Fäh3
    • L0.DLL enthält Fäh1&Fäh2&Fäh4
    • Der Prozess P wird erfolgreich angelegt und der Fäh1 & Fäh2 zugeordnet.
    • Wenn P das Ladegerät auffordert, L1.DLL & L0.DLL zu laden, ist das Ladegerät erfolgreich, da P L1.DLL und L0.DLL laden kann. Regel 2 wird wiederum mit P als ausführbarer Ladedatei anstatt von L1.DLL angewendet, während die Regel 3 garantiert, dass P weder Fäh3 noch Fäh4 erlangt.
  • 2.4 Wie man die Flexibilität austauschbarer Datenträger mit Plattformsicherheit kombinieren kann
  • 2.4.1 Heutiger Stand
  • 2.4.1.1 Geräteintegrität
  • Heutzutage sind auf Wechseldatenträgern gespeicherte Dateien völlig ungeschützt. Diese sind voll zugänglich und können geändert werden. Wenn ein Wechseldatenträger wieder an das Gerät angeschlossen wird, werden keine Verifizierungen zur Gewährleistung der Integrität des Systems durchgeführt. Die mit diesem Umstand verbundenen Risiken mögen als niedrig eingestuft werden, da für die Gefährdung der Besitz des Datenträgers erforderlich ist. Ein böswilliger Benutzer kann jedoch Malware installieren und nicht deren Gerät beschädigen, sondern diese zum Beispiel als Waffe gegen den Netzbetreiber benutzen. Ohne Plattformsicherheit besteht heutzutage der einzige Schutz darin, ein Ladegerät einzuführen, welches es ablehnt, Codes von Wechseldatenträgern zu laden. Auf lange Sicht gesehen wird jedoch mehr Speicherplatz erforderlich sein um mehr Anwendungen zu speichern, und diese Strategie wird Benutzer davon abhalten, Software für ihre Geräte zu kaufen und sie möglicherweise davor abschrecken, offene Plattformen zu kaufen, wenn sie daraus keine Vorteile ziehen können.
  • 2.4.1.2 Datenvertraulichkeit
  • Die Bedrohungen der Datenvertraulichkeit sind tatsächlich vorhanden, beschränken sich jedoch nur auf die Daten, die sich auf gestohlenen Wechseldatenträgern befinden. Die Mehrheit der Bedrohungen können schon ohne die Hilfe von Plattformsicherheit verhindert werden:
    • 1. Hardware Zugriffskontrolle auf den Datenträger Selbst wenn er nicht an das Gerät angeschlossen ist, ist der Datenträger mit einem Passwort geschützt, zum Beispiel Secure MMC, PIN-geschützte SIM, etc.
    • 2. Dateienverschlüsselung Wenn der Benutzer um die Sicherheit sensibler Daten besorgt ist und diese auf einem Wechseldatenträger speichern möchte, kann er diese verschlüsseln.
    • 3. Verschlüsselung des Dateiensystems Eine Verschlüsselung des Dateiensystems kann auf dem Niveau des Diskettenlaufwerktreibers angeboten werden.
  • 2.4.2 Vorgeschlagene Erfindung
  • Die vorgeschlagene Erfindung zielt nicht nur darauf ab, aktuelle Bedrohungen zu verhindern, sondern auch darauf, die Interoperabilität und Codeverteilungsanwendungen von Wechseldatenträgern aufrechtzuerhalten.
  • Kein Plattformsicherheitskonzept kann die Änderung von Wechseldatenträgern verhindern, wenn diese nicht an das drahtlose Gerät angeschlossen sind. Sogar bei einem mit einem Passwort geschützten Wechseldatenträger ist es einem autorisierten Benutzer möglich, diesen zu ändern. Das Beste, das die Plattformsicherheit daher bieten kann, ist ein Tamper-Evidence Mechanismus für bekannte ausführbare Dateien und eine sichere Ausführung unbekannter Codes.
  • 2.4.2.1 Software-Installer
  • Während der Installation, wenn ein Anwendungspaket auf einem Wechseldatenträger gespeichert werden muss:
  • Schritt 1. Der Software-Installer überprüft, dass die auf einem Wechseldatenträger zu installierenden ausführbaren Dateien über einen korrekten Security Identifier (SID) verfügen und keine andere legitime ausführbare Datei verkörpern, um Zugriff auf deren private Daten zu erhalten.
  • Schritt 2. Der Software-Installer ordnet den in dem Anwendungspaket enthaltenen ausführbaren Dateien einige System- und Benutzerfähigkeiten zu.
  • Schritt 3. Der Software-Installer hasht die ausführbaren Dateien.
  • Schritt 4. Der Software-Installer speichert alle Fähigkeiten sowie den Hash (d.h. Digest) in einem TCB-eingeschränkten Bereich eines permanenten Dateiensystems (das zum Beispiel nicht entfernt werden kann).
  • Zum Zeitpunkt der Deinstallation entfernt der Software-Installer die ausführbaren Dateien von dem Wechseldatenträger, falls diese vorliegen, und vernichtet die zugeordnete Datei, die unter Installationsschritt 4 angelegt wurde.
  • Bezüglich vorformatierter Wechseldatenträger (bereits installierte Dateien) muss eine einfachere Version des Anwendungspakets zur Verfügung gestellt werden, damit der Software-Installer Schritt 1 bis 3 durchführen kann. Die vorliegende Erfindung beschreibt kein Gerät zur Erkennung von neuen Anwendungen auf vorformatierten Wechseldatenträgern; eine mögliche Option wäre, das Vorliegen von neuen Anwendungen zum Zeitpunkt des Einführens des Wechseldatenträgers in das Gerät festzustellen, und das Entfernen eines vorformatierten Wechseldatenträgers als die Deinstallation der darauf enthaltenen Anwendung anzusehen.
  • 2.4.2.2 Ladegerät
  • Zum Ladezeitpunkt identifiziert das Ladegerät eine von dem Wechseldatenträger zu ladende ausführbare Datei. Dabei schaut es auf die entsprechende HASH-Datei: Der Hash auf einem TCB-beschränkten Bereich eines permanenten Dateiensystems (d.h. das nicht entfernt werden kann).
    • – Falls dieser existiert, wird die ausführbare Datei gehasht und beide Hashs verglichen.
    • – Falls diese identisch sind, ordnet das Ladegerät die aus der HASH Datei extrahierten System- und Benutzerfähigkeiten der ausführbaren Datei zu und führt den Standard Ladeprozess durch.
    • – Falls diese nicht identisch sind, zeigt das Ladegerät eine Fehlermeldung.
    • – Falls keine entsprechende HASH Datei existiert, ordnet das Ladegerät der ausführbaren Datei keine System und Benutzerfähigkeiten zu und führt den Standard Ladeprozess durch. Weiterhin ordnet es den Security Identifier (SID) (bei dem SID (Security Identifier) eines Prozesses handelt es sich um einen Weg, ein Stück Code, das auf dem Betriebssystem laufen kann, eindeutig zu identifizieren, und der dann auf der diesbezüglichen ausführbaren Datei gespeichert wird) „Unbekannt" zu, um die Impersonation eines legitimen Prozesses zu verhindern. Da einem unbekannten Code keine Fähigkeit und kein SID gewährt werden, kann dieser die Integrität der Trusted Computing P1attform nicht beeinträchtigen.
  • Der Hash-Prozess muss unabhängig von dem Wechseldatenträger sein. Das Ziel muss sein, ein Stück Code zu authentifizieren, nicht den Wechseldatenträger, von dem dieses stammt. Die bevorzugte Ausführungsform verwendet SHA-1, da diese verhältnismäßig sicher und schnell in einem drahtlosen Gerät zu verwenden ist.
  • 2.4.3 Anwendungsfälle
  • 2.4.3.1 Akteure
    • 1. U ein Benutzer.
    • 2. P1, P2 zwei drahtlose Geräte im Besitz von Benutzer U.
    • 3. C1, C2 zwei Wechseldatenträger im Besitz von U.
    • 4. APP eine Anwendung mit nur einer ausführbaren Datei.
    • 5. Ladegerät
    • 6. SWInstall, der Software-Installer
    • 7. ETEL, der Prozess, der den Zugriff auf das Telefonnetzwerk kontrolliert.
  • 2.4.3.2 Annahmen
    • 1. APP wird als signiertes Anwendungspaket geliefert, APP.sis mit PhoneNetwork Fähigkeit.
    • 2. C: ist das interne Laufwerk
    • 3. D: ist das Wechseldatenträger-Laufwerk
    • 4. C1 enthält APP.sis unter root. APP.sis ist das Installationspaket von APP.
  • 2.4.3.3 Anwendungsfall 1 – U installiert APP auf P1.
    • 1. U schließt C1 an P1 an.
    • 2. U benutzt P1.
    • 3. U fordert SWInstall auf, D:\APP.sis auf dem Laufwerk D:\ zu installieren.
    • 4. SWInstall überprüft das Signierungszertifikat. {E1}
    • 5. SWInstall extrahiert APP.app.
    • 6. SWInstall entfernt System- und Benutzerfähigkeiten von der ausführbaren Datei und kopiert diese auf ein c:\ <nur TCB zugängliches Laufwerkt>\APP.cap.
    • 7. SWInstall hasht APP.app und speichert es auf c:\ <nur TCB zugängliches Laufwerk >\APP.cap.
    • 8. SWInstall kopiert APP.app auf D:
    • 9. SWInstall vervollständigt die Installation.
  • E1 – Ungültige Signatur
    • 1. Ende des Anwendungsfalls.
  • 2.4.3.4 Anwendungsfall 2 – U kopiert C1 in C2 off line und benutzt C2 mit P1.
    • 1. U kopiert C1 in C2 off line.
    • 2. U schließt C2 an P1 an.
    • 3. U verwendet P1.
    • 4. U fordert das Ladegerät auf, APP zu starten.
    • 5. Das Ladegerät findet APP.app in D:\
    • 6. Das Ladegerät öffnet c:\ <nur TCB zugängliches Laufwerk>\APP.cap.
    • 7. Das Ladegerät überprüft die Hashs mit Erfolg. {E2}
    • 8. Das Ladegerät extrahiert die System- und Benutzerfähigkeiten von APP.cap
    • 9. Das Ladegerät lädt APP.app und ordnet APP.app Fähigkeiten zu.
    • 10. U fordert APP auf, eine Nummer zu wählen.
    • 11. APP fordert ETEL auf, eine Nummer zu wählen.
    • 12. ETEL überprüft erfolgreich, ob APP PhoneNetwork besitzt.
    • 13. ETEL wählt die Nummer.
    • 14. U benutzt die Telefonverbindung.
  • E2-Hashe passen nicht zusammen
    • 1. Das Ladegerät lädt APP nicht und bringt eine Binäre-Hash-Unverträglichkeits-Fehlermeldung.
    • 2. U kann APP nicht benutzen.
  • 2.4.3.5 Anwendungsfall 3 – U verwendet C1 mit P2
    • 1. U schließt C1 an P2 an.
    • 2. U verwendet P2.
    • 3. U fordert das Ladegerät auf, APP zu starten.
    • 4. Das Ladegerät findet APP.app in D:\
    • 5. Das Ladegerät findet c:\ <nur TCB zugängliches Laufwerk>\APP.cap nicht.
    • 6. Das Ladegerät lädt APP.app und ordnet APP.app keine System- und Benutzerfähigkeiten zu.
    • 7. U fordert APP auf, eine Nummer zu wählen.
    • 8. APP fordert ETEL auf, eine Nummer zu wählen.
    • 9. ETEL erkennt, dass APP kein PhoneNetwork besitzt.
    • 10. ETEL fragt U, ob er den Anruf tätigen möchte.
    • 11. U akzeptiert {E1}
    • 12. ETEL wählt die Nummer.
    • 13. U benutzt die Telefonverbindung.
  • E1 –U akzeptiert nicht
    • 1. ETEL wählt die Nummer nicht.
    • 2. APP zeigt U eine Fehlermeldung an.
  • 2.4.3.6 Anwendungsfall 4 – U installiert APP auf P2 und stuft APP's PhoneNetwork zurück
    • 1. U schließt C1 an P2 an.
    • 2. U verwendet P2.
    • 3. U installiert APP erfolgreich auf P2 D:\ ( siehe Anwendungsfall 1)
    • 4. U fordert SWInstall auf, PhoneNetwork aus den Fähigkeiten von APP zu entfernen.
    • 5. SWInstall ändert c:\ <nur TCB zugängliches Laufwerk>\APP.cap und setzt die Benutzerfähigkeiten in der Datei zurück
    • 6. U fordert das Ladegerät auf, APP zu starten.
    • 7. Das Ladegerät findet APP.app in D:\
    • 8. Das Ladegerät öffnet c:\ <nur TCB zugängliches Laufwerk>\APP.cap.
    • 9. Das Ladegerät überprüft die Hashs erfolgreich. {E2}
    • 10. Das Ladegerät extrahiert die Fähigkeiten aus APP.cap
    • 11. Das Ladegerät lädt APP.app und ordnet APP.app Fähigkeiten zu.
    • 12. U fordert APP auf, eine Nummer zu wählen.
    • 13. APP fordert ETEL auf, eine Nummer zu wählen
    • 14. ETEL stellt fest, dass APP kein PhoneNetwork besitzt.
    • 15. ETEL fragt U ob er den Anruf tätigen möchte.
    • 16. U akzeptiert. {E1}
    • 17. ETEL wählt die Nummer.
    • 18. U benutzt die Telefonverbindung.
    • 19. U schließt C1 an P1 an.
    • 20. U fordert APP auf, eine Nummer zu wählen.
    • 21. APP fordert ETEL auf, eine Nummer zu wählen
    • 22. ETEL überprüft erfolgreich, dass APP PhoneNetwork besitzt.
    • 23. ETEL wählt die Nummer.
    • 24. U benutzt die Telefonverbindung.
  • E1 – U akzeptiert nicht
    • 1. ETEL wählt die Nummer nicht.
    • 2. APP zeigt U eine Fehlermeldung an.
  • E2 – Hash-Unverträglichkeit
    • 1. Das Ladegerät lädt APP nicht und bringt eine Binäre-Hash-Unverträglichkeits-Fehlermeldung.
    • 2. U kann APP nicht benutzen.
  • 2.4.3.7 Anwendungsfall 5 – U deinstalliert APP von P2 mit C2
    • 1. U schließt C2 an P2 an.
    • 2. U benutzt P2.
    • 3. U fordert SWInstall auf, APP zu deinstallieren.
    • 4. SWInstall löscht c:\ <nur TCB zugängliches Laufwerk> \APP.cap.
    • 5. SWInstall fordert U auf, die Löschung auf D: zu bestätigen.
    • 6. U bestätigt. {E1}
    • 7. SWInstall löscht APP.app von D:.
    • 8. U kann C2 auf P1 oder P2 nicht benutzen, um APP zu starten.
  • E2 – U bestätigt nicht
    • 1. SWInstall löscht APP.app nicht von D.
    • 2. U kann immer noch C2 mit P1 benutzen, um APP zu starten.
  • 2.4.3.8 Anwendungsfall 6 – U hackt APP.app, um einige System-Fähigkeiten hinzuzufügen.
    • 1. U ändert die Systemfähigkeiten von APP.app off line auf C1.
    • 2. U schließt C1 an P1 an.
    • 3. U benutzt P1.
    • 4. U fordert das Ladegerät auf, APP zu starten.
    • 5. Das Ladegerät findet APP.app in D:
    • 6. Das Ladegerät öffnet c:\ <nur TCB zugängliches Laufwerk>\APP.cap.
    • 7. Das Ladegerät überprüft den Hash ohne Erfolg.
    • 8. Das Ladegerät lädt APP nicht und bringt eine Binäre-Hash-Unverträglichkeits-Fehlermeldung.
    • 9. U kann APP nicht benutzen.
  • 2.4.3.9 Schlussfolgerung
  • Diese Anwendungsfälle zeigen, dass die von Wechseldatenträgern zur Verfügung gestellte Flexibilität sogar mit Plattformsicherheit beibehalten wird:
    • – Um Karten zwischen Geräten mit unterschiedlichen Einstellungen bezüglich der Benutzerfähigkeiten gemeinsam zu benutzen.
    • – Um Karten zu duplizieren und die Kopien ohne Einschränkungen zu benutzen.
    • – Um Codes sicher von Wechseldatenträgern aus auszuführen.

Claims (12)

  1. Ein mobiles, drahtloses Gerät das dazu benutzt werden kann, einen selbst ausführbaren Code auf einem Wechseldatenträger zu installieren, wobei das Gerät dazu programmiert ist, einen Digest dieses Codes zu berechnen und in einem persistenten nicht auswechselbaren Speicher innerhalb des Geräts zu speichern; dadurch gekennzeichnet, dass der Datenträger dazu ausgelegt ist, während des Betriebs einfach entfernt und wieder angeschlossen zu werden, wobei das Gerät weiterhin so programmiert ist, dass, wenn der Wechseldatenträger wieder an das Gerät angeschlossen und der Code aufgerufen wird, das Gerät einen Digest des Codes neu berechnet, den es von dem Wechseldatenträger laden will und ihn mit demjenigen vergleicht, der innerhalb des persistenten nicht auswechselbaren Speichers gespeichert ist, wobei eine Benutzung verhindert wird, falls der berechnete Digest von dem gespeicherten Digest abweicht.
  2. Das Gerät nach Anspruch 1, bei dem der gespeicherte Digest nur von den Komponenten einer Trusted Computing Base zugänglich ist.
  3. Das Gerät nach Anspruch 1, bei dem sowohl der Digest als auch die Fähigkeit der ausführbaren Datei sicher auf dem Gerät gespeichert sind.
  4. Das Gerät nach Anspruch 1, bei dem die ausführbare Datei ohne irgendeine Fähigkeit und Identität geladen wird, falls eine Verifizierung nicht möglich ist, da die ausführbare Datei unbekannt ist.
  5. Das Gerät nach Anspruch 1, bei dem die ausführbare Datei nicht geladen wird, falls die Verifizierung fehlschlägt.
  6. Das Gerät nach Anspruch 1, bei dem die ausführbare Datei geladen wird und zugeordnete Fähigkeiten sicher auf dem Gerät gespeichert werden, falls die Verifizierung erfolgreich ist.
  7. Ein Verfahren zur Verwendung eines ausführbaren, auf einem Wechseldatenträger gespeicherten Codes, wobei der Datenträger leicht von einem mobilen, drahtlosen Gerät entfernt und bei normalem Betrieb wieder an dieses Gerät angeschlossen werden kann, wobei das Verfahren die folgenden Schritte beinhaltet: (a) Berechnung und Speicherung eines ersten Digest dieses Codes innerhalb eines persistenten nicht auswechselbaren Speichers innerhalb des mobilen, drahtlosen Geräts; (b) Übertragung der ausführbaren Datei auf einen an das Gerät gekoppelten Wechseldatenträger, (c) Entkopplung des Wechseldatenträgers; (d) erneute Ankopplung des Wechseldatenträgers; (e) Berechnung eines neuen Digest aus dem auf dem Wechseldatenträger gespeicherten Code; (f) Vergleich des neuen Digest mit der ersten Digest; (g) Vermeidung der Benutzung des Codes, falls der neue Digest von dem ersten Digest abweicht.
  8. Das Verfahren nach Anspruch 7, bei dem der erste Digest nur von den Komponenten einer Trusted Computing Base zugänglich ist.
  9. Das Verfahren nach Anspruch 7, bei dem sowohl der Digest als auch die Fähigkeit der ausführbaren Datei sicher auf dem Gerät gespeichert sind.
  10. Das Verfahren nach Anspruch 7, bei dem die ausführbare Datei ohne irgendeine Fähigkeit und Identität geladen wird, falls eine Verifizierung nicht möglich ist, da die ausführbare Datei unbekannt ist.
  11. Das Verfahren nach Anspruch 7, bei dem die ausführbare Datei nicht geladen wird, falls die Verifizierung fehlschlägt.
  12. Das Verfahren nach Anspruch 7, bei dem die ausführbare Datei geladen wird und zugeordnete Fähigkeiten sicher auf dem Gerät gespeichert werden, falls die Verifizierung erfolgreich ist.
DE60305315T 2002-05-28 2003-05-28 Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode Expired - Lifetime DE60305315T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0212318.0A GB0212318D0 (en) 2002-05-28 2002-05-28 Tamper evident removable media storing executable code
GB0212318 2002-05-28
PCT/GB2003/002326 WO2003100583A1 (en) 2002-05-28 2003-05-28 Tamper evident removable media storing executable code

Publications (2)

Publication Number Publication Date
DE60305315D1 DE60305315D1 (de) 2006-06-22
DE60305315T2 true DE60305315T2 (de) 2007-02-08

Family

ID=9937598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60305315T Expired - Lifetime DE60305315T2 (de) 2002-05-28 2003-05-28 Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode

Country Status (10)

Country Link
US (1) US8205094B2 (de)
EP (1) EP1512060B1 (de)
JP (2) JP4526383B2 (de)
AT (1) ATE326718T1 (de)
AU (1) AU2003234040A1 (de)
DE (1) DE60305315T2 (de)
DK (1) DK1512060T3 (de)
ES (1) ES2265105T3 (de)
GB (2) GB0212318D0 (de)
WO (1) WO2003100583A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0212318D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Tamper evident removable media storing executable code
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
GB2413654B (en) * 2004-04-29 2008-02-13 Symbian Software Ltd A method of backing up and restoring data in a computing device
US8627086B2 (en) 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
EP1645931A1 (de) * 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Gesichertes Laden und Speichern von Daten in Datenverarbeitungsanlagen
US7953225B2 (en) * 2005-10-21 2011-05-31 Harris Corporation Mobile wireless communications device with software installation and verification features and related methods
US7689205B2 (en) 2005-12-23 2010-03-30 Morgan Stanley Systems and methods for configuration of mobile computing devices
FR2895815B1 (fr) * 2005-12-29 2008-06-20 Trusted Logic Sa Procede et systeme de gestion pour gerer le contenu de donnees electroniques
US20140043059A1 (en) * 2012-08-10 2014-02-13 Microsemi Soc Corp. Secure digest for pld configuration data
US9443112B2 (en) * 2014-05-23 2016-09-13 Bank Of America Corporation Secure media container
WO2017014727A1 (en) * 2015-07-17 2017-01-26 Hewlett Packard Enterprise Development Lp Data tamper detection
JP7262269B2 (ja) * 2019-03-27 2023-04-21 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法、プログラム

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
JPH05167496A (ja) 1991-12-16 1993-07-02 Matsushita Electric Ind Co Ltd 自動車電話装置
US5359659A (en) 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
AU686494B2 (en) 1995-02-08 1998-02-05 Sega Enterprises, Ltd. Information processor having security check function
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
TW313642B (en) * 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
US7058822B2 (en) * 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US5954817A (en) * 1996-12-31 1999-09-21 Motorola, Inc. Apparatus and method for securing electronic information in a wireless communication device
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JP3103061B2 (ja) 1997-09-12 2000-10-23 インターナショナル・ビジネス・マシーンズ・コーポレ−ション トークン作成装置および該トークンを用いたデータ制御システム
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
GB2340344A (en) * 1998-07-29 2000-02-16 Nokia Mobile Phones Ltd Bilateral Data Transfer Verification for Programming a Cellular Phone
AU6042899A (en) * 1998-09-18 2000-04-10 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
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
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US6438600B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US6567917B1 (en) * 1999-02-01 2003-05-20 Cisco Technology, Inc. Method and system for providing tamper-resistant executable software
GB9903123D0 (en) * 1999-02-11 1999-04-07 Nokia Telecommunications Oy Method of securing communication
JP4779183B2 (ja) 1999-03-26 2011-09-28 ソニー株式会社 再生装置および再生方法
DE60043633D1 (de) 1999-03-03 2010-02-25 Sony Corp Wiedergabegerät und Wiedergabeverfahren
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
JP3976946B2 (ja) * 1999-06-18 2007-09-19 株式会社リコー 原本性保証電子保存装置、原本性保証電子保存方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4049498B2 (ja) * 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
US6681329B1 (en) * 1999-06-25 2004-01-20 International Business Machines Corporation Integrity checking of a relocated executable module loaded within memory
US6543052B1 (en) * 1999-07-09 2003-04-01 Fujitsu Limited Internet shopping system utilizing set top box and voice recognition
JP4196240B2 (ja) * 1999-08-31 2008-12-17 ソニー株式会社 再生制限機能付き再生装置、再生制限方法及び再生制限プログラム
US6880083B1 (en) * 1999-12-31 2005-04-12 Intel Corporation Method and apparatus for creating and executing secure scripts
US20020026584A1 (en) * 2000-06-05 2002-02-28 Janez Skubic Method for signing documents using a PC and a personal terminal device
JP2002014871A (ja) 2000-06-29 2002-01-18 Fujitsu Ltd コンテンツチェック方法、コンテンツ更新方法、および処理装置
US7039801B2 (en) * 2000-06-30 2006-05-02 Microsoft Corporation System and method for integrating secure and non-secure software objects
GB2364404B (en) * 2000-07-01 2002-10-02 Marconi Comm Ltd Method of detecting malicious code
JP2002023704A (ja) 2000-07-06 2002-01-25 Sony Corp 制御装置および制御方法
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
AU2001285125B2 (en) * 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
US7043636B2 (en) * 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
AU2001296205A1 (en) * 2000-10-17 2002-04-29 Shyne-Song Chuang A method and system for detecting rogue software
GB2377137B (en) * 2001-06-27 2004-10-20 Hewlett Packard Co Network appliances
US7062622B2 (en) * 2001-06-29 2006-06-13 Microsoft Corporation Protection of content stored on portable memory from unauthorized usage
US20030009687A1 (en) * 2001-07-05 2003-01-09 Ferchau Joerg U. Method and apparatus for validating integrity of software
US7003672B2 (en) * 2001-09-25 2006-02-21 Hewlett-Packard Development Company, L.P. Authentication and verification for use of software
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
US7376625B2 (en) * 2001-11-15 2008-05-20 Nokia Corporation System and method for activating individualized software modules in a digital broadcast environment
EP1451814A4 (de) * 2001-11-15 2009-05-06 Sony Music Entertainment Inc System und verfahren zur steuerung der benutzung und duplikation von auf wechselbaren medien verteiltem digitalem inhalt
US8266113B2 (en) * 2003-04-01 2012-09-11 Cybersoft, Inc. Methods, apparatus and articles of manufacture for computer file integrity and baseline maintenance
US7558953B2 (en) * 2002-01-18 2009-07-07 Telefonaktiebolaget L M Ericsson (Publ) Loading data into a mobile terminal
US20030182561A1 (en) * 2002-03-25 2003-09-25 International Business Machines Corporation Tamper detection mechanism for a personal computer and a method of use thereof
US6782477B2 (en) * 2002-04-16 2004-08-24 Song Computer Entertainment America Inc. Method and system for using tamperproof hardware to provide copy protection and online security
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
GB0212315D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device with protected file systems
GB0212318D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Tamper evident removable media storing executable code
GB0212308D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Trusted user interface for a secure mobile wireless device
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
AU2002348969A1 (en) * 2002-11-08 2004-06-07 Nokia Corporation Software integrity test in a mobile telephone

Also Published As

Publication number Publication date
GB2390918A (en) 2004-01-21
JP4975127B2 (ja) 2012-07-11
US8205094B2 (en) 2012-06-19
WO2003100583A1 (en) 2003-12-04
EP1512060A1 (de) 2005-03-09
GB2390918B (en) 2004-10-27
GB0312199D0 (en) 2003-07-02
AU2003234040A1 (en) 2003-12-12
JP2005527905A (ja) 2005-09-15
ATE326718T1 (de) 2006-06-15
JP4526383B2 (ja) 2010-08-18
GB0212318D0 (en) 2002-07-10
ES2265105T3 (es) 2007-02-01
JP2010205270A (ja) 2010-09-16
DE60305315D1 (de) 2006-06-22
EP1512060B1 (de) 2006-05-17
US20050216907A1 (en) 2005-09-29
DK1512060T3 (da) 2006-09-18

Similar Documents

Publication Publication Date Title
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
CN104246698B (zh) 弹性操作系统电脑
DE10393456B4 (de) Verkapselung einer TCPA-vertrauenswürdigen Plattformmodulfunktionalität innerhalb eines Server-Management-Coprozessor-Subsystems
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE60305315T2 (de) Originalitätsgesichertes herausnehmbares medium mit ausführbarem kode
DE112016000576T5 (de) Sicheres Booten eines Computers von einer für den Benutzer vertrauenswürdigen Einheit aus
EP2779580B1 (de) Verfahren und Vorrichtung zur Installation von Anwendungen auf mobilen Endgeräten
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE112011103580B4 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
WO2012130461A2 (de) Aktualisierung einer datenträgerapplikation
WO2020074354A1 (de) Verfahren und vorrichtung zur isolation von sensiblem nicht-vertrauenswürdigem programmcode auf mobilen endgeräten
DE112021005478T5 (de) Verfahren zum schutz eines edge-gerät-vertrauenswerts
WO2012168019A2 (de) Zugriff auf in einer cloud gespeicherte daten
WO2023001773A1 (de) Absicherung eines einrichtevorgangs eines unterverzeichnisses und einer netzwerkschnittstelle für eine containerinstanz
CN1953454A (zh) 基于角色管理的安全审计方法及系统
DE10146361A1 (de) Vorrichtung und Verfahren zur Etablierung einer Sicherheitspolitik in einem verteilten System
EP2885907B1 (de) Verfahren zur installation von sicherheitsrelevanten anwendungen in einem sicherheitselement eines endgerät
DE102018217431A1 (de) Sicherer Schlüsseltausch auf einem Gerät, insbesondere einem eingebetteten Gerät
DE102021127629A1 (de) Virtualisierung der sicheren speicherung eines baseboard management controllers auf einem host- computergerät
DE60017438T2 (de) System zur betriebsmittelzugriffsteuerung
DE102010004786A1 (de) Verfahren zum rechnergestützten Bereitstellen einer Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur
EP1924945B1 (de) Verfahren zur verbesserung der vertrauenswürdigkeit von elektronischen geräten und datenträger dafür
EP3105899B1 (de) Verfahren zum hochfahren eines produktions-computersystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA CORPORATION, ESPOO, FI

8328 Change in the person/name/address of the agent

Representative=s name: COHAUSZ & FLORACK PATENT- UND RECHTSANWAELTE PARTN