DE10113829A1 - Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen - Google Patents

Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen

Info

Publication number
DE10113829A1
DE10113829A1 DE2001113829 DE10113829A DE10113829A1 DE 10113829 A1 DE10113829 A1 DE 10113829A1 DE 2001113829 DE2001113829 DE 2001113829 DE 10113829 A DE10113829 A DE 10113829A DE 10113829 A1 DE10113829 A1 DE 10113829A1
Authority
DE
Germany
Prior art keywords
memory
data
encrypted
processor arrangement
compressed
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.)
Withdrawn
Application number
DE2001113829
Other languages
English (en)
Inventor
Berndt M Gammel
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 DE2001113829 priority Critical patent/DE10113829A1/de
Priority to PCT/EP2002/003040 priority patent/WO2002075932A2/de
Priority to AU2002247762A priority patent/AU2002247762A1/en
Priority to TW91105476A priority patent/TW561752B/zh
Publication of DE10113829A1 publication Critical patent/DE10113829A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Prozessoranordnung für sicherheitsrelevante Anwendungen umfaßt einen Speicher (10) zum Speichern eines Speicherinhalts in verschlüsselter und komprimierter Form, ein Rechenwerk (12) und eine Einrichtung (14) zum Entschlüsseln (14a) und Dekomprimieren (14b) des verschlüsselten und komprimierten Speicherinhalts, wobei die Einrichtung zum Entschlüsseln und Dekomprimieren datenstrommäßig zwischen dem Speicher und dem Rechenwerk angeordnet ist. Durch Komprimieren von Daten vor dem Verschlüsseln wird bei sicherheitsrelevanten Anwendungen die Verschlüsselungszeit reduziert. Darüber hinaus wird die benötigte Speichermenge des Speichers ebenfalls reduziert. Sowohl Chipfläche als auch Leistungsverbrauch der Prozessoranordnung für sicherheitsrelevante Anwendungen können eingespart werden, was insbesondere für eine Chipkarte (26) mit einer Prozessoranordnung für sicherheitsrelevante Anwendungen vorteilhaft ist.

Description

Die vorliegende Erfindung bezieht sich auf Prozessoranordnun­ gen für sicherheitsrelevante Anwendungen und insbesondere auf Prozessoranordnungen, die für Chipkarten geeignet sind.
Prozessoranordnungen für sicherheitsrelevante Anwendungen, wie z. B. Security Controller, Security Token oder Smart Card Controller werden üblicherweise in Chipkarten eingesetzt, um sicherheitsrelevante Anwendungen auszuführen. Chipkarten mit solchen Prozessoranordnungen werden eingesetzt, um beispiels­ weise eine elektronische Unterschrift unter ein elektroni­ sches Dokument zu setzen, um Berechtigungen des Inhabers der Chipkarte zu überprüfen oder um bestimmte Dienste in Anspruch zu nehmen, für die Gebühren zu entrichten sind. Zu diesem Zweck enthalten Chipkarten einen Speicher, in dem geheime Au­ thentifikationsdaten, Verschlüsselungsprogramme oder Kommuni­ kationsprogramme gespeichert sind, so daß die Chipkarte mit einem Chipkarten-Terminal kommunizieren kann. Bei Chipkarten ist problematisch, daß dieselben im Besitz des Chipkartenin­ habers sind und somit in einer unsicheren Umgebung. Wenn der Chipkarteninhaber einen Angriff auf einen Kryptoalgorithmus bzw. auf Kryptoalgorithmus-Schlüssel durchführen möchte, so kann er aufgrund der Tatsache, daß die Chipkarte zu seiner freien Verfügung ist, beliebig komplizierte Angriffe auf die Chipkarte ausführen.
Um dennoch geheime Algorithmen und/oder Daten, die sich in einem Speicher auf der Chipkarte befinden, zu schützen, wer­ den die Informationen, d. h. Daten und Programme, auf der. Chipkarte nicht im Klartext gespeichert, sondern in ver­ schlüsselter Form. Hierzu enthalten Prozessoranordnungen für sicherheitsrelevante Daten eine Hardwareeinheit zur Speicher­ ver- und -entschlüsselung. Diese hat die Aufgabe, verschlüsseit im Speicher abgelegten Daten beim Lesen des Prozessors zu entschlüsseln bzw. Klartextdaten, die von einem Rechenwerk erzeugt werden, zu verschlüsseln, damit die von dem Rechen­ werk erzeugten Chipkarten im Speicher der Chipkarte ver­ schlüsselt abgelegt werden.
Im allgemeinen dauern diese Prozesse im Vergleich zu einem Prozessorzyklus relativ lange, was insbesondere dann der Fall ist, wenn sogenannte harte Verschlüsselungsalgorithmen einge­ setzt werden. Die Latenzzeit einer Prozessoranordnung für si­ cherheitsrelevante Daten bei einem Datenzugriff wird daher sehr hoch.
Typische Prozessoranordnungen für sicherheitsrelevante Anwen­ dungen, die für sogenannte Sicherheits-ICs geeignet sind, die auf einer Chipkarte untergebracht werden sollen, haben ferner das Problem des limitierten Speichers. Die Größe der Chipkar­ te ist begrenzt. Insbesondere ist jedoch auch der Platz auf der Chipkarte begrenzt, der für die Prozessoranordnung in Form einer integrierten Schaltung verwendet werden kann. Speicherzellen benötigen jedoch relativ viel Chipfläche, wes­ halb die Speicherressourcen einer Chipkarte bisher sehr be­ grenzt sind. Andererseits steigen jedoch die Anforderungen an die Chipkarte hinsichtlich der Komplexität der kryptographi­ schen Algorithmen und hinsichtlich der Wortbreite der zu ver­ arbeitenden Datenworte ständig, da als allgemeine Regel ge­ sagt werden kann, daß komplexere Kryptoalgorithmen und länge­ re Datenworte auch eine höhere Sicherheit gegenüber Angrei­ fern liefern. Typische Chipkarten haben Speichergrößen in dem Bereich von 10 bis 100 Kilobyte, so daß ohne weiteres klar wird, daß eine Speicherung komplexerer Programme bereits an dieser Marke scheitern kann.
Andererseits wird es für bestimmte Anwendungen angestrebt, daß die Chipkarte so viel als möglich autonom arbeitet, was bedeutet, daß die Chipkarte möglichst einen kompletten Pro­ grammcode eines Kryptoalgorithmus speichern sollte. Der Grund dafür besteht in der Tatsache, daß, wenn ein Chipkartentermi­ nal Programmcode auf die Chipkarte übertragen muß, die Über­ tragung von dem Terminal zu der Chipkarte abgehört werden kann, wodurch ein Sicherheitsleck entsteht. Andererseits darf auch von den Chipkartenterminals nicht zu viel Rechenleistung bzw. Speicherkapazität verlangt werden, da Chipkartentermi­ nals ebenso wie Chipkarten zu einem vernünftigen Preis ange­ boten werden müssen, damit sich ein bestimmtes System aus Chipkarte und Chipkartenterminal am Markt überhaupt durchset­ zen kann.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine Prozessoranordnung für sicherheitsrelevante Anwendungen, ein Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen oder eine Chipkarte zu schaffen, die einerseits sicher gegen­ über Angriffen sind und andererseits ausreichend Rechnerres­ sourcen zur Verfügung stellen.
Diese Aufgabe wird durch eine Prozessoranordnung nach Patent­ anspruch 1, durch ein Verfahren zum Ausführen von sicher­ heitsrelevanten Anwendungen nach Patentanspruch 14 oder durch eine Chipkarte nach Patentanspruch 12 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß dem Problem der stark limitierten Speicherausstattung und dem Problem der hohen Latenzzeit dadurch begegnet werden kann, daß Daten im Speicher der Chipkarte nicht nur z. B. in ver­ schlüsselter Form abgespeichert werden, sondern ebenfalls in komprimierter Form. Eine erfindungsgemäße Prozessoranordnung für sicherheitsrelevante Anwendung umfaßt neben einem Spei­ cher, einem Rechenwerk und einer Einrichtung zum Entschlüs­ seln auch eine Einrichtung zum Dekomprimieren des Speicherin­ halts, der im Speicher in verschlüsselter und komprimierter Form abgelegt ist.
Es wird bevorzugt, die Speicherdaten zunächst zu entschlüs­ seln und dann erst zu dekomprimieren, bzw. die im Speicher abzuspeichernden Daten zunächst zu komprimieren und dann erst zu verschlüsseln. Diese Reihenfolge ist dahingehend vorteil­ haft, daß der Komprimierungsgewinn bei unverschlüsselten Da­ ten höher ist als bei verschlüsselten Daten. Dies ist der Fall, da Datenkomprimierungsalgorithmen darauf ausgerichtet sind, Korrelationen in den zu komprimierenden Daten zur Da­ tenkompression auszunutzen, während solche Korrelationen nach einer Verschlüsselung von Daten typischerweise nicht mehr vorhanden sind.
Diese Reihenfolge hat ferner einen weiteren Vorteil. Die Zeit, die der Verschlüsselungsalgorithmus benötigt, um Daten zu verschlüsseln, ist proportional zu der Menge von zu ver­ schlüsselnden Daten. Durch eine Datenkompression, die bei­ spielsweise die Anzahl von Bits der komprimierten Daten im Vergleich zu den unkomprimierten Daten auf die Hälfte redu­ ziert, führt automatisch dazu, daß der Zeitbedarf für die Verschlüsselung aufgrund der halbierten Datenmenge ebenfalls nur in etwa halb so groß ist. Dasselbe gilt für die Ent­ schlüsselung. Die Entschlüsselung wird vorzugsweise vor der Daten-Dekompression ausgeführt.
Problematisch für die Speicherverwaltung der Prozessoranord­ nung für sicherheitsrelevante Anwendungen ist die Tatsache, daß der Datenkompressionsgewinn von den Daten selbst abhängig ist. Verändern sich die Daten, beispielsweise wenn das Re­ chenwerk der Prozessoranordnung Daten ausgibt, die in dem Speicher der Prozessoranordnung abgelegt werden sollen, so unterscheidet sich die Größe der komprimierten und verschlüs­ selten Ausgangsdaten des Rechenwerks von der Größe der Daten, die überschrieben werden sollen.
Um dieses Problem einfach zu umgehen, werden gemäß der vor­ liegenden Erfindung lediglich Daten dekomprimiert bzw. kom­ primiert, die sich nicht verändern. Diese Daten sind übli­ cherweise Befehle bzw. der Programmcode, den das Rechenwerk ausführt. Auf diese Daten greift das Rechenwerk typischerwei­ se nur lesend zu, d. h. diese Daten werden nicht modifiziert.
Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung benötigt eine erfindungsgemäße Prozessoranordnung für sicherheitsrelevante Anwendungen lediglich eine Datende­ komprimierungseinrichtung, um den Programmcode, den das Re­ chenwerk ausführen soll, und der im Speicher in komprimierter Form gespeichert ist, zu dekomprimieren. Diese Option hat ferner einen Vorteil darin, daß Datendekomprimierungsalgo­ rithmen im allgemeinen einfacher sind als Datenkompressi­ onsalgorithmen. Daher können Datendekompressionsalgorithmen mit begrenztem Aufwand in Hardware als Teil der Prozes­ soranordnung für sicherheitsrelevante Anwendungen implemen­ tiert werden, so daß ein hoher Nettogewinn an Chipfläche er­ reicht werden kann. Benötigt eine Datendekomprimierungsschal­ tung beispielsweise 10% des Platzbedarfs des Speichers der erfindungsgemäßen Prozessoranordnung und führt die Datenkom­ pression zu einer Halbierung der Datenmenge, so beträgt der Nettogewinn an Speicherressourcen 90% gegenüber einer Chip­ karte ohne Hardware-Dekomprimierungseinheit.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß durch die Kombination einer Speicherentschlüsselungseinheit mit einer Speicher-Dekomprimierungseinheit die Speicherres­ sourcen nahezu verdoppelt werden können. Gleichzeitig wird die Speichertransferrate ebenfalls nahezu verdoppelt, da die Speicherentschlüsselungseinheit nur noch die Hälfte des Da­ tentransfervolumens zu bewältigen hat. Für die Speicherent­ schlüsselungseinheit spielt es nämlich keine Rolle, ob sie komprimierte oder dekomprimierte Daten zu verschlüsseln hat.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar­ in, daß die Datenübertragungswege in der Prozessoranordnung, die entsprechend der Speichertransferrate auszulegen sind, zur Erreichung einer gleichen Speichertransferbandbreite we­ sentlich leistungsärmer ausgelegt werden können, was wiederum zu einer Ersparnis an Chipfläche und Leistungsbedarf führt. Die Reduzierung des Leistungsbedarfs ist insbesondere für Prozessoranordnungen auf Chipkarten von Vorteil, die mit ei­ nem Kontaktlos-Terminal zusammenarbeiten, bei dem die Ener­ gieübertragung mittels eines Hochfrequenz-Felds stattfindet, weshalb die auf der Chipkarte zur Verfügung stehende elektri­ sche Leistung inhärent begrenzt ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen detailliert erläutert. Es zeigen:
Fig. 1 eine erfindungsgemäße Prozessoranordnung für si­ cherheitsrelevante Anwendungen auf einer Chipkarte;
Fig. 2 eine erfindungsgemäße Prozessoranordnung mit einer Zwei-Wege-Verschlüsselungs/Komprimierungs- Einrichtung; und
Fig. 3 eine erfindungsgemäße Prozessoranordnung mit einer Ein-Weg-Entschlüsselungs/Dekomprimierungs- Einrichtung für einen Befehlstrom und einer Zwei- Wege-Verschlüsselungs/Komprimierungs-Einrichtung für einen Datenstrom.
Fig. 1 zeigt eine erfindungsgemäße Prozessoranordnung für si­ cherheitsrelevante Anwendungen mit einem Speicher 10 und ei­ nem Rechenwerk 12. Zwischen dem Speicher 10 und dem Rechen­ werk 12 ist eine Einrichtung 14 angeordnet, die sowohl einen Entschlüsselungsbereich 14a als auch einen Dekomprimierungs­ bereich 14b aufweist. Die Einrichtung 14 ist eingangsseitig über einen externen Bus 16 mit dem Speicher 10 verbunden. Ausgangsseitig ist die Einrichtung 14 über einen internen Bus 18 mit dem Rechenwerk 12 verbunden. Das Rechenwerk 12 ist mit dem Speicher 10 ferner über einen Datenrückweg 20 verbunden, der in eine Einrichtung 22 zum Komprimieren und Verschlüsseln mündet, um Ausgangsdaten aus dem Rechenwerk wieder in der Speicher 10 in komprimierter und verschlüsselter Form schrei­ ben zu können. Zwischen dem Rechenwerk 12 und dem Speicher 10 kann sich ferner eine weitere Datenverbindung 24 befinden, um im Speicher 10 abgespeicherte unkomprimierte und nicht­ verschlüsselte Daten in Umgehung der Einrichtung 14 in das Rechenwerk 12 laden zu können.
Die in Fig. 1 gezeigte erfindungsgemäße Prozessoranordnung ist vorzugsweise auf einer Chipkarte 26 angeordnet, die fer­ ner eine Schnittstelle 28 für einen äußeren Terminal auf­ weist. Um von dem Rechenwerk 12 Daten zu der Schnittstelle 28 in komprimierter Form zuführen zu können, ist eine Komprimie­ rungs/Dekomprimierungs-Einrichtung 30 zwischen das Rechenwerk 12 und die Schnittstelle 28 geschaltet. Die Einrichtung 30 hat ferner eine Dekomprimierungs-Fähigkeit, um über die Schnittstelle empfangen Daten, die komprimiert sind, zu de­ komprimieren, bevor sie in das Rechenwerk 12 eingespeist wer­ den. Die Chipkarte 26 kann ferner eine weitere Datenverbin­ dung 32 umfassen, um Daten unmittelbar von dem Rechenwerk 12 zur Schnittstelle 28 zuzuführen, ohne daß eine Komprimierung oder Dekomprimierung stattfindet. Die Einrichtung kann ferner eine Verschlüsselungs/Entschlüsselungs-Fähigkeit umfassen, so daß die von dem Rechenwerk 12 zur Schnittstelle 28 geliefer­ ten Daten nicht nur komprimiert, sondern auch verschlüsselt sind. Damit können auch verschlüsselte Daten von dem Terminal über die Schnittstelle 28 der Einrichtung 30 zugeführt wer­ den, um dort entschlüsselt zu werden und dann im Rechenwerk 12 im Klartext verarbeitet zu werden.
In ihrer einfachsten Form umfaßt die erfindungsgemäße Prozes­ soranordnung für sicherheitsrelevante Anwendungen jedoch le­ diglich die Einrichtung 14 zum Entschlüsseln und Dekomprimie­ ren von in dem Speicher 10 gespeicherten sicherheitsrelevan­ ten Anwendungen. Nachdem Algorithmen zum Dekomprimieren bzw. Algorithmen zum Entschlüsseln wesentlich einfacher aufgebaut sind als die entgegengesetzten Algorithmen zum Komprimieren bzw. zum Verschlüsseln, können diese Algorithmen wesentlich einfacher in Hardware realisiert werden und haben daher einen wesentlich geringeren Bedarf an Speicherfläche und damit auch an elektrischer Leistung. Eine Dekomprimierungseinrichtung genauso wie eine Entschlüsselungseinrichtung (14b, 14a) sind für eine Chipkarte 26 völlig ausreichend, wenn lediglich ein Befehlscode zusammen mit konstanten Daten in dem Speicher 10 in verschlüsselter Form abgespeichert ist, auf den das Re­ chenwerk, um den Befehlscode auszuführen, lediglich zum Lesen zugreifen muß, der jedoch nicht geschrieben oder auf irgend eine Art und Weise manipuliert werden muß.
Fig. 2 zeigt eine detailliertere Darstellung der Prozes­ soranordnung für sicherheitsrelevante Anwendung von Fig. 1, bei der das Rechenwerk 12 eine CPU (CPU = Central Processing Unit = zentrale Verarbeitungseinheit) umfaßt. Die CPU ist über einen internen Bus mit der Einrichtung 14 verbunden, die in Fig. 2 mit MEC bezeichnet ist (MEC = Memory Encryption Compression = Speicher-Verschlüsselung-Kompression). Die Ein­ richtung 14 umfaßt eine Komprimierungs/Dekomprimierungs- Einheit 14b, die in Fig. 2 mit MCD bezeichnet ist (MCD = Me­ mory Compression Decompression). Die Einrichtung 14 umfaßt ferner eine Verschlüsselungs/Entschlüsselungs-Einheit 14a, die in Fig. 2 mit MED bezeichnet ist (MED = Memory Encryption Decryption). Die Einrichtung 14a ist über den externen Bus 16 mit dem Speicher 10 verbunden. Der Speicher 10 kann ein RAM- Speicher, ein ROM-Speicher, ein nicht-flüchtiger Speicher (NVM), wie z. B. ein EEPROM, etc., oder ein anderer Speicher­ typ sein. Typischerweise werden auch Speicherbereiche benö­ tigt, die nicht komprimiert oder nicht komprimiert und nicht verschlüsselt sind, wie z. B. für eine Speicher-abgebildete Eingabe/Ausgabe MEMIO 34 (MEMIO = Memory-Mapped I/O). In die­ sem Fall besitzen MCD und MED einen Modus, in dem sie ge­ trennt oder zusammen transparent geschaltet werden können.
Auf diese Weise lassen sich ohne hardwaremäßigen Zusatzauf­ wand Datenübetragungsprotokolle mit Terminals realisieren, bei denen die Übertragung unkomprimiert-verschlüsselt, komprimiert-unverschlüsselt, unkomprimiert-verschlüsselt oder komprimiert-verschlüsselt stattfindet. Die MEC-Einheit erhält dann eine Steuerleitung, die ein Umschalten zwischen den 4 genannten Modi erlaubt. Diese Flexibilität in der Steuerungs­ möglichkeit ist z. B. auch wünschenswert, wenn die Prozes­ soranordnung unkomprimierte und/oder unverschlüsselte Spei­ cherbereiche benötigt, z. B. um eine hohe Verarbeitungsge­ schwindigkeit oder hohe Datendurchsatzwerte für wenige si­ cherheitskritische Zwischenspeicher zu erzielen.
Bei einem bevorzugten Ausführungsbeispiel sind die Einrich­ tung zum Verschlüsseln/Entschlüsseln 14a und die Einrichtung zum Komprimieren/Dekomprimieren 14b als eine einzige Verar­ beitungseinheit realisiert. Hierfür werden Verschlüsselungs­ protokolle bevorzugt, die eine Komprimierung enthalten. Wei­ terhin können durch die gemeinsame Realisierung von MCD 14b und MED 14a gemeinsame Ressourcen, wie z. B. ein gemeinsamer Pufferspeicher, genutzt werden. Bei Security-Token und Smart­ cards werden die Einrichtung 14a und die Einrichtung 14b zu­ sammen mit dem Rechenwerk 12 und auch dem Speicher 10 auf ei­ nem einzigen Chip integriert realisiert.
Durch Bereitstellen sowohl einer Entschlüsselungseinheit als auch einer Dekompressionseinheit und gegebenenfalls einer Verschlüsselungseinheit und einer Kompressionseinheit kann die abzuspeichernde Datenmenge um mehr als 50% komprimiert werden, wobei gleichzeitig die Speichertransferrate etwa ver­ doppelt wird, da die Verschlüsselungseinheit 14a nur noch 50% des Datentransfervolumens zu bewältigen hat, wenn die Daten zunächst komprimiert und dann erst verschlüsselt werden bzw. wenn die Daten zunächst entschlüsselt werden und dann erst dekomprimiert werden. Entsprechend der Transferbandbreite werden der externe Bus 16 und der interne Bus 14 ausgelegt. Der interne Datenbus kann also wesentlich schmalbandiger als der externe Datenbus ausgelegt werden, was zu einer entspre­ chenden Chipflächen- und Leistungsverbrauchersparnis führt.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden lediglich unveränderlich Programmcode bzw. im wesentlichen statische Daten im Speicher komprimiert und verschlüsselt abgespeichert, beispielsweise in dem Speicher in Form eines ROM. In diesem Fall ist die Einrichtung 14 als reine Entschlüsselungs- und Dekomprimierungseinheit reali­ siert und damit in Hardware erheblich einfacher ausgestaltet als die analoge Verschlüsselungs- und Kompressionseinheit. Die Kompressionsverschlüsselung findet dann beispielsweise bei der Herstellung der Karte, wenn der Speicherinhalt er­ zeugt wird, statt, beispielsweise bei der Generierung der ROM-Masken. Dynamisch veränderliche Speicherbereiche, wie z. B. der Inhalt des RAM und des NVM, werden bei diesem Ausfüh­ rungsbeispiel der vorliegenden Erfindung nicht komprimiert und/oder verschlüsselt, da das Speichermanagement aufgrund der Tatsache, daß eine Datenkompression von den zu komprimie­ renden Daten abhängt, aufwendig werden kann. Dies liegt dar­ an, daß von einem Speicherbereich ausgelesene entschlüsselte und dekomprimierte Daten, die dynamisch veränderbar sind, von dem Rechenwerk 12 sehr wahrscheinlich verändert werden, was wiederum dazu führt, daß die komprimierte Version dieser ver­ änderlichen Daten unter Umständen eine unterschiedliche Größe als die ursprünglichen Daten in komprimierter Form haben kann, so daß es nicht mehr genügt, die komprimierten Daten an dieselbe Adresse zu schreiben aus der die ursprünglichen kom­ primierten Daten abgerufen wurden, da der Platz u. U. nicht ausreicht.
Fig. 3 zeigt eine Prozessoranordnung für sicherheitsrelevante Anwendungen gemäß einem weiteren Ausführungsbeispiel der vor­ liegenden Erfindung, bei der die Prozessoranordnung in Har­ vard-Architektur ausgeführt ist. Bei der Harvard-Architektur gibt es zwei Datenströme, nämlich einen Befehlsstrom und ei­ nen Datenstrom. Im Gegensatz zu den in Fig. 1 und 2 gezeigten Ausführungsbeispielen ist somit neben der Einrichtung zum Entschlüsseln und Dekomprimieren 14 für den Befehlsstrom noch ein Befehls-Cache 40 vorhanden. Für den Datenstrom ist analog dazu ebenfalls ein Daten-Cache vorhanden. Nachdem der Daten­ strom ein Zwei-Wege-Strom ist, ist neben der Einrichtung 14 eine weitere Verschlüsselungs/Komprimierungs-Einheit 44 vor­ handen, die die Zwei-Wege-Funktionalität hat, nämlich daß sie in der einen Richtung vom Speicher zur CPU eine Entschlüsse­ lungs- und anschließende Dekompressionsfunktion hat, und daß sie in der anderen Richtung, also von der CPU 12 zum Speicher 10 eine Komprimierungs- und Verschlüsselungs-Fähigkeit hat. Die Einrichtung 14 mit reiner Ein-Wege-Fähigkeit wird dazu benutzt, um den Kompressions-verschlüsselten Befehls- Datenstrom der CPU zuzuführen, beispielsweise aus dem ROM 10. Die weitere Einrichtung 44 wird für Datenoperationen verwen­ det und führt je nach Datenflußrichtung Verschlüsse­ lung/Kompression oder Entschlüsselung/Dekompression durch, beispielsweise von/zu dem RAM/NVM 10.
In der Technik sind verschiedene Kompressionsverfahren für Daten bekannt, wie z. B. die Lauflängencodierung, statisti­ sche Verfahren, wie z. B. Huffman-Codierung, Prädiktion oder arithmetische Codierung, oder Wörterbuch-Verfahren, wie z. B. der bekannte ZIP-Algorithmus.
Als Verschlüsselungs/Entschlüsselungs-Verfahren können sämt­ liche bekannten Verfahren verwendet werden, wobei die ein­ fachsten Verfahren die sind, die beispielsweise eine bitweise XOR-Verknüpfung der zu verschlüsselnden Operanden mit einem Verschlüsselungsschlüssel durchführen, wobei diese Verfahren einen verschlüsselten Datenstrom liefern, der die gleiche Länge wie der unverschlüsselte Datenstrom hat.
Wird lediglich Programmcode komprimiert und verschlüsselt, so hat dies Vorteile dahingehend, daß auf dem Chip selbst nur eine Dekomprimierung benötigt wird, was den Hardwareaufwand für den Chip erheblich verringert. Darüber hinaus wird das Problem der variablen Blockgröße nach der Komprimierung um­ gangen, was zu einem erhöhten Aufwand bei der Verwaltung des physikalischen Speichers führt. Wenn auf dem Chip nur die Dekompressionseinheit vorhanden ist, kann für ausgewählte Daten eine Kompression per Software implementiert werden. Die De­ kompression könnte dann wieder mit dem Hardwaremodul gesche­ hen.
Werden zusätzlich auch Daten in der Prozessoranordnung für sicherheitsrelevante Anwendungen komprimiert, so kann auch ein Kompressions-Hardwaremodul realisiert werden. Dieses Hardwaremodul benötigt jedoch mehr Chipfläche und Leistung, was jedoch dann nicht kritisch ist, wenn bei einer Anordnung die Prozessorfläche und der Leistungsverbrauch nicht die be­ grenzenden Randbedingungen sind. Eine Implementation eines Komprimierungsmoduls, wie z. B. des Komprimierungsmoduls 30 von Fig. 1 hat jedoch den Vorteil, daß die Prozessoranordnung für sicherheitsrelevante Anwendungen nunmehr auch günstig zur Kommunikation verwendet werden kann. Am Beispiel einer Chip­ karte können nun über die Schnittstelle 28 (Fig. 1) zum Ter­ minal komprimierte Daten übertragen werden, und vom Terminal komprimierte Daten empfangen werden, was dahingehend vorteil­ haft ist, daß aufgrund der Übertragung von komprimierten Da­ ten eine geringere Übertragungsbandbreite zwischen Chipkarte und Terminal benötigt wird. Dies ist insbesondere für Kon­ taktlos-Terminals günstig, falls die Chipkarte nicht genügend Leistung beispielsweise durch eine eigene eingebaute Puffer­ batterie zur Verfügung hat. Um den Speicher optimal zu nüt­ zen, muß bei der Komprimierung von Daten ferner für ein ge­ eignetes Speicher-Management gesorgt werden, damit auf die veränderbare Datengröße von komprimierten Daten Rücksicht ge­ nommen wird.
Wird die Prozessoranordnung für sicherheitsrelevante Anwen­ dungen auf einer Chipkarte eingesetzt, die für eine Übertra­ gung von sicherheitsrelevanten Daten vom Terminal zur Chip­ karte geeignet ist, und ist in dem Speicher lediglich ein un­ verschlüsselter Befehlscode eines an sich bekannten Kryptoal­ gorithmus gespeichert ist, der nicht geschützt werden muß, kann aufgrund der engen Speicherbegrenzungen und Leistungsbegrenzungen der Chipkarte und insbesondere auch aufgrund der begrenzten Chipfläche auf die Entschlüsselungseinheit auf der Chipkarte verzichtet werden. Dann muß der Befehlscode in dem Speicher der Chipkarte in unverschlüsselter, jedoch kompri­ mierter Form abgespeichert sein. Eine Chipkarte für sicher­ heitsrelevante Anwendungen kann somit auch lediglich eine De­ komprimierungseinheit umfassen.
Das Bereitstellen einer Dekomprimierungseinheit allein, d. h. ohne Verschlüsselung, auf einer Chipkarte zwischen einem Re­ chenwerk und einem Speicher wird bereits die Speicherkapazi­ tät der Chipkarte wesentlich erhöhen können, beispielsweise um mehr als 50%. Die Datenkomprimierung auf der Chipkarte bringt bereits erhebliche Vorteile dahingehend, daß bei glei­ chem Speicherverbrauch komplexere Kryptoalgorithmen abgespei­ chert werden können, wodurch ebenfalls die Sicherheit der An­ wendung gesteigert werden kann. Wie es bereits ausgeführt worden ist, schaffen komplexere Kryptoalgorithmen im allge­ meinen auch eine höhere Sicherheit. Sollen die geheimen Daten vom Terminal zur Chipkarte verschlüsselt übertragen werden, so kann die Chipkarte ebenfalls eine Verschlüsselungseinheit aufweisen, die jedoch nicht zwischen dem Speicher und dem Re­ chenwerk angeordnet ist, sondern zwischen dem Rechenwerk und der Schnittstelle.
Bezugszeichenliste
10
Speicher
12
Rechenwerk
14
Einrichtung zum Entschlüsseln und Dekomprimieren
14
a Einrichtung zum Entschlüsseln
14
b Einrichtung zum Dekomprimieren
16
Externer Bus
18
Interner Bus
20
Datenleitung
22
Einrichtung zum Komprimieren und Verschlüsseln
24
Datenleitung zwischen Rechenwerk und Speicher
26
Chipkarte
28
Schnittstelle
30
Einrichtung zum Komprimiere/Dekomprimieren
32
Datenleitung zwischen Rechenwerk und Schnittstelle
34
MEMIO
40
Befehls-Cache
42
Daten-Cache
44
Einrichtung zum Verschlüsseln/Entschlüsseln und Komprimieren/Dekomprimieren

Claims (16)

1. Prozessoranordnung für sicherheitsrelevante Anwendungen, mit folgenden Merkmalen:
einem Speicher (10) zum Speichern eines Speicherinhalts in verschlüsselter und komprimierter Form;
einem Rechenwerk (12); und
einer Einrichtung (14) zum Entschlüsseln (14a) und Dekompri­ mieren (14b) des verschlüsselten und komprimierten Speiche­ rinhalts, wobei die Einrichtung (14) zum Entschlüsseln und Dekomprimieren datenstrommäßig zwischen dem Speicher (10) und dem Rechenwerk (12) angeordnet ist.
2. Prozessoranordnung nach Anspruch 1, bei dem der Speiche­ rinhalt, der in verschlüsselter und komprimierter Form ge­ speichert ist, lediglich Daten aufweist, auf die das Rechen­ werk (12) lediglich zum Lesen zugreifen wird, und insbesonde­ re lediglich Programmcode für die sicherheitsrelevanten An­ wendungen aufweist.
3. Prozessoranordnung nach Anspruch 1 oder 2, bei dem die Einrichtung (14) zum Entschlüsseln und Dekomprimieren in Hardware ausgeführt ist.
4. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, die ferner folgendes Merkmal aufweist:
eine Einrichtung (44) zum Komprimieren und Verschlüsseln, die datenstrommäßig zwischen dem Rechenwerk (12) und dem Speicher (10) angeordnet ist.
5. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, bei der nur der Speicherinhalt komprimiert und verschlüsselt im Speicher abgespeichert ist, der nach einer Entschlüsselung (14a), einer Dekompression (14b), einer Verarbeitung in dem Rechenwerk (12), einer Kompression und Verschlüsselung (22) dieselbe Speichermenge in Anspruch nimmt.
6. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, der einen Befehlspfad und einen Datenpfad aufweist, wo­ bei die Einrichtung (14) zum Entschlüsseln und Dekomprimieren in dem Befehlspfad angeordnet ist, und bei der in dem Datenpfad eine Zwei-Wege-Einrichtung (44) vor­ handen ist, die ausgebildet ist, um Daten, die von dem Spei­ cher (10) zu dem Rechenwerk (12) gelangen sollen, zu ent­ schlüsseln und zu dekomprimieren, und um Daten, die von dem Rechenwerk (12) zu dem Speicher (10) gelangen sollen, zu kom­ primieren und zu verschlüsseln.
7. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, bei der die Einrichtung (14) zum, Entschlüsseln und Dekompri­ mieren ausgebildet ist, um den Speicherinhalt zunächst zu entschlüsseln und dann zu dekomprimieren.
8. Prozessoranordnung nach Anspruch 4, bei der die Einrichtung (44) zum Komprimieren und Verschlüs­ seln angeordnet ist, um zunächst zu komprimieren und dann zu verschlüsseln.
9. Prozessoranordnung nach Anspruch 4, 6 oder 8, bei der das Komprimieren in Software unter Verwendung des Re­ chenwerks (12) ausgeführt wird.
10. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, bei der die Einrichtung (14) zum Entschlüsseln und De­ komprimieren ferner ausgebildet ist, um eine Verschlüsse­ lungs- und eine Kompressionsfunktion auszuführen, wobei die Einrichtung (14) steuerbar ist, um einen Betriebsmodus auszu­ führen, der aus der Gruppe ausgewählt ist, die einen unkom­ primiert-unverschlüsselt-Modus, einen komprimiert­ unverschlüsselt-Modus, einen unkomprimiert-verschlüsselt- Modus oder einen komprimiert-verschlüsselt-Modus aufweist.
11. Prozessoranordnung nach einem der vorhergehenden Ansprü­ che, bei der der Speicher (10) einen Speicherbereich zum Speichern unkomprimierter Daten und/oder einen Speicherbe­ reich zum Speichern unverschlüsselter Daten aufweist.
12. Chipkarte mit folgenden Merkmalen:
einem Speicher zum Speichern eines Programminhalts in kompri­ mierter Form;
einem Rechenwerk (12);
einer Einrichtung (14b) zum Dekomprimieren des verschlüssel­ ten und komprimierten Speicherinhalts, wobei die Einrichtung (14) zum Dekomprimieren datenstrommäßig zwischen dem Speicher (10) und dem Rechenwerk angeordnet ist; und
einer Schnittstelle (28) zum Kommunizieren mit einem Termi­ nal.
13. Chipkarte nach Anspruch 12, bei der der Speicherinhalt zusätzlich verschlüsselt ist, und die ferner folgendes Merk­ mal aufweist:
eine Einrichtung (14a) zum Entschlüsseln des verschlüsselten Speicherinhalts.
14. Chipkarte nach Anspruch 12 oder 13, die ferner folgendes Merkmal aufweist:
eine Einrichtung (30) zum Komprimieren von Daten, die über die Schnittstelle (28) zu dem Terminal zu übertragen sind, wobei die Einrichtung (30) zum Komprimieren zwischen dem Re­ chenwerk (12) und der Schnittstelle (28) angeordnet ist.
15. Verfahren zum Ausführen von sicherheitsrelevanten Anwen­ dungen, mit folgenden Schritten:
Abrufen eines Speicherinhalts aus einem Speicher (10), wobei der Speicherinhalt in dem Speicher in verschlüsselter und komprimierter Form abgespeichert ist;
Entschlüsseln (14a) und Dekomprimieren (14b) des abgerufenen Speicherinhalts; und
Verarbeiten (12) des entschlüsselten und dekomprimierten Speicherinhalts.
16. Verfahren nach Anspruch 15, das mittels einer Chipkarte (26) ausgeführt wird.
DE2001113829 2001-03-21 2001-03-21 Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen Withdrawn DE10113829A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE2001113829 DE10113829A1 (de) 2001-03-21 2001-03-21 Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen
PCT/EP2002/003040 WO2002075932A2 (de) 2001-03-21 2002-03-19 Prozessoranordnung für sicherheitsrelevante anwendungen und verfahren zum ausführen von sicherheitsrelevanten anwendungen
AU2002247762A AU2002247762A1 (en) 2001-03-21 2002-03-19 Processor arrangement for security-related applications and method for carrying out security-related applications
TW91105476A TW561752B (en) 2001-03-21 2002-03-21 Processor assembly for security-relevant applications and method for performing security-relevant applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001113829 DE10113829A1 (de) 2001-03-21 2001-03-21 Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen

Publications (1)

Publication Number Publication Date
DE10113829A1 true DE10113829A1 (de) 2002-09-26

Family

ID=7678430

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001113829 Withdrawn DE10113829A1 (de) 2001-03-21 2001-03-21 Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen

Country Status (4)

Country Link
AU (1) AU2002247762A1 (de)
DE (1) DE10113829A1 (de)
TW (1) TW561752B (de)
WO (1) WO2002075932A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376458A1 (de) * 2002-06-28 2004-01-02 Kabushiki Kaisha Toshiba Elektronisches Medium-Ausgabesystem und tragbares elektronisches Medium mit dazugehöriger Ausgabemethode
US7881469B2 (en) 2004-12-09 2011-02-01 Eberwein Joerg Crypto-wireless-tag

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585095B1 (ko) * 2003-06-26 2006-05-30 삼성전자주식회사 데이터 전송 시스템에서의 데이터 보호 방법 및 장치
DE102005045149A1 (de) * 2005-09-22 2007-04-05 Giesecke & Devrient Gmbh Verfahren zur Initialisierung und/oder Personalisierung eines tragbaren Datenträgers
CN110568992A (zh) * 2018-06-06 2019-12-13 华为技术有限公司 一种数据处理装置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
JPH11110504A (ja) * 1997-09-30 1999-04-23 Toppan Printing Co Ltd Icカード

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2035697A1 (en) * 1991-02-05 1992-08-06 Brian James Smyth Encryption apparatus for computer device
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
US5828753A (en) * 1996-10-25 1998-10-27 Intel Corporation Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US6236727B1 (en) * 1997-06-24 2001-05-22 International Business Machines Corporation Apparatus, method and computer program product for protecting copyright data within a computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
JPH11110504A (ja) * 1997-09-30 1999-04-23 Toppan Printing Co Ltd Icカード

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BILDGEN, M.: Barriere gegen Hacker, In: Systeme, H. 2, 1999, S. 28 + 30 *
LEMME, H.: Chipkarten: Milliardengeschäft des 21. Jahrhunderts, 1. Teil, In: Elektronik, H. 13, 1996, S. 42-52 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376458A1 (de) * 2002-06-28 2004-01-02 Kabushiki Kaisha Toshiba Elektronisches Medium-Ausgabesystem und tragbares elektronisches Medium mit dazugehöriger Ausgabemethode
US6811089B2 (en) 2002-06-28 2004-11-02 Kabushiki Kaisha Toshiba Portable electronic medium issuing system and issuing method and portable electronic medium
US7881469B2 (en) 2004-12-09 2011-02-01 Eberwein Joerg Crypto-wireless-tag

Also Published As

Publication number Publication date
WO2002075932A3 (de) 2003-10-23
WO2002075932A2 (de) 2002-09-26
TW561752B (en) 2003-11-11
AU2002247762A1 (en) 2002-10-03

Similar Documents

Publication Publication Date Title
EP1668516B1 (de) Entschlüsselung und verschlüsselung bei schreibzugriffen auf einen speicher
DE60209379T2 (de) Techniken zur abladung kryptographischer verarbeitung für mehrfachnetzwerkverkehrsströme
EP1246043B1 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE112013000381B4 (de) Datenverschlüsselung auf der Grundlage einer Speicheradressumsetzung
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE19782075C2 (de) Eine Schaltung und ein Verfahren zum Sichern der Verbindungssicherheit innerhalb eines Mehr-Chip-Gehäuses einer integrierten Schaltung
EP1668515B8 (de) Wortindividuelle schlüsselerzeugung
DE60308990T2 (de) Schutz eines gerätes gegen unerwünschte verwendung in einem sicheren umfeld
EP1777913B1 (de) Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms
DE112016004435T5 (de) Hardware-gestützte einseitige kryptografie
DE112017001766T5 (de) Power-side-channel-angriffsresistenter advanced-encryption-standard-beschleunigungsprozessor
DE202011052333U1 (de) Verschlüsselter Speicherzugriff
DE102019109845A1 (de) Vereinheitlichte Beschleunigung eines Blockgeheimcodes eines symmetrischen Schlüssels für AES-SMS4-Camellia
DE602004005025T2 (de) Instruktionen zur verarbeitung einer verschlusselten nachricht
DE102019100009A1 (de) Vereinheitlichter Hardwarebeschleuniger für Verschlüsselungssysteme mit symmetrischen Schlüsseln
DE112004002259T5 (de) Zugriff auf private Daten zum Status einer datenverarbeitenden Maschine von einem öffentlich zugänglichen Speicher
DE102015006670A1 (de) Befehle und logik zum bereitstellen von kryptographischer allzweck-gf(256)-simd- arithmetikfunktionalität
DE60030074T2 (de) Elektronischer Sicherheitsbaustein
EP1399797A2 (de) Steuereinheit
DE112019003096B4 (de) Abgesicherte kommunikation aus einer nichtflüchtigen speichervorrichtung heraus
DE10113829A1 (de) Prozessoranordnung für sicherheitsrelevante Anwendungen und Verfahren zum Ausführen von sicherheitsrelevanten Anwendungen
DE112012007169T5 (de) In einem Kabel eingebettete aktive Komponente
DE60305781T2 (de) Verschlüsselung des Inhalts eines ausserhalb eines Prozessors angeordneten Speichers
EP1668817B1 (de) Verfahren und Vorrichtung zur Ver- und Entschlüsselung
DE102022112551A1 (de) Plattformversiegelungsgeheimnisse unter verwendung einer physisch unklonbaren funktion (puf) mit trusted-computing-base(tcb)-wiederherstellbarkeit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee