KR101875222B1 - 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러 - Google Patents

호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러 Download PDF

Info

Publication number
KR101875222B1
KR101875222B1 KR1020110094387A KR20110094387A KR101875222B1 KR 101875222 B1 KR101875222 B1 KR 101875222B1 KR 1020110094387 A KR1020110094387 A KR 1020110094387A KR 20110094387 A KR20110094387 A KR 20110094387A KR 101875222 B1 KR101875222 B1 KR 101875222B1
Authority
KR
South Korea
Prior art keywords
gate
card
service
aid
host controller
Prior art date
Application number
KR1020110094387A
Other languages
English (en)
Other versions
KR20130030852A (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 KR1020110094387A priority Critical patent/KR101875222B1/ko
Publication of KR20130030852A publication Critical patent/KR20130030852A/ko
Application granted granted Critical
Publication of KR101875222B1 publication Critical patent/KR101875222B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

UICC(Universal Integrated Circuit Card) 호스트, 호스트 컨트롤러를 포함하되 여러 RF 기술을 지원하는 단말장치에서의 서비스 충돌 방지 방법과 그를 위한 단말장치 및 호스트 컨트롤러로서, 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하고, 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신한 경우, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단함으로써 서비스 애플리케이션의 충돌을 방지할 수 있다.

Description

호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러 {Service Anti-Collision Method for Host Controller Interface, Equipment, Booting Method and Host Controller therefor}
본 명세서는 UICC(Universal Integrated Circuit Card; 이하 ‘UICC’라 함) 를 포함하는 단말장치에서 호스트 컨트롤러 인터페이스(HCI) 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러에 관한 것이다.
최근 근거리 무선통신의 한 방식으로서 NFC가 논의되고 있는 바, NFC 통신은 NFC 모듈을 장착한 단말(이하, NFC 단말이라 함) 사이에서 13.56MHz 주파수 대역(14kHz의 대역폭)을 이용해 최대 10센티미터 이하의 근접 거리에서 최대 424Kbps 전송속도로 데이터를 송수신하는 기술이다.
NFC통신은 크게 카드 에뮬레이션 모드(Card Emulation Mode), P2P 모드, 리더/라이터(Reader/Writer) 모드의 3가지 모드로 동작하도록 정의된다.
이러한 NFC 기술은 단일 기기 내부에서 스마트 카드와 리더 사이의 통신을 제공하는 ISO/IEC 14443 접근 카드 표준의 확장형 기술이다.
이러한 NFC통신의 3가지 동작 모드 중 카드 에뮬레이션(Card Emulation) 모드는 NFC 탑재 단말이 NFC 태그(Tag)처럼 외부 RF 리더장치(일명, 동글)에 인식됨으로써 서비스가 제공되는 방식이다 (예, 신용카드, 교통카드 등).
일부RF 리더장치는 리더의 자체적인 RF 기술 호환성 제공을 위해 동일 서비스를 복수의 RF 기술로 접근하는 방식을 채택하고 있다. 이로 인해, NFC 탑재 단말이 복수의 RF 기술 기반 카드 에뮬레이션 모드를 지원할 경우, 서비스 로직에 따라 “중복 카드” 오류가 발생하는 사례가 발생한다 (예, 교통카드).
한편, GSM 및 UMTS(Universal Mobile Telecommunication System)와 같은 무선 통신 시스템에서 스마트 카드로 사용되는 것으로서 UICC또는 USIM(Universal Subscriber Identity Module) 등이 있으며, 이러한 UICC 또는 USIM은 모든 종류의 개인 정보의 통합 및 보안을 담당하는 것으로서 통상 수백 KByte 이상의 용량을 가진다.
UICC는 GSM 네트워크에서는 SIM(Subscriber Identity Module) 애플리케이션을 포함하고, UMTS 네트워크에서는 USIM(Universal Subscriber Identity Module) 애플리케이션을 포함하며, 그 외에도 GSM 및 UMTS 네트워크 모두에 접속할 수 있는 애플리케이션이나, 주소록(Phonebook) 또는 다른 애플리케이션의 저장 공간으로 사용될 수 있다.
한편, UICC를 포함하는 단말에서는, UICC 호스트와 터미널 호스트 사이의 제어를 위하여 호스트 컨트롤러가 사용되고 있는데, 이를 호스트 컨트롤러 또는 호스트 컨트롤러 인터페이스(Host Controller Interface; 이하 ‘HCI’라고도 함)라고 정의할 수 있으며, 이러한 HCI에 대한 여러 기술들은 ETSI의 표준인 TS 102. 622 등에 규정되어 있다.
그러나, 전술한 바와 같이, 현재 HCI와 관련하여 정의된 여러 기술에 의하면, 카드 에뮬레이션을 위한 복수 RF 기술을 제공하는 NFC 단말이 복수 RF 기술을 지원하는 RF 리더장치에 접촉했을 경우, 충돌 또는 중복 카드라는 오류가 발생할 수 있다는 문제가 있다.
본 발명의 일 실시예는 호스트(UICC)와 호스트 컨트롤러를 포함하는 단말장치에서, 여러 RF 기술을 지원할 때 서비스 애플리케이션의 충돌을 방지하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예는 현재 실행중인 서비스 애플리케이션 식별정보와 RF 게이트 식별정보를 포함하는 기선택 서비스/RF파라미터를 정의하고 관리하는 것을 목적으로 한다.
본 발명의 실시예는 단말의 부팅시에 호스트 컨트롤러 내의 다수의 카드 RF 게이트와 관리 게이트 사이에 파이프(Pipe)를 생성하고, 외부로부터의 서비스 요청시 기선택 서비스/RF파라미터에 따라 해당 서비스의 인증을 수행하는 것을 목적으로 한다.
전술한 과제를 달성하기 위해, 본 명세서의 일 실시예는 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트 및 2 이상의 카드 애플리케이션 게이트, 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치로서, 상기 단말의 부팅시에, 상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하는 단말장치 및 부팅방법을 제공한다.
본 발명의 다른 실시예에 의하면, 하나의 관리게이트와 1 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 1 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치로서, 상기 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하고, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단하는 단말장치 및 서비스 충돌 방지 방법을 제공한다.
본 발명의 다른 실시예에 의하면, 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 2 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치에서, 상기 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하고, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 1) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)의 초기값 여부 또는
2) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)의 동일 여부 및 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 RF 게이트 식별정보(GATE ID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호를 수신한 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일한지 여부를 판단하고, 상기 1)에서 초기값이거나, 상기 2)에서 동일한 것으로 판단된 경우에 한하여 해당되는 서비스 애플리케이션을 실행하는 단말장치 및 서비스 충돌방지 방법을 제공한다.
본 발명의 다른 실시예에 의하면, 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 2 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치로서, 상기 호스트 컨트롤러의 관리게이트를 위한 레지스트리에는 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 저장하는 단말장치를 제공한다.
본 발명의 다른 실시예에 의하면, NFC(Near Filed Communication) 단말 장치에 포함되어 UICC(호스트)를 제어하는 호스트 컨트롤러로서, 상기 호스트 컨트롤러는 하나의 관리게이트와, 그와 파이프로 연결된 2 이상의 카드 RF 게이트를 포함하며, 상기 호스트 컨트롤러의 관리게이트는 카드 RF 게이트의 요청에 따라 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트로부터 추출하여 전송하거나 업데이트 하는 호스트 컨트롤러를 제공한다.
도 1은 카드 에뮬레이션을 위한 호스트 컨트롤러(단말의 CLF)와 호스트(UICC)의 구조를 도시한다.
도 2는 본 발명의 일 실시예에 의한 NFC 단말과 UICC 호스트 내부 구조를 도시한다.
도 3a 및 도 3b는 각각 본 발명의 일 실시예가 적용되는 HCP 패킷 및 HCP 메시지의 구성의 일 예를 도시한다.
도 4는 본 발명의 일 실시예에 적용될 수 있는, 서비스 애플리케이션이 구동되는 과정에서 카드 RF 게이트와 카드 애플리케이션 게이트 사이의 데이터 흐름을 도시한다.
도 5는 본 발명의 일 실시예에 의한 단말 부팅 과정의 흐름을 도시한다.
도 6은 본 발명에 의한 단말에서의 서비스 충돌 방지 방법에 대한 흐름도이다.
이하, 본 명세서에서는 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한 본 명세서는 무선 통신 시스템을 일 예로 설명하며, 무선 통신에서 이루어지는 작업은 해당 무선 통신을 관할하는 시스템과 상기 시스템과 데이터를 송신하는 무선 통신 기기에서 수행되는 모든 작업등을 포함함을 특징으로 한다.
NFC 기술은 단말과 UICC 간의 SWP (Single Wired Protocol)과 HCI (Host Controller Interface)를 통해 카드 에뮬레이션 모드를 제공한다. SWP는 물리적 계층과 MAC 계층을 제공하며, HCI는 실질적으로 NFC 단말과 외부 간의 데이터를 주고 받는 NFC 카드 에뮬레이션 상의 네트워크 계층을 제공한다.
NFC 카드 에뮬레이션 모드 기반 서비스는 버스, 신용카드 가맹점 등에 부착된 RF 리더장치(일명, 동글)가 일정 주기로 RF 리더장치가 지원하는 RF 기술 (예, ISO14443 Type A 등)을 통해 NFC 단말의 UICC 내 서비스 어플리케이션 (예를 들면, 애플릿)을 선택(SELECT)하고, 이에 대한 NFC 단말 (UICC)의 응답을 토대로 이후 동작을 수행함으로써 제공된다. ETSI TS 102.622에서는 이와 같은 HCI 기반의 NFC 단말과 UICC 간의 연동을 정의하고 있으며, ETSI TS 102.705는 UICC 내의 서비스 어플리케이션에서 HCI의 세부적인 RF 기술을 제어할 수 있는 API (Application Programming Interface)를 제공한다.
ETSI TS 102.622에 의하면 HCI 기술은 호스트(Host), 게이트(Gate), 파이프(Pipe) 그리고 레지스트리(Registry)로 구성된다.
호스트는 단말의 CLF와 UICC 등을 의미하며, CLF를 터미널 호스트, UICC를 UICC 호스트 등으로 표현할 수 있을 것이다.
이러한 호스트 내에는 다양한 게이트들이 존재하고, 게이트와 게이트는 파이프를 통해 연결이 성립됨으로써, 이벤트와 명령 등의 송수신을 수행한다. 각 게이트에는 레지스트리가 존재하여 필요한 정보를 저장하고 요청에 대해 응답하는 기능을 수행한다.
호스트 컨트롤러(단말의 CLF)와 호스트(UICC)는 1개의 관리 게이트(administration gate)를 보유하고 있으며, 제공해야 하는 카드 에뮬레이션 상의 RF 기술의 종류에 따라 복수 개의 카드 RF 게이트(단말측 또는 호스트 컨트롤러 측) 및 카드 애플리케이션 게이트(Card Application Gate) (UICC측 또는 호스트측)를 단말 부팅 과정에서 생성하고 초기화 한다.
도 1은 카드 에뮬레이션을 위한 호스트 컨트롤러(단말의 CLF)와 호스트(UICC)의 구조를 도시한다.
세부적인 ETSI TS 102.622에서 정의한 호스트 컨트롤러(단말의 CLF)와 호스트(UICC) 사이의 카드 에뮬레이션을 위한 RF 기술의 구조는 도 1과 같으며, 도 1에서와 같이, 호스트 컨트롤러(100)측에는 다수의 RF 기술(타입 A, B, B’ D)에 따라 각각의 카드 RF 게이트 들(111 내지 114)을 포함하고 있다.
또한, 호스트 측(120)에는 각각의 RF 기술과 관련된 응용 애플리케이션(예를 들면, 뱅킹, 여러 타입의 교통카드 서비스 등)이 존재하고, 각 애플리케이션과 연결된 각 RF 기술 타입의 애플리케이션 선택부(Application Selection)가 존재하며, 각 애플리케이션 선택부는 해당되는 카드 애플리케이션 게이트(121 내지 124)가 존재한다.
또한, 호스트 컨트롤러측의 각 카드 RF 게이트(111~114)는 파이프를 통해서 각각에 대응되는 호스트측의 카드 애플리케이션 게이트와 연결되어 있다.
한편, NFC 상의 RF 기술들은 전혀 새로운 기술이 아닌 기존에 신용카드, 교통카드 등에서 활용되던 기술이다. 이런 RF 기술은 다양하게 존재하며, 특정한 RF 리더장치 들은 RF 기술 간의 호환성 확보를 위해 하나의 RF 리더장치에서 복수의 RF 기술을 기반으로 특정 서비스 어플리케이션을 선택(SELECT) 하도록 상용화 되어 있다.
따라서, 도 1과 같은 구조에서는 카드 에뮬레이션을 위한 복수 RF 기술을 제공하는 NFC 단말이 복수 RF 기술을 지원하는 RF 리더장치에 접촉했을 경우, 충돌 또는 중복 카드라는 오류가 발생될 수 있다.
예를 들면, 신용카드 업계에서 활용되는 PPSE를 통해 주카드 설정된 신용카드를 선택하거나, ETSI TS 102.705의 HCI API를 활용하여 서비스 어플리케이션이 개발되거나 수정된다면 “중복 카드” 오류를 발생하지 않을 수 있으나 이는 NFC 기술의 호환성 그리고 확장성 측면에서 저해요소가 될 수 있다. 또한, 모든 RF 리더장치가 NFC 환경에 적합하게 수정하는 것도 비용적 그리고 서비스 확장성 측면에서 문제가 될 수 있다.
또한, 모든 서비스 어플리케이션을 HCI API를 활용하도록 수정하는 데에는 한계가 있으며, 모든 NFC UICC를 HCI API를 지원하도록 하는 데에도 한계가 있다. 이에 범용적이면서도 기존 RF 인프라를 호환성 있게 활용하는 방안이 필요하다.
본 발명은 이러한 점을 해결하기 위한 것으로서, 호스트 컨트롤러(단말의 CLF) 내의 관리 게이트와 카드 RF 게이트 사이에 HCI 연결(파이프 생성)을 추가하고, 특정한 RF 기술을 통해 특정한 서비스 어플리케이션 (예를 들면, 애플릿)이 선택(SELECT) 된 경우, 그 이후 다른 RF 기술을 통해 동일 서비스 어플리케이션에 대한 선택(SELECT) 명령이 올 경우 이를 UICC호스트로 전송하지 않도록 함으로써 서비스 충돌을 방지하는 기술을 제안한다.
좀 더 구체적으로 설명하면, 본 발명의 일 실시예에서는 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트 및 2 이상의 카드 애플리케이션 게이트, 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치를 제공하되, 단말의 부팅시에, 상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성할 수 있다. 또한, 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하고, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단할 수 있다.
이를 위하여, 호스트 컨트롤러의 관리게이트를 위한 레지스트리에는 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 저장할 수 있으며, 호스트 컨트롤러의 관리게이트는 카드 RF 게이트의 요청에 따라 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트로부터 추출하여 전송하거나 업데이트할 수 있다.
도 2는 본 발명의 일 실시예에 의한 NFC 단말과 UICC 호스트 내부 구조를 도시한다.
본 발명의 일 실시예에 의한 NFC 단말(200)은 호스트 컨트롤러(210) 또는 단말의 CLF와 UICC 호스트(220)를 포함하여 구성된다.
호스트 컨트롤러 내에는 하나의 관리게이트(211)가 존재하며, 관리게이트 하부에는 1 이상의 RF 타입별 카드 RF 게이트(212~214)가 포함된다. 이러한 호스트 컨트롤러는 단말의 CLF로서 NFC 콘트롤러 등 다른 용어로 표현될 수도 있을 것이다.
또한, 호스트 컨트롤러(210) 내부의 관리게이트(211)와 각 RF 타입별 카드 RF 게이트(212~214) 사이에는 HCI의 이벤트 및 명령 등을 송수신할 수 있는 통신 기능이 부여되며, 구체적으로는 HCI 표준에 따른 파이프로 서로 연결될 수 있다.
또한, UICC 호스트(220) 내부에는 역시 하나의 관리 게이트(221)와, 1 이상의 RF 타입별 카드 애플리케이션 게이트(222~224)가 포함되어 있으며, 1 이상의 RF 타입 기술을 이용하여 특정 애플리케이션을 구동할 수 있는 서비스 애플리케이션(225; AID; Applet ID)가 존재한다.
도 2에서는 RF 타입으로서 1번 내지 3번의 3가지 종류가 있는 것으로 도시하고, 서비스 애플리케이션(225; AID)은 이러한 3가지 타입의 RF 기술 모두에 의해서 동작할 수 있는 것으로 가정한다.
또한, NFC 단말(200)의 외부에는 다수의 RF 기술을 통해서 특정한 서비스 애플리케이션을 선택(SELECT)하여 구동하는 RF 리더장치(220’)가 포함된다.
이러한 NFC 단말은 부팅시에 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하며, 아래에서 설명할 바와 같이, 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하고, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단할 수 있으며, 구체적인 방식은 아래의 도 5 및 도 6을 참고로 더 상세하게 설명한다.
HCI 기술 및 그에 따른 호스트, 게이트, 파이프 등의 구성에 대하여 구체적으로 설명하면 다음과 같다.
HCI는 UICC 상에 호스트된 비접촉(Contactless) 애플리케이션을 사용하도록 하는 논리 인터페이스를 의미한다. 특히, 단말의 비접촉 프론트 엔드(ContactLess Front-end; 이하 “CLF”라 함) 내에 내장(Embedded)되어 있는 호스트 컨트롤러에 연결된 UICC 내부에 장착된 호스트(즉, UICC 호스트)에 대한 제어를 수행하기 위한 것이다.
이러한 HCI는 크게 HCI 코어와 비접촉 플랫폼의 2부분으로 나누어 질 수 있으며, HCI 코어는 특정 애플리케이션과 독립적인 논리 인터페이스를 특정하며, 비접촉 플랫폼은 UICC 및 CLF를 사용하는 특정 비접촉 애플리케이션을 위한HCI 코어 구현에 관련된 것이다.
또한, HCI를 지원하기 위한 하위 레벨 프로토콜이 별도로 정의될 수 있으며, 그 일 예로서 SWP(Single Wire Protocol) 등이 있다.
본 명세서에서 모든 데이터의 길이(Length)는 특별한 언급이 없는 한 바이트(Byte) 단위이며, 각각의 바이트는 b8부터 b1까지로 표시(b8이 가장 좌측에 있는 가장 큰 비트임)된다. 16진수 값은 ‘1F’와 같은 단일 표현으로 지시된다.
본 발명의 일 실시예에서는 호스트, 즉 UICC가 물리적으로 호스트 컨트롤러에 연결되며, HCI는 호스트 사이의 인터페이스를 정의한다.
HCI 아키텍처는 게이트들의 집합, HCP(Host Controller Protocol) 메시징 메커니즘, HCP 라우팅 메커니즘의 크게 3가지 레벨로 정의되며, 각 게이트들은 명령(Command), 응답 및 이벤트들을 교환하고, HCP 라우팅 메커니즘은 필요한 경우 메시지들로 분할될 수 있다.
호스트 각각은 하위 레벨에서부터 임의의 물리 및 데이터 링크 레이어와 HCP 라우팅 레이어, HCP 메시징 레이어 및 게이트 레이어의 스택 구조를 가질 수 있다.
UICC 호스트인 경우 상기 임의의 물리 및 데이터 링크 레이어는 SWP 레이어가 될 수 있으며, 터미널 호스트 및 추가 호스트인 경우에는 호스트 컨트롤러와 물리 및 데이터 레이어 구조와 동일한 소정의 물리 및 데이터 링크일 수 있다.
호스트 컨트롤러는 물리 및 데이터 링크 레이어 및 HCP 라우팅 레이어에서 UICC 호스트와 터미널 호스트 사이에서 패킷 전송을 중개하는 기능을 수행하는 것으로서, UICC 호스트와의 접속을 위한 소정의 물리 및 데이터링크 레이어(SWP 레이어)를 포함하며 그 상부에 HCP 라우팅 레이어를 구비한다.
적절한 동작을 위하여, HCP는 그 하부에 데이터 링크 레이어를 구비하며, 데이터 링크 레이어(예를 들면 SWP)는 오류가 없고 순서에 의한 수신/전송이 바람직하고, 고유한 데이터 흐름 제어를 제공하며, 상부 레이어의 패킷을 데이터 링크 레이어에 고유한 최대 크기로 전달하며, 수신된 각 패킷의 크기를 상부 레이어로 보고하는 특성을 가진다.
한편, 게이트(Gate)는 각 호스트 내부에서 동작되는 서비스의 진입 포인트(Entry Point)를 제공한다. HCP는 게이트로 하여금 다른 호스트로부터 메시지를 교환할 수 있도록 하며, 게이트는 관리 게이트(Management Gate 또는 Administration Gate) 및 포괄 게이트(Generic Gate)의 2가지 종류가 있다.
관리 게이트는 호스트 네트워크의 관리를 위하여 사용되며, 포괄 게이트는 호스트 네트워크의 관리와는 무관하며 특성은 단지 HCI 코어 내에서만 정의된다.
게이트의 타입은 게이트 식별자(Gate Identifier)에 의하여 구분되며, 게이트 식별자는 아래 표 2와 같이 정의될 수 있다.
[표 1] 게이트 식별자의 일 예
Figure 112011072897144-pat00001
게이트 식별자는 호스트의 범위(‘10’에서 ‘FF’까지) 이내에서 고유하게 정의되거나, 모든 호스트(‘00’에서 ‘0F’)의 동일 게이트 타입과 동일한 값을 가질 수도 있다.
호스트와 게이트는 아래와 같은 특성을 가질 수 있다.
모든 호스트 및 호스트 컨트롤러는 하나의 관리 게이트(Administration Gate)를 가져야 하며, 모든 호스트는 하나의 링크 관리 게이트(Link Management Gate)를 가질 수 있고 호스트 컨트롤러는 반드시 하나의 링크 관리 게이트를 가져야 한다.
또한, 모든 호스트 및 호스트 컨트롤러는 하나의 아이덴터티 관리 게이트(Identity Management Gate)와 하나의 루프 백 게이트(Loop Back Gate)을 가져야 하며, 하나 이상의 포괄 게이트(Generic Gate)를 가질 수 있다.
본 발명의 일 실시예에서의 카드 RF 게이트와 카드 애플리케이션 게이트는 이러한 포괄 게이트의 한 종류일 수 있다.
한편, 2개의 게이트 사이의 논리적 통신 채널로서 ‘파이프(Pipe)’가 정의된다.
파이프는 정적 파이프(Static Pipe)와 동적 파이프(Dynamic Pipe)의 2가지 타입이 있으며, 정적 파이프는 항상 사용가능한 것으로서 별도로 생성될 필요가 없고 삭제(Delete)될 수도 없고, 동적 파이프는 생성 및 삭제될 수 있다.
파이프의 상태는 오픈(개방) 또는 폐쇄(클로즈) 상태일 수 있으며 호스트 전원이 다운되고 다시 업(Up)되는 경우까지 지속적으로 유지되어야 한다. 파이프의 상태는 호스트가 호스트 네트워크로부터 일시적으로 제거되고 다른 장치로 대체되지 않는 동안에는 지속적으로 남아있어야 한다. 생성 직후의 동적 파이프의 상태와 정적 파이프의 초기 상태는 항상 폐쇄(Close) 상태이어야 한다.
파이프 식별자(Pipe Identifier) PID는 7비트의 길이를 가지며 PID의 값은 라우팅 정보로서 HCP 패킷의 헤드내에서 사용된다. (이에 대해서는 후술한다) 정적 파이프의 파이프 식별자는 아래 표 3과 같이 미리 정의되어 있고, 동적 파이프의 파이프 식별자는 호스트 컨트롤러에 의해서 동적으로 할당된다.
[표 2] 정적 파이프 식별자(PID)
Figure 112011072897144-pat00002
정적 파이프는 항상 호스트의 게이트와 호스트 컨트롤러의 게이트를 연결하며, 동적 파이프는 다른 호스트들의 2개 게이트를 연결한다. 정적 파이프 및 동적 파이프는 표 3과 같이 다른 타입의 게이트들을 연결할 수 있으며 동적 파이프 식별자는 호스트 네트워크 내에서 고유하게 정의된다.
한편, 모든 게이트에 대해서 레지스트리 템플릿(Registry Templete)이 관련되어 있으며, 레지스트리 템플릿은 게이트 관련 파라미터를 정의한다. 파라미터는 1바이트로 구성되는 파라미터 식별자(Parameter Identifier)에 의해서 식별되며, 파라미터 식별자는 게이트의 범위 이내에서 고유하게 정의된다.
모든 게이트의 파라미터 식별자는 ‘00’에서 ‘EF’의 범위 이내에서 정의되며, ‘F0’ 내지 ‘FF’ 범위에 있는 파라미터 식별자는 전용 목적(Proprietary Purpose)으로 사용될 수 있다.
게이트와 연결된 각 파이프를 위해서 레지스트리의 새로운 인스턴스(Instance)가 생성되며, 파이프 생성시 모든 레지스트리 파라미터의 접속 권리 읽기-쓰기(Access Rights Read-Write) 또는 쓰기-전용(Write-Only) 파라미터는 디폴트 값으로 설정된다. 읽기 전용(Read-Only; RO) 파라미터는 디폴트 값과 상이한 적절한 값으로 설정될 수 있다.
호스트는 관련된 레지스트리를 관리할 책임이 있으며, 레지스트리의 지속성 및 디폴트 값은 각 레지스트리 디스크립션(Description)에 의해서 지시된다.
파이프가 삭제되면 그의 레지스트리 인스턴스 역시 삭제된다.
각 호스트들과 호스트 컨트롤러 사이에서 송수신되는 HCP 패킷은 도 3a와 같은 포맷을 가질 수 있다.
즉, 각 호스트들은 데이터 링크 레이어를 이용하여 도 3과 같은 형식의 HCP 패킷을 호스트 컨트롤러와 송수신할 수 있다.
HCP 패킷은 패킷 헤드와 메시지 영역으로 구분될 수 있으며, 패킷 헤드는 다시 1비트(b8)의 CB(Chaining Bit) 필드와 7비트(b7~b1)의 pID 필드로 구분될 수 있으며, 메시지 영역은 총 n바이트 필드값으로 구성될 수 있다.
CB 필드는 연결(Chaining) 비트로서 메시지 프래그멘테이션(Fragmentation)이 사용되는 경우가 아닌 한 1의 값을 가지며, pID는 파이프(Pipe) 식별자이다.
호스트 컨트롤러는 pID 필드값을 이용하여 패킷을 목적 호스트로 전달한다. 목적 호스트(Destination Host)는 해당 패킷을 목적 게이트로 전달하고, 이러한 메커니즘을 이용하여 파이프에 의해 연결된 임의의 2개 게이트가 메시지를 교환할 수 있게 된다.
도 3b는 HCP 메시지 구조의 일 예를 도시한다.
HCP 메시지는 하나의 지시(Instruction) 정보와 선택적으로 데이터들을 포함한다.
HCP 메시지는 8비트의 헤드와 n 바이트의 데이터로 구성될 수 있으며, 헤드는 다시 2비트(b8, b7)의 타입 필드와, 6비트(b6~b1)의 지시 필드로 구성될 수 있다.
타입 필드는 지시의 타입(Type)을 지시하기 위한 것이고, 지시 필드는 구체적인 지시 정보를 나타내기 위한 것이다.
지시의 타입의 종류로서는, 명령(Type value 0), 이벤트(Type value 1), 명령에 대한 응답((Type value 2) 등이 있으며, 타입 값(Type Value) 3은 향후 사용을 위하여 예약되어 있다.
지시 필드값은 명령, 이벤트 및 응답에 권한을 부여(Qualify)하며, 3가지 타입 모두 데이터를 전달할 수 있는 형태이다.
상기 도 3b의 HCP 메시지에 포함되는 지시 정보를 위한 데이터 필드 구조는 여러 표의 형태로 정의될 수 있다.
표3은 HCP 메시지에 포함될 수 있는 모든 종류의 명령(어)에 대한 리스트로서, 각 명령어의 의미는 모든 게이트들에서 동일하게 적용된다.
[표 3] HCP 메시지에 포함되는 명령
Figure 112011072897144-pat00003
표 3에서와 같이 명령은 모든 게이트에 대해서 적용되는 포괄 명령(Generic Command)과, 호스트 네트워크의 관리를 위하여 필요한 관리 명령(Administration Command)로 구분될 수 있다.
표3에 정의된 포괄 명령인 ANY_SET_PARAMETER, ANY_GET_PARAMETER, ANY_OPEN_PIPE 및 ANY_CLOSE_PIPE의 의미(Description)와 길이(Length) 등의 속성에 대해서는 설명을 생략하며, 예를 들면 ETSI SCP 표준인 TS 102 622에 정의된 바와 같이 구성될 수 있을 것이다.
한편, 관리 명령들을 개략적으로 살펴보면, ADM_CREATE_PIPE는 호스트가 호스트 컨트롤러에게 2개 게이트 사이에 새로운 동적 파이프 생성을 요청하기 위하여 사용하는 것이고, ADM_NOTIFY_PIPE_CREATED는 호스트 컨트롤러가 생성된 파이프의 목적 호스트에게 동적 파이프의 생성을 통지(Notify)하기 위하여 사용되는 명령이며, ADM_DELETE_PIPE는 호스트가 호스트 컨트롤러에게 동적 파이프 삭제(Delete)를 요청하는 명령이고, ADM_NOTIFY_PIPE_DELETED 명령은 호스트 컨트롤러가 동적 파이프의 삭제를 통지하기 위하여 호스트로 전송하는 명령이다.
각 관리 명령은 명령 파라미터(Command Parameter)를 가질 수 있으며, 각 명령을 받은 구성요소는 처리 결과에 따라 소정의 응답(Response)을 할 수 있다. 응답은 처리가 정상적으로 완료되었음을 나타내는 ANY_OK 응답과, 처리가 완료되지 못함을 나타내는 다수의 에러 응답이 있을 수 있으며, 에러 응답의 종류 및 의미에 대해서는 아래에서 다시 설명한다. 또한, 응답 역시 소정의 파라미터(응답 파라미터)를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 적용될 수 있는, 서비스 애플리케이션이 구동되는 과정에서 카드 RF 게이트와 카드 애플리케이션 게이트 사이의 데이터 흐름을 도시한다.
도 4는 아래 도 6에서 설명할 바와 같이, 외부 RF 리더 장치로부터 특정 서비스 애플리케이션 선택 요청이 접수 된 후에, 해당 특정 RF 타입과 특정 서비스 애플리케이션이 정당하게 사용가능한 것으로 인증되어 서비스가 진행되는 과정의 흐름을 의미한다.
우선, 카드 RF 게이트는 카드 애플리케이션 게이트로 EVT_FIELD_ON 메시지를 전송(S410)하고, 본 발명의 일 실시예에 의한 초기화 및 충돌 방지 메시지를 생성한다(S420)
다음으로 카드 RF 게이트는 카드 애플리케이션 게이트에게 EVT_CARD_ACTIVATED 메시지를 전송하여 해당 카드 애플리케이션 (게이트)를 활성화(S430) 시킨 후에, 양 게이트 사이에서 EVT_SEND_DATA 명령을 이용하여 데이터를 송수신한다(S440, S450).
서비스가 완료되면, 카드 RF 게이트는 카드 애플리케이션 게이트에게 EVT_CARD_DEACTIVATED 메시지를 전송하여 해당 카드 애플리케이션 (게이트)를 비활성화 시키고, 최종적으로 EVT_FIELD_OFF 메시지를 전송하여 서비스를 종료하게 된다.
한편, 호스트 컨트롤러 내의 관리 게이트는 레지스트리 상의 여러 파라미터를 지원하게 되는데, 본 발명의 일 실시예에서는 서비스 충돌 방지를 위하여, 현재 정의된 표 4의 01 내지 04의 파라미터(SESSION_IDENTITY, MAX_PIPE, WHITELIST, HOST_LIST)에 추가하여, SELECTED_AID_RF 파라미터를 추가로 정의하여 지원하도록 한다.
[표 4]
Figure 112011072897144-pat00004
SELECTED_AID_RF 는 현재 수행되고 있는 서비스 애플리케이션과 RF 기술(타입)을 나타낼 수 있는 정보로서, 위의 용어에 한정되는 것은 아니며, 본 명세서에서는 기선택 서비스/RF 파라미터라는 용어와 동등한 것으로 사용한다.
SELECTED_AID_RF 또는 기선택 서비스/RF 파라미터는 현재 선택되어 있는 특정한 서비스 애플리케이션 식별정보(AID)와 RF 게이트 식별정보(RF Gate ID) 등을 포함할 수 있으며, 서비스 애플리케이션 식별정보(AID)는 5~16바이트, RF 게이트 식별정보(RF Gate ID)는 1바이트 길이를 가질 수 있으나 그에 한정되는 것은 아니다.
또한, SELECTED_AID_RF 또는 기선택 서비스/RF 파라미터의 초기값은 ‘FFF…FFF(총 길이는 6 내지 최대 17 바이트 임)’일 수 있으나 그에 한정되는 것은 아니며, SELECTED_AID_RF 또는 기선택 서비스/RF 파라미터가 초기값인 경우에는 현재 수행되고 있는 서비스 애플리케이션이나 RF 게이트가 없음을 나타낸다.
이러한 SELECTED_AID_RF또는 기선택 서비스/RF 파라미터는 단말 부팅 시 생성된(아래 도 5와 관련하여 설명함) 카드 RF 게이트에서 관리 게이트와의 동적 파이프를 통해 특정한 명령(예를 들면, ANY_GET_PARAMETER와 ANY_SET_PARAMETER)을 수행함으로써 읽고 쓸 수 있는 파라미터이다.
도 5는 본 발명의 일 실시예에 의한 단말 부팅 과정의 흐름을 도시한다.
본 발명의 일 실시예에 의한 NFC 단말은 부팅 과정에서 호스트 컨트롤러 (단말의 CLF)와 호스트(UICC)는 SWP 및 HCI 초기화 과정을 수행하고, 호스트 컨트롤러의 관리 게이트와 호스트의 관리 게이트 사이에서 일련의 명령을 통해 UICC(호스트)에서 초기 설정된 지원 RF 기술에 대한 RF 게이트들, 즉 호스트 컨트롤러 측의 카드 RF 게이트와 호스트측의 카드 애플리케이션 게이트를 생성하여 초기화한다.
각 카드 RF 게이트(단말측 또는 호스트 컨트롤러측) 및 카드 애플리케이션 게이트(호스트측 또는 UICC측)의 초기화가 완료되면, 호스트 컨트롤러 내부의 각 RF 타입별 카드 RF 게이트와 호스트 컨트롤러의 관리 게이트 사이에는 소정의 명령(ADM_CREATE_PIPE 등)을 통해서 동적 파이프가 생성된다.
본 발명의 일 실시예에 의한 서비스 충돌방지를 위한 NFC 단말 부팅 방법의 흐름을 도 5를 참고로 상세하게 설명하면 다음과 같다.
우선, 부팅이 시작되면 호스트(UICC)의 관리게이트가 호스트 컨트롤러의 관리게이트로 파이프 생성 메시지(ADM_CREATE_PIPE)를 전송한다.(S510) 그 명령에 따라서 호스트의 관리게이트와 호스트 컨트롤러의 관리게이트 사이에 파이프가 생성되고, 호스트 컨트롤러의 관리게이트는 호스트 컨트롤러의 카드 RF 게이트에게 파이프 생성 통지 메시지(ADM_NOTIFY_PIPE_CREATED)를 전송하고, 카드 RF 게이트는 그에 대한 응답메시지(ANY_OK)를 리턴한다.(S520, S530)
다음으로, 파이프 생성 통지 메시지(ADM_NOTIFY_PIPE_CREATED)에 대한 응답메시지(ANY_OK)를 리턴한 카드 RF 게이트는 호스트 컨트롤러 관리게이트에게 파이프 생성 메시지(ADM_CREATE_PIPE)를 전송 하고, 호스트 컨트롤러 관리게이트는 그에 대한 응답 메시지(ANY_OK)를 카드 RF 게이트로 리턴한다(S540, S550) 이로써, 호스트 컨트롤러 내부의 관리게이트와 각 RF 타입별 카드 RF 게이트 사이에 동적 파이프가 생성되어, 도 6과 같은 서비스 충돌 방지 과정이 수행될 수 있는 상태가 된다.
마지막으로, 호스트 컨트롤러 관리게이트가 호스트 컨트롤러의 관리게이트에게 최종적인 응답 메시지(ANY_OK)를 전송한다(S560)
이러한 S510 내지 S530 및 S560 단계에 의하여 호스트의 관리게이트와 호스트 컨트롤러의 관리게이트 사이에 파이프를 생성하는 과정은 이미 정의된 기술이며, 본 발명의 일 실시예에서는 서비스 충돌 방지를 구현할 수 있도록 호스트 컨트롤러의 관리게이트와 각 RF 타입별 카드 RF 게이트 사이에도 동적 파이프를 생성하는 S540, S550 단계를 추가로 구성하는 것이다.
도 6은 본 발명에 의한 단말에서의 서비스 충돌 방지 방법에 대한 흐름도이다.
우선 호스트 컨트롤러 내부의 카드 RF 게이트가 외부 RF 리더장치로부터 특정 타입의 RF 를 통해서 서비스 애플리케이션 식별정보(AID)를 포함하는 서비스 애플리케이션 선택(SELECT) 신호를 수신한다.(S610)
서비스 애플리케이션 선택(SELECT) 신호를 수신하는 카드 RF 게이트는 여러 카드 RF 게이트 중에서 해당되는 RF 타입을 지원하는 카드 RF 게이트이다.
도 6에서는 서비스 애플리케이션 선택(SELECT) 신호를 수신하는 카드 RF 게이트가 1번 게이트(GATE_ID#1)이고, 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID)가 1번 서비스 애플리케이션(AID#1)인 것으로 가정한다.
서비스 애플리케이션 선택(SELECT) 신호를 수신한 카드 RF 게이트는 호스트 컨트롤러의 관리게이트에게 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득하기 위한 기선택 서비스/RF 파라미터 요청 메시지인 ANY_GET_PARAMETER를 전송한다.(S620)
기선택 서비스/RF 파라미터 요청 메시지(ANY_GET_PARAMETER)를 수신한 호스트 컨트롤러 관리게이트는 레지스트리에서 표 4의 ‘05’에 해당되는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 읽어와서, 해당 카드 RF 게이트에게 응답한다(ANY_OK; S630)
그러면 해당 카드 RF 게이트(GATE_ID#1)는 1) 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF)가 기설정된 초기값인지 여부, 또는 2) 관리게이트로부터 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 서비스 애플리케이션 식별정보(AID_n)가 외부 RF 리더장치로부터 수신한 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)와 동일한지 여부, 및 3) 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 RF 게이트 식별정보(GATE ID_n)가 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일한지 여부를 판단한다.(S640)
만일, 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF)가 기설정된 초기값(예를 들면, ‘FFF…FFF’)이거나, 관리게이트로부터 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 서비스 애플리케이션 식별정보(AID_n)가 외부 RF 리더장치로부터 수신한 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)와 동일하고, 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 RF 게이트 식별정보(GATE_ID_n)가 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일한 경우(YES)에는 해당되는 애플리케이션을 실행할 수 있는 상태로 판단한다.
YES 상태인 경우에는 해당 서비스 애플리케이션을 실행할 수 있는 조건이므로, 실행되는 서비스 애플리케이션 식별정보(AID#1) 및 RF 게이트 식별정보(GATE_ID#1)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트리에 업데이트 할 것을 요청하는 파라미터 세팅 메시지(ANY_SET_PARAMETER)를 호스트 컨트롤러의 관리게이트로 전송한다.(S650)
호스트 컨트롤러의 관리 게이트는 레지스트리에 서비스 애플리케이션 식별정보(AID#1) 및 RF 게이트 식별정보(GATE_ID#1)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)로 업데이트 하고, 응답신호(ANY_OK)를 카드 RF 게이트로 리턴한다.(S660)
기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 업데이트하는 S660 단계에서, 서비스 애플리케이션 식별정보(AID#1)의 길이가 16바이트 미만일 경우, 잔여 바이트는 ‘FF’로 패딩(Padding) 할 수 있다.
그런 다음, 카드 RF 게이트(GATE_ID#1)는 해당되는 호스트 내의 카드 애플리케이션 게이트(#1)을 통해서 도 4와 같은 서비스를 진행한다(S670)
즉, EVT_FIELD_ON을 전송한 후 ETSI TS 102 622에 의한 데이터 흐름을 따르게 된다.
상기 S640 단계에서, 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF)가 기설정된 초기값(예를 들면, ‘FFF…FFF’)이 아니고, 관리게이트로부터 수신한 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 서비스 애플리케이션 식별정보(AID_n)가 외부 RF 리더장치로부터 수신한 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)와 동일하지 않거나 기선택 서비스/RF 파라미터(SELECTED_AID_RF) 내에 포함된 RF 게이트 식별정보(GATE_ID_n)가 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일하지 않는 경우(NO)에는 추가적인 동작을 수행하지 않고(EVT_FIELD_ON 이벤트 미전송) 대기한다.(S680)
이상과 같은 실시예들을 이용하면, 여러 RF 기술을 지원하는 UICC 포함 단말에서 특정한 서비스 애플리케이션에 대한 충돌을 방지할 수 있다.
또한, 현재 국내외에 설치된 복수 RF 기술을 통해 동일 서비스 애플리케이션(AID)를 선택(SELECT)하는 RF 리더장치에 NFC 단말을 접촉하여 카드 에뮬레이션 모드 기반 서비스를 제공할 경우, “중복 카드” 오류 또는 서비스 충돌의 오류가 발생하는 것을 방지할 수 있으며, 특히, 기존 RF 리더장치의 구성 변경이나, 서비스 어플리케이션 (애플릿)의 변경 등을 수행하지 않고도 서비스 충돌을 방지할 수 있다는 효과가 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (17)

  1. 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트 및 2 이상의 카드 애플리케이션 게이트, 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치에 있어서,
    상기 단말의 부팅시에,
    상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하고,
    상기 2 이상의 카드 RF 게이트의 제1 RF 기술을 통해 상기 2이상의 카드 어플리케이션 게이트의 제1 서비스 어플리케이션이 선택된 경우, 제2 RF 기술을 통해 상기 제1 서비스 어플리케이션에 대한 선택 명령이 상기 호스트로 전송되지 않도록 하는 것을 특징으로 하는 단말장치.
  2. 제1항에 있어서,
    상기 파이프 생성을 위하여 상기 카드 RF 게이트는 호스트 컨트롤러 관리게이트에게 파이프 생성 메시지(ADM_CREATE_PIPE)를 전송 하고, 호스트 컨트롤러 관리게이트는 그에 대한 응답 메시지(ANY_OK)를 카드 RF 게이트로 리턴하는 것을 특징으로 하는 단말장치.
  3. 삭제
  4. 하나의 관리게이트와 1 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 1 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치로서,
    상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하고,
    상기 카드 RF 게이트 중 하나가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하고, 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득한 후, 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단하는 것을 특징으로 하는 단말장치.
  5. 제4항에 있어서,
    상기 서비스 어플리케이션의 실행 가능 여부를 판단하는 것은,
    1) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)의 초기값 여부 또는
    2) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)의 동일 여부 및 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 RF 게이트 식별정보(GATE ID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호를 수신한 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일한지 여부
    를 판단하고,
    상기 1)에서 초기값이거나, 상기 2)에서 동일한 것으로 판단된 경우에 한하여 해당되는 서비스 애플리케이션을 실행하는 것을 특징으로 하는 단말장치.
  6. 제5항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)는 5 내지 16바이트, RF 게이트 식별정보(GATE ID_n)는 1바이트의 정보인 것을 특징으로 하는 단말장치.
  7. 제5항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)의 초기값은 'FFF…FFF”이며 상기 초기값의 길이는 6 내지 17 바이트인 것을 특징으로 하는 단말장치.
  8. 제5항에 있어서,
    상기 1)에서 초기값이거나, 상기 2)에서 동일한 것으로 판단된 경우에는, 실행되는 서비스 애플리케이션 식별정보(AID#1) 및 RF 게이트 식별정보(GATE_ID#1)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트리에 업데이트하는 것을 특징으로 하는 단말장치.
  9. 하나의 관리게이트와 1 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 1 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치의 서비스 충돌 방지 방법으로서,
    상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하고, 상기 카드 RF 게이트 중 제1 카드 RF 게이트가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하는 단계;
    제1 카드 RF 게이트가 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득하는 단계;
    제1 카드 RF 게이트가 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 이용하여 서비스 애플리케이션 선택(SELECT) 신호로 특정된 서비스 애플리케이션의 실행 가능 여부를 판단하는 단계;
    를 포함하는 것을 특징으로 하는 서비스 충돌 방지 방법.
  10. 제9항에 있어서,
    상기 서비스 애플리케이션의 실행 가능 여부를 판단하는 단계는,
    상기 카드 RF 게이트 중 제1카드 RF 게이트(GATE_ID#1)가 외부로부터 서비스 애플리케이션 선택(SELECT) 신호를 수신하는 단계;
    상기 제1카드 RF 게이트(GATE_ID#1)가 호스트 컨트롤러 관리게이트로부터 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 획득하는 단계;
    상기 제1카드 RF 게이트(GATE_ID#1)가 1) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)의 초기값 여부 또는 2) 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호에 포함된 서비스 애플리케이션 식별정보(AID#1)의 동일 여부 및 상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 RF 게이트 식별정보(GATE ID_n)와 상기 서비스 애플리케이션 선택(SELECT) 신호를 수신한 카드 RF 게이트 자신의 ID(GATE_ID#1)와 동일한지 여부를 판단하는 단계; 및,
    상기 1)에서 초기값이거나, 상기 2)에서 동일한 것으로 판단된 경우에 한하여 해당되는 서비스 애플리케이션을 실행하는 단계;
    를 추가로 포함하는 것을 특징으로 하는 서비스 충돌 방지 방법.
  11. 제10항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)는 5 내지 16바이트, RF 게이트 식별정보(GATE ID_n)는 1바이트의 정보인 것을 특징으로 하는 서비스 충돌 방지 방법.
  12. 제10항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)의 초기값은 ‘FFF…FFF'이며, 상기 초기값의 길이는 6 내지 17 바이트인 것을 특징으로 하는 서비스 충돌 방지 방법.
  13. 제10항에 있어서,
    상기 1)에서 초기값이거나, 상기 2)에서 동일한 것으로 판단된 경우에는, 실행되는 서비스 애플리케이션 식별정보(AID#1) 및 RF 게이트 식별정보(GATE_ID#1)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트리에 업데이트하는 것을 특징으로 하는 서비스 충돌 방지 방법.
  14. 하나의 관리게이트와 2 이상의 카드 RF 게이트를 포함하는 호스트 컨트롤러와, 하나의 관리게이트, 2 이상의 카드 애플리케이션 게이트 및 1 이상의 서비스 애플리케이션을 포함하는 호스트를 포함하는 단말장치로서,
    상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프를 생성하고,
    상기 호스트 컨트롤러의 관리게이트를 위한 레지스트리에는 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 저장하는 것을 특징으로 하는 단말장치.
  15. 제14항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)는 5 내지 16바이트, RF 게이트 식별정보(GATE ID_n)는 1바이트의 정보인 것을 특징으로 하는 단말장치.
  16. NFC(Near Filed Communication) 단말 장치에 포함되어 UICC(호스트)를 제어하는 호스트 컨트롤러로서,
    상기 호스트 컨트롤러는 하나의 관리게이트와, 그와 파이프로 연결된 2 이상의 카드 RF 게이트를 포함하며, 상기 호스트 컨트롤러의 관리게이트와 상기 호스트 컨트롤러 내의 상기 카드 RF 게이트 사이에 파이프가 생성되며,
    상기 호스트 컨트롤러의 관리게이트는 카드 RF 게이트의 요청에 따라 현재 선택되어 있는 서비스 애플리케이션 식별정보(AID)와 카드 RF 게이트 식별정보(GATE_ID)를 포함하는 기선택 서비스/RF 파라미터(SELECTED_AID_RF)를 레지스트로부터 추출하여 전송하거나 업데이트 하는 것을 특징으로 하는 호스트 컨트롤러.
  17. 제16항에 있어서,
    상기 기선택 서비스/RF 파라미터(SELECTED_AID_RF)에 포함된 서비스 애플리케이션 식별정보(AID_n)는 5 내지 16바이트, RF 게이트 식별정보(GATE ID_n)는 1바이트의 정보인 것을 특징으로 하는 호스트 컨트롤러.
KR1020110094387A 2011-09-20 2011-09-20 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러 KR101875222B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110094387A KR101875222B1 (ko) 2011-09-20 2011-09-20 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110094387A KR101875222B1 (ko) 2011-09-20 2011-09-20 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러

Publications (2)

Publication Number Publication Date
KR20130030852A KR20130030852A (ko) 2013-03-28
KR101875222B1 true KR101875222B1 (ko) 2018-07-05

Family

ID=48180255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110094387A KR101875222B1 (ko) 2011-09-20 2011-09-20 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러

Country Status (1)

Country Link
KR (1) KR101875222B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503782B (zh) * 2015-09-06 2019-04-30 上海复旦微电子集团股份有限公司 Nfc智能卡模拟方法及装置
CN114520970B (zh) * 2022-01-28 2023-10-10 广州万协通信息技术有限公司 一种基于sim卡的swp卡模拟应用的选择切换方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011130414A (ja) * 2009-11-20 2011-06-30 Sony Corp 通信装置、プログラム、および通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101013817B1 (ko) * 2008-05-21 2011-02-14 삼성전자주식회사 Uicc 운용 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011130414A (ja) * 2009-11-20 2011-06-30 Sony Corp 通信装置、プログラム、および通信方法

Also Published As

Publication number Publication date
KR20130030852A (ko) 2013-03-28

Similar Documents

Publication Publication Date Title
EP3116161B1 (en) Security unit management method and terminal
US20180310157A1 (en) Near field communication method and mobile terminal
US10708744B2 (en) NFC-based communication method and apparatus
CN102833817B (zh) 基于家庭网关的网络接入方法和系统以及家庭网关
KR101911755B1 (ko) 근거리 무선 통신 환경에서 개인 건강 데이터를 통신하는 방법 및 시스템
CN102348209A (zh) 接入无线网络及其认证的方法和设备
CN103781068A (zh) 数据传输方法及终端设备
KR102474437B1 (ko) 임베디드 가입자 식별 모듈에서의 프로파일의 설치
CN103327644A (zh) 一种无线连接的方法及设备
KR101465522B1 (ko) 근거리 통신용 태그를 이용한 사물 인터넷 서비스 실행 방법 및 시스템
CN102281594A (zh) 一种报文转发方法及无线访问节点、系统
US11503474B2 (en) Technique for obtaining a network access profile
CN102415074B (zh) 用于终端的自动配置
CN103945564A (zh) 一种无线网络连接方法、系统及无线接入点设备
EP2377291A2 (en) Portable mobile communication device and method of controlling near field communication
US20220382920A1 (en) Terminal and communication method
US8514805B2 (en) Method and apparatus of performing handover using subnet information
CN109743722A (zh) 网络连接处理方法和装置
CN107820246A (zh) 用户认证的方法、装置和系统
KR101875222B1 (ko) 호스트 컨트롤러 인터페이스 계층의 서비스 충돌 방지 방법 및 그를 위한 단말장치와 부팅방법 및 호스트 컨트롤러
CN102420731B (zh) 网络访问控制方法和系统
US20140315600A1 (en) Communication interface method for se equipped on mobile terminal and se using the same
KR101792881B1 (ko) 멀티 호스트 단말에서의 동적 파이프 상태 확인 및 통지 방법과, 그를 위한 호스트 컨트롤러, 호스트 및 단말장치
CN109429228A (zh) 一种无线接入方法和装置
CN108449755A (zh) 一种终端接入方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right