KR100929744B1 - 정보 처리 방법/장치 및 프로그램 - Google Patents

정보 처리 방법/장치 및 프로그램 Download PDF

Info

Publication number
KR100929744B1
KR100929744B1 KR1020020007692A KR20020007692A KR100929744B1 KR 100929744 B1 KR100929744 B1 KR 100929744B1 KR 1020020007692 A KR1020020007692 A KR 1020020007692A KR 20020007692 A KR20020007692 A KR 20020007692A KR 100929744 B1 KR100929744 B1 KR 100929744B1
Authority
KR
South Korea
Prior art keywords
license
content
key
server
client
Prior art date
Application number
KR1020020007692A
Other languages
English (en)
Other versions
KR20020066233A (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 KR20020066233A publication Critical patent/KR20020066233A/ko
Application granted granted Critical
Publication of KR100929744B1 publication Critical patent/KR100929744B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • 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/107License processing; Key processing
    • 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/2135Metering
    • 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/2137Time limited access, e.g. to a computer or data

Abstract

클라이언트는 콘텐츠 서버로부터 암호화된 콘텐츠를 수신한다. 콘텐츠 헤더는 콘텐츠를 이용하는데 요구되는 라이센스를 식별하기 위한 라이센스 식별 정보를 포함한다. 클라이언트는 라이센스 식별 정보에 의해 식별된 라이센스를 전송하기 위해 라이센스 서버를 요구한다. 라이센스 요구를 수신하는 경우, 라이센스 서버는 라이센스가 클라이언트에게 전송되기 이전에 과금 처리를 수행한다. 클라이언트는 라이센스 서버로부터 수신된 라이센스를 기억한다. 기억된 라이센스는 콘텐츠를 암호화하고 재생하기 위한 조건으로서 역할을 한다. 그 결과, 콘텐츠는 높은 자유도를 갖도록 분배될 수 있고, 단지 인증된 사용자만이 콘텐츠를 이용할 수 있다.
클라이언트, 콘텐츠 서버, 콘텐츠, 콘텐츠 헤더, 라이센스, 라이센스 식별 정보, 라이센스 서버, 과금 처리

Description

정보 처리 방법/장치 및 프로그램{INFORMATION PROCESSING METHOD/APPARATUS AND PROGRAM}
도 1은 본 발명이 적용된 콘텐츠-변경 시스템의 구성을 도시하는 블록도;
도 2는 도 1에 도시된 클라이언트의 구성을 도시하는 블록도;
도 3은 콘텐츠를 다운로드하기 위해 도 1에 도시된 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 4는 클라이언트에게 콘텐츠를 제공하기 위해 도 1에 도시된 콘텐츠 서버에 의해 수행되는 처리를 설명하는 순서도;
도 5는 도 4에 도시된 순서도의 단계 26에서 생성된 데이터의 일반적인 포맷을 도시하는 도;
도 6은 콘텐츠를 재생하기 위해 도 1에 도시된 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 7은 라이센스를 취득하기 위해 도 6에 도시된 순서도의 단계 S43에서 수행된 처리를 상세히 설명하는 순서도;
도 8은 라이센스의 구성도;
도 9는 라이센스를 발행하기 위해 도 1에 도시된 라이센스 서버에 의해 수행된 처리를 설명하는 순서도;
도 10은 라이센스를 갱신하기 위해 도 6에 도시된 순서도의 단계 S45에서 수행된 처리를 상세히 설명하는 순서도;
도 11은 라이센스를 갱신하기 위해서 도 1에 도시된 라이센스 서버에 의해 수행된 처리를 설명하는 순서도;
도 12는 키의 조직을 도시하는 설명도;
도 13은 카테고리 노드를 도시하는 설명도;
도 14는 노드와 디바이스의 관계를 구체적으로 도시하는 도;
도 15a 및 15b는 EKB(Enabling Key Block)의 구성을 도시하는 설명도;
도 16은 EKB(Enabling Key Block)의 사용을 도시하는 설명도;
도 17은 EKB(Enabling Key Block)의 일반적인 포맷을 도시하는 설명도;
도 18a 내지 18c는 EKB(Enabling Key Block)에서 태그의 구성을 도시하는 설명도;
도 19는 DNK(Device Node Key)를 사용하여 콘텐츠를 해독하는 처리를 도시하는 설명도;
도 20은 일반적인 EKB(Enabling Key Block)를 도시하는 도;
도 21은 디바이스로에 복수의 콘텐츠를 할당하는 것을 도시하는 설명도;
도 22는 라이센스 카테고리들을 도시하는 설명도;
도 23은 클라이언트에 의해 수행되는 립핑(ripping) 처리를 설명하는 순서도;
도 24는 워터마크(watermark)의 구성을 도시하는 설명도;
도 25는 콘텐츠의 일반적인 포맷을 도시하는 설명도;
도 26은 공개 키의 일반적인 증명서(certificate)를 도시하는 도;
도 27은 콘텐츠의 분배(distribution)를 도시하는 설명도;
도 28은 콘텐츠를 체크아웃하기 위해 클라이언트에 의해서 수행되는 처리를 설명하는 순서도;
도 29는 태그를 사용함으로써 EKB(Enabling Key Block)의 일반적인 트레이싱을 도시하는 설명도;
도 30은 EKB(Enabling Key Block)의 일반적인 구성을 도시하는 도;
도 31은 마크(mark)의 구성을 도시하는 설명도;
도 32는 라이센스를 구입하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 33은 라이센스를 구입하기 위해 라이센스 서버에 의해 수행되는 처리를 설명하는 순서도;
도 34는 마크의 구성을 도시하는 설명도;
도 35는 클라이언트의 증명서를 등록하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 36은 증명서를 등록하기 위해 콘텐츠 서버에 의해 수행되는 처리를 설명하는 순서도;
도 37은 그룹의 일반적인 증명서를 도시하는 도;
도 38은 그룹을 형성하기 위해 콘텐츠 서버에 의해 수행되는 처리를 설명하 는 순서도;
도 39는 콘텐츠 키를 암호화하기 위한 일반적인 처리를 도시하는 도;
도 40은 그룹에 속하는 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 41은 다른 클라언트에게 라이센스를 체크아웃하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 42는 다른 클라이언트에 의해 체크아웃된 라이센스를 또다른 클라이언트로부터 수신하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 43은 다른 클라이언트에 의해 체크아웃된 라이센스를 재생하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 44는 다른 클라이언트에 의해 체크아웃된 라이센스를 체크인하기 위해 클라이언트에 의해 수행되는 처리를 설명하는 순서도;
도 45는 도 44에 도시된 순서도에 의해 나타나는 라이센스-체크인 처리를 수행하는 다른 클라이언트에게, 라이센스를 체크인하는 처리의 요구를 발행하는 클라이언트에 의해 수행되는 처리를 나타내는 순서도;
도 46은 MAC(Message Authentication Code)의 생성을 도시하는 설명도;
도 47은 ICV(Integrity Check Value) 생성 키를 해독하는 처리를 설명하는 순서도;
도 48은 ICV 생성 키를 해독하는 다른 처리를 도시하는 순서도;
도 49a 및 49b는 라이센스를 복사하는 동작의 ICV-기반 관리를 도시하는 설 명도; 및
도 50은 라이센스의 관리를 도시하는 설명도이다.
<도면의 주요 부분에 대한 부호의 설명>
1-1, 1-2 : 클라이언트
2 : 인터넷
3 : 콘텐츠 서버
4 : 라이센스 서버
5 : 과금 서버
20 : 타이머
21 : CPU
24 : 암호 해독 유닛
25 : 콘텐츠 유닛
26 : 입력 유닛
27 : 출력 유닛
28 : 기억 유닛
29 : 통신 유닛
본 발명은 정보 처리 방법, 정보 처리 장치, 프로그램 기억 매체 및 프로그 램에 관한 것이다. 보다 상세하게는, 본 발명은 콘텐츠 저작권의 소유자로부터의 라이센스 없이 콘텐츠가 불법으로 복제되어 사용되는 것을 방지하는데 사용되는 정보 처리 방법 및 정보 처리 장치, 이 정보 처리 방법을 구현하기 위한 프로그램 및 이 프로그램을 기억하기 위한 프로그램 기억 매체에 관한 것이다.
최근, 다수의 사용자가 무료로 음악 데이터를 변경할 수 있는 콘텐츠 변경 시스템에서 한 사용자는 다른 사용자에게 자신이 소유하고 있는 음악 데이터를 제공하고, 인터넷을 통해 다른 사용자로부터 자신이 소유하지 못한 음악 데이터를 받는다.
이러한 콘텐츠 변경 시스템에서, 이론적으로는 한 사용자가 소유한 음악 또는 다른 콘텐츠를 다른 사용자가 즐길 수 있다. 따라서, 많은 사용자는 그러한 음악이나 콘텐츠를 구입할 필요가 없다. 결과적으로, 그러한 음악 또는 콘텐츠는 잘 팔리지 않으므로, 콘텐츠 저작권의 소유자는 음악이나 콘텐츠의 판매에 수반되는 음악 또는 콘텐츠의 사용에 대한 로얄티를 얻을 기회를 잃게 된다.
사회적으로, 콘텐츠가 불법으로 복제되어 사용되는 것을 방지하는 것에 대한 요구가 있다.
따라서, 본 발명의 목적은 콘텐츠가 불법으로 사용되는 것을 신뢰성 있게 방지하기 위하여 상술한 문제를 해결하고자 하는 것이다.
본 발명의 한 양태에 따르면, 콘텐츠를 사용하기 위한 라이센스를 요구하여 콘텐츠의 사용을 허가하는 정보 처리 장치를 제공한다. 이 정보 처리 장치는 콘텐 츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 지정하는 라이센스 지정 정보, 콘텐츠의 암호 데이터 및 콘텐츠의 암호 데이터를 해독하기 위한 키 정보를 기억하기 위한 콘텐츠 기억 수단; 콘텐츠를 지정하는 콘텐츠 지정 정보를 포함하고 콘텐츠의 사용을 허가하는 라이센스를 기억하기 위한 라이센스 기억 수단; 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있는지의 여부에 관한 판정을 행하는 판정 수단; 및 판정 수단에 의해 행해지는 판정의 결과가 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있다는 것을 의미하는 조건에서 콘텐츠의 암호 데이터를 해독하는 데 사용되는 해독 수단을 포함한다.
정보 처리 장치는 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 전송하기 위한 송신 수단, 및 라이센스 서버에 의해 전송되는 라이센스를 수신하기 위한 수신 수단을 더 포함한다. 또한, 수신 수단에 의해 수신되는 라이센스는 라이센스 기억 수단에 기억된다.
정보 처리 장치는 해독 수단에 의해 해독되는 콘텐츠의 데이터를 재생하기 위한 재생 수단을 더 포함하는데, 콘텐츠의 데이터는 텍스트 데이터, 화상 데이터, 오디오 데이터, 동화상 데이터 또는 이들의 조합이다.
정보 처리 장치는 디바이스 노드 키를 기억하기 위한 디바이스 노드 키 기억 수단을 더 포함한다. 키 정보는 유효화 키 블록(EKB)을 포함한다. 해독 수단은 디바이스 노드 키 기억 수단에 기억된 디바이스 노드 키를 이용하여 EKB를 해독하 며, EKB의 해독 결과로 얻어지는 루트 키를 이용하여 콘텐츠의 데이터를 해독한다.
정보 처리 장치에서 키 정보는 EKB의 루트 키를 이용하여 암호화된 콘텐츠 키를 더 포함한다. 콘텐츠의 데이터는 콘텐츠 키를 이용하여 암호화된다. 해독 수단은 디바이스 노드 키 기억 수단에 기억된 디바이스 노드 키를 이용한 EKB의 해독 결과로서 얻어지는 루트 키를 이용하여 콘텐츠 키를 이용하여 암호화된 콘텐츠의 데이터를 해독한다.
정보 처리 장치에서 라이센스는 라이센스에 의해 사용이 허가되는 콘텐츠를 이용하기 위한 조건을 나타내는 사용 조건 정보를 더 포함한다.
정보 처리 장치에서 라이센스는 라이센스 서버의 기밀 키(secret key)를 이용하여 서명되는 전자 서명을 더 포함한다.
정보 처리 장치는 정보 처리 장치를 식별하는 단말 지정 정보를 기억하기 위한 단말 ID 기억 수단을 더 포함한다. 송신 수단에 의해 전송되는 라이센스 요구는 단말 ID 기억 수단에 기억되는 단말 ID를 더 포함한다. 수신 수단에 의해 수신되는 라이센스는 단말 ID를 포함한다. 판정 수단은 라이센스에 포함된 단말 식별 정보와 단말 ID 기억 수단에 기억된 단말 식별 정보를 비교하여, 라이센스에 포함된 단말 ID가 단말 ID 기억 수단에 기억된 단말 식별 정보와 일치하는 경우에만 수신 수단에 의해 수신된 라이센스가 콘텐츠의 사용을 허가하는 라이센스인 것으로 판정한다.
본 발명의 다른 양태에 따르면, 사용자가 콘텐츠를 사용하기 위한 라이센스를 가질 것을 요구하여 사용자에게 콘텐츠의 사용을 허가하는 정보 처리 방법을 제 공한다. 이 정보 처리 방법은 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 지정하는 라이센스 ID, 콘텐츠의 암호 데이터 및 콘텐츠의 암호 데이터를 해독하기 위한 키 정보를 기억하는 콘텐츠 기억 단계; 콘텐츠를 지정하는 콘텐츠 지정 정보를 포함하고 콘텐츠의 사용을 허가하는 라이센스를 기억하는 라이센스 기억 단계; 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있는지의 여부에 관한 판정을 행하는 판정 단계; 및 판정 수단에서 행해지는 판정의 결과가 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있다는 것을 나타내는 조건에서 콘텐츠의 암호 데이터를 해독하는 해독 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 사용자가 콘텐츠를 사용하기 위한 라이센스를 가질 것을 요구하여 사용자에게 콘텐츠를 사용하는 것을 허가하는 처리를 수행하기 위한 컴퓨터에 의해 실행되는 프로그램을 제공한다. 이 프로그램은 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 지정하는 라이센스 지정 정보, 콘텐츠의 암호 데이터 및 콘텐츠의 암호 데이터를 해독하기 위한 키 정보를 기억하는 콘텐츠 기억 단계; 콘텐츠를 지정하는 콘텐츠 지정 정보를 포함하고 콘텐츠의 사용을 허가하는 라이센스를 기억하는 라이센스 기억 단계; 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있는지의 여부에 관한 판정을 행하는 판정 단계; 및 판정 수단에서 행해지는 판정의 결과가 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있다는 것을 나타내는 조건에서 콘텐츠의 암호 데이터를 해독하는 해독 단계를 포함한다.
프로그램 또는 프로그램의 일부는 암호화된다.
본 발명의 또 다른 양태에 따르면, 콘텐츠의 사용을 허가하는 라이센스를 발행하기 위한 라이센스 서버를 제공한다. 이 라이센스 서버는 사용을 허가할 콘텐츠를 지정하는 콘텐츠 지정 정보와, 정보 처리 장치를 식별하기 위한 단말 식별 정보를 포함하는 라이센스를 기억하기 위한 라이센스 기억 수단; 정보 처리 장치로부터 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 수신하기 위한 수신 수단; 라이센스 기억 수단으로부터 라이센스 요구에 포함된 라이센스 식별 정보에 의해 식별되는 라이센스를 추출하기 위한 추출 수단; 추출 수단에 의해 추출되는 라이센스에 단말 식별 정보를 추가하기 위한 처리 수단; 라이센스 서버의 기밀 키를 이용하여 처리 수단에 의해 추가되는 단말 식별 정보를 포함하는 라이센스에 서명을 하기 위한 서명 수단; 및 서명 수단에 의해 서명된 라이센스를 라이센스 요구를 보낸 정보 처리 장치로 전송하기 위한 송신 수단을 포함한다.
본 발명의 또 다른 양태에 따르면, 콘텐츠의 사용을 허가하는 라이센스를 발행하기 위한 다른 정보 처리 방법을 제공한다. 이 정보 처리 방법은 사용을 허가할 콘텐츠를 지정하는 콘텐츠 지정 정보와, 정보 처리 장치를 식별하기 위한 단말 식별 정보를 포함하는 라이센스를 기억하는 라이센스 기억 단계; 정보 처리 장치로부터 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 수신하는 수신 단계; 라이센스 기억 수단에 기억되고, 라이센스 요구에 포함된 라이센스 식별 정보에 의해 식별되는 라이센스를 추출하는 추출 단계; 추출 단계에서 추출되는 라이센스에 단말 식별 정보를 추가하는 처리 단계; 정보 처리 방법에 사용되는 라이센스 서버의 기밀 키를 이용하여 추출 단계에서 추가되는 단말 식별 정보를 포함하는 라이센스에 서명을 하는 서명 단계; 및 서명 단계에서 서명된 라이센스를 라이센스 요구를 보낸 정보 처리 장치로 전송하는 송신 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 콘텐츠의 사용을 허가하는 라이센스를 발행하는 처리를 행하기 위한 컴퓨터에 의해 실행되는 다른 프로그램을 제공한다. 이 프로그램은 사용을 허가할 콘텐츠를 지정하는 콘텐츠 지정 정보와, 정보 처리 장치를 식별하기 위한 단말 식별 정보를 포함하는 라이센스를 기억하는 라이센스 기억 단계; 정보 처리 장치로부터 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 수신하는 수신 단계; 라이센스 기억 수단에 기억되고, 라이센스 요구에 포함된 라이센스 식별 정보에 의해 식별되는 라이센스를 추출하는 추출 단계; 추출 단계에서 추출되는 라이센스에 단말 식별 정보를 추가하는 처리 단계; 정보 처리 방법에 사용되는 라이센스 서버의 기밀 키를 이용하여 추출 단계에서 추가되는 단말 식별 정보를 포함하는 라이센스에 서명을 하는 서명 단계; 및 서명 단계에서 서명된 라이센스를 라이센스 요구를 보낸 정보 처리 장치로 전송하는 송신 단계를 포함한다.
본 발명이 제공하는 정보 처리 방법, 정보 처리 장치 및 프로그램에서 콘텐츠는 사용자가 콘텐츠를 사용하기 위한 라이센스를 가진 조건에서 해독되어 사용될 수 있다.
본 발명이 제공하는 라이센스 서버 및 정보 처리 방법에 있어서, 유효 라이센스는 단지 지정 정보 처리 장치로만 발행된다.
도 1은 본 발명이 적용된 콘텐츠-변경 시스템의 구성을 도시하는 블록도이다. 클라이언트들(1-1 및 1-2)은 인터넷(2)에 연결된다. 이후에 기술하는 바와 같이, 클라이언트들(1-1 및 1-2)이 서로 구별될 필요가 없는 경우, 클라이언트들(1-1 및 1-2)은 일반적 참조번호 1로써 각각 표시된다. 이 예에서, 단지 두 개의 클라이언트들만이 나타난다. 그러나, 임의의 수의 클라이언트들이 인터넷(2)에 연결될 수 있다.
또한, 콘텐츠 서버(3), 라이센스 서버(4) 및 과금 서버(5)가 역시 인터넷(2)에 연결된다. 콘텐츠 서버(3)는 클라이언트(1)에게 콘텐츠를 제공하고, 라이센스 서버(4)는 콘텐츠 서버(3)에 의해 제공되는 콘텐츠를 사용하는데 필요한 라이센스를 클라이언트(1)에게 제공한다. 과금 서버(5)는 클라이언트(1)가 라이센스 서버(4)로부터 라이센스를 수신할 때 클라이언트(1)에 대해 과금 처리를 수행한다.
임의의 수의 콘텐츠 서버(3), 라이센스 서버(4) 및 과금 서버(5)가 인터넷에 연결될 수 있다.
도 2는 클라이언트(1)의 구성을 도시하는 블록도이다.
도 2에 도시된 클라이언트에서, CPU(Central Processing Unit)(21)는 ROM(Read-Only Memory)(22)에 기억된 프로그램 및 기억 유닛(28)으로부터 RAM(Random-Access Memory)으로 로드된 프로그램에 따라서 각종 처리를 수행한다. 타이머(20)는 경과한 시간을 측정하고 측정 결과를 CPU(21)에게 공급한다. 또한, RAM(23)은 각종 처리의 실행에서 CPU(21)에 의해 요구된 기억 데이터를 위해 사용된다.
암호 및 해독 유닛(24)은 콘텐츠를 암호화하고 이미 암호화된 콘텐츠를 해독한다. 코덱 유닛(25)은 ATRAC(Adaptive Transform Acoustic Coding)-3 시스템에 따라 콘텐츠를 인코딩하고 이 인코딩된 콘텐츠를 기억할 반도체 메모리(44)에게 공급한다. 반도체 메모리(44)는 입/출력 인터페이스(32)에 의해 드라이브(30)에 연결된다. 또한, 코덱 유닛(25)은 드라이브(30)를 통해 반도체 메모리(44)로부터 판독한 인코딩된 데이터를 디코딩한다.
반도체 메모리(44)의 일례는 메모리 스틱(상표명)이다.
CPU(21), ROM(22), RAM(23), 암호 및 해독 유닛(24), 및 코덱 유닛(25)은 버스(31)에 의해 서로 연결된다. 또한 버스(31)는 입/출력 인터페이스(32)에 연결된다.
입/출력 인터페이스(32)는 입력 유닛(26), 출력 유닛(27), 기억 유닛(28) 및 통신 유닛(29)에 연결된다. 입력 유닛(26)은 키보드 및 마우스를 포함한다. 출력 유닛(27)은 스피커 및 CRT 및 LCD 등과 같이 표시 유닛을 포함한다. 통신 유닛(29)은 모뎀 및 단말 어댑터를 포함한다. 통신 유닛(29)은 인터넷(2)을 통해 통신을 수행한다. 보다 더 구체적으로, 통신 유닛(29)은 다른 클라이언트들과 아날로그 및 디지털 신호를 변경한다.
필요한 경우에, 입/출력 인터페이스(32)는 자기 디스크(41), 광 디스크(42), 광자기 디스크(43) 또는 반도체 메모리(44) 등의 적합한 기억 매체가 장착되는 드라이브(30)에 또한 연결된다. 따라서 필요한 경우에는, 컴퓨터 프로그램이 기억 매체로부터 판독될 수 있고 기억 유닛(28)에 설치될 수 있다.
콘텐츠 서버(3), 라이센스 서버(4) 및 과금 서버(5)의 구성은 도면에 도시되지 않는다. 그러나, 콘텐츠 서버(3), 라이센스 서버(4) 및 과금 서버(5)는 도 2에 도시된 클라이언트(1)와 기본적으로 동일한 구성을 갖는 각각의 컴퓨터이다. 이러한 이유 때문에, 도 2의 구성에 도시된 일부 참조번호들이 이후에 기술에서 콘텐츠 서버(3), 라이센스 서버(4) 및 과금 서버(5)에 사용되는 동일 구성 요소를 표시하는데 사용된다.
도 3에 도시된 순서도를 참조하면, 이후의 기술은 콘텐츠를 콘텐츠 서버(3)로부터 클라이언트(1)로 제공하는 처리를 설명한다.
도면에 도시된 바와 같이. 순서도는 사용자가 입력 유닛(26)을 동작시킴으로써 콘텐츠 서버(3)에 액세스하기 위해 명령을 입력하는 단계 S1에서 개시한다. 커맨드에 따라서, CPU(21)는 통신 유닛(29)이 인터넷(2)을 통해 콘텐츠 서버(3)에 액세스하도록 제어한다. 그리고 나서 다음 단계 S2에서, 사용자가 입력 유닛(26)을 동작시킴으로써 원하는 콘텐츠를 지정할 때, CPU(21)는 세부사항(specification)을 받아들인다. 통신 유닛(21)은 인터넷을 통해 지정된 콘텐츠를 콘텐츠 서버(3)에게 통지한다. 지정된 콘텐츠가 통지된 콘텐츠 서버(3)는 이후에 기술하는 바와 같이 도 4에 도시된 순서도에 의해 설명되는 처리에서 콘텐츠의 인코딩된 데이터를 송신 한다. 후속하여, 다음 단계 S3에서, CPU(21)는 통신 유닛(29)을 통해 콘텐츠를 수신한다. 그리고 나서 다음 단계 S4에서, 콘텐츠의 인코딩된 데이터는 기억 유닛(28)의 하드 디스크에 기억된다.
도 4에 도시된 순서도를 참조하면, 이후의 기술은 단계 S2에서 클라이언트(1)에 의해 요구된 콘텐츠를 송신하기 위해 콘텐츠 서버(3)에 의해 수행되는 처리를 설명한다. 콘텐츠 서버(3)는 클라이언트(1)가 갖는 것과 동일한 구성 요소를 포함하는 구성을 갖기 때문에, 도 2에 도시된 바와 같이 동일 참조 번호가 이후에 기술에서 동일 구성 요소를 표시하는데 사용된다.
도 4에 도시된 바와 같이, 순서도는 콘텐츠 서버(3)가 갖는 CPU(21)가 통신 유닛(29)을 통해 인터넷(2)으로부터 도달하는 액세스를 대기하는 단계 S21에서 시작한다. 액세스가 도달한 것으로 여겨질 때, 처리의 순서는 콘텐츠를 지정하는 클라이언트에 의해 송신된 정보가 취득되는 단계 S22로 진행된다. 콘텐츠를 지정하는 정보는 도 3에 도시된 순서도의 단계 S2에서 클라이언트(1)에 의해 송신된다.
그리고 나서 다음 단계 S23에서, 콘텐츠 서버(3)가 갖는 CPU(21)가 단계 S22에서 취득된 정보에 의해 지정된 콘텐츠를 기억 유닛(28)으로부터 판독한다. 기억 유닛(28)으로부터 판독된 콘텐츠는 기억 유닛(28)에 기억된 콘텐츠 중에서 선택된다. 후속하여 다음 단계 S24에서, CPU(21)는 기억 유닛(28)으로부터 판독한 콘텐츠를 암호 및 해독 유닛(24)에 공급하고, 여기서 콘텐츠 키(Kc)를 사용하여 콘텐츠를 암호화한다.
기억 유닛(28)에 기억된 콘텐츠가 ATRAC3 시스템에 따라서 코덱 유닛(25)에 의해 인코딩된 이후에, 암호 및 해독 유닛(24)이 CPU(21)로부터 수신되는 인코딩된 콘텐츠를 암호화한다.
또한 기억 유닛(28)은 미리 암호화된 콘텐츠를 기억하는데 사용될 수 있는 점에 주의하여야 한다. 이 경우에, 단계 S24에서 수행되는 처리는 생략될 수 있다.
그리고 나서 다음 단계 S25에서, 콘텐츠 서버(3)가 갖는 CPU(21)는 암호화된 콘텐츠가 송신되는 포맷의 헤더에 키 및 라이센스 ID를 추가한다. 암호화된 데이터를 해독하도록 요구되는 경우에, 키는 EKB 및 키 KEKBC(Kc)이며, 이들은 도 5를 참조로 하여 이후에 기술된다. 라이센스 ID 콘텐츠를 사용하는데 필요한 라이센스를 지정하기 위해 사용된다. 후속하여 다음 단계 S26에서, 콘텐츠 서버(3)가 갖는 CPU(21)는 통신 유닛(29) 및 인터넷(2)을 통해 클라이언트(1)에게 포맷된 데이터를 송신한다. 포맷된 데이터는 S24에서 암호화된 콘텐츠 및 단계 S25에서 헤더에 추가된 키 및 라이센스 ID를 포함하는 헤더를 포맷한 결과이다.
도 5는 콘텐츠 서버(3)로부터 클라이언트(1)에 의해 수신된 콘텐츠의 포맷을 도시하는 도이다. 도면에 도시된 바와 같이, 포맷은 헤더 및 데이터 부를 포함한다.
헤더는 콘텐츠 정보, DRM(Digital Right Management) 정보, 라이센스 ID, EKB(Enabling Key Block) 및 EKB로부터 생성된 KEkBC에 의해 암호화된 콘텐츠 키 Kc인 키 KEkBC(Kc)를 포함한다. EKB가 도 15를 참조하여 이후에 설명된다는 점에 주의 하여야 한다.
콘텐츠 정보는 콘텐츠 ID CID 및 코덱 시스템 상의 정보를 포함한다. 콘텐츠 ID CID는 포맷의 데이터부에 포맷된 콘텐츠를 식별하기 위한 ID이다.
DRM 정보는 콘텐츠 사용 규칙 및 상태를 포함한다. DRM 정보는 또한 URL(Uniform Resource Locator)을 포함한다. 사용 규칙 및 상태는 일반적으로 콘텐츠가 재생된 횟수 및 콘텐츠가 복사된 횟수를 포함한다.
URL은 라이센스 ID에 의해 규정되는 라이센스를 취득하기 위해 액세스가 이루어지는 어드레스이다. 구체적으로, URL은 도 1에 도시된 콘텐츠 변경 시스템의 경우에 요구되는 라이센스를 제공하기 위한 라이센스 서버(4)의 어드레스이다. 라이센스 ID는 포맷의 데이터부로서 기록된 콘텐츠를 사용하기 위해 요구되는 라이센스를 식별하기 위한 ID이다.
포맷의 데이터부는 임의 수의 암호화된 블록을 포함한다. 암호화된 블록 각각은 초기 벡터 Ⅳ, 씨드 및 암호 데이터 Ek'C(데이터) - 키 K'c를 이용하여 콘텐츠를 암호화한 결과임 - 를 포함한다.
이하의 식에 나타나는 바와 같이, 키 K'c는 콘텐츠 키 Kc 및 씨드를 해시 함수(hash function)에 적용하여 수행되는 처리의 결과이다. 씨드는 랜덤하게 설정되는 값이다.
K'c = Hash (Kc, Seed)
초기 벡터 Ⅳ 및 시트는 암호화된 블록에 따라 변화한다.
콘텐츠는 8 바이트 단위로 암호화된다. 현 단계에서 8 바이트는 CBC(Cypher Block Chaining) 모드에서 선행 단계 8 바이트의 암호화 결과를 이용하여 암호화된다.
CBC 모드에서, 콘텐츠의 최초 8 바이트가 암호화되면, 선행 단계에서의 8 바이트에는 암호화가 수행되지 않으므로 선행 단계 암호화는 소용이 없다. 따라서, 콘텐츠의 최초 8 바이트는 초기 벡터 Ⅳ를 초기 값으로 사용하여 암호화된다.
따라서, CBC 모드에서 암호화된 콘텐츠의 암호 블록이 디코드될 수 있더라도, 상기 블록의 디코딩 결과가 반드시 다른 암호 블록을 디코드하기 용이하게 하는 것은 아니다.
도 46을 참조하여 암호화 처리가 이하 보다 상세히 설명될 것이라는 점에 주의하여야 한다. 그러나, 암호 시스템에 이에 제한되는 것은 아니다.
상술된 바와 같이, 클라이언트(1)는 무료로 콘텐츠 서버(3)로부터 콘텐츠를 자유로이 획득할 수 있다. 따라서, 많은 수의 콘텐츠 자체가 분배될 수 있다.
그러나, 획득된 콘텐츠를 사용하는 경우, 클라이언트(1)는 라이센스를 가져야 한다. 이하의 설명은 도 6에 도시된 순서도를 참조하여 콘텐츠를 재생하기 위해 클라이언트(1)에 의해 수행되는 처리를 설명한다.
도면에 도시된 바와 같이, 순서도는 사용자가 입력부(26)를 동작하여 소망하는 콘텐츠를 지정하고 클라이언트(1)에서 채택된 CPU(21)가 콘텐츠의 ID(CID)를 취득하는 단계 S41에서 시작한다. ID는 콘텐츠의 제목, 콘텐츠에 할당된 번호 등을 포함한다. 각각의 기억된 콘텐츠에 번호가 할당된다는 점에 주의하여야 한다.
콘텐츠가 요구되는 경우, CPU(21)는 콘텐츠에 대한 라이센스 ID를 판독한다. 보다 구체적으로, 라이센스 ID는 콘텐츠의 사용에 요구되는 라이센스를 식별한다. 도 5에 도시된 바와 같이, 라이센스 ID는 암호화된 콘텐츠의 헤더에 포함된다.
그리고, 다음 단계 S42에서, CPU(21)는 단계 S41에서 취득된 라이센스 ID에 의해 표시되는 라이센스가 클라이언트(1)에 의해 취득되었는지 및 기억 유닛(28)에 기억되었는지 여부에 대해 판정한다. 라이센스 ID에 의해 표시된 라이센스가 클라이언트(1)에 의해 취득되지 않았다면, 처리 순서는 CPU(21)가 라이센스를 취득하는 처리를 수행하는 단계 S43으로 진행한다. 라이센스를 취득하는 처리의 상세한 것은 도 7에 도시된 순서도를 참조하여 이하 설명될 것이다.
단계 S42에서의 판정 결과 라이센스 ID에 의해 식별된 라이센스가 클라이언트(1)에 의해 취득되어 기억 유닛(28)에 기억되었다는 것을 나타내거나, 또는 라이센스를 취득하기 위한 단계 S43에서 수행되는 처리의 결과로서 라이센스가 취득될 수 있다면, 처리 순서는 취득된 라이센스가 여전히 유효 기간에 있는지 여부에 대한 판정을 형성하는 단계 S44로 진행한다. 라이센스에 규정된 유효 기간(도 8에 설명됨)을 현재 일자 및 타이머(20)에 의해 산출된 시간과 비교함으로써 취득된 라이센스가 여전히 유효 기간에 있는지 여부를 파정할 수 있다. 라이센스의 유효 기간이 이미 만료하였으면, 처리 순서는 CPU(21)가 라이센스를 갱신하는 처리를 수행하는 단계 S45로 진행한다. 라이센스를 갱신하는 처리의 상세는 도 8에 도시된 순서도를 참조하여 이하 설명될 것이다.
단계 S44에서 형성된 판정의 결과 취득된 라이센스가 여전히 유효 기간에 있다는 것을 나타내거나 또는 단계 S45에서 라이센스가 갱신될 수 있다면, 처리 순서 는 CPU(21)가 기억 유닛(28)으로부터 암호화된 콘텐츠를 판독하여 이 콘텐츠를 RAM(23)에 기억하는 단계 S46으로 진행한다. 그리고, 다음 단계 S47에서, CPU(21)는 RAM(23)에 기억된 암호화된 콘텐츠의 데이터를 도 5에 도시된 데이터부에 포함되는 암호 블록부 내의 암호화/해독 유닛(24)에 공급한다. 그리고, 암호화/해독 유닛(24)은 콘텐츠 키 Kc를 이용하여 암호화된 콘텐츠를 해독한다.
콘텐츠 키 Kc를 취득하는 전형적인 방법이 도 15를 참조하여 이하 설명될 것이다. 도 5에 도시된 EKB에 포함되는 키 KEKBC가 도 8에 도시된 디바이스 노드 키 DNK를 이용하여 취득될 수 있다. 그리고, 콘텐츠 키 Kc는 키 KEKBC를 이용하여 데이터 KEKBC(Kc)로부터 취득될 수 있다.
후속하여, 다음 단계 S48에서, CPU(21)는 암호화/해독 유닛(24)에 의해 해독된 콘텐츠를 코덱부(25)에 공급하여, 콘텐츠를 디코드한다. 후속하여, CPU(21)는 코덱부(25)에 의해 디코드된 데이터를 입/출력 인터페이스(32)를 통해 출력부(27)에 공급한다. 이 데이터는 스피커에 출력되기 이전에 D/A 변환된다.
도 7에 도시된 순서도를 참조하여, 이하의 설명은 도 6에 도시된 순서도의 단계 S43에서 라이센스를 획득하기 위해 수행되는 처리를 설명한다.
클라이언트(1)는 라이센스 서버(4)에 사전에 발행된 사전 서비스 데이터를 획득한다. 서비스 데이터는 리프 ID, DNK(디바이스 노드 키), 클라이언트(1)에 속하는 한 쌍의 기밀 키 및 공개 키, 라이센스 서버(4)의 공개 키 및 공개 키들에 대한 인증을 포함한다.
리프 ID는 각 클라이언트(1)에 고유하게 할당되는 ID이다. DNK는 도 12를 참조하여 이하 설명될 라이센스에 대한 EKB(Enabling Key Block)에 포함되는 암호화된 콘텐츠 키 Kc를 해독하기 위해 필요한 키이다.
도 7에 도시된 바와 같이, 순서도는 CPU(21)가 도 5에 도시된 헤더로부터 처리되는 라이센스의 ID에 대한 URL을 취득하는 단계 S61에서 시작한다. 이미 설명된 바와 같이, 이 URL은 헤더에 포함된 라이센스 ID에 의해 식별되는 라이센스를 취득하기 위해 액세스가 이루어지는 어드레스이다. 그리고, 단계 S62에서, CPU(21)는 단계 S61에서 취득된 URL에 액세스한다. 보다 확실하게 하기 위해, 라이센스 서버(4)로의 액세스는 통신 유닛(29) 및 인터넷(2)을 통해 이루어진다. 그 때에, 라이센스 서버(4)는 클라이언트(1)에게 사용자 ID, 패스워드 및 구입될 라이센스를 지정하는 라이센스 지정 정보를 전송할 것을 요구한다. 이러한 라이센스는 콘텐츠의 이용에 요구된다. 이러한 요구는 이하 설명될 도 9에 도시된 순서도의 단계 S102에서 이루어진다. CPU(21)는 이러한 요구를 출력부(27)의 표시 장치 상에 표시한다. 이러한 요구에 응답하여, 클라이언트(1)의 사용자는 입력부(26)를 동작하여 사용자 ID, 패스워드 및 라이센스 지정 정보를 입력한다. 인터넷(2)을 통해 라이센스 서버에 액세스함으로써 사용자는 사전에 사용자 ID 및 패스워드를 취득하였다는 점에 주의하여야 한다.
후속하여, 다음 단계 S63 및 S64에서, CPU(21)는 라이센스 지정 정보, 사용자 ID 및 패스워드를 수신하는데, 이것들은 사용자에 의해 입력부(26)로부터 입력된 것이다. 그리고, 다음 단계 S65에서, CPU(21)는 통신 유닛(29)을 제어하여 사 용자 ID, 패스워드, 라이센스 지정 정보 및 리프 ID를 포함하는 라이센스 요구를 인터넷(2)을 통해 라이센스 서버(4)에 전송한다. 리프 ID는 이하 설명될 서비스 데이터에 포함되는 정보이다.
후술되는 바와 같이, 도 9에 도시된 순서도의 단계 S109에서, 라이센스 서버(4)는 사용자 ID, 패스워드 및 라이센스 지정 정보에 기초하여 라이센스를 전송한다. 대안적으로, 라이센스 서버(4)는 조건이 만족되지 않는 경우 라이센스를 전송하는 대신에 도 9에 도시된 순서도의 단계 S112에서 에러 처리를 수행한다.
그리고, 처리는 단계 S66으로 진행하여 라이센스 서버(4)로부터 라이센스가 수신되었는지 여부에 대한 판정을 형성한다. 라이센스가 수신되었으면, 처리 순서는 CPU(21)가 라이센스를 그가 기억될 기억 유닛(28)에 공급하는 단계 S67로 진행한다.
한편, 단계 S66에서 형성된 판정의 결과 라이센스가 수신되지 않았으면, 처리 순서는 CPU(21)가 에러 처리를 수행하는 단계 S68로 진행한다. 보다 확실히 하기 위해, CPU(21)는 CPU(21)가 콘텐츠를 사용하기 위한 라이센스를 취득하는 것에 실패한 이후로 콘텐츠를 재생하지 못하게 한다.
상술된 바와 같이, 클라이언트(1)는 콘텐츠에 포함된 라이센스 ID에 의해 표시되는 라이센스를 취득함으로써 콘텐츠를 사용할 수 있다.
도 7에 도시된 순서도로 표션되는 바와 같이 라이센스를 취득하기 위한 처리는 사용자가 콘텐츠를 취득하기 이전에 수행될 수도 있다는 것에 주의하여야 한다.
도 8에 도시된 바와 같이, 클라이언트(1)에 공급된 라이센스는 사용 조건 및 리프 ID를 포함한다.
사용 조건은 라이센서에 의해 허가된 것으로서 콘텐츠가 다운로드될 수 있기 전의 기일, 라이센스에 의해 허가된 것으로서 콘텐츠가 복사될 수 있는 횟수의 상한 또는 허가된 복사 동작의 최대 횟수, 체크아웃 횟수, 체크아웃 최대 횟수, 콘텐츠를 CD-R 상에 기록할 수 있는 권리, 콘텐츠가 PD(Portable Device)에 복사될 수 있는 횟수, 콘텐츠를 사용하는 라이센스가 라이센스 소유 상태(또는 구입된 라이센스 상태)로 변경될 수 있도록 하는 권리 및 사용 로그를 작성할 의무를 포함한다.
도 9에 도시된 순서도를 참조하면, 이하의 설명은 도 7에 도시된 순서도로 나타내어 지는 바와 같이 라이센스를 얻기 위해 클라이언트(1)에 의해 수행되는 처리에 응답하여 클라이언트(1)에 라이센스를 전송하도록 라이센스 서버(4)에 의해 수행되는 처리를 설명한다. 이 경우에도, 라이센스 서버(4)는 클라이언트(1)에서 채택된 것들과 동일한 구성 요소를 포함하는 구성을 갖기 때문에, 이하의 설명에서 도 2에 도시된 것과 동일한 구성 요소에는 동일한 참조 번호가 사용된다는 점에 주의하여야 한다.
도면에 도시된 바와 같이, 순서도는 라이센스 서버(4)에 채택된 CPU(21)가 클라이언트(1)에 의해 이루어질 액세스를 대기하는 단계 S101에서 시작한다. 클라이언트(1)가 라이센스 서버(4)에 액세스하기 때문에, 처리 순서는 라이센스 서버(4)가 액세스를 이루는 클라이언트(1)에게 라이센스 지정 정보(라이센스 ID), 사용자 ID 및 패스워드를 전송하라고 요구하는 단계 S102로 진행한다. 그리고, 라이센스 서버(4)에 채택된 CPU(21)는 도 7에 도시된 순서도의 단계 S65에서 통신 유 닛(29)을 통해 클라이언트(1)로부터 사용자 ID, 패스워드, 리프 ID 및 라이센스 ID를 수신하고, 이들을 수용하는 처리를 수행한다.
그리고, 다음 단계 S103에서, 라이센스 서버(4)에 채택된 CPU(21)는 사용자 ID 및 패스워드에 의해 식별된 사용자를 조사하는 처리에 대한 요구를 하기 위해 통신 유닛(29)을 통해 과금 서버(5)에 액세스한다. 인터넷(2)을 통해 라이센스 서버(4)로부터 이러한 조사에 대한 요구를 수신하면, 과금 서버(5)는 사용자가 과거에 라이센스에 대한 요금을 지불하지 않았다는 것을 나타내는 기록이 존재하는지 여부를 판정하기 위해 사용자 ID 및 패스워드에 의해 식별된 사용자의 과거 지불 이력을 점검한다. 사용자가 과거에 라이센스에 대한 요금을 지불하지 않았다는 것을 나타내는 기록이 없으면, 과금 서버(5)는 라이센스 허가가 승인되었다는 것을 나타내는 조사 결과를 전송한다. 반면에, 사용자가 과거에 라이센스에 대한 요금을 지불하지 않았다는 기록 또는 기타 나쁜 기록이 존재하면, 과금 서버(5)는 라이센스의 허가가 승인되지 않았다는 것을 나타내는 조사 결과를 전송한다.
후속하여, 다음 단계 S104에서, 라이센스 서버(4)에 채택된 CPU(21)는 과금 서버(5)로부터 수신된 조사 결과 라이센스의 허가가 승인되었는지 여부를 나타내는 것에 대한 판정을 형성한다. 라이센스 허가가 승인되면 처리 순서는 CPU(21)가 기억 유닛(28)에 기억된 라이센스들 중에서 단계 S102에서 수행된 처리에서 수신된 정보를 지정함으로써 지정된 라이센스를 선택하고, 기억 유닛(28)으로부터 선택된 라이센스를 판독하는 단계 S105로 진행한다. 기억 유닛(28)에 기억된 각 라이센스는 라이센스 ID, 버전, 생성 일시 및 유효 기간을 포함하는 정보를 포함한다. 그 리고, 다음 단계 S106에서, CPU(21)는 수신된 리프 ID에 라이센스를 추가한다. 더욱이, 다음 단계 S107에서, CPU(21)는 단계 S105에서 선택된 라이센스와 관련된 사용 조건을 선택한다. 단계 S102에서 사용 조건이 사용자에 의해 지정된 것으로 발견되면, 필요한 경우, 사용자에 의해 지정된 사용 조건은 미리 마련된 사용 조건에 추가된다. 그리고, CPU(21)는 선택된 사용 조건을 라이센스에 추가한다.
그리고, 다음 단계 S108에서, CPU(21)는 라이센스 서버(4)의 기밀 키를 사용하여 라이센스 상에 서명을 하여 도 8에 도시된 것 같은 구성의 라이센스를 생성한다.
후속하여, 다음 단계 S109에서, 라이센스 서버(4)에 채택된 CPU(21)는 통신 유닛(29)으로부터 토 8에 도시된 것 같은 구성을 갖는 라이센스를 인터넷(2)을 통해 클라이언트(1)에게 전송한다.
그 후, 다음 단계 S110에서, 라이센스 서버(4)에 채용된 CPU(21)는, 라이센스와 사용자 ID 및 패스워드를 연관시킴으로써 단계 S109에서 수행된 처리에 의해 전송된 라이센스를 기억 유닛(28)에 기억하는데, 사용자 ID 및 패스워드는 단계 S102에서 수행된 처리에 의해 획득된 것이다. 상술한 바와 같이, 라이센스는 사용자 조건 및 리프 ID를 포함한다. 후속하여, 다음 단계 S111에서, CPU(21)는 과금 처리를 수행한다. 구체적으로 설명하면, CPU(21)는 사용자 ID 및 패스워드에 의해 식별된 사용자에 대한 과금 처리를 수행하도록 통신 유닛(29)을 통해 과금 서버(5)에 요구한다. 과금 서버(5)는 사용자에 대한 요구에 기초하여 과금 처리를 수행한다. 그 후 라이센스 서버(4)에 의해 수행된 처리가 종료된다. 차후에, 사용자가 과금 처리에 의해 결정된 돈을 지불하지 않을 경우, 상술한 바와 같이 라이센스의 부여가 요구된 경우에도 사용자는 라이센스를 부여받지 못할 것이다.
즉, 이러한 사용자의 경우, 과금 서버(5)는 라이센스를 사용자에게 부여할 지 여부에 대해 검사하여 그 결과 라이센스의 부여를 허가하지 않는다. 즉, 처리는 단계 S104에서 단계 S112로 가며 여기서 라이센스 서버(4)에 채용된 CPU(21)는 에러 처리를 수행한다. 보다 구체적으로 설명하면, CPU(21)는 통신 유닛(29)을 제어해서 액세스를 행하는 클라이언트(1)에게 라이센스가 부여될 수 없음을 통지한다. 그 후 라이센스 서버(4)에 의해 수행된 처리가 종료된다.
이 경우, 클라이언트(1)는 콘텐트를 사용할 수 없거나 혹은 암호화된 콘텐트의 데이터의 암호 해독을 행할 수 없게 되는데, 그 이유는 클라이언트(1)가 상술한 바와 같이 라이센스를 획득하는 것을 실패했기 때문이다.
도 10은 라이센스를 갱신하기 위한, 도 6에 도시된 순서도의 단계 S45에서 수행된 처리를 상세하게 설명하는 데에 사용되는 순서도이다. 단계 S131 내지 S135에서 수행된 처리는 기본적으로 도 7에 도시된 순서도의 단계 S61 내지 S65 각각에서 수행된 처리와 동일하다. 그러나, 단계 S133에서 CPU(21)는 구입된 라이센스의 라이센스 ID 대신에 갱신될 라이센스의 라이센스 ID를 획득한다. 그 후, 단계 S135에서 CPU(21)는 생신될 라이센스의 라이센스 ID와 함께 사용자 ID 및 패스워드를 라이센스 서버(4)에 전송한다.
단계 S135에서 수행된 처리에서 전송된 것에 응답하여, 라이센스 서버(4)는 이후 기술되는 바와 같이 도 11에 도시된 순서도의 단계 S153에서 사용 조건을 제 시한다. 그 후 단계 S136에서, 클라이언트(1)에 채용된 CPU(21)는 라이센스 서버로부터 제시된 사용 조건을 수신하여 출력 유닛(27) 상에 표시한다. 사용자는 입력 유닛(26)을 작동시켜서 표시된 사용 조건과 새롭게 추가된 소정의 사용 조건중 하나를 선택한다. 후속하여, 다음 단계 S137에서, CPU(21)는 상술한 바와 같이 선택된 사용 조건 또는 라이센스를 갱신하기 위한 조건을 구입하기 위한 어플리케이션을 라이센스 서버(4)에 전송한다. 이 어플리케이션에 응답하여, 라이센스 서버(4)는 이후 기술되는 바와 같이 도 11에 도시된 순서도의 단계 S154에서 최종 사용 조건을 전송한다. 그 후 다음 단계 S138에서, 클라이언트(1)에서 사용된 CPU(21)는 라이센스 서버(4)로부터 최종 사용 조건을 수신한다. 후속하여, 다음 단계 S139에서, 수신된 최종 사용 조건이, 기억 유닛(28)에 이미 기억된 라이센스의 사용 조건의 갱신으로서 사용된다.
도 11은 라이센스를 갱신하기 위한 동작을 요구하기 위해 클라이언트(1)에 의해 수행된 처리와 함께, 라이센스를 갱신하기 위해 라이센스 서버(4)에 의해 수행된 처리를 설명하는 데에 사용되는 순서도이다.
도면에 도시한 바와 같이, 순서도는 단계 S151에서 시작되며 여기서 라이센스 서버(4)는 클라이언트(1)에 의해 액세스된다. 그 후 다음 단계 S152에서, 라이센스 서버(4)에서 채용된 CPU(21)는 단계 S135에서 클라이언트(1)에 수신된 라이센스 지정 정보와 함께 클라이언트(1)로부터 라이센스를 갱신할 요구를 수신한다.
후속하여, 단계 S153에서, CPU(21)는 라이센스를 갱신하기 위한 요구에 따라 갱신될 라이센스에 대한 사용 조건을 판독하거나, 기억 유닛(28)으로부터 라이센스 를 갱신하기 위한 조건을 판독한다. 그 후 CPU(21)는 그 조건을 클라이언트(1)에 전송한다.
전송된 조건에 응답하여, 클라이언트(1)의 사용자는 어플리케이션에 들어가서 도 10에 도시된 순서도의 단계 S137에서 수행되는 처리중인 사용자 조건을 구입한다. 이 경우, 단계 S154에서 라이센스 서버(4)에서 채용된 CPU(21)는 적용된 사용 조건에 대한 데이터를 생성하여 그 데이터를 클라이언트(1)에 전송한다. 상술한 바와 같이, 클라이언트(1)는 수신된 사용 조건을, 라이센스의 이미 발행된 사용 조건의 갱신으로서 사용한다. 상술한 바와 같이, 사용 조건은 단계 S139에서 수행된 처리에서 갱신되었다.
본 발명에서, 디바이스의 키와 라이센스의 키는, 도 12에 도시된 바와 같은 방송-암호 시스템의 원리에 기초하여 관리된다. 키들은 계층적 트리 구조로 구조화된다. 하부 계층적 층에 있는 리프 각각은 각 디바이스의 키에 대응한다. 도 12에 도시된 전형적인 구조에서, 16 디바이스 또는 16 라이센스에 대응하는 0 내지 15의 16 키가 생성된다.
원형 마크에 의해 표시되는 각 키는 트리 구조의 노드에 위치된다. 루트 키 KR은 트리 구조의 상부상의 루트 노드에 위치된다. 제2 계층적 층상의 노드에서, 키 K0 및 K1이 제공된다. 제3 계층적 층상의 노드에서, 키 K00 내지 K11이 배치된다. 제4 계층적 층상의 노드에서, 키 K000 내지 K111이 제공된다. 하부 계층적 층상의 노드 또는 디바이스 노드에서의 리프는 키 K0000 내지 K1111이다.
계층적 트리 구조에서 예를 들면, 키 K0010 및 K0011은 각각 키 K001의 하급 이다. 동일한 방식으로, 키 K000 및 K001은 각각 키 K00의 하급이다. 마찬가지로, 더 높은 계층적 층에서, 키 K00 및 K01은 각각 키 K0의 하급이다. 마찬가지로, 키 K0 및 K1은 각각 루트 키 KR의 하급이다.
콘텐트를 사용하는 데에 요구되는 키는 하부 계층적 층의 디바이스 노드에서의 리프와, 루트 키 KR을 포함하는 더 높은 계층적 층 상의 노드에서의 키를 포함한다. 루트 키 KR을 포함하는 더 높은 계층적 층 상의 리프 및 키는 하나의 경로를 형성한다. 예를 들면, 콘텐트(3)를 사용하는 데에 요구되는 키는, 키 K0011, K001, K00, K0 및 KR을 포함하는 경로의 키 각각에 의해 관리되며, 이 키들은 리프 ID에 대응하는 라이센스에 기초하여 리프 K0011에서 시작하여 루트 키 KR로 종료되는 하나의 경로를 형성한다.
본 발명에 의해 제공된 콘텐트 변경 시스템은 전형적으로 도 12에 도시된 원리를 채택하여 도 13에 도시된 8+24+32 층 구조를 형성하기 위해 배치된 노드에 위치된 디바이스 및 라이센스의 키를 관리한다. 도 13에 도시된 구조에서, 루트 노드 아래에 8개의 하급 계층적 층이 존재한다. 8개의 계층적 층의 노드 각각에 있는 키는 하나의 카테고리와 연관된다. 카테고리의 예로서, 메모리 스틱 등의 반도체 메모리를 사용하는 장치의 카테고리와, 디지털 방송을 수신하기 위한 장치의 카테고리를 들 수 있다.
카테고리 노드중 하나는 라이센스 관리를 위한 본 발명에 의해 제공되는 T 시스템이라 불리는 시스템의 루트 노드이다.
보다 구체적으로 설명하면, T 시스템의 루트 노드의 하급은 24 계층적 층 상 의 노드이다. 각 하부 노드 각각에 있는 키는 라이센스와 관련된다. 따라서, 224개의 라이센스 또는 약 16 메가 혹은 약 160만 개의 라이센스를 규정하는 것이 가능하다. 하부측 상의 또다른 하급들은 32개의 계층적 층이며, 이는 232 사용자(또는 클라이언트(1)) 또는 약 4기가 또는 약 40억 사용자(또는 클라이언트(1))가 규정될 수 있게 해준다.
디바이스에 대한 키 또는 라이센스에 대한 키는, 64(=8+24+32) 개의 계층적 층에서 노드를 통과하는 경로를 따라 배치된다. 따라서, 이러한 경로는 디바이스 또는 라이센스와 관련된다. 보다 구체적으로 설명하면, 콘텐트를 암호화하는 데에 사용되는 콘텐트 키는, 콘텐트에 대한 라이센스와 관련되는 경로에 의해 통과되는 노드에 배치되는 키에 의해 암호화된다. 상부 계층적 층에서의 키는 바로 아래의 계층적 층 상의 자신의 바로 하부 키를 사용하여 암호화되며 도 15를 참조로 이하 기술될 EKB에 놓인다. 하부 계층적 층 상의 DNK는 EKB에 놓이지 않으며 사용자의 클라이언트(1)에 인가될 서비스 데이터 내에 포함된다. 클라이언트(1)는 키의 암호해독을 위한 라이센스 내에 포함되는 DNK를 사용하며, 이 키는 DNK 바로 위의 계층적 층상에 배치되며 도 15에 도시된 EKB 내에 포함된다. EKB는 콘텐트의 데이터와 함께 분배된다. 그 후 클라이언트(1)는 암호 해독된 키를 사용하여 키의 암호해독을 행하며, 이 키는 암호 해독된 키 바로 위의 계층적 층상에 배치되며 EKB 내에 포함된다. 이 암호 해독 처리는, 클라이언트(1)가 라이센스와 연관된 경로를 통과하는 노드에 배치된 모든 키를 획득할 수 있을 때까지 반복적으로 수행된다.
도 14는 각각이 계층적 트리 구조의 키와 연관된 카테고리의 전형적인 분류를 도시하는 도면이다. 도 14에 도시된 바와 같이, 계층적 트리 구조의 상부 상에, 루트 키 KR2301이 설정된다. 루트 키 KR2301의 아래의 중간 계층적 층 상에, 노드 키 2302가 설정된다. 하부 계층적 층 상에 리프 키 2303이 설정된다. 각 디바이스는 리프 키, 노드 키 및 루트 키를 갖는다. 디바이스가 소유한 노드 키는 하나의 경로를 따라 제공되며, 이 경로는 디바이스와 연관되며 리프 키를 루트 키와 연결시킨다.
루트 키로부터의 M번째 계층적 층 상의 사전설정된 노드는 카테고리 노드 2304로서 설정된다. 도 13에 도시된 예에서, M을 8로 둔다. M번째 계층적 층상의 각 노드는, 지정 카테고리를 유지하는 디바이스에 대한 루트 키를 설정하기 위한 노드로서 사용된다. 즉, 카테고리의 디바이스는, M번째 계층적 층상의 노드에서 출발하여, (M+1)번째 및 하부 계층적 층 상의 노드를 통과하여 바닥 계층적 층 상의 리프에서 끝나는 경로와 연관된다.
도 14에 도시된 계층적 트리 구조의 M번째 계층적 층 상의 노드 2305에서, 메모리 스틱(상표)의 카테고리가 설정된다. 이 경우, 이 노드 2305 아래의 링크된 노드 및 리프는, 각각이 메모리 스틱을 사용하는 여러 디바이스를 포함하는 카테고리에 대해 특별히 제공되는 노드 및 리프로서 사용된다. 즉, 노드 2305 아래의 노드 및 리프는 노드 및 리프의 세트로서 정의되며 이는 메모리 스틱의 카테고리에서 정의된 디바이스와 관련된다.
또한, M번째 계층적 층 아래의 여러 레벨의 계층적 층상의 노드는 서브카테 고리 노드 2306으로서 설정될 수 있다. 도 14에 도시된 계층적 트리 구조에서, 메모리 스틱 카테고리 계층적 층 아래의 두 레벨의 계층적 층상의 노드 ―이 노드 위에 노드 2305가 제공됨 ―는 서브카테고리 노드, 즉 각각이 메모리 스틱을 이용하는 디바이스의 카테고리 내에 포함되는 서브카테고리의 노드로서 설정된다. 또한, 재생만 가능한 장치의 서브카테고리에 대한 노드 2306 아래의 계층적 층 상에, 음악을 재생시키기 위한 기능을 갖는 전화기에 대한 노드 2307이 설정된다. 이러한 전화기는 재생만 가능한 장치의 카테고리 내에 포함된다. 또한, 노드 2307 아래의 계층적 층 상에, PHS 노드 2308 및 휴대 전화 노드 2309가 제공된다. PHS 및 휴대 전화는 음악을 재생시키는 기능을 갖는 전화기의 카테고리 내에 포함된다.
또한, 카테고리 및 서브카테고리는 디바이스 뿐만 아니라 제조자, 콘텐트 제공자 및 독립적 혹은 임의의 유닛인 과금 제도에 의해 제어되는 노드에 대해서도 제공되며 이는 처리 유닛, 제어 유닛, 표시 서비스 유닛 등일 수 있다. 이들 유닛은 각각 엔티티로 칭해지며 이는 일반적인 기술 용어이다. 카테고리 노드는, 게임-머신 제조자에 의해 판매되는 게임 머신 XYZ에 대해 특별히 제공되는 루트 노드로서 설정되는 것으로 가정한다. 이 경우, 게임-머신 제조자는 노드 키 및 리프 키를 기억함으로써 게임 머신 XYZ를 판매할 수 있으며, 노드 키 및 리프 키는 게임 머신 XYZ에서 루트 노드 아래의 계층적 층상에 제공된다. 그 후, 암호화된 콘텐츠 또는 여러 키가 분배되거나 혹은 키들이 EKB를 생성함으로써 갱신된다. EKB는 노드 키 및 리프 키를 포함하며 이들은 루트 노드 아래의 계층적 층상에 제공된다. 이러한 방식으로, 루트 노드 아래의 디바이스에 의해서만 사용가능한 데이터를 분배하는 것이 가능하다.
상술한 바와 같이, 하나의 노드는 하나의 루트 노드로서 사용되며 루트 노드 아래의 계층적 층 상의 노드는 각각 카테고리 관련된 노드 또는 서브카테고리 관련된 노드로서 설정된다. 이러한 방식으로, 카테고리 계층적 층 또는 서브카테고리 계층적 층상의 루트 노드를 관리하는 제조자 또는 콘텐트 제공자와 같은 설정은 스스로 자신의 루트 키로서 사용되는 루트 노드에서의 키를 갖는 EKB를 생성하고, 루트 노드 아래의 계층적 층에 관계되는 디바이스에 EKB를 분배할 수 있다. 따라서, 하급으로서 루트 노드에 서브하지 않고 카테고리 노드에 관련되는 디바이스에 대해 유효하게 EKB의 키를 갱신할 수 있다.
도 12에 도시된 트리 구조에서, 하나의 그룹에 관련된 4개의 디바이스 0, 1, 2 및 3은 노드 키로서 공통 키 K00, K0 및 KR을 공유한다. 이 노드 키 공유 구조를 이용함으로써, 공통 콘텐트 키가 디바이스 0, 1, 2 및 3에만 제공될 수 있다. 예를 들면, 디바이스 0, 1, 2 및 3에 의해 공유되는 노드 키 K00 자체는 공통 콘텐트 키로서 설정된다. 이러한 방식으로, 새로운 키를 송신하지 않으면서 디바이스 0, 1, 2, 3에 공통인 콘텐트 키를 설정하는 것이 가능하다. 대안으로서, 새로운 콘텐트 키 Kcon은 노드 키 K00를 이용하여 암호화되어 암호화된 값 Enc(K00, Kcon)를 발생시키며, 이는 후에 네트워크를 통해 혹은 디바이스 0, 1, 2 및 3에 분배된 기억 매체 내의 값 Enc(K00, Kcon)을 기억함으로써 디바이스 0, 1, 2 및 3에 분배된다. 이러한 방식으로, 디바이스 0, 1, 2 및 3만이, 콘텐트 키 Kcon을 생성하기 위해 디바이스 0, 1, 2 및 3에 의해 공유된 공통 노드 키 K00을 사용함으로써 값 Enc(K00, Kcon)를 암호 해독할 수 있다. 기호 Enc(Ka, Kb)는 키 Ka를 사용하여 키 Kb의 암호화의 결과로서 획득된 데이터를 나타냄에 유의한다.
또한, 디바이스(3)에 의해 소유된 키 K0011, K001, K00, K0 및 KR이 해커에 의해 분석되고 식별된 시점 t에서 발견되는 것으로 가정한다. 이 경우, 시스템(또는 디바이스 0, 1, 2 및 3의 그룹)에서 그 후 변경된 데이터를 보호하기 위해 디바이스(3)는 시스템으로부터 분리될 필요가 있다. 또한, 노드 키 K001, K00, K0 및 KR은 디바이스 0, 1 및 2로 전송될 새로운 키 K(t)001, K(t)00, K(t)0 각각으로 갱신될 필요가 있다. 기호 K(t)aaa는 시점 t의 생성의 갱신된 키이며 키 Kaaa를 갱신함으로써 획득된다.
갱신된 키를 배포하기 위한 처리가 이하에 설명된다. 예를 들어, 키는 다음과 같이 갱신된다. 상술한 것과 같은 디바이스 0, 1, 2에 대해 키를 갱신하기 위한 처리의 경우에서, 네트워크를 통하는 방식, 또는 기억 유닛에 테이블을 기억한 후에 그 기억 유닛을 디바이스 0, 1, 2에 공급하는 방식에 의해, 테이블이 디바이스 0, 1, 2에 공급된다. 테이블은 도 15a에 도시된 EKB(Enabling Key Block)로 칭해지는 블록 데이터이다. EKB는, 도 12에 도시된 것과 같은 트리 구조의 최하위 계층 상의 노드에서의 리프에 연관된 디바이스들에, 새롭게 갱신된 키를 배포하기 위한 암호화된 키를 포함한다는 점에 유의해야 한다. EKB는 또한 KRB(Key Renewal Block)로도 칭해진다.
도 15a에 도시된 EKB는 자신의 노드키의 갱신을 요구하는 디바이스에 의해서만 갱신될 수 있는 블록 데이터로서 구성된다. 도 15a에 도시된 전형적인 EKB는, 시점 t에 생성된 갱신된 노드키를 도 12에 도시된 트리 구조의 디바이스 0, 1, 2에 배포할 목적으로 생성된 블록 데이터이다. 도 12로부터 분명하게 알 수 있는 바와 같이, 디바이스 0과 디바이스 1 각각은 갱신된 노드키로서 K(t)00, K(t)0 및 K(t)R을 필요로 한다. 한편, 디바이스 2는 갱신된 노드키로서 K(t)001, K(t)00, K(t)0 및 K(t)R을 필요로 한다.
도 15a에 도시된 바와 같이, EKB는 복수의 암호화된 키를 포함한다. 도 15a에 도시된 테이블의 최상단으로부터 15번째 칼럼의 암호화된 키는 Enc(K0010, K(t)001)이며, 이것은 디바이스 2가 소유한 리프 키 K0010을 이용하여 암호화된, 갱신된 노드키 K(t)001이다. 따라서, 디바이스 2는 자신이 소유한 리프 키 K0010를 이용하여 암호화된 키 Enc(K0010, K(t)001)을 해독함으로써 갱신된 노드키 K(t)001을 얻을 수 있다. 또한, 해독의 결과로서 얻어진 갱신된 노드키 K(t)001을 이용하여, 도 15a에 도시된 테이블의 15번째 칼럼의 암호화된 키 Enc(K(t)001, K(t)00)을 해독하여, 갱신된 노드키 K(t)00을 얻을 수 있다.
그 다음, 이러한 순차적인 해독 처리에서, 도 15a에 도시된 테이블의 제2 칼럼의 암호화된 키 Enc(K(t)l00, K(t)0)는 갱신된 노드키 K(t)0으로 해독되며, 이것은 제1 칼럼의 암호화된 키 Enc(K(t)0, K(t)R)을 해독하여 갱신된 노드키 K(t)R를 얻는 데에 이용된다.
한편, 노드키 K000은 갱신되는 키가 아니다. 각각 노드 0 및 1과 연관된 디바이스 0 및 1에 의해 요구되는 갱신된 노드키는 K(t)00, K(t)0 및 K(t)R이다. 각각 노드 0 및 1과 연관된 디바이스 0 및 1은, 디바이스 키 K0000 및 K0001을 각각 이용하여 도 15a에 도시된 테이블의 제3 칼럼의 암호화된 키 Enc(K000, K(t)00)를 해독함으로써, 갱신된 노드키 K(t)00을 얻는다. 그 다음, 순차적인 해독 처리에서, 도 15a에 도시된 테이블의 제2 칼럼의 암호화된 키 Enc(K(t)00, K(t)0)은 갱신된 노드키 K(t)0으로 해독되고, 이것은 제1 칼럼의 암호화된 키 Enc(K(t)0, K(t)R)을 해독하여 갱신된 노드키 K(t)R을 얻는 데에 이용된다. 이러한 방식으로, 디바이스 0, 1 및 2 각각은 갱신된 노드키 K(t)R을 얻을 수 있다.
도 15a에 도시된 인덱스들은 노드키와 리프 키의 절대 어드레스임에 유의해야 한다. 노드키 및 리프 키는 각각 도면의 우측에 있는 암호화된 키를 해독하기 위한 해독 키로서 이용된다.
도 12에 도시된 트리 구조의 상부 계층 상에 있는 노드키 K(t)0과 루트키 K(t)R을 갱신할 필요는 없지만, 노드키 K00만을 갱신하는 처리를 행할 필요가 있는 때에는, 도 15b에 도시된 EKB를 이용하여, 갱신된 노드키 K(t)00가 디바이스 0, 1, 2에 배포될 수 있다.
전형적으로, 도 15b에 도시된 EKB는 새로운 콘텐츠 키를 지정 그룹에 속하는 디바이스들에 배포하는 데에 이용될 수 있다. 도 12에서 점선으로 둘러싸인 그룹에 속하는 디바이스 0, 1, 2, 3 각각이 기록 매체를 이용하며, 새로운 공통 콘텐츠 키 K(t)con을 요구하는 것으로 가정하자. 이 경우, 데이터 Enc(K(t)00, K(t)con)는 도 15b에 도시된 EKB와 함께 디바이스 0, 1, 2, 3에 배포된다. 데이터 Enc(K(t)00, K(t)con)는 새롭게 갱신된 콘텐츠 키 K(t)con을 디바이스 0, 1, 2, 3에 대해 공통으로 암호화한 결과이다. 새롭게 갱신된 콘텐츠 키 K(t)con은 노드키 K00을 디바이스 0, 1, 2, 3에 대해 공통으로 암호화한 결과인 K(t)00를 이용하여 암호화된다. 이에 의해, 암호 데이터 Enc(K(t)00, K(t)con)는, 디바이스 4 등의 다른 그룹의 기기가 암호 데이터를 해독하지 못하도록 배포될 수 있다.
즉, 디바이스 0, 1, 2는 각각 시점 t에 생성된 콘텐츠 키 K(t)con을 얻기 위한 EKB 처리의 결과로서 얻어진 키 K(t)00을 이용하여 암호 데이터를 해독할 수 있다.
도 16은, 기록 매체를 통해 도 15b에 도시된 EKB 및 데이터 Enc(K(t)00, K(t)con)를 수신한 디바이스 0가, 시점 t에 생성된 콘텐츠 키 K(t)con을 얻기 위해 실행하는 전형적인 처리를 나타내는 도면이다. 상술한 바와 같이, 데이터 Enc(K(t)00, K(t)con)는 새롭게 갱신된 콘텐츠 키 K(t)con을 디바이스 0, 1, 2, 3에 공통으로 암호화한 결과이다. 즉, 이러한 전형적인 처리에서, EKB를 이용하여 배포된 암호화된 메시지 데이터는 콘텐츠 키 K(t)con이다.
도 16에 도시된 바와 같이, 상술된 것과 동일한 EKB 처리에서, 디바이스 0은 시점 t에 생성된 EKB와 기록 매체에 미리 기억된 노드키 K000을 이용하여 노드키 K(t)00을 생성한다. EKB는 기록 매체에 기억되어 있다. 그 다음, 디바이스 0는 갱신된 콘텐츠 키 K(t)con을 해독하기 위한 해독의 결과로서 얻어진 갱신된 노드키 K(t)00을 이용한다. 그 다음, 디바이스 0은 자신만이 소유하고 있는 리프 키 K0000을 이용하여 나중의 이용을 위해 그것을 암호화한다.
도 17은 EKB의 전형적인 포맷을 나타내는 도면이다. 버전(601)은 EKB의 버전을 나타내는 식별자이다. 버전(601)은 가장 최근의 EKB를 결정하고 콘텐츠와의 관계를 나타내는 기능을 함에 유의해야 한다. 깊이는 EKB의 목적지로서 기능하는 디바이스를 위한 계층적인 트리 구조에서의 계층수를 나타낸다. 데이터 포인터(603)는 EKB의 데이터 부(606)에서의 위치를 나타내는 포인터이다. 태그 포인터(604)는 태그(607)의 위치를 나타내는 포인터이고, 서명 포인터(605)는 서명(608)의 위치를 나타내는 포인터이다.
데이터 부(606)는 전형적으로 암호화된 갱신된 노드키, 즉 도 16에 도시된 것과 같은 갱신된 노드키의 암호화의 결과로서 얻어진 암호화된 키이다.
태그(607)는 암호화된 노드키와 암호화된 리프 키 간의 위치적인 관계를 나타내는 태그이다. 암호화된 노드키와 암호화된 리프 키는 데이터 부(606)에 포함된다. 태그를 제공하는 규칙이 도 18과 관련하여 설명된다.
도 18은 도 15a를 참조하여 앞에서 설명한 EKB 전송의 일례를 나타내는 도면이다. 이 경우에서의 데이터가 도 18b에 도시되어 있다. 이 때 암호화된 키에 포함된 최상위 노드의 어드레스를 최상위 노드 어드레스로 칭한다. 본 예시에서는, 갱신된 루트키 K(t)R이 포함되므로, 최상위 노드 어드레스는 KR이다. 이 경우에서, 예를 들어, 제1 칼럼의 데이터 Enc(K(t)0, K(t)R)는 도 18a에 도시된 계층적 트리 구조에서의 위치 P0에 대응한다. 제2 칼럼의 데이터 Enc(K(t)00, K(t)0)는 계층적 트리 구조에서의 위치 P0의 좌측 하단에 있는 위치 P00에 대응한다. 계층적 트리 구조의 미리 정해진 위치보다 하측에 있는 계층에 데이터가 존재하는 경우, 태그는 0으로 설정된다. 반면에, 계층적 트리 구조의 미리 정해진 위치보다 하측에 있는 계층에 데이터가 존재하지 않는 경우, 태그는 1로 설정된다. 태그는 아래에 설명되는 바와 같이 {Left (L) tag, Right (R) tag} 포맷으로 설정된다. 도 18b에 도시된 제1 칼럼의 데이터 Enc(K(t)0, K(t)R)에 대응하는 위치 P0의 좌측 하단의 위치 P00에 데이터가 존재한다. 따라서, L 태그는 0으로 설정된다. 한편, 위치 P0의 우측 하단의 위치에는 데이터가 존재하지 않는다. 이 경우, R 태그는 1로 설정된다. 이와 같은 방식으로, 각각의 데이터에 대하여 태그가 설정된다. 도 18c는 전형적인 데이터 부들의 어레이와 태그 어레이를 포함하는 구성을 나타내는 도면이다.
태그는 대응 데이터 Enc(Kxxx, Yyyy)가 트리 구조 내의 어디에 존재하는지를 나타내도록 설정된다. 데이터 부(606)에 기억된 키 데이터 Enc(Kxxx, Kyyy) 등은 단지 단순한 방식으로 암호화되던 키들의 어레이다. 그러나, 상술한 것과 같은 태그를 이용하면, 트리 구조 내에서, 데이터로서 기억되어 있는 암호화된 키의 위치를 지정할 수 있다. 상술한 태그를 이용하지 않으면, 도 15를 참조하여 앞에서 설명한 구성의 경우에서와 같이, 암호 데이터의 부와 관련된 노드 인덱스를 이용하여 데이터를 구성하는 것이 가능하다. 데이터 구성의 예가 다음에 주어진다.
0 : Enc(K(t)0, K(t)R)
00 : Enc(K(t)00, K(t)0)
000 : Enc(K(t)000, K(t)00)
그러나, 이와 같은 인덱스들을 이용하는 구성에서는, 리던던트 데이터가 생성되기 때문에 데이터의 양이 증가한다. 결과적으로, 이러한 구성은 네트워크를 통한 배포나 그 이외의 목적에는 부적합하다. 그러나, 키의 위치를 나타내는 인덱 스 데이터로서 태그를 이용하면, 키의 위치가 적은 양의 데이터만으로도 인식될 수 있다.
다시 도 17을 참조하여, EKB 포맷을 설명한다. 서명(608)은 EKB를 발행하는 설정에 의해 주어지는 전자 서명이다. 이러한 설정의 예로는, 키 관리 센터(라이센스 서버(4)), 콘텐츠 공급자(콘텐츠 서버(3)), 및 과금 설정(과금 서버(5))이 있다. EKB를 수신한 디바이스는, 서명 인증을 통해 EKB가 승인된 EKB 발행자에 의해 발행된 유효한 EKB인지를 확인한다.
상술한 것과 같은 라이센스 서버(4)에 의해 발행되는 라이센스에 기초하여, 콘텐츠 서버(3)에 의해 공급되는 콘텐츠를 이용하는 처리를, 도 19에 도시된 것으로 요약할 수 있다.
도면에 도시되어 있는 바와 같이, 콘텐츠 서버(3)가 클라이언트(1)에 콘텐츠를 공급할 때, 라이센서 서버(4)는 클라이언트(1)에 라이센스를 발행한다. 콘텐츠는 Enc(Kc, Content)이고, 이것은 콘텐츠가 콘텐츠 키 Kc에 의해 암호화되었음을 나타내는 기호이다. 콘텐츠 키 Kc는 루트키 KR을 이용하여 암호화되어 Enc(KR, Kc)를 생성한다. 루트키 KR은 EKB로부터 얻어지며, 도 5에 도시된 키 KEKBC에 대응한다. 그 다음, 콘텐츠 키 Enc(KR, Kc) 및 EKB가 암호화된 콘텐츠에 추가된다. 최종적으로, 콘텐츠 키 Enc(KR, Kc), EKB 및 암호화된 콘텐츠는 클라이언트(1)에 공급된다.
도 20에 도시된 바와 같이, 도 19에 도시된 예의 EKB는 전형적으로 Enc(DNK, KR)를 포함하며, 이것은 루트키 KR이 DNK에 의해 암호화되었음을 나타내는 기호이다. 따라서, 서비스 데이터에 포함된 DNK를 이용하여, 클라이언트(1)는 EKB로부터 루트키 KR을 얻을 수 있다. 그 다음, 루트키 KR을 이용하여 Enc(KR, Kc)를 해독함으로써 콘텐츠 키 Kc를 얻을 수 있다. 최종적으로, 콘텐츠 키 Kc를 이용하여 Enc(Kc, 콘텐츠)를 해독함으로써 콘텐츠를 얻을 수 있다.
이러한 방법으로 DNK를 각 클라이언트에 할당함으로써, 도 12 및 15에 도시된 원리에 따라, 클라이언트(1)를 개별적으로 호출할 수 있다.
또한, 배포시에, 데이터의 일부로서 추가의 라이센스 리프 ID를 포함시키는 것에 의해, 서비스 데이터가 라이센스와 연관되어, 클라이언트(1)에서의 불법 복제 동작을 방지할 수 있다.
또한, 서비스 데이터로서 각 클라이언트에 기밀 키 및 증명서를 배포하는 것에 의해, 클라이언트(1)가 이용할 기밀 키 및 증명서가 이용되는 콘텐츠를 생성하여, 사용자가 그 콘텐츠를 복제하는 불법 동작을 행하는 것을 방지할 수 있다.
기밀 키 및 증명서의 이용은 도 28에 도시된 플로우차트를 참조하여 아래에서 설명될 것이다.
도 13을 참조하여 설명한 바와 같이, 본 발명에 따르면, 카테고리 노드에서 라이센스를 관리하기 위한 T 시스템은 콘텐츠 사용에 각각 이용되는 디바이스들의 카테고리와 연관된다. 따라서, 복수의 DNK는 동일한 디바이스에 의해 소유될 수 있다. 그 결과, 상이한 카테고리에 속하는 콘텐츠들이 하나의 디바이스를 이용하여 관리될 수 있다.
도 21은 복수의 콘텐츠를 하나의 디바이스에 할당하는 것을 도시하는 예시적인 도면이다. 보다 상세하게는, DNK 1이 할당되는 콘텐츠를 이용하기 위한 라이센스는 T 시스템에 기초하여 디바이스 D1에 기록된다. 마찬가지로, DNK2가 할당되는 콘텐츠 2는, CD로부터 메모리 스틱으로 전송하는 것에 의해 디바이스 D1에 기록될 수 있다. 이러한 방식으로, 디바이스 D1은 상이한 시스템(T 시스템과 디바이스 관리 시스템)에 의해 배포된 2개의 콘텐츠(콘텐츠 1과 콘텐츠 2)를 동시에 관리할 수 있다. 이러한 특징은 단 하나의 DNK만이 디바이스에 할당되는 경우에서는 구현될 수 없다. 이러한 경우의 예로는, 새로운 DNK가 할당될 때에 미리 할당되어 있던 DNK가 소거되는 경우가 있다.
또한, 예를 들어, 도 22에 도시된 라이센스 카테고리 1 및 2는 도 13에 도시된 32개의 하위 계층의 각 삼각형에 할당된다. 이러한 할당에 의해, 카테고리는 콘텐츠의 장르, 콘텐츠의 레벨, 콘텐츠의 소매점, 콘텐츠의 배포 서비스와 같은 보다 작은 그룹을 관리하기 위한 서브카테고리로 분류될 수 있다.
도 22에 도시된 일반적인 배치에서는, 예를 들어, 라이센스 카테고리(1, 2)가 각각 재즈 장르 및 락 장르에 관계된다. 라이센스 카테고리(1)는 각각 1의 라이센스 ID를 가지며, 사용자(1, 2, 3)에 분배되는 콘텐츠(1, 2)에 관련되어 있다. 라이센스 카테고리(2)는 각각 2의 라이센스 ID를 가지며, 사용자(1, 3)에 분배되는 콘텐츠(3, 4, 5)를 포함한다.
상기한 바와 같이, 본 발명에 따라, 독립 키 관리가 각각의 카테고리에 대하여 실행될 수 있다.
또한, 장비 및/또는 매체 안에 내장된 DNK를 구비하는 대신, DNK는 또한 사용자가 키를 구입하도록 허가하는 시스템을 구현하기 위하여 라이센스 서버(4)에 의해 수행되는 카탈로그 처리 안에서 각 장비 및/또는 각 매체로 다운로드될 수 있다.
무슨 기술이 채택되었는 지에 상관없이 콘텐츠의 생성 이후에 그 콘텐츠를 사용하는 어떤 기술을 채택함으로써 모든 어플리케이션에서 사용될 수 있는 콘텐츠를 제공하는 것이 바람직하다. 예를 들어, 상이한 콘텐츠 분배 서비스 또는 상이한 사용 조건을 갖는 도메인들 내에서 사용될 수 있는 콘텐츠를 제공하는 것이 바람직하다. 그러한 콘텐츠를 제공하기 위해서, 본 발명에 따라, 상기한 바와 같이, 인증국으로서 기능하는 라이센스 서버(4)가 기밀 키 및 그 기밀 키에 대해 개시된 증명서를 사용자에게(클라이언트(1)) 분배한다. 그 다음에, 사용자들 각각은 콘텐츠의 인테그리티(integrity)를 보증하고, 따라서, 콘텐츠가 위조되는 것을 방지하도록, 콘텐츠에 행해지는 서명을 생성하기 위한 기밀 키를 사용한다.
상기한 경우의 일반적인 처리가 도 23에 도시된 순서도를 참조하여 설명된다. 보다 구체적으로는, 그 처리는 기억 유닛(28)에서 CD로 부터 재생된 데이터를 기록하기 위하여 사용자에 의해서 수행되는 리핑(ripping) 프로세스이다.
도면에 도시된 바와 같이, 순서도는 클라이언트(1) 내에 채용된 CPU(21)가 CD로 부터 재생되는 입력된 기록 데이터를 통신 유닛(29)으로 부터 수신하는 단계 S171에서 시작한다. 그 다음에, 다음 단계 S172에서, CPU(21)는 단계 S171에서 기록된 데이터 입력이 콘텐츠의 데이터 안에 포함된 워터마크(wtermark)를 포함하는 지 여부에 대한 판정을 수행한다. 워터마크는 3비트 CCI(Copy Control Information) 및 1비트 트리거를 포함한다. 워터마크가 검출되면, 그 처리의 순서는 CPU(21)가 그 워터마크를 추출하는 처리를 수행하는 단계 S173으로 진행한다. 반면에, 워터마크가 검출되지 않으면, 워터마크 추출 처리는 생략된다.
그 다음에, 단계 S174에서는, CPU(21)가 콘텐츠에 대하여 기록될 헤더의 데이터를 생성한다. 헤더의 데이터는 라이센스 및 워터마크를 획득하기 위한 접근 타겟을 나타내는 콘텐츠 ID, 라이센스 ID, URL을 포함한다.
후속하여, 단계 S175에서는, 그 CPU(21)의 기밀 키를 사용함으로써, CPU(21)는 단계 S174에서 수행되는 프로세스 안에서 생성된 헤더의 데이터에 기초하여 디지털 서명을 생성한다. 기밀 키는 도 7에 도시된 순서도의 단계 S67에서 라이센스 서버(4)로부터 얻어진다.
그 다음에, 단계 S176에서는, CPU(21)가 암호 및 해독 유닛(24)을 제어하여 콘텐츠 키를 사용함으로써 그 콘텐츠를 암호화하도록 한다. 그 콘텐츠를 획득함과 동시에 콘텐츠 키가 획득된다(도 5 또는 도 9 참조).
후속하여, 단계 S177에서는, CPU(21)가 그 데이터를 파일 포맷으로 자기-광 디스크(43)에 기록한다. 전통적으로, 자기-광 디스크(43)는 미니 디스크이다.
기록 매체로서 사용되는 미니 디스크의 경우에, CPU(21)가 단계 S176에서 코덱 유닛(25)으로 콘텐츠를 공급함에 유의하여야 한다. 코덱 유닛(25)은 전통적으로 ATRAC3 시스템에 따라서 그 콘텐츠를 인코드한다. 인코드된 콘텐츠는 암호 및 해독 유닛(24)에 의해서 더 암호화된다.
도 24는 기록 매체에 기록된 콘텐츠의 모델을 도시하는 도면이다. 암호화된 콘텐츠(E(At3))로 부터 추출된 워터마크 (WM)는 콘텐츠의 외측 헤더에 기록된다.
도 25는 콘텐츠가 기록 매체에 기록되는 보다 구체적인 파일 포맷의 구성을 도시하는 도면이다. 일반적인 구성으로부터 분명한 것처럼, 콘텐츠 ID(CID), 라이센스 ID(LID), URL, 및 워터마크(WM)를 포함하는 헤더가 기록된다. 또한, EKB, 데이터 Enc(KR, Kc), 증명서(Cert), 디지털 헤더(Sig(Header)), 데이터 Enc(Kc,Content), 메타 데이터, 및 마스크가 기록된다. 데이터 Enc(KR, Kc)는 루트 키(KR) 사용에 의한 콘텐츠 키(Kc)의 암호화의 결과이며, 데이터 Enc(Kc, Content)는 콘텐츠 키(Kc) 사용에 의한 콘텐츠의 암호화의 결과이다. 디지털 헤더(Sig(Header))는 헤더에 기초하여 생성된다.
워터마트는 그 콘텐츠 안에 포함된다. 도 24 및 25에 도시된 바와 같이, 콘텐츠의 내부에 더하여, 워터마크는 헤더 내에도 배치되어, 워터마크로서 그 콘텐츠 안에 포함된 정보가 신속하고 용이하게 검출될 수 있도록 한다. 따라서, 콘텐츠가 복사될 수 있는지 여부를 신속하게 판정하는 것이 가능하다.
메타(meta) 데이터가 전형적으로 자켓, 그림, 리브레토(libreto) 및 다른 정보를 나타낸다는 것을 유의해야 한다. 마크는 도 31을 참조하여 이후에 설명될 것이다.
도 26은 공개 키의 증명서로서 사용되는 일반적인 공개 키 증명서를 도시하는 도면이다. 즉, 공개 키 증명서는 공개 키 암호 시스템에서 CA(Certificate Authority)에 의해 발행되는 증명서이다. 공개 키 증명서는 CA의 디지털 서명을 그 위에 하는 것 뿐만 아니라, 유효기간 등의 정보를 CA에 제공된 공개 키 및 사용자 ID에 더함으로써, CA에 의해서 발행된다. 본 발명에 따라, 라이센스 서버(4) 또는 콘텐츠 서버(3)는 증명서, 기밀 키 및 ,따라서, 공개 키 역시 발행한다. 따라서, 사용자 ID 및 패스워드와 같은 정보를 그안에서 등록될 라이센스 서버(4)에 제공함으로써, 사용자는 공개 키 증명서를 얻을 수 있다.
도 26에 도시된 공개 키 증명서는 메시지를 포함한다. 그 메시지는 증명서의 버전 수, 증명서의 사용자를 위해서 라이센스 서버(4)에 의해 발행된 일련 번호, 디지털 서명을 위해 사용되는 알고리즘 및 파라미터, CA의 이름, 증명서의 유효기간, 증명서의 사용자에게 할당된 ID, 및 증명서 사용자의 공개 키를 포함한다. 이 경우, CA는 라이센스 서버(4)이다. 사용자에게 할당된 ID는 노드(node) ID 또는 리프(leaf) ID이다. CA의 역할을 하는 라이센스 서버(4)에 의해 생성된 디지털 서명은 그 메시지에 더해진다. 디지털 서명은 그 메시지에 대한 해시(hash) 함수의 어플리케이션에 의해 생성된 해시 값에 기초한 라이센스 서버(4)의 기밀 키를 사용하여 생성된 데이터이다.
예를 들어, 도 12에 도시된 일반적인 키 조직의 경우에, 노드 ID 또는 리프 ID는 디바이스 0에 대하여 '0000', 디바이스 1에 대하여'0001' 또는 디바이스 15에 대하여'1111'이다. 이러한 ID에 기초하여, 그 ID에 의해 식별되는 디바이스(엔티티)가 위치하는 트리 구조내의 어느 위치, 즉, 트리 구조내의 어느 리프 또는 어느 노드를 결정하는 것이 따라서 가능하다.
콘텐츠를 사용하는데 요구되는 라이센스를 이러한 방식으로 콘텐츠로부터 개 별적으로 분배함으로써, 콘텐츠는 높은 자유도를 가지고 분배될 수 있다. 임의의 방법을 채택함으로써 또는 임의의 루트를 통해 얻어진 콘텐츠는 따라서 단일하게(unitarily) 조정(handle)될 수 있다.
또한, 도 25에 도시된 바와 같이 파일 포맷을 구성함으로써, 콘텐츠가 인터넷을 통해 분배되거나, 심지어는 콘텐츠가 SDMI(Secure Digital Music Initiative) 장비에 제공되더라도, 그러한 포맷을 갖는 콘텐츠의 저작권이 관리될 수 있다는 것은 당연하다.
또한, 기록 매체 내에 콘텐츠를 기록함으로써, 또는 도 27에 도시된 바와 같이 인터넷(2)을 통해, 예를 들어, 동일한 처리를 수행함으로써 콘텐츠가 제공된다고 할 지라도, SDMI(Secure Digital Music Initiative)장비로서 사용된 소정의 PD(Portable Device)에 대하여 전통적으로 콘텐츠를 체크하는 것이 가능하다.
도 28에 도시된 순서도를 참조하여, 다음의 기술은 클라이언트(1) 이외의 PD와 같은 클라이언트에 대하여 콘텐츠를 체크하는 처리를 설명한다.
도면에 도시된 바와 같이, 순서도는 CPU(21)가 디지털 서명이 콘텐츠에 행해졌는지 여부를 판정하는 단계 S191에서 시작한다. 판정의 결과가 디지털 서명이 콘텐츠에 행해졌다는 것을 나타내면, 그 처리의 순서는 CPU(21)가 공개 키 증명서를 추출하고, CA의 역할을 하는 라이센스 서버(4)의 공개 키를 사용함으로써 증명서를 인증하는 처리를 수행하는 단계 S192로 진행한다. 보다 자세하게는, 클라이언트(1)는 라이센스 서버(4)로부터 라이센스 서버(4)의 기밀 키에 대한 공개 키를 획득하고, 공개 키를 사용하여 공개 키 증명서에 행해진 디지털 서명을 해독한다. 도 26을 참조하여 상기한 바와 같이, 디지털 서명은 CA의 역할을 하는 라이센스 서버(4)의 기밀 키에 기초하여 생성되며, 라이센스 서버(4)의 공개 키를 사용함으로써 해독될 수 있다. 또한, CPU(21)는 해시 함수를 증명서의 전체 메시지에 적용하여 해시 값을 생성한다. 그 다음에, CPU(21)가 생성된 해시 값과 디지털 서명의 해독의 결과로서 얻어진 해시 값과 비교한다. 생성된 해시 값이 디지털 서명의 해독의 결과로서 얻어진 해시 값과 일치하는 경우에는, 메시지는 에러 메시지가 아닌 것으로 결정된다. 반면에, 생성된 해시 값이 디지털 서명의 해독의 결과로서 얻어진 해시 값과 일치하지 않는 경우에는, 이 증명서는 에러인 것으로 결정된다.
따라서, 단계 S193에서, CPU(21)가 증명서가 위조되었는지 여부를 판정한다. 판정의 결과가 증명서가 위조되지 않았음을 나타내면, 그 처리의 순서는 CPU(21)가 EKB를 사용하여 그 증명서를 인증하는 처리를 수행하는 단계 S194로 진행한다. 그 증명서는 EKB가 증명서 내에 내장된 리프 ID에 기초하여 추적(trace)될 수 있는지 여부를 시험함으로써 인증된다. 리프 ID에 대한 보다 많은 정보를 위해서 도 26을 참조하라. 그 인증은 아래와 같이 도 29 및 30을 참조하여 설명될 것이다.
도 29에 도시된 바와 같이, 리프 키 K1001을 소유한 디바이스는 취소된 디바이스라고 가정한다. 이 경우, 도 30에 도시된 것과 같이, 태그(tag) 및 데이터(암호화된 키)를 갖는 EKB가 각 리프에 대응하는 디바이스에 분배된다. 도 29에 도시된 디바이스 '1001'을 취소하기 위해, 이 EKB는 KR, K1, K10, 및 K100을 갱신하기 위한 EKB이다.
취소된 디바이스 '1001'에 대응하는 리프 이외의 모든 리프들은 갱신된 루트 키 K(t)R을 획득할 수 있다. 즉, 노드 키 K0 아래의 계층적인 층 위의 어떤 리프들이던지 갱신되지 않은 노드 키 KO를 디바이스 내부에 가지고 있으며, 리프는 그 키 KO를 이용하여 암호화된 키 Enc(K0, K(t)R)의 해독에 의해서 갱신된 루트 키 K(t)R을 얻을 능력이 있다.
또한, 노드 키 K11 아래의 계층적인 층 위의 리프는 갱신되지 않은 노드 키 K11을 사용하여 Enc(K11, K(t)1)의 해독에 의해서 갱신된 노드 키 K(t)1을 얻을 능력이 있다. 또한, 갱신된 루트 키 K(t)R는 갱신된 노드 키 K(t)1을 사용하여 Enc(K(t)1, K(t)R)의 해독에 의해서 얻어질 수 있다. 마찬가지로, 노드 키 K101 아래의 계층적인 층 위의 리프 또한 갱신된 루트 키 K(t)R을 얻을 능력이 있다.
또한, 취소되지 않은 리브 키 K1000을 소유한 디바이스 '1000'은 그 리프 키 K1000을 이용하여 Enc(K1000, K(t)100)의 해독에 의하여 노드 키 K(t)100을 얻을 능력이 있다. 그 다음에, 그 디바이스는 노드 키 K(t)100을 사용하여 하나의 키 다음에 다음 키로, 순차적으로, 계층적인 층들 위에 있는 노드 키를 해독하여, 종국에는 갱신된 루트 키 K(t)R을 얻는다.
반면에, 취소된 디바이스 '1001'은 EKB 처리를 수행함으로써 그 리프 위의 한 레벨 위의 계층적인 층 위의 갱신된 노드 키 K(t)100을 얻을 능력이 없으며, 따라서 그 디바이스는 종국에는 갱신된 루트 키 K(t)R을 얻을 능력이 없다.
취소되지 않은 인증된 디바이스, 즉, 클라이언트(1)는 도 30에 도시된 태그 및 데이터를 갖는 EKB를 라이센스 서버(4)로 부터 수신하고, 그것을 거기에 기억한다.
따라서, 각각의 클라이언트는 그 태그를 사용하여 EKB 추적 처리를 수행할 수 있다. EKB 추적 처리는 키 분배 트리가 톱(top)에서 루트 키로부터 추적될 수 있는지 여부를 판정하는 프로세스이다.
도 29에 도시된 리프'1001'이 할당된 '1001'의 리프 ID는 4비트 즉, '1', '0', '0', '1'로서 파악되는 것으로 가정한다. EKB 추적 처리는 가장 중요한 비트로 부터 시작하여 가장 덜 중요한 비트를 통해 순차적으로, 하나의 비트 다음에 또다른 비트를 시험함으로써 트리가 추적될 수 있는지 여부를 판정하는 것을 수행한다. 보다 구체적으로는, '1' 비트는 추적이 우측으로 진행되어야 함을 지시하는 반면, '0' 비트는 추적이 좌측으로 진행되어야 함을 지시한다.
ID '1001'의 가장 중요한 비트는 '1'이기 때문에, 그 추적은 도 29에 도시된 루트 키 KR로부터 우측으로 진행한다. EKB의 제1 태그, 즉 0의 수를 갖는 태그는 0:{0, 0}이며, 이는 데이터가 양 브랜치에 존재함을 나타낸다. 이경우, 그 추적은 우측으로 진행할 능력이 있기 때문에, 노드 키 K1에 도달할 수 있다.
다음으로, 그 추적은 노드 키 K1 아래의 계층적인 층 위의 노드로 진행한다. ID '1001'의 제2 비트가 '0'이기 때문에, 그 추적은 좌측으로 진행한다. 1의 수를 갖는 태그는 데이터는 좌측의 노드 키 K0 아래의 계층적인 층 위에 존재하는지 여부를 나타낸다. 데이터가 노드 키 K1 아래의 계층적인 층 위에 존재하는지 여부를 나태내는 태그는 2의 수를 갖는 태그이다. 도 30에 도시된 바와 같이, 2의 수를 갖는 태그는 2:{0, 0}이며, 이는 데이터가 양 브랜치에 존재함을 나타낸다. 따라서 그 추적은 죄측으로 진행하고, 노드 키 K10에 도달할 수 있다.
또한, ID '1001'의 제3 비트는 0이기 때문에, 그 추적은 좌측으로 진행한다. 동시에, 데이터가 노드 키 K10 아래의 계층적인 층 위에 존재하는지 여부를 나타내는 태그는 3의 수를 갖는 태그이다. 3의 수를 갖는 태그는 3:{0, 0}이며, 이는 데이터가 양 브랜치에 존재함을 나타낸다. 따라서, 그 추적은 좌측으로 진행하며, 노드 키 K100에 도달할 수 있다.
더욱이, ID '1001'의 최하위 비트는 1이기 때문에, 추적은 우측으로 진행된다. 4의 번호를 갖는 태그가 노드 키 K11에 대응한다. 노드 키 K100 아래의 계층 상에 데이터가 존재하는지 여부를 나타내는 태그가 5의 번호를 갖는 태그이다. 5의 번호를 갖는 태그는 5 : {0, 1}이며, 이것은 우측에 데이터가 존재하지 않는다는 것을 나타낸다. 그 결과, 노드 '1001'에 도달할 수 없기 때문에, '1001'의 ID를 갖는 디바이스는 EKB를 이용하여 갱신된 루트 키를 취득할 수 없는 디바이스, 즉 취소 디바이스(revoked device)로 결정된다.
한편, 예를 들어, 리프 키 K1000을 갖는 디바이스 ID는 '1000'이다. 따라서, 상술한 바와 같이 EKB 내의 태그들에 기초한 EKB 추적 처리가 수행될 때, 노드 '1000'에 도달할 수 있다. 그 결과, '1000'의 ID를 갖는 디바이스는 인증 디바이스로 결정된다.
도 28을 다시 참조하면, 다음 단계 S195에서, CPU(21)는 단계 S194에서 수행된 인증 처리의 결과에 기초하여 증명서가 취소되었는지 여부에 대한 판정을 행한다. 만일 증명서가 취소되었다면, 처리는 단계 S196으로 진행되어, 증명서에 내장된 공개 키를 이용하여 디지털 서명을 인증하기 위한 처리가 수행된다.
즉, 도 26에 도시된 바와 같이, 증명서는 증명서 사용자(또는 콘텐츠 저자)의 공개 키를 포함한다. 공개 키는 도 25에 도시된 디지털 서명 Sig(헤더)를 인증하는 데 사용된다. 상세히 설명하면, 공개 키는 해시 값을 생성하기 위하여 디지털 서명 Sig(헤더)를 해독하는 데 사용된다. 이 해시 값은 해시 함수를 도 25에 도시된 헤더에 적용하여 얻어진 헤더 값과 비교된다. 만일 두 헤더 값이 서로 일치하면, 헤더는 위조되지 않은 헤더로 확인된다. 만일 두 헤더 값이 서로 일치하지 않는다면, 헤더는 위조된 것으로 결정된다.
그 후, 다음 단계 S197에서, CPU(21)는 헤더가 위조되었는지 여부에 대한 판정을 행한다. 만일 헤더가 위조되지 않았다면, 처리는 S198로 진행되어, 워터마크가 인증된다. 그 후, 다음 단계 S199에서, CPU(21)는 워터 마크의 인증 결과가 체크아웃이 가능함을 나타내는지 여부에 대한 판정을 행한다. 만일 체크아웃이 가능하다면, 처리는 단계 S200으로 진행되어, CPU(21)는 체크아웃을 수행한다. 구체적으로 설명하면, CPU(21)는 체크아웃 행선지(check-out destination)로서 기능하는 클라이언트(1)에 콘텐츠를 전송하여 복사되도록 한다.
한편, 만일 S191에서 행해진 판정 결과가 디지털 서명이 존재하지 않음을 나타내거나, 단계 S193에서 행해진 판정의 결과가 증명서가 위조되었음을 나타내거나, 단계 S195에서 행해진 판정의 결과가 EKB를 이용하여 증명서를 인증할 수 없음을 나타내거나, 단계 S197에서 행해진 판정의 결과가 디지털 서명의 인증 결과 헤더가 위조되었음을 나타내거나, 또는 단계 S199에서 행해진 판정의 결과가 워터마크가 체크아웃을 금하는 기술을 포함함을 나타낸다면, 처리는 단계 S201로 진행되 어, 에러 핸딩 처리(error-handing process)가 수행된다. 즉, 이 경우, 체크아웃이 금지된다.
상술한 바와 같이, 증명서 및 기밀 키가 라이센스 서버(4)로부터 사용자에게 분배된다. 콘텐츠의 작성시 디지털 서명을 추가함으로써, 콘텐츠의 저자가 진짜임이 보증될 수 있다.
또한, 콘텐츠의 작성시 워터마크를 검출하고 그 워터마크를 디지털 서명에 추가함으로써, 워터마크의 위조를 피할 수 있다. 따라서, 콘텐츠가 진짜임이 보증될 수 있다.
그 결과, 콘텐츠가 한 번 작성되면, 콘텐츠가 어떤 형식으로 분배되어 있는가에 상관없이 최초 콘텐츠가 진짜임이 보증될 수 있다.
또한, 콘텐츠는 사용 조건을 갖지 않는다. 그 대신, 사용 조건은 콘텐츠의 라이센스에 추가된다. 따라서, 라이센스에 내장된 사용 조건을 변경함으로써, 콘텐츠를 사용하기 위한 조건도 수정될 수 있다.
다음으로, 마크를 사용하는 방법에 대해 설명한다. 본 발명에 따르면, 사용 조건은 상술한 바와 같이 콘텐츠에 추가되지 않고 콘텐츠의 라이센스에 추가된다. 그러나, 사용 상황은 콘텐츠에 따라서 다를 수 있다. 이러한 문제를 해결하기 위하여, 도 25에 도시된 바와 같이 본 발명에 따르면 마크가 콘텐츠에 추가된다.
라이센스는 복수의 콘텐츠와 관련되어 있기 때문에, 라이센스에 내장된 사용 조건만으로 각 콘텐츠의 사용 상황을 설명하는 것은 곤란하다. 이러한 문제를 해결하기 위하여, 콘텐츠에 사용 상황을 추가함으로써, 라이센스를 관리하면서 개개 의 콘텐츠를 관리할 수 있다.
도 31에 도시된 바와 같이, 마크는 일반적으로 사용자에게 할당된 ID(리프 ID), 소유권 플래그(ownership flag), 사용 시작 시기 및 복사 횟수를 포함한다.
또한, 마크는 리프 ID, 소유권 플래그, 사용 시작 시기 및 복사 횟수와 같은 메시지에 기초하여 작성된 추가적인 디지털 서명도 포함한다.
소유권 플래그는 예를 들어 사용자가 소정 기간 동안만 콘텐츠를 사용할 수 있게 하는 라이센스를 구입할 때 그대로 추가되거나, 또는 사용 기간이 영구 사용 기간으로 변경될 때 추가된다. 사용 시작 시기는 소정 기간 내에 콘텐츠의 사용이 시작될 때 서술된다. 콘텐츠를 다운로드하는 기간이 제한된다고 가정하자. 이 경우, 제한된 기간 내에 콘텐츠가 다운로드되면, 콘텐츠가 실제로 다운로드되는 날짜와 시간이 사용 시작 시기로서 기록된다. 이러한 방식으로, 기간 내의 콘텐츠의 법적 사용이 입증된다.
로그로서 기록된 복사 횟수는 콘텐츠를 복사하기 위해 지금까지 수행된 동작의 수이다.
도 32에 도시된 순서도를 참조하여, 이하 사용자가 라이센스를 구입할 때 콘텐츠에 마크를 추가하기 위해 수행되는 처리에 대하여 설명한다.
도면에 도시된 바와 같이, 순서도는 단계 S221에서 시작하는데, 여기서 CPU(21)는 사용자가 입력 유닛(26)을 통하여 입력한 명령에 따라서 인터넷(2)을 통하여 라이센스 서버(4)에 액세스한다.
그 후, 다음 단계 S222에서, CPU(21)는 사용자가 입력 유닛(26)을 통하여 입 력한 입력을 인출하고 그 입력에 따른 라이센스를 구입하기 위한 요구를 라이센스 서버(4)에 전송한다.
라이센스 서버(4)는, 이러한 요구에 응답하여, 나중에 설명할 도 33에 도시된 순서도를 참조하여 단계 S242에서 라이센스 구입 가격을 제시한다. 그 후, 다음 단계 S223에서, 클라이언트(1)에 채용된 CPU(21)는 라이센스 서버(4)가 전송한 가격을 수신하고, 그 가격을 출력 유닛(27) 상에 표시한다.
사용자는, 표시된 가격에 기초하여, 그 가격에 동의하는지 동의하지 않는지에 대한 판정을 행한다. 사용자는 판정의 결과를 입력 유닛(26)에 입력한다.
그 후, 다음 단계 S224에서, CPU(21)는, 입력 유닛(26)에 입력된 판정 결과에 기초하여, 가격이 동의되었는지 동의되지 않았는지에 대한 판정을 행한다. 만일 가격이 동의되었다면, 처리는 단계 S225로 진행되어, CPU(21)는 라이센스 서버(4)에 가격이 동의되었슴을 통지하는 처리를 수행한다.
이 통지를 수신한 라이센스 서버(4)는, 도 33에 도시된 순서도의 단계 S244에서 해당 가격에 라이센스 구입을 나타내는 정보, 즉 상기 소유권 플래그를 포함하는 마크를 전송한다. 그 후, 다음 단계 S226에서, 클라이언트(1)에 채용된 CPU(21)는 라이센스 서버(4)가 전송한 마크를 수신한다. 그 후, 다음 단계 S227에서, CPU(21)는 마크를 콘텐츠 중에 포함시키는 처리를 수행한다. 따라서, 도 31에 도시된 것과 같은 상기 소유권 플래그를 포함하는 마크가 구입 라이센스와 관련된 콘텐츠 중에 콘텐츠에 대한 마크로서 기록된다. 또한, 그 때 메시지가 갱신되기 때문에, CPU(21)는 또한 도 25에 도시된 디지털 서명을 갱신하고 갱신된 디지털 서 명을 기록 매체에 기억한다.
한편, 단계 S224에서 행해진 판정의 결과가 라이센스 서버(4)가 제시한 가격이 동의되지 않았음을 나타내면, 처리는 단계 S228로 진행되어, CPU(21)는 라이센스 서버에 가격이 동의되지 않았음을 통지한다.
상술한 바와 같이 클라이언트(1)가 수행하는 처리에 대해, 라이센스 서버(4)는 도 33에 도시된 순서도가 나타내는 처리를 수행한다.
도면에 도시된 바와 같이, 순서도는 S241에서 시작하고, 여기서 라이센스 서버(4)에 채용된 CPU(21)는 클라이언트(1)로부터 라이센스 구입 요구를 수신한다. 상술한 바와 같이, 그러한 요구는 도 32에 도시된 순서도의 단계 S222에서 클라이언트(1)에 의해 전송된다. 그 후, 다음 단계 S242에서, CPU(21)는 기억 유닛(28)으로부터 사용자가 구입하고자 하는 라이센스의 가격을 판독하여, 그 가격을 클라이언트(1)에 전송한다.
상술한 바와 같이, 공개된 가격에 응답하여, 클라이언트(1)는 가격에 동의하는지 동의하지 않는지에 대한 판정의 결과를 전송한다.
그 후, 다음 단계 S243에서, 라이센스 서버(4)에 채용된 CPU(21)는 클라이언트(1)로부터 수신된 판정 결과에 기초하여 클라이언트(1)가 가격에 동의하는지 동의하지 않는지를 판정한다. 만일 가격이 동의되면, 처리는 단계 S244로 진행되어 콘텐츠에 대한 라이센스의 구입을 나타내는 메시지를 포함하는 마크를 생성하고, 자신의 기밀 키를 이용하여 마크 상에 디지털 서명을 하고 마크를 클라이언트(1)에 전송한다. 상술한 바와 같이, 이렇게 전송된 마크는 도 32의 단계 S227에서 클라 이언트(1)에 채용된 기억 유닛(28) 내의 해당 콘텐츠 상에 기록된다.
한편, 만일 라이센스 서버(4)에 채용된 CPU(21)가 이 단계 S243에서 클라이언트(1)가 가격에 동의하지 않는다고 판정하면, 단계 S244의 처리는 생략된다. 즉, 이 경우, 라이센스 구입 처리는 결국 수행되지 않는다. 따라서, 클라이언트(1)에 마크가 전송되지 않는다.
도 34는 단계 S244에서 라이센스 서버(4)로부터 클라이언트(1)에 전송된 마크의 전형적인 구성을 도시하는 도면이다. 이 전형적인 구성에서, 마크는 사용자의 리프 ID, 소유권 플래그(Own), 및 라이센스 서버(4)의 기밀 키 S에 기초하여 상기 리프 ID와 소유권 플래그로부터 생성되는 디지털 서명 Sigs(Leaf ID, Own)를 포함한다.
마크는 지정 사용자에게 등록된 지정 콘텐츠에 대해서만 유효하다는 점에 주의하자. 따라서, 지정 콘텐츠가 복사되면, 복사된 콘텐츠 중의 마크는 무효하다.
이러한 방식으로, 콘텐츠가 라이센스와 분리되고 사용 조건이 라이센스와 관련되더라도, 개개의 콘텐츠에 대한 사용 상황에 따라서 서비스를 제공할 수 있다.
다음으로, 그룹핑(grouping)에 대해 설명한다. 복수의 장치 및 매체가 하나의 그룹으로 모아지고, 이 그룹에서는 높은 자유도로 콘텐츠가 변경될 수 있다. 그러한 그룹의 형성을 그룹핑이라 부른다. 보통, 그룹핑은 개인이 소유하는 장치와 매체들을 포함하는 그룹을 형성한다. 일반적으로, 그룹핑은 각 그룹에 대해 그룹 키를 설정하는 동작도 포함한다. 그러나, 하나의 그룹에 모아진 복수의 장치와 매체들을 공통의 라이센스와 관련시킴으로써, 그룹핑은 용이하게 행해질 수 있다.
또한, 그룹핑은 사전에 장치들을 등록(cataloging)함으로써 수행될 수 있다. 이러한 종류의 그룹핑에 대해 이하에서 설명한다.
이 경우, 사용자는 서버에 그룹핑될 장치들의 증명서들을 사전에 등록할 필요가 있다. 그러한 증명서들을 등록하는 처리에 대해 도 35 및 36에 도시된 순서도를 참조하여 설명한다.
우선 첫째로, 클라이언트, 즉 그룹핑될 장치의 증명서들을 등록하는 처리에 대해 도 35에 도시된 순서도를 참조하여 설명한다. 도면에 도시된 바와 같이, 순서도는 단계 S261에서 시작하고, 여기서 클라이언트(1)에 채용된 CPU(21)는 그룹핑될 장치의 증명서로서 자신의 증명서를 작성한다. 이 증명서는 그 자신의 공개 키를 포함한다.
그 후, 다음 단계 S262에서, CPU(21)는 사용자가 입력 유닛(26)에 입력한 입력에 기초하여 콘텐츠 서버(3)에 액세스한다. 그 후, 다음 단계 S263에서, 단계 S261에서 작성된 증명서가 콘텐츠 서버(3)에 전송된다.
라이센스 서버(4)로부터 수신된 증명서는 그대로 상기 증명서로서 사용될 수도 있음에 주의하자.
상기 처리는 그룹핑될 모든 장치들에 의해 수행된다.
도 36에 도시된 순서도를 참조하여, 도 35에 도시된 순서도가 나타내는 바와 같이 증명서를 등록하기 위해 클라이언트(1)가 수행하는 처리에 의해 작성된 증명서를 등록하기 위해 콘텐츠 서버(3)가 수행하는 처리에 대해 설명한다.
도면에 도시된 바와 같이, 순서도는 단계 S271에서 시작하고, 여기서 콘텐츠 서버(3)에 채용된 CPU(21)는 클라이언트(1)로부터 증명서를 수신한다. 그 후, 다음 단계 S272에서, 증명서는 기억 유닛(28) 내에 등록된다.
상기 처리는 그룹핑될 각 장치에 대해 수행된다. 그 결과, 각 그룹을 구성하는 디바이스들의 증명서들은 도 37에 도시된 바와 같이 콘텐츠 서버(3)에 채용된 기억 유닛(28) 내에 등록된다.
도 37에 도시된 예에서, 증명서 C11 내지 C14는 그룹 1의 증명서들로서 등록된다. 이들 증명서 C11 내지 C14는 각각 대응하는 공개 키 Kp11 내지 Kp14를 포함한다.
마찬가지로, 증명서 C21 내지 C24는 그룹 2의 증명서들로서 등록된다. 이들 증명서 C21 내지 C24는 각각 대응하는 공개 키 Kp21 내지 Kp24를 포함한다.
그러한 그룹을 구성하는 각 장치에 대해 증명서가 등록되면, 콘텐츠 서버(3)는 그룹에 속하는 장치의 사용자가 콘텐츠의 제시 요구를 할 때 도 38에 도시된 순서도가 나타내는 처리를 수행한다.
도면에 도시된 바와 같이, 순서도는 단계 S281에서 시작하며, 여기서 콘텐츠 서버(3)에 채용된 CPU(21)는 기억 유닛(28) 내에 등록된 것들 중에서 해당 그룹의 증명서를 인증하는 처리를 수행한다.
도 29 및 도 30을 참조하여 앞에서 설명한 바와 같이, 이러한 인증처리에서, EKB는 증명서에 포함되어 있는 장치의 리프 ID에 기초하여 태그들을 이용함으로써 추적된다. EKB는 라이센스 서버(4)에 의해 콘텐츠 서버(3)에 분배된다. 인증처리 에서는 취소된 증명서가 제거된다.
그 다음, 다음 단계 S282에서, 콘텐츠 서버(3)에 채택되고 있는 CPU(21)는 단계 S281에서 유효한 것으로 판정된 증명서를 수행된 인증 처리의 결과로 선택하게 된다. 후속하여, 다음 단계 S283에서, CPU(21)는 단계 S282에서 수행된 처리에서 선택된 장치의 인증에 대한 공개 키를 이용하여 콘텐츠 키를 암호화한다. 그 다음, 다음 단계 S284에서, CPU(21)는 단계 S283에서 수행된 처리에서 암호화된 콘텐츠 키를 그 내용과 함께 콘텐츠를 나타내도록 요구하고 있는 그룹 장치에 전송하게 된다.
도 37에 도시된 그룹 중 하나의 증명서 C14가 취소된 것으로 가정한다. 이러한 경우에, 단계 S283에서 수행되는 처리에서는, 통상 도 39에 도시된 암호 데이터가 생성된다.
보다 상세히 살펴 보면, 도 39에 도시된 암호 데이터에 있어서, 콘텐츠 키 Kc는 증명서 C11에 대한 공개 키 Kp11과, 증명서 C12에 대한 공개 키 Kp12 혹은 증명서 C13에 대한 공개 키 Kp13을 이용하여 암호화되어 있다.
라이센스 서버(3)로부터의 콘텐츠를 도 38에 도시된 순서도로 표현된 처리의 결과로 수신하는 경우, 장치 혹은 그룹에 속하는 클라이언트는 도 40에 도시된 순서도로 표현되는 처리를 수행하게 된다.
도 40에 도시한 바와 같이, 순서도는 클라이언트(1)에서 채택되고 있는 CPU(21)가 콘텐츠 키 Kc와 콘텐츠를 수신하는 단계 S291에서 시작되고 있으며, 이 들 콘텐츠 키와 콘텐츠는 도 38에 도시된 순서도의 단계 S284에서 수행되는 처리에서 콘텐츠 서버(3)에 의해 전송된다. 콘텐츠는 콘텐츠 키 Kc를 사용하여 암호화가 이루어지며, 이 콘텐츠 키는 상술한 바와 같은 장치에 의해 유지되는 공개 키를 사용하여 암호화되어 있다 (도 39 참조).
그 다음, 다음 단계 S292에서, CPU(21)는 단계 S291에서 수행된 처리에서 수신되어 클라이언트(1)용으로 예정된 콘텐츠 키 Kc를 클라이언트(1)가 갖고 있는 기밀 키를 이용하여 해독한다. 다음에 CPU(21)는 해독된 콘텐츠 키를 이용하여 콘텐츠를 해독한다.
예를 들어, 도 39에 도시된 증명서 C11에 대응하는 장치를 실례로 들어본다. 이 장치는 공개 키 Kp11에 해당하는 자신의 기밀 키를 이용하여 콘텐츠 키 Kc를 해독한다. 다음에 이 장치는 해독된 키 Kc를 이용하여 콘텐츠를 해독한다.
동일한 처리가 증명서 C12 및 C13과 관련하여 장치에 대해 수행된다. 취소된 증명서 C14와 관련된 장치는 콘텐츠에 첨부된 자신의 공개 키로 암호화된 콘텐츠 키를 수신하지는 않는다. 따라서, 장치는 자신의 기밀 키를 이용하여 콘텐츠 키 Kc를 해독할 수는 없으며, 이에 따라 해독된 콘텐츠 키 Kc를 이용하여 콘텐츠를 해독할 수도 없다.
상술한 바와 같이, 장치들은 콘텐츠 키들에 대해 즉, 콘텐츠들에 대해 그룹핑되지만, 라이센스키들 즉, 라이센스들에 대해 그룹핑되지는 않는다.
상술한 바와 같이, 장치들은 후술하는 특수 그룹키 혹은 ICVs(Integrity Check Values)를 사용하지 않고 그룹핑될 수 있다. 이러한 종류의 그룹핑은 소규모의 그룹핑에 적합하다.
본 발명에 따르면, 라이센스는 체크아웃, 체크인, 이동 및 복사될 수 있다. 그러나, 이러한 동작은 SDMT에 의해 결정된 규칙에 기초하여 행해져야 한다.
도 41 내지 도 42에 도시된 순서도를 참조하여, 이하의 기재에서는 클라이언트를 이용함으로써 라이센스 체크 아웃을 수행하는 처리를 설명한다.
도 41에 도시된 순서도를 참조하여 또다른 클라이언트에 대한 라이센스를 체크아웃하는 클라이언트에 의해 수행되는 처리에 대해 설명한다. 도면에 도시되고 있는 바와 같이, 순서도는 클라이언트(1)에 채택되고 있는 CPU(21)가, 체크 아웃될 라이센스에 대한 체크아웃 동작의 수(the number of check-out operations)를 판독하는 단계 S301에서 시작된다. 체크 아웃 동작의 수(N1)는 도 8에 도시된 사용 조건에 포함된다. 따라서, 체크 아웃 동작에 대한 수(N1)가 사용 조건으로부터 판독된다.
그 다음, 다음 단계 S302에서, 클라이언트(1)에 채택되고 있는 CPU(21)는 체크 아웃될 라이센스에 대한 체크 아웃 동작에 대한 최대수(N2)를 판독하게 된다. 또한, 이러한 경우에 체크 아웃 동작에 대한 최대수(N2)는 사용 조건으로부터 판독된다.
후속하여, 다음 단계 S303에서, CPU(21)는 단계 S301에서 판독된 체크아웃 동작의 수(N1)와 단계 S302에서 판독된 체크 아웃 동작에 대한 최대수(N2)를 비교하여 체크 아웃 동작에 대한 수(N1)가 체크 아웃 동작에 대한 최대수(N2) 보다 큰 지 혹은 작은지에 대한 판정을 하게 된다.
만일 체크 아웃 동작에 대한 수(N1)가 체크 아웃 동작에 대한 최대수(N2)보다 작은 것으로 발견되면, 처리 순서는 CPU(21)가 상대측 장치로부터 그 상대측 장치의 리프 키를 획득하게 되는 단계 S304로 진행하게 되며, 이 상대측 장치는 체크아웃 목적지로 작용하는 클라이언트이다. 한편, 획득된 리프 키는 기억 유닛(28)에 기억되는 체크 아웃 리스트에 등록되며, 체크 아웃 대상(check-out object)의 역할을 하는 라이센스 ID와 조합되어 있다.
그 다음, 다음 단계 S305에서, CPU(21)는 단계 S301에서 판독된 체크 아웃 동작에 대한 수(N1)을 1씩 증가시킨다. 후속하여, 다음 단계 S306에서, CPU(21)는 라이센스의 메시지를 토대로 ICV를 발견한다. ICV는 도 46 내지 도 50을 참조하여 후술한다. ICV를 이용함으로써 라이센스가 위조되는 것을 방지할 수 있다.
그 다음, 다음 단계 S307에서, CPU(21)는 체크 아웃 대상의 역할을 하는 라이센스와 클라이언트(1) 자신이 소유한 공개 키를 이용하여 단계 S306에서 발견된 ICV를 암호화한다. 암호화된 라이센스와 암호화된 ICV는 상대측 장치로 전송되고 EKB 및 증명서와 함께 복사된다. 후속하여, 다음 단계 S308에서, CPU(21)는 상대측 장치의 리프 키 및 라이센스 ID와 ICV를 관련시킴으로써, 기억 유닛(28)에 기억되어 있는 체크 아웃 리스트에 대한 단계 S306에서 발견된 ICV를 목록화하게 된다.
단계 S303에서의 판정 결과가 체크 아웃 동작(N1)에 대한 수가 체크 아웃 동작에 대한 최대수(N2) 이상(예를들어, 동일)임을 나타낸다면, 처리 순서는 CPU(21)가 에러 취급 처리를 수행하게 되는 단계 S309로 진행한다. 이는 체크 아웃 동작 에 대한 수(N1)가 체크 아웃 동작에 대한 최대수(N2) 이상이므로, 라이센스가 허가가능한 체크아웃 동작(N2)의 수만큼 체크아웃되었음을 나타내는 것이기 때문에, 라이센스는 더 이상 체크아웃될 수 없다. 따라서, 이러한 경우에 라이센스는 체크아웃되지 않는다.
도 42를 참조하여 도 41에 도시되어 있는 순서도에 나타낸 체크아웃 처리에서 체크아웃된 라이센스를 수신하는 클라이언트에 의해 수행되는 처리를 설명한다.
도 42의 순서도는 클라이언트에 채택되고 있는 CPU(21)가 클라이언트 자신이 갖고 있는 리프 키를 상대측 장치에 전송하는 단계 S321 즉, 클라이언트(1)가 라이센스를 체크아웃하는 단계에서 시작되어 있다. 리프 키는 단계 S304에서 상대측 장치에 기억되고 있으며, 라이센스 ID와 조합된다.
그 다음, 다음 단계 S322에서, CPU(21)는 암호화된 라이센스와 암호화된 ICV를 상대측 클라이언트(1)로부터의 증명서 및 EKB와 함께 수신하게 된다. 앞에서 설명한 바와 같이, 상대측 클라이언트(1)는 암호화된 라이센스 및 암호화된 ICV를 도 41에 도시된 순서도의 단계 S307에서의 증명서 및 EKB와 함께 전송한다.
후속하여, 다음 단계 S323에서, CPU(21)는 암호화된 라이센스, 암호화된 ICV, EKB, 및 증명서를 기억하고, 이들은 단계 S322에서 기억 유닛(28)에 수신된다.
상술한 바와 같은 체크 아웃 라이센스를 수신하는 클라이언트(1)는 체크 아웃 라이센스를 이용하여 도 43에 도시된 순서도로 표시된 처리에 따라 콘텐츠를 재생한다.
도면에 도시된 바와 같이, 순서도는 클라이언트(1)에 채택되고 있는 CPU(21)가, 사용자에 의해 입력 유닛(26)에 입력되는 명령에 의해 지정되는 콘텐츠의 ICV를 재생될 콘텐츠로서 발견하게 되는 단계 S341에서 시작하고 있다. 후속하여, 다음 단계 S342에서, CPU(21)는 증명서에 포함되어 있는 공개 키를 이용하여 기억 유닛(28)에 기억되어 있는 암호화된 ICV를 해독한다.
그 다음, 다음 단계 S343에서, CPU(21)는 단계 S341에서 발견된 ICV가 단계 S342에서 수행되는 처리에서 판독 및 해독된 ICV와 매칭되는지의 여부에 대한 판정을 행한다. 판독 및 해독에 대한 판정이 매칭되면 라이센스는 위조되지 않은 것임을 나타낸다. 이러한 경우에, 처리 순서는 CPU(21)가 처리를 수행하여 콘텐츠를 재생하게 되는 단계 S344로 진행한다.
다른 한편으로는, 단계 S343에서 형성된 판정의 결과 2개의 ICV가 서로 매칭되지 않는 것으로 나타나면, 라이센스는 위조되었을 우려가 있다. 이러한 경우에 처리 순서는 CPU(21)가 에러 취급 처리를 수행하게 되는 단계 S345로 진행하게 된다. 즉, 콘텐츠는 이러한 라이센스를 이용하여 재생될 수는 없다.
후속하여, 도 44에 도시된 순서도를 참조하여, 클라이언트가 라이센스를 체크인하도록 함으로써 수행되는 처리에 대해 설명한다. 여기서, 라이센스는 상술한 바와 같은 또다른 하나의 클라이언트(1)에 대해 1회 체크아웃된 것이다.
도면에 나타내고 있는 바와 같이, 순서도는 클라이언트에 채택되고 있는 CPU(21)가 상대측 장치의 리프 키와 체크인될 라이센스의 ID를 수신하는 단계 S361에서 시작하고 있다. 상대측 장치는 라이센스를 반환하거나 체크인하는 클라이언 트(1)이다. 이후, 다음 단계 S362에서 CPU(21)는 단계 S361에서 얻어지는 체크인될 라이센스가 상대측 장치에 대해 클라이언트 자신에 의해 체크아웃된 라이센스인지의 여부에 대한 판정을 행한다. 이러한 판정은 도 41에 도시한 순서도의 단계 S308에서 수행된 처리에서 기억 유닛(28)에 기억된 리프 키와 라이센스 ID, ICV를 토대로 하는 것이다. 즉, CPU(21)는 단계 S361에서 수신된 리프 키, 라이센스 ID, ICV가 기억 유닛(28)에 기억되어 있는 체크아웃 리스트에 대해 분류가 이루어진 것인지에 대한 판정을 행한다. 만일 이들이 체크아웃 리스트에 대해 분류가 이루어진 것이라면, CPU(21)는 체크인될 라이센스가 상대측 장치에 대해 클라이언트 자신에 의해 체트아웃된 라인센스인 것으로 판정한다.
체크인될 라이센스가 상대측 장치에 대해 클라이언트 자신에 의해 체트아웃된 라이센스라면, 처리의 순서는 CPU(21)가 상대측 장치의 EKB, 증명서, 및 라이센스의 소거를 요구하는 단계 S363으로 진행한다. 후술되는 바와 같이, 상대측 장치는 그 요구에 따라 도 45에 도시된 순서도의 단계 S383에서 라이센스, EKB, 및 증명서를 소거한다.
이후, 다음 단계 S364에서는 체크아웃 라이센스가 체크인되므로, CPU(21)는 체크아웃 동작에 대한 수(N1)을 1씩 감소시킨다.
후속하여, 다음 단계 S365에서, CPU(21)는 또다른 라이센스가 상대측 장치에 대해 체크아웃이 이루어진 것인지의 여부에 대한 판정을 행한다. 상대측 장치에 대해 체크아웃된 또다른 라이센스가 존재하지 않으면, 처리 순서는 체크인 상대측 장치와 같은 상대측 장치를 분류하기 위한 체크아웃 리스트로부터 상대측 장치를 CPU(21)가 소거하는 단계 S366으로 진행하게 된다. 다른 한편으로는, 단계 S365에서 형성된 판정의 결과가 상대측 장치에 대해 체크아웃된 또다른 라이센스가 존재함을 나타내게 된다면, 단계 S366의 처리는 생략된다. 이는 상대측 장치에 의해 다른 라이센스가 체크인될 가능성이 상당히 있기 때문이다.
다른 한편으로는, 단계 S362에서 형성된 판정의 결과가, 체크인될 라이센스가 상대측 장치에 대해 클라이언트 자신에 의해 체크아웃된 라이센스가 아님을 나타낸다면, 처리의 순서는 CPU(21)가 에러 취급 처리를 수행하는 단계 S367로 진행하게 된다. 즉, 이러한 경우에는, 라이센스는 클라이언트 자신에 의해 관리되는 라이센스가 아니므로 체크인 처리는 수행되지 않는다.
사용자가 라이센스를 불법적으로 복사하려고 시도하는 경우, 기억된 ICV는 단계 S361에서 수행된 처리로 획득한 라이센스에 기초하여 발견되는 ICV와 동일하지는 않으므로 체크인 처리는 수행될 수 없다.
도 45는 도 44에 도시한 순서도로 표현되는 라이센스 체크인 처리를 수행하는 또 다른 클라이언트에 대한 라이센스를 체크인하기 위한 처리의 요구를 발행하는 클라이언트(1)에 의해 수행되는 처리를 나타내는 순서도이다.
도 45에 도시된 순서도는 클라이언트(1)에 채택되고 있는 CPU(21)가 상대측 장치에 체크인될 라이센스의 ID, 리프 키를 전송하는 단계 S381에서 시작되며, 이 상대측 장치는 도 44에 도시된 순서도로 표현된 라이센스 체크인 처리를 수행하는 클라이언트(1)이다. 앞에서 설명한 바와 같이, 상대측 장치는 단계 S361에서 리프 키와 라이센스 ID를 수신하고, 이 리프 키와 라이센스 ID를 토대로 체크인될 라이 센스를 인증하기 위한 처리를 단계 S362에서 수행한다.
그 다음, 다음 단계 S382에서, 클라이언트(1)에 채택되고 있는 CPU(21)는 라이센스의 소거 요구가 상대측 장치로부터 수신되었는지의 여부에 대한 판정을 행한다. 앞서 설명한 바와 같이, 그 라이센스가 체크인될 적절한 라이센스인 경우, 상대측 장치는 단계 S363에서 수행되는 처리에서 라이센스, EKB, 및 증명서의 소거 요구를 하게 된다. 단계 S382에서 행해진 판정 결과가 요구가 수신되었음을 나타내게 되면, 처리의 순서는 CPU(21)가 라이센스, EKB, 및 증명서를 소거하는 단계 S383으로 진행하게 된다. 즉, 클라이언트(1)는 라이센스를 더 이상 이용할 수 없게 된다. 체크 아웃 동작에 대한 수(N1)가 도 44에 도시한 순서도의 단계 S364에서 수행되는 처리에서 상대측 장치에 의해 1씩 감소하게 되면, 체크인 처리가 종료된다.
다른 한편으로는, 단계 S382에서 행해진 판정 결과가 그러한 요구가 수신되지 않았음을 나타내고 있다면, 처리의 순서는 CPU(21)가 에러 취급 처리(error-handling process)를 수행하는 단계 S384로 진행하게 된다. 즉, 이러한 경우에 체크인 처리는 ICV의 불일치와 같은 어떤 원인으로 인해 수행될 수 없다.
지금까지 체크 아웃 처리와 체크인 처리를 설명했지만, 라이센스의 복사 혹은 이동에 대한 처리 역시 수행될 수 있다.
다음 기술은 라이센스의 ICV(Integrity Check Value)를 생성하는 처리에 대해 설명하고, 라이센스를 ICV와 관련시키며, 라이센스가 ICV의 계산에 의해 위조되었는지 여부에 대해 판정함으로써 라이센스가 위조되는 것을 방지한다. 동일한 처 리가 콘텐츠에 적용될 수 있음에 유의해야 한다.
라이센스의 ICV(Integrity Check Value)는, 이하와 같이, 일반적으로 라이센스에 해시 함수(hash function)를 적용함으로써 계산된다.
ICV = hash(Kicv, L1, L2, …)
표기 Kicv는 ICV 생성 키를 나타내고, 부호 L1 및 L2 각각은 라이센스에 대한 정보를 나타낸다. 라이센스에 대한 중요한 정보의 MAC(Message Authemtication Code)은 L1 및 L2에 의해 표현되는 정보로서 사용된다.
도 46은 DES 암호화 처리 구성을 사용하는, MAC 값의 일반적인 생성에 대해 도시하는 다이어그램이다. 도 46에 도시된 구성으로부터의 명백하듯이, 처리된 메시지는 8 바이트 유닛으로 분리된다. 다음 기술에서, 분리된 메시지는 M1, M2, … 및 MN으로 칭해진다. 우선, 초기 값 IV 및 M1이 처리 유닛에 공급되어, 배타적 논리 합 처리를 수행하고, 그 결과 배타적 논리 합 11을 얻는다. 그 때, 배타적 논리 합 11은 DES 암호 유닛(24-1B)에 공급되어 키(K1)를 사용하여 11을 암호화하고, 암호화 결과 E1을 생산한다. 그 다음에, E1 및 M2가 처리 유닛(24-2A)에 공급되어 배타적 논리 합 처리를 수행하고, 그 결과 배타적 논리 합 12를 얻는다. 그 때, 배타적 논리 합 12는 DES 암호 유닛(24-2B)에 공급되어 키(K1)를 사용하여 12를 암호화하고, 암호 결과 E2를 생산한다. 그 이후에, 이러한 동작들이 반복적으로 수행되어, 모든 메시지를 암호화한다. 결국, DES 암호 유닛(24-NB)에 의해 생성된 결과 EN은 MAC(Message Authentication Code)이다.
그 때, 그러한 라이센스 MAC 및 ICV 생성 키에 해시 함수가 적용되어, ICV(Integrity Check Value)를 생성한다. 예를 들어, 라이센스를 생성할 때 계산된 ICV는 라이센스로부터 새롭게 산출된 ICV와 비교된다. ICV들이 서로 매치되면, 라이센스가 위조되지 않는 것이 보장된다. 반면에, ICV가 서로 매치되지 않으면, 라이센스는 위조될 것으로 단정된다.
다음 기술은 라이센스의 ICV(Integrity Check Value)를 생성하기 위해 키(Kicv)를 전송하는데 EKB(Enabling Key Block)를 사용하는 구성을 설명한다. 이러한 구성에 있어서, EKB를 사용하여 암호화된 메시지 데이터는 라이센스의 ICV(Integrity Check Value)를 생성하는 경우에 키(Kicv)로서 사용된다.
구체적으로는, 도 47 및 도 48 각각은, 복수의 디바이스에 라이센스를 전송할 때, 라이센스가 위조되었는지 여부를 판정하기 위해 공통 라이센스의 ICV(Integrity Check Value)를 생성하는 경우 키(Kicv)를 분배하기 위해 EKB(Enabling Key Block)를 사용하는 일반적 구성을 도시하는 다이어그램이다. 보다 구체적으로, 도 47은 디바이스 0, 1, 2 및 3에서 라이센스의 ICV(Integrity Check Value)를 생성하는, 해독 가능 키(Kicv)의 일반적인 분배를 도시하는 다이어그램이다. 반면에, 도 48은 디바이스 0, 1 및 2에서는 라이센스의 ICV(Integrity Check Value)를 생성하고, 디바이스 3에서는 라이센스의 ICV를 생성하지 않고 취소되는(revoked), 해독 가능 키(Kicv)의 일반적인 분배를 도시하는 다이어그램이다.
도 47에 도시된 일반적인 분배에서, 해독될 수 있는 암호화된 EKB(Enabling Key Block)가 생성된다. EKB는 데이터 Enc(K(t)00, Kicv) 및 갱신된 노드 키 K(t)00를 디바이스 0, 1, 2 및 3으로 전송하는데 사용된다. 데이터 Enc(K(t)00, Kicv))는 갱신된 노드 키 K(t)00를 사용하여 체크값 생성 키(Kicv)를 암호화한 결과이다. 노드 키 K(t)00는 디바이스 0, 1, 2 및 3 각각에 의해 소지된 노드 키(node key)와 리프 키(leaf key)를 사용하여 갱신된다. 도 47의 오른쪽에 도시된 바와 같이, 우선, 디바이스 0, 1, 2 및 3 각각은 EKB를 해독하여 갱신된 노드 키 K(t)00를 얻게 된다. 그 때, 갱신된 노드 키 K(t)00는 암호화된 체크 값 생성 키 Enc(K(t)00, Kicv)를 해독하는데 사용되어, 체크 값 생성 키(Kicv)를 얻게 된다.
다른 디바이스 4, 5, 6, 7 등 각각은 EKB가 디바이스에 의해 수신되더라도, EKB(Enabling Key Block)를 처리하고 각각의 디바이스에 의해 소지된 노드 키 및 리프 키를 사용하여, 갱신된 노드 키 K(t)00를 얻는 것은 불가능하다. 따라서, 체크 값 생성 키는 높은 안정도를 갖는 인증된 디바이스에만 전송될 수 있다.
도 48은 도 12에서 점선으로 폐쇄된 그룹에 적합한 디바이스(3)가, 예를 들어, 키가 누설되었기 때문에 취소되어(revoked), 그 결과 EKB(Enabling Key Block)이 생성되고 그룹의 단지 다른 멤버들, 즉 디바이스 0, 1 및 2로만 분배되는 경우를 도시하는 다이어그램이다. EKB(Enabling Key Block)은 디바이스 0, 1 및 2에 의해서만 해독될 수 있다. 도 48에 도시된 EKB(Enabling Key Block) 및 데이터 Enc(K(t)00, Kicv)가 분배된다. 이전에 설명된 바와 같이, 데이터 Enc(K(t)00, Kicv)는 노드 키 K(t)00를 사용하여 체크 값 생성 키(Kicv)를 암호화한 결과이다.
도 48의 오른쪽에는 해독 절차가 도시된다. 도면에 도시된 바와 같이, 우선, 디바이스 0, 1 및 2 각각은 자체에 소지한 리프 키 또는 노드 키를 사용하여, 수신된 EKB(Enabling Key Block)를 해독하기 위한 처리를 수행함으로써, 갱신된 노드 키 K(t)00를 획득한다. 그 때, 체크 값 생성 키 Kicv는 갱신된 노드 키 K(t)00에 기초한 해독에 의해 얻어진다.
도 12에 도시된 그룹의 다른 디바이스 4, 5, 6 등 각각은 동일한 EKB(Enabling Key Block)가 이러한 다른 디바이스에 분배되더라도, 그 자체에 소지한 리프 키 및 노드 키를 사용하여 갱신된 노드 키 K(t)00를 획득하는 것이 불가능하다. 또한, 동일한 EKB(Enabling Key Block)가 이러한 디바이스에 분배되더라도, 취소된 디바이스(3) 역시 그 자체에 소지한 리프 키 및 노드 키를 사용하는 것에 의해 갱신된 노드 키 K(t)00를 획득하는 것은 불가능하다. 따라서, 단지 인증된 디바이스만이 체크 값 생성 키 Kicv를 해독 및 사용하는 것이 가능하다.
이러한 방식으로, EKB를 사용함으로써 체크 값 생성 키 Kicv의 분배를 이용하는 것에 의해, 분배된 데이터량이 감소될 수 있고, 체크 값 생성 키 Kicv를 해독할 수 있는 인증된 부품들에만 체크 값 생성 키 Kicv를 안전하게 분배하는 것이 가능하다.
라이센스의 그러한 ICV(Integrity Check Value)를 사용함으로써, EKB 및 암호화된 라이센스의 불법 복사를 피할 수 있다. 도 49a에 도시된 바와 같은 그들의 라이센스 키를 획득하기 위해 사용될 수 있는 EKB(Enabling Key Block)와 함께, 미디어(1)가 라이센스 L1 및 L2를 기억하는데 사용된다고 가정하자. 미디어(1)에 기억되는 것이 미디어(2)로 복사되도록 한다. 이러한 경우에, EKB 및 라이센스는 복사될 수 있다. EKB를 암호화할 수 있는 디바이스는 라이센스 역시 사용할 수 있을 것이다.
도 49b에 도시된 구성에 있어서, ICV(L1, L2)는 각 미디어에 기억되고, 거기에 기억되는 라이센스와도 관련된다. ICV(L1, L2)는 라이센스 L1 및 L2의 완전 체크 값(integrity check value)이고, 라이센스 L1 및 L2에 해시 함수를 적용함으로써 다음과 같이 계산된다는 것에 유의해야 한다.
ICV = hash(Kicv, L1, L2)
도 49b에 도시된 구성에 있어서, 미디어(1)에 기억된 정보는 라이센스 1 및 2 뿐만 아니라, 완전 체크 값 ICV(L1, L2)도 포함하며, 이는 라이센스 L1 및 L2에 해시 함수를 적용하여 계산된다. 반면에, 미디어(2)에 기억된 정보는 라이센스 1 및 완전 체크 값 ICV(L1)를 포함하며, 이는 라이센스 L1에 해시 함수를 적용하여 계산된다.
이러한 구성에서, {EKB, 라이센스 2}가 미디어 1에서 미디어 2로 복사된다고 가정하자. 이러한 경우에, 새로운 라이센스 체크 값 ICV(L1, L2)는 미디어(2)에서 생성될 수 있다. 새로운 라이센스 체크 값 ICV(L1, L2)는 미디어(2)에 기억된 Kicv(L1)와 상이하다. 따라서, 새로운 라이센스 체크 값 ICV(L1, L2)는 위조 또는 불법 복사 동작에 의해 미디어 2에 새로운 라이센스를 기억시키는데 사용될 수 있다는 것은 명백하다. 그러나, 미디어 1에 기억된 정보를 재생하는 디바이스에서, ICV가 서로 매치하는지 여부를 판정하기 위해, 생성 및 기억된 ICV가 재생 단계 이전 단계에서 체크될 수 있다. 생성된 ICV가 기억된 ICV와 매치하지 않는 ICV임이 판정된다면, 어떠한 재생 동작도 수행되지 않는다. 이러한 구성에 있어서, 이런 방식으로, 위조 또는 불법 복사 동작이 수행됨으로써 얻어지는 라이센스가 재생되는 것을 방지할 수 있다.
또한, 안정도를 보다 강화하기 위해, 라이센스의 ICV(Integrity Check Value)가 기입가능 카운터의 값을 포함하는 데이터에 기초하여 생성되는 구성을 발명하는 것이 가능하다. 구체적으로, 상기 구성에 있어서, 라이센스의 ICV(Integrity Check Value)는 이하와 같이 계산된다.
ICV = hash(Kicv, 카운터 + 1, L1, L2, …)
여기서, 표기 (카운터 + 1)은 ICV가 갱신되는 각각의 시간에서, 카운터의 값은 1 씩 증가된다는 것을 나타낸다. 카운터의 값은 이러한 구성에서 기밀 메모리에 기억될 필요가 있다는 것에 유의해야 한다.
더욱이, 라이센스의 ICV(Integrity Check Value)가 동일한 미디어에 라이센스로서 기억될 수 없는 구성에서, 라이센스의 ICV(Integrity Check Value)는 라이센스를 기억하는 미디어와는 다른 미디어에 기억될 수도 있다.
라이센스가 불법 복사 동작에 대항하는 어떠한 방지책도 없는 미디어에 기억되었다고 가정하자. 그러한 미디어의 일례는 판독 전용 메모리 및 일반적인 MO 디스크가 있다. 이러한 경우에, ICV(Integrity Check Value) 역시 동일한 미디어에 기억된다면, 인증되지 않은 사용자가 ICV를 갱신할 수 있는 가능성은 상당하다. 따라서, ICV의 안전이 보장되지 않을 우려가 있다. 이러한 문제를 해결하기 위해, ICV는 호스트 머신의 안전한 미디어에 기억되고, 라이센스를 복사하기 위한 동작을 제어하는데 사용된다. 복사 동작의 일례로, 라이센스를 체크-인, 체크-아웃 및 이동하는 동작이 있다. 따라서, 그러한 구성에서, ICV의 안전 관리 및 라이센스의 위조 체크를 수행할 수 있다.
도 50은 상술한 방안을 구현하는 일반적인 구성을 도시하는 도면이다. 도 50에 도시된 일반적인 구성에서, 불법 복사 동작에 대항하는 어떠한 방지책도 없는 미디어(2201)가 라이센스 1 내지 3을 기억하는데 사용된다. 미디어(2201)의 일례로는 판독-전용 메모리 및 일반적인 MO 디스크가 있다. 반면에, 이러한 라이센스를 위한 ICV(Integrity Check Value)는, 사용자에게 높은 자유도의 액세스를 허가하지 않는 호스트 머신에 사용되는 안전 미디어(2202)에 기억된다. 따라서, 이러한 일반적인 구성에서, 사용자는 ICV(Integrity Check Value)를 불법으로 갱신하는 것을 방지한다. 미디어(2201)가 장착된 다바이스가 미디어(2201)로부터 정보를 재생하는 경우, 예를 들어, 다바이스 또는 서버의 호스트 머신의 역할을 하는 PC는 미디어가 재생되도록 허가되는지 여부를 판정하기 위해 ICV를 체크하도록 구성될 수 있다. 이러한 구성을 통해, 불법으로 복사되거나 위조된 라이센스를 재생하는 동작을 방지하는 것이 가능하다.
또한, 본 발명에 의해 제공되는 클라이언트는 소위 퍼스널 컴퓨터이외의 장치에 의해서도 구현될 수도 있다. 소위 퍼스널 컴퓨터 이외의 장치의 일례로서, PDA(Personal Digital Assistant), 휴대 전화 및 게임 단말이 있다.
일련의 처리들이 소프트웨어에 의해 구현된다면, 소프트웨어를 포함하는 프로그램은 네트워크 또는 기록 매체에 포함된 지정 하드웨어를 포함하는 컴퓨터로 설치되거나, 또는 퍼스널 컴퓨터에 설치된 다양한 프로그램의 실행에 의해 다양한 기능을 수행할 수 있는 일반적인 목적의 퍼스널 컴퓨터와 같은 다른 형태의 컴퓨터에 설치될 수 있다.
클라이언트 또는 서버의 역할을 하는 장치의 메인 유닛으로부터 분리되어 제공된 기록 매체는 매체에 기록된 프로그램을 사용자에게 나타내기 위해 사용자에게 분배된다. 기록 매체는 패키지 매체일 수 있다. 도 2에 도시된 바와 같이, 패키지 매체의 일례로서, 플로피 디스크를 포함하는 자기 디스크(41), CD-ROM(Compact-Disk Read-Only Memory)과 DVD(Digital Versatile/Video Disk)를 포함하는 광 디스크(42), MD(Mini Disk)를 포함하는 광자기 디스크(43), 및 반도체 메모리(44)가 있다. 네트워크 또는 기록 매체로부터 프로그램을 설치하는 대신, 장치의 메인 유닛에 포함된 기록 매체에 프로그램을 미리 기억시킴으로써 사용자에게 프로그램을 나타낼 수 있다. 도 2에 도시된 바와 같이, 포함된 기록 매체의 일례로서, ROM(22) 및 기억 유닛(28)에 포함되는 하드 디스크가 있다.
이러한 상세에 있어서, 기록 매체에 기억된 프로그램을 기술하는 단계는 물론, 기입된 절차에 따라, 하나의 단계 이후에 다른 단계를 차례로 수행할 수 있다. 그러나, 단계들이 반드시 순차적으로 수행되어야 하는 것은 아니며, 그 대신 단계들이 병렬식으로 또는 개별적으로 수행되도록 처리될 수도 있다.
또한, 프로그램 자체의 처리가 분석되는 것을 방지하기 위해, 안전성과 관련된 처리를 구현하기 위해 수행되는 프로그램을 암호화하는 것 역시 바람직하다. 예를 들어, 암호화 과정을 실행하기 위해 수행되는 처리의 프로그램은 탬퍼 저항 모듈로서 설계될 수 있다.
또한, 콘텐츠의 사용을 허가하기 위한 라이센스를 지정하는 콘텐츠의 헤더에 포함되는 정보가 라이센스를 유일하게 식별하는 라이센스 ID일 필요는 없다. 상술한 실시예에서, 라이센스 ID는 콘텐츠의 이용에 요구되는 라이센스를 지정하기위한 정보이고, 임의의 라이센스에 의해 사용이 허가되는 콘텐츠를 지정하기 위한 정보이며, 클라이언트(1)로부터 라이센스 요구에 의해 요구되는 라이센스를 식별하기 위한 정보이다. 대신, 콘텐츠에 관련된 다양한 속성의 정보 리스트는 콘텐츠 내에 포함될 수도 있고, 콘텐츠의 속성 조건 역시 사용되도록 허가되는 콘텐츠를 지정하기 위한 라이센스에 포함될 수 있다. 이러한 경우에, 콘텐츠에 포함된 속성 정보는 콘텐츠의 이용을 허가하는 라이센스를 지정하기 위한 정보이고, 라이센스에 내장된 조건 방정식에 따라 라이센스에 의해 사용이 허가되는 콘텐츠를 지정하기 위한 정보이다. 라이센스 ID는 라이센스를 유일하게 식별하는 정보이다. 이러한 방식에서, 콘텐츠는 다수의 라이센스와 관련될 수 있어, 콘텐츠가 보다 융통성 있는 방식으로 발행될 수 있다.
또한, 본 명세서에서 사용된 기술적 용어 "콘텐츠-변경 시스템"은 다수의 장치를 포함하는 전체 시스템을 의미한다.
상술한 바와 같이, 본 발명에 의해 제공되는 정보 처리 장치 및 방법, 및 정보-처리 방법을 구현하는 프로그램에 따르면, 암호 데이터는 높음 자유도로 분배될 수 있고, 콘텐츠로부터 분리되어 제공된 라이센스를 획득함에 의해, 사용자의 콘텐츠 이용이 가능하게 된다. 그 결과, 저작권이 보호될 수 있고, 콘텐츠의 분배에 대한 장애 없이, 적절한 사용료가 수집될 수 있다.

Claims (14)

  1. 콘텐츠를 사용하기 위한 라이센스를 요구하여 콘텐츠의 사용을 허가하는 정보 처리 장치에 있어서,
    상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 지정하는 라이센스 지정 정보, 상기 콘텐츠의 암호 데이터 및 상기 콘텐츠의 상기 암호 데이터를 해독하는 데 요구되는 키 정보를 기억하기 위한 콘텐츠 기억 수단;
    상기 콘텐츠를 지정하는 콘텐츠 지정 정보를 포함하고 콘텐츠의 사용을 허가하는 라이센스를 기억하기 위한 라이센스 기억 수단;
    상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 상기 라이센스 기억 수단에 기억되어 있는지의 여부에 관한 판정을 행하는 판정 수단; 및
    상기 판정 수단에 의해 행해지는 판정의 결과가 상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 상기 라이센스 기억 수단에 기억되어 있다는 것을 의미하는 조건에서, 상기 콘텐츠의 상기 암호 데이터를 해독하는 데 사용되는 해독 수단
    을 포함하고,
    라이센스의 ICV(Integrity Check Value)가 라이센스 및 카운터 값에 기초하여 생성되는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 콘텐츠를 사용함에 있어서 상기 사용자에게 요구되는 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 라이센스 서버로 전송하기 위한 송신 수단, 및
    라이센스 서버에 의해 전송되는 라이센스를 수신하기 위한 수신 수단
    을 더 포함하고,
    상기 수신 수단에 의해 수신되는 라이센스는 상기 라이센스 기억 수단에 기억되는 것을 특징으로 하는 정보 처리 장치.
  3. 제1항에 있어서,
    상기 해독 수단에 의해 해독되는 상기 콘텐츠의 데이터를 재생하기 위한 재생 수단을 더 포함하고,
    상기 콘텐츠의 데이터는 텍스트 데이터, 화상 데이터, 오디오 데이터, 동화상 데이터 또는 이들의 조합인 것을 특징으로 하는 정보 처리 장치.
  4. 제1항에 있어서,
    디바이스 노드 키를 기억하기 위한 디바이스 노드 키 기억 수단을 더 포함하고,
    상기 키 정보는 유효화 키 블록(EKB)을 포함하고,
    상기 해독 수단은 디바이스 노드 키 기억 수단에 기억된 디바이스 노드 키를 이용하여 상기 EKB를 해독하며, 상기 EKB의 해독 결과로 얻어지는 루트 키를 이용하여 상기 콘텐츠의 데이터를 해독하는 것을 특징으로 하는 정보 처리 장치.
  5. 제4항에 있어서,
    상기 키 정보는 상기 EKB의 루트 키를 이용하여 암호화된 콘텐츠 키를 더 포함하고,
    상기 콘텐츠의 데이터는 상기 콘텐츠 키를 이용하여 암호화되고,
    상기 해독 수단은 디바이스 노드 키 기억 수단에 기억된 디바이스 노드 키를 이용한 상기 EKB의 해독 결과로서 얻어지는 루트 키를 이용하여, 상기 콘텐츠 키를 이용해 암호화된 상기 콘텐츠의 데이터를 해독하는 것을 특징으로 하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 라이센스는 상기 라이센스에 의해 사용이 허가되는 콘텐츠를 이용하기 위한 조건을 나타내는 사용 조건 정보를 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 라이센스는 라이센스 서버의 비밀 키를 이용하여 서명되는 전자 서명을 더 포함하는 것을 특징으로 하는 정보 처리 장치.
  8. 제2항에 있어서,
    상기 정보 처리 장치를 식별하는 단말 지정 정보를 기억하기 위한 단말 ID 기억 수단을 더 포함하고,
    상기 송신 수단에 의해 전송되는 상기 라이센스 요구는 상기 단말 ID 기억 수단에 기억되는 단말 식별 정보를 더 포함하며,
    상기 수신 수단에 의해 수신되는 라이센스는 단말 ID를 포함하고,
    상기 판정 수단은 상기 라이센스에 포함된 단말 식별 정보와 상기 단말 ID 기억 수단에 기억된 단말 식별 정보를 비교하여, 상기 라이센스에 포함된 단말 식별 정보가 상기 단말 ID 기억 수단에 기억된 단말 식별 정보와 일치하는 경우에만 상기 수신 수단에 의해 수신된 라이센스가 콘텐츠의 사용을 허가하는 라이센스인 것으로 판정하는 것을 특징으로 하는 정보 처리 장치.
  9. 사용자가 콘텐츠를 사용하기 위한 라이센스를 가질 것을 요구하여 사용자에게 콘텐츠의 사용을 허가하는 정보 처리 방법에 있어서,
    상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스를 지정하는 라이센스 지정 정보, 상기 콘텐츠의 암호 데이터 및 상기 콘텐츠의 상기 암호 데이터를 해독하는 데 요구되는 키 정보를 기억하는 콘텐츠 기억 단계;
    상기 콘텐츠를 지정하는 콘텐츠 지정 정보를 포함하고 콘텐츠의 사용을 허가하는 라이센스를 기억하는 라이센스 기억 단계;
    상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있는지의 여부에 관한 판정을 행하는 판정 단계; 및
    판정 단계에서 행해지는 판정의 결과가 상기 콘텐츠를 사용함에 있어서 사용자에게 요구되는 라이센스가 라이센스 기억 수단에 기억되어 있다는 것을 나타내는 조건에서, 상기 콘텐츠의 상기 암호 데이터를 해독하는 해독 단계
    를 포함하고,
    라이센스의 ICV가 라이센스 및 카운터 값에 기초하여 생성되는 것을 특징으로 하는 정보 처리 방법.
  10. 삭제
  11. 삭제
  12. 콘텐츠의 사용을 허가하는 라이센스를 발행하기 위한 라이센스 서버에 있어서,
    라이센스에 의해 사용이 허가되는 콘텐츠를 지정하는 콘텐츠 지정 정보와, 정보 처리 장치를 식별하기 위한 단말 식별 정보를 포함하는 라이센스를 기억하기 위한 라이센스 기억 수단;
    상기 정보 처리 장치로부터 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 수신하기 위한 수신 수단;
    상기 라이센스 기억 수단으로부터 상기 라이센스 요구에 포함된 상기 라이센스 식별 정보에 의해 식별되는 라이센스를 추출하기 위한 추출 수단;
    상기 추출 수단에 의해 추출된 상기 라이센스에 상기 단말 식별 정보를 추가하기 위한 처리 수단;
    상기 라이센스 서버의 비밀 키를 이용하여 상기 처리 수단에 의해 추가되는 상기 단말 식별 정보를 포함하는 상기 라이센스에 서명을 하기 위한 서명 수단; 및
    상기 서명 수단에 의해 서명된 라이센스를 상기 라이센스 요구를 보낸 상기 정보 처리 장치로 전송하기 위한 송신 수단
    을 포함하고,
    라이센스의 ICV가 라이센스 및 카운터 값에 기초하여 생성되는 것을 특징으로 하는 라이센스 서버.
  13. 콘텐츠의 사용을 허가하는 라이센스를 발행하기 위한 정보 처리 방법에 있어서,
    라이센스에 의해 사용이 허가되는 콘텐츠를 지정하는 콘텐츠 지정 정보와, 정보 처리 장치를 식별하기 위한 단말 식별 정보를 포함하는 라이센스를 기억하는 라이센스 기억 단계;
    상기 정보 처리 장치로부터 라이센스를 식별하기 위한 라이센스 식별 정보를 포함하는 라이센스 요구를 수신하는 수신 단계;
    라이센스 기억 수단에 기억되고, 라이센스 요구에 포함된 라이센스 식별 정보에 의해 식별되는 라이센스를 추출하는 추출 단계;
    상기 추출 단계에서 추출되는 라이센스에 단말 식별 정보를 추가하는 처리 단계;
    상기 정보 처리 방법에 사용되는 라이센스 서버의 비밀 키를 이용하여 추출 단계에서 추가되는 단말 식별 정보를 포함하는 라이센스에 서명을 하는 서명 단계;및
    상기 서명 단계에서 서명된 라이센스를 상기 라이센스 요구를 보낸 상기 정보 처리 장치로 전송하는 송신 단계
    를 포함하고,
    라이센스의 ICV가 라이센스 및 카운터 값에 기초하여 생성되는 것을 특징으로 하는 정보 처리 방법.
  14. 삭제
