KR20030074382A - 기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치 - Google Patents

기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치 Download PDF

Info

Publication number
KR20030074382A
KR20030074382A KR10-2003-0015376A KR20030015376A KR20030074382A KR 20030074382 A KR20030074382 A KR 20030074382A KR 20030015376 A KR20030015376 A KR 20030015376A KR 20030074382 A KR20030074382 A KR 20030074382A
Authority
KR
South Korea
Prior art keywords
data
certificate
hard disk
confidential data
storage area
Prior art date
Application number
KR10-2003-0015376A
Other languages
English (en)
Inventor
호리요시히로
히오끼도시아끼
Original Assignee
산요덴키가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 산요덴키가부시키가이샤 filed Critical 산요덴키가부시키가이샤
Publication of KR20030074382A publication Critical patent/KR20030074382A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

하드디스크 유닛은 데이터 기억 영역(2000)을 구비한다. 데이터 기억 영역(2000)은, 사용자 영역(2100)과 비사용자 영역(2200)을 포함한다. 사용자 영역(2100)은 비기밀 데이터를 기억하는 통상 데이터 기억 영역(2110)과 기밀 데이터를 기억하는 보호 데이터 기억 영역(2120)으로 이루어진다. 비사용자 영역(2200)은 관리 데이터 기억 영역(2210)으로 이루어진다. 관리 데이터 기억 영역(2210)은 증명서 실효 리스트와 기밀 데이터의 관리 테이블을 기억한다. 사용자 영역 (2100)에는 논리 어드레스 0∼maxLBA가 부여되고, 보호 데이터 기억 영역(2120)에는 그 중 sLBA+1∼maxLBA가 할당된다. sMAX를 외부로부터의 지시에 따라서 변경함으로써 보호 데이터 기억 영역(2120)의 영역을 변경한다.

Description

기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치{DATA STORAGE DEVICE FOR PROVIDING SAFE ACCESS TO CONFIDENTIAL DATA}
본 발명은 복제된 정보에 대한 저작권 보호를 가능하게 하는 데이터 배신 시스템을 이용하여 취득된 암호화 데이터를 복호 및 재생하기 위한 라이센스를 기억하는 하드디스크 유닛에 관한 것으로, 특히 멀티 액세스가 가능한 기억 장치에 있어서 복제된 정보에 대한 저작권 보호를 가능하게 하는 하드디스크 유닛에 관한 것이다.
최근 인터넷등의 디지털 통신망등의 진보에 따라 휴대 전화기등의 개인용 단말에 의해 각 사용자가 용이하게 네트 워크 정보에 액세스할 수 있게 되었다.
이와 같은 디지털 통신망에 있어서는 정보가 디지털 데이터로서 전송된다. 따라서, 예를 들어 상술한 바와 같은 디지털 통신망에 있어서 전송된 음악 데이터와 영상 데이터를 각 사용자가 복제한 경우에도, 그와 같은 복제에 따른 음질과 화질의 열화 발생이 거의 없는 상태로 데이터 복제를 행할 수 있다.
따라서, 이와 같은 음악 데이터와 화상 데이터로 대표되는 저작자의 권리가 존재하는 콘텐츠 데이터가 디지털 통신망을 통하여 전달되는 경우, 적절한 저작권 보호를 위한 방법에 강구되지 않으면, 현저히 저작권자의 권리가 침해될 우려가 있다.
한편, 저작권 보호 목적을 최우선으로 하여, 급격히 확대되는 디지털 통신망을 통하여 콘텐츠 데이터의 송신을 행할 수 없다고 하면, 기본적으로는 콘텐츠 데이터의 배신시에 일정한 저작권료를 징수할 수 있는 저작권자에게는 오히려 불이익이된다.
그러나, 음악 데이터와 화상 데이터등의 콘텐츠 데이터를 디지털 통신망을 통하여 공중에게 배신하는 것은 그 자체가 저작권자의 공중 송신권에 의한 제한을 받는 행위이므로, 저작권 보호를 위한 충분한 대책을 강구할 필요가 있다.
이 경우, 디지털 통신망을 통하여 공중에게 송신되는 저작물인 음악 데이터와 화상 데이터와 화상 데이터등의 콘텐츠 데이터에 대해, 한번 수신된 콘텐츠 데이터가 다시 임의로 복제되는 것을 방지하는 것이 요구된다.
따라서, 콘텐츠 데이터를 암호화한 암호화 콘텐츠 데이터를 보유하는 배신 서버가, 휴대 전화기등의 단말 장치에 장착된 메모리 카드에 대해서, 암호화 콘텐츠 데이터를 배신하는 데이터 배신 시스템이 제안되어 있다. 이 같은 데이터 배신 시스템에 있어서는, 미리 인증국에서 인증된 메모리 카드의 공개 암호키와 그 증명서를 암호화 콘텐츠 데이터의 배신 요구시에 배신 서버로 송신하고, 배신 서버가 인증된 증명서를 수신한 것을 확인한 후에 메모리 카드에 대해 암호화 콘텐츠 데이터와, 암호화 콘텐츠 데이터를 복호하기 위한 라이센스를 송신한다. 라이센스는 암호화 콘텐츠 데이터를 복호하기 위한 복호키(이하, "콘텐츠키"라 한다), 라이센스를 식별하기 위한 라이센스 ID 및 라이센스의 이용을 제한하기 위한 제어 정보를 포함하고 있다. 배신 서버로부터 메모리 카드에 대해서 라이센스를 송신할 때에는 배신 서버 및 메모리 카드는 각각이 세션키를 생성하고, 배신 서버와 메모리 카드와의 사이에서 키 교환을 행함으로써 암호 통신로를 구축한다.
최종적으로, 배신 서버는 메모리 카드에 대해 구축한 암호 통신로를 통하여 라이센스를 송신한다. 그 때, 메모리 카드는 수신한 암호화 콘텐츠 데이터와 라이센스를 내부 메모리에 기억한다.
메모리 카드에 기억된 암호화 콘텐츠 데이터를 재생하는 경우에는, 메모리 카드로부터 암호화 콘텐츠 데이터와 콘텐츠키를 판독하여 암호화 콘텐츠 데이터를 복호하고, 또한 재생하여 외부로 출력하기 위한 전용 회로를 구비하는 단말 장치에메모리 카드를 장착한다. 콘텐츠키 판독시에는 메모리 카드와 전용 회로와의 사이에 암호 통신로를 구축하고 암호 통신로를 통하여 메모리 카드로부터 전용 회로로 송신된다.
또한, 메모리 카드는 다른 메모리 카드와의 사이에서 라이센스의 이동 또는 복제를 수행하는 기능을 구비한다. 이 경우, 배신 서버로부터 라이센스 송신과 마찬가지로 송신원의 메모리 카드와 송신처의 메모리 카드의 양쪽 기능에 의해 암호 통신로를 구축한 다음, 라이센스가 송신원의 메모리 카드로부터 송신처의 메모리 카드에 대해서 송신된다.
이와 같이, 휴대 전화기의 사용자는 휴대 전화망을 이용하여 암호화 콘텐츠 데이터와 라이센스를 배신 서버로부터 수신하여, 메모리 카드에 기억시킨 다음, 메모리 카드에 기억된 암호화 콘텐츠 데이터를 재생하거나, 다른 메모리 카드로 이동시킬 수 있다. 또한, 저작권자의 권리를 보호할 수 있다.
또한, 최근 방송망의 디지털화, 디지털 통신로의 광대역화에 따라서 대용량의 데이터 송신이 가능해지고 있다. 이와 같은 데이터 송신 환경 변화에 따라서 지금까지 음악 데이터와 같이 비교적 데이터량이 적은 콘텐츠 데이터로부터 대용량의 영상 데이터 배신을 수행할 수 있는 인프라 스트럭쳐가 갖추어지고 있다.
영상 콘텐츠를 기억하는 데이터 기억 장치로서, 메모리 카드는 데이터 기억 용량이 적고, 데이터 액세스 속도가 느린 데이터에 대한 1비트당 기억 단가가 높은 등, 영상 데이터를 취급하는데는 적합하지 않다는 문제점이 있다.
또한, 데이터 기억 장치의 대용량화에 따라서, 영상 콘텐츠로 대표되는 대용량의 콘텐츠를 기억하는 데이터 기억 장치와, 음악 콘텐츠와 같은 비교적 용량이 적은 콘텐츠를 기억하는 데이터 기억 장치에 있어서의 라이센스의 기억 용량이, 기억되는 콘텐츠에 관계없이 일정하다고 한다면, 영상 콘텐츠에서는 라이센스를 기억하는 영역의 여유가 있음에도 불구하고, 암호화 콘텐츠 데이터를 기억할 수 없으며, 음악 콘텐츠에서는 암호화 콘텐츠 데이터를 기억할 여유가 있음에도 불구하고, 라이센스를 기억할 수 없다는 이유에 의해서, 새로운 콘텐츠를 기억할 수 없다는 문제가 있다. 데이터 기억 장치의 기억 용량이 대용량화함에 따라서 이 같은 문제는 더욱 현저해진다.
도 1은 콘텐츠를 하드디스크 유닛에 기억하기 위한 시스템의 개략 구성도.
도 2는 하드디스크 유닛에 기억된 콘텐츠의 재생 처리를 설명하기 위한 개략 구성도.
도 3은 하드디스크 유닛에 기억된 콘텐츠의 하드디스크 유닛간의 이동 복제 처리를 설명하기 위한 개략 구성도.
도 4는 도 1에 나타낸 시스템에서 취급되는 데이터 및 정보등의 특성을 나타낸 도면.
도 5는 도 1에 나타낸 시스템에서 데이터 보호를 위해 이용되는 데이터, 키등의 특성을 나타낸 도면.
도 6은 도 1에 나타낸 다운로드 서버의 구성을 나타낸 개략 기능 블록도.
도 7은 도 1에 나타낸 단말 장치의 구성을 나타낸 기능 블록도.
도 8은 도 1에 나타낸 하드디스크 유닛의 구성을 나타낸 기능 블록도.
도 9는 하드디스크 유닛에서의 기억 영역의 구성을 나타낸 도면.
도 10은 하드디스크 유닛에서의 콘텐츠 기억 방법을 설명하기 위한 도면.
도 11은 도 1에 나타낸 단말 장치의 하드디스크 유닛에 대한 처리를 설명하기 위한 플로우차트.
도 12는 도 11에 나타낸 플로우차트의 초기화 처리를 상세히 설명하기 위한 플로우차트.
도 13은 도 1에 나타낸 시스템에서의 라이센스의 배신 처리 동작을 설명하기 위한 제1 플로우차트.
도 14는 도 1에 나타낸 시스템에서의 라이센스의 배신 처리 동작을 설명하기 위한 제2 플로우차트.
도 15는 도 3에 나타낸 구성에 있어서 라이센스의 이동/복제 처리 동작을 설명하기 위한 제1 플로우차트.
도 16은 도 3에 나타낸 구성에 있어서 라이센스의 이동/복제 처리 동작을 설명하기 위한 제2 플로우차트.
도 17은 도 3에 나타낸 구성에 있어서 라이센스의 이동/복제 처리 동작을 설명하기 위한 제3 플로우차트.
도 18은 도 2에 나타낸 구성에 있어서 사용 허락 처리의 상세한 동작을 설명하기 위한 제1 플로우차트.
도 19는 도 2에 나타낸 구성에 있어서 사용 허락 처리의 상세한 동작을 설명하기 위한 제2 플로우차트.
도 20은 도 11에 나타낸 통상 데이터 기입 처리의 상세한 동작을 설명하기 위한 플로우차트.
도 21은 도 11에 나타낸 통상 데이터 판독 처리의 상세한 동작을 설명하기위한 플로우차트.
도 22는 도 1에 나타낸 하드디스크 유닛의 다른 구성을 나타낸 블록도.
<도면의 주요 부분에 대한 부호의 설명>
10 : 다운로드 서버
20 : 단말 장치
30 : 콘텐츠 제공 장치
40, 40A, 41 : 하드디스크 유닛
100 : 데이터 배신 시스템
160 : 콘텐츠 리스트 파일
302 : 과금 데이터베이스
304 : 정보 데이터베이스
306 : CRL 데이터베이스
307 : 메뉴 데이터베이스
308 : 배신 기록 데이터베이스
310 : 데이터 처리부
312, 320, 1404, 1408, 1412, 1422, 1428, 1504, 1510, 1516 : 복호 처리부
313 : 인증키 보유부
315 : 배신 제어부
316, 1418, 1508 : 세션키 발생부
318, 326, 328, 1406, 1410, 1417, 1427, 1506 : 암호 처리부
350 : 통신 장치
1106, 1420, 1441 : 콘트롤러
1426, 1530 : 단자
1108 : 조작 패널
1110 : 표시 패널
1200 : 하드디스크 인터페이스
1400, 1500 : 증명서 보유부
1402 : Kom 보유부
1414 : KPa 보유부
1416 : KPmc 보유부
1421 : Kcm 보유부
1423 : 라이센스 레지스터
1424 : 기억 판독 처리부
1425 : 시크 제어부
1426 : 서보 제어부
1429 : Kr 보유부
1430, 1431 : 하드디스크
1432 : 모터
1433 : 지주
1433A∼1433C : 아암
1435∼1437 : 헤드
1438 : ATA 인터페이스
1439 : 단자
1440, 1440A, 1440B : 제어 유닛
1442, 1443 : 내부 버스 인터페이스
1502 : Kcp 보유부
1518 : 콘텐츠 디코더
1519 : DA 변환기
1550 : 재생 회로
1611∼ 161n : 콘텐츠 파일
1621∼162n : 라이센스 관리 파일
2000 : 데이터 기억 영역
2100 : 사용자 영역
2110 : 통상 데이터 기억 영역
따라서, 본 발명의 목적은 기밀 데이터를 안전하게 기록하는 영역을 구비한 기억 장치를 제공하는 것이다. 더욱 상세하게는 기밀 데이터를 기록하는 영역을 임의로 설정 가능한 기억 장치를 제공하는 것이다.
본 발명에 의하면, 데이터 기억 장치는, 기밀 데이터와 비기밀 데이터의 입출력을 행하고, 상기 기밀 데이터와 비기밀 데이터를 기억하는 데이터 기억 장치에 있어서, 외부와 데이터의 입출력을 행하는 인터페이스와, 데이터를 기억하는 데이터 기억 수단과, 상기 인터페이스를 통한 상기 기밀 데이터의 입출력에 있어서, 상기 기밀 데이터의 제공원 또는 제공처와의 사이에서 암호로를 구축하고, 그 암호로를 통하여 상기 기밀 데이터의 입출력을 행하는 암호 통신 수단과, 제어 수단을 구비하고, 상기 데이터 기억 수단은, 상기 기밀 데이터와 비기밀 데이터를 기억하기위한 사용자 영역을 포함하고, 상기 사용자 영역은, 상기 기밀 데이터를 기억하는 제1 기억 영역과, 상기 사용자 영역으로부터 상기 제1 기억 영역을 제외한 영역으로 이루어지며, 상기 비기밀 데이터를 기억하는 제2 기억 영역으로 분할되고, 상기 제어 수단은, 상기 인터페이스 및 암호 통신 수단을 통하여 입출력된 데이터를 상기 기밀 데이터로서 상기 제1 기억 영역에 기입 또는 판독을 수행하고, 상기 인터페이스만을 통하여 입출력된 데이터를 상기 비기밀 데이터로서 상기 제2 기억 영역에 기입 또는 판독을 행한다.
바람직하게 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역에 있어서, 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스 범위를 특정하기 위한 정보, 및 암호 통신 수단을 통한 암호 통신을 행하기 위해 필요한 정보를 적어도 포함하는 당해 데이터 기억 장치의 이용시에 필요한 기능 정보를 상기 인터페이스로 출력하는 기능 정보 출력 수단을 더 구비한다.
바람직하게 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역에 있어서, 제1 및 제2 기억 영역의 분할은 상기 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스의 범위를 특정하는 변경치를, 상기 인터페이스를 통하여 입력받음으로써 변경한다.
본 발명에 의하면, 데이터 기억 장치는, 상기 기밀 데이터를 당해 데이터 기억 장치 내부에서 관리되는 비밀키에 의해 암호화하는 암호 처리 수단과, 암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 복호 처리 수단을 더 구비하고, 상기 기밀 데이터의 기입시에, 상기 암호 처리 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 상기 비밀키에 의해 암호화하고, 상기 제어 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 기입할 상기 제1 기억 영역의 어드레스를 상기 인터페이스를 통하여 받고, 상기 암호 처리 수단에 의해 암호화된 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로 기억시키고, 상기 기밀 데이터의 판독시에, 상기 제어 수단은 상기 인터페이스를 통하여 상기 기밀 데이터를 판독할 상기 제1 기억 영역의 어드레스를 수신하고, 암호화된 상기 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로 부터 판독하여, 상기 복호 처리 수단으로 부여하고, 상기 복호 처리 수단은 판독된 암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호한다.
바람직하게는 상기 암호 통신 수단은 독립된 반도체 소자에 의해 구성된다.
바람직하게는 상기 사용자 영역은 연속하는 어드레스에 의해서 지정 가능한 영역이며, 상기 변경치는 상기 제1 기억 영역과 상기 제2 기억 영역의 경계를 지정하는 경계 어드레스이다.
바람직하게는 상기 암호 통신 수단은 다른 기기로부터 입력된 증명서를 받고, 그 받은 증명서의 정당성을 확인하는 인증 처리를 행하는 인증 수단과, 통신 제어 수단을 포함하고, 상기 기밀 데이터 판독시에, 상기 통신 제어 수단은 상기 인터페이스를 통하여 수취한 증명서를 상기 인증 수단에 부여하고, 상기 인증 수단에 있어서 상기 증명서의 정당성이 확인되었을 때, 상기 증명서의 출력처와 암호로를 구축하고, 상기 증명서가 정당하지 않다고 확인되었을 때 에러 통지를 상기 인터페이스를 통하여 외부로 출력한다.
바람직하게는 상기 데이터 기억 수단은, 상기 기밀 데이터의 출력이 금지된 증명서를 특정하는 정보를 열거한 증명서 실효 리스트를 기록하기 위한 비사용자 영역을 더 포함하고, 상기 통신 제어 수단은 상기 비사용자 영역으로부터 상기 증명서 실효 리스트를 판독하여, 다른 기기로부터 입력된 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서인지의 여부를 판단하고, 상기 기밀 데이터 판독시에, 상기 통신 제어 수단은, 상기 인증 수단이 상기 수취한 증명서를 정당하다고 인증한 경우, 상기 비사용자 영역으로부터 상기 인증서 실효 리스트를 판독하고, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서인지의 여부를 판단하여, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서가 아니라고 판단했을 때, 상기 증명서의 출력처와 암호로를 구축하고, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서라고 판단했을 때, 에러 통지를 상기 인터페이스를 통하여 외부로 출력한다.
바람직하게는 상기 기밀 데이터의 기입시에, 상기 통신 제어 수단은, 상기 기밀 데이터와 함께 새로운 증명서 실효 리스트를 수취하면, 상기 비사용자 영역에 기억된 증명서 실효 리스트를 상기 수취한 증명서 실효 리스트로 변환하여 재기록한다.
본 발명에 의하면, 데이터 기억 장치는, 기밀 데이터와 비기밀 데이터를 입출력하고, 상기 기밀 데이터와 비기밀 데이터를 기억하는 데이터 기억 장치에 있어서, 외부와 데이터의 입출력을 행하는 인터페이스와, 데이터를 기억하는 원반형 자기 기억 매체와, 상기 원반형 자기 기록 매체에 대한 데이터의 기입 및 판독을 행하는 기입 판독 처리 수단과, 상기 인터페이스를 통한 상기 기밀 데이터 입출력에 있어서, 상기 기밀 데이터 제공원 또는 제공처와의 사이에서 암호로를 구축하고, 그 암호로를 통하여 상기 기밀 데이터의 입출력을 행하는 암호 통신 수단과, 제어 수단을 구비하고, 상기 원반형 자기 기록 매체는, 상기 기밀 데이터와 상기 비기밀 데이터를 기억하기 위한 일정량의 기억 용량을 확보한 사용자 영역을 포함하고, 상기 사용자 영역은 상기 기밀 데이터를 기억하는 제1 기억 영역과, 상기 사용자 영역으로부터 상기 제1 기억 영역을 제외한 영역으로 이루어지며, 상기 비기밀 데이터를 기억하는 제2 기억 영역으로 분할되고, 상기 제어 수단은 상기 인터페이스 및 암호 통신 수단을 통하여 입출력된 데이터를, 상기 기밀 데이터로서 상기 제1 기억 영역에 기입 또는 판독을 수행하도록 기입 판독 처리 수단을 제어하고, 상기 인터페이스만을 통하여 입출력된 데이터를 상기 비기밀 데이터로서 상기 제2 기억 영역에 기입 또는 판독을 수행하도록 기입 판독 처리 수단을 제어한다.
본 발명에 의하면, 데이터 기억 장치는, 상기 기밀 데이터를 당해 데이터 기억 장치 내부에서 관리되는 비밀키에 의해 암호화하는 암호 처리 수단과, 암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 복호 처리 수단을 더 구비하고, 상기 기밀 데이터 기입시에 , 상기 암호 처리 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 상기 비밀키에 의해 암호화하고, 상기 제어 수단은, 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 기입할 상기 제1 기억 영역의 어드레스를 상기 인터페이스를 통하여 수신하고, 상기 암호 처리 수단에 의해서 암호화된 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로 기억하도록 기입 판독 처리 수단을 제어하고, 상기 기밀 데이터 판독시에, 상기 제어 수단은, 상기 인터페이스를 통하여 상기 기밀 데이터를 판독할 상기 제1 기억 영역의 어드레스를 수신하고, 암호화된 상기 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로부터 판독하도록 기입 판독 처리 수단을 제어하고, 판독한 암호화된 상기 기밀 데이터를 상기 복호 처리 수단으로 부여하고, 상기 복호 처리 수단은, 판독된 암호화된 상기 기밀 데이터를 상기 비밀키에 의해서 복호한다.
바람직하게는 상기 암호 통신 수단은, 독립된 반도체 소자에 의해 구성된다.
바람직하게는 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역에 있어서, 상기 제1 및 제2 기억 영역의 분할은, 상기 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스의 범위를 특정하는 변경치를, 상기 인터페이스를 통하여 입력받음으로써 변경한다.
따라서, 본 발명에 의하면 기밀 데이터를 기억하는 영역을 임의로 설정할 수 있다.
본 발명의 실시 형태에 대해 도면을 참조하면서 상세히 설명한다. 또한, 도중 동일 또는 상당 부분에는 동일 부호를 붙여 그 설명을 생략한다.
도 1은 본 발명에 의한 데이터 보호 기능을 구비한 하드디스크 유닛에 대해서 암호화 콘텐츠 데이터 및 암호화 콘텐츠 데이터를 복호하는 라이센스를 기록하기 위한 구성을 나타낸 개략도이다.
콘텐츠 제공 장치(30)는 하드디스크 유닛(40)에 기록하는 암호화 콘텐츠 데이터 및 라이센스를 제공하는 장치이며, 데이터 버스(BS)를 통하여 하드디스크 유닛(40)과 접속되어, 데이터 버스(BS)를 통하여 데이터 수수를 행할 수 있는 구성으로 되어 있다.
또한, 이하에서는 디지털 통신망, 예를 들면 인터넷을 통하여 영상 데이터를 다운로드하여 하드디스크 유닛(40)에 기록하는 배신 시스템을 예로 들어 설명하는데, 이하의 설명으로부터 알 수 있는 바와 같이, 본 발명은 이와 같은 경우에 한정되지 않고, 가공 되지 않은 데이터를 포함하는 암호화 콘텐츠 데이터 및 라이센스를 생성하여 하드디스크 유닛(40)에 기억하는 데이터 레코더, 또는 방송망을 통하여 수신된 암호화 콘텐츠 데이터 또는 라이센스를 하드디스크 유닛(40)에 기록하는 방송 수신 시스템, 방송망을 통하여 암호화 콘텐츠 데이터를 취득하고, 디지털 통신망을 통하여 라이센스를 취득하는 복합 배신 시스템등의 다양한 구성에 적용할 수 있다.
즉, 콘텐츠 제공 장치(30)는 어떠한 경로부터 암호화 콘텐츠 데이터 및 라이센스를 취득하여도 되며, 하드디스크 유닛(40)과의 사이에서 데이터 수수를 행하여, 암호화 콘텐츠 데이터 및 라이센스를 하드디스크 유닛(40)에 송신하는 기능을 구비하는 장치이다.
또한, 송신의 대상이 되는 데이터는 영상 데이터에 한정되지 않고, 다른 저작물로서의 콘텐츠 데이터, 예를 들면 음악 데이터, 영상 데이터, 낭독 데이터, 텍스트 데이터, 컴퓨터 프로그램, 및 게임 소프트 등이어도 된다.
도 1을 참조하여 통신 시스템에 있어서 콘텐츠 제공 장치(30)는, 다운로드 서버(10)와 단말 장치(20)에 의해서 구성된다. 하드디스크 유닛(40)은 착탈 가능한 커넥터를 구비한 독립된 유닛이다. 데이터 버스(BS)는 하드디스크 유닛(40)을 장착하는 기구를 통하여 하드디스크 유닛(40)과 접속 가능한 데이터 버스이다. 또한, 단말 장치(20)는 디지털 통신망을 통하여 콘텐츠 배신을 수행하는 다운로드 서버(10)와 접속되어 있다.
다운 로드 서버(10)는 하드디스크 유닛(40)을 장착한 단말 장치(20)의 사용자로부터의 배신 요청을 단말 장치(20)로부터 수신한다. 영상 데이터를 관리하는 다운로드 서버(10)는, 배신 요청을 송신해 온 단말 장치(20)에 장착된 하드디스크 유닛(40)이 정당한 증명서를 가지는지 어떤지, 즉 보호 기능을 구비한 정규 기억 장치인지 아닌지를 인증한다. 그리고, 하드디스크 유닛(40)이 정규 하드디스크 유닛인 경우, 다운로드 서버(10)는 하드디스크 유닛(40)에 대해서 저작권 보호를 위해 소정의 암호 방식에 의해 영상 데이터(이하, '콘텐츠 데이터'로 칭함)을 암호화한 암호화 콘텐츠 데이터와, 이 같은 암호화 콘텐츠 데이터를 복호하기 위한 콘텐츠키(Kc)를 포함하는 라이센스를 단말 장치(20)로 송신한다.
단말 장치(20)는 암호화 콘텐츠 데이터와 라이센스를 하드디스크 유닛(40)에 기록하기 위해 다운로드 서버(10)와 하드디스크 유닛(40)과의 중개 처리를 행한다.
이 경우, 라이센스의 송신에 대해서는, 다운로드 서버(10)와 하드디스크 유닛(40)과의 사이에는 기밀 커넥션(암호 통신로)가 형성되어, 그 가운데를 통하여 라이센스가 송신된다. 즉, 라이센스는 하드디스크 유닛(40)에서만 복호 가능한 암호화가 이루어져 배신되고, 하드디스크 유닛(40)에서 복호된 후 기록된다. 기밀 커넥션의 형성에 대해서는 이후 상세히 설명한다. 이와 같은 라이센스를 하드디스크 유닛(40)에 기록하는 처리를 '기입'으로 칭하기로 한다.
또한, 단말 장치(20)가 재생 기능을 구비하면, 단말 장치(20)는 하드디스크 유닛(40)에 기록된 암호화 콘텐츠 데이터와 그 라이센스를 판독하여 암호화 콘텐츠 데이터를 재생할 수 있다.
도 2는 단말 장치(20)가 재생 기능을 구비하며, 하드디스크 유닛(40)에 기억된 암호화 콘텐츠 데이터와 그 라이센스를 판독하여 재생하기 위한 구성을 나타낸 개략도이다.
도 2를 참조하면 단말 장치(20)는 단말 장치 내부의 제어 및 데이터 버스(BS)를 통한 하드디스크 유닛(40)과의 데이터 송수신을 제어하는 콘트롤러(1106)와, 암호화 콘텐츠 데이터 및 라이센스에 의해서 콘텐츠 재생을 행하는 데이터 보호 기능을 구비한 재생 회로(1550)에 의해서 구성된다.
콘텐츠 재생시에도, 하드디스크 유닛(40)과 재생 회로(1550)와의 사이에는 기밀 커넥션이 형성되어, 그 가운데로 재생에 사용되는 라이센스가 하드디스크 유닛(40)으로부터 재생 회로(1550)로 송신된다. 이 때, 하드디스크 유닛(40)은, 재생 회로(1550)의 증명서를 인증함으로써 재생 회로(1550)의 정당성을 확인한다. 재생 회로(1550)에 대해서 콘텐츠키를 포함하는 라이센스를 송신하고, 암호화 콘텐츠 데이터의 재생을 준비하는 처리를 '사용 허락'으로 칭하기로 한다. 이에 대한 상세는 후술한다.
또한, 하드디스크 유닛(40)에 기록된 암호화 콘텐츠 데이터 및 라이센스는 다른 하드디스크 유닛으로 송신된다. 도 3은 단말 장치(20)에 구비된 데이터버스(BS)에 2대의 하드디스크 유닛을 접속한 하드디스크 유닛 사이에서의 암호화 콘텐츠 데이터 및 라이센스의 송신을 수행하기 위한 구성을 나타낸 개략도이다.
하드디스크 유닛(40)과 동일한 기능을 구비한 하드디스크 유닛(41)이, 데이터 버스(BS)에 접속된다. 단말 장치(20)의 콘트롤러는 2개의 하드디스크 유닛(40, 41)간의 데이터의 송수신 제어와 데이터의 중개를 수행한다. 또한, 라이센스 송신시에는, 기밀 커넥션이 하드디스크 유닛(40)과 하드디스크 유닛(41)과의 사이에서 형성되어, 라이센스는 기밀 커넥션의 가운데로 송신된다. 이 때, 하드디스크 유닛(40)은, 하드디스크 유닛(41)의 증명서를 인증함으로써 하드디스크 유닛(41)의 정당성을 확인한다.
이와 같은 2개의 하드디스크 유닛 사이에서 라이센스의 송수신을 행하는 경우에, 라이센스의 송신원인 하드디스크 유닛(40)측의 처리를 '전송(轉送)' 으로 칭하기로 한다. 또한, '전송'에 있어서는, 라이센스가 송신원에 남지 않는 이동과, 송신원에 남는 복제가 있다. '전송'에 의해 라이센스가 이동할지, 복제될지는 라이센스내에 기재되는 제어 정보에 따른다. 이 때, 라이센스의 수신처인 하드디스크 유닛(41)측의 처리는, 도 1에서의 하드디스크 유닛(40)측의 처리와 같은 '기입'이며, 단말 장치(20) 및 하드디스크 유닛(40)은 도 1에 나타낸 콘텐츠 제공 장치(30)로서의 기능을 가진다. 상세에 대해서는 후술한다.
도 3에 있어서는, 하나의 단말 장치(20)에 대해서 2개의 하드디스크 유닛(40, 41)이 접속되어 있는 구성만을 나타냈으나, 하드디스크 유닛(41)이 다른 단말 장치에 장착되고, 단말 장치(20)가 통신 케이블에 의해 다른 단말 장치와 접속되어 있는 경우, 단말 장치 사이에서의 데이터 통신이 가능하면, 동일한 처리를 행할 수도 있다.
이와 같은 구성에 있어서, 콘텐츠 데이터의 저작권을 보호하고, 사용자가 자유롭게 콘텐츠 데이터를 재생하여 즐기기 위해서 시스템상 요구되는 것은, 첫째로 콘텐츠 데이터를 암호화하는 방식 그 자체이고, 둘째는 라이센스 통신시의 라이센스 누설을 방지하기 위한 방식이고, 셋째로는 콘텐츠 데이터의 무단 복제에 의한 이용을 방지하기 위해 콘텐츠 데이터의 라이센스 이용 방법, 또는 복제를 제한하는 저작권 보호의 기능이다.
도 4는 본 발명에서 사용되는 데이터, 및 라이센스 특성을 설명하는 도면이다.
우선 다운로드 서버(10)로부터 배신되는 데이터에 대해 설명한다. Dc는 영상 데이터 등의 콘텐츠 데이터이다. 콘텐츠 데이터(Dc)는 콘텐츠키(kc)로 복호 가능한 암호화가 이루어진다. 콘텐츠키(Kc)에 의해서 복호 가능한 암호화가 이루어진 암호화 콘텐츠 데이터 E(Kc, Dc)가 이 같은 형식으로 다운로드 서버(10)로부터 단말 장치(20)의 사용자에게 송신된다.
또한, 이하에서는 E(X, Y)라는 표기는, 데이터 Y를 암호키 X에 의해 암호화한 것을 나타내는 것으로 한다.
또한, 다운로드 서버(10)로부터는 암호화 콘텐츠 데이터와 함께 콘텐츠 데이터에 관한 평문 정보로서의 부가 정보(Di)가 배포된다. 또한, 부가 정보(Di)는 콘텐츠 데이터(Dc)를 식별하기 위한 데이터 ID(DID)를 포함한다.
또한, 라이센스로서는 콘텐츠키(Kc), 라이센스 ID(LID), 데이터 ID(DID) 및 제어 정보(AC)등이 존재한다.
데이터 ID는 콘텐츠 데이터(Dc)를 식별하기 위한 코드이며, 라이센스 ID는 다운로드 서버(10)로부터의 라이센스 배신을 관리하고, 각각의 라이센스를 식별하기 위한 코드이다. 제어 정보(AC)는 기억 장치(하드디스크 유닛)로부터의 라이센스 또는 콘텐츠키를 외부로 출력할 때의 제어 정보이며, 재생 회수(재생을 위해 라이센스키를 출력하는 회수), 라이센스의 이동 및 복제에 관한 제한 정보 등이 있다.
이후, 라이센스 ID와, 데이터 ID와, 콘텐츠키(Kc)와, 제어 정보(AC)를 합하여 라이센스(LIC)로 총칭하기로 한다.
또한, 이하에서는 간단화를 위한 제어 정보(AC)는 재생 회수의 제한을 행하는 제어 정보인 재생 회수(0: 재생 불가, 1∼254: 재생 가능 회수, 255: 제한 없음)와, 라이센스의 이동 및 복제를 제한하는 이동 및 복제 플래그(0: 이동 복제 금지, 1: 이동만 가능, 2: 이동 복제 가능)의 2항목으로 한다.
도 5는 본 발명에 있어서 기밀 커넥션 형성을 위해 이용되는 데이터, 키의 특성을 설명하기 위한 도면이다.
단말 장치(20)내의 재생 회로(1550), 및 하드디스크 유닛(40, 41)에는 고유의 공개 암호키(KPcxy)가 설치된다. 여기에서, 공개 암호키(KPcxy)는 기기의 클래스(종류 등의 일정 단위)마다 부여되고, x는 재생 회로와 기억 장치를 식별하는 식별자이다. 기기가 재생 회로 등의 재생 장치인 경우 x=p이며, 기기가 하드디스크유닛 등의 기억 장치인 경우 x=m으로 한다. 또한 y는 기기의 클래스를 식별하는 식별자이다. 공개 암호키(KPcxy)는 비밀 복호키(Kcxy)에 의해 복호 가능하다. 이들 공개 암호키(KPcxy) 및 비밀 복호키(Kcxy)는, 재생 회로 및 하드디스크 유닛등의 종류마다 다른 값을 가진다. 이들 공개 암호키 및 비밀 복호키를 총칭하여 클래스 키로 칭하고, 이들 공개 암호키를 클래스 공개 암호키, 비밀 복호키를 클래스 비밀 복호키, 클래스 키가 공유하는 단위를 클래스로 칭한다. 클래스는 제조 회사와 제품의 종류, 제조시의 로트(lot)등에 따라 다르다.
또한, 하드디스크 유닛 및 재생 회로의 증명서로서 Cxy가 설치된다. 이들 증명서는, 재생 회로 및 하드디스크 유닛의 클래스마다 다른 정보를 가진다.
재생 회로 및 하드디스크 유닛의 증명서 Cxy는 KPcxy//1cxy//E(Ka, H(KPcxy//1cxy))의 형식으로 출하시에 재생 회로 및 하드디스크 유닛에 기록된다. 또한, 1cxy는 클래스마다 정리된 기기 및 클래스 공개 암호키(KPcxy)에 관한 정보 데이터이다. 또한, H(X)는 데이터열 X에 대한 Hash 함수에 의한 연산 결과인 X의 해쉬값을 의미하고, X//Y는 X와 Y와의 연결을 의미한다. E(Ka, H(KPcxy//1cxy))는 KPcxy//1cxy의 서명 데이터이다.
KPa는 데이터 배신 시스템 전체에서 공통의 공개 인증키이며, 클래스 공개 암호키(KPcxy)와 클래스 정보(1cxy)를 인증국(도시 않음)에서 마스터키(Ka)로 암호화된 서명 데이터를 복호한다. 마스터키(Ka)는 인증국에서 증명서내의 서명 데이터를 작성하기 위해 사용되는 비밀 암호키이다.
또한, 하드디스크 유닛(40, 41)과 같은 기억 장치마다 관리하는 공개암호키(KPomz)와, 공개 암호키(KPomz)로 암호화된 데이터를 복호할 수 있는 비밀 복호키(Komz)와, 기억 장치내에서만 이용하고, 비밀로 관리하는 라이센스의 기록에 이용하는 공통키로서 기록키(Krz)가 존재한다. 이들 하드디스크 유닛마다 설정되는 공개 암호키, 비밀 복호키, 및 기록키를 총칭하여 개별키로 총칭하고, 공개 암호키(KPomz)를 개별 공개 암호키, 비밀 복호키(Komz)를 개별 비밀 복호키, 기록키(Krz)를 개별 기록키로 칭한다. z는 기억 장치를 식별하는 각각의 식별자이다.
라이센스의 '기입', '전송' 및 '사용 허락'이 이루어질 때마다 다운로드 서버(10), 단말 장치(20) 및 하드디스크 유닛(40, 41)에서 생성되는 공통키(Ks1w, Ks2w)가 이용된다.
여기에서, 공통키(Ks1W, Ks2w)는, 다운로드 서버, 재생 회로 또는 하드디스크 유닛간의 통신에 있어서, 기밀 커넥션을 형성하는 통신 또는 액세스 단위인 '세션'마다 발생하는 세션에서 고유의 공통키이다. 이하에서는 이들 공통키(Ks1w, Ks2w)를 '세션키'로도 칭하기로 한다. 또한, w는 세션을 식별하기 위한 식별자이다.
세션키(Ks1w)는 라이센스를 출력하는 제공원 또는 송신원에서 발생되고, 세션키(Ks2w)는 라이센스를 수취하는 제공처 또는 송신처에서 발생된다. 구체적으로는 다운로드 서버로 대표되는 라이센스 제공 장치에서는 세션키(Ks1w)가, 재생 회로에서는 세션키(Ks2w)가, 그리고, 하드디스크 유닛에서의 '기입'에 있어서는 세션키(Ks2w)가, '전송' 및 '재생 허락'에 있어서는 세션키(Ks1w)가 각각 발생되고, 각처리에 있어서 발생된 세션키가 교환된다.
기기는 다른 기기에서 발생된 세션키에 의한 데이터의 암호화 처리 및 자신이 발생한 세션키에 의해 다른 기기에서 암호화된 데이터의 복호 처리를 수행하는 기능을 구비한다. 이와 같이 세션키를 이용하여 기밀 커넥션을 구축하고, 라이센스의 송신을 기밀 커넥션을 통하여 행함으로써, 라이센스에 관한 처리의 보안 강도를 향상시키고, 통신에 대한 공격으로부터 라이센스를 보호할 수 있다.
또한, 본 발명의 실시 형태에 있어서는, 어떠한 이유로 안전성을 확보할 수 없게 된 하드디스크 유닛에 새로운 라이센스의 제공을, 또는 재생 회로에 대한 콘텐츠키의 제공을 클래스 단위로 금지할 수 있도록 증명서 실효 리스트(CRL; Certificate Revocation List)의 운용을 수행한다. 증명서 실효 리스트(CRL)는, 라이센스의 제공 및 사용이 금지된 기기의 클래스마다 부여된 증명서(Cxy)가 특정하는 정보를 열거한 데이터열이다. 그리고, 증명서 실효 리스트(CRL)는, 라이센스를 제공하는 다운로드 서버 또는 하드디스크 유닛에서 보유되고, 라이센스의 제공 및 사용 허락시에 수취한 증명서가, 증명서 실효 리스트(CRL)에 리스트업되어 있는 경우, 다운로드 서버에서는 라이센스의 제공이, 하드디스크 유닛에서는 '전송' 및 '재생 허락'이 중지된다.
또한, 증명서(Cxy)가 특정하는 정보는, 증명서(Cxy)의 발행시에 인증국에 의해 증명서(Cxy)내에 기재된 증명서 번호를 이용한다. 따라서, 증명서 실효 리스트(CRL)에 리스트업되어 있다는 것은, 증명서 실효 리스트(CRL)내에 당해 증명서의 증명서 번호가 기재되어 있는 것이다.
또한, 증명서 실효 리스트(CRL)는 수시로 최신의 것으로 갱신해 갈 필요가 있다. 다운로드 서버에서 보유되는 증명서 실효 리스트(CRL)의 갱신에 대해서는, 다운로드 서버(10)가 운용 주체 그 자체이므로, 다운로드 서버(10)에는 항상 최신의 증명서 실효 리스트(CRL)가 보유되어 있는 것은 자명하므로, 여기에서는 설명을 생략한다.
하드디스크 유닛내에 보유되는 증명서 실효 리스트(CRL)의 갱신은, 다운로드 서버(10)로부터의 라이센스의 배신에 의해서 '기입'을 수행할 때에, 하드디스크내에 보유되는 증명서 실효 리스트(CRL)가 최신이 아니라고 판단되면, 라이센스와 함께 최신의 증명서 실효 리스트(CRL)가 송신된다.
하드디스크 유닛은 라이센스와 함께 최신의 증명서 실효 리스트(CRL)를 수신하면, 내부에 보유된 증명서 실효 리스트(CRL)를 수취한 증명서 실효 리스트(CRL)에 의해 재기록한다. 또한, 하드디스크 유닛간의 라이센스의 송수신을 수행할 때도 마찬가지로, 라이센스의 제공원인 하드디스크 유닛으로부터 라이센스의 제공처인 하드디스크 유닛에 대해서 증명서 실효 리스트(CRL)가 출력된다.
따라서, 증명서 실효 리스트(CRL)에는 라이센스의 제공 및 사용 허락이 금지된 기기의 클래스에 대한 증명서 번호 이외에, 증명서 실효 리스트(CRL)의 갱신 일시도 포함되어 있다.
또한, 증명서 실효 리스트(CRL)의 갱신에 있어서, 최신의 증명서 실효 리스트(CRL)를 제공하도록 설명했으나, 갱신 일시에 근거하여 증명서 실효 리스트(CRL)를 최신의 증명서 실효 리스트로 갱신하기 위한 차분 리스트를 제공하고, 수취한하드디스크 유닛에 있어서, 내부에 보유된 증명서 실효 리스트(CRL)에, 수취한 차분 리스트를 추기하는 구성으로 할 수도 있다.
이와 같이, 증명서 실효 리스트(CRL)를 다운로드 서버 뿐만 아니라 하드디스크 유닛내에서도 보유 운용함으로써, 클래스 고유 즉, 재생 회로 및 하드디스크 유닛의 종류에 고유의 복호키가 누설된 재생 회로, 단말 장치 및 하드디스크 유닛으로의 라이센스의 공급을 금지한다. 이에 따라, 재생 회로에서는 라이센스의 사용 허락이 이루어진 콘텐츠의 재생이, 하드디스크 유닛에서는 새로운 라이센스의 제공을 받아서 기억할 수 없게 된다.
이와 같이, 하드디스크 유닛내의 증명서 실효 리스트(CRL)는 라이센스의 제공과 함께, 축차 데이터를 갱신하는 구성으로 한다. 그 결과, 라이센스의 누설 위험성을 회피하여, 저작권 보호를 보다 견고하게 할 수 있다.
도 6은 도 1에 나타낸 다운로드 서버(10)의 구성을 나타내는 개략 블록도이다.
다운로드 서버(10)는 콘텐츠 데이터를 소정 방식에 따라서 암호화한 데이터와 데이터 ID등의 배신 정보를 보유하기 위한 정보 데이터베이스(304)와, 휴대 전화기 등의 단말 장치의 각 사용자마다 콘텐츠 데이터로의 액세스 개시에 따른 과금 정보를 보유하기 위한 과금 데이터베이스(302)와, 증명서 실효 리스트를 관리하는 CRL 데이터베이스(306)와, 정보 데이터베이스(304)에 보유된 콘텐츠 데이터의 메뉴를 보유하는 메뉴 데이터베이스(307)와, 라이센스의 배신마다 생성되며, 라이센스를 특정하는 라이센스 ID등의 배신에 관한 로그를 보유하는 배신 기록 데이터베이스(308)와, 정보 데이터베이스(304), 과금 데이터베이스(302), CRL 데이터베이스(306), 메뉴 데이터베이스(307), 및 배신 기록 데이터베이스(308)로부터의 데이터를 버스(BS1)를 통하여 수취하여, 소정의 처리를 수행하기 위한 데이터 처리부(310)와, 통신망을 통하여 배신 캐리어와 데이터 처리부(310)와의 사이에서 데이터 수수를 행하기 위한 통신 장치(350)를 구비한다.
데이터 처리부(310)는, 버스(BS1)상의 데이터에 응하여 데이터 처리부(310)의 동작을 제어하기 위한 배신 제어부(315)와, 배신 제어부(315)에 의해서 제어되고, 배신 처리시에 세션키(Ks1w)를 발생하기 위한 세션키 발생부(316)와, 하드디스크 유닛으로부터 전송되어진 인증을 위한 인증 데이터 Cxy=KPcxy//1cxy//E(Ka,H(KPcxy//1cxy))를 복호하기 위한 공개 복호키인 인증키(KPa)를 보유하는 인증키 보유부(313)와, 하드디스크 유닛으로부터 전송되어진 인증을 위한 인증 데이터 Cxy를 통신 장치(350) 및 버스(BS1)를 통하여 수신하여, 인증키 보유부(313)로부터의 인증키(KPa)에 의해서 복호 처리를 행하는 복호 처리부(312)와, 세션키 발생부(316)에 의해 생성된 세션키(Ks1w)를 복호 처리부(312)에 의해 얻어진 클래스 공개 암호키(KPcxy)를 이용하여 암호화하여, 버스(BS1)로 출력하기 위한 암호 처리부(318)와, 세션키(Ks1w)에 의해서 암호화된 다음 송신된 데이터를 버스(BS1)로부터 수신하여, 세션키(Ks1w)에 의해 복호 처리를 행하는 복호 처리부(320)를 포함한다.
또한, 데이터 처리부(310)는, 배신 제어부(315)로부터 부여되는 콘텐츠키(Kc) 및 제어 정보(AC)를, 복호 처리부(320)에 의해 얻어진 하드디스크 유닛의 개별 공개 암호키(KPomz)에 의해서 암호화하기 위한 암호 처리부(326)와, 암호 처리부(326)의 출력을, 복호 처리부(320)로부터 부여되는 세션키(Ks2w)에 의해서 다시 암호화하여 버스(BS1)로 출력하기 위한 암호 처리부(328)를 포함한다.
다운로드 서버(10)의 배신 처리에 있어서의 동작에 대해서는, 이후 플로우차트를 사용하여 상세히 설명한다.
도 7은 도 1 및 도 2 에 나타낸 다운로드 서버(10)로의 접속 기능과 재생 회로(1550)를 구비하는 단말 장치(20)의 구성을 설명하기 위한 개략 블록도이다.
단말 장치(20)는, 다운로드 서버(10)와 디지털 통신망을 통하여 접속하여, 데이터의 송수신을 수행하는 송수신부(1104)와, 단말 장치(20)의 각부의 데이터 수수를 행하기 위한 버스(BS2)와, 버스(BS2)를 통하여 단말 장치(20)의 동작을 제어하기 위한 콘트롤러(1106)와, 외부로부터의 지시를 단말 장치(20)에 부여하기 위한 조작 패널(1108)과, 콘트롤러(1106) 등으로부터 출력되는 정보를 사용자에게 시각 정보로서 부여하기 위한 표시 패널(1110)을 포함한다.
또한, 단말 장치(20)는, 다운로드 서버(10)로부터의 콘텐츠 데이터(음악 데이터)를 기억하며, 복호 처리를 행하기 위한 착탈 가능한 하드디스크 유닛(40)과, 하드디스크 유닛(40)과 버스(BS2)간의 데이터의 수수를 제어하기 위한 하드디스크 인터페이스(1200)와, 재생 회로(1550)를 포함한다.
재생 회로(1550)는 증명서 Cp3=KPcp3//1cp3//E(Ka, H(KPcp3//1cp3))를 보유하는 증명서 보유부(1500)를 포함한다. 여기에서, 단말 장치(20)의 클래스 y는 y=3인 것으로 한다.
또한, 재생 회로(1550)는 클래스 고유의 복호키인 Kcp3를 보유하는 Kcp 보유부(1502)와, 버스(BS2)로부터 받은 데이터를 복호키(Kcp3)에 의해 복호하여, 하드디스크 유닛(40)에 의해 발생된 세션키(Ks1w)를 얻는 복호 처리부(1504)를 포함한다.
또한, 재생 회로(1550)는 세션키(Ks2w)를 난수(random number) 등에 의해 발생하는 세션키 발생부(1508)와, 세션키 발생부(1508)에 의해 발생된 세션키(Ks2w)를, 복호 처리부(1504)에 의해 얻어진 하드디스크 유닛(40)에서 생성된 세션키(Ks1w)에 의해서 암호화하여, 버스(BS2)로 출력하는 암호 처리부(1506)를 포함한다.
또한, 재생 회로(1550)는 버스(BS2)상의 데이터를 세션키(Ks2w)에 의해 복호하여, 콘텐츠키(Kc)를 출력하는 복호 처리부(1510)와, 버스(BS2)로부터 암호화 콘텐츠 데이터 E(Kc, Dc)를 받아서, 복호 처리부(1510)로부터의 콘텐츠키(Kc)에 의해서 암호화 콘텐츠 데이터 E(Kc, Dc)를 복호하여 콘텐츠 데이터 Dc를 콘텐츠 디코더(1518)로 출력하는 복호 처리부(1516)를 포함한다.
또한, 재생 회로(1550)는 복호 처리부(1516)로부터의 출력을 받아서 콘텐츠 데이터 Dc로부터 영상을 재생하기 위한 콘텐츠 디코더(1518)와, 콘텐츠 디코더(1518)의 출력을 디지털 신호에서 아나로그 신호로 변환하는 DA 변환기(1519)와, DA 변환기(1519)의 출력을 헤드폰 등의 외부 출력 장치(도시 않음)로 출력하기 위한 단자(1530)를 포함한다.
또한, 하드디스크 인터페이스(1200)는 ATA(AT Attachmemt; 이하, ATA로도 칭함) 규격에 준한 인터페이스인 것으로 한다. 따라서, 버스(BS)는 ATA 버스이다.
단말 장치(20)의 각 구성 부분의 각 처리에 있어서의 동작에 대해서는, 이후 플로우차트를 사용하여 상세히 설명한다.
도 8을 참조하면, 하드디스크 유닛(40)은 하드디스크(1430, 1431)와, 모터(1432)와, 아암(1433A∼1433C)과, 지주(1433)와, 헤드(1435∼1437)와, 단자(1439)와, 제어 유닛(1440)을 포함한다.
하드디스크(1430, 1431)는 데이터를 자기 기억하기 위한 원반형 기억 매체이다. 모터(1432)는 소정의 회전수로 하드디스크(1430, 1431)를 회전한다. 아암(1433A∼1433C)은 지주(1433)에 고정되어 있다. 헤드(1435)는 아암(1433A)의 선단에 고정되어 있으며, 하드디스크(1430)의 한쪽 면에 데이터를 기억 및/또는 판독을 수행한다. 또한, 헤드(1436)는 아암(1433B)의 선단에 고정되어 있으며, 하드디스크(1430)의 다른쪽 면과 하드디스크(1431)의 한쪽 면에 데이터를 기억 및/또는 판독을 수행한다. 또한, 헤드(1437)는 아암(1433C)의 선단에 고정되어 있으며, 하드디스크(1431)의 다른쪽 면에 데이터를 기억 및/또는 판독을 수행한다. 단자(1439)는 단말 장치(20)의 하드디스크 인터페이스(1200)와의 사이에서 데이터를 주고 받기 위한 단자이다.
이미 설명한 바와 같이, 하드디스크 유닛(40)의 클래스 공개 암호키 및 클래스 비밀 복호키로서 KPcmy 및 Kcmy가 각각 설치되고, 하드디스크 유닛의 증명서 Cmy=KPcmy//1cmy//E(Ka, H(KPcmy//1cmy))가 설치되는데, 하드디스크 유닛(40)에 있어서는, 클래스 식별자 y=1로 나타내어지는 것으로 한다. 또한, 하드디스크 유닛을 식별하는 개별 식별자 z는 z=2로 나타나는 것으로 한다.
따라서, 제어 유닛(1440)은 증명서 Cm1=KPcm1//1cm1//E(Ka, H(Kpcm1//1cm1))를 보유하는 증명서 보유부(1400)와, 하드디스크 유닛마다 설정되는 고유의 복호키인 개별 비밀 복호키(Kom2)를 보유하는 Kom 보유부(1402)와, 클래스 비밀 복호키(Kcm1)를 보유하는 Kcm 보유부(1421)와, 개별 비밀 복호키(Kom2)에 의해 복호 가능한 공개 암호키(KPom2)를 보유하는 KPom 보유부(1416)를 포함한다.
이와 같이, 하드디스크 유닛과 같은 기억 장치의 암호키를 설치함으로써, 이하 설명에서 알 수 있는 바와 같이, 배신된 콘텐츠 데이터와 암호화된 콘텐츠키의 관리를 하드디스크 유닛 단위로 실행할 수 있게 된다.
또한, 제어 유닛(1440)은 하드디스크 인터페이스(1200)과의 사이에서 데이터를 단자(1439)를 통하여 수수하는 ATA(AT Attachment)-인터페이스(1438)와, ATA-인터페이스(1438)과의 사이에서 신호를 주고 받는 버스(BS3)와, 라이센스의 '기입'에 있어서, 버스(BS3)에 ATA-인터페이스(1438)로부터 부여되는 클래스 공개 암호키(KPcm1)에 의해 암호화된 라이센스의 제공원인 다른 기기에서 생성된 세션키(Ks1w)를, Kcm 보유부(1421)로부터의 클래스 비밀 복호키(Kcm1)에 의해 복호하여, 다른 기기에서 생성된 세션키(Ks1w)를 암호 처리부(1406)로 출력하는 복호 처리부(1422)와, 라이센스의 '전송' 또는 '사용 허락'에 있어서, 버스(BS3)에 ATA-인터페이스(1438)로부터 부여되는 다른 기기의 증명서를, KPa 보유부(1414)로부터 인증키(KPa)를 수신하여 인증키(KPa)에 의해 다른 기기의 증명서의 정당성을 판단하는 인증 처리를 수행하고, 인증 결과 및 증명서로부터 얻어지는 증명서 번호를콘트롤러(1420)로, 증명서로부터 얻어진 다른 기기의 클래스 공개 암호키를 암호 처리부(1410)으로 출력하는 인증 처리부(1408)와, '기입' 에 있어서, 복호 처리부(1422)로부터 제공되는 세션키(Ks1w)에 의해서, 더욱이 '전송' 또는 '사용 허락' 에 있어서 복호 처리부(1412)로부터 제공되는 세션키(Ks2w)에 의해서 데이터를 암호화하여 버스(BS3)로 출력하는 암호 처리부(1406)를 포함한다.
또한, 제어 유닛(1440)은 라이센스의 '기입'에 있어서 세션키(Ks2w)를,'전송' 및 '사용 허락'에 있어서 세션키(Ks1w)를 발생하는 세션키 발생부(1418)와, 세션키 발생부(1418)가 출력한 세션키(Ks1w)를 인증 처리부(1408)에 의해 얻어지는 클래스 공개 암호키(KPcpz, 또는 KPcmz)에 의해 암호화하여, 버스(BS3)로 송출하는 암호 처리부(1410)와, 버스(BS3)로부터 세션키 발생부(1418)에 의해 발생된 세션키(Ks1w 또는 Ks2w)에 의해 암호화된 데이터를 받아서, 세션키 발생부(1418)로부터 얻은 세션키(Ks1w 또는 Ks2w)에 의해 복호하는 복호 처리부(1412)를 포함한다.
복호 처리부(1412)는 라이센스의 '기입'에서는 개별 공개 암호키(KPom2)에 의해 암호화되고, 더욱이 세션키(Ks2w)에 의해 암호화된 라이센스(LIC)를 수취하여, 세션키(Ks2w)에 의해 복호하여서, 개별 공개 암호키(KPom2)에 의해 암호화된 라이센스(LIC)를 얻는다. 라이센스의 '전송'에서는, 세션키(Ks1w)에 의해 암호화된 라이센스의 제공처인 다른 하드디스크 유닛에서 발생된 세션키(Ks2w)와, 다른 하드디스크 유닛의 개별 공개 암호키(KPomz; z≠2)를 수취하고, 세션키(Ks1w)에 의해 복호하여, 다른 하드디스크 유닛의 개별 공개 암호키(KPomz; z≠2)와, 다른 하드디스크 유닛에서 발생된 세션키(Ks2w)를 얻는다.
또한, 라이센스의 '사용 허락'에서는 세션키(Ks1w)에 의해서 암호화된 콘텐츠키(Kc)의 제공처인 재생 회로에서 발생한 세션키(Ks2w)를 수취하고, 세션키(Ks1w)에 의해 복호하여, 재생 회로에서 생성된 세션키(Ks1w)를 얻는다.
또한, 제어 유닛(1440)은 하드디스크(1430, 1431)에 기억된 라이센스(LIC)의 기밀성을 확보하기 위해, 라이센스(LIC)를 기억 매체인 하드디스크(1430, 1431)에 기억하는 경우에 암호화하기 위한 하드디스크 유닛에 고유한 공통키인 개별 기록키(Krz; z=2)를 보유하는 Kr 보유부(1429)와, 라이센스(LIC)를 하드디스크 (1430, 1431)에 기억할 때, 즉 라이센스의 '기입'에 있어서, Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 기억하는 라이센스(LIC)를 암호화하여, 버스(BS3)를 통하여 기억 판독 처리부(1424)로 출력하는 암호 처리부(1427)와, 하드디스크 (1430, 1431)에 기억되어 있는, 개별 기록키(Kr2)에 의해 암호화되어 있는 라이센스(LIC)를 판독할 때, 즉 라이센스의 '전송' 또는 '사용 허락'에 있어서 기억 판독 처리부(1424)로부터 수취한 개별 기록키(Kr2)에 의해 암호화되어 있는 라이센스(LIC)를, Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 복호하여, 버스(BS3)로 출력하는 복호 처리부(1428)와, 라이센스의 '전송'에 있어서, 하드디스크(1430, 1431)로부터 판독되고, 복호 처리부(1428)에 의해 복호된 라이센스(LIC)를, 복호 처리부(1412)에서 복호된 다른 하드디스크 유닛의 개별 공개 암호키(KPomz; z≠2)로 암호화하는 암호 처리부(1417)를 포함한다.
또한, 제어 유닛(1440)은 버스(BS3)상의 데이터를 개별 공개 암호키(KPom2)와 쌍을 이루는 하드디스크 유닛(40)의 개별 비밀 복호키(Kom2)에 의해 복호하기 위한 복호 처리부(1404)와, 라이센스의 '기입'에 있어서, 라이센스의 제공원인 다운로드 서버(10) 또는 다른 하드디스크 유닛으로부터 수취하여, 복호 처리부 (1404)에 의해 복호된 라이센스(LIC), 또는 '전송' 및 '사용 허락'에 있어서, 하드디스크(1430, 1431)로부터 판독되어, 복호 처리부(1428)에 의해 복호된 라이센스 (LIC)를, 일시적으로 보유하는 라이센스 레지스터(1423)와, 데이터를 아암(1433A∼1433C)에 고정된 헤드(1435∼1437)를 통하여 하드디스크(1430, 1431)에 기억 및/또는 판독을 수행하는 기억 판독 처리부(1424)와, 아암(1433A∼1433C)을 하드디스크(1430, 1431)의 지름 방향으로 시크하는 시크 제어부(1425)와, 모터 (1432)를 소정의 회전수로 회전하도록 제어하는 서보 제어부(1426)를 포함한다.
또한, 제어 유닛(1440)은 버스(BS3)를 통하여 외부와의 사이에서 데이터 수수를 행하여, 버스(BS3)와의 사이에서 제어 정보(AC)를 받아서 하드디스크 유닛(40)의 동작을 제어하기 위한 콘트롤러(1420)를 포함한다.
하드디스크 유닛(40)은 2매의 하드디스크(1430, 1431)를 포함하는데, 하드디스크(1430, 1431)에 데이터를 기억 및/또는 판독을 수행할 때, 하드디스크(1430)에 데이터를 기억 및/또는 판독을 수행한 후에 하드디스크(1431)에 데이터를 기억 및/또는 판독을 수행하도록 1매씩 데이터가 기억 및/또는 판독이 수행되는 것이 아니라, 복수의 헤드(1435∼1437)가 동시에 같은 위치로 이동하여, 그 이동한 위치에 동시에 데이터를 기억 및/또는 판독을 수행한다. 따라서, 2매의 하드디스크(1430, 1431) 전체로서 하나의 데이터 기억 영역을 구성한다.
도 9는 하드디스크(1430, 1431)의 전체로 구성되는 데이터 기억 영역에서의논리 어드레스의 일예를 나타낸 것이다. 하드디스크상의 기록 위치는 LBA(Logical Block Address)라 불리는 논리 어드레스에 의해 지정된다. 도 9를 참조하면, 데이터 기억 영역(2000)은 사용자 영역(2100)과, 비사용자 영역(2200)을 포함한다. 사용자 영역(2100)은 통상 데이터 기억 영역(2110)과, 보호 데이터 기억 영역(2120)으로 이루어진다. 비사용자 영역(2200)은 관리 데이터 기억 영역(2210)으로 이루어진다.
통상 데이터 기억 영역(2110)은 ATA 커맨드의 표준 커맨드인 라이트/리드 커맨드(WRITE DMA/WRITE PIO/READ DMA/READ PIO)에 의해, 직접 데이터의 기억 및/또는 판독을 수행할 수 있는 영역이며, LBA라 불리는 논리 어드레스에 의해 지정되는 기억 블록에 기억 및/또는 판독을 수행한다.
보호 데이터 기억 영역(2120)은 라이센스(LIC)를 기록하는 영역으로서, ATA 커맨드의 표준 커맨드인 라이트/리드 커맨드에 따라서, 직접 데이터의 기억 및 판독을 행할 수는 없지만, 라이센스의 '기입', '전송', '사용 허락'을 수행하는 소정의 순서에 따라서, 미리 허가된 기기와의 사이에서 기밀 커낵션을 형성한 후, 라이센스의 기억 및/또는 판독을 행할 수 있다.
또한, 기억 위치의 지정시에는 통상 데이터 기억 영역(2110)과 마찬가지로, LBA에 의해 이루어진다. 또한, 보호 데이터 기억 영역(2120)에 기억되어 있는 데이터는, 하드디스크 유닛(40)이 개봉되어 하드디스크(1430, 1431)가 꺼내어져도, 기억된 데이터를 참조할 수 없도록 개별 기록키(Kr2)에 의해 암호화되어 기억됨으로써, 기억 매체상에서의 기밀성을 확보한다.
또한, 사용자 영역(2100)으로의 데이터의 기억 및/또는 판독에 있어서, 콘트롤러(1420)는 ATA-인터페이스(1438)를 통하여 수취한 물리 어드레스와 논리 어드레스는, 반드시 일치하는 것은 아니지만, 반드시 하나의 LBA에 대해서 하나의 물리 어드레스가 존재한다.
사용자 영역(2100)으로서, 논리 어드레스 LBA=0∼maxLBA(maxLBA는, 0<maxLBA인 자연수)에 대응한 maxLBA+1개의 기억 블록이 할당되어 있다. 그리고, 사용자 영역(2100)의 선두(LBA=0)로부터 LBA=sLBA(sLBA는, 0<sLBA≤maxLBA를 만족하는 자연수)까지의 sLBA+1개의 블록이, 통상 데이터 기억 영역(2110)이며, 하나의 기억 블록에 512 바이트의 데이터가 기억 될 수 있다. 나머지의 사용자 영역 (2100)인 LBA=sLBA+1로부터 마지막(LBA=maxLBA)까지의 maxLBA-sLBA개의 기억 블록이 보호 데이터 기억 영역(2120)이며, 각 기억 블록은 라이센스를 기억한다.
또한, 사용자 영역(2100)의 최종 LBA를 나타내는 maxLBA는 하드디스크 유닛(40)에 의해, 사용자가 지정 가능한 LBA의 최대값을 나타내는 것이며, 하드디스크(40) 마다 이미 정해진 값인, 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역(2120)의 경계를 나타내는 sLBA는, 하드디스크 유닛(40)의 초기화 처리에서 지정함으로써, 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역(2120)의 구성비를 지정할 수 있는 구성으로 되어 있다.
하드디스크 유닛(40)의 사용 목적에 따라서, 예를 들면 기억하는 콘텐츠의 종류에 따라서, 음악 등의 비교적 소용량의 콘텐츠 데이터를 주로 기록하는 경우에는, 보호 데이터 기억 영역(2120)으로 저장할 수 있는 라이센스의 수를 증가하고, 암호화 콘텐츠 데이터를 기록하는 통상 데이터 기억 영역(2110)의 데이터 기억 용량을 감소한다. 영상등의 대용량의 콘텐츠를 주로 기록하는 경우에는, 보호 데이터 기억 영역(2120)으로 저장할 수 있는 라이센스의 수를 감소하고, 암호화 콘텐츠 데이터를 기록하는 통상 데이터 기억 영역(2110)의 데이터 기억 용량을 증가할 수 있도록 되어 있다.
관리 데이터 기억 영역(2210)으로서, 통상 데이터 기억 영역(2110) 이외가 할당되어 있다. 이는, 하드디스크 유닛(40)내에서 독자적으로 사용되는 관리 데이터가 기억되는 영역이므로, 관리 어드레스는 할당되지 않는다. 관리 데이터 기억 영역(2210)에는, 하드디스크 유닛내의 관리 및 제어 정보(사용자 영역(2100)에 할당된 물리 어드레스와 논리 어드레스(LBA)의 변환표 또는 에러 로그), 보호 데이터 기억 영역(2120)에 대한 처리에 관한 정보(관리 테이블, 증명서 실효 리스트(CRL) 등), 단말 장치(20)에 대해서 제공하는 하드디스크 유닛의 이용에 관한 유닛 정보(maxLBA, sLBA, sLBA의 설정 가능 범위 등), 더욱이 콘트롤러(1420)의 프로그램의 일부 등이 기록되어 있다. 관리 데이터 기억 영역(2210)에 기억되는 데이터는, 콘트롤러(1420)가 하드디스크 유닛(40)내를 관리하기 위해 확보된 기억 블록이며, ATA-인터페이스(1438)를 통하여 데이터의 기억 및/또는 판독을 수행할 수 없다. 즉, 사용자가 직접 논리 어드레스(LBA)에 의해서는 지정할 수가 없다.
또한, 도 9에 있어서는, 통상 데이터 기억 영역(2110)에 이어서 보호 데이터 기억 영역(2120)에 대해서 LBA 를 할당하도록 설명했으나, 보호 데이터 기억영역(2120)에 대해서, 임의의 LBA를 할당하도록 구성하여도 된다.
예를 들면, 통상 데이터 기억 영역, 보호 데이터 기억 영역, 통상 데이터 기억 영역과 같이 하여도 무관하다. 이 경우, 보호 데이터 기억 영역의 개시 LBA와 종료 LBA를 지시하도록 하면 된다.
도 10은 하드디스크 유닛에서의 콘텐츠 기억 방법을 설명하기 위한 도면이다. 도 10을 참조하면, 보호 데이터 기억 영역(2120)은 maxLBA-sLBA개의, 각각 하나의 라이센스를 기억하기 위한 기억 블록에 의해 구성된다. 하나의 기억 블록에는 라이센스(LIC)를 구성하는 라이센스 ID, 콘텐츠 ID, 콘텐츠키(kc) 및 제어 정보(AC)를 기억할 수 있다. 또한, 관리 데이터 기억 영역(2210)에는 보호 데이터 기억 영역(2120)의 각 기억 블록에 기억된 라이센스의 유효성을 나타내는 유효 플래그를 저장하는 관리 테이블(170)이 기억되어 있다. 관리 테이블(170)은 보호 데이터 기억 영역(2120)에 할당된 모든 논리 어드레스(LBA)에 대응한 maxLBA-sLBA개의 유효 플래그를 저장하고, 유효 플래그는 해당하는 논리 어드레스(LBA)에 라이센스의 '기입' 또는 '전송'에 의해 기록된 라이센스의 기억 상태가 변화할 때마다 콘트롤러(1420)에 의해 재기록된다. 유효 플래그는 라이센스의 '전송'에 있어서, 라이센스의 이동이 선택된 경우에, 해당 LBA에 기록되어 있는 라이센스의 출력을 금지하기 위한 제어 정보이며, 라이센스의 이동에 있어서 이동원의 라이센스를 완전히 소거하기 위해 이용된다.
콘텐츠 파일(1611)에 대해서 보면, 암호화 콘텐츠 데이터 E(Kc, Dc)는 콘텐츠 파일(1611)에 저장되어 있다. 라이센스는, 콘텐츠 파일(1611)에 대응한 라이센스 관리 파일(1621)을 참조함으로써, 라이센스의 저장 위치 sLBA+2에 기억되어 있음을 알 수 있다. 그리고, 보호 데이터 기억 영역(2120)의 LBA=sLBA+2에 대응하는 관리 테이블(170)내의 유효 플래그를 확인하면, '유효'로 되어 있으며, 라이센스가 확실히 기억되어 있다. 따라서, LBA=sLBA+2에 저장되는 라이센스로의 '사용 허락'에 따라 콘텐츠키(Kc)를 재생 회로(1550)에 부여하고, 콘텐츠 파일(1611)을 ATA 표준 커맨드에 의해서만 판독하여, 재생 회로(1550)에 부여하면, 콘텐츠를 재생하여 즐길 수 있다.
또한, 파선으로 나타낸 콘텐츠 파일(1613)은 통상 데이터 기억 영역(2110)에는 기억되어 있지 않은 것을 나타낸다. 한편, 콘텐츠 파일(1613)에 대응하는 라이센스 관리 파일(1623)은 실선으로 나타내어지고, 통상 데이터 기억 영역(2110)에 기억되어 있다. 그리고, 라이센스 관리 파일(1623)내에는 라이센스의 저장 위치 sLBA+3가 저장되어 있다. 따라서, 단말 장치(20)의 콘트롤러(1106)는 라이센스만이 존재하는 것으로 판단한다. 또한, 보호 데이터 기억 영역(2120)의 LBA=sLBA+3을 살펴보면, 관리 테이블(170)내의 대응하는 유효 플래그가 '유효'로 되어 있으며, 하드디스크 유닛(40)에 라이센스만이 기억되어 있다. 이 같은 경우, 하드디스크 유닛(40)의 사용자는 암호화 콘텐츠 데이터 E(Kc, Dc)를 입수하면, 다시 콘텐츠를 즐길 수 있다. 하드디스크 유닛(40)에서의 통상 데이터 기억 영역(2110)의 기억 용량의 부족에 따라서, 다른 기억 매체에 암호화 콘텐츠 데이터 E(Kc, Dc)를 대피시킨 경우 등에 이와 같은 상태가 발생한다.
반대로, 라이센스 관리 파일(1622)에는, '라이센스 없음'이 저장되어 있다.즉, 대응하는 라이센스(LIC)가 하드디스크 유닛(40)에 기억되어 있지 않은 상태이며, 라이센스의 '전송'에 있어서, 라이센스의 이동이 선택된 경우, 또는 라이센스와는 다른 유통 경로에 따라, 사전에 콘텐츠 파일에 저장할 암호화 콘텐츠 데이터 E(Kc, Dc)와 부가 정보(Di)를 취득한 경우에, 이와 같은 상태가 발생한다.
이하, 도 1∼도 3에서의 각 처리의 동작에 대해 설명한다.
〔전체 처리〕
도 11은 단말 장치(20)에서의 하드디스크 유닛(40)에 관련한 처리의 흐름을 설명하기 위한 플로우차트이다.
동작이 개시되면, 단말 장치(20)의 콘트롤러(1106)는 하드디스크 유닛(40)이 장착되었는지의 여부를 판정하고(단계 S1), 하드디스크 유닛(40)이 장착되지 않았을 때, 하드디스크 유닛(40)이 장착될 때까지 단계 S1이 반복된다. 단계 S1에서 하드디스크 유닛(40)이 장착되었다고 판정되었을 때, 콘트롤러(1106)는 유닛 정보의 출력 요구를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력한다(단계 S2).
하드디스크 유닛(40)의 콘트롤러(1420)는, 단자(1439), ATA-인터페이스 (1438) 및 버스(BS3)를 통하여 유닛 정보의 출력 요구를 수리하고(단계 S3), 콘트롤러(1420)는, 유닛 정보를 하드디스크(1430, 1431)의 관리 데이터 기억 영역 (2210)으로부터 판독하도록 기억 판독 처리부(1424), 시크 제어부(1425) 및 서보 제어부(1426)를 제어한다. 그러면, 서보 제어부(1426)는 소정의 회전수로 회전하도록 모터(1432)를 제어하고, 모터(1432)는 하드디스크(1430, 1431)를 소정의 회전수로 회전한다. 또한, 시크 제어부(1425)는 아암(1433A∼1433C)을 하드디스크(1430, 1431)의 관리 데이터 기억 영역(2210)으로 시크시키고, 기억 판독 처리부(1424)는 관리 데이터 기억 영역(2210)으로부터 유닛 정보를 판독하고, 그 판독한 유닛 정보를 버스(BS3)로 출력한다. 콘트롤러(1420)는 버스(BS3)상의 유닛 정보를 ATA-인터페이스(1438) 및 단자(1439)를 통하여 하드디스크 인터페이스(1200)로 출력한다(단계 S4).
단말 장치(20)의 콘트롤러(1106)는, 하드디스크 인터페이스(1200) 및 버스 (BS2)를 통하여 하드디스크 유닛(40)의 유닛 정보를 수리한다(단계 S5). 유닛 정보에는 하드디스크 유닛(40)이 보호 기능을 구비하고 있는지의 여부, 보호 기능을 구비하고 있는 경우에는, 통상 데이터 기억 영역(2110) 및 보호 데이터 기억 영역(2120)을 지정하는 어드레스 공간, 또는 그 경계의 가동 범위를 이용하는 암호 방식등, 하드디스크 유닛(40)을 이용하는데 필요한 정보가 포함된다.
그 후, 콘트롤러(1106)는 조작 패널(1108)을 통하여 하드디스크 유닛(40)의 착탈이 지시되었는지의 여부를 판정하여(단계 S6), 하드디스크 유닛(40)의 착탈이 지시되었을 때, 단계 S1∼단계 S6이 반복된다. 단계 S6에 있어서, 하드디스크 유닛(40)의 착탈이 지시되지 않았을 때, 콘트롤러(1106)는 조작 패널(1108)을 통하여, 초기화 처리, 보호 데이터 기입 처리, 보호 데이터의 이동/복제 처리, 보호 데이터의 사용 허락 처리, 및 통상 데이터 기입 처리등의 처리가 지시되었는지의 여부를 판정하여(단계 S7), 처리가 아무것도 지시되지 않았을 때, 단계 S6으로 돌아간다.
단계 S7에 있어서, 아무런 처리도 지시되지 않았다고 판정되었을 때, 컨트롤러(1106)는 초기화 처리를 수행할지의 여부를 판정하여(단계 S8), 초기화 처리를 수행할 때, 하드디스크 유닛(40)의 초기화 처리를 하드디스크 유닛(40)에 지시한다(단계 S20). 그리고, 하드디스크 유닛(40)의 초기화 처리가 종료하면, 단계 S6으로 돌아간다. 또한, 초기화 처리의 상세에 대해서는 후술한다. 단계 S8에 있어서, 초기화 처리를 수행하지 않을 때, 컨트롤러(1106)는 보호 데이터 기입 처리를 행할지의 여부를 판정하여(단계 S9), 보호 데이터 기입 처리를 행할 때, 하드디스크 유닛(40)으로의 보호 데이터 기입 처리를 수행한다(단계 S30). 그리고, 하드디스크 유닛(40)으로의 보호 데이터 기입 처리가 종료되면, 단계 S6으로 돌아간다. 또한, 보호 데이터 기입 처리의 상세에 대해서는 후술한다.
단계 S9에 있어서, 보호 데이터 기입 처리를 수행하지 않는다고 판정되었을 때, 컨트롤러(1106)는 보호 데이터의 이동/복제 처리를 수행하는지의 여부를 판정하여(단계 S10), 보호 데이터의 이동/복제 처리를 행할 때 하드디스크 유닛(40)으로부터 다른 하드디스크 유닛으로의 보호 데이터의 이동/복제 처리를 수행한다 (단계 S40). 그리고, 보호 데이터의 이동/복제 처리가 종료되면, 단계 S6로 돌아간다. 또한, 보호 데이터의 이동/복제 처리의 상세에 대해서는 후술한다.
단계 S10에 있어서, 보호 데이터의 이동/복제 처리를 수행하지 않는다고 판정되었을 때, 컨트롤러(1106)는 보호 데이터의 사용 허락 처리를 수행하는지의 여부를 판정하여(단계 S11), 보호 데이터의 사용 허락 처리를 수행할 때 하드디스크 유닛(40)에 기억된 라이센스의 사용 허락을 수행한다(단계 S50). 그리고, 라이센스의 사용 허락 처리가 종료되면, 단계 S6으로 돌아간다. 또한, 사용 허락 처리의 상세에 대해서는 후술한다.
단계 S11에 있어서, 보호 데이터의 사용 허락 처리를 수행하지 않는다고 판정되었을 때, 컨트롤러(1106)는 통상 데이터 기입 처리를 행할지의 여부를 판정하여(단계 S12), 통상 데이터 기입 처리를 수행할 때 하드디스크 유닛(40)으로 통상 데이터의 기입 처리를 수행한다(단계 S60). 그리고, 통상 데이터의 기입 처리가 종료되면, 단계 S6로 돌아간다. 또한, 통상 데이터의 기입 처리의 상세에 대해서는 후술한다.
단계 S12에 있어서, 통상 데이터의 기입 처리를 수행하지 않는다고 판정되었을 때, 컨트롤러(1106)는 하드디스크 유닛(40)으로부터 통상 데이터의 판독 처리를 수행한다(단계 S70). 그리고, 통상 데이터의 판독 처리가 종료되면, 단계 S6으로 돌아간다. 또한, 통상 데이터의 판독 처리의 상세에 대해서는 후술한다. 아울러, 보호 데이터에 대한 처리는, 보호 데이터 기억 영역(2120)에 기억되는, 또는 기억된 라이센스(LIC)에 대한 처리이다. 또한, 통상 데이터에 대한 처리는 통상 데이터 기억 영역(2110)에 기억되는, 또는 기억된 데이터에 대한 처리이며, 구체적으로는, 통상 데이터 기억 영역(2110)에 기억되는 콘텐츠 리스트 파일, 콘텐츠 파일 및 라이센스 관리 파일등에 대한 처리이다.
〔초기화 처리〕
도 11에 나타낸 플로우차트의 초기화 처리(단계 S20)의 상세에 대해서 설명한다. 도 12는 도 11에 나타낸 플로우차트의 초기화 처리를 상세히 설명하기 위한플로우차트이다.
도 12를 참조하여 하드디스크 유닛(40)의 초기화 처리에 대해 설명한다. 초기화 처리 동작이 개시되면, 단말 장치(20)의 컨트롤러(1106)는 유닛 정보로서 취득한 sLBA의 설정 범위내에서, 미리 정해진 계산식에 근거하여 변경치를 결정하고, 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역(2120)의 경계의 변경 요구와 변경치를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력한다(단계 S21). 또한, sLBA의 설정 범위는 0∼maxLBA로 한다.
그러면, 하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여, 경계의 변경 요구와 변경치를 수리하고(단계 S22), 그 수리한 변경치가 유닛 정보에 포함되는 sLBA의 설정 범위내, 즉 0∼maxLBA의 범위내에 있는지의 여부를 판정한다(단계 S23). 단계 S23에 있어서, 변경치가 어드레스 0∼maxLBA의 범위내에 있다고 판정되었을 때, 컨트롤러(1420)는 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역(2120)과의 경계인 sLBA를 수리한 변경치로 변경한다(단계 S24). 보다 상세하게는, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역(2210)에 기억된 유닛 정보를 덧쓰기하기 위해서, 헤드(1435∼1437)가 유닛 정보가 기록되는 기억 블록상에 이동되도록 시크 제어부(1425)에 지시하고, 기억된 유닛 정보에 포함되는 sLBA의 값을 변화치로 변경하여 재기록하는데 필요한 기억 블록 상당의 데이터를 기억 판독 처리부 (1424)에 부여하여, 데이터의 기억을 지시한다. 기억 판독 처리부(1424)는 아암 (1433A∼1433C) 및 헤드(1435∼1437)를 통하여 관리 데이터 기억 영역(2210)에 기억된 유닛 정보에 포함되는 sLBA의 값을 변경치로 변경하여 재기록한다. 그리고, 초기화 처리가 정상적으로 종료된다(단계 S25).
한편, 단계 S23에 있어서, 변경치가 어드레스 0∼maxLBA의 범위를 넘는다고 판정되었을 때, 컨트롤러(1420)는 에러 통지를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 하드디스크 인터페이스(1200)로 출력하고(단계 S26), 단말 장치(20)의 컨트롤러(1106)는 하드디스크 인터페이스(1200) 및 버스(BS2)를 통하여 에러 통지를 수리하여(단계 S27), 초기화 처리가 에러 종료된다(단계 S28).
보호 데이터 기억 영역(2120)은 사용자 영역(2100)의 범위내에서 변경 가능하므로, 단계 S23에 있어서, 단말 장치(20)로부터 입력된 어드레스 sLBA의 변경치가, 변경 가능한 어드레스 0∼maxLBA의 범위내에 있는지의 여부를 판정하여, 범위내에 있는 경우, 어드레스 sLBA의 설정을 변경하여, 변경치가 변경 가능한 범위를 넘을 경우, 에러 통지를 출력하여 초기화 처리를 종료하도록 한 것이다.
이와 같이, 본 발명에 있어서는, 하드디스크(1430, 1431)의 사용자 영역 (2100) 가운데, 라이센스와 같이 비밀성을 유지할 필요가 있는 기밀 데이터를 기억하는 보호 데이터 기억 영역(2120)의 기억 영역을 변경 가능하도록 한 것을 특징으로 한다.
도 12에 나타낸 플로우차트에 있어서는, 통상 데이터 기억 영역(2110)의 최종 논리 어드레스 sLBA의 값을 변경함으로써, 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역(2120)의 경계를 변경했으나, 본 발명에 있어서는 이에 한정되지 않고, 보호 데이터 기억 영역(2120)의 선두 논리 어드레스의 변경을 지시함으로써보호 데이터 기억 영역(2120)의 변경을 실현할 수 있다. 또한, 보호 데이터 기억 영역(2120)에 기억 가능한 라이센스의 수, 즉 보호 데이터 기억 영역(2120)의 기억 블록 수를 지정함으로써 보호 데이터 기억 영역(2120)의 변경을 실현할 수 있고, 마찬가지로 통상 데이터 기억 영역(2110)의 기억 블록 수를 지정함으로써 통상 데이터 기억 영역(2110)의 변경을 실현할 수 있다.
어떠한 지정 방법인 경우에도, 하드디스크 유닛(40)은 하드디스크 유닛 (40)의 하드디스크 유닛(1430, 1431)에 있어서 사용자가 사용 가능한 사용자 영역 (2100)의 기억 블록을, 이용 목적에 적합한 배분에 따라 통상 데이터 기억 영역 (2110)과, 보호 데이터 기억 영역(2120)으로 할당하기 위해, 외부로부터 지정할 수 있는 기능을 구비하면 된다.
또한, 하드디스크 유닛(40)은 통상 데이터 기억 영역(2110)과, 보호 데이터 기억 영역(2120)으로의 기억 블록의 할당 상태를, 유닛 정보로서 외부로 출력할 수 있도록 되어 있으면 된다. 단말 장치(20)는 하드디스크 유닛(40)으로부터 유닛 정보를 취득함으로써, 통상 데이터 기억 영역(2110)과 보호 데이터 기억 영역 (2120)에 할당된 논리 어드레스 LBA를 알 수 있다. 또한, 통상 데이터 기억 영역(2110) 및 보호 데이터 기억 영역(2120)에 할당하는 파라메터의 설치 범위를 유닛 정보로서 외부로 출력할 수 있도록 되어 있으면 된다.
〔배신 처리〕
도 11에 나타낸 보호 데이터 기입 처리(단계 S30)의 상세에 대해 설명한다. 보호 데이터 기입 처리는 앞서 설명한 바와 같이, 라이센스의 '기입'이다. 따라서, 도 1에 나타낸 하드디스크 유닛(40)을 장착한 단말 장치(20)에 대해서, 다운로드 서버(10)로부터 라이센스를 배신하는 배신 처리에 대해 설명한다. 도 13 및 도 14는, 도 1에 나타낸 다운로드 서버(10)로부터 라이센스를 배신하는 동작을 설명하기 위한 제1 및 제2 플로우차트이다. 하드디스크 유닛(40)과 단말 장치(20)과의 사이에서는 보호 데이터의 기입 처리(단계 S30)를 수행한다.
도 13에서의 처리 이전에, 단말 장치(20)의 사용자는, 다운로드 서버(10)에 대해서 전화망을 통하여 접속하고, 다운로드를 희망하는 콘텐츠에 대한 데이터 ID를 취득하고, 다운로드 서버(10)에 대해서 배신 요구를 행했을 것, 또한 하드디스크 유닛(40)의 보호 데이터 기억 영역(2120)의 기억 상황을 파악하여, 보호 데이터 기억 영역(2120)의 빈 용량을 확인하여, 새로이 라이센스를 기록하는 논리 어드레스 LBA를 결정할 것을 전제로 한다. 또한, 이 같은 플로우차트에 따른 하드디스크 유닛(40)으로의 데이터의 입출력 및 지시는, 확장 ATA 커맨드를 이용하여 이루어진다.
도 13을 참조하면, 단말 장치(20)의 사용자로부터 조작 패널(1108)을 통하여 라이센스의 수신 처리가 지시된다.
라이센스의 수신 처리가 지시되면, 컨트롤러(1106)는 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 증명서의 출력 요구를 출력한다(단계 S100). 하드디스크 유닛(40)의 컨트롤러(1420)는, 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 증명서의 출력 요구를 수리한다(단계 S101). 그리고, 컨트롤러(1420)는 버스(BS3)를 통하여 증명서 보유부(1400)로부터증명서 Cm1을 판독하고, 증명서 Cm1을 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 출력한다(단계 S102).
단말 장치(20)의 컨트롤러(1106)는 하드디스크 유닛(40)으로부터의 증명서
Cm1을 하드디스크 인터페이스(1200) 및 버스(BS2)를 통하여 수리하고(단계 S103), 그 수리한 증명서 Cm1을 다운로드 서버(10)에 대해서 송신하고(단계 S104), 다운로드 서버(10)는 단말 장치(20)로부터 증명서 Cm1을 수리한다(단계 S105). 그리고, 복호 처리부(312)는 하드디스크 유닛(40)으로부터 출력된 증명서 Cm1=KPcm1//1cm1//E(Ka, H(KPcm1//cm1))의 서명 데이터 E(Ka, H(KPcm1//1cm1)을 인증키 보유부(313)로부터의 인증키(KPa)로 복호하고, 그 복호된 데이터인 해쉬값 H( KPcm1//1cm1)을 배신 제어부(315)로 출력한다. 배신 제어부(315)는 증명서 Cm1의 KPcm1//cm1에 대한 해쉬값을 연산하여, 그 연산한 해쉬값이 복호 처리부(312)로부터 받은 해쉬값 H(KPcm1//1cm1)에 일치하는지의 여부를 확인한다. 즉, 다운로드 서버(10)는 복호 처리부(312)가 증명서 Cm1의 서명 데이터 E(Ka, H(KPcm1//1cm1))을 인증키(KPa)로 복호할 수 있을 것, 및 배신 제어부(315)가 송신원인 하드디스크 유닛(40)으로부터 수신한 해쉬값과 스스로 연산한 해쉬값이 일치하는 것을 확인함으로써 증명서 Cm1을 검증한다(단계 S106).
배신 제어부(315)는 복호 처리부(312)에서의 복호 처리 결과로부터, 정규 기관에서 그 정당성을 증명하기 위한 암호화를 실시한 증명서를 수신했는지의 여부를 판단하는 인증 처리를 수행한다. 정당한 증명서인 것으로 판단한 경우, 배신 제어부(315)는 다음 처리(단계 S107)로 이행한다. 정당한 증명서가 아닌 경우에는, 비승인으로 하여 에러 통지를 단말 장치(20)로 출력하고(단계 S156), 단말 장치(20)는 에러 통지를 수리하여(단계 S157), 기입 거부에 의해 배신 동작이 종료된다(단계 S158).
인증 결과, 정당한 증명서를 가지는 하드디스크 유닛을 장착한 단말 장치로부터의 액세스인 것이 확인되면, 다운로드 서버(10)에 있어서. 배신 제어부(315)는 CRL 데이터베이스(306)로부터 증명서 실효 리스트(CRL)을 취득하고(단계 S107), 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다(단계 S108). 구체적으로는, 배신 제어부(315)는 증명서 Cm1의 증명서 번호가 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다. 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함될 때, 에러 통지를 단말 장치로 출력하고, 상술한 바와 같이, 기입 거부에 의해 배신 동작이 종료된다(단계 S156∼S158).
단계 S108에 있어서, 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함되지 않는다고 판정되었을 때, 배신 제어부(315)는 하드디스크 유닛(40)으로부터의 클래스 공개 암호키 KPcm1를 수리하여(단계 S109), 배신 요구가 있었던 라이센스를 식별하기 위한 라이센스 ID를 생성한다(단계 S110).
그 후, 배신 제어부(315)는 제어 정보(AC)를 생성하고(단계 S111), 세션키 발생부(316)는 배신을 위한 세션키 Ks1a를 생성한다(단계 S112). 세션키 Ks1a는 복호 처리부(312)에 의해 얻어진 하드디스크 유닛(40)에 대응하는 클래스 공개 암호키 KPcm1에 의해서, 암호 처리부(318)를 통하여 암호화된다(단계 S113).
배신 제어부(315)는 라이센스 ID 및 암호화된 세션키 Ks1a를 라이센스ID//E(KPcm1, Ks1a)로서, 버스(BS1) 및 통신 장치(350)를 통하여 단말 장치(20)로 송신한다(단계 S114).
단말 장치(20)가 라이센스 ID//E(KPcm1, Ks1a)를 수신하면(단계 S115), 컨트롤러(1106)는 라이센스 ID//E(KPcm1, Ks1a)를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력하고(단계 S116), 하드디스크 유닛(40)의 컨트롤러(1420)는, 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여, 라이센스 ID//E(KPcm1, Ks1a)를 수리한다(단계 S117). 그리고, 컨트롤러 (1420)는 버스(BS3)를 통하여 암호화 데이터 E(KPcm1, Ks1a)를 복호 처리부(1422)로 부여하고, 복호 처리부(1422)는 Kcm 보유부(1421)에 보유되는 하드디스크 유닛 (40)에 고유한 클래스 비밀 복호키(Kcm1)에 의해 복호 처리를 행함으로써, 세션키 Ks1a를 복호하여, 세션키 Ks1a를 수리한다(단계 S118).
그러면, 다운로드 서버(10)의 배신 제어부(315)는 세션키의 출력 요구를 버스(BS1) 및 통신 장치(350)를 통하여 단말 장치(20)로 송신하고, 단말 장치(20)의 컨트롤러(1106)은, 세션키의 출력 요구를 수신하여 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 송신한다(단계 S119). 하드디스크 유닛 (40)의 컨트롤러(1420)는, 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 세션키의 출력 요구를 수리하여, 세션키를 발생하도록 세션키 발생부(1418)를 제어한다. 그리고, 세션키 발생부(1418)는 세션키 Ks2a를 생성하고(단계 S120), 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역(2210)에 기억된 증명서 실효 리스트(CRL)로부터 증명서 실효 리스트의 갱신 일시를 판독하도록 기억 판독 처리부(1424) 및 시크 제어부(1425)를 제어한다. 기억 판독 처리부 (1424)는, 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)에 의해 관리 데이터 기억 영역(2210)으로부터 갱신 일시(CRLdate)를 판독하여, 버스(BS3)로 갱신 일시(CRLdate)를 출력한다. 그리고, 컨트롤러(1420)는 버스(BS3)상의 갱신 일시 (CRLdate)를 취득한다(단계 S121).
그리고, 컨트롤러(1420)는 취득한 갱신 일시(CRLdate)를 버스(BS3)를 통하여 암호 처리부(1406)에 부여하고, 암호 처리부(1406)는 복호 처리부(1422)로부터 부여되는 세션키 Ks1a에 의해, 세션키 발생부(1418)로부터 부여되는 세션키 Ks2a, KPom 보유부(1416)로부터 부여되는 개별 공개 암호키(KPom2), 및 컨트롤러(1420)로부터 부여되는 갱신 일시(CRLdate)를 하나의 데이터 열로서 암호화하여, 암호화 데이터 E(Ks1a, Ks2a//KPom2//CRLdate)를 버스(BS3)로 출력한다(단계 S122). 컨트롤러(1420)는, 버스(BS3)로 출력된 암호화 데이터 E(Ks1a, Ks2a//KPom2//CRLdate)에 라이센스 ID(LID)를 가한 데이터 LID//E(Ks1a, Ks2a//KPom2//CRLdate)를 버스(BS3) ,ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력하고(단계 S123), 단말 장치(20)는 데이터 LID//E(Ks1a, Ks2a//KPom2//CRLdate)를 수리하고(단계 S124), 그 수리한 데이터 LID//E(Ks1a, Ks2a//KPom2//CRLdate)를 다운로드 서버(10)로 송신한다(단계 S125).
다운로드 서버(10)는 데이터 LID//E(Ks1a, Ks2a//KPom2//CRLdate)를 수신하고(단계 S126), 복호 처리부(320)는 암호화 데이터 E(Ks1a, Ks2a//KPom2//CRLdate)를 세션키 Ks1a에 의해 복호하고, 하드디스크 유닛(40)에서 생성된 세션키 Ks2a,하드디스크 유닛(40)의 개별 공개 암호키(KPom2) 및 하드디스크 유닛(40)에 보유된 증명서 실효 리스트의 갱신 일시(CRLdate)를 수리한다(단계 S127).
그리고, 배신 제어부(315)는 데이터 ID(DID) 및 콘텐츠키(Kc)를 정보 데이터베이스(304)로부터 취득하여 라이센스(LIC)를 생성한다(단계 S128).
도 14를 참조하여, 배신 제어부(315)는 생성한 라이센스(LIC), 즉 라이센스 ID, 데이터 ID, 콘텐츠키(Kc), 및 제어 정보(AC)를 암호 처리부(326)에 부여한다. 암호 처리부(326)는, 복호 처리부(320)에 의해 얻어진 하드디스크 유닛(40)의 개별 공개 암호키(KPom2)에 의해 라이센스(LIC)를 암호화하여 암호화 데이터 E(KPom2, LIC)를 생성한다(단계 S129).
그러면, 배신 제어부(315)는 CRL 데이터베이스(306)를 참조하여, 하드디스크 유닛(40)으로부터 수리한 갱신 일시(CRLdate)가 최신인지의 여부를 판정한다 (단계 S130). 그리고, 수리한 갱신 일시(CRLdate)가 최신이라고 판정되면, 단계 S131로 이행하고, 수리한 갱신 일시(CRLdate)가 최신이 아니라고 판정되면, 단계 S137로 이행한다.
단계 S130에 있어서, 수리한 갱신 일시(CRLdate)가 최신이라고 판정되었을 때, 암호 처리부(328)는 암호 처리부(326)로부터의 암호화 데이터 E(KPom2, LIC)를, 복호 처리부(320)에 의해 복호된 세션키Ks2a에 의해 다시 암호화하여 암호화 데이터 E(Ks2a,(KPom2, LIC))를 생성한다(단계 S131). 그리고, 배신 제어부(315)는 버스(BS1) 및 통신 장치(350)를 통하여 암호화 데이터 E(Ks2a,(KPom2, LIC))를 단말 장치(20)로 출력하고(단계 S132), 단말 장치(20)는 암호화 데이터E(Ks2a,(KPom2, LIC))를 수리한다(단계 S133).
그리고, 단말 장치(20)의 컨트롤러(1106)는 암호화 데이터 E(Ks2a,(KPom2, LIC))를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛 (40)으로 출력하고(단계 S134), 하드디스크 유닛(40)의 컨트롤러(1420)는, 단자 (1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 암호화 데이터 E(Ks2a,(KPom2, LIC))를 수리한다(단계 S135). 컨트롤러(1420)는 수리한 암호화 데이터 E(Ks2a,(KPom2, LIC))를 버스(BS3)를 통하여 복호 처리부(1412)로 부여하고, 복호 처리부(1412)는 암호화 데이터 E(Ks2a,(KPom2, LIC))를 세션키 발생부 (1418)로부터의 세션키(Ks2a)에 의해서 복호하고, 암호화 데이터 E(KPom2, LIC)를 수리한다(단계 S136). 그 후, 단계 S145로 이행한다.
한편, 단계 S130에 있어서 하드디스크 유닛(40)으로부터 수리한 갱신 일시(CRLdate)가 최신이 아닐 때, 배신 제어부(315)는 CRL 데이터베이스(306)로부터의 최신의 증명서 실효 리스트(CRL)를 취득하고(단계 S137), 그 취득한 최신의 증명서 실효 리스트(CRL)를 암호 처리부(328)로 부여한다. 그리고, 암호 처리부(328)는, 암호 처리부(326)로부터의 암호화 데이터 E(KPom2, LIC)와 배신 제어부(315)로부터의 최신의 증명서 실효 리스트(CRL)를 하나의 데이터 열로서 복호 처리부(320)에 의해 복호된 세션키 Ks2a에 의해 암호화하여, 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를 생성한다(단계 S138). 그러면, 배신 제어부(315)는 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를 버스(BS1) 및 통신 장치(350)를 통하여 단말 장치(20)로 출력하고(단계 S139), 단말 장치(20)는 암호화 데이터E(Ks2a,E(KPom2, LIC)//CRL)를 수리한다(단계 S140).
그리고, 단말 장치(20)의 컨트롤러(1106)는 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를 버스(BS3) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력하고(단계 S141), 하드디스크 유닛(40)의 컨트롤러(1420)는, 단자(1439) ATA-인터페이스(1438) 및 버스(BS3)를 통하여 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를 수리한다(단계 S142). 컨트롤러(1420)는 수리한 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를 버스(BS3)를 통하여 복호처리부(1412)에 부여하고, 복호 처리부(1412)는 암호화 데이터 E(Ks2a,E(KPom2, LIC)//CRL)를, 세션키 발생부(1418)로부터의 세션키 Ks2a에 의해 복호하여 암호화 데이터 E(KPom2, LIC)와 수리한 최신의 증명서 실효 리스트(CRL)를 수리한다(단계 S143). 그러면, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역 (2210)에 기억된 증명서 실효 리스트를 재기록하도록 기억 판독 처리부(1424) 및 시크 제어부(1425)를 제어하여, 관리 데이터 기억 영역(2210)에 기억된 증명서 실효 리스트(CRL)를 수리한 최신의 것으로 변경하여 재기록한다.(단계 S144). 이에 따라, 관리 데이터 기억 영역(2210)에 기억되어 있는 증명서 실효 리스트(CRL)는 배신 처리를 수행할 때마다 다운로드 서버(10)가 보유하는 최신의 증명서 실효 리스트(CRL)로 갱신된다.
또한, 상술한 단계 S131∼S136은, 하드디스크 유닛(40)에 보유된 증명서 실효 리스트(CRL)가 다운로드 서버(10)에 보유된 최신의 증명서 실효 리스트(CRL)과 같은 경우의 동작이며, 단계 S137∼S144는 하드디스크 유닛(40)에 보유된 증명서실효 리스트(CRL)가 다운로드 서버(10)에 보유된 최신의 증명서 실효 리스트(CRL) 보다도 오래된 경우의 동작이다.
단계 S136 또는 단계 S144 이후, 복호 처리부(1404)는 복호 처리부(1412)로부터의 암호화 데이터 E(KPom2, LIC)를 Kom 보유부(1402)로부터의 개별 비밀 복호키 Kom2에 의해 복호하여, 라이센스(LIC)를 수리한다(단계 S145). 그리고, 컨트롤러(1420)는 복호 처리부(1404)로부터의 라이센스(LIC)에 포함되는 라이센스 ID(LID)가 단계 S117에서 수리한 라이센스 ID(LID)에 일치하는지의 여부를 판정하여(단계 S146), 불일치할 때 에러 통지를 출력하고(단계 S155), 단말 장치(20)는 에러 통지를 수리하여(단계 S157), 기입 거부에 따라 종료한다(단계 S158).
한편, 단계 S146에 있어서, 2개의 라이센스 ID(LID)가 일치한다고 판정되었을 때, 컨트롤러(1420)는 복호 처리부(1404)에 의해 복호된 라이센스(LIC)를 라이센스 레지스터(1423)로 저장한다(단계 S147).
그러면, 단말 장치(20)로부터 라이센스의 저장처 LBA가 출력되고(단계 S148), 하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스 (1438) 및 버스(BS3)를 통하여 라이센스의 저장처 LBA를 수리한다(단계 S149). 그리고, 컨트롤러(1420)는 수리한 저장처 LBA가 하드디스크(1430, 1431)의 보호 데이터 기억 영역(2120)에 대해서 할당된 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있는지의 여부를 판정하여(단계 S150), 수리한 저장처 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위를 넘을 때 에러 통지를 버스(BS3), ATA-인터페이스(1438) 및 단자 (1439)를 통하여 하드디스크 인터페이스(1200)로 출력하고(단계 S155), 단말 장치(20)의 컨트롤러(1106)는 에러 통지를 하드디스크 인터페이스(1200) 및 버스 (BS2)를 통하여 수리하여(단계 S157), 기입 거부에 따라 배신 동작이 종료된다 (단계 S158).
한편, 단계 S150에 있어서, 수리한 저장처 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있다고 판정되었을 때, 컨트롤러(1420)는 버스(BS3)를 통하여 라이센스 레지스터(1423)로부터 라이센스(LIC)를 판독하고, 그 판독한 라이센스(LIC)를 암호 처리부(1427)에 부여한다. 그리고, 암호 처리부(1427)는 라이센스(LIC)를 Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 암호화하여 암호화 데이터 E(Kr2, LIC)를 생성한다(단계 S151).
그러면, 컨트롤러(1420)는 수리한 저장처 LBA에 대해 라이센스를 기록하기 위해서 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장처 LBA에 대응한 하드디스크(1430, 1431)상의 기억 블록에 암호화 데이터 E(Kr2, LIC)를 기록하도록 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 통하여 암호화 데이터 E(Kr2, LIC)를 보호 데이터 기억 영역(2120)의 저장처 LBA에 기억한다(단계 S152). 그 후, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역 (2210)에 기억된 저장처 LBA에 대한 관리 테이블(170)의 유효 플래그를 유효하게 변경한다(단계 S153). 구체적으로는, 컨트롤러(1420)는 관리 데이터 기억 영역 (2210)에 기억된 관리 테이블(170)의 저장처 LBA에 대응하는 유효 플래그가 포함되어 있는 하나의 기억 블록을 판독하고, 그 판독한 관리 테이블(170)의 하나의 저장처 LBA에대응한 유효 플래그를 유효하게 변경한 데이터를, 판독한 기억 블록에 덧쓰기한다. 그리고, 라이센스의 배신이 정상적으로 종료된다(단계 S154).
또한, 도 13 및 도 14의 플로우차트에서는 나타내지 않았으나, 배신 처리에서는 라이센스의 배신이 정상적으로 종료된 후, 단말 장치(20)의 컨트롤러(1106)는 암호화 콘텐츠 데이터의 배신 요구를 다운로드 서버(10)으로 송신하고, 다운로드 서버(10)는 암호화 콘텐츠 데이터의 배신 요구를 수신한다. 그리고, 다운로드 서버(10)의 배신 제어부(315)는 정보 데이터베이스(304)로부터 암호화 콘텐츠 데이터 E(Kc, Dc) 및 부가 정보(Di)를 취득하여, 이들 데이터를 버스(BS1) 및 단말 장치(350)를 통하여 단말 장치(20)로 송신한다.
단말 장치(20)는 데이터 E(Kc, Dc)//Di를 수신하여, 암호화 콘텐츠 데이터 E(Kc, Dc) 및 부가 정보(Di)를 수리한다. 그러면, 컨트롤러(1106)은 암호화 콘텐츠 데이터 E(Kc, Dc) 및 부가 정보(Di)를 하나의 콘텐츠 파일로서 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억하기 위해 입력한다. 또한, 컨트롤러(1106)는 단계 S148에서 지정한 저장처 LBA와, 평문의 라이센스 ID와 데이터 ID(DID)를 포함하고, 아울러 먼저 입력한 콘텐츠 파일에 대응한 라이센스 관리 파일을 생성하고, 그 생성한 라이센스 관리 파일을 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억되도록 입력한다.
또한, 단말 장치(20)의 컨트롤러(1106)는 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억되어 있는 콘텐츠 리스트 파일(160)을 판독하고, 그 판독한 콘텐츠 리스트 파일(160)에, 수리한 콘텐츠 파일 및 라이센스 관리 파일의 명칭과 부가 정보(Di)로부터 추출한 암호화 콘텐츠 데이터에 관한 정보(곡명, 아티스트명)등을 추기하여, 다시 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억되어 있는 콘텐츠 리스트 파일(160)로 변경하여 재기록하도록 입력한다. 그리고, 배신 처리가 종료된다.
콘텐츠 파일, 라이센스 관리 파일의 기입, 및 콘텐츠 리스트 파일(160)의 판독/기입은, 도 11에 나타낸 통상 데이터 기입 처리(단계 S60) 또는 통상 데이터 판독 처리(단계 S70)에 따라 수행되는 것이므로, 여기에서는 상세한 설명을 생략한다.
단, 통상 데이터 기이 처리, 및 통상 데이터 판독 처리에 있어서, 실수로 보호 데이터 기억 영역(2120)의 논리 어드레스 LBA가 지시되면, 당해 처리는 하드디스크 유닛(40)에 의해 거절되어, 액세스할 수 없다.
단계 S151, S152에 있어서, 라이센스(LIC)를 하드디스크 유닛(40)에 전적으로 부여되는 개별 기록키(Kr2)를 이용하여 암호화한 후, 하드디스크(1430, 1431)의 보호 데이터 기억 영역(2120)에 기억하도록 한 것은, 다음과 같은 이유에 따른다. 하드디스크의 기밀성은 일반적으로 높지 않고, 부정한 액세스에 대해서 라이센스가 하드디스크 유닛(40)으로부터 출력될 가능성이 있다. 이 경우, 라이센스를 평문인채로 보호 데이터 기억 영역(2120)에 기억해 두면, 부정한 액세스에 의해 라이센스가 복제되게 된다. 하드디스크 유닛(40)에 전적으로 부여된 개별 기록키(비밀키)에 의해 라이센스를 암호화해두면, 부정한 액세스에 의해 암호화 데이터 E(Kr2,LIC)가 하드디스크 유닛(40)으로부터 출력되었다고 해도, 그 출력처에서 개별 기록키(Kr2)를 취득할 수 없으며, 암호화 데이터 E(Kr2, LIC)를 복호할 수 없으므로, 라이센스의 복제를 방지할 수 있기 때문이다.
이와 같이 하여, 단말 장치(20)에 장착된 라이센스를 기억하는 하드디스크 유닛(40)이 정규의 증명서를 저장하는 기기일 것, 동시에 공개 암호키(KPcm1)를 포함하는 증명서 Cm1이 유효할 것을 확인한 다음 라이센스를 배신할 수 있으며, 부정한 하드디스크 유닛으로의 라이센스의 배신을 금지할 수 있다.
또한, 다운로드 서버 및 하드디스크 유닛에서 각각 생성되는 암호키를 주고 받아, 서로가 수령한 암호키를 이용한 암호화를 실행하여, 그 암호화 데이터를 상대방에게 송신함으로써, 각각의 암호화 데이터의 송수신에 있어서도 사실상 상호 인증을 행할 수 있어, 데이터 배신 시스템의 보안성을 향상시킬 수 있다.
〔하드디스크 유닛간 이동/복제 처리〕
도 11에 도시한 보호 데이터의 이동 복제 처리(단계 S40)의 상세에 대해서 설명한다. 보호 데이터의 이동 복제 처리는 하드디스크 유닛(40)에서는 앞서 설명한 바와 같이, 라이센스의 '전송'이다. 따라서, 도 3에 도시한 하드디스크 유닛(40, 41)을 장착한 단말 장치(20)에 있어서, 하드디스크 유닛(40)으로부터 하드디스크 유닛(41)로의 라이센스의 이동/복제 처리에 대해 설명한다. 단말 장치(20)와 하드디스크 유닛(40)과의 사이에서의 수순이, 보호 데이터의 이동 복제 처리(단계 S40)에 상당하고, 단말 장치(20)와 하드디스크 유닛(41)과의 사이에서의 수은 보호 데이터 기입 처리(단계 S30)에 상당한다.
도 15∼17은 도 3에 있어서 하드디스크 유닛(40)에 기억되어 있는 라이센스를, 단말 장치(20)를 통하여 하드디스크 유닛(41)에 이동 또는 복제하는 처리를 행하기 위한 제1∼제3 플로우차트이다. 또한, 도 15에서의 처리 이전에, 단말 장치(20)의 컨트롤러(1106)는 사용자가 라이센스의 이동 또는 복제를 행할 콘텐츠의 지정 및 라이센스의 이동 또는 복제 요청을 수행하기 위한 입력 수단(도시 않음)에 접속되고, 사용자에 의해 이루어진 라이센스의 이동 또는 복제를 행할 콘텐츠의 지정, 및 라이센스의 이동 또는 복제 요청을 수취한다. 그리고, 컨트롤러(1106)는 송신원인 하드디스크 유닛(40)내의 콘텐츠 리스트 파일(160)을 참조하여, 이동 또는 복제를 행하는 라이센스의 라이센스 관리 파일을 특정하고, 그 특정한 라이센스 관리 파일을 참조하여 이동 또는 복제할 라인센스가 기억되어 있는 하드디스크 유닛(40)의 보호 데이터 기억 영역(2120)의 논리 어드레스 LBA를 취득할 것, 및 수신처인 하드디스크 유닛(41)의 보호 데이터 기억 영역(2120)내의 빈 용량을 확인하여, 이동 또는 복제된 라이센스를 기억하기 위한 논리 어드레스 LBA를 결정할 것을 전제로 한다. 또한, 라이센스가 이동되는지, 복제되는지는 라이센스에 포함되는 제어 정보(AC)에 따라 결정되므로, 플로우차트의 설명에 있어서는 이동/복제로 부르기로 한다.
도 15를 참조하여 이동/복제 요청이 사용자로부터 지시되면, 컨트롤러(1106)은 증명서의 출력 요구를 버스(BS)를 통하여 하드디스크 유닛(41)으로 송신하다(단계 S200). 그리고, 하드디스크 유닛(41)의 컨트롤러(1420)는 단자(1439), ATA -인터페이스(1438) 및 버스(BS3)를 통하여 증명서 출력 요구를 수신한다(단계S201).
하드디스크 유닛(41)의 컨트롤러(1420)는 증명서 출력 요구를 수신하면, 증명서 보유부(1400)로부터 증명서 Cm1을 버스(BS3)를 통하여 판독하고, 그 판독한 증명서 Cm1을 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)의 컨트롤러(1106)로 출력한다(단계 S202). 그리고, 단말 장치(20)의 컨트롤러(1106)는 버스(BS)를 통하여 증명서 Cm1을 수리하고(단계 S203), 버스(BS)를 통하여 하드디스크 유닛(40)으로 하드디스크 유닛(41)의 증명서 Cm1를 송신한다(단계 S204).
그러면, 하드디스크 유닛(40)에서의 처리가 개시된다. 컨트롤러(1420)는 단자(1439) 및 ATA-인터페이스(1438)를 통하여 증명서 Cm1을 수신하고(단계 S205), 그 수신한 증명서 Cm1을 버스(BS3)를 통하여 인증 처리부(1408)로 부여한다. 그리고, 인증 처리부(1408)는 Kpa 보유부(1414)로부터의 인증키(KPa)에 의해 증명서 Cm1의 복호 처리를 실행하고, 그 복호 결과를 컨트롤러(1420)로 출력한다. 컨트롤러(1420)는 증명서 Cm1의 데이터 KPcm1//1cm1에 대한 해쉬값을 연산하고, 그 연산된 해쉬값이 인증 처리부(1408)로부터 받은 해쉬값 H(KPcm1//1cm1)에 일치하는지의 여부를 확인한다. 즉, 하드디스크 유닛(40)은 인증 처리부(1408)가 증명서 Cm1의 암호화 데이터 E(Ka, H(KPcm1//cm1))를 인증키(KPa)로 복호할 수 있는 것, 및 컨트롤러(1420)가 송신원인 하드디스크 유닛(41)으로부터 수신한 해쉬값과 스스로 연산한 해쉬값이 일치하는 것을 확인함으로써, 증명서 Cm1을 검증한다(단계 S206).
정당한 증명서라고 판단한 경우, 컨트롤러(1420)는 다음 처리(단계 S207)로이행한다. 정당한 증명서가 아닌 경우에는 비승인으로 하여, 에러 통지를 단말 장치(20)로 출력하고(단계 S260), 단말 장치(20)는 에러 통지를 수리하여(단계 S262), 라이센스(LIC)의 출력 거부에 따라 이동/복제 처리가 종료된다(S263).
인증 결과, 정당한 증명서를 가지는 하드디스크 유닛으로의 전송인 것이 확인되면, 하드디스크 유닛(40)에 있어서, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역(2210)으로부터 증명서 실효 리스트(CRL)를 판독하도록 기억 판독 처리부(1424) 및 시크 제어부(1425)를 제어한다. 기억 판독 처리부(1424)는 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 이용하여 관리 데이터 기억 영역(2210)으로부터 증명서 실효 리스트(CRL)를 판독하고, 그 판독한 증명서 실효 리스트(CRL)를 버스(BS3)로 출력한다. 그리고, 컨트롤러(1420)는 버스(BS3)를 통하여 증명서 실효 리스트(CRL)를 취득하고(단계 S207), 하드디스크 유닛(41)의 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다(단계 S208). 구체적으로는, 컨트롤러(1420)는 하드디스크 유닛(41)의 증명서 Cm1의 증명서 번호가 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다. 하드디스크 유닛(41)의 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함될 때, 에러 통지를 단말 장치(20)로 출력하고, 라이센스(LIC)의 출력 거부에 따라 이동 복제 처리가 종료된다(단계 S260, S262, S263).
단계 S208에 있어서, 하드디스크 유닛(41)의 증명서 Cm1의 증명서 번호가 증명서 실효 리스트(CRL)에 포함되지 않는다고 판정되었을 때, 컨트롤러(1420)는 하드디스크 유닛(40)으로부터의 클래스 공개 암호키 KPcm1을 수리하여(단계 S209),세션키 Ks1b를 생성하도록 세션키 발생부(1418)를 제어하고, 세션키 발생부(1418)는 세션키 Ks1b를 생성한다(단계 S210).
그 후, 세션키 Ks1b는 인증 처리부(1408)에 의해서 얻어진 하드디스크 유닛(41)에 대응하는 클래스 공개 암호키 KPcm1에 의해, 암호 처리부(1410)를 통하여 암호화된다(단계 S211).
컨트롤러(1420)는 암호화 데이터 E(KPcm1, Ks1b)를 버스(BS3)를 통하여 암호 처리부(1410)로부터 받고, 그 받은 암호화 데이터 E(KPcm1, Ks1b)를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력한다(단계 S212).
단말 장치(20)가 암호화 데이터 E(KPcm1, Ks1b)를 수신하면(단계 S213), 컨트롤러(1106)는 암호화 데이터 E(KPcm1, Ks1b)를 버스(BS)를 통하여 하드디스크 유닛(41)으로 출력하고(단계 S214), 처리는 하드디스크 유닛(41)로 이행한다. 하드디스크 유닛(41)에서는 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여, 암호화 데이터 E(KPcm1, Ks1b)를 수리한다(단계 S215). 그리고, 컨트롤러(1420)는 버스(BS3)를 통하여 암호화 데이터 E(KPcm1, Ks1b)를 복호 처리부(1422)로 부여하고, 복호 처리부(1422)는 Kcm 보유부(1421)에 저장되는 하드디스크 유닛(41)에 고유한 클래스 비밀 복호키(Kcm1)에 의해 복호 처리를 행하므로써, 세션키 Ks1b를 복호하여, 세션키 Ks1b를 수리한다(단계 S216).
그러면, 단말 장치(20)의 컨트롤러(1420)는 세션키의 출력 요구를 버스(BS)를 통하여 하드디스크 유닛(41)으로 송신한다(단계 S217). 하드디스크 유닛 (41)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 세센키의 출력 요구를 수리하여, 세션키를 발생하도록 세션키 발생부(1418)을 제어한다. 그리고, 세션키 발생부(1418)는 세션키 Ks2b를 생성하고(단계 S218), 컨트롤러(1420)는 하드디스크 유닛(1430, 1431)의 관리 데이터 기억 영역(2210)에 기억된 증명서 실효 리스트(CRL)로부터 증명서 실효 리스트(CRL)의 갱신 일시를 판독하도록 기억 판독 처리부(1424) 및 시크 제어부(1425)를 제어한다. 기억 판독 처리부(1424)는 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)에 의해 관리 데이터 기억 영역(2210)으로부터 갱신 일시(CRLdate)를 판독하여, 버스(BS3)로 갱신 일시(CRLdate)를 출력한다. 그리고, 컨트롤러(1420)는 버스(BS3)상의 갱신 일시(CRLdate)를 취득한다(단계 S218A). 컨트롤러(1420)는 취득한 갱신 일시 (CRLdate)를 암호 처리부(1406)로 부여하고, 암호 처리부(1406)는 복호 처리부 (1422)로부터 부여되는 세션키 Ks1b에 의해, 세션키 발생부(1418)로부터 부여되는 세션키 Ks2b, KPom 보유부(1416)로부터 부여되는 개별 공개 암호키(KPom4), 및 컨트롤러(1420)로부터 부여된 갱신 일시(CRLdate)를 하나의 데이터열로서 암호화하여, 암호화 데이터 E(Ks1b, Ks2b//KPom4//CRLdate)를 버스(BS3)로 출력한다 (단계 S219). 컨트롤러(1420)는 버스(BS3)에 출력된 암호화 데이터 E(Ks1b, Ks2b//KPom4//CRLdate)에 라이센스 ID(LID)를 가한 데이터 LID//E(Ks1b, Ks2b//KPom4//CRLdate)를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력한다(단계 S220). 단말 장치(20)의 버스(BS)를 통하여 데이터 LID//E(Ks1b, Ks2b//KPom4//CRLdate)를 수리하고(단계 S221), 그 수리한 데이터 LID//E(Ks1b, Ks2b//KPom4//CRLdate)를 하드디스크 유닛(40)으로 출력한다 (단계 S222). 그러면, 처리는 다시 하드디스크 유닛(40)으로 이행한다.
하드디스크 유닛(40)은 데이터 LID//E(Ks1b, Ks2b//KPom4//CRLdate)를 수리하고(단계 S223), 복호 처리부(1412)는 암호화 데이터 E(Ks1b, Ks2b//KPom4//CRLdate)를 세션키 Ks1b에 의해 복호하고, 하드디스크 유닛(41)에서 생성된 세션키 Ks2b, 및 하드디스크 유닛(41)의 개별 공개 암호키(KPom4)를 수리한다(단계 S224).
그러면, 단말 장치(20)의 컨트롤러(1106)는, 이동/복제의 대상이 되는 라이센스(LIC)가 기억되어 있는 논리 어드레스인 저장 LBA를 사전에 취득한 라이센스 관리 파일로부터 추출하고, 그 추출한 저장 LBA를 출력한다(단계 S225). 저장 LBA는 라이센스(LIC)가 기억되어 있는 논리 어드레스이다. 하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 저장 LBA를 수리한다(단계 S226). 그리고, 컨트롤러(1420)는 수리한 저장 LBA가 보호 데이터 기억 영역(2120)에 대해서 할당된 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있는지의 여부를 판정하고(S227), 저장 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위를 넘을 때, 에러 통지를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력하고, 라이센스(LIC)의 출력 거부에 따라 이동/복제 처리가 종료된다(S260, S262, S263). 한편, 단계 S227에 있어서, 저장처 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있을 때, 도 16에 나타낸 단계 S228로 이행한다.
도 16을 참조하면, 하드디스크 유닛(40)의 컨트롤러(1420)는 관리 테이블(170)의 저장 LBA에 대한 유효 플래그를 판독한다. 구체적으로는, 컨트롤러 (1420)는 관리 데이터 기억 영역(2210)에 기억된 관리 테이블(170)의 저장 LBA에 대응하는 유효 플래그가 포함되어 있는 일부, 1기억 블록을 판독하도록 시크 제어부(1425) 및 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 관리 데이터 기억 영역(2210)에 기억된 관리 테이블(170)의 일부를 하드디스크(1430, 1431)상의 관리 데이터 기억 영역(2210)으로부터 판독하여 버스 (BS3)로 출력한다. 그리고, 컨트롤러(1420)는 버스(BS3)로부터 관리 테이블의 일부를 취득하고, 그 취득한 관리 테이블의 일부로부터 저장 LBA에 대한 유효 플래그를 추출함으로써 취득한다(단계 S228). 그러면, 컨트롤러(1420)는 취득한 저장 LBA에 대한 유효 플래그가 유효한지의 여부를 판정한다(단계 S229). 유효 플래그가 유효하지 않다고 판정되었을 때, 상술한 바와 같이 컨트롤러(1420)는 에러 통지를 출력하고, 라이센스(LIC)의 출력 거부에 따라 이동/복제 처리가 종료된다(단계 S260, S262, S263).
단계 S229에 있어서, 저장 LBA에 대한 유효 플래그가 유효하다고 판정되면, 컨트롤러(1420)는 수리한 저장처 LBA에 기록되어 있는 라이센스를 판독하기 위해 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장 LBA에 대응한 하드디스크(1430, 1431)상의 보호 데이터 기억 영역(2120)의 기억 블록에 기억되어 있는 암호화 데이터 E(Kr2, LIC)의 판독을 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 헤드(1435∼1437)를 통하여, 저장 LBA에 따라지정된 영역에 기억된 암호화 데이터 E(Kr2, LIC)를 보호 데이터 기억 영역(2120)으로부터 판독하고(단계 S230), 그 판독한 암호화 데이터 E(Kr2, LIC)를 버스(BS3)로 출력한다. 그러면, 컨트롤러(1420)는 버스(BS3)상의 암호화 데이터 E(Kr2, LIC)를 복호 처리부(1428)로 부여하고, 복호 처리부(1428)는 암호화 데이터 E(Kr2, LIC)를 Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 복호하여, 라이센스(LIC)를 버스(BS3)로 출력한다(단계 S231). 그리고, 컨트롤러(1420)는 버스(BS3)상의 라이센스(LIC)를 라이센스 레지스터(1423)에 저장하고(단계 S232), 그 저장된 라이센스(LIC)에 포함되는 제어 정보(AC)에 근거하여 라이센스를 하드디스크 유닛(41)으로 복제/이동하는 것이 금지되어 있지 않은지의 여부를 확인한다(단계 S233). 그리고, 복제/이동이 금지되어 있을 때, 단계 S260, S262를 거쳐 기입 거부에 따라 이동/복제 동작이 종료된다(단계 S263). 라이센스의 복제가 허가되어 있을 때 단계 S235로 이행한다. 한편, 라이센스의 이동이 허가되어 있을 때, 컨트롤러(1420)는 저장 LBA에 대한 관리 테이블(170)의 유효 플래그를 무효로 변경한다(단계 S234). 구체적으로는, 컨트롤러(1420)는 단계 S228에서 판독한 관리 테이블(170)의 일부 저장처 LBA에 대응한 유효 플래그를 유효하게 변경한 데이터를 생성하고, 변경한 데이터를 관리 데이터 기억 영역(2210)의 판독된 기억 블록 위치에 기록하기 위해 헤드(1435∼1437)를 이동하도록 시크 제어부(1425)를 제어하여, 덧쓰기한다.
그리고, 단계 S233에 있어서 복제가 허가되었다고 판정되었을 때, 또는 단계 S234 이후, 컨트롤러(1420)는 라이센스 레지스터(1423)에 저장된 라이센스를 판독하여 암호 처리부(1417)에 부여하고, 암호 처리부(1417)는 라이센스(LIC)를 하드디스크 유닛(41)의 개별 공개 암호키(KPom4)에 의해 암호화하여 암호화 데이터 E(KPom4, LIC)를 출력한다(단계 S235).
그러면, 컨트롤러(1420)는 하드디스크 유닛(41)으로부터 수리한 갱신 일시 (CRLdate)를, 단계 S207에서 관리 데이터 기억 영역(2210)으로부터 판독되고, 또한 하드디스크 유닛(40)에서 관리되는 증명서 실효 리스트(CRL)의 갱신 일시와 비교함으로써, 하드디스크 유닛(41)의 증명서 실효 리스트(CRL)가 최신인지의 여부를 판정한다(단계 S236). 그리고, 하드디스크 유닛(41)의 증명서 실효 리스트(CRL)가 최신이라고 판정되면, 단계 S237로 이행하고, 수리한 갱신 일시(CRLdate)가 최신이 아니라고 판정되면, 단계 S243으로 이행한다.
단계 S236에 있어서, 하드디스크 유닛(41)의 증명서 실효 리스트(CRL)가 최신이 아니라고 판정되었을 때, 암호 처리부(1406)는 암호 처리부(1417)로부터의 암호화 데이터 E(KPom4, LIC)를, 복호 처리부(1412)에 의해 복호된 세션키 Ks2b에 의해 다시 암호화하여 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 생성한다(단계 S237). 그리고, 컨트롤러(1420)는 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 단말 장치(20)로 출력하고(단계 S238), 단말 장치(20)는 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 수리한다(단계 S239).
그리고, 단말 장치(20)의 컨트롤러(1106)는 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 버스(BS)를 통하여 하드디스크 유닛(41)으로 출력하고(단계S240), 처리는 하드디스크 유닛(41)으로 이행한다. 하드디스크 유닛(41)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 수리한다(단계 S241). 컨트롤러(1420)는 수리한 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 버스(BS3)를 통하여 복호 처리부(1412)로 부여하고, 복호 처리부(1412)는 암호화 데이터 E(Ks2b, E(KPom4, LIC))를 세션키 발생부(1418)로부터의 세션키 Ks2b에 의해 복호하여, 암호화 데이터 E(KPom4, LIC)를 수리한다(단계 S242). 그 후, 도 17에 나타낸 단계 S251로 이행한다.
한편, 단계 S236에 있어서 하드디스크 유닛(41)의 증명서 실효 리스트(CRL)가 최신이 아닐 때, 하드디스크 유닛(40)에서는 단계 S207에서 관리 데이터 기억 영역(2210)으로부터 판독되고, 또한 하드디스크 유닛(40)에서 관리되는 증명서 실효 리스트(CRL)를 최신의 증명서 실효 리스트로서 암호 처리부(1406)에 부여한다. 그리고, 암호 처리부(1406)는 암호 처리부(1417)로부터의 암호화 데이터 E(KPom4, LIC)와 컨트롤러(1420)로부터의 최신의 증명서 실효 리스트(CRL)를 하나의 데이터열로서 복호 처리부(1412)에 의해 복호된 세션키 Ks2b에 의해 암호화하여, 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 생성한다(단계 S244). 그러면, 컨트롤러 (1420)는 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력하고(단계 S245), 단말 장치(20)는 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 수리한다(단계 S246).
그리고, 단말 장치(20)의 컨트롤러(1106)는 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 버스(BS)를 통하여 하드디스크 유닛(41)으로 출력하고(단계 S247),처리는 하드디스크 유닛(41)으로 이행한다. 하드디스크 유닛(41)의 컨트롤러 (1420)는, 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 수리한다(단계 S248). 컨트롤러(1420)는 수리한 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를 버스(BS3)를 통하여 복호 처리부(1412)에 부여하고, 복호 처리부(1412)는 암호화 데이터 E(Ks2b, E(KPom4, LIC)//CRL)를, 세션키 발생부(1418)로부터의 세션키 Ks2b에 의해서 복호하여, 암호화 데이터 E(KPom4, LIC)와 증명서 실효 리스트(CRL)를 수리한다(단계 S249). 그러면, 컨트롤러(1420)는 수리한 증명서 실효 리스트(CRL)에 의해서 하드디스크 유닛(1430, 1431)의 관리 데이터 기억 영역(2210)에 기억된 증명서 실효 리스트를 변경하여 재기록하도록 시크 제어부(1425) 및 기억 판독 처리부(1424)를 제어한다. 기억 판독 처리부(1424)는 컨트롤러(1420)로부터 수리한 증명서 실효 리스트(CRL)에 의해 관리 데이터 기억 영역(2210)에 기억된 증명서 실효 리스트(CRL)를 재기록한다(단계 S250). 이에 따라, 관리 데이터 기억 영역(2210)에 기억된 증명서 리스트(CRL)가 보다 새로운 것으로 덧쓰기된다.
또한, 상술한 단계 S237∼S242는 하드디스크 유닛(41)에 보유된 증명서 실효 리스트(CRL)가 하드디스크 유닛(40)에 보유된 증명서 실효 리스트(CRL)보다도 새로운 경우의 동작이며, 단계 S243∼S250은 하드디스크 유닛(41)에 보유된 증명서 실효 리스트(CRL)가 하드디스크 유닛(40)에 보유된 증명서 실효 리스트(CRL) 보다도 오래된 경우에, 하드디스크 유닛(41)에 보유된 증명서 실효 리스트(CRL)가 갱신되는 동작이다.
도 17을 참조하면, 하드디스크 유닛(41)에서는, 단계 S242 또는 단계 S250 이후, 복호 처리부(1404)는 복호 처리부(1412)로부터 암호화 데이터 E(KPom4, LIC)를 받고, 그 받은 암호화 데이터 E(KPom4, LIC)를 Kom 보유부(1402)로부터의 개별 비밀 복호키 Kom4에 의해 복호하여, 라이센스(LIC)를 수리한다(단계 S251). 그리고, 컨트롤러(1420)는 복호 처리부(1404)에 의해 복호된 라이센스(LIC)를 라이센스 레지스터(1423)에 저장하고, 라이센스(LIC)에 포함되는 라이센스 ID가 이미 수리한 라이센스 ID에 일치하는지의 여부를 판정하고(단계 S252), 2개의 라이센스 ID가 불일치할 때, 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 에러 통지를 단말 장치(20)로 출력한다 (단계 S261). 그리고, 단말 장치(20)의 컨트롤러(1106)는 에러 통지를 수리하여(단계 S262), 기입 거부에 따라 이동/복제 처리가 종료된다(단계 S263).
한편, 단계 S252에 있어서 2개의 라이센스 ID가 일치할 때, 단말 장치(20)의 컨트롤러(1106)은 라이센스(LIC)의 저장처 LBA를 버스(BS)를 통하여 하드디스크 유닛(41)으로 출력하고(단계 S253), 하드디스크 유닛(41)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 라이센스(LIC)의 저장처 LBA를 수리한다(단계 S254). 그리고, 컨트롤러(1420)는 수리한 저장처 LBA가 보호 데이터 기억 영역(2120)에 대해서 할당된 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있는지의 여부를 판정하고(S255), 저장처 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위를 넘을 때, 라이센스의 출력 거부에 따라 이동/복제 처리가 종료된다(단계 S261∼S263).
한편, 단계 S255에 있어서, 저장처 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있을 때, 컨트롤러(1420)는 라이센스 레지스터(1423)에 저장된 라이센스(LIC)를 판독하여, 암호 처리부(1427)에 부여한다. 그리고, 암호 처리부(1427)는 라이센스(LIC)를 Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 암호화하여 암호화 데이터 E(Kr2, LIC)를 생성한다(단계 S256).
그러면, 컨트롤러(1420)는 수리한 저장처 LBA에 대해 라이센스를 기록하기 위해서 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장처 LBA에 대응한 하드디스크(1430, 1431)상의 기억 블록에 암호화 데이터 E(Kr4, LIC)를 기록하도록 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 통하여 암호화 데이터 E(Kr4, LIC)를 보호 데이터 기억 영역(2120)의 저장처 LBA에 기억한다(단계 S257). 그 후, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역 (2210)에 기억된 저장처 LBA에 대한 관리 테이블(170)의 유효 플래그를 유효하게 변경한다(단계 S258). 구체적으로는, 컨트롤러(1420)는 관리 데이터 기억 영역 (2210)에 기억된 관리 테이블(170)의 저장처 LBA에 대한 유효 플래그가 포함되어 있는 일부, 하나의 기억 블록을 판독하고, 그 판독한 관리 테이블(170)의 일부의 저장처 LBA에 대응한 유효 플래그를 유효하게 변경한 데이터를, 판독한 기억 블록에 덧쓰기한다. 그리고, 라이센스의 배신이 정상적으로 종료된다(단계 S259).
도 15∼도 17에 나타낸 제1∼제3 플로우차트에 있어서, 단계 S205∼단계 S212, 단계 S223, 단계 S224, 단계 S226∼S228, 단계 S243∼단계 S245 및 단계S260은, 라이센스의 '전송'을 행하는 하드디스크 유닛(40)에서의 보호 데이터의 이동/복제 처리이며, 단계 S201. 단계 S202, 단계 S215, 단계 S216, 단계 S218∼ 단계 S220, 단계 S241, 단계 S242, 단계 S248∼단계 S251, 단계 S254∼단계 S258 및 단계 S261은 라이센스의 '기입'을 행하는 하드디스크 유닛(41)에서의 보호 데이터의 기입 처리이다.
또한, 하드디스크 유닛(40)에서의 sLBA, maxLBA와, 하드디스크 유닛(41)에서의 sLBA, maxLBA는 각각 같은 값을 나타내는 것은 아니다. 하드디스크(40, 41) 각각의 maxLBA는 각각의 사용자 영역(2100)에서의 논리 어드레스의 최대값을, 하드디스크 유닛(40, 41) 각각의 sLBA는, 각각의 통상 데이터 기억 영역(2110)에서의 논리 어드레스의 최대값을 나타내는 것이다.
또한, 암호화 콘텐츠 데이터 E(Kc, Dc) 및 부가 정보(Di)의 하드디스크 유닛(40)으로부터 하드디스크 유닛(41)으로의 이동 또는 복제는, 라이센스의 이동 또는 복제와는 별도로, 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)으로부터 콘텐츠 파일, 즉 암호화 콘텐츠 데이터 E(Kc, Dc) 및 부가 정보(Di)를 판독하여 하드디스크 유닛(41)으로 송신함으로써 수행하면 된다. 하드디스크 유닛(40)으로부터의 콘텐츠 파일의 판독/하드디스크 유닛으로의 기입은, 도 11의 통상 데이터의 기입 처리(단계 S60), 또는 통상 데이터의 판독 처리(단계 S70)에 의해 수행되므로, 여기에서는 상세한 설명을 생략한다.
또한, 하드디스크 유닛(41)에 대해서는 이동 또는 복제한 라이센스에 대한 라이센스 관리 파일이 이미 기록되어 있는 경우에는, 기억되어 있는 라이센스 관리파일을 취득하여, 단계 S253에서 출력한 저장처 LBA를 더욱 기록하고, 하드디스크 유닛(41)에 기억되어 있는 이동 또는 복제한 라이센스에 대한 라이센스 관리 파일에 변경하여 재기록하기 위해서, 다시 하드디스크 유닛(41)에 입력하여, 대상의 라이센스 관리 파일을 갱신한다. 또한, 대상이되는 라이센스 관리 파일이 하드디스크 유닛(41)에 기록되어 있지 않은 경우에는, 새로이 라이센스 관리 파일을 생성하고, 그 생성한 라이센스 관리 파일을 수신측의 하드디스크 유닛(41)에 기록함과 동시에, 하드디스크 유닛(41)의 통상 데이터 기억 영역(2110)에 기억되어 있는 콘텐츠 파일 리스트(160)를 취득하여, 생성한 데이터 관리 파일에 관한 정보를 추가한 후, 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)에 입력하여, 통상 데이터 기억 영역(2110)에 기억되어 있는 콘텐츠 파일 리스트(160)를 변경하여 재기록한다.
또한, 하드디스크 유닛(40)에 대해서는, 단계 S233에 있어서, 이동 처리인 것으로 판단된 경우에는, 통상 데이터 기억 영역(2110)에 기억되며, 이동한 라이센스에 대응하는 라이센스 관리 파일을 취득하고, 그 취득한 라이센스 관리 파일에 저장되어 있는 단계 S255에서 입력한 저장 LBA를 삭제한다. 그리고, 다시 하드디스크 유닛(41)에 입력하여, 대상의 라이센스 관리 파일을 갱신한다.
이와 같이 하여, 하드디스크 유닛간의 라이센스의 이동/복제 처리에 있어서도, 송신원의 하드디스크 유닛(40)이 송신처의 하드디스크 유닛(41)이 정규 기기인 것과, 동시에 클래스 공개 암호키 KPcm1이 유효한 것을 확인한 다음, 정규의 하드디스크 유닛으로의 이동 요구에 대해서만 라이센스를 이동할 수 있어, 부정한 하드디스크 유닛으로의 이동을 금지할 수 있다.
또한, 하드디스크 유닛에서 생성되는 암호키를 주고 받아, 서로가 수령한 암호키를 이용한 암호화를 실행하여, 그 암호화 데이터를 상대방에게 송신함으로써, 각각의 암호화 데이터의 송수신에 있어서도 사실상의 상호 인증을 행할 수 있어, 라이센스의 이동/복제 동작에서의 보안성을 향상시킬 수 있다.
〔사용 허락 처리〕
도 11에 나타낸 보호 데이터의 사용 허락 처리(단계 S50)의 상세에 대해 설명한다. 보호 데이터의 사용 허락 처리는, 앞서 설명한 바와 같이 라이센스의 '사용 허락'이다. 따라서, 도 2에 나타낸 재생 회로(1550)를 구비한 단말 장치(20)에 대해서, 하드디스크 유닛(40)을 장착한 구성에 있어서, 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억되는 암호화 콘텐츠 데이터 E(Kc, Dc)를 재생하기 위해서, 하드디스크 유닛(40)의 보호 데이터 기억 영역(2120)에 기억되는 라이센스(LIC)에 포함되는 콘텐츠키(Kc)를 판독하여, 재생 회로(1550)내에 셋팅한다.
도 18 및 도 19는, 하드디스크 유닛(40)으로부터 단말 장치(20)의 재생 회로(1550)에 대한 암호화 콘텐츠 데이터를 복호하는 라이센스의 사용 허락 처리를 설명하기 위한 제1 및 제2 플로우차트이다. 하드디스크 유닛(41)을 단말 장치(20)에 장착하더라도 라이센스의 사용 허락은 가능하며, 이 경우에도 도 18 및 도 19에 따라서 라이센스의 사용 허락이 이루어진다. 또한, 도 18에서의 처리 이전에 단말 장치(20)의 사용자는 하드디스크 유닛(40)의 통상 데이터 기억 영역(2110)에 기억되어 있는 콘텐츠 리스트 파일(160)을 판독하고, 그 판독한 콘텐츠 리스트 파일을참조함으로써, 하드디스크 유닛(40)에 기억되어 있는 콘텐츠로부터 재생할 콘텐츠를 결정하여, 콘텐츠 파일을 특정하고, 라이센스 관리 파일을 판독할 것을 전제로서 설명한다.
도 18를 참조하면, 사용 허락 동작의 개시와 함께, 단말 장치(20)의 사용자로부터 조작 패널(1108)을 통하여 사용 허락 요청이 단말 장치(20)에 인풋된다. 그러면, 컨트롤러(1106)는 버스(BS2)를 통하여 증명서 출력 요구를 출력하고(단계 S300), 재생 회로(1550)는 증명서 출력 요구를 수리한다(단계 S301). 그리고, 재생 회로 (1550)는 증명서 Cp3를 컨트롤러(1106)로 출력하고(단계 S302), 컨트롤러(1106)는 증명서 Cp3를 수리하여(단계 S303), 버스(BS)를 통하여 하드디스크 유닛(40)으로 증명서 Cp3를 출력한다(단계 S304).
그러면, 하드디스크 유닛(40)의 컨트롤러(1420)는, 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 증명서 Cp3=KPcp3//1cp3//E(Ka, H(KPcp3//1cp3))를 수리하고(단계 S305), 인증 처리부(1408)는 수리한 증명서 Cp3 중, 서명 데이터 E(Ka, H(KPcp3//1cp3))를 KPa 보유부(1414)에 보유된 인증키(KPa)에 의해서 복호하고, 그 복호된 해쉬값 H(KPcp3//1cp3)를 컨트롤러(1420)로 출력한다. 컨트롤러(1420)는 증명서 Cp3 중, 데이터 KPcp3//1cp3에 대한 해쉬값을 연산하고, 그 연산한 해쉬값이 재생 회로(1550)에서 연산된 해쉬값 H(KPcp3//1cp3)에 일치하는지의 여부를 확인한다. 그리고, 컨트롤러(1420)는 재생 회로(1550)로부터 수리한 증명서 Cp3 중, 서명 데이터 E(Ka, H(KPcp3//1cp3))가 인증 처리부(1408)에서 복호된 것, 및 2개의 해쉬값이 일치하는 것을 확인하므로써, 재생 회로(1550)로부터 수리한 증명서 Cp3를 검증한다(S306). 증명서 Cp3가 비인증인 경우, 컨트롤러(1420)는 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)의 컨트롤러(1106)로 에러 통지를 출력하고(단계 S341), 컨트롤러(1106)는 에러 통지를 수리한다(단계 S342). 그리고, 콘텐츠키(Kc)의 출력 거부에 따라서 사용 허락 처리가 종료된다(단계 S343).
증명서가 승인된 경우, 컨트롤러(1420)는 하드디스크(1430, 1431)의 관리 데이터 기억 영역(2210)으로부터 증명서 실효 리스트(CRL)를 판독하도록 시크 제어부(1425) 및 기억 판독 처리부(1424)를 제어한다. 기억 판독 처리부(1424)는 아암 (1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 이용하여 관리 데이터 기억 영역(2210)으로부터 증명서 실효 리스트(CRL)를 판독하고, 그 판독한 증명서 실효 리스트(CRL)를 버스(BS3)로 출력한다. 그리고, 컨트롤러(1420)는 버스(BS3)를 통하여 증명서 실효 리스트(CRL)를 취득하고(단계 S307), 증명서 Cm1이 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다(단계 S308). 구체적으로는, 컨트롤러(1420)는 재생 회로(1550)의 증명서 Cp3의 증명서 번호가 증명서 실효 리스트(CRL)에 포함되는지의 여부를 판정한다. 재생 회로(1550)의 증명서 Cp3가 증명서 실효 리스트(CRL)에 포함될 때, 에러 통지를 버스(BS3), ATA-인터페이스 (1438) 및 단자(1439)를 통하여 단말 장치(20)로 출력하고, 콘텐츠키(Kc)의 출력 거부에 따라 사용 허락 동작이 종료된다(S341∼S343).
단계 S308에 있어서, 재생 회로(1550)의 증명서 Cp3가 증명서 실효 리스트 (CRL)에 포함되지 않는다고 판정되었을 때, 컨트롤러(1420)는 재생 회로(1550)로부터의 클래스 공개 암호키 KPcp3를 수리하고(단계 S309), 세션키 Ks1d를 생성하도록 세션키 발생부(1418)를 제어하고, 세션키 발생부(1418)는 세션키 Ks1d를 생성한다 (단계 S310).
그 후, 세션키 Ks1d는 인증 처리부(1408)에 의해 얻어진 재생 회로(1550)에 대응하는 클래스 공개 암호키 KPcp3에 의해, 암호 처리부(1410)를 통하여 암호화된다(단계 S311).
컨트롤러(1420)는 암호화 데이터 E(KPcp3, Ks1d)를 버스(BS3)를 통하여 암호화 처리부(1410)로부터 받고, 그 받은 암호화 데이터 E(KPcp3, Ks1d)를 버스 (BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 송신한다(단계 S312).
단말 장치(20)가 암호화 데이터 E(KPcp3, Ks1d)를 수신하면(단계 S313), 컨트롤러(1106)는 암호화 데이터 E(KPcp3, Ks1d)를 버스(BS2)를 통하여 재생 회로 (1550)로 출력하고(단계 S314), 재생 회로(1550)는 버스(BS2)를 통하여 암호화 데이터 E(KPcp3, Ks1d)를 수리한다(단계 S315). 그리고, 암호화 데이터 E(KPcp3, Ks1d)는 복호 처리부(1504)에 부여되고, 복호 처리부(1504)는 암호화 데이터 E(KPcp3, Ks1d)를 Kcp 보존부(1502)로부터의 클래스 비밀 복호키 Kcp3에 의해 복호하여, 하드디스크 유닛(40)에서 생성된 세션키 Ks1d를 수리한다(단계 S316).
그러면, 세션키 발생부(1508)는 사용 허락용의 세션키 Ks2d를 생성하고 (단계 S317), 그 생성한 세션키 Ks2d를 암호 처리부(1506)로 출력한다. 암호 처리부(1506)는, 세션키 발생부(1508)로부터의 세션키 Ks2d를 복호 처리부(1504)로부터의 세션키 Ks1d에 의해 암호화하여 암호화 데이터 E(Ks1d, Ks2d)를 생성하고(단계 S318), 암호화 데이터 E(Ks1d, Ks2d)를 컨트롤러(1106)로 출력한다(단계 S319). 그리고, 컨트롤러(1106)는 버스(BS2)를 통하여 암호화 E(Ks1d, Ks2d)를 수리하고(단계 S320), 버스(BS)를 통하여 암호화 데이터 E(Ks1d, Ks2d)를 하드디스크 유닛(40)으로 출력한다(단계 S321).
그러면, 하드디스크 유닛(40)의 복호 처리부(1412)는 단자(1439), ATA-인터페이스(1438), 및 버스(BS3)를 통하여 암호화 데이터 E(Ks1d, Ks2d)를 받는다(단계 S322). 복호 처리부(1412)는 세션키 발생부(1418)에서 발생된 세션키(Ks1d)에 의해 암호화 데이터 E(Ks1d, Ks2d)를 복호하여, 재생 회로(1550)에서 생성된 세션키 Ks2d를 수리한다(단계 S323).
단말 장치(20)의 컨트롤러(1106)는 사전에 판독한 재생 대상의 컨텐츠에 대응하는 라이센스 관리 파일로부터 라이센스(LIC)의 저장 LBA를 추출하고, 버스 (BS)를 통하여 하드디스크 유닛(40)으로 추출한 저장 LBA를 출력한다(단계 S324). 저장 LBA는 라이센스(LIC)가 기억되어 있는 논리 어드레스이다.
하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 라이센스(LIC)의 저장 LBA를 수리하고(단계 S325), 그 수리한 저장 LBA가 보호 데이터 기억 영역(2120)에 대해서 할당된 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있는지의 여부를 판정한다(단계 S326). 저장 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위를 넘을 때, 라이센스키(Kc)의 출력 거부에 따라 사용 허락 처리가 종료된다(단계 S341∼S343).
한편, 단계 S326에 있어서, 저장 LBA가 논리 어드레스 sLBA+1∼maxLBA의 범위내에 있다고 판정되었을 때, 하드디스크 유닛(40)의 컨트롤러(1420)는 관리 테이블(170)의 저장 LBA에 대한 유효 플래그를 판독한다. 구체적으로는, 컨트롤러 (1420)는 관리 데이터 기억 영역(2210)에 기억된 관리 테이블(170)의 저장 LBA에 대응하는 유효 플래그가 포함되어 있는 일부, 1 기억 블록을 판독하도록 시크 제어부(1425) 및 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 관리 데이터 기억 영역(2210)에 기억된 관리 테이블(170)의 일부를 하드디스크(1430, 1431)상의 관리 데이터 기억 영역(2210)으로부터 판독하여 버스 (BS3)로 출력한다. 그러면, 컨트롤러(1420)는 버스(BS3)로부터 관리 테이블의 일부를 취득하고, 그 취득한 관리 테이블의 일부로부터 저장 LBA에 대한 유효 플래그를 추출함으로써 취득한다(단계 S327). 그리고, 컨트롤러(1420)는 취득한 저장 LBA에 대한 유효 플래그가 유효한지의 여부를 판정한다(단계 S328). 유효 플래그가 유효하지 않다고 판정되었을 때, 상술한 바와 같이 컨트롤러(1420)는 에러 통지를 출력하고, 컨텐츠키(Kc)의 출력 거부에 따라 사용 허락 처리가 종료된다(단계 S341∼S343).
단계 S328에 있어서, 저장 LBA에 대한 유효 플래그가 유효하다고 판정되면, 컨트롤러(1420)는 수리한 저장처 LBA에 기록되어 있는 라이센스를 판독하기 위해 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장 LBA에 대응한 하드디스크(1430, 1431)상의 보호 데이터 기억 영역(2120)의 기억 블록에 기억되어 있는 암호화 데이터 E(Kr2, LIC)의 판독을 기억 판독 처리부(1424)에 지시한다.그리고, 기억 판독 처리부(1424)는 헤드(1435∼1437)를 통하여, 저장 LBA에 따라 지정된 영역에 기억된 암호화 데이터 E(Kr2, LIC)를 보호 데이터 기억 영역(2120)으로부터 판독하고(단계 S329), 그 판독한 암호화 데이터 E(Kr2, LIC)를 버스(BS3)로 출력한다. 그러면, 컨트롤러(1420)는 버스(BS3)상의 암호화 데이터 E(Kr2, LIC)를 복호 처리부(1428)로 부여하고, 복호 처리부(1428)는 암호화 데이터 E(Kr2, LIC)를 Kr 보유부(1429)로부터의 개별 기록키(Kr2)에 의해 복호하여, 라이센스(LIC)를 버스(BS3)로 출력한다(단계 S330).
도 19를 참조하면, 컨트롤러(1420)는 버스(BS3)상의 라이센스(LIC)를 라이센스 레지스터(1423)로 저장하고(단계 S331), 그 저장된 라이센스(LIC)에 포함되는 제어 정보(AC)에 근거하여 라이센스(LIC)의 사용 조건을 확인한다(단계 S332). 구체적으로는, 컨트롤러(1420)는 제어 정보(AC)에 포함되는 재생 회수를 체크한다. 그리고, 재생 회수가 재생 불가(=0)일때, 단계 S341, S342를 거쳐, 컨텐츠키(Kc)의 출력 거부에 따라 사용 허락 처리가 종료한다. 재생 회수가 무제한(=255)일 때, 단계 S344로 이행한다. 한편, 재생 회수가 제한(=1∼254)되어 있을 때, 컨트롤러(1420)는 라이센스 레지스터(1423)에 저장되어 있는 라이센스(LIC)의 제어 정보(AC)에 포함되는 재생 회수를 1 감하여 변경한다. 그러면, 컨트롤러(1420)는 라이센스 레지스터(1423)에 저장되어 있는 라이센스(LIC)를 암호 처리부(1427)에서, 암호화 데이터 E(Kr2, LIC)로 한 후, 저장 LBA에 따라 지정되는 기억 블록에 덧쓰기 하기 위해서, 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장처 LBA에 대응한 하드디스크(1430, 1431)상의 기억 블록에 암호화 데이터E(Kr2, LIC)를 덧쓰기 기록하도록 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 저장처 LBA에 기억되어 있는 암호화 데이터를, 라이센스 (LIC)에 포함되는 제어 정보(AC)가 변경된 암호화 데이터 E(Kr2, LIC)로 변경하여 재기록한다(단계 S333). 그리고, 단계 S332에 있어서, 재생 회수가 무제한(=255)일 때, 또는 단계 S333 이후, 컨트롤러(1420)는 라이센스 레지스터(1423)에 저장된 라이센스(LIC)로부터 컨텐츠키(Kc)를 추출하고, 그 컨텐츠키(Kc)를 암호 처리부(1406)에 부여한다. 그리고, 암호 처리부(1406)는 컨텐츠키(Kc)를 복호처리부(1412)에 의해 복호된 세션키 Ks2d에 의해 암호화하여, 암호화 데이터(Ks2d, Kc)를 생성한다(단계 S334). 그리고, 컨트롤러(1420)는 암호 처리부(1406)로부터의 암호화 데이터 E(Ks2d, Kc)를 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)의 컨트롤러(1106)로 출력하고(단계 S335), 컨트롤러(1106)는 암호화 데이터 E(Ks2d, Kc)를 수리한다(단계 S336). 그리고, 컨트롤러(1106)는 암호화 데이터 E(Ks2d, Kc)를 버스(BS2)를 통하여 복호 처리부(1510)로 출력하고(단계 S337), 복호 처리부(1510)는 암호화 데이터 E(Ks2d, Kc)를 수리한다(단계 S338).
그러면, 복호 처리부(1510)는 암호화 데이터 E(Ks2d, Kc)를 세션키 발생부 (1508)로부터의 세션키(Ks2d)에 의해 복호하여, 컨텐츠키(Kc)를 수리한다(단계 S339). 그리고, 사용 허락의 처리가 정상적으로 종료된다(단계 S340).
또한, 컨텐츠를 재생하기 위해서는 라이센스(LIC)의 재생 회로(1550)로의 사용 허락 처리가 종료된 후, 컨트롤러(1106)는 하드디스크 유닛(40)에 대해 암호화컨텐츠 데이터 E(Kc, Dc)를 요구한다. 그러면, 하드디스크 유닛(40)의 컨트롤러(1420)는 통상 데이터 기억 영역(2110)으로부터 암호화 컨텐츠 데이터 E(Kc, Dc)를 취득하여, 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)로 암호화 컨텐츠 데이터 E(Kc, Dc)를 출력한다.
단말 장치(20)의 컨트롤러(1106)는 암호화 컨텐츠 데이터 E(Kc, Dc)를 취득하여, 버스(BS2)를 통하여 암호화 컨텐츠 데이터 E(Kc, Dc)를 재생 회로(1550)로 부여한다.
그리고, 재생 회로(1550)의 복호 처리부(1516)는 암호화 컨텐츠 데이터 E(Kc, Dc)를 복호 처리부(1510)로부터 출력된 컨텐츠키(Kc)에 의해 복호하여 컨텐츠 데이터(Dc)를 취득한다.
그리고, 복호된 컨텐츠 데이터(Dc)는 컨텐츠 디코더(1518)로 출력되고, 컨텐츠 디코더(1518)는 컨텐츠 데이터를 재생하고, DA 변환기(1519)는 디지털 신호를 아나로그 신호로 변환하여 단자(1530)로 출력한다. 그리고, 음악 데이터는 단자 (1530)로부터 외부의 출력 장치(예를 들면, 텔레비젼 모니터)로 출력된다. 따라서, 사용자는 출력 장치를 통하여 재생된 컨텐츠를 즐길 수 있다.
하드디스크 유닛(40)으로부터의 암호화 컨텐츠 데이터 E(Kc, Dc)의 판독은, 도 11의 통상 데이터의 판독 처리(단계 S70)에 따라 수행되므로, 여기에서는 상세한 설명을 하지 않는다.
이 경우, 기밀성이 요구되는 데이터를 라이센스내의 컨텐츠키(Kc)로 대체함으로써 용이하게 실현할 수 있다.
〔통상 데이터의 기입 처리〕
도 20을 참조하여, 도 11에 나타낸 통상 데이터 기입 처리(단계 S60)의 상세한 동작에 대해 설명한다. 동작이 개시되면, 단말 장치(20)의 컨트롤러(1106)는 통상 데이터를 기억하기 위한 저장 LBA와, 저장 LBA에 의해 특정되는 기억 블록에 기억하기 위한 512 바이트의 데이터 블록과 기입 요구를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력한다(단계 S401). 그러면, 하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 저장 LBA와, 데이터 블록과, 기입 요구를 수리하고(단계 S402), 수리한 저장 LBA가 통상 데이터 기억 영역(2110)에 대해서 할당된 논리 어드레스 0∼sLBA의 범위내에 있는지의 여부를 판정한다(단계 S403). 저장 LBA가 논리 어드레스 0∼sLBA의 범위를 넘을 때, 컨트롤러(1420)는 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 에러 통지를 출력하고(단계 S406), 단말 장치(20)는 에러 통지를 수리하여(단계 S407), 일련의 동작이 에러에 의해 종료된다(단계 S408).
한편, 단계 S403에 있어서, 저장 LBA가 논리 어드레스 0∼sLBA의 범위내에 있을 때, 컨트롤러(1420)는 수리한 저장 LBA에 대해서 라이센스를 기록하기 위해 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장 LBA에 대응한 하드디스크(1430, 1431)상의 통상 데이터 기억 영역(2110)의 기억 블록에 수리한 데이터 블록을 기억하도록 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 아암 (1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 통하여,저장 LBA에 따라 지정된 영역에 수리한 데이터 블록을 기억한다(단계 S404). 그 후, 통상 데이터 기입 처리가 정상으로 종료된다(단계 S405).
〔통상 데이터의 판독 처리〕
도 21을 참조하여, 도 11에 나타낸 통상 데이터 판독 처리(단계 S70)의 상세한 동작에 대해 설명한다. 동작이 개시되면, 단말 장치(20)의 컨트롤러(1106)는 통상 데이터를 판독하기 위한 저장 LBA와, 판독 요구를 버스(BS2) 및 하드디스크 인터페이스(1200)를 통하여 하드디스크 유닛(40)으로 출력한다(단계 S501). 그러면, 하드디스크 유닛(40)의 컨트롤러(1420)는 단자(1439), ATA-인터페이스(1438) 및 버스(BS3)를 통하여 저장 LBA와, 판독 요구를 수리하고(단계 S502), 수리한 저장 LBA가 통상 데이터 기억 영역(2110)에 대해서 할당된 논리 어드레스 0∼sLBA의 범위내에 있는지의 여부를 판정한다(단계 S503). 저장 LBA가 논리 어드레스 0∼sLBA의 범위를 넘을 때, 컨트롤러(1420)는 버스(BS3), ATA-인터페이스(1438) 및 단자(1439)를 통하여 에러 통지를 출력하고(단계 S508), 단말 장치(20)는 에러 통지를 수리하여(단계 S509), 일련의 동작이 에러에 의해 종료된다(단계 S510).
한편, 단계 S503에 있어서, 저장 LBA가 논리 어드레스 0∼sLBA의 범위내에 있을 때, 컨트롤러(1420)는 수리한 저장 LBA에 기록되어 있는 라이센스를 판독하기 위해서, 헤드(1435∼1437)의 이동을 시크 제어부(1425)에 지시하고, 저장 LBA에 대응한 하드디스크(1430, 1431)상의 통상 데이터 기억 영역(2110)의 기억 블록에 기록되어 있는 데이터 블록의 판독을 기억 판독 처리부(1424)에 지시한다. 그리고, 기억 판독 처리부(1424)는 아암(1433A∼1433C)의 선단에 고정된 헤드(1435∼1437)를 통하여, 저장 LBA에 따라 지정된 기억 블록으로부터 데이터 블록을 판독한다(단계 S504). 그 후, 기억 판독 처리부(1424)는 판독한 데이터 블록을 버스(BS3)상으로 출력하고, 컨트롤러(1420)는 ATA-인터페이스(1438) 및 단자(1439)를 통하여 판독한 데이터 블록을 단말 장치(20)로 출력한다(단계 S505). 그리고, 단말 장치(20)는 데이터 블록을 수리하고(단계 S506), 통상 데이터 판독 처리가 정상으로 종료된다(단계 S507).
본 발명에 의한 하드디스크 유닛은 도 22에 나타낸 하드디스크 유닛(40A)이어도 된다. 도 22를 참조하면, 하드디스크 유닛(40A)은 제어 유닛(1440A, 1440B)과, 하드디스크(1430, 1431)와, 지주(1433)와, 아암(1433A∼1433C)과, 헤드(1435∼1437)와, 단자(1439)를 구비한다.
지주(1433), 아암(1433A∼1433C), 헤드(1435∼1437) 및 단자(1439)에 대해서는 상술한 바와 같다.
제어 유닛(1440A)은 버스(BS3)와, 증명서 보유부(1400)와, Kom2 보유부 (1402)와, 복호 처리부(1402, 1412, 1422, 1428)와, 암호 처리부(1406, 1410, 1417, 1427)와, 인증 처리부(1408)와, KPa 보유부(1414)와, KPom 보유부(1416)와 세션키 발생부(1418)와, 컨트롤러(1420)와, Kcm 보유부(1421)와, 라이센스 레지스터(1423)와, Kr 보유부(1429)와, 내부 버스 인터페이스(1443)를 포함한다.
버스(BS3)와, 증명서 보유부(1400)와, Kom2 보유부 (1402)와, 복호 처리부(1402, 1412, 1422, 1428)와, 암호 처리부(1406, 1410, 1417, 1427)와, 인증 처리부(1408)와, KPa 보유부(1414)와, KPom 보유부(1416)와 세션키 발생부(1418)와, 컨트롤러(1420)와, Kcm 보유부(1421)와, 라이센스 레지스터(1423)와, 및 Kr 보유부(1429)에 대해서는 상술한 바와 같다. 내부 버스 인터페이스(1443)는 컨트롤러(1420)가 제어 유닛(1440B)과의 사이에서 데이터를 주고 받기 위한 인터페이스이다.
제어 유닛(1440B)은 버스(BS4)와, 기억 판독 처리부(1424)와, 시크 제어부 (1425)와, 서보 제어부(1426)과, ATA-인터페이스(1438)와, 컨트롤러(1441)와, 내부버스 인터페이스(1442)를 포함한다.
기억 판독 처리부(1424)는 시크 제어부(1425), 서보 제어부(1426) 및 ATA-인터페이스(1438)에 대해서는 상술한 바와 같다. 컨트롤러(1441)는 제어 유닛 (1440B)의 각부와의 사이에서 버스(BS4)를 통하여 데이터의 주고 받음을 행함과 동시에, ATA-인터페이스(1438) 및 단자(1439)를 통하여 단말 장치(20)과의 사이에서 데이터의 주고 받음을 행한다. 내부 버스 인터페이스(1442)는 컨트롤러(1441)가 제어 유닛(1440A)와의 사이에서 데이터의 주고 받음을 위한 인터페이스이다.
제어 유닛(1440A)은 주로 하드디스크(1430, 1431)에 기밀 데이터를 기록/및 또는 재생할 때의 제어를 수행하는 것이며, 제어 유닛(1440B)은 주로 하드디스크 유닛(1430, 1431)에 비기밀 데이터를 기록 및/또는 재생할 때의 제어를 행하는 것이다.
이와 같이, 하드디스크 유닛의 구성을 기밀 데이터의 기록 및/또는 재생을 행하는 제어계와, 비기밀 데이터의 기록 및/또는 재생을 행하는 제어계로 나눔에 따라, 보다 고속으로 기록 및/또는 재생을 행할 수 있다. 즉, 하드디스크(1430,1431)는 멀티 액세스가 가능한 기록 매체이므로, 제어 유닛(1440A)을 이용하여 암호화 콘텐츠 데이터를 복호하기 위한 라이센스를 하드디스크(1430, 1431)에 기록 및/또는 재생을 수행하는 동작과 병행하여, 제어 유닛(1440B)을 이용하여 비기밀 데이터를 하드디스크(1430, 1431)에 기록 및/또는 재생을 수행할 수 있다.
따라서, 하드디스크 유닛(40A)을 이용함으로써, 상술한 초기화 처리, 보호 데이터 기입 처리, 보호 데이터의 이동/복제 처리, 보호 데이터의 사용 허락 처리, 통상 데이터 기입 처리, 및 통상 데이터 판독 처리를, 이들 처리 중에서 선택한 복수의 처리를 병행하면서 수행할 수 있다. 그리고, 각 처리는 상술한 도 11 ∼도 21에 나타낸 플로우차트에 따라서 수행된다.
상기에 있어서, 보호 데이터 기억 영역(2120)의 기밀성을 확보하기 위해, 라이센스(LIC)를 기억할 때에, 개별 기록키(Krz)를 이용하여 암호화한 암호화 라이센스 E(Krz, LIC)를 기록하도록 설명했으나, 다른 방법에 의해서 하드디스크(1430, 1431)로 기록된 라이센스(LIC)의 기밀성을 유지할 수 있는 경우, 즉 하드디스크 (1430,1431)로부터의 라이센스의 누설을 방지할 수 있는 경우는, 라이센스(LIC)는 개별 기록키(Krz)에 의해 암호화가 수행되지 않아도 된다.
이와 같은 경우로서는, 예를 들면 하드디스크 유닛(40, 40A)이 암호화라는 수단을 이용하지 않고, 기밀성을 확보할 수 있는 구조에 의해 작성되었을 경우, 또는 하드디스크(1430, 1431)로 라이센스(LIC)를 기록하기 위해 기억 판독 처리부 (1424) 에서 수행되는 변조 방식이 독자 방식이므로, 굳이 암호화를 수행하지 않더라도 기밀성을 유지할 수 있는 경우이다.
이 경우, 도 8에 나타낸 하드디스크 유닛(40) 및 도 22에 나타낸 하드디스크 유닛(40A)의 기능 블록으로부터, 개별 기록키(Krz)에 관한 기능 블록인 암호 처리부(1427), 복호 처리부(1428) 및 Kr 보유부(1429)가 제외된다. 기밀 데이터의 기입 처리, 기밀 데이터의 이동/복제 처리 및 기밀 데이터의 사용 허락 처리에 있어서도 개별 기록키(Krz)에 관한 처리는 생략하여도 된다. 여기에서는 변경점에 대해서의 상세한 설명을 생략한다.
또한 도 13∼도 19에 나타낸 플로우차트에 따라서 보호 데이터 영역 (2120)에 기록하는 라이센스의 입출력('기입', '이동/복제'), 또는 그 일부의 출력('사용 허락')에 있어서, 데이터 기억 장치(하드디스크 유닛; 40, 41)와 라이센스의 제공처(하드디스크 유닛(40)으로부터 본 라이센스 제공 장치(30), 하드디스크 유닛(41)로부터 본 하드디스크 유닛(40)) 또는 제공처(하드디스크 유닛(40)에서본 하드디스크 유닛(41) 및 재생 회로(1550))과의 사이에서의 수순을 설명했으나, 반드시 이 수순에 한정되는 것은 아니다. 단, 데이터 기억 장치가 라이센스의 제공처 또는 제공처와의 사이에서 키의 교환을 수행하고, 최후에 암호화된 상태로 라이센스 또는 그 일부의 출력을 행하는 암호 통신 수단을 구비하면 된다. 또한, 바람직하게는, 라이센스 또는 일부를 출력할 때에, 제공처에 관한 안전성을 확인하기 위한 제공처 확인 수단을 구비하기만 하면 된다.
상기에 있어서는 통상 데이터의 기입 처리 및 통상 데이터의 판독 처리로서 하나의 LBA에 따라 특정되는 기억 블록에 대한 하나의 데이터 블록의 기입/판독을 설명했으나. 하드디스크 유닛(40, 41)이 ATA-인터페이스(1438)를 구비하는 것으로부터도 알 수 있는 바와 같이, 연속하는 LBA에 따라서 특정되는 복수의 기억 블록에 대한 복수의 데이터 블록의 기입/판독을 지정할 수 있다. 이 경우, 선두 LBA와 연속하여 기입/판독을 행하는 기억 블록의 수를 지정함으로써 실현된다. 또한, ATA-인터페이스(1438)을 통하여 입출력되는 데이터 블록의 수는 지정한 기억 블록수와 일치한다.
또한, 상기에 있어서는 암호화 콘텐츠 데이터를 복호하기 위한 라이센스를 예로 하여 설명했으나, 본 발명에 있어서 대상으로 하는 것은 암호화 콘텐츠 데이터를 복호하기 위한 라이센스에 한정되지 않고, 개인 정보, 및 신용 카드의 정보등의 동시에 2개 이상 존재해서는 안되는 기밀성이 요구되는 데이터가 대상이 된다. 이와 같은 데이터에 대해서도 상술한 각 처리를 행할 수 있다.
이 경우, 기밀성이 요구되는 데이터를 라이센스내의 컨텐츠키(Kc)로 대체함으로써 용이하게 실현할 수 있다.
금회 개시된 실시 형태는 모든 점에서 예시로서 제한적인 것은 아니라고 생각되어야 한다. 본 발명의 범위는 상기한 실시 형태의 설명이 아니라 특허 청구의 범위에 의해 나타나며, 특허 청구의 범위와 균등한 의미 및 범위내에서 모든 변경이 포함되는 것을 의미한다.
본 발명에 의하면, 기밀 데이터를 안전하게 기록하는 영역을 구비한 기억 장치를 제공할 수 있으며, 특히 기밀 데이터를 기록하는 영역을 임의로 설정 가능한 기억 장치를 제공할 수 있다.

Claims (13)

  1. 기밀 데이터와 비기밀 데이터의 입출력을 행하고, 상기 기밀 데이터와 비기밀 데이터를 기억하는 데이터 기억 장치에 있어서,
    외부와 데이터의 입출력을 행하는 인터페이스와,
    데이터를 기억하는 데이터 기억 수단과,
    상기 인터페이스를 통한 상기 기밀 데이터의 입출력에 있어서, 상기 기밀 데이터의 제공원 또는 제공처와의 사이에서 암호로를 구축하고, 그 암호로를 통하여 상기 기밀 데이터의 입출력을 행하는 암호 통신 수단과,
    제어 수단을 구비하고,
    상기 데이터 기억 수단은,
    상기 기밀 데이터와 상기 비기밀 데이터를 기억하기 위한 사용자 영역(2100)을 포함하고,
    상기 사용자 영역은,
    상기 기밀 데이터를 기억하는 제1 기억 영역과,
    상기 사용자 영역으로부터 상기 제1 기억 영역을 제외한 영역으로 이루어지며, 상기 비기밀 데이터를 기억하는 제2 기억 영역으로 분할되고,
    상기 제어 수단은, 상기 인터페이스 및 암호 통신 수단을 통하여 입출력된 데이터를 상기 기밀 데이터로서 상기 제1 기억 영역에 기입 또는 판독을 행하고, 상기 인터페이스만을 통하여 입출력된 데이터를 상기 비기밀 데이터로서 상기 제2기억 영역에 기입 또는 판독을 행하는 것을 특징으로 하는 데이터 기억 장치.
  2. 제1항에 있어서, 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역에 있어서,
    상기 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스 범위를 특정하기 위한 정보, 및 암호 통신 수단을 통한 암호 통신을 행하기 위해 필요한 정보를 적어도 포함하는 당해 데이터 기억 장치의 이용시에 필요한 기능 정보를 상기 인터페이스로 출력하는 기능 정보 출력 수단을 더 구비하는 것을 특징으로 하는 데이터 기억 장치.
  3. 제2항에 있어서, 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역에 있어서,
    제1 및 제2 기억 영역의 분할은 상기 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스의 범위를 특정하는 변경치를, 상기 인터페이스를 통하여 입력받음으로써 변경하는 것을 특징으로 하는 데이터 기억 장치.
  4. 제2항에 있어서, 상기 기밀 데이터를 당해 데이터 기억 장치 내부에서 관리되는 비밀키에 의해 암호화하는 암호 처리 수단과,
    암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 복호 처리 수단을 더 구비하고,
    상기 기밀 데이터의 기입시에,
    상기 암호 처리 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 상기 비밀키에 의해 암호화하고,
    상기 제어 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 기입할 상기 제1 기억 영역의 어드레스를 상기 인터페이스를 통하여 받고, 상기 암호 처리 수단에 의해 암호화된 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로 기억시키고,
    상기 기밀 데이터의 판독시에,
    상기 제어 수단은 상기 인터페이스를 통하여 상기 기밀 데이터를 판독할 상기 제1 기억 영역의 어드레스를 수신하고, 암호화된 상기 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로부터 판독하여, 상기 복호 처리 수단으로 부여하고,
    상기 복호 처리 수단은 판독된 암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 것을 특징으로 하는 데이터 기억 장치.
  5. 제4항에 있어서, 상기 암호 통신 수단은 독립된 반도체 소자에 의해 구성되는 것을 특징으로 하는 데이터 기억 장치.
  6. 제3항에 있어서, 상기 사용자 영역은 연속하는 어드레스에 의해서 지정 가능한 영역이며,
    상기 변경치는 상기 제1 기억 영역과 상기 제2 기억 영역의 경계를 지정하는 경계 어드레스인 것을 특징으로 하는 데이터 기억 장치.
  7. 제1항에 있어서, 상기 암호 통신 수단은,
    다른 기기로부터 입력된 증명서를 받고, 그 받은 증명서의 정당성을 확인하는 인증 처리를 행하는 인증 수단과,
    통신 제어 수단을 포함하고,
    상기 기밀 데이터 판독시에,
    상기 통신 제어 수단은 상기 인터페이스를 통하여 수취한 증명서를 상기 인증 수단에 부여하고, 상기 인증 수단에 있어서 상기 증명서의 정당성이 확인되었을 때, 상기 증명서의 출력처와 암호로를 구축하고, 상기 증명서가 정당하지 않다고 확인되었을 때 에러 통지를 상기 인터페이스를 통하여 외부로 출력하는 것을 특징으로 하는 데이터 기억 장치.
  8. 제7항에 있어서, 상기 데이터 기억 수단은, 상기 기밀 데이터의 출력이 금지된 증명서를 특정하는 정보를 열거한 증명서 실효 리스트를 기록하기 위한 비사용자 영역을 더 포함하고,
    상기 통신 제어 수단은 상기 비사용자 영역으로부터 상기 증명서 실효 리스트를 판독하여, 다른 기기로부터 입력된 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서인지의 여부를 더 판단하고,
    상기 기밀 데이터 판독시에,
    상기 통신 제어 수단은, 상기 인증 수단이 상기 수취한 증명서를 정당하다고 인증한 경우, 상기 비사용자 영역으로부터 상기 인증서 실효 리스트를 판독하고, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서인지의 여부를 판단하여, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서가 아니라고 판단했을 때, 상기 증명서의 출력처와 암호로를 구축하고, 상기 수취한 증명서가 상기 증명서 실효 리스트에 의해 특정되는 증명서라고 판단했을 때, 에러 통지를 상기 인터페이스를 통하여 외부로 출력하는 것을 특징으로 하는 데이터 기억 장치.
  9. 제8항에 있어서, 상기 기밀 데이터의 기입시에,
    상기 통신 제어 수단은, 상기 기밀 데이터와 함께 새로운 증명서 실효 리스트를 수취하면, 상기 비사용자 영역에 기억된 증명서 실효 리스트를 상기 수취한 증명서 실효 리스트로 재기록하는 것을 특징으로 하는 데이터 기억 장치.
  10. 기밀 데이터와 비기밀 데이터를 입출력하고, 상기 기밀 데이터와 비기밀 데이터를 기억하는 데이터 기억 장치에 있어서,
    외부와 데이터의 입출력을 행하는 인터페이스와,
    데이터를 기억하는 원반형 자기 기억 매체와,
    상기 원반형 자기 기록 매체에 대한 데이터의 기입 및 판독을 행하는 기입판독 처리 수단과,
    상기 인터페이스를 통한 상기 기밀 데이터의 입출력에 있어서, 상기 기밀 데이터의 제공원 또는 제공처와의 사이에서 암호로를 구축하고, 그 암호로를 통하여 상기 기밀 데이터의 입출력을 행하는 암호 통신 수단과,
    제어 수단을 구비하고,
    상기 원반형 자기 기록 매체는,
    상기 기밀 데이터와 상기 비기밀 데이터를 기억하기 위한 일정량의 기억 용량을 확보한 사용자 영역을 포함하고,
    상기 사용자 영역은,
    상기 기밀 데이터를 기억하는 제1 기억 영역과,
    상기 사용자 영역으로부터 상기 제1 기억 영역을 제외한 영역으로 이루어지며, 상기 비기밀 데이터를 기억하는 제2 기억 영역으로 분할되고,
    상기 제어 수단은 상기 인터페이스 및 암호 통신 수단을 통하여 입출력된 데이터를, 상기 기밀 데이터로서 상기 제1 기억 영역에 기입 또는 판독을 행하도록 기입 판독 처리 수단을 제어하고, 상기 인터페이스만을 통하여 입출력된 데이터를 상기 비기밀 데이터로서 상기 제2 기억 영역에 기입 또는 판독을 행하도록 기입 판독 처리 수단을 제어하는 것을 특징으로 하는 데이터 기억 장치.
  11. 제10항에 있어서, 상기 기밀 데이터를 당해 데이터 기억 장치 내부에서 관리되는 비밀키에 의해 암호화하는 암호 처리 수단과,
    암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 복호 처리 수단을 더 구비하고,
    상기 기밀 데이터 기입시에,
    상기 암호 처리 수단은 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 상기 비밀키에 의해 암호화하고,
    상기 제어 수단은, 상기 암호 통신 수단을 통하여 입력된 상기 기밀 데이터를 기입할 상기 제1 기억 영역의 어드레스를 상기 인터페이스를 통하여 수신하고, 상기 암호 처리 수단에 의해서 암호화된 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로 기억하도록 기입 판독 처리 수단을 제어하고,
    상기 기밀 데이터 판독시에,
    상기 제어 수단은, 상기 인터페이스를 통하여 상기 기밀 데이터를 판독할 상기 제1 기억 영역의 어드레스를 수신하고, 암호화된 상기 기밀 데이터를 상기 제1 기억 영역의 상기 수취한 어드레스로부터 판독하도록 기입 판독 처리 수단을 제어하고, 판독한 암호화된 상기 기밀 데이터를 상기 복호 처리 수단으로 부여하고,
    상기 복호 처리 수단은, 판독된 암호화된 상기 기밀 데이터를 상기 비밀키에 의해 복호하는 것을 특징으로 하는 데이터 기억 장치.
  12. 제11항에 있어서, 상기 암호 통신 수단은, 독립된 반도체 소자에 의해 구성되는 것을 특징으로 하는 데이터 기억 장치.
  13. 제10항에 있어서, 상기 사용자 영역은, 연속하는 어드레스에 의해 지시 가능한 영역이며,
    상기 제1 및 제2 기억 영역의 분할은, 상기 제1 기억 영역 또는/및 제2 기억 영역을 지정하는 어드레스의 범위를 특정하는 변경치를, 상기 인터페이스를 통하여 입력받음으로써 변경하는 것을 특징으로 하는 데이터 기억 장치.
KR10-2003-0015376A 2002-03-14 2003-03-12 기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치 KR20030074382A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00070330 2002-03-14
JP2002070330A JP2003271457A (ja) 2002-03-14 2002-03-14 データ記憶装置

Publications (1)

Publication Number Publication Date
KR20030074382A true KR20030074382A (ko) 2003-09-19

Family

ID=28035050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0015376A KR20030074382A (ko) 2002-03-14 2003-03-12 기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치

Country Status (4)

Country Link
US (1) US20030177379A1 (ko)
JP (1) JP2003271457A (ko)
KR (1) KR20030074382A (ko)
CN (1) CN1445977A (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4326186B2 (ja) * 2002-04-15 2009-09-02 ソニー株式会社 情報処理装置および方法
JP3922571B2 (ja) * 2003-03-26 2007-05-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4792196B2 (ja) * 2003-03-27 2011-10-12 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
GB0312877D0 (en) * 2003-06-05 2003-07-09 Koninkl Philips Electronics Nv Secure transfer of data
JP4537022B2 (ja) * 2003-07-09 2010-09-01 株式会社日立製作所 データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
US7721104B2 (en) * 2003-10-20 2010-05-18 Nokia Corporation System, method and computer program product for downloading pushed content
KR100643278B1 (ko) 2003-10-22 2006-11-10 삼성전자주식회사 휴대용 저장 장치의 디지털 저작권을 관리하는 방법 및 장치
JP4698211B2 (ja) * 2003-12-15 2011-06-08 株式会社リコー 情報処理装置、画像形成装置、電子データの移動の取り消し方法
JP4707373B2 (ja) * 2003-12-16 2011-06-22 株式会社リコー 電子装置、電子装置の制御方法、プログラム、記録媒体、管理システム、および交換部材
WO2005088461A1 (en) * 2004-03-17 2005-09-22 Digisafe Pte Ltd Method and device for protecting data stored in a computing device
US8024560B1 (en) * 2004-10-12 2011-09-20 Alten Alex I Systems and methods for securing multimedia transmissions over the internet
CN101091184B (zh) 2005-01-18 2010-04-14 松下电器产业株式会社 数据存储方法、数据记录装置和数据播放装置
US7673346B1 (en) * 2005-06-22 2010-03-02 Symantec Corporation Intra-data license for using data
JP4928117B2 (ja) * 2005-11-10 2012-05-09 キヤノン株式会社 画像処理装置、画像管理方法、文書管理装置、文書管理方法、コンピュータプログラム及びコンピュータ読み取り可能な記憶媒体
US20070168284A1 (en) * 2006-01-10 2007-07-19 International Business Machines Corporation Management of encrypted storage media
US7808867B2 (en) * 2006-02-01 2010-10-05 Wellen Sham System with read protecting function
US20070266443A1 (en) * 2006-05-12 2007-11-15 Hitachi Global Storage Technologies Netherlands B.V. Certified HDD with network validation
JP4651586B2 (ja) * 2006-07-11 2011-03-16 シャープ株式会社 録画再生装置
JP4869815B2 (ja) * 2006-07-28 2012-02-08 京セラ株式会社 携帯端末装置、その制御方法、およびプログラム
US8010809B1 (en) * 2007-06-22 2011-08-30 Qlogic, Corporation Method and system for securing network data
US20100031057A1 (en) * 2008-02-01 2010-02-04 Seagate Technology Llc Traffic analysis resistant storage encryption using implicit and explicit data
US20090196417A1 (en) * 2008-02-01 2009-08-06 Seagate Technology Llc Secure disposal of storage data
US8103844B2 (en) 2008-02-01 2012-01-24 Donald Rozinak Beaver Secure direct platter access
US20090319772A1 (en) * 2008-04-25 2009-12-24 Netapp, Inc. In-line content based security for data at rest in a network storage system
US9395929B2 (en) * 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US8117464B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8001357B2 (en) * 2008-04-30 2011-08-16 Microsoft Corporation Providing a single drive letter user experience and regional based access control with respect to a storage device
US8589697B2 (en) 2008-04-30 2013-11-19 Netapp, Inc. Discarding sensitive data from persistent point-in-time image
JP5284905B2 (ja) 2009-08-12 2013-09-11 富士通株式会社 データ移行方法、及びプログラム
EP2467799A1 (en) * 2009-08-17 2012-06-27 Cram, Inc. Digital content management and delivery
US8635422B1 (en) * 2009-10-29 2014-01-21 Symantec Corporation Systems and methods for reclaiming storage space from deleted volumes on thin-provisioned disks
US8549223B1 (en) 2009-10-29 2013-10-01 Symantec Corporation Systems and methods for reclaiming storage space on striped volumes
KR101973510B1 (ko) * 2011-06-30 2019-05-09 삼성전자주식회사 컨텐츠를 보호하기 위한 저장 장치 및 호스트 장치와 그 방법
US9509704B2 (en) * 2011-08-02 2016-11-29 Oncircle, Inc. Rights-based system
JP5821558B2 (ja) * 2011-11-17 2015-11-24 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
KR101859646B1 (ko) * 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
AU2013200916B2 (en) * 2012-02-20 2014-09-11 Kl Data Security Pty Ltd Cryptographic Method and System
CN102737185B (zh) * 2012-06-08 2015-07-01 杭州华澜微科技有限公司 数字版权保护方法
KR20140072276A (ko) 2012-11-29 2014-06-13 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
US8891773B2 (en) * 2013-02-11 2014-11-18 Lsi Corporation System and method for key wrapping to allow secure access to media by multiple authorities with modifiable permissions
US10459892B2 (en) * 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US9836480B2 (en) 2015-01-12 2017-12-05 Qumulo, Inc. Filesystem capacity and performance metrics and visualizations
US11132336B2 (en) 2015-01-12 2021-09-28 Qumulo, Inc. Filesystem hierarchical capacity quantity and aggregate metrics
US10095431B2 (en) * 2015-06-18 2018-10-09 John Edward Benkert Device controller and method of enforcing time-based sector level security
US10095729B2 (en) 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US11151092B2 (en) 2019-01-30 2021-10-19 Qumulo, Inc. Data replication in distributed file systems
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US10860372B1 (en) 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US10936538B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Fair sampling of alternate data stream metrics for file systems
US10936551B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Aggregating alternate data stream metrics for file systems
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11966592B1 (en) 2022-11-29 2024-04-23 Qumulo, Inc. In-place erasure code transcoding for distributed file systems
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3901457A1 (de) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
US4962533A (en) * 1989-02-17 1990-10-09 Texas Instrument Incorporated Data protection for computer systems
KR0146067B1 (ko) * 1990-03-09 1998-09-15 문정환 롬 데이타 보호방법 및 장치
US5058162A (en) * 1990-08-09 1991-10-15 Hewlett-Packard Company Method of distributing computer data files
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5251304A (en) * 1990-09-28 1993-10-05 Motorola, Inc. Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory
US5375243A (en) * 1991-10-07 1994-12-20 Compaq Computer Corporation Hard disk password security system
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
US5651139A (en) * 1993-12-23 1997-07-22 International Business Machines Corporation Protected system partition read/write access on a SCSI controlled DASD
US5657470A (en) * 1994-11-09 1997-08-12 Ybm Technologies, Inc. Personal computer hard disk protection system
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
JP3371186B2 (ja) * 1995-11-27 2003-01-27 ソニー株式会社 ビデオデータ配信システムおよびビデオデータ受信装置
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6003117A (en) * 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
WO2000013089A1 (fr) * 1998-08-31 2000-03-09 Sony Corporation Memoire, processeur et procede de traitement
US6463535B1 (en) * 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6330624B1 (en) * 1999-02-09 2001-12-11 International Business Machines Corporation Access limiting to only a planar by storing a device public key only within the planar and a planar public key only within the device
ATE375566T1 (de) * 2000-03-30 2007-10-15 Siemens Ag Verfahren und system zur freischaltung einer verschlüsselten datei
JP4524523B2 (ja) * 2000-11-10 2010-08-18 ソニー株式会社 記憶媒体、ダウンロード方法及び端末装置
US6912634B2 (en) * 2000-12-28 2005-06-28 Intel Corporation Verifying the integrity of a media key block by storing validation data in a validation area of media
JP2003050745A (ja) * 2001-08-07 2003-02-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7065651B2 (en) * 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
JP4118092B2 (ja) * 2002-06-19 2008-07-16 株式会社ルネサステクノロジ 記憶装置および情報処理装置
JP2006039966A (ja) * 2004-07-27 2006-02-09 Toshiba Corp メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置

Also Published As

Publication number Publication date
JP2003271457A (ja) 2003-09-26
US20030177379A1 (en) 2003-09-18
CN1445977A (zh) 2003-10-01

Similar Documents

Publication Publication Date Title
KR20030074382A (ko) 기밀 데이터의 안전한 액세스를 제공하는 데이터 기억 장치
JP3677001B2 (ja) データ配信システムおよびそれに用いられる記録装置
JP4545994B2 (ja) データ再生装置それに用いるデータ再生回路、およびデータ記録装置
JP3696206B2 (ja) 一意義的にのみ存在が許容される独自データを復元可能なデータ記録装置
KR100715407B1 (ko) 기밀 데이터의 입출력 처리에 관한 이력 정보를 중복하지않고 복수 저장할 수 있는 데이터 기억 장치
JP3930321B2 (ja) データ配信システムおよびそれに使用される記録装置
EP1376303B1 (en) Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
JP3971941B2 (ja) データ記憶装置
US20020138442A1 (en) Content provision device and method and license server capable of facilitating circulation of encrypted content data
KR20030007055A (ko) 컨텐츠 데이터를 용이하게 재취득할 수 있는 데이터 단말장치, 그 단말 장치에서 실행되는 프로그램, 및 그프로그램을 기록한 기록 매체
KR20040015798A (ko) 콘텐츠 판독장치
JP3776352B2 (ja) 記録装置
JP2003248557A (ja) ハードディスクユニット
JP2002164881A (ja) データ端末装置
JP4553472B2 (ja) データ端末装置
JP2002288376A (ja) コンテンツ提供方法、データ再生装置、およびデータ記録装置
JP2002094500A (ja) データ端末装置
JP3851155B2 (ja) ライセンス移動システム、ライセンス管理サーバおよびデータ端末装置
JP4554801B2 (ja) データ端末装置
JP2002009763A (ja) データ再生装置、それを用いた端末装置、および再生方法
JP2002099743A (ja) データ再生装置およびライセンス管理方法
KR101203744B1 (ko) 컨텐츠 재생 관리 시스템 및 컨텐츠 재생 관리 방법
JP2003101521A (ja) ライセンス管理装置およびそれを用いたデータ端末装置
JP2002099342A (ja) コンテンツ端末回路および端末装置
JP4540202B2 (ja) データ再生装置およびデータ端末装置

Legal Events

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