KR20070036688A - 콘텐츠 데이터 관리 시스템 및 장치 - Google Patents

콘텐츠 데이터 관리 시스템 및 장치 Download PDF

Info

Publication number
KR20070036688A
KR20070036688A KR1020060094420A KR20060094420A KR20070036688A KR 20070036688 A KR20070036688 A KR 20070036688A KR 1020060094420 A KR1020060094420 A KR 1020060094420A KR 20060094420 A KR20060094420 A KR 20060094420A KR 20070036688 A KR20070036688 A KR 20070036688A
Authority
KR
South Korea
Prior art keywords
data
license
key
control information
recording
Prior art date
Application number
KR1020060094420A
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 KR20070036688A publication Critical patent/KR20070036688A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 데이터를 복호하기 위한 열쇠 및 데이터의 이용 조건에 관한 제어 정보를 한 쪽의 장치로부터 다른 장치로 전송하는 경우에, 양 장치의 암호 연산에 관한 부하를 경감하는 것을 과제로 한다.
콘텐츠 데이터의 복호화를 관리하기 위한 제어 정보를 취급하는 콘텐츠 데이터 관리 시스템에 있어서, 콘텐츠 데이터를 기록 재생하는 제1 장치(기록 재생 장치)와, 콘텐츠 데이터를 기억하는 제2 장치(자기 디스크 장치)와, 및 양 장치 사이의 데이터 전송을 제어하는 호스트 처리부를 포함하고, 호스트 처리부의 제어에 의해서, 양쪽의 장치에 대하여, 장치가 갖는 데이터의 전송 기능에 관한 조회를 하여, 조회 결과, 양 장치 사이의 데이터 전송에 대해서, 제어 정보의 전송을 제1 장치에서 제2 장치로 한 방향으로 행하는 제1 전송 모드와, 제어 정보의 전송을 양 장치 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고, 제1 및 제2 장치에서 서로 정당성 인증 처리를 하여, 인증 처리 결과, 정당한 경우에 제1 및 제2 장치에서 열쇠 데이터(공유 열쇠 데이터)를 공유하고, 이 공유 열쇠 데이터를 이용하여, 제1 또는 제2 장치에서 제어 정보를 암호화 처리하여, 설정된 제1 또는 제2 전송 모드에 따라, 한 쪽의 장치에서 암호화된 제어 정보를 다른 쪽의 장치로 전송한다. 제어 정보를 수신한 제1 장치는 공유 열쇠 데이터를 이용하여 제어 정보를 복호화하고, 그 복호화된 제어 정보를 이용하여 콘텐츠 데이터를 복호 처리한다.

Description

콘텐츠 데이터 관리 시스템 및 장치{SYSTEM AND DEVICE FOR MANAGING CONTROL DATA}
도 1은 본 발명의 한 실시예가 적용되는 기록 재생 장치를 포함하는 데이터 보호 시스템을 나타내는 개략 구성도이다.
도 2는 한 실시예에 의한 탈착 가능한 자기 디스크 장치의 구성도이다.
도 3은 한 실시예에 있어서 사용되는 데이터, 정보, 및 기호법 등을 나타내는 표이다.
도 4는 한 실시예에 있어서 사용되는 데이터의 복호 조건이나 복호 열쇠를 통합한 데이터(사용허가증)의 구성도이다.
도 5는 한 실시예에 의한 도 2의 자기 디스크 장치에서의 UT 모드를 실현하는 사용허가증 전송 모듈(530)을 도시한 도면이다.
도 6은 한 실시예에 의한 기록 재생 장치에서의 UT 모드를 실현하는 기록 전용의 기능 모듈을 도시한 도면이다.
도 7은 한 실시예에 의한 기록 재생 장치에서의 UT 모드를 실현하는 복호 전용의 기능 모듈을 도시한 도면이다.
도 8은 한 실시예에 의한 기록 재생 장치에서의 UT 모드에 있어서 이용되는, 증명서, 공개 열쇠, 개인 열쇠, 사용허가증 전송 처리의 로그 정보 등의 은닉 정보 를 기록하는, 대탬퍼성을 갖는 정적인 기억 영역을 도시한 도면이다.
도 9는 한 실시예에 의한 자기 디스크 장치에서의 UT 모드에 있어서 이용되는, 증명서, 공개 열쇠, 개인 열쇠, 사용허가증 전송 처리의 로그 정보 등의 은닉 정보를 기록하는, 대탬퍼성을 갖는 정적인 기억 영역을 도시한 도면이다.
도 10은 한 실시예에 의한 자기 디스크 장치에서, 사용허가증을 기록하는, 대탬퍼성을 갖는 정적인 기억 영역을 도시한 도면이다.
도 11은 자기 디스크 장치에서의, BT 모드를 실현하는 기능 모듈을 도시한 도면이다.
도 12는 기록 재생 장치에서의, BT 모드에 따라, 사용허가증 송신을 실현하는 기록 전용의 기능 모듈을 도시한 도면이다.
도 13은 기록 재생 장치에서의, BT 모드에 따라, 사용허가증 수신을 실현하는 복호 전용의 기능 모듈을 도시한 도면이다.
도 14는 기록 재생 장치에서의, BT 모드에 따라, 자기 디스크 장치와의 사이에서 상호 인증 처리를 실현하는 기능 모듈을 도시한 도면이다.
도 15는 기록 재생 장치에서의, BT 모드에 있어서 이용되는, 증명서, 공개 열쇠, 개인 열쇠, 상호 인증 처리의 로그 정보, 사용허가증 전송 처리의 로그 정보 등의 은닉 정보를 기록하는, 대탬퍼성을 갖는 정적인 기억 영역을 도시한 도면이다.
도 16은 자기 디스크 장치에서의, UT 모드에 있어서 이용되는, 증명서, 공개 열쇠, 개인 열쇠, 상호 인증 처리의 로그 정보 등의 은닉 정보를 기록하는, 대탬퍼 성을 갖는 정적인 기억 영역을 도시한 도면이다.
도 17은 한 실시예에 의한 사용허가증 전송 처리에 있어서의 액세스 모드의 인식, 설정을 위한 처리 시퀀스를 도시한 도면이다.
도 18은 한 실시예에서, UT 모드에 따라 기록 재생 장치와 기억 장치 사이에서 이루어지는 상호 인증 처리 시퀀스를 도시한 도면이다.
도 19는 한 실시예에서, UT 모드에 따라 기록 재생 장치와 자기 디스크 장치 사이에서 이루어지는 사용허가증 전송 처리 시퀀스를 도시한 도면이다.
도 20은 한 실시예에서, UT 모드에 따라 기록 재생 장치와 자기 디스크 장치 사이에서 이루어지는 간략화된 재상호 인증 처리 시퀀스를 도시한 도면이다.
도 21은 한 실시예에서, UT 모드에 따라 기록 재생 장치와 자기 디스크 장치 사이에서 이루어지는, 소실된 사용허가증의 복구 처리 시퀀스를 도시한 도면이다.
도 22는 한 실시예에서, BT 모드에 따라 기록 재생 장치와 자기 디스크 장치 사이에서 이루어지는 상호 인증 처리 시퀀스를 도시한 도면이다.
도 23은 한 실시예에서, BT 모드에 따라 기록 재생 장치로부터 자기 디스크 장치에 대하여 송신되는, 사용허가증 전송 처리 시퀀스를 도시한 도면이다.
도 24는 한 실시예에서, BT 모드에 따라 자기 디스크 장치로부터 기록 재생 장치에 대하여 송신되는, 사용허가증 전송 처리 시퀀스를 도시한 도면이다.
도 25는 한 실시예에서, BT 모드에 따라 기록 재생 장치와 자기 디스크 장치의 사이에서 이루어지는 간략화된 재상호 인증 처리 시퀀스를 도시한 도면이다.
도 26은 한 실시예에서, BT 모드에 따라 기록 재생 장치로부터 자기 디스크 장치에 대하여 송신된 사용허가증이 소실된 경우, 소실된 사용허가증의 복구 처리 시퀀스를 도시한 도면이다.
도 27은 한 실시예에서, BT 모드에 따라 자기 디스크 장치로부터 기록 재생 장치에 대하여 송신된 사용허가증이 소실된 경우, 소실된 사용허가증의 복구 처리 시퀀스를 도시한 도면이다.
도 28은 한 실시예에서, 호스트 모듈과 디바이스2 사이에서의 명령의 전송의 시퀀스를 도시한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 네트워크 인터페이스 101 : 보호 정보 영역
102 : 기록 모듈 103 : 재생 모듈
105 : 사용자 인터페이스 브릿지
106, 107 : 외부 기억부 인터페이스
108 : 프로세서 110 : 호스트 모듈
111 : 호스트 보안 관리자 112 : 기록 재생 장치
150 : 배포 서버 125, 126, 240 : 자기 디스크 장치
221 : 사용허가증 전송 모듈 222 : 제한 기억부 컨트롤러
223 : 제한 기억부 231 : 프로세서
본 발명은, 콘텐츠 데이터 관리 시스템 및 장치에 관한 것으로, 더욱 자세히 말하면, 암호화된 콘텐츠 데이터를 이용하기 위한 제어 정보를 전송 처리하는 프로토콜의 처리 시스템 및 그 장치에 관한 것이다.
보다 구체적으로 말하면, 기록 재생 장치나 기억 장치에서 취급되는 콘텐츠 데이터를 이용하기 위한 열쇠 데이터를 포함하는 제어 정보를 전송 처리하기 위한 프로토콜의 처리를 포함하는 콘텐츠 데이터의 취급 관리 시스템, 및 그 시스템에 있어서의 기록 재생 장치 및 기억 장치에 관한 것이다.
음악 데이터나 화상 데이터 등의 콘텐츠 데이터에 저작권이 존재하는 경우, 저작권 보호를 위한 적절한 방책이 취해져 있지 않으면, 저작자의 권리가 침해될 우려가 있다. 한편, 저작권 보호의 목적을 최우선으로 하여, 콘텐츠 데이터의 유통을 저해해 버리면, 저작물의 복제에 있어서 저작권료를 징수하는 것이 가능한 저작권자에게 있어서도 오히려 불이익이 된다.
저작권 보호의 대상이 되는 콘텐츠 데이터의 배포는, 주로 디지털 통신망이나, 방송파 등을 통해 이루어진다. 이들 데이터를 이용자가 이용할 때는, 1번 어떠한 기억 매체에 기록한 후, 재생 장치로 재생하는 경우가 많다. 현재, 용량이 크고 액세스 성능이 높은 제어 기능을 지닌 기억 장치로서 자기 디스크 장치가 알려져 있다. 자기 디스크 장치는, 기록 재생 장치에 고정적으로 내장되어 있는 것이 대부분으로, 자기 디스크 장치에 기록된 데이터를 다른 재생 장치에서 이용할 수 있는 것은 아직 알려져 있지 않는다. 그러나, 편리성의 면에서, 앞으로는 휴대형 기억 장치의 이용이 앞설 가능성이 있다. 한편, 용량은 자기 디스크 장치에 비하여 적지 만, 저작권 보호 기능을 동반한 휴대형의 기억 장치로서 메모리 카드가 알려져 있다.
데이터를 재생하는 장치로서는, 이러한 데이터의 배포를 받을 때에 이용한 기록 재생 장치나, 휴대형의 전용의 재생 장치가 사용된다.
휴대형의 기억 장치를 접속할 수 있는 기록 재생 장치에 있어서, 기억 장치에 기록된 데이터의 저작권을 보호하기 위해서는, 기억 장치에 기록된 데이터를, 저작권자가 주장하는 조건의 범위를 넘어 재생할 수 없도록, 기록 재생 장치 및 기억 장치에 보안 대책을 하는 것이 중요하다. 보안 대책을 기기에 실시할 때는, 그 장치의 내부 및 외부에서 자유롭게 액세스 가능한 영역에서 이루어지는 데이터의 교환에 대해서는, 데이터의 교환이 이루어지는 장치의 사이에서 인증 처리를 하거나, 데이터 자체에 암호화 처리 등을 하거나 하여, 평문으로 자유롭게 데이터에의 액세스가 이루어지는 일이 없도록 할 필요가 있다. 한편, 이러한 인증 처리나 암호화 처리가 엄중하게 될수록, 이용자가 데이터 이용 요구를 내고 나서, 실제로 이용을 할 수 있게 될 때까지 많은 처리가 필요하게 되어, 결과적으로 데이터의 재생을 원활하게 행할 수 없는 사태가 생길 가능성이 있다.
예컨대, 특허문헌 1 및 2에는, 이용 목적의 디지털 데이터를 암호화하는 한편, 그것을 복호하기 위한 열쇠 및 복호했을 때의 이용 조건을, 부정하게 취득하거나, 위조 등을 할 수 없도록 함으로써, 저작권을 보호하는 것이 제안되어 있다. 또한, 특허문헌 3에는, 기억 장치와 호스트 장치와의 사이에서 은닉하여야 할 데이터를 암호화하여 입출력할 때의 대탬퍼성을 향상시키기 위해서, 호스트 장치로부터 보내지는 복수의 암호 입출력 처리를 복수의 순서로 분할하여, 병행해서 처리하는 기억 장치에 관한 기술이 개시되어 있다.
<특허문헌 1>
WO01/013358 공보
<특허문헌 2>
WO01/043339 공보
<특허문헌 3>
일본 특허 공개 2004-302701 공보
상기 특허문헌 1 및 2에 개시된 방법은, 디지털 데이터를 복호하기 위한 열쇠와 이용 조건을 2개의 기기 사이에서 전송하는 경우, 처리의 부하가 높은 공개 열쇠의 암복호 연산 및 증명서의 검증 처리를 필요로 한다. 그런데, 특허문헌 1 및 2에 개시된 기술에는, 하기와 같은 몇 가지의 문제점이 있는 것을 알았다. 또한, 특허문헌 3의 기술도 하기의 과제에 대해서 언급하지 않고 있다.
하나는, 전송원이 정당한 기기인지의 여부를 전송처가 인증하는 것이 고려되어 있지 않고, 그렇기 때문에 부정한 기기로부터 열쇠나 이용 조건이 전송처에 송신된 경우, 그것을 기록하여 버리기 때문에, 부정 액세스에 대하여 방어할 수 없다.
둘째로는, 복수의 열쇠와 이용 조건을 연속적으로 송신하는 상황에 대해서 그다지 고려되어 있지 않고, 그렇기 때문에 이들 데이터를 송신할 때마다, 전송원 과 전송처의 양 기기에서, 부하가 높은 공개 열쇠 암호 연산을 하여야만 한다.
셋째로는, 증명서로 각 기기의 정당성을 판별하는 경우, 증명서와 더불어, 실효된 증명서의 리스트가 시스템 전체적으로 이용되지만, 상기 방법에서는, 전송처의 증명서 실효 리스트밖에 갱신할 수 없다.
넷째로는, 2개의 기기 사이에서 열쇠나 이용 조건을 전송하는 경우, 인증 처리와, 열쇠나 이용 조건의 전송 방향이 고정되어 있어, 역방향의 전송을 하기 위해서는, 인증 처리도 역방향으로 처음부터 다시 해야만 한다. 이러면, 기록 재생 장치 및 기억 장치의 쌍방에 큰 부하를 준다.
본 발명의 목적은, 상기와 같은 문제점을 해결한 콘텐츠 데이터 관리 시스템, 및 그 시스템에서의 기록 재생 장치 및 기억 장치를 제공하는 데에 있다.
본 발명에 따른 콘텐츠 데이터 관리 시스템은, 콘텐츠 데이터의 복호화를 관리하기 위한 제어 정보를 취급하는 콘텐츠 데이터 관리 시스템에 있어서, 콘텐츠 데이터를 기록 재생하는 제1 장치(예컨대 기록 재생 장치)와, 콘텐츠 데이터를 기억하는 제2 장치(예컨대 자기 디스크 장치)와, 및 양 장치 사이의 데이터 전송을 제어하는 호스트 처리부를 포함하고, 호스트 처리부의 제어에 의해서, 양방의 장치에 대하여, 장치가 갖는 데이터의 전송 기능에 관한 조회를 하여, 조회 결과, 양 장치 사이의 데이터 전송에 관해서, 제어 정보의 전송을 제1 장치에서 제2 장치로 한 방향으로 행하는 제1 전송 모드와, 제어 정보의 전송을 양 장치의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고, 제1 및 제2 장 치에서 서로 정당성의 인증 처리를 하여, 인증 처리 결과, 정당한 경우에 제1 및 제2 장치에서 열쇠 데이터(공유 열쇠 데이터)를 공유하고, 이 공유 열쇠 데이터를 이용하여, 제1 또는 제2 장치에서 제어 정보를 암호화 처리하여, 설정된 제1 또는 제2 전송 모드에 따라, 한 쪽의 장치에서 암호화된 제어 정보를 다른 쪽의 장치에 전송하고, 제어 정보를 수신한 제1 장치는, 공유 열쇠 데이터를 이용하여 제어 정보를 복호화하여, 그 복호화된 제어 정보를 이용하여 콘텐츠 데이터를 복호 처리하는 시스템이다.
바람직한 예에서는, 제1 장치는, 디지털 콘텐츠를 시청할 수 있는 기능을 갖는 기록 재생 장치이며, 제2 장치는, 제1 장치에 착탈 가능한 자기 디스크 장치이고, 콘텐츠 기억부는 자기 디스크 매체이며, 제1 및 제2 보호 기억 영역은 대탬퍼성을 갖는 메모리이다.
또한, 바람직한 예에서는, 상기 제어 정보는, 자신이 어떠한 종류의 모듈에 대하여 출력 가능한 것인지를 나타내는 포맷과, 각각에 고유하게 할당된 식별자와, 콘텐츠 데이터의 이용을 제한하기 위한 조건을 나타내는 정보와, 암호화된 콘텐츠 데이터를 풀기 위한 열쇠 데이터와, 관련되는 콘텐츠 데이터를 특정하기 위한 식별자를 포함한다.
또한, 바람직하게는, 제1 전송 모드에 있어서의 제어 정보의 전송에 있어서, 제1 및 제2 장치는, 제어 정보의 처리에 관련되는 트랜잭션 로그를 생성하여, 각각 제1 및 제2 보호 기억 영역에 저장하여, 정당성의 인증 처리시에 정상적으로 처리가 이루어지지 않은 경우, 제1 또는 제2 장치는 제1 또는 제2 보호 기억 영역에 기 억된 트랜잭션 로그를 참조하여 공유 열쇠 데이터를 생성하여, 제2 장치에 보낸다.
또한, 바람직하게는, 상기 제2 전송 모드에 있어서의 제어 정보의 전송에 있어서, 제1 장치는, 제어 정보의 처리에 관련되는 트랜잭션 로그를 생성하여, 제1 보호 기억 영역에 저장하여, 제어 정보의 전송시에 정상적으로 처리가 이루어지지 않은 경우, 제1 장치는 제1 보호 기억 영역에 기억된 트랜잭션 로그를 참조하여 공유 열쇠 데이터를 생성하여, 제2 장치에 보낸다.
또한, 바람직하게는, 상기 제2 전송 모드로 설정된 경우, 상기 정당성의 인증 처리에 있어서, 제2 장치는, 자신의 공개 열쇠가 포함되는 증명서를 제1 장치에 송신하고,
제1 장치에서는, 수신한 증명서의 정당성을 검증하여, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 제1 챌린지 열쇠를 생성하여, 수신한 공개 열쇠를 이용하여 제1 챌린지 열쇠를 암호화하고, 생성된 암호화 데이터에 자신의 공개 열쇠를 포함하는 증명서를 연결하여, 제2 장치에 송신하고,
제2 장치에서는, 수신한 데이터를, 자신의 개인 열쇠로 복호하여, 제1 챌린지 열쇠를 취득하고, 또, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 제2 챌린지 열쇠를 생성하여, 제2 챌린지 열쇠와 자신에 매립되어 있는 공개 열쇠와 연결하여, 수신한 공개 열쇠로 암호화하고,
얻어진 암호화 데이터에 대하여, 자신의 증명서 실효 리스트를 연결하고, 연결한 데이터를 수신한 제1 챌린지 열쇠로 암호화하여, 암호화한 데이터를 제1 장치에 송신하고,
제1 장치는, 수신한 데이터를 제1 챌린지 열쇠로 복호하여, 증명서 실효 리스트 중에 있는 리스트의 발행일 정보와 자신의 증명서 실효 리스트가 갖는 발효일 정보를 비교하여, 그 결과, 수신한 제2 장치의 증명서 실효 리스트의 발행일이 새로운 것이면, 제2 장치의 증명서 실효 리스트를 자기의 리스트로서 갱신하고,
또한, 복호화한 데이터로부터 증명서 실효 리스트를 제외한 데이터를 자신의 개인 열쇠로 복호화하고, 또한, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 0차 제1 세션 열쇠를 생성하여, 먼저 수신한 제2 장치의 공개 열쇠 및 제2 챌린지 열쇠로 암호화하여, 암호화된 데이터를 제2 장치에 송신하고,
제2 장치는, 수신한 암호화 데이터를 제2 챌린지 열쇠로 복호하여, 이 복호화 데이터에 제1 장치의 증명서 실효 리스트가 포함되어 있었던 경우는, 자신의 증명서 실효 리스트를 수신한 증명서 실효 리스트에 의해 갱신하고, 또한, 증명서 실효 리스트 이외의 복호화 데이터를 자신에 매립되어 있는 개인 열쇠로 복호화하여, 0차 제1 세션 열쇠를 취득한다.
본 발명에 따른 기록 재생 장치는, 취득된 콘텐츠 데이터를 기록 재생하는 기록 재생 장치에 있어서, 콘텐츠 데이터를 기억하는 기억 장치와 접속하여, 기억 장치와의 사이에서 콘텐츠 데이터를 포함하는 정보의 전송을 행하는 접속부와, 콘텐츠 데이터를 기록하기 위한 처리를 행하는 기록부와, 적어도 접속부를 통해 기억 장치로부터 보내진 콘텐츠 데이터를 재생하기 위한 처리를 행하는 재생부와, 기록부 또는 재생부와, 기억 장치와의 사이에 있어서의 제어 정보의 전송을, 기억 장치에 대하여 한 방향으로 행하는 제1 전송 모드와, 기억 장치와의 사이에서 양방향으 로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하는 제1 처리 수단과, 암호화된 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와 콘텐츠 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 생성하는 수단과, 기억 장치의 특성에 관한 정보를 검증하여 인증을 하고, 인증 처리 결과, 기억 장치가 정당한 경우에, 기억 장치와의 사이에서 공유된 열쇠 데이터(공유 열쇠 데이터)를 이용하여, 생성된 제어 정보를 암호화하는 수단을 포함하는 제2 처리 수단을 포함하고, 암호화된 제어 정보는, 제1 처리 수단의 제어에 의해 설정된 제1 또는 제2 전송 모드에 따라서, 접속부를 통해 기억 장치에 전송되고, 또, 기억 장치로부터 보내져 수신한 제어 정보는, 제2 처리 수단에서 대칭 열쇠 데이터로 복호화되어, 복호화된 제어 정보를 이용하여 콘텐츠 데이터를 복호 처리하여 재생부에서 재생하는 기록 재생 장치이다.
바람직한 예에서는, 취득된 콘텐츠 데이터를 기록 재생하는 기록 재생 장치에 있어서,
콘텐츠 데이터를 기억하는 기억 장치를 착탈이 자유롭게 접속하여, 기억 장치와의 사이에서 콘텐츠 데이터를 포함하는, 여러 가지 정보의 교환을 행하는 인터페이스와, 콘텐츠 데이터를 기록하기 위한 처리를 행하는 기록 모듈과, 인터페이스를 통해 기억 장치로부터 보내진 콘텐츠 데이터를 재생하기 위한 처리를 행하는 재생 모듈과, 적어도 콘텐츠 데이터를 암호화하기 위해서 사용되는 열쇠 데이터를 유지하는 제1 보호 기억 영역과, 암호화된 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와, 콘텐츠 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 생성하는 호스트 보안 관리자와, 기억 장치와의 사이에서 이루어지는 데이터 전송을 제어하는 호 스트 처리부를 포함하고,
호스트 처리부는, 기록 모듈 또는 재생 모듈, 및 기억 장치에 대하여, 이들이 갖는 데이터의 전송 기능에 관한 조회를 하여, 조회 결과, 기억 장치와의 사이의 데이터 전송에 관해서, 제어 정보의 전송을 기억 장치에 대하여 한 방향으로 행하는 제1 전송 모드와, 제어 정보의 전송을 기억 장치와의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고,
호스트 보안 관리자는, 기억 장치의 특성에 관한 정보를 검증하는 인증을 하여, 인증 처리 결과, 정당한 경우에 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
제1 전송 모드로 설정된 경우, 호스트 보안 관리자는, 생성된 제어 정보를, 공유 열쇠 데이터로 암호화 처리하여, 암호화된 제어 정보를 인터페이스를 통해 기억 장치에 전송하고,
제2 전송 모드로 설정된 경우, 호스트 보안 관리자는, 생성된 제어 정보를, 공유 열쇠 데이터로 암호화 처리하여, 암호화된 제어 정보를 인터페이스를 통해 기억 장치에 전송하고, 또한 기억 장치로부터 전송된 공유 열쇠 데이터에 의해 암호화된 제어 정보를 수신하고,
또한, 재생 모듈은, 대칭 열쇠 데이터를 이용하여, 수신한 제어 정보를 복호화하여, 복호화된 제어 정보를 이용하여 콘텐츠 데이터를 복호 처리하는 기록 재생 장치이다.
또한, 본 발명에 따른 자기 디스크 장치는, 데이터를 처리하는 다른 장치에 접속되어, 데이터를 기억할 수 있는 자기 디스크 장치로서, 다른 장치에 착탈이 자 유롭게 접속되어, 다른 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 접속부와, 접속부를 통해 다른 장치로부터 보내진, 암호화된 데이터를 기억하는 디스크 매체와, 적어도 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 제2 보호 기억 영역과, 접속부를 통해 다른 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 제어 수단을 포함하고,
제어 수단은, 다른 장치와의 사이에서 서로 정당성의 인증을 하여, 정당한 경우에, 다른 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하여, 제2 보호 기억 영역 내에 유지된 제어 정보를, 공유 열쇠 데이터로 암호화 처리하고, 또, 다른 장치로부터의 지시에 의해 설정된, 다른 장치로부터 자기 디스크 장치에 한 방향으로 제어 정보를 전송하는 제1 전송 모드와, 다른 장치와의 사이에서 양방향으로 제어 정보를 전송하는 제2 전송 모드 중 어느 한 전송 모드에 따라서, 암호화된 제어 정보를 접속부를 통해 다른 장치에 전송하는 자기 디스크 장치이다.
바람직한 예에서는, 데이터의 기록 재생을 행하는 기록 재생 장치에 접속되어, 데이터를 기억하는 자기 디스크 장치로서, 기록 재생 장치에 착탈이 자유롭게 접속되어, 기록 재생 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 인터페이스와, 인터페이스를 통해 기록 재생 장치로부터 취득된 데이터를 기억하는 디스크 매체와, 디스크 매체에 대한 데이터의 기록 및 독출을 제어하는 제어부와, 적어도 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 제2 보호 기억 영역과, 인터페이스에 접속되어, 기록 재생 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 전송모듈을 포함하고,
전송 모듈은,
기록 재생 장치로부터의 요구에 따라서, 기록 재생 장치와의 사이에 있어서의 제어 정보의 전송에 관해서, 기록 재생 장치에서 자기 디스크 장치로 한 방향으로 행하는 제1 전송 모드와, 기록 재생 장치와의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 쪽의 전송 모드가 가능한지를 회답하는 수단과, 기록 재생 장치로부터의 요구에 따라서, 자기 디스크 장치의 특성에 관한 정보(특성 정보)를 기록 재생 장치에 송신하는 동시에, 기록 재생 장치로부터 보내진 특성 정보를 검증하여 인증하여, 정당한 경우, 기록 재생 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하는 수단을 포함하고,
기록 재생 장치로부터의 지시에 의해 제1 또는 제2 전송 모드로 설정된 경우, 전송 모듈은, 기록 재생 장치로부터 인터페이스를 통해 전송된, 공유 열쇠 데이터에 의해 암호화된 제어 정보를 수신하여, 제2 보호 기억 영역에 기억하고,
그리고, 제2 보호 기억 영역 내에 유지된 제어 정보를, 공유 열쇠 데이터로 암호화 처리하여, 암호화된 제어 정보를 인터페이스를 통해 기록 재생 장치에 전송한다.
또한, 본 발명에 따른 기억 장치는, 다음과 같이 파악될 수 있다. 즉,
데이터를 처리하는 다른 장치에 접속되어, 데이터를 기억할 수 있는 기억 장 치에 있어서, 다른 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 접속부와, 접속부를 통해 다른 장치로부터 보내진, 암호화된 데이터를 기억하는 기억부와, 적어도 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 소정의 기억 영역과, 접속부를 통해 다른 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 제어부를 포함하고, 제어부는, 다른 장치와의 사이에서 서로 정당성의 인증을 하여, 정당한 경우에, 다른 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하여, 소정의 기억 영역에 유지된 제어 정보를, 공유 열쇠 데이터로 암호화 처리하고, 또, 선택적으로 설정되는, 다른 장치에서 기억 장치로 한 방향으로 제어 정보를 전송하는 제1 전송 모드와, 다른 장치와의 사이에서 양방향으로 제어 정보를 전송하는 제2 전송 모드 중 어느 한 전송 모드에 따라, 암호화된 제어 정보를 접속부를 통해 다른 장치에 전송하는 기억 장치이다.
본 발명은, 다음과 같은 바람직한 예에 있어서 실시된다.
전제로서, 보호가 필요한 데이터는 암호화될 것, 및 상기 데이터를 복호하기 위해서 필요한 열쇠 데이터와, 복호가 허용되는 조건이 하나로 통합되어, 그것은 이용자가 자유롭게 액세스할 수 없는 기억 영역에 기록된다. 이 열쇠 데이터와, 복호가 허용되는 조건을 관련지은 것을, 이하의 예에서는 사용허가증(사용허가증)라 부른다.
본 발명은, 사용허가증을 한 쪽의 모듈에서 다른 쪽의 모듈로 전송하는 경우의, 여러 가지 처리 및 그 처리 계열에 관해서 개시하는 것이다. 처리 계열의 종류 는 2 종류 있다. 그 하나는, 사용허가증의 전송 방향이 일의적으로 결정되는 UT(Unidirectional 전송 mode) 모드이며, 다른 하나는 양방향으로 사용허가증을 전송할 수 있는 BT(Bidirectional 전송 mode) 모드이다. 바람직한 예로서, 이 사용허가증의 특징적인 전송 방법을, 2개의 기기, 예컨대 기록 재생 장치와 기억 장치 사이의 전송에 적용한 경우에 관해서 설명한다.
기록 재생 장치와 기억 장치의 사이에서 사용허가증 전송을 행하기 위해서는, 처음에, 2개의 모드 중, 어느 쪽의 모드로 사용허가증 전송을 실행할지, 기록 재생 장치 내의 처리부(이하의 예에서는, 호스트(Host) 모듈이라 함)를 선택하여, 각각의 장치에 있어서의 사용허가증 송신 또는 수신 처리를 하는 모듈에, 선택한 모드를 통지하는 처리를 한다. 이하에서는, UT 모드가 사용허가증 송신 또는 수신 처리를 하는 모듈로 설정된 경우에 관해서, 우선 설명한다.
UT 모드가 설정되면, 사용허가증을 최종적으로 수신하는 모듈이, 자신에 매립되고 있는 디바이스 클래스 증명서를, 사용허가증을 송신하는 모듈에 송신한다. 디바이스 클래스 증명서에는, 디바이스 클래스 공개 열쇠가 포함된다. 한편, UT 모드에서는, 사용허가증을 송신하는 모듈을 포함하는 기기를 프라이멀 디바이스, 수신하는 모듈을 포함하는 기기를 인셉티브 디바이스라고 부른다. 그 의미로, 상기 디바이스 클래스 증명서를 인셉티브 디바이스 클래스 증명서, 상기 디바이스 클래스 공개 열쇠를 인셉티브 디바이스 클래스 공개 열쇠라고 부른다.
프라이멀 디바이스에서는, 수신한 증명서의 정당성을 검증하여, 검증 결과, 수신한 증명서의 정당성이 확인되면, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 프 라이멀 챌린지 열쇠를 생성한다. 이어서, 수신한 디바이스 클래스 공개 열쇠를 이용하여 프라이멀 챌린지 열쇠를 암호화하여, 생성된 암호화 데이터에 프라이멀 디바이스 클래스 공개 열쇠를 포함하는 프라이멀 디바이스 클래스 증명서를 연결하여, 인셉티브 디바이스에 송신한다.
인셉티브 디바이스에서는, 수신한 상기 데이터를, 자신의 디바이스 클래스 개인 열쇠로 복호하여, 프라이멀 챌린지 열쇠를 취득한다. 이어서 인셉티브 디바이스는, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 0차 인셉티브 세션 열쇠를 생성한다. 이 열쇠의 생성을 끝내면, 자신에게 매립되어 있는 인셉티브 디바이스 공개 열쇠와 연결하여, 수신한 프라이멀 디바이스 클래스 열쇠로 암호화한다. 더욱이, 얻어진 데이터에 대하여, 자신에게 기록되어 있는 실효 디바이스 클래스 리스트(인셉티브 RDCL(Revoked Device Class List))를 연결하여, 수신한 프라이멀 챌린지 열쇠로 암호화한다. 이상의 처리를 종료하면, 얻어진 데이터를 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터를 프라이멀 챌린지 열쇠로 복호하여, 그 결과로부터 인셉티브 RDCL을 빼낸다. RDCL에는, 그 데이터의 발행일 정보가 포함되어 있기 때문에, 인셉티브 RDCL의 발행일 정보와, 자신에게 기록되어 있는 RDCL(프라이멀 RDCL)의 발행일 정보를 비교한다. 그 결과, 인셉티브 RDCL의 발행일 쪽이 새로우면, 프라이멀 RDCL을 인셉티브 RDCL로 덮어쓰기한다. RDCL의 발행일 비교를 끝내면, 나머지 데이터를 프라이멀 디바이스 개인 열쇠로 복호한다. 계속해서, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 0차 프라이멀 세션 열쇠를 생성한 다. 이 열쇠의 생성을 끝내면, 앞서 수신한 0차 인셉티브 세션 열쇠로 암호화한다. 여기서, 앞서 행한 RDCL의 발행일 정보의 비교 결과에 있어서, 프라이멀 RDCL의 발행일 쪽이 새롭다는 것이 판명된 경우는, 먼저 암호화한 데이터에, 프라이멀 RDCL을 연결한다. 얻어진 데이터는, 먼저 수신한 인셉티브 디바이스 공개 열쇠로 암호화한다. 암호화를 끝내면, 상기 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 인셉티브 디바이스 개인 열쇠로 복호한다. 이 복호 결과에 프라이멀 RDCL이 포함되어 있었던 경우는, 인셉티브 RDCL을 프라이멀 RDCL로 덮어쓰기한다.
이어서, 나머지 데이터를 0차 인셉티브 세션 열쇠로 복호하여, 0차 프라이멀 세션 열쇠를 얻는다.
이상이, UT 모드에 있어서의 인증 처리이다. 이것을 UT 접속 단계라고 부른다. UT 접속 단계를 완료하면, 0차 프라이멀 세션 열쇠, 0차 인셉티브 세션 열쇠, 인셉티브 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 공유 인셉티브 디바이스 열쇠가 공유된다.
인증 처리를 끝내면, 사용허가증 전송을 실행할 수 있다. UT 모드에 있어서의 사용허가증 전송은, 다음과 같이 이루어진다. 또한, UT 모드에 있어서의 사용허가증 전송은, 프라이멀 디바이스에서 인셉티브 디바이스로만 이루어진다.
우선, 프라이멀 디바이스에 있어서, 원하는 사용허가증을, 사용허가증 전송용 모듈에 준비한다. 계속해서, 호스트 모듈은 원하는 사용허가증을 식별하기 위한 식별자(UPID)를 인셉티브 디바이스에 보낸다.
인셉티브 디바이스는, 사용허가증을 암호화하기 위한 n차 인셉티브 세션 열쇠를 생성하여, UPID와 함께, 인셉티브 트랜잭션 로그라고 불리는 로그에 기록한다. 로그에는, 전송 처리 단계(RP)도 기록한다. 로그는, 사용허가증 전송 처리가 정상적으로 완료되지 않은 경우에, 원래의 상태로 사용허가증을 복구하기 위해서 이용되는 것이다. n차 인셉티브 세션 열쇠의 생성을 끝내면, 하나 앞의 사용허가증 전송시에 생성한 인셉티브 세션 열쇠(n-1차 인셉티브 세션 열쇠)와 0차 프라이멀 세션 열쇠로 암호화하여, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터를 0차 프라이멀 세션 열쇠 및 n-1차 인셉티브 세션 열쇠로 복호한다. 그리고, 전송 대상 사용허가증의 UPID, 인셉티브 디바이스 클래스 증명서에 포함되는 일부의 파라메터, 접속 단계에서 수신한 인셉티브 디바이스 공개 열쇠, 복호 결과 얻어진 n차 인셉티브 세션 열쇠, 전송 처리 단계(SP), 전송 대상 사용허가증에 포함되는 데이터의 복호 가능 조건, 사용허가증이 기록되어 있던 어드레스를, 프라이멀 트랜잭션 로그에 기록한다.
이어서, 사용허가증 송신용 모듈에 준비된 사용허가증으로부터, 실제로 송신하는 사용허가증을 생성한 후, 상기 사용허가증에 이용 목적(복제, 이동, 재생 중 어느 것)을 나타내는 파라메터나 체크섬을 연결하여, n차 인셉티브 세션 열쇠와 공유 인셉티브 디바이스 열쇠로 암호화한다. 암호화를 끝내면, 프라이멀 트랜잭션 로그에 있어서의 전송 처리 단계 요소를 SC에 갱신하여, 그 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 공유 인셉티브 디바이스 열쇠 및 0 차 인셉티브 세션 열쇠로 복호한다. 그리고, 인셉티브 트랜잭션 로그에 있어서의 전송 처리 단계 요소를 RC로 갱신하고, 또한 사용허가증의 기록처 어드레스를 인셉티브 트랜잭션 로그에 기록하여, 상기 데이터를 사용허가증 기억 영역에 기록한다.
이상이, UT 모드에 있어서의 사용허가증 전송 처리이다. 이것을 UT 전송 단계라고 부른다. 이상에 설명한 바와 같이, UT 모드에서는 사용허가증의 전송 방향은, 프라이멀 디바이스에서 인셉티브 디바이스에 고정되어 있다.
사용허가증의 전송 처리를 실행하는 중에, 기록 재생 장치에 전원 공급 정지 등의 이상이 발생하여, 사용허가증 전송원 및 사용허가증 전송처 쌍방으로부터 사용허가증을 잃어버리게 된 경우, 이하의 처리를 함으로써, 사용허가증을 복구할 수 있다.
이상시에는, UT 접속 단계에서 공유된 0차 프라이멀 세션 열쇠, 0차 인셉티브 세션 열쇠, 공유 디바이스 열쇠는, 기록 재생 장치 및 기억 장치로부터 잃게 되기 때문에, 새롭게 이들 열쇠를 공유해야만 한다. 다만, UT 접속 단계를 실행할 필요는 없고, 이하에 적는 처리를 실행하면 된다.
처음에, 호스트가, 복구 대상의 사용허가증의 UPID를, 프라이멀 디바이스에 송신한다. 프라이멀 디바이스에서는, UPID를 이용하여, 프라이멀 트랜잭션 로그를 검색한다. 그 결과, UPID를 포함하는 프라이멀 트랜잭션 로그가 발견되면, 새로운 0차 프라이멀 세션 열쇠를 생성한다. 그리고, 생성한 상기 세션 열쇠를, 찾아내어진 프라이멀 트랜잭션 로그에 기록되어 있던 세션 열쇠 및 인셉티브 디바이스 공개 열쇠로 암호화하여, 인셉티브 디바이스에 송신한다. 인셉티브 디바이스는, 수신한 데이터를 복호하여, 새로운 0차 프라이멀 세션 열쇠 및 공유 디바이스 열쇠를 얻는다.
이상이, UT 모드에 있어서의 재인증 처리이다. 이것을, UT 재접속 단계라고 부른다. UT 재접속 단계를 완료하면, 새로운 0차 프라이멀 세션 열쇠, 인셉티브 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 새로운 공유 인셉티브 디바이스 열쇠가 공유된다.
UT 재접속 단계를 끝내면, 프라이멀 디바이스에 있어서, 다음과 같이 하여 사용허가증의 복구 처리가 이루어진다.
호스트 모듈이, 복구 대상의 사용허가증의 UPID를, 인셉티브 디바이스에 송신한다. 인셉티브 디바이스에서는, UPID를 이용하여, 인셉티브 트랜잭션 로그를 검색한다. 그 결과, UPID를 포함하는 인셉티브 트랜잭션 로그가 발견되면, 트랜잭션 로그에 기록되어 있는 처리 단계 정보와 사용허가증의 존재 상태 정보를 연결하여, 프라이멀 디바이스에 송신한다. 이 때 송신되는 데이터에는, 데이터, 0차 프라이멀 세션 열쇠, 인셉티브 트랜잭션 로그에 기록되어 있던 인셉티브 세션 열쇠로부터 계산된 해시값도 연결된다.
프라이멀 디바이스는, 수신한 해시값을 검증하여, 수신한 데이터에 위조가 되어 있지 않음을 확인한다. 이 검증을 끝내면, 수신한 UPID를 포함하는 프라이멀 트랜잭션 로그를 검색한다. 로그가 발견되면, 로그에 기록되어 있는 전송전의 복호가능 조건을, 현재 존재하고 있는 사용허가증에 덮어쓰기한다.
이상이, UT 모드에 있어서의 사용허가증의 복구 처리이다. 이것을, UT 복구 단계라고 부른다. 이 단계를 완료하면, 프라이멀 디바이스에는 송신을 하기 전의 사용허가증이 존재하게 된다.
이어서, BT 모드가 사용허가증 송신 또는 수신 처리를 하는 모듈로 설정된 경우에 관해서 설명한다.
BT 모드에서는, 사용허가증을 전송하는 방향이 고정되어 있지 않고, 프라이멀 디바이스와 인셉티브 디바이스의 쌍방이, 사용허가증의 송수신을 실행할 수 있다. BT 모드 하에서, 기록 재생 장치에 있어서 상호 인증 처리나 사용허가증의 송수신 처리를 실행하는 모듈을 프라이멀 디바이스, 기억 장치에 있어서 상호 인증 처리나 사용허가증의 송수신 처리를 실행하는 모듈을 인셉티브 디바이스라고 부른다. 디바이스 클래스 증명서를 인셉티브 디바이스 클래스 증명서, 디바이스 클래스 공개 열쇠를 인셉티브 디바이스 클래스 공개 열쇠라고 부른다.
프라이멀 디바이스에서는, 수신한 증명서의 정당성을 검증하여, 검증의 결과 수신한 증명서의 정당성이 확인되면, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 프라이멀 챌린지 열쇠를 생성한다. 이어서, 수신한 디바이스 클래스 공개 열쇠를 이용하여 프라이멀 챌린지 열쇠를 암호화하고, 생성된 암호화 데이터에 프라이멀 디바이스 클래스 공개 열쇠를 포함하는 프라이멀 디바이스 클래스 증명서를 연결하여, 인셉티브 디바이스에 송신한다.
인셉티브 디바이스에서는, 수신한 상기 데이터를, 자신의 디바이스 클래스 개인 열쇠로 복호하여, 프라이멀 챌린지 열쇠를 취득한다.
이어서 인셉티브 디바이스는, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 인 셉티브 세션 열쇠를 생성한다. 이 열쇠의 생성을 끝내면, 자신에게 매립되어 있는 인셉티브 디바이스 공개 열쇠와 연결하여, 수신한 프라이멀 디바이스 클래스 열쇠로 암호화한다. 또한, 얻어진 데이터(즉, 프라이멀 디바이스 클래스 열쇠로 암호화된 데이터)에 대하여, 자신에게 기록되어 있는 실효 디바이스 클래스 리스트(인셉티브 RDCL)를 연결하여, 수신한 프라이멀 챌린지 열쇠로 암호화한다. 이상의 처리를 종료하면, 얻어진 데이터를 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터(즉, 암호화된 데이터)를 프라이멀 챌린지 열쇠로 복호하여, 그 결과로부터 인셉티브 RDCL을 추출한다. RDCL에는, 데이터의 발행일 정보가 포함되어 있기 때문에, 인셉티브 RDCL의 발행일 정보와, 자신에게 기록되어 있는 RDCL(프라이멀 RDCL)의 발행일 정보를 비교한다. 그 결과, 인셉티브 RDCL의 발행일 쪽이 새로운 것이면, 프라이멀 RDCL을 인셉티브 RDCL에서 덮어쓰기한다. RDCL의 발행일 비교를 끝내면, 나머지 데이터를 프라이멀 디바이스 개인 열쇠로 복호한다. 이어서, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 0차 프라이멀 세션 열쇠를 생성한다. 이 열쇠의 생성을 끝내면, 앞서 수신한 인셉티브 디바이스 공개 열쇠로 암호화한다. 여기서, 앞서 행한 RDCL의 발행일 정보의 비교 결과에 있어서, 프라이멀 RDCL의 발행일 쪽이 새롭다는 것이 판명된 경우는, 앞서 암호화한 데이터에, 프라이멀 RDCL을 연결한다. 얻어진 데이터는, 앞서 수신한 인셉티브 챌린지 열쇠로 암호화한다. 암호화를 끝내면, 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 인셉티브 챌린지 열쇠로 복호한다. 이 복호 결과에 프라이멀 RDCL이 포함되어 있었던 경우는, 인셉티브 RDCL을 프라이멀 RDCL로 덮어쓰기한다.
이어서, 나머지 데이터를 프라이멀 디바이스 공개 열쇠로 복호하여, 0차 프라이멀 세션 열쇠를 얻는다.
프라이멀 디바이스는, 수신한 데이터를 프라이멀 디바이스 개인 열쇠 및 0차 프라이멀 세션 열쇠로 복호하여, 0차 인셉티브 세션 열쇠를 얻는다. 이어서, 인셉티브 디바이스 공개 열쇠, 0차 인셉티브 세션 열쇠, 0차 프라이멀 세션 열쇠, 인셉티브 디바이스 클래스 증명서에 포함되는 일부의 파라메터를, 프라이멀 접속 로그에 기록한다.
이상이, BT 모드에 있어서의 인증 처리이다. 이것을 BT 접속 단계라고 부른다. BT 접속 단계를 완료하면, 0차 프라이멀 세션 열쇠, 0차 인셉티브 세션 열쇠, 프라이멀 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 공유 프라이멀 디바이스 열쇠, 및 인셉티브 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 공유 인셉티브 디바이스 열쇠가 공유된다.
인증 처리를 끝내면, 사용허가증 전송을 실행할 수 있다. 처음에, 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송에 관해서 설명한다.
우선, 프라이멀 디바이스에서, 원하는 사용허가증을, 사용허가증 전송용 모듈에 준비한다.
이어서, 인셉티브 디바이스는, 사용허가증을 암호화하기 위한 n차 인셉티브 세션 열쇠를 생성한다. 이 열쇠의 생성을 끝내면, 하나 앞의 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송시에 생성한 인셉티브 세션 열쇠(n-1차 인셉티브 세션 열쇠)와, 그 시점에서 최신의 프라이멀 세션 열쇠로 암호화하여, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터를 그 시점에서 최신의 프라이멀 세션 열쇠 및 n-1차 인셉티브 세션 열쇠로 복호한다. 그리고, 전송 대상 사용허가증의 UPID, 전송에 있어서의 자신의 역할(전송원), 송신 예정의 사용허가증을, 트랜잭션 로그에 기록한다. 한편, BT 모드에서는, 트랜잭션 로그의 기록은 프라이멀 디바이스만이 행한다.
이어서, 사용허가증 송신용 모듈에 준비된 사용허가증으로부터, 실제로 송신하는 사용허가증을 생성한다. 그리고, 인셉티브 디바이스에 있어서의 사용허가증의 기록처 어드레스를 트랜잭션 로그에 기록한 후, 사용허가증에 이용 목적(복제, 이동, 재생 중 어느 것)을 나타내는 파라메터나 체크섬을 연결하여, n차 인셉티브 세션 열쇠와 공유 인셉티브 디바이스 열쇠로 암호화한다. 암호화를 끝내면, 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 공유 인셉티브 디바이스 열쇠 및 n차 인셉티브 세션 열쇠로 복호한다. 그리고, 상기 데이터를 인셉티브 디바이스 내의 사용허가증 기억 영역에 기록한다.
이상이, BT 모드에 있어서의 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송 처리이다. 이것을 BT PI 전송 단계라고 부른다.
처음에, 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송에 관해서 설명한다.
우선, 인셉티브 디바이스에 있어서, 원하는 사용허가증을, 사용허가증 전송용 모듈에 준비한다.
이어서 인셉티브 디바이스는, 사용허가증에 대하여, 데이터 암호 열쇠 부분을 0으로 치환하여, 사용허가증의 상태 정보를 연결한(이 데이터를 마스킹된 사용허가증라고 부름) 후, 데이터에 최신의 프라이멀 세션 열쇠와 인셉티브 세션 열쇠를 연결하여 해시값을 계산한다. 그리고, 얻어진 해시값을, 마스킹된 사용허가증에 연결하여, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 해시값을 검증하여, 수신한 데이터에 위조가 되어 있지 않음을 확인한다. 이 검증을 끝내면, 수신한 사용허가증의 UPID, 데이터의 복호 가능 조건, 인셉티브 디바이스에 있어서 사용허가증이 기록되어 있는 어드레스를, 트랜잭션 로그에 기록한다. 이어서, m차 프라이멀 세션 열쇠를 생성하여, 하나 앞의 인셉티브 디바이스에서 프라이멀 디바이스로의 사용허가증 전송으로 생성된 프라이멀 세션 열쇠(m-1차 프라이멀 세션 열쇠)와, 그 시점에서 최신의 인셉티브 세션 열쇠로 암호화하여, 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 그 시점에서 최신의 인셉티브 세션 열쇠 및 m-1차 프라이멀 세션 열쇠로 복호한다. 이어서, 사용허가증 송신용 모듈에 준비된 사용허가증으로부터, 실제로 송신하는 사용허가증을 생성한다. 그리고, 사용허가증에 이용 목적(복제, 이동, 재생 중 어느 것)을 나타내는 파라메터나 체크 섬을 연결하여, m차 인셉티브 세션 열쇠와 공유 프라이멀 디바이스 열쇠로 암호화한다. 상기 암호화를 끝내면, 상기 데이터를 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터를 공유 프라이멀 디바이스 열쇠 및 m차 프라이멀 세션 열쇠로 복호한다.
이상이, BT 모드에 있어서의 인셉티브 디바이스에서 프라이멀 디바이스로의 사용허가증 전송 처리이다. 이것을 BT IP 전송 단계라고 부른다.
UT 모드와 마찬가지로, 기록 재생 장치에 이상이 발생하여, 사용허가증 전송원 및 사용허가증 전송처 쌍방으로부터 사용허가증을 잃게 되어 버린 경우, 이하의 처리를 함으로써, 사용허가증을 복구할 수 있다. BT 모드에 의한 재인증 처리는, UT 모드와는 약간 다르며, 과거에 BT PI 전송 단계나 BT IP 전송 단계가 실행되어 있을 필요는 없고, BT 접속 단계만이 완료되어 있으면 된다.
이상시에는, BT 접속 단계에 있어서 공유된 0차 프라이멀 세션 열쇠, 0차 인셉티브 세션 열쇠, 공유 프라이멀 디바이스 열쇠, 공유 인셉티브 디바이스 열쇠는, 기록 재생 장치 및 기억 장치로부터 없어져 버리기 때문에, 새롭게 이들 열쇠를 공유해야 한다. 다만, BT 접속 단계를 실행할 필요는 없고, 이하에 기재하는 처리를 실행하면 된다.
처음에, 프라이멀 디바이스에 있어서, 새로운 0차 프라이멀 세션 열쇠를 생성하여, 프라이멀 접속 로그에 기록되어 있는 인셉티브 세션 열쇠와 인셉티브 디바이스 공개 열쇠로, 생성된 상기 열쇠를 암호화한다. 그리고, 얻어진 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를 인셉티브 접속 로그에 기록되어 있는 인셉티브 디바이스 개인 열쇠 및 인셉티브 세션 열쇠로 복호한다. 그리고, 새로운 0차 인셉티브 세션 열쇠를 생성하여, 인셉티브 접속 로그에 기록되어 있는 프라이멀 세션 열쇠와 프라이멀 디바이스 공개 열쇠로, 생성한 상기 열쇠를 암호화한다. 이어서, 수신한 0차 프라이멀 세션 열쇠 및 생성한 0차 인셉티브 세션 열쇠를, 인셉티브 접속 로그에 덮어쓰기 기록하여, 먼저 암호화한 데이터를, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 수신한 데이터를 프라이멀 디바이스 개인 열쇠 및 인셉티브 접속 로그에 기록되어 있는 0차 프라이멀 세션 열쇠로 복호한다. 그리고, 얻어진 새로운 0차 인셉티브 세션 열쇠와, 앞서 생성한 0차 프라이멀 세션 열쇠를, 프라이멀 접속 로그에 덮어쓰기 기록한다.
이상이, BT 모드에 있어서의 재인증 처리이다. 이것을, BT 재접속 단계라고 부른다. BT 재접속 단계를 완료하면, 새로운 0차 프라이멀 세션 열쇠, 0차 인셉티브 세션 열쇠, 프라이멀 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 새로운 공유 프라이멀 디바이스 열쇠 프라이멀 디바이스 공개 열쇠에 의한 암호화와 동 개인 열쇠에 의한 복호화의 과정에서 얻어지는 새로운 공유 인셉티브 디바이스 열쇠가 공유된다.
BT 접속 단계나 BT 재접속 단계가 완료되면, 과거에 전송 처리를 완료할 수 없었던 사용허가증에 관해서, 이하에 설명하는 방법에 의해, 전송 처리 전의 상태로 복구할 수 있다. 처음에 BT PI 전송 단계에 대한 복구 처리에 관해서, 이어서 BT IP 전송 단계에 대한 복구 처리에 관해서 설명한다.
BT PI 전송 단계에서 전송된 사용허가증을 전송 처리 실행하기 전의 상태로 되돌리는 처리를 험에 있어서, 우선 처음에 호스트가 복구 대상의 사용허가증의 UPID를, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 이 UPID를 이용하여, 프라이멀 트랜잭션 로그를 검색한다. 그 결과, 상기 UPID를 포함하는 프라이멀 트랜잭션 로그가 발견되면, 로그에 기록되어 있는 인셉티브 디바이스에 있어서의 사용허가증의 기록처 어드레스(수신한 사용허가증을 기록할 예정인 어드레스)를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 어드레스로 액세스되는 사용허가증 기억 영역에 액세스하여, 사용허가증의 기록 상태를 조사한다. 그리고, 그 결과를 사용허가증 상태에 설정한다. 이어서, UPID, 검색된 사용허가증의 복호 가능 조건, 생성된 사용허가증 상태, 사용허가증의 기록처 어드레스를 연결하여, 프라이멀 디바이스에 송신한다. 이 때 송신되는 데이터에는, 상기 데이터, m차 프라이멀 세션 열쇠, n차 인셉티브 세션 열쇠로부터 계산된 해시값도 연결된다.
프라이멀 디바이스는, 수신한 해시값을 검증하여, 수신한 데이터에 위조가 되어 있지 않음, 및 인셉티브 디바이스에 앞서 전송한 사용허가증이 존재하지 않음을 확인한다. 검증을 끝내면, 수신한 UPID를 포함하는 프라이멀 트랜잭션 로그를 검색한다. 로그가 발견되면, 상기 로그에 기록되어 있는 전송하기 전의 복호 가능 조건을, 현재 사용허가증 송신용 모듈에 준비되어 있는 사용허가증에 덮어쓰기한다.
이상이, BT 모드에 있어서의 BT PI 전송 단계에 대한 사용허가증의 복구 처리이다. 이것을, BT PI 복구 단계라고 부른다. 이 단계를 완료하면, 프라이멀 디바이스에는 송신을 하기 전의 사용허가증이 존재하게 된다.
이어서, BT IP 전송 단계에 대한 사용허가증의 복구 처리에 관해서 설명한다.
BT PI 전송 단계에서 전송된 사용허가증을 전송 처리 실행하기 전의 상태로 되돌리는 처리를 함에 있어서, 우선 처음에 호스트 모듈이 복구 대상의 사용허가증의 UPID를, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 이 UPID를 이용하여, 프라이멀 트랜잭션 로그를 검색한다. 그 결과, 이 UPID를 포함하는 프라이멀 트랜잭션 로그가 발견되면, 로그에 기록되어 있는 인셉티브 디바이스에 있어서의 사용허가증의 기록처 어드레스(전송 대상의 사용허가증이 원래 기록되어 있던 영역을 지시하는 어드레스)를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 어드레스로 액세스되는 사용허가증 기억 영역에 액세스하여, 사용허가증의 기록 상태를 조사한다. 그리고, 그 결과를 사용허가증 상태에 설정한다. 이어서, UPID, 검색된 사용허가증의 복호 가능 조건, 생성된 사용허가증 상태, 사용허가증의 기록처 어드레스를 연결하여, 프라이멀 디바이스에 송신한다. 이 때 송신되는 데이터에는, 상기 데이터, m차 프라이멀 세션 열쇠, n-1차 인셉티브 세션 열쇠로부터 계산된 해시값도 연결된다. 한편, 이 시점에서 공유되고 있는 최신의 인셉티브 세션 열쇠는, n-1차인 것으로 한다.
프라이멀 디바이스는, 수신한 해시값을 검증하여, 수신한 데이터에 위조가 되어 있지 않음, 및 인셉티브 디바이스에 앞서 전송한 사용허가증이, 과거의 전송(송신) 처리에 의해서, 변화되어 버렸는지의 여부를 확인한다.
상기 검증에 병행하여, 인셉티브 디바이스에서는, n차 인셉티브 세션 열쇠의 생성을 한다. 이 열쇠의 생성을 끝내면, n-1차 인셉티브 세션 열쇠 및 m차 프라이멀 세션 열쇠로 암호화하여, 프라이멀 디바이스에 송신한다.
프라이멀 디바이스에서는, 데이터를 수신한 후, 앞서 설명한 검증 처리에 의해서, 사용허가증이 송신 처리를 실행함으로써 변화되어 버리고 있음이 확인되면, 이하에 기재하는 사용허가증의 복구 처리를 실행한다. 우선, 수신한 데이터를, m차 프라이멀 세션 열쇠 및 n-1차 인셉티브 세션 열쇠로 복호한다. 이어서, 앞서 검색의 결과 찾아내어진 트랜잭션 로그에 기록되어 있는 복호 가능 조건을, 사용허가증의 UPID에 연결하여, n차 인셉티브 세션 열쇠 및 공유 인셉티브 디바이스 열쇠로 암호화한다. 암호화를 끝내면, 그 데이터를 인셉티브 디바이스에 송신한다.
인셉티브 디바이스는, 수신한 데이터를, 공유 인셉티브 디바이스 열쇠 및 n차 인셉티브 세션 열쇠로 복호한다. 그리고, 복호 결과에 포함되는 UPID가, 복구 대상 사용허가증의 UPID와 일치하고 있는지 확인한다. UPID의 일치가 확인되면, 복호 결과에 포함되는 복호 가능 조건을, 인셉티브 디바이스 중에 존재하는 사용허가증에 덮어쓰기 기록한다.
이상이, BT 모드에 있어서의 BT IP 전송 단계에 대한 사용허가증의 복구 처리이다. 이것을, BT IP 복구 단계라고 부른다. 이 단계를 완료하면, 인셉티브 디바 이스에는, 송신을 하기 전의 사용허가증이 존재하게 된다.
검증을 끝내면, 수신한 UPID를 포함하는 프라이멀 트랜잭션 로그를 검색한다. 로그가 발견되면, 그 로그에 기록되어 있는 전송하기 전의 복호 가능 조건을, 현재 사용허가증 송신용 모듈에 준비되어 있는 사용허가증에 덮어쓰기한다.
이상이, BT 모드에 있어서의 BT PI 전송 단계에 대한 사용허가증의 복구 처리이다. 이것을, BT PI 복구 단계라고 부른다. 상기 단계를 완료하면, 프라이멀 디바이스에는, 송신을 하기 전의 사용허가증이 존재하게 된다.
이하, 도면을 참조하여 본 발명의 실시예에 관해서 설명한다.
<시스템 구성>
우선, 도 1 및 도 2를 이용하여, 한 실시예에 있어서의 데이터 기록 재생 장치 및 그것에 접속 가능한 기억 장치를 포함하는 시스템의 전체 구성에 관해서 설명한다.
이 실시예는, 방송된 디지털 영상 데이터나, 배포 서버(Distribution Server)로부터 배포된 디지털 데이터, 또 다른 기기와 접속한 디지털 신호선을 통해 송신된 디지털 데이터를 탈착 가능한 기억 장치에 기록하고, 또한 기억 장치에 기억된 디지털 데이터를, 기록 재생 장치의 디스플레이 장치나 스피커 등으로 재생하는 기록 재생 시스템에 적용한 예에 관해서 설명한다. 이하에서는, 디지털 데이터기록 재생 장치를 단순히 기록 재생 장치라고 하고, 기록 재생 장치가 수신하는 영상이나 음악, 텍스트 등의 디지털 데이터를, 콘텐츠 데이터라고 한다. 여기서, 콘텐츠 데이터를 기록하는 탈착 가능한 기억 장치는, 예컨대, 자기 디스크 장치나 반도체 메모리 디바이스 등이며, 모두 본 발명에 특징적인 제어 기능을 갖는다. 이하에서는, 기억 장치로서 자기 디스크 장치를 예로 설명하지만, 이것에 한하는 것이 아니다, 이하에 설명하는 것과 같은 본 발명에 특징적인 기능을 갖는 것이라면, 자기 디스크 장치 이외의 다른 주지된 기억 장치에도 적용할 수 있다.
저작권의 보호가 요구되는 콘텐츠 데이터는, 방송파를 통해 안테나(131)로 수신하거나, 배포 서버(150)로부터 배포된 것을 네트워크 인터페이스(Network Interface)(100)를 통해 수신함으로써, 기록 재생 장치(112)에 받아들인다. 배포되는 콘텐츠 데이터는, 방송파 발신원(130)이나 배포 서버(150)에 있어서, 소정의 암호 방식에 의해 암호화되어 있다. 그 암호 방식은, 각각의 콘텐츠 보호 사양에 의해서, 독자적으로 규정되어 있어도 좋다. 그 때, 콘텐츠 데이터를 복호하기 위한 열쇠 데이터(이하에서는 이것을 콘텐츠 열쇠라고 부름)와, 콘텐츠 데이터의 이용 조건도, 별도로 기록 재생 장치(112)에 송신된다. 이들 콘텐츠 데이터를 복호하기 위한 정보를, 이하에서는 콘텐츠 데이터의 복호 제어 정보라고 부른다. 이 복호 제어 정보는, 콘텐츠 데이터의 송신원과 동일한 송신원으로부터 송신되는 경우도 있고, 다른 송신원으로부터 송신되는 경우도 있다.
기록 재생 장치(112)는, 탈착 가능한 기억 장치, 예컨대 자기 디스크 장치(125, 126)를 접속할 수 있는 구성을 갖는다. 자기 디스크 장치(125 및 126)에는 방송파를 타고 송신되거나, 배포 서버(150)로부터 송신되거나 하는 암호화된 콘텐츠 데이터 및 콘텐츠 데이터의 복호 제어 정보가, 기록 모듈(Recording Module)(102) 및 보호 정보 전송 모듈(Protected Information Transmit Module)(104)을 통해 기록된다. 또한, 재생 모듈(Playback Module)(103)에는, 탈착 가능한 자기 디스크 장치(125나 126)로부터, 암호화된 콘텐츠 데이터나, 콘텐츠 데이터의 복호 제어 정보가, 보호 정보 전송 모듈(104)을 통해 송신된다. 콘텐츠 데이터의 복호 및 재생은 기록 재생 장치(112) 내의 재생 모듈(103)에 있어서 이루어진다.
그런데, 콘텐츠 데이터의 부정 이용을 방지하기 위해서는, 복호 제어 정보에 포함되는 콘텐츠 열쇠가 부정하게 빼내어지거나, 이용 조건이 부정하게 복제되거나, 재기록되거나 하는 일이 없도록 할 필요가 있다. 이를 위해서는, 기록 재생 장치(112)나 탈착 가능한 자기 디스크 장치(125 및 126) 내에서 복호 제어 정보의 송수신을 행하거나, 정보를 기록하거나 독출하거나 하는 부분은, 대탬퍼성을 갖도록 실장하는 것이 중요하다. 그와 같은 부분은, 기록 재생 장치(112)에서는 호스트 보안 관리자(Host Security Manager)(111)이며, 자기 디스크 장치에 있어서는, 스토리지 보안 관리자(Storage Security Manager)(225)이다. 또한, 호스트 보안 관리자(111) 내의 보호 정보 영역(Protected Information Storage)(101)의 역할이나, 스토리지 보안 관리자(225) 내의 사용허가증 전송 모듈(Usage Pass 전송 Module)(221), 제한 기억부 컨트롤러(Qualified Storage Controller)(222), 제한 기억부(Qualified Storage)(223)의 구체적인 역할에 대해서는 후에 설명한다. 본 발명에 따른 실시예에서는, 호스트 보안 관리자(Host Security Manger)(112) 및 스토리지 보안 관리자(225) 내에 있는 모듈 사이에서, 복호 제어 정보를 송수신하기 위한 전송 프로토콜에 관한 것이다. 또한, 여기서, 기록 재생 장치(112) 및 자기 디스크 장치(125, 126)에 있어서의 각 모듈 및 보안 관리자 등의 기능의 실현 수단으로서는 하드웨어 또는 소프트웨어(프로그램)의 어느 것에 의해서 구성되더라도 좋다.
한편, 기록 재생 장치(112) 중에서, 네트워크와의 사이의 네트워크 인터페이스(100)나, 입력 디바이스와의 사이의 인터페이스 브릿지부(105), 자기 디스크 장치와의 사이의 인터페이스(106 및 107), 및 이들을 제어하는 프로세서(PU)(108) 등은 전체적으로, 시스템 내부를 흐르는 데이터의 처리나 교환을 제어하는 기능을 갖는다. 그런 의미에서, 이하에서는 이들을 통합하여 호스트 모듈(Host Modules)(110)이라고 부른다.
<모듈 사이에서의 상호 인증과 사용허가증 전송 방식의 개략>
반송파에 실려 송신되는 콘텐츠 데이터나, 다른 매체에 기록되어 있는 콘텐츠 데이터는, 일반적으로는 독자적으로 규정된 방식으로 암호화되고 있다. 또한, 데이터에는, 그 복호 제어 정보도 포함되어 있는 경우가 많다. 이들 데이터를, 안테나(131)나 디지털 신호선(132)을 통해 기록 재생 장치(112)가 받아들이는 경우, 기록 모듈(102)은, 규정된 방식에 따라서 콘텐츠 데이터를 복호하고, 또한 복호 제어 정보를 빼낸다. 빼내어진 복호 제어 정보는, 본 실시예에 있어서 정하는 특정한 형식을 갖은 하나의 데이터에 통합된다. 이것을, 이하에서는 사용허가증라고 부른다. 사용허가증의 구체적인 구조에 대해서는 후에 도 4를 이용하여 설명한다.
기록 모듈(102)은 사용허가증을 생성하면, 그것을 자기 디스크 장치(125 또는 126)에 대하여 송신한다. 다만, 본 송신이 완료되기 위해서는, 그것에 앞서서, 기록 모듈(102) 또는 보호 정보 전송 모듈(104)과 사용허가증 전송 모듈(221) 사이에서는, 상호 인증이 완료되어야만 한다. 인증 처리가 완료되면, 몇 개의 열쇠 데이터가 공유된다. 그리고, 전송 대상의 사용허가증은, 공유된 열쇠를 이용하여, 암호화된 후, 기록 모듈(102)로부터 사용허가증 전송 모듈(221)에 대하여 송신된다.
본 발명은, 열쇠를 공유할 때까지의 인증 처리 방법과, 인증 처리에 의해서 공유된 열쇠를 이용하여 사용허가증을 암호화하여, 전송하는 처리 방법에 관한 것이다. 그 처리 방법은 2 종류가 있다. 그 하나는, 2개의 모듈 사이에서 상호 인증이 종료되면, 사용허가증의 전송 방향이 일의적으로 확정되어 버리는 방법이며, 다른 하나는 양방향으로 사용허가증을 전송할 수 있는 방법이다. 이하에서는, 전자에 의한 상호 인증 및 사용허가증 전송 방식을 단일 방향 전송 모드(Unidirectional Transfer mode)(생략하여 UT 모드)라고 부르고, 후자에 의한 상호 인증 및 사용허가증 전송 방식을 양방향 전송 모드(Bidirectional Transfer mode)(생략하여 BT 모드)라고 부른다. 이들 모드를 총칭하여, 제한 액세스(Qualified Access) 모드라고 부른다. 모듈 사이에서 사용허가증을 전송할 때, 어느 쪽의 모드로 상호 인증 및 사용허가증 전송을 할지는, 기록 재생 장치를 기동할 때, 호스트 모듈(Host Module)(110)이 결정한다.
자기 디스크 장치에서는, 사용허가증 전송 모듈(221)이 사용허가증을 수신하면, 그것을 제한 기억부 컨트롤러(222)에 송신한다. 제한 기억부 컨트롤러는, 제한 기억부(223)를 제어하는 모듈이다. 사용허가증 본체는, 최종적으로는 제한 기억부(223)에 기록된다. 한편, 배포 서버(150)가 자기 디스크 장치에 사용허가증을 송 신하는 경우나, 어느 자기 디스크 장치로부터 다른 자기 디스크 장치에 사용허가증을 전송하는 경우는, 사용허가증의 전송원이 되는 모듈이, 전송처가 되는 자기 디스크 장치 내의 사용허가증 전송 모듈에 대하여, 본 발명에서 정하는 방식에 따라서, 직접 사용허가증을 송신하더라도 좋다. 이 경우, 기록 재생 장치(112) 내의 네트워크 인터페이스(100)나 기록 모듈(102)은, 데이터의 한 쪽에서 다른 쪽의 모듈로의 전송을 제어하는 것만으로, 상호 인증 처리나 사용허가증의 암호화에는 직접 관계하지 않는다.
이어서, 도 2를 참조하여, 자기 디스크 장치의 구성에 관해서 설명한다.
자기 디스크 장치에는, 인터페이스부(220)를 통해 데이터가 입출력된다. 사용허가증와 같은 보호가 필요한 데이터 이외의 데이터가 외부로부터 입력되는 경우, 컨트롤러(230)를 통해, 헤드부(202)로부터 자기 디스크 원반(200) 상에 기록된다. 암호화된 콘텐츠 데이터도, 이 흐름에 따라서, 자기 디스크 원반(200) 상에 기록된다. 독출하는 경우는, 전술한 것을 반대로 데이터가 흐른다. 컨트롤러(200)는, 프로세서(PU)(231)로부터도 제어된다. 사용허가증 전송 모듈(221)이나 제한 기억부 컨트롤러(222) 등도 프로세서(231)에 의해서 제어된다. 도 2에서는, 제한 기억부(223)는 자기 디스크 원반(200)과는 별도로 설치되어 있지만, 암호화된 콘텐츠 데이터의 독출과 기록은 다른 특수한 액세스 방법으로만 액세스가 허용되고 있고, 또한 본 장치를 분해하거나 하여 내부의 데이터를 직접 독출하거나 할 수 없는 구성으로 되어 있으면, 제한 기억부는 자기 디스크 원반(200) 상에 설치하더라도 좋다.
<시스템의 열쇠 및 데이터의 구성>
도 3은 도 1 및 도 2에 도시한 기기에 있어서, 기록 모듈(102), 재생 모듈(103) 및 사용허가증 전송 모듈(221) 사이에서 사용허가증 전송을 실행할 때, 그것을 암호화하기 위해서 이용되는 열쇠 데이터, 및 배포하는 데이터 등의 일람을 나타내는 것이다. 통상, 열쇠 데이터 X가 대칭 암호용의 열쇠 데이터인 경우는, 대상의 데이터는 열쇠 데이터 X로 암호화되고 있고, 그 복호도 동일한 열쇠 데이터 X를 이용하여 이루어진다. 한편, 열쇠 데이터 X가 비대칭 암호용의 개인 열쇠 또는 공개 열쇠였던 경우는, 암호화 대상의 데이터는, X와는 다른 이들에 대응하는 공개 열쇠 또는 개인 열쇠 Y로 암호화되고 있다. Y로 암호화된 데이터는, X로 복호된다. 이하에서는, 비대칭 암호용 공개 열쇠 데이터를 공개 열쇠, 비대칭 암호용 개인 열쇠 데이터를 개인 열쇠, 대칭 암호용 열쇠 데이터를 대칭 열쇠라 줄여 기재한다. 데이터에 전자 서명이 붙어 있는 경우, 데이터를 일부에 포함하는 데이터 집합의 해시값이, 공개 열쇠 X에 대응하는 개인 열쇠 Y로 암호화되어 있음을 의미한다. 한편, 본 명세서에서 K_x와 같이 표기되어 있는 것은, 모든 도면에서는 x는 첨자로서 표현되고 있다.
콘텐츠 데이터의 암호화, 복호 및 재생 처리, 사용허가증의 암호화 및 복호화, 기록 모듈(102), 재생 모듈(103), 자기 디스크 장치(125 및 126), 배포 서버(150)의 인증에 관한 열쇠로서, 이하의 것이 있다.
콘텐츠 데이터를 암호화 및 복호하기 위한 열쇠는, 콘텐츠 열쇠 K_c이다. 배포 서버(150), 기록 모듈(102), 재생 모듈(103), 사용허가증 전송 모듈(221)에는, 각각 개별로 상호 인증을 하기 위한 전자 서명이 달린 공개 열쇠 KP_dc가 각각 할당된다. 다만, 호스트 보안 관리자(111)를 전체적으로 하나의 대탬퍼성을 갖는 기능 단위로 하여 실장하는 경우, 호스트 보안 관리자(111)에 대하여 하나의 KP_dc를 할당하더라도 좋다.
공개 열쇠 KP_dc에 의해 암호화된 데이터는, 이것에 대응하는 개인 열쇠 K_dc에 의해서 복호 가능하다. 이들 개인 열쇠 데이터는, 배포 서버(150), 기록 모듈(102), 사용허가증 전송 모듈(221), 재생 모듈(103)에 관해서, 각각의 어느 유한개(有限個)에 대하여, 하나 할당된다. 유한개라는 의미는, 하나라도 여러 개라도 좋은 것을 의미한다. KP_dc 및 K_dc을 공유하는 단위를 클래스라고 부른다. 하나의 클래스에 대해서는, 사용허가증을 전송하거나, 기록하거나 하는 부분이, 실장할 때에 만족하여야만 하는 안전성의 레벨이나, 하나의 사용허가증 전송 방식이 규정된다. 즉, 어떤 클래스에 속하는 복수의 모듈은, 전부가 그 클래스에서 규정된 안전성의 레벨을 만족하는 형태로 실장되어 있고, 또한 하나의 공통된 사용허가증 전송 방법을 실현하기 위한 기능을 갖는다. 한편, 이하에서는 이러한 기기나 모듈을, 총칭하여 디바이스라고 부른다.
KP_dc는 다른 일반 정보와 연결된 후, 소정의 인증국에 의해서 전자 서명이 주어져, 각 디바이스에 대한 증명서로서의 역할을 한다. 전자 서명을 부여하기 위한 인증국의 공개 열쇠를 KP_CA, 이것에 대응하는 개인 열쇠를 K_CA라고 적는다. 이후에는, 이들 인증국 공개 열쇠 및 인증국 개인 열쇠라고 부른다. 증명서에 기재되는 일반 정보란, 그 증명서의 발행원이나 증명서의 시리얼 번호 등이다. 이후에 는, KP_dc의 정당성을 나타내기 위한 증명서를 디바이스 클래스 증명서, 공개 열쇠 KP_dc를 디바이스 클래스 공개 열쇠, 열쇠로 암호화된 데이터를 복호하기 위해서 이용되는 개인 열쇠를 디바이스 클래스 개인 열쇠라고 부른다. 디바이스 클래스 증명서나 디바이스 클래스 개인 열쇠는 출하할 때에 각 디바이스에 매립된다.
각 디바이스에 대해서는, 개별적으로 매립되는 공개 열쇠 KP_d와, 열쇠로 암호화된 데이터를 복호하기 위한 개인 열쇠 K_d도 매립된다. 이후에서는, 이들을 디바이스 공개 열쇠, 디바이스 개인 열쇠라고 부른다. 디바이스 공개 열쇠와 디바이스 개인 열쇠는, 모든 디바이스에 다른 것이 매립된다.
한편, 공개 열쇠에 의한 암호화의 과정에서는, 암호화에 이용되는 공개 열쇠를 바탕으로 하여, 하나의 대칭 열쇠가 생성된다. 이것은, *KP_d와 같이 나타내어진다. 마찬가지로, 개인 열쇠에 의한 복호화의 과정에서는, 복호에 이용되는 개인 열쇠를 바탕으로 하여, 하나의 대칭 열쇠가 생성된다. 이것은, *K_d와 같이 나타내어진다. *KP_d와 *K_d는 실제로는 동일한 값이며, *KP_d에서 암호화된 데이터는, *K_d에서 복호할 수 있다. 이들의 대칭 열쇠를, 각각 공유 디바이스 공개 열쇠 및 공유 디바이스 개인 열쇠라고 부른다. 이들 열쇠의 생성 방법에 관해서는 후에 공개 열쇠 암호화 방법에 관한 설명을 할 때, 더욱 상세히 설명한다.
또한, 도 1에 도시한 시스템에 있어서, 사용되는 열쇠 등으로서 이하의 것이 있다. 다른 2개의 디바이스 사이에서 사용허가증 전송을 할 때마다, 사용허가증을 암호화하기 위해서, 주로 사용허가증의 전송처에 있어서 생성되는 대칭 열쇠 K_sn(n≥0), 및 디바이스 사이에서 상호 인증 처리의 최종 단계에 있어서 양 디바 이스에서 공유되는 K_s0을 암호화하기 위해서 생성되는 대칭 열쇠 K_ch이다. K_ch 및 K_s0은, 디바이스 사이의 상호 인증 처리에 있어서 공유되는 열쇠로, 사용허가증 전송을 할 때에 그것을 암호화하기 위해서는 이용되지 않는다. 한편 K_sn(n≥1)에 대해서는, 사용허가증 전송을 실행할 때마다, 반드시 K_sn에서 K_sn+1로 갱신되고 나서 이용된다. 이후, K_ch를 챌린지 열쇠, K_sn(n≥0)을 세션(세션) 열쇠라고 부른다. 특히, n이 0인 경우의 세션 열쇠를, 0차 세션 열쇠라고 부른다.
각 열쇠에 대해서는, [P] 또는 [I]의 첨자가 주어진다. 이것은, 열쇠가, 프라이멀 디바이스 및 인셉티브 디바이스의 어느 것에 생성(또는 매립)되었는지를 나타내는 것이다. 여기서 프라이멀 디바이스란, 어떤 디바이스가 다른 디바이스와의 사이에서 상호 인증을 하는 경우에, 상대가 되는 디바이스로부터 송신된 디바이스 클래스 증명서의 검증을 최초의 처리로 행하는 것이다. 한편, 인셉티브 디바이스란, 같은 경우에, 자신의 디바이스 클래스 증명서를 상대가 되는 디바이스에 송신하는 것을 최초의 처리로 행하는 것이다.
이상에 설명한 열쇠를 이용하여 행하는 암호화를 E(X, Y)로 나타낸다. 이것은, 데이터 Y를, 열쇠 데이터 X로 암호화하는 것을 나타낸다. 마찬가지로 복호화를, D(X, Y)로 나타낸다. 이것은, 데이터 Y를, 열쇠 데이터 X로 복호하는 것을 나타낸다. 또한, H(X)은 데이터 X의 해시값을, X||Y는 데이터 X와 데이터 Y를 연결하는 것을 나타낸다. 이들의 표기법은, UT 모드, BT 모드 어느 쪽의 경우에도 전부 공통된 것이다.
또한, UT 모드에서는 사용허가증의 전송 방향이 일의적으로 확정되어 버린다 고 이전에 말했는데, 그 방향은 항상 프라이멀 디바이스에서 인셉티브 디바이스가다. 따라서 UT 모드에서는, 기록 모듈(102)은 항상 프라이멀 디바이스가 되고, 재생 모듈(103)은 항상 인셉티브 디바이스가 된다. 한편, 자기 디스크 장치는, 기록 모듈로부터 송신된 사용허가증을 기록하는 경우는 인셉티브 디바이스가 되고, 콘텐츠 데이터의 복호 재생 등을 목적으로 자신으로부터 사용허가증을 재생 모듈에 송신하는 경우는, 프라이멀 디바이스가 된다.
이에 대하여, BT 모드에서는, 호스트 보안 관리자를 갖는 장치가 항상 프라이멀 디바이스가 되고, 자기 디스크 장치는 항상 인셉티브 디바이스가 되지만, 사용허가증의 전송은, 프라이멀 디바이스에서 인셉티브 디바이스로도 인셉티브 디바이스에서 프라이멀 디바이스로도 가능하다.
<사용허가증의 구성>
사용허가증의 구조에 관해서, 도 4를 이용하여 설명한다.
사용허가증에는, 자신이 어떠한 종류의 모듈에 출력 가능한 것인지를 나타내는 사용허가증 포맷(400), 각각에 고유하게 할당된 식별자 UPID(401), 대상 콘텐츠 데이터의 이용을 제한하기 위한 조건(402 및 404), 암호화된 콘텐츠 데이터를 풀기 위한 열쇠 데이터 K_c(403), 대응하는 콘텐츠 데이터를 특정하기 위한 식별자 CID(405), 콘텐츠의 저작권 정보(406)가 포함된다. 대상 콘텐츠 데이터의 이용을 제한하기 위한 조건에는, 사용허가증의 전송원에서 내용을 해석하여 그 출력을 제어하기 위한 제어 정보 UR_s(4020)(사용허가증의 전송원에는, 통상 기록 모듈이나 자기 디스크 장치가 될 수 있음)와, 재생 모듈(103)이 사용허가증 및 콘텐츠 데이 터를 수신한 후, 모듈에 있어서의 콘텐츠 데이터의 복호 처리를 제어하기 위한 제한 정보 UR_p(4040)가 있다. UR_s(4020)에는 사용허가증이 복제된 경우의 세대 정보를 나타내는 생성 카운트, 자신으로부터 사용허가증의 복제 가능한 횟수를 나타내는 복사 카운트, 자신의 사용허가증을 사용하여 콘텐츠 데이터의 복호 가능한 횟수를 나타내는 재생 카운트 등이 포함된다.
<UT 모드에서의 사용허가증 전송을 실행할 수 있는 사용허가증 전송 모듈의 구성>
도 5를 이용하여, UT 모드에서의 사용허가증 전송을 실행할 수 있는 사용허가증 전송 모듈(221)의 구성에 관해서 설명한다.
사용허가증 전송 모듈(530) 중에는, 다른 디바이스와의 사이에서 상호 인증을 하는 경우에, 자신이 프라이멀 디바이스가 되어 필요한 처리를 하기 위한 기능을 지닌 모듈(500), 자신이 프라이멀 디바이스가 되어 사용허가증의 전송을 하기 위한 기능을 지닌 모듈(501), 자신이 인셉티브 디바이스가 되어 필요한 처리를 하기 위한 기능을 지닌 모듈(502), 자신이 인셉티브 디바이스가 되어 사용허가증의 전송을 하기 위한 기능을 지닌 모듈(503), 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(504), 사용허가증 전송을 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스 어디로부터도 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 지닌 모듈(505), 및 제한 기억부 컨트롤러(222)에 사용허가증을 송신하기 전에 일시적으로 그것을 축적해 두거나, 제한 기억부로부터 독출한 사용허가증을 일시적으로 축적해 두거나 하기 위한 사용허가증 버퍼(510)가 설치되어 있다. 인증용 모듈(500 및 502), 사용허가증 암호화 및 송신용 모듈(501), 사용허가증 수신 및 복호화 모듈(503), 사용허가증 복구용 모듈(505) 등은 필요에 따라서, 기억 영역(504)에 액세스한다. 기억 영역(504)은 보호 정보 영역이라고 불린다.
자기 디스크 장치의 외부와 각 모듈과의 사이에서의 데이터의 교환은, 인터페이스(520) 및 버스(540)를 통해 이루어진다. PU(521)는 도 2에 있어서의 231과 같은 것이다.
각 모듈이 실제로 가지고 있는 기능에 대해서는, 도 17에서 도 20을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에, 상세히 설명한다. 또한, 보호 정보 영역(504)에 기록되는 데이터의 종류 등에 대해서는 도 9를 이용하여 후에 설명한다.
<UT 모드에서의 사용허가증 송신을 실행할 수 있는 기록 재생 장치 내의 기록 모듈의 구성>
도 6을 이용하여, UT 모드에서의 사용허가증 송신을 실행할 수 있는 기록 모듈(102)의 구성에 관해서 설명한다. 한편, UT 모드에 의한 사용허가증의 전송을 하는 기능을 기록 재생 장치로 실현하는 경우는, 도 1에 있어서의 보호 정보 전송 모듈(104)은 특별히 필요하지 않기 때문에 나타내지 않고 있다.
UT 모드에서는, 기록 모듈은 항상 프라이멀 디바이스가 된다. 그래서, 기록 모듈(625) 중에는, 다른 디바이스와의 사이에서 상호 인증을 하는 경우에, 자신이 프라이멀 디바이스가 되어 필요한 처리를 하기 위한 기능을 지닌 모듈(600), 자신 이 프라이멀 디바이스가 되어 사용허가증의 송신을 하기 위한 기능을 지닌 모듈(601), 사용허가증 송신 처리를 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스 어디로부터도 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 갖는 모듈(605), 및 외부로부터 콘텐츠 데이터 및 이용권 정보를 입수하여, 콘텐츠 열쇠를 생성하고, 열쇠로 콘텐츠를 암호화하여, 열쇠를 포함하는 사용허가증을 생성하는 기능을 갖는 모듈(606)이 마련되어 있다. 암호화된 콘텐츠는, 모듈(606)로부터 데이터 버스(640)에, 외부 기억부 인터페이스(620)를 통해, 자기 디스크 장치에 기록된다.
기록 모듈을 포함하는 호스트 보안 관리자(630)에는, 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(604)이 설치되고 있으며, 인증용 모듈(600)이나 사용허가증 암호화 및 송신용 모듈(601), 사용허가증 복구용 모듈(605) 등은, 필요에 따라서, 기억 영역에 액세스한다. 기억 영역(604)은 보호 정보 영역이라고 불린다.
각 모듈이 실제로 가지고 있는 기능에 관해서는, 도 17 내지 도 20을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다. 또한, 보호 정보 영역(504)에 기록되는 데이터의 종류 등에 관해서는, 도 8을 이용하여 후에 설명한다.
<UT 모드에서의 사용허가증 수신을 실행할 수 있는 기록 재생 장치 내의 재생 모듈의 구성>
도 7을 이용하여, UT 모드에서의 사용허가증 수신을 실행할 수 있는 재생 모 듈(103)의 구성에 관해서 설명한다. 기록 모듈과 마찬가지로, UT 모드에서 사용허가증의 전송을 하는 기능을 기록 재생 장치에서 실현하는 경우는, 도 1에 있어서의 보호 정보 전송 모듈(104)은 특별히 필요하지 않기 때문에 나타내고 있지 않다.
UT 모드에서는, 재생 모듈은 항상 인셉티브 디바이스가 된다. 그래서, 재생 모듈(725) 중에는, 다른 디바이스와의 사이에서 상호 인증을 하는 경우에, 자신이 인셉티브 디바이스가 되어 필요한 처리를 하기 위한 기능을 지닌 모듈(700), 자신이 인셉티브 디바이스가 되어 사용허가증의 수신을 하기 위한 기능을 지닌 모듈(703), 사용허가증 수신 처리를 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스 어디로부터도 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 갖는 모듈(605), 및 수신한 사용허가증으로부터, 사용허가증에 포함되는 UR_p에 기재되어 있는 내용을 해석하고, 그것에 따라서 암호화된 콘텐츠 데이터를 복호하는 기능을 갖는 모듈(706)이 설치되고 있다. 이때, 암호화된 콘텐츠 데이터는, 외부 기억부 인터페이스(720) 및 데이터 버스(740)를 통해 모듈(706)에 송신된다. 복호된 콘텐츠 데이터는, 보호된 데이터 통신로 등을 지나는 형태로, 모듈(706)에서 직접 재생 모듈 밖으로 출력된다.
재생 모듈을 포함하는 호스트 보안 관리자(730)에는, 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(704)이 설치되어 있고, 인증용 모듈(702)이나, 사용허가증 수신 및 복호화용 모듈(703), 사용허가증 복구용 모듈(705) 등은 필요에 따라서, 이 기억 영역을 액세스한다. 기억 영역(704)은 보호 정보 영역이라 고 불린다.
각 모듈이 실제로 가지고 있는 기능에 대해서는, 도 17 내지 도 20을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다. 또한, 보호 정보 영역(504)에 기록되는 데이터의 종류 등에 관해서는, 도 8을 이용하여 후에 설명한다.
<호스트 보안 관리자 내에 있는 UT 모드용 보호 정보 영역의 구성>
도 8을 이용하여, 기록 재생 장치에 있어서의 UT 모드용의 보호 정보 영역의 구성을 설명한다. 기억 영역(819)은, 기록 모듈(102)이 액세스하는 영역이다. 한편, 기억 영역(839)은 재생 모듈(103)이 액세스하는 영역이다. 기억 영역(819와 839)에는 동일한 종류의 데이터가 유지되거나 또는 기록된다. 이들은 다음과 같다.
801 및 821는 디바이스 클래스 증명서이다. 디바이스 클래스 증명서(801)에는 디바이스 클래스 공개 열쇠(800)가, 마찬가지로 디바이스 클래스 증명서(821)에는 디바이스 클래스 공개 열쇠(820)가 포함된다. 디바이스 클래스 증명서는, 포함되는 디바이스 클래스 공개 열쇠의 정당성을 증명하는 것으로, 전자 서명이 포함된다. 전자 서명부는, 인증국 개인 열쇠 K_CA로 암호화되어 있다.
803 및 823은 인증국 공개 열쇠, 804및 824는 디바이스 클래스 개인 열쇠, 805및 825는 디바이스 공개 열쇠, 806 및 826은 디바이스 개인 열쇠이다.
이상의 증명서 및 열쇠 정보는, 초기의 실장시에 매립되어 있는 것으로, 후에 갱신되는 것이 아니다.
이에 대하여, 802 및 822, 810, 811, 830, 831은, 상호 인증 처리나 사용허 가증 전송 처리에 있어서, 갱신되는 정보이다. 여기서 802 및 822는 실효된 디바이스 클래스의 리스트이다. 이 리스트를, 이하에서는 RDCL라고 부른다. 어떤 디바이스 클래스 공개 열쇠 KP_dc의 안전성을 잃으면, KP_dc를 포함하는 증명서의 고유 번호를, 이 리스트에 등록한다. 다른 디바이스로부터 보내진 디바이스 클래스 증명서의 검증을 할 때는, 전자 서명부를 이용하여 증명서에 위조가 되어 있지 않음을 확인하는 동시에, 증명서의 고유 번호가, 리스트에 등록되어 있지 않은지의 여부에 관해서도 확인한다. 또한, 810, 811, 830, 831은 트랜잭션 로그라고 불리는 기억 영역이다. 트랜잭션 로그로서는, 전송 대상 사용허가증의 UPID, 및 인증 상대로부터 송신된 디바이스 클래스 증명서 중에 포함되는 「수신 가능한 사용허가증 포맷 에 관한 정보」(기록하는 것은 프라이멀 디바이스만, 이하에서는 이것을 Type Map이라고 부름). 상호 인증을 실행하는 중의 상대의 디바이스 공개 열쇠(기록하는 것은 인셉티브 디바이스만), 전송 과정에 있어서 생성되는 세션 열쇠, 세션 상태라고 불리는 사용허가증 전송 처리의 진행 상황, 전송을 실행하기 전의 UR_s(기록하는 것은 프라이멀 디바이스만), 사용허가증이 기록되어 있는 어드레스 또는 기록처의 어드레스가, 사용허가증 전송이 실행될 때에 기록된다. 이들 데이터를 사용허가증 전송 실행시에 각 단계에서 기록해 둠으로써, 뜻하지 않은 사고 등에 의해, 전송원 및 전송선 어디로부터도 사용허가증이 없어져 버린 경우에도, 사용허가증을 복구할 수 있게 된다. 이들 데이터를 기록하는 타이밍에 관해서는, 도 17 내지 도 20을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다.
여기서, Type Map에 관해서 설명해 둔다. Type Map은 상술한 바와 같이, 「수신 가능한 사용허가증 포맷에 관한 정보」를 나타내는 것이다. 이 정보는 디바이스 클래스 증명서에 포함되어 있고, 그 의미에서 인증 처리 중에 인증 상대가 되는 디바이스에 보내진다. 인증 상대의 디바이스는, 자신이 사용허가증 전송원이었던 경우에, 어떤 유형의 사용허가증라면 상대의 디바이스가 수신 가능한지를, Type Map에 의해서 판단한다. 예컨대, 어떤 사용허가증의 사용허가증 포맷이「Type 0」을 보이고 있었던 경우에, 인증 상대 디바이스로부터 송신된 증명서 중의 Type Map이 「Type 0 수신 불가」로 되어 있었던 경우, 사용허가증의 전송원 디바이스는, 사용허가증의 전송 처리를 하지 않는다.
한편, 도 8에서는, 보호 정보 영역에 있어서, 기록 모듈용의 기억 영역과, 재생용의 기억 영역이 분리되어, 각각의 기억 영역에 디바이스 클래스 증명서나 인증국 공개 열쇠, 디바이스 클래스 개인 열쇠, 디바이스 공개 열쇠, 디바이스 개인 열쇠, 트랜잭션 로그 기록 영역, 실효된 디바이스 클래스의 리스트 등이 기록되는 형태로 되어 있지만, 반드시 그와 같이 실장할 필요는 없다. 즉, 하나의 디바이스 클래스 증명서나 인증국 공개 열쇠, 디바이스 클래스 개인 열쇠, 디바이스 공개 열쇠, 디바이스 개인 열쇠를, 기록 모듈과 재생 모듈 쌍방이 이용하여, 트랜잭션 로그 기록 영역이나 RDCL의 기록 영역은 공용 영역으로서 실장하는 형태라도 좋다.
<사용허가증 전송 모듈(221) 내에 있는 보호 정보 영역의 구성>
도 9를 이용하여, 자기 디스크 장치에 있어서의 UT 모드용의 보호 정보 영역의 구성을 설명한다. 도시하는 것과 같이, 사용허가증 전송 모듈(221) 내에 설치되 는 보호 정보 영역(504)에 기록되는 데이터는, 도 8에 있어서의 기록 모듈용으로 유지 및 기록되는 보호 정보(819), 또는 재생 모듈용으로 유지 및 기록되는 보호 정보(839)와 같다. 즉, 하나의 디바이스 클래스 증명서(901), 하나의 인증국 공개 열쇠(903), 하나의 디바이스 클래스 개인 열쇠(904), 하나의 디바이스 공개 열쇠(905), 하나의 디바이스 개인 열쇠(906)가 매립되고, 또한 하나의 RDCL을 기록하는 영역(902), 적절한 수의 트랜잭션 로그를 기록하는 영역이 설치된다. 디바이스 클래스 증명서(901)와 각각의 열쇠(903, 904, 905, 906)는 자기 디스크 장치가 프라이멀 디바이스가 되는 경우도 인셉티브 디바이스가 되는 경우도 이용된다. 트랜잭션 로그 기록 영역도 마찬가지이다. RDCL의 갱신은, 자기 디스크 장치가 프라이멀 디바이스가 되는 경우도 인셉티브 디바이스가 되는 경우도, 갱신될 수 있다. RDCL의 갱신 기준은, 후에 도 17을 이용하여 설명한다.
<제한 기억부(223)의 구성>
도 10을 이용하여, 제한 기억부(223)의 구성에 관해서 설명한다. 제한 기억부(223)는 자기 디스크 장치 속에 있으며, 기록 모듈이나 다른 자기 디스크 장치로부터 보내져 온 사용허가증을 기록하여 유지하는 부분이다. 사용허가증의 기록은, 제한 기억부 컨트롤러(222)에 의해서 제어된다. 제한 기억부(223)는 사용허가증 본체가 기록되는 영역(1000, 1010, 1020) 등과, 사용허가증의 유효성을 나타내는 플래그를 기록하는 영역(1001, 1011, 1021) 등으로 이루어진다. 이후, 플래그를 유효성 지시 플래그라고 부른다. 1001에 기록된 유효성 지시 플래그는 영역(1000)에 기록된 사용허가증의 유효성을, 1011에 기록된 유효성 지시 플래그는 영역(1010)에 기록된 사용허가증의 유효성을, 1021에 기록된 유효성 지시 플래그는 영역(1020)에 기록된 사용허가증의 유효성을 나타내는 것이다. 사용허가증 및 유효성 지시 플래그를 기록하는 영역은, 상기한 바와 같이 쌍을 구성하여, 상기와 같이 제한 기억부(223) 내에 다수 설치된다. 각각의 유효성 지시 플래그 영역에는, 플래그와 쌍으로 되어 있는 영역에 유효한 사용허가증이 기록되면, 제한 기억부 컨트롤러(222)에 의해서, 「유효하다」를 나타내는 값이 기록된다. 한편, 1번 기록된 사용허가증을 재생 모듈이나 다른 자기 디스크 장치에 출력하고 나서는, 영역에는 「무효」를 나타내는 값이 기록된다. 또한, 완전한 초기 상태에 있어서는, 「미기록」을 나타내는 값이 기록된다. 한편, 제한 기억부에 기록되어 있는 사용허가증의 독출은 제한 기억부 컨트롤러(222)에 의해서 이루어진다.
<BT 모드에서의 사용허가증 전송을 실행할 수 있는 사용허가증 전송 모듈의 구성>
도 11을 이용하여, BT 모드에서의 사용허가증 전송을 실행할 수 있는 사용허가증 전송 모듈의 구성에 관해서 설명한다.
BT 모드에서는, 자기 디스크 장치는 항상 인셉티브 디바이스가 된다. 그래서, 사용허가증 전송 모듈(1130) 중에는, 다른 디바이스와의 사이에서 상호 인증을 하는 경우에, 자신이 인셉티브 디바이스가 되어 필요한 처리를 하기 위한 기능을 지닌 모듈(1102), 자신이 인셉티브 디바이스가 되어 사용허가증의 전송을 하기 위한 기능을 지닌 모듈(1103), 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(1104), 사용허가증 전송을 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스 어디로부터도 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 갖는 모듈(1105), 및 제한 기억부 컨트롤러(222)에 사용허가증을 송신하기 전에 일시적으로 그것을 축적해 두거나, 제한 기억부로부터 독출한 사용허가증을 일시적으로 축적해 두거나 하기 위한 사용허가증 버퍼(1110)가 설치되고 있다. 또한, 정적인 기억 영역(1104)은, UT 모드의 경우와 마찬가지로 보호 정보 영역이라고 불린다. 다만, 여기에 기록되는 데이터는, 504에 기록되는 데이터와는 약간 다르다. 인증용 모듈(1100)은, 필요에 따라서 기억 영역에 액세스한다.
자기 디스크 장치의 외부와 각 모듈과의 사이에서의 데이터의 교환은, 인터페이스(1120) 및 버스(1140)를 통해 이루어진다. PU(1121)는 도 2에 있어서의 231과 같은 것이다. 각 모듈이 실제로 가지고 있는 기능, 보호 정보 영역(1104)에 기록되는 데이터의 종류 등에 관해서는, 도 15 및 도 21로부터 도 26을 이용하여 후에 설명한다.
<BT 모드에서의 사용허가증 송신을 실행할 수 있는 기록 재생 장치 내의 기록 모듈의 구성>
도 12를 이용하여, BT 모드에서의 사용허가증 송신을 실행할 수 있는 기록 모듈(102)의 구성에 관해서 설명한다.
BT 모드에서는, 호스트 보안 관리자(111) 전체가 항상 프라이멀 디바이스로서 동작하고, 사용허가증은 호스트 보안 관리자(111)에 대하여 양방향으로 흐른다. 그래서, 기록 모듈(1225)은 사용허가증을 출력하기 위해서 필요한 기능만 포함하 고, 인셉티브 디바이스와의 사이에서 상호 인증을 하기 위한 기능 등은 보호 정보 전송 모듈(104)이 포함하는 구성으로 한 쪽이 적절하다. 그래서 기록 모듈에는, 자신이 프라이멀 디바이스가 되어 사용허가증의 송신을 하기 위한 기능을 지닌 모듈(1201), 사용허가증 송신 처리를 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스 어디로부터도 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 갖는 모듈(1205), 및 외부로부터 콘텐츠 데이터 및 이용권 정보를 입수하여, 콘텐츠 열쇠를 생성하고, 열쇠로 콘텐츠를 암호화하여, 열쇠를 포함하는 사용허가증을 생성하는 기능을 갖는 모듈(1206)이 설치되고 있다. 암호화된 콘텐츠 데이터는, 모듈(1206)로부터 데이터 버스(1240)에, 외부 기억부 인터페이스(1220)를 통해 자기 디스크 장치에 기록된다.
기록 모듈을 포함하는 호스트 보안 관리자(1230)에는, 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(1204)이 설치되어 있고, 인증용 모듈(1200)이나 사용허가증 암호화 및 송신용 모듈(1201), 사용허가증 복구용 모듈(1205) 등은 필요에 따라서, 이 기억 영역에 액세스한다. 기억 영역(1204)은 보호 정보 영역이라고 불린다.
각 모듈이 실제로 가지고 있는 기능에 관해서는, 도 22 내지 도 27을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다. 또한, 보호 정보 영역(1204)에 기록되는 데이터의 종류 등에 대해서는 도 15를 이용하여 후에 설명한다.
<BT 모드에서의 사용허가증 수신을 실행할 수 있는 기록 재생 장치 내의 재생 모듈의 구성>
도 13을 이용하여, BT 모드에서의 사용허가증 수신을 실행할 수 있는 재생 모듈(103)의 구성에 관해서 설명한다.
BT 모드에서는, 재생 모듈은 기록 모듈과 마찬가지로, 항상 프라이멀 디바이스가 된다. 기록 모듈에 관한 설명에서 언급한 바와 같이, 호스트 보안 관리자가 프라이멀 디바이스가 되어 인셉티브 디바이스와 상호 인증을 하기 위한 기능은, 보호 정보 전송 모듈(104)이 담당한다. 그래서, 재생 모듈(1325)에는, 자신이 프라이멀 디바이스가 되어 사용허가증의 수신을 하기 위한 기능을 지닌 모듈(1303), 사용허가증 수신 처리를 실행했을 때, 처리가 정상적으로 종료되지 않은 경우에, 대상의 사용허가증이 전송원 디바이스 및 전송처 디바이스에서 없어져 버리는 것을 피하기 위한, 사용허가증의 복구 기능을 갖는 모듈(1305 및 1301), 및 수신한 사용허가증으로부터, 사용허가증에 포함되는 UR_p에 기재되어 있는 내용을 해석하여, 그것에 따라서 암호화된 콘텐츠 데이터를 복호하는 기능을 갖는 모듈(1306)이 설치된다. 이 때, 암호화된 콘텐츠 데이터는, 외부 기억부 인터페이스(1320) 및 데이터 버스(1340)를 통해 모듈(1306)에 송신된다. 복호된 콘텐츠 데이터는 보호된 데이터 통신로 등을 지나는 형태로, 모듈(1306)로부터 직접 재생 모듈 밖으로 출력된다.
재생 모듈을 포함하는 호스트 보안 관리자(1330)에는, 이용자의 의사에 의한 재기록을 할 수 없는 정적인 기억 영역(1304)이 설치되어 있고, 인증용 모듈(1302)이나, 사용허가증 수신 및 복호화용 모듈(1303), 사용허가증 복구용 모듈(1305 및 1301)은 필요에 따라서 기억 영역에 액세스한다. 기억 영역(1304)은 보호 정보 영역이라고 불린다.
각 모듈이 실제로 가지고 있는 기능에 관해서는, 도 22 내지 도 27을 이용하여 상호 인증 처리 및 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다. 또한, 보호 정보 영역(1304)에 기록되는 데이터의 종류 등에 대해서는 도 15를 이용하여 후에 설명한다.
<BT 모드용 보호 정보 전송 모듈의 구성>
도 14를 이용하여, BT 모드용의 보호 정보 전송 모듈의 구성에 관해서 설명한다.
기록 모듈이나 재생 모듈에 관한 설명에 있어서도 말한 것과 같이, BT 모드에서는, 보호 정보 전송 모듈이 인셉티브 디바이스와의 사이의 상호 인증을 실행하는 구성 쪽이 적절하다. 그래서, 보호 정보 전송 모듈(1410)에는, 자신이 프라이멀 디바이스가 되어 인셉티브 디바이스와의 사이에서 상호 인증 처리를 실행하기 위한 모듈(1400), 재생 모듈(1416) 중의 사용허가증 수신용 모듈(1403)이 생성한 최신의 세션 열쇠를 일시적으로 유지하여, 필요에 따라서 기록 모듈 내의 사용허가증 송신용 모듈에 송신하는 모듈(1405)이 포함된다. 한편, 사용허가증 수신용 모듈(1403)에 있어서의 최신의 세션 열쇠 생성 타이밍, 및 사용허가증 송신용 모듈(1401)에 있어서의 세션 열쇠의 이용 방법 등에 대해서는, 도 23 및 도 24를 이용하여 처리 시퀀스를 설명할 때에 상세히 설명한다.
<호스트 보안 관리자 내에 있는 BT 모드용 보호 정보 영역의 구성>
도 15를 이용하여, 기록 재생 장치에 있어서의 BT 모드용의 보호 정보 영역의 구성을 설명한다. BT 모드는, 사용허가증을 전송하는 방향에 상관없이, 호스트 보안 관리자(111)가 전체적으로 항상 프라이멀 디바이스가 되고, 자기 디스크 장치가 항상 인셉티브 디바이스가 되어 사용허가증 전송을 어느 쪽의 방향으로도 실행할 수 있도록 고안된 방식이다. 그 때문에, 통상 기록 모듈(102)과 재생 모듈(103)은, 하나의 보호 정보 영역을 공유하는 형태로 실장한 쪽이, 기록 재생 장치에 설치하는 정적 기억 영역을 작게 할 수 있다.
도 15는, 이러한 상황을 상정하여 보호 정보 영역을 실장한 경우의 내부 구성을 나타내고 있다. 한편, UT 모드의 경우에 설명한 바와 같이, 기록 모듈(102)용과 재생 모듈(103)용의 별도의 기억 영역을 준비하여, 각각 디바이스 클래스 증명서나, 상호 인증에 필요한 열쇠를 기억시켜 두더라도 좋다. 이 경우, 기록 모듈과 재생 모듈은 각각이 상호 인증 실행용 모듈을 포함하지 않으면 안되게 된다. 그와 같은 경우는, 본 실시예에서는 설명하지 않는다.
1501은 디바이스 클래스 증명서이다. 디바이스 클래스 증명서(1501)에는 디바이스 클래스 공개 열쇠(1500)가 포함된다. 디바이스 클래스 증명서는 포함되는 디바이스 클래스 공개 열쇠의 정당성을 증명하는 것으로, 전자 서명이 포함된다. 전자 서명부는 인증국 개인 열쇠 K_CA로 암호화되어 있다.
1503은 인증국 공개 열쇠, 1504는 디바이스 클래스 개인 열쇠, 1505는 디바이스 공개 열쇠, 1506은 디바이스 개인 열쇠이다.
이상의 증명서 및 열쇠 정보는, 초기의 실장시에 매립되어 있는 것으로, 후 에 갱신되는 것이 아니다.
이에 대하여, 영역(1502와 1510)에 기록되는 정보는, RDCL 및 접속 로그가며, 이들은 상호 인증 처리에 있어서 갱신되는 정보이다. RDCL에 포함되는 데이터의 의미나, 그 역할은 UT 모드의 경우와 동일하다. 한편, 접속 로그는, BT 모드에 고유의 로그 정보이다. 로그에 기록되는 것은, 인증 상대이 되는 디바이스의 디바이스 공개 열쇠, 인증 처리 실행 중에 자신 및 상대에 따라서 생성되는 0차 세션 열쇠, 및 Type Map이다. 도시한 바와 같이, 접속 로그는 복수의 엔트리를 갖지 않는다. 어떤 2개의 디바이스 사이에서 상호 인증 처리를 실행한 후, 한 쪽을 다른 디바이스와 다시 접속한 경우, 접속 로그는 덮어쓰기되어 버린다.
영역(1520 및 1521)에는, 트랜잭션 로그가 기록된다. 트랜잭션 로그는 사용허가증 전송 처리에 있어서 갱신되는 정보이지만, 기록되는 내용은, UT 모드의 경우와 다르다. BT 모드에 있어서, 트랜잭션 로그로서 기록되는 것은, 전송 대상 사용허가증의 UPID, 전송의 종류(자신이 사용허가증의 전송원인지 전송처인지), 전송을 실행하기 전의 UR_s(단, 프라이멀 디바이스가 사용허가증의 전송처였던 경우만), 전송을 실행하기 전의 사용허가증(단, 프라이멀 디바이스가 사용허가증의 전송원이었던 경우만), 사용허가증이 기록되어 있는 어드레스(단, 프라이멀 디바이스가 전송원이었던 경우만) 또는 기록처의 어드레스(단, 프라이멀 디바이스가 사용허가증의 전송처였던 경우만)가, 사용허가증 전송이 실행될 때에 기록된다. 이들 데이터를 사용허가증 전송을 할 때에 기록해 둠으로써, 뜻하지 않은 사고 등에 의해, 전송원 및 전송처 어디로부터도 사용허가증이 없어져 버린 경우에도 복구할 수 있 게 된다. 이들 데이터를 기록하는 타이밍에 관해서는, 도 23, 도 24, 도 26, 도 27을 이용하여 사용허가증 전송 처리를 구체적으로 설명하는 중에서, 상세히 설명한다.
<사용허가증 전송 모듈 내에 있는 보호 정보 영역의 구성>
도 16을 이용하여, 자기 디스크 장치에 있어서의 BT 모드용의 보호 정보 영역의 구성을 설명한다.
상술한 바와 같이, BT 모드는, 사용허가증을 전송하는 방향에 상관없이, 호스트 보안 관리자(111)가 전체적으로 항상 프라이멀 디바이스가 되고, 자기 디스크 장치가 항상 인셉티브 디바이스가 되어 사용허가증 전송을 어느 쪽의 방향으로도 실행할 수 있게 고안된 방식이다.
도시한 바와 같이, 사용허가증 전송 모듈 내에 설치되는 보호 정보 영역에 기록되는 데이터는, 트랜잭션 로그를 제외하고, 호스트 보안 관리자(111)에 기록되는 데이터와 동일하다. 즉, 1601은 디바이스 클래스 공개 열쇠(1600)를 포함하는 디바이스 클래스 증명서이며, 1603은 인증국 공개 열쇠, 1604는 디바이스 클래스 개인 열쇠, 1605는 디바이스 공개 열쇠, 1606은 디바이스 개인 열쇠, 그리고 1610은 접속 로그의 기록 영역이다.
또한, 도시되어 있는 바와 같이, 제한 기억부(223) 내의 보호 정보 영역에는, 트랜잭션 로그의 기록 영역이 설치되어 있지 않다. 이것은, 사용허가증 전송 실행시에는, 자기 디스크 장치는 트랜잭션 로그의 기록을 하지 않음을 의미한다. 로그의 기록 처리가 없는 만큼, BT 모드에서의 사용허가증 전송시의 자기 디스크 장치의 처리 부하는 UT 모드에 비해서 가벼워진다고 하는 특징이 있다.
상기한 증명서 및 열쇠 정보는, 초기의 실장시에 매립되어 있는 것으로, 후에 갱신되는 것이 아니라는 점, 및 접속 로그는 사용허가증을 실행하고자 하는 디바이스 사이에서 이루어지는 상호 인증 처리에 있어서 갱신된다는 점도, 호스트 보안 관리자(111) 내의 보호 정보 영역(101)과 같다.
이어서, 도 17 내지 도 27을 참조하여, 호스트 모듈(110), 프라이멀 디바이스, 인셉티브 디바이스의 3자 사이에서 이루어지는, 상호 인증 처리, 사용허가증 전송 처리의 상세한 점에 관해서 설명한다. 이들의 도면은 호스트 모듈이 발행하는 명령과, 그것에 부수되어 데이터 버스를 흐르는 데이터, 및 명령과 데이터를 수신하거나 또는 송신하여, 상호 인증 또는 사용허가증 전송을 실행하기 위해서 각 디바이스 또는 모듈에 요구되는 처리 및 기능을 나타내는 것이다.
<사용허가증 전송 모드 설정 처리>
사용허가증 전송을 실행하기 위해서는, 우선 처음에, 호스트 모듈(110)이 중개하는 형태로, 자신에게 접속되어 있는 탈착 가능한 기억 장치(125, 126) 및 자신에게 갖춰져 있는 호스트 보안 관리자(111)에 대하여, UT 모드 또는 BT 모드 어느 쪽의 방식으로 사용허가증 전송을 실행하는지를 설정할 필요가 있다. 도 17은 이것을 실현하기 위해서 각 디바이스 또는 모듈에 요구되는 처리 및 기능을, 호스트 모듈이 발행하는 명령과 그것에 부수되어 흐르는 데이터의 흐름이라는 관점에서 도시한 것이다.
한편, 도 17에서는, 호스트 모듈을 통해 접속되어 있는 2개의 디바이스를, 편의적으로 디바이스1, 디바이스2라고 부르고 있지만, 이들은 모두, 호스트 보안 관리자(보다 기능을 특정하여 기록 모듈 또는 재생 모듈인 경우도 있음), 탈착 가능한 기억 장치 내의 사용허가증 전송 모듈 중 어느 것이다. 이들 모듈이라면, 어느 것이라도 좋다.
우선, 호스트 모듈은 디바이스2에 대하여, 제한 액세스 모드 취득(GET QUALIFIED ACCESS MODE) 명령(17000)을 발행한다. 이에 대하여 디바이스2는 자신이 UT 모드에 의한 사용허가증 전송을 실행하는 기능과 BT 모드에 의한 사용허가증 전송을 실행하는 기능 중 어느 것, 또는 쌍방을 갖고 있는지를, 응답(17001)으로서 호스트 모듈(110)에 통지한다.
이어서, 호스트 모듈110은, 디바이스1에 대하여도 같은 명령(17010)을 발행한다. 디바이스1은 디바이스2와 마찬가지로, 자신이 UT 모드에 의한 사용허가증 전송을 실행하는 기능과 BT 모드에 의한 사용허가증 전송을 실행하는 기능 중 어느 것, 또는 쌍방을 갖고 있는지를, 응답(17011)으로서 호스트 모듈(110)에 통지한다.
이와 같이 하여, 호스트 모듈(110)은, 디바이스2 및 디바이스1이 각각 실장하고 있는 사용허가증 전송 모드의 종류를 알 수 있으며, 호스트 모듈(110)은, 쌍방의 디바이스가 실장하고 있는 모드를 선택하여, 쌍방의 디바이스에 모드를 설정한다. 디바이스2에 대해서는, 오픈 채널(OPEN CHANNEL) 명령(17020), 디바이스1에 대해서는, OPEN CHANNEL 명령(17030)이, 이들을 설정하기 위한 것이다. 이들 명령에 부수되어, 어느 쪽의 제한 액세스 모드로 사용허가증 전송을 실행하거나, 및 복수의 전송 처리를 동시 병렬적으로 실행하는 경우에 이들을 분리 가능하게 하기 위 한 식별자를, 데이터(17021) 및 데이터(17031)로 쌍방의 디바이스에 송신한다. 이하에서는, 식별자인 것을 채널 식별자라고 부른다. 도 17에서는, 디바이스1에 대하여 설정되는 채널 식별자는 ID_[D1], 디바이스2에 대하여 설정되는 채널 식별자는 ID_[D2]로 되어 있다.
여기서, 동시 병렬적이란, 예컨대 다음과 같은 상황을 말한다. 인증이 확립된 후, 사용허가증 전송이 실행되는 경우는, 채널 ID가 특정되어, 그 채널 ID 하에서만 전송이 이루어진다. 특히, UT 모드의 경우, 디바이스2(자기 디스크 장치)에 대하여 기록을 하면서, 독출을 하는 경우, 호스트 모듈이 발행하는 명령은, 인터리브적으로 되는 경우가 있다. 이 모습을 도 28에 도시한다.
도 28에 있어서, PUT USAGE PASS 후에는, 호스트 모듈로부터 디바이스2에 사용허가증이 전송되고, GET USAGE PASS 후에는, 디바이스 2로부터 호스트 모듈에 사용허가증이 전송된다. 굵은 선으로 나타내는 명령군(*1, *2, *3 표시의 명령)은, 그 자체에 처리 순서가 규정되어 있어, 불규칙한 순서로 명령을 수신하더라도, 디바이스2는 그것을 실패시킨다(abort). 그러나, 도중에, 가는 선으로 나타내는 명령(**1, **2, **3 표시의 명령)이 오더라도, 그것은 실패시키지 않는다. 굵은 선의 명령군은, 그 자체 규정된 순서를 지켜 디바이스2에 명령이 보내지는 한, 문제는 없기 때문이다.
이러한 상황에 있어서, 디바이스2는 채널 ID를 사용하여 굵은 선으로 나타내는 처리 계열과 가는 선으로 나타내는 처리 계열을 판별한다. 즉, 동시 병렬적인 처리란, 이러한 상황을 상정하고 있어, 굵은 선으로 나타내는 명령만 먼저 처음으 부터 최후까지 실행하여 사용허가증 전송을 종료하고 나서 굵은 선으로 나타내는 처리를 실행한다고 하는 식의 방식이 아니라, 상기한 바와 같이, 서로 속하는 명령이 사이에 끼워지면서 전체적으로 처리를 행하는 상황을 말한다. 또한, 상기한 바와 같이 2개의 처리 계열에 한하지 않고, 3개 이상이 서로 끼워지면서 실행되는 경우도 해당한다.
도 17로 돌아가 설명한다. 채널 식별자는, 구체적으로는 다음과 같이 이용된다. 예컨대, 기록 재생 장치에 유일한 탈착형 기억 장치가 접속되어 있었다고 하자. 이러한 상황에서, UT 모드로 기록 모듈(102)로부터 기억 장치(예컨대 125, 이하 동일함)에의 사용허가증의 기록을 행하면서, 마찬가지로 UT 모드로 기억 장치(125)로부터 재생 모듈(103)에, 이미 기록되어 있는 사용허가증의 독출을 하는 경우, 기억 장치(125)에서는, 각각의 사용허가증 전송 처리를 분리하여 관리할 수 있도록 할 필요가 있다. 이러한 2개의 처리 계열에 다른 채널 식별자를 할당함으로써, 탈착형의 기억 장치는 호스트 모듈(110)로부터 송신되어 온 명령이, 어느 쪽의 처리 계열에 관련되는 것인지를 판단할 수 있게 된다.
디바이스2 및 디바이스1은 각각 데이터(17021 및 17031O)를 수신하면, 채널 식별자와, 이 식별자에 관련지어진 제한 액세스 모드를 설정하는 처리를, 17022 및 17032에 있어서 실행한다.
채널 식별자와 제한 액세스 모드가 설정되면, 디바이스1과 디바이스2 사이에서 상호 인증 처리(17040), 및 그것에 계속되는 실제의 사용허가증 전송 처리(17041)가 실행된다. 이들의 상세한 것은, 도 18 내지 도 27을 이용하여 후에 상 세히 설명한다.
필요한 사용허가증 전송 처리를 끝내면, 호스트 모듈(110)은, 디바이스2와 디바이스1에 대하여 각각 클로즈 채널(CLOSE CHANNEL) 명령(17050 및 17060)을 발행한다. 이 명령에는, 부수되어 채널 식별자(17051 및 17061)가 각각의 디바이스에 송신된다. 각각의 디바이스는, 명령을 수신하면, 명령에 이어서 수신한 채널 식별자로 특정되는 처리 계열에 관한 상태 정보를 전부 리셋하여, 채널 식별자도 개방한다. 1번 채널 식별자가 개방되면, 재차 OPEN CHANNEL 명령에 의해서 채널 식별자 및 제한 액세스 모드를 설정하지 않는 한, 디바이스는 인증 처리나 사용허가증 전송을 실행하기 위해서 호스트 모듈이 발행하는 명령에 있어서, 채널 식별자가 지정되더라도, 명령에 관한 처리를 중단한다.
<공개 열쇠 암호화에 의한 공유 디바이스 공개 열쇠 공유 방법>
상호 인증 및 사용허가증 전송에 관한 상세한 처리 시퀀스에 관해서 설명하기 전에, 본 발명의 실시예에서 이용되는 공개 열쇠 암호화 방법에 관해서 설명한다.
본 실시예에서는, 공개 열쇠 암호화의 방법으로서 타원 암호를 이용한다. 타원 암호는, 2차원의 어느 타원 곡선의 방정식으로 나타내어지는 곡선상의 고정점(이것을 베이스 포인트 G=(Gx, Gy)라 부름)에 대하여, 그 n배점, 즉 G를 n회 가산한다고 하는 연산을 암호화를 할 때에 이용하는 것이다. 여기서 이용되는 가산법은, 통상의 십진법의 가산 방식과 달리, G를 정수회 가산한 결과는, G와는 다른 타원 곡선상의 점으로 되는 것이다.
설명을 할 때, 디바이스1과 디바이스2의 2개의 디바이스를 상정한다. 그리고, 디바이스1에는 암호화하여야 할 메시지 M이, 디바이스2에는, 어떤 공개 열쇠 KPu와 쌍이 되는 개인 열쇠 KPr가 기록되어 있는 것으로 한다. 여기서, KPr는 자연수, KPu는 타원 곡선상의 좌표점(KPux, KPuy)이며, 양자 및 베이스 포인트는, KPu=KPr×G라는 관계로 연결되고 있다. 다시 말해서, KPu는 베이스 포인트의 KPr회 가산점이라는 것이다.
우선, 디바이스1에 있어서의 암호화 처리에 관해서 설명한다.
(E1) 디바이스2가 디바이스1에 KPu를 송신한다.
(E2) 디바이스1이, 어떤 랜덤 자연수 r을 생성한다.
(E3) r×G=R=(Rx, Ry)을 계산한다.
(E4) r×KPu=P=(Px, Py)를 계산한다.
(E5) Px, Py를 이용하여, 어떤 자연수 *KPu를 생성한다: *KPu=f(Px, Py) 여기서, 함수 f는 사전에 결정해 두더라도, 임의라도 좋다.
(E6) *KPu를 대칭 열쇠로서 이용하여, 암호화 대상의 메시지 M을, 대칭 암호화한다: E(*KPu, M)
(E7) (6)에서 얻어진 데이터에, (3)에서 얻어진 데이터를 연결하여, 디바이스2에 송신한다.
송신되는 데이터는, Rx||Ry||E(*KPu, M)이다. 여기서, *KPu를 공유 디바이스 공개 열쇠라고 부른다.
이어서, 디바이스2에 있어서의 복호화 처리에 관해서 설명한다.
(D1) Rx, Ry, KPr를 이용하여, P를 계산한다: KPr×R=KPr×r×G=r×(KPr×G)=r×KPu=P=(Px, Py)
(D2) Px, Py를 이용하여, *KPr를 구한다. 여기서, *KPr와 *KPu는 완전히 동일한 수이다. 전자는, KPr를 이용하여 얻어졌다고 하는 의미로, *KPr라 표현되고 있다: *KPr=f(Px, Py)
(D3) r×KPu=P=(Px, Py)를 구한다.
(D4) *KPr를 대칭 열쇠로서 이용하여, 수신한 데이터를, 대칭 복호화한다: D(*KPr, E(*KPu, M)), 본 발명에서는, 이것을 D(KPr, E(KPu, M))라 기재한다. 여기서, *KPr를 공유 디바이스 개인 열쇠라고 부른다.
이상에 설명한, 대칭 열쇠 *KPu, *KPr를 공유하기 위한 알고리즘은 일반적으로는 ECDH 알고리즘이라고 불리고 있다.
한편, 본 명세서에서는, 처리 E2에서부터 처리 E7 모두를 행하는 암호화를, E(KPu, M)라 기재한다. 이미 *KPu가 구해져 있고, 처리 E6만 행하는 경우는, E(*KPu, M)로 기재한다. 마찬가지로, 처리 D1에서부터 처리 D4까지 모두를 행하는 복호화를, D(KPr, E(KPu, M))라 기재한다. 이미 *KPr이 구해져 있고, 처리 D4만 행하는 경우는, D(*KPr, E(*KPu, M))라 기재한다.
<도 18 내지 도 27에 나타나는 기호 단축명에 관한 설명>
도 18 내지 도 27에는, UT 모드 및 BT 모드에서의, 상호 인증 처리 시퀀스 및 사용허가증 전송 처리 시퀀스를 도시한다. 이들 도면 중에서는, 단축 형태로서 이하의 표기가 이용된다.
ID: 사용허가증 Identifier(식별자)
DCC: 디바이스 클래스 증명서
PD.C.key: 프라이멀 디바이스에서 생성되는 챌린지 열쇠
ID.C.key: 인셉티브 디바이스에서 생성되는 챌린지 열쇠
PD.S.key: 프라이멀 디바이스에서 생성되는 세션 열쇠
ID.S.key: 인셉티브 디바이스에서 생성되는 세션 열쇠
RDCL: 실효된 디바이스 클래스의 리스트
UP: 사용허가증
UPL: 사용허가증 위치의 약칭으로, 프라이멀 디바이스에 기록되어 있거나, 또는 인셉티브 디바이스에 기록할 예정의, 사용허가증의 어드레스이다. 어드레싱의 방법은 여러 가지 기기마다 다르기 때문에, 여기서는 특정하지 않는다.
MUP: 마스킹된 사용허가증. 사용허가증 중의 콘텐츠 열쇠의 부분이 0으로 대체된 사용허가증에, 사용허가증 상태를 연결한 것.
AI: 액션 표시자. ENCRYPT USAGE PASS COPY/MOVE/PLAY의 어느 쪽의 명령을 수신했는지를 나타내는 것. 상세한 것은 도 19, 도 23, 도 24의 설명에 있어서 설명한다.
CKS: 체크섬. 사용허가증을 암호화하여 전송할 때, 전송원에 있어서 사용허가증와 액션 표시자를 연결한 데이터로부터 계산하여, 데이터에 대하여 연결하는 것. 상세한 것은 도 19, 도 23, 도 24의 설명에 있어서 설명한다.
TL: 트랜잭션 로그
CL: 접속 로그
TS_UT: UT 모드에 있어서 이용되는 트랜잭션 상태. 상세한 것은, 도 21의 설명에 있어서 설명한다.
TS_BT: BT 모드에 있어서 이용되는 트랜잭션 상태. 상세한 것은, 도 21의 설명에 있어서 설명한다.
상태:
SS: 세션 상태. 사용허가증의 전송 처리의 단계. 상세한 것은, 도 21의 설명에 있어서 설명한다.
UPS: 사용허가증 상태. 사용허가증의 검색 또는 독출을 행한 결과 판명된, 기록되어 있는 사용허가증의 상태. 도 10에 있어서의 유효성 지시 플래그에 기재되어 있는 값과 동일하다. 유효, 무효, 미기록의 3 상태가 있다.
<UT 모드에 있어서의 디바이스 사이 상호 인증 처리 시퀀스>
도 18은 이용하여, UT 모드에 있어서의, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 상호 인증을 하는 경우의 처리 시퀀스에 관해서 설명한다.
한편, UT 모드에 있어서의 상호 인증 처리 단계의 것을, 이하에서는 UT 커넥션 스테이지(접속 단계)라고 부른다. 2개의 탈착 가능한 기억 장치 사이에서 사용허가증을 전송한다는 것은, 프라이멀 디바이스가 기억 장치(125)에 있어서의 모듈(500), 인셉티브 디바이스가 기억 장치(126)에 있어서의 모듈(502)인 것과 같은 경우이다. 기록 모듈 등에 새롭게 생성한 사용허가증을, 탈착 가능한 기억 장치에 기록하는 경우는, 프라이멀 디바이스가 모듈(600), 인셉티브 디바이스가 모듈(502) 이다. 자기 디스크 장치에 기록되어 있는 사용허가증을 재생 모듈에 송신하여, 콘텐츠 데이터의 복호나 재생 등을 하는 경우는, 프라이멀 디바이스가 모듈(500), 인셉티브 디바이스가 모듈(702)이 된다. 이들 관계는, 도 19 내지 도 21에 있어서의 UT 모드에서의 각 처리 시퀀스에 관한 설명에서도 마찬가지이다.
우선 처음에, 호스트 모듈은, 인셉티브 디바이스에 대하여 디바이스 클래스 증명서 취득(GET DEVICE CLASS CERTIFICATE) 명령(18000)을 발행한다. 그렇게 하면, 인셉티브 디바이스는 자신에게 매립되어 있는 디바이스 클래스(디바이스 클래스) 증명서를, 호스트 모듈(110)에 송신한다(18001). 디바이스 클래스 증명서를, 이후에는 DCC(K_CA, KP_dc[I])라 기재한다. 이것은, 증명서가 KP_dc[I]의 정당성을 나타내는 것으로, K_CA를 이용하여 전자 서명부가 암호화되어 있음을 나타내고 있다.
호스트 모듈(110)은, DCC(K_CA, KP_dc[I])를 수신하면, 프라이멀 디바이스에 대하여 디바이스 클래스 증명서 검증(VERIFY DEVICE CLASS CERTIFICATE) 명령(18010)을 발행하고, 그것에 이어서 DCC(K_CA, KP_dc[I])를 프라이멀 디바이스에 송신한다(18012).
프라이멀 디바이스는 DCC(K_CA, KP_dc[I])를 수신하면, 18012에 나타내는 하나의 처리(처리 UT1.1.1)를 실행한다.
처리 UT1.1.1: DCC(K_CA, KP_dc[I])의 검증을 한다. 검증은, 증명서 중의 데이터에 대하여 위조가 되어 있지 않은가, 및 포함되는 증명서를 특정하는 번호가, 자신에게 기록되어 있는 RDCL_[P]에 실려 있지 않은가를 조사함으로써 달성된다. 위조의 유무는, KP_dc[I]를 포함하는 전자 서명부 이외의 데이터의 해시값을 계산한 후, 그것이 DCC(K_CA, KP_dc[I])에 있어서의 전자 서명부를 KP_CA에서 복호한 결과와 일치하고 있는지의 여부로 판정된다. 양자가 일치하고 있었던 경우, 위조는 이루어지지 않고 있는 것으로 된다. 증명서를 특정하는 번호가 RDCL_[P]에 실려 있었던 경우, 인증 처리는 중단된다.
프라이멀 디바이스가 DCC(K_CA, KP_dc[I])를 검증하는 중에, 호스트 모듈(110)은, 처리가 종료되는 타이밍을 가늠하여, 프라이멀 디바이스에 대하여, 프라이멀 디바이스 챌린지 키 UT 커넥션 취득(GET PRIMAL DEVICE CHALLENGE KEY UT CONNECTION) 명령(18020)을 발행한다. 프라이멀 디바이스는 명령을 수신하면, 18021에 나타내는, 하기 3가지의 처리를 실행한다.
처리 UT1.2.1: 챌린지 열쇠 K_ch[P]를 생성한다.
처리 UT1.2.2: 처리 UT1.2.1에서 생성한 K_ch[P]를, DCC(K_CA, KP_dc[I]) 중의 KP_dc[I]로 암호화한다. 얻어지는 데이터는 E(KP_dc[I], K_ch[P])이다.
처리 UT1.2.3: 처리 UT1.2.2에서 얻어진 데이터에 대하여, 자신에게 매립되어 있는 디바이스 클래스 증명서를 연결. 얻어지는 데이터는 E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])이다.
처리 UT1.2.3에 있어서 E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])의 생성을 끝내면, 프라이멀 디바이스는 데이터를 호스트 모듈에 송신한다(18022).
호스트 모듈은, E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])를 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE CHALLENGE KEY UT CONNECTION 명 령(18030) 명령을 발행한 후, 수신한 데이터를 인셉티브 디바이스에 송신한다(18031).
인셉티브 디바이스는, E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])를 수신하면, 18032에 나타내는, 하기의 3가지의 처리를 실행한다.
처리 UT1.3.1: DCC(K_CA, KP_dc[P])를 검증한다. 검증 수단은, 처리 UT1.1.1에서 설명한 방법과 같다. 단, 참조하는 RDCL은 RDCL_[I]이다.
처리 UT1.3.2: 수신한 데이터 중, E(KP_dc[I], K_ch[P])를 분리하여, 복호한다. 복호는 자신의 보호 정보 영역에 매립되어 있는 K_dc[I]를 이용하여 행한다.
처리 UT1.3.3: 처리 UT1.3.2의 결과로서, K_ch[P]가 정당한 형태로 포함되어 있었던지의 여부를 확인한다. 확인은 다음과 같은 식으로 행한다. 우선, 처리 UT1.3.2에 있어서 K_ch[P]를 암호화할 때, K_ch[P]에 대하여 고유의 번호를 연결하여 암호화한다는 것을 미리 규정해 둔다. 그리고, 처리 UT1.3.2에 있어서 수신한 데이터를 복호했을 때, 그 결과에 있어서, 규정된 번호를 얻을 수 있으면, 데이터의 파괴 등은 일어나고 있지 않다고 판단한다.
처리 UT1.3.1에서부터 처리 UT1.3.3을 실행하는 중에, 호스트 모듈(110)은, 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPTIVE DEVICE SESSION KEY UT CONNECTION 명령(18040)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 18041에 나타내는 하기의 2가지의 처리를 실행한다.
처리 UT1.4.1: 0차 세션 열쇠 K_s[I]0을 생성한다.
처리 UT1.4.2: 처리 UT1.4.1에서 생성한 K_s[I]0에 대하여, 자신에게 매립되 어 있는 디바이스 공개 열쇠 KP_d[I]를 연결하여, 처리 UT1.3.1에서 수신한 KP_dc[P]로 암호화한다. 암호화에 의해서 얻어진 데이터에, 자신에게 기록되어 있는 RDCL_[I]를 연결하여, 얻어진 데이터 전체를 처리 UT1.3.3에서 얻어진 K_ch[P]로 암호화한다. 최종적으로 얻어지는 데이터는 E(K_ch[P], E(KP_dc[P], K_s[I]0||KP_d[I])||RDCL_[I])이다.
인셉티브 디바이스에 있어서, E(K_ch[P], E(KP_dc[P], K_s[I]0||KP_d[I])||RDCL_[I])가 생성되면, 디바이스는 생성된 데이터를 호스트 모듈에 송신한다(18042).
호스트 모듈은, E(K_ch[P], E(KP_dc[P], K_s[I]0||KP_d[I])||RDCL_[I])를 수신하면, 프라이멀 디바이스에 대하여, 인셉티브 디바이스 세션 키 UT 커넥션 송신(PUT INCEPTIVE DEVICE SESSION KEY UT CONNECTION) 명령(18050)을 발행한 후, 수신한 데이터를 프라이멀 디바이스에 송신한다(18051).
프라이멀 디바이스는, E(K_ch[P], E(KP_dc[P], K_s[I]0||KP_d[I])||RDCL_[I])를 수신하면, 18052에 나타내는, 하기 5가지의 처리를 실행한다.
처리 UT1.5.1: 수신한 데이터를, K_ch[P]로 복호한다. K_ch[P]는 처리 UT1.2.1에 있어서 자신이 생성한 열쇠이다.
처리 UT1.5.2: 처리 UT1.5.1의 결과로부터, RDCL_[I]를 분리하여, RDCL_[I]가 정당한 형태로 포함되어 있었는지의 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 UT1.5.3: 자신에게 기록되어 있는 RDCL_[P]와, 송신된 RDCL_[I]에 대해서, 이들이 발행된 날짜 정보를 비교한다. RDCL의 발행일 정보는 RDCL 내에 포함되는 것으로 한다. 비교한 결과, 수신한 RDCL_[I]의 발행일 정보가, 자신에게 기록되어 있는 RDCL_[P]의 발행일 정보보다 새로운 것이었던 경우는, RDCL_[P]를 RDCL_[I]로 덮어쓰기한다.
처리 UT1.5.4: 나머지 데이터 E(KP_dc[P], K_s[I]0||KP_d[I])를, K_dc[P]로 복호한다.
처리 UT1.5.5: 처리 UT1.5.4에서 얻어진 데이터에 대해서, K_s[I]0||KP_d[I]가 정당한 형태로 포함되어 있었는지의 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 UT1.5.1에서부터 처리 UT1.5.5를 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET PRIMAL DEVICE SESSION KEY UT CONNECTION 명령(18061)을 발행한다. 프라이멀 디바이스는 명령을 수신하면, 18061에 나타내는, 하기의 2가지의 처리를 실행한다.
처리 UT1.6.1: 0차 세션 열쇠 K_s[P]0을 생성한다.
처리 UT1.6.2: 처리 UT1.6.1에서 생성한 K_s[P]0을, 처리 UT1.5.5에서 수신한 0차 세션 열쇠 K_s[I]0으로 암호화한다. 얻어지는 데이터는 E(K_s[I]0, K_s[P]0)이다. 여기서, 처리 UT1.5.3에 있어서의 RDCL_[P]와 RDCL_[I]의 발행일 정보의 비교 결과, RDCL_[P]의 발행일 쪽이 새로웠던 경우는, E(K_s[I]0, K_s[P]0)에 대하여, RDCL_[P]를 연결한 후, 얻어진 데이터 전체를 처리 UT1.5.5에서 얻어진 KP_d[I]로 암호화한다. 최종적으로 얻어지는 데이터는 E(KP_d[I], E(K_s[I]0, K_s[P]0||KP_d[P])||RDCL_[P])이다.
프라이멀 디바이스에 있어서, E(KP_d[I], E(K_s[I]0, K_s[P]0||KP_d[P])||RDCL_[P])의 생성을 끝내면, 디바이스는, 데이터를 호스트 모듈(110)에 송신한다(18062).
호스트 모듈(110)은, E(KP_d[I], E(K_s[I]0, K_s[P]0||KP_d[P])||RDCL_[P])를 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE SESSION KEY UT CONNECTION 명령(18070) 명령을 발행한 후, 수신한 데이터를 디바이스에 송신한다(18071).
인셉티브 디바이스는, E(KP_d[I], E(K_s[I]0, K_s[P]0||KP_d[P])||RDCL_[P])를 수신하면, 18072에 나타내는, 하기의 5가지의 처리를 실행한다.
처리 UT1.7.1: 수신한 데이터를, K_d[I]로 복호한다. K_d[I]는 자신의 보호 정보 영역에 매립되고 있다.
처리 UT1.7.2: 처리 UT1.7.1의 결과에 RDCL_[P]가 포함되어 있었던 경우, 데이터를 분리하여, 데이터가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 UT1.7.3: 처리 UT1.7.1과 처리 UT1.7.2의 결과, 수신한 데이터에 RDCL_[P]가 포함되어 있어, 그것이 정당한 형태로 포함되어 있었음을 확인할 수 있었던 경우, 자신에게 기록되어 있는 RDCL_[I]를, 수신한 RDCL_[P]로 덮어쓰기한다.
처리 UT1.7.4: 나머지 데이터 E(K_s[I]0, K_s[P]0)를, K_s[I]0으로 복호한 다. K_s[I]0은 처리 UT1.4.1에 있어서, 자신이 생성한 열쇠 데이터이다.
처리 UT1.7.5: 처리 UT1.7.4에서 얻어진 데이터에 관해서, K_s[P]0이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은 처리 UT1.3.3에 적은 것과 같다.
이상의 처리 UT1.7.5까지를 완료하면, 공유 디바이스 공개 열쇠 *KP_d[I](공유 디바이스 개인 열쇠 *K_d[I]와 동일함), K_s[P]0, K_s[I]0의 공유가 완료된다.
<UT 모드에 있어서의 디바이스 사이 사용허가증 전송 처리 시퀀스>
UT 모드에 의해, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 상호 인증이 완료되면, 프라이멀 디바이스에서 인셉티브 디바이스에 대하여, 사용허가증을 전송할 수 있다. 이어서, 도 19를 이용하여, 사용허가증의 전송 처리 시퀀스에 관해서 설명한다. 한편, UT 모드에 있어서의 사용허가증 전송 처리 단계의 것을, 이하에서는 UT 전송 단계라고 부른다.
우선 처음에, 호스트 모듈(110)은, 프라이멀 디바이스에 대하여 사용허가증 리드(READ USAGE PASS) 명령(19000)을 발행한다. 그리고, 명령에 이어서, 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수를, 19001에 있어서 프라이멀 디바이스에 통지한다. 프라이멀 디바이스는 명령과 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수에 관한 정보를 수신하면, 19002에 나타내는, 하기의 처리를 실행한다.
처리 UT2.1.1: 전송 대상의 사용허가증을, 사용허가증 송신용 모듈 내에 준비한다. 예컨대, 프라이멀 디바이스가 자기 디스크 장치였던 경우, 원하는 사용허 가증을 제한 기억부(223)로부터 사용허가증 버퍼(510)를 통해 모듈(501) 내로 보내는 식의 처리에 상당한다. 마찬가지로, 프라이멀 디바이스가 기록 모듈이었던 경우, 원하는 사용허가증을 사용허가증 생성자 및 콘텐츠 암호화기(606)에서 모듈(601)로 보내는 식의 처리에 상당한다.
호스트 모듈(110)은, 원하는 사용허가증이, 사용허가증 송신용 모듈 내에 준비되면, 이어서 마스크 사용허가증 취득(GET MASKED USAGE PASS) 명령(19010)을, 프라이멀 디바이스에 대하여 발행한다. 프라이멀 디바이스는 이 명령을 수신하면, 마스킹된 사용허가증을 작성하여, 19011에 있어서 호스트 모듈(110)에 데이터를 송신한다.
앞서 설명한 바와 같이, 마스킹된 사용허가증은, 사용허가증 중의 콘텐츠 열쇠 데이터부를 0으로 치환한 것에, 사용허가증 상태를 연결한 것이다. 호스트 모듈(110)은, 마스킹된 사용허가증을 수신하면, 데이터 중의 UR_s를 해석하여, 사용허가증 송신용 모듈 내에 독출된 사용허가증이, 전송 가능한지의 여부를 판단한다. 전송 가능하다고 판단된 경우는, 이하의 사용허가증 전송 처리를 계속한다.
사용허가증 전송 처리를 계속하는 경우, 이어서 호스트 모듈(110)은, 인셉티브 디바이스에 대하여, 인셉티브 디바이스 세션 열쇠 UT 전송 생성(CREATE INCEPTIVE DEVICE SESSION KEY UT TRANSFER) 명령(19020) 명령을 발행한다. 그리고, 이 명령에 계속해서, 전송 대상이 되는 사용허가증의 사용허가증 식별자를 인셉티브 디바이스에 송신한다(19021). 인셉티브 디바이스는, 수신 대상 사용허가증의 사용허가증 식별자를 수신하면, 19022에 나타내는, 하기의 3가지의 처리를 실행 한다.
처리 UT2.2.1: 세션 열쇠 K_s[I]n을 생성한다. 세션 열쇠는, 사용허가증 전송을 할 때마다 생성되는 대칭 열쇠이며, 그 의미로부터, n은 n회째의 사용허가증 전송용으로 생성되었음을 의미한다. n≥1이다.
처리 UT2.2.2: 트랜잭션 로그를 생성한다. 여기서 기록되는 것은, 전송 대상 사용허가증의 사용허가증 식별자, 처리 UT2.2.1에서 생성한 세션 열쇠 K_s[I]n, 세션 상태다. 요소에는, 사용허가증을 수신할 준비가 갖춰졌다는 의미로, RP(Receive Prepared)가 설정된다. 나머지 요소에는, 부정 U(Unspecified)가 기록된다.
처리 UT2.2.3: 처리 UT2.2.1에서 생성한 K_s[I]n을, 하나 앞의 사용허가증 전송 실행시에 생성한 세션 열쇠 K_s[I]n-1 및 접속 단계에 있어서 프라이멀 디바이스에서 생성된 0차 세션 열쇠 K_s[P]0을 이용하여, 암호화한다. 본 처리의 앞에 1번의 사용허가증 전송이 이루어지고 있지 않은 경우는, 접속 단계 중의 처리 UT1.4.1에 있어서 자신이 생성한 0차 세션 열쇠를 이용한다. 얻어지는 데이터는 E(K_s[P]0, E(K_s[I] n-1, K_s[I] n))이다.
처리 UT2.2.1 및 처리 UT2.2.2를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에, 인셉티브 디바이스 세션 열쇠 UT 전송 취득(GET INCEPTIVE DEVICE SESSION KEY UT TRANSFER) 명령(19030)을 발행한다. 인셉티브 디바이스는 이 명령을 수신하면, 처리 UT2.2.3에 있어서 생성된 데이터를, 호스트 모듈(110)에 송신한다(19031).
호스트 모듈(110)은, E(K_s[P]0, E(K_s[I]n-1, K_s[I]n))를 수신하면, 프라 이멀 디바이스에 대하여, 인셉티브 디바이스 세션 열쇠 UT 전송 송신(PUT INCEPTIVE DEVICE SESSION KEY UT TRANSFER) 명령(19040)을 발행한 후, 수신한 데이터에 사용허가증 식별자를 연결하여, 프라이멀 디바이스에 송신한다(19041). 송신되는 데이터는, UPID||E(K_s[P]0, E(K_s[I]n-1, K_s[I]n))이다.
프라이멀 디바이스는, UPID||E(K_s[P]0, E(K_s[I]n-1, K_s[I]n))를 수신하면, 19042에 나타내는, 하기의 5가지의 처리를 실행한다.
처리 UT2.3.1: 수신한 UPID와, 처리 UT2.1.1에서 사용허가증 송신용 모듈 내에 준비한 사용허가증의 UPID가 일치하고 있는지 조사한다. 일치하지 않고 있으면, 여기서 사용허가증 전송 처리를 중단한다.
처리 UT2.3.2: 수신한 데이터를, K_s[P]0 및 K_s[I]n-1로 복호한다. K_s[P]0은 처리 UT1.6.1에 있어서 자신이 생성한 것이고, K_s[I]n-1은 처리 UT.2.2.3에 있어서 설명한 것과 같다.
처리 UT2.3.3: 처리 UT2.3.2에서 얻어진 데이터에 관해서, K_s[I]n이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 UT2.3.4: 트랜잭션 로그를 생성한다. 여기서 기록되는 것은, 전송 대상 사용허가증의 사용허가증 식별자, 처리 UT1.1.1에서 얻은 인셉티브 디바이스의 디바이스 클래스 증명서에 포함되는 Type Map, 처리 UT2.3.3에서 얻은 세션 열쇠 K_s[I]n, 세션 상태, 전송 대상 사용허가증의 UR_s, 처리 UT2.1.1에서 독출한 사용허가증의 사용허가증 위치가다. 세션 상태에는, 사용허가증을 송신하는 준비가 갖 춰졌다고 하는 의미로, SP(Send Prepared)가 설정된다.
이상, 처리 UT2.3.1에서부터 처리 UT2.3.4를 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 ENCRYPT USAGE PASS COPY 또는 ENCRYPT USAGE PASS MOVE 또는 ENCRYPT USAGE PASS PLAY 명령(19050)을 발행한다. 또한, 어떤 명령을 수신한 경우에 어떠한 UR_s의 사용허가증을 송신하는지, 그리고 복제나 재생의 경우 프라이멀 디바이스에 남는 사용허가증의 UR_s는 어떻게 변경해야 하는지 등에 대해서는, 미리 전부 규정되어 있는 것으로 한다. 그래서, 명령을 수신하면, 프라이멀 디바이스는, 19051에 나타내는, 하기의 2가지의 처리를 실행한다.
처리 UT2.4.1: 인셉티브 디바이스에 대하여 송신하는 사용허가증을, 처리 UT2.1.1에 있어서 사용허가증 송신용 모듈 내에 준비된 사용허가증을 바탕으로, 생성한다. 통상, UPID나 K_c 등은 그대로 복제되고, UR_s만 규정에 따르는 형태로 변경된다.
처리 UT2.4.2: 처리 UT2.4.1에서 생성된 송신용 사용허가증에 대하여, 수신한 명령이 ENCRYPT USAGE PASS COPY/MOVE/PLAY의 어느 것인지를 나타내는 식별자 정보 액션 표시자, 및 사용허가증||액션 표시자에 대한 체크섬을 계산하여, 연결한다.
연결 처리한 후, 얻어진 데이터를 K_s[I]n 및 *KP_d[I]로 암호화한다. 즉, 대칭 열쇠에 의한 이중 암호화이다. 얻어지는 데이터는 E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))이다. 또한, 체크섬의 계산은, 예컨대 다음과 같 이 행하면 된다.
우선, 계산 대상으로 하는 데이터 사용허가증||액션 표시자를, 고정 길이마다 분할한다. 그리고, 얻어진 각각의 블록 데이터를 전부 서로 합한 후, 모든 비트치를 반전하여, 더욱 1을 더한다. 이것은, 사용허가증||액션 표시자의 2의 보수를 구하고 있는 것과 다를 바 없다. 검증시에는, 체크섬을 포함한 데이터전체 사용허가증||액션 표시자||체크섬을 앞과 동일한 고정 길이로 분할한 후, 각 블록 데이터를 전부 서로 합한다. 그 결과가 0이 되면, 도중에 데이터에 변화가 없다는 것이 된다.
상기한 처리 UT2.4.1 및 처리 UT2.4.2를 프라이멀 디바이스가 실행하는 중, 호스트 모듈(110)은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET USAGE PASS 명령(19060)을 발행한다. 프라이멀 디바이스는 명령을 수신하면, 19062에 나타내는, 하기의 3가지의 처리를 실행한다.
처리 UT2.5.1: 트랜잭션 로그에 있어서의 세션 상태를 갱신한다. 사용허가증의 송신이 완료되므로, 세션 상태를 SC(Send Completed)로 설정한다.
처리 UT2.5.2: 처리 2.4.2에 있어서 생성된 데이터 E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 호스트 모듈에 송신한다.
처리 UT2.5.3: 원래의 사용허가증 중의 UR_s를 규정에 따라서 변경한다. 프라이멀 디바이스가 자기 디스크 장치였던 경우는, UR_s가 변경된 사용허가증을, 사용허가증이 제한 기억부 속에서 원래 기록되어 있던 장소에 덮어쓰기한다. 또한, 명령(19050)이 ENCRYPT USAGE PASS MOVE이었던 경우, 유효성 지시 플래그의 값은「 무효」로 된다.
호스트 모듈(110)은, E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 수신하면, 인셉티브 디바이스에 대하여, 사용허가증 송신(PUT USAGE PASS) 명령(19070)을 발행하고, 또한 디바이스에 대하여, E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 송신한다(19071). 인셉티브 디바이스는, 명령 및 데이터를 수신하면, 19072에 나타내는, 하기의 3가지의 처리를 실행한다.
처리 UT2.5.1: 수신한 데이터를, *K_d[I] 및 K_s[I]n으로 복호한다. *K_d[I]는, 처리 UT1.7.1에서 얻은 대칭 열쇠이다. 또한, K_s[I]n은 처리 UT2.2.1에서 자신이 생성한 세션 열쇠이다.
처리 UT2.5.2: 처리 UT2.5.1에서 얻어진 데이터에 대해서, 사용허가증||액션 표시자||체크섬이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인은, 체크섬을 검증하는 것 및 처리 UT1.3.3에 적은 수단을 이용하여 이루어진다. 체크섬 에 의한 검증 방법은, 처리 UT2.4.2에 기재되어 있다.
처리 UT2.5.3: 트랜잭션 로그에 있어서의 세션 상태 및 사용허가증 위치를 갱신한다. 세션 상태에는, 사용허가증의 수신이 완료되었다는 것을 나타내는 RC(Receive Completed)를 설정한다. 사용허가증 위치에는, 사용허가증의 기록처 어드레스를 기재한다.
또한, 인셉티브 디바이스가 자기 디스크 장치인 경우, 처리 UT2.5.3 후, 수신한 사용허가증을 제한 기억부(223)에 기록한다. 사용허가증의 기록을 할 때는, 유효성 지시 플래그를 「유효」로 설정한다.
그 후, 인셉티브 디바이스에 있어서의 사용허가증의 수신 또는 제한 기억부(223)에의 기록이 정상적으로 종료되었는지 여부를 확인하기 위해서, 호스트 모듈(110)은 인셉티브 디바이스에 대하여, 실행 스테이터스 체크(CHECK EXECUTION STATUS) 명령(19080)을 발행하더라도 좋다. 인셉티브 디바이스에서 호스트 모듈로는, 실행 상태가 19081에서 송신된다.
이상과 같이, UT 전송 단계를 반복함으로써, 접속 단계를 반복하여 행하지 않더라도, 연속적으로 사용허가증 전송을 실행할 수 있다.
<UT 모드에 있어서의 디바이스 사이 재상호 인증 처리 시퀀스>
프라이멀 디바이스와 인셉티브 디바이스 사이에서 1회 이상의 UT 전송 단계가 이루어져, 양 디바이스 사이에서 세션 열쇠 K_s[I]n의 공유 및 열쇠의 트랜잭션 로그에의 기록이 종료된 후, 기록 재생 장치에 이상이 발생하여, 사용허가증 송신용 모듈 및 동 수신용 모듈로부터 세션 열쇠가 없어져 버린 경우, 접속 단계와 비교하여, 적은 처리로 상호 인증을 재완료할 수 있다.
이어서, 도 20을 이용하여, 이 재상호 인증 처리에 관해서 설명한다. 또한, UT 모드에 있어서의 본 처리 단계의 것을, 이하에서는 UT 재접속 단계라고 부른다.
우선, UT 전송 단계에 있어서, 인셉티브 디바이스는 사용허가증 송신(PUT USAGE PASS) 명령(20000) 및 그것에 이어서 사용허가증(20001)을 수신하고 있다고하는 상황을 상정한다. 그리고, 사용허가증의 수신 처리가 완전히 완료되지 않은 가운데, 이상 발생의 이유에 의해, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 분단이 발생하여, 20001에서 흐르는 사용허가증을 암호화하기 위해서 이용되고 있던 세션 열쇠 K_s[I]나 공유 디바이스 공개 열쇠 *KP_d[I]가, 양 디바이스에서 없어져 버렸다고 하자(20010).
상기한 경우, 호스트 모듈(110)은, 우선 프라이멀 디바이스에 대하여, 트랜잭션 로그 재인증 검색(SEARCH TRANSACTION LOG RECONNECTION) 명령(20020)을 발행한다.
그리고, 명령에 이어서, 20001에서 송신 중이었던 사용허가증의 사용허가증 식별자를 송신한다(20021).
프라이멀 디바이스는, 식별자를 수신하면, 20022에 나타내는 하기의 하나의 처리를 실행한다.
처리 UT3.1.1: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되어 있는 트랜잭션 로그를 검색한다.
처리 UT3.1.1을 실행하는 중, 호스트 모듈(110)은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에, 프라이멀 디바이스 세션 열쇠 UT 재인증 취득(GET PRIMAL DEVICE SESSION KEY UT RECONNECTION) 명령(20030)을 발행한다. 프라이멀 디바이스는, 명령을 수신하면, 20031에 나타내는 하기의 2가지의 처리를 실행한다.
처리 UT3.2.1: 새로운 0차 세션 열쇠 K_s[P]0'를 생성한다.
처리 UT3.2.2: 처리 UT3.2.1에서 생성한 K_s[P]0'를, 처리 UT3.1.1에서 발견된 자신의 트랜잭션 로그에 기록되어 있는 세션 열쇠 K_s[I]TL 및 디바이스 공개 열쇠 KP_d[I]TL로 암호화한다. 열쇠 K_s[I]TL 및 KP_d[I]TL은, 트랜잭션 로그에 기록되어 있던 열쇠 데이터임을 나타내고 있다. 최종적으로 얻어지는 데이터는, E(KP_d[I]TL, E(K_s[I]TL, K_s[P]0'))이다.
처리 UT3.2.2에 있어서의 암호화를 끝내면, 프라이멀 디바이스는, 그 암호화된 데이터를 호스트 모듈에 송신한다(20032).
호스트 모듈(110)은, E(KP_d[I]TL, E(K_s[I]TL, K_s[P]0'))을 수신하면, 인셉티브 디바이스에 대하여, 프라이멀 디바이스세션 열쇠 UT 재인증 송신(PUT PRIMAL DEVICE SESSION KEY UT RECONNECTION) 명령(20040) 명령을 발행한 후, 수신한 데이터에 20021에서 프라이멀 디바이스에 대하여 송신한 사용허가증 식별자와 동일한 식별자를 연결하여, 인셉티브 디바이스에 송신한다(20041).
인셉티브 디바이스는, E(KP_d[I]TL, E(K_s[I]TL, K_s[P]0'))을 수신하면, 20042에 나타내는 하기의 3가지의 처리를 실행한다.
처리 UT3.3.1: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되어 있는 트랜잭션 로그를 검색한다.
처리 UT3.3.2: 수신한 데이터를 복호한다. 복호는, 자신의 보호 정보 영역에 매립되어 있는 K_d[I] 및 처리 UT3.3.1에서 발견된 트랜잭션 로그 중에 포함되는 세션 열쇠 K_s[I]TL이다.
처리 UT3.3.3: 처리 UT3.3.2의 결과로서, K_s[P]0'이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 UT3.3.2가 완료되면, *KP_d[I](*K_d[I]와 같음), K_s[P]0'의 공유가 완료된다. 이상의 처리에 이어서 UT 전송 단계를 실행하는 경우, K_s[I]n-1로서는, K_s[I]TL를 이용한다.
<UT 모드에 있어서의 사용허가증 복구 처리 시퀀스>
UT 전송 단계에 있어서 사용허가증의 이동이 한창 이루어지고 있는 중일 때에, 기록 재생 장치에 전원 단절 등의 이상이 발생하여, 프라이멀 디바이스로부터도 인셉티브 디바이스로부터도 전송 처리중인 사용허가증이 없어져 버린 경우나, 프라이멀 디바이스에서 인셉티브 디바이스에 대하여 재생용의 사용허가증 전송을 하여, 프라이멀 디바이스에 있어서의 사용허가증의 재생 카운트는 줄어졌지만, 인셉티브 디바이스에서는 전혀 재생을 실행하지 않은 경우 등에, 프라이멀 디바이스에 원래 존재한 사용허가증의 재생 카운트를 동반한 형태로, 사용허가증을 복구할 수 있는 구조를 두는 것은 의미가 있다.
이어서, 도 21을 이용하여, 이러한 사용허가증 복구 처리에 관해서 설명한다. UT 모드에 있어서의 본 처리 단계를, 이하에서는 UT 복구 단계라고 부른다.
우선, UT 전송 단계에 있어서, 인셉티브 디바이스가 사용허가증 설정(PUT USAGE PASS) 명령(21000) 및 그것에 이어서 사용허가증(21001)를 수신하고 있다고 하는 상황을 상정한다. 그리고, 사용허가증의 수신 처리가 완전히 완료되지 않은 가운데, 이상이 발생하여, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 분단이 발생하여, 21001에서 흐르는 사용허가증을 암호화하기 위해서 이용되고 있었던 세션 열쇠 K_s[I]가, 양 디바이스에서 없어져 버렸다고 하자(21010). 이 경우, 우선 앞에 기재한 UT 재접속 단계가 실행되어, *KP_d[I](*K_d[I]와 같음), K_s[P]0'이 새롭게 공유된다.
UT 재접속 단계를 끝내면, 호스트 모듈(110은), 우선 인셉티브 디바이스에 대하여, 사용허가증 UT 복구 검색(SEARCH USAGE PASS UT RECOVERY) 명령(21020)을 발행한다. 그리고, 명령에 이어서, 21001에서 송신 중이었던 사용허가증의 사용허가증 식별자를 송신한다(21021).
프라이멀 디바이스는, 식별자를 수신하면, 21022에 나타내는 4가지의 처리를 실행한다.
처리 UT4.1.1: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되어 있는 트랜잭션 로그를 검색한다.
처리 UT4.1.2: 처리 UT.4.1.1에서 발견된 트랜잭션 로그에 기록되어 있던 사용허가증 위치에서 지정되는 제한 기억부 중의 사용허가증 기억 영역을 검색한다.
처리 UT4.1.3: 처리 UT4.1.2에서 발견된 사용허가증에 관해서, 그 유효성 지시 플래그의 값을 조사하여, 사용허가증 상태에 「유효」「무효」「미기록」의 어느 하나의 값을 설정한다.
처리 UT4.1.4: UT 모드용 트랜잭션 상태를 생성한다. 트랜잭션 상태는, 복구대상 사용허가증의 UPID||트랜잭션 로그 중에 기록되어 있는 세션 상태|| 처리 UT4.1.3에서 설정한 사용허가증 상태||해시값이다. 여기서 해시값은 K_s[P]0'||K_s[I]TL||UPID||세션 상태||사용허가증 상태로부터 계산된다.
본 처리에서 생성된 트랜잭션 상태를, 이하에서는 UT 트랜잭션 상태라고 부른다.
처리 UT4.1.1에서부터 처리 UT4.1.4를 인셉티브 디바이스가 실행하는 중, 호 스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 트랜잭션 스테이터스 UT 복구 취득(GET TRANSACTION STATUS UT RECOVERY) 명령(21030)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 처리 UT4.1.4에 있어서 생성된 UT 트랜잭션 상태를, 호스트 모듈(110)에 송신한다(21031).
호스트 모듈(110)은, 트랜잭션 상태를 수신하면, 프라이멀 디바이스에 대하여, 트랜잭션 스테이터스 UT 복구 검증(VERIFY TRANSACTION STATUS UT RECOVERY) 명령(21040)을 발행하고, 계속해서 수신한 데이터를 송신한다(21041). 송신되는 데이터는 UT 트랜잭션 상태다.
프라이멀 디바이스는, UT 트랜잭션 상태를 수신하면, 21042에 나타내는 하기의 3가지의 처리를 실행한다.
처리 UT4.2.1: UT 트랜잭션 상태의 검증과, UT 트랜잭션 상태에 포함되는 사용허가증 식별자, 세션 상태, 사용허가증 상태의 확인을 한다. UT 트랜잭션 상태의 검증은, 데이터에 포함되는 해시값을, 자신이 유지하고 있는 K_s[P]0'와 K_s[I]TL로 계산함으로써 행한다. 계산 결과가 포함되어 있는 해시값과 일치하면, 데이터의 위조는 되어 있지 않다고 판단된다. 또한, 사용허가증 식별자는, 이번 복구 대상의 것인지 여부의 확인, 세션 상태 및 사용허가증 상태는 복구 가부를 판정하기 위해서 이용된다. 세션 상태가 RP이었던 경우나, 세션 상태가 RP이지만 사용허가증 상태가 「무효」나 「미기록」이었던 경우는, 프라이멀 디바이스에 있어서의 복구 처리(하기 처리 4.2.2)가 이루어진다.
처리 UT4.2.2: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되 어 있는 트랜잭션 로그를 검색한다.
처리 UT4.2.3: 사용허가증 복구 처리를 실행한다. 사용허가증의 복구는, 대상의 사용허가증의 유효성 지시 플래그가 「무효」로 되어 있었던 경우는 그것을「유효」로 하고, 복구 대상의 사용허가증의 UR_s를, 처리 UT4.2.2에서 발견된 트랜잭션 로그에 기록되어 있던 UR_s로 덮어쓰기를 함으로써 달성된다.
그 후, 프라이멀 디바이스에 있어서의 사용허가증의 복구 처리가 정상적으로 종료되었는지 여부를 확인하기 위해서, 호스트 모듈은, 프라이멀 디바이스에 대하여, CHECK EXECUTION STATUS 명령(21050)을 발행하더라도 좋다. 프라이멀 디바이스에서 호스트 모듈로는, 실행 상태가 21051에서 송신된다.
처리 UT4.2.2가 완료되면, 프라이멀 디바이스에는, 송신하기 이전의 사용허가증이 존재하게 된다.
<BT 모드에 있어서의 디바이스 사이 상호 인증 처리 시퀀스>
이어서, 도 22를 참조하여, BT 모드에 있어서의, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 상호 인증을 하는 경우의 처리 시퀀스에 관해서 설명한다. 또한, BT 모드에 있어서의 상호 인증 처리 단계의 것을, 이하에서는 BT 접속 단계라고 부른다.
도 11 내지 도 13의 설명에서도 설명한 것과 같이, BT 모드에서는, 프라이멀 디바이스는 기록 재생 장치 내의 호스트 보안 관리자(111) 전체이다. 관리자에 포함되는 모듈 중에서, 상호 인증 처리는 보호 정보 전송 모듈 내의 모듈(1400)이, 사용허가증의 송신이나 수신은 기록 모듈과 재생 모듈 내의 모듈(1201)이나 모 듈(1303)이 담당한다. 또한, 인셉티브 디바이스는, 자기 디스크 장치 내의 사용허가증 전송 모듈(1130)이다. 이들 관계는, 이후 도 22 내지 도 27에 있어서 설명하는 BT 모드에서의 각 처리 시퀀스에 있어서도 마찬가지이다.
우선 처음에, 호스트 모듈(110)은, 인셉티브 디바이스에 대하여 GET DEVICE CLASS CERTIFICATE 명령(22000)을 발행한다. 그렇게 하면, 인셉티브 디바이스는, 자신에게 매립되어 있는 디바이스 클래스 증명서 DCC(K_CA, KP_dc[I])를, 호스트 모듈에 송신한다(22001).
호스트 모듈(110)은, DCC(K_CA, KP_dc[I])를 수신하면, 프라이멀 디바이스에 대하여 VERIFY DEVICE CLASS CERTIFICATE 명령(22010)을 발행하고, 그것에 이어서 DCC(K_CA, KP_dc[I])를 프라이멀 디바이스에 송신한다(22012).
프라이멀 디바이스는, DCC(K_CA, KP_dc[I])를 수신하면, 22012에 나타내는 하기의 4가지의 처리를 실행한다.
처리 BT1.1.1: DCC(K_CA, KP_dc[I])를 검증한다. 증명서에 관해서 위조가 되어 있지 않은지, 및 포함되는 증명서를 특정하는 번호가 자신에게 기록되어 있는 RDCL_[P]에 실려 있지 않은지, 검증한다. 검증 방법은, UT1.1.1에 기재한 방법과 같다.
처리 BT1.1.2: 챌린지 열쇠 K_ch[P]를 생성한다.
처리 BT1.1.3: 처리 BT1.1.3에서 생성한 K_ch[P]를, DCC(K_CA, KP_dc[I]) 중의 KP_dc[I]로 암호화한다. 이 암호 방식은, 공개 열쇠 암호화이다. 얻어지는 데이터는 E(KP_dc[I], K_ch[P])이다.
처리 BT1.1.4: 처리 BT1.1.3에서 얻어진 데이터에 대하여, 자신에게 매립되어 있는 디바이스 클래스 증명서를 연결. 얻어지는 데이터는 E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])이다.
프라이멀 디바이스가 처리 BT1.1.1에서부터 처리 BT1.1.4를 실행하는 중에, 호스트 모듈(110)은, 처리가 종료되는 타이밍을 가늠하여, 프라이멀 디바이스에 대하여, GET PRIMAL DEVICE CHALLENGE KEY BT CONNECTION 명령(22030)을 발행한다. 프라이멀 디바이스는, 명령을 수신하면, 처리 BT1.1.4에서 생성한 데이터를, 호스트 모듈에 송신한다(22031).
호스트 모듈(110)은, E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P])를 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE CHALLENGE KEY BT CONNECTION 명령(22040)을 발행한 후, 수신한 데이터를 인셉티브 디바이스에 송신한다(22041).
프라이멀 디바이스는, E(KP_dc[I], K_ch[P])||DCC(K_CA, KP_dc[P]를 수신하면, 22042에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT1.2.1: DCC(K_CA, KP_dc[P])를 검증한다. 검증 수단은, 처리 UT1.1.1에서 설명한 방법과 같다. 단, 참조하는 RDCL은 RDCL_[I]이다.
처리 BT1.2.2: 수신한 데이터 중, E(KP_dc[I], K_ch[P])를 분리하여, 복호한다. 복호는 자신의 보호 정보 영역에 매립되어 있는 K_dc[I]를 이용하여 행한다.
처리 BT1.2.3: 처리 BT1.2.2의 결과로서, K_ch[P]가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인 방법은 처리 UT1.3.3에 기재한 방법과 같다.
처리 BT1.2.1에서부터 처리 BT1.2.3을 실행하는 중, 호스트 모듈(110)은, 처 리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPTIVE DEVICE CHALLENGE KEY BT CONNECTION 명령(22050)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 22051에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT1.3.1: 챌린지 열쇠 K_ch[I]를 생성한다.
처리 BT1.3.2: 처리 BT1.3.1에서 생성한 K_ch[I]에 대하여, 자신에게 매립되어 있는 디바이스 공개 열쇠 KP_d[I]를 연결하고, 처리 BT1.2.1에서 수신한 KP_dc[P]로 암호화한다. 암호화에 따라서 얻어진 데이터에, 자신에게 기록되어 있는 RDCL_[I]를 연결하여, 얻어진 데이터 전체를 처리 BT1.2.3에서 얻어진 K_ch[P]로 암호화한다. 최종적으로 얻어지는 데이터는 E(K_ch[P], E(KP_dc[P], K_ch[I]||KP_d[I])||RDCL_[I])이다.
인셉티브 디바이스에 있어서, E(K_ch[P], E(KP_dc[P], K_ch[I]||KP_d[I])||RDCL_[I])가 생성되면, 디바이스는 생성된 데이터를 호스트 모듈에 송신한다(22052).
호스트 모듈(110)은, E(K_ch[P], E(KP_dc[P], K_ch[I]||KP_d[I])||RDCL_[I])를 수신하면, 프라이멀 디바이스에 대하여 PUT INCEPTIVE DEVICE CHALLENGE KEY BT CONNECTION 명령(22060)을 발행한 후, 수신한 데이터를 프라이멀 디바이스에 송신한다(22061).
프라이멀 디바이스는, E(K_ch[P], E(KP_dc[P], K_ch[I]||KP_d[I])||RDCL_[I])를 수신하면, 22062에 나타내는 하기의 7가지의 처리를 실행한다.
처리 BT1.4.1: 수신한 데이터를, K_ch[P]로 복호한다. K_ch[P]는 처리 BT1.1.2에서 자신이 생성한 열쇠이다.
처리 BT1.4.2: 처리 UT1.4.1의 결과로부터, RDCL_[I]를 분리하여, RDCL_[I]가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 가??.
처리 BT1.4.3: 자신에게 기록되어 있는 RDCL_[P]와, 송신된 RDCL_[I]에 관해서, 이들이 발행된 날짜 정보를 비교한다. RDCL의 발행일 정보는 RDCL 내에 포함되는 것으로 한다. 비교한 결과, 수신한 RDCL_[I]의 발행일 정보가, 자신에게 기록되어 있는 RDCL_[P]의 발행일 정보보다 새로운 것인 경우는, RDCL_[P]을 RDCL_[I]로 덮어쓰기한다.
처리 BT1.4.4: 나머지 데이터 E(KP_dc[P], K_ch[I]||KP_d[I])를, K_dc[P]로 복호한다.
처리 BT1.4.5: 처리 BT1.4.4에서 얻어진 데이터에 대해서, K_ch[I]||KP_d[I]가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.2.3에 적은 것과 같다.
처리 BT1.4.6: 0차 세션 열쇠 K_s[P]0을 생성한다.
처리 BT1.4.7: 처리 BT1.4.6에서 생성한 K_s[P]0에 자신에게 매립되어 있는 디바이스 공개 열쇠 KP_d[P]를 연결하고, 처리 BT1.4.5에서 수신한 디바이스 공개 열쇠 KP_d[I]로 암호화한다. 얻어지는 데이터는 E(KP_d[I], K_s[P]0||KP_d[P])이다. 여기서, 처리 BT1.4.3에 있어서의 RDCL_[P]와 RDCL_[I]의 발행일 정보의 비교 결과, RDCL_[P]의 발행일 쪽이 새로운 것인 경우는, E(KP_d[I], K_s[P]0||KP_d[P])에 대하여, RDCL_[P]를 연결한 후, 얻어진 데이터 전체를 처리 BT1.4.5에서 얻어진 K_ch[I]로 암호화한다. 최종적으로 얻어지는 데이터는 E(K_ch[I], E(KP_d[I], K_s[P]0||KP_d[P])||RDCL_[P])이다.
처리 BT1.4.1에서부터 처리 BT1.4.7을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET PRIMAL DEVICE SESSION KEY BT CONNECTION 명령(22071)을 발행한다. 프라이멀 디바이스는 명령을 수신하면, 처리 BT1.4.7에서 생성한 E(K_ch[I], E(KP_d[I], K_s[P]0||KP_d[P])||RDCL_[P])를, 호스트 모듈에 송신한다(22071).
호스트 모듈(110)은, E(K_ch[I], E(KP_d[I], K_s[P]0||KP_d[P])||RDCL_[P])를 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE SESSION KEY BT CONNECTION 명령(22080) 명령을 발행한 후, 수신한 데이터를 디바이스에 송신한다(22081).
인셉티브 디바이스는, E(K_ch[I], E(KP_d[I], K_s[P]0||KP_d[P])||RDCL_[P])를 수신하면, 22082에 나타내는 하기의 5가지의 처리를 실행한다.
처리 BT1.5.1: 수신한 데이터를, K_ch[I]로 복호한다. K_ch[I]는 처리 BT1.3.1에 있어서, 자신이 생성한 열쇠 데이터이다.
처리 BT1.5.2: 처리 BT1.5.1의 결과에 RDCL_[P]가 포함되어 있었던 경우, 데이터를 분리하여, 데이터가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 BT1.5.3: 처리 BT1.5.1과 처리 BT1.5.2의 결과, 수신한 데이터에 RDCL_[P]가 포함되어 있어, 그것이 정당한 형태로 포함되어 있었음을 확인할 수 있었던 경우, 자신에게 기록되어 있는 RDCL_[I]를, 수신한 RDCL_[P]로 덮어쓰기한다.
처리 BT1.5.4: 나머지 데이터 E(KP_d[I], K_s[P]0||KP_d[P])를, K_d[I]0으로 복호한다. K_d[I]는 자신의 보호 정보 영역에 매립되고 있다.
처리 BT1.5.5: 처리 UT1.5.4에서 얻어진 데이터에 대해서, K_s[P]0||KP_d[P]가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 BT1.5.1에서부터 처리 BT1.5.5를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPTIVE DEVICE SESSION KEY BT CONNECTION 명령(22090)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 22091에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT1.6.1: 0차 세션 열쇠 K_s[I]0을 생성한다.
처리 BT1.6.2: 접속 로그에, 처리 BT1.5.5에서 수신한 K_s[P]0 및 KP_d[P], 처리 BT1.6.1에서 생성한 K_s[I]0, 처리 BT1.2.1에서 수신한 DCC(K_CA, KP_dc[P])에 포함되고 있던 프라이멀 디바이스의 Type Map TM_[P]를 기록한다.
처리 BT1.6.3: 처리 BT1.6.1에서 생성한 K_s[I]0을, 처리 BT1.5.5에서 수신한 K_s[P]0 및 KP_d[P]로 암호화한다. 얻어지는 데이터는 E(KP_d[P], E(K_s[P]0, K_s[I]0))이다.
인셉티브 디바이스에 있어서, E(KP_d[P], E(K_s[P]0, K_s[I]0))가 생성되면, 디바이스는 생성된 데이터를 호스트 모듈(110)에 송신한다(22092).
호스트 모듈(110)은, E(KP_d[P], E(K_s[P]0, K_s[I]0))를 수신하면, 프라이멀 디바이스에 대하여 PUT INCEPTIVE DEVICE SESSION KEY BT CONNECTION 명령(22100) 명령을 발행한 후, 수신한 데이터를 디바이스에 송신한다(22101).
프라이멀 디바이스는, E(KP_d[P], E(K_s[P]0, K_s[I]0))를 수신하면, 22102에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT1.7.1: 수신한 데이터를, K_d[P] 및 K_s[P]0으로 복호한다. K_d[P]는 자신의 보호 정보 영역에 매립되어 있는 열쇠 데이터이며, K_s[P]0은 처리 BT1.4.6에 있어서 자신이 생성한 열쇠 데이터이다.
처리 UT1.7.2: 처리 UT1.7.1에서 얻어진 데이터에 대해서, K_s[I]0이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 BT1.7.3: 접속 로그에, 처리 BT1.4.5에서 수신한 KP_d[I], 처리 BT1.7.2에서 수신한 K_s[I]0, 처리 BT1.4.6에서 생성한 K_s[P]0, 처리 BT1.1.1에서 수신한 DCC(K_CA, KP_dc[I])에 포함되어 있었던 프라이멀 디바이스의 Type Map TM_[I]를 기록한다.
이상 처리 BT1.7.3까지를 완료하면, 공유 디바이스 공개 열쇠 *KP_d[P](공유 디바이스 개인 열쇠 *K_d[P]와 같음), K_s[P]0, K_s[I]0의 공유가 완료된다.
<BT 모드에 있어서의 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송 처리 시퀀스>
BT 모드에 의해, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 상호 인증이 완료되면, 프라이멀 디바이스에서 인셉티브 디바이스 또는 그 반대의 방향에 대해서, 사용허가증을 전송할 수 있다.
우선, 프라이멀 디바이스에서 인셉티브 디바이스로 사용허가증을 전송하는 경우에 관해서, 도 23을 이용하여 설명한다. 기록 모듈(102이) 프라이멀 디바이스가 되어, 자기 디스크 장치에 사용허가증을 전송하는 경우가, 그 일례이다. 한편, BT 모드에 있어서의 프라이멀 디바이스에서 인셉티브 디바이스로의 사용허가증 전송 처리 단계의 것을, 이하에서는 BT PI 전송 단계라고 부른다.
우선 처음에, 호스트 모듈(110)은, 프라이멀 디바이스에 대하여 READ USAGE PASS 명령(23000)을 발행한다. 그리고, 명령에 이어서, 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수를, 23001에 있어서 프라이멀 디바이스에 통지한다. 프라이멀 디바이스는, 명령과 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수에 관한 정보를 수신하면, 23002에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT2.1.1: 전송 대상의 사용허가증을, 사용허가증 송신용 모듈 내에 준비한다.
프라이멀 디바이스가 기록 모듈인 경우, 원하는 사용허가증을 사용허가증 생성자 및 콘텐츠 암호화기(606)에서 모듈(601)로 보내는 처리에 상당한다.
호스트 모듈(110)은, 프라이멀 디바이스에 처리 BT2.1.1을 실행시키고 있는 사이에, 인셉티브 디바이스에 대하여 CREATE INCEPTIVE DEVICE SESSION KEY UT TRANSFER 명령(19020) 명령을 발행한다. 인셉티브 디바이스는, 명령을 수신하면, 23012에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT2.2.1: 세션 열쇠 K_s[I]n을 생성한다. 여기서 n은, BT 접속 단계가 완료된 후, 본 처리가 n회째의 BT PI 전송 단계임을 의미한다.
처리 BT2.2.2: 처리 BT2.2.1에서 생성한 K_s[I]n을, 하나 앞의 사용허가증 전송 실행시에 생성한 세션 열쇠 K_s[I]n-1 및 프라이멀 디바이스에서 생성된 최신의 세션 열쇠 K_s[P]m을 이용하여, 암호화한다. K_s[P]m은 인셉티브 디바이스에서 프라이멀 디바이스에 대하여 사용허가증 전송 처리가 실행될 때마다 생성되는 것으로, BT 접속 단계가 완료되고 나서, m회의 전송 처리가 실행되었음을 의미한다. 인셉티브 디바이스에서 프라이멀 디바이스로의 사용허가증 전송 처리 시퀀스의 상세한 것은, 도 24를 이용하여 후술한다.
만약에 한번도 인셉티브 디바이스에서 프라이멀 디바이스에 대하여 사용허가증 전송 처리가 실행되고 있지 않았던 경우는, BT 접속 단계에 있어서 공유되는 0차 세션 열쇠 K_s[P]0을, K_s[P]m으로서 이용한다. 얻어지는 데이터는 E(K_s[P] m, E(K_s[I]n-1, K_s[I]n))이다.
처리 BT2.2.1 및 처리 BT2.2.2를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPTIVE DEVICE SESSION KEY BT TRANSFER 명령(23020)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 처리 BT2.2.2에 있어서 생성된 데이터 E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를 호스트 모듈에 송신한다(23021).
호스트 모듈(110)은, E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를 수신하면, 프라이멀 디바이스에 대하여 PUT INCEPTIVE DEVICE SESSION KEY BT TRANSFER 명령(22030)을 발행하고, 이어서 수신한 데이터를 프라이멀 디바이스에 송신한다(23031).
프라이멀 디바이스는, E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를 수신하면, 23032에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT2.3.1: 수신한 데이터를, K_s[P]m 및 K_s[I]n-1로 복호한다. 양 열쇠 데이터에 대해서는, 처리 BT2.2.2에서 설명한 바와 같다.
처리 BT2.3.2: 처리 BT2.3.1에서 얻어진 데이터에 대해서, K_s[I]n이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 BT2.3.3: 트랜잭션 로그를 생성한다. BT 모드에서의 사용허가증 전송 처리에서는, 프라이멀 디바이스만 트랜잭션 로그의 기록을 한다. BT 모드에 있어서의 트랜잭션 로그의 요소는, 전송 대상 사용허가증의 사용허가증 식별자, 이 사용허가증 전송 처리에 있어서의 프라이멀 디바이스의 역할(즉, 사용허가증 전송원 「Source」인지, 동 전송처 「Destination」인지), 프라이멀 디바이스가 사용허가증의 전송처였던 경우만 수신 예정의 사용허가증의 수신 이전의 UR_s, 프라이멀 디바이스가 사용허가증의 전송원이었던 경우만 송신 예정의 사용허가증의 송신 이전의 사용허가증, 프라이멀 디바이스가 사용허가증의 전송처였던 경우는 동 전송원에 있어서의 사용허가증 위치(독출원 어드레스), 프라이멀 디바이스가 사용허가증의 전 송원이었던 경우는 동 전송처에 있어서의 사용허가증 위치(기록처의 어드레스)이다. 이들 중, 여기서 기록되는 것은, 전송 대상 사용허가증의 사용허가증 식별자, 이 사용허가증 전송 처리에 있어서의 프라이멀 디바이스의 역할「Source」(도면에서는 단축형 「S」), 송신 대상 사용허가증의 송신 전의 상기 사용허가증, 사용허가증의 사용허가증 위치(기록처 어드레스)이다.
처리 BT2.3.1에서부터 처리 BT2.3.3을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 ENCRYPT USAGE PASS COPY 또는 ENCRYPT USAGE PASS MOVE 또는 ENCRYPT USAGE PASS PLAY 명령(23040)을 발행한다. 명령에 이어서, 인셉티브 디바이스에의 사용허가증의 기록처 어드레스 정보를, 23041에 있어서 프라이멀 디바이스에 대하여 송신한다. 한편, UT 모드의 경우와 같이 어떤 명령을 수신한 경우에 어떠한 UR_s의 사용허가증을 송신할지, 그리고 복제나 재생의 경우 프라이멀 디바이스에 남는 사용허가증의 UR_s는 어떻게 변경해야 할지 등에 관해서는, 미리 전부 규정되어 있는 것으로 한다. 그래서, 명령을 수신하면, 프라이멀 디바이스는, 23042에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT2.4.1: 인셉티브 디바이스에 대하여 송신하는 사용허가증을, 처리 BT2.1.1에 있어서 사용허가증 송신용 모듈 내에 준비된 사용허가증을 바탕으로, 생성한다. 통상, UPID나 K_c 등은 그대로 복제되고, UR_s만 규정에 따른 형태로 변경된다.
처리 BT2.4.2: 트랜잭션 로그에 있어서의 사용허가증 위치에, 23041에서 수 신한 인셉티브 디바이스에 있어서의 사용허가증의 기록처 어드레스를 기록한다.
처리 BT2.4.3: 처리 BT2.4.1에 있어서 생성된 송신용 사용허가증에 대하여, 수신한 명령이 ENCRYPT USAGE PASS COPY/MOVE/PLAY의 어느 것인지를 나타내는 식별자 정보 액션 표시자, 및 사용허가증||액션 표시자에 대한 체크섬을 계산하여, 연결한다.
연결 처리를 한 후, 얻어진 데이터를 K_s[I]n 및 *KP_d[I]로 암호화한다. 즉, 대칭 열쇠에 의한 이중 암호화이다. 얻어지는 데이터는 E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))이다. 체크섬의 계산은 UT2.4.2에 기재한 바와 같다.
처리 BT2.4.1에서부터 처리 BT2.4.3을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET USAGE PASS 명령(23050)을 발행한다. 프라이멀 디바이스는, 명령을 수신하면, E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 호스트 모듈에 송신한다(23052).
호스트 모듈(110)은 E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 수신하면, 인셉티브 디바이스에 대하여 PUT USAGE PASS 명령(23060)을 발행하고, 이어서 E(*KP_d[I], E(K_s[I]n, 사용허가증||액션 표시자||체크섬))를 송신한다(23061).
인셉티브 디바이스는, 명령 및 데이터를 수신하면, 23062에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT2.5.1: 수신한 데이터를, *K_d[I] 및 K_s[I]n로 복호한다. *K_d[I]는 처리 BT1.5.4에서 얻은 대칭 열쇠이다. 또한, K_s[I]n은 처리 BT2.2.1에서 자신이 생성한 세션 열쇠이다.
처리 BT2.5.2: 처리 UT2.5.1에서 얻어진 데이터에 관해서, 사용허가증||액션 표시자||체크섬이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인은, 체크섬을 검증하는 것 및 처리 UT1.3.3에 적은 수단을 이용하여 이루어진다. 체크섬에 의한 검증 방법은 처리 UT2.4.2에 기재되어 있다.
처리 UT2.5.3: 수신한 사용허가증을 제한 기억부에 기록한다. 사용허가증의 기록을 할 때는, 유효성 지시 플래그를 「유효」로 설정한다.
그 후, 인셉티브 디바이스에 있어서의 제한 기억부(223)에의 사용허가증의 기록이 정상적으로 종료되었는지 여부를 확인하기 위해서, 호스트 모듈은, 인셉티브 디바이스에 대하여, CHECK EXECUTION STATUS 명령(23070)을 발행하더라도 좋다. 인셉티브 디바이스에서 호스트 모듈로는, 실행 상태가 23071에서 송신된다.
이상에 적은 BT 전송 단계를 반복함으로써, 접속 단계를 반복하여 행하지 않더라도, 프라이멀 디바이스에서 인셉티브 디바이스에 대하여, 연속적으로 사용허가증 전송을 실행할 수 있다.
<BT 모드에 있어서의 인셉티브 디바이스에서 프라이멀 디바이스로의 사용허가증 전송 처리 시퀀스>
이어서, 도 24를 참조하여, 인셉티브 디바이스에서 프라이멀 디바이스로 사용허가증을 전송하는 경우에 관해서 설명한다. 자기 디스크 장치가 프라이멀 디바이스가 되어, 재생 모듈(104)에 사용허가증을 전송하는 경우가, 그 일례이다. 또 한, BT 모드에 있어서의 인셉티브 디바이스에서 프라이멀 디바이스로의 사용허가증 전송 처리 단계의 것을, 이하에서는 BT IP 전송 단계라고 부른다.
우선 처음에, 호스트 모듈(110)은, 인셉티브 디바이스에 대하여 READ USAGE PASS 명령(24000)을 발행한다. 그리고, 이 명령에 이어서, 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수를, 24001에 있어서 프라이멀 디바이스에 통지한다. 인셉티브 디바이스는, 이 명령과 사용허가증이 기록되어 있는 장소 및 독출하는 사용허가증의 수에 관한 정보를 수신하면, 24002에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT3.1.1: 제한 기억부에서 지정된 어드레스로부터 전송 대상의 사용허가증을 독출하여, 사용허가증 버퍼(1110)에 송신한다.
처리 BT3.1.1을 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에, 프라이멀 디바이스에 대하여, GET MASKED USAGE PASS WITH KEYED HASH 명령(24010)을 발행한다. 인셉티브 디바이스는, 명령을 수신하면, 24011에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT3.2.1: READ USAGE PASS 명령(24000)으로 제한 기억부로부터 독출한 사용허가증에서 마스킹된 사용허가증을 생성하여, 그것에 대하여 GET MASKED USAGE PASS WITH KEYED HASH 명령(24010)을 수신한 시점에서 최신의 세션 열쇠 K_s[P]m-1 및 K_s[I]n을 연결한 데이터를 바탕으로, 해시값을 계산한다. 명령(24000)으로 복수의 사용허가증을 한번에 독출하고 있는 경우는, 개개의 사용허가증에 대하여 해시값을 계산한다.
처리 BT3.2.2: 처리 BT3.2.1에서 생성한 개개의 해시값을, 개개의 마스킹된 사용허가증에 연결한다. 얻어지는 데이터는 MUP||H(K_s[P]m-1||K_s[I]n||MUP)이다.
인셉티브 디바이스는 처리 BT3.2.2를 끝내면, 생성된 데이터 MUP||H(K_s[P]m-1||K_s[I]n||MUP)를, 호스트 모듈에 송신한다(24012).
호스트 모듈(110)은, MUP||H(K_s[P]m-1||K_s[I]n||MUP)를 수신하면, 프라이멀 디바이스에 대하여, PUT MASKED USAGE PASS WITH KEYED HASH 명령을 발행하고, 이어서 데이터를 프라이멀 디바이스에 송신한다.
프라이멀 디바이스는, 데이터를 수신하면, 24022에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT3.3.1: 수신한 데이터에 대해서, 위조가 되어 있지 않은지의 여부를 검증한다.
자신이 유지하고 있는 세션 열쇠 K_s[P]m-1 및 K_s[I]n 및 수신한 MUP를 이용하여 해시값 H(K_s[P]m-1||K_s[I]n||MUP)를 계산하여, 그것이 수신한 해시값과 일치하고 있으면, 위조가 되어 있지 않다고 판단한다.
처리 BT3.3.1을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에, 프라이멀 디바이스에 대하여, CREATE PRIMAL DEVICE SESSION KEY BT TRANSFER 명령(24030)을 발행하고, 이어서 전송 대상 사용허가증의 사용허가증 식별자를 송신한다(24031).
프라이멀 디바이스는, 명령 및 데이터를 수신하면, 24032에 나타내는 하기의 4가지의 처리를 실행한다.
처리 BT3.4.1: 24031에서 수신한 사용허가증 식별자와, 24021에서 수신한 마스킹된 사용허가증의 사용허가증 식별자가 일치하고 있는지 확인한다.
처리 BT3.4.2: 트랜잭션 로그를 생성한다. 여기서 기록되는 것은, 전송 대상 사용허가증의 사용허가증 식별자, 그 사용허가증 전송 처리에 있어서의 프라이멀 디바이스의 역할 「Destination」(도면에서는 단축형 「D」), 24021에서 수신한 마스킹된 사용허가증 중에 포함되는 UR_s, 인셉티브 디바이스 중의 제한 기억부에 있어서의 사용허가증 위치(기록원 어드레스)이다.
처리 BT3.4.3: 세션 열쇠 K_s[P]m을 생성한다. 여기서 m은 BT 접속 단계가 완료된 후, m회째의 BT IP 전송 단계에서 생성된 세션 열쇠임을 의미한다.
처리 BT3.4.4: 처리 BT3.4.3에서 생성한 K_s[P]m을, 하나 앞의 사용허가증 전송 실행시에 생성한 세션 열쇠 K_s[P]m-1 및 인셉티브 디바이스에서 생성된 최신의 세션 열쇠 K_s[P]n을 이용하여, 암호화한다. K_s[I]n은 BT PI 전송 단계가 실행될 때마다 생성되는 것으로, BT 접속 단계가 완료되고 나서, n회의 전송 처리가 실행되었음을 의미한다. 또한, BT PI 전송 단계에 대해서는, 도 23을 이용하여 앞에서 설명을 끝냈다. 만약에 한번도 프라이멀 디바이스에서 인셉티브 디바이스에 대하여 사용허가증 전송 처리가 실행되고 있지 않았던 경우는, BT 접속 단계에서 공유되는 0차 세션 열쇠 K_s[I]0을, K_s[I]n으로서 이용한다. 얻어지는 데이터는 E(K_s[I]n, E(K_s[P]m-1, K_s[P]m))이다.
처리 BT3.4.1에서부터 처리 BT3.4.4를 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET PRIMAL DEVICE SESSION KEY BT TRANSFER 명령(24040)을 발행한다. 프라이멀 디바이스는 명령을 수신하면, 처리 BT3.4.4에 있어서 생성된 데이터를, 호스트 모듈에 송신한다(24041).
호스트 모듈(110)은, E(K_s[I]n, E(K_s[P]m-1, K_s[P]m))를 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE SESSION KEY BT TRANSFER 명령(24050)을 발행한 후, 수신한 데이터를 인셉티브 디바이스에 송신한다(24051).
인셉티브 디바이스는, E(K_s[I]n, E(K_s[P]m-1, K_s[P]m))를 수신하면, 24052에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT3.5.1: 수신한 데이터를, K_s[I]n 및 K_s[P]m-1로 복호한다. 양 열쇠 데이터에 대해서는, 처리 BT3.2.1 및 처리 BT3.4.4에서 설명한 바와 같다.
처리 BT3.5.2: 처리 UT3.5.1에서 얻어진 데이터에 관해서, K_s[P]m이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은, 처리 UT1.3.3에 적은 것과 같다.
처리 BT3.5.1 및 처리 BT3.5.2를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 ENCRYPT USAGE PASS COPY 또는 ENCRYPT USAGE PASS MOVE 또는 ENCRYPT USAGE PASS PLAY 명령(24060)을 발행한다. 또한, UT 모드의 경우와 마찬가지로, 어떤 명령을 수신한 경우에 어떠한 UR_s의 사용허가증을 송신하는지, 그리고 복제나 재생의 경우 프라이멀 디바이스에 남는 사용허가증의 UR_s는 어떻게 변경해야 하는지 등에 대해서는 미리 전부 규정되어 있는 것으로 한다.
그래서, 이 명령을 수신하면, 인셉티브 디바이스는, 24062에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT3.6.1: 프라이멀 디바이스에 대하여 송신하는 사용허가증을, 처리 BT3.1.1에 있어서 사용허가증 버퍼에 송신된 사용허가증을 바탕으로, 모듈(1103) 내에 생성한다. 통상, UPID나 K_c 등은 그대로 복제되고, UR_s만 규정에 따르는 형태로 변경된다.
처리 BT3.6.2: 처리 BT3.6.1에 있어서 생성된 송신용 사용허가증에 대하여, 수신한 명령이 ENCRYPT USAGE PASS COPY/MOVE/PLAY의 어느 것인가를 나타내는 식별자 정보 액션 표시자, 및 사용허가증||액션 표시자에 대한 체크섬을 계산하여, 연결한다.
연결 처리를 한 후, 얻어진 데이터를 K_s[P]m 및 *KP_d[P]로 암호화한다. 즉, 대칭 열쇠에 의한 이중 암호화이다. 얻어지는 데이터는 E(*KP_d[P], E(K_s[P]m, 사용허가증||액션 표시자||체크섬))이다. 체크섬의 계산은 UT2.4.2에 기재한 바와 같다.
이상, 처리 BT3.6.1 및 처리 BT3.6.2를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은, 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET USAGE PASS 명령(24070)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 24071에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT3.7.1: 사용허가증 버퍼 중의 사용허가증의 UR_s를 규정에 따라서 변경한다.
그리고, 사용허가증을 사용허가증이 제한 기억부 속에서 원래 기록되어 있던 장소에, 덮어쓰기한다. 또한, 명령(24060)이 ENCRYPT USAGE PASS MOVE이었던 경우, 유효성 지시 플래그의 값은 「무효」로 된다.
인셉티브 디바이스는, 처리 BT3.7.1을 종료하면, 처리에서 생성된 데이터를, 호스트 모듈에 송신한다(24072).
호스트 모듈(110)은 E(*KP_d[P], E(K_s[P]m, 사용허가증||액션 표시자||체크섬))를 수신하면, 프라이멀 디바이스에 대하여 PUT USAGE PASS 명령(24080)을 발행하고, 또한 디바이스에 대하여, E(*KP_d[P], E(K_s[P]m, 사용허가증||액션 표시자||체크섬))를 송신한다(24081).
인셉티브 디바이스는, 명령 및 데이터를 수신하면, 24082에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT3.8.1: 수신한 데이터를, *K_d[P] 및 K_s[P]m으로 복호한다. *K_d[P]는 처리 BT1.7.1에 있어서 얻은 대칭 열쇠이다. 또한, K_s[P]m은 처리 BT3.4.3에 있어서 자신이 생성한 세션 열쇠이다.
처리 BT3.8.2: 처리 UT3.8.1에서 얻어진 데이터에 관해서, 사용허가증||액션 표시자||체크섬이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인은, 체크섬을 검증하는 것 및 처리 UT1.3.3에 적은 수단을 이용하여 이루어진다. 체크섬에 의한 검증 방법은 처리 UT2.4.2에 기재한 바와 같다.
그 후, 인셉티브 디바이스에 있어서의 사용허가증의 수신이 정상적으로 종료되었는지 여부를 확인하기 위해서, 호스트 모듈은, 프라이멀 디바이스에 대하여, CHECK EXECUTION STATUS 명령(24090)을 발행하더라도 좋다. 프라이멀 디바이스에서 호스트 모듈로는, 실행 상태가 24091에서 송신된다.
이상에 적은 BT 전송 단계를 반복함으로써, 접속 단계를 반복하여 행하지 않더라도, 인셉티브 디바이스에서 프라이멀 디바이스에 대하여, 연속적으로 사용허가증 전송을 실행할 수 있다.
<BT 모드에 있어서의 디바이스 사이 재상호 인증 처리 시퀀스>
프라이멀 디바이스와 인셉티브 디바이스 사이에서 1번 BT 접속 단계가 이루어져, 양 디바이스 사이에서 서로의 공유 디바이스 공개 열쇠 KP_d[P] 및 KP_d[I], 0차 세션 열쇠 K_s[P]0 및 K_s[I]0, 의 공유 및 열쇠의 접속 로그에의 기록이 종료된 후, 기록 재생 장치에 전원 공급 정지 등의 이상이 발생하여, 사용허가증 송신용 모듈 및 동 수신용 모듈로부터 세션 열쇠가 없어져 버린 경우, 접속 단계와 비교하여, 적은 처리로 상호 인증을 재완료할 수 있다. 이 재상호 인증 처리에 관해서 도 25를 이용하여 설명한다. 또한, BT 모드에 있어서의 본 처리 단계를, 이하에서는 BT 재접속 단계라고 부른다.
우선, BT 접속 단계가 25000에서 완료된 후, 이상 발생의 이유에 의해, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 분단이 발생하여, 그 시점까지 최신의 세션 열쇠 K_s[P]m 및 K_s[I]n이나, 공유 디바이스 공개 열쇠 *KP_d[P]나 *KP_d[I]가, 양 디바이스에서 없어져 버렸다고 하자(25010).
이 경우, 호스트 모듈(110)은, 우선 프라이멀 디바이스에 대하여, CREATE PRIMAL DEVICE SESSION KEY BT RECONNECTION 명령(25010)을 발행한다.
프라이멀 디바이스는, 명령을 수신하면, 25011에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT4.1.1: 새로운 0차 세션 열쇠 K_s[P]0'를 생성한다.
처리 BT4.1.2: 처리 BT4.1.1로 생성한 K_s[P]0'를, 자신의 접속 로그에 기록되어 있는 세션 열쇠 K_s[I]CL 및 디바이스 공개 열쇠 KP_d[I]CL로 암호화한다. 열쇠 K_s[I]CL 및 KP_d[I]CL은, 접속 로그에 기록되어 있던 열쇠 데이터라는 것을 나타내고 있다. 최종적으로 얻어지는 데이터는, E(KP_d[I]CL, E(K_s[I]CL, K_s[P]0'))이다.
처리 BT4.1.1 및 처리 BT4.1.2를 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET PRIMAL DEVICE SESSION KEY BT RECONNECTION 명령(25020)을 발행한다. 프라이멀 디바이스는, 명령을 수신하면, 처리 BT4.1.2에서 생성한 데이터 E(KP_d[I]CL, E(K_s[I]CL, K_s[P]0'))을, 호스트 모듈에 송신한다.
호스트 모듈(110)은, E(KP_d[I]CL, E(K_s[I]CL, K_s[P]0'))을 수신하면, 인셉티브 디바이스에 대하여 PUT PRIMAL DEVICE SESSION KEY BT RECONNECTION 명령(25030) 명령을 발행한 후, 수신한 데이터를 인셉티브 디바이스에 송신한다(25031).
인셉티브 디바이스는, E(KP_d[I]CL, E(K_s[I]CL, K_s[P]0'))을 수신하면, 25032에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT4.2.1: 수신한 데이터를 복호한다. 복호는, 자신의 보호 정보 영역에 매립되어 있는 K_d[I] 및 접속 로그 중에 포함되는 세션 열쇠 K_s[I]CL이다.
처리 BT4.2.2: 처리 UT4.2.1의 결과로서, K_s[P]0'가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은 처리 UT1.3.3에 적은 것과 같다.
처리 BT4.2.1 및 처리 BT4.2.2를 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPTIVE DEVICE SESSION KEY BT RECONNECTION 명령(25040)을 발행한다. 인셉티브 디바이스는, 명령을 수신하면, 25041에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT4.3.1: 새로운 0차 세션 열쇠 K_s[I]0'를 생성한다.
처리 BT4.3.2: 처리 BT4.3.1에서 생성한 K_s[I]0'를, 자신의 접속 로그에 기록되어 있는 세션 열쇠 K_s[P]CL 및 디바이스 공개 열쇠 KP_d[P]CL로 암호화한다. 열쇠 K_s[P]CL 및 KP_d[P]CL은, 접속 로그에 기록되어 있던 열쇠 데이터라는 것을 나타내고 있다. 최종적으로 얻어지는 데이터는, E(KP_d[P]CL, E(K_s[P]CL, K_s[I]0'))이다.
처리 BT4.3.3: 처리 BT4.2.2에서 수신한 K_s[P]0', 처리 BT4.3.1에서 생성한 K_s[I]0'을, 접속 로그에 덮어쓰기 기록한다. KP_d[P] 및 TM_[P]는 그대로 유지한다.
인셉티브 디바이스는 처리 BT4.3.3을 종료하면, 처리 BT4.3.2에서 생성한 데이터 E(KP_d[P]CL, E(K_s[P]CL, K_s[I]0'))을 호스트 모듈에 송신한다(25040).
호스트 모듈(110)은, E(KP_d[P]CL, E(K_s[P]CL, K_s[I]0'))을 수신하면, 프 라이멀 디바이스에 대하여 PUT INCEPTIVE DEVICE SESSION KEY BT RECONNECTION 명령(25050) 명령을 발행한 후, 수신한 데이터를 프라이멀 디바이스에 송신한다(25051).
프라이멀 디바이스는, E(KP_d[P]CL, E(K_s[P]CL, K_s[I]0'))을 수신하면, 25052에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT4.4.1: 수신한 데이터를 복호한다. 복호는, 자신의 보호 정보 영역에 매립되어 있는 K_d[P] 및 접속 로그 중에 포함되는 세션 열쇠 K_s[P]CL이다.
처리 BT4.4.2: 처리 UT4.4.1의 결과로서, K_s[I]0'가 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은 처리 UT1.3.3에 적은 것과 같다.
처리 BT4.4.3: 처리 BT4.4.2에서 수신한 K_s[I]0', 처리 BT4.1.1에서 생성한 K_s[P]0'을, 접속 로그에 덮어쓰기 기록한다. KP_d[I] 및 TM_[I]는 그대로 유지한다.
처리 UT4.4.3이 완료되면, *KP_d[P](*K_d[P]와 같음), *KP_d[I](*K_d[I]와 같음), K_s[P]0', K_s[I]0'의 공유가 완료된다. 이상의 처리에 이어서 BT PI 전송 단계를 실행하는 경우, K_s[I]n-1로서는, K_s[I]0'을, BT IP 전송 단계를 실행하는 경우, K_s[P]m-1로서는 K_s[P]0'을 이용한다.
<BT PI 전송 단계에 대한 사용허가증 복구 처리 시퀀스>
BT PI 전송 단계에 있어서 사용허가증의 이동이 한창 이루어지고 있을 때에, 기록 재생 장치에 이상이 발생하여, 프라이멀 디바이스로부터도 인셉티브 디바이스 로부터도 전송 처리중인 사용허가증이 없어져 버린 경우, 프라이멀 디바이스에 있어서, 원래 존재한 것과 동일한 UR_s를 수반한 형태로, 사용허가증을 복구한다. 이 사용허가증 복구 처리에 관해서, 도 26을 이용하여 설명한다. BT 모드에 있어서의 본 처리 단계를, 이하에서는 BT PI 복구 단계라고 부른다.
우선, BT PI 전송 단계에 있어서, 인셉티브 디바이스가 PUT USAGE PASS 명령(26010) 및 그것에 이어서 사용허가증(26011)를 수신하고 있다고 하는 상황을 상정한다. 그리고, 사용허가증의 수신 처리가 완전히 완료되지 않은 가운데, 이상이 발생하여, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 분단이 생겨, 26011에서 흐르는 사용허가증을 암호화하기 위해서 이용되고 있었던 세션 열쇠 K_s[I]n 및 *KP_d[I](*K_d[I])가, 양 디바이스에서 없어져 버렸다고 하자(26020). 이 경우, 우선 앞에서 설명한 BT 재접속 단계가 실행되어, *KP_d[P](*K_d[P]와 같음), *KP_d[I](*K_d[I]와 같음), K_s[P]0', K_s[I]0'이 새롭게 공유된다.
BT 재접속 단계를 끝내면, 호스트 모듈(110)은, 우선 프라이멀 디바이스에 대하여, SEARCH TRANSACTION LOG BT RECOVERY 명령(26030)을 발행한다. 그리고, 명령에 이어서, 21011에서 송신 중에 있었던 사용허가증의 사용허가증 식별자를, 송신한다(26031).
프라이멀 디바이스는, 식별자를 수신하면, 26032에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT5.1.1: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되어 있는 트랜잭션 로그를 검색한다.
처리 BT5.1.1을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET USAGE PASS LOCATION 명령(26040)을 발행한다. 명령을 수신하면, 프라이멀 디바이스는, 처리 BT5.1.1에서 발견된 트랜잭션 로그 중에 기록되어 있는 사용허가증 위치 정보를, 호스트 모듈에 송신한다(26041).
호스트 모듈(110)은, 사용허가증 위치 정보를 수신하면, 인셉티브 디바이스에 대하여, SEARCH USAGE PASS BT RECOVERY 명령(26050)을 발행하여, 계속해서 수신한 데이터를 송신한다(26051).
인셉티브 디바이스는, 사용허가증 위치 정보를 수신하면, 26052에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT5.2.1: 제한 기억부에 있어서, 수신한 사용허가증 위치에서 지정되는 제한 기억부 중의 사용허가증 기억 영역을 검색한다.
처리 BT5.2.2: 처리 UT5.2.1에서 발견된 사용허가증에 대해서, 그 유효성 지시 플래그의 값을 조사하여, 사용허가증 상태에 「유효」「무효」「미기록」의 어느 하나의 값을 설정한다.
처리 BT5.2.3: BT 모드용 트랜잭션 상태를 생성한다. 트랜잭션 상태는, 복구대상 사용허가증의 UPID||처리 BT5.2.1에서 발견된 사용허가증의 UR_s||처리 BT5.2.2에서 설정한 사용허가증 상태||26041에서 수신한 사용허가증 위치||해시값이다. 여기서 해시값은 K_s[P]m||K_s[I]n||UPID||UR_s||사용허가증 상태||사용허가증 위치으로부터 계산된다. 여기서 이용되는 K_s[P]m| 및 K_s[I]n은, 접속 단계 또 는 재접속 단계가 완료된 후, 그 시점에서 공유되어 있는 최신의 세션 열쇠이다. 단계 완료 후, m회의 BT PI 전송 단계 및 n회의 BT IP 전송 단계가 실행되었음을 의미하고 있다. 본 처리에서 생성되는 트랜잭션 상태를, 이하에서는 BT PI 트랜잭션 상태라고 부른다.
처리 BT5.2.1에서부터 처리 BT5.2.3을 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET TRANSACTION STATUS BT RECOVERY 명령(26060)을 발행한다. 명령을 수신하면, 인셉티브 디바이스는, 처리 BT5.2.3에서 생성된 BT PI 트랜잭션 상태를, 호스트 모듈에 송신한다(26061).
호스트 모듈(110)은, BT PI 트랜잭션 상태를 수신하면, 프라이멀 디바이스에 대하여, VERIFY TRANSACTION STATUS BT PI RECOVERY 명령(26070)을 발행하고, 계속해서 수신한 BT PI 트랜잭션 상태를 송신한다(26071).
프라이멀 디바이스는, BT PI 트랜잭션 상태를 수신하면, 26072에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT5.3.1: BT PI 트랜잭션 상태의 검증과, BT PI 트랜잭션 상태 포함되는 사용허가증 식별자, 사용허가증 상태, 사용허가증 위치의 확인을 한다. BT PI 트랜잭션 상태의 검증은, 데이터에 포함되는 해시값을, 자신이 유지하고 있는 K_s[P]m과 K_s[I]n으로부터 계산함으로써 행한다. 계산 결과가 포함되어 있는 해시값과 일치하면, 데이터의 위조는 되어 있지 않다고 판단된다. 또한, 사용허가증 식별자는, 이번 복구 대상인 것인지 여부의 확인, 사용허가증 상태는 복구 가부의 판 정, 사용허가증 위치는 자신에게 기록되어 있던 사용허가증 위치에서 지정되는 제한 기억부 내의 사용허가증 기억 영역을 정확하게 검색했는지를 확인하기 위해서 이용된다. 사용허가증 상태가 「무효」나 「미기록」이었던 경우는, 프라이멀 디바이스에 있어서, 사용허가증의 복구 처리가 이루어진다. 한편, 사용허가증 위치가, 자신의 트랜잭션 로그에 기록되어 있던 것과 달랐던 경우는, 사용허가증의 복구 처리는 이루어지지 않는다.
처리 UT5.3.2: 사용허가증 복구 처리를 실행한다. 사용허가증의 복구는, 대상의 사용허가증의 유효성 지시 플래그가 「무효」로 되어 있었던 경우는 그것을 「유효」로 하고, 복구 대상의 사용허가증을, 트랜잭션 로그에 기록되어 있던 사용허가증로 덮어쓰기함으로써 달성된다.
처리 BT5.3.2가 완료되면, 프라이멀 디바이스에는, 송신하기 이전의 사용허가증이 존재하게 된다.
<BT IP 전송 단계에 대한 사용허가증 복구 처리 시퀀스>
BT IP 전송 단계에 있어서 사용허가증의 이동이 한창 이루어지고 있을 때에, 기록 재생 장치에 이상이 발생하여, 프라이멀 디바이스로부터도 인셉티브 디바이스로부터도 전송 처리중인 사용허가증이 없어져 버린 경우, 인셉티브 디바이스에 있어서, 원래 존재한 것과 동일한 UR_s를 수반한 형태로, 사용허가증을 복구할 수 있다. 이 사용허가증 복구 처리에 관해서, 도 27을 이용하여 설명한다. BT 모드에 있어서의 본 처리 단계를, 이하에서는 BT IP 복구 단계라고 부른다.
우선, BT IP 전송 단계에 있어서, 프라이멀 디바이스가 PUT USAGE PASS 명 령(27010) 및 그것에 이어서 사용허가증(27011)를 수신하고 있다고 하는 상황을 상정한다. 그리고, 사용허가증의 수신 처리가 완전히 완료되지 않은 가운데, 이상이 발생하여, 프라이멀 디바이스와 인셉티브 디바이스 사이에서 분단이 생겨, 27001에서 흐르는 사용허가증을 암호화하기 위해서 이용되고 있었던 세션 열쇠 K_s[P]n 및 *KP_d[P](*K_d[P])가, 양 디바이스에서 없어져 버렸다고 하자(27020). 이 경우, 우선 앞에 기재한 BT 재접속 단계가 실행되어, *KP_d[P](*K_d[P]와 같음), *KP_d[I](*K_d[I]와 같음), K_s[P]0', K_s[I]0'이 새롭게 공유된다.
BT 재접속 단계를 끝내면, 호스트 모듈은, 우선 프라이멀 디바이스에 대하여, SEARCH TRANSACTION LOG BT RECOVERY 명령(27030)을 발행한다. 그리고, 명령에 이어서, 27011에서 송신 중이었던 사용허가증의 사용허가증 식별자를, 송신한다(27031).
프라이멀 디바이스는, 식별자를 수신하면, 27032에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT6.1.1: 보호 정보 영역 중에서, 식별자와 동일한 식별자값이 기록되어 있는 트랜잭션 로그를 검색한다.
처리 BT6.1.1을 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET USAGE PASS LOCATION 명령(26040)을 발행한다. 명령을 수신하면, 프라이멀 디바이스는, 처리 BT6.1.1에서 발견된 트랜잭션 로그 중에 기록되어 있는 사용허가증 위치 정보를, 호스트 모듈에 송신한다(27041).
호스트 모듈(110)은, 사용허가증 위치 정보를 수신하면, 인셉티브 디바이스에 대하여, SEARCH USAGE PASS BT RECOVERY 명령(27050)을 발행하고, 계속해서 수신한 데이터를 송신한다(27051).
인셉티브 디바이스는, 사용허가증 위치 정보를 수신하면, 27052에 나타내는 하기의 3가지의 처리를 실행한다.
처리 BT6.2.1: 제한 기억부에 있어서, 수신한 사용허가증 위치에서 지정되는 제한 기억부 중의 사용허가증 기억 영역을 검색한다.
처리 BT6.2.2: 처리 UT6.2.1에서 발견된 사용허가증에 관해서, 그 유효성 지시 플래그의 값을 조사하여, 사용허가증 상태에 「유효」「무효」「미기록」의 어느 하나의 값을 설정한다.
처리 BT6.2.3: BT 모드용 트랜잭션 상태를 생성한다. 트랜잭션 상태는, 복구 대상 사용허가증의 UPID||처리 BT6.2.1에서 발견된 사용허가증의 UR_s||처리 BT6.2.2에서 설정한 사용허가증 상태||27041에서 수신한 사용허가증 위치||해시값이다. 여기서 해시값은, K_s[P]m||K_s[I]n-1||UPID||UR_s||사용허가증 상태||사용허가증 위치으로부터 계산된다. 여기서 이용되는 K_s[P]m| 및 K_s[I]n-1은, 접속 단계 또는 재접속 단계가 완료된 후, 그 시점에서 공유되어 있는 최신의 세션 열쇠이다. 단계 완료 후, m회의 BT PI 전송 단계 및 n-1회의 BT IP 전송 단계가 실행되었음 의미하고 있다. 본 처리에서 생성되는 트랜잭션 상태를, 이하에서는 BT IP 트랜잭션 상태라고 부른다.
처리 BT6.2.1에서부터 처리 BT6.2.3을 인셉티브 디바이스가 실행하는 중, 호 스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET TRANSACTION STATUS BT RECOVERY 명령(27060)을 발행한다. 명령을 수신하면, 인셉티브 디바이스는, 처리 BT6.2.3에서 생성된 BT IP 트랜잭션 상태를, 호스트 모듈에 송신한다(27061).
호스트 모듈(110)은, BT IP 트랜잭션 상태를 수신하면, 프라이멀 디바이스에 대하여, VERIFY TRANSACTION STATUS BT IP RECOVERY 명령(27070)을 발행하고, 계속해서 수신한 BT IP 트랜잭션 상태를 송신한다(27071).
프라이멀 디바이스는, BT IP 트랜잭션 상태를 수신하면, 27072에 나타내는 하기의 하나의 처리를 실행한다.
처리 BT6.3.1: BT IP 트랜잭션 상태의 검증과, BT IP 트랜잭션 상태에 포함되는 사용허가증 식별자, UR_s, 사용허가증 상태, 사용허가증 위치의 확인을 한다.
BT IP 트랜잭션 상태의 검증은, 데이터에 포함되는 해시값을, 자신이 유지하고 있는 K_s[P]m과 K_s[I]n-1로부터 계산함으로써 행한다. 계산 결과가 포함되어 있는 해시값과 일치하면, 데이터의 위조는 되어 있지 않다고 판단된다. 또한, 사용허가증 식별자는, 이번 복구 대상의 것인지 여부의 확인, UR_s 및 사용허가증 상태는 복구 가부의 판정, 사용허가증 위치는 자신에게 기록되어 있던 사용허가증 위치으로 지정되는 제한 기억부 내의 사용허가증 기억 영역을 정확하게 검색했는지를 확인하기 위해서 이용된다. 사용허가증 상태가 「무효」이거나, BT IP 트랜잭션 상태에 포함되는 UR_s를 처리 BT6.1.1에서 발견된 트랜잭션 로그에 기록되어 있는 UR_s에 대조한 결과, 인셉티브 디바이스에 남아 있는 목적의 사용허가증의 UR_s가 변화되어 버리고 있음이 판명되거나 한 경우는, 이후의 사용허가증 복구 처리가 실행된다.
처리 BT6.3.1을 프라이멀 디바이스가 실행하는 중, 그것에 병렬하여, 호스트 모듈(110)은 CREATE INCEPTIVE DEVICE SESSION KEY BT TRANSFER 명령(27080)을 발행한다. 인셉티브 디바이스는, 명령을 수신하면, 27081에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT6.4.1: 세션 열쇠 K_s[I]n을 생성한다. 여기서 n은, BT 접속 단계 완료 후, 본 처리가 n회째의 BT IP 전송 단계임을 의미한다.
처리 BT6.4.2: 처리 BT6.4.1에서 생성한 K_s[I]n을, 하나 앞의 사용허가증 전송 실행시에 생성한 세션 열쇠 K_s[I]n-1 및 프라이멀 디바이스에 있어서 생성된 최신의 세션 열쇠 K_s[P]m을 이용하여, 암호화한다. K_s[P]m은, BT 접속 단계가 완료되고 나서, m회의 BT IP 전송 단계가 실행되었음을 의미한다. 만약에 한번도 인셉티브 디바이스에서 프라이멀 디바이스에 대하여 사용허가증 전송 처리가 실행되고 있지 않았던 경우는, BT 재접속 단계에서 공유되는 0차 세션 열쇠 K_s[P]0'를, K_s[P]m으로서 이용한다. 얻어지는 데이터는 E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))이다.
처리 BT6.4.1 및 처리 BT6.4.2를 인셉티브 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET INCEPIVE DEVICE SESSION KEY BT TRANSFER 명령(27090)을 발행한다. 인셉티브 디바이스는 명령을 수신하면, 처리 BT6.4.2에서 생성된 데이터 E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를, 호스트 모듈에 송신한다(27091).
호스트 모듈(110)은, E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를 수신하면, 프라이멀 디바이스에 대하여 PUT INCEPTIVE DEVICE SESSION KEY BT RETRANSFER 명령(27100)을 발행하고, 계속해서 수신한 데이터를 프라이멀 디바이스에 송신한다(27101).
프라이멀 디바이스는, E(K_s[P]m, E(K_s[I]n-1, K_s[I]n))를 수신하고, 처리 BT6.3.1에 있어서 인셉티브 디바이스 중의 사용허가증의 복구 처리가 필요하다는 것이 판명되면, 27102에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT6.5.1: 수신한 데이터를, K_s[P]m 및 K_s[I]n-1로 복호한다. 양 열쇠 데이터에 대해서는, 처리 BT6.2.3에서 설명한 것과 같다.
처리 BT6.5.2: 처리 BT6.5.1에서 얻어진 데이터에 관해서, K_s[I]n이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인하기 위한 수단은 처리 UT1.3.3에 적은 것과 같다.
처리 BT6.5.1 및 처리 BT6.5.2를 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 ENCRYPT USAGE PASS RECOVER 명령(27110)을 발행한다. 명령을 수신하면, 프라이멀 디바이스는 27111에 나타내는 하기의 2가지의 처리를 실행한다.
처리 BT6.6.1: 처리 BT6.2.1에서 발견된 트랜잭션 로그에 기록되어 있는 UPID와 UR_s를 연결하여, 사용허가증 송신용 모듈(1301)에 송신한다.
처리 BT6.6.2: 처리 BT6.6.1에 있어서 사용허가증 송신용 모듈(1301)에 준비 된 UPID||UR_s에 관해서, 체크섬을 계산하여, 데이터에 연결한다. 그리고, 얻어진 데이터를, K_s[I]n 및 *KP_d[I]로 암호화한다. 즉, 대칭 열쇠에 의한 이중 암호화이다. 얻어지는 데이터는 E(*KP_d[I], E(K_s[I]n, UPID||UR_s||체크섬))이다. 체크섬의 계산은 UT2.4.2에 기재한 것과 같다.
처리 BT6.6.1 및 처리 BT6.6.2를 프라이멀 디바이스가 실행하는 중, 호스트 모듈은 처리가 종료되는 타이밍을 예측하여, 적절한 타이밍에 GET RECOVER USAGE PASS 명령(27120)을 발행한다. 프라이멀 디바이스는, 명령을 수신하면, E(*KP_d[I], E(K_s[I]n, UPID|| UR_s||체크섬))를 호스트 모듈에 송신한다(27121).
호스트 모듈(110)은 E(*KP_d[I], E(K_s[I]n, UPID||UR_s||체크섬))를 수신하면, 인셉티브 디바이스에 대하여 RECOVER 사용허가증 명령(27130)을 발행하고, 이어서 E(*KP_d[I], E(K_s[I]n, UPID||UR_s||체크섬)) 및 데이터의 기록처 사용허가증 위치를 송신한다(27131).
인셉티브 디바이스는, 명령 및 데이터를 수신하면, 23062에 나타내는 하기의 4가지의 처리를 실행한다.
처리 BT6.7.1: 수신한 데이터 E(*KP_d[I], E(K_s[I]n, UPID||UR_s||체크섬))를, *K_d[I] 및 K_s[I]n로 복호한다. *K_d[I]는 재접속 단계(27021)에서 얻은 대칭 열쇠이다. 또한, K_s[I]n은 처리 BT6.4.1에서 자신이 생성한 세션 열쇠이다.
처리 BT6.7.2: 처리 BT6.7.1에서 얻어진 데이터에 관해서, UPID||UR_s||체크섬이 정당한 형태로 포함되어 있었는지 여부를 확인한다. 확인은, 체크섬을 검증하는 것 및 처리 UT1.3.3에 적은 수단을 이용하여 이루어진다. 체크섬에 의한 검증 방법은, 처리 UT2.4.2에 기재되어 있다.
처리 BT6.7.3: 수신한 사용허가증 위치에서 지정되는 제한 기억부의 사용허가증 기록 영역에서 사용허가증을 사용허가증 버퍼에 독출하여, 사용허가증의 UPID가, 처리 BT6.7.2에서 복호한 결과 얻어진 UPID와 일치하는지 확인한다. 일치하지 않는 경우는, 처리를 중단한다.
처리 BT6.7.4: 수신한 사용허가증을 제한 기억부에 기록한다. 사용허가증의 기록을 할 때는, 유효성 지시 플래그를 「유효」로 설정한다.
그 후, 인셉티브 디바이스에 있어서의 사용허가증의 제한 기억부에의 기록이 정상적으로 종료되었는지 여부를 확인하기 위해서, 호스트 모듈은, 인셉티브 디바이스에 대하여, CHECK EXECUTION STATUS 명령(27140)을 발행하더라도 좋다. 인셉티브 디바이스에서 호스트 모듈로는, 실행 상태가 27141에서 송신된다.
처리 BT6.7.2가 완료되면, 인셉티브 디바이스에는, 송신하기 이전의 사용허가증이 존재하게 된다.
이상, 실시예에 관해서 설명했지만, 본 발명은 상기 실시예에 한정되지 않는다. 또한, 여러 가지 변형하여 실시하거나, 또 다른 장치나 시스템에도 응용할 수 있을 것이다.
예컨대, 상기 실시예에 있어서 설명된 명령이나 모듈 등의 통칭은 어디까지나 일례이며 상기한 예에 한정되지 않는다. 예컨대, 상기 실시예에 있어서의 사용허가증(사용허가증)는, 라이센스 정보 또는 기밀 정보라고 불리는 경우도 있을 것이다
또한, 상기 실시예에서는, 기록 재생 장치와 자기 디스크 장치를 포함하는 시스템에 있어서의 콘텐츠 데이터의 보안 관리에 관해서 설명한 것이지만, 다른 예에 의한 시스템 및 그 구성 장치로서는, 기록 재생 장치나 자기 디스크 장치 이외의 장치에 적용하는 것도 가능하다. 즉, 본 발명에 따른, 콘텐츠 데이터의 복호화를 관리하기 위한 제어 정보를 취급하는 특징적인 처리 기능을 가지면, 기록 재생 장치 및 자기 디스크 장치에 한정되지 않는다. 이 특징적인 처리 기능을 갖는 한에 있어서, 예컨대, 자기 디스크 장치는, 반도체 메모리를 포함하는 기억 장치라도 좋고, 또한, 기록 재생 장치는, 기억 장치가 접속되는 호스트 컴퓨터라도 좋다.
또한, 다른 변형예에 있어서는, 상기 실시예의 열쇠 데이터 등을 기억하는 보호 기억 영역은, 논리적으로 대탬퍼성이 확보되어 있으면, 반드시 물리적으로 대탬퍼성을 갖는 메모리일 필요는 없다.
본 발명에 따르면, 복수의 데이터를 복호하기 위한 열쇠 및 데이터의 이용 조건을 포함하는 제어 정보를 한 쪽의 장치에서 다른 쪽의 장치에 전송하는 경우에, 양 장치의 암호 연산에 관한 부하를 경감하는 적절한 방법을 제공할 수 있다.
또한, 정당한 장치의 사이에서 상기 제어 정보를 안전히 전송할 수 있다. 부정한 장치에 제어 정보를 전송하는 것은 전송원 장치에 의해서 거절하고, 부정한 장치로부터 제어 정보가 보내진 경우에는, 전송처 장치에서 그 수신을 거절할 수 있다.
더욱이, 상기 제어 정보를, 한 쪽의 장치에서 다른 쪽의 장치에 전송하는 시 스템에 있어서, 전송처 장치가 갖는 실효된 증명서의 리스트 쪽이, 전송원 장치가 갖는 리스트보다 새로운 것인 경우, 이들 장치 사이에서 상호 인증 처리를 실행하는 동안에, 전송원의 리스트로, 전송처의 리스트를 갱신할 수 있게 된다.

Claims (14)

  1. 콘텐츠 데이터의 복호화를 관리하기 위한 제어 정보를 취급하는 콘텐츠 데이터 관리 시스템에 있어서,
    상기 콘텐츠 데이터를 기록 재생하는 제1 장치와, 상기 콘텐츠 데이터를 기억하는 제2 장치와, 및 양 장치 사이의 데이터 전송을 제어하는 호스트 처리부를 포함하고,
    상기 호스트 처리부의 제어에 의해, 상기 양 장치에 대하여 그 장치가 갖는 데이터의 전송 기능에 관한 조회를 하여, 상기 조회 결과, 양 장치 사이의 데이터 전송에 관해서, 상기 제어 정보의 전송을 상기 제1 장치에서 상기 제2 장치로 한 방향으로 행하는 제1 전송 모드와, 상기 제어 정보의 전송을 상기 양 장치 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고,
    상기 제1 및 제2 장치에서 서로 정당성 인증 처리를 하여, 상기 인증 처리 결과, 정당한 경우에 상기 제1 및 제2 장치에서 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
    상기 제1 장치 또는 상기 제2 장치에서 상기 공유 열쇠 데이터로 상기 제어 정보를 암호화 처리하고,
    상기 설정된 상기 제1 또는 제2 전송 모드에 따라, 한 쪽의 장치에서 암호화된 상기 제어 정보를 다른 쪽의 장치에 전송하고, 상기 제어 정보를 수신한 상기 제1 장치는, 상기 공유 열쇠 데이터로 상기 제어 정보를 복호화하고, 복호화된 상 기 제어 정보로 콘텐츠 데이터를 복호 처리하는 것을 특징으로 하는, 콘텐츠 데이터 관리 시스템.
  2. 취득된 콘텐츠 데이터를 기록 재생하는 제1 장치와, 상기 제1 장치와 접속되어 상기 콘텐츠 데이터를 기억하는 제2 장치를 포함하고, 상기 제1 장치 및 제2 장치에서 취급되는 상기 콘텐츠 데이터의 보안을 관리하는 콘텐츠 데이터 관리 시스템에 있어서,
    상기 제1 장치는,
    상기 제2 장치를 접속하는 인터페이스와,
    취득된 상기 콘텐츠 데이터를 기록하기 위한 처리를 행하는 기록 모듈과,
    외부로부터 또는 상기 인터페이스를 통해 상기 제2 장치로부터 보내진 상기 콘텐츠 데이터를 재생하기 위한 처리를 행하는 재생 모듈과,
    적어도 상기 콘텐츠 데이터를 암호화하는데 사용되는 열쇠 데이터를 유지하는 제1 보호 기억 영역과,
    암호화된 상기 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와, 상기 콘텐츠 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 생성하는 호스트 보안 관리자와,
    상기 제2 장치와의 사이에서 이루어지는 데이터 전송을 제어하는 호스트 처리부를 포함하고,
    상기 제2 장치는,
    적어도 상기 인터페이스를 통해 상기 제1 장치로부터 보내진 상기 콘텐츠 데이터를 기억하는 콘텐츠 기억부와,
    적어도 상기 제어 정보를 유지하는 제2 보호 기억 영역과,
    상기 인터페이스를 통해 상기 제1 장치와의 사이에서 교환되는 정보의 전송제어를 행하는 전송 모듈을 포함하고,
    상기 호스트 처리부는, 상기 기록 모듈 또는 상기 재생 모듈, 및 상기 제2 장치에 대하여, 상기 장치가 갖는 데이터의 전송 기능에 관한 조회를 하여, 그 조회 결과, 상기 제1 및 제2 장치 사이의 데이터 전송에 관해서, 상기 제어 정보의 전송을 상기 제1 장치에서 상기 제2 장치로 한 방향으로 행하는 제1 전송 모드와, 상기 제어 정보의 전송을 상기 양 장치 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고,
    상기 호스트 보안 관리자는 상기 제2 장치의 특성에 관한 정보를 검증하여 인증을 하고, 상기 제2 장치의 상기 전송 모듈은 상기 제1 장치의 상기 기록 모듈 또는 상기 재생 모듈의 특성에 관한 정보를 검증하여 인증을 하여, 상기 인증 처리 결과, 정당한 경우에 상기 제1 장치 및 제2 장치에서 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
    상기 제1 전송 모드로 설정된 경우, 상기 호스트 보안 관리자는, 상기 공유 열쇠 데이터로, 생성된 그 제어 정보를 암호화 처리하여, 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 제2 장치에 전송하고,
    상기 제2 전송 모드로 설정된 경우, 상기 호스트 보안 관리자는, 상기 공유 열쇠 데이터로, 생성된 그 제어 정보를 암호화 처리하여, 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 제2 장치에 전송하거나, 또는 상기 전송 모듈은 상기 공유 열쇠 데이터로, 상기 제2 보호 기억 영역 내에 유지된 상기 제어 정보를 암호화 처리하여, 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 제1 장치에 전송하고,
    상기 제1 장치의 상기 재생 모듈은, 상기 대칭 열쇠 데이터로, 수신한 상기 제어 정보를 복호화하고, 상기 복호화된 제어 정보로 상기 콘텐츠 데이터를 복호화 처리하는 것을 특징으로 하는 콘텐츠 데이터 관리 시스템.
  3. 제1항 또는 제2항에 있어서, 상기 제1 장치는 상기 디지털 콘텐츠를 시청할 수 있는 기능을 갖는 기록 재생 장치이며, 상기 제2 장치는 상기 제1 장치에 착탈 가능한 자기 디스크 장치이고, 상기 콘텐츠 기억부는 자기 디스크 매체이고, 상기 제1 및 제2 보호 기억 영역은 대탬퍼성(tamper-resistant)을 갖는 메모리인 것을 특징으로 하는 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제어 정보는, 자신이 어떠한 종류의 모듈에 대하여 출력 가능한 것인지를 나타내는 포맷과, 각각에 고유하게 할당된 식별자와, 콘텐츠 데이터의 이용을 제한하기 위한 조건을 나타내는 정보와, 암호화된 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와, 관련되는 콘텐츠 데이터를 특정하기 위한 식별자를 포함하는 것을 특징으로 하는 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 전송 모드에서의 상기 제어 정보의 전송에 있어서, 상기 제1 및 제2 장치는 상기 제어 정보의 처리에 관련되는 트랜잭션 로그를 생성하여 각각 상기 제1 및 제2 보호 기억 영역에 저장하고,
    상기 정당성 인증 처리시에 정상적으로 처리가 이루어지지 않은 경우, 상기 제1 또는 제2 장치는 상기 제1 또는 제2 보호 기억 영역에 기억된 상기 트랜잭션 로그를 참조하여 공유 열쇠 데이터를 생성하여 다른 쪽의 장치로 보내는 것을 특징으로 하는 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2 전송 모드에서의 상기 제어 정보의 전송에 있어서, 상기 제1 장치는 상기 제어 정보의 처리에 관련되는 트랜잭션 로그를 생성하여 상기 제1 보호 기억 영역에 저장하고,
    상기 제어 정보의 전송시에 정상적으로 처리가 이루어지지 않은 경우, 상기 제1 장치는 상기 제1 보호 기억 영역에 기억된 상기 트랜잭션 로그를 참조하여 공유 열쇠 데이터를 생성하여 상기 제2 장치에 보내는 것을 특징으로 하는 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제2 전송 모드로 설정된 경우, 상기 정당성의 인증 처리에 있어서,
    제2 장치는, 자신의 공개 열쇠가 포함되는 증명서를 제1 장치에 송신하고,
    제1 장치에서는, 수신한 증명서의 정당성을 검증하여, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 제1 챌린지 열쇠를 생성하고, 수신한 공개 열쇠로 상기 제1 챌린지 열쇠를 암호화하고, 생성된 암호화 데이터에 자신의 공개 열쇠를 포함하는 증명서를 연결하여 제2 장치에 송신하고,
    제2 장치에서는, 수신한 상기 데이터를 자신의 개인 열쇠로 복호하여 상기 제1 챌린지 열쇠를 취득하고, 또한, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 제2 챌린지 열쇠를 생성하고,
    상기 제2 챌린지 열쇠와 자신에게 매립되어 있는 공개 열쇠를 연결하여, 수신한 공개 열쇠로 암호화하고, 자신의 증명서 실효 리스트를 얻어진 상기 암호화 데이터에 연결하고, 수신한 제1 챌린지 열쇠로 상기 연결한 데이터를 암호화하여, 상기 암호화한 데이터를 상기 제1 장치에 송신하고,
    상기 제1 장치는, 수신한 상기 데이터를 상기 제1 챌린지 열쇠로 복호하여, 상기 증명서 실효 리스트 중에 있는 그 리스트의 발행일 정보와 자신의 증명서 실효 리스트가 갖는 발효일 정보를 비교하여, 그 결과, 수신한 제2 장치의 증명서 실효 리스트의 발행일이 새로운 것이면, 상기 제2 장치의 상기 증명서 실효 리스트를 자신의 리스트로서 갱신하고,
    또한, 복호화한 데이터로부터 상기 증명서 실효 리스트를 제외한 데이터를 자신의 개인 열쇠로 복호화하고, 또한, 일시적인 대칭 열쇠 암호화를 위한 열쇠인 0차 제1 세션 열쇠를 생성하여, 앞서 수신한 제2 장치의 공개 열쇠 및 제2 챌린지 열쇠로 암호화하여, 암호화된 데이터를 제2 장치에 송신하고,
    제2 장치는, 수신한 암호화 데이터를 제2 챌린지 열쇠로 복호하여, 이 복호화 데이터에 상기 제1 장치의 증명서 실효 리스트가 포함되어 있었던 경우는, 자신의 증명서 실효 리스트를 수신한 상기 증명서 실효 리스트에 의해 갱신하고, 또, 상기 증명서 실효 리스트 이외의 상기 복호화 데이터를 자신에게 매립되어 있는 개인 열쇠로 복호화하여, 0차 제1 세션 열쇠를 취득하는 것을 특징으로 하는 시스템.
  8. 취득된 콘텐츠 데이터를 기록 재생하는 기록 재생 장치에 있어서,
    상기 콘텐츠 데이터를 기억하는 기억 장치와 접속하여, 상기 기억 장치와의 사이에서 콘텐츠 데이터를 포함하는 정보의 전송을 행하는 접속부와,
    상기 콘텐츠 데이터를 기록하기 위한 처리를 행하는 기록부와,
    적어도 상기 접속부를 통해 상기 기억 장치로부터 보내진 상기 콘텐츠 데이터를 재생하기 위한 처리를 행하는 재생부와,
    상기 기록부 또는 상기 재생부와, 상기 기억 장치와의 사이에서의 상기 제어 정보의 전송을, 상기 기억 장치에 대하여 한 방향으로 행하는 제1 전송 모드와, 상기 기억 장치와의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하는 제1 처리 수단과,
    암호화된 상기 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와 상기 콘텐츠 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 생성하는 수단과, 상기 기억 장치의 특성에 관한 정보를 검증하여 인증을 하고, 상기 인증 처리 결과, 상기 기억 장치가 정당한 경우에, 상기 기억 장치와의 사이에서 공유된 열쇠 데이터(공유 열쇠 데이터)를 이용하여, 생성된 상기 제어 정보를 암호화하는 수단을 포함하는 제2 처리 수단을 포함하고,
    상기 암호화된 제어 정보는, 상기 제1 처리 수단의 제어에 의해 설정된 상기 제1 또는 제2 전송 모드에 따라, 상기 접속부를 통해 상기 기억 장치에 전송되고,
    상기 기억 장치로부터 보내져 수신한 상기 제어 정보는, 상기 제2 처리 수단에 의해 상기 대칭 열쇠 데이터로 복호화되고, 상기 복호화된 제어 정보로 상기 콘텐츠 데이터를 복호 처리하여 상기 재생부에서 재생하는 것을 특징으로 하는 기록 재생 장치.
  9. 취득된 콘텐츠 데이터를 기록 재생하는 기록 재생 장치에 있어서,
    상기 콘텐츠 데이터를 기억하는 기억 장치를 착탈이 자유롭게 접속하여, 상기 기억 장치와의 사이에서 콘텐츠 데이터를 포함한 여러 가지 정보의 교환을 행하는 인터페이스와,
    상기 콘텐츠 데이터를 기록하기 위한 처리를 행하는 기록 모듈과,
    상기 인터페이스를 통해 상기 기억 장치로부터 보내진 상기 콘텐츠 데이터를 재생하기 위한 처리를 행하는 재생 모듈과,
    적어도 상기 콘텐츠 데이터를 암호화하기 위해서 사용되는 열쇠 데이터를 유지하는 제1 보호 기억 영역과,
    암호화된 상기 콘텐츠 데이터를 복호하기 위한 열쇠 데이터와, 상기 콘텐츠 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 생성하는 호스트 보안 관리 자와,
    상기 기억 장치와의 사이에서 이루어지는 데이터 전송을 제어하는 호스트 처리부를 포함하고,
    상기 호스트 처리부는, 상기 기록 모듈 또는 상기 재생 모듈, 및 상기 기억 장치에 대하여, 이들이 갖는 데이터의 전송 기능에 관한 조회를 하여, 조회 결과, 상기 기억 장치와의 사이의 데이터 전송에 관해서, 상기 제어 정보의 전송을 상기 기억 장치에 대하여 한 방향으로 행하는 제1 전송 모드와, 상기 제어 정보의 전송을 상기 기억 장치와의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 한 전송 모드를 설정하고,
    상기 호스트 보안 관리자는, 상기 기억 장치의 특성에 관한 정보를 검증하여 인증을 하여, 상기 인증 처리 결과, 정당한 경우에 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
    상기 제1 전송 모드로 설정된 경우, 상기 호스트 보안 관리자는, 생성된 상기 제어 정보를 상기 공유 열쇠 데이터로 암호화 처리하여, 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 기억 장치에 전송하고,
    상기 제2 전송 모드로 설정된 경우, 상기 호스트 보안 관리자는, 생성된 상기 제어 정보를 상기 공유 열쇠 데이터로 암호화 처리하여, 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 기억 장치에 전송하고, 또한 상기 기억 장치로부터 전송된 상기 공유 열쇠 데이터에 의해 암호화된 상기 제어 정보를 수신하고,
    또한, 상기 재생 모듈은, 수신한 상기 제어 정보를 상기 대칭 열쇠 데이터로 복호화하고, 상기 복호화된 상기 제어 정보로 상기 콘텐츠 데이터를 복호 처리하는 것을 특징으로 하는 기록 재생 장치.
  10. 제8항에 있어서, 상기 제어 정보의 전송 처리시에, 상기 제2 처리 수단은 상기 제어 정보의 처리에 관련되는 트랜잭션 로그를 생성하여 상기 제1 보호 기억 영역에 기억하고,
    상기 정당성의 인증 처리시에 상기 열쇠 데이터를 잃어버린 경우, 상기 제1 보호 기억 영역에 기억된 상기 트랜잭션 로그를 참조하여 공유하여야 할 열쇠 데이터를 생성하여, 상기 제1 처리 수단의 제어 하에 상기 기억 장치에 전송하는 것을 특징으로 하는 기록 재생 장치.
  11. 데이터를 처리하는 다른 장치에 접속되어, 그 데이터를 기억할 수 있는 자기 디스크 장치로서,
    상기 다른 장치에 착탈이 자유롭게 접속되어, 상기 다른 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 접속부와,
    상기 접속부를 통해 상기 다른 장치로부터 보내진, 암호화된 상기 데이터를 기억하는 디스크 매체와,
    적어도 상기 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 상기 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 제2 보호 기억 영역과,
    상기 접속부를 통해 상기 다른 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 제어 수단을 포함하고,
    상기 제어 수단은,
    상기 다른 장치와의 사이에서 서로 정당성 인증을 하여, 정당한 경우에, 상기 다른 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
    상기 제2 보호 기억 영역 내에 유지된 상기 제어 정보를 상기 공유 열쇠 데이터로 암호화 처리하고,
    상기 다른 장치로부터의 지시에 의해 설정된, 상기 다른 장치로부터 상기 자기 디스크 장치에 한 방향으로 상기 제어 정보를 전송하는 제1 전송 모드와, 상기 다른 장치와의 사이에서 양방향으로 상기 제어 정보를 전송하는 제2 전송 모드 중 어느 한 전송 모드에 따라, 상기 암호화된 제어 정보를 상기 접속부를 통해 상기 다른 장치에 전송하는 것을 특징으로 하는 자기 디스크 장치.
  12. 데이터의 기록 재생을 행하는 기록 재생 장치에 접속되어, 그 데이터를 기억하는 자기 디스크 장치로서,
    상기 기록 재생 장치에 착탈이 자유롭게 접속되어, 상기 기록 재생 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 인터페이스와,
    상기 인터페이스를 통해 상기 기록 재생 장치로부터 취득된 상기 데이터를 기억하는 디스크 매체와,
    상기 디스크 매체에 대한 상기 데이터의 기록 및 독출을 제어하는 제어부와,
    적어도 상기 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 상기 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 제2 보호 기억 영역과,
    상기 인터페이스에 접속되어, 상기 기록 재생 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 전송 모듈을 포함하고,
    상기 전송 모듈은,
    상기 기록 재생 장치로부터의 요구에 따라, 상기 기록 재생 장치와의 사이에서의 제어 정보의 전송에 관해서, 상기 기록 재생 장치에서 상기 자기 디스크 장치로 한 방향으로 행하는 제1 전송 모드와, 상기 기록 재생 장치와의 사이에서 양방향으로 행하는 제2 전송 모드 중 어느 쪽의 전송 모드가 가능한지를 회답하는 수단과,
    상기 기록 재생 장치로부터의 요구에 따라, 상기 자기 디스크 장치의 특성에 관한 정보(특성 정보)를 상기 기록 재생 장치에 송신하는 동시에, 상기 기록 재생 장치로부터 보내진 특성 정보를 검증하여 인증하여, 정당한 경우, 상기 기록 재생 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하는 수단을 포함하고,
    상기 기록 재생 장치로부터의 지시에 의해 상기 제1 전송 모드 또는 제2 전송 모드로 설정된 경우, 상기 전송 모듈은, 상기 기록 재생 장치로부터 상기 인터페이스를 통해 전송된 상기 공유 열쇠 데이터에 의해 암호화된 제어 정보를 수신하여, 상기 제2 보호 기억 영역에 기억하고,
    상기 제2 보호 기억 영역 내에 유지된 상기 제어 정보를, 상기 공유 열쇠 데이터로 암호화 처리하여 상기 암호화된 제어 정보를 상기 인터페이스를 통해 상기 기록 재생 장치에 전송하는 것을 특징으로 하는 자기 디스크 장치.
  13. 제11항 또는 제12항에 있어서, 상기 제2 보호 기억 영역은 상기 자기 디스크 매체 내에 형성되는 것을 특징으로 하는 자기 디스크 장치.
  14. 데이터를 처리하는 다른 장치에 접속되어, 그 데이터를 기억할 수 있는 기억 장치에 있어서,
    상기 다른 장치와의 사이에서 데이터를 포함하는 정보의 교환을 행하는 접속부와, 상기 접속부를 통해 상기 다른 장치로부터 보내진, 암호화된 상기 데이터를 기억하는 기억부와, 적어도 상기 데이터를 암호화하기 위해서 사용되는 열쇠 데이터, 및 상기 데이터를 복호하기 위한 조건을 포함하는 제어 정보를 유지하는 소정의 기억 영역과, 상기 접속부를 통해 상기 다른 장치와의 사이에서 교환되는 정보의 전송 제어를 행하는 제어부를 포함하고,
    상기 제어부는, 상기 다른 장치와의 사이에서 상호 정당성의 인증을 하여, 정당한 경우에, 상기 다른 장치와의 사이에서 소정의 열쇠 데이터(공유 열쇠 데이터)를 공유하고,
    상기 소정의 기억 영역에 유지된 상기 제어 정보를 상기 공유 열쇠 데이터로 암호화 처리하고,
    선택적으로 설정되는, 상기 다른 장치에서 상기 기억 장치로 한 방향으로 상기 제어 정보를 전송하는 제1 전송 모드와, 상기 다른 장치와의 사이에서 양방향으로 상기 제어 정보를 전송하는 제2 전송 모드 중 어느 한 전송 모드에 따라, 상기 암호화된 제어 정보를 상기 접속부를 통해 상기 다른 장치에 전송하는 것을 특징으로 하는 기억 장치.
KR1020060094420A 2005-09-29 2006-09-27 콘텐츠 데이터 관리 시스템 및 장치 KR20070036688A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00284242 2005-09-29
JP2005284242A JP4848163B2 (ja) 2005-09-29 2005-09-29 コンテンツデータ管理システム及び装置

Publications (1)

Publication Number Publication Date
KR20070036688A true KR20070036688A (ko) 2007-04-03

Family

ID=37496750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060094420A KR20070036688A (ko) 2005-09-29 2006-09-27 콘텐츠 데이터 관리 시스템 및 장치

Country Status (5)

Country Link
EP (1) EP1770576A2 (ko)
JP (1) JP4848163B2 (ko)
KR (1) KR20070036688A (ko)
CN (1) CN1940952B (ko)
TW (1) TW200717252A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5110942B2 (ja) * 2007-04-06 2012-12-26 株式会社日立製作所 情報保護システム
JP5036406B2 (ja) 2007-05-30 2012-09-26 エイチジーエスティーネザーランドビーブイ コンテンツデータ管理システム及び方法
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
JP5139028B2 (ja) 2007-10-24 2013-02-06 エイチジーエスティーネザーランドビーブイ コンテンツデータ管理システム及び方法
KR101456698B1 (ko) * 2007-12-13 2014-10-31 주식회사 케이티 디지털 컨텐츠 제공 방법 및 방법 프로그램을 저장한기록매체, 디지털 컨텐츠 제공 시스템 및 가입자 단말 장치
JP2010114593A (ja) 2008-11-05 2010-05-20 Hitachi Global Storage Technologies Netherlands Bv データ転送システム、データ転送方法、データ送信装置およびデータ受信装置
US9083685B2 (en) 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
JP5657672B2 (ja) 2009-09-17 2015-01-21 ロイヤル カナディアン ミントRoyal Canadian Mint 高信頼性メッセージ記憶、転送プロトコルおよびシステム
US8868813B2 (en) 2011-12-30 2014-10-21 Bedrock Automation Platforms Inc. Communications control system with a serial communications interface and a parallel communications interface
US11144630B2 (en) 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US9437967B2 (en) 2011-12-30 2016-09-06 Bedrock Automation Platforms, Inc. Electromagnetic connector for an industrial control system
US9727511B2 (en) 2011-12-30 2017-08-08 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US10834094B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US8971072B2 (en) 2011-12-30 2015-03-03 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US9600434B1 (en) 2011-12-30 2017-03-21 Bedrock Automation Platforms, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US11314854B2 (en) 2011-12-30 2022-04-26 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US11967839B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for an industrial control system
US10834820B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Industrial control system cable
US8862802B2 (en) 2011-12-30 2014-10-14 Bedrock Automation Platforms Inc. Switch fabric having a serial communications interface and a parallel communications interface
US9191203B2 (en) 2013-08-06 2015-11-17 Bedrock Automation Platforms Inc. Secure industrial control system
US9467297B2 (en) 2013-08-06 2016-10-11 Bedrock Automation Platforms Inc. Industrial control system redundant communications/control modules authentication
US10613567B2 (en) 2013-08-06 2020-04-07 Bedrock Automation Platforms Inc. Secure power supply for an industrial control system
US20210173950A1 (en) * 2019-12-06 2021-06-10 TEEware Co., Ltd. Data sharing between trusted execution environments
CN112511299B (zh) * 2020-12-14 2023-09-15 深圳数字电视国家工程实验室股份有限公司 接口数据传输方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7242771B2 (en) * 2002-06-26 2007-07-10 Matsushita Electric Industrial Co., Ltd. Contents management system
JP4224344B2 (ja) * 2003-05-09 2009-02-12 パイオニア株式会社 情報処理装置、情報処理方法及び情報処理用プログラム並びに情報記録媒体
JP2005080218A (ja) * 2003-09-03 2005-03-24 Matsushita Electric Ind Co Ltd 記録再生システム及び再生システム
JP2005109840A (ja) * 2003-09-30 2005-04-21 Sony Corp 信号処理システム、記録再生装置、記録方法、記録方法のプログラム並びに記録媒体
JP4663436B2 (ja) * 2004-07-21 2011-04-06 三洋電機株式会社 コンテンツ利用情報送信方法およびその方法を利用可能なコンテンツ利用情報提供装置およびコンテンツ利用情報享受装置
JP4795727B2 (ja) * 2005-06-14 2011-10-19 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ コンテンツの利用端末を制限する方法、記憶装置およびシステム
US7958370B2 (en) * 2005-09-29 2011-06-07 Hitachi Global Storage Technologies, Netherlands, B.V. System and device for managing control data

Also Published As

Publication number Publication date
CN1940952A (zh) 2007-04-04
EP1770576A2 (en) 2007-04-04
TW200717252A (en) 2007-05-01
JP4848163B2 (ja) 2011-12-28
JP2007096817A (ja) 2007-04-12
CN1940952B (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
JP4848163B2 (ja) コンテンツデータ管理システム及び装置
JP4755472B2 (ja) データ転送方法及びシステム
JP5036406B2 (ja) コンテンツデータ管理システム及び方法
US7958370B2 (en) System and device for managing control data
TW514844B (en) Data processing system, storage device, data processing method and program providing media
CN102084373B (zh) 备份存储在安全存储设备中的数字内容
JP4555046B2 (ja) データ転送システム及びデータ転送方法
US8423794B2 (en) Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US9400876B2 (en) Content data management system and method
US20060106721A1 (en) Method for retransmitting or restoring contents key for decrypting encrypted contents data
US7650328B2 (en) Data storage device capable of storing multiple sets of history information on input/output processing of security data without duplication
EP1735939A1 (en) Digital license sharing system and method
WO2004109972A1 (ja) ライセンス受信用ユーザ端末
CN1478223A (zh) 验证方法和数据传输系统
JP2023548572A (ja) ブロックチェーンに機密データを記憶すること
US8156339B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
WO2023047136A1 (en) A security system
JP2002368735A (ja) マスタ用ic装置、マスタ用ic装置のためのバックアップ用ic装置、マスタ用ic装置にダミー鍵を与えるダミー鍵格納装置、マスタ用ic装置とバックアップ用ic装置とのための補助装置、及び二つ以上の補助装置を用いた鍵バックアップシステム
JP5076546B2 (ja) コンテンツデータ管理システム及び装置
JP2010146635A (ja) コンテンツ記録再生装置並びにコンテンツの書き込み及び読み出し方法
JP3843566B2 (ja) ユーザ認証装置および方法
JP2010114593A (ja) データ転送システム、データ転送方法、データ送信装置およびデータ受信装置
AU2005226064A1 (en) Digital license sharing system and method

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