KR101965033B1 - 수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템 - Google Patents

수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템 Download PDF

Info

Publication number
KR101965033B1
KR101965033B1 KR1020160077912A KR20160077912A KR101965033B1 KR 101965033 B1 KR101965033 B1 KR 101965033B1 KR 1020160077912 A KR1020160077912 A KR 1020160077912A KR 20160077912 A KR20160077912 A KR 20160077912A KR 101965033 B1 KR101965033 B1 KR 101965033B1
Authority
KR
South Korea
Prior art keywords
application
message
selection
algorithm
applications
Prior art date
Application number
KR1020160077912A
Other languages
English (en)
Other versions
KR20160150608A (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 아이데미아 프랑스
Publication of KR20160150608A publication Critical patent/KR20160150608A/ko
Application granted granted Critical
Publication of KR101965033B1 publication Critical patent/KR101965033B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0004Hybrid readers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • H04L51/30
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 통신 및 특히 다수의 애플리케이션을 포함하는 보안 요소 내에서 하나의 애플리케이션을 선택하는 것에 관한 것이다. 본 발명은, 특히 비접촉식 프로토콜 파라미터 내의 '83' 파라미터 내부에서, 메시지 인식 알고리즘을 정의하는 가능성을 확장하며 글로벌플랫폼 표준을 확장한다. 새로운 식별자가, 여러 다른 이종 판독기들을 갖는 보안 요소의 통신 글로벌플랫폼에 내재한 문제점들을 해결하기 위하여, 인식 알고리즘의 복수의 정의들을 연쇄화할 수 있게 한다.

Description

수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템{IMPROVED METHOD AND SYSTEM OF IMPLICIT SELECTION OF AN APPLICATION IN A SECURE ELEMENT, FROM A RECEIVED MESSAGE}
본 발명은 일반적으로 통신 분야, 특히 다수의 애플리케이션을 포함하는 보안 요소 내에서 하나의 애플리케이션을 선택할 수 있게 하는 메커니즘 분야에 관한 것이다. 본 발명은 특히, 문헌 "GlobalPlatform Card Specification Version 2.2.1"에 의해 정의되는 글로벌플랫폼 카드 표준을 일례로 하는 내장 소프트웨어 분야를 통제하는 표준의 컨텍스트에서 특히 응용된다.
보안 요소(secure element)는 칩 카드 유형, 예를 들어 SIM 카드 또는 eSE(embedded Secure Element)라는 명칭으로 이동 통신 네트워크 분야에서 폭넓게 사용되는 UICC 또는 eUICC(embedded Universal Integrated Circuit Card) 카드일 수 있다. 일반적으로 보안 요소는 탈부착 가능할 수 있고, 예를 들어 칩 카드, 이동 전화, 자동차 등 유형의 휴대용 이동 장치 내에 내장되거나, 고정되거나, 휴대용일 수 있다. 그것은 적어도 하나의 마이크로프로세서 및 적어도 하나의 메모리를 포함한다.
그러한 보안 요소들은 하나 또는 다수의 통신 채널 상으로 외부와 통신 가능한, 예를 들어 외부 결제 단말기로 결제하는 애플리케이션, 이동 전화기의 이동 단말기와의 애플리케이션, 도시 네트워크의 외부 판독기와의 도시 교통 애플리케이션 등, 하나 또는 다수의 애플리케이션을 포함하는 것이 통상적이다.
하나의 애플리케이션은 단말기 또는 외부 장치로부터 수신하는 명령을 처리하고 연관된 응답들을 생성하고 그 응답들을 그 단말기 또는 외부 장치로 전송하도록 구성된다.
보안 요소의 통신 지능 및 리소스(resource)가 한정적이므로, 일반적으로 일 회에 일 애플리케이션만, 즉 활성화된 통신 채널 상으로 입력되는(따라서 외부 단말기에 의해 전송되는) 후속 명령들을 수신하고 처리하기 위하여 선택된 애플리케이션만 활성화된다.
그 선택을 가능하게 하기 위하여, 표준들은 일반적으로 AID(Application IDentifier)로 표시되는 애플리케이션의 단일 식별자의 도움으로, 선택할 애플리케이션을 식별하는 SELECT 커맨드의 버전으로 애플리케이션의 선택 커맨드를 정의함으로써 애플리케이션의 명시적 선택을 일반적으로 실행한다.
그러나 AID에 의한 SELECT 선택 메커니즘을 지원하지 않는 애플리케이션들도 존재한다. 따라서 그 문제에 일시적으로 대처하고 전형적으로 APDU(Application Protocol Data Unit) 형태인 메시지를 수신할 때 보안 요소 내에서 그러한 애플리케이션들을 암시적으로 선택하기 위하여 다른 메커니즘들이 개발되었다.
글로벌플랫폼 카드 표준은 예를 들어 하나의 애플리케이션의 설치 시에 그 애플리케이션을 위한 메시지 인식 알고리즘을 경우에 따라 정의할 것을 대비한다. 특히, 문헌 "GlobalPlatform Contactless Services Card Specification v2.2 - Amendment C Version 1.1.1"의 6.5 섹션에서 설명된 바와 같이, 2개의 알고리즘, 즉 문자열에 의한 인식 알고리즘 및 바이너리 마스크에 의한 인식 알고리즘을 서로 변환하여 제안한다.
따라서, 어떠한 애플리케이션도 보안 요소 내에서 쉽게 선택되지 않으면 메시지 수신으로써 애플리케이션들에 연관된 인식 알고리즘들의 실행이 개시된다. 그 애플리케이션들은 우선순위에 따라 차례로 테스트 된다. 그 순위는 일반적으로 애플리케이션들의 설치 시에 그 애플리케이션들에 할당된 정적 우선순위를 바탕으로 따른다(일반적으로 설치 순서에 따름).
그러나 글로벌플랫폼 표준에서, 일 회에 단 하나의 애플리케이션에 대하여 또는 하나의 애플리케이션 그룹(그 경우 그 그룹 내의 우선순위 규칙은 최종적으로 하나의 애플리케이션만이 실제로 휘발성 우선순위를 할당받게 함)에 대하여 휘발성 우선순위를 선언할 수 있게 하는 툴이 존재하며, 그 휘발성 우선순위는 정적 우선순위들을 대신한다. 휘발성 우선순위는, 애플리케이션이 예를 들어 비활성화(deactivated) 상태로 될 때까지, 또는 예를 들어 카드의 재부팅 "카드 리셋(Card Reset)"(특히 비접촉 인터페이스의 리셋) 시까지, 또는 예를 들어 보안 요소의 전원이 차단될 때(power off)까지 통신의 현행 세션 지속시간 동안 휘발성 메모리 내에 저장된다.
알고리즘에 의한 메시지 인식의 경우는(즉 수득 결과는 예측된 결과임: 문자열에 의한 인식 알고리즘에 대하여 패턴과 메시지 일부 사이의 바이너리 매치; 바이너리 마스크에 의한 인식 알고리즘에 대하여 결과는 0), 연관 애플리케이션이 수신 메시지 실행을 위하여 선택된다.
최종적으로 어떠한 애플리케이션도 선택되지 않는 경우, SELECT 커맨드에 의한 명시적 선택 메커니즘에 의하거나 설치 애플리케이션들에 연관된 인식 알고리즘들에 의한 암시적 선택 메커니즘에 의하거나 간에, 디폴트에 의한 애플리케이션 선택 프로세스가 제안된다.
글로벌플랫폼 카드 표준을 기준으로, 디폴트 애플리케이션은 'CF' 파라미터, 일명 암시적 선택을 이용하여 각각의 비접촉 논리 채널에 대하여 정의되었을 수 있다. 그 디폴트 애플리케이션은 따라서 그것이 'CF'인 것으로 선언되고, 표준 의미 내에서 선택가능하고 활성화되었다고 선언되는 한 선택된다.
글로벌플랫폼 카드 표준에서 예측된 새로운 추가 디폴트 애플리케이션은 'CF' 파라미터를 이용하여 "디폴트"로 선언된 애플리케이션의 부재로 유도되고, 그 경우 "카드 리셋" 특권을 갖는 (유일한) 애플리케이션은 그것이 존재하는 경우 선택된다. "카드 리셋" 특권은 그러나 베이스 논리 채널('0'으로 표시) 상으로만 유효하다.
보안 요소 내의 애플리케이션 선택 메커니즘은 단점이 없는 것은 아니다.
보안 요소 및 타깃 애플리케이션이 사용되는 인프라구조(infrastructure)는 혼합식으로 밝혀질 수 있다. 예를 들어, 대중교통 네트워크의 인프라구조 내에서, 새로운 판독기를 구비한 새로운 접속 탐지장치가 설치될 수 있고, 반드시 동일 메시지 포맷을 가질 필요는 없는 구세대 판독기와 공존할 수 있다. 현재의 암시적 애플리케이션 선택 메커니즘은, 판독기의 일부가 더는 작동하지 않는 경우를 제외하고, 그러한 이질성(heterogeneity)을 수용할 수 없다.
그러므로 사용상의 융통성 개념에서, 보안 요소에서의 암시적 애플리케이션 선택을 개선할 필요가 있다.
표준에 따르면, 디폴트에 의한 애플리케이션 선택 메커니즘은 'CF' 파라미터를 이용하여 선언되거나, 베이스 논리 채널을 위한 "카드 리셋" 특권을 이용하여 선언된 논리 채널을 위한 유일한 애플리케이션에 한정된다.
디폴트에 의해 새로운 애플리케이션을 지정할 수 있도록, 디폴트에 의해 현재 정의된 애플리케이션의 'CF' 또는 "카드 리셋" 문자를 삭제할 필요가 있다. 그런데, 'CF' 파라미터 또는 "카드 리셋" 특권은 설치된 애플리케이션의 일생 동안에는 변경이 불가하다. 따라서 그 애플리케이션을 삭제하고 'CF' 파라미터를 적절히 구성(configuration) 하거나 "카드 리셋" 특권을 부여하며 새로운 애플리케이션을 설치할 필요가 있다고 밝혀질 수 있다.
그 작업을 실행하기 위하여, 비밀번호 세트를 사용하는 보안 채널을 개설하고 보안 프로세스를 실행할 필요가 있다. 그 다중 작업은 헤비(heavy)하고 따라서 보안 요소 내에서 디폴트로 선택 가능한 애플리케이션들의 동적 처리에 대한 걸림돌이다.
그러므로 사용상 융통성의 개념에서, 보안 요소에서의 디폴트에 의한 애플리케이션의 선언 및 선택을 개선할 필요가 있다.
본 발명은 상술한 단점들의 전부 또는 일부를 해결하는 것을 목적으로 한다.
본 발명의 제1 양태에 따르면, 멀티-애플리케이션 보안 요소 내에 설치된 타깃 애플리케이션을 선택하는 방법은 보안 요소에서 이하의 단계들을 포함한다:
a) 적어도 하나의 메시지를 수신하는 단계;
b) 메모리에 타깃 애플리케이션과 연관된 선택 파라미터를 수득하는 단계 - 선택 파라미터는 타깃 애플리케이션이 선택 가능한지를 결정하기 위하여 수신 메시지에 적용할 적어도 2개의 메시지 인식 알고리즘을 표시함 - ;
c) 수신 메시지 상에서 타깃 애플리케이션과 연관된 선택 파라미터에 의해 표시된 인식 알고리즘을 실행하는 단계;
d) 인식 알고리즘들 중 하나의 결과가 포지티브일 때만 타깃 애플리케이션을 선택하는 단계.
이와 관련하여, 본 발명은 또한 메모리에 다수의 애플리케이션 및 이하 요소들을 포함하는 보안 요소를 목적으로 한다:
적어도 하나의 메시지를 수신하도록 구성된 통신 인터페이스;
메모리에서 타깃 애플리케이션과 연관된 선택 파라미터를 수득하도록 구성된 파라미터 수득 모듈 - 선택 파라미터는 타깃 애플리케이션이 선택 가능한지를 결정하기 위하여 수신 메시지에 적용할 적어도 2개의 메시지 인식 알고리즘을 표시함 - ;
수신 메시지 상에서 타깃 애플리케이션과 연관된 선택 파라미터에 의해 표시된 인식 알고리즘들을 실행하도록 구성된 프로세서;
인식 알고리즘들 중 하나의 결과가 포지티브일 때만 타깃 애플리케이션을 선택하도록 구성된 애플리케이션 선택 모듈.
본 발명은 보안 요소 내에 설치된 애플리케이션들을 사용하는 데 있어 더욱 널리 융통성을 제공한다.
실제로, 상기 정의된 바와 같은 본 발명의 덕분으로, 이질적(heterogeneous) 판독기들에 의한 동일한 애플리케이션의 암시적 선택 및 사용이 보안 요소 내에서 가능해진다. 이는 적어도 2개의 인식 알고리즘을 표시하는 새로운 선택 파라미터를 실행함으로써 수득되며, 따라서 그 별개의 알고리즘들에 따라 동일한 애플리케이션의 암시적 선택을 가능하게 하는 반면, 공지된 기술, 및 특히 글로벌플랫폼 카드 표준은 필수적으로, 최대 하나의 인식 알고리즘만을 정의할 수 있다.
실시예들에 따른 본 방법 및 장치의 다른 특징들은, 기본적으로 방법에 해당하는 용어이며, 디바이스에도, 즉, 본 건의 경우 보안 요소에도 대체 가능한 용어를 사용하여, 종속 청구항들에 명시되어 있다. 본 발명에 따른 보안 요소는 이동 전화기 등의 더 복잡한 시스템에 통합되거나 수용될 수 있다.
예로서, 이동 전화기는 보안 요소가 구비한 비접촉 통신 인터페이스에 의해 사용되는 비접촉 통신 안테나를 포함할 수 있다.
일 실시예에 따르면, 본 방법은 이하의 단계들을 더 포함한다:
타깃 애플리케이션을 포함한 보안 요소 내에 설치된 하나 또는 다수의 애플리케이션의 정렬 리스트를 수득하는 단계 - 각각의 애플리케이션은 메모리에서 각각의 선택 파라미터에 연관되고, 그 선택 파라미터는 연관된 애플리케이션이 선택 가능한지를 결정하기 위하여 수신 메시지에 적용할 적어도 하나의 인식 알고리즘을 식별함 - ; 및
정렬 리스트를 판독하고 어떠한 애플리케이션도 선택되지 않은 한, 판독된 각 애플리케이션에 대하여 c) 단계 및 d) 단계를 실행하는 단계.
그 리스트의 판독은 단계 c) 및 단계 d)를 실행하기 위하여 판독된 각 애플리케이션의 파라미터를 수거하게 한다.
그 구성은 다수의 애플리케이션 중에서 하나의 애플리케이션을 암시적으로 결정하는 메커니즘을 제공한다.
실제로는, 어떠한 인식 알고리즘도 정의되지 않은 하나 또는 다수의 애플리케이션을 나열하는, 하나의 정렬 리스트가 수득될 수 있음을 주지해야 한다. 그 경우, 연관된 선택 파라미터는 엠프티(empty)거나 제로인 것으로 간주된다.
일 실시예에 따르면, 본 방법은 이하의 단계를 더 포함한다:
정렬 리스트의 어떠한 애플리케이션도 상기 정렬 리스트의 판독 종료시에 선택되지 않으면 디폴트로 애플리케이션을 선택하는 단계.
특히, 디폴트에 의한 애플리케이션의 선택은 정렬 리스트의 판독시에 판독된 각 애플리케이션과 연관된 선택 파라미터가 제1 사전 설정된 값을 표시하는지를 확인하는 단계를 포함할 수 있고;
연관된 선택 파라미터가 상기 사전 설정된 값을 표시하는 최우선순위(전체 애플리케이션들 중에서)인 애플리케이션을 선택하는 단계를 포함할 수 있다.
정렬 리스트 내의 제1 사전 설정된 값을 사용함으로써, 디폴트에 의해 선택 가능한 애플리케이션들의 동적 처리를 실행할 수 있게 하는데, 이는 요청 시 용이하게 변형할 수 없고 디폴트에 의해 선택 가능한 단 하나의 애플리케이션만을 필수적으로 정의할 수밖에 없는 공지된 기술, 특히 글로벌플랫폼 카드 표준과 반대이다.
일 특징에 따르면, 상기 애플리케이션 리스트는 상기 애플리케이션에 할당된 우선순위에 따라 정렬되고, 정적 우선순위는 각 애플리케이션의 설치시에 할당되고, 모든 정적 우선순위에 우선하는 휘발성 우선순위는 보안 요소의 휘발성 메모리에서 최대한 하나의 애플리케이션 또는 하나의 애플리케이션 그룹에 할당되고{우선순위 규칙을 통하여(예를 들어 글로벌플랫폼 표준에서 정의된 바와 같이) 그 그룹 내에서 최종적으로 단 하나의 애플리케이션이 그 할당을 받을 것임},
그 방법은 휘발성 우선순위의 할당을 제1 애플리케이션 또는 제1 애플리케이션 그룹에서 제2 애플리케이션 또는 제2 애플리케이션 그룹으로 변경하는 단계를 더 포함한다.
그 구성은 바람직한 디폴트에 의한 선택 가능한 애플리케이션의 동적이고 유연(soft)한 처리를 도시한다. 실제로, 휘발성 우선순위 문자의 변경은 보안 섹션을 개방하지 않고, 전용 API(Application Programming Interface)를 사용하는 단순 미들렛(midlet: Java MIDP 플랫폼을 사용하여 생성한 애플리케이션)을 이용하여 실행될 수 있다. 그와 반대로, 공지된 기술, 특히 글로벌플랫폼 카드 표준은, 보안 세션의 개방을 필요로 하는 헤비 오퍼레이션을 통하여 그 애플리케이션을 삭제하는 것이 아니면, 요청시 변경의 용이성 없이 디폴트에 의하여('CF' 태그에 의하여) 선택 가능한 단 하나의 애플리케이션만을 필수적으로 정의할 수밖에 없도록 한다.
일 특징에 따르면, 본 방법은 정렬 리스트의 판독시에 판독된 애플리케이션과 연관된 선택 파라미터가 제2 사전 설정된 값을 표시하는지를 확인하는 단계를 더 포함하고,
애플리케이션들 중 하나에 연관된 파라미터가 제2 사전 설정된 값을 표시하는 것으로 확인되면, 최우선순위의 상기 애플리케이션 선택은 비활성화된다. 특히, 선택 파라미터가 제1 사전 설정된 값을 표시하는지를 확인하는 기준을 바탕으로 아무 애플리케이션도 선택되지 않는다.
그 구성은 특히 본 발명에 따른 디폴트에 의한 애플리케이션 선택의 실행과 글로벌플랫폼 카드 등과 같은 공지 기술들에 따른 디폴트에 의한 애플리케이션 선택의 실행 사이에서 용이한 변경을 가능하게 함으로써, 선택 가능한 애플리케이션들의 더욱 효율적인 처리에 기여한다.
예를 들어, 본 방법은 정렬 리스트 판독의 종료시에 어떠한 최우선 순위의 애플리케이션도 선택되지 않으면 사전 설정된 애플리케이션을 선택하는 단계를 더 포함할 수 있다. 예를 들어, 글로벌플랫폼 카드의 경우는, 모든 논리 채널에 대하여 'CF' 파라미터를 갖거나 베이스 논리 채널에 대하여 "카드 리셋" 특권을 갖는 애플리케이션의 선택에 관한 것이다.
본 발명의 일 실시예에 따르면, 본 방법은 디폴트 애플리케이션이 활성화되어 있지 않거나, 보안 요소 내에서 선택 가능하지 않거나, 보안 요소의 통신 인터페이스(예를 들어 비접촉식)에 접근 권한이 없으면, 어떠한 애플리케이션의 선택도 추가로 포함하지 않는다. 그 구성은 외부 판독기와 교환되는 메시지를 처리하기에 적합하고 그 권한을 가진 애플리케이션만을 유효하게 선택할 수 있게 한다.
본 발명의 일 실시예에 따르면, 본 방법은 글로벌플랫폼 카드 표준에 따르는 INSTALL 커맨드 수신에 이전에 타깃 애플리케이션을 설치하는 사전 단계를 더 포함하고, INSTALL 커맨드는 상기 타깃 애플리케이션과 연관된 선택 파라미터를 포함한다.
특히, 애플리케이션과 연관된 선택 파라미터는 글로벌플랫폼 카드 표준에 따라 상기 애플리케이션에 대하여 정의된 비접촉식 프로토콜 파라미터들 내에서 '83' 값으로 식별되는 파라미터를 포함할 수 있다.
일 특징에 따르면, 하나의 애플리케이션과 연관된 선택 파라미터는 유일한 알고리즘의 식별자 및 적어도 하나의 알고리즘 파라미터를 이하 항목들 중에서 포함한다:
i) 문자열에 의하여 유일한 인식 알고리즘을 지정하기 위한, '01' 값과 동등한 알고리즘 식별자 및 연관 파라미터들. 그 식별자는 글로벌플랫폼 카드 표준에 부합함,
ii) 바이너리 마스크에 의하여 유일한 인식 알고리즘을 지정하기 위한, '02' 값과 동등한 알고리즘 식별자 및 연관 파라미터들. 그 식별자는 글로벌플랫폼 카드 표준에 부합함,
iii) 경우에 따라 상기 제1 및 제2 사전 설정된 값의 공유 알고리즘 식별자 및 그 2개의 사전 설정된 값을 구분하는 연관된 파라미터. 그 식별자는 디폴트에 의한 애플리케이션 선택 메커니즘이 그 제1 및 제2 사전 설정된 값들을 개입하게 할 때 실행 됨,
iv) i), ii) 및 iii)의 식별자 값 이외의 값과 동등한 알고리즘 식별자, 및 i) 및/또는 ii) 및/또는 경우에 따라 iii)에 따른 알고리즘 식별자와 연관 파라미터들의 리스트를 포함하는 연관된 파라미터들. 그 식별자 값은, 연관된 파라미터들을 통하여, 예를 들어 특히 상술한 타깃 애플리케이션에 대하여 적어도 2개의 인식 알고리즘을 정의할 수 있게 함.
그 다양한 구성들은 글로벌플랫폼 카드 표준과의 호환 가능성을 유지할 수 있게 한다.
일 실시예에 따르면, 상기 메시지는 ISO 7816-4 표준에 따르는 애플리케이션 프로토콜 데이터 유닛 또는 APDU 유형이다.
일 실시예에 따르면, 상기 메시지는 Javacard 명세(specification) 또는 그와 동등한 것에 의해 정의되는 SELECT[by name] 커맨드와 상이하다. 실제로, 애플리케이션의 암시적 선택은 명시적 선택이 그러한 선택이 아닐 때 일어난다.
일 실시예에 따르면, 본 방법은 이하의 단계를 더 포함한다:
애플리케이션이 활성화된 것으로 파라미터화 되고 보안 요소 내에서 선택 가능하고, 보안 요소의 통신 인터페이스(예를 들어 비접촉식)에 접근 권한이 부여될 때만 보안 요소 내에 설치된 애플리케이션을 선택하는 단계.
일 실시예에 따르면, 수신 메시지는 선택된 애플리케이션으로 실행된다. 메시지는 그와 같이 암시적으로 그것의 실행에 필요한 애플리케이션을 선택할 수 있게 한다.
제2 양태에 따르면, 멀티-애플리케이션 보안 요소 내에 설치된 하나의 애플리케이션을 선택하는 방법은, 보안 요소에서 이하의 단계들:
적어도 하나의 메시지를 수신하는 단계;
상기 수신 메시지로부터 하나의 애플리케이션을 선택하는 주 프로세스를 실행하는 단계; 및
주 프로세스 종료 시에 아무 애플리케이션도 선택되지 않으면, 디폴트에 의해 애플리케이션을 선택하는 단계
를 포함하고, 상기 방법에서는, 디폴트에 의한 애플리케이션 선택이 보안 요소에서 이하의 단계들:
보안 요소 내에 설치된 하나 또는 다수의 애플리케이션의 정렬 리스트를 수득하는 단계 - 각각의 애플리케이션은 메모리에서 글로벌플랫폼 카드 표준에 부합되도록 설치된 상기 애플리케이션의 비접촉식 프로토콜 파라미터 내에 정의된 각각의 선택 파라미터(예를 들어 글로벌플랫폼 내에 'A0' 값/태그에 의해 식별됨)에 연관됨 - ;
판독된 애플리케이션과 연관된 선택 파라미터가 상기 제1 사전 설정된 값을 표시하는지를 확인하며 정렬 리스트를 판독하는 단계; 및
연관된 선택 파라미터가 상기 제1 사전 설정된 값을 표시하는 최우선순위의 애플리케이션을 선택하는 단계
를 포함한다.
이와 관련하여, 본 발명은 또한 메모리에 다수의 애플리케이션을 포함하고, 이하 요소들:
적어도 하나의 메시지를 수신하도록 구성된 통신 인터페이스;
상기 수신 메시지로부터 애플리케이션을 선택하는 주 프로세스를 실행하도록 구성되고, 그 주 프로세스의 적어도 하나의 메시지를 수신하도록 구성된 통신 인터페이스; 및
상기 수신 메시지로부터 애플리케이션을 선택하는 주 프로세스를 실행하도록 구성되고, 그 주 프로세스의 종료시에 아무 애플리케이션도 선택되지 않으면, 디폴트에 의해 애플리케이션을 선택하도록 구성된 애플리케이션 선택 모듈
을 포함하는 보안 요소를 목적으로 하며, 디폴트에 의한 애플리케이션 선택을 위한 선택 모듈은:
보안 요소 내에 설치된 하나 또는 다수의 애플리케이션의 정렬 리스트를 수득하고 - 각각의 애플리케이션은 메모리에서, 글로벌플랫폼 카드 표준에 부합되도록 설치된 상기 애플리케이션의 비접촉식 프로토콜 파라미터 내에 정의된 각각의 선택 파라미터에 연관됨 - ;
판독된 애플리케이션과 연관된 선택 파라미터가 제1 사전 설정된 값을 표시하는지를 확인하면서 정렬 리스트를 판독하고;
연관된 선택 파라미터가 상기 제1 사전 설정된 값을 표시하는 최우선순위의 애플리케이션을 선택하도록 구성된다.
본 발명은 그와 같이 디폴트에 의하여 선택 가능한 애플리케이션들의 동적 처리를 가능하게 한다. 그 동적 처리는 글로벌플랫폼 카드 표준의 인식 알고리즘 파라미터 내에서 특정 값을 사용함으로써 수득되는데, 그 값은 설치 애플리케이션들의 우선순위에 따라 우선적으로 선택할 디폴트 애플리케이션을 표시할 수 있게 한다.
실제로, 이하 명시하는 바와 같이, 애플리케이션의 단순 활성화/비활성화 또는 애플리케이션에 대하여 휘발성 우선순위를 할당/할당해제 하는 동적 작업들은 우선적으로 디폴트에 의해 선택 가능한 하나의 애플리케이션을 동적으로 정의할 수 있게 한다.
실시예들에 따른 방법 및 장치의 다른 특징들은, 기본적으로 방법에 해당하는 용어이며, 보안 요소에 대체 가능한 용어를 사용하여, 종속 청구항들에 명시되어 있다. 본 발명에 포함되는 보안 요소는 이동 전화기 등의 더 복잡한 시스템에 통합되거나 수용될 수 있다.
예시로서, 이동 전화기는 보안 요소가 구비한 비접촉 통신 인터페이스에 의해 사용되는 비접촉 통신 안테나를 포함할 수 있다.
따라서, 메시지는 비접촉 통신 인터페이스를 통하여 수신될 수 있다.
일 실시예에 따르면, 상기 애플리케이션 리스트는 상기 애플리케이션에 할당된 우선순위에 따라 정렬되고, 정적 우선순위는 각 애플리케이션의 설치시에 할당되고, 모든 정적 우선순위에 우선하는 휘발성 우선순위는 보안 요소의 휘발성 메모리에, 최대한 하나의 애플리케이션 또는 하나의 애플리케이션 그룹에 할당되고{우선순위 규칙을 통하여(예를 들어 글로벌플랫폼 표준에서 정의된 바와 같이) 그 그룹 내에서 최종적으로 유일한 애플리케이션이 그 할당을 받을 것임},
그 방법은 휘발성 우선순위의 할당을 제1 애플리케이션 또는 제1 애플리케이션 그룹에서 제2 애플리케이션 또는 제2 애플리케이션 그룹으로 변경하는 단계를 더 포함한다.
그 변경은 디폴트에 의하여 애플리케이션을 선택하는 새로운 프로세스 직전에 실시된다. 그 구성은 바람직한 디폴트에 의한 선택 가능한 애플리케이션의 동적이고 유연(soft)한 처리를 도시한다. 실제로, 휘발성 우선순위 문자의 변경은 보안 세션을 개방하지 않고, 전용 API(Application Programming Interface)를 사용하는 단순 미들렛(Java MIDP 플랫폼을 사용하여 생성한 애플리케이션)을 이용하여 실행될 수 있다. 그와 반대로, 공지된 기술, 특히 글로벌플랫폼 카드 표준은, 보안 세션의 개방을 필요로 하는 헤비 오퍼레이션을 통하여 그 애플리케이션을 삭제하는 것이 아니면, 요청시 변경의 용이성 없이 디폴트에 의하여('CF' 태그에 의하여) 선택 가능한 단 하나의 애플리케이션만을 필수적으로 정의할 수밖에 없게 한다.
일 실시예에서, 보안 요소에 설치된 모든 애플리케이션은 애플리케이션이 선택가능한 상태인 활성화 상태(또는 활성화된; 활성화된 애플리케이션) 및 애플리케이션이 선택 가능하지 않은 비활성 상태(또는 비활성화된; 비활성화된 애플리케이션) 중 하나의 상태를 나타내며,
본 방법은 활성화 상태를 나타내는 애플리케이션을 제외하고, 설치 애플리케이션 전체의 상태가 비활성 상태로 변경되는 단계를 더 포함한다.
따라서 하나를 제외한 모든 애플리케이션이 비활성화된다. 그 나머지 하나가 상기 제1 사전 설정된 값을 표시하는 선택 파라미터를 가지면, 그 애플리케이션은 디폴트로 선택된다. 상기 구성은 따라서 다시 한 번 애플리케이션들의 단순 활성화/비활성화에 의해, 그 애플리케이션들의 각각의 선택 파라미터들이 상기 제1 사전 설정된 값을 표시하기 위하여 사전에 설정되는 한, 디폴트로 선택 가능한 애플리케이션들을 동적이고 유연하게 처리함을 나타낸다.
일 실시예에서, 본 방법은 정렬 리스트의 판독시에 판독된 애플리케이션과 연관된 선택 파라미터가 제2 사전 설정된 값을 표시하는지를 확인하는 단계를 더 포함하고;
그 방법에서, 애플리케이션들 중 하나에 연관된 선택 파라미터가 상기 제2 사전 설정된 값인 것으로 확인되면, 상기 최우선순위의 애플리케이션 선택은 비활성화된다. 특히, 선택 파라미터가 제1 사전 설정된 값을 표시하는지를 확인하는 기준을 바탕으로 어떠한 애플리케이션도 선택되지 않는다.
그 구성은 디폴트에 의해 선택 가능한 애플리케이션들의 동적 처리를 개선한다.
일 실시예에서, 본 방법은 정렬 리스트 판독의 종료시에 어떠한 더 높은 순위의 애플리케이션도 선택되지 않으면 사전 설정된 애플리케이션을 선택하는 것을 포함한다.
일 실시예에서, 하나의 애플리케이션과 연관된 상기 선택 파라미터는 글로벌플랫폼 카드 표준에서 'A0' 값으로 식별되는 비접촉식 프로토콜 파라미터들 내에서 '83' 값으로 식별된다.
특별한 일 실시예에서, 상기 제1 사전 설정된 값은 알고리즘 식별자 및 알고리즘 파라미터로 형성되고; 제1 사전 설정된 값을 형성하는 상기 식별자는 글로벌플랫폼 카드 표준에 따라 문자열에 의한 인식 알고리즘과 바이너리 마스크에 의한 인식 알고리즘을 각각 지정하는 '01' 및 '02' 식별자와 상이하다.
일 특징에 따르면, 제2 사전 설정된 값은 상기 제1 사전 설정된 값과 동일한 알고리즘 식별자 및 다른 알고리즘 파라미터로 형성된다.
그 구성들은 글로벌플랫폼 카드 표준과의 호환성을 유지한다.
일 실시예에 따르면, 수신 메시지는 자바카드 명세 또는 그와 동등한 것에 의해 정의되는 SELECT[by name] 커맨드이고,
주 선택 프로세스는 식별된 애플리케이션을 수신된 SELECT[by name] 커맨드내에서, 그러한 애플리케이션이 보안 요소 내에 존재하면, 선택하는 것을 포함한다.
본 발명의 제2 양태에 따른 디폴트에 의한 애플리케이션 선택의 개선된 방법은 따라서 칩 카드 내에서의 애플리케이션의 성과없는 명시적 선택의 뒤를 잇는다.
마찬가지로, 일 실시예에 따르면, 수신 메시지는 자바카드 명세 또는 그와 동등한 것으로 정의된 SELECT[by name] 커맨드와 상이하며, 정렬 리스트의 각 애플리케이션과 연관된 선택 파라미터는 연관된 애플리케이션이 선택될 수 있는지 결정하기 위하여 수신 메시지에 적용할 적어도 하나의 알고리즘을 식별하고,
주 선택 프로세스는 정렬 리스트의 판독시에 인식 알고리즘을 이용하여 어떠한 애플리케이션도 선택되지 않는 한, 이하의 단계들을 포함한다:
수신 메시지 상으로, 판독된 애플리케이션과 연관된 선택 파라미터로 표시된 하나 또는 다수의 인식 알고리즘을 실행하는 단계; 및
인식 알고리즘들 중 하나의 결과가 포지티브일 때만 판독된 애플리케이션을 선택하는 단계.
본 발명의 제2 양태에 따른 디폴트에 의한 애플리케이션을 선택하는 개선된 방법은 그와 같이 보안 요소 내에서의 애플리케이션의 성과없는 명시적 선택의 뒤를 잇는다. 상술한 바와 같이, 보안 요소는 어떠한 인식 알고리즘도 정의되지 않았던 하나 또는 다수의 애플리케이션을 포함할 수 있는 정렬 리스트를 실제로 수득한다. 그 경우, 선택 파라미터는 이하 명시될 처리를 실행할 수 있게 하기 위하여 제로 또는 엠프티로 간주 될 수 있다.
일 특징에 따르면, SELECT[by name] 커맨드와 상이한 수신 메시지는 선택된 애플리케이션에 의해 실행된다.
일 실시예에 따르면, 상기 메시지는 ISO 7816-4 표준에 따르는 애플리케이션 프로토콜 데이터 유닛 또는 APDU 유형이다.
일 실시예에 따르면, 본 방법은 이하의 단계를 더 포함한다:
애플리케이션이 활성화된 것으로 파라미터화 되고 보안 요소 내에서 선택 가능할 때만, 그리고 보안 요소의 통신 인터페이스(예를 들어 비접촉식)에 접근 권한을 갖게 될 때만 보안 요소 내에 설치되는 애플리케이션을 선택하는 단계.
본 발명은 또한 프로그램이 컴퓨터 상에서 실행될 때, 하나 또는 다수의 상술한 방법들의 각 단계를 실행하도록 구성되는 명령어들을 포함하는 컴퓨터 프로그램 제품을 목적으로 한다. 본 발명에 따른 그러한 컴퓨터 프로그램 제품은 상기 방법들과 관련하여 상술된 장점들과 유사한 장점들을 갖는다.
본 발명의 그 외의 특징들과 장점들은 첨부된 도면들에 도시되는 이하 상세한 설명으로부터 더욱 명확해질 것이다.
도 1a 내지 도 1c는 글로벌플랫폼 표준에 따라 애플리케이션의 INSTALL 커맨드 내에서 조사된, 비접촉식 특정 파라미터들을 도시한다.
도 2는 플로차트를 이용하여, 글로벌플랫폼 표준에 따라 보안 요소 내에서 애플리케이션을 선택하는 여러 다른 메커니즘의 처리를 도시한다.
도 3은 애플리케이션의 암시적 선택이 글로벌플랫폼 표준을 실행할 때, 특히 보안 요소에 액세스하는 판독기들의 이질성으로 인하여, 결함이 있는 상황을 도시한다.
도 4는 도 1c의 모델 상에서, 본 발명의 실시예를 결합하여, 보안 요소 내에서의 애플리케이션 설치 파라미터들의 신호 예를 도시한다.
도 5는 본 발명의 실시예를 실행함으로써, 도 3의 상황에서 애플리케이션의 암시적 선택을 개선하는 것을 도시한다.
도 6 및 도 6b는, 플로차트를 이용하여, 본 발명의 실시예에 따른, 도 3의 신호 사용에 기반한 보안 요소 내에서의 애플리케이션 선택의 처리를 도시한다.
비접촉식으로 작동하는 NFC(Near Field Communication) 유형의 애플리케이션들은 칩 카드(UICC 또는 eUICC), eSE 등의 보안 요소 분야에서 상당히 개발되어 있다.
판독기는 보안 요소 근방에서 전자기장을 발산하고, 그 자체로 이동 디바이스(예를 들어 이동 전화기) 내에 내장되어 있다(경우에 따라 탈부착 가능하게). 전자기장은 보안 요소 내에 구비된 비접촉 통신 인터페이스에 의해, 보안 요소 자체 내에 구비되거나, 또는 이동 디바이스 내에 구비되고 보안 요소에 연결된(예를 들어 전기 접촉을 통하여) 통신 안테나를 이용하여 검출될 수 있다.
비접촉식 애플리케이션의 일례로 대중교통 네트워크 액세스 권한을 부여하는 애플리케이션이 있으며; 보안 요소는 가입 등록시에 가입자에게 제공되고, 예를 들어 비접촉 판독기를 구비한 게이트를 통과함으로써 대중교통 서비스에 액세스할 수 있다.
현재, 한 도시의 교통 서비스에 부여된 보안 요소는, 교통 네트워크, 서비스 운영자, 판독기 및 애플리케이션들이 모두 동일하지 않으므로, 다른 도시에서는 작동하지 않는다.
현재 액세스 가능한 상당수의 서비스를 고려하여, 사용자들은 상당수의 해당 보안 요소들을 소유하고 있다. 따라서 다수의 애플리케이션이 설치될 수 있는 보안 요소들을 제공할 필요성이 부각되었다.
글로벌플랫폼 카드 표준은 비접촉 인터페이스상의 트랜잭션, 즉 비접촉 판독기와 보안 요소, 일반적으로 비접촉 칩 카드 유형, 특히 멀티-애플리케이션 이동식 플랫폼을 위한 보안 요소 사이의 메시지 교환을 도입하기 위한 방법을 명시한다.
이 방법의 목적은, 트래픽(판독기의 수신 메시지들) 라우팅이 지향하는, 사용할 애플리케이션을 식별하고 선택하는 방법을 포함한다.
이 방법은 애플리케이션의 명시적 선택 프로세스 및 애플리케이션의 암시적 선택 프로세스를 포함하며, 그 2개의 프로세스는 서로 배타적이다. 결국, 그 주 선택 프로세스들이 실패하는 경우, 디폴트에 의한 애플리케이션의 암시적 선택 프로세스가 실행된다.
상세하게는, 명시적 선택 프로세스는 판독기에 의하여 애플리케이션 식별자(AID)를 포함하는 SELECT 커맨드를 전송하는 것을 포함한다. APDU 유형의 그 커맨드는 앞서 언급된 표준에서 정의되나, 또한 ISO/IEC 7816-4 표준에서도 정의된다.
커맨드 수신시에, 보안 요소 내의 글로벌플랫폼 환경(표준에서 "OPEN"으로 칭하는 환경)이 설치된 애플리케이션 리스트 중에서, AID를 이용하여 타깃 애플리케이션을 한정한다.
그 후, 한정된 타깃 애플리케이션은 그 애플리케이션이 글로벌플랫폼 표준에 따라 활성화되어 있고(표준에 따른 ACTIVATED) 선택 가능하며, 비접촉 인터페이스에 액세스하도록 구성되었으면 선택을 위해 유효한 후보가 된다.
그 한정된 애플리케이션이 유효한 후보가 아니면, OPEN은 다른 유효한 후보 검색을 계속한다.
상술한 조건의 확인시에, OPEN은 따라서 유효한 타깃 애플리케이션을 선택한다. 그 타깃 애플리케이션이 선택을 거부하는 경우, OPEN은 리스트의 마지막에 도달하지 않은 한 상술한 한정 단계로 복귀하여 AID를 확인하는 후속 애플리케이션의 한정을 시도한다.
그 대신, 암시적 선택 프로세스가 타깃 애플리케이션을 명시적으로 식별하는 커맨드와 상이한, 따라서 상술한 단계에서 도입된 SELECT 커맨드와 상이한 메시지의 수신을 개시한다. 실제로, 그 프로세스는 SELECT 커맨드로 개시되지 않는 섹션 또는 트랜잭션에 헌정된다.
섹션 또는 트랜잭션의 제1 메시지는, 예를 들어 APDU 유형의 메시지인 경우, 베이스 논리 채널 상에 수신된다. 변형으로서, 메시지는 다른 유형(비-APDU), 예를 들어 DESFire 표준에 사용되는 커맨드일 수 있다.
암시적 선택 프로세스는 메시지 인식 알고리즘을, 그것이 존재한다면, 실행한다.
이를 위하여, 보안 요소의 글로벌플랫폼 환경은, 즉 OPEN은 보안 요소 내에 설치된 하나 또는 다수의 애플리케이션의 정렬 리스트를 수득한다. 애플리케이션들은 그 애플리케이션이 선택될 수 있는지 결정하기 위하여 메시지에 적용할 인식 알고리즘의 정의와 연계하여 설치되었을 수 있다.
애플리케이션들의 리스트는 상기 애플리케이션들에 할당된 우선순위에 따라 정렬된다. 실제로, 정적 우선순위가 각 애플리케이션의 설치 시에 그 애플리케이션에 할당된다. 또한, 모든 정적 우선순위에 우선하는 휘발성 우선순위는 최대 하나의 애플리케이션 또는 하나의 애플리케이션 그룹(그 경우 그 그룹 내의 우선순위 규칙들이 단 하나의 애플리케이션만이 마지막에 적절히 그 휘발성 우선순위를 할당받게 함)에 할당될 수 있다. 그 휘발성 우선순위는 현행 통신 세션의 지속기간에 대하여, 보안 요소의 휘발성 메모리에 있는 파라미터를 이용하여 정의된다.
또한, 그 휘발성 우선순위는 애플리케이션이, 예를 들어, 비활성화된(deactivated) 상태로 될 때까지, 또는, 예를 들어 카드의 재부팅 "카드 리셋"(특히 비접촉 인터페이스의 리셋) 시까지, 또는, 예를 들어 보안 요소의 전원차단(power off)시까지 유효하게 유지된다.
따라서 OPEN은 (i) 글로벌플랫폼 표준에 따라 선택 가능하거나, (ii) ACTIVATED이고 비접촉 인터페이스에 액세스하도록 구성되거나, (iii) 보안 요소에 의해 수신된 메시지 상으로 포지티브 결과를 제공하는 메시지 인식 알고리즘과 연관되거나 하는 애플리케이션을 검색하기 위하여 정렬 리스트를 판독한다. 따라서 인식 알고리즘이 상기 수신 메시지 상으로 실행된다.
그 조건들을 확인하는 경우, OPEN은 그에 따라 애플리케이션을 선택한다. 그 애플리케이션이 선택을 거부하면, OPEN은 어떠한 애플리케이션도 실질적으로 선택되지 않는 한, 또는 리스트가 도달되지 않는 한 리스트 판독을 계속한다.
표준에 정의된 바와 같이, 비접촉 인터페이스의 베이스 논리 채널을 기반으로, 메시지 인식 알고리즘은 AID를 기반으로 하는 SELECT 커맨드들을 지원하지 않는 비접촉 애플리케이션을 식별하고 선택하는 역량을 제공한다. 애플리케이션의 암시적 선택은 그 애플리케이션과 연관된 설정된 파라미터들의 세트에 해당하는 수신 메시지(또는 그 메시지의 일부) 상에서 실시된다(알고리즘의 결과가 포지티브인 경우).
그 알고리즘 및 연관된 파라미터들의 정의는 해당 애플리케이션의 설치 시에 실시된다. 애플리케이션을 보안 요소 내에 탑재(charge)하고 설치하기 위한 프로세스는 상술한 표준에서 정의된 INSTALL 커맨드를 기반으로 한다. 그 커맨드는 애플리케이션의 작동을 가능하게 하는 상당수의 파라미터, 특히 비접촉 인터페이스와의 사용상의 특정 파라미터들을 포함한다. 메시지 인식 알고리즘의 정의는 그 특정 파라미터들의 일부이다.
도 1a는 애플리케이션의 INSTALL 커맨드에서 정보 검색된 비접촉 특정 파라미터들을 표시한다. 그 파라미터들은 'A0' 태그로 식별되는 비접촉 프로토콜 파라미터들을 포함하는 TLV(tag-length-value) 구조의 형태로서 정렬되고, 그 프로토콜 파라미터들 자체도 TLV 구조들의 형태로 정의되고 도 1b에 개시되었다.
그 프로토콜 파라미터들 중에서, 메시지 인식 알고리즘을 정의하는 파라미터들은 '83' 태그로 식별되고, 문헌 "GlobalPlatform Contactless Services Card Specification v2.2 - Amendment C Version 1.1.1"의 6.5 섹션에 상세히 정의된다.
그 파라미터들은 도 1c에 개시된 바와 같이 LV(length-value) 포맷이다. 특히, 그들의 값은 다음 항목들 중 알고리즘의 유일한 식별자 및 적어도 하나의 알고리즘 파라미터를 포함한다:
i) 문자열에 의하여 유일한 인식 알고리즘을 지정하기 위한, '01' 값과 동등한 알고리즘 식별자 및 연관된 파라미터들 - 실행의 세부사항은 도면에 제공됨 -,
ii) 바이너리 마스크에 의하여 유일한 인식 알고리즘을 지정하기 위한, '02' 값과 동등한 알고리즘 식별자 및 연관된 파라미터들 - 실행의 세부사항은 도면에 제공됨-.
그 포맷은 하기 TLV 구조를 이용하여, 설치하는 애플리케이션과 연관하여 단 하나의 인식 알고리즘만을 정의할 수 있다:
태그[EF](길이) 태그[A0](길이) 태그[83](길이)[Algo ID - Algo Param]
2개의 이하 TLV 구조 중 하나로만 변형 가능함:
[EF](길이)[A0](길이)[83](길이)[[01][오프셋][패턴]]
[EF](길이)[A0](길이)[83](길이)[[02][레퍼런스 데이터][마스크]]
SELECT 유형의 커맨드에 의한 명시적 선택의 주 프로세스도, 메시지 인식 알고리즘에 의한 암시적 선택의 주 프로세스도, 애플리케이션의 유효한 선택을 이루지 못하면 디폴트에 의한 애플리케이션의 선택 프로세스가 실행된다.
이를 위하여, OPEN은 인터페이스의 유형이 무엇이든, "디폴트에 의한" 선택을 위하여 후보 설치 애플리케이션을 검색한다.
그 애플리케이션은 글로벌플랫폼 표준에서 'CF'로 표시되고, 사용된 논리 채널을 위하여 적절히 선언된 암시적 선택 파라미터로 보안 요소 내에 설치되었던 애플리케이션이다. 적절히 선언된 'CF' 파라미터를 갖추지 않은 그러한 애플리케이션이 부재하는 경우, 표준에 따라 "카드 리셋" 특권을 갖는 애플리케이션이, 사용된 논리 채널이 베이스 채널이면 식별된다.
그와 같이 식별된 'CF' 또는 "카드 리셋" 애플리케이션은 그 애플리케이션이 ACTIVATED이고, 표준에 따라 선택가능하고 비접촉 인터페이스에 액세스하도록 구성되었으면, 선택을 위하여 유효한 후보가 된다.
선택을 위한 유효한 후보의 부재시에는, 아무 애플리케이션도 선택되지 않는다. 사용된 논리 채널이 베이스 채널이면 개방 유지된다.
그렇지 않으면, 애플리케이션은 실질적으로 OPEN에 의해 선택된다. 그것이 선택을 거부하면 아무 애플리케이션도 선택되지 않고, 논리 채널은 그 채널이 베이스인 경우 개방 유지된다.
물론, 베이스 논리 채널이 아무 애플리케이션도 선택되지 않은 채로 개방 유지될 때, 상술한 메커니즘은 새로운 메시지(예를 들어 APDU 커맨드)가 그 동일한 베이스 논리 채널 상에 수신될 때 새로 실행된다.
도 2는 플로차트를 이용하여, 보안 요소 내에서의 그 여러 다른 애플리케이션 선택 메커니즘의 처리를 도시한다.
도 2의 알고리즘은 각각 이하 프로세스에 해당하는 3개의 처리 블록을 포함한다:
수신된 SELECT 커맨드로부터 명시적으로 선택하는 주 프로세스(블록 2A);
메시지 인식 알고리즘을 이용하여 암시적으로 선택하는 주 프로세스(블록 2B); 및
디폴트에 의한 애플리케이션 선택 프로세스(블록 2C).
단계(200)에서, 메시지 또는 APDU 커맨드가 최우선적으로 비접촉 논리 채널 상에 수신된다. 단계(205)에서, 그것이 AID를 표시하는 SELECT 커맨드인지 결정된다.
만약 그렇다면, 보안 요소 내에 설치된 애플리케이션들의 정렬 리스트(각각의 우선순위에 따라)가 선택을 위한 유효한 후보인지 결정하기 위하여 단계(210)에서 판독된다.
단계(215)에서 적어도 하나의 유효 후보가 식별되었는지 결정된다(후보들이 다수인 경우 리스트(210)의 우선순위에 따라 고려됨).
네거티브인 경우, 처리는 이하 설명될 단계(230)를 진행한다.
만약 그렇다면, OPEN이 단계(220)에서 최우선순위 유효 후보의 선택을 진행한다. 선택된 애플리케이션(테스트 225)으로부터 선택 거부가 수신되면, 처리는 리스트(210)의 우선순위를 따라 후속 유효 후보(단계 227)를 고려하기 위하여 미처리 후보들이 남아 있는지 확인한다(단계 226). 선택 작업(220)은 그와 같이 그 새로운 후보 상으로 진행된다.
단계(226)에서 고려할 아무 유효 후보도 남아 있지 않으면, 단계(228)에서 처리의 현행 규칙을 결정한다. 실제로, 여러 다른 처리 규칙이 사용될 수 있다. 예를 들어, 제1 규칙(R1)은 모든 유효 후보가 선택을 거부하면, 블록 2C를 따라 디폴트에 의한 애플리케이션의 선택을, 즉 이하 기술될 단계(230)의 처리를 진행함으로써 실행하는 것이 적합할 수 있다.
제2 규칙(R2)은, 모든 유효 후보가 선택을 거부하는 경우, 에러 메시지(SW=6999)를 전송(단계 229)하는 것이 적합할 수 있다. 그 제2 규칙에 따르면, 유효 후보가 존재하는 경우, 디폴트에 의한 애플리케이션의 선택은 고려되지 않는다.
단계(220)에서 아무 거부도 수신되지 않으면(테스트 225의 출력 "예"), 애플리케이션은 실질적으로 선택되고 처리는 단계(295)에서 종료된다.
테스트(205)(SELECT 커맨드와 상이한 수신 APDU)가 네거티브이면, 암시적 선택 프로세스가 실행되고, 이는 유효 후보 애플리케이션(특히 인식 알고리즘이 단계(200)에서 수신한 APDU 메시지 상으로 포지티브 결과를 부여하는)을 결정하기 위한 단계(235)에서 설치된 애플리케이션들의 정렬 리스트를 판독하는 것으로 구성된다.
단계(215-229)와 유사하게, 그 여러 다른 후보 애플리케이션들은 그 애플리케이션들 중 하나의 유효 선택 시까지(출구 295) 선택이(단계 245) 테스트 된다(단계 240, 이어서 250-252). 만일 모든 유효 후보 애플리케이션이 테스트 되었으나 어떠한 선택도 유효하지 않으면(테스트 251 네거티브), 규칙 R2를 적용하는 경우 에러 메시지(SW=6999)가 전송되고(단계 254), 그렇지 않으면(규칙 R1 적용) 처리는 "디폴트에 의한" 애플리케이션 선택 프로세스의 시작을 표시하면서 단계(230)를 진행한다. 마찬가지로 아무 유효 후보도 존재하지 않으면(테스트 240 네거티브), 처리는 단계(230)를 진행한다.
단계(230)에서, 그 경우 "디폴트에 의한" 애플리케이션이 선언되었는지, 즉 설치된 애플리케이션들 중 하나가 연관된 'CF' 파라미터에 의해 그렇게 선언되었는지 또는 "카드 리셋" 특권을 가지는지 결정된다.
네거티브인 경우, 아무 애플리케이션도 최종적으로 선택되지 않고 논리 채널이 베이스인 경우, 처리가 종료(단계 295)되기 전에, 단계(255)에서 개방 유지된다.
만약 그렇다면, 애플리케이션은 선택이 테스트 된다(단계 260). 그와 같이 선택된 애플리케이션으로부터 선택 거부가 수신되면 (테스트 265), 아무 애플리케이션도 최종적으로 선택되지 않고 논리 채널은, 베이스이면, 단계(255)에서, 처리가 종료(단계 295)되기 전에, 개방 유지된다. 그 대신, 어떠한 거부도 수신되지 않으면(테스트 265 포지티브), 애플리케이션은 실질적으로 선택되고 처리는 단계(295)에서 종료된다.
어쨌든 그 메커니즘들은 만족스럽지 않다.
배치된 기반 시설들은 일반적으로 시간이 지남에 따라 이질적이 된다는 것이 널리 공지되어 있다. 그것은 특히 보안 요소(정기가입을 위한)의 판독기를 구비한 액세스 탐지장치가 규칙적으로, 그러나 점진적으로 갱신되고, 업데이트 되며 동일한 통신 포맷을 유지하지 않는 (트랜잭션의 제1 개시 메시지는 판독기에 따라 변동 가능) 대중 교통 서비스에 액세스를 허용하는 인프라구조의 경우에 해당된다.
인프라구조의 발달(변경, 업데이트)로 인하여, 보안 요소 내에 내장된 해당 애플리케이션은 더는 작동하지 않는 것으로 판명될 수 있다. 보안 요소 내에 다수의 애플리케이션이 존재하므로, 연관된 인식 알고리즘에 의한 적절한 애플리케이션의 암시적 선택은 과도하게 까다로워지고, 이는 특히, 한 번에 단 하나의 알고리즘{단 하나의 쌍(알고리즘 식별자 및 연관된 파라미터들)}이 애플리케이션의 설치 시 정의될 수 없기 때문인데, 실제로 이는 그 칩 카드와의 판독기 작동을 제한한다.
도 3의 예시에서, 제1 판독기 READER_1이 설치된 교통 애플리케이션(APPLICATION_1)을 선택하기 위하여 SELECT 커맨드와 상이한 제1 유형의 COMMAND_1 커맨드를 전송하면, 그 애플리케이션은 선택이 실행되도록 그 COMMAND_1 상으로 파라미터화 된 인식 알고리즘(문자열 패턴을 따르는, 또는 바이너리 마스크를 따르는)이 있어야 한다.
그러나 제1 판독기 READER_1과는 상이하게 작동하는, 완전히 새로 설치된 판독기일 수 있는 다른 판독기 READER_2가 동일한 교통 애플리케이션을 선택하기 위하여, COMMAND_1과 상이한 유형의 COMMAND_2 커맨드를 전송하면, 그 교통 애플리케이션은 실질적으로 선택될 수 없는데, 이는 인식 알고리즘이 결과적으로 파라미터화 되지 않기 때문이다.
동일한 상황이 판독기 READER_1과 다른 포맷(COMMAND_N을 위한)에 따라 작동하는 다른 판독기 READER_N에 발생된다.
그런데 READER_1이 아닌 판독기로부터 그 애플리케이션을 암시적으로 선택할 수 있게 하는 현존하는 유일한 해결책은 그 애플리케이션을 재설치하거나 이번에는 사용할 새 판독기의 커맨드와 연관된 인식 알고리즘(즉 연관된 파라미터들)을 정의함으로써 새 버전을 인스턴스화(instantiate) 하는 것으로 구성된다.
그 해결책은 현실성이 적은데, 애플리케이션을 끊임없이 재설치할 필요가 있을 것이기 때문이거나, 인프라구조의 모든 이질성을 반영하기 위하여 동일한 애플리케이션에 상당수의 인스턴스(instance)를 설치할 필요가 있을 것이기 때문인데, 이 경우 메모리 포화 문제가 속히 야기될 수 있을 것이다.
따라서, 특히 예를 들어 진행중인 확산으로 인한 이질적인 인프라구조의 개념에서, 광범위하게 융통성 있는 보안 요소의 사용을 제공하기 위하여 그 상황을 개선할 필요가 있다.
다른 한 편으로는, 디폴트에 의한 애플리케이션의 암시적 선택 또한 만족스럽지 않다.
글로벌플랫폼 표준에 의해 제안된 메커니즘은 논리 채널에 의해 'CF' 파라미터를 이용하여(나아가 베이스 논리 채널에 대하여 "카드 리셋" 특권을 이용하여), 애플리케이션 선택을 위한 주 프로세스(암시적 또는 명시적)의 실패시에 선택될, "디폴트에 의한" 유일한 애플리케이션만을 정의할 수 있게 한다.
어쨌든 사용 컨텍스트에 따라, 또는 시간에 따라 그 "디폴트에 의한" 애플리케이션을 변경하는 것이 바람직할 수 있다. 그런데 글로벌플랫폼 표준은 디폴트에 의한 애플리케이션을 다른 애플리케이션으로 전환할 수 있는 어떠한 메커니즘도 제안하지 않는다.
그 경우 가능한 해결책들은 보안 요소를 내장하는 이동식 디바이스 상에 미들렛(Mobile Information Device Profile, 즉 내장 애플리케이션을 위한 Java 프로필) 애플리케이션을 사용하거나, 'CF' 파라미터를 이용하여 새 애플리케이션을 선언하기 위하여(새로운 설치시) "디폴트에 의하여" 선언된 애플리케이션을 제거하는 것일 것이다.
그러나 미들렛 애플리케이션에 의지하면 이동식 디바이스 내에 미들렛 애플리케이션의 에디터 인증서를 저장할 것이 요구되는데, 이는 보안상의 이유로 인하여 고려하기 어렵다.
제거에 의한 접근 또한 보안 요소 상에서의 애플리케이션들의 동적 처리가 요구되는 컨텍스트에서 문제를 야기한다. 특히 제거 및 재설치는 보안화 된 세션의 개방을 필요로 하는데, 실행이 번거롭다.
따라서, 보안 요소 내에서 디폴트에 의해 선택 가능한 애플리케이션의 동적 처리를 번거롭지 않고 복잡하지 않게 실행 가능하도록 그 상황을 개선할 필요 또한 존재한다.
이상에서 확인된 두 가지 필요성은 독립적으로 또는 함께 상기 요약된 바와 같이, 또는 이하 특별한 실시예를 참조하여 개시될 본 발명의 메커니즘에 의해 해결될 수 있다.
발명자들에 의해 제안된 하나의 해결책은, 기존의, 예를 들어 글로벌플랫폼의 기존 신호를, 현재 정의된 표준과의 호환성을 유지하면서 보안 요소 내에서 애플리케이션 선택의 융통성 및 동적 처리를 허용하기 위하여 확장하는 것이다.
특히 글로벌플랫폼에 따라(비접촉 프로토콜 파라미터들 내에서) 메시지 인식 알고리즘을 정의하는 '83' 파라미터를 확장할 것이 제안된다. 이를 위하여, 2개의 기존 알고리즘 식별자 '01' 및 '02'(도 1c)가 각각 인식 알고리즘에 의한 애플리케이션 선택을 개선하거나 디폴트에 의한 애플리케이션들의 동적 처리를 개선할 수 있게 하는 하나 또는 다수의 식별자를 보완한다.
도 4는 도 1c의 모델 상에, '83' 파라미터에 대하여 2개의 새로운 알고리즘 식별자들을 도입한 본 발명의 실시예를 결합하여, 보안 요소 내에서의(즉, INSTALL 커맨드 내에서의) 애플리케이션 설치 파라미터들의 신호 예를 도시한다.
물론 다른 실시예에서, 그 2개의 새로운 식별자들 중 하나만을 도입할 것을 고려할 수 있다.
도면상에서 '7E' 값을 취한(그러나 표준에서 이미 사용되지 않은 모든 값들도 사용 가능), 알고리즘의 제1 식별자는 그와 같이 설치된 애플리케이션에 "디폴트에 의해 선택 가능한 애플리케이션"의 상태를 처리할 수 있게 한다. 그 새로운 식별자를 사용함으로써, 단 하나의 애플리케이션('CF' 파라미터로 지정된 애플리케이션 또는 베이스 논리 채널에 대하여 "카드 리셋" 특권을 갖는 애플리케이션)만이 아닌 설치된 상당수의 애플리케이션을 디폴트에 의해 선택 가능한 것으로 정의하는 것이 가능하다. 또한, 예를 들어 MIDLET 결합 및/또는 CRS(글로벌플랫폼 표준에서 정의된 Contactless Registry Service) 및/또는 CREL(글로벌플랫폼 표준에서 정의된 Contactless Registry Event Listener) 애플리케이션 디바이스들을 사용하여, 그 파라미터를 위치시키고 예를 들어 애플리케이션의 휘발성 우선순위에 대하여, 또는 예를 들어 애플리케이션들의 활성화/비활성화에 대하여 작동하게 하는 가능성에 연관시킴으로써, 보안 요소 내에서 디폴트로 선택 가능한 하나 또는 다수의 애플리케이션의 동적 처리를 수득할 수 있게 한다.
그 새로운 식별자에 연관된 알고리즘 파라미터들은 예를 들어 "SET_SELECTION" 상태에 해당하는 '01' 값을 조사함으로써, "디폴트로 선택 가능한" 그 상태를 적절히 정의할 수 있게 한다.
통상적 처리에서(도 2), 애플리케이션 리스트는 애플리케이션들의 우선순위에 따라 판독되므로(정적 우선순위 및 휘발성 우선순위를 고려하는, 단계 235), 그 '7E' 파라미터를 이용하여, 기댓값, 여기서는 '7E01' 값을 표시하는 연관된 선택 파라미터를 갖는 최우선순위의 애플리케이션(다시 말하자면, 판독된 제1 애플리케이션)을 설치하는 것이 가능하다. 곧이어 이것은 도 6 및 6b와 연관하여 기술된다. 물론, 하위 값 '7E'가 예시일 뿐인 것과 마찬가지로, 다른 하위 값 '01' 또한 예시일 뿐이고, 다른 사용 가능한 값들이 변형으로써 사용될 수 있다.
일 실시예에서, 그 최우선순위 애플리케이션 선택 기능의 비활성화 상태 또한, 선택 파라미터 값을 기반으로 정의할 수 있다. 용이한 처리를 허용하기 위하여, 그 비활성화 상태는 아무 애플리케이션(예를 들어 카드 내에 새로 설치된 애플리케이션)의 위치에서나 정의될 수 있는데, 이는 "디폴트로 선택 가능한" 상태를 갖는 기존 설치 애플리케이션들의 제거 작업을 면하게 한다.
그 비활성화 상태는 선택 파라미터에 대하여 다른 값, 예를 들어 도면에 도시된 바와 같이 그 'CANCEL_SELECTION" 상태에 대한 '00' 값을 사용하여 수득될 수 있다. 따라서, 판독된 애플리케이션의 연관된 선택 파라미터가 '7E00'을 표시하면, 상기 최우선순위의 애플리케이션 선택은 비활성화된다. 특히, 선택 파라미터가 '7E01'과 동등한지 확인하는 기준을 근거로 아무 애플리케이션도 선택되지 않는다. 다시 한 번, 하위 값 '7E'는 예시일 뿐이며, 다른 하위 값 '00' 또한 예시일 뿐이고, 사용 가능한 다른 값들이 변형으로써 사용될 수 있다.
그 선택 메커니즘의 비활성화 경우에, 또한 그 선택이 하나의 애플리케이션 선택에 이르지 않으면, 통상의 디폴트에 의한 애플리케이션 선택 알고리즘(글로벌플랫폼에 따른)은 따라서 처리 규칙 R1이 사용되면 실행된다. 규칙 R2의 사용은, 상술한 바와 같이, 유효 애플리케이션 후보들 전체의 선택 거부시에 '6999' 메시지 방출에 이르게 한다.
본 발명의 본 실시예에 도입된 제2 알고리즘 식별자는 도면에서 '7F' 값을 취한다(그러나 기존 사용되지 않은 다른 모든 값도 적합할 수 있음). 그것은 연관된 애플리케이션이 선택 가능한지를 결정하기 위하여 수신 메시지에 적용할 적어도 2개의 메시지 인식 알고리즘을 표시할 수 있게 한다. 도 6 및 도 6b를 참조하여 이하 더욱 상세히 기술된 그 메커니즘은 그와 같이 이질적인 인프라구조 장비들(판독기들)에 의하여 동일한 애플리케이션을 선택하는 데 있어서 더욱 광범위한 융통성을 허용한다.
그와 같이 설치된 애플리케이션과 연관된 인식 알고리즘들의 리스트는, 글로벌플랫폼에서 정의된 2개 이상의 쌍의 발생(occurrence)[알고리즘 식별자 '01' 또는 '02' - 알고리즘 파라미터들]에 의해, 그 새로운 식별자에 연관된 알고리즘 파라미터들에 의해 정의된다.
필요한 경우, 상기한 '7E' 식별자를 기반으로 디폴트에 의해 애플리케이션을 선택하는 메커니즘이 설정되면, '7F'에 대한 그 알고리즘 파라미터들 또한 설치된 애플리케이션의 "디폴트로 선택 가능한" 상태를 표시하기 위하여 ['7E' - 알고리즘 파라미터 '00' 또는 '01'] 발생을 포함할 수 있다.
다시 말하자면, 그와 같이 도입된 '7F'는 설치된 애플리케이션에 대하여 다수의 쌍 [알고리즘 식별자 - 연관된 알고리즘 파라미터들]의 연쇄화를 가능하게 한다. 이는 애플리케이션이 이후 다수의 커맨드 유형에 의해 암시적으로 선택될 수 있음을 의미한다. 이는 도 5에 도 3의 상황을 다시 채택하여 도시 되었다.
이후, 애플리케이션(APPLICATION_1)이 커맨드(COMMAND_1, COMMAND_2, ..., COMMAND_N)에 대하여 각각 정의된 다수의 인식 알고리즘과 연관하여 설치되었다. 따라서, 커맨드들(COMMAND_2 및 COMMAND_N)이 보안 요소에 의해 수신될 때, 인식 알고리즘들 중 하나의 결과는 애플리케이션(APPLICATION_1)의 유효한 선택을 허가하는 포지티브이다(그 애플리케이션이 보안 요소 내에서 활성화되어 있고 선택 가능하면, 그리고 보안 요소의 비접촉 인터페이스에 액세스 허가되면).
INSTALL 커맨드에 대하여 도 4에 제안된 새로운 포맷은 이후 TLV 구조들에 의한 애플리케이션들의 선택 알고리즘들의 광범위한 정의들의 범위를 제공하는데(글로벌플랫폼에 대하여 현재 가능한 2개의 정의를 비교할 때), 정의들은 예를 들어 총망라되지 않은 이하 정의들('83' 파라미터로부터만)이다:
문자열에 의한 2개의 인식 알고리즘을 정의하는
[83](길이)[01][오프셋][패턴]
[83](길이)[02][레퍼런스 데이터][마스크]
[83](길이)[7E][00]
[83](길이)[7E][01]
[83](길이)[7F](길이)[01][오프셋][패턴]
[83](길이)[7F](길이)[02][레퍼런스 데이터][마스크]
[83](길이)[7F](길이)[02][7E][00]
[83](길이)[7F](길이)[02][7E][01]
[83](길이)[7F](길이)[01][오프셋 1][패턴 1](길이)[01][오프셋 2][패턴 2]
하나는 문자열에 의하여, 나머지 하나는 바이너리 마스크에 의하여, 2개의 인식 알고리즘을 정의하는
[83](길이)[7F](길이)[01][오프셋][패턴](길이)[02][레퍼런스 데이터][마스크]
문자열 및 바이너리 마스크에 의하여 3개의 인식 알고리즘을 혼합하는
[83](길이)[7F](길이)[01][오프셋][패턴][02][7E][00]
[83](길이)[7F](길이)[01][오프셋][패턴][02][7E][01]
[83](길이)[7F](길이)[01][오프셋 1][패턴 1](길이)[01][오프셋 2][패턴 2]
[02][7E][01](길이)[02][레퍼런스 데이터 1][마스크 1]
바이너리 마스크에 의하여 n개의 인식 알고리즘을 정의하는
[83](길이)[7F](길이)[02][레퍼런스 데이터 1][마스크 1](길이)[02][레퍼런스 데이터 2][마스크 2]...(길이)[02][레퍼런스 데이터 n][마스크 n]
문자열에 의하여 n개의 인식 알고리즘을 정의하는
[83](길이)[7F](길이)[01][오프셋 1][패턴 1](길이)[01][오프셋 2][패턴 2]...(길이)[01][오프셋 n][패턴 n]
문자열에 의한 n개의 인식 알고리즘을 바이너리 마스크에 의한 m개의 인식 알고리즘과 혼합하는
[83](길이)[7F](길이)[01][오프셋 1][패턴 1](길이)[01][오프셋 2][패턴 2]...(길이)[01][오프셋 n][패턴 n](길이)[02][레퍼런스 데이터 1][마스크 1](길이)[02][레퍼런스 데이터 2][마스크 2]...(길이)[02][레퍼런스 데이터 m][마스크 m].
물론, 다수의 다른 정의들이 가능하다.
알고리즘 식별자들의 "조건적" 존재는 그 식별자들이 서로 상호 배타적임을 나타내는 것으로 주지해야 한다. 다시 말하자면, 식별자들 중 하나만이 존재해야 한다.
'7F' 알고리즘 내에서 파라미터들의 "선택적" 존재는 그것의 사용상 어떠한 제한도 나타내는 것이 아니다.
도 6 및 도 6b는 플로차트를 이용하여, 본 발명의 실시예에 따른, 도 5의 신호 사용에 기반을 둔 보안 요소 내 애플리케이션 선택의 처리를 도시한다.
도 2의 단계들과 동일한 참조부호를 갖는 단계들은 도 2의 단계들과 동일하다.
도 6 및 도 6b의 알고리즘은 각각 이하 항목에 해당하는 4개의 처리 블록을 포함한다:
- 수신된 SELECT 커맨드로부터 명시적으로 선택하는 주 프로세스. 도 2와 동일한 블록 2A;
- 메시지 인식 알고리즘을 이용하여 암시적으로 선택하는 주 프로세스. 본 발명의 실시예에서 이전에 거론된 '7F' 확장자(extension)를 처리해야 하는 블록 6B. 그 블록 6B는 '7F' 확장자가 실행되지 않을 때 블록 2B에 해당할 수 있음;
- 본 발명의 실시예에 따른 디폴트에 의한 애플리케이션의 암시적 선택 프로세스. 이전에 거론된 '7E' 확장자를 기반으로 하는 블록 6D. 그 블록 6D는 '7F' 확장자가 실행되지 않을 때 생략될 수 있음(예를 들어, 도 2에 예측된 바와 같이);
- 디폴트에 의한 애플리케이션의 선택 프로세스. 도 2와 동일한 블록 2C.
상세하게는, APDU 메시지 수신 단계(200) 및 그것이 SELECT 커맨드인지 결정하는 단계(205)는 도 2의 단계들과 동일하다. SELECT 커맨드인 경우, 명시적 선택 주 프로세스 2A가 도 2와 동일하게 실행된다. 그 주 프로세스 2A의 종료시에 아무 애플리케이션도 실질적으로 선택되지 않으면(아무 후보 애플리케이션도 탐지되지 않은 경우 포함), 디폴트에 의한 애플리케이션의 암시적 선택 프로세스 6D가 이하 기술되는 바와 같이 실행되게 될 것이다. 이를 위하여, 단계(600)에서, 그 암시적 선택 6D에 대하여 타깃인 디폴트에 의하여 애플리케이션을 지정하는 변수 TARGET_UIS가 NULL에서 초기화되고 선택의 주 프로세스의 성질을 나타내는 변수 PR이 FALSE로 설정된다(사용된 주 프로세스가 명시적 선택 프로세스이면 PR=FALSE; 암시적 선택 프로세스이면 PR=TRUE). 초기화 값 NULL 외에, 변수 TARGET_UIS는 설치된 디폴트에 의한 애플리케이션을 식별하는 값(예를 들어 애플리케이션의 유일 식별자를 통하여) 또는 그 선택 프로세스 6D가 비활성화되었을 때 CANCEL 값을 취할 수 있다. 그 후 애플리케이션들의 정렬 리스트가 단계(235)에서 판독될 것이다.
반면에, 수신 메시지가 SELECT 커맨드가 아니면, 암시적 선택 주 프로세스 6B가 실행된다.
그것은 변수 TARGET_UIS(NULL에서) 및 PR을 TRUE에서 초기화하는 초기 단계(602)를 포함한다(하나의 암시적 선택 주 프로세스가 실행됨을 표시하기 위해). 그 후 애플리케이션들의 정렬 리스트가 단계(235)에서 판독될 것이다.
판독되지 않은 후보 애플리케이션들이 있는 한{최우선순위 애플리케이션의 초기 선택(605), 이어서 테스트(251)}, 각 애플리케이션이 리스트의 순서대로 애플리케이션들 사이에서 처리된다(선택 252). 이를 위하여, 현재 판독되는 애플리케이션과 연관되고 아직 처리되지 않았던 인식 알고리즘이 존재하는지 결정한다(테스트 610). 실제로 알고리즘 식별자('83' 파라미터로서)가 아직 처리되지 않았었는지 테스트하는 것이다.
네거티브인 경우, 단계(251) 및 단계(252)를 통하여 후속 후보 애플리케이션으로 넘어간다.
그러한 식별자가 아직 처리되지 않았다면, 그 값은 단계(615)에서 결정된다.
무효값(즉, '01', '02', '7E' 또는 '7F'와 상이함)인 경우, 아직 고려되지 않은 애플리케이션들을 처리하기 위하여 단계(251)로 돌아간다.
값이 '7F'인 경우, '7F' 확장자에 연관된 변수들에서 정의된 쌍[알고리즘 식별자 - 연관된 알고리즘 파라미터들]을 고려하기 위하여 단계(610)으로 돌아간다.
그 값이 관례적인 값 '01' 또는 '02' 중 하나이면, PR 값은 암시적 선택 주 프로세스 6B를 실행하기에 적절한지 결정하기 위하여 단계(620)에서 테스트 된다. 실제로, 그 암시적 프로세스는, 글로벌플랫폼 표준에 따라, 명시적 선택 주 프로세스 2A와 배타적이다. 또한, PR=FALSE이면(단계 600에서 정의), 문자열 또는 바이너리 마스크에 의한 메시지 인식 알고리즘들은 실행되면 안 된다. 따라서, 테스트(620)(PR=TRUE?)가 네거티브이면, 프로세스는 현재 애플리케이션에 대하여 정의되는 모든 식별자들을 판독하고 그 애플리케이션이 디폴트에 의해 선택 가능한지(그와같이 '7E' 식별자를 통하여 정의되므로) 결정하기 위하여 단계(610)로 돌아간다.
반면에, 테스트(620)가 어떠한 명시적 선택 주 프로세스 2A도 실행되지 않았었음을 의미하는 포지티브이면, 테스트(625)는 해당 인식 알고리즘(각각 단계 630 및 635)을, 입력부에서 수신된 메시지 상으로(단계 200), 실행하기 위하여 2개의 식별자 '01' 및 '02' 사이를 구분하는데 사용된다. 후속 단계(640)는 알고리즘 실행 결과가 글로벌플랫폼 표준의 의미에서 포지티브인지 결정하는 것으로 구성되는데, 그 경우 OPEN은 단계(245)에서 현재 애플리케이션의 선택을 테스트한다. 수득 결과에 따라(선택의 거부 또는 아님 - 테스트 250), 처리는 단계(295)에서 종료되거나(선택 유효시), 단계(610)으로 진행한다(선택 거부시).
알고리즘 실행 결과가 단계(640)에서 네거티브이면, 처리는 단계(610)에서 직접 실시된다.
따라서, 암시적 선택 주 프로세스 6B는 종료되는데, 그 프로세스 동안 어떠한 애플리케이션도 실질적으로 선택되지 않은 한, 리스트의 각 애플리케이션이 판독되고 그 애플리케이션과 연관하여 정의된 메시지 인식 알고리즘이 포지티브이면 선택하기 위하여 테스트 된다.
결국, 어떠한 애플리케이션도 주 선택 프로세스 2A 및 6B 중 하나의 과정 동안 선택되지 않으면, 디폴트에 의한 애플리케이션의 암시적 선택 프로세스 6D가 처리 규칙 R1이 사용될 때 개시된다(테스트 253). 그렇지 않으면, 메시지 '6999'가 방출된다 (단계 254).
디폴트에 의한 애플리케이션의 암시적 선택 프로세스 6D는 2개의 부분으로 구성되는데, 한 부분은 정렬 리스트의 애플리케이션들에 대하여 정의된 인식 알고리즘들 전체를 판독하는 루프 내에 인터리브(interleave) 되고, 나머지 부분은 그 루프의 결과를 이용한다.
암시적 주 선택 프로세스 6B가 실패하였으므로, 리스트의 모든 애플리케이션들이 루프 (251-252) 동안 테스트 되었다.
판독된 각 애플리케이션에 대하여, 단계(615)에서 테스트 된 알고리즘 식별자가 '7E'에 해당하면, 연관된 파라미터 값은 단계(645)에서 테스트 된다.
그 값이 CANCEL_SELECTION에 해당하면, 변수 TARGET_UIS는 본 발명에 의해 제안된 프로세스 6D에 따라, 디폴트에 의한 애플리케이션 선택을 비활성화하기 위하여 'CANCEL'로 설정된다. 그것은 단계(650)이며, 이어서 처리는 단계(610)로 돌아간다.
식별자 '7E'에 연관된 파라미터 값이 'SET_SELECTION'에 해당하면, 변수 TARGET_UIS의 값은 단계(655)에서 테스트 된다.
변수 TARGET_UIS의 값이 'CANCEL'(단계 650에서 주어진 값), 또는 'XXXX' 애플리케이션 식별자이면(테스트의 "아니오" 출력), 처리는 단계(610)를 따르는 인식 알고리즘으로 간다.
그 값이 'NULL'이면, 현재 애플리케이션은, '7E'에 연관된 파라미터가 'SET_SELECTION'에 해당하는, 판독된 리스트 내의 최우선순위 애플리케이션, 즉 디폴트에 의한 암시적 선택을 위한 최우선순위의 애플리케이션이다. 또한, 변수 TARGET_UIS는 단계(660)에서, 현재 애플리케이션의 'XXXX' 식별자의 값을 취한다. 그후 처리는 단계(610)으로 진행한다.
결국, 모든 애플리케이션들이 판독되었을 때(테스트 605에서 "아니오" 출력), 변수 TARGET_UIS는 이하 3개의 값을 취할 수 있다:
- 어떠한 '7E' 알고리즘도 'CANCEL_SELECTION' 또는 'SET_SELECTION' 값으로 애플리케이션에 대하여 정의되지 않았으면 'NULL';
- 적어도 하나의 애플리케이션이, 파라미터가 'CANCEL_SELECTION'인 '7E' 유형의 연관된 인식 알고리즘을 소유하고 있으면 'CANCEL'. 그 경우, 어떠한 애플리케이션도 '7E' 식별자에 기초하는 본 발명에 따른 메커니즘을 사용하여 디폴트에 의해 선택되면 안 됨;
- 연관된 '7E' 알고리즘이 'SET_SELECTION'으로 설정된 파라미터를 포함하는 최우선순위 애플리케이션을 식별하는 'XXXX'. 그 경우, 어떠한 애플리케이션도 디폴트에 의한 애플리케이션의 암시적 선택 메커니즘 6B를 비활성화하는 연관된 파라미터 '7E'로 설치되지 않았음.
그 다수의 가능한 값들을 고려하여, 프로세스 6B의 후속은, 변수 TARGET_UIS가 애플리케이션을 식별하는지(값 'XXXX')를 결정하는 것으로 구성되는 단계(665)를 후속하여 동작한다. 그러한 경우라면, 그 애플리케이션은 단계(220) 및 단계(245)와 유사한 단계(670)에서 선택이 테스트 된다. 성공의 경우(테스트 680), 그 처리는 종료된다(단계 295).
실패의 경우(테스트 680) 또는 TARGET_UIS가 애플리케이션을 지정하지 않으면, 처리는 통상의 글로벌플랫폼 메커니즘에 따라, 특히 'CF' 파라미터 및/또는 "카드 리셋" 특권을 기반으로 디폴트에 의한 애플리케이션 선택 프로세스 2C에 의해 진행된다. 그 프로세스가 실패하면, 논리 채널이, 베이스이면, 단계(255)에서 처리가 종료되기 전에(단계 295) 개방 유지된다.
이상에서 '7E' 태그가 가능한 최대다수의 애플리케이션들에 대하여 디폴트에 의한 애플리케이션의 암시적 선택을 확장할 수 있게 함이 개시되었다. 그 태그와 휘발성 우선순위 메커니즘과의 결합은 디폴트에 의해 선택 가능한 애플리케이션의 처리에 더 많은 역동성 및 유연성을 마련해준다.
실제로, 휘발성 우선순위를 갖추고 '01'인 태그 '7E'를 갖는 애플리케이션이 디폴트로 선택될 것이다. 그런데 그 휘발성 우선순위의 우선순위는 단순 미들렛을 이용하여, 용이하게 변경될 수 있는데(특히 보안 세션에 의존하지 않고), 예를 들어 사용함으로써 마스터 디바이스 내에 대화형 메뉴를 개설할 수 있고 디폴트에 의해 암시적으로 선택 가능하게 되기를 원하는 애플리케이션을 선택할 수 있다. 따라서 본 발명은 우선적으로 디폴트로 선택 가능한 애플리케이션을 용이하게 변경할 수 있게 한다.
예시로서, MIDLET 및/또는 CRS 및/또는 CREL 애플리케이션들의 디바이스를 결합하여 사용함으로써 휘발성 우선순위의 우선순위를 정의하거나 변경할 수 있다.
CREL은 보안 요소 상에 설치된 비접촉 애플리케이션들에 헌정된다. 그것의 설치시에, 그 애플리케이션들은 CREL을 참조(referencing)할 수 있는데(헌정된 파라미터를 통하여), 즉 CREL 상에 저장할 수 있다. 그 참조 덕분으로, CREL은 애플리케이션들에 직접 작용할 수 있는데, 특히 그 애플리케이션들을 조정하는 레지스터 상에서, 예를 들어 애플리케이션에서 휘발성 우선순위 문자의 삭제, 하나 또는 다수의 애플리케이션의 활성화/비활성화 등을 위하여 직접 작동할 수 있다.
CRS는 보안 요소 상에 설치된 비접촉 애플리케이션들의 관리에 헌정된다. 그것은 사용자에게 특히 모든 애플리케이션들(단독 애플리케이션들 또는 애플리케이션 그룹)의 리스트를 수거할 수 있게 하고, 애플리케이션들을 활성화 또는 비활성화 가능하게 하고, 비접촉 인터페이스 상에서 애플리케이션들의 휘발성 우선순위의 우선순위를 변경할 수 있게 하는 수단들을 제공한다.
휘발성 우선순위를 통한 동적 처리 외에, 디폴트에 의해 선택된 애플리케이션의 동적 처리 또한 다른 단순 메커니즘들을 기반으로 할 수 있다.
예를 들어, 사용자는, '01'로 설정된 '7E' 태그를 그 외에 갖는 원하는 애플리케이션을 제외한 모든 비접촉 애플리케이션들을 비활성화하기 위하여 미들렛을 통하여 CREL 및/또는 CRS 디바이스를 원용할 수 있다.  따라서 그 애플리케이션은, 'CF' 태그 또는 "카드 리셋" 속성을 갖는 모든 애플리케이션(접촉식이든 아니든)보다 선호되어 암시적으로 선택 가능할 것이다.
다른 예에서, 특정한 이벤트가, '01'로 설정된 '7E' 태그를 갖는 원하는 애플리케이션을 제외한 모든 비접촉 애플리케이션들의 비활성화를, 미들렛을 통하여 그리고/또는 CRS를 통하여 그리고/또는 CREL을 통하여, 자동으로 개시할 수 있다.  예시로서, 그 특정 이벤트는 보안 요소가 위치하는 지리적 영역의 대중교통 애플리케이션을 활성화하고 디폴트로 선택 가능하게 할 수 있는 마스터 디바이스에 의해 수득된 지리적 위치 파악 이벤트일 수 있다.
설치된 애플리케이션을 위한 비접촉 프로토콜 파라미터들의 적절한 파라미터화는, 상기 제안된 하나 또는 다수의 확장자를 사용함으로써, 애플리케이션 공급자들의 인증 또는 허가의 존재를 필요로 하지 않는, 개선되고 더욱 완전히 제어되는 칩 카드 내에서의 암시적 선택 프로세스를 제공한다는 것을 이상의 예들을 통하여 알 수 있다.
그 예들은 본 발명의 실시예들일 뿐이고 본 발명을 한정하지 않는다.

Claims (17)

  1. 멀티-애플리케이션 보안 요소 내에 설치된 타깃 애플리케이션을 암시적으로 선택하는 방법으로서, 보안 요소에서
    a) 적어도 하나의 메시지를 수신하는 단계;
    b) 메모리에서 타깃 애플리케이션과 연관된 선택 파라미터를 수득하는 단계 - 상기 선택 파라미터는 상기 타깃 애플리케이션이 선택 가능한지를 결정하기 위하여 상기 수신된 메시지에 적용할 적어도 2개의 메시지 인식 알고리즘을 표시하고, 상기 메시지 인식 알고리즘들은 각각 상기 메시지에 적용할 문자열의 패턴 또는 바이너리 마스크를 정의함 - ;
    c) 상기 수신된 메시지 상에서, 상기 타깃 애플리케이션과 연관된 상기 선택 파라미터에 의하여 표시된 상기 인식 알고리즘들을 실행하는 단계 - 상기 문자열의 패턴에 의한 메시지 인식 알고리즘은 상기 패턴과 상기 메시지의 적어도 일부 사이에 바이너리 매치가 있는지를 결정하고, 상기 바이너리 마스크에 의한 메시지 인식 알고리즘은 상기 메시지에 상기 바이너리 마스크를 적용함 - ;
    d) 상기 인식 알고리즘들 중 하나의 결과가 상기 패턴과 상기 메시지의 일부 사이의 바이너리 매치를 지시하거나 바이너리 마스킹 결과가 제로인 것을 지시할 때만 상기 타깃 애플리케이션을 선택하는 단계 - 상기 선택하는 단계는 상기 타깃 애플리케이션과 연관된 유일한 애플리케이션 식별자로 상기 타깃 애플리케이션을 식별하는 애플리케이션 선택 커맨드를 수신하지 않고 행해짐 -; 및
    상기 선택된 타깃 애플리케이션에 의해 상기 수신된 메시지를 실행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 타깃 애플리케이션을 포함하는 상기 보안 요소 내에서 하나 또는 다수의 설치된 애플리케이션의 정렬 리스트를 수득하는 단계 - 각각의 애플리케이션은 메모리에서 각각의 선택 파라미터에 연관되고, 상기 선택 파라미터는 상기 연관된 애플리케이션이 선택 가능한지를 결정하기 위하여 상기 수신된 메시지에 적용할 적어도 하나의 인식 알고리즘을 식별함 - ; 및
    상기 정렬 리스트를 판독하고 어떠한 애플리케이션도 선택 가능하지 않은 한, 각각의 판독된 애플리케이션에 대하여 상기 단계 c) 및 단계 d)를 실행하는 단계
    를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 정렬 리스트의 판독 종료시에 상기 정렬 리스트의 어떠한 애플리케이션도 선택되지 않으면 디폴트에 의해 애플리케이션을 선택하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 디폴트에 의한 애플리케이션의 선택은, 상기 정렬 리스트의 판독시에, 각각의 판독된 애플리케이션과 연관된 선택 파라미터가 제1 사전 설정된 값을 표시하는지를 확인하는 단계를 포함하고;
    상기 제1 사전 설정된 값을 표시하는 상기 연관된 선택 파라미터를 갖는 최우선순위의 애플리케이션을 선택하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 정렬 리스트는 상기 애플리케이션들에 할당된 우선순위에 따라 정렬되고, 하나의 정적 우선순위는 각 애플리케이션의 설치시에 각 애플리케이션에 할당되고, 모든 정적 우선순위에 우선하는 하나의 휘발성 우선순위는, 상기 보안 요소의 휘발성 메모리에서, 최대한 하나의 애플리케이션 또는 하나의 애플리케이션 그룹에 할당되고,
    상기 방법은 상기 휘발성 우선순위의 할당을 제1 애플리케이션 또는 제1 애플리케이션 그룹에서 제2 애플리케이션 또는 제2 애플리케이션 그룹으로 변경하는 단계를 더 포함하는, 방법.
  6. 제4항 또는 제5항에 있어서, 상기 방법은 상기 정렬 리스트의 판독시, 판독된 애플리케이션과 연관된 선택 파라미터가 제2 사전 설정된 값을 표시하는지를 확인하는 단계를 더 포함하고,
    상기 애플리케이션들 중 하나에 연관된 선택 파라미터가 상기 제2 사전 설정된 값을 표시하는지를 확인하면, 상기 최우선순위 애플리케이션의 선택이 비활성화되는, 방법.
  7. 제4항 또는 제5항에 있어서, 상기 방법은 상기 정렬 리스트 판독의 종료시에 어떠한 최우선순위의 애플리케이션도 선택되지 않으면 사전 설정된 애플리케이션을 선택하는 단계를 더 포함하는, 방법.
  8. 제3항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은 상기 디폴트에 의한 애플리케이션이 활성화되어 있지도 않고, 상기 보안 요소 내에서 선택 가능하지도 않고, 상기 보안 요소의 통신 인터페이스에 액세스 허가되지도 않으면, 아무 애플리케이션도 선택하지 않는 단계를 더 포함하는, 방법.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은 글로벌플랫폼 카드 표준에 따르는 INSTALL 커맨드의 수신 이전에 상기 타깃 애플리케이션을 설치하는 사전 단계를 더 포함하고, 상기 INSTALL 커맨드는 상기 타깃 애플리케이션과 연관된 상기 선택 파라미터를 포함하는, 방법.
  10. 제9항에 있어서, 하나의 애플리케이션과 연관된 상기 선택 파라미터는 글로벌플랫폼 카드 표준에 따라 상기 애플리케이션에 대하여 정의된 비접촉 프로토콜 파라미터들 내에 '83' 값으로 식별되는 파라미터를 포함하는, 방법.
  11. 제10항에 있어서, 하나의 애플리케이션과 연관된 상기 선택 파라미터는 하나의 유일한 알고리즘 식별자 및 적어도 하나의 알고리즘 파라미터를
    i) 문자열에 의해 유일한 인식 알고리즘을 지정하기 위한, '01' 값과 동등한 알고리즘 식별자 및 연관된 파라미터들;
    ii) 바이너리 마스크에 의해 유일한 인식 알고리즘을 지정하기 위한, '02' 값과 동등한 알고리즘 식별자 및 연관된 파라미터들;
    iii) 상기 제1 및 제2 사전 설정된 값들의 공유 알고리즘 식별자 및 상기 2개의 사전 설정된 값들을 구분하는 연관된 파라미터;
    iv) 상기 i), ii) 및 iii)의 식별자와는 다른 값에 동등한 알고리즘 식별자, 및 상기 i) 및/또는 ii) 및/또는 iii)에 따르는 알고리즘 식별자들과 연관된 파라미터들의 리스트를 포함하는 연관된 파라미터들
    중에서 포함하는, 방법.
  12. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 메시지는 ISO 7816-4 표준에 따르는 애플리케이션 프로토콜 데이터 유닛 또는 APDU 유형인, 방법.
  13. 삭제
  14. 삭제
  15. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 애플리케이션이 활성화되고 상기 보안 요소 내에서 선택 가능한 것으로 파라미터화 되었을 때만, 그리고 상기 보안 요소의 통신 인터페이스에 액세스 허가될 때만, 상기 보안 요소 내에 설치되는 애플리케이션을 선택하는 단계를 더 포함하는, 방법.
  16. 타깃 애플리케이션을 암시적으로 선택하는 보안 요소로서,
    메모리에 다수의 애플리케이션을 포함하고,
    적어도 하나의 메시지를 수신하도록 구성된 통신 인터페이스;
    메모리에, 타깃 애플리케이션과 연관된 선택 파라미터를 수득하도록 구성된 파라미터 수득 모듈 - 상기 선택 파라미터는 상기 타깃 애플리케이션이 선택 가능한지를 결정하기 위하여 상기 수신된 메시지에 적용할 적어도 2개의 메시지 인식 알고리즘을 표시하고, 상기 메시지 인식 알고리즘들은 각각 상기 메시지에 적용할 문자열의 패턴 또는 바이너리 마스크를 정의함 - ;
    상기 수신된 메시지 상에서 상기 타깃 애플리케이션과 연관된 상기 선택 파라미터에 의해 표시된 인식 알고리즘들을 실행하도록 구성된 프로세서 - 상기 문자열의 패턴에 의한 메시지 인식 알고리즘은 상기 패턴과 상기 메시지의 적어도 일부 사이에 바이너리 매치가 있는지를 결정하고, 상기 바이너리 마스크에 의한 메시지 인식 알고리즘은 상기 메시지에 상기 바이너리 마스크를 적용함 - ; 및
    상기 인식 알고리즘들 중 하나의 결과가 상기 패턴과 상기 메시지의 일부 사이의 바이너리 매치를 지시하거나 바이너리 마스킹 결과가 제로인 것을 지시할 때만 상기 타깃 애플리케이션을 선택하도록 구성된 애플리케이션 선택 모듈 - 상기 선택은 상기 타깃 애플리케이션과 연관된 유일한 애플리케이션 식별자로 상기 타깃 애플리케이션을 식별하는 애플리케이션 선택 커맨드를 수신하지 않고 행해짐 -
    을 포함하고,
    상기 선택된 타깃 애플리케이션에 의해 상기 수신된 메시지를 실행하도록 구성된 보안 요소.
  17. 컴퓨터 상에서 실행될 때, 제1항 내지 제5항 중 어느 한 항에 따른 방법의 각 단계를 실행하도록 구성되는 명령어들을 포함하는 프로그램이 저장된 컴퓨터 판독가능 기록 매체.
KR1020160077912A 2015-06-22 2016-06-22 수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템 KR101965033B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1555712A FR3037685B1 (fr) 2015-06-22 2015-06-22 Procede et systeme ameliores de selection implicite d'une application dans un element securise, a partir d'un message recu
FR1555712 2015-06-22

Publications (2)

Publication Number Publication Date
KR20160150608A KR20160150608A (ko) 2016-12-30
KR101965033B1 true KR101965033B1 (ko) 2019-04-02

Family

ID=55072753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160077912A KR101965033B1 (ko) 2015-06-22 2016-06-22 수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템

Country Status (3)

Country Link
KR (1) KR101965033B1 (ko)
CN (1) CN106326791B (ko)
FR (1) FR3037685B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115167952B (zh) * 2022-08-25 2023-01-20 深圳市汇顶科技股份有限公司 一种安全元件、应用程序管理方法及电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523636A (ja) * 2009-04-14 2012-10-04 ゼットティーイー コーポレイション 強化型近距離無線通信端末、スマートカード及びその通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824929B1 (fr) * 2001-05-18 2003-08-08 Gemplus Card Int Deploiement d'application depuis une carte a puce
EP2048590B1 (en) * 2007-10-09 2014-10-01 Vodafone Holding GmbH Method for communication, communication device and secure processor
CN101939963B (zh) * 2007-12-07 2016-11-16 法国电信公司 用于控制在与移动终端相关联的安全模块上安装的应用的方法、相关联的安全模块、移动终端、和服务器
ES2436117T3 (es) * 2008-03-27 2013-12-27 Motorola Mobility Llc Método y aparato para la selección automática de aplicaciones en un dispositivo electrónico utilizando múltiples administradores de descubrimiento
KR20100013363A (ko) * 2008-07-31 2010-02-10 주식회사 신한은행 글로벌 플랫폼 기반 아이씨 카드와 그 운영 방법 및 이를위한 기록매체
CN101833817B (zh) * 2009-03-11 2014-08-13 中兴通讯股份有限公司 一种非接触电子支付中实现应用选择的方法及终端
FR2980867B1 (fr) * 2011-10-04 2013-10-18 Inside Secure Procede et systeme pour executer une transaction sans contact autorisant de multiples applications et de multiples instances d'une meme application
CN102612026B (zh) * 2011-12-19 2016-02-17 大唐微电子技术有限公司 适用于专用移动通信需求的智能卡及其安全控制方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523636A (ja) * 2009-04-14 2012-10-04 ゼットティーイー コーポレイション 強化型近距離無線通信端末、スマートカード及びその通信方法

Also Published As

Publication number Publication date
FR3037685B1 (fr) 2018-11-02
FR3037685A1 (fr) 2016-12-23
CN106326791B (zh) 2019-01-01
CN106326791A (zh) 2017-01-11
KR20160150608A (ko) 2016-12-30

Similar Documents

Publication Publication Date Title
US10645568B2 (en) Carrier configuration processing method, device and system, and computer storage medium
EP2302549B1 (en) Platform security apparatus and method thereof
JP5607170B2 (ja) 安全なポータブルオブジェクト
US10268845B2 (en) Securing of the loading of data into a nonvolatile memory of a secure element
CN100583114C (zh) 用于远程安全启用的系统和方法
CN110597531B (zh) 分布式的模块升级方法、装置及存储介质
EP3416121B1 (en) Digital wallet application for mobile payment
KR101965033B1 (ko) 수신 메시지로부터, 보안 요소에서 애플리케이션을 암시적 선택하는 개선된 방법 및 시스템
CN112312400B (zh) 一种接入控制方法、接入控制器及存储介质
US20240076162A1 (en) Maintenance of a conveyor system
CN112478966B (zh) 电梯及其调试方法、调试平台以及调试终端
CN106576239B (zh) 一种安全单元中内容管理的方法及装置
CN106919812B (zh) 一种应用进程权限管理方法和装置
CN111372224A (zh) eSIM共享种子码号的方法、装置及设备
US11698994B2 (en) Method for a first start-up operation of a secure element which is not fully customized
CN111209036A (zh) 配置系统自助模式的方法和装置
JP2019110452A (ja) 端末システム、端末及びモジュール
KR100890251B1 (ko) 애플릿 패치 시스템 및 애플릿 패치 방법
US11039318B2 (en) Multi-configuration secure element and associated method
CN111491021A (zh) 分布式集群的许可数据处理方法和装置
CN111339520B (zh) 基于硬件狗的在线管控方法、电子设备和存储介质
US20240129743A1 (en) Method for personalizing a secure element
CN115827001A (zh) 一种智能卡扇区管理方法和系统
CN116820503A (zh) 应用商店更新方法、终端设备及计算机可读存储介质
CN116755719A (zh) 应用组件的数据处理方法、装置和数据处理系统

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant