KR20090008162A - An apparatus and method for direct anonymous attestation from bilinear maps - Google Patents
An apparatus and method for direct anonymous attestation from bilinear maps Download PDFInfo
- Publication number
- KR20090008162A KR20090008162A KR1020080069771A KR20080069771A KR20090008162A KR 20090008162 A KR20090008162 A KR 20090008162A KR 1020080069771 A KR1020080069771 A KR 1020080069771A KR 20080069771 A KR20080069771 A KR 20080069771A KR 20090008162 A KR20090008162 A KR 20090008162A
- Authority
- KR
- South Korea
- Prior art keywords
- group
- key
- anonymous
- trusted
- private
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
Abstract
Description
본 발명의 하나 이상의 실시예들은 일반적으로 암호(cryptography)의 분야에 관한 것이다. 보다 구체적으로, 본 발명의 하나 이상의 실시예들은 이선형 맵들로부터의 직접적인 익명의 증명을 위한 방법 및 장치들에 관한 것이다.One or more embodiments of the present invention generally relate to the field of cryptography. More specifically, one or more embodiments of the present invention relate to methods and apparatuses for direct anonymous proof from bilinear maps.
많은 현대 통신 시스템들에서, 교환된 정보의 신뢰성 및 보안성은 중요한 관심사이다. 이러한 관심사를 다루기 위해, TCPA(Trusted Computing Platform Alliance)는 플랫폼들에 대한 보안 솔루션들을 개발했다. 2002년 2월 22일에 또는 그 근처에 공개된, "Main Specification Version 1.1b"의 제목을 가진 TCPA 사양에서에 따라, 각각의 개인용 컴퓨터(PC)는 신뢰받는 플랫폼 모듈(Trusted Platform Module, TPM)으로서 지칭되는 신뢰받는 하드웨어 디바이스를 이용하여 구현된다.In many modern communication systems, the reliability and security of the exchanged information is an important concern. To address this concern, the Trusted Computing Platform Alliance (TCPA) has developed security solutions for the platforms. In accordance with the TCPA specification entitled "Main Specification Version 1.1b" published on or near February 22, 2002, each personal computer (PC) is a trusted platform module (TPM). It is implemented using a trusted hardware device referred to as.
동작 동안, 외부자(outside party)("입증자(verifier)"로서 지칭됨)는 TPM의 인증을 요청할 수 있다. 이는 2개의 반대되는 보안 관심사들을 생성한다. 우선, 입증자는 요청된 인증 정보가 유효한(valid) TPM으로부터 실제 나온다는 것을 확인(sure)할 필요가 있다. 두번째, TPM을 포함하는 PC의 소유자는 가능한 한 프라 이버시를 유지하기를 원한다. 특히, PC의 소유자는, 인증 정보가 동일한 TPM으로부터 나오는 것을 결정할 수 있는 그러한 입증자들 없이, 인증 정보를 상이한 입증자들에게 제공할 수 있기를 원한다.During operation, an outside party (referred to as "verifier") may request authentication of the TPM. This creates two opposing security concerns. First, the prover needs to ensure that the requested authentication information actually comes from a valid TPM. Second, the owner of the PC, including the TPM, wants to maintain privacy as much as possible. In particular, the owner of the PC wants to be able to provide authentication information to different attestors without such attestors who can determine that the authentication information comes from the same TPM.
2005년의 리얼 ID 법(REAL ID ACT)은, (2005년 5월 11일) 2005년 제정된, Pub. L. No. 109-13, 119 Stat.231, 국방에 대한 긴급 추가세출 예산안 , 테러에 대한 국제 전쟁, 및 쓰나미 구제((Emergency Supplemental Appropriations Act for Defense, the Global War on Terror, and Tsunami Relief, 2005, Pub. L. No. 109-13, 119 Stat.231)의 제목을 가진 미의회 법의 B 부분(division B)이다. 2005년의 리얼 ID 법은 주 운전 면허증(state driver's license)들의 발행에 대한 표준을 생성한다. 리얼 ID 법은, 대다수가 연방 정부의 현재 역량을 넘어서는, 주 운전 면허증 및 신분증명 카드들에 대한 연방 기술 표준들 및 입증 절차들을 강요하고, 2008년 5월까지 주 승낙(state compliance)을 명령하는 법이다.The REAL ID ACT of 2005 was issued in Pub. L. No. 109-13, 119 Stat.231, Emergency Supplementary Appropriations for Defense, International War on Terrorism, and Tsunami Relief (Emergency Supplemental Appropriations Act for Defense, the Global War on Terror, and Tsunami Relief, 2005, Pub.L. Division B of Congress Act, titled No. 109-13, 119 Stat. 231. The Real ID Act of 2005 creates a standard for issuance of state driver's licenses. The Real ID Act enforces federal technical standards and verification procedures for state driver's license and identification cards, the majority of which exceed the current capabilities of the federal government, and state compliance by May 2008. How to order
주 운전 면허증들에 대해 리얼 ID 법을 이행하는 하나의 시도는, 일반적으로 카드의 소유자(holder)의 개인적인 민감한 정보를 노출시킨다. 공교롭게도, 그러한 보안 정보는 종종 소유자들의 동의없이, 팔리고, 소유자의 이름이지만, 소유자들의 동의없이 부정 행위(fraudulent transaction)들을 이행하는데 이용된다. 그러한 행위는 일반적으로 신원(identity) 도용으로서 알려져 있고, 이는 매일 선의의 희생자(innocent victim)들의 신용을 훼손하는 널리 알려진 현상이다.One attempt to implement Real ID law for state driver's licenses generally exposes personal sensitive information of the card's holder. Unfortunately, such security information is often sold without the owner's consent, but used to perform fraudulent transactions without the owner's consent. Such behavior is generally known as identity theft, a widely known phenomenon that undermines the credibility of innocent victims every day.
이선형 맵들로부터의 직접적인 익명의 증명을 위한 방법 및 장치가 기술된다. 일 실시예에서, 방법은 발행자에 의해 정의된 신뢰받는 멤버쉽 그룹에 대한 공개/개인 키 쌍의 생성; 및 발행자에 의해 정의된 신뢰받는 멤버쉽 그룹의 적어도 하나의 익명의 멤버 디바이스에, 고유 비밀 서명 키를 할당하는 것을 포함한다. 일 실시예에서, 할당된 서명 키를 이용하여, 멤버는, 그룹 디지털 서명을 형성하기 위해 인증 요청으로서 수신된 메세지에 서명(sign)할 수 있다. 일 실시예에서, 멤버의 그룹 디지털 서명은, 신뢰받는 멤버쉽 그룹의 공개 키를 이용하여 입증될 수 있다. A method and apparatus for direct anonymous proof from bilinear maps is described. In one embodiment, the method includes generating a public / private key pair for a trusted membership group defined by the issuer; And assigning a unique secret signature key to at least one anonymous member device of the trusted membership group defined by the issuer. In one embodiment, using the assigned signature key, the member may sign a message received as an authentication request to form a group digital signature. In one embodiment, the group digital signature of the member may be verified using the public key of the trusted membership group.
결과로서, 그룹 디지털 서명의 입증자는, 멤버가 신뢰받는 멤버 디바이스가 입증자에 대해 익명성을 유지할 수 있도록, 멤버의 임의의 고유 신분증명 정보 또는 고유 개인 또는 공개 멤버 키의 노출을 요구하지 않고, 신뢰받는 멤버쉽 그룹의 실제(신뢰받는) 멤버인 것을 인증할 수 있다.As a result, the prover of the group digital signature does not require the disclosure of any unique identification information or unique private or public member key of the member, such that the member can remain anonymous to the prover, You can authenticate that you are a real (trusted) member of a trusted membership group.
일 실시예에서, 익명의 하드웨어 디바이스는, 비밀(개인) 서명 키를 형성하는 발행자가 신뢰받는 멤버쉽 그룹의 멤버가 되도록, 증명(결합) 절차에 관여한다. 일 실시예에서, 멤버 디바이스는 개인 서명 키를 가진 메세지를 디지털로 서명하기 위해 TPM(Trusted Platform Module)을 포함한다. 일 실시예에 대해, 개인 서명 키를 형성하고 메세지를 디지털로 서명하는 TPM의 기능은 펌웨어로서 전개된 다(deployed). 그러나, 그러한 기능은 전용 하드웨어 또는 소프트웨어로서 전개될 수 있다는 것이 고려된다. 펌웨어 또는 소프트웨어를 형성하는 명령어들 또는 코드가 머신-판독가능한 매체에 저장된다.In one embodiment, the anonymous hardware device participates in the attestation (combination) procedure such that the issuer forming the secret (private) signing key is a member of the trusted membership group. In one embodiment, the member device includes a Trusted Platform Module (TPM) to digitally sign a message with a private signature key. For one embodiment, the TPM's ability to form a private signing key and digitally sign a message is deployed as firmware. However, it is contemplated that such functionality may be deployed as dedicated hardware or software. Instructions or code that form firmware or software are stored on a machine-readable medium.
여기에서, "머신-판독가능한 매체"는, 플로피 디스켓, 하드 디스크, 광 디스크(예를 들어, CD-ROM들, DVD들, 미니-DVD들 등), 자기-광 디스크, ROM(read-only menory), RAM(read access momory)과 같은 반도체 메모리, 임의의 타입의 프로그램가능한 ROM(예를 들어, "PROM(programmable ROM)", "EPROM(erasable programmable ROM)", "EEPROM(electrically erasable programmable ROM)" 또는 플래시), 자기 또는 광 카드들 등을 포함할 수 있지만, 이들에 한정되지 않는다. 소프트웨어는 다운로드된 신호의 부분으로서 또는 통신 링크를 통한 전파 동안, 일시적으로 저장될 수 있기 때문에, 신호 자체 및/또는 통신 링크가 머신-판독가능한 매체로서 간주될 수 있다는 것이 고려된다.Here, "machine-readable media" includes floppy diskettes, hard disks, optical disks (eg, CD-ROMs, DVDs, mini-DVDs, etc.), magnetic-optical disks, read-only (ROM) menory), semiconductor memory such as read access momory (RAM), any type of programmable ROM (e.g., "programmable ROM" (PROM), "erasable programmable ROM" (EPROM), "electrically erasable programmable ROM" ) Or flash)), magnetic or optical cards, and the like. It is contemplated that the signal itself and / or the communication link may be considered as a machine-readable medium, as the software may be stored temporarily as part of the downloaded signal or during propagation over the communication link.
다음의 설명에서, 소정의 용어는 본 발명의 하나 이상의 실시예들의 소정의 특징을 설명하는데 이용된다. 예로서, "플랫폼"은 정보를 전송하고 수신하도록 구성된 임의의 타입의 통신 디바이스로서 정의된다. 다양한 플랫폼들의 예들은, 컴퓨터들, PDA(personal digital assistants), 셀룰러 전화들, 셋톱 박스들, 팩시밀리 머신들, 프린터들, 모뎀들, 라우터들, 스마트 카드들, USB 토큰들, 신분증명 카드, 면허증, 신용 카드 또는 집적 회로를 포함하는 다른 유사 형태 요소 디바이스 등을 포함하지만, 이들에 한정되거나 제한되지 않는다. "통신 링크"는 플랫폼에 적용된 하나 이상의 정보-전송 매체들로서 광범위하게 정의된다. 다양한 타입들의 통신 링크들의 예들은, 전기 와이어(들), 광 섬유(들), 케이블(들), 버스 트레이스(trace)(들) 또는 무선 신호 기술을 포함하지만, 이들에 한정되거나 제한되지 않는다.In the following description, certain terminology is used to describe certain features of one or more embodiments of the invention. By way of example, “platform” is defined as any type of communication device configured to transmit and receive information. Examples of various platforms include computers, personal digital assistants, cellular telephones, set top boxes, facsimile machines, printers, modems, routers, smart cards, USB tokens, identity cards, licenses , Other similar form element devices including credit cards or integrated circuits, and the like. A "communication link" is broadly defined as one or more information-transmission media applied to a platform. Examples of various types of communication links include, but are not limited to, electrical wire (s), optical fiber (s), cable (s), bus trace (s), or wireless signal technology.
"입증자(verifier)"는 다른 엔티티(entity)로부터의 인증 또는 권한에 대한 일부 입증을 요청하는 임의의 엔티티(예를 들어, 사람, 플랫폼, 시스템, 소프트웨어 및/또는 디바이스)를 지칭한다. 통상, 이것은 요청된 정보를 기재하거나 제공하기 전에 수행된다. "증명자(prover)"는 그의 권한, 유효성(validity), 및/또는 신원(identity)에 대한 일부 증명을 제공하도록 요구되는 임의의 엔티티를 지칭한다. "증명자"는 증명자가 개인 서명 키를 이용하여 메세지를 서명함으로써 인증 요청에 응답할 때, "서명자(signer)"로 간주될 수 있다. "발행자(issuer)"는 신뢰받는 멤버쉽 그룹을 정의하고, 하드웨어 디바이스들을 신뢰받는 멤버쉽 그룹에 결합(join)시키는데 이용한다. "증명 제조자(certifying manufacturer)"와 서로 교환하여 이용될 수 있는 "디바이스 제조자"는, 플랫폼 또는 디바이스(예를 들어, TPM)를 제조하거나 구성하는 임의의 엔티티를 지칭한다. 발행자는 디바이스/증명 제조자일 수 있다."Verifier" refers to any entity (eg, person, platform, system, software and / or device) that requests some proof of authorization or authorization from another entity. Typically, this is done before describing or providing the requested information. "Prover" refers to any entity that is required to provide some proof of its authority, validity, and / or identity. A "certifier" can be considered a "signer" when the prover responds to the authentication request by signing a message using a private signature key. An "issuer" defines a trusted membership group and uses it to join hardware devices to the trusted membership group. A “device manufacturer”, which may be used interchangeably with a “certifying manufacturer,” refers to any entity that manufactures or configures a platform or device (eg, a TPM). The issuer may be a device / certification manufacturer.
본원에 이용된 바와 같이, 증명자가 일부 암호 정보의 소유권(possession) 또는 지식을 갖는 입증자를 "증명"하거나 또는 "확신"하는 것은, 입증자에게 공개된 정보 및 증거(proof)에 기초하여, 증명자가 암호 정보를 가질 높은 확률이 존재한다는 것을 의미한다. 입증자에게 암호 정보를 "노출"시키거나 또는 "공개"하지 않고 입증자에게 이를 증명하는 것은, 입증자에게 공개된 정보에 기초하여, 입증자 가 암호 정보를 결정하는 것이 계산적으로 불가능하다는 것을 의미한다. 이하에서, 이러한 증거들은 직접 증거들로서 지칭된다.As used herein, an attestor “proving” or “confirming” a prover having the ownership or knowledge of some cryptographic information is based on the information and proof disclosed to the attestor. It means that there is a high probability of having self password information. Proving it with or without "exposing" cryptographic information to the prover means that it is computationally impossible for the prover to determine the cryptographic information based on the information disclosed to the prover. do. In the following, these evidences are referred to as direct evidence.
이후에 설명된 다양한 실시예들의 설명 및 도시(illumination) 전체에, 계수들, 변수들 및 다른 심볼들(예를 들어, "h")이 동일한 라벨 또는 이름으로서 참조된다. 따라서, 상이한 방정식들 또는 기능적 설명뿐만 아니라 방정식의 상이한 부분들에 심볼이 나타난 경우, 동일한 심볼이 참조된다.Throughout the description and illumination of the various embodiments described below, coefficients, variables, and other symbols (eg, “h”) are referenced as the same label or name. Thus, when a symbol appears in different parts of the equation as well as in different equations or functional descriptions, the same symbol is referenced.
도 1은 일 실시예에 따른, 신뢰받는 하드웨어 디바이스("신뢰받는 플랫폼 모듈" 또는 "TPM"으로 지칭됨)로 구현된 플랫폼을 특징하는(featuring) 시스템(100)을 도시한다. 제1 플랫폼(102)(입증자)은 네트워크(120)를 통해 제2 플랫폼(200)(증명자)에게 인증 요청(106)을 송신한다. 요청(106)에 응답하여, 제2 플랫폼(200)은 인증 정보(108)를 제공한다. 일 실시예에서, 네트워크(120)는, 회사 인트라넷, 인터넷 또는 다른 유사 네트워크와 같은, 로컬 또는 광대역 네트워크, 및/또는 종래 네트워크 인프라구조의 부분을 형성한다.1 illustrates a
부가적으로, 강조된 보안에 대해, 제1 플랫폼(102)은 증명자 플랫폼(200)이 선택된 디바이스 제조자 또는 선택된 디바이스 제조자들(본원에서 이후 "디바이스 제조자(들)(발행자)(110)"로서 지칭됨)의 그룹 중 어느 하나에 의해 제조된다는 것을 입증할 필요가 있을 수 있다. 일 실시예에서, 제1 플랫폼(102)은 제2 플랫폼(200)에게, 제2 플랫폼이 발행자(110)에 의해 생성된 암호 정보(예를 들어, 개인 서명 키)를 갖는다는 것을 나타낼 것을 요구한다. 제2 플랫폼(200)은, 응답의 형태로, 본원에 "고유한, 디바이스 신분증명 정보"로서 지칭되는 암호 정보 또는 임 의의 디바이스/플랫폼 신분증명 정보를 드러내지 않고, 제2 플랫폼(200)이 발행자(110)에 의해 생성된 암호 정보를 갖는다는 것을 제1 플랫폼(102)에게 확신시키기 위해, 인증 정보를 제공함으로써 그 요구에 응답하여, 신뢰받는 멤버 디바이스가 입증자에 대해 익명성을 유지할 수 있도록 한다.Additionally, for emphasized security, the
도 2는 TPM(220)과 동일 그룹에 있는 TPM들 모두에 대해 공통인 그룹 멤버쉽 증명서(certificate)를 갖는 TPM(220), 및 그룹 멤버쉽 증명서를 이용하여 입증될 수 있는 디지털 서명을 제공하는 개인 메모리 키를 포함하는 익명의 플랫폼(200)의 실시예를 더 도시하는 블록도이다. 일 실시예에서, 플랫폼(200)에 결합된 TPM(220)은, 신뢰받는 플랫폼(200)이 입증자(102)에 대해 익명성을 유지할 수 있도록, 개인 고유 서명 키를 포함하는 임의의 고유 디바이스 신분증명 정보의 공개없이, 플랫폼(200)이 발행자(110)(예를 들어, 디바이스 제조자)에 의해 정의된 신뢰받는 멤버쉽 그룹의 멤버이라는 것을 입증자에게 증명하기 위해, 개인 고유 서명 키(230)를 이용하여 인증 정보를 생성한다(도 1). 대표적으로, 컴퓨터 시스템(200)은 프로세서(CPU)(202)와 칩셋(210) 사이에서 정보를 통신하기 위해 프로세서 시스템 버스(프론트측 버스(front side bud(FSB))(204)를 포함한다. 본원에 설명된 바와 같이, 용어 "칩셋"은 CPU(202)에 연결된 다양한 디바이스들을 집합적으로 기재하는 방식에 이용되어, 원하는 시스템 기능을 수행한다.2 shows a TPM 220 having a group membership certificate common to both the
대표적으로, 하드 드라이브 디바이스들(HDD)(214) 및 주 메모리(212)뿐만 아니라 그래픽 블록(218)은 칩셋(210)에 연결된다. 일 실시예에서, 그래픽 블록(218)은 그래픽 칩셋을 포함하거나, 선택적으로, 칩셋(210)은 그래픽 블록(218) 을 포함하여 그래픽 메모리 제어기 허브(GMCH)로서 동작할 수 있다. 일 실시예에서, 칩셋(210)은 메모리 제어기 및/또는 입출력(I/O) 제어기를 포함하여 I/O 디바이스들(216)(216-1, ..., 216-N)과 통신하도록 구성된다. 일 실시예에서, 주 메모리(212)는 RAM, DRAM, SRAM(static RAM), SDRAM(synchronous DRAM), DDR(double data rate) SDRAM(DDR-SDRAM), RDRAM(Rambus DRAM) 또는 데이터의 고속 버퍼링을 지원할 수 있는 임의의 디바이스를 포함할 수 있지만, 이들에 한정되지 않는다.Representatively, graphics block 218 as well as hard drive devices (HDD) 214 and main memory 212 are connected to
도 3은 일 실시예에 따른, 제2 플랫폼(200)의 신뢰받는 플랫폼 모듈(TPM)(220)을 더 도시한다. TPM(220)은 디바이스 제조자에 의해 제조된 암호 디바이스이다. 일 실시예에서, TPM(220)은 패키지 내에 인캡슐된 작은 양의 온-칩(on-chip) 메모리를 갖는 프로세서 유닛(222)을 포함한다. 일 실시예에서, 인캡슐된 메모리는 발행자(110)와의 결합 절차 동안 생성된 개인 고유 멤버쉽 키(230)을 저장하는데 이용될 수 있다. TPM(220)은, 유효한 TPM으로부터 인증 정보가 전송되는 것을 결정할 수 있는 제1 플랫폼(102)에게 인증 정보를 제공하도록 구성된다. 이용된 인증 정보는 TPM 또는 제2 플랫폼의 신분증명이 매우 쉽게 결정될 수 있도록 구성되는 랜덤화된 데이터이다.3 further illustrates a trusted platform module (TPM) 220 of the second platform 200, according to one embodiment.
일 실시예에서, TPM(220)은 하나 이상의 키들, 해쉬(hash) 값들, 서명들, 증명서들 등과 같은 암호 정보의 저장을 허여하는 비휘발성 메모리(224)(예를 들어, 플래시)를 더 포함한다. 일 실시예에서, 암호 정보는 예를 들어, 증명 제조자와 같은 발행자(110)로부터 수신된 개인 서명 키이다. 아래 나타낸 바와 같이, "X"의 해쉬 값은 "Hash(X)"로서 나타낼 수 있다. 물론, 그러한 정보는 플래시 메모 리(224) 대신에 플랫폼(200)의 외부 메모리(280) 내에 저장될 수 있다는 것이 고려된다. 암호 정보는 특히, TPM(220) 밖에 저장된다면, 암호화될 수 있다.In one embodiment,
일 실시예에서, TPM(220)은 입증자 플랫폼으로부터의 인증 요청에 응답하는 인증 로직(240)을 포함한다. 일 실시예에서, 인증 로직(240)은 개인 서명 키(230)를 이용하여 수신된 메세지에 따른 디지털 서명을 연산(compute)하여, TPM(220)이, 임의의 고유 디바이스/플랫폼 신분증명 정보를 노출하지 않고, 신뢰받는 멤버쉽 그룹의 발행자에 의해 생성된 암호 정보를 저장한다는 것을, 입증자 플랫폼에게 확신시키거나 또는 증명한다. 결과로서, 인증 로직(240)은 플랫폼(200)의 익명성을 유지하기 위해 증명자 플랫폼의 신원(identity)을 보존하면서 요청된 인증을 수행한다. 인증 로직(240)은 도 4를 참조하여 더 도시된다.In one embodiment,
일 실시예에서, 증명 로직(certification logic)(250)은 개인 서명 키(230)의 발행자와의 1회의(one-round) 증명 절차 동안 개인 서명 키(230)를 형성한다. 일 실시예에서, 서명 로직(260)은 입증자로부터의 인증 요청의 부분으로서 수신된 메세지에 서명할 수 있다. 대표적으로, 폐기된 키 로직(revoked key logic)(270)은 플랫폼(200)에 의해 보유된 개인 서명 키(230)의 개인 멤버 키 컴포넌트가 폐기된(손상된(compromised)) 개인 멤버 키가 아니라는 것을 입증자 플랫폼에게 확신시키거나 증명한다. 대안적인 실시예에서, 개인 서명 키가 폐기된 서명 키가 아닌 것에 대한 입증이 입증자에 의해 수행된다. 상술된 것보다 더 적거나 더 많이 갖춘(equipped) 컴퓨터가 소정의 구현들에 대해 바람직할 수 있다는 것이 이해된다.In one embodiment,
일 실시예에서, 신뢰받는 멤버쉽 그룹의 멤버인 각각의 하드웨어 디바이스는 발행자에 의해 고유한 개인 서명 키가 할당된다. 대표적으로, 할당된 개인 서명 키를 갖는 신뢰받는 멤버 디바이스는, 입증자로부터의 인증 요청의 부분으로서 수신된 메세지에 서명할 수 있다. 그러나, 종래 디지털 서명 시스템과 반대로, 멤버 디바이스의 고유한 개인 서명 키를 이용하여 생성된 그룹 디지털 서명의 입증은, 발행자에 의해 정의된 신뢰받는 멥버쉽 그룹에 대한 그룹 공개 키를 이용하여 입증된다. 신뢰받는 멤버쉽 그룹의 멤버 디바이스는, 그의 개인 서명 키를 이용하여, 고유 디바이스 신분증명 정보의 공개를, 디바이스가 증명 제조자로서 정의될 수 있는 신뢰받는 하드웨어 디바이스들의 신뢰받는 멤버쉽 그룹의 멤버라는 표시로 제한한다.In one embodiment, each hardware device that is a member of a trusted membership group is assigned a unique private signature key by the issuer. Typically, a trusted member device with an assigned personal signature key can sign a received message as part of an authentication request from an attestor. However, in contrast to conventional digital signature systems, the verification of a group digital signature generated using the unique private signature key of the member device is verified using the group public key for the trusted membership group defined by the issuer. A member device of a trusted membership group, using its private signature key, restricts the disclosure of unique device identification information to an indication that the device is a member of a trusted membership group of trusted hardware devices that can be defined as an attestation manufacturer. do.
일 실시예에서, 인증 로직(240)은 그가 그의 신분증명에 대한 임의의 정보를 드러내지 않고 그룹의 멤버인 것을 증명할 수 있도록 한다. 그룹의 멤버는 그룹의 멤버쉽을 증명하는데 이용될 수 있는 신임장(credential)("그룹 멤버쉽 증명서")를 갖는다. 일 실시예에서, 신임장들은 개인 멤버 키 및 그룹 멤버쉽 증명서로 구성된다. 개인 서명 키는 그룹의 상이한 멤버 마다 고유하고, 각각의 멤버는 발행자에게 알려지지 않은 멤버의 개인 멤버 키로서 비밀 랜덤 값을 선택한다. 그러나, 신뢰받는 멤버쉽 그룹의 그룹 공개 키는 그룹의 모든 멤버들에 대해 동일하다.In one embodiment,
본원에 설명된 바와 같이, 발행자(110)와 같은 발행자는, 사람(또는 엔티티)이 그룹의 멤버임을 수립(establish)하여 그 후, 멤버의 개인 서명 키를 형성하는데 이용되는 신임장을 멤버에게 발행하는 엔티티이다. 본원에 더 설명된 바와 같이, 증명자는 그룹 내에서 멤버쉽을 증명하기 위해 노력하는 사람 또는 엔티티이 다. 증명자가 그룹의 실제 멤버이고 유효한 신임장을 갖고 있다면, 증명은 성공적일 것이다. 본원에 더 설명된 바와 같이, 입증자는 증명자가 그룹의 멤버인지 아닌지를 확인하기 위해 노력하는 엔티티이다. 따라서, 증명자는 입증자에게 멤버쉽을 증명하기 위해 노력한다.As described herein, an issuer, such as
도 4에 나타낸 바와 같이, 멤버쉽을 증명하기 위해, 입증자는, 증명자가 예를 들어, 디지털 서명 로직(260)에서 일부 메세지들에 디지털로 서명할 것을 요청한다. 메세지가 현재 서명되었는지 입증자가 알 필요가 있다면, 그 때 입증자는 증명자에게 주어진 랜덤 값(임시)을 생성하여 서명에 포함시킨다. 증명자는 개인 서명 키를 이용하여 메세지에 서명하여 입증자에게 그 서명을 송신한다. 본원에 설명된 바와 같이, 그러한 서명은, 그것이 신뢰받는 멤버쉽 그룹의 공개된, 그룹 공개 키로서 입증됨에 따라 그룹 디지털 서명으로서 지칭된다.As shown in FIG. 4, to prove membership, an attestor requests that the attestor digitally sign some messages, eg, in
일 실시예에서, 입증자는 그룹 공개 키를 이용하여 서명을 입증할 수 있고, 증명이 성공하면, 입증자는 증명자가 신뢰받는 그룹의 멤버라는 것을 알게 된다. 임의의 값이 시용되었다면, 입증자는 그룹 서명이 그가 임의의 값을 송신했던 때와 서명이 수신된 때 사이에 생성되었는지 알게 된다. 따라서, 입증자는 그룹의 신뢰받는 멤버들의 익명성을 유지하기 위해, 어떤 멤버가 그룹 디지털 서명을 생성하는지 알지 못한다.In one embodiment, the attestor can verify the signature using the group public key, and if the attestation is successful, the attestor knows that the attestor is a member of a trusted group. If any value is used, the verifier knows whether the group signature was generated between when he sent the random value and when the signature was received. Thus, the prover does not know which member generates the group digital signature in order to maintain the anonymity of the trusted members of the group.
일 실시예에서, TPM(220)은 PCMCIA 슬롯으로의 삽입을 위한 PCMCIA 카드의 형태 인자를 포함하는 스마트 카드 상에 포함될 수 있거나, 또는 운전자의 면허증, 신분증명 카드, 신용 카드 또는 표준 운전 면허증/신용 카드의 형태 인자(form factor)를 포함하고 본원에 설명된 바와 같이 하나 이상의 암호 절차들을 수행하는 집적 회로를 포함하는 다른 유사 구성과 같은 신분증명 디바이스 상에 포함될 수 있다. 그러나, 소정의 암호 함수들이 플랫폼(200)과 같은 추가 호스트(attached host)에 의해 연산될 수 있다는 것이 이해되어야 한다. 그러한 구성에 따라, 예를 들어, 운전 면허증에 대한 TPM(220)의 이용은, 개인적으로 민감한 정보의 공개 없이, 상기 언급된 바와 같이, 2005년의 리얼 ID 법과 일치할 수 있다.In one embodiment,
그러한 구성에 따라, 교통부(Department of Motor Vehicles) 또는 DMV는 발행자이고, 그룹 공개 키 및 그룹 발행 개인 키를 생성하는 셉업 절차에 이용된다. 발행자는 공개 키를 공개하고, 그룹 발행 개인 키를 유지한다. 그러한 절차에 따라, 각각의 발행된 운전 면허증에 대해, 발행자에게 알려지지 않은 개인 멤버 키 컴포넌트를 포함하는 발행자로부터의 사용자 개인 서명 키를 제공하는 일반적인 절차가 뒤따른다. 따라서, 그룹 공개 키에 더하여 사용자 개인 서명 키는 본 그룹에 대한 사용자의 신임장이다.According to such a configuration, the Department of Motor Vehicles or DMV is an issuer and is used in the set up procedure for generating a group public key and a group issued private key. The issuer publishes a public key and maintains a group issued private key. According to such a procedure, a general procedure is followed for each issued driver's license to provide a user private signature key from the issuer that includes a private member key component unknown to the issuer. Thus, in addition to the group public key, the user private signature key is the user's credentials to this group.
그러한 실시예에 따르면, 도 4에 도시된 바와 같이, 인증 로직뿐만 아니라 TPM(220)은, 표준 운전 면허증, 신용 카드 또는 은행 머신들을 액세스하기 위한 다른 유사 스마트 카드 디바이스 등의 형태 인자를 갖는 카드 상에 포함되고, 카드의 소유자는, 예를 들어, 발행자(DMV)에게 손상된(compromised) 개인 키들의 복사본을 가질 것을 요청하지 않고, 카드의 소유자가 폐기된 멤버가 아닌 것을 증명하는 입증 절차에 이용될 수 있다.According to such an embodiment, as shown in FIG. 4, in addition to the authentication logic, the
도 5는 일 실시예에 따른 신뢰받는 멤버쉽 그룹 공개 키를 형성하는 방 법(400)을 도시하는 흐름도이다. "신뢰받는 멤버쉽 그룹"은 하나 이상의 플랫폼들 또는 디바이스들의 타입들을 포함하도록 발행자에 의해 정의될 수 있다. 예로서, 신뢰받는 멤버쉽 그룹은 그룹 공개 키와 같은, 보안 관련 정보의 공통 요소를 갖는 모든 플랫폼들(멤버들)의 세트일 수 있다. 이러한 보안 관련 정보는 특정 플랫폼 또는 디바이스의 모델 번호 및 제조자를 포함할 수 있다. 각각의 신뢰받는 멤버쉽 그룹에 대해, 발행자는 그 신뢰받는 멤버쉽 그룹에 이용되는 암호 파라미터들을 생성한다. 발행자는, 멤버 디바이스들(예를 들어, 플랫폼(200) 또는 TPM(220))에 의해 수신된 메세지들에 서명하는데 이용되는 결합 절차 동안 개인 서명 키를 생성하여, 디바이스가 신뢰받는 멤버쉽 그룹의 멤버임을 입증자에게 확신시킨다.5 is a flow diagram illustrating a
일 실시예에서, 발행자는 멤버 디바이스(블록(310))로서 적어도 하나의 신뢰받는 하드웨어 디바이스를 포함하는 신뢰받는 멤버쉽 그룹을 생성한다. 일 실시예에서, 발행자는 그룹 공개/개인 키 쌍을 생성하기 위해 공개 키 암호 기능(예를 들어, 타원 곡선 암호)을 이용한다. 이는, Bruce Schneier에 의한, John Wiley & Sons; ISBN: 0471117099; 제 2판(1996), Applied Cryptography에 기술된 것들과 같은 잘 알려진 방법들을 이용하여 생성될 수 있다.In one embodiment, the publisher creates a trusted membership group that includes at least one trusted hardware device as a member device (block 310). In one embodiment, the issuer uses a public key cryptography function (eg, elliptic curve cryptography) to generate a group public / private key pair. This is done by Bruce Schneier, John Wiley &Sons; ISBN: 0471117099; It may be generated using well known methods such as those described in the second edition (1996), Applied Cryptography.
발행자는 공개 파라미터들, 신뢰받는 멤버쉽 그룹의 보안 관련 정보를 포함하는 그룹 멤버쉽 증명서를 생성한다. 플랫폼 그룹 공개/개인 키가 생성되면, 신뢰받는 그룹의 각각의 멤버 디바이스의 증명 절차가 수행된다(블록(350)). 증명 프로세스의 일부분으로서, 발행자는 신뢰받는 그룹의 멤버들 또는 디바이스들에 그룹 멤버쉽 증명서를 제공한다. 증명자(예를 들어, 도 1의 제2 플랫폼(200))로부터 입증자로의 그룹 멤버쉽 증명서와 연관된 암호 파라미터들의 분배는, 다수의 방법들로 이뤄질 수 있다. 그러나, 이러한 암호 파라미터들은, 그룹 멤버쉽 증명서가 발행자에 의해 생성되었다는 것을 입증자가 확신하게 되는 그러한 방법으로 입증자에게 분배되어야 한다.The issuer generates a group membership certificate containing public parameters, security related information of the trusted membership group. Once the platform group public / private key is generated, an attestation procedure for each member device of the trusted group is performed (block 350). As part of the attestation process, the issuer provides group membership credentials to members or devices of the trusted group. The distribution of cryptographic parameters associated with the group membership credential from the prover (eg, the second platform 200 of FIG. 1) to the prover can be accomplished in a number of ways. However, these cryptographic parameters should be distributed to the prover in such a way that the prover is assured that the group membership certificate was generated by the issuer.
예로서, 하나의 인정된 방법은 입증자에게 직접 파라미터들을 분배하는 것이다. 다른 인정된 방법은, 하나의 예로서 발행자가, 증명 권한에 의해 서명된 그룹 멤버쉽 중명서를 분배하는 것이다. 이 최후의 방법으로, 증명 권한의 공개 키가 입증자에게 분배되어야 하고, 서명된 그룹 멤버쉽 증명서는 신뢰받는 그룹(증명자 플랫폼)의 각각의 멤버에게 주어질 수 있다. 증명자 플랫폼은 그 후, 입증자에게 서명된 그룹 멤버쉽 증명서를 제공할 수 있다.As an example, one recognized method is to distribute the parameters directly to the prover. Another accepted method is, by way of example, by the issuer distributing a group membership statement signed by the attestation authority. In this last method, the public key of the proof authority must be distributed to the prover, and a signed group membership certificate can be given to each member of the trusted group (certifier platform). The prover platform may then provide the prover with the signed group membership certificate.
도 6은 본 발명에 따른, 도 5의 프로세스 블록(320)의 하나 이상의 공개 파라미터들을 포함하는 플랫폼 그룹에 대한 그룹 공개/개인 키 쌍을 생성하는 방법(322)을 도시하는 흐름도이다. 공개/개인 키 쌍 및 플랫폼 그룹에 대한 플랫폼 파라미터들의 생성은, 멤버 디바이스들이, 임의의 고유한 디바이스 신분증명 정보를 드러내지 않고 신뢰받는 멤버 디바이스들로서 스스로 식별할 수 있도록 한다. 일 실시예에서, 도 6에 대해 설명된 바와 같이, 그룹 공개 파라미터들의 생성은 셋업 프로토콜로서 본원에 언급된다.FIG. 6 is a flowchart illustrating a
일 실시예에서, 하드웨어 제조자(발행자)에 의해 셋업 프로토콜을 이용하여, 발행자에 의해 정의된 신뢰받는 그룹의 각각의 멤버 디바이스에 대한 고유 개인 서명 키를 생성하기 위해, 제조자에 의해 요구되는 공개/개인 키 쌍 및 다른 암호 파 라미터들을 생성하여 멤버 디바이스들을 증명한다.In one embodiment, the public / private required by the manufacturer to generate a unique private signature key for each member device of the trusted group defined by the issuer, using the setup protocol by the hardware manufacturer (issuer). Prove member devices by generating key pairs and other cryptographic parameters.
도 6을 다시 참조하면, 프로세스 블록(324)에서, 발행자는 (q, G, g, GT, gT,e)를 생성하고, 여기서, q는 소수(prime number), G 및 GT는 q 순서 그룹들(groups of order q), e: GxG→GT는 효율적으로 연산할 수 있는 이선형 맵 함수, g는 그룹 G의 발생기, gT는 그룹 GT의 발생기이다. 일 실시예에서, 그룹 디지털 서명은 이선형 맵들에 기초한 증명이 가능하도록 개인 서명 키를 이용하여 생성된다. 예를 들어, 소수 q를 갖는, 2개의 그룹들 G=<g> 및 GT=<gT>이 존재한다는 것을 가정한다. 축퇴되지 않는(non-degenerate) 효율적으로 연산가능한 이선형 맵 e, e:GxG→GT는 다음으로서 정의된 함수이다.Referring back to FIG. 6, in
1. 모든 P, Q∈G에 대해, 모든 a, b∈Z에 대해, e(Pa, Qb)=e(P,Q)ab.1. For all P, Q∈G, for all a, b∈Z, e (P a , Q b ) = e (P, Q) ab .
2. e(P,Q)≠1이도록 일부 P, Q∈G가 존재하고, 여기서 1은 GT와 동일하다.2. Some P, Q∈G is present such that e (P, Q) ≠ 1, where 1 is equal to G T.
3. e를 연산하기 위한 효과적인 알고리즘이 존재한다.3. There is an effective algorithm for computing e .
도 6을 다시 참조하면, 프로세스 블록(326)에서, 발행자는 랜덤 값들 x 및 y를 선택한다. x 및 y가 선택되면, 프로세스 블록(328)에서, 발행자는 X=gX 및 Y=gy를 연산한다. 프로세스 블록(330)에서, 그룹 공개 키는 (q, G, g, GT, gT, e, X, Y)이고, 발행자에 대한 공개 키는 발행자에 의한 (x, y) 출력이다. 일 실시예에서, 랜덤 시드(random seed) 값을 고르고(picking), 의사난수 발생기를 이용하여 x 및 y 값들을 생성함으로써, 플랫폼 파라미터들 x 및 y의 랜덤한 선택이 수행된다. 일 실시예에서, 발행자의 비밀 키는 (x, y)이다.Referring again to FIG. 6, at
플랫폼 그룹 공개/개인 키가 형성되면, 발행자는 도 7에 대해 더 도시된 바와 같이, 결합 절차에 따라 플랫폼 그룹의 각각의 멤버를 증명할 수 있다. 대표적으로, 도 7은 일 실시예에 따라, 도 5의 프로세스 블록(350)의 정의된 신뢰받는 멤버쉽 그룹의 멤버 디바이스들을 증명하는 방법(352)을 도시하는 흐름도이다.Once the platform group public / private key has been formed, the issuer may prove each member of the platform group according to the association procedure, as further shown for FIG. Representatively, FIG. 7 is a flowchart illustrating a
대표적으로, 플랫폼은 그룹을 결합시키기 위해 발행자와 상호작용한다. 프로세스 블록(354)에서, TPM은 발행자에게 노출되지 않은 그의 DAA 시드로부터 개인 멤버 키 f를 도출하여 F=gf로 설정한다. 프로세스 블록(356)에서, TPM은 F를 발행자에게 송신하여 loggF에 대한 지식(knowledge)을 발행자에게 증명한다. 프로세스 블록(358)에서, 발행자는 TPM에 의해 수행된 지식에 대한 증명을 입증한다. 프로세스 블록(360)에서, 발행자는 랜덤 r을 선택하여 a=gr, b=ay, 및 c=aXFrxy를 연산한다. 프로세스 블록(362)에서, 발행자는 플랫폼의 멤버쉽 증명서로서, (a, b, c)를 호스트로 다시 송신한다. 프로세스 블록(364)에서, 호스트는 (a, b, c)를 TPM으로 전달한다. 일 실시예에서, 멤버 디바이스의 개인 서명 키는 (f, a, b, c)로서, 멤버쉽 증명서 (a, b, c)뿐만 아니라 개인 멤버 키 f를 포함한다.Typically, the platform interacts with the publisher to join the groups. In
일 실시예에서, TPM은 다음과 같이, 발행자에게 지식(SPK)의 서명 증명도 수행한다(이는 프로세스 블록(356 및 358)에 대응함):In one embodiment, the TPM also performs a signature proof of knowledge (SPK) to the issuer (corresponding to process
SPK{(f) : F=gf}. SPK {(f): F = g f }.
1. TPM은 랜덤 r∈Zq를 선택하고 T=gr을 연산한다.1. TPM selects random r∈Z q and computes T = g r .
2. TPM은 을 연산한다.2. TPM Calculate
3. TPM은 을 연산한다.3. TPM Calculate
4. TPM은 발행자에게 (F, c, s)를 송신한다.4. The TPM sends (F, c, s) to the issuer.
5. 발행자는 을 연산한다.5. The issuer Calculate
6. 발행자는 임을 증명한다.6. Issuer Prove it is.
도 8은 일 실시예에 따른, 플랫폼 그룹의 멤버 디바이스에 의해 개인 서명 키를 연산(computing)하는 방법(400)을 도시하는 흐름도이다. 프로세스 블록(410)에서, TPM은 기준 B를 선택한다. 메세지 m에 서명하기 위해, TPM은 비밀 서명 키로서 (f, a, b, c)를 갖고, 호스트는 (a, b, c)를 갖는다. 랜덤 기준의 선택(random base option)에서, TPM은 그룹 GT로부터 랜덤하게 B를 선택한다. 이름 기준의 선택(named-base option)에서, TPM은 입증자 기준 이름으로부터 B를 도출한다. TPM은 그 후, 가명(pseudonym) K=Bf를 연산한다. 프로세스 블록(420)에서, TPM은 2개의 랜덤 수들 r 및 r'를 선택하여 그들을 호스트로 송신한다. 프로세스 블록(430)에서, 호스트는 a'=ar', b'=br' 및 c=cr'r을 연산하고, 그 후 vx=e(X, a'), vxy=e(X, b') 및 vs=e(g, c')을 연산한다. 프로세스 블록(440)에서, 호스트는 (a', b', c', vx, vxy, vs)를 TPM으로 다시 송신한다. 프로세스 블록(450)에서, TPM은 ri 및 f를 노출하지 않고 vs ri=vxvxy f 및 K=Bf이도록, (ri, f)의 영-지식 증명(zero-knowledge proof of knowledge)을 연산하고, 여기서 ri는 r modulo q의 역이다. 상기 증명을 위한 지식의 서명을 표시하기 위해 ∑를 이용한다. 프로세스 블록(460)에서, 생성된 서명은 그 때 (a', b', c', B, K, ∑)이다.8 is a flow diagram illustrating a
일 실시예에서, TPM은 임의의 그룹 G로부터 B를 선택할 수 있고, G의 결정적인 디피-헬먼(Diffie-Hellman) 문제는 어렵다(hard). GT 대신 G에 대한 폐기(revocation) 체크가 수행될 수 있다.In one embodiment, the TPM may select B from any group G, and the critical Diffie-Hellman problem of G is hard. Revocation checks on G may be performed instead of G T.
일 실시예에서, TPM은 e(X, a), e(X, b), e(g, c')를 사전연산(pre-compute)한다. TPM은 2개의 난수들 r 및 r'를 선택하고 그들을 호스트로 송신한다. 호스트는 단지 a'=ar', b'=br' 및 c'=cr'r을 연산한다. 그리고, 그 후 TPM은 vx=e(X, a)r', vxy=e(X, b)r' 및 vs=e(g, c)r'r을 연산한다. 호스트는 (a', b', c')을 TPM으로 다시 송신한다.In one embodiment, the TPM pre-computes e (X, a), e (X, b), e (g, c '). The TPM selects two random numbers r and r 'and sends them to the host. The host only computes a '= a r' , b '= b r' and c '= c r'r . The TPM then computes v x = e (X, a) r ' , v xy = e (X, b) r' and v s = e (g, c) r'r . The host sends (a ', b', c ') back to the TPM.
일 실시예에서, TPM은 다음과 같이 "지식의 서명"을 연산한다.In one embodiment, the TPM computes the "signature of knowledge" as follows.
(a) TPM은 2개의 램덤 정수들 rr, rf∈Zq를 선택하여 T1=vs rrvxy - rf , T2=Brf을 연산한다.(a) is TPM to select two of the random integer rr, rf∈Z q T s 1 = v rr v xy - rf, calculates the T 2 = B rf.
(b) TPM은 을 연산한다.(b) the TPM is Calculate
TPM은 을 연산한다.TPM is Calculate
TPM은 (c, sr, sf)를 호스트로 송신한다.The TPM sends (c, sr, sf) to the host.
호스트는 서명 σ=(B, K, a', b', c', sr, sf)를 입증자에게 송신하고, 여기서, ∑=(sr, sf)이다.The host sends the signature σ = (B, K, a ', b', c ', sr, sf) to the prover, where ∑ = (sr, sf).
따라서, 개인 서명 키(f, a, b, c)를 이용하는, 신뢰받는 하드웨어 디바이스는, 디바이스가 예를 들어, 본원에서 발행자로서 언급된 증명 제조자에 의해 정의된 신뢰받는 익명의 하드웨어 디바이스들의 그룹의 멤버라는 것을 나타냄으로써, 스스로 신뢰받는 하드웨어 디바이스로서 식별하도록 한다. 일 실시예에서, 각각의 하드웨어 디바이스는 플랫폼 그룹의 멤버이고, 고유한 개인 서명 키가 할당된다. 대표적으로, 할당된 개인 서명 키를 갖는 신뢰받는 하드웨어 디바이스는, 입증자로부터의 인증 요청의 일부로서 수신된 메세지에 서명할 수 있다. 그러나, 종래 디지털 서명 시스템과 반대로, 멤버 디바이스의 고유한 개인 서명 키를 이용하여 생성된 디지털 서명의 입증은, 발행자에 의해 정의된 플랫폼 그룹에 대한 그룹 공개 키를 이용하여 입증된다.Thus, a trusted hardware device, using a private signature key (f, a, b, c), is a device that is a group of trusted anonymous hardware devices defined by the proof manufacturer, for example, referred to herein as an issuer. By indicating that you are a member, you identify yourself as a trusted hardware device. In one embodiment, each hardware device is a member of a platform group and is assigned a unique private signature key. Typically, a trusted hardware device with an assigned private signature key can sign a received message as part of an authentication request from an attestor. However, in contrast to conventional digital signature systems, the verification of the digital signature generated using the unique private signature key of the member device is verified using the group public key for the platform group defined by the issuer.
도 9는 일 실시예에 따른, 그룹 공개 키에 관한 유효성을 위해 서명들을 체크하는 입증 알고리즘의 방법(500)을 도시하는 흐름도이다. 그룹 서명은 (a', b', c', B, K, ∑)로 구성된다. 프로세스 블록(510)에서, 입증자는 우선 vx=e(X, a'), vxy=e(X, b'), vs=e(g, c')를 연산한다. 프로세스 블록(520)에서, 입증자는 지식의 서명 ∑의 정확성을 입증하고; 그렇지 않으면, 입증은 프로세스 블록(522)에서 실패한다. 서명이 입증되면, 프로세스 블록(530)에서, 입증자는 e(a' Y)=e(g, b')이 유지되는지를 체크한다; 그렇지 않으면, 입증은 프로세스 블록(532)에서 실패한다. 프로세스 블록(540)에서, 입증자는 서명이 폐기되었는지 체크, 즉, 로그 리스트(rogue list)의 각각의 폐기된 멤버 키에 대해, 입증자가 K≠Bfi인지를 체크한다.9 is a flowchart illustrating a
예를 들어, m에 대한 그룹 서명 σ=(B, K, a', b', c', sr, sf)를 입증하기 위해, 입증자는 다음 단계들을 행한다:For example, perform a group signature σ = (B, K, a ', b', c ', sr, sf) to the authentication, demonstrated the following steps for the m:
1. 입증자는 e(a', Y)=e(g, b') 및 B∈GT임을 입증한다.1. The prover proves that e (a ', Y) = e (g, b') and B∈G T.
2. 입증자는 vx=e(X, a') vxy=e(X, b') vs=e(g, c')를 연산한다.2. The prover computes v x = e (X, a ') v xy = e (X, b') v s = e (g, c ').
3. 입증자는 T'1=vs srvxy - sfvx -c T'2=BsfK-c를 연산한다.Calculates a - 'sf v x -c T 1 = v s sr v xy' 2 = B sf K -c 3. The demonstrated T.
4. 입증자는 을 입증한다.4. The prover Prove that.
로그-리스트(rogue-list)의 각각의 fi에 대해, 입증자는 도 10에 나타낸 바 와 같이, K≠Bfi인지를 체크한다. 매칭(matching)되는 폐기된 멤버 키가 검출되면, 입증은 프로세스 블록(560)에서 실패한다; 그렇지 않으면, 입증은 프로세스 블록(570)에서 성공한다.For each fi in the rogue-list, the verifier checks whether K ≠ B fi , as shown in FIG. 10. If a matching discarded member key is detected, attestation fails at
도 10은 일 실시예에 따른, 멤버 디바이스의 개인 서명 키가 폐기되지 않은 개인 서명 키임을 보증하는 방법(542)을 도시하는 흐름도이다. 따라서, 프로세스 블록(544)에서, 로그 키(rogue-key) 리스트가 수신되었는지가 결정된다. 수신되었으면, 프로세스 블록(546)에서, 로그 키 리스트로부터 폐기된 멤버 키가 선택된다. 프로세스 블록(548)에서, 디지털 서명의 일부로서 수신된 가명 값 K가 K=Bfi 형태의 방정식과 동일하지 않는지 결정된다. 가명 값(pseudonym value) K가 방정식과 동일하면, 서명은 프로세스 블록(552)에서 거절된다. 그렇지 않으면, 프로세스 블록(550)에서, 프로세스 블록들(546-548)은, 폐기된 키 리스트의 각각의 키가 프로세스될 때까지, 폐기된 키 리스트의 각각의 폐기된 멤버 키에 대해 반복된다. 따라서, 그룹 서명의 값 K가 Bfi와 매칭되지 않는다고 가정하면, 멤버 디바이스로부터 수신된 디지털 서명이 수신된다.10 is a flowchart illustrating a
일 실시예에서, 멤버 또는 신뢰받는 하드웨어 디바이스는 ECC와 같은 종래 암호 프로토콜을 이용하여 표준 공개/개인 키 쌍을 생성할 수 있다. 따라서, 일 실시예에서, 멤버 디바이스의 개인 서명 키는, 공개 키가 신뢰받는 하드웨어 디바이스에 의해 생성된 것을 도시하기 위해 공개 ECC 키를 서명하는데 이용될 수 있다. 따라서, 플랫폼 그룹의 신뢰받는 하드웨어 디바이스로서 멤버 디바이스의 초 기 인증을 따르는 종래의 공개/개인 키 ECC 쌍을 이용하여 연속하는 트랜잭션(tansaction)들이 수행될 수 있다.In one embodiment, the member or trusted hardware device may generate a standard public / private key pair using conventional cryptographic protocols such as ECC. Thus, in one embodiment, the member device's private signature key can be used to sign the public ECC key to show that the public key was generated by a trusted hardware device. Thus, consecutive transactions can be performed using a conventional public / private key ECC pair that follows the initial authentication of the member device as a trusted hardware device of the platform group.
본 발명의 다양한 실시예들의 다양한 특징들 및 이점들이 본 발명의 다양한 실시예들의 구조 및 기능에 대한 상세와 함께 이전 설명에 설명되었지만, 본원은 단지 예시일뿐이라는 것이 이해될 것이다. 일부 경우들에서, 소정의 서브어셈블리들은 단지 하나의 그러한 실시예로 상세히 설명된다. 그럼에도 불구하고, 그러한 서브어셈블리들이 본 발명의 다른 실시예들에 이용될 수 있다고 이해되고 생각된다. 첨부된 특허청구범위들이 표현된 용어들의 광범위한 일반적인 의미로 나타낸 전체 범위에 대해, 특히, 부분들의 관리 및 구조의 문제에 대한 본 발명의 실시예들의 원리들 내에서의 변화들이 상세히 이루어질 수 있다.While various features and advantages of the various embodiments of the present invention have been described in the foregoing description with details of the structure and function of the various embodiments of the present invention, it will be understood that the present application is by way of example only. In some cases, certain subassemblies are described in detail in only one such embodiment. Nevertheless, it is understood and understood that such subassemblies may be used in other embodiments of the present invention. Changes may be made in detail to the entire scope of the appended claims in their broad general sense, in particular the principles of the embodiments of the invention, in particular in terms of the management and structure of parts.
다음의 특허청구범위들에 의해 정의된 바와 같이, 본 발명의 실시예들의 범위 내에서 유지되면서, 기재된 예시적인 실시예들 및 최적의 모드를 갖는 수정들 및 변경들이, 기재된 실시예들에 대해 이루어질 수 있다.As defined by the following claims, modifications and variations having the described exemplary embodiments and optimal modes, while remaining within the scope of embodiments of the present invention, are made to the described embodiments. Can be.
본 발명의 다양한 실시예들은 예로서 도시될 뿐, 첨부의 도면들에 제한되지 않는다.Various embodiments of the invention are shown by way of example only and not as a limitation of the accompanying drawings.
도 1은 일 실시예에 따른, TPM으로 구현된 플랫폼을 특징하는 시스템을 도시하는 블록도이다.1 is a block diagram illustrating a system featuring a platform implemented with a TPM, according to one embodiment.
도 2는 일 실시예에 따른, 도 1의 플랫폼을 더 도시하는 블록도이다.2 is a block diagram further illustrating the platform of FIG. 1, according to one embodiment.
도 3은 일 실시예에 따른, 도 1 및 도 2의 TPM을 더 도시하는 블록도이다.3 is a block diagram further illustrating the TPM of FIGS. 1 and 2, according to one embodiment.
도 4는 일 실시예에 따른, 도 3의 인증 로직을 더 도시하는 블록도이다.4 is a block diagram further illustrating the authentication logic of FIG. 3, according to one embodiment.
도 5는 일 실시예에 따른, 신뢰받는 멤버 디바이스들의 신뢰받는 멤버쉽 그룹을 수립(establish)하는 방법을 도시하는 흐름도이다.5 is a flow diagram illustrating a method of establishing a trusted membership group of trusted member devices, according to one embodiment.
도 6은 일 실시예에 따른, 그룹 공개/개인 키 쌍 및 하나 이상의 공개 파라미터들을 생성하는 방법을 도시하는 흐름도이다.6 is a flow diagram illustrating a method of generating a group public / private key pair and one or more public parameters, according to one embodiment.
도 7은 일 실시예에 따른, 신뢰받는 멤버쉽 그룹의 멤버 디바이스를 증명하는 결합 프로토콜에 대한 방법을 도시하는 흐름도이다.7 is a flow diagram illustrating a method for a association protocol for authenticating member devices of a trusted membership group, according to one embodiment.
도 8은 일 실시예에 따른, 수신된 증명 요청에 응답하여 개인 서명 키를 생성하는 방법을 도시하는 흐름도이다.8 is a flow diagram illustrating a method of generating a personal signature key in response to a received attestation request, according to one embodiment.
도 9는 일 실시예에 따른, 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버로서 디바이스를 인증하기 위해, 디바이스의 그룹 디지털 서명을 입증하는 방법을 도시하는 흐름도이다.9 is a flow diagram illustrating a method of verifying a group digital signature of a device to authenticate the device as a trusted member of a trusted membership group, according to one embodiment.
도 10은 일 실시예에 따른, 수신된 서명을 생성하는데 이용되는 개인 서명 키가 폐기되지 않은(non-revoked) 개인 멤버 키를 포함하는 것을 입증하는 방법을 도시하는 흐름도이다.10 is a flow diagram illustrating a method for verifying that a private signature key used to generate a received signature includes a non-revoked private member key, according to one embodiment.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
102: 제1 플랫폼(입증자)102: first platform (provider)
106: 인증 요청106: Authentication request
108: 인증 정보108: authentication information
110: 발행자110: publisher
120: 네트워크120: network
200: 제2 플랫폼(증명자)200: second platform (certifier)
220: TPM220: TPM
Claims (25)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/778,804 US8078876B2 (en) | 2007-04-30 | 2007-07-17 | Apparatus and method for direct anonymous attestation from bilinear maps |
US11/778,804 | 2007-07-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090008162A true KR20090008162A (en) | 2009-01-21 |
KR101004829B1 KR101004829B1 (en) | 2010-12-28 |
Family
ID=40403935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080069771A KR101004829B1 (en) | 2007-07-17 | 2008-07-17 | An apparatus and method for direct anonymous attestation from bilinear maps |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4851497B2 (en) |
KR (1) | KR101004829B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8605898B2 (en) | 2010-10-15 | 2013-12-10 | Samsung Electronics Co., Ltd. | Apparatus and method that generates originality verification and verifies originality verification |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4971917B2 (en) * | 2007-09-11 | 2012-07-11 | 日本放送協会 | Signature generation device, signature verification device, group management device, and program thereof |
JP2011114504A (en) * | 2009-11-26 | 2011-06-09 | Okayama Univ | Anonymous authentication system |
KR101136119B1 (en) | 2010-11-23 | 2012-04-17 | 순천향대학교 산학협력단 | A group key management method using admissible bilinear map |
CN103312499B (en) * | 2012-03-12 | 2018-07-03 | 西安西电捷通无线网络通信股份有限公司 | A kind of identity identifying method and system |
CN103312670A (en) * | 2012-03-12 | 2013-09-18 | 西安西电捷通无线网络通信股份有限公司 | Authentication method and system |
JP2020068437A (en) * | 2018-10-23 | 2020-04-30 | 株式会社アメニディ | Access management device and program |
IL275954A (en) * | 2020-07-09 | 2022-02-01 | Google Llc | Anonymous event attestation with group signatures |
IL275947A (en) | 2020-07-09 | 2022-02-01 | Google Llc | Anonymous event attestation |
-
2008
- 2008-07-10 JP JP2008179668A patent/JP4851497B2/en not_active Expired - Fee Related
- 2008-07-17 KR KR1020080069771A patent/KR101004829B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8605898B2 (en) | 2010-10-15 | 2013-12-10 | Samsung Electronics Co., Ltd. | Apparatus and method that generates originality verification and verifies originality verification |
Also Published As
Publication number | Publication date |
---|---|
JP2009027708A (en) | 2009-02-05 |
JP4851497B2 (en) | 2012-01-11 |
KR101004829B1 (en) | 2010-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8078876B2 (en) | Apparatus and method for direct anonymous attestation from bilinear maps | |
US8356181B2 (en) | Apparatus and method for a direct anonymous attestation scheme from short-group signatures | |
AU2022224799B2 (en) | Methods for secure cryptogram generation | |
US7844614B2 (en) | Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation | |
US7490070B2 (en) | Apparatus and method for proving the denial of a direct proof signature | |
US8924728B2 (en) | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information | |
KR101004829B1 (en) | An apparatus and method for direct anonymous attestation from bilinear maps | |
US11070542B2 (en) | Systems and methods for certificate chain validation of secure elements | |
US20080307223A1 (en) | Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation | |
US20100169650A1 (en) | Storage minimization technique for direct anonymous attestation keys | |
US8595505B2 (en) | Apparatus and method for direct anonymous attestation from bilinear maps | |
US7313697B2 (en) | Method for authentication | |
CN101359986B (en) | Apparatus and method for direct anonymous attestation from bilinear maps | |
KR101371054B1 (en) | Method for digital signature and authenticating the same based on asymmetric-key generated by one-time_password and signature password |
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: 20131202 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151201 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181129 Year of fee payment: 9 |