KR20070096023A - 보안 호스트 인터페이스 - Google Patents

보안 호스트 인터페이스 Download PDF

Info

Publication number
KR20070096023A
KR20070096023A KR1020077018600A KR20077018600A KR20070096023A KR 20070096023 A KR20070096023 A KR 20070096023A KR 1020077018600 A KR1020077018600 A KR 1020077018600A KR 20077018600 A KR20077018600 A KR 20077018600A KR 20070096023 A KR20070096023 A KR 20070096023A
Authority
KR
South Korea
Prior art keywords
request
unit
response
challenge
drive
Prior art date
Application number
KR1020077018600A
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 KR20070096023A publication Critical patent/KR20070096023A/ko

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 using challenge-response
    • H04L9/3273Cryptographic 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 using challenge-response for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 애플리케이션부(1, 21, 41)와 드라이브부(3, 23, 43)를 포함하는 복제 보호 콘텐츠로의 액세스 권한을 제어하는 디지털 저작권 관리 시스템(40)과, 애플리케이션부(1, 21, 41)와, 드라이브부(3, 23, 43)와, 그에 대응하는 디지털 저작권 관리 방법에 관한 것이다. 디지털 저작권의 관리에 대한 보안을 강화하기 위해, 특히 "필터-드라이버" 해킹을 불가능하게 하거나 적어도 사실상 복잡하게 하기 위해, 그리고 디지털 저작권과 관련하여 주어진 커맨드와 그 실행에 관한 신뢰성 있는 검증을 위해, 디지털 저작권 관리 시스템(40)이 제공되고, 여기에서 상기 애플리케이션부(1, 21, 41)는 버스 키(KB)를 저장하기 위한 키 저장부(45)와, 상기 액세스 권한과 관련된 메시지와 챌린지(RX)를 포함하는 상기 드라이브부에 의해 실행되는 리퀘스트(7, 27)를 생성하기 위한 리퀘스트 생성부(47)와, 상기 리퀘스트(7, 27)를 보내고 상기 드라이브부(3, 23, 43)로부터의 상기 리퀘스트(7, 27)에 대한 응답(13, 33)을 받는 커뮤니케이션부(51)와, 상기 버스 키(KB)를 사용하여 상기 응답(13, 33)을 디코드하고 상기 응답(13, 33)에 있어서 상기 챌린지(RX)의 지시의 존재를 확인함으로써 상기 리퀘스트(7, 27)와 상기 응답(13, 33) 사이의 링크를 검증하는 응답 검증부(49)를 포함하고, 상기 드라이브부(3, 23, 43)는 버스 키(KB)를 저장하기 위한 키 저장부(55)와, 상기 애플리케이션부(1, 21, 41)로부터 상기 액세스 권한과 관련된 메시지와 챌린지(RX)를 포함하는 리퀘스트(7, 27)를 받고 상기 리퀘스트(1, 21, 41)에 대한 응답(13, 33)을 보내는 커뮤니케이션부(51) 와, 상기 리퀘스트(7, 27)를 검증하고 상기 메시지를 처리하는 리퀘스트 처리부(57)와, 상기 챌린지(RX)의 지시와 상기 메시지에 대한 리플라이를 포함하는 상기 응답(13, 33)을 생성하는 응답 생성부(59)를 포함하고, 상기 챌린지(RX)의 상기 지시와 상기 리플라이는 상기 버스 키(KB)에 의해 암호로 링크되고, 상기 응답(13, 33)에 있어서 상기 챌린지(RX)의 지시는 상기 리퀘스트가 실행되었다는 것을 나타낸다.
보안, 챌린지, 응답, 애플리케이션, 드라이브

Description

보안 호스트 인터페이스{SECURE HOST INTERFACE}
본 발명은 애플리케이션부와 드라이브부를 포함하는 복제 보호 콘텐츠로의 액세스 권한을 제어하는 디지털 저작권 관리 시스템에 관한 것이다. 본 발명은 또한 애플리케이션부, 드라이브부, 및 대응하는 디지털 저작권 관리 방법에 관한 것이다.
블루레이 디스크와, 그것과 경합중인 포맷 HD-DVD의 복제 보호 시스템의 강력한 후보로서 AACS가 부상하여, 광학 미디어의 DRM(digital rights management: 디지털 저작권 관리)에 대한 관심이 다시 모이고 있다. AACS에 대한 요구 중 하나는, 그 시스템이 아직 정의되지 않은 다양한 비지니스 모델이나 사용 사례를 지원하는, 확장된, 그리고 확장 가능한 사용을 지원해야 한다는 것이다. 이것은 리코딩이나 전자 다운로드에 적용할 수 있어야 한다.
해독키 등의 DRM 데이터와 사용 권한이, 예를 들면, WO 2002/015184-A1(PHNL000448)에 서술된 "키 록커"라 불리는 영역의 디스크상에 저장된 공지의 DRM 시스템에서는, 유사한 요구가 중심적인 역할을 한다. 키 록커는 특히, 소위 히든 채널키를 사용하여 암호화한다. 히든 채널은 드라이브에만 액세스할 수 있는 디스크상의 영역이고, 메인 데이터 채널과 별도로 저장되는 것이 바람직하다. 재전송 공격을 방지하기 위해, 드라이브는 키 록커에 저장된 데이터가 변경될 때마다 히든 채널키를 변경한다. 재전송 공격시에, 해커는 우선 디스크상의 DRM 권한의 비트 이미지를 안전한 장소, 예를 들면 하드 드라이브에 저장하고, 이어서 아마도 디스크에 암호로 바운드된 그의 권한을 소비하고, 그 후 원래의 비트 이미지를 복원함으로써, 원래의 권한을 되찾는다. 이 공격은 권한들이 소비될 때마다 그 권한들을 다시 암호화함으로써 방지된다.
DVD+RW용 VCPS(VCPS에 대한 상세한 내용은 http://licensing.philips.com/vcps 참조, 그 내용은 여기에 참조로 포함됨)를 블루레이 디스크 포맷에 이식하는 BD-VCPS에 있어서, 디스크상의 임의의 DRM 저작권을 지원하기 위해 공지의 히든 채널과 같은 피처도 제공된다. 이 내용에서, 히든 채널은 "RE 마크"로 알려져 있다. 공지의 DRM 시스템에서와는 달리, RE 마크로의 직접 인터페이스가 제공되고, 제공된 키 록커와 같은 구성은 없다. 후자는 원하는 경우 호스트 애플리케이션에 의해 실행될 수 있다. 이를 위해, 호스트가 RE 마크 키에 액세스하는 데 사용되는 세 개의 커맨드, 즉, 판독, 변경, 삭제가 필요하다.
판독 커맨드는 미리 확립된 버스 키를 이용하여 암호화한 RE 마크 키를 회수한다. 변경 커맨드는 드라이브가 RE 마크에 저장된 키를 임의로 변경하게 한다. 삭제 커맨드는 드라이브가 디스크로부터 RE 마크를 삭제하게 한다. 한층 더 강화하기 위해, 다수의, 예를 들면 디스크상의 8개의 RE 마크의 저장이 가능하다. 따라서 각각의 이러한 커맨드들은 실행하는 구체적인 RE 마크를 나타내는 파라미터를 포함한다.
광디스크 드라이브의 호스트 인터페이스는 MMC(Multi-Media Command Set)(SCSI Multi-Media Commands -4(T10/1545D) 내용 참조, 그 내용은 여기에 참조로 포함됨)로 정의된다. 이 세트의 커맨드는 드라이브가 실행해야 하는 동작을 지시하는 디스크립터 블록과, 파라미터 블록(호스트가 데이터를 드라이브에 보내면), 또는 데이터 블록(호스트가 드라이브로부터 받음)으로 구성된다. 단일 커맨드는 파라미터 블록과 데이터 블록을 명기하지 않을 수도 있다. 처음에, 아무것도 파라미터 블록과 데이터 블록을 필요로 하지 않기 때문에, 상기 필요한 커맨드는 이 양식에 적합하다. 그러나, 특별한 조치를 취하지 않으면, 보안상 공백이 생길 수 있다. 왜냐하면 해커가 호스트의 OS 소프트웨어 스택에 "필터 드라이버"를 삽입하여, 이러한 커맨드를 차단 및/또는 리디렉트할 수 있기 때문이다. 따라서, 호스트상에서 실행중인 애플리케이션은 디스크상의 RE 마크가 갱신되었는지(또는, 마찬가지로, 적절한 위치로부터 회복되었는지) 확신할 수 없다. 드라이브와 호스트 사이에서 인증 프로토콜을 실행하여 버스 키를 확립하고, 이어서 커맨드 데이터를 암호화하기 위해 그 버스 키를 사용하는 것은 그것 스스로는 충분하지 않다.
따라서 본 발명의 목적은 디지털 저작권 관리 시스템, 애플리케이션부, 드라이브부, 및 그에 대응하는 디지털 저작권 관리 방법을 제공하는 것으로, 그 방법을 사용하면, 디지털 저작권의 관리에 있어서 보안을 강화할 수 있고, 특히 "필터 드라이버" 해킹은 불가능해지거나 적어도 사실상 복잡해지게 할 수 있다. 또한, 디지털 저작권과 관련되어 주어진 커맨드, 예를 들면 전술한 판독-, 쓰기-, 또는 삭제- 커맨드와, 그 실행에 대해 신뢰할 수 있는 검증이 있어야 한다.
상기 목적은 본 발명에 따라 복제 보호 콘텐츠로의 액세스 권한을 제어하는 드라이브를 포함한 디지털 저작권 관리 시스템에 사용되는 애플리케이션부에 의해 해결되고, 상기 애플리케이션부는,
버스 키를 저장하는 키 저장부와,
상기 액세스 권한과 관련된 메시지와 챌린지를 포함하는 상기 드라이브에 의해 실행되는 리퀘스트를 생성하는 리퀘스트 생성부와,
상기 리퀘스트를 보내고 상기 드라이브부로부터 상기 리퀘스트에 대한 응답을 받는 커뮤니케이션부와,
상기 응답을 상기 버스 키를 사용해서 디코드하고, 상기 리퀘스트가 실행되었는지를 나타내는 상기 응답에 상기 챌린지의 지시가 존재하는지 확인함으로써, 상기 리퀘스트와 상기 응답 사이의 링크를 검증하는 응답 검증부를 구비한다.
또한, 상기 목적은 본 발명에 따라 복제 보호 콘텐츠로의 액세스 권한을 제어하는 애플리케이션부를 포함한 디지털 저작권 관리 시스템에 사용되는 드라이브부에 의해 해결되고, 상기 드라이브부는,
버스 키를 저장하는 키 저장부와,
상기 애플리케이션부로부터 상기 액세스 권한과 관련된 메시지와 챌린지를 포함하는, 상기 드라이브부에 의해 실행되는 리퀘스트를 받고, 상기 리퀘스트에 대한 응답을 보내는 커뮤니케이션부와,
상기 메시지를 처리하는 리퀘스트 처리부와,
상기 챌린지의 지시와 상기 메시지에 대한 리플라이를 포함한 상기 응답을 생성하는 응답 생성부를 포함하고, 상기 챌린지의 지시와 상기 리플라이는 상기 버 스 키에 의해 암호로 링크되고, 상기 응답에 있어서 상기 챌린지의 지시는 상기 리퀘스트가 실행된 것을 나타낸다.
또한, 상기 목적은 본 발명에 따라, 전술한 바와 같이 애플리케이션부와 드라이브부를 포함하는 카피 보호된 콘텐츠에 대해 액세스 권한을 제어하는 디지털 저작권 관리 시스템과 그에 대한 방법에 의해 실현되고, 상기 버스 키는 상기 애플리케이션부와 상기 드라이브부가 공유한다.
또한, 본 발명은 컴퓨터 프로그램이 애플리케이션부에서 실행중일 때 애플리케이션부가 청구항 12의 디지털 저작권 관리 방법의 스텝 a), b), e), f)를 실행하도록 하는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램과, 컴퓨터 프로그램이 드라이브부에서 실행중일 때 드라이브부가 청구항 12의 디지털 저작권 관리 방법의 스텝 b) 내지 e)를 실행하도록 하는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램에 관한 것이다.
본 발명은 커맨드와 관련된 모든 히든 채널 또는 RE 마크에서 챌린지-응답 기법을 이용하는 고안에 기초를 둔다. 기본적으로, RE 마크 액세스는 2개의 분리된 커맨드에 걸쳐 분포한다. 제1 커맨드를 사용하여, 호스트는 RE 마크 액세스를 위한 드라이브를 준비한다. 이 커맨드는 챌린지, 예를 들면 호스트에 의해 생성된 난수를 포함하고, 액세스 모드(변경 RE 마크, 판독 RE 마크, 삭제 RE 마크)와 같은 또 다른 파라미터와, 디스크가 다수의 RE 마크를 포함하면 어떤 RE 마크를 실행시킬지 지시하는 지시자를 포함할 수 있다. 제2 커맨드를 사용하여, 호스트는 제1 커맨드로 보낸 난수뿐만 아니라 드라이브로부터 RE 마크 데이터를 회수한다. 회수된 RE 마크 데이터는 회수 데이터에서의 잘라 붙이기식 공격을 피하기 위해 암호로 난수가 되어야 한다. 따라서, 애플리케이션부로 보내고 드라이브부로 받는 리퀘스트는 메시지와 챌린지를 포함하는데, 상기 메시지는 액세스 권한을 접근 및/또는 처리하는 커맨드를 포함한다.
본 발명에 따른 애플리케이션부의 실시예에서, 상기 리퀘스트 생성부는 상기 버스 키에 의해 상기 메시지와 상기 챌린지를 암호로 링크하게 되어 있다. 상기 메시지와 상기 챌린지가 상기 버스 키에 의해 암호로 링크되면, 예를 들면, 상기 버스 키를 사용 및/또는 상기 메시지와 상기 버스 키의 조합으로부터 얻은 해시치를 포함함으로써 함께 암호화되면, 수취인은 메시지가 정말 상기 애플리케이션부로부터 왔다고 인증할 수 있다. 따라서, 상기 메시지와 상기 챌린지 사이의 암호적 링크를 기대하고 있는 드라이브부는, 많은 응답을 해석함으로써 상기 버스 키를 해킹하는 데 사용될 수 있는 가능성이 있기 때문에, 링크되지 않은 메시지와 챌린지는 무시할 수도 있다. 또한, 애플리케이션부의 인증이 없으면, 다른 모든 (권한이 없는) 애플리케이션은 삭제 커맨드를 사용하여, 상기 히든 채널이나 RE 마크를 없앨 수 있다. 이러한 위험을 회피할 수 있는 다른 대책이 갖추어져 있으면, 이러한 커맨드와 챌린지 모두 비밀이 유지되어 있지 않기 때문에, 상기 메시지와 상기 챌린지 사이의 링크는 생략할 수 있다.
본 발명에 따른 애플리케이션부의 또 다른 실시예에 따르면, 상기 리퀘스트 생성부는 상기 리퀘스트의 무결성 테스트에 사용하기 위한 상기 리퀘스트에의 서명을 포함하게 되어 있다. 상기 서명의 유효성을 검증함으로써, 상기 리퀘스트를 받 는 드라이브부는 리퀘스트가 예를 들면, 전송중에 변경되었는지, 또는 불완전하게 받았는지 결정할 수 있다. 상기 서명은 애플리케이션부와 드라이브부 모두에 의해 알려진 고정된 또는 소정의 비트 패턴일 수 있고, 리퀘스트의 무결성은 예를 들면, 상기 리퀘스트를 디코드하여, 상기 리퀘스트로부터 올바른 서명을 얻어냄으로써 결정할 수 있다. 상기 서명은 예를 들면, 상기 메시지와 상기 챌린지의 조합의 검사 합일 수도 있는데, 상기 드라이브부에 의해 계산된 검사 합은 상기 리퀘스트에 포함된 서명과 비교된다.
본 발명에 따른 애플리케이션부의 또 다른 실시예에 있어서, 상기 리퀘스트 생성부는 상기 버스 키를 사용해서 상기 리퀘스트를 암호화하게 되어 있다. 상기 버스 키는 상기 드라이브부와 상기 애플리케이션부에 의해서만 알려지므로, 본 실시예에 따라, 권한이 없는 유닛, 즉, 상기 버스 키를 소유하지 않은 유닛은 디지털 저작권 관리 프로토콜에 참여할 수 없다.
본 발명에 따른 애플리케이션부의 또 다른 실시예에 있어서, 상기 리퀘스트 생성부는 해시 함수에 의해, 특히 상기 버스 키를 사용하여 키잉된 해시 함수에 의해 상기 챌린지 및/또는 상기 메시지 및 상기 버스 키로부터 얻은 값을 상기 리퀘스트에 포함하게 되어 있다. 앞의 실시예와 유사하게, 본 실시예에 따라 애플리케이션부로부터 보내진 리퀘스트는 그에 따라 채용된 드라이브부에 의해 상기 버스 키를 사용하여 검증될 수 있다.
본 발명에 따른 애플리케이션부의 바람직한 실시예에 있어서, 상기 메시지는 히든 채널 엔트리를 관리하기 위한 커맨드, 특히 히든 채널 엔트리를 판독, 히든 채널 엔트리를 변경, 및/또는 히든 채널 엔트리를 삭제하기 위한 커맨드를 포함한다. 다른 메시지들이 상기 메시지에 포함될 수 있지만, 히든 채널 에트리를 관리하는 커맨드나 RE 마크를 모든 변형으로부터 보호하고, 이러한 커맨드들이 실제로 정확하고 권한 있는 드라이브부에 의해 실행되었다는 신뢰성 있는 검증을 허용하는 것이 바람직하다.
따라서, 본 발명에 따른 드라이브부의 바람직한 실시예에서, 상기 리플라이는 히든 채널 엔트리, 특히 상기 드라이브부에 의해 판독되거나 변경된 히든 채널 엔트리를 포함한다.
본 발명에 따른 애플리케이션부의 또 다른 바람직한 실시예에 있어서, 상기 리퀘스트 생성부는 상기 챌린지로서, 난수, 상기 리퀘스트를 식별하는 식별자, 특히 사실상 유일한 식별자, 및/또는 소정의 데이터를 상기 리퀘스트에 포함하게 되어 있다. 상기 챌린지로서 난수를 사용하면, 예측할 수 없다는 장점이 있고, 상기 난수를 얻는 방법으로서 상기 애플리케이션부로부터 얻는 방법 이외에 사실상 다른 방법은 없다. 챌린지를 제공하는 또 다른 용이한 방법은 상기 식별자를 상기 리퀘스트에 포함하는 것이다. 또한, 예를 들면 각각의 애플리케이션부에 고정된(단 유일한 것이 바람직하다) 챌린지를 공급하거나, 수많은 리퀘스트에 대해 상기 애플리케이션이 공통 챌린지로서의 (바람직하게는 임의의) 수를 생성하게 함으로써, 상기 애플리케이션부에 소정의 챌린지를 공급할 수 있다. 이러한 가능성을 조합하고 일부 트레이드 오프를 피함으로써 이점의 일부를 실행할 수 있다.
본 발명의 또 다른 실시예에 있어서, 상기 애플리케이션부는 호스트, 특히 소프트웨어 애플리케이션이다. 본 발명은 특히 상기 애플리케이션부와 상기 드라이브부 사이에 침입할 수 있는 다른 멀웨어 애플리케이션의 관점에서 매우 취약한 소프트웨어 어플리케이션과 관련이 있다. 그러나, 여기에서 본 발명은 다른 방식으로 실행되는 애플리케이션부, 예를 들면 상기 드라이브부와 소통하는 하드웨어 장치에도 적용할 수 있다.
이어서 첨부된 도면을 참조하여 본 발명에 대해 더욱 상세히 설명한다.
도 1은 본 발명에 따른 디지털 저작권 관리 방법의 제1 실시예의 도식적 흐름도를 나타낸다.
도 2는 SEND KEY RE 마크 커맨드의 파라미터 데이터의 구조를 나타낸다.
도 3은 REPORT KEY RE 마크 커맨드의 회수 데이터의 구조를 나타낸다.
도 4는 본 발명에 따른 디지털 저작권 관리 방법의 제2 실시예의 도식적 흐름도를 나타낸다.
도 5는 안전하지 않은 커뮤니케이션에 대한 2가지 가능한 공격을 나타낸다.
도 6은 챌린지-응답 및 키 교환 프로토콜의 도식적 흐름도를 나타낸다.
도 7은 안전하지 않은 커뮤니케이션에 대한 또 다른 가능한 공격을 나타낸다.
도 8은 종래의 안전한 커뮤니케이션에 대한 가능한 공격을 나타낸다.
도 9는 강화된 커뮤니케니션 프로토콜의 도식적 흐름도를 나타낸다.
도 10은 본 발명에 따른 디지털 저작권 관리 시스템을 나타낸다.
도 1은 본 발명에 따른 디지털 저작권 관리 방법의 실시예로서 RE 마크 액세스 프로토콜의 예를 나타낸다. 다음 설명에서는 RE 마크에 대해 언급하지만, 여기에서, 본 발명이 히든 채널 데이터의 특별한 종류로서 RE 마크에 한정되는 것은 아니고, 디지털 저작권 관리를 위한 특별한 종류의 데이터로서 히든 채널 데이터를 관리하는 데에 한정되는 것도 아니다. 애플리케이션부 또는 호스트(1)와 드라이브 또는 드라이브부(3)는 적절한 커뮤니케이션 수단(도시 생략)을 통해 접속되어 있다. 이때, 다음의 용어 "호스트"는 "애플리케이션부"와 동의어로 사용되고, "드라이브"와 "드라이브부"에 대해서도 마찬가지로 적용된다. 이 2단계 프로토콜에 앞서, 드라이브(3)와 호스트(1)는 공유된 버스 키 KB에 따른 인증 프로토콜을 실행했다고 간주한다. 이러한 인증 프로토콜의 예는 VCPS에 대한 상세한 설명에 나타나 있다.
RE 마크치를 판독, 변경, 또는 삭제하기 위해, 드라이브(3)와 호스트(1)는 다음 스텝들을 나타내는 순서대로 실행해야 한다.
호스트(1)는 액세스할 RE 마크 슬롯 n과, 액세스 모드[모드 = 0(판독), 1(변경), 2(삭제)]를 선택한다. 또한, 호스트(1)는 난수 RX를 생성한다(스텝 5). 그리고, 호스트는 다음의 메시지(7)를 드라이브(1)에 보낸다:
(n||mode||RX||sig)KB.
여기에서, 표기 (M)K는 메시지 M이 키 K로 암호화된 것을 의미한다(CBC(Cipher Block Chaining) 모드에서 블록 암호를 사용하는 것이 바람직하다). 또한, sig는 알려진 비트 패턴이고, 이것은 메시지의 무결성을 검사하기 위해 포함 된다. 이때, 메시지를 암호화하는 하나의 이유는 인증되지 않은 애플리케이션이 RE 마크를 파괴하는 것을 방지하기 위해서다.
드라이브(3)는 호스트(1)로부터 받은 메시지(7)를 해독하고 이 메시지(7)의 포맷을 검사한다. 포맷이 부정확하면, 드라이브(3)는 프로토콜을 중지한다. 부정확한 포맷은 커뮤니케이션 에러나, 부정확한 버스 키를 사용하여 RE 마크를 조정하려는 시도를 나타낼 수 있다. 그렇지 않고, 메시지 포맷과 그에 따른 메시지의 인증이 검증되면(스텝 9), 드라이브는 파라미터 n과 모드로 인코드된 리퀘스트를 실행한다(스텝 11).
이어서, 드라이브는 다음의 응답 메시지(13)를 호스트에 보낸다:
(n||mode||RMn||RX)KB.
이 응답 메시지(13)에서, RMn은 가능한 갱신 후의 n번째 RE 마크치의 현재 값이다. mode = 2(삭제)이면, 드라이브(3)는 RMn을 모두 0으로 설정할 수 있다.
호스트(1)는 드라이브(3)로부터 받은 응답 메시지(13)를 해독하고, 메시지(13)의 포맷을 검사한다. 난수 RX, 파라미터 n, 모드가 만약, 호스트(1)가 드라이브(3)에 보낸 메시지(7)에 있는 값과 동일하지 않으면, 호스트(1)는 프로토콜을 중지하고, RE 마크의 새로운 값을 무시한다. 그렇지 않으면, 새로운 값 RMn은 받아들여지고 호스트(1)에 의해 DRM 데이터를 보호하는 데 사용된다. 이때, 드라이브(3) 및/또는 호스트(1)가 프로토콜을 중지하면, 프로토콜의 리트라이는 스텝 5부터 시작해야 한다.
도 2 및 도 3은 각각 상기 서술한 프로토콜을 실행하는 커맨드 디스크립터 블록의 회수 데이터인 MMC 파라미터 데이터의 예를 나타낸다(인증 프로토콜에 사용되는 커맨드에 관한 추가적인 정보를 위해 VCPS 명세서도 참조).
도 2에 나타낸 SEND KEY RE 마크 커맨드는 호스트(1)의 리퀘스트를 보내 구체적인 RE 마크치를 판독, 변경, 또는 삭제하게 한다. SEND KEY RE 마크 커맨드는 상기 프로토콜에 있는 메시지(7)의 상관 관계를 제공한다. SEND KEY RE 마크 커맨드의 의미는 다음과 같다:
드라이브-호스트 인증 프로토콜이 성공적으로 종료되지 않으면, 드라이브(3)는 커맨드를 CHECK CONDITION 상태로 종료시킨다. 또한, 드라이브(3)는 센스 바이트 SK/ASC/ASCQ를 ILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)로 설정한다. 성공적인 인증 후, 프로토콜의 리트라이는 스텝 5부터 시작해야 한다. 드라이브(3)는 요청된 RE 마크가 이미 디스크상에 포함되어 있는지 확인한다. 포함되어 있지 않으면, 그것은 임의로 생성된 값으로 RE 마크를 생성한다. RE 마크를 기록하는 동안 회복 불가능한 에러가 발생하면, 드라이브(3)는 커맨드를 CHECK CONDITION 상태로 종료시킨다. 또한, 드라이브(3)는 센스 바이트 SK/ASC/ASCQ를 ILLEGAL REQUEST/SYSTEM RESOURCE FAILURE(0x05/0x55/0x00)로 설정한다. 그렇지 않으면, 드라이브는 GOOD 상태로 종료시킨다. 모든 보유한 바이트는 0x00(보유됨)으로 설정되고 데이터 길이는 38로 설정된다.
"암호화된 메시지 1"은 파라미터 n(8비트)과, 모드(8비트)와, 호스트로부터의 난수 RX(112비트)와, 고정된 비트 패턴 sig(128비트)를 포함하고, 모두 CBC 모드에서 AES(Advanced Encryption Standard, Federal Information Processing Publication(FIPS PUB) 197 참조)를 사용한 (인증 프로토콜을 사용하여 미리 얻어진) 버스 키 KB를 사용하여 암호화된다.
도 3에 나타낸 REPORT KEY RE 마크 커맨드는 요청된 RE 마크의 현재(앞으로 갱신될) 값을 회수한다. REPORT KEY RE 마크 커맨드는 상기 프로토콜에서 메시지(13)의 대응 관계를 제공한다. REPORT KEY RE 마크 커맨드의 의미는 다음과 같다:
드라이브-호스트 인증 프로토콜이 성공적으로 종료되지 않으면, 드라이브(3)는 커맨드를 CHECK CONDITION 상태로 종료시킨다. 또한, 드라이브(3)는 센스 바이트 SK/ASC/ASCQ를 ILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)로 설정한다. 성공적인 인증 후, 프로토콜의 리트라이는 스텝 5부터 시작해야 한다. RE 마크 액세스 시퀀스가 침해되면, 또는 드라이브(3)가 스텝 9에서 RE 마크 액세스 프로토콜을 중지시키면, 드라이브(3)는 커맨드를 CHECK CONDITION 상태로 종료시킨다. 또한, 드라이브(3)는 센스 바이트 SK/ASC/ASCQ를 ILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)로 설정한다. 성공적인 인증 후, 프로토콜의 리트라이는 스텝 5부터 시작해야 한다. 그렇지 않으면, 드라이브(3)는 응답 메시지(13) 내의 요청된 RE 마크치를 회수하고, GOOD 상태로 종료시킨다. 모든 보유한 바이트는 0x00(보유됨)으로 설정되고 데이터 길이는 38로 설정된다.
"암호화된 메시지 2"는 파라미터 n(8비트)과, 모드(8비트)와, 구체화된 RE 마크치 RMn(128비트)와, 호스트(1)에 의해 미리 보내진 난수 RX(112비트)를 포함하고, 모두 CBC 모드에서 AES를 사용한 (인증 프로토콜을 사용하여 미리 얻어진) 버 스 키 KB를 사용하여 암호화된다.
도 4는 도 1에 나타낸 실시예와 유사한 RE 마크 액세스 프로토콜의 또 다른 예를 나타낸다. 또한, 이 2단계 프로토콜에 앞서, 드라이브(23)와 호스트(21)는 공유된 버스 키 KB에 따른 인증 프로토콜을 실행했다고 간주한다. 도 1의 실시예의 프로토콜과 주된 차이점은 RE 마크치를 비밀 데이터로 간주하지 않는다는 것이다.
RE 마크치를 판독, 변경, 또는 삭제하기 위해, 드라이브(23)와 호스트(21)는 다음 스텝들을 나타내는 순서대로 실행해야 한다.
호스트(21)는 액세스할 RE 마크 슬롯 n과, 액세스 모드[모드 = 0(판독), 1(변경), 2(삭제)]를 선택한다. 또한, 호스트는 난수 RX를 생성한다(스텝 25). 그리고, 호스트(21)는 다음의 메시지(27)를 드라이브에 보낸다:
n||mode||RX||hash(KB, M1),
여기에서, M1은 n||mode||RX의 축약형이고, 해시 함수는 공유된 버스 키를 사용하여 키잉된 해시 함수이다. 이때, 해시 함수는 다른 종류일 수도 있고, 해시의 포함은 선택적이다. 그 주된 목적은 인증되지 않은 애플리케이션이 RE 마크를 파괴하는 것을 방지하는 것이다. 드라이브(23)는 받은 메시지(27)의 포맷을 검사한다(스텝 29). 포맷이 부정확하면, 이는 커뮤니케이션 에러나 해킹 시도를 나타내므로, 드라이브는 프로토콜을 중지한다. 그렇지 않고, 메시지(27)가 이에 따라 검증되면, 드라이브(23)는 파라미터 n과 모드로 인코드된 리퀘스트를 실행한다(스텝 31). 이어서, 드라이브(23)는 다음의 응답 메시지(33)를 호스트(21)에 보낸다.
RX||RMn||hash(KB, M2)
여기에서, M2는 RMn||RX를 나타내고, RMn은 가능한 갱신 후의 n번째 RE 마크치의 현재 값이다. mode = 2(삭제)이면, 드라이브는 RMn을 모두 0으로 설정한다. 호스트(21)는 받은 응답 메시지(33)의 포맷을 검사한다. 난수 RX가 호스트가 드라이버에 메시지(27)로 보낸 값과 동일하지 않으면, 호스트(21)는 프로토콜을 중지하고, RE 마크의 새로운 값을 무시한다. 메시지에 포함된 해시가 메시지(27)의 나머지와 일치하지 않으면, 호스트는 프로토콜을 중지시키고, RE 마크의 새로운 값을 무시한다. 그렇지 않으면, 새로운 값 RMn은 받아들여지고, 호스트에 의해 DRM 데이터를 보호하는 데 사용된다. 이때, 도 1의 상기 실시예와 같이, 드라이브 및/또는 호스트가 프로토콜을 중지하면, 프로토콜의 리트라이는 스텝 25부터 시작해야 한다.
MMC에 대한 파라미터 블록과 회수된 데이터 블록은 도 1에 나타낸 실시예의 블록들, 즉, 도 2 및 도 3에 나타낸 것과 유사하다.
다음에 본 발명을 더욱 이론적으로 설명한다. 공지의 종래기술로서 앨리스(A)와 밥(B) 사이의 커뮤니케이션을 도 5에 나타낸 것처럼 2개의 공지의 공격으로부터 보호하는 방법이 있다. 이때 본 발명의 문맥 내에서, 센더(sender) 앨리스는 메시지, 특히 디지털 저작권 관리와 관련된 커맨드를 밥에 해당하는 리시버(receiver)에 보내는 호스트나 애플리케이션부에 해당한다. 앨리스(A)가 밥(B)에게 메시지를 보낼 때, 이브(E)가 도청하여 메시지의 내용을 탈취하려고 할 수 있다. 이브(E)는 앨리스가 밥에게 전송한 정보를 도청하여 탈취하려고 하고, 이것은 정보의 비밀성이 공격받고 있다는 것과 같다. 맬로리(M)는 밥에게 보내는 메시지를 도청할 뿐만 아니라, 수정하기도 한다.
맬로리(M)가 만약 앨리스가 밥에게 전송하는 메시지를 수정하면, 정보의 무결성이 공격받게 된다.
이러한 공격을 방해하는 표준적인 방법은 앨리스와 밥이 아래와 같은 프로토콜에 참여하는 것이다.
1. 그들은 커뮤니케이션을 개시하기 전에 비밀을 공유한다; 이 공유된 비밀은 재사용할 수 있다;
2. 그들은 도 5의 공격 하에서 정보를 공유하기 전에, 도 6에 나타낸 프로토콜 스텝을 실행한다. 간단히 말하면, 앨리스는 그가 공유된 비밀을 인지하는지 검증함으로써 그녀가 밥에게 말하고 있다는 것을 검증한다. 그는 앨리스가 보낸 챌린지를 그들의 공유된 비밀과 함께 올바른 방식으로 혼합하여 돌려보낼 수 있어야 한다. 선택적으로, 밥은 비슷한 방식(상호 인증)으로 그가 앨리스와 접속되어 있다는 것을 검증할 수 있다. 용어 f(x, y, ...)는 응답이나 메시지가 x, y, ...를 사용하여 구성된 것을 나타내는데, 예를 들면 x가 데이터이고 y가 키인 경우, f(x, y)는 x를 y에 의해 암호화한 결과를 나타낼 수 있다.
3. 그들은 US 4,200,770에 서술된 디피-헬먼 키 교환을 이용하여, 아마도 이전의 2개의 스텝으로부터 챌린지/응답에 근거하여, 임시적인 비밀, 버스 키를 공유함으로써 지속한다.
이 초기 단계 이후에, 전송된 정보를 버스 키와 혼합함으로써 정보는 이제 앨리스와 밥 사이에서 비밀로 공유될 수 있다. 비밀성은 버스 키로 암호화함으로써 보장되는데 반해, 무결성은 버스 키에 근거한 MAC(Message Authenticated Code)를 부착하는 것에서 유래한다. 그 결과는 SAC(Secure Authenticated Channel)로도 알려져 있다.
도 6에 나타낸 것처럼, 앨리스와 밥 모두에 의해 공유된 비밀이 있다. 이 공유된 비밀은 (상호) 인증을 실행하는 데 활용되는데, 여기에서 앨리스는 챌린지를 포함하는 제1 리퀘스트를 밥에게 보낸다. 밥은 상기 챌린지와 상기 공유된 비밀을 사용하여 제1 응답을 생성하고, 상기 응답을 앨리스에게 보낸다. 이에 따라, 상기 응답이 올바른 생성인지 검사함으로써, 앨리스는 실제로 밥과 통신하고 있다고 검증할 수 있다. 밥으로부터의 제2 리퀘스트와 앨리스로부터의 제2 응답에도 마찬가지로 적용할 수 있다. 커뮤니케이션에서 올바른 참여가 검증된 후에, 앨리스와 밥 사이에는 버스 키가 교환된다. 그 이상의 커뮤니케이션을 위해 상기 버스 키가 공유된 비밀로서 사용된다.
도 5에 나타낸 공격과는 별도로, 도 7의 (a) 부분을 참조하면, 밥에게 전송된 정보가 오토(O)에 의해 차단되거나 방해되는 덜 일반적인 부류의 공격이 존재한다. 오토는 예를 들면, 디지털 권한의 감소나 그의 계좌로부터의 인출을 차단하기 위해 이러한 행위를 하게 될 수도 있다. 이 공격을 근본적으로 방지하는 것은 불가능하지만, 도 7의 (b) 부분을 참조하면, 예를 들면 밥에게 앨리스로부터의 전송의 수신 확인을 요청함으로써, 앨리스 자신이 차단되고 있다는 것을 알도록, 프로토콜을 구성할 수 있다. 그러면 앨리스는 예를 들면, 계좌를 취소하는 등, 오토를 응징하기 위한 대안적 조치를 취할 수 있다.
이 직접적인 해결의 문제는 밥뿐만 아니라 오토도, 버스 키로 암호화되어 보호되더라도, 이 확인을 생성할 수 있다는 것이다. 첫 번째 과정에서 오토는 앨리스의 전송을 통과시키고, 단지 밥으로부터의 응답을 복제한다. 이어지는 앨리스로부터의 전송은 차단되지만, 오토는 밥으로부터의 "확인"을 재생하여 그녀에게 모든 것이 괜찮다는 착각을 준다(도 8 참조). (a) 부분에서 오토는 앨리스의 전송이 밥에게 도달하도록 함으로써, 밥의 확인을 복제할 수 있다. (b) 부분에서 오토는 이어지는 앨리스로부터의 모든 전송을 차단하지만, (a) 부분에서의 밥의 응답을 재생함으로써, 그녀에게 그녀의 메시지가 도달하고 있다는 착각을 준다.
본 발명의 목적의 하나는 후자의 공격에 대한 해결책을 제시하는 것이다. 해결책은 다음과 같다. 앨리스는 밥으로부터의 응답이 다음의 일반적인 형태를 가지도록 요구해야 한다:
응답 = f(버스 키, 보안 서명, 다른 데이터)
여기에서, "버스 키"는 SAC가 설치되는 동안 공유되는 비밀이고, "보안 서명"는 다음 조건을 만족하는 2진 문자열이다:
ㆍ 문자열은 충분히 길어야 하는데, 일반적으로 64비트를 넘어야 하고,
ㆍ 문자열은 앨리스가 보내는 모든 정보/커맨드에 대해 달라야 하고,
ㆍ 앨리스는 보안 서명을 알거나 추정할 수 있어야 한다. '다른 데이터'는 본 서술과는 관련이 없는 응답의 선택적 페이로드이다.
이 응답을 받을 때, 앨리스는 이 응답이 그녀가 알고 있는 '보안 서명' 및 '버스 키'와 일치하는지 확인해야 한다. 버스 키의 목적은 오토가 올바른 응답을 예 견하여 도 8의 공격을 실행하는 것을 방지하는 것이다. 문자열의 목적은 오토가 밥이 이전에 보낸 응답을 재생하는 것을 방지하는 것이다. 이를 위해 서명은 항상 변경되어야 한다. 서명은 오토가 유리한 확률로 단지 임의의 수를 골라 응답을 추정하지 못하도록 충분히 길어야 한다.
이러한 응답의 몇 가지 구조 예:
ㆍ '보안 서명'은 앨리스가 보내는 모든 정보/커맨드에 대해 단조 증가하는 정수이며, 다시 말하면 '보안 서명'은 커맨드의 일련 번호이다.
ㆍ '보안 서명'은 secsig1||payload[n]||secsig2의 형태이고, 여기에서 payload[n]은 프로토콜의 n번째 과정의 페이로드이고, secsig1과 secsig2는 고정된 문자열이다. 앨리스는 그녀가 받은 모든 payload[n]을 기록하고, (a) 동일한 페이로드를 2번 받지 않았는지, (b) secsig1와 secsig2가 예상했던 대로인지 확인한다. 이 형태의 '보안 서명'은 밥이 사실상 전혀 동일하지 않은 페이로드를 보낼 때만 제대로 작동한다. 상기 RE 마크의 예에서 이것은 사실이다.
ㆍ '보안 서명'은 앨리스에 의해 임의로 선택된 난수('챌린지')로, 프로토콜의 모든 과정에 대해 새로운 것이며, 정보/커맨드 단계에서 밥에게 주어진다. 응답을 받자마자 앨리스는 밥으로부터의 응답에 적절한 챌린지가 존재하는지 확인한다. 도 9에 이 프로토콜의 예를 나타낸다. 앨리스가 밥에게 보내는 정보의 모든 블록에 대해 챌린지가 다르므로, 해당하는 응답도 다르다. 따라서, 앨리스는 오토가 밥으로부터의 이전의 응답을 재생하고 있는지, 또는 밥 자신이 새로운 응답을 보내고 있는지 간파할 수 있다.
도 9는 도 8의 공격에 대한 가능한 보안 해결책을 나타내고, 이제 앨리스의 모든 전송은 챌린지를 포함하는데, 이것은 밥이 그의 확인에서 응답해야 하고, 물론 버스 키와 적절히 혼합된다.
도 9에 나타낸 (상호) 인증의 단계와 키 교환의 단계는 도 6에 나타낸 것과 동일하다. 그러나, 그 후에 커뮤니케이션은 메시지의 쌍들, 즉 리퀘스트와 응답의 쌍들을 포함하는데, 상기 리퀘스트와 함께 챌린지가 주어지고, 상기 챌린지는 상기 응답과(응답 내에서) 다시 전달된다. 챌린지는 앨리스와 밥만 알고 있는 상기 공유된 비밀을 사용하여 암호로 처리되므로, 리퀘스트의 센더는 수신자가 실제로 해당하는 리퀘스트를 받았다고 검증할 수 있다. 바람직하게, 그 챌린지는 각 쌍의 리퀘스트와 응답 이후에 변경되는데, 즉 동일한 챌린지는 사실상 리퀘스트와 함께 다시 사용되지 않는다. 이로써 많은 메시지를 분석함으로써 상기 공유된 비밀의 비밀을 누설할 가능성을 줄이고 재생 공격의 위험을 회피한다.
도 10은 본 발명에 따른 디지털 저작권 관리 시스템(40)을 나타내고, 애플리케이션부(41)와 드라이브부(43)를 포함한다. 상기 애플리케이션부(41)는 버스 키를 저장하기 위한 제1 키 저장부(45)와, 리퀘스트 생성부(47)와, 응답 검증부(49)를 포함한다. 상기 드라이브부(43)는 상기 버스 키를 저장하기 위한 키 저장부(55)와, 리퀘스트 처리부(57)와, 응답 생성부(59)를 가진다. 상기 드라이브부(43)와 상기 애플리케이션부(41)는 커뮤니케이션부(51)를 공유한다. 상기 드라이브부는 디지털 저작권 관리를 조건으로 하는 콘텐츠로 디스크(53)에 액세스하게 되어 있고, 특히 상기 디스크(53)의 히든 채널로부터 판독하거나 히든 채널에 기록하게 되어 있다.
동작시에, 상기 리퀘스트 생성부(47)는 메시지와 챌린지를 포함하는 리퀘스트를 생성하는데, 상기 메시지는 디지털 저작권 관리 관련 커맨드, 예를 들면 상기 디스크(53)상의 RE 마크를 변경하는 커맨드를 포함한다. 상기 리퀘스트는 상기 커뮤니케이션부(51)를 통해 상기 드라이브부(43)에 보내진다. 상기 리퀘스트가 상기 리퀘스트 처리부(57)에 의해 유효하다는 것을 알게 되는 경우, 상기 리퀘스트 처리부(57)는 이에 따라 예를 들면, 상기 디스크(53)상의 상기 RE 마크를 변경하게 된다. 이 변경은, 상기 응답 생성부(59)에 의한 응답에서 상기 챌린지의 지시와 함께 포함된, 상기 RE 마크에 대해 새로운 값을 부여한다. 적어도 상기 응답의 생성에 상기 버스 키가 사용되는데, 상기 버스 키를 사용해서 상기 리퀘스트도 생성하는 것이 바람직하다. 상기 응답은 상기 커뮤니케이션부를 통해 상기 애플리케이션부(41)에 보내진다. 상기 응답의 유효성은, 상기 버스 키를 사용하여 상기 응답을 디코드한 후에 상기 챌린지의 상기 지시의 존재를 확인함으로써, 상기 응답 검증부에 의해 확인된다. 상기 응답이 유효하다는 것을 알게 되면, 상기 애플리케이션부(41)로서는 상기 리퀘스트가 실제로 상기 드라이브부(43)에 의해 처리되었고, 상기 응답이 상기 드라이브부(43)에 의해 생성되었다는 것이 명백해진다.
BD-VCPS와 같은 디지털 저작권 관리 시스템에 의해, 상태 유지 권한의 안전한 저장, 예를 들면 3번의 플레이와 2번의 카피의 허용이 디스크상에 제공된다. 광측 채널, 예를 들면 공지의 DRM 시스템에 사용되는 히든 채널과 유사한 RE 마크는 이 목적을 위해 채용된다. 공지의 DRM 시스템과는 달리, BD-VCPS는 키 록커를 정의하지 않고, 대신 애플리케이션에 히든 채널에 대한 직접적인 인터페이스를 제공한 다. 본 발명자들은 애플리케이션과 드라이브 사이의 인증으로는 히든 채널 액세스에 대한 다양한 공격에 대한 보호가 충분하지 않다는 것을 알았다. 본 발명에 따르면, 이 문제의 해결은 바람직하게는 히든 채널에 대한 모든 액세스에 사용되어야 하는 챌린지-응답 메커니즘을 더 제공하는 것으로 구성된다.
전술한 실시예를 참조하여 본 발명에 대해 설명했지만, 동일한 목적을 달성하기 위해 또 다른 실시예를 대신 사용해도 되는 것은 분명하다. 따라서 본 발명의 범위는 전술한 실시예에 한정되지 않고, 또 다른 커뮤니케이션 시스템에 적용할 수도 있다.
또한 여기에서, 청구항을 포함한 본 명세서에서 동사인 "포함하다"와 그 활용형의 사용은, 서술된 특징, 완전체, 단계, 또는 구성요소의 존재를 열거한다고 이해되지만, 그 1개 이상의 또 다른 특징, 완전체, 단계, 또는 구성요소 또는 그룹의 존재나 추가를 배제하지 않는다. 또한 여기에서, 청구항에서 하나의 요소에 선행하는 부정관사 "a" 또는 "an"는 이러한 요소가 복수 개 존재한다는 것을 배제하지 않는다. 또한, 참조 부호는 청구항의 범위를 제한하지 않는다. 본 발명은 하드웨어나 소프트웨어 모두에 의해 실시할 수 있고, 복수의 "수단"을 하드웨어의 동일한 항목으로 나타낼 수 있다. 또한, 본 발명은 각각의 모든 새로운 특징이나 특징의 조합에 존재한다.

Claims (15)

  1. 복제 보호 콘텐츠로의 액세스 권한을 제어하는 드라이브(3, 23, 43)를 포함한 디지털 저작권 관리 시스템(40)에 사용하는 애플리케이션부(1, 21, 41)로서, 상기 애플리케이션부(1, 21, 41)는,
    버스 키(KB)를 저장하기 위한 키 저장부(45)와,
    상기 액세스 권한과 관련된 메시지와 챌린지(RX)를 포함하는, 상기 드라이브부에 의해 실행되는 리퀘스트(7, 27)를 생성하기 위한 리퀘스트 생성부(47)와,
    상기 리퀘스트(7, 27)를 보내고 상기 드라이브부(3, 23, 43)로부터의 상기 리퀘스트(7, 27)에 대한 응답(13, 33)을 받는 커뮤니케이션부(51)와,
    상기 버스 키(KB)를 사용하여 상기 응답(13, 33)을 디코드하고, 상기 리퀘스트가 실행되었는지를 나타내는 상기 응답(13, 33)에 있어서 상기 챌린지(RX)의 지시의 존재를 확인함으로써, 상기 리퀘스트(7, 27)와 상기 응답(13, 33) 사이의 링크를 검증하는 응답 검증부(49)를 포함하는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  2. 제 1항에 있어서,
    상기 리퀘스트 생성부(47)는 상기 버스 키(KB)를 사용하여 상기 메시지와 상기 챌린지(RX)를 암호로 링크하게 되어 있는 것을 특징으로 하는 애플리케이션 부(1, 21, 41).
  3. 제 1항에 있어서,
    상기 리퀘스트 생성부(47)는 상기 리퀘스트(7)의 무결성 검사에 사용하기 위해 상기 리퀘스트(7)에 서명(sig)을 포함하게 되어 있는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  4. 제 1항에 있어서,
    상기 리퀘스트 생성부(47)는 상기 버스 키(KB)를 사용하여 상기 리퀘스트(7, 27)를 암호화하게 되어 있는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  5. 제 1항에 있어서,
    상기 리퀘스트 생성부(47)는 해시 함수에 의해, 특히 상기 버스 키(KB)를 사용하여 키잉된 해시 함수에 의해 상기 챌린지(RX) 및/또는 상기 메시지 및 상기 버스 키(KB)로부터 얻은 값을 상기 리퀘스트(7, 27)에 포함하게 되어 있는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  6. 제 1항에 있어서,
    상기 메시지는 히든 채널 엔트리를 관리하기 위한 커맨드, 특히 히든 채널 엔트리를 판독, 히든 채널 엔트리를 변경, 및/또는 히든 채널 엔트리를 삭제하기 위한 커맨드를 포함하는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  7. 제 1항에 있어서,
    상기 리퀘스트 생성부(47)는 상기 챌린지(RX)로서, 난수, 상기 리퀘스트(7, 27)를 식별하는 식별자, 특히 사실상 유일한 식별자, 및/또는 소정의 데이터를 상기 리퀘스트(7, 27)에 포함하게 되어 있는 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  8. 제 1항에 있어서,
    상기 애플리케이션부(1, 21, 41)는 호스트, 특히 소프트웨어 애플리케이션인 것을 특징으로 하는 애플리케이션부(1, 21, 41).
  9. 복제 보호 콘텐츠로의 액세스 권한을 제어하는 애플리케이션부(1, 21, 41)를 포함한 디지털 저작권 관리 시스템(40)에 사용되는 드라이브부(3, 23, 43)로서, 상기 드라이브부(3, 23, 43)는,
    버스 키(KB)를 저장하는 키 저장부(55)와,
    상기 애플리케이션부(1, 21, 41)로부터 상기 액세스 권한과 관련된 메시지와 챌린지(RX)를 포함하는, 상기 드라이브부에 의해 실행되는 리퀘스트(7, 27)를 받고, 상기 리퀘스트(1, 21, 41)에 대한 응답(13, 33)을 보내는 커뮤니케이션부(51)와,
    상기 메시지를 처리하는 리퀘스트 처리부(57)와,
    상기 챌린지(RX)의 지시와 상기 메시지에 대한 리플라이를 포함한 상기 응답(13, 33)을 생성하는 응답 생성부(59)를 포함하고, 상기 챌린지(RX)의 지시와 상기 리플라이는 상기 버스 키(KB)에 의해 암호로 링크되고, 상기 응답(13, 33)에 있어서 상기 챌린지(RX)의 지시는 상기 리퀘스트가 실행된 것을 나타내는 것을 특징으로 하는 드라이브부(3, 23, 43).
  10. 제 9항에 있어서,
    상기 리플라이는 히든 채널 엔트리, 특히 상기 드라이브부에 의해 판독되거나 변경된 히든 채널 엔트리를 포함하는 것을 특징으로 하는 드라이브부(3, 23, 43).
  11. 제 1항에 따른 애플리케이션부(1, 21, 41)와, 제 9항에 따른 드라이브부(3, 23, 43)를 포함한 복제 보호 콘텐츠로의 액세스 권한을 제어하는 디지털 저작권 관리 시스템(40)으로서, 상기 버스 키(KB)는 상기 애플리케이션부(1, 21, 41)와 상기 드라이브부(3, 23, 43)에 의해 공유되는 것을 특징으로 하는 디지털 저작권 관리 시스템(40).
  12. 버스 키(KB)를 공유하는 애플리케이션부(1, 21, 41)와, 드라이브부(3, 23, 43)를 포함한 디지털 저작권 관리 시스템(40)에서 카피 보호된 콘텐츠에 대해 액세스 권한을 제어하는 디지털 저작권 관리 방법으로서, 상기 방법은,
    a) 상기 액세스 권한과 관련된 메시지와 챌린지(RX)를 포함한 상기 드라이브부에 의해 실행되는 리퀘스트(7, 27)를 생성(5, 25)하는 스텝과,
    b) 상기 리퀘스트(7, 27)를 상기 애플리케이션부(1, 21, 41)로부터 상기 드라이브부(3, 23, 43)에 전달하는 스텝과,
    c) 상기 메시지를 처리(11, 31)하는 스텝과,
    d) 상기 버스 키(KB)에 의해 암호로 링크된 챌린지(RX)의 지시와 상기 메시지에 대한 리플라이를 포함한 응답(13, 33)을 생성하는 스텝과,
    e) 상기 응답(13, 33)을 상기 드라이브부(3, 23, 43)로부터 상기 애플리케이션부(1, 21, 41)에 전달하는 스텝과,
    f) 상기 응답을 상기 버스 키(KB)를 사용해서 디코드하고, 상기 리퀘스트가 실행되었는지를 나타내는 상기 응답(13, 33)에 상기 챌린지(RX)의 지시가 존재하는지 확인함으로써, 상기 리퀘스트(7, 27)와 상기 응답(13, 33) 사이의 링크를 검증하는 스텝을 포함하는 것을 특징으로 하는 디지털 저작권 관리 방법.
  13. 스텝 b)와 스텝 c) 사이에 상기 리퀘스트(7, 27)를 검증(9, 29)하는 스텝을 더 포함하는 것을 특징으로 하는 디지털 저작권 관리 방법.
  14. 컴퓨터 프로그램이 애플리케이션부에서 실행중일 때, 상기 애플리케이션부가 청구항 12에 따른 방법의 스텝 a), b), e), f)를 실행하도록 하는 컴퓨터 프로그램 코드 수단을 포함한 컴퓨터 프로그램.
  15. 컴퓨터 프로그램이 드라이브부에서 실행중일 때, 상기 드라이브부가 청구항 12에 따른 방법의 스텝 b) 내지 e)를 실행하도록 하는 컴퓨터 프로그램 코드 수단을 포함한 컴퓨터 프로그램.
KR1020077018600A 2005-01-18 2006-01-13 보안 호스트 인터페이스 KR20070096023A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP05100278 2005-01-18
EP05100278.0 2005-01-18
EP05108273 2005-09-09
EP05108273.3 2005-09-09

Publications (1)

Publication Number Publication Date
KR20070096023A true KR20070096023A (ko) 2007-10-01

Family

ID=36123135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077018600A KR20070096023A (ko) 2005-01-18 2006-01-13 보안 호스트 인터페이스

Country Status (6)

Country Link
US (1) US20080189794A1 (ko)
EP (1) EP1842195A1 (ko)
JP (1) JP2008527892A (ko)
KR (1) KR20070096023A (ko)
TW (1) TW200643911A (ko)
WO (1) WO2006077510A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068855B1 (ko) * 2009-08-11 2011-09-29 이화여자대학교 산학협력단 정보 데이터의 권한 변경을 방지하는 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053368A2 (en) * 2006-07-07 2008-05-08 Medingo Ltd. Fluid delivery device and methods of its operation
US8516602B2 (en) * 2008-04-25 2013-08-20 Nokia Corporation Methods, apparatuses, and computer program products for providing distributed access rights management using access rights filters
US8935528B2 (en) * 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
KR101113820B1 (ko) * 2010-03-16 2012-02-29 소프트캠프(주) 응용프로그램의 파일 입출력 보안방법과 보안시스템
WO2011150346A2 (en) * 2010-05-28 2011-12-01 Laurich Lawrence A Accelerator system for use with secure data storage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9608696D0 (en) * 1996-04-26 1996-07-03 Europ Computer Ind Res Electronic copy protection mechanism
HU223924B1 (hu) * 1999-05-21 2005-03-29 International Business Machines Corp. Eljárás és rendszer egy első készülék és egy második készülék közötti biztonságos kommunikáció inicializálására
US20040039932A1 (en) * 2002-08-23 2004-02-26 Gidon Elazar Apparatus, system and method for securing digital documents in a digital appliance
CN1809984A (zh) * 2003-06-17 2006-07-26 皇家飞利浦电子股份有限公司 改进的保密验证信道

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068855B1 (ko) * 2009-08-11 2011-09-29 이화여자대학교 산학협력단 정보 데이터의 권한 변경을 방지하는 방법

Also Published As

Publication number Publication date
JP2008527892A (ja) 2008-07-24
TW200643911A (en) 2006-12-16
WO2006077510A1 (en) 2006-07-27
US20080189794A1 (en) 2008-08-07
EP1842195A1 (en) 2007-10-10

Similar Documents

Publication Publication Date Title
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
US9722977B2 (en) Secure host authentication using symmetric key crytography
US10025912B2 (en) Information processing system, reading apparatus, information processing apparatus, and information processing method
US5949877A (en) Content protection for transmission systems
US7676042B2 (en) Terminal apparatus, server apparatus, and digital content distribution system
CN1647444B (zh) 用于使用防止篡改硬件以提供复制保护和在线安全的方法和系统
US9054880B2 (en) Information processing device, controller, key issuing authority, method for judging revocation list validity, and key issuing method
US20050210279A1 (en) Authentication between device and portable storage
US9165148B2 (en) Generating secure device secret key
EP1902540B1 (en) Method and apparatus for establishing a communication key between a first communication partner and a second communication partner using a third party
KR20060020688A (ko) 개선된 안전 인증 채널
JP2004533194A (ja) データを交換するように構成されたデバイスおよび認証の方法
US20060106721A1 (en) Method for retransmitting or restoring contents key for decrypting encrypted contents data
KR19980071852A (ko) 디지털 저작물의 저작권 보호를 위한 복수의 암호기술 이용 프로토콜로부터 하나를 선택하여 사용하는 정보기기
JP2004519882A (ja) 認証方法及びデータ伝送システム
JP2005503717A (ja) Usb認証インタフェース
WO2008148114A1 (en) Trusted storage
US8156339B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
KR20070096023A (ko) 보안 호스트 인터페이스
WO2017194231A1 (en) Digital rights management for anonymous digital content sharing
JP2001358706A (ja) 著作物保護システム、暗号化装置、復号化装置および記録媒体
US7327845B1 (en) Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad
CN116488855A (zh) 基于链式存储结构加密技术的轻量级确权系统及方法
CN118101170A (zh) 一种基于混合加密传输的客户端认证管理方法
CN101107665A (zh) 安全的主机接口

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