Java Card OpenPlatform
Java Card OpenPlatform is a smart card operating system for the Java Card platform developed by IBM Zürich Research Laboratory.
On 31 January 2006 the development and support responsibilities transferred to the IBM Smart Card Technology team in Böblingen, Germany.
Since July 2007 support and development activities for the JCOP operating system on NXP / Philips silicon are serviced by NXP Semiconductors.
The title originates from the standards it complies with:
- Java Card specifications
- GlobalPlatform specifications
History
First JC/OP Masks
Mask 0 : 1998- First prototype on Atmel 8-bit uC – Flash memory, slow
- Siemens/Infineon SLE66 IC – Public key cryptography
- Gemplus International licensed JC/OP
- Base mask for GemXpresso product line
- Public key generation
- Visa OpenPlatform
- Contactless JC/OP on Philips Mifare Pro chip
- 256 bytes RAM, 20 KB ROM and 8 KB EEPROM
- Dual interface
JCOP01 and Cooperation with Philips
Mask 5 : 2000- Philips P8WE smartcard microcontroller
- ‘JCOP01’ is the foundation for all later versions
- JCOP licensed by IBM
- JCOP Tools for development
- To counter MasterCard’s MULTOS
- Cooperation between IBM, Visa and Philips
- JCOP v1 owned by Visa
- Owned by IBM, sold by Philips
- Philips SmartMX controller
- GlobalPlatform 2.1.1
- Java Card 2.2.1
- Elliptic Curve Cryptography F2M support
- JCOP Tools Eclipse based
JCOP Transfer
JCOP v2.2.1 – JCOP v2.3.1- Owned by IBM, sold by Philips/NXP
- Development transferred to IBM in Böblingen, Germany
- USB interface
- JCOP technology owned by IBM
- Policy change at IBM
- Source code license acquired by NXP Semiconductors
- To serve customer requests and projects
JCOP by NXP
JCOP v2.4- first NXP developed JCOP version
- ECC GF support
- Java Card 2.2.2
- ECC primitive calculation support
- Common Criteria 5+ certification
- EMV, Visa and MasterCard approved
- NFC integration into PN65N combo chip: NFC and Secure Element
- additional algorithms to support eGovernment use cases, i.e. AES CMAC
- CC 5+
- NFC integration into PN65O
JCOP 3
mobile
Smartcard controller SmartMX2, P61, flash based persistent memoryJCOP 3.0
- NFC integration into PN65T
- Java Card 3.0.1 classic edition
- GlobalPlatform 2.2.1
- EMV platform certification
- NFC integration into PN66T
card
SMX2, P60, EEPROM based persistent memoryJCOP 3.x
Technical Overview
JCOP is an operating system for a security sensitive embedded system environment, smartcard or secure element controllers in particular. The functional architecture can be partitioned into three parts:- Java Card, for development of applications, i.e. API and structure of card applets similar to class files
- GlobalPlatform, for administration of applications and operating system, i.e. loading and access control
- JCOP proprietary features, mainly Java Card API extensions, i.e. ECC primitive calculation or MIFARE DESFIRE management
GlobalPlatform
GP is a high-level standard with many options. As of JCOP 3, support for GP 2.2.1 was added, in particular to support mobile use cases JCOP 3 is fully Secure Element configuration compliant.GP 2.2.1 card specification, core
- issuer centric or simple model
- delegated management
- authorized management
- verification authority
- Data Authentication Pattern
- Secure Channel Protocol 02, pseudo random, C-MAC, C-ENC, R-MAC, R-ENC
- all the privileges are supported
- see implementation details in UICC configuration and Amendment E
- every protocol but FeliCa is supported
- additionally MIFARE Classic and DESFIRE is supported
- HCI notifications are supported
- only AES-128
- all options are supported
- SHA-256 and EC-256
- C3M scenario #3
- scenarios #1, #2A and #2B
- SCP 80 and 81 is not supported
- JCOP 3 is fully compliant