Java Card OpenPlatform (JCOP) 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 (formerly known as Visa Inc OpenPlatform) specifications

Java Card OpenPlatform

A Java Card JCOP has a Java Card Virtual Machine (JCVM) which allows it to run applications written in Java programming language.

Java Card OpenPlatform

History

First JC/OP Masks

Mask 0 : 1998 (spring) First prototype on Atmel 8-bit uC – Flash memory, slow Mask 1 : 1998 Siemens/Infineon SLE66 IC – Public key cryptography Mask 2 and 3 : 1999 Gemplus International (now Gemalto) licensed JC/OP Base mask for GemXpresso product line Public key generation Visa OpenPlatform Mask 4 : 1999 Contactless JC/OP on Philips MifarePro chip 256 bytes RAM, 20 KB ROM and 8 KB EEPROM Dual interface

Java Card OpenPlatform

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

Visa breakthrough program

To counter MasterCard’s MULTOS

Cooperation between IBM (OS), Visa (OpenPlatform) and Philips (IC) JCOP v1 owned by Visa JCOP v2 Owned by IBM, sold by Philips Philips SmartMX controller (SMX) JCOP v2.2 GlobalPlatform 2.1.1 Java Card 2.2.1 Elliptic Curve Cryptography (ECC) 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 v2.3.2

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(p) support

Java Card 2.2.2

JCOP v2.4.1

ECC primitive calculation support (point addition and multiplication) Common Criteria 5+ certification (CC) EMV, Visa and MasterCard approved NFC integration into PN65N combo chip: NFC and Secure Element JCOP v2.4.2 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 memory

JCOP 3.0

NFC integration into PN65T

Java Card 3.0.1 classic edition

GlobalPlatform 2.2.1

EMV platform certification

JCOP 3.1

NFC integration into PN66T

card

SMX2, P60, EEPROM based persistent memory

JCOP 3.x

(not released as of Dec 26, 2014)

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

NXP offers also MIFARE emulations for Classic and DESFIRE on the same chip as additional (native) operating systems. While JCOP is based on open standards, MIFARE technology is NXP specific. Java Card applets running in JCOP can then be used to manage the MIFARE memory through Java Card API. MIFARE Plus and MIFARE Ultralight are not (yet) supported.

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.