KR20020026285A - 정보 처리 시스템 및 방법 - Google Patents

정보 처리 시스템 및 방법 Download PDF

Info

Publication number
KR20020026285A
KR20020026285A KR1020017015695A KR20017015695A KR20020026285A KR 20020026285 A KR20020026285 A KR 20020026285A KR 1020017015695 A KR1020017015695 A KR 1020017015695A KR 20017015695 A KR20017015695 A KR 20017015695A KR 20020026285 A KR20020026285 A KR 20020026285A
Authority
KR
South Korea
Prior art keywords
key
node
data
ekb
leaf
Prior art date
Application number
KR1020017015695A
Other languages
English (en)
Other versions
KR100777906B1 (ko
Inventor
류지 이시구로
요시또모 오사와
다떼오 오이시
도모유끼 아사노
아쯔시 미쯔자와
Original Assignee
이데이 노부유끼
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 이데이 노부유끼
Publication of KR20020026285A publication Critical patent/KR20020026285A/ko
Application granted granted Critical
Publication of KR100777906B1 publication Critical patent/KR100777906B1/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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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/0833Key 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/0836Key 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
    • 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
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2109Game systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Multi-Process Working Machines And Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Facsimile Transmission Control (AREA)
  • Hardware Redundancy (AREA)
  • General Factory Administration (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)

Abstract

트리 구조의 키 배포 구성에 이용하는 유효화 키 블록(EKB)을, 복호 가능한 말단 노드 또는 리프를 최하단으로 하여 간략화한 2분기 또는 다분기형 트리를 재구축하여, 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 생성한다. 또한, EKB에 저장된 암호화 키의 트리 위치의 식별 데이터로서의 태그를 저장한다. 태그는 위치 식별뿐만 아니라, EKB 내의 암호화 키 데이터의 유무를 판별하는 데이터를 저장한 구성으로 하였다. EKB의 대폭적인 데이터량 삭감이 실현됨과 함께, 디바이스에서의 복호 처리도 간이화된다. 즉, 트리 구조의 암호화 키 구성에 이용하는 유효화 키 블록(EKB)의 데이터량의 삭감을 가능하게 한 정보 처리 시스템 및 방법을 실현한다.

Description

정보 처리 시스템 및 방법{INFORMATION PROCESSING SYSTEM AND METHOD}
최근, 게임 프로그램, 음성 데이터, 화상 데이터 등, 다양한 소프트웨어 데이터(이하, 이들을 콘텐츠(Content)라 함)를, 인터넷 등의 네트워크, 혹은 DVD, CD 등의 유통 가능한 기억 매체를 통한 유통이 활발히 이루어지고 있다. 이들 유통 콘텐츠는 사용자가 소유하는 PC(Personal Computer), 게임 기기에 의해 데이터 수신, 혹은 기억 매체의 장착이 이루어져 재생되거나, 혹은 PC 등에 부속하는 기록 재생 기기 내의 기록 디바이스, 예를 들면 메모리 카드, 하드디스크 등에 저장되어 저장 매체로부터의 새로운 재생에 의해 이용된다.
비디오 게임 기기, PC 등의 정보 기기에는, 유통 콘텐츠를 네트워크로부터 수신하기 위해, 혹은 DVD, CD 등에 액세스하기 위한 인터페이스를 구비하고, 콘텐츠의 재생에 필요해지는 제어 수단, 프로그램, 데이터의 메모리 영역으로서 사용되는 RAM, ROM 등을 더 구비한다.
음악 데이터, 화상 데이터, 혹은 프로그램 등의 다양한 콘텐츠는 재생 기기로서 이용되는 게임 기기, PC 등의 정보 기기 본체로부터의 사용자 지시, 혹은 접속된 입력 수단을 통한 사용자의 지시에 의해 기억 매체로부터 호출되고, 정보 기기 본체, 혹은 접속된 디스플레이, 스피커 등을 통해 재생된다.
게임 프로그램, 음악 데이터, 화상 데이터 등, 많은 소프트웨어 콘텐츠는 일반적으로 그 작성자, 판매자에게 반포권 등이 보유되어 있다. 따라서, 이들 콘텐츠의 배포에 있어서는, 일정한 이용 제한, 즉, 정규의 사용자에 대해서만, 소프트웨어의 사용을 허락하고, 허가가 없는 복제 등이 행해지지 않도록 하는, 즉 보안성을 고려한 구성을 취하는 것이 일반적으로 되어 있다.
사용자에 대한 이용 제한을 실현하는 하나의 수법이 배포 콘텐츠의 암호화 처리이다. 즉, 예를 들면 인터넷 등을 통해 암호화된 음성 데이터, 화상 데이터, 게임 프로그램 등의 각종 콘텐츠를 배포함과 함께 정규 사용자라고 확인된 자에 대해서만, 배포된 암호화 콘텐츠를 복호하는 수단, 즉 복호 키를 부여하는 구성이다.
암호화 데이터는 소정의 수속에 의한 복호화 처리에 의해 이용 가능한 복호 데이터(평문(平文))로 복원할 수 있다. 이러한 정보의 암호화 처리에 암호화 키를 이용하고, 복호화 처리에 복호화 키를 이용하는 데이터 암호화, 복호화 방법은 종래부터 잘 알려져 있다.
암호화 키와 복호화 키를 이용하는 데이터 암호화/복호화 방법의 형태에는 여러 종류가 있지만, 그 하나의 예로서 소위 공통 키 암호화 방식이라 불리고 있는 방식이 있다. 공통 키 암호화 방식은 데이터의 암호화 처리에 이용하는 암호화 키와 데이터의 복호화에 이용하는 복호화 키를 공통의 것으로 하여, 정규의 사용자에게 이들 암호화 처리, 복호화에 이용하는 공통 키를 부여하여, 키를 갖고 있지 않은 부정 사용자에 의한 데이터 액세스를 배제하는 것이다. 이 방식의 대표적인 방식으로 DES(데이터 암호 표준: Data encryption standard)가 있다.
상술한 암호화 처리, 복호화에 이용되는 암호화 키, 복호화 키는, 예를 들면 임의의 패스워드 등에 기초하여 해시 함수 등의 일방향성 함수를 적용하여 얻을 수 있다. 일방향성 함수란, 그 출력으로부터 반대로 입력을 구하는 것은 매우 곤란해지는 함수이다. 예를 들면 사용자가 결정한 패스워드를 입력으로 하여 일방향성 함수를 적용하여, 그 출력에 기초하여 암호화 키, 복호화 키를 생성하는 것이다. 이와 같이 하여 얻어진 암호화 키, 복호화 키로부터, 반대로 그 오리지널 데이터인 패스워드를 구하는 것은 실질적으로 불가능해진다.
또한, 암호화할 때 사용하는 암호화 키에 의한 처리와, 복호할 때 사용하는 복호화 키의 처리를 다른 알고리즘으로 한 방식이 소위 공개 키 암호화 방식이라 불리는 방식이다. 공개 키 암호화 방식은 불특정한 사용자가 사용 가능한 공개 키를 사용하는 방법이며, 특정 개인에 대한 암호화 문서를, 그 특정 개인이 발행한 공개 키를 이용하여 암호화 처리를 행한다. 공개 키에 의해 암호화된 문서는, 그암호화 처리에 사용된 공개 키에 대응하는 비밀 키에 의해서만 복호 처리가 가능해진다. 비밀 키는 공개 키를 발행한 개인만이 소유하기 때문에, 그 공개 키에 의해 암호화된 문서는 비밀 키를 갖는 개인만이 복호할 수 있다. 공개 키 암호화 방식의 대표적인 것으로는 RSA(Rivest-Shamir-Adleman) 암호가 있다. 이러한 암호화 방식을 이용함으로써, 암호화 콘텐츠를 정규 사용자에 대해서만 복호 가능하게 하는 시스템이 가능해진다.
상기한 바와 같은 콘텐츠 배신 시스템에서는, 콘텐츠를 암호화하여 사용자에게 네트워크, 혹은 DVD, CD 등의 기록 매체에 저장하여 제공하고, 암호화 콘텐츠를 복호하는 콘텐츠 키를 정당한 사용자에게만 제공하는 구성이 많이 채용되어 있다. 콘텐츠 키 자체의 부정한 복사 등을 방지하기 위한 콘텐츠 키를 암호화하여 정당한 사용자에게 제공하고, 정당한 사용자만이 갖는 복호 키를 이용하여 암호화 콘텐츠 키를 복호하여 콘텐츠 키를 사용 가능하게 하는 구성이 제안되어 있다.
정당한 사용자인지에 관한 여부의 판정은, 일반적으로는, 예를 들면 콘텐츠의 송신자인 콘텐츠 프로바이더와 사용자 디바이스 사이에서, 콘텐츠, 혹은 콘텐츠 키의 배신 전에 인증 처리를 실행함으로써 행한다. 일반적인 인증 처리에서는, 상대의 확인을 행함과 함께, 그 통신에서만 유효한 세션 키를 생성하여, 인증이 성립된 경우에, 생성된 세션 키를 이용하여 데이터, 예를 들면 콘텐츠 혹은 콘텐츠 키를 암호화하여 통신을 행한다. 인증 방식으로는, 공통 키 암호 방식을 이용한 상호 인증과, 공개 키 방식을 사용한 인증 방식이 있지만, 공통 키를 사용한 인증에서는 시스템 와이드로 공통의 키가 필요하게 되어, 갱신 처리 시 등에 있어서 불편하다. 또한, 공개 키 방식에서는 계산 부하가 크고 또한 필요한 메모리량도 커져서, 각 디바이스에 이와 같은 처리 수단을 설치하는 것은 바람직한 구성이라고는 말할 수 없다.
〈발명의 개시〉
본 발명에서는, 상술한 바와 같은 데이터의 송신자, 수신자 사이의 상호 인증 처리에 의하지 않고, 정당한 사용자에 대해서만, 안전하게 데이터를 송신하는 것을 가능하게 함과 함께 계층적 키 배신 트리를 배신 디바이스에 따라 재구축하여 배신 키 블록에 포함되는 데이터량을 삭감함으로써, 암호화 키의 데이터량을 삭감하고, 데이터 송신의 부하를 경감함과 함께 각 디바이스에서의 암호화 키 취득을 위한 처리의 경감을 가능하게 한 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와 프로그램 제공 매체를 제공하는 것을 목적으로 한다.
본 발명에 따른 정보 처리 시스템은, 1 이상의 선택된 디바이스에서만 이용 가능한 암호화 메시지 데이터를 배신하는 정보 처리 시스템이다. 개개의 디바이스는 복수의 상이한 디바이스를 리프로 한 계층 트리 구조에서의 각 노드에 고유의 노드 키와 각 디바이스 고유의 리프 키의 상이한 키 세트를 각각 보유함과 함께, 디바이스에 대하여 배신되는 암호화 메시지 데이터에 대한 복호 처리를 키 세트를 사용하여 실행하는 암호 처리 수단을 포함한다. 디바이스에 제공되는 암호화 메시지 데이터는 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키와, 갱신 노드 키를 그룹의 노드 키 혹은 리프 키에 의해암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)의 복호 처리에 의해 얻어지는 갱신 노드 키에 의해 암호화된 데이터 구성이다. 유효화 키 블록(EKB)은 암호화 키 데이터에 의해 구성되는 데이터부와, 데이터부에 저장되는 암호화 키 데이터의 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 구성이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화한 데이터이다. 태그부에 저장되는 위치 식별 데이터는, 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치인 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그로서 구성되어 있다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되어 있다. 태그부에 저장되는 위치 식별 데이터는 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 유효화 키 블록(EKB)을 복호할 수 있는말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되어 있다. 태그부에 저장되는 위치 식별 데이터는 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치인 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그와, 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함한다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 재구축 계층 트리는 공통 요소를 갖는 디바이스의 부분 집합 트리로서 정의되는 엔티티의 정점 노드인 서브 루트를 선택하여 구성되는 트리이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 다분기형 트리에서, 말단 노드 또는 리프와, 다분기형 트리의 정점을 직접 접속하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 정점 노드 및 말단 노드 또는 리프에 대응하는 키에만 기초하여 구성되어 있다. 태그부에 저장되는 위치 식별 데이터는, 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 재구축 계층 트리는 간략화한 다분기형 트리를 구성하는 정점 노드와, 간략화한 트리를 구성하는 말단 노드 또는 리프를 직접 접속한 3 이상의 분기를 갖는 트리이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 디바이스에서의 암호 처리 수단은 유효화 키 블록(EKB)의 태그부의 데이터에 의해, 암호화 키 데이터를 순차적으로 추출하여, 복호 처리를 실행하고, 갱신 노드 키를 취득하여, 취득된 갱신 노드 키에 의해 암호화 메시지 데이터의 복호를 실행하는 구성이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 메시지 데이터는 콘텐츠 데이터를 복호하기 위한 복호 키로서 사용 가능한 콘텐츠 키이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 메시지 데이터는 인증 처리 시에 이용되는 인증 키이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 메시지 데이터는 콘텐츠의 인터그리티 체크값(ICV) 생성 키이다.
또한, 본 발명의 정보 처리 시스템의 일 실시 형태에서, 메시지 데이터는 프로그램 코드이다.
본 발명에 따른 정보 처리 방법은, 1 이상의 선택된 디바이스에 있어서만 이용 가능한 암호화 메시지 데이터를 배신하는 정보 처리 방법이다. 이 정보 처리 방법은, 복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하여, 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키와, 갱신 노드 키를 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 데이터부와, 데이터부에 저장되는 암호화 키 데이터의 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 유효화 키 블록(EKB)을 생성하는 유효화 키블록(EKB) 생성 단계와, 갱신 노드 키에 의해 암호화한 메시지 데이터를 생성하고 디바이스에 대하여 배신하는 메시지 데이터 배신 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 계층 트리 구조에서의 각 노드에 고유의 노드 키와 각 디바이스 고유의 리프 키의 상이한 키 세트를 각각 보유하는 디바이스에서, 암호화 메시지 데이터에 대한 복호 처리를 키 세트를 사용하여 실행하는 복호 처리 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 유효화 키 블록(EKB) 생성 단계는 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화하여 암호화 키 데이터를 생성하는 단계와, 유효화 키 블록(EKB)에 저장되는 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 위치의 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그를 생성하여 태그부에 저장하는 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 유효화 키 블록(EKB) 생성 단계는 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축 계층 트리를 생성하는 단계와, 재구축 계층 트리의 구성 노드 또는 리프에 대응하는 키에만 기초하여 유효화 키 블록(EKB)을 생성하는 단계와, 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 태그부에 저장하는 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 재구축 계층 트리를생성하는 단계는 공통 요소를 갖는 디바이스의 부분 집합 트리로서 정의되는 엔티티의 정점 노드인 서브 루트를 선택하여 실행되는 트리 생성 처리이다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 유효화 키 블록(EKB) 생성 단계는 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 다분기형 트리에서, 말단 노드 또는 리프와, 다분기형 트리의 정점을 직접 접속하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리를 생성하는 단계와, 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 태그부에 저장하는 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 재구축 계층 트리의 생성 단계에서 생성하는 재구축 계층 트리는 간략화한 다분기형 트리를 구성하는 정점 노드와, 간략화한 트리를 구성하는 말단 노드 또는 리프를 직접 접속한 3 이상의 분기를 갖는 트리로서 생성한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 복호 처리 단계는 유효화 키 블록(EKB)의 태그부에 저장된 위치 식별 데이터에 기초하여 데이터부에 저장된 암호화 키 데이터를 순차적으로 추출하여 순차 복호 처리를 실행함으로써 갱신 노드 키를 취득하는 갱신 노드 키 취득 단계와, 갱신 노드 키에 의해 암호화 메시지 데이터의 복호를 실행하는 메시지 데이터 복호 단계를 포함한다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 메시지 데이터는 콘텐츠 데이터를 복호하기 위한 복호 키로서 사용 가능한 콘텐츠 키이다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 메시지 데이터는 인증처리에 이용되는 인증 키이다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 메시지 데이터는 콘텐츠의 인터그리티 체크값(ICV) 생성 키이다.
또한, 본 발명의 정보 처리 방법의 일 실시 형태에서, 메시지 데이터는 프로그램 코드이다.
또한, 본 발명에 따른 정보 기록 매체는, 데이터를 저장한 정보 기록 매체이다. 이 정보 기록 매체는 복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키와, 갱신 노드 키를 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터에 의해 구성되는 데이터부와, 데이터부에 저장되는 암호화 키 데이터의 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 유효화 키 블록(EKB)과, 갱신 노드 키에 의해 암호화한 메시지 데이터를 저장하고 있다.
또한, 본 발명의 정보 기록 매체의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화한 데이터이다. 태그부에 저장되는 위치 식별 데이터는 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 위치의 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그로서 구성되어 있다.
또한, 본 발명의 정보 기록 매체의 일 실시 형태에서, 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터는 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되어 있다. 태그부에 저장되는 위치 식별 데이터는 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성이다.
본 발명에 따른 프로그램 제공 매체는, 복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키와, 갱신 노드 키를 그룹의 노드 키 혹은 리프 키에 의해 암호화한 유효화 키 블록(EKB)의 생성 처리를 컴퓨터 시스템 상에서 실행시키는 컴퓨터 프로그램을 제공하는 프로그램 제공 매체이다. 컴퓨터 프로그램은 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축 계층 트리를 생성하는 단계와, 재구축 계층 트리의 구성 노드 또는 리프에 대응하는 키에만 기초하여 유효화 키 블록(EKB)을 생성하는 단계와, 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 태그부에 저장하는 단계를 포함한다.
본 발명에서는, 트리(나무) 구조의 계층적 구조의 암호화 키 배신 구성을 이용함으로써, 키 갱신에 필요한 배신 메시지량을 적게 억제하고 있다. 즉, 각 기기를 n분개의 각 리프(잎)에 배치한 구성의 키 배신 방법을 이용하여, 기록 매체 혹은 통신 회선을 통해, 예를 들면 콘텐츠 데이터의 암호 키인 콘텐츠 키 혹은 인증 처리에 이용하는 인증 키, 혹은 프로그램 코드 등을 유효화 키 블록과 함께 배신하는 구성으로 하고 있다.
또한, 유효화 키 블록을 암호화 키 데이터부와, 암호화 키의 위치를 나타내는 태그부에 의해 구성하고, 데이터량을 적게 하여, 디바이스에서의 복호 처리를 준비하고, 신속하게 실행하는 것을 가능하게 하고 있다. 본 구성에 의해, 정당한 디바이스만이 복호 가능한 데이터를 안전하게 배신하는 것이 가능해진다.
또, 본 발명에 따른 프로그램 제공 매체는, 예를 들면, 다양한 프로그램 코드를 실행 가능한 범용 컴퓨터 시스템에 대하여, 컴퓨터 프로그램을 컴퓨터 판독 가능한 형식으로 제공하는 매체이다. 매체는 CD나 FD, MO 등의 기록 매체, 혹은, 네트워크 등의 전송 매체 등으로서 그 형태는 특별히 한정되지 않는다.
이러한 프로그램 제공 매체는, 컴퓨터 시스템 상에서 소정의 컴퓨터 프로그램의 기능을 실현하기 위한, 컴퓨터 프로그램과 제공 매체와의 구조 상 또는 기능 상의 협동적 관계를 정의한 것이다. 다시 말하면, 제공 매체를 통해 컴퓨터 프로그램을 컴퓨터 시스템에 인스톨함으로써, 컴퓨터 시스템 상에서는 협동적 작용이 발휘되어, 본 발명의 다른 측면과 마찬가지의 작용 효과를 얻을 수 있는 것이다.
본 발명의 또 다른 목적, 특징이나 이점은, 후술하는 본 발명의 실시예나 첨부하는 도면에 기초한 보다 상세한 설명에 의해 명백하게 될 것이다.
본 발명은 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와 프로그램 제공 매체에 관한 것으로, 특히, 암호 처리를 수반하는 시스템에서의 암호 처리 키를 배신(配信)하는 시스템 및 방법에 관한 것이다. 특히, 트리 구조의 계층적 키 배신 방식을 이용하고, 또한, 계층적 키 배신 트리를 배신 디바이스에 따라 재구축하여 배신 키 블록에 포함되는 데이터량을 삭감함으로써, 배신 메시지량을 작게 억제하여, 콘텐츠 키 배신, 혹은 각종 키의 갱신 시의 데이터 배신의 부하를 경감시키고, 또한 데이터의 안전성을 유지하는 것을 가능하게 하는 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와 프로그램 제공 매체에 관한 것이다.
도 1은 본 발명의 정보 처리 시스템의 구성예를 설명하는 도면.
도 2는 본 발명의 정보 처리 시스템에서 적용 가능한 기록 재생 장치의 구성예를 나타내는 블록도.
도 3은 본 발명의 정보 처리 시스템에서의 각종 키, 데이터의 암호화 처리에 대하여 설명하는 트리 구성도.
도 4의 (a) 및 도 4의 (b)는 본 발명의 정보 처리 시스템에서의 각종 키, 데이터의 배포에 사용되는 유효화 키 블록(EKB)의 예를 나타내는 도면.
도 5는 본 발명의 정보 처리 시스템에서의 콘텐츠 키의 유효화 키 블록(EKB)을 사용한 배포예와 복호 처리예를 나타내는 도면.
도 6은 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)의 포맷예를 나타내는 도면.
도 7의 (a) 내지 도 7의 (c)는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)의 태그의 구성을 설명하는 도면.
도 8의 (a) 및 도 8의 (b)는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, 콘텐츠 키, 콘텐츠를 함께 배신하는 데이터 구성예를 나타내는 도면.
도 9는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, 콘텐츠 키, 콘텐츠를 함께 배신한 경우의 디바이스에서의 처리예를 나타내는 도면.
도 10은 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB) 과 콘텐츠를 기록 매체에 저장한 경우의 대응에 대하여 설명하는 도면.
도 11의 (a) 및 도 11의 (b)는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, 콘텐츠 키를 송부하는 처리를 종래의 송부 처리와 비교한 도면.
도 12는 본 발명의 정보 처리 시스템에서 적용 가능한 공통 키 암호 방식에 의한 인증 처리 시퀀스를 나타내는 도면.
도 13은 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, 인증 키를 함께 배신하는 데이터 구성과, 디바이스에서의 처리예를 나타내는 도면(예 1).
도 14는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, 인증 키를 함께 배신하는 데이터 구성과, 디바이스에서의 처리예를 나타내는 도면(예 2).
도 15는 본 발명의 정보 처리 시스템에서 적용 가능한 공개 키 암호 방식에 의한 인증 처리 시퀀스를 나타내는 도면.
도 16은 본 발명의 정보 처리 시스템에서 공개 키 암호 방식에 의한 인증 처리를 이용하여 유효화 키 블록(EKB)과, 콘텐츠 키를 함께 배신하는 처리를 나타내는 도면.
도 17은 본 발명의 정보 처리 시스템에 있어서 유효화 키 블록(EKB)과, 암호화 프로그램 데이터를 함께 배신하는 처리를 나타내는 도면.
도 18은 본 발명의 정보 처리 시스템에 있어서 적용 가능한 콘텐츠 인터그리티 체크값(ICV)의 생성에 사용하는 MAC 값 생성예를 나타내는 도면.
도 19는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, ICV 생성 키를 함께 배신하는 데이터 구성과, 디바이스에서의 처리예를 나타내는 도면(예 1).
도 20은 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)과, ICV 생성 키를 함께 배신하는 데이터 구성과, 디바이스에서의 처리예를 나타내는 도면(예2).
도 21의 (a) 및 도 21의 (b)는 본 발명의 정보 처리 시스템에서 적용 가능한 콘텐츠 인터그리티 체크값(ICV)을 미디어에 저장한 경우의 복사 방지 기능을 설명하는 도면.
도 22는 본 발명의 정보 처리 시스템에서 적용 가능한 콘텐츠 인터그리티 체크값(ICV)을 콘텐츠 저장 매체와 별도로 관리하는 구성을 설명하는 도면.
도 23은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 카테고리 분류의 예를 설명하는 도면.
도 24의 (a) 및 도 24의 (b)는 본 발명의 정보 처리 시스템에서의 간략화 유효화 키 블록(EKB)의 생성 과정을 설명하는 도면.
도 25의 (a) 및 도 25의 (b)는 본 발명의 정보 처리 시스템에서의 유효화 키 블록(EKB)의 생성 과정을 설명하는 도면.
도 26의 (a) 및 도 26의 (b)는 본 발명의 정보 처리 시스템에서의 간략화 유효화 키 블록(EKB)(예 1)을 설명하는 도면.
도 27의 (a) 및 도 27의 (b)는 본 발명의 정보 처리 시스템에서의 간략화 유효화 키 블록(EKB)(예 2)을 설명하는 도면.
도 28의 (a) 내지 도 28의 (c)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에 대하여 설명하는 도면.
도 29의 (a) 내지 도 29의 (c)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성의 상세에 대하여 설명하는 도면.
도 30의 (a) 및 도 30의 (b)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에 대하여 설명하는 도면.
도 31은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 예비 노드에 대하여 설명하는 도면.
도 32는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 신규 엔티티 등록 처리 시퀀스에 대하여 설명하는 도면.
도 33은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 신규 엔티티와 상위 엔티티의 관계에 대하여 설명하는 도면.
도 34의 (a) 및 도 34의 (b)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서 이용하는 서브 EKB에 대하여 설명하는 도면.
도 35의 (a) 내지 도 35의 (d)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 디바이스 리보크 처리에 대하여 설명하는 도면.
도 36은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 디바이스 리보크 처리 시퀀스에 대하여 설명하는 도면.
도 37의 (a) 및 도 37의 (b)는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 디바이스 리보크 시의 갱신 서브 EKB에 대하여 설명하는 도면.
도 38A 내지 도 38D는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 엔티티 리보크 처리에 대하여 설명하는 도면.
도 39는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리구성에서의 엔티티 리보크 처리 시퀀스에 대하여 설명하는 도면.
도 40은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 리보크 엔티티와 상위 엔티티의 관계에 대하여 설명하는 도면.
도 41은 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 캐퍼빌리티 설정에 대하여 설명하는 도면.
도 42는 본 발명의 정보 처리 시스템에서의 계층 트리 구조의 엔티티 관리 구성에서의 캐퍼빌리티 설정에 대하여 설명하는 도면.
도 43의 (a) 및 도 43의 (b)는 본 발명의 정보 처리 시스템에서의 키 발행 센터(KDC)가 관리하는 캐퍼빌리티 관리 테이블 구성을 설명하는 도면.
도 44는 본 발명의 정보 처리 시스템에서의 키 발행 센터(KDC)가 관리하는 캐퍼빌리티 관리 테이블에 기초하는 EKB 생성 처리 흐름도.
도 45는 본 발명의 정보 처리 시스템에서의 신규 엔티티 등록 시의 캐퍼빌리티 통지 처리를 설명하는 도면.
〈발명을 실시하기 위한 최량의 형태〉
[시스템 개요]
도 1에 본 발명의 데이터 처리 시스템이 적용 가능한 콘텐츠 배신 시스템예를 나타낸다. 콘텐츠의 배신측(10)은 콘텐츠 수신측(20)이 갖는 다양한 콘텐츠 재생 가능한 기기에 대하여 콘텐츠, 혹은 콘텐츠 키를 암호화하여 송신한다. 수신측(20)에서의 기기에서는 수신된 암호화 콘텐츠, 혹은 암호화 콘텐츠 키 등을 복호하여 콘텐츠 혹은 콘텐츠 키를 취득하고, 화상 데이터, 음성 데이터의 재생,혹은 각종 프로그램의 실행 등을 행한다. 콘텐츠의 배신측(10)과 콘텐츠 수신측(20) 사이의 데이터 교환은 인터넷 등의 네트워크를 통해 혹은 DVD, CD 등의 유통 가능한 기억 매체를 통해 실행된다.
콘텐츠의 배신측(10)은 예를 들면, 소위 서버로서 구성되며, 하드디스크 드라이브 등의 정보 기억 수단이나 CPU 등의 정보 처리 장치를 갖는 기존의 퍼스널 컴퓨터로 구성된다. 콘텐츠의 배신측(10)은 후술하는 콘텐츠 프로바이더로서, 혹은 서비스 프로바이더나 어플리케이션 프로바이더가 동등한 기능을 갖고 있어도 된다. 콘텐츠의 배신측(10)의 데이터 배신 수단으로서는, 인터넷(11), 위성 방송(12), 전화 회선(13), DVD, CD 등의 미디어(14) 등이 있으며, 한편, 콘텐츠 수신측(20)의 디바이스로서는, 퍼스널 컴퓨터(PC: 21), 포터블 디바이스(PD: 22), 휴대 전화, PDA(Personal Digital Assistants) 등의 휴대 기기(23), DVD, CD 플레이어 등의 기록 재생기(24), 게임 단말 등의 재생 전용기(25) 등이 있다. 이들 콘텐츠 수신측(20)의 각 디바이스는 콘텐츠 배신측(10)으로부터 제공된 콘텐츠를 네트워크 등의 통신 수단 혹은, 혹은 미디어(30)로부터 취득한다.
[디바이스 구성]
도 2에, 도 1에 도시한 콘텐츠 수신측(20)의 디바이스의 일례로서, 기록 재생 장치(100)의 구성 블록도를 나타낸다. 기록 재생 장치(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)은, 예를 들면, 1칩의 LSI(Large Scale Integrated Circuit)로 구성되며, 버스(110)를 통해 공급되는 콘텐츠로서의 디지털 신호의 암호화, 복호 처리, 혹은 인증 처리를 실행하고, 암호 데이터, 복호 데이터 등을 버스(110) 상으로 출력하는 구성을 갖는다. 또, 암호 처리 수단(150)은 1칩 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)은 하나의 원 칩 LSI로서 구성하여도 되며, 또한, 소프트웨어, 하드웨어를 조합한 구성에 의해 실현하는 구성으로 하여도 된다.
[키 배신 구성으로서의 트리(나무) 구조에 대하여]
다음에, 도 1에 도시한 콘텐츠 배신측(10)으로부터 콘텐츠 수신측(20)의 각 디바이스에 암호 데이터를 배신하는 경우에서의 각 디바이스에서의 암호 처리 키의 보유 구성 및 데이터 배신 구성을 도 3을 참조하여 설명한다.
도 3의 최하단에 나타내는 번호 0∼15가 콘텐츠 수신측(20)의 개개의 디바이스이다. 즉 도 3에 도시한 계층 트리(나무) 구조의 각 리프(리프: leaf)가 각각의 디바이스에 상당한다.
각 디바이스 0∼15는, 제조 시 혹은 출하 시, 혹은 그 후에, 도 3에 도시한 계층 트리(나무) 구조에서의, 자신의 리프로부터 루트에 이르기까지의 노드에 할당된 키(노드 키) 및 각 리프의 리프 키로 이루어지는 키 세트를 메모리에 저장한다. 도 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으로부터 명백한 바와 같이, 하나의 그룹에 포함되는 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의 갱신 키인 것을 나타낸다.
갱신 키의 배포 처리에 대하여 설명한다. 키의 갱신은, 예를 들면, 도 4의 (a)에 도시한 유효화 키 블록(EKB: Enabling Key Block)이라 불리는 블록 데이터에 의해 구성되는 테이블을 예를 들면 네트워크, 혹은 기록 매체에 저장하여 디바이스, 0, 1, 2에 공급함으로써 실행된다. 또, 유효화 키 블록(EKB)은, 도 3에 도시한 바와 같은 트리 구조를 구성하는 각 리프에 대응하는 디바이스에 새롭게 갱신된 키를 배포하기 위한 암호화 키에 의해 구성된다. 유효화 키 블록(EKB)은, 키 갱신 블록(KRB:Key Renewal Block)이라 불리는 경우도 있다.
도 4의 (a)에 도시한 유효화 키 블록(EKB)에는 노드 키의 갱신이 필요한 디바이스만이 갱신 가능한 데이터 구성을 갖는 블록 데이터로서 구성된다. 도 4의 (a) 및 도 4의 (b)의 예는, 도 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이 필요하다.
도 4의 (a)의 EKB에 도시된 바와 같이 EKB에는 복수의 암호화 키가 포함된다. 최하단의 암호화 키는 Enc(K0010, K(t)001)이다. 이것은 디바이스 2가 갖는 리프 키 K0010에 의해 암호화된 갱신 노드 키 K(t)001이며, 디바이스 2는 자신이 갖는 리프 키에 의해 이 암호화 키를 복호하여 K(t)001을 얻을 수 있다. 또한, 복호에 의해 얻은 K(t)001을 이용하여, 도 4의 (a)의 아래로부터 2단째의 암호화 키 Enc(K(t)001, K(t)00)를 복호할 수 있으며, 갱신 노드 키 K(t)00을 얻을 수 있다. 이하 순차적으로 도 4의 (a)의 위로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 4의 (a)의 위로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 한편, 디바이스 K0000. K0001은, 노드 키 K000은 갱신하는 대상에 포함되지 않고, 갱신 노드 키로서 필요한 것은K(t)00, K(t)0, K(t)R이다. 디바이스 K0000. K0001은, 도 4의 (a)의 위로부터 3단째의 암호화 키 Enc(K000, K(t)00)를 복호하여 K(t)00을 취득하며, 이하, 도 4의 (a)의 위로부터 2단째의 암호화 키 Enc(K(t)00, K(t)0)를 복호하고, 갱신 노드 키 K(t)0, 도 4의 (a)의 위로부터 1단째의 암호화 키 Enc(K(t)0, K(t)R)를 복호하여 K(t)R을 얻는다. 이와 같이 하여 디바이스 0, 1, 2는 갱신한 키 K(t)R을 얻을 수 있다. 또, 도 4의 (a)의 인덱스는 복호 키로서 사용하는 노드 키, 리프 키의 절대 번지를 나타낸다.
도 3에 도시한 트리 구조의 상위단의 노드 키: K(t)0, K(t)R의 갱신이 불필요하며, 노드 키 K00만의 갱신 처리가 필요한 경우에는, 도 4의 (b)의 유효화 키 블록(EKB)을 이용함으로써, 갱신 노드 키 K(t)00을 디바이스 0, 1, 2에 배포할 수 있다.
도 4의 (b)에 도시한 EKB는, 예를 들면 특정한 그룹에서 공유하는 새로운 콘텐츠 키를 배포하는 경우에 이용 가능하다. 구체예로서, 도 3에 점선으로 나타내는 그룹 내의 디바이스 0, 1, 2, 3이 임의의 기록 매체를 이용하고 있으며, 새로운 공통의 콘텐츠 키 K(t)con이 필요하다고 하자. 이 때, 디바이스 0, 1, 2, 3의 공통의 노드 키 K00을 갱신한 K(t)00을 이용하여 새로운 공통의 갱신 콘텐츠 키: K(t)con을 암호화한 데이터 Enc(K(t)00, K(t)con)을 도 4의 (b)에 도시한 EKB와 함께 배포한다. 이 배포에 의해, 디바이스 4 등, 그 밖의 그룹의 기기에서는 복호되지 않은 데이터로서의 배포가 가능해진다.
즉, 디바이스 0, 1, 2는 EKB를 처리하여 얻은 K(t)00을 이용하여 상기 암호문을 복호하면, t 시점에서의 콘텐츠 키 K(t)con을 얻는 것이 가능하게 된다.
[EKB를 사용한 콘텐츠 키의 배포]
도 5에, t 시점에서의 콘텐츠 키 K(t)con을 얻는 처리예로서, K(t)00을 이용하여 새로운 공통의 콘텐츠 키 K(t)con을 암호화한 데이터 Enc(K(t)00, K(t)con)와 도 4의 (b)에 도시한 EKB를 기록 매체를 통해 수령한 디바이스 0의 처리를 나타낸다. 즉, EKB에 의한 암호화 메시지 데이터를 콘텐츠 키 K(t)con으로 한 예이다.
도 5에 도시한 바와 같이, 디바이스 0은 기록 매체에 저장되어 있는 세대: t시점의 EKB와 자신이 사전에 저장하고 있는 노드 키 K000을 이용하여 상술한 것과 마찬가지의 EKB 처리에 의해 노드 키 K(t)00을 생성한다. 또한, 복호한 갱신 노드 키 K(t)00을 이용하여 갱신 콘텐츠 키 K(t)con을 복호하여, 후에 그것을 사용하기 위해 자신만이 갖는 리프 키 K0000으로 암호화하여 저장한다.
[EKB의 포맷]
도 6에 유효화 키 블록(EKB)의 포맷예를 나타낸다. 버전(601)은 유효화 키 블록(EKB)의 버전을 나타내는 식별자이다. 또, 버전은 최신의 EKB를 식별하는 기능과 콘텐츠와의 대응 관계를 나타내는 기능을 갖는다. 깊이는 유효화 키 블록(EKB)의 배포처의 디바이스에 대한 계층 트리의 계층 수를 나타낸다. 데이터 포인터(603)는 유효화 키 블록(EKB) 중의 데이터부의 위치를 나타내는 포인터이고, 태그 포인터(604)는 태그부의 위치, 서명 포인터(605)는 서명의 위치를 나타내는 포인터이다.
데이터부(606)는, 예를 들면 갱신하는 노드 키를 암호화한 데이터를 저장한다. 예를 들면 도 5에 도시한 바와 같은 갱신된 노드 키에 관한 각 암호화 키 등을 저장한다.
태그부(607)는 데이터부에 저장된 암호화된 노드 키, 리프 키의 위치 관계를 나타내는 태그이다. 이 태그의 부여 룰을 도 7의 (a) 내지 도 7의 (c)를 이용하여 설명한다. 도 7의 (a) 내지 도 7의 (c)에서는, 데이터로서 먼저 도 4의 (a)에서 설명한 유효화 키 블록(EKB)을 송부하는 예를 나타내고 있다. 이 때의 데이터는 도 7의 (b)에 도시된 바와 같다. 이 때의 암호화 키에 포함되는 톱 노드의 어드레스를 톱 노드 어드레스로 한다. 이 경우에는, 루트 키의 갱신 키 K(t)R이 포함되어 있기 때문에, 톱 노드 어드레스는 KR로 된다. 이 때, 예를 들면 최상단의 데이터 Enc(K(t)0, K(t)R)는, 도 7의 (a)에 도시한 계층 트리에 나타내는 위치에 있다. 여기서, 다음 데이터는 Enc(K(t)00, K(t)0)이고, 트리 상에서는 이전 데이터의 좌측 아래의 위치에 있다. 데이터가 있는 경우에는 태그가 0, 없는 경우에는 1이 설정된다. 태그는{좌측(L) 태그, 우측(R) 태그}로서 설정된다. 최상단의 데이터 Enc(K(t)0, K(t)R)의 좌측에는 데이터가 있으므로 L 태그=0, 우측에는 데이터가 없기 때문에 R 태그=1로 된다. 이하, 모든 데이터에 태그가 설정되며, 도 7의 (c)에 도시한 데이터 열, 및 태그 열이 구성된다.
태그는, 데이터 Enc(Kxxx, Kyyy)가 트리 구조의 어디에 위치하고 있는 것인지를 나타내기 위해 설정되는 것이다. 데이터부에 저장되는 키 데이터 Enc(Kxxx, Kyyy)…는 단순하게 암호화된 키의 나열 데이터에 불과하기 때문에, 상술한 태그에 의해 데이터로서 저장된 암호화 키의 트리 상의 위치를 판별 가능하게 한 것이다.상술한 태그를 이용하지 않고, 앞의 도 4의 (a) 및 도 4의 (b)에서 설명한 구성과 같이 암호화 데이터에 대응시킨 노드 인덱스를 이용하여, 예를 들면,
0 : Enc(K(t)0, K(t)root)
00 :·Enc(K(t)00, K(t)0)
000 : Enc(K((t)000, K(t)00))
…와 같은 데이터 구성으로 하는 것도 가능하지만, 이러한 인덱스를 이용한 구성으로 하면 용장(冗長) 데이터로 되어 데이터량이 증대하고, 네트워크를 통한 배신 등에서는 바람직하지 못하다. 이것에 대하여, 상술한 태그를 키 위치를 나타내는 색인 데이터로서 이용함으로써, 적은 데이터량으로 키 위치의 판별이 가능해진다.
도 6으로 되돌아가, EKB 포맷에 대하여 더욱 설명한다. 서명(Signature)은, 유효화 키 블록(EKB)을 발행한, 예를 들면 키 관리 센터, 콘텐츠 프로바이더, 결제 기관 등이 실행하는 전자 서명이다. EKB를 수령한 디바이스는 서명 검증에 의해 정당한 유효화 키 블록(EKB) 발행자가 발행한 유효화 키 블록(EKB)인 것을 확인한다.
[EKB를 사용한 콘텐츠 키 및 콘텐츠의 배신]
상술한 예는, 콘텐츠 키만을 EKB와 함께 송부하는 예에 대하여 설명하였지만, 콘텐츠 키로 암호화한 콘텐츠와, 콘텐츠 키 암호 키로 암호화한 콘텐츠 키와, EKB에 의해 암호화한 콘텐츠 키 암호 키를 함께 송부하는 구성에 대하여 이하에 설명한다.
도 8의 (a) 및 도 8의 (b)에 이러한 데이터 구성을 나타낸다. 도 8의 (a)에 도시한 구성에서, Enc(Kcon, content: 801)는 콘텐츠(Content)를 콘텐츠 키(Kcon)로 암호화한 데이터이고, Enc(KEK, Kcon: 802)는 콘텐츠 키(Kcon)를 콘텐츠 키 암호 키(KEK: Key Encryption Key)로 암호화한 데이터이며, Enc(EKB, KEK: 803)는 콘텐츠 키 암호 키 KEK를 유효화 키 블록(EKB)에 의해 암호화한 데이터인 것을 나타낸다.
여기서, 콘텐츠 키 암호 키 KEK는 도 3에서 도시한 노드 키(K000, K00…), 혹은 루트 키(KR) 자체여도 되고, 또한 노드 키(K000, K00…), 혹은 루트 키(KR)에 의해 암호화된 키여도 된다.
도 8의 (b)는 복수의 콘텐츠가 미디어에 기록되며, 각각이 동일한 Enc(EKB, KEK: 805)를 이용하고 있는 경우의 구성예를 나타내며, 이와 같은 구성에서는, 각 데이터에 동일한 Enc(EKB, KEK)를 부가하지 않고, Enc(EKB, KEK)에 링크하는 링크처를 나타내는 데이터를 각 데이터에 부가하는 구성으로 하는 것이 가능하다.
도 9에 콘텐츠 키 암호 키 KEK를, 도 3에 도시한 노드 키 K00을 갱신한 갱신 노드 키 K(t)00으로서 구성한 경우의 예를 나타낸다. 이 경우, 도 3의 점선 테두리로 둘러싼 그룹에서 디바이스 3이, 예를 들면 키의 누설에 의해 리보크(배제)되어 있는 것으로서, 다른 그룹의 멤버, 즉, 디바이스 O, 1, 2에 대하여 도 9에 도시한 유효화 키 블록(EKB)과, 콘텐츠 키(Kcon)를 콘텐츠 키 암호 키(KEK=K(t)00)로 암호화한 데이터와, 콘텐츠(content)를 콘텐츠 키(Kcon)로 암호화한 데이터를 배신함으로써, 디바이스 0, 1, 2는 콘텐츠를 얻을 수 있다.
도 9의 우측에는, 디바이스 0에서의 복호 수순을 나타내고 있다. 디바이스 0은, 우선, 수령한 유효화 키 블록으로부터 자신이 보유하는 리프 키 K000을 이용한 복호 처리에 의해, 콘텐츠 키 암호 키(KEK=K(t)00)를 취득한다. 다음에, K(t)00에 의한 복호에 의해 콘텐츠 키 Kcon을 취득하고, 또한 콘텐츠 키 Kcon에 의해 콘텐츠의 복호를 행한다. 이들 처리에 의해, 디바이스 0은 콘텐츠를 이용 가능하게 된다. 디바이스 1, 2에서도 각각 다른 처리 수순으로 EKB를 처리함으로써, 콘텐츠 키 암호 키(KEK=K(t)00)를 취득하는 것이 가능해지고, 마찬가지로 콘텐츠를 이용하는 것이 가능해진다.
도 3에 도시한 다른 그룹의 디바이스 4, 5, 6…은, 이와 마찬가지의 데이터(EKB)를 수신하였다고 해도, 자신이 보유하는 리프 키, 노드 키를 이용하여 콘텐츠 키 암호 키(KEK=K(t)00)를 취득할 수 없다. 마찬가지로 리보크된 디바이스 3에서도, 자신이 보유하는 리프 키, 노드 키에서는, 콘텐츠 키 암호 키(KEK=K(t)00)를 취득할 수 없고, 정당한 권리를 갖는 디바이스만이 콘텐츠를 복호하여 이용하는 것이 가능해진다.
이와 같이, EKB를 이용한 콘텐츠 키의 배송을 이용하면, 데이터량을 적게 하여, 또한 안전하게 정당 권리자만이 복호 가능하게 한 암호화 콘텐츠를 배신하는 것이 가능해진다.
또, 유효화 키 블록(EKB), 콘텐츠 키, 암호화 콘텐츠 등은, 네트워크를 통해 안전하게 배신하는 것이 가능한 구성이지만, 유효화 키 블록(EKB), 콘텐츠 키, 암호화 콘텐츠를 DVD, CD 등의 기록 매체에 저장하여 사용자에게 제공하는 것도 가능하다. 이 경우, 기록 매체에 저장된 암호화 콘텐츠의 복호에는, 동일한 기록 매체에 저장된 유효화 키 블록(EKB)의 복호에 의해 얻어지는 콘텐츠 키를 사용하도록 구성하면, 사전에 정당 권리자만이 보유하는 리프 키, 노드 키에 의해서만 이용 가능한 암호화 콘텐츠의 배포 처리, 즉 이용 가능한 사용자 디바이스를 한정한 콘텐츠 배포가 간이한 구성으로 실현 가능해진다.
도 10에 기록 매체에 암호화 콘텐츠와 함께 유효화 키 블록(EKB)을 저장한 구성예를 나타낸다. 도 10에 도시한 예에서는, 기록 매체에 콘텐츠 C1∼C4가 저장되며, 또한 각 저장 콘텐츠에 대응하는 유효화 키 블록(EKB)을 대응한 데이터가 저장되고, 또한, 버전 M의 유효화 키 블록(EKB_M)이 저장되어 있다. 예를 들면 EKB_1은 콘텐츠 C1을 암호화한 콘텐츠 키 Kcon1을 생성하는 데 사용되며, 예를 들면 EKB_2는 콘텐츠 C2를 암호화한 콘텐츠 키 Kcon2를 생성하는 데 사용된다. 이 예에서는, 버전 M의 유효화 키 블록(EKB_M)이 기록 매체에 저장되어 있으며, 콘텐츠 C3, C4는 유효화 키 블록(EKB_M)에 대응되고 있기 때문에, 유효화 키 블록(EKB_M)의 복호에 의해 콘텐츠 C3, C4의 콘텐츠 키를 취득할 수 있다. EKB_1, EKB_2는 디스크에 저장되어 있지 않으므로, 새로운 제공 수단, 예를 들면 네트워크 배신, 혹은 기록 매체에 의한 배신에 의해 각각의 콘텐츠 키를 복호하기 위해 필요한 EKB_1, EKB_2를 취득하는 것이 필요해진다.
도 11의 (a) 및 도 11의 (b)에, 복수의 디바이스 사이에서 콘텐츠 키가 유통하는 경우의 EKB를 이용한 콘텐츠 키의 배신과, 종래의 콘텐츠 키 배신 처리의 비교예를 나타낸다. 도 11의 (a)가 종래 구성이며, 도 11의 (b)가 본 발명의 유효화키 블록(EKB)을 이용한 예이다. 또, 도 11의 (a) 및 도 11의 (b)에서 Ka(Kb)는, Kb를 Ka로 암호화한 데이터인 것을 나타낸다.
도 11의 (a)에 도시한 바와 같이, 종래는, 데이터 송수신자의 정당성을 확인하고, 또한 데이터 송신의 암호화 처리에 사용하는 세션 키 Kses를 공유하기 위해 각 디바이스 사이에서, 인증 처리 및 키 교환 처리(AKE: Authentication and Key Exchange)를 실행하고, 인증이 성립한 것을 조건으로 하여 세션 키 Kses로 콘텐츠 키 Kcon을 암호화하여 송신하는 처리를 행하고 있었다.
예를 들면 도 11의 (a)의 PC에서는, 수신한 세션 키로 암호화한 콘텐츠 키 Kses(Kcon)를 세션 키로 복호하여 Kcon을 얻는 것이 가능하며, 또한 취득한 Kcon을 PC 자체가 보유하는 보존 키 Kstr로 암호화하여 자신의 메모리에 보존하는 것이 가능해진다.
도 11의 (a)에서, 콘텐츠 프로바이더는 도 11의 (a)의 기록 디바이스(1101)에만 데이터를 이용 할 수 있는 형태로 배신하고 싶은 경우에도, 사이에 PC, 재생 장치가 존재하는 경우에는, 도 11의 (a)에 도시한 바와 같이 인증 처리를 실행하고, 각각의 세션 키로 콘텐츠 키를 암호화하여 배신한다고 하는 처리가 필요해진다. 또한, 사이에 개재하는 PC, 재생 장치에서도 인증 처리에서 생성하여 공유하게 된 세션 키를 이용함으로써 암호화 콘텐츠 키를 복호하여 콘텐츠 키를 취득할 수 있게 된다.
한편, 도 11의 (b)의 하단에 나타내는 유효화 키 블록(EKB)을 이용한 예에서는, 콘텐츠 프로바이더로부터 유효화 키 블록(EKB)과, 유효화 키 블록(EKB)의 처리에 의해 얻어지는 노드 키, 또는 루트 키에 의해 콘텐츠 키 Kcon을 암호화한 데이터(도면의 예는 Kroot(Kcon))를 배신함으로써, 배신한 EKB의 처리가 가능한 기기에서만 콘텐츠 키 Kcon을 복호하여 취득하는 것이 가능하게 된다.
따라서, 예를 들면 도 11의 (b)의 우단에만 이용 가능한 유효화 키 블록(EKB)을 생성하여, 그 유효화 키 블록(EKB)과, 그 EKB 처리에 의해 얻어지는 노드 키, 또는 루트 키에 의해 콘텐츠 키 Kcon을 암호화한 데이터를 함께 보냄으로써, 사이에 존재하는 PC, 재생 기기 등은 자신이 갖는 리프 키, 노드 키에 의해서는 EKB의 처리를 실행하는 것이 불가능하다. 따라서, 데이터 송수신 디바이스 사이에서의 인증 처리, 세션 키의 생성, 세션 키에 의한 콘텐츠 키 Kcon의 암호화 처리라고 하는 처리를 실행하지 않고, 안전하게 정당한 디바이스에 대해서만 이용 가능한 콘텐츠 키를 배신하는 것이 가능해진다.
PC, 기록 재생기에도 이용 가능하나 콘텐츠 키를 배신하고 싶은 경우에는, 각각에서 처리 가능한 유효화 키 블록(EKB)을 생성하여, 배신함으로써 공통의 콘텐츠 키를 취득하는 것이 가능해진다.
[유효화 키 블록(EKB)을 사용한 인증 키의 배신(공통 키 방식)]
상술의 유효화 키 블록(EKB)을 사용한 데이터 혹은 키의 배신에서, 디바이스 사이에서 전송되는 유효화 키 블록(EKB) 및 콘텐츠 혹은 콘텐츠 키는 항상 동일한 암호화 형태를 유지하고 있기 때문에, 데이터 전송 경로를 훔쳐서 기록하고, 재차, 후에 전송하는, 소위 리플레이 어택에 의해 부정 복사가 생성될 가능성이 있다. 이것을 방지하는 구성으로서는, 데이터 전송 디바이스 사이에서, 종래와 마찬가지의 인증 처리 및 키 교환 처리를 실행하는 것이 유효한 수단이다. 여기서는, 이 인증 처리 및 키 교환 처리를 실행할 때 사용하는 인증 키 Kake를 상술의 유효화 키 블록(EKB)을 사용하여 디바이스로 배신함으로써, 안전한 비밀 키로서 공유하는 인증 키를 갖고, 공통 키 방식에 따른 인증 처리를 실행하는 구성에 대하여 설명한다. 즉, EKB에 의한 암호화 메시지 데이터를 인증 키로 한 예이다.
도 12에, 공통 키 암호 방식을 이용한 상호 인증 방법(ISO/IEC 9798-2)을 나타낸다. 도 12에서는, 공통 키 암호 방식으로서 DES를 이용하고 있지만, 공통 키 암호 방식이면 다른 방식도 가능하다. 도 12에서, 우선, B가 64 비트의 난수 Rb를 생성하고, Rb 및 자기 ID인 ID(b)를 A로 송신한다. 이것을 수신한 A는, 새롭게 64 비트의 난수 Ra를 생성하고, Ra, Rb, ID(b)의 순으로 DES의 CBC 모드로 키 Kab를 이용하여 데이터를 암호화하고, B로 반송한다. 또, 키 Kab는 A 및 B에 공통의 비밀 키로서 각각의 기록 소자 내에 저장하는 키이다. DES의 CBC 모드를 이용한 키 Kab에 의한 암호화 처리는, 예를 들면 DES를 이용한 처리에서는, 초기값과 Ra와의 배타적 논리합을 구하고, DES 암호화부에서, 키 Kab를 이용하여 암호화하고, 암호문 E1을 생성하며, 계속해서 암호문 E1과 Rb와의 배타적 논리합을 구하여, DES 암호화부에서, 키 Kab를 이용하여 암호화하고, 암호문 E2를 생성하며, 또한, 암호문 E2와 ID(b)와의 배타적 논리합을 구하고, DES 암호화부에서, 키 Kab를 이용하여 암호화하여 생성한 암호문 E3에 따라 송신 데이터(Token-AB)를 생성한다.
이것을 수신한 B는, 수신 데이터를, 역시 공통의 비밀 키로서 각각의 기록 소자 내에 저장하는 키 Kab(인증 키)로 복호화한다. 수신 데이터의 복호화 방법은, 우선, 암호문 E1을 인증 키 Kab에서 복호화하고, 난수 Ra를 얻는다. 다음에, 암호문 E2를 인증 키 Kab에서 복호화하고, 그 결과와 E1의 배타적 논리합을 구하여, Rb를 얻는다. 마지막으로, 암호문 E3을 인증 키 Kab에서 복호화하고, 그 결과와 E2의 배타적 논리합을 구하여, ID(b)를 얻는다. 이렇게 해서 얻어진 Ra, Rb, ID(b) 중, Rb 및 ID(b)가, B가 송신한 것과 일치하는지를 검증한다. 이 검증에 통과한 경우, B는 A를 정당한 것으로서 인증한다.
다음에 B는, 인증 후에 사용하는 세션 키(Kses)를 생성한다 (생성 방법은, 난수를 이용함). 그리고, Rb, Ra, Kses의 순으로, DES의 CBC 모드로 인증 키 Kab를 이용하여 암호화하고, A로 반송한다.
이것을 수신한 A는, 수신 데이터를 인증 키 Kab에서 복호화한다. 수신 데이터의 복호화 방법은, B의 복호화 처리와 마찬가지이기 때문에, 여기서는 상세를 생략한다. 이렇게 해서 얻어진 Rb, Ra, Kses 중, Rb 및 Ra가, A가 송신한 것과 일치하는지를 검증한다. 이 검증에 통과한 경우, A는 B를 정당한 것으로서 인증한다. 상호 상대를 인증한 후에는, 세션 키 Kses는 인증 후의 비밀 통신을 위한 공통 키로서 이용된다.
또, 수신 데이터의 검증 시에, 부정, 불일치가 발견된 경우에는, 상호 인증이 실패한 것으로서 처리를 중단한다.
상술의 인증 처리에서는, A, B는 공통의 인증 키 Kab를 공유한다. 이 공통 키 Kab를 상술의 유효화 키 블록(EKB)을 사용하여 디바이스로 배신한다.
예를 들면, 도 12의 예는, A, 또는 B 중 어느 하나가 다른 쪽이 복호 가능한유효화 키 블록(EKB)을 생성하여 생성한 유효화 키 블록 (EKB)에 의해 인증 키 Kab를 암호화하여, 다른 쪽으로 송신하는 구성으로 하여도 되고, 혹은 제3자가 디바이스 A, B에 대하여 쌍방이 이용 가능한 유효화 키 블록(EKB)을 생성하여 디바이스 A, B에 대하여 생성한 유효화 키 블록(EKB)에 의해 인증 키 Kab를 암호화하여 배신하는 구성으로 하여도 된다.
도 13 및 도 14에 복수의 디바이스에 공통의 인증 키 Kake를 유효화 키 블록(EKB)에 의해 배신하는 구성예를 나타낸다. 도 13은 디바이스 0, 1, 2, 3에 대하여 복호 가능한 인증 키 Kake를 배신하는 예, 도 14는 디바이스 0, 1, 2, 3 중의 디바이스 3을 리보크(배제)하여 디바이스 0, 1, 2에 대해서만 복호 가능한 인증 키를 배신하는 예를 나타낸다.
도 13의 예는, 갱신 노드 키 K(t)00에 의해, 인증 키 Kake를 암호화한 데이터와 함께, 디바이스 0, 1, 2, 3에서 각각의 갖는 노드 키, 리프 키를 이용하여 갱신된 노드 키 K(t)00을 복호할 수 있는 유효화 키 블록(EKB)을 생성하여 배신한다. 각각의 디바이스는, 도 13의 우측에 도시한 바와 같이 우선, EKB를 처리(복호)함으로써 갱신된 노드 키 K(t)00을 취득하고, 다음에, 취득한 노드 키 K(t)00을 이용하여 암호화된 인증 키: Enc(K(t)00, Kake)를 복호하여 인증 키 Kake를 얻는 것이 가능해진다.
그 밖의 디바이스 4, 5, 6, 7…은 동일한 유효화 키 블록(EKB)을 수신하여도 자신이 보유하는 노드 키, 리프 키에서는, EKB를 처리하여 갱신된 노드 키 K(t)00을 취득할 수 없기 때문에, 안전하게 정당한 디바이스에 대해서만 인증 키를 송부할 수 있다.
한편, 도 14의 예는, 도 3의 점선 테두리로 둘러싼 그룹에서 디바이스 3이, 예를 들면 키의 누설에 의해 리보크(배제)되어 있다고 하고, 다른 그룹의 멤버, 즉, 디바이스 0, 1, 2에 대해서만 복호 가능한 유효화 키 블록(EKB)을 생성하여 배신한 예이다. 도 14에 도시한 유효화 키 블록(EKB)과, 인증 키(Kake)를 노드 키 (K(t)00)로 암호화한 데이터를 배신한다.
도 14의 우측에는, 복호 수순을 나타내고 있다. 디바이스 0, 1, 2는 우선, 수령한 유효화 키 블록으로부터 자신이 보유하는 리프 키 또는 노드 키를 이용한 복호 처리에 의해, 갱신 노드 키(K(t)00)를 취득한다. 다음에, K(t)00에 의한 복호에 의해 인증 키 Kake를 취득한다.
도 3에 도시한 다른 그룹의 디바이스 4, 5, 6…은, 이와 마찬가지의 데이터(EKB)를 수신하였다고 해도, 자신이 보유하는 리프 키, 노드 키를 이용하여 갱신 노드 키(K(t)00)를 취득할 수 없다. 마찬가지로 리보크된 디바이스 3에서도, 자신이 보유하는 리프 키, 노드 키에서는, 갱신 노드 키(K(t)00)를 취득할 수 없으며, 정당한 권리를 갖는 디바이스만이 인증 키를 복호하여 이용하는 것이 가능해진다.
이와 같이, EKB를 이용한 인증 키의 배송을 이용하면, 데이터량을 적게 하여, 또한 안전하게 정당 권리자만이 복호가능하게 한 인증 키를 배신하는 것이 가능해진다.
[공개 키 인증과 유효화 키 블록(EKB)을 사용한 콘텐츠 키의 배신]
다음에, 공개 키 인증과 유효화 키 블록(EKB)을 사용한 콘텐츠 키의 배신 처리에 대하여 설명한다. 우선, 공개 키 암호 방식인 160비트 길이의 타원 곡선 암호를 이용한 상호 인증 방법을, 도 15를 참조하여 설명한다. 도 15에서, 공개 키 암호 방식으로서 ECC를 이용하고 있지만, 마찬가지의 공개 키 암호 방식이면 어느 것이어도 된다. 또한, 키 사이즈도 160비트가 아니어도 된다. 도 15에서, 우선 B가, 64 비트의 난수 Rb를 생성하고, A로 송신한다. 이것을 수신한 A는, 새롭게 64비트의 난수 Ra 및 소수 p보다 작은 난수 Ak를 생성한다. 그리고, 베이스 포인트 G를 Ak배한 점 Av=Ak ×G를 구하고, Ra, Rb, Av(X 좌표와 Y 좌표)에 대한 전자 서명 A. Sig을 생성하여, A의 공개 키 증명서와 함께 B로 반송한다. 여기서, Ra 및 Rb는 각각 64비트, Av의 X 좌표와 Y 좌표가 각각 160비트이기 때문에, 합계 448비트에 대한 전자 서명을 생성한다.
A의 공개 키 증명서, Ra, Rb, Av, 전자 서명 A. Sig을 수신한 B는, A가 전송된 Rb가, B가 생성한 것과 일치하는지를 검증한다. 그 결과, 일치하고 있는 경우에는, A의 공개 키 증명서 내의 전자 서명을 인증국의 공개 키로 검증하고, A의 공개 키를 추출한다. 그리고, 추출한 A의 공개 키를 이용하여 전자 서명 A.Sig을 검증한다.
다음에, B는 소수 p보다 작은 난수 Bk를 생성한다. 그리고, 베이스 포인트 G를 Bk배한 점 Bv=Bk ×G를 구하고, Rb, Ra, Bv(X 좌표와 Y 좌표)에 대한 전자 서명 B. Sig을 생성하여, B의 공개 키 증명서와 함께 A로 반송한다.
B의 공개 키 증명서, Rb, Ra, Av, 전자 서명 B. Sig을 수신한 A는, B가 전송된 Ra가, A가 생성한 것과 일치하는지를 검증한다. 그 결과, 일치하고 있는 경우에는, B의 공개 키 증명서 내의 전자 서명을 인증국의 공개 키로 검증하고, B의 공개 키를 추출한다. 그리고, 추출한 B의 공개 키를 이용하여 전자 서명 B.Sig을 검증한다. 전자 서명의 검증에 성공한 후, A는 B를 정당한 것으로서 인증한다.
양자가 인증에 성공한 경우에는, B는 Bk ×Av(Bk는 난수이지만, Av는 타원 곡선 상의 점이기 때문에, 타원 곡선 상의 점의 스칼라배 계산이 필요)를 계산하고, A는 Ak ×Bv를 계산하여, 이들 점의 X 좌표의 하위 64비트를 세션 키로서 이후의 통신에 사용한다(공통 키 암호를 64비트 키 길이의 공통 키 암호로 한 경우). 물론, Y 좌표에서 세션 키를 생성하여도 되고, 하위 64비트가 아니어도 된다. 또, 상호 인증 후의 비밀 통신에서는, 송신 데이터는 세션 키로 암호화될 뿐만 아니라, 전자 서명도 첨부되는 경우가 있다.
전자 서명의 검증이나 수신 데이터의 검증 시에, 부정, 불일치가 발견된 경우에는, 상호 인증이 실패한 것으로서 처리를 중단한다.
도 16에 공개 키 인증과 유효화 키 블록(EKB)을 사용한 콘텐츠 키의 배신 처리예를 나타낸다. 우선 콘텐츠 프로바이더와 PC 사이에서 도 15에서 설명한 공개 키 방식에 의한 인증 처리가 실행된다. 콘텐츠 프로바이더는, 콘텐츠 키 배신처인 재생 장치, 기록 매체가 갖는 노드 키, 리프 키에 의해 복호 가능한 EKB를 생성하여, 갱신 노드 키에 의한 암호화를 실행한 콘텐츠 키 E(Kcon)와, 유효화 키 블록(EKB)을 PC 사이의 인증 처리에서 생성한 세션 키 Kses에서 암호화하여 PC로 송신한다.
PC는 세션 키로 암호화된 [갱신 노드 키에 의한 암호화를 실행한 콘텐츠 키 E(Kcon)와, 유효화 키 블록(EKB)]을 세션 키로 복호한 후, 재생 장치, 기록 매체로 송신한다.
재생 장치, 기록 매체는 자신이 보유하는 노드 키 또는 리프 키에 의해 [갱신 노드 키에 의한 암호화를 실행한 콘텐츠 키 E(Kcon)와, 유효화 키 블록(EKB)]을 복호함으로써 콘텐츠 키 Kcon을 취득한다.
이 구성에 따르면, 콘텐츠 프로바이더와 PC 사이에서의 인증을 조건으로 하여 [갱신 노드 키에 의한 암호화를 실행한 콘텐츠 키 E(Kcon)와, 유효화 키 블록(EKB) ]이 송신되기 때문에, 예를 들면, 노드 키의 누설이 있는 경우라도, 확실한 상대에 대한 데이터 송신이 가능해진다.
[프로그램 코드의 유효화 키 블록(EKB)을 사용한 배신]
상술한 예에서는, 콘텐츠 키, 인증 키 등을 유효화 키 블록(EKB)을 이용하여 암호화하여 배신하는 방법을 설명하였지만, 다양한 프로그램 코드를 유효화 키 블록(EKB)을 이용하여 배신하는 구성도 가능하다. 즉 EKB에 의한 암호화 메시지 데이터를 프로그램 코드로 한 예이다. 이하, 이 구성에 대하여 설명한다.
도 17에 프로그램 코드를 유효화 키 블록(EKB)의 예를 들면 갱신 노드 키에 의해 암호화하여 디바이스 사이에서 송신하는 예를 나타낸다. 디바이스(1701)는, 디바이스(1702)가 갖는 노드 키, 리프 키에 의해 복호 가능한 유효화 키 블록(EKB)과, 유효화 키 블록(EKB)에 포함되는 갱신 노드 키로 암호 처리한 프로그램 코드를 디바이스(1702)로 송신한다. 디바이스(1702)는 수신한 EKB를 처리하여 갱신 노드키를 취득하고, 또한 취득한 갱신 노드 키에 의해 프로그램 코드의 복호를 실행하여, 프로그램 코드를 얻는다.
도 17에 도시한 예는, 또한, 디바이스(1702)에서 취득한 프로그램 코드에 의한 처리를 실행하여, 그 결과를 디바이스(1701)로 보내고, 디바이스(1701)가 그 결과에 기초하여 처리를 더욱 속행하는 예를 나타내고 있다.
이와 같이 유효화 키 블록(EKB)과, 유효화 키 블록(EKB)에 포함되는 갱신 노드 키로 암호 처리한 프로그램 코드를 배신함으로써, 특정한 디바이스에서 해독 가능한 프로그램 코드를 전술의 도 3에서 도시한 특정한 디바이스, 혹은 그룹에 대하여 배신하는 것이 가능해진다.
[송신 콘텐츠에 대한 체크값(ICV: Integrity Check Value)을 대응시키는 구성]
다음에, 콘텐츠의 개찬(改竄)을 방지하기 위해 콘텐츠의 인터그리티 체크값(ICV)을 생성하여, 콘텐츠에 대응시키고, ICV의 계산에 의해 콘텐츠 개찬의 유무를 판정하는 처리 구성에 대하여 설명한다.
콘텐츠의 인터그리티 체크값(ICV)은, 예를 들면 콘텐츠에 대한 해시 함수를 이용하여 계산되며, ICV=hash(Kicv, C1, C2, …)에 의해 계산된다. Kicv는 ICV 생성 키이다. C1, C2는 콘텐츠의 정보이고, 콘텐츠의 중요 정보의 메시지 인증 부호(MAC: Message authentication Code)가 사용된다.
DES 암호 처리 구성을 이용한 MAC 값 생성 예를 도 18에 도시한다. 도 18의 구성에 도시한 바와 같이 대상이 되는 메시지를 8바이트 단위로 분할하고, (이하, 분할된 메시지를 M1, M2, …, MN으로 함), 우선, 초기값(Initial Value(이하, IV로함))과 M1의 배타적 논리합을 구한다 (그 결과를 I1로 함). 다음에, I1을 DES 암호화부에 넣고, 키(이하, K1로 함)를 이용하여 암호화한다 (출력을 E1로 함). 계속해서, E1 및 M2의 배타적 논리합을 구하고, 그 출력 I2를 DES 암호화부로 넣고, 키 K1을 이용하여 암호화한다 (출력 E2). 이하, 이것을 반복하여, 모든 메시지에 대하여 암호화 처리를 실시한다. 마지막으로 나온 EN이 메시지 인증 부호(MAC (Message Authentication Code))로 된다.
이러한 콘텐츠의 MAC 값과 ICV 생성 키에 해시 함수를 적용하여 이용하여 콘텐츠의 인터그리티 체크값(ICV)이 생성된다. 개찬이 없는 것이 보증된, 예를 들면 콘텐츠 생성 시에 생성한 ICV와, 새롭게 콘텐츠에 기초하여 생성한 ICV를 비교하여 동일한 ICV가 얻어지면 콘텐츠에 개찬이 없는 것이 보증되며, ICV가 다르면, 개찬이 있었다고 판정된다.
[체크값(ICV)의 생성 키 Kicv를 EKB에 의해 배포하는 구성]
다음에, 콘텐츠의 인터그리티 체크값(ICV) 생성 키인 Kicv를 상술한 유효화 키 블록에 의해 송부하는 구성에 대하여 설명한다. 즉 EKB에 의한 암호화 메시지 데이터를 콘텐츠의 인터그리티 체크값(ICV) 생성 키로 한 예이다.
도 19 및 도 20에 복수의 디바이스에 공통의 콘텐츠를 송부한 경우, 이들 콘텐츠의 개찬의 유무를 검증하기 위한 인터그리티 체크값 생성 키 Kicv를 유효화 키 블록(EKB)에 의해 배신하는 구성예를 나타낸다. 도 19는 디바이스 0, 1, 2, 3에 대하여 복호 가능한 체크값 생성 키 Kicv를 배신하는 예, 도 20은 디바이스 0, 1, 2, 3 중의 디바이스 3을 리보크(배제)하여 디바이스 0, 1, 2에 대해서만 복호 가능한 체크값 생성 키 Kicv를 배신하는 예를 나타낸다.
도 19의 예는, 갱신 노드 키 K(t)00에 의해, 체크값 생성 키 Kicv를 암호화한 데이터와 함께, 디바이스 0, 1, 2, 3에서 각각이 갖는 노드 키, 리프 키를 이용하여 갱신된 노드 키 K(t)00을 복호할 수 있는 유효화 키 블록(EKB)을 생성하여 배신한다. 각각의 디바이스는, 도 19의 우측에 도시한 바와 같이 우선, EKB를 처리(복호)함으로써 갱신된 노드 키 K(t)00을 취득하고, 다음에, 취득한 노드 키 K(t)00을 이용하여 암호화된 체크값 생성 키: Enc(K(t)00, Kicv)를 복호하여 체크값 생성 키 Kicv를 얻는 것이 가능해진다.
그 밖의 디바이스 4, 5, 6, 7…은 동일한 유효화 키 블록(EKB)을 수신하여도 자신이 보유하는 노드 키, 리프 키에서는, EKB를 처리하여 갱신된 노드 키 K(t)00을 취득할 수 없기 때문에, 안전하게 정당한 디바이스에 대해서만 체크값 생성 키를 송부하는 것이 가능하다.
한편, 도 20의 예는, 도 3의 점선으로 둘러싼 그룹에서 디바이스 3이, 예를 들면 키의 누설에 의해 리보크(배제)되어 있다고 하여, 다른 그룹의 멤버, 즉, 디바이스 0, 1, 2에 대해서만 복호 가능한 유효화 키 블록(EKB)을 생성하여 배신한 예이다. 도 20에 도시한 유효화 키 블록(EKB)과, 체크값 생성 키(Kicv)를 노드 키(K(t)00)로 암호화한 데이터를 배신한다.
도 20의 우측에는, 복호 수순을 나타내고 있다. 디바이스 0, 1, 2는 우선, 수령한 유효화 키 블록으로부터 자신이 보유하는 리프 키 또는 노드 키를 이용한 복호 처리에 의해 갱신 노드 키(K(t)00)를 취득한다. 다음에, K(t)00에 의한 복호에 의해 체크값 생성 키 Kicv를 취득한다.
도 3에 도시한 다른 그룹의 디바이스 4, 5, 6…은, 이와 마찬가지의 데이터(EKB)를 수신하였다고 해도, 자신이 보유하는 리프 키, 노드 키를 이용하여 갱신 노드 키(K(t)00)를 취득할 수 없다. 마찬가지로 리보크된 디바이스 3에서도, 자신이 보유하는 리프 키, 노드 키에서는, 갱신 노드 키(K(t)00)를 취득할 수 없고, 정당한 권리를 갖는 디바이스만이 체크값 생성 키를 복호하여 이용하는 것이 가능해진다.
이와 같이, EKB를 이용한 체크값 생성 키의 배송을 이용하면, 데이터량을 적게 하고, 또한 안전하게 정당 권리자만이 복호 가능하게 한 체크값 생성 키를 배신하는 것이 가능해진다.
이러한 콘텐츠의 인터그리티 체크값(ICV)을 이용함으로써, EKB와 암호화 콘텐츠의 부정 복사를 배제할 수 있다. 예를 들면 도 21의 (a) 및 도 21의 (b)에 도시한 바와 같이, 콘텐츠 C1과 콘텐츠 C2를 각각의 콘텐츠 키를 취득 가능한 유효화 키 블록(EKB)과 함께 저장한 미디어 1이 있고, 이것을 그대로 미디어 2에 복사한 경우를 상정한다. EKB와 암호화 콘텐츠의 복사는 가능하며, 이것을 EKB로 복호 가능한 디바이스로서는 이용할 수 있게 된다.
도 21의 (b)에 도시한 바와 같이 각 미디어에 정당하게 저장된 콘텐츠에 대응하여 인터그리티 체크값(ICV(C1, C2))을 저장하는 구성으로 한다. 또, (ICV (C1, C2))는, 콘텐츠 C1과 콘텐츠 C2에 해시 함수를 이용하여 계산되는 콘텐츠의 인터그리티 체크값인 ICV=hash(Kicv, C1, C2)를 나타내고 있다. 도 21의 (b)의 구성에서, 미디어 1에는 정당하게 콘텐츠 1과 콘텐츠 2가 저장되며, 콘텐츠 C1과 콘텐츠 C2에 기초하여 생성된 인터그리티 체크값(ICV(C1, C2))이 저장된다. 또한, 미디어 2에는 정당하게 콘텐츠 1이 저장되고, 콘텐츠 C1에 기초하여 생성된 인터그리티 체크값(ICV(C1))이 저장된다. 이 구성에서, 미디어 1에 저장된 {EKB, 콘텐츠 2}를 미디어 2에 복사하였다고 하면, 미디어 2에서, 콘텐츠 체크값을 새롭게 생성하면 ICV (C1, C2)가 생성되게 되어, 미디어에 저장되어 있는 Kicv(C1)와 달리, 콘텐츠의 개찬 혹은 부정한 복사에 의한 새로운 콘텐츠의 저장이 실행된 것이 명백하게 된다. 미디어를 재생하는 디바이스에서, 재생 단계의 이전 단계에 ICV 체크를 실행하여, 생성 ICV와 저장 ICV의 일치를 판별하고, 일치하지 않는 경우에는 재생을 실행하지 않는 구성으로 함으로써, 부정 복사의 콘텐츠의 재생을 방지하는 것이 가능해진다.
또한, 더욱 안전성을 높이기 위해서 콘텐츠의 인터그리티 체크값(ICV)을 재기입하여 카운터를 포함시킨 데이터에 기초하여 생성하는 구성으로 하여도 된다. 즉 ICV=hash(Kicv, counter+1, C1, C2, …)에 의해 계산하는 구성으로 한다. 여기서, 카운터(counter+1)는 ICV의 재기록마다 1 인크리먼트되는 값으로서 설정한다. 또, 카운터 값은 시큐어 메모리에 저장하는 구성으로 하는 것이 필요하다.
또한, 콘텐츠의 인터그리티 체크값(ICV)을 콘텐츠와 동일 미디어에 저장할 수 없는 구성에서는, 콘텐츠의 인터그리티 체크값(ICV)을 콘텐츠와는 다른 미디어 상에 저장하는 구성으로 하여도 된다.
예를 들면, 판독 전용 미디어나 통상의 MO 등의 복사 방지책이 취해지고 있지 않은 미디어에 콘텐츠를 저장하는 경우, 동일 미디어에 인터그리티 체크값(ICV)을 저장하면 ICV의 재기록이 부정한 사용자에 의해 이루어질 가능성이 있어, ICV의 안전성이 지켜지지 않을 우려가 있다. 이러한 경우, 호스트 머신(host machine) 상의 안전한 미디어에 ICV를 저장하여, 콘텐츠의 복사 컨트롤(예를 들면 check-in/check-out, move)에 ICV를 사용하는 구성으로 함으로써, ICV의 안전한 관리 및 콘텐츠의 개찬 체크가 가능해진다.
이러한 구성 예를 도 22에 도시한다. 도 22에서는 판독 전용 미디어나 통상의 MO 등의 복사 방지책이 취해지고 있지 않은 미디어(2201)에 콘텐츠가 저장되고, 이들 콘텐츠에 관한 인터그리티 체크값(ICV)을, 사용자가 자유롭게 액세스하는 것이 허가되지 않은 호스트 머신 상의 안전한 미디어(2202)에 저장하고, 사용자에 의한 부정한 인터그리티 체크값(ICV)의 재기록을 방지한 예이다. 이러한 구성으로서, 예를 들면 미디어(2201)를 장착한 디바이스가 미디어(2201)의 재생을 실행할 때 호스트 머신인 PC, 서버에서 ICV의 체크를 실행하여 재생의 가부를 판정하는 구성으로 하면, 부정한 복사 콘텐츠 혹은 개찬 콘텐츠의 재생을 방지할 수 있다.
[계층 트리 구조의 카테고리 분류]
암호 키를 루트 키, 노드 키, 리프 키 등, 도 3의 계층 트리 구조로서 구성하고, 콘텐츠 키, 인증 키, ICV 생성 키, 혹은 프로그램 코드, 데이터 등을 유효화 키 블록(EKB)과 함께 암호화하여 배신하는 구성에 대하여 설명하였지만, 노드 키 등을 정의하고 있는 계층 트리 구조를 각 디바이스의 카테고리마다 분류하여 효율적인 키 갱신 처리, 암호화 키 배신, 데이터 배신을 실행하는 구성에 대하여, 이하에 설명한다.
도 23에 계층 트리 구조의 카테고리의 분류의 일례를 나타낸다. 도 23에서, 계층 트리 구조의 최상단에는, 루트 키(Kroot)(2301)가 설정되고, 이하의 중간단에는 노드 키(2302)가 설정되며, 최하단에는 리프 키(2303)가 설정된다. 각 디바이스는 개개의 리프 키와, 리프 키로부터 루트 키에 이르는 일련의 노드 키, 루트 키를 보유한다.
여기서, 일례로서 최상단으로부터 제M 단째의 임의의 노드를 카테고리 노드(2304)로서 설정한다. 즉 제M 단째의 노드의 각각을 특정 카테고리의 디바이스 설정 노드로 한다. 제M 단의 하나의 노드를 정점으로 하여 이하, M+1단 이하의 노드, 리프는, 그 카테고리에 포함되는 디바이스에 관한 노드 및 리프로 한다.
예를 들면 도 23의 제M 단째의 하나의 노드(2305)에는 카테고리[메모리 스틱(상표)]가 설정되고, 이 노드 이하에 연속해 있는 노드, 리프는 메모리 스틱을 사용한 다양한 디바이스를 포함하는 카테고리 전용의 노드 또는 리프로서 설정된다. 즉, 노드(2305) 이하를, 메모리 스틱의 카테고리로 정의되는 디바이스의 관련 노드 및 리프의 집합으로서 정의한다.
또한, M단으로부터 수단분 하위의 단을 서브 카테고리 노드(2306)로서 설정할 수 있다. 예를 들면 도면에 도시한 바와 같이 카테고리[메모리 스틱] 노드(2305)의 2단 아래의 노드에, 메모리 스틱을 사용한 디바이스의 카테고리에 포함되는 서브 카테고리 노드로서, [재생 전용기]의 노드를 설정한다. 또한, 서브 카테고리 노드인 재생 전용기의 노드(2306) 이하에, 재생 전용기의 카테고리에 포함되는 음악 재생 기능이 부가된 전화의 노드(2307)가 설정되고, 또한 그 하위에, 음악 재생 기능이 부가된 전화의 카테고리에 포함되는 [PHS] 노드(2308)와 [휴대 전화] 노드(2309)를 설정할 수 있다.
또한, 카테고리, 서브 카테고리는 디바이스의 종류뿐만 아니라, 예를 들면 임의의 메이커, 콘텐츠 프로바이더, 결제 기관 등이 독자적으로 관리하는 노드, 즉 처리 단위, 관할 단위, 혹은 제공 서비스 단위 등, 임의의 단위(이들을 총칭하여 이하, 엔티티라 함)로 설정하는 것이 가능하다. 예를 들면 하나의 카테고리 노드를 게임 기기 메이커가 판매하는 게임 기기 XYZ 전용의 정점 노드로서 설정하면, 메이커가 판매하는 게임 기기 XYZ에 그 정점 노드 이하의 하단의 노드 키, 리프 키를 저장하여 판매하는 것이 가능해지고, 그 후, 암호화 콘텐츠의 배신, 혹은 각종 키의 배신, 갱신 처리를, 그 정점 노드 키 이하의 노드 키, 리프 키에 의해 구성되는 유효화 키 블록(EKB)을 생성하여 배신하고, 정점 노드 이하의 디바이스에 대해서만 이용 가능한 데이터가 배신 가능해진다.
이와 같이, 하나의 노드를 정점으로 하여, 이하의 노드를 그 정점 노드에 정의된 카테고리, 혹은 서브 카테고리의 관련 노드로서 설정하는 구성으로 함으로써, 카테고리단, 혹은 서브 카테고리단의 하나의 정점 노드를 관리하는 메이커, 콘텐츠 프로바이더 등이 그 노드를 정점으로 하는 유효화 키 블록(EKB)을 독자적으로 생성하여, 정점 노드 이하에 속하는 디바이스로 배신하는 구성이 가능해지며, 정점 노드에 속하지 않은 다른 카테고리의 노드에 속하는 디바이스에는 전혀 영향을 미치게 하지 않고서 키 갱신을 실행할 수 있다.
[간략 EKB에 의한 키 배신 구성(1)]
앞에서 설명한 예를 들면 도 3의 트리 구성에서, 키, 예를 들면 콘텐츠 키를 소정 디바이스(리프)로 송부하는 경우, 키 배포처 디바이스가 소유하고 있는 리프 키, 노드 키를 이용하여 복호 가능한 유효화 키 블록(EKB)을 생성하여 제공한다. 예를 들면 도 24의 (a)에 도시한 트리 구성에서, 리프를 구성하는 디바이스 a, g, j에 대하여 키, 예를 들면 콘텐츠 키를 송신하는 경우, a, g, j의 각 노드에서 복호 가능한 유효화 키 블록(EKB)을 생성하여 배신한다.
예를 들면 갱신 루트 키 K(t)root에서 콘텐츠 키 K(t)con을 암호화 처리하고, EKB와 함께 배신하는 경우를 생각한다. 이 경우, 디바이스 a, g, j는 각각이 도 24의 (b)에 도시한 리프 및 노드 키를 이용하여 EKB의 처리를 실행하여 K(t)root를 취득하고, 취득한 갱신 루트 키 K(t)root에 의해 콘텐츠 키 K(t)con의 복호 처리를 실행하여 콘텐츠 키를 얻는다.
이 경우에 제공되는 유효화 키 블록(EKB)의 구성은, 도 25에 도시된 바와 같다. 도 25에 도시한 유효화 키 블록(EKB)은, 앞의 도 6에서 설명한 유효화 키 블록(EKB)의 포맷에 의해 구성된 것으로, 데이터(암호화 키)와 대응하는 태그를 갖는다. 태그는, 앞에서 도 7의 (a) 내지 도 7의 (c)를 참조하여 설명한 바와 같이 좌측(L),우측(R), 각각의 방향에 데이터가 있으면 O, 없으면 1을 나타내고 있다.
유효화 키 블록(EKB)을 수령한 디바이스는, 유효화 키 블록(EKB)의 암호화 키와 태그에 기초하여 순차 암호화 키의 복호 처리를 실행하여 상위 노드의 갱신 키를 취득해 간다. 도 25에 도시한 바와 같이, 유효화 키 블록(EKB)은 루트로부터리프까지의 단수(깊이)가 많을 수록, 그 데이터량은 증가해 간다. 단수(깊이)는 디바이스(리프) 수에 따라 증대하는 것으로, 키의 배신처가 되는 디바이스 수가 많은 경우에는, EKB의 데이터량이 더욱 증대하게 된다.
이러한 유효화 키 블록(EKB)의 데이터량의 삭감을 가능하게 한 구성에 대하여 설명한다. 도 26의 (a) 및 도 26의 (b)는 유효화 키 블록(EKB)을 키 배신 디바이스에 따라 간략화하여 구성한 예를 나타내는 것이다.
도 25와 마찬가지로, 리프를 구성하는 디바이스 a, g, j에 대하여 키, 예를 들면 콘텐츠 키를 송신하는 경우를 상정한다. 도 26의 (a)에 도시한 바와 같이 키 배신 디바이스에 의해서만 구성되는 트리를 구축한다. 이 경우, 도 24의 (b)에 도시한 구성에 기초하여 새로운 트리 구성으로서 도 26의 (b)의 트리 구성이 구축된다. Kroot로부터 Kj까지는 전혀 분기가 없이 하나의 브랜치만이 존재하면 되고, Kroot로부터 Ka 및 Kg에 이르기 위해서는, K0에 분기점을 구성하는 것만으로, 2분기 구성의 도 26의 (a)의 트리가 구축된다.
도 26의 (a)에 도시한 바와 같이, 노드로서 K0만을 갖는 간략화한 트리가 생성된다. 갱신 키 배신을 위한 유효화 키 블록(EKB)은, 이들 간략 트리에 기초하여 생성한다. 도 26의 (a)에 도시한 트리는, 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리이다. 갱신 키 배신을 위한 유효화 키 블록(EKB)은, 이 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성된다.
앞의 도 25에서 설명한 유효화 키 블록(EKB)은, 각 리프 a, g, j로부터 Kroot에 이르기까지의 모든 키를 암호화한 데이터를 저장하고 있었지만, 간략화 EKB는 간략화한 트리를 구성하는 노드에 대해서만의 암호화 데이터를 저장한다. 도 26의 (b)에 도시한 바와 같이 태그는 3비트 구성을 갖는다. 제1 및 제2 비트는, 도 25의 예와, 마찬가지의 의미를 갖고, 좌측(L), 우측(R), 각각의 방향에 데이터가 있으면 0, 없으면 1을 나타낸다. 제3번째의 비트는 EKB 내에 암호화 키가 저장되어 있는지의 여부를 나타내기 위한 비트이고, 데이터가 저장되어 있는 경우에는 1, 데이터가 없는 경우에는 0으로서 설정된다.
데이터 통신망, 혹은 기억 매체에 저장되어 디바이스(리프)에 제공되는 유효화 키 블록(EKB)은, 도 26의 (b)에 도시한 바와 같이, 도 25에 도시한 구성에 비교하면, 데이터량이 대폭 삭감된 것으로 된다. 도 26의 (a) 및 도 26의 (b)에 도시한 유효화 키 블록(EKB)을 수령한 각 디바이스는, 태그의 제3 비트에 1이 저장된 부분의 데이터만을 순차 복호함으로써, 소정의 암호화 키의 복호를 실현할 수 있다. 예를 들면 디바이스 a는 암호화 데이터 Enc(Ka, K(t)0)를 리프 키 Ka로 복호하여, 노드 키 K(t)0을 취득하고, 노드 키 K(t)0에 의해 암호화 데이터 Enc(K(t)0, K(t)root)를 복호하여 K(t)root를 취득한다. 디바이스 j는 암호화 데이터 Enc(kj, K(t)root)를 리프 키 Kj로 복호하여, K(t)root를 취득한다.
이와 같이, 배신처의 디바이스에 의해서만 구성되는 간략화한 새로운 트리 구성을 구축하고, 구축된 트리를 구성하는 리프 및 노드의 키만을 이용하여 유효화 키 블록(EKB)을 생성함으로써, 적은 데이터량의 유효화 키 블록(EKB)을 생성하는것이 가능해지며, 유효화 키 블록(EKB)의 데이터 배신이 효율적으로 실행 가능해진다.
[간략 EKB에 의한 키 배신 구성(2)]
도 26의 (a) 및 도 26의 (b)에서 도시한 간략화한 트리에 기초하여 생성되는 유효화 키 블록(EKB)을 더욱 간략화하여 데이터량을 삭감하고, 효율적인 처리를 가능하게 한 구성에 대하여 설명한다.
도 26의 (a) 및 도 26의 (b)를 이용하여 설명한 구성은, 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리였다. 갱신 키 배신을 위한 유효화 키 블록(EKB)은, 이 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성된다.
도 26의 (a)에 도시한 재구축 계층 트리는 리프 a, g, j에서 갱신 루트 키 K(t)root를 취득할 수 있게 하기 위해서, 도 26의 (b)에 도시한 유효화 키 블록(EKB)을 배신한다. 도 26의 (b)의 유효화 키 블록(EKB)의 처리에서, 리프 j는 Enc(kj, K(t)root)의 1회의 복호 처리에 의해 루트 키: K(t)root를 취득할 수 있다. 그러나, 리프 a, g는 Enc(ka, K(t)0) 또는, Enc(kg, K(t)0)의 복호 처리에 의해 K(t)0을 얻은 후, 또한, Enc(K(t)0, K(t)root)의 복호 처리를 실행하여 루트 키: K(t) root를 취득한다. 즉, 리프 a, g는 2회의 복호 처리를 실행하는 것이 필요해진다.
도 26의 (a) 및 도 26의 (b)의 간략화한 재구축 계층 트리는, 노드 K0이 그하위 리프 a, g의 관리 노드로서 독자의 관리를 실행하고 있는 경우, 예를 들면 후술하는 서브 루트 노드로서, 하위 리프의 관리를 실행하고 있는 경우에는, 리프 a, g가 갱신 키를 취득한 것을 확인하는 의미로 유효하지만, 노드 KO이 하위 리프의 관리를 행하고 있지 않은 경우, 혹은 행하고 있었다고 해도, 상위 노드로부터의 갱신 키 배신을 허용하고 있는 경우에는, 도 26의 (a)에 도시한 재구축 계층 트리를 더욱 간략화하고, 노드 K0의 키를 생략하여 유효화 키 블록(EKB)을 생성하여 배신하여도 된다.
도 27의 (a) 및 도 27의 (b)에, 이러한 유효화 키 블록(EKB)의 구성을 나타낸다. 도 26의 (a) 및 도 26의 (b)와 마찬가지로, 리프를 구성하는 디바이스 a, g, j에 대하여 키, 예를 들면 콘텐츠 키를 송신하는 경우를 상정한다. 도 27의 (a)에 도시한 바와 같이, 루트 Kroot와 각 리프 a, g, j를 직접 접속한 트리를 구축한다.
도 27의 (a)에 도시한 바와 같이, 도 26의 (a)에 도시한 재구축 계층 트리로부터 노드 K0이 생략된 간략화한 트리가 생성된다. 갱신 키 배신을 위한 유효화 키 블록(EKB)은 이들 간략 트리에 기초하여 생성한다. 도 27의 (a)에 도시한 트리는, 유효화 키 블록(EKB)을 복호 가능한 리프와 루트를 직접 연결하는 버스만에 따라 재구축되는 재구축 계층 트리이다. 갱신 키 배신을 위한 유효화 키 블록(EKB)은, 이 재구축 계층 트리의 리프에 대응하는 키에만 기초하여 구성된다.
또, 도 27의 (a)의 예는, 말단을 리프로 한 구성예이지만, 예를 들면 최상위 노드가 복수의 중위, 하위 노드에 대하여 키를 배신하는 경우에도, 최상위 노드와중위, 하위 노드를 직접 접속한 간략화 트리에 기초하여 유효화 키 블록(EKB)을 생성하여 키 배신을 실행하는 것이 가능하다. 이와 같이, 재구축 계층 트리는 간략화한 트리를 구성하는 정점 노드와, 간략화한 트리를 구성하는 말단 노드 또는 리프를 직접 접속한 구성을 갖는다. 이 간략화 트리에서는, 정점 노드로부터의 분기는 2에 한하지 않고, 배신 노드 또는 리프 수에 따라서 3 이상의 다분기를 갖는 트리로서 구성하는 것이 가능하다.
앞의 도 25에서 설명한 유효화 키 블록(EKB)은, 각 리프 a, g, j로부터 Kroot에 이르기까지의 모든 키를 암호화한 데이터를 저장하고, 도 26의 (a) 및 도 26의 (b)에서 설명한 유효화 키 블록(EKB)은 리프 a, g, j의 리프 키, a, g의 공통 노드로서의 K0, 또한, 루트 키를 저장한 구성이지만, 도 27의 (a)에 도시한 간략화 계층 트리에 기초하는 유효화 키 블록(EKB)은, 노드 K0의 키를 생략하였기 때문에, 도 27의 (b)에 도시한 바와 같이, 더욱 데이터량이 적은 유효화 키 블록(EKB)으로 된다.
도 27의 (b)의 유효화 키 블록(EKB)은, 도 26의 (b)의 유효화 키 블록(EKB)과 마찬가지로 3비트 구성의 태그를 갖는다. 제1 및 제2 비트는, 도 26의 (a) 및 도 26의 (b)에서 설명한 바와 마찬가지로, 좌측(L),우측(R), 각각의 방향에 데이터가 있으면 0, 없으면 1을 나타낸다. 제3번째의 비트는 EKB 내에 암호화 키가 저장되어 있는지의 여부를 나타내기 위한 비트이고, 데이터가 저장되어 있는 경우에는 1, 데이터가 없는 경우에는 O으로서 설정된다.
도 27의 (b)의 유효화 키 블록(EKB)에서, 각 리프 a, g, j는, Enc(ka,K(t)root), 또는 Enc(kg, K(t)root) Enc(kj, K(t)root)의 1회의 복호 처리에 의해 루트 키: K(t)root를 취득할 수 있다.
이와 같이 간략화된 재구축 트리의 최상위 노드와, 트리를 구성하는 말단 노드 또는 리프를 직접, 접속한 구성을 갖는 트리에 기초하여 생성되는 유효화 키 블록(EKB)은, 도 27의 (b)에 도시한 바와 같이, 재구축 계층 트리의 정점 노드 및 말단 노드 또는 리프에 대응하는 키에만 기초하여 구성된다.
도 26의 (a) 및 도 26의 (b) 또는 도 27의 (a) 및 도 27의 (b)에서 설명한 유효화 키 블록(EKB)과 같이, 배신처의 디바이스에 의해서만 구성되는 간략화한 새로운 트리 구성을 구축하여, 구축된 트리를 구성하는 리프만, 혹은 리프와 공통 노드의 키만을 이용하여 유효화 키 블록(EKB)을 생성함으로써, 적은 데이터량의 유효화 키 블록(EKB)을 생성하는 것이 가능해지고, 유효화 키 블록(EKB)의 데이터 배신이 효율적으로 실행 가능해진다.
또, 간략화한 계층 트리 구성은, 후단에서 설명하는 엔티티 단위의 EKB 관리 구성에서 특히 유효하게 활용 가능하다. 엔티티는 키 배신 구성으로서의 트리 구성을 구성하는 노드 혹은 리프로부터 선택한 복수의 노드 혹은 리프의 집합체 블록이다. 엔티티는, 디바이스의 종류에 따라 설정되는 집합이거나, 혹은 디바이스 제공 메이커, 콘텐츠 프로바이더, 결제 기관 등의 관리 단위 등, 어떤 공통점을 갖는다 처리 단위, 관할 단위, 혹은 제공 서비스 단위 등, 다양한 형태의 집합으로서 설정된다. 하나의 엔티티에는, 임의의 공통의 카테고리로 분류되는 디바이스가 모여 있으며, 예를 들면 복수의 엔티티의 정점 노드(서브 루트)에 의해 상술한 바와마찬가지의 간략화한 트리를 재구축하여 EKB를 생성함으로써, 선택된 엔티티에 속하는 디바이스에서 복호 가능한 간략화된 유효화 키 블록(EKB)의 생성, 배신이 가능해진다. 엔티티 단위의 관리 구성에 대해서는 후단에서 상세히 설명한다.
또, 이러한 유효화 키 블록(EKB)은 광 디스크, DVD 등의 정보 기록 매체에 저장한 구성으로 하는 것이 가능하다. 예를 들면, 상술의 암호화 키 데이터에 의해 구성되는 데이터부와, 암호화 키 데이터의 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 유효화 키 블록(EKB)에 또한, 갱신 노드 키에 의해 암호화한 콘텐츠 등의 메시지 데이터를 저장한 정보 기록 매체를 각 디바이스에 제공하는 구성이 가능하다. 디바이스는 유효화 키 블록(EKB)에 포함되는 암호화 키 데이터를 태그부의 식별 데이터에 따라 순차적으로 추출하여 복호하고, 콘텐츠의 복호에 필요한 키를 취득하여 콘텐츠의 이용을 행하는 것이 가능해진다. 물론, 유효화 키 블록(EKB)을 인터넷 등의 네트워크를 통해 배신하는 구성으로 하여도 된다.
[엔티티 단위의 EKB 관리 구성]
다음에, 키 배신 구성으로서의 트리 구성을 구성하는 노드 혹은 리프를, 복수의 노드 혹은 리프의 집합으로서의 블록으로 관리하는 구성에 대하여 설명한다. 또, 복수의 노드 혹은 리프의 집합으로서의 블록을 이하 엔티티라 한다. 엔티티는 디바이스의 종류에 따라 설정되는 집합이거나, 혹은 디바이스 제공 메이커, 콘텐츠 프로바이더, 결제 기관 등의 관리 단위 등, 어떤 공통점을 갖는 처리 단위, 관할 단위, 혹은 제공 서비스 단위 등, 다양한 형태의 집합으로서 설정된다.
엔티티에 대하여, 도 28 내지 도 28의 (c)를 참조하여 설명한다. 도 28의 (a)는 트리의 엔티티 단위에서의 관리 구성을 설명하는 도면이다. 하나의 엔티티는 도면에서는 삼각형으로서 나타내며, 예를 들면 1 엔티티(2701) 내에는, 복수의 노드가 포함된다. 1 엔티티 내의 노드 구성을 나타내는 것이 도 28의 (b)이다. 하나의 엔티티는 하나의 노드를 정점으로 한 복수단의 2분기형 트리에 의해 구성된다. 이하, 엔티티의 정점 노드(2702)를 서브 루트라 한다.
트리의 말단은, 도 28의 (c)에 도시한 바와 같이 리프, 즉 디바이스에 의해 구성된다. 디바이스는 복수 디바이스를 리프로 하고, 서브 루트인 정점 노드(2702)를 갖는 트리에 의해 구성되는 어느 하나의 엔티티에 속한다.
도 28의 (a)에서 알 수 있는 바와 같이, 엔티티는 계층 구조를 갖는다. 이 계층 구조에 대하여 도 29의 (a) 내지 도 29의 (c)를 참조하여 설명한다.
도 29의 (a)는 계층 구조를 간략화하여 설명하기 위한 도면이고, Kroot로부터 수단 아래의 단에 엔티티 A01∼Ann이 구성되고, 엔티티A1∼An의 하위에는, 또한, 엔티티 B01∼Bnk, 또한, 그 하위에 엔티티 C1∼Cnq가 설정되어 있다. 각 엔티티는 도 29의 (b), 도 29의 (c)에 도시한 바와 같이, 복수단의 노드, 리프에 의해 구성되는 트리 형상을 갖는다.
예를 들면 엔티티 Bnk의 구성은, (b)에 도시한 바와 같이, 서브 루트(2811)를 정점 노드로 하여, 말단 노드(2812)에 이르기까지의 복수 노드를 갖는다. 이 엔티티는 식별자 Bnk를 갖고, 엔티티 Bnk 내의 노드에 대응하는 노드 키 관리를 엔티티 Bnk 독자적으로 실행함으로써, 말단 노드(2812)를 정점으로서 설정되는 하위(자(子)) 엔티티의 관리를 실행한다. 또한, 한편, 엔티티 Bnk는, 서브 루트(2811)를 말단 노드로서 갖는 상위(모(母)) 엔티티 Ann의 관리 하에 있다.
엔티티 Cn3의 구성은 (c)에 도시한 바와 같이, 서브 루트(2851)를 정점 노드로 하여, 각 디바이스인 말단 노드(2852), 이 경우에는 리프에 이를 때까지 복수 노드, 리프를 갖는다. 이 엔티티는 식별자 Cn3을 갖고, 엔티티 Cn3 내의 노드, 리프에 대응하는 노드 키, 리프 키 관리를 엔티티 Cn3 독자적으로 실행함으로써, 말단 노드(2852)에 대응하는 리프(디바이스)의 관리를 실행한다. 또한, 한편, 엔티티 Cn3은 서브 루트(2851)를 말단 노드로서 갖는 상위(모) 엔티티 Bn2의 관리 하에 있다. 각 엔티티에서의 키 관리란, 예를 들면 키 갱신 처리, 리보크 처리 등이지만, 이들은 후단에서 상세히 설명한다.
최하단 엔티티의 리프인 디바이스에는, 디바이스가 속하는 엔티티의 리프 키로부터, 자기가 속하는 엔티티의 정점 노드인 서브 루트 노드에 이르는 버스에 위치하는 각 노드의 노드 키 및 리프 키가 저장된다. 예를 들면 말단 노드(2852)의 디바이스는, 말단 노드(리프: 2852)로부터, 서브 루트 노드(2851)까지의 각 키를 저장한다.
도 30의 (a) 및 도 30의 (b)를 참조하여, 엔티티의 구성에 대하여 더욱 설명한다. 엔티티는 다양한 단수에 의해 구성되는 트리 구조를 갖는 것이 가능하다. 단수, 즉 깊이(depth)는, 엔티티로 관리하는 말단 노드에 대응하는 하위(자) 엔티티의 수, 혹은 리프로서의 디바이스 수에 따라 설정 가능하다.
도 30의 (a)에 도시한 바와 같은 상하 엔티티 구성을 구체화하면, (b)에 나타내는 형태로 된다. 루트 엔티티는, 루트 키를 갖는 최상단의 엔티티이다. 루트 엔티티의 말단 노드에 복수의 하위 엔티티로서 엔티티 A, B, C가 설정되며, 또한, 엔티티 C의 하위 엔티티로서 엔티티 D가 설정된다. 엔티티 C2901은, 그 말단 노드의 1개 이상의 노드를 예비 노드(2950)로서 보유하며, 자기가 관리하는 엔티티를 증가시키는 경우, 또한 복수단의 트리 구성을 갖는 엔티티 C'2902를 예비 노드(2950)를 정점 노드로서 신설함으로써, 관리 말단 노드(2970)를 증가시켜, 관리 말단 노드에 증가한 하위 엔티티를 추가할 수 있다.
예비 노드에 대하여, 도 31을 참조하여 설명한다. 엔티티 A, 3011은 관리하는 하위 엔티티 B, C, D…를 갖고, 하나의 예비 노드(3021)를 갖는다. 엔티티는 관리 대상의 하위 엔티티를 더욱 증가시키고 싶은 경우, 예비 노드(3021)에, 자기 관리의 하위 엔티티 A', 3012를 설정하고, 하위 엔티티 A', 3012의 말단 노드에 또한 관리 대상인 하위 엔티티 F, G를 설정할 수 있다. 자기 관리의 하위 엔티티 A', 3012도, 그 말단 노드 중 적어도 하나를 예비 노드(3022)로서 설정함으로써, 또한 하위 엔티티 A''3013을 설정하고, 또한 관리 엔티티를 증가시킬 수 있다. 하위 엔티티 A''3013의 말단 노드에도 1 이상의 예비 노드를 확보한다. 이러한 예비 노드 보유 구성을 취함으로써, 임의의 엔티티가 관리하는 하위 엔티티는 끝없이 증가시키는 것이 가능해진다. 또, 예비 엔티티는 말단 노드의 하나만이 아니라, 여러 개 설정하는 구성으로 하여도 된다.
각각의 엔티티에서는, 엔티티 단위로 유효화 키 블록(EKB)이 구성되며, 엔티티 단위에서의 키 갱신, 리보크 처리를 실행하게 된다. 도 31과 같이 복수의 엔티티 A, A', A''에는 각 엔티티 개개의 유효화 키 블록(EKB)이 설정되게 되지만, 이들은, 엔티티 A, A', A''를 공통으로 관리하는 예를 들면 임의의 디바이스 메이커가 일괄하여 관리하는 것이 가능하다.
[신규 엔티티의 등록 처리]
다음에, 신규 엔티티의 등록 처리에 대하여 설명한다. 등록 처리 시퀀스를 도 32에 도시한다. 도 32의 시퀀스에 따라서 설명한다. 새롭게 트리 구성 중에 추가되는 신규(자) 엔티티(N-En)는 상위(모) 엔티티(P-En)에 대하여 신규 등록 요구를 실행한다. 또, 각 엔티티는 공개 키 암호 방식에 따른 공개 키를 보유하고, 신규 엔티티는 자기 공개 키를 등록 요구 시에 상위 엔티티(P-En)로 송부한다.
등록 요구를 수령한 상위 엔티티(P-En)는, 수령한 신규(자) 엔티티 (N-En)의 공개 키를 증명서 발행국(CA: Certificate Authority)으로 전송하여, CA의 서명을 부가한 신규(자) 엔티티 (N-En)의 공개 키를 수령한다. 이들 수속은, 상위 엔티티(P-En)와 신규(자) 엔티티(N-En)와의 상호 인증의 수속으로서 행해진다.
이들 처리에 의해, 신규 등록 요구 엔티티의 인증이 종료하면, 상위 엔티티(P-En)는, 신규(자) 엔티티(N-En)의 등록을 허가하여, 신규(자) 엔티티(N-En)의 노드 키를 신규(자) 엔티티 (N-En)로 송신한다. 이 노드 키는 상위 엔티티 (P-En)의 말단 노드의 하나의 노드 키이고, 또한, 신규(자) 엔티티(N-En)의 정점 노드, 즉 서브 루트 키에 대응한다.
이 노드 키 송신이 종료하면, 신규(자) 엔티티 (N-En)는, 신규(자) 엔티티(N-En)의 트리 구성을 구축하고, 구축한 트리의 정점에 수신한 정점 노드의서브 루트 키를 설정하고, 각 노드, 리프의 키를 설정하여, 엔티티 내의 유효화 키 블록(EKB)을 생성한다. 하나의 엔티티 내의 유효화 키 블록(EKB)을 서브 EKB라 한다.
한편, 상위 엔티티(P-En)는 신규(자) 엔티티(N-E n)의 추가에 의해 유효화하는 말단 노드를 추가한 상위 엔티티(P-En) 내의 서브 EKB를 생성한다.
신규(자) 엔티티(N-En)는 신규(자) 엔티티(N-En) 내의 노드 키, 리프 키에 의해 구성되는 서브 EKB를 생성하면, 이것을 상위 엔티티(P-En)로 송신한다.
신규(자) 엔티티(N-En)로부터 서브 EKB를 수신한 상위 엔티티 (P-En)는, 수신한 서브 EKB와, 상위 엔티티(P-En)의 갱신한 서브 EKB를 키 발행 센터(KDC: Key Distribute Center)로 송신한다.
키 발행 센터(KDC)는, 모든 엔티티의 서브 EKB에 기초하여 다양한 형태의 EKB, 즉 특정한 엔티티 혹은 디바이스만이 복호 가능한 EKB를 생성하는 것이 가능해진다. 이와 같이 복호 가능한 엔티티 혹은 디바이스를 설정한 EKB를 예를 들면 콘텐츠 프로바이더에 제공하여, 콘텐츠 프로바이더가 EKB에 기초하여 콘텐츠 키를 암호화하여, 네트워크를 통해, 혹은 기록 매체에 저장하여 제공함으로써 특정한 디바이스에서만 이용 가능한 콘텐츠를 제공하는 것이 가능해진다.
또, 신규 엔티티의 서브 EKB의 키 발행 센터(KDC)에 대한 등록 처리는, 서브 EKB를 상위 엔티티를 통해 순차적으로 전송하여 실행하는 방법에 한하는 것이 아니라, 상위 엔티티를 통하지 않고 신규 등록 엔티티로부터 직접, 키 발행 센터(KDC)에 등록하는 처리를 실행하는 구성으로 하여도 된다.
상위 엔티티와, 상위 엔티티에 신규로 추가하는 하위 엔티티와의 대응에 대하여 도 33을 참조하여 설명한다. 상위 엔티티의 말단 노드의 하나(3201)를 신규 추가 엔티티의 정점 노드로서, 하위 엔티티에 제공함으로써 하위 엔티티는 상위 엔티티의 관리 하의 엔티티로서 추가된다. 상위 엔티티의 관리 하의 엔티티란, 후단에서 상세히 설명하지만, 하위 엔티티의 리보크(배제) 처리를 상위 엔티티가 실행할 수 있는 구성이라고 하는 의미를 포함하는 것이다.
도 33에 도시한 바와 같이, 상위 엔티티에 신규 엔티티가 설정되면, 상위 엔티티의 리프인 말단 노드의 하나의 노드(3201)와 신규 추가 엔티티의 정점 노드(3202)가 같은 노드로서 설정된다. 즉 상위 노드의 하나의 리프인 하나의 말단 노드가, 신규 추가 엔티티의 서브 루트로서 설정된다. 이와 같이 설정됨으로써, 신규 추가 엔티티가 전체 트리 구성 하에서 유효화된다.
도 34의 (a) 및 도 34의 (b)에 신규 추가 엔티티를 설정했을 때 상위 엔티티가 생성하는 갱신 EKB의 예를 나타낸다. 도 34의 (a) 및 도 34의 (b)는, 도 34의 (a)에 도시한 구성, 즉 이미 유효하게 존재하는 말단 노드(node000: 3301)와 말단 노드(node001: 3302)가 있고, 여기에 신규 추가 엔티티에 신규 엔티티 추가 말단 노드(node100: 3303)를 부여했을 때 상위 엔티티가 생성하는 서브 EKB의 예를 나타낸 것이다.
서브 EKB는 도 34의 (b)에 도시한 바와 같은 구성을 갖는다. 각각 유효하게 존재하는 말단 노드 키에 의해 암호화된 상위 노드 키, 상위 노드 키로 암호화된 한층 더 상위 노드 키, … 더욱 상위로 진행하여 서브 루트 키에 이르는 구성으로되어있다. 이 구성에 의해 서브 EKB가 생성된다. 각 엔티티는 도 34의 (b)에 도시한 것과 마찬가지로, 유효한 말단 노드, 혹은 리프 키에 의해 암호화된 상위 노드 키, 상위 노드 키로 더욱 상위의 노드 키를 암호화하여, 순차 상위로 진행하여 서브 루트에 이르는 암호화 데이터에 의해 구성되는 EKB를 갖고, 이것을 관리한다.
[엔티티 관리 하에서의 리보크 처리]
다음에, 키 배신 트리 구성을 엔티티 단위로서 관리하는 구성에서의 디바이스 혹은 엔티티의 리보크(배제) 처리에 대하여 설명한다. 앞의 도 3, 4에서는, 트리 구성 전체 중으로부터 특정한 디바이스만 복호 가능하여, 리보크된 디바이스는 복호 불가능한 유효화 키 블록(EKB)을 배신하는 처리에 대하여 설명하였다. 도 3, 4에서 설명한 리보크 처리는 트리 전체 중으로부터 특정한 리프인 디바이스를 리보크하는 처리이지만, 트리의 엔티티 관리에 의한 구성에서는, 엔티티마다 리보크 처리가 실행 가능해진다.
도 35 이하의 도면을 참조하여 엔티티 관리 하의 트리 구성에서의 리보크 처리에 대하여 설명한다. 도 35의 (a) 내지 도 35의 (d)는 트리를 구성하는 엔티티 중, 최하단의 엔티티, 즉 개개의 디바이스를 관리하고 있는 엔티티에 의한 디바이스의 리보크 처리를 설명하는 도면이다.
도 35의 (a)는 엔티티 관리에 의한 키 배신 트리 구조를 나타내고 있다. 트리 최상위에는 루트 노드가 설정되고, 그 수단 아래에 엔티티 A01∼Ann, 또한 그 하위단에 B01∼Bnk의 엔티티, 또한 그 하위단에 C1∼cn의 엔티티가 구성되어 있다. 가장 아래의 엔티티는, 말단 노드(리프)가 개개의 디바이스, 예를 들면 기록 재생기, 재생 전용기 등이라고 하자.
여기서, 리보크 처리는 각 엔티티에서 독자적으로 실행된다. 예를 들면, 최하단의 엔티티 C1∼Cn에서는, 리프의 디바이스의 리보크 처리가 실행된다. 도 35의 (b)에는 최하단의 엔티티의 하나인 엔티티 Cn, 3430의 트리 구성을 나타내고 있다. 엔티티 Cn, 3430은, 정점 노드(3431)를 갖고, 말단 노드인 리프에 복수의 디바이스를 갖는 구성이다.
이 말단 노드인 리프 중에 리보크 대상이 되는 디바이스, 예를 들면 디바이스(3432)가 있었다고 하면, 엔티티 Cn, 3430은 독자적으로 갱신한 엔티티 Cn 내의 노드 키, 리프 키에 의해 구성되는 유효화 키 블록(서브 EKB)을 생성한다. 이 유효화 키 블록은, 리보크 디바이스(3432)에서는 복호할 수 없고, 다른 리프를 구성하는 디바이스에서만 복호 가능한 암호화 키에 의해 구성되는 키 블록이다. 엔티티 Cn의 관리자는 이것을 갱신된 서브 EKB로서 생성한다. 구체적으로는, 서브 루트에서 리보크 디바이스(3432)에 연속해 있는 버스를 구성하는 각 노드(3431, 3434, 3435)의 노드 키를 갱신하여, 이 갱신 노드 키를 리보크 디바이스(3432) 이외의 리프 디바이스에서만 복호 가능한 암호화 키로서 구성한 블록을 갱신 서브 EKB로 한다. 이 처리는, 앞의 도 3, 4에서 설명한 리보크 처리 구성에서, 루트 키를, 엔티티의 정점 키인 서브 루트 키로 치환한 처리에 대응한다.
이와 같이 엔티티 Cn, 3430이 리보크 처리에 의해 갱신한 유효화 키 블록(서브 EKB)은 상위 엔티티로 송신된다. 이 경우, 상위 엔티티는 엔티티 Bnk, 3420이고, 엔티티 Cn, 3430의 정점 노드(3431)를 말단 노드로서 갖는 엔티티이다.
엔티티 Bnk, 3420은 하위 엔티티 Cn, 3430으로부터 유효화 키 블록(서브 EKB)을 수령하면, 그 키 블록에 포함되는 엔티티 Cnk, 3430의 정점 노드(3431)에 대응하는 엔티티 Bnk, 3420의 말단 노드(3431)를, 하위 엔티티 Cn, 3430에서 갱신된 키로 설정하여, 자신의 엔티티 Bnk, 3420의 서브 EKB의 갱신 처리를 실행한다. 도 35의 (c)에 엔티티 Bnk, 3420의 트리 구성을 나타낸다. 엔티티 Bnk, 3420에서, 갱신 대상이 되는 노드 키는, 도 35의 (c)의 서브 루트(3421)로부터 리보크 디바이스를 포함하는 엔티티를 구성하는 말단 노드(3431)에 이르는 버스 상의 노드 키이다. 즉, 갱신 서브 EKB를 전송한 엔티티의 노드(3431)에 연속해 있는 버스를 구성하는 각 노드(3421, 3424, 3425)의 노드 키가 갱신 대상이 된다. 이들 각 노드의 노드 키를 갱신하여 엔티티 Bnk, 3420이 새로운 갱신 서브 EKB를 생성한다.
또한, 엔티티 Bnk, 3420이 갱신한 유효화 키 블록(서브 EKB)은, 상위 엔티티로 송신된다. 이 경우, 상위 엔티티는 엔티티 Ann, 3410이고, 엔티티 Bnk, 3420의 정점 노드(3421)를 말단 노드로서 갖는 엔티티이다.
엔티티 Ann, 3410은 하위 엔티티 Bnk, 3420으로부터 유효화 키 블록(서브 EKB)을 수령하면, 그 키 블록에 포함되는 엔티티 Bnk, 3420의 정점 노드(3421)에 대응하는 엔티티 Ann, 3410의 말단 노드(3421)를, 하위 엔티티 Bnk, 3420에서 갱신된 키로 설정하여, 자신의 엔티티 Ann, 3410의 서브 EKB의 갱신 처리를 실행한다. 도 35의 (d)에 엔티티 Ann, 3410의 트리 구성을 나타낸다. 엔티티 Ann, 3410에서, 갱신 대상이 되는 노드 키는, 도 35의 (d)의 서브 루트(3411)로부터 갱신 서브 EKB를 전송한 엔티티의 노드(3421)에 연속해 있는 버스를 구성하는 각 노드(3411,3414, 3415)의 노드 키이다. 이들 각 노드의 노드 키를 갱신하여 엔티티 Ann, 3410이 새로운 갱신 서브 EKB를 생성한다.
이들 처리를 순차적으로 상위의 엔티티에서 실행하고, 도 30의 (b)에서 설명한 루트 엔티티까지 실행한다. 이 일련의 처리에 의해 디바이스의 리보크 처리가 완결된다. 또, 각각의 엔티티에서 갱신된 서브 EKB는 최종적으로 키 발행 센터(KDC)로 송신되고, 보관된다. 키 발행 센터(KDC)는 모든 엔티티의 갱신 서브 EKB에 기초하여 다양한 EKB를 생성한다. 갱신 EKB는 리보크된 디바이스에서의 복호가 불가능한 암호화 키 블록이 된다.
디바이스의 리보크 처리의 시퀀스도를 도 36에 도시한다. 처리 수순을 도 36의 시퀀스도에 따라 설명한다. 우선, 트리 구성의 최하단에 있는 디바이스 관리 엔티티(D-En)는, 디바이스 관리 엔티티(D-En) 내의 리보크 대상의 리프를 배제하기 위해 필요한 키 갱신을 행하고, 디바이스 관리 엔티티(D-En)의 새로운 서브 EKB(D)를 생성한다. 갱신 서브 EKB(D)는 상위 엔티티로 송부된다. 갱신 서브 EKB(D)를 수령한 상위(모) 엔티티(P1-En)는 갱신 서브 EKB(D)의 갱신 정점 노드에 대응한 말단 노드 키의 갱신 및, 그 말단 노드로부터 서브 루트에 이르는 버스 상의 노드 키를 갱신한 갱신 서브 EKB(P1)를 생성한다. 이들 처리를 순차적으로 상위 엔티티에서 실행하여, 최종적으로 갱신된 모든 서브 EKB가 키 발행 센터(KDC)에 저장되고 관리된다.
도 37의 (a) 및 도 37의 (b)에 디바이스의 리보크 처리에 의해 상위 엔티티가 갱신 처리를 행하여 생성하는 유효화 키 블록(EKB)의 예를 나타낸다.
도 37의 (a) 및 도 37의 (b)는, 도 37의 (a)에 도시한 구성에서, 리보크 디바이스를 포함하는 하위 엔티티로부터 갱신 서브 EKB를 수신한 상위 엔티티에서 생성하는 EKB의 예를 설명하는 도면이다. 리보크 디바이스를 포함하는 하위 엔티티의 정점 노드는 상위 엔티티의 말단 노드(node100: 3601)에 대응한다.
상위 엔티티는, 상위 엔티티의 서브 루트로부터 말단 노드(node100: 3601)까지의 버스에 존재하는 노드 키를 갱신하여 새로운 갱신 서브 EKB를 생성한다. 갱신 서브 EKB는 도 37의 (b)와 같이 된다. 갱신된 키는 하부선 및 [']를 붙여 나타내고 있다. 이와 같이 갱신된 말단 노드로부터 서브 루트까지의 버스 상의 노드 키를 갱신하여 그 엔티티에서의 갱신 서브 EKB로 한다.
다음에, 리보크하는 대상을 엔티티로 한 경우의 처리, 즉 엔티티의 리보크 처리에 대하여 설명한다.
도 38의 (a)는 엔티티 관리에 의한 키 배신 트리 구조를 나타내고 있다. 트리 최상위에는 루트 노드가 설정되고, 그 수단 하에 엔티티 A01∼Ann, 또 그 하위단에 B01∼Bnk의 엔티티, 또 그 하위단에 C1∼cn의 엔티티가 구성되어 있다. 가장 아래의 엔티티는 말단 노드(리프)가 개개의 디바이스, 예를 들면 기록 재생기, 재생 전용기 등이라고 하자.
여기서, 리보크 처리를, 엔티티 Cn, 3730에 대하여 실행하는 경우에 관해 설명한다. 최하단의 엔티티 Cn, 3730은 도 38의 (b)에 도시한 바와 같이 정점 노드(3431)를 갖고, 말단 노드인 리프에 복수의 디바이스를 갖는 구성이다.
엔티티 Cn, 3730을 리보크함으로써, 엔티티 Cn, 3730에 속하는 모든 디바이스의 트리 구조로부터의 일괄 배제가 가능해진다. 엔티티 Cn, 3730의 리보크 처리는 엔티티 Cn, 3730의 상위 엔티티인 엔티티 Bnk, 3720에서 실행된다. 엔티티 Bnk, 3720은 엔티티 Cn, 3730의 정점 노드(3731)를 말단 노드로서 갖는 엔티티이다.
엔티티 Bnk, 3720은 하위 엔티티 Cn, 3730의 리보크를 실행하는 경우, 엔티티 Cnk, 3730의 정점 노드(3731)에 대응하는 엔티티 Bnk, 3720의 말단 노드(3731)를 갱신하고, 또한, 그 리보크 엔티티(3730)로부터 엔티티 Bnk, 3720의 서브루트까지의 버스 상의 노드 키의 갱신을 행하여 유효화 키 블록을 생성하여 갱신 서브 EKB를 생성한다. 갱신 대상이 되는 노드 키는, 도 38의 (c)의 서브 루트(3721)로부터 리보크 엔티티의 정점 노드를 구성하는 말단 노드(3731)에 이르는 버스 상의 노드 키이다. 즉, 노드(3721, 3724, 3725, 3731)의 노드 키가 갱신 대상이 된다. 이들 각 노드의 노드 키를 갱신하여 엔티티 Bnk, 3720이 새로운 갱신 서브 EKB를 생성한다.
또는, 엔티티 Bnk, 3720은 하위 엔티티 Cn, 3730의 리보크를 실행하는 경우, 엔티티 Cnk, 3730의 정점 노드(3731)에 대응하는 엔티티 Bnk, 3720의 말단 노드(3731)는 갱신하지 않고, 그 리보크 엔티티(3730)로부터 엔티티 Bnk, 3720의 서브 루트까지의 버스 상의 말단 노드(3731)를 제외하는 노드 키의 갱신을 행하여 유효화 키 블록을 생성하고 갱신 서브 EKB를 생성하여도 된다.
또한, 엔티티 Bnk, 3720이 갱신된 유효화 키 블록(서브 EKB)은, 상위 엔티티로 송신된다. 이 경우, 상위 엔티티는 엔티티 Ann, 3710이고, 엔티티 Bnk, 3720의정점 노드(3721)를 말단 노드로서 갖는 엔티티이다.
엔티티 Ann, 3710은 하위 엔티티 Bnk, 3720으로부터 유효화 키 블록(서브 EKB)을 수령하면, 그 키 블록에 포함되는 엔티티 Bnk, 3720의 정점 노드(3721)에 대응하는 엔티티 Ann, 3710의 말단 노드(3721)를, 하위 엔티티 Bnk, 3720에서 갱신된 키로 설정하여, 자신의 엔티티 Ann, 3710의 서브 EKB의 갱신 처리를 실행한다. 도 38의 (d)에 엔티티 Ann, 3710의 트리 구성을 나타낸다. 엔티티 Ann, 3710에서, 갱신 대상이 되는 노드 키는, 도 38의 (d)의 서브 루트(3711)로부터 갱신 서브 EKB로 전송된 엔티티의 노드(3721)에 연속해 있는 버스를 구성하는 각 노드(3711, 3714, 3715)의 노드 키이다. 이들 각 노드의 노드 키를 갱신하여 엔티티 Ann, 3710의 새로운 갱신 서브 EKB를 생성한다.
이들 처리를 순차적으로 상위의 엔티티에서 실행하고, 도 30의 (b)에서 설명한 루트 엔티티까지 실행한다. 이 일련의 처리에 의해, 엔티티의 리보크 처리가 완결된다. 또, 각각의 엔티티에서 갱신된 서브 EKB는, 최종적으로 키 발행 센터(KDC)로 송신되고, 보관된다. 키 발행 센터(KDC)는 모든 엔티티의 갱신 서브 EKB에 기초하여 다양한 EKB를 생성한다. 갱신 EKB는 리보크된 엔티티에 속하는 디바이스에서의 복호가 불가능한 암호화 키 블록으로 된다.
엔티티의 리보크 처리의 시퀀스도를 도 39에 도시한다. 처리 수순을 도 39의 시퀀스도에 따라 설명한다. 우선, 엔티티를 리보크하려고 하는 엔티티 관리 엔티티(E-En)는, 엔티티 관리 엔티티(E-En) 내의 리보크 대상의 말단 노드를 배제하기 위해 필요한 키 갱신을 행하여, 엔티티 관리 엔티티(E-En)의 새로운 서브EKB(E)를 생성한다. 갱신 서브 EKB(E)는 상위 엔티티로 송부된다. 갱신 서브 EKB(E)를 수령한 상위(모) 엔티티(P1-En)는 갱신 서브 EKB (E)의 갱신 정점 노드에 대응한 말단 노드 키의 갱신 및, 그 말단 노드로부터 서브 루트에 이르는 버스 상의 노드 키를 갱신한 갱신 서브 EKB(P1)를 생성한다. 이들 처리를 순차적으로 상위 엔티티에서 실행하고, 최종적으로 갱신된 모든 서브 EKB가 키 발행 센터(KDC)에 저장되어 관리된다. 키 발행 센터(KDC)는 모든 엔티티의 갱신 서브 EKB에 기초하여 다양한 EKB를 생성한다. 갱신 EKB는 리보크된 엔티티에 속하는 디바이스에서의 복호가 불가능한 암호화 키 블록으로 된다.
도 40에 리보크된 하위 엔티티와, 리보크를 행한 상위 엔티티의 대응을 설명하는 도면을 나타낸다. 상위 엔티티의 말단 노드(3901)는, 엔티티의 리보크에 의해 갱신되고, 상위 엔티티의 트리에서의 말단 노드(3901)로부터 서브 루트까지의 버스에 존재하는 노드 키의 갱신에 의해 새로운 서브 EKB가 생성된다. 그 결과, 리보크된 하위 엔티티의 정점 노드(3902)의 노드 키와, 상위 엔티티의 말단 노드(3901)의 노드 키는 불일치가 된다. 엔티티의 리보크 후에 키 발행 센터(KDC)에 의해 생성되는 EKB는, 상위 엔티티에서 갱신된 말단 노드(3901)의 키에 기초하여 생성되게 되므로, 그 갱신 키를 보유하지 않는 하위 엔티티의 리프에 대응하는 디바이스는 키 발행 센터(KDC)에 의해 생성되는 EKB의 복호가 불가능하게 된다.
또, 상술한 설명에서는, 디바이스를 관리하는 최하단의 엔티티의 리보크 처리에 대하여 설명하였지만, 트리의 중단에 있는 엔티티 관리 엔티티를 그 상위 엔티티가 리보크하는 처리도 상기와 마찬가지의 프로세스에 의해 가능하다. 중단의엔티티 관리 엔티티를 리보크함으로써, 리보크된 엔티티 관리 엔티티의 하위에 속하는 모든 복수 엔티티 및 디바이스를 일괄하여 리보크할 수 있게 된다.
이와 같이, 엔티티 단위에서의 리보크를 실행함으로써, 하나 하나의 디바이스 단위로 실행하는 리보크 처리에 비교하여 간이(簡易)한 프로세스에서의 리보크 처리가 가능해진다.
[엔티티의 캐퍼빌리티 관리]
다음에, 엔티티 단위에서의 키 배신 트리 구성에서, 각 엔티티가 허용하는 캐퍼빌리티(Capability)를 관리하여, 캐퍼빌리티에 따른 콘텐츠 배신을 행하는 처리 구성에 대하여 설명한다. 여기서 캐퍼빌리티란, 예를 들면 특정한 압축 음성 데이터의 복호가 가능하다든지, 특정한 음성 재생 방식을 허용하다든지, 혹은 특정한 화상 처리 프로그램을 처리할 수 있는 등, 디바이스가 어떠한 콘텐츠, 혹은 프로그램 등을 처리할 수 있는 디바이스인지, 즉 디바이스의 데이터 처리 능력에 관한 정의 정보이다.
도 41에 캐퍼빌리티를 정의한 엔티티 구성예를 나타낸다. 키 배신 트리 구성의 최정점에 루트 노드가 위치하고, 하층에 복수의 엔티티가 접속되어 각 노드가 2분기를 갖는 트리 구성이다. 여기서, 예를 들면 엔티티(4001)는 음성 재생 방식 A, B, C 중 어느 하나를 허용하는 캐퍼빌리티를 갖는 엔티티로서 정의된다. 구체적으로는, 예를 들면 임의의 음성 압축 프로그램 A, B, 또는 C 방식으로 압축한 음악 데이터를 배신한 경우에, 엔티티(4001) 이하에 구성된 엔티티에 속하는 디바이스는 압축 데이터를 신장(伸張)하는 처리가 가능하다.
마찬가지로 엔티티(4002)는 음성 재생 방식 B 또는 C, 엔티티(4003)는 음성 재생 방식 A 또는 B, 엔티티(4004)는 음성 재생 방식 B, 엔티티(4005)는 음성 재생 방식 C를 처리하는 것이 가능한 캐퍼빌리티를 갖는 엔티티로서 정의된다.
한편, 엔티티(4021)는 화상 재생 방식 p, q, r을 허용하는 엔티티로서 정의되며, 엔티티(4022)는 방식 p, q의 화상 재생 방식, 엔티티(4023)는 방식 p의 화상 재생이 가능한 캐퍼빌리티를 갖는 엔티티로서 정의된다.
이러한 각 엔티티의 캐퍼빌리티 정보는, 키 발행 센터(KDC)에서 관리된다. 키 발행 센터(KDC)는, 예를 들면 있는 콘텐츠 프로바이더가 특정한 압축 프로그램으로 압축한 음악 데이터를 다양한 디바이스로 배신하고 싶은 경우, 그 특정한 압축 프로그램을 재생 가능한 디바이스에 대해서만 복호 가능한 유효화 키 블록(EKB)을 각 엔티티의 캐퍼빌리티 정보에 기초하여 생성할 수 있다. 콘텐츠를 제공하는 콘텐츠 프로바이더는, 캐퍼빌리티 정보에 기초하여 생성한 유효화 키 블록(EKB)에 의해 암호화한 콘텐츠 키를 배신하고, 그 콘텐츠 키로 암호화한 압축 음성 데이터를 각 디바이스에 제공한다. 이 구성에 의해, 데이터의 처리가 가능한 디바이스에 대해서만 특정한 처리 프로그램을 확실하게 제공하는 것이 가능해진다.
또, 도 41에서는 모든 엔티티에 대하여 캐퍼빌리티 정보를 정의하고 있는 구성이지만, 도 41의 구성과 같이 모든 엔티티에 캐퍼빌리티 정보를 정의하는 것은 필수는 아니고, 예를 들면 도 42에 도시한 바와 같이 디바이스가 속하는 최하단의 엔티티에 대해서만 캐퍼빌리티를 정의하여, 최하단의 엔티티에 속하는 디바이스의 캐퍼빌리티를 키 발행 센터(KDC)에서 관리하여, 콘텐츠 프로바이더가 기대하는 처리가 가능한 디바이스에만 복호 가능한 유효화 키 블록(EKB)을 최하단의 엔티티에 정의된 캐퍼빌리티 정보에 기초하여 생성하는 구성으로 하여도 된다. 도 42에서는, 말단 노드에 디바이스가 정의된 엔티티 4101=4105에서의 캐퍼빌리티가 정의되며, 이들 엔티티에 대한 캐퍼빌리티를 키 발행 센터(KDC)에서 관리하는 구성이다. 예를 들면 엔티티(4101)에는 음성 재생에 대해서는 방식 B, 화상 재생에 대해서는 방식 r의 처리가 가능한 디바이스가 속해 있다. 엔티티(4102)에는 음성 재생에 대해서는 방식 A, 화상 재생에 대해서는 방식 q의 처리가 가능한 디바이스가 속해 있는 등이다.
도 43의 (a) 및 도 43의 (b)에 키 발행 센터(KDC)에서 관리하는 캐퍼빌리티 관리 테이블의 구성예를 나타낸다. 캐퍼빌리티 관리 테이블은 도 43의 (a)와 같은 데이터 구성을 갖는다. 즉, 각 엔티티를 식별하는 식별자로서의 엔티티 ID, 그 엔티티에 정의된 캐퍼빌리티를 나타내는 캐퍼빌리티 리스트 이 캐퍼빌리티 리스트는 도 43의 (b)에 도시한 바와 같이, 예를 들면 음성 데이터 재생 처리 방식 (A)가 처리 가능하면 [1], 처리 불가능하면 [0], 음성 데이터 재생 처리 방식 (B)가 처리 가능하면 [1], 처리 불가능하면 [0]…등, 다양한 형태의 데이터 처리에 대한 가부를 1비트씩 [1] 또는 [0]을 설정하여 구성되어 있다. 또, 이 캐퍼빌리티 정보의 설정 방법은 이러한 형식에 한하지 않고, 엔티티의 관리 디바이스에 대한 캐퍼빌리티를 식별 가능한 다른 구성이어도 된다.
캐퍼빌리티 관리 테이블에는, 또한, 각 엔티티의 서브 EKB, 혹은 서브 EKB가 다른 데이터 베이스에 저장되어 있는 경우에는, 서브 EKB의 식별 정보가 저장되고,또한, 각 엔티티의 서브 루트 노드 식별 데이터가 저장된다.
키 발행 센터(KDC)는 캐퍼빌리티 관리 테이블에 기초하여, 예를 들면 특정한 콘텐츠의 재생 가능한 디바이스만이 복호 가능한 유효화 키 블록(EKB)을 생성한다. 도 44를 이용하여, 캐퍼빌리티 정보에 기초한 유효화 키 블록의 생성 처리에 대하여 설명한다.
우선, 단계 S4301에서, 키 발행 센터(KDC)는 캐퍼빌리티 관리 테이블에서, 지정된 캐퍼빌리티를 갖는 엔티티를 선택한다. 구체적으로는, 예를 들면 콘텐츠 프로바이더가 음성 데이터 재생 처리 방식 A에 기초한 재생 가능한 데이터를 배신하고 싶은 경우에는, 도 43의 (a)의 캐퍼빌리티 리스트로부터, 예를 들면 음성 데이터 재생 처리(방식 A)의 항목이 [1]에 설정된 엔티티를 선택한다.
다음에, 단계 S4302에서, 선택된 엔티티에 의해 구성되는 선택 엔티티 ID의 리스트를 생성한다. 다음에, 단계 S4303에서, 선택 엔티티 ID에 의해 구성되는 트리에 필요한 버스(키 배신 트리 구성의 버스)를 선택한다. 단계 S4304에서는, 선택 엔티티 ID의 리스트에 포함되는 모든 버스 선택이 완료되었는지의 여부를 판정하여, 완료할 때까지, 단계 S4303에서 버스를 생성한다. 이것은, 복수의 엔티티가 선택된 경우에, 각각의 버스를 순차 선택하는 처리를 의미하고 있다.
선택 엔티티 ID의 리스트에 포함되는 모든 버스 선택이 완료하면, 단계 S4305로 진행하고, 선택한 버스와, 선택 엔티티에 의해서만 구성되는 키 배신 트리 구조를 구축한다.
다음에, 단계 S4306에서, 단계 S4305에서 생성한 트리 구조의 노드 키의 갱신 처리를 행하여, 갱신 노드 키를 생성한다. 또한, 트리를 구성하는 선택 엔티티의 서브 EKB를 캐퍼빌리티 관리 테이블로부터 추출하고, 서브 EKB와, 단계 S4306에서 생성한 갱신 노드 키에 기초하여 선택 엔티티의 디바이스에서만 복호 가능한 유효화 키 블록(EKB)을 생성한다. 이와 같이 하여 생성한 유효화 키 블록(EKB)은 특정한 캐퍼빌리티를 갖는 디바이스에서만 이용, 즉 복호 가능한 유효화 키 블록(EKB)으로 된다. 이 유효화 키 블록(EKB)으로 예를 들면 콘텐츠 키를 암호화하고, 그 콘텐츠 키로 특정 프로그램에 기초하여 압축한 콘텐츠를 암호화하여 디바이스에 제공함으로써, 키 발행 센터(KDC)에 의해 선택된 특정한 처리 가능한 디바이스에서만 콘텐츠가 이용된다.
이와 같이 키 발행 센터(KDC)는, 캐퍼빌리티 관리 테이블에 기초하여, 예를 들면 특정한 콘텐츠가 재생 가능한 디바이스만이 복호 가능한 유효화 키 블록(EKB)을 생성한다. 따라서, 새로운 엔티티가 등록되는 경우에는, 그 신규 등록 엔티티의 캐퍼빌리티를 사전에 취득하는 것이 필요해진다. 이 엔티티 신규 등록에 따르는 캐퍼빌리티 통지 처리에 대하여 도 45를 참조하여 설명한다.
도 45는, 신규 엔티티가 키 배신 트리 구성에 참가하는 경우의 캐퍼빌리티 통지 처리 시퀀스를 나타낸 도면이다.
새롭게 트리 구성 중에 추가되는 신규(자) 엔티티(N-En)는, 상위(모) 엔티티(P-En)에 대하여 신규 등록 요구를 실행한다. 또, 각 엔티티는, 공개 키 암호 방식에 따른 공개 키를 보유하고, 신규 엔티티는 자기의 공개 키를 등록 요구에서 상위 엔티티(p-En)로 송부한다.
등록 요구를 수령한 상위 엔티티(P-En)는, 수령한 신규(자) 엔티티(N-En)의 공개 키를 증명서 발행국(CA: Certificate Authority)으로 전송하고, CA의 서명을 부가한 신규(자) 엔티티(N-En)의 공개 키를 수령한다. 이들 수속은, 상위 엔티티(P-En)와 신규(자) 엔티티(N-En)와의 상호 인증의 수속으로서 행해진다.
이들 처리에 의해, 신규 등록 요구 엔티티의 인증이 종료하면, 상위 엔티티(P-En)는, 신규(자) 엔티티(N-En)의 등록을 허가하고, 신규(자) 엔티티(N-En)의 노드 키를 신규(자) 엔티티(N-En)로 송신한다. 이 노드 키는, 상위 엔티티(P-En)의 말단 노드의 하나의 노드 키이고, 또한, 신규(자) 엔티티(N-En)의 정점 노드, 즉 서브 루트 키에 대응한다.
이 노드 키 송신이 종료하면, 신규(자) 엔티티(N-En)는 신규(자) 엔티티(N-En)의 트리 구성을 구축하며, 구축된 트리의 정점에 수신한 정점 노드의 서브 루트 키를 설정하고, 각 노드, 리프의 키를 설정하여, 엔티티 내의 유효화 키 블록(서브 EKB)을 생성한다. 한편, 상위 엔티티(P-En)도, 신규(자) 엔티티(N-En)의 추가에 의해, 유효화하는 말단 노드를 추가한 상위 엔티티(P-En) 내의 서브 EKB를 생성한다.
신규(자) 엔티티(N-En)는 신규(자) 엔티티(N-En) 내의 노드 키, 리프 키에 의해 구성되는 서브 EKB를 생성하면, 이것을 상위 엔티티(P-En)로 송신하고, 또한, 자기 엔티티로 관리하는 디바이스에 대한 캐퍼빌리티 정보를 상위 엔티티로 통지한다.
신규(자) 엔티티(N-En)로부터 서브 EKB 및 캐퍼빌리티 정보를 수신한 상위엔티티(P-En)는, 수신한 서브 EKB와 캐퍼빌리티 정보와, 상위 엔티티(P-En)의 갱신한 서브 EKB를 키 발행 센터(KDC: Key Distribute Center)로 송신한다.
키 발행 센터(KDC)는, 수령한 엔티티의 서브 EKB 및 캐퍼빌리티 정보를 도 43의 (a) 및 도 43의 (b)에서 설명한 캐퍼빌리티 관리 테이블에 등록하고, 캐퍼빌리티 관리 테이블을 갱신한다. 키 발행 센터(KDC)는, 갱신한 캐퍼빌리티 관리 테이블에 기초하여 다양한 형태의 EKB, 즉 특정한 캐퍼빌리티를 갖는 엔티티 혹은 디바이스만이 복호 가능한 EKB를 생성한다는 것이 가능해진다.
이상, 특정한 실시예를 참조하면서, 본 발명에 대하여 상세히 설명하였다. 그러나, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 실시예의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라는 형태로 본 발명을 개시한 것이며, 한정적으로 해석되어서는 안된다. 본 발명의 요지를 판단하기 위해서는, 하기에 기재하는 청구의 범위 란을 참작하여야 한다.
이상, 설명한 바와 같이, 본 발명의 정보 처리 시스템 및 방법에 따르면, 콘텐츠 키나 인증 키, 콘텐츠 체크값 생성 키, 프로그램 데이터 등의 암호화 처리 키 블록으로서 적용 가능한 유효화 키 블록(EKB)의 생성에서, 계층적 키 배신 트리를 배신 디바이스에 따라 재구축하여, 재구축된 간략 트리에 포함되는 노드, 리프에 기초하여 유효화 키 블록(EKB)을 생성하는 구성으로 하였으므로, 유효화 키 블록(EKB)의 대폭적인 데이터량 삭감이 실현된다.
또한, 본 발명의 정보 처리 시스템 및 방법에 따르면, 간략화한 재구축 계층트리에 기초한 유효화 키 블록(EKB)을 구성하고, 또한, EKB 중의 암호화 키 데이터의 위치 식별자로서의 태그에 암호화 키 데이터의 유무를 판별하는 데이터를 포함시킨 구성으로 하였기 때문에, EKB의 대폭적인 데이터량 삭감이 실현됨과 함께, EKB를 수령한 디바이스에서의 태그를 이용한 암호화 키 데이터의 추출이 용이해져, 디바이스에서의 EKB 복호 처리가 효율적으로 된다.

Claims (39)

1 이상의 선택된 디바이스에서만 이용 가능한 암호화 메시지 데이터를 배신하는 정보 처리 시스템에 있어서,
개개의 디바이스는, 복수의 상이한 디바이스를 리프로 한 계층 트리 구조에서의 각 노드에 고유의 노드 키와 각 디바이스 고유의 리프 키의 상이한 키 세트를 각각 보유함과 함께, 디바이스에 대하여 배신되는 상기 암호화 메시지 데이터에 관한 복호 처리를 상기 키 세트를 사용하여 실행하는 암호 처리 수단을 포함하고,
상기 디바이스에 제공되는 암호화 메시지 데이터는, 상기 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 상기 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키를, 상기 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)의 복호 처리에 의해 얻어지는 상기 갱신 노드 키에 의해 암호화된 데이터 구성이며,
상기 유효화 키 블록(EKB)은, 상기 암호화 키 데이터에 의해 구성되는 데이터부와, 상기 데이터부에 저장되는 암호화 키 데이터의 상기 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 구성인
것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화한 데이터이고,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그로서 구성되어 있는
것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되며,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인
것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되며,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그와, 상기 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인 것을 특징으로 하는 정보 처리 시스템.
제4항에 있어서,
상기 재구축 계층 트리는, 공통 요소를 갖는 디바이스의 부분 집합 트리로서 정의되는 엔티티의 정점 노드인 서브 루트를 선택하여 구성되는 트리인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 다분기형 트리에서, 상기 말단 노드 또는 리프와, 상기 다분기형 트리의 정점을 직접 접속하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 정점 노드 및 말단 노드 또는 리프에 대응하는 키에만 기초하여 구성되며,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)의태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인
것을 특징으로 하는 정보 처리 시스템.
제6항에 있어서,
상기 재구축 계층 트리는, 간략화한 다분기형 트리를 구성하는 정점 노드와, 간략화한 트리를 구성하는 말단 노드 또는 리프를 직접 접속한 3 이상의 분기를 갖는 트리인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 디바이스에서의 상기 암호 처리 수단은, 상기 유효화 키 블록(EKB)의 상기 태그부의 데이터에 의해, 상기 암호화 키 데이터를 순차적으로 추출하여, 복호 처리를 실행하고, 상기 갱신 노드 키를 취득하여, 그 취득된 갱신 노드 키에 의해 상기 암호화 메시지 데이터의 복호를 실행하는 구성인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 메시지 데이터는 콘텐츠 데이터를 복호하기 위한 복호 키로서 사용 가능한 콘텐츠 키인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 메시지 데이터는 인증 처리에 이용되는 인증 키인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 메시지 데이터는 콘텐츠의 인터그리티 체크값(ICV) 생성 키인 것을 특징으로 하는 정보 처리 시스템.
제1항에 있어서,
상기 메시지 데이터는 프로그램 코드인 것을 특징으로 하는 정보 처리 시스템.
1 이상의 선택된 디바이스에서만 이용 가능한 암호화 메시지 데이터를 배신하는 정보 처리 방법에 있어서,
복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 상기 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키를, 상기 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 데이터부와, 상기 데이터부에 저장되는 암호화 키 데이터의 상기 계층 트리 구조에 있어서의 위치 식별 데이터로서의 태그부를 포함하는 유효화 키 블록(EKB)을 생성하는 유효화 키 블록(EKB) 생성 단계와,
상기 갱신 노드 키에 의해 암호화한 메시지 데이터를 생성하여 디바이스에 대하여 배신하는 메시지 데이터 배신 단계
를 포함하는 정보 처리 방법.
제13항에 있어서,
상기 정보 처리 방법은
상기 계층 트리 구조에서의 각 노드에 고유의 노드 키와 각 디바이스 고유의 리프 키의 상이한 키 세트를 각각 보유하는 디바이스에 있어서, 상기 암호화 메시지 데이터에 대한 복호 처리를 상기 키 세트를 사용하여 실행하는 복호 처리 단계
를 더 포함하는 정보 처리 방법.
제13항에 있어서,
상기 유효화 키 블록(EKB) 생성 단계는
상기 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화하여 상기 암호화 키 데이터를 생성하는 단계와,
상기 유효화 키 블록(EKB)에 저장되는 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 위치의 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그를 생성하여 상기 태그부에 저장하는 단계
를 포함하는 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 유효화 키 블록(EKB) 생성 단계는
상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축 계층 트리를 생성하는 단계와,
상기 재구축 계층 트리의 구성 노드 또는 리프에 대응하는 키에만 기초하여 유효화 키 블록(EKB)을 생성하는 단계와,
상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 상기 태그부에 저장하는 단계
를 포함하는 것을 특징으로 하는 정보 처리 방법.
제16항에 있어서,
상기 재구축 계층 트리를 생성하는 단계는, 공통 요소를 갖는 디바이스의 부분 집합 트리로서 정의되는 엔티티의 정점 노드인 서브 루트를 선택하여 실행되는 트리 생성 처리인 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 유효화 키 블록(EKB) 생성 단계는
상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 다분기형 트리에서, 상기 말단 노드 또는 리프와, 상기 다분기형트리의 정점을 직접 접속하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리를 생성하는 단계와,
상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 상기 태그부에 저장하는 단계
를 포함하는 것을 특징으로 하는 정보 처리 방법.
제18항에 있어서,
상기 재구축 계층 트리의 생성 단계에 있어서 생성하는 재구축 계층 트리는, 간략화한 다분기형 트리를 구성하는 정점 노드와, 간략화한 트리를 구성하는 말단 노드 또는 리프를 직접 접속한 3 이상의 분기를 갖는 트리로서 생성하는 것을 특징으로 하는 정보 처리 방법.
제14항에 있어서,
상기 복호 처리 단계는
상기 유효화 키 블록(EKB)의 상기 태그부에 저장된 위치 식별 데이터에 기초하여 상기 데이터부에 저장된 암호화 키 데이터를 순차적으로 추출하여 순차 복호 처리를 실행함으로써 상기 갱신 노드 키를 취득하는 갱신 노드 키 취득 단계와,
상기 갱신 노드 키에 의해 상기 암호화 메시지 데이터의 복호를 실행하는 메시지 데이터 복호 단계
를 포함하는 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 메시지 데이터는 콘텐츠 데이터를 복호하기 위한 복호 키로서 사용 가능한 콘텐츠 키인 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 메시지 데이터는 인증 처리에 이용되는 인증 키인 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 메시지 데이터는 콘텐츠의 인터그리티 체크값(ICV) 생성 키인 것을 특징으로 하는 정보 처리 방법.
제13항에 있어서,
상기 메시지 데이터는 프로그램 코드인 것을 특징으로 하는 정보 처리 방법.
데이터를 저장한 정보 기록 매체에 있어서,
복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 상기 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키를, 상기 그룹의 노드키 혹은 리프 키에 의해 암호화한 암호화 키 데이터에 의해 구성되는 데이터부와, 상기 데이터부에 저장되는 암호화 키 데이터의 상기 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 유효화 키 블록(EKB)과,
상기 갱신 노드 키에 의해 암호화한 메시지 데이터
를 저장한 정보 기록 매체.
제25항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화한 데이터이고,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 위치의 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그로서 구성되어 있는
것을 특징으로 하는 정보 기록 매체.
제25항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되고,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인
것을 특징으로 하는 정보 기록 매체.
복수의 상이한 디바이스를 리프로 한 계층 트리 구조의 하나의 노드를 정점 노드로 하고, 상기 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키를, 상기 그룹의 노드 키 혹은 리프 키에 의해 암호화한 유효화 키 블록(EKB)의 생성 처리를 컴퓨터 시스템 상에서 실행시키는 컴퓨터 프로그램을 제공하는 프로그램 제공 매체에 있어서,
상기 컴퓨터 프로그램은
상기 유효화 키 블록(EKB)을 복호 가능한 말단 노드 또는 리프를 최하단으로 한 간략화한 2분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축 계층 트리를 생성하는 단계와,
상기 재구축 계층 트리의 구성 노드 또는 리프에 대응하는 키에만 기초하여 유효화 키 블록(EKB)을 생성하는 단계와,
상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 상기 태그부에 저장하는 단계
를 포함하는 것을 특징으로 하는 프로그램 제공 매체.
정보 처리 장치에 있어서,
복수의 상이한 디바이스를 리프로 한 계층 트리 구조에서의 고유의 노드 키와 리프 키의 키 세트를 유지하는 기억 수단과,
배신되는 암호화 메시지 데이터에 대한 복호 처리를 상기 키 세트를 사용하여 실행하는 복호 처리 수단
을 포함하고,
상기 제공되는 암호화 메시지 데이터는, 유효화 키 블록(EKB)의 상기 복호 처리 수단의 복호 처리에 의해 얻어지는 갱신 노드 키에 의해 암호화된 데이터 구성이며,
상기 유효화 키 블록(EKB)은
상기 계층 트리 구조의 하나의 노드를 정점 노드로 하여, 상기 정점 노드의 하위에 연결되는 노드 및 리프 키에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 상기 갱신 노드 키를, 상기 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터에 의해 구성되는 데이터부와,
상기 데이터부에 저장되는 암호화 키 데이터의 상기 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 구성인
것을 특징으로 하는 정보 처리 장치.
제29항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 계층 트리 구조를 구성하는 노드 키를 하위 노드 키 또는 하위 리프 키를 이용하여 암호화한 데이터이며,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그로서 구성되어 있는 것을 특징으로 하는 정보 처리 장치.
제29항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되며,
상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)의 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인
것을 특징으로 하는 정보 처리 장치.
제29항에 있어서,
상기 유효화 키 블록(EKB)에 포함되는 상기 암호화 키 데이터는, 상기 유효화 키 블록(EKB)을 복호할 수 있는 말단 노드 또는 리프를 최하단으로 한 간략화한 분기형 트리를 구성하는 버스를 선택하고 불요 노드를 생략함으로써 재구축되는 재구축 계층 트리의 노드 또는 리프에 대응하는 키에만 기초하여 구성되며, 상기 태그부에 저장되는 위치 식별 데이터는, 상기 유효화 키 블록(EKB)에 저장된 1 이상의 암호화 키 데이터 각각의 노드 위치의 하위의 좌우 노드 또는 리프 위치의 암호화 키 데이터의 유무를 나타내는 태그와, 상기 태그에 대응하는 암호화 키의 저장의 유무를 나타내는 데이터를 포함하는 구성인
것을 특징으로 하는 정보 처리 장치.
제29항에 있어서,
상기 복호 처리 수단은
상기 유효화 키 블록(EKB)의 상기 태그부의 데이터에 의해, 상기 암호화 키 데이터를 순차적으로 추출하여 복호 처리를 실행하고, 상기 갱신 노드 키를 취득하여, 상기 취득된 갱신 노드 키에 의해 상기 암호화 메시지 데이터의 복호를 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
배신되는 암호화 메시지 데이터를 복호 처리하는 정보 처리 방법에 있어서,
계층 트리 구조의 하나의 노드를 정점 노드로 하고, 상기 정점 노드의 하위에 연결되는 노드 및 리프에 의해 구성되는 그룹 내의 노드 키 중 적어도 어느 하나를 갱신한 갱신 노드 키를, 상기 그룹의 노드 키 혹은 리프 키에 의해 암호화한 암호화 키 데이터를 포함하는 유효화 키 블록(EKB)으로부터, 상기 암호화 키 데이터를 취득하는 암호화 키 데이터 취득 단계와,
취득된 상기 암호화 키 데이터를 복호함으로써 상기 갱신 노드 키를 취득하는 갱신 노드 키 취득 단계
를 포함하고,
상기 유효화 키 블록(EKB)은, 상기 암호화 키 데이터에 의해 구성되는 데이터부와, 그 데이터부에 저장되는 암호화 키 데이터의 상기 계층 트리 구조에서의 위치 식별 데이터로서의 태그부를 포함하는 구성인 것을 특징으로 하는 정보 처리 방법.
제34항에 있어서,
상기 암호화 키 데이터 취득 단계에서는
상기 유효화 키 블록(EKB)의 상기 태그부에 저장된 위치 식별 데이터에 기초하여 상기 데이터부에 저장된 암호화 키 데이터를 순차적으로 추출하도록 하고,
상기 갱신 노드 키 취득 단계에서는, 취득된 상기 암호화 키 데이터를 순차 복호 처리를 실행함으로써 상기 갱신 노드 키를 취득하도록 함과 함께,
상기 갱신 노드 키에 의해 상기 암호화 메시지 데이터의 복호를 실행하는 복호 처리 단계
를 더 포함하는 것을 특징으로 하는 정보 처리 방법.
제35항에 있어서,
상기 복호 처리 단계에서는
상기 계층 트리 구조에서의 각 노드에 고유의 노드 키와 각 디바이스 고유의리프 키의 상이한 키 세트를 보유하고, 상기 암호화 메시지 데이터에 대한 복호 처리를 상기 키 세트를 사용하여 실행하도록 하는 것을 특징으로 하는 정보 처리 방법.
제34항에 있어서,
상기 메시지 데이터는, 콘텐츠 데이터를 복호하기 위한 복호 키로서 사용 가능한 콘텐츠 키인 것을 특징으로 하는 정보 처리 방법.
제34항에 있어서,
상기 메시지 데이터는 인증 처리에 이용되는 인증 키인 것을 특징으로 하는 정보 처리 방법.
제34항에 있어서,
상기 메시지 데이터는 콘텐츠의 인터그리티 체크값(ICV) 생성 키인 것을 특징으로 하는 정보 처리 방법.
KR1020017015695A 2000-04-06 2001-04-04 정보 처리 시스템 및 방법 KR100777906B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00105329 2000-04-06
JP2000105329 2000-04-06
JPJP-P-2000-00179692 2000-06-15
JP2000179692 2000-06-15
JP2000317803A JP4023083B2 (ja) 2000-04-06 2000-10-18 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JPJP-P-2000-00317803 2000-10-18

Publications (2)

Publication Number Publication Date
KR20020026285A true KR20020026285A (ko) 2002-04-09
KR100777906B1 KR100777906B1 (ko) 2007-11-20

Family

ID=27343012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015695A KR100777906B1 (ko) 2000-04-06 2001-04-04 정보 처리 시스템 및 방법

Country Status (13)

Country Link
US (1) US7707410B2 (ko)
EP (1) EP1185021B1 (ko)
JP (1) JP4023083B2 (ko)
KR (1) KR100777906B1 (ko)
CN (1) CN100376091C (ko)
AT (1) ATE354223T1 (ko)
CA (1) CA2372510A1 (ko)
DE (1) DE60126540T2 (ko)
DK (1) DK1185021T3 (ko)
ES (1) ES2277919T3 (ko)
MY (1) MY135432A (ko)
TW (1) TWI228901B (ko)
WO (1) WO2001078299A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0587850U (ja) * 1992-04-30 1993-11-26 多治見無線電機株式会社 多芯ケーブル用コネクタ
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US7039803B2 (en) 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
JP3957978B2 (ja) 2001-02-09 2007-08-15 株式会社東芝 暗号化システム、データ利用デバイス、及び、暗号化システムのデータ再生制御方法
MXPA04003933A (es) * 2001-10-26 2004-06-18 Matsushita Electric Ind Co Ltd Aparato de adminstracion de codigo.
AU2002334425A1 (en) 2001-10-26 2003-05-06 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
JP2003229843A (ja) 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
US7092527B2 (en) 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
US7437664B2 (en) * 2002-06-18 2008-10-14 Microsoft Corporation Comparing hierarchically-structured documents
US7317799B2 (en) * 2002-07-19 2008-01-08 Vadium Technology, Inc. Cryptographic key distribution using key folding
KR100924773B1 (ko) 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
US8261063B2 (en) * 2003-02-03 2012-09-04 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
EP1612990A4 (en) * 2003-03-11 2011-06-01 Panasonic Corp CONTENT RECORDING / REPRODUCING SYSTEM, DISTRIBUTION DEVICE, REPRODUCING DEVICE, AND RECORDING DEVICE
KR20050078773A (ko) * 2004-02-02 2005-08-08 삼성전자주식회사 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법
KR101282972B1 (ko) 2004-03-22 2013-07-08 삼성전자주식회사 디바이스와 휴대형 저장장치와의 상호인증
MXPA06010776A (es) * 2004-03-22 2006-12-15 Samsung Electronics Co Ltd Autentificacion entre un dispositivo y un almacenamiento portatil.
JP4583069B2 (ja) * 2004-05-18 2010-11-17 パイオニア株式会社 鍵管理システム、及び再生装置
KR100970391B1 (ko) * 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
CN100418090C (zh) * 2005-08-31 2008-09-10 国际商业机器公司 一种存储数据的方法
JP4837463B2 (ja) * 2006-07-11 2011-12-14 Kddi株式会社 鍵管理システム、鍵管理方法およびプログラム
US9071589B1 (en) * 2008-04-02 2015-06-30 Cisco Technology, Inc. Encryption key management for storage area network devices
KR101252549B1 (ko) * 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
US10043022B2 (en) 2012-03-05 2018-08-07 R.R. Donnelley & Sons Company Systems and methods for digital content delivery
JP5906146B2 (ja) * 2012-06-29 2016-04-20 株式会社沖データ 画像データ処理装置及びプログラム
JP7105921B2 (ja) * 2018-07-12 2022-07-25 セクラス ゲー・エム・ベー・ハー セキュアな階層型参照システムを構築する方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19511298B4 (de) * 1995-03-28 2005-08-18 Deutsche Telekom Ag Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
JPH1040255A (ja) 1996-07-29 1998-02-13 Nec Software Ltd ハッシュ表管理装置
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
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
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
US6263435B1 (en) * 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication

Also Published As

Publication number Publication date
CN100376091C (zh) 2008-03-19
DE60126540T2 (de) 2007-11-22
MY135432A (en) 2008-04-30
DK1185021T3 (da) 2007-06-11
KR100777906B1 (ko) 2007-11-20
US7707410B2 (en) 2010-04-27
CA2372510A1 (en) 2001-10-18
WO2001078299A1 (en) 2001-10-18
EP1185021B1 (en) 2007-02-14
ATE354223T1 (de) 2007-03-15
TWI228901B (en) 2005-03-01
ES2277919T3 (es) 2007-08-01
JP2002077131A (ja) 2002-03-15
EP1185021A4 (en) 2003-05-07
DE60126540D1 (de) 2007-03-29
EP1185021A1 (en) 2002-03-06
CN1383646A (zh) 2002-12-04
JP4023083B2 (ja) 2007-12-19
US20060159272A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
KR100840823B1 (ko) 암호 키 블록을 이용한 정보 처리 시스템 및 방법
KR100777906B1 (ko) 정보 처리 시스템 및 방법
KR100746880B1 (ko) 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체
KR100859622B1 (ko) 정보 처리 시스템 및 방법
KR100859623B1 (ko) 정보 처리 시스템 및 방법
KR100852305B1 (ko) 정보 처리 시스템 및 방법
JP4622087B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4806847B2 (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP3988385B2 (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP2010288291A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee