KR100661064B1 - 매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체 - Google Patents

매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체 Download PDF

Info

Publication number
KR100661064B1
KR100661064B1 KR1020037008831A KR20037008831A KR100661064B1 KR 100661064 B1 KR100661064 B1 KR 100661064B1 KR 1020037008831 A KR1020037008831 A KR 1020037008831A KR 20037008831 A KR20037008831 A KR 20037008831A KR 100661064 B1 KR100661064 B1 KR 100661064B1
Authority
KR
South Korea
Prior art keywords
medium
delete delete
media
verification data
key block
Prior art date
Application number
KR1020037008831A
Other languages
English (en)
Other versions
KR20030085513A (ko
Inventor
마이크 리플레이
다쿠 가토
제프리 로츠피치
아쯔시 이시하라
요시히사 후쿠시마
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/750,642 external-priority patent/US7111175B2/en
Priority claimed from US09/973,547 external-priority patent/US6912634B2/en
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20030085513A publication Critical patent/KR20030085513A/ko
Application granted granted Critical
Publication of KR100661064B1 publication Critical patent/KR100661064B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00362Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being obtained from a media key block [MKB]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • 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
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1259Formatting, e.g. arrangement of data block or words on the record carriers on discs with ROM/RAM areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

DVD-R 또는 DVD-RW와 같은 매체의 컷팅 영역에 검증 데이터(validation dat)를 저장함으로써 매체키 블록(media key block, MKB)의 무결성(integrity)을 검증하는 방법이다. 일 실시예에서, 검증 데이터는 매체키 블록에 대한 해시함수(hash function)를 포함한다. 다른 실시예에서, MKB의 검증 데이터 필드는 매체키 레코드(media key record)를 검증한다.
매체, 무결성, 검증, 인증, DVD-R, DVD-RW, 매체키

Description

매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체 {VERIFYING THE INTEGRITY OF A MEDIA KEY BLOCK BY STORING VALIDATION DATA IN THE CUTTING AREA OF MEDIA}
본 출원은 2000년 12월 28일 출원되어 현재 계류 중인 미국 특허 출원 제09/750,642호인 "매체키 블록의 무결성 확인 방법 및 장치(METHOD AND APPARATUS FOR VERIFYING THE INTEGRITY OF A MEDIA KEY BLOCK)"의 계속 출원이다.
여기에 포함된 내용은 저작권 보호의 대상이다. 저작권자는 특허 상표청 특허 파일 또는 기록에 나타나는 특허 개시의 복사 재생에 반대하지 않으나, 그 이외의 모든 권리는 저작권자가 보유한다.
본 발명은 정적 및 동적 정보 저장과 검색에 관한 것이고, 특히 권한이 없는(unauthorized) 액세스로부터 저장된 정보를 보호하는 방법, 장치 및 시스템에 관한 것이다.
정보 또는 콘텐츠는 다양한 매체에 저장될 수 있다. 저장 정보에 액세스하고 복사하는 속도 및 편의성이 증대됨에 따라, 권한이 없는 정보 복사에 대한 위협도 따라서 증대되어 왔다. 권한이 없는 액세스로부터 저장 정보를 보호하는 다양한 방식이 사용되어 왔다. 예를 들면, 매체에 저장된 콘텐츠는 매체에 액세스하기 위하여 권한이 부여된 장치에만 알려진 비밀키(secret key), 또는 키(key)로 암호화 될 수 있다. 단 하나의 키를 사용하는 데 따른 불리한 점은, 매체를 판독하기 위한 모든 장치의 권한을 철회하지 않고서는, 키를 변경함으로써, 특정 장치의 권한 부여를 취소할 수 없다는 것이다. 복수의 키를 사용하는 데 따른 몇몇 불리한 점은, 특정 장치 각각에 대한 키를 전송하고 저장하는 것이 잠재적으로 큰 부담이 될 수 있다는 것이다.
권한 없는 복사로부터 콘텐츠를 보호하는 또 다른 방법은, 4C Entity, LLC에 의하여 "기록 매체 규격에 대한 콘텐츠 보호(CONTENT PROTECTION FOR RECORDABLE MEDIA SPECIFICATION)"(0.94판, 2000년 10월 18일)라고 표제가 붙여진 출판물에 기재된 것처럼, 콘텐츠의 복사에 대해 권한을 부여하기 위한 매체키 블록(media key block, MKB)을 사용하는 것이다. 권한이 부여된 장치는 MKB를 처리하여, 아래에서 기술하는 것처럼, 권한이 부여된 장치가 콘텐츠를 복사할 수 있도록 매체키(media key)를 계산한다. MKB 방법은 매체 고유키(media unique key)를 사용하여 암호화된 콘텐츠를 그것이 재생될 매체에 묶는 것이다.
키가 손상되거나(compromised) 폐기될 때(revoked), MKB는 통상 수 메가 바이트의 크기로 꽤 커질 수 있다. 많은 형태의 매체는 판독전용 공간을 제한하기 때문에, MKB를 매체의 기록 가능 영역에 저장할 필요가 있게 된다. 기록 가능 영역에 MKB를 저장하는 것은 악의로 MKB를 무단 변경할 수 있다는 취약점이 있다. 이러한 직접 공격에서 무단 변경자의 의도는 구(older) MKB를 매체에 저장된 현재의(current) MKB로 바꾸려는 것이다. 또는, 무단 변경자는 구 MKB의 일부를 매체에 저장된 현재의 MKB의 일부로 바꿀 수 있다. 구 MKB가 현재 MKB에 의하여 취소될 키를 여전히 가지고 있으므로, 이러한 치환은 현재의 MKB에 의하여 제공된 콘텐츠 보호를 잠재적으로 손상시킬 것이다.
MKB가 매체의 읽기 가능 영역에 저장된다 하더라도 MKB 액세스의 또 다른 취약점은 중간자 공격(man-in-the-middle-attack)이 현재의 MKB의 처리를 시도하는 동안에 구 MKB를 현재의 MKB로 바꾸려고 공격할 수 있다는 것이다. 또는 중간 공격자는 현재의 MKB의 처리를 시도하는 동안에 구 MKB의 일부를 현재의 MKB로 바꿀 수 있다. 따라서 중간자 공격도 또한 현재의 MKB에 의하여 제공된 콘텐츠 보호를 잠재적으로 손상시킨다.
따라서 유효한 MKB가 없는 매체가 판독될 수 있고, 권한을 부여받지 않은 판독자가 보호된 매체에 저장된 콘텐츠를 판독할 수 있다. MKB 액세스 방법에 대한 변형예에서는, 해시 값(hash value)을 MKB에 관하여 계산하여 매체의 판독전용 영역에 저장한다. 판독장치(reader)는 MKB를 판독하고, 매체로부터 판독된 것과 같은 MKB의 해시 값을 계산하며, 그 해시 값을 읽기 가능 영역으로부터 판독된 해시 값과 비교한다. 그러나 해시 값을 계산하는 것은 권한부여 처리에 있어서 바람직하지 않은 지연을 초래한다. 그러므로 종래의 방법은 개선될 필요가 있다.
본 발명의 한 측면에서, DVD-R 및 DVD-RW 등의 매체의 컷팅 영역에 검증 데이터를 저장함으로써, 매체키 블록(MKB)의 무결성을 확인하는 방법을 개시한다.
일 실시예에서, MKB가 드라이브 호스트 구조에서 확인되는 경우 DVD-RAM과의 호환성을 실현하기 위해, 검증 데이터(validation data)는 MKB에 대한 해시 함수(hash function)를 포함할 수 있다. 이 실시예에서, 드라이브는 디스크의 제어 데이터 영역(CDA)으로부터 MKB를 판독하여 DVD-RAM, DVD-R 또는 DVD-RW 인지 여부를 확인한다. 드라이브를 약간만 조정하여 DVD-RAM의 CDA, DVD-R 또는 DVD-RW의 NBCA(narrow burst cutting area)로부터 해시 값을 판독할 수 있으므로, 드라이브는 이전의 확립된 과정을 이용하여 MKB의 진정성(authenticity)를 확인할 수 있다.
또다른 실시예에서, MKB가 소비자용 전자 재생장치/기록장치(이하 "CE 장치"라고 한다.)에 의하여 확인되는 경우 DVD-RAM과의 호환성을 실현하기 위해, 검증 데이터는 MKB의 VMKR(Verify Media Key Record, 확인용 매체키 레코드)의 인증 데이터 영역을 포함할 수 있다. 이 실시예에서, CE 장치는 디스크의 CDA로부터 MKB를 판독한다. 드라이브를 약간만 조정하여 DVD-RAM의 CDA, DVD-R 또는 DVD-RW의 NBCA(narrow burst cutting area)로부터 검증 데이터 영역을 판독할 수 있으므로, 드라이브는 이전의 확립된 과정을 이용하여 MKB의 진정성을 확인할 수 있다.
본 발명은 이하에 기술하는 바와 같이 다양한 연산을 포함한다. 본 발명의 연산은 하드웨어 컴포넌트로 실행할 수 있거나 기계적인 실행이 가능한 명령으로 구현될 수 있으며, 이는 프로그래밍된 논리회로가 범용 목적 또는 특수 목적 프로세서 또는 명령어로 연산을 실행하도록 하는데 사용할 수 있다. 또는, 이러한 연산은 하드웨어 및 소프트웨어의 조합으로 실행할 수 있다.
본 발명은 컴퓨터 프로그램 제품으로 제공될 수 있고, 이 제품은 컴퓨터(또는 장치)를 프로그램하여 본 발명에 따른 과정을 실행하는 데 사용할 수 있는 명령어를 저장한 기계로 판독 가능한 매체를 포함할 수 있다. 기계로 판독 가능한 매체는 제한되지는 않지만, 플로피 디스크, 광학 디스크, CD-ROM(compact disc-read only memory), 자기광학 디스크, ROM(read only memory), RAM(random access memory), EPROMS(erasable programmable read only memories), EEPROMS(electromagnetic erasable programmable read-only memory), 자기 또는 광학카드, 플래시 메모리, 또는 전기적 명령어를 저장하기에 적합한 기타 유형의 매체/기계로 판독 가능한 매체를 포함한다.
또한, 본 발명은 컴퓨터 프로그램 제품으로 다운로드 받을 수 있고, 통신 링크(예를 들면, 모뎀 또는 네트워크 연결)를 통하여 반송파 또는 기타 전파 매체에에 내장된 데이터 신호를 경유하여 원격 컴퓨터(예를 들면, 서버)에서 요청 컴퓨터(예를 들면, 클라이언트)로 프로그램을 전송할 수 있다. 따라서, 반송파는 기계로 판독 가능한 매체를 포함하는 것으로 간주할 수 있다.
다음과 같은 본 발명의 상세한 설명에서, 본 발명의 완전한 이해를 위해서 수 많은 세부 사항을 제공한다. 그러나 본 발명이 이러한 세부사항 없이도 실행될 수 있다는 것은 당업자에게 명백하다. 기타의 경우, 본 발명의 한 측면을 불필요하게 모호하게 하지 않도록 공지된 방법, 과정, 구성요소 및 회로는 상세하게 개시하지 않는다.
본 발명은 실시예의 방식으로 보여주고 있으나 이에 한정되는 것은 아니고, 첨부 도면에 기재된 동일한 도면 부호는 동일한 요소로 참조된다.
도 1은 본 발명의 한 실시예에 따른 간략 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 간략 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 간략 블록도이다.
도 4는 본 방법 발명의 간략 흐름도이다.
도 5는 판독전용 영역이 매체의 컷팅 영역 부분(cutting area region)을 포함하는 실시예를 보여주고 있다.
도 6은 데이터를 확인하기 위하여 매체의 컷팅 영역 부분을 사용하는 하나의 전형적인 시스템을 보여주고 있다.
도 7은 도 6의 방법을 보여주고 있다.
도 8은 데이터를 확인하기 위하여 매체의 컷팅 영역 부분을 사용하는 또 다른 전형적인 시스템을 보여주고 있다.
도 9는 도 8의 방법을 보여주고 있다.
도입부
여기서, 본 발명의 특성을 논의하기 위해 특정 용어를 사용한다. 예를 들면, 콘텐츠는 방송 또는 케이블 네트워크 등의 소유자 또는 라이센스권자가 프로그램한 정보이다. "콘텐츠"는 비즈니스 데이터, 뉴스, 스포츠, 예술 공연, 엔터테인먼트, 광고, 다큐멘터리, 토크, 필름, 비디오, 만화, 텍스트, 음악 및 그래픽을 포함하는임의의 청각 정보 또는 시각 정보일 수 있다.
매체
매체는 기계(예를 들면, 컴퓨터)로 판독할 수 있는 형태로 콘텐츠를 제공(저장 및/또는 전송)하는 임의의 메커니즘을 포함한다. 예를 들면, 기계로 판독 가능한 매체는 ROM, RAM, 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치, 전기적, 광학적, 음향적 또는 기타 형태의 전파 신호(예를 들면, 운반파, 적외선 신호, 디지털 신호 등)를 포함한다. 통상적으로, 콘텐츠는 DVD, CD, 플로피 디스크, 플래시 메모리 어레이 등의 매체에 암호화된 형태로 저장할 수 있다. MKB를 성공적으로 실행하기 위하여 인증되지 않은 장치의 부작동에서 연유한 액세스 제어 또는 폐기(revoke) 키를 가진 장치는 MKB를 유효화하여 콘텐츠를 암호 해독한다.
매체 판독장치
매체 판독장치는 매체로부터 콘텐츠를 판독하는 전기 장치이다. 매체 판독장치는 또한 매체로부터 콘텐츠를 제외한 데이터를 판독할 수 있다. 예를 들면, 매체 판독장치는 DVD 드라이브 또는 재생장치, CD 드라이브 또는 재생장치, 플로피 디스크, 디지털 TV, 디지털 VCR, PC의 CPU, 플래시 메모리 셀과 결합한 프로세서 또는 회로, 매체에 저장된 콘텐츠에 액세스할 수 있는 기타 소비자용 전기 장치일 수 있다. 매체에 기록하거나 판독하는 CD-RW 드라이브 등의 장치를 또한 매체 판독장치로 생각할 수 있다.
기록 가능한 매체용 콘텐츠 보호(CPRM)
본 발명의 실시예에서, 매체 판독장치는 콘텐츠를 보호하기 위하여 CPRM(content protection for recordable media, 기록 가능한 매체용 콘텐츠 보호) 포맷(format)를 실행할 수 있다. CPRM은 DVD-RAM, DVD-R 및 DVD-RW 등의 제한되지 않는 다수의 물리적 매체 유형에 저장된 콘텐츠를 보호하는 방법을 정의한다. 장치의 필요조건은 이하의 "매체키 블록" 부분에서 상세하게 추가 설명한다.
매체키 블록(MKB)
MKB는 인접한 레코드의 시퀀스로 포맷되며, 각 레코드는 레코드 유형 필드로 시작하여, 다음에 레코드 길이 필드가 온다. MKB는 데이터를 보유한 n개의 MKB 팩으로 구성된 MKB 프레임의 일부이다. 각 MKB 프레임은 제1 MKB 팩 또는 MKB 팩 #0의 일부인 MKB 기술자(descriptor)로 시작된다. 제1 n-1 MKB 팩 각각은 완전하게 채워진다. n번째 MKB 팩은 0으로 채워져 사용하지 않은 바이트로 끝날 수 있다.
MKB를 처리하기 위해서, 권한이 부여된 장치 각각은 "n"개의 장치키(device key)의 세트(set)를 받는다. "n"개의 장치키를 Kd_i(i=0, 1, ..., n-1)로 표기한다. 장치키 각각에 대해, MKB에는 각각 수직열 값(column value)(Cd_i, 단 i=0, 1, ..., n-1) 및 수평열 값(row value)(Rd_i, 단 i=0, 1, ..., n-1)으로 표기되는 관련 수직열 값 및 수평열 값이 있다. 권한이 부여된 장치는 수평열당 하나 이상의 장치키를 가질 수 있지만, MKB의 수직열 각각에 대해서는 많아야 1개의 장치키를 가진다.
장치키, 관련 수평열 값 및 수직열 값은 비공개 상태로 유지된다. 장치키의 세트가 손상되면, 손상된 장치키의 세트를 가진 장치로 하여금 남아 있는 정상적(compliant) 장치에 의해 계산되는 것과 상이한 매체키를 계산하도록 하는 갱신된 MKB가 공개(released)될 수 있다. 이러한 방식으로, 손상된 장치키는 새로운 MKB에 의해 "폐기(revoke)"된다.
장치는 자신의 장치키를 이용하여 MKB의 레코드를 처음부터 끝까지 하나씩 처리함으로써 매체키를 계산한다. MKB 처리가 완료된 후, 장치는 가장 최근에 계산된 매체키 값을 매체키에 대한 최종 값으로 이용한다. 만일 장치가 상기 MKB에 의해 폐기되는 장치키를 이용하여 MKB를 정확하게 처리한다면, 얻어지는 최종 매체키는 특수 값 OH를 가지게 될 것이고, 이 때 H는 16진수를 가리킨다. 이 특수 값은 MKB의 올바른(correct) 최종 매체키 값이 될 수 없으며, 따라서 항상 장치의 키가 폐기됨을 나타내는 표시로 간주될 수 있다. 장치가 이 특수 매체키 값을 계산할 경우, 장치는 진행 중에 있는 인증, 재생(playback), 또는 기록 세션(recording session)을 중지하고, 이후의 어떤 계산에서도 상기 매체키 값을 사용하지 않을 것이다.
적절히 포맷된 MKB는 최초 레코드로서 단 한 개의 확인용 매체키 레코드(verify media key record, VMKR)를 가질 것이다. VMKR은 올바른 최종 매체키로 암호화된 16진수 값 DEADBEEF를 포함한다. VMKR은 필수적으로 존재해야 하지만, 장치가 VMKR을 이용하는 것은 필수적이 아니다. 장치는 이어지는 레코드를 처리하는 동안 자신의 현행 매체키 값을 이용하여, 매번 상기 16진수 값 DEADBEEF를 체크하면서 VMKR의 암호 해독을 시도할 수 있다. 장치가 VMKR을 성공적으로 암호 해독할 경우, 장치는 이미 올바른 최종 매체키 값을 계산한 것이며, 따라서 MKB 처리를 중지할 수 있다.
적절히 포맷된 MKB는 최초 레코드로서 단 한 개의 계산용 매체키 레코드(calculate media key record, CMKR)를 가질 것이다. 장치는 MKB 내에서 최초의 것 이후에 만나게 되는 CMKR은 어느 것이나 무시해야 한다. CMKR은 수직열 필드(column field)를 포함한다. 수직열 필드는 이하에 설명하는 바와 같이, 이 레코드와 함께 사용할 장치키에 대한 관련 수직열 값을 나타낸다. CMKR은 또한 각각의 장치키 수평열에 대응하는 각 수직열 내의 암호화 키 데이터를 포함한다. CMKR을 처리하기 전에, 장치는 소정의 i에 대해 관련 수직열 값 Cd_i==colum(수직열)을 구비한 장치키를 장치가 가지고 있는지 검사한다.
장치가 관련 수직열 값을 구비한 장치키를 갖고 있지 않을 경우에, 장치는 나머지 CMKR을 무시한다. 이와 반대일 경우에, 전술한 조건으로부터 값 i, 장치키 및 r=Rd_i, c=Cd_i를 이용하여, 장치는 수평열 r=Rd_i에 대한 암호화 키 데이터로부터 매체키 값을 암호 해독한다. 결과로서 생성된 매체키 값은 현행 매체키 값이 된다.
적절히 포맷된 MKB는 계산용 매체키 레코드를 가지지 않거나(zero) 또는 더 많은 조건부 계산용 매체키 레코드(C-CMKR)를 가질 수 있다. C-CMKR은 암호화된 조건부 데이터를 포함한다. 수직열에서 C-CMKR은 이중으로 암호화된 키 데이터를 포함한다. 이하에 설명하는 바와 같이 성공적으로 암호 해독되면, 암호화된 조건부 데이터는 16진수 값 DEADBEEF 및 이 C-CMKR과 함께 사용할 장치키에 대한 관련 수직열 값을 포함한다. 장치는 자신의 현행 매체키 값을 이용하여 암호화된 조건부 데이터로부터 조건부 데이터를 암호 해독한다.
레코드의 처리를 계속하기 전에, 장치는 다음 조건이 참(true)인지를 검사한다: 암호 해독된 조건부 데이터는 16진수 값 DEADBEEF를 포함하며, 장치는 상기 조건부 데이터로부터 암호 해독된 새로 관련된 수직열 값(i)을 구비한 장치키를 갖는다. 이들 조건 중 어느 것이라도 거짓이면 장치는 C-CMKR의 나머지를 무시한다. 이와 반대의 경우에는, 전술한 조건으로부터 값 i, 현행 매체키 값, 및 r=Rd_i, c=Cd_i를 이용하여, 장치는 C-CMKR 내의 관련 수직열에서 이중으로 암호화된 키 데이터를 암호 해독한다. 이어서, 장치는 장치의 i번째 장치키를 이용하여 이중으로 암호화된 데이터의 제1 암호 해독의 결과를 암호 해독한다. 결과로서 생성된 매체키는 현행 매체키 값이 된다.
판독전용 영역에서의 검증 데이터(validation date)의 저장
도 1을 참고하면, 매체 판독장치(media reader)(30) 내에 로딩된 매체(10)의 실시예가 도시되어 있다. 매체 판독장치(30)는 매체(10)로부터 콘텐츠(1)를 판독한다. 매체(10)가 기록 가능한 영역(writeable area)(12)을 포함할 경우, 매체 판독장치(30)도 매체(10)의 기록 가능한 영역(12)에 데이터를 기록할 수 있다. 앞에서 설명한 바와 같이, 매체 판독장치(30)는 매체 상에 저장된 정보를 판독할 수 있는 임의의 장치일 수 있다. 매체 판독장치(30)는 암호 해독, 계산 및 본 명세서에서 논의되는 다른 처리를 실행하는 마이크로프로세서 또는 다른 회로를 포함한다.
매체(10)는 판독전용 영역(13) 및 매체(10) 상에 저장된 매체키 블록(MKB)(11)을 포함한다. 도 1은 매체(10)의 기록 가능한 영역(12)에 저장되어 있는 MKB(11)를 예시한다. 그러나, MKB(11)는 이와 달리 본 발명의 사상과 범위를 벗어나지 않고 매체(10)의 판독전용 영역(13)에 저장될 수 있다.
MKB(11)의 일부는 암호화될 수 있고, VMKR(15)를 포함한다. 본 발명의 한 실시예에서, 상기 VMKR(15)는 또한 암호화되고 미리 선택된 값을 포함하는 "검증 데이터"로 불릴 수 있다. 주목할 것은 몇몇 매체 판독장치(30)는 MKB(11)을 처리하는 동안 검증 데이터(15)를 암호화한다는 사실이다. 그러한 경우, 본 발명은 검증 데이터(15)를 검색하기 위해 종래 기술보다 추가의 판독 조작을 필요로 하지 않는다.
검증 데이터의 사본(17)은 매체(10)의 판독전용 영역(13)에 저장된다. 판독전용 영역(13)은 예로서 DVD의 엠보싱된 데이터 존 또는 컷팅 영역을 포함할 수 있다. 검증 데이터의 사본(17)이 컷팅 영역에 저장되는 예시적 실시예가 아래에 설명된다. 검증 데이터의 사본(17)은 검증 데이터(15)를 암호화하는 방법과 동일한 방법으로 암호화된다. 따라서, 검증 데이터의 사본(17)과 검증 데이터(15)가 암호 해독될 때, 악의적인 탬퍼링(tempering)이 발생하지 않았으면 동일한 값이 얻어져야 한다.
또한 도 1을 참조하면, 매체 판독장치(30)는 매체(10)로부터 정보를 읽는다. 매체 판독장치(30)가 매체(10)로부터 읽은 정보는 콘텐츠(1)(액세스 권한이 부여된 후에), MKB(31), 판독장치 검증 데이터(33), 판독장치 검증 데이터의 사본(35)을 포함한다. 매체 판독장치(30)는 MKB를 처리함으로써 전에 얻어진 매체키를 사용하여 판독장치 검증 데이터(33), 판독장치 검증 데이터의 사본(35) 또는 둘 다를 암호 해독한다. 어느 한 암호 해독의 결과가 미리 선택된 값과 동일하지 않은 암호 해독된 값을 주면, 매체 판독장치(30)는 매체(10)에 저장된 콘텐츠(1)에 대한 액세스 권한부여를 거부한다. 암호 해독된 값이 모두 미리 선택된 값과 일치하면, 매체 판독장치(30)는 권한부여 프로세스를 계속한다.
매체(10)에 저장된 데이터 항목의 값과 매체 판독장치(30)에 의해 판독된 데이터 항목의 값은 콘텐츠(1)가 도용, 직접적 공격, 중간자 공격 및 기타 악의적 탬퍼링 하에 놓이는 환경에서 다를 수 있다. 따라서, 매체(10) 상에 저장된 검증 데이터(15)와 매체 판독장치(30)에 의해 매체(10)로부터 읽혀진 검증 데이터(33)를 구별하기 위해서, 검증 데이터(15)는 매체 검증 데이터(15)로 지칭될 수 있고, 검증 데이터(33)는 판독장치 검증 데이터(33)로 지칭될 수 있다. 매체(10) 상에 저장된 다른 데이터 항목과 매체 판독장치(30)에 의해 판독된 그 데이터 항목의 값 사이에 유사한 구별을 할 수 있다.
매체 판독장치(30)는 판독장치 검증 데이터(33)와 판독장치 검증 데이터의 사본(35)을 비교한다. 비교는 암호화된 값 또는 암호 해독된 값에 대한 것일 수 있다. 또한 두 가지 비교가 다 이루어질 수 있다. 판독장치 검증 데이터(33)의 값과 판독장치 검증 데이터의 사본(35)의 값이 동일하면, 매체 판독장치(30)는 매체(10) 상에 저장된 콘텐츠(1)에 대한 액세스 권한을 부여한다. 이 값들이 동일하지 않으면, 매체 판독장치(30)는 매체(10) 상의 콘텐츠(1)에 대한 액세스 권한부여를 거부한다.
따라서, 액세스 권한을 부여하는 것과 관련하여 판독장치 검증 데이터(33)와 판독장치 검증 데이터의 사본을 비교함으로써, 매체(10)와 매체 판독장치(30) 사이에 삽입된 중간자(man-in-the-middle) 장치가 검출될 수 있다. 검증 데이터의 2개의 사본의 비교와 관련하여 사용된 컨텐츠에 대한 액세스 권한을 부여하는 방법은, 예로서 MKB로부터 매체키를 암호 해독하는 것을 포함하여 본 기술분야에서 잘 알려진 방법들로부터 선택될 수 있다. 매체 검증 데이터의 사본 중 어느 하나(15 또는 17)의 중간자 변경이 판독장치 검증 데이터의 사본(33 및 35)의 암호화되거나 암호 해독된 값의 비교에 의해 검출될 수 있다. 매체 검증 데이터의 두 가지 사본 모두의 중간자 변경은 판독장치 검증 데이터 중 어느 하나의 암호 해독된 사본 또는 두가지 암호 해독된 값 모두에서 미리 선택된 값에 대해 검사함으로써 검출될 것이다.
이제 도 2를 참조하면, 본 발명의 매체(10)와 매체 판독장치(30)의 다른 예시적 실시예가 도시된다. 이 실시예에서, MKB(51)는 판독전용 영역(13)과 기록 가능 영역(12) 사이의 경계에 걸치도록 매체(10) 상에 저장되고, 매체 검증 데이터(55)는 판독전용 영역(13) 상에 저장된다. 이 실시예에서 검증 데이터의 사본은 요구되지 않는데, 왜냐하면 매체(10)의 판독전용 영역(13)의 판독전용 특성이 검증 데이터를 인증되지 않은 탬퍼링으로부터 보호하기 때문이다.
이제 도 3을 참조하면, 본 발명의 매체(70)와 매체 판독장치(30)의 또 다른 예시적 실시예가 도시된다. 이 실시예에서, 매체(70)는 내용이 저장되는 물리적 매체와 프로세서 또는 다른 로직 회로(72)를 둘 다 포함한다. 예로서, 매체(70)는 프로세서를 포함하는 플래시 메모리 어레이일 수 있다. 프로세서를 가진 매체의 다른 예는 DVD 드라이브를 관리하는 CPU를 가진 DVD 드라이브이다. 그러나, 본 기술분야의 당업자는 매체와 프로세서의 다른 조합이 명백하다는 것을 인식할 것이다. 다른 실시예들에서와 같이, 매체는 또한 기록 가능 영역(12)을 포함할 수 있다.
본 발명의 다른 실시예는 프로세서와, DVD 드라이브 등 입/출력 장치를 가진 퍼스널 컴퓨터를 포함한다. 콘텐츠(1)가 저장된 매체(10)는 입/출력 장치 내에 로딩된다. 매체(10)의 존재를 검출한 때, 또는 사용자의 명령이 있을 때에, 프로세서는 매체(10) 상에 저장된 내용에 액세스하려는 시도를 한다. 따라서, 퍼스널 컴퓨터의 프로세서는 매체 판독장치(30)로서 작용하고, 입/출력 장치는 매체(10)로서 작용한다. 프로세서는 본 명세서에 기술되듯이 매체 검증 데이터(15)와 매체 검증 데이터의 사본(17)을 처리하도록 구성될 수 있다. 본 기술분야의 당업자게 명백하듯이, 매체(10)와 매체 판독장치(30)의 조합은 콘텐츠(1)를 보호하고 액세스하는 시스템을 형성한다.
메시지 인증 코드(MAC) 사용
앞에서 논의된 검증 데이터에 추가하여 메시지 인증 코드가 사용될 수 있다. 본 실시예에서 메시지 인증 코드(MAC)를 포함시키기 위해서, 매체(70)는 매체(70)와 매체 판독장치(30) 사이의 인증 및 키 교환을 통해 설정된 실행시간 세션 키를 사용하여 매체 검증 데이터의 사본(17)에 관한 매체 MAC(73)을 계산한다. 결과적으로, 매체(70)는 매체 MAC(73)을 사용하여 매체 MKB(11)에 전자 서명한다.
매체 판독장치(30)는 매체(70)로부터 매체 MAC(73)을 판독한다. 매체 판독장치(30)는 또한 매체 검증 데이터의 사본(17)을 판독하고, 매체 MAC(73)을 계산하는 데에 사용된 동일한 알고리즘을 사용하여 판독장치 검증 데이터의 사본(35)에 관한 판독장치 MAC(75)을 계산한다.
판독장치 MAC(75)와 매체 MAC(73)을 비교함으로써, 매체 판독장치(30)는 매체(70)의 콘텐츠(1)에 대한 액세스 권한을 부여할 것인지에 대한 두 번째 결정을 하게 된다. 판독장치 MAC(75)와 매체 MAC(73)가 다르다면, 매체 판독장치(30)는 매체(70)의 콘텐츠(1)에 대한 액세스를 거부한다. 2개의 MAC가 동일하다면, 매체 판독장치(30)는 매체(70)의 콘텐츠(1)에 대한 액세스를 허용한다. 따라서, 매체 판독장치(30)는 매체의 전자 서명을 검사한다. 판독장치 및 매체 MAC의 계산과 비교는 검증 데이터 무결성 확인(validation data integrity check) 전과 후를 포함한 권한부여 프로세스 중 언제나 일어날 수 있다.
따라서, MAC은 MKB(11)에 대해 중간자 변경에 대한 또 다른 수준의 보호를 제공한다. 매체 검증 데이터의 사본(17)이 매체(10)로부터 판독될 때 중간자 장치가 매체 검증 데이터(17)의 사본을 변경한다면, 매체 MAC(73)와 판독장치 MAC(75)는 달라질 것이다.
도 4에는 본 발명의 매체에 저장된 콘텐츠에 대한 액세스 권한을 부여하기 위한 프로세스(400)의 일례가 나타나 있다. 매체가 배포되기 전에, 매체 검증 데이터를 포함하는 MKB는 매체에 저장된다(블록 401). 매체 검증 데이터는 매체의 판독 전용 영역에 저장되거나 또는 매체의 기록 가능한 영역에 저장될 수 있다. 매체 검증 데이터가 기록 가능한 영역에 저장되는 경우, 매체 검증 데이터의 사본은 판독 전용 영역에 저장된다(블록 403). 콘텐츠가 올바른 매체키를 이용하여 암호화된 다음, 블록 405에서 매체가 배포되기 전에 매체에 저장된다. 블록 407에서는, 사용자가 사용된 매체의 형태에 따라 지시한 대로 매체를 매체 판독장치에 삽입하거나 매체와 매체 판독장치를 연결한다.
다른 실시예에서는 콘텐츠를 암호화하고 저장하는 매체를 포함한다. 즉, 이 실시예의 매체는 CD-RW 드라이버와 같은 콘텐츠 기록장치일 수 있다. 따라서 매체는 블록 404를 실행한다.
매체의 존재를 감지하거나, 사용자 또는 다른 장치로부터 받은 명령이나 요청에 의해, 매체 판독장치는 블록 409에서 매체로부터 매체 검증 데이터를 포함하는 매체 MKB를 판독한다. 매체 검증 데이터의 사본이 매체의 판독 전용 영역에 미리 저장된 경우, 매체 판독장치는 또한 블록 411에서 매체로부터 매체 검증 데이터의 사본도 판독한다.
이후 매체 판독장치는 매체로부터 판독된 판독장치 검증 데이터의 암호화된 값을, 블록 413에서 판독된 판독장치 검증 데이터의 사본의 암호화된 값과 비교할 수 있다. 이 2개의 값이 다른 경우, 매체 판독장치는 블록 414에서 콘텐츠에 대한 액세스 권한부여를 거부한다. 그렇지 않은 경우, 권한부여 프로세스는 블록 415로 계속될 수 있다.
블록 415 및 417에서, 매체 판독장치는 매체로부터 판독한 판독장치 검증 데이터 및 매체로부터 판독한 판독장치 검증 데이터의 사본을 암호 해독한다. 이후, 매체 판독장치는 블록 419에서 MKB를 처리하여 얻은 매체키를 이용하여, 판독장치 검증 데이터의 암호 해독된 값과 검증 데이터의 판독장치 사본의 암호 해독된 값을 비교할 수 있다. 2개의 값이 다른 경우, 매체 판독장치는 콘텐츠에 대한 액세스 권한부여를 거부한다. 그렇지 않으면, 권한부여 프로세스는 블록 420으로 계속된다.
블록 420에서, 매체 판독장치는 판독장치 검증 데이터의 암호 해독된 값 또는 판독장치 검증 데이터의 사본의 암호 해독된 값과 미리 선택된 값을 비교한다. 대안으로, 판독장치는 암호 해독된 판독장치 검증 데이터와 판독장치 검증 데이터의 암호 해독된 사본 모두를 미리 선택된 값을 비교한다. 비교 중 임의의 하나가 실패하는 경우, 매체 판독장치는 콘텐츠에 대한 액세스 권한부여를 거부한다.
블록 421 및 423에서, 매체와 매체 판독장치는 본 기술 분야에서 공지된 방식으로 공유 섹션 키(shared session key)를 설정한다. 블록 425에서 매체 판독장치는 매체로부터 판독한 판독장치 MKB의 판독장치 해시 값에 대해 판독장치 MAC를 계산한다. 또한 매체는 블록 427에서 매체 MKB의 매체 해시 값에 대해 매체 MAC를 계산한다. 이후, 드라이버는 블록 426 및 429에서, 매체로부터 매체 MAC를 판독하여, 판독장치 MAC와 비교한다. 2개의 값이 다르면, 매체 판독장치는 블록 414에서 콘텐츠에 대한 액세스 권한부여를 거부한다. 그렇지 않으면, 드라이버는 블록 431에서 나타난 바와 같이 콘텐츠에 대한 액세스 권한을 부여하거나 또는 MKB를 처리할 수 있다.
다른 실시 형태에서는 올바른 매체키를 얻기 위해 MKB를 처리하는 단계, 이 매체키로 검증 데이터를 암호 해독하는 단계, 검증 데이터가 올바른 미리 선택된 값을 포함하는지 확인하는 단계, 및 MKB에서 검증 데이터의 암호화된 값을 암호화된 검증 데이터와 비교하는 단계를 포함한다. MAC은 성공적으로 장치 및 판독장치에 의해 계산된다.
다른 실시 형태에서는 검증 데이터에 대해 MAC을 성공적으로 계산하는 단계, 매체의 판독전용 영역에 저장된 검증 데이터를 암호 해독하는 단계, 및 검증 데이터가 올바른 미리 선택된 값을 포함하는지 확인하는 단계를 포함한다.
또 다른 실시 형태에서는 검증 데이터의 2개의 사본을 판독하기 전에 MAC를 계산하고 비교하는 단계를 포함한다. 따라서 판독장치가 검증 데이터의 사본 중 하나를 판독하는 경우, MAC는 검증 데이터를 동반할 수 있다.
판독전용 영역의 CA(컷팅 영역) 구역에 검증 데이터의 저장
일 실시예에서는, 도 5에 도시된 바와 같이, 검증 데이터(15)가 컷팅 영역(19)(CA 또는 CA 구역이라 칭하기도 함)이라 칭해지는 판독전용 영역(13)의 특수 구역 내에 저장될 수도 있다. CA 구역은 통상의 소비자용 기록 장치/매체를 이용하여 흉내 내기 어렵게 만드는 물리적 특성을 갖는 일부의 특정 매체 유형이다. CA 구역에 기록하기 위해서는 특별히 제조된 장치가 필요하며, 따라서 이 구역의 콘텐츠는 복사하기 어렵다. 또한, CA는 매체의 다른 영역을 판독하는 데 사용되는 것과는 물리적으로 다른 방법으로 판독되므로, 장치는 CA에 기록된 콘텐츠를 통상의 기록 가능한 매체에 통상적인 기록장치로 기록될 수 있는 콘텐츠와는 물리적으로 구별할 수 있다.
당업자라면 누구나 "CA" 또는 "CA 구역"이 본 명세서에 기재된 일반적인 특성을 가지는 영역으로서 구축되며, "CA" 또는 "CA 구역"라는 용어가 CA의 등가체로서 구축된다는 점에서, 본 명세서에 기재된 CA의 특성을 가지는 그 외의 영역을 배제하지 않음 이해할 것이다.
CA의 예에는 DVD-ROM(Digital Versatile Disc-Read-Only Memory) 및 DVD-RAM(Digital Versatile Disc-Random Access Memory)의 버스트 컷팅 영역; DVD-R(Digital Versatile Disc-Recordable) 및 DVD-RW(Digital Versatile Disc-Rewritable)의 좁은 버스트 컷팅 영역(NBCA)이 포함된다. (DVD-R 및 DVD-RW는 함께 DVD-R/W라 칭한다).
검증 데이터는 상술한 바와 같이, 확인용 매체키 레코드(15)의 사본을 포함한다. 다른 실시예에서, 검증 데이터는 확인용 매체키 레코드의 확인 데이터 필드의 사본, 및/또는 MKB_Hash라고도 알려진 MKB에 대한 해시 함수를 포함할 수 있다.
MKB_Hash를 포함하는 검증 데이터
검증 데이터는 MKB_Hash를 포함할 수 있다. 이는 예를 들면, DVD-RAM과의 호환성 유지를 도울 수 있으며, 여기서 MKB_Hash는 CPRM 콘텐츠 보호 방법이 사용되는 드라이브-호스트 구성을 가지는 PC 기반 시스템 내의 DVD-RAM의 판독전용 영역의 CDA 내에 저장된다. 이러한 시스템에서, DVD 드라이브 및 PC 호스트는 함께 CPRM 보호된 콘텐츠에 대한 기록장치 및/또는 재생장치로서 작용한다. 드라이브-호스트 구성에서, 호스트는 그것이 드라이브로부터 받은 MKB의 무결성을 확인한다. 호스트는 메시지 인증 코드(MAC) 계산 알고리즘을 이용해 이를 수행한다.
DVD-R/W 포맷에서, 예를 들면, 제조자(manufacturer)는 MKB_Hash를 계산하여, NBCA 내에 결과를 저장한다. 예를 들어, MKB_Hash는 C2_H(MKB)로서 계산될 수 있으며, 여기서 C2_H는 CPRM 기술에 사용되는 C2 암호화 알고리즘을 기본으로 하는 해싱 절차이며, MKB는 MKB 기술자를 제외한 MKB 프레임 전체를 포함한다. 드라이브-호스트 구성에서, 검증 데이터는 도 6에 예시된 바와 같이, DVD-RAM 및 DVD-R/W 모두에 대한 MKB의 무결성을 확인하는 데 사용되는 MKB_Hash를 포함한다.
호스트(61)로부터 요청되는 경우, 드라이브(61)는 DVD-R/W로부터 제1 MKB 팩(MKB 팩 #0)을 요청하여, NBCA(19)로부터 MKB_Hash(15)를 읽어들인다. MAC 계산 알고리즘(62)을 이용하여, MKB_Hash(15) 값에 대해 드라이브 MAC, m1(63)을 계산하고, MKB 팩 #0의 MKB 기술자(descriptor)의 일부는 m1(63)로 대체된다. 그런 뒤, 수정된 MKB 기술자가 호스트(61)에 반환된다. 사용 가능한 MKB 팩이 더 많이 존재하는 경우에는, 호스트(61)가 드라이브로부터 이들을 읽어들인다. 이어서, MKB 및 MKB 프레임 내에서 그것 뒤에 이어지는 임의의 비사용(0값) 바이트를 이용하여, 호스트(61)가 다음과 같이 h값을 계산한다:
h = C2_H(MKB 및 트레일링 0(trailing zero))
여기서, C2_H(65)는 MKB_Hash(15)를 계산하는 데 사용되는 해시 함수를 나타낸다.
이어서, 결과로서 얻은 h값을 이용함으로써, 호스트는 MAC 알고리즘(62)을 이용해 다음과 같이 호스트 MAC, m2(62)를 계산한다:
m2 = DVD-MAC(h).
호스트(61)의 비교 함수(67)는 m1 = m2인지를 결정함으로써 수령된 MKB(11)의 무결성을 확인한다. 확인이 실패하는 경우, 호스트(61)는 진행 중에 재생 또는 기록 세션을 중단시킨다. 그렇지 않은 경우, 호스트(61)는 매체 고유키(Kmn)를 계산한다. 매체키(Km)가 실행-규정되기 전후에 호스트(61)가 MKB(13)의 무결성을 확인하는 점을 유의하여야 한다.
드라이브-호스트 구성에 있어서의 MKB 검증 방법은 블록 700에서 시작하는 도 7에 나타낸다. 블록 702에서, 드라이브는 매체로부터 MKB_Hash를 판독하고, 블록 704에서 MKB_Hash에 대한 MAC 알고리즘을 계산한다. 드라이브 MAC, m1이 블록 706에서 생성되며, MKB의 MKB 기술자의 일부가 블록 708에서 대체된다. 수정된 MKB 기술자는 블록 710에서 호스트로 전송된다. 이어서, 호스트는 블록 712에서 매체로부터 MKB를 요청하고, 블록 714에서 MKB에 대한 MAC 알고리즘을 계산한다. 블록 718에서 m1과 m2가 비교되며, 이때 m1이 m2와 동등하지 않은 경우에는 블록 720에서 액세스가 거부되고, m1이 m2와 동등한 경우에는 액세스가 허가된다. 이 방법은 블록 724에서 종료된다.
확인 데이터(verification data)를 포함하는 검증
검증 데이터는 확인용 매체키 레코드의 확인 데이터 필드의 사본을 포함할 수 있다. 이는 예를 들면, DVD-RAM과의 호환성 유지를 도울 수 있으며, 여기서 확인용 매체키 레코드의 확인 데이터 필드의 사본은 CPRM 콘텐츠 보호가 사용되는 소비자용 전자 장치(이하, "CE 장치"라 칭함) 내의 DVD-RAM의 판독전용 영역의 CDA 내에 저장된다.
이를 구현하기 위하여, MKB의 확인용 매체키 레코드의 확인 데이터의 사본이 NBCA 내에 저장된다. 도 8에 도시된 바와 같이, CE 장치(80)는 DVD-R/W 디스크로부터 MKB(11)를 처리함으로써(81) DVD-R/W에 대한 MKB(11)을 인증한다. CE 장치(80)는 얻은 매체키(Km)(83)를 사용하여 DVD-R/W의 NBCA 내에 저장된 확인 데이터 필드(17)의 사본을 암호 해독함으로써(82), 처리 전에 16진수의 값인 DEADBEEF(84)로 암호 해독된다.
드라이브-호스트 구성에 있어서의 MKB 검증 방법은 블록 900에서 시작하는 도 9에 도시되어 있다. 블록 902에서, MKB가 처리되어 매체키를 생성한다. 이어서, CE 장치가 블록 904에서 확인 데이터를 판독한다. 암호 해독자(decryptor)는 매체키를 사용하여 블록 906에서 확인 데이터를 암호 해독한다. 확인 데이터가 블록 908에서 검사한 바와 같이 소정의 값(즉, DEADBEEF에 대한 16진수의 값)으로 암호 해독되는 경우, CE 장치는 블록 910에서 콘텐츠에 대한 액세스를 허가한다. 그렇지 않은 경우, CE 기구는 블록 912에서 콘텐츠에 대한 액세스를 거부한다. 이 방법은 블록 724에서 종료된다.
DVD-RAM와의 호환성 유지
전형적인 실시예에서, DVD-RAM과 DVD-R/W 사이의 완전한 호환성은 예를 들면 사용되는 장치와 관계없이 달성된다. 그러므로, MKB_Hash 및 확인 데이터 모두 DVD-R/W의 NBCA 내에 저장된다. 디스크의 컷팅 영역 내에 이들 두 유형의 확인 데이터를 저장함으로써, 매체 판독장치를 거의 또는 전혀 수정하지 않고도, DVD-RAM 및 DVD-R/W 모두에 대해 MKB의 무결성을 확인할 수 있다.
MKB_Hash(15)를 매체의 CA(19)에 놓음으로써, NKBs(11)를 검증하기 위해 MKB_Hash(15)를 이용하여 현존하는 매체 유형과의 호환성이 유지될 수 있다. 장치는 DVD-RAM의 제어 데이터 영역(CDA)에서 얻은 MKB_Hash를 판독할 것인가 DVD_R/RW의 NBCA에서 얻은 MKB_Hash를 판독할 것인가를 결정하기 위해 단지 미세 조정될 뿐이다. CPRM 포맷에서, 매체 판독장치는 매체의 MKB를 판독함으로써 매체 유형 사이를 구별할 수 있다. 또한, 드라이브 인터페이스 명령 및 반환된(returened) 데이터는 DVD-R/W 및 DVD-RAM에 동일한 것이고, 호스트는 CPRM 명세에서 미리 규정된 바와 동일한 절차로 MKB의 진정성을 확인한다.
DVD-RAM 및 DVD-R/RW 모두에 대한 MKB의 무결성은 소비자용 전자 재생장치/판독장치(이후, "CE 장치"라 칭함)를 미세 조정함으로써 CE 장치에서 확인할 수도 있다. 반면, CE 장치는 MKB의 진정성을 확인하기 위해 DVD-RAM의 제어 데이터 영역에서 확인 데이터를 판독하거나, 매체의 판독전용 영역으로부터 검증 데이터의 판독을 위해 앞에서 기재한 방식에서는 CE 장치는 MKB의 진정성을 확인하기 위해 DVD-R/W의 NBCA로부터 MKB_Hash를 판독한다. 다시 매체 판독장치는 CPRM 포맷에서 매체의 MKB를 판독함으로써 매체 유형들을 구별할 수 있다.
결론
따라서, 본 발명의 실시 형태에서는 권한이 없는 복제로부터 DVD-R/W 매체 상에 CPRM 콘텐츠와 같은 코텐츠를 보호하기 위해 매체키 블록을 검증하는 강력한 수단을 제공한다. 본 발명을 이용하는 새로운 디스크와 새로운 장치는 보호를 강화할 수 있다. 동시에, 매체 판독장치를 거의 변경하지 않거나 전혀 변경하지 않고도 새로운 장치와 오래된 장치, 그리고 새 매체와 구 매체 사이의 완전한 정보처리 상호운용의 가능성(interoperability)을 유지할 수 있다.
상기 명세서에서, 본 발명은 특정 실시형태를 참조로 기재하고 있지만, 다양한 수정과 변경이 본 발명의 포괄적인 사상과 범주를 이탈하지 않고 가능하다는 것은 명백하다. 따라서, 명세서 및 도면은 제한하고자 하는 것이기보다는 설명을 위한 것으로 간주되어야 할 것이다.
예를 들면 실시예가 기재되어 있지만, 당업자라면 본 발명이 다른 형태의 콘텐츠, 콘텐츠 보호 시스템, 및 매체 포맷에도 적용될 수 있다는 것을 알 수 있을 것이다. 예를 들면, 실시예에서는 현재의 보호의 형태(즉 CPRM)에 관한 것으로, DVD 매체에 특정하고 있지만, 당업자라면 현존하고 있는 다른 보호의 형태 또는 미래에 개발될 수 있는 다른 보호의 형태에도 적용할 수 있다는 것을 알 수 있을 것이다.
또한, 본 발명의 실시예에서는 컷팅 영역으로 칭하는 영역을 예로 들었지만, 컷팅 영역이 본 명세서에서 기재된 특성을 가진 영역이고, 이러한 영역이 이것으로 칭해지는 영역 또는 이러한 용어, 즉 컷팅 영역을 포함하는 영역으로 제한되는 것은 아니다. 예를 들면 DVD-ROM 및 DVD-RAM은 버스트 컷팅 영역으로 칭해지는 컷팅 영역을 포함하나, DVD-Rs 및 DVD-RWs는 좁은 버스트 컷팅 영역으로 칭해지는 컷팅 영역을 포함한다.

Claims (45)

  1. 콘텐츠를 포함하고 있는 판독할 매체와 관련된 매체 유형을 결정하는 단계,
    상기 매체로부터 매체키 블록(media key block)을 판독하는 단계,
    상기 결정된 매체 유형에 기초한 판독전용 영역(read-only area)의 유형에 따라 상기 매체의 판독전용 영역으로부터 상기 매체키 블록과 관련된 검증 데이터(validation data)를 판독하는 단계, 및
    상기 검증 데이터를 이용하여 상기 매체키 블록을 검증하는(validating) 단계
    를 포함하는 방법.
  2. 제1항에서,
    상기 검증 데이터를 이용하여 상기 매체키 블록을 검증하는 단계는
    상기 매체키 블록과 상기 검증 데이터를 비교하는 단계, 및
    상기 매체키 블록이 상기 검증 데이터에 부합하는 경우, 콘텐츠를 액세스하기 위한 권한을 부여하는 단계
    를 포함하는 방법.
  3. 제2항에서,
    상기 검증 데이터가 상기 매체키 블록으로부터 얻은 매체키를 사용하여 미리 결정된 값으로 암호 해독되는 경우, 상기 매체키 블록이 상기 검증 데이터에 대응하는 것을 특징으로 하는 방법.
  4. 삭제
  5. 제2항에서,
    상기 매체에 저장된 상기 검증 데이터는 상기 매체키 블록의 해시 함수의 결과를 포함하고,
    상기 콘텐츠를 액세스하기 위한 권한을 부여하는 단계는
    상기 매체의 판독전용 영역으로부터 판독한 상기 검증 데이터에 관해 메시지 인증 코드(massage authentication code, MAC) 알고리즘을 이용하여 제1 MAC를 계산하는 단계,
    상기 매체로부터 판독한 상기 매체키 블록에 관한 상기 해시 함수를 이용하여 판독장치(reader) 해시를 계산하는 단계,
    상기 판독장치 해시에 관해 상기 MAC 알고리즘을 이용하여 제2 MAC를 계산하는 단계, 및
    상기 제1 MAC와 상기 제2 MAC을 비교하는 단계
    를 포함하고,
    상기 제1 MAC와 상기 제2 MAC가 일치하는 경우, 상기 매체키 블록이 상기 검증 데이터에 대응하는 것을 특징으로 하는 방법.
  6. 제1항에서,
    상기 매체는 DVD-RAM(Digital Versatile Disc-Random Access Memory)을 포함하고,
    상기 판독전용 영역은 상기 매체의 제어 데이터 영역을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에서,
    상기 매체 유형은 DVD-R(Digital Versatile Disc-Recordable)과 DVD-RW(Digital Versatile Disc-Rewriteable) 중 어느 하나를 포함하고,
    상기 판독전용 영역은 상기 매체의 좁은 버스트 컷팅 영역(narrow burst cutting area)을 포함하는 것을 특징으로 하는 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 명령어 시퀀스(sequences of instructions)를 나타내는 데이터가 저장된 기계로 판독 가능한 매체로서,
    상기 명령어 시퀀스가 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금
    콘텐츠를 포함하고 있는 판독할 매체와 관련된 매체 유형을 결정하는 단계;
    상기 매체로부터 매체키 블록을 판독하는 단계,
    상기 결정된 매체 유형에 기초한 판독전용 영역의 유형에 따라 상기 매체의 판독전용 영역으로부터 상기 매체키 블록과 관련된 검증 데이터를 판독하는 단계, 및
    상기 검증 데이터를 이용하여 상기 매체키 블록을 검증하는 단계
    를 수행하게 하는 것을 특징으로 하는 기계로 판독 가능한 매체.
  23. 제22항에서,
    상기 검증 데이터를 이용하여 상기 매체키 블록을 검증하는 단계는
    상기 매체키 블록과 상기 검증 데이터를 비교하는 단계, 및
    상기 매체키 블록이 상기 검증 데이터에 부합하는 경우, 콘텐츠를 액세스하기 위한 권한을 부여하는 단계
    를 포함하는 것을 특징으로 하는 기계로 판독 가능한 매체.
  24. 제23항에서,
    상기 검증 데이터가 상기 매체키 블록으로부터 얻은 매체키를 사용하여 미리 결정된 값으로 암호 해독되는 경우, 상기 매체키 블록이 상기 검증 데이터에 대응하는 것을 특징으로 하는 기계로 판독 가능한 매체.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 제1항에서,
    상기 판독할 매체와 관련된 매체 유형을 결정하는 단계는 상기 매체키 블록의 일부분으로부터 상기 매체 유형을 취득하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020037008831A 2000-12-28 2001-12-21 매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체 KR100661064B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US09/750,642 US7111175B2 (en) 2000-12-28 2000-12-28 Method and apparatus for verifying the integrity of a media key block
US09/750,642 2000-12-28
US09/823,718 2001-03-30
US09/823,718 US6738878B2 (en) 2000-12-28 2001-03-30 Verifying the integrity of a media key block by storing validation data in the cutting area of media
US09/973,547 US6912634B2 (en) 2000-12-28 2001-10-09 Verifying the integrity of a media key block by storing validation data in a validation area of media
US09/973,547 2001-10-09
PCT/US2001/049784 WO2002054401A1 (en) 2000-12-28 2001-12-21 Verifying the integrity of a media key block by storing validation data in the cutting area of media

Publications (2)

Publication Number Publication Date
KR20030085513A KR20030085513A (ko) 2003-11-05
KR100661064B1 true KR100661064B1 (ko) 2006-12-22

Family

ID=50065962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037008831A KR100661064B1 (ko) 2000-12-28 2001-12-21 매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체

Country Status (1)

Country Link
KR (1) KR100661064B1 (ko)

Also Published As

Publication number Publication date
KR20030085513A (ko) 2003-11-05

Similar Documents

Publication Publication Date Title
US7155591B2 (en) Verifying the integrity of a media key block by storing validation data in the validation area of media
US6738878B2 (en) Verifying the integrity of a media key block by storing validation data in the cutting area of media
KR100580572B1 (ko) 매체에 저장된 컨텐츠의 비인증 사본의 재생을 방지하기위해 판독-전용 매체의 검증 영역을 이용한 키 재료의검증 방법 및 장치
KR101017002B1 (ko) 상호 인증 방법, 기록 매체, 신호 처리 시스템, 재생 장치 및 정보 처리 장치
JP2005512258A (ja) システムデータの完全性の検証方法及び装置
US7590865B2 (en) Method and apparatus for restriction use of storage medium using user key
US7178038B2 (en) Apparatus and method for reproducing user data
KR101299807B1 (ko) 보안 기 기록 디지털 매체
US20030091187A1 (en) Apparatus and method for reading or writing user data
US20080175389A1 (en) Method for managing copy protection information of recording medium
US20060277415A1 (en) Content protection method and system
US20080059377A1 (en) Method for managing copy protection information of recording medium
US20120066513A1 (en) Method and apparatus for authenticating a non-volatile memory device
KR100661064B1 (ko) 매체의 컷팅 영역에 검증 데이터를 저장함으로써 매체키 블록의 무결성을 확인하는 방법, 장치, 시스템, 및 매체
US20070118765A1 (en) Method and system of decrypting disc

Legal Events

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

Payment date: 20121123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee