KR101933707B1 - 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법 - Google Patents

제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법 Download PDF

Info

Publication number
KR101933707B1
KR101933707B1 KR1020147012968A KR20147012968A KR101933707B1 KR 101933707 B1 KR101933707 B1 KR 101933707B1 KR 1020147012968 A KR1020147012968 A KR 1020147012968A KR 20147012968 A KR20147012968 A KR 20147012968A KR 101933707 B1 KR101933707 B1 KR 101933707B1
Authority
KR
South Korea
Prior art keywords
entity
control
security
data
security module
Prior art date
Application number
KR1020147012968A
Other languages
English (en)
Other versions
KR20140084189A (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
Priority to FR1159294 priority Critical
Priority to FR1159294A priority patent/FR2981531A1/fr
Application filed by 오렌지 filed Critical 오렌지
Priority to PCT/FR2012/052338 priority patent/WO2013054065A1/fr
Publication of KR20140084189A publication Critical patent/KR20140084189A/ko
Application granted granted Critical
Publication of KR101933707B1 publication Critical patent/KR101933707B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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 supporting authentication of entities communicating through a packet data network
    • H04L63/0823Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements, e.g. access security or fraud detection; Authentication, e.g. verifying user identity or authorisation; Protecting privacy or anonymity ; Protecting confidentiality; Key management; Integrity; Mobile application security; Using identity modules; Secure pairing of devices; Context aware security; Lawful interception
    • H04W12/04Key management, e.g. by generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements, e.g. access security or fraud detection; Authentication, e.g. verifying user identity or authorisation; Protecting privacy or anonymity ; Protecting confidentiality; Key management; Integrity; Mobile application security; Using identity modules; Secure pairing of devices; Context aware security; Lawful interception
    • H04W12/08Access security
    • H04W12/0806Access security using security domains, e.g. separating enterprise and private data domains, building machine-to-machine [M2M] domains or global platform domains

Abstract

본 발명은 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법에 관한 것이고, 상기 보안 모듈은, 상기 제1 엔티티에 특정한 적어도 하나의 제1 비밀 제어 키에 의하여 상기 제1 엔티티에 의해 제어되는 제1 보안 도메인, 그리고 제2 보안 도메인 ― 상기 제2 도메인은 개인 키와, 제어 기관의 공개 키의 인증서를 포함함 ― 을 포함하고, 상기 방법은, 상기 인증서를 획득하기 위한 요청의 수신 단계, 상기 인증서의 전송 단계, 상기 인증서의 상기 공개 키에 의하여 암호화된 데이터의 수신 단계 ― 상기 데이터는 상기 제2 엔티티에 특정한 적어도 하나의 제2 비밀 제어 키를 포함함 ―, 상기 데이터의 복호화 단계, 상기 데이터의 검증 단계, 상기 검증이 포지티브라면, 상기 적어도 하나의 제1 비밀 제어 키의 상기 적어도 하나의 제2 비밀 제어 키로의 교체 단계를 포함한다.

Description

제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법{METHOD OF TRANSFERRING THE CONTROL OF A SECURITY MODULE FROM A FIRST ENTITY TO A SECOND ENTITY}

본 발명은 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법에 관한 것이다.

본 발명은 모바일 텔레포니 또는 "M2M(machine to machine)" 통신 분야들과 같은 분야들에서 특히 유리한 애플리케이션을 찾는다. 이러한 분야들에서, 모바일 텔레폰 또는 센서들을 갖는 머신과 같은 장비의 일부분(piece)들은 보안 모듈 또는 "안전 엘리먼트", 예컨대 제1 네트워크 오퍼레이터와 함께 동작하도록 미리구성되는 "(U)SIM(universal subscriber identity module)"을 포함한다. 이러한 목적을 위해, 모듈의 매니저, 예컨대 (U)SIM 카드에 대한 네트워크 오퍼레이터 및 보안 모듈에 특정한 키들이, 상기 모듈이 사용되기 이전에, 상기 모듈에 미리설치된다. 따라서, 일단 모듈이 릴리스되었다면, 제1 네트워크 오퍼레이터가 카드를 제어하고, 상기 제1 네트워크 오퍼레이터는, 카드에 애플리케이션들을 설치하고, 업데이트들을 수행하고, (U)SIM 카드를 입증(authenticating)하고 등등을 할 수 있는 유일한 오퍼레이터이다.

제1 네트워크에 대한 가입자가 오퍼레이터를 변경하려고 시도할 때, 장비에 있고 제1 오퍼레이터에 대해 구성되는 보안 모듈이 제2 오퍼레이터에 대해 구성되는, 즉 제2 오퍼레이터에 특정한 키들을 갖는 제2 보안 모듈로 교체될 필요가 있다. 중앙 서버가 상호연결된 M2M 머신들과 원격으로 정보를 교환하도록 인에이블링하기 위해 제1 오퍼레이터의 네트워크를 이용하는 그러한 머신들과 함께, 오퍼레이터의 변경이 (U)SIM 카드가 머신들 전부에서 변경될 것을 요구하고, 그러므로 변경시키기 위하여 기술자가 머신들을 방문할 것을 요구한다는 것이 이해될 수 있다. 상기는 특히 제약적일 수 있는데, 그 이유는 머신들에 액세스하기가 어려운 것이 드물지 않기 때문이다. 또한, 보안 모듈들이 제거가능한 것이 아니라, 장비에 솔더링될 때, 그러한 변경은 장비가 교체될 것을 요구한다.

보안 모듈을 변경하지 않고 (U)SIM 카드에서 오퍼레이터 키들을 수정하기 위한 솔루션들이 존재한다. 예컨대, 번호 WO 2011/001076 하에서 공개된 출원은, 제1 네트워크를 동작시키는 제1 네트워크 오퍼레이터에 특정한 (U)SIM 카드에 있는 제1 입증 키 및 제1 가입자 식별 번호를, 제2 네트워크를 동작시키는 제2 네트워크 오퍼레이터에 특정한 제2 입증 키 및 제2 가입자 식별 번호로 변경하는 방법을 설명한다. 상기 목적을 위해, 제2 네트워크에 특정한 키들을 생성하기 위한 마스터 키가, 카드가 사용되기 이전에 수행되는 사전구성 단계 동안, 카드에 저장된다. 따라서, 카드가 제1 네트워크에서 동작하도록 릴리스되었고 제2 오퍼레이터로 변경하기 위한 요청이 수신될 때, 제2 오퍼레이터는 제2 네트워크에서의 제2 가입자 식별 번호를 제1 오퍼레이터에 전송한다. 제1 오퍼레이터는 자신의 고유 네트워크를 사용하여, 난수와 자신이 수신한 제2 가입자 식별 번호를 (U)SIM 카드에 전송하고, 상기 제1 오퍼레이터는 또한 상기 난수를 제2 네트워크 오퍼레이터에 전송한다. 그런 다음, 카드는, 카드에 저장된 그리고 제2 네트워크에 특정한 마스터 키 및 상기 난수에 키 다양화 알고리즘을 적용함으로써, 제2 입증 키를 생성한다. 동시에, 제2 오퍼레이터는 제1 네트워크로부터 수신된 상기 난수와 자신에 특정한 동일한 마스터 키를 이용하여 동일한 입증 키를 계산한다. 제2 오퍼레이터는 제2 가입자 식별 번호에 관련하여 제2 입증 키를 자신의 고유 가입자 베이스에 저장한다. 방법의 끝에서, 제1 입증 키는 카드에서 제2 입증 키로 교체되었고, 제1 가입자 식별 번호는 카드에서 제2 가입자 식별 번호로 교체되었다. 따라서, (U)SIM 은 제2 네트워크에서 동작할 준비가 된다.

그럼에도 불구하고, 상기는, 메모리가 카드의 제어가 전달될 수 있는 오퍼레이터들 전부에 특정한 마스터 키들을 저장할 것을 요구한다. 또한, 예컨대 새로운 오퍼레이터의 도입 이전에 카드들이 미리구성된 경우, 카드들의 제어를 새로운 오퍼레이터에 전달하는 것이 가능하지 않을 위험들이 있다.

본 발명은, 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법을 제안함으로써 위에서-설명된 단점들을 개선하고, 상기 보안 모듈은, 상기 제1 엔티티에 특정한 적어도 하나의 제1 비밀 제어 키에 의하여 상기 제1 엔티티에 의해 제어되는 제1 보안 도메인, 그리고 제2 보안 도메인 ― 상기 제2 도메인은 제어 기관의 공개 키의 인증서 그리고 또한 상기 제어 기관의 개인 키 둘 다를 포함함 ― 을 갖고, 상기 방법은 상기 보안 모듈에 의해 수행되는 다음의 단계들:

· 상기 제2 보안 도메인이 인증서를 획득하기 위한 요청을 수신하는 단계 ― 상기 요청은 상기 제2 엔티티로부터 나옴 ―;

· 상기 제2 보안 도메인이 상기 인증서를 전송하는 단계;

· 상기 제1 보안 도메인이 상기 제2 엔티티로부터 데이터를 수신하는 단계 ― 상기 데이터는 상기 인증서에 의해 인증되는 공개 키에 의하여 암호화되었고, 상기 데이터는 상기 제2 엔티티에 특정한 적어도 하나의 제2 비밀 제어 키를 포함함 ―;

· 상기 제2 보안 도메인이 상기 데이터를 복호화하는 단계;

· 상기 제1 보안 도메인이 상기 데이터를 검증하는 단계; 및

· 상기 검증이 포지티브라면, 상기 제1 보안 도메인이 상기 적어도 하나의 제1 비밀 제어 키를 상기 적어도 하나의 제2 비밀 제어 키로 교체시키는 단계

를 포함한다.

따라서, 본 발명의 방법은, 초기 구성 데이터의 사전 설치 없이, 즉 모듈이 사용되기 이전에 그러한 데이터가 설치되지 않고, 멀티-애플리케이션 보안 모듈의 보안 데이터를 업데이트하는 것을 가능케 한다. 그러한 보안 데이터는, 보안 모듈 상에서 그리고 보안 모듈에 대해 수행되는 모든 민감한 프로시저들에서 사용하기 위해 모듈의 발행인에 특정한 키들을 포함한다. 따라서, 상기 방법은 기존 보안 모듈들에 적응되고, 상기 방법은 그러한 모듈들의 소프트웨어만이 업데이트될 것을 요구한다. 그런 다음, 업데이트된 소프트웨어는, 보안 모듈들이 본 발명의 방법을 수행하도록 인에이블링한다. 그러한 업데이팅은 원격으로 수행될 수 있다.

그러한 방법은, 보안 모듈, 예컨대 (U)SIM 카드가 자신을 호스팅하는 장비에 솔더링(이는, "칩 상의 SIM"으로 보통 지칭됨)되는 환경들에 특히 적절하다. 솔더링된 SIM 카드는 힘든 환경적 조건들에서 동작하는 M2M 머신들에 대해 바람직할 수 있는 솔루션이다. 솔더링된 SIM 카드 솔루션은, 종래의 제거가능한 SIM 카드와 비교할 때 장점들, 예컨대 더 큰 기계적 강도의 장점과 더 넓은 온도 범위들에 걸쳐 동작하는 장점을 나타낸다. 따라서, 본 발명의 방법은, 예컨대 M2M 환경들에서, 솔더링된 SIM 카드의 제어를 전달하는 문제점에 대한 솔루션을 제공한다.

제어 전달 요청(request transfer control)은 카드의 발행인으로부터 나올 수 있다. 상기 제어 전달 요청은 또한, 신뢰받는 제3자 엔티티로부터 나올 수 있다. 예로서, 그러한 엔티티는, 더욱 신뢰할만한 기관이 그 엔티티가 신뢰할만하다고 인증한다면, 제어가 이관될 엔티티이거나, 공인된 신뢰할만한 기관일 수 있다. 그러한 신뢰 체인은 인증서들에 의하여 착수될 수 있다.

구현에서, 상기 방법은, 제어를 제2 엔티티에 전달하기 위한 요청을 제1 엔티티로부터 수신하는 수신 단계를 포함한다.

이러한 구현은, 모듈의 제어를 전달하기 위한 요청이 제1 엔티티로부터, 즉 보안 모듈에 대한 제어를 초기에 갖는 엔티티로부터 나오는 상황을 예시한다.

이러한 구현에서, 전달 요청은 제2 엔티티의 인증서를 포함한다.

제2 엔티티의 인증서를 발행인 보안 도메인에 전송되는, 제어를 전달하기 위한 요청에 포함시키는 것은, 보안 모듈이, 제어가 정말 전달 요청에서 식별된 엔티티에 의해 인수되고 있음을 검증하도록 인에이블링한다.

다른 구현에서, 전달 요청은 제2 엔티티의 고유 식별자를 포함한다.

제2 엔티티의 고유 식별자를 발행인 보안 도메인에 전송되는 전달 요청에 포함시키는 것은, 모듈의 제어를 인수할 엔티티의 식별자를 검증하기 위한 부가의 수단을 제공한다.

구현에서, 상기 방법은, 제1 보안 도메인이 서명된 고유 토큰(signed unique token)을 계산하고 상기 부호 고유 토큰을 제1 엔티티에 전송하는 단계를 포함한다.

이러한 구현은, 토큰이 발행인 보안 도메인에 의해 계산되는 상황에 대응한다. 그런 다음, 이러한 토큰은 제1 엔티티에 전송되고, 상기 제1 엔티티는 상기 토큰을 제2 엔티티에 재전송한다. 이러한 토큰은, 모듈의 제어를 인수할 제2 엔티티가 정말 제1 엔티티가 그러한 전달을 개시한 엔티티임을 발행인 보안 도메인에게 보증하기 위해 제공된다.

상기 방법의 구현에서, 데이터는 또한 발행인 제1 도메인에 의해 서명된 고유 토큰을 포함한다.

서명된 토큰은, 모듈의 인증서 공개 키를 이용하여 제2 엔티티에 의해 암호화된 데이터에 포함된다. 이는, 발행인 보안 도메인이, 자신이 암호화된 데이터에서 수신한 토큰이 정말 자신이 초기에 생성한 고유 토큰에 대응함을 검증하도록 인에이블링한다.

상기 방법이 단일 토큰을 계산하고 전송하는 단계를 포함하는 구현에서, 고유 토큰은 또한 보안 모듈에 특정한 식별자를 포함한다.

보안 모듈의 식별자를 토큰에 포함시키는 것은, 제2 엔티티가, 자신이 정말 자신의 비밀 키를 적절한 보안 모듈, 즉 자신이 실제로 제어를 인수하려고 시도하고 있는 모듈에 전송하고 있음을 검증하도록 인에이블링한다.

구현에서, 암호화된 데이터는 제2 엔티티에 의해 서명되고, 상기 데이터의 검증은 상기 데이터의 시그너처를 검증하는데 있다.

이러한 구현에서, 제2 엔티티는, 자신이 제1 보안 도메인, 즉 발행인 보안 도메인에 전송하는 데이터에 서명하기 위해 자신에 특정한 개인 키를 사용한다. 따라서, 제1 보안 도메인은, 제2 엔티티의 개인 키와 연관된 공개 키에 의하여 데이터의 시그너처를 검증할 수 있고, 따라서 모듈에 설치될 새로운 키를 포함하는 암호화된 데이터가 정말 제어가 전달되도록 제1 엔티티가 요청한 엔티티로부터 나옴을 검증할 수 있다.

유리하게, 본 발명의 방법의 복호화 단계는 다음의 하위단계들을 포함한다:

· 제1 보안 도메인이 상기 데이터를 복호화하기 위한 요청을 제어 기관 보안 도메인에 전송하는 하위단계;

· 제어 기관 보안 도메인이 제어 기관의 비밀 키에 의하여 상기 데이터를 복호화하는 하위단계; 및

· 제어 기관 보안 도메인이 복호화된 데이터를 제1 보안 도메인에 전송하는 하위단계.

제2 엔티티로부터 제1 보안 도메인으로의 키들의 전달은, 제어 기관에 의해 그리고 더욱 정확하게 보안 모듈에 설치된 제어 기관 보안 도메인에 의해 안전하게 이루어진다. 이러한 보안 도메인은 제1 엔티티 및 제2 엔티티와 독립적인 신뢰받는 제3자 엔티티를 나타낸다. 이러한 신뢰받는 엔티티는 모듈에서 개인 키/공개 키 쌍 및 상기 공개 키에 대한 인증서에 의해 표현된다. 이러한 키들의 쌍은 제2 엔티티의 키들을 제1 보안 도메인에 암호화된 형태로 전송하는데 그리고 상기 암호화된 데이터를 복호화하는데 유리하게 사용된다. 실제, 복호화를 수행하기 위해 제어 기관 보안 도메인에 요청을 만드는 것은 발행인 보안 도메인인데, 그 이유는 발행인 보안 도메인이 신뢰할만한 기관의 보안 도메인의 인증되는 공개 키를 이용하여 제2 엔티티에 의해 암호화된 키들을 복호화하는데 필요한 비밀 키를 유지하는 유일한 제어 기관이기 때문이다.

또한, 본 발명은 제1 보안 도메인 및 제2 보안 도메인을 포함하는 보안 모듈을 제공하고, 상기 제2 보안 도메인은 제어 기관의 공개 키의 인증서 그리고 또한 상기 제어 기관의 비밀 키 둘 다를 포함하고, 상기 제1 보안 도메인은 제1 엔티티에 특정한 적어도 하나의 제1 제어 키에 의하여 상기 제1 엔티티에 의해 제어되고, 상기 모듈은:

· 제2 엔티티로부터 나오는 인증서를 획득하기 위한 요청을 수신하도록 배열된 제1 수신 수단;

· 상기 인증서를 상기 제2 엔티티에 전송하도록 배열된 송신자 수단;

· 상기 인증서에 의해 인증되는 상기 공개 키에 의하여 암호화된 데이터를 상기 제2 엔티티로부터 수신하도록 배열된 제2 수신 수단 ― 상기 데이터는 상기 제2 엔티티에 특정한 적어도 하나의 제2 비밀 제어 키를 포함함 ―;

· 상기 데이터를 복호화하도록 배열된 복호화 수단;

· 상기 데이터를 검증하도록 배열된 검증 수단; 및

· 상기 적어도 하나의 제2 비밀 제어 키를 설치하도록 배열된 설치 수단 ― 그런 다음, 상기 제2 엔티티는 상기 제1 보안 도메인을 제어함 ― 을 더 포함한다.

또한, 본 발명은 네트워크의 제1 엔티티와, 제2 엔티티에 의해 제어되는 보안 모듈에 포함된 제1 보안 도메인 사이에 전송되고 있는 신호를 제공하고, 상기 제1 엔티티는 상기 모듈의 제2 보안 도메인에 특정한 공개 키 인증서를 사전에 갖고, 상기 신호는 상기 인증서에 의해 인증되는 상기 공개 키에 의하여 암호화된 데이터를 포함하며, 상기 데이터는 상기 네트워크의 상기 제1 엔티티에 특정한 적어도 하나의 비밀 키를 포함한다.

또한, 본 발명은 보안 모듈에 설치하기 위한 프로그램을 제공하고, 상기 프로그램은 제1 엔티티로부터 제2 엔티티로 모듈의 제어를 전달하는 방법의 단계들을 수행하기 위한 명령들을 포함하고, 상기 단계들은 상기 프로그램이 프로세서에 의해 실행될 때 상기 모듈에 의해 실행된다.

또한, 본 발명은 본 발명의 컴퓨터 프로그램을 갖는 데이터 매체를 제공한다.

본 발명의 다수의 세부사항들 및 장점들은, 도면들을 참조하여 비-제한적 방식으로 주어진 특정한 구현들의 동반된 설명을 읽을 때 더욱 잘 이해될 수 있다.

도 1은 본 발명의 제1 구현에서 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법의 단계들을 도시한다.
도 2는 본 발명의 제2 구현에서 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법의 단계들을 도시한다.
도 3은 본 발명의 제어 전달 방법을 수행하기에 적절한 보안 모듈을 도시한다.

도 1을 참조하면, 제1 구현에서 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법의 설명이 뒤를 잇는다.

본 발명은 보안 모듈들, 예컨대 GlobalPlatform 사양들에 부합하는 모듈(10)에 적용된다. 그러한 사양들은 문서 "Specifications: GlobalPlatform Card specifications v2.2 - Amendment A v1.0"에서 접근가능하다. GlobalPlatform 사양들은 보안 모듈에 설치된 애플리케이션들에 대한 액세스를 제공하는 인터페이스들을 특정함으로써 상기 보안 모듈의 하드웨어를 모르는 것을 가능케 하는 컴포넌트들을 설명한다. 예로서, 하드웨어 디바이스는 범용 가입자 아이덴티티 모듈 또는 "(U)SIM"일 수 있다. GlobalPlatform 사양들에서, 보안 모듈은 복수의 논리적 보안 도메인들로서 구조화된다. 발행인 보안 도메인 또는 "ISD"로 지칭되는 제1 보안 도메인은 모듈의 메인 보안 도메인이다. 이 보안 도메인은 보안 모듈을 발행한 엔티티를 대표한다. 발행인 보안 도메인은 암호화 프리미티브(cryptographic primitive)들 및 그러한 프리미티브들이 수행되도록 인에이블링하는, 발행인에 특정한 키들을 갖는다. 암호화 프리미티브들은, 모듈에 저장된 애플리케이션들의 안전 관리를 인에이블링하기 위한 것이다. 예컨대, 프리미티브들은 모듈에서 애플리케이션들을 설치하고, 삭제하고, 업데이트하고, 차단하고 등등을 하는 동작들을 제어하고 안전하게 하기 위한 것이고, 상기 애플리케이션들은 모듈의 발행인 또는 애플리케이션들의 다른 공급자들에 속한다. 발행인 보안 도메인처럼, 보안 모듈은 또한 모듈에서 서비스 공급자들을 표현하는 보안 도메인들, 그리고 또한 제어 기관 보안 도메인 또는 "CASD"를 표현하는 보안 도메인을 가질 수 있다. 제어 기관은 보안 모듈의 발행인과 독립적인 제3자 엔티티이다. 제어 기관 보안 도메인은 선택적이고, 상기 제어 기관 보안 도메인이 존재할 때, 상기 상기 제어 기관 보안 도메인은 모듈의 보안 정책을 보강하기 위해 제공된다. 제어 기관 보안 도메인은 키 쌍, 즉 비대칭 암호화에서 사용하기 위해 개인 키 및 연관된 공개 키를 포함하는 쌍을 갖는다. 또한, 제어 기관 보안 도메인은 개인 키와 연관된 공개 키를 인증하기 위한 공개 인증서를 포함한다. 인증서가 인증되는 공개 키를 물리적 엔티티, 이 예에서 보안 모듈(10)과 연관시키는 디지털 아이덴티티 카드임이 상기되어야 한다. 사전 안전 프로시저를 수행하기 이후, 인증서가 인증 기관, 이 예에서 제3자 엔티티에 의해 전달된다. 일단 인증서가 전달되면, 보안 기능들, 예컨대 전자 시그너처 서비스, 데이터 암호화 서비스 등등을 수행하는 서비스들에 의해 공개 키 및 개인 키가 사용될 수 있다. 인증서 포맷의 알려진 예는 X.509v3 포맷이다. CASD의 키들은 모듈의 발행인과 독립적이고, 상기 CASD의 키들은 신뢰받는 제3자 엔티티를 표현한다. 키들 및 인증서는 공장에서 제어 기관 보안 도메인에 예컨대 카드 마커에 의해 설치된다.

현재-설명된 구현에서, 보안 모듈(10)은 위에서 간략히 언급된 GlobalPlatform 사양들에 부합하고, 그러므로 보안 모듈(10)은, 제어 보안 도메인 또는 CASD(10-2)와 함께, 발행인 보안 도메인 또는 ISD(10-1)를 포함한다.

현재-설명된 모듈의 발행인은 제1 엔티티(11), 예컨대 제1 모바일 네트워크 오퍼레이터이다. 따라서, 발행인 보안 도메인(10-1)은 이러한 제1 엔티티(11)에 속하는 비밀 키들을 초기에 포함한다. 이들 키들은, 모듈(10)과 모듈 외부에 있는 엔티티들(미도시) 사이의 교환들을 안전하게 하고, 외부 엔티티들을 입증하고, 그러한 엔티티들에 발행인 보안 도메인(10-1)을 입증하기 위한 것이다. 따라서, 보안 모듈(10)과 연관된 필요들 및 기능들에 따라, 하나 또는 그 초과의 비밀 키들이 계산될 수 있고 보안 모듈(10)에 설치될 수 있다. 예컨대, 키들은 전자 시그너처, 시그너처 검증 등등과 같은 보안 기능들을 수행하기 위한 기본 프리미티브들로서, 데이터 암호화 표준 "DES" 암호화 알고리즘에 의한 또는 트리플 DES "3DES" 알고리즘에 의한 사용을 위해 대칭 키들일 수 있다. 그러한 알고리즘들은 종래에 112 비트들 또는 168 비트들의 크기를 갖는 하나 또는 그 초과의 비밀 키들을 사용한다. 따라서, 제1 엔티티(11)로부터 제2 엔티티(12)로 모듈(10)의 제어를 전달하는 것이 제2 엔티티(12)에 속하는 비밀 키들을 발행인 보안 도메인(10-1)에 설치하는데 있다는 것이 이해될 수 있다.

전달을 요청하는 초기 단계(E0)에서, 모듈(10)을 관리하는 것을 담당하고 따라서 발행인 보안 도메인(10-1)을 관리하는 것을 담당하는 제1 엔티티(11)는, 제2 엔티티(12)로부터, 모듈(10)의 제어를 상기 제2 엔티티(12)에 전달하라는 요청을 수신한다. 예로서, 제2 엔티티(12)는 제2 모바일 네트워크 오퍼레이터이다. 이러한 요청에 의하여, 제2 엔티티(12)는, 제1 엔티티(11) 대신에, 모듈(10)의 제어를 취할 것을 요청하고 있다. 제2 엔티티(12)로부터의 요청은, 보안 모듈(10)을 소유한 가입자에 의해 제1 엔티티(11)에 대해 만들어진 요청 ― 제2 엔티티(12)에 찬성하여 서브스크립션의 변경을 요청함 ― 의 뒤를 이를 수 있다. 제1 엔티티(11) 및 제2 엔티티(12)가 제1 모바일 네트워크 오퍼레이터 및 제2 모바일 네트워크 오퍼레이터인 구현에서, 그러한 요청은, 제2 오퍼레이터에 가입하기 위하여 오퍼레이터의 변경을 요청하는, 제1 오퍼레이터에 대해 만들어지는 요청에 대응한다.

전달을 준비하는 이후 단계(E1)에서, 제1 엔티티(11)는 전달 준비 요청을 보안 모듈(10)에 전송한다. 더욱 정확하게, 상기 요청은 발행인 보안 도메인(10-1)에 전송된다.

전달 및 전달 준비 요청을 수신하는 단계(E2)에서, 보안 모듈(10), 그리고 더욱 정확하게 발행인 보안 도메인(10-1)은, 현재 전달 요청에 전용되는 고유 토큰을 계산함으로써, 제2 엔티티(12)로의 전달을 준비한다. 제1 구현에서, 토큰은 발행인 보안 도메인(10-1)에 의해 생성된 난수이고; 토큰은 발행인 보안 도메인(10-1)에 특정한 비밀 키에 의하여 서명된다. 따라서, 시그너처는, 토큰의 무결성을 보증하는 "MAC(message authentication code)"으로서 알려진 입증 메시지에 대응한다. 고유 토큰은 제2 엔티티(12)에 의해 제시될 것이고, 상기 제2 엔티티(12)가 모듈(10)의 제어를 실제로 인수할 때 제2 엔티티에 의해 검증될 것이다.

토큰을 전송하는 단계(E3)에서, 발행인 보안 도메인(10-1)은 서명된 토큰을 제1 엔티티(11)에 전송하는데, 즉 토큰 및 연관된 입증 메시지를 전송한다. 서명된 토큰은 안전한 방식으로 전송된다. 제1 엔티티가 제1 오퍼레이터이고 제2 엔티티가 제2 오퍼레이터인 모바일 네트워크의 예에서, 토큰은, 예컨대 "SSL(secure socket layer)" 프로토콜을 이용함으로써, 안전한 터널을 통해 제1 오퍼레이터의 네트워크를 경유해 전송된다.

재전송 단계(E4)에서, 제1 엔티티(11)는 자신이 수신한 서명된 토큰을 제2 엔티티(12)에 전송한다. 이 토큰은, 모듈(10)이 제어의 전달을 위해 준비됨을 제2 엔티티(12)에게 통보하기 위하여 전송된다. 토큰은 바람직하게 안전한 방식으로 제2 엔티티(12)에 전송된다. 제1 구현에서, 안전한 채널이 제1 엔티티(11)와 제2 엔티티(12) 사이에서 설정된다. 두 개의 엔티티들 사이에 안전한 채널을 제공하는 방법들은 알려져 있는 것으로 가정되고, 그러므로 본 명세서에서 상세히 설명되지 않는다.

재전송 단계(E4) 이후, 키 계산 단계((E5)에서, 제2 엔티티(12)는 제2 엔티티(12)가 모듈(10)의 제어를 실제로 인수할 때 모듈(10)의 발행인 보안 도메인(10-1)에 설치하기 위한 적어도 하나의 비밀 키를 계산한다.

모듈로부터의 인증서를 요청하는 단계(E6)에서, 제2 엔티티(12)는 인증서 요청을 보안 모듈(10), 그리고 더욱 정확하게 제어 기관 보안 도메인(10-2)에 전송한다.

이전 단계 동안에 전송된 인증서 요청의 수신 이후, 모듈(10)의 인증서를 전송하는 단계(E7)에서, 보안 모듈(10), 그리고 더욱 정확하게 제어 기관 보안 도메인(10-2)은 제어 기관 보안 도메인(10-1)의 공개 키와 연관되는 인증서를 제2 엔티티(12)에 전송한다. 공개 키와 연관되는 인증서가 공개 데이터이기 때문에, 이 인증서를 안전한 방식으로 제2 엔티티(12)에 전송하기 위해 예방책들을 취할 필요는 없다.

암호화 단계(E8)에서, 제2 엔티티(12)는, 자신이 재전송 단계(E3) 동안 제1 엔티티(11)로부터 수신한 서명된 토큰과 함께, 자신이 키 계산 단계(E5) 동안 계산한 키들을 포함하는 데이터를 암호화한다. 상기 데이터는, 파라미터로서, 인증서로부터 추출된 바와 같은, 제어 기관 보안 도메인(10-2)의 공개 키를 이용하는 암호화 알고리즘을 적용함으로써 암호화된다. 사용될 암호화 알고리즘은 모듈의 인증서에서 전용 필드에 특정된다. 예로서, 그러한 알고리즘은 RSA 알고리즘(이후에 그 발명자들 River, Shamir, 및 Adleman으로 명명됨)이다. 따라서, 키들 및 서명된 토큰이 제어 기관 보안 도메인(10-2)의 주의를 위해 암호화된다. 데이터를 암호화하기 이전, 제2 엔티티(12)는 자신이 선행 단계 동안 수신한 인증서의 유효성을 검증할 수 있다. 따라서, 제2 엔티티(12)는 인증서가 만료되지 않았음을 검증할 수 있고; 제2 엔티티(12)는 인증서의 시그너처의 유효성을 확신하기 위하여 전체 인증 체인을 탐험할 수 있고; 또한, 제2 엔티티(12)는 인증서가 철회되지 않았음을 검증할 수 있다. 알려진 방식으로, 그러한 검증은 철회 서버에 문의하거나 또는 철회된 인증서들의 목록을 살피는데 있다. 따라서, 제2 엔티티(12)는 보안 모듈(10)의 인증서 ― 상기 인증서는 제어를 인수하는 것에 관한 것임 ― 가 정말 유효함을 검증할 수 있다.

암호화된 데이터를 전송하는 단계(E9)에서, 제2 엔티티(12)는 암호화된 데이터를 보안 모듈(10), 그리고 더욱 정확하게 발행인 보안 도메인(10-1)에 전송한다.

복호화 요청 단계(E10)에서, 발행인 보안 도메인(10-1)은 복호화 요청을 제어 기관 보안 도메인(10-2)에 전송한다. 이러한 요청은 이전에 수신된 암호화된 데이터를 포함한다. 제어 기관 보안 도메인(10-2)만이 발행인 보안 도메인(10-1)에 의해 수신된 암호화된 데이터를 복호화할 수 있는데, 그 이유는 제어 기관 보안 도메인(10-2)이 데이터를 암호화하기 위해 사용된 공개 키와 연관된 개인 키를 소유하는 유일한 제어 기관 보안 도메인(10-2)이기 때문이다.

복호화 단계(E11)에서, 제어 기관 보안 도메인(10-2)은, 자신의 개인 키에 의하여, 암호화된 데이터를 복호화한다.

복호화된 데이터를 전송하는 단계(E12)에서, 제어 기관 보안 도메인(10-2)은 복호화된 데이터를 발행인 보안 도메인(10-1)에 전송한다.

검증 단계(E13)에서, 발행인 보안 도메인(10-1)은 복호화된 데이터에 포함된 서명된 토큰의 유효성을 검증한다. 이러한 목적을 위해, 발행인 보안 도메인(10-1)은 토큰에 대한 입증 메시지를 계산하고, 상기 입증 메시지가 토큰과 함께 수신된 입증 메시지에 대응하는지를 검증한다. 이러한 검증은, 토큰이 정말 송신 단계(E3) 동안 제1 엔티티(11)에 전송된 토큰에 대응한다는 것과, 제1 엔티티(10)가 제어의 전달을 개시한 엔티티와 동일한 엔티티에 모듈(10)의 제어가 막 제공되려고 함을 확인하는 것을 가능케 한다. 검증이 포지티브라면, 업데이팅 단계(E14) 동안, 발행인 보안 도메인(10-1)은 복호화된 데이터에 포함된, 제2 엔티티(12)의 새로운 키들을 저장하고, 제1 엔티티(11)에 특정한, 초기에 저장된 키들 전부를 삭제한다. 따라서, 이러한 업데이팅 단계(E14)의 끝에서, 모듈의 제어는 정말 제1 엔티티(11)로부터 제2 엔티티(12)로 전달되었다. 이제부터, 보안 모듈(10)에 설치되는 키들은 발행인 보안 도메인(10-1) 및 제2 엔티티(12)에만 알려진 것이다.

후속 사용 단계(미도시) 동안, 제2 엔티티(12)는, 오더들을 보안 모듈(10)에 전송하고, 데이터를 안전한 방식으로 모듈에 설치하고, 이러한 목적을 위해 제2 엔티티(12)와 계약한 서비스 공급자들의 애플리케이션들을 설치하고 등등을 하기에 적절하다. 예컨대, 제2 엔티티가 모바일 네트워크 오퍼레이터일 때, 가입자가 제2 오퍼레이터를 통해 네트워크에 액세스하는 것을 제공하기 위하여, 오퍼레이터는 제2 엔티티(12)에 막 가입한 가입자에 특정한 새로운 입증 키(Ki)를 보안 모듈에 전송할 수 있다. 오퍼레이터는 아마도, 네트워크에 액세스할 때 모듈을 입증하기에 적절한 새로운 입증 알고리즘을 전송할 수 있다.

다른 구현에서, 제어 기관에 특정한 공개/개인 키 쌍 및 인증서가 제어 기관 보안 도메인(10-2) 외에 보안 모듈(10)의 엔티티에 저장된다. 예컨대, 제어 기관에 특정한 공개 키/개인 키 쌍 및 인증서는 모듈(10)의 다른 논리적 보안 도메인에, 또는 모듈(10)의 다른 물리적 도메인, 예컨대 운영체제를 저장하는 메모리 존에 저장된다.

다른 구현에서, 전달 준비 단계(E1) 동안 제1 엔티티(11)에 의해 발행인 보안 도메인(10-1)에 전송된 전달 요청은 제2 엔티티(12)에 특정한 인증서를 포함한다. 이러한 인증서는 제2 엔티티(12)에 특정한 공개/개인 키 쌍의 공개 키를 인증한다. 인증서는, 제2 엔티티(12)의 인증되는 공개 키를 발행인 보안 도메인(10-1)에 전송하여, 암호화된 데이터를 전송하는 단계(E9) 동안 모듈(10)에 대한 제어를 발행인 보안 도메인(10-1)에 제공하기 위해 제2 엔티티(12)가 비밀 키들을 전송할 때 발행인 보안 도메인(10-1)이 제2 엔티티(12)를 입증하도록 인에이블링하는 목적을 위해 발행인 보안 도메인(10-1)에 전송된다. 따라서, 이러한 구현에서, 제2 엔티티(12)는, 암호화 단계(E8) 동안 암호화되는 데이터에 서명하기 위해 자신의 고유 개인 키를 사용한다. 그런 다음, 발행인 보안 도메인(10-1)은, 단계(E9) 동안 자신에게 전송된 암호화된 데이터의 시그너처를, 제1 엔티티(11)가 자신에게 전송한 인증서에 존재하는, 제2 엔티티(12)의 공개 키에 의하여 검증한다. 또한, 발행인 보안 도메인(10-1)에 전달 요청을 전송하기 이전, 제1 엔티티(11)는 제2 엔티티(12)의 인증서의 유효성을 검증할 수 있다. 예컨대, 인증서가 만료된다면 또는 인증서가 철회된다면, 제1 엔티티는 전달 요청을 발행인 보안 도메인에 전송하지 않는다.

다른 구현에서, 제1 엔티티(11)에 의한 단계(E1) 동안 전송된 전달 요청은, 제2 엔티티(12)의 고유하고 전 세계적인 식별자를 포함한다. 이러한 식별자는, 모듈의 제어를 인수할 엔티티가 정말 제1 엔티티(11)가 요청을 발행한 엔티티임을 발행인 보안 도메인(10-1)이 보장하도록 인에이블링한다. 따라서, 이러한 예에서, 제2 엔티티(12)는, 단계(E9) 동안, 자신의 인증서와 함께, 자신의 고유 개인 키에 의하여 암호화 및 서명된 바와 같은 데이터를 발행인 보안 도메인(10-1)에 전송하도록 동작한다. 그런 다음, 발행인 보안 도메인(10-1)은, 인증서의 소유자의 고유 식별자에 대응하는 인증서의 필드가 정말 제1 엔티티(11)에 의해 자신에게 전송된 고유 식별자와 동일함을 검증할 수 있다. 시그너처를 검증하는 것은, 인증서가 정말 제2 엔티티(12)와 연관된다는 것과, 따라서 고유 식별자가 정말 제2 엔티티(12)의 식별자임을 확인하는 것을 가능케 한다. 제1 엔티티 및 제2 엔티티가 모바일 텔레포니 오퍼레이터들일 때, 식별자는 전 세계적인 "MNC(mobile network code)"이다.

다른 구현에서, 발행인 보안 도메인(10-1)은, 단계(E3) 동안, 토큰을 제1 엔티티(11)에 전송하도록 동작하고, 상기 토큰은 랜덤 값뿐만 아니라, 보안 모듈(10)의 고유 식별자도 포함한다. 예컨대, 고유 식별자는 랜덤 값과 연쇄될 수 있다. 예로서, 고유 식별자는 "ICCID(integrated circuit card ID)"로서 알려진, 보안 모듈의 내부 시리얼 번호이다. 따라서, 보안 모듈(10)의 고유 식별자는 서명된 토큰에 포함되고, 재전송 단계(E4) 동안 제2 엔티티(12)에 전송된다. 모듈(10)의 이러한 식별자는, 제2 엔티티(12)가 자신의 키들을 적절한 보안 모듈(10)에 전송하고 있음을 제2 엔티티(12)에게 보장하기 위해 의도된다. 이러한 목적을 위해, 제2 엔티티(12)는 토큰의 시그너처를 검증하고, 그런 다음, 예로서, 단계(E7)의 끝에서 인증서를 수신할 때, 제2 엔티티(12)는 이 식별자가 자신이 단계(E6) 동안 요청한 모듈(10)의 인증서에서 보임을 검증한다. 예로서, 식별자는 제어 기관 보안 도메인(10-2)의 인증서의 홀더 필드에서 보인다.

본 발명은 이들 구현들로 제한되지 않는다. 따라서, 다른 구현들은 복수의 위에서-설명된 구현들을 결합하는데 있을 수 있다. 따라서, 제1 엔티티(11)로부터 발행인 보안 도메인(10-1)으로 제2 엔티티(12)의 인증서 및 제2 엔티티(12)의 고유 식별자를 전송하는 것이 가능하고, 단계(E3) 동안, 토큰을 제1 엔티티(11)에 전송하도록 동작하는 것이 가능하다 ― 상기 토큰은 모듈(10)의 고유 식별자를 포함함 ―. 다양한 구현들을 결합함으로써, 상기 방법의 보안을 개선시키는 것이 가능함이 이해될 수 있다.

도 2를 참조하면, 제2 구현에서 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법의 설명이 뒤를 잇는다.

이러한 구현에서, 발행인 보안 도메인(10-1)에 의해 고유 토큰이 계산되지 않는다.

도 1을 참조하여 설명된 방법의 단계(E0)와 비교할 때, 전달을 요청하는 초기 단계(E0')에서, 제1 엔티티(11)는, 모듈(10)의 제어가 자신에게 전달되도록 요청하는 요청을 제2 엔티티(12)로부터 수신한다. 구현에서, 전달 요청은 제2 엔티티(12)에 특정한 고유 식별자를 포함한다. 제1 엔티티 및 제2 엔티티가 네트워크 오퍼레이터들일 때, 이러한 식별자는 제2 오퍼레이터의 MNC이다.

전달을 준비하는 이후 단계(E1')에서, 제1 엔티티(11)는 전달 준비 요청을 보안 모듈(10)에 전송한다. 더욱 정확하게, 상기 요청은 발행인 보안 도메인(10-1)에 전송된다. 이러한 구현에서, 전달 준비 요청은 제2 엔티티(12)에 특정한 엔티티 인증서를 포함한다. 종래 방식에서, 엔티티 인증서는 필드들 세트, 예컨대 인증서의 홀더, 구체적으로 제2 엔티티(120)의 이름, 상기 엔티티의 공개 키 등등을 포함한다. 엔티티의 공개 키는, 제2 엔티티(12)에 의해서만 유지되고 알려지는, 상기 엔티티의 개인 키와 연관된다. 필드들 세트는 인증 기관의 개인 키에 의해 서명된다. 따라서, 엔티티 인증서는 제2 엔티티(12)의 공개 키를 인증한다. 제2 엔티티(12)는 자신의 인증서를 제1 엔티티(11)에 전송할 수 있다. 선행 단계에서 자신만의 고유 식별자를 제1 엔티티(11)에 전송하도록 동작하는 제2 엔티티(12)의 경우, 제1 엔티티(11)는, 제2 엔티티(12)의 고유 식별자를 특정하면서, 인증서 서버에 문의함으로써 인증서를 획득할 수 있다.

전달 요청을 수신하는 단계(E2')에서, 보안 모듈(10), 그리고 더욱 정확하게 발행인 보안 도메인(10-1)은 전달 준비 요청을 수신한다. 발행인 보안 도메인은 제2 엔티티(12)의 인증서를 저장한다.

정보 단계(E4')에서, 제1 엔티티(11)는 보안 모듈(10)이 제어를 전달할 준비가 됨을 제2 엔티티(12)에게 통보한다.

정보 단계(E4') 이후의 키 계산 단계(E5')에서, 제2 엔티티(12)는 제2 엔티티(12)가 모듈(10)의 제어를 실제로 취할 때 모듈(10)의 발행인 보안 도메인(10-1)에 설치하기 위한 적어도 하나의 비밀 키를 계산한다.

모듈로부터의 인증서를 요청하는 단계(E6')에서, 제2 엔티티(12)는 보안 모듈(10), 그리고 더욱 정확하게 제어 기관 보안 도메인(10-2)에 인증서 요청을 전송한다.

선행 단계 동안 전송된 인증서 요청의 수신 이후, 모듈(10)의 인증서를 전송하는 단계(E7')에서, 보안 모듈(10), 그리고 더욱 정확하게 제어 기관 보안 도메인(10-2)은, 제어 기관 보안 도메인(10-1)의 공개 키에 관련하여 인증서를 제2 엔티티(12)에 전송한다.

암호화 단계(E8')에서, 제2 엔티티(12)는, 자신이 키 계산 단계(E5') 동안 계산한 키들을 포함하는 데이터를 암호화한다. 상기 데이터는, 파라미터로서, 모듈의 인증서로부터 추출된 바와 같은, 제어 기관 보안 도메인(10-2)의 공개 키를 이용하는 암호화 알고리즘을 적용함으로써 암호화된다. 그런 다음, 암호화된 데이터는 제2 엔티티(12)의 개인 키에 의하여 서명된다. 따라서, 상기 데이터는 제어 기관 보안 도메인(10-2)의 주의를 위해 암호화되고, 그런 다음 제2 엔티티(12)에 의해 서명된다. 데이터를 암호화하기 이전, 제2 엔티티(12)는 자신이 선행 단계 동안 제2 보안 도메인(10-2)으로부터 수신한 인증서의 유효성을 검증할 수 있다.

암호화된 데이터를 전송하는 단계(E9')에서, 제2 엔티티(12)는 암호화 및 서명된 데이터를 보안 모듈(10), 그리고 더욱 정확하게 발행인 보안 도메인(10-1)에 전송한다.

복호화를 요청하는 단계(E10')에서, 발행인 보안 도메인(10-1)은 복호화 요청을 제어 기관 보안 도메인(10-2)에 전송한다. 상기 요청은 이전에 수신된 암호화된 데이터를 포함한다. 제어 기관 보안 도메인(10-2)만이, 발행인 보안 도메인(10-1)에 의해 수신된 암호화된 데이터를 복호화할 수 있는데, 그 이유는 제어 기관 보안 도메인(10-2)이 데이터를 암호화하기 위해 사용된 공개 키와 연관된 개인 키를 소유하는 유일한 제어 기관 보안 도메인(10-2)이기 때문이다.

복호화 단계(E11')에서, 제어 기관 보안 도메인(10-2)은, 자신의 고유 개인 키를 이용함으로써, 암호화된 데이터를 복호화한다.

복호화된 데이터를 전송하는 단계(E12')에서, 제어 기관 보안 도메인(10-2)은 복호화된 데이터를 발행인 보안 도메인(10-1)에 전송한다.

검증 단계(E13')에서, 발행인 보안 도메인은 제2 엔티티(12)의 인증서의 공개 키에 의하여 암호화된 데이터의 시그너처를 검증한다. 검증이 포지티브라면, 상기는, 암호화된 데이터가 정말 제2 엔티티(12) ― 보안 도메인(10-1)이 단계(E1') 동안 상기 제2 엔티티(12)에 대해 제어를 전달하라는 요청을 수신했음 ― 로부터 나옴을 의미한다. 단계(E1') 동안 발행인 보안 도메인(10-1)에 의해 수신된 인증서에 의해 인증되는 공개 키와 연관된 개인 키의 홀더만이 암호화된 데이터에 서명할 수 있다. 이러한 구현에서, 검증 단계(E13')는 복호화 요청 단계(E10') 이전에 수행될 수 있다.

선행 단계 동안 수행된 검증이 포지티브라면, 업데이팅 단계(E14') 동안, 발행인 보안 도메인(10-1)은, 복호화된 데이터에 포함된, 제2 엔티티(12)의 새로운 키들을 저장하고, 초기에 저장되었고 제1 엔티티(11)에 특정한 키들 전부를 삭제한다. 따라서, 이러한 업데이팅 단계(E14')의 끝에서, 모듈에 대한 제어는 정말 제1 엔티티(11)로부터 제2 엔티티(12)로 전달되었다. 이제부터, 보안 모듈(10)에 설치되는 키들은 발행인 보안 도메인(10-1) 및 제2 엔티티(12)에만 알려진 것이다.

위에서-설명된 방법을 수행하기에 적절한 보안 모듈(10)이 도 3을 참조하여 아래에 설명된다.

정의에 의해, 보안 모듈은, 안전한 환경에서 중대하고 민감한 동작들을 수행하기에 적절한 모듈을 지명한다. 예로서, 이들 동작들은 비밀 데이터를 저장하는 것, 암호화 동작들을 수행하는 것 등등이다.

실시예에서, 본 발명의 보안 모듈(10)은 GlobalPlatform 사양들에 부합하고, 그러므로 다음의 복수의 논리적 보안 도메인들을 포함한다:

· 제1 보안 도메인 또는 발행인 보안 도메인(10-1); 및

· 제2 보안 도메인 또는 제어 기관 보안 도메인(10-2).

제1 도메인은, 보안 모듈을 제어하는 엔티티에 특정하고 모듈과 외부 엔티티들 사이의 교환들을 안전하게 하기 위한 적어도 하나의 비밀 키(Ks)를 포함한다. 제2 보안 도메인(10-2)은, 키 쌍의 공개 키(Kpub)를 인증하기 위한 인증서(Cert)와 함께, 개인 키(Kpriv) 및 상기 공개 키(Kpub)를 포함하는 상기 키 쌍을 포함한다. 인증서는, 모듈(10)을 제어하는 엔티티로부터 독립적인 제3자 엔티티(도 2에 미도시)에 의해 발행된다. 변형 실시예(미도시)에서, 비밀 키 및 인증서가 모듈(10)의 다른 논리적 보안 도메인에, 또는 모듈(10)의 다른 물리적 도메인, 예컨대 운영체제를 저장하는 메모리 존에 저장된다.

논리적 보안 도메인들은 또한 다음에 의존한다:

· "CPU(central processor unit)"(101). 프로세서(101)는 다음을 포함하는 메모리들의 세트에 연결된다:

· 모듈의 운영체제, 그리고 예컨대 암호화 알고리즘들과 같은 보안 메커니즘들을 저장하도록 적응된 "ROM(read only memory)"(102);

· 계산들을 수행하고, 명령들을 로딩하고, 상기 명령들을 실행하는데 사용되는 "RAM(random access memory)"(103); 및

· 모듈의 홀더 및 상기 모듈이 의도되는 네트워크 타입에 특정한 엘리먼트들을 포함하는 "EEPROM(electrically erasable programmable read only memory)". 따라서, EEPROM(104)은 인증서와 함께 발행인 보안 도메인(10-1)의 비밀 키(Ks), 그리고 제어 기관 보안 도메인(10-2)의 키들(Kpriv/Kpub)의 쌍을 저장한다.

또한, 보안 모듈(10)은 본 발명의 방법을 수행하기에 적절한 프로그램의 형태로 애플리케이션을 호스팅한다. 이러한 목적을 위해, 모듈(10)은 또한:

· 토큰을 계산 및 전송하기 위한 수단들(106) ― 이들 수단은, 단일 토큰을 계산하고 상기 단일 토큰을 제1 엔티티에 전송하도록 배열되고, 상기 토큰은 랜덤 값을 포함함 ―. 계산 및 전송 수단들(106)은 위에서-설명된 제어 전달 방법의 단계들(E2 및 E3)을 수행하도록 배열된다;

· 제2 엔티티로부터 인증서를 획득하기 위한 요청을 수신하도록 배열된 제1 수신 수단들(105). 제1 수신 수단들(105)은 위에서-설명된 방법들의 단계들(E6 및 E6')을 수행하도록 배열된다;

· 제1 수신 수단들(105)이 요청을 수신하자마자 상기 인증서를 전송하도록 배열된 송신기 수단들(108). 송신기 수단들(108)은 모듈의 제어를 전달하는 위에서-설명된 방법들의 전송 단계들(E7 및 E7')을 수행하도록 배열된다;

· 상기 인증서에 의해 인증되는 바와 같은 공개 키에 의하여 암호화된 데이터를 제2 엔티티로부터 수신하도록 배열된 제2 수신 수단들(107) ― 상기 데이터는, 토큰과 함께, 제2 엔티티에 특정한 적어도 제2 비밀 제어 키를 포함함 ―. 암호화된 데이터는 선택적으로, 제2 엔티티에 특정한 개인 키에 의하여 서명된다. 제2 수신 수단들(107)은 위에서-설명된 방법의 단계들(E9 및 E9')을 수행하도록 배열된다;

· 제2 엔티티(12)(미도시)에 제어를 전달하기 위한 요청을 제1 엔티티(11)(도 3에 미도시)로부터 수신하도록 배열된 제3 수신 수단들(109). 전달 요청은 제2 엔티티(12)의 인증서를 포함할 수 있다. 제3 수신 수단들(109)은 위에서-설명된 방법들의 단계들(E1 및 E1')을 수행하기에 적절하다;

· 상기 데이터를 복호화하도록 배열된 복호화 수단들(110). 복호화 수단들(110)은 위에서-설명된 방법들의 복호화 단계들(E11 및 E11')을 수행하도록 배열된다;

· 암호화된 데이터를 검증하도록 배열된 검증 수단들(111). 제1 구현에서, 검증 수단들(111)은 발행인 보안 도메인(10-1)에 의해 서명된 토큰을 검증한다. 방법의 제2 구현에서, 검증 수단들(111)은 제2 엔티티의 공개 키에 의하여 암호화된 데이터의 시그너처를 검증한다. 검증 수단들(111)은 모듈의 제어를 전달하는 위에서-설명된 방법들의 단계들(E13 및 E13')을 수행하도록 적응된다; 그리고

· 상기 적어도 하나의 제2 제어 비밀 키를 설치하도록 배열된 설치 수단들(112) ― 그런 다음, 제2 엔티티가 제1 보안 도메인을 체크함 ―. 설치 수단들(112)은 위에서-설명된 방법들의 단계들(E14 및 E14')을 수행하도록 배열된다.

도 3을 참조하여 설명된 실시예에서, 위에서-설명된 수단들은, 모듈을 포함하는 장비가 팔리기 이전에 보안 모듈 제조업자에 의해 EEPROM(104)에 설치된다. 제2 실시예에서, 수단들은 모듈 제조업자에 의해 ROM(102)에 설치된다. 제3 실시예에서, 장비가 릴리스된 이후, 모듈을 포함하는 장비로 프로그램이 다운로딩된다.

Claims (13)

  1. 제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법으로서,
    상기 보안 모듈은, 상기 제1 엔티티에 특정한 적어도 하나의 제1 비밀 제어 키에 의하여 상기 제1 엔티티에 의해 제어되는 제1 보안 도메인(10-1), 그리고 제2 보안 도메인(10-2) ― 상기 제2 보안 도메인은 제어 기관의 공개 키의 인증서 그리고 또한 상기 제어 기관의 개인 키 둘 다를 포함함 ― 을 갖고, 상기 방법은 상기 보안 모듈에 의해 수행되는 다음의 단계들:
    상기 제1 보안 도메인이 상기 제1 엔티티로부터 전달 준비 요청을 수신하는 단계 ― 상기 전달 준비 요청은 상기 제2 엔티티로부터 만들어지고, 상기 보안 모듈의 제어를 상기 제1 엔티티로부터 상기 제2 엔티티로 전달하라는 요청임 ―;
    상기 제1 보안 도메인이 상기 전달 준비 요청에 전용되는 서명된 고유 토큰(token) 또는 고유 식별자를 획득하는 단계;
    상기 제1 보안 도메인이 상기 서명된 고유 토큰을 상기 제1 엔티티에 전송하는 단계 ― 상기 서명된 고유 토큰은, 상기 보안 모듈이 상기 제어의 전달을 위해 준비됨을 상기 제2 엔티티에게 통보하기 위하여 상기 제2 엔티티에 전송됨 ―;
    상기 제2 보안 도메인이 인증서를 획득하기 위한 요청을 수신하는 단계(E6, E6') ― 상기 요청은 상기 제2 엔티티로부터 나옴 ―;
    상기 제2 보안 도메인이 상기 인증서를 전송하는 단계(E7, E7');
    상기 제1 보안 도메인이 상기 제2 엔티티로부터 데이터를 수신하는 단계(E9, E9') ― 상기 데이터는 상기 인증서에 의해 인증되는 상기 공개 키에 의하여 암호화되었고, 상기 데이터는 상기 제2 엔티티 및 상기 서명된 고유 토큰에 특정한 적어도 하나의 제2 비밀 제어 키를 포함함 ―;
    상기 제2 보안 도메인이 상기 데이터를 복호화하는 단계(E11, E11');
    상기 제1 보안 도메인이 상기 데이터를 검증하는 단계(E13, E13'); 및
    검증이 포지티브라면, 상기 제1 보안 도메인이 상기 적어도 하나의 제1 비밀 제어 키를 상기 적어도 하나의 제2 비밀 제어 키로 교체시키는 단계(E14, E14')
    를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  2. 제 1 항에 있어서,
    제어를 상기 제2 엔티티에 전달하기 위한 요청을 상기 제1 엔티티로부터 수신하는 수신 단계(E1, E1')를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  3. 제 2 항에 있어서,
    전달 요청은 상기 제2 엔티티의 인증서를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  4. 제 2 항에 있어서,
    전달 요청은 상기 제2 엔티티의 고유 식별자를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 데이터는 또한, 발행인 제1 도메인에 의해 서명된 고유 토큰을 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  7. 제 1 항에 있어서,
    상기 고유 토큰은 또한 상기 보안 모듈에 특정한 식별자를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  8. 제 1 항에 있어서,
    암호화된 데이터는 제2 엔티티에 의해 서명되고, 상기 데이터의 검증은 상기 데이터의 서명을 검증하는데 있는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  9. 제 1 항에 있어서,
    복호화 단계는 다음의 하위단계들:
    상기 제1 보안 도메인이 상기 데이터를 복호화하기 위한 요청을 제어 기관 보안 도메인에 전송하는 하위단계(E10, E10');
    상기 제어 기관 보안 도메인이 상기 제어 기관의 비밀 키에 의하여 상기 데이터를 복호화하는 하위단계(E11, E11'); 및
    상기 제어 기관 보안 도메인이 복호화된 데이터를 상기 제1 보안 도메인에 전송하는 하위단계(E12, E12')
    를 포함하는,
    제1 엔티티(11)로부터 제2 엔티티(12)로 보안 모듈(10)의 제어를 전달하는 방법.
  10. 제1 보안 도메인 및 제2 보안 도메인을 포함하는 보안 모듈로서,
    상기 제2 보안 도메인은 제어 기관의 공개 키의 인증서 그리고 또한 상기 제어 기관의 비밀 키 둘 다를 포함하고, 상기 제1 보안 도메인은 제1 엔티티에 특정한 적어도 하나의 제1 제어 키에 의하여 상기 제1 엔티티에 의해 제어되고, 상기 제1 보안 도메인은 상기 제1 엔티티로부터 전달 준비 요청을 수신하고, 상기 전달 준비 요청은 제2 엔티티로부터 만들어지고, 상기 전달 준비 요청은 상기 보안 모듈의 제어를 상기 제1 엔티티로부터 상기 제2 엔티티로 전달하라는 요청이고, 상기 제1 보안 도메인은 상기 전달 준비 요청에 전용되는 서명된 고유 토큰 또는 고유 식별자를 획득하고, 그리고 상기 제1 보안 도메인은 상기 서명된 고유 토큰을 상기 제1 엔티티에 전송하고, 상기 서명된 고유 토큰은, 상기 보안 모듈이 제어의 전달을 위해 준비됨을 상기 제2 엔티티에게 통보하기 위하여 상기 제2 엔티티에 전송되며, 상기 모듈은:
    제2 엔티티로부터 나오는 인증서를 획득하기 위한 요청을 수신하도록 배열된 제1 수신 수단(105);
    상기 인증서를 상기 제2 엔티티에 전송하도록 배열된 송신기 수단(108);
    상기 인증서에 의해 인증되는 공개 키에 의하여 암호화된 데이터를 상기 제2 엔티티로부터 수신하도록 배열된 제2 수신 수단(107) ― 상기 데이터는, 상기 제2 엔티티 및 상기 서명된 고유 토큰에 특정한 적어도 하나의 제2 비밀 제어 키를 포함함 ―;
    상기 데이터를 복호화하도록 배열된 복호화 수단(110);
    상기 데이터를 검증하도록 배열된 검증 수단(111); 및
    상기 적어도 하나의 제2 비밀 제어 키를 설치하도록 배열된 설치 수단(112) ― 그런 다음, 상기 제2 엔티티가 상기 제1 보안 도메인을 제어함 ―
    을 더 포함하는,
    보안 모듈.
  11. 삭제
  12. 보안 모듈에 설치하기 위한 프로그램이 저장된 데이터 저장 매체로서,
    상기 프로그램은 제 1 항 내지 제 4 항 및 제 6 항 내지 제 9 항 중 어느 한 항에 따라 제1 엔티티로부터 제2 엔티티로 상기 모듈의 제어를 전달하는 방법의 단계들을 수행하도록 상기 보안 모듈을 구성하기 위한 명령들을 포함하고,
    상기 프로그램이 프로세서에 의해 실행될 때, 상기 단계들은 상기 모듈에 의해 실행되는,
    보안 모듈에 설치하기 위한 프로그램이 저장된 데이터 저장 매체.
  13. 삭제
KR1020147012968A 2011-10-14 2012-10-12 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법 KR101933707B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1159294 2011-10-14
FR1159294A FR2981531A1 (fr) 2011-10-14 2011-10-14 Procede de transfert du controle d'un module de securite d'une premiere entite a une deuxieme entite
PCT/FR2012/052338 WO2013054065A1 (fr) 2011-10-14 2012-10-12 Procédé de transfert du contrôle d'un module de sécurité d'une première entité à une deuxième entité

Publications (2)

Publication Number Publication Date
KR20140084189A KR20140084189A (ko) 2014-07-04
KR101933707B1 true KR101933707B1 (ko) 2019-04-05

Family

ID=47143173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012968A KR101933707B1 (ko) 2011-10-14 2012-10-12 제1 엔티티로부터 제2 엔티티로 보안 모듈의 제어를 전달하는 방법

Country Status (7)

Country Link
US (1) US9124561B2 (ko)
EP (1) EP2767111A1 (ko)
JP (1) JP6096785B2 (ko)
KR (1) KR101933707B1 (ko)
CN (1) CN103999496B (ko)
FR (1) FR2981531A1 (ko)
WO (1) WO2013054065A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3007920A1 (fr) * 2013-06-28 2015-01-02 France Telecom Procede de changement de cle d'authentification
US20150326545A1 (en) * 2014-05-06 2015-11-12 Apple Inc. Secure key rotation for an issuer security domain of an electronic device
US9832207B2 (en) 2014-12-23 2017-11-28 Mcafee, Inc. Input verification
US9798559B2 (en) * 2014-12-27 2017-10-24 Mcafee, Inc. Trusted binary translation
US9996690B2 (en) 2014-12-27 2018-06-12 Mcafee, Llc Binary translation of a trusted binary with input tagging
US9832025B2 (en) * 2015-05-19 2017-11-28 Verizon Patent And Licensing Inc. Remote secure element policy management
US20190238518A1 (en) * 2018-01-26 2019-08-01 Sensus Spectrum, Llc Apparatus, Methods and Articles of Manufacture for Messaging Using Message Level Security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100062808A1 (en) 2008-08-25 2010-03-11 Interdigital Patent Holdings, Inc. Universal integrated circuit card having a virtual subscriber identity module functionality
WO2010123890A1 (en) * 2009-04-20 2010-10-28 Interdigital Patent Holdings, Inc. System of multiple domains and domain ownership

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062451A1 (en) * 1998-09-01 2002-05-23 Scheidt Edward M. System and method of providing communication security
US20020152393A1 (en) * 2001-01-09 2002-10-17 Johannes Thoma Secure extensible computing environment
US6879690B2 (en) * 2001-02-21 2005-04-12 Nokia Corporation Method and system for delegation of security procedures to a visited domain
FR2834153B1 (fr) * 2001-12-21 2004-04-23 France Telecom Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
EP1492061A1 (fr) * 2003-06-25 2004-12-29 Nagracard S.A. Méthode d'allocation de ressources sécurisées dans un module de sécurité
KR100567822B1 (ko) * 2003-10-01 2006-04-05 삼성전자주식회사 공개 키 기반 구조를 이용한 도메인 형성 방법
US20070106892A1 (en) * 2003-10-08 2007-05-10 Engberg Stephan J Method and system for establishing a communication using privacy enhancing techniques
JP2006129143A (ja) * 2004-10-29 2006-05-18 Toppan Printing Co Ltd 秘密情報送受信システム及び方法、サーバー装置及びプログラム、並びに鍵情報保持装置
US7992194B2 (en) * 2006-03-14 2011-08-02 International Business Machines Corporation Methods and apparatus for identity and role management in communication networks
KR100842014B1 (ko) * 2006-09-12 2008-06-27 노키아 코포레이션 다수의 장치로부터 네트워크 저장 장치상의 보호 데이터에대한 접근
HU230695B1 (en) * 2007-10-20 2017-09-28 Andras Vilmos Method of preparing storing and method of storing single user access information into safe storage unit of a communication device
FR2936391B1 (fr) * 2008-09-19 2010-12-17 Oberthur Technologies Procede d'echange de donnees, telles que des cles cryptographiques, entre un systeme informatique et une entite electronique, telle qu'une carte a microcircuit
CN101729493B (zh) * 2008-10-28 2012-09-05 中兴通讯股份有限公司 密钥分发方法和系统
CN101739756B (zh) * 2008-11-10 2012-01-11 中兴通讯股份有限公司 一种智能卡密钥的生成方法
FR2947410A1 (fr) 2009-06-30 2010-12-31 France Telecom Procede de changement d'une cle d'authentification
CN101656960A (zh) * 2009-09-16 2010-02-24 中兴通讯股份有限公司 基于近场通信的点对点通信方法以及近场通信装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100062808A1 (en) 2008-08-25 2010-03-11 Interdigital Patent Holdings, Inc. Universal integrated circuit card having a virtual subscriber identity module functionality
WO2010123890A1 (en) * 2009-04-20 2010-10-28 Interdigital Patent Holdings, Inc. System of multiple domains and domain ownership

Also Published As

Publication number Publication date
EP2767111A1 (fr) 2014-08-20
US20140359295A1 (en) 2014-12-04
FR2981531A1 (fr) 2013-04-19
WO2013054065A1 (fr) 2013-04-18
JP2014530578A (ja) 2014-11-17
JP6096785B2 (ja) 2017-03-15
KR20140084189A (ko) 2014-07-04
US9124561B2 (en) 2015-09-01
CN103999496A (zh) 2014-08-20
CN103999496B (zh) 2018-03-13

Similar Documents

Publication Publication Date Title
US6192130B1 (en) Information security subscriber trust authority transfer system with private key history transfer
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
EP2063675B1 (en) Robust and flexible Digital Rights Management (DRM) involving a tamper-resistant identity module
DK1556992T3 (en) Safety performance and use of device-specific safety data
KR101500803B1 (ko) 전자 액세스 클라이언트들을 저장하기 위한 장치 및 방법들
US8064598B2 (en) Apparatus, method and computer program product providing enforcement of operator lock
JP4814339B2 (ja) 制約された暗号キー
EP1696602B1 (en) Cryptographic communication system and method
US9843585B2 (en) Methods and apparatus for large scale distribution of electronic access clients
JP2005509305A (ja) 格納された鍵の入手および安全な配信により鍵サーバが認証される暗号鍵を格納する方法および装置
AU761317B2 (en) Self-generation of certificates using a secure microprocessor in a device for transferring digital information
US20040117623A1 (en) Methods and apparatus for secure data communication links
US7503074B2 (en) System and method for enforcing location privacy using rights management
RU2518924C2 (ru) Беспроводное устройство, способ запроса пользовательского клиента управления доступом и способ выполнения клиента управления доступом
US8578153B2 (en) Method and arrangement for provisioning and managing a device
US7047405B2 (en) Method and apparatus for providing secure processing and data storage for a wireless communication device
US10003604B2 (en) Authenticated communication between security devices
US20050193199A1 (en) Accessing protected data on network storage from multiple devices
TWI507005B (zh) 虛擬用戶識別模組
JP5508428B2 (ja) 鍵の配布方法及びシステム
US8543091B2 (en) Secure short message service (SMS) communications
US7689828B2 (en) System and method for implementing digital signature using one time private keys
US6839841B1 (en) Self-generation of certificates using secure microprocessor in a device for transferring digital information
JP2005515701A (ja) データ伝送リンク
JP2005515701A6 (ja) データ伝送リンク

Legal Events

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