자바 카드 오픈 플랫폼
Java Card OpenPlatform이 글에는 여러 가지 문제가 있다.이 문제를 개선하거나 대화 페이지에서 토의하십시오.(이러한 템플릿 메시지를 제거하는 방법 및 시기 알아보기)
|
| 개발자 | IBM, > 2007 NXP |
|---|---|
| OS 제품군 | 임베디드 운영 체제 |
| 작업 상태 | 현재 |
| 최신 릴리즈 | JCOP 3.1 |
| 마케팅 대상 | 스마트 카드, 보안 요소, USB 보안 토큰, 텔레매틱스 |
| 플랫폼 | 자바 카드 |
| 공식 웹사이트 | [1] |
자바카드 오픈플랫폼(JCOP)은 IBM 주리히 연구소가 개발한 자바카드 플랫폼용 스마트카드 운영체제다.2006년 1월 31일 개발 및 지원 책임이 독일 Böblingen에 있는 IBM Smart Card Technology 팀으로 이관되었다.2007년 7월부터 NXP/필립스 실리콘에 대한 JCOP 운영체제 지원 및 개발 활동은 NXP 반도체가 서비스하고 있다.
명칭은 다음 사항을 준수하는 표준에서 유래한다.
자바 카드 JCOP에는 자바 프로그래밍 언어로 작성된 애플리케이션을 실행할 수 있는 자바 카드 가상 머신(JCVM)이 있다.
역사
첫 번째 JC/OP 마스크
마스크 0 : 1998 (봄)
- Atmel 8비트 uC의 첫 번째 프로토타입 – 플래시 메모리, 느린 속도
마스크 1 : 1998
마스크 2 및 3 : 1999
- Gemplus International(현 Gemalto) 라이센스 JC/OP
- 젬엑스프레소 제품군 기본 마스크
- 공개키 생성
- Visa OpenPlatform
마스크 4 : 1999
- Philips MifarePro 칩의 비접촉식 JC/OP
- 256바이트 RAM, 20KB ROM 및 8KB EEPROM
- 듀얼 인터페이스
JCOP01 및 필립스와의 협력
마스크 5 : 2000
- 필립스 P8WE 스마트카드 마이크로컨트롤러
- 'JCOP01'은 이후의 모든 버전에 대한 기초가 된다.
- IBM이 라이센스를 부여한 JCOP
- 개발을 위한 JCOP 도구
비자 돌파 프로그램
JCOP v2
- IBM 소유, Philips 판매
- Philips SmartMX 컨트롤러(SMX)
JCOP v2.2
JCOP 전송
JCOP v2.2.1 – JCOP v2.3.1
- IBM 소유, Philips/NXP 판매
- 독일 Böblingen에서 IBM으로 개발 이전
- USB 인터페이스
JCOP v2.3.2
- IBM 소유 JCOP 기술
- IBM의 정책 변경
- NXP반도체가 획득한 소스 코드 라이선스
- 고객 요청 및 프로젝트를 처리하려면 다음과 같이 하십시오.
NXP별 JCOP
JCOP v2.4
- 최초의 NXP 개발 JCOP 버전
- ECC GF(p) 지원
- 자바 카드 2.2.2
JCOP v2.4.1
- ECC 원시 계산 지원(점 추가 및 곱셈)
- 공통 기준 5+ 인증(CC)
- EMV, Visa 및 MasterCard 승인
- PN65N 콤보 칩에 대한 근거리 무선 통신 통합: 근거리 무선 통신 및 보안 요소
JCOP v2.4.2
JCOP 3
이동성의
Smartcard 컨트롤러 SmartMX2, P61, 플래시 기반 영구 메모리
JCOP 3.0
- PN65T에 대한 근거리 무선 통신 통합
- 자바 카드 3.0.1 클래식 에디션
- GlobalPlatform
- EMV 플랫폼 인증
JCOP 3.1
- PN66T에 대한 근거리 무선 통신 통합
카드를 찍다
SMX2, P60, EEPROM 기반 영구 메모리
JCOP 3.x(2014년 12월 26일 현재 출시되지 않음)
기술 개요
JCOP는 특히 보안에 민감한 임베디드 시스템 환경, 스마트카드 또는 보안 요소 컨트롤러를 위한 운영 체제다.기능적 구조는 세 부분으로 분할될 수 있다.
- Java Card, 응용 프로그램 개발을 위한 API 및 클래스 파일과 유사한 카드 애플릿 구조
- GlobalPlatform, 애플리케이션 및 운영 체제 관리, 즉 로딩 및 액세스 제어
- JCOP 전용 기능, 주로 Java Card API 확장, 즉 ECC 원시 계산 또는 MIFARE DESFire 관리
NXP는 추가(원래) 운영 체제와 동일한 칩에 Classic 및 DESFire용 MIFARE 에뮬레이션도 제공한다.JCOP는 개방형 표준에 기반을 두고 있지만, MIFARE 기술은 NXP에 특화되어 있다.JCOP에서 실행되는 Java Card 애플릿은 Java Card API를 통해 MIFARE 메모리를 관리하는 데 사용될 수 있다.MIFARE Plus와 MIFARE Ultralight는 (yet) 지원되지 않는다.
글로벌 플랫폼
GP는 옵션이 많은 고급 표준이다.JCOP 3을 기준으로 GP 2.2.1에 대한 지원이 추가되었으며, 특히 모바일 사용 사례 지원을 위해 JCOP 3은 완전 보안 요소 구성을 준수한다.
GP 2.2.1 카드 사양, 코어
- 발행자 중심 또는 단순 모델
- 위임 경영
- 인가된 관리
- 검증 권한(GP 2.1.1 제어 권한)
- 데이터 인증 패턴(DAP)
- Secure Channel Protocol 02(SCP), 유사 랜덤, C-MAC, C-ENC, R-MAC, R-ENC
- 모든 특권이 지원되다.
개정 A - 기밀 카드 컨텐츠 관리(C3M)
- UICC 구성 및 수정안 E의 구현 세부사항 참조
수정안 C - 비접촉식 서비스
- FeliCa를 제외한 모든 프로토콜이 지원됨
- 추가로 MIFARE Classic 및 DESFire 지원
- HCI 알림 지원
수정안 D - 보안 채널 프로토콜 03(AES)
- 유일한 AES-128
- 모든 옵션이 지원됨(필수)
수정안 E - 보안 업그레이드
- SHA-256 및 EC-256
- C3M 시나리오 #3
UICC 구성
- 시나리오 #1, #2A 및 #2B
- SCP 80 및 81은 지원되지 않음(ETSI)
보안 요소 구성
- JCOP 3은 완전히 준수됨
자바 카드
옵션 패키지에서 JCOP 3은 javacardx.framework를 지원하지 않는다.암호 및 시그너처 클래스에서는 MD5 및 EC F2M과 같은 일부 알고리즘이 지원되지 않는다.지원되는 키 길이(다른 길이)는 AES-128, DES, 2DES3, 3DES3, EC 최대 521비트, RSA 최대 2048비트이다.
통신 프로토콜
JCOP 3은 ISO-7816, ISO-14443 유형 A 및 B(SWP - NFC 컨트롤러를 통한) 및 SWP/HCI를 지원한다.USB 저속은 JCOP v2.3.1에서만 지원되었다.
확장
JCOP 3는 다양한 확장, 즉 MIFARE4Mobile에 대한 MIFARE DESFire 관리 지원 등을 지원한다.애플릿(Java Card 및 GlobalPlatform 사양에 포함되지 않음)에 사용되는 확장자 사용은 이 애플리케이션을 다른 Java Card 및 GlobalPlatform 호환 운영 체제로 이동시키지 않도록 한다는 것을 알아야 한다.
JCOP 도구
JCOP Tools는 처음에 IBM에 의해 개발되었다.첫 번째 모듈은 JCOP Shell 또는 JCShell이라는 명령줄 도구였다.개발 도구는 Eclipse IDE의 플러그인으로, NXP는 JCOP Tools를 유지하고 CryptoPlugin과 새로운 JCOP 시뮬레이션을 통해 이를 확장해 왔다.이 툴은 Windows, MacOS 및 Linux 플랫폼을 위해 제공된다.
젝셸
JCSshell은 스크립팅을 지원하는 Java 프로그램, 명령줄 도구다.JCShell 스크립팅 언어는 테스트 및 검증 스크립트를 생성하기 위해 정교하다.JCSshell은 Raw send 등 가장 기본적인 온카드 APDU 명령을 지원하는 기존 기본 플러그인(Eclipse plugins와 유사)을 글로벌플랫폼과 암호화 기능으로 확장하는 플러그인 구조를 갖췄다.모든 플러그인은 (자바에서) 자체 기능에 의해 확장할 수 있다.Eclipse를 설치할 필요가 없는 독립형 JCShell 버전과 JCOP Tools 플러그인의 디버그 관점에서의 View 형태로 포함된 Eclipse 기반 버전이 있다.11