KR20040104723A - 공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정장치 및 인증 시스템 - Google Patents

공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정장치 및 인증 시스템 Download PDF

Info

Publication number
KR20040104723A
KR20040104723A KR10-2004-7018030A KR20047018030A KR20040104723A KR 20040104723 A KR20040104723 A KR 20040104723A KR 20047018030 A KR20047018030 A KR 20047018030A KR 20040104723 A KR20040104723 A KR 20040104723A
Authority
KR
South Korea
Prior art keywords
invalidated
invalidation
public key
leaf
node
Prior art date
Application number
KR10-2004-7018030A
Other languages
English (en)
Inventor
나카노도시히사
오모리모토지
다테바야시마코토
이시하라히데시
Original Assignee
마츠시타 덴끼 산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마츠시타 덴끼 산교 가부시키가이샤 filed Critical 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20040104723A publication Critical patent/KR20040104723A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

무효화 리스트 생성 장치 및 무효화 판정 장치는 무효화될 공개 키 인증서의 수가 증가하더라도 CRL의 크기를 억제시킨다. 트리 구조내의 리프가 리프 식별자에 의해 식별되는 공개 키 인증서에 대응하고, 무효화된 공개 키 인증서에 대응하는 리프로부터 루트까지의 노드가 무효화되어 있는 무효화 리스트 생성 장치는 특정 순서로 배열되는 복수의 무효화 정보를 포함하는 무효화 리스트를 생성한다. 무효화 판정 장치는 무효화 리스트를 획득하고, 무효화 리스트내의 무효화 정보를 사용하여 루트로부터 리프까지의 경로를 구성하려고 시도하며, 리프가 구성된 경로에 포함될 때 획득한 공개 키 인증서가 무효화되어 있다고 판정한다.

Description

공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정 장치 및 인증 시스템{PUBLIC KEY CERTIFICATE REVOCATION LIST GENERATION APPARATUS, REVOCATION JUDGEMENT APPARATUS, AND AUTHENTICATION SYSTEM}
최근의 인터넷 사용의 빠른 확산과 함께 인터넷을 통신 기반으로 사용하는 시스템이 증가하고 있다. 일례는 인터넷을 통해 상품을 구매 및 판매하는 전자 상거래이다.
인터넷을 통신 기반으로 사용하는 그러한 시스템에서, 통신이 행해지는 관련자(이하, "상대방(opposite party)"이라고 함)가 정당한 참가자인지를 확인하는 것이 필수적이다. 그러한 확인은 인증이라고 한다. 이하에서, 용어 "디바이스(device)"는 상대방이 사람에 의해 동작되는 디바이스인 경우와 상대방이 결정된 절차에 따라 처리를 실행하는 디바이스인 경우의 양자를 칭하는데 사용된다. 상대방의 인증은 디바이스 인증이라고 한다. "증명한다(certify)"는 디바이스가 정당한다는, 즉, 디바이스가 시스템의 정당한 참가자인 것을 나타내고, " 정당성을 입증하다(validate)"는 상대방의 정당함을 확인하는 것을 나타내는 것에 유념하라. 인증의 개념은 증명 및 정당성 입증의 양자를 포함한다.
디바이스 인증에는 암호화 기술이 일반적으로 사용된다. 구체적으로는, 증명자는 자신이 시스템의 정당한 참가자인 것을 나타내는 비밀 데이터를 갖고, 자신(증명하는 자)이 비밀 데이터를 갖는 것을 정당성 입증자에게 나타냄으로써 자신의 정당성을 증명한다. 반면에, 정당성 입증자는 증명자가 비밀 데이터를 갖는 것을 확인함으로써 증명자의 정당성을 입증한다. 누구나 통신 데이터를 획득할 수 있는 인터넷과 같은 통신 경로에서, 상술한 인증에 사용되는 비밀 데이터(인증 데이터)가 인증에 관련되지 않은 제 3자에게 누출되지 않는 것이 필수적이다. 이것은 비밀 데이터가 제 3자에게 누출되면, 비밀 데이터를 획득한 디바이스가 원래의 디바이스인 것처럼 가장할 수 있기 때문이다. 이러한 이유로, 인증 데이터는 정당성 입증자에게만 암호화된 상태로 송신된다.
암호화 기술의 종류에는 공통 키 암호화 기술과 공개 키 암호화 기술이 있다. 공통 키 암호화 기술에서, 암호화용 키와 복호화용 키는 동일한 값을 갖는다. 한편, 공개 키 암호화 기술에서, 암호화용 키와 복호화용 키는 상이한 값을 갖는다.
증명자가 공통 키 암호화 기술에서 인증을 위해 정당성 입증자와 동일한 비밀 키를 갖는다는 사실은 정당성 입증자가 증명자로 가장할 수 있는 위험이 있다는 것을 의미한다. 소위 패스워드 방법이 이 기술과 등가이다. 한편, 공개 키 암호화 기술에서, 증명자는 공개 키 암호화 기술 비밀 키를 이용하여 증명하고, 검증자는 비밀 키에 대응하는 공개 키를 이용하여 검증한다. 비밀 키가 공개 키로부터 만들어질 수 없기 때문에, 검증자는 인증이 종료한 후에 증명자로 가장할 수 없게 된다. 결국, 공개 키 암호화 방법은 상술한 인증을 실행하는데 바람직하다.
공개 키 암호화 방법을 이용하는 인증에서, "서명하다"는 비밀 키를 이용하여 처리를 실행하는 것을 나타내고, "검증하다"는 비밀 키에 대응하는 공개 키를 이용하여 서명의 정당성을 확인하는 것을 나타내는 것에 유념하라.
이하 공개 키 인증 기술을 이용하는 상대방 인증 처리의 일례를 설명한다. 구체적으로는, 제 1 디바이스는 제 2 디바이스에 난수 데이터를 챌린지(challenge) 데이터로서 송신하고, 제 2 디바이스는 자신의 비밀 키로 수신된 난수 데이터에 서명함으로써 서명문을 생성하며, 서명문을 리스폰스(response) 데이터로서 제 1 디바이스에 복귀시킨다. 최종적으로, 제 1 디바이스는 제 2 디바이스의 공개 키를 이용하여 복귀된 서명문을 검증한다.
설명한 공개 키 암호화 방법을 이용하는 인증에서, 공개 키가 시스템에서 유효하게 되는 것이 전제 조건이다.
이러한 이유로, 일반적으로 공개 키가 디바이스에 대응하는 정당한 공개 키인 것을 나타내는 "공개 키 인증서"(공개 키를 갖도록 "승인")가 시스템에서 인증국이라고 하는 기관에 의해 발행된다. 공개 키 인증서는 ID, 유효 기간, 공개 키 등을 결합하고, 결합된 데이터에 인증국의 전자 서명을 부가함으로써 형성되는 데이터이다. 공개 키 인증서를 수신하는 디바이스는 인증국의 전자 서명이 데이터에 관하여 정확한지를 확인한 후, 공개 키가 정확한지를 확인하기 전에, 상대 디바이스의 ID, 현재 시간 등으로부터 공개 키 인증서의 내용을 확인한다.
또한, 인증국은 인증서 무효화 리스트(이하 "CRL"이라고 함)를 발행한다. CRL은 정당하지 않고 시스템으로부터 제거된 디바이스에 속하는 과거에 발행된 공개 키 인증서를 디바이스에 통지하기 위해, 무효화된 공개 키 인증서를 특정하는 정보의 리스트이다. 인증국의 전자 서명이 CRL에 부가되어 있다.
이러한 방법으로, 상대 디바이스의 공개 키를 이용하여 상대 디바이스를 인증할 때, 먼저 상대 디바이스의 공개 키 인증서를 획득하고, 획득한 공개 키 인증서가 CRL에 등록되지 않은 것을 확인함으로써, 즉, 상술한 인증을 실행하기 전에 공개 키 인증서가 무효화되지 않은 것을 확인함으로써, 부정한 상대 디바이스와의 거래(trading)가 방지될 수 있다.
CRL의 포맷, 실현예 등이 통상적으로 공지된 기술이기 때문에, 여기에서는 상세한 설명은 생략한다. ISO/IEC/ITU에 의해 정해진 X. 509 표준으로 정의된 CRL 포맷(데이터 구조)를 설명하는 일례가 문헌 1에 개시되어 있다.
문헌 2 및 문헌 3은 무효화될 다수의 공개 키 인증서 ID를 저장하는 하나의 데이터 포맷으로 사용되는 트리 구조 데이터 저장 방법에서 트리 구조를 선형적으로 표현하는 방법을 개시하고 있다. 이들 방법에서, 트리 구조는 특정 규칙에 따라 트리 구조의 노드를 배열함으로써 선형적으로 표현된다. 예를 들어, 노드를 레벨 순으로 배열하는 방법이 문헌 3의 136페이지에 기재되어 있다. 이 방법에 따르면, 레벨(트리 구조의 계층에 대응함)이 오름차순으로 배열되고, 각 레벨 내에 노드가 좌측에서 우측으로 배열되어 있다.
특정 규칙에 기초하여 노드를 배열함으로써 트리 구조가 선형적으로 배열된정보로부터 디바이스에 구성될 수 있다.
<문헌 1>
W. Ford and M. Baum의 디지털 서명과 암호 기술(Digital Signatures and Encryption Techniques), S. Yamada역, 2001년 Pearson Education Japan 발행.
<문헌 2>
G. Salton의 Manipulation of Trees in Information Retrieval, 1962년 Communication of the ACM 5.
<문헌 3>
Knuth의 "기본 산법/정보 구조(Basic Algorithms/Information Structure)", Yoneda 및 Kakehi역, 1978년 Saiensu-sha 발행.
상술한 바와 같이, 상대 디바이스의 공개 키를 이용하여 상대 디바이스를 인증하기 전에, 디바이스는 CRL을 획득하고, 획득한 CRL을 내부 메모리에 저장하며, 상대 디바이스의 공개 키 인증서 ID가 저장된 CRL 내에 있는지의 여부를 확인하고, 공개 키 인증서 ID가 포함되어 있지 않을 때, 인증을 실행한다. 이러한 이유로, 디바이스는 CRL을 저장하기에 충분한 메모리 용량을 가질 필요가 있다.
그러나, 종래의 CRL은 모든 무효화된 공개 키 인증서의 ID를 포함하므로, 무효화된 공개 키 인증서의 수에 크기가 비례한다. 결국, 무효화된 공개 키 인증서의 수가 증가할 때, CRL의 크기도 증가한다.
이러한 이유로, CRL의 최대 크기를 예상하여 디바이스에 CRL을 저장하기 위한 충분한 메모리 용량을 제공하는 비현실적인 문제점이 발생한다.
예를 들어, 시스템 전체의 공개 키 인증서의 총 수가 230(대략 10억)이고, 인증서의 0.01% 즉, 100,000개가 무효화되어 있으며, 각 ID의 크기가 30 비트라고 가정한다. 모든 ID를 포함하는 종래의 CRL에서는, CRL의 크기는 30 비트 * 100,000 = 약 375 KB이다. 결국, 메모리의 약 375 KB가 CRL을 저장하기 위해 디바이스에 제공되어야 한다. 그러나, 인증서의 0.02% 즉, 200,000개가 무효화되는 경우, CRL의 크기는 30 비트 * 200,000 = 750 KB이고, 메모리의 약 750 KB가 디바이스에 제공되어야 한다. 무효화된 인증서의 수가 더욱 증가하면, 더욱 큰 메모리 용량이 제공되어야 한다.
본 발명은 공개 키 암호화 기술을 이용하는 인증 기술에 관한 것으로, 특히 무효화된 공개 키 인증서를 특정하는 기술에 관한 것이다.
도 1은 디지털 저작물 보호 시스템(10)의 구성을 나타내는 블록도이다.
도 2는 키 관리 장치(100)의 구성을 나타내는 블록도이다.
도 3은 트리 구조 테이블 D100의 데이터 구조의 일례를 나타낸다.
도 4는 트리 구조 T100의 개념도이다.
도 5는 무효화 노드를 포함하는 트리 구조 T200의 개념도이다.
도 6은 노드 무효화 패턴의 일례를 나타내는 데이터 구조도이다.
도 7은 복수의 암호화된 매체 키를 포함하는 키 정보의 일례를 나타내는 데이터 구조도이다.
도 8은 기록 매체 장치(300a)의 구성을 나타내는 블록도이다.
도 9는 재생 장치(400a)의 구성을 나타내는 블록도이다.
도 10은 사용자 장치에 디바이스 키를 할당하는 동작, 키 정보를 생성하여 기록 장치에 키 정보를 기입하는 동작, 및 사용자 장치가 컨텐츠를 암호화 또는 복호화하는 동작을 나타내고, 특히 디바이스 키가 제 3자에 의해 부정하게 노출될 때까지 각 장치의 동작을 나타내는 플로우차트이다.
도 11은 디바이스 키가 제 3자에 의해 부정하게 노출된 후에, 노출된 디바이스 키에 대응하는 트리 구조내의 노드를 무효화시키는 동작, 새로운 키 정보를 생성하는 동작, 및 사용자 장치가 컨텐츠를 암호화 또는 복호화하는 동작을 나타내는 플로우차트이다.
도 12는 키 구조 구성부(101)에 의해 트리 구조 테이블을 생성하고 생성한 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 나타내는 플로우차트이다.
도 13은 디바이스 키 할당부(103)에 의해 디바이스 키 및 ID 정보를 각 사용자 장치에 출력하는 동작을 나타내는 플로우차트이다.
도 14는 트리 구조 갱신부(105)에 의해 트리 구조를 갱신하는 동작을 나타내는 플로우차트이다.
도 15는 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 플로우차트이다.
도 16은 키 정보 생성부(107)에 의해 키 정보를 생성하는 동작을 나타내는 플로우차트이다.
도 17은 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장된 키 정보 중에서 하나의 암호화된 매체 키를 지정하는 동작을 나타내는 플로우차트이다.
도 18은 제 1 실시예에서, 무효화된 사용자 장치가 트리 구조내의 특정 리프 부근에 집중적으로 발생할 가능성이 있는 경우의 트리 구조의 일례를 나타낸다.
도 19는 제 2 실시예에서, 무효화된 사용자 장치가 트리 구조내의 특정 리프 부근에 집중적으로 발생하는 경우의 특정 NRP를 나타내는 트리 구조도이다.
도 20은 트리 구조 테이블 D400의 데이터 구조의 일례를 나타낸다.
도 21은 헤더 정보 D500의 데이터 구조의 일례를 나타낸다.
도 22는 키 정보 D600의 데이터 구조의 일례를 나타낸다.
도 23은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 24에 이어지는 플로우차트이다.
도 24는 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 25에 이어지는 플로우차트이다.
도 25는 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 26에 이어지는 플로우차트이다.
도 26은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 25로부터 이어지는 플로우차트이다.
도 27은 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체 키를 지정하는 동작을 나타내는 플로우차트이다.
도 28은 제 3 실시예에서, 특정 NRP를 나타내는 트리 구조도이다.
도 29는 헤더 정보 D700의 데이터 구조의 일례를 나타낸다.
도 30은 키 정보 D800의 데이터 구조의 일례를 나타낸다.
도 31은 헤더 정보를 생성하는 동작을 나타내는 도 32에 이어지는 플로우차트이다.
도 32는 헤더 정보를 생성하는 동작을 나타내는 도 33에 이어지는 플로우차트이다.
도 33은 헤더 정보를 생성하는 동작을 나타내는 도 34에 이어지는 플로우차트이다.
도 34는 헤더 정보를 생성하는 동작을 나타내는 도 33으로부터 이어지는 플로우차트이다.
도 35는 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체 키를 지정하는 동작을 나타내는 플로우차트이다.
도 36은 제 4 실시예에서 복수의 NRP가 어떻게 배열되어 있는지를 나타내는 트리 구조도이다.
도 37은 트리 구조 테이블 D1000의 데이터 구조의 일례를 나타낸다.
도 38은 헤더 정보 D900의 데이터 구조의 일례를 나타낸다.
도 39는 트리 구조 구성부(101)에 의해 트리 구조 테이블을 생성하고 생성한 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 나타내는 플로우차트이다.
도 40은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 41에 이어지는 플로우차트이다.
도 41은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 40으로부터 이어지는 플로우차트이다.
도 42는 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체 키를 지정하는 동작을 나타내는 플로우차트이다.
도 43은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 44에 이어지는 플로우차트이다.
도 44는 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 45에 이어지는 플로우차트이다.
도 45는 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 46에 이어지는 플로우차트이다.
도 46은 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 나타내는 도 4로부터 이어지는 플로우차트이다.
도 47은 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보 중에서 하나의 암호화된 매체 키를 지정하는 동작을 나타내는 플로우차트이다.
도 48은 디지털 저작물 보호 시스템(10f)의 구성을 나타내는 블록도이다.
도 49는 무효화 디바이스 KeyA, KeyB 및 KeyE가 할당되는 노드를 포함하는 트리 구조 T700의 개념도이다.
도 50은 헤더 정보 D1000 및 키 정보 D1010을 나타내는 데이터 구조도이다.
도 51은 기록 장치(300a)의 특정부(303)에 의해 암호화된 매체 키를 특정하는 동작을 나타내는 플로우차트이다.
도 52는 인증 시스템(1000)의 구성을 나타내는 블록도이다.
도 53은 제조 장치(1200)의 구성을 나타내는 블록도이다.
도 54는 인증국 장치(1100)의 구성을 나타내는 블록도이다.
도 55는 CRL의 일례를 나타내는 데이터 구조도이다.
도 56은 디지털 저작물 기록 장치(1400)의 구성을 나타내는 블록도이다.
도 57은 컴퓨터부(1900)의 구성을 나타내는 블록도이다.
도 58은 드라이브부(1600)의 구성을 나타내는 블록도이다.
도 59는 제조 장치(1200) 및 제조 장치(1300)의 동작을 나타내는 플로우차트이다.
도 60은 인증국 장치(1100)에 의해 공개 키 인증서를 발행하는 동작을 나타내는 플로우차트이다.
도 61은 인증국 장치(1100)에 의해 CRL을 발행하는 동작을 나타내는 플로우차트이다.
도 62는 컴퓨터부(1900) 및 드라이브부(1600)에 의한 동작을 나타내는 도 63에 이어지는 플로우차트이다.
도 63은 컴퓨터부(1900) 및 드라이브부(1600)에 의한 동작을 나타내는 도 62로부터 이어지는 플로우차트이다.
상술한 문제점을 해결하기 위해, 본 발명의 목적은 무효화될 공개 키 인증서의 수가 증가하는 경우에도 CRL의 크기를 억제시키는 무효화 리스트 생성 장치, 무효화 판정 장치, 인증 시스템, 무효화 리스트 생성 방법, 프로그램, 무효화 판정 방법 및 기록 매체를 제공하는 것이다.
상술한 목적을 달성하기 위해, 본 발명은 공개 키 암호를 사용하는 인증 시스템이고, 인증 시스템은, 공개 키 암호화 알고리즘 비밀 키 및 공개 키를 갖고, 비밀 키를 이용하여 상대방에게 자신의 정당성을 인증하는 단말기와, 적어도 단말기의 공개 키로 구성된 데이터에 대한 공개 키 인증서를 발행 및 배포하는 공개 키 인증서 발행 장치와, 공개 키 인증서 발행 장치에 의해 무효화될 단말기에 발행되는 공개 키 인증서를 특정하는 공개 키 무효화 리스트를 발행 및 배포하는 무효화리스트 생성 장치와, 검증될 상대방 단말기의 공개 키 인증서 및 공개 키 인증서 무효화 리스트를 수신하고, 공개 키 인증서가 공개 키 인증서 무효화 리스트에 등록되어 있는지의 여부를 판정하는 무효화 리스트 이용 장치와, 무효화 리스트 이용 장치에 의해 유효하다고 판정된 공개 키를 이용하여 상대방에 의한 인증을 검증하는 검증 장치로 구성된다.
무효화 리스트 생성 장치는 복수의 레벨로 구성된 트리 구조를 구성 및 저장하고, 단말기 중 다른 하나의 공개 키 인증서를 각각 식별하는 고유값을 트리 구조내의 리프에 각각 할당한다. 또한, 저장된 트리내의 특정 노드의 리프인 적어도 하나의 자손이 무효화될 공개 키 인증서의 고유값에 대응할 때, 무효화 리스트 생성 장치는 노드를 무효화 노드로 만들고, 적어도 하나의 무효화된 자노드를 갖는 노드에 노드 무효화 패턴을 할당한다. 노드 무효화 패턴은 자노드 중 다른 하나가 각각 무효화되어 있는지의 여부를 각각 식별하는 식별자를 연결함으로써 생성된다. 그 후, 무효화 리스트 생성 장치는 트리 구조내의 모든 노드 무효화 패턴이 트리 구조내의 모든 노드를 트레이스(trace)하는 소정의 규칙에 기초하여 배열되는 공개 키 인증서 무효화 리스트를 생성한다.
무효화 리스트 이용 장치는 소정의 규칙에 기초하여 공개 키 무효화 리스트를 분석하고, 검증될 상대방 단말기의 공개 키 인증서가 무효화 리스트에 등록되어 있는지의 여부를 판정한다.
또한, 본 발명은 단말기의 공개 키로 구성되는 데이터에 대한 공개 키 인증서를 발행 및 배포하는 공개 키 인증서 발행 장치와, 공개 키 인증서 발행 장치에의해 단말기에 발행되는 무효화되어 있는 공개 키 인증서를 특정하는 공개 키 인증서 무효화 리스트를 발행 및 배포하는 무효화 리스트 생성 장치이다.
무효화 리스트 생성 장치는 복수의 레벨로 구성되는 트리 구조를 구성 및 저장하고, 단말기 중 다른 하나의 공개 키 인증서를 각각 식별하는 고유값을 트리 구조내의 리프에 각각 할당한다. 또한, 저장된 트리내의 특정 노드의 리프인 적어도 하나의 자손이 무효화될 공개 키 인증서의 고유값에 대응할 때, 무효화 리스트 생성 장치는 노드를 무효화 노드로 만들고, 노드 무효화 패턴을 적어도 하나의 무효화된 자노드를 갖는 노드에 할당한다. 노드 무효화 패턴은 자노드 중 다른 하나가 각각 무효화되어 있는지의 여부를 각각 식별하는 식별자를 연결함으로써 생성된다. 그 후, 무효화 리스트 생성 장치는 트리 구조내의 모든 노드 무효화 패턴이 트리 구조내의 모든 노드를 트레이스하는 소정의 규칙에 기초하여 배열되는 공개 키 인증서 무효화 리스트를 생성한다.
발명을 실행하는 최상의 모드
1. 제 1 실시예
이하 본 발명의 제 1 실시예로서의 디지털 저작물 보호 시스템(10)을 설명한다.
1.1 디지털 저작물 보호 시스템(10)의 구성
디지털 저작물 보호 시스템(10)은 도 1에 나타내는 바와 같이, 키 관리 장치(100), 키 정보 기록 장치(200), 기록 장치(300a, 300b, 300c, …)(이하 "기록 장치(300a 등)"라고 한다) 및 재생 장치(400a, 400b, 400c, …)(이하 "재생 장치(400a 등)"라고 한다)로 구성된다.
키 관리 장치(100)는 키 정보 기록 장치(200)에 의해 기록 매체(500a)에 미리 기록되는 키 정보를 갖고, 그 결과 키 정보가 기록된 기록 매체(500b)가 미리 생성된다. 기록 매체(500a)는 어떠한 정보도 기록되지 않은 DVD-RAM(디지털 다기능 디스크 랜덤 액세스 메모리)과 같은 기록 가능 매체이다. 또한, 키 관리 장치(100)는 각 기록 장치(300a 등) 및 각 재생 장치(400a 등)에 키 정보를 각각 복호화하는디바이스 키를 할당하고, 할당된 디바이스 키, 디바이스 키를 식별하는 디바이스 키 식별 정보, 및 특정 기록 장치 또는 재생 장치를 식별하는 ID 정보를 미리 각각의 기록 장치(300a 등) 및 재생 장치(400a 등)에 배포한다.
기록 장치(300a)는 디지털화된 컨텐츠를 암호화하여 암호화된 컨텐츠를 생성하고, 생성한 암호화된 컨텐츠를 기록 매체(500b)에 기록하며, 그 결과 기록 매체(500c)가 생성된다. 재생 장치(400a)는 기록 매체(500c)로부터 암호화된 컨텐츠를 판독하고, 판독한 암호화된 컨텐츠를 복호화하여 원래의 컨텐츠를 얻는다. 기록 장치(300b 등)는 기록 장치(300a)와 동일한 방식으로 동작하고, 재생 장치(400b 등)는 재생 장치(400a)와 동일한 방식으로 동작한다.
이하 기록 장치(300b 등) 및 재생 장치(400b 등)을 칭하는데 "사용자 장치"가 이용되는 것에 유념하라.
1.1.1 키 관리 장치(100)
키 관리 장치(100)는 도 2에 나타내는 바와 같이, 트리 구조 구성부(101), 트리 구조 저장부(102), 디바이스 키 할당부(103), 무효화 장치 지정부(104), 트리 구조 갱신부(105), 키 정보 헤더 생성부(106) 및 키 정보 생성부(107)로 구성된다.
구체적으로는, 키 관리 장치(100)는 마이크로프로세서, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), 하드 디스크 유닛, 디스플레이 유닛, 키보드 및 마우스를 포함하는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM 또는 하드 디스크 유닛에 저장되어 있다. 키 관리 장치(100)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 자신의 기능을 달성한다.
(1) 트리 구조 저장부(102)
구체적으로, 트리 구조 저장부(102)는 하드 디스크 유닛으로 구성되고, 도 3에 나타내는 바와 같이, 트리 구조 테이블 D100을 갖는다.
트리 구조 테이블 D100은 트리 구조의 일례로서 도 4에 나타내는 트리 구조 T100에 대응하고, 트리 구조 T100을 표현하기 위한 테이터 구조를 나타낸다. 후술하는 바와 같이, 트리 구조 T100을 표현하기 위한 테이터 구조는 트리 구조 구성부(101)에 의해 트리 구조 테이블 D100으로 생성되고, 트리 구조 저장부(102)에 저장된다.
<트리 구조 T100>
트리 구조 T100은 도 4에 나타내는 바와 같이, 5개의 계층 즉 계층 0 내지 계층 4를 갖는 이진 트리이다. 트리 구조 T100이 이진 트리이기 때문에, 트리 구조 T100내의 각 노드(리프(leaf) 제외)는 2개의 경로를 통해 노드의 하위측상의 2개의 노드에 접속된다. 루트인 하나의 노드가 계층 0에 포함되고, 2개의 노드가 계층 1에 포함되며, 4개의 노드가 계층 2에 포함되고, 8개의 노드가 계층 3에 포함되며, 리프인 16개의 노드가 계층 4에 포함된다. "하위측"은 트리 구조의 리프측을 칭하는 한편, "상위측"은 트리 구조의 루트측을 칭하는 것에 유념하라.
트리 구조 T100내의 노드(리프 제외)를 자신의 바로 하위 노드에 연결하는 2개의 경로의 각각에는 번호가 할당되는데, 좌측 경로에는 "0"이 할당되고, 우측 경로에는 "1"이 할당된다. 여기에서, 도 4에서의 좌측 노드를 연결하도록 노드의 좌측으로 하향 분기하는 하나의 경로를 좌측 경로하고 한다. 우측 노드를 연결하도록노드의 우측으로 하향 분기하는 하나의 경로를 우측 경로라고 한다.
노드명이 각 노드에 할당된다. 루트 노드의 명은 "루트"이다. 계층 1로부터 하위의 계층내의 각각의 노드에는 노드명으로서 문자열이 부여된다. 문자열내의 문자의 수는 계층의 번호와 동일하고, 루트로부터 노드까지의 노드와 동일한 경로상의 각 노드에 할당되는 번호를 이 순서로 배열함으로써 생성된다. 예를 들어, 계층 1내의 2개의 노드의 노드명은 각각 "0" 및 "1"이다. 계층 2내의 4개의 노드의 노드명은 각각 "00", "01", "10" 및 "11"이다. 계층 3내의 8개의 노드의 노드명은 "000", "001", "010", "011", …, "101", "110" 및 "111"이다. 계층 4내의 16개의 노드의 노드명은 각각 "0000", "0001", "0010", "0011", …, "1100", "1101", "1110" 및 "1111"이다.
<트리 구조 테이블 D100>
트리 구조 테이블 D100은 트리 구조 T100내의 노드의 수와 동일한 수의 노드 정보를 포함한다. 각각의 노드 정보는 트리 구조 T100내의 노드 중 하나에 대응한다.
각각의 노드 정보는 디바이스 키 및 무효화 플래그를 포함한다.
각 노드명은 특정 노드 정보가 대응하는 노드를 식별한다.
각 디바이스 키는 노드 정보에 대응하는 노드에 할당된다.
또한, 각 무효화 플래그는 노드 정보에 대응하는 디바이스 키가 무효화되었는지의 여부를 나타낸다. "0"으로 설정된 무효화 플래그는 디바이스 키가 무효화되지 않은 것을 나타내는 반면에, "1"로 설정된 무효화 플래그는 디바이스 키가 무효화되어 있는 것을 나타낸다.
각각의 노드 정보는 트리 구조 테이블 D100에 아래의 순서 규칙 1에 의해 나타내는 순서로 저장된다. 순서 규칙 1은 기록 장치(300a 등) 및 재생 장치(400a 등)가 트리 구조 테이블 D100으로부터 노드 정보를 순차적으로 판독할 때도 적용된다.
(a) 각 계층내의 노드에 대응하는 노드 정보는 트리 구조 T100내의 계층 번호의 오름차순으로 트리 구조 테이블 D100에 저장된다. 구체적으로는, 계층 0내의 하나의 루트에 대응하는 첫 번째 노드 정보가 저장된 후, 계층 1내의 2개의 노드에 대응하는 2개의 노드 정보, 이어서 계층 2내의 4개의 노드에 대응하는 4개의 노드 정보 등등이 동일한 방식으로 저장된다.
(b) 각 계층 내에서, 계층내의 각 노드에 대응하는 노드 정보는 노드명의 오름차순으로 저장되어 있다.
구체적으로는, 노드 정보는 도 3에 나타내는 트리 구조 테이블 D100에서 아래의 순서로 저장되어 있다.
"루트", "0", "1", "00", "01", "10", "11", "000", "001", "010", "011", …, "101", "110", "111", "0000", "0001", "0010", "0011", …, "1100", "1101", "1110", "1111".
여기에서, 노드 정보가 저장되는 순서는 각각의 노드 정보에 포함되는 노드명으로 나타낸다.
(2) 트리 구조 구성부(101)
트리 구조 구성부(101)는 후술하는 바와 같이, 디바이스 키를 관리하는 n진 데이터 구조를 구성하고, 구성한 트리 구조를 트리 구조 저장부(102)에 저장한다. 여기에서, n은 2 이상의 정수이다. 일례로서, n=2이다.
트리 구조 구성부(101)는 노드명으로서 "루트"를 갖는 노드 정보를 먼저 생성하고, 생성한 노드 정보를 트리 구조 저장부(102)내의 트리 구조 테이블에 기입한다.
이어서, 트리 구조 구성부(101)는 계층 1내의 2개의 노드를 식별하는 노드명 "0" 및 "1"을 생성하고, 생성된 노드명 "0" 및 "1"을 각각 포함하는 2개의 노드 정보를 생성하며, 2개의 생성된 노드 정보를 언급한 순서로 트리 구조 저장부(102)내의 트리 구조 테이블에 기입한다.
이어서, 트리 구조 구성부(101)는 계층 2내의 4개의 노드를 식별하는 노드명 "00", "01", "10" 및 "11"을 생성하고, 생성된 노드명 "00", "01", "10" 및 "11"을 각각 포함하는 4개의 노드 정보를 생성하며, 4개의 생성된 노드 정보를 언급한 순서로 트리 구조 테이블에 부가한다.
이 후에, 트리 구조 구성부(101)는 계층 3 및 계층 4에 대한 노드 정보를 언급한 순서로 생성하고, 생성한 노드 정보를 상술한 바와 동일한 방법으로 트리 구조 테이블에 기입한다.
이어서, 트리 구조 구성부(101)는 트리 구조내의 각 노드에 대해 난수를 이용하여 디바이스 키를 생성하고, 생성한 디바이스 키를 각각의 노드에 대응하여 트리 구조에 기입한다.
(3) 디바이스 키 할당부(103)
디바이스 키 할당부(103)는 후술하는 바와 같이, 사용자 장치가 아직 할당되지 않은 리프와 디바이스 키가 할당될 사용자 장치에 대응하여 디바이스 키를 선택하고, 선택한 디바이스 키를 사용자 장치에 출력한다.
디바이스 키 할당부(103)는 4 비트 길이인 가변 ID를 갖는다.
디바이스 키 할당부(103)는 후술하는 처리 (a) 내지 (f)를 16회 실행한다. 매 회, 가변 ID는 값 "0000", "0001", "0010", …, "1110" 및 "1111" 중 하나를 갖는다. 이러한 처리를 16회 실행함으로써, 디바이스 키 할당부(103)는 ID 정보 및 5개의 디바이스 키를 16개의 사용자 장치의 각각에 할당한다.
(a) 디바이스 키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명 "루트"를 포함하는 노드 정보를 획득하고, 획득한 노드 정보로부터 디바이스 키를 추출한다. 추출한 디바이스 키는 루트에 할당되는 디바이스 키이다.
(b) 디바이스 키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 가변 ID의 헤드 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득한 노드 정보로부터 디바이스 키를 추출한다. 이하, 이러한 디바이스 키를 디바이스 키 A라고 한다.
(c) 디바이스 키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 가변 ID의 헤드 2 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득한 노드 정보로부터 디바이스 키를 추출한다. 이하, 이러한 디바이스 키를 디바이스 키 B라고 한다.
(d) 디바이스 키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 가변 ID의 헤드 3 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득한 노드 정보로부터 디바이스 키를 추출한다. 이하, 이러한 디바이스 키를 디바이스 키 C라고 한다.
(e) 디바이스 키 할당부(103)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 가변 ID의 4 비트인 노드명을 포함하는 노드 정보를 획득하고, 획득한 노드 정보로부터 디바이스 키를 추출한다. 이하, 이러한 디바이스 키를 디바이스 키 D라고 한다.
(f) 디바이스 키 할당부(103)는 ID 정보, 루트에 할당되는 디바이스 키, 각 노드에 할당되는 디바이스 키 A, B, C 및 D, 그리고 5개의 디바이스 키 식별 정보를 사용자 장치내의 키 정보 저장부에 기입한다. ID 정보는 가변 ID이고, 5개의 디바이스 키 식별 정보는 5개의 디바이스 키를 각각 식별하는 것에 유념하라.
이러한 방법으로, 각 사용자 장치내의 키 정보 저장부는 ID 정보, 5개의 디바이스 키 식별 정보 및 5개의 디바이스 키를 도 8에 일례로 나타내는 바와 같이, 저장한다. 여기에서, 5개의 디바이스 키 식별 정보 및 5개의 디바이스 키는 대응하여 저장된다. 각각의 디바이스 키 식별 정보는 대응하는 디바이스 키가 할당되는 계층의 번호(계층 번호)이다.
이러한 방법으로, ID 정보 및 5개의 디바이스 키가 16개의 사용자 장치의 각각에 할당된다.
일례로서, 도 4에 나타내는 트리 구조 T100은 상술한 바와 같이, 5개의 계층을 갖는 이진 트리이고, 16개의 리프를 포함한다. 여기에서, 16개의 사용자 장치가 존재하고, 각각의 사용자 장치는 리프 중 하나에 대응한다고 가정한다. 각 사용자 장치에는 대응하는 리프로부터 루트까지의 경로상의 노드에 할당되는 디바이스 키가 제공된다. 예를 들어, 사용자 장치 1에는 5개의 디바이스 키 IK1, KeyH, KeyD, KeyB 및 KeyA가 제공된다. 사용자 장치 1에는 예컨대, ID 정보 "0000"이 추가로 제공되고, 사용자 장치 14에는 ID 정보 "1101"이 추가로 제공된다.
(4) 무효화 장치 지정부(104)
무효화 장치 지정부(104)는 키 관리 장치(100)의 관리자로부터 무효화될 적어도 하나의 사용자를 식별하는 적어도 하나의 ID 정보를 수신하고, 수신한 ID 정보를 키 구조 갱신부(105)에 출력한다.
(5) 키 구조 갱신부(105)
키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 적어도 하나의 ID 정보를 수신하고, 적어도 하나의 ID 정보의 각각에 대해 아래의 처리 (a) 내지 (d)를 실행한다.
(a) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명으로서 수신한 ID 정보를 포함하는 노드 정보를 획득하고, 획득한 노드 정보가 저장되는 트리 구조 테이블내의 위치에 무효화 플래그 "1"이 부가된 노드 정보를 기입함으로써, 무효화 플래그가 부가된 노드 정보로 원래의 노드 정보를 오버라이트한다.
(b) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명으로서 수신한 ID 정보의 헤드 3 비트를 포함하는 노드 정보를 획득하고, 획득한 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방법으로 트리 구조 테이블내의 원래의 노드 정보를 오버라이트한다.
(c) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명으로서 수신한 ID 정보의 헤드 2 비트를 포함하는 노드 정보를 획득하고, 획득한 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방법으로 트리 구조 테이블내의 원래의 노드 정보를 오버라이트한다.
(d) 키 구조 갱신부(105)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 노드명으로서 "루트"를 포함하는 노드 정보를 획득하고, 획득한 노드 정보에 무효화 플래그 "1"을 부가하며, 상술한 바와 동일한 방법으로 트리 구조 테이블내의 원래의 노드 정보를 오버라이트한다.
설명한 바와 같이, 키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 수신된 ID 정보에 기초하여, 수신된 정보로 나타내는 리프로부터 트리 구조내의 루트까지의 경로상의 모든 노드를 무효화시킨다.
도 4에 나타내는 트리 구조 T100내의 ID 정보 "0000", "1010" 및 "1011"로 나타내는 사용자 장치가 무효화된다고 가정하면, 노드가 상술한 방법으로 무효화된 결과적인 트리 구조 T200을 도 5에 나타낸다.
또한, 트리 구조 테이블 D100은 트리 구조 T200에 대응하는 무효화 플래그를 갖는다.
트리 구조 T200에서, ID 정보 "0000"으로 나타내는 사용자 장치 1에 대응하는 리프로부터 루트까지의 경로상의 모든 노드, ID 정보 "1010"으로 나타내는 사용자 장치 11에 대응하는 리프로부터 루트까지의 경로상의 모든 노드, 및 ID 정보 "1011"로 나타내는 사용자 장치 12에 대응하는 리프로부터 루트까지의 경로상의 모든 노드는 ×표로 표시되어 있다. 각 ×표는 무효화 노드를 나타낸다.
무효화 노드 중 하나에 대응하는 트리 구조 테이블 D100내의 각각의 노드 정보에는 무효화 플래그가 부가되어 있다.
(6) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 다수의 계층을 나타내는 변수 i와, 계층내의 노드명을 나타내는 변수 j를 갖는다.
키 정보 헤더 생성부(106)는 트리 구조내의 각 계층에 대하여 후술하는 처리 (a)를 실행한다. 매회 키 정보 헤더 생성부(106)는 상기 처리를 실행하고, 계층 번호를 나타내는 변수 i는 값 "0", "1", "2" 또는 "3"을 갖는다.
(a) 키 정보 헤더 생성부(106)는 변수 i로 나타내는 계층 번호를 갖는 계층내의 각 노드에 대해 처리 (a-1) 내지 (a-3)을 실행한다. 여기에서, 처리 (a-1) 내지 (a-3)의 대상인 노드의 명은 변수 j로 나타낸다.
(a-1) 키 정보 헤더 생성부(106)는 트리 구조 저장부(102)내의 트리 구조로부터 변수 j 및 "0"을 결합하여 획득되는 노드명을 포함하는 노드 정보와, 변수 j 및 "1"을 결합하여 획득되는 노드명을 포함하는 노드 정보를 획득한다.
이러한 방식으로 획득되는 2개의 노드 정보는 변수 j로 나타내는 대상 노드에 직접적으로 하위에 있는(즉, 접속되어 바로 아래에 있는) 2개의 노드에 대응한다.
(a-2) 키 정보 헤더 생성부(106)는 2개의 획득된 노드 정보의 각각에 포함되는 무효화 플래그가 "0"인지의 여부를 검사한다. 둘다 "0"이 아닌 경우, 키 정보 헤더 생성부(106)는 2개의 획득된 노드 정보에 각각 포함되는 2개의 무효화 플래그를 2개의 노드 정보가 트리 구조 테이블에 저장되는 순서로 배열함으로써 노드 무효화 패턴(이하 "NRP")을 생성한다.
특히, 2개의 획득된 노드 정보의 무효화 플래그가 각각 "0" 및 "0"일 때, 키 정보 헤더 생성부(106)는 NRP를 생성하지 않는다.
또한, 2개의 획득된 노드 정보의 무효화 플래그가 각각 "1" 및 "0"일 때, 키 정보 헤더 생성부(106)는 NRP {10}을 생성한다.
2개의 획득된 노드 정보의 무효화 플래그가 각각 "0" 및 "1"일 때, 키 정보 헤더 생성부(106)는 NRP {01}을 생성한다.
2개의 획득된 노드 정보의 무효화 플래그가 각각 "1" 및 "1"일 때, 키 정보 헤더 생성부(106)는 NRP {11}을 생성한다.
(a-3) 키 정보 헤더 생성부(106)는 생성된 NRP를 키 정보 기록 장치(200)에 출력한다.
상술한 방식으로, 키 정보 헤더 생성부(106)는 계층내의 각 노드에 대하여 대상 노드의 2개의 직접적인 하위 노드가 무효화되는지의 여부를 검사하고, 2개의 하위 노드 중 어느 하나 또는 둘다가 무효화될 때 상술한 바와 같은 무효화 패턴을생성한다. 도 5에 나타내는 트리 구조 T200에서, 생성된 각 NRP는 ×표가 표시된 대응하는 노드 근방에 나타내고 있다.
또한, 키 정보 헤더 생성부(106)는 상술한 처리에서 NRP를 출력하기 때문에, 도 5에 나타내는 예에서는 도 6에 일례로서 나타내는 복수의 NRP가 생성되어 출력된다. 키 정보 헤더 생성부(106)는 이들 NRP를 헤더 정보로서 출력한다.
도 5에 나타내는 트리 구조 T200에서, 사용자 장치 1, 사용자 장치 11 및 사용자 장치 12가 무효화된다. 여기에서, 무효화되는 각 사용자 장치에 대응하는 리프로부터 루트까지의 경로 상에 있는 노드(다시 말하면, 도 5에 ×표로 표시된 노드)는 무효화 노드라고 한다. 또한, NRP는 하나의 노드에 대한 2개의 자노드(child node)의 상태를 좌측에서 우측으로의 순서로 결합함으로써 만들어진다. 여기에서, "1"은 무효화된 자노드를 표현하는데 사용되지만, "0"은 무효화되지 않은 자노드를 표현하는데 사용된다. n진 트리에 있어서, 각 무효화 패턴은 n 비트 길이인 정보이다. 트리 구조 T200내의 루트 T201의 자노드는 모두 무효화되므로, 루트 T201의 무효화 패턴은 {11}로 표현된다. 노드 T202의 무효화 패턴은 {10}으로 표현된다. 노드 T203은 무효화 노드이지만, 그 노드는 리프이기 때문에, 어떠한 자노드도 갖지 않고 무효화 패턴을 갖지도 않는다.
도 6에 일례로서 나타내는 바와 같이, 헤더 정보 D200은 NRP {11}, {10}, {10}, {10}, {01}, {10} 및 {11}로 구성되며, 이들 NRP는 언급한 순서로 헤더 정보 D200에 포함되어 있다.
노드 정보 패턴이 배열되어 있는 헤더 정보 D200내의 위치가 설정되어 있는것에 유념하라. 이들 위치는 상술한 반복 처리에 따라 설정된다. 도 6에 나타내는 바와 같이, NRP {11}, {10}, {10}, {10}, {01}, {10} 및 {11}은 각각 "0", "1", "2", "3", "4", "5" 및 "6"으로 정해진 위치에 배열된다.
상술한 바와 같이, 키 정보 헤더 생성부(106)는 적어도 하나의 무효화 노드의 NRP를 추출하고, 추출된 적어도 하나의 NRP를 키 정보의 헤더 정보로서 키 정보 기록 장치(20)에 출력한다. 여기에서, 키 정보 헤더 생성부(106)는 레벨 순으로 배열한다. 바꿔 말하면, 키 정보 헤더 생성부(106)는 복수의 NRP를 최상위 계층으로부터 최하위 계층까지의 순서로 배열하고, 동일한 계층의 NRP를 좌측으로부터 우측으로 배열한다. NRP는 어떤 종류의 규칙에 기초하여 배열되면 되는 것에 유념하라. 예를 들어, 동일한 계층내의 NRP는 우측으로부터 좌측으로 배열되어도 된다.
(7) 키 정보 생성부(107)
키 정보 생성부(107)는 키 정보 헤더 생성부(106)와 같이, 계층 번호를 나타내는 변수 i와, 계층내의 노드명을 나타내는 변수 j를 갖는다.
키 정보 생성부(107)는 계층 0을 제외한 각 계층에 대해 이하의 처리 (a)를 실행한다. 각 계층에 대해 처리 (a)를 실행할 때, 계층 번호를 나타내는 변수 i는 값 "1", "2" 또는 "3"을 보유한다.
(a) 키 정보 생성부(107)는 변수 i로 나타내는 계층 번호를 갖는 계층내의 각 노드에 대해 처리 (a-1) 내지 (a-3)을 실행한다. 여기에서, 처리 (a-1) 내지 (a-3)의 대상인 노드의 명은 변수 j로 나타낸다.
(a-1) 키 정보 생성부(107)는 트리 구조 저장부(102)내의 트리 구조 테이블로부터 변수 j를 포함하는 노드 정보를 노드명으로서 획득하고, 획득된 노드 정보내의 무효화 플래그가 "1" 또는 "0"인지를 판정한다.
(a-2) 무효화 플래그가 "0"인 경우, 키 정보 생성부(107)는 암호화가 대상 노드의 직접적인 상위에 접속되는 노드에 대응하는 디바이스 키를 사용하여 실행되었는지의 여부를 추가로 판정한다.
(a-3) 암호화가 대상 노드의 직접적인 상위에 접속되는 노드에 대응하는 디바이스 키를 사용하여 실행되지 않은 경우, 키 정보 생성부(107)는 획득된 노드 정보로부터 디바이스 키를 추출하고, 추출된 디바이스 키를 이용하여 생성된 매체 키를 암호화 알고리즘 E1을 적용하여 암호화하여, 암호화된 매체 키를 생성한다.
암호화된 매체 키 = E1 (디바이스 키, 매체 키)
여기에서, E (A, B)는 데이터 B가 키 A를 이용하여 암호화 알고리즘 E를 적용하여 암호화되는 것을 나타낸다.
암호화 알고리즘 E1의 일례로서 DES(Data Encryption Standard)가 있다.
이어서, 키 정보 생성부(107)는 생성한 암호화된 매체 키를 키 정보 기록 장치(200)에 출력한다.
무효화 플래그가 "1"인 경우, 또는 암호화가 실행된 경우, 키 정보 생성부(107)는 처리 (a-3)을 실행하지 않는다는 것에 유념하라.
키 정보 생성부(107)는 상술한 바와 같이 반복적으로 상술한 처리를 실행하기 때문에, 도 5에 나타내는 예에서는, 도 7에 일례로 나타내는 바와 같이 복수의 암호화된 매체 키가 생성되어 출력된다. 키 정보 생성부(107)는 복수의 암호화된매체 키를 키 정보 D300으로 출력한다.
매체 키가 키 정보 D300에 저장되는 위치가 설정되는 것에 유념하라. 이들 위치는 상술한 처리에 따라 설정된다. 도 7에 나타내는 바와 같이, 암호화된 매체 키 E1 (keyE, 매체 키), E1 (keyG, 매체 키), E1 (keyI, 매체 키), E1(keyL, 매체 키) 및 E1 (IK2, 매체 키)는 각각 "0", "1", "2", "3" 및 "4"로 정해진 위치에 저장된다.
1.1.2 키 정보 기록 장치(200)
키 정보 기록 장치(200)는 키 정보 헤더 생성부(106)로부터 헤더 정보를 수신하고, 키 정보 생성부(107)로부터 키 정보를 수신하며, 수신된 헤더 정보 및 키 정보를 기록 매체(500a)에 기입한다.
1.1.3 기록 매체(500a, 500b 및 500c)
기록 매체(500a)는 DVD-RAM과 같은 기록 가능 매체로서 어떠한 종류의 정보도 저장하고 있지 않다.
기록 매체(500b)는 상술한 방식으로 헤더 정보가 부가되어 있는 키 정보가 키 관리 장치(100) 및 키 정보 기록 장치(200)에 기입된 기록 매체(500a)이다.
기록 매체(500c)는 상술한 방식으로 암호화된 컨텐츠가 기록 장치(300a 등) 중 어느 하나에 기입된 기록 매체(500b)이다.
도 8에 나타내는 바와 같이, 헤더 정보가 부가되어 있는 키 정보 및 암호화된 컨텐츠는 기록 매체(500c)에 기록된다.
1.1.4 기록 장치(300a 등)
기록 장치(300a 등)는 도 8에 나타내는 바와 같이, 키 정보 저장부(301), 복호화부(302), 특정부(303), 암호화부(304) 및 컨텐츠 저장부(305)로 구성된다. 기록 장치(300b 등)는 기록 장치(300a)와 동일한 구성을 가지므로, 그 설명은 생략한다.
기록 장치(300a 등)는 마이크로프로세서, ROM 및 RAM을 포함한다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 기록 장치(300a)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
기록 매체(500b)가 기록 장치(300a)에 적재된다. 기록 장치(300a)는 복호화될 암호화된 매체 키 및 사용될 디바이스 키의 위치를 특정하기 위해, 기록 장치(300a) 자체에 저장되어 있는 ID 정보에 기초하여 기록 매체(500b)에 저장된 헤더 정보를 분석하고, 특정된 디바이스 키를 사용하여 암호화된 매체 키를 복호화하여 결국 매체 키를 획득한다. 이어서, 기록 장치(300a)는 획득된 매체 키를 이용하여 디지털화된 컨텐츠를 암호화하고, 암호화된 컨텐츠를 기록 매체(500b)에 기록한다.
(1) 키 정보 저장부(301)
키 정보 저장부(301)는 ID 정보, 5개의 디바이스 키, 및 5개의 디바이스 키를 각각 식별하기 위한 5개의 디바이스 키 식별 정보를 저장하는 영역을 갖는다.
(2) 특정부(303)
특정부(303)는 키 관리 장치(100)내의 키 정보 헤더 생성부(106)가 상술한 순서 규칙 1에 따르는 키 정보의 헤더 정보를 생성하였다는 가정 하에 동작한다.
특정부(303)는 키 정보 저장부(301)로부터 ID 정보를 판독한다. 특정부(303)는 또한 기록 매체(500b)로부터 헤더 정보 및 키 정보를 판독한다. 이어서, 특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 헤더 정보를 최상위로부터 순차적으로 검사함으로써 키 정보내의 하나의 암호화된 매체 키의 위치 X를 특정하고, 암호화된 매체 키를 복호화할 때 사용될 디바이스 키를 식별하는 디바이스 키 식별 정보를 특정한다. 암호화된 매체 키의 위치 X를 특정하고, 디바이스 키 식별 정보를 특정하는 동작의 상세한 설명은 후술한다.
이어서, 특정부(303)는 특정된 매체 키 및 특정된 디바이스 키 식별 정보를 복호화부(302)에 출력한다.
(3) 복호화부(302)
복호화부(302)는 특정부(303)로부터 암호화된 매체 키 및 디바이스 키 식별 정보를 수신한다. 암호화된 매체 키 및 디바이스 키 식별 정보를 수신할 때, 복호화부(302)는 키 정보 저장부(301)로부터 수신된 디바이스 키 식별 정보에 의해 식별되는 디바이스 키를 판독하고, 판독된 디바이스 키를 이용하여 복호화 알고리즘 D1을 적용하여 수신한 암호화된 매체 키를 복호화하여 매체 키를 생성한다.
매체 키 = D1 (디바이스 키, 암호화된 매체 키)
여기에서, D (A ,B)는 키 A를 이용하여 복호화 알고리즘 D를 적용하여 암호화된 데이터 B를 복호화하여 원래의 데이터를 생성하는 것을 나타낸다.
또한, 복호화 알고리즘 D1은 암호화 알고리즘 E1에 대응하고, 암호화 알고리즘 E1을 적용하여 암호화된 데이터를 복호화하는 알고리즘이다.
이어서, 복호화부(302)는 생성된 매체 키를 키 정보 갱신부(304)에 출력한다.
도 8에 나타내는 각 블록은 접속선에 블록에 접속되지만, 일부 접속선은 생략되어 있다. 여기에서, 각 접속선은 신호 및 정보가 전송되는 경로를 나타낸다. 또한, 복호화부(302)를 나타내는 블록에 접속하는 접속선 중, 키 표시로 도시되어 있는 선은 정보가 복호화부(302)에 전송되는 경로를 키로서 나타낸다. 이것은 키 정보 갱신부(304)에 대해서 동일하며, 다른 도면에서의 다른 블록에 대해서도 동일하다.
(4) 컨텐츠 저장부(305)
컨텐츠 저장부(305)는 디지털화된 음악과 같은 디지털 저작물인 컨텐츠를 저장한다.
(5) 암호화부(304)
암호화부(304)는 복호화부(302)로부터 매체 키를 수신하고, 컨텐츠 저장부(305)로부터 컨텐츠를 판독한다. 이어서, 암호화부(304)는 판독된 컨텐츠를 수신된 매체 키를 이용하여 암호화 알고리즘 E2를 적용하여 암호화하여 암호화된 컨텐츠를 생성한다.
암호화된 컨텐츠 = E2 (매체 키, 컨텐츠)
여기에서, 암호화 알고리즘 E2는 예컨대, DES 암호화 알고리즘이다.
이어서, 암호화부(304)는 생성한 암호화된 컨텐츠를 기록 매체(500b)에 기입한다. 그 결과, 암호화된 컨텐츠가 기입된 기록 매체(500c)가 생성된다.
1.1.5 재생 장치(400a, 400b, 400c, …)
재생 장치(400a)는 도 9에 나타내는 바와 같이, 키 정보 저장부(401), 특정부(402), 복호화부(403), 복호화부(404) 및 재생부(405)로 구성된다. 재생 장치(400b 등)는 재생 장치(400a)와 동일한 구성을 가지므로, 그 설명은 생략한다.
재생 장치(400a)는 특히 마이크로프로세서, ROM 및 RAM을 포함한다. 컴퓨터 프로그램이 RAM에 저장되어 있다. 재생 장치(400a)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 그 기능을 달성한다.
여기에서, 키 정보 저장부(401), 특정부(402) 및 복호화부(403)는 각각 키 정보 저장부(301), 특정부(303) 및 복호화부(302)와 동일한 구성을 가지므로, 그 설명은 생략한다.
기록 매체(500c)가 재생 장치(400a)에 적재된다. 재생 장치(400a)는 재생 장치(400a) 자체가 저장하는 ID 정보에 기초하여 복호화될 암호화된 매체 키 및 사용될 디바이스 키의 위치를 특정하기 위해 기록 매체(500c)에 저장된 헤더 정보를 분석하고, 특정한 암호화된 매체 키를 특정된 디바이스 키를 이용하여 복호화하여 매체 키를 획득한다. 이어서, 재생 장치(400a)는 기록 매체(500c)에 저장되어 있는 암호화된 컨텐츠를 획득된 매체 키를 이용하여 복호화하여 컨텐츠를 재생한다.
(1) 복호화부(404)
복호화부(404)는 복호화부(403)로부터 매체 키를 수신하고, 기록 매체(500c)로부터 암호화된 컨텐츠를 판독하며, 판독한 암호화된 컨텐츠를 수신된 매체 키를 이용하여 복호화 알고리즘 D2를 적용하여 복호화하여 컨텐츠를 생성하고, 생성된 컨텐츠를 재생부(405)에 출력한다.
컨텐츠 = D2 (매체 키, 암호화된 컨텐츠)
여기에서, 복호화 알고리즘 D2는 암호화 알고리즘 E2에 대응하고, 암호화 알고리즘 E2를 적용하여 암호화된 데이터를 복호화하는 알고리즘이다.
(2) 재생부(405)
재생부(405)는 복호화부(404)로부터 컨텐츠를 수신하고, 수신된 컨텐츠를 재생한다. 예를 들어, 컨텐츠가 음악인 경우, 재생부(405)는 컨텐츠를 오디오로 변환하여 오디오를 출력한다.
1.2 디지털 저작물 보호 시스템(10)의 동작
이하 디지털 저작물 보호 시스템(10)의 동작을 설명한다.
1.2.1 디바이스 키를 할당하고, 기록 매체를 생성하며, 컨텐츠를 암호화 또는 복호화하는 동작
여기에서는, 도 10의 플로우차트를 사용하여, 디바이스 키를 각 사용자 장치에 할당하는 동작, 키 정보를 생성하여 키 정보를 기록 매체에 기입하는 동작 및 사용자 장치에 의해 컨텐츠를 암호화 또는 복호화하는 동작을 설명한다. 특히, 디바이스 키가 제 3자에 의해 부정하게 노출될 때까지의 동작을 설명한다.
키 관리 장치(100)내의 트리 구조 구성부(101)는 트리 구조를 나타내는 트리 구조 테이블을 생성하고, 생성된 트리 구조 테이블을 트리 구조 저장부(102)에 기입한다(단계 S101). 이어서, 트리 구조 구성부(101)는 트리 구조의 각 노드에 대한 디바이스 키를 생성하고, 각각의 노드에 대응하여 생성된 각 디바이스 키를 트리 구조 테이블에 기입한다(단계 S102). 이어서, 디바이스 키 할당부(103)는 디바이스키, 디바이스 키 정보 및 ID 정보를 대응하는 사용자 장치에 출력한다(단계 S103 내지 S104). 사용자 장치의 키 정보 저장부는 디바이스 키, 디바이스 키 식별 정보 및 ID 정보를 수신하여(단계 S104), 수신된 디바이스 키, 디바이스 키 식별 정보 및 ID 정보를 기록한다(단계 S111).
이러한 방식으로, 디바이스 키, 디바이스 키 식별 정보 및 ID 정보가 기록되어 있는 사용자 장치가 생성되고, 생성된 사용자 장치가 사용자에게 판매된다.
이어서, 키정보 생성부(107)는 매체 키를 생성하고(단계 S105), 키 정보를 생성하며(단계 S106), 생성된 키 정보를 키 정보 기록 장치(200)를 통해 기록 매체(500a)에 출력한다(단계 S107 내지 S108). 기록 매체(500a)는 키 정보를 저장한다(단계 S121).
이러한 방식으로, 키 정보가 기록되어 있는 기록 매체(500b)가 생성되어 사용자에게 예컨대, 판매에 의해 배포된다.
이어서, 키 정보가 기록되어 있는 기록 매체가 사용자 장치에 적재되고, 사용자 장치는 기록 매체로부터 키 정보를 판독하며(단계 S131), 판독된 키 정보를 사용하여 사용자 장치 자체에 할당되는 암호화된 매체 키를 특정하고(단계 S132), 매체 키를 복호화한다(단계 S133). 그 후, 사용자 장치는 암호화된 매체 키를 사용하여 컨텐츠를 암호화하여, 암호화된 컨텐츠를 기록 매체(500b)에 기입하거나, 기록 매체(500c)로부터 기록되어 있는 암호화된 컨텐츠를 판독하여, 판독한 암호화된 컨텐츠를 매체 키를 사용하여 복호화하여 컨텐츠를 생성한다(단계 S134).
이러한 방식으로, 암호화된 컨텐츠가 사용자 장치에 의해 기록 매체(500b)에기입되고, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠가 판독되어 사용자 장치에 의해 복호화된 후 재생된다.
이어서, 제 3자가 어떤 종류의 수단에 의해 디바이스 키를 부정하게 획득한다. 제 3자는 컨텐츠를 부정하게 유통시키고, 정당한 사용자 장치의 복제물인 불법 장치를 생산하여 판매한다.
키 관리 장치(100)의 관리자 또는 컨텐츠의 저작권자는 컨텐츠가 부정하게 유통되거나 불법 장치가 유통되는 것을 발견하고, 그에 따라 디바이스 키가 누출된 것을 알게 된다.
1.2.2 디바이스 키가 노출된 후의 동작
여기에서는, 도 11의 플로우차트를 사용하여, 디바이스 키가 제 3자에 의해 부정하게 노출된 후에, 노출된 디바이스 키에 대응하는 트리 구조내의 노드를 무효화시키는 동작, 새로운 키 정보를 생성하여 생성된 키 정보를 기록 매체에 기입하는 동작 및 사용자 장치에 의해 컨텐츠를 암호화 또는 복호화하는 동작을 설명한다.
키 관리 장치(100)의 무효화 장치 지정부(104)는 무효화될 적어도 하나의 사용자 장치에 관한 적어도 하나의 ID 정보를 수신하여, 수신된 ID 정보를 키 구조 갱신부(105)에 출력한다(단계 S151). 이어서, 키 구조 갱신부(105)는 ID 정보를 수신하고, 수신된 ID 정보를 사용하여 트리 구조를 갱신한다(단계 S152). 키 정보 헤더 생성부(106)는 헤더 정보를 생성하여, 생성된 헤더 정보를 키 정보 기록 장치(200)에 출력한다(단계 S153). 키 정보 생성부(107)는 매체 키를 생성하고(단계S154), 키 정보를 생성하며(단계 S155), 생성된 키 정보를 키 정보 기록 장치(200)를 통해 출력하고(단계 S156 내지 S157), 키 정보를 기록 매체(500a) 상에 기록한다(단계 S161).
이러한 방식으로, 키 정보가 기록되어 있는 기록 매체(500b)가 생성된 후 예컨대, 판매에 의해 사용자에게 배포된다.
이어서, 키 정보가 기록되어 있는 기록 매체가 사용자 장치에 적재되고, 사용자 장치는 기록 매체로부터 키 정보를 판독하며(단계 S171), 판독된 키 정보를 사용하여 사용자 장치 자체에 할당되어 있는 암호화된 매체 키를 특정하고(단계 S172), 매체 키를 복호화한다(단계 S173). 그 후, 사용자 장치는 복호화된 매체 키를 이용하여 컨텐츠를 암호화하여 암호화된 컨텐츠를 기록 매체(500b)에 기입하거나, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠를 판독하여 판독한 암호화된 컨텐츠를 매체 키를 이용하여 복호화하여 컨텐츠를 생성한다(단계 S174).
이러한 방식으로, 암호화된 컨텐츠가 사용자 장치에 의해 기록 매체(500b)에 기입되고, 기록 매체(500c)에 기록되어 있는 암호화된 컨텐츠가 사용자 장치에 의해 판독되어 복호화된 후 재생된다.
1.2.3 트리 구조를 구성하고 저장하는 동작
여기에서는, 도 12의 플로우차트를 사용하여, 트리 구조 구성부(101)에 의해 트리 구조 테이블을 생성하여 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S101의 상세한 설명이다.
트리 구조 구성부(101)는 "루트"를 노드명으로 포함하는 노드 정보를 생성하여 생성된 노드 정보를 트리 구조 저장부(102)내의 트리 구조 테이블에 기입한다(단계 S191).
이어서, 트리 구조 구성부(101)는 계층 i(i=1,2,3,4)에 대해 이후의 단계 S193 내지 S194를 반복한다.
트리 구조 구성부(101)는 2i개의 문자의 열을 노드명으로 생성하고(단계 S193), 2i개의 문자의 열을 노드명으로 포함하는 노드 정보를 트리 구조 테이블에 순서대로 기입한다(단계 S194).
1.2.4 디바이스 키 및 ID 정보를 사용자 장치에 출력하는 동작
여기에서는, 도 13의 플로우차트를 사용하여, 디바이스 키 할당부(103)에 의해 디바이스 키 및 ID 정보를 사용자 장치에 출력하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S103의 상세한 설명이다.
디바이스 키 할당부(103)는 변수 ID를 "0000", "0001", "0010", …, "1110" 및 "1111"이 되도록 변화시키고, 각 변수 ID에 대해 이후의 단계 S222 내지 S227을 반복한다.
디바이스 키 할당부(103)는 루트에 할당되는 디바이스 키를 획득하고(단계 S222), 노드명이 변수 ID의 헤드 비트인 노드에 할당되는 디바이스 키 A를 획득하며(단계 S223), 노드명이 변수 ID의 헤드 2 비트인 노드에 할당되는 디바이스 키 B를 획득하고(단계 S224), 노드명이 변수 ID의 헤드 3 비트인 노드에 할당되는 디바이스 키 C를 획득하며(단계 S225), 노드명이 변수 ID의 헤드 4 비트인 노드에 할당되는 디바이스 키 D를 획득하고(단계 S226), 각 노드에 할당되는 디바이스 키 A, B, C 및 D를 사용자 장치에 출력한다(단계 S227).
1.2.5 트리 구조를 갱신하는 동작
여기에서는, 도 14의 플로우차트를 사용하여, 키 구조 갱신부(105)에 의해 트리 구조를 갱신하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S152의 상세한 설명이다.
키 구조 갱신부(105)는 무효화 장치 지정부(104)로부터 수신되는 적어도 하나의 ID 정보의 각각에 대해 이후의 단계 S242 내지 S246을 실행한다.
키 구조 갱신부(105)는 수신된 ID 정보를 노드명으로 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S242).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 3 비트를 노드명으로 포함하는 노드 정보를 획득하고, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S243).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 2 비트를 노드명으로 포함하는 노드 정보를 획득하여, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S244).
이어서, 키 구조 갱신부(105)는 수신된 ID 정보의 헤드 비트를 노드명으로 포함하는 노드 정보를 획득하여, 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S245).
이어서, 키 구조 갱신부(105)는 "루트"를 노드명으로 포함하는 노드 정보를 획득하여 획득된 노드 정보에 무효화 플래그 "1"을 부가한다(단계 S246).
1.2.6 헤더 정보를 생성하는 동작
여기에서는, 도 15의 플로우차트를 사용하여, 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S262 내지 S266을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S263 내지 S265를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S263), 2개의 선택된 노드에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S264), 생성된 무효화 패턴을 출력한다(단계 S265).
1.2.7 키 정보를 생성하는 동작
여기에서는, 도 16의 플로우차트를 사용하여, 키 정보 생성부(107)에 의해 키 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S155의 상세한 설명이다.
키 정보 생성부(107)는 계층 1로부터 계층 3까지의 각 계층에 대해 단계 S282 내지 S287을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S283 내지 S286을 추가로 실행한다.
키 정보 생성부(107)는 무효화 플래그 "1"이 대상 노드에 부가되어 있는지의여부를 판정한다. 무효화 플래그 "1"이 부가되어 있지 않은 경우(단계 S283), 키 정보 생성부(107)는 암호화가 대상 노드의 상위 노드에 대응하는 디바이스 키를 사용하여 실행되었는지의 여부를 추가로 판정한다. 암호화가 실행되지 않은 경우(단계 S284), 키 정보 생성부(107)는 트리 구조 테이블로부터 대상 노드에 대응하는 디바이스 키를 획득하고(단계 S285), 획득된 디바이스 키를 사용하여 생성된 매체 키를 암호화하여 암호화된 매체 키를 생성하며, 암호화된 매체 키를 출력한다(단계 S286).
무효화 플래그 "1"이 대상 노드에 부가되어 있는 경우(단계 S283), 또는 암호화가 실행된 경우(단계 S284), 키 정보 생성부(107)는 단계 S285 내지 S286을 실행하지 않는다.
1.2.8 키 정보를 특정하는 동작
여기에서는, 도 17의 플로우차트를 사용하여, 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체 키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 특정부(303)에 의해 실행되는 동작과 동일하므로, 그 설명은 생략한다.
특정부(303)는 암호화된 매체 키의 위치를 나타내는 변수 X, 사용자 장치 자체에 관련된 NRP의 위치를 나타내는 변수 A, 계층내의 NRP의 수를 나타내는 변수 W 및 트리 구조내의 계층의 수를 나타내는 변수 D를 갖는다. 여기에서, 사용자 장치자체에 관련된 NRP는 사용자 장치에 할당되는 리프로부터 루트까지의 경로 상에 있는 트리 구조내의 노드의 NRP를 나타낸다.
특정부(303)는 이하의 절차에 따라 계층 i=0에서 계층 i=D-1까지를 분석한다.
특정부(303)는 변수 A=0, 변수 W=1 및 변수 i=0을 초기값으로 설정한다(단계 S301).
특정부(303)는 변수 i와 값 D를 비교하여, 변수 i가 값 D보다 큰 경우(단계 S302), 사용자 장치는 무효화 장치이므로, 특정부(303)는 상기 처리를 종료시킨다.
변수 i가 값 D 이하인 경우(단계 S302), 특정부(303)는 ID 정보의 최상위 i번째 비트의 값에 대응하는 비트 위치에 있는 값 B가 "0"인지 "1"인지를 검사하여 값 B가 대응하는 것이 NRP의 좌측 비트 및 우측 비트 중 어느 것인지를 결정한다(단계 S303). 여기에서, 도 4에 나타내는 바와 같이, 트리 구조내의 좌측 경로에 "0"이 할당되고, 우측 경로에 "1"이 할당되어 있으며, ID 정보가 이러한 규칙에 기초하여 구성되어 있기 때문에, ID 정보의 최상위 i번째 비트의 값 "0"은 A번째 NRP의 좌측 비트에 대응하지만, 값 "1"은 A번째 NRP의 우측 비트에 대응한다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트하고, 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체 키의 위치를 나타낸다. 또한, 이 포인트에서의 변수 i는 디바이스 키를 식별하기 위한 디바이스 키 식별 정보이다(단계 S307). 특정부(303)는 그 후 상기 처리를 종료시킨다.
값 B=1인 경우(단계 S303), 특정부(303)는 계층 i내의 W개의 모든 NRP의 "1"의 수를 카운트하고 카운트된 값을 변수 W로 설정한다. 이러한 방식으로 획득된 변수 W는 이후의 계층 i+1내의 NRP의 수를 나타낸다(단계 S304).
이어서, 특정부(303)는 계층 i내의 첫번째 NRP로부터 시작하여 대응하는 비트 위치의 NRP까지의 "1"의 수를 카운트하고 카운트된 값을 변수 A로 설정한다. 여기에서, 대응하는 비트 위치의 값은 카운트되지 않는다. 이러한 방식으로 획득된 변수 A는 이후의 계층 i+1내의 NRP 중에서 사용자 장치 자체에 관련된 NRP의 위치를 나타낸다(단계 S305).
이어서, 특정부(303)는 변수 i=i+1을 계산하고(단계 S306) 단계 S302로 제어를 이동시켜 상술한 처리를 반복한다.
1.2.9 키 정보를 특정하는 동작의 구체예
이하 도 6 및 도 7에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 5에 나타내는 무효화되지 않은 사용자 장치 14에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 14에는 ID 정보 "1101" 및 디바이스 키 "KeyA", "KeyC", "KeyG", "KeyN" 및 "IK14"가 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 14에 할당된 ID 정보 "1101"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {11}의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {11}의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {11}내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1101"의 최상위로부터 두번째 비트의 값이 "1"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {10}의 우측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {10}의 우측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 7> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체 키는 키 정보내의 위치 1에 있다(단계 S307).
<단계 8> 도 7에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체 키는 E1 (KeyG, 매체 키)이다.
사용자 장치 14는 KeyG를 갖는다. 따라서, 사용자 장치 14는 KeyG를 사용하여 암호화된 매체 키를 복호화하여 매체 키를 획득할 수 있다.
1.3 결론
상술한 바와 같이, 제 1 실시예에 따르면, 복수의 NRP가 기록 매체에 미리 저장된 키 정보의 헤더 정보에 레벨 순서로 배열되므로, 키 정보의 크기가 소형화된다. 또한, 플레이어는 복호화될 암호화된 매체 키를 효율적으로 특정할 수 있다.
2. 제 2 실시예
여기에서는 제 1 실시예의 변형으로서 제 2 실시예를 설명한다.
제 1 실시예에서는, 도 18에 일례로서 나타내는 바와 같이, 무효화된 사용자 장치가 트리 구조내의 특정 리프 근방에 발생할 가능성이 있다. 이 경우에는, 키 관리 장치(100)가 기록 매체에 기입하는 키 정보의 헤더 정보 내에 {11}인 NRP가 다수 존재한다. 도 18에 나타내는 예에서, 트리 구조 T300의 좌반부의 리프는 모두 무효화 장치에 대응하므로, 키 정보내의 헤더 정보에 포함되는 11개의 NRP 중 8개는 {11}이다.
도 18에 나타내는 예에서, 트리 구조 T300의 좌측상의 모든 장치가 무효화되기 때문에, 계층 1의 좌측 노드 및 그 하위 노드 모두가 무효화 노드인 것을 나타내는 경우, 좌반부내의 각각 노드에 대응하는 NRP를 헤더 정보로서 기록할 필요가 없다.
이로 인해, 제 2 실시예에서는 디지털 저작물 보호 시스템(10b)(도시 생략)은 무효화 장치가 특정 리프 근방에 집중적으로 발생하는 경우에 헤더 정보의 데이터 크기를 감소시킬 수 있다.
키 관리 장치(100)는 제 1 실시예에서 설명한 바와 같이, 키 정보의 헤더 정보로서 NRP를 생성한다. 여기에서, 1 비트가 NRP의 헤드에 추가된다. 추가된 비트 "1"은 특정 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 의미한다. 도 19에서, 노드 T401 및 노드 T402의 자손 노드에 할당되는 모든 장치가 무효화되지 않으므로, 헤드 비트는 "0"이고, 노드 T401 및 노드 T402의 NRP는 각각 {011} 및 {010}으로 표현된다. 노드 T403의 자손 노드에 할당되는 모든 장치는 무효화되기 때문에, 노드 T403에 대한 NRP는 {111}로 표현된다. 키 관리 장치(100)는 노드 T403의 자손 노드에 대한 어떠한 NRP도 기록 매체에 기입하지 않는다.
2.1 디지털 저작물 보호 시스템(10b)의 구성
디지털 저작물 보호 시스템(10b)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는, 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10b)의 특징을 설명한다.
제 2 실시예에서는, 도 19에 나타내는 바와 같이, 사용자 장치 1 내지 8 및 사용자 장치 12가 무효화되어 있다.
2.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10b)의 키 관리 장치(100)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 2 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 저장부(102)
트리 구조 저장부(102)는 트리 구조 테이블 D100 대신에, 도 20에 나타내는트리 구조 테이블 D400을 일례로서 갖는다.
트리 구조 테이블 D400은 일례로서 도 19에 나타내는 트리 구조 T400에 대응하고, 트리 구조 T400을 표현하기 위한 데이터 구조이다.
트리 구조 테이블 D400은 트리 구조 T400내의 노드의 수와 같은 다수의 노드 정보를 포함한다. 노드 정보는 트리 구조 T400내의 노드에 각각 대응한다.
각각의 노드 정보는 노드명, 디바이스 키, 무효화 플래그 및 NRP를 포함한다.
노드명, 디바이스 키 및 무효화 플래그는 제 1 실시예에서 설명한 것과 같으므로, 여기에서 그 설명은 생략한다.
NRP는 3 비트로 구성된다. 최상위 비트는 상술한 바와 같이, 대응하는 노드명으로 나타내는 자손 노드에 할당되는 모든 사용자 장치는 무효화된 장치이다. 하위 2 비트의 내용은 제 1 실시예에서 설명한 NRP와 동일하다.
(2) 키 정보 헤더 생성부(106)
NRP의 헤드 비트가 "1"인 경우, 키 정보 헤더 생성부(106)는 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP를 생성하고, 생성된 NRP를 키 정보 기록 장치(200)에 출력한다. NRP의 생성은 후술한다.
키 정보 헤더 생성부(106)는 일례로서 도 21에 나타내는 헤더 정보 D500을 생성한다. 헤더 정보 D500은 NRP {011}, {111}, {010}, {001} 및 {001}로 구성되며, 이들은 헤더 정보 D500 내에 언급한 순서로 포함된다. 또한, 도 21에 나타내는 바와 같이, NRP {011}, {111}, {010}, {001} 및 {001}은 각각 "0", "1", "2", "3"및 "4"로 정해진 위치에 배열된다.
(3) 키 정보 생성부(107)
키 정보 생성부(107)는 일례로서 도 22에 나타내는 키 정보 D600을 생성한다. 키 정보 D600은 3개의 암호화된 매체 키를 포함한다. 암호화된 매체 키는 디바이스 키 KeyG, KeyL 및 IK11을 각각 이용하여 매체 키를 암호화함으로써 생성된다.
복수의 암호화된 매체 키의 각각이 키 정보 D600에 저장되어 있는 위치가 설정된다. 도 22에 나타내는 바와 같이, 암호화된 매체 키 E1 (KeyG, 매체 키), E1 (KeyL, 매체 키) 및 E1 (IK11, 매체 키)가 각각 키 정보 D600내의 "0", "1" 및 "2"로 정해진 위치에 배열된다.
2.1.2 기록 장치(300a)
기록 장치(300a)는 제 1 실시예에서 설명한 기록 장치(300)와 유사한 구성을 갖는다. 여기에서는, 기록 장치(300)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 키 정보내의 암호화된 매체 키의 위치 X를 특정한다. 암호화된 매체 키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
2.2 디지털 저작물 보호 시스템(10b)의 동작
이하 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10b)의 동작의 특징을 설명한다.
2.2.1 헤더 정보를 생성하는 동작
여기에서는 도 23 내지 도 26에 나타내는 플로우차트를 사용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S322 내지 S327을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S323 내지 S326을 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S323), 2개의 선택된 노드의 각각에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S324), 생성된 NRP의 헤드에 값 "0"을 갖는 확장 비트를 부가하고(단계 S325), 확장 비트가 부가된 NRP를 트리 구조 테이블내의 대상 노드에 대응하는 노드 정보에 부가한다(단계 S326).
이러한 방식으로, 단계 S321 내지 S328의 반복이 종료된 후, 제 1 실시예에서 설명한 바와 동일한 방법으로 각각의 노드 정보에 NRP가 부가된다. 여기에서, 각 NRP의 헤드에 값 "0"(1 비트)이 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 3으로부터 계층 0까지의 각 계층에 대해 단계 S330 내지 S335를 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S331 내지 S334를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 직접적인 하위에 접속되는 2개의 노드를 선택하고(단계 S331), 2개의 선택된 노드에 각각 무효화 플래그 {111}이 부가되어 있는지의 여부를 검사한다. 2개의 선택된 노드가 리프인 경우, 키 정보 헤더 생성부(106)는 무효화 플래그가 선택된 노드 모두에 부가되어 있는지의 여부를 검사한다(단계 S332).
선택된 하위 노드에 모두 NRP {111}이 부가되어 있는 경우에만, 또는 2개의 선택된 노드가 리프인 경우 2개의 선택된 하위 노드 모두에 무효화 플래그가 부가된 경우에만(단계 S333), 키 정보 헤더 생성부(106)는 대상 노드에 부가되는 NRP의 헤드 비트를 "1"로 재기입한다(단계 S334).
이러한 방식으로, 키 정보 헤더 생성부(106)가 단계 S329 내지 S336의 반복을 종료한 후, {111}이 NRP {111}을 갖는 2개의 하위 노드의 상위 노드에 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 2로부터 계층 0까지의 각 계층에 대해 단계 S338 내지 S343을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S339 내지 S342를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S339), 2개의 선택된 노드에 각각 무효화 패턴 {111}이 부가되어 있는지의 여부를 검사한다(단계 S340).
선택된 하위 노드에 모두 무효화 패턴 {111}이 부가되어 있는 경우에만(단계 S341), 키 정보 헤더 생성부(106)는 트리 구조 테이블로부터 선택된 2개의 하위 노드에 부가된 각각의 NRP를 제거한다(단계 S342).
이어서, 키 정보 헤더 생성부(106)는 트리 구조 테이블에 저장된 NRP를 순서대로 판독 및 출력한다(단계 S345).
이러한 방식으로, NRP의 헤드 비트가 "1"인 경우, 노드의 자손 노드에 할당되는 사용자 장치가 모두 무효화된 장치인 것을 나타내는 NRP가 생성된다.
2.2.2 키 정보를 특정하는 동작
여기에서는, 도 27에 나타내는 플로우차트를 사용하여, 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 하나의 암호화된 매체 키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11에 나타내는 플로우차트에서의 단계 S172의 상세한 설명이다.
특정부(303)에 의해 암호화된 매체 키를 특정하는 동작은 제 1 실시예에서 설명한 동작과 유사하므로, 이하 제 1 실시예와 다른 특정부(303)의 특징에 중점을 두어 설명한다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 하위 2 비트가 모두 값 "1"을 갖지 않는 NRP의 수를 카운트하고, 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체 키의 위치를 나타낸다(단계 S307a). 그 후, 특정부(303)는 상기 처리를 종료시킨다.
값 B=1인 경우(단계 S303), 특정부(303)는 계층 i내의 W개의 NRP내의 모든 "1"을 카운트한다. 그러나, 최상위 비트가 "1"인 NRP는 카운트되지 않는다. 카운트된 값은 변수 W로 설정된다. 이러한 방식으로 획득된 변수 W는 이후의 계층 i+1내의 NRP의 수를 나타낸다(단계 S304a).
이어서, 특정부(303)는 첫번째 NRP로부터 시작하여 대응하는 비트 위치의NRP까지의 "1"의 수를 카운트하고, 카운트된 값을 변수 A로 설정한다. 여기에서, 대응하는 비트 위치의 값은 카운트되지 않는다. 이러한 방식으로 획득된 변수 A는 이후의 계층 i+1내의 NRP 중에서 사용자 장치 자체에 관련된 NRP의 위치를 나타낸다(단계 S305a).
2.2.3 키 정보를 특정하는 동작의 구체예
이하 도 21 및 도 22에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 19에 나타내는 무효화되지 않은 사용자 장치 10에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 10에는 ID 정보 "1001" 및 디바이스 키 "KeyA", "KeyC", "KeyF", "KeyL" 및 "IK10"이 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 10에 할당된 ID 정보 "1001"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {011}의 2개의 하위 비트의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {011}의 2개의 하위 비트의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {011}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304a).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP {011}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1001"의 최상위로부터 두번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {010}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {010}의 2개의 하위 비트의 좌측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 7> 특정부(303)는 계층 1내의 2개의 NRP {111} 및 {010}의 2개의 하위 비트내의 "1"의 수를 카운트한다. 최상위 비트가 "1"인 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 특정부(303)는 이후의 계층 2내에 하나의 NRP가 존재하는 것을 알게 된다(단계 S304a).
<단계 8> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "0"이기 때문에, 이후의 계층 2에서의 대응하는 NRP의 위치는 계층 2내의 위치 0이다(단계 S305a).
<단계 9> ID 정보 "1001"의 세번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 2내의 0번째 NRP {001}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 10> 여기에서, 계층 2내의 0번째 NRP의 2개의 하위 비트의 좌측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 11> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"이 아닌 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체 키의 위치는 키 정보내의 위치 1이다(단계 S307a).
<단계 12> 도 22에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체 키는 E1 (KeyL, 매체 키)이다.
사용자 장치 10은 KeyL을 갖는다. 따라서, 사용자 장치 10은 KeyL을 사용하여 암호화된 매체 키를 복호화하여 매체 키를 획득할 수 있다.
상술한 제 2 실시예에서는, 특정 노드의 자손 노드의 모든 사용자 장치가 무효화된 경우에, 추가되는 비트는 "1"이다. 그러나, 리프의 계층수가 변화하는 트리 구조의 경우에는, 추가된 비트 "1"은 종단을 나타내는 플래그로서 사용될 수도 있다.
3. 제 3 실시예
제 2 실시예에서는, 자손 노드가 모두 무효화된 장치인 것을 나타내는 비트를 노드의 NRP의 헤드에 추가함으로써, 무효화된 장치가 특정 리프 근방에 집중적으로 발생하는 경우 헤더 정보의 크기를 더욱 감소시키는 방법을 나타내었다.
제 3 실시예에서는, NRP에 비트를 추가하는 대신에, 노드의 모든 자손 노드가 무효화된 장치인지의 여부를 판정하는데 특정 패턴 {00}을 갖는 NRP가 사용된다. {00}은 계층 0을 제외한 어떠한 계층에도 사용되지 않기 때문에, 여기에서 사용된다. 이하 제 2 실시예와 비교하여 헤더 정보의 크기를 더욱 감소시킬 수 있는디지털 저작물 보호 시스템(10c)(도시 생략)을 설명한다.
여기에서는 도 28에 나타내는 바와 같이, 사용자 장치 1 내지 사용자 장치 8 및 사용자 장치 12가 무효화된다. 제 3 실시예에서는, NRP가 제 1 실시예에서 나타내는 바와 같지만, 특정 노드의 자손 노드의 모든 사용자 장치가 무효화된 장치인 경우 노드의 NRP는 {00}으로 표현된다. 도 28에서의 노드 T501의 자손 노드가 모두 무효화된 장치이기 때문에, 노드 T501의 NRP는 {00}으로 표현된다.
3.1 디지털 저작물 보호 시스템(10c)의 구성
디지털 저작물 보호 시스템(10c)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10c)의 특징을 설명한다.
3.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10c)의 키 관리 장치(100)는 제 1 실시예에서 설명한 키 관리 장치(100)와 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 3 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 키 정보 헤더 생성부(106)
NRP가 {00}인 경우, 키 정보 헤더 생성부(106)는 노드의 자손 노드에 할당되는 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP를 생성하고, 생성된 NRP를 키 정보 기록 장치(200)에 출력한다. 생성된 NRP는 후술한다.
키 정보 헤더 생성부(106)는 일례로서 도 29에 나타내는 헤더 정보 D700을생성한다. 헤더 정보 D700은 NRP {11}, {00}, {10}, {01} 및 {01}로 구성되고, 이들은 언급한 순서로 헤더 정보 D700에 포함되어 있다. 또한, 도 29에 나타내는 바와 같이, NRP {11}, {00}, {10}, {01} 및 {01}은 각각 "0", "1", "2", "3" 및 "4"로 정해진 위치에 위치된다.
(2) 키 정보 생성부(107)
키 정보 생성부(107)는 일례로서 도 30에 나타내는 키 정보 D800을 생성한다. 키 정보 D800은 3개의 암호화된 매체 키를 포함한다. 암호화된 매체 키는 디바이스 키 KeyG, KeyL 및 IK11를 각각 이용하여 매체 키를 암호화함으로써 생성된다.
복수의 암호화된 매체 키의 각각이 키 정보 D800에 저장되는 위치가 설정된다. 도 30에 나타내는 바와 같이, 암호화된 매체 키 E1 (KeyG, 매체 키), E1 (KeyL, 매체 키) 및 E1 (IK11, 매체 키)는 키 정보 D800 내에 "0", "1" 및 "2"로 정해진 위치에 각각 배열된다.
3.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10c)의 기록 장치(300a)는 제 1 실시예에서 설명한 기록 장치(300)와 유사한 구성을 갖는다. 여기에서는 기록 장치(300)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 ID 정보 및 헤더 정보를 이용하여 최상위로부터 헤더 정보를 순차적으로 검사함으로써 키 정보내의 암호화된 매체 키의 위치 X를 특정한다. 암호화된 매체 키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
3.2 디지털 저작물 보호 시스템(10c)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10c)의 동작의 특징에 중점을 둔 것이다.
3.2.1 헤더 정보를 생성하는 동작
여기에서는 도 31 내지 도 34에 나타내는 플로우차트를 사용하여, 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 계층 0으로부터 계층 3까지의 각 계층에 대해 단계 S322 내지 S327을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S323 내지 S326a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 직접적인 하위 노드를 선택하고(단계 S323), 2개의 선택된 노드의 각각에 무효화 플래그가 부가되어 있는지의 여부를 검사하여 NRP를 생성하며(단계 S324), 트리 구조 테이블내의 노드 정보에 확장 비트가 부가되어 있는 NRP를 대상 노드에 부가한다(단계 S326a).
이러한 방식으로, 단계 S321 내지 S328의 반복을 종료한 후, 제 1 실시예에서 설명한 것과 동일한 방법으로 각각의 노드 정보에 NRP가 부가되어 있다.
이어서, 키 정보 헤더 생성부(106)는 계층 3으로부터 계층 0까지의 각 계층에 대해 단계 S330 내지 S335를 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S331 내지 S334a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 하위 노드를 선택하고(단계S331), 2개의 선택된 노드의 각각에 NRP {11}이 부가되어 있는지의 여부를 검사한다. 선택된 2개의 노드가 리프인 경우, 키 정보 헤더 생성부(106)는 선택된 노드에 모두 무효화 플래그가 부가되어 있는지의 여부를 검사한다(단계 S332).
선택된 하위 노드에 모두 NRP {11}이 부가되어 있는 경우에만, 또는 2개의 선택된 하위 노드가 리프인 경우에는 선택된 하위 노드에 모두 무효화 플래그가 부가되어 있는 경우에만(단계 S333), 키 정보 헤더 생성부(106)는 대상 노드에 부가된 NRP를 {00}으로 재기입한다(단계 S334a).
키 정보 헤더 생성부(106)가 이러한 방식으로 단계 S329 내지 S336의 반복을 종료한 경우, NRP {11}을 갖는 2개의 하위 노드의 상위 노드에 {00}이 부가된다.
이어서, 키 정보 헤더 생성부(106)는 계층 2로부터 계층 0까지의 각 계층에 대해 단계 S338 내지 S343을 실행하고, 각 계층내의 각 대상 노드에 대해 단계 S339 내지 S342a를 추가로 실행한다.
키 정보 헤더 생성부(106)는 대상 노드의 2개의 하위 노드를 선택하고(단계 S339), 2개의 선택된 노드의 각각에 무효화 패턴 {00}이 부가되어 있는지의 여부를 검사한다(단계 S340a).
선택된 하위 노드 모두에 무효화 패턴 {00}이 부가되어 있는 경우에만(단계 S341a), 키 정보 헤더 생성부(106)는 트리 구조 테이블로부터 선택된 2개의 하위 노드에 부가된 각각의 NRP를 삭제한다(단계 S342a).
이어서, 키 정보 헤더 생성부(106)는 트리 구조 테이블에 저장되어 있는 NRP를 순서대로 판독 및 출력한다(단계 S345).
이러한 방식으로, NRP가 {00}인 경우, 노드의 자손 노드에 할당된 모든 사용자 장치가 무효화된 장치인 것을 나타내는 NRP가 생성된다.
3.2.2 키 정보를 특정하는 동작
여기에서는 도 35에 나타내는 플로우차트를 사용하여, 기록 장치(300a)내의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 하나의 암호화된 매체 키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
특정부(303)에 의해 암호화된 매체 키를 특정하는 동작은 제 1 실시예에서 설명한 동작과 유사하므로, 이하의 설명은 제 1 실시예와 다른 동작의 특징에 중점을 둔 것이다.
값 B=0인 경우(단계 S303), 특정부(303)는 지금까지 검사된 NRP 중에서 비트가 모두 값 "1"을 갖지 않고 모두 값 "0"을 갖지 않는 NRP의 수를 카운트한다. 비트가 모두 "0"인 NRP의 수는 계층 0에 대해서만 카운트된다. 특정부(303)는 카운트된 값을 변수 X로 설정한다. 이러한 방식으로 획득된 변수 X는 암호화된 매체 키의 위치를 나타낸다. 또한, 이 포인트에서의 변수 i는 디바이스 키를 식별하는 디바이스 키 식별 정보이다(단계 S307b). 그 후, 특정부(303)는 상기 처리를 종료한다.
3.2.3 키 정보를 특정하는 동작의 구체예
이하 도 29 및 도 30에 나타내는 헤더 정보 및 키 정보를 이용하여 암호화된 매체를 특정할 때까지 도 28에 나타내는 무효화되지 않은 사용자 장치 10에 의한 동작의 하나의 구체예를 설명한다. 여기에서, 사용자 장치 10에는 ID 정보 "1001"및 디바이스 키 "KeyA", "KeyC", "KeyF", "KeyL" 및 "IK10"이 할당되어 있다고 가정한다.
<단계 1> 사용자 장치 10에 할당된 ID 정보 "1001"의 최상위 비트의 값이 "1"이기 때문에, 특정부(303)는 첫번째 NRP {11}의 우측 비트를 검사한다(단계 S303).
<단계 2> 첫번째 NRP {11}의 우측 비트의 값이 "1"이기 때문에, 특정부(303)는 분석을 계속한다(단계 S303, B=1).
<단계 3> 특정부(303)는 계층 0내의 NRP {11}내의 "1"의 수를 카운트한다. 카운트된 값이 "2"이기 때문에, 특정부(303)는 이후의 계층 1내에 2개의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 4> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 이후의 계층 1에서의 대응하는 NRP는 계층 1내의 위치 1에 있다(단계 S305).
<단계 5> 이어서, ID 정보 "1001"의 최상위로부터 두번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 1내의 첫번째 NRP {10}의 우측 비트를 검사한다(단계 S303).
<단계 6> 여기에서, 계층 1내의 첫번째 NRP {10}의 우측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=1).
<단계 7> 특정부(303)는 계층 1내의 2개의 NRP내의 "1"의 수를 카운트한다.NRP {00}은 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 특정부(303)는 이후의 계층 2내에 하나의 NRP가 존재하는 것을 알게 된다(단계 S304).
<단계 8> 특정부(303)는 대응하는 비트 위치까지 NRP내의 "1"의 수를 카운트한다. 이 때, 대응하는 비트 위치의 값은 카운트되지 않는다. 카운트된 값이 "0"이기 때문에, 이후의 계층 2에서의 대응하는 NRP의 위치는 계층 2내의 위치 0이다(단계 S305).
<단계 9> ID 정보 "1001"의 세번째 비트의 값이 "0"이기 때문에, 특정부(303)는 계층 2내의 위치 0에서의 NRP {001}의 2개의 하위 비트의 좌측 비트를 검사한다(단계 S303).
<단계 10> 여기에서, 계층 2내의 0번째 NRP {01}의 2개의 하위 비트의 좌측 비트의 값이 "0"이기 때문에, 특정부(303)는 분석을 종료한다(단계 S303, B=0).
<단계 11> 특정부(303)는 지금까지 분석된 NRP 중에서 비트가 모두 값 "1"이 아닌 NRP의 수를 카운트한다. 최후에 검사된 NRP는 카운트되지 않는다. 카운트된 값이 "1"이기 때문에, 암호화된 매체 키의 위치는 키 정보내의 위치 1이다(단계 S307a).
<단계 12> 도 30에 나타내는 바와 같이, 키 정보내의 위치 1에 저장된 암호화된 매체 키는 E1 (KeyL, 매체 키)이다.
사용자 장치 10은 KeyL을 갖는다. 따라서, 사용자 장치 10은 KeyL을 사용하여 암호화된 매체 키를 복호화하여 매체 키를 획득할 수 있다.
4. 제 4 실시예
제 1 실시예에서는, NRP가 최상위 계층으로부터 최하위 계층까지 순서대로 배열되고, 동일한 계층의 NRP가 좌측으로부터 우측으로 순서대로 배열되어 있다.
제 4 실시예에서는, NRP를 다른 순서로 출력하는 디지털 저작물 보호 시스템(10d)(도시 생략)을 설명하고 있다.
4.1 디지털 저작물 보호 시스템(10d)의 구성
디지털 저작물 보호 시스템(10d)은 디지털 저작물 보호 시스템(10)과 유사한 구성을 갖는다. 여기에서는 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10d)의 특징을 설명한다.
4.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10d)의 키 관리 장치(100)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예에서의 키 관리 장치(100)와 다른 제 2 실시예에서의 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 구성부(102)
트리 구조 구성부(102)는 구체적으로는 하드 디스크 유닛으로 구성되어 있고, 도 37에 나타내는 바와 같이, 일례로서 도 37에 나타내는 트리 구조 테이블 D1000을 갖는다.
트리 구조 테이블 D1000은 일례로서 도 36에 나타내는 트리 구조 T600에 대응하고, 트리 구조 T600을 표현하기 위한 데이터 구조이다. 후술하는 바와 같이, 트리 구조 T600을 표현하기 위한 데이터 구조는 트리 구조 구성부(101)에 의해 트리 구조 테이블 D1000으로서 생성되어 트리 구조 구성부(102)에 기입된다.
<트리 구조 T600>
트리 구조 T600은 도 36에 나타내는 바와 같이, 계층 0 내지 계층 4의 5개의 계층을 갖는 이진 트리이다.
각 계층에 포함되는 노드의 수는 트리 구조 T100과 동일하다. 또한, 상위측의 노드로부터 하위측의 노드까지의 경로에 할당되는 수는 트리 구조 T100에서와 동일하다. 무효화된 노드는 ×표로 표시되어 있다.
트리 구조 T600의 루트인 노드의 노드명은 공백이다. 다른 노드의 노드명은 트리 구조 T100에서와 동일하다.
각 노드명은 4자리로 표현되어 있다. 루트인 노드의 노드명은 4개의 공백이다. 노드명 "0"은 구체적으로는 문자 "0" + 하나의 공백 + 하나의 공백 + 하나의 공백이다. 노드명 "00"은 문자 "0" + 문자 "0" + 하나의 공백 + 하나의 공백이다. 노드명 "101"은 문자 "1" + 문자 "0" + 문자 "1" + 하나의 공백이다. 노드명 "1111"은 문자 "1" + 문자 "1" + 문자 "1" + 문자 "1"이다. 다른 노드명은 유사하게 형성된다.
트리 구조 T600에서, 각 노드 근방의 "{10}" 등은 NRP를 나타낸다. 또한, 각 노드 근방의 원내의 번호는 NRP가 출력되는 순서를 나타낸다.
<트리 구조 테이블 D1000>
트리 구조 테이블 D1000은 트리 구조 T1000내의 노드의 수와 동일한 다수의 노드 정보를 포함한다. 각각의 노드 정보는 트리 구조 T1000내의 노드 중 하나에 대응한다.
각각의 노드 정보는 디바이스 키 및 무효화 플래그를 포함한다. 노드명, 디바이스 키 및 무효화 플래그는 트리 구조 테이블 D100에서와 동일하므로, 여기에서는 그 설명은 생략한다.
각각의 노드 정보는 아래의 순서 규칙 2에 의해 나타내는 순서로 트리 구조 테이블 D1000에 저장된다. 이러한 순서 규칙 2는 노드 정보가 기록 장치(300a 등) 및 재생 장치(400a 등)에 의해 트리 구조 테이블 D1000으로부터 순차적으로 판독되는 경우 적용된다.
(a) 루트인 노드에 대응하는 노드 정보는 트리 구조 테이블 D1000의 최상위에 저장된다.
(b) 특정 노드에 대응하는 하나의 노드 정보가 트리 구조 테이블 D1000에 저장된 후, 노드가 2개의 하위 노드를 갖는 경우, 노드 정보는 아래의 방식으로 배열된다. 2개의 하위 노드의 좌측 노드 및 동일한 경로상의 그 이하의 하위 좌측 노드 모두에 각각 대응하는 노드 정보가 저장된다. 그 후, 2개의 하위 노드의 우측 노드와 우측 노드의 그 이하의 하위 우측 노드 모두에 각각 대응하는 노드 정보가 저장된다.
(c) (b)내에서, (b)가 재적용된다.
구체적으로는, 도 37에 나타내는 트리 구조 테이블 D1000내의 노드 정보는 아래의 순서로 저장된다.
공백(루트를 나타냄), "0", "00", "000", "0000", "0001", "001", "0010", "0011", "01", "010", …, "11", "110", "1100", "1101", "111", "1110" 및"1111".
(2) 트리 구조 구성부(101)
트리 구조 구성부(101)는 후술하는 바와 같이, 디바이스 키를 관리하기 위해 n진 데이터 구조를 구성하고, 구성된 트리 구조를 트리 구조 저장부(102)에 저장한다. 여기에서, n은 2 이상의 정수이다. 일례로서, n=2이다.
트리 구조 구성부(101)에 의해 트리 구조를 구성하고, 구성된 트리 구조를 트리 구조 저장부(102)에 저장하는 동작의 상세한 설명은 후술한다.
트리 구조 구성부(101)는 난수를 이용하여 트리 구조내의 각 노드에 대한 디바이스 키를 생성하고, 생성된 각 디바이스 키를 각각의 노드에 대응하여 트리 구조 테이블에 기입한다.
(3) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 복수의 NRP를 생성하고, 생성된 NRP를 헤더 정보로서 키 정보 기록 장치(200)에 출력한다. NRP를 생성하는 동작의 상세한 설명은 후술한다.
키 정보 헤더 생성부(106)에 의해 생성되는 헤더 정보의 일례를 도 38에 나타낸다. 도 38에 나타내는 헤더 정보 D900은 NRP {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01}, {11}로 구성되며, 언급한 순서로 헤더 정보 D900에 포함되어 있다.
헤더 정보 D900 내에 각각의 노드 정보 패턴이 배치되는 위치가 설정된다. 도 38에 나타내는 바와 같이, NRP {11}, {11}, {11}, {10}, {01}, {11}, {10},{10}, {10}, {01}, {11}이 헤더 정보 D900 내에 각각 "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" 및 "10"으로 정해지는 위치에 배열된다.
(4) 키 정보 생성부(107)
키 정보 생성부(107)는 상술한 트리 구조 테이블 내에 노드 정보가 저장되어 있는 것과 동일한 순서로 무효화되지 않은 노드에 대응하는 각 디바이스 키를 이용하여 매체 키를 암호화함으로써 암호화된 매체 키를 생성하고, 생성한 암호화된 매체 키를 키 정보로서 출력한다.
이하 키 정보 생성부(107)에 의해 생성되어 출력되는 키 정보의 일례를 나타낸다.
키 정보는 디바이스 키 "IK2", "IK3", "IK6", "IK8", "KeyL" 및 "KeyG"를 각각 이용하여 매체 키를 암호화함으로써 생성되는 암호화된 매체 키 E1 (IK2, 매체 키), E1 (IK3, 매체 키), E1 (IK6, 매체 키), E1 (IK8, 매체 키), E1 (KeyL, 매체 키) 및 E1 (KeyG, 매체 키)로 구성된다. 암호화된 매체 키 E1 (IK2, 매체 키), E1 (IK3, 매체 키), E1 (IK6, 매체 키), E1 (IK8, 매체 키), E1 (KeyL, 매체 키) 및 E1 (KeyG, 매체 키)는 키 정보 내에 각각 "0", "1", "2", "3", "4", "5" 및 "6"으로 정해지는 위치에 배열된다.
4.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10d)의 기록 장치(300a)는 제 1 실시예에서 설명한 것과 유사한 구성을 갖는다. 여기에서는 제 1 실시예와 다른 제 2 실시예의 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 판독된 ID 정보 및 판독된 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 하나의 암호화된 매체 키의 키 정보내의 위치 X를 특정한다. 암호화된 매체 키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
4.2 디지털 저작물 보호 시스템(10d)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10)과 다른 디지털 저작물 보호 시스템(10d)의 동작의 특징에 중점을 둔 것이다.
4.2.1 트리 구조를 구성하고 저장하는 동작
여기에서는 도 39의 플로우차트를 이용하여 트리 구조 구성부(101)에 의해 트리 구조 테이블을 생성하고 트리 구조 테이블을 트리 구조 저장부(102)에 기입하는 동작을 설명한다. 여기에서 설명하는 동작은 도 10의 플로우차트에서의 단계 S101의 상세한 설명이다.
트리 구조 구성부(101)는 공백 노드명을 포함하는 하나의 노드 정보를 생성하고, 생성된 노드 정보를 트리 구조 데이터 테이블에 기입한다(단계 S401).
이어서, 트리 구조 구성부(101)는 계층 i(i = 1, 2, 3, 4)에 대해 아래의 단계 S403 내지 S404를 반복한다.
트리 구조 구성부(101)는 2i개의 문자열을 노드명으로서 생성한다. 구체적으로는, i = 1인 경우, 트리 구조 구성부(101)는 21= 2개의 문자열 "0" 및 "1"을 생성한다. i = 2인 경우, 트리 구조 구성부(101)는 22= 4개의 문자열 "00", "01", "10" 및 "11"을 생성한다. i = 3인 경우, 트리 구조 구성부(101)는 23= 8개의 문자열 "000", "001", "010", … 및 "111"을 생성한다. i = 4인 경우, 트리 구조 구성부(101)는 24= 16개의 문자열 "0000", "0001", "0010", "0011", … 및 "1111"을 생성한다(단계 S403). 이어서, 트리 구조 구성부(101)는 생성된 노드명 중 하나를 각각 포함하는 노드 정보를 트리 구조 테이블에 기입한다(단계 S404).
이어서, 트리 구조 구성부(101)는 트리 구조 테이블내의 노드 정보를 노드명의 오름차순으로 재배열하고, 트리 구조 테이블내의 노드 정보를 새롭게 배열된 노드 정보로 재기입한다(단계 S406).
이러한 방식으로, 트리 구조 테이블은 도 37에 나타내는 예와 같이 생성된다. 생성된 트리 구조 테이블 D1000은 상술한 순서 규칙 2에 따르는 노드 정보를 포함한다. 이 단계에서 디바이스 키는 트리 구조 테이블 D1000에 아직 기록되어 있지 않다.
4.2.2 헤더 정보를 생성하는 동작
여기에서는 도 40 및 도 41의 플로우차트를 이용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S421).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S422), 키 정보 헤더 생성부(106)는 단계 S427로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S422), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 2개의 하위 노드에 대응하는 2개의 노드 정보를 판독한다(단계 S423).
대상 노드가 하위 노드를 갖는 경우(단계 S424), 키 정보 헤더 생성부(106)는 2개의 하위 노드에 대응하는 판독된 2개의 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고, NRP를 생성한다(단계 S425). 그 후, 키 정보 헤더 생성부(106)는 생성된 NRP를 대상 노드에 대응하는 판독된 노드 정보에 추가하고(단계 S426), 단계 S421로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S424), 키 정보 헤더 생성부(106)는 단계 S421로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따르는 순서로 트리 구조 테이블로부터 노드 정보를 판독하려고 시도한다(단계 S427).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S422), 키 정보 헤더 생성부(106)는 상기 처리를 종료한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S428), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 NRP가 부가되어 있는지의 여부를 검사하고,판독된 노드 정보에 NRP가 부가되어 있는 경우(단계 S429) 부가된 NRP를 출력한다(단계 S430). 그 후, 키 정보 헤더 생성부(106)는 단계 S427로 복귀하여 상기 처리를 반복한다.
판독된 노드 정보에 NRP가 부가되어 있지 않은 경우(단계 S429), 키 정보 헤더 생성부(106)는 단계 S427로 복귀하여 상기 처리를 반복한다.
4.2.3 키 정보를 특정하는 동작
여기에서는 도 42의 플로우차트를 이용하여 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체 키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 특정부(303)의 동작과 동일하므로, 그 설명은 생략한다.
특정부(303)는 변수 i, 변수 L, 변수 X, 플래그 F, 값 D 및 포인터 A를 갖는다. 변수 i는 검사될 ID 정보의 비트 위치를 나타낸다. 변수 L은 현재 검사되고 있는 NRP가 포함되는 계층을 나타낸다. 변수 X는 경로가 분기하는 포인트에 노드의 계층을 저장한다. 플래그 F(초기값 F = 0)는 NRP를 검사할 것인지의 여부를 판정하기 위한 것이다. 값 D는 트리 구조내의 계층의 수를 나타낸다. 포인터 A는 검사될 NRP의 위치를 나타낸다.
특정부(303)는 변수 i = 0, 변수 L = 0, 플래그 F = 0, 변수 X = 0 및 포인터 A = 0으로 설정한다(단계 S1300).
이어서, 특정부(303)는 변수 L이 계층의 수 D-1 미만인지의 여부를 판정한다. 변수 L이 계층 수 D-1 이상인 경우(단계 S1301), 특정부(303)는 변수 X의 최종 계층 번호를 변수 L에 입력한다. 변수 X는 후입선출 변수이고, 그로부터 출력되는 값은 삭제된다. 바꿔 말하면, 계층 0, 계층 2 및 계층 3이 순서대로 변수 X에 입력되는 경우, 계층 3이 먼저 출력된 후 삭제되고, 이어서 계층 2가 출력된다(단계 S1313). 그 후, 특정부(303)는 단계 S1301로 복귀하여 상기 처리를 반복한다.
변수 L이 계층의 수 D-1 미만인 경우(단계 S1301), 특정부(303)는 변수 i = 변수 L인지의 여부를 판정한다. 변수 i가 변수 L과 같지 않은 경우(단계 S1302), 특정부(303)는 단계 S1310으로 진행한다.
변수 i = 변수 L인 경우(단계 S1302), 특정부(303)는 플래그 F = 0인지의 여부를 판정한다. 플래그 F가 0과 같지 않은 경우(단계 S1303), 특정부(303)는 플래그 F를 0으로 설정하고(단계 S1309), 단계 S1310으로 진행한다.
플래그 F = 0인 경우(단계 S1303), 특정부(303)는 ID 정보의 최상위 i번째 비트의 값에 따라 A번째 NRP에 대응하는 비트 위치의 값 B를 검사하고, 변수 i = i + 1로 설정한다(단계 S1304).
이어서, 특정부(303)는 값 B = 1인지의 여부를 검사하고, B가 1이 아닌 경우(단계 S1305), ID 정보가 할당되어 있는 장치가 무효화되지 않았다고 판정하며, 상기 처리를 종료한다.
값 B = 1인 경우(단계 S1305), 특정부(303)는 변수 i ≠ D - 1인지의 여부를 판정하고, 변수 i가 1과 같은 경우(단계 S1306), ID 정보가 할당되어 있는 장치가무효화된 것으로 판정하며, 상기 처리를 종료한다.
이어서, 변수 i ≠ D - 1인 경우(단계 S1306), 특정부(303)는 NRP가 {11}이고 ID 정보의 i-1번째 값이 "1"인지의 여부를 판정한다. 상기 판정이 부정인 경우(단계 S1307), 특정부(303)는 단계 S1310으로 진행한다.
상기 판정이 긍정인 경우(단계 S1307), 특정부(303)는 플래그 F = 1로 설정하고(단계 S1308), L = L + 1로 설정하며(단계 S1310), NRP가 {11}인 경우, 특정부(303)는 NRP의 계층 번호를 변수 X로 저장한다(단계 S1311). 그 후, 특정부(303)는 A = A + 1로 설정하고(단계 S1312), 단계 S1310으로 복귀한다.
5. 제 5 실시예
제 4 실시예에서는, NRP가 순서 규칙 2에 따라 배열되어 있다.
이하 설명하는 제 5 실시예에서는, 디지털 저작물 보호 시스템(10e)(도시 생략)이 제 4 실시예의 디지털 저작물 보호 시스템(10d)에서와 동일한 방식으로 순서 규칙 2에 따라 NRP를 배열하고 출력하지만, 무효화된 장치가 특정 리프 근방에 집중적으로 발생할 때 제 2 실시예에서 설명한 디지털 저작물 보호 시스템(10b)에서와 동일한 방식으로 헤더 정보의 데이터량을 감소시킨다.
5.1 디지털 저작물 보호 시스템(10e)의 구성
디지털 저작물 보호 시스템(10e)은 디지털 저작물 보호 시스템(10d)과 유사한 구성을 갖는다. 여기에서는, 디지털 저작물 보호 시스템(10d)과 다른 디지털 저작물 보호 시스템(10e)의 특징을 설명한다.
5.1.1 키 관리 장치(100)
디지털 저작물 보호 시스템(10e)의 키 관리 장치(100)는 제 4 실시예에서 설명한 키 관리 장치(100d)와 유사한 구성을 갖는다. 여기에서는 키 관리 장치(100d)와 다른 키 관리 장치(100)의 특징을 설명한다.
(1) 트리 구조 저장부(102)
트리 구조 저장부(102)는 트리 구조 테이블을 갖는다. 트리 구조 저장부(102)내의 트리 구조 테이블은 제 4 실시예에서 설명한 트리 구조 테이블 D1000과 동일한 구성을 갖고, 트리 구조 테이블에 포함되는 각각의 노드 정보는 NRP를 추가로 포함하고 있다.
(2) 키 정보 헤더 생성부(106)
키 정보 헤더 생성부(106)는 복수의 NRP를 생성하고, 생성된 NRP를 헤더 정보로서 키 정보 기록 장치(200)에 출력한다. 각 NRP는 제 2 실시예에서 설명한 바와 같이 3 비트로 구성된다.
NRP를 생성하는 동작의 상세한 설명은 후술한다.
5.1.2 기록 장치(300a)
디지털 저작물 보호 시스템(10e)의 기록 장치(300a)는 제 4 실시예에서 설명한 기록 장치(300a)와 유사한 구성을 갖는다. 여기에서는 제 4 실시예에서 설명한 기록 장치(300a)와 다른 기록 장치(300a)의 특징을 설명한다.
(1) 특정부(303)
특정부(303)는 ID 정보 및 헤더 정보를 이용하여 최상위로부터 순차적으로 헤더 정보를 검사함으로써 하나의 암호화된 매체 키의 위치 X를 특정한다. 암호화된 매체 키의 위치 X를 특정하는 동작의 상세한 설명은 후술한다.
5.2 디지털 저작물 보호 시스템(10e)의 동작
이하의 설명은 디지털 저작물 보호 시스템(10d)과 다른 디지털 저작물 보호 시스템(10e)의 동작의 특징에 중점을 둔 것이다.
5.2.1 헤더 정보를 생성하는 동작
여기에서는 도 43 내지 도 46의 플로우차트를 이용하여 키 정보 헤더 생성부(106)에 의해 헤더 정보를 생성하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S153의 상세한 설명이다.
키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S451).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S452), 키 정보 헤더 생성부(106)는 단계 S458로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S452), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 2개의 직접적인 하위 노드에 대응하는 2개의 노드 정보를 판독한다(단계 S453).
대상 노드가 하위 노드를 갖는 경우(단계 S454), 키 정보 헤더 생성부(106)는 2개의 하위 노드에 대응하는 판독된 2개의 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고, NRP를 생성하며(단계 S455), 생성된 NRP의 헤드에 값 "0"의 확장 비트를 부가한다(단계 S456). 그 후, 키 정보 헤더 생성부(106)는확장 비트가 부가되어 있는 NRP를 대상 노드에 대응하는 노드 정보에 추가하고(단계 S457), 단계 S451로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S454), 키 정보 헤더 생성부(106)는 단계 S451로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따르는 순서로 트리 구조 테이블로부터 노드 정보를 판독하려고 시도한다(단계 S458).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S459), 키 정보 헤더 생성부(106)는 단계 S465로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S459), 키 정보 헤더 생성부(106)는 판독된 노드 정보의 모든 직접적인 하위 노드에 대응하는 모든 노드 정보를 판독한다(단계 S460).
대상 노드가 하위 노드를 갖는 경우(단계 S461), 키 정보 헤더 생성부(106)는 모든 하위 노드에 대응하는 모든 판독된 노드 정보에 무효화 플래그가 부가되어 있는지의 여부를 검사하고(단계 S462), 모든 하위 노드에 무효화 플래그가 부가되어 있는 경우에만(단계 S463), 키 정보 헤더 생성부(106)는 대상 노드에 대응하는 노드 정보에 부가된 NRP의 최상위 비트를 "1"로 재기입한다(단계 S464).
이어서, 키 정보 헤더 생성부(106)는 단계 S458로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S461), 키 정보 헤더 생성부(106)는 단계 S458로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S465).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S466), 키 정보 헤더 생성부(106)는 단계 S472로 진행한다.
키 정보 헤더 생성부(106)가 모든 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S466), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 대응하는 대상 노드의 모든 하위 노드에 대응하는 모든 노드 정보를 판독한다(단계 S467).
대상 노드가 하위 노드를 갖는 경우(단계 S468), 키 정보 헤더 생성부(106)는 모든 하위 노드에 대응하는 모든 판독된 노드 정보에 NRP {111}이 부가되어 있는지의 여부를 검사하고(단계 S469), 모든 판독된 노드 정보에 NRP {111}이 부가되어 있는 경우에만(단계 S470), 키 정보 헤더 생성부(106)는 각각의 노드 정보에 삭제 플래그를 부가한다(단계 S471).
이어서, 키 정보 헤더 생성부(106)는 단계 S465로 복귀하여 상기 처리를 반복한다.
대상 노드가 하위 노드를 갖지 않는 경우(단계 S468), 키 정보 헤더 생성부(106)는 단계 S465로 복귀하여 상기 처리를 반복한다.
이어서, 키 정보 헤더 생성부(106)는 순서 규칙 2에 따라 트리 구조 테이블로부터 한번에 하나의 노드 정보를 판독하려고 시도한다(단계 S472).
모든 노드 정보의 판독의 종료를 검출할 때(단계 S473), 키 정보 헤더 생성부(106)는 상기 처리를 종료한다.
키 정보 헤더 생성부(106)가 노드 정보의 판독의 종료를 검출하지 않았지만, 그 대신에 하나의 노드 정보를 판독할 수 있는 경우(단계 S473), 키 정보 헤더 생성부(106)는 판독된 노드 정보에 NRP가 부가되어 있는지의 여부를 검사하고, 판독된 노드 정보에 NRP가 부가되어 있는 경우(단계 S474), 판독된 노드 정보에 삭제 플래그가 부가되어 있는지의 여부를 검사한다. 삭제 플래그가 부가되어 있지 않은 경우(단계 S475), 키 정보 헤더 생성부(106)는 부가된 NRP를 출력한다(단계 S476). 그 후, 키 정보 헤더 생성부(106)는 단계 S472로 복귀하여 상기 처리를 반복한다.
판독된 노드 정보에 NRP가 부가되어 있지 않은 경우(단계 S474), 또는 판독된 노드 정보에 삭제 플래그가 부가되어 있는 경우(단계 S475), 키 정보 헤더 생성부(106)는 단계 S472로 복귀하여 상기 처리를 반복한다.
5.2.2 키 정보를 특정하는 동작
여기에서는 도 47의 플로우차트를 이용하여 기록 장치(300a)의 특정부(303)에 의해 기록 매체(500b)에 저장되어 있는 키 정보로부터 암호화된 매체 키를 특정하는 동작을 설명한다. 여기에서 설명하는 동작은 도 11의 플로우차트에서의 단계 S172의 상세한 설명이다.
또한, 재생 장치(400a)의 특정부(402)에 의해 실행되는 동작은 상기 특정부(303)에 의해 실행되는 동작과 동일하므로, 그 설명은 생략한다.
여기에서는 도 42에 나타내는 플로우차트와 다른 특징을 설명한다.
제 4 실시예와 유사하게, 특정부(303)는 변수 i, 변수 L, 변수 X, 플래그 F, 값 D 및 포인터 A를 갖는다. 변수 i는 검사될 ID 정보의 비트 위치를 나타낸다. 변수 L은 현재 검사되고 있는 NRP가 포함되는 계층을 나타낸다. 변수 X는 경로가 분기하는 포인트에 노드의 계층을 저장한다. 플래그 F(초기값 F = 0)는 NRP를 검사할 것인지의 여부를 판정하기 위한 것이다. 값 D는 트리 구조내의 계층의 수를 나타낸다. 포인터 A는 검사될 NRP의 위치를 나타낸다.
값 B = 1인 경우(단계 S1305), NRP의 최상위 비트가 "1"인 경우에만(단계 S1316), 특정부(303)는 변수 i = D - 1로 설정하고, 변수 L = D - 1로 설정한다(단계 S1317).
더욱이, NRP가 {11}이고 NRP의 최상위 비트가 "1"이 아닌 경우, 특정부(303)는 NRP의 계층 번호를 변수 X로 저장한다(단계 S1311).
7. 제 6 실시예
이하 본 발명의 추가의 실시예로서 인증 시스템(1000)을 설명한다.
도 52에 나타내는 바와 같이, 인증 시스템(1000)은 인증국 장치(1100), 제조 장치(1200), 제조 장치(1300), 디지털 저작물 기록 장치(1400) 및 퍼스널 컴퓨터(1500)으로 구성된다. 퍼스널 컴퓨터(1500)는 드라이버 유닛(1600) 및 컴퓨터 유닛(1900)으로 구성되고, 범용 통신 경로(1020)에 의해 접속되어 있다.
드라이버 제조업자는 인터넷(1010)에 접속되어 있는 제조 장치(1200)를 갖고 있다. 드라이버 유닛(1600)을 제조하는 프로세스에서, 제조 장치(1200)는 드라이버 유닛(1600)에 대응하는 드라이버 비밀 키 및 드라이버 공개 키를 생성하고, 생성한드라이버 비밀 키를 드라이버 유닛(1600) 외부로부터 액세스되지 않는 드라이버 유닛(1600)의 저장 영역에 기입하며, 인터넷(1010)을 통해 생성한 공개 키를 공개한다. 또한, 제조 장치(1200)는 인터넷(1010)을 통해 공개 키 인증국이 갖는 인증국 장치(1100)에 공개 키 인증서를 생성하도록 요청한다. 인증국 장치(1100)는 드라이버 공개 키에 대응하는 공개 키 인증서를 생성하고, 생성한 공개 키 인증서를 인터넷(1010)을 통해 제조 장치(1200)에 송신한다. 제조 장치(1200)는 인증국 장치(1100)로부터 드라이버 공개 키에 대응하는 공개 키 인증서를 획득하고, 획득한 공개 키 인증서를 드라이버 유닛(1600)에 기입한다. 드라이버 제조업자는 드라이버 비밀 키 및 드라이버 공개 키 인증서가 기입된 드라이버 유닛(1600)을 컴퓨터 제조업자에게 공급한다.
컴퓨터 제조업자는 인터넷(1010)에 접속되어 있고, 퍼스널 컴퓨터(1500)의 컴퓨터 유닛(1900)을 제조하는 제조 장치(1300)를 갖고 있다. 컴퓨터 유닛(1900)을 제조하는 프로세스에서, 제조 장치(1300)는 인터넷(1010)을 통해 공개된 드라이버 공개 키를 획득하고, 획득한 드라이버 공개 키를 컴퓨터 유닛(1900)에 기입한다. 이어서, 컴퓨터 제조업자는 드라이버 유닛(1600) 및 컴퓨터 유닛(1900)을 범용 통신 경로(1020)에 접속함으로써, 드라이버 공개 키가 기입된 컴퓨터 유닛(1900)과 제공된 드라이버 유닛(1600)을 조립하며, 그것에 의해 퍼스널 컴퓨터(1500)을 생산한다.
생산된 퍼스널 컴퓨터(1500)는 판매자를 통해 판매되고, 결국 사용자에 의해 구매된다.
여기에서, 드라이버 비밀 키 및 드라이버 공개 키의 세트가 부정한 제 3자에 의해 노출된 것으로 가정한다. 이 경우에, 대응하는 공개 키 인증서는 무효화되어야 한다.
공개 키 인증서가 무효화될 것을 발견할 때, 인증국 장치(1100)는 무효화될 공개 키 인증서를 식별하는 인증서 ID를 포함하는 CRL을 생성하고, 생성한 CRL을 인터넷(1010)을 통해 디지털 저작물 판매자가 갖는 디지털 저작물 기록 장치(1400)에 송신한다. 디지털 저작물 기록 장치(1400)는 디지털 저작물을 저장하고, 디지털 저작물 및 수신한 CRL을 DVD(1800)에 기입한다. 디지털 저작물 및 CRL이 기입된 DVD(1800)가 판매된다.
사용자는 DVD(1800)를 구매하고, DVD(1800)를 퍼스널 컴퓨터(1500)에 장착한다.
퍼스널 컴퓨터(1500)의 컴퓨터 유닛(1900)은 DVD(1800)로부터 드라이버 유닛(1600)을 통해 CRL을 판독하고, 드라이버 유닛(1600)으로부터 공개 키 인증서를 획득하며, 판독한 CRL을 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정한다. 판정이 긍정인 경우, 컴퓨터 유닛(1900)은 드라이버 유닛(1600)의 이용을 정지한다. 판정이 부정인 경우, 컴퓨터 유닛(1900)은 내부에 저장되어 있는 드라이버 공개 키를 사용하여 드라이버 유닛(1600)을 추가로 인증하고, 드라이버 유닛(1600)이 정당한 것으로 인증될 때, DVD(1800)로부터 드라이버 유닛(1600)을 통해 디지털 저작물을 판독한다. 드라이버 유닛(1600)이 부정한 것으로 인증될 때, 컴퓨터 유닛(1900)은 DVD(1800)로부터 드라이버 유닛(1600)을 통해 디지털 저작물의 판독을 정지한다.
7.1 제조 장치(1200)의 구성
도 53에 나타내는 바와 같이, 제조 장치(1200)는 정보 저장부(1201), 입력부(1202), 디스플레이부(1203), 제어부(1204), 기입부(1205) 및 통신부(1206)으로 구성된다.
제조 장치(1200)는 구체적으로는, 마이크로프로세서, ROM, RAM, 하드 디스크부, 통신부, 디스플레이부, 키보드, 마우스 등으로 구성되는 컴퓨터 시스템이다. 하드 디스크부는 컴퓨터 프로그램을 저장한다. 제조 장치(1200)는 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 자신의 기능을 달성한다.
상술한 바와 같이, 제조 장치(1200)는 드라이버 제조업자가 갖고 있다. 드라이버 유닛(1600)을 제조하는 프로세스에서, 드라이버 제조업자는 제조 장치(1200)와 부분적으로 제조된 드라이버 유닛(1600)을 연결한다.
(1) 정보 저장부(1201)
정보 저장부(1201)는 제조 정보 테이블(1211)을 갖는다.
도 53에 일례로서 나타내는 바와 같이, 제조 정보 테이블(1211)은 복수의 제조 정보를 저장하는 영역을 포함하고, 각각의 제조 정보는 제조 번호, 드라이버 비밀 키, 드라이버 공개 키, 유효 기간, 공개 키 인증서 및 인증서 서명 데이터로 구성된다.
여기에서, 제조 번호는 드라이버 제조업자에 의해 제조된 드라이버 유닛을 고유하게 식별하는 식별 번호이다.
드라이버 비밀 키는 드라이버 유닛에 대응하여 생성되는 비밀 키이다.
드라이버 공개 키는 드라이버 비밀 키에 대응하여 생성되는 공개 키이다.
유효 기간은 드라이버 비밀 키 및 드라이버 공개 키의 사용의 개시일 및 종료일을 포함한다.
공개 키 인증서는 드라이버 공개 키에 대응하여 생성되는 인증서이고, 인증서 ID, 유효 기간 및 드라이버 공개 키를 포함한다. 인증서 ID는 공개 키 인증서를 식별하는 식별 정보이다. 유효 기간은 상술한 바와 동일하다. 드라이버 공개 키도 또한 상술한 바와 동일하다.
인증서 서명 정보는 공개 키 인증서에 기초하여 생성되는 서명 데이터이다.
(2) 입력부(1202)
입력부(1202)는 제조 장치(1200)의 조작자로부터 드라이버 유닛(1600)의 제조 번호의 입력을 수신하고, 유효 기간의 입력을 추가로 수신하며, 수신한 제조 번호 및 유효 기간을 제어부(1204)에 출력한다.
(3) 제어부(1204)
제어부(1204)는 입력부(1202)로부터 제조 번호 및 유효 기간을 수신한다. 제조 번호 및 유효 기간을 수신할 때, 제어부(1204)는 난수를 생성하고, 생성된 난수에 기초하여 드라이버 비밀 키를 생성한 후, 생성된 드라이버 비밀 키에 기초하여 RSA 공개 키 암호화 기술을 이용하여 드라이버 공개 키를 생성한다.
RSA 공개 키 암호화 기술은 공지되어 있기 때문에, 여기에서 그 설명은 생략한다.
이어서, 제어부(1204)는 공개 키 인증서 발행 요청, 수신된 유효 기간 및 생성된 공개 키를 통신부(1206) 및 인터넷(1010)을 통해 인증국 장치(1100)에 출력한다. 공개 키 인증서 발행 요청은 공개 키 인증서를 발행하라는 요청을 나타낸다.
이어서, 제어부(1204)는 인증국 장치(1100)로부터 인터넷(1010) 및 통신부(1206)를 통해 공개 키 인증서 및 인증서 서명 데이터를 수신하고, 제조 번호, 드라이버 비밀 키, 드라이버 공개 키, 유효 기간, 공개 키 인증서 및 인증서 서명 데이터로 이루어진 제조 정보를 생성하며, 생성한 제조 정보를 정보 저장부(1200)내의 제조 정보 테이블(1211)에 기입한다.
또한, 제어부(1204)는 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 기입부(1205)에 출력한다.
또한, 제어부(1204)는 통신부(1206) 및 인터넷(1010)을 통해 제조 번호 및 드라이버 공개 키를 공개한다.
(4) 기입부(1205)
기입부(1205)는 드라이버 제조업자에 의해 드라이버 유닛(1600)내의 정보 저장부(1601)(후술함)에 연결되어 있다.
기입부(1205)는 제어부(1204)로부터 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 수신하고, 수신한 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 드라이버 유닛(1600)내의 정보 저장부(1601)에 기입한다.
(5) 통신부(1206)
통신부(1206)는 인터넷(1010)에 연결되어 있고, 인터넷(1010)에 연결되어 있는 외부 장치 및 제어부(1204) 사이에 정보를 송신 및 수신한다.
(6) 디스플레이부(1203)
디스플레이부(1203)는 제어부(1204)의 제어 하에 여러 종류의 정보를 디스플레이한다.
7.2 제조 장치(1300)의 구성
제조 장치(1300)는 제조 장치(1200)와 유사하게, 마이크로프로세서, ROM, RAM, 하드 디스크부, 통신부, 디스플레이부, 키보드, 마우스 등으로 구성되는 컴퓨터 시스템이다. 하드 디스크부는 컴퓨터 프로그램을 저장한다. 제조 장치(1300)는 컴퓨터 프로그램에 따라 마이크로프로세서에 의해 자신의 기능을 달성한다.
제조 장치(1300)는 인터넷(1010)에 연결되어 있다.
상술한 바와 같이, 제조 장치(1300)는 컴퓨터 제조업자가 갖고 있다. 컴퓨터 유닛(1900)을 제조하는 프로세스에서, 컴퓨터 제조업자는 제조 장치(1300)와 컴퓨터 유닛(1900)을 연결한다.
제조 장치(1300)는 인터넷(1010)을 통해 공개된 제조 번호 및 드라이버 공개 키를 획득하고, 획득한 제조 번호 및 드라이버 공개 키를 컴퓨터 유닛(1900)내의 정보 저장부(1901)(후술함)에 기입한다.
7.3 인증국 장치(1100)
도 54에 나타내는 바와 같이, 인증국 장치(1100)는 트리 구조 구성부(1101), 트리 구조 저장부(1102), CRL 생성부(1103), 무효 통지부(1104), 트리 구조 갱신부(1105), CRL 저장부(1106), CRL 송신부(1107), 인증서 생성부(1108), 인증서 저장부(1109), 송수신부(1110), 입력부(1111), 디스플레이부(1112) 및 제어부(1113)으로 구성된다.
이 장치는 구체적으로는, 마이크로프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 인증국 장치(1100)는 컴퓨터 프로그램에 따라 마이크로프로세서에 의해 자신을 기능을 달성한다.
인증국 장치(1100)는 키 제조 장치(100)와 유사한 구성을 갖는다. 이하의 설명은 키 제조 장치(100)와 다른 인증국 장치(1100)의 특징에 중점을 두고 설명한다.
(1) 트리 구조 저장부(1102)
트리 구조 저장부(1102)는 트리 구조 저장부(102)내의 트리 구조 테이블 D100과 유사한 트리 구조 테이블 D1100(도시 생략)을 갖는다.
트리 구조 테이블 D1100은 트리 구조 T1100(도시 생략)에 대응한다.
<트리 구조 T1100>
트리 구조 T1100은 계층 0 내지 계층 4까지의 5개의 계층을 갖는 이진 트리이고, 도 4에 나타내는 트리 구조 T100과 동일한 트리 구조이다. 트리 구조 T1100은 공개 키 인증서 ID를 관리하는데 사용된다.
반면에, 트리 구조 T100은 상술한 바와 같이, 디바이스 키를 관리하는데 사용된다. 이와 같이, 트리 구조 T1100 및 트리 구조 T100은 사용의 목적이 다르다. 트리 구조 T1100의 구성 자체는 트리 구조 T100과 동일하므로, 여기에서 상세한 설명은 생략한다.
<트리 구조 테이블 D1100>
트리 구조 테이블 D1100은 트리 구조 T1100내의 노드의 수와 일치하는 노드 정보를 저장하는 영역을 포함한다. 각각의 노드 정보는 트리 구조 T1100내의 노드 중 하나에 대응한다.
트리 구조 테이블 D1100내의 리프 이외의 노드에 대응하는 각각의 노드 정보는 노드명 및 무효화 플래그를 포함한다. 리프에 대응하는 각각의 노드 정보는 노드명, 드라이버 공개 키 및 무효화 플래그를 포함한다. 여기에서, 드라이버 공개 키는 후술하는 바와 같이, 제조 장치(1200)로부터 수신된 것이다.
후술하는 바와 같이, 트리 구조 테이블 D100에 포함되는 각각의 노드 정보는 노드명, 디바이스 키 및 무효화 플래그를 포함하는 것에 유념하라. 반면에, 트리 구조 테이블 D1100에 포함되는 각각의 노드 정보는 노드명 및 무효화 플래그를 포함하거나, 또는 노드명, 드라이버 공개 키 및 무효화 플래그를 포함한다.
트리 구조 테이블 D1100 및 트리 구조 테이블 D100은 이러한 점에서 다르지만, 그 외의 점에서는 동일하다. 결국, 여기에서 트리 구조 테이블 D1100의 상세한 설명은 생략한다.
(2) 트리 구조 구성부(1101)
트리 구조 구성부(1101)는 트리 구조 구성부(101)과 유사한 구성을 갖는다.
트리 구조 구성부(101)과 동일한 방법으로, 트리 구조 구성부(1101)는 공개 키 인증서 ID를 관리하는 n진 트리 데이터 구조를 구성하고, 구서한 트리 구조를트리 구조 저장부(1102)에 저장한다. 구체적으로는, 트리 구조 구성부(101)과 동일한 방법으로, 트리 구조 구성부(1101)는 트리 구조 테이블 D1100내의 각각의 노드 정보에 대한 노드명을 생성하고, 생성한 각 노드명을 대응하는 노드 정보에 기입한다.
이러한 방법으로, 트리 구조 구성부(1101)가 트리 구조를 구성하는 것을 완료한 시점에서, 트리 구조 테이블 D1100내의 각각의 노드 정보는 노드명만을 포함한다.
트리 구조 구성부(101)와 트리 구조 구성부(1101) 사이의 차이는 트리 구조 구성부(101)는 트리 구조내의 각 노드로부터 디바이스 키를 생성하고, 생성한 디바이스 키를 트리 구조 테이블내의 노드에 대응하는 기입하는 반면에, 트리 구조 구성부(1101)는 디바이스 키를 생성하지 않거나 디바이스 키를 트리 구조 테이블에 기입하지 않는다는 것에 유념하라.
(3) 인증서 저장부(1109)
인증서 저장부(1109)는 적어도 하나의 공개 키 인증서(후술함)를 저장하는 영역을 포함한다.
(4) 인증서 생성부(1108)
인증서 생성부(1108)는 제조 장치(1200)로부터 인터넷(1010) 및 송수신부(1110)를 통해 공개 키 인증서 발행 요청, 드라이버 공개 키 및 유효 기간을 수신한다. 공개 키 인증서 발행 요청은 공개 키 인증서를 발행하라는 요청을 나타낸다.
공개 키 인증서 발행 요청, 드라이버 공개 키 및 유효 기간을 수신할 때, 인증서 생성부(1108)는 트리 구조 저장부(1102)에 저장된 트리 구조 테이블 D1100내의 리프에 대응하지만 드라이버 공개 키를 포함하지 않는 하나의 노드 정보를 선택하고, 선택된 노드 정보에 수신한 드라이버 공개 키를 기입한다.
또한, 인증서 생성부(1108)는 선택된 노드 정보로부터 노드명을 추출한다. 여기에서, 추출된 노드명은 수신된 드라이버 공개 키에 대응하는 공개 키 인증서를 식별하는 인증서 ID로 된다.
이와 같이, 인증서 생성부(1108)는 수신된 드라이버 공개 키에 대응하는 공개 키에 대한 인증서 ID를 생성한다. 이어서, 인증서 생성부(1108)는 생성된 인증서 ID, 수신된 유효 기간 및 수신된 드라이버 공개 키로 구성되는 공개 키 인증서를 생성한다.
이어서, 인증서 생성부(1108)는 인증국 장치(1100)에 의해서만 비밀리에 유지되는 인증국 비밀 키를 이용하여 생성된 공개 키 인증서에 디지털 서명 SIG를 실시하여, 인증서 서명 데이터를 생성한다.
여기에서, 디지털 서명 SIG는 타원 곡선상에 ElGamal 암호를 사용하는 디지털 서명 알고리즘이다. 타원 곡선상의 ElGamal 암호의 안전성은 타원 곡선상의 이산 알고리즘 문제에 기초하고 있다.
이어서, 인증서 생성부(1108)는 생성된 공개 키 인증서 및 인증서 서명 데이터를 송수신부(1110) 및 인터넷(1010)을 통해 제조 장치(1200)에 송신한다. 또한, 인증서 생성부(1108)는 생성된 공개 키 인증서를 인증서 저장부(1109)에 기입한다.
(5) 무효 통지부(1104)
드라이버 비밀 키와 드라이버 공개 키의 세트가 제 3자에 의해 노출되었다고 가정한다. 이 경우에, 대응하는 공개 키 인증서가 무효화되어야 한다.
인증국 장치(1100)의 관리자가 공개 키 인증서의 인증서 ID가 무효화된 것을 발견할 때, 무효 통지부(1104)는 관리자에 의한 조작에 따라 입력부(1111)를 통해 무효화될 공개 키 인증서의 인증서 ID를 획득하고, 획득한 인증서 ID를 트리 구조 갱신부(1105)에 출력한다.
(6) 트리 구조 갱신부(1105)
트리 구조 갱신부(1105)는 무효 통지부(1104)로부터 인증서 ID를 수신한다.
인증서 ID를 수신할 때, 트리 구조 갱신부(1105)는 트리 구조 갱신부(105)와 동일한 방법으로 트리 구조 테이블 D1100을 갱신한다.
트리 구조 갱신부(105)의 이전의 설명에서의 "ID 정보"는 트리 구조 갱신부(1105)에 관하여 "인증서 ID"로 판독되어야 하는 것에 유념하라.
이와 같이, 트리 구조 갱신부(105)와 동일한 방법으로, 트리 구조 갱신부(1105)는 무효 통지부(1104)로부터 수신된 인증서 ID에 기초하여, 트리 구조 D1100내의 수신된 인증서 ID를 나타내는 리프로부터 루트까지의 경로상의 모든 노드를 무효화시킨다.
트리 구조 D1100 내에 "0000", "1010" 및 "1011"로 나타내는 인증서 ID가 무효화된 것으로 가정하면, 상술한 방법으로 트리 구조 갱신부(1105)에 의해 노드가 무효화된 트리 구조는 도 5에 나타내는 바와 같이 된다. 도 5에서, ×표로 표시된 각 노드는 무효화된 노드를 나타낸다.
(7) CRL 저장부(1106)
CRL 저장부(1106)는 적어도 하나의 CRL을 저장하는 영역을 포함한다.
(8) CRL 생성부(1103)
CRL 생성부(1103)는 키 정보 헤더 생성부(1106)와 유사하게 동작한다. 그 결과, CRL 생성부(1103)는 복수의 NRP를 생성한다.
CRL 생성부(1103)에 의해 생성되는 복수의 NRP(이하 "NRP 그룹"이라고 함)의 일례를 도 55에 나타내고 있다. 도 55에 나타내는 바와 같이, NRP 그룹은 NRP {11}, {10}, {10}, {10}, {01}, {10} 및 {11}이 언급한 순서로 배열되어 이루어진다.
여기에서, 생성된 NRP 그룹의 내용은 키 정보 헤더 생성부(106)에 의해 생성된 헤더 정보 D200(도 6에 도시)과 동일하다.
지금까지 설명한 CRL 생성부(1103)의 동작은 키 정보 헤더 생성부(106)와 동일하다.
CRL 생성부(1103)에 의한 결과적인 동작은 키 정보 헤더 생성부(106)와 상이하다. CRL 생성부(1103)는 인증국 장치(1100)에 의해서만 비밀리에 저장된 인증국 키를 사용하여 생성된 NRP 그룹에 디지털 서명 SIG를 실시하여, NRP 서명 데이터를 생성하고, NRP 그룹과 생성된 NRP 서명 데이터로 이루어진 CRL을 생성한다.
도 55는 CRL의 일례를 나타낸다. 도 55에 나타내는 CRL은 NRP 그룹(1132) 및 NRP 서명 데이터(1133)으로 구성되어 있다.
이어서, CRL 생성부(1103)는 생성된 CRL을 CRL 저장부(1106)에 기입한다. 또한, CRL 생성부(1103)는 생성된 CRL을 CRL 송신부(1107) 및 인터넷(1010)을 통해 디지털 저작물 기록 장치(1400)에 송신한다.
(9) CRL 송신부(1107)
인터넷(1010)에 연결되어 있는 CRL 송신부(1107)는 CRL 생성부(1103)로부터 정보를 수신하고, 수신한 정보를 인터넷(1010)을 통해 외부 장치에 송신한다.
(10) 송수신부(1110)
인터넷(1010)에 연결되어 있는 송수신부(1110)는 인증서 생성부(1108)와 인터넷(1010)에 연결되어 있는 외부 장치 사이에 정보를 송신 및 수신한다.
(11) 제어부(1113), 디스플레이부(1112) 및 입력부(1111)
제어부(1113)는 인증국 장치(1100)의 여러 가지 구성 요소를 제어한다.
디스플레이부(1112)는 제어부(1113)의 제어 하에 여러 가지 정보를 디스플레이한다.
입력부(1111)는 인증국 장치(1100)의 조작자로부터 입력을 수신한다.
7.4 디지털 저작물 기록 장치(1400)
도 56에 나타내는 바와 같이, 디지털 저작물 기록 장치(1400)는 디지털 저작물 저장부(1401), 암호화부(1402), 기입부(1403) 및 송수신부(1404)로 구성된다. 디지털 저작물 기록 장치(1400)는 마이크로프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이고, 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 자신을 기능을 달성한다.
(1) 디지털 저작물 저장부(1401)
디지털 저작물 저장부(1401)는 디지털 저작물을 미리 저장한다.
(2) 송수신부(1404)
송수신부(1404)는 인터넷(1010)에 연결되어 있다.
송수신부(1404)는 인증국 장치(1100)로부터 인터넷(1010)을 통해 CRL을 수신하고, 수신한 CRL을 암호화부(1402)에 출력한다.
(3) 암호화부(1402)
암호화부(1402)는 송수신부(1404)로부터 CRL을 수신한다.
또한, 암호화부(1402)는 조작자 명령에 따라 디지털 저작물 저장부(1401)로부터 디지털 저작물을 판독하고, 판독한 디지털 저작물 및 수신한 CRL에 각각 암호화 알고리즘 E3을 실시하여, 암호화된 디지털 저작물 및 암호화된 CRL을 생성한다.
여기에서, 암호화 알고리즘 E3은 DES 암호화 알고리즘이다.
이어서, 암호화부(1402)는 생성한 암호화된 디지털 저작물 및 암호화된 CRL을 기입부(1403)에 출력한다.
(4) 기입부(1403)
기입부(1403)는 암호화부(1402)로부터 암호화된 디지털 저작물 및 암호화된 CRL을 수신하고, 수신한 암호화된 디지털 저작물 및 암호화된 CRL을 DVD(1800)에 기입한다.
(5) 송수신부(1404)
송수신부(1404)는 인터넷(1010)에 연결되어 있다.
송수신부(1404)는 외부 장치로부터 인터넷(1010)을 통해 정보를 수신하고,수신한 정보를 암호화부(1402)에 출력한다.
7.5 컴퓨터 유닛(1900)
도 57에 나타내는 바와 같이, 컴퓨터 유닛(1900)은 정보 저장부(1901), 복호화부(1902), 인증부(1903), 디스플레이부(1904), 입출력부(1905), 제어부(1906), 재생부(1907), 복호화부(1908) 및 입력부(1909)로 구성된다.
컴퓨터 유닛(1900)은 마이크로프로세서, ROM, RAM, 하드 디스크부, 디스플레이부, 키보드, 마우스 등으로 구성되는 컴퓨터 시스템이다. 컴퓨터 프로그램이 RAM 또는 하드 디스크부에 저장되어 있다. 컴퓨터 유닛(1900)은 컴퓨터 프로그램에 따라 동작하는 마이크로프로세서에 의해 자신의 기능을 달성한다.
(1) 정보 저장부(1901)
도 57에 일례로 나타내는 바와 같이, 정보 저장부(1901)는 제조 번호 및 드라이버 공개 키를 저장하는 영역을 포함한다.
상술한 바와 같이, 컴퓨터 제조업자에 의해 컴퓨터 유닛(1900)을 제조하는 프로세스 중에, 제조 장치(1300) 및 컴퓨터 유닛(1900)이 연결되고, 제조 장치(1300)가 제조 번호 및 드라이버 공개 키를 정보 저장부(1901)에 기입한다.
제조 번호는 드라이버 유닛(1600)을 식별하는 식별 정보이고, 드라이버 공개 키는 드라이버 유닛(1600)에 대응하여 생성된 공개 키이다.
(2) 제어부(1906)
제어부(1906)는 CRL의 판독을 나타내는 CRL 판독 명령을 입출력부(1905)를 통해 드라이버 유닛(1600)에 출력한다.
제어부(1906)는 NRP 그룹의 검증이 성공하였다는 것을 나타내는 성공 정보, 또는 NRP 그룹의 검증이 실패하였다는 것을 나타내는 실패 정보 중 하나를 수신한다. 성공 정보를 수신하면, 제어부(1906)는 인증부(1903)로부터 NRP 그룹을 추가로 수신한다.
실패 정보를 수신하면, 제어부(1906)는 검증 실패를 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다. 그 후, 제어부(1906)는 드라이버 유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
제어부(1906)가 성공 정보를 수신할 때, 제어부(1906)는 드라이버 유닛(1600)으로부터 입출력부(1905)를 통해 공개 키 인증서를 요청한다.
<무효화 판정>
이어서, 제어부(1906)는 드라이버 유닛(1600)으로부터 공개 키 인증서를 수신하고, 수신한 공개 키 정보로부터 인증서 ID를 추출하며, 이하의 방법으로 인증부(1903)으로부터 수신된 NRP 그룹 및 추출된 인증서 ID를 이용하여 공개 키 인증서가 무효화되어 있는지의 여부를 판정한다.
제어부(1906)는 제 1 실시예에서와 특정부(303)와 유사한 방법으로 공개 키 인증서가 무효화되어 있는지의 여부를 판정한다. 특정부(303)와 제어부(1906) 사이의 차이는 특정부(303)가 암호화된 매체 키를 특정하기 위해 동작하는 반면에, 제어부(9106)는 공개 키 인증서가 무효화되어 있는지의 여부를 판정하기 위해 동작하는 것이다.
이하의 설명은 제어부(1906)에 의해 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 동작을 특정부(303)와 다른 동작에 중점을 두고 설명한다.
제어부(1906)는 도 17에 나타내는 동작에 따라 공개 키 인증서가 무효화되어 있는지의 여부를 판정한다.
제어부(1906)는 인증서 ID에 관련된 NRP의 위치를 나타내는 변수 A, 계층내의 NRP의 수를 나타내는 변수 W 및 트리 구조내의 계층의 수를 나타내는 값 D를 갖는다. 여기에서, 인증서 ID에 관련된 NRP는 인증서 ID에 할당되는 리프로부터 루트까지의 경로 상에 있는 트리 구조내의 노드의 NRP를 나타낸다. 특정부(303)와 달리, 제어부(1906)는 암호화된 매체 키의 위치를 나타내는 변수 X를 갖지 않음에 유념하라.
도 17의 플로우차트에서의 단계 S302에서 판정이 부정일 때, 제어부(1906)는 공개 키 인증서가 무효화된 것으로 간주한다.
또한, 도 17의 플로우차트에서의 단계 S303에서 B가 0과 같다고 판정될 때, 제어부(1906)는 공개 키 인증서가 유효하다(즉, 무효화되지 않았다)고 판정한다. 제어부(1906)는 단계 S307에서 아무 것도 하지 않는다.
이와 같이, 제어부(1906)는 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 판정이 긍정일 때, 제어부(1906)는 공개 키 인증서가 무효화된 것을 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다. 그 후, 제어부(1906)는 드라이버 유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
반면에, 공개 키 인증서가 유효하다고 판정될 때, 제어부(1906)는 난수 R을 생성하고, 생성한 난수 R을 입출력부(1905)를 통해 드라이버 유닛(1600)에 출력하며, 드라이버 유닛(1600)으로부터 인증 서명 데이터를 수신한다.
제어부(1906)는 정보 저장부(1901)로부터 드라이버 공개 키를 판독하고, 판독한 드라이버 공개 키를 이용하여 생성된 난수 R 및 수신된 인증 서명 데이터에 검증 알고리즘 VER을 실시하여, 드라이버 유닛(1600)을 검증하다.
여기에서, 검증 알고리즘 VER은 상술한 디지털 서명 SIG에 대응하고, 디지털 서명 SIG에 의해 생성된 서명 데이터에 따라 검증한다.
검증이 실패한 경우, 제어부(1906)는 드라이버 유닛(1600)이 부정하다는 것을 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다. 그 후, 제어부(1906)는 드라이버 유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
검증이 성공한 경우, 제어부(1906)는 디지털 저작물 판독 명령을 입출력부(1905)를 통해 드라이버 유닛(1600)에 출력한다.
이어서, 제어부(1906)는 드라이버 유닛(1600)으로부터 입출력부(1905)를 통해 암호화된 디지털 저작물을 수신하고, 수신한 디지털 저작물을 복호화부(1908)에 출력한다.
(3) 복호화부(1902)
복호화부(1902)는 드라이버 유닛(1600)으로부터 입출력부(1905)를 통해 암호화된 CRL을 수신하고, 수신한 암호화된 CRL에 복호화 알고리즘 D3을 실시하여 NRP그룹 및 NRP 서명 데이터를 생성하며, 생성된 NRP 그룹 및 NRP 서명 데이터를 인증부(1903)에 출력한다.
(4) 인증부(1903)
인증부(1903)는 인증국 장치(1100)에 의해 미리 배포된 인증국 공개 키를 저장한다. 인증국 공개 키는 상술한 인증국 비밀 키에 대응하고, 인증국 비밀 키에 기초하여 공개 키 암호화 방법 공개 키 생성 알고리즘을 사용하여 생성된다.
인증부(1903)는 복호화부(1902)로부터 NRP 그룹 및 NRP 서명 데이터를 수신하고, 인증국 공개 키를 사용하여 NRP 그룹 및 NRP 서명 데이터에 디지털 서명 검증 알고리즘 VER을 실시함으로써 NRP 그룹을 검증한다.
여기에서, 검증 알고리즘 VER은 상술한 디지털 서명 SIG에 대응하고, 디지털 서명 SIG에 의해 생성된 서명 데이터에 따라 검증한다.
검증의 결과가 NRP 그룹이 정당한 것을 나타낼 때, 바꿔 말하면, 검증이 성공한 경우, 인증부(1903)는 검증이 성공적인 것을 나타내는 성공 정보를 제어부(1906)에 출력한다. 이 경우에, 인증부(9103)는 NRP 그룹을 제어부(9106)에 추가로 출력한다. 반면에, 검증의 결과가 NRP 그룹이 부정한 것을 나타낼 때, 바꿔 말하면, 검증이 실패한 경우, 인증부(1903)는 검증이 실패한 것을 나타내는 실패 정보를 제어부(1906)에 출력한다.
(5) 복호화부(1908)
복호화부(1908)는 제어부(1906)로부터 암호화된 디지털 저작물을 수신하고, 수신한 암호화된 디지털 저작물에 복호화 알고리즘 D3을 실시하여 디지털 저작물을생성하며, 생성된 디지털 저작물을 재생부(1907)에 출력한다.
(6) 재생부(1907)
재생부(1907)는 복호화부(1908)로부터 디지털 저작물을 수신하고, 디지털 저작물을 재생하며, 재생된 디지털 저작물을 출력한다.
(7) 디스플레이부(1904)
디스플레이부(1904)는 제어부(1906)로부터 메시지를 수신하고, 수신된 메시지를 제어부(1906)의 제어 하에 디스플레이한다.
(8) 입력부(1909)
입력부(1909)는 조작자로부터 입력을 수신한다.
7.6 드라이버 유닛(1600)
도 58에 나타내는 바와 같이, 드라이버 유닛(1600)은 정보 저장부(1601), 판독부(1602), 제어부(1603), 인증부(1604) 및 입출력부(1605)로 구성된다.
(1) 정보 저장부(1601)
도 38에 나타내는 바와 같이, 정보 저장부(1601)는 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 저장하는 영역을 포함한다.
상술한 바와 같이, 드라이버 제조업자에 의해 드라이버 유닛(1600)을 제조하는 프로세스 중에, 제조 장치(1200) 및 드라이버 유닛(1600)이 연결되고, 제조 장치(1200)는 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 정보 저장부(1601)에 기입한다.
제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터는 상술한 바와 같으므로, 여기에서 그 설명은 생략한다.
(2) 제어부(1603)
제어부(1603)는 컴퓨터 유닛(1900)으로부터 입출력부(1605)를 통해 CRL 판독 명령, 공개 키 인증서 요청, 난수 R 및 디지털 저작물 판독 요청을 수신한다.
CRL 판독 요청을 수신하면, 제어부(1603)는 DVD(1800)로부터 판독부(1602)를 통해 암호화된 CRL을 판독하고, 판독한 암호화된 CRL을 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다.
공개 키 인증서 요청을 수신하면, 제어부(1603)는 정보 저장부(1601)로부터 공개 키 인증서를 판독하고, 판독한 공개 키 인증서를 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다.
난수 R을 수신하면, 제어부(1603)는 수신한 난수 R을 인증부(1604)에 출력하고, 인증부(1604)가 인증 서명 데이터를 생성하도록 제어한다.
디지털 저작물 판독 요청을 수신하면, 제어부(1603)는 DVD(1800)로부터 판독부(1602)를 통해 암호화된 디지털 저작물을 판독하고, 판독한 암호화된 디지털 저작물을 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다.
이어서, 제어부(1603)는 인증부(1604)로부터 인증 서명 데이터를 수신하고, 수신한 인증 서명 데이터를 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다.
(3) 인증부(1604)
인증부(1604)는 제어부(1603)로부터 난수 R을 수신한다. 제어부(1603)의 제어 하에, 인증부(1604)는 정보 저장부(1601)로부터 드라이버 비밀 키를 판독하고,판독한 드라이버 비밀 키를 사용하여 수신한 난수 R에 디지털 서명 SIG를 실시하여 인증 서명 데이터를 생성하며, 생성된 인증 서명 데이터를 제어부(1603)에 출력한다.
(4) 판독부(1602)
판독부(1602)는 DVD(1800)로부터 정보를 판독하고, 판독한 정보를 제어부(1603)의 제어 하에 제어부(1603)에 출력한다.
(5) 입출력부(1605)
입출력부(1605)는 제어부(1603)의 제어 하에 제어부(1603)와 컴퓨터 유닛(1900) 사이에 정보를 송신 및 수신한다.
7.7 인증 시스템(1000)의 동작
(1) 제조 장치(1200) 및 제조 장치(1300)의 동작
이하 도 59에 나타내는 플로우차트를 이용하여 제조 장치(1200) 및 제조 장치(1300)의 동작을 설명한다.
입력부(1202)는 제조 장치(1200)의 조작자로부터 드라이버 유닛(1600)의 제조 번호의 입력을 수신하고, 제어부(1204)는 입력부(1202)로부터 제조 번호를 수신한다(단계 S501). 이어서, 입력부(1202)는 제조 장치(1200)의 조작자로부터 유효 기간의 입력을 수신하고, 수신된 유효 기간을 제어부(1204)에 출력한다. 제어부(1204)는 입력부(1202)로부터 유효 기간을 수신한다(단계 S502).
이어서, 제어부(1204)는 난수를 생성하고, 생성된 난수에 기초하여 드라이버 비밀 키를 생성한다(단계 S503). 그 후, 제어부(1204)는 생성된 비밀 키에 기초하여 RSA 공개 키 암호화 기술을 사용하여 드라이버 공개 키를 생성한다(단계 S504).
이어서, 제어부(1204)는 생성된 드라이버 공개 키, 수신된 유효 기간 및 공개 키 인증서를 발행하라는 요청을 나타내는 공개 키 인증서 발행 요청을 통신부(1206) 및 인터넷(1010)을 통해 인증국 장치(1100)에 출력한다(단계 S505).
이어서, 제어부(1204)는 인증국 장치(1100)로부터 통신부(1206) 및 인터넷(1010)을 통해 공개 키 인증서 및 인증서 서명 데이터를 수신하고(단계 S506), 제조 번호, 드라이버 비밀 키, 드라이버 공개 키, 유효 기간, 공개 키 인증서 및 인증서 서명 데이터로 이루어진 제조 정보를 생성하며, 생성된 제조 정보를 정보 저장부(1200)내의 제조 정보 테이블(1211)에 기입한다(단계 S507).
또한, 제어부(1204)는 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 기입부(1205)에 출력하고, 기입부(1205)는 수신한 제조 번호, 드라이버 비밀 키, 공개 키 인증서 및 인증서 서명 데이터를 드라이버 유닛(1600)내의 정보 저장부(1601)에 기입한다(단계 S508).
또한, 제어부(1204)는 제조 번호 및 드라이버 공개 키를 통신부(1206) 및 인터넷(1010)을 통해 공개한다(단계 S509).
제조 장치(1300)는 공개된 제조 번호 및 드라이버 공개 키를 인터넷(1010)을 통해 획득하고(단계 S509), 획득한 제조 번호 및 드라이버 공개 키를 컴퓨터 유닛(1900)내의 정보 저장부(1901)에 기입한다(단계 S510).
(2) 인증국 장치(1100)에 의해 공개 키 인증서를 발행하는 동작
이하 도 60에 나타내는 플로우차트를 이용하여 인증국 장치(1100)에 의해 공개 키 인증서를 발행하는 동작을 설명한다.
트리 구조 구성부(1101)는 트리 구조 구성부(101)와 동일한 방법으로 공개 키 인증서 ID를 관리하는 n진 트리 데이터 구조를 구성하고, 구성한 트리 구조를 트리 구조 저장부(1102)에 저장한다(단계 S521).
인증서 생성부(1108)는 제조 장치(1200)로부터 인터넷(1010) 및 송수신부(1110)를 통해 공개 키 인증서를 발행하라는 요청을 나타내는 공개 키 인증서 발행 요청, 드라이버 공개 키 및 유효 기간을 수신한다(단계 S505).
이어서, 인증서 생성부(1108)는 드라이버 공개 키를 포함하지 않는 트리 구조 저장부(1102)에 저장되어 있는 트리 구조 테이블 D1100내의 리프에 대응하는 하나의 노드 정보를 선택하고, 수신한 드라이버 공개 키를 선택한 노드 정보에 기입하며, 선택한 노드 정보로부터 노드명을 추출한다. 여기에서, 추출된 노드명은 공개 키 인증서를 식별하는 인증서 ID이다(단계 S552). 이어서, 인증서 생성부(1108)는 생성된 인증서 ID, 수신된 유효 기간 및 수신된 드라이버 공개 키로 이루어진 공개 키 인증서를 생성하고(단계 S523), 또한 인증국 장치(1100)에 의해서만 비밀리에 유지되는 인증국 비밀 키를 사용하여 생성한 공개 키 인증서에 디지털 서명 SIG를 실시하여 인증서 서명 데이터를 생성한다(단계 S524).
이어서, 인증서 생성부(1108)는 생성한 공개 키 인증서 및 인증서 서명 데이터를 송수신부(1110) 및 인터넷(1010)을 통해 제조 장치(1200)에 송신하고(단계 S506), 생성된 공개 키 인증서를 인증서 저장부(1109)에 기입한다(단계 S525). 그 후, 인증서 생성부(1108)는 단계 S505로 복귀하여 처리를 반복한다.
(3) 인증국 장치(1100)에 의해 CRL을 발행하는 동작
이하 도 61에 나타내는 플로우차트를 이용하여 인증국 장치(1100)에 의해 CRL을 발행하는 동작을 설명한다.
인증국 장치(1100)의 관리자가 공개 키 인증서의 인증서 ID가 무효화된 것을 발견하면, 무효 통지부(1104)는 관리자에 의한 조작에 따라 입력부(1111)를 통해 무효화될 공개 키 인증서의 인증서 ID를 획득하고, 획득한 인증서 ID를 트리 구조 갱신부(1105)에 출력한다(단계 S541).
이어서, 트리 구조 갱신부(1105)는 무효 통지부(1104)로부터 인증서 ID를 수신하고, 트리 구조 갱신부(105)와 동일한 방법으로 트리 구조 테이블 D1100을 갱신한다(단계 S542). 이어서, CRL 생성부(1103)는 키 정보 헤더 생성부(106)와 동일한 방법으로 NRP 그룹을 생성한다(단계 S543).
이어서, CRL 생성부(1103)는 인증국 장치(1100)에 의해서만 비밀리에 저장되어 있는 인증국 비밀 키를 사용하여 생성된 NRP 그룹에 디지털 서명 SIG를 실시하여 NRP 서명 데이터를 생성하고(단계 S544), NRP 그룹 및 생성된 NRP 서명 데이터로 이루어진 CRL을 생성하며(단계 S545), 생성된 CRL을 CRL 저장부(1106)에 기입한다(단계 S546). 이어서, CRL 생성부(1103)는 생성된 CRL을 CRL 송신부(1107) 및 인터넷(1010)을 통해 디지털 저작물 기록 장치(1400)에 송신한다(단계 S547).
디지털 저작물 기록 장치(1400)내의 송수신부(1404)는 인증국 장치(1100)로부터 인터넷(1010)을 통해 CRL을 수신하고, 수신한 CRL을 암호화부(1402)에 출력하며, 암호화부(1402)는 송수신부(1404)로부터 CRL을 수신한다(단계 S547).
이어서, 암호화부(1402)는 조작자로부터의 명령에 따라 디지털 저작물 저장부(1401)로부터 디지털 저작물을 판독하고, 판독한 디지털 저작물에 암호화 알고리즘 E3을 실시하여 암호화된 디지털 저작물을 생성한다(단계 S548). 그 후, 암호화부(1402)는 수신된 CRL에 암호화 알고리즘 E3을 실시하여 암호화된 CRL을 생성한다(단계 S549).
이어서, 암호화부(1402)는 생성한 암호화된 디지털 저작물 및 암호화된 CRL을 기입부(1403)에 출력한다(단계 S550).
(4) 컴퓨터 유닛(1900) 및 드라이버 유닛(1600)의 동작
이하 도 62 및 도 63에 나타내는 플로우차트를 이용하여 컴퓨터 유닛(1900) 및 드라이버 유닛(1600)의 동작을 설명한다.
컴퓨터 유닛(1900)내의 제어부(1906)는 CRL의 판독을 나타내는 CRL 판독 명령을 드라이버 유닛(1600)에 출력하고, 드라이버 유닛(1600)의 제어부(1603)는 컴퓨터 유닛(1900)으로부터 입출력부(1605)를 통해 판독 명령을 수신한다(단계 S561).
이어서, 제어부(1603)는 DVD(1800)로부터 판독부(1602)를 통해 암호화된 CRL을 판독하고(단계 S562), 판독한 암호화된 CRL을 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다(단계 S563).
이어서, 복호화부(1902)는 드라이버 유닛(1600)으로부터 입출력부(1905)를 통해 암호화된 CRL을 수신하고(단계 S563), 수신한 암호화된 CRL에 복호화 알고리즘 D3을 실시하여 NRP 그룹 및 NRP 서명 데이터를 생성하며, 생성된 NRP 그룹 및NRP 서명 데이터를 인증부(1903)에 출력한다(단계 S564).
인증부(1903)는 복호화부(1902)로부터 NRP 그룹 및 NRP 서명 데이터를 수신하고, 인증국 공개 키를 사용하여 NRP 그룹 및 NRP 서명 데이터에 디지털 서명 검증 알고리즘 VER을 실시하며, NRP 그룹을 검증한다. 그 후, 인증부(1903)는 성공 정보 또는 실패 정보 중 하나를 제어부(1906)에 출력하고, 성공 정보를 출력하는 경우에는 NRP 그룹을 제어부(1906)에 추가로 출력한다(단계 S565).
이어서, 실패 정보가 수신될 때(단계 S566), 제어부(1906)는 검증 실패를 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다(단계 S567). 그 후, 제어부(1906)는 드라이버 유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
성공 정보가 수신될 때(단계 S566), 제어부(1906)는 드라이버 유닛(1600)으로부터 입출력부(9105)를 통해 공개 키 인증서를 추가로 요청한다(단계 S568).
제어부(1603)는 컴퓨터 유닛(1900)으로부터 입출력부(1605)를 통해 공개 키 인증서 요청을 수신하고(단계 S568), 정보 저장부(1601)로부터 공개 키 인증서를 판독하며(단계 S569), 판독한 공개 키 인증서를 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다(단계 S570).
이어서, 제어부(1906)는 드라이버 유닛(1600)으로부터 공개 키 인증서를 수신하고(단계 S570), 수신한 공개 키 정보로부터 인증서 ID를 추출하며(단계 S571), 인증부(1903)로부터 수신된 NRP 그룹을 사용하여 공개 키 인증서가 무효화되어 있는지의 여부를 판정한다(단계 S572).
판정이 긍정인 경우(단계 S573), 제어부(1906)는 공개 키 인증서가 무효화된 것을 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다(단계 S574). 그 후, 제어부(1906)는 드라이버 유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
반면에, 공개 키 인증서가 유효하다고 판정되는 경우(단계 S573), 제어부(1906)는 난수 R을 생성하고(단계 S575), 생성된 난수 R을 입출력부(1905)를 통해 드라이버 유닛(1600)에 출력한다(단계 S576).
제어부(1603)는 입출력부(1905)로부터 난수 R을 수신하고(단계 S576), 수신한 난수 R을 인증부(1604)에 출력하며, 인증부(1604)가 인증 서명 데이터를 생성하도록 제어한다. 인증부(1604)는 수신된 난수 R에 디지털 서명 SIG를 실시하여 인증 서명 데이터를 생성하고(단계 S577), 생성된 인증 서명 데이터를 제어부(1603)에 출력한다(단계 S578).
제어부(1906)는 드라이버 유닛(1600)으로부터 인증 서명 데이터를 수신한다(단계 S578). 이어서, 제어부(1906)는 정보 저장부(1901)로부터 드라이버 공개 키를 판독하고, 판독한 드라이버 공개 키를 사용하여 생성한 난수 R 및 수신한 인증 서명 데이터에 검증 알고리즘 VER을 실시하며, 드라이버 유닛(1600)을 검증한다(단계 S579).
검증 실패 시에(단계 S580), 제어부(1906)는 드라이버 유닛(1600)이 부정한 것을 나타내는 메시지를 디스플레이부(1904)에 출력하고, 디스플레이부(1904)가 메시지를 디스플레이하도록 제어한다(단계 S586). 그 후, 제어부(1906)는 드라이버유닛(1600)에 의한 DVD로의 액세스를 정지시킨다.
검증 성공 시에(단계 S580), 제어부(1906)는 디지털 저작물 판독 명령을 입출력부(1905)를 통해 드라이버 유닛(1600)에 출력한다(단계 S581).
제어부(1603)는 컴퓨터 유닛(1900)으로부터 입출력부(1605)를 통해 디지털 저작물 판독 요청을 수신하고(단계 S581), DVD(1800)로부터 판독부(1602)를 통해 암호화된 디지털 저작물을 판독하며(단계 S582), 판독한 암호화된 디지털 저작물을 입출력부(1605)를 통해 컴퓨터 유닛(1900)에 출력한다(단계 S583).
이어서, 제어부(1906)는 드라이버 유닛(1600)으로부터 입출력부(1905)를 통해 암호화된 디지털 저작물을 수신하고(단계 S583), 수신한 암호화된 디지털 저작물을 복호화부(1902)에 출력한다. 복호화부(1902)는 암호화된 디지털 저작물을 수신하고, 수신한 암호화된 디지털 저작물에 복호화 알고리즘 D3을 실시하여 디지털 저작물을 생성하며, 생성된 디지털 저작물을 재생부(1907)에 출력한다(단계 S584).
재생부(1907)는 복호화부(1902)로부터 디지털 저작물을 수신하고, 수신한 디지털 저작물을 재생하며, 재생된 디지털 저작물을 출력한다(단계 S585).
7.8 변형예
제 1 실시예의 기술은 상술한 바와 같이, 제 6 실시예에 적용된다. 구체적으로, 제 1 실시예에서 헤더 정보를 생성하고, 암호화된 매체 키를 특정하는 방법은 제 6 실시예에서 인증 시스템(1000)에서의 CRL 생성 및 공개 키 인증서 무효화 판정에 적용된다.
제 2 내지 제 5 실시예 중 어느 하나와 그 변형예가 제 6 실시예에 적용될수 있음에 유념하라. 구체적으로는, 제 2 내지 제 5 실시예 중 어느 하나 및 그 변형예에서의 헤더 정보를 생성하고 암호화된 매체 키를 특정하는 방법이 제 6 실시예에서 인증 시스템(1000)에서의 CRL 생성 및 공개 키 인증서 무효화 판정에 적용될 수 있다.
제 2 실시예가 제 6 실시예에 적용될 때, 자손 노드가 모두 무효화되어 있는 노드의 NRP는 "00"으로 표현되도록 한정되지는 않는다. 예를 들어, "11"이 상술한 NRP를 표현하도록 "0" 및 "1"이 번갈아 일어날 수 있다. 또한, 상술한 의미를 나타내기 위해 NRP에 1 비트를 부가할 수도 있다.
유사하게, 제 3 실시예가 제 6 실시예에 적용될 때, 자손이 모두 무효화되어 있는 노드의 NRP를 "00"으로 표현하는 대신에, 상술한 의미를 나타내도록 1 비트를 부가할 수도 있다.
더욱이, 무효화된 공개 키 인증서가 존재하지 않을 때, 그러한 취지의 정보를 포함하는 CRL이 생성될 수 있다.
7.9 결론
본 발명은 공개 키 암호를 사용하고, 공개 키 암호화 알고리즘 비밀 키 및 공개 키를 갖고 비밀 키를 이용하여 자신의 정당성을 상대방에게 인증하는 단말기와, 적어도 단말기의 공개 키로 구성되는 데이터에 대한 공개 키 인증서를 발행 및 배포하는 공개 키 인증서 발행 장치와, 공개 키 인증서 발행 장치에 의해 단말기에 발행된 무효화되어 있는 공개 키 인증서를 특정하는 공개 키 무효화 리스트를 발행 및 배포하는 무효화 리스트 생성 장치와, 검증될 상대방 단말기의 공개 키 인증서및 공개 키 인증서 무효화 리스트를 수신하고, 공개 키 인증서가 공개 키 인증서 무효화 리스트에 등록되어 있는지의 여부를 판정하는 무효화 리스트 이용 장치와, 무효화 리스트 이용 장치에 의해 유효하다고 판정된 공개 키를 이용하여 상대방에 의한 인증을 검증하는 검증 장치로 구성되는 인증 시스템이다.
무효화 리스트 생성 장치는 복수의 레벨로 구성되는 트리 구조를 구성 및 저장하고, 단말기 중 다른 하나의 공개 키 인증서를 각각 식별하는 고유값을 트리 구조내의 리프에 각각 할당한다. 또한, 저장된 트리내의 특정 노드의 리프인 적어도 하나의 자손이 무효화될 공개 키 인증서의 고유값에 대응할 때, 무효화 리스트 생성 장치는 노드를 무효화 노드로 만들고, 노드 무효화 패턴을 적어도 하나의 무효화된 자노드를 갖는 노드에 할당한다. 노드 무효화 패턴은 자노드 중 다른 하나가 각각 무효화되어 있는지의 여부를 각각 식별하는 식별자를 연결함으로써 생성된다. 그 후, 무효화 리스트 생성 장치는 트리 구조내의 모든 노드 무효화 패턴이 트리 구조내의 모든 노드를 트레이스하는 소정의 규칙에 기초하여 배열되는 공개 키 인증서 무효화 리스트를 생성한다.
무효화 리스트 이용 장치는 소정의 규칙에 기초하여 공개 키 무효화 리스트를 분석하고, 검증될 상대방 단말기의 공개 키 인증서가 무효화 리스트에 등록되어 있는지의 여부를 판정한다.
또한, 본 발명은 단말기의 공개 키로 구성되는 데이터에 대한 공개 키 인증서를 발행 및 배포하는 공개 키 인증서 발행 장치와, 공개 키 인증서 발행 장치에 의해 단말기에 발행되는 무효화되어 있는 공개 키 인증서를 특정하는 공개 키 인증서 무효화 리스트를 발행 및 배포하는 무효화 리스트 생성 장치이다.
무효화 리스트 생성 장치는 복수의 레벨로 구성되는 트리 구조를 구성 및 저장하고, 단말기 중 다른 하나의 공개 키 인증서를 각각 식별하는 고유값을 트리 구조내의 리프에 각각 할당한다. 또한, 저장된 트리내의 특정 노드의 리프인 적어도 하나의 자손이 무효화될 공개 키 인증서의 고유값에 대응할 때, 무효화 리스트 생성 장치는 노드를 무효화 노드로 만들고, 노드 무효화 패턴을 적어도 하나의 무효화된 자노드를 갖는 노드에 할당한다. 노드 무효화 패턴은 자노드 중 다른 하나가 각각 무효화되어 있는지의 여부를 각각 식별하는 식별자를 연결함으로써 생성된다. 그 후, 무효화 리스트 생성 장치는 트리 구조내의 모든 노드 무효화 패턴이 트리 구조내의 모든 노드를 트레이스하는 소정의 규칙에 기초하여 배열되는 공개 키 인증서 무효화 리스트를 생성한다.
또한, 본 발명은 검증될 상대방 단말기의 공개 키 인증서 및 공개 키 인증서 무효화 리스트를 수신하고, 공개 키 인증서가 공개 키 인증서 무효화 리스트에 등록되어 있는지의 여부를 판정하는 무효화 리스트 이용 장치이다.
무효화 리스트 이용 장치는 소정의 규칙에 기초하여 공개 키 무효화 리스트를 분석하고, 검증될 상대방 단말기의 공개 키 인증서가 무효화 리스트에 등록되어 있는지의 여부를 판정한다.
여기에서, 인증 시스템은 배포의 수단으로 통신 매체를 사용할 수 있다.
여기에서, 무효화 리스트 이용 장치는 배포의 수단으로 통신 매체를 사용할 수 있다.
여기에서, 인증 시스템은 배포의 수단으로 기록 매체를 사용할 수 있다.
여기에서, 무효화 리스트 이용 장치는 배포의 수단으로 기록 매체를 사용할 수 있다.
여기에서, 인증 시스템은 자손 리프가 모두 무효화되어 있지 않은 노드와 구별되는 자손 리프가 모두 무효화되어 있는 노드에 노드 무효화 패턴을 할당할 수 있다.
여기에서, 무효화 리스트 생성 장치는 자손 리프가 모두 무효화되어 있지 않은 노드와 구별되는 자손 리프가 모두 무효화되어 있는 노드에 노드 무효화 패턴을 할당할 수 있다.
여기에서, 인증 시스템은 무효화된 노드의 모든 자손이 무효화되어 있는지의 여부를 나타내는 정보를 노드 무효화 패턴에 추가함으로써 노드 무효화 패턴을 형성할 수 있다.
여기에서, 무효화 리스트 생성 장치는 무효화된 노드의 모든 자손이 무효화되어 있는지의 여부를 나타내는 정보를 노드 무효화 패턴에 추가함으로써 노드 무효화 패턴을 형성할 수 있다.
여기에서, 인증 시스템은 트리 구조의 루트로부터 시작하여 최상위 계층에 우선 순위를 부여하고 동일한 레벨 내에서 노드에 좌측으로부터 우선 순위를 부여하는 규칙에 기초하여 노드 무효화 패턴을 배열할 수 있다.
여기에서, 무효화 리스트 생성 장치는 트리 구조의 루트로부터 시작하여 최상위 계층에 우선 순위를 부여하고 동일한 레벨 내에서 노드에 좌측으로부터 우선순위를 부여하는 규칙에 기초하여 노드 무효화 패턴을 배열할 수 있다.
여기에서, 트리 구조내의 모든 노드가 무효화되어 있다고 가정한다. 이러한 트리 구조는 처리된 노드 집합이라고 칭해진다. 인증 시스템은 아래의 방법으로 트리 구조에 무효화되지 않은 노드를 새로 추가한다. 트리 구조에 새로운 노드를 추가하는 것은 확장이라고 하는 것에 유념하라. 처리된 노드 집합으로 이루어진 트리 구조를 초기 상태로 가정하면, 트리 구조의 최하위 계층상의 노드에 속하도록 자노드가 추가된다. 최하위 계층에 복수의 노드가 존재할 때, 자노드는 좌측으로부터 우선 순위가 부가된다. 이러한 확장 규칙에 기초하여 트리 구조를 확장한 후에, 공개 키 인증서가 최하위 계층상의 노드, 바꿔 말하면 리프에 할당된다.
여기에서, 공개 키 인증서가 무효화될 때, 무효화 리스트 생성 장치는 무효화된 노드로부터 루트까지의 경로상의 모든 노드를 무효화시킨다. 무효화 리스트 생성 장치는 확장 규칙에 기초하여 무효화된 노드의 노드 무효화 패턴을 배열한다.
여기에서, 무효화 리스트 이용 장치는 확장 규칙에 기초하여 노드 무효화 패턴이 상술한 바와 같이 배열된 공개 키 무효화 리스트를 분석하고, 상대방의 공개 키 인증서가 무효화 리스트에 등록되어 있는지의 여부를 판정한다.
8. 다른 변형예
(1) 본 발명은 상기에 나타내는 방법이어도 된다. 또한, 이러한 방법은 컴퓨터에 의해 실현되는 컴퓨터 프로그램이어도 되고, 컴퓨터 프로그램의 디지털 신호이어도 된다.
또한, 본 발명은 컴퓨터 프로그램 또는 디지털 신호를 저장하는 플렉시블 디스크, 하드 디스크, CD-ROM(컴팩트 디스크-판독 전용 메모리), MO(자기-광학), DVD, DVD-ROM(디지털 다기능 디스크-판독 전용 메모리), DVD-RAM, BD(블루레이 디스크) 또는 반도체 메모리와 같은 컴퓨터 판독 가능 기록 매체 장치이어도 된다. 더욱이, 본 발명은 상술한 기록 매체 장치 중 어느 하나에 기록되는 컴퓨터 프로그램 또는 디지털 신호이어도 된다.
또한, 본 발명은 전기 통신 회선, 무선 또는 유선 통신 회선, 또는 인터넷으로 대표되는 네트워크로 송신되는 컴퓨터 프로그램 또는 디지털 신호이어도 된다.
또한, 본 발명은 마이크로프로세서 및 메모리를 포함하는 컴퓨터 시스템이어도 되고, 메모리는 컴퓨터 프로그램을 저장하며, 마이크로프로세서는 컴퓨터 프로그램에 따라 동작한다.
더욱이, 상기 프로그램 또는 디지털 신호를 기록 매체 장치에 전송하거나, 상기 프로그램 또는 디지털 신호를 네트워크 등을 통해 전송함으로써, 상기 프로그램 또는 디지털 신호가 다른 독립적인 컴퓨터 시스템에 의해 실행되어도 된다.
(2) 본 발명은 상술한 실시예 및 변형예의 임의의 조합이어도 된다.
9. 전체 결론
이상 명확하게 설명한 바와 같이, 본 발명의 개시한 제 1 실시예에 따르면, 기록 매체에 미리 기록된 헤더 정보로서 레벨 순서로 NRP를 배열함으로써, 키 정보의 크기가 소형화될 수 있고, 플레이어에 의한 복호화될 암호화된 매체 키의 효율적인 특정이 가능하다.
또한, 개시한 제 2 실시예에 따르면, 헤더 정보로서 1 비트를 노드의 자손이모두 무효화된 장치인지의 여부를 나타내도록 NRP의 헤드에 추가함으로써, 무효화 장치가 트리 구조의 특정부에서 발생하는 경우에 헤더 정보의 크기가 감소될 수 있다.
또한, 개시한 제 3 실시예에 따르면, 헤더 정보는, 특정 패턴에 따라 특정 노드의 모든 자손 노드가 무효화 장치인지의 여부를 판정함으로써, 그 크기가 더욱 감소될 수 있다.
또한, 개시한 제 4 실시예 및 제 5 실시예에 따르면, 제 1 내지 제 3 실시예에서 나타내는 것과 다른 순서로 NRP를 배열하는 것이 가능하게 된다.
또한, 제 6 실시예에 개시되어 있는 발명에 따르면, 무효화되는 공개 키 인증서의 수가 증가할 때에도 CRL의 크기가 억제될 수 있다.
10. 발명의 효과
상술한 바와 같이, 본 발명은 무효화 리스트 생성 장치 및 무효화 판정 장치를 포함하는 인증 시스템으로서, 상기 무효화 리스트 생성 장치는 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하고, 상기 무효화 판정 장치는 상기 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하며, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하고, 상기 무효화 리스트 생성 장치는, 트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부와, 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성부와, 상기 생성된 무효화 리스트를 출력하는 출력부를 포함하며, 상기 무효화 판정 장치는, 상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와, 상기 무효화 리스트를 획득하는 리스트 획득부와, 상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정부를 포함하는 인증 시스템이다. 또한, 본 발명은 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치로서, 트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부와, 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성부와, 상기 생성된 무효화 리스트를 출력하는 출력부를 포함하는 무효화 리스트 생성 장치이다. 또한, 본 발명은 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치로서, 상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지이며, (b) 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, (c) 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하며, 상기 무효화 판정 장치는,상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와, 상기 무효화 리스트를 획득하는 리스트 획득부와, 상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정부를 포함하는 무효화 판정 장치이다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 리프 이외의 각 무효화된 노드에 대해 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성한다. 따라서, CRL은 비교적 작은 크기로 억제될 수 있다. 또한, 무효화 판정 장치는 무효화 정보를 사용하여 루트로부터 리프까지의 경로를 구성하려고 시도하고, 리프가 경로에 포함될 수 있을 때, 공개 키 인증서가 무효화되어 있다고 판정한다. 따라서, 무효화 리스트 생성 장치는 공개 키 인증서가 무효화되어 있는지의 여부를 확실하게 판정할 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 트리 시스템은 복수의 계층을 포함할 수 있고, 상기 무효화 리스트 생성부가 상기 획득한 무효화 정보를 배열하는 상기 순서는 루트측 계층으로부터 리프측 계층으로의 상기 계층의 순서일 수 있으며, 상기 루트는 개시점이다. 또한, 상기 무효화 판정 장치에서, 상기 트리 시스템은 복수의 계층으로 구성될 수 있고, 상기 무효화 정보는 루트측 계층으로부터 리프측 계층으로의 상기 계층의 순서로 배열될 수 있으며, 상기 루트는 개시점이고, 상기 판정부는 상기 순서로 배열된 상기 무효화 정보를 이용하여 상기 경로를 구성하며, 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 루트를 개시점으로 하여 루트측 계층으로부터 리프측 계층으로의 계층의 순서로 복수의 무효화 정보를 배열한다. 따라서, 무효화 판정 장치는 확실하게 경로를 구성할 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 무효화 리스트 생성부가 상기 획득한 무효화 정보를 배열하는 상기 순서는 상기 노드가 상기 루트로부터 상기 리프까지의 경로 상에 위치되는 순서일 수 있고, 상기 루트는 개시점이며, 각 노드는 상기 순서에 1회만 포함된다. 또한, 상기 무효화 판정 장치에서, 상기 무효화 정보가 배열되어 있는 상기 순서는 상기 노드가 상기 루트로부터 상기 리프까지의 상기 경로 상에 위치되는 순서일 수 있고, 상기 루트는 개시점이며, 각 노드는 상기 순서에 1회만 포함되고, 상기 판정부는 상기 순서로 배열된 상기 무효화 정보를 이용하여 상기 경로를 구성하며, 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 루트를 개시점으로 하여 상기 노드가 상기 루트로부터 상기 리프까지의 경로 상에 위치되는 순서로 복수의 무효화 정보를 배열하고, 상기 순서에 각 노드를 1회만 포함한다. 따라서, 무효화 판정 장치는 확실하게 경로를 구성할 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 무효화 리스트 생성부는상기 리프를 제외한 모든 무효화된 노드에 대해 무효화 정보를 생성할 수 있다. 또한, 상기 무효화 판정 장치에서, 상기 무효화 정보는 상기 리프를 제외한 모든 무효화된 노드에 대해 생성될 수 있고, 상기 판정부는 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 리프를 제외한 각 무효화된 노드에 대해 하나의 무효화 정보를 생성한다. 따라서, 무효화 리스트에서 누락되는 무효화 정보는 없다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 무효화 리스트 생성부는, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 특정 무효화 정보를 생성할 수 있고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타낸다. 또한, 상기 무효화 판정 장치에서, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 특정 무효화 정보가 생성될 수 있고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제되고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보가 생성될 수 있으며, 상기 무효화 정보는 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내고, 상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 하위 노드가 모두 무효화되어 있는 특정 무효화 정보를 생성한다. 따라서, 무효화 리스트의 크기가 더욱 작게 만들어질 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 트리 시스템은 n진 트리일 수 있고, n은 2 이상의 정수이며, 상기 무효화 정보 생성부는, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 상기 특정 무효화 정보를 생성할 수 있고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내는 제 1 부가 정보와, n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 정보로 구성되며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 하위 노드가 모두 무효화되어 있지 않은 것을 나타내는 제 2 부가 정보와, 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 정보로 구성된다. 또한, 상기 무효화 판정 장치에서, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 생성될 수 있는 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내는 제 1 부가 정보와, n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 정보로 구성되며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제될 수 있고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 생성된 상기 무효화 정보는 상기 하위 노드가 모두 무효화되어 있지 않은 것을 나타내는 제 2 부가 정보와, 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 정보로 구성되며, 상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해, 하위 노드가 모두 무효화되어 있는 것을 나타내는 제 1 부가 정보와, n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 정보로 구성되는 특정 무효화 정보를 생성하고, 모든 무효화된 하위 노드에 대해 무효화 정보를 생성하지 않는다. 따라서, 무효화 리스트의 크기가 더 작게 만들어질 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 트리 시스템은 n진 트리일 수 있고, n은 2 이상의 정수이며, 상기 무효화 정보 생성부는, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 상기 특정 무효화 정보를 생성할 수 있고, 상기 특정 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 특정값으로 구성되며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수로 구성된다. 또한, 상기 무효화 판정 장치에서, 상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 생성된 상기 특정 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 특정값으로 구성될 수 있으며, 상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제될 수 있고, 상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 생성된 상기 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 무효화 정보일 수 있으며, 상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 특정값으로 구성되는 특정 무효화 정보를 생성하고, 모든 무효화된 하위 노드에 대해 무효화 정보를 생성하지 않는다. 따라서, 무효화 리스트의 크기가 더 작게 만들어질 수 있다.
여기에서, 상기 무효화 리스트 생성 장치에서, 상기 트리 시스템 저장부내의 모든 노드는 무효화될 수 있고, 상기 트리 시스템내의 각 리프는 상기 트리 시스템을 확장하는 것에 관련된 확장 규칙에 따라 적어도 하나의 하위 확장 노드를 추가로 가질 수 있으며, 각 최하위 확장 노드는 다른 확장 공개 키 인증서에 대응하는 확장 리프이고, 확장 리프 식별자는 확장 공개 키 인증서에 대응하며, 상기 확장 공개 키 인증서 중 적어도 하나는 무효화되어 있고, 상기 루트로부터 상기 무효화된 확장 공개 키 인증서를 식별하는 식별자를 갖는 상기 확장 리프까지의 모든 노드는 무효화되어 있으며, 상기 무효화 리스트 생성부는 상기 확장 리프를 제외하고 각 무효화된 확장 노드에 대해 상기 무효화된 확장 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 확장 무효화 정보를 추가로 생성함으로써, 복수의 확장 무효화 정보를 획득하고, 상기 확장 무효화 정보를 상기 확장 규칙에 따라 상기 무효화 리스트에 추가할 수 있으며, 상기 출력부는 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 출력할 수 있다. 또한, 무효화 판정 장치에서, 상기 무효화 리스트 생성 장치내의 모든 노드는 무효화될 수 있고, 상기 트리 시스템내의 각 리프는 상기 트리 시스템을 확장하는 것에 관련된 확장 규칙에 따라 적어도 하나의 하위 확장 노드를 추가로 가질 수 있으며, 각 최하위 확장 노드는 다른 확장 공개 키 인증서에 대응하는 확장 리프이고, 확장 리프 식별자는 확장 공개 키 인증서에 대응하며, 상기 확장 공개 키 인증서 중 적어도 하나는 무효화되어 있고, 상기 루트로부터 상기 무효화된 확장 공개 키 인증서를 식별하는 식별자를 갖는 상기 확장 리프까지의 모든 노드는 무효화되어 있으며, 상기 무효화 리스트 생성 장치는 상기 확장 리프를 제외하고 각 무효화된 확장 노드에 대해 상기 무효화된 확장 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 확장 무효화 정보를 추가로 생성함으로써, 복수의 확장 무효화 정보를 획득하고, 상기 확장 무효화 정보를 상기 확장 규칙에 따라 상기 무효화 리스트에 추가하며, 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 출력할 수 있고, 상기 인증서 획득부는 상기 확장 리프 중 하나를 나타내는 확장 리프 식별자에 의해 식별되는 확장 공개 키 인증서를 추가로 획득할 수 있으며, 상기 리스트 획득부는 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 획득할 수 있고, 상기 판정부는 상기 획득한 확장 무효화 리스트내의 상기 확장 무효화 정보를 이용하여 상기 루트로부터 상기 확장 리프 식별자에 의해 식별되는 상기 확장 리프까지의 경로를 추가로 구성하려고 시도하고, 상기 확장 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 확장 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 확장 공개 키 인증서가 유효하다고 판정할 수 있다.
상술한 구성에 따라, 무효화 리스트 생성 장치는 확장 리프를 제외한 각 무효화된 확장 노드에 대해 무효화된 확장 노드의 각 직접적인 하위 확장 노드가 무효화되었는지의 여부를 나타내는 확장 무효화 정보를 생성한다. 따라서, 트리 구조가 확잘될 때에도 크기가 작은 CRL이 생성될 수 있다. 또한, 무효화 판정 장치는 확장 무효화 정보를 사용하여 루트로부터 확장 리프까지의 경로를 구성하려고 시도하고, 확장 리프가 구성된 경로에 포함될 때 획득한 확장 공개 키 인증서가 무효화되어 있다고 판정한다. 따라서, 무효화 리스트 생성 장치는 확장 공개 키 인증서가 무효화되어 있는지의 여부를 확실하게 판정할 수 있다.
또한, 본 발명은 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치로서, 트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 어느 것도 무효화되어 있지 않으며, 상기 노드 중 어느 것도 무효화되어 있지 않은, 트리 시스템 저장부와, 상기 노드 중 어느 것도 무효화되어 있지 않다고 판정하고, 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 노드 무효화 리스트를 생성하는 무효화 리스트 생성부와, 상기 생성된 무효화 리스트를 출력하는 출력부를 포함하는 무효화 리스트 생성 장치이다. 또한, 본 발명은 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치로서, 상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 어느 것도 무효화되어 있지 않으며, 상기 노드 중 어느 것도 무효화되어 있지 않고, (b) 상기 트리 시스템을 구성하는 모든 노드가 무효화되어 있지 않다고 판정하며, (c) 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 무효화 리스트를 생성하고, (d) 상기 생성된 무효화 리스트를 출력하며, 상기 무효화 판정 장치는, 상기 리프식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와, 상기 무효화 리스트를 획득하는 리스트 획득부와, 상기 획득한 무효화 리스트를 이용하여 상기 공개 키 인증서가 무효화되어 있다고 판정하는 판정부를 포함하는 것을 특징으로 하는 무효화 판정 장치이다.
상술한 구성에 따라, 무효화된 공개 키 인증서가 존재하지 않을 때, 무효화 리스트 생성 장치는 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 무효화 리스트를 생성하고, 생성한 무효화 리스트를 출력하며, 그에 따라 무효화된 공개 키 인증서가 존재하지 않는다는 사실을 알게 한다. 또한, 무효화 판정 장치는 획득한 무효화 리스트를 이용하여 특정 공개 키 인증서가 무효화되어 있다고 판정한다. 따라서, 무효화된 공개 키 인증서가 존재하지 않을 때, 특정 공개 키 인증서에 대응하는 공개 키가 사용될 수 있다.
상술한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 인증 시스템은 공개 키 암호화 방법을 사용하는 비밀 메시지 전송, 상대방 확인, 부인 방지(non-repudiation), 키 공유, 코인 플리핑(coin flipping), 비밀 공유 등에서 공개 키 인증서가 유효한지의 여부를 판정할 때에도 적용될 수 있다. 예를 들어, 본 발명은 제 6 실시예에 나타내는 바와 같이, 드라이버 유닛의 인증에 적용될 수 있다. 또한, 본 발명은 인터넷을 통해 상품의 전자 상거래 시에 거래 상대방을 인증하는데 적용될 수도 있다.

Claims (28)

  1. 무효화 리스트 생성 장치 및 무효화 판정 장치를 포함하는 인증 시스템으로서,
    상기 무효화 리스트 생성 장치는 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하고, 상기 무효화 판정 장치는 상기 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하며, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하고,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프(leaf)가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부와,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트생성부와,
    상기 생성된 무효화 리스트를 출력하는 출력부를 포함하며,
    상기 무효화 판정 장치는,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와,
    상기 무효화 리스트를 획득하는 리스트 획득부와,
    상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정부를 포함하는 것을 특징으로 하는 인증 시스템.
  2. 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치로서,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부와,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성부와,
    상기 생성된 무효화 리스트를 출력하는 출력부를 포함하는 것을 특징으로 하는 무효화 리스트 생성 장치.
  3. 제 2 항에 있어서,
    상기 트리 시스템은 복수의 계층을 포함하고,
    상기 무효화 리스트 생성부가 상기 획득한 무효화 정보를 배열하는 상기 순서는 루트측 계층으로부터 리프측 계층으로의 상기 계층의 순서이고, 상기 루트는 개시점인 것을 특징으로 하는 무효화 리스트 생성 장치.
  4. 제 2 항에 있어서,
    상기 무효화 리스트 생성부가 상기 획득한 무효화 정보를 배열하는 상기 순서는 상기 노드가 상기 루트로부터 상기 리프까지의 경로 상에 위치되는 순서이고, 상기 루트는 개시점이며, 각 노드는 상기 순서에 1회만 포함되는 것을 특징으로 하는 무효화 리스트 생성 장치.
  5. 제 2 항에 있어서,
    상기 무효화 리스트 생성부는 상기 리프를 제외한 모든 무효화된 노드에 대해 무효화 정보를 생성하는 것을 특징으로 하는 무효화 리스트 생성 장치.
  6. 제 2 항에 있어서,
    상기 무효화 리스트 생성부는,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 특정 무효화 정보를 생성하고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 것을 특징으로 하는 무효화 리스트 생성 장치.
  7. 제 6 항에 있어서,
    상기 트리 시스템은 n진 트리이고, n은 2 이상의 정수이며,
    상기 무효화 정보 생성부는,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 상기 특정 무효화 정보를 생성하고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내는 제 1 부가 정보와, n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 정보로 구성되며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 하위 노드가 모두 무효화되어 있지 않은 것을 나타내는 제 2 부가 정보와, 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 정보로 구성되는 것을 특징으로 하는 무효화 리스트 생성 장치.
  8. 제 6 항에 있어서,
    상기 트리 시스템은 n진 트리이고, n은 2 이상의 정수이며,
    상기 무효화 정보 생성부는,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 상기 특정 무효화 정보를 생성하고, 상기 특정 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 특정값으로 구성되며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성을 억제하고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보를 생성하며, 상기 무효화 정보는 상기 무효화된 노드의n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수로 구성되는 것을 특징으로 하는 무효화 리스트 생성 장치.
  9. 제 2 항에 있어서,
    상기 트리 시스템 저장부내의 모든 노드는 무효화되어 있고,
    상기 트리 시스템내의 각 리프는 상기 트리 시스템을 확장하는 것에 관련된 확장 규칙에 따라 적어도 하나의 하위 확장 노드를 추가로 가지며, 각 최하위 확장 노드는 다른 확장 공개 키 인증서에 대응하는 확장 리프이고, 확장 리프 식별자는 확장 공개 키 인증서에 대응하며, 상기 확장 공개 키 인증서 중 적어도 하나는 무효화되어 있고, 상기 루트로부터 상기 무효화된 확장 공개 키 인증서를 식별하는 식별자를 갖는 상기 확장 리프까지의 모든 노드는 무효화되어 있으며,
    상기 무효화 리스트 생성부는 상기 확장 리프를 제외하고 각 무효화된 확장 노드에 대해 상기 무효화된 확장 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 확장 무효화 정보를 추가로 생성함으로써, 복수의 확장 무효화 정보를 획득하고, 상기 확장 무효화 정보를 상기 확장 규칙에 따라 상기 무효화 리스트에 추가하며,
    상기 출력부는 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 출력하는 것을 특징으로 하는 무효화 리스트 생성 장치.
  10. 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치로서,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 어느 것도 무효화되어 있지 않으며, 상기 노드 중 어느 것도 무효화되어 있지 않은, 트리 시스템 저장부와,
    상기 노드 중 어느 것도 무효화되어 있지 않다고 판정하고, 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 노드 무효화 리스트를 생성하는 무효화 리스트 생성부와,
    상기 생성된 무효화 리스트를 출력하는 출력부를 포함하는 것을 특징으로 하는 무효화 리스트 생성 장치.
  11. 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치로서,
    상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지이며, (b) 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, (c) 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하며,
    상기 무효화 판정 장치는,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와,
    상기 무효화 리스트를 획득하는 리스트 획득부와,
    상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정부를 포함하는 것을 특징으로 하는 무효화 판정 장치.
  12. 제 11 항에 있어서,
    상기 트리 시스템은 복수의 계층으로 구성되고,
    상기 무효화 정보는 루트측 계층으로부터 리프측 계층으로의 상기 계층의 순서로 배열되며, 상기 루트는 개시점이고,
    상기 판정부는 상기 순서로 배열된 상기 무효화 정보를 이용하여 상기 경로를 구성하며, 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  13. 제 11 항에 있어서,
    상기 무효화 정보가 배열되어 있는 상기 순서는 상기 노드가 상기 루트로부터 상기 리프까지의 상기 경로 상에 위치되는 순서이고, 상기 루트는 개시점이며, 각 노드는 상기 순서에 1회만 포함되고,
    상기 판정부는 상기 순서로 배열된 상기 무효화 정보를 이용하여 상기 경로를 구성하며, 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  14. 제 11 항에 있어서,
    상기 무효화 정보는 상기 리프를 제외한 모든 무효화된 노드에 대해 생성되고,
    상기 판정부는 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  15. 제 11 항에 있어서,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 특정 무효화 정보가 생성되고, 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제되고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 상기 무효화 정보가 생성되며, 상기 무효화 정보는 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내고,
    상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  16. 제 15 항에 있어서,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 생성된 상기 특정 무효화 정보는 상기 하위 노드가 모두 무효화되어 있는 것을 나타내는 제 1 부가 정보와, n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 정보로 구성되며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제되고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 생성된 상기 무효화 정보는 상기 하위 노드가 모두 무효화되어 있지 않은것을 나타내는 제 2 부가 정보와, 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 정보로 구성되며,
    상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  17. 제 15 항에 있어서,
    상기 리프를 제외하고 하위 노드가 모두 무효화되어 있는 각 무효화된 노드에 대해 생성된 상기 특정 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는 것을 나타내는 n자리수 특정값으로 구성되며,
    상기 무효화된 하위 노드에 대해 무효화 정보의 생성이 억제되고,
    상기 리프를 제외하고 특정 무효화 정보가 생성되지 않은 각 무효화된 노드에 대해 생성된 상기 무효화 정보는 상기 무효화된 노드의 n개의 직접적인 하위 노드의 각각이 무효화되어 있는지의 여부를 나타내는 n자리수 무효화 정보이며,
    상기 판정부는 상기 특정 무효화 정보 및 상기 무효화 정보를 이용하여 상기 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하는 것을 특징으로 하는 무효화 판정 장치.
  18. 제 11 항에 있어서,
    상기 무효화 리스트 생성 장치내의 모든 노드는 무효화되어 있고, 상기 트리시스템내의 각 리프는 상기 트리 시스템을 확장하는 것에 관련된 확장 규칙에 따라 적어도 하나의 하위 확장 노드를 추가로 가지며, 각 최하위 확장 노드는 다른 확장 공개 키 인증서에 대응하는 확장 리프이고, 확장 리프 식별자는 확장 공개 키 인증서에 대응하며, 상기 확장 공개 키 인증서 중 적어도 하나는 무효화되어 있고, 상기 루트로부터 상기 무효화된 확장 공개 키 인증서를 식별하는 식별자를 갖는 상기 확장 리프까지의 모든 노드는 무효화되어 있으며,
    상기 무효화 리스트 생성 장치는 상기 확장 리프를 제외하고 각 무효화된 확장 노드에 대해 상기 무효화된 확장 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 확장 무효화 정보를 추가로 생성함으로써, 복수의 확장 무효화 정보를 획득하고, 상기 확장 무효화 정보를 상기 확장 규칙에 따라 상기 무효화 리스트에 추가하며, 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 출력하고,
    상기 인증서 획득부는 상기 확장 리프 중 하나를 나타내는 확장 리프 식별자에 의해 식별되는 확장 공개 키 인증서를 추가로 획득하며,
    상기 리스트 획득부는 상기 확장 무효화 정보가 추가된 상기 무효화 리스트를 획득하고,
    상기 판정부는 상기 획득한 확장 무효화 리스트내의 상기 확장 무효화 정보를 이용하여 상기 루트로부터 상기 확장 리프 식별자에 의해 식별되는 상기 확장 리프까지의 경로를 추가로 구성하려고 시도하고, 상기 확장 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 확장 공개 키 인증서가 무효화되어 있다고 판정하며,상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 확장 공개 키 인증서가 유효하다고 판정하는 것을 특징으로 하는 무효화 판정 장치.
  19. 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치로서,
    상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 어느 것도 무효화되어 있지 않으며, 상기 노드 중 어느 것도 무효화되어 있지 않고, (b) 상기 트리 시스템을 구성하는 모든 노드가 무효화되어 있지 않다고 판정하며, (c) 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 무효화 리스트를 생성하고, (d) 상기 생성된 무효화 리스트를 출력하며,
    상기 무효화 판정 장치는,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부와,
    상기 무효화 리스트를 획득하는 리스트 획득부와,
    상기 획득한 무효화 리스트를 이용하여 상기 공개 키 인증서가 무효화되어있다고 판정하는 판정부를 포함하는 것을 특징으로 하는 무효화 판정 장치.
  20. 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치에 사용되는 무효화 리스트 생성 방법으로서,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부를 포함하며,
    상기 무효화 리스트 생성 방법은,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성 단계와,
    상기 생성된 무효화 리스트를 출력하는 출력 단계를 포함하는 것을 특징으로 하는 무효화 리스트 생성 방법.
  21. 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치에 사용되는 무효화 리스트 생성 프로그램으로서,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부를 포함하며,
    상기 무효화 리스트 생성 프로그램은,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성 단계와,
    상기 생성된 무효화 리스트를 출력하는 출력 단계를 포함하는 것을 특징으로 하는 무효화 리스트 생성 프로그램.
  22. 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치에 사용되는 무효화 리스트 생성 프로그램을 기록한 컴퓨터 판독 가능기록 매체로서,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부를 포함하며,
    상기 무효화 리스트 생성 프로그램은,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성 단계와,
    상기 생성된 무효화 리스트를 출력하는 출력 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  23. 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치에 사용되는 무효화 판정 방법으로서,
    상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지이며, (b) 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, (c) 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하며,
    상기 무효화 판정 방법은,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득 단계와,
    상기 무효화 리스트를 획득하는 리스트 획득 단계와,
    상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정 단계를 포함하는 것을 특징으로 하는 무효화 판정 방법.
  24. 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치에 사용되는 무효화 판정 프로그램으로서,
    상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지이며, (b) 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, (c) 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하며,
    상기 무효화 판정 프로그램은,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득 단계와,
    상기 무효화 리스트를 획득하는 리스트 획득 단계와,
    상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정 단계를 포함하는 것을 특징으로 하는 무효화 판정 프로그램.
  25. 무효화 리스트 생성 장치에 의해 생성된 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 이용하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하고, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정할 때 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치에 사용되는 무효화 판정 프로그램을 저장한 컴퓨터 판독 가능 기록 매체로서,
    상기 무효화 리스트 생성 장치는 (a) 트리 시스템을 구성하는 복수의 노드를 갖고, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지이며, (b) 상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, (c) 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하며,
    상기 무효화 판정 프로그램은,
    상기 리프 식별자 중 하나에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득 단계와,
    상기 무효화 리스트를 획득하는 리스트 획득 단계와,
    상기 획득한 무효화 리스트내의 상기 무효화 정보를 이용하여 상기 루트로부터 상기 리프 식별자에 의해 식별되는 리프까지의 경로를 구성하려고 시도하고, 상기 리프가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며, 상기 리프가 상기 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 유효하다고 판정하는 판정 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  26. 무효화 리스트 생성 장치에 의해 생성되어 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 적어도 하나가 무효화되어 있으며, 하나의 경로상의 모든 노드가 무효화되어 있고, 상기 경로는 루트로부터 상기 무효화된 공개 키 인증서를 식별하는 상기 리프 식별자로 나타내는 리프까지인, 트리 시스템 저장부와,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성함으로써, 복수의 무효화 정보를 획득하고, 상기 무효화 정보를 상기 트리 시스템의 상기 구성에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성부를 포함하며,
    상기 생성된 무효화 리스트는 상기 기록 매체에 기록되는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  27. 무효화 리스트 생성 장치에 의해 생성되어 무효화된 공개 키 인증서를 나타내는 무효화 리스트를 기록한 컴퓨터 판독 가능 기록 매체로서,
    상기 무효화 리스트 생성 장치는,
    트리 시스템을 구성하는 복수의 노드를 갖는 트리 시스템 저장부로서, 상기 트리 시스템내의 각 리프가 다른 공개 키 인증서에 대응하며, 각 리프의 식별자가 상기 대응하는 공개 키 인증서를 식별하고, 상기 공개 키 인증서 중 어느 것도 무효화되어 있지 않으며, 상기 노드 중 어느 것도 무효화되어 있지 않은, 트리 시스템 저장부와,
    상기 노드 중 어느 것도 무효화되어 있지 않다고 판정하고, 무효화된 공개 키 인증서가 존재하지 않는 것을 나타내는 노드 무효화 리스트를 생성하는 무효화 리스트 생성부를 포함하며,
    상기 생성된 무효화 리스트는 상기 기록 매체에 기록되는 것을 특징으로 하는 컴퓨터 판독 가능 기록 매체.
  28. 루트 노드와 복수의 리프 노드가 계층적인 레벨로 배열된 복수의 노드의 데이터 트리 구조를 저장하고, 상기 트리 구조는 상기 계층적인 레벨을 통해 상기 루트로부터 상기 리프 노드까지 복수의 노드 경로를 갖는, 트리 시스템 저장부로서,
    각 리프 노드는 다른 공개 키 인증서에 대응하고, 상기 대응하는 공개 공개 키 인증서를 식별하는 식별 정보를 포함하며, 상기 리프 노드가 무효화되었는지의 여부를 나타내는 플래그를 포함하고,
    각 노드는 상기 노드가 무효화되었는지의 여부를 나타내는 플래그를 포함하며,
    하나의 리프 노드가 무효화될 때, 상기 루트 노드로부터 상기 무효화된 리프 노드까지의 경로를 따르는 모든 노드가 또한 무효화되는 트리 시스템 저장부,
    상기 리프를 제외한 각 무효화된 노드에 대해 상기 무효화된 노드의 각 직접적인 하위 노드가 무효화되어 있는지의 여부를 나타내는 무효화 정보를 생성하고, 상기 무효화된 노드의 상기 무효화 정보를 상기 트리 구조의 상기 계층적인 레벨에 관련된 순서로 배열함으로써 상기 무효화 리스트를 생성하는 무효화 리스트 생성부, 및
    상기 생성된 무효화 리스트를 출력하는 출력부를 포함하는,
    무효화된 공개 키 인증서를 나타내는 무효화 리스트를 생성하는 무효화 리스트 생성 장치와,
    상기 리프 노드 중 하나의 상기 식별 정보에 의해 식별되는 공개 키 인증서를 획득하는 인증서 획득부,
    상기 무효화 리스트를 획득하는 리스트 획득부, 및
    상기 획득한 무효화 리스트내의 상기 무효화 정보에 기초하여 상기 루트 노드로부터 상기 인증서 획득부에 의해 획득된 상기 공개 키 인증서에 대응하는 상기 리프 노드까지의 경로를 구성하려고 시도하고,
    상기 획득한 공개 키 인증서에 대응하는 상기 리프 노드가 상기 구성된 경로에 포함될 때, 상기 획득한 공개 키 인증서가 무효화되어 있다고 판정하며,
    상기 획득한 공개 키 인증서에 대응하는 상기 리프 노드가 상기 구성된 경로에 포함되지 않을 때, 상기 획득한 공개 키 인증서가 무효화되어 있지 않다고 판정하는 판정부를 포함하는,
    상기 무효화 리스트에 기초하여 획득한 공개 키 인증서가 무효화되어 있는지의 여부를 판정하며, 상기 무효화된 공개 키 인증서에 대응하는 공개 키의 사용을 방지하는 무효화 판정 장치를 포함하는 것을 특징으로 하는 인증 시스템.
KR10-2004-7018030A 2002-05-09 2003-04-14 공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정장치 및 인증 시스템 KR20040104723A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00134647 2002-05-09
JP2002134647 2002-05-09
PCT/JP2003/004684 WO2003096616A1 (en) 2002-05-09 2003-04-14 Public key certificate revocation list generation apparatus, revocation judgement apparatus, and authentication system

Publications (1)

Publication Number Publication Date
KR20040104723A true KR20040104723A (ko) 2004-12-10

Family

ID=29416715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7018030A KR20040104723A (ko) 2002-05-09 2003-04-14 공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정장치 및 인증 시스템

Country Status (8)

Country Link
US (1) US7373503B2 (ko)
EP (1) EP1510036B1 (ko)
KR (1) KR20040104723A (ko)
CN (1) CN1666460A (ko)
AU (1) AU2003226458A1 (ko)
DE (1) DE60310398T2 (ko)
MX (1) MXPA04011062A (ko)
WO (1) WO2003096616A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516021B2 (en) * 2018-08-30 2022-11-29 Kabushiki Kaisha Toshiba Information processing apparatus, communication device, and information processing system

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303315A (ja) * 2003-03-31 2004-10-28 Funai Electric Co Ltd Dvd機器および所定情報記録方法
EP1620776A1 (en) * 2003-04-28 2006-02-01 Koninklijke Philips Electronics N.V. Method of storing revocation list
US7730518B2 (en) * 2003-07-31 2010-06-01 Emc Corporation Method and apparatus for graph-based partition of cryptographic functionality
US7814314B2 (en) * 2004-08-31 2010-10-12 Ntt Docomo, Inc. Revocation of cryptographic digital certificates
US8090105B2 (en) * 2004-11-24 2012-01-03 International Business Machines Corporation Broadcast encryption with dual tree sizes
US7315941B2 (en) 2004-12-17 2008-01-01 Ntt Docomo Inc. Multi-certificate revocation using encrypted proof data for proving certificate's validity or invalidity
US7266692B2 (en) 2004-12-17 2007-09-04 Ntt Docomo, Inc. Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates
KR100970391B1 (ko) * 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
WO2006112635A1 (en) 2005-04-19 2006-10-26 Samsung Electronics Co., Ltd Tag generation method in broadcast encryption system
US9054879B2 (en) * 2005-10-04 2015-06-09 Google Technology Holdings LLC Method and apparatus for delivering certificate revocation lists
US9141776B2 (en) * 2008-04-30 2015-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for secure hardware analysis
KR20090115565A (ko) * 2008-05-02 2009-11-05 삼성전자주식회사 컨텐트 키 전송 방법 및 그 장치
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
US8826010B2 (en) * 2010-09-17 2014-09-02 Skype Certificate revocation
JP5952266B2 (ja) * 2011-04-22 2016-07-13 パナソニック株式会社 無効化リスト生成装置、無効化リスト生成方法及びコンテンツ管理システム
JP6010023B2 (ja) 2011-04-25 2016-10-19 パナソニック株式会社 記録媒体装置及びコントローラ
JP2013058107A (ja) * 2011-09-08 2013-03-28 Canon Inc ネットワーク印刷システムおよびプリントサーバーおよびデータベース装置とネットワーク印刷方法
JP5899751B2 (ja) * 2011-09-28 2016-04-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
TW201337634A (zh) * 2011-12-20 2013-09-16 Htc Corp 處理存取控制資訊的方法及其通訊裝置
US9112704B2 (en) 2012-06-22 2015-08-18 Ologn Technologies Ag Systems, methods and apparatuses for securing root certificates
US9425967B2 (en) * 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
EP3086504B1 (en) * 2013-12-16 2018-12-12 Panasonic Intellectual Property Management Co., Ltd. Administration of authentication certificates
CN104901931B (zh) * 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10530587B2 (en) * 2015-07-07 2020-01-07 Openvpn Technologies, Inc. Web scale authentication
US10447467B2 (en) 2016-05-04 2019-10-15 International Business Machines Corporation Revocable PKI signatures
US10229270B2 (en) 2016-12-23 2019-03-12 Amazon Technologies, Inc. Host attestation
US10237249B2 (en) * 2016-12-23 2019-03-19 Amazon Technologies, Inc. Key revocation
US10230525B2 (en) 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10333717B2 (en) * 2017-03-09 2019-06-25 Microsoft Technology Licensing, Llc Timestamped license data structure
CN106850216B (zh) * 2017-03-31 2020-03-17 西安电子科技大学 一种云数据库中密钥管理树的密钥撤销方法
CN108063756B (zh) 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
CN110069921B (zh) * 2019-04-12 2021-01-01 中国科学院信息工程研究所 一种面向容器平台的可信软件授权验证系统及方法
US11399020B2 (en) 2019-06-28 2022-07-26 HCL Technologies Italy S.p.A System and method for authenticating server identity during connection establishment with client machine

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309569A (en) * 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US6301659B1 (en) * 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US6901509B1 (en) * 1996-05-14 2005-05-31 Tumbleweed Communications Corp. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6397329B1 (en) * 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
US6226743B1 (en) * 1998-01-22 2001-05-01 Yeda Research And Development Co., Ltd. Method for authentication item
US6850914B1 (en) * 1999-11-08 2005-02-01 Matsushita Electric Industrial Co., Ltd. Revocation information updating method, revocation informaton updating apparatus and storage medium
KR100731491B1 (ko) * 2000-10-12 2007-06-21 주식회사 케이티 인증서 폐지목록 분산 관리 방법
US20020076204A1 (en) * 2000-12-18 2002-06-20 Toshihisa Nakano Key management device/method/program, recording medium, reproducing device/method, recording device, and computer-readable, second recording medium storing the key management program for copyright protection
WO2003036858A2 (en) * 2001-10-26 2003-05-01 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
KR20040044560A (ko) * 2001-10-26 2004-05-28 마츠시타 덴끼 산교 가부시키가이샤 키 관리장치
JP3965126B2 (ja) * 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
WO2003088565A1 (en) * 2002-04-17 2003-10-23 Matsushita Electric Industrial Co., Ltd. System and devices for information input/output and key management
DE60323182D1 (de) * 2002-06-11 2008-10-09 Matsushita Electric Ind Co Ltd Authentifizierungssystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516021B2 (en) * 2018-08-30 2022-11-29 Kabushiki Kaisha Toshiba Information processing apparatus, communication device, and information processing system

Also Published As

Publication number Publication date
US20030217265A1 (en) 2003-11-20
DE60310398T2 (de) 2007-03-29
CN1666460A (zh) 2005-09-07
EP1510036B1 (en) 2006-12-13
MXPA04011062A (es) 2005-02-14
US7373503B2 (en) 2008-05-13
DE60310398D1 (de) 2007-01-25
WO2003096616A1 (en) 2003-11-20
EP1510036A1 (en) 2005-03-02
AU2003226458A1 (en) 2003-11-11

Similar Documents

Publication Publication Date Title
EP1510036B1 (en) Public key certificate revocation list generation apparatus, revocation judgement apparatus, and authentication system
KR100929744B1 (ko) 정보 처리 방법/장치 및 프로그램
CN100435135C (zh) 在域管理系统的控制下记录和/或再现数据的方法
CN101167300B (zh) 信息安全装置
US7224804B2 (en) Information processing device, information processing method, and program storage medium
TWI244584B (en) Data processing system, data processing method, and program providing medium
US7738662B2 (en) Information processing system and method
JP4011792B2 (ja) 記録方法、再生方法、記録装置、再生装置及び記録媒体
US6911974B2 (en) Information processing system and method
US7272229B2 (en) Digital work protection system, key management apparatus, and user apparatus
US7831831B2 (en) Authentication communication system, authentication communication apparatus, and authentication communication method
WO2011108268A1 (ja) 記録媒体装置に組み込まれるコントローラ、記録媒体装置、記録媒体装置の製造システム、および記録媒体装置の製造方法
JP2001352321A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2001022647A (ja) コンテンツ管理方法およびコンテンツ管理装置および記録媒体
JP2002215465A5 (ko)
CN101112036A (zh) 信息处理装置、信息记录介质制造装置和信息记录介质
US20040076404A1 (en) Region restrictive playback system
KR20040019025A (ko) 암호화 데이터 배송 시스템
JP2002077131A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
CN101826141A (zh) 信息处理设备,数据记录系统,信息处理方法和程序
KR19990037031A (ko) 정보처리장치, 정보처리방법 및 전송매체
JP4383084B2 (ja) 公開鍵証明書の無効化リスト生成装置、無効判定装置及び認証システム
JP2001358705A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP3570987B2 (ja) ルータのコンフィギュレーション設定情報転送方法、制御端末、ホスト端末及び記録媒体
JP3967491B2 (ja) 記録装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid