DE102008033895A1 - Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms - Google Patents

Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms Download PDF

Info

Publication number
DE102008033895A1
DE102008033895A1 DE102008033895A DE102008033895A DE102008033895A1 DE 102008033895 A1 DE102008033895 A1 DE 102008033895A1 DE 102008033895 A DE102008033895 A DE 102008033895A DE 102008033895 A DE102008033895 A DE 102008033895A DE 102008033895 A1 DE102008033895 A1 DE 102008033895A1
Authority
DE
Germany
Prior art keywords
customer
mac
key
register
flash program
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.)
Granted
Application number
DE102008033895A
Other languages
English (en)
Other versions
DE102008033895B4 (de
Inventor
Ching-Chao Yang
Tzung-Shian Yang
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of DE102008033895A1 publication Critical patent/DE102008033895A1/de
Application granted granted Critical
Publication of DE102008033895B4 publication Critical patent/DE102008033895B4/de
Expired - Fee Related 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

In einer Ausführungsform der Erfindung wird eine Vorrichtung zur Authentifikation eines Flash-Programms bereitgestellt. Die Vorrichtung umfasst einen eindeutigen Hardware-Schlüssel, ein Register, das eine Kundenidentität (ID) speichert, und eine Nachrichten-Identifikations-Code (MAC)-Erzeugungseinheit. Die MAC-Erzeugungseinheit erlangt einen Wurzel-Schlüssel korrespondierend zu dem Hardware-eindeutigen Schlüssel und der Kunden-ID und erzeugt eine MAC für das Flash-Programm unter Verwendung des Wurzel-Schlüssels, wobei der Inhalt des Registers gesperrt wird, um Modifikationen der gespeicherten Kunden-ID zu verhindern bis zum nächsten System-Reset.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die Erfindung bezieht sich auf Flash-Programm, und insbesondere auf eine Vorrichtung und ein Verfahren zur Authentifizierung eines Flash-Programms.
  • Beschreibung des Standes der Technik
  • Eine Form von Sicherheitsmechanismen ist die Verwendung eines eindeutigen Hardware-Schlüssels (HU), der in einen Chip geladen wird. Der HU-Schlüssel wird in einen Chip geladen, um kryptographische Anforderungen wie der Geheimhaltung, Integrität und Authentizität in einer Vielzahl von Anwendungen zu gewährleisten. Hieraus ergibt sich, dass der HU-Schlüssel eindeutig auf jedem Chip ist. Wenn der HU-Schlüssel in einen Chip geladen wird, kann sein Wert nicht verändert werden. Ein anderer Vorteil der Verwendung eines HU-Schlüssels ist, dass er nicht extern geladen werden kann.
  • Hieraus ergibt sich, dass der HU-Schlüssel im Wesentlichen als Sicherheitsmechanismus verwendet wird. Im Allgemeinen wird die ursprüngliche Information, die an den Chip übertragen wird, durch den HU-Schlüssel verschlüsselt und die Ausgabe der verschlüsselten Informationen kann nicht unmittelbar gelesen werden. Der HU-Schlüssel kann in jeglichem, nicht flüchtigen Speicher gespeichert werden.
  • Kurze Zusammenfassung der Erfindung
  • In einem Aspekt der Erfindung wird eine Vorrichtung zur Authentifizierung eines Flash-Programms bereitgestellt. Die Vorrichtung umfasst einen eindeutigen Hardware-Schlüssel, ein Register, das eine Kundenidentität (ID) speichert und eine Nachrichten-Authentifizierungs-Code/message authentication code(MAC)-Erzeugungseinheit. Die MAC-Erzeugungseinheit erlangt einen Wurzel-Schlüssel (root key), der mit dem eindeutigen Hardware-Schlüssel und der Kunden-ID korrespondiert und erzeugt eine MAC für das Flash-Programm unter Verwendung des erlangten Wurzel-Schlüssels, wobei der Inhalt des Registers gesperrt wird, um Modifikationen der gespeicherten Kunden-ID zu verhindern bis zum nächsten System-Reset.
  • In einem weiteren Aspekt der Erfindung wird ein Verfahren zur Authentifizierung eines Flash-Programms offenbart. Das Verfahren wird durch ein elektronisches Gerät durchgeführt und umfasst: Erlangen eines eindeutigen Hardware-Schlüssels korrespondierend zum elektronischen Gerät, Erlangen einer Kundenidentität (ID) korrespondierend zu einem Kunden; Erlangen eines Wurzel-Schlüssels korrespondierend zu dem eindeutigen Hardware-Schlüssel und der Kundenidentität; und Erzeugen einer MAC für das Flash-Programm unter Verwendung des erlangten Wurzel-Schlüssels.
  • Ein anderer Aspekt der Erfindung ist ein Verfahren zur Authentifizierung eines Flash-Programms, das auch entsprechend offenbart wird. Das Verfahren wird durch ein elektronisches Gerät durchgeführt und umfasst: Erlangen einer MAC; Erlangen einer Kunden-ID korrespondierend zu einem Kunden; Bestimmen, ob die MAC mit der Kunden-ID korrespondiert; und Booten des elektrischen Geräts mit dem Flash-Programm, wenn die MAC-Adresse mit der Kunden-ID korrespondiert.
  • In einem anderen Aspekt der Erfindung wird eine Vorrichtung zur Authentifizierung eines Flash-Programms bereitgestellt. Die Vorrichtung umfasst einen eindeutigen Hardware-Schlüssel, ein Register, das eine Kundenidentität speichert, eine Schlüssel-Erzeugungs-Einheit und einen Zugriffsschutz-Schaltkreis. Die Schlüsselerzeugungs-Einheit erzeugt einen Wurzel/Root-Schlüssel korrespondierend zu der Kunden-ID und dem eindeutigen Hardware-Schlüssel, der Inhalt des Registers wird gesperrt durch den Sperr-Schaltkreis, um Modifikationen der gespeicherten Kunden-ID bis zum nächsten System-Reset zu verhindern.
  • Eine detaillierte Beschreibung wird gegeben in den folgenden Ausführungsformen, die Bezug nehmen auf die beigefügten Zeichnungen.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung kann besser verstanden werden durch Lesen der folgenden detaillierten Beschreibung und Beispiele, die Bezug nehmen auf die beigefügten Zeichnungen:
  • 1 ist ein Blockdiagramm eines Verschlüsselungssystems.
  • 2 ist ein Blockdiagramm einer Hardware-Architektur einer Ausführungsform eines Flash-Programm-Managementsystems gemäß der Erfindung.
  • 3 ist ein Blockdiagramm einer Ausführungsform eines Verschlüsselungssystems gemäß der Erfindung.
  • 4 ist ein schematisches Diagramm einer Ausführungsform eines Sperrschaltkreises gemäß der Erfindung.
  • 5 ist ein Flussdiagramm einer Ausführungsform einer Authentifikationsmethode durchgeführt durch ein Authentifikationssystem gemäß der Erfindung.
  • 6 ist ein schematisches Diagramm einer MAC-Erzeugung während des Flash-Programm-Downloads.
  • 7 ist ein schematisches Diagramm einer MAC-Erzeugung und Validierung während des System-Bootens.
  • 8 ist ein Diagramm einer Ausführungsform einer MAC-Erzeugungseinheit gemäß der Erfindung.
  • 9 ist ein Diagramm einer anderen Ausführungsform einer MAC-Erzeugungseinheit gemäß der Erfindung.
  • 10 ist ein Flussdiagramm einer anderen Ausführungsform eines Authentifikationsverfahrens, das durch ein Authentifikationssystem gemäß der Erfindung durchgeführt wird.
  • 11 ist ein schematisches Diagramm für eine MAC-Erzeugung und Validierung während des System-Bootens.
  • Detaillierte Beschreibung der Erfindung
  • Folgende Beschreibung stellt den bestmöglichen Modus für eine Durchführung der Erfindung dar. Die Beschreibung wurde zum Zwecke der Darstellung von allgemeinen Prinzipien der Erfindung gemacht und ist nicht in einem beschränkenden Sinne zu verstehen. Der Schutz der Erfindung wird am besten durch Bezugnahme auf die angefügten Ansprüche bestimmt.
  • 1 ist ein Blockdiagramm eines Verschlüsselungssystems. Der Klartext 11 wird zur Chiffrierungseinheit 12 für die Verschlüsselung übertragen. Die Chiffrierungseinheit 12 empfängt den Klartext 11, um den chiffrierten Text 14 zu erzeugen, auch als verschlüsselter Text bezeichnet, basierend auf einem eindeutigen Hardware-(HU)-Schlüssel. Dies ist nicht der Stand der Technik zum Zwecke der Bestimmung der Patentfähigkeit der Erfindung und zeigt ein Problem, das durch die Erfinder gefunden wurde. Bei diesem System kann auf den HU-Schlüssel 13 nur durch die Chiffrier-Einheit 12 zugegriffen werden und die Chiffriereinheit 12 kann durch Software-Kontrolle manipuliert werden. Somit hat das System einige Sicherheitslöcher. So sind der HU-Schlüssel 13 und die Chiffriereinheit 12 im Allgemeinen in einem Chip eingebettet, bevor dieser ausgeliefert wird, und der HU-Schlüssel 13 kann nicht modifiziert werden durch irgendwelche Mittel. Jedoch könnte ein Hacker sehr einfach den Klartext 11 erlangen, indem er eine Software erstellt, die entweder die Chiffriervorrichtung 12 manipuliert, um den verschlüsselten bzw. chiffrierten Text 14 zu entschlüsseln ohne dass der HU-Schlüssels 13 geknackt wird.
  • 2 ist ein Blockdiagramm der Hardware-Architektur einer Ausführungsform eines Flash-Programm-Managementsystems gemäß der Erfindung. Das Flash-Programm-Managementsystem ist in einem Chip oder einem elektronischen Gerät eingebettet. Wenn das gesamte System resettet wird, führt der Micro-Controller (MCU) 21 anfänglich das Boot-Programm aus, das auf dem Boot-ROM gespeichert ist. Das ausgeführte Boot-Programm detektiert, ob ein Flash-Programm herunter zu laden ist. Wenn ein Flash-Programm herunter zu laden ist, werden die Kundeninformationen, die zu dem Flash-Programm korrespondieren, bereitgestellt, wobei die Kundeninformationen eine Kunden-ID umfassen. Die Kunden-ID der bereitgestellten Kundeninformationen wird im Folgenden in das Register 22b geschrieben. Wenn die Kundeninformationen im Register 22b gespeichert sind, verschließt der Verschluss-Schaltkreis 22a den Inhalt des Registers 22b, um Modifikationen der gespeicherten Kunden-ID zu verhindern bis zum nächsten System-Reset. Die Operationseinheit 25 empfängt die Kunden-ID von Register 22b und den HU-Schlüssel 265, um einen Wurzel-Schlüssel zu erzeugen. In einer anderen Ausführungsform erzeugt die Operationseinheit 25 den Wurzel-Schlüssel basierend auf den Kundeninformationen und den HU- Schlüssel 26. Die Nachrichten-Authentifikations-Code(MAC)-Erzeugungseinheit 23 erzeugt einen MAC gemäß den Kundeninformationen und dem Wurzel-Schlüssel. Die MAC und die Kundeninformationen werden in einem externen Flash 29 über das externe Speicherinterface (EMI) 27 gespeichert.
  • Wenn ein Flash-Programm nicht herunter geladen wird, werden Kundeninformationen, die mit einem Flash-Programm korrespondieren vom externen Flash 29 über die EMI 27 erlangt, wobei die Kundeninformationen eine Kunden-ID umfassen und das Flash-Programm wird im externen Flash 29 gespeichert. Eine MAC wird vom externen Flash 29 über die EMI 27 erlangt. Es wird bestimmt, ob die erlangte MAC mit den erlangten Kundeninformationen konform ist. Nachdem bestimmt wurde, dass der MAC mit den Kundeninformationen konform ist, wird mit dem Flash-Programm ein System-Booten durchgeführt.
  • 3 ist ein Blockdiagramm einer Ausführungsform eines Verschlüsselungssystems gemäß der Erfindung. Die Operationseinheit empfängt den HU-Schlüssel 31 und die Kunden-ID 32, um einen Wurzel-Schlüssel oder einen MAC zu erzeugen. Ein Software-kontrollierbares Register (Software UID) wird verwendet, um die Kundeninformationen zu speichern, wie z. B. die Kunden-ID 32. Der Verschluss-Schaltkreis 32 verschließt das Register, das die Kunden-ID speichert, um Modifikationen der gespeicherten Kunden-ID bis zum nächsten System-Reset zu verhindern. Die Chiffrier-Vorrichtung 36 empfängt den Klartext 35, um einen chiffrierten Text 37 zu erzeugen, auch als verschlüsselter Text bezeichnet, basierend auf der Ausgabe von der Betriebseinheit 34. In diesem System wird der HU-Schlüssel während der Herstellung des Chips bereitgestellt und die Kunden-ID wird durch den Kunden mitgeteilt. In diesem System wird die eindeutige Kunden-ID in Verbindung mit dem HU-Schlüssel verwendet, um die Verschlüsselung und Entschlüsselung durchzuführen. Dies macht den chiffrierten Text eindeutig für jeden Kunden (im Allgemeinen eine eindeutige Kunden-ID), auch wenn der HU-Schlüssel der gleiche ist. Der Inhalt des Registers wird geschrieben und verriegelt/gesperrt durch ein Boot-ROM-Programm wie z. B. das, das im Boot-ROM 24 der 2 nach der Zertifizierung gespeichert wurde.
  • 4 ist ein schematisches Diagramm einer Ausführungsform eines Sperrschaltkreises gemäß der Erfindung. Während des System-Resettens wird ein Signal-System-Reset als Eingabe des D flip-flog 42 verwendet, um die Daten, die darin gesperrt sind, zu löschen. Der D flip-flog 42 weist einen Clock-Input-Terminal bzw. Anschluss auf, das ein Signal-REG_WR_1 empfängt, und einen Dateneingabe-Anschluss bzw. Terminal, der den Output eines ODER-Gatters 41 empfängt. Das ODER-Gatter hat einen ersten Eingangsanschluss bzw. ein Input-Terminal, das ein Kontrollsignal empfängt und ein zweites Input-Terminal, das mit dem Output-Terminal Q des flip-flops 22 verbunden ist. Ein Inverter 43 empfängt und invertiert das Output-Ausgabesignal vom D flip-flog 42 und das invertierte Signal wird dann an ein UND-Gatter 44 gesendet. Das UND-Gatter 44 empfängt weiterhin ein Signal REG_WR_2. Das Signal REG_WR_2 kann konstant auf 1 gesetzt sein. Der D flip-flog 45 hat einen Clock- bzw. Zeit-Input-Terminal, der das Output-Signal des UND-Gatters 44 empfängt und einen Dateneingabeanschluss bzw. ein Terminal, das die Kunden-ID empfängt. Da lediglich eine D flip-flog-Einheit ein Bit verriegelt, hängt die Anzahl von D flip-flops 45 von der Anzahl von Bits der Kunden-ID ab. Das Kundensignal wird auf Null gesetzt, wenn die Kunden-ID auf das D flip-flog 45 schreibt und das Kontroll-Signal wird auf 1 gesetzt nach Abschluss des Schreibens der Kunden-ID. Wenn die Kunden-ID auf den D flip-flog 45 schreibt, werden das Signal REC_WR_1 und das Signal REC_WR_2 bestimmt. In dieser Ausführungsform werden das Signal REC_WR_1 und das Signal REK_WR_2 durch das Boot-ROM-Programm kontrolliert. Es versteht sich, dass das ODER-Gatter 41, der D flip-flog 42, der Inverter 43 und das UND-Gatter 44 als Verschluss/Verriegelungsschaltkreis betrachtet werden können. Sobald ein System-Reset-Signal als Input für den D flip-flog 42 gegeben wird, ist die Ausgabe des D flip-flog 42 Null, das das UND-Gatter 44 aktiviert, um das invertierte Signal von Eins zu empfangen und dann geht der Clock-Input des D flip-flops 45 auf HIGH/Hoch, so dass es erlaubt wird, dass die Kunden-ID in den D flip-flog geschrieben wird. Danach bleibt der Ausgang des D flip-flops 42 auf Eins bis ein anderes Signal SYSTEM RESET als Eingabe an den D flip-flog 42 gegeben wird, was es dem Kunden wiederum erlaubt, die Kunden-ID konstant durch den D flip-flog 45 zu verriegeln.
  • 5 ist ein Flussdiagramm einer Ausführungsform eines Authentifikationsverfahrens, durchgeführt durch ein Authentifikationssystem gemäß der Erfindung. Im Schritt S501 wird das gesamte System resetted/zurückgesetzt. Im Schritt S502 detektiert das Authentifikationssystem, ob ein Flash-Programm herunter zu laden ist aufgrund eines externen Kontrollsignals. Es ist zu beachten, dass das Flash-Programm von einer externen elektronischen Vorrichtung herunter geladen werden kann, wie z. B. einem Personal Computer, einem Notebook, einem Personal Digital Assistant, einem mobilen Telefon, einem Smart Phone oder ähnlichem. Falls ein Flash-Programm darauf wartet, herunter geladen zu werden, führt das Verfahren die Schritte S503 bis S509 durch. Falls es kein Flash-Programm gibt, das herunter zu laden ist, so geht das Verfahren weiter mit Schritt S510 bis S515. In Schritt S503, werden Kundeninformationen, die mit dem Flashprogramm korrespondieren, für die Authentifikation bereitgestellt, wobei die Kundeninformationen eine Kunden-ID umfassen. In Schritt S505, wenn die Kundeninformationen zertifiziert werden, springt die Prozedur zu Schritt S506. Wenn die Kundeninformationen nicht zertifiziert wurden, springt die Prozedur in einen Fehlerbehandlungsstatus. In Schritt S506 verlangt das Authentifikationssytem eine Kunden-ID von dem bereitgestellten Kundeninformationen und sichert die Kunden-ID in einem Register (im Allgemeinen 22b der 2 oder 45 der 4), im Schritt S507. Dann in Schritt S508 erzeugt das Authentifikationssystem eine MAC für die bereitgestellten Kundeninformationen unter Verwendung eines HU-Schlüssels (im Allgemeinen 26 der 2) und die Kunden-ID, die im Register gespeichert ist. In Schritt S509 schreibt das Authentifikationssystem die Kundeninformationen, die erzeugte MAC und das Flash-Programm auf einen externen Flash-Memory/Flash-Speicher (im Allgemeinen 29 der 2). Nach dem Schritt S509 wird das gesamte System erneut resetted.
  • Falls es kein Flash-Programm gibt, das herunter zu laden ist, so springt die Prozedur zu Schritt S510. In Schritt S510 liest das Authentifikationssystem die Kundeninformation von einem externen Flash-Speicher und erlangt eine Kunden-ID von den gelesenen Kundeninformationen in Schritt S511. Schritt S512 schreibt das Authentifikationssystem und sichert die Kunden-ID in einem Register (im Allgemeinen 22b der 2 oder 45 der 4). In Schritt S513 erzeugt das Authentifikationssystem eine MAC für die bereitgestellten Kundeninformationen unter Verwendung des HU-Schlüssels (im allgemeinen 26 der 2) und die Kunden-ID, die im Register gespeichert ist. Im Schritt S514 bestimmt das Authentifikationssystem, ob die MAC die gleiche ist, wie die MAC, die im externen Flash-Speicher gespeichert wurden. Falls nicht, springt die Prozedur zu einem Fehlerbehandlungszustand. Falls ja, wird das gesamte System mit dem Flash-Programm gespeichert, das im externen Flash- Memory gespeichert wurde. Es versteht sich, dass das Authentifikationssystem durch dedizierte Hardware-Schaltkreise oder eine MCU (im allgemeinen 21 der 2) umgesetzt werden kann.
  • 6 ist ein schematisches Diagramm für eine MAC-Erzeugung während eines Flash-Programm-Downloads. Unter Bezugnahme auf die Schritte S503 bis S509 der 5 ergibt sich, dass vor dem Herunterladen eines Flash-Programms die erste Kundeninformation 61, die zum Flashprogramm korrespondiert, für die Authentifikation bereitgestellt wird. Wenn eine erste Kundeninformation 61 zertifiziert ist, so wird die erste Kundeninformation 61 umfassend eine erste Kunden-ID 61a an eine MAC-Erzeugungseinheit 65 übertragen, und die erste Kunden-ID 61a wird in das Register 62 geschrieben. Wenn das ganze System resetted wird, säubert das oben genannte Boot-ROM-Programm den ursprünglichen Inhalt des Registers 62 und schreibt die Kundeninformationen in das Register 62. In dieser Ausführungsform wird der Inhalt des Registers 62 gesperrt, um Modifikationen der gespeicherten Kunden-ID zu verhindern bis zum nächsten System-Reset. Wenn die Kundeninformationen nicht zertifiziert sind, springt die MAC-Erzeugungsprozedur in einen Fehlerbehandlungsstatus. Die Betriebseinheit 64 erlangt die erste Kunden-ID vom Register 62 und ein HU-Schlüssel, um einen Wurzel-Schlüssel zu erzeugen. Die MAC-Erzeugungseinheit 65 erzeugt einen ersten MAC 67 basierend auf dem Wurzel-Schlüssel und den ersten Kundeninformationen 61. Die MAC-Erzeugungseinheit 65 kann das erste MAC 67 durch Verschlüsseln der ersten Kundeninformation 61 unter Verwendung des Wurzel-Schlüssels erzeugen. Es versteht sich, dass der erste MAC 67 verwendet wird, um die Validität und die Integrität der ersten Kundeninformationen 61 zu verifizieren. Modifikationen von einem ersten MAC 67 und dem ersten Kundeninformationen 61 würden die folgende Authentifikation verletzen. In einer anderen Ausführungsform kann die MAC-Erzeugungseinheit 65 ersetzt werden durch einen Schlüsselgenerator, um einen anderen eindeutigen Schlüssel zu erzeugen, basierend auf dem Wurzel-Schlüssel und der ersten Kunden-ID 61a. Dann werden die Kundeninformationen 61 und die erste MAC 67 in ein externes Flash-Memory 66 geschrieben. In dieser Ausführungsform kann der Wurzel-Schlüssel ein arithmetisches Ergebnis des HU-Schlüssels 63 und der ersten Kunden-ID 61a sein. So kann z. B. der Wurzel-Schlüssel erzeugt werden durch Addieren des HU-Schlüssels 63 mit der Kunden-ID 61a, Subtrahieren des HU-Schlüssels 63 von der Kunden-ID, Multiplizieren der Kunden-ID 61 mit dem HU-Schlüssel 63 oder Dividieren der Kunden-ID 61a mit dem HU-Schlüssel 63. Weiterhin kann der Wurzel-Schlüssel ein Bit- weises AND, ODER oder XOR-Ergebnis der Kunden-ID 61a mit dem HU-Schlüssel 63 sein. In einer anderen Ausführungsform kann der Wurzel-Schlüssel ein arithmetisches Ergebnis des HU-Schlüssels 63 und der Kundeninformation 61 sein. In dieser Ausführungsform kann die MAC-Erzeugung 65 durchgeführt werden durch Hardware-Schaltkreise oder einen Prozessor der einen entsprechenden Programmcode ausführt.
  • 7 ist ein schematisches Diagramm für eine MAC-Erzeugung und Validierung während des System-Bootens. Bezieht man sich auf die Schritte S510 bis S515 der 5, und wird angenommen, dass die zweite Kundeninformation 72 eine zweite Kunden-ID 72a umfasst und eine zweite MAC 73, wie bereits in einem externen Flash-Memory 71 bereitgestellt vor dem aktuellen System-Reset; so liest ein Authentifikationssystem die zweite Kundeninformation 72 vom externen Flash-Memory 71 und erlangt die zweite Kunden-ID 72b von der gelesenen Kundeninformation. Wenn das gesamte System resetted wird, so löscht das oben genannte Boot-ROM- Programm den originalen Inhalt des Registers 62 und schreibt die zweite Kunden-ID 72a in ein Register 76. In dieser Ausführungsform wird der Inhalt des Registers 76 geblockt bzw. gesperrt, um Modifikationen der gespeicherten Kunden-ID bis zum nächsten System-Reset zu verhindern. Ähnlich zur Betriebseinheit 64 der 6 verlangt die Betriebseinheit 78 die zweite Kunden-ID vom Register 76 und einen HU-Schlüssel 77, um einen Wurzel-Schlüssel zu erzeugen. Die MAC-Erzeugungseinheit 74 erzeugt den dritten MAC 75 basierend auf dem Wurzel-Schlüssel und der zweiten Kunden-ID 72b. Es versteht sich, dass die Erzeugungsalgorithmen des Wurzel-Schlüssels und der dritten MAC 75 die gleichen sein sollten wie zur Erzeugung der zweiten MAC 73. Ein MAC-Komparator 79 authentifiziert ein Flash-Programm des externen Flash-Speichers 71 durch das Bestimmen, ob die erzeugte dritte MAC 75 die gleiche ist wie die zweite MAC 73, die im externen Flash-Memory bzw. Flash-Speicher 71 gespeichert ist. Falls dies nicht der Fall ist, springt die Prozedur in einen Fehlerbehandlungs-Status über. Falls ja, wird ein System-Booten durchgeführt mit dem im externen Flash-Speicher 71 gespeicherten Flash-Programm. Es kann somit abgeleitet werden, dass das Flash-Programm nur erfolgreich authentifiziert wird (im Allgemeinen wenn die zweite MAC 73 äquivalent ist zur dritten MAC 75), wenn die erste Kundeninformation 61, Kunden-ID 61a und MAC 67 entsprechend gleich der zweiten Kundeninformation 72, der Kunden-ID 72a und der MAC 73 sind. In dieser Ausführungsform kann die MAC-Erzeugung 74 durch Hardware-Schaltkreise oder durch einen Prozessor (im allgemeinen 21 der 2) der den Programm-Code ausführt, erfolgen.
  • 8 ist ein Diagramm einer Ausführungsform einer MAC-Erzeugungseinheit gemäß der Erfindung umfassend eine Hash-Einheit und eine Verschlüsselungseinheit 82. Die Hash- Einheit 81 empfängt die Kundeninformation und erzeugt einen Hash-Wert der Kundeninformationen unter Verwendung einer wohlbekannten Hash-Funktion. Die Hash-Funktion wandelt eine variable Länge von Kundeninformationen in eine feste Länge und einen relativ kleinen Output (im allgemeinen Hash-Wert) der als digitaler „Fingerabdruck" der Kundeninformationen dient. Die Verschlüsselungseinheit 82 erzeugt eine MAC durch verschlüsseln des Hash-Wertes unter Verwendung des Wurzel-Schlüssels.
  • 9 ist ein Diagramm einer anderen Ausführungsform einer MAC-Erzeugungseinheit gemäß der Erfindung umfassend eine Datenverbindungseinheit 91 und eine Hash-Einheit 93. Die Datenverbindungseinheit 91 verbindet die Kundeninformationen mit dem Wurzel-Schlüssel, um ein verbundenes Ergebnis zu erzeugen. In dieser Ausführungsform kann das verbundene Resultat ein arithmetisches Resultat des Wurzel-Schlüssels und der Kundeninformation sein. Die Hash-Einheit 92 erzeugt einen Hash-Wert des verbundenen Resultats der Kundeninformationen mit dem Wurzel-Schlüssel unter Verwendung einer wohlbekannten Hash-Funktion bezeichnet als MAC.
  • 10 ist ein Flussdiagramm einer anderen Ausführungsform eines Authentifikationsverfahrens, durchgeführt durch einen Authentifikationssystem gemäß der Erfindung. In Schritt S101 wird das ganze System resetted. Im Schritt S102 detektiert das Authentifikationssystem, ob ein Flash-Programm gemäß den externen Kontrollsignalen herunter geladen werden soll. Es ist zu beachten, dass das Flash-Programm von einem externen elektronischen Gerät wie z. B. einem Personal Computer, einem Notebook, einem Personal Digital Assistant, ein Mobiles Telefon, ein Smart Phone oder ähnlichem herunter geladen werden kann. Falls ein Flash-Programm wartet, dass es herunter geladen werden soll, bearbeitet das Verfahren die Schritte S103 bis S109. Falls es kein Flash-Programm gibt, das herunter geladen werden soll, führt das Verfahren die Schritte S110 bis S115 durch. Im Schritt S503 werden Kundeninformationen, die mit dem Flash-Programm korrespondieren, für die Authentifikation bereitgestellt, wobei die Kunden-Informationen eine Kunden-ID umfassen. In Schritt S105 springt, nachdem die die Kundeninformationen bestätigt wurden, die Prozedur zu Schritt S106. Falls die Kundeninformationen nicht bestätigt werden, springt die Prozedur in einen Fehlerbehandlungszustand. In Schritt S106 erlangt das Authentifikationssystem eine Kunden-ID von dem bereitgestellten Kundeninformationen und schreibt und sperrt die Kunden-ID in ein Register (im Allgemeinen 22b der 2 oder 45 der 4) in Schritt S107. Dann, in Schritt S108 erzeugt das Authentifikationssystem eine MAC für die bereitgestellten Kundeninformationen unter Verwendung eines HU-Schlüssels (im allgemeinen 26 der 2 und die Kunden-ID, die im Register gespeichert ist). Im Schritt S109 schreibt das Authentifikationssystem die Kundeninformationen die Kundeninformationen, die erzeugte MAC und das Flash-Programm auf einen externen Flash-Speicher (im allgemeinen 29 der 2). Nach dem Schritt S109 wird das ganze System erneut resetted.
  • Falls es kein Flash-Programm gibt, das herunter zu laden ist, springt die Prozedur zu Schritt S110. In Schritt S110 liest das Authentifikationssystem die MAC von einem externen Flash-Speicher und erlangt einen zweiten Hash-Wert durch Entschlüsseln der gelesenen MAC in Schritt S111. Dann erlangt das Authentifikationssystem die Kundeninformationen vom externen Flash in Schritt S112 und überträgt die Kundeninformationen an einen Hash-Wert-Generator, um einen ersten Hash-Wert zu erzeugen von den erlangten Kundeninformationen Schritt S113. In Schritt S114 bestimmt das Authentifikationssystem, ob der erste Hash-Wert der gleiche ist wie der zweite Hash-Wert. Falls ja, springt die Prozedur zu Schritt S115 und das gesamte System bootet mit dem Flash-Programm, das ursprünglich auf dem externen Speicher gespeichert wurde. Falls nicht, springt die Prozedur in einen Fehlerbehandlungszustand. Es versteht sich, dass das Authentifikationssystem durch dedizierte Hardware-Schaltkreise oder eine MCU (im allgemeinen 21 der 2) praktiziert werden kann.
  • 11 ist ein schematisches Diagramm zur MAC-Erzeugung und Validierung während des System-Bootens. Es wird aus Schritt S110 bis S115 der 10 verwiesen und angenommen, dass die zweite Kundeninformation 1001 eine zweite Kunden-ID 1012 umfasst und eine zweite MAC 1002, die bereits in einem externen Flash-Speicher 1003 bereitgestellt wird, bevor das aktuelle System resetted wird. Das gesamte System wird resetted, das oben genannte Boot-Programm löscht den originalen Inhalt des Registers 1006 und der Kunde schreibt die Kunden-ID 1012 in das Register 1006. In dieser Ausführungsform wird der Inhalt des Registers gesperrt, um Modifikationen der Kunden-ID bis zum nächsten System-Reset zu verhindern. Die Verschlüsselungseinheit 1008 erlangt die zweite MAC 1002 vom externen Flash-Memory 1003. Danach erzeugt die Verschlüsselungseinheit 1008 einen zweiten Hash-Wert 1009 basierend auf einem Root-Schlüssel. Die Operationseinheit 1010 erlangt eine Kunden-ID vom Register 1006 und der HU-Schlüssel 1007, um den Wurzel-Schlüssel zu erzeugen. Ein Hash-Wert-Generator 1004 erlangt die zweiten Kundeninformationen 1001 vom externen Flash-Speicher 1001 und erzeugt einen ersten Hash-Wert 1005 für die erlangte Kundeninformation 1001 unter Verwendung einer wohlbekannten Hash-Funktion. Der Hash-Wert-Komparator 1011 vergleicht dann den ersten Hash-Wert 1005 und den zweiten Hash-Wert 1009. Wenn der erste Hash-Wert 1005 der gleiche ist wie der zweite Hash-Wert 1009 wird ein Signal durch den Hash-Wert-Komparator 1011 ausgegeben, um anzuzeigen, dass ein Flash-Programm korrespondiert zur zweiten Kundeninformation 1001 authentifiziert wird. Andernfalls wird ein Signal durch den Hash-Wert-Komparator 1011 aufgegeben, um anzuzeigen, dass ein Flashprogramm, das mit der zweiten Kundeninformation 1001 korrespondiert nicht authentifiziert wird. In dieser Ausführungsform kann der Hash-Wert-Komparator 1011 als Hardware-Schaltkreis oder als Prozessor (im allgemeinen 21 der 2) ausgebildet sein, der entsprechende Software-Code ausführt.
  • Auch wenn die Erfindung durch Beispiele und mit Bezugnahme auf bevorzugte Ausbildungsformen beschrieben wurde, versteht es sich, dass sie darauf nicht beschränkt ist. Im Gegenteil, es ist beabsichtigt, eine Vielzahl von Modifikationen und ähnlichen Anordnungen (wie sie einem Fachmann auf diesem Gebiet nahe liegen würden) abzudecken. Daher ergibt sich, dass der Schutzumfang der folgenden Ansprüche der breitesten Interpretation zugänglich sein sollte, sodass all solche Modifikationen und ähnlichen Anordnungen dadurch abgedeckt sind.

Claims (21)

  1. Eine Vorrichtung zur Authentifikation eines Flash-Programms umfassend: einen eindeutigen Hardware-Schlüssel (26); ein Register (22b), das eine Kunden-Identität (ID) speichert; und eine Nachrichten-Authentifikations-Code(MAC)-Erzeugungseinheit (23), die einen Wurzel-Schlüssel erlangt, der mit dem eindeutigen Hardware-Schlüssel und der Kunden-ID korrespondiert, und Erzeugen einer ersten MAC für das Flash-Programm unter Verwendung des erlangten Wurzel-Schlüssels, wobei der Inhalt des Registers gesperrt ist, um Modifikationen der gespeicherten Kunden-ID zu verhindern bis zum nächsten System-Reset.
  2. Die Vorrichtung nach Anspruch 1, weiterhin umfassend einen Sperrschaltkreis (22a) zum Sperren eines Registers nachdem die Kunden-ID in das Register (22b) beschrieben ist.
  3. Die Vorrichtung nach Anspruch 1 oder 2 weiterhin umfassend einen Boot-ROM (24), das ein Boot-Programm speichert, um die Kunden-ID in das Register zu schreiben.
  4. Die Vorrichtung nach Anspruch 3 wobei das Boot-Programm aktiviert wird als Antwort auf das System-Reset-Signal (SYSTEM RESET) und das Register wird ebenfalls initialisiert als Antwort auf das System-Reset-Signal.
  5. Die Vorrichtung gemäß einem der vorhergehenden Ansprüche, weiterhin umfassend eine Operationseinheit (25), die die Kunden-ID und den eindeutigen Hardware-Schlüssel empfängt, um den Wurzel-Schlüssel zu erzeugen.
  6. Die Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die MAC-Erzeugungseinheit (23) umfasst: eine Hash-Einheit (81), die einen Hash-Wert korrespondierend zu den Kundeninformationen umfassend die Kunden-ID, erzeugt; und eine Verschlüsselungseinheit (82), die einen ersten MAC erzeugt durch Verschlüsseln des Hash-Wertes unter Verwenden eines Wurzel-Schlüssels.
  7. Die Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die MAC-Erzeugungseinheit umfasst: eine Datenverbindungseinheit, die ein erstes Ergebnis korrespondierend zu der Kunden-ID und dem eindeutigen Hardware-Schlüssel erzeugt; und eine Hash-Einheit, die einen Hash-Wert aus dem ersten Ergebnis als die erste MAC erzeugt.
  8. Die Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die Vorrichtung in ein elektronisches Gerät eingebettet ist und das elektrische Gerät wird gebootet mit dem Flash-Programm, wenn die erste MAC authentifiziert wird.
  9. Die Vorrichtung nach Anspruch 8, weiterhin umfassend: ein externes Flash-Speicher (29) zum Speichern einer zweiten MAC und einen Komparator zum Vergleichen der ersten MAC mit der zweiten MAC, und Feststellen, dass die erste MAC authentifiziert wird, wenn die erste MAC die gleiche ist wie die zweite MAC.
  10. Die Vorrichtung nach einem der vorhergehenden Ansprüche weiterhin umfassend einen Sperrschaltkreis (22a) zum Sperren der Kunden-ID nach dem vollständigen Schreiben der Kunden-ID in das Register.
  11. Ein Verfahren zum Authentifizieren eines Flash-Programms, durchgeführt durch ein elektrisches Gerät umfassend: Erlangen eines eindeutigen Hardware-Schlüssels korrespondierend zum elektronischen Gerät; Erlangen einer Kunden-Identität (ID) korrespondierend zu einem Kunden; Erlangen eines Wurzel-Schlüssels korrespondierend zur eindeutigen Hardware-Schlüssel und der Kunden-ID-Identität; und Erzeugen eines ersten Nachrichten-Authentifikations-Codes (MAC) für das Flash-Programm unter Verwendung des erlangten Wurzel-Schlüssels.
  12. Das Verfahren nach Anspruch 11, wobei die Kunden-ID geschrieben wird und in einem Register gesperrt wird, bis zum nächsten System-Reset.
  13. Das Verfahren nach Anspruch 11 oder 12, weiterhin umfassend Herunterladen eines Flash-Programms; Schreiben und Sperren der Kunden-ID in einem Register; und Schreiben der MAC und des Flash-Programms auf den externen Speicher, wobei die Kunden-ID nicht modifiziert werden kann durch jegliche Mittel bis zum nächsten System-Reset.
  14. Ein Verfahren zur Identifikation eines Flash-Programms durchgeführt durch ein elektronisches Gerät, insbesondere ein Verfahren wie es beansprucht wurde in einem der Ansprüche 11 bis 13, umfassend: Erlangen eines ersten Nachrichten-Authentifikations- Codes (MAC); Erlangen einer Kundenidentität (ID) korrespondierend zu einem Kunden und dem Flash-Programm; Bestimmen, ob die erste MAC korrespondiert zum Flash-Programm; und Booten des elektronischen Geräts mit dem Flash-Programm, wenn die erste MAC mit der Kunden-ID korrespondiert.
  15. Das Verfahren gemäß einem der Ansprüche 11 bis 14, wobei die Bestimmungsschritte weiterhin umfassen: Erlangen eines eindeutigen Hardware-Schlüssels korrespondierend zu dem elektronischen Gerät; Erzeugen eines Root-Schlüssels gemäß der Kunden-ID und dem eindeutigen Hardware-Schlüssel; Erlangen der Kundeninformationen umfassend die Kunden-ID; Erzeugen einer zweiten MAC durch Verschlüsseln der Kundeninformationen unter Verwendung des erzeugten Wurzel-Schlüssels; und Bestimmen, dass die erste MAC und die Kunden-ID mit der Kunden-ID korrespondieren, wenn die erste MAC-Adresse die gleiche ist wie die zweite MAC-Adresse.
  16. Das Verfahren nach einem der Ansprüche 11 bis 15, weiterhin umfassend Schreiben der Kunden-ID in ein Register; und Sperren der Kunden-ID nach dem Schreiben der Kunden-ID, um Modifikationen zu verhindern.
  17. Das Verfahren nach einem oder mehreren der Ansprüche 11 bis 14, wobei der Bestimmungsschritt weiterhin umfasst; Erlangen eines eindeutigen Hardware-Schlüssels korrespondierend zum elektronischen Gerät; Erzeugen eines Wurzel-Schlüssels gemäß der Kunden-ID und dem eindeutigen Hardware-Schlüssel; Erlangen von Kundeninformationen umfassend die Kunden-ID; Erlangen eines ersten Hash-Wertes der erlangten Kundeninformationen durch eine Hash-Funktion; Erlangen eines zweiten Hash-Wertes durch Entschlüsseln der ersten MAC unter Verwendung des erzeugten Wurzel-Schlüssels und Bestimmen, dass die erste MAC und die Kunden-ID zur Kunden-ID korrespondieren, wenn der erste Hash-Wert der gleiche ist wie der zweite Hash-Wert.
  18. Eine Vorrichtung zur Authentifikation eines Flash-Programms in einem elektronischen Gerät, umfassend: einen eindeutigen Hardware-Schlüssel (26); ein Register (22b), das die Kunden-Identität (ID) speichert; eine Schlüsselerzeugungseinheit, zum Erzeugen eines Wurzel-Schlüssels gemäß der Kunden-ID und dem eindeutigen Hardware-Schlüssel; und einen Sperrschaltkreis (22a) zum Sperren des Inhaltes des Registers, um Modifikationen der gespeicherten Kunden-ID zu verhindern, bis zum nächsten System-Reset.
  19. Die Vorrichtung nach Anspruch 18, wobei das Register ein erster D flip-flog ist.
  20. Die Vorrichtung nach Anspruch 19, wobei der Sperrschaltkreis weiter umfasst einen zweiten D flip-flop; ein OR-Gate; einen Inverter; und ein AND-Gate, wobei das OR-Gate angeschlossen ist zwischen einem Ausgang und einem ersten Eingang des zweiten D flip-flops, der Inverter ist verbunden mit dem Ausgang des zweiten D flip-flops und einem ersten Eingang des AND-Gates, und ein Ausgang des AND-Gates ist verbunden mit einem Clock-Eingang des ersten D flip-flops.
  21. Die Vorrichtung nach Anspruch 20, wobei das ODER-Gatter zusätzlich einen zweiten Eingang umfasst, der zweite flip-flog einen zweiten Eingang und einen Clock-Eingang umfasst, das UND-Gatter einen zweiten Eingang von Eins, wenn das System resetted wird, der zweite Eingang des ODER-Gatter auf Null gesetzt, der zweite Eingang des zweiten D flip-flops ein SYSTEM RESET – Signal empfängt, um die gesperrten Daten darin zu löschen, und nach dem abschließenden Schreiben der Kunden-ID wird der zweite Eingang des ODER-Gatters auf Eins gesetzt.
DE102008033895A 2008-01-25 2008-07-18 Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms Expired - Fee Related DE102008033895B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/019,825 US20090193261A1 (en) 2008-01-25 2008-01-25 Apparatus and method for authenticating a flash program
US12/019,825 2008-01-25

Publications (2)

Publication Number Publication Date
DE102008033895A1 true DE102008033895A1 (de) 2009-07-30
DE102008033895B4 DE102008033895B4 (de) 2011-05-12

Family

ID=40794578

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008033895A Expired - Fee Related DE102008033895B4 (de) 2008-01-25 2008-07-18 Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms

Country Status (5)

Country Link
US (1) US20090193261A1 (de)
CN (2) CN101494645B (de)
BR (1) BRPI0803574A2 (de)
DE (1) DE102008033895B4 (de)
TW (1) TWI385670B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101790021A (zh) * 2009-01-26 2010-07-28 株式会社东芝 扫描图像管理装置及扫描图像管理方法
EP2503482A1 (de) 2011-03-23 2012-09-26 ST-Ericsson SA Elektronische Vorrichtung mit Flash-Speicherkomponente
DE102012201164B4 (de) * 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US8856538B2 (en) * 2012-07-27 2014-10-07 GM Global Technology Operations LLC Secured flash programming of secondary processor
JP2014119897A (ja) * 2012-12-14 2014-06-30 Fujitsu Ltd 情報処理装置、ロック実行方法、及びロック実行プログラム
CN103793644B (zh) * 2014-02-28 2017-09-19 天地融科技股份有限公司 信息安全设备实现多应用的方法、信息安全设备和系统
CN107977568B (zh) * 2017-12-25 2020-05-15 瑞萨集成电路设计(北京)有限公司 Mcu安全保护身份认证装置及方法
US11321466B2 (en) * 2018-03-09 2022-05-03 Qualcomm Incorporated Integrated circuit data protection
CN113139203A (zh) * 2020-01-19 2021-07-20 上海臻客信息技术服务有限公司 一种用户信息防泄露方法
US11799662B2 (en) * 2021-02-15 2023-10-24 Sony Semiconductor Solutions Corporation Efficient data item authentication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006001710A1 (en) * 2004-06-25 2006-01-05 Buypass As Method for generating and verifying an electronic signature
EP1659472A1 (de) * 2004-11-22 2006-05-24 Research In Motion Limited Verfahren und Vorrichtung zur Authentifizierung von Software

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3944976A (en) * 1974-08-09 1976-03-16 Rode France Electronic security apparatus
US5764995A (en) * 1994-03-25 1998-06-09 Packard Bell Nec Write once read only registers
JP3257259B2 (ja) * 1994-07-01 2002-02-18 ソニー株式会社 データ抽出装置
US6000832A (en) * 1997-09-24 1999-12-14 Microsoft Corporation Electronic online commerce card with customer generated transaction proxy number for online transactions
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US20060039564A1 (en) * 2000-11-17 2006-02-23 Bindu Rama Rao Security for device management and firmware updates in an operator network
KR100982168B1 (ko) * 2001-05-09 2010-09-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 기록매체 상에 저장된 암호화된 데이터를 복호화하는 방법및 장치
JP3863447B2 (ja) * 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
EP1429224A1 (de) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware Laufzeit Authentisierung
US7457945B2 (en) * 2004-03-23 2008-11-25 Dell Products L.P. System and method for providing a secure firmware update to a device in a computer system
DE102004019367B4 (de) * 2004-04-21 2006-03-16 Infineon Technologies Ag Verfahren zum Verifizieren von elektronischen Schaltungseinheiten und Vorrichtung zur Durchführung des Verfahrens
TWI475862B (zh) * 2005-02-04 2015-03-01 高通公司 無線通信之安全引導
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006001710A1 (en) * 2004-06-25 2006-01-05 Buypass As Method for generating and verifying an electronic signature
EP1659472A1 (de) * 2004-11-22 2006-05-24 Research In Motion Limited Verfahren und Vorrichtung zur Authentifizierung von Software

Also Published As

Publication number Publication date
TW200933639A (en) 2009-08-01
CN102647278B (zh) 2014-09-03
BRPI0803574A2 (pt) 2009-09-15
CN102647278A (zh) 2012-08-22
DE102008033895B4 (de) 2011-05-12
US20090193261A1 (en) 2009-07-30
TWI385670B (zh) 2013-02-11
CN101494645A (zh) 2009-07-29
CN101494645B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
DE102008033895B4 (de) Vorrichtung und Verfahren zur Authentifikation eines Flash-Programms
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
DE69704684T2 (de) Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
DE112008003931T5 (de) Systeme und Verfahren für Datensicherheit
DE69527773T2 (de) Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
EP2409452B1 (de) Verfahren zur bereitstellung von kryptografischen schlüsselpaaren
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
EP2727277B1 (de) System zur sicheren übertragung von daten und verfahren
DE60308990T2 (de) Schutz eines gerätes gegen unerwünschte verwendung in einem sicheren umfeld
DE19827659A1 (de) Systeme und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE112009004762T5 (de) System und verfahren zum durchführen einer verwaltunosoperation
DE112010004580T5 (de) Sichere Pin-Verwaltung einer für Benutzer vertrauenswürdigen Einheit
EP3198826B1 (de) Authentisierungs-stick
DE102009008362A1 (de) Mechanismus zum sicheren Herunterladen von Code in ein gesichertes System
DE102015202215A1 (de) Vorrichtung und Verfahren zum sicheren Betreiben der Vorrichtung
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
DE112019004146T5 (de) Authentifizierung von dateien
EP3248136B1 (de) Verfahren zum betreiben einer computereinheit mit einer sicheren laufzeitumgebung sowie eine solche computereinheit
DE102021110766B3 (de) Forensik-Modul und eingebettetes System
EP3072080B1 (de) Verfahren und vorrichtung zum manipulationsschutz einer recheneinrichtung
DE102021110768B3 (de) Forensik-Modul und eingebettetes System
DE10006062C2 (de) Tastaturschlüssel
DE102015207004A1 (de) Verfahren zum geschützten Zugriff auf Sicherheitsfunktionen eines Sicherheitsmoduls eines Hostsystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R020 Patent grant now final

Effective date: 20110813

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000