KR20080031751A - 키 블록 기반의 인증 시스템 및 방법 - Google Patents

키 블록 기반의 인증 시스템 및 방법 Download PDF

Info

Publication number
KR20080031751A
KR20080031751A KR1020087001900A KR20087001900A KR20080031751A KR 20080031751 A KR20080031751 A KR 20080031751A KR 1020087001900 A KR1020087001900 A KR 1020087001900A KR 20087001900 A KR20087001900 A KR 20087001900A KR 20080031751 A KR20080031751 A KR 20080031751A
Authority
KR
South Korea
Prior art keywords
key
authentication
drive unit
key block
application
Prior art date
Application number
KR1020087001900A
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 KR20080031751A publication Critical patent/KR20080031751A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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/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
    • G11B20/00195Circuits 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 using a device identifier associated with the player or recorder, e.g. serial numbers of playback apparatuses or MAC addresses
    • 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
    • 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/00246Circuits 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 obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • 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/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00543Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein external data is encrypted, e.g. for secure communication with an external device or for encrypting content on a separate record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • H04L63/064Hierarchical key distribution, e.g. by multi-tier trusted parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 복수의 서브세트로 된 복수의 드라이브 유닛으로 이루어진 키 블록 베이스 인증을 위한 시스템(70, 80) 및 방법에 관한 것으로, 여기서 드라이브 유닛(3)은 노드 키(KNd) 세트와 그 드라이브 유닛(3)의 일부인 상기 서브세트를 지시하는 식별자(IDd)를 구비하고 어플리케이션 유닛(1)은 키 블록(AKB)을 구비하고 있는 그러한 키 블록 베이스 인증을 위한 시스템 및 방법에 관한 것이다. 해킹된 드라이브 유닛(3)을 키 블록 베이스 인증으로부터 무효화하도록 해킹된 드라이브 유닛(3)의 식별을 가능케 하는 본 시스템 및 방법은 기존의 키 블록 베이스 인증 시스템 및 방법과 상당히 호환 가능하다. 제안된 상기 시스템은 복수의 서브세트를 가지며 그 각각은 노드 키(KNd) 세트와 그 일부인 상기 서브세트를 지시하는 식별자(IDd)를 구비하는 복수의 드라이브 유닛(3)과, 상기 서브 세트 중 하나와 각각 연관되는 복수 쌍의 허가 및 인증 키(KAx, KRauthx)를 갖는 키 블록(AKB)을 포함하는 어플리케이션 유닛(1)과,상기 드라이브 유닛(3)으로부터 상기 어플리케이션 유닛(1)으로 상기 식별자(IDd)를 전송하고 상기 어플리케이션 유닛(1)으로부터 상기 드라이브 유닛(3)으로 허가 키(KAx)를 전송하는 통신 수단(72)과, 쌍으로 된 키에 의해 상기 드라이브 유닛(3)과 상기 어플리케이션 유닛(1)을 인증하는 인증 수단(54)을 포함하며, 상기 어플리케이션 유닛(1)은 상기 식별자(IDd)에 대응하는 상 기 키 블록(AKB)으로부터 쌍으로 된 키를 선택하는 선택 수단(62)을 포함하고, 상기 드라이브 유닛(3)은 상기 노드 키(KNd) 세트에 의해 상기 쌍으로 된 키의 상기 허가 키(KAx)로부터 상기 쌍으로 된 키의 상기 인증 키(KRauthx)를 유도하는 디코딩 수단(52)을 포함하는 것을 특징으로 한다.
키 블록 베이스 인증 시스템, 드라이브 유닛, 어플리케이션 유닛, 서브세트, 노드 키, 식별자, 허가 키, 인증 키, 키 블록

Description

키 블록 기반의 인증 시스템 및 방법{System and method for a key block based authentication}
본 발명은 복수의 서브세트로 된 복수의 드라이브 유닛으로 이루어진 키 블록 베이스 인증을 위한 시스템 및 방법에 관한 것으로, 여기서 드라이브 유닛은 노드 키 세트와 그 드라이브 유닛의 일부인 상기 서브세트를 지시하는 식별자를 구비하고 어플리케이션 유닛은 키 블록을 구비하고 있는 그러한 키 블록 베이스 인증을 위한 시스템 및 방법에 관한 것이다.
키 블록 베이스 인증 프로토콜은 공지된 것으로, 예컨대 광 디스크 드라이브와 호스트 컴퓨터 시스템 상에서 구동하는 소프트웨어 어플리케이션 사이에 사용된다. 비디오 콘텐트 보호 시스템(Video Content Protection System: VCPS) (http://www..licensing.phillips.com/vcps 참조)에 따르면, VCPS 보호 디스크로의 액세스를 위해 드라이브를 갖는 어플리케이션에 의해 인증 프로토콜이 실행되어야 한다. VCPS 스펙(1.1 이하 버전)에 특정되는 바와 같이, 어플리케이션은 어플리케이션 블록 (application key block: AKB) 및 선택 사항으로서 AKB에서 인코딩된 루트 키(KRroot)의 예비 계산된 카피를 포함한다. 어플리케이션은 또한 AKB의 장치 ID와 그 노드 키 세트(KNh)를 사용하여 AKB로부터 KRroot를 동적으로 계산할 수 있다.
불행히도, 어플리케이션에서 KRroot의 동적 계산은 단 하나의 어플리케이션이 해킹되더라도 모든 어플리케이션을 키 노출 해킹에 취약하게 한다. 이러한 취약성의 이유는 해킹자가 그 해킹된 어플리케이션으로부터 추출된 노드 키(KNh)를 사용하여, 만일 그 어플리케이션에 고유한 루트 키(KRroot)를 갖는 개인화된 AKB들이 포함되어 있다 하더라도, 다른 어플리케이션 모두의 AKB들에 포함된 루트 키(KRroot)를 결정할 수 있다. 그러므로, 해커는 해킹된 어플리케이션(데이터베이스의 구성에 사용되는 노드 키(KNh) 세트)의 동일성(identity)을 밝히지 않고 모든 루트 키(KRroot)를 포함하는 데이터베이스를 노출시킬 수 있다. 결국, 해킹은 여전히 일반 대중에 개방된 상태인 반면, 그 해킹된 어플리케이션은 확인되지 않아서 무효화될 수 없다.
이러한 키 노출 해킹을 경감시키기 위한 많은 해법이 알려져 있다. 제1 해법은 AKB가 포함된 어플리케이션 이외의 소정의 어플리케이션을 AKB가 인증하지 않는 방식으로 AKB를 구성하는 것이다. 사실상, 이것은 AKB가 (하나 또는 그 이상의 드라이브 이외에) 다른 어플리케이션을 '무효화'함을 의미한다. 그러므로, 해커는 다른 어플리케이션의 AKB에서 인코딩된 KRroot를 결정하는 한 어플리케이션의 노드 키(KNh)를 사용할 수 없다. 제2 해법은 AKB를 디코딩하는데 필요한 노드 키(KNh) 세트가 아닌 AKB 및 그 관련 루트 키(KRroot)를 어플리케이션에 장착하는 것이다.
VCPS (1.2 버전)의 경우, VCPS 어플리케이션은 다른 키 블록(소위 디스크 키 블록(DKB))의 디코딩을 위해 노드 키(KNh) 세트를 필요로 하고 모든 KNh은 동일한 키 스페이스로부터 선택되기 때문에, 이들 해법을 혼용한 해법을 채용하였다. 여기서, AKB는 그 AKB를 보유하는 어플리케이션을 포함하는 모든 어플리케이션을 "무효화"함으로써 그 KNh은 AKB로부터 KRroot를 디코딩하는데 사용될 수 없다.
전술한 해법은 해킹된 어플리케이션으로부터 야기될 수 있는 키 노출 해킹을 효과적으로 경감시킨다. 그 이유는 이들 해법이 해킹자로 하여금 일반 대중에 해킹을 개방하기 위해 그 해킹된 어플리케이션(즉 KRroot)을 식별하는 데이터를 공개하도록 하기 때문이다.
해킹된 어플리케이션에 대한 이러한 무효화 과정은 AKB가 아닌 다른 수단을 통해 실효화됨에 주의하여야 한다. 예를 들면, VCPS는 새로운 블랭크 매체에 배포된 DKB를 통해 어플리케이션을 무효화시킨다.
하드웨어 기기가 해킹되지 않을 것으로 간주하는 위협 모델(threat model)에서, 전술한 해법은 충분할 수 있다. 그러나, 보다 실제적인 위협 모델은 하드웨어 기기가 상당히 낮은 속도에서도 해킹될 것으로 가정한다. 해킹된 어플리케이션으로부터 야기되는 키 노출 해킹이 전술한 해법에 의해 해소될 수 있는 반면, 이러한 모델에 있어서는 해킹된 드라이브로부터 야기되는 키 노출 해킹에 취약함도 드러난다. 이 경우, 해커는 드라이브로부터 추출된 노드 키(KNd)를사용하여 모든 어플리 케이션의 루트 키(KRroot)의 데이터베이스를 구성한다. 상기 경우와 마찬가지로, 해커는 무효화된 드라이브의 동일성을 노출시키지 않음으로써 인증 및 그에 후속하는 무효화 처리가 가능하지 않다.
따라서, 본 발명의 목적은 복수의 서브세트로 된 복수의 드라이브 유닛으로 이루어진 키 블록 베이스 인증을 위한 시스템 및 방법을 제공하는 것으로, 여기서 드라이브 유닛은 노드 키 세트와 그 드라이브 유닛의 일부인 상기 서브세트를 지시하는 식별자를 구비하고 어플리케이션 유닛은 키 블록을 구비하고 있어서, 해킹된 드라이브 유닛을 식별하도록 함으로써 그 해킹된 드라이브 유닛이 상기 키 블록 베이스 인증으로부터 무효화되도록 하고, 또한 키 블록 베이스 인증을 위한 기존의 시스템 및 방법과 상당히 호환 가능한 그러한 키 블록 베이스 인증을 위한 시스템 및 방법을 제공하는 것이다.
본 발명에 따르면, 상기 목적은 키 블록 베이스 인증을 위한 시스템에 의해 달성되며, 상기 시스템은:
-복수의 서브세트를 가지며 그 각각은 노드 키 세트와 그 일부인 상기 서브세트를 지시하는 식별자를 구비하는 복수의 드라이브 유닛과,
-상기 서브 세트 중 하나와 각각 연관되는 복수 쌍의 허가(authorization) 및 인증 키를 갖는 키 블록을 포함하는 어플리케이션 유닛과,
-상기 드라이브 유닛으로부터 상기 어플리케이션 유닛으로 상기 식별자를 보내고 상기 어플리케이션 유닛으로부터 상기 드라이브 유닛으로 허가 키를 보내는 통신 수단과,
-쌍으로 된 키에 의해 상기 드라이브 유닛과 상기 어플리케이션 유닛을 인증하는 인증 수단을 포함하며,
상기 어플리케이션 유닛은 상기 식별자에 대응하는 상기 키 블록으로부터 쌍으로 된 키를 선택하는 선택 수단을 포함하고,
상기 드라이브 유닛은 상기 노드 키 세트에 의해 상기 쌍으로 된 키의 상기 허가 키로부터 상기 쌍으로 된 키의 상기 인증 키를 유도하는 디코딩 수단을 포함하는 것을 특징으로 한다.
본 발명은 또한 청구항 9의 드라이브 유닛에 관한 것이기도 한데, 상기 드라이브 유닛은
-노드 키 세트와,
-상기 드라이브 유닛의 일부인 상기 서브세트를 지시하는 식별자와,
-상기 식별자를 상기 어플리케이션 유닛에 보내고 상기 어플리케이션 유닛으로부터 허가 키를 수신하는 통신 수단과,
-상기 노드 키 세트에 의해 상기 허가 키로부터 인증 키를 유도하는 디코딩 수단과,
-상기 인증 키에 의해 상기 어플리케이션 유닛을 인증하는 인증 수단을 포함한다.
또한, 본 발명은 청구항 10의 어플리케이션 유닛에 관한 것이기도 하며, 상기 어플리케이션 유닛은
-상기 드라이브 유닛의 상기 서브세트 중 하나와 각각 관련된 복수 쌍의 허가 및 인증 키를 갖는 키 블록과,
-드라이브 유닛으로부터 식별자를 수신하고 상기 드라이브 유닛에 허가 키를 보내는 통신 수단과,
-상기 식별자에 대응하여 상기 키 블록으로부터 쌍으로 된 키를 선택하는 선택 수단과,
-인증 키에 의해 상기 드라이브 유닛을 인증하는 인증 수단을 포함한다.
상기 시스템에 대응하는 키 블록 베이스 인증 방법이 청구항 11에 정의된다. 이 방법은 컴퓨터 프로그램에 의해 컴퓨터 상에서 실행될 수 있으며, 상기 컴퓨터 프로그램은 컴퓨터 상에서 구동시 컴퓨터가 상기 방법의 단계들을 수행하도록 하는 컴퓨터 프로그램 코드 수단을 구비한다.
본 발명은, 인증 키와 이 인증 키가 유효한 드라이브 유닛 사이의 링크에 의해, 발행된 인증 키를 취하는 해킹된 드라이브 유닛을 식별할 수 있다는 사상에 기초한다. 인증에 있어서는 상이한 인증 절차임에도 동일한 인증 키를 사용하는 것을 필요로 하지 않기 때문에, 상이한 인증 절차, 즉 동일하거나 상이한 어플리케이션 유닛으로 인증하는 상이한 드라이브 유닛에 대해 상이한 인증 키를 제공하는 것이 가능하다. 따라서, AKB에서 각 인증 키(KAx)가 상이한, 바람직하게는 고유한 인증 키(KRauth)를 인코딩하는 것이 제안되고 있다. 결국, 어플리케이션 유닛은 그 어플리케이션 유닛에 의해 AKB로부터 인코딩될 수 없을 때 그 하나가 아닌 다수의 인 증 키(KRauth)를 저장하여야 한다.
만일 해커가 특정 드라이브 유닛으로부터 노드 키(KNd) 세트를 회수할 수 있으면, 그는 각 어플리케이션 유닛의 AKB의 인증 키(KRauth) 중 하나를 인증할 수 있을 뿐이다. 그러므로, 소수의 대중의 서브셋, 즉 해킹된 드라이브와 동일한 AKB의 서브트리에 위치하는 드라이브를 갖는 사람들에만 이익이 될 수 있을 것이므로 키 노출 해킹의 유효성은 감소된다.
해커는 해킹된 드라이브의 동일성을 적어도 일부 노출하도록 강제되는데: 각 KRauth가 고유하므로 AKB 내의 그 위치 및 그에 따른 그 AKB를 통한 경로를 결정하는 해킹된 드라이브의 동일성 일부가 알려진다. 그러므로, 모든 이후의 AKB는 알려진 경로 상에 있는 노드 키를 무효화할 수 있다. 결국, 공격받은 드라이브를 한정적 횟수의 단계로 무효화하는 것이 가능하며: 상기 해커는 반복시마다 드라이브의 동일성을 적어도 1 이상의 비트를 노출하도록 강제된다.
어플리케이션 유닛 또는 드라이브 유닛의 해킹 여부의 검출이 가능하다: 어플리케이션 유닛이 해킹되었으면, 그 매립 인증 키(KRauth)의 전부 또는 대부분이 아마도 거의 동시에 노출되기 쉽다. 이 경우, 어플리케이션 유닛은 새로운 AKB를 포함하는 새로운 버전으로 교체되어야 한다. 드라이브가 해킹되었으면, 각 어플리케이션 유닛으로부터 오직 하나의 KRauth만이 노출될 것이다. 이 경우, 모든 어플리케이션 유닛은 새로운 AKB와 새로운 인증 키 세트를 회수하여야 하며, 이때 내부에 정렬된 해킹된 드라이브 유닛 또는 서브트리는 무효화된다.
종래 기술로부터 공지된 어플리케이션 키 블록에 포함된 각 인증 키로부터 동일한 루트 키(KRroot)가 유도되는 그러한 종래 기술의 어플리케이션 키 블록과는 달리, 본 발명에 따른 어플리케이션 키 블록은 복수의 허가 키(KAx)를 포함하고, 상기 어플리케이션 키 블록 내의 드라이브 유닛의 상이한 서브세트에 관련된 상기 복수의 허가 키(KAx)로부터 복수의 인증 키(KRauth)가 유도된다. 따라서, 상이한 인증 키(KRauth)는 종래 기술에 따라 모든 드라이브 유닛의 인증에 사용되는 단일의 루트 키(KRroot)와 달리 상이한 서브세트로부터 드라이브 유닛을 인증하는데 사용될 것이다.
본 발명에 따른 인증 시스템의 일 실시예에 따르면, 상기 드라이브 유닛은 바람직하게는 광 디스크 드라이브와 같은 드라이브인 사용자 기기이며, 상기 어플리케이션 유닛은 호스트 컴퓨터 상의 소프트웨어 어플리케이션이다. 키 블록 베이스 인증은 비허가된 액세스로부터 보호될 데이터가 광 데이터 캐리어에 제공되고 컴퓨터나 기타 호스트에 로딩되어지는 경우에 특히 중요하다.
본 발명에 따른 상기 인증 시스템의 바람직한 실시예에서, 상기 식별자는 실질적으로 고유한 식별자이다. 각 드라이브 유닛에 실질적으로 고유한 식별자를 제공하는 것에 의해, 바로 그 해킹된 드라이브 유닛이 식별되어 무효화되고 "순수(innocent)" 드라이브 유닛은 그 무효화에 의해 영향을 받지 않는 것을 보장할 수 있다.
본 발명의 다른 실시예에서, 상기 키 블록은 상기 드라이브 유닛의 복수의 서브세트에 대응하는 특히 이원 트리 구조와 같은 트리 구조의 표시(representation)를 포함한다. 상기 서브세트의 표시를 트리 구조로 배열하는 것에 의해, 그러한 트리 구조에 의한 검색이 용이하고 빠르기 때문에 관련 서브세트를 단시간 내에 찾을 수 있는 용이한 방법이 존재한다.
유리한 실시예에서, 인증 시스템은 이전의 키 블록을 사용하여 상기 어플리케이션 유닛을 위한 새로운 키 블록을 생성하는 키 블록 생성기를 더 포함하는데, 상기 키 블록 생성기는 상기 이전 키 블록으로부터 적어도 하나의 인증 키를 무효화하여 상기 새로운 키 블록을 형성하는 무효화 수단, 상기 무효화된 인증 키와 관련된 드라이브 유닛의 복수의 서브세트를 상기 새로운 키 블록에서 드라이브 유닛의 실질적으로 새로운 서브세트에 배열하는 배열 수단, 및 상기 새로운 세브세트를 위한 새로운 인증 키를 인코딩하는 새로운 허가 키를 생성하는 키 생성 수단을 포함한다. 상기 키 블록 생성기는 무효화되지 않은 복수의 드라이브 유닛이 유효 허가 키가 키 블록 내로 포함되는 서브세트에 의해 커버링되는 방식으로 무효화되지 않은 복수의 드라이브 유닛에 대한 엔트리를 재배열할 수 있다.
바람직한 실시예에서, 본 발명에 따른 상기 인증 시스템은 복수의 어플리케이션 유닛을 더 포함하는데, 각각의 상이한 어플리케이션 유닛은 상이한 키 블록을 가진다. 시스템 내에 상이한 키 블록이 존재하면, 해커는 일반 대중에게 해킹을 개방하기 위해 해킹된 드라이브 유닛의 동일성을 보다 상세하게 노출하도록 강제된 다.
따라서, 상기 키 블록 생성기는 상기 이전 키 블록으로부터 각 어플리케이션 유닛 또는 어플리케이션 유닛의 그룹에 대해 상이한 새로운 키 블록을 생성하도록 적용되는 것이 더욱 바람직하다.
본 발명에 따른 인증 시스템의 유익한 실시예에서, 상기 키 블록 생성기는 상기 이전 키 블록으로부터 새로운 키 블록을 생성하도록 적용되는데, 상이한 새로운 키 블록은 드라이브 유닛에 있어서 실질적으로 상이한 새로운 서브세트로 배열된다. 실질적으로 상이한 새로운 서브세트에 의해, 미래에 해킹될 드라이브 유닛이 상이한 서브세트의 일부가 되는 것을 얻을 수 있다. 그러므로, 해킹된 허가 키가 사용되는 드라이브 유닛의 수는 하나의 특정 키 블록을 향하는 하나의 특정 서브세트의 그것으로 한정될 수 있거나, 해커가 소정의 키 블록을 향하는 소정의 드라이브 유닛에 의해 해킹이 활용되도록 많은 정보를 노출하여야 한다. 해킹은 실제 쓸모없거나 그 노출된 정보가 상기 해킹된 드라이브 유닛을 보다 빠르게 추적할 수 있게 한다.
해킹된 드라이브 유닛을 추적하는데 필요한 반복 횟수는 AKB를 신중하게 확장하는 것, 즉 트리의 상부 파트의 추가적인 노드 키를 "무효화"하는 것에 의해 감소될 수 있으므로, 허가 키(KAx)는 가능한 한 트리 바닥에 가깝게 위치된다. 이것은 (가능하게는 상당히) 큰 AKB를 유도하지만, 그 증가된 저장 요건은 어플리케이션 유닛에 대해 문제점을 야기하지 않는다. 예컨대, AKB 크기는 모든 허가 키(KAx) 가 트리의 루트 아래로 10 레벨인 경우 약 16kB에 불과하다. 공격당하거나 해킹된 드라이브 유닛을 줌-인(zooming in)하는 것에 의해, 즉 해킹된 드라이브 유닛을 포함하는 것으로 알려진 서브트리에 추가적인 "무효화"를 부가하는 것에 의해, 단지 약간의 반복 후에 완전한 무효화를 얻을 수 있다. 이러한 방식으로 추적디어 무효화되어야 할 복수 드라이브가 존재하면, 이들 드라이브 모두에 대해 동시에 상기 줌-인을 행하여야 하므로 필요한 반복 횟수는 증가할 것이다. 그러나, 상이한 대중적인 어플리케이션의 AKB가 상이한 공격받은 드라이브에 대해 줌-인하는데 사용되는 경우 어느 정도 효율이 유지될 수 있다. 추가적 "무효화"가 예컨대 임의로 선택되는 어플리케이션의 개별 설치가 고유한 AKB를 포함한다면 보다 큰 효율을 얻을 수도 있다: 이 경우, 해커는 일반 대중에 해킹을 개방하기 위해 AKB의 집합에 존재하는 최하부 KAx를 노출하여야 하므로 해킹된 드라이브의 동일성의 실질적인 부분을 포기하여야 한다.
이하에서는 다음의 도면을 참조로 하여 본 발명을 보다 상세히 설명한다.
도면에서,
도 1은 VCPS에 따른 어플리케이션 키 블록의 트리 구조를 도시하며,
도 2는 무효화된 기기를 갖는 VCPS에 따른 어플리케이션 키 블록의 보다 상세한 트리 구조를 도시하며,
도 3은 본 발명에 따른 어플리케이션 키 블록의 트리 구조를 도시하며,
도 4는 본 발명에 따른 인증 방법의 일 실시예를 도시하며,
도 5는 본 발명에 따른 키 블록 베이스 인증 시스템의 블록 다이어그램을 도시하며,
도 6은 본 발명에 따른 키 블록 베이스 인증 시스템의 다른 실시예를 도시한다.
도 1은 공지된 AKB의 상부 파트의 예를 도시한다. AKB는 VCPS 스펙에 특정된 일반적 인에이블 키 블록(EKB)의 경우이다.
이러한 일반적인 EKB에서, 모든 허가 키(KAx)는 동일한 루트 키(KRroot)를 인코딩한다. VCPS의 경우 DKB는 필수적인데, 이는 모든 재생기와 기록기에 대해 명백히 동일한 콘텐트 키를 계산하기 위해 키 계층에 상기 루트 키가 사용되기 때문이다. 그러나, AKB의 경우 이를 필요로 하지 않는다. 그 이유는 인증 프로토콜에 있어서 상이한 실행 간에는 어떤 관계도 존재하지 않으며, 따라서 공유된 비밀(즉 KRroot)은 상이할 수 있기 때문이다.
EKB는 이원 트리 구조 표시를 포함한다. 백색원과 회색원은 트리의 노드를 나타낸다. 흑색원은 트리의 루트 노드를 나타낸다. 하나의 노드 바로 위의 노드를 그 어미 노드(parent node)로 부른다. 하나의 노드 바로 아래의 노드는 자식 노드(child node)로 부른다. 동일한 어미를 갖는 2개의 노드는 형제(sibling) 노드로 부른다. 어떤 자식도 없는 노드는 리프(leaf) 노드로 부른다. 하나의 노드 로부터 루트까지의 (단일) 경로 상에 있는 모든 노드는 조상(ancestor) 노드로 부른다. 하나의 노드로부터 아래로 리프 노드까지의 (다중) 경로 상에 있는 모든 노드는 파생(descendant) 노드로 부른다. 노드와 모든 그 파생 노드로 형성된 트리는 서브-트리로 부른다. 도 1에서, 백색원은 리프 노드를 나타내고, 회색원은 어미 노드를 나타낸다. 루트 노드는 트리에서 레벨 0에 있다. 트리에서 n 레벨 노드의 자식 노드는 트리에서 n+1 레벨에 있다. EKB는 루트 노드와 적어도 하나의 리프 노드를 포함한다.
EKB 트리의 노드는 다음 정보를 담고 있다: 3-비트 태그 및 선택적으로 허가 키(KA). 태그는 트리 구조를 설명한다. 각 노드는 태그를 보유한다. 도 1에서, 각 노드에서 좌측으로 지시된 비트 열(bit sequence)은 태그를 지시한다. 태그 비트는 다음의 의미를 갖는다: 노드가 루트 노드 또는 리프 노드인 경우 가장 좌측 태그 비트는 '1'으로 설정되고, 그렇지 않으면 가장 좌측 태그 비트는 '0'으로 설정된다. 노드가 좌측 자식 노드를 가지면 가운데 태그 비트는 '0'으로 설정되고, 그렇지 않으면 가운데 태그 비트는 '1'로 설정된다. 마찬가지로, 노드가 우측 자식 노드를 가지면 가장 우측 태그 비트는 '0'로 설정되고, 그렇지 않으면 가장 우측 태그 비트는 '1'로 설정된다. 허가 키(KA)는 적절한 노드 키(KN)로 복호화된 루트 키(KRroot)로 이루어진다. 각 리프 노드는 고유한 허가 키(KA)를 보유한다. 어미 노드는 인증 키(KA)를 보유하지 않는다. 도 1에서, KAx는 허가 키를 나타낸다. 이 표시에서 첨자 x는 하나 이상의 장치 ID의 최상위 비트에 대응하는 비트 스트링이다.
도 2는 무효화된 기기를 갖는 VCPS에 따른 어플리케이션 키 블록의 보다 상세한 트리 구조를 도시한다. 어플리케이션 키 블록(AKB)은 8개의 드라이브 유닛 (ID0-ID7)이 제공되는 트리형 구조에 배열된다. 드라이브 유닛 ID2는 무효화되고, 따라서 상기 어플리케이션 키 블록은 3개의 허가 키를 갖는다. 드라이브 유닛 전체(entirety)를 표현하는 트리는 드라이브 유닛의 전체가 아닌 무효화되지 않은 드라이브 유닛 ID0, ID1, ID3-ID7의 전체를 커버하는 3개의 서브-트리로 구분된다. 트리 구조에 따르면, 드라이브 유닛 ID0, ID1은 하나의 서브-트리에 포함되고 ID4-ID7은 다른 서브-트리에 포함된다. ID3의 서브-트리는 오직 ID3만을 포함한다. 각 드라이브 유닛의 노드 키(KNd) 세트는 상기 드라이브 유닛에 대응하는 루트로부터 리프에 이르는 경로의 노드 키를 포함한다. 예를 들면, 드라이브 유닛 ID0는 노드 키(K0,K00,K000)를 보유하고, 드라이브 유닛 ID5의 노드 키 세트는 K1, K10, K101를 포함한다. VCPS에 따른 인증에 사용되는 루트 키(K')는 상기 키 블록에 암호화된 형태로 3번 포함된다. 각 경우는 허가 키의 경우이며, 상기 어플리케이션 키 블록의 서브-트리 중 하나와 관련된 노드 키를 사용하여 암호화된다. E{K00}[K']는 이러한 허가 키를 나타내며, 이 경우 K'는 K00를 사용하여 암호화된다. 드라이브 유닛 ID0 및 ID1은 노드 키(K00)를 보유하고 있으므로, K00를 사용한 복호화를 통해 상기 허가 키 E{K00}[K']로부터 루트 키(K')가 유도될 수 있다. 상기 어플리케이션 키 블록의 허가 키로부터 K'를 얻을 수 없는 유일한 드라이브 유닛은 상기 루트 키(K')의 암호화에 사용되는 어떤 노드 키에도 액세스할 수 없으므로 무효화된 드라이브 유닛 ID2가 된다. 그러나, 잔여 드라이브 유닛 중 하나가 해킹되어 루트 키(K')가 공개되면, 드라이브 유닛이 해킹되었음을 나타내는 어떤 지시도 존재하지 않는다.
도 3은 본 발명에 따른 어플리케이션 키 블록의 트리 구조를 도시한다. 드라이브 유닛의 배열과 트리의 전체 구조는 도 2에 도시된 바와 같다. 여전히 키 K'가 존재하지만 이 키 K'는 허가에 사용되지 않는다. 본 발명에 따르면, 각 서브-트리는 그 자체의 고유한 허가 키를 인코딩하기 때문에 "루트 키"가 더 이상 존재하지 않는다. 도 3에 도시된 트리는 무효화되지 않은 드라이브 유닛 ID0, ID1, ID3-ID7의 전체를 커버하는 4개의 서브-트리로 구분된다. 이들 서브-트리 각각은 자체의 허가 키를 갖는다. 상이한 서브-트리의 허가 키는 상이한 인증 키를 인코딩한다. 따라서, 상이한 서브-트리에 대해 상이한 인증 키가 존재한다. 예를 들면, 인증 키 K1'은 드라이브 유닛 ID0, ID1의 서브-트리에 관련되며, 인증 키 K4'는 드라이브 유닛 ID6, ID7의 서브-트리에 관련된다. 도 3에 도시된 어플리케이션 키 블록으로는 ID2는 인증 키 K1'-K4' 중 어떤 것도 얻을 수 없는데, 이는 드라이브 유닛 ID2의 노드 키 세트에 포함된 노드 키를 사용하여 상기 인증 키 중 어떤 것도 암호화될 수 없기 때문이다. 따라서, 드라이브 유닛 ID2는 효과적으로 무효화되어 성공적인 인증 과정에 참여할 수 없다. 잔여 드라이브 유닛 중 소정 유닛이 해킹 되면, 해커는 대응하는 인증 키 K1', K2', K2' 또는 K4'를 얻을 수 있다. 각 인증 키를 공개함으로써 해커는 그 해킹된 드라이브 유닛의 동일성의 적어도 일부를 노출하게 된다.
예컨대 드라이브 유닛 ID4가 해킹되고 그 인증 키 K3'가 공개되면, 어떤 드라이브 유닛 ID4 또는 ID5가 해킹되었는지가 분명해질 것이다. 그러면 그에 따라 어플리케이션 키 블록을 변경하는 것이 가능해 진다. 드라이브 유닛 ID4, ID5의 서브-트리는 새로운 인증 키를 인코딩하는 새로운 허가 키를 각각 갖게 되는 2개의 서브-트리로 구분될 것이다.
예컨대 드라이브 유닛 ID3가 해킹되고 그 인증 키 K2'가 공개되면, 드라이브 유닛 ID3가 해킹되었는지가 분명해질 것이고, 따라서 그 해킹되고 식별된 드라이브 유닛 ID3가 무효화될 수 있다.
드라이브 유닛 ID4, ID5, ID6, ID7의 2개의 서브-트리에 의해 도시된 바와 같이, 해킹된 드라이브 유닛의 추적을 위한 반복의 필요한 단계들을 줄이는 것이 가능하다. 서브-트리를 작은 서브-트리로 정교하게 나누는 것에 의해, 동일 서브-트리에 존재하고 동일 인증 키를 공유하는 드라이브 유닛의 수는 그에 따라 감소된다. 반복 단계의 감축, 즉 해킹된 드라이브 유닛의 식별 이전에 어플리케이션 키 블록의 변경 이외에, 공개된 인증 키가 사용될 수 있는 해킹된 드라이브 유닛과 동일한 서브-트리 내의 그것과 같은 감축된 수의 드라이브 유닛만이 존재한다는 추가의 장점이 있다.
도 4는 본 발명에 따른 인증 방법의 일 실시예를 도시한다. 어플리케이션 유닛(1)은 허가 키(KAx)와 인증 키(KRauthx)(도 3에서 K')의 쌍을 포함하는 어플리케이션 키 블록(AKB)을 구비한다. 드라이브 유닛(3)은 식별자(IDd)와 노드 키(KNd) 세트를 구비한다. 상기 어플리케이션 유닛(1)과 상기 드라이브 유닛(3) 간의 통신은 상기 어플리케이션 유닛(1)에 의해 개시 이벤트(7)시 상기 드라이브 유닛(3)의 식별자에 대한 개시 요청(5)을 보내는 것에 의해 개시될 수 있다. 상기 개시 요청(5)은 상기 드라이브 유닛(3)이 수신한다. 상기 개시 요청(5)의 수신 및 처리의 단계 9는 상기 드라이브 유닛(3)을 식별하는 상기 식별자(IDd)를 포함하는 식별자 메시지(13)를 상기 어플리케이션 유닛(1)에 보내는 단계 11에 선행한다. 대안으로서, 상기 드라이브 유닛(3)이 상기 어플리케이션 유닛(1)으로부터 개시 요청(5) 없이 상기 식별자(IDd)를 전송함으로써 프로토콜을 개시할 수도 있다. 단계 15에서, 상기 어플리케이션 유닛(1)이 상기 식별자(IDd)를 사용하여 드라이브 유닛(3)을 위한 상기 허가 키(KAx)와 인증 키(KRauthx)의 쌍을 AKB에 위치시킨다. 상기 드라이브 유닛(3)이 허가되지 않으면, 예컨대 상기 드라이브 유닛(3)을 위한 허가 키(KAx) 또는 인증 키(KAauthx)가 존재하지 않으면, 상기 어플리케이션 유닛(1)은 인증 프로토콜을 취소할 것이다.
단계 17에서, 상기 어플리케이션 유닛(1)은 상기 허가 키(KAx), 상기 AKB 내 의 상기 허가 키(KAx)의 위치를 지시하는 지시자(j) 및 램덤 호스트 넘버(RA)를 포함하는 메시지(19)를 생성하여 전송한다. 상기 드라이브 유닛(3)은 상기 허가 키(KAx)와 상기 지시자(j)에 관련된 노드 키(KNd) 세트의 노드 키(KNj)에 의해 상기 인증 키(KRauthx)를 획득한다(단계 21). 단계 23에서, 상기 드라이브 유닛(3)은 랜덤 드라이브 넘버(RD)와 드라이브 키 기여(QD)를 생성하고 상기 호스트 넘버(RA)를 포함하는 메시지(25)를 상기 어플리케이션 유닛(1)에 전송하며, 상기 드라이브 넘버(RD)와 상기 키 기여(QD)는 상기 인증 키(KRauthx)를 사용하여 암호화된다. 상기 어플리케이션 유닛(1)은 상기 메시지(25)를 복호화하고 상기 메시지(25) 내에 정확한 호스트 넘버(RA)가 존재하는지를 체크한다(단계 27). 상기 호스트 넘버(RA)가 단계 17의 값과 일치하지 않으면, 인증 프로토콜은 취소된다.
단계 29에서, 호스트 키 기여(QA)가 생성되고, 메시지(31)가 상기 드라이브 넘버(RD)를 포함하여 상기 드라이브로 전송되며, 상기 호스트 넘버(RA) 및 상기 호스트 키 기여(QA)는 상기 인증 키(KRauthx)를 사용하여 암호화된다. 단계 33에서, 상기 드라이브 유닛(3)은 상기 메시지(31)를 복호화하고 상기 메시지(31) 내에 정확한 드라이브 넘버(RD)가 존재하는지 체크한다. 상기 드라이브 넘버(RD)가 단계 23의 값과 일치하지 않으면 인증 프로토콜은 취소된다.
단계 35 및 37에서, 상기 드라이브 키 기여(QD) 및 상기 호스트 키 기여(QA)로부터 버스 키(KB)가 생성된다. 상기 버스 키(KB)는 어플리케이션 유닛(1)과 드 라이브 유닛(3) 간의 상기 인증이 성공적이었다는 어플리케이션 유닛(1) 및 드라이브 유닛(3) 모두에 의해 공유되는 비밀이 된다. 인증 프로토콜이 취소된 경우, 단계 7 또는 단계 11 각각이 다시 개시되어야 한다.
도 5는 어플리케이션 유닛(1)과 드라이브 유닛(3)을 포함하는 본 발명에 따른 키 블록 베이스 인증 시스템(70)의 블록 다이어그램을 도시한다. 상기 어플리케이션 유닛(1)은 허가 및 인증 키의 쌍을 갖는 어플리케이션 키 블록(AKB)을 구비한다. 상기 어플리케이션 유닛(1)은 통신 수단(60), 선택 수단(62), 및 인증 수단(64)을 더 포함한다. 상기 드라이브 유닛(3)은 노드 키(KNd) 세트와 식별자(IDd)를 구비한다. 상기 드라이브 유닛(3)은 통신 수단(50), 디코딩 수단(52) 및 인증 수단(54)을 더 포함한다. 상기 통신 수단(50, 60)은 상기 시스템(70)의 통신 수단(72)의 일부이고, 상기 인증 수단(54, 64)은 상기 시스템(70)의 인증 수단(74)의 일부이다.
상기 식별자(IDd)는 상기 통신 수단(72)에 의해 상기 드라이브 유닛(3)으로부터 상기 어플리케이션 유닛(1)으로 전송된다. 상기 선택 수단(62)은 상기 AKB로부타 허가 키(KAx) 및 인증 키(KRauthx)의 쌍을 선택하는데 사용된다. 상기 허가 키(KAx)는 상기 디코딩 수단(52)이 사용되어 상기 노드 키(KNd) 세트에 의해 상기 허가 키(KAx)로부터 상기 인증 키(KRauthx)가 유도되는 경우 상기 어플리케이션 유닛(1)으로부터 상기 드라이브 유닛(3)으로 전송된다. 인증은 도 4와 관련하여 설 명된 바와 같이 상기 인증 수단(74)을 사용하여 행해진다.
도 6은 본 발명의 다른 실시예에 따른 키 블록 베이스 인증 시스템(80)을 도시한다. 상기 시스템(80)은 전술한 바와 같이 복수의 어플리케이션 유닛(1)과 복수의 드라이브 유닛(3)을 포함한다. 상기 어플리케이션 유닛과 상기 드라이브 유닛의 상세는 간명함을 위해 도시되지 않는다. 상기 시스템(80)은 무효화 수단(84), 배열 수단(86) 및 키 생성 수단(88)을 갖는 키 블록 생성기(82)를 더 포함한다. 상기 키 블록 생성기(82)는 이전의 키 블록을 사용하여 상기 어플리케이션 유닛(1)의 새로운 키 블록(AKB)을 생성한다. 상기 무효화 수단(84)과 상기 배열 수단(86)을 사용하여, 드라이브 유닛(3)의 서브세트를 무효화하기 위해 상기 키 블록으로부터 인증 키 및 그 관련 허가 키가 제거되며, 무효화되지 않을 상기 서브세트의 드라이브 유닛에 대응하여, 상기 키 생성 수단을 사용하여 새로운 쌍의 허가 및 인증 키가 생성되도록 새로운 서브세트로 엔트리가 배열된다. 상기 새로운 키 블록은 이후 상기 어플리케이션 유닛(1)으로 분배되거나 새로운 어플리케이션 유닛(1)에 대해 사용된다.
본 발명에 따르면, 새로운 키 블록에 기초한 인증 방법 및 대응하는 새로운 키 블록에 기초한 인증 시스템이 제안된다. 상이한 드라이브 유닛에 대해 상이한 인증 키를 제공하는 것에 의해, 해킹된 드라이브 유닛의 효과는 저감되며, 즉 해킹에 의해 얻어지는 인증 키의 유용성이 떨어지며, 해킹된 드라이브 유닛의 무효화를 용이하게 하기 위해 그러한 해킹된 드라이브 유닛의 식별이 가능해진다.
본 발명은 공지된 VCPS 인증 프로토콜과 상당히 호환 가능하다. 상기 프로 토콜 내에서 본 발명을 실행하기 위해 어떤 하드웨어나 명령 설정 변환도 필요하지 않다. 현재 버전의 스펙과 전적으로 역으로 호환 가능하다. 그러나, 반드시 변경되어져야 할 것은 키 생성 및 키 발행 툴과 소프트웨어 제작자 중심의 키 발행 인터페이스이다. 물론, 소프트웨어 제작자도 적합화되어야 한다.
본 발명은 블루-레이 디스크와 같은 다른 광학적 포맷에 사용 가능하고 또한 CPRM 및 AACS에 의해 사용되는 것과 같은 다른 키 블록 포맷과 그에 기초한 인증 프로토콜에도 적용 가능하기 때문에 상기 설명된 VCPS에 한정되지 않음에 유의하여야 한다.

Claims (12)

  1. 키 블록 베이스(based) 인증 시스템(70, 80)으로서:
    복수의 서브세트를 가지며 그 각각은 노드 키(KNd) 세트와 그 일부인 상기 서브세트를 지시하는 식별자(IDd)를 구비하는 복수의 드라이브 유닛(3)과,
    상기 서브 세트 중 하나와 각각 연관되는 복수 쌍의 허가(authorization) 및 인증(authentication) 키(KAx, KRauthx)를 갖는 키 블록(AKB)을 포함하는 어플리케이션 유닛(1)과,
    상기 드라이브 유닛(3)으로부터 상기 어플리케이션 유닛(1)으로 상기 식별자(IDd)를 전송하고 상기 어플리케이션 유닛(1)으로부터 상기 드라이브 유닛(3)으로 허가 키(KAx)를 전송하는 통신 수단(72)과,
    쌍으로 된 키에 의해 상기 드라이브 유닛(3)과 상기 어플리케이션 유닛(1)을 인증하는 인증 수단(54)을 포함하며,
    상기 어플리케이션 유닛(1)은 상기 식별자(IDd)에 대응하는 상기 키 블록(AKB)으로부터 쌍으로 된 키를 선택하는 선택 수단(62)을 포함하고,
    상기 드라이브 유닛(3)은 상기 노드 키(KNd) 세트에 의해 상기 쌍으로 된 키의 상기 허가 키(KAx)로부터 상기 쌍으로 된 키의 상기 인증 키(KRauthx)를 유도하는 디코딩 수단(52)을 포함하는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  2. 제1항에 있어서,
    상기 드라이브 유닛(1)은 바람직하게는 광 디스크 드라이브와 같은 특히 드라이브인 사용자 기기이며, 상기 어플리케이션 유닛(1)은 호스트 컴퓨터 상의 소프트웨어 어플리케이션인 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  3. 제1항에 있어서,
    상기 식별자(IDd)는 실질적으로 고유한 식별자인 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  4. 제1항에 있어서,
    상기 키 블록(AKB)은 상기 드라이브 유닛(3)의 복수의 서브세트에 대응하는 특히 이원 트리 구조와 같은 트리 구조의 표시를 포함하는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  5. 제1항에 있어서,
    이전의 키 블록을 사용하여 상기 어플리케이션 유닛(1)을 위한 새로운 키 블록을 생성하는 키 블록 생성기(82)를 더 포함하며,
    상기 키 블록 생성기(82)는
    상기 이전 키 블록으로부터 적어도 하나의 인증 키를 무효화하여 상기 새로운 키 블록을 형성하는 무효화 수단(84),
    상기 무효화된 인증 키와 관련된 드라이브 유닛(3)의 복수의 서브세트를 상기 새로운 키 블록에서 드라이브 유닛(3)의 실질적으로 새로운 서브세트에 배열하는 배열 수단(86) 및
    상기 새로운 세브세트를 위한 새로운 인증 키를 인코딩하는 새로운 허가 키를 생성하는 키 생성 수단(88)을 포함하는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  6. 제1항에 있어서,
    복수의 어플리케이션 유닛(1)을 더 포함하며, 각각의 상이한 어플리케이션 유닛(1)은 상이한 키 블록(AKB)을 가지는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  7. 제5항에 있어서,
    복수의 어플리케이션 유닛(1)을 더 포함하며, 상기 키 블록 생성기(88)는 상기 이전 키 블록으로부터 각 어플리케이션 유닛(1) 또는 어플리케이션 유닛(1)의 그룹에 대해 상이한 새로운 키 블록을 생성하도록 된 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  8. 제7항에 있어서,
    상기 키 블록 생성기(82)는 상기 이전 키 블록으로부터 새로운 키 블록을 생성하도록 되어 있으며, 상이한 새로운 키 블록은 드라이브 유닛(3)에 있어서 실질적으로 상이한 새로운 서브세트로 배열되는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80).
  9. 키 블록 베이스 인증 시스템(70, 80)의 드라이브 유닛(3)으로서,
    상기 시스템(70, 80)은 복수의 서브세트를 갖는 복수의 드라이브 유닛(3)과 어플리케이션 유닛(1)을 포함하며,
    상기 드라이브 유닛(3)은
    노드 키(KNd) 세트와,
    상기 드라이브 유닛(3)의 일부인 상기 서브세트를 지시하는 식별자(IDd)와,
    상기 식별자(IDd)를 상기 어플리케이션 유닛(1)에 전송하고 상기 어플리케이션 유닛(1)으로부터 허가 키(KAx)를 수신하는 통신 수단(50)과,
    상기 노드 키(KNd) 세트에 의해 상기 허가 키(KAx)로부터 인증 키(KRauthx)를 유도하는 디코딩 수단(52)과,
    상기 인증 키(KRauthx)에 의해 상기 어플리케이션 유닛(1)을 인증하는 인증 수단(54)을 포함하는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80)의 드라이브 유닛(3).
  10. 키 블록 베이스 인증 시스템(70, 80)의 어플리케이션 유닛(1)으로서,
    상기 시스템(70, 80)은 복수의 서브세트를 갖는 복수의 드라이브 유닛(3)을 더 포함하며,
    상기 어플리케이션 유닛(1)은
    상기 드라이브 유닛(3)의 상기 서브세트 중 하나와 각각 관련된 복수 쌍의 허가 및 인증 키(KAx, KRauthx)를 갖는 키 블록(AKB)과,
    드라이브 유닛(3)으로부터 식별자(IDd)를 수신하고 상기 드라이브 유닛(3)에 허가 키(KAx)를 전송하는 통신 수단(60)과,
    상기 식별자(IDd)에 대응하는 상기 키 블록으로부터 쌍으로 된 키를 선택하는 선택 수단(62)과,
    인증 키(KRauthx)에 의해 상기 드라이브 유닛(3)을 인증하는 인증 수단(64)을 포함하는 것을 특징으로 하는 키 블록 베이스 인증 시스템(70, 80)의 어플리케이션 유닛(1).
  11. 복수의 서브세트를 가지며 그 각각(3)은 노드 키(KNd) 세트와 그 일부인 상기 서브세트를 지시하는 식별자(IDd)를 구비하는 복수의 드라이브 유닛(3) 중 드라이브 유닛(3)과
    상기 서브 세트 중 하나와 각각 연관되는 복수 쌍의 허가(authorization) 및 인증(authentication) 키(KAx, KRauthx)를 갖는 키 블록(AKB)을 포함하는 어플리케이션 유닛(1)과의 사이의 키 블록 베이스 인증 방법으로서,
    상기 방법은
    상기 어플리케이션 유닛(1)에 상기 식별자(IDd)를 전송하는 단계(11)와,
    상기 식별자(IDd)에 대응하는 상기 키 블록(AKB)으로부터 쌍으로 된 키를 선택하는 단계(15)와,
    상기 드라이브 유닛(3)에 상기 쌍으로 된 키의 허가 키(KAx)를 전송하는 단계(17)를 포함하고,
    상기 드라이브 유닛(3)은 상기 노드 키(KNd) 세트를 사용하여 상기 허가 키(KAx)로부터 상기 쌍으로 된 키의 상기 인증 키(KRauthx)를 유도하는(단계 21) 것을 특징으로 하는 키 블록 베이스 인증 방법.
  12. 컴퓨터 상에서 구동시, 컴퓨터로 하여금 제11항에 따른 방법의 단계들을 수행하도록 하는 컴퓨터 프로그램 코드 수단을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020087001900A 2005-06-29 2006-06-26 키 블록 기반의 인증 시스템 및 방법 KR20080031751A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05105834.5 2005-06-29
EP05105834 2005-06-29

Publications (1)

Publication Number Publication Date
KR20080031751A true KR20080031751A (ko) 2008-04-10

Family

ID=37595508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001900A KR20080031751A (ko) 2005-06-29 2006-06-26 키 블록 기반의 인증 시스템 및 방법

Country Status (9)

Country Link
US (1) US20100153724A1 (ko)
EP (1) EP1899966A2 (ko)
JP (1) JP2008545316A (ko)
KR (1) KR20080031751A (ko)
CN (1) CN101213604A (ko)
BR (1) BRPI0612677A2 (ko)
EA (1) EA200800163A1 (ko)
TW (1) TW200719194A (ko)
WO (1) WO2007000711A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970391B1 (ko) 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
US8839002B2 (en) * 2008-04-23 2014-09-16 Cyberlink Corp. Optical media recording device for protecting device keys and related method
ES2427163T3 (es) * 2011-03-22 2013-10-29 Kapsch Trafficcom Ag Procedimiento para validar una transacción de peaje
CN104090986B (zh) * 2014-07-28 2018-06-01 福建三元达网络技术有限公司 一种无线控制器槽位控制方法、接入设备和无线控制器
CN106797314B (zh) * 2014-09-04 2020-10-16 皇家飞利浦有限公司 密码系统、网络设备、共享方法以及计算机可读存储介质
CN104809405B (zh) * 2015-04-24 2018-06-01 广东电网有限责任公司信息中心 基于分级分类的结构化数据资产防泄露方法
US9923715B2 (en) * 2015-06-09 2018-03-20 Intel Corporation System, apparatus and method for group key distribution for a network
US11115189B2 (en) 2019-06-03 2021-09-07 Advanced New Technologies Co., Ltd. Verifying a blockchain-type ledger
CN110349019B (zh) * 2019-06-03 2020-11-10 创新先进技术有限公司 一种块链式账本中的验证方法、装置及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE387775T1 (de) * 2000-01-21 2008-03-15 Sony Corp Daten-identifizierungs-system
TW514844B (en) * 2000-01-26 2002-12-21 Sony Corp Data processing system, storage device, data processing method and program providing media
KR20020081227A (ko) * 2000-10-18 2002-10-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 공통 암호 키의 생성
DE60323182D1 (de) * 2002-06-11 2008-10-09 Matsushita Electric Ind Co Ltd Authentifizierungssystem

Also Published As

Publication number Publication date
CN101213604A (zh) 2008-07-02
WO2007000711A2 (en) 2007-01-04
EA200800163A1 (ru) 2008-04-28
EP1899966A2 (en) 2008-03-19
JP2008545316A (ja) 2008-12-11
TW200719194A (en) 2007-05-16
BRPI0612677A2 (pt) 2016-11-29
WO2007000711A3 (en) 2007-07-05
US20100153724A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
KR20080031751A (ko) 키 블록 기반의 인증 시스템 및 방법
KR100562982B1 (ko) 브로드캐스트 암호화 시스템에서 트레이터 수신기들을추적하기 위한 방법
US7155591B2 (en) Verifying the integrity of a media key block by storing validation data in the validation area of media
US20140075207A1 (en) Apparatus, method, and computer program product for processing information
KR20020066233A (ko) 정보 처리 방법/장치 및 프로그램
JP2002215465A5 (ko)
CN1886939A (zh) 使用包含家庭网络成员装置的信息的智能卡构建家庭域的系统和方法
US20140173283A1 (en) Key management device, communication device, communication system, and computer program product
KR20050034639A (ko) 지역 한정 재생 시스템
KR20030091240A (ko) 일련번호 발생 방법 및 그 장치
US20030076958A1 (en) Information processing system and method
CN1322431C (zh) 基于对称密钥加密保存和检索数据
JP2007124717A (ja) デジタルコンテンツ無断複製防止システム
CN100364002C (zh) 读或写用户数据的设备和方法
JP2005011356A (ja) ディスクドライブにおける乱数発生方法及びそのシステム
US20080189794A1 (en) Secure Host Interface
KR20060133958A (ko) 콘텐츠 보호 방법 및 시스템
WO2009134239A2 (en) Enabling recording and copying data
US8689340B2 (en) Disk protection system
US7007162B1 (en) Forensic media key block for identifying compromised keys
US20060230463A1 (en) Method, apparatus, and computer program product for controlling copying and playback of digital data
US20090092019A1 (en) Information processing apparatus, disc, and information processing method, and computer program used therewith
JP2000231760A (ja) 情報記録装置および方法、情報再生装置および方法、並びに記録媒体
WO2007059807A1 (en) Apparatus and method for retrieving a decryption key, license server and media player
JP5180362B1 (ja) コンテンツ再生装置およびコンテンツ再生プログラム

Legal Events

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