KR20060081339A - 데이터 재생방법 및 재생장치, 기록매체 - Google Patents

데이터 재생방법 및 재생장치, 기록매체 Download PDF

Info

Publication number
KR20060081339A
KR20060081339A KR1020050118682A KR20050118682A KR20060081339A KR 20060081339 A KR20060081339 A KR 20060081339A KR 1020050118682 A KR1020050118682 A KR 1020050118682A KR 20050118682 A KR20050118682 A KR 20050118682A KR 20060081339 A KR20060081339 A KR 20060081339A
Authority
KR
South Korea
Prior art keywords
file
application
data
signature
title
Prior art date
Application number
KR1020050118682A
Other languages
English (en)
Inventor
김건석
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to CN2006800018437A priority Critical patent/CN101099212B/zh
Priority to JP2007550285A priority patent/JP2008527599A/ja
Priority to EP06700231A priority patent/EP1834329A2/en
Priority to PCT/KR2006/000003 priority patent/WO2006073252A2/en
Priority to US11/325,457 priority patent/US7668439B2/en
Publication of KR20060081339A publication Critical patent/KR20060081339A/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
    • H04L9/3247Cryptographic 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 involving digital signatures
    • H04L9/3249Cryptographic 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 involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • 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
    • 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
    • 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
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/0045Recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/005Reproducing
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/2541Blu-ray discs; Blue laser DVR discs
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

본 발명은 데이터 재생방법 및 재생장치, 기록매체에 관한 것으로서, 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성되는 타이틀을 재생함에 있어서, 상기 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는(identify) 정보를 확인하고, 상기 관련된 어플리케이션을 인증한 후, 상기 어플리케이션을 실행하여 상기 타이틀을 재생하는 것을 특징으로 하는 데이터 재생방법 및 재생장치를 제공한다.
상기에서 설명한 본 발명에 따른 데이터 재생방법 및 재생장치, 기록매체에 의하면, 콘텐츠 제공자에 의해 제공되는 콘텐츠를 보호함과 아울러 사용자의 재생시스템을 보호할 수 있게 된다. 따라서 콘텐츠 제공자에게는 안전한 콘텐츠의 제공을 가능하게 하고, 사용자에게는 안심하고 콘텐츠를 재생을 가능하게 함으로써 보다 편리한 기능을 제공하게 되는 장점이 있다.
기록매체, BD-ROM, Security, 어플리케이션

Description

데이터 재생방법 및 재생장치, 기록매체{Method and apparatus, recoding medium for reproducing a data}
도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치와 주변기기 간의 통합적 사용의 일 실시예를 보여주기 위해 나타낸 것이다.
도 2는 본 발명의 기록매체, 즉 예를 들어 BD-ROM과 같은 디스크 내에 기록되는 파일구조에 대한 일 실시예를 도시한 것이다.
도 3은 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것이다.
도 4는 본 발명의 광 기록재생장치의 전체 구성에 관한 일 실시예를 나타낸 것이다.
도 5는 본 발명의 재생시스템(playback system)을 활용한 데이터 재생장치의 일 실시예를 도시한 것이다.
도 6는 본 발명에 의한 서명된 어플리케이션(application)을 구성하는 JAR 파일의 일 실시예를 도시한 것이다.
도 7은 본 발명에 의한 서명된 JAR 파일을 구성하는 흐름의 일 실시예를 도시한 것이다.
도 8은 본 발명에 의한 전자서명을 구성하는 일 실시예를 도시한 것이다.
도 9는 본 발명에 의한 서명된 어플리케이션을 구성하는 JAR 파일 내 파일(a file)의 인증 흐름의 일 실시예를 도시한 것이다.
도 10은 JAR 파일 내 파일 인증과정에서 전자서명을 검증하는 일 실시예를 도시한 것이다.
도 11은 본 발명에 의한 JAR 파일의 인증에 이용되는 인증체인(Certificate Chain)을 도시한 것이다.
도 12는 본 발명에 의한 타이틀의 재생 흐름을 도시한 것이다.
*도면의 주요부분에 대한 부호의 설명
11 : 픽업 12 : 제어부
13 : 신호처리부 15 : 로컬 스토리지
17 : 재생시스템
40 : 가상 파일 시스템(virtual File System)
42 : BD-J 오브젝트(BD-J Object)
42a : 키 인터레스트 테이블(Key Interest Table)
42b : 터미널 정보(Terminal Information)
42c : 어플리케이션 매니지먼트 테이블(Application Management Table)
42d : 어플리케이션 캐쉬 정보(Applicatio Cache Information)
51 : 가상 파일구조(Virtual package)
17 : 재생시스템 (playback system)
171 : 모듈 매니저(Module Manager)
172 : 키 이벤트 핸들러(Key Event Handler)
173 : 네비게이터(Navigator)
174 : BD-J 모듈(BD-J Module)
175 : HDMV 모듈(Movie Module)
176 : 플레이백 컨트롤 엔진(Playback control engine)
177 : 프리젠테이션 엔진(Presentation engine)
174a: 어플리케이션 매니저(Application Manager)
174b : 자바VM(Java VM)
174c : 어플리케이션 캐쉬 매니저(Application Cache Manager)
174d : 어플리케이션 캐쉬(Application Cache)
175a : 컨맨드 프로세스(command processor)
176a : 플레이백 컨트롤 펑션(Playback control functions)
176b : 플레이어 레지스터(Player registers)
본 발명은 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터의 재생에 관한 것으로서, 콘텐츠 제공자에 의해 제공된 콘텐츠 및 사용자의 재생시스템을 보호하는 데이터 재생방법 및 재생장치, 기록매체에 관한 것이다.
기록매체로서 대용량의 데이터를 기록할 수 있는 광 디스크가 널리 사용되고 있다. 그 중에서도 최근에는 고화질의 비디오 데이터와 고음질의 오디오 데이터를 장시간 동안 기록하여 저장할 수 있는 새로운 고밀도 기록매체, 예를 들어 블루레이 디스크(BD: Blu-ray Disc)가 개발되고 있다.
차세대 기록매체 기술인 블루레이 디스크(BD)는 기존의 DVD를 현저하게 능가하는 데이터를 구비할 수 있는 차세대 광기록 솔루션으로 근래에 다른 디지털기기와 함께 이에 대한 개발이 진행되고 있다.
상기와 같은 광 기록재생장치는 블루레이 디스크(BD)를 기록재생하는 기본기능은 물론이거니와, 주변의 관련된 디지털기기와의 통합적 사용을 고려한 부가적인 기능도 고려되어야 하는바, 일반적으로 외부입력신호를 수신하고 이를 디스플레이하거나, 외부입력신호와 내장된 블루레이 디스크(BD)를 함께 활용하여 재생하는 등의 기능은 반드시 구비되어야 할 것으로 여겨진다.
관련하여, 블루레이 디스크(BD) 규격을 응용한 광 기록재생장치의 개발도 시작되었으나, 아직 블루레이 디스크(BD) 규격이 완전히 완비되지 못한 관계로 완성된 광 기록재생장치를 개발하는 데 어려움이 따르는 것이 사실이다.
특히, 콘텐츠 제공자에 의해 제공된 콘텐츠와 사용자의 재생시스템을 보호하는 바람직한 방법 등이 알려진바 없어, 본격적인 블루레이 디스크(BD) 기반의 광 기록재생장치를 개발하는데 많은 제약이 따르는 실정이다.
본 발명은 상기와 같은 실정을 감안하여 창작된 것으로서 진정한 콘텐츠 제공자에 의해 제공되는 콘텐츠와 사용자의 재생시스템을 보호하는 데 그 목적이 있 다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 데이터를 재생함에 있어서 , 어플리케이션을 인증하고 상기 어플리케이션을 실행함으로써 콘텐츠와 재생시스템을 보호하는 데이터 재생방법 및 재생장치, 기록매체를 제공하고자 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성되는 타이틀을 재생함에 있어서, 상기 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는(identify) 정보를 확인하고, 상기 관련된 어플리케이션을 인증한 후, 상기 어플리케이션을 실행하여 상기 타이틀을 재생하는 데이터 재생방법을 제공한다.
상기 어플리케이션의 인증은, 상기 어플리케이션을 구성하는 파일의 인증을 통해 이루어지는 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일은 자바 프로그램으로 구성된 파일(JAR 파일)인 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명블락파일(Signature Block file)을 이용하여 전자서명(Digital Signature)을 검증하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 전자서명의 검증은, 상기 서명블락파일 내 공개키(public key)를 사용하여 이루어지는 것이 바람직하다.
또한, 상기 공개키는, 상기 전자서명의 생성에 사용된 개인키(private key) 에 대응하는 공개키인 것이 바람직하다.
또한, 상기 전자서명의 검증은 상기 서명블락 파일 내 인증체인의 인증서들을 검증하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명파일(Signature file)을 이용하여 상기 파일 내 매니페스트 파일의 무결성을 확인하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 매니페스트 파일(JAR Manifest file)을 이용하여 상기 파일의 실제 데이터에 대한 무결성을 확인하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 어플리케이션의 인증은 자바 버츄얼 머신(Java Virtual Machine)에 의해 수행되는 것이 바람직하다.
또한, 상기 인증이 성립하지 않는 어플리케이션의 경우, 상기 어플리케이션을 실행하지 않는 것이 바람직하다.
또한, 상기 인증이 성립하지 않는 어플리케이션의 경우, 상기 어플리케이션을 자바 버츄얼 머신에 구성된 샌드박스(Sandbox) 내에서 실행하는 것이 바람직하다.
또한, 상기 타이틀과 관련된 어플리케이션을 식별하는 정보는 어플리케이션 관리 테이블(Application Management Table, AMT)인 것이 바람직하다.
또한, 본 발명은 콘텐츠가 기록되는 데이터 영역과, 상기 콘텐츠의 재생을 관리하는 관리영역을 구비하되, 상기 데이터 영역에는 적어도 하나 이상의 서명된 어플리케이션을 포함하여 구성된 타이틀이 기록되고, 상기 관리영역에는 상기 타이틀과 관련된 어플리케이션을 구분하는 정보가 포함된 오브젝트가 기록되는 것을 특징으로 하는 기록매체를 제공한다.
상기 서명된 어플리케이션을 구성하는 파일은 서명파일(Signature file)과 서명블락파일(Signature Block file)을 포함하는 것이 바람직하다.
또한, 상기 서명파일은 상기 서명된 어플리케이션을 구성하는 파일에 대한 매니페스트 파일의 다이제스트를 포함하는 것이 바람직하다.
또한, 상기 매니페스트 파일의 다이제스트는 SHA 1 다이제스트 알고리즘에 상기 매니페스트 파일을 적용시켜 산출되는 것이 바람직하다.
또한, 상기 서명블락파일은 상기 서명된 어플리케이션을 구성하는 파일에 서명한 주체(entity)의 전자서명(Digital Signature)을 포함하는 것이 바람직하다.
또한, 상기 전자서명은 상기 서명파일의 다이제스트를 상기 서명한 주체의 개인키(private key)로 암호화하여 서명 알고리즘을 통해 생성된 또한, 상기 서명 알고리즘은 RSA인 것이 바람직하다.
또한, 본 발명은 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성된 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는 정보를 확인하고, 상기 관련된 어플리케이션을 인증하는 제어부와, 상기 어플리케이션의 실행에 따라 상기 타이틀을 재생하는 디코더를 포함하여 이루어진 데이터 재생장치를 제공한다.
상기 제어부는, 상기 어플리케이션을 구성하는 파일의 데이터가 로딩되는 동 안, 상기 파일을 인증함으로써 상기 어플리케이션을 인증하는 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명블락파일(Signature Block file)을 이용하여 전자서명(Digital Signature)을 검증하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 전자서명의 검증은, 상기 서명블락파일 내 공개키(public key)를 사용하여 이루어지는 것이 바람직하다.
또한, 상기 공개키는, 상기 전자서명의 생성에 사용된 개인키(private key)에 대응하는 공개키인 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명파일(Signature file)을 이용하여 상기 파일에 포함된 파일의 무결성을 확인하는 것을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 제어부는, 인증이 성립하지 않는 어플리케이션은 실행되지 않도록 제어하는 것이 바람직하다.
또한, 상기 제어부는, 인증이 성립하지 않는 어플리케이션은 자바 버츄얼 머신(Java Virtual Machine)에 구성된 샌드박스(Sandbox) 내에서 실행되도록 제어하는 것이 바람직하다.
따라서, 본 발명에 의하면 안전한 콘텐츠의 제공과 데이터의 효율적 재생이 가능하게 되어 사용자에게 편리한 기능을 제공할 수 있게 된다.
이하, 본 발명은 설명의 편의를 위해 기록매체로서 광 디스크(optical disc) 특히 "블루레이 디스크(BD)"를 예로 하여 설명하고자 하나, 본 발명의 기술사상은 다른 기록매체에도 동일하게 적용가능함은 자명하다 할 것이다.
관련하여, 본 발명에서 "로컬 스토리지(Local Storage)"라 함은, 광기록재생장치(도 1) 내에 구비된 일종의 저장수단으로서, 필요한 정보 및 데이터를 사용자가 임의로 저장하여 활용할 수 있는 요소를 의미한다. 즉, 현재 일반적으로 사용되는 로컬 스토리지로는 "하드디스크(hard disk)", "시스템 메모리(system memory)", "플래쉬 메모리(flash memory)"등이 있을 수 있으나, 본 발명은 반드시 이에 한정되지는 않는다.
특히, 본 발명과 관련하여, 상기 "로컬 스토리지(Local Storage)"는 기록매체(예를 들어, 블루레이 디스크)와 연관된 데이터를 저장하는 수단으로도 활용되며, 상기 기록매체와 연관되어 로컬 스토리지 내에 저장되는 데이터는 외부로부터 다운로드(download) 받은 데이터가 일반적이다.
관련하여, 기록매체로부터 일부 허용된 데이터를 직접 독출하거나, 또는 기록매체의 기록재생과 관련된 시스템데이터(예를 들어, 메타데이터(metadata) 등)를 생성하여, 로컬 스토리지 내에 저장하는 것도 가능함은 자명하다.
관련하여, 본 발명에서는 설명의 편의를 위해, 상기 기록매체 내에 기록된 데이터를 "오리지널 데이터(orginal data)"로 명명하고, 상기 로컬 스토리지 내에 저장된 데이터 중 기록매체와 관련된 데이터를 "어디셔널 데이터(additional data)"로 명명하고자 한다.
또한, 본 발명에서 "타이틀(Title)"이라 함은, 사용자와의 인터페이스를 이루는 재생단위로서, 각각의 타이틀은 특정의 오브젝트(Object)와 링크(link)되어 있고, 상기 오브젝트(Object) 내의 컨맨드(command) 혹은 프로그램에 따라 디스크 내 기록된 해당 타이틀에 관련된 스트림이 재생된다. 특히, 본 발명에서는 설명의 편의를 위해 디스크 내에 기록된 타이틀 중 엠펙2(MPEG2) 압축방식에 의한 동영상 영화 및 인터액티브(interactive) 정보가 기록된 타이틀을 특히 "HDMV 타이틀(Title)"이라 명하고, 자바(Java) 프로그램에 의해 실행되는 동영상 영화 및 인터액티브(interactive) 정보가 기록된 타이틀을 "BD-J 타이틀(BD-J Title)"이라 명할 것이다.
관련하여, 본 발명에서 타이틀이라 함은 인덱스 테이블에 존재하는 인덱싱 항목을 의미하기도 한다. 즉, 기록매체가 로딩되면 처음 재생되는 화면에 대한 정보를 가지는 "First Playback"과 메뉴화면을 제공하는 "Top Menu" 역시 상기 타이틀의 일종이라 하겠다. 즉, 사용자와 인터페이스를 이루는 재생단위이면, 그 명칭 여하에 관계없이 본 발명의 타이틀에 해당한다.
또한, 상기 타이틀은 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성되는 것을 특징으로 한다. 상기 로컬 스토리지 내 데이터에는 상기 타이틀의 재생도중 다운로드 되는 데이터가 포함될 수도 있다.
도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치(10)와 주변기기 간의 통합적 사용의 일 예를 보여주기 위해 나타낸 것이다.
관련하여, 본 발명의 "광 기록재생장치(10)"는 여러 가지 규격의 광 디스크를 기록하거나 재생 가능한 기기로서, 설계에 따라서는 특정규격(예를 들면, BD)의 광 디스크만을 기록재생 가능하게 할 수도 있으며, 또한 기록은 제외하고 재생만 하는 것도 가능하다 할 것이나, 특히 본 발명에서 해결하고자 하는 블루레이 디스크(BD)와 주변기기와의 연계성을 고려하여 이하 블루레이 디스크(BD)를 재생하는 플레이어(BD-Player) 또는 블루레이 디스크(BD)를 기록재생하는 리코더(BD-Recorder)를 예로 하여 설명하고자 한다. 관련하여, 본 발명의 "광 기록재생장치(10)"는 컴퓨터 등에 내장가능한 "드라이브(driver)"가 될 수 있음은 이미 널리 알려진 자명한 사실이다.
본 발명의 광 기록재생장치(10)는 광 디스크(30)를 기록재생하는 기능 이외에도, 외부입력신호를 수신받아 이를 신호처리한 후 또 다른 외부 디스플레이(20)를 통해 사용자에게 화면으로 전달하는 기능을 가지게 된다. 이 경우 입력가능한 외부신호에 대해서는 특별한 제한은 없으나, 디지털 방송(Digital multimedia broadcasting) 및 인터넷(Internet) 등이 대표적인 외부입력신호가 될 것이며, 특히, 인터넷(Internet)의 경우 현재 누구나 손쉽게 접근할 수 있는 매체로서 광 기록재생장치(10)를 통해 인터넷(Internet)상의 특정 데이터를 다운로드(download) 받아 활용할 수 있게 된다.
관련하여, 외부 소스(external source)로서 콘텐츠(content)를 제공하는 자를 총칭하여 "콘텐츠 제공자(CP:content provider)"로 명명한다.
또한, 본 발명에서 콘텐츠(contents)라 함은 타이틀을 구성하는 내용으로서 기록매체의 제작자(author)에 의해 제공되는 데이터(data)를 의미한다.
특히, 본 발명에서 해결하고자 하는 바는 콘텐츠 제공자에 의해 제공되는 콘텐츠를 보호함과 아울러 사용자의 재생시스템을 보호하는 것에 있다.
오리지널 데이터와 어디셔널 데이터에 대해 구체적으로 설명하면, 예를 들어 광 디스크 내에 기록된 오리지널 데이터로는 특정 타이틀용의 멀티플렉싱된(multiplexed) AV스트림을 기록해두고, 인터넷상의 어디셔널 데이터로는 상기 오리지널 데이터의 오디오스트림(예를 들어, 한국어)과 상이한 오디오스트림(예를 들어, 영어)을 제공하면, 사용자에 따라서는 인터넷상의 어디셔널 데이터인 오디오스트림(예를 들어, 영어)을 다운로드 받아, 오리지널 테이터인 AV스트림과 함께 재생하거나, 또는 어디셔널 데이터만 재생하고자 하는 요구가 존재할 것이며, 이를 가능케 하기 위해서는 상기 오리지널 데이터와 어디셔널 데이터 간의 연관성을 규정하고, 이들 데이터들을 사용자의 요구에 따라 관리/재생하는 체계화된 방법이 필요하게 된다.
상기에서 설명의 편의를 위해 디스크 내에 기록된 신호를 오리지널 데이터로 하고, 디스크 외부에 존재하는 신호를 어디셔널 데이터라고 명명하였으나, 이는 각각의 데이터를 취득하는 방법에 따라 구분될 따름이지 오리지널 데이터와 어디셔널 데이터가 반드시 특정의 데이터로 한정되는 것은 아니라 할 것이다.
따라서, 어디셔널 데이터로서 일반적인 것은, 오디오(Audio), 프리젠테이션 그래픽(PG:Presentation Graphic), 인터액티브 그래픽(IG:Interactive Graphic), 텍스트 서브타이틀(Text subtitle)등이 될 수 있을 것이나, 이에 한정되지 않으며 상기 열거한 데이터들과 비디오(Video)를 전부 포함하는 멀티플렉싱된(multiplexed) AV스트림이 될 수도 있다. 즉, 광 디스크 외부에 존재하면서, 오리지널 데이터와 연관된 어떠한 속성의 데이터도 어디셔널 데이터로 가능하게 된다.
또한, 어디셔널 데이터는 인덱스 파일(index) 또는 플레이리스트 파일(*.m2ts), 클립인포 파일(*,clpi) 별로 각각 다운로드 될 수도 있으나, 콘텐츠(contents) 단위 또는 타이틀(Title) 단위로 다운로드 될 수도 있다.
관련하여, 상기 사용자의 요구를 실현 가능케 하기 위하여는 오리지널 데이터와 어디셔널 데이터 상호 간에 연관된 파일구조를 가짐이 필수적이라 할 것인바, 이하 도 2 ~ 도 3을 통해 블루레이 디스크(BD)에서 사용가능한 파일구조 및 데이터 기록구조에 대해 상세히 설명하면 다음과 같다.
도 2는 본 발명의 기록매체, 즉 예를 들어 BD-ROM과 같은 디스크 내에 기록되는 파일구조에 대한 하나의 실시예를 도시한 것이다. 도2의 파일구조를 설명하면 다음과 같다.
본 발명의 재생관리 파일구조는, 하나의 루트 디렉토리(root directory)아래에 적어도 하나 이상의 BDMV디렉토리 (BDMV directory)가 존재하고, BDMV디렉토리 내에는 사용자와의 인터액티브티(interactivity)를 보장하기 위한 일반파일(상위파일) 정보로서 인덱스 파일("index.bdmv")과 오브젝트 파일("MovieObjet.bdmv")을 포함함과 아울러, 실제 디스크 내에 기록된 데이터에 대한 정보와 이를 재생하는 방법 등에 대한 정보를 가지는 디렉토리로서, 플레이리스트 디렉토리 (PLAYLIST), 클립인포 디렉토리 (CLIPINF), 스트림 디렉토리 (STREAM)와, BD-J 오브젝트 파일을 포함하는 BDJO 디렉토리(BDJO)와 JAR 파일을 포함하는 자바 디렉토리(JAR)가 구비되며, 디스크 재생에 관련된 보조데이터로 이루어진 보조데이터 디렉토리(AUXDATA)가 구비되어 진다. 이하 상기 디렉토리 및 디렉토리 내에 포함되는 파일에 대해 상 세히 설명하면 다음과 같다.
스트림 디렉토리 (STREAM)는, 디스크 내에 특정 포맷으로 기록된 AV스트림 파일들이 존재하며, 예를 들어, 스트림파일(01000.m2ts, ...)의 확장명을 "*.m2ts" 로 사용한다. 즉, 스트림 파일 내에 본 발명과 관련된 콘텐츠로서 일반적으로 동영상 데이터가 기록되어 진다.
클립인포 디렉토리 (CLIPINF)는 상기 각각의 스트림 파일과 일대일 대응하는 클립인포 파일(01000.clpi,...)들로 구성되어 진다. 특히, 클립인포 파일(*.clpi)은 대응하는 스트림 파일의 속성정보 및 타임정보 (timing information)등을 기록하게 되며, 특히, 스트림 파일(*.m2ts)과 일대일 대응하는 클립인포 파일(*.clpi)을 묶어 BD 규격에서는 이를 "클립(clip)"이라고 명명한다. 즉, 하나의 스트림파일(*.m2ts)에 대해서는 반드시 대응하는 클립인포파일(*.clpi)이 존재하여야 함을 의미한다.
플레이리스트 디렉토리 (PLAYLIST)는 플레이리스트 파일(00000.mpls,...)들로 구성되며, 각각의 플레이리스트 파일(*.mpls)은 특정 클립(clip)이 재생되는 시간(playing interval)을 지정하는 적어도 하나 이상의 플레이아이템(PlayItem)을 포함하고 있으며, 플레이아이템 (PlayItem)은 재생을 원하는 특정 클립(clip), 즉 플레이아이템 (PlayItem)내에서 클립명 (clip_Information_File_name)으로 지정되는 클립(clip)의 재생 시작시간(IN-Time)과 재생 종료시간(OUT-Time)에 대한 정보를 가지고 있다.
즉, 플레이리스트 파일(*.mpls)은 적어도 하나 이상의 플레이아이템 (PlayItem)의 조합에 의해 원하는 클립(clip)의 재생을 수행하는, 전체 재생관리 파일구조내의 기본적 재생관리 파일단위가 된다.
특히, 플레이리스트 파일(*.mpls)은 전술한 오브젝트 파일 내의 특정 오브젝트(Object)에 의한 커맨드(command)에 의해서만 동작되며, 따라서, 디스크 재생 시나리오 관점에서, 오브젝트(Object)는 동적인 시나리오(Dynamic scenario)를, 플레이리스트 파일(*.mpls)은 정적인 시나리오(Static scenario)를 수행 또는 관리하게 된다.
BD-J 오브젝트 디렉토리(BDJO)는 BD-J 타이틀을 재생하기 위한 BD-J 오브젝트 파일을 포함한다.
자바 디렉토리(JAR)는 JAR(Java archive) 파일(PPPPP.jar,...)들이 기록되어 있으며, 다양한 어플리케이션(application)이 상기 JAR 파일에 의해 구성될 수 있다. JAR(Java archive) 파일은 복수의 파일 모음을 배포하기 위해 사용되는 압축파일로서, 상기 JAR 파일에는 보통 특정 자바 프로그램과 관련된 자바 클래스(classes) 파일 및 보조 자원(auxiliary resources), 메타데이터 등이 저장된다.
보조데이터 디렉토리(AUXDATA)는 디스크 재생과 관련된 보조적인 정보를 포함하는 파일들로 구성되어 지는바, 예를 들어, 재생시 클릭 사운드(click sound) 및 메뉴 사운드(menu sound)정보 등을 제공하는 사운드파일("Sound.bdmv")과, 텍스트 서브타이틀의 재생시 폰트(font)정보를 제공하는 폰트파일("11111.otf")들을 포함할 수 있다.
메타데이터 디렉토리(META)는 메타데이터(metadata)를 구비하는바, 상기 메 타데이터는 데이터에 대한 데이터(data about a data)로서 서치파일 또는 디스크 라이브러리(Disc Library)에 대한 파일 등이 그 예이다.
관련하여, 상술한 파일 및 디렉토리의 위치는 일 실시예에 불과하며, 경우에 따라 그 위치가 변경될 수도 있다. 예를 들면, BD-J 오브젝트 디렉토리(BDJO)와 자바 디렉토리(JAR)를 서브 디렉토리로 갖는 디렉토리가 상기 루트 디렉토리 밑에 별도로 구성되거나, 자바 디렉토리가 상위 디렉토리로서 루트 디렉토리 밑에 구성될 수도 있을 것이다.
또한, 상기 루트 디렉토리는 기록매체 내 기록된 데이터 및/또는 로컬 스토리지에 다운로드 되는 데이터의 보호에 관한 정보를 포함하는 디렉토리를 포함할 수 있는바, 도 2의 실시예에서는 인증서 디렉토리(CERTIFICATES)가 이를 나타낸 것이다. 상기 인증서 디렉토리(CERTIFICATES)에는 인증서 파일이 존재하게 되며, 이를 사용하여 각 데이터가 인증(authentication)되게 된다. 예를 들면, 기록매체 내에 기록된 데이터의 인증에 사용되는 인증서로써 "content000.crt", 어플리케이션의 인증에 사용되는 믿을 수 있는 루트 인증서(trusted root certificate)로서 "app.discroot.crt"와 "Binding Unit Signtaure file"에 위치하는 서명(singature)을 검증(verifiying)하기 위해 사용되는 인증서로써 "bu.discroot.crt" 등의 파일이 상기 인증서 디렉토리(CERTIFICATES) 내에 존재할 수 있다.
도 3은 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것으로서, 상기 전술한 파일구조에 관련된 정보들이 디스크 내에 기록되는 형태를 보여준다. 디스크의 내주로부터 보면, 전체 파일을 관리하기 위한 시스템 정보로서 파 일시스템 정보 영역 (File System Information area)과, 기록된 스트림 (*.m2ts)을 재생하기 위한, 인덱스 파일, 오브젝트 파일, 플레이리스트 파일, 클립인포 파일 및 메타데이터 파일이 기록된 영역(이를 "database area"라고도 한다), 및 오디오/비디오/그래픽 등으로 구성된 스트림 또는 JAR 파일이 기록되는 스트림 영역 또는 데이터 영역(stream area or data area)이 존재함을 알 수 있다.
또한, 상기 데이터 영역 내의 콘텐츠를 재생하기 위한 파일정보 등을 기록하는 영역을 관리영역이라 하고, 상기 파일시스템 정보 영역 (File System Information area) 및 데이터베이스 영역(database area)이 이에 해당된다. 단, 도3의 각 영역은 하나의 예로 제시한 것으로서, 본 발명이 도 3과 같은 각 영역의 배열구조에 국한되지 않음은 자명할 것이다.
도 4는 본 발명의 광 기록재생장치(10)의 전체 구성에 관한 일 실시예를 나타낸 것이다.
우선 광 디스크에 기록된 오리지널 데이터 및 재생관리 파일정보를 포함한 관리정보를 재생하기 위한 픽업(11)과 픽업(11)의 동작을 제어하는 서보(14), 상기 픽업(11)으로부터 수신된 재생신호를 원하는 신호 값으로 복원해내거나, 기록될 신호를 광 디스크에 기록되는 신호로 변조(modulation)하여 전달하는 신호처리부(13)와 상기 동작을 제어하는 마이컴(16)이 기본적으로 구성된다.
또한, 제어부(12)는 사용자명령 등에 의해 광 디스크 외에 존재하는 어디셔널 데이터를 다운로드 받아 이를 로컬 스토리지(15)에 저장함과 아울러, 로컬 스토리지(15) 내에서 바인딩 유닛 매니페스트 파일(Binding Unit Manifest file)에 기 록된 정보를 이용하여 바인딩 유닛을 생성하고, 기록매체 데이터와 로컬 스토리지 내 데이터를 재생하기 위해 로컬 스토리지(15) 내의 바인딩 유닛 매니페스트 파일(Binding Unit Manifest files)에 기록된 네임 매핑 정보(Name mapping information)를 이용하여 가상 파일구조(Virtual Package)를 생성하며, 상기 생성된 가상 파일구조(Virtual Package)를 활용하여 오리지널 데이터 및/또는 어디셔널 데이터를 사용자의 요구에 따라 재생하게 된다.
관련하여, 가상 파일구조(Virtual Package)는 가상 파일 시스템(Virtual File System)에 의해 수행되는 바인딩 동작(binding operation)을 통해 생성되며, 서로 다른 영역에 각각 저장되어 있는 디스크 내 오리지널 데이터로 구성된 오리지널 클립과 로컬 스토리지 내 어디셔널 데이터로 구성된 어디셔널 클립을 재생관리하는 파일구조가 된다.
관련하여, 바인딩 유닛 매니페스트 파일은 상기 가상 파일구조의 생성하는 바인딩 동작에 사용되는 정보를 포함하며, 상기 바인딩 유닛 매니페스트 파일 없이는 로컬 스토리지 내의 데이터를 기록매체 내의 파일구조(Disc Package)와 바인딩하여 가상 파일구조(Virtual Package)를 생성할 수 없다.
네임 매핑 정보(Name mapping information)는 바인딩 유닛 매니페스트 파일에 기록되어 있는 정보로서, 바인딩 유닛과 기록매체 내에 기록된 데이터가 가상 파일구조에서 어느 위치에 존재하게 되는지에 대한 정보이다..
상기에서 새로이 생성된 가상 파일구조(Virtual Package)를 추후 재활용을 위해 로컬 스토리지(15)에 저장해 두고 활용하거나, 또는 별도의 다이나믹 메모리 (Dynamic Memory)를 이용하여 일시적으로 저장하여 활용하는 것이 모두 가능할 것이다.
관련하여, 본 발명에서 상기 제어부(12)는 실행되는 어플리케이션이 결함없는 어플리케이션인지를 인증(authentication)하고, 상기 어플리케이션을 실행한다. 이를 통해 권한없는 주체(enttity)가 배포한 어플리케이션의 진정한 콘텐츠 제공자가 제공한 콘텐츠로의 엑세스(acess)를 제어할 수 있다. 나아가, 어플리케이션의 악의적인 작용(malicious fuction)으로부터 사용자의 재생시스템을 보호할 수도 있다. 관련하여, 어플리케이션의 인증(authentication)에 대해서는 도 5 이하에서 상술한다.
또한, 재생시스템(17)은 제어부(12)의 제어에 따라 출력데이터를 최종적으로 디코딩하여 사용자에게 제공하게 되는바, 이는 특히 AV신호를 디코딩하는 디코더와, 전술한 특정 타이틀의 재생과 관련하여 오브젝트 커맨드 혹은 어플리케이션과, 제어부(12)를 통해 입력되는 사용자 명령을 해석하여 재생방향을 결정하는 플레이어 모델로 구성된다. 재생시스템(17)에 대해서는 도 10에서 상세하게 다시 설명하도록 한다.
또한, AV 인코더(18)는 광 디스크에 신호를 기록하는 기능의 수행을 위해 제어부(12)의 제어에 따라 입력신호를 특정포맷의 신호, 예를 들어 MPEG2 트랜스포트 스트림으로 변환하여 신호처리부(13)에 제공하게 된다.
도 5는 본 발명의 재생시스템(playback system)을 활용한 데이터 재생장치의 일 실시예를 도시한 것이다.
"재생시스템(playback system)"이라 함은, 광기록재생기 내에 구비되는 프로그램(소프트웨어) 및/또는 하드웨어로 구성되는 집합적 재생처리 수단으로서, 광기록재생기 내에 로딩된 기록매체를 재생함은 물론, 상기 기록매체에 관련되어 로컬 스토리지 내에 저장된(예를 들어, 외부로부터 다운로드 받은) 데이터를 함께 재생 및 관리하기 위한 시스템을 의미한다.
기록매체가 로딩되면, 가상 파일 시스템(40)은 상기 기록매체에 기록된 오리지널 데이터와 로컬 스토리지의 어디셔널 데이터를 묶어 가상 파일구조(51, Virtual Package)를 생성한다. 다만, 로컬 스토리지에 상기 로딩된 기록매체에 대응하는 바인딩 유닛이 없는 경우, 상기 기록매체 내 디스크 파일구조(Disc Package)만을 이용하여 가상 파일구조(51)를 생성할 수 있다.
상기 가상 파일 시스템(40)은 가상 파일구조의 바인딩 동작을 제공함과 아울러 상기 가상 파일구조(51)에 속하는 파일로의 엑세스 메카니즘을 제어한다. 상기 가상 파일 시스템(40)에 의해 수행되는 가상 파일구조(51)의 생성은 바인딩 유닛 매니페스트 파일에서 정의된다. 상기 바인딩 유닛 매니페스트 파일은 바인딩 작용의 관리 정보를 포함하며 가상 파일구조로 함께 바인딩되는 파일들의 유효한 조합을 정의한다.
상기 가상 파일 시스템(40)에 의해 생성된 가상 파일구조(51)는 BD-J 모드와 HDMV 모드에 모두 사용된다. BD-J 모드에서 기록매체 또는 로컬 스토리지 상에 위치하는 어플리케이션이 가상 파일 시스템(40)을 통해 상기 가상 파일구조(51)에 엑세스할 수 있다. HDMV 모드에서는 무비 오브젝트(MovieObject)가 상기 가상 파일구 조에 엑세스할 수 있다.
기록매체가 로딩되면 인덱스 테이블이 사용자에게 제공된다. 상기 인덱스 테이블은 가상 파일구조에 의한 인덱싱 항목을 사용자에게 제공하게 된다. 즉, 상기 가상 파일구조가 기록매체 내 디스크 파일구조만을 사용하여 생성된 경우 기록매체 내 인덱스 테이블이 사용자에게 제공된다. 기록매체 내 데이터와 로컬 스토리지 내 데이터를 바인딩하여 가상 파일구조를 생성한 경우 상기 바인딩한 결과를 재생할 수 있는 인덱스 테이블이 사용자에게 제공되게 된다.
상기 인덱스 테이블의 인덱싱 항목 중 HDMV 타이틀의 재생명령이 내려지면 생성되면 재생관리 파일 구조상의 무비 오브젝트 내 구비된 커맨드에 따라 해당하는 플레이리스트 파일이 실행된다. 이후 플레이리스트 파일 정보에 따라, 특정 플레이아이템 및/ 또는 서브플레이아이템에 의해 상기 타이틀을 구성하는 적어도 하나 이상의 클립이 재생된다.
본 발명은 타이틀의 재생에 관한 것으로서, 적어도 하나 이상의 어플리케이션을 포함하여 구성된 타이틀을 그 대상으로 한다. 기록매체 및/또는 로컬 스토리지의 데이터를 재생하는 재생단위인 타이틀은 어플리케이션과 관련된 A/V 데이터로 구성될 수 있다. 다만, 경우에 따라 타이틀은 어플리케이션을 포함하지 않고, 단순히 A/V 데이터를 재생할 수도 있다. 예를 들면 자동재생(autostart) 플레이리스트는 관련된 어플리케이션 없이 실행될 수도 있다. 마찬가지로, 타이틀이 반드시 A/V 데이터의 재생(presentation)을 포함할 필요가 있는 것은 아니다. 예를 들면, 게임과 같이 하나 또는 그 이상의 어플리케이션만으로 구성된 타이틀이 존재할 수도 있 다.
본 발명은 적어도 하나 이상의 어플리케이션을 포함하여 구성된 타이틀의 재생에 있어서, 상기 타이틀과 관련된 어플리케이션을 인증하고 상기 타이틀을 재생함으로써 기록매체 및 로컬 스토리지의 데이터를 보호하는 것을 특징으로 한다.
이하에서는 어플리케이션을 포함하여 구성된 타이틀 중 BD-J 타이틀을 예로 하여 설명한다. 상기 BD-J 타이틀의 재생에 대하여 도 5를 참조하여 설명하면 다음과 같다.
BD-J 타이틀은 하나의 관련된 BD-J 오브젝트(42)를 갖는다. 각각의 BD-J 오브젝트는 각각 "XXXXX.bdjo" 파일에 저장된다. 상기 BD-J 오브젝트는 BD-J 타이틀과 관련된 관리정보(management information)을 포함한다. BD-J 오브젝트 내에 포함되는 관리정보로는 "KeyInterestTable(42a)", "TerminalInfo(42b)", "AMT(42c)"과 "AppCacheInfo(42d) 등이 있다.
인덱싱 테이블 중 BD-J 타이틀의 재생명령이 내려지면, 상기 BD-J 타이틀을 활성화(activate)하기 위해, "Module Manager(171)"는 상기 BD-J 타이틀에 대응하는 BD-J 오브젝트 아이디(BD-J Object ID)를 "BD-J Module(174)에 보낸다. 상기 "BD-J Module(174)"은 수신한 BD-J 오브젝트 아이디에 대응하는 BD-J 오브젝트를 로드한다. 상기 BD-J 오브젝트 내 "Application Management Table(AMT,42c)"은 "BD-J Module(174)"에 의해 "Application Manager(174a)"로 보내지며, "Application Cache Information(AppCacheInfo, 42d)"은 "Application Cache Manager(174c)"로 보내지게 된다. 또한, "BD-J Module(173)"은 "KeyInterestTable(42a)"을 "User Event manager(171a)"로 로드하고 "Terminal Information(TerminalInfo, 42b)"를 "Module Manager(171)로 로드한다.
"Application Management Table(AMT,42c)"은 광기록재생장치가 재생되는 BD-J 타이틀과 관련된 어플리케이션을 구분할 수 있도록 한다. 또한 상기 어플리케이션의 라이프사이클 관리 및 매개정보(parametrization data)와 같은 각 어플리케이션에 관한 포괄적인 정보를 제공한다. 상기 "Application Management Table(AMT,42c)"이 "Application Manager(174a)"로 로드되면, 상기 "Application Manager(174a)"는 상기 "Application Management Table(AMT,42c)"에 표시된 자동 실행(auto run) 어플리케이션을 실행시키게 된다.
관련하여, 어플리케이션(application)이라 함은 어플리케이션 프로그램의 줄임말로써, 이는 사용자 또는 다른 어플리케이션에게 특정한 기능을 직접 수행하도록 설계된 프로그램을 말한다. 상기 어플리케이션은 "Java VM(Java Virtual Machine)(175b)"에서 실행되게 된다. 상기 어플리케이션은 API(Application Programming Interface)를 사용하여 다른 프로그램에 공식적으로 작업을 요청(request)하거나 통신하게 된다.
어플리케이션은 예를 들면, 기록매체 외부로부터 어디셔널 데이터를 다운로드 받는 동작과 같이 광기록재생기 내의 네트워크(network) 기능을 관리한다. 또한, 로컬 스토리지(15) 내에 저장된 파일들을 편집하거나 또는 디스크 파일구조에 바인딩(binding)하여 가상 파일구조(Virtual Package)를 생성하는 동작과 같이 로컬 스토리지(15)를 관리할 수도 있다. 즉, 어플레케이션에 의해 재생시스템 내에서 특정의 기능이 수행되게 된다.
다양한 어플리케이션이 JAR 파일에 의해 구성될 수 있다. JAR(Java archive) 파일은 복수의 파일 모음을 배포하기 위해 사용되는 압축파일로서, 상기 JAR 파일에는 보통 특정 프로그램과 관련된 자바 클래스(classes) 파일 및 보조 자원(auziliary resources), 메타데이터 등이 저장됨은 앞서 도 2에서 밝힌 바 있다.
관련하여, 어플리케이션은 기록매체 내에 존재할 수도 있으나, 로컬 스토리지 내에 존재할 수도 있다. 즉, 특정 어플리케이션을 구성하는 JAR 파일들은 기록매체에 존재할 수도 있으나, 로컬 스토리지에 존재할 수도 있다. JAR 파일이 로컬 스토리지에 존재하는 경우, 상기 JAR 파일은 기록매체 외부로부터 다운로드 될 수도 있다. 경우에 따라서는 로딩된 기록매체로부터 독출될 수도 있을 것이다.
재생되어야 하는 BD-J 타이틀과 관련된 어플리케이션이 실행되기 위해서, 상기 어플리케이션을 수행하는 클래스 등의 데이터가 "Application manager(174a)"에 의해 가상 파일구조(51)의 JAR 파일로부터 "Java VM"으로 로드된다. 상기 "Application manager(174a)"는 "Application Cache(173c)"로부터 어플리케이션들을 로드할 수도 있다.
상기 "Application Cache(173c)"는 어플리케이션이 로딩되는 동안 기록매체로부터 AV 데이터의 끊김없는 재생을 보장하고 데이터를 로딩하면서 생기는 지연을 감소시킨다. 즉, 상기 "Application Cache(173c)"는 BD-J를 위한 일종의 사전로드(preload) 버퍼 기능을 한다. 다만, 어플리케이션은 경우에 따라, 로컬 스토리지 내 JAR 파일로부터의 데이터의 로딩과 같이 사전로드되지 않는 어디셔널 데이터를 사용할 수도 있다. 어떤 파일들이 가상 파일구조로부터 "Application Cache(174d)"로 전달(transfer)되어야 하는지는 "AppCacheInfo(42d)"에 의해 결정되게 된다.
본 발명에서는 어플리케이션을 구성하는 JAR 파일로부터의 데이터를 로딩하는 동안 "Java VM(174b)"이 상기 JAR 파일을 인증한다. 어플리케이션을 구성하는 본 발명의 JAR 파일의 구성과 그 인증에 대해서는 도 6 ~ 도 11에서 상세히 설명한다.
본 발명에 따라 어플리케이션을 구성하는 JAR 파일이 인증되면, 상기 어플리케이션이 실행되어 BD-J 타이틀이 재생되게 된다. 처음에는 "AMT(42c)"에 자동실행(autostart)으로 표시된 어플리케이션이 실행되게 된다. 상기 어플리케이션에 의해 상기 타이틀에 관련된 다른 어플리케이션이 실행될 수도 있다.
상기 어플리케이션의 실행에 따라, "Playback Control Engine(176)"은 실제 디스크 또는 로컬 스토리지에 존재하는 플레이리스트 파일 정보를 해석하고, 플레이어의 재생환경 및 재생상태가 저장되어 있는 "Player Registers(176b)를 참조하여 해당 플레이리스트를 실행하게 된다. 상기 플레이리스트의 실행에 의해 재생되는 클립들이 "Presentation Engine(177)"이 제공되고, "Presentation Engine(177)" 내 디코더를 통해 스트림의 종류에 따라 비디오/오디오/그래픽/텍스트서브타이틀 중 어느 하나로 디코딩된다. 상기 디코딩된 스트림은 플레인(Planes)을 통해 사용자에게 디스플레이될 것이다.
상기 "Playback Control Engine(176)"은 실제 모든 재생을 관리하는 "Playback Control Functions(176a)"과 플레이어의 재생환경 및 재생상태("Player status registers(PSR)" 및 "General purpose register(GPR)")를 저장하는 "Player Registers(176b)"로 구분된다. "Playback Control Functions(176a)"이 "Playback Control Engine(176)"을 의미하는 경우도 있다.
본 발명의 재생시스템(17, playback system)에서 상기 "Module Manager(171)"와 "HDMV Module(175)", "BD-J Module(174)", "Playback Control Engine(176)"은 소프트웨어적인 처리가 가능하다. 실제 하드웨어 구성보다는 소프트웨어로 처리함이 설계에 더욱 유용하다. 단, "Presentation Engine(177)" 및 디코더와 플레인(Planes)은 하드웨어적으로 설계되는 것이 일반적이다. 특히, 소프트웨어적으로 처리되는 구성요소(예를 들어, 도면부호 171, 174, 175, 176)의 경우는 도 4에서 전술한 제어부(12)의 한 부분으로 구성될 수도 있다. 따라서, 본 발명의 구성은 그 의미로서 이해하여야 하며, 하드웨어적 구성인지 소프트웨어적 구성인지에 국한되지 않음을 밝혀두고자 한다.
관련하여, 본 발명의 재생시스템(17, playback system)의 특징은 다음과 같다.
첫째, HDMV 타이틀을 위한 "HDMV Module(175)"과 BD-J 타이틀을 위한 "BD-J Module(174)"이 독립적으로 구성되고, 동시에 두 Module(174, 175)이 실행되지 않는다. 즉, HDMV 타이틀 재생 중에는 BD-J 타이틀을 재생할 수 없으며, 그 반대도 마찬가지이다.
둘째, HDMV 타이틀과 BD-J 타이틀은 각각 별도 방식의 사용자 명령을 수신하며, 상호 간에는 사용자명령을 수행하는 방식이 독립적이다. "Key Event Handler(171)"는 사용자명령을 수신하여 "HDMV Module(174)" 또는 "BD-J Module(175)", "Module Manager(172)/Navigator(171)" 중 어느 하나로 전달하는 역할을 한다. 즉, 예를 들어, "Key Event Handler(171)"는 수신된 명령이 "User Operation(UO)"에 의한 사용자 명령이면 이를 "Module Manager(172)" 로 전송하여 수행케 하고, 수신된 명령이 "Key Event"에 의한 사용자 명령이면 이를 "BD-J Module(175)"로 전송한다.
세째, 전술한 "Playback Control Engine(176)"의 관리(이를 "마스터(master)"라고도 한다)는 현재 동작중인 Module(174, 175)중의 하나가 담당한다. 즉, HDMV 타이틀 재생중에는 "HDMV Module(174)"이 마스터(master)가 되고, BD-J 타이틀을 재생중에는 "BD-J Module(175)"이 마스터(master)가 된다. .
관련하여, "Navigator(173)"는 언제든지 사용자의 제어하에 타이틀 선택을 수행할 수 있도록 하며, 사용자에게 기록매체와 타이틀 메타데이터를 제공할 수 있다.
도 6는 본 발명에 의한 서명된 어플리케이션(application)을 구성하는 JAR 파일의 일 실시예를 도시한 것이다.
JAR 파일은 일종의 압축 파일로서 복수의 파일을 하나로 모으는데 사용된다. 상기 JAR 파일이 서명된 경우, 상기 JAR 파일을 서명된 JAR 파일(Signed JAR file)이라고 하며, 상기 서명된 JAR 파일에 의해 구성된 어플리케이션을 서명된 어플리케이션(Sined Application)이라고 한다. 상기 서명된 JAR 파일은, 매니페스트 파일이 업데이트되고 메타인포 디렉토리에 서명파일(Signature file)과 서명블락파일 (Signature Block file)이 추가된다는 점을 제외하고, 본래의 JAR 파일과 동일하다.
관련하여, 데이터의 인증에 사용되는 파일들을 인증 메시지(authentication messages)라고 한다. 본 발명에서는 상기 인증 메시지가 JAR 파일에 포함되는 것이 바람직하다. 이는 JAR 파일로서 수행되는 한, 디스크 상에 존재하는 어플리케이션인지 네트워크를 통해 얻어진 어플리케이션인지에 관계없이, 본 발명에 의한 어플리케이션의 인증을 가능하게 한다.
도 6의 어플리케이션은 서명된 어플리케이션으로서, 상기 어플리케이션을 구성하는 JAR 파일은 "App0" 파일과 메타인포 디렉토리(61)를 포함한다. "App0" 파일은 "classes" 파일과 데이터(data) 디렉토리를 포함하며, 상기 데이터 디렉토리에는 "App0.dat" 파일이 존재한다. "classes" 파일은 "App0.class" 파일과 "subclasses" 디렉토리를 포함하며, 상기 "subclasses" 디렉토리에는 "sub1.class"와 "sub2.class"를 존재한다. 상기 JAR 파일에 의해 구성되는 어플리케이션의 실행명령이 내려지면, 상기 JAR 파일 내 클래스들이 로딩되게 된다.
상기 메타인포 디렉토리(61)는 매니페스트 파일(MANIFEST.MF : 611)과 서명파일(XXX.SF : 612), 서명블락파일(XXX.RSA : 613)을 포함하며, 상기 파일들에 의해 상기 어플리케이션의 인증(authentication)이 이루어지게 된다. 관련하여, 상기 파일명 "XXX"는 상기 JAR 파일에 서명한 주체를 나타낸다. 상기 파일명 "XXX"를 콘텐츠 제공자의 서명용 가명(signature alias)이라고도 한다. 상기 매니페스트 파일, 서명파일, 서명블락파일이 본 발명에 따른 어플리케이션의 인증에 사용되는 인 증 메시지이다. 상기 인증 메시지들에 대해 구체적으로 설명하면 다음과 같다.
매니페스트 파일(611)에는 서명된 파일 각각에 대한 메시지 다이제스트와 함께 JAR 파일 내 파일들의 엔트리에 대한 리스트가 포함된다. 관련하여, JAR 파일 내 모든 파일들이 상기 매니페스트 파일에 엔트리로서 리스트 될 필요는 없으나 서명된 모든 파일은 리스트 되는 것이 바람직하다. 따라서, 도 6의 실시예에서 JAR 파일 내 모든 클래스 파일(App1.class, sub1.class, sub2.class)이 서명된 경우, "App0.class" 파일 및 "sub1. class" 파일, "sub2. class" 파일에 대한 엔트리는 매니페스트 파일(611)에 리스트 되어야 한다.
서명파일(612)은 상기 매니페스트 파일의 다이제스트를 포함한다. 상기 서명파일은 권위 있는 조직(authorizing organisation)에 의해 서명된 데이터(signed data)인 것이 바람직하다.
서명파일(612)의 콘텐츠(contents)를 사용하여 메시지 다이제스트를 계산한 후, 상기 계산된 결과를 개인키를 이용하여 서명 알고리즘을 통해 암호화하면 전자서명이 생성된다. 즉, 전자서명은 서명파일의 서명된 버전이라고 할 수 있다. 상기 생성된 전자서명은 서명블락파일(613) 내에 위치하게 된다.
관련하여, 상기 개인키는 서명블락파일(613)에 존재하는 공개키에 대응하는 개인키이다. 상기 공개키는 서명블락파일 내 인증서(certificates)들의 리프 인증서(leaf certificates) 중 하나에 위치한다. 상기 공개키를 인증하는 인증서들 또한 상기 서명블락파일에 포함된다.
서명블락파일(613)은 전자서명파일(Digital Signature file)이라고도 한다. 전자서명파일은 서명파일(612)과 동일한 파일명을 갖지만 확장자가 다르다. 확장자는 서명 알고리즘에 의해 정해지며, 예를 들면 ".RSA" 또는 ".DSA" 등이 있다.
도 7은 본 발명에 의한 서명된 JAR 파일을 구성하는 흐름의 일 실시예를 도시한 것이다.
우선 JAR 파일 내 포함된 파일들의 데이터에 대한 다이제스트를 산출하고(S710) 상기 산출된 다이제스트를 매니페스트 파일을 생성하여 저장한다(S720) . 상기 JAR 파일 내 포함된 파일들의 데이터에 대한 다이제스트는 사용자에게 제공되는 어플리케이션의 내용이 변하지 않았음을 증명하는데 사용된다.
관련하여, 상기 다이제스트는 다이제스트 알고리즘에 의해 산출된다. 다이제스트 알고리즘이라 함은 데이터를 해쉬(hash) 처리한 후 각 데이터에 대응되는 일정 길이의 해쉬를 구하는 알고리즘을 의미한다. 산출된 다이제스트는 해당 데이터와 일대일로 매핑되기 때문에 정보의 내용을 증명할 수 있는 코드로서 활용될 수 있다. 즉, 어떤 데이터를 다이제스트 알고리즘을 통해 다이제스트로 계산하면, 해당 다이제스트를 이용해 데이터의 수정, 순서 변경, 삭제, 첨가 등 데이터의 무결성(integrity)을 체크할 수 있다.
상기 다이제스트 알고리즘은 임의의 길이를 가지는 데이터를 입력받아 일정한 길이의 결과로 산출한다. 특히 본 발명에서 이용되는 다이제스트 알고리즘은 단방향 해쉬함수이다. 따라서, 산출된 다이제스트로부터 원래의 데이터를 추론할 수 없기 때문에 본 발명에 따른 기록매체에 적합하다고 할 수 있다. 상기 다이제스트 알고리즘으로는 예를 들어, SHA 1(Secure Hash Algorithm-1) 또는 MD5(Message Digest algorithm 5) 등이 이용될 수 있다.
상기 JAR 파일 내 포함된 파일들의 데이터에 대한 다이제스트를 포함하는 매니페스트 파일의 다이제스트를 계산한다(S730). 서명파일(Signature file)을 생성하여 상기 매니페스트 파일의 다이제스트를 저장한다(S740). 상기 서명파일은 상기 매니페스트 파일의 무결성을 보장하기 위해서 사용된다.
상기 서명파일은 상기 JAR 파일을 제공하는 콘텐츠 제공자의 개인키(CP's private key)를 이용하여 서명된다. 즉, 서명파일의 데이터를 사용하여 다이제스트가 계산(S750)된 후, 상기 서명파일의 다이제스트 계산의 결과를 개인키를 이용하여 암호화(S760)된다. 상기 암호화된 결과가 인증서와 함께 서명블락파일에 부가되어 저장되게 된다(S770).
관련하여, 상기 서명파일의 암호화된 결과가 전자서명(Digital Signature)이 된다. 상기 전자서명의 생성에는 서명 알고리즘이 사용되는데, 서명 알고리즘이란 일종의 암호화 알고리즘이다. 상기 암호화 알고리즘으로서는 예를 들어, RSA(Rivest-Shamir-Adelman), DSA(digital signature algorithm) 등이 이용될 수 있다. 전자서명의 생성에 대해서는 도 8에서 좀 더 구체적으로 설명하기로 한다.
어플리케이션의 제공자는 상기 생성된 매니페스트 파일과 서명파일, 서명블락파일을 묶어 서명된 JAR파일을 생성하여 사용자에게 제공하게 된다.
도 8은 본 발명에 의한 전자서명을 구성하는 일 실시예를 도시한 것이다.
어플리케이션을 제공하는 콘텐츠 제공자는 사용자에게 제공하는 어플리케이션의 진정성을 보장하기 위해 상기 어플리케이션을 구성하는 JAR 파일을 서명하고, 서명된 JAR 파일을 제공할 수 있다. 상기 어플리케이션이 진정한 주체(entity)에 의해 제공되었는지를 확인하기 위하여 전자서명(Digital)이 이용된다. 또한, 상기 전자서명은 어플리케이션의 제공과정에서 어플리케이션이 변조되거나 위조되는 폐해를 방지하기 위해서 사용된다. 비밀키를 가진 자만이 서명을 할 수 있으며, 서명을 한 주체가 본인이라는 것을 증명할 수 있어야 하고, 서명을 한 어플리케이션은 변경이 되지 않는다.
서명된 JAR 파일에 포함되는 서명파일 내 데이터를 다이제스트 알고리즘(6010)에 적용시킨다. 상기 다이제스트 알고리즘을 통해 서명파일에 대한 다이제스트(6011)가 산출된다.
상기 서명파일에 대한 다이제스트에 서명 알고리즘(6012)을 적용하면 전자서명이 생성된다. 상기 서명 알고리즘에는 어플리케이션을 제공하는 콘텐츠 제공자의 개인키(6013)가 이용된다.
상기 생성된 전자서명은 서명블락파일(Signature Block file)에 포함되어 JAR 파일의 형태로 기록매체 또는 네트워크를 통해 사용자에게 제공되게 된다.
관련하여, 개인키(private key)라 함은 공개 키 암호 시스템에서 사용되는 한 실체의 비대칭 키 쌍 중에서 공개되지 않는 키를 말한다. 경우에 따라서는 대칭 키 암호화 방식에서 사용되는 키를 의미할 수도 있다. 상기 개인키에 대응하는 키를 공개키(public key)라 하며, 공개키라 함은 공개 키 암호 시스템에서 사용되는 한 실체(entity)의 비대칭 키 쌍 중에서 공개되는 키를 의미한다. 상기 공개키는 서명 시스템에서 서명의 진위를 판단하는 데 사용되어 검증 키라고도 한다.
도 9는 본 발명에 의한 서명된 어플리케이션을 구성하는 JAR 파일 내 파일(a file)의 인증 흐름의 일 실시예를 도시한 것이다.
매니페스트 파일이 처음 분석될 때, 서명파일에 대한 서명 즉, 전자서명이 검증된다(S910). 상기 전자서명은 서명블락파일에 존재한다. 구체적으로 살펴보면, 상기 서명파일에 대응하는 서명블락파일을 찾아내어 상기 서명블락파일로부터 인증서들(certificates)을 독출한다. 상기 인증서들 중 리프 인증서 내에는 상기 서명파일의 생성에 사용된 개인키에 대응하는 공개키가 존재한다.
상기 공개키를 사용하여 상기 서명블락파일 내에 존재하는 암호화된 전자서명을 다이제스트로 복원하고 서명파일의 다이제스트와 비교한다. 상기 비교한 결과가 동일한 경우 전자서명이 검증되게 된다. 전자서명을 검증하여 검증에 실패하는 경우, 상기 파일에 대한 인증은 실패로 돌아간다(S970). 상기 공개키는 전자서명의 생성에 사용된 개인키에 대응하는 키이다.
인증되는 파일의 유효성을 확인하기 위하여, 매니페스트 파일에 대한 다이제스트가 계산된다(S920). 상기 계산된 다이제스트가 서명파일에 존재하는 다이제스트와 비교된다(S930). 비교된 결과가 다른 경우, 파일의 인증(authentication)은 실패(S970)로 돌아간다. 비교된 결과가 동일한 경우 매니페스트 파일에 대한 무결성이 확인된다.
인증되는 파일의 실제 데이터에 대한 다이제스트가 계산된다(S940). 상기 다이제스트가 매니페스트 파일 내 다이제스트와 비교되게 된다(S950). 비교된 다이제스트들이 동일한 경우 상기 파일이 유효성이 확인되어 인증은 성공(S960)하게 된 다. 그라나 비교된 다이제스트들이 다른 경우에는 파일의 인증은 실패(S970)하게 된다.
본 발명은 어플리케이션을 구성하는 파일 내 파일을 인증함에 있어서, 서명파일을 이용하여 매니페스트 파일의 무결성(integrity) 확인하고, 서명블락파일을 이용하여 전자서명을 검증하는 것을 특징으로 한다. 또한, 상기 매니페스트 파일을 이용하여 JAR 파일의 실제 데이터에 대한 무결성을 확인하는 것을 특징으로 한다.
따라서, JAR 파일의 실제 데이터에 대한 무결성 확인(S940 ~ S950), 매니페스트 파일의 무결성 확인(S920 ~ S930)과 전자서명의 검증(S910)은 개별적으로 구현가능다. 즉, 도 9의 실시예에서 설명한 인증 흐름과 동일한 순서로 구현되도록 제약되는 것은 아니며, 재생시스템에 따라 순서가 변동될 수도 있다.
관련하여, 어플리케이션을 인증함에 있어서, 인증되는 파일이 매니페스트 파일에서 리스트된 것인지를 인증되는 파일의 실제 데이터에 대한 다이제스트가 계산(S940)되기 전에 확인할 수도 있다.
또한, 전자서명에 대한 검증 결과(S910)와 매니페스트 파일에 대한 무결성 확인의 결과(S930)는 나중의 사용을 위해 저장될 수도 있으며, 이 경우 상기 단계(S910 ~ S930)는 하나의 JAR 파일의 인증 과정에서 한 번만 수행되게 될 것이다.
전자서명의 검증과 관련하여, 상기 전자서명의 검증에 사용되는 인증서는 서명블락파일 내 인증서 필드(certificates field)에 존재하게 된다. 상기 인증서 필드는 적어도 하나 이상의 인증체인(cetificate chain)을 포함한다. 리프 인증서(leaf certificate) 내 공개키를 사용하여 서명블락파일의 전자서명을 검증함에 있 어서, 인증체인의 각 체인 역시 검증되어야 한다. 상기 인증체인의 검증은 루트 인증서(root certificate)까지 수행된다. 루트 인증서와 상기 루트 인증서에 이르는 중간 인증서들(intermediate certificates)의 검증까지 성공하면, 인증되는 파일의 인증이 성립할 수 있다.
관련하여, 상기 인증체인의 인증서들은 기록매체 내에 기록되어 사용자에게 제공될 수도 있고, 기록매체 외부로부터 사용자에게 다운로드 될 수도 있다. 상기 인증서에는 버전(version), 시리얼 넘버(serial number), 서명 함수(signature algorithm), 발행인(issuer), 유효기간, 인증대상(subject), 공개키(public key) 등이 포함될 수 있다.
도 10은 본 발명에 의한 전자서명을 검증하는 일 실시예를 도시한 것으로서, 도 9의 JAR 파일 내 파일의 인증 과정 중 전자서명을 검증하는 방법의 이해를 돕기 위하여 도시된 것이다.
전자서명은 상기 전자서명에 이용된 개인키(6013)에 대응하는 공개키(6017)를 이용하여 서명 알고리즘(6016)을 통하여 다이제스트(6018)로 복원될 수 있다. 상기 전자서명은 암호화 알고리즘 특성상, 개인키(6013)로 암호화된 정보는 반드시 상기 개인키에 대응하는 공개키(1017)를 사용하여 복원될 수 있다. 즉, 전자서명의 생성에 사용된 개인키(6013)에 대응하는 공개키(6017)가 없는 경우 전자서명이 다이제스트(6018)로 복원될 수 없다. 이 경우 제공된 어플리케이션이 적법한 콘텐츠 제공자에 의해 제공된 것임이 인증될 수 없게 된다. 상기 공개키(6017)는 인증서 내에 포함되고, 상기 인증서는 서명블락파일 내에 저장되어 사용자에게 제공된다.
재생시스템(17)은 인증되는 JAR 파일의 서명파일의 데이터에 다이제스트 알고리즘(6014)를 적용하여 다이제스트(6015)를 산출한다. 상기 다이제스트 알고리즘은 전자서명의 생성과정에서 사용된 다이제스트 알고리즘이다. 상기 산출된 다이제스트(6015)를 전자서명을 복원하여 생성된 다이제스트(6018)와 비교한다. 비교한 다이제스트들이 동일하지 않은 경우 전자서명의 검증은 실패하게 된다.
또한, 상기 공개키(6017)의 신뢰성을 보증하는 인증체인의 인증서들의 검증이 실패하는 경우에도 전자서명의 검증은 실패하게 된다. 결국, 이러한 경우, 진정한 콘텐츠 제공자에 의해 서명된 어플리케이션이라고 할 수 없으므로 어플리케이션의 인증이 성립하지 않게 된다.
도 11은 본 발명에 의한 JAR 파일의 인증에 이용되는 인증체인(Certificate Chain)을 도시한 것이다.
믿을 수 있는 루트 인증기관이 인증기관들을 인증(1102, 1103)할 수 있다. 상기 인증되는 인증기관은 AACS(Advanced Access Content System)이나 CPS(Content Protection System)일 수 있다. 경우에 따라 상기 AACS나 CPS는 스스로가 루트 인증기관이 될 수도 있다.
상기 AACS, CPS 또는 다른 인증기관은 광기록재생기, 콘텐츠 제공자 등과 같은 하부구조들을 독립적으로 인증(1102a, 1102b, 1102c)할 수도 있다. 이와 같은 구조를 인증체인(Cerificate Chain)이라고 한다.
상기와 같은 인증체인에서 믿을 수 있는 인증기관(CA)을 인증할 수 있는 상위의 인증기관이 존재하지 않게 되는데, 이 경우에 믿을 수 있는 인증기관은 스스 로 자신을 인증(1101)하게 되며, 이는 루트인증(1101)에 해당된다.
상기 인증기관들은 자기 자신 또는 하부구조들을 인증의 결과에 대해 각 인증기관의 전자서명을 포함하는 인증서를 제공하게 된다. 인증체인의 가장 하위의 인증기관이 제공하는 인증서를 리프 인증서라고 하며, 인증체인의 가장 상위의 인증기관이 제공하는 인증서를 루트 인증서라고 한다. 도 10에서 설명한 바와 같이, 상기 인증서들은 전자서명의 검증과정에서 상기 전자서명을 복원하는 공개키의 신뢰성을 담보하게 된다.
관련하여, 경우에 따라 상기 인증기관들은 인증서 폐기리스트(Certificate Revocation List, CRL)를 작성할 수도 있다. 이 경우, 콘텐츠 제공자 및 사용자는 상기 인증서 폐기 리스트를 다운로드 받아 인증서를 통해 인증하기에 앞서 인증하고자 하는 인증서가 폐기되었는지를 검사하게 된다. 만일 인증하고자 하는 인증서가 폐기된 경우라면 인증이 성립되지 않게 되며, 인증서가 폐기되지 않은 경우라면 다른 인증요건들을 만족하는 한 인증이 성립되게 된다.
관련하여, 믿을 수 있는 인증기관이 제공하는 믿을 수 있는 루트 인증서(trusted root certificate)는 기록매체의 특정한 영역에 파일과 같은 형태로 저장되어 사용자에게 제공되거나 기록매체 외부로부터 다운로드 되어 광기록재생기 내 키스토어에 저장될 수도 있다.
어플리케이션이 인증되는 동안, 광기록재생기는 서명블락파일 내 루트 인증서가 상기 기록매체 내 또는 키스토어에 저장된 믿을 수 있는 루트 인증서와 동일한지를 체크하게 된다. 만약 동일하지 않다면, 상기 어플리케이션은 "Java VM"으로 로드되지 않거나 로드되더라도 실행되지 않는 것이 바람직하다.
도 12는 본 발명에 의한 타이틀의 재생 흐름을 도시한 것이다.
BD-J 타이틀을 예로 하여 설명하면, 재생을 원하는 BD-J 타이틀에 대하여 "BD-J Module"이 상기 BD-J 타이틀에 대응하는 BD-J 오브젝트를 로드한다(S1210). 상기 BD-J 오브젝트는 상기 BD-J 타이틀과 관련된 관리정보를 포함한다. 상기 관리정보르 중 "AMT" 즉, "Application Management Table"가 "BD-J Module" 내 "Application Manager"로 로드된다(S1220). 상기 관리정보에는 "AppCacheInfo"가 포함되며, 상기 "AppCacheInfo"는 "BD-J Module" 내 "Application Cache Manager"에 제공되어 어떤 파일들이 가상 파일구조로부터 "Application Cache"로 전달되는지를 결정하게 된다.
가상 파일구조의 JAR 파일들로부터 상기 BD-J 타이틀의 재생에 관련된 어플리케이션을 구성하는 클래스들이 로딩된다. 상기 가상 파일구조의 JAR 파일들은 기록매체에 존재할 수도 있고, 기록매체 외부로부터 다운로드 되어 로컬 스토리지에 존재할 수도 있다. 상기 JAR 파일이 로컬 스토리지에 존재하는 경우, 상기 JAR 파일은 로컬 스토리지 내 어플리케이션 데이터 영역(Application Data Area)에 존재하게 될 것이다. 상기 어플리케이션 데이터 영역은 어플리케이션을 구성하는 데이터가 저장되는 영역이다.
본 발명은 클래스로딩 동안, 어플리케이션을 인증하는 것을 특징으로 한다. 상기 어플리케이션의 인증은 "Java VM"에 의해 이루어지게 될 것이다. 상기 어플리케이션의 인증은 상기 어플리케이션을 구성하는 JAR 파일들을 인증(S1230)함으로써 이루어지게 된다.
서명된 JAR 파일의 인증은 서명파일을 사용하여 매니페스트 파일의 무결성을 확인하고, 서명블락파일을 사용하여 전자서명을 검증하는 것을 포함하여 이루어진다. 상기 서명된 JAR 파일의 실제 데이터에 대한 무결성은 상기 JAR 파일에 대한 매니페스트 파일에 의해 확인될 수 있다.
본 발명에 따라 전자서명(Digital Signature)이 검증되고, 매니페스트 파일과 JAR 파일 내 실제 데이터에 대한 무결성이 확인되는 경우 어플리케이션의 인증이 성립한다.
본 발명에 따라 데이터의 인증에 성공하는 경우, "Java VM"에서 어플리케이션(들)이 실행되게 된다(S1240). 상기 BD-J 어플리케이션은 "API(Application Programming Interface)"를 사용하여 재생시스템의 실제 자원(actual resource)에 엑세스한다. 상기 재생시스템의 자원에는 디스크 파일 시스템과 미디어 디코더(media decoders), 정적 콘텐츠 디코더(static content decoders), 스토리지 장치(storage devices), 네트워크 연결(network connection)을 포함한다. 이러한 자원으로의 엑세스를 통해 어플리케이션은 BD-J 타이틀의 재생에 필요한 특정 기능들을 수행하게 된다. 상기 어플리케이션의 실행을 통해 BD-J 타이틀을 구성하는 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터가 재생되게 된다.
서명된 어플리케이션의 경우, 전자서명(Digital Signature)이 검증되지 않거나, 매니페스트 파일 또는 JAR 파일 내 실제 데이터에 대한 무결성이 확인되지 않으면 어플리케이션의 인증이 성립하지 않게 된다.
서명되지 않은 어플리케이션(unsigned application)은 서명되지 않은 JAR 파일(unsigned JAR file)에 의해 구성된다. 상기 서명되지 않은 JAR 파일에는 서명파일과 서명블락파일이 존재하지 않는다. 따라서, 매니페스트 파일의 무결성을 확인할 수 없다. 다만, 상기 매니페스트 파일이 유효하다는 전제하에 상기 서명되지 않은 JAR 파일 내 실제 데이터에 대한 무결성은 확인될 수 있을 것이다. 결국, 서명되지 않은 어플리케이션의 경우 본 발명에 의한 어플리케이션의 인증에 의하면, 인증이 성립하지 않게 될 것이다.
어플리케이션의 인증이 실패하는 경우, 상기 어플리케이션을 "Java VM"에 로드하여 실행하지 않는 것이 바람직할 것이다. 그러나 이는 광기록재생기의 구현(implementation)에 관한 문제라 할 수 있다. 따라서, 인증되지 않은 어플리케이션을 "Java VM" 내의 제한된 범위에서 실행시킬 수도 있다. 이를 "Sandbox"라고 하는데, 인증되지 않은 어플리케이션은 상기 "Sandbox" 내에 있는 보안(security) 정책에 따라 재생시스템의 자원에 대한 엑세스가 제한되게 된다. 결국, 상기 "Sandbox"에 의해 재생시스템의 자원에 대한 엑세스가 허용된 어플리케이션은 자신의 작업을 수행할 수 있지만, 상기 "Sandbox"에 재생시스템의 자원에 대한 엑세스가 허용되지 않는 어플리케이션은 상기 자원 내 파일들을 읽거나 변경할 수 없기 때문에 재생시스템에 손상을 입히지 않게 된다.
서명되지 않은 어플리케이션의 경우, 상기 어플리케이션의 배포자를 구별하기 어려운바, 재생시스템의 보호를 위하여 상기 어플리케이션을 실행시키지 않는 것이 바람직하다. 상기 어플리케이션에 의한 악의적인 작용에 의해 재생시스템이 손상될 수도 있기 때문이다. 따라서, 서명되지 않은 실행시키더라도, 제한된 자원에의 엑세스만을 허용하는 "Sandbox" 내에서 실행시키는 것이 바람직할 것이다.
서명된 어플리케이션의 경우에도, 인증되지 않은 어플리케이션은 실행시키지 않거나 "Sandbox"내에서 실행시키는 것이 바람직하다. 다만, 인증되지 않은 서명된 어플리케이션의 경우에는 상기 어플리케이션의 전자서명을 통해 상기 어플리케이션을 배포한 콘텐츠 제공자를 판별할 수 있다. 따라서, 상기 어플리케이션의 악의적인 작용(malicious fuction)에 의해 재생시스템이 손상된 경우, 상기 콘텐츠 제공자에게 상기 어플리케이션의 배포 유무에 대한 책임을 물을 수 있을 것이다.
이하, 전술한 도 4와 도 5의 구성을 참조하여, 본 발명에 따른 데이터 재생장치에 대해 설명한다.
본 발명에 따른 로컬 스토리지를 이용한 데이터 재생장치는 재생을 원하는 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는 정보를 확인하고, 상기 관련된 어플리케이션을 인증하는 제어부(12)와, 상기 어플리케이션의 실행에 따라 상기 타이틀을 재생하는 디코더를 포함하여 이루어진다. 상기 디코더는 재생시스템(17)의 일부 구성이 된다. 상기 어플리케이션은 기록매체 또는 로컬 스토리지에 존재한다.
본 발명에서 상기 제어부(12)는, 상기 어플리케이션을 구성하는 파일의 데이터가 로딩되는 동안, 상기 파일을 인증함으로써 상기 어플리케이션을 인증하게 된다.
관련하여, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명 블락파일(Signature Block file)을 이용하여 전자서명(Digital Signature)을 검증하는 것을 포함하는 것을 포함한다.
상기 전자서명의 검증은, 상기 서명블락파일 내 공개키(public key)를 사용하여 이루어지게 된다. 상기 공개키는, 상기 전자서명의 생성에 사용된 개인키(private key)에 대응하는 공개키인 것이 바람직하다.
또한, 상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명파일(Signature file)을 이용하여 상기 파일에 포함된 파일의 무결성을 확인하는 것을 포함한다.
상기 제어부(12)는, 인증이 성립하지 않는 어플리케이션은 실행되지 않도록 제어할 수 있다. 또한, 상기 제어부(12)는, 인증이 성립하지 않는 어플리케이션은 자바 버츄얼 머신(174b, Java Virtual Machine)에 구성된 샌드박스(Sandbox) 내에서 실행되도록 제어할 수도 있다.
본 발명에 의하면, 인증되지 않은 어플리케이션으로부터 재생시스템을 보호할 수 있다. 또한, 상기 인증되지 않은 어플리케이션의 콘텐츠로의 엑세스를 제어함으로써 콘텐츠가 보호될 수도 있게 되는 장점이 있다.
본 발명을 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 데이터 재생방법 및 재생장치, 기록매체에 의하면, 콘텐츠 제공자에 의해 제공되는 콘텐츠를 보호함과 아울러 사용자의 재생시스템을 보호할 수 있게 된다. 따라서 콘텐츠 제공자에게는 안전한 콘텐츠의 제공을 가능하게 하고, 사용자에게는 안심하고 콘텐츠를 재생을 가능하게 함으로써 보다 편리한 기능을 제공하게 되는 장점이 있다.

Claims (28)

  1. 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성되는 타이틀을 재생함에 있어서,
    상기 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는(identify) 정보를 확인하고,
    상기 관련된 어플리케이션을 인증한 후, 상기 어플리케이션을 실행하여 상기 타이틀을 재생하는 것을 특징으로 하는 데이터 재생방법.
  2. 제 1 항에 있어서,
    상기 어플리케이션의 인증은, 상기 어플리케이션을 구성하는 파일의 인증을 통해 이루어지는 것을 특징으로 하는 데이터 재생방법.
  3. 제 2 항에 있어서,
    상기 어플리케이션을 구성하는 파일은 자바 프로그램으로 구성된 파일(JAR 파일)인 것을 특징으로 하는 데이터 재생방법.
  4. 제 2 항에 있어서,
    상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명블락파일(Signature Block file)을 이용하여 전자서명(Digital Signature)을 검증하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생방법.
  5. 제 4 항에 있어서,
    상기 전자서명의 검증은, 상기 서명블락파일 내 공개키(public key)를 사용하여 이루어지는 것을 특징으로 하는 데이터 재생방법.
  6. 제 5 항에 있어서,
    상기 공개키는, 상기 전자서명의 생성에 사용된 개인키(private key)에 대응하는 공개키인 것을 특징으로 하는 데이터 재생방법.
  7. 제 4 항에 있어서,
    상기 전자서명의 검증은 상기 서명블락 파일 내 인증체인의 인증서들을 검증하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생방법.
  8. 제 2 항에 있어서,
    상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명파일(Signature file)을 이용하여 상기 파일 내 매니페스트 파일의 무결성을 확인하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생방법.
  9. 제 2 항에 있어서,
    상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 매니페스트 파일(JAR Manifest file)을 이용하여 상기 파일의 실제 데이터에 대한 무결성을 확인하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생방법.
  10. 제 1 항에 있어서,
    상기 어플리케이션의 인증은 자바 버츄얼 머신(Java Virtual Machine)에 의해 수행되는 것을 특징으로 하는 데이터 재생방법.
  11. 제 1 항에 있어서,
    상기 인증이 성립하지 않는 어플리케이션의 경우,
    상기 어플리케이션을 실행하지 않는 것을 특징으로 하는 데이터 재생방법.
  12. 제 1 항에 있어서,
    상기 인증이 성립하지 않는 어플리케이션의 경우,
    상기 어플리케이션을 자바 버츄얼 머신에 구성된 샌드박스(Sandbox) 내에서 실행하는 것을 특징으로 데이터 재생방법.
  13. 제 1 항에 있어서,
    상기 타이틀과 관련된 어플리케이션을 식별하는 정보는 어플리케이션 관리 테이블(Application Management Table, AMT)인 것을 특징으로 하는 데이터 재생방 법.
  14. 콘텐츠가 기록되는 데이터 영역과,
    상기 콘텐츠의 재생을 관리하는 관리영역을 구비하되,
    상기 데이터 영역에는 적어도 하나 이상의 서명된 어플리케이션을 포함하여 구성된 타이틀이 기록되고,
    상기 관리영역에는 상기 타이틀과 관련된 어플리케이션을 식별하는 정보가 포함된 오브젝트가 기록되는 것을 특징으로 하는 기록매체.
  15. 제 14 항에 있어서,
    상기 서명된 어플리케이션을 구성하는 파일은 서명파일(Signature file)과 서명블락파일(Signature Block file)을 포함하는 것을 특징으로 하는 기록매체.
  16. 제 15 항에 있어서,
    상기 서명파일은 상기 서명된 어플리케이션을 구성하는 파일에 대한 매니페스트 파일의 다이제스트를 포함하는 것을 특징으로 하는 기록매체.
  17. 제 16 항에 있어서,
    상기 매니페스트 파일의 다이제스트는 SHA 1 다이제스트 알고리즘에 상기 매니페스트 파일을 적용시켜 산출되는 것을 특징으로 하는 기록매체.
  18. 제 15 항에 있어서,
    상기 서명블락파일은 상기 서명된 어플리케이션을 구성하는 파일에 서명한 주체(entity)의 전자서명(Digital Signature)을 포함하는 것을 특징으로 하는 기록매체.
  19. 제 18 항에 있어서,
    상기 전자서명은 상기 서명파일의 다이제스트를 상기 서명한 주체의 개인키(private key)로 암호화하여 서명 알고리즘을 통해 생성된 것을 특징으로 하는 기록매체.
  20. 제 19 항에 있어서,
    상기 서명 알고리즘은 RSA인 것을 특징으로 하는 기록매체.
  21. 기록매체 내 데이터 및/또는 로컬 스토리지 내 데이터로 구성된 타이틀에 대응하는 오브젝트로부터 상기 타이틀과 관련된 어플리케이션을 식별하는 정보를 확인하고, 상기 관련된 어플리케이션을 인증하는 제어부와,
    상기 어플리케이션의 실행에 따라 상기 타이틀을 재생하는 디코더를 포함하여 이루어진 것을 특징으로 하는 데이터 재생장치.
  22. 제 21 항에 있어서,
    상기 제어부는, 상기 어플리케이션을 구성하는 파일의 데이터가 로딩되는 동안, 상기 파일을 인증함으로써 상기 어플리케이션을 인증하는 것을 특징으로 하는 데이터 재생장치.
  23. 제 22 항에 있어서,
    상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명블락파일(Signature Block file)을 이용하여 전자서명(Digital Signature)을 검증하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생장치.
  24. 제 23 항에 있어서,
    상기 전자서명의 검증은, 상기 서명블락파일 내 공개키(public key)를 사용하여 이루어지는 것을 특징으로 하는 데이터 재생장치.
  25. 제 24 항에 있어서,
    상기 공개키는, 상기 전자서명의 생성에 사용된 개인키(private key)에 대응하는 공개키인 것을 특징으로 하는 데이터 재생장치.
  26. 제 22 항에 있어서,
    상기 어플리케이션을 구성하는 파일의 인증은, 상기 파일 내 서명파일 (Signature file)을 이용하여 상기 파일에 포함된 파일의 무결성을 확인하는 것을 포함하여 이루어지는 것을 특징으로 하는 데이터 재생장치.
  27. 제 21 항에 있어서,
    상기 제어부는, 인증이 성립하지 않는 어플리케이션은 실행되지 않도록 제어하는 것을 특징으로 하는 데이터 재생장치.
  28. 제 21 항에 있어서,
    상기 제어부는, 인증이 성립하지 않는 어플리케이션은 자바 버츄얼 머신(Java Virtual Machine)에 구성된 샌드박스(Sandbox) 내에서 실행되도록 제어하는 것을 특징으로 데이터 재생방법.
KR1020050118682A 2005-01-07 2005-12-07 데이터 재생방법 및 재생장치, 기록매체 KR20060081339A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2006800018437A CN101099212B (zh) 2005-01-07 2006-01-02 用于再现数据的装置及其方法
JP2007550285A JP2008527599A (ja) 2005-01-07 2006-01-02 データ再生装置および方法並びに記録媒体
EP06700231A EP1834329A2 (en) 2005-01-07 2006-01-02 Apparatus for reproducing data, method thereof and recording medium
PCT/KR2006/000003 WO2006073252A2 (en) 2005-01-07 2006-01-02 Apparatus for reproducing data, method thereof and recording medium
US11/325,457 US7668439B2 (en) 2005-01-07 2006-01-05 Apparatus for reproducing data, method thereof and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64177905P 2005-01-07 2005-01-07
US60/641,779 2005-01-07

Publications (1)

Publication Number Publication Date
KR20060081339A true KR20060081339A (ko) 2006-07-12

Family

ID=37172374

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020050113647A KR20060081336A (ko) 2005-01-07 2005-11-25 기록매체에서의 디지털 인증방법
KR1020050113648A KR20060081337A (ko) 2005-01-07 2005-11-25 비밀키를 이용한 암호화 및 복호화 방법
KR1020050118682A KR20060081339A (ko) 2005-01-07 2005-12-07 데이터 재생방법 및 재생장치, 기록매체

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020050113647A KR20060081336A (ko) 2005-01-07 2005-11-25 기록매체에서의 디지털 인증방법
KR1020050113648A KR20060081337A (ko) 2005-01-07 2005-11-25 비밀키를 이용한 암호화 및 복호화 방법

Country Status (4)

Country Link
US (2) US7668439B2 (ko)
JP (2) JP2008527833A (ko)
KR (3) KR20060081336A (ko)
CN (3) CN101103590A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113179A (ko) * 2009-01-28 2011-10-14 마이크로소프트 코포레이션 소프트웨어 애플리케이션 검증
US8266448B2 (en) 2008-12-09 2012-09-11 Nvidia Corporation Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
US8402280B1 (en) 2009-10-15 2013-03-19 Nvidia Corporation System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing
US8868925B2 (en) 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644279B2 (en) * 2001-12-05 2010-01-05 Nvidia Corporation Consumer product distribution in the embedded system market
EP1810294B1 (en) 2004-11-09 2018-11-28 Thomson Licensing Bonding contents on separate storage media
KR20060081336A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 기록매체에서의 디지털 인증방법
KR20060107282A (ko) * 2005-04-07 2006-10-13 엘지전자 주식회사 데이터 재생방법, 데이터 기록재생 플레이어 및 데이터전송방법
JP4327879B2 (ja) * 2005-11-15 2009-09-09 パナソニック株式会社 再生装置及びプログラム
JP4264551B2 (ja) * 2005-12-08 2009-05-20 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4655951B2 (ja) * 2006-02-06 2011-03-23 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US20090103902A1 (en) * 2006-03-24 2009-04-23 Matsushita Electric Industrial Co., Ltd. Reproduction device, debug device, system lsi, and program
US8781442B1 (en) * 2006-09-08 2014-07-15 Hti Ip, Llc Personal assistance safety systems and methods
US20080098214A1 (en) * 2006-10-24 2008-04-24 Antonio Rodriguez Martinez Encryption/decryption method, method for safe data transfer across a network, computer program products and computer readable media
KR101292770B1 (ko) * 2006-11-06 2013-08-02 삼성전자주식회사 불확정 시작 시간을 가진 어플리케이션을 포함하는 av데이터의 재생 방법 및 장치
US8312075B1 (en) * 2006-11-29 2012-11-13 Mcafee, Inc. System, method and computer program product for reconstructing data received by a computer in a manner that is independent of the computer
US8875271B2 (en) * 2006-12-08 2014-10-28 Microsoft Corporation Executing unsigned content and securing access in a closed system
US20080263679A1 (en) * 2007-04-23 2008-10-23 Microsoft Corporation Storing information in closed computing devices
US20080301465A1 (en) * 2007-06-04 2008-12-04 Microsoft Corporation Protection of software transmitted over an unprotected interface
KR20100112131A (ko) * 2008-01-21 2010-10-18 소니 주식회사 정보 처리 장치, 디스크, 및 정보 처리 방법, 및 프로그램
JP2009271589A (ja) * 2008-04-30 2009-11-19 Sony Corp 情報処理装置、その制御方法、制御プログラム及びネームマッピング情報
US9112910B2 (en) * 2008-10-14 2015-08-18 International Business Machines Corporation Method and system for authentication
KR101023709B1 (ko) * 2008-12-30 2011-03-25 한국전기연구원 원격 검침을 위한 암호화 시스템 및 이의 키 교환 방법
KR101138152B1 (ko) * 2009-10-23 2012-04-24 에스케이플래닛 주식회사 디지털 방송 수신기의 저장 제한 시스템 및 방법
US9961052B2 (en) * 2013-06-28 2018-05-01 Extreme Networks, Inc. Virtualized host ID key sharing
CN104283680A (zh) * 2013-07-05 2015-01-14 腾讯科技(深圳)有限公司 一种数据传输的方法、客户端、服务器及其系统
JP5971820B2 (ja) * 2014-12-24 2016-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを利用する方法及び装置
KR101790948B1 (ko) * 2015-10-26 2017-10-27 삼성에스디에스 주식회사 Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
CN106789092A (zh) * 2017-02-28 2017-05-31 河源弘稼农业科技有限公司 密钥传输方法、密钥传输装置、服务器和通信设备
JP7195796B2 (ja) * 2018-07-23 2022-12-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
KR102216869B1 (ko) * 2019-05-28 2021-02-17 국민대학교산학협력단 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법
US11394538B2 (en) * 2019-11-05 2022-07-19 David Lee Anthony Ramirez System and method for verifying the no-later-than date-of-existence, data integrity, identity of the recorder, and timestamp of the recording for digital content

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5774552A (en) * 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US6085320A (en) * 1996-05-15 2000-07-04 Rsa Security Inc. Client/server protocol for proving authenticity
US6580870B1 (en) 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
ATE216095T1 (de) 1998-01-16 2002-04-15 Macrovision Corp System und verfahren zur beglaubigung gleichrangiger komponenten
US6249867B1 (en) * 1998-07-31 2001-06-19 Lucent Technologies Inc. Method for transferring sensitive information using initially unsecured communication
JP2000269950A (ja) * 1999-03-12 2000-09-29 Matsushita Electric Ind Co Ltd 著作物保護システム
JP2000357196A (ja) * 1999-04-13 2000-12-26 Sony Corp 情報処理装置及び方法、管理装置及び方法、提供媒体、情報提供システム及び方法並びに情報送信装置
JP2001083874A (ja) * 1999-09-14 2001-03-30 Sony Corp 情報提供システム、情報規制装置、情報受信装置及び情報提供方法
JP2001320356A (ja) * 2000-02-29 2001-11-16 Sony Corp 公開鍵系暗号を使用したデータ通信システムおよびデータ通信システム構築方法
KR100746821B1 (ko) 2000-04-21 2007-08-06 소니 가부시끼 가이샤 정보 처리 장치와 방법, 기록매체
JP2002063543A (ja) * 2000-06-09 2002-02-28 Dainippon Printing Co Ltd 電子フォーム制作装置及び提供装置
US20010056533A1 (en) * 2000-06-23 2001-12-27 Peter Yianilos Secure and open computer platform
JP2002009763A (ja) * 2000-06-26 2002-01-11 Sanyo Electric Co Ltd データ再生装置、それを用いた端末装置、および再生方法
FI20001837A (fi) * 2000-08-18 2002-02-19 Nokia Corp Autentikointi
JP4655345B2 (ja) * 2000-08-31 2011-03-23 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム提供媒体
US7174568B2 (en) * 2001-01-31 2007-02-06 Sony Computer Entertainment America Inc. Method and system for securely distributing computer software products
JP2002236622A (ja) * 2001-02-13 2002-08-23 Sony Corp 情報再生装置、情報記録装置、情報再生方法、情報記録方法、および情報記録媒体、並びにプログラム記憶媒体
US20030016819A1 (en) * 2001-07-20 2003-01-23 Lebin Cheng Secure socket layer (SSL) load generation with handshake replay
JP2003087235A (ja) * 2001-09-11 2003-03-20 Sony Corp コンテンツ鍵配信システム、コンテンツ鍵配信方法、および情報処理装置、並びにコンピュータ・プログラム
US7031473B2 (en) 2001-11-13 2006-04-18 Microsoft Corporation Network architecture for secure communications between two console-based gaming systems
JP3890959B2 (ja) * 2001-11-22 2007-03-07 株式会社日立製作所 公開鍵証明書の生成システム及び検証システム
JP4145118B2 (ja) 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
JP4393733B2 (ja) * 2001-11-27 2010-01-06 大日本印刷株式会社 携帯可能情報記録媒体
CA2479619C (en) * 2002-03-20 2008-05-20 Research In Motion Limited Certificate information storage system and method
JP4217025B2 (ja) * 2002-04-12 2009-01-28 日本放送協会 コンテンツ利用者登録サーバ及びそのプログラム及びその方法、コンテンツ配信サーバ及びそのプログラム、並びに、コンテンツ再生装置及びそのプログラム
US7523490B2 (en) * 2002-05-15 2009-04-21 Microsoft Corporation Session key security protocol
JP3791464B2 (ja) * 2002-06-07 2006-06-28 ソニー株式会社 アクセス権限管理システム、中継サーバ、および方法、並びにコンピュータ・プログラム
JP2004054798A (ja) * 2002-07-23 2004-02-19 Kenwood Corp プログラム認証装置、プログラム署名装置、プログラム認証方法、プログラム署名方法及びプログラム
JP3837427B2 (ja) * 2002-09-12 2006-10-25 松下電器産業株式会社 記録媒体、再生装置、プログラム、再生方法、記録方法
JP2004153590A (ja) * 2002-10-31 2004-05-27 Hitachi Ltd コンテンツ配信方法およびそのためのコンテンツ記憶装置記憶装置
JP2004157703A (ja) * 2002-11-06 2004-06-03 Hitachi Ltd コンテンツ保護システム
US7634779B2 (en) 2002-11-20 2009-12-15 Sun Microsystems, Inc. Interpretation of DVD assembly language programs in Java TV-based interactive digital television environments
US7664372B2 (en) 2002-11-20 2010-02-16 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple component data recorded thereon and recording and reproducing methods and apparatuses
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
JP4226309B2 (ja) * 2002-12-11 2009-02-18 日本放送協会 利用者証明書発行サーバ及びそのプログラム、利用者認証サーバ及びそのプログラム、並びに、コンテンツ取得認証装置及びそのプログラム
US7421742B2 (en) * 2003-01-15 2008-09-02 Sony Corporation Signal processing system, recording method, program, recording medium, reproduction device and information processing device
JP2004234189A (ja) * 2003-01-29 2004-08-19 Mitsubishi Electric Information Systems Corp 署名データ検証支援システム及び署名データ検証支援プログラム
JP2004311000A (ja) * 2003-03-24 2004-11-04 Matsushita Electric Ind Co Ltd 記録装置及び著作権保護システム
CN100401391C (zh) * 2003-05-06 2008-07-09 Lg电子株式会社 具有用于管理视频数据及其附加内容数据的数据结构的记录介质以及记录和再现方法和装置
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
JP2004103239A (ja) * 2003-10-20 2004-04-02 Sony Computer Entertainment Inc ディスク状記録媒体、この媒体の再生装置及び方法
EP1810294B1 (en) * 2004-11-09 2018-11-28 Thomson Licensing Bonding contents on separate storage media
KR20060081338A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 공유 콘텐츠 보호방법, 로컬 스토리지를 이용한 기록매체재생방법 및 재생장치
KR20060081323A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20060081336A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 기록매체에서의 디지털 인증방법
KR20060081647A (ko) * 2005-01-10 2006-07-13 엘지전자 주식회사 기록매체, 로컬 스토리지를 이용한 기록매체 재생방법 및재생장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266448B2 (en) 2008-12-09 2012-09-11 Nvidia Corporation Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
US8868925B2 (en) 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
KR20110113179A (ko) * 2009-01-28 2011-10-14 마이크로소프트 코포레이션 소프트웨어 애플리케이션 검증
US8402280B1 (en) 2009-10-15 2013-03-19 Nvidia Corporation System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing

Also Published As

Publication number Publication date
CN101099211A (zh) 2008-01-02
CN101103590A (zh) 2008-01-09
CN101099212A (zh) 2008-01-02
JP2008527599A (ja) 2008-07-24
US20060156010A1 (en) 2006-07-13
US7668439B2 (en) 2010-02-23
US20060155991A1 (en) 2006-07-13
CN101099212B (zh) 2010-12-08
JP2008527833A (ja) 2008-07-24
KR20060081336A (ko) 2006-07-12
KR20060081337A (ko) 2006-07-12

Similar Documents

Publication Publication Date Title
US7668439B2 (en) Apparatus for reproducing data, method thereof and recording medium
RU2414757C2 (ru) Носитель записи, устройство и способ для воспроизведения данных, устройство и способ для сохранения данных
US20060153017A1 (en) Method and apparatus for protecting shared data and method and apparatus for reproducing data from recording medium using local storage
KR101216070B1 (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치,기록매체
US8433929B2 (en) Data management device, stored data management method and computer program
US20110307448A1 (en) Reproduction device
JP2007150587A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
TW201333936A (zh) 來自第一可移式唯讀儲存媒體的第一資料和來自第二儲存媒體的第二資料之裝紮方法,以及以此等資料製作虛擬檔案系統之方法
WO2006073252A2 (en) Apparatus for reproducing data, method thereof and recording medium
US20090271411A1 (en) Binding unit manifest file
US8438651B2 (en) Data reproducing method, data recording/ reproducing apparatus and data transmitting method
US8873934B2 (en) CPS unit management in the disc for downloaded data
JP2006277389A (ja) 情報記録媒体およびその再生装置、再生方法。
WO2006073251A2 (en) Method and apparatus for protecting shared data and method and apparatus for reproducing data from recording medium using local storage
US20060262710A1 (en) Recording medium, and method and apparatus for reproducing data from the recording medium
KR20080014881A (ko) 기록 매체, 데이터 재생 장치, 데이터 재생 방법, 데이터저장 장치, 그리고 데이터저장 방법
JP2007018365A (ja) 宣言型言語で記述された再生制御環境の起動条件を考慮した情報記録媒体およびその再生装置、再生方法。
EP1842192A2 (en) Data transmitting method, recording medium, apparatus for reproducing data from recording medium using local storage and method thereof
KR20080012724A (ko) 기록매체, 데이터 기록방법 및 기록장치와 데이터 재생방법및 재생장치
KR20070120000A (ko) 데이터를 기록하는 방법, 장치 및 기록매체 그리고재생방법 및 장치
KR20070011101A (ko) 데이터 재생방법 및 데이터 재생장치, 기록매체와 데이터재생방법 및 데이터 기록장치

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