20
Smart Card 사용된 Java Card 기술 최 웅식 ㈜ 하나데이타솔루션스 [email protected]

Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

Embed Size (px)

Citation preview

Page 1: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

Smart Card에 사용된 Java Card 기술

최 웅식㈜ 하나데이타솔루션스

[email protected]

Page 2: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

2

목 차? Java Card란 무엇인가?

? Java Card의 언어적 특성? Smart Card란 무엇인가?

? Smart Card의 기능적 구성? Smart Card의 구조? Smart Card 파일 구조? Smart Card의 내외형

? Java Card System? Java Card : JCOP 10 (Contact)? Java Card : JCOP 30 (Combi)? Smart Card Reader/Writer : Plug & Play

? Java Card Applet 제작? Java Card의 언어적 제약? Java Card 가상 머신? Java Card Applet 개발 과정? Java Card Application : Java Wallet V1.0

? Java Card 응용 System? 접촉/비접촉 혼합형 카드? CDMA Digital Cellar Phone에의 응용? National ID Card? 국민 건강 보험 Smart Card

? Demo 와 Q&A

Page 3: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

3

Java Card란 무엇인가?? Java Card는 응용서비스 개발업체(applet 개발사)가 독립적인 응용서비

스(새로운 Applet)를 개발하여 이미 구현된 시스템(IC card를 이용한 은행, 모바일 전화 시스템 등)에 쉽게 추가하여 기능을 확장할 수 있도록Sun Microsystems에서 개발한 자바 언어 Spec 및 이를 구현한 다기능스마트카드(Smart Card)를 말함.

Java Card OS의 기능적인 구성

Page 4: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

4

Java Card의 언어적 특성Java Card의 언어적 특성

Java Card란 무엇인가?

Page 5: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

◈ IC카드는 “칩(Chip)카드”, “CPU카드”, “디지틀머니”, “가치저장형카드 (SVC)등으로

불리고 있으며 유럽에서는 일반적으로 스마트카드로 불림.

◈ ISO에서는 “IC카드 ”라는 공식 명칭으로 통일◈ 스마트카드는 신용 카드와 같은 크기, 두께의 플라스틱 카드에 CPU, COS(Chip

Operating System), EEPROM, 보안알고리즘기능등을 하나의 COB(Chip On Board)로제작하여 탑재된 카드이다.

◈ CPU 를 내장하지 않은 형태는 스마트카드라 부르지 않고 IC메모리 카드라 한다.

SEOUL CITYSEOUL CITY

SEOUL CITY CARD

4570 4700 8903 41094570 4700 8903 4109SEOULSEOUL

GOODTHRU 05 / 97 05 / 97 CVCV

HONG GIL DONGHONG GIL DONG VISA

서울도시카드

53.98mm

86.6mm

10.25mm

19.23mm

Smart Card란 무엇인가?

Page 6: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

운 영 체 계 중앙 처리 장치 기 억 장 치

보안 알고리즘암 호 장 치

통 제 장 치

GSM 관련 정보

통신 서비스 정보

전 자 지 갑

ETC

신 분 증 명

Smart Card의기능적 구성Smart Card의기능적 구성

Smart Card란 무엇인가?

Page 7: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

SEOUL CITYSEOUL CITY

SEOUL CITY CARD

4570 4700 8903 41094570 4700 8903 4109SEOULSEOUL

GOODTHRU 05 / 97 05 / 97 CVCV

HONG GIL DONGHONG GIL DONG VISA

서울도시카드

DES:DATA ENCRYPTION STANDARD 1977# SYMMETRIC ALGORITHM

RSA:RIVEST,SHAMIR AND ALDERMAN 1978# ASYMMETRIC ALGORITHM

DSA:DIGITAL SIGNATURE ALGORITHM 1991FEAL: FAST ENCRYPTION ALGORITHM NTTCOB: CHIP ON BOARD

Smart Card의 구조Smart Card의 구조

RAM

ROM

CPUSIO

EEPROMSECRET

CONFIDENTIAL

GENERAL

COS

IO/INT CTRL

시큐리티알고리즘

APPLICATIONPROGRAM

COB

ISO 7816

DES

FEAL

RSA

DSA

C4NC

C3CLK

C2RST

C1VCC

C8NC

C7I/O

C6VPP

C5GND

KILL/DESTROY

ELECTRONICPURSE전자지갑

Smart Card란 무엇인가?

Page 8: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

Smart Card 파일구조Smart Card 파일구조

SEOUL CITYSEOUL CITY

SEOUL CITY CARD

4570 4700 8903 41094570 4700 8903 4109SEOULSEOUL

GOODTHRU 05 / 97 05 / 97 CVCV

HONG GIL DONGHONG GIL DONG VISA

서울도시카드

ISO 7816

ATR ANSWER TO RESET

MF MASTER FILE

DF DEDICATED FILE(S)

EF ELEMENTARYFILE(S)

DF

EF

EF

DF

EFEFEF

DF

EF

EF의 종류 : WORKING EFPUBLIC EFALLPICAT. CTRL EFINTNL SECRET FILE

*READ binary,record / *WRITE binary,record UPDATE binary,record / *ERASE binary / APPEND record / GET DATA / PUT DATA

ISO 7816 - P4 기본명령어

*SELECT FILE / *VERIFY / INTERNAL,EXTERNAL AUTHENTICATEGET CHALLENGE, MANAGE CHANNELGET RESPONSE/ ENVELOPE (**PURSE)

통신프로토콜 : T = 0 : 비동기 바이트 전송T = 1 : 비동기 블록 전송

Smart Card란 무엇인가?

Page 9: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

Smart Card의 내외형Smart Card의 내외형

접촉식 카드(contacted)

비접촉식 카드(contactless)

콤비 카드(combi)

하이브리드 카드(Hybrid)

Smart Card란 무엇인가?

Page 10: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

10

Java Card System

?Standards implemented: ?JavaCard™ 2.1.1, OpenPlatform 2.0.1

?Visa OpenPlatform compact 2.1.1?ISO 7816, parts 3 & 4 for T=0 and T=1

?EMV 2000.

?Communications:

?Speed selectable between 9600 bit/sec and 115200 bit/sec

?Protocols supported: T=1 and T=0; ?Contained Java™ applets:

?OpenPlatform CardManager (VOP 2.1.1)

?Visa Smart Debit/Credit, version 2.01

?VisaCash, version 1.6.1

?PSE for OpenPlatform, version 2.0

?Visa SmartAccess

?Hardware specifications: ?Philips P8WE6017:

?48 kB ROM, 16 kB EEPROM, 1.3 kB RAM,

?3DES coprocessor

Java Card : JCOP 10 (Contact) Java Card : JCOP 10 (Contact)

Page 11: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

11

?Standards implemented:?JavaCard™ 2.1.1, OpenPlatform 2.0.1

?Visa OpenPlatform compact 2.1.2

?ISO 14443, T=CL, ISO 7816, parts 3 & 4 for T=0 and T=1

?EMV 2000. ?Communications:

?Contact speed selectable between 9600 bit/sec and 115200 bit/sec

?Contactless speed selectable between 106000 bit/sec and 848000 bit/sec

?Protocols supported: T=1, T=0, and T=CL ?Contained Java™ applets:

?OpenPlatform CardManager (VOP 2.1.2) ?Visa Smart Debit/Credit, version 2.1.1

?VisaCash, version 1.6.1

?PSE for OpenPlatform, version 2.0

?Hardware specifications:

?Philips P8RF5016:

?64kB ROM, 16kB EEPROM, 2.3kB RAM, ?3DES coprocessor, RSA coprocessor

?Contactless interface (Mifare)

Java Card : JCOP 30 (Combi) Java Card : JCOP 30 (Combi) Java Card System

Page 12: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

12

Smart Card Reader/Writer : Plug & Play Smart Card Reader/Writer : Plug & Play Java Card System

Page 13: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

13

Java Card Applet 제작

•큰 크기의 데이터 타입 : long, double, floatl

•문자와 문자열•다차원 배열•동적 클래스 로딩•보안 관리자•메모리 가비지 컬렉션, 쓰레드•오브젝트 클로닝•오브젝트 시리얼라이제이션

•작은 크기의 데이터 타입: Boolean, byte, shortl

•1차원 배열•자바 패키지, 클래스, 인터페이스,

예외처리•자바 객체 지향 특성 : 상속성, 가상

Method, 오버로딩 등

지원되지 않는 기능지원되는 기능

Java Card의 언어적 제약Java Card의 언어적 제약

? 메모리 가비지 컬렉션 기능은 지원하는 상용 카드들이 이미 많이 보급되고 있고 다른 제약 기능들도 계속 개선하는 개발 Toolkit들이 공급되고 있으므로 최신의 개발 Toolkit 및 Smart Card 사용을 항상 염두에두어야 한다.

Page 14: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

14

Java Card 가상 머신Java Card 가상 머신

Java Card Applet 제작

Page 15: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

15

Java Card Applet 개발 과정Java Card Applet 개발 과정

Java Card Applet 제작

Page 16: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

16

Java Card Application : Java Wallet V1.0 Java Card Application : Java Wallet V1.0

Java Card Applet 제작

Page 17: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

SEOUL CITYSEOUL CITY

SEOUL CITY CARD

4570 4700 8903 41094570 4700 8903 4109SEOULSEOUL

GOODTHRU 05 / 97 05 / 97 CVCV

HONG GIL DONGHONG GIL DONG VISA

서울씨티스마트카드

ISO 10536 국제표준 비접촉카드의 내부구조

안테나 코일 1 안테나 코일 2

내부 COB

외부 COB

국제표준은 반드시 2개의 코일사용

10Cm이내

지하철

10Cm이내

버스10Cm이내

1)유도자계 및 암호알고리즘 지불요구2)비접촉카드 기전력발생 카드 깨움3)암호확인후 전자자금이체/ 토큰이체**(CICC:Contactless Integrated Circuit Card)***(EFT:Electronic Fund Transfer)

ISO 10536 CICC원리

EFT터미널개인휴대전자카드

**

***

버스/지하철 카드전자지갑에 현금입력

일정금액소모후재입력

접촉/비접촉 혼합형카드접촉/비접촉 혼합형카드

Java Card 응용 System

Page 18: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

AOD(AUDIO ON DEMAND)DIGITAL WALKMAN

Cryptography Communication

MOBILE BANK EFT,EP(ELECTRONIC PURSE)ET(ELECTRONIC TICKET)ETC(ELECTRONIC TOLL COLLECTION)

MOBILE FAX

MOBILE COMPUTINGGPS/CAR NAVIGATION SYSTEM

SMART CARD SIM(SUBSCRIBER ID MODULE)

TEXT/ MULTIMEDIA PAGER

IKBD

E-PEN

VOICECOMMAND

기 능

1 2 3

4 5 6

7 8 9

0 문 자

REAL TIME MACHINE INTERPRETATION SERVICELOCAL TO MULTI-LANGUAGE, DIGITAL SIGNATURE,

TELEPAYMENT

000001 6663 7719 1300HONG GI DONG

메세지 팩 스HAND WRITING

Common Air Interface

824MHzTX/869MHzRX, Cellular1.8-9GHz PCS

ETC(ELECTRONICTOLLCOLLECTION)

SMART CAR INFORMATION SYSTEM

MOBILETELEPHONE/FAX/MESSAGE

Foward DirectionTraffic SituationAccident,

Nearest ParkingParkablility Inf.Gas Station,Maintainance

Service

POLICE, AMBULANCE,EMERGENCYVEHICLE PRIORITY

NAVIGATIONSYSTEM WithGPS

SELF DIAGNOSTIC,MAINTENANCERESERVATIONSYSTEM

SELFPARKING

Stolen VehicleEnforcement& Inspection

CDMA Digital Cellar Phone 에의 응용CDMA Digital Cellar Phone 에의 응용

Java Card 응용 System

Page 19: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

NN

NN-- IDID

NATIONAL HEALTH CARE

XXXXXXXXXXXX--XXXXXXXXXXXXXXSEOULSEOUL

GOODTHRU 05 / 97 05 / 97 CVCV

홍길동홍길동 ((HONG GIL DONG)HONG GIL DONG)

국민통합복지카드

National IDDigital SignatureElectronic Vote

Drivers Licence

Public Functionary IDPension ID

Medical InsuranceSocial Security

Optional Items

Electronic Purse, EFT

Tax Consulting Services

Public SubscriberCards

Military Service FilesOld Age Health Care

Electronic Picture(JPEG)

Allergy, Blood TypeHealth CareMedical Services

VOD/MOD/VROD Access Control

Real Name System for Information Utilization

Network Access Control

National ID CardNational ID Card

Java Card 응용 System

Page 20: Smart Card에사용된Java Card 기술2605A04756A...CPU SIO EEPROM SECRET CONFIDENTIAL ... Maintainance Service POLICE, AMBULANCE, EMERGENCY VEHICLE PRIORITY NAVIGATION SYSTEM With

HEAL

ㅗㄷ

Text PagerA

HEHE

Chart File / Image Server for X-RAY,CT,MRI

Hospital PACS

ConvantionalHospital Work

Other Hospital PACS

Information Infrastructure

N-ID HEALTH CARE FUNCTION Emergency SystemRevolution Consultation

Filing

Information Super Highway

Chart File / Image Server for X-RAY,CT,MRI

NN-- IDIDNATIONAL HEALTH CARE

PATIENT N-ID CARD

SEOULSEOUL 05 / 97 05 / 97 CVCV홍길동홍길동 ((HONG GIL DONG))HONG GIL DONG))

국민 건강 보험 Smart Card국민 건강 보험 Smart CardJava Card 응용 System