KR20070022080A - 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법 - Google Patents

직접 증명 서명의 부인을 입증하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20070022080A
KR20070022080A KR1020067026086A KR20067026086A KR20070022080A KR 20070022080 A KR20070022080 A KR 20070022080A KR 1020067026086 A KR1020067026086 A KR 1020067026086A KR 20067026086 A KR20067026086 A KR 20067026086A KR 20070022080 A KR20070022080 A KR 20070022080A
Authority
KR
South Korea
Prior art keywords
hardware device
verifier
signature
key
suspicious
Prior art date
Application number
KR1020067026086A
Other languages
English (en)
Other versions
KR100907116B1 (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 KR20070022080A publication Critical patent/KR20070022080A/ko
Application granted granted Critical
Publication of KR100907116B1 publication Critical patent/KR100907116B1/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
    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

몇가지 실시예들에서, 직접 증명 서명의 부인을 입증하기 위한 방법 및 장치가 설명된다. 일 실시예에서는, 신뢰할 수 있는 하드웨어 장치가 검증자에게, 신뢰할 수 있는 하드웨어 장치의 고유한 장치 식별 정보 또는 암호 정보를 드러내지 않으면서, 신뢰할 수 있는 하드웨어 장치가 암호 정보를 소유한다는 것을 확신시킨다. 하드웨어 장치가 암호 정보를 소유한다는 것을 검증자가 확신하고 나면, 검증자는 신뢰할 수 있는 하드웨어 장치로, 하나 이상의 손상된 직접 증명 서명을 포함하는 서명 부인 요청을 발행할 수 있다. 이에 응답하여, 신뢰할 수 있는 하드웨어 장치는, 신뢰할 수 있는 하드웨어 장치에 의해 보유된 암호 키가 하나 이상의 손상된 직접 증명 서명을 형성하는데 사용되지 않았다는 것을 검증자에게 입증하는 것에 의해, 손상된 직접 증명 서명의 부인을 발행한다. 다른 실시예들이 설명되고 권리를 주장한다.
직접 서명, 영 지식 증명, TPM, TTP, 검증자

Description

직접 증명 서명의 부인을 입증하기 위한 장치 및 방법{AN APPARATUS AND METHOD F0R PROVING THE DENIAL OF A DIRECT PROOF SIGNATURE}
본 발명의 하나 이상의 실시예들은 일반적으로 암호 기술의 분야에 관한 것이다. 좀더 구체적으로, 본 발명의 하나 이상의 실시예들은 직접 증명 서명의 부인(denial of a direct proof signature)을 입증하기 위한 방법 및 장치에 관한 것이다.
많은 모뎀 통신 시스템들의 경우, 교환된 정보의 신뢰성과 보안성은 중요한 문제이다. 이 문제를 해결하기 위해, TCPA(Trusted Computing Platform Alliance)는 플랫폼들을 위한 보안 솔루션들을 개발하였다. 2002년 2월 22일경에 발간된 "Main Specification Version 1.1b"라는 명칭의 TCPA 규격에 따르면, 각각의 퍼스널 컴퓨터(PC)는 TPM(Trusted Platform Module)이라고 하는 신뢰할 수 있는 하드웨어 장치(trusted hardware device)를 이용하여 구현된다. 각각의 TPM은, 공개 EK(endorsement key) 키(PUBEK) 및 비밀 EK 키(PRIVEK)를 특징짓는 고유한 EK 쌍을 포함하고 있다. TPM은 통상적으로 제조자에 의해 서명된 PUBEK용 인증서(certificate)를 가지고 있다.
동작하는 동안, ("검증자(verifier)"라고 하는) 외부 당사자(party)가 TPM의 인증을 요구할 수 있다. 이것은 2가지 상반되는 보안 문제들을 발생시킨다. 첫번째, 검증자는, 요청된 인증 정보가 정말로 유효한 TPM으로부터 발생하고 있다는 것을 확인할 필요가 있다. 두번째, TPM을 포함하는 PC의 소유자는 가능한 최대한의 프라이버시를 유지하고 싶어한다. 특히, PC의 소유자는, 인증 정보가 동일한 TPM으로부터 발생하고 있다는 것을 상이한 검증자들이 판정할 수 없는 상태에서, 상이한 검증자들에 인증 정보를 제공할 수 있기를 원한다.
이러한 보안 쟁점들을 위해 제안된 하나의 솔루션이 TTP(Trusted Third Party)를 확립하는 것이다. 예를 들어, TPM은 AIK(Attestation Identify Key) 쌍, 즉, 공개 AIK 키 및 비밀 AIK 키를 생성할 것이다. 공개 AIK 키는 PRIVEK로 서명된 인증서 요청에 배치된 다음, TTP로 송신될 수 있다. PUBEK를 위한 인증서도 TTP로 송신될 것이다. 일단 인증서들이 수신되고 나면, TTP는, 서명된 인증서 요청이 유효한지를 점검할 것이고, 유효하다면, TTP는 TPM으로 인증서를 발행할 것이다.
일단 인증서가 발행되고 나면, TPM이 검증자로부터 요청을 수신했을 때, TPM은 공개 AIK 및 TTP 발행 인증서를 사용할 것이다. AIK 및 인증서는 EK와 무관할 것이므로, 검증자는 TPM 또는 TPM을 이용하여 구현된 PC의 신원(identity)에 관한 정보를 갖지 않을 것이다. 실제로, 앞서 확인된 접근 방법은, TTP들이 확립될 것을 요구하기 때문에, 문제의 소지가 있다. TTP들로서 동작할 수 있는 다양한 당사자들을 식별하고 확립하는 것이 상당한 장애가 된다는 것이 입증되었다.
제안된 다른 솔루션은, 본 출원의 양수인에게 양도되어 있는, 2002년 11월 27일에 출원된, 계류 중인 미국특허출원 제10/306,336호에 기술되어 있다. 제안된 솔루션은, TPM의 신원을 드러내지 않으면서, AIK가 유효한 TPM에 의해 생성되었다는 것을, TTP를 필요로 하지 않는 상태에서 TPM이 직접적으로 입증할 수 있는 직접 증명 방법을 이용한다. 그 솔루션에서, 각각의 TPM은 고유한 개인 키를 가진다. 유감스럽게도, 적대자(adversary)가 TPM을 취하고, 복잡한 수단을 사용해, TPM으로부터 고유한 개인 키를 추출할 수 있다.
직접 증명 방법에서는, TPM으로부터 제거된 키를 폐기(revoke)할 수 있는 방법이 제공된다. 직접 증명 프로토콜 동안, TPM은 베이스(h)를 취하여, k = hf mod n을 계산하고 푸는데, 여기에서, n은 공개 키의 일부이고, f는 TPM에 의해 보유된 고유 키의 일부이다. 따라서, 검증자가 TPM으로부터 제거된 값(f0)를 수신하면, 검증자는, 계산 k0 = hf0 mod n을 수행하고 k = k0인지를 점검하는 것에 의해, 직접 증명이 이 값(f0)을 사용해 생성되었는지의 여부를 점검할 수 있다. k = k0라면, 직접 증명은 f0를 사용해 생성된 것이고, k가 k0가 아니라면, 직접 증명은 소정의 다른 개인 키를 사용해 생성된 것이다.
이 방법의 하나의 제한은, 검증자가 f0의 값을 획득할 것을 요구한다는 것이다. 적대자는 TPM으로부터 고유한 비밀 값을 획득할 수 있었고, 그것을, 검증자가 f0의 값을 획득할 수는 없었지만, 특정 k0에 대해, f0의 값이 TPM으로부터 제거되었다는 것을 알 수 있는 방식으로 사용했다고 생각할 수 있다. 미국특허출원 제10/306,336호에서는, 이 문제를 다루기 위한 하나의 방법이 제시되었다. 그것은, 각각의 TPM이 그 검증자와 상호 작용할 때 사용하기 위한 베이스(h)의 값을 제공할 것을 검증자에 요구한다. 이것은, 검증자가 그 검증자와의 모든 상호 작용들을 링크할 수 있게 하는 속성을 가진다.
첨부 도면들에는, 본 발명의 다양한 실시예들이, 한정이 아닌, 일례로서 도시되어 있다.
도 1은, 일 실시예에 따라 동작하는 TPM(Trusted Platform Module)을 이용하여 구현된 플랫폼이 특징인 시스템을 예시한다.
도 2는 도 1의 TPM을 포함하는 플랫폼의 제1 실시예를 예시한다.
도 3은 도 1의 TPM을 포함하는 플랫폼의 제2 실시예를 예시한다.
도 4는 도 2의 TPM을 이용하여 구현된 컴퓨터의 예시적 실시예를 예시한다.
도 5는, 일 실시예에 따른, 제조하는 동안 TPM을 설정하기 위한 절차의 흐름도를 예시한다.
도 6은, 일 실시예에 따른, 제조된 각각의 플랫폼을 설정하기 위한 절차의 흐름도를 예시한다.
도 7은, 일 실시예에 따른, 신뢰할 수 있는 하드웨어 장치내에 저장되어 있는 암호 키가 손상되지 않았다는 것을 확인하기 위한 방법을 예시하는 흐름도이다.
도 8은, 일 실시예에 따른, 2가지 이산 대수들(discrete logarithms)이 동일하다는 것을 영 지식 증명(zero knowledge proof)이 보여 주는 방법을 예시하는 흐 름도이다.
도 9는, 일 실시예에 따른, 2가지 이산 대수들이 동일하다는 증명의 확인을 개념적으로 예시하기 위한 방법을 예시하는 흐름도이다.
도 10은, 일 실시예에 따른, 신뢰할 수 있는 하드웨어 장치내에 저장되어 있는 암호 키가 손상되지 않았다는 것을 검증자에게 확신시키기 위한 방법을 예시하는 흐름도이다.
직접 증명 서명의 부인을 입증하기 위한 방법 및 장치가 설명된다. 일 실시예에서, 신뢰할 수 있는 하드웨어 장치는 검증자에게, 신뢰할 수 있는 하드웨어 장치의 고유한 장치 식별 정보 또는 암호 정보를 드러내지 않으면서, 암호 정보를 소유할 것을 확신시킨다. 이것은 TTP(Trusted Third Party)를 사용하지 않는 상태에서 실현된다. 오히려, 그것은, TPM에 의한 계산들이 암호 키를 지수(exponent)로서 사용하는 멱승법(exponentiations)을 수반하는 "직접 증명(direct proof)" 방법에 의해 실현된다. 일 실시예에서, 신뢰할 수 있는 하드웨어 장치는 검증자에게, 직접 증명에서 사용되는 디지털 서명("직접 증명 서명(direct proof signature)")이 손상되지 않은(uncompromised) 암호 키에 기초한다는 것을 입증한다.
일 실시예에서, 검증자는, 신뢰할 수 있는 하드웨어 장치에 의해 보유된 암호 키가 손상된 것으로 의심되는 직접 증명 서명(의심스러운 직접 증명 서명)을 형성하는데 사용되지 않았다는 것을 입증하기 위해, 신뢰할 수 있는 하드웨어 장치로 서명의 부인 요청(denial signature request)을 검증자가 발행할 수 있다. 일 실시예의 경우, TPM으로부터의 정보(예를 들어, 암호 키, 디지털 서명, 디지털 인증서 등)가 손상되지 않았다는 것을 검증자에게 입증하도록 구성되어 있는 TPM의 기능은 펌웨어로서 배치된다. 그러나, 그러한 기능은 전용 하드웨어 또는 소프트웨어로서 배치될 수 있다고 생각된다. 펌웨어 또는 소프트웨어를 형성하는 명령어들 또는 코드는 머신-판독 가능 매체에 저장된다.
여기에서, "머신-판독 가능 매체(machine-readable medium)"는, 플로피 디스켓, 하드 디스크, 광 디스크(예를 들어, CD-ROM들, DVD들, 미니-DVD들 등), 광자기 디스크, ROM(read-only memory), RAM(random access memory), 임의 유형의 프로그램 가능한 판독 전용 메모리(예를 들어, PROM(programmable read-only memory), EPROM들(erasable programmable read-only memories), EEPROM들(electrically erasable programmable read-only memories), 또는 플래시), 자기 카드 또는 광 카드와 같은 반도체 메모리 등을 포함할 수 있지만, 이에 한정되는 것은 아니다. 소프트웨어는 다운로드된 신호의 일부로서 또는 통신 링크를 통한 전파 동안 일시적으로 저장될 수 있으므로, 신호 자체 및/또는 통신 링크가 머신-판독 가능 매체로 간주될 수 있다고 생각된다.
다음 설명에서는, 소정 용어가 본 발명에 대한 하나 이상의 실시예들의 소정 특징들을 설명하는데 사용된다. 예를 들어, "플랫폼"은, 정보를 송수신하기에 적합한 임의의 유형의 통신 장치로서 정의된다. 다양한 플랫폼들의 일례들로는 컴퓨터들, PDA들(personal digital assistants), 셀룰러 전화기들, 셋톱 박스들, 팩시밀리들, 프린터들, 모뎀들, 라우터들 등을 들 수 있지만, 그것들로 한정되는 것은 아니다. "통신 링크"는 플랫폼에 적합한 하나 이상의 정보-전달 매체들로서 광범위하게 정의된다. 통신 링크들의 다양한 유형들의 일례들로는, 전기선(들), 광 파이버(들), 케이블(들), 버스 트레이스(들), 또는 무선 시그널링 기술을 들 수 있지만, 이들로 한정되는 것은 아니다.
"검증자(verifier)"는, 다른 실체로부터 진정성(authenticity) 또는 권한(authority)의 소정 확인을 요청하는 임의의 실체(예를 들어, 사람, 플랫폼, 시스템, 소프트웨어, 및/또는 장치)를 의미한다. 통상적으로, 이것은, 요청된 정보를 공개하거나 제공하기 전에 수행된다. "입증자(prover)"는, 자신의 권한, 유효성, 및/또는 신원의 소정의 증명을 제공하도록 요청된 임의의 실체를 의미한다. "증명하는 제조자(certifying manufacturer)"와 대체 가능하게 사용될 수 있는 "장치 제조자"는 플랫폼 또는 장치(예를 들어, TPM)을 제조하거나 구성하는 임의의 실체를 의미한다.
여기에서 사용되는 바와 같이, 입증자가 소정의 암호 정보(예를 들어, 서명 키, 개인 키 등)를 소유하고 있거나 알고 있다는 것을 검증자에게 "입증"하거나 "확신"시키는 것은, 검증자에게 공개된 정보 및 증명에 기초해, 입증자가 암호 정보를 가지고 있을 확률이 높다는 것을 의미한다. 검증자에게 암호 정보를 "드러내거나" "공개하지" 않으면서 검증자에게 이것을 입증한다는 것은, 검증자에게 공개된 정보에 기초해, 검증자가 암호 정보를 판정하는 것은 연산적으로 불가능하다는 것을 의미한다. 그러한 증명들을 이하에서는 직접 증명들이라고 한다. "직접 증명"이라는 용어는, 이러한 유형들의 증명들이 업계에 널리 공지되어 있는 영 지식 증명들을 의미한다.
다음에서 논의되는 다양한 실시예들의 설명 및 예시 전체에 걸쳐, 계수들, 변수들, 및 다른 기호들(예를 들어, "h")은 동일한 라벨 또는 명칭으로 언급된다. 따라서, 기호가 등식의 상이한 부분들 뿐만 아니라 상이한 등식들 또는 기능적 기술에 등장할 경우에도, 동일한 기호가 참조된다.
I. 범용 아키텍처
도 1은, 일 실시예에 따른, ("TPM(Trusted Platform Module)"으로서 언급되는) 신뢰할 수 있는 하드웨어 장치를 이용하여 구현되는 플랫폼을 특징으로 하는 시스템(100)을 예시한다. 제1 플랫폼(102;검증자)은 네트워크(120)를 통해 제2 플랫폼(200;입증자)으로 인증 요청(106)을 송신한다. 요청(106)에 응답하여, 제2 플랫폼(200)은 인증 정보(108)를 제공한다. 일 실시예에서, 네트워크(120)는 LAN 또는 WAN 및/또는, 회사의 인트라넷, 인터넷, 또는 다른 유사 네트워크와 같은, 전통적인 네트워크 기반시설의 일부를 형성한다.
추가적으로, 향상된 보안성을 위해, 입증자 플랫폼(200)이 (이하에서, "장치 제조자(들)(110)"라고 하는) 선택된 장치 제조자 또는 장치 제조자들의 선택된 그룹에 의해 제조된다는 것을 제1 플랫폼(102)이 확인할 필요가 있을 수 있다. 일 실시예에서, 제1 플랫폼(102)은, 제2 플랫폼(200)이 장치 제조자(들)(110)에 의해 발생된 암호 정보(예를 들어, 비밀 서명 키)를 가지고 있다는 것을 보여줄 것을 제2 플랫폼(200)에 요구한다. 제2 플랫폼(200)은, 응답의 형태로, 암호 정보 또는 임의의 고유한 장치/플랫폼 식별 정보를 드러내지 않으면서, 제2 플랫폼(200)이 장치 제조자(들)(110)에 의해 발생된 암호 정보를 가지고 있다는 것을 제1 플랫폼(102)에 확신시키는 인증 정보를 제공하는 것에 의해, 이 요청에 응답한다.
도 2는, 암호 정보 또는 임의의 고유한 장치 식별 정보를 공개하지 않으면서, 플랫폼(200)이 미손상 암호 정보를 소유한다는 것을 검증자에게 확신시키는 TPM(220)을 포함하는 플랫폼(200)을 추가로 예시하는 블록도이다. 대표적으로, 컴퓨터 시스템(200)은 프로세서(CPU;202)와 칩셋(210) 사이에서 정보를 전달하기 위한 프로세서 시스템 버스(FSB;front side bus)(204)를 포함한다. 여기에서 설명되는 바와 같이, "칩셋"이라는 용어는, 원하는 시스템 기능을 수행하기 위해 CPU(202)에 연결되어 있는 다양한 장치들을 집합적으로 설명하는 방식으로 사용된다.
대표적으로, 그래픽 블록(218), 하드 드라이브 장치들(HDD;214) 및 메인 메모리(212)가 칩셋(210)에 연결될 수 있다. 일 실시예에서, 칩셋(210)은 메모리 컨트롤러 및/또는 I/O 장치들(216;216-1, ..., 216-N)과 통신하기 위한 입/출력(I/O) 컨트롤러를 포함하도록 구성된다. 다른 실시예에서, 칩셋(210)은 그래픽 블록(218)이거나 그래픽 블록(218)을 통합하도록 구성될 수 있고 GMCH(graphics memory controller hub)로서 동작할 수 있다. 일 실시예에서, 메인 메모리(212)는, RAM(random access memory), DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous DRAM), DDR-SDRAM(double data rate SDRAM), RDRAM(Rambus DRAM) 또는 데이터의 고속 버퍼링을 지원할 수 있는 임의의 장치를 포함할 수 있지만, 이에 한정되는 것은 아니다.
도 3은, 일 실시예에 따른, 제2 플랫폼(200)의 TPM(Trusted Platform Module;220)을 추가 예시한다. TPM(220)은, 장치 제조자(들)에 의해 제조되는 암호 장치이다. 일 실시예에서, TPM(220)은 패키지내에 캡슐화된 소량의 온-칩 메모리를 갖는 프로세서 유닛(222)을 포함한다. 일 실시예에서, 캡슐화된 메모리는 증명하는 제조자로부터 수신되는 암호 키(230)를 저장하는데 사용될 수 있다. TPM(220)은, 인증 정보가 유효한 TPM으로부터 송신된다는 것을 제1 플랫폼(102)이 판정할 수 있게 하는 인증 정보를 제1 플랫폼(102)에 제공하도록 구성된다. 사용되는 인증 정보는, 여기에서 "고유한 장치 식별 정보"라고 하는, TPM 또는 제2 플랫폼의 신원이 판정되게 할 수 있을 비고유 데이터이다.
일 실시예에서, TMP(220)은, 키들, 해시 값들, 서명들, 인증서들 등 중 하나 이상과 같은 암호 정보의 저장을 허용하는 비휘발성 메모리(224;예를 들어, 플래시)를 더 포함한다. 일 실시예에서, 암호 정보는 증명하는 제조자로부터 수신되는 암호 키이다. 다음에서 알 수 있는 바와 같이, "X"의 해시 값은 "Hash(X)"로서 표현될 수 있다. 물론, 그러한 정보가 플래시 메모리(224) 대신 플랫폼(200)의 외부 메모리(280)내에 저장될 수도 있다고 생각된다. 암호 정보는, 특히 그것이 TPM(220) 외부에 저장된다면, 암호화될 수 있다.
일 실시예에서, TPM(220)은 검증자 플랫폼으로부터의 인증 요청에 응답하는 인증 로직(240)을 포함한다. 일 실시예에서, 인증 로직(240)은 검증자 플랫폼에게, 암호 정보 또는 임의의 고유한 장치/플랫폼 식별 정보를 드러내지 않으면서, TPM(220)이 증명하는 장치 제조자에 의해 발생된 암호 정보를 저장했다는 것을 확신시키거나 입증한다. 그 결과, 인증 로직(240)은, 입증자 플랫폼의 신원을 보존하면서, 요청된 인증을 수행한다. 인증 로직(240)은 도 4를 참조하여 추가적으로 예시된다.
예시된 바와 같이, 직접 증명 로직(250)은, 다음에서 상세하게 설명되는 바와 같이, 암호 정보를 드러내지 않으면서, 입증자 플랫폼이 증명하는 제조자로부터의 암호 정보를 포함한다는 것을 검증자에게 확신시키는 직접 증명에 사용되도록 구성된다. 다음에서 설명되는 바와 같이, 키 로직(270)은 고유한 개인 비밀 쌍 (c,F)을 수신하도록 TPM(220)의 플랫폼 설정을 수행하는데, 여기에서, F는 개인 서명 키로서, F = ce mod n이고, e, n은 TPM(220)의 증명하는 제조자의 공개 키이다.
다음에서 상세하게 설명되는 바와 같이, 서명의 부인 로직(260)은, 장치에 의해 보유된 개인 서명 키가, 직접 증명 로직(250)에 의해 수행되는 것과 같이, 직접 증명 동안 의심스러운 서명을 발생시키는데(의심스러운 직접 서명 증명에) 사용되지 않았다는 것을 검증자 플랫폼에게 확신시키거나 입증하기 위한 후술되는 추가 기능을 제공한다. 상술된 것보다 덜 갖추어졌거나 더 갖추어진 컴퓨터가 소정 구현들에 적합할 수도 있다. 따라서, 플랫폼(200)의 구성은, 가격 제한 사항들, 성능 요구 사항들, 기술 향상들, 및/또는 다른 환경들과 같은, 다수 인자들에 따라 구현별로 달라질 것이다.
II. 플랫폼 설정
"플랫폼 계열"은 플랫폼들 또는 장치들의 하나 이상의 유형들을 포함하도록 장치 제조자에 의해 정의될 수 있다. 예를 들어, 플랫폼 계열은, 동일한 보안 관련 정보를 가진 모든 플랫폼들(멤버들)의 세트일 수 있다. 이러한 보안 관련 정보는, TCPA 모델의 EK 또는 AIK 인증서에 포함되어 있는 정보 중 일부를 포함할 수 있다. 이러한 보안 관련 정보는 특정 플랫폼 또는 장치의 제조자 및 모델 번호도 포함할 수 있다. 각각의 플랫폼 계열을 위해, 장치 제조자는, 제조자가 그 플랫폼 계열을 위해 사용하는 암호 파라미터들을 생성한다. 장치 제조자는, 도 5 및 도 6에 도시된 바와 같이, 장치 제조자가 제조하는 장치들(예를 들어, 플랫폼(200) 또는 TPM(220))을 위한 비밀들에 서명하는데 사용하는 서명 키를 생성한다.
도 5는, 일 실시예에 따른, PFC(platform family certificate)를 형성하는 방법(400)을 예시하는 흐름도이다. 일 실시예에서, 장치 제조자는 공개 키 암호 기능(예를 들어, RSA(Rivest, Shamir and Adelman) 기능)을 사용해 공개 모듈러스(n;modulus), 공개 지수(e), 및 개인 지수(d)를 가진 RSA 공개/개인 키 쌍을 생성한다(블록 402). 공개 키는 e,n의 값들에 기초하는 한편, 개인 키는 d,n에 기초한다. 이것은, Bruce Schneier, John Wiley & Sons에 의한 Applied Cryptography, ISBN: 0471117099; Second Edition(1996)에서 설명된 것들과 같은, 주지의 방법들을 사용해 생성될 수 있다. 일 실시예에서, 모듈러스(n)은, 연산적으로 n을 인수 분해하는 것이 불가능할 정도로 충분히 크게 선택되어야 한다.
장치 제조자는 0과 n 사이의 정수인 파라미터 Z를 특정한다(블록 404). 장치 제조자는 0과 n 사이의 정수인 보안 파라미터 W를 특정한다(블록 406). 그러나, W를 너무 작게 또는 너무 크게 선택하는 것은 보안 실패를 초래할 수 있다. 본 발명의 일 실시예에서, W는 대략 2160이도록 선택된다. W를 280과 n의 거듭제곱 사이이도록 선택하는 것이 추천된다. 본 발명의 일 실시예에서, 장치 제조자는, P =u*n+l이도록 소수 P를 계산한다(블록 408). P가 소수이기만 하다면, u의 임의의 값이 사용될 수 있지만, 수용 가능한 보안 레벨을 유지하기 위해, 값 P는, 이산 대수 "mod P"를 계산하는 것이 연산적으로 불가능하도록, 충분히 커야 한다.
일 실시예에서, 장치 제조자의 직접 증명 공개 키는 암호 파라미터들(e, n, u, P, Z, W)로 이루어진다. 이 파라미터들은 검증자에 의해, 장치에 의해 생성된 직접 증명 서명을 확인하는데 사용될 것이다. 장치 제조자는, 암호 파라미터들(e, n, u, P, Z, W), 플랫폼 계열의 보안 관련 정보, 및 장치 제조자의 명칭을 포함하는 PFC를 발생시킨다(블록 410). 일 실시예에서는, 파라미터들(u 및 P) 모두가 포함되지는 않을 것인데, n과 이 파라미터들 중 하나가 주어지면, 나머지는 P = u*n + 1에 의해 계산될 수 있기 때문이다. 일 실시예에서, 장치 제조자는 몇가지 상이한 플랫폼 계열들에 대해 동일한 암호 파라미터들(e, n, u, P, W)을 사용하고, 상이한 플랫폼들에 대해 단지 Z 값만을 변경한다. 이 경우, Z의 값들은, 선택된 차이가 설계 선택(design choice)이더라도, 대략 또는 적어도 4W만큼 차이나도록 선택될 수 있다.
일단 PFC가 발생되고 나면, 장치 제조자는, 장치 제조자가 제조하는, 그러한 특정 플랫폼 계열에 속하는 플랫폼들 또는 장치들에 PFC를 제공한다(블록 412). PFC와 연관된 암호 파라미터들의, 입증자(예를 들어, 도 1의 제2 플랫폼(200))로부터 검증자로의 분배는 다수 방법들로 실현될 수 있다. 그러나, 이러한 암호 파라미터들은, PFC가 장치 제조자에 의해 발생되었다는 것을 검증자가 확신하는 방법으로 검증자에게 분배되어야 한다.
예를 들어, 허용되는 한가지 방법은 파라미터들을 검증자에 직접적으로 분배하는 것에 의한 것이다. 허용되는 다른 방법은, 장치 제조자가 일례일 수 있는 증명하는 권한(certifying authority)에 의해 서명된 PFC를 분배하는 것에 의한 것이다. 이러한 후자의 방법에서는, 증명하는 권한의 공개 키가 검증자로 분배되어야 하고, 서명된 PFC가 플랫폼 계열의 플랫폼 멤버 각각(입증자 플랫폼)에 주어져야 한다. 그 다음, 입증자 플랫폼은 서명된 PFC를 베리파리어에 제공할 수 있다.
도 6은, 예를 들어, 도 4에 도시된 바와 같은, 키 로직(270)에 의한 것과 같이, 일 실시예에 따라 제조된 입증자 플랫폼을 위해 수행되는 설정을 위한 방법(500)을 예시하는 흐름도이다. 입증자 플랫폼의 TPM은, 0 < F-Z < W이도록 난수(F;random number)를 선택한다(블록 502). TPM은, 이 난수를 서명을 위해 증명하는 제조자로 송신하기 전에, 난수를 블라인딩(blinding)할 수 있다(블록 504). 이러한 블라인딩 동작은, 증명하는 제조자로부터 난수(F)의 정확한 내용들을 알기 어렵게 만들기 위해 수행된다. 일 실시예에서, TPM은, 1 < B < n-1인 난수값(B;random value)를 선택하고(블록 506), A = Be mod n을 계산한다(블록 508). 그 다음, TPM은 F' = F*A mod n을 계산한다(블록 510). TPM이 F를 블라인딩하지 않으면, TPM은 F' = F 및 A = 1을 사용한다(블록 512).
이 계산들을 수행한 후, TPM은 F'을 증명하는 제조자에게로 송신한다(블록 514). 증명하는 제조자는 c' = F'd mod n을 계산하고(블록 516), 입증자에게 c'을 제공한다(블록 518). 입증자의 TPM은 c = c'*B-1 mod n을 계산한다(블록 520). 이것은, c = Fd mod n을 의미한다는 것에 주의한다. 그 다음, 값들(c 및 F)은 TPM에 또는 입증자내의 외부 저장 장치에 저장된다(블록 522). 여기에서 설명되는 바와 같이, F는 TPM의 서명 키로서 언급되는 반면, 비밀 쌍(c,F)은 암호 정보로서 언급되고 여기에서는 "멤버 키"로서 언급될 수도 있다. 여기에서 설명되는 바와 같이, F는 "가명 지수(pseudonym exponent)"로서 언급될 수도 있다.
하드웨어 장치가 증명하는 제조자로부터의 암호 정보를 소유하고 있다는 것을 검증자에게 확신시키기 위해 직접 증명을 수행하는 TPM의 동작이, 2003년 9월 30일에 출원되어 계류 중인 미국특허출원 제10/675,165호에 기술된다. 직접 증명 방식에서, 직접 증명에 사용되는 입증자의 서명("직접 증명 서명")은 공개 키를 사용해 플랫폼 제조자(발행자)인지가 확인된다. 따라서, 모든 멤버들은 동일한 공개 키를 사용해 그들의 서명들을 확인할 수 있다. 멤버에 의해 생성된 직접 증명 서명은, 어떤 멤버가 직접 증명 서명을 생성했는지를 식별하지 않는다는 것이 입증될 수 있다.
검증자에게 TPM이 고유한 비밀 쌍을 포함하고 있다는 것을 입증하기 위해, TPM은 랜덤 베이스 옵션(random base option)에 따른 베이스로서 사용하기 위한 B를 위한 값을 획득할 수 있다. 예를 들어, TPM은, 서명 요청에 응답하여, k = BF mod N을 계산하여 검증자에 B,k를 제공한다. 따라서, 여기에서 설명되는 바와 같이, 값(k)는 직접 증명 서명을 위한 "가명(pseudonym)"으로서 언급되고 B는 직접 증명 서명을 위한 "베이스(base)"로서 언급된다. 그 다음, TPM은, F 및 c에 관한 어떤 추가 정보도 드러내지 않으면서, F = ce mod n 및 k = BF mod P이도록, TPM이 F,c를 소유하고 있다는 증명인 직접 증명 서명을 구성한다. 직접 증명 서명을 구성하기 위한 방법이, 또한 본 출원의 양수인에게 양도된 계류 중인 미국특허출원 제10/306,336호에서 제공된다. 검증자들이 동일한 TPM으로부터 증명을 수신했다는 것을 검증자들이 알지 못하도록, TPM이 새로운 직접 증명 서명을 생성할 때마다, TPM은 랜덤 베이스 옵션에 따라 상이한 B 값들을 사용할 수 있다.
다시 도 4를 참조하면, 일 실시예에서, TPM(220)은 폐기 멤버 키들(revocation member keys)을 다루기 위한 서명의 부인 로직(260)을 포함한다. 멤버 키들은 하드웨어에 보유되지만, 키들이 제거될 수도 있다. 이 경우, 검증자들은 제거된 임의의 키를 폐기할 것이고 폐기된 (미지의 의심스러운) 키를 이용하여 발생된 직접 증명 서명들을 수용하는 것을 중지할 것이다. 서명 프로세스의 일부로서, 멤버는 증명하는 멤버의 랜덤 베이스(B) 및 공개 키(e,n)를 선택해 k = BF mod P를 계산한다. B 및 k의 값들은 서명의 일부로서 드러난다. 랜덤 베이스들이 사용된다면, 2개의 상이한 서명들이 주어질 경우, 2개의 서명들이 동일한 가명 지수(F) 또는 상이한 가명 지수들(F들)을 이용하여 생성되었는지를 판정하는 것은 연산적으로 불가능하다는 것이 입증된다.
그러나, 적대자들이 소정 갯수의 하드웨어 장치들로부터 비밀의 가명 지수들(F들, 다시 말해, F1, F2, F3)을 제거했다면 그리고 검증자가 이 가명 지수들을 가지고 있다면, 검증자는, K = BF1 mod P 또는 BF2 mod P 또는 BF3 mod P인지를 점검하는 것에 의해, 소정 서명이 이 가명 지수들 중 하나를 사용해 생성되었는지를 구별할 수 있다. 이것은, 검증자가 하드웨어 장치로부터 제거된 비밀 F들을 가지고 있는 경우에 작용한다. 그러나, 멤버 키가 하드웨어 장치로부터 제거되었다는 것을 검증자가 의심하지만, 검증자가 멤버 키, 특히 지수(F)를 가지고 있지 않은 경우에는 작용하지 않는다.
손상된 것으로 검증자가 의심하는 멤버 키를 폐기할 수 있는 능력을 검증자에게 부여하기 위해, 직접 증명 방법들은 명명된 베이스 옵션(named base option)을 지원한다. 일 실시예에서는, 명명된 베이스 옵션에 따라, 검증자가 베이스(B)를 제공할 것인데, 일 실시예에서, 베이스(B)는 검증자의 명칭으로부터 유도된다. 멤버는, 랜덤 B를 선택하는 대신, 직접 증명 서명에서 이 베이스(B)를 사용할 것이다. 검증자가 동일한 베이스를 사용하는 한, 검증자로 송신된 2개 서명들이 동일한 가명 지수(F)를 사용했는지를 검증자가 구별할 수 있는데, 그 이유는 2개 서명들이 동일한 가명(BF mod P)을 발생시킬 것이기 때문이다.
따라서, 검증자가, 명명된 베이스 옵션을 사용해, 직접 증명 서명을 수신했고, 그 서명을 생성하는데 사용된 멤버 키가 손상되었다고 의심했다면, 검증자가 명명된 동일 베이스를 사용하는 한, 이 멤버 키에 의한 추가 서명들을 검증자가 거절할 수 있을 것이다. 그러나, 검증자가 명명된 베이스 옵션을 효과적으로 사용할 수 있는 유일한 방법은 오랫동안 동일한 명명 베이스를 사용하는 것이다. 이것이 프라이버시 관점에서는 바람직스럽지 못한데, 그 이유는 검증자로 하여금 검증자의 명명된 베이스를 이용하여 멤버에 의해 수행된 모든 트랜잭션들을 링크할 수 있게 하기 때문이다.
도 7은, TPM내에 저장되어 있는 암호 키가 손상되지 않았다는 것을 확인하기 위해, 검증자 플랫폼에 의해 수행되는 방법(500)을 예시하는 흐름도이다. 대표적으로, 프로세스 블록 510에서, 검증자 플랫폼은, 미지의 의심스러운 키를 이용하여 발생된 의심스러운 직접 증명 서명을 인지하고 있는지의 여부를 판정한다. 검증자 플랫폼이, 미지의 의심스러운 키들을 이용하여 발생된, 소정의 의심스러운 직접 증명 서명들을 인지하고 있다고 가정한다. BO는 베이스이고 KO는 의심스러운 직접 증명 서명들 중 하나로 수신된 가명이라고 한다. 일 실시예에서, 검증자 플랫폼은 각각의 의심스러운 직접 증명 서명을 위해 후술되는 프로세스를 반복한다.
설명된 실시예들에서, 검증자 플랫폼은, KO = B0 F0 mod P를 계산하는데 사용된 의심스러운 키(F0)의 사본을 포함하지 않는다. 따라서, 프로세스 블록 520에서, 검증자 플랫폼은 베이스(BO) 및 미지의 의심스러운 키(F0)를 이용하여 발생된 의심스러운 직접 증명 서명의 가명(KO)를 송신한다. 응답하여, 검증자 플랫폼은 입증자 플랫폼으로부터, BO 및 KO를 사용해 계산된 하나 이상의 값들을 수신할 것이다.
일 실시예에서, 입증자 플랫폼내에 저장된 암호 키의 확인은, 프로세스 블록들(540 내지 560)을 참조하여 예시된 바와 같이 형성된다. 입증자 플랫폼은 난수값(R)을 발생시킬 것이다. 일 실시예에서, 난수값(R)은, 0와 W 사이의 구간과 같은, 소정의 특정 구간에서 선택된다. 프로세스 블록 540에서, 검증자 플랫폼은 값들(S 및 T)과, 다음의 수학식 1이 성립되는 값 R이 존재한다는 증명을 입증자 플랫폼으로부터 수신한다.
Figure 112006091694706-PCT00001
일 실시예에서, 값 R의 존재에 대해 수신된 증명은 영 지식 증명의 형태이다. 2개 쌍들((S,BO) 및 (T,KO))이 동일한 이산 대수를 가진다는 것을 입증하기 위한 그러한 영 지식 증명의 일 실시예가 도 8에서 제시된다. 프로세스 블록 550에서, 검증자 플랫폼은, 다음의 수학식 2가 성립되는 값 F가 존재한다는 증명을 수신한다.
Figure 112006091694706-PCT00002
이번에도, 값 F의 존재에 대한 증명은 영 지식 증명을 사용해 수행될 수 있다. 2개 쌍들((U,S) 및 (K,B))이 동일한 이산 대수를 가진다는 것을 입증하기 위 한 그러한 영 지식 증명의 일 실시예가 도 8에서 제시된다.
따라서, 일단 검증자 플랫폼이 값들(R 및 F)의 존재를 확신하고 나면, 일 실시예에서, 검증자 플랫폼은 U 및 T의 값들을 점검한다. U = T mod P라면, 검증자는, 입증자 플랫폼 키(F)가 미지의 의심스러운 키(F0)와 동일했다고 인지한다. 다음의 수학식 3과 같다면,
Figure 112006091694706-PCT00003
검증자는 입증자 플랫폼 키(F)가 미지의 의심스러운 키(F0)와 동일하지 않았다고 인지한다. B0 RF = SF = U mod P 및 B0 RF0 = K0 R = T mod P이므로, 이것을 쉽게 알 수 있다. 따라서, F = F0 mod n일 경우에만 U = T mod P이다.
U ≠ T mod P라면, 입증자 플랫폼 키(F)는 미지의 의심스러운 키(F0)와 동일하지 않다. 따라서, 프로세스 블록 570에서, 검증자는, 입증자 서명 키(F)가 의심스러운 직접 증명 서명을 발생시키는데 사용되었다는 부인을 수신하는데, 이것을 여기에서는 "직접 증명 서명의 부인 입증하기(proving the denial of a direct proof signature)"라고 한다. 그렇지 않고, U = T mod P라면, 검증자 플랫폼은, 입증자 플랫폼이 실제로 직접 증명 서명을 위해 손상된 키(F0)를 사용했다는 확인을 수신한다.
일 실시예에서, 입증자 플랫폼은, 표준 영 지식 증명(standard zero knowledge proof)을 사용하는 것에 의해, 입증자의 서명 키(F)가 의심스러운 직접 증명 서명을 형성하는데 사용되었다는 것을 부인한다. 여기에서 설명되는 바와 같이, 2개 쌍들이 동일한 이산 대수를 가진다는 것을 입증하기 위한 표준 영 지식 증명은 다음과 같이 제공된다. 구체적으로, 정수들의 세트(kl, h1, k2, h2) 및 모듈러스(P)가 주어지면, 영 지식 증명은, f에 관한 어떤 정보도 드러내지 않으면서, k1= h1 f mod k2 및 h2 f =We mod P인 e가 존재한다는 것을 입증할 것이다.
2개의 이산 대수들이 동일하다는 것을 보여주기 위한 영 지식 증명의 일 실시예가, 또한 본 특허출원의 양수인에게 양도되어 있는, 계류 중인 미국특허출원 제10/306,336호에서 제시된다. 도 8은, 이러한 영 지식 증명을 예시하는 흐름도(600)이다. f가 Z와 Z+W 사이의 구간에 위치한다고 가정한다. (Z는, 상기 수학식 1에서와 같이, 0일 수 있다.) B = W * 2Sp + HASH_Length라 하며, 여기에서, Sp는 보안 파라미터이고 HASH_length는 해시 기능(HASH) 출력의 비트 길이이다. 일 실시예에서, Sp는, 다음에서 계산되는 값들이 f에 관한 유용한 정보를 드러내지 않도록, 충분히 크게, 예를 들어, Sp = 60으로 선택된다.
프로세스 블록 610에서, TPM은 구간 [0, B]에서 값 t를 무작위로 선택한다. 그 다음, TPM은 프로세스 블록 620에서 j1 = h1 t mod P 및 j2 = h2 t mod P를 계산할 수 있다. 그 다음, TPM은 프로세스 블록 630에서 r = HASH(h1, k1, h2, k2, j1, j2)를 계산할 수 있다. 프로세스 블록 640에서, TPM은 s = Z+t-f*r을 계산할 수 있다. 마지막으로, 프로세스 블록 650에서, TPM은 s, h1, kl, h2, k2, j1, j2를 검증자로 송신할 수 있다. 일 실시예에 따르면, 다음으로, 검증자는 증명을 확인할 수 있다.
도 9는, 일 실시예에 따른, 2개의 이산 대수들이 동일하다는 증명의 확인을 개념적으로 예시하는 흐름도(700)이다. 프로세스 블록 710에서, 요청자(challenger)는 r = HASH(h1, k1, h2, k2, j1, j2)를 계산할 수 있다. 그 다음, 요청자는 프로세스 블록 720에서 j1 * h1 z = k1 r * h1 s mod P 및 j2 * h2 z =k2 r * h2 s mod P인지를 점검할 수 있다. 프로세스 블록 720의 점검들이 통과되면, 요청자는 프로세스 블록 730에서 그 증명을 수용할 수 있다.
도 10은, 키 확인 요청의 수신에 응답하여 입증자 플랫폼에 의해 수행되는 방법(600)을 예시하는 흐름도이다. 여기에서 설명되는 바와 같이, 검증자 플랫폼은, 일단 하드웨어 장치내에 저장되어 있는 암호 키의 존재를 확신하고 나면, 저장된 암호 키가 미손상되어 있는지를 확인할 수 있다. 일 실시예에 따르면, 그러한 기능은, 도 2 및 도 3을 참조하여 예시된 바와 같이, TPM(220) 인증 로직(240)의 키 확인 로직(260)에 의해 제공된다. 대표적으로, 프로세스 블록 810에서, 입증자 플랫폼은, 서명의 부인 요청이 수신되는지의 여부를 판정한다. 일단 수신되고 나 면, 프로세스 블록들(620-670)의 기능이 수행된다.
프로세스 블록 820에서, 검증자 플랫폼은 미지의 의심스러운 키(F0)를 위한 증명에서 수신되는 의심스러운 서명(의심스러운 직접 증명 서명)의 베이스(B0) 및 가명(K0)을 수신한다. 프로세스 블록 830에서, 입증자 플랫폼은 계산된 값들(S = BO R mod P, T = KO R mod P, U = BO RF mod P 및 K = BF mod P)을 검증자로 송신한다. 프로세스 블록 840에서, 입증자는 S = BO R mod P 및 T = KO R mod P인 값 R이 존재한다는 증명을 검증자 플랫폼으로 송신한다. 프로세스 블록 850에서, 입증자 플랫폼은, U = SF mod P 및 K = BF mod P인 F가 존재한다는 것을 검증자 플랫폼에게 확신시키기 위해 검증자 플랫폼으로 직접 증명을 송신한다.
앞서 지적된 바와 같이, 일 실시예에서, 증명들은 도 8에서 설명된 바와 같은 영 지식 증명에 따라 수행된다. 이 또한 앞서 지적된 바와 같이, 수학식 3이 참으로 판정된다고 가정하면, 프로세스 블록 860에서, 입증자 키(F)는 미지의 의심스러운 키(F0)와 동일하지 않고 프로세스 블록 870이 수행된다. 프로세스 블록 870에서, 입증자는, 의심스러운 직접 증명 서명이 입증자 플랫폼의 서명 키(F)를 이용하여 발생되었다는 것을 부인할 것이다. 그렇지 않고, 수학식 3이 거짓으로 평가되면, 입증자 키(F)는 미지의 의심스러운 키(F0)와 동일하다. 결과적으로, 입증자 플랫폼은 의심스러운 직접 증명 서명의 부인을 입증하는데 실패할 것이다. 따라 서, 검증자 플랫폼은 입증자 플랫폼을 인증하는데 실패할 것인데, 그 이유는 입증자 플랫폼이 손상된 키를 사용하고 있기 때문이다.
따라서, 일 실시예는 상술된 명명 기반 옵션에 향상된 보안 성능들을 제공한다. 그러나, 일 실시예에서는, 검증자 플랫폼이 앞서 수신된 서명들 모두를 입증자 플랫폼들에 제출하는 것이 금지된다. 즉, 앞서 수신된 모든 서명들을 입증자 플랫폼에 제출하는 것에 의해, 앞서 서명을 제출한 입증자 플랫폼은 개개의 서명을 식별할 것이 요구될 것이다. 따라서, 검증자 플랫폼은 입증자 플랫폼으로부터의 선행 서명들 모두를 다같이 링크할 수 있을 것이다. 일 실시예에서는, 여기에서 하나 이상의 실시예들에 의해 설명된 폐기 성능의 남용을 방지하기 위한 몇가지 방법들이 제공된다.
일 실시예에서, 입증자 플랫폼에는, 검증자가 부인을 위해 제시할 수 있는 서명들의 수를 제한하는 내장된 능력(built-in capability)이 제공된다. 극히 일부의 장치들만이 손상될 것이고 그들의 키들이 제거될 것이므로, 이것은 적당한 방법이다. 그러나, 제한을 초과하여 손상된다면, 일 실시예에서, 장치들은 키 교체(rekey)될 수 있다. 장치가 손상된 장치가 아니라는 것을 장치가 입증한 이후에만 키 교체될 것이다. 다른 방법은 장치에 폐기 권한들에 대한 하나 이상의 공개 키들(공개 키들의 해시들)을 입력하는 것이다. 따라서, 부인을 위한 요청이 이러한 폐기 권한들 중 하나에 의해 승인되면, 검증자 플랫폼은 서명의 부인을 제공할 것이다. 승인은, 폐기 권한이 부인을 위한 요청에 서명, 특히 쌍 (BO,KO)을 서명하 는 것에 의해 지시될 수 있다.
다른 방법으로, 검증자가 서명을 요청할 경우, 검증자는 폐기 식별자를 제공한다. 일 실시예에서, 멤버에게 폐기 식별자가 제시될 경우, 입증자 플랫폼은 서명의 부인을, 동일한 폐기 식별자를 포함하는 요청들로 제한할 것이다. 폐기 식별자는 B 값의 하위 비트들, 예를 들어, 하위 40 비트들에 의해 지시될 수 있다. 검증자는 이러한 B의 하위 비트들을 지시할 것이고, 입증자는 이러한 B의 하위 비트들을 사용해 B의 나머지 비트들을 무작위로 선택할 것이다. 그 다음, 입증자는, B0가 이러한 하위 비트들과 매칭되는 서명들에게만 부인을 제공할 것이다. 이런 식으로, 검증자 플랫폼들은, 2개의 검증자들이 동일한 폐기 식별자를 사용했다면 그들이 동일한 그룹에 속하는, 그룹들로 배치될 수 있다. 그룹내에서는, 검증자가 다른 검증자들에게 멤버 키를 거부할 것을 지시할 수 있지만, 그룹 외부의 검증자들에게 멤버 키를 거부할 것을 지시할 수는 없다. 일 실시예에서, 이 방법은 발행되는 서명의 부인 요청들의 수에 대한 제한도 포함할 수 있다.
선행 응용도 직접 증명을 위한 비대화식 방법(non-interactive method)을 포함한다. 또한, 직접 증명을 수행하기 위한 다른 방법들로 발견되었다. 이들 중 하나는 Brickell, Boneh, Chen, 및 Shacham에 의해 제시되었으며 세트 서명들이라고 한다. 또 다른 방법은 Brickell, Camenisch, 및 Chen에 의해 제시되었고 DAA(Direct Anonymous Attestation)라고 한다. 이 방법들 모두는, 서명 또는 대화식 증명의 생성시에, 멤버가, 소정 정수 Q를 위한 정수들의 모듈로(modulo) Q와 같 은, 소정 유한 그룹의 가명(k = Bf)을 생성하는 랜덤 베이스 옵션이 존재한다는 특성을 공유한다. 따라서, 이 발명에서 설명되는, 서명의 부인을 입증하기 위한 방법은 이러한 서명 또는 대화식 방법들 중 어디에도 적용될 수 있다.
예시적 실시예들 및 최선 모드가 개시되었지만, 다음의 청구항들에 의해 정의되는 바와 같이, 본 발명의 실시예들의 범위를 벗어나지 않으면서, 개시된 실시예들에 대한 변경들 및 변형들이 형성될 수 있다.

Claims (40)

  1. 하드웨어 장치의 암호 정보 또는 임의의 고유한 장치 식별 정보를 드러내지 않으면서, 상기 하드웨어 장치가 암호 정보를 소유한다는 것을 검증자(verifier)에게 확신시키는 단계; 및
    상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 상기 검증자에게 확신시키는 단계는,
    상기 하드웨어 장치내에 암호 키가 저장되어 있다는 것을 입증하기 위한 직접 증명(direct proof)을 상기 하드웨어 장치에 의해 수행하는 단계로서, 상기 직접 증명은, 하나 이상이 상기 암호 키를 노출시키지 않으면서 상기 하드웨어 장치의 상기 암호 키를 지수로서 사용해 수행되는 복수개 멱승(exponentiations)을 포함하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 상기 검증자에게 확신시키는 단계는,
    상기 암호 정보를 사용해 가명(K)을 계산하는 단계; 및
    상기 가명(K)을 상기 검증자에 제공하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키는 단계는,
    상기 검증자로부터 의심스러운 서명의 베이스 값(B0) 및 가명 값(K0)을 포함하는 서명의 부인 요청(a denial of signature request)을 수신하는 단계; 및
    상기 가명(K)을 구성하는데 사용되며 상기 하드웨어 장치내에 저장되어 있는 암호 키가 상기 의심스러운 서명을 형성하는데 사용되는 미지의 의심스러운 키(F0)와 매칭되지 않는다는 것을 상기 검증자에게 확신시키는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키는 단계는,
    랜덤 지수 값(R)을 선택하는 단계;
    상기 검증자로부터 수신되는 의심스러운 베이스 값(B0)과 의심스러운 가명 값(K0), 상기 하드웨어 장치의 모듈러스 값(P) 및 상기 랜덤 지수 값(R)에 따라 하나 이상의 계산된 값들을 상기 검증자로 송신하는 단계; 및
    상기 하드웨어 장치내에 저장되어 있는 암호 키(F)가 의심스러운 직접 증명 서명을 생성하는데 사용되었다는 것을 부인하기 위한 증명을 상기 하드웨어 장치에 의해 수행하는 단계로서, 상기 증명은, 상기 암호 키(F), 상기 랜덤 지수 값(R) 및 다른 랜덤 지수 값들을 드러내지 않으면서, 상기 암호 키(F), 상기 랜덤 지수 값(R) 및 상기 다른 랜덤 지수 값들 중 하나를 지수로서 사용해 각각 수행되는 복수개 멱승들을 포함하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 증명을 수행하는 단계는,
    R에 관한 유용한 정보는 전혀 드러내지 않으면서,
    S = BO R mod P 및 T = KO R mod P
    인 값 R이 존재한다는 것을 상기 검증자에게 확신시키는 단계; 및
    F에 관한 유용한 정보는 전혀 드러내지 않으면서,
    U = SF mod P 및 K = BF mod P
    인 값 F가 존재한다는 것을 상기 검증자에게 확신시키는 단계를 포함하는 방법.
  7. 제5항에 있어서,
    상기 검증자는, U ≠ T mod P라면, 상기 하드웨어 장치내에 저장되어 있는 상기 암호 키(F)가 상기 의심스러운 직접 증명 서명을 생성하는데 사용되지 않았다 고 확신하는 방법.
  8. 제1항에 있어서,
    상기 암호 정보가 손상되지 않았다고 상기 검증자에게 확신시키는 단계는,
    상기 검증자로부터 의심스러운 서명의 의심스러운 베이스 값(BO) 및 의심스러운 가명 값(KO)을 포함하는 서명의 부인 요청을 수신하는 단계;
    상기 의심스러운 서명과 연관된 폐기 식별자(revocation identifier)를 의심스러운 폐기 식별자로서 수신하는 단계; 및
    상기 의심스러운 폐기 식별자가, 상기 검증자로부터의 서명 요청과 함께 수신되는 폐기 식별자와 매칭되면, 상기 하드웨어 장치내에 저장되어 있는 암호 키(F)가 상기 미지의 의심스러운 키(F0)와 매칭된다는 것을 부인하기 위한 직접 증명을 상기 하드웨어 장치에 의해 수행하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키는 단계는,
    (a) 하나 이상의 의심스러운 직접 증명 서명을 포함하는 서명의 부인 요청을 상기 검증자로부터 수신하는 단계;
    (b) 상기 서명의 부인 요청이 상기 하드웨어 장치내에 저장되어 있는 하나 이상의 폐기 권한들의 하나 이상의 공개 키들에 따른 소정의 폐기 권한에 의해 승인되었는지 여부를 판정하는 단계; 및
    (c) 상기 요청이 소정의 폐기 권한에 의해 서명되었다면, 상기 하드웨어 장치내에 저장되어 있는 암호 키가 상기 검증자와의 직접 증명에 사용되어 상기 의심스러운 직접 증명 서명을 형성했다는 것을 부인하기 위한 직접 증명을 수행하는 단계를 포함하는 방법.
  10. 제8항에 있어서,
    복수개의 의심스러운 직접 증명 서명에 대해 상기 (a) 내지 (c) 단계들을 반복하는 단계; 및
    상기 복수개의 의심스러운 직접 증명 서명이 의심스러운 직접 증명 서명 제한 값을 초과하면, 상기 검증자가 상기 의심스러운 직접 증명 서명 제한 값을 초과했다는 것을 상기 검증자에게 통지하는 단계를 더 포함하는 방법.
  11. 하드웨어 장치의 임의의 고유한 장치 식별 정보를 드러내지 않으면서, 상기 하드웨어 장치가 암호 정보를 소유하고 있다는 것을 확인하는 단계; 및
    상기 하드웨어 장치의 암호 키가, 검증자에 의해 보유된 하나 이상의 의심스러운 서명을 발생시키는데 사용되지 않았다는 것을 확인하는 단계로서, 상기 의심스러운 서명을 발생시키는데 사용된 의심스러운 키가, 상기 하드웨어 장치의 임의의 고유한 장치 식별 정보를 판정하지 않는 상태에서는, 상기 검증자에게 알려지지 않는 단계를 포함하는 방법.
  12. 제11항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 확인하는 단계 이전에,
    상기 방법이,
    상기 검증자의 손상된 내용을 검출하는 단계;
    상기 손상된 내용을 수신하는데 사용되는 의심스러운 직접 증명 서명의 베이스(BO) 및 가명(KO)을 판정하는 단계; 및
    상기 BO 및 가명(KO)을, 미지의 의심스러운 키(F0)를 이용하여 발생된 의심스러운 직접 증명 서명으로서 저장하는 단계를 포함하는 방법.
  13. 제11항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 확인하는 단계는,
    암호 키가 상기 하드웨어 장치내에 저장되어 있다는 것을 확인하기 위한 증명을 상기 하드웨어 장치로부터 수신하는 단계로서, 상기 증명은, 상기 암호 키를 노출시키지 않으면서, 상기 암호 키를 지수로서 사용해 하나 이상이 수행되는 복수개 멱승들을 포함하는 단계를 포함하는 방법.
  14. 제11항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 확인하는 단계는,
    상기 하드웨어 장치에 의해, 상기 암호 키를 사용해 가명(K)을 계산하는 단계; 및
    상기 하드웨어 장치로부터 상기 가명(K)을 수신하는 단계를 포함하는 방법.
  15. 제14항에 있어서,
    상기 암호 키가 상기 의심스러운 서명을 발생시키는데 사용되지 않았다는 것을 확인하는 단계는,
    미지의 의심스러운 키(F0), 연관된 폐기 식별자를 가진 베이스(B0) 및 가명(K0)을 이용하여 발생되는 의심스러운 직접 증명 서명의 베이스(B0) 및 가명(K0)을 포함하는 서명의 부인 요청을 상기 하드웨어 장치에 제공하는 단계; 및
    디지털 서명 요청 동안 상기 하드웨어 장치로 제공되는 폐기 식별자가 상기 의심스러운 직접 증명 서명과 연관된 폐기 식별자와 매칭되면, 상기 가명(K)을 구성하는데 사용되는 상기 하드웨어 장치의 암호 키(F)가 손상된 것으로 의심되는 키(F0)와 매칭되지 않는다는 것을 상기 검증자에게 확신시키기 위한 직접 증명을 상기 하드웨어 장치로부터 수신하는 단계를 포함하는 방법.
  16. 제11항에 있어서,
    상기 암호 키가 상기 의심스러운 서명을 발생시키는데 사용되지 않았다는 것 을 확인하는 단계는,
    (a) 미지의 의심스러운 키(F0)를 이용하여 형성된 의심스러운 서명의 베이스(B0) 및 가명(K0)을 포함하는 서명의 부인 요청을 상기 하드웨어 장치에 제공하는 단계; 및
    (b) 상기 하드웨어 장치의 암호 키(F)에 대한 식별없이, 상기 하드웨어 장치의 상기 암호 키(F)가 상기 손상된 것으로 의심되는 키(F0)와 매칭되지 않는다는 것을 확인하는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 확인하는 단계는,
    R에 관한 유용한 정보는 전혀 식별하지 않으면서,
    S= BO R mod P 및 T = KO R mod P
    인 값 R이 존재한다는 증명을 상기 하드웨어 장치로부터 수신하는 단계; 및
    F에 관한 유용한 정보는 전혀 식별하지 않으면서,
    U = SF mod P 및 K = BF mod P
    인 값 F가 존재한다는 증명을 상기 하드웨어 장치로부터 수신하는 단계; 및
    U ≠ T mod P이면, 상기 하드웨어 장치의 상기 암호 키(F)를 손상되지 않은 것으로 식별하는 단계를 더 포함하는 방법.
  18. 제17항에 있어서,
    U = T mod P이면, 상기 하드웨어 장치의 상기 암호 키(F)를 손상된 것으로 식별하는 단계를 더 포함하는 방법.
  19. 제16항에 있어서,
    소정 갯수의 의심스러운 직접 증명 서명들에 대해 상기 (a) 및 (b) 단계들을 반복하는 단계; 및
    상기 소정 갯수가 의심스러운 직접 증명 서명 제한 값을 초과하면, 상기 하드웨어 장치의 증명하는 제조자에 의해 정의된 플랫폼 계열의 멤버들인 하드웨어 장치들을 키 교체(rekeying)하는 단계를 더 포함하는 방법.
  20. 제11항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 확인하는 단계는,
    상기 하드웨어 장치의 검증자의 폐기 식별자를 포함하는 서명 요청을 상기 하드웨어 장치로 송신하는 단계;
    상기 폐기 식별자를 포함하는, 상기 하드웨어 장치의 디지털 서명을 수신하는 단계; 및
    상기 하드웨어 장치의 상기 디지털 서명을 상기 하드웨어 장치의 제조자의 공개 키에 따라 인증하는 단계를 포함하는 방법.
  21. 증명하는 제조자로부터의 암호 정보를 저장하기 위한 플래시 메모리; 및
    하드웨어 장치의 암호 정보 또는 임의의 고유한 장치 식별 정보를 드러내지 않으면서, 상기 하드웨어 장치가 증명하는 제조자로부터의 암호 정보를 소유한다는 것을 검증자에게 확신시키고, 상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키기 위한 신뢰할 수 있는 플랫폼 모듈을 포함하는 장치.
  22. 제21항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은,
    암호 키를 노출시키지 않으면서, 상기 암호 키를 지수로서 사용해 하나 이상이 수행되는 복수개 멱승들을 포함하는 직접 증명에 따라, 상기 암호 키가 상기 하드웨어 장치내에 저장된다는 것을 입증하기 위한 인증 로직을 포함하는 장치.
  23. 제21항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은,
    상기 검증자로부터 의심스러운 서명의 베이스 값(B0) 및 가명 값(K0)를 포함하는 서명의 부인 요청을 수신하고, 상기 하드웨어 장치내에 저장되어 가명(K)을 구성하는데 사용되는 암호 키가 의심스러운 서명을 형성하는데 사용되는 미지의 의심스러운 키(F0)와 매칭되지 않는다는 것을 상기 검증자에게 확신시키기 위한 서명 의 부인 로직을 포함하는 장치.
  24. 제21항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은,
    상기 장치의 증명하는 제조자로부터 고유한 비밀 쌍 (c,F)을 수신하기 위한 키 로직으로서, F는 ce mod P 형태의 상기 하드웨어 장치의 서명 키이고, 쌍 (e,P)는 증명하는 제조자의 공개 키인, 키 로직을 포함하는 장치.
  25. 제24항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은 상기 고유한 비밀 쌍 (c,F)을 저장하기 위한 플래시 메모리를 포함하는 장치.
  26. 네트워크에 연결되어 있는 검증자 플랫폼; 및
    상기 네트워크에 연결되어 있는 입증자 플랫폼을 포함하며,
    상기 입증자 플랫폼은,
    버스,
    상기 버스에 연결되어 있는 프로세서,
    상기 버스에 연결되어 있는 칩셋으로서, 상기 네트워크를 통해 수신되는 요청(challenge)에 응답하여, 상기 하드웨어 장치의 암호 정보 또는 장치 식별 정보를 공개하지 않으면서, 하드웨어 장치가 상기 암호 정보를 소유한다는 것을 상기 검증자에게 확신시키고, 상기 암호 정보가 손상되지 않았다는 것을 상기 검증자에게 확신시키기 위한 신뢰할 수 있는 플랫폼 모듈을 포함하는 칩셋을 포함하는 시스템.
  27. 제26항에 있어서,
    상기 칩셋은 그래픽 컨트롤러를 포함하는 시스템.
  28. 제26항에 있어서,
    상기 네트워크는 WAN(wide area network)을 포함하는 시스템.
  29. 제26항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은,
    상기 검증자로부터 의심스러운 서명의 베이스 값(B0) 및 가명 값(K0)을 포함하는 서명의 부인 요청을 수신하고, 상기 하드웨어 장치내에 저장되어 가명(K)을 구성하는데 사용되는 암호 키(F)가 의심스러운 서명을 형성하는데 사용되는 미지의 의심스러운 키(F0)와 매칭되지 않는다는 것을 상기 검증자에게 확신시키기 위한 서명의 부인 로직을 포함하는 시스템.
  30. 제26항에 있어서,
    상기 신뢰할 수 있는 플랫폼 모듈은,
    상기 장치의 증명하는 제조자로부터 고유한 비밀 쌍 (c,F)을 수신하기 위한 키 로직으로서, F는 ce mod P 형태의 상기 하드웨어 장치의 서명 키이고, 쌍 (e,P)는 증명하는 제조자의 공개 키인, 키 로직; 및
    상기 고유한 비밀 쌍 (c,F)을 저장하기 위한 플래시 메모리를 포함하는 시스템.
  31. 하드웨어 장치의 암호 정보 또는 임의의 고유한 장치 식별 정보를 드러내지 않으면서, 상기 하드웨어 장치가 상기 암호 정보를 소유한다는 것을 검증자에게 확신시키는 단계; 및
    상기 검증자에게 상기 암호 정보가 손상되지 않았다는 것을 확신시키는 단계를 포함하는 방법을 수행하도록 시스템을 프로그램하는데 사용될 수 있는 명령어들이 저장되어 있는 머신 판독 가능 매체를 포함하는 제품.
  32. 제31항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 상기 검증자에게 확신시키는 단계는,
    상기 암호 정보를 사용해 가명(K)을 계산하는 단계; 및
    상기 가명(K)을 상기 검증자에 제공하는 단계를 포함하는 제품.
  33. 제31항에 있어서,
    상기 암호 키가 미지의, 손상된 키(F0)와 매칭하지 않는다는 것을 상기 검증자에게 확신시키는 단계는,
    랜덤 지수 값(R)을 선택하는 단계;
    상기 검증자로부터 수신되는 의심스러운 베이스 값(B0)과 의심스러운 가명 값(K0), 상기 하드웨어 장치의 모듈러스 값(P) 및 상기 랜덤 지수 값(R)에 따라 하나 이상의 계산된 값들을 상기 검증자로 송신하는 단계; 및
    상기 하드웨어 장치내에 저장되어 있는 암호 키(F)가 의심스러운 직접 증명 서명을 생성하는데 사용되었다는 것을 부인하기 위한 증명을 상기 하드웨어 장치에 의해 수행하는 단계로서, 상기 증명은, 상기 암호 키(F), 상기 랜덤 지수 값(R) 및 다른 랜덤 지수 값들을 드러내지 않으면서, 상기 암호 키(F), 상기 랜덤 지수 값(R) 및 상기 다른 랜덤 지수 값들 중 하나를 지수로서 사용해 각각 수행되는 복수개 멱승들을 포함하는 단계를 포함하는 제품.
  34. 제33항에 있어서,
    상기 증명을 수행하는 단계는,
    R에 관한 유용한 정보는 전혀 드러내지 않으면서,
    S = BO R mod P 및 T = KO R mod P
    인 값 R이 존재한다는 것을 상기 검증자에게 확신시키는 단계; 및
    F에 관한 유용한 정보는 전혀 드러내지 않으면서,
    U = SF mod P 및 K = BF mod P
    인 값 F가 존재한다는 것을 상기 검증자에게 확신시키는 단계를 포함하는 제품.
  35. 제34항에 있어서,
    상기 검증자는, U ≠ T mod P라면, 상기 하드웨어 장치내에 저장되어 있는 상기 암호 키(F)가 상기 의심스러운 직접 증명 서명을 생성하는데 사용되지 않았다고 확신하는 제품.
  36. 하드웨어 장치의 임의의 고유한 장치 식별 정보를 드러내지 않으면서, 상기 하드웨어 장치가 암호 정보를 소유하고 있다는 것을 확인하는 단계; 및
    상기 하드웨어 장치의 암호 키가 검증자에 의해 보유된 하나 이상의 의심스러운 서명을 발생시키는데 사용되지 않았다는 것을 확인하는 단계로서, 상기 의심스러운 서명을 발생시키는데 사용된 의심스러운 키가 상기 검증자에게 알려지지 않은 단계를 포함하는 방법을 수행하도록 시스템을 프로그램하는데 사용될 수 있는 명령어들이 저장되어 있는 머신 판독 가능 매체를 포함하는 제품.
  37. 제36항에 있어서,
    상기 하드웨어 장치가 암호 정보를 소유한다는 것을 확인하는 단계는,
    암호 키가 상기 하드웨어 장치내에 저장되어 있다는 것을 확인하기 위한 증명을 상기 하드웨어 장치로부터 수신하는 단계로서, 상기 증명은, 상기 암호 키를 노출시키지 않으면서, 상기 암호 키를 지수로서 사용해 하나 이상이 수행되는 복수개 멱승들을 포함하는 단계를 포함하는 제품.
  38. 제36항에 있어서,
    상기 암호 키가 상기 의심스러운 서명을 발생시키는데 사용되지 않았다는 것을 확인하는 단계는,
    (a) 미지의 의심스러운 키(F0)를 이용하여 형성된 의심스러운 직접 증명 서명의 베이스(B0) 및 가명(K0)을 포함하는 서명의 부인 요청을 상기 하드웨어 장치에 제공하는 단계; 및
    (b) 상기 하드웨어 장치의 암호 키(F)에 대한 식별없이, 상기 하드웨어 장치의 상기 암호 키(F)가 상기 손상된 것으로 의심되는 키(F0)와 매칭되지 않는다는 것을 확인하는 단계를 포함하는 제품.
  39. 제38항에 있어서,
    상기 확인하는 단계는,
    R에 관한 유용한 정보는 전혀 식별하지 않으면서,
    S = BO R mod P 및 T = KO R mod P
    인 값 R이 존재한다는 직접 증명을 상기 하드웨어 장치로부터 수신하는 단계; 및
    F에 관한 유용한 정보는 전혀 식별하지 않으면서,
    U = SF mod P 및 K = BF mod P
    인 값 F가 존재한다는 직접 증명을 상기 하드웨어 장치로부터 수신하는 단계; 및
    U ≠ T mod P이면, 상기 하드웨어 장치의 상기 암호 키를 손상되지 않은 것으로 식별하는 단계를 더 포함하는 제품.
  40. 제39항에 있어서,
    U = T mod P이면, 상기 하드웨어 장치의 상기 암호 키(F)를 손상된 것으로 식별하는 단계를 더 포함하는 제품.
KR1020067026086A 2004-06-10 2005-05-13 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법 KR100907116B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/866,252 US7490070B2 (en) 2004-06-10 2004-06-10 Apparatus and method for proving the denial of a direct proof signature
US10/866,252 2004-06-10
PCT/US2005/016559 WO2006001916A2 (en) 2004-06-10 2005-05-13 An apparatus and method for proving the denial of a direct proof signature

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020087025324A Division KR100971077B1 (ko) 2004-06-10 2005-05-13 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070022080A true KR20070022080A (ko) 2007-02-23
KR100907116B1 KR100907116B1 (ko) 2009-07-09

Family

ID=35134496

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020087025324A KR100971077B1 (ko) 2004-06-10 2005-05-13 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법
KR1020067026086A KR100907116B1 (ko) 2004-06-10 2005-05-13 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020087025324A KR100971077B1 (ko) 2004-06-10 2005-05-13 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US7490070B2 (ko)
EP (1) EP1774698A2 (ko)
JP (1) JP4572234B2 (ko)
KR (2) KR100971077B1 (ko)
CN (1) CN1965530B (ko)
WO (1) WO2006001916A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US8725646B2 (en) * 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
CN101213786A (zh) * 2005-07-07 2008-07-02 皇家飞利浦电子股份有限公司 检验对象真伪的方法、设备和系统
JP4940592B2 (ja) * 2005-08-11 2012-05-30 日本電気株式会社 否認可能零知識対話証明に適用される証明装置及び検証装置
CN1937496A (zh) * 2005-09-21 2007-03-28 日电(中国)有限公司 可延展伪名证书系统和方法
JP5074709B2 (ja) * 2006-01-18 2012-11-14 株式会社Pfu 対象機器、機器管理システム、機器管理方法および外部装置
US7841941B2 (en) * 2006-05-24 2010-11-30 Igt Extension component for authenticating game data
US8078876B2 (en) * 2007-04-30 2011-12-13 Intel Corporation Apparatus and method for direct anonymous attestation from bilinear maps
US7844614B2 (en) * 2007-04-30 2010-11-30 Intel Corporation Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation
US20080307223A1 (en) * 2007-06-08 2008-12-11 Brickell Ernest F Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
US8356181B2 (en) * 2007-11-15 2013-01-15 Intel Corporation Apparatus and method for a direct anonymous attestation scheme from short-group signatures
GB0801662D0 (en) * 2008-01-30 2008-03-05 Hewlett Packard Development Co Direct anonymous attestation using bilinear maps
CN101500220B (zh) * 2008-02-02 2012-04-04 华为技术有限公司 通知网络释放资源的方法、装置和系统
US8499149B2 (en) * 2008-02-20 2013-07-30 Hewlett-Packard Development Company, L.P. Revocation for direct anonymous attestation
US9742555B2 (en) * 2008-09-25 2017-08-22 Nokia Technologies Oy Encryption/identification using array of resonators at transmitter and receiver
US8145897B2 (en) 2008-09-29 2012-03-27 Intel Corporation Direct anonymous attestation scheme with outsourcing capability
US8850281B2 (en) * 2009-05-12 2014-09-30 Empire Technology Development Llc Digital signatures
US9032476B2 (en) * 2009-05-12 2015-05-12 Empire Technology Development Llc Secure authentication
US9455992B2 (en) * 2009-06-12 2016-09-27 Microsoft Technology Licensing, Llc Trusted hardware component for distributed systems
US8379856B2 (en) * 2009-06-17 2013-02-19 Empire Technology Development Llc Hardware based cryptography
EP2302536A1 (en) 2009-09-21 2011-03-30 Thomson Licensing System and method for automatically verifying storage of redundant contents into communication equipments, by data comparison
JP5493946B2 (ja) 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
US8578161B2 (en) 2010-04-01 2013-11-05 Intel Corporation Protocol for authenticating functionality in a peripheral device
US8210965B2 (en) 2010-04-15 2012-07-03 Cobra Golf Incorporated Golf club head with face insert
US8799656B2 (en) * 2010-07-26 2014-08-05 Intel Corporation Methods for anonymous authentication and key agreement
FR2969879A1 (fr) * 2010-12-23 2012-06-29 France Telecom Acces anonyme a un service au moyen de certificats agreges
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US8595505B2 (en) * 2011-09-28 2013-11-26 Intel Corporation Apparatus and method for direct anonymous attestation from bilinear maps
US20150294671A1 (en) * 2014-04-15 2015-10-15 Honeywell International Inc. Security alarm system with adaptive speech processing
US10122687B2 (en) 2014-09-14 2018-11-06 Sophos Limited Firewall techniques for colored objects on endpoints
US9537841B2 (en) * 2014-09-14 2017-01-03 Sophos Limited Key management for compromised enterprise endpoints
US9965627B2 (en) 2014-09-14 2018-05-08 Sophos Limited Labeling objects on an endpoint for encryption management
GB2562454B (en) * 2017-02-20 2019-05-29 Trustonic Ltd Anonymous attestation
US11017090B2 (en) 2018-12-17 2021-05-25 Hewlett Packard Enterprise Development Lp Verification of a state of a platform
US10742421B1 (en) * 2019-03-08 2020-08-11 Ares Technologies, Inc. Methods and systems for anonymous hardware attestation
US11323243B2 (en) * 2019-04-05 2022-05-03 International Business Machines Corporation Zero-knowledge proof for blockchain endorsement
US11360784B2 (en) * 2019-09-10 2022-06-14 Hewlett Packard Enterprise Development Lp Integrity manifest certificate

Family Cites Families (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7456A (en) * 1850-06-25 Machine fob forming washers and attaching them to carpet-tacks
US74548A (en) * 1868-02-18 Keens
US23032A (en) * 1859-02-22 Steam-pressure gage
US159056A (en) * 1875-01-26 Improvement in stove-polishes
US21969A (en) * 1858-11-02 Improvement in seeding-machines
US27527A (en) * 1860-03-20 John b
US27511A (en) * 1860-03-20 Improvement in harvesters
US147916A (en) * 1874-02-24 Improvement in lifting-jacks
US15453A (en) * 1856-07-29 Improvement in cultivators
US126442A (en) * 1872-05-07 Improvement in saw-mills
US196085A (en) * 1877-10-16 Improvement in guide-rollers for wire-rope tramways, elevators
US126453A (en) * 1872-05-07 Improvement in railway ties
US188179A (en) * 1877-03-06 Improvement in fire-alarm-telegraph repeaters
US37450A (en) * 1863-01-20 Improvement in roofs
US117539A (en) * 1871-08-01 1871-08-01 Improvement in bee-hives
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601535B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601476B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2618002B1 (fr) 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US4974159A (en) * 1988-09-13 1990-11-27 Microsoft Corporation Method of transferring control in a multitasking computer system
US5079737A (en) 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5144667A (en) * 1990-12-20 1992-09-01 Delco Electronics Corporation Method of secure remote access
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5628023A (en) * 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
CA2167631A1 (en) * 1995-01-20 1996-07-21 W. Dale Hopkins Method and apparatus for user and security device authentication
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5631961A (en) * 1995-09-15 1997-05-20 The United States Of America As Represented By The Director Of The National Security Agency Device for and method of cryptography that allows third party access
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
JP3513324B2 (ja) * 1996-04-26 2004-03-31 キヤノン株式会社 ディジタル署名処理方法
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US20020004900A1 (en) * 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6473508B1 (en) * 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
JP4812168B2 (ja) * 1999-02-15 2011-11-09 ヒューレット・パッカード・カンパニー 信用コンピューティング・プラットフォーム
CN1108041C (zh) * 1999-12-01 2003-05-07 陈永川 运用椭圆曲线加密算法的数字签名方法
FR2822971A1 (fr) * 2001-04-03 2002-10-04 St Microelectronics Sa Systeme et procede de controle d'acces a des donnees protegees stockees dans une memoire
US20030002668A1 (en) * 2001-06-30 2003-01-02 Gary Graunke Multi-level, multi-dimensional content protections
DE10158531B4 (de) * 2001-11-29 2006-09-28 Universitätsklinikum Freiburg Verfahren zur Messung der Magnetresonanz (NMR) mittels Spin-Echos
US7130999B2 (en) * 2002-03-27 2006-10-31 Intel Corporation Using authentication certificates for authorization
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030195857A1 (en) * 2002-04-10 2003-10-16 Alessandro Acquisti Communication technique to verify and send information anonymously among many parties
JP2004005643A (ja) * 2002-05-30 2004-01-08 Internatl Business Mach Corp <Ibm> 定義されたパーティにより検証可能な匿名支払方法
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
US6879574B2 (en) * 2002-06-24 2005-04-12 Nokia Corporation Mobile mesh Ad-Hoc networking
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
FR2855343B1 (fr) * 2003-05-20 2005-10-07 France Telecom Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
US7370181B2 (en) * 2004-06-22 2008-05-06 Intel Corporation Single stepping a virtual machine guest using a reorder buffer
JP2006293472A (ja) * 2005-04-06 2006-10-26 Univ Of Tokyo 匿名認証方法及び匿名認証装置並びにプログラム及びサービス提供方法。

Also Published As

Publication number Publication date
KR100907116B1 (ko) 2009-07-09
US7490070B2 (en) 2009-02-10
WO2006001916A3 (en) 2006-02-23
KR20080097493A (ko) 2008-11-05
JP4572234B2 (ja) 2010-11-04
CN1965530B (zh) 2013-09-04
CN1965530A (zh) 2007-05-16
EP1774698A2 (en) 2007-04-18
KR100971077B1 (ko) 2010-07-20
US20060010079A1 (en) 2006-01-12
JP2008500776A (ja) 2008-01-10
WO2006001916A2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
KR100971077B1 (ko) 직접 증명 서명의 부인을 입증하기 위한 장치 및 방법
US8924728B2 (en) Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US7844614B2 (en) Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation
US8356181B2 (en) Apparatus and method for a direct anonymous attestation scheme from short-group signatures
JP4635009B2 (ja) 通信における証明された秘密値の使用
US8078876B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
US20080307223A1 (en) Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
US7366305B2 (en) Platform and method for establishing trust without revealing identity
EP3382933A1 (en) Using a trusted execution environment as a trusted third party providing privacy for attestation
KR100715738B1 (ko) 식별 정보를 노출하지 않고 신용을 수립하기 위한 시스템및 방법
US7958362B2 (en) User authentication based on asymmetric cryptography utilizing RSA with personalized secret
Camenisch Better privacy for trusted computing platforms
EP1616406B1 (en) Interactif zero-knowledge proof protocol
US20090319434A1 (en) Maintaining privacy for transactions performable by a user device having a security module
JP4851497B2 (ja) 双線形マップからの直接匿名認証のための装置および方法
US9832018B2 (en) Method of generating a public key for an electronic device and electronic device
US8595505B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
CN101359986B (zh) 用于根据双线性映射的直接匿名证明的装置和方法
TW202245436A (zh) 產生訊息的簽章的方法、訊息認證方法以及加密裝置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120629

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee