KR20020081246A - 정보 처리 장치, 정보 처리 방법 및 프로그램 기억 매체 - Google Patents
정보 처리 장치, 정보 처리 방법 및 프로그램 기억 매체 Download PDFInfo
- Publication number
- KR20020081246A KR20020081246A KR1020027008811A KR20027008811A KR20020081246A KR 20020081246 A KR20020081246 A KR 20020081246A KR 1020027008811 A KR1020027008811 A KR 1020027008811A KR 20027008811 A KR20027008811 A KR 20027008811A KR 20020081246 A KR20020081246 A KR 20020081246A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- entity
- ekb
- node
- leaf
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 56
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000000034 method Methods 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 60
- 238000010200 validation analysis Methods 0.000 claims abstract description 57
- 238000012795 verification Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007717 exclusion Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 abstract description 2
- 229920003266 Leaf® Polymers 0.000 description 97
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000004075 alteration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002079 cooperative effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00188—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00217—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
- G11B20/00253—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00492—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
- G11B20/00536—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein encrypted content data is subjected to a further, iterated encryption, e.g. interwoven encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2135—Metering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 유효화 키 블록(EKB)을 사용한 리보크 엔티티(revoke entity)의 검출처리를 가능하게 한 정보 처리 시스템 및 방법으로서, 트리 구조의 키 배포 구성에 사용하는 유효화 키 블록(EKB)에 의거하여, 리보크(배제) 엔티티로서의 디바이스나 서비스 프로바이더 등을 판정한다. 공개 키 증명서에 계층적 키 배신 트리의 위치 식별 가능한 ID를 저장하고, 공개 키 증명서로부터 취득되는 ID에 의거하여 유효화 키 블록(EKB)의 태그를 사용한 추적 처리를 실행하여, EKB 처리(복호)가능한 위치의 ID인지의 여부를 판정하여, ID에 대응하는 엔티티의 리보크의 유무를 판정한다.
Description
종래에는, 게임 프로그램, 음성 데이터, 화상 데이터 등 여러가지 소프트웨어 데이터(이하, 이것들을 컨텐츠(Content)라 함)를, 인터넷 등의 네트워크, 또는 DVD, CD 등의 유통가능한 기억 매체를 통한 유통이 활발하게 이루어져 왔다. 이들 유통 컨텐츠는 사용자가 소유하는 PC(Personal Computer), 게임 기기에 의해 데이터 수신, 또는 기억 매체의 장착이 이루어져 재생되거나, 또는 PC 등에 부속된 기록 재생 기기내의 기록 디바이스, 예를 들면 메모리 카드, 하드 디스크 등에 저장되어, 저장 매체로부터의 새로운 재생에 의해 이용된다.
비디오 게임 기기, PC 등의 정보 기기에는, 유통 컨텐츠를 네트워크로부터 수신하기 위하여, 또는 DVD, CD 등에 엑세스하기 위한 인터페이스를 갖고, 또한 컨텐츠의 재생에 필요한 제어 수단, 프로그램, 데이터의 메모리 영역으로 사용되는 RAM, ROM 등을 갖는다.
음악 데이터, 화상 데이터, 또는 프로그램 등의 여러가지 컨텐츠는 재생 기기로서 이용되는 게임 기기, PC 등의 정보 기기 본체로부터의 사용자 지시, 또는 접속된 입력 수단을 통한 사용자의 지시에 의해 기록 매체로부터 호출되어, 정보 기기 본체, 또는 접속된 디스플레이, 스피커 등을 통하여 재생된다.
게임 프로그램, 음악 데이터, 화상 데이터 등 다양한 소프트웨어 컨텐츠는 일반적으로 그 작성자, 판매자가 반포권(頒布權) 등을 보유하고 있다. 따라서, 이들 컨텐츠의 배포시에는, 일정한 이용 제한, 즉 정규 사용자에 대해서만 소프트웨어의 사용을 허락하고, 허가가 없는 복제 등이 행해지지 않도록 하는, 즉 보안(security)을 고려한 구성을 채용하고 있다.
사용자에 대한 이용 제한을 실현하는 하나의 방법이 배포 컨텐츠의 암호화 처리이다. 예를 들면, 인터넷 등을 통하여 암호화된 음성 데이터, 화상 데이터, 게임 프로그램 등의 각종 컨텐츠를 배포함과 아울러, 정규 사용자라고 확인된 자에 대해서만, 배포된 암호화 컨텐츠를 복호하는 수단, 즉 복호 키를 부여하는 구성이다.
암호화 데이터는 소정의 절차에 의한 복호화 처리에 의해 이용가능한 복호 데이터(평문)으로 되돌릴 수 있다. 이와 같은 정보의 암호화 처리에 암호화 키를 이용하고, 복호화 처리에 복호화 키를 이용하는 데이터 암호화, 복호화 방법은 종래부터 널리 알려져 있다.
암호화 키와 복호화 키를 사용하는 데이터의 암호화·복호화 방법의 양태에는 여러가지 종류가 있으나, 그 일례로서 이른바 공통 키 암호화 방식으로 불리워지고 있는 방식이 있다. 공통 키 암호화 방식은 데이터의 암호화 처리에 사용하는 암호화 키와 데이터의 복호화에 사용하는 복호화 키를 공통의 것으로 하여, 정규 사용자에게 이들 암호화 처리, 복호화에 사용하는 공통 키를 부여하여, 키를 갖지 않는 부정한 사용자에 의한 데이터 엑세스를 배제하는 것이다. 이러한 방식의 대표적인 방식으로 DES(데이터 암호 표준: Data encryption standard)가 있다.
상술한 암호화 처리, 복호화에 사용되는 암호화 키, 복호화 키는 예를 들면 어떤 패스워드 등에 의거하여 해시(hash) 함수 등의 일방향성 함수를 적용하여 얻을 수 있다. 일방향성 함수란 그 출력으로부터 반대로 입력을 구하는 것이 매우 곤란한 함수이다. 예를 들면 사용자가 정한 패스워드를 입력으로 하여 일방향성 함수를 적용하고, 그 출력에 의거하여 암호화 키, 복호화 키를 생성하는 것이다. 이와 같이 하여 얻어진 암호화 키, 복화화 키로부터, 반대로 그 오리지날 데이터인 패스워드를 구하는 것은 사실상 불가능하다.
또한, 암호화할 때에 사용하는 암호화 키에 의한 처리와, 복호할 때에 사용하는 복호화 키의 처리를 상이한 알고리즘으로 한 방식이 이른바 공개 키 암호화 방식이라 불리우는 방식이다. 공개 키 암호화 방식은 불특정 사용자가 사용가능한 공개 키를 사용하는 방법으로, 특정 개인에 대한 암호화 문서를, 그 특정 개인이 발행한 공개 키를 사용하여 암호화 처리를 행한다. 공개 키에 의해 암호화된 문서는 그 암호화 처리에 사용된 공개 키에 대응하는 비밀 키에 의해서만 복호 처리가가능하게 된다. 비밀 키는 공개 키를 발행한 개인만이 소유하므로, 그 공개 키에 의해 암호화된 문서는 비밀 키를 갖는 개인만이 복호할 수 있다. 공개 키 암호화 방식의 대표적인 것으로는 RSA(Rivest-Shamir-Adleman) 암호가 있다. 이와 같은 암호화 방식을 이용함으로써, 암호화 컨텐츠를 정규 사용자에 대해서만 복호가능하게 하는 시스템이 가능하게 된다.
상기와 같은 컨텐츠 배신 시스템에서는, 컨텐츠를 암호화하여 네트워크, 또는 DVD, CD 등의 기록 매체에 저장하여 사용자에게 제공하고, 암호화 컨텐츠를 복호하는 컨텐츠 키를 정당한 사용자에게만 제공하는 구성이 많이 채용되고 있다. 컨텐츠 키 자체의 부정한 복제 등을 막기 위한 컨텐츠 키를 암호화하여 정당한 사용자에게 제공하고, 정당한 사용자만이 갖는 복호 키를 사용하여 암호화 컨텐츠 키를 복호하여 컨텐츠 키를 사용가능하게 하는 구성이 제공되어 있다.
일반적으로 정당한 사용자인가 아닌가의 판정은 예를 들면 컨텐츠의 송신자인 컨텐츠 프로바이더와 사용자 디바이스 사이, 또는 컨텐츠를 송수신하는 사용자 디바이스 사이에서, 컨텐츠 또는 컨텐츠 키의 배신 전에 인증 처리를 실행함으로써 행한다.
그러나, 부정한 사용자 디바이스, 예를 들면 자기의 디바이스의 비밀 키가 노출되어, 그 비밀 키를 디바이스에 저장하여 정당한 디바이스가 되어 컨텐츠의 수신을 행하는 등의 사태가 발생하는 일이 있다. 이와 같은 사태에 대처하기 위하여, 키의 관리 센터가 부정한 사용자 리스트(블랙 리스트)라 불리우는, 부정한 디바이스의 ID를 리스트업한 리보케이션 리스트를, 정당한 디바이스에게 배포하여,리보케이션 리스트에 의해 통신 상대의 ID가 리스트에 포함되는지의 여부를 체크한다.
리보케이션 리스트는 부정한 디바이스의 ID를 리스트화하여, 개찬(改竄) 방지를 위하여 키 발행 센터의 서명이 부가되고, CRL(Certificate Revocation List)라 불리우며, 새로운 부정한 디바이스의 발생에 따라서, 순차로 갱신되어 정당한 디바이스에 배포된다. 하지만, 부정한 디바이스가 증가함에 따라서, 리보케이션 리스트에 기록하는 부정한 디바이스의 ID는 단조롭게 증가되어, 리스트의 사이즈(데이터량)가 커지고, 리스트 데이터의 배신의 부하가 커지며, 또한 배포처인 정당한 디바이스내에 리스트를 저장하여 보존하는 것도 기억 스페이스의 부담이 된다.
본 발명은 정보 처리 장치와 정보 처리 방법, 및 프로그램 기억 매체에 관한 것으로, 특히 암호 처리를 수반하는 시스템에 있어서의 암호 처리 키를 배신(配信)하는 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 트리 구조의 계층적 키 배신 방식을 이용하여, 특정 디바이스의 리보크(배제)를 효율적으로 실행시킬 수 있도록 하는 것에 관한 것이다.
도 1은 본 발명에 따른 정보 처리 장치가 적용된 컨텐츠 배신 시스템을 도시한 블록도이다.
도 2는 본 발명에 따른 정보 처리 장치가 적용된 기록 재생 장치를 도시한 블록도이다.
도 3은 본 발명에 따른 정보 처리 장치에서 실행되는 각종 키, 데이터의 암호화 처리에 대하여 설명하는 트리 구성도이다.
도 4의 (A) 및 도 4의 (B)는 본 발명에 따른 정보 처리 장치에 대한 각종 키, 데이터의 배포에 사용되는 유효화 키 블록(EKB)의 예를 나타낸 도면이다.
도 5는 본 발명에 따른 정보 처리 장치에 대한 컨텐츠 키의 유효화 키 블록(EKB) 배포예와 복호 처리예를 나타낸 도면이다.
도 6은 본 발명에 따른 정보 처리 장치에 있어서의 유효화 키 블록(EKB)의 포맷 예를 나타낸 도면이다.
도 7의 (A), 도 7의 (B) 및 도 7의 (C)는 유효화 키 블록(EKB)의 태그의 구성을 설명하는 도면이다.
도 8의 (A) 및 도 8의 (B)는 유효화 키 블록(EKB)과, 컨텐츠 키, 컨텐츠를 함께 배포하는 데이터 구성예를 나타낸 도면이다.
도 9는 유효화 키 블록(EKB)과, 컨텐츠 키, 컨텐츠를 함께 배신한 경우의 디바이스에서의 처리예를 나타낸 도면이다.
도 10은 유효화 키 블록(EKB)과, 컨텐츠를 기록 매체에 저장한 경우의 대응에 대하여 설명하는 도면이다.
도 11은 공개 키 암호 방식에 의한 인증 처리에 수반되는 리보크 엔티티 검증 시퀀스를 나타낸 도면이다.
도 12는 공개 키 증명서의 구성예를 나타낸 도면이다.
도 13의 (A) 및 도 13의 (B)는 리보크 엔티티 판정을 위한 EKB 추적 처리의 공정을 나타낸 도면이다.
도 14의 (A) 및 도 14의 (B)는 리보크 엔티티 판정을 위한 EKB 추적 처리의 공정을 나타낸 도면이다.
도 15는 리보크 엔티티 판정을 위한 EKB 추적 처리 공정을 나타낸 공정도이다.
도 16은 EKB, 공개 키 증명서를 사용한 컨텐츠 배포 처리에 대하여 설명하는 도면이다.
도 17은 계층 트리 구조의 카테고리 분류의 예를 설명하는 도면이다.
본 발명은 상술한 바와 같은 리보케이션 리스트의 데이터의 증대에 수반하는 처리 부하, 디바이스에서의 리스트 저장에 있어서의 기억 스페이스의 문제점을 감안하여 제안된 것으로, 부정한 디바이스의 ID 리스트를 이용하지 않고 계층 트리 구조의 키 배신 구성을 이용함으로써, 부정한 디바이스의 검출, 배제를 가능하게 한 정보 처리 장치, 정보 처리 방법, 및 프로그램 기억 매체를 제공하는 것을 목적으로 한다.
본 발명에 따른 정보 처리 장치는 노드 및 리프(leaf) 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되고, 각각이 상기 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치로서, 노드 또는 리프에 대응하는엔티티(entity)가 배제 대상 엔티티로서의 리보크(revoke) 엔티티인가 아닌가의 검증 처리를, 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한지의 여부를 판정하여 실행하는 구성을 구비한다. 복호가능성의 판정은 검증 대상 엔티티의 식별자에 의거한, 유효화 키 블록(EKB) 중의 키 배치 식별 태그의 추적 처리에 의해 실행하는 구성을 갖는다.
본 발명에 따른 정보 처리 장치에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 상기 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고, 상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있다. 추적 처리는 검증 대상 엔티티의 식별자에 포함되는, 상기 엔티티의 계층 트리 구조에 있어서의 위치 정보에 의거하여, 태그를 추적하는 처리로서 실행한다.
또한, 본 발명에 따른 정보 처리 장치에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고, 상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있다. 이 정보 처리 장치는 검증 대상 엔티티의 식별자에 의거한 태그의 추적 처리에 의해, 검증 대상 엔티티가 대응하는 노드 위치 또는 리프 위치에 이를 수 있는지 여부의 판정, 및 이를 수 없는 경우, 갱신되지 않은 노드 키의 하위에 속하는지 여부의 판정에 의해 복호 가능성의 판정을 실행한다.
또한, 본 발명에 따른 정보 처리 장치에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 공개 키 증명서에 저장된 식별자이고, 정보 처리 장치는 검증 대상 엔티티의 식별자를 상기 엔티티의 공개 키 증명서로부터 취득하는 구성을 갖는다.
또한, 본 발명에 따른 정보 처리 장치는 계층 트리 구조를 구성하는 노드 또는 리프에 대응하는 엔티티로부터 제공되는 암호화 컨텐츠의 복호에 있어서, 엔티티의 공개 키 증명서로부터 상기 엔티티의 식별자를 취득하고, 상기 취득한 식별자에 의거한 유효화 키 블록(EKB)의 태그에 의한 추적 처리를 실행하여 상기 엔티티가 리보크 엔티티인가의 여부를 판정함과 아울러, 유효화 키 블록(EKB)으로부터 취득되는 컨텐츠 암호화 키 Kcon에 의거한 암호화 컨텐츠의 복호 처리를 실행한다.
또한, 본 발명은 노드 및 리프 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되고, 각각이 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치에 있어서의 정보 처리 방법이며, 노드 또는 리프에 대응하는 엔티티가 배제 대상 엔티티로서의 리보크 엔티티인가 아닌가의 검증 처리를, 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한가의 여부를 판정하여 실행하는 구성을 갖고, 복호가능성의 판정은 검증 대상 엔티티의 식별자에 의거한, 유효화 키 블록(EKB) 중의 키 배치 식별 태그의추적 처리에 의해 실행한다.
또한, 본 발명에 따른 정보 처리 방법에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고, 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로 구성되어 있고, 추적 처리는 검증 대상 엔티티의 식별자에 포함되는, 상기 엔티티의 계층 트리 구조에 있어서의 위치 정보에 의거하여, 태그를 추적하는 처리로서 실행한다.
본 발명에 따른 정보 처리 방법에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고, 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있다. 이 정보 처리 방법은 검증 대상 엔티티의 식별자에 의거한 태그의 추적 처리에 의해, 검증 대상 엔티티가 대응하는 노드 위치 또는 리프 위치에 이를 수 있는지 여부의 판정, 및 이를 수 없는 경우, 갱신되지 않은 노드 키의 하위에 속하는지 여부의 판정에 의해 복호가능성의 판정을 실행한다.
또한, 본 발명에 따른 정보 처리 방법에 있어서, 검증 대상 엔티티의 식별자는 상기 엔티티의 공개 키 증명서에 저장된 식별자이고, 이 정보 처리 방법은 검증 대상의 엔티티의 식별자를 상기 엔티티의 공개 키 증명서로부터 취득한다.
또한, 본 발명에 따른 정보 처리 방법은 계층 트리 구조를 구성하는 노드 또는 리프에 대응하는 엔티티로부터 제공되는 암호화 컨텐츠의 복호에 있어서, 엔티티의 공개 키 증명서로부터 상기 엔티티의 식별자를 취득하고, 상기 취득한 식별자에 의거한 유효화 키 블록(EKB)의 태그에 의한 추적 처리를 실행하여 상기 엔티티가 리보크 엔티티인가의 여부를 판정함과 아울러, 유효화 키 블록(EKB)으로부터 취득되는 컨텐츠 암호화 키 Kcon에 의거한 암호화 컨텐츠의 복호 처리를 실행한다.
또한, 본 발명은 노드 및 리프 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되고, 각각이 상기 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치에 있어서의 정보 처리를 컴퓨터 시스템 상에서 실행시키는 컴퓨터 프로그램을 제공하는 프로그램 기억 매체로서, 이 기억 매체에 저장되는 컴퓨터 프로그램은 노드 또는 리프에 대응하는 엔티티가 배제 대상 엔티티로서의 리보크 엔티티인가 아닌가의 검증 처리 단계를 포함하고, 검증 처리 단계는 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한가의 여부를 판정하여 실행하는 단계를 갖는다. 복호가능성의 판정 단계는 검증 대상 엔티티의 식별자에 의거한, 유효화 키 블록(EKB) 중의 키 배치 식별 태그의 추적 처리에 의해 실행하는 단계를 포함한다.
또, 본 발명에 따른 프로그램 기억 매체는 예를 들면 여러가지 프로그램 코드를 실행가능한 범용 컴퓨터 시스템에 대하여, 컴퓨터 프로그램을 컴퓨터 판독가능한 형식으로 제공하는 매체이다.
이와 같은 컴퓨터 기억 매체는 컴퓨터 시스템 상에서 소정의 컴퓨터 프로그램의 기능을 실현하기 위한, 컴퓨터 프로그램과 기억 매체간의 구조상 또는 기능상의 협동적 관계를 정의한 것이다. 바꿔 말하면, 상기 기억 매체를 통하여 컴퓨터 프로그램을 컴퓨터 시스템에 인스톨함으로써, 컴퓨터 시스템 상에서는 협동적 작용이 발휘된다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예 및 첨부 도면에 의거한 상세한 설명에 의해 확실하게 될 것이다.
본 발명에 따른 정보 처리 장치에 있어서의 처리의 적용가능한 컨텐츠 배신 시스템은 도 1에 나타낸 바와 같이 구성된다.
도 1에 나타낸 시스템에서, 컨텐츠의 배신측(10)은 컨텐츠 수신측(20)이 갖는 여러가지 컨텐츠 재생가능한 기기에 대하여 컨텐츠, 또는 컨텐츠 키를 암호화하여 송신한다. 수신측(20)에서의 기기는, 수신한 암호화 컨텐츠, 또는 암호화 컨텐츠 키 등을 복호하여 컨텐츠 또는 컨텐츠 키를 취득하여, 화상 데이터, 음성 데이터의 재생, 또는 각종 프로그램의 실행 등을 행한다. 컨텐츠 배신측(10)과 컨텐츠 수신측(20) 간의 데이터 교환은 인터넷 등의 네트워크를 통하여, 또는 DVD, CD 등의 유통가능한 기억 매체를 통하여 실행된다.
컨텐츠 배신측(10)의 데이터 배신 수단으로서는, 인터넷(11), 위성 방송(12), 전화 회선(13), DVD, CD 등의 미디어(14) 등이 있으며, 한편 컨텐츠 수신측(20)의 디바이스로서는, 퍼스널 컴퓨터(PC, 21), 포터블 디바이스(PD, 22), 휴대전화, PDA(Personal Digital Assistants) 등의 휴대 기기(23), DVD, CD 플레이어 등의 기록 재생기(24), 게임 단말 등의 재생 전용기(25) 등이 있다. 이들 컨텐츠 수신측(20)의 각 디바이스는 컨텐츠 배신측(10)에서 제공된 컨텐츠를 네트워크 등의 통신 수단, 또는 미디어(30)로부터 취득한다.
도 1에 나타낸 컨텐츠 수신측(20)의 정보 처리 장치의 일례로서, 기록 재생 장치(100)의 구성 블록도를 도 2에 도시한다. 기록 재생 장치(100)는 입출력 I/F(Interface)(120), MPEG(Moving Picture Experts Group) 코덱(130), A/D, D/A컨버터(141)를 구비한 입출력 I/F(Interface)(140), 암호 처리 수단(150), ROM(Read Only Memory)(160), CPU(Central Processing Unit)(170), 메모리(180), 기록 매체(195)의 드라이브(190)를 가지며, 이들은 버스(110)에 의해 서로 접속되어 있다.
입출력 I/F(120)는 외부에서 공급되는 화상, 음성, 프로그램 등의 각종 컨텐츠를 구성하는 디지털 신호를 수신하여, 버스(110)상에 출력함과 아울러, 버스(110)상의 디지털 신호를 수신하여, 외부로 출력한다. MPEG 코덱(130)은 버스(110)를 통하여 공급되는 MPEG 부호화된 데이터를, MPEG 디코딩하여, 입출력 I/F(140)로 출력함과 아울러, 입출력 I/F(140)로부터 공급되는 디지탈 신호를 MPEG 인코딩하여 버스(110)상으로 출력한다. 입출력 I/F(140)는 A/D, D/A 컨버터(141)를 내장하고 있다. 입출력 I/F(140)는 외부로부터 공급되는 컨텐츠로서의 아날로그 신호를 수신하고, A/D, D/A 컨버터(141)에서 A/D(Analog Digital) 변환함으로써, 디지털 신호로서 MPEG 코덱(130)으로 출력함과 아울러, MPEG 코덱(130)으로부터의 디지털 신호를, A/D, D/A 컨버터(141)에서 D/A(Digital Analog) 변환함으로써, 아날로그 신호로서 외부로 출력한다.
암호 처리 수단(150)은 예를 들면 단일 칩의 LSI(Large Scale Integrated Circuit)로 구성되며, 버스(110)를 통하여 공급되는 컨텐츠로서의 디지탈 신호의 암호화, 복호 처리, 또는 인증 처리를 실행하며, 암호 데이터, 복호 데이터 등을 버스(110)상으로 출력하는 구성을 갖는다. 또, 암호 처리 수단(150)은 단일 칩 LSI에 한정되지 않으며, 각종 소프트웨어 또는 하드웨어를 조합한 구성에 의해 실현하는 것도 가능하다. 소프트웨어 구성에 의한 처리 수단으로서의 구성에 대해서는 후술하겠다.
ROM(160)은 기록 재생 장치에 의해 처리되는 프로그램 데이터를 저장한다. CPU(170)는 ROM(160), 메모리(180)에 기억된 프로그램을 실행함으로써, MPEG 코덱(130)이나 암호 처리 수단(150) 등을 제어한다. 메모리(180)는 예를 들면 불휘발성 메모리이고, CPU(170)가 실행하는 프로그램이나, CPU(170)의 동작상 필요한 데이터, 또한 디바이스에 의해 실행되는 암호 처리에 사용되는 키 세트를 기억한다. 키 세트에 대해서는 다음 단락에서 설명한다. 드라이브(190)는 디지털 데이터를 기록 재생가능한 기록 매체(195)를 구동함으로써, 기록 매체(195)로부터 디지털 데이터를 판독하여(재생하여), 버스(110) 상에 출력함과 아울러, 버스(110)를 통하여 공급되는 디지털 데이터를, 기록 매체(195)에 공급하여 기록시킨다.
기록 매체(195)는 예를 들면 DVD, CD 등의 광 디스크, 광자기 디스크, 자기 디스크, 자기 테이프, 또는 RAM 등의 반도체 메모리 등과 같이 디지털 데이터가 기억가능한 매체로서, 본 실시형태에서는, 드라이브(190)에 대하여 착탈가능한 구성인 것으로 한다. 다만, 기록 매체(195)는 기록 재생 장치(100)에 내장하는 구성으로 해도 된다.
또, 도 2에 나타낸 암호 처리 수단(150)은 1개의 단일 칩 LSI로 구성해도 되고, 또한 소프트웨어, 하드웨어를 조합한 구성에 의해 실현하는 구성으로 해도 된다.
다음에, 도 1에 나타낸 컨텐츠 배신측(10)으로부터 컨텐츠 수신측(20)의 각디바이스에 암호 데이터를 배신하는 경우, 각 디바이스에서의 암호 처리 키의 보유 구성 및 데이터 배신 구성을 도 3을 참조하여 설명하겠다.
도 3의 최하단에 나타낸 넘버 0∼15가 컨텐츠 수신측(20)의 각각의 디바이스이다. 즉 도 3에 나타낸 계층 트리(tree) 구조의 각각의 리프(leaf)이 각각의 디바이스에 상당한다.
각 디바이스 0∼15는 제작시나 출하시, 또는 그 후에, 도 3에 나타낸 계층 트리(tree) 구조에 있어서의, 자신의 리프로부터 루트에 이르기까지의 노드에 할당된 키(노드 키) 및 각각의 리프의 리프 키로 이루어지는 키 세트를 메모리에 저장한다. 도 3의 최하단에 나타낸 K0000∼K1111이 각 디바이스 0∼15에 각각 할당된 리프 키이며, 최상단의 KR(루트 키)로부터, 최하단에서 2번째의 노드(마디)에 기재된 키: KR∼K111을 노드 키로 한다.
도 3에 나타낸 트리 구조에 있어서, 예를 들면 디바이스 0은 리프 키 K0000과, 노드 키: K000, K00, K0, KR을 소유한다. 디바이스 5는 K0101, K010, K01, K0, KR을 소유한다. 디바이스 15는 K1111, K111, K11, K1, KR을 소유한다. 또, 도 3의 트리에는 디바이스가 0∼15의 16개만이 기재되어 있으며, 트리 구조도 4단 구성의 균형이 잡힌 좌우 대칭 구성으로 나타내고 있으나, 더 많은 디바이스가 트리 중에 구성되며, 트리의 각 부분에 있어서 상이한 단수 구성을 갖는 것이 가능하다.
도 3의 트리 구조에 포함되는 각 정보 처리 장치(디바이스)에는, 여러가지 기록 매체, 예를 들면 디바이스 매립형 또는 디바이스에 착탈이 자유롭게 구성된DVD, CD, MD, 플래시 메모리 등을 사용하는 여러가지 타입의 정보 처리 장치가 포함되어 있다. 또한, 여러가지 어플리케이션 서비스가 공존가능하다. 이와 같은 다른 디바이스, 다른 어플리케이션의 공존 구성에 도 3에 나타낸 컨텐츠 또는 키 배포 구성인 계층 트리 구조가 적용된다.
이들 여러가지 정보 처리 장치(디바이스), 어플리케이션이 공존하는 시스템에 있어서, 예를 들면 도 3의 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 동일한 기록 매체를 이용하는 하나의 그룹으로 설정한다. 예를 들면, 이 점선으로 둘러싼 그룹내에 포함되는 디바이스에 대해서는, 합쳐서 공통의 컨텐츠를 암호화하여 프로바이더로부터 송부하거나, 각 디바이스에 공통 사용하는 컨텐츠 키를 송부하거나, 또는 각 디바이스로부터 프로바이더 또는 결제 기관 등에게 컨텐츠 요금의 지불 데이터를 암호화하여 출력하는 처리가 실행된다. 컨텐츠 프로바이더, 또는 결제 처리 기관 등 각 디바이스와의 데이터 송수신을 행하는 기관은 도 3의 점선으로 둘러싼 부분, 즉 디바이스 0, 1, 2, 3을 하나의 그룹으로 하여 일괄적으로 데이터를 송부하는 처리를 실행한다. 이와 같은 그룹은 도 3의 트리 중에 복수개 존재한다. 컨텐츠 프로바이더, 또는 결제 처리 기관 등 각 디바이스와의 데이터 송수신을 행하는 기관은 메세지 데이터 배신 수단으로서 기능한다.
또, 노드 키, 리프 키는 어떤 하나의 키 관리 센터에 의해 총괄하여 관리해도 되며, 각 그룹에 대한 여러가지 데이터 송수신을 행하는 프로바이더, 결제 기관 등의 메세지 데이터 배신 수단에 의해 그룹별로 관리하는 구성으로 해도 된다. 이들 노드 키, 리프 키는 예를 들면 키가 누설된 경우 등에는 다시 새로운 처리가 실행되며, 이 갱신 처리는 키 관리 센터, 프로바이더, 결제 기관 등이 실행한다.
이 트리 구조에 있어서, 도 3에서 알 수 있는 바와 같이, 1개의 그룹에 포함된 3개의 디바이스 0, 1, 2, 3은 노드 키로서 공통 키 K00, K0, KR을 보유한다. 이 노드 키 공유 구성을 이용함으로써, 예를 들면 공통 컨텐츠 키를 디바이스 0, 1, 2, 3에만 제공하는 것이 가능해진다. 예를 들면, 공통으로 보유하는 노드 키 K00 자체를 컨텐츠 키로서 설정하면, 새로운 키 송부를 실행하지 않고 디바이스 0, 1, 2, 3만이 공통 컨텐츠 키의 설정이 가능하다. 또한, 새로운 컨텐츠 키 Kcon을 노드 키 K00으로 암호화한 값 Enc(K00, Kcon)을, 네트워크를 통하여 또는 기록 매체에 저장하여 디바이스 0, 1, 2, 3에 배포하면, 디바이스 0, 1, 2, 3만이 각각의 디바이스에서 보유하는 공유 노드 키 K00을 이용하여 암호 Enc(K00, Kcon)를 해독하여 컨텐츠 키:Kcon을 얻는 것이 가능해진다. 또, Enc(Ka, Kb)는 Kb를 Ka에 의해 암호화한 데이터임을 나타낸다.
또한, 어떤 시점 t에 있어서, 디바이스 3이 갖는 키: K0011, K001, K00, K0, KR이 공격자(해커)에 의해 해석되어 노출된 것이 발각된 경우, 그 이후 시스템(디바이스 0, 1, 2, 3의 그룹)에서 송수신되는 데이터를 지키기 위하여, 디바이스 3을 시스템으로부터 분리할 필요가 있다. 이를 위해서는, 노드 키:K001, K00, K0, KR을 각각 새로운 키 K(t)001, K(t)00, K(t)0, K(t)R로 갱신하고, 디바이스 0, 1, 2에 그 갱신 키를 전달할 필요가 있다. 여기에서, K(t)aaa는 키 Kaaa의 세대(Generation): t의 갱신 키임을 나타낸다.
갱신 키의 배포 처리에 대하여 설명하겠다. 키의 갱신은 예를 들면 도 4a에나타낸 유효화 키 블록(EKB: Enabling Key Block)이라 불리우는 블록 데이터에 의해 구성되는 테이블을, 예를 들면 네트워크, 또는 기록 매체에 저장하여 디바이스 0, 1, 2에 공급함으로써 실행된다. 또, 유효화 키 블록(EKB)은 도 3에 나타낸 바와 같은 트리 구조를 구성하는 각각의 리프에 대응하는 디바이스에 새롭게 갱신된 키를 배포하기 위한 암호화 키에 의해 구성된다. 유효화 키 블록(EKB)은 키 갱신 블록(KRB: Key Renewal Block)이라고 불리워지기도 한다.
도 4a에 나타낸 유효화 키 블록(EKB)에는 노드 키의 갱신이 필요한 디바이스만이 갱신 가능한 데이터 구성을 갖는 블록 데이터로서 구성된다. 도 4a의 예는 도 3에 나타낸 트리 구조 중의 디바이스 0, 1, 2에 있어서, 세대 t의 갱신 노드 키를 배포하는 것을 목적으로 하여 형성된 블록 데이터이다. 도 3에서 알 수 있듯이, 디바이스 0, 디바이스 1은 갱신 노드 키로서 K(t)00, K(t)0, K(t)R이 필요하며, 디바이스 2는 갱신 노드 키로서 K(t)001, K(t)00, K(t)0, K(t)R이 필요하다.
도 4a의 EKB에 나타낸 바와 같이 EKB에는 복수의 암호화 키가 포함된다. 최하단의 암호화 키는 Enc(K0010, K(t)001)이다. 이것은 디바이스 2가 갖는 리프 키 K0010에 의해 암호화된 갱신 노드 키 K(t)001이며, 디바이스 2는 자신이 갖는 리프 키에 의해 이 암호화 키를 복호하여, K(t)001을 얻을 수 있다. 또한, 복호에 의해 얻은 K(t)001을 사용하여, 도 4a의 아래에서 2단째의 암호화 키 Enc(K(t)001, K(t)00)를 복호가능하게 되어, 갱신 노드 키 K(t)00을 얻을 수 있다. 이하, 순차로 도 4a의 위에서 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 4a의 위에서 1단째의 암호화 키 Enc(K(t)0, K(t)R)을 복호하여 K(t)R을 얻는다. 한편, 디바이스 0, 1은 노드 키 K000은 갱신할 대상에 포함되어 있지 않으며, 갱신 노드 키로서 필요한 것은 K(t)00, K(t)0, K(t)R이다. 디바이스 0, 1은 도 4a의 위에서 3단째의 암호화 키 Enc(K000, K(t)00)을 복호하여 K(t)00을 취득하고, 이하 도 4a의 위에서 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0을, 도 4a의 위에서 1단째의 암화화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 이와 같이 하여, 디바이스 0, 1, 2는 갱신된 키 K(t)R을 얻을 수 있다. 또, 도 4a의 인덱스는 복호 키로서 사용하는 노드 키, 리프 키의 절대 번지를 나타낸다.
도 3에 나타낸 트리 구조의 상위단의 노드 키: K(t)0, K(t)R의 갱신이 불필요하며, 노드 키 K00만의 갱신 처리가 필요한 경우에는, 도 4b에 나타낸 유효화 키 블록(EKB)을 사용함으로써, 갱신 노드 키 K(t)00을 디바이스 0, 1, 2에 배포할 수 있다.
도 4b에 나타낸 EKB는 예를 들면 특정 그룹에서 공유하는 새로운 컨텐츠 키를 배포하는 경우에 이용가능하다. 구체예로서, 도 3에 점선으로 나타낸 그룹내의 디바이스 0, 1, 2, 3이 있는 기록 매체를 사용하고 있으며, 새로운 공통 컨텐츠 키 K(t)con이 필요한 것으로 한다. 이 때, 디바이스 0, 1, 2, 3의 공통 노드 키 K00을 갱신한 K(t)00을 이용하여 새로운 공통 갱신 컨텐츠 키: K(t)con을 암호화한 데이터 Enc(K(t), K(t)con)을 도 4b에 나타낸 EKB와 함께 배포한다. 이 배포에 의해, 디바이스 4 등, 그 밖의 그룹의 기기에서는 복호되지 않은 데이터로서의 배포가 가능해진다.
즉, 디바이스 0, 1, 2는 EKB를 처리하여 얻은 K(t)00을 사용하여 상기 암호문을 복호하면, t시점에서의 컨텐츠 키 K(t)con을 얻는 것이 가능해진다.
도 5는 t시점에서의 컨텐츠 키 K(t)con을 얻는 처리예로서, K(t)00을 사용하여 새로운 공통 컨텐츠 키 K(t)con을 암호화한 데이터 Enc(K(t)00, K(t)con)과 도 4b에 나타낸 EKB를 기록 매체를 통하여 수령한 디바이스 0의 처리를 나타낸다. 즉 EKB에 의한 암호화 메세지 데이터를 컨텐츠 키 K(t)con으로 한 예이다.
도 5에 나타낸 바와 같이, 디바이스 0은 기록 매체에 저장되어 있는 세대: t시점의 EKB와 자신이 미리 저장하고 있는 노드 키 K000을 사용하여 상술한 바와 동일한 EKB 처리에 의해, 노드 키 K(t)00을 생성한다. 또한, 복호한 갱신 노드 키 K(t)00를 사용하여 갱신 컨텐츠 키 K(t)con을 복호하여, 나중에 이것을 사용하기 위하여 자신만이 갖는 리프 키 K0000으로 암호화하여 저장한다.
또, 디바이스 0이 갱신 컨텐츠 키 K(t)con을 완전히 저장하는 수단을 구비하고 있으면, 리프 키 K0000으로 암호화할 필요는 없다.
도 6에, 유효화 키 블록(EKB)의 포맷예를 나타낸다. 버전(601)은 유효화 키 블록(EKB)의 버전을 나타내는 식별자이다. 버전은 최신의 EKB를 식별하는 기능과 컨텐츠와의 대응관계를 나타내는 기능을 갖는다. 깊이(depth)는 유효화 키 블록(EKB)의 배포처의 디바이스에 대한 계층 트리의 계층수를 나타낸다. 데이터 포인터(603)는 유효화 키 블록(EKB) 중의 데이터부의 위치를 나타낸 포인터이며, 태그 포인터(604)는 태그부의 위치, 서명 포인터(605)는 서명의 위치를 나타낸 포인터이다.
데이터부(606)는 예를 들면 갱신할 노드 키를 암호화한 데이터를 저장한다. 예를 들면 도 5에 나타낸 바와 같은 갱신된 노드 키에 관한 각 암호화 키 등을 저장한다.
태그부(607)는 데이터부에 저장된 암호화된 노드 키, 리프 키의 위치 관계를 나타낸 태그이다. 이 태그의 부여 규칙을 도 7을 참조하여 설명한다. 도 7에서는, 데이터로서 앞서 도 4a에서 설명한 유효화 키 블록(EKB)을 송부하는 예를 나타내고 있다. 이 때의 데이터는, 도 7b의 표에 나타낸 바와 같다. 이 때의 암호화 키에 포함되는 톱 노드의 어드레스를 톱 노드 어드레스라 한다. 이 경우, 루트 키의 갱신 키 K(t)R이 포함되어 있으므로, 톱 노드 어드레스는 KR이 된다. 이 때, 예를 들면 최상단의 데이터 Enc(K(t)0, K(t)R)은 도 7a에 나타낸 계층 트리에 나타낸 위치에 있다. 여기서, 다음의 데이터는 Enc(K(t)00, K(t)0)이며, 트리 상에서는 앞서의 데이터의 좌측 아래의 위치에 있다. 데이터가 있는 경우에는, 태그가 0, 데이터가 없는 경우에는 1이 설정된다. 태그는 {좌(L) 태그, 우(R) 태그}로 설정된다. 최상단의 데이터 Enc(K(t)0, K(t)R)의 좌측에는 데이터가 있으므로, L 태그=0, 우측에는 데이터가 없으므로, R 태그=1이 된다. 이하, 모든 데이터에 태그가 설정되며, 도 7c에 나타낸 데이터 열 및 태그 열이 구성된다.
태그는 데이터 Enc(Kxxx, Kyyy)가 트리 구조의 어디에 위치하고 있는지를 나타내기 위하여 설정되는 키 배치 식별 태그이다. 데이터부에 저장되는 키 데이터 Enc(Kxxx, Kyyy)…는 단순히 암호화된 키의 나열 데이터에 불과하므로, 상술한 태그에 의해 데이터로 저장된 암호화 키의 트리 상의 위치를 판별가능하게 한 것이다. 상술한 태그를 이용하지 않고, 앞서의 도 4에서 설명한 구성과 같이 암호화 데이터에 대응시킨 노드 인덱스를 이용하여, 예를 들면,
0:Enc(K(t)0, K(t)root)
00:Enc(K(t)00, K(t)0)
000:Enc(K(t)000, K(t)00)
…과 같은 데이터 구성으로 하는 것도 가능한데, 이와 같은 인덱스를 사용한 구성으로 하면 용장의 데이터가 되어 데이터량이 증대되고, 네트워크를 통한 배신 등에 있어서는 바람직하지 않다. 이에 비하여, 상술한 태그를 키 위치를 나타내는 색인 데이터로서 이용함으로써, 적은 데이터량으로 키 위치의 판별이 가능해진다. 태그와 노드의 순서를 규정하는 규칙으로서, 예를 들면 동일한 깊이에 있어서, 좌측 단에서 우측 단까지를 차례로 기술하고, 그 후 1단 아래의 좌측 단의 노드로 옮기는 "너비 우선(breadth first)"의 수법을 사용할 수 있다.
도 6으로 돌아가서, EKB 포맷에 대하여 설명한다. 서명(Signature)은 유효화 키 블록(EKB)을 발행한 EKB 발행국, 예를 들면 키 관리 센터, 컨텐츠 프로바이더, 결제 기관 등이 실행하는 전자 서명이다. EKB를 수령한 디바이스는 서명 검증에 의해 정당한 유효화 키 블록(EKB) 발행자가 발행한 유효화 키 블록(EKB)인 것을 확인한다.
상술한 예에서는, 컨텐츠 키만을 EKB와 함께 송부하는 예에 대하여 설명하였으나, 컨텐츠 키로 암호화한 컨텐츠와, 루트 키, 노드 키 등의 암호 키로 암호화한 컨텐츠 키와, EKB에 의해 암호화한 컨텐츠 키 암호 키를 함께 송부하는 구성에 대하여 이하에서 설명하겠다.
이러한 데이터 구성을 도 8에 나타낸다. 도 8a에 나타낸 구성에 있어서, Enc(Kcon, content)(801)은 컨텐츠(content)를 컨텐츠 키(Kcon)로 암호화한 데이터이며, Enc(Kroot, Kcon)(802)는 컨텐츠 키(Kcon)를 루트 키(Kroot)로 암호화한 데이터이며, Enc(EKB, Kroot)(803)은 루트 키 Kroot를 유효화 키 블록(EKB)에 의해 암호화한 데이터인 것을 나타낸다.
여기에서, 루트 키 Kroot는 도 3에서 나타낸 노드 키(K000, K00…)이어도 된다.
도 8b는 복수의 컨텐츠가 미디어에 기록되며, 각각이 동일한 Enc(EKB, Kroot)(805)를 이용하고 있는 경우의 구성예를 나타내는 이러한 구성에서는, 각 데이터에 동일한 Enc(EKB, Kroot)를 부가하지 않고, Enc(EKB, Kroot)에 링크하는 링크처를 나타내는 데이터를 각 데이터에 부가하는 구성으로 할 수 있다.
도 9에, 도 3에 나타낸 노드 키 K00을 갱신한 갱신 노드 키 K(t)00을 사용하여 컨텐츠 키 Kcon을 암호화한 경우의 처리예를 나타낸다. 이 경우, 도 3의 점선으로 둘러싼 그룹에 있어서 디바이스 3이, 예를 들면 키의 누설에 의해 리보크(배제)되어 있다고 하여, 다른 그룹의 멤버, 즉 디바이스 0, 1, 2에 대하여 도 9에 나타낸 유효화 키 블록(EKB)과, 컨텐츠 키(Kcon)를 갱신 노드 키 K(t)00로 암호화한 데이터와, 컨텐츠를 컨텐츠 키(Kcon)로 암호화한 데이터를 배신함으로써, 디바이스 0, 1, 2는 컨텐츠를 얻을 수 있다.
도 9의 우측에는, 디바이스 0에 있어서의 복호 순서를 나타내고 있다. 디바이스 0은 먼저, 수령한 유효화 키 블록으로부터 자신이 보유하는 리프 키 K000을 사용한 복호 처리에 의해, K(t)00을 취득한다. 이어서, K(t)00에 의한 복호에 의해 컨텐츠 키 Kcon을 취득하고, 다시 컨텐츠 키 Kcon에 의해 컨텐츠의 복호를 행한다. 이들 처리에 의해, 디바이스 0은 컨텐츠를 이용가능하게 된다. 디바이스 1, 2에 있어서도 각각 다른 처리 순서로 EKB를 처리함으로써, 컨텐츠 키의 암호화 키를 취득하는 것이 가능해지며, 마찬가지로 컨텐츠를 이용하는 것이 가능해진다.
도 3에 나타낸 다른 그룹의 디바이스 4, 5, 6…은 동일한 데이터(EKB)를 수신하였다고 하더라도, 자신이 보유하는 리프 키, 노드 키를 사용하여 K(t)00을 취득할 수 없다. 마찬가지로 리보크된 디바이스 3에 있어서도, 자신이 보유하는 리프 키, 노드 키에서는, K(t)00을 취득할 수 없으며, 정당한 권리를 가진 디바이스만이 컨텐츠를 복호하여 이용하는 것이 가능해진다.
이와 같이, EKB를 이용한 컨텐츠 키의 배송을 이용하면, 데이터량을 적게 하여, 또한 안전하게 정당한 권리자만이 복호가능하게 한 암호화 컨텐츠를 배신하는 것이 가능해진다.
또, 유효화 키 블록(EKB), 컨텐츠 키, 암호화 컨텐츠 등은 네트워크를 통하여 안전하게 배신하는 것이 가능한 구성이지만, 유효화 키 블록(EKB), 컨텐츠 키, 암호화 컨텐츠를 DVD, CD 등의 기록 매체에 저장하여 사용자에게 제공하는 것도 가능하다. 이 경우, 기록 매체에 저장된 암호화 컨텐츠의 복호에는, 동일한 기록 매체에 저장된 유효화 키 블록(EKB)의 복호에 의해 얻어지는 컨텐츠 키를 사용하도록 구성하면, 미리 정당한 권리자만이 보유하는 리프 키, 노드 키에 의해서만 이용가능한 암호화 컨텐츠의 배포 처리, 즉 이용가능한 사용자 디바이스를 한정한 컨텐츠 배포를 간단한 구성으로 실현할 수 있다.
도 10에, 기록 매체에 암호화 컨텐츠와 함께 유효화 키 블록(EKB)을 저장한 구성예를 나타낸다. 도 10에 나타낸 예에서는, 기록 매체에 컨텐츠 C1∼C4가 저장되며, 또한 각 저장 컨텐츠에 대응하는 유효화 키 블록(EKB)을 대응시킨 데이터가 저장되며, 또한 버전 M의 유효화 키 블록(EKB_M)이 저장되어 있다. 예를 들면 EKB_1은 컨텐츠 C1을 암호화한 컨텐츠 키 Kconl을 생성하는데 사용되며, 예를 들면 EKB_2는 컨텐츠 C2를 암호화한 컨텐츠 키 Kcon2를 생성하는데 사용된다. 이 예에서는, 버전 M의 유효화 키 블록(EKB_M)이 기록 매체에 저장되어 있으며, 컨텐츠 C3, C4는 유효화 키 블록(EKB_M)에 대응되어 있으므로, 유효화 키 블록(EKB_M)의 복호에 의해 컨텐츠 C3, C4의 컨텐츠 키를 취득할 수 있다. EKB_1, EKB_2는 디스크에 저장되어 있지 않으므로, 새로운 제공수단, 예를 들면 네트워크 배신, 또는 기록 매체에 의한 배신에 의해 각각의 컨텐츠 키를 복호하기 위하여 필요한 EKB_1, EKB_2를 취득하는 것이 필요하게 된다.
다음으로, 유효화 키 블록(EKB)을 사용한 리보크 엔티티(ex. 부정한 디바이스)의 검출 처리에 대하여 설명하겠다. 먼저, 공개 키 암호 방식을 이용한 상호 인증 방법을, 도 11을 참조하여 설명한다. 도 11에서, A는 자신의 비밀 키[Apri-Key], 공개 키[Apub-Key], 인증국의 서명이 이루어진 공개 키 증명서[Acert]를 가지며, 또한 공개 키 증명서의 서명 주체인 인증국의 공개 키와, EKB의 서명 주체인 EKB 발행국의 공개 키를 가지며, B는 자신의 비밀 키[Bpri-Key], 공개 키[Bpub-Key], 인증국의 서명이 이루어진 공개 키 증명서[Bcert], 인증국의 공개 키, EKB 발행국의 공개 키를 갖는다.
도 11에 나타낸 A, B 각각이 갖는 공개 키 증명서의 구성에 대하여 도 12를 참조하여 설명한다. 공개 키 증명서는 공개 키 암호 방식에 있어서의 인증국(CA:Certificate Authority 또는 IA: Issuer Authority)이 발행하는 증명서로, 사용자가 자기의 ID, 공개 키 등을 인증국에 제출함으로써, 인증국측이 인증국의 ID나 유효 기한 등의 정보를 부가하고, 인증국에 의한 서명을 부가하여 작성되는 증명서이다.
도 12에 나타낸 공개 키 증명서(51)는 증명서의 버전 번호, 인증국이 증명서 이용자에 대하여 할당하는 증명서의 일련 번호, 전자 서명에 사용한 알고리즘 및 파라미터, 인증국의 명칭, 증명서의 유효 기한, 증명서 이용자 ID, 증명서 이용자의 공개 키를 포함하는 명세서 메시지의 전체(52)와 인증국의 전자 서명(53)을 포함한다.
전자 서명(53)은 증명서의 버전 번호, 인증국이 증명서 이용자에 대하여 할당하는 증명서의 일련 번호, 전자 서명에 사용한 알고리즘 및 파라미터, 인증국의 명칭, 증명서의 유효 기한, 증명서 이용자의 명칭 및 증명서 이용자의 공개 키 전체에 대하여 해시 함수를 적용하여 해시값을 생성하고, 그 해시값에 대하여 인증국의 비밀 키를 사용하여 생성한 데이터이다.
공개 키 증명서의 증명서 이용자 ID는 상술한 키 배신 트리 구성의 노드, 리프 위치를 나타내는 식별값으로서의 리프 ID가 포함된다. 도 3의 트리 구성이라면, 디바이스 0은 [ID=0000], 디바이스 1은 [ID=0001], 디바이스 15는 [ID=1111] 등이다. 이와 같은 ID에 의거하여 그 디바이스 등의 엔티티가 트리 구성의 어느 위치(리프 또는 노드)에 있는 엔티티(ex. 디바이스)인가가 식별가능하게 된다.
도 11의 상호 인증 처리는 상술한 공개 키 증명서를 사용하여 행해진다. 먼저, B가 B의 공개 키 증명서 Bcert와, 난수 Rb를 생성하여, A에 송신한다. 이것을 수신한 A는 인증국의 공개 키로 B의 공개 키 증명서(B. Cert)를 검증한다. 검증이 NG이라면, 공개 키 증명서는 무효인 것으로 판정되므로, 이 시점에서 인증 처리를 중지하고, 인증 불성립이 된다. B의 공개 키 증명서(B. Cert)의 검증이 OK라면, 이어서 B의 공개 키 증명서(B. Cert)내의 B의 리프 ID로 자체 디바이스에 보유한 EKB를 추적한다.
앞서 설명한 도 7에 관한 설명으로부터 알 수 있는 바와 같이 EKB내에 저장된 태그는 자체 노드의 좌측 및 우측의 노드의 키 데이터의 유무를 0, 1로 나타내고 있다. 즉 데이터가 있는 경우에는 0, 데이터가 없는 경우를 1로서 설정된다. 리프 ID에 의거한 EKB의 추적 처리, 즉 추적 방법은 이와 같은 조건 설정에 의거한 태그를 사용하여 행해진다.
리프 ID에 의거한 EKB의 추적(추적 방법)에 대하여, 도 13을 참조하여 설명하겠다. 도 13a에 나타낸 바와 같이 리프 키 K1001을 갖는 디바이스를 리보크 디바이스[1001]라 한다. 이 때, EKB는 도 13b에 나타낸 바와 같은 암호화 키와 태그의 구성을 갖는다. 도 13b에 나타낸 EKB는 도 13a의 1개의 디바이스[1001]를 리보크하기 위하여, KR, K1, K10, K100을 갱신한 EKB가 된다.
이 EKB를 처리함으로써, 리보크 디바이스[1001] 이외의 리프는 모두 갱신된 루트 키 K(t)R을 취득할 수 있다. 즉, 노드 키 K0의 하위에 이어지는 리프는 갱신되지 않은 노드 키 K0을 디바이스내에 보유하고 있으므로, Enc(K0, K(t)R)을 K0에 의해 복호함으로써, 갱신 루트 키 K(t)R을 취득가능하게 된다. 또한, K11 이하의 리프는 갱신되어 있지 않은 K11을 사용하여, Enc(K11, K(t)1)을 K11에 의해 복호함으로써 갱신 노드 키 K(t)1을 취득하며, 또한 Enc(K(t)1, K(t)R)을 K(t)1에 의해 복호함으로써 갱신 루트 키를 취득할 수 있다. K101의 하위 리프에 대해서도 복호 단계가 하나 증가할 뿐이며, 마찬가지로 갱신 루트 키를 취득할 수 있다.
또한, 리보크되어 있지 않은 리프 키 K1000을 갖는 디바이스[1000]는 자신의 리프 키로, Enc(K1000, K(t)100)을 복호하여, K(t)100을 취득한 후, 상위의 노드 키를 순차로 복호하여 갱신 루트 키를 취득할 수 있다.
리보크된 디바이스[1001]만이 자기 리프의 1단 위의 갱신 노드 키 K(t)100을 EKB 처리에 의해 취득할 수 없으므로, 결국 갱신 루트 키 K(t)R을 취득할 수 없다.
리보크되어 있지 않은 정당한 디바이스에는, 도 13b에 나타낸 데이터부와, 태그를 갖는 EKB가 EKB 발행국으로부터 배신되어, 디바이스내에 저장되어 있다.
상호 인증에 있어서, 도 13a에 나타낸 리보크 디바이스[ID=1001]와, 예를 들면 어떤 컨텐츠 프로바이더 사이에서 도 11에 나타낸 공개 키 방식의 상호 인증을 행하고 있다고 하면, 컨텐츠 프로바이더는 도 13a의 리보크 디바이스[ID=1001]로부터 공개 키 증명서를 수신하여, 공개 키 증명서의 검증 후, 공개 키 증명서로부터 ID를 취득한다. 이 ID는 [1001]이며, EKB 배신 트리 구성의 리프 위치를 나타내고있다.
ID[1001]를 수신한 컨텐츠 프로바이더는 ID=1001의 리프에 대응하는 디바이스가 EKB에 있어서 유효한 리프 디바이스로서 설정되어 있는가를 검증한다. 이 검증은 즉, 리프[1001]이 갱신된 루트 키 K(t)R을 취득할 수 있는지의 여부를 판정하는 처리로서 실행된다.
예를 들면, 비갱신 노드 키(도 13a중의 K0, K11 등)의 하위에 속하는 리프라면, 리보크되지 않은 것이 확실하며, 정당한 디바이스라고 판정가능하며, 갱신 노드 키의 하위에 속하는 리프인 경우에는, 이 갱신 노드 키를 취득가능한 암호화 데이터가 EKB에 저장되어 있는지의 여부에 따라서, 그 엔티티가 리보크되어 있는지 아닌지를 판정할 수 있게 된다.
판정 처리의 일례로서, EKB에 저장된 태그에 의거하여 EKB 추적 처리를 행하는 예를 설명한다. EKB 추적 처리는 상위의 루트 키로부터 키 배신 트리를 추적할지의 여부를 판정하는 처리이다. 예를 들면 도 13a 중의 리프[1001]의 ID인 [1001]을 [1], [0], [0], [1]의 4비트로 하여, 최상위 비트로부터 순차로 하위 비트를 따라서 트리를 추적한다. 비트가 1이라면 우측, 0이라면 좌측으로 진행한다.
도 13a의 루트로부터, ID[1001]의 최상위 비트는 1이며, 우측으로 진행한다. EKB내의 최초의 태그는 0:{0, 0}이며, 양 가지에 데이터를 갖는다고 판정되어, 우측으로 진행하여 K1에 이를 수 있다. 다음으로 K1의 하위의 노드로 진행한다. ID[1001]의 2번째 비트는 0이며, 좌측으로 진행한다. K1의 하위의 데이터 유무를 나타내는 태그는 도 13a 및 도 13b에 나타낸 2:{0, 0}이며, 양 가지에 데이터를 갖는다고 판정되어, 좌측으로 진행하여 K10에 이를 수 있다. 또한, ID[1001]의 3번째 비트는 0이며, 좌측으로 진행한다. K10의 하위의 데이터 유무를 나타내는 태그는 도 13a 및 도 13b에 나타낸 3:{0, 0}이며, 양 가지에 데이터를 갖는다고 판정되며, 좌측으로 진행하여 K100에 이를 수 있다. 또한, ID[1001]의 최하위 비트는 1이며, 우측으로 진행한다. K100의 하위의 데이터 유무를 나타내는 태그는 도 13a 및 도 13b에 나타낸 5:{0, 1}이며, 우측에는 데이터를 갖지 않는다. 따라서, 노드 [1001]에는 이를 수 없다고 판정되며, ID[1001]의 디바이스는 EKB에 의한 갱신 루트 키를 취득할 수 없는 디바이스, 즉 리보크 디바이스이라고 판정된다.
예를 들면 도 13a의 리프 키 K1000을 갖는 디바이스 ID는 [1000]이며, 상술한 바와 같은 EKB내의 태그에 의거한 EKB 추적 처리, 즉 트리를 추적하는 처리를 실행하면, 노드[1000]에 이를 수 있으므로, EKB에 의한 갱신 루트 키를 취득가능한 리보크되지 않은 정당한 디바이스라고 판정된다.
또한, 예를 들면 갱신되지 않은 노드 키, 예를 들면 K0, K11 등의 하위의 리프에도, 리프 자체에는 이를 수 없지만, 이 경우에는, 갱신되지 않은 말단 노드에 이르는 것이 가능하다. 갱신되지 않은 노드의 하위의 리프는 갱신되지 않은 노드 키를 사용하여 EKB의 처리가 가능하며, 갱신 루트 키를 취득할 수 있으므로 정당한 디바이스이다. 갱신되지 않은 노드 키인가의 여부는 그 노드에 대응하는 태그에 의해 판정하는 것이 가능하게 된다. 갱신되지 않은 노드 키 K0, K11, K101에 대응하는 태그는 1:{1, 1}, 4:{1, 1}, 6{1, 1}이 되며, 이들은 또한 하위 노드 또는 리프가 존재하는데, EKB내에는 암호화 키 데이터를 갖지 않는다는 것을 나타내고 있으며, 이들 하위 리프의 디바이스는 리보크되지 않은 유효한 정당한 디바이스이라고 판정된다.
도 13에 나타낸 예는 단지 1개의 디바이스에 대한 리보크 양태인데, 도 14에 나타낸 바와 같이 어떤 노드의 아래에 있는 모든 리프 디바이스를 일괄적으로 리보크하는 것도 가능하다. 이 경우의 EKB의 데이터(암호화 키), 태그는 도 14b와 같이 된다.
예를 들면, 컨텐츠 프로바이더가 리보크된 K1000에 대응하는 리프 디바이스로부터 공개 키 증명서를 수신하여 ID[1000]를 취득한 것으로 하면, 이 ID[1000]에 의거하여 EKB의 태그에 기초하여 트리를 추적하는 처리를 실행한다.
도 14a의 루트로부터, ID[1000]의 최상위 비트는 1이며, 우측으로 진행한다. EKB내의 최초의 태그 0:{0, 0}이며, 양 가지에 데이터를 갖는다고 판정되어, 우측으로 진행하여 K1에 이를 수 있다. 다음으로 K1의 하위의 노드로 진행한다. ID[1000]의 2번째 비트는 0이며, 좌측으로 진행한다. K1의 하위의 데이터 유무를 나타내는 태그는 도 13a 및 도 13b에 나타낸 2:{1, 0}이며, 좌측에는 데이터를 갖지 않는다. 따라서 노드[1000]에는 이를 수 없다. 이 때의 말단 노드 K1에 대응하는 태그는 {1, 0}이며, 하위의 데이터를 갖지 않는 {1, 1}은 아니다.
태그{1, 0}는 K1의 우측의 하위의 노드 또는 리프에서만 복호가능한 갱신된 K1(t)를 취득하기 위한 암호화 키 데이터가 EKB에 저장되어 있음을 나타내고 있다.
이와 같이, 리프 ID에 의거하여 이르는 최종 지점이 노드이며, 그 최종 노드의 대응 태그가 {1, 1} 이외의 값을 갖고 있는 경우에는, 더 하위의 암호화 키 데이터를 EKB내에 갖는다는 것을 나타내고 있다. 이 경우, 그 ID를 갖는 리프 디바이스는 EKB의 처리에 의해 갱신된 루트 키를 취득할 수 없으므로, 리보크된 디바이스이라고 판정된다.
이와 같이 하여, 인증 처리에서 통신 상대로부터 취득한 공개 키 증명서에 저장된 리프 ID에 의거하여 통신 상대가 리보크되어 있는가의 여부를 판정하는 것이 가능해진다.
도 11로 돌아가서, 인증 처리 시퀀스에 대한 설명을 계속한다. A는 B로부터 수신한 공개 키 증명서로부터 취득한 B의 리프 ID에 의거하여 상술한 바와 같은 EKB의 태그에 의거한 트리를 추적하는 처리를 실행하고, ID가 나타내는 리프 위치가 EKB 처리에 의해 갱신 루트 키를 취득가능한 위치인가를 판정하고, EKB 처리가 가능한 위치인 경우에는, 리보크되지 않은 정통 디바이스라고 판정한다. EKB 처리가 불가능한 리프 위치인 경우에는, 리보크된 부정한 디바이스라고 판정하여, 인증 불성립이라 하여 처리를 중지한다.
ID에 의거한 EKB 처리가 가능한 디바이스라고 판정된 경우에는, B로부터 수신한 난수 Rb에 A의 비밀 키로 서명을 하여 Sig_A(Rb)를 생성하고, 난수 Ra를 생성한다. A는 이들 Sig_A(Rb), Ra에, 자기의 디바이스내에 저장한 EKB와 공개 키 증명서 A.Cert를 B에게 송신한다.
B는 인증국의 공개 키로 A의 공개 키 증명서(A. Cert)를 검증하고, 검증 OK라면, EKB 배신 기관의 공개 키로 수신 EKB의 검증을 행한다. EKB는 상술한 바와 같이, 개찬 방지를 위하여, EKB 배신 기관의 비밀 키로 서명이 이루어지고 있으며,B는 EKB의 공개 키를 사용하여 검증 처리를 행한다. 검증 OK라면, A의 공개 키 증명서(A. Cert)내의 A의 리프 ID를 취득하고, 상술한 도 13, 도 14를 참조한 설명과 동일한 리프 ID에 의거하여 EKB를 추적한다.
추적할 수 없는 경우에는 A는 리보크된 디바이스라고 판정되며, 인증 불성립이라 하여, 그 후의 처리는 중지한다. A는 디바이스에 한하지 않고 컨텐츠 프로바이더, 서비스 프로바이더이어도 되고, 도 13, 도 14에 나타낸 트리 구성의 최하단의 리프가 아닌 도중 노드의 키를 갖는 노드이어도 된다. 예를 들면, 도 13, 도 14에 나타낸 K10의 노드 키 위치에 대응하는 노드인 경우, 그 컨텐츠 프로바이더 또는 서비스 프로바이더의 ID는 [10]이 되고, ID[10]에 의거하여 EKB의 태그를 이용한 EKB를 추적하는 처리를 실행하여 리보크되어 있는가의 여부를 판정한다.
EKB를 추적하는 처리에 의해 추적할 수 있는 경우에는, A로부터 수신한 데이터 Sig_A(Rb)를, A의 공개 키 증명서(A. Cert)내의 공개 키 A. Pub-Key로 검증한다. 검증이 OK라면, Ra에 B.pri-.key(B의 비밀 키)로 서명을 행하여, Sig_B(Ra)를 생성하고, 생성된 Sig_B(Ra)를 A에 송신한다.
Sig_B(Ra)를 수신한 A는 B의 공개 키 증명서(B. Cert)로부터 취득한 B의 공개 키를 사용하여 Sig_B(Ra)를 검증한다. 검증이 OK라면, 검증이 성립했다고 판정한다.
도 15에, EKB를 이용한 리보크 디바이스 판정 처리에 대한 처리 플로우를 나타낸다. 플로우의 각 단계에 대하여 설명한다. 스텝 S101에 있어서, 통신 상대(인증 상대)의 공개 키 증명서로부터 ID를 취득한다. 스텝 S102에 있어서, 취득한ID를 사용한 EKB의 태그에 의거하여, ID가 나타낸 리프 또는 노드를 목표로 하는 추적 처리를 실행한다.
추적 처리는 상술한 도 13, 도 14를 참조하여 설명한 순서로 실행한다. 추적 처리의 결과, ID가 나타내는 리프 또는 노드에 이를 수 있었는지, 이를 수 없는 경우이더라도 ID가 나타낸 리프 또는 노드에 있어서 EKB 처리가 가능한지의 여부, 즉 갱신 루트 키의 취득이 가능한가의 여부를 판정한다(S103).
EKB 처리가 가능한 위치에 있는 ID라고 판정되면, 스텝 S104로 진행하고, ID에 대응하는 디바이스는 리보크되지 않은 정당한 디바이스라고 판정한다. 한편, EKB 처리가 불가능한 위치에 있는 ID라고 판정되면, 스텝 S105로 진행하여, ID에 대응하는 디바이스는 리보크되어 있는 부정한 디바이스라고 판정한다.
다음으로, 유효화 키 블록(EKB)을 사용한 리보크 디바이스(부정한 디바이스)의 판정 처리를 수반하는 컨텐츠 이용 처리예에 대하여 설명한다. 도 16에 나타낸 예는 프로바이더 A가 디바이스(ID=00xx)에 컨텐츠를 암호화하여 배신하는 예이다.
컨텐츠 프로바이더 A는 디바이스[00xx]에 대하여, A의 공개 키 증명서[A. Cert], 컨텐츠 키를 자기의 비밀 키로 서명한 데이터[Sig_A(Kcon)], 유효화 키 블록[EKB], 컨텐츠 키를 갱신 루트 키로 암호화한 데이터[Enc(K(t)root, Kcon)], 또한 컨텐츠를 컨텐츠 키로 암호화한 데이터[Enc(Kcon, Content)]를 송신한다.
이들 데이터를 수신한 디바이스[00xx]는 먼저, 수신한 A의 공개 키 증명서[A. Cert]를 인증국의 공개 키로 검증한다. 검증이 OK라면, A의 공개 키 증명서[A. Cert]로부터 A의 공개 키와 A의 ID를 취득한다.
다음에, 컨텐츠 키를 A의 비밀 키로 서명한 데이터[Sig_A(Kcon)]을 A의 공개 키 증명서[A.Cert]로부터 취득한 A의 공개 키를 사용하여 검증한다. 검증이 OK라면, 공개 키 증명서[A.Cert]로부터 취득한 A의 ID에 의거하여 상술한 EKB 추적 처리를 실행하여, A의 ID가 나타낸 리프 또는 노드 위치에 있어서 EKB 처리가 가능한가의 여부를 판정한다.
EKB의 추적 처리에 의해, A가 리보크된 노드 또는 리프에 해당하지 않는다는 것이 판정되면, 디바이스[00xx]는 수령한 유효화 키 블록으로부터 자신이 보유하는 리프 키, 노드 키를 사용한 복호 처리에 의해, 갱신 루트 키 K(t)root를 취득한다. 다음으로, 갱신 루트 키 K(t)root에 의한 복호에 의해 다시 컨텐츠 Kcon을 취득한다. 또한, 취득한 컨텐츠 Kcon에 의해 컨텐츠의 복호를 행한다. 이들 처리에 의해, 디바이스[00xx]는 컨텐츠를 이용가능하게 된다.
상기의 처리에서는, 컨텐츠 배신자의 공개 키 증명서를 취득한 다음, 공개 키 증명서의 검증을 실행하고, 컨텐츠 배신자의 공개 키와, ID를 취득한 다음, EKB의 처리, 컨텐츠의 복호를 행하기 때문에, 컨텐츠 배신자의 특정이 ID에 의거하여 가능하며, 배포자가 불명료한 컨텐츠가 유통하는 것을 방지하는 것이 가능해진다.
도 16에 나타낸 예는 프로바이더 A가 디바이스(ID=00xx)에 컨텐츠를 암호화하여 배신하는 예이며, 컨텐츠 키에 대한 서명을 프로바이더 A가 실행하고, 디바이스에 있어서, 프로바이더 A의 공개 키에 의한 서명 검증 처리를 행하는 예인데, 이와 같이 다른 프로바이더로부터의 배신 컨텐츠의 디바이스에서의 기록, 재생 처리에서가 아니라, 예를 들면 사용자가 생성한 또는 취득한 컨텐츠를 디바이스의 기록매체에 기록할 때에, 디바이스 자신의 비밀 키를 사용하여 서명을 행하여 기록 매체에 기록하도록 해도 된다. 이와 같이 기록 매체에 대한 저장 컨텐츠의 암호화 키로서의 컨텐츠 키의 서명을 실행하는 구성으로 하면, 컨텐츠 재생시에, 컨텐츠 키의 서명 검증을 디바이스의 공개 키를 사용하여 실행하는 것이 필수가 되며, 부정한 컨텐츠의 저장 재생의 배제가 가능해진다.
암호 키를 루트 키, 노드 키, 리프 키 등, 도 3의 계층 트리 구조로서 구성하여, 컨텐츠 키 등을 유효화 키 블록(EKB)과 함께 암호화하여 배포하는 구성에 대하여 설명하였으나, 노드 키 등을 정의하고 있는 계층 트리 구조를 각 디바이스의 카테고리별로 분류하여 효율적인 키 갱신 처리를 실행하는 구성에 대하여 이하에서 설명한다.
도 17에 계층 트리 구조의 카테고리의 분류의 일례를 나타낸다. 도 17에 있어서, 계층 트리 구조의 최상단에는 루트 키 Kroot(2301)가 설정되며, 이하의 중간단에는 노드 키(2302)가 설정되며, 최하단에는 리프 키(2303)가 설정된다. 각 디바이스는 개개의 리프 키와, 리프 키로부터 루트 키에 이르는 일련의 노드 키, 루트 키를 보유한다.
여기서, 일례로서 최상단에서 제 M단째의 어느 노드를 카테고리 노드(2304)로 설정한다. 즉 제 M단째의 노드 각각을 특정 카테고리의 디바이스 설정 노드로 한다. 제 M단째의 1개의 노드를 정점으로 하여 이하, M+1단 이하의 노드, 리프는 그 카테고리에 포함되는 디바이스에 관한 노드 및 리프로 한다.
예를 들면, 도 17의 제 M단째의 1개의 노드(2305)에는 카테고리[메모리스틱(상표)]가 설정되며, 이 노드 이하에 이어지는 노드, 리프는 메모리 스틱을 사용한 여러가지 디바이스를 포함하는 카테고리 전용의 노드 또는 리프로 설정된다. 즉 노드(2305) 이하를, 메모리 스틱의 카테고리로 정의되는 디바이스의 관련 노드, 및 리프의 집합으로서 정의한다.
또한, M단으로부터 몇단 하위의 단을 서브 카테고리 노드(2306)로 설정할 수 있다. 예를 들면 도면에 나타낸 바와 같이 카테고리[메모리 스틱] 노드(2305)의 2단 아래의 노드에, 메모리 스틱을 사용한 디바이스의 카테고리에 포함되는 서브 카테고리 노드로서, [재생 전용기]의 노드를 설정한다. 또한, 서브 카테고리 노드인 재생 전용기의 노드(2306) 이하에, 재생 전용기의 카테고리에 포함되는 음악 재생 기능부착 전화의 노드(2307)가 설정되며, 그 하위에, 음악 재생 전용 기능부착 전화의 카테고리에 포함되는 [PHS] 노드(2308)와 [휴대전화] 노드(2309)를 설정할 수 있다.
또한, 카테고리, 서브 카테고리는 디바이스의 종류뿐만 아니라, 예를 들면 어떤 메이커, 컨텐츠 프로바이더, 결제 기관 등이 독자적으로 관리하는 노드, 즉 처리 단위, 관할 단위, 또는 제공 서비스 단위 등, 임의의 단위(이들을 총칭하여 이하 엔티티라 함)로 설정하는 것이 가능하다. 예를 들면 1개의 카테고리 노드를 게임 기기 메이커가 판매하는 게임 기기 XYZ 전용의 정점 노드로 설정하면, 메이커가 판매하는 게임 기기 XYZ에 그 정점 노드 이하의 하단의 노드 키, 리프 키를 저장하여 판매하는 것이 가능해지며, 그 후 암호화 컨텐츠의 배신, 또는 각종 키의 배신, 갱신 처리를, 그 정점 노드 키 이하의 노드 키, 리프 키에 의해 구성되는 유효화 키 블록(EKB)을 생성하여 배신하고, 정점 노드 이하의 디바이스에 대해서만 이용가능한 데이터가 배신가능해진다.
이와 같이 1개의 노드를 정점으로 하여, 이하의 노드를 그 정점 노드에 정의된 카테고리, 또는 서브 카테고리의 관련 노드로 설정하는 구성으로 함으로써, 카테고리단, 또는 서브 카테고리단의 1개의 정점 노드를 관리하는 메이커, 컨텐츠 프로바이더 등이 그 노드를 정점으로 하는 유효화 키 블록(EKB)을 독자적으로 생성하여, 정점 노드 이하에 속하는 디바이스에 배포하는 구성이 가능해지며, 정점 노드에 속하지 않는 다른 카테고리의 노드에 속하는 디바이스에는 전혀 영향을 미치지 않고 키 갱신을 실행할 수 있다.
이와 같이 카테고리 단위에서의 EKB에 의한 키 갱신과 함께, 카테고리 단위, 또는 특정 그룹에서의 일괄적인 리보크도 가능하며, 많은 리보크 리프 또는 리보크 노드가 포함되는 경우에는, 상술한 EKB 추적 처리에 의한 리보크 판정이 특히 유효하다. 왜냐하면, 모든 리보크 디바이스의 ID를 모두 기록한 리스트를 각 디바이스에 배포한 경우에는, 리스트의 저장 이용 영역의 문제가 발생함과 아울러, ID의 조회 처리에 걸리는 부하도 무거워지기 때문이다. 상술한 ID에 의거한 EKB 추적 처리는 EKB내의 태그에 의거한 추적 처리이며, 그 처리 부하는 아주 가볍고, 리보크되어 있는지 여부의 판정을 바로 실행가능하게 된다.
상술한 바와 같이 EKB에는 EKB 발행 기관의 서명이 이루어져 있으며, 개찬의 체크가 가능하며, 정당한 EKB이라는 것을 서명 검증에 의해 검증하는 것이 가능하며, 확실한 리보크 판정이 실현된다.
이상, 몇가지 실시예를 참조하면서 본 발명에 대하여 설명하였으나, 본 발명은 그 요지를 벗어나지 않는 범위에서 당업자가 상술한 실시예의 수정이나 응용을 행할 수 있음은 자명하다. 즉 상술한 실시예는 예시적인 형태로 본 발명을 개시하고 있는 것으로, 한정적으로 해석해서는 아니 된다. 본 발명의 요지를 판단하기 위해서는 청구의 범위의 기재를 참작해야 할 것이다.
본 발명에 따른 정보 처리 장치 및 방법은 컨텐츠 키 등의 배신에 적용되는 계층적 키 배신 트리를 이용한 유효화 키 블록(EKB)에 의거하여, 리보크(배제) 엔티티로서의 디바이스나 서비스 프로바이더 등을 판정하는 것을 가능하게 하였으므로, 리보크 엔티티의 ID를 저장한 리보케이션 리스트를 디바이스에 배신하여, 각 디바이스가 리스트를 저장할 필요가 없어진다.
또한, 본 발명에 따른 정보 처리 장치 및 방법은 공개 키 증명서에 계층적 키 배신 트리의 위치 식별가능한 ID를 저장하고, 공개 키 증명서로부터 취득되는 ID에 의거하여 유효화 키 블록(EKB)의 태그를 사용한 추적 처리를 실행하는 구성으로 하였으므로, ID의 신뢰성이 공개 키 증명서에서 보증되며, 확실한 리보크 엔티티(디바이스)의 판정이 가능해진다.
Claims (11)
- 노드 및 리프(leaf) 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되고, 각각이 상기 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치에 있어서,상기 노드 또는 리프에 대응하는 엔티티(entity)가 배제 대상 엔티티로서의 리보크(revoke) 엔티티인지 여부의 검증 처리를, 상기 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한지 여부의 판정에 따라 실행하는 구성을 갖고, 상기 복호 가능성의 판정은 검증 대상 엔티티의 식별자에 의거한, 유효화 키 블록(EKB) 중의 키 배치 식별 태그의 추적 처리에 의해 실행하는 구성을 갖는 것을 특징으로 하는 정보 처리 장치.
- 제1항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 상기 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고,상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로 구성되어 있고,상기 추적 처리는 상기 검증 대상 엔티티의 식별자에 포함되는, 상기 엔티티의 상기 계층 트리 구조에 있어서의 위치 정보에 의거하여, 상기 태그를 추적하는 처리로서 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
- 제1항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고,상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 상기 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있고,상기 정보 처리 장치는 상기 검증 대상 엔티티의 식별자에 의거한 상기 태그의 추적 처리에 의해, 상기 검증 대상 엔티티가 대응하는 노드 위치 또는 리프 위치에 이를 수 있는지 여부의 판정, 및 이를 수 없는 경우에, 갱신되지 않은 노드 키의 하위에 속하는지 여부의 판정에 의해 상기 복호 가능성의 판정을 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
- 제1항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 공개 키 증명서에 저장된 식별자이고,상기 정보 처리 장치는 검증 대상 엔티티의 식별자를 상기 엔티티의 공개 키 증명서로부터 취득하는 구성을 갖는 것을 특징으로 하는 정보 처리 장치.
- 제1항에 있어서, 상기 정보 처리 장치는, 상기 계층 트리 구조를 구성하는노드 또는 리프에 대응하는 엔티티로부터 제공되는 암호화 컨텐츠의 복호에 있어서,상기 엔티티의 공개 키 증명서로부터 상기 엔티티의 식별자를 취득하고, 상기 취득한 식별자에 의거한 상기 유효화 키 블록(EKB)의 태그에 의한 추적 처리를 실행하여 상기 엔티티가 리보크 엔티티인지의 여부를 판정함과 아울러, 상기 유효화 키 블록(EKB)으로부터 취득되는 컨텐츠 암호화 키 Kcon에 의거한 암호화 컨텐츠의 복호 처리를 실행하는 구성을 갖는 것을 특징으로 하는 정보 처리 장치.
- 노드 및 리프 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되며, 각각이 상기 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치에서의 정보 처리 방법에 있어서,상기 노드 또는 리프에 대응하는 엔티티가 배제 대상 엔티티로서의 리보크 엔티티인지 여부의 검증 처리를, 상기 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한지 여부의 판정에 따라 실행하는 구성을 갖고, 상기 복호 가능성의 판정은 검증 대상 엔티티의 식별자에 의거한, 상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그의 추적 처리에 의해 실행하는 것을 특징으로 하는 정보 처리 방법.
- 제6항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 상기 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고,상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있고,상기 추적 처리는 상기 검증 대상 엔티티의 식별자에 포함되는, 상기 엔티티의 상기 계층 트리 구조에 있어서의 위치 정보에 의거하여, 상기 태그를 추적하는 처리로서 실행하는 구성인 것을 특징으로 하는 정보 처리 방법.
- 제6항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 상기 계층 트리 구조에 있어서의 대응하는 노드 또는 리프의 위치 정보를 포함하고,상기 유효화 키 블록(EKB) 중의 키 배치 식별 태그는 유효화 키 블록(EKB) 중의 각각의 암호화 키 데이터의 하위층의 암호화 키 데이터의 유무를 식별하는 태그로서 구성되어 있고,상기 정보 처리 방법은 상기 검증 대상 엔티티의 식별자에 의거한 상기 태그의 추적 처리에 의해, 상기 검증 대상 엔티티가 대응하는 노드 위치 또는 리프 위치에 이를 수 있는지 여부의 판정, 및 이를 수 없는 경우에, 갱신되지 않은 노드 키의 하위에 속하는지 여부의 판정에 의해 복호가능성의 판정을 실행하는 것을 특징으로 하는 정보 처리 방법.
- 제6항에 있어서, 상기 검증 대상 엔티티의 식별자는 상기 엔티티의 공개 키 증명서에 저장된 식별자이고,상기 정보 처리 방법은 검증 대상 엔티티의 식별자를 상기 엔티티의 공개 키 증명서로부터 취득하는 것을 특징으로 하는 정보 처리 방법.
- 제6항에 있어서, 상기 정보 처리 방법은 상기 계층 트리 구조를 구성하는 노드 또는 리프에 대응하는 엔티티로부터 제공되는 암호화 컨텐츠의 복호에 있어서,상기 엔티티의 공개 키 증명서로부터 상기 엔티티의 식별자를 취득하고, 상기 취득한 식별자에 의거한 상기 유효화 키 블록(EKB)의 태그에 의한 추적 처리를 실행하여 상기 엔티티가 리보크 엔티티인지의 여부를 판정함과 아울러, 상기 유효화 키 블록(EKB)으로부터 취득되는 컨텐츠 암호화 키 Kcon에 의거한 암호화 컨텐츠의 복호 처리를 실행하는 것을 특징으로 하는 정보 처리 방법.
- 노드 및 리프의 각각에 고유의 키를 대응시킨 계층 트리 구조의 각각의 리프에 대응되고, 각각이 상기 계층 트리 구조의 자신의 리프에 대응하는 리프 키와, 상위층에 이르는 패스 상의 노드 키로 이루어지는 키 세트를 저장한 정보 처리 장치에 있어서의 정보 처리를 컴퓨터 시스템상에서 실행시키는 컴퓨터 프로그램을 제공하는 프로그램 기억 매체에 있어서,상기 컴퓨터 프로그램은 상기 노드 또는 리프에 대응하는 엔티티가 배제 대상 엔티티로서의 리보크 엔티티인지 여부의 검증 처리 단계를 포함하고,상기 검증 처리 단계는 상기 계층 트리 구조의 갱신 노드 키를 하위 노드 키 또는 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)을, 검증 대상 엔티티의 저장 키 세트에 의해 복호가능한지 여부의 판정에 따라 실행하는 단계를 갖고,상기 복호가능성의 판정 단계는 검증 대상 엔티티의 식별자에 의거한, 유효화 키 블록(EKB) 중의 키 배치 식별 태그의 추적 처리에 의해 실행하는 단계를 포함하는 것을 특징으로 하는 프로그램 기억 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000341431A JP4622087B2 (ja) | 2000-11-09 | 2000-11-09 | 情報処理装置、および情報処理方法、並びにプログラム記憶媒体 |
JPJP-P-2000-00341431 | 2000-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020081246A true KR20020081246A (ko) | 2002-10-26 |
KR100846262B1 KR100846262B1 (ko) | 2008-07-16 |
Family
ID=18816174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027008811A KR100846262B1 (ko) | 2000-11-09 | 2001-11-09 | 정보 처리 장치, 정보 처리 방법 및 프로그램 기억 매체 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7224804B2 (ko) |
EP (1) | EP1235381A4 (ko) |
JP (1) | JP4622087B2 (ko) |
KR (1) | KR100846262B1 (ko) |
CN (1) | CN100413246C (ko) |
AU (1) | AU778592B2 (ko) |
CA (1) | CA2396481A1 (ko) |
HK (1) | HK1056454A1 (ko) |
WO (1) | WO2002039655A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270614B2 (en) | 2006-11-16 | 2012-09-18 | Samsung Electronics Co., Ltd. | Method of updating group key and group key update device using the same |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996718B1 (en) * | 2000-04-21 | 2006-02-07 | At&T Corp. | System and method for providing access to multiple user accounts via a common password |
DE10135888A1 (de) * | 2001-07-24 | 2003-03-13 | Scm Microsystems Gmbh | Verfahren zur lokalen Aufzeichnung digitaler Daten für das digitale Fernsehen |
US7340603B2 (en) * | 2002-01-30 | 2008-03-04 | Sony Corporation | Efficient revocation of receivers |
GB2385955A (en) * | 2002-02-28 | 2003-09-03 | Ibm | Key certification using certificate chains |
US7349538B2 (en) * | 2002-03-21 | 2008-03-25 | Ntt Docomo Inc. | Hierarchical identity-based encryption and signature schemes |
CN101453332A (zh) | 2002-04-15 | 2009-06-10 | 株式会社Ntt都科摩 | 利用双线性映射的签名方案 |
US20050220304A1 (en) * | 2002-06-17 | 2005-10-06 | Koninklijke Philips Electronics N.V. | Method for authentication between devices |
US7174021B2 (en) * | 2002-06-28 | 2007-02-06 | Microsoft Corporation | Systems and methods for providing secure server key operations |
JP2005537711A (ja) * | 2002-08-28 | 2005-12-08 | ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド | 証明書に基づく暗号化および公開鍵構造基盤 |
TW200414737A (en) * | 2002-09-27 | 2004-08-01 | Matsushita Electric Ind Co Ltd | Contents transmission system |
EP1538779B1 (en) * | 2002-10-11 | 2020-02-19 | Panasonic Intellectual Property Corporation of America | Identification information protection method in wlan interconnection |
GB2394805A (en) | 2002-10-31 | 2004-05-05 | Hewlett Packard Co | Determining when to revoke a key in an ancestral hierarchy key distribution system |
GB2394803A (en) | 2002-10-31 | 2004-05-05 | Hewlett Packard Co | Management of security key distribution using an ancestral hierarchy |
KR100453685B1 (ko) * | 2002-11-05 | 2004-10-20 | 한국전자통신연구원 | 루트키 검증과 시알엘 선행 검증을 포함하는 변형된인증경로 검증장치및 방법 |
US7296158B2 (en) * | 2002-11-08 | 2007-11-13 | Palo Alto Research Center Incorporated | Methods, apparatus, and program products for inferring service usage |
AU2003289173A1 (en) * | 2002-12-06 | 2004-06-30 | Sony Corporation | Recording/reproduction device, data processing device, and recording/reproduction system |
US7305711B2 (en) * | 2002-12-10 | 2007-12-04 | Intel Corporation | Public key media key block |
JP2004295373A (ja) * | 2003-03-26 | 2004-10-21 | Sony Corp | 情報記録媒体、情報処理装置、情報記録媒体製造装置、および方法、並びにコンピュータ・プログラム |
GB2404486A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
WO2005013550A1 (ja) * | 2003-08-05 | 2005-02-10 | Matsushita Electric Industrial Co., Ltd. | 著作権保護システム |
US8015301B2 (en) * | 2003-09-30 | 2011-09-06 | Novell, Inc. | Policy and attribute based access to a resource |
US7299493B1 (en) * | 2003-09-30 | 2007-11-20 | Novell, Inc. | Techniques for dynamically establishing and managing authentication and trust relationships |
US7467415B2 (en) * | 2003-09-30 | 2008-12-16 | Novell, Inc. | Distributed dynamic security for document collaboration |
US8719576B2 (en) * | 2003-12-22 | 2014-05-06 | Guardtime IP Holdings, Ltd | Document verification with distributed calendar infrastructure |
WO2005104431A1 (ja) * | 2004-04-21 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | コンテンツ提供システム、情報処理装置及びメモリカード |
JP4081048B2 (ja) * | 2004-06-18 | 2008-04-23 | 株式会社東芝 | コンテンツ保護方法、装置及びプログラム |
WO2006035813A1 (ja) * | 2004-09-30 | 2006-04-06 | Sharp Kabushiki Kaisha | 符号化装置、符号化方法、復号装置、復号方法、プログラムおよび該プログラムを記録した機械読取り可能な記録媒体 |
US20060078790A1 (en) * | 2004-10-05 | 2006-04-13 | Polyplus Battery Company | Solid electrolytes based on lithium hafnium phosphate for active metal anode protection |
JP4592398B2 (ja) * | 2004-11-22 | 2010-12-01 | 株式会社東芝 | 情報記録再生方法及び装置、情報記録媒体 |
JP4634399B2 (ja) * | 2004-12-14 | 2011-02-16 | パナソニック株式会社 | 管理サーバ装置、管理方法及び管理プログラム |
JP4244919B2 (ja) * | 2004-12-14 | 2009-03-25 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに情報処理システム |
KR100636228B1 (ko) | 2005-02-07 | 2006-10-19 | 삼성전자주식회사 | 계층적인 노드 토폴로지를 이용한 키 관리 방법 및 이를이용한 사용자 등록 및 등록해제 방법 |
EP1847066A4 (en) * | 2005-02-07 | 2013-09-18 | Samsung Electronics Co Ltd | KEY MANAGEMENT PROCEDURES USING HIERARCHIC KNOT TOPOPY AND THIS USE METHOD FOR REGISTERING AND DEREGISTERING USERS |
US7813510B2 (en) * | 2005-02-28 | 2010-10-12 | Motorola, Inc | Key management for group communications |
KR100717005B1 (ko) * | 2005-04-06 | 2007-05-10 | 삼성전자주식회사 | 폐기 키를 결정하는 방법 및 장치와 이것을 이용하여복호화하는 방법 및 장치 |
JP4760101B2 (ja) * | 2005-04-07 | 2011-08-31 | ソニー株式会社 | コンテンツ提供システム,コンテンツ再生装置,プログラム,およびコンテンツ再生方法 |
KR100970391B1 (ko) * | 2005-04-19 | 2010-07-15 | 삼성전자주식회사 | 브로드 캐스트 암호화 시스템에서의 태그 형성방법 |
KR100765750B1 (ko) * | 2005-05-09 | 2007-10-15 | 삼성전자주식회사 | 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치 |
CN100418090C (zh) * | 2005-08-31 | 2008-09-10 | 国际商业机器公司 | 一种存储数据的方法 |
US8483616B1 (en) | 2005-11-01 | 2013-07-09 | At&T Intellectual Property Ii, L.P. | Non-interference technique for spatially aware mobile ad hoc networking |
KR100803596B1 (ko) | 2005-11-25 | 2008-02-19 | 삼성전자주식회사 | 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치 |
US8355410B2 (en) | 2007-08-17 | 2013-01-15 | At&T Intellectual Property I, L.P. | Location-based mobile gaming application and method for implementing the same using a scalable tiered geocast protocol |
JP4630826B2 (ja) * | 2006-01-27 | 2011-02-09 | 株式会社東芝 | 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置 |
JP5018315B2 (ja) * | 2006-09-14 | 2012-09-05 | ソニー株式会社 | 無線通信システム、無線通信装置、無線通信装置の認証方法、および、プログラム |
US20080133414A1 (en) * | 2006-12-04 | 2008-06-05 | Samsung Electronics Co., Ltd. | System and method for providing extended domain management when a primary device is unavailable |
US8601555B2 (en) * | 2006-12-04 | 2013-12-03 | Samsung Electronics Co., Ltd. | System and method of providing domain management for content protection and security |
JP4995651B2 (ja) | 2007-06-25 | 2012-08-08 | パナソニック株式会社 | 木構造を持つ鍵管理ソフトウエアにおける、鍵使用の高速化手段、及び装置 |
US9729316B2 (en) * | 2008-02-27 | 2017-08-08 | International Business Machines Corporation | Unified broadcast encryption system |
US8104091B2 (en) * | 2008-03-07 | 2012-01-24 | Samsung Electronics Co., Ltd. | System and method for wireless communication network having proximity control based on authorization token |
US20090313171A1 (en) * | 2008-06-17 | 2009-12-17 | Microsoft Corporation | Electronic transaction verification |
US9544922B2 (en) | 2008-09-16 | 2017-01-10 | At&T Intellectual Property I, L.P. | Quality of service scheme for collision-based wireless networks |
KR101252549B1 (ko) * | 2008-11-21 | 2013-04-08 | 한국전자통신연구원 | 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치 |
US8578157B2 (en) * | 2009-05-29 | 2013-11-05 | Adobe Systems Incorporated | System and method for digital rights management with authorized device groups |
KR101723001B1 (ko) * | 2009-06-26 | 2017-04-04 | 트러스티드 로직 | 데이터 검증 방법 |
US9118428B2 (en) | 2009-11-04 | 2015-08-25 | At&T Intellectual Property I, L.P. | Geographic advertising using a scalable wireless geocast protocol |
US8484451B2 (en) * | 2010-03-11 | 2013-07-09 | St-Ericsson Sa | Method and apparatus for software boot revocation |
US10016684B2 (en) * | 2010-10-28 | 2018-07-10 | At&T Intellectual Property I, L.P. | Secure geographic based gaming |
US9161158B2 (en) | 2011-06-27 | 2015-10-13 | At&T Intellectual Property I, L.P. | Information acquisition using a scalable wireless geocast protocol |
US9319842B2 (en) | 2011-06-27 | 2016-04-19 | At&T Intellectual Property I, L.P. | Mobile device configured point and shoot type weapon |
US9495870B2 (en) | 2011-10-20 | 2016-11-15 | At&T Intellectual Property I, L.P. | Vehicular communications using a scalable ad hoc geographic routing protocol |
US8744419B2 (en) | 2011-12-15 | 2014-06-03 | At&T Intellectual Property, I, L.P. | Media distribution via a scalable ad hoc geographic protocol |
KR101301609B1 (ko) * | 2012-05-31 | 2013-08-29 | 서울대학교산학협력단 | 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US9071451B2 (en) | 2012-07-31 | 2015-06-30 | At&T Intellectual Property I, L.P. | Geocast-based situation awareness |
US9210589B2 (en) | 2012-10-09 | 2015-12-08 | At&T Intellectual Property I, L.P. | Geocast protocol for wireless sensor network |
US9660745B2 (en) | 2012-12-12 | 2017-05-23 | At&T Intellectual Property I, L.P. | Geocast-based file transfer |
US10592106B2 (en) | 2013-03-20 | 2020-03-17 | Amazon Technologies, Inc. | Replication target service |
US9425967B2 (en) | 2013-03-20 | 2016-08-23 | Industrial Technology Research Institute | Method for certificate generation and revocation with privacy preservation |
KR102306676B1 (ko) | 2014-06-27 | 2021-09-28 | 삼성전자주식회사 | 스토리지 디바이스용 호스트 키 생성 방법 및 시스템 |
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 |
US10467384B2 (en) | 2016-05-18 | 2019-11-05 | International Business Machines Corporation | Subset-difference broadcast encryption with blacklisting |
US11005828B1 (en) * | 2018-11-19 | 2021-05-11 | Bae Systems Information And Electronic Systems Integration Inc. | Securing data at rest |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69634117T2 (de) * | 1995-10-19 | 2005-06-23 | Casio Computer Co., Ltd. | Senden und empfangen verschlüsselter information |
US5903651A (en) * | 1996-05-14 | 1999-05-11 | Valicert, Inc. | Apparatus and method for demonstrating and confirming the status of a digital certificates and other data |
JPH1040255A (ja) * | 1996-07-29 | 1998-02-13 | Nec Software Ltd | ハッシュ表管理装置 |
US5949877A (en) * | 1997-01-30 | 1999-09-07 | Intel Corporation | Content protection for transmission systems |
US6397329B1 (en) * | 1997-11-21 | 2002-05-28 | Telcordia Technologies, Inc. | Method for efficiently revoking digital identities |
JPH11187013A (ja) * | 1997-12-24 | 1999-07-09 | Ibm Japan Ltd | 暗号鍵配信システム |
JP4496440B2 (ja) * | 1998-01-12 | 2010-07-07 | ソニー株式会社 | 暗号化コンテンツ送信装置 |
US6049878A (en) * | 1998-01-20 | 2000-04-11 | Sun Microsystems, Inc. | Efficient, secure multicasting with global knowledge |
US6118873A (en) * | 1998-04-24 | 2000-09-12 | International Business Machines Corporation | System for encrypting broadcast programs in the presence of compromised receiver devices |
-
2000
- 2000-11-09 JP JP2000341431A patent/JP4622087B2/ja not_active Expired - Fee Related
-
2001
- 2001-11-09 KR KR1020027008811A patent/KR100846262B1/ko not_active IP Right Cessation
- 2001-11-09 US US10/169,653 patent/US7224804B2/en not_active Expired - Fee Related
- 2001-11-09 AU AU14270/02A patent/AU778592B2/en not_active Ceased
- 2001-11-09 EP EP01982750A patent/EP1235381A4/en not_active Withdrawn
- 2001-11-09 CN CNB018060757A patent/CN100413246C/zh not_active Expired - Fee Related
- 2001-11-09 CA CA002396481A patent/CA2396481A1/en not_active Abandoned
- 2001-11-09 WO PCT/JP2001/009841 patent/WO2002039655A1/ja active IP Right Grant
-
2003
- 2003-09-25 HK HK03106924.5A patent/HK1056454A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270614B2 (en) | 2006-11-16 | 2012-09-18 | Samsung Electronics Co., Ltd. | Method of updating group key and group key update device using the same |
Also Published As
Publication number | Publication date |
---|---|
AU1427002A (en) | 2002-05-21 |
CN100413246C (zh) | 2008-08-20 |
US7224804B2 (en) | 2007-05-29 |
WO2002039655A1 (fr) | 2002-05-16 |
AU778592B2 (en) | 2004-12-09 |
EP1235381A4 (en) | 2005-08-10 |
JP4622087B2 (ja) | 2011-02-02 |
US20030105956A1 (en) | 2003-06-05 |
CN1411642A (zh) | 2003-04-16 |
EP1235381A1 (en) | 2002-08-28 |
HK1056454A1 (en) | 2004-02-13 |
JP2002152187A (ja) | 2002-05-24 |
KR100846262B1 (ko) | 2008-07-16 |
CA2396481A1 (en) | 2002-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100846262B1 (ko) | 정보 처리 장치, 정보 처리 방법 및 프로그램 기억 매체 | |
KR100746880B1 (ko) | 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체 | |
KR100840823B1 (ko) | 암호 키 블록을 이용한 정보 처리 시스템 및 방법 | |
EP1249962B1 (en) | Information processing system and method | |
EP1710947B1 (en) | Hierarchical data content tree distribution information system and method | |
US6911974B2 (en) | Information processing system and method | |
JP4281252B2 (ja) | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体 | |
JP4023083B2 (ja) | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体 | |
JP2001358707A (ja) | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 | |
JP4120135B2 (ja) | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 | |
JP4806847B2 (ja) | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体 | |
WO2004100154A1 (ja) | データ処理方法、そのプログラム、その装置および記録媒体 | |
JP3988385B2 (ja) | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |