Java Card: Difference between revisions

Content deleted Content added
m top: Clean up spacing errors around ref tags., replaced: /ref>w → /ref> w
m Cleaned up using AutoEd, straight quotes
Line 4:
{{java platforms}}
 
'''Java Card''' is a software technology that allows [[Java platform|Java]]-based applications ([[applet]]s) to be run securely on [[smart card]]s and more generally on similar secure small memory footprint devices<ref name="Chen 2000">{{cite book | last=Chen | first=Z. | title=Java Card Technology for Smart Cards: Architecture and Programmer's Guide | publisher=Addison-Wesley | series=Addison-Wesley Java Series | year=2000 | isbn=978-0-201-70329-0 | url=https://archive.org/details/javacardtmtechno00zhiq | url-access=registration | access-date=9 April 2019 }}</ref> which are called “secure"secure elements”elements" (SE). Today, a Secure Element is not limited to its smart cards and other removable cryptographic tokens form factors; embedded SEs soldered onto a device board and new security designs embedded into general purpose chips are also widely used. Java Card addresses this hardware fragmentation and specificities while retaining code portability brought forward by Java.
 
Java Card is the tiniest of Java platforms targeted for embedded devices. Java Card gives the user the ability to program the devices and make them application specific. It is widely used in different markets: wireless telecommunications within SIM cards and embedded SIM, payment within banking cards<ref>{{Citation|last=Oracle Learning Library|title=Developing Java Card Applications|date=2013-01-30|url=https://www.youtube.com/watch?v=khgT5dwKvOo |archive-url=https://ghostarchive.org/varchive/youtube/20211213/khgT5dwKvOo |archive-date=2021-12-13 |url-status=live|access-date=2019-04-18}}{{cbignore}}</ref> and NFC mobile payment and for identity cards, healthcare cards, and passports. Several IoT products like gateways are also using Java Card based products to secure communications with a cloud service for instance.
Line 51:
| url = http://www.fi.muni.cz/~xsvenda/jcsupport.html
| access-date = 27 January 2016}}</ref>
 
* Version 3.1 (17.12.2018)<ref>{{Cite web|url=https://blogs.oracle.com/javaiot/unveiling-java-card-31%3A-new-cryptograpic-extensions|title=Unveiling Java Card 3.1: New Cryptographic Extensions|last=Ponsini|first=Nicolas|website=blogs.oracle.com|access-date=2019-04-18}}</ref>
** Added configurable key pair generation support, named elliptic curves support, new algorithms and operations support, additional AES modes and Chinese algorithms.
* Version 3.0.5 (03.06.2015)
** Oracle SDK: Java Card Classic Development Kit 3.0.5u1 (03.06.2015)
** Added support for Diffie-Hellman modular exponentiation, Domain Data Conservation for Diffie-Hellman, Elliptic Curve and DSA keys, RSA-3072, SHA3, plain ECDSA, AES CMAC, AES CTR.
Line 84 ⟶ 83:
 
=== New CAP file Format and Applet Deployment Model ===
 
* Applet functionality can be split into multiple Java packages
* CAP file sizes can exceed 64KB
 
=== New I/O Framework and Trusted Peripherals ===
 
* A variety of physical layers and application protocol is supported, beyond smart card protocols defined in [[ISO/IEC 7816|ISO 7816]]
* Logical access to device peripherals by secure element applications is facilitated
 
=== Core Platform Enhancements ===
 
* Array Views (views on a subset of an array), Static Resources embedded within a CAP file and Improved API extensibility
 
=== Security Services ===
 
* Certificate API, Key Derivation API, Monotonic Counter API, System Time API
 
=== New Cryptographic Extensions ===
 
* Configurable Key Pair generation, Named Elliptic Curves like [[Edwards curve|Edwards-Curves]], Additional AES modes ([[CFB mode|CFB]] & [[XTS mode|XTS]]), Chinese Algorithms (SM2 - SM3 - [[SM4 (cipher)|SM4]])