KR101004829B1 - 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법 - Google Patents

이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법 Download PDF

Info

Publication number
KR101004829B1
KR101004829B1 KR1020080069771A KR20080069771A KR101004829B1 KR 101004829 B1 KR101004829 B1 KR 101004829B1 KR 1020080069771 A KR1020080069771 A KR 1020080069771A KR 20080069771 A KR20080069771 A KR 20080069771A KR 101004829 B1 KR101004829 B1 KR 101004829B1
Authority
KR
South Korea
Prior art keywords
anonymous
group
key
trusted
hardware device
Prior art date
Application number
KR1020080069771A
Other languages
English (en)
Other versions
KR20090008162A (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
Priority claimed from US11/778,804 external-priority patent/US8078876B2/en
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20090008162A publication Critical patent/KR20090008162A/ko
Application granted granted Critical
Publication of KR101004829B1 publication Critical patent/KR101004829B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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

Landscapes

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

Abstract

이선형 맵(bilinear map)들로부터의 직접적인 익명의 증명(direct anonymous attestation)을 위한 방법 및 장치. 일 실시예에서, 방법은, 발행자(issuer)에 의해 정의된 신뢰받는 멤버쉽 그룹(trusted membership group)에 대한 공개/개인 키 쌍의 생성; 및 발행자에 의해 정의된 신뢰받는 멤버쉽 그룹의 적어도 하나의 멤버 디바이스에 고유 비밀 서명 키를 할당하는 것을 포함한다. 일 실시예에서, 할당된 서명 키를 이용하여, 멤버는, 신뢰받는 멤버쉽 그룹 내의 멤버쉽을 증명(prove)하기 위한 인증 요청(authentification request)으로서 수신된 메세지를 할당할 수 있다. 일 실시예에서, 멤버의 그룹 디지털 서명은 신뢰받는 멤버쉽 그룹의 공개 키를 이용하여 입증(verify)된다. 따라서, 디지털 서명의 입증자(verifier)는, 신뢰받는 멤버 디바이스들의 익명성을 유지하기 위해, 멤버의 고유 신분증명(identification) 정보 또는 개인 멤버 키의 노출을 요구하지 않고, 멤버가 신뢰받는 멤버쉽 그룹의 실제 멤버인 것을 인증할 수 있다. 다른 실시예들이 기재되고 청구된다.
이선형 맵, 익명, 입증자, 증명자, 비밀 서명 키, 인증, 디지털 서명

Description

이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및 방법{AN APPARATUS AND METHOD FOR DIRECT ANONYMOUS ATTESTATION FROM BILINEAR MAPS}
본 발명의 하나 이상의 실시예들은 일반적으로 암호(cryptography)의 분야에 관한 것이다. 보다 구체적으로, 본 발명의 하나 이상의 실시예들은 이선형 맵들로부터의 직접적인 익명의 증명을 위한 방법 및 장치들에 관한 것이다.
많은 현대 통신 시스템들에서, 교환된 정보의 신뢰성 및 보안성은 중요한 관심사이다. 이러한 관심사를 다루기 위해, TCPA(Trusted Computing Platform Alliance)는 플랫폼들에 대한 보안 솔루션들을 개발했다. 2002년 2월 22일에 또는 그 근처에 공개된, "Main Specification Version 1.1b"의 제목을 가진 TCPA 사양에서에 따라, 각각의 개인용 컴퓨터(PC)는 신뢰받는 플랫폼 모듈(Trusted Platform Module, TPM)으로서 지칭되는 신뢰받는 하드웨어 디바이스를 이용하여 구현된다.
동작 동안, 외부자(outside party)("입증자(verifier)"로서 지칭됨)는 TPM의 인증을 요청할 수 있다. 이는 2개의 반대되는 보안 관심사들을 생성한다. 우선, 입증자는 요청된 인증 정보가 유효한(valid) TPM으로부터 실제 나온다는 것을 확인(sure)할 필요가 있다. 두번째, TPM을 포함하는 PC의 소유자는 가능한 한 프라 이버시를 유지하기를 원한다. 특히, PC의 소유자는, 인증 정보가 동일한 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)을 명령하는 법이다.
주 운전 면허증들에 대해 리얼 ID 법을 이행하는 하나의 시도는, 일반적으로 카드의 소유자(holder)의 개인적인 민감한 정보를 노출시킨다. 공교롭게도, 그러한 보안 정보는 종종 소유자들의 동의없이, 팔리고, 소유자의 이름이지만, 소유자들의 동의없이 부정 행위(fraudulent transaction)들을 이행하는데 이용된다. 그러한 행위는 일반적으로 신원(identity) 도용으로서 알려져 있고, 이는 매일 선의의 희생자(innocent victim)들의 신용을 훼손하는 널리 알려진 현상이다.
이선형 맵들로부터의 직접적인 익명의 증명을 위한 방법 및 장치가 기술된다. 일 실시예에서, 방법은 발행자에 의해 정의된 신뢰받는 멤버쉽 그룹에 대한 공개/개인 키 쌍의 생성; 및 발행자에 의해 정의된 신뢰받는 멤버쉽 그룹의 적어도 하나의 익명의 멤버 디바이스에, 고유 비밀 서명 키를 할당하는 것을 포함한다. 일 실시예에서, 할당된 서명 키를 이용하여, 멤버는, 그룹 디지털 서명을 형성하기 위해 인증 요청으로서 수신된 메세지에 서명(sign)할 수 있다. 일 실시예에서, 멤버의 그룹 디지털 서명은, 신뢰받는 멤버쉽 그룹의 공개 키를 이용하여 입증될 수 있다.
결과로서, 그룹 디지털 서명의 입증자는, 멤버가 신뢰받는 멤버 디바이스가 입증자에 대해 익명성을 유지할 수 있도록, 멤버의 임의의 고유 신분증명 정보 또는 고유 개인 또는 공개 멤버 키의 노출을 요구하지 않고, 신뢰받는 멤버쉽 그룹의 실제(신뢰받는) 멤버인 것을 인증할 수 있다.
일 실시예에서, 익명의 하드웨어 디바이스는, 비밀(개인) 서명 키를 형성하는 발행자가 신뢰받는 멤버쉽 그룹의 멤버가 되도록, 증명(결합) 절차에 관여한다. 일 실시예에서, 멤버 디바이스는 개인 서명 키를 가진 메세지를 디지털로 서명하기 위해 TPM(Trusted Platform Module)을 포함한다. 일 실시예에 대해, 개인 서명 키를 형성하고 메세지를 디지털로 서명하는 TPM의 기능은 펌웨어로서 전개된 다(deployed). 그러나, 그러한 기능은 전용 하드웨어 또는 소프트웨어로서 전개될 수 있다는 것이 고려된다. 펌웨어 또는 소프트웨어를 형성하는 명령어들 또는 코드가 머신-판독가능한 매체에 저장된다.
여기에서, "머신-판독가능한 매체"는, 플로피 디스켓, 하드 디스크, 광 디스크(예를 들어, CD-ROM들, DVD들, 미니-DVD들 등), 자기-광 디스크, ROM(read-only memory), RAM(read access memory)과 같은 반도체 메모리, 임의의 타입의 프로그램가능한 ROM(예를 들어, "PROM(programmable ROM)", "EPROM(erasable programmable ROM)", "EEPROM(electrically erasable programmable ROM)" 또는 플래시), 자기 또는 광 카드들 등을 포함할 수 있지만, 이들에 한정되지 않는다. 소프트웨어는 다운로드된 신호의 부분으로서 또는 통신 링크를 통한 전파 동안, 일시적으로 저장될 수 있기 때문에, 신호 자체 및/또는 통신 링크가 머신-판독가능한 매체로서 간주될 수 있다는 것이 고려된다.
다음의 설명에서, 소정의 용어는 본 발명의 하나 이상의 실시예들의 소정의 특징을 설명하는데 이용된다. 예로서, "플랫폼"은 정보를 전송하고 수신하도록 구성된 임의의 타입의 통신 디바이스로서 정의된다. 다양한 플랫폼들의 예들은, 컴퓨터들, PDA(personal digital assistants), 셀룰러 전화들, 셋톱 박스들, 팩시밀리 머신들, 프린터들, 모뎀들, 라우터들, 스마트 카드들, USB 토큰들, 신분증명 카드, 면허증, 신용 카드 또는 집적 회로를 포함하는 다른 유사 형태 요소 디바이스 등을 포함하지만, 이들에 한정되거나 제한되지 않는다. "통신 링크"는 플랫폼에 적용된 하나 이상의 정보-전송 매체들로서 광범위하게 정의된다. 다양한 타입들의 통신 링크들의 예들은, 전기 와이어(들), 광 섬유(들), 케이블(들), 버스 트레이스(trace)(들) 또는 무선 신호 기술을 포함하지만, 이들에 한정되거나 제한되지 않는다.
"입증자(verifier)"는 다른 엔티티(entity)로부터의 인증 또는 권한에 대한 일부 입증을 요청하는 임의의 엔티티(예를 들어, 사람, 플랫폼, 시스템, 소프트웨어 및/또는 디바이스)를 지칭한다. 통상, 이것은 요청된 정보를 기재하거나 제공하기 전에 수행된다. "증명자(prover)"는 그의 권한, 유효성(validity), 및/또는 신원(identity)에 대한 일부 증명을 제공하도록 요구되는 임의의 엔티티를 지칭한다. "증명자"는 증명자가 개인 서명 키를 이용하여 메세지를 서명함으로써 인증 요청에 응답할 때, "서명자(signer)"로 간주될 수 있다. "발행자(issuer)"는 신뢰받는 멤버쉽 그룹을 정의하고, 하드웨어 디바이스들을 신뢰받는 멤버쉽 그룹에 결합(join)시키는데 이용한다. "증명 제조자(certifying manufacturer)"와 서로 교환하여 이용될 수 있는 "디바이스 제조자"는, 플랫폼 또는 디바이스(예를 들어, TPM)를 제조하거나 구성하는 임의의 엔티티를 지칭한다. 발행자는 디바이스/증명 제조자일 수 있다.
본원에 이용된 바와 같이, 증명자가 일부 암호 정보의 소유권(possession) 또는 지식을 갖는 입증자를 "증명"하거나 또는 "확신"하는 것은, 입증자에게 공개된 정보 및 증거(proof)에 기초하여, 증명자가 암호 정보를 가질 높은 확률이 존재한다는 것을 의미한다. 입증자에게 암호 정보를 "노출"시키거나 또는 "공개"하지 않고 입증자에게 이를 증명하는 것은, 입증자에게 공개된 정보에 기초하여, 입증자 가 암호 정보를 결정하는 것이 계산적으로 불가능하다는 것을 의미한다. 이하에서, 이러한 증거들은 직접 증거들로서 지칭된다.
이후에 설명된 다양한 실시예들의 설명 및 도시(illumination) 전체에, 계수들, 변수들 및 다른 심볼들(예를 들어, "h")이 동일한 라벨 또는 이름으로서 참조된다. 따라서, 상이한 방정식들 또는 기능적 설명뿐만 아니라 방정식의 상이한 부분들에 심볼이 나타난 경우, 동일한 심볼이 참조된다.
도 1은 일 실시예에 따른, 신뢰받는 하드웨어 디바이스("신뢰받는 플랫폼 모듈" 또는 "TPM"으로 지칭됨)로 구현된 플랫폼을 특징하는(featuring) 시스템(100)을 도시한다. 제1 플랫폼(102)(입증자)은 네트워크(120)를 통해 제2 플랫폼(200)(증명자)에게 인증 요청(106)을 송신한다. 요청(106)에 응답하여, 제2 플랫폼(200)은 인증 정보(108)를 제공한다. 일 실시예에서, 네트워크(120)는, 회사 인트라넷, 인터넷 또는 다른 유사 네트워크와 같은, 로컬 또는 광대역 네트워크, 및/또는 종래 네트워크 인프라구조의 부분을 형성한다.
부가적으로, 강조된 보안에 대해, 제1 플랫폼(102)은 증명자 플랫폼(200)이 선택된 디바이스 제조자 또는 선택된 디바이스 제조자들(본원에서 이후 "디바이스 제조자(들)(발행자)(110)"로서 지칭됨)의 그룹 중 어느 하나에 의해 제조된다는 것을 입증할 필요가 있을 수 있다. 일 실시예에서, 제1 플랫폼(102)은 제2 플랫폼(200)에게, 제2 플랫폼이 발행자(110)에 의해 생성된 암호 정보(예를 들어, 개인 서명 키)를 갖는다는 것을 나타낼 것을 요구한다. 제2 플랫폼(200)은, 응답의 형태로, 본원에 "고유한, 디바이스 신분증명 정보"로서 지칭되는 암호 정보 또는 임 의의 디바이스/플랫폼 신분증명 정보를 드러내지 않고, 제2 플랫폼(200)이 발행자(110)에 의해 생성된 암호 정보를 갖는다는 것을 제1 플랫폼(102)에게 확신시키기 위해, 인증 정보를 제공함으로써 그 요구에 응답하여, 신뢰받는 멤버 디바이스가 입증자에 대해 익명성을 유지할 수 있도록 한다.
도 2는 TPM(220)과 동일 그룹에 있는 TPM들 모두에 대해 공통인 그룹 멤버쉽 증명서(certificate)를 갖는 TPM(220), 및 그룹 멤버쉽 증명서를 이용하여 입증될 수 있는 디지털 서명을 제공하는 개인 메모리 키를 포함하는 익명의 플랫폼(200)의 실시예를 더 도시하는 블록도이다. 일 실시예에서, 플랫폼(200)에 결합된 TPM(220)은, 신뢰받는 플랫폼(200)이 입증자(102)에 대해 익명성을 유지할 수 있도록, 개인 고유 서명 키를 포함하는 임의의 고유 디바이스 신분증명 정보의 공개없이, 플랫폼(200)이 발행자(110)(예를 들어, 디바이스 제조자)에 의해 정의된 신뢰받는 멤버쉽 그룹의 멤버이라는 것을 입증자에게 증명하기 위해, 개인 고유 서명 키(230)를 이용하여 인증 정보를 생성한다(도 1). 대표적으로, 컴퓨터 시스템(200)은 프로세서(CPU)(202)와 칩셋(210) 사이에서 정보를 통신하기 위해 프로세서 시스템 버스(프론트측 버스(front side bus; FSB))(204)를 포함한다. 본원에 설명된 바와 같이, 용어 "칩셋"은 CPU(202)에 연결된 다양한 디바이스들을 집합적으로 기재하는 방식에 이용되어, 원하는 시스템 기능을 수행한다.
대표적으로, 하드 드라이브 디바이스들(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) 또는 데이터의 고속 버퍼링을 지원할 수 있는 임의의 디바이스를 포함할 수 있지만, 이들에 한정되지 않는다.
도 3은 일 실시예에 따른, 제2 플랫폼(200)의 신뢰받는 플랫폼 모듈(TPM)(220)을 더 도시한다. TPM(220)은 디바이스 제조자에 의해 제조된 암호 디바이스이다. 일 실시예에서, TPM(220)은 패키지 내에 인캡슐된 작은 양의 온-칩(on-chip) 메모리를 갖는 프로세서 유닛(222)을 포함한다. 일 실시예에서, 인캡슐된 메모리는 발행자(110)와의 결합 절차 동안 생성된 개인 고유 멤버쉽 키(230)을 저장하는데 이용될 수 있다. TPM(220)은, 유효한 TPM으로부터 인증 정보가 전송되는 것을 결정할 수 있는 제1 플랫폼(102)에게 인증 정보를 제공하도록 구성된다. 이용된 인증 정보는 TPM 또는 제2 플랫폼의 신분증명이 매우 쉽게 결정될 수 있도록 구성되는 랜덤화된 데이터이다.
일 실시예에서, TPM(220)은 하나 이상의 키들, 해쉬(hash) 값들, 서명들, 증명서들 등과 같은 암호 정보의 저장을 허여하는 비휘발성 메모리(224)(예를 들어, 플래시)를 더 포함한다. 일 실시예에서, 암호 정보는 예를 들어, 증명 제조자와 같은 발행자(110)로부터 수신된 개인 서명 키이다. 아래 나타낸 바와 같이, "X"의 해쉬 값은 "Hash(X)"로서 나타낼 수 있다. 물론, 그러한 정보는 플래시 메모 리(224) 대신에 플랫폼(200)의 외부 메모리(280) 내에 저장될 수 있다는 것이 고려된다. 암호 정보는 특히, TPM(220) 밖에 저장된다면, 암호화될 수 있다.
일 실시예에서, TPM(220)은 입증자 플랫폼으로부터의 인증 요청에 응답하는 인증 로직(240)을 포함한다. 일 실시예에서, 인증 로직(240)은 개인 서명 키(230)를 이용하여 수신된 메세지에 따른 디지털 서명을 연산(compute)하여, TPM(220)이, 임의의 고유 디바이스/플랫폼 신분증명 정보를 노출하지 않고, 신뢰받는 멤버쉽 그룹의 발행자에 의해 생성된 암호 정보를 저장한다는 것을, 입증자 플랫폼에게 확신시키거나 또는 증명한다. 결과로서, 인증 로직(240)은 플랫폼(200)의 익명성을 유지하기 위해 증명자 플랫폼의 신원(identity)을 보존하면서 요청된 인증을 수행한다. 인증 로직(240)은 도 4를 참조하여 더 도시된다.
일 실시예에서, 증명 로직(certification logic)(250)은 개인 서명 키(230)의 발행자와의 1회의(one-round) 증명 절차 동안 개인 서명 키(230)를 형성한다. 일 실시예에서, 서명 로직(260)은 입증자로부터의 인증 요청의 부분으로서 수신된 메세지에 서명할 수 있다. 대표적으로, 폐기된 키 로직(revoked key logic)(270)은 플랫폼(200)에 의해 보유된 개인 서명 키(230)의 개인 멤버 키 컴포넌트가 폐기된(손상된(compromised)) 개인 멤버 키가 아니라는 것을 입증자 플랫폼에게 확신시키거나 증명한다. 대안적인 실시예에서, 개인 서명 키가 폐기된 서명 키가 아닌 것에 대한 입증이 입증자에 의해 수행된다. 상술된 것보다 더 적거나 더 많이 갖춘(equipped) 컴퓨터가 소정의 구현들에 대해 바람직할 수 있다는 것이 이해된다.
일 실시예에서, 신뢰받는 멤버쉽 그룹의 멤버인 각각의 하드웨어 디바이스는 발행자에 의해 고유한 개인 서명 키가 할당된다. 대표적으로, 할당된 개인 서명 키를 갖는 신뢰받는 멤버 디바이스는, 입증자로부터의 인증 요청의 부분으로서 수신된 메세지에 서명할 수 있다. 그러나, 종래 디지털 서명 시스템과 반대로, 멤버 디바이스의 고유한 개인 서명 키를 이용하여 생성된 그룹 디지털 서명의 입증은, 발행자에 의해 정의된 신뢰받는 멥버쉽 그룹에 대한 그룹 공개 키를 이용하여 입증된다. 신뢰받는 멤버쉽 그룹의 멤버 디바이스는, 그의 개인 서명 키를 이용하여, 고유 디바이스 신분증명 정보의 공개를, 디바이스가 증명 제조자로서 정의될 수 있는 신뢰받는 하드웨어 디바이스들의 신뢰받는 멤버쉽 그룹의 멤버라는 표시로 제한한다.
일 실시예에서, 인증 로직(240)은 그가 그의 신분증명에 대한 임의의 정보를 드러내지 않고 그룹의 멤버인 것을 증명할 수 있도록 한다. 그룹의 멤버는 그룹의 멤버쉽을 증명하는데 이용될 수 있는 신임장(credential)("그룹 멤버쉽 증명서")를 갖는다. 일 실시예에서, 신임장들은 개인 멤버 키 및 그룹 멤버쉽 증명서로 구성된다. 개인 서명 키는 그룹의 상이한 멤버 마다 고유하고, 각각의 멤버는 발행자에게 알려지지 않은 멤버의 개인 멤버 키로서 비밀 랜덤 값을 선택한다. 그러나, 신뢰받는 멤버쉽 그룹의 그룹 공개 키는 그룹의 모든 멤버들에 대해 동일하다.
본원에 설명된 바와 같이, 발행자(110)와 같은 발행자는, 사람(또는 엔티티)이 그룹의 멤버임을 수립(establish)하여 그 후, 멤버의 개인 서명 키를 형성하는데 이용되는 신임장을 멤버에게 발행하는 엔티티이다. 본원에 더 설명된 바와 같이, 증명자는 그룹 내에서 멤버쉽을 증명하기 위해 노력하는 사람 또는 엔티티이 다. 증명자가 그룹의 실제 멤버이고 유효한 신임장을 갖고 있다면, 증명은 성공적일 것이다. 본원에 더 설명된 바와 같이, 입증자는 증명자가 그룹의 멤버인지 아닌지를 확인하기 위해 노력하는 엔티티이다. 따라서, 증명자는 입증자에게 멤버쉽을 증명하기 위해 노력한다.
도 4에 나타낸 바와 같이, 멤버쉽을 증명하기 위해, 입증자는, 증명자가 예를 들어, 디지털 서명 로직(260)에서 일부 메세지들에 디지털로 서명할 것을 요청한다. 메세지가 현재 서명되었는지 입증자가 알 필요가 있다면, 그 때 입증자는 증명자에게 주어진 랜덤 값(임시)을 생성하여 서명에 포함시킨다. 증명자는 개인 서명 키를 이용하여 메세지에 서명하여 입증자에게 그 서명을 송신한다. 본원에 설명된 바와 같이, 그러한 서명은, 그것이 신뢰받는 멤버쉽 그룹의 공개된, 그룹 공개 키로서 입증됨에 따라 그룹 디지털 서명으로서 지칭된다.
일 실시예에서, 입증자는 그룹 공개 키를 이용하여 서명을 입증할 수 있고, 증명이 성공하면, 입증자는 증명자가 신뢰받는 그룹의 멤버라는 것을 알게 된다. 임시 값(nonce)이 사용되었다면, 입증자는 그룹 서명이 그가 임시 값을 송신했던 때와 서명이 수신된 때 사이에 생성되었는지 알게 된다. 따라서, 입증자는 그룹의 신뢰받는 멤버들의 익명성을 유지하기 위해, 어떤 멤버가 그룹 디지털 서명을 생성하는지 알지 못한다.
일 실시예에서, TPM(220)은 PCMCIA 슬롯으로의 삽입을 위한 PCMCIA 카드의 형태 인자를 포함하는 스마트 카드 상에 포함될 수 있거나, 또는 운전자의 면허증, 신분증명 카드, 신용 카드 또는 표준 운전 면허증/신용 카드의 형태 인자(form factor)를 포함하고 본원에 설명된 바와 같이 하나 이상의 암호 절차들을 수행하는 집적 회로를 포함하는 다른 유사 구성과 같은 신분증명 디바이스 상에 포함될 수 있다. 그러나, 소정의 암호 함수들이 플랫폼(200)과 같은 추가 호스트(attached host)에 의해 연산될 수 있다는 것이 이해되어야 한다. 그러한 구성에 따라, 예를 들어, 운전 면허증에 대한 TPM(220)의 이용은, 개인적으로 민감한 정보의 공개 없이, 상기 언급된 바와 같이, 2005년의 리얼 ID 법과 일치할 수 있다.
그러한 구성에 따라, 교통부(Department of Motor Vehicles) 또는 DMV는 발행자이고, 그룹 공개 키 및 그룹 발행 개인 키를 생성하는 셋업 절차에 이용된다. 발행자는 공개 키를 공개하고, 그룹 발행 개인 키를 유지한다. 그러한 절차에 따라, 각각의 발행된 운전 면허증에 대해, 발행자에게 알려지지 않은 개인 멤버 키 컴포넌트를 포함하는 발행자로부터의 사용자 개인 서명 키를 제공하는 일반적인 절차가 뒤따른다. 따라서, 그룹 공개 키에 더하여 사용자 개인 서명 키는 본 그룹에 대한 사용자의 신임장이다.
그러한 실시예에 따르면, 도 4에 도시된 바와 같이, 인증 로직뿐만 아니라 TPM(220)은, 표준 운전 면허증, 신용 카드 또는 은행 머신들을 액세스하기 위한 다른 유사 스마트 카드 디바이스 등의 형태 인자를 갖는 카드 상에 포함되고, 카드의 소유자는, 예를 들어, 발행자(DMV)에게 손상된(compromised) 개인 키들의 복사본을 가질 것을 요청하지 않고, 카드의 소유자가 폐기된 멤버가 아닌 것을 증명하는 입증 절차에 이용될 수 있다.
도 5는 일 실시예에 따른 신뢰받는 멤버쉽 그룹 공개 키를 형성하는 방 법(400)을 도시하는 흐름도이다. "신뢰받는 멤버쉽 그룹"은 하나 이상의 플랫폼들 또는 디바이스들의 타입들을 포함하도록 발행자에 의해 정의될 수 있다. 예로서, 신뢰받는 멤버쉽 그룹은 그룹 공개 키와 같은, 보안 관련 정보의 공통 요소를 갖는 모든 플랫폼들(멤버들)의 세트일 수 있다. 이러한 보안 관련 정보는 특정 플랫폼 또는 디바이스의 모델 번호 및 제조자를 포함할 수 있다. 각각의 신뢰받는 멤버쉽 그룹에 대해, 발행자는 그 신뢰받는 멤버쉽 그룹에 이용되는 암호 파라미터들을 생성한다. 발행자는, 멤버 디바이스들(예를 들어, 플랫폼(200) 또는 TPM(220))에 의해 수신된 메세지들에 서명하는데 이용되는 결합 절차 동안 개인 서명 키를 생성하여, 디바이스가 신뢰받는 멤버쉽 그룹의 멤버임을 입증자에게 확신시킨다.
일 실시예에서, 발행자는 멤버 디바이스로서 적어도 하나의 신뢰받는 하드웨어 디바이스를 포함하는 신뢰받는 멤버쉽 그룹을 생성한다(블록(310)). 일 실시예에서, 발행자는 그룹 공개/개인 키 쌍을 생성하기 위해 공개 키 암호 기능(예를 들어, 타원 곡선 암호)을 이용한다. 이것은, 「"Applied Cryptography", by Bruce Schneier, John Wiley & Sons; ISBN: 0471117099; Second Edition(1996)」에 기술된 것들과 같은 잘 알려진 방법들을 이용하여 생성될 수 있다.
발행자는 공개 파라미터들, 신뢰받는 멤버쉽 그룹의 보안 관련 정보를 포함하는 그룹 멤버쉽 증명서를 생성한다. 플랫폼 그룹 공개/개인 키가 생성되면, 신뢰받는 그룹의 각각의 멤버 디바이스의 증명 절차가 수행된다(블록(350)). 증명 프로세스의 일부분으로서, 발행자는 신뢰받는 그룹의 멤버들 또는 디바이스들에 그룹 멤버쉽 증명서를 제공한다. 증명자(예를 들어, 도 1의 제2 플랫폼(200))로부터 입증자로의 그룹 멤버쉽 증명서와 연관된 암호 파라미터들의 분배는, 다수의 방법들로 이뤄질 수 있다. 그러나, 이러한 암호 파라미터들은, 그룹 멤버쉽 증명서가 발행자에 의해 생성되었다는 것을 입증자가 확신하게 되는 그러한 방법으로 입증자에게 분배되어야 한다.
예로서, 하나의 인정된 방법은 입증자에게 직접 파라미터들을 분배하는 것이다. 다른 인정된 방법은, 하나의 예로서 발행자가, 증명 권한에 의해 서명된 그룹 멤버쉽 증명서를 분배하는 것이다. 이 최후의 방법으로, 증명 권한의 공개 키가 입증자에게 분배되어야 하고, 서명된 그룹 멤버쉽 증명서는 신뢰받는 그룹(증명자 플랫폼)의 각각의 멤버에게 주어질 수 있다. 증명자 플랫폼은 그 후, 입증자에게 서명된 그룹 멤버쉽 증명서를 제공할 수 있다.
도 6은 본 발명에 따른, 도 5의 프로세스 블록(320)의 하나 이상의 공개 파라미터들을 포함하는 플랫폼 그룹에 대한 그룹 공개/개인 키 쌍을 생성하는 방법(322)을 도시하는 흐름도이다. 공개/개인 키 쌍 및 플랫폼 그룹에 대한 플랫폼 파라미터들의 생성은, 멤버 디바이스들이, 임의의 고유한 디바이스 신분증명 정보를 드러내지 않고 신뢰받는 멤버 디바이스들로서 스스로 식별할 수 있도록 한다. 일 실시예에서, 도 6에 대해 설명된 바와 같이, 그룹 공개 파라미터들의 생성은 셋업 프로토콜로서 본원에 언급된다.
일 실시예에서, 하드웨어 제조자(발행자)에 의해 셋업 프로토콜을 이용하여, 발행자에 의해 정의된 신뢰받는 그룹의 각각의 멤버 디바이스에 대한 고유 개인 서명 키를 생성하기 위해, 제조자에 의해 요구되는 공개/개인 키 쌍 및 다른 암호 파 라미터들을 생성하여 멤버 디바이스들을 증명한다.
도 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는 다음으로서 정의된 함수이다.
1. 모든 P, Q∈G에 대해, 모든 a, b∈Z에 대해, e(Pa, Qb)=e(P,Q)ab.
2. e(P,Q)≠1이도록 일부 P, Q∈G가 존재하고, 여기서 1은 GT와 동일하다.
3. 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)이다.
플랫폼 그룹 공개/개인 키가 형성되면, 발행자는 도 7에 대해 더 도시된 바와 같이, 결합 절차에 따라 플랫폼 그룹의 각각의 멤버를 증명할 수 있다. 대표적으로, 도 7은 일 실시예에 따라, 도 5의 프로세스 블록(350)의 정의된 신뢰받는 멤버쉽 그룹의 멤버 디바이스들을 증명하는 방법(352)을 도시하는 흐름도이다.
대표적으로, 플랫폼은 그룹을 결합시키기 위해 발행자와 상호작용한다. 프로세스 블록(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를 포함한다.
일 실시예에서, TPM은 다음과 같이, 발행자에게 지식(SPK)의 서명 증명도 수행한다(이는 프로세스 블록(356 및 358)에 대응함):
SPK{(f) : F=gf}.
1. TPM은 랜덤 r∈Zq를 선택하고 T=gr을 연산한다.
2. TPM은
Figure 112008051575612-pat00001
을 연산한다.
3. TPM은
Figure 112008051575612-pat00002
을 연산한다.
4. TPM은 발행자에게 (F, c, s)를 송신한다.
5. 발행자는
Figure 112008051575612-pat00003
을 연산한다.
6. 발행자는
Figure 112008051575612-pat00004
임을 증명한다.
도 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, ∑)이다.
일 실시예에서, TPM은 임의의 그룹 G로부터 B를 선택할 수 있고, G의 결정적인 디피-헬먼(Diffie-Hellman) 문제는 어렵다(hard). GT 대신 G에 대한 폐기(revocation) 체크가 수행될 수 있다.
일 실시예에서, 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으로 다시 송신한다.
일 실시예에서, TPM은 다음과 같이 "지식의 서명"을 연산한다.
Figure 112008051575612-pat00005
(a) TPM은 2개의 랜덤 정수들 rr, rf∈Zq를 선택하여 T1=vs rrvxy -rf , T2=Brf을 연산한다.
(b) TPM은
Figure 112008051575612-pat00006
을 연산한다.
TPM은
Figure 112008051575612-pat00007
을 연산한다.
TPM은 (c, sr, sf)를 호스트로 송신한다.
호스트는 서명 σ=(B, K, a', b', c', sr, sf)를 입증자에게 송신하고, 여기서, ∑=(sr, sf)이다.
따라서, 개인 서명 키(f, a, b, c)를 이용하는, 신뢰받는 하드웨어 디바이스는, 디바이스가 예를 들어, 본원에서 발행자로서 언급된 증명 제조자에 의해 정의된 신뢰받는 익명의 하드웨어 디바이스들의 그룹의 멤버라는 것을 나타냄으로써, 스스로 신뢰받는 하드웨어 디바이스로서 식별하도록 한다. 일 실시예에서, 각각의 하드웨어 디바이스는 플랫폼 그룹의 멤버이고, 고유한 개인 서명 키가 할당된다. 대표적으로, 할당된 개인 서명 키를 갖는 신뢰받는 하드웨어 디바이스는, 입증자로부터의 인증 요청의 일부로서 수신된 메세지에 서명할 수 있다. 그러나, 종래 디지털 서명 시스템과 반대로, 멤버 디바이스의 고유한 개인 서명 키를 이용하여 생성된 디지털 서명의 입증은, 발행자에 의해 정의된 플랫폼 그룹에 대한 그룹 공개 키를 이용하여 입증된다.
도 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인지를 체크한다.
예를 들어, m에 대한 그룹 서명 σ=(B, K, a', b', c', sr, sf)를 입증하기 위해, 입증자는 다음 단계들을 행한다:
1. 입증자는 e(a', Y)=e(g, b') 및 B∈GT임을 입증한다.
2. 입증자는 vx=e(X, a') vxy=e(X, b') vs=e(g, c')를 연산한다.
3. 입증자는 T'1=vs srvxy - sfvx -c T'2=BsfK-c를 연산한다.
4. 입증자는
Figure 112008051575612-pat00008
을 입증한다.
로그-리스트(rogue-list)의 각각의 fi에 대해, 입증자는 도 10에 나타낸 바 와 같이, K≠Bfi인지를 체크한다. 매칭(matching)되는 폐기된 멤버 키가 검출되면, 입증은 프로세스 블록(560)에서 실패한다; 그렇지 않으면, 입증은 프로세스 블록(570)에서 성공한다.
도 10은 일 실시예에 따른, 멤버 디바이스의 개인 서명 키가 폐기되지 않은 개인 서명 키임을 보증하는 방법(542)을 도시하는 흐름도이다. 따라서, 프로세스 블록(544)에서, 로그 키(rogue-key) 리스트가 수신되었는지가 결정된다. 수신되었으면, 프로세스 블록(546)에서, 로그 키 리스트로부터 폐기된 멤버 키가 선택된다. 프로세스 블록(548)에서, 디지털 서명의 일부로서 수신된 가명 값 K가 K=Bfi 형태의 방정식과 동일하지 않는지 결정된다. 가명 값(pseudonym value) K가 방정식과 동일하면, 서명은 프로세스 블록(552)에서 거절된다. 그렇지 않으면, 프로세스 블록(550)에서, 프로세스 블록들(546-548)은, 폐기된 키 리스트의 각각의 키가 프로세스될 때까지, 폐기된 키 리스트의 각각의 폐기된 멤버 키에 대해 반복된다. 따라서, 그룹 서명의 값 K가 Bfi와 매칭되지 않는다고 가정하면, 멤버 디바이스로부터 수신된 디지털 서명이 수신된다.
일 실시예에서, 멤버 또는 신뢰받는 하드웨어 디바이스는 ECC와 같은 종래 암호 프로토콜을 이용하여 표준 공개/개인 키 쌍을 생성할 수 있다. 따라서, 일 실시예에서, 멤버 디바이스의 개인 서명 키는, 공개 키가 신뢰받는 하드웨어 디바이스에 의해 생성된 것을 도시하기 위해 공개 ECC 키를 서명하는데 이용될 수 있다. 따라서, 플랫폼 그룹의 신뢰받는 하드웨어 디바이스로서 멤버 디바이스의 초기 인증을 따르는 종래의 공개/개인 키 ECC 쌍을 이용하여 연속하는 트랜잭션(transaction)들이 수행될 수 있다.
본 발명의 다양한 실시예들의 다양한 특징들 및 이점들이 본 발명의 다양한 실시예들의 구조 및 기능에 대한 상세와 함께 이전 설명에 설명되었지만, 본원은 단지 예시일뿐이라는 것이 이해될 것이다. 일부 경우들에서, 소정의 서브어셈블리들은 단지 하나의 그러한 실시예로 상세히 설명된다. 그럼에도 불구하고, 그러한 서브어셈블리들이 본 발명의 다른 실시예들에 이용될 수 있다고 이해되고 생각된다. 첨부된 특허청구범위들이 표현된 용어들의 광범위한 일반적인 의미로 나타낸 전체 범위에 대해, 특히, 부분들의 관리 및 구조의 문제에 대한 본 발명의 실시예들의 원리들 내에서의 변화들이 상세히 이루어질 수 있다.
다음의 특허청구범위들에 의해 정의된 바와 같이, 본 발명의 실시예들의 범위 내에서 유지되면서, 기재된 예시적인 실시예들 및 최적의 모드를 갖는 수정들 및 변경들이, 기재된 실시예들에 대해 이루어질 수 있다.
본 발명의 다양한 실시예들은 예로서 도시될 뿐, 첨부의 도면들에 제한되지 않는다.
도 1은 일 실시예에 따른, TPM으로 구현된 플랫폼을 특징하는 시스템을 도시하는 블록도이다.
도 2는 일 실시예에 따른, 도 1의 플랫폼을 더 도시하는 블록도이다.
도 3은 일 실시예에 따른, 도 1 및 도 2의 TPM을 더 도시하는 블록도이다.
도 4는 일 실시예에 따른, 도 3의 인증 로직을 더 도시하는 블록도이다.
도 5는 일 실시예에 따른, 신뢰받는 멤버 디바이스들의 신뢰받는 멤버쉽 그룹을 수립(establish)하는 방법을 도시하는 흐름도이다.
도 6은 일 실시예에 따른, 그룹 공개/개인 키 쌍 및 하나 이상의 공개 파라미터들을 생성하는 방법을 도시하는 흐름도이다.
도 7은 일 실시예에 따른, 신뢰받는 멤버쉽 그룹의 멤버 디바이스를 증명하는 결합 프로토콜에 대한 방법을 도시하는 흐름도이다.
도 8은 일 실시예에 따른, 수신된 증명 요청에 응답하여 개인 서명 키를 생성하는 방법을 도시하는 흐름도이다.
도 9는 일 실시예에 따른, 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버로서 디바이스를 인증하기 위해, 디바이스의 그룹 디지털 서명을 입증하는 방법을 도시하는 흐름도이다.
도 10은 일 실시예에 따른, 수신된 서명을 생성하는데 이용되는 개인 서명 키가 폐기되지 않은(non-revoked) 개인 멤버 키를 포함하는 것을 입증하는 방법을 도시하는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
102: 제1 플랫폼(입증자)
106: 인증 요청
108: 인증 정보
110: 발행자
120: 네트워크
200: 제2 플랫폼(증명자)
220: TPM

Claims (25)

  1. 타원 곡선 연산(elliptic curve computation)을 이용한 익명의 증명(anonymous attestation)을 위한 방법으로서,
    익명의 하드웨어 디바이스가 신뢰받는 멤버쉽 그룹(trusted membership group)의 신뢰받는 멤버 디바이스라는 입증(verification)을 요청하는 단계;
    타원 곡선 연산을 이용하여, 상기 신뢰받는 멤버쉽 그룹으로부터의 공개된 암호 정보(published cryptographic information)에 따라 상기 익명의 하드웨어 디바이스의 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성되는 수신된 그룹 디지털 서명을 인증하는 단계;
    신뢰받는 멤버 디바이스가 입증자에 대해 익명일 수 있도록, 상기 익명의 하드웨어 디바이스의 임의의 고유한 디바이스 신분증명(identification) 정보 또는 상기 개인 서명 키를 노출하는 상기 그룹 디지털 서명의 오픈(open) 없이, 상기 익명의 하드웨어 디바이스가, 상기 익명의 하드웨어 디바이스로부터 수신된 상기 그룹 디지털 서명 및 손상된 멤버 키들의 로그 리스트(a rogue list of compromised member keys)에 따라 상기 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스라는 것을 입증하는 단계; 및
    상기 그룹 디지털 서명이 상기 손상된 멤버 키들의 로그 리스트로부터 폐기된(revoked) 멤버 키를 이용하여 생성되었다면, 상기 익명의 하드웨어 디바이스의 인증을 거절하는 단계
    를 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  2. 제1항에 있어서,
    상기 입증을 요청하는 단계는,
    상기 익명의 하드웨어 디바이스가 상기 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스라는 입증을 요청하기 위해, 상기 익명의 하드웨어 디바이스에 메세지를 발행하는 단계; 및
    상기 익명의 하드웨어 디바이스로부터 그룹 디지털 서명을 수신하는 단계
    를 더 포함하고,
    상기 그룹 디지털 서명은 발행된 메세지에 서명하기 위해, 상기 익명의 하드웨어 디바이스의 상기 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성되고, 상기 개인 서명 키는 상기 익명의 하드웨어 디바이스의 개인 멤버 키 컴포넌트 및 그룹 멤버쉽 증명서를 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  3. 제1항에 있어서,
    상기 인증하는 단계는,
    상기 신뢰받는 멤버쉽 그룹의 그룹 공개 키를 식별하는(identifying) 단계; 및
    상기 신뢰받는 멤버쉽 그룹의 상기 그룹 공개 키에 따라 수신된 그룹 디지털 서명을 인증하는 단계
    를 더 포함하고,
    상기 그룹 디지털 서명은 상기 익명의 하드웨어 디바이스에 발행된 메세지에 서명하기 위해, 상기 익명의 하드웨어 디바이스의 상기 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성되고, 상기 개인 서명 키는 상기 익명의 하드웨어 디바이스의 개인 멤버 키 컴포넌트 및 그룹 멤버쉽 증명서를 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  4. 제1항에 있어서,
    상기 익명의 하드웨어 디바이스의 상기 개인 서명 키의 개인 멤버 키 컴포넌트가, 상기 손상된 멤버 키들의 로그 리스트로부터의 폐기된 개인 멤버 키와 매칭된다면, 상기 익명의 하드웨어 디바이스의 인증을 거절하는 단계
    를 더 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  5. 제1항에 있어서,
    상기 인증을 거절하는 단계는,
    상기 하드웨어 디바이스의 상기 그룹 디지털 서명이, 폐기된 멤버 키 컴포넌트를 갖는 개인 서명 키를 이용하여 생성되었는지를 결정하는 단계; 및
    상기 그룹 디지털 서명이 폐기된 멤버 키 컴포넌트를 이용하여 생성되었다면, 상기 익명의 하드웨어 디바이스를 신뢰받지 않는 하드웨어 디바이스로서 식별하는 단계
    를 더 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  6. 제1항에 있어서,
    상기 인증을 거절하는 단계는,
    (a) 상기 로그 리스트로부터 폐기된 멤버 키 컴포넌트를 선택하는 단계;
    (b) K≠Bfi - 여기서, fi는 선택된 폐기된 멤버 키이고, B는 상기 하드웨어 디바이스의 상기 그룹 디지털 서명의 암호(cryptographic) 파라미터이며, i는 1에서 n까지의 정수이고, n은 1보다 큰 정수이며, K는 K=Bf 형태를 갖고, 여기서 f는 상기 하드웨어 디바이스의 개인 멤버 키임 - 라면, 상기 하드웨어 디바이스의 상기 그룹 디지털 서명의 가명(pseudonym), 암호 파라미터, K가, 상기 선택된 폐기된 멤버 키를 이용하여 생성되지 않았다고 입증하는 단계;
    (c) 상기 로그 리스트에 나열된 각각의 폐기된 멤버 키, fi에 대해 (a)와 (b) 단계를 반복하는 단계; 및
    (d) 상기 그룹 디지털 서명이 상기 로그 리스트로부터의 폐기된 멤버 키를 이용하여 생성되었다면, 상기 하드웨어 디바이스를 신뢰받지 않는 하드웨어 디바이스로서 식별하는 단계
    를 더 포함하는, 타원 곡선 연산을 이용한 익명의 증명 방법.
  7. 타원 곡선 연산들을 이용한 익명의 증명을 위한 방법으로서,
    타원 곡선 연산들을 이용하여, 발행자(issuer)에 의해 정의된 신뢰받는 멤버쉽 그룹에 대한 그룹 공개/개인 키 쌍을 생성하는 단계;
    타원 곡선 연산들을 이용하여, 익명의 하드웨어 디바이스가, 상기 발행자에게 상기 익명의 하드웨어 디바이스의 개인 서명 키의 개인 멤버 키 컴포넌트를 공개하지 않고, 개인 서명 키의 개인 멤버 키 컴포넌트를 생성했는지를 입증하는 단계;
    상기 익명의 하드웨어 디바이스를 상기 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스로 만들기(render) 위해, 상기 익명의 하드웨어 디바이스에 고유 그룹 멤버쉽 증명서(unique group membership certificate)를 할당하는 단계 - 상기 개인 서명 키는 상기 익명의 하드웨어 디바이스의 상기 개인 멤버 키 컴포넌트 및 상기 그룹 멤버쉽 증명서를 포함함 - ;
    입증자가, 상기 익명의 하드웨어 디바이스가 상기 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스임을 입증할 수 있도록, 상기 그룹 공개 키를 공개하는 단계 - 상기 그룹 공개 키는, 신뢰받는 멤버 디바이스가 상기 입증자에 대해 익명일 수 있도록, 상기 개인 서명 키를 이용하여 생성된 그룹 디지털 서명을 입증함 - ; 및
    익명의 하드웨어 디바이스의 임의의 고유한 디바이스 신분증명 정보 또는 상기 개인 서명 키를 노출하는 상기 그룹 디지털 서명의 오픈 없이, 상기 익명의 하드웨어 디바이스의 상기 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성된 그룹 디지털 서명이 폐기된 개인 멤버 키를 이용하여 생성되었다면, 입증자가 익명의 하드웨어 디바이스의 인증을 거절할 수 있도록 손상된 멤버 키들의 로그 리스트를 공개하는 단계
    를 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  8. 제7항에 있어서,
    상기 발행자는 상기 신뢰받는 하드웨어 디바이스의 증명 제조자(certifying manufacturer)인, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  9. 제7항에 있어서,
    상기 입증하는 단계는,
    F=gf 형태의 가명, F를 수신하는 단계 - 여기서, f는 상기 개인 서명 키의 상기 개인 멤버 키 컴포넌트이고, g는 상기 그룹 공개 키의 암호 파라미터임 - ; 및
    상기 개인 멤버 키가 상기 하드웨어 디바이스 내에 저장되는 것을 입증하기 위해 상기 하드웨어 디바이스로부터 증거(proof)를 수신하는 단계 - 상기 증거는 logg F 형태의 지식 증명(proof of knowledge)을 포함함 -
    를 더 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  10. 제9항에 있어서,
    상기 발행자에 의해, 랜덤 값, r을 선택하는 단계; 및
    상기 발행자에 의해, a=gr, b=ay 및 c=axFrxy를 연산하는 단계 - 여기서, (x, y)는 상기 발행자의 개인 키이고, (a, b, c)는 상기 그룹 멤버쉽 증명서임 -
    를 더 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  11. 제7항에 있어서,
    상기 그룹 멤버쉽 증명서를 할당하는 단계는,
    상기 발행자에 의해, 상기 그룹 멤버쉽 증명서로서 상기 신뢰받는 멤버 디바이스의 호스트로 (a, b, c)를 송신하는 단계 - 여기서, a=gr, b=ay 및 c=axFrxy이고, (x, y)는 상기 발행자의 개인 키이고, F는 F=gf 형태의 가명이고, f는 상기 개인 멤버 키이며, g는 상기 그룹 공개 키의 암호 파라미터임 - ; 및
    상기 호스트에 의해, 상기 신뢰받는 멤버 디바이스로 상기 그룹 멤버쉽 증명서 (a, b, c)를 전달하는 단계 - (f, a, b, c)는 상기 신뢰받는 멤버 디바이스의 비밀 서명 키임 -
    를 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  12. 타원 곡선 연산들을 이용한 익명의 증명 방법으로서,
    익명의 하드웨어 디바이스에 의해, 타원 곡선 연산들을 이용하여, 입증자로부터 수신된 메세지에 서명하는 단계 - 상기 메세지는 상기 익명의 하드웨어 디바이스의 개인 서명 키를 이용하여 서명됨 - ;
    상기 익명의 하드웨어 디바이스에 의해, 상기 익명의 하드웨어 디바이스의 그룹 디지털 서명을 포함하는 디지털로 서명된 메세지를, 상기 입증자에게 송신하는 단계 - 상기 입증자는, 상기 익명의 하드웨어 디바이스가, 신뢰받는 멤버쉽 그룹의 그룹 공개 키를 이용하여 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스임을 입증하기 위해, 상기 그룹 디지털 서명을 인증함 - ; 및
    상기 익명의 하드웨어 디바이스에 의해, 신뢰받는 멤버 디바이스가 상기 입증자에 대해 익명일 수 있도록, 상기 익명의 하드웨어 디바이스의 임의의 고유한 디바이스 신분증명 정보 또는 상기 개인 서명 키를 노출하는 상기 그룹 디지털 서명의 오픈 없이, 상기 익명의 하드웨어 디바이스의 상기 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성되는 상기 그룹 디지털 서명이 손상된 멤버 키들의 로그 리스트로부터의 폐기된 멤버 키를 이용하여 생성되지 않았다면, 상기 입증자로부터 폐기의 거부(denial of revocation)를 수신하는 단계
    를 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  13. 삭제
  14. 제12항에 있어서,
    상기 서명 단계 이전에, 상기 방법은,
    증명 시드(attestation seed)에 따라 랜덤한 비밀 값, f를 도출하는(deriving) 단계;
    F=gf 형태의 값 F를 연산하는 단계 - g는 신뢰받는 멤버쉽 그룹의 그룹 공개 키의 암호 파라미터임 - ;
    상기 신뢰받는 멤버쉽 그룹에 결합하라는 요청으로서, 상기 신뢰받는 멤버쉽 그룹의 발행자에게 상기 값, F를 송신하는 단계;
    개인 멤버 키가 상기 하드웨어 디바이스 내에 저장되는 것을 입증하기 위해 상기 발행자에게 증거를 송신하는 단계 - 상기 증거는 logg F 형태의 지식 증명을 포함함 - ; 및
    상기 발행자가 상기 지식 증명의 정확성을 입증하면, 그룹 멤버쉽 증명서 (a, b, c)를 수신하는 단계 - 상기 랜덤한 비밀 값, f는, 상기 신뢰받는 멤버 디바이스의 상기 개인 서명 키(f, a, b, c)의 개인 멤버 키 컴포넌트이고, 상기 신뢰받는 멤버 디바이스가 임의의 입증자들에 대해 익명일 수 있도록 상기 그룹 공개 키에 따라 입증됨 -
    를 더 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  15. 제12항에 있어서,
    상기 서명하는 단계는,
    상기 익명의 하드웨어 디바이스의 신뢰받는 플랫폼 모듈(trusted platform module, TPM)에 의해, 기준 값(base value), B를 선택하는 단계;
    상기 TPM에 의해, K=Bf 형태의 가명, K를 연산하는 단계 - f는 상기 익명의 하드웨어 디바이스의 개인 멤버 키임 - ;
    상기 TPM에 의해, 상기 익명의 하드웨어 디바이스의 호스트에 2개의 난수들 r 및 r'를 송신하는 단계;
    상기 호스트에 의해, a'=ar', b'=br', 및 c'=cr'r을 연산하는 단계 - a, b, 및 c는 상기 신뢰받는 멤버쉽 그룹의 그룹 멤버쉽 증명서의 암호 파라미터들임 - ; 및
    상기 호스트에 의해, vx=e(X, a'), vxy=e(X, b'), 및 vs=e(g, c')을 연산하는 단계 - X 및 Y는 상기 신뢰받는 멤버쉽 그룹의 그룹 공개 키의 암호 파라미터들이고, q는 소수이고, G 및 GT는 q 순서 그룹들(groups of order q), e: G×G→GT는 효율적으로 연산할 수 있는 이선형 맵 함수이고, g는 그룹 G의 발생기이고, gT는 그룹 GT의 발생기임 -
    를 더 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  16. 제15항에 있어서,
    상기 호스트로부터, (a', b', c', vx, vxy, vs)를 수신하는 단계;
    ri 및 f를 노출하지 않고 vs ri=vxvxy f 및 K=Bf가 되도록, 상기 TPM에 의해, (ri, f)의 영-지식 증명(zero-knowledge proof of knowledge)을 연산하는 단계 - ri는 r modulo q의 역임 - ; 및
    상기 익명의 하드웨어 디바이스의 디지털 서명으로서 상기 입증자에게 (a', b', c', B, K, ∑)를 송신하는 단계 - ∑는 상기 영-지식 증명을 나타냄 -
    를 더 포함하는, 타원 곡선 연산들을 이용한 익명의 증명 방법.
  17. 익명의 증명을 위한 장치로서,
    발행자에 의해 상기 장치에 할당되는 개인 서명 키를 저장하는 플래시 메모리; 및
    입증자로부터 수신된 메세지에 상기 개인 서명 키를 이용하여 서명하고, 상기 장치의 그룹 디지털 서명을 포함하는 디지털로 서명된 메세지를 상기 입증자에게 전송하는 신뢰받는 플랫폼 모듈
    을 포함하고,
    상기 입증자는, 타원 곡선 연산을 이용하여, 익명의 하드웨어 디바이스의 개인 서명 키를 이용하여 상기 익명의 하드웨어 디바이스에 의해 생성되는 그룹 디지털 서명에 따라 익명의 하드웨어 디바이스가 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스임을 입증하기 위해 상기 그룹 디지털 서명을 인증하고, 타원 곡선 연산들을 이용하여, 신뢰받는 멤버 디바이스가 상기 입증자에 대해 익명이 될 수 있도록 상기 익명의 하드웨어 디바이스의 임의의 고유한 디바이스 신분증명 정보 또는 상기 개인 서명 키를 노출하는 상기 그룹 디지털 서명의 오픈 없이, 손상된 멤버 키들의 로그 리스트 및 상기 익명의 하드웨어 디바이스로부터 수신된 디지털 그룹 서명 키에 따라 폐기의 거부를 수행하는, 익명의 증명을 위한 장치.
  18. 제17항에 있어서,
    TPM을 포함하는 집적 회로를 갖는 신분증명 카드를 포함하는, 익명의 증명을 위한 장치.
  19. 제18항에 있어서,
    상기 신분증명 카드는 주 운전 면허증(state driver's license)이고, 상기 발행자는 주의 교통부(the state of department of motor vehicles)인, 익명의 증명을 위한 장치.
  20. 익명의 증명을 위한 시스템으로서,
    네트워크에 연결된 입증자 플랫폼; 및
    상기 네트워크에 연결된 익명의 증명자 플랫폼
    을 포함하고,
    상기 익명의 증명자 플랫폼은,
    버스,
    상기 버스에 연결된 프로세서,
    신뢰받는 플랫폼 모듈을 포함하는, 상기 버스에 연결된 칩셋을 포함하고,
    상기 신뢰받는 플랫폼 모듈은, 상기 입증자 플랫폼으로부터 수신된 메세지에 상기 익명의 증명자 플랫폼의 개인 서명 키를 이용하여 서명하고, 상기 익명의 증명자 플랫폼의 상기 개인 서명 키를 이용하여 상기 익명의 증명자 플랫폼에 의해 생성되는 그룹 디지털 서명을 포함하는 디지털로 서명된 메세지를 상기 입증자 플랫폼에 전송하고, 상기 입증자 플랫폼은, 타원 곡선 연산을 이용하여, 상기 익명의 증명자 플랫폼이 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스임을 입증하기 위해 상기 그룹 디지털 서명을 인증하고,
    상기 입증자 플랫폼은, 타원 곡선 연산들을 이용하여, 신뢰받는 멤버 디바이스가 상기 입증자 플랫폼에 대해 익명일 수 있도록 상기 익명의 증명자 플랫폼의 임의의 고유한 디바이스 신분증명 정보 또는 상기 개인 서명 키를 노출하는 상기 그룹 디지털 서명의 오픈 없이, 상기 익명의 증명자 플랫폼으로부터 수신된 상기 그룹 디지털 서명 및 손상된 멤버 키들의 로그 리스트에 따라, 상기 익명의 증명자 플랫폼이 상기 신뢰받는 멤버쉽 그룹의 신뢰받는 멤버 디바이스라는 것을 입증하는, 익명의 증명을 위한 시스템.
  21. 제20항에 있어서,
    상기 입증자 플랫폼은,
    상기 익명의 증명자 플랫폼의 상기 그룹 디지털 서명이 폐기된 멤버 키를 이용하여 생성되었는지 결정하고, 상기 그룹 디지털 서명이 상기 폐기된 멤버 키를 이용하여 생성되었다면, 상기 증명자 플랫폼을 신뢰받지 않는 증명자 플랫폼으로서 식별하는 인증 로직을 포함하는, 익명의 증명을 위한 시스템.
  22. 제20항에 있어서,
    상기 익명의 증명자 플랫폼은, 신뢰받는 멤버 디바이스가 상기 입증자 플랫폼에 대해 익명이 될 수 있도록, 상기 익명의 증명자 플랫폼의 임의의 고유한 디바이스 신분증명 정보 또는 상기 개인 서명 키를 공개하지 않고, 상기 익명의 증명자 플랫폼의 상기 개인 서명 키의 개인 멤버 키 컴포넌트가 손상된 멤버 키들의 로그 리스트로부터의 임의의 폐기된 개인 멤버 키들과 매칭되지 않는다면, 상기 입증자 플랫폼으로부터 폐기의 거부를 수신하는, 익명의 증명을 위한 시스템.
  23. 제20항에 있어서,
    상기 증명자 플랫폼은,
    사전결정된(predetermined) 시드 값(seed value)에 따라, 비밀 멤버 키, f를 생성하는 키 로직; 및
    상기 증명자 플랫폼의 그룹 멤버쉽 증명서 (a, b, c)를 수신하기 위해, 암호 파라미터들을 연산하는 결합 로직(join logic)
    을 포함하고,
    상기 증명자 플랫폼의 개인 서명 키(f, a, b, c)는 상기 증명자 플랫폼의 상기 그룹 멤버쉽 증명서의 암호 파라미터(a, b, c) 및 상기 비밀 멤버 키 f를 포함하는, 익명의 증명을 위한 시스템.
  24. 제20항에 있어서,
    상기 칩셋은 그래픽 제어기를 포함하는, 익명의 증명을 위한 시스템.
  25. 제20항에 있어서,
    상기 네트워크는 광대역 네트워크(wide area network)를 포함하는, 익명의 증명을 위한 시스템.
KR1020080069771A 2007-07-17 2008-07-17 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법 KR101004829B1 (ko)

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 KR20090008162A (ko) 2009-01-21
KR101004829B1 true KR101004829B1 (ko) 2010-12-28

Family

ID=40403935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080069771A KR101004829B1 (ko) 2007-07-17 2008-07-17 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법

Country Status (2)

Country Link
JP (1) JP4851497B2 (ko)
KR (1) KR101004829B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4971917B2 (ja) * 2007-09-11 2012-07-11 日本放送協会 署名生成装置、署名検証装置、グループ管理装置、およびそれらのプログラム
JP2011114504A (ja) * 2009-11-26 2011-06-09 Okayama Univ 匿名認証システム
KR20120039133A (ko) 2010-10-15 2012-04-25 삼성전자주식회사 인증정보를 생성하고 인증정보를 증명하는 장치 및 방법
KR101136119B1 (ko) 2010-11-23 2012-04-17 순천향대학교 산학협력단 Abm 기반 그룹키 관리 방법
CN103312670A (zh) * 2012-03-12 2013-09-18 西安西电捷通无线网络通信股份有限公司 一种认证方法及系统
CN103312499B (zh) * 2012-03-12 2018-07-03 西安西电捷通无线网络通信股份有限公司 一种身份认证方法及系统
JP2020068437A (ja) * 2018-10-23 2020-04-30 株式会社アメニディ アクセス管理装置、及びプログラム
IL275947A (en) * 2020-07-09 2022-02-01 Google Llc Anonymous Event Confirmation
IL275954A (en) * 2020-07-09 2022-02-01 Google Llc Anonymous event confirmation with group signatures

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
2nd IEEE Workshop on Digital Object identifier, A proposal of anonymous IEEE 802.1X authentication protocol for wireless networks, pp.26-31 (2006)*
IPCCC 2006, A group signature scheme with signature claiming and variable linkability, pp.497-504 (2006.04)*

Also Published As

Publication number Publication date
KR20090008162A (ko) 2009-01-21
JP4851497B2 (ja) 2012-01-11
JP2009027708A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
US8078876B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
AU2022224799B2 (en) Methods for secure cryptogram generation
US8356181B2 (en) Apparatus and method for a direct anonymous attestation scheme from short-group signatures
US7490070B2 (en) Apparatus and method for proving the denial of a direct proof signature
US7844614B2 (en) Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation
US8924728B2 (en) Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
KR101004829B1 (ko) 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법
US11070542B2 (en) Systems and methods for certificate chain validation of secure elements
JP4635009B2 (ja) 通信における証明された秘密値の使用
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
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
KR20120091618A (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
CN101359986B (zh) 用于根据双线性映射的直接匿名证明的装置和方法
CN116707983A (zh) 授权认证方法及装置、接入认证方法及装置、设备、介质
KR101371054B1 (ko) 일회용 비밀번호와 서명 패스워드를 이용한 비대칭키 전자 서명 및 인증 방법

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