KR20180016398A - 서비스 제공자 인증서 관리 - Google Patents

서비스 제공자 인증서 관리 Download PDF

Info

Publication number
KR20180016398A
KR20180016398A KR1020177035409A KR20177035409A KR20180016398A KR 20180016398 A KR20180016398 A KR 20180016398A KR 1020177035409 A KR1020177035409 A KR 1020177035409A KR 20177035409 A KR20177035409 A KR 20177035409A KR 20180016398 A KR20180016398 A KR 20180016398A
Authority
KR
South Korea
Prior art keywords
certificate
service
service provider
public key
provider
Prior art date
Application number
KR1020177035409A
Other languages
English (en)
Inventor
장원 이
아난드 파라니고언더
수 범 이
라자트 프라카시
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180016398A publication Critical patent/KR20180016398A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

방법은, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계; 서비스 제공자 시스템에서 디바이스로부터 원격통신 네트워크를 통해 디바이스 공개키를 수신하는 단계 ― 디바이스 공개키는 원격통신 링크의 설정에 선행함 ―; 서비스 제공자 시스템에서, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 단계 ― 디바이스 개인키는 디바이스 공개키에 대응하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍임 ―; 및 서비스 제공자 시스템에 의해, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로 서비스 등록을 위한 디바이스의 등록신청을 인가하는 단계를 포함한다.

Description

서비스 제공자 인증서 관리
[0001] 전자 통신은 광범위하게 다양한 정보를 획득하기 위해 일반적으로 사용된다. 예컨대, 사용자들은 현재 또는 과거의 뉴스, 엔터테인먼트 콘텐츠, 연구 정보, 사용법(how-to) 정보 등을 획득할 수 있다. 추가로, 정보는 프린트, 이미지들, 비디오, 오디오, 및 이들의 조합들과 같은 다양한 형태들을 취할 수 있다. 정보는 액세스 및/또는 콘텐츠 서비스들을 제공하는 하나 또는 그 초과의 서비스 제공자들을 사용하여 획득될 수 있다. 예컨대, 정보는, 하나 또는 그 초과의 액세스 제공자들(예컨대, 원격통신 네트워크들, 네트워크 게이트웨이들 등)을 통해 콘텐츠 제공자와 통신하고, 액세스 제공자를 통해 콘텐츠 제공자로부터 정보를 다운로딩하는 사용자 디바이스에 의해 획득될 수 있다. 획득된 정보는 무료로 이용가능할 수 있거나, 또는 콘텐츠 제공자 및/또는 액세스 제공자로의 사용자에 의한 지불(예컨대, 유료 가입)을 요구할 수 있다. 예컨대, 서비스 제공자가 콘텐츠를 사용자에게 제공하기 전에, 사용자는 그 서비스 제공자로의 가입을 위해 요금을 지불할 필요가 있을 수 있다. 사용자는 사용자가 임의의 특정한 서비스 제공자로부터 어떤 서비스들을 원하는지를 선택할 수 있으므로, 상이한 서비스 제공자들은 상이한 서비스들을 동일한 사용자에게 제공할 수 있고, 동일한 서비스 제공자는 상이한 서비스들을 상이한 사용자들에게 제공할 수 있다. 또한 또는 대안적으로, 사용자는 네트워크로의 액세스를 위해 요금을 지불할 수 있으며, 예컨대, 호텔-소유 액세스 포인트들을 통한 인터넷으로의 액세스를 위해 호텔에 요금을 지불한다.
[0002] 유로 가입 서비스들에 대해, 요청 파티의 진위(authenticity) 및 요청된 서비스에 대한 그 파티의 인가를 결정하는 것은 중요하다. 가입된 서비스들을 획득하기 위한 하나의 기존의 기법은, 사용자가 서비스들의 등록 동안 사용자명 및 패스워드를 설정하게 한다. 대안적으로, 사용자명 및 패스워드는 적에도 초기에는 서비스 제공자에 의해 제공될 수 있다. 그 후, 서비스를 원할 때마다, 사용자명 및 패스워드가 사용된다. 가입된 서비스들을 획득하기 위한 다른 기법은, 디바이스가 각각의 서비스 제공자(그로부터의 서비스를 원함)에게 동일한 디바이스 인증서를 제공하게 한다. 인증서는, 디바이스와 연관된 디바이스 아이덴티티, 공개 암호화 키(공개키)(즉, 디바이스에 의해 저장된 개인키에 대응함), 및 디지털 서명과 같은 정보를 포함한다. 모든 각각의 서비스 제공자(SP)에 대해 사용되는 동일한 디바이스 인증서를 이용하면, 인증서에는, 인가된(예컨대, 유료) 서비스, 사용자의 가입 만료 등과 같은 서비스-제공자-특정(SP-특정) 정보를 포함할 수 있는 맞춤 인증서를 제공하는 서비스 제공자와 비교하여 고객맞춤성(customizability)이 부족하다. 가입된 서비스들을 획득하기 위한 또 다른 기존의 기법은, 서비스 제공자 서버가 SP-특정 정보를 포함할 수 있는 맞춤 인증서를 제공하게 한다. 이러한 기법에서, 사용자 디바이스 및 서비스 제공자 서버는 통신을 개시하고, 공개키/개인키 쌍은 특정 서비스 제공자와 연관되어 사용자 디바이스에 의해 생성된다. 키들은 보안키 프로비저닝(provision) 없이 프로비저닝될 수 있으며, 키 쌍은 외부 소스들에 액세스가능한 HLOS(high-level operating system) 메모리에 저장된다. 대안적으로, 키들은 보안키 프로비저닝과 함께 프로비저닝될 수 있고, 개인키는 보안 저장소에 저장되어, 임의의 상당한 양의 서비스 제공자들을 수용하기 위해 값비싼 하드웨어가 요구된다. 이러한 기법이 맞춤 인증서를 제공하지만, 키 쌍들의 요구된 저장소는 부담스럽고, 개인키가 보안 저장소에 저장되지 않으면 보안 문제들을 초래하며, 특히, 개인키가 보안 저장소에 저장되면 사용자가 가입하는 각각의 별개의 서비스 제공자마다 비용들을 증가시킨다.
[0003] 방법의 일 예는, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계; 서비스 제공자 시스템에서 디바이스로부터 원격통신 네트워크를 통해 디바이스 공개키를 수신하는 단계 ― 디바이스 공개키는 원격통신 링크의 설정에 선행함 ―; 서비스 제공자 시스템에서, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 단계 ― 디바이스 개인키는 디바이스 공개키에 대응하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍임 ―; 및 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로 서비스 등록을 위한 디바이스의 등록신청을 서비스 제공자 시스템에 의해 인가하는 단계를 포함한다.
[0004] 그러한 방법의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수 있다. 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 단계는, 디바이스의 제조사와 연관된 화이트리스트(whitelist) 데이터베이스에서 디바이스 공개키의 표시를 찾는 단계를 포함한다. 디바이스 공개키는 디바이스 인증서의 일부이고 디바이스 공개키는 디바이스 인증서를 수신하는 서비스 제공자 시스템에 의해 수신되며, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 단계는, 디바이스 인증서가 신뢰할 수 있다는 것을 표시하는 디바이스 최상위(root) 인증 기관 인증서를 획득하는 단계, 및 보안 저장소가 디바이스 개인키에 대해 사용된다는 표시에 대해 디바이스 인증서를 분석하는 단계를 포함한다. 분석하는 단계는, 보안 저장소가 디바이스 개인키에 대해 사용된다는 표시에 대해 디바이스 인증서의 확장 키 사용 부분을 분석하는 단계를 포함한다. 방법은, 서비스 제공자 시스템에 의해 서비스 제공자 인증서를 생성하는 단계 ― 서비스 제공자 인증서의 공개키는 디바이스 공개키임 ―; 서비스-제공자-서명된 인증서를 생성하기 위해 서비스 제공자 시스템에 의해 서비스 제공자 인증서를 서명하는 단계; 및 서비스 제공자 시스템으로부터 디바이스에 서비스-제공자-서명된 인증서를 전송하는 단계를 더 포함한다. 방법은, 서비스 제공자 인증서에 기반하여, 서비스 제공자 시스템의 등록신청 서버로부터 서비스 제공자 시스템의 서비스 제공자 인증 기관에 인증서 서명 요청을 전송하는 단계 ― 서비스 제공자 인증 기관은 서비스 제공자 인증서의 서명을 수행함 ―; 및 등록신청 서버에서 서비스 제공자 인증 기관으로부터 서비스-제공자-서명된 인증서를 수신하는 단계를 더 포함하며, 등록신청 서버는 서비스-제공자-서명된 인증서를 디바이스에 전송하는 것을 수행한다. 서비스 제공자 인증서를 생성하는 단계는, 서비스 제공자 인증서의 포맷 또는 콘텐츠 중 적어도 하나가 서비스-제공자-서버 특정, 서비스-제공자 특정, 디바이스-사용자 특정, 디바이스 특정, 또는 가입 특정 중 적어도 하나이도록 수행된다.
[0005] 서비스 제공자 시스템의 일 예는, 원격통신 네트워크를 통해 디바이스와 원격통신 링크를 설정하도록 구성된 통신 인터페이스; 및 통신 인터페이스에 통신가능하게 커플링된 프로세서를 포함하며, 그 프로세서는, 디바이스로부터 디바이스 공개키를 수신하고 ― 디바이스 공개키는 원격통신 링크의 설정에 선행함 ―; 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하며 ― 디바이스 개인키 및 디바이스 공개키는 암호화 키 쌍임 ―; 그리고 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로 서비스 등록을 위한 디바이스의 등록신청을 인가하도록 구성된다.
[0006] 그러한 서비스 제공자 시스템의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수 있다. 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하기 위해, 프로세서는, 디바이스의 제조사와 연관된 화이트리스트 데이터베이스에서 디바이스 공개키의 표시를 찾도록 구성된다. 디바이스 공개키는 디바이스 인증서의 일부이고, 프로세서는 디바이스 인증서를 수신함으로써 디바이스 공개키를 수신하도록 구성되며, 여기서, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하기 위해, 프로세서는, 디바이스 인증서가 신뢰할 수 있다는 것을 표시하는 디바이스 최상위 인증 기관 인증서를 획득하고, 그리고 보안 저장소가 디바이스 개인키에 대해 사용된다는 표시에 대해 디바이스 인증서를 분석하도록 구성된다. 디바이스 인증서를 분석하기 위해, 프로세서는, 보안 저장소가 디바이스 개인키에 대해 사용된다는 표시에 대해 디바이스 인증서의 확장 키 사용 부분을 분석하도록 구성된다. 프로세서는, 서비스 제공자 인증서를 생성하고 ― 서비스 제공자 인증서의 공개키는 디바이스 공개키임 ―; 서비스-제공자-서명된 인증서를 생성하기 위해 서비스 제공자 인증서를 서명하며; 그리고 디바이스에 서비스-제공자-서명된 인증서를 전송하도록 추가로 구성된다. 프로세서는, 등록신청 모듈로부터 서비스-제공자-서명된 인증서 모듈에 인증서 서명 요청을 전송하고; 디바이스 인증서에 기반하여, 서비스-제공자-서명된 인증서 모듈에서 서비스-제공자-서명된 인증서를 생성하고; 서비스-제공자-서명된 인증서 모듈로부터 등록신청 모듈에 서비스-제공자-서명된 인증서를 전송하며; 그리고 서비스-제공자-서명된 인증서 모듈로부터 등록신청 모듈에서 서비스-제공자-서명된 인증서를 수신하도록 추가로 구성되고, 여기서, 프로세서는 등록신청 모듈로부터 디바이스에 서비스-제공자-서명된 인증서를 전송하도록 구성된다. 프로세서는, 서비스-제공자-서명된 인증서의 포맷 또는 콘텐츠 중 적어도 하나가 서비스-제공자-서버 특정, 서비스-제공자 특정, 디바이스-사용자 특정, 디바이스 특정, 또는 가입 특정 중 적어도 하나이도록 서비스 제공자 인증서를 생성하도록 구성된다.
[0007] 방법의 다른 예는, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계; 디바이스로부터 서비스 제공자 시스템에 원격통신 네트워크를 통해 디바이스 인증서를 전송하는 단계 ― 디바이스 인증서는 디바이스 공개키, 디바이스 아이덴티티, 및 디지털 서명을 포함하고, 디바이스 공개키는 원격통신 링크의 설정에 선행하고, 디바이스 공개키는 디바이스의 보안 메모리에 저장된 디바이스 개인키에 대응하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍이며, 디바이스 인증서는 디바이스 개인키가 디바이스의 보안 메모리에 저장되었다는 표시를 더 포함함 ―; 및 디바이스에서 서비스 제공자 시스템으로부터, 디바이스 인증서에 대응하는 서비스-제공자-서명된 인증서 또는 서비스 등록을 위해 디바이스를 등록신청하기 위한 인가 중 적어도 하나를 수신하는 단계를 포함한다.
[0008] 그러한 방법의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수 있다. 디바이스 인증서를 전송하는 단계는 디바이스 인증서를 다수의 서비스 제공자 시스템들에 전송하는 단계를 포함하며, 방법은, 서비스 제공자 시스템들 각각으로부터 각각의 서비스-제공자-서명된 인증서를 수신하는 단계를 더 포함한다. 서비스-제공자-서명된 인증서들 각각은, 각각의 서비스 제공자 시스템, 각각의 서비스 제공자, 디바이스의 사용자에 의해 가입된 서비스, 디바이스의 사용자, 또는 디바이스 중 적어도 하나에 특정한 포맷 또는 콘텐츠 중 적어도 하나를 갖는다. 방법은, 디바이스의 제조 동안 디바이스에 디바이스 개인키 및 디바이스 공개키를 저장하는 단계를 더 포함한다. 저장하는 단계는, 디바이스의 제조 동안 디바이스의 신뢰된 실행 환경에 디바이스 개인키를 저장한다.
[0009] 디바이스의 일 예는, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하도록 구성된 통신 인터페이스; 디바이스 개인키를 저장한 보안 메모리; 및 통신 인터페이스 및 보안 메모리에 통신가능하게 커플링된 프로세서를 포함하며, 그 프로세서는, 디바이스로부터 서비스 제공자 시스템에 원격통신 네트워크를 통해 디바이스 인증서를 전송하고 ― 디바이스 인증서는, 디바이스 개인키에 대응하는 디바이스 공개키, 디바이스 아이덴티티, 및 디지털 서명을 포함하고, 디바이스 공개키는 원격통신 링크의 설정에 선행하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍이며, 디바이스 인증서는 디바이스 개인키가 보안 메모리에 저장되었다는 표시를 더 포함함 ―; 그리고 서비스 제공자 시스템으로부터 통신 인터페이스를 통해, 디바이스 인증서에 대응하는 서비스-제공자-서명된 인증서 또는 서비스 등록을 위해 디바이스를 등록신청하기 위한 인가 중 적어도 하나를 수신하도록 구성된다.
[0010] 그러한 디바이스의 구현들은 다음의 특성들 중 하나 또는 그 초과를 포함할 수 있다. 프로세서는, 디바이스 인증서를 다수의 서비스 제공자 시스템들에 전송하고, 그리고 서비스 제공자 시스템들 각각으로부터 각각의 서비스-제공자-서명된 인증서를 수신하도록 구성된다. 서비스-제공자-서명된 인증서들 각각은, 각각의 서비스 제공자 시스템, 각각의 서비스 제공자, 디바이스의 사용자에 의해 가입된 서비스, 디바이스의 사용자, 또는 디바이스 중 적어도 하나에 특정한 포맷 또는 콘텐츠 중 적어도 하나를 갖는다. 보안 메모리는 신뢰된 실행 환경이다. 프로세서는, 디바이스 개인키를 사용하여 서비스-제공자-서명된 인증서를 암호해독하도록 추가로 구성된다. 프로세서는 통신 인터페이스를 통해, 서비스를 디바이스에 제공하라는 서비스 제공자 서버에 대한 요청의 적어도 일부로서 서비스-제공자-서명된 인증서를 서비스 제공자 서버에 전송하도록 추가로 구성된다.
[0011] 도 1은 원격통신 시스템의 간략화된 다이어그램이다.
[0012] 도 2는 도 1에 도시된 사용자 디바이스의 블록 다이어그램이다.
[0013] 도 3은 도 2에 도시된 사용자 디바이스의 기능 블록 다이어그램이다.
[0014] 도 4는 도 1에 도시된 서비스 제공자 시스템의 블록 다이어그램이다.
[0015] 도 5는 도 4에 도시된 서비스 제공자 시스템의 기능 블록 다이어그램이다.
[0016] 도 6은 등록신청을 인가하고 그리고/또는 SP-서명된 인증서를 제공하는 프로세스의 블록 흐름도이다.
[0017] 도 7은 등록신청하고 그리고/또는 SP-서명된 인증서를 요청하는 프로세스의 블록 흐름도이다.
[0018] 도 8은 온라인으로 서비스에 가입하고 그 서비스를 수신하는 프로세스의 블록 흐름도이다.
[0019] 도 9는 SP-서명된 인증서를 획득하고 SP-서명된 인증서를 사용하여 온라인으로 서비스를 획득하는 프로세스의 메시지 흐름도이다.
[0020] 도 10은 다른 원격통신 시스템의 간략화된 다이어그램이다.
[0021] 서비스를 위해 온라인으로 등록 신청하고, 서비스를 획득하기 위해 서비스-제공자-서명된 인증서(SP-서명된 인증서)를 획득하며, 그리고 서비스를 획득하기 위해 SP-서명된 인증서를 사용하기 위한 기법들이 본 명세서에서 논의된다. 예컨대, 바람직하게는 사용자 디바이스의 제조 동안, 디바이스 개인키 및 디바이스 공개키를 포함하는 암호화 키 쌍이 생성된다. 디바이스 개인키는 사용자 디바이스의 보안 저장소 영역 또는 보안 메모리, 이를테면 신뢰된 실행 환경에 저장된다. 사용자 디바이스는 통신 네트워크를 통해 OSUS(on-line sign-up server)에 접촉하며, OSUS는 사용자 디바이스를 인증한다. 디바이스는 디바이스 공개키를 OSUS에 제공하고, OSUS는, 사용자 디바이스가 보안키 프로비저닝을 사용했음을, 즉 디바이스 공개키에 대응하는 디바이스 개인키가 사용자 디바이스에 보안적으로 저장됐음을 검증한다. 예컨대, OSUS는 화이트리스트 데이터베이스에서 디바이스 공개키를 찾거나, 또는 디바이스 공개키를 포함하고 신뢰된 제3자 인증 기관에 의해 서명된 인증서에서 보안키 프로비저닝의 표시를 찾는다. 일단 보안키 프로비저닝이 검증되면, OSUS는 서비스를 위해 등록신청하도록 사용자 디바이스를 인가한다. 사용자는, 지불 정보 및 하나 또는 그 초과의 원하는 서비스들의 표시를 포함하는 사용자 정보를 OSUS에 제공한다. 가입된 서비스에 대한 그리고 사용자 디바이스가 보안키 프로비저닝을 사용한다는 표시들이 서비스 제공자 시스템의 서비스 제공자 서버에 제공된다. 표시들은 OSUS에 의해 제공될 수 있거나, 또는 디바이스 인증서 및 가입된 서비스의 표시를 서비스 제공자 서버에 전송하는 사용자 디바이스에 의해 또는 다른 기법들에 의해 제공될 수 있다. 바람직하게, 디바이스는 디바이스 인증서를 서비스 제공자 서버에 제공하고, 서비스 제공자 인증 기관은 SP-서명된 인증서를 생성하도록 디바이스 인증서를 서명하며, 그리고 서비스 제공자 서버는 SP-서명된 인증서를 사용자 디바이스에 제공한다. SP-서명된 인증서는, 예컨대 가입된 서비스, 사용자 디바이스, 사용자, 서비스 제공자, 및/또는 서비스 제공자 서버에 기반하여 맞춤화될 수 있다. 사용자는 서비스를 요청할 수 있고, 사용자 디바이스는 SP-서명된 인증서를 (SP-서명된 인증서를 제공했던 서비스 제공자 서버와는 별개일 수 있는) 서비스 제공자 서버에 전송할 것이며, 그 서버는 요청된 서비스가 사용자 디바이스에 의해 가입된 것이면, 요청된 서비스(예컨대, 네트워크 액세스, 콘텐츠 등)를 제공함으로써 응답할 것이다. 그러나, 이 예들은 포괄적인 것은 아니다.
[0022] 본 명세서에 설명된 아이템들 및/또는 기법들은 다음의 능력들 뿐만 아니라 언급되지 않은 다른 능력들 중 하나 또는 그 초과를 제공할 수 있다. 강한 디바이스 인증서 보안 및 동적 맞춤 SP-서명된 인증서 등록이 제공된다. 단지 하나의 디바이스 개인키를 디바이스에 저장하면서 또는 적어도 각각의 서비스 제공자에 대한 상이한 디바이스 개인키를 저장하지 않으면서, 맞춤 인증서는 상이한 서비스 제공자들 각각에 대하여 디바이스에 의해 저장될 수 있다. 맞춤 인증서는 상이한 서비스 제공자들 각각에 대하여 디바이스에 의해 저장될 수 있으며, 각각의 맞춤 인증서는 맞춤 정보(예컨대, 서비스 제공자 정보, 서비스 제공자가 원하는 맞춤 포맷, 맞춤 콘텐츠)를 포함하고, 맞춤 정보는 서비스 제공자로부터 서비스를 획득하는 것을 잠재적으로 용이하게 한다. 다른 능력들이 제공될 수 있으며, 본 개시내용에 따른 모든 각각의 구현도 논의된 능력들 중 전부가 아니라 임의의 능력을 제공해야 한다.
[0023] 도 1을 참조하면, 원격통신 시스템(10)은 사용자 디바이스들(12), 액세스 포인트(AP)들(14), 원격통신 네트워크(16), 서비스 제공자 시스템들(181-182), 및 화이트리스트 데이터베이스(20)를 포함한다. 시스템(10)은, 시스템(10)의 컴포넌트들이, 예컨대 원격통신 네트워크(16) 및/또는 액세스 포인트들(14) 중 하나 또는 그 초과(및/또는 하나 또는 그 초과의 베이스 트랜시버 스테이션들, 예컨대 셀 타워들과 같은 도시되지 않은 하나 또는 그 초과의 다른 디바이스들)를 통해 서로 직접적으로 또는 간접적으로 통신할 수 있다는 점에서 원격통신 시스템이다. 도시된 예시적인 사용자 디바이스들(12)은 모바일 폰들(스마트폰들을 포함함), 랩톱 컴퓨터, 및 태블릿 컴퓨터를 포함한다. 현재 존재하는지 또는 미래에 개발되는지에 관계없이, 또 다른 사용자 디바이스들이 사용될 수 있다. 도시된 사용자 디바이스들(12)이 모바일 디바이스들이지만, 데스크톱 컴퓨터들, 텔레비전들, 및/또는 통상적으로 모바일 디바이스들인 것으로 고려되지 않는 다른 사용자 디바이스들과 같은 사용자 디바이스들이 사용될 수 있다. 사용자 디바이스들(12)은 원격통신 디바이스들이며, 즉, 각각의 디바이스는, 이것이 디바이스의 주요 목적이 아니더라도 원격통신 능력을 갖는다.
[0024] 서비스 제공자 시스템들(18) 중 하나, 여기에서는 시스템(181)에 대해서만 도 1에 도시되었지만, 서비스 제공자 시스템들(181-182) 각각은 등록신청 서버(30), 서비스 제공자 서버(32), 또는 서비스 제공자 인증 기관(34) 중 하나 또는 그 초과를 포함한다. 간략화를 위해, 아래의 논의는 일반적으로 아래첨자없는 서비스 제공자 시스템(18)으로서 서비스 제공자 시스템(181)을 식별한다. 등록신청 서버(30)는, 등록신청 서버(30)에 접촉하는 사용자 디바이스들(12) 중 임의의 디바이스를 인증하고, 보안키 프로비저닝이 사용자 디바이스(12)에 의해 사용됐음을 검증하며, 그리고 사용자 디바이스(12)로부터 사용자 정보를 획득하도록, 예컨대 원하는 서비스를 식별하고 요구되는 정보(예컨대, 지불 정보)를 제공하도록 구성된다. 서비스 제공자 서버(32)는, 사용자 디바이스(12)가 보안키 프로비저닝을 사용했음을 검증하고, 서비스 제공자 인증 기관(34)으로부터 디바이스 인증서에 대한 서명을 획득하여 SP-서명된 인증서를 생성하며, 그리고 인터넷 액세스 또는 콘텐츠 프로비전(provision)과 같은 인가된(예컨대, 가입된) 서비스를 제공하도록 구성된다. 서비스 제공자 인증 기관(34)은, 서비스 제공자 서버에 의해 제공된 디바이스 인증서를 서명함으로써 SP-서명된 인증서를 생성하고, 그리고 사용자 디바이스(12)에 제공되도록 SP-서명된 인증서를 서비스 제공자 서버(32)에 제공하도록 구성된다. 서버들(30, 32) 및 인증 기관(34)은 아래에서 더 상세히 논의된다.
[0025] 화이트리스트 데이터베이스(20)는, 보안키 프로비저닝을 이용하고 특정한 제조사에 의해 제조된 사용자 디바이스들에 관한 정보를 저장한다. 간략화를 위해 하나의 데이터베이스만이 도 1에 도시되었지만, 다른 데이터베이스들이 사용될 것이며, 바람직하게, 각각의 데이터베이스는 하나의 대응하는 제조사에 의해 제조된 디바이스들에 대한 정보만을 저장한다. 데이터베이스(20)는 대응하는 디바이스 공개키들과 연관하여 사용자 디바이스들에 대한 디바이스 아이덴티티(ID)들을 저장한다. 바람직하게, 화이트리스트 데이터베이스(20)는, 보안키 프로비저닝을 사용하는, 즉 사용자 디바이스들(12) 각각이 그들 각각의 디바이스 개인키를 각각의 사용자 디바이스(12) 내의 보안 메모리에 저장하는 사용자 디바이스들(12)만에 대한 ID들 및 디바이스 공개키들을 저장한다. 대안적으로, 데이터베이스(20)는, 보안키 프로비저닝을 사용하는 사용자 디바이스들(12) 및 보안키 프로비저닝을 사용하지 않는 사용자 디바이스들에 대한 디바이스 ID들 및 디바이스 공개키들을 저장할 수 있다. 이러한 경우에서, 데이터베이스(20)는 어떤 디바이스 ID들이 보안키 프로비저닝을 사용하는 사용자 디바이스들(12)에 대응하는지의 표시들을 제공할 것이다.
[0026] 도 2를 또한 참조하면, 사용자 디바이스들(12) 중 하나의 일 예는 프로세서(40), 인터페이스(49), 및 보안 저장소 영역, 여기에서는 신뢰된 실행 환경(TEE)(44), HLOS(high-level operating system)(46), 및 소프트웨어(SW)(48)를 포함하는 메모리(42)를 포함한다. TEE(44)는, TEE(44)가 액세스가능하지 않은 것이 아니라면 엘리먼트 외부의 엔티티에 의해 액세스하는 것을 방지한다는 점에서 보안 엘리먼트이다. 대조적으로, HLOS(46)는 덜 보안적이며, 사용자 디바이스(12) 외부의 엔티티로부터 액세스될 수 있어서, HLOS가 해킹에 취약해진다. 바람직하게, 프로세서(40)는 지능형 하드웨어 디바이스, 예컨대, QUALCOMM®, ARM®, Intel® Corporation, 또는 AMD®에 의해 제조 또는 설계된 것들과 같은 중앙 프로세싱 유닛(CPU), 마이크로제어기, 주문형 집적 회로(ASIC) 등이다. 프로세서(40)는 사용자 디바이스(12)에 분산될 수 있는 다수의 별개의 물리 엔티티들을 포함할 수 있다. 메모리(42)는, 랜덤 액세스 메모리(RAM) 및/또는 판독-전용 메모리(ROM)를 포함할 수 있다. 메모리(42)는, (본 설명이 기능들을 수행하는 프로세서(40)만을 참조할 수 있지만) 실행될 경우 프로세서(40)로 하여금, 본 명세서에 설명된 다양한 기능들을 수행하게 하도록 구성된 명령들을 포함하는 프로세서-판독가능 프로세서-실행가능 소프트웨어 코드인 소프트웨어(48)를 저장할 수 있는 프로세서-판독가능 저장 매체이다. 대안적으로, 소프트웨어(48)는 프로세서(40)에 의해 직접적으로 실행가능하지 않을 수 있으며, 대신, 예컨대, 컴파일링 및 실행되는 경우 프로세서(40)로 하여금 기능들을 수행하게 하도록 구성될 수 있다. 프로세서(40)는 메모리(42)에 통신가능하게 커플링되며, 즉 프로세서(40) 및 메모리(42)는 서로 직접적으로 그리고/또는 간접적으로 통신하도록 구성된다. 인터페이스(49)는 프로세서(40)와 통신가능하게 커플링되며, AP들(14), 네트워크(16), 및/또는 다른 통신 디바이스들, 이를테면 베이스 트랜시버 스테이션들과 직접적으로 또는 간접적으로 양방향 통신하도록 구성된다. 인터페이스(49)는, 예컨대, 네트워크(16)로의 직접적인 또는 간접적인 원격통신 링크를 설정하고, 네트워크(16)가 인터페이스(49)로부터의 요청에 따라 서비스 제공자 시스템(18)으로의 직접적인 또는 간접적인 원격통신 링크를 설정함으로써 서비스 제공자 시스템(18)으로의 원격통신 링크를 설정할 수 있다. 그에 따라서, 인터페이스(49)는 프로세서(40)로부터 사용자 디바이스(12) 외부의 엔티티들에 정보를 전송하고, 사용자 디바이스(12) 외부의 엔티티들로부터 정보를 수신하며, 이러한 정보를 프로세서(40)에 전달할 수 있다.
[0027] 도 3을 또한 참조하면, 사용자 디바이스(12)는, 디바이스 키/인증서 모듈(디바이스 키들 및 디바이스 인증서를 생성 및 제공하기 위한 수단)(50), 등록신청 모듈(등록신청하기 위한 수단 및 등록하기 위한 수단)(52), 및 서비스 포착 모듈(서비스를 포착하기 위한 수단, 서비스를 획득하기 위한 수단)(54)을 포함하는 프로세서 모듈(60)을 포함한다. 모듈들(60, 50, 52, 54)은 프로세서(40), 및 메모리(42)에 저장된 소프트웨어(48)에 의해 구현되는 기능 모듈들이다. 따라서, 기능을 수행하거나 기능을 수행하도록 구성된 모듈들(60, 50, 52, 54) 중 임의의 모듈에 대한 참조는, 소프트웨어(42)(및/또는 펌웨어, 및/또는 프로세서(40)의 하드웨어)에 따라 기능을 수행하거나 기능을 수행하도록 구성된 프로세서(40)에 대한 약칭이다. 유사하게, 디바이스 인증서를 생성 또는 제공하거나, 사용자 디바이스(12)를 등록신청하거나, 사용자 디바이스(12)를 등록하거나, 또는 서비스를 포착 또는 획득하기 위한 기능을 수행하는 프로세서(40)에 대한 참조는, 기능을 각각 수행하는 디바이스 인증서 모듈(50), 등록신청 모듈(52), 또는 서비스 포착 모듈(54)과 동등하다.
[0028] 디바이스 키/인증서 모듈(50)은 사용자 디바이스(12)에서 보안키 프로비저닝을 인에이블링 및 구현하도록 구성된다. 모듈(50)은, 디바이스 공개키 및 디바이스 개인키를 포함하는 암호화 키 쌍을 생성하기 위해, 예컨대 사용자 디바이스(12)의 제조 동안 사용자 디바이스(12) 외부의 엔티티와 상호작용하도록 구성된다. 모듈(50)은, 사용자 디바이스(12) 외부의 엔티티로부터 액세스되고 그리고/또는 그에 의해 수정되기에 불가능하지는 않더라도 매우 가능성이 없도록, 보안 메모리에 디바이스 개인키를 저장하도록 구성된다. 예컨대, 모듈(50)은 디바이스 개인키를 TEE(44)에 저장하고 디바이스 공개키를 HLOS(46)에 저장하도록 구성될 수 있다. 모듈(50)은, 디바이스 공개키를 등록신청 모듈(52)에 전송하지만 디바이스 개인키를 비밀로 유지하도록 구성되어, 사용자 디바이스(12) 외부의 엔티티들과 디바이스 개인키를 공유(즉, 디바이스 개인키를 그러한 엔티티들에 전송 또는 그러한 엔티티들에 의한 디바이스 개인키로의 액세스를 허용)하지 않을 수 있다.
[0029] 추가로, 디바이스 키/인증서 모듈(50)은 디바이스 인증서를 생성 및 제공하도록 구성될 수 있다. 디바이스 키/인증서 모듈(50)은 디바이스 인증서를 형성하기 위해 적절한 정보를 컴파일링하도록 구성될 수 있다. 바람직하게, 디바이스 인증서는, 사용자 디바이스(12)를 식별하는 디바이스 ID, 디바이스 공개키, 및 디바이스 인증서에 대한 디지털 서명을 포함한다. 모듈(50)은 알려진 기법들을 사용하여 디바이스 인증서에 대한 디지털 서명을 생성하여, 그에 따라 자체-서명된 디바이스 인증서를 제공하도록 구성될 수 있다. 또한 또는 대안적으로, 모듈(50)은 인증서-기관-서명된 디바이스 인증서를 획득하도록 구성될 수 있다. 이러한 경우에서, 모듈(50)은, 디바이스 인증서 정보를 제3자 인증 기관(CA)(22)(도 10 참조)에 제공하고 제3자 CA(22)로부터 디바이스 인증서 ― 디바이스 인증서는 제3자 CA(22)에 의해 생성된 디지털 서명을 포함함 ― 를 수신하기 위해, 인터페이스(49)를 통하여 제3자 CA(22)과 상호작용하도록 구성된다. 모듈(50)은, 디바이스 공개키를 등록신청 서버(30)에 제공하고 그리고/또는 디바이스 인증서를 등록신청 모듈(52)에 제공하도록 구성된다.
[0030] 등록신청 모듈(52)은 서비스 제공자 시스템(18), 특히 등록신청 서버(30)와 온라인으로 서비스를 위해 사용자 디바이스(12)를 등록신청 및 등록하도록 구성된다. 모듈(52)은, 서비스 제공자 시스템(18)과 인터페이스(49)를 통해 접촉하고, 디바이스 키/인증서 모듈(50)로부터의 디바이스 인증서 및/또는 디바이스 공개키를 인터페이스(49)를 통해 서비스 제공자 시스템(18)에 제공함으로써 등록신청 프로세스를 개시하도록 구성된다. 모듈(52)은, 시스템(18)에 의해 요청된 정보를 제공하기 위해 시스템(18)과 양방향 통신하도록 추가로 구성된다. 예컨대, 등록신청 모듈(52)은, 사용자 정보, 사용자명, 패스워드, 지불 정보(예컨대, 신용카드 또는 은행 계좌 정보), 원하는 서비스의 표시, 및/또는 서비스에 대한 원하는 가입의 기간, 및/또는 다른 정보를 제공할 수 있다. 등록신청 모듈(52)은, 사용자가 사용자 정보를 제공하는 사용자 인터페이스를 포함할 수 있다. 원하는 서비스는, 예컨대, 콘텐츠의 타입(예컨대, 오디오, 비디오, 영화들, TV 쇼들 등) 및/또는 서비스의 포맷(예컨대, 다운로드 속도(예컨대, 5MB 대 20MB 등))을 포함할 수 있다. 추가로, 용어 "서비스"가 본 명세서에서 단수로 지칭되지만, 본 명세서에서 사용되는 바와 같이 용어 "서비스"는 복수(서비스들)를 또한 포함하며, 따라서 대응하는 용어들(예컨대, 표시)이 또한 복수를 포함한다. 즉, 설명이 단수형의 "서비스"를 사용하더라도, 사용자는 단일 서비스 또는 다수의 서비스들에 가입할 수 있다. 따라서, 용어 "서비스"는 1개 초과의 서비스를 요구하거나 배제하지 않는다. 등록신청 모듈(52)은, 등록신청 서버(30)로부터 아래에서 추가로 논의되는 SP-서명된 인증서를 수신하고, SP-서명된 인증서를 서비스 포착 모듈(54)에 제공하도록 추가로 구성된다.
[0031] 서비스 포착 모듈(54)은 서비스 제공자 시스템(18)으로부터 서비스를 포착 또는 획득하도록 구성된다. 모듈(54)은 서비스에 대한 서비스 요청을 서비스 제공자 시스템(18)에 전송하도록 구성된다. 서비스 요청은 단일 통신 또는 1개 초과의 통신일 수 있으며, 등록신청 모듈(52)을 통해 등록신청 서버(30)로부터 수신된 SP-서명된 인증서를 포함한다. 모듈(54)이 서비스 요청을 전송할 서비스 제공자 시스템(18)은, SP-서명된 인증서를 제공했던 동일한 서비스 제공자 시스템(18)일 수 있거나, 또는 다른 물리적으로 별개의 서비스 제공자 시스템(18)일 수 있다. 모듈(54)은 서비스, 예컨대, 통신 네트워크(예컨대, 인터넷) 액세스, 또는 콘텐츠(예컨대, 스트리밍 비디오 신호)를 수신하고, 그리고 추가의 적절한 프로세싱, 예컨대, 네트워크를 통한 콘텐츠 제공자로의 연결을 설정하는 것, 사용자 디바이스(12)의 사용자로의 제시를 위해 디스플레이 및/또는 스피커에 콘텐츠를 포워딩하는 것 등을 위해 프로세서(40)에 수신된 서비스를 제공하도록 구성된다.
[0032] 도 1의 추가 참조와 함께, 도 4를 참조하면, 서비스 제공자 시스템들(18) 중 하나의 일 예는, 프로세서(70), 소프트웨어(SW)(74)를 포함하는 메모리(72), 및 인터페이스(76)를 포함한다. 바람직하게, 프로세서(70)는 지능형 하드웨어 디바이스, 예컨대, QUALCOMM®, ARM®, Intel® Corporation, 또는 AMD®에 의해 제조 또는 설계된 것들과 같은 중앙 프로세싱 유닛(CPU), 마이크로제어기, 주문형 집적 회로(ASIC) 등이다. 프로세서(70)는 서비스 제공자 시스템(18)에 분산될 수 있는 다수의 별개의 물리 엔티티들을 포함할 수 있다. 메모리(72)는, 랜덤 액세스 메모리(RAM) 및/또는 판독-전용 메모리(ROM)를 포함할 수 있다. 메모리(72)는, (본 설명이 기능들을 수행하는 프로세서(70)만을 참조할 수 있지만) 실행될 경우 프로세서(70)로 하여금, 본 명세서에 설명된 다양한 기능들을 수행하게 하도록 구성된 명령들을 포함하는 프로세서-판독가능 프로세서-실행가능 소프트웨어 코드인 소프트웨어(74)를 저장할 수 있는 프로세서-판독가능 저장 매체이다. 대안적으로, 소프트웨어(74)는 프로세서(70)에 의해 직접적으로 실행가능하지 않을 수 있으며, 대신, 예컨대, 컴파일링 및 실행되는 경우 프로세서(70)로 하여금 기능들을 수행하게 하도록 구성될 수 있다. 프로세서(70)는 메모리(72)에 통신가능하게 커플링되며, 즉 프로세서(70) 및 메모리(72)는 서로 직접적으로 그리고/또는 간접적으로 통신하도록 구성된다. 인터페이스(76)는 프로세서(70)와 통신가능하게 커플링되며, AP들(14), 네트워크(16), 및/또는 다른 통신 디바이스들, 이를테면 베이스 트랜시버 스테이션들과 직접적으로 또는 간접적으로 양방향 통신하도록 구성된다. 인터페이스(76)는, 예컨대, 네트워크(16)로의 직접적인 또는 간접적인 원격통신 링크를 설정함으로써 사용자 디바이스들(12) 중 임의의 디바이스와 원격통신 링크를 설정할 수 있으며, 네트워크(16)는 통상적으로, 사용자 디바이스(12)로부터의 요청에 따라 사용자 디바이스(12)로의 직접적인 또는 간접적인 원격통신 링크를 이미 설정했다. 그에 따라서, 인터페이스(76)는 프로세서(70)로부터 서비스 제공자 시스템(18) 외부의 엔티티들에 정보를 전송하고, 서비스 제공자 시스템(18) 외부의 엔티티들로부터 정보를 수신하며, 이러한 정보를 프로세서(70)에 전달할 수 있다.
[0033] 도 5를 또한 참조하면, 서비스 제공자 시스템(18)은, 보안키 검증 모듈(검증하기 위한 수단)(82), 등록신청 모듈(등록신청하기 위한 수단)(84), SP-서명된 인증서 모듈(SP-서명된 인증서를 제공하기 위한 수단)(86), 및 서비스 모듈(서비스를 제공하기 위한 수단)(88)을 포함하는 프로세서 모듈(80)을 포함한다. 서비스 모듈(88)은 AAA(authentication, authorization, and accounting) 서버를 포함한다. 모듈들(80, 82, 84, 86, 88)은 프로세서(70). 및 메모리(72)에 저장된 소프트웨어(74)에 의해 구현되는 기능 모듈들이다. 따라서, 기능을 수행하거나 기능을 수행하도록 구성된 모듈들(80, 82, 84, 86, 88) 중 임의의 모듈에 대한 참조는, 소프트웨어(74)(및/또는 펌웨어, 및/또는 프로세서(70)의 하드웨어)에 따라 기능을 수행하거나 기능을 수행하도록 구성된 프로세서(70)에 대한 약칭이다. 유사하게, 사용자 디바이스(12)에 의해 구현된 보안키 프로비저닝을 검증하거나, 사용자 디바이스(12)를 등록신청하거나, SP-서명된 인증서를 생성 또는 제공하거나, 또는 서비스를 사용자 디바이스(12)에 제공하기 위한 기능을 수행하는 프로세서(70)에 대한 참조는, 그 기능을 각각 수행하는 보안키 검증 모듈(82), 등록신청 모듈(84), SP-서명된 인증서 모듈(86), 또는 서비스 모듈(88)과 동등하다.
[0034] 도 1에 도시된 바와 같이, 서비스 제공자 시스템(18)은 등록신청 서버(30) 및 서비스 제공자 서버(32), 및 서비스 제공자 인증 기관(34)을 포함할 수 있다. 따라서, 프로세서(70), 소프트웨어(74)를 포함하는 메모리(72), 및 인터페이스(76)는, 다수의 물리적으로 별개의 디바이스들에 배치된 다수의 물리적으로 별개의 장치일 수 있지만, 간략화를 위해 단일 시스템의 단일 장치로서 도 4에 도시된다. 보안키 검증 모듈(82) 및 등록신청 모듈(84)은 등록신청 서버(30)에서 바람직하게는 전체적으로 구현된다. 추가로, SP-서명된 인증서 모듈(86)은 아래에서 추가로 논의되는 바와 같이 서비스 제공자 인증 기관(34)에서 바람직하게는 전체적으로 구현되고, 서비스 모듈(88)은 서비스 제공자 서버(32)에서 바람직하게는 전체적으로 구현된다.
[0035] 보안키 검증 모듈(82)은, 요청 사용자 디바이스(12)를 인증하고, 요청 사용자 디바이스(12)가 보안키 프로비저닝을 사용하는지를 검증하며, 그리고 사용자 디바이스(12)가 보안키 프로비저닝을 사용한다면 적어도 등록신청 모듈(52)에 통지하도록 구성된다. 모듈(82)은 사용자 디바이스(12)를 인증하기 위하여 사용자 디바이스(12)에 의해 제공된 디바이스 공개키 또는 디바이스 인증서를 분석하도록 구성된다. 예컨대, 모듈(82)은, 사용자 디바이스(12)로부터의 요청이 알려진 바와 같이 실제로 그 사용자 디바이스(12)로부터의 것이고, 변경되지 않았는지를 결정하도록 구성될 수 있다. 추가로, 모듈(82)은 사용자 디바이스(12)가 보안키 프로비저닝을 사용하는지 여부를 결정하기 위해, 인증된 요청을 분석하도록 구성된다. 예컨대, 모듈(82)은, 디바이스 공개키가 디바이스 인증서의 일부인지 여부와 관계없이, 모듈(82)로 전송된 디바이스 공개키를 판독하도록 구성된다. 디바이스 공개키가 디바이스 인증서의 일부가 아니라면, 모듈(82)은 사용자 디바이스(12)로부터 수신된 메시지로부터의 디바이스 공개키를 판독한다. 디바이스 공개키가 자체-서명된 디바이스 인증서의 일부라면, 모듈(82)은 자체-서명된 디바이스 인증서로부터 디바이스 공개키를 추출함으로써 디바이스 공개키를 판독한다. 임의의 경우에서, 모듈(82)은, 디바이스 공개키가 사용자 디바이스(12)의 제조사에 대응하는 화이트리스트 데이터베이스(20)에서 나타나는지 여부를 결정하도록 구성된다. 이를 행하기 위해, 모듈(82)은, 디바이스 공개키를 화이트리스트 데이터베이스(20)에 전송하고, 디바이스 공개키가 데이터베이스(20)에 있는지 여부를 표시하는 응답을 수신할 수 있다. 대안적으로, 모듈(82)은 디바이스 공개키가 데이터베이스(20)에 상주하는지 여부를 결정하기 위해 데이터베이스(20)의 콘텐츠들을 분석할 수 있다. 사용자 디바이스(12)가 보안키 프로비저닝을 사용하는지 여부를 결정하는 다른 예로서, 모듈(82)은, (예컨대, 제3자 인증 기관(22)(도 10 참조)이 사용되면, ― 이러한 경우, 화이트리스트 데이터베이스(20)는 도 10에 도시되더라도 사용되지 않을 수 있고 또는 심지어 존재하지 않을 수 있음 ―) 사용자 디바이스(12)가 보안키 프로비저닝을 사용한다는 표시에 대하여, CA-서명된 디바이스 인증서의 콘텐츠를 분석하도록 구성될 수 있다. 이러한 경우에서, 모듈(82)은 CA-서명된 디바이스 인증서의 서명을 검증하기 위해 서명 CA의 공개키를 사용하도록 구성된다. 모듈(82)은, 일단 서명이 검증되면 CA-서명된 디바이스 인증서의 콘텐츠를 신뢰하며, 그리고 사용자 디바이스(12)가 보안키 프로비저닝을 사용하는지 여부에 대한 표시에 대해 CA-서명된 디바이스 인증서의 콘텐츠를 분석할 수 있다. 예컨대, CA-서명된 디바이스 인증서는, 보안키 프로비저닝이 사용되는지 여부를 명시적으로 표시할 수 있거나, 또는 보안키 프로비저닝이 어떠한 명시적인 표시도 갖지 않는 디바이스 인증서에 의해 사용되지 않았다는 것을 암묵적으로 표시할 수 있다. 모듈(82)은, 사용자 디바이스(12)의 등록신청을 인가함으로써, 예컨대 사용자 디바이스(12)에 대한 등록신청 인가를 사용자 디바이스(12)(예컨대, 등록신청 모듈(52)) 및 등록신청 모듈(84)에 전송함으로써 사용자 디바이스(12)가 보안키 프로비저닝을 사용한다는 것을 확인하는 것에 응답하도록 구성된다.
[0036] 등록신청 모듈(84)은 사용자 디바이스(12)를 등록신청하기 위한 인가를 수신하는 것에 대한 응답으로 사용자 정보를 획득하기 위해 사용자 디바이스(12)와 상호작용하도록 구성된다. 모듈(84)은 사용자 정보를 획득하기 위하여 인터페이스(76)를 통해 양방향 통신할 수 있으며, 사용자 정보는 사용자에 의해 사용자 디바이스(12)로 입력된다. 사용자 정보는, 사용자 디바이스(12), 사용자(예컨대, 사용자명 및 패스워드), 지불 정보(예컨대, 신용카드 세부사항들), 원하는 서비스, 원하는 서비스의 지속기간 등에 관한 정보를 포함할 수 있다.
[0037] 등록신청 모듈(84)은, 서명 요청을 생성하여 SP-서명된 인증서 모듈(86)에 전송하고, SP-서명된 인증서 모듈(86)로부터 SP-서명된 인증서를 수신하며, 그리고 SP-서명된 인증서를 사용자 디바이스(12)에 전송하도록 추가로 구성된다. 서명 요청은 디바이스 인증서에 기반하며, 예컨대, 서명 요청은 디바이스 인증서, 또는 적어도 디바이스 인증서로부터의 정보를 포함한다. 등록신청 모듈(84)은 서비스 제공자(SP) 인증서를 생성하도록 구성된다. SP 인증서는, 디바이스 공개키, 디바이스 ID, 사용자 디바이스가 보안키 프로비저닝을 사용한다는 (예컨대, SP 인증서의 EKU(extended key usage) 부분에서의) 표시, 및/또는 맞춤화된 콘텐츠 및/또는 포맷팅을 포함할 수 있다. 예컨대, 모듈(84)은 바람직하게, SP 인증서를 생성하기 위해 사용자 정보 중 적어도 일부를 사용하도록 구성된다. 모듈(84)은, 서버 특정, 사용자 특정, 가입 특정, 서비스-제공자 특정, 및/또는 디바이스 특정인 콘텐츠 및/또는 포맷팅을 포함하도록 SP 인증서를 생성할 수 있다. 서버-특정 콘텐츠는 인증서를 생성하는 서버(들) 및/또는 서비스(예컨대, 서버 ID)를 제공하는 서버(들)와 연관된 콘텐츠이다. 사용자-특정 콘텐츠는, 사용자 디바이스(12)의 사용자에 관련된 (예컨대, 그 사용자를 식별하거나, 그 사용자와 연관되거나, 그 사용자에 의해 제공된) 정보이다. 가입-특정 콘텐츠는, 서비스 가입(예컨대, 가입된 특정한 서비스, 가입의 지속기간 등)을 특성화하는 콘텐츠이다. 디바이스-특정 콘텐츠는, 사용자 디바이스(12)와 연관되고 서비스에 가입하기 위해 사용되는 디바이스 ID 및 디바이스 공개키 이외의 정보(예컨대, 디바이스 제조사, 디바이스 모델, 하나 또는 그 초과의 디바이스 능력들(예컨대, 디스플레이 픽셀들의 양) 등)이다. 서버 특정, 사용자 특정, 가입 특정, 및/또는 디바이스 특정적인 포맷팅에 관해, 모듈(84)은, SP 인증서를 생성하고 그리고/또는 서비스를 제공하는 서버(들), 사용자 디바이스(12)의 사용자, 서비스 가입, 또는 사용자 디바이스(12), 이를테면 위의 콘텐츠 예들 중 임의의 예 중 하나 또는 그 초과와 연관된 정보에 의존하는 포맷을 갖는 SP 인증서를 생성할 수 있다. 모듈(84)은 디바이스 공개키를 사용하는 인증서 서명 요청의 일부로서 SP 인증서를 모듈(86)에 제공하도록 구성된다. 모듈(84)은, 서명 요청을 전송하는 것에 대한 응답으로 SP-서명된 인증서를 수신하고, 그리고 SP-서명된 인증서를, 예컨대 인터페이스(76)를 거쳐 네트워크(16)를 통해 사용자 디바이스(12)에 전송하도록 구성된다.
[0038] SP-서명된 인증서 모듈(86)은 모듈(84)로부터 서명 요청을 수신하고 ― 서명 요청은 SP 인증서를 포함함 ―, SP-서명된 인증서를 생성하기 위해 SP 인증서를 서명하며, 그리고 SP-서명된 인증서를 등록신청 모듈(84)에 전송하도록 구성된다. 모듈(86)은, 사용자 디바이스(12)가 보안키 프로비저닝을 사용하는지를 (예컨대, EKU를 분석함으로써) 검증하고, SP-서명된 인증서를 생성하기 위해 SP 인증서를 서명하며, 그리고 SP-서명된 인증서를 등록신청 서버(30)의 등록신청 모듈(84)에 전송하도록 구성된다.
[0039] SP-서명된 인증서는 디바이스 공개키 이외에 암호화 키를 포함할 수 있다. 예컨대, 모듈(86)은 대칭 암호화 키를 획득(예컨대, 생성, 메모리로부터 리트리브 등)하고, SP-서명된 인증서의 일부로서 대칭 암호화 키를 포함할 수 있다. 모듈(86)은, 예컨대 디바이스 공개키를 사용하여 SP-서명된 인증서를 암호화하도록 구성되며, 바람직하게는, SP-서명된 인증서가 대칭 암호화 키를 포함할 때마다 SP-서명된 인증서를 암호화하도록 구성된다.
[0040] 서비스 모듈(88)은 가입된 서비스를 사용자 디바이스(12)에 제공하도록 구성된다. 모듈(88)은 사용자 디바이스(12)에 의해 제공된 SP-서명된 인증서를 수신하여 분석하도록 구성된다. 모듈(88)은, 제공된 인증서가, 예컨대, 인증서의 콘텐츠 및/또는 포맷팅을 예상되는 콘텐츠 및/또는 포맷팅과 비교함으로써 진본인지 여부를 결정할 수 있다. 예컨대, 예상되는 콘텐츠는 메모리(72)에 저장될 수 있고 그리고/또는 메모리(72)에 저장된 정보로부터 도출될 수 있다. 또한 예컨대, 예상되는 포맷팅은 메모리(72)에 저장된 정보에 의해 표시될 수 있고 그리고/또는 메모리(72)에 저장된 정보로부터 도출될 수 있다. 모듈(88)은, 서비스가 제공되는지 여부 및 어떤 서비스가 제공되는지를 결정하기 위해 인증서를 분석함으로써, 제공된 SP-서명된 인증서가 진본이라고 결정하는 것에 응답하고, 그리고 적절할 때 서비스를 제공하도록 구성된다. 예컨대, 모듈(88)은, 어떤 서비스에 가입되었는지(예컨대, 금액을 지불했는지) 및 가입이 현재 유효한지(예컨대, 만료되지 않았는지 또는 그렇지 않으면 유효하지 않게 되었는지) 여부를 결정하기 위해 인증서를 분석할 수 있다. 모듈(88)은, 가입이 현재 유효하다고 결정하는 것에 대한 응답으로, 가입된 서비스(예컨대, 네트워크 액세스, 콘텐츠(예컨대, 게이밍, 음악, 텔레비전, 영화들) 등)를 사용자 디바이스(12)에 제공하도록 추가로 구성된다.
[0041] 도 1-5 및 7-8의 추가 참조와 함께, 도 6을 참조하면, 디바이스 공개키/인증서를 프로비저닝하고 온라인 서비스에 가입하여 온라인 서비스를 획득하는 프로세스(110)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(110)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(110)는, 예컨대, 스테이지들을 부가, 제거, 재배열, 결합, 동시에 수행하게 하고 그리고/또는 단일 스테이지들을 다수의 스테이지들로 분할하게 함으로써 변경될 수 있다. 예컨대, 스테이지(118)는 스테이지(116) 이전에 수행될 수 있다. 도시되고 설명된 바와 같은 프로세스(110)에 대한 또 다른 변경들이 가능하다.
[0042] 아래에서 추가로 논의되는 바와 같이, 프로세스(110)는 사용자 디바이스들(12) 중 하나 및 서비스 제공자 시스템들(18) 중 하나 둘 모두를 수반한다. 프로세스(110)는 다른 사용자 디바이스들(12) 및/또는 다른 서비스 제공자 시스템들(18)에 대해 반복될 수 있지만, 간략화를 위해, 프로세스(110)의 논의는 단수의 사용자 디바이스(12) 및 서비스 제공자 시스템(18)을 참조한다. 프로세스(110) 내에, 예컨대, 사용자 디바이스(12)의 관점 및 서비스 제공자 시스템(18)의 관점으로부터 서브-프로세스들이 존재한다.
[0043] 예컨대, 서비스 제공자 시스템 관점으로부터의 프로세스(110)의 스테이지(114) 및 스테이지(116)는 도 7에 도시된 스테이지들을 포함하는 프로세스(130)를 포함한다. 프로세스(130)는, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 스테이지(132), 서비스 제공자 시스템에서 디바이스로부터 원격통신 네트워크를 통해 디바이스 공개키를 수신하는 스테이지(134) ― 디바이스 공개키는 원격통신 링크의 설정에 선행함 ―, 서비스 제공자 시스템에서, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 스테이지(136) ― 디바이스 개인키는 디바이스 공개키에 대응하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍임 ―, 및 서비스 제공자 시스템에 의해, 디바이스가 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로 서비스 등록을 위한 디바이스의 등록신청을 인가하는 스테이지(138)를 포함한다. 그러나, 프로세스(130)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(130)는, 예컨대, 스테이지들을 부가, 제거, 재배열, 결합, 동시에 수행하게 하고 그리고/또는 단일 스테이지들을 다수의 스테이지들로 분할하게 함으로써 변경될 수 있다.
[0044] 다른 예에 대해, 사용자 디바이스 관점으로부터의 프로세스(110)의 스테이지(114), 및 스테이지(116) 및/또는 스테이지(120)는, 등록신청 인가 및/또는 SP-서명된 인증서를 획득하는 프로세스(140)를 포함하며, 프로세스(140)는 도 8에 도시된 스테이지들을 포함한다. 프로세스(140)는, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 스테이지(142), 디바이스로부터 서비스 제공자 시스템에 원격통신 네트워크를 통해 디바이스 인증서를 전송하는 스테이지(144) ― 디바이스 인증서는 디바이스 공개키, 디바이스 아이덴티티, 및 디지털 서명을 포함하고, 디바이스 공개키는 원격통신 링크의 설정에 선행하고, 디바이스 공개키는 보안 메모리에 저장된 디바이스 개인키에 대응하고, 디바이스 공개키 및 디바이스 개인키는 암호화 키 쌍이며, 디바이스 인증서는 디바이스 개인키가 디바이스의 보안 메모리에 저장되었다는 표시를 더 포함함 ―; 및 디바이스에서 서비스 제공자 시스템으로부터, 서비스 등록을 위해 모바일 디바이스를 등록신청하기 위한 인가를 수신하는 스테이지(146)를 포함한다.
[0045] 프로세스들(130, 140)은 프로세스(110)의 스테이지들(114, 116, 120)의 논의들에 대해 아래에서 논의된다.
[0046] 여전히 도 1-5 및 도 7-9의 추가 참조와 함께, 도 6을 다시 참조하면, 스테이지(112)에서, 프로세스(110)는 디바이스 공개키/인증서(즉, 디바이스 공개키 및/또는 디바이스 인증서)를 프로비저닝하는 단계를 포함한다. 디바이스 키/인증서 모듈(50)은, 디바이스 공개키/인증서를 저장하고, 그리고 가급적, 디바이스 공개키/인증서를 생성하거나 그의 생성에 협력한다. 디바이스 공개키/인증서는 사용자 디바이스(12)의 제조 동안 프로비저닝될 수 있으며, 디바이스 공개키 및 디바이스 개인키가 생성되고, 디바이스 개인키는 메모리(42)의 보안 저장소 영역, 예컨대 TEE(44)에 프로세서(40)에 의해 저장된다. 또한 또는 대안적으로, 디바이스 공개키/인증서는, 사용자 디바이스(12)와 서비스 제공자 시스템(18) 사이의 통신의 일부로서가 아니라 사용자 디바이스(12)의 제조 이후 사용자 디바이스(12)에 저장될 수 있으며, 예컨대, 디바이스 공개키/인증서는, 사용자 디바이스(12)가 서비스 제공자 시스템(18)으로의 원격통신 링크를 설정하기 전에 사용자 디바이스(12)에 저장된다.
[0047] 스테이지(114)에서, 프로세스(110)는 네트워크(16) 및 서비스 제공자 시스템(18)을 탐색하는 단계를 포함한다. 사용자 디바이스(12) 및 특히 인터페이스(49)를 통한 프로세서(40)는, 네트워크(16)를 통해 추가적인 통신들을 서비스 제공자 시스템(18)에 전송하기 위해 네트워크(16) 및 서비스 제공자 시스템(18)을 탐색하도록, 네트워크(16)에 의해 브로드캐스팅된 시스템 정보를 리스닝하고 그리고/또는 하나 또는 그 초과의 통신들을 네트워크(16)에 전송한다. 서비스 제공자 시스템(18) 및 특히 인터페이스(76)를 통한 프로세서(70)는, 사용자 디바이스(12)로부터 통신을 수신하고 응답을 사용자 디바이스(12)에 전송한다. 대응적으로, 스테이지들(132, 142)에서, 프로세스들(130, 140)은, 각각, 원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계를 포함한다. 예컨대, 사용자 디바이스(12)의 프로세서(40)는, 서비스 제공자 시스템(18)을 표시하는 목적지 정보, 예컨대, URL(uniform resource locator)을 갖는 통신을 인터페이스(49)를 통해 네트워크(16)에 전송하고, 네트워크(16)는 서비스 제공자 시스템(18), 특히 등록신청 서버(30)에 (헤더가 적절히 변경된) 통신을 포워딩한다. 등록신청 서버(30)는, 프로세서(70)가 사용자 디바이스(12)와의 원격통신 링크를 완료하기 위한 통신을 인터페이스(76)를 통해 사용자 디바이스(12)에 전송하는 것에 의해 사용자 디바이스(12)에 응답한다.
[0048] 스테이지(116)에서, 프로세스(110)는 서비스를 위한 등록신청에 대해 디바이스를 인가하는 단계를 포함한다. 사용자 디바이스 관점으로부터, 디바이스의 인가는 프로세스(140)의 스테이지들(144 및 146)을 포함하며, 스테이지(146)는 서비스 등록을 위해 디바이스를 등록신청하기 위한 인가를 수신하는 단계를 포함한다. 서비스 제공자 시스템 관점으로부터, 등록신청을 위한 디바이스의 인가는 프로세스(130)의 스테이지들(134, 136, 138)을 포함하며, 스테이지(138)는 서비스 등록을 위해 디바이스의 등록신청을 인가한다. 예컨대, 스테이지들(134, 144)에서, 사용자 디바이스(12) 및 특히 디바이스 키/인증서 모듈(50)은 디바이스 공개키를 등록신청 서버(30)에 전송한다. (사용자 디바이스(12)의 보안 메모리에 저장되는 디바이스 개인키에 대응하는) 디바이스 공개키는, 디바이스 ID, 및 사용자 디바이스(12)로부터의 디지털 서명(즉, 자체-서명된 인증서)을 더 포함하는 디바이스 인증서의 일부로서 제공될 수 있다. 바람직하게, 디바이스 공개키는 스테이지들(132, 142)에서의 원격통신 링크의 설정에 선행하며, 즉 디바이스 공개키는, 사용자 디바이스(12)로부터 서비스 제공자 시스템(18)으로의 원격통신 링크가 설정되기 전에 생성되었고 사용자 디바이스(12)의 보안 메모리에 저장되었다.
[0049] 스테이지(136)에서, 서비스 제공자 시스템(18), 및 특히 여기에서는 등록신청 서버(30)의 보안키 검증 모듈(82)은, 사용자 디바이스(12)가 사용자 디바이스(12)로부터 수신된 디바이스 공개키에 대응하는 디바이스 개인키에 대해 적어도 보안키 프로비저닝을 사용했음을 검증한다. 디바이스 공개키가 사용자 디바이스(12)에 의해 자체-서명되었던 디바이스 인증서의 일부로서 제공되었다면, 등록신청 서버(30)는, 디바이스 인증서가 사용자 디바이스(12)로부터 도래한 것으로 신뢰될 수 있음을 검증하기 위해 디지털 서명을 프로세싱한다. 디바이스 공개키가 디바이스 인증서의 일부로서 제공되었는지 여부와 관계없이, 등록신청 서버(30)는 사용자 디바이스(12)로부터 수신된 디바이스 공개키가 화이트리스트 데이터베이스(20)에 존재하는지 여부를 결정하여, 사용자 디바이스(12)가 대응하는 디바이스 개인키에 대해 보안키 프로비저닝을 사용했다는 것을 표시하기 위해 화이트리스트 데이터베이스(20)에 접촉한다. 예컨대, 등록신청 서버(30)는 사용자 디바이스(12)로부터 수신된 디바이스 공개키를 데이터베이스(20)에 전송하고, 데이터베이스(20)는, 디바이스 공개키가 데이터베이스(20)에 존재하는지 여부를 표시하는 통신을 등록신청 서버(30)에 전송함으로써 응답한다.
[0050] 일 대안으로서, 디바이스 인증서를 서명하기 위해 도 10에 도시된 바와 같은 원격통신 시스템(210)의 일부로서 제3자 인증 기관(22)이 사용되면, 스테이지(136)는, 보안키 프로비저닝이 사용되었다는 것을 제3자-서명된 디바이스 인증서가 표시한다고 결정하는 단계를 포함할 수 있다. 디바이스 인증서가 제3자 인증 기관(22)에 의해 서명되었다면, 등록신청 서버(30)는 인증 기관(22)의 공개키를 획득하기 위해 (디바이스 최상위 인증 기관인) 제3자 인증 기관(22)에 접촉한다. 등록신청 서버(30)가 디바이스 공개키를 데이터베이스(20)에 전송하고, 디바이스 공개키가 데이터베이스(20)에 존재하는지 여부를 데이터베이스(20)가 표시하는 것 대신, 등록신청 서버(30)는 공개키에 대한 요청을 인증 기관(22)에 전송하고, 인증 기관(22)은 인증 기관(22)의 공개키를 갖는 응답을 전송한다. 등록신청 서버(30)는, (예컨대, 인증 기관(22)의 공개키를 사용하여 디바이스 인증서의 전부 또는 일부를 암호해독함으로써) 디바이스 인증서가 신뢰할 수 있다고 결정하기 위해 인증 기관(22)의 공개키를 사용한다. 디바이스 인증서가 신뢰될 수 있다면, 등록신청 서버(30)는, 사용자 디바이스(12)가 디바이스 개인키에 대해 보안키 프로비저닝을 사용한다는 표시에 대해 디바이스 인증서를 분석한다. 예컨대, 등록신청 서버(30)는 이러한 표시에 대해 디바이스 인증서의 EKU 부분을 검토한다. 사용자 디바이스(12)가 보안키 프로비저닝을 사용한다는 것을 디바이스 인증서가 표시하면, 보안키 프로비저닝의 사용이 검증되며, 그렇지 않으면 보안키 프로비저닝의 사용이 검증되지 않는다.
[0051] 스테이지들(138, 146)에서, 등록신청 서버(30) 및 특히 보안키 검증 모듈(82)은, 사용자 디바이스(12)가 원하는 서비스에 등록신청 및 가입하는 것을 진행할 수 있다는 것을 표시하는 인가를 등록신청 모듈(84) 및 사용자 디바이스(12)(예컨대, 등록신청 모듈(52))에 전송함으로써 보안키 프로비저닝의 사용이 검증되는 것에 응답한다. 사용자 디바이스(12)가 디바이스 개인키에 대해 보안키 프로비저닝을 사용한다고 검증되면(예컨대, 디바이스 공개키가 데이터베이스(20)에 존재하거나, 또는 디바이스 공개키를 포함했던 통신이, 신뢰가능하고 보안키 프로비저닝이 사용되었다는 표시를 포함하는 것으로 제3자 인증 기관(22)에 의해 확인되었음), 프로세스(110)는, 등록신청 서버(30)가 사용자 디바이스의 등록신청을 인가함으로써 응답하는 것으로 계속될 수 있다. 그렇지 않으면, 바람직하게 프로세스(110)는, 사용자 디바이스(12)가 SP-서명된 인증서를 획득하도록 허용되지 않도록 종료되거나, 또는 다른 프로세스가 사용자 디바이스(12)에 SP-서명된 인증서를 제공하는데 사용된다.
[0052] 스테이지(118)에서, 프로세스(110)는 온라인으로 등록신청하는 단계를 포함한다. 사용자 디바이스(12)의 등록신청 모듈(52) 및 등록신청 서버(30)의 등록신청 모듈(84)은, 사용자 디바이스(12)가 등록신청 서버(30)에 사용자 정보를 제공하는 양방향 통신에 관여된다. 사용자 디바이스(12)가 사용자 정보를 제공하는 등록신청 서버(30)는 동일한 물리 엔티티 또는 상이한 물리 엔티티일 수 있지만, 상이한 물리 엔티티이면, 등록신청 서버(30)는 동일한 서비스 제공자 시스템(18)의 일부인 것으로 여전히 고려된다. 사용자 디바이스(12)의 사용자는 사용자 및/또는 원하는 서비스에 관한 정보를 제공하며, 이는 원하는 서비스를 선택하는 것, 지불 정보를 제공하는 것, 사용자명 및 패스워드를 제공하는 것 등을 포함한다. 스테이지(118)는 통상적으로 스테이지(116) 이후 및 스테이지(120) 이전에 수행되지만, 스테이지(116) 이전에 수행될 수 있으며, 이 경우, 스테이지(116)는 등록신청 인가를 전송하는 단계를 포함하지 않을 것이다.
[0053] 스테이지(120)에서, 프로세스(110)는 SP-서명된 인증서를 획득하는 단계를 포함한다. 여기서, 예컨대, 등록이 등록신청을 위해 사용된 것과는 물리적으로 별개의 등록신청 서버(30)를 통해 이루어지면, 프로세스(110)는 프로세스(130)의 스테이지들(134, 136, 138) 및 프로세스(140)의 스테이지들(144, 146)을 포함할 수 있으며, 이 스테이지들은 위에서 제공된 이 스테이지들의 논의와 유사하다. 이러한 선택적인 통신이 수행되는지 여부와는 관계없이, 등록신청 서버(30)의 등록신청 모듈(84)은 (위에서 논의된) SP 인증서를 생성하여, 적절할 때 서비스 제공자 서버(32)와 선택적으로 통신한다. 등록신청 모듈(84)은 (SP 인증서를 포함하는) 인증서 서명 요청을 서비스 제공자 인증 기관(34)에 전송한다. 서비스 제공자 인증 기관(34)의 SP-서명된 인증서 모듈(86)은, 예컨대, SP 인증서의 EKU를 분석함으로써 사용자 디바이스(12)가 보안키 프로비저닝을 사용했음을 검증하며, SP-서명된 인증서를 생성하도록 SP 인증서를 서명함으로써 (수행된다면) 이러한 검증에 응답한다. SP-서명된 인증서 모듈(86)은 SP-서명된 인증서를 등록신청 서버(30)의 등록신청 모듈(84)에 전송한다. 등록신청 모듈(84)은 사용자 디바이스(12), 및 선택적으로는 서비스 모듈(88)에 SP-서명된 인증서를 전송한다.
[0054] 스테이지(122)에서, 프로세스(110)는 가입 정보를 다운로딩하는 단계를 포함한다. 서비스 제공자 서버(32)는 하나 또는 그 초과의 통신들에서 가입 정보를 사용자 디바이스(12)에 전송한다. 가입 정보는, 가입된 서비스, AAA 서버 인증서, 정책 정보, 정책 업데이트의 빈도 표시 등에 관한 상세한 정보를 포함할 수 있다.
[0055] 스테이지(124)에서, 프로세스(110)는 서비스 제공자로의 연결을 설정하는 단계를 포함한다. 사용자 디바이스(12) 및 특히 서비스 포착 모듈(56)은 서비스 제공자 시스템(18) 및 특히 서비스 제공자 서버(32)의 서비스 모듈(88)과의 연결을 설정한다. 사용자 디바이스(12)에 의해 접촉되는 특정한 서비스 제공자 서버(32)는, SP-서명된 인증서를 제공했던 동일한 물리 엔티티일 수 있거나 그 물리 엔티티가 아닐 수 있지만, 가입된 서비스를 제공할 수 있을 것이다. 예컨대, 스테이지(124)에서 접촉된 서비스 제공자 서버(32)는, SP-서명된 인증서를 제공했던 서비스 제공자 서버(32) 보다 스테이지(124) 동안 사용자 디바이스(12)에 물리적으로 더 가까울 수 있으며, 2개의 서비스 제공자 서버들(32)은 통상적으로 공통 엔티티에 의해 소유 또는 제어된다.
[0056] 스테이지(126)에서, 프로세스(110)는 서비스를 획득하는 단계를 포함한다. 사용자 디바이스(12) 및 특히 서비스 포착 모듈(56)은, 필요하다면(예컨대, SP-서명된 인증서에서 명시적이지 않거나 또는 암묵적인) 원하는 서비스의 표시와 함께 SP-서명된 인증서를 서비스 제공자 서버(32)에 전송한다. 서비스 제공자 서버(32)의 서비스 모듈(88)(특히, 서비스 모듈(88)의 AAA)은, 제공된 SP-서명된 인증서가 적절하게 진본인지 여부를 결정하고, SP-서명된 인증서가 진본이면 서비스를 사용자 디바이스(12)에 제공한다.
[0057] 프로세스(110)의 일부 또는 전부는 다른 서비스 제공자들 및/또는 다른 서비스들에 대해 반복될 수 있다. 예컨대, 프로세스(110)의 스테이지들 전부는 상이한 서비스 제공자 시스템들(18)에 대해 반복될 수 있다. 바람직하게, 필수적이지는 않지만, 스테이지(112)는 다른 서비스 제공자 시스템들(18)에 대한 프로세스(110)의 반복들로부터 생략될 것이다. 어느 경우든, 사용자 디바이스(12)는, 다수의 서비스 제공자 시스템들(18)에 (가급적 디바이스 인증서에서) 디바이스 공개키를 전송하고, 대응하는 서비스를 획득할 시에 사용하기 위해 이 서비스 제공자 시스템들(18)로부터 각각의 SP-서명된 인증서들을 획득할 수 있다. 스테이지(112)가 반복되었다면, 이러한 스테이지 동안 생성된 디바이스 개인키는 사용자 디바이스(12)의 보안 메모리에 저장될 것이다. 다른 예로서, 스테이지들(124, 126)은, 동일한 서비스 제공자 서버(32) 및/또는 상이한 서비스 제공자 서버들(32)에 대해, 동일한 SP-서명된 인증서를 다수회 사용하여 반복될 수 있다.
[0058] 도 1-5의 추가 참조와 함께, 도 9를 참조하면, 보안키 프로비저닝이 사용됐음을 검증하고, 서비스를 위해 등록신청하고, SP-서명된 인증서를 획득하며, 그리고 가입된 서비스를 획득하는 프로세스(200)는 도시된 스테이지들을 포함한다. 그러나, 프로세스(200)는 제한이 아니라 단지 예시적일 뿐이다. 프로세스(200)는, 예컨대, 스테이지들을 부가, 제거, 재배열, 결합, 동시에 수행하게 하고 그리고/또는 단일 스테이지들을 다수의 스테이지들로 분할하게 함으로써 변경될 수 있다. 예컨대, 스테이지(178) 및/또는 스테이지(180)가 생략될 수 있다. 도시되고 설명된 바와 같은 프로세스(200)에 대한 또 다른 변경들이 가능하다. 추가로, 네트워크(16)가 도 9에 도시되지 않았지만, 아래에서 논의되는 통신들의 대부분은, 이것이 명시적으로 언급되는지 여부와 관계없이 네트워크(16)를 통해 송신될 수 있다.
[0059] 스테이지들(160, 162, 164, 166, 168, 174)에서, 보안키 프로비저닝이 검증되고 등록신청이 인가된다. 스테이지(160)에서, 사용자 디바이스(12)는, 서비스 제공자 시스템(18)을 표시하는 목적지 정보를 갖는 통신을 인터페이스(49)를 통해 네트워크(16)에 전송하고, 네트워크(16)는 적절한 서비스 제공자 시스템(18), 특히 등록신청 서버(30)에 통신을 포워딩한다(160). 스테이지(162)에서, 등록신청 서버(30)는, 사용자 디바이스(12)와 등록신청 서버(30) 사이의 원격통신 링크를 완료하기 위해 사용자 디바이스(12)에 응답한다. 스테이지(164)에서, 사용자 디바이스(12)는 사용자 디바이스(12)의 디바이스 공개키를 등록신청 서버(30)에 전송한다. 공개키는 디바이스 인증서의 일부이지 않으면서 전송될 수 있거나, 또는 자체-서명된 인증서의 일부 또는 제3자-서명된 인증서의 일부일 수 있다. 디바이스 공개키가 인증서의 일부이지 않으면서 제공되었거나 또는 자체-서명된 인증서의 일부이면, 스테이지(166)에서, 등록신청 서버(30)의 보안키 검증 모듈(82)은 (바람직하게는, 적절한 경우 자체-서명된 인증서로부터 디바이스 공개키를 추출한 이후) 화이트리스트 데이터베이스(20)에 디바이스 공개키를 전송한다. 스테이지(168)에서, 화이트리스트 데이터베이스(20)는 디바이스 공개키를 검색하며, 디바이스 공개키가 화이트리스트 데이터베이스(20)에 포함된다는 것을 그리고 그에 따라, 사용자 디바이스(12)로부터 수신된 디바이스 공개키에 대응하는 디바이스 개인키에 대해 보안키 프로비저닝이 사용되는지 여부를 등록신청 서버(30)에 확인시키거나 또는 거부한다. 대안적으로, 디바이스 공개키가 제3자 서명된 인증서의 일부였다면, 스테이지들(166, 168) 대신, 등록신청 서버(30)는 제3자 서명된 인증서를 검증하며, 사용자 디바이스(12)로부터 수신된 디바이스 공개키에 대응하는 디바이스 개인키에 대해 보안키 프로비저닝이 사용되었는지 여부를 결정하기 위해 인증서를 분석한다. 스테이지(174)에서, 사용자 디바이스(12)로부터 수신된 디바이스 공개키에 대응하는 디바이스 개인키에 대해 보안키 프로비저닝이 사용되었다고 결정한 모듈(82)은 등록신청 인가를 사용자 디바이스(12)에 전송한다.
[0060] 스테이지들(176), 선택적으로는 스테이지들(180, 182) 및 스테이지들(182, 184, 186)에서, 사용자는 가입된 서비스를 위해 등록신청하고, SP-서명된 인증서를 획득한다. 스테이지(176)에서, 사용자 디바이스(12)의 등록신청 모듈(52) 및 등록신청 서버(30)의 등록신청 모듈(84)은, 사용자 디바이스(12)가 등록신청 서버(30)에 사용자 정보를 제공하는 양방향 통신에 관여된다. 스테이지(178)는, 예컨대, 등록신청을 위해 접촉된 것과는 상이한 물리 엔티티가 등록을 위해 접촉된다면, 사용자 디바이스(12)에 의해 사용되는 보안키 프로비저닝의 선택적인 확인이다. 스테이지(180)는, 적절할 때 SP 인증서에 대한 정보를 획득하기 위한, 등록신청 모듈(84)과 서비스 제공자 서버(32) 사이의 선택적인 통신이다. 스테이지(182)에서, 등록신청 모듈(84)은 SP 인증서를 생성하고, SP 인증서에 대한 서명 요청을 서비스 제공자 인증 기관(34)의 SP-서명된 인증서 모듈(86)에 전송한다. 스테이지(184)에서, SP-서명된 인증서 모듈은, 사용자 디바이스(12)가 보안키 프로비저닝을 사용했음을 검증하고, SP-서명된 인증서를 생성하기 위해 SP 인증서를 서명하며, 그리고 SP-서명된 인증서를 등록신청 모듈(84)에 전송한다. 보안키 프로비저닝이 사용되었는지를 모듈(86)이 검증하지 않으면, 모듈(86)은 SP 인증서를 서명하지 않으며, 서명 요청의 거부를 등록신청 모듈(84)에 전송한다. 스테이지(186)에서, 등록신청 모듈(84)은 SP-서명된 인증서(또는 그러한 인증서의 거부 표시)를 사용자 디바이스(12)에 전송한다.
[0061] 스테이지들(188, 190, 192)에서, 사용자 디바이스(12)는 가입된 서비스를 획득한다. 스테이지(188)에서, 서비스 제공자 서버(32), 특히 서비스 모듈(88)은 적절할 때 가입 정보를 사용자 디바이스(12)에 제공한다. 스테이지(190)에서, 사용자 디바이스는 서비스에 대한 요청을 서비스 모듈(88)에 전송한다. 바람직하게, 서비스에 대한 요청은, 서비스 제공자 서버(32)에 대응하는, 즉, 요청이 전송된 서비스 제공자 서버(32)와 동일한 서비스 제공자 시스템(18)의 일부인 등록신청 서버(30)로부터 수신된 SP-서명된 인증서를 포함한다. 스테이지(192)에서, 서비스 모듈(88)은 SP-서명된 인증서를 인증하고, 요청된 서비스에 가입되었는지(예컨대, 요금을 지불했는지) 여부를 결정하며, 가입되었다면, 가입된 서비스를 사용자 디바이스에 제공한다.
[0062] 다른 고려사항들
[0063] 다른 예들 및 구현들은 개시내용 및 첨부된 청구항들의 범위 및 사상 내에 존재한다. 예컨대, 소프트웨어의 속성으로 인해, 위에서 설명된 기능들은, 프로세서에 의해 실행되는 소프트웨어, 하드웨어, 펌웨어, 하드와이어링, 또는 이들 중 임의의 것의 조합들을 사용하여 구현될 수 있다. 기능들을 구현하는 특성들은 또한, 기능들의 일부들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 포함하여 다양한 포지션들에 물리적으로 로케이팅될 수 있다. 또한, 본 명세서에서 사용된 바와 같이, "중 적어도 하나" 또는 "중 하나 또는 그 초과"에 의해 시작되는(preface) 아이템들의 리스트에서 사용되는 바와 같은 "또는"은, 예컨대, "A, B, 또는 C 중 적어도 하나"의 리스트 또는 "A, B, 또는 C 중 하나 또는 그 초과"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C), 또는 1개 초과의 특성과의 조합들(예컨대, AA, AAB, ABBC 등)을 의미하도록 하는 선언적인(disjunctive) 리스트를 표시한다.
[0064] 달리 나타내지 않으면, 본 명세서에서 사용된 바와 같이, 기능 또는 동작이 아이템 또는 조건"에 기반한다"는 스테이트먼트(statement)는, 기능 또는 동작이 나타낸 아이템 또는 조건에 기반하고, 나타낸 아이템 또는 조건에 부가하여 하나 또는 그 초과의 아이템들 및/또는 조건들에 기반할 수 있다는 것을 의미한다.
[0065] 추가로, 엔티티"로" 정보가 전송 또는 송신되었다는 표시, 또는 정보를 전송 또는 송신한다는 스테이트먼트는 통신의 완료를 요구하지 않는다. 그러한 표시들 또는 스테이트먼트들은, 정보가 전송 엔티티로부터 운반되지만 정보의 의도된 수신측에 도달하지는 않았다는 것을 포함한다. 의도된 수신측은, 정보를 실제로 수신하지 않더라도, 수신 엔티티, 예컨대, 수신 실행 환경으로 여전히 지칭될 수 있다.
[0066] 실질적인 변경들이 특정한 요건들에 따라 행해질 수 있다. 예컨대, 맞춤화된 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정한 엘리먼트들이 하드웨어, (애플릿(applet)들과 같은 휴대용 소프트웨어 등을 포함하는) 소프트웨어, 또는 둘 모두로 구현될 수 있다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 이용될 수 있다.
[0067] 본 명세서에서 사용된 바와 같이, 용어들 "머신-판독가능 매체" 및 "컴퓨터-판독가능 매체"는 머신이 특정한 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템을 사용하면, 다양한 컴퓨터-판독가능 매체들은, 실행을 위해 프로세서(들)에 명령들/코드를 제공하는 것에 수반될 수 있고 그리고/또는 그러한 명령들/코드를 저장 및/또는 (예컨대, 신호들로서) 반송하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터-판독가능 매체는 물리적이고 그리고/또는 유형의 저장 매체이다. 그러한 매체는, 비- 휘발성 매체들 및 휘발성 매체들을 포함하지만 이에 제한되지는 않는 많은 형태들을 취할 수 있다. 비-휘발성 매체들은, 예컨대, 광학 및/또는 자기 디스크들을 포함한다. 휘발성 매체들은 동적 메모리를 제한없이 포함한다.
[0068] 물리적인 및/또는 유형의 컴퓨터-판독가능 매체들의 일반적인 형태들은, 예컨대, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들, 페이퍼테이프들, 홀들의 패턴들을 갖는 임의의 다른 물리적인 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 아래에서 설명되는 바와 같은 반송파, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
[0069] 상술된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 컴포넌트들을 적절하게 생략, 치환, 또는 부가할 수 있다. 예컨대, 대안적인 구성들에서, 방법들은 설명된 것과는 상이한 순서로 수행될 수 있으며, 그 다양한 단계들은 부가, 생략, 또는 결합될 수 있다. 또한, 특정한 구성들에 대해 설명된 특성들은 다양한 다른 구성들로 결합될 수 있다. 구성들의 상이한 양상들 및 엘리먼트들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 발전하며, 따라서 대부분의 엘리먼트들은 예들이고, 본 발명 또는 청구항들의 범위를 제한하지 않는다.
[0070] 특정한 세부사항들은, (구현들을 포함하는) 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에서 제공된다. 그러나, 구성들은 이들 특정한 세부사항들 없이 실시될 수 있다. 예컨대, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 구성들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 도시되었다. 이러한 설명은 예시적인 구성들만을 제공하며, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 이전의 설명은 설명된 기법들을 구현하기 위한 설명을 제공한다. 다양한 변화들이 본 발명의 사상 또는 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 어레인지먼트(arrangement)에서 행해질 수 있다.
[0071] 또한, 구성들은, 흐름도 또는 블록 다이어그램으로서 도시된 프로세스로서 설명될 수 있다. 각각이 순차적인 프로세스로서 동작들을 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수 있다. 프로세스는, 도면에 포함되지 않는 부가적인 스테이지들 또는 기능들을 가질 수 있다. 또한, 방법들의 예들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션(description) 언어들, 또는 이들의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현되는 경우, 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비-일시적인 컴퓨터-판독가능 매체에 저장될 수 있다. 프로세서들은 설명된 태스크들을 수행할 수 있다.
[0072] 기능적으로 또는 달리, 서로 연결되거나 통신하는 것으로 도면들에 도시되고 그리고/또는 본 명세서에서 논의된 컴포넌트들은 통신가능하게 커플링된다. 즉, 그들은 그들 사이에서 통신을 가능하게 하도록 직접적으로 또는 간접적으로 연결될 수 있다.
[0073] 수 개의 예시적인 구성들을 설명하였지만, 다양한 변형들, 대안적인 구성들, 및 등가물들은 본 개시내용의 사상을 벗어나지 않으면서 사용될 수 있다. 예컨대, 위의 엘리먼트들은 더 큰 시스템의 컴포넌트일 수 있으며, 여기서, 다른 규칙들은 본 발명의 애플리케이션에 우선할 수 있거나 그렇지 않으면 본 발명의 애플리케이션을 변경시킬 수 있다. 또한, 다수의 동작들은, 위의 엘리먼트들이 고려되기 전에, 그 동안, 또는 그 이후에 착수될 수 있다. 따라서, 상기 설명은 청구항들의 범위를 제한하지 않는다.
[0074] 추가로, 1개 초과의 발명이 개시될 수 있다.

Claims (26)

  1. 방법으로서,
    원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계;
    상기 서비스 제공자 시스템에서 상기 디바이스로부터 상기 원격통신 네트워크를 통해 디바이스 공개키를 포함한 통신 데이터를 포함하는 통신을 수신하는 단계 ― 상기 디바이스 공개키는 상기 원격통신 링크의 설정에 선행함 ―;
    상기 서비스 제공자 시스템에서, 상기 디바이스로부터 수신된 통신에 포함된 상기 통신 데이터를 사용하여 획득되는 적어도 하나의 다른 디바이스로부터의 검증 데이터에 기반하여, 상기 디바이스가 상기 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하는 단계 ― 상기 디바이스 개인키는 상기 디바이스 공개키에 대응하고, 상기 디바이스 공개키 및 상기 디바이스 개인키는 암호화 키 쌍임 ―; 및
    상기 디바이스로부터 수신된 통신에 포함된 상기 통신 데이터를 사용하여 획득되는 상기 적어도 하나의 다른 디바이스로부터의 검증 데이터에 기반하여, 상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로, 서비스 등록을 위한 상기 디바이스의 등록신청(sign-up)을 상기 서비스 제공자 시스템에 의해 인가하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하는 단계는, 상기 디바이스의 제조사와 연관된 화이트리스트(whitelist) 데이터베이스에서 상기 디바이스 공개키의 표시를 찾는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 통신은 디바이스 인증서를 포함하고,
    상기 디바이스 공개키는 상기 디바이스 인증서의 일부이고, 상기 디바이스 공개키는 상기 디바이스 인증서를 수신하는 상기 서비스 제공자 시스템에 의해 수신되며,
    상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하는 단계는, 상기 디바이스 인증서가 신뢰할 수 있다는 것을 표시하는 디바이스 최상위 인증 기관 인증서를 획득하는 단계, 및 보안 저장소가 상기 디바이스 개인키에 대해 사용된다는 표시에 대해 상기 디바이스 인증서를 분석하는 단계를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 분석하는 단계는, 상기 보안 저장소가 상기 디바이스 개인키에 대해 사용된다는 표시에 대해 상기 디바이스 인증서의 확장 키 사용 부분을 분석하는 단계를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 서비스 제공자 시스템에 의해 서비스 제공자 인증서를 생성하는 단계 ― 상기 서비스 제공자 인증서의 공개키는 상기 디바이스 공개키임 ―;
    서비스-제공자-서명된 인증서를 생성하기 위하여 상기 서비스 제공자 시스템에 의해 상기 서비스 제공자 인증서를 서명하는 단계; 및
    상기 서비스 제공자 시스템으로부터 상기 디바이스에 상기 서비스-제공자-서명된 인증서를 전송하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서,
    상기 서비스 제공자 인증서에 기반하여, 상기 서비스 제공자 시스템의 등록신청 서버로부터 상기 서비스 제공자 시스템의 서비스 제공자 인증 기관에 인증서 서명 요청을 전송하는 단계 ― 상기 서비스 제공자 인증 기관은 상기 서비스 제공자 인증서의 서명을 수행함 ―; 및
    상기 등록신청 서버에서 상기 서비스 제공자 인증 기관으로부터 상기 서비스-제공자-서명된 인증서를 수신하는 단계를 더 포함하며;
    상기 등록신청 서버는 상기 서비스-제공자-서명된 인증서를 상기 디바이스에 전송하는 것을 수행하는, 방법.
  7. 제5항에 있어서,
    상기 서비스 제공자 인증서를 생성하는 단계는, 상기 서비스 제공자 인증서의 포맷 또는 콘텐츠 중 적어도 하나가 서비스-제공자-서버 특정, 서비스-제공자 특정, 디바이스-사용자 특정, 디바이스 특정, 또는 가입 특정 중 적어도 하나이도록 수행되는, 방법.
  8. 서비스 제공자 시스템으로서,
    원격통신 네트워크를 통해 디바이스와 원격통신 링크를 설정하도록 구성된 통신 인터페이스; 및
    상기 통신 인터페이스에 통신가능하게 커플링된 하드웨어-기반 프로세서를 포함하며,
    상기 프로세서는,
    상기 디바이스로부터 디바이스 공개키를 포함한 통신 데이터를 포함하는 통신을 수신하고 ― 상기 디바이스 공개키는 상기 원격통신 링크의 설정에 선행함 ―;
    상기 디바이스로부터 수신된 통신에 포함된 상기 통신 데이터를 사용하여 획득되는 적어도 하나의 다른 디바이스로부터의 검증 데이터에 기반하여, 상기 디바이스가 상기 디바이스의 보안 저장소 영역에 디바이스 개인키를 저장했음을 검증하며 ― 상기 디바이스 개인키 및 상기 디바이스 공개키는 암호화 키 쌍임 ―; 그리고
    상기 디바이스로부터 수신된 통신에 포함된 상기 통신 데이터를 사용하여 획득되는 상기 적어도 하나의 다른 디바이스로부터의 검증 데이터에 기반하여, 상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하는 것에 대한 응답으로, 서비스 등록을 위한 상기 디바이스의 등록신청을 인가하도록
    구성되는, 서비스 제공자 시스템.
  9. 제8항에 있어서,
    상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하기 위해, 상기 프로세서는, 상기 디바이스의 제조사와 연관된 화이트리스트 데이터베이스에서 상기 디바이스 공개키의 표시를 찾도록 구성되는, 서비스 제공자 시스템.
  10. 제8항에 있어서,
    상기 통신은 디바이스 인증서를 포함하고,
    상기 디바이스 공개키는 상기 디바이스 인증서의 일부이고, 상기 프로세서는, 상기 디바이스 인증서를 수신함으로써 상기 디바이스 공개키를 수신하도록 구성되며,
    상기 디바이스가 상기 디바이스의 보안 저장소 영역에 상기 디바이스 개인키를 저장했음을 검증하기 위해, 상기 프로세서는, 상기 디바이스 인증서가 신뢰할 수 있다는 것을 표시하는 디바이스 최상위 인증 기관 인증서를 획득하고, 그리고 보안 저장소가 상기 디바이스 개인키에 대해 사용된다는 표시에 대해 상기 디바이스 인증서를 분석하도록 구성되는, 서비스 제공자 시스템.
  11. 제10항에 있어서,
    상기 디바이스 인증서를 분석하기 위해, 상기 프로세서는, 상기 보안 저장소가 상기 디바이스 개인키에 대해 사용된다는 표시에 대해 상기 디바이스 인증서의 확장 키 사용 부분을 분석하도록 구성되는, 서비스 제공자 시스템.
  12. 제8항에 있어서,
    상기 프로세서는,
    서비스 제공자 인증서를 생성하고 ― 상기 서비스 제공자 인증서의 공개키는 상기 디바이스 공개키임 ―;
    서비스-제공자-서명된 인증서를 생성하기 위해 상기 서비스 제공자 인증서를 서명하며; 그리고
    상기 서비스-제공자-서명된 인증서를 상기 디바이스에 전송하도록
    추가로 구성되는, 서비스 제공자 시스템.
  13. 제12항에 있어서,
    상기 프로세서는,
    등록신청 모듈로부터 서비스-제공자-서명된 인증서 모듈로 인증서 서명 요청을 전송하고;
    상기 디바이스 인증서에 기반하여, 상기 서비스-제공자-서명된 인증서 모듈에서 상기 서비스-제공자-서명된 인증서를 생성하고;
    상기 서비스-제공자-서명된 인증서 모듈로부터 상기 등록신청 모듈에 상기 서비스-제공자-서명된 인증서를 전송하며; 그리고
    상기 등록신청 모듈에서 상기 서비스-제공자-서명된 인증서 모듈로부터 상기 서비스-제공자-서명된 인증서를 수신하도록
    추가로 구성되고;
    상기 프로세서는, 상기 등록신청 모듈로부터 상기 디바이스에 상기 서비스-제공자-서명된 인증서를 전송하도록 구성되는, 서비스 제공자 시스템.
  14. 제12항에 있어서,
    상기 프로세서는, 상기 서비스-제공자-서명된 인증서의 포맷 또는 콘텐츠 중 적어도 하나가 서비스-제공자-서버 특정, 서비스-제공자 특정, 디바이스-사용자 특정, 디바이스 특정, 또는 가입 특정 중 적어도 하나이도록 상기 서비스 제공자 인증서를 생성하도록 구성되는, 서비스 제공자 시스템.
  15. 방법으로서,
    원격통신 네트워크를 통해 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하는 단계;
    상기 디바이스로부터 상기 서비스 제공자 시스템에 상기 원격통신 네트워크를 통해 디바이스 인증서를 전송하는 단계 ― 상기 디바이스 인증서는 디바이스 공개키, 디바이스 아이덴티티, 및 디지털 서명을 포함하고, 상기 디바이스 공개키는 상기 원격통신 링크의 설정에 선행하고, 상기 디바이스 공개키는 상기 디바이스의 보안 메모리에 저장된 디바이스 개인키에 대응하고, 상기 디바이스 공개키 및 상기 디바이스 개인키는 암호화 키 쌍이며, 상기 디바이스 인증서는 상기 디바이스 개인키가 상기 디바이스의 보안 메모리에 저장되었다는 표시를 더 포함함 ―; 및
    상기 디바이스에서 상기 서비스 제공자 시스템으로부터, 서비스 등록을 위해 상기 디바이스를 등록신청하기 위한 인가를 수신하는 단계를 포함하는, 방법.
  16. 제15항에 있어서,
    상기 디바이스 인증서를 전송하는 단계는 상기 디바이스 인증서를 복수의 서비스 제공자 시스템들에 전송하는 단계를 포함하며,
    상기 방법은, 상기 복수의 서비스 제공자 시스템들 각각으로부터 각각의 서비스-제공자-서명된 인증서를 수신하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서,
    상기 복수의 서비스-제공자-서명된 인증서들 각각은, 각각의 서비스 제공자 시스템, 각각의 서비스 제공자, 상기 디바이스의 사용자에 의해 가입된 서비스, 상기 디바이스의 사용자, 또는 상기 디바이스 중 적어도 하나에 특정한 포맷 또는 콘텐츠 중 적어도 하나를 갖는, 방법.
  18. 제15항에 있어서,
    상기 디바이스의 제조 동안 상기 디바이스에 상기 디바이스 개인키 및 상기 디바이스 공개키를 저장하는 단계를 더 포함하는, 방법.
  19. 제18항에 있어서,
    상기 저장하는 단계는, 상기 디바이스의 제조 동안 상기 디바이스의 신뢰된 실행 환경에 상기 디바이스 개인키를 저장하는, 방법.
  20. 디바이스로서,
    원격통신 네트워크를 통해 상기 디바이스와 서비스 제공자 시스템 사이에서 원격통신 링크를 설정하도록 구성된 통신 인터페이스;
    디바이스 개인키를 저장하는 보안 메모리; 및
    상기 통신 인터페이스 및 상기 보안 메모리에 통신가능하게 커플링된 프로세서를 포함하며,
    상기 프로세서는,
    상기 디바이스로부터 상기 서비스 제공자 시스템에 상기 원격통신 네트워크를 통해 디바이스 인증서를 전송하고 ― 상기 디바이스 인증서는 상기 디바이스 개인키에 대응하는 디바이스 공개키, 디바이스 아이덴티티, 및 디지털 서명을 포함하고, 상기 디바이스 공개키는 상기 원격통신 링크의 설정에 선행하고, 상기 디바이스 공개키 및 상기 디바이스 개인키는 암호화 키 쌍이며, 상기 디바이스 인증서는 상기 디바이스 개인키가 상기 보안 메모리에 저장되었다는 표시를 더 포함함 ―; 그리고
    상기 서비스 제공자 시스템으로부터 상기 통신 인터페이스를 통해, 상기 디바이스 인증서에 대응하는 서비스-제공자-서명된 인증서 또는 서비스 등록을 위해 상기 디바이스를 등록신청하기 위한 인가 중 적어도 하나를 수신하도록
    구성되는, 디바이스.
  21. 제20항에 있어서,
    상기 프로세서는, 상기 디바이스 인증서를 복수의 서비스 제공자 시스템들에 전송하고, 그리고 상기 복수의 서비스 제공자 시스템들 각각으로부터 각각의 서비스-제공자-서명된 인증서를 수신하도록 구성되는, 디바이스.
  22. 제21항에 있어서,
    상기 복수의 서비스-제공자-서명된 인증서들 각각은, 각각의 서비스 제공자 시스템, 각각의 서비스 제공자, 상기 디바이스의 사용자에 의해 가입된 서비스, 상기 디바이스의 사용자, 또는 상기 디바이스 중 적어도 하나에 특정한 포맷 또는 콘텐츠 중 적어도 하나를 갖는, 디바이스.
  23. 제20항에 있어서,
    상기 보안 메모리는 신뢰된 실행 환경인, 디바이스.
  24. 제20항에 있어서,
    상기 프로세서는, 상기 디바이스 개인키를 사용하여 상기 서비스-제공자-서명된 인증서를 암호해독하도록 추가로 구성되는, 디바이스.
  25. 제20항에 있어서,
    상기 프로세서는, 상기 통신 인터페이스를 통해, 서비스를 상기 디바이스에 제공하라는 서비스 제공자 서버에 대한 요청의 적어도 일부로서 상기 서비스-제공자-서명된 인증서를 상기 서비스 제공자 서버에 전송하도록 추가로 구성되는, 디바이스.
  26. 제1항에 있어서,
    상기 디바이스로부터 수신된 통신에 포함된 상기 통신 데이터를 사용하여 획득되는 상기 적어도 하나의 다른 디바이스로부터의 검증 데이터는, 상기 디바이스의 암호화 키 쌍이 보안키 프로비저닝(provisioning) 프로세스에 따라 생성되었는지 여부의 표시를 포함하는, 방법.
KR1020177035409A 2015-06-10 2016-04-14 서비스 제공자 인증서 관리 KR20180016398A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/736,055 US9787478B2 (en) 2015-06-10 2015-06-10 Service provider certificate management
US14/736,055 2015-06-10
PCT/US2016/027436 WO2016200482A1 (en) 2015-06-10 2016-04-14 Service provider certificate management

Publications (1)

Publication Number Publication Date
KR20180016398A true KR20180016398A (ko) 2018-02-14

Family

ID=55911061

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177035409A KR20180016398A (ko) 2015-06-10 2016-04-14 서비스 제공자 인증서 관리

Country Status (6)

Country Link
US (1) US9787478B2 (ko)
EP (2) EP3308499B1 (ko)
JP (1) JP2018517367A (ko)
KR (1) KR20180016398A (ko)
CN (1) CN107690771B (ko)
WO (1) WO2016200482A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116012A (ko) * 2019-03-26 2020-10-08 알리바바 그룹 홀딩 리미티드 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171439B2 (en) * 2015-09-24 2019-01-01 International Business Machines Corporation Owner based device authentication and authorization for network access
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
WO2018126059A1 (en) * 2016-12-30 2018-07-05 Slock.it, Inc. Block-chain enabled service provider system
US10749692B2 (en) 2017-05-05 2020-08-18 Honeywell International Inc. Automated certificate enrollment for devices in industrial control systems or other systems
GB2566263A (en) * 2017-09-01 2019-03-13 Trustonic Ltd Post-manufacture certificate generation
US20210241270A1 (en) * 2017-12-28 2021-08-05 Acronis International Gmbh System and method of blockchain transaction verification
EP3537323A1 (de) * 2018-03-09 2019-09-11 Siemens Aktiengesellschaft Projektbezogenes zertifikatsmanagement
WO2020139513A1 (en) * 2018-12-28 2020-07-02 Apple Inc. Providing verified claims of user identity
US11468181B2 (en) * 2020-04-21 2022-10-11 Microsoft Technology Licensing, Llc Secure access to accessory device resources

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2081735B1 (es) 1990-04-27 1996-10-01 Scandic Int Pty Ltd Aparato y metodo para la validacion de tarjetas inteligentes.
US6141752A (en) 1998-05-05 2000-10-31 Liberate Technologies Mechanism for facilitating secure storage and retrieval of information on a smart card by an internet service provider using various network computer client devices
JP2003188873A (ja) * 2001-12-14 2003-07-04 Kanazawa Inst Of Technology 認証方法、およびその方法を利用可能な認証装置、ユーザシステムおよび認証システム
JP4510392B2 (ja) * 2002-03-15 2010-07-21 パナソニック株式会社 個人情報認証を行うサービス提供システム
US7254705B2 (en) 2002-03-15 2007-08-07 Matsushita Electric Industrial Co., Ltd. Service providing system in which services are provided from service provider apparatus to service user apparatus via network
WO2004027588A2 (en) * 2002-09-23 2004-04-01 Koninklijke Philips Electronics N.V. Certificate based authorized domains
DK1629624T3 (da) 2003-05-30 2013-06-24 Privaris Inc In-circuit sikkerhedssystem og fremgangsmåder til at styre adgang til og anvendelse af følsomme data
JP2009503967A (ja) * 2005-07-26 2009-01-29 フランス テレコム 単一の物理デバイスを用いた保護されたトランザクションの制御方法、それに対応する物理デバイス、システム及びコンピュータプログラム
KR100648540B1 (ko) * 2005-09-29 2006-11-27 주식회사 유비닉스 스마트 카드, 카드 관리 시스템 및 그 키 관리 방법
CN101287099A (zh) * 2007-04-10 2008-10-15 北京汉辰科技有限公司 一种利用p2p技术的实现视频点播和推播的系统及其方法
EP2202913B1 (en) * 2007-10-19 2012-12-05 Nippon Telegraph and Telephone Corporation User authentication and method for the same
US8438385B2 (en) * 2008-03-13 2013-05-07 Fujitsu Limited Method and apparatus for identity verification
NZ589160A (en) * 2008-04-14 2012-08-31 Lockstep Technologies Pty Ltd Authenticating electronic financial transactions
US8347080B2 (en) 2010-05-10 2013-01-01 Research In Motion Limited System and method for multi-certificate and certificate authority strategy
CN102694782B (zh) 2011-03-24 2016-05-18 中国银联股份有限公司 基于互联网的安全性信息交互设备及方法
US9477517B2 (en) * 2011-10-28 2016-10-25 Qualcomm Incorporated Service broker systems, methods, and apparatus
CN103167497B (zh) * 2011-12-19 2015-10-28 卓望数码技术(深圳)有限公司 一种鉴权处理方法和鉴权处理系统
US9380048B2 (en) 2012-10-15 2016-06-28 Saife, Inc. Certificate authority server protection
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116012A (ko) * 2019-03-26 2020-10-08 알리바바 그룹 홀딩 리미티드 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계

Also Published As

Publication number Publication date
EP3454504A1 (en) 2019-03-13
CN107690771B (zh) 2021-01-29
CN107690771A (zh) 2018-02-13
JP2018517367A (ja) 2018-06-28
US9787478B2 (en) 2017-10-10
WO2016200482A1 (en) 2016-12-15
EP3308499A1 (en) 2018-04-18
EP3454504B1 (en) 2020-04-01
EP3308499B1 (en) 2019-03-13
US20160365984A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
EP3308499B1 (en) Service provider certificate management
CN110770695B (zh) 物联网(iot)设备管理
US10667131B2 (en) Method for connecting network access device to wireless network access point, network access device, and application server
KR101611773B1 (ko) 멀티 네트워크 시스템에서 아이덴티티 관리를 위한 방법들, 장치들 및 컴퓨터 프로그램 제품들
US8898453B2 (en) Authentication server and method for granting tokens
US8606234B2 (en) Methods and apparatus for provisioning devices with secrets
US9060273B2 (en) Authentication server and methods for granting tokens comprising location data
AU2006298507B2 (en) Method and arrangement for secure autentication
US10050791B2 (en) Method for verifying the identity of a user of a communicating terminal and associated system
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
US8397281B2 (en) Service assisted secret provisioning
US8234497B2 (en) Method and apparatus for providing secure linking to a user identity in a digital rights management system
JP7337912B2 (ja) コアネットワークへの非3gppデバイスアクセス
US11139962B2 (en) Method, chip, device and system for authenticating a set of at least two users
CN113569210A (zh) 分布式身份认证方法、设备访问方法及装置
Kim et al. A hybrid user authentication protocol for mobile IPTV service
US11968531B2 (en) Token, particularly OTP, based authentication system and method
JP7305072B1 (ja) 方法およびシステム
US20220386123A1 (en) Token, particularly otp, based authentication system and method
JP6560649B2 (ja) 認証サーバ、端末装置、システム、認証方法、及びプログラム
KR101576038B1 (ko) 사용자 신원 인증을 안전하게 보장하기 위한 네트워크 인증 방법
CN117897700A (zh) 用于控制对软件资产的访问的方法和装置
JP6334275B2 (ja) 認証装置、認証方法、認証プログラム、及び認証システム