KR100901871B1 - 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치 - Google Patents

스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치 Download PDF

Info

Publication number
KR100901871B1
KR100901871B1 KR1020070122956A KR20070122956A KR100901871B1 KR 100901871 B1 KR100901871 B1 KR 100901871B1 KR 1020070122956 A KR1020070122956 A KR 1020070122956A KR 20070122956 A KR20070122956 A KR 20070122956A KR 100901871 B1 KR100901871 B1 KR 100901871B1
Authority
KR
South Korea
Prior art keywords
service
smart card
file
terminal
usim
Prior art date
Application number
KR1020070122956A
Other languages
English (en)
Other versions
KR20090056019A (ko
Inventor
나준채
박정석
박재민
Original Assignee
주식회사 케이티프리텔
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티프리텔 filed Critical 주식회사 케이티프리텔
Priority to KR1020070122956A priority Critical patent/KR100901871B1/ko
Publication of KR20090056019A publication Critical patent/KR20090056019A/ko
Application granted granted Critical
Publication of KR100901871B1 publication Critical patent/KR100901871B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 고성능 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치에 관한 것이다. 본 발명에 따른 터미널에서 스마트 카드에 탑재된 프로그램을 로딩하는 방법은 상기 스마트 카드에서 제공 가능한 서비스의 종류가 무엇인지를 확인하는 가용 서비스 확인 단계; 상기 가용한 서비스 중 상기 터미널에 탑재 가능한 서비스를 선택하는 서비스 선택 단계; 상기 선택된 서비스에 상응하는 서비스 파일을 상기 스마트 카드로부터 획득하는 서비스 파일 획득 단계; 및 상기 획득된 서비스 파일을 이용하여 상기 선택된 서비스를 위한 프로그램을 설치하는 단계를 포함할 수 있다. 따라서, 본 발명은 터미널에서 고성능 스마트 카드에 저장된 다양한 프로그램을 동적으로 로딩하는 방법 및 그 장치를 제공함으로써, 다양한 플랫폼 서비스를 제공하는 장점이 있다.
USIM, 스마트카드, 플랫폼, 미들웨어, USIM 서비스 테이블, 로딩

Description

스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치{Method and Apparatus for Loading Program Using Smart Card}
본 발명은 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치에 관한 것으로서, 좀 더 상세하게는, 터미널에서 스마트 카드에 저장된 프로그램 중 가용한 프로그램을 식별하고 이를 동적으로 로딩 및 탑재하는 것이 가능한 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치에 관한 것이다.
3세대 이동 통신 시장에서 스마트 카드의 사용이 기본 사양 중의 하나로 결정되면서 각 이동 통신사마다 자사의 USIM(Universal Subscriber Identity Module) 카드 사양 정의 및 USIM 카드를 이용한 서비스 개선에 대한 연구가 활발히 진행되고 있다.
종래에는 국내 이동 통신 시장은 CDMA기술을 기반으로 하는 동기식 IS-95망을 주류를 이루었으나, 최근에는 광대역 코드 분할 다중 접속(WCDMA:Wideband Code Division Multiple Access) 방식을 근간으로 하는 UMTS(Universal Mobile Telecommunication System) 서비스가 상용화되고 있는 실정이다.
따라서, GSM(유럽에서 사용하는 비동기식 이동 통신 서비스)에서 가입자 인증에 사용된 SIM카드와 동기식CDMA에서 가입자 인증에 사용되는 UIM카드를 통합한 가입자 인증 카드의 개발을 통해 세대간, 시스템간 로밍 문제를 해결하기 위한 연구가 진행되고 있다.
특히, 최근에는 다양한 가입자의 욕구를 충족시키기 위해. 가입자 인증 카드는 오픈 플랫폼의 하나인 자바 카드로 개발되고 있으며. 개별적인 부가가치서비스들을 각각의 자바 카드 애플릿으로 개발하여, 가입자의 요구에 따라 개인화(Personalized)된 부가가치서비스를 유연하게 제공할 수 있다.
즉, USIM 카드는 대용량, 다기능의 스마트 카드 기능을 갖추고 있어 통신 기능, 글로벌 로밍 기능 및 신용카드, 뱅킹, 증권거래, 멤버십, 결재 등 다양한 부가 서비스 기능을 통합적으로 제공할 수 있다.
현재 스마트 카드는 웹서버 기능을 위해서 ISO 7816-7 규격을 기반으로 터미널-예를 들면, 이동 단말기-과 스마트 카드 사이의 통신 기능을 제공한다.
일반적으로, 스마트 카드는 CPU와 카드 운용 체제를 갖추고 있기 때문에 하나의 카드에서 다양한 응용 프로그램을 구현하고, 여러 가지 응용 서비스를 통합하여 사용할 수 있다는 점에서 그 편리성과 사용 분야 확대의 잠재성이 매우 큰 기술이다.
이러한, 스마트 카드 기술의 잠재력을 고려해볼 때, 스마트 카드 플랫폼 기술은 다양한 카드 응용 프로그램을 수용하기 위해 사용자 및 개발자의 편의성 및 기능적인 면을 보완한 진화된 형태로 발전되어 갈 전망이다.
특히, 최근에는 무선 인터넷 기술이 발전함에 따라, ME 및 WAP 브라우저 등을 이용한 뉴스, 증권 정보 등의 텍스트 기반 서비스와 캐랙터 다운로드, 벨소리 다운로드, 모바일 게임 등의 멀티미디어 기반 서비스가 제공되고 있다.
이러한 무선 인터넷 서비스는 단말 운용 체제 위에 탑재되는 다양한 미들웨어 플랫폼에 의해 지원되며, 현재 국내 이동 통신 3사를 비롯한 해외 서비스 사업자는 다양한 미들웨어 플랫폼을 개발하여 상용화하고 있다.
예를 들면, 현재 이동 통신 단말기에 탑재되는 무선 인터넷을 위한 미들웨어 플랫폼은 WIPI(), BREW(), J2ME() 등이 있다.
하지만, 이러한 무선 인터넷 플랫폼은 서비스 사업자 및 단말기 제조사 별로 상이하므로 무선 인터넷 플랫폼에 탑재되는 응용 프로그램 개발 업체 및 서비스 사업자는 해당 플랫폼에 따라 응용 프로그램을 변경하여 포팅(Porting)하여야 하는 문제점이 있었다.
이로 인해, 종래에는 단말기의 개발 기간 및 비용이 증가할 뿐만 아니라 단말기 사용자가 선호하는 특정 무선 인터넷 플랫폼을 선택하고 이를 탑재할 수 있는 방법이 제공되지 않았다.
상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 고성능 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 스마트 카드를 통해 제공 가능한 서비스를 식별하고, 해당 서비스에 상응하는 프로그램을 동적으로 로딩하여 설치하는 것이 가능한 이동 단말기를 제공하는 것이다.
본 발명의 다른 목적은 터미널의 요청에 따라 해당 스마트 카드에서 제공 가능한 서비스 종류를 제공하고, 터미널에 의해 요청된 서비스에 상응하는 프로그램을 추출하고 이를 전송하는 것이 가능한 고성능 스마트 카드를 제공하는 것이다.
본 발명의 다른 목적은 초기 출시되는 단말기에는 기본적인 통신 기능을 수행하기 위한 프로그램만을 탑재하고, 스마트 카드에 탑재된 미들웨어 및 응용 프로그램을 동적으로 로딩하는 방법을 제공하는 것이다.
본 발명의 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 터미널에서 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 방법이 개시된다.
본 발명의 일 실시예에 따른, 터미널에서 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 방법은 상기 스마트 카드에서 제공 가능한 서비스의 종류가 무엇인지를 확인하는 가용 서비스 확인 단계; 상기 가용한 서비스 중 상기 터미널에 탑재 가능한 서비스를 선택하는 서비스 선택 단계; 상기 선택된 서비스에 상응하는 서비스 파일을 상기 스마트 카드로부터 획득하는 서비스 파일 획득 단계; 및 상기 획득된 서비스 파일을 이용하여 상기 선택된 서비스를 위한 프로그램을 설치하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따르면, 대용량 메모리 및 EEPROM이 구비된 스마트 카드에서 터미널에 탑재될 서비스 파일을 전송하는 방법이 개시된다.
본 발명의 일 실시예에 따른 있어서, 대용량 메모리 및 EEPROM이 구비된 스마트 카드에서 터미널에 탑재될 서비스 파일을 전송하는 방법은 상기 터미널의 요청에 따라 상기 스마트 카드에서 제공 가능한 서비스의 종류를 지시하는 USIM 서비스 테이블 데이터를 상기 EEPROM으로부터 추출하여 상기 터미널에 전송하는 단계; 및 소정의 서비스 식별 코드를 포함하는 서비스 파일 전송 요구 메시지가 수신되면, 해당 서비스 식별 코드에 상응하는 서비스 파일을 상기 대용량 메모리로부터 추출하여 상기 터미널에 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 터미널에서 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 장치가 개시된다.
본 발명의 일 실시예에 따른 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 장치는 상기 스마트 카드에서 제공 가능한 서비스의 종류가 무엇인지를 확인하는 가용 서비스 확인 수단; 상기 가용한 서비스 중 상기 터미널에 탑재 가능한 서비스를 선택하는 서비스 선택 수단; 상기 선택된 서비스에 상응하는 서비스 파일을 상기 스마트 카드로부터 획득하는 서비스 파일 획득 수단; 및 상기 획득된 서비스 파일을 이용하여 상기 선택된 서비스를 위한 프로그램을 설치하는 수단을 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 터미널에 초기 프로그램 로딩 서비스를 제공하는 스마트 카드가 개시된다.
본 발명의 일 실시예에 따른 스마트 카드는 상기 스마트 카드에서 제공 가능한 서비스의 종류를 식별할 수 있는 USIM 서비스 테이블 요소 파일이 저장된 EEPROM; 상기 터미널의 명령에 따라 상기 EEPROM으로부터 USIM 서비스 테이블 데이터를 추출하여 상기 터미널에 제공하고, 상기 터미널에 의해 요청된 서비스 파일의 전송을 프로그램 로딩 에이전트(Program Loading Agent)에 지시하는 카드운용체제; 및 상기 카드운용체제의 제어 신호에 따라, 대용량 메모리로부터 상기 전송 요청된 서비스 파일을 추출하여 상기 터미널에 전송하는 프로그램 로딩 에이전트를 포함하는 특징이 있다.
본 발명은 고성능 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치를 제공하는 장점이 있다.
또한, 본 발명은 스마트 카드를 통해 제공 가능한 서비스를 식별하고, 해당 서비스에 상응하는 프로그램을 동적으로 로딩하여 설치하는 것이 가능한 이동 단말기를 제공하는 장점이 있다.
또한, 본 발명은 터미널의 요청에 따라 해당 스마트 카드에서 제공 가능한 서비스 종류를 제공하고, 터미널에 의해 요청된 서비스에 상응하는 프로그램을 추출하고 이를 전송하는 것이 가능한 고성능 스마트 카드를 제공하는 장점이 있다.
또한, 본 발명의 다른 목적은 초기 출시되는 단말기에는 기본적인 통신 기능을 수행하기 위한 프로그램만을 탑재하고, 스마트 카드에 탑재된 미들웨어 및 응용 프로그램을 동적으로 로딩하는 방법을 제공하는 장점이 있다.
또한, 본 발명은 사용자가 선호하는 미들웨어 및 그에 따른 응용 프로그램을 스마트 카드에 유지하고, 터미널에 스마트 카드가 장착되면 사용자 선택에 따라 해당 미들웨어 및 응용 프로그램을 동적으로 탑재할 수 있는 장점이 있다.
또한, 본 발명은 단말기 기반이 아닌 스마트 카드 기반의 무선 인터넷 플랫폼을 제공하는 효과가 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하는" 또는 "탑재된" "장착된" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
이하에서, 본 발명에 따른 고성능 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치에 관한 바람직한 실시예를 도면을 참조하여 상세하게 설명하기로 한다.
도 1은 UMTS 시스템에서의 UE의 구조를 도시한 블록도이다.
3GPP 표준에서는 이동 단말기를 UE(User Equipment)라 칭하며, 일반적인 기지국을 NodeB로 정의하여 사용한다.
이하의 설명에서는 설명의 편의를 위해, 이동 단말기 및 기지국을 각각 UE 및 기지국이라 명하기로 한다.
도 1을 참조하면, UE(User Equipment, 100)는 기능에 따라, 크게 ME(Mobile Equipment, 110)와 USIM(UMTS Subscriber Identity Module, 120)으로 구분될 수 있다.
일반적으로 USIM(120)은 ME(110)과 물리적으로 분리될 수 있기 때문에 이 둘 사이에는 Cu라는 표준 인터페이스가 정의되어 있다.
여기서, ME(110)는 단말 장치(Terminal Equipment:TE, 130), 네트워크 종단(Network Termination:NT, 112) 및 무선 종단(Radio Termination:RT, 114)로 구성되며, NT(112)와 RT(114)는 Tu 인터페이스를 통해 정보를 송수신할 수 있다.
도 1에 도시된 바와 같이, NT(112)는 Cu 인터페이스 및 R 인터페이스를 통해 USIM(120) 및 TE(130)와 각각 통신할 수 있다.
UMTS에서 무선 구간의 인터페이스를 Uu 인터페이스라 하며, RT(114)는 Uu 인터페이스를 통해 NodeB(140)에 무선 신호를 송신하거나, NodeB(140)가 송신한 무선 신호를 수신할 수 있다.
USIM(120)은 사용자의 고유한 정보를 저장하는 구성 요소로서, 물리적으로 UE(100)의 일측에 착탈식으로 장착되는 IC(Integrated Card) 카드의 형태가 일반적이다. USIM(120)은 다양한 응용-여기서, 다양한 응용은 뱅킹 기능, 폰북 기능, 교통 기능 등을 포함함- 및 다양한 무선 접속 기술에 대응하는 통신 기능 등을 제공할 수 있다. 이러한 이유로, USIM(120)은 종종 스마트 카드 기능이 탑재된 UICC(Universal Integrated Circuit)라 불린다.
일반적으로, USIM(120)에 포함되는 내용은 서비스 제공자로부터 공급받는다. 그리고, USIM(120)은 핵심망(Core Network)의 홈위치등록기(Home Location Register:HLR)에 저장되어 있는 가입자의 고유한 정보를 포함할 수 있다.
또한, USIM(120)에는 폰북(Phone Book), 통화이력, 단문 메시지 등의 다양한 개인 정보를 유지할 수 있다.
이하의 설명에서는 USIM(120)에 저장될 수 있는 기본적인 정보에 대해 상세히 설명하기로 한다.
우선, USIM(120)은 USIM 제조 회사와 서비스 제공자에 의해 설정된 기본적인 정보인 암호화 알고리즘, IMSI(International Mobile Subscriber Identity) 및 접속 클래스 정보(Access Class Information) 등이 유지할 수 있다.
또한, USIM(120)은 단말의 이동성 제공을 위한 정보로서 위치 식별자-예를 들면, Location Area Identity, Routing Area Identity 등을 포함함-, 임시이동가입자식별자(Temporary Mobile Subscriber Identity:TMSI), 암호화 파라미터를 저장할 수 있으며, 해당 USIM을 통해 접속 가능한 서비스 종류에 관한 정보도 유지할 수 있다.
특히, USIM(120)은 다양한 응용을 실행시키기 위한 자체적인 실행 프로그램을 유지할 수 있으며, 사용자가 개인적으로 사용하는 단문 메시지, 다이얼링 정보, 폰북 등의 사용자 데이터를 저장할 수 있다.
ME(110)는 무선접속망(Radio Access Network)과의 실질적인 통신을 담당하는 무선 단말을 지칭하고, MT(Mobile Terminal, 115)와 TE(130)로 세분된다.
MT(115)는 무선 구간을 통한 이동 통신 시스템과의 통신을 위한 무선 접속 프로토콜이 위치한다. UE(100)의 측면에서 본다면, MT(115)는 실제의 물리적인 단말 장치로 동일한 무선 접속 기술을 사용하는 UTRAN 영역에서만 통신이 가능하다.
TE(130)는 무선 접속 프로토콜의 동작에 필요한 제어 기능들을 제공한다. 예를 들면, TE(130)는 랩탑(Laptop) 컴퓨터와 연결된 무선 단말이 무선 모뎀처럼 동작할 수 있는 환경을 제공할 수 있다.
또한, TE(130)는 ITU-T에 의해서 정의된 AT Command와 같은 Modem Control Command Set을 사용하여 단말의 종단-여기서, 단말의 종단은 NT(112) 및 RT(114)를 포함함-을 제어할 수 있다.
특히, 본 발명에 따른 USIM(120)은 대용량 메모리를 구비할 수 있으며, 다양한 미들웨어 플랫폼 및 응용 프로그램의 소스 파일 및 해당 소스 파일을 설치하기 위한 각종 데이터 파일을 유지할 수 있다.
또한, 본 발명에 따른 USIM(120)은 카드 초기화가 완료되면 EEPROM에 저장된 EF_UST(USIM Service Table Element File)에 포함된 데이터를 ME(110)에 전송하고, ME(110)의 요청에 따라 해당 서비스 파일을 대용량 메모리로부터 추출하여 ME(110)에 전송할 수 있다.
이하의 설명에서는 설명의 편의를 위해 상기한 USIM(120)을 '스마트 카드'로 ME(110)를 '터미널'이라 명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 터미널 및 스마트 카드의 구조를 설명하기 위한 도면이다.
좀 더 상세하게, 도 2는 터미널(200)에서 스마트 카드(220)에 의해 제공 가능한 서비스 중 해당 터미널에서 이용 가능한 서비스를 식별하고, 식별 결과에 따라 스마트 카드(220)로부터 해당 서비스에 상응하는 프로그램 설치 파일 및 데이터를 획득하여 이를 구동시키는 절차를 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스마트 카드(220)는 카드 하드웨어(Card Hardware, 222), 카드운용체제(224), 자바플랫폼(226), 프로그램 로딩 에이전트(Program Loading Agent, 228), 스마트카드데이터베이스(SC-DBMS, 230) 및 서비스 파일 정보 데이터베이스(240)을 포함할 수 있다.
본 발명에 따른 스마트 카드(220)는 카드운용체제(224)에 자바 바이트코드 인터프리터(JAVA Byte code Interpreter)를 탑재하고, 카드에 적합하게 변환된 자바 클래스 파일을 다운로드할 수 있는 자바 기반 스마트 카드인 것이 바람직하다.
카드하드웨어(222)는 중앙처리장치(Central Processing Unit:CPU), ROM(Read Only Memory), RAM(Random Access Memory), EEPROM과 같은 메모리 및 터미널(200) 과의 통신 인터페이스-이하, '스마트 카드 인터페이스'이라 함-를 제공할 수 있다.
카드운용체제(224)는 카드하드웨어(222) 계층 위에 존재하며, 터미널(200)로부터 수신되는 제어 메시지에 상응하는 처리 결과를 스마트 카드 인터페이스를 통해 터미널(200)에 제공할 수 있다.
본 발명에 따른 터미널(200)은 전원이 인가되거나 스마트 카드(220)가 장착되었음을 인지하고, 스마트 카드 초기화가 완료되면, 해당 스마트 카드에서 제공 가능한 서비스의 종류를 확인하기 위해 USIM 서비스 테이블 선택 명령-예를 들면, "Select EF_UST"-을 카드운용체제(224)에 송신할 수 있다.
카드운용체제(224)는 상기한 USIM 서비스 테이블 선택 명령에 따라 해당 요소 파일-즉, EF_UST-를 선택하고, 성공 응답 메시지를 터미널(200)에 전송한다.
터미널(200)은 상기한 성공 응답 메시지를 수신하면, EF_UST에 저장된 데이터의 전송을 지시하는 요소 파일 전송 요구 메시지-예를 들면, "Read EF_UST"-를 카드운용체제(224)에 송신할 수 있다.
카드운용체제(224)는 EF_UST에 저장된 USIM 서비스 테이블 데이터를 EEPROM으로부터 독출하고, 독출된 USIM 서비스 테이블 데이터를 터미널(200)에 전송한다.
여기서, USIM 서비스 테이블 데이터는 해당 스마트 카드에게서 어떤 서비스를 제공할 수 있는지에 관한 식별 정보일 수 있다.
터미널(200)에 구비된 로더(Loader, 208)는 USIM 서비스 테이블 데이터를 참조하여 스마트 카드(220)에 의해 제공될 수 있는 서비스를 식별할 수 있다.
특히, 로더(208)는 터미널(200)상에 미리 저장되어 있는 설치 프로그램에 대 한 정보-이하, "터미널 설치 프로그램 정보"이라 함-를 USIM 서비스 테이블 데이터와 비교하여 로딩이 필요한 미들웨어(Middle, 210) 및 응용 프로그램(212)이 무엇인지 판별할 수 있다.
만약, 로딩이 필요한 설치 프로그램이 존재하는 경우, 로더(208)는 해당 설치 프로그램의 전송을 요청하는 소정의 설치 파일 전송 요구 메시지를 스마트 카드(220)에 송신할 수 있다. 여기서, 설치 파일 전송 요구 메시지는 스마트 카드(220)에서 제공 가능한 서비스를 고유하게 식별할 수 있는 서비스 식별 코드를 포함할 수 있다.
서비스 식별 코드에 대해서는 후술할 도 11 내지 12를 참조하여 상세히 설명하기로 한다.
카드운용체제(224)는 설치 파일 전송 요구 메시지를 수신하여 프로그램 로딩 에이전트(228)에 전달하며, 프로그램 로딩 에이전트(228)는 SC-DBMS(230)와 연동하여 수신된 서비스 식별 코드에 상응하는 서비스 파일 정보-여기서, 서비스 파일 정보는 설치 프로그램 파일 및 데이터 중 적어도 하나를 포함함-를 획득하고, 획득된 서비스 파일 정보를 터미널(206)에 전송할 수 있다.
이때, 서비스 파일 정보 전송을 위해 스마트 카드(220)와 터미널(200) 사이에 이용되는 응용 인터페이스는 ISO 7816 기반의 양방향 시리얼 통신 방식과 고속의 데이터 전송을 위한 USB 통신 방식 중 어느 하나가 사용될 수 있다.
로더(208)는 서비스 파일 정보를 수신하면, 터미널(200)에 구비된 소정의 기록 영역에 해당 서비스 파일 정보를 저장한 후 설치 파일을 구동시킨다.
여기서, 본 발명의 일 실시예에 따른 최초 출시되는 터미널(200)은 기본적인 통신 기능-예를 들면, 음성 통신, 단문메시지 등을 포함함-에 필요한 실행 파일을 제외한 나머지 실행 파일은 탑재되지 않은 상태인 것이 바람직하다.
예를 들면, 터미널(200)은 WIPI와 같은 무선 인터넷 서비스와 관련된 서비스 파일 정보를 스마트 카드(220)로부터 획득하여 탑재할 수 있다.
또한, 로더(208)는 터미널 OS(206) 위에 탑재되는 미들웨어(Middleware, 210)를 먼저 탑재하고, 이후 해당 미들웨어(210)을 통해 제공될 수 있는 응용 프로그램(212)을 탑재하는 것이 바람직하다.
여기서, 미들웨어(210)는 터미널 OS(206)와 응용 프로그램 사이에 위치하여, 사용자에게는 사용자 편의적인 응용 프로그램 인터페이스 환경을 제공하고, 개발자에게 유연하고 편리한 개발 환경을 제공하기 위한 응용 플랫폼이다.
예를 들면, 무선 인터넷 서비스를 위한 미들웨어로는 C언어로 작성된 응용 프로그램을 컴파일하여 바이너리 코드(Binary Code)를 실행시키는 퀄컴(Qualcomm)에 의해 개발된 BREW(Binary Runtime Environment for Wireless) 플랫폼과 자바(JABA) 언어로 작성된 응용 프로그램이 실행되는 환경으로서, 컴파일 과정을 거쳐 생성된 바이트 코드(Byte Code)를 KVM(Kilobyte Virtual Machine)이 인터프리터하여 실행시키는 J2ME(Java 2 Micro Edition) 플랫폼이 대표적일 수 있다.
또한, Java 및 C언어로 작성된 응용 프로그램을 바이너리 컴파일러로 해독하여 실행시키는 WIPI(Wireless Internet For Interoperability) 플랫폼이 국내 이동 통신 3사의 협약에 의해 무선 인터넷을 위한 국내 표준 플랫폼으로 채택되었다.
즉, 이동 통신 서비스 사업자 및 단말기 제조사 별로 상이한 무선 인터넷 플랫폼을 탑재할 수 있으며, 이에 따라 컨텐츠 개발자 및 응용 프로그램 개발자들은 해당 무선 인터넷 플랫폼에 상응하는 응용을 다시 개발하고 이를 검증해야 하는 불편함이 있었다.
특히, 해외 제조사에 의해 출시된 단말의 경우, 국내 서비스 사업자는 국내 무선 인터넷 서비스 환경에 부합되도록 해당 단말기의 무선 인터넷 플랫폼을 다시 포팅(Porting)해야 하는 문제점이 있었다.
본 발명에 따른 스마트 카드는 카드운용체제(224)위에 SUN사가 개발한 자바 가상 기계(Java Virtual Machine)를 탑재한 형태의 카드 플랫폼으로 Multos와 같이 다중 응용 프로그램 탑재가 가능하고, post-issuance 형태로 응용 프로그램 다운로딩이 가능한 개방형 플랫폼인 것이 바람직하다.
따라서, 프로그램 로딩 에이전트(228)는 자바 기반의 스마트 카드상에 다양한 응용 프로그램이 존재할 수 있도록 지원해주는 자바플랫폼(226)-여기서, 자바플랫폼(226)은 자바가상기계 및 자바 카드 API/Framework로 구성됨-위에 탑재되는 자바 애플릿(Applet) 형태의 응용 프로그램일 수 있다.
도 3은 본 발명에 따른 터미널과 스마트카드사이의 통신 메커니즘을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 종래 기술에 따른 터미널(200)과 스마트 카드(220) 사이의 통신은 ISO 7816 표준에 정의된 구문을 이용한 요구/응답 형태의 반이중 모드(Half duplex mode) 통신 방식을 따른다. 일반적으로, ISO 7816 표준에 정의된 전송 방식은 시리얼(Serial) 양방향 전송 라인을 사용한 저속-예를 들면, 9.6kbps-의 데이터 통신을 지원한다.
ISO 7816 표준에서는 2가지 전송 프로토콜을 제공한다.
그 중 하나인 T=0 프로토콜은 ISO 7816에서 초기부터 사용된 전송 프로토콜로서 비동기 반이중 바이트 전송 방식을 따른다.
나머지 T=1 프로토콜은 블록 전송 프로토콜이라고 하며 바이트 전송 프로토콜에 비해 보안성이 다소 개선될 수 있는 여지가 있다. GSM의 11.11 SIM(Subscriber Identification Module)에서 T=0 프로토콜을 채택한 이래 차세대 신용카드 EMV에서는 T=0, T=1 양 프로토콜을 채택하고 있다.
도 3을 참조하면, 명령(Command)은 터미널(200)에 의해 개시되며, 스마트 카드(220)에 내장된 카드 운용 체제(Card OS, 224)는 터미널(200)로부터 수신된 명령을 해석하여, 스마트 카드(220) 내부에 저장된 데이터를 갱신하거나 추출한 후 처리 결과를 응답 메시지를 통해 터미널(200)에 전송한다.
ISO 7816-7에서는 터미널(200)과 스마트 카드(220) 사이의 제어 신호 및 데이터의 전송을 위해 APDU(Application Protocol Data Unit) 명령 메시지(Command Message)와 APDU 응답 메시지(Respond Message)가 정의되어 있다.
또한, 터미널(200)과 스마트 카드(220)는 필요에 따라 고속의 데이터 통신을 위한 USB 인터페이스를 제공할 수도 있음을 주의해야 한다.
예를 들면, 일반적인 터미널(200)과 스마트 카드(220) 사이의 제어 절차는 ISO 7816 기반의 시리얼 통신이 사용되고, 파일 전송과 같은 고속의 데이터 통신이 필요한 경우에는 USB 인터페이스가 사용될 수 있다.
도 4는 종래 기술에 따른 APDU 명령 메시지 구조이다.
도 4에 도시된 바와 같이, APUU 명령 메시지는 크게 헤더(Header, 410)과 몸체(Body, 420)로 구성된다.
헤더(410)는 클래스(Class, 411), 명령 코드(Instruction Code, 412), 파라메터(Parameter, 413)로 구성될 수 있다.
여기서, 파라메터(413)는 P1(414) 및 P2(415)로 구성되며, P1(414)와 P2(415)는 명령 코드(412)의 기준 주소 정보를 가리킨다.
클래스(411)는 ISO 명령어, 전용 명령어, 암호화 등의 명령어 집합을 식별하기 위한 클래스 바이트가 기록되는 영역이며, ISO 7816-4에 자세하게 서술되어 있다 .
명령 코드(412)는 클래스 필드(411)과 조합하여 명령 타입을 식별하기 위한 코드로서, 유효 명령 코드의 LSB는 항상 0이며, MSB는 6이나 9가 될 수 없다. 그 이유는 스마트카드 제조업체가 내부적으로 사용하는 값이므로 그에 따른 충돌을 피하기 위해서이다.
몸체(420)는 가변 길이를 가지며, 명령 메시지에 포함된 데이터의 길이를 가리키는 Lc(Length of Command data, 421), 스마트 카드의 해당 주소 영역에 기록될 데이터를 가리키는 DATA(422) 및 스마트 카드로부터 수신될 응답 메시지의 크기를 지시하는 Le(Length of Expected response data, 423)으로 구성된다.
이하에서는 APDU 명령 메시지의 다양한 구조를 간단히 설명하기로 한다.
제 1구조는 전송이나 수신 데이터를 요구하지 않는 명령 메시지로서, 클래스(411), 명령 코드(412), P1(414), P2(415)로 구성된다.
제 2구조는 터미널에서 스마트 카드로 전송할 데이터를 포함하는 명령 메시지로서. 클래스(411), 명령 코드(412), P1(414), P2(415), Lc(421), DATA(422)로 구성된다.
제 3구조는 터미널이 데이터를 스마트 카드에 전송하지 않지만, 데이터 회신 응답을 스마트 카드에 요구하는 명령 메시지로서, 클래스(411), 명령 코드(412), P1(414), P2(415), Le(423)로 구성된다.
마지막, 제 4구조는 터미널이 데이터를 스마트 카드에 전송함과 동시에 데이터 회신 응답을 스마트 카드에 요구하는 명령 메시지로서, 클래스(411), 명령 코드(412), P1(414), P2(415), Lc(421), DATA(422), Le(423)로 구성된다.
도 5는 종래 기술에 따른 APDU 응답 메시지의 구조이다.
도 5에 도시된 바와 같이, APDU 응답 메시지는 터미널로 전송할 데이터가 존재하는 경우에 포함되는 몸체(Body, 510)와 상태 바이트를 포함하는 트레일러(Trailer, 520)로 구성된다.
APDU 응답 메시지의 크기는 APDU 명령 메시지에 포함된 Le(423) 값만큼의 크기를 가진다
여기서, 응답 메시지에 포함되는 상태 코드 정보(Status Word:SW)는 SW1과 SW2이며 터미널에 의해 요구된 명령이 정상 완료된 경우와 실패한 경우로 구분된다.
터미널이 명령 메시지를 스마트 카드에 전송한 후, 스마트 카드로부터 응답을 기다리는데 이것을 절차바이트(Procedure Byte)라 하며, 절차바이트는 ACK 또는 SW1 둘 중에 하나이다. 만약, 스마트 카드가 SW1바이트를 전송하면, 새로운 SW2바이트가 전송될 것을 의미한다. SW1, SW2 바이트 조합은 스마트 카드 상태 및 응답이 완료되었음을 터미널에 통보하기 위한 용도로 사용될 수 있다.
도 6은 ISO 7816 표준에 정의된 스마트 카드와 터미널간의 통신을 하기 위한 기본 명령어를 설명하기 위한 도면이다.
스마트 카드는 수동적으로 동작-단말기 또는 시스템에서 주어진 명령에 대해서 응답하는 형태로 동작함-하고, 전원, 리셋, 클럭 및 명령어의 전달이 전부 외부에서 주어졌을 때에만 카드 내부에서 응답하는 형태로 동작하기 때문에 기본 명령어는 업체간에 호환성 및 연동을 위해 매우 중요한 요소이다.
하지만, 도 6에 도시된 명령어만으로 다양한 스마트 카드 부가 서비스를 제공하는 것은 매우 어려운 문제점이 있다.
상기한 도 6에 도시된 각각의 APDU 명령 메시지에 대한 세부 설명은 해당 도면상에 기재된 내용으로 대신하기로 한다.
도 7은 본 발명의 일 실시예에 따른 스마트 카드에 탑재된 프로그램을 로딩하는 방법을 설명하기 위한 흐름도이다.
도 7에 도시된 바와 같이, 터미널(200)은 스마트카드가(220)의 장착을 인지하면, 스마트 카드 초기화 절차를 수행한다(S702).
여기서, 스마트 카드 초기화 절차는 터미널(200)이 스마트 카드에 리셋(Reset) 신호를 송신하는 단계, 스마트 카드가 내부적인 리셋 절차가 완료되면, 리셋에 대한 응답 신호(Answer To Reset:ATR)을 터미널(200)에 송신하는 단계 및 터미널(200)이 수신된 ATR에 따라 전원, 전압 및 프로토콜을 결정하고 Initial Character, Format Character, Interface Character, Historical Character, Check Character, 제조 업체 식별 등 기본적인 동작을 수행하는 단계로 구성될 수 있다.
터미널(200)은 스마트 카드 초기화 절차가 완료되면, USIM 서비스 테이블 요소 파일(EF_UST)의 선택을 지시하는 요소 파일 선택 명령 메시지-예를 들면, Select EF_UST-를 스마트 카드(220)에 전송한다(S704).
스마트 카드(220)는 EF_UST를 선택한 후, 해당 요소 파일 선택이 성공했음을 지시하는 요소 파일 선택 응답 메시지를 터미널(200)에 전송한다(S706).
터미널(200)은 선택된 요소 파일에 포함된 레코드의 전송을 요구하는 요소 파일 전송 명령 메시지-예를 들면, read EF_UST-를 스마트 카드(220)에 전송한다(S708).
스마트 카드(220)는 EF_UST에 저장된 레코드-이하, 'USIM 서비스 테이블 데이터'이라 함-를 추출하고, 추출된 USIM 서비스 테이블 데이터를 적어도 하나의 APDU 응답 메시지를 이용하여 터미널(200)에 전송한다(S710),
본 발명의 일 실시예에 따른 스마트 카드(220)는 서비스 식별 코드에 대응하는 설치 파일 및 데이터의 버전 정보를 요소 파일 선택 응답 메시지에 더 포함시킬 수 있음을 주의해야 한다.
터미널(200)은 수신된 USIM 서비스 테이블 데이터와 버전 정보를 참조하여 설치 가능한 서비스가 무엇인지 확인한다(S712).
예를 들면, 터미널(200)은 USIM 서비스 테이블 데이터를 이용하여 서비스 식별 코드 별 가용 여부를 확인하고, 가용한 서비스 식별 코드에 상응하는 파일 버전-여기서, 파일 버전은 스마트 카드(220)에 저장된 파일의 버전 정보임-이 기 터미널(200)에 탑재된 파일 버전 보다 최신인 경우 해당 파일의 전송을 스마트 카드에 요청할 수 있다.
상기한 712 단계의 확인 결과, 설치 가능한 서비스가 존재하는 경우, 해당 서비스에 상응하는 서비스 식별 코드를 포함하는 설치 파일 전송 요구 메시지를 스마트 카드(220)에 전송한다(S714).
스마트 카드(220)는 해당 서비스 식별 코드에 상응하는 서비스 파일 정보를 서비스 파일 정보 데이터베이스(240)으로부터 추출하고, 추출된 서비스 파일 정보를 포함하는 소정의 설치 파일 전송 응답 메시지를 터미널(200)에 전송한다(S716).
터미널(200)은 수신된 서비스 파일 정보를 소정의 기록 영역에 저장한 후(S718), 서비스 파일 정보에 포함된 설치 파일-여기서, 설치 파일은 미들웨어 및 응용 프로그램 중 어느 하나의 구동에 필요한 실행 파일일 수 있음-을 실행한 다(S720).
본 발명의 다른 일 실시예에 따르면, 터미널(200)은 상기한 712 단계에서 설치 가능한 서비스를 확인한 후, 사용자가 선택 가능하도록 구성된 소정의 서비스 선택 화면을 표시부에 출력할 수도 있음을 주의해야 한다. 이후, 터미널(200)은 사용자가 선택한 서비스에 상응하는 서비스 파일 정보를 스마트 카드(220)에 요청할 수 있다.
도 8은 본 발명의 일 실시예에 따른 터미널에서의 스마트 카드에 탑재된 프로그램을 로딩하는 방법을 설명하기 위한 순서도이다.
도 8에 도시된 바와 같이, 터미널(200)은 새로운 스마트 카드가 장착되거나, 터미널(200)의 전원이 인가되면, 스마트 카드 초기화를 수행한다(S802).
터미널(200)은 스마트 카드 초기화 절차가 완료되면, EF_UST를 선택하고(S804) 선택된 EF_UST에 저장된 USIM 서비스 테이블 데이터를 획득한다(S806).
터미널(200)은 획득된 USIM 서비스 테이블 데이터를 참조하여 설치 가능한 서비스가 존재하는지 여부를 판단한다(S808).
만약, 설치 가능한 서비스가 존재하는 경우, 터미널(200)은 해당 서비스에 상응하는 서비스 파일 정보를 스마트 카드로부터 획득한다(S810).
터미널(200)은 획득된 서비스 파일 정보를 소정의 기록 영역에 저장하고 서비스 파일 정보에 설치 파일이 포함된 경우, 해당 설치 파일을 실행한다(S812).
여기서, 터미널(200)은 미들웨어, 해당 미들웨어에 의해 제공될 수 있는 응 용 프로그램의 순으로 설치하는 것이 바람직하다.
도 9은 본 발명의 일 실시예에 따른 스마트카드에서의 터미널에 프로그램을 로딩하는 방법을 설명하기 위한 순서도이다.
도 9에 도시된 바와 같이, 스마트카드(220)는 터미널(200)의 제어 신호에 따라 초기화 절차를 수행한다(S902).
스마트카드(220)은 초기화 절차가 완료되면, 터미널(200)의 제어 신호에 따라 EF_UST를 선택하고 해당 요소 파일 선택이 성공했음을 지시하는 응답 메시지를 터미널(200)에 전송한다(S904).
스마트카드(220)는 터미널(200)로부터 USIM 서비스 테이블 데이터의 전송을 지시하는 요소 파일 전송 요구 메시지를 수신하면(S906) EEPROM으로부터 USIM 서비스 테이블 데이터를 추출하여 터미널(200)에 전송한다(S908).
스마트카드(220)는 서비스 식별 코드를 포함하는 소정의 서비스 파일 전송 요구 메시지가 수신되었는지 여부를 확인한다(S910).
확인 결과, 서비스 파일 전송 요구 메시지가 수신된 경우, 스마트카드(220)는 해당 서비스 식별 코드에 상응하는 서비스 파일 정보를 서비스파일정보데이터베이스(240)으로부터 추출하고(S912), 추출된 서비스 파일 정보를 터미널(200)에 전송한다(S914).
본 발명의 일 실시예에 따른 스마트카드(220)는 특정 서비스 파일 정보에 대해서는 EEPROM으로부터 추출할 수도 있음을 주의해야 한다.
일반적으로 EEPROM의 메모리 용량은 한정적이므로, 스마트 카드에서 제공할 수 있는 모든 파일 정보 및 데이터를 EEPROM상에 유지하는 것은 현실적으로 힘들다.
따라서, 비교적 큰 사이즈의 설치 파일 및 데이터는 별도의 대용량 메모리-예를 들면, NAND Flash 메모리-에 관리하는 것이 바람직할 수 있다.
여기서, 대용량 메모리는 상기한 도 2에 도신된 SC-DBMS(230)에 의해 관리될 수 있으며, 본 발명의 일 실시예에 따른 카드운용체제(224)는 전송 요청된 서비스 파일 정보가 EEPROM에 존재하지 않는 경우, 프로그램 로딩 에이전트(228)에 해당 서비스 식별 코드에 상응하는 서비스 파일 정보의 전송을 지시하는 제어 신호를 전송할 수 있다.
프로그램 로딩 에이전트(228)는 SC-DBMS(230)와의 연동을 통해 해당 서비스 파일 정보를 획득하고, 획득된 서비스 파일 정보를 터미널(200)에 전송할 수 있다.
도 10은 본 발명의 일 실시예에 따른 스마트 카드의 내부 블록도이다.
도 10에 도시된 바와 같이, 본 발명에 따른 스마트 카드(910)는 스마트카드데이터베이스관리시스템(Smart Card Database Management System:SC-DBMS, 230), 카드운용체제(Card Operating System:COS, 224), 서비스파일정보주소테이블(1010), 서비스파일정보데이터베이스(240), ROM(Read Only Memory, 1030), RAM(Random Access Memory, 1040), EEPROM(Electrically- Erasable Programmable Read-Only Memory, 1050) 및 스마트카드인터페이스(SC I/F, 1020) 및 프로그램 로딩 에이전 트(Program Loading Agent, 228)을 포함할 수 있다.
여기서, 스마트카드인터페이스(1020)는 ISO 7816에 정의된 전기적, 물리적 특성을 지원하는 양방향 시리얼 통신 인터페이스 및 USB 통신 인터페이스를 제공할 수 있다. 또한, 스마트카드인터페이스(1020)는 NFC(Near Field Communicaiton) 모듈과의 통신 인터페이스를 제공하는 RF 인터페이스를 더 지원할 수 있다.
터미널(200)은 터미널 하드웨어(202)에 구비된 터미널인터페이스(Terminal I/F, 1060), HAL(Handset Abstraction Layer, 204), 터미널운용체제(206) 및 로더(Loader, 208)를 포함할 수 있다. 여기서, 터미널(200)은 기본적인 통신 기능과 관련된 일부 응용 프로그램을 더 포함할 수 있음을 주의해야 한다.
예를 들면, 이동 통신 서비스 사업자 및 단말기 제조사에 의해 상이하게 탑재될 수 있는 무선 인터넷 서비스에 상응하는 미들웨어 및 응용 프로그램은 로더(208)가 스마트카드(220)로부터 획득하여 터미널(200)에 설치하는 것이 바람직하다.
HAL(204)는 터미널운용체제(206)와 터미널하드웨어(202) 사이의 인터페이스 표준으로서, 터미널 하드웨어(202)에 종속되지 않고, 터미널운용체제(206)를 손쉽게 포팅(porting)할 수 있는 환경을 제공한다.
본 발명에 따른 카드운용체제(224)는 터미널(200)로부터 수신되는 제어 신호에 따라 USIM 서비스 테이블 요소 파일을 선택하고, 선택된 요소 파일에 포함된 USIM 서비스 테이블 데이터를 추출하여 터미널(200)에 제공하는 기능을 수행한다.
또한, 카드운용체제(224)는 터미널(200)에 의해 전송 요청된 서비스 파일 정 보가 EEPROM(1050)상에 존재하는지 여부를 확인하고, 확인 결과에 따라 EEPROM(1050)으로부터 해당 서비스 파일 정보를 추출하거나, 프로그램 로딩 에이전트(228)로 해당 서비스 파일 정보의 추출을 지시할 수 있다.
프로그램 로딩 에이전트(228)는 카드운용체제(224)의 제어 신호에 따라 SC-DBMS(230)와 연동하여 해당 서비스 파일 정보를 획득하고, 획득된 서비스 파일 정보를 카드운용체제(224)에 전달할 수 있다. 이때, 카드운용체제(224)는 소정의 응용 인터페이스를 통해 수신된 서비스 파일 정보를 터미널(200)에 전송할 수 있다.
SC-DBMS(230)는 스마트 카드에서 제공될 수 있는 서비스에 상응하는 서비스 파일 정보가 유지된 서비스파일정보데이터베이스(240)를 관리한다.
특히, SC-DBMS(230)는 프로그램 로딩 에이전트(228)의 제어 신호에 따라, 해당 서비스 식별 코드에 상응하는 서비스 식별 정보를 서비스파일정보주소테이블(1010)을 참조하여 획득하고, 획득된 서비스 식별 정보를 프로그램 로딩 에이전트(228)에 전달할 수 있다.
여기서, 서비스파일정보주소테이블(1010)은 서비스 식별 코드에 상응하여 서비스 파일 정보가 저장된 메모리-즉, 서비스파일정보데이터베이스(240)-상의 주소 정보를 포함할 수 있다.
즉, 서비스파일 정보주소테이블(1010)은 서비스 식별 코드 필드, 해당 서비스 식별 코드에 상응하는 서비스 파일 정보가 기록된 시작 주소가 저장된 시작 주소 필드, 해당 서비스 파일 정보의 크기를 저장하는 사이즈 필드 중 적어도 하나를 포함할 수 있다.
ROM(1030)은 프로그램을 저장하기 위한 읽기 전용 기억 장소로서, 카드운용체제(224)에 로딩될 프로그램 및 기본적인 API가 저장될 수 있다.
RAM(1040)은 완성된 스마트 카드의 마이크로 프로세서에서 보조 기억 장치로 사용하는 휘발성 메모리로서, 프로그램 실행 중에 생성되는 변수 및 데이터를 임시 저장하기 위한 기록 장치이다.
EEPROM(1050)은 스마트 카드 제조 후에도 카드내의 메모리 내용에 대한 읽기, 쓰기, 삭제 등이 가능하며, 응용 프로그램 소스 및 응용 프로그램 데이터를 저장하기 위한 용도로 사용될 수 있다.
일반적으로, EEPROM(1050)은 UICC 파일들을 저장하기 위한 용도로 사용된다. 하지만, EEPROM(1050) 메모리 용량이 제한적이며, 이에 따라 스마트 카드에서 제공할 수 있는 모든 응용 프로그램 소스, 미들웨어 소스 및 해당 소스와 관련된 각종 데이터 파일을 저장할 수 없는 단점이 있다.
따라서, 본 발명의 일 실시예에 따르면, 파일 사이즈가 작고, 잦은 조회나 변경이 필요한 데이터는 EEPROM(1050)에 유지하고, 파일 사이즈가 크고, 비교적 조회나 변경 횟수가 적은 데이터는 플래시 메모리 형태의 기록 매체에 파일 시스템이 구성된 데이터베이스-예를 들면, 서비스파일정보데이터베이스(240)-를 통해 관리되는 것이 바람직하다.
예를 들면, EEPROM(1050)은 기본적인 통신 서비스와 관련된 프로그램 소스 및 데이터가 저장될 수 있으며, 무선 인터넷 서비스와 관련된 프로그램 소스와 데이터는 서비스파일정보데이터베이스(240)에 유지하는 것이 바람직하다.
도 11 내지 도 12는 본 발명의 일 실시예에 따른 USIM 서비스 테이블 데이터 구조를 설명하기 위한 도면이다..
EF_UST 요소 파일(1110)에 포함되는 USIM 서비스 테이블 데이터(1120)는 특정 서비스 식별 코드에 상응하는 서비스가 해당 스마트 카드를 통해 제공 가능한지 여부를 판별하기 위한 식별 플래그 정보만을 포함함을 주의해야 한다.
현재 3GPP 표준에 정의된 EF_UST는 총 9바이트(bytes)로 구성되어 있으며-즉, 도 11에 도시된 N값은 9일 수 있음-, 각 바이트에 포함된 비트(bit)는 특정 서비스 식별 코드와 일대일 대응 관계가 성립될 수 있다.
예를 들면, 도 11에 도시된 도면 번호 1121-이하, '제1 서비스 플래그 필드'이라 함-은 서비스 식별 코드 값이 1일 수 있으며, 로컬 폰 북 서비스(Local Phone Book Service)와 관련될 수 있다. 만약, 제1 서비스 플래그 필드의 값이 1로 설정된 경우, 이는 로컬 폰북 서비스가 스마트 카드에서 지원됨을 의미하며, 0으로 설정된 경우는 로컬 폰북 서비스가 스마트 카드에서 지원되지 않음을 의미할 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 UMTS 시스템에서의 UE의 구조를 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 터미널 및 스마트 카드의 구조를 설명하기 위한 도면.
도 3은 본 발명에 따른 터미널과 스마트카드사이의 통신 메커니즘을 설명하기 위한 도면.
도 4는 종래 기술에 따른 APDU 명령 메시지 구조.
도 5는 종래 기술에 따른 APDU 응답 메시지의 구조.
도 6은 ISO 7816 표준에 정의된 스마트 카드와 터미널간의 통신을 하기 위한 기본 명령어를 설명하기 위한 도면.
도 7은 본 발명의 일 실시예에 따른 스마트 카드에 탑재된 프로그램을 로딩하는 방법을 설명하기 위한 흐름도.
도 8은 본 발명의 일 실시예에 따른 터미널에서의 스마트 카드에 탑재된 프로그램을 로딩하는 방법을 설명하기 위한 순서도.
도 9은 본 발명의 일 실시예에 따른 스마트카드에서의 터미널에 프로그램을 로딩하는 방법을 설명하기 위한 순서도.
도 10은 본 발명의 일 실시예에 따른 스마트 카드의 내부 블록도.
도 11 내지 도 12는 본 발명의 일 실시예에 따른 USIM 서비스 테이블 데이터 구조를 설명하기 위한 도면.
*주요 도면 부호
200 : 터미널
208 : 로더(Loader)
210 : 미들웨어(Middleware)
212: 응용 프로그램
220 : 스마트 카드
224 : 카드운용체제
228 : 프로그램 로딩 에이전트(Program loading Agent)
230 : 스마트카드데이터베이스관리시스템
240 : 서비스파일정보관리데이터베이스
1050 : EEPROM
1110 : USIM 서비스 테이블 요소 파일(EF_UST)
1120 : USIM 서비스 테이블 데이터

Claims (14)

  1. 터미널에서 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 방법에 있어서,
    상기 스마트 카드에서 제공 가능한 서비스의 종류가 무엇인지를 확인하는 가용 서비스 확인 단계;
    상기 가용한 서비스 중 상기 터미널에 탑재 가능한 서비스를 선택하는 서비스 선택 단계;
    상기 선택된 서비스에 상응하는 서비스 파일을 상기 스마트 카드로부터 획득하는 서비스 파일 획득 단계; 및
    상기 획득된 서비스 파일을 이용하여 상기 선택된 서비스를 위한 프로그램을 설치하는 단계
    를 포함하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  2. 제1항에 있어서,
    상기 가용 서비스 확인 단계는
    상기 스마트 카드에 저장된 USIM 서비스 테이블 요소 파일을 선택하는 단계; 및
    상기 선택된 USIM 서비스 테이블 요소 파일에 저장된 USIM 서비스 테이블 데 이터를 획득하는 단계
    를 포함하되, 상기 USIM 서비스 테이블 데이터를 통해 상기 스마트 카드에서 제공 가능한 서비스를 식별하는 것을 특징으로 하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  3. 제2항에 있어서,
    상기 USIM 서비스 테이블 데이터는 복수의 바이트(Bytes)로 구성되며, 상기 바이트를 구성하는 각각의 비트는 해당 비트에 대응하는 서비스가 제공 가능한지 여부를 지시하기 위한 서비스 플래그 필드인 것을 특징으로 하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  4. 제2항에 있어서,
    상기 가용 서비스 확인 단계는 상기 스마트 카드에 저장된 서비스 파일의 버전 정보를 획득하는 단계를 더 포함하되, 상기 버전 정보에 따라 해당 서비스 파일의 로딩 여부를 결정하는 것을 특징으로 하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  5. 제1항에 있어서,
    상기 서비스 파일 획득 단계는
    상기 선택된 서비스에 대응하여 미리 정의된 서비스 식별 코드를 포함하는 서비스 파일 전송 요구 메시지를 상기 스마트 카드에 전송하는 단계; 및
    상기 서비스 식별 코드에 상응하여 독출된 서비스 파일을 상기 스마트 카드로부터 수신하는 단계
    를 포함하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  6. 제5항에 있어서,
    상기 수신된 서비스 파일은 프로그램 소스 파일 및 해당 소스 파일의 실행에 필요한 데이터 파일을 포함하는 것을 특징으로 하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  7. 제6항에 있어서,
    상기 프로그램 소스 파일은 미들웨어 플랫폼 및 상기 미들웨어 플랫폼을 통해 실행되는 응용 프로그램 중 어느 하나에 대응하는 파일인 것을 특징으로 하는 터미널에서의 스마트 카드에 저장된 서비스 파일 로딩 방법.
  8. 제7항에 있어서,
    상기 미들웨어 플랫폼은 무선 인터넷 서비스를 제공하기 위한 플랫폼인 것을 특징으로 하는 스마트 카드에 저장된 서비스 파일 로딩 방법.
  9. 대용량 메모리 및 EEPROM이 구비된 스마트 카드에서 터미널에 탑재될 서비스 파일을 전송하는 방법에 있어서,
    상기 터미널의 요청에 따라 상기 스마트 카드에서 제공 가능한 서비스의 종류를 지시하는 USIM 서비스 테이블 데이터를 상기 EEPROM으로부터 추출하여 상기 터미널에 전송하는 단계; 및
    소정의 서비스 식별 코드를 포함하는 서비스 파일 전송 요구 메시지가 수신되면, 해당 서비스 식별 코드에 상응하는 서비스 파일을 상기 대용량 메모리로부터 추출하여 상기 터미널에 전송하는 단계
    를 포함하는 스마트 카드에서 터미널에 탑재될 서비스 파일을 전송하는 방법.
  10. 제9항에 있어서,
    상기 전송할 서비스 파일의 크기에 따라 ISO 7816 시리얼 통신 인터페이스, USB 통신 인터페이스 중 어느 하나의 인터페이스를 통해 상기 추출된 서비스 파일을 상기 터미널에 전송하는 것을 특징으로 하는 스마트 카드에서 터미널에 탑재될 서비스 파일을 전송하는 방법.
  11. 터미널에서 스마트 카드에 저장된 서비스 파일을 로딩(Loading)하는 장치에 있어서,
    상기 스마트 카드에서 제공 가능한 서비스의 종류가 무엇인지를 확인하는 가용 서비스 확인 수단;
    상기 가용한 서비스 중 상기 터미널에 탑재 가능한 서비스를 선택하는 서비스 선택 수단;
    상기 선택된 서비스에 상응하는 서비스 파일을 상기 스마트 카드로부터 획득하는 서비스 파일 획득 수단; 및
    상기 획득된 서비스 파일을 이용하여 상기 선택된 서비스를 위한 프로그램을 설치하는 수단
    을 포함하는 스마트 카드에 저장된 서비스 파일 로딩 장치.
  12. 제11항에 있어서,
    상기 가용 서비스 확인 수단은
    상기 스마트 카드에 저장된 USIM 서비스 테이블 요소 파일을 선택하는 수단; 및
    상기 선택된 USIM 서비스 테이블 요소 파일에 저장된 USIM 서비스 테이블 데이터를 획득하는 수단
    를 포함하되, 상기 USIM 서비스 테이블 데이터를 통해 상기 스마트 카드에서 제공 가능한 서비스를 식별하는 것을 특징으로 하는 스마트 카드에 저장된 서비스 파일 로딩 장치.
  13. 제11항에 있어서,
    상기 서비스 선택 수단은
    상기 가용한 서비스 중 상기 터미널에 이미 탑재된 서비스가 존재하는지 확인하는 수단; 및
    상기 이미 탑재된 서비스가 존재하는 경우, 상기 가용한 서비스에 상응하는 서비스 파일의 버전과 상기 터미널에 탑재된 서비스 파일의 버전을 비교하는 수단
    을 포함하는 스마트 카드에 저장된 서비스 파일 로딩 장치.
  14. 터미널에 초기 프로그램 로딩 서비스를 제공하는 스마트 카드에 있어서,
    상기 스마트 카드에서 제공 가능한 서비스의 종류를 식별할 수 있는 USIM 서 비스 테이블 요소 파일이 저장된 EEPROM;
    상기 터미널의 명령에 따라 상기 EEPROM으로부터 USIM 서비스 테이블 데이터를 추출하여 상기 터미널에 제공하고, 상기 터미널에 의해 요청된 서비스 파일의 전송을 프로그램 로딩 에이전트(Program Loading Agent)에 지시하는 카드운용체제; 및
    상기 카드운용체제의 제어 신호에 따라, 대용량 메모리로부터 상기 전송 요청된 서비스 파일을 추출하여 상기 터미널에 전송하는 프로그램 로딩 에이전트
    를 포함하는 스마트 카드.
KR1020070122956A 2007-11-29 2007-11-29 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치 KR100901871B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070122956A KR100901871B1 (ko) 2007-11-29 2007-11-29 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070122956A KR100901871B1 (ko) 2007-11-29 2007-11-29 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20090056019A KR20090056019A (ko) 2009-06-03
KR100901871B1 true KR100901871B1 (ko) 2009-06-09

Family

ID=40987469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070122956A KR100901871B1 (ko) 2007-11-29 2007-11-29 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100901871B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9408066B2 (en) 2010-12-06 2016-08-02 Gemalto Inc. Method for transferring securely the subscription information and user data from a first terminal to a second terminal
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
KR101320505B1 (ko) * 2011-09-09 2013-10-22 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US10140800B2 (en) 2012-01-30 2018-11-27 Intuit Inc. Remote configuration of EMV terminals

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070015679A (ko) * 2005-08-01 2007-02-06 에스케이 텔레콤주식회사 스마트 칩 및 이를 이용한 이동통신 단말 제어 방법
KR20070094167A (ko) * 2006-03-16 2007-09-20 삼성전자주식회사 이동 단말기에서 메모리를 이용한 멀티 운영 체제 구동장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070015679A (ko) * 2005-08-01 2007-02-06 에스케이 텔레콤주식회사 스마트 칩 및 이를 이용한 이동통신 단말 제어 방법
KR20070094167A (ko) * 2006-03-16 2007-09-20 삼성전자주식회사 이동 단말기에서 메모리를 이용한 멀티 운영 체제 구동장치 및 방법

Also Published As

Publication number Publication date
KR20090056019A (ko) 2009-06-03

Similar Documents

Publication Publication Date Title
CN102308561B (zh) 通过uicc进行的me网络参数配置
US9043936B2 (en) Communications device
US8914489B2 (en) Method of personalizing an application embedded in a secured electronic token
US10231118B2 (en) Method for performing a remote management of a multi-subscription SIM module
US8814051B2 (en) Personal token having enhanced communication abilities for a hosted application
US7481373B2 (en) Triggering a proactive session from an applet in a smart card
EP1733580A1 (en) Updating of the preferred roaming list (prl) in a sim (subscriber identity module) / ruim (removable user identity module) card.
CN100391279C (zh) 更新无线电通信模块执行的主程序的方法
KR100901871B1 (ko) 스마트 카드를 이용한 프로그램 로딩 방법 및 그 장치
KR100921150B1 (ko) 사용자 식별 모듈 카드를 이용한 이동통신단말기의 어플리케이션 관리 방법
US20220286861A1 (en) Subscriber Identity Module (SIM) Remote Update Agent
KR100986835B1 (ko) 대용량 스마트 카드를 이용한 개인 정보 관리 서비스 제공방법 및 장치
EP3550427A1 (en) Method for managing multiple operating systems in integrated circuit cards, corresponding system and computer program product
KR20090054824A (ko) 대용량 메모리를 가지는 스마트카드를 이용한 신용카드결제 방법 및 그 장치
KR100951949B1 (ko) 스마트 카드에서의 데이터베이스 관리 시스템을 이용한정보 관리 방법 및 장치
KR100957638B1 (ko) 스마트 카드에서의 정보 관리 방법 및 장치
US20080194295A1 (en) Method of providing universal platform for application program of communication terminals
US20160286515A1 (en) Conflict detection
KR20090046089A (ko) 스마트 카드 sql 번역기
KR100754689B1 (ko) 이동통신 단말기의 개인 정보를 서버에 저장 및다운로드하는 시스템 및 방법
CN109547999B (zh) 一种管理集成电路卡的方法、相应的卡和装置
KR20050075494A (ko) 무선통신단말기에서의 무선응용프로토콜 프로파일 설정 방법
JP2022050940A (ja) ドライバプログラム、及びトランザクション仲介方法
CN116437334A (zh) 网络服务存取方法及其相关移动终端装置
KR100703456B1 (ko) 이동식 디스크를 이용한 어플리케이션 코드 실행을 위한이동통신단말기

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160609

Year of fee payment: 8