KR20200130044A - 인증서 관리 및 검증 방법 및 장치 - Google Patents

인증서 관리 및 검증 방법 및 장치 Download PDF

Info

Publication number
KR20200130044A
KR20200130044A KR1020190080318A KR20190080318A KR20200130044A KR 20200130044 A KR20200130044 A KR 20200130044A KR 1020190080318 A KR1020190080318 A KR 1020190080318A KR 20190080318 A KR20190080318 A KR 20190080318A KR 20200130044 A KR20200130044 A KR 20200130044A
Authority
KR
South Korea
Prior art keywords
bundle
certificate
ssp
identifier
management server
Prior art date
Application number
KR1020190080318A
Other languages
English (en)
Inventor
윤강진
구종회
이덕기
임태형
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN202080033823.8A priority Critical patent/CN113785532B/zh
Priority to EP20801562.8A priority patent/EP3906637A4/en
Priority to US16/871,278 priority patent/US11172362B2/en
Priority to PCT/KR2020/006156 priority patent/WO2020226466A1/en
Publication of KR20200130044A publication Critical patent/KR20200130044A/ko
Priority to US17/521,287 priority patent/US11576044B2/en
Priority to US18/164,821 priority patent/US11997488B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 개시의 일부 실시예에 따른 단말의 인증서 관리 및 검증 방법은, 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자 중 적어도 하나 이상의 식별자에 대응하는 특정 번들을 다운로드 및 설치 시 사용할 수 있는 인증서 정보를 획득하는 단계; 번들 관리 서버로, 상기 특정 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 중 적어도 하나 이상의 식별자에 대응하는 인증서 정보를 송신하는 단계; 및 상기 번들 관리 서버로부터, 상기 번들 관리 서버의 인증서, SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 수신하는 단계를 포함할 수 있다.

Description

인증서 관리 및 검증 방법 및 장치{APPARATUS AND METHODS FOR MANAGING AND VERIFYING DIGITAL CERTIFICATES}
본 개시는 인증서 관리 및 검증 방법 및 장치에 관한 것으로, 보다 구체적으로, 단말과 서버간에 번들을 다운로드 및 설치 시 사용할 수 있는 유효한 인증서 및 인증서 발급자 정보를 선택하고 선택된 인증서의 유효성을 검증하는 방법 및 장치에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후(Post LTE) 이후의 시스템이라 불리어지고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(full dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다. 또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network: cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication: D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다. 이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM(Hybrid FSK and QAM Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology) 기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 등의 기술이 5G 통신 기술이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
상술한 것과 이동통신 시스템의 발전에 따라 다양한 서비스를 제공할 수 있게 됨으로써, 이러한 서비스들을 효과적으로 제공하기 위한 방안이 요구되고 있다. 보다 구체적으로, 단말과 서버간에 번들을 다운로드 및 설치 시 사용할 수 있는 유효한 인증서 및 인증서 발급자 정보를 선택하고 선택된 인증서의 유효성을 검증하는 방법 및 장치가 필요하다.
개시된 실시예는 전자 장치에 설치된 보안 모듈에 원격으로 제어 모듈을 설치하고, 보안 모듈에 저장된 보안 정보와 제어 모듈을 통해 보안 서비스를 제공할 수 있는 장치 및 방법을 제공할 수 있다.
또한, 개시된 실시예는 단말과 번들 관리 서버 간에 서로 다른 번들 패밀리 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자로 구분되는 번들의 다운로드에 사용될 인증서를 선택하고 검증하는 장치 및 방법을 제공할 수 있다.
본 개시의 일부 실시 예에 따르면, 단말의 인증서 관리 및 검증 방법은, 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자 중 적어도 하나 이상의 식별자에 대응하는 특정 번들을 다운로드 및 설치 시 사용할 수 있는 인증서 정보를 획득하는 단계; 번들 관리 서버로, 상기 특정 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 중 적어도 하나 이상의 식별자에 대응하는 인증서 정보를 송신하는 단계; 및 상기 번들 관리 서버로부터, 상기 번들 관리 서버의 인증서, SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 수신하는 단계를 포함할 수 있다.
또한, 본 개시의 일부 실시 예에 따르면, 상기 번들 관리 서버의 인증서, 상기 SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 상기 SSP에 기 설정되어 있는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자별 인증서 정보를 기초로 검증하는 단계; 번들 구분자 및 상기 번들 관리 서버 인증서를 이용하여, 상기 SSP의 인증 정보를 생성하는 단계; 상기 SSP의 인증 정보를 상기 번들 관리 서버로 송신하는 단계; 상기 번들 관리 서버로부터 상기 번들 관리 서버의 인증정보 및 묶인 번들을 수신하는 단계; 상기 번들 관리 서버의 인증정보를 검증하는 단계; 상기 검증 결과에 기초하여 상기 묶인 번들을 복호화하고 번들을 상기 SSP에 설치하는 단계; 및 상기 설치된 번들의 번들 패밀리 식별자를 확인하는 단계를 더 포함할 수 있다.
또한, 본 개시의 일부 실시 예에 따른 단말은, 송수신부; 및 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자 중 적어도 하나 이상의 식별자에 대응하는 특정 번들을 다운로드 및 설치 시 사용할 수 있는 인증서 정보를 획득하고, 번들 관리 서버로, 상기 특정 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 중 적어도 하나 이상의 식별자에 대응하는 인증서 정보를 송신하며,상기 번들 관리 서버로부터, 상기 번들 관리 서버의 인증서, SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 수신하도록 제어하는 적어도 하나 이상의 프로세서를 포함할 수 있다.
또한, 본 개시의 일부 실시 예에 따르면 상기 적어도 하나 이상의 프로세서는, 상기 번들 관리 서버의 인증서, 상기 SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 상기 SSP에 기 설정되어 있는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자별 인증서 정보를 기초로 검증하고, 번들 구분자 및 상기 번들 관리 서버 인증서를 이용하여, 상기 SSP의 인증 정보를 생성하며, 상기 SSP의 인증 정보를 상기 번들 관리 서버로 송신하고, 상기 번들 관리 서버로부터 상기 번들 관리 서버의 인증정보 및 묶인 번들을 수신하며, 상기 번들 관리 서버의 인증정보를 검증하고, 상기 검증 결과에 기초하여 상기 묶인 번들을 복호화하고 번들을 상기 SSP에 설치하며, 상기 설치된 번들의 번들 패밀리 식별자를 확인하도록 제어할 수 있다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시 예에 따르면, 단말은 인증서 관리하고 검증할 수 있다.
도 1은 본 개시의 일부 실시 예에 따른 프로파일을 탑재한 텔레콤 번들이 탑재된 SSP를 이용한 단말의 이동통신 네트워크 연결 방법을 도시하는 도면이다.
도 2는 본 개시의 일부 실시 예에 따른 SSP(Smart Secure Platform)의 내부 구조에 대한 개념도를 나타내고 있다.
도 3는 본 개시의 일부 실시 예에 따른 인증서 발급자(Certificate Issuer, CI)가 발급한 인증서의 계층 구조(Certificate Hierarchy 또는 Certificate Chain), 각 인증서에 포함된 공개 키(Public Key) 및 인증서 발급자(Certificate Issuer, CI)의 디지털 서명(Digital Signature) 구성의 예를 나타내는 도면이다.
도 4는 본 개시의 일부 실시 예에 따른 인증서 발급자(Certificate Issuer, CI)가 발급한 인증서의 계층구조(Certificate Hierarchy 또는 Certificate Chain), 각 인증서에 포함된 공개 키(Public Key) 및 인증서 발급자(Certificate Issuer, CI)의 디지털 서명(Digital Signature) 구성의 예를 나타내는 도면이다.
도 5은 본 개시의 일부 실시 예에 따른 단말이 SSP로 번들을 다운로드하고 설치하기 위한 단말 내, 외부 구성 요소의 예를 도시하는 도면이다.
도 6은 본 개시의 일부 실시 예에 따른 가입자가 서비스 제공자를 통해 서비스에 가입하고 서비스 제공자와 번들 관리 서버가 번들 다운로드를 준비하는 절차의 예를 도시하는 도면이다.
도 7a는 본 개시의 일부 실시 예에 따른 단말과 번들 관리 서버 간 상호인증 및 암호화에 사용할 수 있는 인증서를 선택하기 위한 인증서를 협상하는 절차의 예를 도시하는 도면이다.
도 7b 본 개시의 다른 일부 실시 예에 따른 단말과 번들 관리 서버간 상호인증 및 암호화에 사용할 수 있는 인증서를 선택하기 위한 인증서를 협상하는 절차의 예를 도시하는 도면이다.
도 8은 본 개시의 일부 실시 예에 따른 SSP 또는 SPBL(Secondary Platform Bundle Loader)이 생성하거나, LBA(Local Bundle Assistant)가 번들 관리 서버에 전달하는 인증서 정보의 구조의 예를 도시하는 도면이다.
도 9는 본 개시의 일부 실시 예에 따른 단말의 SSP가 LBA의 요청에 따라 특정 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 대해 설정된 지원 가능한 인증서 정보를 생성하는 절차의 예를 도시하는 도면이다.
도 10은 본 개시의 일부 실시 예에 따른 단말이 번들 관리 서버로부터 번들을 다운로드하고 설치하는 절차의 예를 도시하는 도면이다.
도 11는 본 개시의 일부 실시 예에 따른 단말이 번들 관리 서버로부터 번들 다운로드 정보를 획득하는 절차의 예를 도시하는 도면이다.
도 12는 본 개시의 일부 실시 예에 따른 번들 관리 서버가 번들 다운로드 과정에 사용한 인증서를 검증하는 절차의 예를 도시하는 도면이다.
도 13은 본 개시의 일부 실시 예에 따른 단말의 구성을 도시하는 도면이다.
도 14는 본 개시의 일부 실시 예에 따른 번들 관리 서버의 구성을 도시하는 도면이다.
이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 개시의 실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성한다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하의 설명에서 사용되는 특정 용어들은 본 개시의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 개시의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
SE(Secure Element)는 보안 정보(예를 들어, 이동통신망 접속 키, 신분증/여권 등의 사용자 신원확인 정보, 신용카드 정보, 암호화 키 등)를 저장하고, 저장된 보안 정보를 이용하는 제어 모듈(예를 들어, USIM 등의 망 접속 제어 모듈, 암호화 모듈, 키 생성 모듈 등)을 탑재하고 운영할 수 있는 단일 칩으로 구성된 보안 모듈을 의미한다. SE는 다양한 전자 장치(예를 들어, 스마트폰, 태블릿, 웨어러블 장치, 자동차, IoT 장치 등)에 사용될 수 있으며, 보안 정보와 제어 모듈을 통해 보안 서비스(예를 들어, 이통통신 망 접속, 결제, 사용자 인증 등)를 제공할 수 있다.
SE는 UICC(Universal Integrated Circuit Card), eSE (Embedded Secure Element), UICC와 eSE가 통합된 형태인 SSP(Smart Secure Platform)등으로 나뉠 수 있으며, 전자 장치에 연결 또는 설치되는 형태에 따라 탈착식(Removable), 고정식(Embedded), 그리고 특정 소자 또는 SoC(system on chip)에 통합되는 통합식(Integrated)으로 세분화 될 수 있다.
UICC(Universal Integrated Circuit Card)는 이동 통신 단말기 등에 삽입하여 사용하는 스마트카드(smart card)이고 UICC 카드라고도 부른다. UICC에는 이동통신사업자의 망에 접속하기 위한 접속 제어 모듈이 포함될 수 있다. 접속 제어 모듈의 예로는 USIM(Universal Subscriber Identity Module), SIM(Subscriber Identity Module), ISIM(IP Multimedia Service Identity Module) 등이 있다. USIM이 포함된 UICC를 통상 USIM 카드라고 부르기도 한다. 마찬가지로 SIM 모듈이 포함된 UICC를 통상적으로 SIM카드라고 부르기도 한다. 한편, SIM 모듈은 UICC 제조시 탑재되거나 사용자가 원하는 시점에 사용하고자 하는 이동통신 서비스의 SIM 모듈을 UICC 카드에 다운로드 받을 수 있다. UICC 카드는 또한 복수개의 SIM 모듈을 다운로드 받아서 설치하고 그 중의 적어도 한 개의 SIM 모듈을 선택하여 사용할 수 있다. 이러한 UICC 카드는 단말에 고정하거나 고정하지 않을 수 있다. 단말에 고정하여 사용하는 UICC를 eUICC(embedded UICC)라고 하며, 특히 단말의 통신 프로세서(Communication Processor), 어플리케이션 프로세서(Application Processor) 또는 이 두 프로세서가 통합된 단일 프로세서 구조를 포함하는 System-On-Chip(SoC)에 내장된 UICC를 iUICC(Integrated UICC)라고 칭하기도 한다. 통상적으로 eUICC와 iUICC는 단말에 고정하여 사용하고, 원격으로 SIM 모듈을 다운로드 받아서 선택할 수 있는 UICC 카드를 의미할 수 있다. 본 개시에서는 원격으로 SIM 모듈을 다운로드 받아 선택할 수 있는 UICC 카드를 eUICC 또는 iUICC로 통칭한다. 즉 원격으로 SIM 모듈을 다운로드 받아 선택할 수 있는 UICC 카드 중 단말에 고정하거나 고정하지 않는 UICC 카드를 통칭하여 eUICC 또는 iUICC로 사용한다. 또한 다운로드 받는 SIM 모듈정보를 통칭하여 eUICC 프로파일 또는 iUICC 프로파일, 또는 더 간단히 프로파일 이라는 용어로 사용한다.
eSE(Embedded Secure Element)는 전자 장치에 고정하여 사용하는 고정식 SE를 의미한다. eSE는 통상적으로 단말 제조사의 요청에 의해 제조사 전용으로 제조되며, 운영체제와 프레임워크를 포함하여 제조 될 수 있다. eSE는 원격으로 애플릿 형태의 서비스 제어 모듈을 다운받아 설치하고 전자지갑, 티켓팅, 전자여권, 디지털키 등과 같은 다양한 보안 서비스 용도로 사용될 수 있다. 본 개시에서는 원격으로 서비스 제어 모듈을 다운로드 받아 설치할 수 있는 전자 장치에 부착된 단일 칩 형태의 SE를 eSE로 통칭한다.
SSP(Smart Secure Platform)은 UICC와 eSE의 기능을 단일 칩에서 통합 지원이 가능한 것으로, 탈착식(rSSP, Removable SSP), 고정식(eSSP, Embedded SSP) 그리고 SoC에 내장된 통합식(iSSP, Integrated SSP)으로 구분 될 수 있다. SSP는 하나의 프라이머리 플랫폼(PP, Primary Platform)과 PP상에서 동작하는 적어도 하나 이상의 세컨더리 플랫폼 번들(SPB, Secondary Platform Bundle)로 구성될 수 있으며, 프라이머리 플랫폼은 하드웨어 플랫폼과 low level Operating System(LLOS) 중 적어도 하나를 포함할 수 있고, 세컨더리 플랫폼 번들은 High-level Operating System(HLOS) 및 HLOS 위에서 구동되는 애플리케이션 중 적어도 하나를 포함할 수 있다. 세컨더리 플랫폼 번들은 SPB 또는 번들이라고 불리기도 한다. 번들은 PP가 제공하는 Primary Platform Interface (PPI)를 통해 PP의 중앙처리장치, 메모리 등을 자원에 접근하고 이를 통해 PP상에서 구동될 수 있다. 번들에는 SIM(Subscriber Identification Module), USIM(Universal SIM), ISIM(IP Multimedia SIM)등의 통신 어플리케이션이 탑재될 수 있으며, 또한 전자지갑, 티켓팅, 전자여권, 디지털 키 등과 같은 다양한 응용 어플리케이션이 탑재될 수 있다.
SSP는 원격에서 다운로드 되고 설치되는 번들에 따라서 상기 기술된 UICC 또는 eSE 용도로 사용될 수 있으며, 복수개의 번들을 단일 SSP에 설치하고 동시에 운영하여 UICC와 eSE의 용도를 혼용할 수 있다. 즉, 프로파일을 포함하는 번들이 SSP에서 동작하는 경우 SSP는 이동통신사업자의 망에 접속하기 위한 UICC 용도로 사용 될 수 있다. 해당 UICC 번들은 eUICC 또는 iUICC와 같이 적어도 하나 이상의 프로파일을 원격으로 번들 내로 다운로드 받아 선택하여 동작할 수 있다. 또한, SSP상에서 전자지갑, 티켓팅, 전자여권 또는 디지털키 등의 서비스를 제공할 수 있는 응용 어플리케이션을 탑재한 서비스 제어 모듈을 포함하는 번들이 SSP에서 동작하는 경우 SSP는 eSE의 용도로 사용될 수 있다. 다수의 서비스 제어 모듈은 하나의 번들에 통합되어 설치되고 동작하거나, 각기 독립적인 번들로 설치되고 동작할 수 있다.
이하에서는 본 개시에서 사용되는 용어에 대해서 더 자세히 설명한다.
본 개시에서 SSP는 UICC와 eSE의 기능을 단일 칩에서 통합 지원이 할 수 있는, 탈착식(rSSP, Removable SSP), 고정식(eSSP, Embedded SSP) 그리고 SoC에 내장된 통합식(iSSP, Integrated SSP)으로 구분 될 수 있는 칩 형태의 보안 모듈이다. SSP는 OTA(Over The Air)기술을 이용하여 번들을 외부의 번들 관리 서버(Secondary Platform Bundle Manager, SPB Manager)로부터 다운받아 설치할 수 있다.
본 개시에서 SSP에 OTA 기술을 이용하여 번들을 다운받아 설치하는 방법은 단말에 삽입 및 탈거가 가능한 착탈식 SSP(rSSP), 단말에 설치되는 고정식 SSP(eSSP), 단말에 설치되는 SoC내부에 포함되는 통합식 SSP(iSSP)에 동일하게 적용될 수 있다.
본 개시에서 용어 UICC는 SIM과 혼용될 수 있고, 용어 eUICC는 eSIM과 혼용될 수 있다.
본 개시에서 세컨더리 플랫폼 번들(SPB, Secondary Platform Bundle) 은 SSP의 프라이머리 플랫폼(PP, Primary Plaform) 상에서 PP의 리소스를 사용하여 구동되는 것으로, 예를 들면 UICC 번들은 기존 UICC 내에 저장되는 어플리케이션, 파일시스템, 인증키 값 등과 이들이 동작하는 운영체체(HLOS)를 소프트웨어 형태로 패키징 한 것을 의미할 수 있다.
본 개시에서 USIM Profile은 프로파일과 동일한 의미 또는 프로파일 내 USIM 어플리케이션에 포함된 정보를 소프트웨어 형태로 패키징 한 것을 의미할 수 있다.
본 개시에서 단말 또는 외부 서버가 번들을 활성화(enable)하는 동작은, 해당 프로파일의 상태를 활성화 상태(enabled)로 변경하여 단말이 해당 번들이 제공하는 서비스(예를 들어, 통신사업자를 통해 통신서비스, 신용카드 결제 서비스, 사용자 인증 서비스 등)를 받을 수 있도록 설정하는 동작을 의미할 수 있다. 활성화 상태의 번들은 "활성화된 번들 (enabled Bundle)"로 표현될 수 있다. 활성화 상태의 번들은 SSP 내부 또는 외부의 저장공간에 암호화된 상태로 저장되어 있을 수 있다.
본 개시에서 활성화된 번들은 번들 외부 입력(예를 들어, 사용자 입력, 푸쉬, 단말 내 어플리케이션의 요청, 통신 사업자의 인증 요청, PP 관리 메시지 등) 또는 번들 내부의 동작(예를 들어, 타이머, Polling)에 따라 구동 상태(Active)로 변경될 수 있다. 구동 상태의 번들은 SSP 내부 또는 외부의 저장공간에서 SSP 내부의 구동 메모리에 로딩되고 SSP 내부의 보안 제어 장치 (Secure CPU)를 이용하여 보안 정보를 처리하고 단말에 보안 서비스를 제공하는 것을 의미 할 수 있다.
본 개시에서 단말 또는 외부 서버가 번들을 비활성화(disable)하는 동작은, 해당 번들의 상태를 비활성화 상태(disabled)로 변경하여 단말이 해당 번들이 제공하는 서비스를 받을 수 없도록 설정하는 동작을 의미할 수 있다. 비활성화 상태의 프로파일은 "비활성화된 번들(disabled Bundle)"로 표현될 수 있다. 활성화 상태의 번들은 SSP 내부 또는 외부의 저장공간에 암호화된 상태로 저장되어 있을 수 있다.
본 개시에서 단말 또는 외부 서버가 번들을 삭제(delete)하는 동작은, 해당 번들의 상태를 삭제 상태(deleted)로 변경하여 단말 또는 외부 서버가 더 이상 해당 번들을 활성화 또는 비활성화할 수 없도록 설정하는 동작을 의미할 수 있다. 삭제 상태의 번들은 "삭제된 번들(deleted Bundle)"로 표현될 수 있다.
본 개시에서 번들 관리 서버는 서비스 제공자(Service Provider) 또는 다른 번들 관리 서버의 요청에 의해 번들을 생성하거나, 생성된 번들을 암호화 하거나, 번들 원격관리 명령어를 생성하거나, 생성된 번들 원격관리 명령어를 암호화하는 기능을 제공할 수 있다. 전술한 기능을 제공하는 번들 관리 서버는 SPB Manager (Secondary Platform Bundle Manager), RBM(Remote Bundle Manager), IDS(Image Delivery Server), SM-DP(Subscription Manager Data Preparation), SM-DP+(Subscription Manager Data Preparation plus), 관리자 번들 서버, Managing SM-DP+(Managing Subscription Manager Data Preparation plus), 번들 암호화 서버, 번들 생성서버, 번들 제공자(Bundle Provisioner, BP), 번들 공급자(Bundle Provider), BPC holder(Bundle Provisioning Credentials holder) 중 적어도 하나로 표현될 수 있다.
본 개시에서 번들 관리 서버는 SSP에서 번들을 다운로드, 설치 또는 업데이트하고 번들의 상태를 원격 관리하기 위한 키 및 인증서를 설정을 관리하는 역할을 수행할 수 있다. 전술한 기능을 제공하는 번들 관리 서버는 SPBM(Secondary Platform Bundle Manager), RBM(Remote Bundle Manager), IDS(Image Delivery Server), SM-SR(Subscription Manager Secure Routing), SM-SR+(Subscription Manager Secure Routing Plus), off-card entity of eUICC Profile Manager 또는 PMC holder(Profile Management Credentials holder), EM(eUICC Manager) 중 적어도 하나로 표현될 수 있다.
본 개시에서 개통중개서버는 SPBM(Secondary Platform Bundle Manager), RBM(Remote Bundle Manager), SPBDS(Secondary Platform Bundle Discovery Sever), BDS(Bundle Discovery Sever), SM-DS(Subscription Manager Discovery Service), DS(Discovery Service), 근원개통중개서버(Root SM-DS), 대체개통중개서버(Alternative SM-DS) 중 적어도 하나로 표현될 수 있다. 개통중개서버는 하나 이상의 번들 관리 서버 내지 개통중개서버로부터 이벤트 등록 요청(Register Event Request, Event Register Request)을 수신할 수 있다. 또한 하나 이상의 개통중개서버가 복합적으로 사용될 수 있으며, 이 경우 제1 개통중개서버는 번들 관리 서버뿐만 아니라 제2 개통중개서버로부터 이벤트 등록 요청을 수신할 수도 있다. 본 개시에서 개통중개서버의 기능은 번들 관리 서버에 통합될 수 있다.
본 개시에서 번들 관리 서버는 번들 또는 번들 원격 관리 명령어를 생성하고 암호화 하여 전달하는 기능과 SSP의 설정 및 설치된 번들을 관리하는 기능을 합친 것을 통칭하는 것일 수도 있다. 또한 개통중개서버 기능을 합친 것을 통칭하는 것 일 수도 있다. 따라서 이하 본 개시의 다양한 실시 예에서 번들 관리 서버 및 개통 중개서버의 동작은 하나의 번들 관리 서버 에서 이루어질 수도 있다. 또한 각 기능은 서로 분리된 다수의 번들 관리 서버에서 나누어 수행될 수도 있다. 또한, 본 개시의 명세서에서 번들 관리 서버 또는 개통중개서버는 번들 서버로 표현될 수 있다. 번들 서버는 번들 관리 서버, 개통중개서버 중 하나 일 수 있고 번들 관리 서버와 개통중개서버 모두 포함하는 장치일 수도 있다.
본 게시에서 번들 관리 서버, 개통중개서버는 SPBM 또는 RBM이라는 명칭으로 통칭될 수 있다. 또한 번들 서버는 번들 관리 서버로 지칭될 수 있다.
본 개시에서 사용하는 용어 '단말'은 이동국(MS), 사용자 장비(UE; User Equipment), 사용자 터미널(UT; User Terminal), 무선 터미널, 액세스 터미널(AT), 터미널, 가입자 유닛(Subscriber Unit), 가입자 스테이션(SS; Subscriber Station), 무선 기기(wireless device), 무선 통신 디바이스, 무선 송수신 유닛(WTRU; Wireless Transmit/Receive Unit), 이동 노드, 모바일 또는 다른 용어들로서 지칭될 수 있다. 단말의 다양한 실시 예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있다. 또한, 단말은 M2M(Machine to Machine) 단말, MTC(Machine Type Communication) 단말/디바이스를 포함할 수 있으나, 이에 한정되는 것은 아니다. 본 개시에서 단말은 전자 장치라 지칭할 수도 있다.
본 개시에서 전자 장치에는 번들을 다운로드 하여 설치 가능한 SSP가 내장될 수 있다. SSP가 전자 장치에 내장되지 않은 경우, 물리적으로 전자 장치와 분리된 SSP는 전자 장치에 삽입되어 전자 장치와 연결될 수 있다. 예를 들어, SSP는 카드 형태로 전자 장치에 삽입될 수 있다. 전자 장치는 단말을 포함할 수 있고, 이때, 단말은 번들을 다운로드하여 설치 가능한 SSP를 포함하는 단말일 수 있다. SSP는 단말에 내장될 수 있을 뿐만 아니라, 단말과 SSP가 분리된 경우 SSP는 단말에 삽입될 수 있고, 단말에 삽입되어 단말과 연결될 수 있다.
본 개시에서 단말 또는 전자 장치는 SSP를 제어하도록 단말 또는 전자 장치 내에 설치된 소프트웨어 또는 애플리케이션을 포함할 수 있다. 소프트웨어 또는 애플리케이션은, 예를 들어 Local Bundle Assistant(LBA) 또는 Local Bundle Manager(LBM)라 지칭할 수 있다.
본 개시에서 번들 구분자는 번들 식별자(SPB ID), 번들 패밀리 식별자(SPB Family ID), 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID), 번들 Matching ID, 이벤트 식별자(Event ID)와 매칭되는 인자로 지칭될 수 있다. 번들 식별자(SPB ID)는 각 번들의 고유 식별자를 나타낼 수 있다. 번들 패밀리 식별자는 번들 (예를 들어, 이동통신사 망 접속을 위한 텔레콤 번들)의 종류를 구분하는 식별자를 나타낼 수 있다. 본 개시에서 번들 패밀리 식별자는 spbFamilyId로 지칭될 수 있다. 번들 패밀리 관리자 식별자는 번들 패밀리 식별자를 관리는 주체 (예를 들어, 통신사업자, 단말제조사, 특정 단체 등)를 구분하는 식별자를 나타낼 수 있다. 본 개시에서 번들 패밀리 관리자 식별자는 Oid로 지칭될 수 있다. 번들 구분자는 번들 관리 서버에서 번들을 색인할 수 있는 값으로 사용될 수 있다. 본 개시에서 SSP 식별자(SSP ID)는, 단말에 내장된 SSP의 고유 식별자일 수 있고, sspID로 지칭될 수 있다. 또한 본 개시의 실시 예에서와 같이 단말과 SSP 칩이 분리되지 않을 경우에는 단말 ID일 수 있다. 또한, SSP 내의 특정한 번들 식별자(SPB ID)를 지칭할 수도 있다. 좀더 자세히는 SSP에서 다른 번들을 설치하고 활성화, 비활성화, 삭제를 관리하는 관리 번들 또는 로더(SPBL, Secondary Platform Bundle Loader)의 번들 식별자를 지칭 할 수도 있다. SSP는 복수개의 SSP 식별자를 가질 수 도 있으며, 복수개의 SSP 식별자는 고유한 단일의 SSP 식별자로부터 유도된 값일 수 있다.
본 개시에서 로더(SPBL, Secondary Platform Bundle Loader)는 SSP에서 다른 번들을 설치하고 활성화, 비활성화, 삭제를 관리하는 관리 번들을 지칭할 수 있다. 단말의 LBA 또는 원격의 서버는 로더를 통해 특정 번들을 설치, 활성화, 비활성화, 삭제할 수 있다. 본 개시에서 로더는 SSP로도 지칭될 수 있다.
본 개시에서 BPC(Bundle Provisioning Credentials)는 번들 관리 서버와 SSP간 상호 인증 및 번들 암호화, 서명을 하는데 이용되는 수단일 수 있다. BPC는 대칭키, RSA(Rivest Shamir Adleman) 인증서와 개인키, ECC(elliptic curved cryptography) 인증서와 개인키, 최상위 인증 기관(Root certification authority(CA)) 및 인증서 체인(chain) 중 하나 이상을 포함할 수 있다. 또한 번들 관리 서버가 복수 개인 경우에는 복수 개의 번들 관리 서버 별로 다른 BPC를 SSP에 저장하거나 사용할 수 있다.
본 개시에서 PMC(Profile Management Credentials)는 프로파일 관리 서버와 eUICC 간 상호 인증 및 전송 데이터 암호화, 서명을 하는데 이용되는 수단일 수 있다. PMC는 대칭키, RSA 인증서와 개인키, ECC 인증서와 개인키, Root CA 및 인증서 체인 중 하나 이상을 포함할 수 있다. 또한 프로파일 관리 서버가 복수 개인 경우에는 복수 개의 프로파일 관리 서버 별로 다른 PMC를 eUICC에 저장하거나 사용할 수 있다.
본 개시에서 이벤트(Event)는 번들 다운로드(Bundle Download), 또는 원격 번들 관리(Remote Bundle Management), 또는 기타 번들이나 SSP의 관리/처리 명령어를 통칭하는 용어일 수 있다. 이벤트(Event)는 원격 Bundle 제공 동작(Remote Bundle Provisioning Operation, 또는 RBP 동작, 또는 RBP Operation) 또는 이벤트 기록(Event Record)으로 명명될 수 있으며, 각 이벤트(Event)는 그에 대응하는 이벤트 식별자(Event Identifier, Event ID, EventID) 또는 매칭 식별자(Matching Identifier, Matching ID, MatchingID)와, 해당 이벤트가 저장된 번들 관리 서버 또는 개통중개서버의 주소(FQDN, IP Address, 또는 URL) 또는 각 서버 식별자를 적어도 하나 이상 포함하는 데이터로 지칭될 수 있다. 번들 다운로드(Bundle Download)는 번들 설치(Bundle Installation)와 혼용될 수 있다. 또한 이벤트 종류(Event Type)는 특정 이벤트가 번들 다운로드인지 원격 번들 관리(예를 들어, 삭제, 활성화, 비활성화, 교체, 업데이트 등)인지 또는 기타 번들이나 SSP 관리/처리 명령인지를 나타내는 용어로 사용될 수 있으며, 동작 종류(Operation Type 또는 OperationType), 동작 분류(Operation Class 또는 OperationClass), 이벤트 요청 종류(Event Request Type), 이벤트 분류(Event Class), 이벤트 요청 분류(Event Request Class) 등으로 명명될 수 있다.
본 개시에서 번들 이미지(Bundle Image, 또는 Image)는 번들과 혼용되거나 특정 번들의 데이터 객체(data object)를 나타내는 용어로 사용될 수 있으며, 번들 TLV 또는 번들 이미지 TLV(Bundle Image TLV)로 명명될 수 있다. 번들 이미지가 암호화 파라미터를 이용해 암호화된 경우 보호된 번들 이미지 (Protected Bundle Image(PBI)) 또는 보호된 번들 이미지 TLV (PBI TLV)로 명명될 수 있다. 번들 이미지가 특정 SSP에 의해서만 복호화 가능한 암호화 파라미터를 이용해 암호화된 경우 묶인 번들 이미지(Bound Bundle Image(BBI)) 또는 묶인 번들 이미지 TLV(BBI TLV)로 명명될 수 있다. 번들 이미지 TLV는 TLV(Tag, Length, Value) 형식으로 프로파일을 구성하는 정보를 표현하는 데이터 세트(set) 일 수 있다.
본 개시에서 로컬 번들 관리(Local Bundle Management, LBM)는 번들 로컬관리(Bundle Local Management), 로컬관리(Local Management), 로컬관리 명령(Local Management Command), 로컬 명령(Local Command), 로컬 번들 관리 패키지(LBM Package), 번들 로컬 관리 패키지(Bundle Local Management Package), 로컬관리 패키지(Local Management Package), 로컬관리 명령 패키지(Local Management Command Package), 로컬명령 패키지(Local Command Package)로 명명될 수 있다. LBM은 단말에 설치된 소프트웨어 등을 통해 특정 번들의 상태(Enabled, Disabled, Deleted)를 변경하거나, 특정 번들의 내용(예를 들면, 번들의 별칭(Bundle Nickname), 또는 번들 요약 정보(Bundle Metadata) 등)을 변경(update)하는 용도로 사용될 수 있다. LBM은 하나 이상의 로컬관리명령을 포함할 수도 있으며, 이 경우 각 로컬관리명령의 대상이 되는 번들은 로컬관리명령마다 서로 같거나 다를 수 있다.
본 개시에서 원격 번들 관리(Remote Bundle Management, RBM)는 번들 원격관리(Bundle Remote Management), 원격관리(Remote Management), 원격관리 명령(Remote Management Command), 원격 명령(Remote Command), 원격 번들 관리 패키지(RBM Package), 번들 원격 관리 패키지(Bundle Remote Management Package), 원격관리 패키지(Remote Management Package), 원격관리 명령 패키지(Remote Management Command Package), 원격명령 패키지(Remote Command Package)로 명명될 수 있다. RBM은 특정 번들의 상태(Enabled, Disabled, Deleted)를 변경하거나, 특정 번들의 내용(예를 들면, 번들의 별칭(Bundle Nickname), 또는 번들 요약 정보(Bundle Metadata) 등)을 변경(update)하는 용도로 사용될 수 있다. RBM은 하나 이상의 원격관리명령을 포함할 수도 있으며, 각 원격관리명령의 대상이 되는 번들은 원격관리명령마다 서로 같거나 다를 수 있다.
본 개시에서 목표 번들(target Bundle)은 로컬관리명령 내지 원격관리명령의 대상이 되는 번들을 지칭하는 용어로 사용될 수 있다.
본 개시에서 인증서(Certificate) 또는 디지털 인증서(Digital Certificate)는 공개 키(Public Key, PK)와 비밀 키(Secret Key, SK)의 쌍으로 구성되는 비대칭 키(Asymmetric Key) 기반의 상호 인증(Mutual Authentication)에 사용되는 디지털 인증서(Digital Certificate)를 나타낼 수 있다. 각 인증서는 하나 또는 하나 이상의 공개 키(Public Key, PK)와, 각 공개 키에 대응하는 공개 키 식별자(Public Key Identifier, PKID)와, 해당 인증서를 발급한 인증서 발급자(Certificate Issuer, CI)의 식별자(Certificate Issuer ID) 및 디지털 서명(Digital Signature)을 포함할 수 있다. 또한 인증서 발급자(Certificate Issuer)는 인증 발급자(Certification Issuer), 인증서 발급기관(Certificate Authority, CA), 인증 발급기관(Certification Authority) 등으로 명명될 수 있다. 본 개시에서 공개 키(Public Key, PK)와 공개 키 식별자(Public Key ID, PKID)는 특정 공개 키 내지 해당 공개 키가 포함된 인증서, 또는 특정 공개 키의 일부분 내지 해당 공개 키가 포함된 인증서의 일부분, 또는 특정 공개 키의 연산 결과(예를 들면, 해시(Hash))값 내지 해당 공개 키가 포함된 인증서의 연산 결과(예를 들면, 해시(Hash))값, 또는 특정 공개 키의 일부분의 연산 결과(예를 들면, 해시(Hash))값 내지 해당 공개 키가 포함된 인증서의 일부분의 연산 결과(예를 들면, 해시(Hash))값, 또는 데이터들이 저장된 저장 공간을 지칭하는 동일한 의미로 혼용될 수 있다.
본 개시에서 하나의 인증서 발급자(Certificate Issuer)가 발급한 인증서들(1차 인증서)이 다른 인증서(2차 인증서)를 발급하는데 사용되거나, 2차 인증서들이 3차 이상의 인증서들을 연계적으로 발급하는데 사용되는 경우, 해당 인증서들의 상관관계는 인증서 연쇄(Certificate Chain) 또는 인증서 계층구조(Certificate Hierarchy)로 명명될 수 있으며, 이 때 최초 인증서 발급에 사용된 CI 인증서는 인증서 근원(Root of Certificate), 최상위 인증서, 근원 CI(Root CI), 근원 CI 인증서(Root CI Certificate), 근원 CA(Root CA) 근원 CA 인증서(Root CA Certificate)등으로 명명될 수 있다.
본 개시에서 서비스 제공자(Service Provider)는 번들 관리 서버에 요구사항을 발행하여 번들 생성을 요청하고, 해당 번들을 통해 단말에 서비스를 제공하는 사업체를 나타낼 수 있다. 예를 들면, 통신 어플리케이션이 탑재된 번들 통해 통신망 접속 서비스를 제공하는 통신사업자(Mobile Operator)를 나타낼 수 있으며, 통신사업자의 사업지원시스템(Business Supporting System, BSS), 운영지원시스템(Operational Supporting System, OSS), POS 단말(Point of Sale Terminal), 그리고 기타 IT 시스템을 모두 통칭할 수 있다. 또한 본 개시에서 서비스 제공자는 특정 사업체를 하나만 표현하는데 한정되지 않고, 하나 이상의 사업체의 그룹 또는 연합체(association 또는 consortium) 내지 해당 그룹 또는 연합체를 대표하는 대행사(representative)를 지칭하는 용어로 사용될 수도 있다. 또한 본 개시에서 서비스 제공자는 사업자(Operator 또는 OP 또는 Op.), 번들 소유자(Bundle Owner, BO), 이미지 소유자(Image Owner, IO) 등으로 명명될 수 있으며, 각 서비스 제공자는 이름 그리고/또는 고유 식별자(Object Identifier, OID)를 적어도 하나 이상 설정하거나 할당 받을 수 있다. 만일 서비스 제공자가 하나 이상의 사업체의 그룹 또는 연합체 또는 대행사를 지칭하는 경우, 임의의 그룹 또는 연합체 또는 대행사의 이름 또는 고유 식별자는 해당 그룹 또는 연합체에 소속한 모든 사업체 내지 해당 대행사와 협력하는 모든 사업체가 공유하는 이름 또는 고유 식별자일 수 있다.
본 개시에서 AKA는 인증 및 키 합의(Authentication and Key agreement) 를 나타낼 수 있으며, 3GPP 및 3GPP2망에 접속하기 위한 인증 알고리즘을 나타낼 수 있다.
본 개시에서 K(또는 K값)는 AKA 인증 알고리즘에 사용되는 eUICC에 저장되는 암호키 값일 수 있다.
본 개시에서 OPc는 AKA 인증 알고리즘에 사용되는 eUICC에 저장될 수 있는 파라미터 값일 수 있다.
본 개시에서 NAA는 네트워크 접속 어플리케이션(Network Access Application) 응용프로그램으로, UICC에 저장되어 망에 접속하기 위한 USIM 또는 ISIM과 같은 응용프로그램일 수 있다. NAA는 망접속 모듈일 수 있다.
본 개시에서 텔레콤 번들은 적어도 하나의 NAA를 탑재하거나, 원격에서 적어도 하나의 NAA 다운로드 하고 설치할 수 있는 기능을 탑재하고 있는 번들 일 수 있다. 본 개시에서 텔레콤 번들은 이를 지칭하는 텔레콤 번들 식별자를 포함할 수 있다.
그리고, 본 개시를 설명함에 있어서, 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.
이하에서는 원격 서버를 통해 온라인으로 번들을 설치하고 관리하는 방법 및 장치에 다양한 실시 예들을 설명한다.
도 1은 본 개시의 일부 실시 예에 따른 프로파일을 탑재한 텔레콤 번들이 탑재된 SSP를 이용한 단말의 이동통신 네트워크 연결방법을 도시하는 도면이다.
도 1에서 도시된 바와 같이, SSP(120)는 단말(110)의 SoC(130)에 내장될 수 있다. 이 때, SoC(130)는 통신 프로세서(Communication Processor), 어플리케이션 프로세서(Application Processor) 또는 이 두 프로세서가 통합된 프로세서일 수 있다. 또한, SSP(120)는 SoC에 통합되지 않고 독립된 칩 형태로 착탈형(122)일 수도 있고, 단말(110)에 미리 내장된 내장형(124)일 수도 있다.
프로파일이 탑재된 번들은 특정 통신사에 접속할 수 있는 '접속 정보'를 포함하고 있음을 의미할 수 있다. 예를 들면, 접속 정보는 가입자 구분자인 IMSI(International Mobile Subscriber Identity) 및 가입자 구분자와 함께 망에 인증하는데 필요한 K 또는 Ki 값일 수 있다.
단말(110)은 SSP(120)내에 설치된 텔레콤 번들(140, 150) 중 적어도 하나를 이용하여 이동통신사의 인증 처리 시스템(예를 들면, HLR(Home Location Register) 이나 AuC(Authentication Center))과 인증을 수행할 수 있다. 예를 들면, 인증과정은 AKA(Authentication and Key Agreement) 과정일 수 있다. 단말(110)은 인증에 성공하면 이동통신 시스템의 이동통신 네트워크(160)를 이용하여 전화나 모바일 데이터 이용 등의 이동통신 서비스를 이용할 수 있다. 두 텔레콤 번들(140, 150)은 각각 서로 다른 인증 정보를 저장할 수 있으며, 단말(110)은 설정에 따라 두 텔레콤 번들(140, 150)을 동시 또는 시분할로 동작하게 하여 이동통신 네크워크를 이용할 수 있다.
또한, 단말(110)은 SSP(120)내에 설치된 페이먼트 번들(170)을 이용하여 단말 앱을 통한 온라인 결제 또는 외부 신용카드
PoS (Point of Sale) 기기를 통한 오프라인 결제를 이용할 수 있으며, 전자신분증 번들(180)을 이용하여 단말 소유자의 신분을 인증할 수 있다.
도 2는 본 개시의 일부 실시 예에 따른 SSP(Smart Secure Platform)의 내부 구조에 대한 개념도를 나타내고 있다.
도 2에서 SSP(210)는 하나의 프라이머리 플랫폼(Primary Platform, PP)(220)과 그 위에서 동작하는 적어도 하나 이상의 세컨더리 플랫폼 번들(Secondary Platform Bundle, SPB)(230, 240)로 구성될 수 있다. 프라이머리 플랫폼(220)은 하드웨어(개시되지 않음)와 적어도 하나 이상의 하위계층 운영체제(low level Operating System, LLOS)(222)를 포함할 수 있다. 세컨더리 플랫폼 번들(230)은 상위계층 운영체제(High-level Operating System, HLOS)(232)와 그 위에서 동작하는 적어도 하나 이상의 애플리케이션(234)을 포함할 수 있다. 각 세컨더리 플랫폼 번들(230, 240)은 프라이머리 플랫폼 인터페이스(Primary Platform Interface, PPI)(250)를 이용하여 프라머리 플랫폼(220)의 중앙처리장치, 메모리 등을 자원에 접근하고 이를 통해 SSP(210)에서 구동될 수 있다.
도 3은 본 개시의 일부 실시 예에 따른 인증서 발급자(Certificate Issuer, CI)가 발급한 인증서의 계층구조(Certificate Hierarchy 또는 Certificate Chain), 각 인증서에 포함된 공개 키(Public Key) 및 인증서 발급자(Certificate Issuer, CI)의 디지털 서명(Digital Signature) 구성의 예를 나타내는 도면이다. 본 개시에서 인증서 발급자(CI)는 인증서는 인증기관(Certificate Authority, CA)와 혼용될 수 있다.
도 3를 참조하면, 인증서 발급자(Certificate Issuer, CI)는 자신이 사용할 공개 키(Public Key, 313)와 비밀 키(Secret Key)를 생성하고, 이 중 공개 키(Public Key, 313)를 자신의 인증서에 포함하여 CI 인증서(Certificate Issuer Certificate, CI Certificate, 311)를 생성하고, 자신의 인증서에 자신의 비밀 키(Secret Key)를 이용해 생성한 디지털 서명(Digital Signature, 315)을 인증서에 첨부할 수 있다.
또한, 도 3를 참조하면, CI 인증서(311)는 객체1의 인증서(331)를 발급(391)하는데 이용될 수 있다. 객체1은, 예를 들면, 번들 관리 서버(SPBM)일 수 있다. 객체1은 자신이 사용할 공개 키(Public Key, 333)와 비밀 키(Secret Key)를 생성하고, 이 중 공개 키(Public Key, 333)를 자신의 인증서에 포함하여 객체1 인증서(331)를 생성할 수 있다. 객체1은 인증서 발급자(Certificate Issuer, CI)에게 요청하여 인증서 발급자의 비밀 키(CI Secret Key)를 이용해 인증서 발급자의 디지털 서명(CI Digital Signature, 335)을 받을 수 있다. 이 때 객체1 인증서(331)는, 해당 인증서에 포함된 인증서 발급자의 디지털 서명(335)을 확인할 때 사용되어야 하는 인증서 발급자의 공개 키(CI Public Key, 313)에 대응하는 인증서 발급자의 식별자(337)를 포함할 수 있다. 인증서 발급자의 식별자(337)는 인증서 발급자의 공개키 식별자(CI Public Key ID), CI 식별자(CI ID, CI Object ID, Object Universally Unique Identifier, Object UUID) 중 적어도 하나를 포함할 수 있다.
또한, 도 3를 참조하면, CI 인증서(311)는 객체2의 인증서(351)를 발급(393)하는데 이용될 수 있다. 객체2는, 예를 들면, SSP 제조사(SSP Maker)일 수 있다. 객체2는 자신이 사용할 공개 키(Public Key, 353)와 비밀 키(Secret Key)를 생성하고, 이 중 공개 키(Public Key, 353)를 자신의 인증서에 포함하여 객체2 인증서(351)를 생성할 수 있다. 객체2는 인증서 발급자(Certificate Issuer)에게 요청하여 인증서 발급자의 비밀 키(CI Secret Key)를 이용해 인증서 발급자의 디지털 서명(CI Digital Signature, 355)을 받을 수 있다. 이 때, 객체2 인증서(351)는, 해당 인증서에 포함된 인증서 발급자의 디지털 서명(355)을 확인할 때 사용되어야 하는 인증서 발급자의 공개 키(CI Public Key, 313)에 대응하는 인증서 발급자의 식별자(357)를 포함할 수 있다. 인증서 발급자의 식별자(357)는 인증서 발급자의 공개키 식별자(CI Public Key ID), CI 식별자(CI ID, CI Object ID, Object Universally Unique Identifier, Object UUID) 중 적어도 하나를 포함할 수 있다. 객체1 인증서(331)와 객체2 인증서(351)에 포함된 인증서 발급자 서명들(335 및 355)은 서로 다른 값일 수 있으나, 인증서 발급자의 공개 키 식별자(357)는 동일한 값일 수 있다.
또한, 도 3를 참조하면, 객체2의 인증서(351)는 객체3의 인증서(371)를 발급(395)하는데 이용될 수 있다. 객체3은, 예를 들면, SSP 제조사(SSP Maker)가 제조한 SSP 또는 SSP 내부에 탑재된 세컨더리 플랫폼 번들 로더(SPBL)일 수 있다. 객체3는 자신이 사용할 공개 키(Public Key, 373)와 비밀 키(Secret Key)를 생성하고, 이 중, 공개 키(Public Key, 373)를 자신의 인증서에 포함하여 객체3 인증서(351)를 생성할 수 있다. 객체3는 객체2에게 요청하여 객체2의 비밀 키(Secret Key)를 이용해 객체2의 디지털 서명(Digital Signature, 375)을 받을 수 있다. 이 때, 객체3 인증서(271)는, 해당 인증서에 포함된 객체2의 서명(375)을 확인할 때 사용되어야 하는 객체2의 공개 키(Public Key, 253)에 대응하는 식별자(377)를 포함할 수 있다. 식별자(377)는 발급자의 공개키 식별자(Public Key ID), 발급자 식별자(Object ID, Object Universally Unique Identifier, Object UUID) 중 적어도 하나를 포함할 수 있다.
또한, 도 3에는 도시되지 않았으나, 인증서 발급자(CI)와 객체 1 및 객체 2 사이에는 적어도 하나 이상의 인증서 부발급자(Sub Certificate Issuer, Sub CI, 또는 Sub Certificate Authority, Sub CA)가 존재할 수 있다. 부발급자 인증서는 인증서 발급자(CI)가 CI 인증서(311)를 이용하여 발급하거나, 또는 다른 인증서 부발급자가 자신의 부발급자 인증서를 이용하여 발급할 수 있다. 인증서 부발급자는 자신의 부발급자 인증서를 이용하여 객체 1 또는 객체 2 인증서를 발급할 수 있다.
또한, 도 3에는 도시되지 않았으나, 객체 2와 객체 3 사이에는 적어도 하나 이상의 인증서 부발급자(Sub Certificate Issuer, Sub CI, 또는 Sub Certificate Authority, Sub CA)가 존재할 수 있다. 부발급자 인증서는 객체 2가 객체 2 인증서(351)를 이용하여 발급하거나, 또는 다른 인증서 부발급자가 자신의 부발급자 인증서를 이용하여 발급할 수 있다. 인증서 부발급자는 자신의 부발급자 인증서를 이용하여 객체 3 객체 2 인증서를 발급할 수 있다.
도 3를 참조하면, 각 인증서들(311, 331, 351 또는 371)의 확장 설정값(317, 339, 359, 또는 379)은 해당 인증서로 다운로드 및 설치 할 수 있는 번들의 번들 패밀리 식별자(SPB Family ID) 또는 번들 패밀리 식별자(SPB Family ID)와 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID)를 포함할 수 있다.
도 3의 예에서 도시된 객체1 인증서(331), 객체2 인증서(351), 및 객체3 인증서(371)는 모두 동일한 CI 인증서(311)를 최상위 인증서 내지 인증서 근원(Root of Certificate)으로 가질 수 있다. 따라서 객체1, 객체2, 및 객체3이 서로를 인증하기 위해 CI 인증서(311) 내지는 그에 포함된 CI 공개 키(313)를 필요로 할 수 있다. 보다 구체적으로, 도 3의 예에서, 객체1과 객체2가 디지털 인증서 및 서명을 이용하여 서로를 인증하기 위해, 객체1은 객체2의 서명과 객체2 인증서(351)와 CI 공개 키(313)가 필요하고, 객체2는 객체1의 서명과 객체1 인증서(331)와 CI 공개 키(313)가 필요할 수 있다. 또한, 도 3의 예에서, 객체1과 객체3이 디지털 인증서 및 서명을 이용하여 서로를 인증하기 위해, 객체1은 객체3의 서명과 객체3 인증서(371)와 객체2 인증서(351)와 CI 공개 키(313)가 필요하고, 객체3은 객체1의 서명과 객체1 인증서(331)와 CI 공개 키 (313)가 필요할 수 있다. 이 때, 객체3 인증서(371)에 대해 객체2 인증서(351)는 인증서 부발급자(Sub Certificate Issuer, Sub CI, 또는 Sub Certificate Authority, Sub CA) 인증서로 명명될 수 있다.
도 4는 본 개시의 일부 실시 예에 따른 인증서 발급자(Certificate Issuer, CI)가 발급한 인증서의 계층구조(Certificate Hierarchy 또는 Certificate Chain), 각 인증서에 포함된 공개 키(Public Key) 및 인증서 발급자(Certificate Issuer, CI)의 디지털 서명(Digital Signature) 구성의 예를 나타내는 도면이다.
도 4를 참조하면, CI 인증서(421) 또는 객체2 인증서(451)는 연결 인증서(441)를 발급(497), (499)하는데 이용될 수 있다. 또한, CI 인증서(421)과 객체2 인증서(451), 그리고 객체2 인증서(451)과 객체3 인증서(471)사이에 존재할 수 있는 부발급자 인증서들(도시되지 않음)이 연결 인증서(441)를 발급하는데 이용될 수 있다. 연결 인증서(441)는 발급자의 비밀키(Secret Key)를 이용해 디지털 서명(Digital Signature, 445)를 받을 수 있다. 이 때, 연결 인증서(441)는, 해당 인증서에 포함된 서명(445)을 확인할 때 사용되어야 하는 발급자의 공개 키(Public Key)에 대응하는 식별자(447)를 포함할 수 있다. 식별자(447)는 발급자의 공개키 식별자(Public Key ID), 발급자 식별자(Object ID, Object Universally Unique Identifier, Object UUID) 중 적어도 하나를 포함할 수 있다. 연결 인증서(441)의 공개키(443)는 객체1 인증서(431)의 발급자 식별자(447)에 대응하는 값, 또는 CI 인증서(411)과 객체1 인증서(431)사이에 존재할 수 있는 부발급자 인증서들(도시되지 않음)의 발급자 식별자에 대응하는 값 일 수 있다. 연결 인증서(441)의 확장 설정값(449)는 해당 인증서로 객체1이 객체 3에 다운로드 할 수 있도록 발급자가 허가한 번들의 번들 패밀리 식별자(SPB Family ID) 또는 번들 패밀리 식별자(SPB Family ID)와 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID)를 포함할 수 있다.
도 4를 참조하면, 각 인증서들(411, 421, 431, 441, 451 또는 471)의 확장 설정값(417, 427, 439, 449, 459 또는 479)은 해당 인증서로 다운로드 및 설치 할 수 있는 번들의 번들 패밀리 식별자(SPB Family ID) 또는 번들 패밀리 식별자(SPB Family ID)와 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID)를 포함할 수 있다.
또한, 도 4에는 도시되지 않았으나, 인증서 발급자(CI)와 객체 1 및 객체 2 사이에는 적어도 하나 이상의 인증서 부발급자(Sub Certificate Issuer, Sub CI, 또는 Sub Certificate Authority, Sub CA)가 존재할 수 있다. 부발급자 인증서는 인증서 발급자(CI)가 CI 인증서(311)를 이용하여 발급하거나, 또는 다른 인증서 부발급자가 자신의 부발급자 인증서를 이용하여 발급할 수 있다. 인증서 부발급자는 자신의 부발급자 인증서를 이용하여 객체 1 또는 객체 2 인증서를 발급할 수 있다. 부발급자 인증서의 확장 설정값은 해당 인증서로 다운로드 및 설치 할 수 있는 번들의 번들 패밀리 식별자(SPB Family ID) 또는 번들 패밀리 식별자(SPB Family ID)와 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID)를 포함할 수 있다.
또한, 도 4에는 도시되지 않았으나, 객체 2와 객체 3 사이에는 적어도 하나 이상의 인증서 부발급자(Sub Certificate Issuer, Sub CI, 또는 Sub Certificate Authority, Sub CA)가 존재할 수 있다. 부발급자 인증서는 객체 2가 객체 2 인증서(351)를 이용하여 발급하거나, 또는 다른 인증서 부발급자가 자신의 부발급자 인증서를 이용하여 발급할 수 있다. 인증서 부발급자는 자신의 부발급자 인증서를 이용하여 객체 3 객체 2 인증서를 발급할 수 있다.
도 4를 참조하면, 도시된 객체1 인증서(431) 및 객체2 인증서(451)는 각각 서로 다른 CI 인증서(411), (421)를 최상위 인증서 내지 인증서 근원(Root of Certificate)으로 가질 수 있다. 따라서, 객체2 및 객체 3이 객체 1을 인증하기 위해 CI 인증서(411)와 내지는 그에 포함된 CI 공개 키(413)이 필요로 할 수 있다. 또한, 객체 1이 객체2 및 객체 3 을 인증하기 위해 CI 인증서(421)와 내지는 그에 포함된 CI 공개 키(423)이 필요로 할 수 있다. 보다 구체적으로, 도 4의 예에서, 객체1과 객체2가 디지털 인증서 및 서명을 이용하여 서로를 인증하기 위해, 객체1은 객체2의 서명과 객체2 인증서(451)와 CI 공개 키(423)가 필요하고, 객체2는 객체1의 서명과 객체1 인증서(431)와 CI 공개 키(413)가 필요할 수 있다. 또한, 도 3의 예에서, 객체1과 객체3이 디지털 인증서 및 서명을 이용하여 서로를 인증하기 위해, 객체1은 객체3의 서명과 객체3 인증서(471)와 객체2 인증서(451)와 CI 공개 키(423)가 필요하고, 객체3은 객체1의 서명과 객체1 인증서(431)와 CI 공개 키 (413)가 필요할 수 있다.
도 4를 참조하면, 객체 3이 객체 1을 인증하기 위해 연결 인증서(441)와 CI 인증서(421)와 내지는 그에 포함된 공개 키(423)가 필요할 수 있다. 보다 구체적으로, 도 4의 예에서, 객체3이 객체1의 디지털 인증서 및 서명을 이용하여 객체 1을 인증하기 위해, 객체3은 객체1의 서명과 객체1 인증서(431)와 연결 인증서(441) 및 CI 공개 키(423)가 필요할 수 있다. 또한, 객체 3이 객체 1을 인증하기 위해 연결 인증서(441), 객체 2 인증서(451) 및 CI 인증서(421)와 내지는 그에 포함된 공개 키(423)가 필요 할 수 있다. 보다 구체적으로 도 4의 예에서, 객체3이 객체1의 디지털 인증서 및 서명을 이용하여 객체 1을 인증하기 위해, 객체3은 객체1의 서명과 객체1 인증서(431), 연결 인증서(441), 객체2 인증서(451) 및 CI 공개 키(423)가 필요할 수 있다.
도 5는 본 개시의 일부 실시 예에 따른 단말이 SSP로 번들을 다운로드하고 설치하기 위한 단말 내, 외부 구성요소의 예를 도시하는 도면이다.
도 5에서 단말(510) 은 SSP(530)가 장착되고 SSP(530)을 제어하기 위한 LBA(512)가 설치된 단말일 수 있다. SSP(530)은 단말(510)에 내장되거나 착탈형 일 수도 있다. SSP(530)는 프라이머리 플랫폼(531), 세컨더리 플랫폼 번들 로더(Secondary Platform Bundle Loader, SPBL)(533), 그리고 하나 이상의 세컨더리 플랫폼 번들(535, 537, 또는 539)을 포함할 수 있다. 또한 세컨더리 플랫폼 번들(535, 537, 또는 539)은 단말 출하 시점에는 SSP(530)내부에 설치되지 않고, 출하 후 원격으로 다운로드 및 설치될 수 있다.
또한, 도 5를 참조하면, 각 번들은 서로 다른 번들 패밀리 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자(541, 또는 542)를 가질 수 있다. SSP(530) 또는 SPBL(533)은 서로 다른 번들 패밀리 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자를 가지는 번들을 다운로드하고 설치하는데 이용이 허용되는 인증서 설정(551)을 저장하고 관리할 수 있다. LBA(512)는 인증서 설정(551)을 SSP(530) 또는 SPBL(533)에 요청할 수 있으며, 인증서 설정은 LBA(512)에 복제되어 저장될 수 있다.
도 5를 참조하면, SSP(530) 또는 SPBL(533)은 서로 다른 패밀리 식별자와 서로 다른 번들 패밀리 관리자 식별자가 할당된 인증서 정보(552, 553, 또는 554)를 저장하고 관리 할 수 있다. 이러한 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당된 인증서 정보(552, 553, 또는 554)는 할당된 패밀리 식별자와 번들 패밀리 식별자를 포함하는 번들의 다운로드에 이용될 수 있다. SSP(530) 또는 SPBL(533)은 해당 인증서 정보(552, 553, 또는 554)에 할당된 패밀리 식별자와 번들 패밀식별자를 포함하지 않는 번들 다운로드 및 설치를 거부할 수 있다.
도 5를 참조하면, SSP(530) 또는 SPBL(533)은 서로 다른 번들 패밀리 식별자가 할당되며, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보(555 또는 556)를 저장하고 관리 할 수 있다. 패밀리 식별자가 할당된 인증서 정보(555 또는 556)은 할당된 패밀리 식별자를 포함하는 번들의 다운로드에 이용될 수 있다.
도 5를 참조하면, SSP(530) 또는 SPBL(533)은 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보(557)를 저장하고 관리 할 수 있다.
도 5에서 SSP(530) 또는 SPBL(533)이 저장하고 관리하는 인증서 정보(552, 553, 554, 555, 556, 557)는 도 3 내지는 도 4에서 CI 인증서 또는 CI 인증서의 공개키 식별자, 인증서 발급자(Certificate Issuer, CI)에 의해 발급된 인증서 계층구조 상에 존재하는 인증서 또는 해당 인증서의 공개키 식별자 일 수 있다. 번들 관리 서버(551, 또는 553)로부터 번들을 다운로드 및 설치하는 경우, SSP(430) 또는 SPBL(433)은 번들에 할당된 번들 패밀리 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 설정되어 있는 인증서 정보를 선택하고 번들 관리 서버(551 또는 553)에 그 정보를 전달할 수 있다. 인증서 정보는 해당 인증서 계층구조의 인증서 발급자(Certificate Issuer, CI)의 인증서 또는 공개키(Public Key)일 수 있으며, 해당 인증서 및 공개키에 대응하는 식별자(예를 들어, CI ID, CI ID, CI Object ID, Object Universally Unique Identifier, Object UUID, CI Public Key ID)일 수 있다.
도 6은 본 개시의 일부 실시 예에 따른 가입자가 서비스 제공자를 통해 서비스에 가입하고 서비스 제공자와 번들 관리 서버가 번들 다운로드를 준비하는 절차의 예를 도시하는 도면이다.
도 6에서 단말(600)은 SSP(610)가 장착되고 SSP(610)를 제어하기 위한 LBA(620)가 설치된 단말일 수 있다. 또한, 도면에는 도시되지 않았으나, 번들 관리 서버(650)에는 서비스 제공자(640)가 요청한 번들이 생성되어 대기 중일 수 있으며, 서비스 제공자(640)는 생성된 번들의 번들 식별자(SPB ID), 번들 패밀리 식별자(SPB Family ID), 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID), 번들 관리 서버(650)의 주소(SPBM Addr) 중 적어도 하나를 보유하고 있을 수 있다.
도 6를 참조하면, 가입자(630)는 6001 단계에서 서비스 제공자(640)가 제공하는 서비스(예를 들어, 이동통신망을 통한 데이터 서비스 등)를 선택하고 가입할 수 있다. 이때, 가입자(630)는 서비스 제공자(640)가 제공하는 서비스 이용하기 위해 번들을 설치할 단말(600)에 설치된 SSP(610)의 식별자(SSP ID)를 서비스 제공자(640)에게 선택적으로 전달 할 수 있다.
6003단계에서 서비스 제공자(640)와 번들 제공 서버(650)는 번들 다운로드 준비 절차를 수행할 수 있다. 6003 단계에서 서비스 제공자(640)는 번들 관리 서버(650)에 번들이 설치될 SSP(610)의 식별자(SSP ID)를 선택적으로 전달할 수 있으며, 서버에 준비된 번들 중 가입자가 선택한 서비스를 제공할 수 있는 특정 번들 식별자(SPB ID), 번들 패밀리 식별자(SPB Family ID), 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID) 중 적어도 하나를 번들 관리 서버(650)에 전달할 수 있다. 6003 단계에서 번들 관리 서버(650)는 전달된 특정 번들 식별자를 가지는 번들, 번들 패밀리 식별자를 가지는 번들, 번들 패밀리 식별자와 번들 패밀리 관리자 식별자를 가지는 번들 중 하나를 선택할 수 있으며, 선택된 번들의 식별자를 서비스 제공자(640)에게 전달할 수 있다. 서비스 제공자(640) 또는 번들 제공 서버(650)는 선택된 번들을 구분할 수 있는 번들 Matching ID를 신규로 생성할 수 있다. 또한, 번들 제공 서버(650)는 전달된 SSP 식별자(SSP ID)와 선택된 번들을 연결하여 관리할 수도 있다. 6003 단계에서 번들 관리 서버(650)는 선택된 번들을 다운로드 할 수 있는 번들 관리 서버 주소 (SPBM Addr)를 전달할 수 있다. 이때 번들 관리 서버 주소는 준비된 번들이 저장된 자기 자신 또는 다른 번들 관리 서버의 주소 일 수 있으며, 준비된 번들의 다운로드 정보(서버 주소 등)를 저장하고 획득할 수 있는 다른 번들 관리 서버의 주소일 수 있다.
도 6를 참조하면, 6005 단계에서 서비스 제공자(640)는 가입자(630)에게 준비된 번들 다운로드 정보를 전달할 수 있다. 번들 다운로드 정보는 번들이 준비된 번들 관리 서버 주소(SPBM Addr), 준비된 번들의 번들 Matching ID, 준비된 번들의 번들 패밀리 식별자(SPB Family ID), 번들 패밀리 관리자 식별자(SPB Family Custodian ID) 중 적어도 하나를 선택적으로 전달할 수 있다.
도 6를 참조하면, 6006 단계에서 단말(600)의 LBA(620)로 번들 다운로드 정보가 전달될 수 있다. 번들 다운로드 정보는 LBA(620)가 접속할 번들 관리 서버의 주소(SPBM Addr), 상기 6003 단계에서 준비된 번들의 번들 구분자, 준비된 번들의 번들 패밀리 식별자(SPBM Family ID), 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID) 중 적어도 하나 일 수 있다. 번들 구분자는 6003 단계에서 생성된 번들 Matching ID, 또는 번들 Event ID 중 적어도 하나를 포함할 수 있다. 또한, 번들 구분자는 준비된 번들의 번들 패밀리 식별자, 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID), 중 적어도 하나를 포함할 수 있다. 번들 Event ID는 6003 단계에서 준비된 번들의 번들 Matching ID와 번들 관리 서버의 주소 중 적어도 하나를 포함할 수 있다. 번들 다운로드 정보는 가입자(630)가 LBA(620)로 입력(예를 들어, QR코드 스캐닝, 직접 문자 입력 등)하거나, 정보 제공 서버(도시되지 않음)를 통해 푸쉬입력을 이용하여 LBA(620)에 입력될 수 있다. 또한 미리 단말(600)에 설정된 정보 제공 서버(도시되지 않음)로 LBA(620)가 접속하여 번들 다운로드 정보를 수신할 수 있다.
도 7a는 본 개시의 일부 실시 예에 따른 단말과 번들 관리 서버간 상호인증 및 암호화에 사용할 수 있는 인증서를 선택하기 위한 인증서를 협상하는 절차의 예를 도시하는 도면이다.
도 7a를 참조하면, 7001 단계에서 LBA(720)는 SSP(710)에 설정된 인증서 정보를 요청할 수 있다. 7001 단계에서 LBA(720)는 번들 패밀리 식별자를 선택적으로 포함할 수 있으며, 번들 패밀리 관리자 식별자 또한 선택적으로 포함하여 SSP(710)에 설정된 인증서 정보를 요청할 수 있다.
7001 단계에서 LBA(720)는 SSP(710)가 특정 번들 패밀리 식별자와 특정 번들 패밀리 관리자 식별자를 가지는 번들의 다운로드 및 설치에 이용할 수 있는 인증서 정보를 SSP(710)에 요청할 수 있다. 7001단계에서 LBA(720)는 특정 번들 패밀리 식별자와 특정 번들 패밀리 관리자 식별자를 포함하여 인증서 정보를 SSP(710)에 요청할 수 있다. 또한, 7001 단계에서 LBA(720)는 SSP(710)가 특정 번들 패밀리 식별자를 가지는 번들의 다운로드 및 설치에 이용할 수 있는 인증서 정보를 SSP(710)에 요청할 수 있다. 7001단계에서 LBA(720)는 특정 번들 패밀리 식별자를 포함하여 인증서 정보를 SSP(710)에 요청할 수 있다. 또한, 7001 단계에서 LBA(720)는 SSP(710)가 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자 없이 번들의 다운로드 및 설치에 이용할 수 있는 인증서 정보를 SSP(710)에 요청할 수 있다.
도 7을 참조하면, SSP(710)에는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자별(7101 및 7102)로 SSP(710)가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)이 설정되어 있을 수 있다. 또한, SSP(710)에는 번들 패밀리 식별자는 할당되고, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보(7200)가 설정되어 있을 수 있다. 또한, SSP(710)에는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보(7300)가 설정되어 있을 수 있다.
SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)은 SSP(710)가 번들 관리 서버(750)가 제시한 인증서, 인증서 체인 및 서명의 유효성을 검증하는데 이용할 수 있는 인증서 정보를 의미 할 수 있다. 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들 (SpblVerification)은 번들 관리 서버(750)가 SSP(710)에 발급된 인증서, 해당 인증서의 체인 및 SSP가 생성한 서명의 유효성을 검증하는데 이용할 수 있는 인증서 정보를 의미할 수 있다.
도 7a를 참조하면, 7002 단계에서 SSP(710)는 LBA(720)가 제공한 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보를 추출하여 SSP 인증서 정보(sspCiInfo)를 생성할 수 있으며, 7003 단계에서, SSP 인증서 정보(sspCiInfo)를 LBA(720)에 전달할 수 있다. SSP 인증서 정보(sspCiInfo)는 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 해당 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 설정된 SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들 (SpblVerification)를 포함할 수 있다. 또한, 7001 단계에서, LBA(720)로부터 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 SSP(710)로 전달되지 않은 경우, 모든 인증서 정보를 포함하여 SSP 인증서 정보(sspCiInfo)를 생성할 수 있다.
또한, 도 7a에는 도시되지 않았으나, 7003 단계에서 SSP(710)는 SSP(710)이 포함하는 프라이머리 플랫폼 및 로더가 지원하는 표준 규격의 버전 정보 중 적어도 하나를 포함하는 SSP 버전정보를 LBA(720)에 전달할 수 있다.
또한, 7003 단계에서 SSP(710)은 SSP(710)의 설계 및 설정 정보를 나타내는 식별자(예를 들면, Part Number(PN))를 LBA(720)에 전달할 수 있다.
또한, 도 7a에는 도시되지 않았으나, 7003 단계에서 LBA(720)은 SSP(710)로부터 전달 받은 인증서 정보 또는 기 저장된 SSP의 인증서 설정 정보를 바탕으로 특정 번들 관리자 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 할당된 SSP의 인증서 정보를 추출하여, SSP 인증서 정보(SspCiInfo)를 생성할 수 있다.
또한, 도 7a에서 7002 단계 완료 후, 7003 단계 이전에, SSP(710)는 LBA(720)에 7002 단계가 완료되었음을 알릴 수 있다. 또한, LBA(720)는 7002 단계가 완료되었음을 수신한 후, 7003 단계 이전에 SSP(710)에 7002단계에서 생성된 정보의 전달을 요청할 수 있다.
도 7a를 참조하면, 7004 단계에서 LBA(720)와 번들 관리 서버(750)는 TLS(Transport Layer Security) 연결을 수행할 수 있다. 7004 단계의 TLS 연결은 TLS 연결 방법 중 LBA(720)가 번들 관리 서버(750)의 신원을 확인하는 서버 인증(Server Authentication) 방법을 이용할 수 있다. 7004 단계의 TLS 연결 시 LBA(720)가 번들 관리 서버(750)의 신원을 확인할 때, 번들 관리 서버(750)는 LBA(720)에 TLS 인증서(TLS Certificate)를 제출할 수 있다. LBA(720)내지 단말(700)에는 상기 TLS 인증서의 유효성 검증을 위한 CI 인증서 또는 공개키가 적어도 하나 이상 저장되어 있을 수 있다. 번들 관리 서버(750)의 TLS 인증서의 유효성 검증을 위해 하나 이상의 Sub CI 인증서가 필요한 경우, 7004 단계에서 번들 관리 서버(750)는 TLS 인증서와 함께 하나 이상의 Sub CI 인증서를 LBA(720)에 제출할 수 있다. TLS 연결이 성립되면 이후 LBA(720)와 번들 관리 서버(750)간의 모든 메시지는 TLS 보안 절차에 의해 보호될 수 있다.
7005단계에서 LBA(720)는 번들 관리 서버(750)에 인증서 협상 시작을 요청할 수 있다. 7005단계에서는 LBA(720)가 7003단계에서 확인한 SSP(720)의 SSP 인증서 정보(sspCiInfo)를 바탕으로 SSP(720)가 지원 가능한 인증서 정보를 번들 관리 서버(750)에 전달할 수 있다. 또한, 도 7a에는 도시되지 않았으나, 7005 단계에서 LBA(720)는 SSP 버전 정보를 번들 관리 서버(750)에 추가로 전달할 수 있다. 또한, 도 7a에는 도시되지 않았으나, 7005 단계에서 LBA(720)는 SSP(710)의 설계 및 설정 정보 식별자(예를 들면, Part Number(PN))를 번들 관리 서버(750)에 추가로 전달할 수 있다.
도 7a에는 도시되지 않았으나, 번들 관리 서버(750)에는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자별로 번들 관리 서버에 인증서를 발급하는데 이용된 CI 인증서 혹은 인증서 부발급자 인증서들에 대한 정보(SpbmVerification)와 번들 관리 서버가 신뢰하는 SSP 인증서 발급 CI 또는 인증서 부발급들의 인증서 정보(SpblVerification)가 설정되어 있을 수 있다. 번들 관리 서버(750)는 번들 관리 서버에 인증서를 발급하는데 이용된 한 CI 인증서 혹은 인증서 부발급자 인증서들에 대한 정보(SpbmVerification)에 해당 인증서를 SSP(710)와 상호인증을 위해 LBA(720)에 제공할 수 있다.
또한, 번들 관리 서버(750)가 신뢰하는 SSP 인증서 발급 CI 또는 인증서 부발급들의 인증서 정보(SpblVerification)는 번들 관리 서버(750)가 SSP가 제공하는 인증서의 유효성을 검증할 수 있는 인증서 정보를 의미할 수 있으며, 해당 인증서 계층구조에 존재하는 SSP 인증서가 SSP와 번들 관리 서버 간 상호인증을 위해 LBA(720)를 통해 번들 관리 서버(750)에 전달될 경우 이를 검증할 수 있음을 의미할 수 있다. 이 때, 인증서 정보는 인증서 발급자의 공개키 식별자(Public Key ID), 인증서 식별자(Certificate ID, Object ID, Object Universally Unique Identifier, Object UUID) 중 적어도 하나를 포함할 수 있다.
7006단계에서, 번들 관리 서버(750)는 7005단계에서 전달된 SSP(710)의 SSP 인증서 정보(sspCiInfo)를 바탕으로 번들 관리 서버(750)에 설정된 인증서 정보와 SSP의 인증서 정보와 비교를 수행하고, 선택된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 단말(700)로 전달할 번들 관리 서버(750) 인증서, 및 SSP가 사용할 인증서 정보(sspCiToBeUsed)를 선택할 수 있다.
이때, 단말(700)로 전달할 번들 관리 서버(750) 인증서는 Key Agreement 용도의 인증서(CERT.SPBM.KA) 또는 Digital Signature 용도의 인증서(CERT.SPBM.DS) 일 수 있다. 또한, 단말(700)로 전달할 번들 관리 서버(750) 인증서는 7005단계에서 번들 관리 서버(750)에 전달된 SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버에 인증서를 발급하는데 이용된 CI 인증서 혹은 인증서 부발급자 인증서들에 대한 정보(SpbmVerification)의 공통 정보 중 적어도 하나의 인증서 계층구조에 존재하는 번들 관리 서버 인증서 일 수 있다.
SSP가 사용할 인증서 정보(sspCiToBeUsed)는 7005단계에서 번들 관리 서버(750)로 전달된 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들 (SpblVerification)과 번들 관리 서버가 신뢰하는 SSP 인증서 발급 CI 또는 인증서 부발급자들의 인증서 정보(SpblVerification)의 공통 인증서 정보 중 적어도 하나를 포함할 수 있다.
7007 단계에서 번들 관리 서버(750)는 LBA(720)에 7006단계에서 선택된 번들 관리 서버 인증서 및 인증서 정보를 회신할 수 있다. 7007 단계에서 LBA(720)로 회신되는 정보는 7006 단계에서 선택된 SSP(710)이 검증 가능한 번들 관리 서버 인증서, SSP가 사용할 인증서 정보, 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 중 적어도 하나를 포함할 수 있다. 또한 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나이상 필요한 경우, LBA(720)로 회신되는 정보는 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다.
또한, 7007 단계에서 LBA(720)로 회신되는 정보는 7007단계 이후 SSP와 번들 관리 서버가 상호인증에 선택적으로 사용 할 수 있는 서버 챌린지(spbmChallange)를 포함할 수 있다. 또한, 7007 단계에서 LBA(720)로 회신되는 정보에는 회신되는 정보의 무결성을 보장하기 위하여 전달되는 번들 관리 서버의 디지털 서명을 선택적으로 포함할 수 있으며, 이 경우 해당 디지털 서명의 유효 여부를 판단할 있는 Signing용 번들 관리 서버 인증서(CERT.SPBM.DS)를 함께 포함할 수 있다. 이 때, Signing 용 번들 관리 서버 인증서(CERT.SPBM.DS)는 7006단계에서 선택된 인증서와 동일한 CI 계층구조상에 존재하는 인증서 일 수 있다. 또한, 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나 이상 필요한 경우, LBA(720)로 회신되는 정보는 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다.
도 7b는 본 개시의 다른 일부 실시 예에 따른 단말과 번들 관리 서버간 상호인증 및 암호화에 사용할 수 있는 인증서를 선택하기 위한 인증서를 협상하는 절차의 예를 도시하는 도면이다.
도 7b를 참조하면, 15101 단계에서 LBA(15020)는 SSP(15010)에 SSP(15010)의 설계 및 설정 정보 식별자(예를 들면, Part Number(PN))를 요청할 수 요청할 수 있다.
도 7b를 참조하면, 15102 단계에서 SSP(15010)는 설계 및 설정 정보를 나타내는 식별자 식별자를 추출하고, 15103 단계에서, 해당 정보를 LBA(15020)에 전달할 수 있다. 또한, 도 7b에는 도시되지 않았으나, 15102 단계에서 SSP(15010)는 SSP(15010)이 포함하는 프라이머리 플랫폼 및 로더가 지원하는 표준 규격의 버전 정보 중 적어도 하나를 포함하는 SSP 버전정보를 LBA(15020)에 전달할 수 있다.
도 7b를 참조하면, 15104 단계에서 LBA(15020)와 번들 관리 서버(15050)는 TLS(Transport Layer Security) 연결을 수행할 수 있다. 15104 단계의 TLS 연결은 TLS 연결 방법 중 LBA(15020)가 번들 관리 서버(15050)의 신원을 확인하는 서버 인증(Server Authentication) 방법을 이용할 수 있다. 15104 단계의 TLS 연결 시, LBA(15020)가 번들 관리 서버(15050)의 신원을 확인할 때, 번들 관리 서버(15050)는 LBA(15020)에 TLS 인증서(TLS Certificate)를 제출할 수 있다. LBA(15020)내지 단말(15000)에는 TLS 인증서의 유효성 검증을 위한 CI 인증서 또는 공개키가 적어도 하나 이상 저장되어 있을 수 있다. 번들 관리 서버(15050)의 TLS 인증서의 유효성 검증을 위해 하나 이상의 Sub CI 인증서가 필요한 경우, 15104 단계에서 번들 관리 서버(15050)는 TLS 인증서와 함께 하나 이상의 Sub CI 인증서를 LBA(15020)에 제출할 수 있다. TLS 연결이 성립되면 이후 LBA(15020)와 번들 관리 서버(15050)간의 모든 메시지는 TLS 보안 절차에 의해 보호될 수 있다.
15105단계에서 LBA(15020)는 번들 관리 서버(15050)에 인증서 협상 시작을 요청할 수 있다. 15105단계에서 LBA(15020)는 15103단계에서 확인한 SSP(15010)의 설계 및 설정 정보 식별자(예를 들면 Part Number(PN))와 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 중 적어도 하나를 번들 관리 서버(15050)에 전달할 수 있다. 15105 단계에서 LBA(15020)는 SSP 버전 정보를 번들 관리 서버(15050)에 추가로 전달할 수 있다.
15106단계에서, 번들 관리 서버(15050)는 15105단계에서 전달된 SSP(15010)의 설계 및 설정 정보 식별자를 이용하여, SSP(15010)의 인증서 설정 정보를 번들 관리 서버(15050) 자신 또는 제3의 저장소(도시되지 않음)에서 획득할 수 있다. 이때, 번들 관리 서버(15050)는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자를 추가로 이용하여 SSP(15010)의 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 할당된 SSP의 인증서 정보를 획득할 수 있다. 번들 관리 서버(15050)는 번들 관리 서버(15050)에 설정된 인증서 정보와 SSP의 인증서 정보와 비교를 수행하고, 선택된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 단말(15010)로 전달할 번들 관리 서버(15050) 인증서, SSP가 사용할 인증서 정보(sspCiToBeUsed) 등을 선택할 수 있다.
15107 단계에서 번들 관리 서버(15050)는 LBA(15020)에 15106단계에서 선택된 번들 관리 서버 인증서 및 인증서 정보를 회신할 수 있다. 15107 단계에서 LBA(15020)로 회신되는 정보는 15106 단계에서 선택된 SSP(15010)이 검증 가능한 번들 관리 서버 인증서, SSP가 사용할 인증서 정보, 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 중 적어도 하나를 포함할 수 있다. 또한, 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나 이상 필요한 경우, LBA(15020)로 회신되는 정보는 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다.
또한, 15107 단계에서 LBA(15020)로 회신되는 정보는 15107단계 이후 SSP와 번들 관리 서버가 상호인증에 선택적으로 사용 할 수 있는 서버 챌린지(spbmChallange)를 포함할 수 있다. 또한, 15107 단계에서 LBA(15020)로 회신되는 정보에는 회신되는 정보의 무결성을 보장하기 위하여 전달되는 번들 관리 서버의 디지털 서명을 선택적으로 포함할 수 있으며, 이 경우 해당 디지털 서명의 유효 여부를 판단할 있는 Signing용 번들 관리 서버 인증서(CERT.SPBM.DS)를 함께 포함할 수 있다. 이 때, Signing 용 번들 관리 서버 인증서(CERT.SPBM.DS)는 15106단계에서 선택된 인증서와 동일한 CI 계층구조상에 존재하는 인증서 일 수 있다. 또한, 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나 이상 필요한 경우, LBA(15020)로 회신되는 정보는 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다.
도 8은 본 개시의 일부 실시 예에 따른 SSP 또는 SPBL이 생성하거나, LBA가 번들 관리 서버에 전달하는 SSP 인증서 정보의 구조의 예를 도시하는 도면이다.
도 8을 참조하면, SSP 인증서 정보는 SSP로부터 번들 관리 서버에 전달되는 SSP정보(SspInfo, 801)에 포함될 수 있다. SSP 인증서 정보는 기본 인증서 정보(SspGeneralCryptoInfo, 811), 번들 패밀리 인증서 정보(SspFamilyCryptoInfo, 833) 및 번들 패밀리 관리자 인증서 정보(SspOidCryptoInfo, 835 또는 837)을 포함할 수 있다. SSP 인증서 정보는 번들 패밀리 인증서 정보 블록(SspFamilyCryptoInfoblock, 831)을 포함할 수 있으며, 번들 패밀리 인증서 정보 블록(831)은 번들 패밀리 인증서 정보(833) 및 번들 패밀리 관리자 인증서 정보(835 또는 837)를 포함할 수 있다.
도 8을 참조하면, 기본 인증서 정보(811)는 SSP에 저장되고 관리되는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 포함할 수 있다. 이때, 인증서 정보는 SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)을 포함할 수 있다.
도 8을 참조하면, 번들 패밀리 인증서 정보 블록(831)은 적어도 하나의 번들 패밀리 식별자를 포함할 수 있다. 번들 패밀리 인증서 정보(833)는 SSP에 저장된 인증서 정보 중, 번들 패밀리 식별자는 할당되고, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 선택적으로 포함할 수 있다. 번들 패밀리 인증서 정보(833)는 SSP에 저장된 인증서 정보 중, 번들 패밀리 인증서 정보 블록(831)에 포함된 번들 패밀리 식별자 또는 번들 패밀리 인증서 정보(833)에 포함된 번들 패밀리 식별자가 할당 되고, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 선택적으로 포함할 수 있다. 이때 인증서 정보는 SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)을 포함할 수 있다.
도 8을 참조하면, 번들 패밀리 관리자 인증서 정보(835)는 적어도 하나의 번들 패밀리 관리자 식별자를 포함할 수 있다. 번들 패밀리 관리자 인증서 정보(835)는 SSP에 저장된 인증서 정보 중, 번들 패밀리 식별자와 번들 패밀리 관리자가 할당된 인증서 정보를 선택적으로 포함할 수 있다. 번들 패밀리 관리자 인증서 정보(835)는 SSP에 저장된 인증서 정보 중, 번들 패밀리 인증서 정보 블록(831)에 포함된 번들 패밀리 식별자 또는 번들 패밀리 인증서 정보(833)에 포함된 번들 패밀리 식별자와 번들 패밀리 관리자 인증서 정보(835)에 포함된 번들 패밀리 관리자 식별자에 할당된 인증서 정보를 선택적으로 포함할 수 있다. 이때 인증서 정보는 SSP가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)을 포함할 수 있다.
도 8을 참조하면, SSP정보(801)는 하나 이상의 번들 패밀리 인증서 정보 블록(831 또는 851)를 포함할 수 있다. 보다 구체적으로, SSP정보(801)는 SSP의 설정(7101, 7102, 7200, 7300)에 따라 번들 패밀리 인증서 정보 블록(831 또는 851)과 번들 패밀리 인증서 정보 블록(831)를 포함하지 않거나 또는 적어도 하나 이상 포함할 수 있다. 또한, 번들 패밀리 인증서 정보 블록(831)은 하나 이상의 번들 패밀리 관리자 인증서 블록(835 또는 837)을 포함할 수 있다.
도 9은 본 개시의 일부 실시 예에 따른 단말의 SSP가 LBA의 요청에 따라 특정 번들 패밀리 식별자 또는 특정 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 대해 설정된 지원 가능한 인증서 정보를 생성하는 절차의 예를 도시하는 도면이다. 도 9는 도 7a의 7002 단계의 상세 절차의 일 실시예에 대응될 수 있다.
도 9를 참조하면, 9001 단계에서 SSP는 LBA로부터 인증서 정보를 요청 받을 수 있다. 9003 단계에서 SSP는 LBA로부터 전달된 인증서 정보 요청에 특정 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 포함되어 있는지 여부를 판단할 수 있다.
인증서 정보 요청에 특정 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 포함되어 있는 경우, SSP는 9101 단계로 진행하여, 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자를 지원하는지 여부를 판단할 수 있다. 즉, 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보가 존재하는지 여부를 판단할 수 있다. 예를 들어, 도 7a를 참조하면, (FID1, Oid1)와 같이 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 입력되는 경우, SSP는 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자를 지원한다고 판단할 수 있다. 또는, (FID2, Oid6) 와 같이 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 입력되는 경우, SSP는 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자, 특히 번들 패밀리 식별자를 지원하지 않는다고 판단할 수 있다. 9101 단계에서 인증서 정보가 존재하는 경우, 9102 단계에서 SSP는 해당 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)을 생성할 수 있다. 또한, SSP는 도 8에 게시된 SSP정보(801)의 번들 패밀리 인증서 블록(831)에 해당 번들 패밀리 식별자를 포함할 수 있다. 또한 해당 번들 패밀리 관리자 식별자를 번들 패밀리 관리자 인증서 정보(835)에 포함하고, 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보를 포함하여 번들 패밀리 관리자 인증서 정보(835)를 생성할 수 있다.
도 9를 참조하면, 9101 단계에서 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보가 존재하지 않을 경우, 9103 단계에서 해당 번들 패밀리 식별자를 포함하는 인증서 정보가 존재하는지 여부를 판단할 수 있다. 예를 들어, 도 7a를 참조하면, (FID2, Oid6) 와 같이 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 입력되는 경우, SSP는 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자, 특히 번들 패밀리 식별자를 지원하지 않는다고 판단하여, 9103 단계로 진행한다. 그 후, 9103 단계에서 SSP는 해당 번들 패밀리 식별자만을 지원한다고 판단하여, (FID2, *)에 설정된 값을 선택할 수 있다. 9103 단계에서 인증서 정보가 존재하는 경우, 9104 단계에서 SSP는 해당 번들 패밀리 식별자, 해당 번들 패밀리 식별자에 설정된 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)를 생성할 수 있다. 또한, SSP는 도 8에 게시된 SSP정보(801)의 번들 패밀리 인증서 블록(831)에 해당 번들 패밀리 식별자를 포함할 수 있다. 또한 상기 번들 패밀리 식별자에 설정된 인증서 정보를 포함하여 번들 패밀리 인증서 정보(833)을 생성할 수 있다.
도 9를 참조하면 9103 단계에서 해당 번들 패밀리 식별자에 설정된 인증서 정보가 존재하지 않는 경우, 9105 단계에서 SSP는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)을 생성할 수 있다. 예를 들어, 도 7a를 참조하면, (FID3, OID1)와 같이 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 입력되는 경우, SSP는 번들 패밀리 식별자도 지원하지 않는다고 판단하고, (*, *)에 설정된 값을 선택할 수 있다. 또한, SSP에 저장되고 관리되는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 포함하여 기본 인증서 정보(811)을 생성 할 수 있다.
도 9를 참조하면, 9003 단계에서 번들 패밀리 관리자 식별자가 존재하지 않는 경우, SSP는 9005 단계에서 LBA로부터 전달된 인증서 정보 요청에 번들 패밀리 식별자가 포함되어 있는지 여부를 판단할 수 있다. 예를 들어, 도 7a를 참조하면, FID만 입력되는 경우, SSP는 Oid가 존재하지 않으므로, 9005 단계로 진행할 수 있다.
9005 단계에서 인증서 정보 요청에 특정 번들 패밀리 식별자만 포함되어 있는 경우, 9201 단계에서 SSP는 해당 번들 패밀리 식별자를 포함하는 인증서 설정이 존재하는지 여부를 판단할 수 있다. 예를 들어, 도 7a를 참조하면, FID2만 입력되는 경우, SSP는 FID2를 갖는 SSP 설정 정보, 예를 들어, 7102, 7200이 존재하는지 여부를 판단할 수 있다. 해당 번들 패밀리 식별자를 포함하는 인증서 설정은 해당 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당된 인증서 정보 또는 해당 번들 패밀리 식별자는 할당되고, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 의미할 수 있다.
9201 단계에서, 해당 번들 패밀리 식별자와 적어도 하나의 번들 패밀리 관리자 식별자에 설정된 하는 인증서 정보가 존재하는 경우, 해당 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 설정된 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)를 생성할 수 있다. 또한, SSP는 도 8에 게시된 SSP정보(801)의 번들 패밀리 인증서 블록(831)에 해당 번들 패밀리 식별자를 포함할 수 있다. 또한, 번들 패밀리 관리자 식별자, 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 설정된 인증서 정보를 포함하여 적어도 하나의 번들 패밀리 관리자 인증서 정보(835)를 생성할 수 있다. 또한, 번들 패밀리 관리자 식별 정보에 적어도 복수 개의 인증서 정보가 매핑되어 있는 경우, 복수 개의 번들 패밀리 관리자 인증서 정보(835)를 생성할 수도 있다.
또한 9201 단계에서, 해당 번들 패밀리 식별자는 할당되고, 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보가 존재하는 경우, 9202 단계에서 SSP는 해당 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)을 생성할 수 있다. SSP는 도 8에 게시된 SSP정보(801)의 번들 패밀리 인증서 블록(831)에 해당 번들 패밀리 식별자를 포함할 수 있다. 또한 상기 번들 패밀리 식별자에 설정된 인증서 정보를 포함하여 번들 패밀리 인증서 정보(833)을 생성할 수 있다.
9201 단계에서, 해당 번들 패밀리 식별자를 포함하는 인증서 설정이 존재하지 않는 경우, SSP는 9203 단계에서 SSP는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 포함하여 도 8에 게시된 SSP정보(801)을 생성할 수 있다. 또한, SSP에 저장되고 관리되는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보를 포함하여 기본 인증서 정보(811)을 생성 할 수 있다.
도 9를 참조하면, 9005 단계에서 번들 패밀리 식별자가 존재하지 않는 경우, 예를 들어, 아무 입력도 없는 경우, SSP는 9007 단계에서 SSP에 설정된 전체 인증서 정보를 포함하여 SSP정보(801)을 생성할 수 있다.
도 10은 본 개시의 일부 실시 예에 따른 단말이 번들 관리 서버로부터 번들을 다운로드하고 설치하는 절차의 예를 도시하는 도면이다.
도 10를 참조하면, 10001 단계에서 단말(1000)의 LBA(1020)로 번들 다운로드 정보가 전달될 수 있다. 번들 다운로드 정보는 LBA(820)가 접속할 번들 관리 서버의 주소(SPBM Addr), 준비된 번들의 번들 구분자, 준비된 번들의 번들 패밀리 식별자(SPB Family ID), 준비된 번들의 번들 패밀리 관리자 식별자(SPB Family Custodian Object ID) 중 적어도 하나 일 수 있다. 번들 구분자는 번들 Matching ID, 또는 번들 Event ID 중 적어도 하나를 포함할 수 있다. 또한, 번들 구분자는 준비된 번들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자를 포함할 수 있다. 번들 Event ID는 번들 Matching ID와 번들 관리 서버의 주소 중 적어도 하나를 포함할 수 있다. 번들 다운로드 정보는 가입자(1030)가 LBA(1020)로 입력(예를 들어, QR코드 스캐닝, 직접 문자 입력 등)하거나, 정보 제공 서버(도시되지 않음)를 통해 푸쉬 입력을 이용하여 LBA(1020)에 입력될 수 있다. 또한 미리 단말(1000)에 설정된 정보 제공 서버(도시되지 않음)로 LBA(1020)가 접속하여 번들 다운로드 정보를 수신할 수 있다.
10002단계에서, 단말(1000)과 번들 관리 서버(1050)는 서로간 상호인증 및 암호화에 사용할 수 있는 인증서를 선택하기 위한 인증서를 협상하는 절차를 수행할 수 있다. 10002 단계의 동작은 도 7a의 동작에 대응될 수 있다.
10003단계에서, LBA(1020)는 SSP(1010)에 SSP 인증정보(SSP Credential)를 요청할 수 있다. 이때, LBA(1020)는 번들 Matching ID를 포함하여 SSP 인증정보를 요청할 수 있다. 또한, LBA(1020)는 추가로 다운로드 할 번들의 번들 패밀리 식별자(spbFamilyId), 번들 패밀리 관리자 식별자(Oid), 번들 관리 서버(1050)의 인증서, SSP가 사용할 인증서 정보(sspCiToBeUsed), 번들 관리 서버의 서버 챌린지(spbmChallenge)중 적어도 하나를 선택적으로 SSP(1010)에 전달할 수 있다. 이때 SPBM 인증서는 Key Agreement 용 인증서 (CERT.SPBM.DS) 또는 세션키 생성에 사용될 수 있는 번들 관리 서버의 Key Agreement 용 임시 공개키를 포함하는 데이터일 수 있다.
10103단계에서, SSP(1010)는 설정 되어있는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자별로 SSP(1010)가 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification)과 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)과 10003단계에서 LBA(1020)로부터 전달된 번들 관리 서버(1050)의 인증서, SSP가 사용할 인증서 정보, 번들 패밀리 식별자, 번들 패밀리 관리자 식별자를 비교하여 번들의 지원가능 여부를 검증할 수 있다.
10004 단계에서, SSP(1010)는 번들 관리 서버(1050)와의 세션키(ShKey01)를 생성할 수 있다. SSP(1010)는 SSP 임시 공개키(Ephemeral Public Key, ePK.SSP.KA)와 SSP 임시 비밀키(Ephemeral Secret Key, eSK.SSP.KA)를 생성할 수 있다. 또한, SSP(1010)는 10001 또는 10002 또는 10003 단계에서 전달된 번들 관리 서버(850)의 인증서에서 Key Agreement용 공개키(PK.SPBM.KA)를 추출하고, 해당 번들 관리 서버의 Key Agreement용 공개키(PK.SPBM.KA)와 SSP 임시 비밀키(eSK.SSP.KA)를 이용하여 키 생성 함수(Key Derivation Function, KDF)를 통해 세션키(ShKey01)를 생성할 수 있다. 이때, SSP(1010)는 키 생성함수로 BSI TR 03111에 정의된 키 생성 함수를 이용할 수 있으며, 세션키는 128 비트 혹은 256 비트로 구성될 수 있다.
10005단계에서 SSP(1010)는 SSP 인증정보(SSP Credential)를 생성할 수 있다. 8002 단계에서 SSP(1010)는 번들 관리 서버(1050)와 협상된 인증서의 계층 구조에 존재하는 SSP 인증서(CERT.SSP.DS)를 10004단계에서 생성된 세션키(ShKey01)를 이용해 암호화하여 SSPToken01을 생성할 수 있다. 이때, SSP 인증서는 Digital Signature 용 인증서일 수 있다. 또한, SSP(1010)는 SSP 식별자 (SSP ID)를 SSP 인증서(CERT.SSP.DS)와 함께 암호화하여 SSPToken01을 생성할 수 있다.
또한, 10005단계에서 SSP(1010)는 현재 세션을 지칭하는 Transaction ID와 번들 Matching ID, SSP 임시 공개키(ePK.SSP.KA)를 적어도 하나 포함하여 SSPToken02를 생성할 수 있다. 이때, SSP(1010)는 선택적으로 번들 관리 서버 챌린지(spbmChallenge)를 포함하여 SSPToken02를 생성할 수 있다. 또한, SSP(1010)는 SSPToken01에 포함된 SSP 인증서(CERT.SSP.DS)로 SSPToken02에 포함된 정보의 무결성을 검증할 수 있는 SSP의 디지털 서명을 포함하여 SSPToken02를 생성할 수 있다. SSPToken01, SSPToken02는 SSP(1010)에서 LBA(1020)로 전달될 수 있다. 10005 단계에서, SSP(1010)는 현재 세션의 Transaction ID와 연결하여 현재 세션의 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 사용된 인증서 정보 중 적어도 하나를 저장할 수 있다.
또한, SSP(1010)는 10003 단계에서 전달된 LBA(1020)의 요청으로 인한 10103, 10004, 0, 10005 단계 중 적어도 하나의 단계에 대한 결과물이 생성되었음을 LBS(1020)로 알릴 수 있다. 또한, LBA(1020) 는 10005 단계에서 결과물이 생성되었음을 확인하고, SSP(1010)에 10005 단계에서 생성된 정보의 전달을 요청할 수 있다. SSP(1010)는 10105단계에서, LBA(1020)에 SSP 인증정보(SSP Credential)를 전달할 수 있다.
10006 단계에서, 단말(1000)은 번들 관리 서버(1050)로 SSP 인증정보(SSP Credential)를 전달할 수 있다. 또한, 10006단계에서, LBA(1020)와 번들 관리 서버(1050)는 TLS 연결을 수행할 수 있다. 10006 단계의 TLS 연결은 TLS 연결 방법 중 LBA(1020)가 번들 관리 서버(1050)의 신원을 확인하는 서버 인증(Server Authentication) 방법을 이용할 수 있다. 8005 단계에서 단말(1000)은 SSPToken01, SSPToken02를 번들 관리 서버(1050)에 전달할 수 있다. 또한, 단말(1000)은 SSPToken01에 포함된 SSP 인증서의 유효성을 하기 위한 SSP Maker 인증서(CERT.SM.DS)를 포함하여 번들 관리 서버(1050)에 전달할 수 있다. SSP Maker 인증서(CERT.SM.DS)의 유효성 검증을 위해 하나 이상의 Sub CI 인증서가 필요한 경우, 10006 단계에서 단말(1000)은 SSP Maker 인증서와 함께 하나 이상의 Sub CI 인증서를 번들 관리 서버(1050)에 제출할 수 있다.
10007단계에서, 번들 관리 서버(1050)는 SSP 인증정보(SSP Credential)를 검증할 수 있다. 10007단계에서 번들 관리 서버(850)는 SSPToken02에 포함된 SSP 임시 공개키(ePK.SSP.KA)와 번들 관리 서버(1050)의 Key Agreement용 공개키(PK.SPBM.KA)와 쌍을 이루는 Key Agreement용 비밀키(SK.SPB.KA)를 이용하여 키생성 함수(Key Derivation Function, KDF)를 통해 세션키(ShKey01)를 생성할 수 있다. 이때, 번들 관리 서버(1050)는 키 생성함수로 BSI TR 03111에 정의된 키생성 함수를 이용할 수 있으며, 세션키(ShKey01)는 128 비트 혹은 256 비트로 구성될 수 있다. 10007단계에서, 번들 관리 서버(1050)는 세션키(ShKey01)를 이용하여 SSPToken01을 복호화하여 SSP 인증서(CERT.SSP.DS)를 추출할 수 있다. 또한, 8006단계에서 LBA(1020)로부터 전달된 SSP Maker 인증서를 이용하여 SSP 인증서를 검증할 수 있다. 번들 관리 서버(1050)는 SSP 인증서(CERT.SSP.DS)에서 SSP 공개키(PK.SSP.DS)를 추출하고, SSPToken02에 포함된 SSP의 디지털 서명을 검증할 수 있다.
10008단계에서 번들 관리 서버(1050)는 SSP(1010)와 사용하기 위한 세션키를 생성할 수 있다. 번들 관리 서버(1050)는 SPBM 임시 공개키(Ephemeral Public Key, ePK.SPBM.KA)와 SPBM 임시 비밀키(Ephemeral Secret Key, eSK.SPBM.KA)를 생성할 수 있다. 또한, 번들 관리 서버(1050)는 10007 단계에서 검증된 SSP 임시 공개키(ePK.SSP.KA)와 SPBM 임시 비밀키(eSK.SPBM.KA)를 이용하여 키생성 함수(Key Derivation Function, KDF)를 통해 세션키(ShKey02)를 생성할 수 있다. 이때 키 생성함수로는 BSI TR 03111에 정의된 키생성 함수를 이용할 수 있으며, 세션키는 128 비트 혹은 256 비트로 구성될 수 있다.
10008단계에서 번들 관리 서버(1050)는 SPBMToken을 생성할 수 있다. 번들 관리 서버(1050)가 생성하는 SPBMToken는 SPBM 임시 공개키(ePK.SPBM.KA), Transaction ID를 적어도 하나 포함할 수 있으며, 상기 정보의 무결성을 검증할 수 있는 SPBM의 디지털 서명을 포함할 수 있다.
10008단계에서 번들 관리 서버(1050)는 번들이 SSP(1010)에 의해서만 복호화 가능하도록 세션키(ShKey02)로 번들의 전체 또는 일부를 암호화하여 묶인 번들 (Bound Bundle)을 생성할 수 있다.
10007단계 또는 10008단계에서 번들 관리 서버는 번들 메타데이터(도시되지 않음)를 생성할 수 있다. 번들 메타데이터는 번들의 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 중 적어도 하나를 포함할 수 있다. 또한 묶인 번들 또는 번들은 해당 번들의 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 중 적어도 하나를 포함할 수 있다.
10009단계에서, 번들 관리 서버(1050)는 LBA(1020)로 SPBMToken 및 묶인 번들(Bound Bundle)을 전달 할 수 있다. 이때, 번들 관리 서버(1050)는 번들 메타데이터를 전달할 수 있다. 이때, 번들 관리 서버(1050)는 SPBMToken에 포함된 번들 관리 서버의 디지털 서명을 검증하기 위한 번들 관리 서버 인증서(CERT.SPBM.DS)를 포함하여 LBA(1020)로 SPBMToken 및 묶인 번들(Bound Bundle)을 전달할 수 있다. 번들 관리 서버 인증서(CERT.SPBM.DS)의 유효성 검증을 위해 하나 이상의 Sub CI 인증서가 필요한 경우, 10009 단계에서 번들 관리 서버(1050)는 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 LBA(1020)에 제출할 수 있다. LBA(1020)는 상기 정보를 SSP(1010)에 전달하여 검증 및 번들 설치를 요청할 수 있다.
10010단계에서, SSP(1010)는 SPBM Token을 검증할 수 있다. 10010단계에서 SSP(1010)는 번들 관리 서버 인증서(CERT.SPBM.DS)의 유효성을 검증하고, 해당 인증서에 포함된 번들 관리 서버 공개키(PK.SPBM.DS)를 이용하여 SPBMToken에 포함된 번들 관리 서버의 디지털 서명을 검증할 수 있다. 또한, SSP(1010)는 10005단계에서 SSP(1010)이 생성한 Transaction ID와 SPBMToken에 포함된 Transaction ID가 동일한지 비교하여 SPBMToken의 유효성을 검증할 수 있다. 또한, SSP(1010)는 SSP 임시 비밀키(eSK.SSP.KA)와 SPBMToken에 포함된 번들 관리 서버 임시 공개키(ePK.SPBM.KA)를 이용하여 키생성 함수(Key Derivation Function, KDF)를 통해 세션키(ShKey02)를 생성할 수 있다. 이때, 키 생성함수로는 BSI TR 03111에 정의된 키생성 함수를 이용할 수 있으며, 세션키는 128 비트 혹은 256 비트로 구성될 수 있다. 10009단계에서, SSP(1010)는 세션키(ShKey02)를 이용하여 묶인 번들(bound Bundle)을 복호화하고 번들을 SSP(1010)에 설치할 수 있다. 10010단계에서, 번들 설치 시 단말(0100), SSP(1010), LBA(1020) 중 적어도 하나의 설정 값에 따라 사용자(End User, 도시되지 않음)의 번들 설치 확인을 추가로 받을 수 도 있다. 10010 단계에서 SSP(1010)는 번들 설치 결과를 LBA(1020)로 전달할 수 있다.
10011단계에서 SSP(1010)는 10003단계에서 저장된 번들 패밀리 식별자와 설치된 번들의 번들 패밀리 식별자를 비교하고, 동일한 경우 설치 완료 결과를 LBA(1020)에 전달할 수 있다. 만약 상기 두 식별자가 일치하지 않는 경우 설치된 번들을 삭제하거나 또는 사용불가로 상태를 설정하고 결과를 LBA(1020)에 전달할 수 있다.
도 11은 본 개시의 일부 실시 예에 따른 번들 관리 서버가 번들 다운로드 과정에 사용한 인증서를 검증하는 절차의 예를 도시하는 도면이다. 도 11은 도 10의 10103 단계에 해당하는 절차의 예를 도시하는 도면이다.
도 11을 참조하면, 11001 단계에서 SSP는 LBA로부터 SSP 인증정보(SSP Credential)의 생성 명령을 수신할 수 있다. 11001단계에서 LBA로부터 전달된 정보는 다운로드 할 번들의 번들 패밀리 식별자(spbFamilyId), 번들 패밀리 관리자 식별자(Oid), 번들 관리 서버(1050)의 인증서, SSP가 사용할 인증서 정보(sspCiToBeUsed) 중 적어도 하나를 포함할 수 있다. 또한 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나이상 필요한 경우, 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다.
도 11을 참조하면, 11003단계에서 SSP는 LBA로부터 전달된 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자, 인증서들에 포함된 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자, 인증서 및 SSP가 사용할 인증서 정보를 SSP에 저장된 인증서 정보와 비교 검증할 수 있다. 11101단계에서 SSP는 전달된 인증서들에서 번들 패밀리 식별자와 번들 패밀리 관리자 식별자 설정값들을 추출할 수 있다. 즉, SSP는 FID, Oid 값을 추출할 수 있으며, 이러한 값들은 복수 개일 수 있다. 11103 단계에서 SSP는 각 인증서에서 추출된 번들 패밀리 식별자와 번들 패밀리 관리자 식별자 설정값의 공통 값이 존재하는 지 여부를 판단한다. 이때, 공통 값이 복수 개 있을 수도 있다. 11103단계에서 공통 값이 존재하지 않은 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 11을 참조하면, 11103단계에서 공통 값이 존재하는 경우, 11105 단계에서 SSP는 상기 11001 단계에서 전달된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자와 상기 11103 단계에서 확인한 공통 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 설정값에 동일 한 값이 존재하는 지 여부를 판단할 수 있다. 11105단계에서 동일한 값이 존재하지 않는 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 11을 참조하면, 11105 단계에서 동일 값이 존재하는 경우, 11107단계에서 SSP는 11105 단계에서 확인된 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 할당된 인증서 설정이 존재하는지 여부를 확인한다. 또한, 11101 단계에서 LBA로부터 전달된 인증서들에 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 포함되지 않을 경우, SSP는 11103 단계와 11105 단계를 수행하지 않을 수 있다. 그리고 11107 단계에서 SSP는 상기 11001 단계에서 전달된 번들 패밀리 식별자와 번들 패밀리 관리자 식별자에 할당된 인증서 설정이 존재하는지 여부를 확인할 수 있다. SSP에 상기 인증서 설정이 존재하는 경우, 11009단계에서 SSP는 상기 인증서 설정의 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification) 중 적어도 하나를 이용하여 11001단계에서 전달된 인증서를 검증할 수 있다. 또한 상기 인증서 설정의 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)의 적어도 하나의 값이 11001단계에서 전달된 SSP가 사용할 인증서 정보(sspCiToBeUsed)와 일치하는지 여부를 판단할 수 있다.
도 11을 참조하면, 11107단계에서 SSP에 해당 번들 패밀리 식별자와 해당 번들 패밀리 관리자 식별자에 할당된 인증서 설정이 존재하지 않을 경우, SSP는 해당 번들 패밀리 식별자에 할당된 인증서 설정이 존재하는지 여부를 확인할 수 있다. SSP에 상기 인증서 설정이 존재하는 경우, 11009단계에서 SSP는 상기 인증서 설정의 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification) 중 적어도 하나를 이용하여 11001단계에서 SSP는 전달된 인증서를 검증할 수 있다. 또한 상기 인증서 설정의 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)의 적어도 하나의 값이 11001단계에서 전달된 SSP가 사용할 인증서 정보(sspCiToBeUsed)와 일치하는지 여부를 판단할 수 있다.
도 11을 참조하면, 11107단계에서 해당 번들 패밀리 식별자에 할당된 인증서 설정이 존재하지 않을 경우, SSP는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자가 할당되지 않은 인증서 정보가 존재하는지 여부를 확인할 수 있다. SSP에 인증서 설정이 존재하는 경우, 11009단계에서 SSP는 인증서 설정의 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보들(SpbmVerification) 중 적어도 하나를 이용하여 11001단계에서 SSP는 전달된 인증서를 검증할 수 있다. 또한, 인증서 설정의 번들 관리 서버가 SSP를 검증하는데 이용할 수 있는 인증서 정보들(SpblVerification)의 적어도 하나의 값이 11001단계에서 전달된 SSP가 사용할 인증서 정보(sspCiToBeUsed)와 일치하는지 여부를 판단할 수 있다.
도 11을 참조하면, 11009단계에서 인증서들 또는 SSP가 사용할 인증서 정보 검증이 실패하는 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 12는 본 개시의 일부 실시 예에 따른 번들 관리 서버가 번들 다운로드과정에 사용한 인증서를 검증하는 절차의 예를 도시하는 도면이다. 도 12은 도 10의 10010 단계에 해당하는 절차의 예를 도시하는 도면이다.
도 12를 참조하면, SSP는 12001 단계에서 LBA로부터 번들 설치 명령을 수신할 수 있다. 이때 LBA로부터 전달되는 정보는 도 10의 10009 단계에 도시된 SPBM Token 및 묶인 번들(Bound Bundle), 번들 메타데이터, 번들 관리 서버의 인증서 중 적어도 하나를 포함할 수 있다. 또한 번들 관리 서버 인증서의 유효 여부를 판단하기 위해 Sub CI 인증서가 하나이상 필요한 경우, 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 포함할 수 있다. 또한, 번들 메타데이터 또는 묶인 번들은 현재 번들의 번들 패밀리 식별자 또는 번들 패밀리 식별자와 번들 패밀리 관리자 식별자를 포함할 수 있다.
도 12를 참조하면, 12002단계에서 SSP는 현재 다운로드 세션에 저장된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자, 인증서 설정 중 적어도 하나의 정보를 불러올 수 있다. 상기 정보는 현재 세션을 지칭하는 Transaction ID와 연결되어 저장되어 있을 수 있다. 또는, 12002단계에서 SSP는 12001 단계에서 전달된 번들 메타데이터 또는 묶인 번들에 포함된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자에 할당된 인증서 설정을 불러올 수 있다.
도 12를 참조하면, 12003단계에서 SSP는 LBA로부터 전달된 번들 관리 서버의 인증서 및 번들 관리 서버 인증서와 함께 하나 이상의 Sub CI 인증서를 검증할 수 있다. 12101단계에서 SSP는 전달된 인증서들에서 번들 패밀리 식별자와 번들 패밀리 관리자 식별자 설정값들을 추출할 수 있다. 즉, SSP는 FID, Oid 값을 추출할 수 있으며, 이러한 값들은 복수 개일 수 있다. 12103 단계에서 SSP는 각 인증서에서 추출된 번들 패밀리 식별자와 번들 패밀리 관리자 식별자 설정값의 공통 값이 존재하는 지 여부를 판단한다. 이때, 공통 값이 복수 개 있을 수도 있다. 12103단계에서 공통 값이 존재하지 않은 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 12를 참조하면, 12103단계에서 공통 값이 존재하는 경우, 12105 단계에서 SSP는 12001 단계에서 전달된 번들 메타데이터 또는 묶인 번들에 포함된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자와 12103 단계에서 확인한 공통 번들 패밀리 식별자, 번들 패밀리 관리자 식별자 설정값에 동일한 값이 존재하는 지 여부를 판단할 수 있다. 12105단계에서 동일한 값이 존재하지 않는 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 12를 참조하면, 12105 단계에서 동일 값이 존재하는 경우, 12107단계에서 SSP는 12105 단계에서 확인된 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자와 12002단계에서 불러온 현재 다운로드 세션에 저장된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자가 일치 하는지 여부를 확인할 수 있다. 또한, 12101 단계에서 LBA로부터 전달된 인증서들에 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 포함되지 않을 경우, SSP는 12103 단계와 12105 단계를 수행하지 않을 수 있다. 그리고 12107 단계에서 SSP는 상기 12001 단계에서 전달된 번들 메타데이터 또는 묶인 번들에 포함된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자와 12002단계에서 불러온 현재 다운로드 세션에 저장된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자가 일치 하는지 여부를 확인할 수 있다.
12107단계에서, 두 값이 일치하지 않는 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서들의 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 12를 참조하면, 12107단계에서 12105 단계에서 확인된 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자와 12002단계에서 불러온 현재 다운로드 세션에 저장된 번들 패밀리 식별자, 번들 패밀리 관리자 식별자가 일치하는지 여부를 판단할 수 있다. 또한, 12009단계에서 SSP는 12002 단계에서 불러온 인증서 설정 중 번들 관리 서버를 검증하는데 이용할 수 있는 인증서 정보(SpbmVerification)를 이용하여 12001 단계에서 전달된 번들 관리 서버의 인증서들을 검증할 수 있다.
도 12를 참조하면, 12009단계에서 인증서들 또는 SSP가 사용할 인증서 정보 검증이 실패하는 경우, SSP는 LBA가 전달한 번들 관리 서버의 인증서가 유효하지 않다고 판단하여 검증 실패 오류를 발생시키고 검증 과정을 종료할 수 있다.
도 13은 본 개시의 일부 실시 예에 따른 단말의 구성을 도시하는 도면이다.
도 13 에서 도시된 바와 같이, 단말은 송수신부(Transceiver)(13010) 및 적어도 하나 이상의 프로세서(13020)를 포함할 수 있다. 또한, 단말은 SSP(13030)를 포함할 수 있다. 예를 들면, SSP(13030)는 단말에 삽입될 수 있고, 단말에 내장될 수도 있다. 상기 적어도 하나 이상의 프로세서(13020)는 제어부로 명명할 수도 있다.
다만, 단말의 구성은 도 13에 제한되지 않으며, 도 13에 도시된 구성 요소들보다 더 많은 구성 요소를 포함하거나, 더 적은 구성 요소를 포함할 수도 있다. 일부 실시예에 따르면, 송수신부(13010), 적어도 하나의 프로세서(13020) 및 메모리(미도시)는 하나의 칩(Chip) 형태로 구현될 수 있다. 또한 SSP(13030)가 내장되는 경우, SSP(13030)를 포함하여, 하나의 칩 형태로 구현될 수 있다. 일부 실시예에 따르면, 송수신부(13010)는 번들 관리 서버와 본 개시의 다양한 실시 예에 따른 신호, 정보, 데이터 등을 송신 및 수신할 수 있다. 송수신부(13010)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 다만, 이는 송수신부(13010)의 일 실시예일뿐이며, 송수신부(13010)의 구성요소가 RF 송신기 및 RF 수신기에 한정되는 것은 아니다. 또한, 송수신부(13010)는 무선 채널을 통해 신호를 수신하여 적어도 하나의 프로세서(13020)로 출력하고, 적어도 하나의 프로세서(13020)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
일부 실시예에 따르면, 송수신부(13010)는 번들 관리 서버로부터 번들 관리 서버의 인증서, SSP(13030)가 사용할 CI정보, 번들 패밀리 식별자, 묶인 번들 등을 수신할 수 있다. 또한 송수신부(13010)는 특정 번들 패밀리 식별자에 대응하는 CI 정보, SSP(13030)의 인증정보 등을 번들 관리 서버로 송신할 수 있다.
한편, 적어도 하나 이상의 프로세서(13020)는 단말을 전반적으로 제어하기 위한 구성요소이다. 적어도 하나 이상의 프로세서(13020)는 전술한 바와 같은 본 개시의 다양한 실시 예에 따라, 단말의 전반적인 동작을 제어할 수 있다.
한편, SSP(13030)는 번들을 설치하고 제어하기 위한 프로세서 또는 컨트롤러를 포함하거나, 어플리케이션이 설치되어 있을 수 있다.
일부 실시예에 따르면, SSP(13030) 내의 적어도 하나 이상의 프로세서 또는 컨트롤러는 특정 번들 패밀리 식별자에 대응하는 특정 번들을 다운로드 및 설치 시 사용할 수 있는 CI(Certificate Issuer)정보를 확인하고, SSP에 기 설정되어 있는 번들 패밀리 식별자 별 CI정보를 기초로 전달된 번들 관리 서버 인증서, SSP가 사용할 CI 정보, 및 번들 패밀리 식별자 중 적어도 하나를 검증할 수 있다.
또한, 일부 실시예에 따르면, 적어도 하나 이상의 프로세서(13020)는 송수신부(13010)를 제어하여 번들 관리 서버로 특정 번들 패밀리 식별자에 대응하는 CI정보를 전달하고, 번들 관리 서버로부터 번들 관리 서버의 인증서, SSP(Smart Secure Platform)가 사용할 CI정보, 및 번들 패밀리 식별자 중 적어도 하나를 수신할 수 있다.
다양한 실시 예에 따른 SSP(13030)는 번들을 다운로드하고, 번들을 설치할 수 있다. 또한, SSP(13030)는 번들을 관리할 수 있다.
또한 일부 실시예에 따르면, SSP(13030)는 프로세서(13020)의 제어에 따라 동작할 수도 있다. 또는 SSP(13030)는 번들을 설치하고 제어하기 위한 프로세서 또는 컨트롤러를 포함하거나, 어플리케이션이 설치되어 있을 수 있다. 어플리케이션의 일부 또는 전부는 SSP(13030) 또는 메모리(미도시)에 설치되어 있을 수도 있다.
한편, 단말은 메모리(미도시)를 더 포함할 수 있으며, 단말의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 또한, 메모리는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 프로세서(13020)는 메모리에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
도 14는 본 개시의 실시 예에 따른 번들 관리 서버의 구성을 도시하는 도면이다.
일부 실시 예에 따르면, 번들 관리 서버는 송수신부(Transceiver)(14010) 및 적어도 하나 이상의 프로세서(14020)를 포함할 수 있다. 다만, 번들 관리 서버의 구성은 도 14에 제한되지 않으며, 도 14에 도시된 구성 요소들보다 더 많은 구성 요소를 포함하거나, 더 적은 구성 요소를 포함할 수도 있다. 일부 실시예에 따르면, 송수신부(14010), 적어도 하나의 프로세서(14020) 및 메모리(미도시)는 하나의 칩(Chip) 형태로 구현될 수 있다.
일부 실시예에 따르면, 송수신부(14010)는 단말, 가입자, 또는 서비스 제공자와 본 개시의 다양한 실시 예에 따른 신호, 정보, 데이터 등을 송신 및 수신할 수 있다. 예를 들면, 송수신부(14010)는 단말로부터 특정 번들 패밀리 식별자 또는 번들 패밀리 식별자 및 번들 패밀리 관리자 식별자에 대응하는 인증서 정보, SSP의 인증정보 등을 수신하고, 단말로 번들 관리 서버의 인증서, SSP가 사용할 인증서정보, 번들 패밀리 식별자, 묶인 번들 등을 송신할 수 있다.
송수신부(14010)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 다만, 이는 송수신부(14010)의 일 실시 예일 뿐이며, 송수신부(14010)의 구성요소가 RF 송신기 및 RF 수신기에 한정되는 것은 아니다. 또한, 송수신부(14010)는 무선 채널을 통해 신호를 수신하여 적어도 하나의 프로세서(14020)로 출력하고, 적어도 하나의 프로세서(14020)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
한편, 적어도 하나 이상의 프로세서(14020)는 번들 관리 서버를 전반적으로 제어하기 위한 구성요소이다. 프로세서(14020)는 전술한 바와 같은 본 개시의 다양한 실시 예에 따라, 번들 관리 서버 의 전반적인 동작을 제어할 수 있다. 상기 적어도 하나 이상의 프로세서(14020)는 제어부로 명명할 수 있다.
일부 실시예에 따르면, 적어도 하나 이상의 프로세서(14020)는 단말로 송신할 번들 관리 서버의 인증서, 및 단말의 SSP가 사용할 인증서 정보를 선택하고, 단말의 SSP의 인증정보(SSP Credential)를 검증하고, SPBMToken 및 묶인 번들(Bound Bundle)을 생성할 수 있다.
또한, 일부 실시예에 따르면, 적어도 하나의 프로세서(14020)는 단말로 번들 관리 서버의 인증서, SSP가 사용할 인증서 정보, 번들 패밀리 식별자, 묶인 번들 등을 송신하고, 단말로부터 특정 번들 패밀리 식별자에 대응하는 인증서 정보, SSP의 인증정보 등을 수신하도록 송수신부(14010)를 제어할 수 있다.
한편, 번들 관리 서버는 메모리(미도시)를 더 포함할 수 있으며, 번들 관리 서버의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 또한, 메모리는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 프로세서(14020)는 메모리에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 개시의 다양한 실시 예들 및 이에 사용된 용어들은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 개시에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예를 들어, 제1) 구성요소가 다른(예를 들어, 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예를 들어, 제3 구성요소)를 통하여 연결될 수 있다.
본 개시에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예를 들어, 내장 메모리 또는 외장 메모리에 저장된 명령어를 포함하는 소프트웨어(예를 들어, 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 다양한 실시 예들에 따른 단말(250)을 포함할 수 있다. 상기 명령이 프로세서(예를 들어, 도 8의 프로세서(820) 또는 도 9의 프로세서(920))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예를 들어, 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예를 들어, 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예를 들어, 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (1)

  1. 단말의 인증서 관리 및 검증 방법에 있어서,
    번들 패밀리 식별자 및 번들 패밀리 관리자 식별자 중 적어도 하나 이상의 식별자에 대응하는 특정 번들을 다운로드 및 설치 시 사용할 수 있는 인증서 정보를 획득하는 단계;
    번들 관리 서버로, 상기 특정 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 중 적어도 하나 이상의 식별자에 대응하는 인증서 정보를 송신하는 단계; 및
    상기 번들 관리 서버로부터, 상기 번들 관리 서버의 인증서, SSP(Smart Secure Platform)가 사용할 인증서 정보, 상기 번들 패밀리 식별자 및 상기 번들 패밀리 관리자 식별자 중 적어도 하나 이상을 수신하는 단계를 포함하는, 단말의 인증서 관리 및 검증 방법.
KR1020190080318A 2019-05-09 2019-07-03 인증서 관리 및 검증 방법 및 장치 KR20200130044A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202080033823.8A CN113785532B (zh) 2019-05-09 2020-05-11 用于管理和验证证书的方法和装置
EP20801562.8A EP3906637A4 (en) 2019-05-09 2020-05-11 METHOD AND DEVICE FOR ADMINISTRATION AND VERIFICATION OF CERTIFICATES
US16/871,278 US11172362B2 (en) 2019-05-09 2020-05-11 Method and apparatus for managing and verifying certificate
PCT/KR2020/006156 WO2020226466A1 (en) 2019-05-09 2020-05-11 Method and apparatus for managing and verifying certificate
US17/521,287 US11576044B2 (en) 2019-05-09 2021-11-08 Method and apparatus for managing and verifying certificate
US18/164,821 US11997488B2 (en) 2019-05-09 2023-02-06 Method and apparatus for managing and verifying certificate

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190054522 2019-05-09
KR20190054522 2019-05-09

Publications (1)

Publication Number Publication Date
KR20200130044A true KR20200130044A (ko) 2020-11-18

Family

ID=73698187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190080318A KR20200130044A (ko) 2019-05-09 2019-07-03 인증서 관리 및 검증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200130044A (ko)

Similar Documents

Publication Publication Date Title
KR102657876B1 (ko) Ssp 단말과 서버가 디지털 인증서를 협의하는 방법 및 장치
KR102536948B1 (ko) Ssp의 번들을 관리하는 방법 및 장치
KR20160124648A (ko) 프로파일 다운로드 및 설치 장치
CN113785532B (zh) 用于管理和验证证书的方法和装置
KR20200044629A (ko) 프로파일 원격관리 예외 처리 방법 및 장치
US20240015508A1 (en) Method and device for remote management and verification of remote management authority
KR102658615B1 (ko) SSP 단말의 번들 다운로드 과정과 eSIM 프로파일 다운로드 과정 호환 연동 방법
CN116097636A (zh) 用于设备之间的链接或配置文件传输的装置和方法
KR102180481B1 (ko) 번들 정보를 제공하는 방법 및 장치
KR20200130044A (ko) 인증서 관리 및 검증 방법 및 장치
KR102637120B1 (ko) eUICC 프로파일 설치 권한을 관리하는 방법 및 장치
KR20210020770A (ko) 기기 간 번들 이동 방법 및 장치
KR20210110145A (ko) 원격 관리 및 원격 관리 권한 검증 방법 및 장치
KR20210034475A (ko) 기기 간 번들 또는 프로파일 이동 시 기기 간 상호 인증 방법 및 장치
KR20210020725A (ko) 기기 간 번들 이동 방법 및 장치
KR20210034522A (ko) 기기 간 번들 이동 후 번들의 상태를 설정하는 방법 및 장치
KR20210116169A (ko) 기기 간 번들 또는 프로파일 온라인 이동 방법 및 장치
CN114731505A (zh) 用于在装置之间的包传输后设置包的状态的方法和设备
CN114556887A (zh) 用于在设备之间传送捆绑包的方法和设备
KR20210123191A (ko) 스마트 보안 매체를 위한 이벤트 관리 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination