Java Card OpenPlatform ( JCOP ) es un sistema operativo para tarjetas inteligentes para la plataforma Java Card desarrollado por el Laboratorio de Investigación de IBM en Zúrich. [ 1 ] El 31 de enero de 2006, las responsabilidades de desarrollo y soporte se transfirieron al equipo de IBM Smart Card Technology en Böblingen , Alemania . Desde julio de 2007, las actividades de soporte y desarrollo para el sistema operativo JCOP en silicio NXP / Philips son a cargo de NXP Semiconductors .
El título tiene su origen en los estándares que cumple:
- Especificaciones de Java Card
- Especificaciones de GlobalPlatform (anteriormente conocida como Visa Inc OpenPlatform)
Una tarjeta Java Card JCOP tiene una máquina virtual Java Card (JCVM) que le permite ejecutar aplicaciones escritas en el lenguaje de programación Java .
Historia
Primeras máscaras JC/OP
Máscara 0 : 1998 (primavera)
- Primer prototipo en microcontrolador Atmel de 8 bits: memoria flash, lento.
Máscara 1 : 1998
- Circuito integrado Siemens / Infineon SLE66 – Criptografía de clave pública
Máscara 2 y 3 : 1999
- Gemplus International (ahora Gemalto ) obtuvo la licencia de JC/OP.
- Mascarilla base para la línea de productos GemXpresso
- Generación de clave pública
- Visa OpenPlataforma
Máscara 4 : 1999
- JC/OP sin contacto en el chip Philips Mifare Pro
- 256 bytes de RAM, 20 KB de ROM y 8 KB de EEPROM.
- Interfaz dual
JCOP01 y cooperación con Philips
Máscara 5 : 2000
- Microcontrolador de tarjeta inteligente Philips P8WE
- 'JCOP01' es la base de todas las versiones posteriores.
- JCOP con licencia de IBM
- Herramientas JCOP para el desarrollo
Programa de innovación en visas
- Para contrarrestar el MULTOS de MasterCard
- Cooperación entre IBM (SO), Visa (OpenPlatform) y Philips (IC)
- JCOP v1 es propiedad de Visa.
JCOP v2
- Propiedad de IBM, vendida por Philips.
- Controlador Philips SmartMX (SMX)
JCOP v2.2
- Plataforma global 2.1.1
- Tarjeta Java 2.2.1
- Compatibilidad con criptografía de curva elíptica (ECC) F2M
- Herramientas JCOP basadas en Eclipse
Transferencia de JCOP
JCOP v2.2.1 – JCOP v2.3.1
- Propiedad de IBM, vendida por Philips/NXP.
- El desarrollo se transfirió a IBM en Böblingen, Alemania.
- Interfaz USB
JCOP v2.3.2
- La tecnología JCOP es propiedad de IBM.
- Cambio de política en IBM
- Licencia de código fuente adquirida por NXP Semiconductors
- Para atender las solicitudes y proyectos de los clientes.
JCOP de NXP
JCOP v2.4
- Primera versión de JCOP desarrollada por NXP
- Apoyo de ECC GF(p)
- Tarjeta Java 2.2.2
JCOP v2.4.1
- Compatibilidad con cálculos primitivos ECC (suma y multiplicación de puntos)
- Certificación Common Criteria 5+ (CC)
- Aprobado por EMV, Visa y MasterCard.
- Integración de NFC en el chip combinado PN65N: NFC y elemento seguro.
JCOP v2.4.2
JCOP 3
móvil
Controlador de tarjeta inteligente SmartMX2, P61, memoria persistente basada en flash
JCOP 3.0
- Integración de NFC en PN65T
- Java Card 3.0.1 edición clásica
- Plataforma global 2.2.1
- Certificación de plataforma EMV
JCOP 3.1
- Integración de NFC en PN66T
tarjeta
Memoria persistente basada en EEPROM SMX2, P60
JCOP 3.x (no publicado al 26 de diciembre de 2014)
Descripción general técnica
JCOP es un sistema operativo para entornos de sistemas embebidos sensibles a la seguridad, en particular para controladores de tarjetas inteligentes o elementos seguros. La arquitectura funcional se puede dividir en tres partes:
- Java Card, para el desarrollo de aplicaciones, es decir, API y estructura de applets de tarjeta similares a archivos de clase
- GlobalPlatform, para la administración de aplicaciones y sistema operativo, es decir, carga y control de acceso.
- Funcionalidades propietarias de JCOP, principalmente extensiones de la API de Java Card, es decir, cálculo de primitivas ECC o gestión de MIFARE DESFIRE.
NXP también ofrece emulaciones de MIFARE para Classic y DESFIRE en el mismo chip, junto con sistemas operativos adicionales (nativos). Si bien JCOP se basa en estándares abiertos, la tecnología MIFARE es específica de NXP. Los applets de Java Card que se ejecutan en JCOP se pueden usar para administrar la memoria MIFARE a través de la API de Java Card. MIFARE Plus y MIFARE Ultralight aún no son compatibles.
Plataforma global
GP es un estándar de alto nivel con muchas opciones. A partir de JCOP 3, se agregó compatibilidad con GP 2.2.1, en particular para admitir casos de uso móviles. JCOP 3 cumple totalmente con la configuración de Secure Element.
Especificación de la tarjeta GP 2.2.1, núcleo
- modelo centrado en el emisor o modelo simple
- gestión delegada
- administración autorizada
- autoridad de verificación (GP 2.1.1 autoridad de control)
- Patrón de autenticación de datos (DAP)
- Protocolo de canal seguro 02 (SCP), pseudo aleatorio, C-MAC, C-ENC, R-MAC, R-ENC
- Todos los privilegios están respaldados
Enmienda A - Gestión de contenido confidencial de tarjetas (C3M)
- Consulte los detalles de implementación en la configuración de UICC y la Enmienda E.
Enmienda C - Servicios sin contacto
- Todos los protocolos, excepto FeliCa, son compatibles.
- Además, se admiten MIFARE Classic y DESFIRE.
- Se admiten las notificaciones de HCI.
Enmienda D - Protocolo de canal seguro 03 (AES)
- solo AES-128
- Todas las opciones son compatibles (aleatorias).
Enmienda E - Actualización de seguridad
- SHA-256 y EC-256
- Escenario C3M n.° 3
Configuración de la UICC
- escenarios #1, #2A y #2B
- SCP 80 y 81 no son compatibles (ETSI).
Configuración del elemento seguro
- JCOP 3 cumple plenamente
Tarjeta Java
Entre los paquetes opcionales, JCOP 3 no admite javacardx.framework. En cuanto a las clases de criptografía y firma, algunos algoritmos no son compatibles, como MD5 y EC F2M. Las longitudes de clave compatibles (entre otras) son AES-128, DES, 2DES3, 3DES3, EC de hasta 521 bits y RSA de hasta 2048 bits.
Protocolos de comunicación
JCOP 3 admite ISO-7816, ISO-14443 tipo A y B (a través del controlador SWP - NFC) y SWP/HCI. La baja velocidad USB solo era compatible con JCOP v2.3.1.
Extensiones
JCOP 3 admite diversas extensiones, como la gestión de MIFARE DESFIRE para MIFARE4Mobile . Es importante tener en cuenta que el uso de extensiones en applets (que no forman parte de las especificaciones de Java Card y GlobalPlatform) impide la portabilidad de estas aplicaciones a otros sistemas operativos compatibles con Java Card y GlobalPlatform.
Herramientas JCOP
JCOP Tools fue desarrollado inicialmente por IBM. El primer módulo fue una herramienta de línea de comandos llamada JCOP Shell o JCShell. Las herramientas de desarrollo son un complemento para el IDE Eclipse . NXP ha mantenido JCOP Tools y lo ha ampliado con un CryptoPlugin y nuevas simulaciones JCOP. Las herramientas están disponibles para las plataformas Windows , macOS y Linux .
JCShell
JCShell es un programa Java, una herramienta de línea de comandos que también admite scripting. El lenguaje de scripting de JCShell es sofisticado para crear scripts de prueba y verificación. JCShell tiene una estructura de complementos donde un complemento base existente (similar a los complementos de Eclipse), que admite los comandos APDU más básicos en la tarjeta, como el envío sin procesar, se extiende con la funcionalidad de GlobalPlatform y criptografía. Todos los complementos son extensibles mediante su propia funcionalidad (en Java ). Existe una versión independiente de JCShell que no requiere la instalación de Eclipse y una versión basada en Eclipse integrada como una vista en la perspectiva de depuración del complemento JCOP Tools.11
Referencias
- ↑ "IBM WebSphere Everyplace Chip Operating System — JavaCard OpenPlatform" (PDF) . IBM . Consultado el 11 de septiembre de 2024 .
Enlaces externos
- Página sobre la tecnología JavaCard en Oracle
- Foro de Java Card
- Tarjetas inteligentes
- Java (plataforma de software)
- Sistemas operativos integrados