KR102637120B1 - eUICC 프로파일 설치 권한을 관리하는 방법 및 장치 - Google Patents

eUICC 프로파일 설치 권한을 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR102637120B1
KR102637120B1 KR1020190017969A KR20190017969A KR102637120B1 KR 102637120 B1 KR102637120 B1 KR 102637120B1 KR 1020190017969 A KR1020190017969 A KR 1020190017969A KR 20190017969 A KR20190017969 A KR 20190017969A KR 102637120 B1 KR102637120 B1 KR 102637120B1
Authority
KR
South Korea
Prior art keywords
command code
server
operator
profile
terminal
Prior art date
Application number
KR1020190017969A
Other languages
English (en)
Other versions
KR20200099836A (ko
Inventor
이혜원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190017969A priority Critical patent/KR102637120B1/ko
Priority to PCT/KR2020/002137 priority patent/WO2020167045A1/ko
Priority to US17/310,640 priority patent/US11792640B2/en
Publication of KR20200099836A publication Critical patent/KR20200099836A/ko
Application granted granted Critical
Publication of KR102637120B1 publication Critical patent/KR102637120B1/ko

Links

Images

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 개시는 eUICC 프로파일 설치 권한을 관리하는 방법 및 장치에 관한 것으로, 일 실시예에 따른 무선 통신 시스템에서 eUICC를 이용하여 프로파일을 관리하는 단말은, 송수신부; 및 제1 서버로부터, 프로파일에 관련된 이벤트를 다운로드하기 위한 이벤트 다운로드 정보를 포함하는 명령코드를 수신하고, 상기 명령코드의 처리를 위한 검증을 수행하고, 상기 검증을 성공한 경우, 상기 이벤트 다운로드 정보를 이용하여 상기 이벤트의 다운로드를 요청하는 메시지를 생성하여 제2 서버로 전송하고, 상기 제2 서버로부터 상기 이벤트의 다운로드를 요청하는 메시지에 대응하여 상기 이벤트를 수신하도록 제어하는 적어도 하나의 프로세서를 포함한다.

Description

eUICC 프로파일 설치 권한을 관리하는 방법 및 장치 {APPARATUS AND METHOD FOR MANAGING AUTHORIZATION OF INSTALLING AN eUICC PROFILE}
본 개시는 eUICC 프로파일을 설치하고 관리하는 방법 및 장치에 관한 것이다.
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 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크, 사물 통신, MTC 등의 기술이 5G 통신 기술이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
상술한 것과 같이 이동통신 시스템의 발전에 따라 다양한 서비스를 제공할 수 있게 됨으로써, 이러한 서비스들을 효과적으로 제공하기 위한 방안이 요구되고 있다.
"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카드라고도 한다.
UICC 카드 중 단말에 고정하여 사용하는 UICC를 eUICC (embedded UICC)라고 하는데, 통상적으로 eUICC는 단말에 고정하여 사용하고, 원격으로 SIM 모듈을 다운로드 받아서 선택할 수 있는 UICC 카드를 의미한다. 또한 다운로드 받는 SIM 모듈정보를 통칭하여 eUICC 프로파일, 또는 더 간단히 프로파일 이라고도 한다.
본 개시는 이동통신 시스템에서 서비스를 효과적으로 제공할 수 있는 장치 및 방법을 제공한다.
본 개시의 일 실시예에 따르면, 통신 시스템에서 단말이 통신 서비스를 선택하여 통신 연결을 하기 위한 방법 및 장치를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 통신 시스템에서 단말이 통신 연결을 하기 위한 프로파일을 온라인으로 다운로드 하여 설치하고 관리하는 방법 및 장치를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 통신 시스템에서 단말이 이벤트를 효율적으로 다운로드 받을 수 있는 방법 및 장치를 제공할 수 있다.
본 개시의 일 실시예에 따른 무선 통신 시스템에서 eUICC(embedded universal integrated circuit card)를 이용하여 프로파일을 관리하는 단말은, 송수신부; 및 제1 서버로부터, 프로파일에 관련된 이벤트를 다운로드하기 위한 이벤트 다운로드 정보를 포함하는 명령코드를 수신하고, 상기 명령코드의 처리를 위한 검증을 수행하고, 상기 검증을 성공한 경우, 상기 이벤트 다운로드 정보를 이용하여 상기 이벤트의 다운로드를 요청하는 메시지를 생성하여 제2 서버로 전송하고, 상기 제2 서버로부터 상기 이벤트의 다운로드를 요청하는 메시지에 대응하여 상기 이벤트를 수신하도록 제어하는 적어도 하나의 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른 무선 통신 시스템에서 단말에 통신을 위한 명령코드를 제공하는 제1 서버는, 송수신부; 및 단말에 제공할 프로파일에 관련된 이벤트에 대응하는 이벤트 식별 정보를 획득하고, 상기 이벤트 식별 정보에 기초하여, 상기 단말이 상기 이벤트를 다운로드하기 위한 이벤트 다운로드 정보를 포함하는 명령코드를 생성하고, 상기 단말에 상기 명령코드에 서명을 추가한 서명된 명령코드 또는 상기 명령코드에 서명을 하지 않은 서명되지 않은 명령코드를 송신하도록 제어하는 적어도 하나의 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른 무선 통신 시스템에서 단말에 통신을 위한 프로파일을 제공하는 제2 서버는, 송수신부; 및 단말에 제공할 프로파일에 관련된 이벤트 및 상기 이벤트에 대응하는 이벤트 식별 정보를 획득하고, 단말로부터 단말이 획득한 명령코드에 대응하여 상기 이벤트의 다운로드를 요청하는 메시지를 수신하고, 상기 이벤트 식별 정보에 기초하여 상기 메시지를 검증하고, 상기 검증을 성공한 경우, 상기 단말로 상기 이벤트를 송신하도록 제어하는 적어도 하나의 프로세서를 포함할 수 있다.
개시된 실시예에 따르면, 이동통신 시스템에서 서비스를 효과적으로 제공할 수 있다.
본 개시의 일 실시예에 따르면, 통신 시스템에서 서버는 이벤트 식별자를 포함하는 명령코드 내지 이벤트 다운로드 정보를 생성할 때, 서명을 선택적으로 더 포함하도록 설정하거나, 이벤트 다운로드 시 추가 인증을 선택적으로 더 진행하도록 설정하여, 서버 간 통신 절차 및 단말-서버 간 통신 절차를 간소화할 수 있다.
본 개시의 일 실시예에 따르면, 통신 시스템에서 단말은 이벤트 식별자를 포함하는 명령코드 내지 이벤트 다운로드 정보를 요청할 때 서명을 선택적으로 더 포함하도록 설정하거나, 명령코드 내지 이벤트 다운로드 정보를 수신했을 때 서명이 포함되어 있는지를 판단하고 서명이 포함되지 않은 경우 추가 인증을 생략하여, 프로파일 서버로부터 이벤트를 효율적으로 다운로드하고 처리할 수 있다.
도 1은 본 개시의 일 실시예에 따른 단말이 고정된 프로파일이 탑재된 UICC(Universal Integrated Circuit Card)를 이용하여 이동통신 네트워크에 연결하는 방법을 도시하는 도면이다.
도 2a는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 애플리케이션을 통해 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제2 프로파일 서버로부터 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 2b는 본 개시의 일 실시예에 따른 단말이 전술한 단말과 상이한 단말에 설치된 사업자 앱을 이용하여 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 2c는 본 개시의 일 실시예에 따른 단말이 전술한 단말과 상이한 단말에 설치된 사업자 앱을 이용하여 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 2d는 본 개시의 일 실시예에 따른 단말이 전술한 단말과 상이한 단말에 설치된 사업자 앱을 이용하여 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 2e는 본 개시의 일 실시예에 따른 단말이 전술한 단말과 상이한 단말에 설치된 사업자 앱을 이용하여 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제1 사업자의 애플리케이션을 통해 제1 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 4는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 제1 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 5는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 제2 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 6은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 7은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제1 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 8은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 9는 본 개시의 일 실시예에 따른 프로파일 서버의 동작을 도시하는 순서도이다.
도 10은 본 개시의 일 실시예에 따른 단말의 동작을 도시하는 순서도이다.
도 11은 본 개시의 일 실시예에 따른 프로파일 서버의 구성요소를 도시하는 블록도이다.
도 12는 본 개시의 일 실시예에 따른 단말의 구성요소를 도시하는 블록도이다.
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 개시 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하의 설명에서 사용되는 특정 용어들은 본 개시의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 개시의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 개시에서 "UICC (Universal Integrated Circuit Card)"는 이동 통신 단말기 등에 삽입하여 사용하는 스마트카드 (smart card)이고 UICC 카드라고도 부른다.
UICC는 이동통신 가입자의 네트워크 접속 인증 정보, 전화번호부, SMS와 같은 개인정보가 저장되어 GSM, WCDMA, LTE 등과 같은 이동통신 네트워크에 접속 시 가입자 인증 및 트래픽 보안 키 생성을 수행하여 안전한 이동통신 이용을 가능케 하는 칩을 의미한다.
UICC에는 단말이 이동통신사업자의 망에 접속하기 위한 통신 어플리케이션 또는 접속 제어 모듈이 포함될 수 있다. 이러한 통신 어플리케이션 또는 접속 제어 모듈의 예로는 USIM (Universal Subscriber Identity Module), SIM (Subscriber Identity Module), ISIM (IP Multimedia Service Identity Module) 등이 있다. 또한 또한 UICC는 전자지갑, 티켓팅, 전자여권 등과 같은 다양한 응용 어플리케이션의 탑재를 위한 상위 레벨의 보안 기능을 제공할 수 있다.
USIM이 포함된 UICC를 통상 USIM 카드라고 부르기도 한다. 마찬가지로 SIM 모듈이 포함된 UICC를 통상적으로 SIM카드라고 부르기도 한다.
본 개시에서 "SIM 카드", "UICC 카드", "USIM 카드", "ISIM이 포함된 UICC"는 같은 의미로 사용될 수 있다. 즉, SIM 카드, USIM 카드, ISIM 카드 또는 일반적인 UICC 카드에 대해서는 본 개시의 내용이 동일하게 적용될 수 있다.
SIM 카드는 이동 통신 가입자의 개인정보를 저장하고, 이동통신 네트워크에 접속 시 가입자 인증 및 트래픽 (traffic) 보안 키(key) 생성을 수행하여 안전한 이동통신 이용을 가능하게 한다.
일반적으로, SIM 카드는 특정 이동통신 사업자의 요청에 의해 해당 사업자를 위한 전용 카드로 제조되며, 해당 사업자의 네트워크 접속을 위한 인증 정보, 예를 들어, USIM (Universal Subscriber Identity Module) 어플리케이션 및 IMSI (International Mobile Subscriber Identity), K 값, OPc 값 등이 사전에 카드에 탑재되어 출고된다. 따라서 SIM 카드는 이동통신 사업자가 납품 받아 가입자에게 제공하며, 이후 필요에 따라 OTA (Over The Air) 등의 기술을 활용하여 UICC 내 어플리케이션의 설치, 수정, 삭제 등의 관리도 수행할 수 있다. 가입자는 소유한 이동통신 단말기에 UICC 카드를 삽입하여 이동통신 사업자의 네트워크 및 응용 서비스의 이용이 가능하며, 단말기 교체 시 UICC 카드를 기존 단말기에서 새로운 단말기로 이동 삽입함으로써 UICC 카드에 저장된 인증정보, 이동통신 전화번호, 개인 전화번호부 등을 새로운 단말기에서 그대로 사용할 수 있다.
그러나 SIM카드는 이동통신 단말기 사용자가 다른 이동통신사업자의 서비스를 제공받는데 있어 불편한 점이 있다. 이동통신 단말기 사용자는 이동통신사업자로부터 서비스를 받기 위해 SIM 카드를 물리적으로 획득해야 되는 불편함이 있다. 예를 들면, 다른 나라로 여행을 했을 때 현지 이동통신 서비스를 받기 위해서는 현지 SIM 카드를 구해야 하는 불편함이 있다. 로밍 서비스의 경우 불편함을 어느 정도 해결해 주지만, 요금이 상대적으로 비싸고, 통신사간 계약이 되어 있지 않은 경우 서비스를 받을 수 없는 문제도 있다.
한편, UICC 카드에 SIM 모듈을 원격으로 다운로드 받아서 설치할 경우, 이러한 불편함을 상당부분 해결할 수 있다. 즉 사용자가 원하는 시점에 사용하고자 하는 이동통신 서비스의 SIM 모듈을 UICC 카드에 다운로드 받을 수 있다. 이러한 UICC 카드는 복수개의 SIM 모듈을 다운로드 받아서 설치하고, 그 중의 한 개의 SIM 모듈만을 선택하는 방법으로 사용할 수도 있다. 이러한 UICC 카드는 단말에 고정하거나 고정하지 않을 수 있다. 특히 단말에 고정하여 사용하는 UICC를 eUICC (embedded UICC)라고 하는데, 통상적으로 eUICC는 단말에 고정하여 사용하고, 원격으로 SIM 모듈을 다운로드 받아서 선택할 수 있는 UICC 카드를 의미한다. 본 개시에서는 원격으로 SIM 모듈을 다운로드 받아 선택할 수 있는 UICC 카드를 eUICC라 한다. 즉 원격으로 SIM 모듈을 다운로드 받아 선택할 수 있는 UICC 카드 중 단말에 고정하거나 고정하지 않는 UICC 카드를 통칭하여 eUICC로 사용한다. 또한 다운로드 받는 SIM 모듈정보를 통칭하여 eUICC 프로파일, 또는 더 간단히 프로파일 이라는 용어로 사용한다.
본 개시에서 "eUICC(embedded UICC)"는 단말에 삽입 및 탈거가 가능한 착탈식 이 아닌 단말에 내장된 칩 형태의 보안 모듈이다. eUICC는 OTA(Over The Air)기술을 이용하여 프로파일을 다운받아 설치할 수 있다. eUICC는 프로파일 다운로드 및 설치가 가능한 UICC로 명명할 수 있다.
본 개시에서 eUICC에 OTA 기술을 이용하여 프로파일을 다운받아 설치하는 방법은 단말에 삽입 및 탈거가 가능한 착탈식 UICC에도 적용될 수 있다. 즉, 본 개시의 실시예에는 OTA 기술을 이용하여 프로파일을 다운 받아 설치 가능한 UICC에 적용될 수 있다.
본 개시에서 "UICC"는 "SIM"과 혼용될 수 있고, "eUICC"는 "eSIM"과 혼용될 수 있다.
본 개시에서 "프로파일(Profile)"은 UICC내에 저장되는 어플리케이션, 파일시스템, 인증키 값 등을 소프트웨어 형태로 패키징 한 것을 의미할 수 있다.
본 개시에서 "USIM Profile"은 "프로파일"과 동일한 의미이거나 또는 프로파일 내 USIM 어플리케이션에 포함된 정보를 소프트웨어 형태로 패키징 한 것을 의미할 수 있다.
본 개시에서 단말이 프로파일을 활성화(enable)하는 동작은, 해당 프로파일의 상태를 활성화 상태(enabled)로 변경하여 단말이 해당 프로파일을 제공한 통신사업자를 통해 통신서비스를 받을 수 있도록 설정하는 동작을 의미할 수 있다. 활성화 상태의 프로파일은 "활성화된 프로파일(enabled Profile)"로 표현될 수 있다.
본 개시에서 단말이 프로파일을 비활성화(disable)하는 동작은, 해당 프로파일의 상태를 비활성화 상태(disabled)로 변경하여 단말이 해당 프로파일을 제공한 통신사업자를 통해 통신서비스를 받을 수 없도록 설정하는 동작을 의미할 수 있다. 비활성화 상태의 프로파일은 "비활성화된 프로파일(disabled Profile)"로 표현될 수 있다.
본 개시에서 단말이 프로파일을 삭제(delete)하는 동작은, 해당 프로파일의 상태를 삭제 상태(deleted)로 변경하여 단말이 더 이상 해당 프로파일을 활성화 또는 비활성화할 수 없도록 설정하는 동작을 의미할 수 있다. 삭제 상태의 프로파일은 "삭제된 프로파일(deleted Profile)"로 표현될 수 있다.
본 개시에서 단말이 프로파일을 활성화(enable), 비활성화(disable), 또는 삭제(delete)하는 동작은, 각 프로파일의 상태를 활성화 상태(enabled), 비활성화 상태(disabled), 또는 삭제 상태(deleted)로 즉시 변경하지 않고, 각 프로파일을 활성화 예정 상태(to be enabled), 비활성화 예정 상태(to be disabled), 또는 삭제 예정 상태(to be deleted)로 우선 표시(marking)만 해두고 단말 내지 단말의 UICC가 특정 동작(예를 들면, 새로 고침(REFRESH) 또는 초기화(RESET) 명령의 수행)을 수행한 이후에 각 프로파일을 활성화 상태(enabled), 비활성화 상태(disabled), 또는 삭제 상태(deleted)로 변경하는 동작을 의미할 수도 있다. 특정 프로파일을 예정 상태(즉 활성화 예정 상태(to be enabled), 비활성화 예정 상태(to be disabled), 또는 삭제 예정 상태(to be deleted))로 표시(marking)하는 동작은 반드시 하나의 프로파일에 대해서 하나의 예정 상태를 표시하는 것으로 제한되지 않으며, 하나 이상의 프로파일을 각각 서로 같거나 다른 예정 상태로 표시하거나, 하나의 프로파일을 하나 이상의 예정 상태로 표시하거나, 하나 이상의 프로파일을 각각 서로 같거나 다른 하나 이상의 예정 상태로 표시하는 것도 가능하다.
또한 단말이 임의의 프로파일에 대해 하나 이상의 예정 상태를 표시하는 경우, 두 개의 예정 상태 표시는 하나로 통합될 수도 있다. 예를 들어 임의의 프로파일이 비활성화 예정 상태(to be disabled) 및 삭제 예정 상태(to be deleted)로 표시된 경우, 해당 프로파일은 비활성화 및 삭제 예정 상태(to be disabled and deleted)로 통합 표시될 수도 있다.
또한 단말이 하나 이상의 프로파일에 대해 예정 상태를 표시하는 동작은 순차적으로 혹은 동시에 수행될 수도 있다. 또한 단말이 하나 이상의 프로파일에 대해 예정 상태를 표시하고 이후 실제 프로파일의 상태를 변경하는 동작은 순차적으로 혹은 동시에 수행될 수도 있다.
본 개시에서 "프로파일 제공서버"는 프로파일을 생성하거나, 생성된 프로파일을 암호화 하거나, 프로파일 원격관리 명령어를 생성하거나, 생성된 프로파일 원격관리 명령어를 암호화하는 기능을 포함할 수 있다. 프로파일 제공서버는, SM-DP (Subscription Manager Data Preparation), SM-DP+ (Subscription Manager Data Preparation plus), off-card entity of Profile Domain, 프로파일 암호화 서버, 프로파일 생성서버, 프로파일 제공자 (Profile Provisioner, PP), 프로파일 공급자 (Profile Provider), PPC holder (Profile Provisioning Credentials holder) 로 표현될 수 있다.
본 개시에서 "프로파일 관리서버"는 프로파일을 관리하는 기능을 포함할 수 있다. 프로파일 관리 서버는 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), PP (Profile Manager) 등으로 표현될 수 있다.
본 개시에서 프로파일 제공서버는 프로파일 관리서버의 기능을 합친 것을 의미할 수도 있다. 따라서, 본 개시의 다양한 일 실시예에서, 프로파일 제공서버의 동작은 프로파일 관리서버에서 수행될 수도 있다. 마찬가지로, 프로파일 관리서버 또는 SM-SR의 동작은 프로파일 제공서버에서 수행될 수도 있다.
본 개시에서 "개통중개서버"는 SM-DS (Subscription Manager Discovery Service), DS (Discovery Service), 근원개통중개서버(Root SM-DS), 대체개통중개서버(Alternative SM-DS)로 표현될 수 있다. 개통중개서버는 하나 이상의 프로파일 제공서버 내지 개통중개서버로부터 이벤트 등록 요청(Register Event Request, Event Register Request)을 수신할 수 있다. 또한, 하나 이상의 개통중개서버가 복합적으로 사용될 수 있으며, 이 경우, 제1 개통중개서버는 프로파일 제공서버뿐만 아니라 제2 개통중개서버로부터 이벤트 등록 요청을 수신할 수도 있다.
본 개시에서 프로파일 제공서버와 개통중개서버는 'RSP (Remote SIM Provisioning) 서버'라는 명칭으로 사용될 수 있다. RSP 서버는 SM-XX (Subscription Manager XX)로 표현될 수 있다.
본 개시에서 '단말'은 이동국(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) 단말/디바이스를 포함할 수 있으나, 이에 한정되는 것은 아니다. 본 개시에서 단말은 전자장치라 지칭할 수도 있다.
본 개시에서 "전자장치"는 프로파일을 다운로드 하여 설치 가능한 UICC가 내장될 수 있다. UICC가 전자장치에 내장되지 않은 경우, 물리적으로 전자장치와 분리된 UICC는 전자장치에 삽입되어 전자장치와 연결될 수 있다. 예를 들어, 카드 형태로 UICC는 전자장치에 삽입될 수 있다. 전자 장치는 단말을 포함할 수 있고, 이때, 단말은 프로파일을 다운로드하여 설치 가능한 UICC를 포함하는 단말일 수 있다. 단말에 UICC는 내장될 수 있을 뿐만 아니라, 단말과 UICC가 분리된 경우 UICC는 단말에 삽입될 수 있고, 단말에 삽입되어 단말과 연결될 수 있다. 프로파일을 다운로드하여 설치 가능한 UICC는 예를 들어 eUICC라 지칭할 수 있다.
본 개시에서 단말 또는 전자장치는 UICC 또는 eUICC를 제어하도록 단말 또는 전자장치 내에 설치된 소프트웨어 또는 애플리케이션을 포함할 수 있다. UICC 또는 eUICC를 제어하도록 단말 또는 전자 장치 내에 설치된 소프트웨어 또는 애플리케이션은, 예를 들어 Local Profile Assistant(LPA)라 지칭할 수 있다.
본 개시에서 "프로파일 구분자"는 프로파일 식별자 (Profile ID), ICCID (Integrated Circuit Card ID), Matching ID, 이벤트 식별자 (Event ID), 활성화 코드(Activation Code), 활성화 코드 토큰(Activation Code Token), 명령 코드(Command Code), 명령 코드 토큰(Command Code Token), 서명된 명령 코드(Signed Command Code), 서명되지 않은 명령 코드(Unsigned Command Code), ISD-P 또는 프로파일 도메인(Profile Domain, PD)과 매칭되는 인자로 지칭될 수 있다. 프로파일 식별자(Profile ID)는 각 프로파일의 고유 식별자를 나타낼 수 있다. 프로파일 구분자는 프로파일을 색인할 수 있는 프로파일 제공서버(SM-DP+)의 주소를 더 포함할 수 있다. 또한 프로파일 구분자는 프로파일 제공서버(SM-DP+)의 서명을 더 포함할 수 있다.
본 개시에서 "eUICC 식별자(eUICC ID)"는, 단말에 내장된 eUICC의 고유 식별자일 수 있고, EID로 지칭될 수 있다. 또한 eUICC에 프로비저닝 프로파일 (Provisioning Profile)이 미리 탑재되어 있는 경우, eUICC 식별자(eUICC ID)는 해당 프로비저닝 프로파일의 식별자 (Provisioning Profile의 Profile ID)일 수 있다. 또한 본 개시의 일 실시예에서, 단말과 eUICC 칩이 분리되지 않을 경우, eUICC 식별자(eUICC ID)는 단말 ID일 수 있다. 또한, eUICC 식별자(eUICC ID)는 eUICC칩의 특정 보안 도메인 (Secure Domain)을 지칭할 수도 있다.
본 개시에서 "프로파일 컨테이너(Profile Container)"는 프로파일 도메인(Profile Domain)으로 명명될 수 있다. 프로파일 컨테이너 (Profile Container)는 보안 도메인 (Security Domain) 일 수 있다.
본 개시에서 "APDU(application protocol data unit)"는 단말이 eUICC와 연동하기 위한 메시지 일수 있다. 또한 APDU는 PP(Profile Provider) 또는 PM(Profile Manager)이 eUICC와 연동하기 위한 메시지 일 수다.
본 개시에서 "PPC (Profile Provisioning Credentials)"는 프로파일 제공서버와 eUICC 간 상호 인증 및 프로파일 암호화, 서명을 하는데 이용되는 수단일 수 있다. PPC는 대칭키, RSA (Rivest Shamir Adleman) 인증서와 개인키, ECC (elliptic curved cryptography) 인증서와 개인키, 최상위 인증 기관(Root certification authority (CA)) 및 인증서 체인(chain) 중 하나 이상을 포함할 수 있다. 또한 프로파일 제공서버가 복수개인 경우에는 복수개의 프로파일 제공서버 별로 다른 PPC를 eUICC에 저장하거나 사용할 수 있다.
본 개시에서 "PMC (Profile Management Credentials)"는 프로파일 관리서버와 eUICC 간 상호 인증 및 전송 데이터 암호화, 서명을 하는데 이용되는 수단일 수 있다. PMC는 대칭키, RSA 인증서와 개인키, ECC 인증서와 개인키, Root CA 및 인증서 체인 중 하나 이상을 포함할 수 있다. 또한 프로파일 관리서버가 복수개인 경우에는 복수개의 프로파일 관리서버 별로 다른 PMC를 eUICC에 저장하거나 사용할 수 있다.
본 개시에서 "AID"는 어플리케이션 식별자 (Application Identifier) 일 수 있다. 이 값은 eUICC 내에서 서로 다른 어플리케이션 (Application) 을 구분해주는 구분자일 수 있다.
본 개시에서 "이벤트(Event)"는 프로파일 다운로드(Profile Download), 또는 원격 프로파일 관리(Remote Profile Management), 또는 기타 프로파일이나 eUICC의 관리/처리 명령어를 통칭하는 용어일 수 있다. 이벤트(Event)는 원격 SIM 제공 동작(Remote SIM Provisioning Operation, 또는 RSP 동작, 또는 RSP Operation) 또는 이벤트 기록(Event Record)으로 명명될 수 있으며, 각 이벤트(Event)는 그에 대응하는 이벤트 식별자(Event Identifier, Event ID, EventID) 또는 매칭 식별자(Matching Identifier, Matching ID, MatchingID)와, 해당 이벤트가 저장된 프로파일 제공서버(SM-DP+) 또는 개통중개서버(SM-DS)의 주소(FQDN, IP Address, 또는 URL)와, 프로파일 제공서버(SM-DP+) 또는 개통중개서버(SM-DS)의 서명과, 프로파일 제공서버(SM-DP+) 또는 개통중개서버(SM-DS)의 디지털 인증서를 적어도 하나 이상 포함하는 데이터로 지칭될 수 있다.
이벤트(Event)에 대응하는 데이터는 "명령코드(Command Code)"로 지칭될 수 있다. 명령코드를 이용하는 절차의 일부 또는 전체를 "명령코드 처리 절차" 또는 "명령코드 절차" 또는 "LPA API(Local Profile Assistant Application Programming Interface)"라 지칭할 수 있다. 프로파일 다운로드(Profile Download)는 프로파일 설치(Profile Installation)와 혼용될 수 있다.
또한 "이벤트 종류(Event Type)"는 특정 이벤트가 프로파일 다운로드인지 원격 프로파일 관리(예를 들어, 삭제, 활성화, 비활성화, 교체, 업데이트 등)인지 또는 기타 프로파일이나 eUICC 관리/처리 명령인지를 나타내는 용어로 사용될 수 있으며, 동작 종류(Operation Type 또는 OperationType), 동작 분류(Operation Class 또는 OperationClass), 이벤트 요청 종류(Event Request Type), 이벤트 분류(Event Class), 이벤트 요청 분류(Event Request Class) 등으로 명명될 수 있다. 임의의 이벤트 식별자(EventID 또는 MatchingID)는 단말이 해당 이벤트 식별자(EventID 또는 MatchingID)를 획득한 경로 또는 사용 용도(EventID Source 또는 MatchingID Source)가 지정되어 있을 수 있다.
본 개시에서 "프로파일 패키지(Profile Package)"는 프로파일과 혼용되거나 특정 프로파일의 데이터 객체(data object)를 나타내는 용어로 사용될 수 있으며, Profile TLV 또는 프로파일 패키지 TLV (Profile Package TLV)로 명명될 수 있다. 프로파일 패키지가 암호화 파라미터를 이용해 암호화된 경우 보호된 프로파일 패키지(Protected Profile Package (PPP)) 또는 보호된 프로파일 패키지 TLV (PPP TLV)로 명명될 수 있다. 프로파일 패키지가 특정 eUICC에 의해서만 복호화 가능한 암호화 파라미터를 이용해 암호화된 경우 묶인 프로파일 패키지(Bound Profile Package (BPP)) 또는 묶인 프로파일 패키지 TLV (BPP TLV)로 명명될 수 있다. 프로파일 패키지 TLV는 TLV (Tag, Length, Value) 형식으로 프로파일을 구성하는 정보를 표현하는 데이터 세트 (set) 일 수 있다.
본 개시에서 "로컬 프로파일 관리(Local Profile Management, LPM)"는 프로파일 로컬관리(Profile Local Management), 로컬관리(Local Management), 로컬관리 명령 (Local Management Command), 로컬 명령(Local Command), 로컬 프로파일 관리 패키지 (LPM Package), 프로파일 로컬 관리 패키지(Profile Local Management Package), 로컬관리 패키지(LOCAL MANAGEMENT PACKAGE), 로컬관리 명령 패키지(Local Management Command Package), 로컬명령 패키지(Local Command Package)로 명명될 수 있다. LPM은 단말에 설치된 소프트웨어 등을 통해 특정 프로파일의 상태(Enabled, Disabled, Deleted)를 변경하거나, 특정 프로파일의 내용 (예를 들면, 프로파일의 별칭(Profile Nickname), 또는 프로파일 요약 정보(Profile Metadata) 등)을 변경(update)하는 용도로 사용될 수 있다. LPM은 하나 이상의 로컬관리명령을 포함할 수도 있으며, 이 경우 각 로컬관리명령의 대상이 되는 프로파일은 로컬관리명령마다 서로 같거나 다를 수 있다.
본 개시에서 "원격 프로파일 관리(Remote Profile Management, RPM)"는 프로파일 원격관리(Profile Remote Management), 원격관리(Remote Management), 원격관리 명령(Remote Management Command), 원격 명령(Remote Command), 원격 프로파일 관리 패키지(RPM Package), 프로파일 원격 관리 패키지(Profile Remote Management Package), 원격관리 패키지(Remote Management Package), 원격관리 명령 패키지(Remote Management Command Package), 원격명령 패키지(Remote Command Package)로 명명될 수 있다. RPM은 특정 프로파일의 상태(Enabled, Disabled, Deleted)를 변경하거나, 특정 프로파일의 내용(예를 들면, 프로파일의 별칭(Profile Nickname), 또는 프로파일 요약 정보(Profile Metadata) 등)을 변경(update)하는 용도로 사용될 수 있다. RPM은 하나 이상의 원격관리명령을 포함할 수도 있으며, 이 경우 각 원격관리명령의 대상이 되는 프로파일은 원격관리명령마다 서로 같거나 다를 수 있다.
본 개시에서 "인증서(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)등으로 명명될 수 있다.
본 개시에서 "통신사업자 (mobile operator)"는 단말에 통신서비스를 제공하는 사업체를 나타낼 수 있으며, 통신사업자의 사업지원시스템 (business supporting system: BSS), 운영지원시스템 (operational supporting system: OSS), POS 단말 (point of sale terminal), 그리고 기타 IT 시스템을 모두 통칭할 수 있다. 또한 본 개시에서 통신사업자는 통신서비스를 제공하는 특정 사업체를 하나만 표현하는데 한정되지 않고, 하나 이상의 사업체의 그룹 또는 연합체 (association 또는 consortium) 내지 해당 그룹 또는 연합체를 대표하는 대행사 (representative)를 지칭하는 용어로 사용될 수도 있다. 또한 본 개시에서 통신사업자는 사업자 (operator 또는 OP 또는 Op.), 모바일 네트워크 운영자 (mobile network operator: MNO), 모바일 가상 네트워크 운영자 (mobile virtual network operator: MVNO), 서비스 제공자 (service provider 또는 SP), 프로파일 소유자 (profile owner: PO) 등으로 명명될 수 있으며, 각 통신사업자는 통신사업자의 이름 그리고/또는 고유 식별자 (object identifier: OID)를 적어도 하나 이상 설정하거나 할당 받을 수 있다. 만일 통신사업자가 하나 이상의 사업체의 그룹 또는 연합체 또는 대행사를 지칭하는 경우, 임의의 그룹 또는 연합체 또는 대행사의 이름 또는 고유 식별자는 해당 그룹 또는 연합체에 소속한 모든 사업체 내지 해당 대행사와 협력하는 모든 사업체가 공유하는 이름 또는 고유 식별자일 수 있다.
본 개시에서 "AKA"는 인증 및 키 합의 (Authentication and Key agreement) 를 나타낼 수 있으며, 3GPP 및 3GPP2망에 접속하기 위한 인증 알고리즘을 나타낼 수 있다.
본 개시에서 "K" 는 AKA 인증 알고리즘에 사용되는 eUICC에 저장되는 암호키 값이다.
본 개시에서 "OPc"는 AKA 인증 알고리즘에 사용되는 eUICC에 저장될 수 있는 파라미터 값이다.
본 개시에서 "NAA"는 네트워크 접속 어플리케이션 (Network Access Application) 응용프로그램으로, UICC에 저장되어 망에 접속하기 위한 USIM 또는 ISIM과 같은 응용프로그램일 수 있다. NAA는 망접속 모듈일 수 있다.
본 개시에서 "표지자(indicator)"는 임의의 기능, 설정, 동작이 필요하거나 필요하지 않음을 표현하는 용도로 사용될 수 있고, 또는 해당 기능, 설정, 동작 자체를 표현하는 용도로도 사용될 수 있다. 또한, 본 개시에서 표지자는 문자열이나 숫자열(alphanumeric string), 참/거짓을 나타내는 연산자(boolean - TRUE or FALSE), 비트맵(bitmap), 어레이(array) 등 다양한 형태로 표현될 수 있으며, 동일한 의미를 가지는 다른 표현법들이 혼용될 수 있다.
이하에서는 도 1 내지 도 12를 참조하여 본 개시의 eUICC 프로파일을 설치하고 관리하는 방법 및 장치를 설명하도록 한다.
도 1은 본 개시의 일 실시예에 따른 단말에 고정된 프로파일이 탑재된 UICC를 이용한 단말의 이동통신 네트워크 연결방법을 도시하는 도면이다.
도 1에서 도시한 바와 같이, UICC(120)는 단말(110)에 삽입될 수 있다. 예를 들면, UICC(120)는 착탈형 일 수도 있고 단말에 미리 내장된 것 일 수도 있다.
고정된 프로파일이 탑재된 UICC의 고정된 프로파일은 특정 통신사에 접속할 수 있는 '접속정보'가 고정되어 있음을 의미한다. 예를 들면, 접속정보는 가입자 구분자인 IMSI 및 가입자 구분자와 함께 망에 인증하는데 필요한 K 또는 Ki 값일 수 있다.
다양한 실시예에 따른 단말(110)은 UICC(120)를 이용하여 이동통신사업자의 인증처리시스템 (예를 들면, HLR (home location register) 이나 AuC)과 인증을 수행할 수 있다. 예를 들면, 인증과정은 AKA (Authentication and Key Agreement) 과정일 수 있다. 단말은 인증에 성공하면 이동통신시스템의 이동통신네트워크(130)를 이용하여 전화나 모바일 데이터 이용 등의 이동통신 서비스를 이용할 수 있다.
도 2a는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 애플리케이션을 통해 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제2 프로파일 서버로부터 이벤트를 다운로드 받는 시스템의 구성을 도시하는 도면이다.
도 2a에 도시된 바와 같이, 단말(200)에는 eSIM(210)이 장착되어 있고, eSIM(210)에는 프로파일(미도시)이 설치되어 있을 수 있다. 또한 단말(200)에는 LPA(220)가 설치되어 있을 수 있다. eSIM(210)은 LPA(220)의 제어를 받을 수 있다. 또한, eSIM(210)과 LPA(220)은 명령코드(Command Code)의 서명 확인을 위한 기능(Verify Command Code 요청 및 응답 메시지)을 지원하는 eSIM/LPA일 수도 있고, 해당 기능을 지원하지 않는 eSIM/LPA일 수도 있다. 명령코드 서명 확인 기능을 지원하는 eSIM과 LPA는, 예를 들면, 각각 Version 3 eSIM (v3 eSIM)과 Version 3 LPA (v3 LPA)일 수 있다. 명령코드 서명 확인 기능을 지원하지 않는 eSIM과 LPA는, 예를 들면, 각각 Version 2 eSIM (v2 eSIM)과 Version 2 LPA (v2 LPA)일 수 있다.
단말(200)에는 임의의 통신사업자의 애플리케이션(이하 "사업자 앱", 230)이 더 설치되어 있을 수 있다. 사업자 앱(230)은 LPA (220) 및 임의의 통신사업자의 서버(이하 "사업자 서버" 또는 "사업자", 240)와 연결되어 있을 수 있다. 또한 도면에는 편의상 단말에 사업자 앱(230)이 하나만 설치되어 있고 하나의 사업자 서버(240)가 연결된 경우를 도시하였으나, 구현 및 실시예에 따라 하나 이상의 사업자 앱(230)이 단말에 설치되거나 하나 이상의 사업자 서버(240)가 구성에 포함될 수도 있다. 이렇게 다양한 단말과 서버의 구성을 이하 도면에서는 간략하게 단일 사업자 앱과 단일 사업자 서버로 표기할 수도 있음에 유의해야 한다. 또한, v2 LPA에 대해, 명령코드의 서명 확인은 불가능하지만 사업자 앱과 명령코드 절차를 진행할 수 v2 LPA는, 예를 들면, Version 2.x LPA (v2.x LPA)일 수 있다. v2.x LPA는, 예를 들면, v2 + alpha LPA (v2+a LPA)로 표현될 수 있다. v2 LPA는 단말의 출시 이후 소프트웨어 업데이트 등을 통해 명령코드 절차 진행 기능이 추가되어 v2.x LPA로 갱신될 수 있다.
한편, 도 2a는 eSIM(210), LPA(220), 사업자 앱(230)이 모두 같은 단말(200)에 설치되어 있는 것으로 도시되어 있으나, 다양한 실시예에 따라 각 구성 요소들은 하나 이상 구성에 포함될 수 있으며, 또한 하나 이상의 서로 다른 단말에 설치되어 있을 수도 있다. 예를 들어, 도 2b를 참조하면, 제1 단말(2001)에 eSIM(210)과 LPA(220)가 설치되어 있고, 제2 단말(2003)에 사업자 앱(230)이 설치되어 있을 수도 있다. 예를 들어, 도 2c를 참조하면, 제1 단말(2001)에 eSIM(210)과 LPA(220)와 제1 사업자 앱(231)이 설치되어 있고, 제2 단말(2003)에 제2 사업자 앱(233)이 설치되어 있고, 제1 사업자 앱(231)과 제2 사업자 앱(233)이 같거나 다른 통신사업자의 앱일 수도 있다. 도 2c에 도시된 제1 사업자 앱(231) 및 제2 사업자 앱(233)은 각각 사업자 앱(230)의 일 실시예일 수 있고, "제1", "제2"의 표현은 각 사업자 앱이 물리적으로 다른 단말에 설치되어 있는 것임을 나타내기 위해 사용되었을 뿐이다. 예를 들어, 도 2d를 참조하면, 제1 단말(2001)에 eSIM(210)이 설치되어 있고, 제2 단말(2003)에 LPA(220)와 사업자 앱(230)이 설치되어 있을 수도 있다. 예를 들어, 도 2e를 참조하면, 제1 단말(2001)에 eSIM(210)이 설치되어 있고, 제2 단말(2003)에 LPA(220)가 설치되어 있고, 제3 단말(2005)에 사업자 앱(230)이 설치되어 있을 수도 있다. 이와 같이 다양한 단말(200) 및 eSIM(210), LPA(220), 사업자 앱(230)의 구성을 도 2a 및 이하 도면들에는 간단하게 하나의 단말로 표기함에 유의해야 한다. 즉, 도 2b 내지 도 2e에 도시된 제1 단말(2001) 및 제2 단말(2003), 및 도 2e에 도시된 제3 단말(2005)는 각각 단말(200)의 일 실시예일 수 있고, “제1”, “제2”, “제3”의 표현은 각 단말이 물리적으로 다른 단말임을 나타내기 위해 사용되었을 뿐이다.
사업자 서버(240)는 제1 프로파일 서버(250) 및 제2 프로파일 서버(260)와 연결되어 있고, LPA(220)는 제2 프로파일 서버(260)와 연결되어 있을 수 있다. 이 때 제1 프로파일 서버(250)와 제2 프로파일 서버(260)는 서로 같을 수도 있고 다를 수도 있다. 또한 하나 이상의 사업자 서버가 구성에 포함되는 경우, 각 사업자 서버는 별도의 각 프로파일 서버와 연결되어 있을 수도 있고, 적어도 하나 이상의 사업자 서버가 동일한 프로파일 서버에 연결되어 있을 수도 있다. 이하 임의의 사업자 서버와 해당 사업자 서버에 연결된 프로파일 서버를 통틀어 "사업자 영역(MNO Domain , MVNO Domiain 또는 Operator Domain) "이라 명명할 수 있다. 또한 도 2a 내지 도 2e에는 편의상 프로파일 서버(250 및 260) 각각이 단일 서버로 구성되는 경우를 도시하였으나, 구현 및 실시예에 따라 하나 이상의 프로파일 서버(SM-DP+)가 서버 구성에 포함될 수 있고, 특정 프로파일 서버와 단말의 연결 생성을 보조하는 하나 이상의 개통중개서버(SM-DS)가 서버 구성에 포함될 수도 있다. 이와 같이 다양한 서버의 구성을 이하 도면에는 간략하게 단일 프로파일 서버로 표기할 수도 있음에 유의해야 한다.
도 2a를 참조하면, 201 동작에서 사업자 앱(230)은 명령 코드(Command Code)를 생성하고 검증할 수 있다. 명령 코드를 생성하고 검증하는 절차는 사업자 앱(230) 뿐만 아니라 eSIM(210), LPA(220), 사업자 서버(240), 제1 프로파일 서버(250), 사용자(미도시)를 더 포함하는 절차일 수 있다.
203 동작에서 LPA(220)는 상기 생성된 명령 코드를 이용하여 RSP 동작을 수행할 수 있다. RSP 동작을 수행하는 절차는 LPA(220) 뿐만 아니라 eSIM(210), 제2 프로파일 서버(260), 사용자(미도시)를 더 포함하는 절차일 수 있다.
본 개시의 일 실시예에 따른 사업자 단말(200), eSIM(210), LPA(220), 사업자 앱(230), 사업자 서버(240), 프로파일 서버(250 및 260), 사용자(미도시)의 상세한 동작 및 메시지 교환 절차는 후술할 도면들을 참조하여 자세히 살펴보기로 한다.
도 3은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제1 사업자의 애플리케이션을 통해 제1 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 3에서 eUICC(211), LPA(221), 사업자 앱(230), 사업자 서버(240), 제1 프로파일 서버(251), 제2 프로파일 서버(261)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(211), LPA(221), 제1 프로파일 서버(251), 제2 프로파일 서버(261)는 각각 도 2a의 eSIM(210), LPA(220), 제1 프로파일 서버(250), 및 제2 프로파일 서버(260)에 대응될 수 있다. 또한 eUICC(211) 및 LPA(221)는 각각 명령코드 서명 확인 기능을 지원하는 Version 3 eUICC (v3 eUICC) 및 Version 3 LPA (v3 LPA)일 수 있다. 또한 제1 프로파일 서버(251) 및 제2 프로파일 서버(261)는 Version 3 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다. 또한 도 3에서 사업자 서버(240), 제1 프로파일 서버(250), 제2 프로파일 서버(260)는 모두 동일한 통신사업자의 소유일 수 있다.
도 3을 참조하면, 301 단계에서 사업자 서버(240)는 제2 프로파일 서버(261)에 RSP 동작의 준비를 요청할 수 있다. 301 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 301 단계에서 사업자 서버(240)는 제2 프로파일 서버(261)에 이벤트 식별자(MatchingID)의 사용 용도 및 이벤트 식별자 중 적어도 하나를 전달할 수 있다. 이벤트 식별자의 사용 용도는, 예를 들면, "명령코드 전용(commandCodeOnly = TRUE)"을 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
303 단계에서 제2 프로파일 서버(261)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 301 단계에서 사업자 서버(240)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(261)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 301 단계에서 사업자 서버(240)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(261)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 사업자 서버(240)가 이벤트 식별자의 사용 용도를 전달한 경우, 제2 프로파일 서버(261)가 이벤트 식별자의 사용 용도를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 사업자 서버(240)가 이벤트 식별자의 사용 용도를 전송하지 않은 경우, 제2 프로파일 서버(261)는 임의의 값을 이벤트 식별자의 사용 용도로 사용할 수도 있고, 사업자 서버(240)가 별도의 채널을 통해 제2 프로파일 서버(261)에 기 공지하거나 제2 프로파일 서버(261)와 협의한 값을 이벤트 식별자의 사용 용도로 사용할 수도 있다.
305 단계에서 제2 프로파일 서버(261)는 확보한 이벤트 식별자(MatchingID)를 사업자 서버(240)에 회신할 수 있다.
309 단계에서 사업자 앱(230)은 명령코드 처리 절차를 시작할 수 있다. 사업자 앱(230)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시) 및 사업자 서버(240)에 의한 동작이 수행될 수 있다. 즉, 309 단계는, 도 3에는 도시되지 않았으나, 사용자(미도시) 및 사업자 서버(240)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 309 단계는 301 단계 이전에 수행될 수도 있으며, 309 단계가 301 단계 이전에 수행되는 경우 309 단계 이후에 301 단계부터 319 단계까지 수행될 수 있다.
311 단계에서 사업자 앱(230)은 LPA(221)에 명령코드 절차 시작을 요청할 수 있다. 311 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 311 단계는 단말의 구현에 따라 사업자 앱(230)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 사업자 앱(230)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 사업자 앱(230)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 사업자 앱(230)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 사업자 앱(230)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
313 단계에서 LPA(221)는 eUICC(211)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 313 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
315 단계에서 LPA(221)는 사업자 앱(230)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 제1 토큰과, eUICC(211)의 정보(eUICC Info)와, 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 315 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
317 단계에서 사업자 앱(230)은 사업자 서버(240)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
319 단계에서 사업자 서버(240)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
323 단계에서 사업자 서버(240)는 제1 프로파일 서버(251)에 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 서명을 요청할 수 있다. 323 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 요청 메시지를 이용하여 수행될 수 있다.
325 단계에서 제1 프로파일 서버(251)는 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 이용하여 명령코드에 서명하고, 서명된 명령코드(Signed Command Code)를 사업자 서버(240)에 회신할 수 있다. 325 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 응답 메시지를 이용하여 수행될 수 있다.
327 단계에서 제1 프로파일 서버(251)는 서명된 명령코드(Signed Command Code)에 포함된 제1 프로파일 서버의 서명을 이용하여 제2 토큰(derived challenge)을 계산할 수 있다. 327 단계는 325 단계와 동시에 수행될 수도 있다.
331 단계에서 제1 프로파일 서버(251)는 계산된 제2 토큰을 제2 프로파일 서버(261)에 전달할 수 있다. 만일 제1 프로파일 서버(251)와 제2 프로파일 서버(261)가 동일한 경우, 331 단계는 생략될 수도 있다.
333 단계에서 사업자 서버(240)는 사업자 앱(230)에 서명된 명령코드(Signed Command Code)를 회신할 수 있다. 333 단계는 331 단계와 동시에 수행될 수도 있다.
335 단계에서 사업자 앱(230)은 LPA(221)에 서명된 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 335 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 335 단계는 단말의 구현에 따라 사업자 앱(230)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 사업자 앱(230)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 사업자 앱(230)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 사업자 앱(230)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 사업자 앱(230)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
337 단계에서 LPA(221)는 eUICC(211)에 서명된 명령코드를 전달하여 서명된 명령코드의 서명 확인을 요청할 수 있다. 337 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 요청 메시지를 이용하여 수행될 수 있다.
339 단계에서 eUICC(211)는 서명된 명령코드의 서명을 확인할 수 있다. eUICC(211)가 서명된 명령코드의 서명을 확인하는 동작은, 명령코드에 포함되어 있거나 단말에 저장되어 있는 제1 프로파일 서버(251)의 디지털 인증서가 유효(valid)한지 판단하는 동작과, 제1 프로파일 서버(251)의 디지털 인증서를 이용하여 제1 프로파일 서버(251)의 서명이 유효한지 판단하는 동작을 더 포함할 수 있다. 만일 서명이 유효한 경우, eUICC(211)는 제1 프로파일 서버(251)의 서명으로부터 제2 토큰(derived challenge, 임의의 문자열)을 계산하고, eUICC(211)는 LPA(221)에 제2 토큰을 전달하여 서명된 명령코드가 유효함을 공지할 수 있다. 만일 서명이 유효하지 않은 경우, eUICC(211)는 LPA(221)에 서명된 명령코드가 유효하지 않음을 공지하고 동작을 종료할 수 있다. 339 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 응답 메시지를 이용하여 수행될 수 있다.
341 단계에서 LPA(221)는 사업자 앱(230)에 명령코드의 수행 결과를 회신할 수 있다. 341 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
339 단계에서 서명된 명령코드가 유효함을 LPA(221)가 공지 받은 경우, 343 단계에서 LPA(221)는 제2 프로파일 서버(261)에 명령코드에 포함된 정보 중 일부 또는 전체와, 토큰(euiccChallenge)과, 이벤트 식별자 경로(matchingIdSource)를 전달하여 RSP 동작을 요청할 수 있다. 343 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 343 단계는 eUICC(211), 사업자 서버(240), 또는 제1 프로파일 서버(251)에 의한 동작을 더 포함하는 단계일 수도 있다. 343 단계에서 LPA(221)가 전달하는 토큰은, 예를 들면, 339 단계에서 eUICC(211)가 제1 프로파일 서버(251)의 서명으로부터 계산한 제2 토큰(derived challenge)일 수 있다. 343 단계에서 LPA(221)가 전달하는 이벤트 식별자 경로(matchingIdSource)는, 예를 들면, "명령코드(command code)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
345 단계에서 제2 프로파일 서버(261)는 토큰(euiccChallenge)과 이벤트 식별자 경로(matchingIdSource)를 검증할 수 있다. 제2 프로파일 서버(261)가 토큰을 검증하는 동작은, 예를 들면, 327 단계 내지 331 단계에서 제1 프로파일 서버(251) 또는 제2 프로파일 서버(261)가 계산한 제2 토큰(derived challenge)과, 339 단계에서 eUICC(211)가 계산해 343 단계에서 LPA(221)가 공지한 제2 토큰(derived challenge)이 동일한지를 검증하는 동작일 수 있다. 제2 프로파일 서버(261)가 이벤트 식별자 경로를 검증하는 동작은, 예를 들면, 301 단계에서 사업자 서버(240)가 설정한 이벤트 식별자의 사용 용도와 343 단계에서 LPA(221)가 공지한 이벤트 식별자 경로(matchingIdSource)가 "명령코드(command code)"로 동일한지를 검증하는 동작일 수 있다. 만일 제2 프로파일 서버(261)가 토큰과 이벤트 식별자 경로의 검증에 모두 성공한 경우, 제2 프로파일 서버(261)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(221)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 3을 참조하면, 사업자 서버(240), 제1 프로파일 서버(251), 제2 프로파일 서버(261)는 명령코드 생성정보(LPA API Info)를 이용해 단말이 검증하고 사용할 수 있도록 서명된 명령코드를 생성하고 단말에 전달할 수 있다. 또한 단말은 서명된 명령코드의 검증 과정에서 계산된 제2 토큰(derived challenge)과 이벤트 식별자 경로(matchingIdSource)를 제2 프로파일 서버(261)에 전달하여 단말이 서명된 명령코드를 적절하게 처리했음을 공지할 수 있다.
도 4는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 제1 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 4에서 eUICC(211), LPA(221), 제2 사업자 앱(233), 제1 사업자 서버(241), 제2 사업자 서버(243), 제1 프로파일 서버(251), 제2 프로파일 서버(261)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(211), LPA(221), 제1 프로파일 서버(251), 제2 프로파일 서버(261)는 각각 도 2a의 eSIM(210), LPA(220), 제1 프로파일 서버(251), 및 제2 프로파일 서버(261)에 대응될 수 있다.
제1 사업자 서버(241) 및 제2 사업자 서버(243)는 각각 도 2a의 사업자 서버(240)의 일 실시예일 수 있고, “제1”, “제2”의 표현은 각 사업자 서버가 서로 다른 것임을 나타내기 위해 사용되었을 뿐이다. 또한 eUICC(211) 및 LPA(221)는 각각 명령코드 서명 확인 기능을 지원하는 Version 3 eUICC (v3 eUICC) 및 Version 3 LPA (v3 LPA)일 수 있다. 또한 제1 프로파일 서버(251) 및 제2 프로파일 서버(261)는 Version 3 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다.
또한, 제2 사업자 서버(243) 또는 제2 통신사업자는 모바일 가상 네트워크 운영자 (mobile virtual network operator: MVNO)일 수 있고, 제2 사업자 앱(233)은 제2 통신사업자의 애플리케이션(MVNO App)일 수 있다. 또한 도 4에서 제1 사업자 서버(241), 제1 프로파일 서버(251), 제2 프로파일 서버(261)는 제1 통신사업자의 소유일 수 있다. 또한 도 4에서 제2 사업자 서버(243)는 제2 통신사업자의 소유일 수 있다.
도 4를 참조하면, 401 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 RSP 동작의 준비를 요청할 수 있다. 401 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 401 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 이벤트 식별자(MatchingID)의 사용 용도 및 이벤트 식별자 중 적어도 하나를 전달할 수 있다. 이벤트 식별자의 사용 용도는, 예를 들면, "명령코드 전용(commandCodeOnly = TRUE)"을 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
403 단계에서 제2 프로파일 서버(261)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 401 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(261)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 401 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(261)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도를 전달한 경우, 제2 프로파일 서버(261)가 이벤트 식별자의 사용 용도를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도를 전송하지 않은 경우, 제2 프로파일 서버(261)는 임의의 값을 이벤트 식별자의 사용 용도로 사용할 수도 있고, 제1 사업자 서버(241)가 별도의 채널을 통해 제2 프로파일 서버(261)에 기 공지하거나 제2 프로파일 서버(261)와 협의한 값을 이벤트 식별자의 사용 용도로 사용할 수도 있다.
405 단계에서 제2 프로파일 서버(261)는 확보한 이벤트 식별자(MatchingID)를 제1 사업자 서버(241)에 회신할 수 있다.
407 단계에서 제1 사업자 서버(241)는 제2 사업자 서버(243)에 이벤트 식별자를 전달할 수 있다. 407 단계는, 예를 들면, 제1 통신사업자와 제2 통신사업자간 사업협약 관계에 따라, 이벤트 식별자로 구분되는 RSP 동작의 처리권한 내지 소유권한을 제1 통신사업자가 제2 통신사업자에게 양도하는 절차일 수 있다.
409 단계에서 제2 사업자 앱(233)은 명령코드 처리 절차를 시작할 수 있다. 제2 사업자 앱(233)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작이 수행될 수 있다. 즉, 409 단계는, 도면에는 도시되지 않았으나, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 409 단계는 401 단계 이전에 수행될 수도 있으며, 409 단계는 401 단계 이전에 수행되는 경우 409 단계 이후에 401 단계부터 419 단계까지 수행될 수 있다.
411 단계에서 제2 사업자 앱(233)은 LPA(221)에 명령코드 절차 시작을 요청할 수 있다. 411 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 411 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
413 단계에서 LPA(221)는 eUICC(211)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 413 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
415 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 제1 토큰과, eUICC(211)의 정보(eUICC Info)와, 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 415 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
417 단계에서 제2 사업자 앱(233)은 제2 사업자 서버(243)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
419 단계에서 제2 사업자 서버(243)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
421 단계에서 제2 사업자 서버(243)는 제1 사업자 서버(241)에 명령코드와 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 서명을 요청할 수 있다.
423 단계에서 제1 사업자 서버(241)는 제1 프로파일 서버(251)에 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 서명을 요청할 수 있다. 423 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 요청 메시지를 이용하여 수행될 수 있다.
425 단계에서 제1 프로파일 서버(251)는 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 이용하여 명령코드에 서명하고, 서명된 명령코드(Signed Command Code)를 제1 사업자 서버(241)에 회신할 수 있다. 425 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 응답 메시지를 이용하여 수행될 수 있다.
427 단계에서 제1 프로파일 서버(251)는 서명된 명령코드(Signed Command Code)에 포함된 제1 프로파일 서버의 서명을 이용하여 제2 토큰(derived challenge)을 계산할 수 있다. 427 단계는 425 단계와 동시에 수행될 수도 있다.
429 단계에서 제1 사업자 서버(241)는 제2 사업자 서버(243)에 서명된 명령코드(Signed Command Code)를 회신할 수 있다.
431 단계에서 제1 프로파일 서버(251)는 계산된 제2 토큰을 제2 프로파일 서버(261)에 전달할 수 있다. 만일 제1 프로파일 서버(251)와 제2 프로파일 서버(261)가 동일한 경우, 431 단계는 생략될 수도 있다.
433 단계에서 제2 사업자 서버(243)는 제2 사업자 앱(233)에 서명된 명령코드(Signed Command Code)를 회신할 수 있다. 433 단계는 431 단계와 동시에 수행될 수도 있다.
435 단계에서 제2 사업자 앱(233)은 LPA(221)에 서명된 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 435 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 435 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
437 단계에서 LPA(221)는 eUICC(211)에 서명된 명령코드를 전달하여 서명된 명령코드의 서명 확인을 요청할 수 있다. 437 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 요청 메시지를 이용하여 수행될 수 있다.
439 단계에서 eUICC(211)는 서명된 명령코드의 서명을 확인할 수 있다. eUICC(211)가 서명된 명령코드의 서명을 확인하는 동작은, 명령코드에 포함되어 있거나 단말에 저장되어 있는 제1 프로파일 서버(251)의 디지털 인증서가 유효(valid)한지 판단하는 동작과, 제1 프로파일 서버(251)의 디지털 인증서를 이용하여 제1 프로파일 서버(251)의 서명이 유효한지 판단하는 동작을 더 포함할 수 있다. 만일 서명이 유효한 경우, eUICC(211)는 제1 프로파일 서버(251)의 서명으로부터 제2 토큰(derived challenge, 임의의 문자열)을 계산하고, eUICC(211)는 LPA(221)에 제2 토큰을 전달하여 서명된 명령코드가 유효함을 공지할 수 있다. 만일 서명이 유효하지 않은 경우, eUICC(211)는 LPA(221)에 서명된 명령코드가 유효하지 않음을 공지하고 동작을 종료할 수 있다. 439 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 응답 메시지를 이용하여 수행될 수 있다.
441 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드의 수행 결과를 회신할 수 있다. 441 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
439 단계에서 서명된 명령코드가 유효함을 LPA(221)가 공지 받은 경우, 443 단계에서 LPA(221)는 제2 프로파일 서버(261)에 명령코드에 포함된 정보 중 일부 또는 전체와, 토큰(euiccChallenge)과, 이벤트 식별자 경로(matchingIdSource)를 전달하여 RSP 동작을 요청할 수 있다. 443 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 443 단계는 eUICC(211), 제1 사업자 서버(241), 제2 사업자 서버(243), 또는 제1 프로파일 서버(251)에 의한 동작을 더 포함하는 동작일 수도 있다. 443 단계에서 LPA(221)가 전달하는 토큰은, 예를 들면, 439 단계에서 eUICC(211)가 제1 프로파일 서버(251)의 서명으로부터 계산한 제2 토큰(derived challenge)일 수 있다. 443 단계에서 LPA(221)가 전달하는 이벤트 식별자 경로(matchingIdSource)는, 예를 들면, "명령코드(command code)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
445 단계에서 제2 프로파일 서버(261)는 토큰(euiccChallenge)과 이벤트 식별자 경로(matchingIdSource)를 검증할 수 있다. 제2 프로파일 서버(261)가 토큰을 검증하는 동작은, 예를 들면, 427 단계 내지 431 단계에서 제1 프로파일 서버(251) 또는 제2 프로파일 서버(261)가 계산한 제2 토큰(derived challenge)과 439 단계에서 eUICC(211)가 계산해 443 단계에서 LPA(221)가 공지한 제2 토큰(derived challenge)이 동일한지를 검증하는 동작일 수 있다. 제2 프로파일 서버(261)가 이벤트 식별자 경로를 검증하는 동작은, 예를 들면, 401 단계에서 제1 사업자 서버(241)가 설정한 이벤트 식별자의 사용 용도와 443 단계에서 LPA(221)가 공지한 이벤트 식별자 경로(matchingIdSource)가 "명령코드(command code)"로 동일한지를 검증하는 동작일 수 있다. 만일 제2 프로파일 서버(261)가 토큰과 이벤트 식별자 경로의 검증에 모두 성공한 경우, 제2 프로파일 서버(261)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(221)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 4를 참조하면, 제2 사업자 서버(243)는, 제1 사업자 서버(241)에 연결된 제1 프로파일 서버(251) 및 제2 프로파일 서버(261)의 기능을 활용하기 위해 서명된 명령코드의 생성과 회신을 위한 별도의 메시지를 제1 사업자 서버(241)와 교환(421 단계 및 429 단계 참조)해야 하는 불편함이 있다. 또한, 도 3과 마찬가지로, 제1 프로파일 서버(251)와 제2 프로파일 서버(261)이 서로 다른 경우, 제2 토큰의 검증을 위해, 제1 프로파일 서버(251)가 계산한 제2 토큰을 제2 프로파일 서버(261)로 전달(331 단계 및 431 단계)해야 하는 불편함이 있다.
도 5는 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 제2 사업자의 제1 프로파일 서버가 서명한 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 5에서 eUICC(211), LPA(221), 제2 사업자 앱(233), 제1 사업자 서버(241), 제2 사업자 서버(243), 제1 프로파일 서버(251), 제2 프로파일 서버(261)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(211), LPA(221), 제1 프로파일 서버(251), 제2 프로파일 서버(261)는 각각 도 2a의 eSIM(210), LPA(220), 제1 프로파일 서버(250), 및 제2 프로파일 서버(260)에 대응될 수 있다.
제1 사업자 서버(241) 및 제2 사업자 서버(243)는 각각 도 2a의 사업자 서버(240)의 일 실시예일 수 있고, “제1”, “제2”의 표현은 각 사업자 서버가 서로 다른 것임을 나타내기 위해 사용되었을 뿐이다. 또한 eUICC(211) 및 LPA(221)는 각각 명령코드 서명 확인 기능을 지원하는 Version 3 eUICC (v3 eUICC) 및 Version 3 LPA (v3 LPA)일 수 있다. 또한 제1 프로파일 서버(251) 및 제2 프로파일 서버(261)는 Version 3 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다.
또한, 제2 사업자 서버(243) 또는 제2 통신사업자는 모바일 가상 네트워크 운영자 (mobile virtual network operator: MVNO)일 수 있고, 제2 사업자 앱(233)은 제2 통신사업자의 애플리케이션(MVNO App)일 수 있다. 또한 도 5에서 제1 사업자 서버(241)와 제2 프로파일 서버(261)는 제1 통신사업자의 소유일 수 있다. 또한 도 5에서 제2 사업자 서버(245)와 제1 프로파일 서버(251)는 제2 통신사업자의 소유일 수 있다.
도 5를 참조하면, 501 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 RSP 동작의 준비를 요청할 수 있다. 501 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 501 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 이벤트 식별자(MatchingID)의 사용 용도, 제2 토큰의 검증 여부, 및 이벤트 식별자 중 적어도 하나를 전달할 수 있다. 이벤트 식별자의 사용 용도는, 예를 들면, "명령코드 전용(commandCodeOnly = TRUE)"을 나타내는 표지자(indicator)를 이용하여 표현될 수 있다. 제2 토큰의 검증 여부는, 예를 들면, "제2 토큰 검증 불필요(verifyDerivedChallenge = FALSE)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
503 단계에서 제2 프로파일 서버(261)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 501 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(261)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 501 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(261)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 전송한 경우, 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부를 전송하지 않은 경우, 제2 프로파일 서버(261)는 임의의 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있고, 제1 사업자 서버(241) 내지 제2 사업자 서버(245)가 별도의 채널을 통해 제2 프로파일 서버(261)에 기 공지하거나 제2 프로파일 서버(261)와 협의한 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있다.
505 단계에서 제2 프로파일 서버(261)는 확보한 이벤트 식별자(MatchingID)를 제1 사업자 서버(241)에 회신할 수 있다.
507 단계에서 제1 사업자 서버(241)는 제2 사업자 서버(245)에 이벤트 식별자를 전달할 수 있다. 507 단계는, 예를 들면, 제1 통신사업자와 제2 통신사업자간 사업협약 관계에 따라, 이벤트 식별자로 구분되는 RSP 동작의 처리권한 내지 소유권한을 제1 통신사업자가 제2 통신사업자에게 양도하는 절차일 수 있다. 507 단계는, 예를 들면, 제1 통신사업자의 프로파일을 제2 통신사업자에게 판매하는 절차일 수 있다.
509 단계에서 제2 사업자 앱(233)은 명령코드 처리 절차를 시작할 수 있다. 제2 사업자 앱(233)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(245)에 의한 동작이 수행될 수 있다. 즉, 509 단계는, 도면에는 도시되지 않았으나, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(245)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 509 단계는 501 단계 이전에 수행될 수도 있으며, 509 단계는 501 단계 이전에 수행되는 경우 509 단계 이후에 501 단계부터 519 단계까지 수행될 수 있다.
511 단계에서 제2 사업자 앱(233)은 LPA(221)에 명령코드 절차 시작을 요청할 수 있다. 511 단계에서 제2 사업자 앱(233)은 명령코드 절차가 "서명된 명령코드(Signed Command Code)"를 이용할 것임을 공지하는 표지자(indicator)를 더 전달할 수 있다. 511 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 511 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
513 단계에서 LPA(221)는 eUICC(211)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 513 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
515 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 제1 토큰과, eUICC(211)의 정보(eUICC Info)와, 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 515 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
517 단계에서 제2 사업자 앱(233)은 제2 사업자 서버(245)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
519 단계에서 제2 사업자 서버(245)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
523 단계에서 제2 사업자 서버(245)는 제1 프로파일 서버(251)에 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 서명을 요청할 수 있다. 523 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 요청 메시지를 이용하여 수행될 수 있다.
525 단계에서 제1 프로파일 서버(251)는 명령코드(Command Code)와 명령코드 생성정보(LPA API Info)를 이용하여 명령코드에 서명하고, 서명된 명령코드(Signed Command Code)를 제2 사업자 서버(245)에 회신할 수 있다. 525 단계는, 예를 들면, 명령코드 서명(Sign Command Code) 응답 메시지를 이용하여 수행될 수 있다.
533 단계에서 제2 사업자 서버(245)는 제2 사업자 앱(233)에 서명된 명령코드(Signed Command Code)를 회신할 수 있다.
535 단계에서 제2 사업자 앱(233)은 LPA(221)에 서명된 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 535 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 535 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
537 단계에서 LPA(221)는 eUICC(211)에 서명된 명령코드를 전달하여 서명된 명령코드의 서명 확인을 요청할 수 있다. 537 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 요청 메시지를 이용하여 수행될 수 있다.
539 단계에서 eUICC(211)는 서명된 명령코드의 서명을 확인할 수 있다. eUICC(211)가 서명된 명령코드의 서명을 확인하는 동작은, 명령코드에 포함되어 있거나 단말에 저장되어 있는 제1 프로파일 서버(251)의 디지털 인증서가 유효(valid)한지 판단하는 동작과, 제1 프로파일 서버(251)의 디지털 인증서를 이용하여 제1 프로파일 서버(251)의 서명이 유효한지 판단하는 동작을 더 포함할 수 있다. 만일 서명이 유효한 경우, eUICC(211)는 제1 프로파일 서버(251)의 서명으로부터 제2 토큰(derived challenge, 임의의 문자열)을 계산하고, eUICC(211)는 LPA(221)에 제2 토큰을 전달하여 서명된 명령코드가 유효함을 공지할 수 있다. 만일 서명이 유효하지 않은 경우, eUICC(211)는 LPA(221)에 서명된 명령코드가 유효하지 않음을 공지하고 동작을 종료할 수 있다. 539 단계는, 예를 들면, 명령코드 확인(Verify Command Code) 응답 메시지를 이용하여 수행될 수 있다.
541 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드의 수행 결과를 회신할 수 있다. 541 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
539 단계에서 서명된 명령코드가 유효함을 LPA(221)가 공지 받은 경우, 543 단계에서 LPA(221)는 제2 프로파일 서버(261)에 명령코드에 포함된 정보 중 일부 또는 전체와, 토큰(euiccChallenge)과, 이벤트 식별자 경로(matchingIdSource)를 전달하여 RSP 동작을 요청할 수 있다. 543 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 543 단계는 eUICC(211), 제1 사업자 서버(241), 제2 사업자 서버(245), 또는 제1 프로파일 서버(251)에 의한 동작을 더 포함하는 단계일 수도 있다. 543 단계에서 LPA(221)가 전달하는 토큰은, 예를 들면, 539 단계에서 eUICC(211)가 제1 프로파일 서버(251)의 서명으로부터 계산한 제2 토큰(derived challenge)일 수 있다. 443 단계에서 LPA(221)가 전달하는 이벤트 식별자 경로(matchingIdSource)는, 예를 들면, "명령코드(command code)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
545 단계에서 제2 프로파일 서버(261)는, 501 단계에서 제1 사업자 서버(241)가 토큰 검증이 필요하지 않음을 공지한 경우, 토큰을 제외하고 이벤트 식별자 경로(matchingIdSource)를 검증할 수 있다. 제2 프로파일 서버(261)가 이벤트 식별자 경로를 검증하는 동작은, 예를 들면, 501 단계에서 제1 사업자 서버(241)가 설정한 이벤트 식별자의 사용 용도와 543 단계에서 LPA(221)가 공지한 이벤트 식별자 경로(matchingIdSource)가 동일한지를 검증하는 동작일 수 있다. 만일 제2 프로파일 서버(261)가 이벤트 식별자 경로의 검증에 성공한 경우, 제2 프로파일 서버(261)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(221)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 5를 참조하면, 제2 사업자 서버(245)는 제2 사업자 서버(245)에 연결된 제1 프로파일 서버(251)로부터 서명된 명령코드를 획득할 수 있으므로(523 단계 및 525 단계 참조), 예를 들어 도 4의 421 단계 및 429 단계와 같이 서명된 명령코드의 생성과 회신을 위한 별도의 메시지를 제1 사업자 서버(241)와 교환할 필요가 없다. 또한, 제1 사업자 서버(241)가 제2 토큰의 검증이 필요 없음을 공지 한 경우(501 단계 참조), eUICC(211)가 계산한 제2 토큰을 제1 프로파일 서버(251)가 제2 프로파일 서버(261)에 전달할 필요가 없고, 제2 프로파일 서버(261)가 토큰을 검증하는 추가 동작을 수행할 필요도 없다.
도 6은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 6에서 eUICC(211), LPA(221), 제2 사업자 앱(233), 제1 사업자 서버(241), 제2 사업자 서버(243), 제2 프로파일 서버(261)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(211), LPA(221), 제2 프로파일 서버(261)는 각각 도 2a의 eSIM(211), LPA(220), 및 제2 프로파일 서버(260)에 대응될 수 있다.
제1 사업자 서버(241) 및 제2 사업자 서버(243)는 각각 도 2a의 사업자 서버(240)의 일 실시예일 수 있고, “제1”, “제2”의 표현은 각 사업자 서버가 서로 다른 것임을 나타내기 위해 사용되었을 뿐이다. 또한 eUICC(211) 및 LPA(221)는 각각 명령코드 서명 확인 기능을 지원하는 Version 3 eUICC (v3 eUICC) 및 Version 3 LPA (v3 LPA)일 수 있다. 또한 제2 프로파일 서버(261)는 Version 3 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다.
또한, 제2 사업자 서버(243) 또는 제2 통신사업자는 모바일 가상 네트워크 운영자 (mobile virtual network operator: MVNO)일 수 있고, 제2 사업자 앱(233)은 제2 통신사업자의 애플리케이션(MVNO App)일 수 있다. 또한 도 6에서 제1 사업자 서버(241)와 제2 프로파일 서버(261)는 제1 통신사업자의 소유일 수 있다. 또한 도 6에서 제2 사업자 서버(243)는 제2 통신사업자의 소유일 수 있다.
도 6을 참조하면, 601 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 RSP 동작의 준비를 요청할 수 있다. 601 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 601 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(261)에 이벤트 식별자(MatchingID)의 사용 용도, 제2 토큰의 검증 여부, 및 이벤트 식별자 중 적어도 하나를 전달할 수 있다. 이벤트 식별자의 사용 용도는, 예를 들면, "명령코드에 한정하지 않음(commandCodeOnly = FALSE)"을 나타내는 표지자(indicator)를 이용하여 표현될 수 있다. 제2 토큰의 검증 여부는, 예를 들면, "제2 토큰 검증 불필요(verifyDerivedChallenge = FALSE)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
603 단계에서 제2 프로파일 서버(261)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 601 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(261)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 601 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(261)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 송신한 경우, 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부를 전송하지 않은 경우, 제2 프로파일 서버(261)는 임의의 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있고, 제1 사업자 서버(241) 내지 제2 사업자 서버(243)가 별도의 채널을 통해 제2 프로파일 서버(261)가 기 공지하거나 제2 프로파일 서버(261)와 협의한 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있다.
605 단계에서 제2 프로파일 서버(261)는 확보한 이벤트 식별자(MatchingID)를 제1 사업자 서버(241)에 회신할 수 있다.
607 단계에서 제1 사업자 서버(241)는 제2 사업자 서버(243)에 이벤트 식별자를 전달할 수 있다. 607 단계는, 예를 들면, 제1 통신사업자와 제2 통신사업자간 사업협약 관계에 따라, 이벤트 식별자로 구분되는 RSP 동작의 처리권한 내지 소유권한을 제1 통신사업자가 제2 통신사업자에게 양도하는 절차일 수 있다. 607 단계는, 예를 들면, 제1 통신사업자의 프로파일을 제2 통신사업자에게 판매하는 절차일 수 있다.
609 단계에서 제2 사업자 앱(233)은 명령코드 처리 절차를 시작할 수 있다. 제2 사업자 앱(233)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작이 수행될 수 있다. 즉, 609 단계는, 도면에는 도시되지 않았으나, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 609 단계는 601 단계 이전에 수행될 수도 있으며, 609 단계는 601 단계 이전에 수행되는 경우 609 단계 이후에 601 단계부터 619 단계까지 수행될 수 있다.
611 단계에서 제2 사업자 앱(233)은 LPA(221)에 명령코드 절차 시작을 요청할 수 있다. 611 단계에서 제2 사업자 앱(233)은 명령코드 절차가 "서명되지 않은 명령코드(Unsigned Command Code)"를 이용할 것임을 공지하는 표지자(indicator)를 더 전달할 수 있다. 611 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 611 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 단계를 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
615 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 eUICC(211)의 정보(eUICC Info)와 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 615 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
617 단계에서 제2 사업자 앱(233)은 제2 사업자 서버(243)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
619 단계에서 제2 사업자 서버(243)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
633 단계에서 제2 사업자 서버(243)는 제2 사업자 앱(233)에 서명되지 않은 명령코드(Unsigned Command Code)를 회신할 수 있다.
635 단계에서 제2 사업자 앱(233)은 LPA(221)에 서명되지 않은 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 635 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 635 단계는 단말의 구현에 따라 제2 사업자 앱(233)이 LPA(221)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(221)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(233)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(233)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(221)에 대한 제2 사업자 앱(233)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(221)에 대한 제2 사업자 앱(233)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
637 단계에서 LPA(221)는 명령코드의 수행에 대한 추가적인 검증을 수행할 수 있다. 637 단계는, 예를 들면, 635 단계에서 수행하는 지역 권한검증과 같거나 다른 지역 권한검증 단계일 수 있다. LPA(221)가 명령코드의 수행에 대한 추가적인 검증을 수행하기 위해, 사용자(미도시) 또는 제1 사업자 서버(241) 또는 제2 사업자 서버(243)에 의한 동작이 수행될 수 있다. 즉, 637 단계는, 사용자(미도시) 또는 제1 사업자 서버(241) 또는 제2 사업자 서버(243)에 의한 동작을 더 포함하는 단계일 수도 있다. 또한 637 단계는, 예를 들어, 단말이 사용자(미도시)에게 화면이나 음성 등을 통해 명령코드의 수행 의사를 묻고, 사용자의 동의를 구하는 동작을 포함할 수 있다. 단말이 사용자의 동의를 구하는 동작은, 예를 들면, 사용자로부터 사용자가 "예/아니오(Yes/No)"를 선택하거나, 사용자가 설정한 비밀번호를 입력하거나, 사용자의 지문 또는 홍채 등 생체정보를 입력하는 동작을 수신하는 것일 수 있다.
639 단계에서 LPA(221)는 제2 사업자 앱(233)에 명령코드의 수행에 대한 검증 결과를 회신할 수 있다. 639 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
635 단계 그리고/또는 637 단계에서 LPA(221)가 명령코드의 수행에 대한 지역 권한검증 및 추가검증에 성공하는 경우, 641 단계에서 LPA(221)는 eUICC(211)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 641 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
643 단계에서 LPA(221)는 제2 프로파일 서버(261)에 명령코드에 포함된 정보 중 일부 또는 전체와, 토큰(euiccChallenge)과, 이벤트 식별자 경로(matchingIdSource)를 전달하여 RSP 동작을 요청할 수 있다. 643 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 643 단계는 eUICC(211), 제1 사업자 서버(241), 제2 사업자 서버(243), 또는 제1 프로파일 서버(251)에 의한 동작을 더 포함하는 단계일 수도 있다. 643 단계에서 LPA(221)가 전달하는 토큰은, 예를 들면, 641 단계에서 eUICC(211)가 생성한 제1 토큰(eUICC challenge)일 수 있다. 643 단계에서 LPA(221)가 전달하는 이벤트 식별자 경로(matchingIdSource)는, 예를 들면, "활성화코드(activation code)"를 나타내는 표지자(indicator)를 이용하여 표현될 수 있다.
645 단계에서 제2 프로파일 서버(261)는, 601 단계에서 제1 사업자 서버(241)가 토큰 검증이 필요하지 않음을 공지한 경우, 토큰을 제외하고 이벤트 식별자 경로(matchingIdSource)를 검증할 수 있다. 제2 프로파일 서버(261)가 이벤트 식별자 경로를 검증하는 동작은, 예를 들면, 601 단계에서 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도를 명령코드로 한정하지 않았으므로, 643 단계에서 LPA(221)가 공지한 이벤트 식별자 경로(matchingIdSource) 명령코드 또는 활성화코드인지 검증하는 동작일 수 있다. 만일 제2 프로파일 서버(261)가 이벤트 식별자 경로의 검증에 성공한 경우, 제2 프로파일 서버(261)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(221)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 6을 참조하면, 제2 사업자 서버(243)는 제1 사업자 서버(241)가 RSP 동작의 준비 과정(601 단계)에서 이벤트 식별자의 용도를 명령코드에 한정하지 않은 경우, 제1 프로파일 서버(251) 없이 서명되지 않은 명령코드를 생성(619 단계)할 수 있다. 또한, 제1 사업자 서버(241)가 제2 토큰의 검증이 필요 없음을 공지 한 경우(601 단계 참조), eUICC(211)가 계산한 제2 토큰을 제1 프로파일 서버(251)가 제2 프로파일 서버(261)에 전달할 필요가 없고, 제2 프로파일 서버(261)가 토큰을 검증하는 추가 동작을 수행할 필요도 없다.
도 7은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제1 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 7에서 eUICC(213), LPA(223), 제1 사업자 앱(231), 제1 사업자 서버(241), 제2 프로파일 서버(263)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(213), LPA(223), 제1 사업자 서버(241), 제2 프로파일 서버(263)는 각각 도 2a의 eSIM(210), LPA(220), 사업자 서버(240), 및 제2 프로파일 서버(260)에 대응될 수 있다.
또한 eUICC(213) 및 LPA(223)는 각각 명령코드 서명 확인 기능을 지원하지 않는 Version 2 eUICC (v2 eUICC) 및 Version 2 LPA (v2 LPA)일 수 있다. 또한 제2 프로파일 서버(263)는 Version 2 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다. 또한 도 7에서 제1 사업자 서버(241)와 제2 프로파일 서버(263)는 제1 통신사업자의 소유일 수 있다.
도 7을 참조하면, 701 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(263)에 RSP 동작의 준비를 요청할 수 있다. 701 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 701 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(263)에 이벤트 식별자(MatchingID)의 사용 용도 및 제2 토큰의 검증 여부를 전달하지 않을 수 있고, 이벤트 식별자는 전달할 수 있다.
703 단계에서 제2 프로파일 서버(263)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 701 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(263)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 701 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(263)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도를 전달한 경우, 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부를 전송하지 않은 경우, 제2 프로파일 서버(263)는 임의의 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있고, 제1 사업자 서버(241) 내지 제2 사업자 서버(243)가 별도의 채널을 통해 제2 프로파일 서버(263)에 기 공지하거나 제2 프로파일 서버(263)와 협의한 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있다.
705 단계에서 제2 프로파일 서버(263)는 확보한 이벤트 식별자(MatchingID)를 제1 사업자 서버(241)에 회신할 수 있다.
709 단계에서 제1 사업자 앱(231)은 명령코드 처리 절차를 시작할 수 있다. 제1 사업자 앱(231)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시) 및 제1 사업자 서버(241)에 의한 동작이 수행될 수 있다. 즉, 709 단계는, 도면에는 도시되지 않았으나, 사용자(미도시), 제1 사업자 서버(241)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 709 단계는 701 단계 이전에 수행될 수도 있으며, 709 단계는 701 단계 이전에 수행되는 경우 709 단계 이후에 701 단계부터 719 단계까지 수행될 수 있다.
711 단계에서 제1 사업자 앱(231)은 LPA(223)에 명령코드 절차 시작을 요청할 수 있다. 711 단계에서 제1 사업자 앱(231)은 명령코드 절차가 "서명되지 않은 명령코드(Unsigned Command Code)"를 이용할 것임을 공지하는 표지자(indicator)를 더 전달할 수 있다. 711 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 711 단계는 단말의 구현에 따라 제2 사업자 앱(235)이 LPA(223)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(223)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제1 사업자 앱(231)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제1 사업자 앱(231)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(223)에 대한 제1 사업자 앱(231)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(223)에 대한 제1 사업자 앱(231)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
715 단계에서 LPA(223)는 제1 사업자 앱(231)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 eUICC(213)의 정보(eUICC Info)와 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 715 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
717 단계에서 제1 사업자 앱(231)은 제1 사업자 서버(241)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
719 단계에서 제1 사업자 서버(241)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
733 단계에서 제1 사업자 서버(241)는 제1 사업자 앱(231)에 서명되지 않은 명령코드(Unsigned Command Code)를 회신할 수 있다.
735 단계에서 제1 사업자 앱(235)은 LPA(223)에 서명되지 않은 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 735 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 735 단계는 단말의 구현에 따라 제1 사업자 앱(231)이 LPA(223)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 모든 종류의 애플리케이션에 대해 LPA(223)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제1 사업자 앱(231)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제1 사업자 앱(231)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(223)에 대한 제1 사업자 앱(231)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(223)에 대한 제1 사업자 앱(231)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
737 단계에서 LPA(223)는 명령코드의 수행에 대한 추가적인 검증을 수행할 수 있다. 737 단계는, 예를 들면, 735 단계에서 수행하는 지역 권한검증과 같거나 다른 지역 권한검증 단계일 수 있다. LPA(223)가 명령코드의 수행에 대한 추가적인 검증을 수행하기 위해, 사용자(미도시) 또는 제1 사업자 서버(241)에 의한 동작이 수행될 수 있다. 즉, 737 단계는, 사용자(미도시) 또는 제1 사업자 서버(241)에 의한 동작을 더 포함하는 단계일 수도 있다. 또한 737 단계는, 예를 들어, 단말이 사용자(미도시)에게 화면이나 음성 등을 통해 명령코드의 수행 의사를 묻고, 사용자의 동의를 구하는 동작을 포함할 수 있다. 단말이 사용자의 동의를 구하는 동작은, 예를 들면, 사용자로부터 사용자가 "예/아니오(Yes/No)"를 선택하거나, 사용자가 설정한 비밀번호를 입력하거나, 사용자의 지문 또는 홍채 등 생체정보를 입력하는 동작을 수신하는 것일 수 있다.
739 단계에서 LPA(223)는 제2 사업자 앱(235)에 명령코드의 수행에 대한 검증 결과를 회신할 수 있다. 739 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
735 단계 그리고/또는 737 단계에서 LPA(223)가 명령코드의 수행에 대한 지역 권한검증 및 추가검증에 성공하는 경우, 741 단계에서 LPA(223)는 eUICC(213)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 741 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
743 단계에서 LPA(223)는 제2 프로파일 서버(263)에 명령코드에 포함된 정보 중 일부 또는 전체와 토큰(euiccChallenge)을 전달하여 RSP 동작을 요청할 수 있다. 743 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 743 단계는 eUICC(213), 제1 사업자 서버(241), 제2 사업자 서버(243), 또는 제1 프로파일 서버(250)에 의한 동작을 더 포함하는 단계일 수도 있다. 743 단계에서 LPA(223)가 전달하는 토큰은, 예를 들면, 741 단계에서 eUICC(213)가 생성한 제1 토큰(eUICC challenge)일 수 있다. 이후 제2 프로파일 서버(263)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(223)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 7을 참조하면, 단말은 명령코드의 서명 검증을 지원하지 않는 v2 eUICC인 eUICC(213)에 대해서도 제1 사업자 앱(231) 및 제1 사업자 서버(241)가 생성한 명령코드를 처리할 수 있다. 또한, 제1 사업자 서버(241)가 RSP 동작의 준비 과정(701 단계)에서 이벤트 식별자의 용도를 명령코드에 한정하지 않은 경우, 제1 프로파일 서버(250) 없이 서명되지 않은 명령코드를 생성(719 단계)할 수 있다. 또한, 제1 사업자 서버(241)가 제2 토큰의 검증이 필요 없음을 공지한 경우(701 단계 참조)하여, eUICC(213)가 계산한 제2 토큰을 제1 프로파일 서버(250)가 제2 프로파일 서버(263)에 전달할 필요가 없고, 제2 프로파일 서버(263)가 토큰을 검증하는 추가 동작을 수행할 필요도 없다.
도 8은 본 개시의 일 실시예에 따른 단말이 단말에 설치된 제2 사업자의 애플리케이션을 통해 서명되지 않은 명령코드를 생성하고, 제1 사업자의 제2 프로파일 서버로부터 이벤트를 다운로드 받는 절차를 도시하는 도면이다.
도 8에서 eUICC(213), LPA(223), 제2 사업자 앱(233), 제1 사업자 서버(241), 제2 사업자 서버(243), 제2 프로파일 서버(263)에 대한 구성과 설명은 도 2a를 참조하기로 한다. 예를 들어, eUICC(213), LPA(223), 제2 프로파일 서버(263)는 각각 도 2a의 eSIM(210), LPA(220), 및 제2 프로파일 서버(260)에 대응될 수 있다.
제1 사업자 서버(241) 및 제2 사업자 서버(243)는 각각 도 2a의 사업자 서버(240)의 일 실시예일 수 있고, “제1”, “제2”의 표현은 각 사업자 서버가 서로 다른 것임을 나타내기 위해 사용되었을 뿐이다. 또한 eUICC(213) 및 LPA(223)는 각각 서명 확인 기능을 지원하지 않는 Version 2 eUICC (v2 eUICC) 및 Version 2 LPA (v2 LPA)일 수 있다. 또한 제2 프로파일 서버(263)는 Version 2 SM-DP+ (Subscription Manager Data Preparation plus)일 수 있다.
또한, 제2 사업자 서버(243) 또는 제2 통신사업자는 모바일 가상 네트워크 운영자 (mobile virtual network operator: MVNO)일 수 있고, 제2 사업자 앱(233)은 제2 통신사업자의 애플리케이션(MVNO App)일 수 있다. 또한 도 8에서 제1 사업자 서버(241)와 제2 프로파일 서버(263)는 제1 통신사업자의 소유일 수 있다. 또한 도 8에서 제2 사업자 서버(243)는 제2 통신사업자의 소유일 수 있다.
도 8을 참조하면, 801 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(263)에 RSP 동작의 준비를 요청할 수 있다. 801 단계는, 예를 들면, 다운로드 주문(Download Order) 메시지나, 주문 확인(Confirm Order) 메시지나, 원격관리 주문(RPM Order) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 801 단계에서 제1 사업자 서버(241)는 제2 프로파일 서버(263)에 이벤트 식별자(MatchingID)의 사용 용도 및 제2 토큰의 검증 여부를 전달하지 않을 수 있고, 이벤트 식별자는 전달할 수 있다.
803 단계에서 제2 프로파일 서버(263)는 이벤트 식별자(MatchingID)를 확보(reserve)할 수 있다. 이벤트 식별자를 확보하는 동작은, 801 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달한 경우 제2 프로파일 서버(263)가 해당 이벤트 식별자를 확인하고 저장하는 동작일 수 있고, 801 단계에서 제1 사업자 서버(241)가 이벤트 식별자를 전달하지 않은 경우 제2 프로파일 서버(263)가 이벤트 식별자를 직접 생성하고 저장하는 동작일 수 있다. 이벤트 식별자를 확보하는 동작은, 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도를 전달한 경우, 이벤트 식별자의 사용 용도와 제2 토큰의 검증 여부를 이벤트 식별자와 대응(mapping)하는 동작을 더 포함할 수 있다. 제1 사업자 서버(241)가 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부를 전송하지 않은 경우, 제2 프로파일 서버(263)는 임의의 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있고, 제1 사업자 서버(241) 내지 제2 사업자 서버(243)가 별도의 채널을 통해 제2 프로파일 서버(263)에 기 공지하거나 제2 프로파일 서버(263)와 협의한 값을 이벤트 식별자의 사용 용도 그리고/또는 제2 토큰의 검증 여부로 사용할 수도 있다.
805 단계에서 제2 프로파일 서버(263)는 확보한 이벤트 식별자(MatchingID)를 제1 사업자 서버(241)에 회신할 수 있다.
807 단계에서 제1 사업자 서버(241)는 제2 사업자 서버(243)에 이벤트 식별자를 전달할 수 있다. 807 단계는, 예를 들면, 제1 통신사업자와 제2 통신사업자간 사업협약 관계에 따라, 이벤트 식별자로 구분되는 RSP 동작의 처리권한 내지 소유권한을 제1 통신사업자가 제2 통신사업자에게 양도하는 절차일 수 있다. 807 단계는, 예를 들면, 제1 통신사업자가 제1 통신사업자의 프로파일을 제2 통신사업자에게 판매하는 절차일 수 있다.
809 단계에서 제2 사업자 앱(235)은 명령코드 처리 절차를 시작할 수 있다. 제2 사업자 앱(235)이 명령코드 처리 절차를 시작하기 위해, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작이 수행될 수 있다. 즉, 809 단계는, 도면에는 도시되지 않았으나, 사용자(미도시), 제1 사업자 서버(241) 및 제2 사업자 서버(243)에 의한 동작을 더 포함하는 단계일 수 있다. 예를 들어, 명령코드 처리 절차가 시작되기 위해, 사용자가 사업자의 통신서비스에 새로 가입하는 절차나, 사용자가 사업자의 통신서비스를 갱신/관리할 것을 요청하는 절차가 수행될 수 있다. 또한 809 단계는 801 단계 이전에 수행될 수도 있으며, 809 단계는 801 단계 이전에 수행되는 경우 809 단계 이후에 801 단계부터 819 단계까지 수행될 수 있다.
811 단계에서 제2 사업자 앱(235)은 LPA(223)에 명령코드 절차 시작을 요청할 수 있다. 811 단계에서 제2 사업자 앱(235)은 명령코드 절차가 "서명되지 않은 명령코드(Unsigned Command Code)"를 이용할 것임을 공지하는 표지자(indicator)를 더 전달할 수 있다. 811 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 요청 메시지를 이용하여 수행될 수 있다. 811 단계는 단말의 구현에 따라 제2 사업자 앱(235)이 LPA(223)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 LPA(223)로의 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(235)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(235)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 LPA(223)에 대한 제2 사업자 앱(235)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(223)에 대한 제2 사업자 앱(235)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
815 단계에서 LPA(223)는 제2 사업자 앱(235)에 명령코드 생성정보(LPA API Info)를 전달할 수 있다. 명령코드 생성정보(LPA API Info)는 eUICC(213)의 정보(eUICC Info)와 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다. 815 단계는, 예를 들면, 명령코드 절차 시작(Initiate LPA API) 응답 메시지를 이용하여 수행될 수 있다.
817 단계에서 제2 사업자 앱(235)은 제2 사업자 서버(243)에 명령코드 생성정보(LPA API Info)를 전달하여 명령코드의 생성을 요청할 수 있다.
819 단계에서 제2 사업자 서버(243)는 명령코드 생성정보(LPA API Info)와 이벤트 식별자(MatchingID)를 이용하여 명령코드를 생성할 수 있다.
833 단계에서 제2 사업자 서버(243)는 제2 사업자 앱(235)에 서명되지 않은 명령코드(Unsigned Command Code)를 회신할 수 있다.
835 단계에서 제2 사업자 앱(235)은 LPA(223)에 서명되지 않은 명령코드를 전달하여 명령코드의 수행을 요청할 수 있다. 835 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 요청 메시지를 이용하여 수행될 수 있다. 835 단계는 단말의 구현에 따라 제2 사업자 앱(235)이 LPA(223)에 접근(access)하는 것을 단말(200)이 제어(access control)하는 동작을 더 포함할 수 있다. 예를 들면, 단말(200)은 모든 종류의 애플리케이션에 대해 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 제2 사업자 앱(235)의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 제2 사업자 앱(235)의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용이용하여 LPA(223)에 대한 제2 사업자 앱(235)의 접근을 제어할 수 있다. 전술한 바와 같이 LPA(223)에 대한 제2 사업자 앱(235)의 접근이 제어되는 동작을 "지역 권한검증(local authorization 또는 device internal authorization)"이라 명명할 수 있다.
837 단계에서 LPA(223)는 명령코드의 수행에 대한 추가적인 검증을 수행할 수 있다. 837 단계는, 예를 들면, 835 단계에서 수행하는 지역 권한검증과 같거나 다른 지역 권한검증 단계일 수 있다. LPA(223)가 명령코드의 수행에 대한 추가적인 검증을 수행하기 위해, 사용자(미도시) 또는 제1 사업자 서버(241) 또는 제2 사업자 서버(243)에 의한 동작이 수행될 수 있다. 즉, 837 단계는, 사용자(미도시) 또는 제1 사업자 서버(241) 또는 제2 사업자 서버(243)에 의한 동작을 더 포함하는 단계일 수도 있다. 또한, 837 단계는, 예를 들면, 단말이 사용자(미도시)에게 화면이나 음성 등을 통해 명령코드의 수행 의사를 묻고, 사용자의 동의를 구하는 동작을 포함할 수 있다. 단말이 사용자의 동의를 구하는 동작은, 예를 들면, 사용자로부터 사용자가 "예/아니오(Yes/No)"를 선택하거나, 사용자가 설정한 비밀번호를 입력하거나, 사용자의 지문 또는 홍채 등 생체정보를 입력하는 동작을 수신하는 것일 수 있다.
839 단계에서 LPA(223)는 제2 사업자 앱(235)에 명령코드의 수행에 대한 검증 결과를 회신할 수 있다. 839 단계는, 예를 들면, 명령코드 수행(Execute Command Code) 응답 메시지를 이용하여 수행될 수 있다.
835 단계 그리고/또는 837 단계에서 LPA(223)가 명령코드의 수행에 대한 지역 권한검증 및 추가검증에 성공하는 경우, 841 단계에서 LPA(223)는 eUICC(213)를 통해 제1 토큰(eUICC Challenge, 임의의 문자열)을 생성할 수 있다. 841 단계는, 예를 들면, eUICC 문자열 생성(Get eUICC Challenge) 요청 메시지 및 eUICC 문자열 생성(Get eUICC Challenge) 응답 메시지를 이용하여 수행될 수 있다.
843 단계에서 LPA(223)는 제2 프로파일 서버(263)에 명령코드에 포함된 정보 중 일부 또는 전체와 토큰(euiccChallenge)을 전달하여 RSP 동작을 요청할 수 있다. 843 단계는, 예를 들면, HTTPS/TLS 연결이나, 인증 시작(Initiate Authentication) 메시지나, 단말 인증(Authenticate Client) 메시지나, 프로파일 패키지 요청(Get Bound Profile Package) 메시지 중 적어도 하나 이상을 이용하여 수행될 수 있다. 또한 도면에는 도시되지 않았으나, 843 단계는 eUICC(213), 제1 사업자 서버(241), 제2 사업자 서버(243), 또는 제1 프로파일 서버(250)에 의한 동작을 더 포함하는 단계일 수도 있다. 843 단계에서 LPA(223)가 전달하는 토큰은, 예를 들면, 841 단계에서 eUICC(213)가 생성한 제1 토큰(eUICC challenge)일 수 있다. 이후 제2 프로파일 서버(263)는 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 LPA(223)에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다.
도 8을 참조하면, 단말은 명령코드의 서명 검증을 지원하지 않는 v2 eUICC인 eUICC(213)에 대해서도 제2 사업자 앱(233) 및 제2 사업자 서버(243)가 생성한 명령코드를 처리할 수 있다. 또한, 제1 사업자 서버(240)가 RSP 동작의 준비 과정(801 단계)에서 이벤트 식별자의 용도를 명령코드에 한정하지 않은 경우, 제1 프로파일 서버(250) 없이 서명되지 않은 명령코드를 생성(819 단계)할 수 있다. 또한, 제1 사업자 서버(241)가 제2 토큰의 검증이 필요 없음을 공지한 경우(801 단계 참조)하여, eUICC(213)가 계산한 제2 토큰을 제1 프로파일 서버(250)가 제2 프로파일 서버(263)에 전달할 필요가 없고, 제2 프로파일 서버(263)가 토큰을 검증하는 추가 동작을 수행할 필요도 없다.
도 9는 본 개시의 일 실시예에 따른 프로파일 서버의 동작을 도시하는 순서도이다.
본 개시에서 설명한 프로파일 서버(250, 251, 260, 261, 263 및 참조 번호를 붙이지 않고 설명한 프로파일 서버) 각각은 도 9에서 설명하는 프로파일 서버에 대응될 수 있다.
도 9를 참조하면, 901 단계에서 프로파일 서버는 동작을 시작할 수 있다.
903 단계에서 프로파일 서버는 이벤트 식별자를 확보하고 RSP 동작을 준비할 수 있다. 903 단계는 사업자 서버의 요청에 의해 수행될 수도 있다.
905 단계에서 프로파일 서버는 이벤트 식별자의 사용 용도를 저장할 수 있고, 토큰 확인 필요 여부를 더 저장할 수 있다. 905 단계는 사업자 서버의 요청에 의해 수행될 수도 있다.
907 단계에서 프로파일 서버는 명령코드를 생성할 수 있다. 907 단계는 사업자 서버의 요청에 의해 수행될 수도 있다. 907 단계는 다른 프로파일 서버에 의해 대행될 수도 있다. 예를 들어, 제1 프로파일 서버에 관한 907 단계가 제2 프로파일 서버에 의해 대행되는 경우 프로파일 서버는 명령코드를 생성한 제2 프로파일 서버로부터 명령코드를 수신할 수 있다.
909 단계에서 프로파일 서버는 명령코드에 대해 서명을 생성할 수 있다. 909 단계는 사업자 서버의 요청에 의해 수행될 수도 있다. 만일 사업자 서버가 서명되지 않은 서명코드의 생성을 요청한 경우, 909 단계는 생략될 수도 있다. 909 단계는 다른 프로파일 서버에 의해 대행될 수도 있다. 예를 들어, 제1 프로파일 서버에 관한 909 단계가 제2 프로파일 서버에 의해 대행되는 경우 제1 프로파일 서버는 명령코드에 서명한 제2 프로파일 서버로부터 서명된 명령코드를 수신할 수 있다.
911 단계에서 프로파일 서버는 명령코드를 회신할 수 있다. 911 단계는 다른 프로파일 서버에 의해 대행될 수도 있다. 예를 들어, 제1 프로파일 서버에 관한 911 단계가 제2 프로파일 서버에 의해 대행되는 경우 제1 프로파일 서버는 명령코드를 회신한 제2 프로파일 서버로부터 명령코드 회신 결과를 공지 받을 수 있다. 명령코드는 다른 서버로 회신되거나, 단말로 회신될 수도 있다. 911 단계는 도 10의 1011 단계에 대응될 수 있다.
913 단계에서 프로파일 서버는 토큰 확인이 필요한지 여부를 판단할 수 있다. 913 단계는 905 단계에서 저장된 토큰 확인 필요 여부를 참조하여 수행될 수 있다. 만일 토큰 확인이 필요한 경우, 프로파일 서버는 915 단계를 수행할 수 있다. 만일 토큰 확인이 필요하지 않은 경우, 프로파일 서버는 917 단계를 수행할 수 있다.
915 단계에서 프로파일 서버는 명령코드의 서명으로부터 토큰을 계산할 수 있다. 915 단계는 다른 프로파일 서버에 의해 대행될 수도 있다. 예를 들어, 제1 프로파일 서버에 관한 915 단계가 제2 프로파일 서버에 의해 대행되는 경우 제1 프로파일 서버는 토큰의 계산을 대행한 제2 프로파일 서버로부터 토큰을 수신할 수 있다.
917 단계에서 프로파일 서버는 단말로부터 RSP 동작 요청을 수신할 수 있다. 917 단계는 도 10의 1023 단계에 대응될 수 있다.
919 단계에서 프로파일 서버는 토큰 확인이 필요한지 여부를 판단할 수 있다. 919 단계는 905 단계에서 저장된 토큰 확인 필요 여부를 참조하여 수행될 수 있다. 만일 토큰 확인이 필요한 경우, 프로파일 서버는 921 단계를 수행할 수 있다. 만일 토큰 확인이 필요하지 않은 경우, 프로파일 서버는 923 단계를 수행할 수 있다.
921 단계에서 프로파일 서버는 단말로부터 수신한 토큰을 임시로 저장할 수 있다. 921 단계에서 임시로 저장된 토큰은 929 단계에서 확인될 수 있다.
923 단계에서 프로파일 서버는 RSP 동작을 요청한 단말을 인증하고, 단말이 공지한 이벤트 식별자 경로를 확인할 수 있다. 923 단계는 905 단계에서 저장된 이벤트 식별자 사용 용도를 참조하여 수행될 수 있다.
925 단계에서 프로파일 서버는 전수한 프로파일 서버가 923 단계에서 단말 인증과 이벤트 식별자 경로 확인에 성공했는지 여부를 판단할 수 있다. 만일 단말 인증과 이벤트 식별자 경로 확인 중 하나라도 실패하는 경우, 프로파일 서버는 935 단계를 수행할 수 있다. 만일 단말 인증과 이벤트 식별자 경로 확인에 모두 성공하는 경우, 프로파일 서버는 927 단계를 수행할 수 있다.
927 단계에서 프로파일 서버는 토큰 확인이 필요한지 여부를 판단할 수 있다. 927 단계는 905 단계에서 저장된 토큰 확인 필요 여부를 참조하여 수행될 수 있다. 만일 토큰 확인이 필요한 경우, 프로파일 서버는 929 단계를 수행할 수 있다. 만일 토큰 확인이 필요하지 않은 경우, 프로파일 서버는 933 단계를 수행할 수 있다.
929 단계에서 프로파일 서버는 토큰을 확인할 수 있다. 929 단계는 905 단계에서 저장된 토큰 확인과 915 단계에서 계산된 토큰이 동일한 토큰인지 여부를 확인하는 단계일 수 있다.
931 단계에서 프로파일 서버는 프로파일 서버가 929 단계에서 토큰 확인에 성공했는지 여부를 판단할 수 있다. 만일 토큰이 유효하지 않은 경우, 프로파일 서버는 935 단계를 수행할 수 있다. 만일 토큰이 유효한 경우, 프로파일 서버는 933 단계를 수행할 수 있다.
933 단계에서 프로파일 서버는 단말이 RSP 동작을 수행하는데 필요한 데이터의 전체 또는 일부를 단말에 회신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다. 933 단계는 도 10의 1025 단계에 대응될 수 있다.
935 단계에서 프로파일 서버는 단말에 오류 메시지를 회신할 수 있다. 935 단계는 도 10의 1025 단계에 대응될 수 있다.
937 단계에서 프로파일 서버는 동작을 종료할 수 있다.
도 10은 본 개시의 일 실시예에 따른 단말의 동작을 도시하는 순서도이다.
본 개시에서 설명한 단말 (110, 200, 2001, 2003, 2005 및 참조 번호를 붙이지 않고 설명한 단말) 각각은 도 10에서 설명하는 단말에 대응될 수 있다.
도 10을 참조하면, 1001 단계에서 단말은 동작을 시작할 수 있다.
1003 단계에서 단말은 명령코드 절차의 시작을 요청 받을 수 있다. 즉, 단말은 명령코드 절차의 시작 요청을 수신할 수 있다. 명령코드 절차의 시작은 단말에 설치된 소프트웨어나 단말 외부의 서버에 의해 요청될 수 있다. 단말에 설치된 소프트웨어는, 예를 들면, 사업자 앱일 수 있다. 단말 외부의 서버는, 예를 들면, 사업자 서버일 수 있다. 명령코드 절차의 시작 요청은 명령코드 절차가 서명된 명령코드를 사용하여 수행될 것인지 혹은 서명되지 않은 명령코드를 사용하여 수행될 것인지를 지시하는 표지자(indicator)를 더 포함할 수 있다.
1005 단계에서 단말은 서명된 명령코드를 사용할 것인지 혹은 서명되지 않은 명령코드를 사용할 것인지를 판단할 수 있다. 1005 단계는 1003 단계에서 수신한 서명된 명령코드와 서명되지 않은 명령코드 사용에 대한 표지자를 참조하여 수행될 수 있다. 만일 명령코드 절차가 서명된 명령코드를 사용하여 수행되는 경우, 단말은 1007 단계를 수행할 수 있다. 만일 명령코드 절차가 서명되지 않은 명령코드를 사용하여 수행되는 경우, 단말은 1027 단계를 수행할 수 있다.
1007 단계에서 단말은 제1 토큰을 계산하고, 서명된 명령코드를 위한 명령코드 생성정보를 생성할 수 있다. 전술한 명령코드 생성정보는 제1 토큰, eUICC의 정보(eUICC Info), 및 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다.
1009 단계에서 단말은 서버에 명령코드를 요청할 수 있다. 서버는, 예를 들면, 사업자 서버일 수 있다.
1011 단계에서 단말은 서버로부터 명령코드를 수신할 수 있다. 1011 단계는 도 9의 911 단계에 대응될 수 있다.
1013 단계에서 단말은 서명된 명령코드를 사용할 것인지 혹은 서명되지 않은 명령코드를 사용할 것인지를 판단할 수 있다. 1013 단계는 단말이 1003 단계에서 수신한 서명된 명령코드와 서명되지 않은 명령코드 사용에 대한 표지자를 참조하여 수행될 수도 있고, 1011 단계에서 수신한 명령코드에 서명이 포함되어 있는지를 참조하여 수행될 수도 있다. 만일 명령코드 절차가 서명된 명령코드를 사용하여 수행되는 경우, 단말은 1015 단계를 수행할 수 있다. 만일 명령코드 절차가 서명되지 않은 명령코드를 사용하여 수행되는 경우, 단말은 1029 단계를 수행할 수 있다. 또는, 명령코드 절차가 서명되지 않은 명령코드를 사용하여 수행되고, 단말이 1029 단계 및 1031 단계를 생략하는 경우, 단말은 1033 단계를 수행할 수 있다.
1015 단계에서 단말은 명령코드의 서명을 검증할 수 있다. 단말이 명령코드의 서명을 검증하는 동작은, 명령코드에 포함되어 있거나 단말에 저장되어 있는 프로파일 서버의 디지털 인증서가 유효(valid)한지 여부를 판단하는 동작과, 프로파일 서버의 디지털 인증서를 이용하여 프로파일 서버의 서명이 유효한지 여부를 판단하는 동작을 더 포함할 수 있다.
1017 단계에서 단말은 명령코드의 서명이 유효한지 여부를 판단할 수 있다. 만일 서명이 유효한 경우, 단말은 1019 단계를 수행할 수 있다. 만일 서명이 유효하지 않은 경우, 단말은 1037 단계를 수행할 수 있다.
1019 단계에서 단말은 "명령코드(command code)"를 나타내는 표지자(indicator)를 이용하여 이벤트 식별자 경로를 설정할 수 있다. 이벤트 식별자 경로는, 예를 들면, "명령코드(command code)"를 나타내는 표지자로 표현될 수 있다.
1021 단계에서 단말은 명령코드의 서명으로부터 제2 토큰을 계산할 수 있다.
1023 단계에서 단말은 서버에 RSP 동작을 요청할 수 있다. 서버는, 예를 들면, 프로파일 서버일 수 있다. 1023 단계는 도 9의 917 단계에 대응될 수 있다.
1025 단계에서 단말은 서버로부터 RSP 동작에 필요한 데이터의 전체 또는 일부를 수신하거나, 오류 메시지를 수신할 수 있다. RSP 동작을 수행하는데 필요한 데이터는, 예를 들면, 프로파일 요약정보(Profile Metadata) 또는 원격관리명령(RPM Package)를 포함할 수 있다. 1025 단계는 도 9의 933 단계 또는 935 단계에 대응될 수 있다.
1027 단계에서 단말은 서명되지 않은 명령코드를 위한 명령코드 생성정보를 생성할 수 있다. 전술한 명령코드 생성정보는 eUICC의 정보(eUICC Info)와 단말의 정보(Device Info) 중 적어도 하나 이상을 포함할 수 있다.
1029 단계에서 단말은 서명되지 않은 명령코드의 처리를 위한 검증을 수행할 수 있다. 1029 단계는, 단말의 구현에 따라 사업자 앱이 LPA에 접근(access)하는 것을 단말이 제어(access control)하는 동작이나, 단말이 사용자(미도시)에게 화면이나 음성 등을 통해 명령코드의 수행 의사를 묻고 사용자의 동의를 구하는 동작을 더 포함할 수 있다. 단말이 LPA에 대한 사업자 앱의 접근을 제어하는 동작은, 예를 들면, 모든 종류의 애플리케이션에 대해 접근을 허가하거나, 단말의 운영체제(Operating System, OS)가 제공하는 접근제어 기능을 이용하거나, 사업자 앱의 소프트웨어 패키지 이름이나 개발자 정보 내지 버전 정보 등을 확인하거나, 사업자 앱의 서명에 사용된 디지털 인증서 내지 디지털 인증서의 해시(hash)연산 결과를 검증하는 방법 등을 하나 이상 복합적으로 이용하여 수행될 수 있다. 단말이 사용자의 동의를 구하는 동작은, 예를 들면, 사용자로부터 사용자가 간단한 "예/아니오(Yes/No)"를 선택하거나, 사용자가 설정한 비밀번호를 입력하거나, 사용자의 지문 또는 홍채 등 생체정보를 입력하는 동작을 수신하는 것일 수 있다. 또한, 1029 단계는 선택적으로 수행될 수 있다. 즉, 1029 단계는 생략될 수 있다.
1031 단계에서 단말은 단말이 서명되지 않은 명령코드의 처리를 위한 검증에 성공했는지 판단할 수 있다. 1031 단계는 1029 단계의 수행 여부에 따라 선택적으로 수행될 수 있다. 예를 들어, 단말은 단말이 1029 단계를 수행하는 경우 1031 단계도 수행할 수 있다. 예를 들어, 단말은 단말이 1029 단계를 수행하지 않는 경우 1031 단계도 수행하지 않을 수 있다. 만일 단말이 서명되지 않은 명령코드의 처리를 위한 검증에 성공하는 경우, 단말은 1033 단계를 수행할 수 있다. 만일 서명되지 않은 명령코드의 처리를 위한 검증에 실패하는 경우, 단말은 1037 단계를 수행할 수 있다.
1033 단계에서 단말은 "활성화코드(activation code)"를 나타내는 표지자(indicator)를 이용하여 이벤트 식별자 경로를 설정할 수 있다. 이벤트 식별자 경로는, 예를 들면, "명령코드(command code)"를 나타내는 표지자로 표현될 수 있다.
1035 단계에서 단말은 제1 토큰을 계산할 수 있다. 단말은 제1 토큰을 계산한 후 1023 단계를 수행할 수 있다.
1037 단계에서 단말은 동작을 종료할 수 있다.
도 11은 본 개시의 일 실시예에 따른 프로파일 서버의 구성요소를 도시하는 블록도이다.
본 개시에서 설명한 프로파일 서버(250, 251, 260, 261, 263 및 참조 번호를 붙이지 않고 설명한 프로파일 서버) 각각은 도 11에서 설명하는 프로파일 서버에 대응될 수 있다. 예를 들어, 도 11의 프로파일 서버는 도 2a의 제1 프로파일 서버(250) 또는 제2 프로파일 서버(260)일 수 있다.
도 11을 참조하면, 프로파일 서버는 송수신부(1110) 및 프로세서(1120)를 포함할 수 있다.
송수신부(1110)는 단말 또는 사업자와 신호, 정보, 데이터 등을 송신 및 수신할 수 있다.
본 개시의 일 실시예에 따른 송수신부(1110)는 사업자로부터 RSP 동작 준비 요청을 수신하고, 사업자로 RSP 동작에 대응하는 식별자를 송신하고, 사업자로부터 명령코드 생성 요청을 수신하고, 사업자로 명령코드를 송신하고, 다른 프로파일 서버로 토큰을 선택적으로 송신하고, 단말로부터 RSP 동작 요청 메시지를 수신하고, 단말로 RSP 동작의 일부 또는 전체를 송신할 수 있다.
한편, 프로세서(1120)는 프로파일 서버를 전반적으로 제어하기 위한 구성요소이다. 프로세서(1120)는 본 개시의 다양한 실시예에 따라, 프로파일 서버의 전반적인 동작을 제어할 수 있다. 프로세서(1120)는 제어부로 명명할 수 있다. 본 개시의 일 실시예에 따르면, 프로세서(1120)는 적어도 하나 이상의 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른 프로세서(1120)는 사업자로부터 RSP 동작 준비 요청을 수신하고, RSP 동작을 준비하고, RSP 동작에 대응하는 이벤트 식별자를 확인하고, 추후 이벤트 처리를 위해 토큰 확인이 필요한지 여부를 저장하고, 추후 이벤트 처리를 위해 이벤트 식별자 경로를 저장하고, 사업자로 이벤트 식별자를 송신하고, 사업자로부터 명령코드 생성 요청을 수신하고, 명령코드를 생성하고, 사업자의 요청에 따라 명령코드에 선택적으로 서명하고, 사업자로 명령코드를 송신하고, 토큰 확인이 필요한지 판단하여, 토큰 확인이 필요한 경우 서명으로부터 토큰을 계산하거나 다른 서버에서 토큰을 수신하고, 단말로부터 RSP 동작 요청 메시지를 수신하고, 토큰 확인이 필요한지 판단하여, 토큰 확인이 필요한 경우 단말로부터 수신한 토큰을 임시 저장하고, 단말을 인증하고, 이벤트 식별자 경로를 확인하고, 토큰 확인이 필요한 경우 토큰을 확인하고, 단말 인증과 이벤트 식별자 경로 확인과 토큰 확인이 모두 성공한 경우 단말로 RSP 동작의 일부 또는 전체를 송신하고, 단말 인증과 이벤트 식별자 경로 확인과 토큰 확인 중 하나라도 실패하는 경우 단말로 에러코드를 송신하도록 프로파일 서버를 제어할 수 있다.
한편, 프로파일 서버 는 메모리(미도시)를 더 포함할 수 있으며, 프로파일 서버의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 또한, 메모리는 플래시 메모리 타입(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) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 프로세서(1120)는 메모리에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
도 12는 본 개시의 일 실시예에 따른 단말의 구성요소를 도시하는 블록도이다.
본 개시에서 설명한 단말(110, 200, 2001, 2003, 2005 및 참조 번호를 붙이지 않고 설명한 단말) 각각은 도 12에서 설명하는 단말에 대응될 수 있다. 예를 들어, 도 12의 단말은 도 2a의 단말(200)일 수 있다.
도 12 에서 도시된 바와 같이, 단말은 송수신부(1210) 및 프로세서(1220)를 포함할 수 있다. 또한, 단말은 UICC(1230)를 포함할 수도 있다. 예를 들면, UICC(1230)는 단말에 삽입될 수 있고, 단말에 내장된 eUICC 일 수도 있다.
송수신부(1210)는 사업자 서버 또는 프로파일 서버와 신호, 정보, 데이터 등을 송신 및 수신할 수 있다.
본 개시의 일 실시예에 따른 송수신부(1210)는 사업자 서버로부터 명령코드 절차 시작 요청 메시지를 수신하고, 사업자 서버로 명령코드의 생성을 요청하는 메시지를 송신하고, 사업자 서버로부터 명령코드를 수신하고, 프로파일 서버로 RSP 동작을 요청하는 메시지를 송신하고, 프로파일 서버로부터 RSP 동작의 일부 또는 전체를 수신할 수 있다.
한편, 프로세서(1220)는 단말을 전반적으로 제어하기 위한 구성요소이다. 프로세서(1220)는 본 개시의 다양한 실시예에 따라, 단말의 전반적인 동작을 제어할 수 있다. 프로세서(1220)는 제어부로 명명할 수 있다. 본 개시의 일 실시예에 따르면, 프로세서(1220)는 적어도 하나 이상의 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른 프로세서(1220)는 사업자 서버로부터 명령코드 절차 시작 요청 메시지를 수신하고, 서명된 명령코드를 사용할지를 판단하고, 서명된 명령코드를 사용하는 경우 제1 토큰을 생성하고, 명령코드 생성에 필요한 정보를 준비하고, 사업자 서버로 명령코드의 생성을 요청하는 메시지를 송신하고, 사업자 서버로부터 명령코드를 수신하고, 명령코드가 서명되었는지 여부를 판단하고, 명령코드가 서명된 경우 서명을 확인하여 제2 토큰을 생성하고, 명령코드가 서명되지 않은 경우 제1 토큰을 생성하고, 제1 토큰 그리고/또는 제2 토큰과 명령코드의 일부 또는 전체를 적어도 하나 이상 포함하는 RSP 동작 요청 메시지를 생성하고, 프로파일 서버로 RSP 동작 요청 메시지를 송신하고, 프로파일 서버로부터 RSP 동작의 일부 또는 전체를 수신하고, RSP 동작을 수행하도록 단말을 제어할 수 있다.
본 개시의 일 실시예에 따른 UICC(1230)는 프로파일을 다운로드하고, 프로파일을 설치할 수 있다. 또한, UICC(1230)는 프로파일을 관리할 수 있다.
UICC(1230)는 프로세서(1220)의 제어에 따라 동작할 수 있다. 또는 UICC(1230)는 프로파일을 설치하기 위한 프로세서 또는 컨트롤러를 포함하거나, 어플리케이션이 설치되어 있을 수도 있다. 어플리케이션의 일부는 프로세서(1220)에 설치되어 있을 수도 있다.
한편, 단말은 메모리(미도시)를 더 포함할 수 있으며, 단말의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 또한, 메모리는 플래시 메모리 타입(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) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 프로세서(1220)는 메모리에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 단말은 제1 서버(또는, 사업자 서버)로부터, 프로파일에 관련된 이벤트를 다운로드하기 위한 이벤트 다운로드 정보를 포함하는 명령코드를 수신할 수 있다. 또한, 단말은 명령코드의 처리를 위한 검증을 수행하고, 검증을 성공한 경우, 이벤트 다운로드 정보를 이용하여 이벤트의 다운로드를 요청하는 메시지를 생성하여 제2 서버(또는, 프로파일 서버)로 전송할 수 있다. 또한, 단말은 제2 서버로부터 이벤트의 다운로드를 요청하는 메시지에 대응하여 이벤트를 수신할 수 있다.
본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 제1 서버(또는, 사업자 서버)는, 단말에 제공할 프로파일에 관련된 이벤트에 대응하는 이벤트 식별 정보를 획득하고, 이벤트 식별 정보에 기초하여, 단말이 이벤트를 다운로드하기 위한 이벤트 다운로드 정보를 포함하는 명령코드를 생성할 수 있다. 또한, 제1 서버는 단말에 명령코드에 서명을 추가한 서명된 명령코드 또는 명령코드에 서명을 하지 않은 서명되지 않은 명령코드를 송신할 수 있다.
본 개시의 일 실시예에 따르면, 무선 통신 시스템에서 제2 서버(또는, 프로파일 서버)는, 단말에 제공할 프로파일에 관련된 이벤트 및 이벤트에 대응하는 이벤트 식별 정보를 획득할 수 있다. 또한, 제2 서버는 단말로부터 단말이 획득한 명령코드에 대응하여 이벤트의 다운로드를 요청하는 메시지를 수신하고, 이벤트 식별 정보에 기초하여 메시지를 검증하고, 검증을 성공한 경우, 단말로 이벤트를 송신할 수 있다.
상술한 본 개시의 구체적인 실시예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 개시의 다양한 실시예들 및 이에 사용된 용어들은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 개시에서, "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)(예: 내장 메모리 또는 외장 메모리에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 본 개시의 다양한 실시예들에 따른 단말(예: 단말(200), 제1 단말(2001), 제2 단말(2003), 제3 단말(2005))을 포함할 수 있다. 명령이 프로세서(예: 도 11의 프로세서(1120) 또는 도 12의 프로세서(1220))에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (12)

  1. 무선 통신 시스템에서 단말에 의해 수행되는 방법에 있어서,
    서명되지 않은 명령 코드(unsigned command code)와 연관된 정보에 기초하여, 명령 코드 생성과 관련된 정보를 식별하는 단계;
    제1 사업자의 서버에게, 상기 명령 코드 생성과 관련된 상기 정보를 전송하는 단계;
    상기 제1 사업자의 상기 서버로부터, 명령 코드를 수신하는 단계;
    상기 수신된 명령 코드를 검증하는 단계;
    검증 결과에 기초하여, 제2 사업자의 프로파일(profile) 서버에게, 상기 명령 코드와 연관된 정보를 포함하는 RSP (remote subscriber identity module provisioning) 요청 메시지를 전송하는 단계; 및
    상기 제2 사업자의 상기 프로파일 서버로부터, 프로파일과 연관된 데이터를 수신하는 단계를 포함하는 방법.
  2. 제1 항에 있어서, 상기 명령 코드 생성과 관련된 상기 정보는 상기 단말과 관련된 정보 또는 상기 단말의 eUICC (embedded universal circuit card)와 관련된 정보를 포함하는 방법.
  3. 제1 항에 있어서, 상기 명령 코드는, 상기 제2 사업자의 서버로부터 수신된 상기 프로파일의 식별 정보에 기초하여, 상기 제1 사업자의 상기 서버에 의해 생성되는 방법.
  4. 제1 항에 있어서, 상기 명령 코드를 검증하는 단계는
    상기 단말의 사용자로부터, 상기 명령 코드의 실행과 관련된 입력을 수신하는 단계; 및
    상기 입력에 기초하여, 상기 명령 코드를 검증하는 단계를 포함하는 방법.
  5. 제1 항에 있어서, 상기 명령 코드를 수신하는 단계는
    상기 제1 사업자의 상기 서버로부터, 상기 단말에 설치된 상기 제1 사업자의 애플리케이션을 사용하여, 상기 명령 코드를 수신하는 단계를 포함하고,
    상기 명령 코드를 검증하는 단계는
    상기 제1 사업자의 상기 애플리케이션이 LPA (local profile assistant)에 접근하는 것에 대한 접근 권한을 검증하는 단계; 및
    상기 접근 권한에 대한 검증 결과에 기초하여, 상기 LPA를 사용함으로써 상기 명령 코드를 검증하는 단계를 포함하는 방법.
  6. 제1 항에 있어서, 상기 서명되지 않은 명령 코드와 연관된 상기 정보는 상기 서명되지 않은 명령 코드가 RSP 절차에 사용될 것임을 지시하는 지시자를 포함하고,
    상기 제1 사업자의 상기 서버로부터 수신되는 상기 명령 코드는 상기 서명되지 않은 명령 코드인 방법.
  7. 무선 통신 시스템에서 단말에 있어서,
    송수신기; 및
    서명되지 않은 명령 코드(unsigned command code)와 연관된 정보에 기초하여, 명령 코드 생성과 관련된 정보를 식별하고,
    상기 송수신기를 통해 제1 사업자의 서버에게, 상기 명령 코드 생성과 관련된 상기 정보를 전송하며,
    상기 송수신기를 통해 상기 제1 사업자의 상기 서버로부터, 명령 코드를 수신하고,
    상기 수신된 명령 코드를 검증하며,
    검증 결과에 기초하여, 상기 송수신기를 통해 제2 사업자의 프로파일(profile) 서버에게, 상기 명령 코드와 연관된 정보를 포함하는 RSP (remote subscriber identity module provisioning) 요청 메시지를 전송하고,
    상기 송수신기를 통해 상기 제2 사업자의 상기 프로파일 서버로부터, 프로파일과 연관된 데이터를 수신하는 적어도 하나의 프로세서를 포함하는 단말.
  8. 제7 항에 있어서, 상기 명령 코드 생성과 관련된 상기 정보는 상기 단말과 관련된 정보 또는 상기 단말의 eUICC (embedded universal circuit card)와 관련된 정보를 포함하는 단말.
  9. 제7 항에 있어서, 상기 명령 코드는, 상기 제2 사업자의 서버로부터 수신된 상기 프로파일의 식별 정보에 기초하여, 상기 제1 사업자의 상기 서버에 의해 생성되는 단말.
  10. 제7 항에 있어서, 상기 적어도 하나의 프로세서는
    상기 단말의 사용자로부터, 상기 명령 코드의 실행과 관련된 입력을 수신하고,
    상기 입력에 기초하여, 상기 명령 코드를 검증하는 단말.
  11. 제7 항에 있어서, 상기 적어도 하나의 프로세서는
    상기 송수신기를 통해 상기 제1 사업자의 상기 서버로부터, 상기 단말에 설치된 상기 제1 사업자의 애플리케이션을 사용하여 상기 명령 코드를 수신하고,
    상기 제1 사업자의 상기 애플리케이션이 LPA (local profile assistant)에 접근하는 것에 대한 접근 권한을 검증하며,
    상기 접근 권한에 대한 검증 결과에 기초하여, 상기 LPA를 사용함으로써 상기 명령 코드를 검증하는 단말.
  12. 제7 항에 있어서, 상기 서명되지 않은 명령 코드와 연관된 상기 정보는 상기 서명되지 않은 명령 코드가 RSP 절차에 사용될 것임을 지시하는 지시자를 포함하고,
    상기 제1 사업자의 상기 서버로부터 수신되는 상기 명령 코드는 상기 서명되지 않은 명령 코드인 단말.

KR1020190017969A 2019-02-15 2019-02-15 eUICC 프로파일 설치 권한을 관리하는 방법 및 장치 KR102637120B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190017969A KR102637120B1 (ko) 2019-02-15 2019-02-15 eUICC 프로파일 설치 권한을 관리하는 방법 및 장치
PCT/KR2020/002137 WO2020167045A1 (ko) 2019-02-15 2020-02-14 Euicc 프로파일 설치 권한을 관리하는 방법 및 장치
US17/310,640 US11792640B2 (en) 2019-02-15 2020-02-14 Method and device for managing eUICC profile installation rights

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190017969A KR102637120B1 (ko) 2019-02-15 2019-02-15 eUICC 프로파일 설치 권한을 관리하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200099836A KR20200099836A (ko) 2020-08-25
KR102637120B1 true KR102637120B1 (ko) 2024-02-15

Family

ID=72043987

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190017969A KR102637120B1 (ko) 2019-02-15 2019-02-15 eUICC 프로파일 설치 권한을 관리하는 방법 및 장치

Country Status (3)

Country Link
US (1) US11792640B2 (ko)
KR (1) KR102637120B1 (ko)
WO (1) WO2020167045A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017220154A1 (en) 2016-06-23 2017-12-28 Telefonaktiebolaget Lm Ericsson (Publ) A method enabling migration of a subscription
US20180294949A1 (en) 2017-04-05 2018-10-11 Apple Inc. EMBEDDED UNIVERSAL INTEGRATED CIRCUIT CARD (eUICC) PROFILE CONTENT MANAGEMENT
WO2019015793A1 (en) 2017-07-20 2019-01-24 Telefonaktiebolaget Lm Ericsson (Publ) REMOTE SIM PROVIDING TECHNIQUE

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009475B2 (en) 2011-04-05 2015-04-14 Apple Inc. Apparatus and methods for storing electronic access clients
KR20160124648A (ko) * 2015-04-20 2016-10-28 삼성전자주식회사 프로파일 다운로드 및 설치 장치
EP3375165B1 (en) * 2015-11-13 2023-06-14 Samsung Electronics Co., Ltd. Method and apparatus for downloading profile on embedded universal integrated circuit card of terminal
KR102545897B1 (ko) 2015-12-22 2023-06-22 삼성전자 주식회사 프로파일 제공 방법 및 장치
KR102490497B1 (ko) * 2015-12-28 2023-01-19 삼성전자주식회사 통신 시스템에서 프로파일을 송수신하는 방법 및 장치
KR102382894B1 (ko) * 2017-11-28 2022-04-05 삼성전자주식회사 통신 시스템에서 이벤트를 관리하는 방법 및 장치
WO2020035150A1 (en) * 2018-08-17 2020-02-20 Telefonaktiebolaget Lm Ericsson (Publ) Handling of subscription profiles for a set of wireless devices
WO2020080909A1 (en) * 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Method and apparatus for handling remote profile management exception

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017220154A1 (en) 2016-06-23 2017-12-28 Telefonaktiebolaget Lm Ericsson (Publ) A method enabling migration of a subscription
US20180294949A1 (en) 2017-04-05 2018-10-11 Apple Inc. EMBEDDED UNIVERSAL INTEGRATED CIRCUIT CARD (eUICC) PROFILE CONTENT MANAGEMENT
WO2019015793A1 (en) 2017-07-20 2019-01-24 Telefonaktiebolaget Lm Ericsson (Publ) REMOTE SIM PROVIDING TECHNIQUE

Also Published As

Publication number Publication date
WO2020167045A1 (ko) 2020-08-20
KR20200099836A (ko) 2020-08-25
US20220030416A1 (en) 2022-01-27
US11792640B2 (en) 2023-10-17

Similar Documents

Publication Publication Date Title
KR102398276B1 (ko) 프로파일 다운로드 및 설치 장치
KR102502503B1 (ko) 프로파일 제공 방법 및 장치
KR102382851B1 (ko) eSIM 단말과 서버가 디지털 인증서를 협의하는 방법 및 장치
KR102657876B1 (ko) Ssp 단말과 서버가 디지털 인증서를 협의하는 방법 및 장치
KR102600813B1 (ko) 메시지 서비스를 이용하여 프로파일을 설치하고 관리하는 방법 및 장치
KR20200048298A (ko) Ssp의 번들을 관리하는 방법 및 장치
KR102546972B1 (ko) 프로파일 원격관리 예외 처리 방법 및 장치
US20240171981A1 (en) Method and device for changing euicc terminal
KR20190062063A (ko) 통신 시스템에서 이벤트를 관리하는 방법 및 장치
US11470465B2 (en) Method and apparatus for negotiating eUICC version
KR20200110101A (ko) eUICC 단말을 변경하는 방법 및 장치
US20230379685A1 (en) Apparatus and method for managing events in communication system
KR102637120B1 (ko) eUICC 프로파일 설치 권한을 관리하는 방법 및 장치
KR20220142318A (ko) 무선 통신 시스템에서 이벤트를 관리하기 위한 방법 및 장치
KR20220153456A (ko) eUICC 단말을 변경시 프로파일 삭제를 확인하는 방법 및 장치
KR20210110145A (ko) 원격 관리 및 원격 관리 권한 검증 방법 및 장치
KR20200130044A (ko) 인증서 관리 및 검증 방법 및 장치
KR20220039417A (ko) 기기 변경 시 서로 다른 버전의 프로파일 이동을 위한 방법 및 장치
KR20220017212A (ko) 기기 간 번들 또는 프로파일 이동 시 연계 방법 및 장치
KR20210116169A (ko) 기기 간 번들 또는 프로파일 온라인 이동 방법 및 장치
KR20220027002A (ko) 기기 변경 실패 시 프로파일 복구 방법 및 장치
KR20210020770A (ko) 기기 간 번들 이동 방법 및 장치
KR20200016784A (ko) 프로파일 원격관리 권한 설정 방법, 장치 및 시스템

Legal Events

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