KR20230079192A - 배타적 셀프 에스크로 방법 및 장치 - Google Patents

배타적 셀프 에스크로 방법 및 장치 Download PDF

Info

Publication number
KR20230079192A
KR20230079192A KR1020237014856A KR20237014856A KR20230079192A KR 20230079192 A KR20230079192 A KR 20230079192A KR 1020237014856 A KR1020237014856 A KR 1020237014856A KR 20237014856 A KR20237014856 A KR 20237014856A KR 20230079192 A KR20230079192 A KR 20230079192A
Authority
KR
South Korea
Prior art keywords
credential
block
tpp
key
authentication
Prior art date
Application number
KR1020237014856A
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 KR20230079192A publication Critical patent/KR20230079192A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Power Engineering (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

제3자에 의해 프로그램 도메인에 대한 특별한 액세스를 얻기를 원하는 제3자에 의해 잠금 해제된 프로그램 도메인을 안전하게 잠금 해제하기 위한 방법 및 장치. 제3자와 프로그램 도메인은 프로그램 도메인 내에서 생성, 표시 또는 저장되는 배타적 셀프 인증을 사용하여 상호 인증된다. 또한 프로그램 도메인 잠금 해제에 필요한 다수의 제3자가 프로그램 도메인 잠금 해제 전에 인증될 수 있다. 이 방법 및 장치는 백도어를 사용하거나 프로그램 도메인이 제3자에게 인증을 제공하지 않고도 특별한 액세스를 제공한다.

Description

배타적 셀프 에스크로 방법 및 장치
본 발명은 일반적으로 프로그램 도메인의 보안에 관한 것으로, 보다 상세하게는 배타적 셀프 에스크로에 의해 프로그램 도메인을 안전하게 잠금 해제하는 방법 및 장치에 관한 것이다.
전자 장치 및 컴퓨터 프로그램은 액세스를 얻기 위해 사용자에 의해 제공된 크리덴셜을 요구함으로서 액세스를 제한할 수 있다. 따라서, 예를 들어, 스마트폰은 잠길 수 있고 휴대폰의 잠금을 해제하기 위해 패스코드, 지문 또는 얼굴 이미지와 같은 사용자 제공 크리덴셜을 요구할 수 있고, 컴퓨터 프로그램 또는 파일 또한 액세스를 얻기 위해 사용자 제공 크리덴셜을 요구할 수 있다.
때때로, 사용자가 아닌 누군가가 전자 장치, 프로그램 또는 파일에 대한 예외적인 액세스(즉, 사용자 제공 크리덴셜 없이)를 요구하며, 이는 본 명세서에서 비제한적으로, 프로그램 도메인으로 지칭된다. 따라서, 예를 들어 미국 정부 당국이 수색 영장을 사용하여 스마트폰에 대한 접근을 요청하는 사례가 많이 있었다. 사용자가 크리덴셜 제공을 거부하는 경우, 스마트폰에 대한 예외적인 액세스를 제공하기 위해 다른 수단을 사용해야 한다.
스마트폰 또는 다른 프로그램 도메인의 잠금을 해제하는 데에도 사용될 수 있는 암호화된 데이터에 대한 특별한 액세스를 얻는 하나의 종래 기술 방법은 비밀 백도어 메커니즘을 사용하는 것으로, 상기 프로그램 도메인은 소유자의 지식 또는 참여 없이 제3자에 의해 설정된 잠금 해제 요청을 수락한다. 백도어는 소유자의 보안을 무단으로 축소하는 것으로 본질적으로 문제가 된다. 프로그램 도메인 내에 무단으로 배치하면 백도어에 필요한 임의의 패스코드를 포함한 백도어 사용자와 소유자에 의해 그의 사용 권한이 부여되지 않는다. 또한, 백도어 패스코드 또는 기타 연산 데이터는 외부 데이터베이스에 저장되므로 백도어는 해킹, 도난 및 오용에 취약하다.
프로그램 도메인에 대한 특별한 액세스를 제공하는 다른 종래 기술 방법은 "키 에스크로"이며, 프로그램 도메인의 잠금 해제에 필요한 키(크리덴셜)는, 종종 신뢰할 수 있는 제3자로 지칭되는 제3자에 의해 에스크로에 보관된다. 도메인 소유자는 제3자의 작업과 보유 크리덴셜을 관리하는 시행 가능한 계약을 보관하지 않기 때문에 신뢰할 수 있는 것으로 판단된다. 이들 제3자는 직원의 안전한 비즈니스 관련 커뮤니케이션에 액세스하기를 원할 수 있는 기업, 또는 개인 정보 보호 권한 및 적절한 프로세스를 준수하지 않고 암호화된 통신 내용(예외적 액세스라고도 지칭)을 볼 수 있기를 원하는 정부를 포함할 수 있다.
키 에스크로를 사용할 때 한 가지 기술적 문제는, 보호된 정보에 대한 액세스가 의도된 수신자와 적어도 하나의 의도된 제3자에게만 제공되어야 한다는 것이다. 제3자의 접근은 법원 명령과 같이 신중하게 통제된 조건에서만 허용되어야 하다. 지금까지 이와 같은 요구 사항을 충족하는 종래 기술 시스템은 없었다. 제안된 모든 시스템은 또한 액세스 요청, 요청자의 검토 및 "정당성" 요청(법원의 경우), 액세스 제어를 담당하는 제3자 기술 및 정부 기관 직원의 액세스 허용 등의 일부 사회적-사법적 연결의 올바른 기능을 요구한다. 이와 같은 모든 연결/제어는 시스템 설계 보안 관점에서 심각한 문제를 안고 있다. 하나의 키로 많은 프로그램 도메인의 잠금을 해제하는 시스템은, 실수로 키를 방출하면 많은 장치가 완전히 손상되어 즉시 키를 변경하거나 시스템을 교체해야 하기 때문에 특히 취약하다.
국가적 차원에서, 키 에스크로는 다수의 국가에서 적어도 두 가지 이유로 논란이 되고 있다. 하나는 구조적 에스크로 협정의 보안에 대한 불신을 포함한다. 많은 국가는 개인 정보 보호가 충분하지 않은 오랜 역사를 가지고 있으며, 정보가 승인되지 않은 액세스로부터 보호해야 하는 긍정적인 법적 의무 하에서만 보유되는 경우에도 공공 및 민간의 다양한 조직에 의해 다른 사람의 정보에 대한 정당한 절차를 밟을 수 있는 권리를 제공한다. 다른 하나는, 주요 에스크로 작업을 지원함으로써 발생할 수 있는 추가 취약성에 대한 기술적 우려이다. 지금까지 두 가지 반대를 모두 충족하는 핵심 에스크로 시스템이 설계되지 않았으며 거의 모든 시스템이 하나의 목표도 충족하지 못했다.
키 에스크로는 키에 대한 액세스의 필요성을 예측하는 사전 예방적인 방법이다. 소급적인 대안은 사용자가 법 집행 기관의 요구에 따라 키/패스코드를 제출해야 하는 경우 또는 법적 처벌을 받아야 하는 키 공개 법률이다. 키 공개법은 키 에스크로 시스템의 일부 기술적 문제와 위험을 방지하지만, 키 분실과 같은 새로운 위험과 비자발적 자기 범죄와 같은 법적 문제도 도입한다.
요약하면, 주요 에스크로 시스템은 적절한 보안을 제공하고자 시도할 수 있지만, 이와 같은 시스템에는 몇몇 결함이 있다. 첫째, 주요 에스크로 시스템은 수십억 개의 프로그램 도메인에 대해 수십억 개의 암호가 포함된 중앙 데이터베이스를 사용해야 하며, 이는 해커에 의해 침해되거나 정부 당국에 의해 압수될 수 있다. 둘째, 주요 에스크로 시스템은, 신뢰할 수 있는 제3자가 신뢰할 수 있는 관리자 및 중개인이 되기 위한 서약을 준수하도록 요구한다. 셋째, 키 에스크로 시스템은, 정부 당국이 신뢰할 수 있는 제3자의 신뢰성과는 별개로 법률과 셀프 헌장을 정직하게 관리하지 못하도록 한다.
종래 기술의 방법 및 장치의 사용은 처음에는 사용하기 쉽고 상당히 안전한 것으로 제시되었지만, 이와 같은 이점은 실제로는 실현하기 어려운 것으로 입증되었으며, 향상된 보안을 제공한다 및 시스템을 제공할 필요가 있다. 구체적으로, 그러한 시스템과 방법은 프로그램 도메인에 대한 특별한 액세스가 권한이 부여된 지시를 가진 권한 있는 당사자에 의해서만 발생하도록 제공해야 하다. 이와 같은 방법과 장치는 구현하기 쉽고 로크된 프로그램 도메인에 대한 불법적인 액세스를 시도하는 행위자를 방지하기 위해 강력해야 하다.
본 발명은 프로그램 도메인의 잠금을 해제하려는 어떠한 제3자도 이를 방출할 수 있는 권한을 부여받고, 어떠한 잠금 해제 시도도 소유자/자산을 위해 보존되도록 하는 시스템 또는 보안 방법에 의해 종래 기술의 단점을 극복한다.
특정 실시예들은, TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하는 방법을 제공한다. 이 방법은, TP 도메인에 의한 DO-PD의 1차 인증, DO-PD에 의한 2차 인증, 및 성공적인 1차 인증 및 성공적인 2차 인증 후 로크된 DO-PD의 잠금 해제를 포함한다. 각종 실시예들은 다음을 제공한다: 1차 인증 또는 2차 인증은 DO-PD와 TP 도메인 간의 메시지 교환을 포함한다, 여기서 메시지는 크리덴셜이거나 또는 크리덴셜을 포함하고; TP 도메인은 DO-PD(TP-PD)에 포함된 첫 번째 서브도메인과 DO-PD(TP-PD)에 속하지 않는 서브도메인을 포함하고; DO-PD는 수평 프로그램 도메인이고; DO-PD는 전자 장치 내에 있으며, 이는 스마트폰, 컴퓨터 또는 태블릿일 수 있고; DO-PD는 수직 프로그램 도메인이고; DO-PD는 데이터베이스, 워드 프로세서, 스프레드시트, 비트코인 지갑 또는 모바일 잠금 상자를 포함하고; TP는 제1 TP 도메인을 갖는 제1 TP이며, 이때 상기 방법은, 제2 TP 도메인을 갖는 제2 TP를 더 포함하거나; 또는 상기 TP 도메인에 의한 상기 DO-PD의 1차 인증 및 상기 DO-PD에 의한 TP 도메인의 2차 인증이 배타적 셀프 에스크로를 사용한 상호 인증이다.
특정한 다른 실시예들은 TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하는 방법을 제공한다. 이 방법은, TP 도메인에 의한 DO-PD의 1차 인증, DO-PD에 의한 2차 인증, 및 성공적인 1차 인증 및 성공적인 2차 인증 후 로크된 DO-PD의 잠금 해제를 포함한다. TP 도메인에 의한 DO-PD의 1차 인증은, 제1 크리덴셜이 제2 크리덴셜과 동일할 때 성공적이고, 2차 인증은 제3 크리덴셜이 제4 크리덴셜과 동일할 때 성공적이며, 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜의 적어도 하나의 크리덴셜이 DO-PD에서 생성, 공개 또는 저장된다.
각종 실시예들은, 상기 제1 크리덴셜 및 제3 크리덴셜은 상주 크리덴셜이고, 제2 크리덴셜 및 제4 크리덴셜은 챌린지 크리덴셜이고; 제1 크리덴셜 및 제2 크리덴셜은 모두 1차 인증 동안 공개 또는 계산되고, 제3 크리덴셜 및 제4 크리덴셜은 모두 2차 인증 동안 공개 또는 계산되는 것을 제공한다.
또 다른 실시예들은, TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 방법을 제공하며, 상기 방법은, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 암호화된 패스코드, 암호화된 난수, 전자 장치 크리덴셜의 암호화된 장치 ID, PD 및 TP 도메인의 암호화된 공유 비밀 키, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 해시된 패스코드, 해시된 난수, 전자 장치 크리덴셜의 해시된 장치 ID, 또는 PD 및 TP 도메인의 해시된 공유 비밀 키 중 적어도 하나를 포함하는 크리덴셜들을 사용하여 인증한다.
다른 특정 실시예들은, TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 방법을 제공하며, 상기 방법은, TP 키 쌍의 적어도 하나의 키, PD 키 쌍의 하나의 키 또는 공유 비밀 키를 사용하여 적어도 하나의 크리덴셜이 공개 또는 생성되는 크리덴셜들을 사용하여 인증한다.
특정 실시예들은, TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 방법을 제공하며, 상기 방법은 DO-PD를 잠금 해제하기 위해 추가적인 제3자의 인증이 필요하다.
특정 실시예들은 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위해 TP 도메인을 갖는 제3자(TP)를 위한 장치를 제공하며, 상기 DO-PD는 메모리를 갖고 또한, TP 도메인에 의한 DO-PD의 1차 인증; DO-PD에 의한 TP 도메인의 2차 인증; 및 상기 1차 인증 성공 및 2차 인증 성공 후 로크된 DO-PD를 잠금방출하는 단계들을 수행하도록 프로그래밍된다. 각종 실시예들은, 상기 1차 인증 또는 2차 인증은 상기 DO-PD와 TP 도메인 사이에서 메시지를 교환하는 것을 포함하고, 메시지는 크리덴셜이거나 또는 크리덴셜을 포함하고; 상기 TP 도메인은 DO-PD(TP-PD) 내에 포함된 제1 서브도메인 및 DO-PD(TP-PD) 내에 있지 않은 서브도메인을 포함하고; 상기 DO-PD는 수평 프로그램 도메인이고; 상기 DO-PD는 전자 장치 내에 있고, 이 전자 장치는 스마트폰 또는 컴퓨터 또는 태블릿일 수 있고; 상기 DO-PD는 수직 프로그램 도메인이고; 상기 DO-PD는 데이터베이스, 워드 프로세서, 스프레드시트, 비트코인 지갑 또는 모바일 락박스를 포함하고, 상기 TP는 제1 TP 도메인을 갖는 제1 TP이며, 상기 방법은 제2 TP 도메인을 갖는 제2 TP를 더 포함하고, 또는TP 도메인에 의한 DO-PD의 1차 인증 및 DO-PD에 의한 TP 도메인의 2차 인증은 배타적 셀프 에스크로를 사용하는 상호 인증이다.
특정한 다른 실시예들은 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 TP 도메인을 갖는 제3자(TP)를 위한 장치를 제공하며, 여기서 DO-PD는 메모리를 가지고 있으며, TP 도메인에 의한 DO-PD의 1차 인증; DO-PD에 의한 TP 도메인의 2차 인증, 및 1차 인증 성공 및 2차 인증 성공 후 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. TP 도메인에 의한 DO-PD의 1차 인증은, 제1 크리덴셜이 제2 크리덴셜과 동일할 때 성공적이고, 2차 인증은 제3 크리덴셜이 제4 크리덴셜과 동일할 때 성공적이고, 네 개의 크리덴셜증 중 적어도 하나의 크리덴셜이 생성, 공개 또는 DO-PD에 저장된다. 다양한 실시예들은 다음을 제공한다: 제1 크리덴셜과 제3 제1 크리덴셜은 상주 제1 크리덴셜이고, 제2 제1 크리덴셜과 제4 제1 크리덴셜은 챌린지 크리덴셜이고; 제1 제1 크리덴셜과 제2 제1 크리덴셜은 모두 1차 인증 동안 공개 또는 계산되며; 제3 크리덴셜과 제4 크리덴셜 모두 2차 인증 동안 공개 또는 계산된다.
또 다른 실시예들은 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 TP 도메인을 갖는 제3자(TP)를 위한 장치를 제공하며, 이는, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 암호화된 패스코드, 암호화된 난수, 전자 장치 크리덴셜의 암호화된 장치 ID, PD 및 TP 도메인의 암호화된 공유 비밀 키, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 해시된 패스코드, 해시된 난수, 전자 장치 크리덴셜의 해시된 장치 ID, 또는 PD 및 TP 도메인의 해시된 공유 비밀 키 중 적어도 하나를 포함하는 크리덴셜들을 사용하여 인증한다.
다른 특정 실시예들은, 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 TP 도메인을 갖는 제3자(TP)를 위한 장치를 제공하며, 이는 TP 키 쌍의 적어도 하나의 키, PD 키 쌍의 하나의 키 또는 공유 비밀 키를 사용하여 적어도 하나의 크리덴셜이 공개되거나 생성되는 크리덴셜을 사용하여 인증한다.
특정 실시예들은 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 TP 도메인을 갖는 제3자(TP)를 위한 장치를 제공하며, 이때 DO-PD는 메모리를 가지며, DO-PD를 잠금 해제하기 위한 추가적인 제3자의 인증 단계들을 수행하도록 프로그래밍된다.
이와 같은 특징들은 하기의 상세한 설명으로부터 당업자에게 명백해질 다양한 보조 내용들 및 특징들과 함께 본 발명의 방법 및 장치에 의해 달성되며, 첨부된 도면들을 참조하여 바람직한 실시예들이 도시된다.
도 1은, 장치 소유자의 프로그램 도메인인 DO-PD와 제3자 제공자 도메인인 TPP를 도시한 배타적 셀프 에스크로 방식의 일 실시예에 대한 개략도이다;
도 2 및 도 3은, 도 1의 개략도들의 단계들을 실행하기 위한 시스템의 일 실시예를 도시한 개략도들이다;
도 4는, 제1 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 5는, 제2 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 6은, 제3 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 7은, 제4 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 8은, 제5 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 9는, 제6 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 10은, 제7 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 11은, 제8 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 12는, 제9 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 13은, 제10 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 14는, 제11 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 15는, 제12 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 16은, 제13 실시예의 배타적 셀프 에스크로 방법의 흐름도이다;
도 17은, 제14 실시예의 배타적 셀프 에스크로 방법의 흐름도이다
도 18은, 상기 14개 실시예들의 일부 특징들을 도시한 표이다.
참조 부호는 도면에 도시된 특정 구성 요소들, 양태 또는 특징부들을 나타내기 위해 사용되며, 도면에 도시된 구성 요소들, 양태들 또는 특징부들과 같은 구성 요소, 양테 또는 특징부들을 나타내는 둘 이상의 도면들에 대해 공통된 참조 부호를 사용한다.
본 명세서에 설명된 다양한 실시예들은 배타적 셀프 에스크로를 사용하는 상호 인증에 의해 로크된 프로그램 도메인에 대한 특별한 액세스를 얻는 제3자에 관한 것이다. 상호 인증은 다수의 당사자들이 서로 인증하는 다단계 인증을 말한다. 배타적 셀프 에스크로는, 로크된 프로그램 도메인 내에 보유된 크리덴셜(크리덴셜)을 사용하는 것을 의미한다. 따라서, 예를 들어 로크된 프로그램 도메인에 저장된 크리덴셜을 사용하여, 제3자는 자신을 로크된 프로그램 도메인에 인증하고 로크된 프로그램 도메인은 제3자를 인증한다. 상호 인증 후 제3자에게 이전에 로크된 프로그램 도메인에 대한 액세스 권한이 부여된다.
배타적 셀프 에스크로를 이용한 상호인증은 중앙 오프-디바이스 저장장치를 이용하는 것과 달리, 온-디바이스 에스크로 기능을 제공하여, 중앙 데이터베이스 해킹을 통해, 또는 정부 당국과 협력하거나, 독자적으로, 또는 다른 외부 당사자와 함께. 제3자에 의한 강압을 통해 크리덴셜이 도용되거나 또는 강제적으로 지시되지 않도록 한다. 개시된 방법 및 시스템은 장치별로 로크된 프로그램 도메인에 대한 예외적인 액세스를 제공하며, 임의 형태의 대량 감시를 위한 메커니즘을 제공하지 않는다. 대량 감시에 대한 추가적인 보호로서, 특정 실시예들은 정상적인 암호가 설치된 시점에서, 제3자에게 에스크로 크리덴셜의 생성, 존재 또는 식별 정보에 대한 통지가 제공되지 않으며, 제3자는 여전히 알지 못하는 상태로 남아 있는 것으로 규정하고 있고, 제3자가 잠금 장치를 소유하고 있는 정부 기관 또는 다른 조사 기관에 의해 관여될 때까지, 그 때에만 TPP가 장치에 대한 예외적인 액세스를 실행할 수 있는 능력을 나타낼 수 있다
일반적으로, 각 인증에는 비교 단계가 필요하며, 이 단계에서는 한 쌍의 크리덴셜을 비교하여 크리덴셜들이 서로 동일한 것으로 확인될 때 인증이 발해진다. 크리덴셜이 본원에 지칭되며 비제한적으로 상주 크리덴셜 및 챌린지 크리덴셜로 지칭된다. "상주 크리덴셜"이라는 용어는 인증 당사자가 보유한 크리덴셜의 표준 사본을 의미하며, "챌린지 크리덴셜"이라는 용어는 인증 당사자에 의해 제공된 후 인증 당사자에 의해 공개되거나 계산된 크리덴셜의 측정 중인 작업 사본을 의미한다. 따라서, 비교 단계는 각 인증 당사자에 대해 인증 당사자가 신뢰하는 상주 크리덴셜과 챌린지 크리덴셜이 동일한지 여부를 결정한다. 특정 실시예에서, 크리덴셜 쌍은 초기화 또는 계산되어 처음에는 동일하게 되고 암호화/암호 복호화 단계를 거치게 되며, 그 후에는 단계들에서 초기화, 계산 또는 암호화/복호화 동안 올바른 키가 사용된 경우에만 크리덴셜 쌍이 동일하게 된다.
배타적 셀프 에스크로 방법은 서로 다른 메시지(액세스 데이터)와 콘텐츠, 암호화 방식(비대칭 및 대칭) 및 단방향 함수 크리덴셜 유형의 조합을 활용하여 프로그램 도메인과 제3자의 인증을 수행할 수 있다. 공개 키 암호화는 단방향 함수 크리덴셜을 보호하는 수단을 제공하는 반면, 대칭 암호화는 양방향 인증을 위한 단방향 함수 크리덴셜을 생성하고 보호한다. 크리덴셜이 각 형태는 단방향 기능 및 상태 표현에 중점을 두고 인증 역할을 지원하는 고유한 기능 특성을 나타낸다. 특정 장치에서 HSA(하드웨어 보안 영역)는 암호화된 메시지를 대체할 수 있다.
특정 실시예에서, 배타적 셀프 에스크로는 하나 이상의 암호화 키 쌍 또는 공유 비밀 키를 사용할 수 있으며 다양한 당사자들은 암호화된 메시지, 해시 키 및/또는 난수, 장치 ID 및 타임스탬프를 포함하는 크리덴셜을 사용하지만 이에 제한되지 않는다. 본 명세서에 개시된 배타적 셀프 에스크로 방법은 수평 프로그램 도메인 및 수직 프로그램 도메인과 함께 사용될 수 있다. 수평 도메인은 서로 다른 응용프로그램에 걸쳐 도달하는 콘텐츠 클래스를 지정하며, 종종 전체 장치, 위치 또는 운영 체제와 관련된다. 수평 프로그램 도메인의 예로는 iOS를 실행하는 스마트폰이 있다. 수직 도메인은 데이터베이스, 워드 프로세서, 스프레드시트, 비트코인 지갑 또는 모바일 락박스와 같은 수직 적용에 특정한 콘텐츠를 지정한다. Android OS 장치에서 실행되는 어드레스 북 애플리케이션의 경우, 수직 도메인은 수평 도메인의 서브도메인인 경우가 많다. 보안 작업은 서브도메인을 포함하는 도메인에서 수행되는 작업에 부가하여 서브도메인에서 수행될 수 있다. 중요한 것은, 모(parental) 도메인이 잠금에서 잠금 해제로 전환되는 동안 서브도메인이 로크된 상태로 유지될 수 있다는 점이다.
본 발명의 범위를 제한하기 위한 것이 아닌, 예를 들어, 본 발명은 제3자 제공자(TPP)가 연관된 도메인 소유자(DO)를 갖는 로크된 프로그램 도메인(PD)에 대한 액세스를 획득하며, 본 명세서에서 DO-PD로 지칭된다. DO-PD는 프로그램 P에 의해 제어되며 스마트폰, 태블릿 또는 기타 컴퓨터 장치, 컴퓨터 메모리 또는 컴퓨터 파일의 일부와 같은 관련 하드웨어를 포함할 수도 있다. TPP는 DO 이외의 당사자로서, 예를 들어 PD 및/또는 관련 하드웨어의 제조업체일 수 있으며 이에 제한되지 않는다. TPP에는 두 개의 도메인이 연결되어 있다. 하나의 TPP 도메인은 DO-PD로부터 분리되어 본 명세서에서 TPP-PD(TPP not PD)로 지칭되고, 다른 하나의 TPP 도메인은 본 명세서에서 TPP-PD로 지칭되는 DO-PD 프로그램 P의 제어 하에 있는 DO-PD의 암호적으로 분할된 부분이다. TPP-PD 내의 작업은 제한적이며, DO-PD로부터 데이터 수신, 사용 가능한 데이터를 사용하여 추가 데이터 계산, DO-PD로 데이터 전송 등이 포함된다.
특정 실시예들은 배타적 셀프 에스크로를 사용하여 PD를 잠금 해제하는 것을제공하며, PD 잠금 해제를 위한 크리덴셜이, 1) PD에 저장 및/또는 계산되고; 2) TPP를 인증하기 위해 PD 내에서에 사용되고; 3) PD를 인증하기 위해 TPP에 의해 사용된다. 특정한 다른 실시예들에서, 인증 단계는 제3자 제공자와 프로그램 도메인 사이에 메시지의 교환 및 비교가 있는 양방향 인증 프로세스를 포함한다.
도 1은 배타적 셀프 에스크로 방식의 일 실시예(100)의 개략도로서, 도메인 소유자 프로그램 도메인 DO-PD (120), 제1 제3자 제공자 도메인 TPP-PD (110) 및 제2 제3자 제공자 도메인 TPP-PD (112)을 도시한다. DO-PD(120)는 프로그램 P를 통해 DO(20)의 제어 하에 있고, TPP-'PD(110)는 TPP(10)의 제어 하에 있으며, DO-PD의 모든 프로그래밍에 대해 안전하고, TPP-PD(112)는 DO-PD의 암호화된 분할 부분인 도메인이며, 이는 DO-PD로부터 데이터를 수신하고, 가용 데이터를 사용하여 부가 데이터를 계산하고, DO-PD에 데이터를 전송하는 것을 포함하는 제한된 특성들을 갖는다. 따라서, 예를 들어, 도 1에는 DO-PD로부터 액세스 가능한 휘발성 및 비휘발성 메모리(121)를 포함하는 DO-PD 메모리(121)와 TPP-PD(112)로부터 액세스 가능한 휘발성 및 비휘발성 메모리(135)를 포함하는 TPP-PD 메모리(135)가 도시되어 있다. 일반적으로, DO-PD(120)는 TPP-PD 메모리(135)에 저장된 정보에 액세스할 수 없다. 따라서, 예를 들어, TPP(110)은 TPP 개인 키(들)(115)의 복사본을 TPP-PD 메모리(135)에 제공할 수 있다. TPP-PD 메모리(135)가 DO-PD(120) 내에 있는 동안 DO-PD는 TPP 개인 키(들)에 액세스할 수 없다.
도 1은 DO-PD 메모리(121)에 저장된 고유 인증의 단순한 보유에 의한 양방향 인증의 사용을 도시한다. 대안적으로, 인증은 크리덴셜의 소유 및 계산 모두에 의해 수행되며, 여기서 프로그램 도메인 잠금 해제는, 장치 프로그램 도메인이 처음 로크된 시점으로부터, 각 당사자가 소유한 완전 소유 개인 키의 소유와 계산 적용에서 나오는 크리덴셜들을 비교함으로써 PD와 TPP 모두의 진정한 정체성을 증명한다. 특정 실시예에서 크리덴셜의 계산은, 다항 시간에서, 크리덴셜을 그의 사전 커서 값으로 역설계하는 것을 금지하는 일원 수학 함수의 사용을 포함한다. 계산 방법의 중요한 이점은, 개인 정보 보호 노력과 암호화 보호를 필요로 하지 않고 해시 값을 공개적으로 저장하고 교환할 수 있다는 것이다.
도식(100)은, DO-PD(120)의 잠금을 설정하기 위한 DO(20) 방법과 로크된 DO-PD의 잠금을 해제하기 위한 TPP(10) 방법을 모두 도시한다. 하나의 초기 단계에서, TPP-'PD(110)는 TPP 공개 키(111) 및 TPP 개인 키(115)와 같은 키 쌍을 획득하거나 생성한다. 일 실시예에서, 키(111 및 115)는, 예를 들어, 비제한적으로, 당업계에 알려진 공개 키 쌍일 수 있다. 대안적인 실시예들에서, TPP 키 쌍(111/115)은 대칭 암호화에 사용되는 추가 키를 수반할 수 있다.
DO-PD(120)를 잠그기 위해, DO(20)는 블록(122)에서 DO-PD(120)와 결합하고, 이는 셀프 에스크로 잠금을 위해 DO-PD를 설정한다. 이는 PD 키 쌍의 생성을 포함할 수 있으며, 여기에는 예컨대, 비제한적으로, 비휘발성 메모리 DO-PD 메모리(121)에 저장되는 하나 이상의 공유 비밀 키(여기서 SSK로 지칭)를 생성하는 데 사용되는 PD 개인 키와 PD 공개 키 및 추가 대칭 키 쌍들을 포함하는 공개 키 쌍들을 포함할 수 있다, 대안적으로, 상기 DO-PD는, 상기 블록(122)의 단계들이 수행되기 전에 상기 PD 키들을 생성 및 저장할 수 있고, 또는 상기 프로그램 도메인 소유자가 DO-PD(120)를 잠그기 위한 정상적인 패스코드를 설정하는 동안, 상기 블록(122)이 실행될 수 있다. 또한, TPP 공개 키(들)(111)은 DO-PD(120)에 제공되며 또한 DO-PD 메모리(121)에도 저장된다. 특정한 다른 실시예에서, 키들의 생성은 DO-PD(120)의 잠금 해제 중 및 이들이 인증을 위해 필요하기 전에 발생할 수 있다.
일단 DO-PD(120)이 잠기면, DO-PD는 프로그램 P의 제어 하에 동작하며, 프로그램 P는 후술하는 바와 같이 DO-PD의 제3자 잠금 해제를 제어하다. 또한, DO-PD(120)는 일반적으로 예컨대 패스코드에 의해 DO-PD의 잠금을 해제하기 위한 프로그래밍을 실행할 수 있다.
블록 123의 단계에서, DO-PD 메모리(121)에 저장된 TPP 공개 키(들)(111) 및 PD 키 쌍으로부터 배타적인 셀프 에스크로 크리덴셜들("계산된"으로도 지칭)이 생성된다. 후술되는 바와 같이, 블록(123)에서 생성되는 배타적 셀프 에스크로 크리덴셜들은, 비제한적으로, 하나 이상의 패스코드들, 키들(공개 및 대칭 키 쌍 및 계산된 공유 비밀 키를 포함하지만 이에 한정되지 않음) 및 할당된 난수를 포함할 수 있고, 이들은 해시된 키, 해시된 난수, 장치 ID 및 타임스탬프를 포함하며 이들은 잠금 해제 프로세스의 중요한 분기점에서 확인되는 계산 값들이다. 특정 실시예에서, 배타적 셀프 에스크로 크리덴셜들은 이후 개시되는 바와 같이 상주 크리덴셜과 챌린지 크리덴셜을 모두 포함한다. 특정한 다른 실시예에서, 크리덴셜들의 생성은 DO-PD(120)의 잠금 해제 중에 이들이 인증을 위해 필요하기 전에 발생할 수 있다.
도 1은 DO-PD(120)의 잠금 설정 시 생성되는 배타적 셀프 에스크로 크리덴셜들을 도시한다. 그러나, 일반적으로, 상기 크리덴셜들은 잠금 해제를 위해 사용되기 전에 생성되는 것이 중요할 뿐이므로, 다양한 실시예들에서, 상기 크리덴셜들 중 일부 또는 전부는 블록(122)의 설정 전에 생성될 수 있고, 상기 크리덴셜들 중 일부 또는 전부는 도 1에 도시된 바와 같이 생성될 수 있으며, DO-PD(120)이 블록 (125)의 에스크로 모드에 위치된 후에 크리덴셜들의 일부 또는 전부가 생성될 수 있다.
마지막으로, 블록(124)의 단계들에 의해 제공된 바와 같이, DO-PD(120)가 로크된다.
로크된 DO-PD(120)의 잠금을 해제하기 위해, TPP(10)는 법원 명령에 의해 DO-PD(120)에 대한 접근 허가를 획득한다. 법원 명령은 TPP에게 DO-PD의 잠금 해제 권한을 제공한다. 이와 같은 액세스를 획득하고 유효성을 확인한 후, TPP(10)는 DO-PD를 잠금 해제하기 위해 블록(113)에 전자 요청을 전송하고, 이는 DO-PD(120)의 블록(125)으로 전송되며, 이는 DO-PD를 에스크로 모드("Emode")에 위치시킨다.
DO-PD(120)를 Emode에 위치시하기 위한 블록(113)의 전자적 요청은 다수의 방법들 중 어느 하나에 의해 발생할 수 있다. 따라서, 예를 들어, 블록(113)의 전자적 요청은, 미리 정해진 영숫자 코드일 수도 있고, 표준 패스코드 대신 입력되는 영숫자 코드의 형식일 수도 있고, 스마트폰의, 예를 들어, 휴대폰의 재부팅과 유사하게, 휴대폰의 특정 조합의 버튼을 누르는 것일 수도 있다.
에스크로 모드는, DO-PD(120)이 잠겨 있을 때 사용할 수 있는 제한된 대화형 상태이며, 지정된 제3자인 TPP만 DO-PD의 잠금을 해제할 수 있다. DO-PD(120)의 잠금을 해제하기 전에, TPP(10)는 DO-PD의 잠금을 해제하기 위한 조치를 취하기 전에 특정 조건이 충족되었음을 증명해야 하다. DO-PD(120)가 블록(125)에서 에스크로 모드로 설정되면, DO-PD(120)의 일부는 TPP-PD(112)로서 설정된다. TPP-PD(112)는, DO-PD(120)의 P를 통해, "작업 공간 제한" 작업을 제공하며, 그의 작업들은 DO-PD(120) 또는 TPP-'PD(110)로부터 특정 데이터를 수신하고 가용 데이터를 사용하여 특정 추가 데이터를 계산하고 특정 데이터를 DO-PD 또는 TPP-PD로 전송하는 작업으로 제한된다.
특정 실시예들에서, 블록(125)은 예컨대 요청 113이 미리 결정된 크리덴셜 포맷인지 또는 DO-PD(120)에 저장되어 있는지를 결정함으로써, TPP(10)가 DO-PD(120)를 잠금 해제하도록 승인된 TPP임을 보장하기 위한 단계들을 실행하다.
후술되는 바와 같이, 로크된 DO-PD(120)는 배타적 셀프 에스크로 크리덴셜들을 통해 도메인 TPP-'PD(110)과 도메인 DO-PD(120)의 상호 식별에 의해 잠금 해제된다. TPP-'PD(110)는 TPP(10)의 제어 하에 있고, DO-PD(120)는 이전에 DO(20)의 제어 하에 있었기 때문에, DO-PD(120)의 잠금을 해제하기 위한 배타적 셀프 에스크로 크리덴셜들의 사용은 또한 TPP와 DO 모두를 인증한다.
일단 DO-PD(120)가 Emode에 위치되면, 블록(126)의 인증 단계들이 실행되며, 구체적으로, 두 블록들(131, 133)의 단계들이 모두 실행된다. 후술하는 바와 같이, 상기 DO-PD(120)의 잠금 해제는 블록(131)에서 발생하는 TPP-'PD(110)를 통한 DO-PD의 인증과 블록(133)에서 발생하는 DO-PD(110)에 의한 TPP-'PD(110)의 인증을 필요로 한다. 블록(131, 133)의 실행 순서는 두 블록들이 모두 실행되는 한, 실시예들에 따라 다르다.
블록들(131, 133)의 단계들은, DO-PD 메모리(121)와 TPP-PD 메모리(135) 사이의 정보의 전송을 포함하는, TPP-PD 메모리(135)의 콘텐츠에 대한 접근을 갖는다. 전송된 정보에는 특정 크리덴셜들 및 특정 PD 공개 키가 포함될 수 있지만 이에 제한되지는 않는다. 일반적으로, TPP-PD(112)와 DO-PD(120) 사이의 통신은 DO-PD의 원치 않는 요청으로부터 안전하다. 이를 통해 TPP(110)은 TPP-'PD(110) 또는 TPP-PD(112) 내에서 개인 키에 대한 제어 권한을 잃지 않고 안전하게 TPP 개인 키(115)를 사용할 수 있다.
블록(131)에 있어서, 상기 TPP-'PD(110)는 DO-PD에 생성 및/또는 저장된 크리덴셜들을 사용하여 상기 TPP-'PD(110) 및/또는 TPP-PD(112) 중 하나 이상 내에서 DO-PD(120)를 인증한다. 특정 실시예들에서, 블록(131)의 인증은, 예를 들어, 비제한적으로, 개인 또는 공유 PD 또는 TPP 키의 사용을 요구하는 DO-PD-PD(110) 및/또는 TPP-PD(112) 사이의 메시지의 교환 및 비교가 있는 양방향 인증 프로세스에 의해 수행된다. 후에 논의되는 바와 같이, 메시지는 프로그램 도메인 잠금 해제에 사용되는 크리덴셜의 보안 컨테이너로서 기능하는 파일이다.
블록(133)에서, DO-PD(120)는 DO-PD에 생성 및/또는 저장된 인증을 사용하여 DO-PD 내의 TPP-'PD(110)를 인증한다. 특정 실시예들에서, 블록(133)의 인증은 DO-PD(120)와 TPP-'PD(110) 및/또는 예를 들어, 비제한적으로, 개인 또는 공유 DP 또는 TPP 키를 사용해야 하는 TPP-PD(112) 사이의 메시지의 교환 및 비교를 위한 양방향 인증 프로세스에 의해 수행된다.
여기서 논의되는 블록(131 및 133)의 인증은, 비제한적으로, 하나 이상의 다음 단계를 포함할 수 있다; 두 개의 크리덴셜들을 비교하는 단계로서, 상기 크리덴셜들은 상주 크리덴셜(인증자가 신뢰하는 표준 인증) 및 챌린지 크리덴셜(인증을 받는 당사자가 인증자에게 제공하는 작업 중인 측정 크리덴셜일 수 있는, 단계; DO-PD(120)와 TTP-PD(110) 또는 TTP-PD(112) 또는 기타 제3자 도메인 또는 서브도메인들 간에 메시지를 교환하는 단계로서, 메시지가 크리덴셜들이고, 비제한적으로, 난수, 해시된 패스코드 또는 기타 식별 번호 또는 암호화 키를 포함하여, 암호 복호화에 의해 크리덴셜을 나타내고, 또는 파일과 같은 보안 객체로부터 인증을 생성 또는 공개하는 데 사용되는 크리덴셜 또는 정보를 검색하고, 또는 보안 장소로부터 크리덴셜 또는 정보를 검색하는, 단계. 일반적으로, 크리덴셜들의 비교 단계 이외의 단계들 중 하나 이상은 도 1을 참조하여 논의되는 바와 같은 비교 단계 전 또는 DO-PD(120) 잠금 후에 수행될 수 있다.
블록 127에서 블록 131 또는 133의 인증이 실패하면, 잠금 해제 프로세스가 종료된다. 블록들(131과 133)의 인증이 모두 이루어지면, 블록 128에서 DO-PD(120)의 잠금이 해제된다.
대안적인 실시예에서, DO-PD(120)의 잠금을 해제하기 위해서는 하나 이상의 제3자의 협력이 필요하다. 따라서, 예를 들어, TPP(10)는 PD의 제조업체(예를 들어, 스마트폰 제조업체)일 수 있고, 추가적인 제3자는 다른 스마트폰 제조업체 또는 개인 정보 보호 옹호 조직과 같은 다른 주체일 수 있다. 도식(100)에 도시된 바와 같이, TPP(10)는 DO-PD(120)의 잠금 해제를 이끈다. 블록(131)에 있어서와 같이, DO-PD(120)에 의해 TPP가 인증된 후, 상기 DO-PD는, 상기 블록(131)과 유사한 방식으로 상기 다른 제3자 각각에 대한 인증을 수행한다. 따라서, 예를 들어, 각각의 다른 제3자에 대해, DO-PD가 다른 제3자를 인증할 수 있도록 하는 DO-PD(120) 간의 메시지 교환이 있을 수 있다. 블록(127)에서와 같이, 인증을 완료하기 위해서는 TPP(10) 및 다른 각 제3자들의 각각의 인증이 필요하다.
스마트폰과 함께 사용하기 위한 도식(100)이 개시되어 있지만, 이 방법은 전용 하드웨어 보안 영역(HSA) 또는 클라우드 기반 보안 스토리지를 사용하거나 사용하지 않고 태블릿 또는 컴퓨터와 같은 다른 하드웨어 장치에서 실행될 수 있다. 이 방법은 또한 잠겨잔 하위 프로그램 도메인들에서 구현될 수 있으며, 이 도메인들은 다른 프로그램 도메인 내의 독립적인 프로그램 도메인이며, 이에 따라, 하위 프로그램 도메인은, 소프트웨어 저장 영역에서 동작하는 수직 소프트웨어 응용 프로그램에 의해 제어되는 것과 같이 잠금 해제된 프로그램 도메인 내에 상주하더라도 잠김 상태를 유지할 수 있다.
로크된 하위 프로그램 도메인의 예로는 데이터가 포함된 비트코인 지갑 또는 기타 암호로 보호되는 소프트웨어 프로그램이 있다. 현재 시행 중인 하드웨어 이외의 특별한 요구 사항은 없으며, 이 시스템은 iPhone의 Secure Enclave Processor와 같은 전용 하드웨어 영역 및 다른 장치의 유사한 영역과 함께 동작하거나 독립적으로 동작한다. 법원이 명령한 예외 액세스를 시도하는 경우, 침입 또는 침입 시도를 인식하기 위해 장치를 정상 동작 상태로 되돌릴 수 없다. 배타적 셀프 에스크로 크리덴셜들은 항상 프로그램 도메인 내에서 보호되는 프로그램의 완전한 제어 하에 안전하게 유지되므로, 최고 수준의 보안 및 개인 정보를 제공하는 동시에 장치 법원 명령에 액세스할 수 있다. 엔드-투-엔드 암호화는 암호화 백도어가 없는 완벽한 상태로 유지되지만, 법원에서 명령한 예외적인 액세스 방법을 사용할 수 있다.
도 2 및 도 3은 도식(100)의 단계들을 실행하기 위한 시스템(200)의 일 실시예를 도시한 개략도들이다.
도 2는 TPP 장치(210), 잠금 가능한 DO-PD(120)를 포함하는 DO 장치(230), 및 TPP 장치의 프로그램인 P와 DO 장치의 프로그램인 P를 연결하는 통신 특징부(220)를 포함하는 시스템(200)의 세부 사항들을 도시한다. TPP 장치(210)는 통신 기능부(211), 메모리(213) 및 프로세서(215)를 포함한다. 특정 실시예들에서, TPP 장치(210)는, 메모리(213)에, TPP 개인 키를 포함한 암호화 키들, 및 선택적으로 잠금가능한 DO-PD 및 DO-PD 공개 암호화 키들의 데이터베이스를 유지한다.
수평 프로그램 도메인의 일례로서, DO 장치(230)는, 예를 들어, 비제한적으로, 터치스크린(231), 통신 커넥터(232), 메모리(233) 및 프로세서(234)를 포함하는 스마트폰이다. 메모리(233)에는 시스템(200)의 동작 명령이 포함되어 있으며, 프로세서(234)는 터치스크린(231)을 입력 및 출력 장치로서 동작하도록 해석한다. 통신 커넥터(211 및 232)는 적절한 통신 기능부(220)를 사용하여 연결할 수 있는 직렬 통신 커넥터이다. 통신 커넥터 211 또는 232의 예로는, USB 타입-C 포트, 마이크로-USB 포트, QR 코드, NFC 형식 또는 FireWire® 포트(Apple Computer, Inc., Cupertino, CA) 등이 있으며, 이에 한정되지 않는다. 메모리(233)에는 (예를 들어, 운영 체제 또는 가상 시스템 명령과 같은) DO 장치(230)를 동작시키는 데 필요한 프로그래밍이 포함되어 있다. 또한 메모리(233)에는 전용 제어 하드웨어 보안 영역 프로그램(HSAP)을 포함한 하드웨어 보안 영역(HSA)이 포함될 수 있으며 이는 아이폰의 경우 SEP(Secure Enclave Processor) 또는 안드로이드 장치의 경우 Titan M 또는 ARM TrustZone으로 지칭된다.
수직 프로그램 도메인의 일례로서, DO 장치(230)는, 예를 들어, 비제한적으로 데이터베이스, 워드 프로세서, 스프레드시트 또는 비트코인 지갑일 수 있는 잠금 가능한 DO-PD(120)를 갖는 컴퓨터 또는 스마트폰과 같은 전자 장치이다.
이하의 개시는 TPP 장치(210) 및 DO 장치(230)에서 동작하는 시스템(200)의 실시예들을 제시한다. 구체적으로, 메모리(215)는 프로세서(234)가 TPP 장치(210)에 본 명세서에 설명된 방법 단계들을 수행하고 통신 케이블(210)을 통해 DO 장치(220)와 통신하기 위해 해석하는 저장된 프로그래밍 명령어들을 포함하며, 메모리(233)는, 프로세서(234)가 본 명세서에 기재된 방법 단계들을 수행하고 통신 케이블을 통해 TPP 장치와 통신하기 위해 해석하는 저장된 프로그래밍 명령어들을 포함한다. 메모리(215 및 233)는 또한, 본 명세서에 설명된 바와 같이, 저장된 암호화 키 및 DO-PD(120)의 잠금 및 잠금 해제를 위한 기타 정보를 포함할 수 있다.
일 실시예에서, 메모리(213)는 TPP-'PD(110) 및 TPP-PD(112)에 있는 바와 같이 도 1에 도시된 기능들을 실행하기 위한 프로세서(215)를 위한 프로그래밍을 포함하고, 메모리(233)는 도 1에 도시된 기능들을 DO-PD(120)에 있는 바와 같이 실행하기 위한 프로세서(234)를 위한 프로그래밍을 포함한다.
암호화
배타적 셀프 에스크로의 보안은 다양한 실시예에서 계산 경도가 입증되고 수용되는 암호화에 대한 두 가지 다른 접근 방식 중 하나 이상을 사용하여 달성된다. 첫 번째 접근법은 공개 키 암호화이다. 두 번째 접근 방식은 대칭 키 암호화로, 예를 들어, 비제한적으로, Diffie-Hellman 키 교환 프로토콜(DHKX)을 사용할 수 있다. 또한, 고유 장치 식별자 및 타임스탬프뿐만 아니라 키 및 난수 해싱을 포함한 단방향 수학 함수가 사용될 수 있으며, 공개 키들은 PKI(공개 키 인프라) 엔티티에 게시되지 않으며, 이들은, 메시지 내 또는 액세스 가능한 도메인 위치로부터 그들을 포함함으로써 참가자가 사용할 수 있도록 한다.
대칭 암호화: 배타적 셀프 에스크로는 DHKX를 사용하여 계산된 공유 비밀 키를 에스크로 암호화 암호로 사용할 수 있으며, 이 값은, 후의 예외 액세스 시에 밝혀지는 단방향 함수 액세스 데이터를 암호화하는 데 사용된다. 특정 실시예에서, TPP(10) 또는 DO-PD 20은 대칭 키 쌍들(2)로부터 공유 비밀 키를 생성하며, 여기서 하나의 키 쌍의 공개 키는 다른 키 쌍의 개인 키와 일치한다. PKI를 통해 공개되지 않는 공개 키는 여전히 암호화된 방식과 같이 처리된다.
공개 키 암호화: 배타적 셀프 에스크로는 TPP-'PD(110) 또는 DO-PD(120)의 비대칭 공개 키를 사용하여 단방향 기능 액세스 데이터를 암호화할 수 있으므로, TPP 또는 PD는 나중에 예외 액세스 시 인증을 위한 액세스 데이터를 나타낼 수 있다.
인증
배타적 셀프 에스크로는, 특정 실시예에서, 비제한적으로, 패스코드, 공유 비밀 키, 난수, 고유 장치 ID, 타임 스탬프 및 각 인증의 해시된 버전을 포함하는, DO-PD(120)와 TPP-'PD(110) 사이의 인증을 위해 각종 크리덴셜들 중 하나 이상을 사용할 수 있다.
공유 비밀 키 인증: 배타적 셀프 에스크로 크리덴셜들은, 특정 실시예에서, DO-PD(120) 및 TPP-'PD(110)의 각각의 공개 및 개인 키로부터 계산된 공유 비밀 키 또는 해시된 공유 비밀 키(여기서 "HSSK"라고 칭함)를, 예외 액세스의 초기에 후속 인증을 위해 사용할 수 있다.
난수 인증: 배타적 셀프 에스크로 크리덴셜들은, 특정 실시예에서, 예를 들어, 비제한적으로, DO-PD(120) 또는 TPP-'PD(110) 내에서, 또는 예외 액세스의 잠금 해제 설정 또는 시작 시에 인증에 사용하기 위한 크리덴셜들로서, 계산된 난수, 해시 난수 및 난수 함수를 사용할 수 있다. 다양한 실시예에서, 난수 또는 해시된 난수 값은 암호화되고 인증에서 후속 사용을 위해, 예외적으로 액세스하기 전에 크리덴셜들로서 저장된다. 난수, 난수 함수 및 해싱의 생성은 당업계에 공지되어 있다.
특정 실시예들에서, 본 명세서에서 "특수 난수"로 지칭되는 인증에 사용되는 난수들은, 미리 결정된 난수들의 풀로부터 선택되거나 특정한 포맷으로 저장된다. 제공된 특수 난수가 미리 결정된 난수 풀 내에 있거나 미리 결정된 형식인 경우 인증이 발해진다.
고유 장치 ID(식별자) 및 타임 스탬프 배타적 셀프 에스크로 크리덴셜들은 특정 실시예에서 고유 장치 ID 단방향 함수 크리덴셜 및/또는 타임스탬프 단방향 함수 크리덴셜을 사용할 수 있다.
메시지
배타적 셀프 에스크로는, 특정 실시예에서, 인증을 위해 메시지를 사용할 수 있다. 메시지는 예를 들어 암호화될 수 있고 DO-PD(120)와 TPP-PD(112) 또는 TPP-'PD(110) 간에 교환되며, 암호화 키와 같은 크리덴셜 또는 암호화된 크리덴셜과 같은 크리덴셜을 생성하는 데 사용되는 항목을 포함할 수 있고, 또는 그 자체가 크리덴셜일 수 있는 안전한 정보 객체이다.
일반적으로 본 명세서에 자세히 설명된 바와 같이, 메시지에는 크리덴셜, 패스코드, 난수, 장치 ID, 장치 시간, 암호화 키 또는 해시된 버전이 포함될 수 있지만 이에 제한되지는 않는다. 메시지는 암호화될 수도 있다.
메시지는, 특정 실시예에서, 암호화 키 및 크리덴셜와 같은 항목을 둘 이상 포함하거나 암호화 키를 둘 이상 포함할 수 있다. 두 개 이상의 항목을 포함하는 메시지는 다양한 당사자를 인증하는 데 필요한 다수의 항목을 효율적으로 제공하는 데 유용하다
구현의 상세한 사항 및 가정
본 발명의 배타적 셀프 에스크로 방법 및 장치의 특정 실시예들은 DO-PD(120), TPP-'PD(110) 또는 TPP-PD(112) 중 하나 이상, 적어도 하나의 암호화 컨테이너 "메시지" 객체 및 DO(20), TPP(10), 및 수사 정부 기관(GA)과 같은 DO를 포함하는 3개의 참가자에서 실행되는 프로그램(P)을 포함한다. TPP(10)는 선택적으로 프로그램 도메인(즉, 장치 제조업체)의 제공자이기도 한 제3자이다. TPP(10)는 실제로 DO-PD(120)를 DO(20)에 제공하지 않으면서 TPP의 역할을 수행하는 제3자가 될 수 있다는 것이 이해된다. TPP(10)는 항상 개인 키와 TPP-'PD(110)에 저장된 공개 키로 구성된 공개 키 쌍을 가진다. DO-PD(120)는, 다수의 실시예에서, 적어도 하나의 공개 키 쌍을 가질 수 있다. 키 쌍의 공개 키는 비밀이 아니지만 게시되지 않고 관리자가 보안 없이 사용할 수 있다. 개인 키는 비밀이며 안전하게 보관 및 관리된다. 단방향 기능 액세스 데이터는 암호, 키, 난수 값, 난수 함수, 고유 장치 식별, 타임 스탬프, 해시 버전 등의 계산에 사용되는 모든 데이터이다.
특정 실시예에서, P를 사용한 DO-PD(120) 잠금 해제는 각 당사자가 상주 크리덴셜과 챌린지 크리덴셜을 비교하여 상대방을 인증한 후에 발생한다. 예외적으로 액세스할 때, Escrow Passcode와 같은 이들 크리덴션들은 유효한 일치를 위해 서로 비교되어 TPP와 DO-PD의 신뢰성을 확인한다. 따라서, 예를 들어, DO-PD(120)는 DO-PD에 저장, 공개 또는 계산된 상주 크리덴셜이 TPP-'PD(110) 또는 TPP-PD(112)로부터 DO-PD에 제공된 챌린지 크리덴셜과 동일할 때 TPP-'PD(110)를 인증한다. 또한, 예를 들어, TPP-PD또는 TPP-PD(112)에 저장, 공개 또는 계산된 상주 크리덴셜이 DO-PD로부터 TPP-PD또는 TPP-PD에 제공된 챌린지 크리덴셜과 동일할 때, TPP-'PD(110)는 DO-PD(120)를 인증한다. 특정한 다른 실시예들에서, 챌린지 크리덴셜은 잠금 해제 과정 동안 생성된다. 특정 실시예에서, 프로그램 P는 TPP가 DO-PD(120)를 인증하기 전에 TPP-'PD(110)에서 실행되고, TPP가 DO-PD를 인증한 후에 TPP-PD(112)에서 실행된다.
각각의 Escrow Passcode 복사본은 노출되거나 노출되지 않은 상태로 존재한다. 공개된 바와 같이, 각 패스코드 복사본은 영숫자 시퀀스이다. 공개되지 않은 바와 같이, 각 패스코드 복사본은 공개된 상태의 영숫자 시퀀스와 (동일하지 않은) 다른 영숫자 시퀀스이다. 패스코드 복사본이 암호화되면, P에 의해 공개 상태에서 미공개 상태로 변환된다. PD 또는 HSA(하드웨어 보안 영역)에 패스코드 복사본이 저장되면, 해당 상태는 PD의 P에 의해 변경되지 않는다. DO-PD의 P에 의해 공개된 상주 Escrow Passcode와 TPP-PD의 P를 통해 공개 또는 계산된 챌린지 Escrow Passcode는 인증 TPP의 동작을 통해 공개된다. HSAP는 항상 저장된 정보를 P로부터 받은 상태에서 PD의 P로 리턴한다. 상주 Escrow Passcode는 미공개, 공개 또는 계산 상태에 관계없이 DO-PD와 배타적이다. 과제 Escrow Passcode는 공개되지 않았거나 공개되었거나 계산 상태에 있는지 여부에 관계없이 TPP-PD에만 상주한다.
특정 실시예에서, 해시 값으로서 확장될 때, 에스크로 암호화된 메시지의 내외 모두에서 전달되고 비교될 수 있다. 이는 해시되지 않은 에스크로 암호화되지 않은 Escrow Passcode에 대한 액세스에 의해 소유가 제한되기 때문이다. 따라서, 예를 들어, 해시된 Escrow Passcode의 소스는 해시된 형식의 챌린지 Escrow Passcode가 인증된 TPP에 의해서만 노출될 수 있도록 안전하게 저장될 수 있다.
특정한 실시예들에서, 해시 키 인증은 정상적인 암호가 설정되고 Escrow Passcode 인증이 생성될 때 생성되고 안전하게 저장될 수 있으며, 그 후, 예외적인 액세스 동안, 사기꾼들에 대한 장치 프로그램 도메인 및 제3자 인증에 사용된다. 특정 실시예에서 해시 키 챌린지 크리덴셜은 예외 액세스 시 생성된다.
특정 실시예들에서, 에스크로 암호화 코드와 같은 크리덴셜들은 대칭 암호화의 산물로서 생성되고, 또한 액세스 데이터를 암호화하는 데 사용될 수 있다. Escrow Passcode는 P 또는 키 쌍 조합에서 생성된 액세스 데이터의 해시 값에서 직접 생성될 수 있다. 난수를 포함한 해시 값은 제3자 및 DO-PD를 인증하는 데 사용된다.
특정 실시예들은 인증 과정에서 다수의 상이한 키 쌍들을 사용할 수 있는 다수의 제3자들을 포함할 수 있다. 따라서, 메시지는 서로 다른 공개 키를 사용하여 크리덴셜의 다수의 고유한 보안 방지를 지원할 수 있으며, 여기서 DO-PD(120)는, P를 통해, n개의 고유한 공개 키를 사용하여 에스크로 챌린지 크리덴셜을 n번 암호화하며, 이에 따라, P를 통해, 상주 크리덴셜과 비교하기 위해 n개의 제3자가 개별적으로 유효한 챌린지 크리덴셜을 공개하도록 한다. 추가적인 제3자 참여는 TPP(10)가 의도치 않게 또는 의도적으로 조건을 충족하지 않고 장치를 잠금 해제하기도록 선택할 수 있는 위험을 줄인다. 주요 제3자 후보들은 TPP 그룹의 후보들로서, 그들은 완전히 투자된 이해관계자들이다. P가 DO-PD(120)의 잠금을 해제하면 전체 상주 크리덴셜이 일치될 수 있다. 챌린지 크리덴셜의 각 사본을 그 자체의 메시지에 위치시킬 수도 있다. Escrow Passcode를 이용한 실시예들은 다수의 제3자에게 가장 적합하며, 인증은, DO-PD(120) 및 TPP(10)을 확인하기 위해, 잠금 해제 프로세스의 시작 시, 또한, 다수의 제3자와 시간 지연으로 인해 인증 프로세스의 완료될 때 다시, 잠금 해제 프로세스의 시작 시 발해질 필요가 있고, 여기서 DO-PD는 TPP에 의해 후속적으로 잠금 해제된다.
각종 실시예들은, 블록(125)에 있어서, PD가 에스크로 모드에 들어가면, DO-PD(120)의 잠금을 해제하기 위해 P에 의해 할당된 시간 동안, 실패한 잠금 해제 시도를 위한 자체 시간 지연 기능 또는 TPP(10)의 시간 제약 기능, 및 다른 잠재적인 제3자를 포함하지 않는다. 시간 지연 및 시간 제약 기능은 실시예에 실현 가능한 추가 기능이다. 프로그램 도메인을 Emode에 배치할 때와 유효한 시도 인증을 수신할 때까지 제한된 시간이 소요될 수 있다. 이와 같은 시간 제한은 '중간자' 암호화 공격을 심각하게 제한할 수 있다. 유효한 시도 인증을 표시하지 못한 경우 다른 시도가 허용되기 전에 경과해야 하는 지연 기간이 트리거될 수도 있다. 이 지연 시간은 프로그램 도메인의 잠금을 해제하려는 강압적 시도를 더욱 제한한다. 특히 다수의 제3자 구현의 경우, 시간 제한이 프로그램 도메인 잠금 해제에 필요한 모든 지정된 제3자의 인증을 제출하는 데 허용되는 시간을 강제하는 것도 합리적이다. 이와 같은 제약으로 인해, 단일의 제3자 공급자가 합의된 역할을 변환할 위험이 더욱 낮아진다.
여기에 제시된 배타적 셀프 에스크로 방법은 시스템과 독립적으로 PD의 두 가지 보안 상태를 가정한다. 첫 번째 및 가장 높은 상태는 아이폰의 SEP(Secure Enclave Processor)와 같은 하드웨어 보안 영역(HSA) 및 시스템 암호화 잠금과 결합된 유사한 하드웨어 장치의 상태이다. 두 번째 보안 상태는 일반적인 암호 설치를 통해 시스템 암호화 잠금으로 보안이 관리되는 HSA 등의 이점 없이 동작한다. 세 번째 상태는 잠금 해제되고, 설치된 일반 암호가 없으며, 활성 보안 시스템이 없다. OS 암호화된 첫 번째 및 두 번째 상태는 외부인의 관점에서 객관적으로 안전하지만, 이와 같은 방어에 의존하는 모든 인증 시스템은 이와 같은 시스템의 알려진 또는 알려지지 않은 약점에 취약하다. HSA 및/또는 시스템 암호화를 포함하는 접근 방식을 모두 제공함으로써, 이 프레젠테이션은 OS와 완전히 독립적일 뿐만 아니라 현재 가장 높은 수준의 보안과 통합된 제공 방식에 초점을 맞춘다.
특정한 다른 실시예들은 DO-PD의 잠금 해제 동안 DO-PD(120)에 의해 인증되는 추가적인 제3자를 포함한다. 따라서 DO-PD(120)는 위에서 설명한 방법을 통해 예를 들어 비제한적으로 추가적인 제3자를 각각 인증할 수 있다.
다수의 제3자
본 발명은 일반적으로 TPP로서 단일의 제3자를 포함하는 것으로 기술된다. 그러나, 일반적으로 하나 이상의 제3자가 프로그램 도메인 잠금 해제에 관여할 수 있다. 여기에 설명된 메시지는 서로 다른 공개 키를 사용하여 다수의 개의 고유한 보안 인증을 지원하며, DO는 P를 통해 N개의 고유한 공개 키를 사용하여 에스크로 챌린지 크리덴셜 번호 N을 하나의 메시지로 암호화하며, 이에 따라, N개의 제3자가 P를 통해 상주 크리덴셜과 비교하기 위해 자신의 개별 유효 챌린지 크리덴셜을 공개해야 하다. 추가적인 제3자 참여는, TPP가 실수로 또는 의도적으로 조건을 충족하지 않고 장치 잠금 해제를 선택할 수 있는 위험을 줄인다.
주요 제3자(TP) 후보들은 TPP 그룹 출신으로, 이들은 완전히 투자된 이해관계자들이다. 전체 상주 크리덴셜을 일치시켜, P가 PD의 잠금을 해제할 수 있다. 각 챌린지 크리덴셜 사본을 그 자체의 메시지에 위치시킬 수도 있다. 특정 실시예에서, Escrow Passcode는, 잠금 해제 프로세스 시작 시 인증이 발생해야 하는 다수의 제3자에 적합하며, 다수의 제3자(TP) 및 시간 지연으로 인해 인증 프로세스가 완료될 때 다시 PD 및 TPP를 확인할 필요가 있고, 이때 PD는 TPP에 의해 후속적으로 잠금 해제된다.
일반적으로, 본 명세서에 설명된 실시예들 중 임의의 실시예들은, 예를 들어, 비제한적으로, 제2 실시예에서 임의의 수의 제3자들을 지원하도록 조정될 수 있다.
실시예
본 명세서에 제시된 배타적 셀프 에스크로 방식의 각 실시예는, 프로그램 도메인 및 제3자 인증을 달성하기 위해, 서로 다른 메시지(액세스 데이터)와 콘텐츠, 암호화 방법(동일 및 대칭) 및 단방향 함수 크리덴셜 형태의 일부 조합을 이용한다. 공개 키 암호화는 단방향 함수 크리덴셜을 보호하는 수단을 제공하는 반면, 대칭 암호화는 양방향 인증을 위한 단방향 함수 크리덴셜을 생성하고 보호한다. 각 크리덴셜 유형은 단방향 기능 및 상태 표현에 중점을 두고 인증 역할을 지원하는 고유한 기능 특성을 나타낸다. 특정 장치에서 HSA(하드웨어 보안 영역)는 암호화된 메시지를 대체할 수 있다.
도식(100)에 도시된 방법의 몇몇 실시예가 보다 상세히 제시된다. 이하의 개시는 DO-PD(120), TPP-'PD(110) 및 TPP-PD(112) 사이의 작용을 언급한다. 프로그램 P와 같은 DO-PD(120)의 프로그래밍은 메모리(233)에 저장되어 프로세서(234)에서 실행되고, DO-PD 메모리(121)와 TPP-PD 메모리(135)는 둘 다 메모리(233) 내에 있으며, DO-PD와 TPP-'PD(110)는 통신 케이블(220)을 통해 통신하는 것으로 이해될 것이다.
다음 논의에서, DO-PD(120), TPP-'PD(110) 및 TPP-PD(112) 내에서 발생하는 행위에 관한 진술은 다음과 같은 의미를 갖는 것으로 이해되어야 하다: DO-PD(120)가 메시지를 "생성", "형성", "암호화," 또는 "복호화"(예를 들어), 메시지가 프로세서(234)를 사용하여 계산되고 메모리(233)에 저장되는 것을 의미하고; DO-PD(120) 가 값을 "해시"하는 것은 그 값이 프로세서(234)를 사용하여 해시 값을 생성하는 해시 알고리즘에 제출되고 비휘발성 메모리(233)에 저장됨을 의미하고; DO-PD(120)가 (예를 들어) 메시지를 "사용"하는 것은 메시지가 전체 또는 부분적으로 콘텐츠가 프로세서(234)의 계산을 위해 메모리(233)에서 검색됨을 의미하고; DO-PD(120)가 (예를 들어) 메시지 또는 변수의 "복사" 또는 "이름 변경"은 메시지 또는 변수의 복사본이, 메모리(233)에 저장될 때, 다른 메시지 또는 변수로서 복제됨을 의미하고; DO-PD(120)가 (예를 들어) 메시지를 "저장"하는 것은 메시지 또는 변수의 복사본이 DO-PD 메모리(121)에 저장됨을 의미하고; DO-PD(120)가 (예를 들어) 메시지를 "파괴" 또는 "삭제"하는 것은 메시지가 메모리(233)로부터 소거됨을 의미하고; DO-PD(120)가 (예를 들어) 메시지를 TPP-PD(112)에 대해 "제공", "방출", 또는 "공개"하는 것은, 메시지가 메모리(233)에서 TPP-PD 메모리(135)로 복사되는 것을 의미하고; TPP-'PD(110)가 (예를 들어) 메시지를 "생성", "형성", "공개", "암호화," 또는 "복호화"하는 것은 메시지가 프로세서(215)를 사용하여 계산되고 메모리(213)에 저장된다는 것을 의미하고; TPP-'PD(110)가 (예를 들어) 번호를 "해시"하는 것은 번호가 프로세서(215)를 사용하여 해시되고 메모리(213)에 저장되는 것을 의미하고; TPP-'PD(110)가 (예를 들어) "사용"하는 것은 메시지가 프로세서(215)에서의 계산을 위해 메모리(213)에서 검색되는 것을 의미하고; TPP-'PD(110)가 (예를 들어) 메시지를 "복사" 또는 "이름 변경"하는 것은 메시지의 복사본이 메모리(213)에 저장됨을 의미하고; TPP-'PD(110)는 (예를 들어) 메시지를 DO-PD(120) 또는 TPP-PD(112)에 "제공," 또는 "공개"한다는 것은, 메시지가 메모리(213)에서 DO-PD 메모리(121) 또는 TPP--PD(135) 메모리로 각각 복사됨을 의미하고; TPP-PD(112)가 (예를 들어) 메시지를 "생성", "형성", "공개", "암호화," 또는 "복호화"하는 것은 메시지가, P를 사용하여, DO-PD(120)의 프로세서(215)를 사용하여 계산되고 TPP-PD 메모리(135)에 저장되는 것을 의미하고; TPP-PD(112)가 (예를 들어) 번호를 "해시"하는 것은 그 번호가, P를 사용하여, DO-PD(120)의 프로세서(215)를 사용하여 해시되고 TPP-PD 메모리(135)에 저장되는 것을 의미하고; TPP-PD(112)가 (예를 들어) 메시지를 "사용"하는 것은 메시지가, P를 사용하여, DO-PD(120)의 프로세서(215)를 사용하여 프로세서(215)에서의 계산을 위해 TPP-PD 메모리(135)로부터 메시지가 검색되는 것을 의미하고; TPP-PD(112)가 (예를 들어) 메시지를 "복사"하는 것은 메시지의 복사본이 TPP-PD 메모리(135)에 저장됨을 의미하고; TPP-PD(112)가 (예를 들어) 메시지를 DO-PD(120) 또는 TPP-'PD(110)에 "제공", "방출" 또는 "공개"하는 것은, 메시지가 각각 TPP-PD 메모리(135)로부터 DO-PD 메모리(121) 또는 메모리(213)으로 복사됨을 의미하며; TPP-PD(112)가 (예를 들어) 메시지를 "저장"한다는 것은 메시지의 복사본이 TPP-PD 메모리(135)에 저장되는 것을 의미한다
본 발명은 전술한 바와 같이 배타적인 셀프 에스크로 방법 및 시스템의 다양한 특징들을 예시하는 몇몇 실시예들이 제시되어 있으며, 도 18은 상단 행에 실시예들 특징들을, 우측 열에 각 실시예들을, 또한 표의 주요부에 각 실시예들에 대한 각 특징들의 사용을 나타내는 표(1800)을 포함한다. 그 특징부들은, 보안 HSA 저장부의 사용, DO-PD(120)와 TTP-PD(110) 또는 TPP-PD(112) 간에 교환되는 메시지의 수, 공개 키 암호화, 대칭 키 암호화 및 사용되는 총 암호화 수와 같은 방법, 암호 및 해시 암호를 포함하는 "A" 크리덴셜 유형의 사용, 공유 비밀 키 또는 해시된 공유 비밀 키, 난수, 해시된 난수 또는 난수 함수, 장치 식별 번호 및 타임 스탬프를 포함하는 "B" 크리덴셜 유형의 사용을 포함한다.
일반적으로, 각각의 실시예들은 적어도 하나의 메시지, 하나의 암호화 방법 및 두 가지 유형의 크리덴셜을 사용하며, 이들은 모두 적어도 하나의 "B" 크리덴셜 유형을 사용한다. 실시예 9를 제외한 모든 실시예는 적어도 하나의 공개 암호화 키 쌍을 사용한다. 실시예 1 및 3은 모두 인증 크리덴셜들로 Escrow Passcode 및 난수와 함께 HSA(하드웨어 보안 영역)를 사용한다. 실시예 1 및 10 내지 14는 공개 키 암호화 방법론만을 사용한다. 실시예 2 내지 8은 공개 키 및 대칭 암호화 방법론을 모두 사용한다. 실시예 6, 7, 8 및 14에서는 "A" 크리덴셜 유형을 사용하지 않는다.
제1 실시예
도 4에 흐름도(401) 및 흐름도(402)로 도시된 제1 실시예의 배타적 셀프 에스크로 방법이 도시되며, 상기 흐름도 401은 블록 411-419에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 402는 블록 421-437에서 흐름도(401)의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 도 4의 각 블록이 어떤 도메인에서 실행되는지를 설명하는 데 도움이 되도록, 블록들은 TPP-'PD(110), TPP-PD(112) 및 DO-PD(120)로 표시된 수직 파선 도메인을 따라 정렬된다.
DO-PD(120)는 흐름도(401)의 단계들에 따라 다음과 같이 블록 122, 123 및 124에 따라 잠길 수 있다:
블록 411에서, TPP(10)는 TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성한다. TPP 개인 키는 TPP-'PD(110)에 저장되며, TPP 공개 키는 DO-PD 메모리(121)에 제공 및 저장된다.
블록 412에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, PD 개인 키로서 PD 키 쌍을 생성하며, 이는 DO-PD 메모리(121)에 저장된다.
블록 413에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 생성하여 저장한다.
블록 414에서, DO-PD(120)는, P를 사용하여, Escrow Passcode의 복사본을 Escrow Passcode#1 및 Escrow Passcode#2로서 저장한다.
블록 415에서, DO-PD(120)는, P를 사용하여, 암호화 섹션에서 설명한 바와 같이, Escrow Passcode#2를 TPP 공개 키를 이용하여 message#1로 암호화한다.
블록 416에서, DO-PD(120)는, P를 사용하여, 암호화 섹션에서 설명한 바와 같이, PD 공개 키 및 message#1를 TPP 공개 키를 사용하여 message#2로 암호화한다.
블록 417에서, DO-PD(120)는, P를 사용하여, message#2 및 상기 TPP 공개 키를 DO-PD 메모리(121)에 저장한다.
블록 418에서, DO-PD(120)는, P를 사용하여, 전술한 바와 같이, Escrow Passcode#1 및 PD 개인 키를 HSA(Hardware Secure Area)로 전송한다.
블록 419에서, DO-PD(120)는, P를 사용하여, Escrow Passcode와 PD 공개 키를 삭제한다.
블록 419의 실행 후, 제1 실시예의 배타적 셀프 에스크로 방법에 따라 DO-PD(120)가 로크된다.
흐름도(401)의 단계들에 따라 로크된 DO-PD(120)는, 다음과 같이, 블록 125, 126, 127 및 128에 따라, 또한 흐름도(402)의 단계들에 따라 잠금 해제될 수 있다:
블록 421에서, TPP-'PD(110)는 블록(113)에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 422에서, TPP-'PD(110)는, P를 사용하여, DO-PD(120)를 에스크로 모드로 설정하고, message#을 DO-PD(120)로부터 TPP-PD(112)로 방출한다.
블록 423에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 사용하여 message#2를 복호화하고, 그에 의해 PD 공개 키와 message#1을 공개한다.
블록 424에서, TPP-'PD(110)는, P를 사용하여, 임시 TPP 개인 키와 임시 TPP 공개키로서 임시 TPP 키 쌍을 생성하고, 난수 RND#1을 생성한다.
블록 425에서, TPP-'PD(110)는, P를 사용하여, 임시 TPP 공개 키 및 RND#1을 PD 공개 키를 이용하여 message#3으로 암호화하고, message#3을 DO-PD(120)로 방출한다.
블록 426에서, DO-PD(120)는, PD 개인 키를 이용하여 message#3을 복호화함으로써, 임시 TPP 공개 키 및 RND#1을 공개한다.
블록 427에 있어서, DO-PD(120)는, P를 사용하여, 블록(426)으로부터 RND#2로 RND#1을 복사한다.
블록 428에서, DO-PD(120)는, P를 사용하여, RND#2를 임시 TPP 공개 키를 이용하여 message#4로 암호화하고, message#4를 TPP-'PD(110)에 제공한다.
블록 429에서, TPP-'PD(110)는, P를 사용하여, 임시 TPP 개인 키를 이용하여 message#4를 복호화함으로써, RND#2를 공개한다.
다음, 블록 430은 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 424로부터의 상주 크리덴셜 RND#1과 블록 429로부터의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 430에서, RND#1과 RND#2는 동일하다. 따라서, 블록 430에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#2를 비교한다. 만약 RND#1이 RND#2와 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 430의 결과는 "Y"이며, RND#1이 RND#2와 같지 않다면, 인증이 실패하고 블록 430의 결과는 "N"이다. 블록 430의 결과가 "N,"이면," 인증이 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 431에서 중지된다.
블록 430의 결과가 "Y"이면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 잠금 해제는 블록 432로 진행하며, 여기서 TPP-PD(112)는, P를 사용하여, TPP 개인 키를 이용하여 message#1를 복호화하여 Escrow Passcode #2를 공개한다.
블록 433에서, TPP-PD(112)는, P를 사용하여, PD 공개 키를 이용하여 Escrow Passcode#2를 message#5로 암호화하고, message#5를 DO-PD(120)에 제공한다.
블록 434에서, DO-PD(120)는, P를 사용하여, PD 개인 키를 이용하여 message#5를 복호화하여 Escrow Passcode #2를 공개한다.
다음, 블록 435는 DO-PD(120)가 TPP-'PD(110)를 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 418의 상주 크리덴셜 Escrow Passcode#1와 블록 434의 크리덴셜 Escrow Passcode#2를 비교한다. 인증 결정에 올바른 키가 사용된 경우, 블록 435에서 Escrow Passcode#1와 Escrow Passcode#2는 동일하다. 따라서, 블록 435에서, DO-PD(120)는, P를 사용하여, Escrow Passcode #1를 Escrow Passcode #2와 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 435의 결과는 "Y"이며, Escrow Passcode #1가 Escrow Passcode #2와 같지 않다면, 블록 435의 결과는 "N"이다
블록 435의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 436에서 중지된다.
블록 435의 결과가 "Y"이면 모든 인증이 통과되고, 잠금 해제는 블록 437로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120) 잠금이 해제된 상태에서, 이제 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제2 실시예
제2 실시예의 배타적 셀프 에스크로 방법은 도 5에 흐름도 501 및 흐름도 502로서 도시되고, 여기서 흐름도(401)는 블록 511 내지 526에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도(402)는 블록 527 내지 549에서의 흐름도 501의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계를 포함한다. 제2 실시예의 배타적 셀프 에스크로 방법은, 명시적으로 언급된 것을 제외하고, 일반적으로 이전의 실시예의 배타적 셀프 에스크로 방법과 유사하다.
본 실시예는 TPP-PD 파티션과 유사한 TP-'DP 파티션을 갖는 장치를 갖는, "TP"로 표시된 제2의 제3자를 나타낸다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 501의 단계들에 따라 로크될 수 있다:
블록 511에서, TPP-'PD(110)는 TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키와 대칭 TPP 공개 키로서 대칭 TPP 키 쌍을 생성하고, TPP 공개 키와 대칭 TPP 공개 키를 DO-PD(120)에 제공한다.
블록 512에서, TP-PD는 대칭 TP 개인 키와 대칭 TP 공개 키로서 대칭 TP 키 쌍을 생성하고, 대칭 TP 공개 키를 DO-PD(120)에 제공한다.
블록 513에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 PD 공개 키 #l로서 대칭 PD 키 쌍 #1을 생성하고, 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2로서 대칭 PD 키 쌍 #2를 생성하고, 대칭 PD 개인 키 #3 및 대칭 PD 공개 키 #3으로서 대칭 PD 키 쌍 #3을 생성하며, PD 공개 키 및 PD 개인 키로서 PD 키 쌍을 생성한다.
블록 514에서, DO-PD(120)는, P를 사용하여, 생성된 난수로부터 Escrow Passcode를 생성한다.
블록 515에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 복사하여 Escrow Passcode#1와 Escrow Passcode#2를 모두 형성한다.
블록 516에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#1을 생성한다.
블록 517에 있어서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2와 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#2를 생성한다.
블록 518에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #3 및 대칭 TP 공개 키를 사용하여 공유 비밀 키 SSK#3을 생성한다.
블록 519에서, DO-PD(120)는, P를 사용하여, SSK#2를 HSSK#2로 해싱한다.
블록 520에서, DO-PD(120)는, P를 사용하여, SSK#3을 HSSK#3으로 해싱한다.
블록 521에서, DO-PD(120)는, P를 사용하여, PD 공개 키를 이용하여 Escrow Passcode#1를 message#1로 암호화한다.
블록 522에서, DO-PD(120)는, P를 사용하여, Escrow Passcode #2 및 PD 개인 키를 SSK#1을 이용하여 message#2로 암호화한다.
블록 523에서, DO-PD(120)는, P를 사용하여, 장치 ID#1, 대칭 PD 공개 키#l, 및 대칭 PD 공개 키#2를 TPP 공개 키를 이용하여 message#3으로 암호화한다.
블록 524에서, DO-PD(120)는, P를 사용하여, SSK#1을 SSK#2를 이용하여 message#4로 암호화한다.
블록 525에서, DO-PD(120)는, message#1, message#2, message#3, message#4, HSSK#2 및 HSSK#3을 DO-PD 메모리(121)에 저장한다.
블록 526에서, DO-PD(120)는, P를 사용하여, Escrow Passcode, 대칭 PD 개인 키 #l, 대칭 PD 개인 키 #2, 대칭 PD 개인 키 #3, 대칭 PD 공개 키 #2, 대칭 PD 공개 키 #3, SSK#1, SSK#2 및 SSK#3를 파괴한다.
블록 526의 실행 후, DO-PD(120)는 제2 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 501의 단계들에 따라 로크된 DO-PD(120)는 다음과 같이, 흐름도 502의 단계들에 따라 블록 125, 126, 127 및 128에 따라 잠금 해제될 수 있다:
블록 527에서, TPP-'PD(110)는, 블록(113)에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 528에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라 DO-PD(120)를 에스크로 모드로 설정하고, message#3을 DO-PD(120)로 방출한다.
블록 529에서, DO-PD(120)는, P를 사용하여, 장치 ID#2 및 DO-PD의 현재 장치 시간 Time#l을 TPP 공개 키를 이용하여, message#5로 암호화하고, message#5 및 message#3을 TPP-PD(112)에 방출한다.
블록 530에서, TPP-PD(112)는, P를 사용하여, message#5를 TPP 개인 키를 사용하여 복호화하고, 장치 ID#2 및 Time#l을 공개한다.
다음, 블록 531은 잠금 해제 시작 시부터 미리 설정된 제한 시간이 경과하지 않았음을 판단하는 테스트를 수행한다. 구체적으로, TPP-PD(112)는, P를 사용하여, 상주 크리덴셜 Time#l과 현재 장치 시간, 챌린지 크리덴셜 실제 시간을 비교한다. 미리 설정된 시간이 초과되지 않은 경우, 잠금 해제가 진행된다. 따라서, 블록 531에서, TPP-PD(112)는, P를 사용하여, Time#l을 실제 시간과 비교한다. |Time#l - Actual Time | < Preset Time인 경우 블록 531의 결과가 "Y"이고 잠금 해제가 시기적절하고, |Time#l - T| > M이면 너무 많은 시간이 경과하여 블록 531의 결과가 "N"이다
블록 531의 결과가 "N"인 경우, 인증이 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 532에서 중지된다.
블록 531의 결과가 "Y"이면, DO-PD(120)는 블록 533으로 잠금 해제를 진행하고, TPP-PD는, P를 사용하여, TPP 개인 키를 사용하여 message#3을 복호화하여 장치 ID #1, 대칭 PD 공개 키 #l 및 대칭 PD 공개 키 #2를 공개한다.
다음, 블록 534는 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 533의 상주 크리덴셜 장치 ID#l과 블록 530의 챌린지 크리덴셜 장치 ID#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 534에서 장치 ID#1과 장치 ID#2는 동일하다. 따라서, 블록 534에서, TPP-'PD(110)는, P를 사용하여, 장치 ID#1과 장치 ID#2를 비교한다. 장치 ID#1이 장치 ID#2인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 534의 결과는 "Y"이고, 장치 ID#1이 장치 ID#2와 일치하지 않는 경우, 인증이 실패하고, 블록 534의 결과는 "N"이다
블록 534의 결과가 "N"인 경우, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 535에서 중지된다
블록 534의 결과가 "Y"이면, DO-PD(120)는 TPP-P(110)D에 대해 인증되고, 상기 잠금 해제는 블록 536으로 진행하며, 여기서 TPP-PD(112)는, P를 사용하여, 대칭 TPP 개인 키 및 비대칭 공개 키 #2를 이용하여 공유 비밀키 SSK#4를 생성한다.
블록 537에서, TPP-PD(112)는 SSK#4를 HSSK#4로 해싱하고, 이들 모두 DO-PD에 제공한다.
다음, 블록 538은 DO-PD(120)가 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 615의 상주 크리덴셜 HSSK#2와 블록 633의 챌린지 크리덴셜 HSSK#4를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 538에서 HSSK#2와 HSSK#4는 동일하다. 따라서, 블록 538에서, DO-PD(120)는, P를 사용하여, HSSK#2를 HSSK#4와 비교한다. HSSK#2가 HSSK#4와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 538의 결과는 "Y"이며, 만약 HSSK#2가 HSSK#4와 같지 않다면, 블록 538의 결과는 "N"이다
블록 538의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 539에서 중지된다.
블록 538의 결과가 "Y"인 경우, TPP는 인증되고, 잠금 해제는 블록 540으로 진행되어 TP의 인증을 시작하며, TP-PD는, P를 사용하여, 대칭 TP 개인 키 및 대칭 PD 공개 키 #3을 이용하여 공유 비밀키 SK#5를 생성한다.
블록 541에서, TP-PD는, P를 사용하여, SSK#5를 HSSK#5로 해싱하고, 이는 DO-PD(120)에 제공된다.
블록 542에서, DO-PD(120)는, P를 사용하여, HSSK#3와 HSSK#5를 비교하고, 일치하면 TP를 인증한다.
다음, 블록 542에서, DO-PD(120)는 제2의 제3자 TP를 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 525의 상주 크리덴셜 HSSK#3과 블록 541의 챌린지 크리덴셜 HSSK#5를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 542에서 HSSK#3 및 HSSK#5는 동일하다. 따라서, 블록 538에서, DO-PD(120)는, P를 사용하여, HSSK#3을 HSSK#5와 비교한다. 만약 HSSK#3이 HSSK#5와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 542의 결과는 "Y"이며, HSSK#3이 HSSK#5와 같지 않으면, 블록 542의 결과는 "N"이다
블록 542의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 543에서 중지된다.
블록 542의 결과가 "Y"이면, DO 및 제3자 인증이 통과되고, 잠금 해제는 블록 544로 진행되며, DO-PD(120)는, P를 사용하여, SSK#4를 이용하여 message#4를 복호화하여 SSK#1을 공개한다.
블록 545에서, DO-PD(120)는, P를 사용하여, SSK#1을 이용하여 message#을 복호화하고, 상기 Escrow Passcode#2와 PD 개인 키를 드러낸다.
블록 546에서, DO-PD(120)는, P를 사용하여, message#1을 PD 개인 키를 이용하여 복호화하여, Escrow Passcode #1을 공개한다.
다음, 블록 547에서 DO-PD(120)가 TPP-'PD(110)를 인증하는 두 번째 테스트를 수행한다. TPP의 2차 인증은, 추가 제3자 인증의 추가 시간 및 활동을 고려하여 수행된다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 546의 상주 크리덴셜 Escrow Passcode#1와 블록 545의 크리덴셜 Escrow Passcode#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 547에서 Escrow Passcode#1와 Escrow Passcode#2는 동일하다. 따라서, 블록 742에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1를 Escrow Passcode#2와 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 547의 결과는 "Y"이며, Escrow Passcode #1가 Escrow Passcode #2와 같지 않다면, 블록 547의 결과는 "N"이다
블록 547의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 548에서 중지된다.
블록 547의 결과가 "Y"인 경우, 인증 단계는 모두 성공적으로 수행되고, 잠금 해제는 블록 744로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120) 잠금이 해제된 상태에서 GA는 이제 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제3 실시예
제3 실시예의 배타적 셀프 에스크로 방법이 도 6에 흐름도 601 및 흐름도 602로서 도시되며, 흐름도 601은 블록 611-618에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 602는 블록 620-636에서 흐름도 601의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제3 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고는 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 601의 단계들에 따라 로크될 수 있다:
블록 611에서, TPP-'PD(110)는 TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키와 대칭 TPP 공개 키로서 대칭 TPP 키 쌍을 생성하며, TPP-'PD(110)는 DO-PD(120)에 TPP 공개 키 및 대칭 TPP 공개 키를 제공한다.
블록 612에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, PD 키 쌍을 PD 개인 키와 PD 공개 키로서 생성하고, 대칭 PD 키 쌍을 대칭 PD 개인 키 및 대칭 PD 공개 키로서 생성한다.
블록 613에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 및 대칭 TPP 공개 키를 이용하여 제1 에스크로 공유 비밀키(ESSK#1)를 생성한다.
블록 614에서, DO-PD(120)는, P를 사용하여, ESSK#1을 해싱하여 크리덴셜 Escrow Passcode#1를 형성한다.
블록 615에서, DO-PD(120)는, 메모리(233) 내의 하드웨어 보안 영역(HSA)에 대한 Escrow Passcode#1를 저장한다.
블록 616에서, DO-PD(120)는, TPP 공개 키를 이용하여 대칭 PD 공개 키를 암호화하여 message#1를 형성한다.
블록 617에서, DO-PD(120)는, message#1, PD 개인 키, PD 공개 키 및 TPP 공개 키를 DO-PD(120)에 저장한다.
블록 618에서, DO-PD(120)는, DO-PD(120)로부터 대칭 PD 키 쌍, ESSK#1 및 Escrow Passcode#1를 삭제한다.
블록 618의 실행 후, 제3 실시예의 배타적 셀프 에스크로 방법에 따라 DO-PD(120)가 로크된다.
흐름도 601의 단계들에 따라 로크된 DO-PD(120)는 블록 125, 126, 127 및 128에 따라 다음과 같이 흐름도 602의 단계들에 따라 잠금 해제될 수 있다:
블록 620에서, TPP-'PD(110)는 블록(113)에 따른 유효한 잠금 해제 요청을 수신한다.
블록 621에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라 프로그램 도메인을 에스크로 모드로 설정하고, DO-PD(120)로부터 message#1 및 PD 공개 키를 검색한다.
블록 622에서, TPP-'PD(110)는, P를 사용하여, 임시 TPP 개인 키와 임시 TPP 공개키 및 RND#1을 생성한다.
블록 623에서, TPP-'PD(110)는, P를 사용하여, PD 공개 키를 이용하여 임시 TPP 공개 키 및 RND#1을 암호화하여 message#2를 형성하고, message#2를 DO-PD(120)로 방출한다.
블록 624에서, DO-PD(120)는, P를 사용하여, PD 개인 키를 이용하여 message#2을 복호화하여 임시 TPP 공개 키와 RND#1을 공개한다.
블록 625에서, DO-PD(120)는, P를 사용하여, 블록 624로부터 RND#1을 RND#2로 이름 변경한다.
블록 626에서, DO-PD(120)는, P를 사용하여, 임시 TPP 공개 키를 이용하여 RND#2를 암호화하여 message#3을 형성하고, message#3을 TPP-'PD(110)로 방출한다.
블록 627에서, TPP-'PD(110)는, P를 사용하여, 임시 TPP 개인 키를 이용하여 message#3을 복호화하여 RND#2를 나타낸다.
블록 628은 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 622의 상주 크리덴셜 RND#1과 블록 627의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 628에서 RND#1과 RND#2는 동일하다. 따라서, 블록 628에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#2를 비교한다. RND#1이 RND#2과 같으면, DO-PD(120)는 TPP-'PD(110)으로 인증되고, 블록 628의 결과는 "Y"이고, RND#1이 RND#2와 같지 않으면, 인증이 실패하고 블록 628의 결과는 "N"이다
블록 628의 결과가 "N"이면, 인증이 실패하고, DO-PD(120)의 잠금 해제의 실행이 블록 629에서 정지된다.
블록 628의 결과가 "Y"이면, DO-PD(120)는 TPP-PD(110)에 대해 인증되고, 잠금 해제는 630 블록으로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, TPP 개인 키를 사용하여 message#1를 복호화하여 대칭 PD 공개 키를 나타낸다.
블록 631에서, TPP-PD(112)는, P를 사용하여, 대칭 PD 공개 키와 대칭 TPP 개인 키로부터 ESSK#2를 계산한다.
블록 632에서, TPP-PD(112)는, P를 사용하여, ESSK#2를 해싱하여 Escrow Passcode #2를 형성한다.
블록 633에서, TPP-PD(112)는, P를 사용하여, DO-PD(120)에 대한 Escrow Passcode #2를 제공한다.
다음, 블록 634에서 DO-PD(120)가 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 615의 상주 크리덴셜 Escrow Passcode#1와 블록 633의 크리덴셜 Escrow Passcode#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 634에서 Escrow Passcode#1와 Escrow Passcode#2는 동일하다. 따라서, 블록 634에서, DO-PD(120)는, P를 사용하여, Escrow Passcode #1를 Escrow Passcode #2와 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 634의 결과는 "Y"이며, Escrow Passcode #1가 Escrow Passcode #2와 같지 않다면, 블록 634의 결과는 "N"이다
블록 634의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 635에서 중지된다.
블록 634의 결과가 "Y"인 경우, 모든 인증이 통과되고 잠금 해제는 블록 636으로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제4 실시예
제4 실시예의 배타적 셀프 에스크로 방법이 도 7에 흐름도 701 및 흐름도 702로서 도시되어 있고, 여기서 흐름도 601은 블록 711-721에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 702는 블록 723-744에서 흐름도 701의 단계들에 따라 로크된 DO-PD를 잠금 해제하기 위한 단계들을 포함한다. 제4 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고, 일반적으로 이전의 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 701의 단계들에 따라 로크될 수 있다:
블록 711에서, TPP-'PD(110)는 TPP 개인 키 및 TPP 공개 키로 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키와 대칭 TPP 공개 키로서 대칭 TPP 키 쌍을 생성하고, TPP 공개 키 및 대칭 TPP 공개 키를 DO-PD(120)에 제공한다
블록 712에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #1 및 대칭 PD 공개 키 #1로서 대칭 PD 도메인 키 쌍 #l을 생성하고, 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2로서 대칭 PD 도메인 키 쌍 #2를 생성하고, 대칭 PD 개인 키 #3 및 대칭 PD 공개 키 #3으로서 대칭 PD 키 쌍 #3을 생성한다.
블록 713에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #1 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 ESSK#1을 생성한다.
블록 714에서, DO-PD(120)는, P를 사용하여, ESSK#1을 해싱하여 Escrow Passcode#1을 형성한다.
블록 715에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2 및 TPP 공개키를 이용하여 제1 공유 비밀키 SSK#1을 생성한다.
블록 716에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #3 및 TPP 공개 키를 이용하여 제2 공유 비밀키 SSK#2를 생성한다.
블록 717에서, DO-PD(120)는, P를 사용하여, SSK#1을 해싱하여 HSSK#1을 형성하고, SSK#2를 해싱하여 HSSK#2를 형성한다.
블록 718에서, DO-PD(120)는, P를 사용하여, SSK#1을 이용하여 Escrow Passcode#1를 암호화하여 message#1을 형성한다.
블록 719에서, DO-PD(120)는, TPP 공개 키를 사용하여 대칭 PD 공개 키#l, 대칭 PD 공개 키#2, 대칭 PD 공개 키#3 및 HSSK#1을 암호화하여 message#2를 형성한다.
블록 720에서, DO-PD(120)는, P를 사용하여, DO-PD(120)의 메모리(233)에 message#1, message#2 및 HSSK#2를 저장한다.
블록 721에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1, 대칭 PD 개인 키#l, 대칭 PD 개인 키#2, 대칭PD 개인 키#3, 대칭 PD 공개 키#l, 대칭 PD 공개 키#2, 대칭 PD 공개 키#3, SSK#1, SSK#2 및 HSSK#1을 삭제한다.
블록 721의 실행 후, DO-PD(120)는 제4 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 701의 단계들에 따라 로크된 DO-PD(120)는, 블록 125, 126, 127, 128에 따라 다음과 같이 흐름도 702의 단계들에 따라 잠금 해제될 수 있다:
블록 723에서, TPP-'PD(110)는 블록(113)에 따른, 유효한 잠금 해제 요청을 수신한다.
블록 724에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라, DO-PD(120)를 에스크로 모드로 위치시킨다.
블록 725에서, DO-PD(120)는, P를 사용하여, PD 개인 키 및 PD 공개 키로서 PD 키 쌍을 생성한다.
블록 726에서, DO-PD(120)는, P를 사용하여 상기 DO-PD의 식별 번호를 저장하고, TPP 공개 키를 이용하여 ID#1 및 PD 공개 키를 암호화하여 message#3을 형성하고, TPP 공개 키 및 message#3을 TPP-PD(112)에 방출한다.
블록 727에서, TPP-PD(112)는, P를 사용하여, ID#2로서 개명되는 ID#1을 나타내는 TPP 개인 키 및 PD 공개 키를 이용하여 message#3을 복호화한다.
블록 728에서, TPP-PD(112)는, P를 사용하여, PD 공개 키를 이용하여 ID#2를 암호화하여 message#4를 형성하고, message#4를 DO-PD(120)에 방출한다.
블록 729에서, DO-PD(120)는, PD 개인 키를 사용하여 message#4를 복호화하여 ID #2를 공개한다.
다음, 블록 730에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 726의 상주 크리덴셜 ID#1과 블록 729의 챌린지 크리덴셜 ID#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 730에서 ID#1과 ID#2는 동일하다. 따라서, 블록 730에서, DO-PD(120)는, P를 사용하여, ID#1과 ID#2를 비교한다. ID#1이 ID#2과 같으면, TPP-'PD(110)이 DO-PD(120)에 대해 인증되고 블록 730의 결과는 "Y"이며, ID#1이 ID#2와 같지 않으면 블록 730의 결과는 "N"이다
블록 730의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 731에서 중지된다.
블록 730의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 블록 733으로 진행되며, 여기서 TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 이용하여 message#2를 복호화하여 대칭 PD 공개 키 #l, 대칭 PD 공개 키 #2, 대칭 PD 공개 키 #3 및 HSSK#1을 나타낸다.
블록 734에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키 및 대칭 PD 공개 키 #2를 이용하여 SSK#3를 생성한다.
블록 735에서, TPP-'PD(110)는, P를 사용하여, SSK#3를 해싱하여 HSSK#3를 형성한다.
블록 736은 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 733의 상주 크리덴셜 HSSK#1과 블록 735의 챌린지 크리덴셜 HSSK#3을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 736에서 HSSK#1과 HSSK#3은 동일하다. 따라서, 블록 736에서, TPP-'PD(110)는, P를 사용하여, HSSK#1을 HSSK#3과 비교한다. 만약 HSSK#1이 HSSK#3과 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 736의 결과는 "Y"이며, HSSK#1이 HSSK#3와 같지 않으면, 블록 736의 인증에 실패하고, N36의 결과는 "N"이다
블록 736의 결과가 "N"일 경우, 인증은 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 737에서 중지된다.
블록 736의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록 738로 진행되며, 여기서 TPP-PD(112)는 대칭 PD 공개 키 #l 및 대칭 TPP 개인 키를 사용하여 공유 비밀 키 ESSK#2를 계산한다.
블록 739에서, TPP-PD(112)는, P를 사용하여, ESSK#2를 해싱하여 Escrow Passcode #2를 형성한다.
블록 740에서, TPP-PD(112)는 SSK#3 및 Escrow Passcode #2를 DO-PD(120)로 방출한다.
블록 741에서, DO-PD(120)는, P를 사용하여, SSK#3을 이용하여 message#1을복호화하여 Escrow Passcode #1을 공개한다.
다음, 블록 742는 DO-PD(120)가 TPP-'PD(110)를 인증하는 두 번째 테스트를 수행한다. TPP의 2차 인증은 추가적인 제3자 인증에 필요한 추가 시간과 활동을 고려하여 수행된다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 741로부터의 상주 크리덴셜 Escrow Passcode#1과 블록 740으로부터의 크리덴셜 Escrow Passcode#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 742에서 Escrow Passcode#1과 Escrow Passcode#2는 동일하다. 따라서, 블록 742에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1을 Escrow Passcode#2와 비교한다. Escrow Passcode #1이 Escrow Passcode #2와 같을 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 742의 결과는 "Y"이며, Escrow Passcode #1가 Escrow Passcode #2와 같지 않다면, 블록 742의 결과는 "N"이다
블록 742의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 743에서 중지된다.
블록 742의 결과가 "Y"인 경우, 인증 단계는 모두 성공적이고, 잠금 해제는 블록 744로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서, GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제5 실시예
제5 실시예의 배타적 셀프 에스크로 방법이 도 8에 흐름도(801) 및 흐름도(802)로서 도시되며, 여기서 흐름도(801)는 블록 811-826에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도(802)는 블록 828-852에서 흐름도(801)의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제5 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 801의 단계들에 따라 로크될 수 있다:
블록 811 TPP-'PD(110)에서, TPP 키 쌍을 TPP 개인 키 및 TPP 공개 키로서 생성하고, 대칭 TPP 키 쌍을 대칭 TPP 개인 키 및 대칭 TPP 공개 키로서 생성하고, TPP 공개 키 및 대칭 TPP 공개 키를 DO-PD(120)에 제공한다.
블록 812에서, DO(20)가 DO-PD(120)와 결합한 후, P를 사용하여, 대칭 키 쌍 #1을 대칭 PD 개인 키 #l 및 대칭 PD 공개 키 #l로서 생성하고, 대칭 키 쌍 #2를 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2로서 생성하고, 대칭 키 쌍 #3을 대칭 PD 개인 키 #3 및 대칭 PD 공개 키 #3으로서 생성하고, 대칭 키 쌍 #4를 대칭 PD 개인 키 #4 및 대칭 PD 공개 키 #4로서 생성한다.
블록 813에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 TPP 공개 키로부터 에스크로 공유 비밀키인 ESSK#1을 생성한다.
블록 814에서, DO-PD(120)는, P를 사용하여, ESSK#1을 해싱하여 Escrow Passcode를 형성한다.
블록 815에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 Escrow Passcode#1 copy#1으로 복사한다.
블록 816에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #3 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#3을 생성한다.
블록 817에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #4 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#4를 생성한다.
블록 818에서, DO-PD(120)는, P를 사용하여, SSK#3을 해싱하여 HSSK#1을 형성하고, SSK#4를 해싱하여 HSSK#2를 형성한다.
블록 819에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2를 대칭 PD 개인 키 #2copy#l로 복사한다.
블록 820에서, DO-PD(120)는, P를 사용하여, ESSK#1을 이용하여 대칭 PD 개인 키#2copy#1을 암호화하여 message#2를 형성한다.
블록 821에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2를 이용하여 공유 비밀키 SSK#2를 생성한다.
블록 822에서, DO-PD(120)는, P를 사용하여, 대칭 PD 공개 키 #2, 대칭 PD 공개 키 #3, 대칭 PD 공개 키 #4, HSSK#1을 TPP 공개 기를 이용하여 암호화하여 message#4를 형성한다.
블록 823에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l을 TPP 공개 키를 이용하여 암호화하여 message#5를 형성한다.
블록 824에서, DO-PO(120)는, P를 사용하여, SSK#2를 이용하여 Escrow Passcode#1 copy#1을 암호화하여 message#1을 형성한다
블록 825에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l, 대칭 PD 개인 키 #2, 대칭 PD 개인 키 #3, 대칭 PD 개인 키 #4, 대칭 PD 공개 키 #2, 대칭 PD 공개 키 #3, 대칭 PD 공개 키 #4, 대칭 PD 공개 키 #1, SSK#2 및 패스코드를 삭제한다.
블록 826에서, DO-PO(120)는, P를 사용하여, message#1, message#2, message#4, message#5 및 HSSK#2를 DO-PD(120)에 저장한다.
블록 826의 실행 후, DO-PD(120)는 제5 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 801의 단계들에 따라 로크된 DO-PD(120)는 다음과 같이, 블록 125, 126, 127 및 128에 따른, 흐름도 802의 단계들에 따라 잠금 해제될 수 있다.
블록 828에서, TPP-'PD(110)는 블록 113에 따른 유효한 잠금 해제 요청을 수신한다.
블록 829에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라, DO-PD(120)를 에스크로 모드로 위치시킨다.
블록 830에서, DO-PD(120)는, P를 사용하여, PD 키 쌍을 PD 개인 키 및 PD 공개 키로서 생성한다.
블록 831에서, DO-PD(120)는, P를 사용하여, 난수 RND#1을 생성하고, RND#1 및 PD 공개 키를 TPP 공개 키를 사용하여 암호화하여 message#6을 형성하고, TPP 공개 키 및 message#6을 TPP-'PD(110)로 방출한다.
블록 832에서, TPP-'PD(110)는, P를 사용하여, RND#2로서 저장된 RND#1를 공개하기 위한 TPP 개인 키, 및 PD 공개 키를 사용하여 message#6을 복호화한다.
블록 833에서, TPP-'PD(110)는, P를 사용하여, PD 공개 키를 이용하여 RND#2를 암호화하여 message#7을 형성하고, message#7을 DO-PD(120)에 방출한다.
블록 834에서, DO-PD(120)는, PD 개인 키를 이용하여 message#7을 복호화하여 RND#2를 공개한다.
다음, 블록 835에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 831의 상주 크리덴셜 RND#1과 블록 834의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 835에서 RND#1과 RND#2는 동일하다. 따라서, 블록 835에서, P를 사용하는 DO-PD(120)는 RND#1과 RND#2를 비교한다. 만약 RND#1이 RND#2과 같으면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 블록 835의 결과는 "Y"이며, RND#1이 RND#2와 같지 않다면, 블록 835의 결과는 "N"이다
블록 836의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 836에서 중지된다.
블록 836의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 837번 블록으로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, message#4 및 message#5를 TPP-'PD(110)로 방출한다.
블록 838에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 이용하여 message#4를 복호화하여 대칭 PD 공개 키 #2, 대칭 PD 공개 키 #3, 대칭 PD 공개 키 #4 및 HSSK#1을 공개하고, 또한 대칭 TPP 개인 키 및 대칭 PD 공개 키 #3을 이용하여 공유 비밀키 SSK#5를 생성한다.
블록 839에서, TPP-'PD(110)는, P를 사용하여, SSK#5를 해싱하여 HSSK#3를 형성한다.
다음, 블록 840에서 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 838의 상주 크리덴셜 HSSK#1과 블록 839의 챌린지 크리덴셜 HSSK#3을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 840에서 HSSK#1과 HSSK#3은 동일하다. 따라서, 블록 840에서, TPP-'PD(110)는, P를 사용하여, HSSK#1을 HSSK#3과 비교한다. 만약 HSSK#1이 HSSK#3과 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 840의 결과는 "Y"이며, HSSK#1이 HSSK#2와 같지 않으면, 블록 840의 인증에 실패하고, N40의 결과는 "N"이다
블록 840의 결과가 "N"이면, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 841에서 중지된다.
블록 840의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 잠금 해제는 블록 842로 진행되며, 여기서 TPP-PD(112)는 TPP 개인 키를 사용하여 message#5를 복호화하여 대칭 PD 개인 키 #l을 공개한다.
블록 843에서, TPP-PD(112)는, P를 사용하여, TPP 개인 키 및 대칭 PD 공개 키 #4를 이용하여 공유 비밀키 SSK#6을 생성한다.
블록 844에서, TPP-PD(112)는, P를 사용하여, TPP 개인 키 및 대칭 PD 공개 키 #l을 이용하여 공유 비밀키 ESSK#3를 생성한다.
블록 845에서, TPP-PD(112)는, P를 사용하여, SSK#6을 이용하여 대칭 PD 개인 키#l 및 ESSK#3을 암호화하여 message#3을 형성하고, 상기 SSK#6 및 message#3을 DO-PD(120)로 방출한다.
블록 846에서, DO-PD(120)는, P를 사용하여, SSK#6을 이용하여 message#3을 복호화하여 대칭 PD 개인 키 #l 및 ESSK#3을 공개한다.
블록 847에서, DO-PD(120)는 ESSK#3를 해싱하여 Escrow Passcode#2를 형성한다.
블록 848에서, DO-PD(120)는, P를 사용하여, ESSK#3을 이용하여 message#2를 복호화하여 대칭 PD 개인 키 #2copy#l을 공개한다.
블록 849에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2copy#l 및 대칭 PD 공개 키 #2로부터 공유 비밀키 SSK#2를 생성한다.
블록 850에서, DO-PD(120)는, P를 사용하여, SSK#2를 이용하여 message#1을 복호화하여 Escrow Passcode #1 copy#1을 공개하고, 이는 Escrow Passcode #1로서 저장된다.
다음, 블록 851에서, 추가적인 제3자 인증의 추가적인 시간과 활동을 설명하기 위해 DO-PD(120)가 TPP-'PD(110)를 인증하는 두 번째 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 850의 상주 크리덴셜 Escrow Passcode #1와 블록 847의 크리덴셜 Escrow Passcode #2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 851에서 Escrow Passcode#1와 Escrow Passcode#2는 동일하다. 따라서, 블록 851에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1와 Escrow Passcode#2를 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 851의 결과는 "Y"이며, Escrow Passcode #1가 Escrow Passcode #2와 같지 않다면, 블록 851의 결과는 "N"이다.
블록 851의 결과가 "N"인 경우, 인증 단계가 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 853에서 중지된다.
블록 851의 결과가 "Y"이면 모든 인증이 통과되고, 잠금 해제는 블록 852로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제6 실시예
제6 실시예의 배타적 셀프 에스크로 방법이 도 9에 흐름도 901 및 흐름도 902로서 도시되어 있고, 여기서 흐름도 901은 블록 911-918에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 902는 블록 920-940에서 흐름도 901의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계를 포함한다. 제6 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 901의 단계들에 따라 로크될 수 있다:
블록 911에서, TPP-'PD(110)는 TPP 개인 키와 TPP 공개키로서 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키 및 대칭 TPP 공개키로서 대칭 TPP 키 쌍을 생성하며, DO-PD(120)에 TPP 공개키 및 대칭 TPP 공개키를 제공한다.
블록 912에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 PD 공개 키 #l로서 대칭 PD 키 쌍 #l을 생성하고, 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2로서 대칭 PD 키 쌍 #2를 생성한다.
블록 913에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#1을 생성한다.
블록 914에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2 및 대칭 TPP 공개 키를 이용하여 공유 비밀키 SSK#2를 생성한다.
블록 915에서, DO-PD(120)는, P를 사용하여, SSK#1을 해싱하여 HSSK#1을 형성하고, SSK#2를 해싱하여 HSSK#2를 형성한다.
블록 916에서, DO-PD(120)는, P를 사용하여, 대칭 PD 공개 키#l, 대칭 PD 공개 키#2 및 HSSK#1을 TPP 공개 키를 사용하여 message#1로 암호화한다.
블록 917에서, DO-PD(120)는, P를 사용하여, message#1 및 HSSK#2를 저장한다.
블록 918에서 DO-PD(120)는, P를 사용하여, 대칭 PD 키 쌍 #l, 대칭 PD 키 쌍 #2, SSK#1, SSK#2, HSSK#1을 삭제한다.
블록 918의 실행 후, 제6 실시예의 배타적 셀프 에스크로 방법에 따라 DO-PD(120)이 로크된다.
흐름도 901의 단계들에 따라 로크된 DO-PD(120)는 다음과 같이 흐름도 902의 단계들에 따라 블록 125, 126, 127 및 128에 따라 잠금 해제될 수 있다:
블록 920에서, TPP-'PD(110)는 블록(113)에 따른 유효한 잠금 해제 요청을 수신한다.
블록 921에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라, DO-PD(120)를 에스크로 모드로 위치시킨다.
블록 922에서, DO-PD(120)는 대칭 PD 개인 키 #3 및 대칭 PD 공개 키 #3으로 서 대칭 PD 키 쌍 #3을 생성하고, PD 개인 키 및 PD 공개 키로서 PD 키 쌍을 생성한다.
블록 923에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #3 및 대칭 TPP 공개 키를 사용하여 공유 비밀 키 SSK#5를 생성한다.
블록 924에서, DO-PD(120)는, P를 사용하여, 대칭 TPP 공개 키, PD 공개 키 및 대칭 PD 공개 키 #3을 TPP-'PD(110)로 방출한다.
블록 925에서, TPP-'PD(110)는, P를 사용하여, 대칭 PD 공개 키 #3 및 대칭 TPP 개인 키를 이용하여 공유 비밀키 SSK#6을 생성한다.
블록 926에서, TPP-'PD(110)는, P를 사용하여, PD 공개 키를 이용하여 SSK#6을 암호화하여 message#2를 형성하고, message#2를 DO-PD(120)로 방출한다.
블록 927에서, DO-PD(120)는, PD 개인 키를 이용하여 message#를 복호화하여 SSK#6을 공개한다.
다음, 블록 928에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 923의 상주 크리덴셜 SSK#5와 블록 927의 챌린지 크리덴셜 SSK#6을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 928에서 SSK#5 및 SSK#6은 동일하다. 따라서, 블록 928에서, P를 사용하는 DO-PD(120)는 SSK#5를 SSK#6과 비교한다. SSK#5가 SSK#6과 같으면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 928의 결과는 "Y"이며, 에스크로패스코드 #1가 동일하지 않으면 블록 928의 결과는 "N"이다
블록 928의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 931에서 중지된다.
블록 928의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 929번 블록으로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, TPP-'PD(110)로 message#1을 전송한다.
블록 930에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 이용하여 message#1을 복호화하여 대칭 PD 공개 키 #l, 대칭 PD 공개 키 #2 및 HSSK#1을 공개한다.
블록 932에서, TPP-'PD(110)는, P를 사용하여, 대칭 TPP 개인 키 및 대칭 PD 공개 키 #l을 이용하여 공유 비밀키 SSK#3를 생성한다.
블록 933에서, TPP-'PD(110)는, P를 사용하여 SSK#3를 해싱하여 HSSK#3를 형성한다.
다음, 블록 934에서 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 930의 상주 크리덴셜 HSSK#1과 블록 933의 챌린지 크리덴셜 HSSK#3을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 934에서 HSSK#1과 HSSK#3은 동일하다. 따라서, 블록 934에서, TPP-'PD(110)는, P를 사용하여, HSSK#1을 HSSK#3과 비교한다. 만약 HSSK#1이 HSSK#3과 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 934의 결과는 "Y"이며, HSSK#1이 HSSK#3와 같지 않으면, 인증이 실패하고, 블록 934의 의 결과는 "N"이다
블록 934의 결과가 "N"인 경우, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 935에서 중지된다.
블록 934의 결과가 "Y"이면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 잠금 해제는 블록 936으로 진행되며, 여기서 TPP-PD(112)는 TPP 개인 키를 사용하여 message#5를 복호화하여 대칭 PD 개인 키 #l을 공개한다.
블록 937에서, DO-PD(120)는, P를 사용하여, SSK#4를 해싱하여 SSK#4를 형성한다.
다음, 블록 938에서 DO-PD(120)가 TPP-'PD(110)를 인증하는 두 번째 테스트를 수행한다. TPP의 2차 인증은 추가 제3자 인증에 필요한 추가 시간과 활동을 고려하여 수행된다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 917의 상주 크리덴셜 HSSK#2와 블록 937의 챌린지 크리덴셜 HSSK#4를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 938에서 HSSK#2와 HSSK#4는 동일하다. 따라서, 블록 938에서, DO-PD(120)는, P를 사용하여, HSSK#2를 HSSK#4와 비교한다. 만약 HSSK#2가 HSSK#4와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 938의 결과는 "Y"이며, HSSK#2가 HSSK#4와 같지 않다면, 블록 938의 결과는 "N"이다
블록 938의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 939에서 중지된다.
블록 938의 결과가 "Y"이면 모든 인증이 통과되고, 잠금 해제는 블록 940으로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120) 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제7 실시예
제7 실시예의 배타적 셀프 에스크로 방법이 도 10에 흐름도 1001 및 흐름도 1002로서 도시되어 있고, 여기서 흐름도 1001은 블록 1101-1018에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1002는 블록 1020-1039에서 흐름도 1001의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제7 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고, 일반적으로 이전의 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 블록 122, 123, 124에 따라 흐름도 1001의 단계들에 따라 다음과 같이 로크될 수 있다:
블록 1011에서, TPP-'PD(110)는 TPP 개인 키 및 TPP 공개 키로 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키 및 대칭 TPP 공개 키로서 대칭 TPP 키 쌍을 생성하고, TPP 공개 키 및 대칭 TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1012에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 및 대칭 PD 공개 키로서 대칭 PD 키 쌍을 생성한다.
블록 1013에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 및 대칭 TPP 공개 키를 이용하여 SSK#1을 생성한다.
블록 1014에서, DO-PD(120)는, P를 사용하여 난수 RND#1을 생성한다.
블록 1015에서, DO-PD(120)는, P를 사용하여, SSK#1을 HSSK#1로 해싱하고, RND#1을 HRND#2로 해싱한다.
블록 1016에서, DO-PD(120)는, P를 사용하여, TPP 공개 키를 이용하여 HSSK#1, RND#1 및 대칭 PD 공개 키를 message#1로 암호화한다.
블록 1017에서, DO-PD(120)는, P를 사용하여, message#1 및 HRND #2를 DO-PD(120)에 저장한다.
블록 1018에서, DO-PD(120)는, P를 사용하여, 대칭 PD 키 쌍, SSK#1, HSSK#1및 RND#1을 파괴한다.
블록 1018의 실행 후, DO-PD(120)는 제7 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1001의 단계들에 따라 로크된 DO-PD(120)는 다음과 같이 흐름도 1002의 단계들에 따라 블록 125, 126, 127, 128에 따라 잠금 해제될 수 있다:
블록 1020에서, TPP-'PD(110)는, 블록 113에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 1021에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라, PD를 에스크로 모드로 위치시킨다.
블록 1022에서, DO-PD(120)는, P를 사용하여, PD 키 쌍을 PD 개인 키 및 PD 공개 키로서 생성하고, PD 개인 키를 PD 개인 키 Hash#l로 해시 처리한다.
블록 1023에서, DO-PD(120)는, P를 사용하여, PD 공개 키 및 PD 개인 키 Hash#l을 TPP 공개 키를 이용하여 message#2로 암호화하고, TPP 공개 키 및 message#2를 TPP-PD(110)로 방출한다.
블록 1024에서, TPP-'PD(110)는, P를 사용하여, PD 공개 키 및 PD 개인 키 Hash#2로서 이름이 변경되는 PD 개인 키 Hash#l을 공개하기 위해 TPP 개인 키를 이용하여 message#2를 복호화한다.
블록 1025에서, TPP-'PD(110)는, P를 사용하여, PD 개인 키 Hash#2를 PD 공개키를 이용하여 message#3으로 암호화하고, message#3을 DO-PD(120)로 방출한다.
블록 1026에서, DO-PD(120)은, PD 개인 키 Hash#2를 공개시키는 PD 개인 키를 이용하여 message#3을 복호화한다.
다음, 블록 1027에서 DO-PD(120)가 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1022의 상주 크리덴셜 PD 개인 키 Hash#l과 블록 1026의 인증 PD 개인 키 Hash#2를 비교한다. 크리덴셜를 확인하는 데 올바른 키가 사용된 경우, 블록 1027에서 PD 개인 키 Hash#l과 PD 개인 키 Hash#2는 동일하다. 따라서, 블록 1027에서, DO-PD(120)는, P를 사용하여, PD 개인 키 Hash#l과 PD 개인 키 Hash#2를 비교한다. PD 개인 키 Hash#l이 PD 개인 키 Hash#2와 같으면, TPP-'PD(110)가 DO-PD(120)에 대해 인증되고, 블록 1027의 결과는 "Y"이며, PD 개인 키 Hash#l이 PD 개인 키 Hash#2와 동일하지 않으면, 블록 1027의 결과는 "N"이다
블록 1027의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1028에서 중지된다.
블록 1027의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 블록 1029로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, TPP-'PD(110)에 message#1를 방출한다.
블록 1030에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 이용하여 message#1를 복호화하여, HSSK#1, RND#1, 대칭 PD 공개 키를 공개하도록 한다.
블록 1031에서, TPPPD는, P를 사용하여, 대칭 TPP 개인 키 및 대칭 PD 공개 키를 사용하여 SSK#2를 생성한다.
블록 1032에서, TPP-PD는, P를 사용하여, SSK#2를 HSSK#2로 해싱한다.
블록 1033에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1030의 상주 크리덴셜 HSSK#1과 블록 1032의 챌린지 크리덴셜 HSSK#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1033에서 HSSK#1과 HSSK#2는 동일하다. 따라서, 블록 1033에서, TPP-'PD(110)는, P를 사용하여, HSSK#1과 HSSK#2를 비교한다. HSSK#1이 HSSK#2와 같을 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 1033의 결과는 "Y"이며, HSSK#1이 HSSK#2와 동일하지 않으면, 인증이 실패하고 블록 1033의 결과는 "N"이다
블록 1033의 결과가 "N"인 경우, 인증이 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 1034에서 중지된다.
블록 1033의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록 1035로 진행되며, 여기서 TPP-'PD(110)는, P를 사용하여, PD에 RND#1을 방출한다.
블록 1036에서, DO-PD(120)는, P를 사용하여, RND#1을 HRND#1로 해싱한다.
다음, 블록 1037에서 DO-PD(120)는 TPP-'PD(110)를 인증하는 두 번째 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1036의 상주 크리덴셜 HRND#1과 블록 1015의 챌린지 크리덴셜 HRND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1037에서 HRND#1과 HRND#2는 동일하다. 따라서, 블록 1037에서, P를 사용하는 DO-PD(120)는 HRND#1과 HRND#2를 비교한다. HRND #1이 HRND #2와 같을 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1037의 결과는 "Y"이며, HRND #1이 HRND #2와 같지 않다면, 블록 1037의 결과는 "N"이다.
블록 1037의 결과가 "N"인 경우, 인증 단계가 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 1038에서 중지된다.
블록 1037의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 블록 1039로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제8 실시예
제8 실시예의 배타적 셀프 에스크로 방법이 도 11에 흐름도 1101 및 흐름도 1102로서 도시되어 있고, 여기서 흐름도 1101은 블록 1111-1119에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1102는 블록 1121-1138에서 흐름도 1101의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계를 포함한다. 제8 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 1101의 단계들에 따라 로크될 수 있다:
블록 1111에서, TPP-PD(110)은, P를 사용하여, TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, 대칭 TPP 개인 키 및 대칭 TPP 공개 키로서 대칭 TPP 키 쌍을 생성하고, 대칭 TPP 공개 키 및 대칭 TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1112에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 PD 공개 키 #l로서 대칭 PD 키 쌍 #1을 생성하고, 대칭 PD 개인 키 #2 및 대칭 PD 공개 키 #2로서 대칭 PD 키 쌍 #2를 생성하고, PD 개인 키 및 PD 공개 키로서 PD 키 쌍을 생성한다.
블록 1113에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #l 및 대칭 TPP 공개 키를 이용하여 SSK#1을 생성한다.
블록 1114에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키 #2 및 대칭 TPP 공개 키를 이용하여 SSK#2를 생성한다.
블록 1115에서, DO-PD(120)는, P를 사용하여 SSK#1을 HSSK#1로 해싱하고, SSK#2를 HSSK#2로 해싱한다.
블록 1116에서, DO-PD(120)는, P를 사용하여, 대칭 PD 공개 키#l 및 대칭 PD 공개 키#2를 TPP 공개 키를 이용하여 message#1로 암호화한다.
블록 1117에서, DO-PD(120)는, P를 사용하여, 패스코드 생성 시간을 TIME#1에 저장한다.
블록 1118에서, DO-PD(120)는, P를 사용하여 TIME#1, PD 개인 키 및 PD 공개 키를 TPP 공개 키를 이용하여 message#2로 암호화한다.
블록 1119에서, DO-PD(120)는, P를 사용하여, HSSK#1, HSSK#2, message#1, message#2, TIME#1을 DO-PD(120)에 저장한다.
블록 1120에서, DO-PD(120)는, P를 사용하여, 대칭 PD 키 쌍 #l, 대칭 PD 키 쌍 #2, SSK#1, SSK#2 및 PD 개인 키를 파괴한다.
블록 1120의 실행 후, DO-PD(120)는 제8 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1101의 단계들에 따라 로크된 DO-PD(120)는 블록 125, 126, 127, 128에 따라 다음과 같이 흐름도 1102의 단계들에 따라 잠금 해제될 수 있다:
블록 1122에서, TPP-'PD(110)는 블록(113)에 따른 유효한 잠금 해제 요청을 수신한다.
블록 1123에서, TPP-'PD(110)는, P를 사용하여, 블록 125에 따라 PD를 에스크로 모드로 위치시키고, message#2를 DO-PD(120)로 방출한다.
블록 1124에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키를 사용하여 message#2를 복호화하여 TIME#2로 이름이 변경되는 TIME#1, PD 개인 키 및 PD 공개 키를 공개한다.
블록 1125에서 TPP-'PD(110)는, P를 사용하여, TIME#2를 PD 공개 키를 사용하여 message#3으로 암호화하고 message#3 및 PD 개인 키를 DO-PD(120)로 방출한다.
블록 1126에서, DO-PD(120)는, P를 사용하여, message#3를 PD 개인 키를 사용하여 복호화하여 TIME#2를 공개한다.
다음, 블록 1127에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1117로부터의 상주 크리덴셜 TIME#1과 블록 1126으로부터의 챌린지 크리덴셜 TIME#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1127에서 TIME#1과 TIME#2는 동일하다. 따라서, 블록 1127에서, DO-PD(120)는, P를 사용하여, TIME#1과 TIME#2를 비교한다. TIME#1이 TIME#2와 같으면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 블록 1127의 결과는 "Y"이며, TIME#1이 TIME#2와 같지 않으면, 블록 1127의 결과는 "N"이다
블록 1127의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1128에서 중지된다.
블록 1127의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 잠금 해제는 블록(1129)으로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, TPP-PD(112)에 message#1를 방출한다.
블록 1130에서, TPP-PD는, P를 사용하여, TPP 개인 키를 사용하여 message#1를 복호화하여 대칭 PD 공개 키 #l 및 대칭 PD 공개 키 #2를 공개한다.
블록 1131에서, TPP-'PD(110)는, P를 사용하여, 대칭 TPP 개인 키 및 대칭 PD 공개 키 #l을 이용하여 SSK#3을 생성한다.
블록 1132에서, TPP-'PD(110)는, P를 사용하여, SSK#3을 HSSK#3으로 해싱한다.
블록 1133은 TPP-'PD(110)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1119으로부터의 상주 크리덴셜 HSSK#1과 블록 1132로부터의 챌린지 크리덴셜 HSSK#3을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1133에서 HSSK#1과 HSSK#3은 동일하다. 따라서, 블록 1133에서, TPP-'PD(110)는, P를 사용하여, HSSK#1을 HSSK#3과 비교한다. 만약 HSSK#1이 HSSK#3과 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록(113)3의 결과는 "Y"이고, HSSK#1이 HSSK#3와 같지 않으면, 인증이 실패하고, 블록 1133의 결과는 "N"이다
블록 1133의 결과가 "N"인 경우, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1134에서 중지된다.
블록 1133의 결과가 "Y"이면, DO-PD(120)는 TPP-PD(11)에 대해 인증되고, 잠금 해제는 블록 1135로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, 대칭 TPP 개인 키 및 대칭 PD 공개 키 #2를 이용하여 SSK#4를 생성하고, SSK#4를 DO-PD(120)로 방출한다.
블록 1136에서, DO-PD(120)는, P를 사용하여, SSK#4를 HSSK#4로 해싱한다.
다음, 블록 1137은 DO-PD(120)가 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1119으로부터의 상주 크리덴셜 HSSK#2와 블록 1136으로부터의 챌린지 크리덴셜 HSSK#4를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1137에서 HSSK#2와 HSSK#4는 동일하다. 따라서, 블록 1137에서, DO-PD(120)는, P를 사용하여, HSSK#2와 HSSK#4를 비교한다. HSSK#2가 HSSK#4와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1137의 결과는 "Y"이며, HSSK#2가 HSSK#4와 같지 않다면 블록 1137의 결과는 "N"이다.
블록 1137의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1139에서 중지된다.
블록 1137의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD에 대해 인증되고, 잠금 해제는 블록 1138로 진행되며, 여기서 DO-PD(120)는, P를 사용하여, DO-PD를 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제9 실시예
제9 실시예의 배타적 셀프 에스크로 방법이 도 12에 흐름도 1201 및 흐름도 1202로서 도시되어 있고, 여기서 흐름도 1201은 블록 1211-1221에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1202는 블록(1222-1236)에서 흐름도(1201)의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제9 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123 및 124에 따라 흐름도 1201의 단계들에 따라 로크될 수 있다:
블록 1211에서, TPP-PD는, P를 사용하여, 대칭 TPP 공개 키와 대칭 TPP 개인 키로서 대칭 TPP 공개 키 쌍을 생성하고, 대칭 TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1212에서, DO-PD(120)는, DO-PD(120)가 DO-PD(120)와 결합된 후, P를 사용하여, 대칭 PD 개인 키 및 대칭 PD 공개 키로서 대칭 PD 키 쌍을 생성한다.
블록 1213에서, DO-PD(120)는, P를 사용하여, 대칭 TPP 공개 키 및 대칭 PD 비공개 키를 이용하여 SSK#1을 계산한다.
블록 1214에서, DO-PD(120)는, P를 사용하여 난수 RND#1을 생성한다.
블록 1215에서, DO-PD(120)는, P를 사용하여, RND#1을 SSK#1을 이용하여 message#1로 암호화한다.
블록 1216에서, DO-PD(120)는, P를 사용하여 난수를 생성하고, 난수를 Escrow Passcode로서 저장한다.
블록 1217에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 SSK#1을 이용하여 message#로 암호화한다.
블록 1218에서, DO-PD(120)는, P를 사용하여, message#2를 message#2 copy로 복사한다.
블록 1219에서, DO-PD(120)는, P를 사용하여, RND#1 및 message#2 copy를 SSK#1을 사용하여 message#3으로 암호화한다.
블록 1220에서, DO-PD(120)는, P를 사용하여, 대칭 PD 개인 키, SSK, RND#1 및 Escrow Passcode를 삭제한다.
블록 1221에서, DO-PD(120)는, P를 사용하여, message#1 및 message#2를 DO-PD(120)에 저장한다.
블록(1221)의 실행 후, 제9 실시예의 배타적 셀프 에스크로 방법에 따라 DO-PD(120)가 로크된다.
흐름도 1201의 단계들에 따라 로크된 DO-PD(120)는 다음과 같이 흐름도 1202의 단계들에 따라 잠금 해제될 수 있는 블록 125, 126, 127 및 128에 따라 잠금 해제될 수 있다:
블록 1222에서, TPP-'PD(110)는 블록(113)에 따른 유효한 잠금 해제 요청을 수신한다.
블록 1223에서, TPP-PD(110)는, P를 사용하여, 특수 난수 SPLRND#를 생성하고, 이를 DO-PD(120)로 방출한다.
블록 1224에서, DO-PD(120)는, P를 사용하여, SPLRND#가 소정의 포맷으로 포맷되어 있는지를 검증하고, 블록 125에 따라, PO-PD(120)를 에스크로 모드로 설정한다.
블록 1225에서, DO-PD(120)는, P를 사용하여, 대칭 TPP 공개 키, 대칭 PD 공개 키 및 message#3을 TPP-PD(112)에 방출한다.
블록 1226에서, TPP-'PD(110)는, P를 사용하여, 대칭 PD 공개 키와 대칭 TPP 개인 키를 이용하여 공유 비밀키 SSK#2를 계산한다. 올바른 키를 사용한 경우 SSK#1과 SSK#2는 동일한 것에 주목한다.
블록 1227에서, TPP-'PD(110)는, P를 사용하여, SSK#2를 이용하여 message#3을 복호화하여 RND#1과 message#copy를 공개한다.
블록 1228에서, TPP-'PD(110)는, P를 사용하여, SSK#2를 DO-PD(120)로 전송한다.
블록 1229에서, DO-PD(120)는, P를 사용하여, SSK#2를 이용하여 message#1를 복호화하여 RND#2를 공개한다.
블록 1230에서, DO-PD(120)는, P를 사용하여, RND#2를 TPP-'PD(110)로 전송한다.
다음, 블록 1231에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1227의 상주 크리덴셜 RND#1과 블록 1230의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1231에서 RND#1과 RND#2는 동일하다. 따라서, 블록 1231에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#2를 비교한다. 만약 RND#1이 RND#2와 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되며, 블록 1231의 결과는 "Y"이고, RND#1이 RND#2와 동일하지 않으면 인증이 실패하고 블록 1231의 결과는 "N"이다
블록 1231의 결과가 "N"이면, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1232에서 중지된다.
블록(1231)의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록(1233)으로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, message# copy를 DO-PD(120)로 전송한다.
다음, 블록 1234는 DO-PD(120)가 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1217로부터의 상주 크리덴셜 message#2와 블록 1231로부터의 챌린지 크리덴셜 message#2 copy를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1137에서, message#2 및 message#2 copy는 동일하다. 따라서, 블록 1137에서, P를 사용하여, DO-PD(120)는 message#2를 message#2 copy와 비교한다. message#2가 message#2 copy와 같으면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1137의 결과는 "Y"이며, 만약 message#2가 message#2 copy와 같지 않다면, 블록 1137의 결과는 "N"이다
블록 1234의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1235에서 중지된다.
블록 1234의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1236에서 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제10 실시예
제10 실시예의 배타적 셀프 에스크로 방법이 도 13에 흐름도 1301 및 흐름도 1302로서 도시되어 있고, 여기서 흐름도 1301은 블록 1311-1319에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1302는 블록 1321-1333에서 흐름도 1301의 단계들에 따라 로크된 DO-PD(120)를 잠금 해제하는 단계들을 포함한다. 제10 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이 블록 122, 123, 124에 따라 흐름도 1301의 단계들에 따라 로크될 수 있다:
블록 1311에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키 및 TPP 공개키로서 TPP 키 쌍을 생성하고, TPP 공개키를 DO-PD(120)에 제공한다.
블록 1312에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, PD 개인 키 #l 및 PD 공개 키 #1로서 PD 키 쌍 #l을 생성하고, PD 개인 키 #2 및 PD 공개 키 #2로서 PD 키 쌍 #2를 생성한다.
블록 1313에서, DO-PD(120)는 난수 RND#1을 생성한다.
블록 1314에서, DO-PD(120)는, P를 사용하여, PD 공개 키 #l을 이용하여 RND#1을 message#1로 암호화한다.
블록 1315에서, DO-PD(120)는 난수를 생성하고, 난수를 Escrow Passcode#1로서 저장한다.
블록 1316에서, DO-PD(120)는, P를 사용하여, PD 공개 키 #2를 이용하여 Escrow Passcode #1를 message#2로 암호화한다.
블록 1317에서, DO-PD(120)는, P를 사용하여, RND#1, Escrow Passcode#1, message#2, PD 개인 키#l, PD 개인 키#2를 TPP 공개키를 이용하여 message#3으로 암호화한다.
블록 1318에서, DO-PD(120)는, P를 사용하여, PD 개인 키 #l, PD 개인 키 #2, RND #1 및 Escrow Passcode #1을 삭제한다.
블록 1319에서, DO-PD(120)는, P를 사용하여, message#1, message#2, 및 message#3을 DO-PD(120)에 저장한다.
블록 1319의 실행 후, DO-PD(120)는 제10 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1301의 단계들에 따라 로크된 DO-PD(120)는 블록 125, 126, 127, 128에 따라 다음과 같이 흐름도 1302의 단계들에 따라 잠금 해제될 수 있다:
블록 1321에서, TPP-'PD(110)는 블록 113에 따른 유효한 잠금 해제 요청을 수신한다.
블록 1322에서, TPP-'PD(110)는, P를 사용하여, 블록(125)에 따라 PD를 에스크로 모드로 설정하고, DO-PD(120)는 TPP-PD(112)로 message#3을 전송한다.
블록 1323에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키 #3을 복호화하여, RND#1, Escrow Passcode#1, message#2, PD 개인 키#l, PD 개인 키#2를 공개하도록 하고, 블록 1324에서, TPP-'PD(110)는, P를 사용하여, PD 개인 키 #l을 DO-PD(120)로 전송한다.
블록 1325에서, DO-PD(120)는, P를 사용하여, PD 개인 키 #l을 이용하여 message#1를 복호화하여 RND #1을 공개하고, 이는 RND #2로서 저장된다.
블록 1326에서, DO-PD(120)는, P를 사용하여, RND#2를 TPP-'PD(110)로 전송한다.
다음, 블록 1327에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1323으로부터 상주 크리덴셜 RND#1과 블록 1326으로부터의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1231에서 RND#1과 RND#2는 동일하다. 따라서, 블록 1327에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#2를 비교한다. 만약 RND#1이 RND#2와 같다면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 1327의 결과는 "Y"이며, RND#1이 RND#2와 같지 않다면, 인증이 실패하고 블록 1327의 결과는 "N"이다
블록 1327의 결과가 "N"인 경우, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1328에서 중지된다.
블록 1327의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록 1329로 진행되며, TPP-PD는, P를 사용하여, PD 개인 키#2 및 Escrow Passcode#1를 DO-PD(120)로 전송한다.
블록 1330에서, DO-PD(120)는, P를 사용하여, PD 개인 키 #2를 이용하여 message#2를 복호화하여, Escrow Passcode #2로서 이름이 변경되는 Escrow Passcode #1을 공개한다.
다음, 블록 1331에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1329으로부터의 상주 크리덴셜 Escrow Passcode#1와 블록 1330으로부터의 크리덴셜 Escrow Passcode#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1331에서, Escrow Passcode#1과 Escrow Passcode#2는 동일하다. 따라서, 블록 1331에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1을 Escrow Passcode#2와 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1331의 결과는 "Y"이며, Escrow Passcode#1이 Escrow Passcode #2와 같지 않다면, 블록 1331의 결과는 "N"이다
블록 1331의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1332에서 중지된다.
블록 1331의 결과가 "Y"이면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1333에서 잠금 해제한다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제11 실시예
제11 실시예의 배타적 셀프 에스크로 방법은 도 14에 흐름도 1401 및 흐름도 1402로서 도시되어 있고, 여기서 흐름도 1401은 블록 1411-1417에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1402는 블록 1419-1432에서 흐름도 1401의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제11 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는, 다음과 같이, 블록 122, 123 및 124에 따라, 흐름도 1401의 단계들에 따라 로크될 수 있다:
블록 1411에서, TPP-PD는, P를 사용하여, TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1412에서, DO(20)가 DO-PD(120)과 결합한 후, DO-PD(120)는, P를 사용하여, PD 개인 키 및 PD 공개 키로서 PD 키 쌍을 생성한다.
블록 1413에서, DO-PD(120)는, P를 사용하여, 난수를 Escrow Passcode#1로 생성한다.
블록 1414에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1을 PD 공개 키를 이용하여 message#1로 암호화한다.
블록 1415에서, DO-PD(120)는, P를 사용하여, Escrow Passcode#1 및 PD 개인 키를 TPP 공개 키를 이용하여 message#2로 암호화한다.
블록 1416에서, DO-PD(120)는, PD 키 쌍 및 Escrow Passcode #1을 삭제한다.
블록 1417에서, DO-PD(120)는 message#1 및 message#2를 DO-PD(120)에 저장한다.
블록 1417의 실행 후, DO-PD(120)는 제11 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1401의 단계들에 따라 로크된 DO-PD(120)는, 다음과 같이, 블록 125, 126, 127 및 128에 따라, 흐름도 1402의 단계들에 따라 잠금 해제될 수 있다:
블록 1419에 있어서, TPP-'PD(110)는 블록(113)에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 1420에서, TPP-'PD(110)는, P를 사용하여, TPP(10)가 특별한 난수 SPLRND#1을 생성하고, 이는 DO-PD(120)에 제공된다.
블록 1421에서, DO-PD(120)는, 미리 정해진 포맷으로 포맷된 경우, SPLRND#1을 검증하고, 블록 125에 따라, DO-PD(120)를 에스크로 모드로 설정한다.
블록 1422에서, DO-PD(120)는 SPLRND#1 및 message#2를 TPP 공개 키를 사용하여 message#3으로 암호화한다.
블록 1423에서, TPP-'PD(110)는 DO-PD(120)로부터 message#3을 수신한다.
블록 1424에서, TPP-'PD(110)는 TPP 개인 키를 사용하여 message#3을 복호화하여, message#2로 개명되는 message#1, 및 message#2를 공개하도록 한다.
다음, 블록 1425에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1420로부터의 상주 크리덴셜 SPLRND#1과 블록 1424로부터의 챌린지 크리덴셜 SPLRND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1425에서 SPLRND#1과 SPLRND#2는 동일하다. 따라서, 블록 1425에서, TPP-'PD(110)는, P를 사용하여, SPLRND#1을 SPLRND#2와 비교한다. SPLRND#1이 SPLRND#2과 같으면, DO-PD(120)이 TPP-'PD(110)에 대해 인증되고, 블록 1425의 결과는 "Y"이며, SPLRND#1이 SPLRND#2와 같지 않으면, 인증이 실패하고 블록 1425의 결과는 "N"이다
블록 1425의 결과가 "N"인 경우, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1426에서 중지된다.
블록 1425의 결과가 "Y"인 경우, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록 1427로 진행되며, 여기서 TPP-PD(112)는 message#2를 복호화하여 Escrow Passcode#1 및 PD 개인 키를 공개하도록 한다.
블록 1428에서, TPP-PD(112)는 PD 개인 키 및 Escrow Passcode#1을 DO-PD(120)로 전송한다
블록 1429에서, DO-PD(120)는 PD 개인 키를 사용하여 Escrow Passcode#1을 공개하기 위해 message#1을 복호화하며, Escrow Passcode#1은 Escrow Passcode#2로 이름이 변경된다.
다음, 블록 1430에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1428으로부터의 상주 크리덴셜 Escrow Passcode#1과 블록 1429으로부터의 크리덴셜 Escrow Passcode#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1331에서 Escrow Passcode#1과 Escrow Passcode#2는 동일하다. 따라서, 블록 1430에서, DO-PD(120)는, P를 사용하여, Escrow Passcode #1을 Escrow Passcode #2와 비교한다. 만약 Escrow Passcode #1가 Escrow Passcode #2와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1430의 결과는 "Y"이며, Escrow Passcode #1이 Escrow Passcode #2와 같지 않다면, 블록 1430의 결과는 "N"이다
블록 1430의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1431에서 중지된다.
블록 1430의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1432에서 잠금 해제된다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제12 실시예
제12 실시예의 배타적 셀프 에스크로 방법이 도 15에 흐름도 1501 및 흐름도 1502로서 도시되어 있고, 여기서 흐름도 1501는 블록 1511-1516에서 DO-PD(120)를 로크하는 단계를 포함하고, 흐름도 1502는 블록 1518-1530에서 흐름도 1501의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계들을 포함한다. 제12 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고, 일반적으로 상기 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는 다음과 같이, 블록 122, 123 및 124에 따라, 흐름도 1501의 단계들에 따라 로크될 수 있다:
블록 1511에서, TPP-PD는, P를 사용하여, TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1512에서, DO(20)가 DO-PD(120)와 결합된 후, DO-PD(120)는, P를 사용하여, Escrow Passcode로서 저장되는 난수를 생성한다.
블록 1513에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 EPasscodeHash#1로 해싱한다.
블록 1514에서, DO-PD(120)는, P를 사용하여, EPasscodeHash#1을 TPP 공개 키를 이용하여 message#1로 암호화한다.
블록 1515에서, DO-PD(120)는, P를 사용하여, DO-PD(120)에 EPasscodeHash#1 및 message#1를 저장한다.
블록 1516에서, DO-PD(120)는, P를 사용하여, Escrow Passcode를 삭제한다.
블록 1516의 실행 후, DO-PD(120)는 제12 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1501의 단계들에 따라 로크된 DO-PD(120)는, 다음과 같이, 블록 125, 126, 127, 128에 따라, 흐름도 1502의 단계들에 따라 잠금 해제될 수 있다:
블록 1518에서, TPP-'PD(110)는, 블록 113에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 1519에서, TPP-'PD(110)는, P를 사용하여, 특수 난수 SPLRND#1을 생성하고, 이를 DO-PD(120)로 방출한다.
블록 1520에서, DO-PD(120)는, P를 사용하여, SPLRND#1이 미리 설정된 난수 풀 중 하나인지 확인하고, 블록 125와 같이, DO-PD(120)를 에스크로 모드로 설정한다.
블록 1521에서, DO-PD(120)는, P를 사용하여, TPP 공개 키를 이용하여 SPLRND#1 및 message#1를 message#로 암호화한다.
블록 1522에서, DO-PD(120)는, P를 사용하여, TPP 공개 키 및 message#2를 TPP-PD(112)로 방출한다.
블록 1523에서, TPP-PD(112)는, P를 사용하여, message#2를 TPP 개인 키를 사용하여 복호화하여, SPLRND#2로서 이름이 변경되는 SPLRND#1 및 message#1을 공개한다.
다음, 블록 1524는 TPP-PD(112)가 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-PD(112)는, P를 사용하여, 블록 1519로부터의 상주 크리덴셜 SPLRND#1과 블록 1523으로부터의 챌린지 크리덴셜 SPLRND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1524에서 SPLRND#1과 SPLRND#2는 동일하다. 따라서, 블록 1524에서, TPP-'PD(110)는, P를 사용하여, SPLRND#1을 SPLRND#2와 비교한다. SPLRND#1이 SPLRND#2와 같으면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 1524의 결과는 "Y"이며, SPLRND#1이 SPLRND#2와 동일하지 않으면 인증이 실패하고 블록 1524의 결과는 "N"이다
블록 1524의 결과가 "N"이면, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1525에서 중지된다.
블록 1524의 결과가 "Y"이면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고 잠금 해제는 블록 1526으로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, EPasscodeHash #2로 이름이 변경되는 EPasscodeHash #1을 공개하기 위해 TPP 개인 키를 사용하여 message#1을 복호화한다.
블록 1527에서, P를 사용하여, TPP-PD(112)는, EPasscodeHash#2를 DO-PD(120)로 전송한다.
다음, 블록 1528에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 특히, DO-PD(120)는, P를 사용하여, 블록 1515로부터의 상주 크리덴셜 EPasscodeHash#1과 블록 1527로부터의 챌린지 크리덴셜 EPasscodeHash#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1528에서 EPasscodeHash#1은 EPasscodeHash#2와 동일하다. 따라서,블록 1528에서, DO-PD(120)는, P를 사용하여, EPasscodeHash#1을 EPasscodeHash#2와 비교한다. EPasscodeHash#1이 EPasscodeHash#2와 같은 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고 블록 1528의 결과는 "Y"이며, EPasscodeHash#1이 EPasscodeHash#2와 같지 않은 경우, 블록 1528의 결과는 "N"이다
블록 1528의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1529에서 중지된다.
블록 1528의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1530에서 잠금 해제된다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제13 실시예
제13 실시예의 배타적 셀프 에스크로 방법이 도 16에 흐름도 1601 및 흐름도 1602로서 도시되어 있고, 여기서 흐름도 1601은 블록 1611-1614에서 DO-PD(120)를 로크하기 위한 단계들을 포함하고, 흐름도 1602는 블록 1603 및 1615-1625에서 흐름도 1601의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계를 포함한다. 제13 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고, 일반적으로 상기 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는, 다음과 같이, 블록 122, 123 및 124에 따라, 흐름도 1601의 단계들에 따라 로크될 수 있다:
블록 1611에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, TPP 공개 키를 DO-PD(120)에 제공한다,
블록 1612에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, Escrow Passcode로서 저장되는 난수를 생성한다.
블록 1613에서, DO-PD(120)는, P를 사용하여, TPP 공개 키를 사용하여 Escrow Passcode를 message#1로 암호화한다.
블록 1614에서, DO-PD(120)는, P를 사용하여, Escrow 암호를 삭제한다.
블록 1614의 실행 후, DO-PD(120)는, 제13 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다.
흐름도 1601의 단계들에 따라 로크된 DO-PD(120)는, 다음과 같이, 흐름도 1602의 단계들에 따라 블록 125, 126, 127 및 128에 따라 잠금 해제될 수 있다:
블록 1603에서, TPP-'PD(110)는 블록(113)에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 1615에서, TPP-'PD(110)는, P를 사용하여, 난수의 서브세트로부터 난수, RND#1을 생성하고, RND#1을 DO-PD(120)로 방출한다.
블록 1616에서, DO-PD(120)는, P를 사용하여, RND#1이 상기 서브세트의 멤버임을 확인하고, PD를 블록 125에 따라, 에스크로 모드로 위치시킨다.
블록 1617에서, DO-PD(120)는, P를 사용하여, RND#1 및 message#1를 TPP 공개 키를 이용하여 message#2로 암호화한다.
블록 1618에서, DO-PD(120)는, P를 사용하여, TPP 공개 키 및 message#2를 TPP-PD(112)에 방출한다.
블록 1619에서, TPP-PD(112)는, P를 사용하여, TPP 개인 키를 사용하여 message#2를 복호화하여 RND#2로 이름이 변경되는 RND#1 및, message#4로 이름이 변경되는 message#1를 나타낸다.
다음, 블록 1620에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-'PD(110)는, P를 사용하여, 블록 1615으로부터의 상주 크리덴셜 RND#1과 블록 1619으로부터의 챌린지 크리덴셜 RND#2를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1620에서 RND#1과 RND#2는 동일하다. 따라서, 블록 1620에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#2를 비교한다. 만약 RND#1이 RND#2와 같으면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 1620의 결과는 "Y"이며, RND#1이 RND#2와 같지 않다면, 인증이 실패하고 블록 1620의 결과는 "N"이다
블록 1621의 결과가 "N"이면, 인증이 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1525에서 중지된다.
블록 1622의 결과가 "Y"이면, DO-PD(120)는 TPP-PD(110)에 대해 인증되고, 잠금 해제는 1526 블록으로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, DO-PD(120)에 #4 메시지를 전송한다.
다음, 블록 1623에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1613으로부터의 상주 크리덴셜 message#1과 블록 1622로부터의 챌린지 크리덴셜 message#4를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1623에서 message#1은 message#4와 같다. 따라서, 블록 1623에서, P를 사용하여, DO-PD(120)는 message#1을 message#4와 비교한다. 만약 message#1이 message#4와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 블록 1623의 결과는 "Y"이며, message#1이 message#4와 같지 않다면, 블록 1623의 결과는 "N"이다
블록 1623의 결과가 "N"인 경우, 인증 단계가 실패하고, DO-PD(120)의 잠금 해제 실행이 블록 1624에서 중지된다.
블록 1623의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1625에서 잠금 해제된다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
제14 실시예
제14 실시예의 배타적 셀프 에스크로 방법이 도 17에 흐름도 1701 및 흐름도 1702로서 도시되어 있고, 여기서 흐름도 1701은 블록 1711에서 DO-PD(120)를 로크하기 위한 단계를 포함하고, 흐름도 1702는 블록 1703 및 1712-1723에서 흐름도 1701의 단계들에 따라 로크된 DO-PD를 잠금 해제하는 단계를 포함하고 있다. 제14 실시예의 배타적 셀프 에스크로 방법은 명시적으로 언급된 것을 제외하고 일반적으로 이전의 실시예의 배타적 셀프 에스크로 방법과 유사하다.
DO-PD(120)는, 다음과 같이, 블록 122 및 124에 따라, 흐름도 1701의 단계들에 따라 로크될 수 있다:
블록 1711에서, TPP-'PD(110)는, P를 사용하여, TPP 개인 키 및 TPP 공개 키로서 TPP 키 쌍을 생성하고, TPP 공개 키를 DO-PD(120)에 제공한다.
블록 1712에서, DO(20)가 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, TPP 공개 키를 저장한다.
블록 1712의 실행 후, DO-PD(120)는 제14 실시예의 배타적 셀프 에스크로 방법에 따라 로크된다. 본 실시예는 DO-PD(120)의 잠금 해제 중에 크리덴셜이 생성되는 점에서 실시예 1 내지 13과 다르다.
흐름도 1701의 단계들에 따라 로크된 DO-PD(120)는 블록(125), 126, 127, 128에 따라 다음과 같이 흐름도 1002의 단계들에 따라 잠금 해제될 수 있다:
블록 1713에서, TPP-'PD(110)는, 블록(113)에 따라, 유효한 잠금 해제 요청을 수신한다.
블록 1714에서, TPP-'PD(110)는, P를 사용하여, 난수의 작은 서브세트로부터 난수, RND#1을 생성하고, 이를 DO-PD(120)에 방출한다.
블록 1715에서, DO(20)가 블록 122에 따라 DO-PD(120)와 결합한 후, DO-PD(120)는, P를 사용하여, RND#1을 검증하고, 블록(125)에 따라, PD를 에스크로 모드로 설정한다.
블록 1716에서, DO-PD(120)는, P를 사용하여, 난수 RND#2를 생성한다.
블록 1717에서, DO-PD(120)는, P를 사용하여, RND#1 및 RND#2를 TPP 공개 키를 이용하여, message#1로 암호화한다.
블록 1718에서, DO-PD(120)는, P를 사용하여, TPP-PD(112)로 message#1을 방출하다.
블록 1719에서, TPP-PD(112)는 TPP 개인 키를 사용하여 message#1를 복호화하여 RND#3 및 RND#4로 이름 변경되는 RND#1 및 RND#2를 공개하도록 한다.
다음, 블록 1720에서 TPP-'PD(110)는 DO-PD(120)를 인증하는 테스트를 수행한다. 구체적으로, TPP-PD(112)는, P를 사용하여, 블록 1712로부터의 상주 크리덴셜 RND#1과 블록 1717로부터의 챌린지 크리덴셜 RND#3을 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1718에서 RND#1과 RND#3은 동일하다. 따라서, 블록 1720에서, TPP-'PD(110)는, P를 사용하여, RND#1과 RND#3을 비교한다. 만약 RND#1이 RND#3과 같으면, DO-PD(120)는 TPP-'PD(110)에 대해 인증되고, 블록 1720의 결과는 "Y"이며, RND#1이 RND#3과 같지 않다면, 인증이 실패하고, 블록 1720의 결과는 "N이다.
블록 1720의 결과가 "N,"인 경우," 인증이 실패하고 DO-PD(120)의 잠금 해제 실행이 블록 1721에서 중지된다.
블록 1720의 결과가 "Y"인 경우, DO-PD(120)는 TPP-PD(110)에 대해 인증되고, DO-PD(120)의 잠금 해제는 1722 블록으로 진행되며, 여기서 TPP-PD(112)는, P를 사용하여, RND#4를 DO-PD(120)로 전송한다.
다음, 블록 1723에서 DO-PD(120)는 TPP-'PD(110)를 DO-PD(120)의 진정한 제공자로 인증하는 테스트를 수행한다. 구체적으로, DO-PD(120)는, P를 사용하여, 블록 1714로부터의 상주 크리덴셜 RND#2와 블록 1718로부터의 챌린지 크리덴셜 RND#4를 비교한다. 크리덴셜의 결정에 있어서 올바른 키가 사용된 경우, 블록 1723에서 RND#2는 RND#4와 같다. 따라서, 블록 1723에서, DO-PD(120)는, P를 사용하여, RND#2와 RND#4를 비교한다. 만약 RND#2가 RND#4와 같다면, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, 블록 1723의 결과는 "Y"이며, RND#2가 RND#4와 같지 않다면, 블록 1721의 결과는 "N"이다
블록 1723의 결과가 "N"인 경우, 인증 단계는 실패하고, DO-PD(120)의 잠금 해제 실행은 블록 1724에서 중지된다.
블록 1723의 결과가 "Y"인 경우, TPP-'PD(110)는 DO-PD(120)에 대해 인증되고, DO-PD는 블록 1725에서 잠금 해제된다.
DO-PD(120)의 잠금이 해제된 상태에서 GA는 장치에 대한 보증에 따라 DO-PD에 액세스할 수 있다.
본 명세서에 설명된 각각의 방법들의 일 실시예는 처리 시스템 상에서 실행되는 컴퓨터 프로그램의 형태이다. 따라서, 본 발명의 실시예들은 통상의 기술자가 인정하는 바와 같이, 방법, 특수 목적 장치와 같은 장치, 데이터 처리 시스템과 같은 장치 또는 캐리어 매체, 예를 들어 컴퓨터 프로그램 제품으로 구체화될 수 있다. 캐리어 매체는 방법을 구현하기 위해 처리 시스템을 제어하기 위한 하나 이상의 컴퓨터 판독 가능한 코드 세그먼트를 운반한다. 따라서, 본 발명의 양태들은 방법, 완전한 하드웨어 구현, 완전한 소프트웨어 구현 또는 소프트웨어와 하드웨어 측면을 결합한 구현의 형태를 취할 수 있다. 또한, 본 발명은 매체에 내장된 컴퓨터 판독 가능한 프로그램 코드 세그먼트들을 운반하는 캐리어 매체(예를 들어, 컴퓨터 판독 가능한 저장 매체 상의 컴퓨터 프로그램 제품)의 형태를 취할 수 있다. 디스켓이나 하드 디스크와 같은 자기 저장 장치 또는 CD-ROM과 같은 광학 저장 장치를 포함하여 적합한 컴퓨터 판독 가능한 매체를 사용할 수 있다.
논의된 방법들의 단계들은 하나의 실시예에서 저장장치에 저장된 처리(즉, 컴퓨터) 시스템의 실행 명령들(코드 세그먼트)의 적절한 프로세서에 의해 수행되는 것으로 이해될 것이다. 또한, 본 발명은 특정 실시예 또는 프로그래밍 기술에 제한되지 않으며 본 명세서에 설명된 기능을 구현하기 위한 임의의 적절한 기술을 사용하여 구현될 수 있음을 이해할 수 있다. 본 발명은 특정 프로그래밍 언어 또는 운영 체제에 제한되지 않는다.
본 명세서 전체에서 "하나의 실시예" 또는 "일 실시예"에 대한 언급은 본 발명의 적어도 하나의 실시예에 실시예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 포함됨을 의미한다. 따라서, 본 명세서 전체의 다양한 개소에서 "하나의 실시예에서" 또는 "일 실시예에서" 문구의 출현이 반드시 동일한 실시예를 지칭하는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성은 본 개시로부터 당업계의 통상적인 기술자 중 하나에 명백한 바와 같이, 하나 이상의 실시예에서 임의의 적절한 방식으로 결합될 수 있다.
본 발명은 본 명세서에 구체화된 상이한 조합들을 모두 포함하는 것으로 이해되어야 하다. 본 명세서 전체에 걸쳐, "포함"이라는 용어는 "포함", "내포" 또는 "특징으로 하는"과 동의어로 사용되어야 하며, 포괄적이거나 개방적이며, 추가적이고 반복되지 않은 요소 또는 방법 단계를 제외하지 않는다. "구성"은 명명된 요소들이 필수적이지만 다른 요소들이 추가될 수 있고 여전히 진술의 범위 내에서 구성을 형성한다는 것을 의미하는 기술 용어이다. "구성"은 많은 양의 불특정 성분을 포함할 수 있도록 개방되어 있다.
마찬가지로, 본 발명의 예시적인 실시예들에 대한 상기 설명에서, 본 발명의 다양한 특징들은 때때로, 각종 발명적 측면 중 하나 이상의 이해를 돕고 개시를간소화하기 위한 목적으로, 하나의 실시예, 도면, 또는 그의 설명에 있어서 함께 그룹화된다. 그러나 이와 같은 개시의 방법은 각 청구항에 명시적으로 인용되는 것보다 더 많은 특징들을 요구하는 청구된 발명의 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구항들이 반영하듯이, 발명적인 측면들은 하나의 전술한 개시된 실시예의 모든 특징들보다 덜하다. 따라서, 상세한 설명에 따른 청구항은 상세한 설명에 명시적으로 통합되며, 각 청구항은 본 발명의 별도 실시예로서 독립적으로 존재한다.
따라서, 발명의 바람직한 실시예로 추정되는 것이 기술되어 있으나, 통상의 기술자는 발명의 정신을 벗어나지 않고 다른 추가적인 변형이 이루어질 수 있음을 인식할 것이고, 본 발명의 범위에 해당하는 모든 변경 및 변형예를 청구하기 위한 것이다. 예를 들어, 위에 제공된 표현은 사용할 수 있는 절차를 대표하는 것일 뿐이다. 블록도에서 기능을 추가, 삭제 또는 결합할 수 있으며 기능 블록들 간에 작업이 상호 교환될 수 있다. 단계들은 본 발명의 범위 내에서 설명되는 방법들에 추가되거나 삭제될 수 있다.

Claims (40)

  1. TP 도메인을 갖는 제3자(TP)가 잠금 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위한 방법으로, 상기 방법은,
    TP 도메인에 의한 DO-PD의 1차 인증;
    DO-PD에 의한 TP 도메인의 2차 인증; 및
    1차 인증 성공 및 2차 인증 성공 후 로크된 DO-PD를 잠금 해제하는. 방법.
  2. 제1항에 있어서, 상기 TP 도메인에 의한 DO-PD의 1차 인증은, 제1 크리덴셜이 제2 크리덴셜과 같을 때 성공적이고, 2차 인증은 제3 크리덴셜이 제4 크리덴셜과 같을 때 성공적이며, 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜의 적어도 하나의 크리덴셜이 생성, 공개 또는 DO-PD에 저장되는, 방법.
  3. 제2항에 있어서, 상기 제1 크리덴셜 및 제3 크리덴셜은 상주 크리덴셜이고, 제2 크리덴셜 및 제4 크리덴셜은 챌린지 크리덴셜인, 방법.
  4. 제2항에 있어서, 제1 크리덴셜 및 제2 크리덴셜은 모두 1차 인증 동안 공개 또는 계산되고, 제3 크리덴셜 및 제4 크리덴셜은 모두 2차 인증 동안 공개 또는 계산되는, 방법.
  5. 제2항에 있어서, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나는 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 암호화된 패스코드, 암호화된 난수, 전자 장치 크리덴셜의 암호화된 장치 ID, PD 및 TP 도메인의 암호화된 공유 비밀 키, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 해시된 패스코드, 해시된 난수, 전자 장치 크리덴셜의 해시된 장치 ID, 또는 PD 및 TP 도메인의 해시된 공유 비밀 키인, 방법.
  6. 제2항에 있어서, 상기 TP 도메인은 TP 공개 키 및 TP 개인 키를 포함하는 연관된 TP 키 쌍을 갖고, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나의 크리덴셜은, TP 키 쌍 중 적어도 하나의 키를 사용하여 공개 또는 생성되는, 방법.
  7. 제2항에 있어서, DO-PD는 PD 공개 키 및 PD 개인 키를 포함하는 연관된 PD 키 쌍을 갖고, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜의 적어도 하나의 크리덴셜은 PD 키 쌍 중 적어도 하나의 키를 사용하여 공개 또는 생성되는, 방법.
  8. 제2항에 있어서, DO-PD와 TP 도메인은 공유 비밀키를 가지며, 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나의 크리덴셜은 공유 비밀 키를 사용하여 공개 또는 생성되는, 방법.
  9. 제1항에 있어서, 상기 1차 인증 또는 2차 인증은 상기 DO-PD와 상기 TP 도메인 사이에서 메시지를 교환하는 단계를 포함하며, 메시지는 크리덴셜이거나 크리덴셜을 포함하는, 방법.
  10. 제9항에 있어서, 메시지 중 적어도 하나는 크리덴셜을 생성 또는 공개하는데 사용되는 키를 포함하는, 방법.
  11. 제1항에 있어서, 상기 TP 도메인은 상기 DO-PD(TP-PD) 내에 포함되는 제1 서브 도메인 및 상기 DO-PD(TP-PD) 내에 포함되지 않는 서브 도메인을 포함하는, 방법.
  12. 제1항에 있어서, 상기 DO-PD는 수평 프로그램 도메인인, 방법.
  13. 제1항에 있어서, 상기 DO-PD는 전자 장치 내에 있는, 방법.
  14. 제13항에 있어서, 전자 장치는 스마트폰, 컴퓨터 또는 태블릿인, 방법.
  15. 제1항에 있어서, 상기 DO-PD는 수직 프로그램 도메인인, 방법.
  16. 제1항에 있어서, 상기 DO-PD는 데이터베이스, 워드 프로세서, 스프레드시트, 비트코인 지갑 또는 모바일 락박스를 포함하는, 방법.
  17. 제2항에 있어서, 상기 TP는 제1 TP 도메인을 갖는 제1 TP이고, 상기 방법은 제2 TP 도메인을 갖는 제2 TP를 더 포함하고, 상기 방법은,
    DO-PD에 의한 두 번째 TP 도메인의 3차 인증을 더 포함하고, 제5 크리덴셜이 제6 크리덴셜과 같을 때 3차 인증이 성공적이고, 제5 크리덴셜 또는 제6 크리덴셜 중 적어도 하나의 크리덴셜이 생성, 공개 또는 DO-PD에 저장되고;
    로크된 DO-PD의 잠금 해제는 성공적인 3차 인증 후에만 잠금 해제되는, 방법.
  18. 제1항에 있어서, 상기 TP 도메인에 의한 DO-PD의 1차 인증 및 상기 DO-PD에 의한 TP 도메인의 2차 인증은, 배타적 셀프 에스크로를 이용한 상호 인증인, 방법.
  19. 제1항에 있어서, 상기 방법은 상기 1차 인증 또는 상기 2차 인증 동안 액세스되는 워크스페이스로서 DO-PD(TP-PD)에 TP-서브도메인을 제공하는 단계를 포함하는, 방법.
  20. 로크된 장치 소유자의 프로그램 도메인(DO-PD)을 잠금 해제하기 위해 TP 도메인을 갖는 제3자(TP)를 위한 장치로서,상기 DO-PD는 메모리를 갖고 또한,
    TP 도메인에 의한 DO-PD의 1차 인증;
    DO-PD에 의한 TP 도메인의 2차 인증; 및 상기 1차 인증 성공 및 2차 인증 성공 후 로크된 DO-PD를 잠금방출하는 단계들을 수행하도록 프로그래밍되는, 장치.
  21. 제20항에 있어서,
    상기 TP 도메인에 의한 DO-PD의 1차 인증은 제1 크리덴셜이 제2 크리덴셜과 같을 때 성공적이고, 제3 크리덴셜이 제4 크리덴셜과 같을 때 2차 인증이 성공ㅈJR이며, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나의 크리덴셜이 DO-PD에 생성, 공개 또는 저장되는, 장치.
  22. 제21항에 있어서, 상기 제1 크리덴셜 및 제3 크리덴셜은 상주 크리덴셜이고, 상기 제2 크리덴셜 및 제4 크리덴셜은 챌린지 크리덴셜인, 장치.
  23. 제21항에 있어서, 제1 크리덴셜 및 제2 크리덴셜은 모두 1차 인증 동안 공개 또는 계산되고, 제3 크리덴셜 및 제4 크리덴셜은 모두 2차 인증 동안 공개 또는 계산되는, 장치.
  24. 제21항에 있어서, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나는, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 암호화된 패스코드, 암호화된 난수, 전자 장치 크리덴셜의 암호화된 장치 ID, PD 및 TP 도메인의 암호화된 공유 비밀 키, 패스코드, 난수, 전자 장치 크리덴셜의 장치 ID, PD 및 TP 도메인의 공유 비밀 키, 해시된 패스코드, 해시된 난수, 전자 장치 크리덴셜의 해시된 장치 ID, 또는 PD 및 TP 도메인의 해시된 공유 비밀 키인, 장치.
  25. 제21항에 있어서, 상기 TP 도메인은 TP 공개 키 및 TP 개인 키를 포함하는 연관된 TP 키 쌍을 갖고, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나의 크리덴셜은, TP 키 쌍 중 적어도 하나의 키를 사용하여 공개되거나 생성되는, 장치.
  26. 제21항에 있어서, 상기 DO-PD는 PD 공개 키 및 PD 개인 키를 포함하는 연관된 PD 키 쌍을 갖고, 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나는 PD 키 쌍 중 적어도 하나의 키를 사용하여 공개되거나 생성되는, 장치.
  27. 제21항에 있어서, 상기 DO-PD와 TP 도메인은 공유 비밀 키를 갖고, 상기 제1 크리덴셜, 제2 크리덴셜, 제3 크리덴셜 또는 제4 크리덴셜 중 적어도 하나의 크리덴셜은, 공유 비밀 키를 사용하여 공개 또는 생성되는 장치.
  28. 제20항에 있어서, 상기 1차 인증 또는 2차 인증은 상기 DO-PD와 TP 도메인 사이에서 메시지를 교환하는 것을 포함하고, 메시지는 크리덴셜이거나 또는 크리덴셜을 포함하는 장치.
  29. 제28항에 있어서, 메시지 중 적어도 하나는 크리덴셜을 생성하거나 공개하는데 사용되는 키를 포함하는, 장치.
  30. 제20항에 있어서, 상기 TP 도메인은 DO-PD(TP-PD) 내에 포함된 제1 서브도메인 및 DO-PD(TP-PD) 내에 있지 않은 서브도메인을 포함하는, 장치.
  31. 제20항에 있어서, 상기 DO-PD는 수평 프로그램 도메인인, 장치.
  32. 제20항에 있어서, 상기 DO-PD는 전자 장치 내에 있는, 장치.
  33. 제32항에 있어서, 전자 장치는 스마트폰 또는 컴퓨터 또는 태블릿인, 장치.
  34. 제20항에 있어서, 상기 DO-PD는 수직 프로그램 도메인인, 장치.
  35. 제20항에 있어서, 상기 DO-PD는 데이터베이스, 워드 프로세서, 스프레드시트, 비트코인 지갑 또는 모바일 락박스를 포함하는, 장치.
  36. 제20항에 있어서, 상기 TP는 제1 TP 도메인을 갖는 제1 TP이고, 상기 방법은 제2 TP 도메인을 갖는 제2 TP를 더 포함하고, 상기 방법은
    DO-PD에 의한 제2 TP 도메인의 3차 인증을 더 포함하고, 제5 크리덴셜이 제6 크리덴셜과 같을 때 3차 인증이 성공적이고, 제5 크리덴셜 또는 제6 크리덴셜 중 적어도 하나의 크리덴셜이 생성, 공개, 또는 DO-PD에 저장되며;
    로크된 DO-PD의 잠금 해제는 성공적인 3차 인증 후에만 잠금 해제되는, 장치.
  37. 제20항에 있어서, 상기 DO-PD는 TP 도메인에 의한 DO-PD의 1차 인증 및 DO-PD에 의한 TP 도메인의 2차 인증의 단계를 배타적 셀프 에스크로를 사용하는 상호 인증에 의해 수행하도록 프로그래밍된 장치.
  38. 제20항에 있어서, 상기 DO-PD는 상기 1차 인증 또는 2차 인증 동안 액세스되는 워크스페이스로서 DO-PD(TP-PD)에 TP 서브도메인을 제공하는 단계를 수행하도록 프로그래밍된, 장치.
  39. 실질적으로 도시되고 설명된 바와 같은, 방법.
  40. 실질적으로 도시되고 설명된 바와 같은, 장치.
KR1020237014856A 2020-10-01 2021-09-30 배타적 셀프 에스크로 방법 및 장치 KR20230079192A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063086373P 2020-10-01 2020-10-01
US63/086,373 2020-10-01
US202163167974P 2021-03-30 2021-03-30
US63/167,974 2021-03-30
PCT/US2021/052802 WO2022072595A1 (en) 2020-10-01 2021-09-30 Exclusive self-escrow method and apparatus

Publications (1)

Publication Number Publication Date
KR20230079192A true KR20230079192A (ko) 2023-06-05

Family

ID=80931781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014856A KR20230079192A (ko) 2020-10-01 2021-09-30 배타적 셀프 에스크로 방법 및 장치

Country Status (5)

Country Link
US (3) US11509649B2 (ko)
EP (1) EP4222623A1 (ko)
JP (2) JP7431382B2 (ko)
KR (1) KR20230079192A (ko)
WO (1) WO2022072595A1 (ko)

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI104666B (fi) * 1997-11-10 2000-04-14 Nokia Networks Oy Varma kättelyprotokolla
EP1125396A2 (en) * 1998-10-30 2001-08-22 Certco Incorporated Incorporating shared randomness into distributed cryptography
JP4176898B2 (ja) * 1999-02-19 2008-11-05 株式会社東芝 個人認証システム、それに使用される携帯装置及び記憶媒体
EP1176507A3 (en) * 2000-07-24 2005-08-17 Sony Corporation Information processing method, inter-task communication method, and computer-executable program for the same
US7516325B2 (en) * 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
JP2003122643A (ja) 2001-07-09 2003-04-25 Matsushita Electric Ind Co Ltd コンテンツ読出装置
WO2006003675A2 (en) * 2004-07-12 2006-01-12 Syed Ibrahim Abdul Hameed Khan System, method of generation and use of bilaterally generated variable instant passwords
US8468361B2 (en) * 2005-09-21 2013-06-18 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
KR101366277B1 (ko) * 2006-09-07 2014-02-20 엘지전자 주식회사 도메인에서 ro 이동을 위한 멤버쉽 확인 방법 및 장치
US8156334B2 (en) * 2008-08-12 2012-04-10 Texas Instruments Incorporated Public key out-of-band transfer for mutual authentication
US8527758B2 (en) * 2009-12-09 2013-09-03 Ebay Inc. Systems and methods for facilitating user identity verification over a network
US8555067B2 (en) * 2010-10-28 2013-10-08 Apple Inc. Methods and apparatus for delivering electronic identification components over a wireless network
US8612766B2 (en) 2011-07-05 2013-12-17 Microsoft Corporation Secure credential unlock using trusted execution environments
US20130034229A1 (en) * 2011-08-05 2013-02-07 Apple Inc. System and method for wireless data protection
TWI568234B (zh) * 2014-01-28 2017-01-21 國立勤益科技大學 全球移動通訊網路的匿名認證方法
US9952424B2 (en) 2014-02-27 2018-04-24 Konica Minolta, Inc. Image projection apparatus
US20160065374A1 (en) 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
US11070380B2 (en) * 2015-10-02 2021-07-20 Samsung Electronics Co., Ltd. Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method
US9847874B2 (en) * 2015-10-07 2017-12-19 Go Daddy Operating Company, LLC Intermediary organization account asset protection via an encoded physical mechanism
WO2017165656A1 (en) 2016-03-24 2017-09-28 Document Dynamics, Llc Securing cloud drives using environment-aware security tokens
KR20180071679A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 사용자 단말 장치 및 그의 제어 방법
WO2020150508A1 (en) * 2019-01-16 2020-07-23 Assurant, Inc. Apparatus, method, and computer program product for claim management device lockout
US20210036906A1 (en) * 2019-08-02 2021-02-04 Genetec Inc. Method and system for camera authentication using a video management system

Also Published As

Publication number Publication date
EP4222623A1 (en) 2023-08-09
JP2024045374A (ja) 2024-04-02
US20220109666A1 (en) 2022-04-07
US20230073474A1 (en) 2023-03-09
US11811751B2 (en) 2023-11-07
US20240022560A1 (en) 2024-01-18
US11509649B2 (en) 2022-11-22
JP2023539536A (ja) 2023-09-14
WO2022072595A1 (en) 2022-04-07
JP7431382B2 (ja) 2024-02-14

Similar Documents

Publication Publication Date Title
US11074357B2 (en) Integration of a block chain, managing group authority and access in an enterprise environment
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US10867058B2 (en) Method and system for protecting secure computer systems from insider threats
US11115208B2 (en) Protecting sensitive information from an authorized device unlock
US10498712B2 (en) Balancing public and personal security needs
JP2023548572A (ja) ブロックチェーンに機密データを記憶すること
US11398906B2 (en) Confirming receipt of audit records for audited use of a cryptographic key
JP2009015766A (ja) ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
KR20110128371A (ko) 모바일 클라이언트 보안인증시스템과 중앙제어시스템 및 그 동작방법
US20220094538A1 (en) Secure transfer of protected application storage keys with change of trusted computing base
TWI725623B (zh) 基於管理者自發行票券的點對點權限管理方法
Nishimura et al. Secure authentication key sharing between personal mobile devices based on owner identity
KR20230079192A (ko) 배타적 셀프 에스크로 방법 및 장치
CN116670672A (zh) 排他性自托管方法及装置
ALBAROODI et al. ETHEREUM-INSPIRED ACCESS MANAGEMENT ACCOUNT CONTROL FOR A SECURED DECENTRALIZED CLOUD STORAGE
AU2016429414B2 (en) Balancing public and personal security needs
CN117313144A (zh) 敏感数据的管理方法、装置、存储介质和电子设备
KR20070116293A (ko) 데이터에 대한 접근을 제어하는 방법 및 시스템