additional algorithms to support eGovernment use cases, i.e. AESCMAC
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
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 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 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. GP 2.2.1 card specification, core
additionally MIFARE Classic and DESFIRE is supported
HCI notifications are supported
Amendment D - Secure Channel Protocol 03
only AES-128
all options are supported
Amendment E - Security Upgrade
SHA-256 and EC-256
C3M scenario #3
UICC configuration
scenarios #1, #2A and #2B
SCP 80 and 81 is not supported
Secure Element configuration
JCOP 3 is fully compliant
Java Card
From the optional packages JCOP 3 does not support the javacardx.framework. From the crypto and signature classes, some algorithms are not supported, i.e. MD5 and EC F2M. The key lengths supported are AES-128, DES, 2DES3, 3DES3, EC up to 521 bit, RSA up to 2048 bit.
Communication Protocols
JCOP 3 supports ISO-7816, ISO-14443 type A and B and SWP/HCI. USB low speed was supported only on JCOP v2.3.1.
Extensions
JCOP 3 supports various extensions, i.e. MIFARE DESFIRE management support for MIFARE4Mobile. It is important to know that usage of extensions used in applets makes this applications not portable to other Java Card and GlobalPlatform compliant operating systems.
JCOP Tools
JCOP Tools were initially developed by IBM. The first module was a command line tool called JCOP Shell or JCShell. The development tools is a plugin to Eclipse IDE. NXP has maintained JCOP Tools and extended it with a CryptoPlugin and new JCOP simulations. The tools are offered for Windows, macOS and Linux platforms.
JCShell
JCShell is a Java program, command line tool which also supports scripting. The JCShell scripting language is sophisticated to create test and verification scripts. JCShell has a plugin structure where existing base plugin which supports the most basic on-card APDU commands such as raw send is extended with GlobalPlatform and crypto functionality. All the plugins are extendable by own functionality. There is a standalone JCShell version without the need to install Eclipse and an Eclipse-based version embedded in form of a View in the Debug perspective of JCOP Tools plugin.11