Προγραμματισμός

Μια εισαγωγή στο Java Ring

Η στήλη αυτού του μήνα χωρίζεται σε δύο μέρη. Το πρώτο μέρος, που ενσωματώνεται σε αυτό το άρθρο, προσφέρει την ιστορία του Δαχτυλίδι Java και την τεχνολογία που χρησιμοποιήθηκε για την κατασκευή του, καθώς και μια σύντομη συζήτηση για την καταλληλότητα του iButton για εφαρμογές ασφαλείας και άλλες εφαρμογές. Το δεύτερο μέρος, δείχνει πώς να χρησιμοποιήσετε το Java Card 2.0 API με το Java iButton και παρέχει στον αναγνώστη μια πολύ πρώιμη ματιά στο πώς να σχεδιάσετε μια εφαρμογή, να την κατεβάσετε και, στη συνέχεια, να επικοινωνήσετε με μια εφαρμογή που εκτελείται σε μια κάρτα Java.

Είναι στις λεπτομέρειες

Το Java Ring είναι ένα εξαιρετικά ασφαλές ηλεκτρονικό κουπόνι με τροφοδοσία Java με ένα συνεχώς τρέχον, αναλλοίωτο ρολόι σε πραγματικό χρόνο και ανθεκτική συσκευασία, κατάλληλο για πολλές εφαρμογές. Το κόσμημα του Java Ring είναι το Java iButton - ένα τρανζίστορ ενός εκατομμυρίου, αξιόπιστο μικροϋπολογιστή με ένα ισχυρό εικονικό μηχάνημα Java (JVM) που στεγάζεται σε μια στιβαρή και ασφαλή θήκη από ανοξείδωτο ατσάλι. Σχεδιασμένο για να είναι πλήρως συμβατό με το πρότυπο Java Card 2.0 (για περισσότερα στην Java Card 2.0, δείτε τον περασμένο μήνα Προγραμματιστής Java στήλη, "Κατανόηση της κάρτας Java 2.0") ο επεξεργαστής διαθέτει έναν αρθρωτό εκθετήρα 1024-bit υψηλής ταχύτητας για κρυπτογράφηση RSA, μεγάλη χωρητικότητα μνήμης RAM και ROM και ένα αμετάβλητο ρολόι σε πραγματικό χρόνο. Η συσκευασμένη μονάδα διαθέτει μόνο μία ηλεκτρική επαφή και επιστροφή γείωσης, σύμφωνα με τις προδιαγραφές του δίαυλου 1-Wire Dallas Semiconductor. Το μη πτητικό SRAM που υποστηρίζεται από λίθιο προσφέρει υψηλή ταχύτητα ανάγνωσης / εγγραφής και απαράμιλλη αντίσταση παραβίασης μέσω σχεδόν στιγμιαίας εκκαθάρισης όλης της μνήμης κατά την ανίχνευση μετριασμού, ένα χαρακτηριστικό γνωστό ως ταχεία μηδενισμό. Η ακεραιότητα των δεδομένων και η λειτουργία ρολογιού διατηρούνται για περισσότερα από 10 χρόνια. Το περίβλημα από ανοξείδωτο χάλυβα διαμέτρου 16 χιλιοστών φιλοξενεί τα μεγαλύτερα μεγέθη τσιπ που απαιτούνται για έως και 128 kilobytes υψηλής ταχύτητας μη πτητική στατική RAM. Η μικρή και εξαιρετικά στιβαρή συσκευασία του δομοστοιχείου επιτρέπει την προσάρτηση στο αξεσουάρ της επιλογής σας για να ταιριάζει με μεμονωμένους τρόπους ζωής, όπως μπρελόκ, πορτοφόλι, ρολόι, κολιέ, βραχιόλι ή δαχτυλίδι.

Ιστορικό υπόβαθρο

Το καλοκαίρι του 1989, η Dallas Semiconductor Corp. παρήγαγε τις πρώτες συσκευές μνήμης με κάψουλες από ανοξείδωτο χάλυβα που χρησιμοποιούν το πρωτόκολλο επικοινωνίας 1-Wire του Dallas Semiconductor. Μέχρι το 1990, αυτό το πρωτόκολλο είχε τελειοποιηθεί και χρησιμοποιήθηκε σε μια ποικιλία αυτοτελών συσκευών μνήμης. Αρχικά ονομάστηκαν συσκευές "μνήμης αφής", αργότερα μετονομάστηκαν σε "iButtons". Συσκευασμένα όπως μπαταρίες, τα iButtons έχουν μόνο μία ενεργή ηλεκτρική επαφή στην πάνω επιφάνεια, με το περίβλημα από ανοξείδωτο χάλυβα να λειτουργεί ως γείωση.

Τα δεδομένα μπορούν να διαβαστούν ή να εγγραφούν στη μνήμη σειριακά μέσω ενός απλού και φθηνού προσαρμογέα σειριακής θύρας RS232C, ο οποίος παρέχει επίσης την απαιτούμενη ισχύ για την εκτέλεση του I / O. Η μνήμη iButton μπορεί να διαβαστεί ή να γραφτεί με στιγμιαία επαφή με τον υποδοχέα "Blue Dot" που παρέχεται από τον προσαρμογέα. Όταν δεν είναι συνδεδεμένος με τον προσαρμογέα σειριακής θύρας, τα δεδομένα μνήμης διατηρούνται σε μη πτητική μνήμη τυχαίας προσπέλασης (NVRAM) με παροχή ενέργειας λιθίου διάρκειας ζωής που θα διατηρήσει το περιεχόμενο μνήμης για τουλάχιστον 10 χρόνια. Σε αντίθεση με την ηλεκτρικά διαγράψιμη προγραμματιζόμενη μνήμη μόνο για ανάγνωση (EEPROM), η μνήμη NVRAM iButton μπορεί να διαγραφεί και να ξαναγραφεί όσο συχνά χρειάζεται χωρίς να φθαρεί. Μπορεί επίσης να διαγραφεί ή να ξαναγραφεί με τις υψηλές ταχύτητες που είναι τυπικές της συμπληρωματικής μνήμης ημιαγωγών μεταλλικού οξειδίου (CMOS), χωρίς να απαιτείται ο χρονοβόρος προγραμματισμός του EEPROM.

Από την εισαγωγή τους, οι συσκευές μνήμης iButton έχουν αναπτυχθεί σε τεράστιες ποσότητες ως ανθεκτικοί φορητοί φορείς δεδομένων, συχνά σε σκληρές περιβαλλοντικές συνθήκες. Μεταξύ των χρήσεων μεγάλης κλίμακας είναι οι μεταφορείς ναύλων διαμετακόμισης στην Κωνσταντινούπολη, Τουρκία. ως φορείς συντήρησης αρχείων στις πλευρές των φορτηγών Ryder · και ως αναγνωριστικά γραμματοκιβωτίου εντός των διαμερισμάτων αλληλογραφίας των εξωτερικών γραμματοκιβωτίων της Ταχυδρομικής Υπηρεσίας των ΗΠΑ. Φοριέται ως σκουλαρίκια από αγελάδες στον Καναδά για να κρατούν αρχεία εμβολιασμού και χρησιμοποιούνται από γεωργικούς εργαζόμενους σε πολλές περιοχές ως ανθεκτικά υποκατάστατα για τις κάρτες.

Η σειρά προϊόντων iButton και οι πολλές εφαρμογές της περιγράφονται στον ιστότοπο iButton του Dallas Semiconductor, ο οποίος παρατίθεται στην ενότητα Πόροι. Κάθε προϊόν iButton κατασκευάζεται με έναν μοναδικό σειριακό αριθμό 8 byte και παρέχει εγγύηση ότι κανένα μέρος δεν θα έχει ποτέ τον ίδιο αριθμό. Μεταξύ των απλούστερων iButtons είναι συσκευές μνήμης που μπορούν να κρατήσουν αρχεία και υποκαταλόγους και μπορούν να διαβαστούν και να γραφτούν σαν μικρές δισκέτες. Εκτός από αυτά, υπάρχουν iButtons με περιοχές με προστασία κωδικού πρόσβασης για εφαρμογές ασφαλείας, iButtons που μετράνε πόσες φορές έχουν ξαναγραφεί για την εξασφάλιση χρηματοοικονομικών συναλλαγών, iButtons με αισθητήρες θερμοκρασίας, iButtons με συνεχώς τρέχοντα ρολόγια ημερομηνίας / ώρας, ακόμη και iButtons που περιέχουν ισχυρούς μικροεπεξεργαστές.

Η ταχυδρομική συσκευή ασφαλείας

Για πάνω από 10 χρόνια, ο Dallas Semiconductor σχεδιάζει, κατασκευάζει και πουλάει μια σειρά από εξαιρετικά ασφαλείς μικροεπεξεργαστές που χρησιμοποιούνται σε συσκευές δορυφορικής τηλεόρασης, αυτόματες μηχανές ταμείου, τερματικά σημείου πώλησης και άλλες παρόμοιες εφαρμογές που απαιτούν κρυπτογραφική ασφάλεια και υψηλή αντίσταση στην επίθεση από χάκερ. Το Πρόγραμμα Ινδίας που βασίζεται σε πληροφορίες για τις ταχυδρομικές υπηρεσίες (USPS) Προδιαγραφές συσκευής ταχυδρομικής ασφάλειας, που προορίζεται να επιτρέψει την εκτύπωση έγκυρων ταχυδρομικών ταχυδρομείων στις ΗΠΑ σε οποιονδήποτε υπολογιστή, παρείχε την πρώτη ευκαιρία να συνδυάσει δύο τομείς εμπειρογνωμοσύνης όταν ένας ασφαλής μικροεπεξεργαστής σχεδιάστηκε σε iButton.

Το προκύπτον προϊόν, το όνομα Crypto iButton, συνδυάζει υψηλή απόδοση επεξεργαστή, κρυπτογραφικά πρωτόκολλα υψηλής ταχύτητας και εξαιρετική προστασία από φυσικές και κρυπτογραφικές επιθέσεις. Για παράδειγμα, ο μεγάλος ακέραιος κινητήρας αρθρωτής εκτόνωσης μπορεί να εκτελέσει αρθρωτές εκθέσεις 1024-bit με εκθέτη 1024-bit σε σημαντικά μικρότερο από ένα δευτερόλεπτο. Η ικανότητα εκτέλεσης μεγάλων ακέραιων αρθρωτών εκθεμάτων σε υψηλή ταχύτητα είναι κεντρική για την κρυπτογράφηση RSA, την ανταλλαγή κλειδιών Diffie-Hellman, το Digital Signature Standard (FIPS 186) και πολλές άλλες σύγχρονες κρυπτογραφικές λειτουργίες.

Μια συμφωνία μεταξύ της Dallas Semiconductor και της RSA Data Security Inc. παρέχει μια άδεια πληρωμής για οποιονδήποτε χρησιμοποιεί το Crypto iButton για την εκτέλεση κρυπτογράφησης RSA και ψηφιακών υπογραφών, ώστε να μην απαιτείται περαιτέρω αδειοδότηση της τεχνολογίας κρυπτογράφησης RSA. Η υψηλή ασφάλεια παρέχεται από τη δυνατότητα διαγραφής των περιεχομένων του NVRAM πολύ γρήγορα. Αυτή η δυνατότητα, ταχεία μηδενισμό, είναι απαίτηση για συσκευές υψηλής ασφάλειας που ενδέχεται να υποστούν επιθέσεις από χάκερ. Ως αποτέλεσμα της υψηλής ασφάλειας, το Crypto iButton αναμένεται να κερδίσει την πιστοποίηση ασφαλείας FIPS 140-1 από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας (NIST).

Ένα ειδικό λειτουργικό σύστημα σχεδιάστηκε και αποθηκεύτηκε στο ROM του Crypto iButton για την υποστήριξη κρυπτογραφίας και οικονομικών συναλλαγών γενικού σκοπού - όπως αυτές που απαιτούνται από το πρόγραμμα Ταχυδρομικών Υπηρεσιών. Αν και δεν είναι εικονική μηχανή Java, το υλικολογισμικό του ηλεκτρονικού εμπορίου που έχει σχεδιαστεί για αυτήν την εφαρμογή είχε πολλά σημεία ομοιότητας με την Java, συμπεριλαμβανομένου ενός αντικειμενοστραφούς σχεδιασμού και ενός διερμηνέα bytecode για την ερμηνεία και την εκτέλεση της ειδικά σχεδιασμένης γλώσσας σεναρίου του ηλεκτρονικού εμπορίου του Dallas Semiconductor. Ένας μεταγλωττιστής γράφτηκε επίσης για να μεταγλωττίσει την υψηλού επιπέδου γλωσσική αναπαράσταση της Γλώσσας Σενάριο σε μια φόρμα bytecode που θα μπορούσε να ερμηνευτεί από το E-Commerce VM. Παρόλο που το υλικολογισμικό του ηλεκτρονικού εμπορίου προοριζόταν κυρίως για την εφαρμογή USPS, το υλικολογισμικό υποστηρίζει μια ποικιλία γενικών μοντέλων ηλεκτρονικού εμπορίου που είναι κατάλληλα για πολλές διαφορετικές εφαρμογές. Το υλικολογισμικό του ηλεκτρονικού εμπορίου υποστηρίζει επίσης κρυπτογραφικά πρωτόκολλα για ασφαλή ανταλλαγή πληροφοριών, όπως το Simple Key-Management for Internet Protocol (SKIP) που αναπτύχθηκε από τη Sun Microsystems Inc. Το E-Commerce iButton και το SDK για τον προγραμματισμό του περιγράφονται λεπτομερώς στο Crypto Αρχική σελίδα iButton (βλ. πόρους).

Η σύνδεση Java

Με εμπειρία σχεδιασμού του λειτουργικού συστήματος E-Commerce και VM για την πλατφόρμα υλικού Crypto iButton, η ομάδα σχεδιασμού υλικολογισμικού στο Dallas Semiconductor θα μπορούσε εύκολα να εκτιμήσει τα πλεονεκτήματα ενός νέου λειτουργικού συστήματος για το Crypto iButton με βάση την Java. Με ένα Java iButton, ένας μεγάλος αριθμός υπαρχόντων προγραμματιστών Java θα μπορούσε εύκολα να μάθει να γράφει μικροεφαρμογές που θα μπορούσαν να μεταγλωττιστούν με τα τυπικά εργαλεία που διατίθενται από την Sun Microsystems, φορτωμένα στο Java iButton και να τρέχουν κατ 'απαίτηση για να υποστηρίξουν μια μεγάλη ποικιλία χρηματοοικονομικών εφαρμογών. Η προδιαγραφή Java Card 2.0 παρείχε την ευκαιρία να εφαρμόσει μια χρήσιμη έκδοση του JVM και του περιβάλλοντος χρόνου εκτέλεσης με τους περιορισμένους πόρους που διατίθενται σε έναν μικρό επεξεργαστή.

Το Crypto iButton παρέχει επίσης μια εξαιρετική πλατφόρμα υλικού για την εκτέλεση Java επειδή χρησιμοποιεί το NVRAM για αποθήκευση προγραμμάτων και δεδομένων. Με 6 kilobytes υπάρχοντος NVRAM και τη δυνατότητα επέκτασης της χωρητικότητας NVRAM σε 128 kilobytes στον υπάρχοντα παράγοντα μορφής iButton, το Crypto iButton μπορεί να εκτελέσει Java με μια σχετικά μεγάλη στοίβα Java που βρίσκεται στο NVRAM. Αυτή η μνήμη λειτουργεί ως συμβατική μνήμη RAM υψηλής ταχύτητας όταν εκτελείται ο επεξεργαστής και η ενέργεια λιθίου διατηρεί την πλήρη κατάσταση του μηχανήματος ενώ ο δακτύλιος Java αποσυνδέεται από τον αναγνώστη. Επομένως, δεν υπάρχει απαίτηση να αντιμετωπίζετε επίμονα αντικείμενα με έναν ειδικό τρόπο - τα αντικείμενα επιμένουν ή όχι ανάλογα με το πεδίο εφαρμογής τους, οπότε ο προγραμματιστής έχει τον πλήρη έλεγχο της επιμονής των αντικειμένων. Όπως στην τυπική Java, το Java iButton περιέχει έναν συλλέκτη σκουπιδιών που συλλέγει αντικείμενα που είναι εκτός πεδίου και ανακυκλώνει τη μνήμη για μελλοντική χρήση. Οι μικροεφαρμογές μπορούν να φορτωθούν και να εκφορτωθούν από το Java iButton όσο συχνά χρειάζεται. Όλες οι μικροεφαρμογές που είναι φορτωμένες σε Java iButton εκτελούνται αποτελεσματικά σε μηδενική ταχύτητα κάθε φορά που το iButton δεν έρχεται σε επαφή με έναν δέκτη Blue Dot.

Καθώς προτάθηκε η προδιαγραφή Java Card 2.0, ο Dallas Semiconductor έγινε κάτοχος άδειας JavaSoft. Η συμφωνία ζητούσε την ανάπτυξη μιας εφαρμογής Java Card 2.0 και επίσης το σχεδιασμό των "συν τμημάτων" που εκμεταλλεύονται τις μοναδικές δυνατότητες που προσφέρει το Crypto iButtons NVRAM, όπως η δυνατότητα υποστήριξης μιας πραγματικής στοίβας Java και συλλογής απορριμμάτων. Με την προσθήκη του συνεχώς τρέχοντος ρολογιού ώρας της ημέρας με λίθιο και του υψηλής ταχύτητας, μεγάλου μεγέθους κινητήρα αρθρωτής εκτόνωσης, η εφαρμογή Java iButton της Java Card 2.0 με συν τμήματα υπόσχεται ένα συναρπαστικό νέο σύνολο χαρακτηριστικών για προηγμένη κάρτα Java εφαρμογές.

Κρατώντας τα χρήματά σας ασφαλή

Η πλατφόρμα υλικού Crypto iButton προσφέρει ένα μοναδικό σύνολο ειδικών λειτουργιών που έχουν σχεδιαστεί ρητά για να αποτρέπουν τη διάθεση ιδιωτικών κλειδιών και άλλων εμπιστευτικών πληροφοριών σε χάκερ. Το σχήμα 1 δείχνει μια λεπτομέρεια της εσωτερικής κατασκευής του Crypto iButton. Η μήτρα πυριτίου που περιέχει τη μνήμη του επεξεργαστή, ROM και NVRAM συνδέεται μεταλλουργικά με το υπόστρωμα φραγής μέσω του οποίου πραγματοποιούνται όλες οι ηλεκτρικές επαφές. Αυτό το υπόστρωμα φραγμού και οι τεχνικές μεταλλικής κατασκευής τριπλού στρώματος που χρησιμοποιούνται στην κατασκευή πυριτίου απαγορεύουν αποτελεσματικά την πρόσβαση στα δεδομένα που είναι αποθηκευμένα στο NVRAM. Εάν γίνει προσπάθεια διείσδυσης αυτών των φραγμών, τα δεδομένα NVRAM διαγράφονται αμέσως. Αυτή η τεχνική κατασκευής και η χρήση του NVRAM για την αποθήκευση ιδιωτικών κλειδιών και άλλων εμπιστευτικών δεδομένων παρέχει πολύ υψηλότερο βαθμό ασφάλειας δεδομένων από αυτόν που παρέχει η μνήμη EEPROM. Το γεγονός ότι η διαδρομή επικοινωνίας μεταξύ του Crypto iButton και του εξωτερικού κόσμου περιορίζεται σε μία μόνο γραμμή δεδομένων παρέχει πρόσθετη ασφάλεια έναντι επιθέσεων υλικού περιορίζοντας το εύρος των σημάτων στα οποία έχει πρόσβαση ο χάκερ.

Επιπλέον, ο ίδιος ο επεξεργαστής οδηγείται από έναν μη σταθεροποιημένο ταλαντωτή δακτυλίου που λειτουργεί σε εύρος από 10 έως 20 megahertz, έτσι ώστε η συχνότητα ρολογιού του επεξεργαστή να μην είναι σταθερή και δεν μπορεί να προσδιοριστεί με εξωτερικά μέσα. Αυτό διαφέρει από το σχεδιασμό εναλλακτικών συσκευών στις οποίες το σήμα ρολογιού επεξεργαστή εγχέεται από τον αναγνώστη και επομένως προσδιορίζεται ακριβώς από τον κεντρικό επεξεργαστή. Ο εξωτερικός έλεγχος του ρολογιού παρέχει ένα πολύτιμο εργαλείο για τους χάκερ, καθώς μπορούν να επανακυκλοφορούν επανειλημμένα έναν τέτοιο επεξεργαστή στο ίδιο σημείο στην εκτέλεσή του απλά εφαρμόζοντας τον ίδιο αριθμό κύκλων ρολογιού. Ο έλεγχος του ρολογιού παρέχει επίσης ένα μέσο για την πρόκληση σφάλματος υπολογισμού και, συνεπώς, τη λήψη πληροφοριών που μπορούν τελικά να αποκαλύψουν μυστικά κλειδιά κρυπτογράφησης. Ένας ταλαντωτής κρυστάλλου 32 kilohertz χρησιμοποιείται στο Java iButton για να λειτουργεί το ρολόι ώρας της ημέρας σε σταθερή και καλά ελεγχόμενη συχνότητα ανεξάρτητη από το ρολόι επεξεργαστή.

Το Dallas Semiconductor έχει παράγει περισσότερες από 20 εκατομμύρια φυσικές ασφαλείς μνήμες και υπολογιστές με σκληρή συσκευασία βελτιστοποιημένη για προσωπική κατοχή. Το Java iButton, επομένως, είναι απλώς η πιο πρόσφατη και πιο περίπλοκη απόγονος μιας μακράς σειράς προϊόντων που έχουν αποδειχθεί ότι έχουν μεγάλη επιτυχία στην αγορά. Με την πανοπλία του από ανοξείδωτο ατσάλι, προσφέρει την πιο ανθεκτική συσκευασία για μια κατηγορία προϊόντων που πιθανότατα θα υποστούν μεγάλη χρήση και κατάχρηση ως προσωπικά αντικείμενα. Ο συντελεστής φόρμας iButton επιτρέπει την προσάρτηση σε μια μεγάλη ποικιλία προσωπικών αξεσουάρ που περιλαμβάνει δαχτυλίδια, λουράκια ρολογιού, μπρελόκ, πορτοφόλια, βραχιόλια και κολιέ, έτσι ώστε ο χρήστης να μπορεί να επιλέξει μια παραλλαγή που ταιριάζει στον τρόπο ζωής του.