-
TECHNISCHES
GEBIET
-
Diese
Erfindung betrifft ein System zum Schutz von kryptographischen Datenverarbeitungs- und Speicherressourcen
für Frankiermaschinen.
-
HINTERGRUNDTECHNIK
-
In
Ländern
in der gesamten Welt kann ein Postkunde Porto auf verschieden Arten
von der Postbehörde
erhalten, einschließlich
des Erwerbs von Briefmarken und der Verwendung einer Portoerfassungsvorrichtung.
Wenn eine Portoerfassungsvorrichtung verwendet wird, gibt es Sicherheitsbedenken,
weil die Erfassungsvorrichtung einen Wert ausgibt und ohne ausreichende
Sicherheit der Wert von gewissenlosen Parteien von einer Erfassungsvorrichtung
gestohlen werden könnte.
Bedenken umfassen die Verwendung der Erfassungsvorrichtung, um Porto
auszugeben, für
das die Postbehörde
nicht bezahlt wurde, und die Verwendung der Erfassungsvorrichtung,
die durch den rechtmäßigen Betreibers
der Erfassungsvorrichtung nicht autorisiert wurde.
-
Diese
Sicherheitsbedenken waren immer vorhanden, auch wenn eine Portoerfassungsvorrichtung
im Wesentlichen eine rein mechanische Hochdruckvorrichtung war.
Als sich die Portoerfassungsvorrichtung im 20. Jahrhundert zu einer
elektronischen Bauform entwickelte, wurde Hochdruckdrucken in einer
Rotationstrommelbewegung, die ein Bild auf ein Poststück aufdruckt,
sowie einem Flachbettansatz durchgeführt, der ein Poststück auf einer Auflageplattenanordnung
mit einer Druckplatte in Eingriff bringt, um ein Bild auf einem
Poststück
zu erzeugen. Die Portoerfassungsvorrichtung nimmt nun eine neue
Rolle, Porto digital zu drucken, an, was daher Hochdruckdrucken
nicht länger
erfordert.
-
Wenn
eine Portoerfassungsvorrichtung Hochdruckdrucken nutzt, werden Sicherheitsbedenken
typischer Weise teilweise durch die physikalischen Eigenschaften
der Erfassungsvorrichtung behandelt. Die Eigenschaften der Erfassungsvorrichtung
(Gehäusematerial,
etc.) sorgen nicht nur für Schutz
gegen die unautorisierte Verwendung der Erfassungsvorrichtung, die
Eigenschaften stellen auch ein Mittel bereit, um zu detektieren,
ob ein Versuch unternommen worden ist, die Erfassungsvorrichtung unautorisiert
zu verwenden, was durch eine sichtbare vorsätzliche Beschädigung des
Gehäuses
der Erfassungsvorrichtung sichtbar ist. Mit der Entwicklung der "Erfassungsvorrichtung" wird größere Sicherheit
gegen betrügerische
Angriffe auf die Erfassungsvorrichtung benötigt. Mit dem Anstieg der Verfügbarkeit
ausgefeilter Technologien und verfeinerten Hacker-Möglichkeiten
sind Postbehörden
in der ganzen Welt einschließlich
des United State Postal Service über
die Fähigkeit
besorgt, die Postbehörden durch
Fälschen eines
postalischen Freimachungsvermerks zu betrügen, insbesondere wenn ein
solcher Freimachungsvermerk digital gedruckt wird.
-
Ein
Ansatz, der unternommen wurde, um die Sicherheit entwickelter Erfassungsvorrichtungen
zu erhöhen,
besteht darin, Kryptographie für
die Erzeugung und Anbringung der postalischen Freimachungsvermerke
zu verwenden. Damit dieser Ansatz eine wirksame Sicherheitsmaßnahme ist,
muss jedoch ausreichende physikalische Sicherheit für die kryptographische
Datenverarbeitung und Speicher vorhanden sein, um eine erfolgreiche
betrügerische Attacke
auf das System auszuschließen.
Damit dies ein kommerziell tragfähiger
Ansatz ist, muss die kryptographische Datenverarbeitung in zeitlich
günstiger Weise
durchgeführt
werden.
-
WO
93/06542 zeigt ein System, das ausgelegt ist, um die Geheimhaltung
oder Integrität
verschlüsselter
Daten in einem gegen Eingriffe gesicherten Gehäuse einer Einsteckkarte zu
schützen.
Die Einsteckkarte ist in einen der Erweiterungsbusanschlüsse einsetzbar,
die auf der Hauptplatine eines Computers angeordnet sind. Auf die
Schaltkreise und Informationsträger
innerhalb des gegen Eingriffe gesicherten Gehäuses kann nur zugegriffen werden, solange
eine Anzahl an elektronischen und Programmbedingungen erfüllt sind.
Eine dieser Bedingungen besteht darin, dass Schutzeinrichtungen
in der Karte in regelmäßigen Zeitabständen angesprochen
werden, z. B. alle fünf
Millisekunden. Wird dies nicht getan, wird die Karte blockiert.
Damit die Einsteckkarte korrekt arbeitet, müssen die externen Programme
und Prozesse in einer mit dem internen Betrieb der Einsteckkarte
perfekt synchronisierter Weise arbeiten.
-
In "Applied Cryptography", Bruce Schneier, John
Wiley & Sons,
2. Ausgabe 1996, Abschnitt 24.13, sind die grundlegenden Konzepte
und Verwendungen von Smart-Karten beschrieben.
-
OFFENBARUNG
DER ERFINDUNG
-
Die
Erfindung ist in den unabhängigen
Ansprüchen
definiert. Spezielle Ausführungen
sind in den abhängigen
Ansprüchen
angegeben.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das den grundsätzlichen funktionellen Aufbau
des PSD-Kryptographieprozessors
bei der vorliegenden Erfindung zeigt.
-
2 ist
ein Blockdiagramm der PCMCIA-Karten-PSD der vorliegenden Erfindung.
-
3 ist
ein Blockdiagramm, das die PSD der vorliegenden Erfindung zeigt,
die in einem sicheren Hochgeschwindigkeits-Befehlscache-Betrieb
arbeitet.
-
ARTEN ZUR
AUSFÜHRUNG
DER ERFINDUNG
-
Bezugnehmend
auf 1 ist eine ASIC-Ausführungsform einer PSD im Ganzen
bei 5 gezeigt und weist eine Nullpunkt-Einstellungsschaltkreisanordnung 10,
einen Lesespeicher 12, einen Speicher mit wahlfreiem Zugriff 14,
eine Schalt/Steuer-Logik 16, einen kryptographischen Steuerprozessor 18,
einen nicht flüchtigen
Speicher 20, eine Kryptographieschlüsselspeicherung 22,
eine Signaturalgorithmusausführungseinrichtung 24,
einen Zufallszahlengenerator 26, einen Echtzeittaktgeber 28,
eine Interruptsteuerungs- und Ein/Ausgabeeinrichtung 30, einen
Taktgeberschaltkreis 36, einen sicheren Kontrollsummen-Beschleunigungsschaltkreis
(engl.: secure hash acceleration circuitry) 44, eine sichere Speichermanagementeinheit 54 und
eine Hauptrechnerschnittstelle 44 auf, alle innerhalb eines
kryptographischen Bereichs 34. Der Zufallszahlengenerator 26 innerhalb
dieses Blocks stellt eine Quelle für nicht vorhersagbare Zufallszahlen
bereit, die typischer Weise bei Systemen benötigt werden, die eine kryptographische
Technologie verwenden. Der Taktgeberschaltkreis 28 ist
ein auf einem Chip realisierter Echtzeittaktgeber zur sicheren Zeitmessung.
Außerhalb
der ASIC-PSD gibt es eine Batterie 32 zum Beibehalten von
Speicherinhalten beim Fehlen von Hauptenergieversorgung der ASIC
und einen oder mehrere Kristalle 37, die für eine Taktreferenzzeitgebung
für die
verschiedenen untergeordneten Schaltkreise innerhalb der ASIC sorgen.
Eine solche PSD enthält
einen Arbeitsspeicher, einen Aufbewahrungsspeicher und Firmware,
die erforderlich ist, um kryptographische Algorithmen innerhalb
ihres kryptographischen Bereichs auszuführen, einschließlich, aber nicht
beschränkt
auf DSE- und RSA-Verschlüsselung sowie
digitaler Signaturerzeugung und -prüfung. Information, die gespeichert
werden muss, wie ein Hauptschlüssel,
ein öffentlicher
Schlüssel,
ein privater Schlüssel
und dergleichen, sind innerhalb eines nicht flüssigen Speichers oder eines
batteriegepufferten Speichers der PSD gesichert. Auch wenn sich
bei dieser Ausführungsform
die Batterie und die Kristalle außerhalb des kryptographischen
Bereichs der ASIC befinden, können
diese Komponenten auch in die gleiche Baugruppe wie der ASIC-Siziliumchip
integriert sein.
-
Die
ASIC sorgt für
physikalische Sicherheit hinsichtlich der darin gespeicherten Daten,
weil ohne Störung
des Schaltkreisbetriebs auf die Schaltkreise nicht zugegriffen werden
kann. Die in einer ASIC gespeicherten, sicheren Daten umfassen Datenverschlüsselungsschlüssel, die
ohne Störung
des PSI-Betriebs nicht ausgelesen oder modifiziert werden können. Die
Verschlüsselungsmaschine 24 weist die
Fähigkeit
auf, Daten zu empfangen, die empfangenen Daten zu verarbeiten, indem
Verschlüsselungs-
oder Entschlüsselungsoperationen
durchgeführt
werden.
-
Die
einzelnen Komponenten der ASIC können
auch innerhalb einer PCMCIA-Karte integriert sein oder der kundenspezifische
integrierte Schaltkreis (ASIC) ist vorzugsweise ferner als PCMCIA-Karte
integriert und ausgeführt.
Die PCMCIA-Karte sorgt für
zusätzliche
physikalische Sicherheit aufgrund ihres Gehäuses für die Verarbeitungseinheit
für die
Speicherung und Abrechnung aller Guthaben-, Rechnungsprüfungs- und
sicheren Unterstützungsdaten,
die benötigt
werden, um das Hinzufügen
und Entfernen eines Portowerts zu erzeugen und zu validieren. Wie
oben beschrieben, schließt eine
der bevorzugten Ausführungsformen
den ASIC oder seine Komponenten in einer PCMCIA-Karte ein. Im Allgemeineren
sieht es die Erfindung vor, den ASIC oder seine Komponente in einer
Baugruppe einzuschließen,
die eine relativ kleine Größe hat. Zum
Beispiel kann jede Größe geeignet
sein, die mehr oder weniger im Taschenformat ist oder die mehr oder
weniger in einem Briefumschlag verschickt werden kann. Eine solche
Baugruppe muss notwendigerweise einen Kommunikationsanschluss aufweisen,
der mit der Frankiervorrichtung und einem Hauptrechner eine Schnittstellenverbindung herzustellen
vermag, wie unten diskutiert, vorzugsweise ein paralleler Daten-
und Adressbus, wie er z. B. bei einer PCMCIA-Karte verwendet wird.
Alternativ könnte
der Anschluss ein serieller Bus sein, wie z. B. ein universeller
serieller Bus hoher Geschwindigkeit. Wenn die Anwendung keine Hochgeschwindigkeit
erfordert, kann eine Infrarot-(LED-Phototransistor)-Verbindung verwendet
werden. Die genannte sichere Verarbeitungseinheit enthält einen
Arbeitsspeicher, einen Aufbewahrungsspeicher und Firmware, die erforderlich
ist, kryptographische Algorithmen innerhalb eines kryptographischen
Bereichs auszuführen,
einschließlich,
aber nicht beschränkt
auf DES und RSA sowie digitale Signaturerzeugung und -überprüfung. Information,
die gespeichert werden muss, wie z. B. Hauptschlüssel, öffentliche Schlüssel, private
Schlüssel
und dergleichen, sind in einem nicht flüchtigen Speicher oder einem
batteriegepufferten Speicher gesichert.
-
Die
Sicherheit der in einer PCMCIA-Karte implementierten PSD ist eine
Kombination von Datenintegrität,
Authentifizierung, Nichtzurückweisung (engl.:
non-repudiation) und Vertraulichkeit. Datenintegrität wird über die
Verwendung von kryptographischen Prüfsummen (einseitige Kontrollsummen [engl.:
one-way hashes]) über
die Daten realisiert. Diese Funktion erzeugt einen kleinen Wert,
der eindeutig die Daten angibt, so dass sich, wenn ein einzelnes
Bit geändert
wird, der Kontrollsummenwert bedeutsam ändert. Die digitale Signatur
wird erhalten, indem eine kryptographische Operation auf die resultierende
Kontrollsumme der Daten angewendet wird. Authentifizierung wird
durch den Umstand realisiert, dass der empfangende Teilnehmer die
digitale Signatur bei einer Übermittlung
verifizieren und darüber
versichert werden kann, dass die Übertragung von einer vertraulichen
Quelle und nicht von anderen betrügerischen Parteien stammt.
Nichtzurückweisung
wird durch den Umstand erreicht, dass der Urheber der Nachricht
die Nachrichteninhalte nicht leugnen kann, weil es möglich ist,
die ve rifizierbare digitale Signatur nur mit dem eindeutigen privaten Schlüssel des
Urhebers zu erzeugen. Vertraulichkeit ist die Verwendung von Verschlüsselung,
um Daten vor nicht-autorisierter
Verwahrung zu schützen.
-
Um
Betriebssicherheit zu gewährleisten, kann
die PSD nicht als selbstständige
Vorrichtung arbeiten und benötigt
ein Hauptrechnersystem, um seine Funktionen auszuführen. Die
PSD kommuniziert typischer Weise unmittelbar mit einem Hauptrechnersystem,
um seine wichtigste Aufgabe einer Erzeugung von Freimachungsvermerken
auszuführen.
Zusätzlich
kann ein Benutzer über
das Hauptrechnersystem auf die PSD zugreifen, um die ansteigenden und
absteigenden Registerwerte zu prüfen,
die Zählung
zu ergänzen,
Zeitablaufsdaten zu überwachen und
Protokollaufzeichnungen aufzufüllen,
PSD-Diagnosen aktivieren und mit geeigneter Überwachungsautorisierung PINs
für einzelne
Benutzer festlegen und löschen.
Die PSD kann dem Benutzer auch bestimmte Betriebsfehlernachrichten,
wie z. B. eine Warnung hinsichtlich geringen Portos und einer Überwachungszeitablaufsdauerbedingung, über die Hauptrechnerbenutzerschnittstelle
bereitstellen. Das Hauptrechnersystem kann auch bestimmte Protokolldateien
aufrechterhalten; diese Protokolldateien müssen von der PSD mit ihrem
privaten Schlüssel
signiert werden. Das Hauptrechnersystem überträgt die zu signierenden Daten
zu der PSD und die PSD gibt eine digitale Signatur und ein Zertifikat
(das den öffentlichen
Schlüssel
enthält,
der für
die PSD eindeutig ist) zurück,
der später
verwendet kann, um die digitale Signatur zu verifizieren.
-
Bezugnehmend
auf 2 ist ein Blockdiagramm der Ausführungsform
der PCMCIA-Karten-PSD
der vorliegenden Erfindung, die eine Schnittstellenverbindung mit
einem Hauptrechnerkontroller hat, gezeigt, einschließlich eines
Hauptrechnerkontrollers 64, eines Zeitüberwachungsschaltkreises 66,
einer Speicherzuteilungseinrichtung 68 (engl.: memory arbiter),
eines Kontrollers 70 und eines Speichers 72. Es
wird davon ausgegangen, dass eine Anzahl von Arten eines Angriffs
auf die PCMCIA-Karten-PSD ausgeführt
werden, wobei ein Angreifer versucht, zusätzliche Daten von der PSD zu
erhalten oder auf andere Weise ihre Integrität zu gefährden, indem der Bus für eine übermäßige Zeitdauer
angehalten wird. Der Zeitüberwachungsschaltkreis 66 arbeitet,
um die Zeitdauer zu begrenzen, die der Hauptrechnerkontroller 64 haben
kann, um eine Bustransaktion abzuschließen, und beendet eine vom Hauptrechner
eingeleitet Bustransaktion, wenn die Transaktion eine vorbestimmte
Zeitgrenze überschreitet.
-
Wenn
der Hauptrechner 64 wünscht,
auf die in einer PCMCIA-Karte implementierte PSD zuzugreifen, wartet
er, bis ein Lesesignal 74 ausgegeben wird und gibt dann
ein Auswahlsignal 76 aus. Dieses Signal wird in den Zeitüberwachungsschaltkreis 66 eingegeben,
der ein vorbestimmtes Zeitablaufsintervall einleitet. Der Hauptrechnerkontroller 64 leitet dann
einen Lese- oder
Schreibzyklus ein, indem die geeigneten Lese- und Schreibsignale
ausgegeben und die Adress- und Datenbusse entsprechend festgelegt
werden.
-
Der
Zeitüberwachungsschaltkreis 66 stellt ein
separates Auswahlsignal 78 der Speicherzuteilungseinrichtung 68 bereit,
die tatsächlich
ein Speicherkontroller mit zwei Anschlüssen ist, der eine Logik enthält, die
Bedingungen definiert, unter denen der Kontroller 70 und
der Hauptrechnerkontroller 64 Zugriff auf den Speicher 72 haben.
Wenn der Hauptrechnerkontroller 64 Zugriff auf den Speicher 72 hat, gibt
die Zuteilungseinrichtung 68 ein Haltesignal 80 an
den Kontroller 70 aus, was dem Kontroller 70 mitteilt,
temporär
jegliche weitere Zugriffe auf den Speicher 72 zu stoppen.
Unter diesen Umständen
ist der Kontroller 70 typischer Weise untätig, bis
er eine interne Operation durchführt,
die keinen externen Speicherzugriff erfordert.
-
Die
Zuteilungseinrichtung 68 erlaubt es den Lese- und Schreibsignalen 82 und 84 sowie
den Adress- und Datenbussen 86 und 88 zu dem Speicher 72 zu
gelangen. Nach einer erfolgreichen Bustransaktion deaktiviert der
Hauptrechnerkontroller 64 das Auswahlsignal 74,
um dem Zeitüberwachungsschaltkreis 66 das
normale Ende des Bustransfers anzugeben. Der Zeitüberwachungsschaltkreis 66 deaktiviert
auf gleiche Weise das Auswahlsignal 78 zu der Zuteilungseinrichtung 68,
die die Signalpegel des Hauptrechnerkontrollers auf den Lese-, Schreib-, Adress-
und Datenbussen (82, 84 und 86) zu dem Speicher 72 entfernt
und dem Kontroller 70 signalisiert, dass er auf den Speicher 72 zugreifen
kann, indem das Haltesignal 80 deaktiviert wird.
-
Wenn
der Hauptrechnerkontroller 64 zu lange braucht, um den
Buszugriff abzuschließen,
deaktiviert der Zeitüberwachungsschaltkreis 66 ein
Bereit-Signal 64 zu dem Hauptrechnerkontroller und ein Auswahlsignal 78 zu
der Zuteilungseinrichtung 68. Dies bewirkt, dass die Zuteilungseinrichtung 68 die Lese-(84),
Schreib-(82), Adress-(88) und Daten-(86)-Signale
des Hauptrechnerkontrollers 64 von dem Speicher 72 entfernt.
Ein Stoppsignal 80 zu dem Kontroller 70 wird entfernt,
damit der Kontroller 70 wiederum auf den Speicher 72 zugreifen
kann. Alternativ könnte
der Zeitüberwachungsschaltkreis 66 auch
dem Kontroller 70 signalisieren, dass der Fehler aufgetreten
ist, indem ein Interrupt-Signal 90 zu dieser Vorrichtung
ausgegeben wird. Die Logik in der Software des Kontrollers 70 könnte aufgerufen
werden, um das Problem als zufälligen
Fehler oder einen Versuch, die PSD zu gefährden, kategorisieren. Wenn
der Kontroller 70 feststellt, dass eine unsachgemäße Behandlung
versucht worden ist, würde
der Kontroller weitere Zugriffe des Hauptrechnerkontrollers 64 zurückweisen
und den Kunden dazu zwingen, die Situation dem Hersteller zu berichten,
z. B. mittelbar durch einen Telefonanruf oder andere Netzwerkkommunikation
oder durch Zurückgeben
der Vorrichtung.
-
Eine
bevorzugte Ausführungsform
der auf einer PCMCIA-Karte implementierten PSD würde den Bereich in dem Speicher 82 einschränken, auf
den der Hauptrechnerkontroller 64 zugreifen kann. Zum Beispiel
könnte
ein Zugriff auf kein Zugriff, nur Lesen, nur Schreiben, Schreiben-Lesen,
etc. eingeschränkt sein,
und der Adressbereich in dem Speicher 72 kann auf eine
dem Kontroller 70 zur Verfügung stehende Untergruppe eingeschränkt sein.
Auf diese Weise kann der Kontroller 70 bestimmte Informationen
verstecken, wie z. B. seine kritischsten Sicherheitsparameter, sowohl
hinsichtlich einer Überwachung
als auch eines Überschreibens.
-
Die
Hauptrechnerschnittstelle 42 integriert den Zeitüberwachungsschaltkreis 66,
die PCMCIA-Speicherzuteilungseinrichtung 68 und den PSD-Kontroller 70.
Der Kontroller 70 entspricht dem Kryptographieprozessor 18 in 1.
Der Zeitüberwachungsschaltkreis 66 und
die Zuteilungseinrichtung 68 wären somit vorzugsweise in den
PSD-ASIC integriert, können
aber als diskrete Schaltkreise auf der PCMCIA-Karte hinzugefügt sein.
-
Die
PSD der vorliegenden Erfindung kann mit vorhandenen, auf dem Gebiet
bekannten krytographischen Verfahren mit öffentlichen/privaten Schlüsseln verwendet
werden. Siehe zum Beispiel die U.S.-Patente Nr. 5,237,506, 5,606,507
und 5,666,284. Die Geschwindigkeit, mit der eine solche Verschlüsselung
durchgeführt
wird, kann jedoch durch die Verwendung einer Einheit zum sicheren Speichermanagement 96 (SMMU;
engl.: Secure Memory Management Unit) innerhalb der PSD erhöht werden.
Vorzugsweise wird diese von Atalla Corp., San Jose, Kalifornien,
das ein Tandem-Unternehmen ist, und VLSI-Technology, San Jose, Kalifornien,
erhalten.
-
Wie
in 3 gezeigt, enthält der hinsichtlich der PSD
externe Speicher 98 verschlüsselten Kode. Die SMMU 96 erhält den verschlüsselten
Code 100 in von einer Verschlüsselungsmaschine 104 zu
verarbeitenden Teilen in einer solchen Weise, dass sie als Eingabeeinrichtung
für die
Verschlüsselungsmaschine 104 dient.
Die Verschlüsselungsmaschine 104 verwendet
den geeigneten Entschlüsselungsschlüssel, der
ihr von der SMMU 96 bereitgestellt wird. Dieser Entschlüsselungsschlüssel ist
in der PSD-ASIC sicher gespeichert und wird niemals ausgegeben und ist
somit niemals einem möglichen
Angreifer bekannt. Die verschlüsselte
Ausgabe von der Verschlüsselungsmaschine 104 wird
dann in das RAM 106 (auch 14 in 1)
eingegeben. 3 zeigt die Ausgabe des RAM 106,
die zu einem Prozessor 108 (auch 18 in 1)
geht. Somit stellt 3 eine sichere Hochgeschwindigkeits-Befehlscache-Operation dar.
Der Gesamtvorteil der SMMU wird durch den Umstand verwirklicht,
dass ein Möchtegernangreifer die
Softwarebefehle in dem Kode nicht substituieren kann, um die vorgesehene
Funktionalität
zu ändern und
was dem Angreifer Zugriff auf die Haupt-, privaten oder öffentlichen
Schlüssel
geben könnte,
die in der PSD-ASIC gespeichert sind.
-
Auch
wenn beschrieben worden ist, was angenommen wird, dass es die bevorzugten
Ausführungsformen
der Erfindung sind, werden Fachleute auf dem Gebiet erkennen, dass
andere und weitere Modifikationen vorgenommen werden können, ohne sich
von der Erfindung zu entfernen.