KR1020020007692A 2001-02-09 2002-02-09 정보 처리 방법/장치 및 프로그램 KR100929744B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00033114 2001-02-09
JP2001033114 2001-02-09
JP2001094803 2001-03-29
JPJP-P-2001-00094803 2001-03-29

Publications (2)

Publication Number Publication Date
KR20020066233A KR20020066233A (ko) 2002-08-14
KR100929744B1 true KR100929744B1 (ko) 2009-12-03

Family

ID=26609171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020007692A KR100929744B1 (ko) 2001-02-09 2002-02-09 정보 처리 방법/장치 및 프로그램

Country Status (9)

Country Link
US (2) US7260721B2 (ko)
EP (1) EP1231532A3 (ko)
KR (1) KR100929744B1 (ko)
CN (1) CN1269333C (ko)
AU (1) AU1547402A (ko)
CA (1) CA2371124A1 (ko)
HK (1) HK1051416A1 (ko)
MX (1) MXPA02001383A (ko)
SG (1) SG111044A1 (ko)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8574074B2 (en) 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
JP2001243441A (ja) * 2000-03-02 2001-09-07 Fujitsu Takamisawa Component Ltd データ変換装置
US8055899B2 (en) 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
US7266704B2 (en) * 2000-12-18 2007-09-04 Digimarc Corporation User-friendly rights management systems and methods
US8751310B2 (en) 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
JP2002288041A (ja) * 2001-03-23 2002-10-04 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
JP4934923B2 (ja) * 2001-08-09 2012-05-23 ソニー株式会社 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにコンピュータ・プログラム
US7080043B2 (en) * 2002-03-26 2006-07-18 Microsoft Corporation Content revocation and license modification in a digital rights management (DRM) system on a computing device
DE50207195D1 (de) * 2002-04-08 2006-07-27 Aladdin Knowledge Systems Deut Verfahren zur Aktualisierung und Lizenzierung von Computerprogrammen und Computer-System hierfür
JP4391056B2 (ja) * 2002-04-15 2009-12-24 ソニー株式会社 情報管理装置および方法、記録媒体、並びにプログラム
US8656178B2 (en) * 2002-04-18 2014-02-18 International Business Machines Corporation Method, system and program product for modifying content usage conditions during content distribution
JP2003333522A (ja) * 2002-05-17 2003-11-21 Victor Co Of Japan Ltd データ再生装置及びデータ再生方法
JP4155393B2 (ja) * 2002-06-17 2008-09-24 富士通株式会社 ファイル交換装置、個人情報登録・紹介サーバ、送信制御方法、及びプログラム
US7016888B2 (en) 2002-06-18 2006-03-21 Bellsouth Intellectual Property Corporation Learning device interaction rules
US6889207B2 (en) 2002-06-18 2005-05-03 Bellsouth Intellectual Property Corporation Content control in a device environment
US6795404B2 (en) 2002-06-18 2004-09-21 Bellsouth Intellectual Property Corporation Device for aggregating, translating, and disseminating communications within a multiple device environment
US20030231212A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation User interface to a device environment
US20030233660A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation Device interaction
US7039698B2 (en) 2002-06-18 2006-05-02 Bellsouth Intellectual Property Corporation Notification device interaction
DE10239062A1 (de) * 2002-08-26 2004-04-01 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
JP3821768B2 (ja) * 2002-09-11 2006-09-13 ソニー株式会社 情報記録媒体、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100924773B1 (ko) * 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
JP2004140757A (ja) * 2002-10-21 2004-05-13 Toshiba Corp コンテンツの暗号化方法及び暗号化されたデータを復号化する復号化方法並びにその装置
JP3821086B2 (ja) 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
JP3945644B2 (ja) * 2002-11-05 2007-07-18 ソニー株式会社 コピー回数制御方法、サーバ装置、記録制御方法および記録制御装置
JP3737798B2 (ja) * 2002-11-25 2006-01-25 株式会社東芝 送信装置、受信装置及び受信方法
US20040111626A1 (en) * 2002-12-09 2004-06-10 Doron Livny Security processing of unlimited data size
US10528704B2 (en) 2002-12-30 2020-01-07 Koninklijke Philips N.V. Divided rights in authorized domain
US8666524B2 (en) 2003-01-02 2014-03-04 Catch Media, Inc. Portable music player and transmitter
US8644969B2 (en) * 2003-01-02 2014-02-04 Catch Media, Inc. Content provisioning and revenue disbursement
US8918195B2 (en) 2003-01-02 2014-12-23 Catch Media, Inc. Media management and tracking
US8732086B2 (en) 2003-01-02 2014-05-20 Catch Media, Inc. Method and system for managing rights for digital music
KR20050100596A (ko) * 2003-01-14 2005-10-19 마쯔시다덴기산교 가부시키가이샤 컨텐츠 재생 장치, 라이센스 발행 서버 및 컨텐츠 재생시스템
US20040162846A1 (en) * 2003-01-14 2004-08-19 Tohru Nakahara Content use management system
KR100513297B1 (ko) * 2003-01-24 2005-09-09 삼성전자주식회사 인트라넷에서의 멀티미디어 컨텐츠 관리 시스템 및 방법
JP4343542B2 (ja) * 2003-01-30 2009-10-14 ソニー株式会社 情報処理システム、情報処理装置および情報処理方法、並びにプログラムおよび記録媒体
US20060075424A1 (en) * 2003-02-10 2006-04-06 Koninklijke Philips Electronics N.V. Import control of content
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7346585B1 (en) * 2003-02-28 2008-03-18 Microsoft Corporation Computer software and services license processing method and system
JP2006520151A (ja) * 2003-03-04 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 認可されたコピーの保証
US8180918B2 (en) * 2003-03-07 2012-05-15 Tria Network Systems, LLC Multiplexing and congestion control
US20060173787A1 (en) * 2003-03-24 2006-08-03 Daniel Weber Data protection management apparatus and data protection management method
US7845014B2 (en) * 2003-03-28 2010-11-30 Sony Corporation Method and apparatus for implementing digital rights management
KR100972831B1 (ko) * 2003-04-24 2010-07-28 엘지전자 주식회사 엔크립트된 데이터의 보호방법 및 그 재생장치
KR100974449B1 (ko) * 2003-04-24 2010-08-10 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR20040092649A (ko) * 2003-04-24 2004-11-04 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR100974448B1 (ko) * 2003-04-24 2010-08-10 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR20040099943A (ko) * 2003-05-20 2004-12-02 삼성전자주식회사 컨텐츠 사용자 인증 시스템 및 방법
CN1860761B (zh) 2003-06-05 2015-09-23 英特特拉斯特技术公司 用于对等服务编排的可互操作系统和方法
JP4424465B2 (ja) * 2003-06-09 2010-03-03 ソニー株式会社 情報機器、情報サーバおよび情報処理プログラム
US7647507B1 (en) * 2003-07-08 2010-01-12 Marvell International Ltd. Secure digital content distribution system and secure hard drive
CN100396046C (zh) * 2003-07-10 2008-06-18 华为技术有限公司 一种实现授权验证的方法及其授权验证处理模块
JP2005038167A (ja) * 2003-07-14 2005-02-10 Sony Corp 情報送信装置及び方法、情報受信装置及び方法、並びに情報提供システム
US20050049886A1 (en) * 2003-08-28 2005-03-03 Sbc Knowledge Ventures, L.P. System and method for managing digital rights and content assets
KR100567822B1 (ko) * 2003-10-01 2006-04-05 삼성전자주식회사 공개 키 기반 구조를 이용한 도메인 형성 방법
FI20031481A (fi) * 2003-10-10 2005-04-11 Open Bit Oy Ltd Sovellusohjelman käyttäjäoikeuksien ehdollinen rajoittaminen
JP2005141413A (ja) * 2003-11-05 2005-06-02 Sony Corp 情報処理装置及びその情報処理方法、並びにデータ通信システム及びデータ通信方法
JP2005149129A (ja) * 2003-11-14 2005-06-09 Sony Corp ライセンス管理方法、情報処理装置および方法、並びにプログラム
JP4655470B2 (ja) * 2003-11-18 2011-03-23 ソニー株式会社 コンテンツデータ処理装置及びコンテンツデータ処理方法、並びにコンテンツデータ管理システム及びコンテンツデータ管理方法
JP4250510B2 (ja) * 2003-11-26 2009-04-08 株式会社東芝 コンテンツ配信サービス提供システムとそのコンテンツ配信装置及びユーザ端末装置
JP4064914B2 (ja) 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US7620362B2 (en) 2003-12-04 2009-11-17 International Business Machines Corporation Controlling access to wirelessly broadcast electronic works during playback
US7519322B2 (en) 2003-12-04 2009-04-14 International Business Machines Corporation Tracking locally broadcast electronic works
US7515873B2 (en) 2003-12-04 2009-04-07 International Business Machines Corporation Responding to recipient rated wirelessly broadcast electronic works
US20050132191A1 (en) * 2003-12-16 2005-06-16 Joshi Ajit P. Method for authenticating different rendering devices with different service providers
US8205266B2 (en) 2004-02-03 2012-06-19 International Business Machines Corporation Digital rights management
US7676846B2 (en) * 2004-02-13 2010-03-09 Microsoft Corporation Binding content to an entity
CN100571132C (zh) 2004-03-22 2009-12-16 国际商业机器公司 多密钥内容处理系统和方法
JP4561146B2 (ja) * 2004-03-29 2010-10-13 ソニー株式会社 コンテンツ流通システム、暗号化装置、暗号化方法、情報処理プログラム、及び記憶媒体
JP4442294B2 (ja) * 2004-04-09 2010-03-31 ソニー株式会社 コンテンツ再生装置,プログラム,コンテンツ再生制御方法
FI20040553A0 (fi) * 2004-04-19 2004-04-19 Nokia Corp Mediaobjektien kulutuksenhallinta
US8060923B2 (en) * 2004-04-23 2011-11-15 Microsoft Corporation Trusted license removal in a content protection system or the like
US7568096B2 (en) * 2004-04-23 2009-07-28 Microsoft Corporation Rendering digital content in a content protection system according to a plurality of chained digital licenses
US7711647B2 (en) * 2004-06-10 2010-05-04 Akamai Technologies, Inc. Digital rights management in a distributed network
US7949607B2 (en) * 2004-06-21 2011-05-24 Canon Kabushiki Kaisha Image forming apparatus, license managing method for applications executed by image forming apparatus, program for implementing the method, and storage medium storing the program
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
KR100692011B1 (ko) * 2004-07-28 2007-03-09 엘지전자 주식회사 이동 통신 단말기 컨텐츠의 사용권 만료 기준을 갱신하는방법
US8763157B2 (en) 2004-08-23 2014-06-24 Sony Computer Entertainment America Llc Statutory license restricted digital media playback on portable devices
CN101036158A (zh) * 2004-08-31 2007-09-12 松下电器产业株式会社 内容购买处理终端和其方法及程序
JP2006085483A (ja) * 2004-09-16 2006-03-30 Sony Corp ライセンス処理装置,プログラムおよびライセンス貸出方法
JP4843208B2 (ja) * 2004-09-30 2011-12-21 株式会社東芝 デジタルコンテンツ編集装置、デジタルコンテンツ編集方法、デジタルコンテンツ編集プログラムおよびデジタルコンテンツ編集プログラムを記録した記録媒体
JP4405357B2 (ja) * 2004-09-30 2010-01-27 株式会社東芝 デジタルコンテンツ再生装置、デジタルコンテンツ再生方法、デジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体
KR100579515B1 (ko) * 2004-10-08 2006-05-15 삼성전자주식회사 브로드캐스트 암호화를 위한 키 생성 장치 및 방법
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
EP2189922A3 (en) * 2004-12-21 2010-06-02 Sandisk Corporation Memory system with versatile content control
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
EP1818833B1 (en) 2005-02-14 2017-04-19 Panasonic Intellectual Property Management Co., Ltd. Application executing device, managing method, and program
US20060218617A1 (en) * 2005-03-22 2006-09-28 Microsoft Corporation Extensible content identification and indexing
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US7827113B2 (en) * 2005-03-30 2010-11-02 Sony Corporation Method and system for providing a content subscription service
JP4769475B2 (ja) * 2005-04-06 2011-09-07 株式会社ハートランド コンテンツ配信用サーバ及びこれを備えたコンテンツ配信システム
JP4760101B2 (ja) * 2005-04-07 2011-08-31 ソニー株式会社 コンテンツ提供システム,コンテンツ再生装置,プログラム,およびコンテンツ再生方法
US8533858B2 (en) 2005-04-08 2013-09-10 Electronics And Telecommunications Research Institute Domain management method and domain context of users and devices based domain system
KR100800295B1 (ko) * 2005-04-11 2008-02-04 한국전자통신연구원 라이센스 데이터 구조를 구비한 컴퓨터 판독가능한 기록매체 및 라이센스 발급 방법
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060235800A1 (en) * 2005-04-18 2006-10-19 Alcatel Digital rights management for media streaming systems
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8145571B2 (en) * 2005-05-25 2012-03-27 Qualcomm Incorporated Content transfer control for wireless devices
US9787471B1 (en) * 2005-06-02 2017-10-10 Robert T. Jenkins and Virginia T. Jenkins Data enciphering or deciphering using a hierarchical assignment system
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
WO2007012999A2 (en) * 2005-07-29 2007-02-01 Koninklijke Philips Electronics N.V. A method and apparatus for authorizing to use a content
WO2007026276A2 (en) * 2005-08-29 2007-03-08 Koninklijke Philips Electronics N.V. Method and apparatus for authorizing to use a content
US8626584B2 (en) 2005-09-30 2014-01-07 Sony Computer Entertainment America Llc Population of an advertisement reference list
CN101278300A (zh) * 2005-10-05 2008-10-01 松下电器产业株式会社 许可管理系统
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
TWI281825B (en) * 2005-10-18 2007-05-21 Univ Nat Taiwan Right management system and method for digital broadcasting
US20070118425A1 (en) 2005-10-25 2007-05-24 Podbridge, Inc. User device agent for asynchronous advertising in time and space shifted media network
US11004089B2 (en) 2005-10-25 2021-05-11 Sony Interactive Entertainment LLC Associating media content files with advertisements
US8676900B2 (en) 2005-10-25 2014-03-18 Sony Computer Entertainment America Llc Asynchronous advertising placement based on metadata
US10657538B2 (en) 2005-10-25 2020-05-19 Sony Interactive Entertainment LLC Resolution of advertising rules
KR100831601B1 (ko) * 2005-10-26 2008-05-23 이항경 일련 번호 및 비밀 번호를 이용한 통신 네트워크상에서의상품 진위 여부 확인 방법 및 시스템
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070162399A1 (en) * 2005-12-22 2007-07-12 Alexander Medvinsky Method and apparatus for providing broadcast trigger messages
CN101292463B (zh) * 2005-12-26 2011-02-16 三菱电机株式会社 内容分配系统和终端以及服务器
JP4564464B2 (ja) * 2006-01-05 2010-10-20 株式会社東芝 デジタルコンテンツ再生装置、方法およびプログラム
WO2007096813A1 (en) * 2006-02-22 2007-08-30 Koninklijke Philips Electronics N.V. Method for redistributing drm protected content
EP2018728A4 (en) 2006-05-05 2011-07-06 Sony Comp Entertainment Us ADVERTISEMENT ROTATION
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US8479264B2 (en) * 2006-09-29 2013-07-02 Micron Technology, Inc. Architecture for virtual security module
US7831517B1 (en) * 2006-10-24 2010-11-09 Adobe Systems Incorporated Single binary software license distribution
JP4984827B2 (ja) * 2006-10-30 2012-07-25 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
JP4826449B2 (ja) * 2006-11-28 2011-11-30 富士ゼロックス株式会社 情報処理システム、電子許可情報発行装置、権利発行装置
KR100849843B1 (ko) * 2006-12-08 2008-08-01 삼성전자주식회사 컨텐츠 관리 장치 및 방법
US7971061B2 (en) * 2006-12-11 2011-06-28 Pitney Bowes Inc. E-mail system and method having certified opt-in capabilities
US20080168368A1 (en) * 2007-01-07 2008-07-10 Louch John O Dashboards, Widgets and Devices
GB2447301A (en) * 2007-03-09 2008-09-10 Music Glue Ltd Digital rights management (DRM) using a system of licenses
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
DE102007050597A1 (de) * 2007-10-18 2009-04-23 Optimum Gesellschaft für Automatisierungstechnik mbH Verfahren zum Schutz vertraulicher, elektronisch gespeicherter Daten
US9892390B2 (en) * 2007-12-12 2018-02-13 Microsoft Technology Licensing, Llc Digital content packaging, licensing and consumption
US20100027790A1 (en) * 2007-12-20 2010-02-04 Balaji Vembu Methods for authenticating a hardware device and providing a secure channel to deliver data
US8769558B2 (en) 2008-02-12 2014-07-01 Sony Computer Entertainment America Llc Discovery and analytics for episodic downloaded media
KR20090089756A (ko) * 2008-02-19 2009-08-24 삼성전자주식회사 휴대 단말기의 라이센스 위탁 통지 방법 및 시스템
CN101526985A (zh) * 2008-03-04 2009-09-09 索尼(中国)有限公司 数字权限管理客户端系统及方法和数字权限管理系统
FR2928800A1 (fr) * 2008-03-14 2009-09-18 Thomson Licensing Sas Procede de gestion de requetes d'obtention d'identifiants de pairs en vue d'acceder en mode p2p a des contenus qu'ils stockent, et dispositif de gestion et equipement de reseau associes.
US8353049B2 (en) * 2008-04-17 2013-01-08 Microsoft Corporation Separating keys and policy for consuming content
CN101291539B (zh) * 2008-06-12 2011-12-21 华为技术有限公司 一种控制授权功能的方法及装置
US8935528B2 (en) * 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
KR101062184B1 (ko) * 2008-09-26 2011-09-05 삼성전자주식회사 방송채널에 대한 라이센스 갱신 방법 및 장치
US20100115471A1 (en) * 2008-11-04 2010-05-06 Apple Inc. Multidimensional widgets
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US8904191B2 (en) * 2009-01-21 2014-12-02 Microsoft Corporation Multiple content protection systems in a file
JP5670897B2 (ja) 2009-06-19 2015-02-18 日本技術貿易株式会社 コンテンツ管理装置及びコンテンツ管理方法
CN101931951B (zh) 2009-06-26 2012-11-07 华为技术有限公司 密钥推演方法、设备及系统
US8763090B2 (en) 2009-08-11 2014-06-24 Sony Computer Entertainment America Llc Management of ancillary content delivery and presentation
GB0915596D0 (en) * 2009-09-07 2009-10-07 St Microelectronics Res & Dev Encryption keys
US8364964B2 (en) * 2009-12-29 2013-01-29 General Instrument Corporation Registering client devices with a registration server
WO2011082322A2 (en) * 2009-12-30 2011-07-07 Intergraph Technologies Company A system and method for transmission of files within a secured network
EP2479696A1 (en) * 2011-01-19 2012-07-25 British Telecommunications public limited company Data security
EP2697929A4 (en) 2011-04-11 2014-09-24 Intertrust Tech Corp INFORMATION SECURITY SYSTEMS AND METHODS
US9369448B2 (en) * 2011-06-01 2016-06-14 Broadcom Corporation Network security parameter generation and distribution
US20130129095A1 (en) * 2011-11-18 2013-05-23 Comcast Cable Communications, Llc Key Delivery
CN103186719B (zh) * 2011-12-27 2016-10-12 方正国际软件(北京)有限公司 一种面向移动终端的数字版权保护方法及系统
JP5992295B2 (ja) * 2012-11-02 2016-09-14 株式会社東芝 通信制御装置、通信装置およびプログラム
US8997249B1 (en) 2014-06-18 2015-03-31 Storagecraft Technology Corporation Software activation and revalidation
EP3062255A1 (de) * 2015-02-25 2016-08-31 Siemens Aktiengesellschaft Lizensierung von Softwareprodukten
US9971879B2 (en) * 2016-05-26 2018-05-15 Adobe Systems Incorporated Secure recording and rendering of encrypted multimedia content
EP3603091A1 (en) * 2017-03-21 2020-02-05 Intertrust Technologies Corporation Managed content distribution systems and methods
US20200242213A1 (en) * 2019-01-28 2020-07-30 Blackberry Limited Method and system for digital rights management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213553A (ja) * 1998-01-28 1999-08-06 Toshiba Corp 契約管理装置および再生装置
WO2000059152A2 (en) * 1999-03-27 2000-10-05 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
JP2000347566A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp コンテンツ管理装置、コンテンツ利用者端末及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7047241B1 (en) * 1995-10-13 2006-05-16 Digimarc Corporation System and methods for managing digital creative works
AU1425197A (en) * 1995-12-29 1997-07-28 Mci Communications Corporation Multiple cryptographic key distribution
JP3540506B2 (ja) * 1996-05-29 2004-07-07 三洋電機株式会社 ソフトウエアのライセンス管理システム
US5926624A (en) * 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
EP0968585A1 (en) 1997-03-14 2000-01-05 Cryptoworks Inc. Digital product rights management technique
US6006190A (en) * 1997-04-28 1999-12-21 Tartaroukos Llc Computer implemented method and a computer system for enforcing software licenses
EP1650757A1 (en) 1997-05-13 2006-04-26 Kabushiki Kaisha Toshiba Information ciphering method and apparatus, information reproducing method and apparatus
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
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
JP3565715B2 (ja) * 1998-07-02 2004-09-15 松下電器産業株式会社 放送システムと放送送受信装置
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6636968B1 (en) * 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
AU3381000A (en) 1999-03-27 2000-10-16 Microsoft Corporation Rendering digital content in an encrypted rights-protected form
US7136838B1 (en) 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
WO2000062189A2 (en) * 1999-04-12 2000-10-19 Reciprocal, Inc. System and method for data rights management
US6735313B1 (en) * 1999-05-07 2004-05-11 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
US7013389B1 (en) * 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US6885748B1 (en) * 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US6606744B1 (en) * 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US6891953B1 (en) * 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
US6993138B1 (en) * 2000-09-14 2006-01-31 Nortel Networks Limited Spatial key trees for key management in wireless environments
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213553A (ja) * 1998-01-28 1999-08-06 Toshiba Corp 契約管理装置および再生装置
WO2000059152A2 (en) * 1999-03-27 2000-10-05 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
JP2000347566A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp コンテンツ管理装置、コンテンツ利用者端末及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
KR20020066233A (ko) 2002-08-14
CN1269333C (zh) 2006-08-09
SG111044A1 (en) 2005-05-30
EP1231532A3 (en) 2009-12-09
US20070289025A1 (en) 2007-12-13
AU1547402A (en) 2002-08-15
US20020114466A1 (en) 2002-08-22
CN1371056A (zh) 2002-09-25
US7260721B2 (en) 2007-08-21
CA2371124A1 (en) 2002-08-09
MXPA02001383A (es) 2004-06-22
US7765604B2 (en) 2010-07-27
EP1231532A2 (en) 2002-08-14
HK1051416A1 (zh) 2003-08-01

Similar Documents

Publication Publication Date Title
KR100929744B1 (ko) 정보 처리 방법/장치 및 프로그램
KR100911282B1 (ko) 정보 처리 장치
KR100904572B1 (ko) 정보 처리 장치
JP4072761B2 (ja) 情報処理装置および方法、記録媒体、並びに、プログラム
US7426639B2 (en) Information processing apparatus and method for managing grouped devices in an encrypted environment
JP3818504B2 (ja) 情報処理装置および方法、並びにプログラム
JP4151274B2 (ja) 情報処理装置および方法、ライセンスサーバ、並びにプログラム
EP1496441A1 (en) Information processing device, method, recording medium, and program
JPWO2002080067A1 (ja) 情報処理装置
JP2002297816A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2002297034A (ja) 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体のフォーマット
JP2002297032A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2006320018A (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
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080929

Effective date: 20090924

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee