Eine Einführung in den Java Ring

Die Kolumne dieses Monats ist in zwei Teile unterteilt. Der erste Teil, der in diesem Artikel enthalten ist, bietet die Geschichte des Java-Rings und die Technologie, mit der er erstellt wurde, sowie eine kurze Diskussion der Eignung des iButton für Sicherheitsanwendungen und andere Anwendungen. Der zweite Teil zeigt, wie die Java Card 2.0-API mit dem Java iButton verwendet wird, und bietet dem Leser einen sehr frühen Einblick in das Entwerfen, Herunterladen und Kommunizieren einer Anwendung mit einer auf einer Java Card ausgeführten Anwendung.

Es liegt im Detail

Der Java Ring ist ein extrem sicheres elektronisches Token mit Java-Unterstützung, einer kontinuierlich laufenden, unveränderlichen Echtzeituhr und einer robusten Verpackung, die für viele Anwendungen geeignet ist. Das Juwel des Java-Rings ist der Java iButton - ein vertrauenswürdiger Single-Chip-Mikrocomputer mit einer Million Transistoren und einer leistungsstarken Java Virtual Machine (JVM) in einem robusten und sicheren Edelstahlgehäuse. Entwickelt, um vollständig mit dem Java Card 2.0-Standard kompatibel zu sein (weitere Informationen zu Java Card 2.0 finden Sie im Java Developer des letzten MonatsSpalte "Java Card 2.0 verstehen") Der Prozessor verfügt über einen modularen Hochgeschwindigkeits-Exponentiator mit 1024 Bit für RSA-Verschlüsselung, große RAM- und ROM-Speicherkapazität und eine unveränderliche Echtzeituhr. Das verpackte Modul hat nur einen einzigen elektrischen Kontakt und einen Erdungsrücklauf, der den Spezifikationen des Dallas Semiconductor 1-Wire-Busses entspricht. Lithium-gestützter nichtflüchtiger SRAM bietet eine hohe Lese- / Schreibgeschwindigkeit und eine beispiellose Manipulationsbeständigkeit durch nahezu sofortiges Löschen des gesamten Speichers, wenn eine Temperierung erkannt wird, eine Funktion, die als schnelle Nullstellung bekannt ist. Datenintegrität und Uhrfunktion bleiben mehr als 10 Jahre erhalten. Das Edelstahlgehäuse mit einem Durchmesser von 16 Millimetern bietet Platz für die größeren Chipgrößen, die für bis zu 128 Kilobyte nichtflüchtigen statischen Hochgeschwindigkeits-RAM erforderlich sind. Die kleine und extrem robuste Verpackung des Moduls ermöglicht die Befestigung am Zubehör Ihrer Wahl, um den individuellen Lebensstilen wie Schlüsselanhänger, Brieftasche, Uhr, Halskette, Armband oder Fingerring gerecht zu werden.

Historischer Hintergrund

Im Sommer 1989 produzierte Dallas Semiconductor Corp. die ersten in Edelstahl eingekapselten Speichervorrichtungen unter Verwendung des 1-Draht-Kommunikationsprotokolls von Dallas Semiconductor. Bis 1990 wurde dieses Protokoll verfeinert und in einer Vielzahl von in sich geschlossenen Speichervorrichtungen eingesetzt. Ursprünglich als "Touch Memory" -Geräte bezeichnet, wurden sie später in "iButtons" umbenannt. IButtons sind wie Batterien verpackt und haben nur einen einzigen aktiven elektrischen Kontakt auf der Oberseite, wobei die Edelstahlschale als Erdung dient.

Daten können seriell über einen einfachen und kostengünstigen RS232C-Adapter für die serielle Schnittstelle gelesen oder in den Speicher geschrieben werden, der auch die für die Ausführung der E / A erforderliche Leistung liefert. Der iButton-Speicher kann mit einem kurzzeitigen Kontakt zum vom Adapter bereitgestellten "Blue Dot" -Rezeptor gelesen oder geschrieben werden. Wenn keine Verbindung zum Adapter für die serielle Schnittstelle besteht, werden die Speicherdaten durch eine lebenslange Lithium-Energieversorgung, die den Speicherinhalt mindestens 10 Jahre lang aufrechterhält, im nichtflüchtigen Direktzugriffsspeicher (NVRAM) gespeichert. Im Gegensatz zum elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) kann der NVRAM-iButton-Speicher so oft wie nötig gelöscht und neu geschrieben werden, ohne dass Abnutzungserscheinungen auftreten. Es kann auch mit den für CMOS-Speicher (Complementary Metal Oxide Semiconductor) typischen hohen Geschwindigkeiten gelöscht oder neu geschrieben werden.ohne die zeitaufwändige Programmierung des EEPROM zu erfordern.

Seit ihrer Einführung wurden iButton-Speichergeräte in großen Mengen als robuste tragbare Datenträger eingesetzt, häufig unter rauen Umgebungsbedingungen. Zu den großflächigen Verwendungszwecken zählen Transitfluggesellschaften in Istanbul, Türkei; als Wartungsprotokollträger an den Seiten von Ryder-Lastwagen; und als Postfachkennungen in den Postfächern der Außenpostfächer des US-Postdienstes. Sie werden von Kühen in Kanada als Ohrringe getragen, um Impfaufzeichnungen zu führen, und sie werden von Landarbeitern in vielen Gebieten als robuster Ersatz für Zeitkarten verwendet.

Die iButton-Produktlinie und ihre zahlreichen Anwendungen werden auf der iButton-Website von Dallas Semiconductor beschrieben, die im Abschnitt Ressourcen aufgeführt ist. Jedes iButton-Produkt wird mit einer eindeutigen 8-Byte-Seriennummer hergestellt und garantiert, dass keine zwei Teile jemals dieselbe Nummer haben werden. Zu den einfachsten iButtons gehören Speichergeräte, die Dateien und Unterverzeichnisse aufnehmen und wie kleine Disketten gelesen und geschrieben werden können. Darüber hinaus gibt es iButtons mit kennwortgeschützten Dateibereichen für Sicherheitsanwendungen, iButtons, die zählen, wie oft sie zur Sicherung von Finanztransaktionen umgeschrieben wurden, iButtons mit Temperatursensoren, iButtons mit kontinuierlich laufenden Datums- / Zeituhren und sogar iButtons mit leistungsstarken Mikroprozessoren.

Das Post-Sicherheitsgerät

Seit über 10 Jahren entwickelt, produziert und vertreibt Dallas Semiconductor auch eine Reihe hochsicherer Mikroprozessoren, die in Satelliten-TV-Descramblern, Geldautomaten, Kassenterminals und anderen ähnlichen Anwendungen verwendet werden, die kryptografische Sicherheit und hohe Anforderungen erfordern Widerstand gegen Angriffe von Hackern. Die Information Based Indicia Program Postal Security Device Specification des US Postal Service (USPS), die das Drucken gültigen US-Portos auf jedem PC ermöglichen soll, bot die erste Gelegenheit, zwei Fachgebiete zu kombinieren, als ein sicherer Mikroprozessor in einen iButton integriert wurde.

Das resultierende Produkt mit dem Namen Crypto iButton kombiniert hohe Prozessorleistung, schnelle kryptografische Grundelemente und außergewöhnlichen Schutz vor physischen und kryptografischen Angriffen. Beispielsweise kann die modulare Exponentiations-Engine für große Ganzzahlen 1024-Bit-Modular-Exponentiierungen mit einem 1024-Bit-Exponenten in deutlich weniger als einer Sekunde durchführen. Die Fähigkeit, große ganzzahlige modulare Exponentiationen mit hoher Geschwindigkeit durchzuführen, ist von zentraler Bedeutung für die RSA-Verschlüsselung, den Diffie-Hellman-Schlüsselaustausch, den Digital Signature Standard (FIPS 186) und viele andere moderne kryptografische Operationen.

Eine Vereinbarung zwischen Dallas Semiconductor und RSA Data Security Inc. sieht eine kostenpflichtige Lizenz für alle vor, die den Crypto iButton zur Durchführung von RSA-Verschlüsselung und digitalen Signaturen verwenden, sodass keine weitere Lizenzierung der RSA-Verschlüsselungstechnologie erforderlich ist. Hohe Sicherheit bietet die Möglichkeit, den Inhalt des NVRAM extrem schnell zu löschen. Diese Funktion, die schnelle Nullstellung, ist eine Voraussetzung für Hochsicherheitsgeräte, die möglicherweise von Hackern angegriffen werden. Aufgrund seiner hohen Sicherheit wird erwartet, dass der Crypto iButton die FIPS 140-1-Sicherheitszertifizierung durch das National Institute of Standards and Technology (NIST) erhält.

Ein spezielles Betriebssystem wurde entwickelt und im ROM des Crypto iButton gespeichert, um Kryptografie und allgemeine Finanztransaktionen zu unterstützen - wie sie für das Postdienstprogramm erforderlich sind. Die für diese Anwendung entwickelte E-Commerce-Firmware war zwar keine virtuelle Java-Maschine, hatte jedoch einige Ähnlichkeiten mit Java, darunter ein objektorientiertes Design und einen Bytecode-Interpreter zur Interpretation und Ausführung der benutzerdefinierten E-Commerce-Skriptsprache von Dallas Semiconductor. Ein Compiler wurde auch geschrieben, um die Darstellung der Skriptsprache auf hoher Ebene in ein Bytecode-Formular zu kompilieren, das von der E-Commerce-VM interpretiert werden kann. Obwohl die E-Commerce-Firmware hauptsächlich für die USPS-Anwendung gedacht war,Die Firmware unterstützt eine Vielzahl allgemeiner E-Commerce-Modelle, die für viele verschiedene Anwendungen geeignet sind. Die E-Commerce-Firmware unterstützt auch kryptografische Protokolle für den sicheren Informationsaustausch, wie das von Sun Microsystems Inc. entwickelte SKIP (Simple Key-Management für das Internetprotokoll). Der E-Commerce iButton und das SDK für die Programmierung werden in der Krypto ausführlich beschrieben iButton-Homepage (siehe Ressourcen).

Die Java-Verbindung

Mit der Erfahrung beim Entwerfen des E-Commerce-Betriebssystems und der VM für die Crypto iButton-Hardwareplattform konnte das Firmware-Designteam von Dallas Semiconductor die Vorteile eines neuen Betriebssystems für den Crypto iButton auf Java-Basis sofort erkennen. Mit einem Java iButton kann eine große Anzahl vorhandener Java-Programmierer leicht lernen, Applets zu schreiben, die mit den von Sun Microsystems verfügbaren Standardtools kompiliert, in den Java iButton geladen und bei Bedarf ausgeführt werden können, um eine Vielzahl von Finanzanwendungen zu unterstützen. Die Java Card 2.0-Spezifikation bot die Möglichkeit, eine nützliche Version der JVM- und Laufzeitumgebung mit den begrenzten Ressourcen zu implementieren, die einem kleinen Prozessor zur Verfügung stehen.

Der Crypto iButton bietet auch eine hervorragende Hardwareplattform für die Ausführung von Java, da er NVRAM für die Programm- und Datenspeicherung verwendet. Mit 6 Kilobyte vorhandenem NVRAM und dem Potenzial, die NVRAM-Kapazität im vorhandenen iButton-Formfaktor auf bis zu 128 Kilobyte zu erweitern, kann der Crypto iButton Java mit einem relativ großen Java-Stack im NVRAM ausführen. Dieser Speicher fungiert als herkömmlicher Hochgeschwindigkeits-RAM, wenn der Prozessor ausgeführt wird, und die Lithiumenergie bewahrt den vollständigen Zustand der Maschine, während der Java-Ring vom Lesegerät getrennt wird. Es ist daher nicht erforderlich, persistente Objekte auf besondere Weise zu behandeln - Objekte bleiben je nach Umfang bestehen oder nicht, sodass der Programmierer die vollständige Kontrolle über die Objektpersistenz hat. Wie in Standard-Java,Der Java iButton enthält einen Garbage Collector, der alle Objekte sammelt, die außerhalb des Gültigkeitsbereichs liegen, und den Speicher für die zukünftige Verwendung recycelt. Applets können beliebig oft vom Java iButton geladen und entladen werden. Alle derzeit in einen Java iButton geladenen Applets werden effektiv mit einer Geschwindigkeit von Null ausgeführt, wenn der iButton keinen Kontakt mit einem Blue Dot-Rezeptor hat.

Als die Java Card 2.0-Spezifikation vorgeschlagen wurde, wurde Dallas Semiconductor ein JavaSoft-Lizenznehmer. Die Vereinbarung sah die Entwicklung einer Java Card 2.0-Implementierung sowie das Design von "Plus-Teilen" vor, die die einzigartigen Funktionen des Crypto iButtons NVRAM nutzen, z. B. die Unterstützung eines echten Java-Stacks und der Garbage Collection. Die Java iButton-Implementierung von Java Card 2.0 mit Plus-Teilen verspricht mit der kontinuierlich laufenden Lithium-Uhrzeit und der schnellen, modularen Exponentiation-Engine mit großen Ganzzahlen einen aufregenden neuen Funktionsumfang für erweiterte Java-Karten Anwendungen.

Bewahren Sie Ihr Geld sicher auf

Die Crypto iButton-Hardwareplattform bietet eine Reihe einzigartiger Funktionen, die ausdrücklich verhindern sollen, dass Hackern private Schlüssel und andere vertrauliche Informationen zur Verfügung stehen. Abbildung 1 zeigt ein Detail des internen Aufbaus des Crypto iButton. Der Siliziumchip, der den Prozessor, den ROM und den NVRAM-Speicher enthält, ist metallurgisch mit dem Barriersubstrat verbunden, durch das alle elektrischen Kontakte hergestellt werden. Dieses Barriersubstrat und die bei der Siliziumherstellung verwendeten dreischichtigen Metallkonstruktionstechniken verweigern effektiv den Zugriff auf die im NVRAM gespeicherten Daten. Wenn versucht wird, diese Barrieren zu durchdringen, werden die NVRAM-Daten sofort gelöscht.Diese Konstruktionstechnik und die Verwendung von NVRAM zur Speicherung von privaten Schlüsseln und anderen vertraulichen Daten bieten ein viel höheres Maß an Datensicherheit als der EEPROM-Speicher. Die Tatsache, dass der Kommunikationspfad zwischen dem Crypto iButton und der Außenwelt auf eine einzige Datenleitung beschränkt ist, bietet zusätzliche Sicherheit gegen Hardwareangriffe, indem der für den Hacker zugängliche Signalbereich begrenzt wird.

Zusätzlich wird der Prozessor selbst von einem nicht stabilisierten Ringoszillator angetrieben, der über einen Bereich von 10 bis 20 Megahertz arbeitet, so dass die Taktfrequenz des Prozessors nicht konstant ist und nicht durch externe Mittel bestimmt werden kann. Dies unterscheidet sich vom Design alternativer Geräte, bei denen das Prozessortaktsignal vom Lesegerät eingespeist wird und daher vom Host-Prozessor genau bestimmt wird. Die externe Steuerung der Uhr bietet Hackern ein wertvolles Werkzeug, da sie einen solchen Prozessor wiederholt bis zum gleichen Punkt seiner Ausführung durchlaufen können, indem sie einfach die gleiche Anzahl von Taktzyklen anwenden. Die Steuerung der Uhr bietet auch die Möglichkeit, einen Berechnungsfehler auszulösen und dadurch Informationen zu erhalten, die letztendlich geheime Verschlüsselungsschlüssel enthüllen können.Im Java iButton wird ein 32-Kilohertz-Quarzoszillator verwendet, um die Uhrzeit mit einer konstanten und gut kontrollierten Frequenz zu betreiben, die unabhängig von der Prozessortaktung ist.

Dallas Semiconductor hat mehr als 20 Millionen physisch sichere Speicher und Computer mit für den persönlichen Besitz optimierten Hartschalenverpackungen hergestellt. Der Java iButton ist daher einfach der neueste und komplexeste Nachkomme einer langen Reihe von Produkten, die sich auf dem Markt als äußerst erfolgreich erwiesen haben. Mit seiner Edelstahlpanzerung bietet es die haltbarste Verpackung für eine Klasse von Produkten, die wahrscheinlich als persönlicher Besitz stark beansprucht und missbraucht werden. Der iButton-Formfaktor ermöglicht die Befestigung an einer Vielzahl persönlicher Accessoires, darunter Ringe, Uhrenarmbänder, Schlüsselanhänger, Brieftaschen, Armbänder und Halsketten, sodass der Benutzer eine Variante auswählen kann, die seinem Lebensstil entspricht.