KR20070030786A - 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램 - Google Patents

정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램 Download PDF

Info

Publication number
KR20070030786A
KR20070030786A KR1020067024159A KR20067024159A KR20070030786A KR 20070030786 A KR20070030786 A KR 20070030786A KR 1020067024159 A KR1020067024159 A KR 1020067024159A KR 20067024159 A KR20067024159 A KR 20067024159A KR 20070030786 A KR20070030786 A KR 20070030786A
Authority
KR
South Korea
Prior art keywords
media
data
recording medium
key
information
Prior art date
Application number
KR1020067024159A
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 소니 가부시키가이샤
Priority to KR1020067024159A priority Critical patent/KR20070030786A/ko
Publication of KR20070030786A publication Critical patent/KR20070030786A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

다른(異) 디바이스 사이의 데이터 전송(轉送)을 수반하는 컨텐츠 이용에서의 정보 누설(漏洩), 컨텐츠 부정(不正) 처리를 방지하는 구성을 제공한다. 드라이브와 호스트 등 다른 디바이스 사이의 데이터 전송을 수반하는 컨텐츠의 재생 혹은 기록 처리에서, 컨텐츠의 암호화 또는 복호 처리에 적용하는 미디어 ID(디스크 ID)를, 미디어로부터 판독(讀取; read)하고, 이것이 올바른(正; exact, correct) 정당(正當)한 미디어에 설정된 헤더 코드에 대응해서 기록되어 있는지를 드라이브 측에서 검증(檢證)하고, 검증에 의해서, 정당 미디어라고 확인된 경우, 드라이브 측에서 미디어 ID를 암호화해서 호스트에 출력한다. 본 구성에 의해, 미디어 ID의 외부 누설의 방지, 부정 미디어를 이용한 컨텐츠의 재생 또는 기록 처리의 방지가 실현된다.

Description

정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램{INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND COMPUTER PROGRAM}
본 발명은 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램에 관한 것이다. 또, 상세하게는 컨텐츠의 부정(不正) 이용을 방지하는 구성을 가지는 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램에 관한 것이다.
근년(近年)에, DVD나, 청색 레이저 디스크(Blu-ray Disc) 등, 대용량(大容量) 데이터를 격납(格納; store) 가능한 정보 기록 매체가 보급되고, 예를 들면 고정세(高精細; high resolution, highly accurate) 화상 데이터나, 고품질 음성 데이터 등의 디지털 컨텐츠를 디스크 등의 기록 매체에 기록 재생하는 이용 형태(形態)가 일반화되어 오고 있다.
디지털 기록 장치 및 기록 매체에 의하면, 화상이나 음성을 열화(劣化; degradation, deterioration)시키는 일 없이 기록, 재생을 되풀이하는 것이 가능하고, 부정 카피된 컨텐츠의 인터넷을 거친 전달이나, CD-R, DVD 등의 기록 매체에 컨텐츠를 카피한 해적판(海賊版) 디스크의 유통은 큰 문제로 되어지고 있다.
정보 기록 매체로부터의 컨텐츠 재생, 컨텐츠 기록 처리를 행하는 양태(態樣; form)로서는, 정보 기록 매체(디스크)를 구동하는 드라이브와 재생/기록 처리 기능을 일체화(一體化)한 장치를 이용하는 양태와, 드라이브와, 재생 처리 혹은 기록 처리 프로그램을 실행하는 호스트로서의 정보 처리 장치, 예를 들면 PC 등을 버스 등에 의해서 접속하고, 드라이브와 호스트 사이에서의 데이터 전송(轉送)을 수반하는 처리 양태가 있다.
예를 들면, 드라이브와 호스트 사이에서의 데이터 전송을 행하는 경우의 문제점으로서, 컨텐츠, 열쇠(鍵) 정보, 그 밖의 비밀 정보의 누설(漏洩)이 발생하기 쉽고, 그 결과, 부정한 컨텐츠의 이용, 유출(流出)의 가능성이 높아진다고 하는 문제가 있다. 음악 데이터, 화상 데이터 등, 많은 컨텐츠는, 일반적으로 그 작성자 혹은 판매자에게 반포권(頒布權) 등이 보유(保有)되어 있다. 따라서, 이들 컨텐츠의 배포(配布) 시에는, 일정한 이용 제한, 즉 정규(正規) 유저에 대해서만, 컨텐츠의 이용을 허락하고, 허가가 없는 복제(複製) 등이 행해지지 않도록 하는 구성을 취하는 것이 일반적으로 되어 있다.
DVD나 청색 레이저 디스크 등의 대용량형 기록 매체에는, 영상 정보, 음악 정보를 디지털 데이터로서 격납하는 것이 가능하다. 이와 같은 디지털 데이터 기록 매체를 시장(市場)에 유통시키는 경우에는, 부정 카피를 방지해서 저작권자의 보호를 도모하는 구성이 필수로 된다. 요즈음(昨今)에는, 이와 같은 디지털 데이터의 부정한 카피를 방지하기 위해서, 디지털 기록 장치 및 기록 매체에 위법(違法)한 카피를 방지하기 위한 여러가지 기술이 실용화되고 있다.
예를 들면, 컨텐츠·스크램블 시스템(CSS:Content Scramble System), CPRM(Content Protection for Recordable Media) 등이 알려져 있다. CPRM은, 암호 열쇠가 누설된 경우에도, 열쇠의 선택적인 무효 처리를 가능하게 한 구성이며, 강고(强固; securely, strongly)한 저작권 보호 기능을 가진다.
CPRM에서는, 정보 기록 매체로부터의 암호화 컨텐츠의 재생, 또는 정보 기록 매체에 대한 암호화 컨텐츠의 기록 처리를 행하는 장치는, 기록 매체에 기록되어 있는 암호화 키 블록(예를 들면 MKB:Media Key Block, RKB:Renewal Key Block)을 취득(取得)하고, 장치에 격납되어 있는 디바이스 키(Device keys)에 의해서, 암호화 키 블록의 복호(復號)를 실행해서 미디어 키를 취득하고, 취득한 미디어 키와, 기록 매체로부터 판독출력(讀出; read out) 가능한 기록 매체 고유(固有)의 미디어 ID에 의거하는 암호 처리, 또 CPRM에서 규정(規定)하는 시퀀스에 따른 암호 처리를 포함하는 복수(複數)의 데이터 처리를 실행해서 컨텐츠의 복호 또는 암호화에 적용하는 열쇠를 취득하고, 취득한 열쇠에 의해서 컨텐츠의 복호 재생, 또는 컨텐츠의 암호화 기록 처리를 행한다.
또한, 일반적으로 미디어 ID는, 특정(特定)의 라이센스된 미디어 제조자(製造者)만이 기록 가능한 데이터로서 설정되고, CPRM의 처리에 따른 데이터 기록, 재생 프로그램에 의해서만 판독(讀取; read) 가능한 데이터로서 미디어에 기록된다. 구체적으로는, 미디어 ID는, 정보 기록 매체의 내주(內周) 영역에 설정된 버스트·커팅·에리어(BCA)에 통상의 데이터 기록과는 다른(異) 방식에 의해서 기록된다.
암호화 키 블록으로서의 MKB나 RKB는, 열쇠 관리 센터 등의 특정의 관리 센 터에 의해서 관리된 암호 열쇠 블록 데이터이며, 특정의 라이센스 된 미디어 제조자 등에게 제공되며, 또 적당히 갱신된다. MKB, RKB의 갱신 시에는, 부정으로 판단된 디바이스(재생 기기(機器), PC)에 배포되어 있는 개개(個個)의 디바이스 키를 선택적으로 해서 무효화(無效化)하고, 무효화된 디바이스 키를 이용한 미디어 키의 취득을 불가능하게 한 키 블록으로 하는 갱신을 행한다. 이 구성에 의해, 부정한 디바이스에서의 컨텐츠 이용을 배제(排除)할 수가 있다.
CPRM에 의거하는 컨텐츠의 재생 또는 기록을 행하는 경우, 정보 처리 장치는, 상술한 바와 같이 CPRM에 의해서 규정된 일정(一定) 처리 시퀀스로 처리를 실행한다. 또한, CPRM에서는, 카피 제어 정보(CCI:Copy Control Information)에 따라서, 컨텐츠 카피의 허용 양태가 결정되고, 컨텐츠의 재생, 기록을 실행하는 정보 처리 장치는, CCI에 따른 처리를 행하도록 규제된다. CCI에는, 카피를 허용하지 않는 카피 노 모어(Copy No more), 한번(一度)만의 카피를 허용하는 카피 원스(Copy Once), 카피를 허용하는 카피 프리(Copy Free) 등의 설정이 있으며, CPRM에 따른 컨텐츠, 재생, 카피, 기록을 행하는 장치는, CPRM 준거(準據)의 컨텐츠 재생 또는 기록 프로그램을 실행하고, 그 프로그램에 포함되는 처리로서, CCI의 판독, 갱신 등의 처리를 실행한다.
그러나, 이와 같은 CPRM 방식을 적용한 경우에도, 부정한 컨텐츠의 이용 가능성을 완전히 배제할 수 없는 경우가 있다. 예를 들면, 이하의 시나리오로 정규 라이센스를 받지 않는 디바이스에서, CPRM에 준거한 컨텐츠 기록 미디어가 자작(自作)될 가능성이 있다.
a) 정규 CPRM 기록 소프트웨어, 즉 CPRM에 준거하는 암호화 컨텐츠를 미디어에 기록할 때에 사용되는 프로그램을 해석하고, CPRM의 처리 시퀀스를 파악한다. 컨텐츠 암호화에 관한 모든 비밀(秘密)은 CPRM 기록 소프트웨어가 처리를 하기 때문에, 해석되면 모든 구조가 공개되어 버린다.
b) 해석한 CPRM 기록 소프트웨어를 이용해서, 많은 CPRM 기록 디스크의 MKB(Media Key Block)에 비닉(秘匿; 몰래 감춤)해서 기록되어 있는 미디어 키를 추출한다. 또, BCA에 기록된 미디어 ID를 판독출력하고, 미디어 ID와 MKB로부터 취득한 미디어 키의 대응 관계를 데이터베이스화(化)한다. 이 해석은, 해석한 CPRM 기록 소프트웨어를 보유(保有)하고 있는 디바이스의 디바이스 키가 무효화(리보크)될 때까지 실행 가능하다.
c) 해석한 정규 CPRM 기록 소프트웨어를 이용해서, CPRM 기록 소프트웨어를 라이센스를 받지 않고 자작한다. 자작 소프트웨어에 의해, CPRM 기록 디스크(CPRM 준거의 데이터 기입(書入; write) 가능 디스크)의 BCA에 기록된 미디어 ID를 판독출력하고, 판독출력한 미디어 ID를, [미디어 ID-미디어 키]의 대응 관계를 데이터베이스로서 보존유지하는 관리 서버에 송신(送信)하고, 미디어 ID에 대응하는 미디어 키를 서버로부터 송신해 받는다.
d) 자작 CPRM 기록 소프트웨어를 적용하고, 또한 서버로부터 취득한 미디어 키를 이용해서, CPRM 대응 미디어에 대해서, 부정 취득한 미디어 키를 이용해서, CPRM에 따른 데이터 암호화, 기록 시퀀스에 따라서 암호화 컨텐츠를 생성하고, 미디어에 기록한다.
이 처리에 의해, 정식(正式) CPRM 시퀀스에 따른 처리, 즉 디바이스 키에 의한 MKB의 처리를 실행하는 일없이, 서버로부터 취득한 미디어 키를 이용함으로써, CPRM 대응의 DVD 등의 미디어에 대해서, 암호화 컨텐츠를 기록하는 것이 가능하고, 암호화 기록한 컨텐츠는 정규 라이센스를 받아서 제조된 제품과의 호환성도 유지(維持) 가능하게 된다.
이 결과로서, 정규 라이센스를 받지 않는 자작 CPRM 기록 소프트웨어가 유통(流通)하는 것에 의해서, 지켜야 할 룰이 지켜지지 않는, 예를 들면 카피 제어 정보(CCI)의 부정한 고쳐씀(書換; rewrite)에 의해, 한번만의 카피 허용 컨텐츠(카피 원스: Copy Once)로 설정된 컨텐츠가 카피 프리(Copy Free)로 개찬(改竄; falsification, tampering, manipulation attack; 악용할 목적으로 자구(字句)를 고침)되어, 부정한 컨텐츠 기록 미디어와 함께 미디어에 기록되는 일이 일어날 수 있다. 또, 정규로 기록된 암호화 컨텐츠가 자작 소프트에 의해 판독출력되어 평문화(平文化)되어 복제된다고 하는 문제도 발생할 수 있다.
[발명이 해결하고자 하는 과제]
본 발명은, 상술한 문제점을 감안해서 이루어진 것이고, 저작권 보호 컨텐츠의 부정한 이용 배제를 실현하는 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램을 제공하는 것을 목적으로 하는 것이다. 구체적으로는, DVD 등의 미디어(정보 기록 매체)에 대응해서 기록되어 있는 미디어 ID의 외부 유출(流出)을 방지한 구성을 제공하는 것이며, 예를 들면 부정한 CPRM 소프트웨어 프로그램에 의한 미디어 ID의 부정 취득을 방지한 구성을 가지는 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램을 제공하는 것을 목적으로 한다.
[과제를 해결하기 위한 수단]
본 발명의 제1 측면은,
정보 처리 장치이며,
정보 기록 매체에 대한 기입 데이터, 또는 정보 기록 매체로부터의 판독 데이터의 입출력을 실행하는 기록 매체 인터페이스와,
외부 기기와의 전송 데이터의 입출력을 실행하는 데이터 전송용 인터페이스와,
정보 기록 매체의 정당성(正當性)을 확인하기 위한 검증(檢證) 데이터를 격납한 기억부와,
상기 정보 기록 매체의 미디어 식별자(識別子)의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독출력하고, 그 코드와 상기 검증 데이터와의 대조확인(照合; collate, match, check) 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하고, 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 처리를 실행하는 데이터 처리부
를 가지는 것을 특징으로 하는 정보 처리 장치에 있다.
또, 본 발명의 정보 처리 장치의 1실시 양태(實施態樣; embodiment)에 있어서, 상기 데이터 처리부는, 상기 데이터 전송용 인터페이스를 거친 데이터 입출력을 실행하는 외부 기기와의 인증(認證) 처리를 실행하고, 그 인증 처리의 성립을 조건으로 해서 상기 미디어 식별자의 상기 외부 기기에의 출력 처리를 실행하는 구성인 것을 특징으로 한다.
또, 본 발명의 정보 처리 장치의 1실시 양태에 있어서, 상기 데이터 처리부는, 상기 인증 처리에서 생성한 세션 키를 적용해서, 상기 미디어 식별자의 암호화 처리를 실행하고, 세션 키에 의거하는 암호화 데이터로서 상기 미디어 식별자를 외부 기기에 출력하는 구성인 것을 특징으로 한다.
또, 본 발명의 정보 처리 장치의 1실시 양태에 있어서, 상기 기억부는, 라이센스에 의거해서 정당하게 제조된 정보 기록 매체의 식별자에 대응해서 설정되는 코드 정보를 격납하고, 상기 데이터 처리부는, 상기 정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독출력하고, 그 코드와 상기 검증 데이터로서 격납된 코드와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하고, 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 처리를 실행하는 것을 특징으로 한다.
또, 본 발명의 정보 처리 장치의 1실시 양태에 있어서, 상기 데이터 처리부는, 정보 기록 매체의 BCA(버스트·커팅·에리어)에 기록된 미디어 식별자의 대응 정보로서의 코드를 판독출력하고, 그 코드와 상기 검증 데이터와의 대조확인 처리를 실행하는 구성인 것을 특징으로 한다.
또, 본 발명의 정보 처리 장치의 1실시 양태에 있어서, 상기 데이터 처리부는, 상기 데이터 전송용 인터페이스를 거쳐서, 외부 기기로부터 상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 입력하고, 그 입력 데이터의 정보 기록 매체에 대한 기입 처리를 실행하는 구성인 것을 특징으로 한다.
또, 본 발명의 정보 처리 장치의 1실시 양태에 있어서, 상기 데이터 처리부는, 상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 상기 정보 기록 매체로부터 판독출력하고, 그 판독 데이터를 상기 데이터 전송용 인터페이스를 거쳐서 외부 기기에 출력하는 처리를 실행하는 구성인 것을 특징으로 한다.
또, 본 발명의 제2 측면은,
정보 처리 방법이며,
정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하는 코드 판독 스텝과,
상기 코드와, 기억부에 격납된 검증 데이터와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 정당성 확인 스텝과,
상기 정당성 확인 스텝에서, 정보 기록 매체의 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 미디어 식별자 출력 스텝
을 가지는 것을 특징으로 하는 정보 처리 방법에 있다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 정보 처리 방법은, 상기 데이터 전송용 인터페이스를 거친 데이터 입출력을 실행하는 외부 기기와의 인증 처리를 실행하는 인증 처리 실행 스텝을 더 가지고, 그 인증 처리의 성립을 조건으로 해서, 상기 미디어 식별자의 상기 외부 기기에의 출력 처리를 실행하는 것을 특징으로 한다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 미디어 식별자 출력 스텝은, 상기 인증 처리에서 생성한 세션 키를 적용해서, 상기 미디어 식별자의 암호화 처리를 실행하고, 세션 키에 의거하는 암호화 데이터로서 상기 미디어 식별자를 외부 기기에 출력하는 스텝인 것을 특징으로 한다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 정당성 확인 스텝은, 상기 정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하고, 그 코드와, 기억부에 격납된 라이센스에 의거해서 정당하게 제조된 정보 기록 매체의 식별자에 대응해서 설정되는 코드와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 스텝인 것을 특징으로 한다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 코드 판독 스텝은, 정보 기록 매체의 BCA(버스트·커팅·에리어)에 기록된 미디어 식별자의 대응 정보로서의 코드를 판독하는 스텝인 것을 특징으로 한다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 정보 처리 방법은, 상기 데이터 전송용 인터페이스를 거쳐서, 외부 기기로부터 상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 입력하는 스텝과, 그 입력 데이터의 정보 기록 매체에 대한 기입 처리를 실행하는 스텝을 더 가지는 것을 특징으로 한다.
또, 본 발명의 정보 처리 방법의 1실시 양태에 있어서, 상기 정보 처리 방법은, 상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 상기 정보 기록 매체로부터 판독하는 스텝과, 그 판독 데이터를 상기 데이터 전송용 인터페이스를 거쳐서 외부 기기에 출력하는 처리를 실행하는 스텝을 더 가지는 것을 특징으로 한다.
또, 본 발명의 제3 측면은,
정보 기록 매체에 대한 액세스 제어를 실행하는 컴퓨터·프로그램이며,
정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하는 코드 판독 스텝과,
상기 코드와, 기억부에 격납된 검증 데이터와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 정당성 확인 스텝과,
상기 정당성 확인 스텝에서, 정보 기록 매체의 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 미디어 식별자 출력 스텝
을 가지는 것을 특징으로 하는 컴퓨터·프로그램에 있다.
또한, 본 발명의 컴퓨터·프로그램은, 예를 들면 여러가지 프로그램·코드를 실행 가능한 컴퓨터·시스템에 대해서, 컴퓨터 판독가능한(可讀; readable) 형식으로 제공하는 기록 매체, 통신 매체, 예를 들면 CD나 FD, MO 등의 기록 매체, 혹은 네트워크 등의 통신 매체에 의해 제공가능한 컴퓨터·프로그램이다. 이와 같은 프로그램을 컴퓨터 판독가능한 형식으로 제공하는 것에 의해, 컴퓨터·시스템 상(上)에서 프로그램에 따른 처리가 실현된다.
본 발명의 또 다른(他) 목적, 특징이나 이점은, 후술하는 본 발명의 실시예나 첨부하는 도면에 의거하는 보다 상세한 설명에 의해서 명확하게 될 것이다. 또한, 본 명세서에서 시스템이라 함은, 복수의 장치의 논리적 집합(集合) 구성이며, 각 구성의 장치가 동일 하우징(筐體; housing, enclosure, case) 내에 있는 것에는 한정되지 않는다.
[발명의 효과]
본 발명의 구성에 따르면, 드라이브와 호스트 등 2개의 다른(異) 디바이스 사이의 데이터 전송을 수반하는 컨텐츠의 재생 혹은 기록 처리에서, 컨텐츠의 기록, 재생을 행하는 경우에 실행하는 컨텐츠의 암호화 또는 복호 처리에 적용하는 미디어 ID(디스크 ID)의 외부 누설을 방지할 수가 있다.
본 발명의 구성에 따르면, 드라이브가 미디어 ID(디스크 ID)를 미디어로부터 판독하고, 이것이 올바른(正; exact, correct) 정당한 미디어에 설정된 헤더 코드(Header Code)에 대응해서 기록되어 있는지를 드라이브 측에서 검증하고, 또 검증에 의해서, 정당한 미디어인 것이 확인된 경우에, 드라이브 측에서 미디어 ID를 암호화해서 호스트에 출력하는 구성으로 했으므로, 미디어 ID의 외부 누설의 가능성을 저감시키는 것이 가능해지고, 또 정당한 미디어인 것의 확인을 조건으로 해서, 컨텐츠의 재생 또는 기록 처리를 허용하는 구성으로 했으므로, 부정한 미디어를 이용한 컨텐츠의 재생 또는 기록 처리의 방지가 실현된다.
도 1은 CPRM에 따른 컨텐츠 기록 재생 처리 시퀀스에 대해서 설명하는 도면,
도 2는 CPRM에 따른 컨텐츠 기록 재생 처리 시퀀스에 대해서 설명하는 도면,
도 3은 CPRM에 따른 컨텐츠 기록 재생 처리에서의 MAC 검증에 의거하는 처리 제어 시퀀스를 설명하는 플로우도,
도 4는 BCA 영역의 데이터 구성에 대해서 설명하는 도면,
도 5는 BCA 영역에 기록되는 미디어 ID(디스크 ID)의 데이터 포맷에 대해서 설명하는 도면,
도 6은 본 발명에 따른 호스트-드라이브 사이의 컨텐츠 전송을 수반하는 컨텐츠 기록 재생 처리에 대해서 설명하는 도면,
도 7은 호스트-드라이브 사이의 상호 인증 및 열쇠 교환 처리 시퀀스에 대해서 설명하는 도면,
도 8은 공개 열쇠 증명서의 데이터 구성에 대해서 설명하는 도면,
도 9는 BCA 영역에 기록되는 미디어 ID(디스크 ID)의 전송 및 검증 처리 시퀀스에 대해서 설명하는 플로우도,
도 10은 BCA 영역에 기록되는 미디어 ID(디스크 ID) 이외의 출력 가능 데이터의 전송 및 검증 처리 시퀀스에 대해서 설명하는 플로우도,
도 11은 본 발명에 따른 호스트-드라이브 사이의 컨텐츠 전송을 수반하는 컨텐츠 기록 재생 처리에서의 드라이브 측의 처리 시퀀스를 설명하는 플로우도,
도 12는 본 발명에 따른 호스트-드라이브 사이의 컨텐츠 전송을 수반하는 컨텐츠 기록 재생 처리에서의 드라이브 측의 처리 시퀀스를 설명하는 플로우도,
도 13은 본 발명에 따른 호스트-드라이브 사이의 컨텐츠 전송을 수반하는 컨 텐츠 기록 재생 처리에서의 호스트측의 처리 시퀀스를 설명하는 플로우도,
도 14는 본 발명에 따른 호스트-드라이브 사이의 컨텐츠 전송을 수반하는 컨텐츠 기록 재생 처리에서의 호스트측의 처리 시퀀스를 설명하는 플로우도,
도 15는 본 발명의 호스트로서의 정보 처리 장치의 구성예를 도시하는 도면,
도 16은 본 발명의 드라이브로서의 정보 처리 장치의 구성예를 도시하는 도면.
[발명을 실시하기 위한 최량의 형태]
이하, 도면을 참조하면서 본 발명의 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램의 상세(詳細)에 대해서 설명한다. 또한, 설명은 이하의 기재 항목에 따라서 행한다.
1. CPRM 규정에 따른 처리의 개요
2. 본 발명에 따른 드라이브-호스트 사이의 컨텐츠 전송을 수반하는 처리 구성
3. 정보 처리 장치의 구성
[1. CPRM 규정에 따른 처리의 개요]
우선, 본 발명의 이해의 용이(容易)를 위해서, 도 1을 참조하여, 예를 들면 DVD 등의 미디어(정보 기록 매체)에 대응하는 저작권 보호 기술로서 알려진 CPRM(Content Protection for Recordable Media)의 아키텍처에 대해서 설명한다.
미디어(정보 기록 매체)로부터의 컨텐츠 재생, 컨텐츠 기록 처리를 행하는 양태로서는, 정보 기록 매체(디스크)를 구동하는 드라이브와, 재생/기록 처리 기능을 일체화한 기록 재생 장치를 이용하는 제1 처리 양태와, 드라이브와, 재생 처리 혹은 기록 처리 프로그램을 실행하는 호스트로서의 정보 처리 장치, 예를 들면 PC 등을 버스 등에 의해서 접속하고, 드라이브와 호스트 사이에서의 데이터 전송을 수반하는 제2 처리 양태가 있다. 도 1을 참조해서, 제1 처리 양태에서의 데이터 기록 재생 처리, 도 2를 참조해서 제2 처리 양태에서의 데이터 기록 재생 처리에 대해서 설명한다.
도 1에서, 중앙이 예를 들면 CPRM 규격에 준거한 DVD-R/RW, DVD-RAM 등의 기록형(記錄型) 미디어(정보 기록 매체)(10)이며, 왼쪽(左) 사이드에, 예를 들면 CPRM 규격에 준거한 레코더(20), 오른쪽(右) 사이드에, 예를 들면 CPRM 규격에 준거한 플레이어(30)를 나타낸다. 레코더(20) 및 플레이어(30)는, 기기 또는 어플리케이션 소프트웨어이다.
미기록(未記錄) 디스크 상태에서, 미디어(10)의 최내주측(最內周側)의 리드인 에리어(read-in area)의 버스트·커팅·에리어(BCA:Burst Cutting Area) 또는 NBCA(Narrow Burst Cutting Area)라고 칭(稱)해지는 에리어에는, 미디어 ID(Media ID)(11)가 기록되고, 리드인 에리어의 엠보스 또는 프리 기록 데이터 존에는, 미디어 키 블록(Media Key Blocks)(이하, MKB로 적당히 간단히(略)한다)(12)이 미리 기 록되어 있다. 미디어 ID(11)는, 개개의 미디어 단위 예를 들면 디스크 1매(枚)마다 다른 번호이며, 미디어의 제조자 코드와 시리얼(serial; 一連) 번호로 구성된다. 미디어 ID(11)는, 미디어 키를 개개의 미디어에서 다른 미디어 유니크 키(Media unique key)로 변환할 때에 필요하게 된다. 미디어 키 블록 MKB는, 미디어 키의 도출과, 기기의 리보케이션(revocation)(무효화(無效化))를 실현하기 위한 암호 열쇠 블록 데이터이다. 미디어 ID는, 각 미디어(기록 매체) 고유의 정보이다.
미디어(10)에서, 데이터의 고쳐씀(書換; rewrite) 또는 추기(追記) 가능한 데이터 영역에는, 컨텐츠 키로 암호화된 암호화 컨텐츠(Encrypted Content)(13)가 기록된다. 암호화 방식으로서는, 예를 들면 C2(Cryptomeria Cipher)가 사용된다.
미디어(10)에는, 암호화 타이틀 키(Encrypted Title Key)(14) 및 CCI(Copy Control Information)(15)가 기록된다. 암호화 타이틀 키(14)는, 암호화된 타이틀 키 정보이며, 타이틀 키 정보는, 타이틀마다 부가(付加)되는 열쇠 정보이다. CCI는, 카피 노 모어(copy no more), 카피 원스(copy once), 카피 프리(copy free) 등의 카피 제어 정보이다.
레코더(20)는, 디바이스 키(21), 프로세스 MKB(22), C2_G(23), 난수(亂數) 발생기(24), C2_E(25), C2_G(26) 및 C2_ECBC(27)의 구성 요소를 가진다. 플레이어(30)는, 디바이스 키(31), 프로세스 MKB(32), C2_G(33), C2_D(35), C2_G(36) 및 C2_DCBC(37)의 구성 요소를 가진다.
디바이스 키(21, 31)는, 개개의 장치 메이커, 또는 어플리케이션 소프트웨어 벤더마다 다른 비밀 열쇠이며, 열쇠 관리 센터에서 발행된다. 디바이스 키는, 라이 센스 관리자에 의해서 정당한 전자(電子) 기기 또는 어플리케이션 소프트 웨어에만 주어지는(부여되는) 해당 전자 기기 또는 어플리케이션 소프트웨어 고유의 정보이다. 미디어(10)로부터 재생된 MKB(12)와 디바이스 키(21)가 프로세스 MKB(22)에서 연산되는 것에 의해서, 리보케이션되었는지 여부의 판별을 할 수 있다. 레코더(20)에서의 것과 마찬가지로, 플레이어(30)에서도, MKB(12)와 디바이스 키(31)가 프로세스 MKB(32)에서 연산되고, 리보케이션되었는지 여부의 판별이 이루어진다.
또, 프로세스 MKB(22, 32)의 각각에서, MKB(12)와 디바이스 키(21, 31)로부터 미디어 키가 산출된다. MKB(12)는, 유효한 디바이스 키, 즉 무효화(리보크)되어 있지 않은 경우에, 그 유효한 디바이스 키로 복호함으로써, 미디어 키를 취득할 수가 있다.
따라서, 레코더(20)의 디바이스 키(21)가 무효화(리보크)되어 있는 경우에는, 프로세스 MKB(22)에서, MKB(12)와 디바이스 키(21)로부터 미디어 키를 산출할 수 없다. 마찬가지로, 플레이어(30)의 디바이스 키(31)가 무효화(리보크)되어 있는 경우에는, 프로세스 MKB(32)에서, MKB(12)와 디바이스 키(31)로부터 미디어 키를 산출할 수 없다. 레코더(20), 플레이어(30)는, 유효한 디바이스 키를 가지는 경우에만 MKB(12)로부터 미디어 키를 취득할 수가 있다.
C2_G(23, 33)는 각각, 미디어 키와 미디어 ID를 연산하고, 미디어 유니크 키를 도출(導出)하는 처리이다.
난수 발생기(RNG:Random Number Generator)(24)는, 타이틀 키의 생성에 이용된다. 난수 발생기(24)로부터의 타이틀 키가 C2_E(25)에 입력되고, 타이틀 키가 미디어 유니크 키로 암호화된다. 암호화 타이틀 키(14)가 미디어(10)에 기록된다.
플레이어(30)에서는, 미디어(10)로부터 재생된 암호화 타이틀 키(14)로 미디어 유니크 키가 C2_D(35)에 공급되고, 암호화 타이틀 키가 미디어 유니크 키로 복호되며, 타이틀 키가 얻어진다.
레코더(20)에서는, CCI와 타이틀 키가 C2_G(26)에 공급되고, 컨텐츠 키가 도출된다. 컨텐츠 키가 C2_ECBC(27)에 공급되고, 컨텐츠 키를 열쇠로 해서 컨텐츠가 암호화된다. 암호화 컨텐츠(13)가 미디어(10)에 기록된다.
플레이어(30)에서는, CCI와 타이틀 키가 C2_G(36)에 공급되고, 컨텐츠 키가 도출된다. 컨텐츠 키가 C2_ECBC(37)에 공급되고, 미디어(10)로부터 재생된 암호화 컨텐츠(13)가 컨텐츠 키를 열쇠로 해서 복호된다.
도 1의 구성에서, 레코더(20)에 의한 컨텐츠 기록 수순(手順; procedure, order)에 대해서 설명한다. 레코더(20)는, 미디어(10)로부터 MKB(12)를 판독출력하고, 프로세스 MKB(22)에 의해서 디바이스 키(21)와 MKB(12)를 연산하고, 미디어 키를 계산한다. 미디어 키의 취득에 실패한 경우(연산 결과가 미리 정해진 값을 나타낸다)에는, 디바이스 키(21)(레코더(20)의 기기 또는 어플리케이션)가 MKB에 의해서 리보크되었다고 판정되고, 레코더(20)는, 이후의 처리를 중단(中斷)하고, 미디어(10)에의 기록을 금지한다. 미디어 키가 취득된 경우(미리 정해진 값 이외)에는, 처리를 계속(繼續)한다.
다음에, 레코더(20)는, 미디어(10)로부터 미디어 ID(11)를 판독하고(읽고), 미디어 키와 함께 미디어 ID를 C2_G(23)에 입력하며 미디어마다 다른 미디어 유니 크 키가 연산된다. 난수 발생기(24)에서 발생시킨 타이틀 키가 C2_E(25)로 암호화되고, 암호화 타이틀 키(14)로서 미디어(10)에 기록된다. 또, 타이틀 키와 컨텐츠의 CCI 정보가 C2_G(26)로 연산되고, 컨텐츠 키가 도출된다. 컨텐츠 키에서 컨텐츠를 C2_ECBC(27)로 암호화하고, 미디어(10) 상에 암호화 컨텐츠(13)로서 CCI(15)와 함께 기록한다.
다음에, 플레이어(30)에 의한 재생 수순에 대해서 설명한다. 최초에 MKB(12)를 미디어(10)로부터 판독출력하고, 디바이스 키(31)와 MKB(12)를 연산하고, 리보케이션의 확인이 이루어진다. 디바이스 키(31), 즉 플레이어(30)의 기기 또는 어플리케이션이 리보크되지 않는 경우에는, 미디어 ID를 사용해서 미디어 유니크 키가 연산되고, 판독출력된 암호화 타이틀 키(14)와 미디어 유니크 키로부터 타이틀 키가 연산된다. 타이틀 키와 CCI(15)가 C2_G(36)에 입력되고, 컨텐츠 키가 도출된다. 컨텐츠 키가 C2_DCBC(37)에 입력되고, 컨텐츠 키를 열쇠로 해서, 미디어(10)로부터 재생된 암호화 컨텐츠(13)에 대해서 C2_DCBC(37)의 연산이 행해진다. 그 결과, 암호화 컨텐츠(13)가 복호된다.
이와 같이, 컨텐츠의 복호에 필요한 컨텐츠 키를 얻기 위해서는, 미디어의 1매마다 다른 미디어 ID가 필요하게 되므로, 비록 미디어 상의 암호화 컨텐츠가 충실(忠實)하게 다른 미디어에 카피되더라도, 다른 미디어의 미디어 ID가 오리지날 미디어 ID와 다르기 때문에, 카피된 컨텐츠를 복호할 수 없고, 컨텐츠의 저작권을 보호할 수가 있다.
상술한 도 1의 구성은, 기록 재생 기기로서 구성된 경우의 미디어(정보 기록 매체)로부터의 컨텐츠 재생, 컨텐츠 기록 처리 양태이다. 다음에, 드라이브와, 재생 처리 혹은 기록 처리 프로그램을 실행하는 호스트로서의 정보 처리 장치, 예를 들면 PC 등을 버스 등에 의해서 접속하고, 드라이브와 호스트 사이에서의 데이터 전송을 수반하는 제2 처리 양태에서의 데이터 기록 재생 처리에 대해서 설명한다.
도 2에서, 데이터 처리 장치로서의 호스트(50)는, 예를 들면 PC를 나타낸다. 호스트(50)는, 미디어(10)에 기록 가능하고, 미디어(10)로부터 재생 가능한 컨텐츠를 다룰(취급할) 수 있으며, 또한 드라이브(40)와 접속되어 데이터 교환(交換)이 가능한 장치 또는 어플리케이션 소프트 웨어이다. 예를 들면, PC에 대해서 어플리케이션 소프트웨어가 인스톨되는 것에 의해서 호스트(50)가 구성된다.
드라이브(40)와 호스트(50) 사이는, 인터페이스(60)로 접속되어 있다. 인터페이스(60)는, 예를 들면 ATAPI(AT Attachment Packet Interface), SCSI(Small Computer System Interface), USB(Universal Serial Bus), IEEE(Institute of Electrical and Electronics Engineers) 1394 등이다.
미디어(10)에는, 미디어 ID(11), 미디어 키 블록(12) 및 ACC(Authentication Control Code)가 미리 기록되어 있다. ACC는, 드라이브(40)와 호스트(50) 사이의 인증이 미디어(10)에 따라서 다르도록 하기 위해서 미리 미디어(10)에 기록된 데이터이다.
드라이브(40)는, ACC(16)를 미디어(10)로부터 판독출력한다. 미디어(10)로부터 판독출력된 ACC(16)가 드라이브(40)의 AKE(Authentication and Key Exchange)(41)에 입력됨과 동시에, 호스트(50)에 전송된다. 호스트(50)는, 수취(受 取)한 ACC를 AKE(51)에 입력한다. AKE(41 및 51)는, 난수 데이터를 교환하고, 이 교환한 난수와 ACC의 값으로부터 인증 동작시마다 다른 값으로 되는 공통의 세션 키(버스 키(Bus key)로 칭한다)를 생성한다.
버스 키가 MAC(Message Authentication Code) 연산 블록(42 및 52)에 각각 공급된다. MAC 연산 블록(42 및 52)은, AKE(41 및 51)에서 각각 얻어진 버스 키를 파라미터로 해서, 미디어 ID 및 미디어 키 블록(12)의 MAC를 계산하는 프로세스이다. MKB와 미디어 ID의 완전성(完全性)(integrity)을 호스트(50)가 확인하기 위해서 이용된다.
MAC(42 및 52)에 의해서 각각 계산된 MAC가 호스트(50)의 비교부(Compare)(53)에서 비교되고, 양자의 값이 일치하는지 여부가 판정된다. 이들 MAC의 값이 일치하면, MKB와 미디어 ID의 완전성이 확인된 것으로 된다. 비교 출력으로 스위치(SW1)가 제어된다.
도 3의 플로차트를 참조해서 MAC 검증에 의거하는 스위치 제어 처리에 대해서 설명한다. 스텝 S11은, 호스트(50)의 비교부(53)의 처리이며, 드라이브(42)의 MAC 연산 블록(42)에서 버스 키를 파라미터로 해서 구해진 MAC 계산값과, 호스트(50)의 MAC 연산 블록(53)에서 버스 키를 파라미터로 해서 구해진 MAC 계산값을 비교하는 스텝이다. 양자가 일치하면, MKB와 미디어 ID의 완전성이 확인되었다고 판정하고, 스텝 S12로 진행하고, 스위치(SW1)가 ON으로 되며, 양자가 일치하지 않는 경우에는, MKB와 미디어 ID의 완전성이 확인되지 않는다고 판정하고, 스텝 S13으로 진행하고, 스위치(SW1)가 OFF로 되며, 처리가 정지(停止)한다.
스위치(SW1)는, 드라이브(40)의 미디어(10)의 기록 또는 재생 경로(經路)와, 호스트(50)의 암호화/(또는) 복호 모듈(Encryption Or Decryption Module)(54)과의 사이의 신호로(信號路)를 ON/OFF 하는 것으로서 나타내어져 있다. 또한, 스위치(SW1)는, 신호로의 ON/OFF를 행하는 것으로서 나타내어져 있지만, 보다 실제로는, ON인 경우에 호스트(50)의 처리가 계속되고, OFF인 경우에 호스트(50)의 처리가 정지하는 것을 나타내고 있다. 암호화/복호 모듈(54)은, 미디어 유니크 키와 암호화 타이틀 키와 CCI로부터 컨텐츠 키를 산출하고, 컨텐츠 키를 열쇠로 해서 컨텐츠를 암호화 컨텐츠(13)에 암호화하고, 또는 컨텐츠 키를 열쇠로 해서 암호화 컨텐츠(13)를 복호 하는 연산 블록이다.
미디어 유니크 키 연산 블록(Calc. Media Unique Key)(55)은, MKB(12)와 미디어 ID와 디바이스 키(Device Keys)(56)로부터 미디어 유니크 키를 연산하는 연산 블록이다. 즉, 도 1에 도시하는 레코더 또는 플레이어와 마찬가지로, 디바이스 키와 MKB(12)로부터 미디어 키가 연산되고, 또 미디어 키와 미디어 ID(11)로부터 미디어 유니크 키가 연산된다. 미디어 키가 소정의 값으로 된 경우에는, 그 전자 기기 또는 어플리케이션 소프트웨어가 정당한 것은 아니라고 판단되고, 리보크된다. 따라서, 미디어 유니크 키 연산 블록(55)은, 리보케이션을 행하는 리보크 처리부로서의 기능도 가진다.
기록시에, 비교부(53)에 의해서 완전성이 확인된 경우에는, 스위치(SW1)가 ON되고, 암호화/복호 모듈(54)로부터 스위치(SW1)를 통해서 드라이브(40)에 대해서, 암호화 컨텐츠(13), 암호화 타이틀 키(14) 및 CCI(15)가 공급되고, 미디어(10) 에 대해서 각각 기록된다. 재생시에, 비교부(53)에 의해서 완전성이 확인된 경우에는, 스위치(SW1)가 ON되고, 미디어(10)로부터 각각 재생된 암호화 컨텐츠(13), 암호화 타이틀 키(14) 및 CCI(15)가 스위치(SW1)를 통해서 호스트(50)의 암호화/복호 모듈(54)에 대해서 공급되고, 암호화 컨텐츠가 복호된다.
상술한 처리에서, 미디어(10)에 기록된 미디어 ID(11)는, 드라이브(40)를 거쳐서, 평문인 채 호스트(50)에 제공된다. 이와 같은 구성에서는, 앞서(先) 설명한 바와 같이, 미디어 ID를 취득한 호스트는, 미디어 ID와 미디어 키와의 대응 관계를 추정(推定)하는 것이 가능해진다.
미디어 ID는, 미디어 1매마다 다른 식별 데이터이며, 통상의 프로세스에서의 기입을 할 수 없는 미디어의 최내주측의 리드인 에리어의 BCA(Burst Cutting Area) 또는 NBCA(Narrow Burst Cutting Area)로 칭해지는 에리어에 기록되어 있다.
미디어 키는 MKB로부터 취득 가능한 키이지만, MKB는, 복수의 미디어에 대해서 공통인 데이터로서 설정된다. 예를 들면, 어떤 디스크 메이커가 작성하는 디스크(미디어)에는, 어떤 제조 로트 단위나, 어떤 일정 기간은 같은 MKB가 격납되고, 같은(同) 미디어 키를 취득 가능한 MKB가 적용된다.
호스트가 리보크되어 있지 않은 유효한 디바이스인 동안에는, 여러가지 미디어로부터 복수의 미디어 ID를 취득하는 것이 가능해지며, 또 정규의 CPRM 기록 소프트웨어, 즉 CPRM에 준거하는 암호화 컨텐츠를 미디어에 기록할 때에 사용되는 프로그램을 해석하고, CPRM의 처리 시퀀스가 해석되면, 해석한 CPRM 기록 소프트웨어를 이용해서, 많은 CPRM 기록 디스크의 MKB(Media Key Block)에 비닉해서 기록되어 있는 미디어 키가 추출될 가능성이 있다.
이 결과, 미디어 ID와 미디어 키의 대응 관계 데이터로서, 예를 들면 하기(下記)와 같은 데이터,
미디어 ID: aaaa∼bbbb=미디어 키 X
미디어 ID: cccc∼dddd=미디어 키 Y
미디어 ID: eeee∼ffff=미디어 키 Z
이와 같은 미디어 ID의 범위와 미디어 키와의 대응 관계가 추정되어 버릴 가능성이 있다.
또, 해석한 정규의 CPRM 기록 소프트웨어를 이용해서 CPRM 기록 소프트웨어를, 라이센스를 받지 않고 부정하게 자작하고, 이 부정 작성 소프트웨어에 의해, CPRM 기록 디스크(CPRM 준거의 데이터 기입 가능 디스크)의 BCA에 기록된 미디어 ID를 판독출력하고, 판독출력한 미디어 ID를, [미디어 ID-미디어 키]의 대응 관계를 데이터베이스로서 보존유지하는 관리 서버에 송신하고, 미디어 ID에 대응하는 미디어 키를 서버로부터 송신해 받으며, 이 취득 미디어 키를 이용해서, MKB가 기록된 CPRM 대응 미디어에 대해서, 부정 취득한 미디어 키를 이용해서, CPRM에 따른 데이터 암호화, 기록 시퀀스에 따라서 암호화 컨텐츠를 생성하고, 미디어에 기록하는 것이 가능해진다. 이 처리에 의해, 정식 CPRM 시퀀스에 따른 처리, 즉 디바이스 키에 의한 MKB의 처리를 실행하는 일없이, 서버로부터 취득한 미디어 키를 이용함으로써, CPRM 대응의 DVD 등의 미디어에 대해서, 암호화 컨텐츠를 기록하는 것이 가능해져 버리고, 정규 라이센스를 가지지 않는 디바이스에 의한 CPRM 준거 미디어 가 제조되어 버린다.
[2. 본 발명에 따른 드라이브-호스트 사이의 컨텐츠 전송을 수반하는 처리 구성]
이하에 기술하는 본 발명은, 상기의 문제점을 해결하는 구성을 가진다. 우선, 본 발명의 구성의 개요에 대해서 설명한다.
본 발명의 구성에서는, 미디어의 최내주측의 리드인 에리어의 버스트·커팅·에리어(BCA: Burst Cutting Area)에 기록된 미디어 ID를 평문인 채 드라이브로부터 호스트에 전송하지 않고, 인증된 호스트 에 대해서만, 암호화해서 출력하는 구성으로 한다. 이 구성에 의해, 부정한 호스트에 의한 미디어 ID의 취득을 방지하고, 미디어 ID와 미디어 키의 대응 관계를 추정 불가능(不可能)하게 한다.
구체적으로는, BCA에 기록된 미디어 ID를 드라이브로부터 호스트에 전송하는 경우에는, 호스트와 드라이브 사이의 상호 인증 및 열쇠 교환(AKE: Authentication and Key-Exchange)이 완료하고, 완료후에 생성되는 세션 키(Session Key(Ks))로 미디어 ID를 암호화해서 시큐어(secure)하게 드라이브로부터 호스트에 전송한다. 이것에 의해, 드라이브-호스트 사이의 접속 인터페이스인 예를 들면 ATAPI 등의 I/F 버스로부터의 미디어 ID의 도난(盜難)을 방지한다. 이 구성에 의해, 미디어 ID와 미디어 키의 대응 관계를 추정 불가능하게 하는 것이다.
또한, BCA에는 미디어 ID 이외의 데이터도 기록되는 일이 있다. 예를 들면, BD-ROM(판독출력 전용), BD-RE(고쳐쓰기형), BD-R(라이트 원스)라고 한, 미디어의 기록 타입 등의 정보가 기록된다. 미디어 ID 등의 비밀 정보 이외의 데이터는, 호 스트와 드라이브 사이의 상호 인증 및 열쇠 교환(AKE)의 완료에 의존하지 않고 드라이브로부터 호스트에 전송할 수가 있다. 다만, 미디어 ID의 헤더 코드 이외의 BCA 데이터(BCA Data) 영역은, 비공개이며, 이들 데이터 형식(形式)은 카피 프로텍션(copy protection) 기술의 라이센스를 받은 예를 들면 디스크 제조 엔티티(entity) 등에서만 밖에 알 수 없다. BCA의 데이터 형식을 물리 규격만의 라이센스를 받는 모두 사용자에게 개방해 버리면, 카피 프로텍션 기술의 라이센스를 받지 않는 사람이, 알지 못하고(모르는 사이에) 우연히, 미디어 ID와 같은 헤더 정보를 사용해 버리고, 정규 카피 프로텍션 기술을 적용한 미디어 ID와 운용상(運用上)의 간섭(干涉)이 일어나는 것이 상정(想定)된다.
따라서, 물리 규격만의 라이센스를 수령(受領)하는 경우, 미디어 ID 대응의 헤더 코드와는 다른 헤더 코드 정보를 강제적으로 이용해 받고, 물리 규격 라이센스의 허용 범위에서의 자유로운 운용이 카피 프로텍션 규격 라이센스로 규정하는 미디어 ID와 사용상(使用上)의 충돌을 받지 않도록 해 두는 것이 필요하게 된다. 다시 말해, 물리 규격으로 규정하는 BCA 데이터는, 카피 프로텍션 규격으로 정하는 미디어 ID의 헤더와는 다른 헤더 하(下; under)에서 운용하는 것으로 한다.
도 4, 도 5를 참조해서, 미디어(디스크)의 BCA에 기록되는 미디어 ID의 포맷에 대해서 설명한다.
도 4는, BCA의 데이터 기록 구성을 도시하는 도면이다. 도 4의 (a)에 도시하는 바와 같이, BCA는, 16바이트(byte) 데이터를 기록 가능한 슬롯(Slot)을 4슬롯 가진다. 합계 64바이트 데이터가 기록 가능하다. 전술한 바와 같이, 일반(一般)의 데이터 기록 처리와는 다른 특수한 데이터 기록 방식에 의하는 것이며, 라이센스를 받은 디스크 제조 엔티티만이 기록 처리를 실행할 수가 있다.
도 4의 (b)에 도시하는 바와 같이, 각 슬롯의 데이터 구성은, 헤더부 및 BCA 데이터부에 의해서 구성된다. 헤더부는, BCA 데이터부의 입력 데이터 종류를 식별하는 데이터로서 이용된다.
예를 들면, 헤더부에는 1바이트의 여러가지 코드가 격납되고, 그 일부는, 저작권 보호 기술에서 이용하는 BCA 데이터를 명시(明示)하기 위한 공개된 코드(03h 등)로서 설정되고, 헤더부에 계속되는 BCA 데이터 영역에는, 헤더 코드에 대응하는 데이터가 격납된다.
도 5에, 미디어 ID를 격납한 BCA의 데이터 기록 구성을 도시한다. 도 5의 (a)에는 도 4의 (a)와 마찬가지로, BCA 영역의 전체 구성을 도시하고 있다. 도 5의 (b)에는, 미디어 ID 격납 슬롯의 데이터 구성을 도시하고 있다. 또한, 미디어 ID는, 디스크 ID로 불리는 경우도 있다.
도 5의 (b)에 도시하는 미디어 ID(디스크 ID) 격납 슬롯의 헤더 격납부에는, 슬롯 입력 데이터가 미디어 ID(디스크 ID) 등의 저작권 보호 기술에서 이용되는 데이터인 것을 나타내는 헤더 코드=03h가 격납된다. 이 헤더 코드, 즉, BCA 슬롯 입력 데이터가 미디어 ID 등의 저작권 보호 기술에서 이용되는 데이터인 것을 나타내는 경우, 헤더 코드 이외의 BCA 데이터 영역은, 비공개이며, 라이센스를 받은 디스크 제조 엔티티 등, 특정의 라이센스 보존유지 엔티티만이 알 수 있는 BCA 데이터부로서 설정된다. 카테고리 코드(Category Code)에 의해서 Byte 2에서 Byte 15까지 의 데이터 구성이 분류(分類)된다. 카테고리 코드가 어떤 결정된 값(예를 들면, 01h 등)일 때에는 BCA 슬롯 데이터는 미디어 ID로 분류된다. BCA 슬롯 데이터가 미디어 ID인 경우의 BCA 데이터부에는, 미디어 ID의 구성 데이터로서, 카테고리 코드(Category Code), 매뉴팩처 코드(Manufacturer Code), 시리얼 넘버(Serial Number)가 격납된다. 각 데이터의 의미는, 이하와 같다.
카테고리 코드(Category Code): 저작권 보호 기술에서 이용되는 데이터의 분류 코드
매뉴팩처 코드(Manufacturer Code): 디스크 제조자마다 배포되는 식별 코드
시리어 넘버(Serial Number): 디스크 제조자가 제조하는 디스크의 시리얼 번호
본 발명의 처리에서는, 이하의 구성을 가지는 것을 특징으로 하고 있다.
(1) 헤더 데이터 03h를 가지는 BCA 데이터의 헤더 데이터 이외의 BCA 데이터 영역은 비밀(秘密)이다.
(2) 헤더 데이터=03h를 가지는 BCA 데이터는, AKE가 완료하고, 세션 키(Ks)가 생성되어 있지 않을 때에는, 드라이브는 호스트에 전송하지 않는다.
(3) 헤더 데이터 03h를 가지는 BCA 데이터는, AKE가 완료하고, 세션 키(Ks)가 생성되어 있다면, Ks로 BCA 데이터를 암호화한 다음에, 드라이브는 호스트에 전송한다.
(4) 03h 이외의 헤더 데이터를 가지는 BCA 데이터는, AKE가 완료하는지, 하지 않는지에 관계없이, 드라이브는 호스트에게 암호화를 하지 않고 그대로의 데이 터를 전송할 수가 있다. 다시 말해, 그 BCA 데이터는 비밀은 아니다.
다음에, 도 6 이하를 참조해서, 본 발명에 따른 드라이브-호스트 사이의 컨텐츠 전송을 수반하는 처리의 상세에 대해서, 설명한다. 도 6은, 드라이브와 호스트를 버스 접속하고, 컨텐츠의 전송을 드라이브와 호스트 사이에서 실행하고, 미디어로부터의 컨텐츠 재생 또는 미디어에 대해서 컨텐츠를 기록하는 처리를 설명하는 도면이다.
도 6에는, 미디어(정보 기록 매체)(100)와, 미디어(100)를 세트하고, 미디어(100)로부터의 데이터 판독출력, 미디어(100)에의 데이터 기입을 실행하는 드라이브(200)와, 드라이브(200)와 접속 버스를 거쳐서 접속되고, 어플리케이션·프로그램에 따른 컨텐츠 재생 또는 기록 처리를 실행하는 호스트(300)의 처리를 도시하고 있다. 또한, 드라이브(200)와 호스트(300)를 접속하는 버스는, 예를 들면 ATAPI(AT Attachment Packet Interface), SCSI(Small Computer System Interface), USB(Universal Serial Bus), IEEE(Institute of Electrical and Electronics Engineers) 1394 등이다.
미디어(100)에는, 이하의 정보가 격납된다.
유효한 디바이스 또는, 무효화(리보크)된 디바이스를 식별하기 위한 리보크 정보(101),
미디어 키(Km)를 격납한 암호 열쇠 블록으로서의 RKB(102),
디스크 키(Kd)를 미디어 키(Km)로 암호화한 암호화 디스크 키 (EKm(Kd))(103)
BCA 영역에 기록된 미디어 ID(IDdisc)(104),
컨텐츠의 암호화 및 복호 처리에 적용하는 암호 열쇠로서의 기록 키(Krec)의 생성에 적용하는 시드 정보(Seedrec)(105),
암호화 컨텐츠(106)
이다.
또한, 미디어(100)가 암호화 컨텐츠의 기록이 끝난(recording-completed, recorded) 미디어인 경우에는, 시드 정보(Seedrec)(105), 암호화 컨텐츠(106)는, 미디어(100)에 기록되어 있지만, 미디어(100)가, 컨텐츠의 기입이 이루어지고 있지 않은 데이터 기입 가능 미디어인 경우에는, 이들 데이터는 기입되어 있지 않은 상태이며, 호스트(300)에 의해서 생성한 암호화 컨텐츠를 미디어에 기록할 때에, 호스트에 의해서 생성하는 난수가 시드 정보(Seedrec)(105)로서 미디어(100)에 기록되고, 기록 키(Krec)를 적용해서 암호화된 암호화 컨텐츠가 미디어(100)에 기록되게 된다.
리보크 정보(101)는, 각 디바이스의 등록 또는 무효화 정보를 기록한 데이터이며, 관리 센터의 전자 서명(電子署名)이 부가되고, 개찬의 검증이 가능한 구성을 가진다.
RKB(Renewal Key Block)(102)는, 전술한 미디어 키 블록(MKB)과 마찬가지 암호 열쇠 블록 데이터이며, 브로드캐스트 엔크립션 방식의 1종류로서 알려진 나무( 木; tree) 구조의 열쇠 배신(配信; distribution, delivery) 방식에 의거해서 생성되는 암호 열쇠 블록이다. MKB와 마찬가지로, 미디어(정보 기록 매체)를 이용한 컨텐츠 재생/기록을 실행하는 정당한 라이센스를 보유하는 유저 기기로서의 정보 처리 장치에 배포된 디바이스 키를 적용한 복호 처리에 의해서 미디어 키: Km을 취득 가능하다. 암호 열쇠 블록: RKB의 구성 데이터를 변경하는 것에 의해, 미디어 키: Km을 취득 가능한 유저 기기를 선별하는 것이 가능하다. 즉, 리보크된 디바이스의 디바이스 키를 적용한 경우에는, 미디어 키: Km을 취득할 수 없도록, 수시(隨時)로 갱신된다.
관리 센터가, 컨텐츠 재생/기록을 실행하는 디바이스(유저 기기나 재생 어플리케이션)를 부정이라고 판정한 경우에는, RKB의 구성을 변경해서, 부정 기기에 의한 미디어 키: Km의 취득을 불가능하게 하는 것이 가능해진다. 또한, 부정으로 판정된 디바이스는 리보크(무효) 디바이스로서 관리 센터에 등록된다. 관리 센터는, 디바이스의 등록 정보, 리보크 정보를 보존유지하고, 적당히 갱신한다.
미디어 ID(104)는, BCA 영역에 기록된 미디어 고유의 식별 정보이다. 미디어 ID는, 전술한 바와 같이 디스크 ID로도 불리며, 라이센스를 받은 미디어(디스크) 제조 엔티티만을 기록 가능한 데이터이다.
드라이브(200)에는, 디바이스 키(Kdev)(201), 검증 데이터(202)가 격납되어 있다. 이들은 불휘발성(不揮發性) 메모리에 시큐어하게 격납되어 있으며, 외부로부터의 액세스, 외부로부터의 개찬이 허용되지 않는 데이터로서 격납된다. 디바이스 키(201)는, 전술한 RKB의 복호 처리에 적용되는 열쇠이며, 유효성이 담보(擔保)되 어 있는 경우, 즉 드라이브가 리보크되어 있지 않은 경우에만 RKB로부터 미디어 키(Km)를 취득할 수가 있다.
검증 데이터(202)는, 미디어(100)의 BCA로부터 판독출력한 미디어 ID(IDdisc)의 검증 처리를 위해서 드라이브에 격납되는 데이터이다. 검증 데이터(202)는, 앞서 도 5의 (b)를 참조해서 설명한 BCA 데이터가 미디어 ID인 경우의 헤더 코드에 상당하는 코드를 포함하는 데이터로서 구성된다. 즉, 본 예에서, BCA 데이터가 미디어 ID인 경우의 헤더 코드는 헤더 코드=03h이며, 03h가 검증 데이터(202)로서 드라이브(200)의 메모리에 격납된다.
전술한 바와 같이, BCA 데이터가 미디어 ID인 경우에는, 헤더 코드의 값 [03h] 이외의 BCA 슬롯 데이터는 공개값이 아니며, 디바이스 키(201)와 함께 예를 들면 관리 센터와의 계약에 의거한 디스크 제조 엔티티의 관리하(管理下)에서의 디스크 제조가 의무화(義務付)된다. 또, 관리 센터의 라이센스를 받은 드라이브 제조 엔티티는 각 드라이브의 메모리(불휘발성 메모리)에 헤더 코드의 값을 격납하고, 디스크로부터 판독출력하는 BCA 데이터의 적절한 전송 제어가 의무화된다.
호스트(재생/기록 처리 실행 어플리케이션)(300)는, 리보크 정보(301)를 격납하고 있다. 이것은 각 디바이스의 등록 또는 무효화 정보를 기록한 데이터이며, 관리 센터의 전자 서명이 부가되고, 개찬 검증이 가능한 구성을 가지며, 개찬 검증이 이루어져서 정당성이 확인된 것을 조건으로 해서 참조 정보로서 적용된다.
또한, 도면에는 도시하고 있지 않지만, 드라이브(200), 호스트(300)는, 각각 공개 열쇠 암호 방식에 따른 자기(自己)의 공개 열쇠, 비밀 열쇠의 페어(pair: 쌍)를 격납하고 있다. 또, 외부로부터 취득한 공개 열쇠 증명서의 서명 검증, 리보크 정보의 서명 검증 등에 적용하는 관리 센터의 공개 열쇠를 격납하고 있다.
도 6을 참조해서, 미디어(100)로부터의 컨텐츠 재생, 미디어(100)에 대한 컨텐츠 기록 처리의 처리 시퀀스에 대해서 설명한다.
우선, 스텝 S121, S131에서, 드라이브(200)와 호스트(300) 사이에서 상호 인증 및 열쇠 교환(AKE: Authentication and Key Exchange) 처리가 실행된다.
상호 인증 및 열쇠 교환(AKE: Authentication and Key Exchange) 처리의 상세 시퀀스에 대해서, 도 7을 참조해서 설명한다. 이 처리는, 예를 들면 ISO/IEC 9798-3에 규정된 공개 열쇠 알고리즘을 이용한 상호 인증, ISO/IEC 11770-3에 규정된 공개 열쇠 알고리즘을 이용한 열쇠 생성 처리 방식을 적용해서 실행 가능하다. 또한, 공개 열쇠를 이용한 상호 인증 방식으로서 실용화된 방식으로서는, 예를 들면 DTCP(Digital Transmission Content Protection) Specification Volume 1(Informational Version)에 기재되는 방법이 있다.
도 7에 도시하는 처리 시퀀스에 대해서 설명한다. 스텝 S201에서, 호스트는, 드라이브에 대해서 난수 생성 처리에 의해서 생성한 챌린지 데이터 [C_host]와, 공개 열쇠 증명서 [Cert_host]를 송신한다.
도 8을 참조해서 공개 열쇠 증명서(PKC)의 데이터 구성에 대해서 설명한다. 도 8의 (a)에는, 공개 열쇠 증명서(PKC)의 증명서 데이터의 예를 도시하고 있다. 도 8의 (b)에는, 타원(楕圓) 암호(열쇠 길이(鍵長) 160비트(Bit))를 적용한 공개 열쇠 증명서(PKC)의 데이터 구성예를 도시하고 있다.
도 8의 (a)에 도시하는 바와 같이, 공개 열쇠 증명서(PKC)의 증명서 데이터에는, 증명서 ID, 공개 열쇠, 그 밖의 정보가 포함된다. 예를 들면, 드라이브는 드라이브에 대응하는 공개 열쇠를 격납한 공개 열쇠 증명서(PKC-D)를 관리 센터로부터 수령하고, 드라이브가 예를 들면 플래시 메모리 등의 불휘발성 메모리에 격납 보존유지한다. 또, 공개 열쇠에 대응하는 비밀 열쇠(KS-D)도 제공된다. 호스트에 대해서도 공개 열쇠 증명서(PKC)와 비밀 열쇠의 페어가 제공되고, 호스트 내의 하드 디스크나 플래시 메모리 등의 불휘발성 메모리에 보존유지된다.
공개 열쇠 증명서(PKC)는, 공개가 허용된 데이터이며, 예를 들면 다른 기기의 요구에 따라서 출력된다. 다른 기기의 공개 열쇠 증명서를 수령한 기기는, 수령한 공개 열쇠 증명서에 부가된 관리 센터의 서명에 의거하는 공개 열쇠 증명서의 개찬 검증을 실행하고, 수령한 공개 열쇠 증명서의 정당성을 확인한 후, 공개 열쇠 증명서로부터 공개 열쇠를 취득한다. 또한, 관리 센터의 서명에 의거하는 공개 열쇠 증명서의 개찬 검증은, 관리 센터의 공개 열쇠를 적용해서 실행된다. 관리 센터의 공개 열쇠도 공개된 데이터이며, 예를 들면 드라이브, 호스트의 불휘발성 메모리 등에 미리 격납되어 있는 것을 이용하거나, 또는 네트워크 혹은 기록 매체를 거쳐서 수령할 수 있다.
드라이브, 호스트에는, 공개 열쇠 증명서와 아울러(함께) 비밀 열쇠가 제공된다. 즉, 드라이브, 호스트에는, 각각 공개 열쇠 증명서(PKC)와 비밀 열쇠의 페어가 제공되고, 각각의 메모리에 보존유지된다. 공개 열쇠를 격납한 공개 열쇠 증명 서는 공개가 허용된 데이터이지만, 비밀 열쇠는 외부에 누설되는 일이 없도록 각 디바이스에서 시큐어하게 보존유지된다.
도 8의 (b)에는, 타원 암호(열쇠 길이 160비트)를 적용한 공개 열쇠 증명서(PKC)의 데이터 구성예를 도시하고 있다. 증명서 타입(Certificate Type=1), 증명서 ID(Certificate ID), 공개 열쇠(Public Key)가 격납되고, 이들 입력 데이터에 대응해서 관리 센터의 비밀 열쇠를 적용해서 생성된 전자 서명(Signature)이 설정된다.
도 7로 되돌아가서, 상호 인증 시퀀스에 대한 설명을 계속한다. 스텝 S201에서, 호스트로부터 챌린지 데이터 [C_host]와, 공개 열쇠 증명서 [Cert_host]를 수취한 드라이브는, 공개 열쇠 증명서 [Cert_host]의 서명 검증 처리에 의해, 공개 열쇠 증명서 [Cert_host]의 정당성을 검증한다. 서명 검증 처리는, 드라이브가 보존유지하는 관리 센터의 공개 열쇠를 적용해서 실행된다.
공개 열쇠 증명서 [Cert_host]의 정당성이 검증되면, 드라이브는, 공개 열쇠 증명서 [Cert_host]로부터 공개 열쇠 증명서 ID를 취득해서, 미디어(100)로부터 판독한 리보크 정보(101)에 호스트의 공개 열쇠 증명서 ID가 기록되어 있지 않은지를 확인한다. 즉, 호스트의 공개 열쇠 증명서 ID가 무효화(리보크)되어 있지 않은 유효한 ID인지 여부를 확인한다.
공개 열쇠 증명서 [Cert_host]의 정당성이 확인되지 않거나, 혹은 리보크 정보(101)에 의거해서, 호스트가 무효화(리보크)되어 있는 것이 판명된 경우에는 에러 메시지의 통지(通知) 등을 실행하고, 처리를 종료(終了; end)한다. 이후의 처 리, 컨텐츠 재생 또는 기록 처리는 중지(中止)된다.
공개 열쇠 증명서 [Cert_host]의 정당성이 확인되고, 호스트가 무효화(리보크)되어 있지 않은 정당한 공개 열쇠 증명서를 가지는 호스트인 것이 확인되면, 스텝 S202에서, 드라이브는, 호스트에 대해서 난수 생성 처리에 의해서 생성한 챌린지 데이터 [C_drive]와, 드라이브 측의 공개 열쇠 증명서 [Cert_drive]를 송신한다.
호스트는, 드라이브 측의 공개 열쇠 증명서 [Cert_drive]의 서명 검증을 실행한다. 서명 검증 처리는, 호스트 측에서 보존유지하는 관리 센터의 공개 열쇠 [Kp_kic]를 적용해서 실행된다.
공개 열쇠 증명서 [Cert_drive]의 정당성이 확인되면, 공개 열쇠 증명서 [Cert_drive]로부터 공개 열쇠 증명서 ID를 취득해서, 리보크 정보(301)와의 대조확인을 실행하고, 드라이브의 공개 열쇠 증명서 ID가 무효화(리보크)되어 있지 않은 유효한 ID인지 여부를 확인한다.
공개 열쇠 증명서 [Cert_drive]의 정당성이 확인되지 않거나, 혹은 리보크 정보(301)에 의거해서, 드라이브가 무효화(리보크)되어 있는 것이 판명된 경우에는 에러 메시지의 통지 등을 실행하고, 처리를 종료한다. 이후의 컨텐츠 재생 또는 기록 처리는 중지된다.
공개 열쇠 증명서 [Cert_drive]의 정당성이 확인된 경우에는, 호스트는, 드라이브로부터 수신한 챌린지 데이터 [C_drive]에 의거하는 연산을 실행하고 파라미터 [A_host]를 산출하며, 새롭게 생성한 난수 [R_host]와 함께, 드라이브에 송신( 스텝 S203)한다.
한편, 드라이브는, 호스트로부터 수신한 챌린지 데이터 [C_host]에 의거하는 연산을 실행하고 파라미터 [A_drive]를 산출하며, 새롭게 생성한 난수 [R_drive]와 함께, 호스트에 송신(스텝 S204)한다.
이 처리에 의해, 드라이브, 호스트의 쌍방(雙方)은, 난수 [R_host], [R_drive], 파라미터 [A_host], [A_drive]를 공유(共有)하게 되며, 드라이브와 호스트 어플리케이션의 쌍방은, 이들 공유 데이터에 의거해서 공통의 세션 키(Ks)를 생성(Session key Ks is established.)(스텝 S205)한다.
도 6으로 되돌아가서, 드라이브(200)와 호스트(300) 사이의 컨텐츠 전송을 수반하는 컨텐츠 재생 또는 기록 처리 시퀀스에 대해서 설명을 계속한다.
드라이브(200)는, 호스트(300)와의 상호 인증 및 열쇠 교환(AKE)이 종료하면, 드라이브 내에 보존유지하는 디바이스 키: Kdev(201)를 적용하고, 스텝 S122에서, 미디어(100)로부터 판독출력한 암호 열쇠 블록으로서의 RKB(102)의 복호 처리를 실행하고, RKB(102)로부터 미디어 키: Km을 취득한다. 또한, RKB(102)로부터 미디어 키: Km을 취득할 수 있는 것은, 컨텐츠의 이용이 인정된 기기 뿐이며, 전술한 바와 같이 부정 기기로서 리보크된 기기가 가지는 디바이스 키로는 RKB로 암호화되어 격납된 미디어 키의 복호를 할 수 없으며, 미디어 키: Km을 취득할 수가 없다.
스텝 S122에서 미디어 키: Km의 취득에 성공하면, 다음에, 스텝 S123에서, 취득한 미디어 키: Km을 적용해서, 미디어(100)로부터 취득한 암호화 디스크 키: EKm(Kd)(203)의 복호 처리를 실행하고, 디스크 키: Kd를 취득한다. 이 복호 처리로 서는 예를 들면 트리플 DES(TDES) 알고리즘이 적용된다. 또한, 도면 중, TDES는 트리플 DES 암호 알고리즘, AES는 AES 암호 알고리즘을 나타내며, TDES, AES의 후속 문자로서 나타내는 [E]는 암호화 처리(Encryption), [D]는 복호 처리(Decryption)를 나타내고 있다.
드라이브(200)는, 다음에 스텝 S124에서, 상호 인증 및 열쇠 교환(AKE) 처리에서, 생성한 세션 키(Ks)를 적용해서 디스크 키: Kd를 암호화하여 호스트(300)에 송신한다. 이 암호 처리는, 예를 들면 AES 암호 알고리즘을 적용해서 실행된다.
드라이브(200)는, 다음에 스텝 S125에서, 미디어(104)로부터 판독출력한 미디어 ID(IDdisc)와, 드라이브(200) 내의 메모리에 격납한 검증 데이터(202)와의 비교 처리를 실행한다.
드라이브(200)는, 미디어(104)의 BCA로부터 판독출력한 복수의 BCA 데이터 격납 슬롯으로부터 미디어 ID 격납 슬롯(도 5 참조)의 입력 데이터를 판독출력하고, 그 헤더 코드와, 드라이브(200) 내의 메모리에 격납한 검증 데이터(202)와 비교하는 처리를 실행한다. 전술한 바와 같이, 미디어 ID 격납 슬롯(도 5 참조)의 헤더 코드는 미리 정해진 값 [03h]이다. 이 값을 헤더 코드로 하는 BCA 데이터는, 라이센스를 받은 미디어 제조 엔티티를 알 수 있지만, 부정한 디스크 제조자는 알 수 없는 값이다. 드라이브(200)는, 스텝 S125에서, 검증 데이터(202)로서 격납된 미디어 ID 격납 BCA 슬롯의 헤더 코드의 값 [03h]와 비교한다.
미디어(100)로부터 판독출력한 헤더 데이터의 값이, 드라이브에 격납된 검증 데이터 [03h]와 일치하면, 미디어(100)는, 정당한 미디어라고 판정하고, 스위치(SW)를 클로즈로 하며, 미디어 ID(IDdisc)를 세션 키(Ks)로 암호화해서, 호스트(300)에 출력(스텝 S126)한다.
한편, 미디어(100)로부터 판독출력한 헤더 데이터의 값이, 드라이브에 격납된 검증 데이터 [03h]와 일치하지 않는 경우에는, 미디어(100)는, 저작권 보호 기술을 이용한 컨텐츠 기록 재생을 적용할 수 없는 미디어라고 판정하고, 스위치(SW)를 오픈으로 하며, 미디어 ID(IDdisc)의 호스트(300)에 대한 출력을 중지하고, 그 후의 처리를 모두 중지한다. 즉, 컨텐츠의 재생 또는 기록 처리는 실행하지 않는다.
호스트(300) 측의 처리에 대해서 설명한다. 호스트(300)는 스텝 S131에서의 드라이브(200)와의 상호 인증 및 열쇠 교환(AKE)에서 상호 인증이 성립한 경우, 세션 키(Ks)를 드라이브(200)와 함께 공유한다. 스텝 S132에서, 드라이브(200)로부터 수신한 암호화 디스크 키, 즉 세션 키(Ks)로 암호화된 디스크 키 [EKs(Kd)]를 세션 키로 복호하고 디스크 키(Kd)를 취득한다.
또, 스텝 S133에서, 드라이브로부터 수령한 암호화 미디어 ID, 즉 세션 키로 암호화된 미디어 ID [EKs(IDdisc)]를 세션 키로 복호하고 미디어 ID(IDdisc)를 취득한다.
또, 스텝 S135에서, 암호화 컨텐츠의 복호 또는 컨텐츠의 암호화에 적용할 기록 키(Krec)를 생성한다. 이 처리 이후에는, 컨텐츠 재생시와, 컨텐츠 기록시에서 다른(異) 처리로 된다.
우선, 컨텐츠 재생시의 처리에 대해서 설명한다. 컨텐츠 재생시에는, 스텝 S135에서, 미디어(105)에 격납된 시드 정보(Seedrec)와, 디스크 키(Kd)와, 미디어 ID(IDdisc)에 의거하는 암호 처리(트리플 DES(TDES))에 의해서, 기록 키(Krec)를 생성한다. 또한, 이 기록 키(Krec) 생성시에는, 드라이브(200)를 거쳐서, 미디어(105)에 격납된 시드 정보(Seedrec)(105)를 수령한다. 시드 정보는 소정의 컨텐츠를 격납하는 파일 단위로 판독입력(讀入; read into, load)되고, 컨텐츠를 격납하는 파일마다 시드 정보를 적용해서 기록 키(Krec)가 생성되어, 생성한 기록 키에 의해서 컨텐츠를 격납하는 파일 단위의 복호 처리가 실행되며, 컨텐츠 복호, 재생이 실행된다.
다음에, 스텝 S136에서, 드라이브(200)를 거쳐서, 미디어(105)에 격납된 암호화 컨텐츠(106)를 수령하고, 생성한 기록 키(Krec)를 적용한 복호 처리를 실행해서, 컨텐츠를 취득하여 컨텐츠 재생을 실행한다.
다음에, 컨텐츠 기록시의 처리에 대해서 설명한다. 컨텐츠 기록시에는, 그 후 스텝 S135에서, 미디어(105)에 격납되는 시드 정보(Seedrec)와, 디스크 키(Kd)와, 미디어 ID(IDdisc)에 의거하는 암호 처리(트리플 DES(TDES))에 의해서, 기록 키(Krec)를 생성한다. 또한, 스텝 S134에서, 난수 생성 처리가 실행되고, 그 난수에 의거해서 시드 정보가 생성된다. 기록 대상(對象) 컨텐츠를, 컨텐츠를 격납하는 파 일 단위로 암호화할 때의 기록 키(Krec)가 생성되고, 스텝 S136에서, 외부 입력 컨텐츠 등의 데이터가 기록 키를 적용해서 컨텐츠를 격납하는 파일 단위로 암호화된다.
생성한 암호화 컨텐츠는, 드라이브(200)에 출력되고, 드라이브(200)에서의 데이터 기입 처리에 의해서 미디어(100)에 기입된다. 또한, 스텝 S134에서 생성한 난수는, 시드 정보(105)로서 기입하고 암호화 컨텐츠(106)에 대응지어서(對應付; 대응시켜서) 기입된다.
다음에, 미디어(100)에 격납된 미디어 ID(IDdisc)(104)의 드라이브에서의 검증 및 호스트에의 출력 처리의 시퀀스에 대해서, 도 9를 참조해서 상세하게 설명한다.
도 9의 (a)에는, 미디어에 격납된 미디어 ID(IDdisc)의 드라이브에서의 검증 및 호스트에의 출력 처리의 전체 시퀀스를 도시하고, 도 9(b)에는, 도 9의 (a)의 스텝 S254의 BCA 레코드의 검증 처리의 상세를 설명하는 플로우도이다.
도 9의 (a)의 스텝 S251에서, 드라이브가 디스크 삽입을 검지하면, 스텝 S252에서 호스트와의 상호 인증 및 열쇠 교환(AKE) 처리가 실행되고, 인증이 성립하고 세션 키(Ks)의 공유가 실행되면, 스텝 S253으로 진행한다. 인증 불성립(不成立)의 경우에는, 스텝 S258로 진행하고, 에러 메시지를 호스트에 통지하고, 처리를 종료한다.
인증이 성립한 경우에는, 스텝 S253으로 진행하고, 드라이브는, 미디어 (Disc)의 BCA로부터 BCA 슬롯 데이터를 판독출력하고, 스텝 S254에서, BCA 슬롯 데이터의 검증 처리를 실행한다. 이 검증 처리의 상세에 대해서, 도 9의 (b)의 플로우를 참조해서 설명한다.
우선, 스텝 S261에서, 드라이브 내의 메모리에 격납된 검증 데이터를 판독출력한다. 도 6에 도시하는 검증 데이터(202)이다. 앞서 설명한 바와 같이, 이 검증 데이터는, BCA 레코드 중의 미디어 ID 대응의 헤더 값(본 예에서는 03h)이다.
스텝 S262에서, 변수(變數)(i)의 초기 설정으로서 i=0으로 하는 설정을 한다. 이 변수 i는, 미디어의 복수 슬롯을 순차(順次) 판독출력하기 위해서 설정되는 변수이다. 앞서 도 4, 도 5를 참조해서 설명한 바와 같이 미디어의 BCA는 소정 데이터 단위의 슬롯이 복수 설정되어 있고, 드라이브는 각 슬롯(i=1∼4)을 순차 판독출력한다.
스텝 S263에서, 변수 i의 갱신 처리를 실행하는 우선 i=1로 설정된다. 다음에, 스텝 S264에서, 미디어의 BCA 데이터 슬롯 #i로부터 헤더 코드를 취득한다. 스텝 S265에서, 헤더 코드가 드라이브가 보존유지하고 있는 검증 데이터(도 6의 검증 데이터(202))에 일치하는지 여부, 즉 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 똑같은(等)지 여부의 판정이 실행된다.
스텝 S265에서 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 똑같다고 판정된 경우에는, 스텝 S268로 진행하고, 미디어가 미디어 ID에 대응하는 올바른 헤더 코드를 보존유지한 정당한 미디어라고 판정한다.
스텝 S265에서 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 에 똑같 지 않다고 판정된 경우에는, 스텝 S266으로 진행하고, 변수 i의 값이 BCA 슬롯수=4인지 여부를 판정하고, i=4가 아닌 경우에는, 스텝 S263으로 되돌아가서, 변수 i의 갱신을 실행하고, 순차, 다른 BCA 슬롯의 헤더 코드의 판독출력, 대조확인을 실행한다. i=4에 이를(도달할) 때까지, 03h와 똑같은 헤더 코드가 검출되지 않는 경우에는, 스텝 S267로 진행하고, 장착(裝着) 미디어가 미디어 ID에 대응하는 올바른 헤더 코드를 보존유지하고 있지 않는, 즉 저작권 보호 기술을 적용한 컨텐츠의 기록 재생에는 이용할 수 없는 미디어라고 판정한다.
이 처리후, 도 9의 (a)의 스텝 S255로 진행한다. 스텝 S255에서, 도 9의 (b)에 도시하는 검증 처리에서, 장착 미디어가 미디어 ID에 대응하는 올바른 헤더 코드를 보존유지하고 있는 정당 미디어로 판정된 것이 확인된 경우에는, 스텝 S256으로 진행하고, 미디어의 BCA 슬롯으로부터 취득한 미디어 ID를 세션 키(Ks)로 암호화하고, 스텝 S257에서 암호화된 미디어 ID를 호스트로부터의 전송 요구에 따라서 호스트에 전송한다.
스텝 S255에서, 도 9의 (b)에 도시하는 검증 처리에서, 장착 미디어가 미디어 ID에 대응하는 올바른 헤더 코드를 보존유지하고 있지 않는 저작권 보호 기술을 이용한 컨텐츠 기록 재생을 적용할 수 없는 미디어로 판정된 것이 확인된 경우에는, 스텝 S258로 진행하고, 호스트로부터의 전송 요구에 대해서 에러 메시지를 호스트에 전송하고, 처리를 종료한다.
이와 같이, 드라이브는, 호스트에 대해서 미디어 ID를 출력하는 경우, 드라이브와 호스트 사이의 상호 인증이 성립하고, 또 세션 키의 공유에 성공한 것을 조 건으로 해서 미디어로부터의 BCA 레코드의 헤더 코드의 검증을 실행하고, 헤더 코드가 드라이브가 보존유지하는 검증용 데이터와 일치하는 경우에 한해서, 그 헤더 코드에 대응하는 BCA 레코드인 미디어 ID를 판독출력해서, 또 판독출력한 미디어 ID를 세션 키로 암호화해서 호스트에 대해서 출력한다. 드라이브로부터 출력되는 미디어 ID는 세션 키로 암호화된 데이터이며, 미디어 ID가 외부에 누설될 가능성은 저감된다.
전술한 바와 같이, 미디어 ID에 대응하는 헤더 코드를 가지는 BCA 데이터는, 비공개 데이터이므로, 부정한 디스크 제조업자가, 예를 들면 BCA 영역에 데이터 기입 가능한 장치를 가지는 경우라도, 미디어 ID에 대응하는 정당한 헤더 코드를 알수는 없으며, 이와 같은 부정한 업자(業者)가 제조한 디스크는, 정당한 미디어 ID 대응의 헤더 코드(예를 들면 03h)를 가지지 않는다. 따라서, 이와 같은 부정한 미디어(디스크)를 이용한 컨텐츠의 재생, 혹은 이와 같은 부정한 미디어(디스크)에 대한 컨텐츠의 기록은 배제되게 된다.
또한, BCA 레코드는, 디스크 ID 뿐만 아니라, 그 밖의 데이터도 기입되는 경우가 있으며, BCA 레코드 중에는 공개 가능한 데이터도 포함된다. 이와 같은 저작권 보호 기술과 관계하지 않는 비닉성이 낮은 데이터에 대해서는, 호스트에로의 출력에 대해서 특히 제한되는 일은 없다. 도 10에는, 이와 같은 비닉성이 낮은 BCA 데이터를 드라이브로부터 호스트에 출력하는 경우의 처리를 설명하는 플로우를 도시하고 있다.
도 10의 (a)에는, 미디어에 격납된 미디어 ID(IDdisc) 이외의 비닉성이 낮은 BCA 데이터의 호스트에의 출력 처리의 전체 시퀀스를 도시하고, 도 10의 (b)는, 도 10의 (a)의 스텝 S273의 BCA 레코드의 검증 처리의 상세를 설명하는 플로우도이다. 또한, 여기에서는, 헤더 코드≠03h가 비닉성이 낮은 BCA 데이터에 대응하는 헤더 코드라고 한다.
도 10의 (a)의 스텝 S271에서, 드라이브가 디스크 삽입을 검지하면, 스텝 S272로 진행하고, 드라이브는, 미디어(Disc)의 BCA로부터 BCA 슬롯 데이터를 판독출력하고, 스텝 S273에서, BCA 슬롯 레코드의 검증 처리를 실행한다. 이 검증 처리의 상세에 대해서, 도 10의 (b)의 플로우를 참조해서 설명한다.
우선, 스텝 S281에서, 변수(i)의 초기 설정으로서 i=0으로 하는 설정을 한다. 이 변수 i는, 미디어의 복수 슬롯을 순차 판독출력하기 위해서 설정되는 변수이다. 스텝 S282에서, 변수 i의 갱신 처리를 실행하는 우선 i=1로 설정된다. 다음에, 스텝 S283에서, 미디어의 BCA 데이터 슬롯 #i로부터 헤더 코드를 취득한다. 스텝 S284에서 헤더 코드가 비닉성이 낮은 BCA 데이터 대응의 헤더 코드(03h)와 일치하는지 여부, 즉 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 똑같은지 여부의 판정이 실행된다.
스텝 S284에서 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 똑같지 않다고 판정된 경우에는, 스텝 S287로 진행하고, 미디어가 출력 가능한 BCA 데이터를 보존유지하고 있다고 판정한다.
스텝 S284에서 미디어로부터의 판독출력 슬롯의 헤더 코드가 03h와 똑같다고 판정된 경우에는, 스텝 S285로 진행하고, 변수 i의 값이 BCA 슬롯수(數)=4인지 여 부를 판정하고, i=4가 아닌 경우에는, 스텝 S282로 되돌아가서, 변수 i의 갱신을 실행하고, 순차, 다른 BCA 슬롯의 헤더 코드의 판독출력, 대조확인을 실행한다. i=4에 이를 때까지, 03h와 똑같지 않은 헤더 코드가 검출되지 않는 경우에는, 스텝 S286으로 진행하고, 장착 미디어에는, 출력 가능한 BCA 데이터를 보존유지하고 있지 않다고 판정한다.
이 처리후, 도 10의 (a)의 스텝 S274로 진행한다. 스텝 S274에서, 도 10의 (b)에 도시하는 검증 처리에서, 장착 미디어가 출력 가능한 BCA 데이터를 보존유지하고 있다고 판정되었던 것이 확인된 경우에는, 스텝 S275로 진행하고, 미디어의 BCA 슬롯으로부터 취득한 BCA 데이터를 호스트로부터의 전송 요구에 따라서 호스트에 전송한다.
스텝 S274에서, 도 10의 (b)에 도시하는 검증 처리에서, 장착 미디어가 출력 가능한 BCA 데이터를 보존유지하고 있지 않다고 판정된 것이 확인된 경우에는, 스텝 S276으로 진행하고, 호스트로부터의 전송 요구에 대해서 에러 메시지를 호스트에 전송하고, 처리를 종료한다.
다음에, 미디어를 이용한 컨텐츠의 재생 또는 기록 처리에서 드라이브가 실행하는 처리와 호스트가 실행하는 처리에 대해서, 각각 개별(個別)의 플로우를 참조해서 설명한다.
우선, 도 11, 도 12를 참조해서 드라이브 측의 처리에 대해서 설명한다. 드라이브는, 도 11의 스텝 S301에서, 미디어(디스크)의 장착을 검지하면 스텝 S302에서, 미디어(디스크)로부터 암호화 키 블록으로서 미디어 키(Km)를 암호화 데이터로 서 격납한 RKB를 판독출력한다.
스텝 S303에서, RKB의 판독출력에 실패했다고 판정된 경우에는, 도 12에 도시하는 [E]로 진행하고, 스텝 S331에서, 삽입된 미디어를 이용한 저작권 보호가 필요한 AV 데이터(컨텐츠)의 기록을 금지하고, 저작권 보호 대상으로 되지 않는 암호 처리가 불필요한 데이터의 기록 재생만을 허용한다.
스텝 S303에서, RKB의 판독에 성공했다고 판정된 경우에는, 스텝 S304에서, 드라이브에 격납된 디바이스 키(Kdev)를 적용한 RKB의 처리를 실행한다. RKB의 처리에 실패하고, 미디어 키(Km)를 취득할 수 없었던 경우에는, 드라이브는 리보크되어 있다고 판정(스텝 S305: Yes)하고, 도 12 [E]의 스텝 S331로 진행하고, 저작권 보호 대상 데이터가 아닌 컨텐츠만의 기록 재생 처리만을 허용한다.
RKB의 처리에 성공한 경우에는, 드라이브는 리보크되어 있지 않다고 판정(스텝 S305: No)하고, 스텝 S306에서, RKB로부터의 미디어 키(Km)의 취득을 행한다. 다음에, 스텝 S307에서, 미디어의 BCA로부터의 BCA 레코드의 판독을 행하고, 스텝 S308에서, BCA 슬롯 데이터의 검증 처리를 실행한다.
미디어 ID의 판독에 실패(S309: No)한 경우에는, 도 12 [E]의 스텝 S331로 진행하고, 저작권 보호 대상 데이터가 아닌 컨텐츠만의 기록 재생 처리만을 허용한다.
미디어 ID의 판독에 성공(S309: Yes)한 경우에는, 스텝 S310으로 진행하고, 호스트로부터의 상호 인증 처리 요구를 대기(待機)하고, 호스트로부터의 상호 인증 처리 요구가 있으면, 스텝 S311에서, 호스트-드라이브 사이의 상호 인증 및 열쇠 교환(AKE) 처리(도 7 참조)를 실행하고, 호스트와 드라이브 상호(相互)에서, 세션 키(Ks)를 공유한다. 스텝 S312에서, 상호 인증 및 열쇠 교환(AKE) 처리의 완료를 확인하고, 스텝 S313에서, 호스트로부터의 열쇠 정보의 전송 요구를 대기하고, 호스트로부터의 열쇠 정보의 전송 요구가 있으면, 스텝 S314에서, 세션 키(Ks)를 적용해서 암호화한 미디어 ID, 즉 [EKs(IDdisc)]와, 세션 키(Ks)를 적용해서 암호화한 디스크 키, 즉 [EKs(Kd)]를 생성해서, 호스트에게 전송한다.
스텝 S315에서 열쇠 정보의 전송 완료를 확인하면, 도 12의 스텝 321로 진행한다. 스텝 S321에서는 새로운 상호 인증 요구를 대기하고, 새로운 상호 인증 요구가 발생한 경우에는 [D], 즉 스텝 S311로 되돌아가서, 상호 인증 이하의 처리를 실행한다. 이 처리는, 호스트 측에서 어플리케이션의 변환이 행해진 경우에 발생하는 처리이다.
스텝 S322에서는 디스크의 배출 유무를 판정하고, 디스크가 배출된 경우에는, 초기 상태 [A], 즉 스텝 S301로 되돌아간다. 스텝 S323에서는, 호스트로부터의 컨텐츠(AV 데이터)의 판독출력 요구의 유무를 판정하고, 호스트로부터의 컨텐츠(AV 데이터)의 판독출력 요구가 있었던 경우에는, 스텝 S326에서, 미디어로부터의 컨텐츠의 판독출력을 실행하고, 호스트에 전송한다. 또한, 이 처리시에는, 컨텐츠 복호 처리에 직접 적용하는 블록 키의 생성에 적용할 시드 정보도 적시(適時)에 실시되는 호스트로부터의 판독출력 요구에 따라서 미디어로부터 판독출력해서 호스트에 전송한다.
또, 스텝 S324에서, 호스트로부터의 컨텐츠(AV 데이터)의 기입 요구의 유무 를 판정하고, 호스트로부터의 컨텐츠(AV 데이터)의 기입 요구가 있었던 경우에는, 스텝 S325에서, 호스트로부터 컨텐츠(AV 데이터)를 입력하고, 입력 컨텐츠를 미디어에 기입하는 처리를 실행한다. 또한, 이 처리시에는, 컨텐츠 암호화 처리에 적용할 블록 키의 생성에 적용한 난수도 적시에 호스트로부터 입력하고, 이것을 시드 정보로서 미디어에 기입하는 처리를 실행한다.
다음에, 도 13, 도 14를 참조해서, 호스트 측의 처리에 대해서 설명한다. 스텝 S401에서, 컨텐츠 재생 어플리케이션, 혹은 컨텐츠 기록 어플리케이션·프로그램을 기동(起動)하고, 스텝 S402에서 디스크가 드라이브에 삽입된 것의 통지를 수령하면, 스텝 S403에서 드라이브와의 상호 인증, 세션 키의 공유 처리를 실행한다.
스텝 S404에서, 상호 인증 및 열쇠 교환(AKE) 처리의 완료가 확인되면, 스텝 S405로 진행하고, 호스트는, 드라이브에 대해서, 세션 키(Ks)로 암호화된 디스크 키(Kd)의 전송을 요구한다.
스텝 S406에서, 암호화 디스크 키 [EKs(Kd)]의 드라이브로부터의 수신을 확인하면, 스텝 S407에서, 세션 키(Ks)를 적용해서 암호화 디스크 키 [EKs(Kd)]의 복호를 실행하고, 디스크 키(Kd)를 취득한다.
또, 호스트는 스텝 S408에서, 드라이브에 대해서, 세션 키(Ks)로 암호화된 미디어 ID(IDdisc)의 전송을 요구한다. 스텝 S409에서, 암호화 미디어 ID [EKs(IDdisc)]의 드라이브로부터의 수신을 확인하면, 스텝 S410에서, 세션 키(Ks)를 적용해서 암호화 미디어 ID [EKs(IDdisc)]의 복호를 실행하고, 미디어 ID(IDdisc)를 취득한다.
호스트는, 스텝 S411에서, 컨텐츠의 기록·재생의 준비가 갖추어(整)지게 되며, 화면 표시 등의 유저 인터페이스를 통해서 컨텐츠 기록 재생 레디(ready)인 것을 유저에게 알릴 수가 있다.
다음에, 기록 또는 재생 소프트웨어의 완료(S421)가 이루어져 있지 않고, 디스크 배출이 없는(S422) 것의 확인후, 유저의 지시 등에 의해 컨텐츠의 판독출력을 행한다고 판정한 경우(S423: Yes)에는, 스텝 S431에서 드라이브에 대해서 암호화 컨텐츠(AV 데이터)의 전송 요구를 출력한다.
스텝 S432에서, 드라이브로부터의 컨텐츠 수신의 완료를 확인(S432: Yes)하면, 스텝 S433에서 드라이브로부터 적시에 취득한 디스크에 기록되어 있는 시드 정보(Seedrec), 디스크 키(Kd)와, 미디어 ID(IDdisc)로부터 기록 키(Krec)를 계산하고, 계산된 기록 키(Krec)를 적용해서, 드라이브로부터 수신한 암호화 컨텐츠의 복호 처리를 실행하여 컨텐츠의 재생을 가능하게 한다. 또한, 전술한 바와 같이, 기록 키(Krec)를 계산할 때에는, 시드 정보가 소정의 컨텐츠 단위로 적용되고 소정 단위의 컨텐츠마다 다른 시드 정보가 생성되어, 컨텐츠의 기록시에 디스크에 동시에 기록되고 있다.
한편, 스텝 S424에서, 유저의 지시 등에 의해 컨텐츠의 기입을 행한다고 판정한 경우(S424: Yes)에는, 스텝 S425로 진행하고, 호스트는, 적시에 난수 생성해서 얻어진 시드 정보(Seedrec), 드라이브로부터 수신한 디스크 키(Kd)와, 미디어 ID(IDdisc)를 적용해서 생성한 기록 키(Krec)를 적용해서 컨텐츠의 암호화 처리를 실행한다. 또한, 전술한 바와 같이, 컨텐츠 암호화 처리에서는, 난수를 생성하고, 생성한 난수를 이용해서 블록 단위의 암호화 키로서의 블록 키를 생성하며, 생성한 블록 키에 의해서 블록 데이터 단위의 암호화 처리가 실행된다.
호스트는, 스텝 S426에서 드라이브에 대해서 생성한 암호화 데이터의 전송(출력) 처리를 실행하고, 스텝 S427에서 전송 완료를 확인해서 처리를 종료한다.
[3. 정보 처리 장치의 구성]
다음에, 도 15, 도 16을 참조해서, 호스트 및 드라이브의 정보 처리 장치의 구성예에 대해서 설명한다.
우선, 도 15를 참조해서, 호스트로서의 정보 처리 장치의 구성에 대해서 설명한다. 정보 처리 장치(800)는, OS나 컨텐츠 재생 또는 기록 어플리케이션·프로그램, 상호 인증 처리 프로그램 등의 각종 프로그램에 따른 데이터 처리를 실행하는 CPU(809), 프로그램, 파라미터 등의 기억 영역으로서의 ROM(808), 메모리(810), 디지털 신호를 입출력하는 입출력 I/F(802), 아날로그 신호를 입출력하고, A/D, D/A 컨버터(805)를 가지는 입출력 I/F(804), MPEG 데이터의 인코드, 디코드 처리를 실행하는 MPEG 코덱(803), TS(Transport Stream)·PS(Program Stream) 처리를 실행하는 TS·PS 처리 수단(806), 상호 인증, 암호화 컨텐츠의 복호 처리 등 각종 암호 처리를 실행하는 암호 처리 수단(807), 하드디스크 등의 기록 매체(812), 기록 매체(812)의 구동, 데이터 기록 재생 신호의 입출력을 행하는 드라이브(811)를 가지 고, 버스(801)에 각 블록이 접속되어 있다.
정보 처리 장치(호스트)(800)는, 예를 들면 ATAPI-BUS 등의 접속 버스에 의해서 드라이브와 접속되고, 상술한 세션 키에 의해서 암호화된 미디어 ID나 디스크 키 등의 비밀 정보, 혹은 전송 컨텐츠 등은, 디지털 신호용 입출력 I/F(802)를 거쳐서 입출력된다. 암호화 처리, 복호 처리는 암호화 처리 수단(807)에 의해, 예를 들면 트리플 DES, AES 알고리즘 등을 적용해서 실행된다.
또한, 컨텐츠 재생 혹은 기록 처리를 실행하는 프로그램은 예를 들면 ROM(808) 내에 보관(保管)되어 있으며, 프로그램의 실행 처리중에는 필요에 따라서, 파라미터, 데이터의 보관, 워크 영역으로서 메모리(810)를 사용한다.
ROM(808) 또는 기록 매체(812)에는, 관리 센터의 공개 열쇠, 호스트 대응의 비밀 열쇠, 호스트 대응의 공개 열쇠 증명서, 또 리보케이션 리스트가 격납되어 있다.
다음에, 도 16을 참조해서, 정보 기록 매체의 격납 컨텐츠의 판독 및 기록, 호스트와의 데이터 전송을 실행하는 드라이브로서의 정보 처리 장치의 구성에 대해서 설명한다. 드라이브(850)는, 컨텐츠 판독, 컨텐츠 기록, 전송 처리 프로그램, 상호 인증 처리 프로그램 등의 각종 프로그램에 따른 데이터 처리를 실행하는 CPU(852), 프로그램, 파라미터 등의 기억 영역으로서의 ROM(855), 메모리(856), 디지털 신호를 입출력하는 입출력 I/F(853), 상호 인증, 출력 데이터의 암호화 처리 등 각종 암호 처리를 실행하는 암호 처리 수단(854), DVD, Blu-ray 디스크 등의 정보 기록 매체(858)의 구동, 데이터 기록 재생 신호의 입출력을 행하는 기록 매체 I/F(857)를 가지고, 버스(851)에 각 블록이 접속되어 있다.
드라이브(850)는, 예를 들면 ATAPI-BUS 등의 접속 버스에 의해서 호스트와 접속된다. 예를 들면, 미디어 ID나 디스크 키 등의 비밀 정보, 또 정보 기록 매체(858)에 격납된 암호화 컨텐츠, 정보 기록 매체(858)에 기록하는 암호화 컨텐츠 등은, 외부 기기와의 데이터 전송용 인터페이스로서 설정된 입출력 I/F(853)를 거쳐서 입출력된다. 암호화 처리, 복호 처리는 암호화 처리 수단(854)에 의해서, 예를 들면 트리플 DES, AES 알고리즘 등을 적용해서 실행된다.
또한, ROM(855), 또는 메모리(856)에는, 관리 센터의 공개 열쇠, 드라이브에 대응하는 비밀 열쇠, 드라이브에 대응하는 공개 열쇠 증명서 및, 암호 열쇠 블록 RKB의 처리에 적용하기 위한 디바이스 키: Kdev, 또 전술한 미디어 ID 대응의 헤더 코드로서의 검증 정보(도 6에 도시하는 검증 데이터(202))가 격납되어 있다. 또, 컨텐츠의 판독출력, 취득 및 상호 인증 처리를 실행하는 프로그램 등이 격납되어 있다.
이상, 특정의 실시예를 참조하면서, 본 발명에 대해서 상세하게 풀이(詳解)해 왔다. 그렇지만, 본 발명의 요지(要旨)를 일탈(逸脫)하지 않는 범위에서 당업자가 그 실시예의 수정이나 대용(代用)을 할 수 있는 것은 자명(自明)하다. 즉, 예시라고 하는 형태로 본 발명을 개시(開示)해 온 것이며, 한정적으로 해석되어서는 안 된다. 본 발명의 요지를 판단하기 위해서는, 특허청구범위의 란(欄)을 참작해야만 한다.
또한, 명세서 중에서 설명한 일련(一連)의 처리는 하드웨어, 또는 소프트웨 어, 혹은 양자의 복합 구성에 의해서 실행하는 것이 가능하다. 소프트웨어에 의한 처리를 실행하는 경우에는, 처리 시퀀스를 기록한 프로그램을, 전용의 하드웨어에 실장(組入; incorporate, built-in)된 컴퓨터 내의 메모리에 인스톨해서 실행시키거나, 혹은 각종 처리를 실행 가능한 범용 컴퓨터에 프로그램을 인스톨해서 실행시키는 것이 가능하다.
예를 들면, 프로그램은 기록 매체로서의 하드 디스크나 ROM(Read Only Memory)에 미리 기록해 둘 수가 있다. 혹은, 프로그램은 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기(磁氣) 디스크, 반도체 메모리 등의 리무버블 기록 매체에, 일시적(一時的) 혹은 영속적(永續的)으로 격납(기록)해 둘 수가 있다. 이와 같은 리무버블 기록 매체는, 이른바 패키지 소프트웨어로서 제공할 수가 있다.
또한, 프로그램은, 상술한 바와 같은 리무버블 기록 매체로부터 컴퓨터에 인스톨하는 것 이외에, 다운로드 사이트로부터, 컴퓨터에 무선(無線) 전송하거나, LAN(Local Area Network), 인터넷이라고 한 네트워크를 거쳐서, 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그와 같이 해서 전송되어 오는 프로그램을 수신하고, 내장(內藏)하는 하드 디스크 등의 기록 매체에 인스톨할 수가 있다.
또한, 명세서에 기재된 각종 처리는, 기재에 따라서 시계열(時系列)로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리 능력 혹은 필요에 따라서 병렬적으로 혹은 개별로 실행되어도 좋다. 또, 본 명세서에서 시스템이라 함은, 복수의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징(筐體; housing, enclosure) 내에 있는 것에는 한정되지 않는다.
이상, 설명한 바와 같이, 본 발명의 구성에 따르면, 드라이브와 호스트 등 2개의 다른 디바이스 사이의 데이터 전송을 수반하는 컨텐츠의 재생 혹은 기록 처리에서, 컨텐츠의 기록, 재생을 행하는 경우에 실행하는 컨텐츠의 암호화 또는 복호 처리에 적용하는 미디어 ID(디스크 ID)의 외부 누설을 방지할 수가 있다.
본 발명의 구성에 따르면, 드라이브가 미디어 ID(디스크 ID)를 미디어로부터 판독하고, 이것이 올바른 정당한 미디어에 설정된 헤더 코드에 대응해서 기록되어 있는지를 드라이브 측에서 검증하고, 또 검증에 의해서, 정당한 미디어인 것이 확인된 경우에, 드라이브 측에서 미디어 ID를 암호화해서 호스트에 출력하는 구성으로 했으므로, 미디어 ID의 외부 누설 가능성을 저감시키는 것이 가능해지고, 또 정당한 미디어인 것의 확인을 조건으로 해서 컨텐츠의 재생 또는 기록 처리를 허용하는 구성으로 했으므로, 부정한 미디어를 이용한 컨텐츠의 재생 또는 기록 처리의 방지가 실현된다.

Claims (15)

  1. 정보 처리 장치이며,
    정보 기록 매체에 대한 기입(書入; write) 데이터, 또는 정보 기록 매체로부터의 판독(讀取; read) 데이터의 입출력을 실행하는 기록 매체 인터페이스와,
    외부 기기(機器)와의 전송(轉送) 데이터의 입출력을 실행하는 데이터 전송용 인터페이스와,
    정보 기록 매체의 정당성(正當性)을 확인하기 위한 검증(檢證) 데이터를 격납(格納; store)한 기억부와,
    상기 정보 기록 매체의 미디어 식별자(識別子)의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하고, 그 코드와 상기 검증 데이터와의 대조확인(照合; collate, match, check) 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하고, 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 처리를 실행하는 데이터 처리부
    를 가지는 것을 특징으로 하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 데이터 처리부는,
    상기 데이터 전송용 인터페이스를 거친 데이터 입출력을 실행하는 외부 기기와의 인증 처리를 실행하고, 그 인증 처리의 성립을 조건으로 해서 상기 미디어 식 별자의 상기 외부 기기에의 출력 처리를 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 데이터 처리부는,
    상기 인증 처리에서 생성한 세션 키를 적용해서, 상기 미디어 식별자의 암호화 처리를 실행하고, 세션 키에 의거하는 암호화 데이터로서 상기 미디어 식별자를 외부 기기에 출력하는 구성인 것을 특징으로 하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 기억부는,
    라이센스에 의거해서 정당하게 제조된 정보 기록 매체의 식별자에 대응해서 설정되는 코드 정보를 격납하고,
    상기 데이터 처리부는,
    상기 정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하고, 그 코드와 상기 검증 데이터로서 격납된 코드와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하고, 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 처리를 실행하는 것을 특징으로 하는 정보 처리 장치.
  5. 제1항에 있어서,
    상기 데이터 처리부는,
    정보 기록 매체의 BCA(버스트·커팅·에리어)에 기록된 미디어 식별자의 대응 정보로서의 코드를 판독하고, 그 코드와 상기 검증 데이터와의 대조확인 처리를 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
  6. 제1항에 있어서,
    상기 데이터 처리부는,
    상기 데이터 전송용 인터페이스를 거쳐서, 외부 기기로부터 상기 미디어 식별자를 적용해서 생성한 암호 열쇠(鍵)에 의거하는 암호화 데이터를 입력하고,
    그 입력 데이터의 정보 기록 매체에 대한 기입 처리를 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 데이터 처리부는,
    상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 상기 정보 기록 매체로부터 판독하고,
    그 판독 데이터를 상기 데이터 전송용 인터페이스를 거쳐서 외부 기기에 출력하는 처리를 실행하는 구성인 것을 특징으로 하는 정보 처리 장치.
  8. 정보 처리 방법이며,
    정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하는 코드 판독 스텝과,
    상기 코드와, 기억부에 격납된 검증 데이터와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 정당성 확인 스텝과,
    상기 정당성 확인 스텝에서, 정보 기록 매체의 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 미디어 식별자 출력 스텝
    을 가지는 것을 특징으로 하는 정보 처리 방법.
  9. 제8항에 있어서,
    상기 정보 처리 방법은,
    상기 데이터 전송용 인터페이스를 거친 데이터 입출력을 실행하는 외부 기기와의 인증 처리를 실행하는 인증 처리 실행 스텝을 더 가지고, 그 인증 처리의 성립을 조건으로 해서 상기 미디어 식별자의 상기 외부 기기에의 출력 처리를 실행하는 것을 특징으로 하는 정보 처리 방법.
  10. 제9항에 있어서,
    상기 미디어 식별자 출력 스텝은,
    상기 인증 처리에서 생성한 세션 키를 적용해서, 상기 미디어 식별자의 암호화 처리를 실행하고, 세션 키에 의거하는 암호화 데이터로서 상기 미디어 식별자를 외부 기기에 출력하는 스텝인 것을 특징으로 하는 정보 처리 방법.
  11. 제8항에 있어서,
    상기 정당성 확인 스텝은,
    상기 정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하고, 그 코드와, 기억부에 격납된 라이센스에 의거해서 정당하게 제조된 정보 기록 매체의 식별자에 대응해서 설정되는 코드와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 스텝인 것을 특징으로 하는 정보 처리 방법.
  12. 제8항에 있어서,
    상기 코드 판독 스텝은,
    정보 기록 매체의 BCA(버스트·커팅·에리어)에 기록된 미디어 식별자의 대응 정보로서의 코드를 판독하는 스텝인 것을 특징으로 하는 정보 처리 방법.
  13. 제8항에 있어서,
    상기 정보 처리 방법은,
    상기 데이터 전송용 인터페이스를 거쳐서, 외부 기기로부터 상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 입력하는 스텝과,
    그 입력 데이터의 정보 기록 매체에 대한 기입 처리를 실행하는 스텝
    을 더 가지는 것을 특징으로 하는 정보 처리 방법.
  14. 제8항에 있어서,
    상기 정보 처리 방법은,
    상기 미디어 식별자를 적용해서 생성한 암호 열쇠에 의거하는 암호화 데이터를 상기 정보 기록 매체로부터 판독하는 스텝과,
    그 판독 데이터를 상기 데이터 전송용 인터페이스를 거쳐서 외부 기기에 출력하는 처리를 실행하는 스텝
    을 더 가지는 것을 특징으로 하는 정보 처리 방법.
  15. 정보 기록 매체에 대한 액세스 제어를 실행하는 컴퓨터·프로그램이며,
    정보 기록 매체의 미디어 식별자의 대응 정보로서 정보 기록 매체에 기록된 코드를 판독하는 코드 판독 스텝과,
    상기 코드와, 기억부에 격납된 검증 데이터와의 대조확인 처리에 의해 정보 기록 매체의 정당성 확인 처리를 실행하는 정당성 확인 스텝과,
    상기 정당성 확인 스텝에서, 정보 기록 매체의 정당성이 확인된 것을 조건으로 해서 상기 미디어 식별자를 암호화해서 외부 출력하는 미디어 식별자 출력 스텝
    을 가지는 것을 특징으로 하는 컴퓨터·프로그램.
KR1020067024159A 2004-07-15 2005-07-07 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램 KR20070030786A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067024159A KR20070030786A (ko) 2004-07-15 2005-07-07 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00209116 2004-07-15
KR1020067024159A KR20070030786A (ko) 2004-07-15 2005-07-07 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램

Publications (1)

Publication Number Publication Date
KR20070030786A true KR20070030786A (ko) 2007-03-16

Family

ID=43655305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067024159A KR20070030786A (ko) 2004-07-15 2005-07-07 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램

Country Status (1)

Country Link
KR (1) KR20070030786A (ko)

Similar Documents

Publication Publication Date Title
JP4144573B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4576853B2 (ja) 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム
US8700917B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, and information recording medium
KR100800372B1 (ko) 보호 데이터 영역을 갖는 기록가능한 저장매체 및 데이터 저장방법
JP4979312B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4882636B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US20050160284A1 (en) Mutual authentication method, program, recording medium, signal processing system, reproduction device, and information processing device
KR20090016709A (ko) 컨텐츠 기록을 위한 장치, 방법 및 컴퓨터 판독가능한 기록 매체
US20090202071A1 (en) Recording apparatus, reproducing apparatus, and computer program product for recording and reproducing
WO2004086370A2 (en) Recording apparatus and content protection system
EP1702328A1 (en) Method of copying and reproducing data from storage medium
JP4059185B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2007511032A (ja) ユーザキーを利用した記録媒体のディスク使用制限方法及び装置
JP4239741B2 (ja) 情報記録媒体製造管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2007505347A (ja) コンテンツプロテクト方法及びシステム
JP2007025913A (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
KR20070030786A (ko) 정보 처리 장치 및 정보 처리 방법과 컴퓨터·프로그램
JP4144471B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
WO2017022386A1 (ja) 情報処理装置、情報記憶装置、および情報処理方法、並びにプログラム
JP2005056355A (ja) 情報処理装置、情報記録媒体再生装置、コンテンツ利用制御システム、および方法、並びにコンピュータ・プログラム
JP2009099223A (ja) ディスク、および情報処理方法、並びにコンピュータ・プログラム
JP2009093767A (ja) 情報処理装置、ディスク、および情報処理方法、並びにコンピュータ・プログラム
EP1683149A1 (en) Method and system of decrypting disc
WO2007148433A1 (ja) 記録媒体の固定データ領域形成方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination