DE19782169C2 - Kryptographisch geschütztes Seitenwechsel-Subsystem - Google Patents
Kryptographisch geschütztes Seitenwechsel-SubsystemInfo
- Publication number
- DE19782169C2 DE19782169C2 DE19782169A DE19782169A DE19782169C2 DE 19782169 C2 DE19782169 C2 DE 19782169C2 DE 19782169 A DE19782169 A DE 19782169A DE 19782169 A DE19782169 A DE 19782169A DE 19782169 C2 DE19782169 C2 DE 19782169C2
- Authority
- DE
- Germany
- Prior art keywords
- page
- memory
- environment
- encryption
- secure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
Eine physikalisch sichere Umgebung (1) ist mit einer unsicheren Umgebung (2) gekoppelt. Die Einrichtung enthält eine Integritätsprüfmaschine (13), einen Flash-Speicher (15), einen Prozessor (16), einen Speicher mit wahlfreiem Zugriff (14), einen Zufallszahlengenerator (18), eine Verschlüsselungs/Entschlüsselungs-Maschine (12), eine Busschnittstelle (19), eine externe Speichereinrichtung (4), einen internen Bus (17) und einen externen Bus (7). Die Integritätsprüfmaschine (13) führt eine Ein-Weg-Hash-Operation an seitenweise ein- und auszulagernden Daten durch. Die Verschlüsselungs/Entschlüsselungs-Maschine (12) verschlüsselt hinausgehende Seiten und entschlüsselt hineinkommende Seiten.
Description
Die Erfindung bezieht sich auf ein Verfahren zum
Aus- und Einlagern von Speicherseiten zwischen einem
Speicher in einer physikalisch sicheren Umgebung und
einem Speicher außerhalb der sicheren Umgebung sowie auf
eine Speicheranordnung, die dieses Verfahren ausführt.
Die Ressourcenerschöpfung und insbesondere die
Speichererschöpfung ist ein allgemeines Problem bei Com
putersystemen. Der Speicher mit wahlfreiem Zugriff
(RAM), aus welchem Programme ausgeführt werden können,
ist notwendigerweise begrenzt, sowohl wegen der Kosten
als auch wegen des Raumes. Externe Speichereinrichtun
gen, wie beispielsweise Festplattenlaufwerke, Magnetbän
der und dergleichen, werden verwendet, um Programme und
Daten zu halten, auf die gerade nicht von dem Prozessor
zugegriffen wird. Der virtuelle Speicher verwendet diese
externen Speichereinrichtungen, um die physikalischen
Speichereinschränkungen des RAM zu verbessern und
schafft das Erscheinungsbild, daß ausreichender Raum in
dem RAM verfügbar ist, um sämtlichen geraden erforderli
chen Befehlscode und Daten zu halten. Der virtuelle
Speicher hat eine hierarchische Struktur, die auf einem
Seitenverzeichnis, Seitentabellen und Seitenrahmen ba
siert. Ein Seitenrahmen enthält einen Block nutzbaren
Befehlscodes oder nutzbarer Daten. Die Größe des Blocks
wird durch konstruktive Erwägungen bestimmt. Eine übli
che Seitenrahmengröße bei vorhandenen Systemen ist vier
Kilobyte. So ist in einem solchen System ein Block mini
maler Größe, der von dem externen Speicher in den RAM
bewegt werden kann, ein 4 K-Block. Die Seitentabelle hält
die Basisadressen einer Reihe von Seitenrahmen. Eine
Seitentabelle ist von der gleichen Größe wie ein Seiten
rahmen und kann auf ähnliche Weise in den externen Spei
cher ausgelagert werden.
Das Seitenverzeichnis ist ähnlich der Seitenta
belle mit der Ausnahme, daß es die Basisadressen einer
Reihe von Seitentabellen hält. Üblicherweise wird es im
internen Speicher gehalten und nicht ausgelagert. Die
Basisadresse des Seitenverzeichnisses wird in einem in
ternen CPU-Steuerregister gehalten. Die Funktion des
Seitenwechselsystems wird grundsätzlich gut im Stand der
Technik verstanden.
Es ist darüber hinaus möglich, eine physikalisch
sichere Umgebung zu erzeugen. Das Einbringen einer CPU
oder eines Speichers in eine derartige physikalisch
sichere Umgebung ist z. B. aus dem US-Patent No.
5,007,083 bekannt. Beispielsweise bestünde ein drakoni
sches Verfahren des Erzeugens einer physikalisch siche
ren Umgebung darin, die CPU und ihren RAM in einen Safe
zu bringen, wobei Drähte aus dem Safe heraus zu einer
externen Speichereinrichtung laufen. Während dies eine
sichere Umgebung innerhalb des Safes schafft, sind die
zu dem externen Speicher ausgelagerten Daten sofort ge
fährdet. Darüber hinaus werden die Ressourcenerschöp
fungsprobleme bei dem Modell der sicheren Umgebung
verschlimmert, da sowohl die Kosten als auch der Flä
chenbedarf eskalieren, um eine physikalisch sichere Um
gebung aufrechtzuerhalten, z. B. das Erfordernis eines
größeren Safe.
Angesichts dessen wäre es wünschenswert, in der
Lage zu sein, eine angemessene Sicherheit gegenüber Aus
tausch- und Änderungsangriffen auf Programme und Daten
auch jenseits der Speicherkapazität einer sicheren Umge
bung zu sichern.
Diese Aufgabe wird durch ein Verfahren mit den
Merkmalen des Patentanspruchs 1 bzw. durch eine Spei
cheranordnung mit den Merkmalen des Patentanspruchs 11
gelöst.
Es werden ein Verfahren und ein System zum Auf
rechterhalten der Integrität und Vertraulichkeit von
Seiten offenbart, die aus einer physikalisch sicheren
Umgebung zu einer externen Speichereinheit ausgelagert
sind. Eine hinausgehende Seite wird ausgewählt, um aus
einer physikalisch sicheren Umgebung in eine unsichere
Umgebung exportiert zu werden. Es wird ein Integri
tätsprüfwert erzeugt und für die hinausgehende Seite ge
speichert. Bei einem bevorzugten Ausführungsbeispiel
wird ein Hash-Wert der Seite erzeugt, wobei eine gut
bekannte Ein-Weg-Hash-Funktion verwendet wird. Die
hinausgehende Seite wird dann unter Verwendung eines
kryptographisch starken Verschlüsselungsalgorithmus
verschlüsselt. Algorithmen, die bei einem Ausführungs
beispiel der Erfindung verwendet werden könnten, sind
IDEA und DES. Die verschlüsselte Seite wird dann in den
externen Speicher exportiert. Aufgrund der Verschlüs
selung und der Integritätsprüfung wird die Sicherheit
der Daten in der hinausgehenden Seite in der unsicheren
Umgebung bewahrt.
Vorteilhafte Weiterbildungen der Erfindung sind in den
Unteransprüchen gekennzeichnet.
Fig. 1 ist ein Blockschaltbild eines Systems ei
nes Ausführungsbeispiels der Erfindung.
Fig. 2 ist ein Blockschaltbild eines alternativen
Ausführungsbeispiels der Erfindung.
Fig. 3 ist ein Ablaufdiagramm einer Software-In
stallation bei einem Ausführungsbeispiel der Erfindung.
Fig. 4a ist eine Darstellung der Software, die
zur Verwendung in der sicheren Umgebung eines Ausfüh
rungsbeispiels der Erfindung installiert ist.
Fig. 4b ist eine Darstellung des Seitenverzeich
nis/Seitentabellen-Eintrags eines Ausführungsbeispiels
der Erfindung.
Fig. 5a und b ist ein Ablaufdiagramm einer Sei
tenwechseloperation bei einem Ausführungsbeispiel der
Erfindung, nachdem die Installation vollständig ist.
Fig. 1 zeigt ein Ausführungsbeispiel der Erfin
dung, bei welchem eine physikalisch sichere Umgebung 1
mit einer unsicheren Umgebung 2 und insbesondere mit ei
ner externen Speichereinheit 4 über einen Bus 7 gekop
pelt ist. Verschiedene Wege zum Erzeugen dieser physika
lischen Barriere sind allgemein gut im Stand der Technik
bekannt, unter anderem eingriffssichere Verkapselungsma
terialien, eingriffssichere Chipverkapselungen und ein
griffssichere Scheibenabdeckungen. Es wurden auch andere
Wege zum Aufrechterhalten der physikalischen Sicherheit
entwickelt. Zwei derartige Beispiele sind in den paral
lel anhängigen Patentanmeldungen mit der Seriennummer
08/575,298 und dem Titel "SECURE SEMTCONDUCTOR DEVICE"
und mit der Seriennummer 08/412,159 und dem Titel
"METHOD TO PREVENT INTRUSIONS INTO ELECTRONIC
CIRCUITRY", die beide auf den Inhaber der vorliegenden
Anmeldung übertragen wurden.
Diese physikalisch sichere Umgebung 1 enthält ei
nen Prozessor 16, der mit Hilfe eines Busses 17 mit ei
nem Speicher mit wahlfreiem Zugriff (RAM) 14 gekoppelt
ist. Mittels der Busschnittstelleneinheit 19, welche
beispielsweise eine Brückeneinheit sein kann und welche
sich innerhalb der sicheren Umgebung befinden muß, ist
der Bus 17 elektrisch vom Bus 7 isoliert. Wie in Fig. 1
gezeigt, kann ein zusätzlicher Flash-Speicher 15 vorge
sehen und mit dem Bus 17 gekoppelt sein. Der Flash-Spei
cher wird zur Langzeitspeicherung von geheimen Informationen
verwendet, und ein Teil von ihm kann Anwendungen
zugewiesen sein, die in der sicheren Umgebung ablaufen.
Darüber hinaus ist bei einem Ausführungsbeispiel das
Echtzeit-Kernel für den sicheren Prozessor 16 in dem
Flash-Speicher gespeichert. Dies gestattet es, daß sämt
liche Grundoperationen ohne externe Eingriffe (aktive
oder passive) durchgeführt werden können und verbessert
die Leistung im Vergleich zu dem Fall, bei dem das Ker
nel durch die hier beschriebenen Sicherheitsdienste be
wegt wird.
Die sichere Umgebung ist darüber hinaus mit Daten
sicherheitsdiensten versehen. In dieser Verbindung führt
eine Integritätsüberprüfungsmaschine 13 einen Ein-Weg-
Hash von Daten durch, die seitenweise zwischen der si
cheren Umgebung 1 und der unsicheren Umgebung 2 ausgela
gert werden. Dies schafft einen Integritätsdienst, wie
er unten erläutert wird. Wenn die Daten aus der sicheren
Umgebung 1 seitenweise ausgelagert werden, wird der Ein-
Weg-Hash-Wert aus der Integritätsprüfmaschine 13 oder
irgendein Abschnitt des Werts innerhalb der sicheren Um
gebung als Integritätsprüfwert (ICV; integrity check va
lue) für einen späteren Vergleich dann, wenn die Seite
der Daten nachfolgend wieder eingelagert wird, gespei
chert. Eine Verschlüsselungs-/Entschlüsselungs-Maschine
12 verschlüsselt hinausgehende Seiten und entschlüsselt
eingehende Seiten an der Schnittstelle, bevor sie zu dem
externen Speicher 4 bzw. der Integritätsprüfmaschine 13
gesendet werden, wodurch ein Vertraulichkeitsdienst zur
Verfügung gestellt wird. Ein Zufallszahlengenerator 18
ist mit dem Bus 17 gekoppelt, um Verschlüsselungsmate
rial für die Verschlüsselungsmaschine 12 zu erzeugen.
Eine eingehende Seite wird von der Verschlüsselungsma
schine 12 entschlüsselt und an die Integritätsprüfma
schine 13 weitergeleitet, welche einen Ein-Weg-Hash-Wert
der eingehenden Seite berechnet. Aus dem Hash-Wert wird
ein ICV gewonnen und mit dem zuvor gespeicherten, dieser
Seite entsprechenden ICV verglichen. Sofern die ICVs
übereinstimmen, wird der Seite gestattet, den sicheren
RAM 14 zu bevölkern.
Weil das Seiteneinlagern und Seitenauslagern
grundsätzlich eine Verzögerung umfaßt und die Sicher
heitsdienste die Verzögerung im Falle eines Seitenfeh
lers erhöhen, ist es erwünscht, daß die Verschlüsse
lungsmaschine 12 und die Integritätsprüfmaschine 13 als
spezielle Hardware implementiert werden. Es liegt aber
innerhalb des Umfangs und der Erwägungen der Erfindung,
daß eine der beiden oder beide Maschinen in Software im
plementiert sein können. Darüber hinaus ist es aus Lei
stungsgründen zu bevorzugen, daß die Verschlüsselungsma
schine eine symmetrische Verschlüsselung implementiert.
Schlüssel für eine symmetrische Verschlüsselung neigen
dazu, für den gleichen Grad der Sicherheit viel kürzer
zu sein, als es Schlüssel für eine asymmetrische Ver
schlüsselung sind (z. B. ein typischer symmetrischer
Schlüssel ist von der Größenordnung von 56 Bits bis 128
Bits, während asymmetrische Schlüssel dazu neigen, mehr
als 512 Bits lang zu sein). Dies ist insbesondere bei
einer stark speichereingeschränkten Umgebung wichtig,
bei welcher Speicherraum für die Schlüssel begrenzt ist.
Die symmetrische Verschlüsselung ist darüber hinaus üb
licherweise Größenordnungen schneller als die asymmetri
sche Verschlüsselung. Zwei derartige symmetrische Ver
schlüsselungsschemata sind IDEA und DES. Es können eben
so andere kryptographisch starke Verschlüsselungsalgo
rithmen verwendet werden, ohne vom Umfang und den Erwä
gungen der Erfindung abzuweichen. Ein-Weg-Hash-Funktio
nen sind grundsätzlich im Stand der Technik gut bekannt.
Zwei akzeptable derartige Hash-Funktionen sind SHA-1 und
MD5, es können aber auch andere Hash-Funktionen verwen
det werden, ohne vom Umfang und den Erwägungen der Er
findung abzuweichen.
Fig. 2 zeigt ein alternatives Ausführungsbeispiel
der Erfindung mit zusätzlichen Diensten innerhalb der
sicheren Umgebung 20. Bei diesem Ausführungsbeispiel ist
die sichere Umgebung 20 als ein Einzelchip implemen
tiert, das physikalische Sicherheitstechnologien verwen
det, wie sie im Stand der Technik bekannt sind. Dieses
physikalisch sichere Chip befindet sich auf der Mutter
platine 30 und teilt sich den Bus 7 mit einem Wirtspro
zessor 26 und einem Wirts-RAM 25. Die Busschnittstellen
einheit 19 isoliert den Bus 17 der sicheren Umgebung
elektrisch von dem Systembus 7. Sowohl der Prozessor 16
als auch der Wirtsprozessor 26 lagern Seitenrahmen zur
externen Speichereinheit 4 aus, welche beispielsweise
eine Festplatte eines Personalcomputers sein kann. Bei
einem Ausführungsbeispiel führt der sichere Prozessor 16
Seitenauslagerungen in 1 K-Inkrementen aus, während der
Wirtsprozessor 26 4 K-Inkremente für den Seitenwechsel
verwendet. Da der sichere RAM 14 klein ist (z. B. 128 K)
ist es erwünscht, eine kleinere Seitengröße zu benutzen,
als sie üblicherweise benutzt wird, wenn die Speicherer
schöpfung kein so großes Problem ist. Zu diesem Zweck
wurde eine 1 K-Seitengröße als wünschenswert in der si
cheren Umgebung 20 gefunden. Dementsprechend hat der
Prozessor 16 eine Architektur, um 1 K-Seiten zu verwen
den. Der Wirtsprozessor 26 behandelt die Seiten des Pro
zessors 16, die im externen Speicher 4 gespeichert sind,
als 1 K-Datenblöcke.
Die sichere Umgebung 20 enthält sowohl eine asym
metrische Verschlüsselungsmaschine 22 als auch eine sym
metrische Verschlüsselungsmaschine 23, die beide mit dem
Bus 17 gekoppelt sind. Wie oben erwähnt, hält sich die
Busschnittstelleneinheit 19 innerhalb der sicheren Umge
bung auf und isoliert den Bus 17 elektrisch vom System
bus 7, welcher sich in die unsichere Umgebung erstreckt.
Die symmetrische Maschine 23 ist weiterhin der bevorzug
te Anbieter des Vertraulichkeitsdienstes. Die asymmetrische
Maschine 22 wird während der Installation verwen
det, um digitale Signaturen (Unterschriften) zu überprü
fen und um die sichere Umgebung grundsätzlich robuster
zu machen. Die Installation wird unten erörtert. Es ist
wichtig, sich klarzumachen, daß die sichere Umgebung 1
gemäß Fig. 1 und die sichere Umgebung 20 gemäß Fig. 2
zwischen den Ausführungsbeispielen austauschbar sind.
Bei einem Ausführungsbeispiel führt die Verschlüs
selungsmaschine eine Verschlüsselung von 8 Bits gleich
zeitig durch, und die Integritätsprüfmaschine führt eine
Hash-Operation an 512 Bits gleichzeitig durch. Bei solch
einem Ausführungsbeispiel werden FIFOs oder irgendwelche
anderen herkömmlichen Puffereinrichtungen als Teile der
Verschlüsselungsmaschine zur Verfügung gestellt, um ei
nen korrekten Datenfluß zu sichern. Die Bestimmung der
Länge und der Art der Puffereinrichtungen, die erforder
lich sind, liegt innerhalb der Fähigkeiten eines Durch
schnittsfachmanns, dem die Datenflußraten der jeweiligen
Maschinen vorgegeben sind.
Irgendwann muß Software in der sicheren Umgebung
installiert werden. Solche externe Software wird selbst
verständlich nicht auf die Weise verschlüsselt, die in
nerhalb der sicheren Umgebung verwendet wird. Sie wird
üblicherweise eine digitale Signatur (digitale Unter
schrift) haben, welche verwendet werden kann, um die Au
thentizität der installierten Software zu überprüfen,
wenn die Überprüfung einer digitalen Unterschrift eine
innerhalb der sicheren Umgebung unterstützte Funktion
ist. Fig. 3 veranschaulicht ein Ablaufdiagramm der In
stallation eines Programms in dem sicheren System. Beim
Funktionsblock 120 werden ein Schlüssel und ein Initia
lisierungsvektor für eine zu installierende Anwendung
erzeugt. Die Schlüsselerzeugung kann unter Verwendung
eines Zufallszahlengenerators durchgeführt werden, wel
che zufällige Bits erzeugt. Die zufälligen Bits werden
gesammelt, bis die gewünschte Schlüssellänge erreicht
ist. Bei einem Ausführungsbeispiel weist der Zufallszah
lengenerator ein 32Bit-Ausgaberegister auf. Der Prozes
sor 16 liest das Register so oft, wie es erforderlich
ist, um ausreichend viele zufällige Bits für einen voll
ständigen Schlüssel zu sammeln. Es kann jeweils ein
Schlüssel für jede Anwendung erzeugt werden, d. h. sämt
liche Befehlscodeseiten und Datenseiten, die einer An
wendung zugeordnet sind, teilen sich den gleichen
Schlüssel. Ein Problem bei zwischen Seiten geteilten
Schlüsseln besteht darin, daß dann, wenn beispielsweise
zwei Datenseiten einen identischen Inhalt haben, sie
grundsätzlich zu dem gleichen verschlüsselten Wert ver
schlüsselt würden. Zusätzlich zu dem Schlüssel jedoch
beeinflußt ein Initialisierungsvektor (IV) das Ver
schlüsselungsergebnis: IVs werden üblicherweise verwen
det, um eine kryptographische Synchronisation zur Ver
fügung zu stellen. Ein Modifizieren dieses IV wird wie
ein Modifizieren des Schlüssels den sich ergebenden ver
schlüsselten Wert ändern. Da dieses System im Endeffekt
Nachrichten an sich selbst sendet, kann es einen gehei
men IV für die Verschlüsselungsmaschine aufweisen. Mit
einem geheimen IV und der Verwendung beispielsweise der
Seitennummer als ein Offset werden unterschiedliche ver
schlüsselte Daten für jede Seite sichergestellt. Alter
nativ kann ein separater Schlüssel für jede Seite er
zeugt werden. Dies erhöht den erforderlichen Speicher,
der für die Schlüsselspeicherung zu widmen ist, aber
kann die Sicherheit der Daten verbessern, da die Stärke
der Verschlüsselung in den Schlüsseln liegt und die Da
ten umso schwieriger zu entschlüsseln sind, je kleiner
die Probe von Daten ist, die unter einem Schlüssel ver
schlüsselt sind.
Beim Funktionsblock 121 wird eine Seite von Infor
mationen von der Installationsdiskette gewonnen. Bus 7
gemäß Fig. 1 oder gemäß Fig. 2 würde beispielsweise
mit einem (nicht gezeigten) Plattenlaufwerk gekoppelt,
daß eine derartige Installationsdiskette enthält, oder
mit einer anderen Quelle, wie beispielsweise dem Inter
net. Beim Funktionsblock 122 wird die eingehende Seite
einer Hash-Operation unterzogen, und ein ICV aus ihr er
zeugt und gespeichert. Das System muß einen Hash-Wert
für jede Seite ebenso wie einen Gesamt-Hash-Wert für die
installierte Software erzeugen. Nachdem der Hash-Wert
der Seite und der sich ergebende ICV erzeugt worden
sind, wird im Funktionsblock 123 ein Eintrag zu einer
Seitentabelle hinzugefügt. Ein Seitentabelleneintrag
enthält einen Seitenortidentifizierer, um ein Lokalisie
ren der Seite in den externen Speicher zu gestatten, und
kann darüber hinaus einen Software-Zeiger zu dem der
Seite entsprechenden ICV enthalten. Dies wird unten in
Verbindung mit Fig. 4b erörtert. Dieses Verfahren un
terstellt eine zuvor erstellte Seitentabelle. Das Erzeu
gen von Seitentabellen ist allgemein im Stand der Tech
nik gut bekannt. Zwei Optionen zum Zuweisen von Seiten
rahmen zu einer Seitentabelle werden unten erörtert.
Sobald ein Schlüssel erzeugt und der Verschlüsse
lungsmaschine zur Verfügung gestellt worden ist, ver
schlüsselt die Maschine die zuvor einer Hash-Operation
unterzogene Seite beim Funktionsblock 124. Die im Funk
tionsblock 124 verschlüsselte Seite wird beim Funktions
block 125 zur externen Speichereinheit 4 exportiert. Auf
diese Weise hält sich die installierte Seite nicht in
dem sicheren RAM 14 auf, solange sie nicht eingelagert
worden ist, nachdem die Installation abgeschlossen ist.
Beim Entscheidungsblock 126 wird bestimmt, ob die letzte
Seite aus der Installationsdiskette oder einer anderen
Quelle gewonnen worden ist. Wenn dies nicht der Fall
ist, wird die Installation fortgesetzt, indem zum Gewin
nen einer weiteren Seite zum Funktionsblock 120 zurück
gekehrt wird. Wenn die letzte Seite gewonnen worden ist,
stellt der Entscheidungsblock 127 eine implizite Ent
scheidung dar, die davon abhängt, ob das System eine
Überprüfung der digitalen Signatur (Unterschrift) erfor
dert. Wenn es eine derarte Überprüfung erfordert, wird
beim Funktionsblock 128 die digitale Signatur unter Ver
wendung der asymmetrischen Maschine entschlüsselt, wobei
sich der vom Urheber der Software erzeugte Gesamt-Hash-
Wert ergibt, der extrahiert und mit dem gerade berechne
ten Gesamt-Hash-Wert verglichen wird, um zu überprüfen,
daß eine gültige digitale Signatur für die installierte
Software vorhanden ist. Eine digitale Signatur ist übli
cherweise ein Ein-Weg-Hash des gesamten Befehlscode auf
der Installationsdiskette, der unter Verwendung des pri
vaten Teils eines asymmetrischen Schlüssels verschlüs
selt worden ist. Zu Überprüfungszwecken gestattet es die
asymmetrische Maschine, daß diese Signatur unter Verwen
dung des öffentlichen Teils eines asymmetrischen Schlüs
sels entschlüsselt wird. Im Entscheidungsblock 129 wird
dann, wenn die Signatur authentisch ist, die Installa
tion im Funktionsblock 132 als abgeschlossen angesehen.
Sofern die Signatur nicht authentisch ist, wird im Funk
tionsblock 131 die Installation zurückgewiesen und im
Funktionsblock 132 der zugewiesene externe Speicherraum
für andere Zwecke freigemacht. Als eine Frage der Ver
fahrensweise können ein System oder ein Benutzer auswäh
len, daß es nicht erforderlich ist, daß sämtliche Soft
ware eine Signatur zur Installation aufweist. So würden
bei einem solchen System Versuche zum Installieren der
Software als gültig angenommen werden, und die Installa
tion wird im Funktionsblock 130, der dem Entscheidungs
block 127 folgt, als vollständig angesehen.
Ein Ausführungsbeispiel der Erfindung benutzt eine
Seitenauslagerungshierarchie, bei welcher sich das Sei
tenverzeichnis stets in dem sicheren RAM 14 aufhält und
eine Seitentabelle jeder Anwendung zugeordnet ist. Die
Seitentabelle könnte ausgelagert werden, wenn die Anwen
dung nicht in Benutzung ist. Beispielsweise könnte bei
Überprüfung der digitalen Signatur die Seitentabelle
selbst wie auch jede andere Seite ausgelagert werden.
Der Seitenauslagerungsprozeß wird näher in Verbindung
mit Fig. 5 erörtert.
Bei einem alternativen Ausführungsbeispiel werden
sowohl das Seitenverzeichnis als auch die Seitentabellen
(für die gesamte virtuelle Speichergröße) in dem siche
ren RAM gehalten. So werden bei der Installation die
Seiten in diejenigen Seitentabellen abgebildet
(beispielsweise können sich mehrere Anwendungen eine
Seitentabelle teilen), bevor sie zum externen Speicher
exportiert werden. Dies reduziert die Verzögerung beim
Starten einer Anwendung, weil nur die erforderlichen
Seitenrahmen die Sicherheitsdienste durchlaufen müssen,
während in dem anderen Ausführungsbeispiel zunächst die
Seitentabelle eingelagert werden muß, bevor die benötig
ten Seitenrahmen identifiziert und eingelagert werden
können. Jedoch können Speichereinschränkungen dieses
Ausführungsbeispiel ausschließen. Es liegt außerdem im
Umfang und Rahmen der Erfindung, daß sich mehrere Anwen
dungen eine einzige Seitentabelle teilen, welche ausge
lagert werden kann. Jedoch verkompliziert dies die Zu
weisung von Verschlüsselungsschlüsseln (solange nicht
jeder Seite anstelle jeder Anwendung ein Schlüssel zuge
wiesen wird) und kann das Wiedergewinnen einer solchen
Seitentabelle aus dem externen Speicher zum Zeitpunkt
der Installation jeder zweiten und jeder nachfolgenden
Anwendung, die sich die Seitentabelle teilen, erfordern.
Fig. 4a zeigt ein Beispiel, bei welchem 4 Stücke
von Software 140, 150, 160, 170 (Software soll sowohl
Befehlscode als auch Datenseiten umfassen) über die si
chere Umgebung installiert und in der externen Speicher
einheit 4, welche eine PC-Wirts-Festplatte sein kann,
gespeichert worden sind. Drei der vier Software-Stücke
140, 160, 170 haben aktive Seiten in dem physikalischen
sicheren Speicher. Bei einem Ausführungsbeispiel reprä
sentieren die aktiven Seiten eine Seitentabelle und einen
oder mehrere Seitenrahmen für jedes Software-Stück.
Beispielsweise weist die Software 140 eine Seitentabelle
141 und Seitenrahmen 142 bis 144 auf, die sich im siche
ren Speicher aufhalten. In ähnlicher Weise weisen die
Software 160 und 170 die Seitentabellen 161 bzw. 171 und
die Seitenrahmen 162 bzw. 172 auf, die im sicheren RAM
aktiv sind. Umgekehrt sind die Seitentabelle und sämtli
che Seitenrahmen der Software 150 zur externen Speicher
einheit 4 ausgelagert.
Fig. 4b zeigt ein Format eines Seitenverzeichnis-
und Seitentabelleneintrags, wobei die Seitentabelle oder
der Seitenrahmen, die dem Eintrag entsprechen, vorhanden
(200) bzw. nicht vorhanden (201) sind. Der der Software
150 gemäß Fig. 4a entsprechende Seitenverzeichnisein
trag würde die Nicht-vorhanden-Form 201 aufweisen, bei
der angenommen wird, daß die Seitentabellen ausgelagert
sind und nicht im Speicher gehalten werden. In jedem
Fall würden sämtliche Seitentabelleneinträge der Soft
ware 150 die Nicht-vorhanden-Form 201 aufweisen. Während
das Bit, das anzeigt, daß die Seite nicht vorhanden ist,
beibehalten wird, können so die verbleibenden 31 Bits
beliebig zwischen einem Seitenortidentifizierer und ei
nem Software-Zeiger zu einem Integritätsprüfwert aufge
teilt werden. Verschiedene Implementierungen des Seiten
ortidentifizierers sind im Stand der Technik gut be
kannt, da das Lokalisieren von Seiten, die ausgelagert
worden sind, auch in einem unsicheren System erforder
lich ist. Mögliche Implementierungen umfassen den Ab
schnitt der Adresse oder irgendwelche Indexierung in ei
ne Tabelle von Adressen. Je weniger Bits als Seitenort
identifizierer verwendet werden, desto mehr Bits sind
für den Software-Zeiger zu dem ICV verfügbar. Somit gibt
es in einem System mit einem begrenzten Speicher einen
Kompromiß bei der Aufteilung der Bits zwischen diesen
Funktionen.
Es sind auch andere Implementierungen möglich, bei
welchen weniger als der gesamte Hash-Wert als ICV Ver
wendet wird. Jedoch reduzieren solche Implementierungen
die Sicherheit, die von dem Integritätsprüfdienst zur
Verfügung gestellt wird. Bei einem derartigen Beispiel
wird der Hash-Wert abgeschnitten, um einen ICV zu erzeu
gen, welcher in dem Seitentabelleneintrag mit dem
Seitenortidentifizierer gefüllt wird. Während dies dabei
helfen kann, Speichererschöpfungsprobleme zu lösen, in
dem nicht separate Sicherheitsspeicherseiten zur ICV-
Speicherung zugewiesen werden müssen, ist dies nicht zu
empfehlen, wo irgendwelche schwerwiegenden Gefahren für
die Integrität vorhanden sein können.
Die Fig. 5a und b zeigen ein Ablaufdiagramm ei
nes Ausführungsbeispiels der Seitenauslagerungsoperation
in einer sicheren Umgebung nach der Installation. Am
Funktionsblock 50 wird eine Seite als benötigt identifi
ziert. Beim Entscheidungsblock 51 wird eine Feststellung
darüber getroffen, ob die Seite in dem sicheren Speicher
vorhanden ist. Sofern die Seite vorhanden ist, tritt ein
Seitentreffer auf und keine weiteren Aktivitäten sind
erforderlich. Sofern die Seite nicht vorhanden ist,
tritt ein Seitenfehler auf. Wenn ein Seitenfehler auf
tritt, wird am Entscheidungsblock 52 eine Entscheidung
darüber getroffen, ob in dem sicheren Speicher Raum ver
fügbar ist, in welchen die erforderliche Seite abgebil
det werden kann. Wenn kein Raum verfügbar ist, dann wird
beim Funktionsblock 53 eine Seite zum Auslagern ausge
wählt. Es können verschiedene Auswahlkriterien benutzt
werden, wie beispielsweise das der am längsten ungenutz
ten Seite (LRU; least recently used). Andere Auswahlkri
terien sind ebenfalls im Stand der Technik gut bekannt.
Beim Entscheidungsblock 54 wird eine Entscheidung dar
über getroffen, ob die hinausgehende Seite modifiziert
worden ist. Sofern sie modifiziert worden ist, wird beim
Funktionsblock 55 ein Integritätsprüfwert für die hinausgehende
Seite berechnet. Üblicherweise wird dies die
Berechnung des Ein-Weg-Hash-Werts der hinausgehenden
Seite und die Verwendung des Hash-Werts als ICV umfassen
(es kann auch weniger als der gesamte Hash-Wert verwen
det werden, aber dies reduziert die Zuverlässigkeit des
Integritätsdienstes). Beim Funktionsblock 56 wird der
Integritätsprüfwert an einem vorgegebenen Ort gespei
chert. Dieser Ort kann die Form einer Datenstruktur an
nehmen, die separat zum Halten der Hash-Werte eingerich
tet wird, wobei ein Zeiger in diese Datenstruktur in dem
Seitentabellen- oder Seitenverzeichniseintrag gespei
chert wird, der der hinausgehenden Seite entspricht. Die
Datenstruktur kann sich in dem sicheren RAM aufhalten
und kann der unten erörterten Seitenauslagerung unter
worfen sein.
Am Funktionsblock 57 werden ein Verschlüsselungs
schlüssel und ein IV gewonnen. Wie oben erörtert, werden
der Verschlüsselungsschlüssel und der IV zum Zeitpunkt
der Installation erzeugt. Beim Funktionsblock 58 wird
die hinausgehende Seite unter Verwendung des im Funkti
onsblock 57 gewonnenen Schlüssels und eines Initialisie
rungsvektors, der um irgendeinen Wert versetzt sein
kann, um eine einzigartige Verschlüsselung zu sichern,
verschlüsselt. Beim Funktionsblock 59 wird die ver
schlüsselte Seite in den externen Speicher exportiert.
Wenn beim Entscheidungsblock 54 festgestellt wird,
daß die hinausgehende Seite nicht modifiziert worden
ist, oder nachdem der Export der hinausgehenden Seite
beim Funktionsblock 59 abgeschlossen ist, wird dem Sy
stem ermöglicht, den Abschnitt des sicheren Speichers,
der von der hinausgehenden Seite belegt war, zu über
schreiben. Wenn beim Entscheidungsblock 52 festgestellt
wurde, daß der sichere Speicher Raum aufweist, oder
nachdem das Überschreiben freigegeben worden ist, wird
der Seitenortidentifizierer der gewünschten Seite mit
Hilfe des zugehörigen Eintrags in dem Seitenverzeichnis
oder der Seitentabelle im Funktionsblock 61 gewonnen.
Der Schlüssel und der IV, die der erforderlichen Seite
entsprechen, werden aus dem Schlüssel- und IV-Speicher
beim Funktionsblock 62 gewonnen. Schlüssel und IV kön
nen, müssen aber nicht, in der gleichen Datenstruktur
gespeichert sein. Eine Anforderung für diese Seite wird
dann an die externe Speichereinheit beim Funktionsblock
63 gesendet. Der Schlüssel und der IV werden im Funkti
onsblock 64 verwendet, um die hineinkommende Seite zu
entschlüsseln. Die entschlüsselte Seite wird im Funkti
onsblock 65 einer Hash-Operation unterzogen und es wird
ein ICV bestimmt. Der ICV der eingehenden Seite wird mit
dem zuvor gespeicherten ICV beim Entscheidungsblock 66
verglichen. Sofern der ICV der hineingekommenen Seite
gleich dem ICV ist, der für die entsprechende Seite ge
speichert wurde, als sie zuvor entweder während der In
stallation oder bei einer vorhergehenden Verwendung ex
portiert worden ist, so wird die Seite in dem sicheren
Speicher angeordnet, und die Ausführung oder Operation
an dieser Seite kann durch den Prozessor beim Funktions
block 67 durchgeführt werden. Sofern die ICVs nicht
übereinstimmen, wird die Seite beim Funktionsblock 68
verworfen und es wird eine Daten-verfälscht-Nachricht an
den sicheren Prozessor im Funktionsblock 69 gesendet.
Bei einem Ausführungsbeispiel, insbesondere wenn
der sichere RAM-Raum sehr begrenzt ist, können zusätzli
che Ebenen von Umwegen verwendet werden, um die Spei
chererschöpfung zu behandeln. Beispielsweise könnten
Verschlüsselungsinformationen enthaltende Seiten selbst
einer Hash-Operation unterworfen, verschlüsselt (mit ih
rem eigenen zufällig erzeugten Schlüssel und IV) und zum
externen Speicher exportiert werden. Bei diesem Ausfüh
rungsbeispiel wird die Verzögerung beim Start erhöht, da
die verschlüsselnden Informationen zunächst wiedergewon
nen, entschlüsselt und hinsichtlich ihrer Integrität
überprüft werden müssen und der gewünschte Schlüssel und
IV identifiziert werden müssen, bevor die Seitentabel
len- und/oder Seitenrahmen eingelagert werden können.
Der Vorteil für dieses System besteht darin, daß die
Speicherung des verschlüsselnden Materials nicht zu ei
ner kritischen Begrenzung wird. Es ist erwünscht, einen
separaten Schlüssel und IV für derartige Seiten zu er
zeugen, beispielsweise keinen Schlüssel und IV zu ver
wenden, der einer bestimmten Anwendung zugeordnet ist.
In ähnlicher Weise können Seiten, die ICVs halten, aus
gelagert werden. So können verschiedene Ebenen von Umwe
gen zu Lasten einer erhöhten Startverzögerung verwendet
werden.
Bei einigen Ausführungsbeispielen kann es wün
schenswert sein, das Verschlüsselungsmaterial zu aktua
lisieren oder zu ändern. Die Dauer, während welcher ein
Schlüssel beibehalten wird, ist die Kryptodauer. Die
Kryptodauer kann fest sein oder unter Benutzerkontrolle.
In beiden Fällen führt dann, wenn eine Aktualisierung
erwünscht ist/auftritt, das System eine der Installati
onsprozedur ähnliche Prozedur durch. Die Seitentabelle
muß, wenn sie ausgelagert ist, in den sicheren RAM ge
bracht werden, bevor ihre Seiten rückentschlüsselt wer
den können. Statt daß er von der Installationsdiskette
herkommt, um von der Integritätsprüfmaschine von dem Bus
beansprucht zu werden, wird jeder Seitenrahmen von der
externen Speichereinheit eingelagert, entschlüsselt und
in der normalen Weise hinsichtlich der Integrität über
prüft. Dann wird der Seitenrahmen neu verschlüsselt mit
einem neuen Schlüssel und IV (jeder der beiden oder
beide können auf der Basis einer Anwendung oder auf ei
ner seitenweisen Basis erzeugt werden) und zurück zum
externen Speicher exportiert. Es ist für die Seitenrah
men nicht erforderlich, den sicheren RAM während dieser
Aktualisierung zu bevölkern.
In der vorstehenden Beschreibung wurde die Erfin
dung unter Bezugnahme auf spezielle Ausführungsbeispiele
beschrieben. Es ist jedoch klar, daß verschiedene Modi
fikationen und Änderungen daran vorgenommen werden kön
nen, ohne vom breiteren Umfang und Geist der Erfindung,
wie er in den anhängigen Ansprüchen angegeben ist, abzu
weichen. Dementsprechend sind die Beschreibung und die
Zeichnungen in einem veranschaulichenden und nicht in
einem einschränkenden Sinne zu verstehen. Folglich soll
te der Umfang der Erfindung nur durch die anhängigen An
sprüche eingeschränkt sein.
Claims (23)
1. Verfahren zum Aus- und Einlagern von Speichersei
ten (Paging) zwischen einem Speicher (14) in einer physika
lisch sicheren Umgebung (1, 20) mit einem Prozessor (16) und
einem Speicher (4) außerhalb der sicheren Umgebung, umfas
send die Schritte:
Erzeugen (55) eines Integritätsprüfwerts aus einer auszulagernden Seite innerhalb der sicheren Umgebung;
Speichern (56) des Integritätsprüfwerts für die auszulagernde Seite;
Verschlüsseln (58) der auszulagernden Seite mit Hilfe eines kryptografischen Algorithmus, was zu einer verschlüsselten Seite führt; und
Exportieren (59) der verschlüsselten Seite in den Speicher außerhalb der sicheren Umgebung.
Erzeugen (55) eines Integritätsprüfwerts aus einer auszulagernden Seite innerhalb der sicheren Umgebung;
Speichern (56) des Integritätsprüfwerts für die auszulagernde Seite;
Verschlüsseln (58) der auszulagernden Seite mit Hilfe eines kryptografischen Algorithmus, was zu einer verschlüsselten Seite führt; und
Exportieren (59) der verschlüsselten Seite in den Speicher außerhalb der sicheren Umgebung.
2. Verfahren nach Anspruch 1, ferner umfassend die
Schritte:
Importieren einer verschlüsselten einzulagernden Seite aus dem Speicher außerhalb der sicheren Umgebung;
Entschlüsseln (64) der eingehenden Seite mit Hilfe eines kryptografischen Algorithmus;
Berechnen (65) eines Integritätsprüfwerts aus der eingehenden Seite; und
Vergleichen (66) des Integritätsprüfwerts der ein gehenden Seite mit einem zuvor bei der Auslagerung gespei cherten Integritätsprüfwert, der dieser Seite entspricht.
Importieren einer verschlüsselten einzulagernden Seite aus dem Speicher außerhalb der sicheren Umgebung;
Entschlüsseln (64) der eingehenden Seite mit Hilfe eines kryptografischen Algorithmus;
Berechnen (65) eines Integritätsprüfwerts aus der eingehenden Seite; und
Vergleichen (66) des Integritätsprüfwerts der ein gehenden Seite mit einem zuvor bei der Auslagerung gespei cherten Integritätsprüfwert, der dieser Seite entspricht.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß die auszulagernde Seite unter Verwendung eines
symmetrischen Verschlüsselungsalgorithmus verschlüsselt
wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet,
daß ein zufälliger Schlüssel zur Verwendung in dem
Verschlüsselungsschritt gewonnen wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß jede sich auf eine einzelne Anwendung beziehende Seite
unter Verwendung des gleichen Schlüssels verschlüsselt wird.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß für jede auszulagernde Seite ein unterschiedlicher
Schlüssel erzeugt wird.
7. Verfahren nach einem der Ansprüche 4-6, dadurch
gekennzeichnet, daß die Schlüssel in einer Tabelle in dem
sicheren Speicher gespeichert werden.
8. Verfahren nach einem der Ansprüche 1-7, dadurch
gekennzeichnet,
daß zum Erzeugen des Integritätsprüfwerts eine Ein-Weg-Hash-Operation an der auszulagernden Seite ausge führt wird; und
daß ein vorgegebener Abschnitt des so gewonnenen Hash-Werts der auszulagernden Seite an einem Ort innerhalb der sicheren Ausführungsumgebung gespeichert wird.
daß zum Erzeugen des Integritätsprüfwerts eine Ein-Weg-Hash-Operation an der auszulagernden Seite ausge führt wird; und
daß ein vorgegebener Abschnitt des so gewonnenen Hash-Werts der auszulagernden Seite an einem Ort innerhalb der sicheren Ausführungsumgebung gespeichert wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet,
daß auf den Ort innerhalb der sicheren Umgebung durch einen
Zeiger in einem Feld eines der auszulagernden Seite entspre
chenden Seitentabelleneintrags verwiesen wird.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet,
daß der vorgegebene Abschnitt der gesamte Hash-Wert ist.
11. Speicheranordnung mit einem mit einem sicheren
Speicher (14) innerhalb einer physikalisch sicheren Umgebung
(1, 20) gekoppelten sicheren Prozessor, einer unsicheren
Speichereinheit (14) außerhalb der sicheren Umgebung (1,
20), die mit der sicheren Umgebung durch einen Bus (7)
gekoppelt ist, und einer Schnittstelle (19, 12, 13) inner
halb der physikalisch sicheren Umgebung, die zwischen dem
Bus (7) und dem sicheren Prozessor (16) eingekoppelt ist,
wobei
die Schnittstelle für eine zu der Speichereinheit
auszulagernde Seite einen Integritätsprüfwert erzeugt und
die Seite kryptografisch verschlüsselt und sie eine aus der
Speichereinheit eingehende, einzulagernde Seite entschlüs
selt und aus der Seite einen Integritätsprüfwert erzeugt,
der mit einem bei Auslagerung gespeicherten Integritätsprüf
wert verglichen wird.
12. Speicheranordnung nach Anspruch 11, dadurch ge
kennzeichnet, daß die Schnittstelle eine Integritätsprüfma
schine (13) und eine mit der Integritätsprüfmaschine (13)
gekoppelte Verschlüsselungsmaschine (12) aufweist.
13. Speicheranordnung nach Anspruch 11 oder 12, da
durch gekennzeichnet, daß ein Abschnitt des sicheren Spei
chers einen vorgegebenen Abschnitt eines Ein-Weg-Hash-Werts
einer ausgelagerten Seite speichert, der beim Export der
hinausgehenden Seite von der Integritätsprüfmaschine erzeugt
wurde.
14. Speicheranordnung nach einem der Ansprüche 11-13,
dadurch gekennzeichnet, daß die Schnittstelle einen
Zufallszahlengenerator (18) zum Erzeugen eines Verschlüsse
lungsschlüssels aufweist.
15. Speicheranordnung nach einem der Ansprüche 11-14,
gekennzeichnet durch einen Schlüsselspeicherbereich, der
einen jeder Seite, die von der Schnittstelle exportiert
worden ist, entsprechenden Schlüssel speichert.
16. Speicheranordnung nach Anspruch 12, dadurch ge
kennzeichnet, daß die Verschlüsselungsmaschine einen symme
trischen Massenverschlüsselungsalgorithmus implementiert.
17. Speicheranordnung nach Anspruch 12, dadurch ge
kennzeichnet, daß die Verschlüsselungsmaschine eine symme
trische Verschlüsselungsmaschine ist.
18. Speicheranordnung nach Anspruch 17, dadurch ge
kennzeichnet, daß die Schnittstelle ferner eine asymmetri
sche Verschlüsselungsmaschine aufweist.
19. Speicheranordnung nach einem der Ansprüche 11-18,
dadurch gekennzeichnet, daß die sichere Umgebung sich auf
einem einzelnen Chip aufhält.
20. Speicheranordnung nach Anspruch 11, dadurch ge
kennzeichnet, daß mit dem Bus (7) ein unsicherer Wirtspro
zessor (26) gekoppelt ist.
21. Verwendung des Verfahrens nach Anspruch 1 zum Ein
bringen einer Software zur Verwendung in einer sicheren
Umgebung, wobei jeweils eine Seite der einzubringenden Soft
ware in die sichere Umgebung eingelesen wird, die Seite
einer Hash-Operation unterzogen wird, um den Integri
tätsprüfwert zu erzeugen, und die Seite unter Verwendung des
Verfahrens nach Anspruch 1 ausgelagert wird.
22. Verfahren nach Anspruch 21, dadurch gekennzeich
net, daß überprüft wird, ob eine gültige digitale Signatur
auf der Software vorhanden ist, und die Einbringung der
Software ungültig gemacht wird, sofern keine gültige digita
le Signatur vorhanden ist.
23. Verfahren nach Anspruch 22, wobei der Schritt des
Überprüfens umfaßt:
Aufrechterhalten eines ersten Gesamt-Hash der Software in ihrer eingebrachten Form;
Entschlüsseln eines zweiten Gesamt-Hash, der von einem Software-Urheber verschlüsselt worden ist, unter Ver wendung eines öffentlichen Schlüssels und eines asymmetri schen Algorithmus; und
Vergleichen des ersten Gesamt-Hash mit dem zweiten Gesamt-Hash.
Aufrechterhalten eines ersten Gesamt-Hash der Software in ihrer eingebrachten Form;
Entschlüsseln eines zweiten Gesamt-Hash, der von einem Software-Urheber verschlüsselt worden ist, unter Ver wendung eines öffentlichen Schlüssels und eines asymmetri schen Algorithmus; und
Vergleichen des ersten Gesamt-Hash mit dem zweiten Gesamt-Hash.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/764,154 US5757919A (en) | 1996-12-12 | 1996-12-12 | Cryptographically protected paging subsystem |
PCT/US1997/021968 WO1998026535A1 (en) | 1996-12-12 | 1997-11-25 | Cryptographically protected paging subsystem |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19782169C2 true DE19782169C2 (de) | 2001-09-06 |
Family
ID=25069838
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782169A Expired - Lifetime DE19782169C2 (de) | 1996-12-12 | 1997-11-25 | Kryptographisch geschütztes Seitenwechsel-Subsystem |
DE19782169T Granted DE19782169T1 (de) | 1996-12-12 | 1997-11-25 | Kryptographisch geschütztes Seitenwechsel-Subsystem |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782169T Granted DE19782169T1 (de) | 1996-12-12 | 1997-11-25 | Kryptographisch geschütztes Seitenwechsel-Subsystem |
Country Status (7)
Country | Link |
---|---|
US (1) | US5757919A (de) |
JP (1) | JP4140863B2 (de) |
AU (1) | AU5688998A (de) |
DE (2) | DE19782169C2 (de) |
GB (1) | GB2334866B (de) |
HK (1) | HK1022797A1 (de) |
WO (1) | WO1998026535A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1978463A3 (de) * | 2007-04-02 | 2010-06-02 | Francotyp-Postalia GmbH | Sicherheitsmodul für eine Frankiermaschine |
Families Citing this family (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7037426B2 (en) * | 2000-05-04 | 2006-05-02 | Zenon Environmental Inc. | Immersed membrane apparatus |
US6708274B2 (en) * | 1998-04-30 | 2004-03-16 | Intel Corporation | Cryptographically protected paging subsystem |
US6021201A (en) * | 1997-01-07 | 2000-02-01 | Intel Corporation | Method and apparatus for integrated ciphering and hashing |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6542610B2 (en) | 1997-01-30 | 2003-04-01 | Intel Corporation | Content protection for digital transmission systems |
US6101603A (en) | 1997-05-21 | 2000-08-08 | At&T Corporation | System and method for using a second resource to store a data element from a first resource in a first-in last-out stack |
US6237094B1 (en) | 1997-05-21 | 2001-05-22 | At&T Corporation | System and method for using a second resource to store a data element from a first resource in a first-in first-out queue |
US6098170A (en) * | 1997-05-21 | 2000-08-01 | At&T Corporation | System and method for using a second resource to store a data element from a first resource in a first-in first-out queue |
US6357004B1 (en) | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
US6003117A (en) | 1997-10-08 | 1999-12-14 | Vlsi Technology, Inc. | Secure memory management unit which utilizes a system processor to perform page swapping |
US6523118B1 (en) * | 1998-06-29 | 2003-02-18 | Koninklijke Philips Electronics N.V. | Secure cache for instruction and data protection |
US6820063B1 (en) | 1998-10-26 | 2004-11-16 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US7139915B2 (en) * | 1998-10-26 | 2006-11-21 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US7174457B1 (en) | 1999-03-10 | 2007-02-06 | Microsoft Corporation | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party |
US7194092B1 (en) * | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
JP2002529815A (ja) * | 1998-11-05 | 2002-09-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複数の暗号化アルゴリズムを用いるセキュアメモリ管理ユニット |
JP2000286836A (ja) * | 1999-03-30 | 2000-10-13 | Fujitsu Ltd | 認証装置および記録媒体 |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
FI112315B (fi) * | 1999-05-11 | 2003-11-14 | Nokia Corp | Integriteetin suojausmenetelmä radioverkkosignalointia varten |
US6629150B1 (en) | 1999-06-18 | 2003-09-30 | Intel Corporation | Platform and method for creating and using a digital container |
US7330970B1 (en) | 1999-07-13 | 2008-02-12 | Microsoft Corporation | Methods and systems for protecting information in paging operating systems |
US6289455B1 (en) | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US6757824B1 (en) | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
EP1118941B1 (de) * | 2000-01-18 | 2008-01-02 | Infineon Technologies AG | Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6678825B1 (en) * | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US7356817B1 (en) | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US6795905B1 (en) | 2000-03-31 | 2004-09-21 | Intel Corporation | Controlling accesses to isolated memory using a memory controller for isolated execution |
US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US6754815B1 (en) | 2000-03-31 | 2004-06-22 | Intel Corporation | Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution |
US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
US7194634B2 (en) | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6976162B1 (en) * | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
WO2002025866A2 (en) * | 2000-09-18 | 2002-03-28 | At & T Corp. | Apparatus, system and method for validating integrity of transmitted data |
US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
US7793111B1 (en) * | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US7215781B2 (en) * | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices |
US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
US6907600B2 (en) * | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
US7225441B2 (en) | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7117376B2 (en) | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
JP4281252B2 (ja) * | 2001-01-16 | 2009-06-17 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体 |
JP2002251326A (ja) * | 2001-02-22 | 2002-09-06 | Hitachi Ltd | 耐タンパ計算機システム |
US7096497B2 (en) * | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US7191440B2 (en) | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
GB2379299B (en) * | 2001-09-04 | 2006-02-08 | Imagination Tech Ltd | A texturing system |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7137004B2 (en) * | 2001-11-16 | 2006-11-14 | Microsoft Corporation | Manifest-based trusted agent management in a trusted operating system environment |
US7243230B2 (en) | 2001-11-16 | 2007-07-10 | Microsoft Corporation | Transferring application secrets in a trusted operating system environment |
US7159240B2 (en) * | 2001-11-16 | 2007-01-02 | Microsoft Corporation | Operating system upgrades in a trusted operating system environment |
US7243226B2 (en) * | 2001-12-12 | 2007-07-10 | Valve Corporation | Method and system for enabling content security in a distributed system |
US8108687B2 (en) | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
US7580972B2 (en) * | 2001-12-12 | 2009-08-25 | Valve Corporation | Method and system for controlling bandwidth on client and server |
US7373406B2 (en) * | 2001-12-12 | 2008-05-13 | Valve Corporation | Method and system for effectively communicating file properties and directory structures in a distributed file system |
US7290040B2 (en) * | 2001-12-12 | 2007-10-30 | Valve Corporation | Method and system for load balancing an authentication system |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030120918A1 (en) * | 2001-12-21 | 2003-06-26 | Intel Corporation | Hard drive security for fast boot |
US20030126454A1 (en) * | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US8135962B2 (en) * | 2002-03-27 | 2012-03-13 | Globalfoundries Inc. | System and method providing region-granular, hardware-controlled memory encryption |
US7028149B2 (en) | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US20030191943A1 (en) * | 2002-04-05 | 2003-10-09 | Poisner David I. | Methods and arrangements to register code |
US7076669B2 (en) * | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
US20030196100A1 (en) * | 2002-04-15 | 2003-10-16 | Grawrock David W. | Protection against memory attacks following reset |
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
US7127548B2 (en) | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
US7890771B2 (en) * | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7266842B2 (en) * | 2002-04-18 | 2007-09-04 | International Business Machines Corporation | Control function implementing selective transparent data authentication within an integrated system |
US6715085B2 (en) * | 2002-04-18 | 2004-03-30 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function |
US7089419B2 (en) | 2002-04-18 | 2006-08-08 | International Business Machines Corporation | Control function with multiple security states for facilitating secure operation of an integrated system |
US6851056B2 (en) | 2002-04-18 | 2005-02-01 | International Business Machines Corporation | Control function employing a requesting master id and a data address to qualify data access within an integrated system |
US7139890B2 (en) | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory |
US20030226029A1 (en) * | 2002-05-29 | 2003-12-04 | Porter Allen J.C. | System for protecting security registers and method thereof |
KR100619657B1 (ko) | 2002-06-05 | 2006-09-08 | 후지쯔 가부시끼가이샤 | 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치 |
US20030229794A1 (en) * | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
US6820177B2 (en) | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7142674B2 (en) * | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
US7392415B2 (en) * | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
US20040003321A1 (en) * | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
US7124327B2 (en) | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US6996748B2 (en) | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7296267B2 (en) | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
KR20040009766A (ko) * | 2002-07-25 | 2004-01-31 | 학교법인 성균관대학 | 암호 시스템에서 송수신 장치 및 방법 |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
US7318235B2 (en) | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
FR2849233B1 (fr) * | 2002-12-24 | 2005-05-20 | Trusted Logic | Procede de securisation des systemes informatiques par confinement logiciel |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US20040128465A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Configurable memory bus width |
US7472285B2 (en) | 2003-06-25 | 2008-12-30 | Intel Corporation | Apparatus and method for memory encryption with reduced decryption latency |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US7103779B2 (en) | 2003-09-18 | 2006-09-05 | Apple Computer, Inc. | Method and apparatus for incremental code signing |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7610611B2 (en) * | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
US7237051B2 (en) | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US7366305B2 (en) | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
EP2450895A2 (de) * | 2003-10-03 | 2012-05-09 | Sharp Kabushiki Kaisha | Wiedergabeverfahren für audiovisuelle Daten |
US7636844B2 (en) * | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
US7325115B2 (en) * | 2003-11-25 | 2008-01-29 | Microsoft Corporation | Encryption of system paging file |
US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
JP4335707B2 (ja) * | 2004-02-06 | 2009-09-30 | Necエレクトロニクス株式会社 | プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法 |
DE602004026823D1 (de) | 2004-02-12 | 2010-06-10 | Irdeto Access Bv | Verfahren und System zur externen Speicherung von Daten |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US7564976B2 (en) * | 2004-03-02 | 2009-07-21 | International Business Machines Corporation | System and method for performing security operations on network data |
US8468337B2 (en) * | 2004-03-02 | 2013-06-18 | International Business Machines Corporation | Secure data transfer over a network |
US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
FI117452B (fi) * | 2004-03-30 | 2006-10-13 | Tamtron Oy | Menetelmä ja järjestely tietojen suojaamiseksi |
US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
EP1870814B1 (de) | 2006-06-19 | 2014-08-13 | Texas Instruments France | Verfahren und Vorrichtung für sicheren, nachfragebasierten Seitenabruf für Prozessorvorrichtungen |
US8112618B2 (en) * | 2004-04-08 | 2012-02-07 | Texas Instruments Incorporated | Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making |
US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
US20050288056A1 (en) * | 2004-06-29 | 2005-12-29 | Bajikar Sundeep M | System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module |
JP4447977B2 (ja) * | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
US7305592B2 (en) * | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
US7461268B2 (en) * | 2004-07-15 | 2008-12-02 | International Business Machines Corporation | E-fuses for storing security version data |
US7444523B2 (en) * | 2004-08-27 | 2008-10-28 | Microsoft Corporation | System and method for using address bits to signal security attributes of data in the address space |
US7409558B2 (en) * | 2004-09-02 | 2008-08-05 | International Business Machines Corporation | Low-latency data decryption interface |
US7496753B2 (en) * | 2004-09-02 | 2009-02-24 | International Business Machines Corporation | Data encryption interface for reducing encrypt latency impact on standard traffic |
US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
WO2006071725A2 (en) * | 2004-12-21 | 2006-07-06 | Sandisk Corporation | Memory system with in-stream data encryption/decryption |
US20070180539A1 (en) * | 2004-12-21 | 2007-08-02 | Michael Holtzman | Memory system with in stream data encryption / decryption |
US8396208B2 (en) | 2004-12-21 | 2013-03-12 | Sandisk Technologies Inc. | Memory system with in stream data encryption/decryption and error correction |
US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7577848B2 (en) * | 2005-01-18 | 2009-08-18 | Microsoft Corporation | Systems and methods for validating executable file integrity using partial image hashes |
US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US7962746B2 (en) * | 2005-06-01 | 2011-06-14 | Panasonic Corporation | Computer system and program creating device |
US20060288051A1 (en) * | 2005-06-15 | 2006-12-21 | Geoffrey Levand | Methods and apparatuses for ensuring file integrity |
US20070005935A1 (en) * | 2005-06-30 | 2007-01-04 | Khosravi Hormuzd M | Method and apparatus for securing and validating paged memory system |
GB0516471D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | Protected software identifiers for improving security in a computing device |
US7809957B2 (en) | 2005-09-29 | 2010-10-05 | Intel Corporation | Trusted platform module for generating sealed data |
US7953225B2 (en) * | 2005-10-21 | 2011-05-31 | Harris Corporation | Mobile wireless communications device with software installation and verification features and related methods |
US7681050B2 (en) * | 2005-12-01 | 2010-03-16 | Telefonaktiebolaget L M Ericsson (Publ) | Secure and replay protected memory storage |
US8701091B1 (en) | 2005-12-15 | 2014-04-15 | Nvidia Corporation | Method and system for providing a generic console interface for a graphics application |
WO2007094857A1 (en) * | 2006-02-09 | 2007-08-23 | Thomson Licensing | Method and apparatus for securing digital content |
KR100746033B1 (ko) * | 2006-02-17 | 2007-08-06 | 삼성전자주식회사 | 무결성 측정 장치 및 방법 |
US7891012B1 (en) | 2006-03-01 | 2011-02-15 | Nvidia Corporation | Method and computer-usable medium for determining the authorization status of software |
US8452981B1 (en) * | 2006-03-01 | 2013-05-28 | Nvidia Corporation | Method for author verification and software authorization |
US8364965B2 (en) | 2006-03-15 | 2013-01-29 | Apple Inc. | Optimized integrity verification procedures |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
EP1870813B1 (de) * | 2006-06-19 | 2013-01-30 | Texas Instruments France | Seitenverarbeitende Schaltkreise, Vorrichtungen, Verfahren und Systeme für sicheren, nachfragebasierten Seitenabruf und andere Tätigkeiten |
US20070297606A1 (en) * | 2006-06-27 | 2007-12-27 | Tkacik Thomas E | Multiple key security and method for electronic devices |
US8963932B1 (en) | 2006-08-01 | 2015-02-24 | Nvidia Corporation | Method and apparatus for visualizing component workloads in a unified shader GPU architecture |
US8607151B2 (en) * | 2006-08-01 | 2013-12-10 | Nvidia Corporation | Method and system for debugging a graphics pipeline subunit |
US8436864B2 (en) * | 2006-08-01 | 2013-05-07 | Nvidia Corporation | Method and user interface for enhanced graphical operation organization |
US8436870B1 (en) | 2006-08-01 | 2013-05-07 | Nvidia Corporation | User interface and method for graphical processing analysis |
US7778800B2 (en) * | 2006-08-01 | 2010-08-17 | Nvidia Corporation | Method and system for calculating performance parameters for a processor |
US20080077767A1 (en) * | 2006-09-27 | 2008-03-27 | Khosravi Hormuzd M | Method and apparatus for secure page swapping in virtual memory systems |
US8032764B2 (en) * | 2006-11-14 | 2011-10-04 | Texas Instruments Incorporated | Electronic devices, information products, processes of manufacture and apparatus for enabling code decryption in a secure mode using decryption wrappers and key programming applications, and other structures |
US8607359B2 (en) * | 2007-01-22 | 2013-12-10 | Dell Products L.P. | Removable hard disk with front panel input |
US8549619B2 (en) * | 2007-01-22 | 2013-10-01 | Dell Products L.P. | Removable hard disk with embedded security card |
US7861168B2 (en) * | 2007-01-22 | 2010-12-28 | Dell Products L.P. | Removable hard disk with display information |
WO2008110971A2 (en) * | 2007-03-13 | 2008-09-18 | Koninklijke Philips Electronics N.V. | Encryption and decryption of auxiliary data |
US8087017B1 (en) | 2007-04-09 | 2011-12-27 | Moka5, Inc. | Trace-assisted prefetching of virtual machines in a distributed system |
US8181038B2 (en) * | 2007-04-11 | 2012-05-15 | Cyberlink Corp. | Systems and methods for executing encrypted programs |
US8296738B1 (en) | 2007-08-13 | 2012-10-23 | Nvidia Corporation | Methods and systems for in-place shader debugging and performance tuning |
US9035957B1 (en) | 2007-08-15 | 2015-05-19 | Nvidia Corporation | Pipeline debug statistics system and method |
US8375219B2 (en) | 2007-10-24 | 2013-02-12 | Microsoft Corporation | Program and operation verification |
US7765500B2 (en) * | 2007-11-08 | 2010-07-27 | Nvidia Corporation | Automated generation of theoretical performance analysis based upon workload and design configuration |
US8364973B2 (en) * | 2007-12-31 | 2013-01-29 | Intel Corporation | Dynamic generation of integrity manifest for run-time verification of software program |
EP2250604B1 (de) | 2008-03-04 | 2017-12-27 | Apple Inc. | System und verfahren zur autorisierung der ausführung eines software-codes auf grundlage mindestens eines installierten profils |
JP2009253490A (ja) * | 2008-04-03 | 2009-10-29 | Nec Corp | メモリシステムの暗号化方式 |
US8448002B2 (en) * | 2008-04-10 | 2013-05-21 | Nvidia Corporation | Clock-gated series-coupled data processing modules |
US8639943B2 (en) * | 2008-06-16 | 2014-01-28 | Qualcomm Incorporated | Methods and systems for checking run-time integrity of secure code cross-reference to related applications |
DE102008029636A1 (de) * | 2008-06-23 | 2009-12-24 | Giesecke & Devrient Gmbh | Freischalten eines Dienstes auf einem elektronischen Gerät |
MX2010014464A (es) * | 2008-06-24 | 2011-02-22 | Nagravision Sa | Sistema y metodo para el manejo seguro de memoria. |
US8954696B2 (en) | 2008-06-24 | 2015-02-10 | Nagravision S.A. | Secure memory management system and method |
EP2138946A1 (de) * | 2008-06-24 | 2009-12-30 | Nagravision S.A. | Sicheres Speicherverwaltungssystem |
CN101859330B (zh) * | 2009-04-09 | 2012-11-21 | 辉达公司 | 验证集成电路效能模型的方法 |
US10628579B2 (en) | 2009-06-26 | 2020-04-21 | International Business Machines Corporation | System and method for supporting secure objects using a memory access control monitor |
US8918575B2 (en) * | 2009-09-14 | 2014-12-23 | Broadcom Corporation | Method and system for securely programming OTP memory |
US8644499B2 (en) * | 2009-09-14 | 2014-02-04 | Broadcom Corporation | Method and system for securely protecting a semiconductor chip without compromising test and debug capabilities |
JP2010191974A (ja) * | 2010-03-26 | 2010-09-02 | Sharp Corp | 記録再生装置 |
TWI496161B (zh) * | 2010-08-06 | 2015-08-11 | Phison Electronics Corp | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 |
US9727751B2 (en) | 2010-10-29 | 2017-08-08 | Nokia Technologies Oy | Method and apparatus for applying privacy policies to structured data |
JP5316592B2 (ja) * | 2011-06-09 | 2013-10-16 | 富士通セミコンダクター株式会社 | セキュアプロセッサ用プログラム |
EP2626804B1 (de) | 2012-02-09 | 2017-09-13 | Inside Secure | Verfahren zur Verwaltung von Speicherplatz in einem sicheren nichtflüchtigen Speicher eines Sicherheitsmoduls |
US9569633B2 (en) * | 2012-06-29 | 2017-02-14 | Intel Corporation | Device, system, and method for processor-based data protection |
US9323315B2 (en) | 2012-08-15 | 2016-04-26 | Nvidia Corporation | Method and system for automatic clock-gating of a clock grid at a clock source |
US8850371B2 (en) | 2012-09-14 | 2014-09-30 | Nvidia Corporation | Enhanced clock gating in retimed modules |
US9519568B2 (en) | 2012-12-31 | 2016-12-13 | Nvidia Corporation | System and method for debugging an executing general-purpose computing on graphics processing units (GPGPU) application |
US9471456B2 (en) | 2013-05-15 | 2016-10-18 | Nvidia Corporation | Interleaved instruction debugger |
DE112015005602T5 (de) * | 2014-12-15 | 2017-09-07 | International Business Machines Corporation | System und Verfahren zum Unterstützen von sicherer Objekten unter Verwendung einer Überwachungseinrichtung zur Speicherzugriffsteuerung |
US10230529B2 (en) * | 2015-07-31 | 2019-03-12 | Microsft Technology Licensing, LLC | Techniques to secure computation data in a computing environment |
JP7032926B2 (ja) * | 2017-12-27 | 2022-03-09 | ラピスセミコンダクタ株式会社 | 半導体装置及び暗号鍵の制御方法 |
US11347869B2 (en) | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Secure interface control high-level page management |
US11403409B2 (en) | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Program interruptions for page importing/exporting |
US11206128B2 (en) * | 2019-03-08 | 2021-12-21 | International Business Machines Corporation | Secure paging with page change detection |
US20220261505A1 (en) * | 2019-07-23 | 2022-08-18 | Sony Interactive Entertainment Inc. | Access control apparatus, access control method, and program |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5007083A (en) * | 1981-03-17 | 1991-04-09 | Constant James N | Secure computer |
US5283832A (en) * | 1991-10-22 | 1994-02-01 | Motorola, Inc. | Paging message encryption |
US5285496A (en) * | 1992-12-14 | 1994-02-08 | Firstperson, Inc. | Methods and apparatus for providing a secure paging system |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
US5446924A (en) * | 1993-05-03 | 1995-08-29 | Motorola, Inc. | Method for assuring data integrity during a repeater transition |
US5452356A (en) * | 1993-02-10 | 1995-09-19 | Data Critical Corp. | Paging transmission system |
EP0697781A1 (de) * | 1994-08-18 | 1996-02-21 | Hewlett-Packard Company | Verfahren und Vorrichtung zur Herstellung einer bidirektionalen Kommunikation zwischen einem Funkrufgerät und einem Funkrufdienstleistungsanbieter |
EP0351387B1 (de) * | 1988-07-15 | 1996-09-11 | International Business Machines Corporation | Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100275415B1 (ko) * | 1992-01-17 | 2000-12-15 | 가나이 쓰도무 | 무선 페이저 및 음성 전달 기능을 갖는 무선 페이징 시스템 |
US5299263A (en) * | 1993-03-04 | 1994-03-29 | Bell Communications Research, Inc. | Two-way public key authentication and key agreement for low-cost terminals |
US5483595A (en) * | 1993-09-20 | 1996-01-09 | Seiko Communications Holding N.V. | Paging device including password accessed stored cryptographic keys |
GB2315575A (en) * | 1996-07-19 | 1998-02-04 | Ibm | Encryption circuit in I/O subsystem |
-
1996
- 1996-12-12 US US08/764,154 patent/US5757919A/en not_active Expired - Lifetime
-
1997
- 1997-11-25 JP JP52676398A patent/JP4140863B2/ja not_active Expired - Fee Related
- 1997-11-25 WO PCT/US1997/021968 patent/WO1998026535A1/en active Application Filing
- 1997-11-25 AU AU56889/98A patent/AU5688998A/en not_active Abandoned
- 1997-11-25 DE DE19782169A patent/DE19782169C2/de not_active Expired - Lifetime
- 1997-11-25 DE DE19782169T patent/DE19782169T1/de active Granted
- 1997-11-25 GB GB9912947A patent/GB2334866B/en not_active Expired - Fee Related
-
2000
- 2000-02-29 HK HK00101244A patent/HK1022797A1/xx not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5007083A (en) * | 1981-03-17 | 1991-04-09 | Constant James N | Secure computer |
EP0351387B1 (de) * | 1988-07-15 | 1996-09-11 | International Business Machines Corporation | Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum |
US5283832A (en) * | 1991-10-22 | 1994-02-01 | Motorola, Inc. | Paging message encryption |
US5285496A (en) * | 1992-12-14 | 1994-02-08 | Firstperson, Inc. | Methods and apparatus for providing a secure paging system |
US5452356A (en) * | 1993-02-10 | 1995-09-19 | Data Critical Corp. | Paging transmission system |
US5446924A (en) * | 1993-05-03 | 1995-08-29 | Motorola, Inc. | Method for assuring data integrity during a repeater transition |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
EP0697781A1 (de) * | 1994-08-18 | 1996-02-21 | Hewlett-Packard Company | Verfahren und Vorrichtung zur Herstellung einer bidirektionalen Kommunikation zwischen einem Funkrufgerät und einem Funkrufdienstleistungsanbieter |
Non-Patent Citations (2)
Title |
---|
SCHULTE, H.: Telekommunikation, Bd. 3, Augsburg, Interest Verlag GmbH, 1994, S. 1-9 * |
Telesec, Kommunikationssicherheit, Telekom, Produktentwicklung Telesec, Siegen 1994, S. 8-9, Bild 14 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1978463A3 (de) * | 2007-04-02 | 2010-06-02 | Francotyp-Postalia GmbH | Sicherheitsmodul für eine Frankiermaschine |
Also Published As
Publication number | Publication date |
---|---|
DE19782169T1 (de) | 1999-10-28 |
GB9912947D0 (en) | 1999-08-04 |
US5757919A (en) | 1998-05-26 |
JP2001508893A (ja) | 2001-07-03 |
GB2334866A (en) | 1999-09-01 |
WO1998026535A1 (en) | 1998-06-18 |
HK1022797A1 (en) | 2000-08-18 |
JP4140863B2 (ja) | 2008-08-27 |
GB2334866B (en) | 2001-07-18 |
AU5688998A (en) | 1998-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19782169C2 (de) | Kryptographisch geschütztes Seitenwechsel-Subsystem | |
DE69815599T2 (de) | Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen | |
DE10196006B4 (de) | Erzeugen einer Schlüsselhierarchie zur Verwendung in einer isolierten Ausführungsumgebung | |
DE69634880T2 (de) | Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem | |
DE102019110327A1 (de) | Technologien zum verifizieren von speicherintegrität über mehrere speicherbereiche hinweg | |
DE112005001654B4 (de) | Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD | |
DE102008006759B4 (de) | Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit | |
DE102011010613B4 (de) | Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt | |
EP1668515B8 (de) | Wortindividuelle schlüsselerzeugung | |
DE102011082184A1 (de) | Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher | |
DE2810168A1 (de) | Verfahren zum sichern eines computerprogramms gegenueber entnahme bzw. wiedergabe durch einen benutzer sowie vorrichtung zur durchfuehrung des verfahrens | |
DE112009002502T5 (de) | Multilayer inhalte-schützender Mikrocontoller | |
DE10254396A1 (de) | Vorrichtung und Verfahren zum Verschlüsseln von Daten | |
WO2005036406A1 (de) | Entschlüsselung bzw. verschlüsselung bei schreibzugriffen auf einen speicher | |
EP1612636A1 (de) | Verfahren zur Datenarchivierung mit automatischer Ver- und Entschlüsselung | |
EP1883906B1 (de) | Tragbarer datenträger mit sicherer datenverarbeitung | |
EP3254227B1 (de) | Verfahren zum schutz sicherheitsrelevanter daten in einem cachespeicher | |
EP2499774B1 (de) | Verfahren und system zur beschleunigten entschlüsselung von kryptographisch geschützten nutzdateneinheiten | |
DE602004001732T2 (de) | Datenverschlüsselung in einem elektronischen Gerät mit mehreren symmetrischen Prozessoren | |
EP0280035B1 (de) | Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme | |
EP1661069B1 (de) | Prozessorschaltung und verfahren zum zuordnen eines logikchips zu einem speicherchip | |
DE102018112742A1 (de) | Computerimplementiertes Verfahren zum Übergeben eines Datenstrings von einer Anwendung an eine Datenschutzeinrichtung | |
DE102010045580A1 (de) | Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung | |
DE69833947T2 (de) | Speicherzellenanordnung zur erzeugung einer geheimen nicht dauerhaften speicherung | |
EP1482453A2 (de) | Verfahren zum Laden von Daten in eine Speichereinrichtung |