KR20170133463A - 피어 투 피어 증명 - Google Patents

피어 투 피어 증명 Download PDF

Info

Publication number
KR20170133463A
KR20170133463A KR1020177031613A KR20177031613A KR20170133463A KR 20170133463 A KR20170133463 A KR 20170133463A KR 1020177031613 A KR1020177031613 A KR 1020177031613A KR 20177031613 A KR20177031613 A KR 20177031613A KR 20170133463 A KR20170133463 A KR 20170133463A
Authority
KR
South Korea
Prior art keywords
key
signature
tpm
identity
combination
Prior art date
Application number
KR1020177031613A
Other languages
English (en)
Other versions
KR102062823B1 (ko
Inventor
대런 데이비드 크란
윌리엄 알렉산더 드루리
서미트 그왈라니
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20170133463A publication Critical patent/KR20170133463A/ko
Application granted granted Critical
Publication of KR102062823B1 publication Critical patent/KR102062823B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

피어 투 피어 증명을 위한 기술이 제공된다. 예시적인 방법은 제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지를 수신하는 단계와; 상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 단계와; 상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 단계와, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며; 상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 단계와; 상기 제 2 디바이스로부터 수신된 서명 검증에 기초하여, 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 단계를 포함한다.

Description

피어 투 피어 증명
본 개시는 일반적으로 트러스트 컴퓨팅(trusted computing)에서의 증명에 관한 것이다.
일부 혁신적인 구현에서, 개시된 발명은 방법으로 구체화될 수 있다. 이 방법은 제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지를 수신하는 단계와; 상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 단계와; 상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 단계와, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module)보증 키 증명서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며; 상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 단계와; 상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 단계와, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며; 상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 단계와; 상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 단계와; 상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 단계와; 그리고 상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 단계를 포함한다.
일부 혁신적인 구현 예에서, 개시된 발명은 머신 판독 가능 매체에 구현될 수 있다. 머신 판독 가능 매체는 프로세서에 의해 실행될 때, 프로세서로 하여금 동작들을 수행하도록 하는 명령들이 저장된 머신 판독 가능 매체로서, 상기 동작들은: 제 1 디바이스에서, 제 2 디바이스로부터 검색 메시지를 수신하는 동작과; 상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 동작과; 상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 동작과, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module)보증 키 증명서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며; 상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 동작과; 상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 동작과, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며; 상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 동작과; 상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 동작과; 상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 동작과; 그리고 상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 동작을 포함한다.
일부 혁신적인 구현 예에서, 개시된 발명은 시스템으로 구체화될 수 있다. 상기 시스템은 명령들을 구비하는 메모리와; 상기 명령들이 다음 동작을 실행하게 하는 프로세서를 포함하며, 상기 동작들은 제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지를 수신하는 동작과; 상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 동작과; 상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 동작과, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module)보증 키 증명서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며; 상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 동작과; 상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 동작과, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며; 상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 동작과; 상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 동작과; 상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 동작과; 그리고 상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 동작을 포함한다.
본 기술의 다른 구성들은 당해 분야의 숙련자에게 본 발명의 다양한 구성을 도시 및 설명하는 다음의 상세한 설명으로부터 용이하게 명백해질 것으로 이해된다. 실현될 수 있는 바와 같이, 본 기술은 다른 구성들로 가능하고 일부 세부 사항은 본 기술의 범위를 벗어나지 않으면서 다양한 다른 면에서 수정될 수 있다. 따라서, 도면 및 상세한 설명은 본질적으로 제한적이 아닌 예시적인 것으로 간주되어야 한다.
본 기술의 신규한 특징들이 첨부된 청구 범위에 제시되어 있다. 그러나, 설명의 목적으로, 본 기술의 여러 가지 구성들이 아래에 요약된 첨부된 도면들에 설명된다.
도 1은 본 기술의 일부 구현을 실행하기에 적합한 예시적인 디바이스 및 네트워크 환경의 도면이다.
도 2는 일부 구현 예에 따른 피어 투 피어 증명 시스템에서의 예시적인 신뢰 그래프를 도시한다.
도 3은 일부 구현 예에 따른 예시적인 흐름도를 도시한다.
도 4는 일부 구현 예에 따른 다른 예시적인 흐름도를 도시한다.
도 5는 도 1의 예시적인 디바이스를 사용하여 본 기술의 구현을 실행하기 위한 예시적인 프로세스이다. 1
도 6은 도 1의 예시적인 디바이스를 사용하여 본 기술의 구현을 실행하기 위한 또 다른 예시적인 프로세스를 도시한다.
도 7은 도 1의 예시적인 디바이스를 사용하여 본 기술의 구현을 실행하기 위한 또 다른 예시적인 프로세스를 도시한다.
이하에 설명되는 상세한 설명은 본 기술의 다양한 구성들에 대한 설명을 의도한 것이며 본 기술이 실행될 수 있는 유일한 구성을 나타내는 것은 아니다. 첨부도면은 본 명세서에 통합되어 상세한 설명의 일부를 구성한다. 본 기술은 여기에 명시된 특정 세부 사항에 국한되지 않으며 이러한 특정 세부 사항 없이도 실행될 수 있다.
트러스트 플랫폼은 이 트러스트 플랫폼이 소프트웨어 프로세스에 대한 신뢰 기반을 구축하기 위해 사용하는 보안 모듈 형태의 트러스트 컴포넌트를 갖는 컴퓨팅 플랫폼일 수 있다. 그러한 보안 모듈의 예로는 TPM(Trusted Platform Module)이 있다. TPM은 일반적으로 컴퓨팅 디바이스에서 변조 방지 IC(tamper resistant integrated circuit)로서 구현된다. TPM은 컴퓨팅 디바이스가 자신을 트러스트 플랫폼으로서 나타낼 수 있게 하는 펌웨어(예를 들어, BIOS(Basic Input Output System) 펌웨어)와 관련될 수 있다.
보안 모듈(예: TPM)을 포함하는 컴퓨팅 디바이스의 합법성을 보증하는 것은 일반적으로, 제조시 보안 모듈에 보증 키(예: 비대칭 키 쌍과 같은 소프트웨어 인증 및 해당 공개 키에 대한 증서)를 내장한 보증 인증 기관을 포함한다. 어떤 경우들에서, 보증 키는 컴퓨팅 디바이스 또는 보안 모듈의 제조자에 관한 개략적인 정보를 포함할 수 있다. 다른 경우, 보증 키에는 제품 유형(예: 노트북 또는 휴대 전화)에 관한 정보가 포함될 수 있다. 특정 제조업체에서 만든 하드웨어 디바이스는 특정 제조업체의 합법적인 제품임을 서버에서 증명할 수 있다. 하드웨어 디바이스는 또한 특정 모드에서 동작할 수 있고, 하드웨어 디바이스가 어떤 종류의 제품(예를 들어, 랩탑, 오디오 스피커, 네트워크 라우터 등)이고 하드웨어 디바이스가 특정 모드인지를 서버에 알릴 수 있다. 이러한 증명을 하려면 인터넷 연결이 필요하며 제조업체가 제공한 적절한 소프트웨어 서비스에 액세스해야한다.
그러나 이 방법은 일부 사용 사례들에서는 충분하지 않을 수 있다. 특히 인터넷 연결을 사용할 수 없는 경우에는 특히 그렇다. 예를 들어, 하드웨어 디바이스는 Bluetooth를 통해 WiFi 크리덴셜 증명을 공유하려 하지만 특정 특성을 충족시키는 합법적인 또는 인증된 디바이스와 이러한 크리덴셜 증명을 공유하기를 원할 수 있다. 다른 예에서, 특정 유형의 다수의 디바이스는 그들이 근접한 경우에 서로 조정하고자할 수 있다.
개시된 실시 예는 둘 이상의 디바이스(예를 들어, 제 1 디바이스 및 제 2 디바이스) 사이의 피어 투 피어 증명을 가능하게 한다. 예를 들어, 제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지가 수신된다. 발견 메시지에 기초하여, 제 1 디바이스와 제 2 디바이스 사이에 통신 채널이 설정될 수 있다. 제 1 디바이스에서, 신원 정보가 제 2 디바이스로부터 수신될 수 있다. 신원 정보는 비록 이들에만 국한되는 것은 아니지만, 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함한다.
그 후, 제 1 디바이스는 PCR 값, 견적, 보증(endorsement)키 증서 중 하나 이상을 검증할 수 있다. 검증에 기초하여, 제 1 디바이스는 서명 키를 포함하는 메시지를 제 2 디바이스에 전송할 수 있으며, 여기서 서명 키는 제 1 디바이스에 의해 생성된 난수 값을 포함한다. 제 1 디바이스는 또한 서명 키와 그 신원 키와 관련된 정보의 조합을 승인 공개 키로 암호화할 수 있다. 그 후, 제 1 디바이스는 암호화된 조합을 제 2 디바이스에 제공할 수 있다.
암호화된 조합이 제 2 디바이스에 제공된 후에 제 2 디바이스로부터 응답이 제 1 디바이스에서 수신되면, 제 1 디바이스는 응답에 포함된 서명을 검증할 수 있다. 서명이 검증될 때, 제 1 디바이스는 서명의 검증에 기초하여 제 2 디바이스의 통신 채널 또는 신원 정보 중 하나 이상을 인증한다.
이러한 방식으로, 제 1 디바이스 및 제 2 디바이스는 인터넷(또는 이와 유사한) 연결이 이용 가능하지 않을지라도 피어 투 피어 방식을 통해 각각에 그들의 신원을 증명할 수 있다. 예를 들어, 하드웨어 디바이스는 Bluetooth를 통해 특정 특성을 충족시키는 합법적인 또는 인증된 디바이스와 WiFi 크리덴셜 증명을 공유할 수 있다. 또 다른 예에서, 특정 타입의 다수의 디바이스는 그들이 근접한 경우 서로 조정할 수 있다. 개시된 구현 예는 2 개의 디바이스로 제한되지 않고 임의의 수의 디바이스 및 임의 유형의 유선 또는 무선 네트워크와 함께 작동할 수 있다.
본 기술의 일부 양상은 컴퓨팅 디바이스 하드웨어에 관한 정보를 저장하는 것을 포함한다. 사용자는 그러한 정보의 저장을 방지할 수 있는 옵션을 갖는다. 사용자는 프로그램이나 기능이 이러한 정보를 수집하거나 공유하는지 여부를 제어할 수 있는 기회를 제공받을 수도 있다. 따라서, 사용자는 컴퓨팅 디바이스 하드웨어에 관한 정보 수집 방법 및 서버에 의해 사용되는 방법에 대한 제어권을 가질 수 있다.
도 1은 본 기술의 일부 구현 예에 따른 보안 모듈 보증을 위한 예시적인 아키텍처를 도시하는 다이어그램이다. 보안 모듈(180)은 프로세서(112), 메모리(120), 저장 디바이스(126) 및 버스(124)를 포함한다. 보안 모듈(180)은 또한 입/출력 모듈, 입력 디바이스, 출력 디바이스 및 통신 모듈과 관련될 수 있다. 메모리(120)는 보증 엔진(132), 레지스터(134), 키 생성기(136), 서명 엔진(138) 및 암호 엔진(142)을 포함한다.
보안 모듈(180)은 컴퓨팅 디바이스(190)에 상주할 수 있다. 컴퓨팅 디바이스(190)는 하나 이상의 프로세서, 메모리 및 저장 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(190)는 사용자 입력을 수신하기 위한 출력 디바이스(예를 들어, 터치 스크린 디스플레이, 비 터치 스크린 디스플레이), 입력 디바이스(예를 들어, 키보드, 터치 스크린 또는 마우스)를 추가로 포함할 수 있다. 일부 구현 예에서, 컴퓨팅 디바이스(190)는 컴퓨팅 디바이스(190)상에서 실행되는 브라우저 또는 특수 목적 어플리케이션을 통한 사용자 상호 작용을 용이하게 하기 위한 하나 이상의 모듈을 포함할 수 있다. 컴퓨팅 디바이스(190)는 단일 프로세서, 다중 프로세서 머신, 또는 다중 프로세서들을 갖는 다수의 머신들을 포함하는 서버 팜을 갖는 단일 머신으로서 구현될 수 있다. 컴퓨팅 디바이스(190)상의 통신 모듈은 보안 모듈(180)(또는 컴퓨팅 디바이스(190))이 네트워크(150)를 통해 디바이스 정보 데이터베이스(194), 보증 서버(196) 및 인증 기관 서버(110)로 데이터를 송수신하도록 허용할 수 있다. 컴퓨팅 디바이스(192)는 또한 컴퓨팅 디바이스(190)에 포함된 하나 이상의 컴포넌트를 포함할 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 컴퓨팅 디바이스(192)는 또한 보안 모듈, 프로세서, 메모리, 저장 디바이스 및 버스를 포함할 수 있다. 보안 모듈은 또한 입/출력 모듈, 입력 디바이스, 출력 디바이스 및 통신 모듈과 관련될 수 있다. 컴퓨팅 디바이스(192)의 메모리는 또한 보증 엔진, 레지스터, 키 생성기, 서명 엔진 및 암호 엔진을 포함할 수 있다.
일부 구현 예에서, 보안 모듈(180)은 디바이스 정보 데이터베이스(194)와 관련될 수 있다. 디바이스 정보 데이터베이스(194)는 디바이스를 식별하는 데이터 및 디바이스의 특성을 포함할 수 있다. 식별은 숫자, 영숫자 문자열, 해시 값 또는 기타 식별 형식 일 수 있다. 디바이스에는 랩톱, 모바일 디바이스, 태블릿 컴퓨터, 홈 오토메이션 디바이스 및 센서, 인터넷 가능 하드웨어 디바이스 등이 포함될 수 있지만 이에 국한되지 않는다. 특성에는 클래스, 모델 또는 서로 다른 제조업체에서 제조한 디바이스들의 일괄 처리가 포함될 수 있지만 이에 국한되지는 않는다. 일부 구현 예에서, 디바이스 및 이들 각각의 특성은 각각의 특수한 보증 크리덴셜들 및 확장된 무결성 측정들과 관련될 수 있다. 일부 구현 예에서,이 정보는 디바이스 정보 데이터베이스(194)의 데이터베이스 테이블에 저장될 수 있고 특수한 보증 크리덴셜에 의해 인덱싱될 수 있다.
일부 구현 예에서, 디바이스 정보 데이터베이스(194)는 무효인 특수한 보증 크리덴셜 및 확장 무결성 측정을 식별(예를 들어, 플래그)할 수 있다. 그러한 무효인 크리덴셜을 제공하는 보안 모듈(예를 들어, 보안 모듈(180))에는 보안 모듈의 진위성을 증명하거나 확인하고 그럼으로써 보안 모듈이 상주하는 컴퓨팅 디바이스의 진위 여부를 증명 및 확인하는 증명 신원 크리덴셜이 제공되지 않는다. 유사하게, 일부 구현 예에서, 디바이스 정보 데이터베이스(194)는 유효한 특수한 보증 크리덴셜 및 각각의 확장된 무결성 측정들을 식별할 수 있다.
일부 실시 예에서, 인증 기관 서버(110), 디바이스 정보 데이터베이스(194), 보증 서버(196), 클라이언트 컴퓨팅 디바이스(190)(192) 및 보안 모듈(180)은 네트워크(150)를 통해 서로 통신할 수 있다. 네트워크(150)는 인터넷, 인트라넷, 근거리 통신망, 광역 통신망, 유선 네트워크, 무선 네트워크 또는 가상 사설망(VPN)을 포함할 수 있다. 본 기술은 하나의 인증 기관 서버(110), 승인 서버(196), 컴퓨팅 디바이스(190), 디바이스 정보 데이터베이스(194) 및 보안 모듈(180)이 도시되어 있지만, 임의의 수의 인증 기관 서버(110), 클라이언트 컴퓨팅 디바이스(190), 디바이스 정보 데이터베이스(194) 및 보안 모듈(180)을 포함한다. 비 제한적인 구현 예에서, 단일 컴퓨팅 디바이스가 도 1에 보인 컴포넌트들과 달리 인증 기관 서버(110) 및 디바이스 정보 데이터베이스(194)의 기능을 구현할 수 있다.
클라이언트 컴퓨팅 디바이스(190 및 192)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 모바일 폰, PDA(personal digital assistant), 태블릿 컴퓨터, 넷북, 하나 이상의 프로세서가 내장되거나 그에 결합된 텔레비전, 물리적 컴퓨터 또는 가상 컴퓨터에서 실행된다. 클라이언트 컴퓨팅 디바이스(190 및 192)는 각각 키보드, 마우스, 디스플레이 또는 터치 스크린 중 하나 이상을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(190 및 192)는 각각 웹 콘텐츠를 디스플레이하도록 구성된 웹 애플리케이션을 포함할 수 있다. 대안적으로, 클라이언트 컴퓨팅 디바이스(190 및 192)는 웹 콘텐츠에 액세스하기 위한 특수 목적의 애플리케이션(예를 들어, 이동 전화 또는 태블릿 컴퓨터 애플리케이션)을 포함할 수 있다. 보안 모듈(180)은 컴퓨팅 디바이스(190 및 192)의 제조 중에 컴퓨팅 디바이스(190 및 192)에 내장될 수 있다.
일부 구현에서 피어 투 피어 증명은 한 디바이스가 클라우드 컴퓨팅 서비스에 대한 인터넷 연결 또는 액세스 없이도 다른 디바이스에 대한 속성을 증명할 수 있게 한다. 컴퓨팅 디바이스는 다른 디바이스로부터의 클레임(예를 들어, 정보 또는 데이터 액세스 요구)을 신뢰할 수 있는지 여부를 알 수 있는 방법을 필요로 할 수 있다. 이 신뢰는 자체 하드웨어 신뢰 루트(HRoT), 피어 디바이스의 HRoT 및 피어 디바이스 TPM 제조업체를 기반으로 한다. 도 2는 개시된 구현에 따라 피어 투 피어 증명 시스템에서의 신뢰의 흐름을 묘사하는 예시적인 신뢰 그래프를 도시한다. 예를 들어, 시스템 내의 임의의 단일 루트 신뢰도의 타협은 임의의 계산 디바이스(예를 들어, 컴퓨팅 디바이스(190 또는 192))에 의한 검증된 클레임 중 어느 것도 임의의 값을 유지할 수 없음을 의미한다. 또한, 비제한적인 예로서, 일부 컴퓨팅 디바이스의 경우, 물리적 액세스로 디바이스 HRoT를 변경하는 것이 가능할 수 있지만, 원격으로 변경하는 것은 불가능하다. 도 2에 도시된 바와 같이, TPM 제조업자 승인(202)은 칩이 TPM 표준에 따라 제조되었고 칩 공급 체인을 목표로 하였음을 증명한다.
각 TPM 제조업체는 자신이 생산하는 모듈을 보증한다. HRoT(SELF)(204)은 디바이스가 부팅될 때 실행할 첫 번째 명령을 보유하는 판독전용 비휘발성 메모리이다. HRoT(PEER)(206)는 피어 디바이스상의 동일한 메모리 일 수 있다. Verified Boot(Self)(208)는 검증된 부팅 프로세스일 수 있으며, 여기서 전체 시스템은 제 1 실행 코드에 기초하여 검증된다. 확인된 부팅의 신뢰는 HRoT의 신뢰를 기반으로 한다. Verified Boot(PEER)(210)는 피어 디바이스상의 동일한 프로세스 일 수 있다.
보증 증서 목록(212)은 인증 증서 기관 루트 증서의 리스트, 예를 들어, 각각의 TPM 제품 라인에 대한 증서 일 수 있다. PCR 값(214)은 부트 동안 측정된 피어 TPM의 플랫폼 구성 레지스터(PCR) 값일 수 있다. 각 PCR 값은 디바이스에 관한 정보(예 : 작동 모드, 디바이스 유형 등)를 보유할 수 있다. 식별 키(216)는 피어 TPM에 의해 보호될 것으로 증명될 수 있는 키일 수 있다. 견적(218)은 식별 키(216)에 의한 PCR 값의 서명일 수 있다.
확인된 클레임(220)은 PCR 견적이 확인되면 피어 디바이스(PCR 값)가 제공한 클레임이 확인되고 트러스트될 수 있다(트러스트의 뿌리를 가정함). 인증된 키(222)는 동일한 피어 TPM에 의해 보호되는 것과 같이 피어 식별 키에 의해 인증된 선택적인 확장 또는 키일 수 있다.
전술 한 바와 같이, 보안 모듈(180)의 메모리(120)는 보증 엔진(132), 레지스터(134), 키 생성기(136), 서명 엔진(138) 및 암호화 엔진(142)을 포함할 수 있다.
개시된 실시 예는 2 개 이상의 디바이스들(예를 들어, 컴퓨팅 디바이스(190) 및 컴퓨팅 디바이스(192)) 사이의 보안 채널 인증 및 피어 투 피어 증명을 가능하게 할 수 있다. 예를 들어, 컴퓨팅 디바이스(190)에서, 컴퓨팅 디바이스(192)로부터 발견 메시지가 수신된다. 예로서 도 3에 도시된 바와 같이,이 메시지(M0)는 발견 메시지 일 수 있다. 발견 메시지에 기초하여, 통신 채널이 컴퓨팅 디바이스(190 및 192) 사이에 설정될 수 있다. 컴퓨팅 디바이스(190)에서 신원(또는 다른 디바이스 클레임들) 정보가 컴퓨팅 디바이스(192)로부터 수신될 수 있다. 예로서 도 3에 도시된 바와 같이, 메시지 M1은 신원 및 클레임 메시지 일 수 있다. 신원 정보는 TPM(Trusted Platform Module) 승인 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값 또는 다음 중 하나 이상의 견적을 포함할 수 있지만 이에 국한되지는 않는다.
그 후, 컴퓨팅 디바이스(190)는 PCR 값, 견적 또는 보증(endorsement) 키 증서 중 하나 이상을 검증할 수 있다. 검증에 기초하여, 컴퓨팅 디바이스(190)는 컴퓨팅 디바이스(192)에 생성된 랜덤 값을 포함하는 서명 키를 포함하는 메시지를 컴퓨팅 디바이스(192)에 전송할 수 있다. 컴퓨팅 디바이스(190)는 또한 서명 키와 신원 키와 관련된 정보의 조합을 승인 공개 키로 암호화할 수 있다. 그 다음, 컴퓨팅 디바이스(190)는 암호화된 조합을 컴퓨팅 디바이스(192)에 제공할 수 있다. 도 3에 도시된 바와 같이, 이러한 암호화된 결합은 "챌린지" 메시지(M2) 일 수 있는 메시지에 포함될 수 있다.
암호화된 조합이 컴퓨팅 디바이스(192)에 제공된 후 응답 (예를 들어,도 3의 챌린지 응답 M3)이 컴퓨팅 디바이스(192)로부터 제 1 디바이스의 컴퓨팅 디바이스(190)에서 수신되면, 컴퓨팅 디바이스(190)는 응답에 포함된 서명을 검증할 수 있다. 서명이 검증될 때, 컴퓨팅 디바이스(190)는 서명의 검증에 기초하여 제 2 디바이스의 통신 채널 또는 신원 정보 중 하나 이상을 인증한다.
이러한 방식으로, 컴퓨팅 디바이스(190 및 192)는 인터넷(또는 이와 유사한) 연결이 이용 가능하지 않을 에도 피어 투 피어 방식을 통해 각각에 그들의 신원을 증명할 수 있다. 예를 들어, 컴퓨팅 디바이스(190)는 블루투스를 통해 컴퓨팅 디바이스(192)와 WiFi 크리덴셜 증명을 공유할 수 있다. 또 다른 예에서, 특정 타입의 다수의 디바이스는 그들이 근접한 경우 서로 조정할 수 있다. 개시된 구현 예는 2 개의 디바이스로 제한되지 않고 임의의 수의 디바이스 및 임의 유형의 유선 또는 무선 네트워크와 함께 작동할 수 있다.
일부 구현 예에서, TPM 보증 키 증서는 컴퓨팅 디바이스(192)의 제조업자에 의해 제공된다. 일부 구현 예에서, 보증 키 증서는 컴퓨팅 디바이스(190)에 저장된 유효한 보증 루트 권한들의 목록에 대해 컴퓨팅 디바이스(190)에 의해 검증될 수 있다. 조합은 클라이언트 컴퓨팅 디바이스(190 또는 192)에서 TPM에 의해 판독 가능한 데이터 구조일 수 있다. 일부 구현 예에서, 서명 키는 컴퓨팅 디바이스(192)의 TPM이 보증 공개 키 및 신원 키를 위한 개인 키를 포함할 때 컴퓨팅 디바이스(192)에 의해 암호화된 조합으로부터 복구될 수 있다. 일부 구현 예에서, 응답은 컴퓨팅 디바이스(192)가 암호화된 조합으로부터 서명 키를 복구할 수 있을 때 컴퓨팅 디바이스(192)로부터 수신된다. 일부 구현 예에서, 컴퓨팅 디바이스(192)로부터의 응답은 서명 키를 사용하여 암호화된 조합의 서명을 포함한다.
일부 구현 예에서, WiFi(또는 다른 무선 또는 유선) 접속 데이터는 컴퓨팅 디바이스(190 및 192) 간의 피어 투 피어 증명 또는 증명을 위해 사용될 수 있다. 일부 구현 예에서, 컴퓨팅 디바이스(190)는 컴퓨팅 디바이스(192)로부터 발견 메시지(예를 들어,도 4의 메시지 MO)가 수신된다. 발견 메시지에 기초하여, 통신 채널이 컴퓨팅 디바이스(190 및 192) 사이에 설정될 수 있다. 컴퓨팅 디바이스(190)에서, 신원 정보(예를 들어, 도 4의 메시지 M1)는 컴퓨팅 디바이스(192)로부터 수신될 수 있다. 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함할 수 있지만 이에 국한되지는 않는다.
그 후, 컴퓨팅 디바이스(190)는 PCR 값, 견적 또는 보증(endorsement) 키 증서 중 하나 이상을 검증할 수 있다. 검증에 기초하여, 컴퓨팅 디바이스(190)는 설정된 통신 채널과 관련된 연결성 정보(예를 들어, WiFi 연결성 정보)를 포함하는 메시지를 컴퓨팅 디바이스(192)에 전송할 수 있다. 컴퓨팅 디바이스(190)는 또한 인증 정보 공개 키와 함께 접속 성 정보 및 신원 키와 관련된 정보의 조합을 암호화할 수 있다. 그 다음, 컴퓨팅 디바이스(190)는 암호화된 조합을 컴퓨팅 디바이스(192)에 제공할 수 있다. 를 포함한다. 도 4에 도시된 바와 같이, 이러한 암호화된 조합은 "챌린지"메시지(M2) 일 수 있는 메시지에 포함될 수 있다.
컴퓨팅 디바이스(190)에서 컴퓨팅 디바이스(192)로부터 응답이 수신되면, 암호화된 조합 후의 제 1 디바이스는 컴퓨팅 디바이스(192)에 제공되고, 컴퓨팅 디바이스(190)는 응답에 포함된 서명을 검증할 수 있다. 서명이 검증될 때, 컴퓨팅 디바이스(190)는 서명의 검증에 기초하여 제 2 디바이스의 통신 채널 또는 신원 정보 중 하나 이상을 인증한다.
이러한 방식으로, 컴퓨팅 디바이스(190 및 192)는 인터넷(또는 유사한) 연결이 이용 가능하지 않을 때에도 피어 투 피어 방식을 통해 각각에 그들의 신원을 증명할 수 있다.
예를 들어, 컴퓨팅 디바이스(190)는 블루투스를 통해 컴퓨팅 디바이스(192)와 WiFi 크리덴셜 증명을 공유할 수 있다. 또 다른 예에서, 특정 타입의 다수의 디바이스는 그들이 근접한 경우 서로 조정할 수 있다. 개시된 구현 예는 2 개의 디바이스로 제한되지 않고 임의의 수의 디바이스 및 임의 유형의 유선 또는 무선 네트워크와 함께 작동할 수 있다.
일부 구현들에서, 개시된 양상들은 컴퓨팅 디바이스(190 및 192) 간의 디바이스 쌍을 위해 사용될 수 있다. 일부 구현에서, 컴퓨팅 디바이스(190)는 컴퓨팅 디바이스(192)로부터 발견 메시지가 수신된다. 발견 메시지에 기초하여, 통신 채널이 컴퓨팅 디바이스(190 및 192) 사이에 설정될 수 있다. 컴퓨팅 디바이스(190)에서, 신원 정보는 컴퓨팅 디바이스(192)로부터 수신될 수 있다. 신원 정보는 TPM(Trusted Platform Module) 승인 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값, 비대칭 서명 키의 공개 부분, 신원 키에 의한 비대칭 서명 키의 공개 부분의 서명, 또는 신원 키로의 PCR 값의 인용 중 하나 이상을 포함할 수 있지만 이에 국한되지는 않는다.
컴퓨팅 디바이스(190)는 비대칭 서명 키의 인증을 검증할 수 있다. 검증에 기초하여 또는 인증이 확인되면, 컴퓨팅 디바이스(190)는 설정된 통신 채널과 관련된 연결성 정보(예를 들어, WiFi 연결성 정보)를 포함하는 메시지를 컴퓨팅 디바이스(192)에 전송할 수 있다. 컴퓨팅 디바이스(190)는 또한 인증 정보 공개 키와 함께 접속성 정보 및 신원 키와 관련된 정보의 조합을 암호화할 수 있다. 그 다음, 컴퓨팅 디바이스(190)는 암호화된 조합을 컴퓨팅 디바이스(192)에 제공할 수 있다.
암호화된 조합이 컴퓨팅 디바이스(192)에 제공된후 컴퓨팅 디바이스(192)로부터 응답이 제 1 디바이스의 컴퓨팅 디바이스(190)에 수신되면, 컴퓨팅 디바이스(190)는 응답에 포함된 서명을 검증할 수 있다. 서명이 검증될 때, 컴퓨팅 디바이스(190)는 서명의 검증에 기초하여 제 2 디바이스의 통신 채널 또는 신원 정보 중 하나 이상을 인증한다.
이러한 방식으로, 컴퓨팅 디바이스(190 및 192)는 인터넷(또는 유사한) 연결이 이용 가능하지 않을 때에도 피어 투 피어 방식을 통해 각각에 그들의 신원을 증명할 수 있다.
일부 구현 예에서, 부팅 프로세스 동안, 보안 모듈(180)은 BIOS, 부트 로더 및 컴퓨팅 디바이스(190)의 운영 체제 커널을 비롯한 하나 이상의 소프트웨어 및 펌웨어 컴포넌트들을 (이들이 컴퓨팅 디바이스(190)의 메모리에 로드되기 전에) 측정(예 : 해시 생성)할 수 있다. 소프트웨어 및 펌웨어 컴포넌트가 실행되어 보안 모듈(180) 상에 저장되기 전에 이러한 무결성 측정을 수행함으로써, 측정은 후속 수정 시도로부터 격리되고 보안될 수 있다. 무결성 측정치는 보안 모듈(180)에 의해 레지스터(134)에 저장될 수 있다.
일부 구현 예에서, 정보 특성화 컴퓨팅 디바이스(190)는 하드웨어 식별자를 포함할 수 있다. 하드웨어 식별자는 컴퓨팅 디바이스의 배치, 모델 또는 클래스 중 하나 이상을 식별할 수 있다. 하드웨어 식별은 숫자, 영숫자 문자열, 해시 값 또는 다른 식별 형식 일 수 있다. 하드웨어 식별자는 컴퓨팅 디바이스(190)의 제조 중에 보안 저장 디바이스(예를 들어, 저장 디바이스(126))에 저장될 수 있다. 보안 스토리지는 예를 들어, 비휘발성 랜덤 액세스 메모리(NVRAM) 인덱스일 수 있다. 일부 구현 예에서, 보안 저장 디바이스에 대한 액세스는 컴퓨팅 디바이스(190)의 하나 이상의 암호 키 또는 현재 동작 상태에 기초한다.
일부 구현 예에서, 서명 엔진(138)은 디지털 서명으로 무결성 측정을 디지털 방식으로 서명할 수 있다. 일부 구현 예에서, 디지털 서명은 암호 엔진(142)에 의해 생성된 해시 값 또는 암호 값일 수 있다.
일부 구현 예에서, 보증 엔진(132)은 증명 신원 증서, 전문 보증표(148)를 인증 기관 서버(110)에 제공하고, 인증 기관 서버(110)로부터 증명 신원 증명 정보(144)를 수신할 수 있다. 증명 신원 증명(144)의 수신은 보안 모듈(180) 및 컴퓨팅 디바이스(190)에 보안 모듈(180)이 인증되었음을 나타낼 수 있다. 보안 모듈이 인증될 때, 보안 모듈은 컴퓨팅 디바이스상의 소프트웨어 프로세스에 의해 신뢰될 수 있고, 예를 들어 패스워드, 디지털 크리덴셜명, 보안 데이터 및 소프트웨어 프로세스와 관련된 임의의 다른 데이터를 저장할 수 있다.
도 5는 도 4의 예시적인 아키텍처를 사용하여 본 기술의 구현을 실행하기 위한 예시적인 프로세스(500)이다. 비록 도 5는 도 1의 요소들을 참조로 하여 설명되지만 이에만 한정되지 않고 다른 시스템들 내에 적용될 수 있다.
[0053] 프로세스(500)는 제 1 디바이스가 제 2 디바이스로부터 발견 메시지를 수신할 때인 단계(502)에서 시작한다. 발견 메시지에 기초하여, 통신 채널이 제 1 디바이스와 제 2 디바이스 사이에 설정될 수 있다(단계 504). 제 1 디바이스가 설정된 통신 채널을 통해 제 2 디바이스로부터 신원 정보를 수신할 수 있다(단계 506). 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하지만 이에 국한되지는 않는다.
그 다음, 제 1 디바이스는 PCR 값, 견적 또는 보증(endorsement) 키 증서 중 하나 이상을 검증할 수 있다(단계 508). 검증에 기초하여, 제 1 디바이스는 서명 키를 포함하는 메시지를 제 2 디바이스에 전송할 수 있으며, 여기서 서명 키는 제 1 디바이스에 의해 생성된 난 수 값을 포함한다(단계 510). 제 1 디바이스는 또한 보증 공개 키로, 서명 키와 신원 키와 관련된 정보의 조합을 암호화할 수 있다(단계 512). 제 1 디바이스는 암호화된 조합을 제 2 디바이스에 제공할 수 있다(단계 514).
암호화된 조합이 제 2 디바이스에 제공된 후에 제 2 디바이스로부터 응답이 제 1 디바이스에 수신되면, 제 1 디바이스는 응답에 포함된 서명을 검증할 수 있다(단계 516). 서명이 검증되면, 제 1 디바이스는 서명의 검증에 기초하여 제 2 디바이스의 하나 이상의 통신 채널 또는 신원 정보를 인증한다(단계 518).
도 6은 도 1의 예시적인 아키텍처를 사용하여 본 기술의 구현을 실시하기 위한 예시적인 프로세스(600)이다. 도 6은 도 1의 컴포넌트를 참조하여 설명되지만, 이에 국한되지 않으며 다른 시스템들 내에 적용될 수 있다.
프로세스(600)는 제 1 디바이스가 제 2 디바이스로부터 발견 메시지를 수신할 때인 단계(602)에서 시작한다. 발견 메시지에 기초하여, 통신 채널이 제 1 디바이스와 제 2 디바이스 사이에 설정될 수 있다(단계 604). 제 1 디바이스가 설정된 통신 채널을 통해 제 2 디바이스로부터 신원 정보를 수신할 수 있다(단계 606). 신원 정보는 TPM(Trusted Platform Module) 승인 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값 또는 다음 중 하나 이상의 견적을 포함할 수 있지만 이에 국한되지는 않는다.
그 후, 제 1 디바이스는 PCR 값, 견적 또는 보증(endorsement) 키 증서 중 하나 이상을 검증할 수 있다(단계(608)). 검증에 기초하여, 제 1 디바이스는 제 2 디바이스에 설정된 통신 채널과 관련된 연결성 정보를 포함하는 메시지를 보낼 수 있다(단계 610). 제 1 디바이스는 또한 승인 정보 공개 키로 신원 정보 키 및 신원 키와 관련된 정보의 조합을 암호화할 수 있다(단계 612). 그 다음, 제 1 디바이스는 암호화된 조합을 제 2 디바이스에 제공할 수 있다(단계 614).
통신 채널(예를 들어, WiFi) 공유는 제 2 디바이스가 패킷을 해독할 때 완료된다(단계 616).
도 7은 도 1의 예시적인 디바이스를 사용하여 본 기술의 구현을 실시하기 위한 예시적인 프로세스(700)이다. 비록 도 7은 도 1의 요소들을 참조로 하여 설명되지만 이에만 한정되지 않고 다른 시스템들 내에 적용될 수 있다.
프로세스(700)는 제 1 디바이스가 제 2 디바이스로부터 발견 메시지를 수신할 때인 단계(702)에서 시작한다. 발견 메시지에 기초하여, 통신 채널이 제 1 디바이스와 제 2 디바이스 사이에 설정될 수 있다(단계 704). 제 1 디바이스가 설정된 통신 채널을 통해 제 2 디바이스로부터 식별 정보를 수신될 수 있다(단계 706). 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하지만 이에 국한되지는 않는다.
그 후, 제 1 디바이스는 인증 서명 키의 인증을 검증할 수 있다(단계(708)). 검증에 기초하여, 제 1 디바이스는 제 2 디바이스에, 설정된 통신 채널과 관련된 연결성 정보를 선택적으로 포함하는 메시지를 보낼 수 있다(단계 710). 제 1 디바이스는 또한 서명 키와 신원 키와 관련된 정보의 조합을 승인 공개 키로 암호화할 수 있다(단계 712). 그 후, 제 1 디바이스는 암호화된 조합을 제 2 디바이스에 제공할 수 있다(단계 714).
암호화된 조합이 제 2 디바이스에 제공된 후에 제 1 디바이스가 제 2 디바이스로부터 응답을 수신하면, 제 1 디바이스는 응답에 포함된 서명을 검증할 수 있다(단계 716). 서명이 검증될 때, 제 1 디바이스는 서명의 검증에 기초하여 제 2 디바이스의 하나 이상의 통신 채널 또는 신원 정보를 인증한다(단계 718).
다시 도 1을 참조하면, 특정 양상들에서, 보안 모듈(180)은 전용 서버, 컴퓨팅 디바이스 또는 다른 엔티티에 통합되거나 다수의 개체들에 걸쳐 분산되어 있는 하드웨어 또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다.
보안 모듈(180)은 정보를 통신하기 위한 버스(124) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(124)와 결합된 프로세서(112)를 포함한다. 프로세서(112)는 범용 마이크로 프로세서, 마이크로 컨트롤러, DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), PLD(Programmable Logic Device) 상태 기계, 게이트 로직, 개별 하드웨어 컴포넌트 또는 계산 또는 다른 정보 조작을 수행할 수 있는 임의의 다른 적합한 엔티티일 수 있다.
보안 모듈(180)은 하드웨어 이외에, 문제의 컴퓨터 프로그램, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들의 조합을 구성하는 코드에 대한 실행 환경을 생성하는 코드를 포함할 수 있다 또는 그 이상이 메모리(120)에 저장된다. 메모리(120)는 RAM(Random Access Memory), 플래시 메모리, ROM, PROM, EPROM, 하드 디스크, 이동식 디스크, CD , 프로세서(112)에 의해 실행될 정보 및 명령어를 저장하기 위해 버스(124)에 연결된 ROM, DVD, 또는 임의의 다른 적절한 저장 디바이스일 수 있다. 프로세서(112) 및 메모리(120)는 특수 목적 논리 회로에 의해 보충되거나 또는 그 안에 포함될 수 있다.
명령들은 메모리(120)에 저장될 수 있고 하나 이상의 컴퓨터 프로그램 제품, 즉 보안 모듈(180)에 의해 실행되거나 보안 모듈(180)의 동작을 제어하기 위해 컴퓨터 판독 가능 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들, 데이터 지향 언어(예를 들어, SQL, dBase), 시스템 언어(예를 들어, C, Objective-C)와 같은 컴퓨터 언어를 포함하지만 이에 한정되지 않는, 당업자에게 잘 알려진 임의의 방법에 따라, C ++, 어셈블리), 건축 언어(예 : Java, NET) 및 응용 프로그램 언어(예 : PHP, Ruby, Perl, Python) 명령어는 배열 언어, 애스펙트 지향 언어, 어셈블리 언어, 저작 언어, 명령 행 인터페이스 언어, 컴파일 언어, 동시 언어, 중괄호 언어, 데이터 흐름 언어, 데이터 구조화 언어, 선언적 언어와 같은 컴퓨터 언어로 구현될 수도 있다. 상호 언어 모드, 반복 언어, 반복 언어, 목록 기반 언어, 작은 언어, 논리 기반 언어, 기계 언어, 매크로 언어, 메타 프로그래밍 언어, 다중 패러다임 언어, 수치 기반 분석, 비 영어 기반 언어, 객체 지향 클래스 기반 언어, 객체 지향 프로토 타입 기반 언어, 오프 사이드 규칙 언어, 절차 언어, 반영 언어, 규칙 기반 언어, 스크립팅 언어, 스택 기반 언어 , 동기 언어, 구문 처리 언어, 시각 언어, 워스 언어, 내장 가능 언어 및 xml-기반 언어를 지원한다.
메모리(120)는 또한 프로세서(112)에 의해 실행될 명령들의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다.
여기에서 논의된 바와 같은 컴퓨터 프로그램은 반드시 파일 시스템 내의 파일에 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예 : 마크 업 언어 문서에 저장된 하나 이상의 스크립트), 문제의 프로그램 전용 파일 하나 또는 여러 개의 조정 파일(예 : 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일). 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러 대의 컴퓨터에서 실행되도록 컴퓨터 프로그램을 배포할 수 있다. 본 명세서에서 설명되는 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다.
보안 모듈(180)은 정보 및 명령들을 저장하기 위해 버스(124)에 결합된 자기 디스크 또는 광 디스크, 고체 상태 메모리, 비 휘발성 메모리 등과 같은 데이터 저장 디바이스(126)를 더 포함한다. 클라이언트(190)는 입/출력 모듈을 통해 다양한 디바이스에 연결될 수 있다. 입/출력 모듈은 모든 입력/출력 모듈이될 수 있다. 예시 입출력 모듈은 USB 포트와 같은 데이터 포트를 포함한다. 입출력 모듈은 통신 모듈에 연결하도록 구성할 수 있다. 통신 모듈의 예로는 이더넷 카드 및 모뎀과 같은 네트워킹 인터페이스 카드가 있다. 특정 양상들에서, 입력/출력 모듈은 입력 디바이스 및/또는 출력 디바이스와 같은 복수의 디바이스들에 접속하도록 구성된다. 예시적인 입력 디바이스는 사용자가 클라이언트 컴퓨팅 디바이스(190) 및 보안 모듈(180)에 입력을 제공할 수있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 포함한다. 촉각 입력 디바이스, 시각 입력 디바이스, 오디오 입력 디바이스 또는 뇌 - 컴퓨터 인터페이스 디바이스와 같은 다른 종류의 입력 디바이스가 사용자와의 상호 작용을 제공하기 위해 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백 일 수 있다. 사용자로부터의 입력은 음향, 음성, 촉각 또는 뇌파를 포함하는 임의의 형태로 수신될 수 있다. 예시적인 출력 디바이스는 LED(발광 다이오드), CRT(음극선 관) 또는 LCD 액정 디스플레이) 스크린을 포함한다.
본 개시의 일 양상에 따르면, 보안 모듈(180)은 메모리(120)에 포함된 하나 이상의 명령의 하나 이상의 시퀀스를 실행하는 프로세서(112)에 응답하여 클라이언트 컴퓨팅 디바이스(190)에서 구현될 수 있다. 이러한 명령은 저장 디바이스(126)와 같은 다른 머신 판독 가능 매체로부터 메모리(120)로 판독될 수 있다. 메인 메모리(120)에 포함된 명령들의 시퀀스들의 실행은 프로세서(112)가 본 명세서에서 설명된 프로세스 블록들을 수행하게 한다. 다중 처리 디바이스 내의 하나 이상의 프로세서가 또한 메모리(120)에 포함된 명령 시퀀스를 실행하기 위해 사용될 수 있다. 대안적인 양상들에서, 본 발명의 다양한 양상들을 구현하기 위해 소프트웨어 명령 대신 또는 하드웨어 명령과 함께 하드 와이어드 회로가 사용될 수 있다. 따라서, 본 개시의 양상들은 하드웨어 회로 및 소프트웨어의 특정 조합으로 제한되지 않는다.
본 명세서에서 설명된 본질의 다양한 양태는, 예를 들어 데이터 서버와 같은 백 엔드 컴포넌트를 포함하거나, 또는 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나 프론트 엔드를 포함하는 컴퓨팅 시스템에서 구현될 수 있다 컴포넌트, 예를 들어, 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에서 설명된 발명의 구현 예와 상호 작용할 수있는 웹 브라우저, 또는 그러한 백 엔드, 미들웨어 또는 프론트 엔드 중 하나 이상의 조합 컴포넌트. 시스템의 컴포넌트는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크(예를 들어, 네트워크(170))는 예를 들어, 개인 영역 네트워크(PAN), 근거리 통신망(LAN), 캠퍼스 영역 네트워크(CAN), 대도시 영역 네트워크), 광역 네트워크(WAN), 광대역 네트워크(BBN), 인터넷 등을 포함할 수 있다. 또한, 통신 네트워크는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타 버스 네트워크 등을 포함하는 임의의 하나 이상의 다음 네트워크 토폴로지를 포함할 수 있지만, 이에 한정되는 것은 아니다. 트리 또는 계층 적 네트워크 등을 포함할 수 있다. 통신 모듈은 예를 들어 모뎀 또는 이더넷 카드 일 수 있다.
클라이언트 컴퓨팅 디바이스(190)는 예를 들어, 데스크탑 컴퓨터, 랩톱 컴퓨터 또는 태블릿 컴퓨터 일 수 있으며, 이에 한정되는 것은 아니다. 클라이언트 컴퓨팅 디바이스(190)는 또한 예를 들어, 이동 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 플레이어, GPS 수신기, 비디오 게임 콘솔 등과 같은 다른 디바이스에 내장될 수 있다. 및/또는 텔레비전 셋톱 박스일 수 있다.
본 명세서에서 사용되는 "기계 판독 가능 저장 매체"또는 "컴퓨터 판독 가능 매체"라는 용어는 실행을 위해 프로세서(112)에 명령 또는 데이터를 제공하는데 참여하는 임의의 매체 또는 매체를 지칭한다. 그러한 매체는 비 휘발성 매체 및 휘발성 매체를 포함하지만 이에 한정되지 않는 많은 형태를 취할 수 있다. 비 휘발성 매체는 예를 들어 광 디스크, 자기 디스크, 또는 데이터 저장 디바이스(126)와 같은 플래시 메모리를 포함한다. 휘발성 매체는 메모리(120)와 같은 동적 메모리를 포함한다. 전송 매체는 버스(124)를 포함하는 와이어를 포함하는 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 기계 판독 가능 매체의 일반적인 형태는 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD, 임의의 다른 광학 매체, 펀치 카드, 종이 테이프, 구멍의 패턴을 갖는 물리적 매체, RAM, PROM, EPROM, FLASH EPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체일 수 있다. 기계 판독 가능 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 메모리 디바이스, 기계 판독 가능 전파 신호를 발생시키는 물질의 구성, 또는 이들 중 하나 이상의 조합일 수 있다.
본 명세서에 사용된 어구 "어떤 항목을 분리하기 위해"및 "또는"이라는 용어로 일련의 항목을 선행하는 적어도 하나의 구는 목록의 각 구성원(즉, , 각 항목). "최소한 하나는 적어도 하나의 항목을 선택할 필요가 없으며, 그 문구는 항목 중 어느 하나와 적어도 하나의 항목 중 적어도 하나를 포함하는 의미를 허용하고/또는 각각의 항목들 중 적어도 하나. 예로서, "A, B 및 C 중 적어도 하나"또는 "A, B 또는 C 중 적어도 하나"라는 문구는 각각 A, B 또는 C만을 나타냄; A, B 및 C의 임의의 조합; 및/또는 A, B, 및 C의 각각 하나 이상을 포함한다.
또한, "포함한다", "가지고 있다"등의 용어가 명세서 또는 청구 범위에서 사용되는 한, 그러한 용어는 "포함한다"라는 용어와 유사한 방식으로 포함되는 것으로 의도된다. 주장에서 과도기적 단어로 사용될 때 해석된다.
단수로 된 요소에 대한 언급은 특별히 언급되지 않는 한 "하나 또는 하나"를 의미하는 것이 아니라 "하나 이상"을 의미한다. 당해 기술 분야의 당업자에게 공지되거나 추후 공지될 본 개시 물 전반에 걸쳐 기술된 다양한 컴포넌트의 요소에 대한 모든 구조적 및 기능적 등가물은 본원에 참조로서 명시적으로 포함되며 본 기술에 포함되는 것으로 의도된다. 또한, 여기에 개시된 어떠한 것도 그러한 개시가 상기 설명에서 명시적으로 인용되었는지의 여부에 관계없이 대중에게 전념하려는 의도는 아니다.
본 명세서는 많은 세부 사항을 포함하지만, 이것들은 청구될 수있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 발명의 특정 구현에 대한 설명으로 해석되어야한다. 별도의 양상의 문맥에서 본 명세서에 기술된 특정 특징은 또한 단일 측면에서 조합하여 구현될 수 있다. 반대로, 단일 양상의 문맥에서 설명되는 다양한 특징은 또한 다중 양상으로 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 작용하고 심지어 초기에는 그러한 것으로서 주장되는 경우조차도 상기에서 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 변형으로 유도될 수 있다 하위 조합
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작들을 달성하기 위해, 그러한 동작들이 도시된 순서 또는 순차적 인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술 한 양태들에서 다양한 시스템 컴포넌트들의 분리는 모든 양상들에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 여러 소프트웨어 제품.
이 명세서의 발명는 특정 양태의 관점에서 기술되었지만, 다른 양태가 구현될 수 있으며,하기 청구 범위의 범주 내에 있다. 예를 들어, 청구 범위에 열거된 동작은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로하지는 않는다. 특정 구현 예에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 다른 변형은하기 청구 범위의 범주 내에 있다.
이들 및 다른 구현 예들은 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 컴퓨터에 의해 구현되는 방법에 있어서,
    제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지를 수신하는 단계와;
    상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 단계와;
    상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 단계와, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며;
    상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 단계와;
    상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 단계와, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며;
    상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 단계와;
    상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 단계와;
    상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 단계와; 그리고
    상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 TPM 보증 증서는 상기 제 2 디바이스의 제조자에 의해 제공되는, 방법.
  3. 제 1 항에 있어서,
    상기 TPM 보증 키 증서는 상기 제 1 디바이스에 저장된 유효한 보증 루트 권한 들의 리스트에 대해 검증되는, 방법.
  4. 제 1 항에 있어서,
    상기 조합은 상기 제 1 디바이스 또는 상기 제 2 디바이스에서의 TPM에 의해 판독 가능한 데이터 구조인, 방법.
  5. 제 1 항에 있어서,
    상기 서명 키는 상기 제 2 디바이스의 TPM이 상기 보증 공개 키 및 상기 신원 키를 위한 개인 키를 포함할 때 상기 제 2 디바이스에 의해 상기 암호화된 조합으로부터 복구되는, 방법.
  6. 제 5 항에 있어서,
    상기 응답은 상기 제 2 디바이스가 상기 암호화된 조합으로부터 상기 서명 키를 복구할 수 있을 때 상기 제 2 디바이스로부터 수신되는, 방법.
  7. 제 1 항에 있어서,
    상기 제 2 디바이스로부터의 응답은 상기 서명 키를 사용하여 상기 제 2 디바이스에 의해 복원된 상기 서명된 키의 상기 암호화된 결합의 서명을 포함하는, 방법.
  8. 프로세서에 의해 실행될 때, 프로세서로 하여금 동작들을 수행하도록 하는 명령들이 저장된 머신 판독 가능 매체로서, 상기 동작들은:
    제 1 디바이스에서, 제 2 디바이스로부터 검색 메시지를 수신하는 동작과;
    상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 동작과;
    상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 동작과, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module) 보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며;
    상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 동작과;
    상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 동작과, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며;
    상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 동작과;
    상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 동작과;
    상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 동작과; 그리고
    상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 동작을 포함하는, 머신 판독 가능 매체.
  9. 제 8 항에 있어서,
    상기 TPM 보증 증서는 상기 제 2 디바이스의 제조자에 의해 제공되는, 머신 판독 가능 매체.
  10. 제 8 항에 있어서,
    상기 TPM 보증 키 증서는 상기 제 1 디바이스에 저장된 유효한 보증 루트 권한들의 리스트에 대해 검증되는, 머신 판독 가능 매체.
  11. 제 8 항에 있어서,
    상기 조합은 상기 제 1 디바이스 또는 상기 제 2 디바이스에서의 TPM에 의해 판독 가능한 데이터 구조인, 머신 판독 가능 매체.
  12. 제 8 항에 있어서,
    상기 서명 키는 상기 제 2 디바이스의 TPM이 상기 보증 공개 키 및 상기 신원 키를 위한 개인 키를 포함할 때 상기 제 2 디바이스에 의해 상기 암호화된 조합으로부터 복구되는, 머신 판독 가능 매체.
  13. 제 12 항에 있어서,
    상기 응답은 상기 제 2 디바이스가 상기 암호화된 조합으로부터 상기 서명 키를 복구할 수 있을 때 상기 제 2 디바이스로부터 수신되는, 머신 판독 가능 매체.
  14. 제 8 항에 있어서,
    상기 제 2 디바이스로부터의 응답은 상기 서명 키를 사용하여 상기 제 2 디바이스에 의해 복원된 상기 서명된 키의 상기 암호화된 결합의 서명을 포함하는, 머신 판독 가능 매체.
  15. 시스템으로서,
    명령들을 구비하는 메모리와;
    상기 명령들이 다음 동작을 실행하게 하는 프로세서를 포함하며,
    상기 동작들은:
    제 1 디바이스에서, 제 2 디바이스로부터 발견 메시지를 수신하는 동작과;
    상기 발견 메시지에 기초하여, 상기 제 1 디바이스와 상기 제 2 디바이스 사이에 통신 채널을 설정하는 동작과;
    상기 제 1 디바이스에서, 상기 제 2 디바이스로부터 신원 정보를 수신하는 동작과, 상기 신원 정보는 트러스트 플랫폼 모듈(TPM: Trusted Platform Module)보증 키 증서, 신원 키의 공개 부분, 하나 이상의 플랫폼 제어 레지스터(PCR) 값들, 상기 신원 키로의 상기 PCR 값 견적(quote) 중 하나 이상을 포함하며;
    상기 제 1 디바이스에서, 상기 PCR 값, 상기 견적, 상기 보증 키 증서 중 하나 이상을 검증하는 동작과;
    상기 검증에 기초하여, 상기 제 1 디바이스로부터 상기 제 2 디바이스로 서명 키를 포함하는 메시지를 전송하는 동작과, 상기 서명 키는 상기 제 1 디바이스에 의해 생성된 난수 값을 포함하며;
    상기 제 1 디바이스에서, 승인 공개 키로 상기 서명 키와 상기 신원 키와 관련된 정보의 조합을 암호화하는 동작과;
    상기 암호화된 조합을 상기 제 1 디바이스로부터 상기 제 2 디바이스로 제공하는 동작과;
    상기 암호화된 조합의 제공 후에 상기 제 1 디바이스에서 상기 제 2 디바이스로부터 응답이 수신되면, 상기 응답에 포함된 서명을 검증하는 동작과; 그리고
    상기 서명의 검증에 기초하여 상기 제 2 디바이스의 상기 통신 채널과 상기 신원 정보 중 하나 이상을 인증하는 동작을 포함하는, 시스템.
  16. 제 15 항에 있어서,
    상기 제 1 디바이스는 상기 제 2 디바이스로의 나중 연결을 인증하기 위해 상기 제 2 디바이스의 다른 메타데이터와 함께 상기 비대칭 서명을 보유하는, 시스템.
  17. 제 15 항에 있어서,
    상기 TPM 보증 키 증서는 상기 제 1 디바이스에 저장된 유효한 보증 루트 권한들의 리스트에 대해 검증되는, 시스템.
  18. 제 15 항에 있어서,
    상기 조합은 상기 제 1 디바이스 또는 상기 제 2 디바이스에서의 TPM에 의해 판독 가능한 데이터 구조인, 시스템.
  19. 제 15 항에 있어서,
    상기 서명 키는 상기 제 2 디바이스의 TPM이 상기 보증 공개 키 및 상기 신원 키를 위한 개인 키를 포함할 때 상기 제 2 디바이스에 의해 상기 암호화된 조합으로부터 복구되는, 시스템.
  20. 제 19 항에 있어서,
    상기 응답은 상기 제 2 디바이스가 상기 암호화된 조합으로부터 상기 서명 키를 복구할 수 있을 때 상기 제 2 디바이스로부터 수신되는, 머신 판독 가능 매체.
KR1020177031613A 2015-08-07 2016-06-22 피어 투 피어 증명 KR102062823B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/821,616 2015-08-07
US14/821,616 US9768966B2 (en) 2015-08-07 2015-08-07 Peer to peer attestation
PCT/US2016/038762 WO2017027104A1 (en) 2015-08-07 2016-06-22 Peer to peer attestation

Publications (2)

Publication Number Publication Date
KR20170133463A true KR20170133463A (ko) 2017-12-05
KR102062823B1 KR102062823B1 (ko) 2020-01-07

Family

ID=56511876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031613A KR102062823B1 (ko) 2015-08-07 2016-06-22 피어 투 피어 증명

Country Status (8)

Country Link
US (1) US9768966B2 (ko)
EP (1) EP3332347B1 (ko)
JP (1) JP6496424B2 (ko)
KR (1) KR102062823B1 (ko)
CN (1) CN107743624B (ko)
DE (1) DE112016003625T5 (ko)
GB (1) GB2553457A (ko)
WO (1) WO2017027104A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149642A1 (ko) * 2021-01-11 2022-07-14 이지스체인 주식회사 무선 통신을 이용한 개인간 비대면 신원 확인 시스템

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
CN113411769B (zh) 2015-09-30 2023-11-24 康明斯有限公司 用于安全远程信息处理通信的系统、方法和装置
US10009185B2 (en) * 2015-12-22 2018-06-26 Intel Corporation Chain of trust identification system and method
US20170288866A1 (en) * 2016-03-30 2017-10-05 AVAST Software s.r.o. Systems and methods of creating a distributed ring of trust
US11165565B2 (en) * 2016-12-09 2021-11-02 Microsoft Technology Licensing, Llc Secure distribution private keys for use by untrusted code
US10318738B2 (en) * 2016-12-27 2019-06-11 Intel Corporation Distributed secure boot
US10666658B2 (en) * 2017-01-30 2020-05-26 Ncr Corporation Trusted network entity secure connectivity
BE1025003B1 (fr) * 2017-02-23 2018-09-17 Laszlo Pinter Méthode et dispositif pour identifier un véhicule et son conducteur
US10574167B2 (en) * 2017-02-24 2020-02-25 Fuji Electric Co., Ltd. Load control system
AU2018315624A1 (en) * 2017-08-08 2020-02-27 Richardson, Ric B Method and apparatus for operating a computer
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
CN109960935B (zh) * 2017-12-22 2021-02-05 华为技术有限公司 确定tpm可信状态的方法、装置及存储介质
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10587400B2 (en) * 2018-02-12 2020-03-10 Afero, Inc. System and method for securely configuring a new device with network credentials
US10924282B2 (en) * 2018-05-24 2021-02-16 Cyber Pack Ventures, Inc. System and method for measuring and reporting IoT boot integrity
US11144620B2 (en) * 2018-06-26 2021-10-12 Counseling and Development, Inc. Systems and methods for establishing connections in a network following secure verification of interested parties
US11165766B2 (en) * 2018-08-21 2021-11-02 International Business Machines Corporation Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove
US10885197B2 (en) 2018-09-21 2021-01-05 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
US11206141B2 (en) * 2018-09-21 2021-12-21 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
EP3977676A4 (en) * 2019-05-24 2023-05-31 Journey.AI PROVIDING ACCESS CONTROL AND IDENTITY VERIFICATION FOR COMMUNICATIONS
CN113132323B (zh) * 2019-12-31 2022-11-18 华为技术有限公司 一种通信方法及装置
US11909882B2 (en) * 2020-01-30 2024-02-20 Dell Products L.P. Systems and methods to cryptographically verify an identity of an information handling system
US11604880B2 (en) 2020-02-25 2023-03-14 Dell Products L.P. Systems and methods to cryptographically verify information handling system configuration
KR102381038B1 (ko) 2020-05-28 2022-03-30 고려대학교 산학협력단 피제어 장치의 보안 인증 기법
US11537700B1 (en) * 2022-07-24 2022-12-27 Uab 360 It Secure cross-device authentication system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144440A1 (en) * 2003-12-31 2005-06-30 International Business Machines Corp. Method for securely creating an endorsement certificate in an insecure environment
US20080320308A1 (en) * 2007-06-20 2008-12-25 Nokia Corporation Method for remote message attestation in a communication system
US20090013181A1 (en) * 2007-07-03 2009-01-08 Electronics & Telecommunications Research Institute Method and attestation system for preventing attestation replay attack
KR20110035573A (ko) * 2009-09-30 2011-04-06 주식회사 케이티 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법
KR20120101363A (ko) * 2009-10-28 2012-09-13 마이크로소프트 코포레이션 일회 왕복 키 인증

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3829509B2 (ja) * 1998-12-16 2006-10-04 富士ゼロックス株式会社 認証方法
US7243233B2 (en) * 2002-06-28 2007-07-10 Hewlett-Packard Development Company, L.P. System and method for secure communication between electronic devices
EP1673674A2 (en) * 2003-10-17 2006-06-28 International Business Machines Corporation Maintaining privacy for transactions performable by a user device having a security module
US7600113B2 (en) * 2004-02-20 2009-10-06 Microsoft Corporation Secure network channel
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
US20090043681A1 (en) * 2005-08-12 2009-02-12 Mamoru Shoji Authentication system
US8576846B2 (en) * 2005-10-05 2013-11-05 Qualcomm Incorporated Peer-to-peer communication in ad hoc wireless network
US8104073B2 (en) * 2007-08-10 2012-01-24 Juniper Networks, Inc. Exchange of network access control information using tightly-constrained network access control protocols
DE102007044905A1 (de) * 2007-09-19 2009-04-09 InterDigital Patent Holdings, Inc., Wilmington Verfahren und Vorrichtung zur Ermöglichung einer Dienstnutzung und Feststellung der Teilnehmeridentität in Kommunikationsnetzen mittels softwarebasierten Zugangsberechtigungsausweisen (vSIM)
JP2009258860A (ja) * 2008-04-14 2009-11-05 Sony Corp 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム
CN100581107C (zh) * 2008-11-04 2010-01-13 西安西电捷通无线网络通信有限公司 一种基于三元对等鉴别(TePA)的可信平台验证方法
US20120324214A1 (en) * 2010-02-16 2012-12-20 Nokia Corporation Method and Apparatus to Provide Attestation with PCR Reuse and Existing Infrastructure
CN101986641A (zh) * 2010-10-20 2011-03-16 杭州晟元芯片技术有限公司 可应用于移动通讯设备的可信计算平台芯片及其认证方法
FR2970612B1 (fr) * 2011-01-19 2013-01-04 Natural Security Procede d'authentification d'un premier equipement de communication par un second equipement de communication
US9456330B2 (en) * 2013-08-09 2016-09-27 Alcatel Lucent Two-stage device-to-device (D2D) discovery procedures
CN103607290B (zh) * 2013-10-25 2016-09-21 小米科技有限责任公司 一种设置网络连接参数的方法和装置
US20150229475A1 (en) * 2014-02-10 2015-08-13 Qualcomm Incorporated Assisted device provisioning in a network
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144440A1 (en) * 2003-12-31 2005-06-30 International Business Machines Corp. Method for securely creating an endorsement certificate in an insecure environment
US20080320308A1 (en) * 2007-06-20 2008-12-25 Nokia Corporation Method for remote message attestation in a communication system
US20090013181A1 (en) * 2007-07-03 2009-01-08 Electronics & Telecommunications Research Institute Method and attestation system for preventing attestation replay attack
KR20090003797A (ko) * 2007-07-03 2009-01-12 한국전자통신연구원 인증 재전송 공격 방지 방법 및 인증 시스템
KR20110035573A (ko) * 2009-09-30 2011-04-06 주식회사 케이티 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법
KR20120101363A (ko) * 2009-10-28 2012-09-13 마이크로소프트 코포레이션 일회 왕복 키 인증

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149642A1 (ko) * 2021-01-11 2022-07-14 이지스체인 주식회사 무선 통신을 이용한 개인간 비대면 신원 확인 시스템
KR20220101429A (ko) * 2021-01-11 2022-07-19 서울외국어대학원대학교 산학협력단 무선 통신을 이용한 개인간 비대면 신원 확인 시스템

Also Published As

Publication number Publication date
EP3332347B1 (en) 2019-05-08
GB2553457A (en) 2018-03-07
CN107743624A (zh) 2018-02-27
US20170041147A1 (en) 2017-02-09
CN107743624B (zh) 2021-07-16
JP6496424B2 (ja) 2019-04-03
WO2017027104A1 (en) 2017-02-16
GB201716486D0 (en) 2017-11-22
KR102062823B1 (ko) 2020-01-07
EP3332347A1 (en) 2018-06-13
US9768966B2 (en) 2017-09-19
DE112016003625T5 (de) 2018-05-03
JP2018528629A (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
KR102062823B1 (ko) 피어 투 피어 증명
CN109075976B (zh) 取决于密钥认证的证书发布
US10437985B2 (en) Using a second device to enroll a secure application enclave
KR102110273B1 (ko) 체인 보안 시스템들
JP6348661B2 (ja) サードパーティの認証サポートを介した企業認証
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
JP6222592B2 (ja) モバイルアプリケーション管理のためのモバイルアプリケーションのアイデンティティの検証
JP6072305B2 (ja) キーチェーン同期
US9009463B2 (en) Secure delivery of trust credentials
US8875240B2 (en) Tenant data center for establishing a virtual machine in a cloud environment
US8677115B2 (en) Methods for verifying system integrity
US20170250974A1 (en) System and method for service assisted mobile pairing of password-less computer login
JP2019508763A (ja) ローカルデバイス認証
US10609070B1 (en) Device based user authentication
CN106716957A (zh) 高效且可靠的认证
KR102389727B1 (ko) 차량 내 전자식 제어기 보안성 평가 방법 및 그 장치
US20240187262A1 (en) Encrypted and authenticated firmware provisioning with root-of-trust based security
Angelogianni et al. How many FIDO protocols are needed? Surveying the design, security and market perspectives
WO2022219323A1 (en) Secure root-of-trust enrolment and identity management of embedded devices
Pandey et al. AutoAdd: automated bootstrapping of an IoT device on a network
US20240129134A1 (en) System and method for securing operation of data processing systems during and after onboarding
WO2022219320A1 (en) Interim root-of-trust enrolment and device-bound public key registration

Legal Events

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