DE102006046456B4 - Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte - Google Patents

Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte Download PDF

Info

Publication number
DE102006046456B4
DE102006046456B4 DE102006046456A DE102006046456A DE102006046456B4 DE 102006046456 B4 DE102006046456 B4 DE 102006046456B4 DE 102006046456 A DE102006046456 A DE 102006046456A DE 102006046456 A DE102006046456 A DE 102006046456A DE 102006046456 B4 DE102006046456 B4 DE 102006046456B4
Authority
DE
Germany
Prior art keywords
circuit arrangement
computer program
memory
arrangement according
public 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.)
Active
Application number
DE102006046456A
Other languages
English (en)
Other versions
DE102006046456A1 (de
Inventor
David Jennings
Hans Brandl
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006046456A priority Critical patent/DE102006046456B4/de
Priority to US11/865,205 priority patent/US20080082828A1/en
Publication of DE102006046456A1 publication Critical patent/DE102006046456A1/de
Application granted granted Critical
Publication of DE102006046456B4 publication Critical patent/DE102006046456B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • 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]
    • 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/80Wireless

Abstract

Schaltkreis-Anordnung, aufweisend
• mindestens eine Krypto-Einheit, welche mindestens eine kryptographische Funktion bereitstellt,
• eine Zugriffskontroll-Schnittstelle zum Prüfen einer Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion der Krypto-Einheit, wobei die Zugriffskontroll-Schnittstelle derart eingerichtet ist, dass
• sie überprüft, ob das Applikation Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt,
• für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die kryptographische Funktion aufgerufen wird, und
• für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die Zugriffsanforderung abgelehnt wird.

Description

  • Die Erfindung betrifft eine Schaltkreis-Anordnung, ein Verfahren zum Hochfahren einer Schaltkreis-Anordnung, ein Verfahren zum Betreiben einer Schaltkreis-Anordnung sowie Computerprogrammprodukte
  • Eingebettete Systeme (Embedded Systems), wie beispielsweise ein Chip für eine Mobilfunk-Plattform, anders ausgedrückt für eine Mobilfunk-Kommunikationseinrichtung, werden immer häufiger mit Sicherheitsanforderungen konfrontiert, welchen üblicherweise begegnet wird dadurch, dass Kryptographie-Hardware in die Komponenten, beispielsweise die Chips, integriert werden.
  • US 2006/0136889 A1 beschreibt ein Verfahren und eine Vorrichtung zum Authentifizieren eines ausführbaren Programms, wobei die Anwendung in einem System, beispielsweise einem Geldautomaten installiert ist.
  • US 2005/0132226 A1 beschreibt eine Vorrichtung, die eine oder mehrere kryptographische Einheiten aufweist. Es wird ein Hash-Wert einer Applikation mit einem signierten Hash-Wert für genau diese Applikation verglichen, um sie zu authentifizieren und beispielsweise gegen unerlaubte Veränderungen zu schützen.
  • US 2002/0073316 A1 beschreibt ein kryptographisches System und Verfahren zum Initialisieren und Betreiben dieses Systems, bei dem Applikationen nach ihrer Entschlüsselung authentifiziert werden.
  • Kryptographie-Hardware, d. h. beispielsweise auf kryptographische Funktionen spezialisiert ausgerichtete Prozessoren oder spezifische elektronische Schaltungen fallen üblicherweise unter die Exportkontrolle und die Exportregeln des so genannten Wassenaar-Abkommens.
  • Das Wassenaar-Abkommen behandelt Technologien, welche sowohl für militärische Zwecke als auch für kommerzielle Zwecke eingesetzt werden können und enthält einen Regelsatz, an welchen sich die Teilnehmerstaaten halten, anders ausgedrückt, an welche die Unterzeichnerstaaten des Wassenaar-Abkommens gebunden sind. Das Wassenaar-Abkommen betrifft beispielsweise Verschlüsselungsverfahren bei Verwendung einer Schlüssellänge von mehr als 56 Bit.
  • Wie oben beschrieben wurde, enthält das Abkommen einen Satz von Regeln, gemäß welchen der Export von Kryptographie-Technologie erlaubt ist, wenn sie für spezifische Zwecke eingesetzt wird, wie beispielsweise zur Authentifikation oder zur Digitale-Rechte-Verwaltung (Digital Rights Management, DRM).
  • Ein Problem beispielsweise von Herstellern von Mobilfunk-Komponenten oder Mobilfunk-Plattformen ist beispielsweise darin zu sehen, dass die Funktionalität der Komponente(n) oder Plattform(en) (beispielsweise einschließlich der Applikationen, welche die jeweilige Kryptographie-Technologie verwenden) zum Zeitpunkt des Exports der Komponente bzw. der Plattform noch nicht vollständig fertiggestellt sein kann.
  • Üblicherweise entwickelt ein Mobilfunk-Kommunikationsendgeräte-Hersteller die komplette Mobilfunk-Plattform oder passt zumindest eine gelieferte Mobilfunk-Plattform an seine Bedürfnisse und Wünsche an. Dies bedeutet, dass die Kryptographie-Technologie zu der Zeit des Exports der Komponente bzw. der Plattform noch allgemein verwendbar ist. Da immer mehr Mobilfunk-Kommunikationsendgeräte- Hersteller die Produktion und die Entwicklung der Mobilfunk-Kommunikationseinrichtungen in Länder verlagern, welche das Wassenaar-Abkommen nicht ratifiziert haben und daher unter die volle Exportkontrolle fallen, gewinnt das Problem des Exports von Kryptographie-Technologie grundlegende Bedeutung für das Mobilfunk-Geschäft. Ferner ist ein entsprechendes Problem zu lösen für den Fall, dass das Wassenaar-Abkommen nicht ratifizierende Staaten mit fertigen Mobilfunk-Kommunikationseinrichtungen (beispielsweise Mobilfunk-Kommunikationsendgeräte) aus dem Ausland beliefert werden sollen.
  • Um das durch die Exportkontrolle aufgeworfene Problem zu lösen wurde häufig Kryptographie-Technologie im Rahmen des Exports von Produkten eingesetzt, bei der kryptographische Schlüssel von einer Länge von weniger als 56 Bit verwendet wurden, anders ausgedrückt, es wurde die Schlüssellänge der im Rahmen der jeweiligen kryptographischen Funktionen verwendeten kryptographischen Schlüssel reduziert, so dass die Kryptographie-Technologien und die verwendeten kryptographischen Funktionen nicht unter die Exportbeschränkungen fallen. Dies stellt jedoch in der Zukunft keine akzeptable Lösung dar, da die aktuellen Sicherheits-Standards eine Schlüssellänge von mindestens 128 Bit für symmetrische Verschlüsselung und 1 Kbit (1024 Bit) für asymmetrische Verschlüsselung erfordern. Diese Schlüssellängen fallen jedoch unter die Exportbeschränkungen.
  • Eine andere übliche Vorgehensweise zur Berücksichtung der Exportbeschränkungen kann darin gesehen werden, dass exportierte Software entwickelt wird, welche derart eingerichtet ist, dass sie keine kryptographischen Funktionen aufruft, welche ihnen gemäß den Exportbeschränkungen nicht erlaubt sind. Dadurch wird jedoch nicht das Problem des Exports einer gesamten kryptographischen Mobilfunk-Plattform oder einzelner kryptographischer Funktionen in einer Mobilfunk-Komponente oder in der gesamten Mobilfunk-Plattform gelöst.
  • Bisher wurde üblicherweise das komplette Mobilfunk-System, d. h. die komplette Mobilfunk-Kommunikationseinrichtung exportiert, bei der die Applikationen, anders ausgedrückt die eingesetzten Applikation-Computerprogramme, schon integriert vorlagen und so ausgebildet waren, dass der rechtliche Rahmen hinsichtlich der Schlüssellänge und/oder der jeweiligen Anwendung gewahrt wurde. Diese Vorgehensweise stellt jedoch zukünftig keine akzeptable Lösung dar, da es häufig gewünscht ist, die Entwicklung und Produktion der Mobilfunk-Kommunikationsendgeräte in Länder zu verlagern, welche das Wassenaar-Abkommen nicht ratifiziert haben.
  • Eine Schaltkreis-Anordnung weist mindestens eine Krypto-Einheit auf, welche mindestens eine kryptographische Funktion bereitstellt. Ferner weist die Schaltkreis-Anordnung eine Zugriffskontroll-Schnittstelle zum Prüfen einer Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion der Krypto-Einheit auf, wobei die Zugriffskontroll-Schnittstelle derart eingerichtet ist, dass
    • • sie überprüft, ob das Applikation-Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt,
    • • für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die kryptographische Funktion aufgerufen wird, und
    • • für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die Zugriffsanforderung abgelehnt wird.
  • Eine Kommunikationseinrichtung weist eine oben beschriebene Schaltkreis-Anordnung auf.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird bei einem Verfahren zum Hochfahren (Booten) einer Schaltkreis-Anordnung überprüft, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen. Für den Fall, dass der Nutzer nicht berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, wird die Schaltkreis-Anordnung in einem ersten Modus hochgefahren, in welchem der Nutzer keinen Zugriff hat auf die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion. Für den Fall, dass der Nutzer berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, wird die Schaltkreis-Anordnung in einem zweiten Modus hochgefahren, in welchem der Nutzer Zugriff hat auf die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung ist ein Verfahren zum Betreiben einer Schaltkreis-Anordnung vorgesehen, bei welchem eine Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion, welche von der Schaltkreis-Anordnung bereitgestellt wird, empfangen wird. Ferner wird überprüft, ob das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion zuzugreifen, indem geprüft wird, ob das Applikation-Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt. Für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion zuzugreifen, wird die kryptographische Funktion aufgerufen und für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion zuzugreifen, wird die Zugriffsanforderung abgelehnt.
  • Gemäß anderen Ausgestaltungen der Erfindung sind Computerprogrammprodukte vorgesehen, welche, wenn sie von einem Prozessor ausgeführt werden, die oben beschriebenen Verfahren aufweisen.
  • Gemäß den Ausführungsbeispielen der Erfindung wird auf einfache Weise sichergestellt, dass ein Applikation-Computerprogramm nur dann kryptographische Funktionen nutzen kann, wenn sie dazu berechtigt ist, was anschaulich mittels der Zugriffskontrolle erreicht wird. Die anschaulich oben beschriebene hochfahrende Schaltkreis-Anordnung gewährleistet, dass in deren Betrieb nur für den Fall, dass eine berechtigte und vertrauenswürdige Instanz die Schaltkreis-Anordnung hochgefahren hat, diese auch Zugriff hat auf die in der Schaltkreis-Anordnung implementierte und damit an sich bereitgestellte kryptographische Funktion.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.
  • Es zeigen
  • 1 eine Skizze eines Mobilfunk-Kommunikationsendgeräts gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ein Blockdiagramm einer Schaltkreis-Anordnung gemäß einem Ausführungsbeispiel der Erfindung;
  • 3 ein Blockdiagramm, in dem der beispielhafte Aufbau der Krypto-Einheit der in 2 dargestellten Schaltkreis-Anordnung dargestellt ist;
  • 4 ein Ablaufdiagramm, in dem ein Verfahren zur Zugriffskontrolle auf die Krypto-Einheit gemäß einem Ausführungsbeispiel dargestellt ist;
  • 5 ein Ablaufdiagramm, in welchem das Hochfahren der Schaltkreis-Anordnung gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;
  • 6 ein Blockdiagramm, in dem die Speicher der Schaltkreis-Anordnung gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 7 ein Ablaufdiagramm, in dem das Verfahren zum Hochfahren der Schaltkreis-Anordnung gemäß einem Ausführungsbeispiel der Erfindung im Detail dargestellt ist;
  • 8 ein Blockdiagramm, in welchem die Organisation der im Rahmen der Kryptographie verwendeten Daten gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 9 ein Blockdiagramm, in welchem die Vertrauenskette gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist;
  • 10 ein Host-Computersystem gemäß einem Ausführungsbeispiel der Erfindung;
  • 11 ein Blockdiagramm, in dem ein Verfahren zur Zugriffskontrolle auf eine CPU gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist; und
  • 12 eine zentrale Datenverarbeitungseinheit gemäß einem anderen Ausführungsbeispiel der Erfindung.
  • In den Figuren sind ähnliche oder identische Elemente, soweit sinnvoll, mit identischen Bezugszeichen versehen.
  • Gemäß einem Ausführungsbeispiel der Erfindung weist die Schaltkreis-Anordnung einen Applikationsprozessor zur Ausführung des Applikation-Computerprogramms auf, allgemein einen Prozessor zum Ausführen allgemeiner Funktionen innerhalb der Schaltkreis-Anordnung. In einer alternativen Ausführungsform der Erfindung sind mehrere Prozessoren vorgesehen, die gemeinsam die jeweilige Funktion oder die jeweiligen Funktionen bereitstellen.
  • Gemäß einer anderen Ausgestaltung der Erfindung weist die Schaltkreis-Anordnung einen ersten Boot-Speicher zum Speichern einer ersten Teil-Boot-Routine zum Booten auf, anders ausgedrückt zum Hochfahren der Schaltkreis-Anordnung. Der erste Boot-Speicher kann ein Nur-Lese-Speicher (Read Only Memory, ROM) sein. Weiterhin kann in dem ersten Boot-Speicher mindestens eine kryptographische Funktion gespeichert sein, welche beispielsweise im Rahmen des Hochfahrens der Schaltkreis-Anordnung verwendet werden kann, wobei darauf hinzuweisen ist, dass gemäß einer Ausführungsform der Erfindung in dem Boot-Speicher die gespeicherte kryptographische Funktion nicht von einem Applikation-Computerprogramm aufgerufen werden kann, da die kryptographische Funktion hartverdrahtet in dem Nur-Lese-Speicher, allgemein in dem Boot-Speicher, gespeichert ist, welcher ausschließlich im Rahmen des Hochfahrens der Schaltkreis-Anordnung verwendet wird und nicht während des üblichen Betriebes der Schaltkreis-Anordnung, während dessen die Applikation-Computerprogramme ausgeführt werden.
  • Die in dem Boot-Speicher gespeicherte mindestens eine kryptographische Funktion weist gemäß einem Ausführungsbeispiel der Erfindung mindestens eine der folgenden kryptographischen Funktionen auf:
    • • eine symmetrische Verschlüsselungsfunktion,
    • • eine asymmetrische Verschlüsselungsfunktion,
    • • eine Hash-Funktion.
  • Die in dem ersten Boot-Speicher gespeicherten und implementierten kryptographischen Funktionen können im Rahmen des Hochfahrens zum kryptographisch gesicherten Hochfahren der Schaltkreis-Anordnung bei gewährleisteter Authentifikation eingesetzt werden, so dass beispielsweise gewährleistet wird, dass nur ein Nutzer, welcher unter Verwendung kryptographischer Sicherungsmechanismen authentifiziert wird, Zugang zu den (beispielsweise starken) kryptographischen Funktionen während des Betriebs der Schaltkreis-Anordnung erhält und diejenigen Nutzer, welchen die kryptographischen Funktionen nicht zugänglich gemacht werden sollen, werden schon im Rahmen des Hochfahrens der Schaltkreis-Anordnung unter Verwendung kryptographischer Dienste, beispielsweise der kryptographischen Funktionen, ermittelt und diese können die Schaltkreis-Anordnung zwar betreiben, jedoch nur in einem Modus, in welchem kein Zugriff auf die kryptographischen Funktionen der Krypto-Einheit ermöglicht ist.
  • Auf diese Weise ist schon beim Hochfahren der Schaltkreis-Anordnung bzw. auch schon im Rahmen der Entwicklung von Applikation-Computerprogrammen im Rahmen der Entwicklung der Schaltkreis-Anordnung gewährleistet, dass nur die Nutzer und Entwickler von Applikation-Computerprogrammen starke Kryptographie-Technologie nutzen können, welche beispielsweise gemäß dem Wassenaar-Abkommen dazu befugt sind.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung ist in der Schaltkreis-Anordnung ein erster Schlüssel-Speicher vorgesehen zum Speichern eines ersten öffentlichen Schlüssels einer vertrauenswürdigen Instanz, beispielsweise von den Herstellern der Schaltkreis-Anordnung. Auch der erste Schlüssel-Speicher kann ein Nur-Lese-Speicher sein.
  • Weiterhin kann ein Kundeninformations-Speicher zum Speichern kundenspezifischer Informationen vorgesehen sein, wobei auch dieser als ein Nur-Lese-Speicher eingerichtet sein kann.
  • Der Kundeninformations-Speicher kann ferner aus Schmelzsicherungen, beispielsweise elektronischen Schmelzsicherungen, auch bezeichnet als Electronic Fuses, gebildet werden.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird mittels zumindest einem Teil der kundenspezifischen Information angegeben, ob zumindest einer der gespeicherten Schlüssel ein Test-Schlüssel oder ein Produkt-Schlüssel ist, anders ausgedrückt, ob der verwendete Schlüssel nur für einen Test-Betrieb der Schaltkreis-Anordnung zu verwenden ist oder für den tatsächlichen Betrieb im fertigen kommerziell verfügbaren Endprodukt. Ein Test-Schlüssel ist im Rahmen des Betriebs des endgültigen Produkts nicht einsetzbar.
  • Alternativ oder zusätzlich kann zumindest ein Teil der kundenspezifischen Information eine Information darstellen, mittels derer ein Kunde oder ein Hersteller eines Applikation-Computerprogramms eindeutig identifiziert wird. In dieser Beschreibung ist der Begriff „eindeutig” beispielsweise derart zu verstehen, dass nicht zwei Kunden und/oder zwei Hersteller eines Applikation-Computerprogramms mit derselben Information identifiziert wird.
  • Weiterhin kann in der Schaltkreis-Anordnung mindestens ein zweiter Schlüssel-Speicher zum Speichern eines zweiten öffentlichen Schlüssels vorgesehen sein.
  • Weiterhin kann mindestens ein Zertifikat-Speicher zum Speichern zumindest eines Teils eines Zertifikats des zweiten öffentlichen Schlüssels oder des gesamten Zertifikats des zweiten öffentlichen Schlüssels vorgesehen sein.
  • Der Teil des Zertifikats des zweiten öffentlichen Schlüssels kann eine oder mehrere der folgenden Informationen enthalten:
    • • eine Angabe über die Version des Zertifikats des zweiten öffentlichen Schlüssels;
    • • eine Angabe, die einen zumindest einen Teil der Schaltkreis-Anordnung enthaltenden Chip identifiziert;
    • • kundenspezifische Information;
    • • eine die Art der Zugriffskontroll-Schnittstelle identifizierende Information.
  • Weiterhin kann ein erster Signatur-Speicher zum Speichern einer ersten Signatur vorgesehen sein, welche gebildet ist über eine oder mehrere der folgenden Informationen:
    • • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels;
    • • den zweiten öffentlichen Schlüssel;
    • • einen Hash-Wert, welcher gebildet wurde über zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels;
    • • einen Hash-Wert, welcher gebildet wurde über den zweiten öffentlichen Schlüssel;
    • • einen Hash-Wert, welcher gebildet wurde über zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels und den zweiten öffentlichen Schlüssel.
  • Die erste digitale Signatur kann gebildet werden oder sein unter Verwendung des zu dem ersten öffentlichen Schlüssel korrespondierenden ersten privaten Schlüssels.
  • Weiterhin kann die Schaltkreis-Anordnung einen Applikation-Computerprogramm-Speicher zum Speichern eines oder mehrerer Applikation-Computerprogramme aufweisen.
  • Ferner kann ein zweiter Boot-Speicher vorgesehen sein zum Speichern einer zweiten Teil-Boot-Routine zum Booten der Schaltkreis-Anordnung, wobei die zweite Teil-Boot-Routine auszuführen ist nach dem erfolgreichen Ausführen der ersten Teil-Boot-Routine.
  • Die zweite Teil-Boot-Routine kann ein Authentifizieren des oder der in dem Applikation-Computerprogramm-Speicher gespeicherten eines oder mehreren Applikation-Computerprogramme aufweisen.
  • Gemäß einer Ausgestaltung der Erfindung kann die zweite Teil-Boot-Routine ein Authentifizieren eines Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramms aufweisen.
  • Das Authentifizieren des Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramms kann unter Verwendung eines weiteren öffentlichen Schlüssels erfolgen. Der weitere öffentliche Schlüssel kann gemeinsam mit einem zugehörigen weiteren privaten Schlüssels dem Hersteller der Schaltkreis-Anordnung oder einer anderen vertrauenswürdigen Instanz zugeordnet sein, beispielsweise dem Entwickler des Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramms oder einer verantwortlichen Instanz für das Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramm.
  • Ferner kann ein zweiter Signatur-Speicher vorgesehen sein zum Speichern einer zweiten digitalen Signatur, welche gebildet ist oder welche gebildet wird über eine der folgenden Informationen:
    • • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels;
    • • den zweiten öffentlichen Schlüssel;
    • • die erste digitale Signatur;
    • • die zweite Teil-Boot-Routine.
  • Weiterhin kann die zweite digitale Signatur gebildet sein oder werden unter Verwendung des zu dem zweiten öffentlichen Schlüssel korrespondierenden zweiten privaten Schlüssels.
  • So können der zweite öffentliche Schlüssel und der zweite private Schlüssel einem Nutzer der Schaltkreis-Anordnung oder einem Entwickler von Applikation-Computerprogrammen zugeordnet sein, welcher beispielsweise von der vertrauenswürdigen Instanz, z. B. dem Hersteller der Schaltkreis-Anordnung, zertifiziert ist hinsichtlich seiner Vertrauenswürdigkeit und der Befugnis, starke Kryptographie-Mechanismen zu nutzen, womit gewährleistet wird, dass der Besitzer des zweiten Schlüsselpaares (bestehend aus dem zweiten öffentlichen Schlüssel und dem korrespondierenden zweiten privaten Schlüssel) die kryptographischen Funktionen der Krypto-Einheit nutzen darf.
  • Die mindestens eine Krypto-Einheit kann eingerichtet sein, mindestens eine der folgenden kryptographischen Funktionen bereitzustellen:
    • • eine symmetrische Verschlüsselungsfunktion;
    • • eine asymmetrische Verschlüsselungsfunktion;
    • • eine Hash-Funktion;
    • • eine Zufallszahl-Erzeugungsfunktion;
    • • eine Authentifikationsfunktion.
  • Die von der Krypto-Einheit bereitgestellten kryptographischen Funktionen sind beispielsweise kryptographische Funktionen aus einer starken Kryptographie-Technologie, so dass im Rahmen dieser Funktionen auch Funktionen bereitgestellt werden können, für welche die Restriktionen des Wassenaar-Abkommens gelten, aber auf Grund des kryptographisch gesicherten Hochfahrens und der kryptographisch gesicherten Zugriffskontrolle von der Krypto-Einheit bereitgestellten kryptographischen Funktionen wird eine faire Exportkontrolle ermöglicht. Fair heißt in diesem Zusammenhang beispielsweise kontrollierbar und nachvollziehbar von beiden Seiten, d. h. sowohl von dem Prozessor-System-Hersteller, beispielsweise dem Hersteller der Schaltkreis-Anordnung, beispielsweise der Infineon Technologies AG, und dem Applikations-Entwickler. Somit können auch die kryptographischen Funktionen unter Verwendung von Schlüssellängen von 128 Bit oder sogar 1024 Bit oder länger ohne weiteres in der Schaltkreis-Anordnung realisiert werden.
  • Mindestens einer der folgenden Speicher kann ein Chip-externer Speicher sein:
    • • der mindestens eine zweite Schlüssel-Speicher;
    • • der mindestens eine Zertifikat-Speicher;
    • • der mindestens eine erste Signatur-Speicher;
    • • der Applikation-Computerprogramm-Speicher;
    • • der zweite Boot-Speicher;
    • • der mindestens eine zweite Signatur-Speicher.
  • Mehrere der folgenden Speicher, beispielsweise alle der folgenden Speicher, können in einem gemeinsamen Chip-externen Speicher realisiert sein:
    • • der mindestens eine zweite Schlüssel-Speicher;
    • • der mindestens eine Zertifikat-Speicher;
    • • der mindestens eine erste Signatur-Speicher;
    • • der Applikation-Computerprogramm-Speicher;
    • • der zweite Boot-Speicher;
    • • der mindestens eine zweite Signatur-Speicher.
  • Die erste Teil-Boot-Routine kann eingerichtet sein derart, dass für den Fall, dass sie fehlschlägt, der Nutzer keinen Zugriff auf die Krypto-Einheit während des Betriebs der Schaltkreis-Anordnung erhält.
  • Ferner kann die zweite Teil-Routine eingerichtet sein derart, dass für den Fall, dass sie fehlschlägt, der Nutzer keinen Zugriff auf die Krypto-Einheit erhält.
  • Die Kommunikationseinrichtung kann eingerichtet sein als Mobilfunk-Kommunikationseinrichtung.
  • Bei dem Verfahren zum Hochfahren (Booten) einer Schaltkreis-Anordnung kann das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, ein Überprüfen eines Zertifikats eines öffentlichen Schlüssels des Nutzers aufweisen.
  • Ferner kann das Überprüfen aufweisen:
    • • Überprüfen eines zweiten öffentlichen Schlüssels;
    • • für den Fall, dass der zweite öffentliche Schlüssel nicht gültig ist, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus,
    • • für den Fall, dass der zweite öffentliche Schlüssel gültig ist, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  • Weiterhin kann das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindest eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, aufweisen:
    • • Bilden eines Hash-Werts über zumindest den zweiten öffentlichen Schlüssel;
    • • Auslesen eines gespeicherten Hash-Werts, welcher gebildet ist oder wurde über zumindest den zweiten öffentlichen Schlüssel,
    • • Vergleichen des gebildeten Hash-Werts mit dem ausgelesenen Hash-Wert;
    • • für den Fall, dass die beiden Hash-Werte nicht miteinander übereinstimmen, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus;
    • • für den Fall, dass die beiden Hash-Werte miteinander übereinstimmen, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  • Weiterhin kann das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindestens eine von der Schaltkreis-Anordnung bereitgestellt kryptographische Funktion zu nutzen, aufweisen:
    • • Überprüfen einer zweiten digitalen Signatur, welche gebildet ist über eine der folgenden Informationen:
    • • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels;
    • • den zweiten öffentlichen Schlüssel;
    • • die erste digitale Signatur;
    • • die zweite Teil-Boot-Routine;
    • • für den Fall, dass die zweite digitale Signatur nicht gültig ist, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus;
    • • für den Fall, dass die zweite digitale Signatur gültig ist, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung wird eine Schaltkreis-Anordnung bereitgestellt, die aufweist mindestens eine erste Recheneinheit zum Ausführen mindestens eines Computerprogramms, eine Zugriffskontroll-Schnittstelleneinheit zum Prüfen einer Zugriffsanforderung auf die erste Recheneinheit, eine für die erste Recheneinheit und die Zugriffskontroll-Schnittstelleneinheit gemeinsame Eingabe-/Ausgabeschnittstelle, und einen mit der Eingabe-/Ausgabeschnittstelle gekoppelten recheneinheits-externen Bus. Die Zugriffskontroll-Schnittstelleneinheit ist derart mit der Eingabe-/Ausgabeschnittstelle gekoppelt, dass die Zugriffsanforderung von ihr ermittelt wird. Ferner ist Zugriffskontroll-Schnittstelleneinheit derart eingerichtet, dass sie überprüft, ob die Zugriffsanforderung einem vorgegebenen Zugriffskriterium genügt und dass sie für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium genügt, der ersten Recheneinheit gestattet wird, die Zugriffsanforderung abzuarbeiten. Für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die Zugriffsanforderung abgelehnt wird oder eine vorgegebene Aktion durchgeführt wird.
  • Gemäß einer Ausgestaltung der Erfindung ist die Zugriffskontroll-Schnittstelleneinheit als eine zweite Recheneinheit eingerichtet.
  • Ferner kann die erste Recheneinheit als programmierbarer Prozessor eingerichtet sein.
  • Die erste Recheneinheit kann in einem ersten Chip enthalten sein.
  • Gemäß einer anderen Ausgestaltung der Erfindung ist die Zugriffskontroll-Schnittstelleneinheit als programmierbarer Prozessor eingerichtet.
  • Weiterhin kann die Zugriffskontroll-Schnittstelleneinheit in einem zweiten Chip enthalten sein.
  • Die Zugriffskontroll-Schnittstelleneinheit kann in einem Sicherheits-Controller des zweiten Chips realisiert sein.
  • Gemäß einem Ausführungsbeispiel der Erfindung sind der erste Chip und der zweite Chip in einem gemeinsamen Gehäuse untergebracht, wobei die Eingabe-/Ausgabeschnittstelle eine Gehäuse-Schnittstelle ist.
  • Gemäß einem Ausführungsbeispiel der Erfindung weist die Schaltkreis-Anordnung einen recheneinheits-internen Bus auf, wobei die erste Recheneinheit und die Zugriffskontroll-Schnittstelleneinheit mit dem recheneinheits-internen Bus gekoppelt sind.
  • Der recheneinheits-interne Bus kann gemäß dem JTAG-Standard eingerichtet sein. Allgemein kann in einer alternativen Ausgestaltung der Erfindung jeder beliebige andere Interprozessor-Bus als recheneinheits-interner Bus verwendet werden.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung weist die Schaltkreis-Anordnung mindestens eine Schaltkreis-Komponente auf, wobei die Zugriffskontroll-Schnittstelleneinheit derart eingerichtet ist, dass für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die mindestens eine Schaltkreis-Komponente deaktiviert wird.
  • Ferner kann die Zugriffskontroll-Schnittstelleneinheit derart eingerichtet sein, dass für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die Funktionalität der Schaltkreis-Komponente reduziert wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist die Zugriffskontroll-Schnittstelleneinheit eingerichtet zum Durchführen mindestens einer kryptographischen Funktion.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist die Zugriffskontroll-Schnittstelleneinheit in der ersten Recheneinheit integriert.
  • 1 zeigt ein Mobilfunk-Kommunikationsendgerät 100 gemäß einem Ausführungsbeispiel der Erfindung.
  • Das Mobilfunk-Kommunikationsendgerät 100 weist eine in einem Gehäuse 101 eingebrachte oder an dieses angebrachte Antenne 102 auf sowie einen Lautsprecher 103 und ein Mikrofon 104. Ferner sind bei dem Mobilfunk-Kommunikationsendgerät 100 ein Display 105 vorgesehen sowie ein Tastenfeld 106 mit einer Vielzahl von Tasten wie beispielsweise Funktionstasten 107, 108, 109, 110 wie beispielsweise eine Einschalt-Taste 107, eine Ausschalt-Taste 108 sowie eine Kommunikationsverbindungs-Abbruch-Taste 109 oder eine Kommunikationsverbindungs-Aufbau-Taste 110. Weiterhin sind in dem Tastenfeld 106 eine Vielzahl von Nummerntasten 111 vorgesehen, welche jeweils eine Ziffer von 0, 1, ..., 9 repräsentieren. Weiterhin sind zwei Symboltasten vorgesehen, eine „#”-Taste 112 sowie eine „*”-Taste 113.
  • Das Mobilfunk-Kommunikationsendgerät 100 ist gemäß diesem Ausführungsbeispiel der Erfindung gemäß einem Mobilfunk-Kommunikationsstandard der dritten Generation, beispielsweise gemäß UMTS (Universal Mobile Telecommunications System), alternativ gemäß GPRS (General Packet Radio Service), EDGE (Enhanced Data Rates for GSM Evolution), CDMA 2000 (Code Division Multiple Access 2000) oder FOMA (Freedom of Mobile Multimedia Access) ausgestaltet sein.
  • Alternativ kann das Mobilfunk-Kommunikationsendgerät 100 gemäß einem Mobilfunk-Kommunikationsstandard der zweiten Generation, beispielsweise gemäß GSM (Global System for Mobil Communications), ausgebildet sein. Ferner kann das Mobilfunk-Kommunikationsendgerät 100 gemäß einem Kommunikationsstandard einer nachfolgenden Mobilfunk-Generation eingerichtet sein.
  • Weiterhin weist das Mobilfunk-Kommunikationsendgerät die im Rahmen der Mobilfunk-Kommunikation üblichen elektronischen Bauelemente auf, wie beispielsweise einen Kommunikations-Prozessor-Chip 200, im Folgenden auch bezeichnet als Mobilfunk-Prozessor-Chip 200, wie er beispielhaft im Detail in 2 dargestellt ist.
  • Ein in 2 dargestelltes Kommunikations-Chip-System 250 weist den Mobilfunk-Prozessor-Chip 200 auf, gemäß diesem Ausführungsbeispiel der Erfindung einen S-Gold3TM-Chip der Firma Infineon Technologies AG, der ein Basisband-Controller ist zur Verwendung in einem GSM/UMTS-Mobilfunk- Kommunikationsendgerät 100 wie es gemäß dem Ausführungsbeispiel der Erfindung vorgesehen ist. Der Mobilfunk-Prozessor-Chip 200 ist innerhalb des Mobilfunk-Kommunikationsendgeräts 100 der zentrale Controller und enthält die wesentliche Intelligenz des Mobilfunk-Kommunikationsendgeräts 100. Da die Anzahl von sicherheitsrelevanten Applikationen wie beispielsweise Applikationen des Digitale-Rechte-Managements (Digital Rights Management, DRM) und anderen mobilen kommerziellen Anwendungs-Computerprogrammen, welche auf dem Mobilfunk-Kommunikationsendgerät 100 installiert sind, immer mehr ansteigt, wächst auch der Bedarf nach verbesserter Sicherheit.
  • 2 zeigt die Struktur des Mobilfunk-Controllers 200 im Detail. Der Mobilfunk-Controller 200 weist einen ARM 926 EJS-Prozessor 201 auf, der in dem Mobilfunk-Controller 200 den zentralen Mikroprozessor darstellt.
  • Ferner ist ein Hochfahr-Nur-Lese-Speicher 202 (Boot Read Only Memory, Boot-ROM), vorgesehen, in welchem mindestens eine erste Teil-Boot-Routine, anders ausgedrückt eine Teil-Routine zum Hochfahren des Mobilfunk-Kommunikationsendgerät 100 und des Prozessors 201, gespeichert ist. Zusätzlich zu dem Nur-Lese-Speicher für die erste Teil-Boot-Routine 202 ist ein flüchtiger lokaler Speicher 203 vorgesehen, der jedoch aus Kostengründen relativ klein gehalten ist. Der flüchtige On-Chip-Speicher 203 wird im Folgenden auch als lokale Speichereinheit (Local Memory Unit, LMU) 203 bezeichnet. Weiterhin ist eine Debug-Schnittstelle 204 vorgesehen, mittels welcher ein Debugging-Tool an den Mobilfunk-Controller 201 angeschlossen werden kann.
  • Mittels einer ebenfalls vorgesehenen seriellen Schnittstelle 205 kann der Prozessor 201 beispielsweise mit einem Personal Computer oder einer Workstation verbunden werden. Ferner sind eine Krypto-Einheit 206, im Folgenden auch als Krypto-Box bezeichnet, sowie eine System-Steuerungseinheit 207 vorgesehen sowie elektronische Schmelzsicherungen 208, welche im Folgenden noch näher erläutert werden. Ferner weist der Prozessor-Chip 200 eine externe Bus-Schnittstelle 209 auf. Der Prozessor 201, das Boot-ROM 202, die flüchtige lokale Speichereinheit 203, die Debug-Schnittstelle 204, die serielle Schnittstelle 205, die Krypto-Einheit 206 und die System-Steuerungseinheit 207 sowie die externe Bus-Schnittstelle 209 sind mittels eines Chip-internen Daten- und Adressbusses 210 miteinander gekoppelt.
  • Mittels der externen Bus-Schnittstelle 209 ist der Prozessor-Chip 200 mit einem nicht-flüchtigen Direktzugriffsspeicher (nicht-flüchtiges Random Access Memory, nicht-flüchtiges RAM) 211 verbunden sowie mit einem flüchtigen Direktzugriffsspeicher 212, beispielsweise mit einem Dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM).
  • Weiterhin sind in dem Kommunikations-Chip-System 250 noch ein Digitaler Signalprozessor 213, beispielsweise ein Digitaler Signalprozessor (DSP) TEAKLite vorgesehen sowie Mobilfunk-Kommunikations-Module 214, beispielsweise ein GSM-Kommunikationsmodul und/oder ein UMTS-Kommunikationsmodul, welche die Funktionen der physikalischen Schnittstelle der jeweiligen Mobilfunk-Kommunikationsstandards bereitstellen.
  • Nach Hochfahren des Prozessors 201 unter Verwendung der Boot-Routine, welche in dem Boot-ROM 202 gespeichert ist, werden Computerprogramme ausgeführt, anders ausgedrückt Computerprogramm-Code, welche in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert sind.
  • Wie oben beschrieben wurde, greift der Prozessor 201 mittels des Chip-internen Busses 210 und der externen Bus-Schnittstelle 209 auf den nicht-flüchtigen Direktzugriffsspeicher 211 zu. Der Prozessor 201 greift ferner mittels des Chip-internen Busses 110 und der externen Bus-Schnittstelle 209 auf den flüchtigen Direktzugriffsspeicher 212 zu.
  • Es ist in diesem Zusammenhang anzumerken, dass in einer alternativen Ausführungsform der Erfindung der nicht-flüchtige Direktzugriffspeicher 211 sowie alternativ oder zusätzlich der flüchtige Direktzugriffsspeicher 212 auch in dem Prozessor-Chip 200 integriert sein kann oder können.
  • Mittels der elektronischen Schmelzsicherungen 208 (Electronic Fuses, im Folgenden auch bezeichnet als E-Fuses) ist es gemäß diesen Ausführungsbeispielen der Erfindung vorgesehen, einzigartige kundenspezifische Information auf dem Prozessor-Chip 200 zu speichern. Jede elektronische Schmelzsicherung 208 stellt eine Einzel-Bit-Information dar, die gesetzt bzw. eingestellt werden kann auf einen Wert, welcher der gewünschten Information entspricht, nachdem der Prozessor-Chip 200 vollständig gefertigt wurde.
  • Üblicherweise wird ein speziell hierfür vorgesehenes Tool verwendet, um die Werte der elektronischen Schmelzsicherungen 208 zu setzen, beispielsweise um die jeweilige gewünschte elektronische Schmelzsicherung 208 durchzubrennen. Dies kann durchgeführt werden beispielsweise von dem Chip-Hersteller oder auch von dem Mobilfunk-Kommunikationsendgeräte-Hersteller, für welchen der Chip-Hersteller, anders ausgedrückt der Hersteller des Prozessor-Chips 200, Zulieferer ist. Ist eine elektronische Schmelzsicherung 208 einmal durchgebrannt, so kann der Wert dieser Schmelzsicherung nicht mehr verändert werden.
  • Die elektronischen Schmelzsicherungen 208 werden sowohl zur Speicherung von Informationen verwendet, welche von der Krypto-Einheit 206 verwendet wird als auch zur Speicherung von Informationen, welche von der System-Steuerungseinheit 207 verwendet wird.
  • Die System-Steuerungseinheit 207 ist eine zentrale Einheit, welche Logikelemente enthält zum Steuern der Funktionalität verschiedener Einheiten des Kommunikations-Prozessor-Systems 250.
  • Die elektronischen Schmelzsicherungen 208 werden verwendet, um das Prozessor-System 250 an Kundenwünsche anzupassen und zwar in nicht-flüchtiger und sicherer Weise, so dass diese kundenangepassten Prozessor-Systeme 250 in dem Mobilfunk-Kommunikationsendgerät 100 flexibel eingesetzt werden können. In den elektronischen Schmelzsicherungen 208 ist beispielsweise eine eindeutige Schmelzsicherungs-Identifikationsangabe (auch bezeichnet als Schmelzsicherungs-ID) gespeichert, welche jedes S-Gold3-Prozessor-System 250 eindeutig identifiziert. Diese Schmelzsicherungs-Identifikationsangabe wird gemäß diesem Ausführungsbeispiel der Erfindung von dem Chip-Hersteller, beispielsweise von der Infineon Technologies AG werksseitig eingebrannt.
  • Mittels der seriellen Schnittstelle 205 können Computerprogramme in das Mobilfunk-Kommunikationsendgerät, genauer, in den Prozessor-Chip 200, geladen werden.
  • Das Laden sowie auch gegebenenfalls das Ausführen der geladenen Computer-Programme wird mittels einer On-Chip-Sicherheitsarchitektur, beispielsweise realisiert mittels der Krypto-Einheit 206, on-chip kontrolliert und überwacht. Details hierzu werden im Folgenden noch näher erläutert.
  • Mittels der Debug-Schnittstelle 204 ist zusätzlich ein Zugriff auf den nicht-flüchtigen Direktzugriffsspeicher 211 möglich, anders ausgedrückt stellt die Debug-Schnittstelle 204 eine zweite Schnittstelle dar, welche Zugriffsrecht auf den nicht-flüchtigen Direktzugriffsspeicher 211 hat, wie im Folgenden ebenfalls noch näher erläutert wird.
  • Die im Folgenden beschriebene Sicherheits-Architektur des S-Gold3-Prozessorsystems 250 basiert gemäß einem Ausführungsbeispiel der Erfindung auf einem sicheren Booten, in dessen Rahmen starke Kryptographie verwendet wird. Auf diese Weise wird gewährleistet, dass, wenn das S-Gold3-Prozessorsystem 250 einmal hochgefahren ist, der verwendete Satz von Computerprogramm-Code, welcher ausgeführt wird, von einer vertrauenswürdigen legitimierten Quelle stammt, nicht unbefugt modifiziert wurde und auch dazu bestimmt war und ist, mit dem jeweiligen spezifischen, beispielsweise mittels der Schmelzsicherungs-Identifikationsangabe identifizierten S-Gold3-Prozessorsystem 250 ausgeführt zu werden.
  • Beispielsweise kann anschaulich der Prozessor 201 als ein vertrauenswürdiger Prozessor-Kern angesehen werden, auf dem nur Computerprogramm-Code ausgeführt wird, welcher von dem Mobilfunk-Kommunikationsendgerät-Hersteller zertifiziert wurde. Applikation-Computerprogramme, welche von dem Nutzer des Kommunikations-Endgerätes 100 geladen werden, sind zu zertifizieren. Der im Folgenden noch näher erläutert S-Gold3-Sicheres-Booten-Loader ermöglicht es dem Mobilfunk-Kommunikationsendgeräte-Hersteller sicherzustellen, dass der Programmspeicher nur mit autorisierten Computerprogrammen beschrieben werden kann, anders ausgedrückt, aktualisiert werden kann, und dass die Quelle und die Legitimierung eines jeden geladenen oder zu ladenden Applikation-Computerprogramms überprüft werden kann.
  • Das S-Gold3-Prozessorsystem 250 weist einen kryptographischen Block auf, wie oben beschrieben wurde, auch bezeichnet als Krypto-Einheit 206, mittels welchem es ermöglicht ist, sichere Systeme herzustellen. Mittels des S-Gold3-Prozessor-Systems 250 und dem im Folgenden beschriebenen zugehörigen Framework wird es einem Mobilfunk-Kommunikationsendgeräte-Hersteller ermöglicht, ein Mobilfunk-Kommunikationsendgerät 100 mit einem Prozessor-System 250 herzustellen und zu entwerfen, welches den kontrollierten Export unter den Dual-Use-Exportregularien erleichtert.
  • 3 zeigt die Struktur und den Aufbau der Krypto-Einheit 206 im Detail.
  • In der Krypto-Einheit 206 sind folgende Hardwarebeschleuniger-Komponenten zum Bereitstellen der folgenden kryptographischen Sicherheitsdienste vorgesehen:
    • • eine asymmetrische Verschlüsselungs-/Entschlüsselungseinheit 301,
    • • eine symmetrische Verschlüsselungs-/Entschlüsselungseinheit 302,
    • • eine Einweg-Hashfunktion-Einheit 303,
    • • eine Zufallszahlen-Erzeugungseinheit 304.
  • Ferner weist die Krypto-Einheit 206 eine Sicherheitsdienst-Auswähleinheit 305 auf sowie eine Krypto-Einheit-Steuerungseinheit 306 und eine Chip-interne Busschnittstelle 307.
  • Die Schnittstelle 307 stellt eine Schnittstelle zu dem Chip-internen Adress- und Datenbus 210 und damit die Kommunikationsverbindung zu dem Prozessor 201 bereit.
  • Die asymmetrische Verschlüsselungs-/Entschlüsselungseinheit 301 weist mindestens einen Hardwarebeschleuniger zum Bereitstellen eines asymmetrischen Verschlüsselungsverfahren und/oder Entschlüsselungsverfahren auf, gemäß diesem Ausführungsbeispiel der Erfindung einen Hardwarebeschleuniger zum Bereitstellen des RSA-Verfahrens. Ferner weist die asymmetrische Verschlüsselungs-/Entschlüsselungseinheit 301 gemäß diesem Ausführungsbeispiel der Erfindung eine RSA-Steuerungseinheit 308 auf zum Steuern des mittels des RSA-Hardwarebeschleunigers 309 bereitgestellten RSA-Verfahrens. Ferner ist in der asymmetrischen Verschlüsselungs-/Entschlüsselungseinheit 301 noch ein statischer Direktzugriffsspeicher (Static Random Access Memory, SRAM) 310 vorgesehen.
  • Die symmetrische Verschlüsselungs-/Entschlüsselungseinheit 302 weist einen oder mehrere symmetrische Verschlüsselungs-Hardwarebeschleuniger auf zum Bereitstellen eines oder mehrerer symmetrischer Verschlüsselungsverfahren, beispielsweise zum Bereitstellen des Data Encryption Standard-Verfahrens (DES), des Triple Data Encryption Standard-Verfahrens (TDES), des International Data Encryption Algorithm-Verfahrens (IDEA) oder auch des Advanced Encryption Standard-Verfahrens (AES), allgemein eines jeden symmetrischen Verschlüsselungsverfahrens und/oder Entschlüsselungsverfahrens, sei es beispielsweise Stromchiffre-basiert oder Blockchiffre-basiert.
  • Gemäß diesem Ausführungsbeispiel der Erfindung weist die symmetrische Verschlüsselungs-/Entschlüsselungseinheit 302 einen DES/TDES-Hardwarebeschleuniger 311 auf sowie einen AES-Hardwarebeschleuniger 312, welcher eingerichtet ist zur Verschlüsselung-/Entschlüsselung von Daten mittels eines Schlüssels von 128 Bit Länge. Ferner ist eine entsprechende Steuerungseinheit 313 vorgesehen und eine Schlüssel-Verwaltungseinheit 314. Die symmetrische Verschlüsselungs-/Entschlüsselungseinheit 302 ist mittels einer Schmelzsicherungs-Schnittstelle (nicht gezeigt) mit den jeweiligen elektronischen Schmelzsicherungen 208 gekoppelt, welche im Rahmen der symmetrischen Verschlüsselung bzw. Entschlüsselung von Daten verwendet werden.
  • Die Einweg-Hashfunktion-Einheit 303 ist eingerichtet zum Bereitstellen einer Einweg-Hashfunktion, welche auf die dieser Einheit zugeführten Daten angewendet wird, wobei von der Einweg-Hashfunktion-Einheit 303 ausgangsseitig der jeweilige über die der Einheit zugeführten Daten ermittelte Hash-Wert gemäß der jeweiligen Einweg-Hashfunktion bereitgestellt wird.
  • Gemäß diesem Ausführungsbeispiel der Erfindung sind folgende Einweg-Hashfunktion-Hardware-Beschleunigungseinheiten vorgesehen:
    • • eine MD5-Hardwarebeschleunigereinheit 315 sowie
    • • eine Secure Hash Algorithm 1 (SHA-1) Hardwarebeschleunigereinheit 316.
  • Die Zufallszahlen-Erzeugungseinheit 304 weist eine Zufallszahlen-Quelle 317 auf sowie eine Zufallszahlen-Erzeugungs-Algorithmus-Hardwarebeschleuniger-Komponente 318, welche unter Verwendung der von der Zufallszahlen-Quelle 317 bereitgestellten Information eine Zufallszahl erzeugt.
  • 4 zeigt in einem Ablaufdiagramm 400 ein Verfahren zum Hochfahren des Prozessor-Systems 250 gemäß einem Ausführungsbeispiel der Erfindung.
  • Nach Starten des Hochfahrens (Schritt 401) wird überprüft, ob der das Prozessor-System 250 hochfahrende Nutzer berechtigt ist, mindest eine von dem Prozessor-System 250 bereitgestellte kryptographische Funktion zu nutzen (Schritt 402). Ist der Nutzer nicht berechtigt, mindestens eine von dem Prozessor-System 250, genauer von der Krypto-Einheit 206, bereitgestellte kryptographische Funktion zu nutzen („Nein” in Prüfschritt 403) so wird das Prozessor-System 250, genauer der Prozessor 201, in einem ersten Betriebsmodus hochgefahren, in welchem der Nutzer keinen Zugriff hat auf die von der Krypto-Einheit, allgemein von der Schaltkreis-Anordnung, bereitgestellte mindestens eine kryptographische Funktion. Ist der Nutzer jedoch berechtigt, mindestens eine von der Schaltkreis-Anordnung, beispielsweise von der Krypto-Einheit 206 bereitgestellte kryptographische Funktion zu nutzen („Ja” in Prüfschritt 403), so wird die Schaltkreis-Anordnung, beispielsweise der Prozessor 201, in einem zweiten Betriebsmodus hochgefahren, in welchem der Nutzer Zugriff hat auf die mindestens eine von der Schaltkreis-Anordnung, beispielsweise von der Krypto-Einheit 206, bereitgestellte kryptographische Funktion.
  • Das Ausführen von einem Applikation-Computerprogramm, beispielsweise das Verarbeiten einer Zugriffsanforderung eines ausgeführten Applikation-Computerprogramms auf eine von dem Prozessor-System 250, allgemein auf eine von der Schaltkreis-Anordnung, bereitgestellte kryptographische Funktion ist in einem Ablaufdiagramm 500 in 5 dargestellt.
  • Nach Starten des Applikation-Computerprogramms, welches beispielsweise in dem nicht-flüchtigen Direktzugriffsspeicher 211 und in dem flüchtigen Direktzugriffsspeicher 312 gespeichert ist (Schritt 501), wird gegebenenfalls eine Zugriffsanforderung des Applikation-Computerprogramms empfangen, mit welcher auf eine von der Schaltkreis-Anordnung, beispielsweise von der Krypto-Einheit 206 bereitgestellte kryptographische Funktion zugegriffen werden soll (Schritt 502). Nach Empfangen einer solchen Zugriffsanforderung wird, beispielsweise von dem Prozessor 201, überprüft, ob das Applikation-Computerprogramm berechtigt ist, auf die gewünschte kryptographische Funktion, allgemein auf die Einheit, welche die mindestens eine kryptographische Funktion bereitstellt, beispielsweise auf die Krypto-Einheit 206, zuzugreifen (Schritt 503).
  • Ist das Applikation-Computerprogramm nicht berechtigt, auf die kryptographische Funktion zuzugreifen („Nein” in Prüfschritt 504), so wird die Zugriffsanforderung abgelehnt (Schritt 505). Ist jedoch das Applikation-Computerprogramm berechtigt, auf die kryptographische Funktion zuzugreifen („Ja” in Prüfschritt 504) so wird die jeweilige gewünschte kryptographische Funktion aufgerufen (Schritt 506).
  • Gemäß den Ausführungsbeispielen der Erfindung wird ein Rahmenwerk (Framework) bereitgestellt, mittels welchen es ermöglicht wird, das die kryptographischen Funktionen der Krypto-Einheit in dem Prozessor-System 250 nur von Mobilfunk-Kommunikationsendgeräte-Herstellern genutzt werden können, welche zugestimmt haben, einen Regelsatz zu befolgen, gemäß welchem sichergestellt wird, dass das endgültige Produkt, d. h. beispielsweise das Mobilfunk-Kommunikationsendgerät 100, den „Dual-Use”-Exportregularien beispielsweise des Wassenaar-Abkommens genügt.
  • Gemäß diesen Ausführungsbeispielen der Erfindung wird ein kryptographisches Zertifikat des Prozessor-System-Herstellers, beispielsweise ein kryptographisches Zertifikat der Infineon Technologies AG, welches in dem Boot-ROM 202 gespeichert ist, als Basis (auch bezeichnet als Wurzel) des Kontroll-Rahmenwerks verwendet.
  • Jeder Kunde, an welchen das Prozessor-System 250, beispielsweise das S-Gold3-Prozessor-System 250 ausgeliefert wird, besitzt ebenfalls ein Wurzel-Zertifikat, welches in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert ist, wobei das Wurzel-Zertifikat von einer vertrauenswürdigen Instanz, beispielsweise von dem Prozessor-System-Hersteller, digital unter Verwendung von dessen privaten kryptographischen Schlüssel, digital signiert wurde. Das Wurzel-Zertifikat des Kunden repräsentiert die Zustimmung zu dem jeweiligen Export-Abkommen und der Programmfluss beim Durchführen des in dem Boot-ROM 202 gespeicherten Boot-Programms verhält sich entsprechend.
  • Es sind gemäß diesen Ausführungsbeispielen der Erfindung folgende Optionen vorgesehen:
    • 1. Das Mobilfunk-Kommunikationsendgeräte-Herstellerunternehmen exportiert Software, d. h. Applikation-Computerprogramme, welche den „Dual-Use”-Exportregeln genügen. In diesem Fall ist es erforderlich, dass der Mobilfunk-Kommunikationsendgeräte-Hersteller eine Exportlizenz beantragt zum Nutzen dieser jeweiligen Software, d. h. des entsprechenden Applikation-Computerprogramms, innerhalb des Prozessor-Systems 250, beispielsweise innerhalb des S-Gold3-Prozessorsystems.
    • 2. Der Prozessor-System-Hersteller, beispielsweise die Infineon Technologies AG, liefert eine entsprechende Krypto-Einheit-Applikations- und Programmier-Schnittstellensoftware (im Folgenden auch bezeichnet als Crypto Box Application and Programming Interface, CAPI). Die CAPI steuert die Verwendung der Krypto-Einheit 206 bzw. auch den Zugriff auf die Krypto-Einheit 206.
  • In dem Fall 2 ist hinsichtlich des Mobilfunk-Kommunikationsendgeräte-Herstellers zu unterscheiden:
    • • der Mobilfunk-Kommunikationsendgeräte-Hersteller stimmt zu, Software, d. h. Applikation-Computerprogramme zu entwickeln und zu verwenden, welche eine (beispielsweise von dem Prozessor-System-Hersteller, beispielsweise von der Infineon Technologies AG, allgemein von einer vertrauenswürdigen Instanz), gelieferten Authentifikations-Routine aufzurufen, mittels welcher die CAPI überprüft wird, oder
    • • der in dem Boot-ROM 202 gespeichert Code ruft die Authentifikations-Routine beim Hochfahren des Prozessors 201 auf.
  • Im Folgenden wird das Wurzel-Zertifikat des Mobilfunk-Kommunikationsherstellers als GOLD Public Key (GPuK) bezeichnet, da dieses den öffentlichen Schlüssel darstellt, welcher den Inhalt des nicht-flüchtigen Programmspeichers 211 an die Prozessor-System-Komponenten bindet.
  • Die Prozessor-System-Komponenten des Prozessor-Systems 250, welche kontrolliert exportiert werden, werden derart „gefused”, dass die Krypto-Einheit 206 nicht zugänglich ist, anders ausgedrückt, dass auf die Krypto-Einheit 206 und die mittels dieser bereitgestellten kryptographischen Funktionen nicht zugegriffen werden kann. Die Krypto-Einheit 206 kann nur zugänglich gemacht werden mittels einer zusätzlichen extra Fuse-Operation.
  • Diese Fuse-Operation führt dazu, dass das Prozessor-System 250, beispielsweise S-Gold3, nur unter Verwendung des Infineon-Wurzel-Zertifikats, welches in dem Boot-ROM 202 gespeichert ist, hochfährt. Dies bedeutet, dass nur derjenige Kunde, anders ausgedrückt Nutzer, Zugriff auf die Krypto-Einheit-Hardware hat, welcher das System mit einem gültigen signierten Zertifikat hochfährt, welches in dem nichtflüchtigen Direktzugriffsspeicher 211 gespeichert ist.
  • Auf die Krypto-Einheit 205 kann gemäß einem Ausführungsbeispiel der Erfindung nur mittels einer Krypto-Applikations- und Programmier-Schnittstelle (Crypto Applikation and Programming Interface, CAPI) 215 zugegriffen werden. Auf die Krypto-Funktionalität, welche von der Krypto-Einheit 206 wie oben dargelegt bereitgestellt wird, kann nicht direkt von einer Applikation, anders ausgedrückt, von einem Applikation-Computerprogramm, zugegriffen werden. Applikation-Computerprogramme greifen auf die Allgemeinzweck-Schnittstelle und mittels dieser auf einen Krypto-Einheit-Software-Treiber mittels eines Trust-Moduls zu. Das Trust-Modul überprüft, ob das Applikation-Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die vollständige Nutzung der von der Krypto-Einheit 206 bereitgestellten kryptographischen Funktionen bzw. kryptographischen Dienste erlaubt. Die vollständige Nutzung der Funktionen der Krypto-Einheit 206 enthalten die Nutzung asymmetrischer Operationen mit Schlüssellängen der verwendeten Schlüssel von größer als 512 Bit oder beispielsweise symmetrische Verschlüsselungs-Operationen unter Verwendung von Schlüsseln mit einer Schlüssellänge von mehr als 56 Bit.
  • Wenn ein Applikation-Computerprogramm das erste Mal eine Funktion der Krypto-Einheit 206 nutzen möchte und somit eine Zugriffsanforderung an die Krypto-Einheit 206 stellt, so ist es vorgesehen, dass das Applikation-Computerprogramm bei dem Trust-Modul anfordert, dass dieses das kryptographische Zertifikat des Applikation-Computerprogramms importiert. Das Trust-Modul überprüft die Gültigkeit des Zertifikats des Applikation-Computerprogramms. Es dürfen solche Zertifikate nur an Applikation-Computerprogramme bzw. deren Hersteller oder Entwickler vergeben werden, welche sich innerhalb der Exportregel bewegen, welche gemäß den „Dual-Use”-Exportregeln definiert sind und nur solchen Applikation-Computerprogrammen darf Zugriff auf die volle Funktionalität der Krypto-Einheit 206 gegeben werden. Der Mobilfunk-Kommunikationsendgeräte-Hersteller signiert digital diese kryptographischen Zertifikate, welche im Folgenden auch als Secure Application Certificates (SecAppCer) mit einem der CAPI-zugeordneten privaten Schlüssel des Mobilfunk-Kommunikationsendgeräte-Herstellers (im Folgenden auch bezeichnet als Equipment Manufacturer, EM), welcher der CAPI für dieses jeweilige Modell des Mobilfunk-Kommunikationsendgeräts 100 zugeordnet ist. Dieser private Schlüssel wird im Folgenden auch als EMCAPIPrK bezeichnet und wird nicht in dem Mobilfunk-Kommunikationsendgerät 100 gespeichert. Der zu diesem privaten Schlüssel EMCAPIPrK zugehörige öffentliche Schlüssel EMCAPIPuK wird in dem Mobilfunk-Kommunikationsendgerät 100 gespeichert zum Verifizieren der SecAppCerts. Der private Schlüssel EMCAPIPrK und der zugehörige öffentliche Schlüssel EMCAPIPuK bilden ein gemeinsames asymmetrisches Schlüsselpaar.
  • Wie im Folgenden noch näher erläutert wird, wird der öffentliche Schlüssel EMCAPIPuK beim Hochfahren des Prozessor-Systems 250 auf dessen Gültigkeit überprüft. Entsprechend ist die Boot-Routine, welche in dem Boot-ROM 202 gespeichert ist, eingerichtet. Der öffentliche Schlüssel EMCAPIPuK ist entweder der kundenspezifische öffentliche Schlüssel des Mobilfunk-Kommunikationsendgeräte-Herstellers, im Folgenden auch bezeichnet als GPuK, alternativ ist er ein Schlüssel, welcher sich in einer vertrauenswürdigen Kette befindet, geschützt durch eine digitale Signatur unter Verwendung des privaten Schlüssels des Mobilfunk-Kommunikationsendgeräte-Herstellers, welcher gemeinsam mit dem öffentlichen Schlüssel des Mobilfunk-Kommunikationsendgeräte-Hersteller GPuk ein asymmetrisches Schlüsselpaar bildet, oder ist mittels des öffentlichen Schlüssels des Mobilfunk-Kommunikationsendgeräte-Herstellers GPuK geschützt.
  • Wird ein kryptographisches Zertifikat eines Applikation-Computerprogramms von dem Trust-Modul importiert, so erfolgt dies auf den Empfang eines Aufrufs der Schnittstelle mittels eines Applikation-Computerprogramms-Aufrufs „Import Certificates()” hin. Im Rahmen dieses Aufrufs übergibt das Applikation-Computerprogramm ein X.509v3-Zertifikat (beispielsweise das SecAppCert) an das Trust-Modul, wobei das Zertifikat SecAppCert unter Verwendung des privaten, anders ausgedrückt des geheimen Schlüssels des Mobilfunk-Kommunikationsendgeräte-Herstellers EMCAPIPrK signiert wurde. Das Trust-Modul ermittelt aus dem Aufruf das Zertifikat und verifiziert die Signatur des öffentlichen Schlüssels unter Verwendung des in dem Boot-ROM 202 gespeicherten öffentlichen Schlüssels des Mobilfunk-Kommunikationsendgeräte-Herstellers EMCAPIPuK.
  • Ist das überprüfte und zu verifizierende Zertifikat gültig, so wird das Zertifikat in den nicht-flüchtigen Direktzugriffsspeicher 211 des Mobilfunk-Kommunikationsendgeräts 100 gemeinsam mit diesem zugeordneten Metadaten, welche von dem Trust-Modul bereitgestellt werden, gespeichert und eine entsprechende Handler-Routine wird an das Applikation-Computerprogramm zurückgegeben. Die Handler-Routine kann von dem Applikation-Computerprogramm für alle zukünftigen Operationen genutzt werden, in welchen das spezifische Zertifikat enthalten ist bzw. benötigt wird.
  • Ist das Zertifikat nicht gültig, so wird eine entsprechende Fehlermeldung an das Applikation-Computerprogramm zurückgegeben, anders ausgedrückt, an dieses übermittelt.
  • Der Treiber der Krypto-Einheit 216 und das Trust-Modul werden zur Sicherung ihrer Integrität beim Hochfahren des Prozessor-Systems 250 authentifiziert. Dies erfolgt unter Verwendung eines Zertifikates, welches entweder in dem Boot-ROM 202 gespeichert ist oder unter Verwendung eines Zertifikats, welches in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert ist und welches beim Hochfahren unter Verwendung eines in dem Boot-ROM 202 gespeicherten Zertifikats schon authentifiziert wurde.
  • Das Mobilfunk-Kommunikationsendgerät 100 verwendet den Krypto-Einheit-Treiber und das Trust-Modul oder ein identisches Abbild dieser Module für jeden erfolgten Zugriff oder für jede Zugriffsanforderung auf die kryptographischen Funktionen der Krypto-Einheit 206.
  • Das im Folgenden beschriebene sichere Hochfahren des Prozessor-Systems 250 basiert gemäß einem Ausführungsbeispiel der Erfindung auf dem Prinzip, dass ein in dem Programmspeicher, anders ausgedrückt in dem nicht-flüchtigen Direktzugriffsspeicher 211, gespeicherter öffentlicher Schlüssel an das Prozessor-System 250, beispielsweise an das S-Gold3-Prozessor-System gebunden ist. Dieser öffentliche Schlüssel, beispielsweise der öffentliche Schlüssel GPuK des Mobilfunk-Kommunikationsendgeräte-Herstellers, ist gemäß einem Ausführungsbeispiel der Erfindung in einem Bereich des nicht mobilen nicht-flüchtigen Direktzugriffsspeichers 211 gespeichert, welcher auch als Primary Signed Image (PSI) bezeichnet wird und sich in dem Block „0” des Programmspeichers 211 befindet.
  • Der öffentliche Schlüssel GPuK des Mobilfunk-Kommunikationsendgeräte-Herstellers wird von dem Boot-ROM-Code verwendet zum Überprüfen des Inhalts des Blocks „0” des PSI daraufhin, ob der Inhalt korrekt ist und nicht manipuliert wurde. Der PSI-Bereich 601 des nicht-flüchtigen Direktzugriffsspeichers 211 (vgl. 6) enthält einen Hash-Wert (gemäß diesem Ausführungsbeispiel gebildet unter Verwendung des SHA-1-Verfahrens), welcher gebildet wurde über den restlichen Bereich des PSI-Bereichs 601. Der Hash-Wert ist mit zu dem öffentlichen Schlüssel GPuK des Mobilfunk-Kommunikationsendgeräte-Herstellers korrespondierenden privaten Schlüssel GPrK gemäß dem RSA-Verfahren digital signiert. Der digital signierte Hash-Wert 602 kann verwendet werden zum Überprüfen der Integrität des gesamten Boot-Blocks, anders ausgedrückt des gesamten PSI-Bereichs 601.
  • Das allgemeine Verfahren zum Überprüfen des PSI-Bereichs 601 wird ferner verwendet von der Secure Flash-Ladeeinheit (Secure Flash Loader), welche in dem Boot-ROM 202 gespeichert ist. Die Secure Flash-Ladeeinheit steuert das Aktualisieren des nicht-flüchtigen Direktzugriffsspeichers 211, im Folgenden auch als Flash-Speicher bezeichnet. Der neue Code, anders ausgedrückt das neue Computerprogramm, wird in die lokale Speichereinheit 203 des S-Gold3-Prozessor-Systems 250 mittels der seriellen Schnittstelle 205, beispielsweise einer USB-Schnittstelle oder einer UART-Schnittstelle, geladen. Die Flash-Ladeeinheit überprüft die Gültigkeit des heruntergeladenen Computerprogramms, welches in der lokalen Speichereinheit 203 gespeichert ist. Wenn das heruntergeladene Applikation-Computerprogramm, anders ausgedrückt der heruntergeladene Computerprogramm-Code nicht von einer korrekten Herkunft, d. h. nicht von einem zertifizierten Hersteller bzw. Entwickler, stammt oder wenn der heruntergeladene Computerprogramm-Code unbefugt manipuliert wurde, dann wird das Applikation-Computerprogramm, welches in der lokalen Speichereinheit 203 gespeichert ist, nicht durchgeführt. In diesem Fall wird das in der lokalen Speichereinheit 203 zwischengespeicherte Applikation-Computerprogramm nicht in den nicht-flüchtigen Direktzugriffsspeicher 211 geschrieben, anders ausgedrückt, in diesem Fall wird der nicht-flüchtige Direktzugriffsspeicher 211 nicht aktualisiert.
  • Gemäß diesem Ausführungsbeispiel der Erfindung wird der Sicherheits-Ablauf gemäß dem Prozessor-System 250 eingestellt unter Verwendung der elektronischen Schmelzsicherungen 208. Es sind zwei elektronische Schmelzsicherungen 208 vorgesehen, welche es ermöglichen, einen nicht-sicheren Ablauf einzustellen oder einen sicheren Ablauf.
  • Die sicherheitsrelevante Speicherstruktur ist in 6 dargestellt. Der kryptographische Validierungs-Ablauf ist in einem Ablaufdiagramm 700 in 7 dargestellt.
  • Gemäß dem sicheren Hochfahren des Prozessor-Systems 250 wird gemäß diesen Ausführungsbeispielen der Erfindung immer eine kryptographische Überprüfung des Blocks „0” (d. h. des ersten Blocks des Computer-Programm-Codes des nicht-flüchtigen Direktzugriffsspeichers 211) durchgeführt, bevor der Computerprogramm-Code, welcher in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert ist, ausgeführt wird. Das Ziel hierbei ist, die Quelle des in dem nicht-flüchtigen Direktzugriffsspeichers 211 gespeicherten Computerprogramm-Codes zu überprüfen und sicherzustellen, dass sie nicht illegalerweise geändert wurde, seitdem das Applikation-Computerprogramm in dem nicht-flüchtigen Direktzugriffsspeicher 211 ursprünglich gespeichert wurde. Dies wird durchgeführt unter Verwendung der im Folgenden noch näher erläuterten kryptographischen Technologien und Verfahren.
  • Wie in 6 dargestellt ist, sind in dem Boot-ROM 202 unter anderem folgende Informationen gespeichert:
    • • der öffentliche Schlüssel des Prozessor-System-Herstellers, beispielsweise der öffentliche Schlüssel 603 der Infineon Technologies AG, im Folgenden bezeichnet als GROMPuK 603,
    • • eine ROM-Krypto-Bibliothek 604, in welcher ein RSA-Verfahren sowie ein SHA-1-Einweg-Hashfunktion-Verfahren gespeichert sind; weiterhin sind Hardware-basierte kundenspezifische Informationen 605 gespeichert, beispielsweise in Form von Sicherheits-Seriennummern, im Folgenden auch bezeichnet als SecVersX (beispielsweise m·32 Bit-Nummern), und SecVersY (beispielsweise n·32 Bit-Nummern).
  • Ferner ist in dem Boot-ROM 202 die sichere Boot-Routine 606 gespeichert.
  • In dem PSI 601 des nicht-flüchtigen Direktzugriffsspeichers 211 sind folgende Daten gespeichert:
    • • ein Kopffeld (Header) 607 des öffentlichen Schlüssels GPuK des Kunden, wobei das Kopffeld eine Versionsnummer des Zertifikats enthält sowie die korrekte Identifikationsangabe des Prozessor-Chips 200 sowie die Sicherheits-Seriennummer SecVersX und den Kontrolltyp der CAPI;
    • • der öffentliche Schlüssel GPuK 608 des Kunden;
    • • ein digitaler Signaturwert 609, signiert unter Verwendung des geheimen Schlüssels GROMPrK des Chip-Herstellers, des Hash-Werts, welcher gebildet wurde über das Kopffeld 607 des öffentlichen Schlüssels GPuK des Kunden und den öffentlichen Schlüssel GPuk des Kunden, wobei der Hash-Wert verschlüsselt ist mit dem privaten Schlüssel GROMPrK des Chip-Herstellers;
    • • eine Second-Level-Boot-Routine 610;
    • • eine zusätzliche Boot-Routine 611, welche unter anderem eine Überprüfung seitens der Krypto-Einheit 206 enthält;
    • • sowie den Hash-Wert 602, welcher über den PSI-Bereich 601 gebildet wurde unter Verwendung des privaten Kundenschlüssels GPrK.
  • Ferner sind in dem nicht-flüchtigen Direktzugriffsspeicher 611 weitere Bootsequenzen gespeichert sowie Routinen zum sicheren Downloaden (Herunterladen) von Daten (in 6 symbolisch dargestellt mittels eines Blocks 612).
  • Im Folgenden werden einige kryptographische Funktionen und deren Grundlagen im Rahmen der Ausführungsbeispiele der Erfindung erläutert.
  • Zunächst wird eine kryptographische Einweg-Hash-Funktion beschrieben. Eine kryptographische Hash-Funktion ist eine kryptographische Einweg-Funktion, mittels welcher es ermöglicht wird, einen Fingerabdruck eines Datenstücks zu erzeugen. Wenn der Computerprogramm-Code, welcher in dem Block „0” des PSI-Bereichs 601 des nicht-flüchtigen Direktzugriffsspeichers 211 gespeichert ist, erzeugt wurde, wird der Hash-Wert des gespeicherten Computerprogramm-Codes erzeugt und in dem Block „0” des nicht-flüchtigen Direktzugriffsspeichers 611 gespeichert. Zum Erzeugen des Fingerabdrucks wird gemäß diesem Ausführungsbeispiel der Erfindung der Hash-Algorithmus SHA-1 verwendet. SHA-1 ist ein üblicher Algorithmus, welcher jedoch für sich genommen nicht ausreicht, um den gewünschten Grad an Sicherheit zu gewährleisten. Der gewünschte Grad an Sicherheit wird erreicht, indem der erzeugte Hash-Wert mit einem RSA-privaten Schlüssel digital signiert wird.
  • Im Folgenden wird dieses Konzept näher erläutert.
  • Der Block „0” des nicht-flüchtigen Direktzugriffsspeichers 211 enthält, wie oben beschrieben wurde, den öffentlichen Schlüssel des Kunden, im Folgenden auch bezeichnet als Gold Public Key GPuK. Der GPuK dient dazu, den Block „0” des nicht-flüchtigen Direktzugriffsspeichers 211 an den Prozessor-Chip 200 koppeln, beispielsweise an den S-Gold-Chip. Der öffentliche Schlüssel GPuK gehört zu einem asymmetrischen Schlüsselpaar. Der korrespondierende zugehörige private, anders ausgedrückt geheime, Schlüssel dieses Schlüsselpaars wird im Folgenden auch als Gold Private Key GPrK, bezeichnet. Der öffentliche Schlüssel GPuk und der private Schlüssel GPrK bilden gemeinsam ein asymmetrisches Kunden-Schlüsselpaar.
  • Asymmetrische Schlüsselpaare weisen die folgende Eigenschaft auf: Wenn ein Datenstück unter Verwendung eines Schlüssels des Schlüsselpaares verschlüsselt wird, dann kann es nur von dem anderen Schlüssel des Schlüsselpaares entschlüsselt werden. Dies bedeutet, dass für den Fall, dass ein Schlüssel ein geheimer Schlüssel ist (in diesem Fall GPrK), so kann dieser geheime Schlüssel verwendet werden, um ein Datenstück zu „Signieren” und der zugehörige öffentliche Schlüssel (in diesem Fall GPuK) kann verwendet werden zum Entschlüsseln des Datenstücks und damit zum Beweisen der Herkunft des Datenstücks. GPrK wird verwendet zum Signieren des Hash-Werts des Blocks „0” des nicht-flüchtigen Direktzugriffsspeichers 211 und der öffentliche Schlüssel GPuK wird verwendet zum Entschlüsseln des „signierten” Hash-Werts des Blocks „0” des nicht-flüchtigen Direktzugriffsspeichers 211 beim Hochfahren des Prozessor-Systems 250.
  • Der Signier-Prozess findet in einer sicheren Umgebung während der Herstellung der Plattform bzw. des Prozessor-Systems 250 statt. Weiterhin ist der private Schlüssel GPrK in der Mobilfunk-Kommunikationsendgeräte-Plattform nicht verfügbar.
  • Der Boot-Speicher 202 enthält einen Boot-Computerprogramm-Code, welcher bei dessen Ausführung die folgenden Routinen aufweist:
    • 1. Bilden eines Hash-Werts des Blocks „0” des nicht-flüchtigen Direktzugriffspeichers 211;
    • 2. Entschlüsseln (oder Verifizieren) des gespeicherten signierten Hash-Werts des Blocks „0” unter Verwendung des öffentlichen Schlüssels GPuK;
    • 3. Überprüfen, ob die beiden Resultate miteinander übereinstimmen.
  • Wie oben beschrieben wurde sind die Routinen zum Durchführen des SHA-1-Verfahrens und die RSA-Verifizierungs-Routine in der Krypto-Bibliothek 604 als Teil des Boot-ROM-Computerprogramm-Codes in dem ROM-Speicher 202 gespeichert.
  • Der sichere Boot-Prozess, wie er oben beschrieben wurde, funktioniert, wenn ein Mechanismus zum Binden des öffentlichen Schlüssel GPuK 608 des Kunden, welcher in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert ist, an den Prozessor-Chip 200, beispielsweise den Gold-Chip 200, verfügbar ist.
  • Im Folgenden wird das Bindungs-Konzept des öffentlichen Schlüssels GPuK 608 des Kunden an den Prozessor-Chip 200 näher erläutert.
  • Wie oben beschrieben wurde ist der öffentliche Schlüssel GPuK 608 in dem Block „0” des nicht-flüchtigen Direktzugriffsspeichers 211 gespeichert, wobei er jedoch als Teil eines kryptographischen Zertifikats gespeichert ist. Dieses kryptographische Zertifikat ist ferner gespeichert gemeinsam mit einem digital signierten Hash-Wert des Zertifikats 609. Der Hash-Wert ist signiert unter Verwendung eines asymmetrischen privaten Schlüssels, auch bezeichnet als GROMPrK. Der zugehörige öffentliche Schlüssel GROMPuK ist in dem Boot-ROM-Speicher 202 gespeichert.
  • Bevor der öffentliche Schlüssel GPuK 608 verwendet wird, wird dessen Zertifikat mittels des Boot-ROM-Computerprogramm-Codes gehashed, d. h. es wird über diesen ein Hash-Wert gebildet. Ferner wird der signierte Hash-Wert, welcher über das GPuK-Zertifikat gebildet wurde, unter Verwendung des Boot-ROM-Computerprogramm-Codes verifiziert. Die beiden Resultate werden miteinander verglichen. Auf diese Weise wird sichergestellt, dass das GPuK-Zertifikat nicht verändert wurde und von einer legalen Herkunft stammt. Auf diese Weise wird der öffentliche Schlüssel GPuK an den Prozessor-Chip 200 gebunden. Der private Schlüssel GROMPrK wird in einem Trust Center zum sicheren Signieren gespeichert. Es wird in diesem Ausführungsbeispiel der Erfindung ohne Einschränkung der Allgemeingültigkeit davon ausgegangen, dass der Chip-Hersteller eine sichere Umgebung bereitstellt und einen Prozess definiert, um die von den Trust Center benötigten Operationen bereitzustellen.
  • Das GPuK-Zertifikat enthält zusätzliche Informationen in seinem Kopffeld, um die Sicherheit weiter zu erhöhen. Das Kopffeld enthält einige allgemeine Informationen, wie beispielsweise die Schlüssellänge und den Exponenten, wobei diese allgemeinen Informationen RSA-spezifisch sind.
  • Ferner enthält das GPuK-Zertifikat die Prozessor Chip-Identifikationsangabe, um zu verhindern, dass ein öffentlicher Schlüssel, welcher von einem Basisband-Controller einer Controller-Familie (beispielsweise einer Gold-Familie) verwendet wird auf einem anderen Basisband-Controller derselben Controller-Familie.
  • Mittels des Boot-ROM-Computerprogramm-Codes wird überprüft, ob die Identifikationsangabe, welche in dem GPuK-Zertifikat enthalten ist, übereinstimmt mit dem Wert, welcher in dem Prozessor-Chip 200 gespeichert ist. Da das GPuK-Zertifikat digital signiert ist und daher an diese spezielle Prozessor-Chip-Serie, beispielsweise an diese spezielle GOLD-Serie gebunden ist, kann der in dem Kopffeld des GPuK-Zertifikats enthaltene Chip-ID-Wert nicht illegal verändert werden.
  • SecVersX ist ein Wert, der aus vier Werten ausgewählt werden kann, welche in dem ROM 202 gespeichert sind. Der tatsächlich ausgewählte Wert wird bestimmt durch das Einstellen von zwei elektronischen Schmelzsicherungs-Bits der elektronischen Schmelzsicherungen 208. Mittels des Boot-ROM-Computerprogramm-Codes wird unter Verwendung der eingestellten Werte der zwei Schmelzsicherungs-Bits der in dem ROM-Speicher 202 gespeichert SecVersX-Wert ausgewählt und dann verglichen mit dem in dem GPuK-Zertifikat gespeicherten Wert. Die Hauptfunktion von SecVersX ist es, zwischen einem Prototyp/Test-Modus und einem Produktions-Modus zu unterscheiden und damit zwischen einem Prototyp/Test-Schlüssel und den GPuK-Schlüssel. Test-Schlüssel funktionieren nicht bei den fertiggestellten Prozessor-Chips 200, welche an den Mobilfunk-Kommunikationsendgeräte-Hersteller geliefert werden, da unterschiedliche Schmelzsicherungs-Einstellungen verwendet werden für den Prototyp/Test-Modus und den Produkt-Modus.
  • SecVersY ist ebenfalls ein Wert, welcher aus einer Mehrzahl von vordefinierten und in dem ROM-Speicher 202 gespeicherten Werten ausgewählt wird und ist derselbe Wert für alle Prozessor-Chips desselben Typs, beispielsweise für alle S-Gold3-Chips. Der tatsächlich ausgewählte Wert wird bestimmt mittels der Einstellung der seitens des Kunden ausgewählten Einstellungen der elektrischen Schmelzsicherungen, welche hierfür vorgesehen sind. Der Boot-ROM-Computerprogramm-Code verwendet die kundenspezifischen Fuse-Auswahl-Einstellung zum Auswählen des in dem ROM-Speicher 202 gespeichert SecVersY-Werts und vergleicht diesen mit dem in dem GPuK-Zertifikat enthaltenen Wert. Eine Hauptfunktion der SecVersY-Nummer ist es, zwischen unterschiedlichen Kunden unterscheiden zu können. Jedem Kunden wird eine unterschiedliche SerVersY-Nummer zugeordnet. Jeder der jeweiligen Mobilfunk- Kommunikationsendgeräte-Hersteller muss seine ihm zugeordnete SecVersY-Nummer auswählen und diese korrespondiert zu der zugeordneten Fuse-Option in dem Prozessor-Chip 200. Die Schmelzsicherungs-Einstellung muss übereinstimmen mit dem SecVersY-Wert in dem GPuK-Zertifikat. Dies wird überprüft mittels des Boot-ROM-Computerprogramm-Codes.
  • Der öffentliche Schlüssel GPuK eines Mobilfunk-Kommunikationsendgeräte-Herstellers A funktioniert nicht bei einem Mobilfunk-Kommunikationsendgerät eines anderen Mobilfunk-Kommunikationsendgeräte-Hersteller B, da die Schmelzsicherungs-Einstellungen unkorrekt wären. Weiterhin kann der Mobilfunk-Kommunikationsendgeräte-Hersteller B nicht das Zertifikat des Mobilfunk-Kommunikationsendgeräte-Herstellers A verwenden, da diese nicht den korrespondierenden privaten Schlüssel besitzt.
  • Ein Kunde, dessen öffentlicher Schlüssel GPuK kompromittiert wurde, kann nicht einfach eine neue SecVersY-Nummer wählen, ohne dies mit dem Trust-Center abzustimmen, da das Trust-Center jedes neue Zertifikat digital signieren muss.
  • Der Signier-Prozess des öffentlichen Schlüssels GPuK, welcher in dem Trust-Center stattfindet, stellt sicher, dass die korrekte Chip-Identifikationsangabe, die korrekte SecVersX-Nummer und die korrekte SecVersY-Nummer in dem Zertifikat enthalten sind, bevor das Trust-Center das Zertifikat mit dem privaten Schlüssel GROMPrK digital signiert. In dem Signier-Prozess wird ferner überprüft, ob das Zertifikat den genehmigten Kontrolltyp CAPI für den jeweiligen Kunden enthält.
  • 7 zeigt in einem Ablaufdiagramm 700 die Verfahrensschritte im Rahmen des sicheren Hochfahrens des Prozessor-Systems 250 gemäß einem Ausführungsbeispiel der Erfindung im Detail.
  • Nach einem initialen Boot-Vorgang (Schritt 701), in welchem die beispielsweise externe Bus-Schnittstelle zu dem nicht-flüchtigen Direktzugriffspeicher 211 sowie dem flüchtigen Direktzugriffspeicher 212 initialisiert wurde, wird in einem nachfolgenden Schritt 702 das GPuK-Zertifikat aus dem nicht-flüchtigen Direktzugriffspeicher 211 ausgelesen, wobei das GPuK-Zertifikat gemäß einem Ausführungsbeispiel der Erfindung folgendes enthält:
    • • die Prozessor-Chip-Identifikationsangabe (beispielsweise den GOLD-Chip-ID-Wert),
    • • eine SecVersX-Nummer,
    • • eine SecVersY-Nummer,
    • • den öffentlichen Schlüssel GPuK.
  • Anschließend oder vor einem der Schritte 702 oder 701 wird aus der System-Steuerungseinheit 207, genauer aus einem Register der System-Steuerungseinheit 207 die dort gespeicherte Chip-Identifikationsangabe gelesen. Ferner wird die ausgewählte SecVersX-Nummer aus dem Boot-ROM-Speicher 202 ausgelesen. Die ausgewählte und auszulesende SecVersX-Nummer wird ausgewählt gemäß der Einstellung der elektronischen Schmelzsicherungen 208, welche in einem zusätzlichen Register in der System-Steuerungseinheit 207 gespeichert ist (Schritt 703).
  • Weiterhin wird die SecVersY-Nummer aus dem Boot-ROM-Speicher 202 ausgelesen. Die auszulesende SecVersY-Nummer wird ermittelt unter Verwendung der Werte der kundenspezifischen elektronischen Schmelzsicherungen 208.
  • In einem Prüfschritt 704 wird überprüft, ob die in Schritt 702 gelesenen und aus dem GPuK-Zertifikat ermittelten SecVersX-Nummer und SecVersY-Nummer mit den entsprechenden Nummern, welche in dem Boot-ROM 202 gespeichert sind, übereinstimmen. Ist dies nicht der Fall („Nein” in Prüfschritt 704), so wird die Boot-Routine abgebrochen und es wird eine Fehlermeldung ausgegeben (Schritt 705).
  • Sind die beiden Werte jedoch gleich („Ja” in Prüfschritt 704), so wird in einem Schritt 706 unter Verwendung des Hash-Verfahrens SHA-1 ein Hash-Wert gebildet über das Kopffeld des öffentlichen Schlüssels GPuK und über den öffentlichen GPuK. Anschließend wird der signierte Hash-Wert 609, welcher in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert ist und dem GPuK-Zertifikat zugeordnet ist, gelesen und unter Verwendung des in dem Boot-ROM-Speicher 202 gespeicherten öffentlichen Schlüssel GROMPuK entschlüsselt und verifiziert (Schritt 707).
  • Der in Schritt 706 gebildete Hash-Wert sowie der in Schritt 707 entschlüsselte Hash-Wert werden in einem zweiten Prüfschritt (Schritt 708) miteinander verglichen und für den Fall, dass die beiden Werte nicht miteinander übereinstimmen („Nein” in Schritt 708), wird die Boot-Routine abgebrochen und es wird eine Fehlermeldung generiert und ausgegeben (Schritt 709).
  • Stimmen die beiden Hash-Werte jedoch miteinander überein („Ja” in Schritt 708), so wird ein zweiter Hash-Wert gebildet, wobei der zweite Hash-Wert gebildet wird über den gesamten Inhalt des Blocks „0” des nicht-flüchtigen Direktzugriffsspeichers 211 und damit über den Inhalt des PSI-Bereichs 601 (Schritt 710).
  • Weiterhin wird der in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeicherte signierte Hash-Wert 602 des PSI-Bereichs 601 ausgelesen und unter Verwendung des zuvor verifizierten öffentlichen Schlüssels GPuK entschlüsselt und verifiziert (Schritt 711).
  • In einem dritten Prüfschritt 712 werden die beiden Hash-Werte des PSI-Bereichs 601 miteinander verglichen und für den Fall, dass diese nicht miteinander übereinstimmen („Nein” in dem dritten Prüfschritt 712), wird die Boot-Routine abgebrochen und es wird eine Fehlermeldung erzeugt und ausgegeben (Schritt 713).
  • Stimmen die beiden Hash-Werte über den PSI-Bereich 601 miteinander überein („Ja” in dem dritten Prüfschritt 712), wird, abhängig von der jeweiligen Sicherheitspolitik, eine CAPI-Authentifikation durchgeführt (Schritt 714).
  • Falls die CAPI-Authentifikation fehlschlägt, so wird die Boot-Routine abgebrochen und es wird eine Fehlermeldung generiert und ausgegeben (Schritt 715). Ist die CAPI-Authentifikation erfolgreich, so wird die Second-Level-Boot-Routine 610 aus dem nicht-flüchtigen Direktzugriffsspeicher 611 ausgelesen und gestartet (Schritt 716). In einem Schritt 717 wird die Second-Level-Boot-Routine, beispielsweise unter Verwendung der in dem Mobilfunk-Kommunikationsendgerät 100 gespeicherten Daten IMEI (International Mobile Equipment Identity) und SIMLock, ausgeführt.
  • Es ist darauf hinzuweisen, dass der Mobilfunk-Kommunikationsendgeräte-Hersteller sicherzustellen hat, dass sein ihm zugeordnetes Wurzel-Zertifikat (beispielsweise über den öffentlichen Schlüssel GPuK oder einem davon abgeleiteten Schlüssel) nicht unbefugt verändert werden kann. Er ist ebenso verantwortlich, eine Plattform zu entwickeln, deren Funktionalität den ”Dual-Use”-Exportregeln genügen.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es vorgesehen, dass die CAPI von dem Chip-Hersteller bereitgestellt wird, beispielsweise von der Infineon Technologies AG. Von dem Chip-Hersteller wird zusätzlich gemäß einem Ausführungsbeispiel auch die CAPI-Authentifikations-Routine bereitgestellt. Es ist zu gewährleisten, dass der Mobilfunk-Kommunikationsendgeräte-Hersteller die CAPI-Authentifikations-Routine während des sicheren Boot-Prozesses aufruft. Die CAPI-Authentifikations-Routine enthält den öffentlichen Schlüssel des Chip- Herstellers (also beispielsweise der Infineon Technologies AG), um die CAPI zu authentifizieren. Gemäß diesem Ausführungsbeispiel der Erfindung enthält die CAPI-Authentifikations-Routine somit den öffentlichen Schlüssel IFXCAPIPuK.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es ferner vorgesehen, dass auch das Trust-Modul und die Treiber-Computerprogramme der Krypto-Einheit 206 von dem Chip-Hersteller bereitgestellt werden. Die CAPI-Authentifikations-Routine wird unter Verwendung des öffentlichen Schlüssels GROMPuk mittels des Boot-ROM-Computerprogramm-Codes authentifiziert. Die CAPI-Authentifikations-Routine enthält den öffentlichen Schlüssel des Chip-Herstellers zum Authentifizieren der CAPI (d. h. beispielsweise den öffentlichen Schlüssel IFXCAPIPuK). Die in dem Boot-ROM-Speicher 202 gespeicherte Boot-ROM-Routine ruft die CAPI-Authentifikations-Routine auf, bevor die Second-Level-Boot-Routine des Mobilfunk-Kommunikationsendgeräte-Herstellers aufgerufen wird.
  • Die Second-Level-Boot-Routine 610 ist der erste Computerprogramm-Code, welcher ausgeführt wird, welcher aus dem nicht-flüchtigen Direktzugriffsspeicher 211 des Mobilfunk-Kommunikationsendgeräte-Herstellers ausgelesen wird, nach dem Ausführen des in dem Boot-ROM-Speichers 202 des Prozessor-Chips 200 gespeicherten Computerprogramm-Codes und nachdem die CAPI-Authentifikations-Routine vollständig ausgeführt wurden.
  • Der Second-Level-Boot-Prozess wird nur dann ausgeführt, wenn die Zertifikat-Prüfungen, welcher unter Steuerung der Boot-ROM-Routine durchgeführt wurden, erfolgreich waren. Die Second-Level-Boot-Routine 610 wird verwendet zum Authentifizieren nachfolgender, in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeicherter Computerprogramme. Auf diese Weise wird eine vertrauenswürdige Kette von Boot- Schritten innerhalb des Hochfahrens des Prozessor-Systems 250 implementiert. Es können weitere Überprüfungen in der Second-Level-Boot-Routine vorgesehen sein. Es ist darauf hinzuweisen, dass die Second-Level-Boot-Routine beispielsweise einen einzigartigen Wert, welcher beispielsweise in die elektrischen Schmelzsicherungen 208 eingebrannt sind verwenden kann zum Überprüfen der Bindung des Inhalts des nicht-flüchtigen Direktzugriffsspeichers 211 an die spezifische Prozessor-Chip-Komponente.
  • Der Mobilfunk-Kommunikationsendgeräte-Hersteller sieht optional zusätzliche Sicherheitsüberprüfungen vor wie beispielsweise das Überprüfen der IMEI, oder ein Überprüfen der so genannten SIMLock-Daten. Weiterhin können andere zusätzliche sicherheitsrelevante Überprüfungen von Applikation-Computerprogrammen vorgesehen sein.
  • Nach einem erfolgten Zurücksetzen des Prozessor-Systems 250 fährt das Prozessor-System 250 unter Verwendung von in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeicherten Daten hoch, es ist jedoch in einer alternativen Ausgestaltung der Erfindung ebenso möglich, dass das Hochfahren unter Verwendung von mittels der seriellen Schnittstelle, beispielsweise also mittels USB oder UART zugänglichen Daten erfolgt.
  • Erfolgt das Hochfahren unter Verwendung von mittels der seriellen Schnittstelle 205 zugänglichen Daten, so wird das Verfahren auf die oben beschriebene gleiche Weise durchgeführt.
  • So wird beispielsweise ein Block „0” in die lokale Speichereinheit 203 des Prozessor-Chips 200 geladen mittels der seriellen Schnittstelle 205 und wird in der gleichen Weise getestet wie der Block „0” des nicht-flüchtigen Direktzugriffsspeichers 211 in dem oben beschriebenen Ausführungsbeispiel, bevor der Block „0” ausgeführt wird.
  • Nachdem der heruntergeladene Computerprogramm-Code überprüft wurde, kann dieser verwendet werden, um den Inhalt des nicht-flüchtigen Direktzugriffsspeichers 211 in zuverlässiger Weise zu aktualisieren oder auch zu reparieren.
  • Es ist ferner anzumerken, dass gemäß einem Ausführungsbeispiel der Erfindung nur der Mobilfunk-Kommunikationsendgeräte-Hersteller den Programmspeicher 211 mittels der seriellen Schnittstelle 205 re-programmieren kann. Sobald er dies getan hat, wird die gesamte Boot-Routine und die darin enthaltenen Überprüfungen erneut durchgeführt, wenn das Prozessor-System 250 von dem nicht-flüchtigen Direktzugriffsspeicher 211 aus neu gebootet wird.
  • 8 zeigt in einem Blockdiagramm 800 einen Überblick über die Verbindung zwischen dem sicheren Hochfahren des Prozessor-Systems 250 und der CAPI.
  • Es ist in 8 dargestellt, an welcher Stelle die kryptographischen Zertifikate und Schlüssel in dem Mobilfunk-Kommunikationsendgerät 100 gespeichert sind. Das Blockdiagramm 800 ist in zwei Ansichten aufgeteilt, eine erste Ansicht 801, auch bezeichnet als Hochfahr-Zeit-Ansicht (Boot Time View 801) sowie eine zweite Ansicht 802, auch bezeichnet als Betriebs-Zeit-Ansicht (Run Time View 802).
  • Wie in der ersten Ansicht 801 dargestellt ist, ist in dem PSI-Bereich 601 die CAPI-Authentifikations-Routine 803 gespeichert, welche den öffentlichen Schlüssel des Chip-Herstellers, also beispielsweise den öffentlichen Schlüssel IFXCAPIPuK, enthält.
  • Ferner ist eine digitale Signatur 804 über die CAPI-Authentifikations-Routine in dem PSI-Bereich 601 gespeichert, welche gebildet wurde unter Verwendung des geheimen Chip- Herstellerschlüssels, also beispielsweise unter Verwendung des geheimen Schlüssels IFXCAPIPrK.
  • Weiterhin ist in dem nicht-flüchtigen Direktzugriffsspeicher 211 die CAPI 805 gespeichert, welche den Computerprogramm-Code zur Realisierung des oben beschriebenen Trust-Moduls 806 enthält sowie die Software-Treiber 807 für die Krypto-Einheit 206. Weiterhin ist ein Hash-Wert 808 enthalten, welcher gebildet wurde über die CAPI 805 und welcher signiert wurde mit dem privaten Chip-Hersteller-Schlüssel für die CAPI, beispielsweise also mittels des privaten Schlüssels IFXCAPIPrK.
  • Wie aus der ersten Ansicht 801 ersichtlich ist (dort symbolisiert mittels eines Pfeils 809) wird die CAPI 805 erst durchgeführt, nachdem die CAPI-Authentifikations-Routine 803 erfolgreich ausgeführt wurde.
  • Wie in der zweiten Ansicht 802 dargestellt ist, ist während des Betriebs vorgesehen, die gesicherten Applikation-Computerprogramme 810 abzusichern mittels entsprechender kryptographischer Zertifikate, beispielsweise mittels des Applikation-Computerprogramm-Zertifikats SecAppCert 811, welches beispielsweise signiert ist unter Verwendung des privaten Schlüssels des Herstellers bzw. des Entwicklers des jeweiligen Applikation-Computerprogramms, anders ausgedrückt unter Verwendung beispielsweise des privaten Schlüssels EMCAPIPrK.
  • Erst nach erfolgter erfolgreicher Verifizierung des jeweiligen Applikation-Computerprogramm-Zertifikats ist im Rahmen der CAPI 805 vorgesehen, den zu den privaten Schlüsseln zugehörigen öffentlichen Schlüssel des Entwicklers bzw. Herstellers des Applikation-Computerprogramms, also beispielsweise den öffentlichen Schlüssel EMCAPIPuK beim Starten zu verifizieren, wobei gemäß einem Ausführungsbeispiel der Erfindung der öffentliche EMCAPIPuK beispielsweise der öffentliche Schlüssel GPuK ist oder alternativ der öffentliche Schlüssel GPuK, signiert unter Verwendung des privaten Schlüssels GPrK.
  • Ferner verifiziert die CAPI 805 das jeweilige Applikation-Computerprogramm-Zertifikat unter Verwendung des öffentlichen Schlüssels EMCAPIPuK. Das jeweilige Applikation-Computerprogramm-Zertifikat ist in einem Zertifikat-Speicher 812 in dem nicht-flüchtigen Direktzugriffsspeicher 211 gespeichert.
  • 9 zeigt in einem Blockdiagramm 900 einen Überblick über die Zusammenhänge zwischen den Schlüsselpaaren, welche im Rahmen des Prozessor-Systems 250 verwendet werden.
  • Das Blockdiagramm 900 ist in vier Quadranten aufgeteilt, wobei in der linken Spalte 901 die Vertrauenskette (Trust Chain) seitens des Chip-Herstellers dargestellt ist und in der rechten Spalte 902 die Vertrauenskette (Trust Chain) des Mobilfunk-Kommunikationsendgeräte-Herstellers. In einem oberen Bereich 903 des Blockdiagramms 900 sind die Schlüssel dargestellt, welche in dem Trust Center verbleiben und in einem unteren Bereich 904 sind die Zusammenhänge in dem Mobilfunk-Kommunikationsendgerät 100 dargestellt.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist somit gewährleistet, dass nur Software mit einem gültigen Zertifikat der Zugriff auf von der Krypto-Einheit 206 bereitgestellten krytographischen Funktionen ermöglicht wird. Die Schutzschild-Software, welche im Rahmen dieser Beschreibung als Crypto Application Programming Interface CAPI bezeichnet wird, überprüft das jeweilige Zertifikat, dass eine Anforderung einer kryptographischen Funktion der Krypto-Einheit 206 anfordernden Applikation-Computerprogramms.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es vorgesehen, eine Kontrollkette (Chain of Trust) vorzusehen, gemäß der es gewährleistet ist, dass nur zertifizierte Applikation-Computerprogramm-Hersteller bzw. Entwickler auf die CAPI zugreifen dürfen. Zertifizierte Applikation-Computerprogramm-Hersteller oder Integratoren, welche häufig die Mobilfunk-Kommunikations-Endgeräte-Hersteller oder die Netzwerkprovider sind, haben den ”Dual-Use”-Exportregeln zugestimmt und besitzen somit ein entsprechendes Zertifikat.
  • Das CAPI 805 wird von dem exportierenden Unternehmen, beispielsweise dem Prozessor-Chip-Hersteller ausgeliefert und wird beim Hochfahren des Prozessor-Systems 250 kryptographisch authentifiziert, anders ausgedrückt überprüft, um sicherzustellen, dass die CAPI 805 zu der Plattform gehört und nicht unbefugt verändert wurde.
  • Auch für den Integrator ist es wünschenswert, ein sicheres Hochfahren der Plattform zu gewährleisten, um ein unbefugtes Verändern der Plattform zu verhindern. Gemäß einem Ausführungsbeispiel der Erfindung ist ein geteiltes sicheres Booten vorgesehen. Dies bedeutet, dass der Exporteur der Plattform und der Plattform-Integrator beide ein sicheres Hochfahren ihres jeweiligen Computerprogramm-Codes durchführen können, ohne dass der vollständige Computerprogramm-Code des Integrators unter Verwendung von privaten Schlüsseln des Plattform-Exporteurs signiert zu werden braucht, was unpraktikabel wäre.
  • Das aufgeteilte Boot-Verfahren ermöglicht es dem Plattform-Integrator, vollständige Kontrolle über das Plattform-Hochfahren zu besitzen und ermöglicht es den Plattform-Integrator weiterhin, sicher zu sein, dass seine Software auf der Plattform integriert ist. Das geteilte Boot-Verfahren wird mittels der in dem Boot-ROM-Speicher 202 gespeicherten Routine gesteuert, welche in der eingebetteten Einrichtung (Embedded Device), anders ausgedrückt beispielsweise dem Prozessor-Chip 200, gespeichert ist.
  • Es ist anzumerken, dass die CAPI Authentifikation, welche dem Plattform-Integrator bereitgestellt wird mit der Plattform, auch als eine eigene ”sichere Ausführungs”-Umgebung des Applikationsprozessors laufen kann. Die CAPI könnte auch in dieser Umgebung nach dem Hochfahren ausgeführt werden, womit die Krypto-Einheit, in anderen Worten beispielsweise die Krypto-Hardware, von einem Direktzugriff einer Applikation mittels Hardware isoliert wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es ferner ermöglicht, die Plattform zu exportieren und zu verwenden ohne Einsatz des sicheren Boot-Verfahrens, beispielsweise während unterschiedlichen Phasen der Entwicklung und des Herstellens des Prozessor-Systems 250 und der zugehörigen Applikation-Computerprogramme. Wenn die Plattform sich in diesem Zustand befindet, sind die von der Krypto-Einheit 206 bereitgestellten kryptographischen Funktionen nicht zugänglich. Nur wenn die Plattform derart konfiguriert ist, dass ein kryptographisches Public Key-basiertes sicheres Boot-Verfahren durchgeführt wird und somit beispielsweise die CAPI in das Prozessor-System 250 eingebunden ist, werden die kryptographischen Funktionen, welche von der Krypto-Einheit 206 bereitgestellt werden, verfügbar geschaltet. In einem Ausführungsbeispiel der Erfindung wird diese Konfiguration mittels irreversibler elektronischer Schmelzsicherungen 208 erreicht.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird ein öffentlicher Schlüssel des Plattform-Exporteurs in Hardware, d. h. gespeichert in dem Boot-ROM 202, als die Wurzel des vertrauenswürdigen Verfahrens für das sichere Booten verwendet.
  • Das Boot-Verfahren ist derart definiert, dass der Plattform-Integrator einen öffentlichen Schlüssel besitzen muss, welcher von dem Plattform-Exporteur digital signiert ist, um die Funktion des sicheren Bootens wahrnehmen zu können. Dieser letzte Schritt ermöglicht es dem Plattform-Exporteur, Kontrolle darüber zu haben, welche Kunden, d. h. beispielsweise welche Hersteller oder Entwickler von Applikation-Computerprogrammen ein sicheres Booten auf der Plattform ausführen können und somit kryptographische Funktionen unter Verwendung der Krypto-Einheit 206 nutzen können. Diese Kontrollkette ermöglicht eine faire Exportkontrolle. Fair heißt in diesem Zusammenhang beispielsweise kontrollierbar und nachvollziehbar von beiden Seiten, d. h. sowohl von dem Prozessor-System-Hersteller, beispielsweise dem Hersteller der Schaltkreis-Anordnung, beispielsweise der Infineon Technologies AG, und dem Applikations-Entwickler.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden zertifizierte Kunden die Möglichkeit besitzen, die kryptographische Hardware, welche in der Krypto-Einheit 206 vorgesehen ist, nach erfolgtem erfolgreichen zertifizierten sicheren Booten zu verwenden.
  • Weiterhin kann durch das aufgeteilte sichere Booten gewährleistet werden, dass die Zugriffskontroll-Software auf der Plattform enthalten ist.
  • Gemäß einem Ausführungsbeispiel der Erfindung stellt die Zugriffskontroll-Software sicher, dass nur Applikation-Computerprogramme mit einem gültigen kryptographischen Zertifikat auf die Kryptographie-Hardware, d. h. anders ausgedrückt auf die von der Krypto-Einheit 206 bereitgestellten kryptographischen Funktionen, zugreifen kann.
  • Ferner kann der Plattform-Integrator selbst Applikation-Computerprogramme zertifizieren unter Verwendung eines Schlüssels, der von dem Plattform-Integrator zertifiziert ist, jedoch stimmt er in diesem Fall den ”Dual-Use”-Exportregeln gemäß dem Wassenaar-Abkommen zu.
  • Es ist in diesem Zusammenhang anzumerken, dass in dem öffentlichen Schlüssel GPuK zusätzliche Informationen enthalten sein können, beispielsweise eine Information, wie der Prozessor-Chip 200 mit dem PSI-Bereich 601 des nicht-flüchtigen Direktzugriffsspeichers 211 umgehen soll. Weiterhin kann eine Kontrollinformation enthalten sein, beispielsweise eine Kontrollinformation darüber, ob der Nutzer eine eigene CAPI-Authentifikations-Routine erstellen darf.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es vorgesehen, dass die Schlüssel, die verwendet werden zum Bilden der ersten digitalen Signatur und der zweiten digitalen Signatur nicht ausgetauscht werden können. Um dies zu gewährleisten werden vor deren Benutzung die zugehörigen öffentlichen Schlüssel von dem Boot-ROM überprüft.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist es vorgesehen, dass die CAPI und die CAPI-Authentifikation in verschiedenen Ausführungseinheiten realisiert sind. Dies bedeutet, dass der Hersteller der Plattform und der Hersteller der Krypto-Software jeweils ihren Code signieren können und sicher sein können, dass nur dieser Code einen Zugriff auf die kryptographische Funktion (mit geeigneter Hardware-Unterstützung in der Krypto-Einheit) ermöglicht. Auf diese Weise ist ein Verfahren für einen Hersteller einer Plattform geschaffen, um zertifizierten Code auszuliefern, der von dem Plattform-Integrator nicht verändert werden kann (eine Form eines Sicherheitssystems in einem System).
  • Dies könnte einschließen ein vorheriges Programmieren mittels Schmelzens von einem geheimen Schmelzsicherung-Schlüssel seitens des Herstellers der Plattform, und ein Ausliefern eines verschlüsselten privaten Schlüssels mit der Komponente. Ein Endnutzer oder ein Dritter kann dann mittels eines sicheren Handshake-Verfahrens/-Protokolls sicher sein, dass die Sicherheits-Software, die auf der Plattform gespeichert ist, tatsächlich von dem Hersteller der Plattform stammt.
  • Anschaulich wird gemäß einem Ausführungsbeispiel der Erfindung eine Aufteilung der Vertrauenskette bereitgestellt zwischen dem Hersteller der Plattform und dem Plattform-Integrator.
  • Ein anderes Ausführungsbeispiel der Erfindung ist gerichtet auf ein Anwendungsszenario, das auf einem herkömmlichen Geschäftsmodell eines vor-bezahlten (Prepaid) Mobilfunktelefons basiert. In der letzten Zeit hat sich auch eine Technologie entwickelt für vor-bezahlte (Prepaid) Computer, beispielsweise Personal Computer, Workstations, oder andere Computer-Plattformen wie beispielsweise Personal Digital Assistants (PDA) oder andere eingebettete Computereinrichtungen wie zum Beispiel Computereinrichtungen in der Unterhaltungselektronik oder der Consumer-Elektronik.
  • Während es bei einem vor-bezahlten Mobilfunktelefon möglich ist, eine erforderliche Benutzungslizenz, Restriktionsmechanismen oder auch Zugriffskontrollmechanismen in einer proprietären computerbasierten Lösung zu integrieren, beispielsweise in einem proprietären und von außerhalb des Geräts nicht zugänglichen Chip (wie beispielsweise in der S-Gold-Chipserie der Firma Infineon Technologies AG), so ist dies bei einer Einrichtungen mit üblicherweise einer Mehrzahl von Komponenten wie beispielsweise einem Personal Computer, einer Workstation, oder einer anderen Computer-Plattform wie beispielsweise einem Personal Digital Assistant (PDA) oder einer anderen eingebetteten Computereinrichtungen, nicht möglich. Aufgrund der Komplexität beispielsweise eines Personal Computers aber auch aufgrund des Einsatzes verschiedener spezieller Chips und verschiedener Funktionsblöcke ist es herkömmlicherweise nicht möglich, solche oben angeführten Mechanismen in sicherer Weise in einem Gehäuse wie beispielsweise einer Ein-Chip-Lösung oder einer Multi-Chip-Lösung zu integrieren.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden eine Schaltkreis-Anordnung und ein Verfahren bereitgestellt, mit welchen die Implementierung von Zugangskontrollmechanismen und Authentifikationsmechanismen, beispielsweise im Rahmen der Digitale-Rechte-Verwaltung (Digital Rights Management), ermöglicht wird. Ferner wird es ermöglicht, Nutzungsbeschränkungen in Standard-Rechner-Plattformen zu implementieren, ohne größere Funktionsblöcke verändern zu müssen. Die beschriebenen Ausführungsbeispiele stellen einen geeigneten Schutz bereit selbst gegen eine unbefugte Umverdrahtung oder das Ausbilden unbefugter (Umleitungs-)Verbindungen bzw. erkennt zumindest sicher eine unbefugte Manipulation.
  • Herkömmlicherweise wurde versucht, den oben beschriebenen Problemen zu begegnen, indem Standard-Authentifikations- und Zugriffskontrollmechanismen (alternativ kryptographische Verfahren) in den Boot-Speicher des Computers oder in einen Computerprogrammcode implementiert wurden, der oder die zu wichtigen Zeitpunkten oder an wichtigen Orten der zu schützenden Computer-Plattform ausgeführt werden müssen, beispielsweise an wichtigen Stellen des Start-Computerprogrammcode (Hochfahr-Computerprogrammcode) der zu schützenden Computer-Plattform, wie beispielsweise der BIOS-Sequenz.
  • Übliche Angriffe gegen solche oben beschriebenen Schutzmaßnahmen sind beispielsweise ein Austauschen des speziellen BIOS-Computerprogrammcodes oder des BIOS-Zugriffs- Computerprogrammcodes gegen einen BIOS-Computerprogrammcode eines Angreifers oder einen BIOS-Zugriffs-Computerprogrammcodes eines Angreifers, der keine Zugriffsbeschränkungen für den Angreifer enthält. Alternativ war es möglich, die kritischen Zugriffskontroll-Leistungsmerkmale zu löschen, beispielsweise indem der Original-Computerprogrammcode, der die Zugriffsbeschränkungen enthält, überschrieben oder ersetzt wird.
  • Dies kann beispielsweise dadurch erfolgen,
    • • dass der Computerprogrammcode-Speicherchip (beispielsweise ein ROM oder dergleichen) oder die entsprechenden Datenträger ausgetauscht werden;
    • • ein gleicher oder ähnlicher Speicher zu dem wichtigen Computerprogrammcode-Speicher parallelgeschaltet wird (beispielsweise, indem in die Verkabelung des Host-Computers eingegriffen wird) und einfach die entsprechenden Speicher-Zugriffssignale wie beispielsweise ein übliches Chip-Auswahlsignal (Chip Select, CS) oder Speicher-Lesesignal (Memory Read, RD) umgeleitet werden;
    • • Teile des Computerprogrammcodes ersetzt oder verändert werden mittels so genannter programmierbarer Chips (beispielsweise Application Specific Integrated Circuit (ASIC) oder Field Programmable Gate Array (FPGA), etc.);
    • • der oder die Speicherchips umprogrammiert wird/werden;
    • • oder mittels anderer geeigneter Veränderungstechniken.
  • Bei den herkömmlichen Ansätzen, die den oben beschriebenen Gefahren und Angriffen begegnen sollen, wird üblicherweise versucht, Hardware-Strukturen oder Software-Strukturen zu realisieren oder aufzubauen mit zusätzlichen physikalischen Schutzmaßnahmen, für die angenommen wird, dass sie nicht modifiziert, ersetzt oder verfälscht werden können.
  • Diese Vorgehensweisen sind jedoch aufgrund eines allgemeingültigen Prinzips nicht in vollem Umfang nützlich: Jede von einem Menschen erschaffene Struktur kann auch von einer von einem Menschen erschaffene Technik verändert oder analysiert werden.
  • Daher ist es gemäß einem Ausführungsbeispiel der Erfindung vorgesehen, die oben beschriebenen Probleme auf eine andere Weise zu lösen. Gemäß einem Ausführungsbeispiel der Erfindung wird angenommen, dass Veränderungen (Modifikationen) immer durchgeführt werden können. Allerdings werden solche Modifikationen in Datenstrukturen erfasst und erkannt (beispielsweise während des Hochfahr-Prozesses) und es können entsprechende Gegenmaßnahmen eingeleitet werden. Wenn irgendwelche Unterschiede oder Veränderungen in dem verwendeten Plattform-Computerprogrammcode gegenüber dem Original-Plattform-Computerprogrammcode während des Ausführens des Plattform-Computerprogrammcodes erkannt werden, so ist ein Beschränkungsmechanismus vorgesehen, gemäß dem beispielsweise das Host-Computersystem in der Ausführung des Plattform-Computerprogrammcodes oder der Verarbeitung von Plattform-Computerprogrammcode-Daten gehindert wird (gestoppt wird) oder die Host-Computersystem-Funktionalität auf einen niedrigeren Grad oder eine geringere Leistungsfähigkeit reduziert wird. Beispielsweise ist es vorgesehen, die gesamte Computereinrichtung (beispielsweise die Schaltkreis-Anordnung) oder eine oder mehrere ihrer Komponenten auszuschalten, ihre Funktionalität zu reduzieren oder eine schrittweise Reduktion der Funktionen vorzusehen.
  • Eine spezielle Anforderung ist gemäß einem Ausführungsbeispiel der Erfindung darin zu sehen, den beschriebenen Erfassungs- und Gegenmaßnahmen-Mechanismus in einer Weise anzuordnen und zu installieren, dass er von einem Angreifer ebenfalls nicht in einfacher Weise modifiziert oder ersetzt werden kann. Es ist daher gemäß einem Ausführungsbeispiel der Erfindung vorgesehen, die Schutzmaßnahmen oder Schutzmechanismen nahe oder innerhalb des zentralen wichtigen Teils der zu schützenden Computerplattform anzuordnen bzw. zu installieren (beispielsweise der zentralen zu schützenden Datenverarbeitungseinheit, im Folgenden auch bezeichnet als Central Processing Unit, CPU), beispielsweise realisiert in Form eines oder mehrerer Mikroprozessoren, allgemein einer oder mehrerer Recheneinheiten.
  • Solche Computerplattformen (im Rahmen dieser Ausführungsbeispiele auch bezeichnet als Host-Computersysteme) weisen üblicherweise eine oder mehrere CPUs auf. Herkömmliche Schutzmechanismen versuchen, den physikalischen Datenpfad zu den CPUs zu schützen.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird eine Schaltkreis-Anordnung bereitgestellt, bei der jede Veränderung oder jede Diskrepanz des eingehenden (in die jeweilige CPU geladenen) und auszuführenden Computerprogrammcodes (auch bezeichnet als Computerprogrammcode-Datenstrom) verglichen mit einer vordefinierten Referenz erkannt wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist dies erreicht in einer verlässlichen und beweisbaren Basis mittels so genannter Integritäts-Verifikationsmechanismen unter Verwendung kryptographischer Verfahren wie beispielsweise unter Verwendung von kryptographischen Hash-Algorithmen.
  • Bei einem kryptographischen Hash-Algorithmus wird eine große Menge von Eingangsdaten (grundsätzlich beliebiger Größe) kombiniert und verarbeitet und anschaulich „zusammengeführt” in einen einzigen Datenblock von Ausgangsdaten, beispielsweise einer vorgegebenen Größe, beispielsweise einer Größe von 256 Bits, 512 Bits, 1024 Bits oder dergleichen (beispielsweise bei Einsatz des kryptographischen Hash- Algorithmus SHA-256; alternativ können beispielsweise die kryptographischen Hash-Algorithmen SHA-1 oder MD5 eingesetzt werden, alternativ jeder andere geeignete kryptographische Hash-Algorithmus). Wenn auch nur ein Bit in dem Eingangsdatenstrom (den Eingangsdaten) verändert wird, wird bei einem solchen kryptographischen Hash-Algorithmus eine große Anzahl von Ausgangsdatenbits verändert (beispielsweise ungefähr 50%), womit angezeigt wird, dass sich die Eingangsdaten verändert haben.
  • Die Ausgangsdaten des kryptographischen Hash-Algorithmus werden gemäß einem Ausführungsbeispiel der Erfindung verglichen mit einem Satz zuvor gespeicherter Referenzdaten (die den „korrekten” Hash-Wert hinsichtlich der unveränderten und damit erwarteten Eingangsdaten repräsentieren) und eine Entscheidungseinheit erkennt bzw. entscheidet, ob eine Diskrepanz zwischen den tatsächlichen Eingangsdaten und den Referenzdaten aufgetaucht ist. Als Ergebnis dieses Vergleichs kann die Entscheidungseinheit gemäß einem Ausführungsbeispiel der Erfindung entscheiden, welche der oben beschriebenen Aktionen (beispielsweise Deaktivieren einzelner oder aller Komponenten oder beispielsweise Reduktion in der Funktionalität des Computersystems) als Gegenmaßnahme und Reaktion auf die erkannte Änderung der Eingangsdaten durchgeführt werden sollen.
  • Als Gegenmaßnahme ist in einem Ausführungsbeispiel der Erfindung vorgesehen, den Computerprogrammcode in dem „verfälschten” BIOS durch einen verlässlichen Computerprogrammcode vom geschützten Sicherheitscontroller zu ersetzen. Dies ist in einem Ausführungsbeispiel der Erfindung realisiert, indem die Busleitungen umgeleitet oder umgeschaltet werden oder indem die gewünschten Ansteuerungssignale gemäß dem verlässlichen Computerprogrammcode direkt in den Cache-Speicher der einen oder mehreren CPUs geladen wird, beispielsweise unter Verwendung einer üblicherweise an sich bei einer CPU vorhandenen und darin integrierten Testschnittstelle wie beispielsweise dem Standard-JTAG-Testbus.
  • 10 zeigt ein Host-Computersystem 1000 gemäß einem Ausführungsbeispiel der Erfindung. Das Host-Computersystem 1000 weist auf eine zentrale Datenverarbeitungseinheit 1002, einen oder mehrere Funktionsblöcke, welche gebildet werden von beispielsweise zusätzlichen Prozessoren oder Speichereinheiten 1004, einen BIOS-Speicher 1006, welcher ausgebildet ist als ein nicht-flüchtiger Speicher, beispielsweise als Nur-Lese-Speicher (read only memory, ROM) und in welchem beispielsweise ein Boot-Computerprogrammcode oder BIOS-Computerprogrammcode oder ein anderer für die zentrale Datenverarbeitungseinheit 1002 (im Folgenden auch bezeichnet als Central Processing Unit, CPU) wichtige Funktionen realisierender Computerprogrammcode.
  • Die CPU 1014, die Funktionseinheiten 1004 und der Nur-Lese-Speicher 1006 werden mittels eines System-Busses 1008 miteinander verbunden. Die CPU ist in einem Gehäuse 1010 angeordnet, welche mittels einer Gehäuse-externen Eingabe-/Ausgabeschnittstelle 1012 mit dem System-Bus 1008 gekoppelt ist. In dem Gehäuse 1010 können zusätzlich zu der CPU 1014 weitere Prozessoren, gegebenenfalls weitere zentrale Datenverarbeitungseinheiten vorgesehen sein. Ferner ist in dem Gehäuse 1010, gekoppelt mit der CPU 1014 und der Eingabe-/Ausgabeschnittstelle 1012 mittels eines internen Busses 1016, beispielsweise mittels des Test-Standard-Busses JTAG, gekoppelt, ein Sicherheits-Controller 1018 vorgesehen, welcher eingerichtet ist zum Bereitstellen kryptographischer Funktionen, beispielsweise zum Sichern der Integrität der über den System-Bus 1008, die Eingabe-/Ausgabeschnittstelle 1012 und den internen Bus 1016 an die CPU 1014 übertragenen Daten. Der Sicherheits-Controller 1018 ist gemäß einem Ausführungsbeispiel der Erfindung derart eingerichtet, dass er beispielsweise die oben und im Folgenden beschriebenen kryptographischen Sicherheitsmechanismen bereitstellt, beispielsweise kryptographische Hash-Funktionen zur Verifikation und Integritätssicherung der der CPU 1014 über den internen Bus 1016 zugeführten Daten.
  • Gemäß diesem Ausführungsbeispiel der Erfindung werden die der CPU 1014 zugeführten Daten von dem Sicherheits-Controller 1018 von dem internen Bus 1016 abgehört und unter Verwendung eines kryptographischen Hash-Verfahrens hinsichtlich ihrer Integrität gegenüber in dem Sicherheits-Controller 1018 gespeicherten Referenzdaten überprüft. Hierfür ist in dem Sicherheits-Controller 1018 gemäß einem Ausführungsbeispiel der Erfindung ein Verifikations- und Integritäts-Prüfmodul 1020 vorgesehen, in welchem die Hash-Funktionen und die Prüffunktionen zur Integritätssicherung durchgeführt werden. Das Gehäuse 1010 ist gegen einen physikalischen Zugriff über einen anderen Weg als über die Eingabe-/Ausgabeschnittstelle 1012 gesichert. Das Gehäuse mit der CPU 1014 kann beispielsweise als ein Hybrid-Gehäuse eingerichtet sein, d. h. als ein Chip-Gehäuse, in dem mehrere Chips aufgenommen sind. Wie oben beschrieben wurde, wird gemäß einem Ausführungsbeispiel der Erfindung bei Laden des Hochfahr-Computerprogrammcodes in die CPU 1014 mittels der Eingabe-/Ausgabeschnittstelle 1012 der geladene Hochfahr-Computerprogrammcode von dem internen Bus 1016 mittels des Sicherheits-Controllers 1018 gelesen und es wird über den Hochfahr-Computerprogrammcode ein Hash-Wert gebildet, beispielsweise der Größe von 256 Bits. Dieser gebildete Hash-Wert wird mit einem Referenz-Hash-Wert (allgemein, mit Referenzdaten) verglichen, wobei der Referenz-Hash-Wert zuvor über den verlässlichen ursprünglichen Hochfahr-Computerprogrammcode gebildet wurde, so dass auf diese Weise eine Integritätssicherung des zu schützenden verlässlichen ursprünglichen Hochfahr-Computerprogrammcodes realisiert wird.
  • Auf diese Weise ist es, wie oben erläutert, ermöglicht, dass ein möglicher Angriff auf den externen System-Bus 1008 und eine mögliche Veränderung des Hochfahr-Computerprogrammcodes, alternativ des BIOS-Programmcodes oder anderer kritischer Computerprogrammcodes, bei Zuführen des jeweiligen Computerprogrammcodes zu der CPU 1014 mittels des Sicherheits-Controllers 1018 erkannt wird und entsprechende Gegenmaßnahmen, wie sie oben beschrieben wurden, vorgenommen werden können.
  • Es ist darauf hinzuweisen, dass in einer alternativen Ausführungsform der Erfindung es vorgesehen sein kann, dass der gebildete Hash-Wert über den der CPU 1014 zugeführten Computerprogrammcode auch in einem Speicher des Sicherheits-Controllers 1018 gespeichert werden kann zur späteren Analyse durch ein anderes Computerprogramm, welches beispielsweise von dem Sicherheits-Controller 1018, der CPU 1014 oder einem anderen Prozessor ausgeführt werden kann, wobei das Computerprogramm auf derselben Plattform, d. h. von dem Host-Computersystems 1002 oder schon einem zentralisierten Integritäts-Management-Server oder einem Digitale-Rechte-Verwaltungs-Server (Digital Rights Management Server, DRM-Server) durchgeführt werden kann.
  • In einer anderen Ausführungsform der Erfindung ist es vorgesehen, dass die kryptographischen Funktionen des Sicherheits-Controllers 1018 auch in die CPU 1014 integriert sein können als zusätzliches Hardware-Modul, welches hinzugefügt wird im Rahmen des Entwurfs des Mikroprozessorchips, welcher als CPU 1014 verwendet wird. Auf diese Weise wird ein zusätzlicher Sicherheits-Controller 1018 in Form eines separaten Chips eingespart. Auch ist bei Integration der Funktionalität des Sicherheits-Controllers 1018 in die CPU 1014 ein noch höherer Grad an Sicherheit erreichbar, da es in diesem Fall für einen Angreifer noch nicht einmal Erfolg versprechend wäre, das Gehäuse 1010 des Host-Computersystems 1002 zu öffnen und auf diese Weise möglicherweise den internen Bus 1016 zu umgehen und der CPU 1014 unmittelbar die „verfälschten” Steuerungssignale, d. h. den ”verfälschten” Computerprogrammcode zuzuführen.
  • 11 zeigt die Funktionalität des Sicherheits-Controllers 1018 in einem Ablaufdiagramm in vereinfachter Darstellung.
  • Der von dem Host-internen Bus 1016 übertragene und für die CPU 1014 bestimmte Computerprogrammcode wird in den Sicherheits-Controller 1018 eingelesen und einem kryptographischen Hash-Algorithmus (in 11 symbolisiert mittels eines Blocks 1102) unterzogen, beispielsweise einem der oben beschriebenen kryptographischen Hash-Algorithmen.
  • Der gebildete Hash-Wert 1104 wird in einem Vergleichsschritt 1106 mit einem in einem nichtflüchtigen Speicher 1108 ausgelesene Referenzdaten 1110 verglichen.
  • Das Vergleichsergebnis (beispielsweise ein Ergebnis, dass die beiden Hash-Werte miteinander übereinstimmen oder dass sie unterschiedlich sind) wird als Ergebnissignal 1112 einer Entscheidungseinheit 1114 zugeführt, in welcher entschieden wird, welche Maßnahmen aufgrund des ihr zugeführten Ergebnissignals 1112 vorzusehen sind.
  • Die Entscheidungseinheit 1114 erzeugt entsprechend der vorgesehenen Gegenmaßnahme(n) bei Abweichung des gemessenen bzw. neu gebildeten Hash-Werts 1104 mit dem Referenz-Hash-Wert 1110 ein Steuerungssignal 1116, welches einem geschützten und somit „zuverlässigen” und vertrauenswürdigen Sicherheits-Prozessor 1118 zugeführt wird zur Ausführung eines Programmcodes, der die jeweils vorgesehene Gegenmaßnahme repräsentiert.
  • Ferner wird der Hash-Wert 1104 digital signiert und in einem weiteren nicht-flüchtigen Speicher 1120 als digital signierter Hash-Wert 1122 gespeichert.
  • Die beschriebenen und vorgesehenen kryptographischen Algorithmen beispielsweise zur Ermittlung der Hash-Werte oder der jeweiligen digitalen Signatur über einen Computerprogrammcode oder einen gebildeten Hash-Wert werden durchgeführt mittels einer oder mehreren kryptographischen Einheiten 1124.
  • Der Sicherheits-Prozessor 1118 stellt an einer zweiten Eingabe-/Ausgabeschnittstelle 1126 die entsprechenden Steuersignale 1128 für die CPU 1014 oder für die anderen Funktionsblöcke 1004 bereit, wobei die Steuersignale die oben beschriebenen Gegenmaßnahmen repräsentieren.
  • 12 zeigt das Host-Computersystem 1002 in größerem Detail.
  • Der Sicherheits-Controller 1018 ist derart eingerichtet, dass bei Hochfahren des Host-Computersystems 1002 der Hochfahr- Computerprogrammcode geladen wird und darüber oder über einen Teil des Hochfahr-Computerprogrammcodes ein Hash-Wert unter Verwendung einer kryptographischen Hash-Funktion, wie sie oben beschrieben wurde, berechnet wird. Das Laden des Hochfahr-Computerprogrammcodes erfolgt, wie oben beschrieben wurde, mittels Auslesens des Hochfahr-Computerprogrammcodes von dem internen Bus 1016, welcher beispielsweise als JTAG-Bus eingerichtet ist. Nach Bilden des Hash-Werts wird dieser zur Integritätssicherung mit dem zuvor gespeicherten „verlässlichen” Referenz-Hash-Wert, welcher über den Original-Hochfahr-Computerprogrammcodes zuvor gebildet wurde, verglichen. Anschließend wird, wie oben beschrieben wurde, bei Ermitteln einer Diskrepanz zwischen diesen Hash-Werten von dem Sicherheits-Controller 1018 eine geeignete Gegenmaßnahme gegen einen Angriffsversuch vorgesehen.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung ist es vorgesehen, den ermittelten Hash-Wert in vertrauenswürdiger Weise, beispielsweise digital signiert, zu speichern, und den oben beschriebenen Vergleich mit einem Referenz-Hash-Wert erst zu einem späteren Zeitpunkt durchzuführen, wobei dieser Vergleich auch von einer anderen Einrichtung (beispielsweise einer vertrauenswürdigen Instanz gemäß dem TCG-Standard (Trusted Computing Group). Der ermittelte Hash-Wert, beispielsweise der digital signierte ermittelte Hash-Wert kann über ein Telekommunikations-Netzwerk zu einer vertrauenswürdigen Instanz übertragen werden.
  • Die CPU 1114 weist gemäß einem Ausführungsbeispiel der Erfindung ein mit dem JTAG-Bus 1016 gekoppelten Cache-Speicher-Controller 1202 auf sowie einen Schreib-Lese-Speicher zum Speichern des Computerprogrammcodes 1204.
  • Ferner ist ein interner Cache-Speicher 1206 vorgesehen, welcher mit dem System-Bus 1008 gekoppelt ist.
  • Weiterhin ist in der CPU 1014 ein Mikroprozessor 1208 vorgesehen, der sowohl mit dem System-internen Bus 1016 als auch mit dem externen Bus 1008 gekoppelt ist. Gemäß diesem Ausführungsbeispiel der Erfindung erfolgt der Zugriff auf den in den Schreib-Lese-Speicher 1204 der CPU 1014 geladenen Hochfahr-Computerprogrammcode mittels des internen Busses 1016 unter Verwendung des internen Cache-Speichers 1206 der CPU 1014.
  • Derzeitige CPUs 1014, wie beispielsweise eine CPU der Firma AMD oder Intel weisen üblicherweise sowohl einen internen Cache-Speicher, welcher von der CPU als Standard-Speicher zum Speichern von Variablen und Computerprogrammcodes, ausführbaren Codes etc. verwendet werden kann, und gegebenenfalls einen spezifischen internen Sub-Prozessor auf, welcher verwendet werden kann zum Bereitstellen der sicherheitsrelevanten Funktionen. Ferner kann auch der Haupt-Prozessor 1208 der CPU 1014 zum Ausführen des in dem Cache-Speicher 1206. gespeicherten Codes eingesetzt werden.
  • Unter Verwendung des JTAG-Standard-Test-Busses können sowohl Daten als auch Computerprogrammcodes zu deren Integritätssicherung beim Hochfahren des Host-Computersystems 1002 in den internen Cache-Speicher 1206 geladen werden und mittels des JTAG-Busses 1016 dem Sicherheits-Controller 1018 zugeführt werden, in welchem die oben beschriebenen Sicherheitsmaßnahmen realisiert sind. Wenn jedoch die sicherheitsrelevanten Funktionen in der Haupt-CPU 1014 realisiert sind, wie oben in einem alternativen Ausführungsbeispiel der Erfindung beschrieben, ist es vorgesehen, dass der Computerprogrammcode als Mikrocode in den Schreib-Lese-Speicher 1204 der CPU 1014 geladen wird und alle Integritätssicherungs-Maßnahmen ausgehend von den darin gespeicherten Daten durchgeführt werden. Dies hat den Vorteil, dass es ermöglicht wird, dass die kryptographischen Funktionen von der CPU 1208 selbst durchgeführt werden, so dass ein zusätzlicher Sicherheits-Controller 1018 entbehrlich wäre.
  • Dies ist beispielsweise deshalb vorteilhaft, da ein Sicherheits-Controller 1018 üblicherweise eine große Anzahl von Busleitungen aufweist und damit eine große Anzahl von Eingangs-/Ausgangs-Anschlüssen (beispielsweise 32 oder 64 Eingangs-/Ausgangs-Pins), was die Kosten für das Host-Computersystem 1002 erheblich erhöhen würde.
  • Die Funktionen des Sicherheits-Controllers 1018 können beispielsweise auch von der internen Prozessoreinheit 1208 realisiert werden.
  • Der Sicherheits-Controller 1018 ist eingerichtet zum Durchführen der folgenden Funktionen:
    • • Laden des Computerprogrammcodes (beispielsweise des Mikrocodes) und Überprüfen der Integrität des geladenen Computerprogrammcodes, ausgehend von einem internen geschützten Speicher, während des Hochfahrens des Host-Computersystems 1002;
    • • Synchronisieren beispielsweise des Computerprogrammcodes, beispielsweise des BIOS-Computerprogrammcodes im Rahmen von dessen Ausführung, und Integritätssichern desselben;
    • • Speichern und Verifizieren der Ergebnisse des Integritätssicherungs-Vergleiches; wenn Diskrepanzen zwischen den Hash-Werten ermittelt werden, so wird von dem Sicherheits-Controller 1018 eine entsprechende Gegenmaßnahme ausgewählt und durchgeführt.
  • Für die Realisierung des Sicherheits-Controllers 1018 können an sich bekannte Technologien wie Smart Cards oder vertrauenswürdige Plattformmodule (Trusted Platform Moduls) verwendet werden. Zugriffskontrolle, Aktualisierungen, Authentifikation und Funktionen zur Steuerung des Sicherheits-Controllers 1018 können in diesem Fall unter Verwendung derzeit verfügbarer Standards realisiert werden.
  • Der Referenz-Hash-Wert kann, wie oben beschrieben wurde, digital signiert werden und in einem geschützten Speicherbereich oder in einem separaten Speicher (beispielsweise dem weiteren Speicher 1120) gespeichert werden, so dass jede Modifikation des Referenz-Hash-Werts auf einfache Weise entdeckt werden kann, indem die gebildete digitale Signatur überprüft wird. Nur Software mit einem gültigen Zertifikat ist es gemäß einem Ausführungsbeispiel der Erfindung erlaubt und ermöglicht, auf die CPU 1014 zuzugreifen und ihre gesamte Funktionalität zu nutzen. In diesem Zusammenhang wird auf konkrete Realisierungsmaßnahmen hinsichtlich der Zertifikate und der jeweiligen Teil-Computerprogramme auf die oben beschriebenen Ausführungsbeispiele im Zusammenhang mit den 1 bis 9 verwiesen.
  • Eine weitere Verbesserung kann dadurch erreicht werden, dass ein individuelles digitales Zertifikat in jedem Verifikationsmodul, wie es beispielsweise in dem Trusted Computing-Standard definiert ist, installiert wird und dass Hash-Referenz-Werte in sicherer Weise von außen in das Host- Computersystem ladbar sind (in dem Fall eine Aktualisierung einer Funktion des Sicherheits-Controllers). Ein Aspekt dieser Ausführungsbeispiele der Erfindung ist es, eine Vertrauenskette einzurichten (Chain of Trust), so dass ausschließlich zertifizierte Hersteller von Computerprogrammen (beispielsweise Applikations-Computerprogrammen) wie beispielsweise DRM-Eigentümer der genutzten Plattform auf die Hash-Referenz-Werte zugreifen und verändern können und gegebenenfalls nur diesen es erlaubt ist, zusätzliche Funktionen dem Sicherheits-Controller und/oder der CPU 1014 hinzuzufügen oder bestehende Funktionen zu löschen oder zu verändern.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird, in analoger Weise wie im Zusammenhang mit den 1 bis 9 beschrieben, ein sicheres geteiltes Hochfahren des Host-Computersystems vorgesehen. Dies bedeutet, dass der Hersteller der Computerplattform, beispielsweise des Host-Computersystems 1002 als auch ein zertifizierter Kundendienst-Provider, der das Host-Computersystem wartet und der Plattform-DRM-Integrator und der DRM-Eigentümer alle ein sicheres Hochfahren des Host-Computersystems und ein Ausführen des ihnen jeweils zugeordneten und von ihnen digital signierten Computerprogrammcodes ermöglicht wird, indem individuelle Zertifikate mittels einer Sicherheitseinrichtung, wie beispielsweise einer Smart Card, dem Sicherheits-Controller 1018 und den darin bereitgestellten kryptographischen Mechanismen zugeführt werden.
  • Die Verfahren zum geteilten Hochfahren des Host-Computersystems ermöglicht es dem DRM-Integrator, vollständige Kontrolle über das Hochfahren der Plattform zu haben, ermöglicht es jedoch weiterhin dem Hersteller der Plattform, unter Verwendung seiner ihm zugehörigen Software das Host-Computersystem 1002 zu integrieren, d. h. zu warten und fertig zu stellen. Das geteilte Hochfahren wird unter Verwendung des in dem Hochfahr-Speicher (Boot-ROM) gespeicherten Hochfahr-Computerprogrammcodes gesteuert, wobei der in dem Hochfahr-Speicher gespeicherte Hochfahr-Computerprogrammcode mittels einer externen Authentifikationseinrichtung verifiziert wird. Der Hochfahr-Speicher ist in dem Sicherheits-Controller 1018 vorgesehen.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird es ferner ermöglicht, diese Schutzmaßnahmen und Sicherheitsmerkmale nach einer vorgegebenen Zeitdauer im Betrieb zu deaktivieren oder beispielsweise die Ausführung von Applikations-Computerprogrammen auf der CPU 1014 nach einer vorgegebenen Nutzungszeitdauer oder nach einer vorgegebenen Anzahl von Aufrufen zu deaktivieren, oder auch die Nutzungseinschränkungen nach einer bestimmten Nutzungsdauer oder nach einer bestimmten Anzahl von Aufrufen der jeweiligen Computerapplikation zu deaktivieren, in welchem Fall der Nutzer der Plattform die Applikations-Computerprogramme nach der Entrichtung einer bestimmten vorgebbaren Gebühr frei nutzen kann.
  • Gemäß einem Ausführungsbeispiel der Erfindung kann ein öffentlicher Schlüssel des Herstellers des Host-Computersystems in Hardware, beispielsweise in dem Hochfahr-ROM des Sicherheits-Controllers 1018 als vertrauenswürdiger Startpunkt der Sicherheitskette verwendet werden im Rahmen des sicheren Hochfahrens des Host-Computersystems 1002.
  • Der Hochfahr-Prozess ist gemäß einem Ausführungsbeispiel derart definiert, dass der Nutzer der Plattform einen öffentlichen Schlüssel besitzen muss, der von dem Plattform-Lieferanten oder dem Plattform-Hersteller digital mit dessen geheimen Schlüssel signiert ist, um ein sicheres Hochfahren des Host-Computersystems 1002 zu gewährleisten. Das Hochfahren erfolgt in entsprechender Weise, wie es im Zusammenhang mit den Ausführungsbeispielen in 1 bis 9 beschrieben wurde.
  • Auf diese Weise wird es dem Plattform-Exporteur bzw. dem Hersteller der Plattform ermöglicht, Kontrolle darüber zu haben, welchen Kunden ein sicheres Hochfahren mit einem damit verknüpften Nutzen aller Funktionen des Host-Computersystem 1002 auf der Plattform erlaubt ist.
  • Allgemein kann unter Verwendung eines solchen sicheren Hochfahr-Prozesses eine vordefinierte Auswahl von für bestimmte Benutzergruppen vorgesehenen Funktionen vorgesehen sein.
  • Auf diese Weise ist es möglich, eine Computerplattform wie beispielsweise das Host-Computersystem 1002 in unterschiedlichen Anwendungsszenarien und für unterschiedliche Geschäftsmodelle einzusetzen, da es ermöglicht wird, auf Basis kryptographischer Mechanismen für unterschiedliche Nutzer eine entsprechend des Geschäftsmodells bzw. des Anwendungsszenarien „maßgeschneiderte” skalierte Funktionalität des Host-Computersystems 1002 bereitzustellen.

Claims (53)

  1. Schaltkreis-Anordnung, aufweisend • mindestens eine Krypto-Einheit, welche mindestens eine kryptographische Funktion bereitstellt, • eine Zugriffskontroll-Schnittstelle zum Prüfen einer Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion der Krypto-Einheit, wobei die Zugriffskontroll-Schnittstelle derart eingerichtet ist, dass • sie überprüft, ob das Applikation Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt, • für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die kryptographische Funktion aufgerufen wird, und • für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, die Zugriffsanforderung abgelehnt wird.
  2. Schaltkreis-Anordnung gemäß Anspruch 1, ferner aufweisend einen Applikationsprozessor zum Ausführen des Applikation-Computerprogramms.
  3. Schaltkreis-Anordnung gemäß Anspruch 1 oder 2, ferner aufweisend einen ersten Boot-Speicher zum Speichern einer ersten Teil-Boot-Routine zum Booten der Schaltkreis-Anordnung.
  4. Schaltkreis-Anordnung gemäß Anspruch 3, wobei der Boot-Speicher ein Nur-Lese-Speicher ist.
  5. Schaltkreis-Anordnung gemäß Anspruch 3 oder 4, wobei in dem Boot-Speicher ferner mindestens eine kryptographische Funktion gespeichert ist.
  6. Schaltkreis-Anordnung gemäß Anspruch 5, wobei die in dem Boot-Speicher gespeicherte mindestens eine kryptographische Funktion mindestens eine der folgenden kryptographischen Funktionen enthält: • eine symmetrische Verschlüsselungsfunktion, • eine asymmetrische Verschlüsselungsfunktion, • eine Hash-Funktion.
  7. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 6, ferner aufweisend einen ersten Schlüssel-Speicher zum Speichern eines ersten öffentlichen Schlüssels (GROMPuK) einer vertrauenswürdigen Instanz.
  8. Schaltkreis-Anordnung gemäß Anspruch 7, wobei der erste Schlüssel-Speicher ein Nur-Lese-Speicher ist.
  9. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 8, ferner aufweisend einen Kundeninformations-Speicher zum Speichern kundenspezifischer Information.
  10. Schaltkreis-Anordnung gemäß Anspruch 9, wobei der Kundeninformations-Speicher ein Nur-Lese-Speicher ist.
  11. Schaltkreis-Anordnung gemäß Anspruch 10, wobei der Kundeninformations-Speicher aus Schmelzsicherungen gebildet ist.
  12. Schaltkreis-Anordnung gemäß einem der Ansprüche 9 bis 11, wobei mittels zumindest eines Teils der kundenspezifischen Information angegeben wird, ob zumindest einer der gespeicherten Schlüssel ein Test-Schlüssel oder ein Produkt-Schlüssel ist.
  13. Schaltkreis-Anordnung gemäß einem der Ansprüche 9 bis 12, wobei mittels zumindest eines Teils der kundenspezifischen Information ein Kunde oder ein Hersteller eines Applikation-Computerprogramms eindeutig identifiziert wird.
  14. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 13, ferner aufweisend mindestens einen zweiten Schlüssel-Speicher zum Speichern eines zweiten öffentlichen Schlüssels.
  15. Schaltkreis-Anordnung gemäß Anspruch 14, ferner aufweisend mindestens einen Zertifikat-Speicher zum Speichern zumindest eines Teils eines Zertifikats des zweiten öffentlichen Schlüssels.
  16. Schaltkreis-Anordnung gemäß Anspruch 15, wobei der Teil des Zertifikats des zweiten öffentlichen Schlüssels eine oder mehrere der folgenden Informationen enthält: • eine Angabe über die Version des Zertifikats des zweiten öffentlichen Schlüssels; • eine einen zumindest einen Teil der Schaltkreis-Anordnung enthaltenden Chip identifizierende Angabe; • kundenspezifische Information; • eine die Art der Zugriffskontroll-Schnittstelle identifizierende Information.
  17. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 16, ferner aufweisend mindestens einen ersten Signatur-Speicher zum Speichern einer ersten digitalen Signatur, welche gebildet ist über eine oder mehrere der folgenden Informationen: • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels; • den zweiten öffentlichen Schlüssel; • einen Hash-Wert, welcher gebildet wurde über zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels; • einen Hash-Wert, welcher gebildet wurde über den zweiten öffentlichen Schlüssel; • einen Hash-Wert, welcher gebildet wurde über zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels und den zweiten öffentlichen Schlüssel.
  18. Schaltkreis-Anordnung gemäß Anspruch 17, wobei die erste digitale Signatur gebildet ist unter Verwendung des zu dem ersten öffentlichen Schlüssel korrespondierenden ersten privaten Schlüssel.
  19. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 18, ferner aufweisend einen Applikation-Computerprogramm-Speicher zum Speichern eines oder mehrerer Applikation-Computerprogramme.
  20. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 19, ferner aufweisend einen zweiten Boot-Speicher zum Speichern einer zweiten Teil-Boot-Routine zum Booten der Schaltkreis-Anordnung, welche nach dem erfolgreichen Ausführen der ersten Teil-Boot-Routine auszuführen ist.
  21. Schaltkreis-Anordnung gemäß Anspruch 19 und 20, wobei die zweite Teil-Boot-Routine ein Authentifizieren des oder der in dem Applikation-Computerprogramm-Speicher gespeicherten eines oder mehreren Applikation-Computerprogrammen aufweist.
  22. Schaltkreis-Anordnung gemäß Anspruch 19 und 20, wobei die zweite Teil-Boot-Routine ein Authentifizieren eines Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramms aufweist.
  23. Schaltkreis-Anordnung gemäß Anspruch 22, wobei das Authentifizieren des Krypto-Einheit-Applikations- und Programmier-Schnittstellen-Computerprogramms unter Verwendung eines weiteren öffentlichen Schlüssels erfolgt.
  24. Schaltkreis-Anordnung gemäß Anspruch 22 oder 23, ferner aufweisend mindestens einen zweiten Signatur-Speicher zum Speichern einer zweiten digitalen Signatur, welche gebildet ist über mindestens eine der folgenden Informationen: • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels; • den zweiten öffentlichen Schlüssel; • die erste digitale Signatur; • die zweite Teil-Boot-Routine.
  25. Schaltkreis-Anordnung gemäß Anspruch 24, wobei die zweite digitale Signatur gebildet ist unter Verwendung des zu dem zweiten öffentlichen Schlüssel korrespondierenden zweiten privaten Schlüssel.
  26. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 25, wobei die mindestens eine Krypto-Einheit eingerichtet ist, mindestens eine der folgenden kryptographischen Funktionen bereitzustellen: • eine symmetrische Verschlüsselungsfunktion, • eine asymmetrische Verschlüsselungsfunktion, • eine Hash-Funktion; • eine Zufallszahlen-Erzeugungsfunktion; • eine Authentifikationsfunktion.
  27. Schaltkreis-Anordnung gemäß einem der Ansprüche 14 bis 26, wobei mindestens einer der folgenden Speicher ein Chip-externer Speicher ist: • der mindestens eine zweite Schlüssel-Speicher; • der mindestens eine Zertifikat-Speicher; • der mindestens eine erste Signatur-Speicher; • der Applikation-Computerprogramm-Speicher; • der zweite Boot-Speicher; • der mindestens eine zweite Signatur-Speicher.
  28. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 27, wobei mehrere der folgenden Speicher in einem gemeinsamen Chip-externen Speicher realisiert sind: • der mindestens eine zweite Schlüssel-Speicher; • der mindestens eine Zertifikat-Speicher; • der mindestens eine erste Signatur-Speicher; • der Applikation-Computerprogramm-Speicher; • der zweite Boot-Speicher; • der mindestens eine zweite Signatur-Speicher.
  29. Schaltkreis-Anordnung gemäß einem der Ansprüche 3 bis 28, wobei die erste Teil-Boot-Routine eingerichtet ist derart, dass für den Fall, dass diese fehlschlägt, der Nutzer keinen Zugriff auf die Krypto-Einheit erhält.
  30. Schaltkreis-Anordnung gemäß einem der Ansprüche 22 bis 29, wobei die zweite Teil-Boot-Routine eingerichtet ist derart, dass für den Fall, dass diese fehlschlägt, der Nutzer keinen Zugriff auf die Krypto-Einheit erhält.
  31. Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 30, ferner aufweisend Schmelzsicherungen, welche eine Information darüber enthalten, ob ein Zugriff auf die Krypto-Einheit möglich ist.
  32. Kommunikationseinrichtung mit einer Schaltkreis-Anordnung gemäß einem der Ansprüche 1 bis 31.
  33. Kommunikationseinrichtung gemäß Anspruch 32, eingerichtet als Mobilfunk-Kommunikationseinrichtung.
  34. Verfahren zum Hochfahren einer Schaltkreis-Anordnung, aufweisend • Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, wobei das Überprüfen ein Überprüfen eines Zertifikats eines öffentlichen Schlüssels des Nutzers aufweist, • für den Fall, dass der Nutzer nicht berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, Hochfahren der Schaltkreis-Anordnung in einem ersten Modus, in welchem der Nutzer keinen Zugriff hat auf die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion, • für den Fall, dass der Nutzer berechtigt ist, die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, Hochfahren der Schaltkreis-Anordnung in einem zweiten Modus, in welchem der Nutzer Zugriff hat auf die mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion.
  35. Verfahren gemäß Anspruch 34, wobei das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, aufweist • Überprüfen eines zweiten öffentlichen Schlüssels, • für den Fall, dass der zweite öffentliche Schlüssel nicht gültig ist, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus, • für den Fall, dass der zweite öffentliche Schlüssel gültig ist, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  36. Verfahren gemäß Anspruch 35, wobei das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, aufweist • Bilden eines Hash-Werts über zumindest den zweiten öffentlichen Schlüssel, • Auslesen eines gespeicherten Hash-Werts über zumindest den zweiten öffentlichen Schlüssel, • Vergleichen des gebildeten Hash-Werts mit dem ausgelesenen Hash-Wert, • für den Fall, dass die beiden Hash-Werte nicht miteinander übereinstimmen, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus, • für den Fall, dass die beiden Hash-Werte miteinander übereinstimmen, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  37. Verfahren gemäß einem der Ansprüche 34 bis 36, wobei das Überprüfen, ob der die Schaltkreis-Anordnung hochfahrende Nutzer berechtigt ist, mindestens eine von der Schaltkreis-Anordnung bereitgestellte kryptographische Funktion zu nutzen, aufweist • Überprüfen einer zweiten digitalen Signatur, welche gebildet ist über eine der folgenden Informationen: • zumindest einen Teil eines Zertifikats des zweiten öffentlichen Schlüssels; • den zweiten öffentlichen Schlüssel; • die erste digitale Signatur; • die zweite Teil-Boot-Routine; • für den Fall, dass die zweite digitale Signatur nicht gültig ist, Hochfahren der Schaltkreis-Anordnung in dem ersten Modus, • für den Fall, dass die zweite digitale Signatur gültig ist, Hochfahren der Schaltkreis-Anordnung in dem zweiten Modus.
  38. Verfahren zum Betreiben einer Schaltkreis-Anordnung, aufweisend • Empfangen einer Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion, welche von der Schaltkreis-Anordnung bereitgestellt wird, • Überprüfen, ob das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion zuzugreifen, indem geprüft wird, ob das Applikation-Computerprogramm des Benutzers ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt, • für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion zuzugreifen, Aufrufen der kryptographischen Funktion, und • für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion zuzugreifen, Ablehnen der Zugriffsanforderung.
  39. Computerprogrammprodukt zum Betreiben einer Schaltkreis-Anordnung, welches, wenn es von einem Prozessor ausgeführt wird, aufweist: • Empfangen einer Zugriffsanforderung eines Applikation-Computerprogramms auf eine kryptographische Funktion, welche von der Schaltkreis-Anordnung bereitgestellt wird, • Überprüfen, ob das Applikation-Computerprogramm ein gültiges Zertifikat enthält, welches dem Applikation-Computerprogramm die Nutzung der kryptographischen Funktion der Krypto-Einheit erlaubt, • für den Fall, dass das Applikation-Computerprogramm berechtigt ist, auf die kryptographische Funktion zuzugreifen, Aufrufen der kryptographischen Funktion, und • für den Fall, dass das Applikation-Computerprogramm nicht berechtigt ist, auf die kryptographische Funktion der Krypto-Einheit zuzugreifen, Ablehnen der Zugriffsanforderung.
  40. Schaltkreis-Anordnung gemäß Anspruch 1 bis 31, aufweisend • mindestens eine erste Recheneinheit zum Ausführen mindestens eines Computerprogramms; • eine Zugriffskontroll-Schnittstelleneinheit zum Prüfen einer Zugriffsanforderung auf die erste Recheneinheit; • eine für die erste Recheneinheit und die Zugriffskontroll-Schnittstelleneinheit gemeinsame Eingabe-/Ausgabeschnittstelle; und • einen mit der Eingabe-/Ausgabeschnittstelle gekoppelten recheneinheits-externen Bus; • wobei die Zugriffskontroll-Schnittstelleneinheit derart mit der Eingabe-/Ausgabeschnittstelle gekoppelt ist, dass die Zugriffsanforderung von ihr ermittelt wird; • wobei die Zugriffskontroll-Schnittstelleneinheit derart eingerichtet ist, dass • sie überprüft, ob die Zugriffsanforderung einem vorgegebenen Zugriffskriterium genügt; • für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium genügt, der ersten Recheneinheit gestattet wird, die Zugriffsanforderung abzuarbeiten; • für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die Zugriffsanforderung abgelehnt wird oder eine vorgegebene Aktion durchgeführt wird.
  41. Schaltkreis-Anordnung gemäß Anspruch 40, wobei die Zugriffskontroll-Schnittstelleneinheit als eine zweite Recheneinheit eingerichtet ist.
  42. Schaltkreis-Anordnung gemäß Anspruch 40 oder 41, wobei die erste Recheneinheit als programmierbarer Prozessor eingerichtet ist.
  43. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 42, wobei die erste Recheneinheit in einem ersten Chip enthalten ist.
  44. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 43, wobei die Zugriffskontroll-Schnittstelleneinheit als programmierbarer Prozessor eingerichtet ist.
  45. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 44, wobei die Zugriffskontroll-Schnittstelleneinheit in einem zweiten Chip enthalten ist.
  46. Schaltkreis-Anordnung gemäß Anspruch 45, wobei die Zugriffskontroll-Schnittstelleneinheit in einem Sicherheits-Controller des zweiten Chips realisiert ist.
  47. Schaltkreis-Anordnung gemäß den Ansprüchen 44 und (45 oder 46), wobei der erste Chip und der zweite Chip in einem gemeinsamen Gehäuse untergebracht sind, wobei die Eingabe-/Ausgabeschnittstelle eine Gehäuse-Schnittstelle ist.
  48. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 47, ferner aufweisend einen recheneinheits-internen Bus; wobei die erste Recheneinheit und die Zugriffskontroll-Schnittstelleneinheit mit dem internen Bus gekoppelt sind.
  49. Schaltkreis-Anordnung gemäß Anspruch 48, wobei der recheneinheits-interne Bus gemäß dem JTAG-Standard eingerichtet ist.
  50. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 49, • mit mindestens einer Schaltkreis-Komponente; • wobei die Zugriffskontroll-Schnittstelleneinheit derart eingerichtet ist, dass für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die mindestens eine Schaltkreis-Komponente deaktiviert wird.
  51. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 50, wobei die Zugriffskontroll-Schnittstelleneinheit derart eingerichtet ist, dass für den Fall, dass die Zugriffsanforderung dem vorgegebenen Zugriffskriterium nicht genügt, die Funktionalität der Schaltkreis-Komponente reduziert wird.
  52. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 51, wobei die Zugriffskontroll-Schnittstelleneinheit eingerichtet ist zum Durchführen mindestens einer kryptographischen Funktion.
  53. Schaltkreis-Anordnung gemäß einem der Ansprüche 40 bis 51, wobei die Zugriffskontroll-Schnittstelleneinheit in der ersten Recheneinheit integriert ist.
DE102006046456A 2006-09-29 2006-09-29 Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte Active DE102006046456B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006046456A DE102006046456B4 (de) 2006-09-29 2006-09-29 Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte
US11/865,205 US20080082828A1 (en) 2006-09-29 2007-10-01 Circuit arrangement and method for starting up a circuit arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006046456A DE102006046456B4 (de) 2006-09-29 2006-09-29 Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte

Publications (2)

Publication Number Publication Date
DE102006046456A1 DE102006046456A1 (de) 2008-04-03
DE102006046456B4 true DE102006046456B4 (de) 2009-11-05

Family

ID=39134377

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006046456A Active DE102006046456B4 (de) 2006-09-29 2006-09-29 Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte

Country Status (2)

Country Link
US (1) US20080082828A1 (de)
DE (1) DE102006046456B4 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007072310A1 (en) * 2005-12-22 2007-06-28 Shapiro Alan J System and method for software delivery
WO2008104934A1 (en) * 2007-02-26 2008-09-04 Nokia Corporation Apparatus, method and computer program product providing enforcement of operator lock
US8225189B2 (en) * 2007-03-15 2012-07-17 Broadcom Corporation Data error detection
JP5282477B2 (ja) * 2008-08-12 2013-09-04 富士通株式会社 認証方法、プログラム、及び認証装置
US8225110B2 (en) * 2009-01-09 2012-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Cryptographic protection of usage restrictions in electronic devices
KR101554326B1 (ko) 2009-05-21 2015-09-18 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US9734496B2 (en) 2009-05-29 2017-08-15 Paypal, Inc. Trusted remote attestation agent (TRAA)
US9135424B2 (en) * 2009-05-29 2015-09-15 Paypal, Inc. Secure identity binding (SIB)
KR101532363B1 (ko) * 2009-06-25 2015-06-30 삼성전자주식회사 다중 액세스 레벨을 갖는 반도체 장치 및 그것의 액세스 제어 방법
JP5449905B2 (ja) * 2009-07-29 2014-03-19 フェリカネットワークス株式会社 情報処理装置、プログラム、および情報処理システム
US8661536B2 (en) * 2010-03-17 2014-02-25 Microsoft Corporation Side channel attack analysis
US8925055B2 (en) * 2011-12-07 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Device using secure processing zone to establish trust for digital rights management
US8892858B2 (en) * 2011-12-29 2014-11-18 Intel Corporation Methods and apparatus for trusted boot optimization
US10318936B2 (en) 2012-03-07 2019-06-11 Early Warning Services, Llc System and method for transferring funds
US10078821B2 (en) 2012-03-07 2018-09-18 Early Warning Services, Llc System and method for securely registering a recipient to a computer-implemented funds transfer payment network
US10395247B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc Systems and methods for facilitating a secure transaction at a non-financial institution system
US10395223B2 (en) 2012-03-07 2019-08-27 Early Warning Services, Llc System and method for transferring funds
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
US10970688B2 (en) 2012-03-07 2021-04-06 Early Warning Services, Llc System and method for transferring funds
EP2831787B1 (de) * 2012-03-30 2020-07-08 Irdeto B.V. Verfahren und system für vorbeugung und erkennung von sicherheitsbedrohungen
US9218462B2 (en) * 2012-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp Authentication using lights-out management credentials
EP2973156B1 (de) * 2013-03-15 2018-04-25 Intel Corporation Schlüsselwiderruf bei soi-vorrichtungen
US9384351B2 (en) * 2013-03-15 2016-07-05 Intel Corporation Method and apparatus for implementing a secure boot using multiple firmware sources
MX359837B (es) * 2013-07-23 2018-10-12 Ericsson Ab Autenticación de dispositivos clientes de medios utilizando un componente root of trust del hardware.
US9674162B1 (en) 2015-03-13 2017-06-06 Amazon Technologies, Inc. Updating encrypted cryptographic key pair
US10832246B2 (en) 2015-03-23 2020-11-10 Early Warning Services, Llc Payment real-time funds availability
US10748127B2 (en) 2015-03-23 2020-08-18 Early Warning Services, Llc Payment real-time funds availability
US10769606B2 (en) 2015-03-23 2020-09-08 Early Warning Services, Llc Payment real-time funds availability
US10839359B2 (en) 2015-03-23 2020-11-17 Early Warning Services, Llc Payment real-time funds availability
US10878387B2 (en) 2015-03-23 2020-12-29 Early Warning Services, Llc Real-time determination of funds availability for checks and ACH items
US9479340B1 (en) 2015-03-30 2016-10-25 Amazon Technologies, Inc. Controlling use of encryption keys
DE102015108504B4 (de) * 2015-05-29 2019-05-02 Fujitsu Client Computing Limited Verfahren zum sicheren Booten eines Computersystems und Computersystem
US11157884B2 (en) 2015-07-21 2021-10-26 Early Warning Services, Llc Secure transactions with offline device
US10963856B2 (en) 2015-07-21 2021-03-30 Early Warning Services, Llc Secure real-time transactions
US11151523B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US10970695B2 (en) 2015-07-21 2021-04-06 Early Warning Services, Llc Secure real-time transactions
US10956888B2 (en) 2015-07-21 2021-03-23 Early Warning Services, Llc Secure real-time transactions
US11386410B2 (en) 2015-07-21 2022-07-12 Early Warning Services, Llc Secure transactions with offline device
US11037121B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
US11062290B2 (en) 2015-07-21 2021-07-13 Early Warning Services, Llc Secure real-time transactions
US11151522B2 (en) 2015-07-21 2021-10-19 Early Warning Services, Llc Secure transactions with offline device
US10438175B2 (en) 2015-07-21 2019-10-08 Early Warning Services, Llc Secure real-time payment transactions
US11037122B2 (en) 2015-07-21 2021-06-15 Early Warning Services, Llc Secure real-time transactions
WO2017106669A1 (en) * 2015-12-17 2017-06-22 Massachusetts Institute Of Technology Systems and methods evaluating password complexity and strength
DE102015016750A1 (de) * 2015-12-23 2017-06-29 Giesecke & Devrient Gmbh Validierung und Ausführung von Provisionierungsdaten auf Appliances
US10789371B2 (en) * 2016-06-20 2020-09-29 Intel Corporation Technologies for trusted I/O with a channel identifier filter and processor-based cryptographic engine
US10366016B2 (en) * 2016-07-29 2019-07-30 Hewlett-Packard Development Company, L.P. Access to persistent memory regions of computing devices
US11151566B2 (en) 2016-09-19 2021-10-19 Early Warning Services, Llc Authentication and fraud prevention in provisioning a mobile wallet
US11223392B2 (en) * 2017-07-18 2022-01-11 Hewlett-Packard Development Company, L.P. Radio module configurations for antennas
US10599441B2 (en) * 2017-09-04 2020-03-24 Mellanox Technologies, Ltd. Code sequencer that, in response to a primary processing unit encountering a trigger instruction, receives a thread identifier, executes predefined instruction sequences, and offloads computations to at least one accelerator
FR3072195B1 (fr) * 2017-10-11 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion d'un retour de produit pour analyse et produit correspondant
CN111201553B (zh) * 2017-10-16 2022-04-22 华为技术有限公司 一种安全元件及相关设备
US20220109455A1 (en) * 2018-06-29 2022-04-07 Zenotta Holding Ag Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature
CN113348455A (zh) * 2018-06-29 2021-09-03 泽诺塔控股股份公司 利用数据控制签名提供数据的认证、不可否认性、受管控的访问和孪生分辨的装置和方法
DE102018127330A1 (de) * 2018-11-01 2020-05-07 Infineon Technologies Ag System-on-Chip und Verfahren zum Betreiben eines System-on-Chip
US11853768B2 (en) * 2022-04-22 2023-12-26 Snap Inc. Lockscreen for head-worn augmented reality device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
US20050132226A1 (en) * 2003-12-11 2005-06-16 David Wheeler Trusted mobile platform architecture
US20060136889A1 (en) * 2004-12-17 2006-06-22 Ncr Corporation Method of authenticating an executable application

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900048B2 (en) * 2002-05-07 2011-03-01 Sony Ericsson Mobile Communications Ab Method for loading an application in a device, device and smart card therefor
US20030226029A1 (en) * 2002-05-29 2003-12-04 Porter Allen J.C. System for protecting security registers and method thereof
EP1429224A1 (de) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware Laufzeit Authentisierung
US20040098591A1 (en) * 2002-11-15 2004-05-20 Fahrny James W. Secure hardware device authentication method
JP2004287590A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd デバッグシステム、マイクロプロセッサ及びデバッガ
US20050114686A1 (en) * 2003-11-21 2005-05-26 International Business Machines Corporation System and method for multiple users to securely access encrypted data on computer system
US20050132186A1 (en) * 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
US7688980B2 (en) * 2004-12-06 2010-03-30 First Data Corporation Cryptographic-key generation and management
US8051299B2 (en) * 2006-03-20 2011-11-01 Hewlett-Packard Development Company, L.P. Computer security method and computer system
US20080072066A1 (en) * 2006-08-21 2008-03-20 Motorola, Inc. Method and apparatus for authenticating applications to secure services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073316A1 (en) * 1998-02-03 2002-06-13 Thomas Collins Cryptographic system enabling ownership of a secure process
US20050132226A1 (en) * 2003-12-11 2005-06-16 David Wheeler Trusted mobile platform architecture
US20060136889A1 (en) * 2004-12-17 2006-06-22 Ncr Corporation Method of authenticating an executable application

Also Published As

Publication number Publication date
US20080082828A1 (en) 2008-04-03
DE102006046456A1 (de) 2008-04-03

Similar Documents

Publication Publication Date Title
DE102006046456B4 (de) Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte
DE60202605T2 (de) Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät
CN101300583B (zh) 用于可信赖移动电话的简单可伸缩和可配置安全启动
US9129536B2 (en) Circuit for secure provisioning in an untrusted environment
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE60002893T2 (de) Computerplattformen und deren betriebsverfahren
US8225110B2 (en) Cryptographic protection of usage restrictions in electronic devices
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE102004062203B4 (de) Datenverarbeitungseinrichtung, Telekommunikations-Endgerät und Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung
DE112005001666B4 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE60126968T2 (de) System zum schutz von dynamischen und statischen daten gegen unerlaubten manipulationen
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
AU2015359526B2 (en) Device keys protection
DE112011100514T5 (de) Prozessorsicherheit
US20140064480A1 (en) Secure provisioning in an untrusted environment
DE112009002502T5 (de) Multilayer inhalte-schützender Mikrocontoller
CN111199058B (zh) 用于确保数据的完整性和机密性的系统和方法
EP3337085B1 (de) Nachladen kryptographischer programminstruktionen
CN113114645B (zh) 提高安全模组存储容量及运行安全性的方法、装置及设备
EP2434424B1 (de) Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online-Diensten
DE602004011965T2 (de) Verfahren und schaltung zum identifizieren und/oder verifizieren von hardware und/oder software eines geräts und eines mit dem gerät arbeitenden datenträgers
EP3248136B1 (de) Verfahren zum betreiben einer computereinheit mit einer sicheren laufzeitumgebung sowie eine solche computereinheit
DE102021126509B4 (de) Tragbare Chipvorrichtung und Verfahren zum Ausführen eines Softwaremodul-Updates in einer tragbaren Chipvorrichtung
DE102015207004A1 (de) Verfahren zum geschützten Zugriff auf Sicherheitsfunktionen eines Sicherheitsmoduls eines Hostsystems
DE102021110766B3 (de) Forensik-Modul und eingebettetes System

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition