KR100969740B1 - 디지털 서명 및 인증을 위한 시스템 및 방법 - Google Patents
디지털 서명 및 인증을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR100969740B1 KR100969740B1 KR1020080122694A KR20080122694A KR100969740B1 KR 100969740 B1 KR100969740 B1 KR 100969740B1 KR 1020080122694 A KR1020080122694 A KR 1020080122694A KR 20080122694 A KR20080122694 A KR 20080122694A KR 100969740 B1 KR100969740 B1 KR 100969740B1
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- data
- secret
- public key
- secret data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- 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
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
-
- 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
- H04L9/32—Cryptographic 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
-
- 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
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
피인증자 장치측에 아무런 연산 유닛도 요구하지 않고, 공개 키의 인증, 또는, 디지털 서명을 행하기 위한 메카니즘을 제공한다. 메모리만의 구성에서 인증과 디지털 서명을 행하기 위한 시스템 및 방법은, 판독에 의해 그 콘텐츠가 파괴되는 데이터의 비밀 어레이를 저장한 리드 원스 메모리 유닛과, 암호화된 어레이와, 암호화 어레이를 단일의 공개 키에 대하여 증명하는 트리 데이터와, 그리고, 인증국 장치에 의해 발행되는 공개 키의 증명서를 저장한 통상의 메모리를 구비하며, 그들 메모리 구성은, 그 공개 키와 증명서를 피인증자 장치에 송신하고, 리드 원스 메모리 유닛 내에서, 엘리먼트에 의해 서명된 요구를, 비밀 어레이로부터 수신한다. 인증 시스템은, 리드 원스 메모리로부터 밝혀진 데이터가 신뢰 가능한지의 여부를, 그것을 암호화하여 그 결과를 암호화 어레이의 하나의 데이터와 비교함으로써 체크하고, 그리고, 암호화 어레이가 공개 키에 대하여 증명하는지의 여부를, 트리 데이터를 이용하여 확인한다. 마지막으로, 인증자 장치는, 공개 키가 신뢰 가능한지의 여부를 증명서를 이용하여 체크한다.
디지털 서명, 인증자 장치, 공개 키, 암호화 시스템,연산 유닛
Description
본 발명은, 매우 제한된 계산 능력이어도, 또는, 전혀 계산 유닛이 없어도, 공개 키 암호화 시스템을 이용하여, 장치나 디지털 콘텐츠의 서명을 안전하게 인증하는 방법 및 장치에 관한 것이다.
인증은, 해적 행위, 미인증의 카피 또는 위조를 단속하기 위해서, 중요한 역할을 맡고 있다. 이러한 인증은, 예를 들면, 패스포트의 소유자를 인증하거나, 또는, 반 위조를 목적으로 한 무선 통신 가능한 칩을 매설한 안전한 패스포트에도 채용되고 있으며, 거기에서는, 인증용 칩이 제조물의 출처를 인증한다. 또한, 저작권으로 보호된 디지털 미디어는, 해적 행위 등의 미인증 행위를 방지하기 위해서, DRM(Digital Right Managements)으로서 알려진 인증용 토큰을 포함하고 있다. 그 결과, 그들을 지지하는 기기(CD, DVD, 메모리 카드, 그 밖의 마찬가지의 메모리 장치)는, 종종, 인증 메카니즘을 구비하고 있다. 마지막으로, 인증은, 경합자가 제품을 리버스 엔지니어링하는 것을 방지하고, 또한, 제품을 염가로 대량 생산하기 위해서도 유용하다. 예를 들면, 경합자에 의해 제조된 재충전용(리필) 키트나 가 짜의 카트리지의 사용을 방지하기 위해서, 인증용 칩을 프린터 카트리지에 장착할 수도 있다.
인증은, 피인증 장치(prover)가 그 특정을 위한 증거를 인증 장치(verifier)에 제시하는 프로토콜로 구성되어 있다. 통상적으로,인증 장치는, 피인증 장치만이 해결 가능한 요구(챌린지: challenge)를 송부한다. 이 요구가 대칭 키 암호법에 의존하고 있는 경우에는, 피인증 장치 및 인증 장치는 공통의 비밀 키를 공유하고 있으며, 그것에 대하여, 공개 키 암호법의 경우에는, 피인증 장치만이 비밀 키를 소유하고, 그리고, 어느 인증 장치도, 피인증 장치에 의해 제공되는 요구의 해를 확인(체크)할 수 있다.
RFID 칩은, 가까운 장래, 인증을 위한 수단으로서 이용되는 것이 기대되고 있지만, 그러나, 현재의 기술에서는, 태그 정보, 즉, 무선 송신을 이용하여 암호화하지 않고 송신되는 고유한 ID 번호의 기록에 이용되고 있을 뿐이다. 그 때문에, 송신 주파를 수신할 수 있는 누구라도, 그 태그 정보를 알고, 그 후에, 그 클론을 만들 수 있다. 대칭 키 암호법에 기초하는 프로토콜을 이용하는 것은, 피인증 장치와 인증 장치와의 교신을 암호화하는 것이 가능하기 때문에, 보다 좋은 해결 방법이다. 그러나, 비밀 키가 피인증 장치와 인증 장치에서 공유되기 때문에, 인증 장치가 불성실하거나 또는 신용을 떨어뜨린 경우에는, ID 사기가 발생할 수 있다. 또한, 대부분의 시나리오에서는, 하나의 인증 장치가 많은 피인증 장치를 인증해야만 하며, 그 때문에, 단 하나의 인증 장치가 신용을 떨어뜨리면, 모든 비밀 키가 밝혀지고, 그리고 모든 피인증 장치도 마찬가지로 신용을 떨어뜨리는 것으로 된다. 그 뿐만 아니라, 반 위조 시스템의 틀 내에서는, 인증 장치는, 개별의 제품이 아니라, 제품 라인의 전체를 인증 가능하게 해야 한다. 제품 라인이 수백만의 유닛으로 이루어지는 경우, 그 모든 키를 저장하는 것은 불합리한 일이다. 이 경우, 일견하여, 각 유닛에 대하여 하나의 비밀 키를 갖는 대신에, 전체 라인에 대하여 하나의 키를 구비하도록 하는 것은, 보다 좋은 아이디어이기는 하다. 그러나, 불행하게도, 단 하나의 유닛이 위험하게 되면, 제품의 전체 라인의 신용이 위험하게 된다.
그를 대신하여, 공개 키 암호 시스템이, 특히, 디지털 서명이, 인증의 목적을 위해 이용될 수 있다. 인증 장치는 랜덤한 메시지를, 그 비밀 키를 이용하여 메시지에 서명한 피인증 장치에 송신한다. 그리고, 인증 장치는, 비밀 키가 아니라, 피인증 장치의 공개 키만을 이용하여 서명을 인증함으로써, 피인증 장치의 신원을 확인할 수 있다. 공개 키 암호법에 기초하는 인증 시스템에서는, 인증 장치는 피인증 장치의 비밀 키를 모르기 때문에, 인증 장치가 피인증 장치를 가장할 수 없다고 하는 이점을 갖는다. 또한, 공개 키 인프라 스트럭쳐를 이용함으로써, 제품 라인의 인증이 용이하게 가능하게 된다. 즉, 피인증 장치는, 요구에 디지털적으로 서명하고, 그리고, 그 공개 키와 함께, 인증국 장치(Certificate Authority)에 의해 서명되고, 피인증 장치의 비밀 키의 디지털 서명을 포함한 피인증 장치의 공개 키를 위한 증명서(Certificate)를 제공한다. 따라서,인증 장치는, 피인증 장치의 신원을 확인하기 위해서, 양쪽의 서명을 인증할 수 있다. 이러한 어프로치는, 개별 유닛의 공개 키가 아니라, 증명을 위한 인증 수단(예를 들면, 전제품 라 인을 위한 단일의 공개 키이며, 이 공개 키는 제조 회사로부터 얻어짐)을 저장해야만 한다고 하는 인증 장치에의 저장 요구를 제거할 뿐만 아니라, 간단한 취소 기구도 포함하고 있다. 어떤 피인증 장치의 비밀 키의 신용이 상실된 경우에는, 해당 피인증 장치의 공개 키는, 모든 인증 장치로 하는 블랙 리스트 내에 보내도 된다.
[특허 문헌 1] 미국 특허 제5,032,708호
[비특허 문헌 1] 파이어트 아모스, 샤밀 아디 「어떻게 당신 자신을 증명할까 ; 특정 및 서명 문제에의 실용적 해결」CRYPTO 1986: 186-194
[비특허 문헌 2] 멜크레 C. 랠프「인증된 디지털 서명」CRYPTO 1989: 218-238
공개 키 암호법 및 디지털 서명을 기초로 하는 인증 시스템은, 이하의 문제점을 갖고 있다. 즉, 디지털 서명을 구성하기 위해서, 피인증 장치는 어떠한 연산 능력을 가져야만 한다. 가장 전형적인 디지털 서명의 스킴에서는, 상당한 연산 능력이 요구된다. 그러나, 인증 메카니즘에서 볼 때 유용할 많은 플랫홈은, 강력한 연산 유닛을 구비하지는 않고, 오히려, 종종, 연산 유닛을 전혀 구비하지 않은, 즉, 그들은 순수한 메모리 유닛이다. 예를 들면, CD, DVD, SD 카드나 그 밖의 메모리 카드 등, 착탈식의 메모리 매체는, CPU를 구비하지 않고, 메모리만으로 구성되어 있다. 그 때문에, 이러한 플랫홈은, 공개 키 암호법을 기초로 하는 인증 방법으로부터 이익을 수취할 수 없다.
특허 문헌 1에는, 퓨즈를 구비하여 1회 재기입 가능한(Read-Once) 어레이를 이용하고, 피인증 장치측에서 연산을 행하지 않고 인증을 실현하기 위한 발명이 개시되어 있다. 그러나, 해당 문헌의 발명에서는, 확인 장치에 의해 제공되는 응답을 증명하기 위해서, 인증 장치에는, 비밀 키를 저장하는 것이 요구되기 때문에, 기본적으로는, 대칭 키 인증 프로토콜로 된다.
따라서, 본 발명의 목적 및 이점은, 상기 특허에 기재된 발명의 목적 및 이점 외에, 확인 장치측에는 어떠한 연산 유닛을 요구하지 않고, 공개 키의 인증, 또는, 디지털 서명의 메카니즘을 제공하는 것에 있다. 또 다른 목적 및 이점은, 이하의 기재 및 도면을 고려함으로써 보다 명백해 질 것이다.
피인증 장치(prover)는, 비밀 데이터를 저장한 특별한 메모리 유닛인, 소위, 리드 원스 메모리 유닛을 구비한다. 이 유닛에 의해 저장된 데이터는, 어레이 형상으로 배치된 몇 개인가의 쌍(Ui, Di)으로 구성되어 있으며, 거기에서는, 각 쌍 내의 2개의 엘리먼트의 한 쪽만을 판독할(취출할) 수 있다. 쌍(Ui, Di) 중 하나의 엘리먼트가 판독된 후에는, 해당 쌍 전체가 메모리로부터 소거된다.
리드 원스 메모리(Read-Once Mmemory) 외에, 피인증 장치는, 쌍(Ui, Di)을 피인증 장치의 공개 키에 대하여 증명하기 위한 인증 데이터를 저장하기 위한 다른 메모리 유닛도 구비하고 있다. 그 유닛 상에는, 피인증 장치는, 그 공개 키와 그 증명서를 저장하고 있다. 디지털 데이터에 서명을 행한 경우, 또는, 인증 프로토 콜에서의 요구에 응답한 경우에는, 피인증 장치는, 몇 개인가의 쌍에서의 한쪽의 엘리먼트 Ui 또는 Di를 밝히고, 그 판독에 수반하여 파괴된다. 밝혀지는 엘리먼트의 선택은, 서명 또는 요구의 비트에 따라서 행해진다. 또한, 피인증 장치는, 밝혀진 엘리먼트를 위한 인증 데이터를 제공한다.
밝혀진 엘리먼트 Ui 또는 Di는, 피인증 장치의 공개 키에 대하여 인증을 행하고, 그리고, 공개 키는 인증되어 있기 때문에, 피인증 장치는, 바로, 데이터를 밝히고 그리고 전송하는(취출하는) 것만으로, 어떠한 연산도 없이, 자신을 증명하거나 또는 데이터를 서명할 수 있다. 그 결과, 해당 메모리 유닛에 의해, 경우에 따라서는 간단한 메모리 컨트롤러에 의해, 피인증 장치는, 인증, 또는, 디지털 서명의 발생, 또는, 공개 키의 인증을 달성하기 위해서 사용 가능한, 강력한 공개 키 암호화 기술을 이용하는 것이 가능하게 된다.
이하, 본 발명의 실시 형태에 대하여, 첨부의 도면을 참조하면서, 상세히 설명한다.
<실시예 1>
우선,실시예 1로서, 메모리만의 플랫홈에 의한 공개 키 인증 및 디지털 서명을 위한 시스템에 대하여, 이하에 설명한다.
이 제1 실시예에서,시스템은, 네트워크에 의해 접속된, 적어도 3개의 개별 엘리먼트에 의해 구성되어 있으며, 즉, 적어도 1개의 피인증 장치(prover)와, 적어도 1개의 인증 장치(verifier)와, 그리고, 인증국 장치(Certificate Authority)로 구성되어 있다. 인증국 장치의 역할은, 피인증 장치의 메모리 내에 저장된 데이터를 기동하고, 피인증 장치를 위한 증명서를 발행하는 것이다. 그 외에 인증국 장치는, 신용을 상실한 인증 장치의 블랙 리스트를 유지하고, 그리고, 블랙 리스트를 정기적으로 모든 인증 장치에 전송한다.
이 시스템에서는,공개 키 인프라스트럭쳐(Public-Key Infrastructure)를 이용함으로써, 어떠한 피확인 장치도, 어떠한 인증 장치에 의해 인증할 수 있다. 이 시스템은, 이하의 3개의 파라미터를 갖는다.
- 피인증 장치에 의해 서명될 요구(챌린지)의 사이즈인 안전성 파라미터 「n」
- 피인증 장치에 의해 서명할 수 있는 서명의 수인 유용성 파라미터 「p」
- 해시 함수 「H」 및 그 출력 사이즈 「h」
우선,인증 시스템에 대하여, 첨부의 도 1을 참조하면서 상세히 설명한다.
이 시스템은, 메모리만의 플랫홈이며, 적어도 하나의 피인증 장치(prover)(101)와, 적어도 하나의 인증 장치(verifier)(121)와, 그리고, 인증국 장치(Certificate Authority)(141)로 구성되어 있다. 피인증 장치(101), 인증 장치(121) 및 인증국 장치(141)는, 네트워크(161)에 의해 접속되어 있다. 피인증 장치(101)는, 입출력 인터페이스(102)와, 리드 원스 메모리 유닛(Read-Once Memory Unit)(103)과, 리드 온리 메모리 유닛(Read Only Memory Unit)(105)과, 그리고, 리 드/라이트 메모리 유닛(Read-Write Memory Unit)(106)으로 구성되어 있다. 인증 장치(121)는, 입출력 인터페이스(122)와, 연산 유닛(132)과, 그리고, 메모리 유닛(Memory Unit)부(131)를 구비한다. 인증국 장치(141)는, 입출력 인터페이스(142)와, 연산 유닛(Computation Units)(152)과, 그리고, 메모리 유닛(Memory Units)(151)을 구비하고 있다.
피인증 장치(101)와 인증 장치(121)는, 인증 프로토콜에 관계될 수 있으며, 거기에서는, 인증 장치(121)는 랜덤한 요구(Random Challenge)(164)를 피인증 장치(101)에 보내고, 그리고, 피인증 장치(101)는, 요구의 디지털 서명(163)에 의해 응답한다. 서명이 올바른 경우에는, 인증은 성공이다. 인증국 장치(141)의 역할은, 피인증 장치(101)의 메모리 유닛을 초기화 데이터(Initialization Data)(162)로 채우고, 그리고, 피인증 장치(101)의 공개 키의 증명서를 발행하는 것이다. 또한, 이 인증국 장치(141)는 신용을 상실한 공개 키의 블랙 리스트(126)를 유지하고 있으며, 이 리스트는, 네트워크(161)에 접속되어 있는 모든 인증 장치(121)에 송신된다.
다음으로,피인증 장치에 대하여, 첨부의 도 2를 참조하면서 상세히 설명한다.
피인증 장치(101)는, 어떠한 CPU도 구비하지 않으며, 메모리 유닛(103, 105, 106)과 입출력 인터페이스(102)로 구성되어 있다. 그 리드 원스 메모리 유닛(103)은, p개의 비밀 어레이(104), 즉, A0, …, Ap -1을 저장하고 있으며, 여기에서, 하나 의 어레이에 저장된 데이터는, 하나의 인증에만 사용할 수 있다. 그 결과, 피인증 장치(101)는, 한정된 횟수만큼, 즉, p회 밖에 인증할 수 없다. 각 비밀 어레이(104)는, h비트의 2n개의 데이터 블록, U0,…, Un -1, D0 , …, Dn - 1으로 구성되어 있다. 리드 온리 메모리 유닛(105)은, 어레이의 인덱스(0≤i≤p-1), 및, 데이터 블록의 인덱스(0≤j≤n-1), 그리고, 데이터 블록의 라인(D 또는 U)에 의해 어드레스된다.
어레이 Ai 내의 어떤 데이터 블록 Ui를 판독할 때에는, 데이터 블록 Ui가 입출력 인터페이스(102)에 보내지고, 그리고, Ui와 Ui의 양자가 삭제된다. 마찬가지로, Di를 판독할 때에는, Ui와 Ui의 양자가 삭제되게 되고, 그 때문에, 리드 원스 메모리(Read-Once Memory)의 이름과 같이, 그 메모리 내용(Memory Contents)은 판독에 수반하여 파괴된다.
피인증 장치(101)는, 액티브 어레이를 선택하기 위해서 사용하는 인덱스(0≤i≤p-1)와 함께, 카운터(계수기)(107)를 그 내부에 저장한 리드/라이트 메모리 유닛(Read-Write Memory Unit)(106)을 구비한다. 어레이 Ai가 하나의 인증에 사용되며, 또한, 그 데이터가 완전히 지워진 후에, 카운터(107)의 값이 i+1로 업데이트 된다.
마지막으로, 피인증 장치(101)는, 리드 온리 메모리 유닛(105)을 구비하며, 거기에서는, 데이터는 아무런 제한도 없이 자유롭게 액세스할 수 있다. 이 리드 온리 메모리 유닛(105)은, 피인증 장치(101)를 일의로(uniquely) 특정하는 특정 번호(112)와, 피인증 장치(101)의 공개 키(108)와, 인증국 장치(141)에 의해 발행된 공개 키(108)를 위한 증명서(109)와, 2p-1개의 데이터 블록(T1, …, T2p-1)을 포함하는 데이터 트리(110)와, 그리고, p개의 암호화 어레이(111)(즉, C0, …, Cp-1)를 저장하고 있다. 각 암호화 어레이는 2n개의 데이터 블록(U0, …, Un -1 및 D0, …, Dn -1)을 포함하며, 거기에서는, 암호화 어레이 Ci로부터의 하나의 데이터 블록(Uj 또는 Dj)은, 해시 함수 H로 암호화된 어레이 Ai로부터의 데이터 블록(Uj 또는 Dj)에 대응하고 있으며, 즉, Ci[Dj]=H(Ai[Dj]) and Ci[Uj]=H(Ai[Uj])로 되어 있다. 예를 들면, 해시 함수 H는 MD5이며, 즉, 인증 장치(121)의 해시 함수와 동일한 해시 함수이어도 된다. 암호화 어레이(111) 및 데이터 트리(110)는, 리드 원스 메모리(103) 내의 비밀 어레이(104)로부터의 데이터 블록이 피인증 장치(101)의 공개 키(108)인 것을, 후에 설명하는 메카니즘에 의해 증명하기 위해서 사용할 수도 있다.
다음으로,인증 장치(121)와 인증국(141)에 대하여, 첨부의 도 3을 참조하면서 설명한다.
인증 장치(121)는, 몇 개인가의 연산 유닛, 즉, CPU(128)를 구비하며, 그리고, 가능하면, 임의 사이즈의 입력 X를 위해 해시값(H(X))을 연산하는 것이 가능한 암호용의 코프로세서(129)를 구비하여도 된다. 예를 들면, 이 해시 함수는, 잘 알려진 MD5이어도, 또는, 다른 어떠한 해시 함수이어도 된다. 또한,여기서, 해시 함수가 임의 길이의 입력 데이터를 h비트의 고정 길이의 출력에 맵핑하는 기능을 갖는 것에 유의하길 바란다. MD5의 경우, 해시 출력 사이즈는 =128 비트이다. 또한, 인증 장치는, 랜덤한 요구(164)를 발생하기 위한 난수 발생기(130)도 구비하고 있다.
인증 장치(121)는, 또한,피인증 장치(101), 인증국 장치(141), 또는 다른 장치와 통신 네트워크(161)를 통해서 통신하기 위한 입출력 인터페이스(122)를 구비한다. 마지막으로, 인증 장치(121)는 메모리 유닛을, 즉, 일시적 데이터를 저장하기 위한 휘발성 메모리(123)와, 그리고, 프로그램(127)과 함께, 더구나 또한 인증국 장치(141)의 공개 키(125)와 블랙 리스트(126)도 저장하는 불휘발성 메모리(129)를 구비한다. 블랙 리스트는, 신용이 떨어진 것이 알려진 모든 공개 키를 포함하며, 그리고, 소프트웨어의 업데이트 중에 새로운 블랙 리스트를 전송하는 인증국 장치(141)에 의해, 업데이트(갱신)된다.
인증국 장치(141)는, 기본적으로는, 인증 장치(121)와 동일한 몇 개인가의 구성 요건을, 즉, 입출력 인터페이스(142)와, CPU(148)와, 해시값(149)을 연산하기 위한 코프로세서와, 난수 발생기(150)와, 인증국 장치의 공개 키(125)와 블랙 리스트(126)와 프로그램(147)을 저장하기 위한 불휘발성 메모리(144)와, 그리고, 휘발성 메모리(143)를 구비한다. 또한, 인증국 장치(141)는, 그 프라이빗 키(146)를 불휘발성 메모리(144) 내에 저장하고 있으며, 그리고, 디지털 서명 및 증명서를 발생하기 위한 연산용 코프로세서(153)를 구비하여도 된다. 인증국 장치(141)의 역할은, 피인증 장치의 비밀 어레이(104)를 위한 초기화 데이터(134)와 함께, 암호화 어레이(111)와 트리 데이터(110)도 발생하는 것이다. 또한, 인증국 장치(141)는, 피인증 장치의 공개 키(108)의 증명서를 발행할 수도 있다. 마지막으로, 인증국 장치(141)는, 모든 신용이 상실된 공개 키에 의해 블랙 리스트(126)를 유지한다. 즉, 신용이 상실된 칩이 인증을 행하는 것을 방지하기 위해서, 피인증 장치(121)의 소프트웨어의 업데이트 중에, 그 블랙 리스트(126)가 모든 인증 장치(121)에 전송된다.
계속해서, 인증 프로토콜에 대하여, 첨부의 도 4를 참조하면서 상세히 설명한다.
피인증 장치(101)는, 스텝 211에서 인증 장치(121)에 보내지는 인증 요구에 의해, 인증 프로토콜을 개시할 수 있으며,이 인증 요구에는, 피인증 장치의 공개 키(108), 증명서(109), 카운터 값(107), 그리고 ID(112)를 포함한다. 카운터(값)는, 아직 사용되지 않은 어레이 Ai의 인덱스에 대응하고 있다.
다음으로,스텝 221에서는, 인증 장치(121)는, 공개 키(108)가, 신용을 상실한 키의 블랙 리스트(126) 내에 존재하는지의 여부를 확인하고, 해당 공개 키가 블랙 리스트 내에 있는 경우에는, 인증은 실패한다. 만일 공개 키가 블랙 리스트 내에 없는 경우에는, 인증 장치(121)는, 스텝 222에서 증명서를 인증한다. 이 증명서는, 인증국 장치(141)에 의해 서명된, 피인증 장치의 공개 키(108)의 디지털 서명을 포함한다. 증명서가 유효하지 않은 경우에는, 인증은 실패한다. 증명서가 유효한 경우에는, 인증 장치(121)는, 랜덤한 n비트의 메시지(164)를 송신한다. 이 메시지는, 인증 프로토콜의 요구(challenge)이며, 그리고, 피인증 장치(1O1)에 의해 서명되어야만 한다.
그 후, 피인증 장치(101)는, 어레이 Ai(104) 내의 데이터 블록을 액세스함으로써 요구에 서명하고, 거기에서의 「i」는 스텝 211에서 송신된 카운터(계수 값)이며, 「U0 또는 D0」는 요구의 「O」비트에 의존하고, 「U1 또는 D1」은 요구의 「1」비트에 의존하고 있으며, 그리고, 이것은 「n-1」비트까지 마찬가지이다. 또한, 피인증 장치(101)는, 대응하는 암호화된 데이터 블록으로부터의 암호화된 어레이 Ci(111)와, 어레이 Ai(104)로부터의, 데이터 블록을 증명하는 데이터 트리(110)로부터의 엘리먼트를 공개 키(108)에 송신한다. 피인증 장치(101)에 의해 인증 장치(121)에 송신된 서명(163)은, 어레이 키 Ai와 Ci, 그리고, 트리 데이터로부터의 데이터 블록에 의해 구성된다.
서명을 수신하면,인증 장치(121)는, 스텝 241에서, Ci로부터의 암호화된 데이터 블록과 트리 데이터를 이용하여, 어레이 Ai로부터의 데이터 블록이 공개 키(1O8)에 대하여 인증하고 있는 것을 체크함으로써, 서명을 인증한다. 서명이 유효하지 않으면 인증은 실패이며, 한편,서명이 유효하면 인증은 성공으로 된다. 마지막으로, 스텝 253에서는, 인증 장치(121)가, 인증의 결과(성공 또는 실패), 인증 장치의 공개 키 및, 피인증 장치(101)에 의해 이용된 인덱스를 포함하는,프로토콜의 로그를 기입한다.
다음으로,메모리의 초기화에 대하여, 첨부의 도 5를 참조하면서, 이하에 상세히 설명한다.
사용되기 전, 피인증 장치(101)의 메모리 유닛은, 적절한 데이터에 의해 초기화되어야만 하며, 즉, 리드 원스 메모리 유닛(103)은, 그 비밀 어레이 Ai (104) 내에 비밀의 데이터 블록을 저장하고, 암호화 어레이(111)는, 비밀 데이터 블록의 암호화된 값을 저장하고, 트리(110)는, 해시 함수 H와 쌍으로 조합된 암호화된 데이터 블록과, 어떤 고유한 ID 번호와 조합된 트리 T1의 근(루트: 도 8을 참조)으로부터 연산된 공개 키(108)로 구성되어 있다. 피인증 장치(101)는, 기본적으로는, 메모리 유닛으로 구성되어 있으며, 그 자신에 의한 초기화에 의해, 요구되는 연산을 실행할 수 없으며, 그 대신, 모든 연산은, 인증국 장치(141)에 의해 외부에서 실행된다. 인증국 장치(141)에 의해 연산된 초기화 데이터(134)는, 간단히, 네트워크(161)를 통하여, 피인증 장치(101)에 송신되고, 그리고, 피인증 장치의 메모리 유닛 위에 저장된다.
처음으로, 스텝 301∼322에서는, 서명 수 p와 메시지 길이 n을 입력하고, 비밀 어레이(104)가 랜덤 데이터 블록(Random Data Block)에 의해 초기화된다.즉, 블록 Ai[U0]와 Ai[D0]가, 그리고, 마찬가지로 하여, Ai[Un -1], Ai[Dn -1]까지가, 난수 발생기 유닛(Random Number Generator Unit)(150)을 이용한 인증국 장치(141)에 의해 발생된 랜덤 데이터로 채워진다. 그 후, 암호화된 어레이(111)의 대응하는 블록이, 해시 함수로 처리된 비밀 블록으로 채워지고, Ci[U0]=H(Ai[U0]), Ci[D0]=H(Ai[D0])로 되고, 그리고, 마찬가지로 해시 함수 유닛(149)을 사용하여, Ci[Un -1]=H(Ai[Un -1]), Ci[Dn -1]=H(Ai[Dn -1])로 된다. 다시 설명하면,이들 연산은 인증국 장치(141)에 의해 실행된다. 즉, 일단, 모든 블록 데이터가 준비되고, 네트워크(161)를 통하여, 인증국 장치로부터 피인증 장치(101)에 전송되게 된다.
비밀 어레이(104)와 암호화된 어레이(111)가 채워진 후에, 트리 데이터가 초기화되어야만 한다. 처음에, 트리의 p매(개)의 리프(葉) Tp, …, T2p -1이 인증국 장치(141)에 의해 준비되며, 그리고 각 리프는 하나의 암호화된 어레이에 관련지어진다. 보다 상세하게는, 스텝 332에서, 암호화된 어레이 Ci 내에 저장된 2n개의 데이터 블록이 연쇄 형상으로 연결되며, 그리고, 해시 함수 모듈(149)에 의해 처리된다.
Ti +p=H(Ci[U0]||Ci[D0]||Ci[U1]||Ci[D1]|| …||Ci[Un -1]||Ci[Dn -1]), 여기서, X||Y는 2개의 비트 스트링의 연쇄를 나타낸다. 지금, 트리의 리프 Tp, …. T2p -1이 준비되면,트리의 남은 노드는, 스텝 342에서 연산할 수 있다. 실제로, 트리 내의 남은 노드는, 그 노드의 2개의 차일드를 해싱(hashing)함으로써 간단히 연산할 수 있다. 즉, 노드 Ti는 2명의 차일드 T2i와 T2i +1을 갖고 있으며, 그 때문에, 블록 Ti의 값은, 해시 함수 모듈(149)에 의해 연산되고, H(T2i||T2t +1)로 된다. 그러나, 이와 같은 트리의 준비는, 후에 인증용 토큰을 발생하기 위해서는 불편하 고, 그 때문에, 트리 블록의 모든 쌍은 교환되며, 즉, 스텝 352에서, T2i는 T2i +1이고, 그리고 T2i +1은 T2i로 치환된다. 일단, 모든 트리 블록이 처리되면, 그들은, 네트워크(161)를 통하여, 인증국 장치(141)로부터 피인증 장치(101)에 전송된다.
그리고나서, 스텝 353에서는, 피인증 장치(101)의 공개 키(108)가, 트리 T1의 근과 피인증 장치(101)를 일의로 특정하는 특정(ID) 번호 112로부터 연산된다. 예를 들면, 이 ID 번호는, 제품 ID라 할 수가 있고,또는, 피인증 장치(1O1)가 어떤 디지털 콘텐츠를 저장하고 있는 경우에는, 그 디지털 콘텐츠의 비트값으로 할 수도 있다. 어떠한 경우에도, 공개 키는, H(T1||ID)라고 정의되며, 그리고, 리드 온리 메모리 유닛(105) 내에 저장된다. 그 후, 인증국 장치(141)는, 공개 키(108)의 증명서(109)를 발행하고(스텝 354), 이 증명서는 해당 공개 키의 디지털 서명을 포함하며, 피인증 장치(101)에 송신된다. 증명서(109)는 리드 온리 메모리 유닛(105) 내에 저장된다. 마지막으로, 리드/라이트 메모리 유닛(106) 내의 카운터(107)가 「0(영)」으로 초기화된다.
다음으로,서명의 발생에 대하여, 첨부의 도 6을 참조하면서, 상세히 설명한다.
인증 처리에서는, 스텝 231(도 4를 참조)에서, 랜덤 요구(164)의 서명(163)이 피인증 장치(101)에 의해 발생되는 것에 유의하길 바란다. 이하에서는,이 인증이 어떻게 하여 발생되는지에 대하여 설명한다. 랜덤한 요구는 n개의 비 트(m=(m0, …, mn -1)2)로 구성되며, 그리고, 네트워크(161)를 통해서 인증 장치(121)로부터 피인증 장치(101)에 송신된다. 요구를 받은 후, 피인증 장치(101)는, 카운터(107)의 값을 밝힌다(도 4에서 「i」로 나타냄). 이 카운터는, 비밀 어레이 Ai의 하나와, 대응하는 암호화된 어레이 Ci를 초기화한다. 그리고나서, 요구 m의 비트 mj가 스캔(주사)되고, 그리고, 스텝 421∼424에서, 2n개의 서명 블록, 즉, S0,0, S0,…, Sj,0, Sj,1 … Sn -1,0, Sn -1,1이 발생된다. 여기에서, 각 서명 블록은, 비밀 어레이 Ai(104) 또는, 암호화된 어레이 Ci(111)의 한쪽으로부터, 취출된다. 이 서명을 발생하기(「취출하기」) 위해서는, 피인증 장치(101)는, 간단히, 그들 어레이(104 및 111)로부터 데이터를 선택하고, 그리고, 밝히는 것만이며, 아무런 연산도 필요로는 하지 않는다. 보다 상세하게는:
- 메시지 비트 mj가 0인 경우, 스텝 422에서, 서명 블록(Sj,O, Sj,1)은 (Ai[Uj], Ci[Dj])이 되고,
- 메시지 비트 mj가 1인 경우, 스텝 423에서, 서명 블록(Sj,O, Sj,1)은 (Ci[Uj], Ai[Dj])로 된다.
양 스텝 422와 423에서, Ai[Uj] 및 Ai[Dj]의 한쪽만이 서명(163) 내에 전송되는 것에 유의하길 바란다. 그러나, 리드 원스 메모리(103)의 특성에 의하면, 그들은 양자 모두 파괴되어 있다. 본 기술(발명)의 특징점은, 하나의 메시지 비트에 대하여, 단 하나의 비밀 데이터 블록이 밝혀지는 것이며, 즉, 서명 후에서도 비밀 데이터 블록의 한쪽은 비밀리에 유지되기 때문에, Ai[Uj] 또는 Ai[Dj] 중 어느 한쪽, 그리고, 서명은 위조되는 일이 없는 것이다.
(Si,0, Si,1)을 위한 값이 선택된 후, 트리 테이블(110)로부터 1og2(p)개의 블록이 선택되어야만 하고, 여기에서 log2(p)는, 가장 가까운 정수로 반올림한(사사오입된), 서명 수 p의 2의 대수(logarithm in base 2)이다. 선택될 처음의 트리 블록은, 스텝 432에서, j=p+i로 한 P0=Tj이며, 그리고나서, log2(p)개의 트리 블록이 선택될 때까지, j는 반복적으로 둘로 분리된다. 마지막으로, 스텝 433에서, 서명(S0,0, …, Sn -1,1, P0, …, Plog2 (p)-1)(163)이, 네트워크를 통해서 인증 장치(121)에 송신된다.
다음으로,서명의 인증에 대하여, 첨부의 도 7을 참조하면서, 이하에 상세히 설명한다.
랜덤한 요구(164)의 서명에 대한 연산을 마친 후, 피인증 장치(101)는 인증 장치(121)에 서명(163)을 돌려보낸다. 이 시점에서, 스텝 241(도 4를 참조)에서는, 인증 장치(121)는, n-비트의 요구(m=(m0,…, mn -1)2)(164)의 서명(S0,0, …, Sn-1,1, P0, …, Plog2 (p)-1)(163)을 인증해야 한다. 이하에, 이 서명을 어떻게 하여 인증하는지에 대하여 설명한다.
서명(S0,0, …, Sn-1,1, P0, …, Plog2(p)-1)의 입력(스텝 521) 후, 우선,스텝522 와 523에서는, 인증 장치(121)는, 암호화된 어레이 Ci(111)의 모든 데이터 블록을 재연산(re-compute) 하고, 여기에서 「i」는, 스텝 211에서의 인증 프로토콜의 개시에서 인증 장치에 송신된 카운터(107)(의 값)이다. 보다 상세하게는, 요구 비트 m0, …, mn -1이 스캔되고, 그리고, mj가 영(O)이면, 스텝 522에서, 해시 함수 모듈(129)을 이용하여 C'j ,0가 H(Sj ,0)로서 연산되며, 여기에서, C'j ,1에는 서명 bloc Sj ,1이 부여된다. 실제로, 만일 요구 비트 mj가 영(0)이면, 스텝 422에서는, 서명 블록 Sj ,0와 Sj ,1이, 각각, Ai[Uj] 및 Ci[Dj]로서 선택되어 있다. 그 때문에, 스텝 231에서 피인증 장치에 의해 올바르게 발생되어 있으면, C'j ,0는 Ci[Uj]와 동일하며, C'j ,1은 Ci[Uj]와 동일하게 된다. 마찬가지로, 요구 비트 mj가 1이면, 서명 블록 Sj ,0는 C'j ,0에 카피되고, 그리고, C'j ,1에는 H(Sj ,1)가 설정된다.
모든 쌍(C'j ,0, C'j ,1)이 준비되면,스텝 531에서, 트리 데이터 블록 T'가 연산된다. 실제로는, 모든 C'j ,b의 값이 연쇄되고, 그리고, 스텝 531에서 해시 함수 H 129에 의해 해시(hash: 세분화)된다.
T'=H(C'0 ,0||C'0 ,1||C1 ,0||C1 ,1|| …||Cn -1,0||C'n _1,1)
만일 스텝 231에서 서명이 인증 장치에 의해 올바르게 발생되어 있으면, T'의 값은, 트리 데이터(110)로부터의 트리 블록의 값, 즉, 서명의 발생에서 스텝 432(도 6을 참조)에서 선택된 P0의 형제(sibling)와 일치하게 된다. 그 때문에, 이 노드는, 트리(11O)에서의 친 노드(parent node)를 연산하기 위해서, 서명 블록 P0와 조합하여도 된다. 보다 상세하게는, 스텝 532에서, 카운터 「i」는 「i+p」로 설정되고, 여기에서, 카운터 「i」(107)의 값은, 스텝 211에서 공개 키나 증명서와 함께 피인증 장치(101)로부터 수신되어 있다. 만일 「i」가 짝수이면, 스텝 552에서, T'는 해시 함수 모듈(129)을 이용하여 H(T'||P0)로 업데이트되며, 한편,홀수이면, 스텝 553에서, T'는 H(P0||T')로 업데이트 된다. 그런데, 서명이 올바르게 발생된 경우에는, T'는, 서명 블록 P1의 형제이기도 한 앞의 T'와 PO의 친 노드를 포함하게 된다. 다음으로,P1, P2, …, Plog2 (p)-1에 대해서도 동일한 수순이 반복되며, 그리고, 각 반복 후에는, T'의 값은 어느 한쪽의 트리 데이터 블록의 값과 일치할 것이며, 매회, 근에 1레벨씩 근접하게 된다(도 8의 근 T1). 마지막으로, T'는 근 T1의 값을 포함하고 있고, 그리고, 스텝 555에서는, 피인증 장치(1O1)의 공개 키(108)는, 연산 H(T'||ID)에 의해 재연산할 수 있으며,여기서 ID는 피인증 장치(101)의 특정 번호 112이다. 만일 공개 키가 연산 H(T'||ID)의 결과와 일치하면, 서명은 스텝 562에서 서명은 수용되고, 한편,일치하지 않으면, 스텝 563에서 거부된다.
계속해서, 전술한 인증 시스템에서의 데이터 구성의 일례에 대하여, 첨부의 도 8을 참조하면서, 이하에 상세히 설명한다.
도 8은, p=128개의 서명이 서명되고, 그리고, 요구가 n=4비트를 갖고 있는 경우, 데이터가 어떻게 하여 조직되는지에 대하여 나타낸다. 128개의 비밀 어레이 A0, …, A127, 그리고, 128개의 대응하는 암호화된 어레이 C0, …, C127이 존재한다. 각 어레이는 8개의 데이터 블록 U0, U1, U2, U3 및, D0, D1, D2와 D3 그리고, Ci[Uj]=H(Ai[Uj])와, 마찬가지로, Ci[Dj]=H(Ai[Dj])를 갖는다. 데이터의 초기화에서 사용된 해시 함수가 MD5라고 하면,h=128이며, 각 데이터 비트도 마찬가지로 128개의 비트를 갖는다.
트리 데이터(110)의 리프 T128, …, T255는, 처음에 아래와 같이 연산된다.
T128 +i=H(Ci[U0]||Ci[D0]||Ci[U1]||Ci[D1]||Ci[U2]||Ci[D2]||Ci[U3]||Ci[D3])
예를 들면,T154=H(C26[U0]||C26[D0]||C26[U1]||C26[D1]||C26[U2]||C26[D2]||C26[U3]||C26[D3]).
이다.
다음으로,친 노드를 2개의 차일드로 세분화하는(hashing) 연산, 즉, Ti=H(T2i||T2i +1)을 행한다. 예를 들면, T77=H(T154||T155)로 된다. 그러나, 트리 내의 모든 노드가 연산된 후, T255로부터 아래로 T1까지, 서명의 발생을 촉진으로 하기 위해서, 노드가 2개씩 즉, T2는 T3과, T4는 T5와 교환되며, 이하 마찬가지이다. 마지막으로, T154와 T155가 교환된다.
128비트로 이루어지는 8개의 데이터 블록과 함께, 128개의 비밀 어레이가 있으며, 그 때문에, 리드 원스 메모리 유닛(103)은, 16KB의 용량을 갖는다. 마찬가지로, 128비트로 이루어지는 8개의 데이터 블록과 함께 128개의 암호화된 어레이가 있으며, 그리고, 128비트로 이루어지는 255개의 트리 노드가 있고, 그 때문에, 그들의 엘리먼트를 저장하기 위해서, 리드 온리 메모리 유닛(105)은 20KB를 요구한다. 그러나, 그 외에, 리드 온리 메모리 유닛(105)은, 또한,공개 키(108)와 그 증명서(109)도 저장해야 한다.
다음으로, 서명의 발생에 대하여 설명한다. 카운터(107)가 26으로 설정되면,서명을 발생하기 위해서, 어레이 A26과 C26이 액티브로 된다. 예를 들면, 서명에 대한 4-비트의 요구를 m=(1001)2로 한다. 처음의 비트는 「1」이며, 그 때문에, 대응하는 서명 블록은 C26[UO], A26[DO]이다. 제2 비트는「0」이며, 그 때문에, 대응하는 서명 블록은 A26[U1], C26[D1]로 되고, 이하 마찬가지이다. 마지막으로, 서명 요구(1001)2의 처음의 부분은, (S0,0, S0,1, S1,0,S1,1,S2,0,S2,1,S3,0,S3,1)=(C26[U0], A26[D0], A26[U1], C26[D1], A26[U2], C26[D2], C26[U3], A26[D3])으로 된다.
다음으로,서명의 처음의 블록을 공개 키에 대하여 인증하기 위해서, 트리로부터의 노드를 선택해야 한다. 선택될 처음의 노드는, T155=H(C26[U0」|| …|| C26[D3])의 형제 노드, P0=Tp +26=T154이다. 다음 노드는, 노드 T155와 T154의 친 노드인 T76의 형제, P1=T154 /2=T77이다. 이 수순이 P6=T2로 될 때까지 반복된다.
그 후, 서명의 인증에 대하여 설명한다. 인증 장치(101)는, 처음에 공개 키(108)와, 본 예에서는 i=26인 카운터 값(107)을 수신한다. 서명(S0 ,0, …, S3,1)을 수신하고, 인증 장치(121)는, 해시 함수 모듈(129)을 이용하여, 암호화된 어레이 C26으로부터의 모든 데이터 블록을 재연산한다. 처음의 요구 비트가 「1」이기 때문에, 인증 장치(121)는 (C'0 ,0, C'0 ,1)=(S0 ,0, H(S0 ,1)을 연산한다. 「0」인 제2 요구 비트를 이유로, 인증 장치(121)는 (C'0 ,0, C'1 ,1)=(H(S1 ,0), S1 ,1)을 연산하고, 이하 마찬가지이다. 모든 요구 비트가 처리된 후, 인증 장치(121)는 이하의 어레이를 얻는다 :(C'0 ,0, C'0 ,l, C'1 ,0, C'1 ,1, C'2 ,0, C'2 ,1, C'3 ,0, C'3,1)=(S0,0,H(S0,1), H(S1 ,0),S1 ,1, H(S2 ,0), S2 ,1, S3 ,0, H(S3 ,1)).
만일 서명이 피인증 장치(101)에 의해 올바르게 발생되지 않는 경우에는, 이 어레이는 암호화된 어레이 C26과 동일한 데이터 블록을 가질 것이다. 실제로, (S0 ,0, S0,1)=(C26[U0], A26,[D00])인 것을 알 수 있으며, 그 때문에,
(C'0 ,0, C'0 ,1)=(C26[U0], H(A26[D0]))=(C26[U0], C26[D0])으로 된다.
마찬가지의 관측이 다른 서명 블록에 대해서도 행해진다. 인증 장치(121)는 암호화된 어레이를 재연산할 수 있지만, 인증 장치(121)는, 피인증 장치(101)로부 터, 암호화된 어레이가 정말로 처음에 암호화된 어레이와 동일한 것을, 또는, 암호화된 어레이가 진짜인(authentic) 것을 알 수는 없다. 그 때문에, 인증 장치(121)는, 공개 키(108)에 대하여 암호화된 어레이를 인증하기 위해서, 남은 서명 블록, 즉, 트리 블록을 사용한다.
처음에, 인증 장치(121)는, 해시 함수 모듈(129)을 이용하여 T'=H(C'0 ,0, C'0,1, C'1 ,0, C'1 ,1, C'2 ,0, C'2 ,1, C'3 ,0, C'3 ,1)을 연산한다. 만일 서명이 올바르게 발생되어 있으면, T'는 트리 노드 T155와 동일할 것이다(T154 and T155는, 데이터 초기화 단계에서 교환되어 있는 점에 유의). 인증 장치(121)는, 따라서,P0과 T'를 조합,즉, 처음에, 카운터 「i」를 「i+p=154」로 설정한다. 「i=154」이기 때문에, 인증 장치(121)는, 해시 함수 모듈(129)에 의해 T'=H(T'||P0)을 연산한다. 실제로, 만일 서명이 올바르게 발생되면, T'=T155 및 P0=T154이며, 그 때문에, T'의 업데이트된 값은 친 노드 T76으로 된다. 다음으로,「i」가 2에 의해 나눠지고, 「i=77」로 된다.「i=77」은 홀수이기 때문에, T'=H(P11||T')로 된다. 다시, 만일 서명이 올바르게 발생되면, T'의 업데이트된 값은 친 노드 T39일 것이다. P6까지의 모든 트리 블록이 이용된 후에, 만일 서명이 올바르면, 인증 장치(121)는, 트리의 근, 「T'=T1」을 연산하게 된다. 그리고 나서, 인증 장치(121)는, 간단히, H(T'||ID)가 공개 키(108)의 값에 일치하는지의 여부를 확인한다.
마지막으로, 이러한 구성의 안전성에 대하여 논의한다. 하나의 메시지 비트 mj에 대하여, 대응하는 서명 부분은 Ai[Uj],Ci[Dj] 또는 Ci[Uj], Ai[Dj]이다. 양쪽의 경우에, 비밀 블록 Ai[Uj], Ai[Dj]는 파괴되어 있고, 그 때문에, 그들의 한쪽은 아직 밝혀져 있지 않기 때문에, 비밀 상태 그대로이다. 그 결과, 그것을 위해서는 밝혀지지 않은 비밀 블록을 알 필요가 있기 때문에, 서로 다른 메시지 비트가 서명되는 일은 없다. 일례로서, 만일 메시지 비트가 mj=O이면, mj=1에 대한 서명의 위조는, 예를 들면, Ci[Dj]=H(Ai[Dj])와 같이, Ai[Dj]를 발견하는 것을 암시하고 있다. 그러나 이러한 태스크는, 예를 들면, 어떤 부여된 Y에 대한 프리 이미지 X를 발견하는 Y=H(X)라 불리며, 해시 함수의 특성에서는, 이것은 실현 불가능하다.
서로 다른 어프로치로서, 트리의 근 T1에 대하여 인증을 행하는 비밀 어레이 A'i를 주입하고자 하는 시도도 가능하다. 그 경우, 트리의 하부는, 진짜 트리와는 달리,예를 들면, T'i +p<>Ti+p이지만, 그러나, 어떤 점에서는, 2개의 트리는 동일한 근을 공유하기 때문에, 동일한 것이다. 이것은, 어떤 노드의 인덱스「j」에 대하여, (T'2j, T'2j +1)<>(T2j, T2j +1)이기는 하지만, 그러나, T'j=Tj인 것을 암시하고 있으며, 여기에서 Tj=H(T2j||T2j +1) 및 T'j=H(T'2j||T'2j +1)이다. 예를 들면, H(X)=H(X')와 같은 값 X, X'는, 충돌(collisions)이라 불리며, 그리고, 해시 함수의 특성에서는, 이러한 충돌을 발견하는 것은 실현 불가능하다. 그 때문에, 서명 을 위조하는 단 하나의 방법은, 진짜 피인증 장치(101)와 인증 장치(121) 사이의 상호 작용을 관찰하고, 그리고 피인증 장치(101)로부터 서명을 모으는 것이다. 다음으로,인증 프로토콜에 종사하는 경우, 만일 동일한 카운터 값 「i」이면, 인증 장치(121)는, 진짜 피인증 장치(101)의 경우와 마찬가지로,동일한 요구를 송신하고, 위조자는 대응하는 수집된 서명을 사용할 수 있다. 그 결과, 서명을 위조하는 확률은 1/2n이며, 여기에서 「n」은 안전성의 파라미터이다. 만일 요구 사이즈에 대하여 n=20이면, 이 확립은 100만번에 1회 정도 이하이다.
또한,본 발명의 범위는, 이상에서 설명한 실시예에 한정되는 것은 아니다. 예를 들면, 유용성 파라미터 p나 서명의 수, 또는, 안전성 파라미터 n이나 요구의 사이즈 등의 시스템 파라미터는, 어떠한 적절한 정수값도 취할 수 있다. 높은 안전성의 시스템을 위해서는, n은 커야만 하며, 전형적으로는, 121비트 이상으로 되고, 이것이 피인증 장치(101)에 대하여 큰 용량을 요구하게 된다. 인증 시스템을 경량화하기 위해서는, 예를 들면, 8비트와 같이 , n을 작게 선택 할 수도 있으며, 그 경우, 위조자가 서명을 위조할 확률로서 1/256을 갖게 되지만, 이것은, 스마트 카드 상에서 PIN 코드에 의해 제공되는 안전성으로 보아도 많이 벗어난 것이 아니고, 어떤 상황하에서는, 허용 가능하다.
또한,해시 함수에 대해서도 임의로 선택할 수가 있으며,즉, 128비트의 출력 사이즈를 갖는 MD5이어도, 또는, SHA1, 혹은 그 밖의 어떠한 해시 함수로 할 수도 있다.
피인증 장치(101)의 메모리 유닛은, 몇 개인가의 방법으로 실시할 수 있다. 엄밀히 설명하면,메모리 유닛(105)은, 리드/라이트 메모리(Read-Write Memory)를 포함하며, 어떠한 타입의 메모리이어도 된다. 그 때문에, ROM, PROM, EEPROM이나 플래시 메모리는(Flash Memory), 또는, 어떠한 메모리 보조 수단에 의해서도, 실시할 수 있다. 리드 원스 메모리 유닛(103)에 대해서는, 예를 들면, 상기 특허 문헌 1에 기재된 퓨즈 베이스의 진짜 리드 원스 메모리, 또는 FeRAM 메모리, 또는 그 밖의 어떠한 리드 원스 메모리이어도 되며, 더구나 그 기능은, 예를 들면 플래시 메모리인 EEPROM과 기입에 의해 콘텐츠를 소거하는 메모리 컨트롤러로 이루어지는, 표준적인 메모리 유닛에 의해 실현(emulate) 할 수 있다.
마지막으로, 상기의 인증 시스템을, 메시지(164)가 발생되고, 피인증 장치(101)에 의해 서명되며, 그리고, 인증 장치(121)에 의해 인증되는 디지털 서명 시스템으로 변경하는 것은, 당업자에 있어서는 간단한 것이다.
<실시예 2>
계속해서, 본 발명의 실시예 2로 되는, 프린터 카트리지를 위한 인증 시스템에 대하여, 첨부의 도 9를 참조하면서, 이하에 상세히 설명한다.
이 시스템은, 인증자 칩(121)과 피인증자 칩(101)으로 구성된다. 본 실시예에서는, 프린터에는 인증자 칩(121)이 장착되며, 한편,잉크 카트릿지에는 피인증자 칩(101)이 장착되어 있다. 정규의 카트리지는 상점에서 구매할 수 있으며,또한,경쟁업자에 의해 제조된 가짜 카트리지나 리필 키트(재충전용 키트)도, 또한,마찬가지이다. 그 때문에, 적법한 카트리지는,
- 가짜 카트리지의 사용을 금하기 위해서, 프린터에 대하여 인증을 행하고, 그리고,
- 재충전이 회피되는 제한된 횟수만큼, 사용되어야만 한다.
카트리지(101)와 프린터(121)는 직접 접촉하고 있고, 직접 접속(901)을 통해서 데이터를 교환할 수 있다. 교환되는 데이터는, 예를 들면 잉크 레벨의 체크와 같은, 통상의 프린트 기능에 관한 것이어도 되지만, 그러나,요구(164)나 서명(163)을 포함한 인증 데이터에 관련되는 것이어도 된다.
프린터(121)는, 예를 들면 USB와 같은 케이블(902)을 통하여, 퍼스널 컴퓨터(911)와 접속한다. 퍼스널 컴퓨터(911)에는, 예를 들면 USB나 LAN 커넥터, 메모리 유닛(913)이나 연산 유닛(914), 혹은 몇 개인가의 주변 기기나 유닛과 함께, 입출력 인터페이스(912)가 장착되어 있다. 케이블(902)을 통하여, 퍼스널 컴퓨터(91l)는, 인쇄 요구나 통상의 인쇄 기능에 관한 어떠한 데이터도 송신하는 것은 가능하지만, 그러나, 블랙 리스트(126)를 제출하는 것도 가능하다. 실제로, 퍼스널 컴퓨터(911)는 인터넷을 통해서 인증국 장치(Certificate Authority)에 접속되며, 인증국 장치는, 펌웨어나 소프트웨어의 업데이트 판을 퍼스널 컴퓨터(911)를 통해서 프린터(121)에 송신하고, 그리고, 동시에, 업데이트된 블랙 리스트를 송신할 수도 있다.
인증국 장치(141)는, 인터넷(903)에 접속된 웹 서버이며, 프린터 회사에 의해 운영되고 있다. 처음의 실시예의 경우와는 달리,인증국 장치(141)와 카트리지(101) 사이에는 영속적이며 직접적인 접속은 없으며, 그 때문에, 데이터의 초기 화를 원격으로 실행할 수는 없다. 대신에, 카트리지의 메모리 유닛(103과 105와 106)은, 카트리지가 제조될 때에 초기화된다. 그 때, 카트리지를 물리적으로 인증국 장치(141)에 접속하고, 또는 바람직하게는, 많은 카트리지의 비밀 어레이(104)를 누출하게 되는 안전성 침해로부터 회피하기 위해서, 인터넷에 접속되어 있지 않은 전용의 컴퓨터에 접속하여도 된다.
프린터(121)와 카트리지(101)는 자율적이며, 그리고 인증은, 외부의 어떠한 네트워크에 액세스하지 않고 실행할 수 있고,특히, 프린터(121)는 인터넷(903) 또는 인증국 장치(141)에의 영속적이며 직접적인 접속을 필요로 하지 않는다. 단지, 로컬에 저장된 인증국 장치(141)의 공개 키(125)를 사용하는 것만으로, 프린터(121)는, 상기의 실시예 1에 기재한 인증 메카니즘에 의해, 적법한 카트리지를 인증할 수 있다. 인증은, 프린터 회사의 안전성 폴리시에 따라서, 정기적인 시간 간격으로 실행하여도 된다. 예를 들면, 인쇄 요구 시에, 기동시(Booting Time)에, 또는, 매일 행하여도 된다. 인증에 실패한 경우에 프린터가 어떻게 행동하는지에 대해서도, 또한,프린터 회사의 안전성 폴리시에 의해 결정된다. 하나의 가능성으로서, 프린터가 인쇄 요구를 몇분간만 거부하는 것도 생각된다. 그 때문에, 안전 파라미터가 매우 높은 것이 아니더라도, 예를 들면, n=8비트의 요구에서도, 실제상, 1/256의 위조 확률로 되지만, 만일 프린터가, 인증에 실패한 경우에 대략 1분간만 아이들링 상태로 되는 것이라고 하면, 가짜 카트리지를 사용한 경우에는, 그 유용성이 대폭 손상되게 된다.
이 실시예 2에서는, 안전성 파라미터는, 메시지 사이즈에 대하여 n=8비트이 며, 해시 함수는, 출력 사이즈 h=128비트에 의한 MD5이며, 서명의 수는 p=1024개이다.
이 경우, 리드 원스 메모리는, 비밀 어레이(104)를 위한 대략 260KB의 데이터를 저장하고, 이것에 대하여, 리드 온리 메모리는, 암호화된 어레이(111)를 위한 260KB와 트리 데이터(110)를 위한 32KB가 필요로 된다. 공개 키(108)는, 꼭 1개의 해시값이고, 그 때문에, 16바이트이며, 증명서는 1024비트의 RSA 서명이어도 되고, 그 때문에, 128바이트이며, 그리고, ID(112)는 4바이트로 부호화된 제품 번호이다. 리드 온리 메모리에는, 합계 300KB 이하의 용량이 요구된다. 마지막으로, 카운터(107)는 1024까지를 계수하기 위한 카운터이며, 리드 라이트 메모리의 2바이트를 점유한다.
리드 원스 메모리 유닛(103)은 후에 그 상세에 대하여 논의하겠지만, 리드 온리 메모리 유닛(105)은 PROM으로서, 리드 라이트 메모리 유닛(106)은 EEPROM으로서 실시되어 있다. 입출력 인터페이스(102)에 대해서는, 시리얼 데이터 입출력 핀(921), 전력 공급 핀(922), 접지 핀(923) 및 클럭 핀(924)으로 이루어지는 단순한 커넥터이다.
다음으로,리드 원스 어레이에 대하여, 첨부의 도 10을 참조하면서 상세히 설명한다.
비밀 데이터 블록 Uj 및 Dj를 저장하는 비밀 어레이 Ai(104)는, 인증 메카니즘의 심장부이다. 한쌍의 어레이(Uj, Dj)가 1회만 사용되기 때문에, 데이터는 액세 스된 후에는 소거된다. 본 실시예 2에서는, 이 리드 원스 메모리는, 퓨즈(1021)에 의해 실현되어 있으며, 보다 상세하게는, 하나의 퓨즈가 하나의 데이터 비트를 저장하고 있다. 퓨즈는 2개의 상태, 즉, 비트값 「0」에 대응하는 용융 상태와, 비트값 「1」에 대응하는 비용융 상태를 갖는다. 또한, 전류가 퓨즈를 통과하여 흐르면,퓨즈는 용융하고, 그리고, 대응하는 비트는 값 「0」으로 회복 불가능하게 설정된다.
다음으로, 비밀 어레이(104)에 대하여 상세히 설명한다. 각 어레이 Ai는 2개의 입력 신호, 즉, 8-비트의 요구(164)와 클럭 신호(931)를 갖는다. 각 어레이는, 또한,하나의 출력인, 서명(163)의 일부를 갖는다. 8-계수 카운터(1002)는「0」부터 「8」로의 계수를 행하고, 그 출력은 멀티플렉서(1001)와 디멀티플렉서(1003)를 제어한다. 멀티플렉서(1001)는, 카운터(1002)의 값에 의해 8개의 요구 비트 중 하나를 선택하고, 예를 들면, 「1」에 의해 요구 비트 「1」이 선택된다. 디멀티 플렉서(1003)는, 입력 Vcc 신호(1005)를, 카운터(128)의 값에 따라서, 128비트의 메모리 셀(1011) Uo, …, U7 중 하나로, 그리고, 128-비트의 메모리 셀(1012) Do, …, D7 중 하나로 전파한다. 예를 들면, 「1」에서는 Vcc를 U1과 D1로 전파한다. 각 메모리 셀 Uj 또는 Dj는 128비트를 저장하고, 그리고, 128개의 퓨즈(1021)를 포함하며, 용융 상태의 퓨즈는 비트값 「0」을, 한편,비용융 상태의 퓨즈는 비트값 「1」을 저장하고 있다.
카운터(1002)가 메모리 셀 Uj 중의 하나와, 메모리 셀 Dj 중의 하나를 기동 하는 것에 유의하길 바란다. 양 메모리 셀은, 그들 128-비트의 메모리 콘텐츠를 멀티플렉서(1004)에 전송한다. 카운터(1002)는, 또한,요구 비트 mj의 하나를 선택하는 것에 유의하길 바란다. 이 요구 비트의 값이 멀티플렉서(1004)에 전송되고, Uj 또는 Dj 중 어느 한쪽을 선택하기 위해 이용되며, 만일 요구 비트가 mj=O이면, 서명의 일부는 Uj로 되고, 그리고, 요구 비트가 mj=1이면, 서명의 일부는 Dj이다.
다음으로,하나의 메모리 셀 U0(1011)에 대하여 기재하겠지만, 다른 셀도 기본적으로는 동일하다. 만일 카운터(1002)가 「0(영)」이면, 입력 Vcc는, 닫힘 스위치로서 동작하는 128개의 트랜지스터(1022)의 모두에 전송된다. 만일, 어떤 하나의 트랜지스터에 대하여, 대응하는 퓨즈(1021)가 용융하면, 저항(1023)의 좌우측의 전압은 0이 아니다. 즉, 인버터(1024)의 우측은, 비트값 「0」에 대응한 전압 「0」을 갖는다.
한편,만일 퓨즈(1021)가 용융하지 않으면, 저항(1023)의 우측이 접지 신호에 접속하고, 그 저항의 우측의 전압은 영(0)으로 된다. 즉, 인버터(1024)의 우측이, 비트값 「1」에 대응하는 전압 Vcc를 갖는다. 그러나, 이 경우, 전류가 퓨즈(1021)를 통하여 흐르고, 이것이 어떤 시간 후에 퓨즈를 용융하고, 그리고, 대응하는 비트 데이터가 회복 불가능하게 영(0)으로 설정된다. 즉, 데이터는, 그것을 액세스한 후에는, 항상 소거되게 된다.
만일 처음에, 입력 Vcc가 디멀티플렉서(1003)에 의해 128개의 트랜지스터에 전송되지 않으면, 그들은 모두 열림 스위치로서 동작하고, 그리고, 전체 트랜지스 터의 우측의 전압은 영(0)으로 되며, 그 때문에, 메모리 셀 U0은, 디멀티플렉서(1003)에 의해 기동될 때까지, 그 메모리 콘텐츠를 전송하는 일은 없다.
그러나, 본 발명의 범위는, 이상으로 설명한 실시예에 한정되는 것이 아니고, 특히, 다른 응용을 위한 마찬가지의 시스템으로서 이용할 수도 있다. 예를 들면, 제2 실시예에서 기재된 인증 시스템은, 교환 부품의 컴플라이언스를 인증하기 위해 사용할 수도 있다. 전형적인 예로서는, 랩탑 컴퓨터용의 배터리이며, 즉, 많은 랩탑 컴퓨터의 유저는, 그 랩탑 컴퓨터에 적합하지 않는 배터리의 교환에 의한 랩탑 컴퓨터의 파손을 경험하고 있다. 여기에 기재된 인증 시스템을 이용하는 것에 의하면, 랩탑 컴퓨터의 제조자는, 제품에 적합하며 또한 안전하게 사용할 수 있는 랩탑 컴퓨터용의 배터리에 대하여, 디지털의 증명서를 발행하는 것이 가능하게 된다. 그리고, 물론, 여기에 기재된 인증 시스템은, 서로 다른 안전성이나 유용성 파라미터, 서로 다른 해시 함수, 그리고, 서로 다른 메모리 서포트(Memory Supports: 메모리 지원)에 의해서도 실시될 수 있다.
<실시예 3>
계속해서, 본 발명의 실시예 3으로서, 메모리 카드 상의 디지털 콘텐츠를 위한 DRM에 대하여, 이하에 설명한다.
즉, 이 제3 실시예에서는, 본 발명이 어떻게 하여 메모리 서포트로서, 특히, SD 카드 등의 플래시 메모리에 기초하는 카드 상에 저장된 디지털 콘텐츠를 보호하기 위해서 사용할 수 있는지를 나타낸다. 디폴트 상태에서는, 메모리의 타입에 의 해 이 리드 원스 액세스(1회만의 판독 액세스)를 지원할 수 없기 때문에, 간단한 메모리 제어 장치에 의해 그 기능을 실현(emulate)하여야 하며, 즉, 어떤 특정한 메모리 세그먼트를 판독하였을 때에는, 그 판독된 콘텐츠는 파괴된다.
이 제3 실시예로서, 비디오 게임 콘솔과 비디오 게임에 적용한 예를, 이하, 첨부의 도 11을 참조하면서 상세하게 설명한다.
이 제3 실시예에서는, 피인증 장치는, 그 뿐만 아니라, 소프트웨어를, 전형적으로는, 비디오 게임(1126)을 탑재한 메모리 카드이다. 이 비디오 게임(1126)은, 인증 장치, 즉, 비디오 게임 콘솔(121)에 의해 실행될 수 있다. 비디오 게임과 콘솔은 직접 접속(1101)되며, 메모리 카드는, 데이터 핀(1121), 전원 공급 핀(1122), 클럭 핀(1123), 그리고 접지 핀(1124)을 포함하는 몇 개인가의 핀을 구비한다. 플래시 메모리부(1127)에의 액세스는, 액세스권을 제어하는 메모리 컨트롤러(1125)에 의해 관리되고, 즉, 암호화된 어레이, 트리 데이터, 공개 키, 및 증명서를 저장하고 있는 메모리 세그먼트(105)는 판독만(Read-only)의 리드 온리 액세스를 갖고,카운터를 저장하고 있는 메모리 세그먼트(106)는, 판독/기입(Read-write: 리드 라이트 액세트) 기능을 갖고, 그리고, 비밀 어레이를 저장하고 있는 메모리 세그먼트(103)는 한번만의 판독(Read-Once: 리드 원스 액세스) 기능을 가지며, 그리고, 비밀 어레이는 판독된 후에 메모리 제어 장치(1125)에 의해 삭제된다. 또한, 메모리 컨트롤러(1125)는, 도 4에도 기재한 바와 같이, 서명의 발생(Signature Generation)(231)도 실행한다. 이상으로 설명한 실시예와 마찬가지로,요구에 서명하기 위해서는, 액세스를 행하고, 그리고, 경우에 따라서는, 메모 리를 삭제하는 것이 필요로 된다.
비디오 게임 콘솔에는, 통상의 주변 기기와, 그리고, 연산 유닛(132)과 메모리 유닛(131)을 포함한 유닛이 구비되어 있다. 입출력 인터페이스는, 비디오 게임 메모리 카드(101)와의 접속과 함께, 인터넷(1103)과의 접속을, 예를 들면, WiFi 인터페이스를 이용함으로써 제어한다. 이 콘솔의 주요한 목적은, 메모리 카드(101) 상에 저장된 게임 소프트 웨어(1126)를 실행하는 것이다.
인증국 장치(141)는, 비디오 게임 회사에 의해 관리된 웹 서버이다. 이 웹 서버는, 콘솔(121) 상에서 플레이되는 것이 허가된 비디오 게임을 위한 증명서를 발행할 수 있고, 그리고, 신용을 상실하며, 그리고, 그 비밀 어레이가 핵커에 의해 파헤쳐진 특정한 메모리 카드(101)의, 공개 키의 블랙 리스트(126)를 유지하고 있다. 콘솔(121)은, 인터넷(1103)에의 영속적인 접속은 행하지 않고, 때때로, 소프트웨어나 펌웨어의 업데이트를 위해서 인터넷 액세스한다. 그 때,블랙 리스트(126)가 인증국 장치(141)에 의해 접속되어 있는 모든 콘솔(121)에 전송된다.
비디오 게임 메모리 카드(101)가 콘솔(121)에 삽입되면, 게임 데이터(1126)가 콘솔에 전송된다. 이러한 시나리오에서는,게임 데이터(1126)는, 메모리 카드(101)의 특정 수단 ID(112)이기도 하다. 메모리 카드(101)의 공개 키는, H(T1||ID)로서 규정되어 있기 때문에, 게임 데이터는 비디오 게임 콘솔(121)에 의해 인증할 수 있다. 본 발명의 목적은, 인증되지 않은 소프트웨어가 콘솔에 의해 실행되는 것을 방지하는 것이며, 서명 데이터(163)에 의해, 게임 데이터(1126)는, 실시 예 1에 기재된 인증 프로토콜의 결과에 따라서, 실행 가능한지의 여부가 특정된다. 그 결과, 인증 프로토콜에 실패한 경우에는, 바이러스나 비합법 카피 등의 악의 있는 코드는, 비디오 게임 콘솔 상에서 실행할 수 없게 된다. 또한,비디오 게임 회사에 의해 관리되는 인증국 장치(141)는, 콘솔(121) 상에서 플레이 가능한 비디오 게임을 개발할 수 있는 제삼자인 게임 디벨러퍼에 대하여, 인증국 장치의 프라이빗 키(146)를 이러한 제삼자에게 밝히지 않고, 증명서를 발행할 수 있다.
이 제3 실시예에서는, 안전성 파라미터는, 요구의 사이즈에 대하여 n=32비트이며, 그 때문에, 서명을 위조할 확률은, 400만 또는 그 이상에 대하여 약 1회이다. 인증이 수회에 걸쳐 실패한 경우, 콘솔은, 비디오 게임 회사의 안전 폴리시에 따라서 반응해야 한다. 예를 들면, 메모리 카드의 공개 키(108)를 블랙 리스트(126)에 추가하도록 하여도 되고, 그리고, 다른 콘솔의 블랙 리스트를 업데이트 하기 위해서, 통지를 인증국 장치(141)에 송신하도록 하여도 된다. 유용성 파라미터는, p=65, 536으로서 선택되어 있으며, 따라서, 하나의 특정한 비디오 게임은 65, 536회 플레이할 수 있다. 마지막으로, 해시 함수는, h=128비트로 한 MD5이다. 이 경우, 리드 원스 메모리 세그먼트(103)에는 67MB, 리드 온리 메모리 세그먼트(105)에는 69MB, 그리고 리드 라이트 세그먼트(106)에는 2바이트의 용량이 필요로 된다.
또한,본 발명의 범위는, 이상으로 설명한 실시예에 한정되지 않고, 서로 다른 파라미터, 예를 들면, SHA1과 같은 서로 다른 해시 함수, 또는, 예를 들면 EEPROM이나 그 밖의 타입의 메모리에 의해, 마찬가지의 기능을 실현하는 것은 간단 할 것이다. 또한, 실시예 3에서 기재된 시스템은, 다른 목적을 위해서도 용이하게 사용할 수 있으며, 특히, 이 시스템에 의하면, 예를 들면 영화나 음악 등의 어떠한 타입의 디지털 콘텐츠도 디지털적으로 서명할 수 있다. 또한, 인증 장치(121)는, 포터블 오디오 플레이어, 모바일폰, 또는, 퍼스널 컴퓨터에 한정되지 않고, 어떠한 타입의 전자 디바이스에 의해서도 실현할 수 있다.
<실시예 4>
마지막으로, 본 발명을 RFID칩에 의한 반 위조 시스템에 적용한 실시예 4에 대하여, 이하에 상세히 설명한다.
종래의 RFID 태그는, 암호화 모듈을 탑재하고 있지 않으며, 그 때문에, 인증이나 반 위조에의 적용에는 충분하지 않다. 이러한 플랫홈 상에서 암호화 알고리즘이 실시되지 않는 것에는, 2가지 주요한 이유가 있다. 우선,첫째, 암호화에의 적용에는 대량의 에너지를 소비하고, 그 한편,수동적인 태그는, 매우 낮은 전력 설정에서도 동작한다. 둘째, 대부분의 RFID 태그는 메모리만을 구비하며, 제조 코스트를 가능한 한 낮게 유지하기 위해서, 연산 유닛을 구비하지 않는다.
이 제4 실시예에서는, 실시예 1에서 설명한 인증 메카니즘의 장점을 어떻게 하여 취출할지, 즉, 리드 원스 메모리 유닛(Read-Once Memory Unit)을, 통상적으로 리드 원스 액세스(Read-Once Access) 기능을 실현하는 FeRAM 메모리에 의해 실현할지에 대하여 설명한다.
우선,반 위조 시스템에 대하여, 첨부의 도 12를 참조하면서, 이하에 상세히 설명한다.
브랜드물이나 고액의 제품에서, 위조는 큰 쟁점으로 되어 있으며, 거기에서는, 암호화나 디지털 서명이, 확실히 기여할 수 있다. 이 제4 실시예의 전형적인 시나리오는, 세관에서의 관리이며, 거기에서는, RFID 칩(1O1)을 갖춘 의심스러운 품목을 검사하기 위해서, 관세 직원이 RFID 리더(RFID reader)(121)를 사용한다고 하는 것이다. RFID 칩은, 인증 프로토콜과 연동하고 있으며, 품목의 신뢰성을 증명하고, 그것에 대하여, 위조된 제품은, 그 자신을 증명하는 것에 실패하였을 때에 검출된다. RFID 칩은, 검사 품목의 제조자(이하, '회사'라 함)에 의해 제조되고, 초기화된다. 회사는 인증국의 역할을 맡고, 인증국의 공개 키(125)를 관세 직원에 배포하지만, 그러나, 예를 들면 리더(121)가 악의의 유저에 의해 점거된 경우 등, 정보의 누설을 회피하기 위해서, 인증국의 프라이빗 키(146)는 비밀리에 유지된다.
RFID 칩(1O1)은, 회사에 의해, 제조된 제품에 부착되며, 그 칩은, 안테나(1201)와, 그리고, 소정 주파수의 무선파를 포착할 수 있고, 자기 유도를 이용하여 무선파를 전기 신호로 변환하는 트랜스폰더(응답기)(1202)를 구비한다. 트랜스폰더에 의해 변환된 전기 신호는, 리더(121)로부터의 정보를 전송하고, 동시에, 칩(101)에 의해 전원으로서도 이용된다. 수신한 신호를 후방 산란함으로써, 트랜스폰더(1202)와 안테나(1201)는, 데이터를 리더(121)에 돌려보낼 수 있다. 그 때문에, 리더(121)와 RFID 칩(101)은, 근거리 통신 기술을 이용하여, 무선 네트워크에 의해 접속되어 있다.
메모리 컨트롤러(1203)는, FeRAM(Ferromagnetic Random Access Memory)에 의해 실현되는 기억부(1204)에의 액세스를 제어한다. FeRAM은, 본래, 리드 원스 메 모리(Read-Once Memory)이며, 그 데이터는, 실시예 3의 경우와는 달리, 판독에 의해 파괴되기 때문에, 메모리 컨트롤러(1203)는, 데이터를 명시적으로 소거할 필요는 없다. 그 때문에, 메모리 컨트롤러의 역할은, 단지, 액세스 제어를 실현하고, 그리고, 도 6의 서명 발생 수순을 실시하는 것이다. 여기에서 다시, 서명이란, 틀림없이 데이터를 선택하는 것이며, 아무런 연산도 필요 없다.
FeRAM은, 플래시 메모리를 닮은 특성을 구비한 불휘발성의 메모리이며, 더구나 몇 개인가의 이점을 구비하고 있고, 즉, 저전력 소비이며, 그리고, 기입/소거 사이클(write/erase cycles)의 수가 큰 것이다. FeRAM은, 현재, 몇 개인가의 RFID의 응용에 사용되고 있다. FeRAM 유닛(1204)은 적어도 3개의 메모리 세그먼트를 갖는다. 리드 온리 세그먼트(Read-Only Segment)(105)는 ID(112), 공개 키(108)와 그 증명서(109), 트리 데이터(110), 그리고, 암호화된 어레이(111)를 저장하고 있다. 리드 라이트 세그먼트((Read-Write Segment)(106)는 카운터(107)를, 그리고, 리드 원스 세그먼트(Read-Once Segment)(103)는 비밀 어레이(104)를 저장하고 있다. 그 성질상, FeRAM은 리드 원스(Read-Once)이기 때문에, 메모리 세그먼트(103)의 리드 원스 특성(Read-Once Functionality)을 실현하기 위한 어떠한 메카니즘도 필요로 하지 않는다. 그러나, 리드 온리 세그먼트(105)와 원스 세그먼트(106)에 저장된 데이터는, 판독에 의해 파괴되기 때문에, 데이터는, 메모리 컨트롤러(1203) 내에서 실현되는 메카니즘에 의해 재생(refresh)되어야만 한다.
칩(101)과 리더(121)는, 도 4에 도시한 바와 같이, 인증 프로토콜을 실행 할 수 있으며,거기에서는, 리더(121)는 랜덤한 요구(164)를 칩(101)에 송신하고, 칩 은 요구의 서명(163)에 의해 응답한다. 리더로서는, RFID 칩(101)과 통신하며, 그리고, 실패한 경우에는 관세 직원이 적절한 대응을 취할 수 있도록, 인증 프로토콜의 결과를 표시하기 위한 근거리 통신 기술이 탑재된 PDA이어도 된다. 또한, 신용이 상실된 제품의 공개 키를 포함한, 회사로부터의 업데이트된 블랙 리스트(126)를 얻기 위해서, 리더는 정기적으로 인터넷(1212)에 접속하여도 된다. 그러나, 리더가 가동성(mobile)인 경우에는, 반드시 인터넷에 계속적으로는 접속하지 않으며, 그 때문에, 칩(101)과 리더(121) 사이의 인증 프로토콜은, 어떠한 외부 간섭도, 혹은 인터넷(1212)에의 접속도 없이, 실행하는 것이 가능하다.
이 제4 실시예에서는, 안전성 파라미터는, 요구의 사이즈에 대하여, n=16 비트로서 선택되며, 그리고, 유용성 파라미터로서는, p=256개의 서명이다. 그 때문에, 한 제품은, 그 수명 내에서, 최다의 경우에는 256회, 인증을 할 수 있으며, 그리고, 서명은 1/216=1/65, 536의 무시 가능한 확률로밖에 위조할 수 없다. 해시 함수에는 SHA1을 사용하고, 그 때문에, 해시 출력 사이즈는 h=160비트이며, 이것에 의하면, FeRAM 유닛(1204)을 위한 330KB의 용량이 필요도 된다.
본 발명의 범위는 이상으로 설명한 실시예에 한정되지 않고, 전술한 시스템은, 전자 패스포트에 한하지 않으며, 제품의 추적(Product Tracking), 전자 지갑(Electronic Wallets), 또는 전자 정기권(Electronic Commuter Pass) 등의 다른 시나리오에도 적용할 수 있다. 서로 다른 해시 함수나 서로 다른 파라미터를 사용할 수도 있으며, 시스템은, 플래시 메모리나 EEPROM과 같은 다양한 메모리 서포트 를 이용하여 실현할 수 있다.
도 1은 본 발명으로 되는 인증 시스템의 하드웨어 구성을 나타내는 도면.
도 2는 본 발명의 피인증자 장치의 하드웨어 구성을 나타내는 도면.
도 3은 본 발명의 인증자 장치의 하드웨어 구성을 나타내는 도면.
도 4는 본 발명의 인증 시스템에서의 인증 프로토콜의 흐름을 설명하는 플로우도.
도 5는 본 발명의 인증 시스템에서의 초기화의 흐름을 설명하는 플로우도.
도 6은 본 발명의 인증 시스템에서의 서명 발생의 흐름을 설명하는 플로우도.
도 7은 본 발명의 인증 시스템에서의 서명 인증의 흐름을 설명하는 플로우도.
도 8은 본 발명의 인증 시스템의 적용예를 나타내는 도면.
도 9는 본 발명의 제2 실시예인, 인증 시스템을 프린터 카트리지의 인증 시스템에 적용한 경우의 하드웨어 구성을 나타내는 도면.
도 10은 상기 시스템에서의 리드 원스 어레이의 하드웨어 구성을 나타내는 도면.
도 11은 본 발명의 제3 실시예인 메모리 카드 상의 디지털 콘텐츠를 위한 DRM의 하드웨어 구성을 나타내는 도면.
도 12는 본 발명의 제4 실시예인 반 위조 시스템의 하드웨어 구성을 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
101: 피인증자 장치
121: 인증자 장치
141: 인증국 장치
161: 네트워크
102, 122, 142: 입출력 인터페이스
103: 리드 원스 메모리 유닛
105: ROM 유닛
106: RWM 유닛
131, 151: 메모리 유닛
132: 연산 유닛
Claims (18)
- 강력한 연산 유닛을 포함하지 않거나, 또는, 연산 유닛을 전혀 포함하지 않는 플랫홈에서 디지털 서명을 발생하기 위한 암호화 시스템으로서,(a) 입력 메시지를 수신하기 위한 제1 수단과,(b) 비밀 데이터를 저장하기 위한 제1 기억부와,(c) 암호화된 데이터, 인증 데이터 및 공개 키를 저장하기 위한 제2 기억부와,(d) 카운터를 저장한 제3 기억부와,(e) 상기 입력 메시지의 디지털 서명을 송신하기 위한 제2 수단을 포함하며,상기 비밀 데이터는, 복수의 비밀 어레이에 의해 조직되고, 상기 비밀 어레이는 복수의 비밀 데이터 블록을 저장하며, 그리고, 상기 비밀 블록은 쌍에 의해 조직되어 있고, 상기 비밀 데이터 블록 중 하나만이 상기 쌍의 상태에서 액세스가능하며, 그리고, 양 비밀 데이터는 상기 쌍 내의 엘리먼트를 판독함으로써 파괴되고,상기 디지털 서명은, 상기 비밀 데이터로부터 취출된 데이터와 함께, 상기 암호화된 데이터 및 인증 데이터를 포함하는 것을 특징으로 하는 암호화 시스템.
- 삭제
- 제1항에 있어서,상기 제1 기억부는 퓨즈의 어레이이며, 그리고, 소정의 수의 퓨즈가 상기 제1 기억부에 액세스함으로써 날려 버리는 것을 특징으로 하는 암호화 시스템.
- 제1항에 있어서,메모리 컨트롤러를 더 포함하며, 그리고, 상기 메모리 컨트롤러는, 상기 제1 기억부를 액세스함으로써, 소정의 수의 상기 비밀 데이터 블록을 소거하는 것을 특징으로 하는 암호화 시스템.
- 제4항에 있어서,상기 제1 기억부는 플래시 메모리 유닛인 것을 특징으로 하는 암호화 시스템.
- 제4항에 있어서,상기 제1 기억부는 EEPROM 메모리 유닛인 것을 특징으로 하는 암호화 시스템.
- 제4항에 있어서,상기 제1 기억부는 FeRAM 메모리 유닛인 것을 특징으로 하는 암호화 시스템.
- 제1항에 있어서,상기 암호화된 데이터는 복수의 암호화된 어레이에 조직되며, 해당 암호화된 어레이는 복수의 암호화된 데이터 블록을 저장하고 있으며, 그리고, 상기 암호화된 데이터 블록은, 암호화 처리 유닛에 의해 암호화된 상기 비밀 어레이로부터의 상기 비밀 데이터 블록을 저장하는 것을 특징으로 하는 암호화 시스템.
- 제8항에 있어서,상기 암호화 처리 유닛은 해시 함수 유닛인 것을 특징으로 하는 암호화 시스템.
- 제9항에 있어서,상기 인증 데이터는, 복수의 노드를 저장한 트리 형상의 조직으로 되어 있고, 상기 트리의 리프(葉)는, 상기 해시 함수 유닛에 의해 더 암호화된 노드를 저장하고 있고, 그리고, 상기 트리 내의 친(親) 노드는, 상기 해시 함수 유닛에 의해 암호화된 소정의 수의 자(子) 노드를 저장하고, 거기에서는, 상기 공개 키가 상기 트리의 근(根)으로부터 도출되어 있는 것을 특징으로 하는 암호화 시스템.
- 공개 키 인증 시스템으로서,(a) 상기 제1항의 암호화 시스템과,(b) 인증부를 포함하고,상기 인증부는,(1) 난수 메시지를 발생하기 위한 난수 발생부와,(2) 상기 난수 메시지를 송신하기 위한 제1 수단과,(3) 디지털 서명을 수신하기 위한 제2 수단과,(4) 상기 디지털 서명을 인증하기 위한 제3 수단을 포함하며,상기 암호화 시스템이 상기 메시지의 디지털 서명을 발생하고, 그리고, 상기 디지털 서명이 올바르게 인증되면,상기 인증부에 의해 증명되는 것을 특징으로 하는 공개 키의 인증 시스템.
- 디지털 서명을 발생하기 위한 방법으로서,(a) 비밀 데이터와, 암호화된 데이터를, 인증 데이터와, 그리고, 공개 키를 저장하기 위한 수단을 제공하고,(b) 입력 메시지를 수신하고,(c) 상기 비밀 데이터로부터 비밀 데이터 블록을 취출하고,(d) 상기 암호화된 데이터로부터 암호화된 블록을 취출하고,(e) 상기 인증 데이터로부터 인증 데이터 블록을 취출하고,(f) 카운터를 갱신하고,(g) 상기 입력 메시지의 디지털 서명을 송신하는 스텝을 포함하고,상기 비밀 데이터로부터 비밀 데이터 블록을 취출하는 스텝(c)은,(h) 상기 취출된 비밀 데이터 블록을 소거하고,(i) 각 취출된 비밀 데이터 블록에 대하여, 적어도 하나의 다른 비밀 데이터 블록을 소거하는 스텝을 포함하고,상기 디지털 서명은, 상기 취출된 비밀 데이터 블록과, 상기 취출된 암호화된 데이터 블록과, 그리고, 상기 취출된 인증 데이터 블록을 포함하는 것을 특징으로 하는 디지털 서명의 발생 방법.
- 삭제
- 제12항에 있어서,상기 비밀 데이터 블록을 취출하는 스텝은, 또한(a) 상기 입력 메시지의 1비트를 스캔하고,(b) 상기 비밀 데이터 내의 비밀 데이터 블록의 쌍에 액세스하고,(c) 상기 비트가 영(0)이면 상기 쌍에서의 하나의 비밀 데이터를 밝히고, 그리고 상기 비트가 1이면 그 밖의 비밀 데이터를 밝히고,(d) 상기 비밀 데이터의 상기 쌍을 소거하고,(e) 상기 입력 메시지의 모든 비트에 대하여 상기의 스텝을 반복함으로써, 상기 디지털 서명은 밝혀진 비밀 데이터 블록을 포함하는 것을 특징으로 하는 디지털 서명의 발생 방법.
- 제12항에 있어서,상기 암호화된 데이터는, 암호화 함수에 의해, 상기 비밀 데이터로부터 모든 비밀 데이터 블록을 암호화함으로써, 초기화되는 것을 특징으로 하는 디지털 서명의 발생 방법.
- 제15항에 있어서,상기 암호화 함수는 해시 함수인 것을 특징으로 하는 디지털 서명의 발생 방법.
- 제16항에 있어서,상기 인증의 초기화는,(a) 상기 해시 함수에 의해 소정의 수의 암호화된 데이터 블록을 해싱함으로써, 리프 노드를 연산하고,(b) 상기 앞의 스텝에서 연산된 소정의 수의 노드를 해싱함으로써, 적어도 하나의 새로운 노드를 연산하고,(c) 하나의 노드가 남을 때까지, 상기의 스텝 (b)를 반복함으로써,상기 디지털 서명 방법의 공개 키가, 상기 초기화 방법에 의해 연산된 최후의 노드로부터 도출되어 있는 것을 특징으로 하는 디지털 서명의 발생 방법.
- 공개 키 인증 방법으로서,(a) 랜덤한 메시지를 발생하고,(b) 상기 랜덤 메시지의 디지털 서명을, 상기 제12항의 방법에 의해 발생하고,(c) 상기 디지털 서명을 인증함으로써,상기 디지털 서명이 올바르게 인증된 경우, 인증이 성공하는 것을 특징으로 하는 공개 키의 인증 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008007849A JP5525133B2 (ja) | 2008-01-17 | 2008-01-17 | デジタル署名及び認証のためのシステム及び方法 |
JPJP-P-2008-007849 | 2008-01-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090079795A KR20090079795A (ko) | 2009-07-22 |
KR100969740B1 true KR100969740B1 (ko) | 2010-07-13 |
Family
ID=40560178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080122694A KR100969740B1 (ko) | 2008-01-17 | 2008-12-04 | 디지털 서명 및 인증을 위한 시스템 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8291229B2 (ko) |
EP (1) | EP2081353A3 (ko) |
JP (1) | JP5525133B2 (ko) |
KR (1) | KR100969740B1 (ko) |
CN (1) | CN101488856B (ko) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
US8171567B1 (en) | 2002-09-04 | 2012-05-01 | Tracer Detection Technology Corp. | Authentication method and system |
US20090006717A1 (en) * | 2007-06-29 | 2009-01-01 | Michael Rothman | Emulation of read-once memories in virtualized systems |
US8116454B2 (en) | 2007-07-23 | 2012-02-14 | Savi Technology, Inc. | Method and apparatus for providing security in a radio frequency identification system |
EP2223460A4 (en) | 2007-12-20 | 2011-12-28 | Bce Inc | NON-CONTACT LABEL WITH SIGNATURE AND ASSOCIATED APPLICATIONS |
US7995196B1 (en) | 2008-04-23 | 2011-08-09 | Tracer Detection Technology Corp. | Authentication method and system |
WO2010069033A1 (en) * | 2008-12-18 | 2010-06-24 | Bce Inc | Validation method and system for use in securing nomadic electronic transactions |
CN101534309B (zh) | 2009-04-14 | 2013-03-13 | 华为技术有限公司 | 节点注册方法、路由更新方法、通讯***以及相关设备 |
DE102009039823A1 (de) * | 2009-09-02 | 2011-03-03 | Siemens Aktiengesellschaft | Verfahren zur Überprüfung einer Ware als Orginalware eines Warenherstellers |
US8693683B2 (en) * | 2009-11-25 | 2014-04-08 | Aclara Technologies Llc | Cryptographically secure authentication device, system and method |
US8386800B2 (en) | 2009-12-04 | 2013-02-26 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8527766B2 (en) * | 2009-12-30 | 2013-09-03 | Microsoft Corporation | Reducing leakage of information from cryptographic systems |
IL206139A0 (en) * | 2010-06-02 | 2010-12-30 | Yaron Sella | Efficient multivariate signature generation |
CN101895539B (zh) * | 2010-07-07 | 2013-03-20 | 武汉大学 | 基于置乱的多媒体数据主动加密与被动保护结合的方法 |
CA2811325C (en) | 2010-09-17 | 2017-05-23 | Certicom Corp. | A mechanism for managing authentication device lifecycles |
US9535888B2 (en) * | 2012-03-30 | 2017-01-03 | Bmenu As | System, method, software arrangement and computer-accessible medium for a generator that automatically identifies regions of interest in electronic documents for transcoding |
CN102855422B (zh) * | 2012-08-21 | 2015-03-04 | 飞天诚信科技股份有限公司 | 一种盗版加密锁的识别方法和装置 |
CN102833075A (zh) * | 2012-09-05 | 2012-12-19 | 北京市科学技术情报研究所 | 基于三层叠加式密钥管理技术的身份认证和数字签名方法 |
CN104021482A (zh) * | 2013-03-01 | 2014-09-03 | 成都市易恒信科技有限公司 | 基于标识认证技术的证件防伪鉴真方法 |
WO2015016896A1 (en) * | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Remotely authenticating a device |
US9071581B2 (en) | 2013-09-23 | 2015-06-30 | Nvidia Corporation | Secure storage with SCSI storage devices |
EP2930663B1 (en) * | 2014-04-11 | 2020-07-01 | Nxp B.V. | Electronic circuit chip for an RFID tag with a read-only-once functionality |
CN104506889A (zh) * | 2014-12-30 | 2015-04-08 | 青岛海信电器股份有限公司 | 一种视频播放方法、终端、服务器及*** |
US10057072B2 (en) * | 2014-12-31 | 2018-08-21 | Schneider Electric USA, Inc. | Industrial network certificate recovery by identifying secondary root certificate |
US9674162B1 (en) | 2015-03-13 | 2017-06-06 | Amazon Technologies, Inc. | Updating encrypted cryptographic key pair |
US9893885B1 (en) | 2015-03-13 | 2018-02-13 | Amazon Technologies, Inc. | Updating cryptographic key pair |
US9678894B2 (en) * | 2015-03-27 | 2017-06-13 | Intel Corporation | Cache-less split tracker architecture for replay protection trees |
US9479340B1 (en) * | 2015-03-30 | 2016-10-25 | Amazon Technologies, Inc. | Controlling use of encryption keys |
US10003467B1 (en) | 2015-03-30 | 2018-06-19 | Amazon Technologies, Inc. | Controlling digital certificate use |
US11070380B2 (en) | 2015-10-02 | 2021-07-20 | Samsung Electronics Co., Ltd. | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method |
WO2017145049A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Consolidated blockchain-based data transfer control method and system |
CN114679282A (zh) | 2016-02-23 | 2022-06-28 | 区块链控股有限公司 | 用区块链实施的用于安全投票和分配的计数***和方法 |
EA201891827A1 (ru) | 2016-02-23 | 2019-02-28 | Нчейн Холдингс Лимитед | Реестр и способ автоматизированного администрирования смарт-контрактов, использующих блокчейн |
KR102585177B1 (ko) * | 2016-03-14 | 2023-10-06 | 주식회사 제주스퀘어 | 개인간 거래를 위한 부동산 증권화 방법 |
CN108602277B (zh) | 2016-05-12 | 2022-02-01 | 惠普发展公司有限责任合伙企业 | 用于增材制造的数据单元 |
ES2749914T3 (es) | 2016-06-17 | 2020-03-24 | Hewlett Packard Development Co | Autentificación de elemento reemplazable |
KR101934221B1 (ko) | 2016-10-27 | 2018-12-31 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 교체가능 물품 인증 |
RU2670780C9 (ru) | 2016-10-27 | 2018-11-23 | Хьюлетт-Паккард Дивелопмент Компани, Л.П. | Аутентификация заменяемых элементов |
US10887090B2 (en) | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
CN109657479B (zh) * | 2017-10-11 | 2023-03-28 | 厦门雅迅网络股份有限公司 | 数据防泄漏方法及计算机可读存储介质 |
DE102017220490A1 (de) * | 2017-11-16 | 2019-05-16 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Ermöglichung der Authentisierung von Erzeugnissen, insbesondere industriell gefertigten Geräten, sowie Computerprogrammprodukt |
CN111627485A (zh) | 2019-02-27 | 2020-09-04 | 恩智浦美国有限公司 | 一次可读存储器及其运行方法 |
US11588645B1 (en) * | 2019-09-06 | 2023-02-21 | University Of South Florida | Systems and methods for compromise resilient and compact authentication for digital forensics |
CN114553399B (zh) * | 2020-11-18 | 2022-10-11 | 澜起电子科技(上海)有限公司 | 芯片内置密钥的派生方法及其装置 |
CN112966255A (zh) * | 2021-03-15 | 2021-06-15 | 珠海艾派克微电子有限公司 | 芯片及成像盒 |
CN113836516B (zh) * | 2021-09-13 | 2023-08-29 | 北京安御道合科技有限公司 | 一种打印机硒鼓防伪与打印次数保护***、方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020010165A (ko) * | 2000-07-27 | 2002-02-04 | 오상균 | 일회용 패스워드를 이용한 컴퓨터 시스템 액세스 제어방법 및 인증서 활용방법 |
KR20030023124A (ko) * | 2001-09-12 | 2003-03-19 | 에스케이 텔레콤주식회사 | 이동 통신 시스템에서의 공개키 기반 인증 방법 |
JP2004032315A (ja) | 2002-06-25 | 2004-01-29 | Canon Inc | デジタル複合機及び暗号化システム |
KR20070010536A (ko) * | 2005-07-19 | 2007-01-24 | 에스케이 텔레콤주식회사 | 모바일을 이용한 원격 권한인증 시스템 및 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5032708A (en) * | 1989-08-10 | 1991-07-16 | International Business Machines Corp. | Write-once-read-once batteryless authentication token |
US5432852A (en) * | 1993-09-29 | 1995-07-11 | Leighton; Frank T. | Large provably fast and secure digital signature schemes based on secure hash functions |
JP3813673B2 (ja) * | 1996-11-15 | 2006-08-23 | 株式会社東芝 | 相互認証システムと有料道路の料金収受システムと料金収受システムの相互認証方法 |
JP2000353216A (ja) * | 1999-06-11 | 2000-12-19 | Ntt Data Corp | Icカードシステム、icカード端末、icカード処理方法及び記録媒体 |
US6259126B1 (en) * | 1999-11-23 | 2001-07-10 | International Business Machines Corporation | Low cost mixed memory integration with FERAM |
EP1257974A1 (en) * | 2000-02-04 | 2002-11-20 | 3M Innovative Properties Company | Method of authenticating a tag |
US7051206B1 (en) * | 2000-11-07 | 2006-05-23 | Unisys Corporation | Self-authentication of value documents using digital signatures |
US6608792B2 (en) * | 2000-11-09 | 2003-08-19 | Texas Instruments Incorporated | Method and apparatus for storing data in an integrated circuit |
US6957343B2 (en) * | 2001-03-30 | 2005-10-18 | Intel Corporation | Validating keying material by using a validation area of read-only media to prevent playback of unauthorized copies of content stored on the media |
US6898625B2 (en) * | 2001-12-18 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Document tracking methods and system therefor |
US20030221109A1 (en) * | 2002-05-24 | 2003-11-27 | Pure Edge Solutions, Inc. | Method of and apparatus for digital signatures |
US7315866B2 (en) * | 2003-10-02 | 2008-01-01 | Agency For Science, Technology And Research | Method for incremental authentication of documents |
JP2005348306A (ja) * | 2004-06-07 | 2005-12-15 | Yokosuka Telecom Research Park:Kk | 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム |
JP4564851B2 (ja) * | 2005-01-24 | 2010-10-20 | 日本電信電話株式会社 | タグ情報検証方法及びプログラム |
-
2008
- 2008-01-17 JP JP2008007849A patent/JP5525133B2/ja not_active Expired - Fee Related
- 2008-12-04 KR KR1020080122694A patent/KR100969740B1/ko not_active IP Right Cessation
- 2008-12-05 CN CN2008101771063A patent/CN101488856B/zh not_active Expired - Fee Related
- 2008-12-16 US US12/335,683 patent/US8291229B2/en not_active Expired - Fee Related
- 2008-12-16 EP EP08021847.2A patent/EP2081353A3/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020010165A (ko) * | 2000-07-27 | 2002-02-04 | 오상균 | 일회용 패스워드를 이용한 컴퓨터 시스템 액세스 제어방법 및 인증서 활용방법 |
KR20030023124A (ko) * | 2001-09-12 | 2003-03-19 | 에스케이 텔레콤주식회사 | 이동 통신 시스템에서의 공개키 기반 인증 방법 |
JP2004032315A (ja) | 2002-06-25 | 2004-01-29 | Canon Inc | デジタル複合機及び暗号化システム |
KR20070010536A (ko) * | 2005-07-19 | 2007-01-24 | 에스케이 텔레콤주식회사 | 모바일을 이용한 원격 권한인증 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101488856A (zh) | 2009-07-22 |
EP2081353A2 (en) | 2009-07-22 |
US20090187766A1 (en) | 2009-07-23 |
JP5525133B2 (ja) | 2014-06-18 |
EP2081353A3 (en) | 2017-04-05 |
JP2009171292A (ja) | 2009-07-30 |
KR20090079795A (ko) | 2009-07-22 |
CN101488856B (zh) | 2013-06-05 |
US8291229B2 (en) | 2012-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100969740B1 (ko) | 디지털 서명 및 인증을 위한 시스템 및 방법 | |
JP5423088B2 (ja) | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 | |
JP6592621B2 (ja) | 認証ネットワーク | |
US9323950B2 (en) | Generating signatures using a secure device | |
CN102017578B (zh) | 用于在令牌与验证器之间进行认证的网络助手 | |
KR100670005B1 (ko) | 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법 | |
EP3610607B1 (en) | Cryptographic key management based on identity information | |
CN113111364A (zh) | 一种区块链数据隐私保护***及其保护方法 | |
US10237072B2 (en) | Signatures for near field communications | |
JP2000357156A (ja) | 認証シード配布のためのシステムおよび方法 | |
JP2005260676A (ja) | セキュリティ装置、情報処理装置、セキュリティ装置の制御方法、情報処理装置の制御方法、該制御方法を実行させるための装置実行可能なプログラムおよびチケット・システム | |
CN1572083A (zh) | 用于完整性保护存储的方法、***和计算机程序产品 | |
MX2007014237A (es) | Implementacion de almacenamiento seguro con integridad protegida. | |
CN110795126A (zh) | 一种固件安全升级*** | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
CN110855667B (zh) | 一种区块链加密方法、装置及*** | |
CN110716728B (zh) | Fpga逻辑的可信更新方法及装置 | |
KR100939725B1 (ko) | 모바일 단말기 인증 방법 | |
KR102234825B1 (ko) | 암호 동작들의 안전한 수행 | |
CN109302442B (zh) | 一种数据存储证明方法及相关设备 | |
CN109302286A (zh) | 一种Fido设备密钥索引的生成方法 | |
WO2018014103A1 (pt) | Sistema de provisionamento, assinatura e verificação de documento eletrônico, método de provisionamento e assinatura de documento eletrônico e método de verificação de autenticidade de documento eletrônico | |
JP2011004317A (ja) | 認証システム、記憶媒体、認定装置、および検証装置 | |
KR101006803B1 (ko) | 인증 기능을 갖는 rfid 인증 장치 및 방법 | |
WO2010109560A1 (ja) | 半導体メモリ、当該半導体メモリと結合されるコンピュータマシン、及び、そのデータ処理方法 |
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: 20130621 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150619 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160617 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170616 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |