KR102557240B1 - 보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소 - Google Patents

보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소 Download PDF

Info

Publication number
KR102557240B1
KR102557240B1 KR1020180126057A KR20180126057A KR102557240B1 KR 102557240 B1 KR102557240 B1 KR 102557240B1 KR 1020180126057 A KR1020180126057 A KR 1020180126057A KR 20180126057 A KR20180126057 A KR 20180126057A KR 102557240 B1 KR102557240 B1 KR 102557240B1
Authority
KR
South Korea
Prior art keywords
template
profile
version
secure element
memory
Prior art date
Application number
KR1020180126057A
Other languages
English (en)
Other versions
KR20190044575A (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 KR20190044575A publication Critical patent/KR20190044575A/ko
Application granted granted Critical
Publication of KR102557240B1 publication Critical patent/KR102557240B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 관리자에 의해 보안 요소(SE; secure element)의 메모리에 프로파일을 로딩하는 것에 관한 것이다. 프로파일은 SE가 자신을 서비스에게 식별시키는 것을 허용한다. 로딩될 프로파일은 템플릿의 참조에 의해 생성된 프로파일 요소를 포함한다. 템플릿은, 자신에 대한 변경이 이루어지더라도 유지되는 OID 식별자에 의해 식별된다. 본 발명에 따르면, 관리자는, 상기 SE에 의해 저장된 템플릿의 버전을 나타내는 정보를 응답으로서 획득하기 위해 감사 요청(audit request)을 전송하거나 SE의 운영 체제의 업데이트를 진행할 수 있다. 그 다음, 관리자는 보유하고 있는 대응하는 템플릿과의 버전에 있어서 임의의 차이가 있는지를 결정한다. 차이가 있는 경우, SE의 템플릿 또는 관리자의 템플릿은 그들의 버전을 일치시키도록 업데이트된다. 따라서, 이 버전의 템플릿에 기초하여 생성된 프로파일은 오작동없이 SE에 의해 로딩될 것이다.

Description

보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소{METHODS FOR LOADING A PROFILE TO A SECURE ELEMENT, MANAGER AND PERSONALISABLE SECURE ELEMENT}
본 발명은 보안 요소들의 원격 개인맞춤화(personalization) 분야에 관한 것이다. 이는 특히, 프로파일-요소 템플릿들을 관리하기 위한 방법들, 프로파일-요소 템플릿들의 관리자 및 개인맞춤화가능한 보안 요소에 관한 것이다.
예를 들어, 칩 카드와 같은 보안 요소는 다양한 호스트 디바이스들 또는 장비(모바일 단말, 스마트폰, 태블릿 컴퓨터, 전기 계량기, 차량 등)에 사용될 수 있다.
특히, 보안 요소는 호스트 디바이스에 이동식으로 포함되거나, 내부에 내장(예를 들어, 납땜)될 수 있다.
제1 타입의 보안 요소는 표준 ETSI TS 102 221에 명시되고 SIM들(또는 USIM들(범용 가입자 식별 모듈(universal subscriber identity module)들)로 알려진 종래의 이동식 칩 카드들뿐만 아니라 보안 토큰들을 포함하는 UICC(범용 통합 회로 카드(universal integrated circuit card))들로 지칭되는 카드들이며, 이들 모두는 고유하게 식별 가능하다.
제2 타입의 보안 요소는 eSE(내장식 보안 요소(embedded secure element))로 알려져 있고, GlobalPlatform Card Specification Version 2.2.1에 명시되어 있으며, 사양이 GlobalPlatform 표준들과 관련된다. 이 제2 타입의 보안 요소는 내장되는 것으로, 즉, 비이동식으로 의도된다.
예로서, 내장식 보안 요소는 표준 ETSI TS 103 383에 명시된 것과 같은 eUICC(내장식 범용 집적 회로 카드(embedded universal integrated circuit card)의 두문자어)일 수 있다.
문헌의 나머지 부분에서, 단순화를 위해, "카드" 또는 "보안 요소"라는 일반적인 용어는 (예를 들어, 모바일폰 네트워크에서) 일반적으로 식별 목적으로 사용되는 다양한 전술한 보안 요소들 모두를 지정하는 데 사용될 것이다.
사용자가 호스트 디바이스에 내장된 보안 요소를 다른 보안 요소로 간단히 변경할 수 없거나, 호스트 디바이스에서 보안 요소를 교환하는 데 필요한 동작들을 아주 간단히는 수행하고 싶어하지 않는다는 점을 완화시키기 위해, 사용자는 때때로 사용자가 자신을 식별할 수 있는 고유한 식별자를 변경할 수 없다.
그리고, 보안 요소는, 각각 단일 식별자에 의해 식별되고 보안 요소에 저장되거나 로딩되는 복수의 상이한 프로파일들로 동작할 수 있도록 제공된다. 따라서, 복수의 상이한 프로파일들이 주어진 보안 요소, 예를 들어, 주어진 eUICC 상에 존재할 수 있다.
기술적으로, 예를 들어, 문헌 'SGP.02 - Remote Provisioning Architecture for Embedded UICC Technical Specification - Version 3.1 - 27 May 2016'에 정의된 바와 같은 프로파일은, 프로파일이 활성화될 때, 특정 네트워크 오퍼레이터, 통상적으로는, 모바일 네트워크 오퍼레이터에 의해 제공되는 서비스들(예를 들어, 음성 서비스들, 데이터 서비스들)이 액세스되게 하는 애플리케이션들 및 데이터의 파일 구조(특히, 기본 파일(elementary file)(EF)들 및/또는 전용 파일(dedicated file)(DF)들의 형태를 취함)의 결합을 포함할 수 있는 보안 환경이다. 한 번에 단일 프로파일만이 활성화될수 있다는 것에 주목하도록 한다.
원칙적으로, 이들 프로파일들은 원격 서버(머신-대-머신(machine-to-machine)(M2M) 시스템)에 의해, 또는 eUICC에 설치된 애플리케이션에 의해 로컬로, 또는 사용자 자신에 의해 수동으로도 관리될 수 있다.
이들 프로파일들은 개인맞춤화 인프라스트럭처에 의해 원격으로 생성될 수 있다. 실제로, 이 개인맞춤화 인프라스트럭처는 오퍼레이터 자체에 의해, 또는 제3자(예를 들어, 문헌 'eUICC Profile Package: Interoperable Format Technical Specification V2.0'(SIMALLIANCE)에 정의된 프로파일 생성자)에 의해 오퍼레이터를 대신하여 제어되고, 오퍼레이터의 요구들에 따라 PP(프로파일 패키지(profile package))들을 생성한다.
아래에서 "프로파일"로 간단하게 지칭되는 이러한 프로파일 패키지는 설치될 프로파일의 데이터 구조를 나타내며, 이에 의해 로딩되고 설치되기 위해 eUICC로 송신된다. 유리하게는, 동일한 기술 포맷이 제3자, 오퍼레이터 및 eUICC의 제공자에 의해 사용되므로, 이들 엔티티들 간의 상호 운용성이 보장될 수 있다.
실제로, 프로파일은 전송 프로토콜과 독립적인 기술 언어를 사용하는 PE(프로파일 요소(profile element))들의 세트를 포함한다. 각각의 프로파일 요소는 프로파일의 하나 이상의 특성을 나타내고, 다른 프로파일 요소들과 독립적으로 eUICC에 의해 처리될 수 있도록 개별적으로 기술되지만, 몇 가지 특정 시퀀싱 제약 조건들을 존중한다.
일반적으로, 프로파일 요소는 파일, 시스템 파일 구조에 대한 참조, 네트워크 액세스 애플리케이션의 파라미터들의 세트, 상호 운용 가능한 애플리케이션, 액세스 권한들 등을 포함할 수 있다. 예를 들어, 프로파일 요소는 다음의 타입들 : PE-Header 또는 PEH(프로파일의 시작을 시그널링함), PE-MF(마스터 파일(master file) - 프로파일의 메인 파일들이 위치하는 디렉터리 파일), PE-CD(구성 데이터(configuration data) - 구성 파일들이 위치하는 디렉터리 파일), PE-TELECOM(전기 통신과 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-USIM(범용 가입자 식별 모듈(universal subscriber identity module) - 모바일 네트워크 상의 가입자의 식별과 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-ISIM(IP 멀티미디어 서비스 식별 모듈(IP multimedia services identity module) - IP 네트워크상의 가입자의 식별과 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-PINCodes(PIN 코드들의 관리와 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-SecurityDomain(보안 도메인의 생성과 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-Application(애플리케이션의 로딩과 관련된 기본 파일들이 위치하는 디렉토리 파일), PE-End(프로파일의 끝을 시그널링함) 등 중 하나일 수 있다.
프로파일의 시작을 시그널링하는 PE-Header 타입의 프로파일 요소는 프로파일의 컨텐츠에 대한 다양한 정보, 예를 들어, eUICC에 의해 지원될 수 있는 서비스들의 리스트를 전달하며, 여기서 각각의 서비스의 리스트에는 서비스가 필수적인지 또는 임의적인지 여부를 특정하는 표시자가 스탬프 표시된다. 특히, 이러한 서비스와 관련된 임의의 프로파일 요소는 이러한 표시자를 포함할 수 있다.
송신될 프로파일의 데이터의 양을 줄이기 위해, 프로파일 요소가 하나 이상의 템플릿를 참조하고 템플릿들을 보완하는(때로는 디폴트 값들을 대체하는) 정보를 전달할 수 있도록 준비되어 있다. 템플릿은 프로파일 요소의 전부 또는 일부 또는 심지어 복수의 프로파일 요소들과 관련된 데이터/정보를 포함할 수 있다. 프로파일은 일반적으로 이들 템플릿들을 사용하여 생성된다.
프로파일들은 다수의 ETSI 표준들(ETSI TS 102 221 V13.1.0 (2016-05))의 사양들을 준수해야 한다. 이 제약 사항으로 인해 SIMALLIANCE 조직은 파일 시스템이 자신이 참조하는 표준들에 의해 정의된 디폴트 값들(파일 식별자들, 액세스 권한들 등)을 취할 수 있는 복수의 템플릿들을 정의하게 되었다. 따라서, 이들 템플릿들은 특정 파라미터들에 대한 디폴트 값들을 설정함으로써 데이터 포맷을 정의하므로, 이들을 사용하면 송신될 데이터를 감소시킴으로써 위에서 언급된 개인맞춤화 인프라스트럭처에 의해 프로파일을 생성하고 이 프로파일을 eUICC에 설치하는 것이 용이해지고 가속화될 수 있다.
이렇게 하기 위해, 템플릿들은 eUICC의 메모리에 미리 (예를 들어, 보안 요소의 사전-개인맞춤화 또는 개인맞춤화의 단계 동안에) 로딩된다. 템플릿은, 주어진 값들로 로딩되어 "개인맞춤화"될 수 있게 될 때, 개인맞춤화 프로파일 요소가 기술되게 할 수 있다. 실제로, 각각의 템플릿은 고유하게 식별되기 위해 OID(객체 식별자(object identifier))라고 하는 고유한 객체 식별자와 연관된다.
OTA(over the air)를 통해 보안 요소에 프로파일들을 원격 로딩하기 위해 GSMA에 의해 제안된 아키텍처에 따르면, 사용된 임의의 템플릿들에 대한 참조(OID)를 포함한 프로파일 요소들은 SM-SR(가입 관리-보안 라우팅(subscription management-secure routing)) 전송 서버에 의해 eUICC의 메인 또는 루트 보안 도메인 ISD-R(발행자 보안 도메인 루트(issuer security domain root))로 전송된다. GSMA에 의해 제안된 특정 구성 및 아키텍처("소비자 모드"로 알려짐)에서, 송신은 SM-DP+ 전송 서버를 통해 ISD-R 프로파일 보안 도메인으로 직접 수행될 수도 있다.
템플릿들에 대한 하나 이상의 참조(OID)를 포함하여 로딩 및 설치될 새로운 프로파일 요소를 수신하면, eUICC에 대한 완전한 프로파일 요소를 구성함으로써, eUICC가 eUICC의 메모리에 참조된 하나 이상의 템플릿을 로딩하고, 메모리에 로딩된 각각의 템플릿의 값들을 이를 참조하는 프로파일 요소에서 수신된 값들과 충분히 병합할 수 있다. 병합이 의미하는 바는, 수신된 프로파일 요소의 데이터가 우선 순위로서 사용되고, 수신된 프로파일 요소에 데이터가 존재하지 않을 때에는, 메모리에 존재하는 하나 이상의 참조된 템플릿의 데이터를 사용하여 완료된다는 사실이다.
실제로, eUICC는 로딩될 프로파일을 형성하는 각각의 프로파일 요소를 연속적으로 로딩하고 설치한다.
템플릿들은 프로파일 요소들을 형성하는 특정 개수의 정보(예를 들어, 파일들 또는 기본 파일들)를 정의하며, 이들은 예를 들어, 특정 표준들의 변경들에 따라 시간이 지남에 따라 변경될 수 있다(예를 들어, 이들의 사이즈, 이들의 값들 등이 변경될 수 있다).
따라서, 프로파일 요소가 변경된 템플릿을 참조하여 설계될 수 있고, eUICC에 의해 이 변경을 고려하지 않는 템플릿과 병합될 수 있다는 것이 가능하다. 병합 결과에 예상치 않은 포맷이 있을 수 있다. 이 경우, 에러 메시지가 리턴될 수 있다. 획득된 포맷이 예상된 포맷에 따른 경우이더라도, 프로파일의 로딩 또는 실제로는 심지어 병합으로부터 온 프로파일 또는 프로파일 요소와 관련된 기능의 실행이 오작동을 일으키고 에러 메시지를 생성하게 되는 것도 가능하다.
실제로, 이 예시적인 경우, 주어진 템플릿 OID 식별자에 대해, 개인맞춤화 인프라스트럭처 또는 오퍼레이터는 업데이트된 템플릿에 의존하여 프로파일 요소를 기술하지만, eUICC는 (동일한 OID를 갖지만 업데이트되지 않은) 상이한 템플릿에 의존하여 최종 프로파일 요소를 (병합함으로써) 재생성한다. eUICC가 업데이트된 템플릿 및 개인맞춤화 인프라스트러처에 의존하거나 또는 오퍼레이터가 업데이트되지 않은 템플릿(동일한 OID)에 의존하여 프로파일 요소를 기술하는 반대 상황이 발생할 수도 있다.
이 상황은 만족스럽지 않다.
따라서, 프로파일들을 보안 요소에 로딩(즉, 생성, 설치 또는 업데이트)하는 동안에 사용되는 템플릿들의 관리를 개선시키는 것이 일반적으로 필요하다.
따라서, 본 발명의 목적은 이들 단점들 중 적어도 하나를 완화시키는 것이다.
이와 관련하여, 본 발명은 우선, 보안 요소의 메모리에 프로파일을 로딩하기 위한 방법에 관한 것으로서, 보안 요소의 원격 서버에서,
보안 요소의 메모리에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 획득하는 단계,
획득된 버전과 원격 서버가 액세스할 수 있는 메모리에 저장된 (특히, 동일한 OID 식별자를 갖는) 동일한 템플릿의 버전 간의 버전의 차이를 결정하는 단계,
차이를 결정한 경우, 보안 요소의 메모리에 저장된 템플릿과 원격 서버가 액세스할 수 있는 템플릿의 버전들을 일치시키기 위해 이 템플릿들 중 적어도 하나를 업데이트하는 단계,
원격 서버가 액세스할 수 있는 상기 템플릿을 참조하는 프로파일 요소를 포함하는 프로파일을 그 일치된 버전으로 생성하는 단계, 및
업데이트하는 단계에 후속하여, 생성된 프로파일을 보안 요소에 송신하는 단계
를 포함한다.
이에 대응하여, 본 발명은 프로파일 로딩에 의한 보안 요소의 개인맞춤화를 위한 프로파일 관리자에 관한 것으로서,
적어도 하나의 마이크로프로세서
를 포함하고,
적어도 하나의 마이크로프로세서는,
보안 요소의 메모리에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 획득하고,
획득된 버전과 관리자가 액세스할 수 있는 메모리에 저장된 동일한 템플릿의 버전 간의 버전의 차이를 결정하고,
차이를 결정한 경우, 보안 요소의 메모리에 저장된 템플릿과 관리자가 액세스할 수 있는 템플릿의 버전들을 일치시키기 위해 이 템플릿들 중 적어도 하나를 업데이트하고,
관리자가 액세스할 수 있는 상기 템플릿을 참조하는 프로파일 요소를 포함하는 프로파일을 그 일치된 버전으로 생성하고,
업데이트하는 단계에 후속하여, 생성된 프로파일을 보안 요소에 송신하도록
구성된다.
이들 구성들은 저비용으로 관리자(또는 원격 서버)와 보안 요소의 프로파일-요소-템플릿 버전들이 일치되게 할 수 있기 때문에, 이들 템플릿 버전들로 생성된 후에 보안 요소에 로딩되는 프로파일이 오작동되지 않는다.
본 발명의 실시예들의 임의적인 특징들은 청구범위에서, 주로 방법 용어들로 정의된다. 물론, 이들 특징들은 관리자의 구조적 특징으로 전환될 수 있다.
일 실시예에서, 방법은 응답에서 상기 정보를 획득하기 위한 커맨드를 포함하는 요청을 송신하는 단계를 추가로 포함한다. 이는 관리자가 보안 요소들에 저장된 템플릿들과 관련된 정보의 획득을 개시하고, 따라서 이로부터 응답들의 흐름을 제어할 수 있게 한다.
하나의 특정 실시예에 따르면, 요청의 송신은 원격 서버에 의해 측정된 미리 정의된 시간량의 경과; 보안 요소에 프로파일을 로딩하기 위해 제3자로부터 수신된 요구; 원격 서버가 액세스할 수 있는 메모리에 저장된 템플릿의 업데이트 또는 만료 중 하나의 트리거링 이벤트의 발생에 의해 트리거링된다. 따라서, 관리자는 로딩될 장래의 프로파일들에 영향을 미칠 수 있는 중요한 순간에 보안 요소들에 요청들을 행할 수 있다.
다른 특정 실시예에 따르면, 요청은 2014년 8월 공개된 표준 ISO7816-4의 최신 버전에서 주어진 설명에 따라 "케이스 4" 타입의 커맨드(예를 들어, GlobalPlatform 표준의 GET DATA 커맨드)를 포함한다. 간단히 하기 위해, 문헌의 나머지에서는, 주로 GlobalPlatform 표준의 GET DATA 커맨드에 기초하여 커맨드를 참조할 것이다. 이러한 구성은 관리자와 보안 요소들 간의 통신 인터페이스를 수정할 필요가 없게 할 수 있다.
다른 실시예에서, 상기 정보를 획득하는 단계는 보안 요소가 원격 서버에 의해 업데이트된(예를 들어, 오퍼레이팅 시스템의 업데이트) 이전 단계에 응답한다. 이 구성은 나중에 보유하는 템플릿들의 상태를 추적하기 위해 관리자와 보안 요소 간에 필요한 교환을 제한한다.
하나의 특정 실시예에 따르면, 이전 업데이트 단계는 보안 요소의 오퍼레이팅 시스템을 업데이트하는 단계를 포함한다. 특히, 이것은 보안 요소의 중요 업데이트에 대한 질문으로, 잠재적으로 보안 요소에 의해 저장되는 프로파일-요소 템플릿들을 포함하여 많은 파일들에 대해 대부분 영향을 미친다.
다른 특정 실시예에 따르면, 상기 정보를 획득하는 단계는, 보안 요소의 제1 접속 또는 네트워크 인증; 및 보안 요소의 인터페이스에 의해 정의되는 커맨드 또는 절차의 사용 이벤트 중, 이전 업데이트 이후의 트리거링 이벤트에 응답하는 것이며, 예를 들어, 툴킷이라고 하는 보안 요소와 단말 간의 상호 작용을 가능하게 한다. 이 구성은, 일단의 보안 요소들의 응답들을 처리할 때, 극도로 겪게 되는 관리자의 위험 요소들을 제한되게 할 수 있다. 특히, 관리자가 일단의 보안 요소들의 집합적 업데이트를 트리거링하는 것이 통상적이다. 트리거링 이벤트로 인해, 보안 요소들의 응답들은 동시에 송신되지 않지만, (일단을 통해 불균등한 방식으로) 상기 트리거링 이벤트의 발생 순간으로 이동된다.
이들 실시예들과 관련하여, 관리자의 마이크로프로세서는 또한 응답에서 상기 정보를 획득하기 위한 커맨드를 포함하는 요청을 송신하거나, 또는 응답에서 상기 정보를 획득하기 위해 보안 요소의 오퍼레이팅 시스템을 업데이트하기 위한 커맨드를 송신하도록 구성된다.
다른 실시예에서, 프로파일-요소 템플릿의 버전을 나타내는 정보는 상기 템플릿의 버전 번호, 상기 템플릿의 만료 날짜 및 상기 템플릿으로부터 계산된 해시 값 중 하나 이상을 포함한다. 이들 정보는 템플릿들의 메타데이터 필드에 용이하게 통합될 수 있고, 송신되는 응답들에서 공간을 거의 차지하지 않는다. 따라서, 이 구성은 메모리 사용 및 대역폭이 최소화되도록 한다.
다른 실시예에서, 상기 차이를 결정하는 단계는 보안 요소의 메모리에 저장된 템플릿의 획득된 버전과 전송될 프로파일을 생성하는 데 사용된 템플릿의 버전 간의 차이를 결정하는 단계를 포함하고,
차이가 있는 경우에 업데이트하는 단계는 보안 요소의 메모리에 저장된 템플릿을 전송될 프로파일을 생성하는 데 사용되는 템플릿으로 업데이트하기 위한 커맨드를 송신하는 단계를 포함한다.
이 구성은 보안 요소가 관리자에 의해 사전에 생성된 프로파일로 업데이트되게 할 수 있다. 따라서, 후자에서 수행되는 처리는 제한된다.
하나의 특정 실시예에 따르면, 업데이트 커맨드는 GlobalPlatform 표준의 STORE DATA 커맨드를 포함한다. 따라서, 본 발명은 관리자 및 보안 요소의 통신 인터페이스들이 수정될 것을 요구하지 않는다.
다른 실시예에서, 차이가 있는 경우에 업데이트하는 단계는, 생성하는 단계 이전에, 원격 서버가 액세스할 수 있는 템플릿을 보안 요소의 템플릿의 획득된 버전에 대응하게 하도록 업데이트하여, 전송될 프로파일이 업데이트된 템플릿을 사용하여 생성되는 단계를 포함한다.
템플릿의 정확한 버전은 제3자/전용 서버로부터 또는 실제로 템플릿들의 집합으로부터 로컬로 관리자에 의해 획득될 수 있다. 이를 수행하기 위해, 관리자는, 예를 들어, 보안 요소의 제조자 또는 후자의 서버를 식별하는 응답에 포함된 다른 정보에 의존할 수 있다.
이 구성은, 관리자와 로딩될 프로파일이 모두 (사용되는 템플릿들의 버전의 측면에서) 보안 요소의 구성에 대해 적응되기 때문에(처음에는 업데이트되고, 두번째에는 생성됨), 보안 요소들과의 교환들이 제한될 수 있다.
보안-요소의 관점에서, 본 발명은 또한 보안 요소의 메모리에 프로파일을 로딩하기 위한 방법에 관한 것으로서, 보안 요소에서, 보안 요소의 메모리에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 원격 서버에 송신하는 단계,
이 송신에 응답하여, 메모리에 저장된 프로파일-요소 템플릿을 업데이트하기 위한 커맨드를 수신 및 실행하는 단계 - 상기 커맨드는 원격 서버 의해 송신됨 -,
업데이트하는 단계에 후속하여, 로딩될 프로파일을 수신하는 단계 - 상기 프로파일은 원격 서버에 의해 송신되고, 로딩될 프로파일은 메모리에 저장된 상기 템플릿을 참조하는 적어도 하나의 프로파일 요소를 포함함 -, 및
수신된 프로파일을 그것이 참조하는 저장된 템플릿과 병합함으로써, 수신된 프로파일을 메모리에 로딩 및 설치하는 단계
를 포함한다.
이에 대응하여, 이것은 개인맞춤화가능한 보안 요소에 관한 것으로서,
적어도 하나의 마이크로프로세서
를 포함하고,
적어도 하나의 마이크로프로세서는,
보안 요소의 메모리에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 원격 서버에 송신하고,
이 송신에 응답하여, 메모리에 저장된 프로파일-요소 템플릿을 업데이트하기 위한 커맨드를 수신 및 실행하고 - 상기 커맨드는 원격 서버 의해 송신됨 -,
업데이트하는 단계에 후속하여, 원격 서버에 의해 송신되는 로딩될 프로파일을 수신하고 - 프로파일은 메모리에 저장된 상기 템플릿을 참조하는 적어도 하나의 프로파일 요소를 포함함 -,
수신된 프로파일을 그것이 참조하는 저장된 템플릿과 병합함으로써, 수신된 프로파일을 메모리에 로딩 및 설치하도록
구성된다.
보안-요소의 관점에서 본 발명은 원격 서버를 참조하여 위에서 설명된 것들과 동일한 이점들을 갖는다. 또한, 임의적인 특징들이, 예를 들어, 청구범위, 주로 방법 용어들로 정의된 바와 같이 제공된다.
예를 들어, 일 실시예에서, 상기 정보가 보안 요소에 의해 송신되는 단계는 원격 서버에 의해 전송되는 요청의 수신에 응답하는 것으로, 응답에서 상기 정보를 획득하기 위한 커맨드를 포함한다. 요청은 표준 ISO7816-4(예를 들어, GlobalPlatform 표준의 GET DATA 커맨드)에 주어진 설명에 따라 "케이스 4" 타입의 커맨드를 포함할 수 있다.
다른 실시예에서, 상기 보안 요소가 상기 정보를 송신하는 단계는 보안 요소의 오퍼레이팅 시스템이 원격 서버에 의해 업데이트된 이전 단계에 응답하는 것이다.
특히, 상기 정보가 보안 요소에 의해 송신되는 단계는, 보안 요소의 제1 접속 또는 네트워크 인증; 및 보안 요소의 인터페이스에 의해 정의된 커맨드 또는 절차의 사용 이벤트 중 이전 업데이트 이후의 트리거링 이벤트에 응답하는 것일 수 있으며, 이에 의해, 예를 들어, 툴킷이라고도 하는 보안 요소와 단말 간의 상호 작용을 가능하게 한다.
이들 실시예들에서, 보안 요소의 마이크로프로세서는 또한, 원격 서버에 의해 전송된 요청의 수신에 응답하여 상기 정보를 생성 및 송신하도록 구성되며, 응답에서 또는 보안 요소의 오퍼레이팅 시스템이 원격 서버에 의해 업데이트된 이전 단계에 응답하여 상기 정보를 획득하기 위한 커맨드를 포함한다.
하나의 특정 실시예에 따르면, 보안 요소는 보안 요소의 메모리에 저장된 각각의 템플릿에 대한 프로파일-요소-템플릿 버전을 나타내는 상기 정보를 송신한다. 이 구성을 통해 관리자는 보안 요소의 상태에 대한 완전한 뷰를 획득할 수 있다.
변형예로서, 오퍼레이팅 시스템의 이전 업데이트 동안에 수정된 보안 요소의 메모리에 저장된 각각의 템플릿에 대해서만 이를 수행 할 수 있다. 이는 보안 요소에 의해 송신되는 응답의 사이즈를 감소시킨다. 그러면, 통신 네트워크의 방해가 적어지고, 관리자의 처리 부하가 감소된다.
이 변형예와 관련하여, 방법은 또한 오퍼레이팅 시스템을 업데이트하는 이전 단계(예를 들어, OS를 업데이트하기 위한 커맨드의 수신시) 전에, 보안 요소의 메모리에 저장된 프로파일-요소 템플릿들의 전부 또는 일부와 관련된 정보를 메모리에 저장하는 단계를 포함할 수 있고,
오퍼레이팅 시스템의 이전 업데이트 동안에 수정된 하나 이상의 템플릿은 메모리에 저장된 정보를 사용하여 식별된다.
이 구성은 OS의 업데이트에 의해 수정된 템플릿들이 낮은 비용으로 식별되게 할 수 있다.
다른 실시예에서, 프로파일-요소 템플릿의 버전을 나타내는 정보는 상기 템플릿의 버전 번호, 상기 템플릿의 만료 날짜 및 상기 템플릿으로부터 계산된 해시 값 중 하나 이상을 포함한다.
다른 실시예에서, 프로파일-요소 템플릿을 업데이트하기 위해 원격 서버에 의해 전송된 커맨드는 GlobalPlatform 표준의 STORE DATA 커맨드를 포함한다.
하나의 특정 실시예에서, 위에서 설명된 방법들의 다양한 단계들은 컴퓨터 프로그램 명령어들에 의해 결정된다.
따라서, 본 발명은 또한 마이크로프로세서에 의해 판독 가능한 데이터 매체에 관한 것으로서, 마이크로프로세서에 의해 로딩 및 실행될 때, 이들 방법들 중 하나를 구현하기 위한 컴퓨터 프로그램의 명령어들을 포함한다.
이 프로그램은 임의의 프로그래밍 언어를 사용할 수 있으며, 부분적으로 컴파일된 형태의 또는 임의의 다른 바람직한 형태의 코드와 같은 소스 코드, 객체 코드 또는 소스 코드와 객체 코드 중간의 코드의 형태를 취할 수 있다.
데이터 매체는 프로그램을 저장할 수 있는 임의의 엔티티 또는 디바이스일 수 있다. 예를 들어, 매체는 ROM, 예를 들어, 마이크로 회로 ROM, 또는 심지어 자기 기록 수단, 예를 들어, 하드 디스크 또는 심지어 플래시 메모리와 같은 저장 수단을 포함할 수 있다.
또한, 데이터 매체는 광 또는 전기 케이블을 통해, 라디오 또는 다른 수단에 의해 전달될 수 있는 광학 또는 전기 신호와 같은 송신 가능한 매체일 수 있다. 프로그램은 특히 인터넷, 통신 네트워크 또는 실제로 전기통신 네트워크와 같은 네트워크의 저장 플랫폼으로부터 다운로드될 수 있다.
대안적으로, 데이터 매체는 프로그램이 통합되는 집적 회로일 수 있으며, 회로는 해당하는 하나 이상의 방법을 실행하거나 그 실행에 사용되기에 적합하다.
컴퓨터 프로그램을 포함하는 데이터 매체는 프로그램이 작동시키는 방법들의 것들과 유사한 특징들 및 이점들을 갖는다.
본 발명의 다른 특징들 및 이점들은 첨부된 도면들에 의해 예시되는 다음의 설명으로부터 보다 명백해질 것이며, 첨부된 도면들은 임의의 제한적인 특징이 없는 그들의 예시적인 실시예들을 예시한다.
도 1은 본 발명의 실시예들이 구현될 수 있는 통신 시스템의 예를 간략한 방식으로 예시한다.
도 2는 본 발명의 실시예들에 따른 보안 요소 또는 관리자에 대한 하나의 가능한 아키텍처의 예를 개략적으로 도시한다.
도 3은 본 발명의 제1 실시예에 따른 관리 방법의 단계들을 타이밍도의 형태로 도시한다.
도 4는 본 발명의 제2 실시예에 따른 관리 방법의 단계들을 타이밍도의 형태로 도시한다.
일반적으로, 본 발명은 보안 요소를 개인맞춤화하는데 사용되는 하나 이상의 프로파일, 이 프로파일의 기술(들) 또는 적어도 하나의 템플릿에 의존하는 이들 프로파일들의 로딩(생성, 설치 또는 업데이트를 포함)에 관한 것이다. 이들 템플릿들은 새로운 프로파일들의 생성과 이들의 보안 요소로의 설치를 용이하게 하기 위해 프로파일들을 형성하는 프로파일 요소들의 데이터를 포맷화하는 데 사용된다.
본 발명에 따르면, 보안 요소의 메모리에 위치된 적어도 하나의 템플릿의 버전을 나타내는 정보가 보안 요소로부터 원격 서버 또는 관리자에게 전송된다. 관리자는, 예를 들어 비제한적으로, 프로파일들을 준비 및/또는 설치 및/또는 관리하는 데 적어도 하나의 역할을 갖는 적어도 하나의 서버, 예를 들어, SM-DP(가입 관리자 데이터 준비(subscription manager data preparation)) 및 SM-SR(가입 관리자 보안 라우팅(subscription manager secure routing)) 또는 SM-DP+(SM-DP 강화형) 서버에 대응하는 엔티티로서, 보안 방식으로 프로파일들을 보안 요소에 로딩하는 역할을 하는 것을 의미한다.
템플릿의 "버전"은, 주어진 순간의 템플릿의 수명의 에디션 또는 주어진 상태를 의미한다. 전산 분야에서, 이것은 일반적으로 안정적인 것으로 판단되며 템플릿이 사용할 수 있게 되는(보다 일반적으로는, 해당 소프트웨어 패키지가 실행될 수 있게 되는) 상태에 대한 질문이다.
템플릿의 "버전"은 주어진 시간에 이 상태가 식별될 수 있게 하는 정보를 참조하는 것으로 확장되기도 한다. 이하에서 알 수 있는 바와 같이, 이 버전은 템플릿의 메타데이터를 형성하고, 템플릿의 상이한 타입 또는 방향일 수 있는 복수의 정보 중 적어도 하나로서, 예를 들어, 템플릿의 버전 관리(템플릿의 주 버전 및 부 버전), 템플릿의 유효성(만료 날짜) 및 템플릿의 신뢰성(해시 값)을 의미한다.
특정 실시예들에서, 이들 버전 정보는 보안 요소에 대한 원격 서버/관리자에 의한 커맨드의 송신에 응답하여 보안 요소에 의해 송신된다.
예를 들어, 커맨드는 보안 요소(특히, 그 오퍼레이팅 시스템(operating system) 또는 OS)를 업데이트하기 위한 커맨드일 수 있으며, 따라서 제3자 서버에 의해 보안 요소가 업데이트된 후에(예를 들어, OS의 업데이트 이후에) 정보가 송신된다. 임의적으로, 정보의 송신은 업데이트된 보안 요소의 통신 네트워크에 대한 제1 접속 또는 예를 들어, 보안 요소와 단말 간의 상호 작용(툴킷)(즉, 보안 요소와 인터페이스 툴킷에 의해 정의되는 커맨드 또는 프로시저의 사용)을 허용하는 이벤트와 같은 다른 이벤트들에 의존할 수 있다.
다른 예들에서, 커맨드는 보안 요소의 메모리에 저장된 템플릿들의 전부 또는 일부에 대한 상기 정보를 획득하는 것을 목적으로 하는 TEMPLATE AUDIT REQUEST(템플릿 감사 요청)(발명자들에 의해 생성됨)일 수 있다. 이하에서 설명되는 바와 같이, 복수의 이벤트들이 이 요청을 트리거하기 위해, 이들 이벤트들은 (주기적인 질의를 위한) 미리 정의된 시간량의 경과, 보안 요소에 프로파일을 로딩하기 위한 요구(예를 들어, 제3자에 의해 수신된 요구), 새로운 프로파일의 생성, 템플릿의 업데이트 또는 만료를 포함하는 것으로 생각할 수 있다.
보안 요소에 의해 찾아지고 송신되는 정보는 템플릿에 그 구조를 제공하고 메타데이터라고 불리는 것을 형성하는 것들이며, 여기서 그 데이터의 역할은 템플릿의 특성들을 기술하는 것이다. 현재 SIMALLIANCE 표준에 대응하여 최첨단 기술에 의해 제공되고 이에 포함되는 유일한 메타데이터는 템플릿의 고유한 식별 변호인 OID이다. 이 OID 식별 번호는 템플릿이 변경되더라도 보존된다.
따라서, 본 발명에 따른 호환성 처리를 허용하기 위해, 발명자들은 템플릿들의 종래의 구조(메타데이터)에서 이 목적으로 생성된 새로운 필드들을 통해 하나 이상의 새로운 정보를 부가하는 것을 제안하였다.
따라서, 실시예들에 따르면, 해당 새로운 정보는,
템플릿의 하나 이상의 버전 번호(버전 관리)
템플릿의 만료 날짜,
템플릿 전체로부터 계산된 해시 값(즉, 해당 템플릿의 메타데이터의 값들과 해당 템플릿의 콘텐츠의 값을 고려)
중 하나 이상을 포함할 수 있다.
따라서, TEMPLATE AUDIT REQUEST(발명자들에 의해 생성됨)는 하나 이상의 템플릿의 메타데이터를 형성하는 이들 다양한 정보 전보 또는 일부를 모아서, 보안 요소의 메모리의 하나 이상의 템플릿의 버전이 정확하게 결정될 수 있게 하는 것을 목표로 한다.
따라서, 이들 요구된 정보는 보안 요소에 의해 다시 송신되는 응답에 전체적으로 또는 부분적으로 포함될 수 있다(예를 들어, 이들 정보의 조합이 포함될 수 있다).
하나의 추가적인 보안 실시예에서, 보안 요소에 대한 응답의 신뢰성을 보장하기 위해 및/또는 임의적으로 응답의 데이터의 무결성을 보장하기 위해 모든 리턴되는 정보(또는 심지어 응답의 유용한 또는 페이로부 부분 전부)가 서명되고/되거나 임의적으로는 암호화될 수 있다. 응답에 포함된 정보의 전부 또는 일부를 암호화하거나 서명하는 결정은 관리자의 요청으로 전달되는 표시자, 예를 들어, responseToCipher 필드에 따라 달라질 수 있다.
예시에 의해, 리턴되는 정보는 그 세부 사항이 이하에서 주어지는 응답에 포함될 수 있으며, 이 응답은 TEMPLATE AUDIT REQUEST에 대한 TEMPLATE AUDIT RESPONSE(발명자들에 의해 생성됨)라고 한다.
이하에서 설명되는 실시예들은, 간략하고 비제한적으로, 주로 템플릿-버전-번호 타입의 정보에 집중한다. 그러나, 다양한 정보(메타데이터)의 전부 또는 일부는 관리자에 의해 액세스 가능하거나 사용되는 저장된 템플릿과 보안 요소의 메모리에 저장된 대응하는 템플릿(즉, 동일한 OID 식별자를 지닌 템플릿) 간의 버전의 차이를 검출하는 데 사용될 수 있다. 또한, 명료함을 위해, 단일 템플릿의 예가 이들 실시예들에서 주로 사용되지만, 본 발명과 관련하여 복수의 템플릿들이 동시에 처리될 수 있다.
제1 실시예에 따르면, 이들 정보에 기초하여, 관리자는 보안 요소에 위치된 템플릿과 원격 서버, 예를 들어, SM-DP 서버에서 프로파일 요소를 생성하는 데 사용된 템플릿 간의 버전의 차이가 있는지를 결정할 수 있다. 프로파일 요소는, 예를 들어, 보안 요소에 로딩될 새로운 프로파일의 생성과 관련하여 생성된다. 버전의 차이가 결정되면, 보안 요소의 메모리에 저장된 템플릿은 이를 관리자의 것의 레벨이 되게 하도록, 즉, 이를 일치시키도록(즉, 템플릿을 형성하는 메타데이터 및/또는 컨텐츠 데이터를 동일하게 하도록) 업데이트될 수 있다. 보안 요소의 템플릿에 대한 이러한 업데이트가 수행된 후, 로컬 템플릿으로부터 새로운 프로파일을 생성한 관리자는 이를 보안 요소로 송신할 수 있고, 보안 요소는 이제 업데이트된 템플릿, 즉, 수신된 프로파일을 생성하는 데 사용된 것과 동일한 버전의 템플릿을 사용할 수 있기 때문에 수신시에 올바르게 처리할 수 있다.
로딩될 새로운 프로파일(예를 들어, 각각 적어도 하나의 템플릿을 참조하는 복수의 프로파일 요소들)을 생성하기 위해 복수의 템플릿들이 사용되는 경우, 이 업데이트는 물론 보안 요소에 저장된 동일한 템플릿과 버전의 차이를 갖는 로딩될 새로운 프로파일에서 참조되는 템플릿들 각각으로 확장되고 이에 대해 수행된다.
제2 실시예에 따르면, 수신된 정보는 관리자가 보안 요소에 저장된 템플릿의 버전을 식별할 수 있게 한다. 이 경우, 관리자는 자신의 템플릿이 보안 요소의 것과 동일한 버전이 되도록 업데이트될 수 있고, 따라서 관리자는 업데이트된 템플릿(식별된 버전 보유)을 사용하여 로딩될 프로파일의 프로파일 요소를 보안 요소에 생성할 수 있게 된다. 이러한 방식으로, 관리자는 보안 요소에 존재하는 것과 (각각의 템플릿에 대한) 동일한 템플릿 버전에 기초하여 프로파일을 생성해야 한다. 그런 다음, 관리자는 생성된 프로파일을 보안 요소에 송신하고, 보안 요소는 메모리에 저장된 템플릿을 사용하여 수신시에 이를 처리한다.
따라서, 이들 다양한 실시예들에서, 보안 요소는 관리자에 의해 획득된 메타데이터 정보에 의해 프로파일 요소를 처리할 수 있으며, 이 메타데이터 정보는 보안 요소 내에 로컬로 저장된 템플릿의 업데이트를 위해 준비될 수 있거나, 로딩될 프로파일(따라서, 그에 포함된 각각의 및 모든 프로파일 요소)이 관리자 엔드에서 포맷되게 할 수 있어, 보안 요소 내에 존재하는 템플릿과 함께 처리될 수 있다.
물론, 이들 단계들은 단일 템플릿 및 단일 프로파일 요소에 대해 설명되지만, 원칙적으로는 로딩될 프로파일의 모든 프로파일 요소들 및 그들의 데이터를 포맷하는 데 대응하는 템플릿들에 대해 추가 어려움없이 적용될 수 있다.
도 1은 본 발명의 실시예들이 구현될 수 있는 통신 시스템의 예를 간략한 방식으로 예시한다.
이러한 개략도에서, 예를 들어, eUICC 카드와 같은 보안 요소(20)를 호스팅하는 호스트 디바이스(10)가 도시되어 있다.
호스트 디바이스(10)는 예를 들어, 모바일 단말, 스마트폰, 태블릿 컴퓨터, 또는 심지어 전기 계량기, 차량, 커피머신 등과 같은 임의의 다른 전자 장비이다.
호스트 디바이스(10)와 보안 요소(20)는 예를 들어, 표준 ISO 7816에 따라 APDU(애플리케이션 프로토콜 데이터 유닛(application protocol data unit)) 커맨드들에 의해 통신한다.
물론, 통신 시스템은 일반적으로 내장식 보안 요소들이 장착된 복수의 그러한 호스트 디바이스들을 포함한다. 본 발명은 특히 내장식 보안 요소에 특정 동작들을 구현한다.
통신 시스템은 또한 통신 네트워크(30)를 포함한다. 이 네트워크(30)는, 예를 들어, 종래의 방식으로, 모바일 단말들을 접속하기 위한 기지국들(도시 생략) 및 도시가 생략된 복수의 엔티티들(GMSC들, HLR들, MSC 서버들, VLR들 등)을 포함한 모바일 전화 네트워크이다.
일반적으로, 네트워크(30)는, 원격 서버를 형성하고 본 명세서에서 2개의 분리된 서버 모듈, 즉, 보안 전송 또는 라우팅 서버 SM-SR(310)(가입 관리자 보안 라우팅) 및 데이터-준비 서버 SM-DP(320)(가입 관리자 데이터 준비)로 표현된 가입 관리 엔티티(또는 관리자) SM(330)(가입 관리자)를 포함한다.
SM-DP 데이터-준비 서버(320)는 특히 프로파일 데이터를 준비하고 보안 요소(20)에 이를 로딩 및 보안 설치하는 것을 관리하는 역할을 한다.
SM-SR 보안 라우팅 서버(310)는 특히 네트워크의 보안 요소들에 프로파일들을 로딩, 설치 및 관리하기 위한 커맨드들(및 따라서 커맨드 스크립트들)을 보안 방식으로 전송하는 역할을 한다.
이들 2개의 서버는 SM 엔티티(330) 내에서 그리고 호스트 디바이스(10) 및 그에 포함되는 보안 요소(20)와 함께 통신하기에 적합하다. 단순화를 위해, 2개의 SM-DP 및 SM-SR 서버 중 어느 하나, 또는 가입자 관리, 프로파일 관리, 보안 요소 또는 가장 광범위한 의미에서 그 콘텐츠의 관리에 참여하는 임의의 다른 타입의 서버에 의해 수행되는 동작에 대해 질문이 있을 때에는, 주로 SM 엔티티(관리자)가 참조된다.
이 예에서, 보안 요소(20)는 복수의 보안 도메인들을 포함하고, 여기서는 2017년 6월 27일에 표준 GSMA - Remote Provisioning Architecture for Embedded UICC - Technical Specification - Version 3.2 - 에 의해 정의된 것과 같은 245 및 250을 참조하며, 이들은 보안상의 이유 및 채택하는 데이터의 기밀 유지를 위해 서로 독립적이다. 보안 요소(20)는 또한 설치될 프로파일들(및 보다 정확하게는, 이러한 프로파일들을 형성하는 프로파일 요소들)이 참조하는 템플릿들의 집합(255)을 메모리에 포함한다.
ISD-R(발행자 보안 도메인 루트(issuer security domain root))(245)로 표시된 메인 보안 도메인은 보안 요소에서 SM-SR 서버(310)를 나타내는 엔티티이다. 따라서, ISD-R(245) 및 SM-SR 서버(310)는 보안 전송 프로토콜을 사용하여 네트워크(30)를 통해 통신할 수 있다. 메인 보안 도메인으로서의 그 역할에서, ISD-R(245)은 보안 요소(20)의 다른 보안 도메인들을 관리하는 역할을 담당한다. 특히, SM-DP 서버(320)와 연관된 다른 보안 도메인 ISD-P(250)(발행자 보안 도메인 프로파일(issuer security domain profile))을 생성하는 것은 ISD-R(245)에 달려 있다. 물론, 다른 ISD-P 보안 도메인들이 ISD-R에 의해 보안 요소(20) 내에 생성될 수 있다. 이 경우, 다른 SM-DP 서버들이 관리자(330) 내에 제공될 수 있다.
프로파일들은 임의적으로 선행 프로파일의 업데이트에 의해 이들 보안 도메인들 중 하나 이상에 로딩되어 이에 설치될 수 있다.
본 발명과 관련하여, 보안 요소(20)는, 예를 들어, 제조시에 제조자에 의해 미리 설치되거나 또는 보안 요소(20)가 호스트 디바이스(10)에 설치하거나, 또는 예를 들어, 보안 요소의 수명 동안에(예를 들어, 새로운 ISD-P 또는 새로운 OS를 생성하는 동안에) OTA 채널을 통해 로딩된 하나 이상의 템플릿의 집합(255)을 그 메모리에 포함한다.
특정 실시예들에서, ISD-R(245)은 또한 보안 요소에 저장된 템플릿들을 관리(업데이트된 이들 템플릿 상의 정보의 전달)하는 역할을 한다.
일반적으로, SM-DP 서버(320)는 커맨드-스크립트 또는 "설치-스크립트" 형태로, 예를 들어, 표준 ETSI TS 102 226에 정의된 바와 같은 C-APDU의 리스트(APDU 커맨드들)의 형태로 프로파일의 데이터를 준비하도록 구성된다. 위에서 언급된 바와 같이, 이러한 프로파일은 SM-DP 서버(320)가 액세스할 수 있는 미리 정의된 템플릿들에 따라 일반적으로 포맷된 복수의 프로파일 요소들을 포함한다.
보안 요소(20)에 저장된 템플릿들의 집합이든 관리자가 액세스할 수 있는 템플릿들의 집합이든 간에, 템플릿들은 각각 실질적으로 동일한 정보, 즉, 특히, OID 및 (예를 들어 주 버전 및 부 버전으로 구성된) 템플릿의 버전 번호의 전부 또는 일부, 템플릿의 만료 날짜 및 템플릿의 해시 값 또는 지문을 포함하는 메타데이터를 포함한다.
예로서, 해시/지문 값은 SHA256 알고리즘의 사용에 기초하며, 메타데이터의 값들 및 해당 템플릿의 컨텐츠(프로파일 요소의 기술)에 적용될 수 있다. 이 해시는, 템플릿을 형성하는 다른 메타데이터와 동시에 저장될 수 있도록, 템플릿이 보안 요소 또는 관리자의 메모리에 저장될 때 업스트림에서 계산될 수 있다.
실시예가 위에서 언급된 본 발명의 제1 실시예에 따르면, 예를 들어, 프로파일을 로딩하라는 지시에 응답하여, 보안 요소에 로딩될 새로운 프로파일의 요소들이 보안 요소로 송신되기 전에, 본 발명은 보안 요소에 존재하는 템플릿들이 (예를 들어, 버전의 관점에서) 로딩될 프로파일의 프로파일 요소들을 포맷하는 데 사용된 것들에 실제로 대응하는 것을 검증한다. 이들 템플릿들이 상이한 경우, 이들은 스트립트가 송신되기 전에, 예를 들어, 보안 요소에서 업데이트된다.
위에서 언급된 제2 실시예에 따르면, SM 엔티티(330)(관리자)에서, 로딩될 프로파일을 형성하는 프로파일 요소들을 생성하는 데 동일한 버전들을 갖는 템플릿들이 사용되는 것을 보장하기 위해, 보안 요소에 존재하는 템플릿들 및 특히 그들의 버전이 식별된다.
요구되는 템플릿들이 보안 요소에서 로딩될 프로파일을 생성하는 데 사용된 것들에 대응하도록, 또는 로딩될 프로파일이 보안 요소에 저장된 것들과 동일한 버전들로 생성되도록 SM 엔티티(330)에서 업데이트되고 나면, SM 엔티티(330)는 보안 요소에 로딩될 생성된 프로파일을 송신하고, 따라서 (그들의 OID들을 통해) 사용된 템플릿들을 참조하는 다양한 생성된 프로파일 요소들을 송신하는 태스크를 수행한다.
이를 위해, SM 엔티티(330)는 설치 스크립트(즉, 생성된 프로파일)를, 예를 들어, 자신이 포함하는 프로파일 요소들에 따라, 보안 요소(20)에 송신될 패킷들을 형성하는 복수의 2진 블록들로 분할 또는 세그먼트화하도록 구성된다.
통상적으로, SM 엔티티(330)는 ISD-R(245)과 보안 방식으로 통신할 수 있으며, ISD-R(245)에 보안 세션들 동안 (예를 들어, 보안 프로토콜 SCP81을 사용하여) 패킷들을 송신한다.
수신시, ISD-R(245)은 각각의 수신된 패킷을 복호화하고, 이를 ISD-P(250)로 송신한다. 패킷들 전부 또는 일부의 수신시, 프로파일 요소들의 처리가 시작될 수 있는데, 이것은 특히, 로컬 메모리에서 이들 수신된 프로파일 요소들에 의해 참조되는 최신 또는 업데이트된 템플릿들을 수집한 후, 보안 요소의 메모리에 (병합 후에) 재어셈블링된 프로파일 요소들을 기입하는 것으로 이루어진다. 그런 다음, 프로파일은 결과적으로 보안 요소의 메모리에 설치된다(따라서, 로딩된다).
도 2는 본 발명의 실시예들에 따라, 보안 요소, 예를 들어, 도 1의 보안 요소(20), 또는 관리자, 예를 들어, 도 1의 SM 엔티티(330)에 대한 하나의 가능한 아키텍처의 예를 개략적으로 도시한다.
이 아키텍처(200)는 특히 통신 버스(205)를 포함하고, 통신 버스(205)에는,
- 프로세싱 유닛(210) - 또는 마이크로프로세서 - 로 표시된 CPU(중앙 처리 유닛(central processing unit));
- 비휘발성 메모리(220), 예를 들어, ROM(판독 전용 메모리(read-only memory)), EEPROM(전기적으로 소거 가능한 판독 전용 메모리(electrically erasable read-only memory)) 또는 심지어 플래시 메모리;
- 직접-액세스 메모리(230) 또는 캐시 메모리 또는 휘발성 메모리, 예를 들어, RAM(랜덤 액세스 메모리(random access memory)); 및
- 네트워크 또는 판독/기록 인터페이스(예를 들어, 인터페이스 ISO 7816)를 통해 다른 엔티티와 데이터를 교환하기에 적합한 통신 인터페이스 COM(240)
이 접속된다.
직접-액세스 메모리(230)는 본 발명에 따른 방법을 구현하기 위한 명령어들을 포함하는 컴퓨터 프로그램의 실행 동안에 생성되고 수정된 변수들 및 파라미터들을 기록하기에 적합한 레지스터들을 포함한다. 비휘발성 메모리(220)에 저장된 프로그램의 명령어 코드들은 CPU 프로세싱 유닛(210)에 의해 실행되도록 RAM 메모리(230)에 로딩된다.
비휘발성 메모리(220)는 예를 들어, 본 발명의 의미로 매체를 형성할 수 있는 재기입 가능 EEPROM 메모리 또는 플래시 메모리로서, 즉, 본 발명에 따른 방법의 단계들을 구현하기 위한 명령어들을 포함하는 컴퓨터 프로그램을 포함할 수 있다.
본 발명과 관련하여, 이는 특히 보안 요소 또는 관리자(330)에 저장된 템플릿들의 집합을 포함할 수 있다.
도 3은 위에서 언급된 본 발명의 제1 실시예 중 하나의 실현에 따른 관리 방법의 단계들을 타이밍도의 형태로 도시한다. 이들 단계들은 도 1에 도시된 다양한 요소들, 특히, SM 엔티티(330) 및 eUICC(20)에 의해 구현될 수 있다.
이 실현에서는, 단계(E10)에서, SM 관리자(330)는 예를 들어, SM-DP 서버(320)를 통해 하나 이상의 템플릿을 사용하여 포맷된 프로파일 요소들로 구성된 새로운 프로파일을 생성한다.
이 단계는 관리자에 의해 측정된 미리 정의된 시간량의 경과; eUICC(20)에 새로운 프로파일을 로딩하기 위해 제3자에 의해 수신된 요구; 관리자가 액세스할 수 있는 메모리에 저장된 템플릿의 업데이트; 및 이러한 템플릿의 만료 중 트리거링 이벤트의 발생(E0)에 의해 트리거링될 수 있다.
이것은 예를 들어, SM 엔티티(330)가 새로운 프로파일을 생성하고 그것을 eUICC(20)에 로딩하라는 지시를 수신하는 것을 포함한다. 이 지시는, 수동이든 자동이든 간에, 환경에 따라, 호스트 디바이스(10)의 사용자로부터 또는 실제 오퍼레이터로부터 발생된다.
또한, 관리자에 의해 로컬로 저장된 템플릿이 만료되었고, 따라서 잠재적으로 업데이트된 경우, eUICC(20)을 새로운 템플릿에 따라 업데이트된 프로파일들로 업데이트하는 것이 권고된다.
예를 들어, 단일 템플릿이 사용되었고, 그 버전이 제10 버전에 대해 "V10.0"으로 표시된다고 가정한다. 템플릿 버전의 개념은, 해당 템플릿이 수정/업데이트될 때, 예를 들어, 포맷을 변경할 때, 변경되지 않은 채로 유지되는 단일 OID에 의해 각각 특징 지워지는 것으로 고려할 때, 템플릿들의 관리를 용이하게 하기 위해 발명자들에 의해 생성되었다는 것을 상기할 것이다.
템플릿 버전의 표현은 예를 들어, 주 버전 번호(예를 들어, 소수점 앞에 위치한 정수 값) 및 부 버전 번호(예를 들어, 소수점 뒤에 위치한 십진 값)에 대응하여, 예를 들어, 콤마 또는 소수점에 의해 분리되는 2개의 버전 번호로 구성된다.
본 예에서, V10.0으로 표시된 템플릿의 버전은 "10"의 주 버전 번호와 "0"의 부 버전 번호에 대응한다.
기술된 예에서, eUICC(20)는 메모리에 해당 템플릿의 버전 V9.0을 가지고 있다. 따라서, 이 예에서, eUICC(20)의 메모리에 저장된 템플릿은 SM 관리자(330)가 eUICC(20)에 로딩될 새로운 프로파일을 생성하기 위해 사용할 수 있는 템플릿의 버전보다 오래된 버전에 대응한다.
물론, 이것은 단지 예시적인 예일 뿐이며, 본 발명은 이에 제한되지 않는다. 따라서, 템플릿들과 연관된 하나 이상의 상이한 메타데이터(버전 번호, 만료 날짜, 템플릿의 해시)에 의해 특징 지어지는 다른 템플릿 버전들이 사용될 수 있다.
또한, 트리거링 이벤트(E0)에 응답하여, SM 관리자(330)는 그들의 OID들에 의해 식별된 하나 이상의 템플릿으로부터 생성된 프로파일의 타겟 eUICC(20)와의 호환성을 검증하고자 한다. 이를 위해, 관리자는 상기 OID들에 의해 식별되고 eUICC(20)에 저장된 템플릿들 중 적어도 하나의 템플릿의 템플릿 버전을 나타내는 적어도 하나의 정보(메타데이터)를 획득하려고 시도한다. 이 단계는 단계(E10)와 병렬로 또는 심지어 그 전에 수행될 수 있다.
이를 수행하기 위해, 단계(E20)에서, SM 관리자(330)는 이들 정보에 응답하여 획득하고자 하는 감사 요청을 생성하여 eUICC(20)에 송신한다. 이 감사 요청은 본 명세서에서 TEMPLATE AUDIT REQUEST으로 표시되는 커맨드의 형태를 취할 수 있다.
아래에서 설명되는 바와 같이, 이러한 커맨드는 eUICC(20)에 저장된 템플릿들 중 하나 이상 또는 전부와 연관된 메타데이터의 전부 또는 일부에 대응하는 정보가 획득되게 할 수 있다.
이 TEMPLATE AUDIT REQUEST 커맨드는 발명자들이 생성한 것이기 때문에, SIMALLIANCE에 의해서는 설명되지 않는다.
데이터 구조가 표준화된 방식으로 기술될 수 있는 ASN.1(추상 구문 표기법 1(abstract syntax notation one)) 표기법은 여기에서 생성된 커맨드의 포맷, 및 마찬가지로 이를 구성하는 데이터를 제시하는 데 사용된다.
따라서, 예를 들어, 사용된 TEMPLATE AUDIT REQUEST 커맨드를 기술하기 위해 다음의 포맷이 제안된다.
TemplateAuditRequest ::= SEQUENCE {
templateARF [PRIVATE 109] SEQUENCE OF AuditRequestFilter }
따라서, 이것은 AuditRequestFilter 포맷으로 하나 이상의 templateARF 요소의 시퀀스를 포함하는 커맨드이다. templateARF 요소는 감사 대상인 하나 이상의 템플릿에 대해 원하는 정보(메타데이터)를 정의한다.
상세히, 그러한 요소의 AuditRequestFilter 포맷은 다음과 같을 수 있다.
AuditRequestFilter ::= SEQUENCE {
templateID OBJECT IDENTIFIER OPTIONAL,
templateRTI requestedTemplateInformation }
다시 한번, 이것은 감사 대상인 하나 이상의 템플릿을 식별하는 제1 요소 templateID 및 해당 templateID 요소를 통해 식별되는 하나 이상의 템플릿에 대한 원하는 정보(메타데이터)를 열거하는 제2 요소 templateRTI 의 시퀀스에 대한 질문이다.
완전히 예시적인 예로서, 요청은 다양한 템플릿들(OID_1, OID_42, OID_13, OID_54, OID_5, OID_8) 또는 심지어 모든 템플릿들에 관한 요구와 관련하여 다음 templateARF 시퀀스를 포함할 수 있다.
{
[ OID _1],
[templateMajor-Version,
templateExpirationDate],
[ OID _42, OID _13, OID _54],
[templateMajor-Version,
templateMinor-Version,
templateExpirationDate],
[ OID _5],
[],
[ OID _8],
[templateMinor-Version]
[],
[templateHash] }
특히, templateID 필드는 메타데이터 정보가 요구되는 템플릿들을 고유하게 식별하는 OID 식별자들의 리스트를 포함할 수 있다. 리스트에 의하면, 적어도 하나의 OID가 그 안에 포함되어 있다는 것이 이해되어야 한다. 이것은 예를 들어, OID OID_1만을 열거하는 앞의 예의 제1 블록의 경우뿐만 아니라, OID들 OID_42, OID_13 및 OID_54를 열거하는 제2 블록의 경우가 그러하다.
특정 실시예들에서는, "그룹" OID들이 사용되어, 관리자 및 보안 요소들에 알려질 수 있다. 예를 들어, 그룹 OID는 단일 OID를 사용하여 템플릿들의 계열이 지정되게 할 수 있다.
특정 실시예들에서, templateID 필드에서의 OID의 부재(즉, 비어 있는 리스트)는 eUICC(20)에 저장된 모든 템플릿들이 타겟이 됨을 암시적으로 정의한다. 이것은 이전 예의 마지막 블록의 경우이다.
그 부분에 대한 templateRTI 필드는 대응하는 templateID 필드에 열거된 템플릿들 각각에 대해 응답으로 원하는 다양한 정보(메타데이터)를 열거한다.
일 실시예에서, 이 필드에 정보가 표시되지 않으면(예를 들어, 필드가 비어 있으면), 후자는 해당하는 하나 이상의 템플릿의 메타데이터 전부가 리턴시 필요하다고 암시적으로 정의할 수 있다. 이것은 예를 들어, OID_5에 적용되는 앞의 예의 제3 블록의 경우이다.
예로서, templateRTI 필드는 아래에 설명된 requestedTemplateInformation 요소로 구성되어, 다양하게 요구되는 정보를 열거시킬 수 있다.
requestedTemplateInformation::= SEQUENCE {
templateMajor -Version UInt8 OPTIONAL,
templateMinor -Version UInt8 OPTIONAL,
templateExpirationDate DATE OPTIONAL,
templateHash OCTET STRING OPTIONAL }
해당하는 하나 이상의 템플릿의 버전 번호 및/또는 해당하는 하나 이상의 템플릿의 만료 날짜 및/또는 해당하는 각각의 템플릿으로부터 계산된 해시 값이 요구되는지를 정의하는 것이 이 리스트의 예에서의 질문이다.
특히, templateMajor -Version 은, 커맨드에서 위치 결정될 때, ( templateID 필드에서) 타겟으로 하는 하나 이상의 템플릿의 메인, 즉, 주 버전 번호(예를 들어, 부호없는 정수( UInt8 ) 타입)가 요구되는 것을 나타내는 필드이다.
예를 들어, 타겟 템플릿이 버전 V1.3인 경우, templateMajor -Version 필드에 의해 리턴되는 값은 1이다.
templateMinor -Version 은, 커맨드에서 위치 겨렁될 때, 하나 이상의 타겟 템플릿의 하위-버전 번호(예를 들어, 부호없는 정수( UInt8 ) 타입)가 요구되는 것을 나타내는 필드이다.
예를 들어, 타겟 템플릿이 버전 V1.3인 경우, templateMinor -Version 필드에 의해 리턴되는 값은 3이다.
templateExpirationDate 는, 커맨드에서 위치 결정될 때, 하나 이상의 타겟 템플릿의 만료 날짜가 요구되는 것을 나타내는 필드이다.
templateHash 는, 커맨드에서 위치 결정될 때, 하나 이상의 타겟 템플릿 각각과 연관된 해시/지문 값이 요구되는 것을 나타내는 필드이다.
따라서, TEMPLATE AUDIT REQUEST 커맨드는 eUICC(20)의 메모리에 저장된 하나 이상의 템플릿에 대해 하나 이상의 정보(메타데이터)를 요구할 수 있게 한다. requestTemplateInformation 필드는 이들 원하는 정보를 정의하는 반면, templateID 필드는 하나 이상의 타겟 템플릿을 정의한다.
원하는 정보( requestedTemplateInformation )가 비어 있는 리스트로 포맷된 TEMPLATE AUDIT REQUEST 커맨드는, 비어 있지 않은 리스트의 templateID 에서 참조된 바와 같이, 적어도 하나의 타겟 템플릿의 정보(메타데이터) 전부를 요구한다는 것에 주목하도록 한다.
비어 있는 템플릿-식별 리스트( templateID )로 포맷된 TEMPLATE AUDIT REQUEST 커맨드는 eUICC(20)의 메모리에 저장된 모든 템플릿들에 대해 비어 있지 않은 리스트에서 참조되는 적어도 하나의 정보(메타데이터) requestedTemplateInformation 를 요구한다.
마지막으로, 비어 있는 템플릿-식별 리스트( templateID ) 및 원하는 정보( requestedTemplateInformation )가 비어 있는 리스트로 포맷된 TEMPLATE AUDIT REQUEST 커맨드는 따라서 eUICC(20)의 메모리에 저장된 모든 템플릿들에 대한 모든 정보(메타데이터)를 요구한다.
위에서 언급된 필드들의 리스트는 결코 제한적이지 않으며, 다른 필드들이 제공될 수 있다. 예를 들어, 템플릿들과 연관된 메타데이터 내에서 원하는 정보를 정의하는 다른 필드들이 제공되어, 요구되는 정보가 다양해질 수 있다.
eUICC(20)가 TEMPLATE AUDIT REQUEST 커맨드를 이해할 수 있게 하기 위해, ASN.1 포맷으로 위에서 제시된 후자는, SM 관리자(330)에 의해, 송신 전에, eUICC가 이해할 수 있는 포맷으로 변환된다. 예를 들어, 이것은 TLV(태그 길이 값(tag length value)) 구조에 기초하여, 표준 ISO 7816-4에서 주어진 설명에 따라 "케이스 4" 타입의 커맨드(예를 들어, GlobalPlatform 표준의 GET DATA 커맨드)로 변환된다.
따라서, TEMPLATE AUDIT REQUEST을 나타내는 GET DATA 커맨드는 관리자에 의해 eUICC(20)로 송신되고, 따라서 eUICC(20)는 그것을 수신한다.
단계(E30)에서, TEMPLATE AUDIT REQUEST 커맨드( templateAuditRequest )의 ASN.1 설명의 ISD-R에 의해 사용 가능한 표현에 대응하는 GET DATA 커맨드를 포함하는 요청이 eUICC(20)의 ISD-R에 의해 처리된다.
이 처리는 요청의 하나 이상의 templateID 필드의 OID들에 의해 식별되는 로컬로 저장된 템플릿들을 수집한 후, 하나 이상의 대응하는 templateRTI 필드에서 식별된 것과 같은 요구된 정보를 수집하는 것을 포함한다. 위에서 나타낸 바와 같이, 이것은 예를 들어, 메인 버전 및/또는 부 버전 및/또는 만료 날짜 및/또는 각각의 타겟 템플릿의 해시 값에 대한 질문이다.
이들 정보는 GET DATA 커맨드에 대한 응답으로 컴파일링된다. TEMPLATE AUDIT REQUEST과 마찬가지로, 이 전용 응답 또한 발명자들에 의해 생성되었다. 예로서, TemplateAuditResponse 로 표시된 이 응답은 ASN.1 포맷으로 다음과 같이 구조화될 수 있다.
TemplateAuditResponse ::= SEQUENCE {
templateList SEQUENCE OF TemplateOT ,
constructorID OBJECT IDENTIFIER OPTIONAL,
templateSignature OCTET STRING OPTIONAL }
리스트의 질문에서, 제1 부분은 각각 TEMPLATE AUDIT REQUEST 커맨드에 의해 타겟으로 되고 마지막으로 eUICC(20)에서 발견되는 템플릿 식별자(OID)를 열거하는 (이하에서 설명되는) TemplateOT 포맷의 하나 이상의 필드 또는 요소 templateList , 및 그와 연관되는 요구되는 정보의 시퀀스이다. 특히, 감사 요청이 임의의 특정한 템플릿들을 나타내지 않고( templateID 리스트가 비어 있음), 및/또는 특정하게 요구되는 정보를 나타내지 않는( requestedTemplateInformation 리스트는 비어 있음) 경우, 이 templateList 시퀀스는 eUICC(20)에 저장된 각각의 템플릿 및 리턴되는 정보가 식별되게 할 수 있다.
eUICC(20)에 타겟 템플릿이 존재하지 않는 경우(예를 들어, eUICC가 템플릿들을 포함하지 않는 경우), 응답에서는 정보가 리턴되지 않는다. 보다 일반적으로, 타겟 템플릿이 eUICC의 메모리에 있지 않은 경우, 응답의 templateList 필드에서는 대응하는 정보가 리턴되지 않는다. 이렇게 하면 관리자가 (타겟 리스트와 관련하여) 어느 템플릿들이 누락되고 있는지를 결정할 수 있을 것이다.
다음은 TemplateOT 요소의 ASN.1 표현의 일례이다.
TemplateOT ::= SEQUENCE {
templateID OBJECT IDENTIFIER,
templateContent OCTET STRING OPTIONAL,
templateMajor -Version UInt8 OPTIONAL,
templateMinor -Version UInt8 OPTIONAL,
templateExpirationDate DATE OPTIONAL,
templateHash OCTET STRING OPTIONAL }
이것은 이 템플릿에 대해 요구되는 정보: templateMajor -Version (메인, 즉, 주 버전 번호), templateMinor -Version (하위 버전 번호), templateExpirationDate (만료 날짜) 및/또는 templateHash (해시 또는 지문 값)을 특정하는 특정 템플릿(대응하는 OID를 나타내는 templateID 필드에 의해 식별됨)에 대한 리스트의 질문이다.
templateContent 필드(템플릿을 업데이트하기 위한 커맨드와 관련하여 이하에서 설명됨)는 TEMPLATE AUDIT REQUEST 커맨드에서 사용되지 않는다. 이것은 감사 요청에 대한 이 설명으로부터 제거될 수 있다. 그러나, 간략함을 위해, 이 요청 및 이하에서 설명되는 템플릿을 업데이트하기 위한 커맨드에서는 동일한 TemplateOT 포맷을 사용하도록 선택되었다.
물론, 다른 정보가 (템플릿들과 연관된 메타데이터로서) 제공된다면, 이들이 요구될 수도 있다.
TEMPLATE AUDIT RESPONSE의 다른 필드들 constructorID templateSignature 는 임의적이며, eUICC(20)로부터 발생된 응답이 인증되게 할 수 있다.
특히, constructorID 필드는 eUICC(20)의 제조자의 식별자를 포함할 수 있다. 이 정보는 관리자가 예를 들어, 해당 eUICC의 템플릿들에 대한 업데이트가 어떤 서버 또는 제조자로부터 얻어져야 하는지를 식별하게 할 수 있다.
templateSignature 필드는 TemplateAuditResponse 의 암호화 서명을 포함할 수 있다. 이는 예를 들어, 개인 키/공개 키 모드에서 ISD-R의 암호화 키를 사용하는 모든 응답 또는 리턴되는 정보(특히, 필드들의 시퀀스 templateList )의 서명에 대한 질문일 수 있다. SM 관리자(330)(예를 들어, SM-SR 또는 SM-DP)는 수신된 서명을 검증할 수 있다. 따라서, 이 검증은 템플릿 및/또는 리턴되는 메타데이터의 출처가 인증되게 할 수 있다.
따라서, TEMPLATE AUDIT RESPONSE는 감사 요청에 의해 타겟으로 되고 메모리에 eUICC에 의해 저장되는 템플릿들과 연관된 모든 정보가 SM 관리자(330)에 전달되도록 할 수 있다. eUICC(20)는 요청에 의해 타겟으로 된 특정 템플릿들을 포함하지 않을 수 있고, 이 경우, 응답은 어떤 정보도 리턴하지 않는다.
일단 생성되면, TEMPLATE AUDIT RESPONSE은 단계(E40)에서 eUICC(20)에 의해 SM 관리자(330)에 송신되어, 후자가 보안 요소의 메모리에 저장된 프로파일-요소 템플릿의 버전을 나타내는 하나 이상의 정보를 획득하게 할 수 있다.
수신시, SM 관리자(330)는 임의적으로 응답의 신뢰성을 검증하기 위해 위에서 언급된 암호화 키를 사용하여 응답의 서명을 검증한다.
다음에, 단계(E50)에서, SM 관리자(330)는 수신된 정보를 템플릿과 연관된 정보 또는 단계(E10)에서 로딩될 새로운 프로파일을 생성하는 데 사용된 템플릿들과 비교한다. 이 비교는 수신된 정보를 통해 획득된 각각의 템플릿 버전과, 관리자가 액세스할 수 있는 메모리에 저장되고 단계(E10)에서 프로파일을 생성하는 데 사용된 것과 동일한 템플릿(즉, 동일한 OID 식별자를 가짐)의 버전 간의 버전의 차이가 있는지를 결정할 수 있게 한다.
일 실시예에서, 비교는 해당 템플릿과 연관된 버전 번호에 기초한다.
동일한 OID로 참조되지만 상이한 메인 버전들을 갖는 2개의 템플릿(예를 들어, 템플릿들 중 하나에 대해서는 V1.1(즉, 1의 templateMajor-version 값))이고, 다른 템플릿에 대해서는 V2.1(즉, 2의 templateMajor -version 버전 값)임)은 호환되지 않는다는 것, 즉, 이들 템플릿들 중 하나로 포맷된 데이터는 다른 템플릿을 사용하여 이해될 수 없다(예를 들어, 해당 템플릿의 데이터의 길이가 버전마다 상이하다)는 것에 주목하도록 한다. 그런 다음, 템플릿을 업데이트하는 것이 바람직할 수 있다.
대조적으로, 동일한 OID로 참조되고 동일한 메인 버전을 갖지만 상이한 하위 버전들을 갖는 2개의 템플릿(예를 들어, 템플릿들 중 하나에 대해서는 V1.1(예를 들어, 1의 templateMinor -version 값)이고, 다른 템플릿에 대해서는 V1.2(예를 들어, 2의 templateMinor -version 값)임)은 이전 버전과 호환되며, 즉, 예를 들어, 템플릿의 데이터의 값의 차이(예를 들어, 파일에 저장된 값의 수정 또는 실제로, 예를 들어, 인증을 수행하는 데 사용된 파라미터의 수정)로 인해 에러들이 나타날 수 있더라도, 이들 템플릿들 중 하나로 포맷된 데이터는 다른 템플릿을 사용하여 이해될 수 있다. 그 후, 다시 한번, 업데이트가 바람직할 수 있다.
따라서, SM 관리자(330)는 단계(E10)에서 프로파일을 생성하는 데 사용된 템플릿의 메인 버전 번호 및/또는 하위 버전 번호(도 3의 예에서, V10.0)를 수집하고, 단계(E40)에서 수신된 TEMPLATE AUDIT RESPONSE에서 전달된 것과 같은 동일한 템플릿(동일한 OID)의 메인 버전 번호 및/또는 하위 버전 번호(도 3의 예에서, V9.0)를 수집한 후, 이들 두 번호를 서로 비교한다.
따라서, 도 3의 예에서, SM 관리자(330)는 버전들의 차이가 있는지를 결정할 수 있다.
다른 실시예에서, 비교는 템플릿들과 연관된 만료 날짜에 의존한다. 통상적으로, SM 관리자(330)는 메모리에 템플릿들의 최신 버전들을 갖는데, 왜냐하면 멀리 퍼져 있는 다수의 eUICC들보다 관리자를 업데이트하는 것이 더 쉽기 때문에 그러하다.
비교(E50)는 단계(E10)에서 프로파일을 생성하는 데 사용된 템플릿의 (최신) 만료 날짜를 단계(E40)에서 수신된 TEMPLATE AUDIT RESPONSE에서 제공된 것과 동일한 템플릿(동일한 OID)의 만료 날짜와 직접 비교할 수 있다.
보다 간단하게, SM 관리자(330)는 단순히 TEMPLATE AUDIT RESPONSE에서 수신된 만료 날짜를 현재 시간과 비교하여, 수신된 만료 날짜가 초과되었는지, 그에 도달했는지 여부를 직접 결정할 수 있다.
다른 실시예에서, 비교는 템플릿들과 연관된 해시 값에 의존한다.
해시 값은 2개의 템플릿(로딩될 프로파일을 생성하는 데 사용된 템플릿과 eUICC에 저장된 다른 템플릿) 간의 전반적인 차이가 감지되게 할 수 있으므로, 이들 템플릿들 간에 버전의 차이가 있는지를 결정하게 할 수 있다. 또한, 이것은 템플릿들 전체(메타데이터 및 컨텐츠)의 무결성이 보장될 수 있게 하고, (동일한 OID에 의해 참조되는) 2개의 템플릿의 컨텐츠의 잠재적인 전반적인 차이를 더 세밀하게 검출할 수 있게 한다.
실제로, SM 관리자(330)는 단계(E10)에서 새로운 프로파일을 생성하는 데 사용된 템플릿에 대한 해시 값을 계산하거나, 또는 (예를 들어, 이 템플릿과 연관된 메타데이터에서) 이미 이용 가능하다면, 상기 값을 수집한다. 그런 다음, 관리자는 이 해시 값을 (동일한 OID를 갖는) 동일한 템플릿에 대한 TEMPLATE AUDIT RESPONSE에 포함된 해시 값과 비교한다.
보다 정교하게는, 메인 버전 및/또는 하위 버전의 번호 및/또는 템플릿의 만료 날짜 및/또는 해시 값은 동일한 OID를 갖는 2개의 템플릿(하나는 로딩될 프로파일을 생성하는 데 사용되고, 다른 하나는 eUICC에 저장됨)의 비교에서, 따라서 그 사이의 버전에서의 적어도 하나의 차이의 추론에서 보다 세밀한 입도성이 획득될 수 있게 한다.
구체적으로, 리턴된 것들 중에서 하나 이상의 다른 값(메타데이터)의 비교와 연관된 해시-값 비교는 유리하게는 동일한 OID를 갖는 2개의 템플릿 간의 차이가 어디에 위치되는지, 즉, 템플릿들과 연관된 메타데이터 중 하나에서 또는 그 컨텐츠에서 어디에 위치되는지를 검출할 수 있게 한다.
따라서, 버전의 차이의 결정은 상이한 성질들의 정보에 기초할 수 있다.
단계(E50)에서, SM 관리자(330)는 따라서 새로운 프로파일을 생성하는 데 사용된 템플릿과 eUICC에서 동일한 OID를 갖는 템플릿 간에 차이가 있는지를 결정한다. 물론, 이 동작은 바람직하게는 새로운 프로파일을 생성하는 데 사용된 각각의 템플릿에 대해 수행된다.
혹시 eUICC(20)가 (일반적으로, 메모리에 버전을 갖고 있지 않기 때문에) 감사 요청에 의해 타겟으로 되는 템플릿에 대한 정보를 전달하지 않는 경우, SM 관리자(330)에 의해 버전의 차이가 자동으로 검출된다.
E40에서 수신된 정보에 기초하여 단계(E50)에서 버전의 차이가 관찰되지 않는 경우, 방법은 이하에서 설명될 단계(E100)로 직접 전달된다.
일 실시예에서, SM 관리자(330)는 수신된 정보에 기초하여 버전의 주어진 차이가 최소인지, 즉, 예를 들어, 만족스러운 동작 호환성을 허용하는지(대응하는 프로파일 요소의 처리 동안에, 새로운 프로파일의 설치 실행을 방해하는 성질의 문제점들을 일으킬 정도로 충분히 상이하지 않은지)를 결정할 수 있다. 이것은, 예를 들어, 2개의 템플릿이 하나의 하위 버전만큼만 상이한 경우이다. 이 경우, eUICC(20) 내의 템플릿은 업데이트되지 않을 수 있고, 방법은 단계(E100)로 직접 전달된다.
대조적으로, 버전에서 큰 차이가 검출되면, eUICC(20) 내의 템플릿의 버전은 로딩될 생성된 프로파일과 호환되지 않는다. 그 후, 이 상황은 eUICC에 존재하는 템플릿이 업데이트될 것을 요구한다. 이 업데이트는 타겟 템플릿의 메타데이터 및/또는 컨텐츠 중 적어도 하나를 업데이트하는 것으로 구성될 수 있다.
또한, eUICC(20)의 메모리에 타겟 템플릿 버전이 없는 경우, SM 관리자(330)는 이 템플릿을 eUICC(20)에 로딩하기로 결정할 수 있다. 이 로딩 또한 템플릿의 업데이트이다.
따라서, 단계(E60)에서, SM 관리자(330)는 템플릿의 업데이트를 준비한다. 이와 관련하여, SM 관리자(330)는 TEMPLATE AUDIT RESPONSE에서 리턴되는 constructorID 파라미터로 표시된 제조자의 전용 서버로부터 최신 템플릿을 임의적으로 업스트림으로 모을 수 있다. 이 준비(E60)는 eUICC에서 템플릿을 업데이트하도록 의도된 업데이트하기 위한 하나의 (또는 둘 이상의) 커맨드를 생성하는 것을 포함한다.
물론, TEMPLATE AUDIT RESPONSE가 로딩될 새로운 프로파일을 생성하는 데 사용된 템플릿들과 eUICC(20)에 저장된 대응하는 템플릿들 간에 버전의 복수의 큰 차이들이 식별될 수 있게 하는 경우, 복수의 업데이트들이 수행된다.
예를 들어, ASN.1 포맷의 일반적인 업데이트 커맨드에 대한 기술은 다음과 같을 수 있다.
StoreDataTemplateUpdate ::= SEQUENCE {
templateTU [PRIVATE 109] TemplateUpdate }
이것은 TemplateUpdate 포맷으로 단일 필드 templateTU 를 포함하는 커맨드에 대한 질문이다. templateTU 필드는 하나 이상의 템플릿을 (그들의 OID들을 통해) 식별하고, 업데이트할 데이터/정보(템플릿의 메타데이터의 적어도 하나의 파라미터인 데이터 및/또는 템플릿의 컨텐츠 데이터)를 전달한다.
상세하게는, 그러한 필드의 TemplateUpdate 포맷은 다음과 같을 수 있다.
TemplateUpdate ::= SEQUENCE {
templateToUpdate SEQUENCE OF TemplateOT ,
templateSignature OCTET STRING OPTIONAL }
이것은 제1 부분이 templateToUpdate 요소를 형성하는 위에서 설명된 templateOT 필드들 중 하나 이상에 대한 시퀀스인 리스트의 질문일 수 있다.
각각의 필드는 ( templateID 에서 그 OID에 의해 식별된) 템플릿에 대응하고, 업데이트될 정보를 전달하며, 정보는 템플릿의 동일한 컨텐츠( templateContent ), 메인, 즉, 주 버전 번호( templateMajor -Version ), 하위 버전 번호( templateMinor -Version ), 만료 날짜( templateExpirationDate ) 및 지문 또는 해시 값( templateHash ) 중 전부 또는 일부를 포함한다.
TemplateOT 를 구성하는 필드들 중 일부를 형성하는 템플릿의 templateContent 컨텐츠는 템플릿 그 자체, 즉, 디폴트로 프로파일 요소를 기술하는 데이터 또는 값들 전부, 예를 들어, 파일의 사이즈, 기록의 길이, 파라미터의 값 등이다. 도 3의 예와 관련하여, 이것은 V10.0 템플릿의 데이터 및 값들에 대한 질문일 수 있다. 변형으로서, 버전 V9.0(eUICC에 의해 보유됨)과 버전 V10.0 간의 데이터 및 값들의 차이들만이 송신된다. 메타데이터 및 컨텐츠의 전부 또는 일부를 업데이트하는 일 실시예에서, 해시 값은 여전히 존재한다. 특히, 이 값의 계산은 메타데이터 값과 템플릿의 컨텐츠에 따라 달라지므로, 따라서, 아주 사소한 변경이 있는 경우, 해시 값은 바람직하게는 다시 계산되고, 업데이트의 일부를 형성하여, 후자가 eUICC에 의해, 이 변화를 고려하여 해시 값의 검사 동안에 승인된다. 또한, 메인 버전 및 하위 버전 번호들은 템플릿의 컨텐츠가 수정될 때 일반적으로 업데이트된다. 만료 날짜만을 업데이트할 수 있는 능력은 템플릿의 새로운 해시 값, 즉, 만료 날짜의 이 업데이트에 고유한 값과 함께 제공된다.
다음 필드인 templateSignature 은 업데이트하기 위한 커맨드의 임의적인 암호화 서명을 포함한다. 이것은, 예를 들어, 개인 키/공개 키 모드에서 SM 관리자(330)의 암호화 키를 사용하여 모든 templateToUpdate 필드로부터 계산된다. 이 서명은 커맨드를 수신하는 eUICC가 수신된 데이터의 출처(즉, 템플릿 또는 해당 템플릿들의 것)를 인증하도록 업데이트되게 할 수 있다.
eUICC(20)가 업데이트하기 위한 커맨드를 이해할 수 있도록 하기 위해, ASN.1 포맷으로 위에서 표현된 후자는, 송신 전에, SM 관리자(330)에 의해 eUICC에 의해 이해될 수 있는 포맷으로 변환된다. 예를 들어, 이것은 TLV(태그 길이 값(tag length value)) 구조에 기초하여 GlobalPlatform 표준의 STORE DATA 커맨드로 변환된다.
업데이트하기 위한 커맨드의 데이터의 길이(각각이 하나의 OID 및 해당 템플릿의 업데이트될 정보/컨텐츠를 포함하는 복수의 구조들의 반복)에 따라, 하나 이상의 STORE DATA 커맨드가 사용될 수 있다. 예를 들어, STORE DATA 커맨드는 각각의 템플릿에 사용될 수 있다.
TEMPLATE AUDIT RESPONSE가 (복수의 누락된 템플릿들에 적용될 수 있는) 카드에서 템플릿이 누락되었음을 식별할 수 있는 특정 경우, 업데이트하기 위한 커맨드는 실제로 이 누락된 템플릿을 생성하기 위한 커맨드로 구성된다. 동일한 STORE DATA 커맨드가 사용된다.
따라서, 업데이트하기 위한 커맨드를 나타내는 STORE DATA 커맨드는 단계(E70)에서 관리자에 의해 eUICC(20)로 송신되고, 따라서, eUICC(20)는 이를 수신한다. 이 송신은, 예를 들어, SMS(단문 메시지 서비스(short message service)) 통신 프로토콜의 사용의 경우에는 (예를 들어) 보안 전송 프로토콜 SCP080에 기초하여, 또는 HTTPS 통신 프로토콜의 사용의 경우에는 보안 전송 프로토콜 SCP081에 기초하여, OTA 채널을 통해 수행된다.
업데이트하기 위한 커맨드는 보안 요소의 원리 관리의 범위 내에 속하며, 이는 RAM(원격 애플리케이션 관리(remote application management)) 타입 또는 심지어 RFM(원격 파일 관리(remote file management)) 타입의 것일 수 있다.
따라서, 단계(E80)에서, eUICC(20)는 업데이트하기 위한 하나 이상의 커맨드(STORE DATA)를 수신하고, 통상적인 방식으로 이를 실행한다. 이것은 하나 이상의 템플릿의 실제 업데이트이다.
실행은 특히 수신된 업데이트에 대한 커맨드(또는 커맨드들)의 출처를 보장하기 위해 templateSignature 서명의 검증을 포함할 수 있다.
실행은 또한 templateToUpdate 요소를 구성하는 templateOT 요소의 각각의 필드를 형성하는 다양한 데이터 및 정보의 무결성 및 출처의 검증을 포함할 수 있다. 이렇게 하기 위해, eUICC는 주어진 templateOT 요소에서 수신되어 포함된 데이터 및 정보에 기초하여 그 자신의 해시 값을 계산할 수 있고, 이 데이터/정보는, 데이터 및 정보의 일부가 수신된 templateToUpdate 요소의 해당 templateOT 요소의 필드들에 존재하지 않는 경우, 메모리에 실제로 저장되고 동일한 OID와 관련된 것들에 의해 보완된다. 다음으로, eUICC는 상기 값을 주어진 템플릿을 나타내는 동일한 templateOT 요소에 대해 수신된 해시 값과 비교한다. 따라서, 두 해시 값이 동일하지 않은 경우, 해당 템플릿(즉, templateToUpdate 요소를 구성하는 해당 templateOT 요소)은 templateToUpdate 요소의 구성 요소들이기도 한 다른 templateOT 요소들 없이 eUICC에 의해 거부되어, (그들의 해시 값 검증이 정확한 경우) 반드시 거부되게 된다. 마찬가지로, 해시 값이 주어진 templateOT 필드에 대해 수신된 정보의 일부를 형성하지 않는 경우, 후자는 eUICC에 의해 거부될 것이다.
도 3의 예에서, 단계(E80)는 eUICC가 해당 템플릿(초기 버전 V9.0)을 그 버전 V10.0으로 업데이트하게 할 수 있다.
업데이트(또는 업데이트들)가 수행되고 나면, eUICC는 SM 관리자(330)에 확인 응답을 송신한다(단계(E90)).
단계(E100)에서, SM 관리자(330)는 템플릿의 버전 V10.0에 기초하여 E10에서 생성된 신규 프로파일의 설치 스크립트를 송신한다.
실제로, 송신된 프로파일 요소들은 eUICC(20)에 순차적으로 로딩되고(단계(E110)), 적절한 경우, 수신된 프로파일 요소들을 E80에서 업데이트된 V10.0 템플릿(및 본 발명의 교시들에 따라 임의로 업데이트된 eUICC에 저장된 임의의 다른 템플릿)과 병합함으로써 프로파일이 형성되고, 설치된다(단계(E120)). 프로파일을 로딩하는 이들 단계들은 통상적인 단계들이다.
단계(E130)에서, eUICC(20)는 SM 관리자(330)에게 프로파일의 설치가 잘 되었음을 통지한다.
상기 예들은 단순화를 위해 단계(E10)에서 프로파일의 생성에 사용된 단일 템플릿(버전 V10.0)에 기초한다. 그러나, 본 발명은 단일 템플릿에 제한되지 않고, 복수의 템플릿들이 사용되는 경우(따라서 감사 요청에서 타겟으로 되고, 임의적으로 업데이트되는 경우)를 커버한다. 본 기술분야의 통상의 기술자는, 복수의 템플릿들이 관련된 경우에 상기 교시들을 적용하는 것이 용이하다는 것을 알게 될 것이다. 또한, 본 문헌에서 설명된 커맨드들은 하나 이상의 템플릿(즉, 하나 이상의 OID)에 대해 제공된다.
상기 예들에서, SM 관리자(330)는 트리거링 이벤트에 반응하여 감사 요청을 송신한다.
본 발명은 또한 감사 요청의 사용을 포함하지 않는 다른 실시예들에 관한 것이다.
예를 들어, eUICC(20)는 예를 들어, 규칙적인 간격으로 SM 관리자(330)에게 TEMPLATE AUDIT RESPONSE을 자발적으로 송신할 수 있다. 실제적으로, eUICC(20)는 호스트 디바이스(10)로부터 그러한 응답의 송신 주기를 기반으로 하는 시간 기준을 획득할 수 있다. 예를 들어, eUICC(20)는 eUICC(20)가 기준 시간 카운터를 증가시키는 것을 수신할 때 커맨드들(예를 들어, 상태 커맨드들)을 주기적으로 송신하도록 호스트 디바이스(10)에 동의할 수 있다. 카운터가 새로운 미리 설정된 기간의 끝에 도달하면, eUICC는 메모리에 포함하는 모든 템플릿들에 대한 정보로 자발적으로 TEMPLATE AUDIT RESPONSE를 구성한다.
다른 변형예에 따르면, eUICC(20)는 예를 들어, eUICC의 OS(오퍼레이팅 시스템)의 업데이트 또는 심지어 특정 템플릿들의 경과(즉, 그들의 만료 날짜에 도달하거나 이를 초과한 때)와 같은 특정 이벤트들의 발생에 대해 TEMPLATE AUDIT RESPONSE를 통해 SM 관리자(330)에게 통지를 자발적으로 송신한다.
OS의 업데이트는 SM 관리자(330)에 의해 커맨드가 제공될 수 있다.
OS의 업데이트의 이런 특정 모드에서, eUICC에 의한 TEMPLATE AUDIT RESPONSE의 송신은 관리자에 의해 eUICC의 오퍼레이팅 시스템이 업데이트된 이전 단계에 응답하여 이루어진다.
일 실시예에서, TEMPLATE AUDIT RESPONSE는 eUICC가 메모리에 포함하는 각각의 템플릿에 대한 정보를 포함하는데, 왜냐하면 관리자는 어느 템플릿들에 관심이 있는지를 eUICC에 표시할 수 없기 때문에 그러하다.
변형예로서, TEMPLATE AUDIT RESPONSE는 eUICC가 메모리에 포함하고 오퍼레이팅 시스템과 동시에 업데이트된 해당 템플릿들에 대해서만 정보를 포함한다.
이를 달성하기 위해, eUICC(20)는, OS의 업데이트 이전에, eUICC의 메모리에 저장된 템플릿들의 메타데이터 정보(OID 및/또는 주 버전들 및/또는 부 버전들 및/또는 만료 날짜들 및/또는 해시 값들)를 메모리에 저장할 수 있다. 다음으로, 일단 OS가 업데이트되면, eUICC에 의해, eUICC의 메모리에 그 후에 저장된 템플릿들의 메타데이터 정보와 OS의 업데이트 이전에 메모리에 저장된 것과 같은 대응하는 메타데이터 정보 간에 비교가 수행된다. 이 비교를 통해 OS의 업데이트 동안에 수정된 템플릿들이 용이하게 식별될 수 있다.
하나의 특정 실시예에서, OS의 업데이트와 관련된 이벤트는 다른 이벤트와 결합되어, eUICC에 의한 TEMPLATE AUDIT RESPONSE의 (자발적인) 송신을 트리거링할 수 있다. 예를 들어, 이 다른 이벤트는 제1 네트워크 인증 또는 OS 업데이트 이후의 접속, 또는 실제로 툴킷-타입 이벤트, 또는 실제로 임의의 다른 타입의 이벤트를 포함할 수 있다.
따라서, 위에서 설명된 제1 실시예의 다른 변형예 - 상기 변형예에서, eUICC(20)는 SM 관리자(330)[V8.0]보다 더 최근의 템플릿 버전[V9.0]을 사용할 수 있음 - 에 따르면, 템플릿의 업데이트(E80)는 템플릿의 이전 버전을 eUICC에 설치하는 것으로 구성될 수 있다(여기서는, V8.0). 이는, SM 관리자(330)가 템플릿의 이전 버전에 기초하여 로딩될 새로운 프로파일을 이미 계산하였을 때, 프로파일을 다시 계산할 필요가 없을 수 있게 한다. 그런 다음, 서버 및/또는 eUICC에서 템플릿의 후속 업데이트가 계획될 수 있다.
도 4는 본 발명의 제2 실시예에 따른 관리 방법의 단계들을 타이밍도의 형태로 도시한다. 이들 단계들은 도 1에 도시된 다양한 요소들, 특히, SM 관리자(330) 및 eUICC(20)에 의해 구현될 수 있다.
이 예에서, 도 3의 예의 것들과 유사한 단계들에는 동일한 참조 부호들이 부여되었다. 또한, 달리 명시하지 않는 한, 이들 단계들에 대한 설명은 도 3을 참조해야 한다. 위와 마찬가지로, eUICC는 버전 V9.0의 프로파일-요소 템플릿을 저장한다. SM 관리자(330)는, 그 부분에 대해, 대응하는 템플릿(즉, 동일한 OID를 가짐)을 저장하지 않거나, 또는 다른 버전, 예를 들어, V10.0의 대응하는 템플릿을 저장할 수 있다.
이 제2 실시예에서, 방법은, SM 관리자(330)가 eUICC(20)로 TEMPLATE AUDIT REQUEST을 송신하는 단계(단계(E20)), eUICC가 요청을 처리하는 단계(단계(E30)), 및 SM 관리자(330)가 eUICC(20)로부터 발생한 TEMPLATE AUDIT RESPONSE를 수신하는 단계(단계(E40))를 포함한다. 이들 단계들을 참조하여 위에서 제공된 설명들(도 3)은 여기에도 적용된다.
또한, eUICC(20)에 의한 TEMPLATE AUDIT RESPONSE의 자발적인 송신에 기초하는 변형예들이 (규칙적인 간격으로, OS 업데이트 후에, 임의적으로 다른 이벤트와 결합하여) 또한 계획될 수 있다.
SM 관리자(330)가 수신된 응답에 열거된 OID와 동일한 OID를 갖는 템플릿을 메모리에 이미 갖고 있다면, 단계(E50)에서, 수신된 정보를 이미 메모리에 가지고 있는 템플릿과 연관된 정보와 비교할 수 있다. 이 단계는 두 템플릿 간에 버전의 차이가 있는지를 결정할 수 있게 한다. 물론, 응답에서 정보가 리턴되는 모든 템플릿들에 대해 단계(E50)가 수행된다.
이 단계는 SM 관리자(330)가 메모리 내에 그러한 템플릿을 가지지 않을 수도 있고, 또는 메모리에 이미 대응하는 템플릿을 갖고 있더라도, 단계(E55)로 진행할 수 있다는 점에서 임의적이다.
메모리에 템플릿이 없다는 것은 암시적으로 eUICC에 저장된 템플릿과 관리자에 저장된(가상의) 대응하는 템플릿 간의 버전의 차이의 검출에 대응한다는 것에 주목하도록 한다.
감사 응답의 수신(E40) 이후에 또는 단계(E50)에서의 버전의 차이의 검출 이후에 수행되는 단계(E55)에서, SM 관리자(330)는 eUICC(20)에 저장된 템플릿의 버전, 여기서는 V9.0을 식별하기 위해 수신된 정보를 처리한다. 다음으로, SM 관리자(330)는 예를 들어, 그 자신의 메모리로부터 또는 외부 또는 내부 데이터베이스로부터 또는 심지어 응답의 constructorID 필드의 값에 의해 식별되는 eUICC의 제조자의 전용 서버와 같은 서버로부터 동일한 템플릿 버전을 수집한다. 그런 다음, 메모리에 저장하고, 가능하게는 메모리에 이미 갖고 있던 (동일한 OID를 갖는) 템플릿을 대체한다.
물론, 응답에서 정보가 리턴되는 모든 템플릿들에 대해 또는 단계(E50)에서 버전의 차이가 결정된 모든 템플릿들에 대해, 이 단계가 수행된다.
도 3을 참조하여 설명된 단계(E10)와 유사한 단계(E65)에서, SM 관리자(330)는 eUICC에 존재하는 템플릿과 동일한 특성들(메타데이터 및 컨텐츠)을 갖는 템플릿들을 사용하여 포맷된 프로파일 요소들로 구성된 새로운 프로파일을 생성할 수 있다.
본 예에서, SM 관리자(330)는 템플릿의 버전 V9.0을 참조하여 생성되는 프로파일 요소를 갖는 새로운 프로파일을 생성한다. 유리하게는, 이와 같이 포맷된 프로파일은 eUICC(20)에 존재하는 하나 이상의 템플릿에 적합하다.
다음 단계들은 SM 관리자(330)를 통해 eUICC(20)로 프로파일을 송신하는 단계(단계(E100) 및 단계(E110)), 그 후 eUICC(20)에 저장된 템플릿들(본 예에서는, 템플릿 V9.0)을 사용하여 프로파일을 설치하는 단계(단계(E120))로 구성된다. SM 관리자(330)는 설치가 정확하게 수행되었음을 통지받는다(단계(E130)).
이 제2 실시예에서, 버전의 차이가 있는 경우의 템플릿의 업데이트는 관리자(330)에서 (이전 템플릿의 대체에 의해, 또는 관리자가 다른 버전을 아직 보유하지 못한 경우에는, 템플릿의 로딩에 의해), 새로운 프로파일을 생성하는 단계 이전에 발생한다. 새로운 프로파일을 생성하기로 결정하면, 업데이트된 템플릿을 eUICC에 의해 보유된(따라서, 관리자에 의해 수신된 마지막 응답에 표시된 바와 같은) 버전과 대응시킬 수 있다. 따라서, 업데이트된 템플릿에 기초하여 eUICC에 로딩될 새로운 프로파일이 생성된다.
전술한 예들은 본 발명의 실시예들에 불과하며, 이에 제한되지 않는다.

Claims (15)

  1. 보안 요소(20)의 메모리에 프로파일을 로딩하기 위한 방법으로서,
    상기 보안 요소의 원격 서버(310, 320, 330)에서,
    상기 보안 요소의 메모리(220, 230)에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 획득하는 단계(E40),
    상기 획득된 버전과 상기 원격 서버가 액세스할 수 있는 메모리 내의 동일한 템플릿의 버전 간의 버전의 차이를 결정하는 단계(E50),
    차이를 결정한 경우, 상기 보안 요소의 메모리에 저장된 템플릿과 상기 원격 서버가 액세스할 수 있는 템플릿의 버전들을 일치시키기 위해 이 템플릿들 중 적어도 하나를 업데이트하는 단계(E55, E80),
    상기 원격 서버가 액세스할 수 있는 상기 템플릿을 참조하는 프로파일 요소를 포함하는 프로파일을 그 일치된 버전으로 생성하는 단계(E10, E65), 및
    상기 업데이트하는 단계에 후속하여, 상기 생성된 프로파일을 상기 보안 요소에 송신하는 단계(E100, E110)
    를 포함하는 방법.
  2. 제1항에 있어서, 응답(E40)에서 상기 정보를 획득하기 위해 커맨드를 포함하는 요청을 송신하는 단계(E20)를 추가로 포함하는 방법.
  3. 제1항에 있어서, 상기 정보를 획득하는 단계(E40)는 상기 보안 요소의 오퍼레이팅 시스템이 상기 원격 서버에 의해 업데이트된 이전 단계에 응답하는 것인 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 차이를 결정하는 단계(E50)는 상기 보안 요소(20)의 메모리에 저장된 템플릿의 상기 획득된 버전과 전송될 상기 프로파일을 생성하는 데 사용된 템플릿의 버전 간의 차이를 결정하는 단계를 포함하고,
    상기 차이가 있는 경우에 업데이트하는 단계(E80)는 상기 보안 요소의 메모리에 저장된 템플릿을 전송될 상기 프로파일을 생성하는 데 사용된 템플릿으로 업데이트하기 위한 커맨드를 송신하는 단계(E70)를 포함하는 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 차이가 있는 경우에 업데이트하는 단계는, 상기 생성하는 단계 이전에, 상기 원격 서버(310, 320, 330)가 액세스할 수 있는 템플릿을 상기 보안 요소의 템플릿의 상기 획득된 버전에 대응하게 하도록 업데이트하여, 전송될 상기 프로파일이 상기 업데이트된 템플릿을 사용하여 생성되는 단계(E55)를 포함하는 방법.
  6. 보안 요소(20)의 메모리에 프로파일을 로딩하기 위한 방법으로서,
    상기 보안 요소에서,
    상기 보안 요소의 메모리(220, 230)에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 원격 서버(310, 320, 330)에 송신하는 단계(E40),
    이 송신(E40)에 응답하여, 메모리에 저장된 상기 프로파일-요소 템플릿을 업데이트하기 위한 커맨드를 수신 및 실행하는 단계(E80) - 상기 커맨드는 상기 원격 서버에 의해 송신됨(E70) -,
    상기 업데이트하는 단계(E80)에 후속하여, 로딩될 프로파일을 수신하는 단계(E110) - 상기 프로파일은 상기 원격 서버에 의해 송신되고, 상기 로딩될 프로파일은 메모리에 저장된 상기 템플릿을 참조하는 적어도 하나의 프로파일 요소를 포함함 -, 및
    상기 수신된 프로파일을 그것이 참조하는 상기 저장된 템플릿과 병합함으로써, 상기 수신된 프로파일을 메모리에 로딩 및 설치하는 단계(E120)
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 정보가 상기 보안 요소에 의해 송신되는 단계(E40)는 상기 원격 서버(310, 320, 330)에 의해 전송된 요청(E20)의 수신에 응답하는 것이며, 응답에서 상기 정보를 획득하기 위한 커맨드를 포함하는 방법.
  8. 제6항에 있어서, 상기 보안 요소가 상기 정보를 송신하는 단계(E40)는 상기 보안 요소의 오퍼레이팅 시스템이 상기 원격 서버에 의해 업데이트된 이전 단계에 응답하는 것인 방법.
  9. 제8항에 있어서, 상기 보안 요소(20)는 상기 보안 요소의 메모리(220, 230)에 저장된 각각의 템플릿에 대해, 또는 상기 오퍼레이팅 시스템의 이전 업데이트 동안에 수정된 상기 보안 요소의 메모리(220, 230)에 저장된 각각의 템플릿에 대해서만 프로파일-요소-템플릿 버전을 나타내는 상기 정보를 송신하는 방법.
  10. 제1항 내지 제3항 및 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 프로파일-요소 템플릿의 버전을 나타내는 정보는 상기 템플릿의 버전 번호, 상기 템플릿의 만료 날짜 및 상기 템플릿으로부터 계산된 해시 값 중 하나 이상을 포함하는 방법.
  11. 마이크로프로세서에 의해 판독 가능한 비-일시적 저장 매체로서,
    상기 마이크로프로세서에 의해 로딩 및 실행될 때, 제1항 내지 제3항 및 제6항 내지 제9항 중 어느 한 항에 따른 방법을 구현하기 위한 컴퓨터 프로그램의 명령어들을 포함하는 비-일시적 저장 매체.
  12. 프로파일 로딩에 의한 보안 요소(20)의 개인맞춤화를 위한 프로파일 관리자(310, 320, 330)로서,
    적어도 하나의 마이크로프로세서(210)
    를 포함하고,
    상기 적어도 하나의 마이크로프로세서(210)는,
    상기 보안 요소(20)의 메모리(220, 230)에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 획득하고,
    상기 획득된 버전과 상기 관리자가 액세스할 수 있는 메모리에 저장된 동일한 템플릿의 버전 간의 버전의 차이를 결정하고,
    차이를 결정한 경우, 상기 보안 요소의 메모리에 저장된 템플릿과 상기 관리자가 액세스할 수 있는 템플릿의 버전들을 일치시키기 위해 이 템플릿들 중 적어도 하나를 업데이트하고,
    상기 관리자가 액세스할 수 있는 상기 템플릿을 참조하는 프로파일 요소를 포함하는 프로파일을 그 일치된 버전으로 생성하고,
    상기 업데이트하는 단계에 후속하여, 상기 생성된 프로파일을 상기 보안 요소에 송신하도록
    구성되는 프로파일 관리자(310, 320, 330).
  13. 제12항에 있어서, 상기 마이크로프로세서(210)는 응답에서 상기 정보를 획득하기 위한 커맨드를 포함하는 요청을 송신하거나, 또는 응답에서 상기 정보를 획득하도록 상기 보안 요소(20)의 오퍼레이팅 시스템을 업데이트하기 위한 커맨드를 송신하도록 추가로 구성되는 프로파일 관리자(310, 320, 330).
  14. 개인맞춤화가능한 보안 요소(20)로서,
    적어도 하나의 마이크로프로세서(210)
    를 포함하고,
    상기 적어도 하나의 마이크로프로세서(210)는,
    상기 보안 요소의 메모리(220, 230)에 저장된 프로파일-요소 템플릿의 버전을 나타내는 정보를 원격 서버(310, 320, 330)에 송신하고,
    이 송신에 응답하여, 메모리에 저장된 상기 프로파일-요소 템플릿을 업데이트하기 위한 커맨드를 수신 및 실행하고 - 상기 커맨드는 상기 원격 서버에 의해 송신됨 -,
    상기 업데이트하는 단계에 후속하여, 상기 원격 서버에 의해 송신되는 로딩될 프로파일을 수신하고 - 상기 로딩될 프로파일은 메모리에 저장된 상기 템플릿을 참조하는 적어도 하나의 프로파일 요소를 포함함 -,
    상기 수신된 프로파일을 그것이 참조하는 상기 저장된 템플릿과 병합함으로써, 상기 수신된 프로파일을 메모리에 로딩 및 설치하도록
    구성되는 개인맞춤화가능한 보안 요소(20).
  15. 제14항에 있어서, 상기 마이크로프로세서(210)는 상기 원격 서버(310, 320, 330)에 의해 전송된 요청의 수신에 응답하여 상기 정보를 생성 및 송신하도록 추가로 구성되며, 이는 응답에서 상기 정보를 획득하기 위한 커맨드를 포함하거나 상기 보안 요소의 오퍼레이팅 시스템이 상기 원격 서버에 의해 업데이트된 이전 단계에 응답하는 것인 개인맞춤화가능한 보안 요소(20).
KR1020180126057A 2017-10-20 2018-10-22 보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소 KR102557240B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1759930A FR3072853B1 (fr) 2017-10-20 2017-10-20 Procedes de chargement d'un profil dans un element securise, gestionnaire et element securise personnalisable
FR1759930 2017-10-20

Publications (2)

Publication Number Publication Date
KR20190044575A KR20190044575A (ko) 2019-04-30
KR102557240B1 true KR102557240B1 (ko) 2023-07-18

Family

ID=61599277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180126057A KR102557240B1 (ko) 2017-10-20 2018-10-22 보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소

Country Status (5)

Country Link
US (1) US11100081B2 (ko)
EP (1) EP3474583B1 (ko)
KR (1) KR102557240B1 (ko)
ES (1) ES2891029T3 (ko)
FR (1) FR3072853B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102462366B1 (ko) 2018-04-06 2022-11-04 삼성전자주식회사 eUICC 버전을 협상하는 방법 및 장치
EP3739914A1 (en) * 2019-05-17 2020-11-18 Gemalto Sa Method for upgrading a profile stored in a secure element
IT201900009543A1 (it) * 2019-06-19 2020-12-19 St Microelectronics Srl Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico
CN112733133B (zh) * 2019-10-14 2024-04-19 中国移动通信有限公司研究院 嵌入式通用集成电路卡访问控制方法、装置及存储介质
US11903088B2 (en) * 2021-05-17 2024-02-13 Hewlett Packard Enterprise Development Lp ESIM profile management
WO2023202801A1 (de) * 2022-04-22 2023-10-26 Giesecke+Devrient ePayments GmbH Verfahren und system zur personalisierung eines sicheren elements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058302A1 (en) 2013-08-23 2015-02-26 Cisco Technology, Inc. Addressing cache coherence in updates to a shared database in a network environment
US20160286335A1 (en) 2003-10-29 2016-09-29 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727197A (en) * 1995-11-01 1998-03-10 Filetek, Inc. Method and apparatus for segmenting a database
US6810259B1 (en) * 1999-12-16 2004-10-26 Utstarcom Inc. Location update protocol
ATE530040T1 (de) 2003-08-01 2011-11-15 Research In Motion Ltd Teilnehmeridentitätsmodul- initialisierungsverfahren
US10929357B2 (en) * 2016-02-29 2021-02-23 Red Hat, Inc. Detecting stale storage layouts without using client locks
EP3288300A1 (en) * 2016-08-24 2018-02-28 Gemalto Sa Method for downloading files from an ota platform over-the-air to secure elements and corresponding ota platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160286335A1 (en) 2003-10-29 2016-09-29 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US20150058302A1 (en) 2013-08-23 2015-02-26 Cisco Technology, Inc. Addressing cache coherence in updates to a shared database in a network environment

Also Published As

Publication number Publication date
KR20190044575A (ko) 2019-04-30
ES2891029T3 (es) 2022-01-25
EP3474583A1 (fr) 2019-04-24
EP3474583B1 (fr) 2021-07-21
FR3072853A1 (fr) 2019-04-26
FR3072853B1 (fr) 2021-11-12
US11100081B2 (en) 2021-08-24
US20190121797A1 (en) 2019-04-25

Similar Documents

Publication Publication Date Title
KR102557240B1 (ko) 보안 요소에 프로파일을 로딩하기 위한 방법, 관리자 및 개인맞춤화가능한 보안 요소
US11943376B1 (en) Template based credential provisioning
US11606677B2 (en) Method for sharing application between terminals, and terminal
KR102284954B1 (ko) 무선 통신 시스템에서 단말에 프로파일을 다운로드 하는 방법 및 장치
US10911939B2 (en) Embedded universal integrated circuit card profile management method and apparatus
KR102333395B1 (ko) 이동통신 시스템의 단말에서 프로파일 수신을 위한 방법 및 장치
JP6533203B2 (ja) 複数のアクセス制御クライアントをサポートするモバイル装置、及び対応する方法
EP2704053B1 (en) Method and system for updating a firmware of a security module
US20180139612A1 (en) A method for controlling remotely the permissions and rights of a target secure element
US10057759B2 (en) Method for personalising a secure element
US9439076B2 (en) Method for incorporating subscriber identity data into a subscriber identity module
CN102823195A (zh) 利用由虚拟机进行的软件测试远程维护电子网络中的客户端系统的系统和方法
US11589212B2 (en) Method and apparatus for managing event in communication system
KR20200028786A (ko) Ssp 단말과 서버가 디지털 인증서를 협의하는 방법 및 장치
US11963261B2 (en) Method and apparatus for recovering profile in case of device change failure
KR20130006257A (ko) 내장 sim에서의 키 관리방법, 및 그를 위한 내장 sim과 기록매체
EP3541106A1 (en) Methods and apparatus for euicc certificate management
KR20140070195A (ko) 능력 정보를 이용한 내장형 범용 아이씨카드의 프로파일 프로비저닝 방법 및 이를 위한 이동통신 단말기
EP3487121A1 (en) Method for updating a firmware of an iot-device over the air
US10033528B2 (en) Method of communicating between a server and a secure element
KR20200099836A (ko) eUICC 프로파일 설치 권한을 관리하는 방법 및 장치

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
GRNT Written decision to grant