KR101075844B1 - 통신 시스템에서 원격 메시지 인증을 위한 방법 - Google Patents

통신 시스템에서 원격 메시지 인증을 위한 방법 Download PDF

Info

Publication number
KR101075844B1
KR101075844B1 KR1020107000657A KR20107000657A KR101075844B1 KR 101075844 B1 KR101075844 B1 KR 101075844B1 KR 1020107000657 A KR1020107000657 A KR 1020107000657A KR 20107000657 A KR20107000657 A KR 20107000657A KR 101075844 B1 KR101075844 B1 KR 101075844B1
Authority
KR
South Korea
Prior art keywords
electronic device
certificate
key
message
public key
Prior art date
Application number
KR1020107000657A
Other languages
English (en)
Other versions
KR20100018067A (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 KR20100018067A publication Critical patent/KR20100018067A/ko
Application granted granted Critical
Publication of KR101075844B1 publication Critical patent/KR101075844B1/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 원격 인증을 위한 방법에 관련된다. 그 방법에서, 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍이 생성된다(302). 제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보가 인증된다 (306). 그 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍이 생성된다(308). 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키가 인증된다 (310). 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지가 서명된다 (316). 그 메시지 및 그 메시지 서명, 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서가 제2 전자 기기에 송신된다 (318).

Description

통신 시스템에서 원격 메시지 인증을 위한 방법{Method for remote message attestation in a communication system}
본 발명은 컴퓨터 시스템 보안 및 통신 시스템에 관련된다. 본 발명은 또한 신뢰 플랫폼 모듈에 관련된다. 특히, 본 발명은 통신 시스템에서 메시지들의 원격 인증을 위한 방법에 관련된다.
컴퓨터 시스템 보안은 근래에 매우 중요한 토픽이 되고 있다. 메시지의 발생점을 인증하고, 메시지의 송신자를 인증하거나 메시지가 도청되지 않았다는 것을 인증할 뿐만 아니라, 메시지를 송신한 기기의 소프트웨어 구성(configuration)을 보장하는 것이 중요하다. 그렇지 않으면, 예컨대 송신자의 기기가 고의적인 소프트웨어 구성에 의해 손상된 운영 시스템 또는 프로토콜 스택을 가동하고 있을 가능성이 있기 때문이다. 일정 경우들에서는 송신자의 기기가 예상되는 컴포넌트들을 지닌 잠재적인 안전한 또는 잘 알려진 운영 시스템을 가동하고 있다는 것이 검증된다.
전통적인 보안 정책들은 기기들과 결부된 사용자 신원(identity)들 또는 기기들의 인증(authentication) 및 식별(identification)에 기초한다. 사용자는 예컨대 SIM (Subscriber Identity Module, 가입자 식별 모듈)을 사용해서, 기기와 결부된다. 예컨대 원격 사용자가 기업 인트라넷(corporate intrane)에 연결을 설립했을 때, VPN(Virtual Private Network) 게이트웨이는 연결을 수락하거나 거절하기 전에 원격 사용자를 식별하고 인증하는 것이 전형적이다.
많은 경우들에 있어서, 그 신원(identity)에 더하여 원격 기기의 다른 속성들을 검증하는 것이 유용하다. 그런 속성의 하나는 원격 기기의 소프트웨어 구성이다. 기업 인트라넷 액세스의 경우에, 예컨대 VPN 게이트웨이는, 기업 인트라넷으로의 액세스를 수락하기 전에 원격 기기가 최신 보안 업데이트들을 갖고 옳은 네트워크 스택 및 옳은 운영 시스템을 가동하고 있다는 것을 검증할 수 있다. 원격 기기의 소프트웨어 구성을 검증하는 이런 프로세스는 원격 인증(remote attestation)이라고 불린다.
신뢰 컴퓨팅 그룹(TCG : Trusted Computing Group)은 신뢰 플랫폼 모듈 (TPM : Trusted Platform Module)로 불리는 하드웨어 보안 컴포넌트를 상술한다. 신뢰(Trust)는 기기가 주어진 목적을 위해 특정 방식으로 동작할 것이라는 기대로서 정의될 수 있다. TPM은 예컨대 컨트롤러에 연결되며, 신뢰가 결정되는 모듈이다. TPM은 다수의 보호되는(shielded) 장소들로의 독점적인 액세스를 갖는 명령어들인 보호(protected) 성능들을 포함하는 인터페이스를 제공한다. 보호되는 장소들은 레지스터들 또는 메모리 장소들일 수 있다. TPM에서 획득된 측정치(measurements)를 인증하기 위해 TPM에 의해 사용될 수 있는 암호(cryptographic) 키들이 TPM에 또한 저장될 수 있다. TPM은 기기가 신뢰될 수 있다는 인증을 얻기 위해 사용된다. 인증(attestation)은 정보의 정확성을 보증하는 프로세스이다. TPM은 예컨대 기기 내의 표준 애플리케이션들 및 운영 시스템과 같은 로컬 구성의 측정치를 보고하는 서명된 리포트들을 제공한다. 측정치 (measurements)는 기기 내에서 신뢰할 수 있는 측정을 위한 신뢰의 핵심 루트(core root)로부터 시작한다. 그 이후에, 각각의 소프트웨어 계층은 기기 내의 다음 소프트웨어 계층을 측정한다. 측정치는 예컨대 로딩된 구성 파일들 또는 소프트웨어 컴포넌트들로부터 계산된 해시 값들일 수 있다. TPM은 다수의 플랫폼 구성 레지스터(PCR : Platform Configuration Registers)들을 포함한다. 예컨대 PCR들의 서브세트가 TPM이 연결된 기기의 운영 시스템에 전용되는 반면에, 나머지가 기기 내에 표준 애플리케이션들에 전용된다. 표준 애플리케이션들은 예컨대 프로토콜 스택들 및 다수의 통신 애플리케이션들을 포함한다. 초기에, 시스템이 부팅되기 이전에, PCR들은 제로 또는 다른 초기 값들을 갖는다. 소프트웨어 컴포넌트가 로딩되기 때문에, 제1 해시 값은 소프트웨어 컴포넌트 코드로부터 계산된다. 소프트웨어 컴포넌트와 결부된 PCR의 초기값 및 제1 해시 값은 PCR용의 제2 값인, 새로운 값을 계산하기 위해 해시 함수에서 인수들로 사용된다. 다수의 상이한 소프트웨어 컴포넌트들이 단일 PCR에 결부될 수 있다. 연속하여 PCR과 결부된 새로운 소프트웨어 컴포넌트가 로딩되거나, 업데이트될 때, PCR이 확장되며, 이는 현재 PCR 값이 PCR용의 새로운 값을 계산하기 위해 해시 함수용의 인수로서, 새로운 소프트웨어 컴포넌트로부터 계산된 해시 값과 함께 사용된다는 것을 의미한다. PCR의 값은 기존 값에 대한 고려를 하지 않고 새로운 값을 위해 직접적으로 설정되지 않는다.
TCG 그룹에 의해 상술된 TPM 모듈 및 원격 인증 프로토콜은 상호작용(interactive) 원격 인증을 가능하게 한다. 상호작용 원격 인증에서, VPN 게이트웨이와 같은 타깃 기기는 원격 기기로 챌린지(challenge)를 송신한다. 원격 기기상의 TPM 모듈은 원격 기기가 가동하고 있는 소프트웨어의 측정치를 담고 있는 내부 플랫폼 구성 레지스터들(PCR들)을 읽는다. 그 이후에, TPM 모듈은 인증 신원 키(AIK :Attestation Identity Key)로 불리는 자체의 내부 키를 사용해서 수신된 챌린지와 PCR 값들에 서명한다. PCR 값들을 담고 있는 서명된 응답이 타깃 기기로 다시 송신된다. 그 다음에 타깃 기기는 수신된 PCR 값들을 예상된 값들에 비교함으로써 원격 기기가 옳은 소프트웨어 구성을 가동하고 있는지를 체크할 수 있다. 타깃 기기는 신뢰 서드 파티(third party)로부터 유효한 AIK들의 리스트를 얻는다. 응답이 유효한 AIK로 서명이 되었다면, 타깃 기기는 응답이 적당한 TPM 모듈에 의해 생성되었다는 것을 인지하고 수신된 PCR 값들은 신뢰될 수 있다.
상호작용 원격 인증은 즉각적인 종단 간 연결성(end-to-end connectivity)이 원격 기기 및 타깃 기기 사이에서 가정될 수 있다는 시나리오에서 동작한다. 그러나, 이런 가정이 그릇된 몇가지 상황이 있을 수 있다. 하나의 예는 이메일과 같은 저장-그리고-전달 메시징(messaging)인데, 여기서 인증 의미에서 타깃 기기들인 중간(intermediate) 전달 노드들이 인증 의미에서 원격 기기인, 원래의 메시지 송신자와 상호작용하도록 하는 것이 쉽지 않을 수 있다. 전원 지역들에서의 통신은 DTN(Delay- and Disruption Tolerant Networking)의 다른 예인데, 여기서 중간 종단 간 연결성이 항상 이용가능하지는 않을 수 있다.
일반적인 문제는 다음과 같다 : 송신자 S는 메시지 m을 수신자 R에게 송신한다. 메시지는 R에게 전달되기 전에 다수의 중간체 D1, .... ,Dn에 의해 운반될 필요가 있다. 각각의 Di 및 최종적으로 R은 스팸과 플러딩(flooding)과 같은 오용들로부터 그들 자신을 보호하기 위해 조치를 취하기를 원할 수 있다. 이를 행하는 하나의 방식은 송신자의 신뢰성 (authenticity)을 검증하는 것이다. 하지만, 이것은 예컨대 프라이버시를 이유로 가능하지 않거나 바람직하지 않을 수 있다. 보완적인 방법은 m이 검증자 즉 Di 또는 R에 의해 신뢰되는 잘 알려진 소프트웨어 구성에 의해 송신되었다는 것을 검증하는 것이다. 예컨대 그 잘 알려진 소프트웨어 구성은 오용들을 방지하거나 적어도 오용들을 보고하는 메커니즘으로 구축될 수 있다. 그런 보고 메커니즘은 얼마나 많은 메시지가 지난 한 시간 동안 송신되었는지를 나타내는 메시지 헤더이다. 필요한 것은 m이 일부 가능한 잘 알려지지 않은 송신자의 기기에서 가동되는 주어진 잘 알려진 소프트웨어 구성에 의해 당연히 송신되었다는 것을 체크하기 위한 검증자를 위한 효율적인 보안 메커니즘이다.
본 발명은 원격 인증을 위한 방법에 관련된다.
본 발명은 제1 전자 기기의 신뢰 플랫폼 모듈(trusted platform module)에서 제1 비대칭(asymmetric) 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개(public) 키 및 제1 비밀(secret) 키를 포함한다]; 상기 제1 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고; 제1 인증서(certificate)를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키(attestation identity key)로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고; 상기 제1 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다]; 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고; 상기 제1 전자 기기 내에서 메시지 서명(signature)을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고; 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고; 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 것을 포함하는 방법에 관련된다.
본 발명은 또한 전자 기기에 관련되고, 그 전자 기기는: 제2 비대칭 키 쌍 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 상기 제2 비밀 키를 포함한다]을 생성하고, 상기 전자 기기 내에서 메시지 서명을 제공하기 위해 제2 비밀 키로 메시지에 서명하도록 구성된 애플리케이션 엔티티; 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다], 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고, 제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고, 그리고 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하도록 구성된 신뢰 플랫폼 모듈; 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고, 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하도록 구성된 통신 엔티티;를 포함한다.
본 발명은 또한 전자 기기에 관련되고, 그 전자 기기는: 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍을 생성하는 수단 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다]; 상기 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키는 수단; 제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하는 수단; 상기 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하는 수단 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다]; 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하는 수단; 상기 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하는 수단; 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하기 위한 수단; 및 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 수단;을 포함한다.
본 발명은 또한 시스템에 관련되고, 그 시스템은: 제1 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다], 상기 제1 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고, 제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고, 상기 제1 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다], 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고, 상기 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고, 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고, 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하도록 구성된 제1 전자 기기; 및 상기 제1 전자 기기의 소프트웨어 구성(configuration)을 검증하고 상기 제1 전자 기기가 상기 서명된 메시지의 송신자라는 것을 검증하도록 상기 제1 인증서 및 상기 제2 인증서로 상기 메시지 서명을 검증하는 제2 전자 기기;를 포함한다.
본 발명은 컴퓨터 판독가능 매체 내에 포함된 컴퓨터 프로그램을 또한 포함한고, 상기 컴퓨터 프로그램은: 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다]; 상기 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고; 제1 인증서를 생성하기 위해 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고; 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다]; 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고; 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고; 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고; 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 것;을 포함하는 방법을 실행하도록 프로세서를 제어하기 위한 코드를 포함한다.
본 발명은 또한 컴퓨터 프로그램에 관련되고, 그 컴퓨터 프로그램은 : 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다]; 상기 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고; 제1 인증서를 생성하기 위해 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고; 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다]; 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고; 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고; 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고; 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 것;을 포함하는 방법을 실행하도록 프로세서를 제어하기 위한 코드를 포함한다.
본 발명의 일 실시 예에서, 인증 신원 키는 비대칭 인증 신원 키 쌍 내의 비밀 키이다.
본 발명의 일 실시 예에서, 상기 메시지 및 상기 메시지 서명이 상기 제2 전자 기기로의 상기 제2 인증서, 상기 제1 인증서, 상기 소프트웨어 플랫폼 상태 정보와 함께 단일 메시지에서 제2 전자 기기로 제공된다. 본 발명의 일실시 예에서, 상기 제2 전자 기기로의 상기 제2 인증서, 상기 제1 인증서, 상기 플랫폼 상태 정보가 별개의 메시지에서 제2 전자 기기에 제공된다.
본 발명의 일 실시 예에서, 제2 전자 기기는 상기 제1 전자 기기의 소프트웨어 구성(configuration)을 검증하고 상기 제1 전자 기기가 상기 서명된 메시지의 송신자라는 것을 검증하도록 상기 제1 인증서 및 상기 제2 인증서로 상기 메시지 서명을 검증하도록 구성된다.
본 발명의 일 실시 예에서, 상기 전자 기기를 부팅하도록 구성된 운영 시스템 엔티티를 더 포함한다. 그 전자 기기는 현재 소프트웨어 플랫폼 상태를 결정하고, 그리고 상기 소프트웨어 플랫폼 상태가 상기 소프트웨어 플랫폼 상태 정보와 매치되면, 상기 신뢰 플랫폼 모듈로부터 상기 애플리케이션 엔티티로 상기 제2 비밀 키를 제공하도록 구성된 상기 신뢰 플랫폼 모듈을 더 포함한다.
본 발명의 일 실시 예에서, 그 전자 기기는 상기 소프트웨어 플랫폼 상태 정보와 상기 제2 비밀 키를 결부시키고, 그리고 영구 스토리지에 상기 소프트웨어 플랫폼 상태와 결부된 상기 제2 비밀 키를 저장하도록 구성된 상기 신뢰 플랫폼 모듈을 더 포함한다.
본 발명의 일 실시 예에서, 그 전자 기기는 예컨대 디스크 파티션, 디렉토리 또는 파일과 같은 세컨더리 메모리에 포함될 수 있는 영구 스토리지를 더 포함한다. 영구 스토리지는 플래시 메모리, 마그네틱 또는 광학 디스크와 같은 컴퓨터 판독가능 매체의 스토리지 공간의 적어도 일부일 수 있다.
본 발명의 일 실시 예에서, 그 전자 기기는 그 영구 스토리지에 상기 제1 인증서 및 상기 제2 인증서를 저장하도록 구성된 상기 신뢰 플랫폼 모듈을 더 포함할 수 있다.
본 발명의 일 실시 예에서, 그 전자 기기는 적어도 하나의 소프트웨어 컴포넌트를 사용해서 적어도 하나의 레지스터용 해시 값들을 계산하고, 상기 적어도 하나의 레지스터용의 새로운 해시 값을 결정하기 위해 상기 해시 값들을 사용하고, 그리고 상기 적어도 하나의 레지스터의 값들로 상기 소프트웨어 플랫폼 상태 정보를 표현하도록 구성된 상기 신뢰 플랫폼 모듈;을 더 포함한다. 적어도 하나의 레지스터용의 해시 값들은 그 전자 기기 내의 운영 시스템에 의해 계산될 수 있고, 거기서부터 신뢰 플랫폼 모듈로 제공되고, 신뢰 플랫폼 모듈은 그 해시 값들로부터 적어도 하나의 레지스터용의 새로운 값들을 결정한다.
본 발명의 일 실시 예에서, 상기 신뢰 플랫폼 모듈은 운영 시스템을 위해 상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터를 예약하도록 구성된다.
본 발명의 일 실시 예에서, 상기 신뢰 플랫폼 모듈은 통신 애플리케이션을 위해 상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터를 예약하도록 구성된다.
본 발명의 일 실시 예에서, 키들 및 소프트웨어 플랫폼 상태 정보에 서명할 때, 서명될 키 및 소프트웨어 플랫폼 상태 정보로부터 해시 값이 계산될 수 있다. 그 다음에 그 서명 키를 사용해서 그 해시 값에 암호 변환이 적용된다. 본 발명의 일 실시 예에서 해시 값은 서명될 키에 연결하기(concatenation) 전에 소프트웨어 플랫폼 상태 정보로부터 계산된다. 본 발명의 일 실시 예에서, 소프트웨어 플랫폼 상태 정보가 적어도 하나의 플랫폼 구성 레지스터 값을 포함한다.
본 발명의 일 실시 예에서, 암호(cryptographic) 변환, 환언하면 서명 변환 알고리즘은 암호화(encryption) 또는 복호화(decryption) 알고리즘이다. 본 발명의 일 실시 예에서, 암호 변환은 암호화 알고리즘 또는 복호화 알고리즘과 별개의 알고리즘이다.
본 발명의 일 실시 예에서, 적어도 하나의 값이 서명 키에 의해 인증될 때 암호 변환이 사용된다.
본 발명의 일 실시 예에서, 상기 전자 기기는 통신 네트워크 노드를 포함한다.
본 발명의 일 실시 예에서, 상기 전자 기기는 모바일 통신 기기 즉 모바일 단말을 포함한다.
본 발명의 실시 예에서 시스템은 패킷 교환 네트워크 예컨대 IP (Internet Protocol) 네트워크를 포함한다. 네트워크 주소는 IP 주소일 수 있다.
본 발명의 일 실시 예에서 상기 통신 시스템은 이동 통신 네트워크를 포함한다. 본 발명의 일 실시 예에서, 상기 모바일 단말은 이동국을 포함한다. 본 발명의 일 실시 예에서, 통신 시스템은 GSM (Global System of Mobile Communications) 네트워크 및 UMTS (Universal Mobile Telephone System) 네트워크 중 적어도 하나를 포함한다. 이동 단말은, 예컨대 상이한 액세스 유형들을 지원하기 위해 듀얼 모드 또는 멀티모드 기능성을 지닌 GSM 이동국 또는 UMTS 이동국일 수 있다.
본 발명의 일 실시 예에서, 컴퓨터 프로그램은 컴퓨터 판독가능 매체상에 저장된다. 컴퓨터 판독가능 매체는 분리형 메모리 카드, 마그네틱 디스크, 광학 디스크 또는 마그네틱 테이프일 수 있다.
이후 설명될 본 발명의 실시 예들은 서로 간에 결합하여 사용될 것이다. 실시 예들의 다수가 본 발명에 대한 추가 실시예를 만들기 위해 함께 결합될 수 있다. 본 발명이 관련된 방법, 시스템, 전자 기기 또는 컴퓨터 프로그램은 이후 설명될 본 발명의 실시 예들 중 적어도 하나를 포함할 수 있다.
본 발명의 이점들은 서명하는 것에서 향상된 효율성에 관련이 있고, 환언하면, 메시지의 디지털 서명 및 원격 인증에 관련된다. 본 발명은 제1 전자 기기와 제2 전자 기기 간에 직접적인 종단 간 연결성이 없을 때 인증을 가능하게 한다.
제1 전자 기기와 제2 전자 기기 간에 직접적인 종단 간 연결성이 없을 때 인증을 가능하게 한다.
본 발명에 대한 더 나은 이해를 제공하고 이 명세서의 일부를 구성하기 위해 포함된 첨부된 도면들은 본 발명의 실시 예들을 도해하고, 명세서와 함께 본 발명의 원리들을 설명하는데 도움을 준다. 도면에서:
도 1은 본 발명의 일 실시 예에서 원격 인증을 적용하는 통신 시스템을 도해한 블록도이고;
도 2a는 본 발명의 일 실시 예에서 원격 기기에서 시스템 셋업 단계를 도해하는 흐름도이고;
도 2b는 본 발명의 일 실시 예에서 원격 기기를 부팅하고 메시지 송신하는 단계를 도해하는 흐름도이고;
도 3은 본 발명의 일 실시 예에서 원격 인증을 위한 방법을 도해하는 흐름도이고;
도 4는 본 발명의 일 실시 예에서 전자 기기를 도해하는 블록도이다.
첨부된 도면들에서 도해된, 본 발명의 실시 예들에 대해 참조가 더 상세히 주어질 것이다.
도 1은 본 발명의 일 실시 예에서 원격 인증을 적용하는 통신 시스템을 도해한 블록도이다. 도 1에 네트워크 (110)가 있다. 네트워크 (110)로, 인증 관점에서 원격 노드처럼 행동하는 네트워크 노드 (100)가 연결되고, 인증 관점에서 타깃 노드처럼 행동하는 네트워크 노드 (120)가 연결된다. 네트워크 노드 (100)로부터 네트워크 노드 (120)로 송신된 메시지들이 중간 노드 (112) 또는 중간 노드 (114)와 같은 적어도 하나의 중간 노드를 통해 전송될 수 있다. 네트워크 노드 (100)는 애플리케이션 (102), 운영 시스템 (104) 및 신뢰 플랫폼 모듈 (TRM : Trusted Platform Module) (106)을 포함한다. 운영 시스템 (104) 및 TPM (106)은 영구 스토리지 (108)과 통신하도록 구성된다. 반면에 네트워크 노드 (120)는 애플리케이션 (122), 운영 시스템 (124) 및 인증 신원 키 (AIK : Attestation Identity Key)의 공개 부분 (P-AIK) (126)의 카피를 포함한다. 네트워크 노드 (120)가 인증을 위해 TPM을 요청하지 않는다는 것을 주목해야 한다. 운영 시스템 (124)는 영구 스토리지 (128)와 통신하도록 구성된다.
애플리케이션 (102)과 TPM (106) 간의 상호작용은 양방향 화살표 (151)로 도해 된다. 우선, 네트워크 노드 (100)로부터 네트워크 노드 (120)로 메시지들을 디스패치할(dispatch) 수 있도록, 초기화 단계 동안에 애플리케이션 (102)은 TPM (106)에게 제1 공개(public) 키 및 제1 비밀(secret) 키 [환언하면 공개(public) 키 및 개인(privacy) 키]를 포함하는 제1 키 쌍을 생성하라고 요청한다. 제1 키 쌍은 애플리케이션 (102)에 대응하는 PCR 값들에 바인딩된다(bounded). 거기서, 애플리케이션 (102)은 TPM (106)으로부터 공개 검증 인증서(publicly verifiable certificate)를 요청한다. 공개 검증 인증서는 모든 사람으로 하여금 제1 공개 키 및 이에 매치되는 비밀 키가 언급한 PCR 값들에 보증할 수 있게 바인딩된다는 것을 검증할 수 있도록 허용한다. 거기서, 애플리케이션 (102)은 제2 공개 키에 제1 비밀 키를 바인딩시키도록 제1 비밀 키로 인증서에 서명할 것을 TPM (106)에게 요청한다. 거기서, 애플리케이션 (102)은 메시지를 생성하고, 그 메시지에 서명하기 위해 제2 비밀 키를 사용한다.
그 메시지는 애플리케이션 (102) 및 운영 시스템 (104) 중 적어도 하나에 관한 TPM 측정치에 또한 첨부된다. TPM 측정치를 사용해서 얻어진 플랫폼 구성 레지스터 값들이 플랫폼 구성 레지스터 값들을 위해 TPM (106)으로부터 제공된 인증서와 함께 메시지에 또한 첨부된다. 화살표 (152)에서 도시된 것과 같이 메시지가 네트워크 노드 (120)로 송신된다. 네트워크 노드 (120)는 메시지를 수신하면, 제1 키 쌍 내의 비밀 키에 제2 키 쌍 내의 공개 키를 바인딩하는 그 제 2 공개 키용 인증서 및 AIK 공개 키에 의해 인증되는 PCR 값들에 제1 키 쌍 내의 공개 키 및 이에 매치하는 비밀 키를 바인딩하는 인증서와 대조하여 메시지의 서명을 검증함으로써 네트워크 노드 (100)의 소프트웨어 구성을 검증한다.
도 2a는 본 발명의 일 실시 예에서 원격 기기에서 시스템 셋-업 단계를 도해하는 흐름도이다. 방법의 단계들은 타원형으로 그려지고 방법의 단계로부터 얻어지거나 획득된 정보는 직사각형으로 도해된다. 방법의 단계들은 화살표 방향으로 위에서-아래 순서로 서로를 따라간다. 본 발명의 일 실시 예에서 방법의 단계들은 도 1의 네트워크 노드 (100)와 유사한 네트워크 노드에서 수행된다. 기기는 적어도 운영 시스템, TPM 및 적어도 하나의 애플리케이션을 포함한다. 기기는 또한 영구 스토리지 (250)를 포함한다.
단계 (201)에서, 애플리케이션의 요청에서, TPM은 제1 공개 키 PK1 및 제1 비밀 키 SK1을 포함하는, 비대칭 키 쌍인 제1 키 쌍을 생성한다. 단계 (201)로의 입력은 PCR 값들 (200A) 및 스토리지 루트 키 (SRK : Storage Root Key) (200B)이다. 제1 공개 키 PK1은 직사각형 (201A)로 도해된다. 원격 기기 내의 적어도 하나의 애플리케이션 프로그램 및 원격 기기 내의 운영 시스템을 사용해서 형성된 현재 측정치로부터 획득된 현재 PCR 값들을 나타내는, PCR 값들 (200A)에 제1 비밀 키 SK1의 사용이 바인딩된다. 직사각형 (201B)에서 도해된 것처럼, 제1 비밀 키 SK1는 PCR 값들과 연결된다(concatenated). 그 연결은 캐릭터 "|"로 도해된다. 제1 공개 키 PK1은 TPM으로부터 애플리케이션으로의 확실한 텍스트 필드 (201A)로서 돌아온다. 제1 비밀 키는 SRK (200B)로 암호화된 제1 비밀 키 및 PCR 값들 (200A)을 포함하는 암호화된 필드 (201B)로 돌아온다. SRK (200B) 대신에, SRK (200B)로 끝나는 키들의 시퀀스에 의해 보호되는 상이한 스토리지 키가 암호화를 위해 사용될 수 있다. 암호화된 필드 (201B)는 애플리케이션에 의해 또는 TPM에 의해 영구 스토리지 (250)에 저장된다.
단계 (202)에서 TPM은 제1 공개 키 (201A)에 서명하기 위해 애플리케이션에 의해 사용된다. 그 서명에 의해 제1 공개 키 (201A)용의 인증서 (202A)가 제공된다. 따라서 제1 공개 키 PK1이 인증된다. TPM은 공개 키 (201A), PCR 값들 (200A) 및 인증 신원 키 (AIK :Attestation Identity Key)를 사용한다. 본 발명의 일 실시 예에서, AIK (200C)는 비대칭 AIK 키 쌍 내의 비밀 키이다. 인증서 (202A)에서, PCR 값들 (200A) 및 제1 공개 키 (201A)가 연결되고 AIK (200C)를 써서 암호 변환된다. 본 명세서에서 제1 인증서라고도 불리는 인증서 (202A), 즉 CERT1은 이후 사용을 위해 애플리케이션 또는 TPM에 의해 영구 스토리지 (250)에 저장된다. 애플리케이션은 또한 TPM에서 서명하는 것이 완료된 것에 대한 알림을 받는다.
본 발명의 일 실시 예에서, 키들 및 PCR 값들에 서명할 때, 해시 값이 서명될 키 및 PCR 값들로부터 계산될 수 있고, 그 해시 값이 암호 변환 알고리즘에 인수로서 제공되고, 그 암호 변환 알고리즘은 그 서명 키를 갖는 그 인수로부터 서명을 계산한다. 본 발명의 일 실시 예에서, 해시 값은 그 서명될 키를 연결하기(concatenation) 전에 PCR 값들로부터 계산된다.
단계 (203)에서 애플리케이션은 제2 공개 키 PK2 및 제2 비밀 키 SK2를 포함하는, 제2 키 쌍 (203A)를 생성한다. 제2 공개 키 PK2는 직사각형 (203A1)으로 도해되고 제2 비밀 키 SK2는 직사각형 (203A2)로 도해된다.
단계 (204)에서, 제2 비밀 키 (203A2)를 봉인하는(seal) TPM에 제2 비밀 키 (203A2)가 제공된다. 봉인할 때 제2 비밀 키(203A2), PCR 값들 (200A) 및 SRK (200B)를 사용한다. 봉인하는 것에 의해 SRK (200B)로 암호화되고 연결된 PCR 값들 (200A) 및 제2 비밀 키(203A2)를 포함하는 암호화된 필드 (204A)가 제공된다. TPM 또는 애플리케이션에 의해 영구 스토리지 (250)에 필드 (204A)가 저장된다. 그 이후에, TPM은 암호화된 제2 비밀 키 SK2를 복호화하고(decrypt), 그리고 필드 (204A)의 복호화가 그 순간 기기의 PCR 값들에 매치하는 경우에만 그것을 제공할 것이다. 이 단계에서 양 키 쌍들이 생성되었다. TPM은 제2 비밀 키 (203A2)를 특정한 키로 보지 않고, 봉인될 단순한 임의의 데이터로 볼 뿐이라는 것을 주목해야 한다.
단계 (205)에서, 암호화된 필드 (201B)에 대응하며 그리고 SRK (200B)로 암호화된 PCR 값들 및 제1 비밀 키 SK1을 포함하는, 암호화된 필드 (204B)에 제공된 키를 로딩하라는 명령어가 TPM에 주어진다. 로딩할 때 암호화된 필드 (204B), PCR 값들 (200A) 및 SRK (200B)를 사용한다. TPM이 현재 PCR 값들 (200A)이 암호화된 필드 (204B) 내의 PCR 값들에 매치한다는 것을 감지하는 경우에만 로딩이 성공한다. 이것은 시스템이 여전히 동일한 안전한 소프트웨어 구성이 있어야 한다는 것을 의미한다. 단계(205)의 결과는 직사각형 (205A)으로 도해된 제1 비밀 키 SK1이다. 제1 비밀 키 SK1이 로딩되자마자, 제2 공개 키 PK2에 서명하기 위해 제1 비밀 키 SK1이 TMP에서 사용될 수 있다.
단계 (206)에서, 직사각형 (203A1)으로 도해된, 제2 공개 키 (PK2)에 서명하기 위해 애플리케이션에 의해 TPM이 사용된다. 서명할 때 직사각형 (205A)으로 도해된 로딩된 제1 비밀 키 SK1을 사용한다. 서명하는 것의 결과는 암호 변환된 필드 (206A)이고, 암호 변환된 필드 (206A)는 제1 비밀 키 SK1로 암호변환된 제2 공개 키 PK2를 포함한다. 암호 변환된 필드 (206A)는 제2 인증서, 즉 CERT2라고도 지칭된다. 암호 변환된 필드 (206A)는 애플리케이션 또는 TPM에 의해 영구 스토리지 (250)에 저장된다.
도 2b는 본 발명의 일 실시 예에서 원격 기기를 부팅하고 메시지 송신하는 단계를 도해하는 흐름도이다. 방법의 단계들은 타원형으로 그려지고 방법의 단계로부터 얻어지거나 획득된 정보는 직사각형으로 도해된다. 방법의 단계들은 화살표 방향으로 위에서-아래 순서로 서로를 따라간다. 본 발명의 일 실시 예에서 방법의 단계들은 도 1의 네트워크 노드 (100)와 유사한 네트워크 노드에서 수행된다. 기기는 적어도 운영 시스템, TPM 및 적어도 하나의 애플리케이션을 포함한다. 기기는 또한 영구 스토리지 (250)를 포함한다.
단계 (207)에서 기기 내에서 검증가능한 부팅(verifiable boot)이 기기에서 수행된다. 그 결과는 직사각형 (207A)으로 도해된 적어도 하나의 로딩된 소프트웨어 컴포넌트이다.
단계 (208)에서, 측정 단계가 TPM에 의해 수행된다. 측정 단계에서, 로딩된 적어도 하나의 소프트웨어 컴포넌트용 프로그램 코드들로부터 해시 값들이 계산된다. 획득된 해시 값들이 직사각형 (208A)로서 도해된다. 획득된 해시 값들은 직사각형 (208B)로 도해된 TPM의 PCR 값들을 설정하기 위해 또한 사용된다. 거기서 개봉(unsealing) 단계가 수행된다.
단계 (209)에서, 암호화된 필드 (208C)가 영속 스토리지 (250)으로부터 읽혀진다. 암호화된 필드 (208C)는 봉인 단계의 당시의 PCR 값들 및 스토리지 루트 키(SRK : Storage Root Key)(208B)로 암호화된 제2 비밀 키 SK2를 포함한다. 개봉 프로세스는 PCR 값들 (208B), SRK (208D), 및 암호화된 필드 (208C)를 사용한다. 암호화된 필드 (208C)로부터 복호화된 PCR 값들이 현재 PCR 값들 (208B)에 매치하는 경우에만 개봉하기 프로세스가 성공한다. 이는 기기가 봉인할 당시와 동일한 소프트웨어 구성을 가지며, 따라서 온전하게 남아있다는 것을 검증한다. 개봉하는 것의 결과는 직사각형 (209B)로 도해된, 제2 비밀 키 (SK2)이다. 이 이후에, PCR 값들 (208B)을 확장하도록 확장된 명령어가 주어질 수 있다. 확장의 목적은 제2 비밀 키를 다른 목적을 위해 이용할 수 없게 렌더링하는 것이다. TPM 기반의 검증된 부팅이 사용되기 때문에, 그 부팅 동안에 로딩된 오직 안전한 소프트웨어 컴포넌트들만이 SK1을 사용할 권한 또는 SK2를 회수할(retrieve) 권한을 갖도록 허용될 것이다. 검증된 부팅은, 모든 소프트웨어가 부팅될 수 있지만, 예상되는 PCR 값들에 매치하는 소프트웨어인, 즉 옳은 소프트웨어만이 SK1와 같은 TPM 키들 또는 SK2와 같은 봉인된 데이터에 액세스하도록 허용될 것이라는 것을 의미한다. 따라서 신뢰 프로토콜 스택 또는 통신 애플리케이션이 제2 비밀 키 SK2를 복호화하기 위한 제1 프로세스이다. 신뢰 프로세스가 있는 동안 다른 가능한 고의적인 프로세스들로부터 제2 비밀 키를 안전하게 유지하기 위해 신뢰 프로토콜 스택 또는 통신 애플리케이션이 예상된다.
단계 (210)에서 애플리케이션은 제2 비밀 키 (209B)로 메시지 (209A)에 서명한다. 그 결과는 직사각형 (210A)에 도해된 것과 같이, 제2 비밀 키 SK2를 사용해서 서명 변환 알고리즘에 의해 프로세싱되는 메시지의 해시이다.
단계 (211)에서, 예컨대 도 1의 네트워크 노드 (120)인 타깃 기기에 메시지가 송신된다. 메시지 디스패치에서 메시지 (209A), 서명 (210A), PCR 값들 (208B), 측정치(208A), 제1 인증서 (210B) 및 제2 인증서 (210C)가 사용된다. 이런 요소들은 메시지에 놓여지고, 그것은 타깃 기기로 송신된다. 거기서 메시지를 송신했던 기기인 원격 기기 측에서 방법이 종료된 것으로 간주된다.
수신자는 제1 인증서 (210B) 및 제2 인증서 (210C)와 대조해서 수신된 메시지의 서명을 검증함으로써 송신자의 소프트웨어 구성을 검증한다. 제1 인증서가 소프트웨어 구성에 제1 키 쌍을 AIK (200C)에 의해 바인딩하고, 제2 인증서 (210C)가 제1 키 쌍에 제2 키 쌍을 바인딩하기 때문에 이것이 가능하다. 환언하면, 제1 인증서는 PK1이 특정 PCR 값들에 바운딩되었다는 AIK에 의한 진술서(statement)이다. 따라서 송신되는 메시지에 서명하기 위해 사용되는 제2 키 쌍에 대한 AIK로부터의 신뢰 체인이 존재한다. 타깃 기기가 AIK를 신뢰한다면, 메시지 내의 측정치는 안전하게 검증될 수 있다. 타깃 기기는 신뢰 서드 파티로부터의 AIK의 신뢰성을 검증할 수 있다는 것이 예상된다.
도 3은 본 발명의 일 실시 예에서 원격 인증을 위한 방법을 도해하는 흐름도이다.
단계 (302)에서, 제1 공개 키 PK1 및 제1 비밀 키 SK1을 포함하는 제1 키 쌍이 제1 기기와 결부된 신뢰 플랫폼 모듈에서 생성된다.
단계 (304)에서, 제1 공개 키 PK1은 신뢰 플랫폼 모듈 내의 PCR 값들에 결부된다. 결부시키는 것(association)은 예컨대 PCR 값들을 PK1에 연결시키는 것일 수 있다. 연결 오퍼레이션은 캐릭터 "|"으로 도해된다.
단계 (306)에서, 제1 인증서 CERT1을 생성하기 위해 인증 신원 키 (AIK : Attestation Identity Key)로 연결 PCR | PK1이 서명된다. 본 발명의 일 실시 예에서 제1 인증서 CERT1은 영구 스토리지에 저장된다.
단계 (308)에서, 제2 공개 키 PK2 및 제2 비밀 키 SK2를 포함하는 제2 키 쌍이 애플리케이션 내에서, 즉 신뢰 플랫폼 모듈 밖에서 생성된다.
단계 (310)에서, 제2 인증서 CERT2를 생성하기 위해 제1 비밀 키 SK1로 제2 공개 키 PK2가 인증된다. 본 발명의 일 실시 예에서, 제2 인증서 CERT2가 영구 스토리지에 저장된다.
단계 (312)에서, 제1 기기가 검증가능한 부팅을 수행하고, 제1 기기 내의 소프트웨어 구성의 적어도 일부로부터 신뢰 플랫폼 모듈용의 PCR 값들을 계산한다.
단계 (314)에서, 메시지 데이터가 제1 기기 내에서 작성된다. 메시지 데이터가 예컨대 이메일 메시지 내에서, 인스턴트 메시지 내에서 또는 일반적으로는 데이터 패킷 내에서 운반될 수 있다.
단계 (316)에서, 메시지 데이터는 제2 비밀 키 SK2로 서명된다. 이것은 예컨대 해시 함수가 메시지 데이터로부터 계산되는 것으로 이뤄진다. 해시 함수로부터 돌려받는 결과 값은 메시지 데이터용의 서명을 생성하기 위해 제2 비밀 키 SK2를 사용해서 서명(signing) 변환 알고리즘에 의해 프로세싱된다.
단계 (318)에서 메시지 데이터, 메시지 데이터용의 서명, PCR 값들, 제1 인증서 CERT1, 및 제2 인증서 CERT2가 제2 기기에 메시지로서 송신된다. 메시지는 그것이 제2 기기에 도달하기 이전에 다수의 중간 네트워크 노드들을 가로지를 수 있다. 본 발명의 일 실시 예에서, 소프트웨어 구성 측정값 또한 메시지 내에서 제2 전자 기기로 송신된다.
단계 (320)에서, 제2 전자 기기는 메시지 데이터용의 서명을 제1 인증서 CERT1 및 제2 인증서 CERT2로 검증한다. 제2 인증서 CERT2는 제2 공개 키 PK2를 인증하고 제1 인증서 CERT1은 제1 공개 키 PK1을 인증한다. 신뢰성있는 방법으로 제2 기기에 의해 획득되었던 인증 신원 키를 기초로 제1 인증서가 신뢰된다. 거기서 제2 기기는 메시지가 원격 증명된 것으로 간주할 수 있고 그 방법이 종료된다.
도 4는 본 발명의 일 실시 예에서 전자 기기를 도해하는 블록도이다. 전자 기기는 예컨대 이동국(mobile station), 랩톱 컴퓨터, 테이블탑 컴퓨터, 팜탑 컴퓨터일 수 있다. 이동국은 이동 전화기, PDA (personal digital assistant), 페이저, 디지털 카메라 또는 캠코더, 위치 감지 기기 또는 전술한 것들의 결합일 수 있다. 도 4에 전자 기기 (400)가 있다. 전자 기기(400)는 프로세서 (400) 및 세컨더리(secondary) 메모리 (420)을 포함한다. 세컨더리 메모리는 예컨대 하드 디스크, 플래시 메모리, 또는 광학 디스크일 수 있다. 전자 기기 (400)는 프라이머리 메모리 (430)를 또한 포함한다. 프로세서 (410)가 본 발명과 결부된 기능들을 실행할 때, 프라이머리 메모리 (430)는 예컨대 통신 엔티티 (432), 애플리케이션 엔티티 (434) 및 운영 시스템 엔티티 (436)을 포함한다. 전자 기기 (400)는 네트워크 인터페이스 유닛 (440)과 같은 하나 이상의 네트워크 인터페이스 유닛들을 또한 포함한다. 통신 엔티티 (432)는 예컨대 인터넷 프로토콜 기능(Internet Protocol function)인 통신 기능을 포함한다. 네트워크 인터페이스 (440)는 예컨대 WLAN(Wireless Local Area Network), 블루투스 인터페이스, Wimax 인터페이스, UWB (ultra wide band), 저전력 무선 주파수 인터페이스 및 이동 통신 네트워크용의 무선 인터페이스를 포함하는 무선 인터페이스일 수 있다. 전자 기기 (400)는 운영 시스템 엔티티 (436) 및 애플리케이션 엔티티 (434)과 통신하는 신뢰 플랫폼 모듈 (450)을 또한 포함할 수 있다. 전자 기기 (400) 내에서, 신뢰 플랫폼 모듈 (450)의 기능을 지원하는 역할을 하는 소프트웨어 엔티티가 또한 있을 수 있다.
본 발명의 일 실시 예에서, 통신 엔티티 (432)가 전자 기기 (40)의 운영 시스템 내에 구성된다. 도 4의 전자 기기 (400) 내의 엔티티들 [예컨대 통신 엔티티 (432), 애플리케이션 엔티티 (434), 및 운영 시스템 엔티티 (436)]은 다양한 방식들로 구현될 수 있다. 그것들은 네트워크 노드의 네이티브 운영 시스템 하에서 실행되는 프로세스들로서 구현될 수 있다. 엔티티들은 별개의 프로세스들 또는 스레드(thread)들로서 구현될 수 있고, 또한 다수의 상이한 엔티티들이 하나의 프로세스 또는 스레드를 사용하여 구현되도록 될 수 있다. 프로세스 또는 스레드는 다수의 루틴들 즉 절차들 및 기능들을 포함하는 프로그램 블록의 예일 수 있다. 엔티티들은 엔티티들을 구현하는 다수의 루틴들 또는 함수들(function)들을 포함하는 단일 컴퓨터 프로그램으로서 또는 별개의 컴퓨터 프로그램들로서 구현될 수 있다. 프로그램 블록들은 예컨대 메모리 회로, 메모리 카드, 마그네틱 또는 광학 디스크와 같은 적어도 하나의 컴퓨터 판독가능 매체에 저장된다. 일부 엔티티들은 다른 엔티티에 링크된 프로그램 모듈들로서 구현될 수 있다. 도 4의 엔티티들은 별개의 메모리들에 또한 저장될 수 있고 그리고 네트워크 노드 내의 내부 네트워크 또는 메시지 버스를 경유해서 통신하는 별개의 프로세서들에 의해 실행될 수 있다. 그런 메시지 버스의 하나의 예는 PCI (Peripheral Component Interconnect) 버스이다.
예컨대 예시적인 실시 예들의 프로세스들을 수행할 수 있고, 하나 이상의 인터페이스 메커니즘들 [예컨대 인터넷 액세스, 임의의 적합한 형태 (예컨대 음성, 모뎀, 기타 등등)의 원격통신, 무선 통신 매체, 하나 이상의 무선 통신 네트워크, 셀룰러 통신 네트워크, G3 통신 네트워크 PSTNs (Public Switched Telephone Network), PDNS (Packet Data Networks), 인터넷, 인트라넷, 이들의 결합, 기타 등등 ]을 통해 통신할 수 있는 적합한 기기[적합한 서버들, 워크스테이션들, PC들, 랩톱 컴퓨터들, 인터넷 어플라이언스들, 핸드헬드 기기들, 셀룰러 전화기들, 무선 기기들, 다른 기기들, 기타 등등] 내에 본 발명의 예시적인 실시 예이 포함될 수 있다.
예시적인 실시 예들을 구현하기 위해 사용되는 특정 하드웨어의 많은 변경이 하드웨어 기술 분야에서 숙련된 자에 의해 가능한 것과 같이, 예시적인 실시 예들은 예시 목적이라는 것을 알아야한다. 예컨대 예시적인 실시 예들의 컴포넌트들 중 하나 이상의 기능성이 하나 이상의 하드웨어 기기들을 통해 구현될 수 있다.
예시적인 실시 예들은 본원에서 설명된 다양한 프로세스들에 관련된 정보를 저장할 수 있다. 이 정보는 하드 디스크, 광학 디스크, 광자기(magneto- optical) 디스크, RAM 기타 등등과 같은 하나 이상의 메모리 내에 저장될 수 있다 하나 이상의 데이터 베이스는 본 발명의 예시적인 실시 예들을 구현하기 위해 사용되는 정보를 저장할 수 있다. 데이터베이스는 본 명세서에서 열거된 하나 이상의 메모리들 또는 스토리지 기기 내에 포함된 데이터 구조들 (예컨대, 레코드들, 테이블들, 어레이들, 필드들, 그래프들, 트리들, 리스트들, 및 기타 등등)을 사용하여 구성될 수 있다. 예시적인 실시 예들에 관련하여 설명되는 프로세스들은, 하나 이상의 데이터 베이스 내의 예시적인 실시 예들의 서브시스템들 및 기기들의 프로세스들에 의해 생성되고 그리고/또는 수집된 데이터를 저장하기 위해 적절한 데이터 구조를 포함할 수 있다.
예시적인 실시 예들의 일부 또는 전부는, 전자 기술 분야에서 숙련된 자에 의해 예상되는 것처럼, 애플리케이션 특정 집적회로들을 준비하여 구현될 수 있거나 종래의 컴포넌트 회로들의 적절한 네트워크를 서로 연결함으로써 구현될 수 있다.
전술한 것처럼, 예시적인 실시 예들의 컴포넌트들이 본 발명의 교시들에 따르고 데이터 구조들, 테이블들, 레코드들, 및/또는 본 명세서에서 설명된 다른 데이터를 담는 컴퓨터 판독가능 매체 또는 메모리들을 포함할 수 있다. 컴퓨터 판독가능 매체는 실행을 위해 명령어들을 프로세서에 제공하는 적합한 매체를 포함할 수 있다. 그런 매체는 비휘발성 매체, 휘발성 매체, 전송 매체, 기타 등등을 포함하지만 이에 제한되지 않은 많은 형태를 취할 수 있다. 비휘발성 매체는 예컨대 광학 또는 마그네틱 디스크들, 광자기 디스크 기타 등들을 포함할 수 있다. 휘발성 매체는 동적 메모리들 기타 등등을 포함할 수 있다. 전송 매체는 동축 케이블, 구리선, 광섬유 기타 등등을 포함할 수 있다. 전송 매체는 무선 주파수(radio frequency) 통신, 적외선(infrared) 데이터 통신 기타 등등 동안 발생된 음향(acoustic), 광학, 전자파 기타 등등의 형태를 또한 취할 수 있다. 컴퓨터 판독가능 매체의 공통된 형태는 예컨대 플로피 디스크, 플렉서블(flexible) 디스크, 하드 디스크, 마그네틱 테이프, 다른 적합한 마그네틱 매체, CD-ROM, CDRW, DVD, 다른 적합한 광학 매체, 펀치 카드, 페이퍼 테이프, 광학 마크 시트들, 구멍 또는 다른 시각적으로 인식가능한 표지(indicia)의 패턴을 지닌 다른 적합한 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 다른 적합한 메모리 칩 또는 카트리지, 반송파 또는 컴퓨터가 읽을 수 있는 다른 적합한 매체를 포함할 수 있다.
본 발명이 다수의 예시적인 실시 예들 및 구현들과 연관하여 설명되었지만, 본 발명은 이에 제한되지 않고, 예상된 청구항들의 범위 내의 다양한 수정들 및 동등한 배열(arrangement)들을 포함한다.
기술이 발전하면, 본 발명의 기본 아이디어가 다양한 방식으로 구현될 수 있다는 것이 이 기술 분야에서 숙련된 자에게 자명하다. 따라서 본 발명 및 본 발명의 실시 예들은 상술된 예들에 제한되지 않고; 대신에 청구항들의 범위 내에서 변경될 수 있다.

Claims (23)

  1. 통신 시스템에서 원격 메시지 인증을 위한 방법으로서,
    제1 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다];
    상기 제1 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고;
    제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고;
    상기 제1 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다];
    제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고;
    상기 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고;
    상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고; 그리고
    상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 것을 포함하는 원격 메시지 인증 방법.
  2. 제1항에 있어서, 상기 방법은:
    상기 제1 전자 기기의 소프트웨어 구성(configuration)을 검증하고 상기 제1 전자 기기가 상기 서명된 메시지의 송신자라는 것을 검증하도록 상기 제2 전자 기기 내에서 상기 제1 인증서 및 상기 제2 인증서로 상기 메시지 서명을 검증하는 것;을 더 포함하는 원격 메시지 인증 방법.
  3. 제1항에 있어서, 상기 방법은:
    상기 제1 전자 기기를 부팅하고;
    현재 소프트웨어 플랫폼 상태를 결정하고; 그리고
    상기 소프트웨어 플랫폼 상태가 상기 소프트웨어 플랫폼 상태 정보와 매치되면, 상기 신뢰 플랫폼 모듈로부터 상기 애플리케이션으로 상기 제2 비밀 키를 제공하는 것;을 더 포함하는 원격 메시지 인증 방법.
  4. 제1항에 있어서, 상기 방법은:
    상기 소프트웨어 플랫폼 상태 정보와 상기 제2 비밀 키를 결부시키고; 그리고
    영구 스토리지에 상기 소프트웨어 플랫폼 상태와 결부된 상기 제2 비밀 키를 저장하는 것;을 더 포함하는 원격 메시지 인증 방법.
  5. 제1항에 있어서, 상기 방법은:
    상기 영구 스토리지에 상기 제1 인증서 및 상기 제2 인증서를 저장하는 것;을 더 포함하는 원격 메시지 인증 방법.
  6. 제1항에 있어서, 상기 방법은:
    적어도 하나의 소프트웨어 컴포넌트를 사용해서 적어도 하나의 레지스터용 해시 값들을 계산하고;
    상기 적어도 하나의 레지스터용의 새로운 해시 값을 결정하기 위해 상기 해시 값들을 사용하고; 그리고
    상기 적어도 하나의 레지스터의 값들로 상기 소프트웨어 플랫폼 상태 정보를 표현하는 것;을 더 포함하는 원격 메시지 인증 방법.
  7. 제6항에 있어서,
    상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터는 운영 시스템을 위해 예약되는, 원격 메시지 인증 방법.
  8. 제6항에 있어서,
    상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터는 통신 애플리케이션을 위해 예약되는, 원격 메시지 인증 방법.
  9. 제1항에 있어서,
    상기 제1 전자 기기는 통신 네트워크 노드를 포함하는, 원격 메시지 인증 방법.
  10. 제1항에 있어서,
    상기 제1 전자 기기는 모바일 통신 기기를 포함하는, 원격 메시지 인증 방법.
  11. 전자 기기로서:
    제2 비대칭 키 쌍 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 상기 제2 비밀 키를 포함한다]을 생성하고, 상기 전자 기기 내에서 메시지 서명을 제공하기 위해 제2 비밀 키로 메시지에 서명하도록 구성된 애플리케이션 엔티티;
    제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다], 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고, 제1 인증서를 생성하기 위해 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고, 그리고 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하도록 구성된 신뢰 플랫폼 모듈;
    상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고, 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하도록 구성된 통신 엔티티;를 포함하는, 전자 기기.
  12. 제11항에 있어서, 상기 전자 기기는:
    상기 전자 기기를 부팅하도록 구성된 운영 시스템 엔티티;
    현재 소프트웨어 플랫폼 상태를 결정하고, 그리고 상기 소프트웨어 플랫폼 상태가 상기 소프트웨어 플랫폼 상태 정보와 매치되면, 상기 신뢰 플랫폼 모듈로부터 상기 애플리케이션 엔티티로 상기 제2 비밀 키를 제공하도록 구성된 상기 신뢰 플랫폼 모듈;을 더 포함하는, 전자 기기.
  13. 제11항에 있어서, 상기 전자 기기는:
    상기 소프트웨어 플랫폼 상태 정보와 상기 제2 비밀 키를 결부시키고, 그리고 영구 스토리지에 상기 소프트웨어 플랫폼 상태와 결부된 상기 제2 비밀 키를 저장하도록 구성된 상기 신뢰 플랫폼 모듈; 및
    상기 영구 스토리지;를 더 포함하는, 전자 기기.
  14. 제11항에 있어서, 상기 전자 기기는:
    영구 스토리지에 상기 제1 인증서 및 상기 제2 인증서를 저장하도록 구성된 상기 신뢰 플랫폼 모듈; 및
    상기 영구 스토리지;를 더 포함하는, 전자 기기.
  15. 제11항에 있어서, 상기 전자 기기는:
    적어도 하나의 소프트웨어 컴포넌트를 사용해서 적어도 하나의 레지스터용 해시 값들을 계산하고, 상기 적어도 하나의 레지스터용의 새로운 해시 값을 결정하기 위해 상기 해시 값들을 사용하고, 그리고 상기 적어도 하나의 레지스터의 값들로 상기 소프트웨어 플랫폼 상태 정보를 표현하도록 구성된 상기 신뢰 플랫폼 모듈;을 더 포함하는 전자 기기.
  16. 제15항에 있어서,
    상기 신뢰 플랫폼 모듈은 운영 시스템을 위해 상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터를 예약하도록 구성된, 전자 기기.
  17. 제15항에 있어서,
    상기 신뢰 플랫폼 모듈은 통신 애플리케이션을 위해 상기 적어도 하나의 레지스터 중 적어도 하나의 레지스터를 예약하도록 구성된, 전자 기기.
  18. 제11항에 있어서,
    상기 전자 기기는 통신 네트워크 노드를 포함하는, 전자 기기.
  19. 제11항에 있어서,
    상기 전자 기기는 모바일 통신 기기를 포함하는, 전자 기기.
  20. 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍을 생성하는 수단 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다];
    상기 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키는 수단;
    제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하는 수단;
    상기 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하는 수단 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다];
    제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하는 수단;
    상기 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하는 수단;
    상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하기 위한 수단; 및
    상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 수단;을 포함하는 전자 기기.
  21. 제1 전자 기기의 신뢰 플랫폼 모듈에서 제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다], 상기 제1 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고, 제1 인증서를 생성하기 위해 상기 신뢰 플랫폼 모듈과 결부된 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고, 상기 제1 전자 기기 내의 애플리케이션에서 제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다], 제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고, 상기 제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고, 상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고, 그리고 상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하도록 구성된 제1 전자 기기; 및
    상기 제1 전자 기기의 소프트웨어 구성(configuration)을 검증하고 상기 제1 전자 기기가 상기 서명된 메시지의 송신자라는 것을 검증하도록 상기 제1 인증서 및 상기 제2 인증서로 상기 메시지 서명을 검증하는 제2 전자 기기;를 포함하는 시스템.
  22. 컴퓨터 프로그램을 기록한 컴퓨터로 판독가능한 저장 매체로서, 상기 컴퓨터 프로그램은:
    제1 비대칭 키 쌍을 생성하고 [상기 제1 비대칭 키 쌍은 제1 공개 키 및 제1 비밀 키를 포함한다];
    상기 전자 기기 내에서 소프트웨어 플랫폼 상태 정보와 상기 제1 공개 키를 결부시키고;
    제1 인증서를 생성하기 위해 인증 신원 키로 상기 제1 공개 키 및 상기 소프트웨어 플랫폼 상태 정보를 인증하고;
    제2 비대칭 키 쌍을 생성하고 [상기 제2 비대칭 키 쌍은 제2 공개 키 및 제2 비밀 키를 포함한다];
    제2 인증서를 생성하기 위해 상기 제1 비밀 키로 상기 제2 공개 키를 인증하고;
    제1 전자 기기 내에서 메시지 서명을 제공하기 위해 상기 제2 비밀 키로 메시지에 서명하고;
    상기 메시지 및 상기 메시지 서명을 제2 전자 기기에 제공하고; 그리고
    상기 소프트웨어 플랫폼 상태 정보, 상기 제1 인증서 및 상기 제2 인증서를 상기 제2 전자 기기에 제공하는 것;을 포함하는 방법을 실행하도록 프로세서를 제어하기 위한 코드를 포함하는, 컴퓨터로 판독가능한 저장 매체.
  23. 제22항에 있어서,
    상기 컴퓨터 판독가능 매체는 분리형 매모리 카드, 홀로그래픽 메모리, 마그네틱 디스크, 또는 광학 디스크인, 컴퓨터로 판독가능한 저장 매체.
KR1020107000657A 2007-06-20 2008-06-12 통신 시스템에서 원격 메시지 인증을 위한 방법 KR101075844B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/812,635 US7913086B2 (en) 2007-06-20 2007-06-20 Method for remote message attestation in a communication system
US11/812,635 2007-06-20

Publications (2)

Publication Number Publication Date
KR20100018067A KR20100018067A (ko) 2010-02-16
KR101075844B1 true KR101075844B1 (ko) 2011-10-25

Family

ID=40137761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107000657A KR101075844B1 (ko) 2007-06-20 2008-06-12 통신 시스템에서 원격 메시지 인증을 위한 방법

Country Status (5)

Country Link
US (1) US7913086B2 (ko)
EP (1) EP2171633B1 (ko)
KR (1) KR101075844B1 (ko)
CN (1) CN101772771B (ko)
WO (1) WO2008155454A1 (ko)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799447B2 (en) * 2006-10-18 2014-08-05 International Business Machines Corporation Notarizing packet traces
WO2009009182A1 (en) * 2007-07-10 2009-01-15 Inphase Technologies, Inc. Enabling holographic media backwards compatibility with dual-use media card connector
US8141782B2 (en) * 2007-07-10 2012-03-27 Inphase Technologies, Inc. Dual-use media card connector for backwards compatible holographic media card
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8422683B2 (en) * 2008-07-15 2013-04-16 The Mitre Corporation Appraising systems with zero knowledge proofs
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
US8127124B2 (en) * 2009-03-19 2012-02-28 Hewlett-Packard Development Company, L.P. Remote configuration of computing platforms
US9813233B2 (en) * 2010-04-13 2017-11-07 Cornell University Private overlay for information networks
KR20120039133A (ko) 2010-10-15 2012-04-25 삼성전자주식회사 인증정보를 생성하고 인증정보를 증명하는 장치 및 방법
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
EP3255577B1 (en) 2011-06-08 2019-10-30 Telefonaktiebolaget LM Ericsson (PUBL) Method of determining an attribute of a server
US8694786B2 (en) * 2011-10-04 2014-04-08 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
US8868910B2 (en) 2012-02-09 2014-10-21 Hewlett-Packard Development Company, L.P. Elliptic curve cryptographic signature
US9047442B2 (en) * 2012-06-18 2015-06-02 Microsoft Technology Licensing, Llc Provisioning managed devices with states of arbitrary type
US20140032730A1 (en) * 2012-07-26 2014-01-30 Qualcomm Incorporated Delay-tolerant web transaction delegations
WO2014060633A1 (en) * 2012-10-16 2014-04-24 Nokia Corporation Attested sensor data reporting
US20150288703A1 (en) * 2012-10-31 2015-10-08 Hitachi, Ltd. Data possession verification system and method
CN104782155A (zh) * 2012-11-08 2015-07-15 诺基亚技术有限公司 移动tpm中部分虚拟的pcr组
DE102012220767A1 (de) * 2012-11-14 2014-05-28 Siemens Aktiengesellschaft Verfahren und Vorrichtungen zum Installieren von Gebäudesteuerungssoftware
US10063380B2 (en) * 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9367676B2 (en) 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9961077B2 (en) 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
US9413533B1 (en) 2014-05-02 2016-08-09 Nok Nok Labs, Inc. System and method for authorizing a new authenticator
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US9577999B1 (en) 2014-05-02 2017-02-21 Nok Nok Labs, Inc. Enhanced security for registration of authentication devices
US10032029B2 (en) * 2014-07-14 2018-07-24 Lenovo (Singapore) Pte. Ltd. Verifying integrity of backup file in a multiple operating system environment
US9875347B2 (en) 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
US9749131B2 (en) 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US9455979B2 (en) 2014-07-31 2016-09-27 Nok Nok Labs, Inc. System and method for establishing trust using secure transmission protocols
US9736154B2 (en) 2014-09-16 2017-08-15 Nok Nok Labs, Inc. System and method for integrating an authentication service within a network architecture
US9705879B2 (en) * 2014-09-17 2017-07-11 Microsoft Technology Licensing, Llc Efficient and reliable attestation
US9363087B2 (en) * 2014-10-02 2016-06-07 Microsoft Technology Licensing, Inc. End-to-end security for hardware running verified software
WO2016129863A1 (en) 2015-02-12 2016-08-18 Samsung Electronics Co., Ltd. Payment processing method and electronic device supporting the same
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
EP3262582B1 (en) 2015-02-27 2021-03-17 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
KR102460459B1 (ko) 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
CN113630416A (zh) 2015-06-30 2021-11-09 维萨国际服务协会 机密认证和供应
US9768966B2 (en) * 2015-08-07 2017-09-19 Google Inc. Peer to peer attestation
US10057223B2 (en) 2015-09-26 2018-08-21 Intel Corporation Data protection keys
US10193858B2 (en) * 2015-12-22 2019-01-29 Mcafee, Llc Attestation device custody transfer protocol
WO2017131775A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Device attestation
GB2547025A (en) * 2016-02-05 2017-08-09 Thales Holdings Uk Plc A method of data transfer, a method of controlling use of data and a cryptographic device
US20170288866A1 (en) * 2016-03-30 2017-10-05 AVAST Software s.r.o. Systems and methods of creating a distributed ring of trust
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10545770B2 (en) 2016-11-14 2020-01-28 Intel Corporation Configurable client hardware
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
CN108156143A (zh) * 2017-12-14 2018-06-12 上海格尔安全科技有限公司 基于可信执行环境的Android应用程序之间的安全通信方法
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
US11030280B2 (en) 2018-08-01 2021-06-08 Microsoft Technology Licensing, Llc Hardware based identities for software modules
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11101984B2 (en) * 2019-04-04 2021-08-24 Micron Technology, Inc. Onboarding software on secure devices to generate device identities for authentication with remote servers
KR20210017083A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 퓨즈된 키에 기반하여 증명 인증서를 생성하는 전자 장치 및 방법
CN110543768B (zh) * 2019-08-23 2021-07-27 苏州浪潮智能科技有限公司 一种在bios中控制可信根的方法和系统
WO2021037344A1 (en) * 2019-08-27 2021-03-04 Huawei Technologies Co., Ltd. Trusted device and computing system
US11438161B2 (en) * 2019-10-31 2022-09-06 Hewlett Packard Enterprise Patent Department Implicit attestation for network access
US20220329585A1 (en) * 2021-04-08 2022-10-13 Zscaler, Inc. Utilizing endpoint security posture, identification, and remote attestation for restricting private application access
US20220350586A1 (en) * 2021-04-30 2022-11-03 Arm Cloud Technology, Inc. Methods of Distributing Software/Firmware Updates
US11750384B2 (en) * 2021-05-27 2023-09-05 Microsoft Technology Licensing, Llc Binding with cryptographic key attestation
US20230103736A1 (en) * 2021-10-05 2023-04-06 Micron Technology, Inc. Sharing keys with authorized users

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193888A1 (en) 2003-03-31 2004-09-30 Wiseman Willard M. Platform information for digital signatures
US20050251857A1 (en) 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
US20070101138A1 (en) 2005-09-29 2007-05-03 International Business Machines Corporation Cryptographic methods, host system, trusted platform module, computer arrangement, computer program product and computer program
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841410A (zh) * 2005-03-28 2006-10-04 北京雍华和讯信息技术有限公司 一种数字证件防伪方法以及数字防伪证件系统
US8549592B2 (en) * 2005-07-12 2013-10-01 International Business Machines Corporation Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040193888A1 (en) 2003-03-31 2004-09-30 Wiseman Willard M. Platform information for digital signatures
US20050251857A1 (en) 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
US20070101138A1 (en) 2005-09-29 2007-05-03 International Business Machines Corporation Cryptographic methods, host system, trusted platform module, computer arrangement, computer program product and computer program

Also Published As

Publication number Publication date
CN101772771B (zh) 2012-11-14
WO2008155454A1 (en) 2008-12-24
US7913086B2 (en) 2011-03-22
EP2171633A4 (en) 2014-12-24
KR20100018067A (ko) 2010-02-16
US20080320308A1 (en) 2008-12-25
EP2171633A1 (en) 2010-04-07
CN101772771A (zh) 2010-07-07
EP2171633B1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
KR101075844B1 (ko) 통신 시스템에서 원격 메시지 인증을 위한 방법
US9867043B2 (en) Secure device service enrollment
US11432150B2 (en) Method and apparatus for authenticating network access of terminal
US8804701B2 (en) Reliable reporting of location data
US11349831B2 (en) Technique for downloading a network access profile
KR101563828B1 (ko) 신뢰성있는 인증 및 로그온을 위한 방법 및 장치
US20090276620A1 (en) Client authentication during network boot
CN104205891A (zh) 虚拟sim卡云平台
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN107113613B (zh) 服务器、移动终端、网络实名认证系统及方法
JP2004280284A (ja) 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
US10045212B2 (en) Method and apparatus for providing provably secure user input/output
CN109981287A (zh) 一种代码签名方法及其存储介质
Kostiainen et al. Towards user-friendly credential transfer on open credential platforms
Bruseghini et al. Victory by KO: Attacking OpenPGP using key overwriting
Nagy et al. Peershare: A system secure distribution of sensitive data among social contacts
WO2013067792A1 (zh) 智能卡的访问方法、装置及系统
CN111651740B (zh) 一种面向分布式智能嵌入式系统的可信平台共享系统
Kim et al. Secure user authentication based on the trusted platform for mobile devices
CN114372245A (zh) 基于区块链的物联网终端认证方法、系统、设备及介质
CN117479154B (zh) 基于统一多域标识认证的办公终端数据处理方法与系统
EP2348667B1 (en) Cga signature verification method and device thereof
CN116886357A (zh) 一种移动平台分布式数字身份认证方法、装置及介质
WO2023089438A1 (en) Correlating remote attestation quotes with a virtualized network function (vnf) resource allocation event
Breier et al. Qualified Electronic Signature via SIM Card Using JavaCard 3 Connected Edition Platform

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
FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 9