KR20070122499A - 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 - Google Patents

디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 Download PDF

Info

Publication number
KR20070122499A
KR20070122499A KR1020077024111A KR20077024111A KR20070122499A KR 20070122499 A KR20070122499 A KR 20070122499A KR 1020077024111 A KR1020077024111 A KR 1020077024111A KR 20077024111 A KR20077024111 A KR 20077024111A KR 20070122499 A KR20070122499 A KR 20070122499A
Authority
KR
South Korea
Prior art keywords
computing device
receiver
content
key
ckx
Prior art date
Application number
KR1020077024111A
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 KR20070122499A publication Critical patent/KR20070122499A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

디지털 콘텐츠의 수신기와 콘텐츠가 렌더링될 컴퓨팅 장치 간에 콘텐츠 키의 시퀀스가 공유된다. 수신기는 시퀀스 내의 대응하는 콘텐츠 키에 따라 콘텐츠 각각을 암호화하고, 암호화된 콘텐츠를 컴퓨팅 장치에 전송하고, 컴퓨팅 장치는 암호화된 콘텐츠를 대응하는 콘텐츠 키에 따라 복호화한다. 처음으로, 수신기는 초기 콘텐츠 키 (CK(0))를 갖는 초기화 디지털 라이선스를 컴퓨팅 장치에 전송한다. 수신기와 컴퓨팅 장치 각각은 필요에 따라 조정된 방식으로 시퀀스 내의 초기 콘텐츠 키 (CK(0))로부터 시퀀스 내의 새로운 콘텐츠 키 (CK(x))를 얻는다. 초기화 라이선스는 콘텐츠 키의 시퀀스 동안 한 번만 필요하고, 수신기는 각각의 콘텐츠마다 컴퓨팅 장치에 (CKx)를 명시적으로 통신할 필요가 없다.
콘텐츠 키, 시퀀스, 컴퓨팅 장치, 암호화, 복호화

Description

디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능 매체{RIGHTS MANAGEMENT SYSTEM FOR STREAMED MULTIMEDIA CONTENT}
본 발명은 스트리밍된 디지털 콘텐츠에 대한 접근이 대응하는 디지털 라이선스에 일치해서만 제공되게 하는 권리 관리(RM: rights management) 시스템에 관한 것이다. 좀더 자세하게는, 본 발명은 그러한 RM 시스템이 스트리밍된 콘텐츠를 취급하는데 채용되는 시스템 및 방법에 관한 것이다.
디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 디지털 콘텐츠와 관련해서, 그러한 디지털 콘텐츠가 한 명 이상의 사용자들에게 배포되는 경우에 권리 관리(RM) 및 단속(enforcement)이 매우 바람직하다. 디지털 콘텐츠는 예를 들어 텍스트 문서 등과 같이 정적일 수 있고, 또는 그것은 멀티미디어 프레젠테이션의 스트리밍된 오디오 및 비디오 등과 같이 스트리밍될 수도 있다. 그러한 스트리밍된 콘텐츠의 통상적 배포 방식은 광 디스크, 케이블 접근 공급, 인터넷 등과 같은 전자 네트워크로부터의 공급, 무선 방송으로부터의 공급 등과 같은 유형(tangible) 및 무형(intangible)의 형태를 포함한다. 사용자가 그 적절한 컴퓨팅 장치에서 수신할 때, 그 사용자는 컴퓨팅 장치, 적절한 렌더링 소프트웨어, 및 스피커, 비디오 모니터 등과 같은 적절한 출력 장치의 도움 에 의해 스트리밍된 디지털 콘텐츠를 렌더링한다.
한 시나리오에서, 스트리밍된 콘텐츠는 배포자에 의해 예를 들어 디지털 텔레비전 서비스 등과 같은 회원제 서비스의 일부로서 배포되며, 배포되는 스트리밍된 콘텐츠는 예를 들어 암호화 되는 것 등에 의해 보호되거나 또는 비보호된다. 스트리밍된 콘텐츠가 실제로 비보호된 형태로 배포되는 실정이라면, 배포자는 근본적으로는 스트리밍된 콘텐츠가 곧바로 소비되어 렌더링되며 어떤 의미 있는 검색 가능한 형태로든 저장되지 않을 것을 의도했을 수 있다. 예를 들어, 스트리밍된 콘텐츠는 디지털 케이블 셋톱 박스에 의해 수신되어 곧바로 렌더링되고 앞서 설명한 적절한 출력 장치로 전달될 디지털 케이블 텔레비전 신호에 있는 콘텐츠의 많은 스트림들 중 하나일 수 있다.
그러나, 스트리밍된 콘텐츠를 나중에 렌더링하거나 다른 컴퓨팅 장치들에 재배포하기 위해 실제로 저장할 수 있는 저장 시스템이 존재하거나 개발되고 있음을 인식해야 한다. 그러한 저장 시스템들을 감안한다면, 비보호된 스트리밍된 콘텐츠의 배포자는 필요하다면 그러한 재배포를 제한할 어떤 기능을 갖추지 않는 한 비보호된 형태로 그러한 비보호된 콘텐츠를 저장하지 않아야 할 것이다. 특히, 배포자 등은 사용자가 그러한 스트리밍된 콘텐츠를 다른 저장 시스템 등에 복사하는 것을 금지하기를 원할 수 있고, 사용자가 시간(temporal) 및/또는 횟수(count) 제한에 따라 복사할 수 있도록 하는 것을 원할 수 있다. 알다시피, 스트리밍된 콘텐츠의 무제한적 복사를 금지함으로써, 배포자는 스트리밍된 콘텐츠의 초기의 디지털 사본들의 통제되지 않은 살포-그러한 통제되지 않은 살포는 다른 사용자들이 그러한 배 포자에 의해 제공되는 회원제 서비스를 약정하기를 단념하도록 부추길 수 있음-를 회피할 수 있다.
또한, 배포자는 다양한 사용자에게 상이한 렌더링 권한을 부여하기를 원할 수 있다. 예를 들어, 배포자는 더 상위 계층들에 대해서는 그에 대응하여 더 많은 회원제 요금을 요구하고 특정한 계층에 약정한 사용자는 비보호된 형태의 더 높은 계층에 있는 스트리밍된 콘텐츠에 접근하는 것이 허용되지 않는 상이한 서비스 계층들을 제공할 수도 있다.
그럴지라도, 스트리밍된 콘텐츠가 배포된 후에, 배포자는 스트리밍된 콘텐츠에 대해 실질적인 통제를 한다손치더라도 아주 조금 밖에 할 수 없음을 주목해야 한다. 이 것은 대부분의 퍼스널 컴퓨터가 그러한 스트리밍된 콘텐츠의 정확한 디지털 사본을 만들고, 그러한 정확한 디지털 사본을 광 디스크 등과 같은 재배포 매체로 다운로드하거나 또는 그러한 정확한 디지털 사본을 인터넷 등과 같은 네트워크를 통해 어떠한 수신지로든 보내기 위해 필요한 소프트웨어 및 하드웨어를 포함한다는 사실에 비추어 볼 때 특히 문제가 있는 것이다.
물론, 스트리밍된 콘텐츠가 약정된 거래의 일부로서, 배포자는 스트리밍된 콘텐츠의 사용자/수신자에게 허용되지 않은 방식으로 그러한 콘텐츠를 재배포하지 않을 것을 약속할 것을 요구할 수도 있다. 그러나, 그러한 약속은 쉽게 이루어지며 쉽게 깨진다. 배포자는 흔히 암호화 및 복호화를 포함하는 몇 개의 알려진 보안 장치들 중 어느 것을 통해 그러한 재배포를 방지하고자 할 수도 있다. 그러나, 보안장치가 너무 단순한 경우에는, 그러한 보안장치가, 암호화된 콘텐츠를 복호화 하고, 그러한 콘텐츠를 암호화되지 않은 형태로 저장한 후 이를 재배포하려고 가볍게 결심하는 사용자에게는 거의 문제되지 않는다.
그래서, 스트리밍된 콘텐츠를 포함하는 임의의 형태의 디지털 콘텐츠의 렌더링 제어-그러한 제어는 유연하고 그러한 디지털 콘텐츠의 배포자 등이 정의할 수 있음-을 허용하고자 RM 및 단속 아키텍처 및 방법이 제공되었다. 그러한 아키텍처들은 앞서 설명한 시나리오로 그러한 렌더링 제어를 허용하고 수월하게 한다.
한 특정한 체계(arrangement)에서는, 스트리밍된 콘텐츠가 결합된 신호로서 수신기에 제공되는 그러한 콘텐츠의 다수의 스트림들 중 하나이다. 수신기는 미디어 시스템으로부터의 명령시에 스트림들 중 특정한 하나를 선택하고, 선택된 스트림을 그러한 미디어 시스템에 제공하여 더 처리되게 한다. 명백하게, 수신기에 제공되는 선택된 스트림은 비보호되었지만, 미디어 시스템에 제공되기 전에, 선택된 스트림은 특정한 RM 암호화 시스템에 따라 수신기에 의해 사실상 보호된다.
통상적으로, RM 암호화 시스템에서, 콘텐츠는 콘텐츠 키(CK: content key)에 따라 암호화됨으로써 보호된다. 대칭적 암호화 및 복호화가 비대칭적 암호화 및 복호화보다 더 쉽고 빠르고 저렴하므로, 그러한 콘텐츠 키(CK)는 통상적으로 대칭적이다. 또한 통상적으로, 콘텐츠 키(CK)는 수신기 등과 같은 암호화기에 의해 그러한 콘텐츠가 복호화기/미디어 시스템에 의해 복호화되어 렌더링되는 것이 허용되기 전에 충족되어야 하는 라이선스 룰을 규정하는 디지털 라이선스 등의 일부로서 암호화된 형태로 미디어 시스템 등과 같은 복호화기에 제공된다.
스트리밍된 콘텐츠가 미디어 시스템의 명령에 따라 수신기에 의해 사실상 동 조될 수 있는 다수의 디지털 텔레비전 신호들 중 하나인 경우에, 특히 미디어 시스템의 사용자가 몇 개의 신호들을 사실상 훑어보기 즉 ‘서핑’하고 있다면,수신기가 미디어 시스템으로부터 상이한 디지털 신호들에 동조하라는 명령을 상당히 규칙적으로, 아마 이분의 일초 당 한번 정도로 자주 수신할 수 있을 것이라는 것을 인식해야 한다. 그러나, 각각의 새롭게 동조된 신호는 수신기로부터 새로운 라이선스를 요구함을 생각할 때, 그러한 새로운 라이선스를 구성하고 그 것을 수신기로부터 미디어 시스템으로 보내는 것은 아주 부담이 될 수 있고, 특히 라이선스가 상세하거나 암호화된 요소를 포함하거나 디지털 서명을 포함하는 등의 경우에는 더욱 그렇다는 것을 인식해야 한다. 그래서, 미디어 시스템이 그러한 수신기에게 상이한 디지털 신호에 동조할 것을 명령할 때마다 수신기가 새로운 라이선스를 완전하게 생성한다는 것은 아마 기대할 수 없을 것이며, 특히 그러한 명령들의 빈도가 초단위 정도인 경우에는 더 그렇다.
그리고, 수신기가 디지털 신호에 새롭게 동조할 때마다 새로운 라이선스를 실제로 완전하게 생성해야 하는 부담을 겪을 필요가 없도록 그러한 새로운 라이선스가 될 수 있는 단축 버전의 요건을 생성하기 위한 시스템 및 방법에 대한 요구가 있다. 특히, 사용자가 매초에 한번 정도로 변경을 명령하고 있을지라도, 수신기가 디지털 신호에 새롭게 동조할 때마다 신속하게 생성되어 미디어 시스템으로 보내질 수 있는 단축 버전의 요건에 대한 요구가 있다. 또한, 간결하지만, 동조된 디지털 신호에 대한 모든 라이선스 요건들을 최소 공간에 기술하는 단축 버전의 요건들에 대한 요구가 있다. 마지막으로, 수신기가 아닌 다른 소스로부터 미디어 시스템에 제공되는 스트리밍된 디지털 콘텐츠와 관련하여 채용될 수 있는 단축 버전의 요건들에 대한 요구가 있다.
또한 각각의 새롭게 동조된 신호가 상이한 콘텐츠 키(CK)에 따라 수신기에 의해 암호화될 수 있음을 생각하면, 새로운 라이선스에 그러한 콘텐츠 키(CK)를 배치하여 그것을 수신기로부터 미디어 시스템으로 보냄으로써 미디어 시스템에 그러한 콘텐츠 키(CK)를 알려주는 것도 마찬가지로 아주 부담이 되는 것임을 인식해야 한다. 다시 말해서, 미디어 시스템이 수신기에게 상이한 디지털 신호에 동조하라고 명령할 때마다 수신기가 새로운 콘텐츠 키(CK)를 갖는 새로운 라이선스를 완전하게 생성할 수 있다고 기대할 수 없으며, 특히 그러한 명령의 빈도가 초단위일 정도인 경우에는 더 그렇다.
그리고, 수신기와 미디어 시스템 사이에 각각의 새로운 콘텐츠 키(CK)를, 각각의 그러한 콘텐츠 키(CK)를 갖는 실제 라이선스를 생성할 필요 없이 공유하는 시스템 및 방법에 대한 요구가 있다. 특히, 수신기 및 미디어 시스템이 초기 콘텐츠 키를 교환할 수 있고 초기 콘텐츠 키에 기반하여 콘텐츠 키들을 순환시키는 방법에 대한 요구가 있다. 또한, 수신기 및 미디어 시스템이 키들을 조화롭게 순환시키는 방법에 대한 요구가 있다.
새롭게 동조된 신호에 대응하는 요건들이 신호에서 주기적으로 찾아질 수 있지만 그러한 주기성이 상당히 긴 주기의 시간일 수 있음을 생각할 때, 그러한 요건들이 그러한 신호에서 실제로 찾아지기까지 미디어 시스템이 그러한 비교적 긴 주기의 시간을 대기하게 하는 것은 불합리할 수 있음을 인식해야 한다. 특히, 수신 기가 상이한 디지털 신호들에 아마 이분의 일초마다 한 번 정도로 자주 상당히 규칙적으로 동조하고 있는 상황에서는, 요건들을 새롭게 동조된 신호에서 찾기 위해 수신기가 비교적 긴 주기의 시간을 대기할 수 있을 것으로 기대할 수 없을 수 있다.
그리고, 수신기가 디폴트 세트의 요건들을 예비적으로 보내고나서, 실제 세트의 요건들을 실제로 찾아졌을 때 보내는 시스템 및 방법에 대한 요구가 있다. 특히, 수신기가 실제 요건들이 보내지기까지 미디어 시스템에 의해 채용될 그러한 디폴트 요건들을 보낼 수 있는 방법에 대한 요구가 있다. 또한, 미디어 시스템이 그러한 디폴트 요건들과 그러한 대응하는 실제 요건들을 서로 구별할 수 있고, 대응하는 실제 요건들의 수신시에 디폴트 요건들을 실제 요건들로 교체할 수 있게 하는 방법에 대한 요구가 있다.
마지막으로, 미디어 시스템이 새롭게 동조된 신호들에 대응하는 비교적 대량의 라이선스들을 저장할 것이지만, 대부분은 아닐지라도 많은 그러한 라이선스들이 그다지 오랫동안 필요하지 않을 것임을 생각할 때, 그러한 라이선스들은 대부분이 일시적으로만 저장되어야 함을 인식해야 한다. 다시 한번 말하자면, 수신기가 상당히 규칙적으로 아마 이분의 일초당 한번 정도로 상이한 디지털 신호들에 동조하고 있는 상황에서는, 미디어 시스템에 의해 생성되어 저장되는 모든 대응하는 라이선스들이 영구적으로 이용 가능하게 만들어져야 하거나 만들어질 수 있다고 기대할 수 없을 수 있다.
그리고, 미디어 시스템이 동조된 신호들에 대응하는 적어도 일부의 라이선스 들을 일시적으로만 저장하는 시스템 및 방법에 대한 요구가 있다. 특히, 미디어 시스템이 어떤 라이선스들을 일시적으로만 저장할 필요가 있는지를 인식할 수 있는 방법에 대한 요구가 있다. 또한, 미디어 시스템이 그러한 일시적으로 저장된 라이선스들을 삭제하게 하는 방법에 대한 요구가 있다.
앞서 설명한 요구들은 디지털 라이선스를 위한 요건들을 대응하는 디지털 콘텐츠의 수신기로부터 디지털 콘텐츠가 렌더링될 컴퓨팅 장치로 전달하기 위한 방법이 제공되는 본 발명에 의해 적어도 부분적으로 충족된다. 수신기는 시퀀스 내의 대응하는 콘텐츠 키에 따라 각각의 콘텐츠를 암호화하고, 암호화된 콘텐츠를 컴퓨팅 장치에 전송하며, 컴퓨팅 장치는 암호화된 콘텐츠를 대응하는 콘텐츠 키에 따라 복호화한다.
본 발명의 방법에서, 처음에, 수신기는 컴퓨팅 장치에 의해 복호화할 수 있는 방법으로 초기 콘텐츠 키 (CK0)가 암호화된 초기화 디지털 라이선스를 컴퓨팅 장치에 전송한다. 각각의 수신기와 컴퓨팅 장치는 조정 방식으로 필요에 따라 시퀀스 내의 초기 콘텐츠 키 (CK(0))로부터 시퀀스 내의 새로운 콘텐츠 키 (CKx)를 얻는다. 따라서, 초기 라이선스는 콘텐츠 키의 시퀀스 동안 한 번만 필요하게 되고, 수신기는 각각의 콘텐츠마다 콘텐츠 키 (CKx)를 컴퓨팅 장치에 명시적으로 통신할 필요가 없다.
앞서의 개요 및 아래의 본 발명의 실시예들에 대한 상세한 설명은 첨부된 도 면들과 관련해서 읽으면 더 잘 이해될 것이다. 본 발명을 예시할 목적으로, 도면에는 본 발명의 바람직한 실시예들이 도시되어 있다. 그러나, 알 수 있듯이, 본 발명은 도시된 정확한 배열 및 수단으로 제한되지 않는다.
도 1은 본 발명이 구현될 수 있는 예시적 비제한적인 컴퓨팅 환경을 표현하는 블록 다이어그램이다.
도 2는 본 발명이 구현될 수 있는 다양한 컴퓨팅 장치들을 갖는 예시적 네트워크 환경을 표현하는 블록 다이어그램이다.
도 3은 본 발명의 다양한 실시예에 따라 대응하는 디지털 콘텐츠를 렌더링하기 위한 디지털 라이선스를 포함하는 신뢰 기반 시스템의 한 예의 단속 아키텍처를 도시한 블록 다이어그램이다.
도 4는 도 3의 신뢰 기반 시스템의 한 예를 도시하는 블록 다이어그램이며, 특히 본 발명의 다양한 실시예에 따라 콘텐츠의 암호화된 스트림을 미디어 시스템으로 전달하여 렌더링하기 위한 수신기를 도시한다.
도 5는 본 발명의 한 실시예에 따라 도 4의 암호화된 콘텐츠에 관련하여 도 4의 수신기에 의해 도 4의 미디어 시스템으로 보내지는 단축 버전의 요건들을 도시하는 블록 다이어그램이다.
도 6-9는 본 발명의 다양한 실시예에 따른 도 4의 수신기 및 미디어 시스템에 의해 수행되는 주요 단계들을 도시하는 플로우 다이어그램으로서, 수신기가 도 5의 요건들을 미디어 시스템으로 보내는 단계(도 6), 수신기 및 미디어 시스템이 새롭게 동조된 스트림을 위한 콘텐츠 키(CK)를 각각 파생시키는 단계(도 7), 수신 기가 실제 요건들이 구성될 수 있는 스트림에 있는 정보와 마주치기 전에 새롭게 동조된 스트림을 위해 디폴트 요건들을 갖는 디폴트 파생 메시지를 미디어 시스템으로 보내는 단계(도 8) 및 미디어 시스템이 일시적 라이선스 저장소를 채용하고 정리작업 기능에 의해 그 것으로부터 마크된 라이선스들을 삭제하는 단계(도 9)를 포함한다.
컴퓨터 환경
도 1 및 아래의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경을 간략하게 일반적으로 기술하려는 것이다. 그러나, 핸드헬드, 휴대형 및 기타 모든 종류의 컴퓨팅 장치들이 본 발명과 관련한 용도로 고려됨을 이해하여야 한다. 범용 컴퓨터가 아래에 기술되어 있지만, 이것은 한 예일 뿐이며, 본 발명은 네트워크 서버 상호운용성 및 상호작용을 갖는 신 클라이언트(thin client)를 요구할 뿐이다. 그래서, 본 발명은 아주 작거나 최소의 클라이언트 자원만이 관련되는 네트워크 호스팅되는 서비스의 환경에서 예를 들어, 클라이언트 장치가 단지 월드와이드웹에 대한 브라우저 또는 인터페이스로서의 역할만 하는 네트워크 환경에서 구현될 수 있다.
필수적이진 않지만, 본 발명은 애플리케이션 프로그래밍 인터페이스(API)에 의해 개발자에 의한 사용을 위해 구현될 수 있고/있거나, 클라이언트 워크스테이션, 서버 또는 기타의 장치 등과 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈 등과 같은 컴퓨터 실행 가능한 명령어들의 일반적 문맥으로 기술될 네트워 크 브라우징 소프트웨어 내에 포함될 수도 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능은 다양한 실시예에서 원하는 대로 결합되거나 분산될 수 있다. 또한, 이 기술분야에서 숙련된 자는 본 발명이 다른 컴퓨터 시스템 구성으로 실시될 수도 있음을 인식할 것이다. 본 발명에 이용하기에 적절할 수 있는 기타의 공지된 컴퓨팅 시스템, 환경 및/또는 구성들은, 제한적인 것은 아니지만, 퍼스널 컴퓨터(PC), 자동 입출금기, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
그래서 도 1은 적절한 컴퓨팅 시스템 환경(100)의 한 예를 도시하지만, 앞서 분명히 했듯이 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태 의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식ㆍ비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식ㆍ비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식ㆍ비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 마이크(163) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(121)에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다.
모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 또한, 노스브리지(Northbridge) 등과 같은 그래픽 인터페이스(182)가 시스템 버스(121)에 접속될 수도 있다. 노스브리지는 CPU 또는 호스트 처리 장치(120)와 통신하는 칩셋이고, 가속 그래픽 포트(AGP) 통신을 담당한다. 하나 이상의 GPU(graphics processing unit)(184)가 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPU(184)는 일반적으로 레지스터 저장 등과 같은 온칩(on-chip) 메모리 저장을 포함하고, GPU(184)는 비디오 메모리(186)와 통신한다. 그러나, GPU(184)는 코프로세서의 단지 하나의 예일 뿐이고, 다양한 코프로세싱 장치들이 컴퓨터(110)에 포함될 수 있다. 또한, 모니터(191) 또는 다른 종류의 표시 장치가 비디오 메모 리(186)와 통신할 수 있는 비디오 인터페이스(190) 등과 같은 인터페이스에 의해 시스템 버스(121)에 접속된다. 모니터(191) 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속된다. 네트워킹된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 원격 컴퓨터(180)에 있는 것으로 도시하고 있지 만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
이 기술분야에서 통상의 지식을 가진 자는 컴퓨터(110) 또는 기타의 클라이언트 장치가 컴퓨터 네트워크의 일부로서 배치될 수 있음을 알 수 있다. 이와 관련하여, 본 발명은 임의 개수의 메모리 또는 저장 장치 및 어떤 수의 저장 장치 또는 볼륨들에 걸쳐 일어나는 임의 개수의 애플리케이션 및 프로세스들을 갖는 어떤 컴퓨터 시스템에 관한 것이다. 본 발명은 원격 또는 로컬 저장 장치를 갖고 네트워크 환경에 배치되는 서버 컴퓨터 및 클라이언트 컴퓨터들을 갖는 환경에 적용할 수 있다. 본 발명은 또한 프로그래밍 언어 기능성, 해석 및 실행 능력을 갖는 독립적인 컴퓨팅 장치에 적용할 수 있다.
분산 컴퓨팅은 컴퓨팅 장치 및 시스템들 사이의 직접 교환에 의해 컴퓨터 자원 및 서비스의 공유를 용이하게 한다. 이러한 자원 및 서비스는 정보 교환, 캐시 저장 및 파일의 디스크 저장을 포함한다. 분산 컴퓨팅은 네트워크 접속성의 이점을 취하며, 그것은 클라이언트들이 회사 전체를 이롭게 하기 위해 그들의 집합적인 능력을 투입할 수 있게 한다. 이와 관련하여, 다양한 장치들이 신뢰 그래픽 파이프라인들을 위해 본 발명의 인증 기법들과 관련하여 상호작용할 수 있는 애플리케이션, 개체 또는 자원들을 가질 수 있다.
도 2는 예시적 네트워크 연결, 즉 분산 컴퓨팅 환경의 개략적 다이어그램을 도시한다. 분산 컴퓨팅 환경은 컴퓨팅 개체(10a,10b 등) 및 컴퓨팅 개체 또는 장 치(110a,110b,110c 등)를 포함한다. 이러한 개체들은 프로그램, 메소드, 데이터 저장소, 프로그램 가능한 로직 등을 포함할 수 있다. 개체들은 PDA, 텔레비전, MP3 플레이어, 텔레비전, 퍼스널 컴퓨터 등과 같은 동일한 또는 상이한 장치들의 부분들을 포함할 수 있다. 각각의 개체는 네트워크(14)에 의해 다른 개체와 통신할 수 있다. 이 네트워크 자체는 도 2의 시스템에 대해 서비스를 제공하는 다른 컴퓨팅 개체 및 컴퓨팅 장치들을 포함할 수 있다. 본 발명의 한 양태에 따르면, 각각의 개체(10 또는 110)가 신뢰된 그래픽 파이프라인들을 위해 본 발명의 인증 기법을 요청할 수 있는 애플리케이션을 가질 수 있다.
또한, 개체(110c) 등과 같은 개체가 다른 컴퓨팅 장치(10 또는 110)에서 호스트될 수 있음을 알 수 있다. 그래서, 도시된 물리적 환경이 접속된 장치들을 컴퓨터로서 도시할 수 있을지라도, 그러한 도시는 단지 예시적일 뿐이며, PDA, 텔레비전, MP3 플레이어 등과 같은 다양한 디지털 장치 및 인터페이스, COM 개체 등과 같은 소프트웨어 개체를 포함하는 물리적 환경이 대안적으로 도시되거나 기술될 수 있다.
분산 컴퓨팅 환경을 지원하는 다양한 시스템, 컴포넌트 및 네트워크 구성이 있다. 예를 들어, 컴퓨팅 시스템들은 유선 또는 무선 시스템에 의하고 근거리 네트워크 또는 광역 분산 네트워크에 의해 서로 접속될 수 있다. 현재, 다수의 네트워크들이 인터넷에 연결되어 있으며, 그것은 광역 분산 컴퓨팅을 위한 기반 구조를 제공하고 다수의 상이한 네트워크들을 포함한다.
홈 네트워킹 환경에서는, 전력선, 데이터(무선 및 유선), 음성(예를 들어, 전화) 및 엔터테인먼트 미디어 등과 같은 고유 프로토콜을 각각 지원할 수 있는 적어도 4종의 이종 네트워크 전송 미디어가 있다. 광 스위치 및 기기 등과 같은 대부분의 홈 제어 장치들은 접속성을 위해 전력선을 이용할 수 있다. 데이터 서비스들은 광대역(예를 들어, DSL 또는 케이블 모뎀)으로서 가정에 들어갈 수 있고, 무선(예를 들어, HomeRF 또는 802.11b) 또는 유선(예를 들어, Home PNA, Cat 5, 심지어 전력선) 접속성을 이용하여 가정 내에 접근할 수 있다. 음성 트래픽은 유선(예를 들어, Cat 3) 또는 무선(예를 들어, 이동전화)로서 가정에 들어갈 수도 있고 Cat 3 배선을 이용하여 가정 내에서 분산될 수도 있다. 엔터테인먼트 미디어는 위성 또는 케이블을 통해 가정에 들어갈 수 있고, 통상적으로 동축 케이블을 이용하여 가정에서 분산된다. 또한, IEEE 1394 및 DVI는 미디어 장치의 클러스터들을 위한 디지털 상호접속으로 출현하고 있다. 프로토콜 표준으로 출현할 수 있는 모든 상기 네트워크 환경 및 다른 네트워크 환경을 상호 접속하여 인터넷에 의해 바깥 세상에 접속될 수 있는 인트라넷을 형성할 수 있다. 요약하자면, 데이터의 저장 및 전송을 위한 다양한 이종 소스가 존재하게 되므로, 컴퓨팅 장치들이 데이터 처리 파이프라인의 모든 부분들에서 콘텐츠를 보호하는 방법을 필요로 하게 되는 방향으로 진행할 것이다.
'인터넷'은 흔히 컴퓨터 네트워킹 기술 분야에서 공지된 TCP/IP 프로토콜 스위트를 이용하는 네트워크 및 게이트웨이들의 집합이라고 지칭된다. TCP/IP는 "전송 제어 프로토콜/인터페이스 프로그램(Transfer Control Protocol/Interface Program)"의 두문자어이다. 인터넷은 사용자가 네트워크를 통한 상호작용 및 정보 공유를 할 수 있도록 하는 네트워킹 프로토콜을 실행하는 컴퓨터들로 상호 접속된 지리적으로 분산된 원격 컴퓨터 네트워크들의 시스템인 것으로 기술될 수 있다. 지금까지, 그러한 광범위한 정보 공유로 인해, 일반적으로 인터넷 등과 같은 원격 네트워크들은 개발자들이 전문적 운영 또는 서비스를 본질적으로 제한 없이 수행하기 위한 소프트웨어 애플리케이션들을 설계할 수 있는 개방 시스템으로 진화되어 왔다.
그래서, 그 네트워크 기반구조는 클라이언트/서버, P2P(peer-to-peer), 또는 혼성 아키텍처 등과 같은 다수의 네트워크의 형태들을 가능하게 한다. "클라이언트"는 무관한 다른 클래스 또는 그룹의 서비스들을 이용하는 어떤 클래스 또는 그룹의 일원이다. 그래서, 컴퓨팅에서, 클라이언트는 다른 프로그램에 의해 제공되는 서비스를 요구하는 프로세스, 즉, 대략적으로 한 세트의 명령어 또는 작업이다. 클라이언트 프로세스는 기타의 프로그램 또는 서비스 자체에 관한 어떠한 작업 상세사항을 “알” 필요 없이 요청된 서비스를 이용한다. 클라이언트/서버 아키텍처, 자세하게는, 네트워크가 연결된 시스템에서, 통상적으로 클라이언트는 예를 들어, 서버 등의 다른 컴퓨터에 의해 제공되는 공유된 네트워크 자원들에 접근하는 일종의 컴퓨터이다. 도 2의 예에서는, 컴퓨터(110a,110b 등)들이 클라이언트인 것으로 생각될 수 있고, 컴퓨터(10a,10b 등)들은 서버인 것으로 생각될 수 있으며, 서버(10a,10b 등)는 나중에 클라이언트 컴퓨터(110a,110b 등)에서 복제되는 데이터를 유지한다.
서버는 통상적으로 인터넷 등과 같은 원격 네트워크를 통해 접근할 수 있는 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템에서 활성화 될 수 있고, 서버 프로세스는 제2 컴퓨터 시스템에서 활성화 될 수 있고, 통신 매체를 통해 서로 통신하여 분산 기능성을 제공하고 다수의 클라이언트들이 서버의 정보수집 능력을 이용할 수 있도록 한다.
클라이언트 및 서버는 프로토콜 계층에 의해 제공된 기능성을 이용하여 서로 통신한다. 예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)은 월드와이드웹(WWW)과 관련해서 이용되는 보편적인 프로토콜이다. 통상적으로, 유니버설 리소스 로케이터(URL) 또는 인터넷 프로토콜(IP) 어드레스 등과 같은 컴퓨터 네트워크 어드레스가 서버 또는 클라이언트 컴퓨터들을 서로 식별하기 위해 이용된다. 네트워크 어드레스는 유니버설 리소스 로케이터 어드레스로 지칭될 수 있다. 예를 들어, 통신은 통신 매체를 통해 이루어질 수 있다. 특히, 클라이언트와 서버는 대용량 통신을 위해 TCP/IP 접속에 의해 서로 연결될 수 있다.
그래서, 도 2는 서버가 네트워크/버스에 의해 클라이언트 컴퓨터들과 통신하고 있는 본 발명이 채용될 수 있는 예시적 네트워크 연결, 즉 분산 환경을 도시한다. 좀더 자세하게는, 다수의 서버(10a,10b 등)들이 본 발명에 따라 휴대형 컴퓨터, 핸드헬드 컴퓨터, 신 클라이언트, 네트워크 연결된 기기, 또는 VCR, TV, 오븐, 발광체, 히터 등 다른 장치 등과 같은 다수의 클라이언트 또는 원격 컴퓨팅 장치(110a,110b,110c,110d,110e 등)를 갖는 LAN, WAN, 인트라넷, 인터넷 등일 수 있는 네트워크/버스(14)에 의해 상호접속된다. 그래서 본 발명은 신뢰 소스로부터의 콘텐츠를 처리하고 저장하며 렌더링하는 것이 바람직한 어떠한 컴퓨팅 장치에든 적 용할 수 있을 것으로 생각된다.
네트워크/버스(14)가 예를 들어 인터넷인 네트워크 환경에서, 서버(10)는 클라이언트(110a,110b,110c,110d,110e 등)가 HTTP 등과 같은 다수의 알려진 프로토콜들 중의 어느 것에 의해 통신하는 웹 서버들일 수 있다. 서버(10)는, 아마도 분산 컴퓨팅 환경의 특징으로서, 클라이언트(110)의 역할을 할 수도 있다. 통신은 경우에 따라 유선 또는 무선일 수 있다. 클라이언트 장치(110)는 네트워크/버스(14)에 의해 통신할 수도 있고 안 할 수도 있으며, 그것으로부터 독립적인 통신을 할 수도 있다. 예를 들어, TV 또는 VCR의 경우에, 그 제어부에 대해 네트워크 연결된 양태일 수도 있고 아닐 수도 있다. 각각의 클라이언트 컴퓨터(110) 및 서버 컴퓨터(10)는 다양한 애플리케이션 프로그램 모듈 또는 개체(135)들을 가질 수 있고, 파일들이 저장되거나 또는 파일들의 부분들이 다운로드되거나 이동할 수 있는 다양한 종류의 저장 요소 또는 개체들에 접속 또는 접근할 수 있다. 그래서, 본 발명은 컴퓨터 네트워크/버스(14)에 접근하거나 상호작용할 수 있는 클라이언트 컴퓨터(110a,110b 등) 및, 클라이언트 컴퓨터(110a,110b 등)와 기타의 장치(111) 및 데이터베이스(20)들과 상호작용할 수 있는 서버 컴퓨터(10a,10b 등)를 갖는 컴퓨터 네트워크 환경에서 이용될 수 있다.
권리 관리( RM ) 개요
알려진 바와 같이, 도 3을 보면, 권리 관리(RM) 및 단속은 디지털 오디오, 디지털 비디오, 디지털 텍스트, 디지털 데이터, 디지털 멀티미디어 등과 같은 사용자에게 배포되거나 재배포될 디지털 콘텐츠(32)와 관련해서 매우 바람직하다. 사 용자의 수신시, 그 사용자는 미디어 플레이어, 텍스트 디스플레이어 등과 같은 적절한 렌더링 장치의 도움으로 퍼스널 컴퓨터(34) 등에서 디지털 콘텐츠(32)를 렌더링한다.
통상적으로, 콘텐츠 소유자나 개발자 또는 그러한 디지털 콘텐츠(32)를 배포하는 배포자(이하, '배포자')는 그렇게 배포된 디지털 콘텐츠(32)를 사용자가 처리할 수 있는 것을 제한하거나 또는 적어도 콘텐츠(32)가 원하지 않는 방식으로 재배포되지 않는다는 것을 보장하기를 원한다. 예를 들어, 콘텐츠 배포자는 사용자가 그러한 콘텐츠(32)를 복사하여 제2 사용자에게 재배포하는 것을 제한하기를 원할 수도 있고, 또는 배포된 디지털 콘텐츠(32)를 제한적 횟수로만, 제한적 총시간 동안만, 특정한 종류의 기계로만, 특정한 종류의 렌더링 플랫폼으로만, 특정한 종류의 사용자에 의해서만 등으로 렌더링할 수 있도록 하는 것을 원할 수도 있다.
그러나, 앞서 설명했듯이, 배포가 이루어진 후에는, 그러한 배포자는 디지털 콘텐츠(32)에 대한 제어를 하더라도 아주 미미하게 밖에 할 수 없다. 그 후에는, RM 시스템(30)이 임의의 형태들의 디지털 콘텐츠(32)의 통제된 렌더링을 허용하며, 그러한 통제는 유연하고 그러한 디지털 콘텐츠의 콘텐츠 배포자에 의해 정의될 수 있다. 통상적으로, 콘텐츠(32)를 보호하기 위해, 그러한 콘텐츠(32)는 대칭적 암호화/복호화 키(KD)(즉, (KD(콘텐츠)))로 암호화되며, 콘텐츠(32)에 관한 다른 정보와 함께 패키지(33)로 패키지된다.
신뢰 기반 RM 시스템(30)은 디지털 콘텐츠(32)의 배포자가 그러한 디지털 콘텐츠(32)가 사용자의 컴퓨팅 장치(34)에 의해 렌더링되는 것이 허용되기 전에 충족 되어야 할 라이선스 룰들 중 적어도 일부를 정하는 것을 허용한다. 그러한 라이선스 룰은 앞서 설명한 시간적 요건을 포함할 수 있고, 사용자/사용자의 컴퓨팅 장치(34)(이하, 그러한 용어들은 달리 지정되지 않는 한 호환 가능함)가 소지하고 있어야 할 디지털 라이선스 또는 사용자 문서(이하, '라이선스')(36) 내에서 구현될 수 있다. 그러한 라이선스(36)는 또한 디지털 콘텐츠(32)-아마도 사용자의 컴퓨팅 장치(34)에 의해 복호화 할 수 있는 키에 따라 암호화됨-를 복호화하는 복호화 키(KD)를 포함한다. 도 3에서 알 수 있듯이, 그러한 암호화 키는 사용자의 컴퓨팅 장치(34)의 공개키(PU-C)이고, 사용자의 컴퓨팅 장치(34)는 (PU-C(KD))를 복호화할 수 있는 대응하는 개인키(PR-C)를 갖는다고 추정할 수 있다.
하나의 디지털 콘텐츠(32)의 콘텐츠 배포자는 사용자의 컴퓨팅 장치(34)가 그러한 콘텐츠 소유자가 라이선스(36)에서 정한 룰 및 요건들을 준수할 것이라는 것, 즉 라이선스(36) 내의 룰 및 요건들이 충족되지 않는 한, 디지털 콘텐츠(32)가 렌더링되지 않을 것이라는 것을 신뢰해야만 한다. 그리고, 양호하게는, 사용자의 컴퓨팅 장치(34)에, 디지털 콘텐츠(32)와 관련해서 사용자가 확보한 라이선스(36)에 구현된 라이선스 룰에 따르는 것을 제외하고는 디지털 콘텐츠(32)를 렌더링하지 않을, 신뢰 컴포넌트 또는 메커니즘(38)이 구비된다.
신뢰 컴포넌트(38)는 통상적으로 라이선스(36)가 유효한지 판단하고, 그러한 유효한 라이선스(36)에 있는 라이선스 룰 및 요건들을 검토하며, 검토된 라이선스 룰 및 요건들에 기반하여 요청한 사용자가 요청된 디지털 콘텐츠(32)를, 특히, 추구하는 방식으로 렌더링할 권한을 갖는지를 판단하는 라이선스 평가기(40)를 갖는 다. 알 수 있듯이, 라이선스 평가기(40)는 디지털 콘텐츠(32)의 소유자의 요청을 라이선스(36)의 룰 및 요건에 따라 수행하기 위해 RM 시스템(30)을 신뢰하게 되며, 사용자는 그러한 신뢰 요소를 사악하거나 또는 다른 어떤 목적으로도 용이하게 변경할 수 없어야 한다.
알 수 있듯이, 라이선스(36)의 룰 및 요건은 사용자가 누구인지, 사용자가 어디에 있는지, 사용자가 어떤 종류의 컴퓨팅 장치를 사용하고 있는지, 어떤 렌더링 애플리케이션이 RM 시스템(30)을 호출하고 있는지, 일자, 시간 등을 포함하는 몇 개의 인자들 중 어느 것에 기반하여 사용자가 디지털 콘텐츠(32)를 렌더링할 권한을 갖는지를 정할 것이다. 또한, 라이선스(36)의 룰 및 요건은 예를 들어 렌더링의 예정된 횟수 또는 예정된 렌더링 시간으로 라이선스(36)를 제한할 수 있다. 그래서, 신뢰 컴포넌트(38)는 컴퓨팅 장치(34)의 시계(42)를 조회할 필요가 있을 수 있다. 그러한 시계(42)가 제공된다면, 그러한 시계(42)는 라이선스(36)의 시간적 제한을 극복하기 위한 노력으로 사용자가 변경할 수 없는 보안 시계(42)일 수 있다.
룰 및 요건들은 적절한 어떤 언어 및 신택스(syntax)에 따라 라이선스(36)에 정해질 수 있다. 예를 들어, 언어는 단순히 충족되어야 할 속성 및 값(예를 들어, 일자가 특정일 이후여야 한다는 것(DATE must be later than X))만을 정할 수도 있고, 또는 정해진 스크립트에 따른 기능의 수행(예를 들어, 일자가 특정수보다 크면, ...을 하라(IF DATE greater than X, THEN DO ...))을 요구할 수도 있다.
라이선스 평가기(40)가 라이선스(36)가 유효한지 및 사용자가 그 룰 및 요건 들을 충족하는 것으로 판단하면, 디지털 콘텐츠(32)가 렌더링될 수 있다. 특히, 콘텐츠(32)를 렌더링하기 위해, 복호화 키(KD)가 라이선스(36)로부터 얻어지고 콘텐츠 패키지(33)로부터의 (KD(콘텐츠))에 적용되어 실제 콘텐츠(32)를 산출하고 실제 콘텐츠(32)가 실제로 렌더링된다. 앞서 말했듯이, 물론, 라이선스(36)에 개시된 모든 조건을 그 엔티티가 준수한다고 가정하면, (PU-C(KD))를 갖는 라이선스(36)는 (PR-C)를 소지하고 있는 엔티티를 사실상 인증하여 (KD)에 접근함으로써 그러한 (KD)에 따라 암호화된 콘텐츠(32)에 접근하도록 한다.
라이선스(36)는 통상적으로 인증/확인을 위한 디지털 서명을 포함한다는 것을 주목하자. 마찬가지로, 하나의 디지털 콘텐츠(32) 등과 같은 다른 형태의 디지털 구성체들도 그러한 인증/확인을 위한 디지털 서명을 가질 수도 있다. 알려진 바와 같이, 그러한 디지털 서명은 예를 들어 한 쌍의 비대칭적 키 또는 대칭적 무결성 키(integrity key)로부터의 제1 키에 기반하여 서명이 첨부된 기초 데이터에 대해 어떤 종류의 해시(hash)를 수행하고나서 그 해시를 키로 암호화함으로써 구성될 수 있다. 그 후, 그 한 쌍의 비대칭적 키 또는 무결성 키로부터의 제2 키를 적용함으로써, 다시 예를 들어 암호화된 해시를 복호화하고 복호화된 해시를 서명이 첨부된 기초 데이터의 다른 하나의 해시와 비교함으로써, 서명이 확인된다. 해시들이 일치하면, 기초 데이터가 변경되지 않았다고 추정할 수 있고, 그러므로 기초 구성체를 인증할 수 있다. 통상적으로, RM 시스템(30)은 인증되지 않는 라이선스(36) 등은 받아들이지 않을 것이다.
스트리밍된 멀티미디어 콘텐츠(32)를 수신하고 처리하는 시스템
도 4를 보면, 멀티미디어 콘텐츠(32)를 수신하고 처리하는 시스템(44)이 도시되어 있다. 명백하듯이, 그러한 시스템(44)은 예를 들어 다중 채널 배포자로부터의 텔레비전 신호 등과 같은 멀티미디어 콘텐츠(32)의 다중 스트림을 포함하는 입력 신호를 처리하기에 특히 적합하다. 그러나, 그러한 시스템(44)은 본 발명의 정신 및 범위를 벗어남이 없이 다른 입력 신호들을 처리하기도 할 것이다.
시스템(44)에서, 배포자에 의해 제공된 앞서 설명한 입력 신호는 본 발명의 정신 및 범위를 벗어남이 없는 적절한 어떤 수신기-물론, 그러한 수신기가 여기에서 설명한 기능들을 수행할 수 있다고 가정-일 수 있는 수신기(46)에 적용된다. 예를 들어, 수신기(46)는 디지털 케이블 텔레비전 신호를 수신하여 그 신호를 콘텐츠(32)의 렌더링을 포함하는 추후 디지털 처리를 위해 전달하도록 개발된 것 등과 같은 단방향 케이블 수신기(Uni-Directional Cable Receiver; UDCR)일 수 있다. 알다시피, 수신기(46)는 명령을 받으면 입력 신호로부터의 멀티미디어 콘텐츠(32)의 다중 스트림들 중 하나에 동조하고 그 것을 추후 처리를 위해 전달한다. 또한, 수신기(46)는 콘텐츠(32)의 동조된 스트림을 전달하기 전에, 필요하다면, 그러한 스트림(32)을 원래의 포맷으로부터 그러한 추후 처리에 더 적합한 포맷으로 변환할 수 있다.
예상되듯이, 입력 신호의 멀티미디어 콘텐츠(32)의 다중 스트림들의 각각은 암호화되거나 되지 않을 수 있다. 입력 신호 내의 콘텐츠(32)의 특정 스트림에 동조할 때, 수신기(46)는 아래에서 좀더 자세하게 설명할 방식으로 그러한 스트림이 암호화되었으면 복호화하여 재암호화하거나, 또는 암호화되어 있지 않으면 아래에 서 좀더 자세하게 설명할 방식으로 암호화하기만 하면 된다. 앞서 암시했듯이, 수신기(46)는 스트림이 RM-보호되는 것에 대한 보장의 일부로서 콘텐츠(32)의 스트림을 암호화한다. 그래서, 콘텐츠(32)의 스트림은 비보호된 형태로 재배포될 수 없다.
또한 도 4에 도시된 바와 같이, 수신기(46)로부터 콘텐츠(32)의 암호화된 스트림을 수신하여 그것의 추후 처리를 행하기 위한 미디어 시스템(48)이 제공된다. 아마도 사용자로부터 그러한 대응하는 명령을 수신할 때, 미디어 시스템(48)이 수신기(46)에게 입력 신호 내의 콘텐츠(32)의 특정 스트림에 동조하라고 명령했다고 추정되지만, 본 발명의 정신 및 범위로부터 벗어남이 없이 다른 소스들에 의해 명령이 개시될 수 있음을 인식할 수 있을 것이다. 하여튼, 수신기(46)로부터 콘텐츠(32)의 스트림을 수신할 때, 미디어 시스템(48)은 그것을 검색에 적당한 저장 장치(50)에 저장하고 즉시 또는 소정 시간 지연 후에 렌더링한다. 스트림(32)을 렌더링할 때, 미디어 시스템(48)은 하나 이상의 모니터(52), 스피커(54), 기타의 디스플레이(56) 등과 같은 하나 이상의 출력 장치로 적절한 신호를 전달한다.
저장된 스트림(32)이 RM-보호된 형태인 한, 미디어 시스템(48)은 도 3의 신뢰 컴포넌트(38), 라이선스 평가기(40) 및 시계(42) 등과 같은 RM 컴포넌트들을 포함한다. 그래서, 특정 스트림(32)을 검색할 때, 미디어 시스템(38)은 아래에서 좀더 자세하게 설명하듯이 대응하는 라이선스(36)에 일치해서만 그것을 렌더링한다. 따라서, 암호화된 스트림(32)은 그러한 라이선스(36)가 그렇게 허용하는 경우에만 라이선스(36)에 설명된 콘텐츠 키(CK)로 복호화되어 렌더링된다. 암호화된 스트 림(32)이 (제1) 미디어 시스템(48)에 적어도 일시적으로 저장되는 한, 이론상 그 사용자는 그 스트림을 다른(제2) 미디어 시스템(48)에 복사하여 렌더링할 수 있다는 것에 주목하자. 그러나, 라이선스(36)에 일치해서만 스트림을 암호화하고 복호화할 수 있다면, 그리고 라이선스(36)가 제1 미디어 시스템(48)에만 제한되어 있다면, 그러한 라이선스(36)는 제2 미디어 시스템(48)에 의해 채용될 수 없다.
그러나, 제1 미디어 시스템(48)이 실제로 그렇게 할 수 있고 라이선스(36)가 그렇게 허용한다고 가정하면, 제1 미디어 시스템(48)이 복사된 스트림(32)을 위한 서브라이선스(36)를 제2 미디어 시스템(48)에 발행할 수 있는 경우가 있을 수 있다는 것을 이해해야 한다. 그렇다면, 아래에서 좀더 자세하게 설명하듯이, 제2 미디어 시스템(48)에만 제한된 서브라이선스(36)가 실제로 제2 미디어 시스템(48)에 의해 채용되어 스트림(32)을 렌더링할 수 있다.
수신기(46)로부터 미디어 시스템(48)으로의 라이선스 요건의 전달
앞서 말했듯이, 특히 미디어 시스템(48)의 사용자가 몇 개의 스트림(32)들을 사실상 훑어보기 즉 ‘서핑’하고 있는 경우에는 수신기(46)가 미디어 시스템(48)으로부터 명령을 수신하여 아마 이분의 일초 당 한번 정도로 상당히 규칙적으로 입력 신호로부터의 상이한 디지털 스트림(32)에 동조할 수 있음이 예상된다는 것을 이해해야 한다. 그러나, 각각의 새롭게 동조된 스트림(32)은 새로운 콘텐츠 키(CK)를 갖는 새로운 대응하는 라이선스(36)를 요구한다. 통상적으로, 그러한 라이선스(36)는 수신기(46)에 의해 구성되고 동조된 스트림(32)을 전달하기 직전에 수신기(46)로부터 미디어 시스템(48)으로 전달될 것이다.
그러나, 특히 라이선스(36)가 상세하고 암호화된 요소들을 포함하며 디지털 서명을 포함하는 등의 경우에는 그러한 새로운 라이선스(36)를 구성하고 그것을 수신기(46)로부터 미디어 시스템(48)으로 보내는 것은 매우 부담이 되는 것일 수 있음을 인식해야 한다. 그래서, 미디어 시스템이 그러한 수신기에게 그러한 스트림(32)에 실제로 동조하라고 명령할 때마다 수신기(46)가 새롭게 동조된 스트림(32)을 위해 새로운 라이선스(36)를 완전하게 구성할 수 있을 것으로 생각되지는 않는다. 이것은 앞서 설명한 서핑 상황에 대한 경우에서처럼 그러한 명령의 빈도가 초단위 정도인 경우에 특히 더 그렇다. 이것은 또한, 그러한 라이선스(36)를 신속하게 구성할 필요가 있을 수 있으므로, 수신기(46)에 특히 중요한 컴퓨팅 능력이 구비되어 있지 않으면 특히 더 그렇다. 하여튼, 새로운 스트림(32)이 동조되어야 한다고 명령하는 통상의 사용자는 명령이 발생된 후 1초 또는 2초 이내에 그러한 새로운 스트림(32)이 렌더링되고 주어지기를 기대할 것이다.
그리고 분명하게, 수신기(46)는 스트림(32)이 새롭게 동조될 때마다 새로운 라이선스(36)를 보낼 수는 없을 것이다. 대신에 본 발명의 한 실시예에서는, 수신기(46)가 그러한 새로운 라이선스(36)가 될 수 있는 단축 버전의 요건(47)을 생성하여 보내며, 미디어 시스템(48)이 그러한 요건(47)을 수신하면 수신기(46)가 신뢰하게 되므로, 생각컨대, 수신기(46)가 이용 가능한 것 이상의 컴퓨팅 능력의 도움으로, 시스템(48)은 수신기(46) 대신에 그러한 새로운 라이선스(36)를 구성한다.
생각컨대, 수신기(46)는 스트림(32) 자체 내의 정보(49)로부터 스트림(32)을 위한 요건(47)을 판단한다. 스트림(32)의 정보(49)로부터 그러한 요건(47)을 판단 하는 것은 관계자들에게 알려진 것이거나 또는 자명하다 할 것이므로 여기에서 자세하게 설명할 필요는 없고, 따라서 스트림(32)으로부터 그러한 요건(47)을 판단하는 방법은 본 발명의 정신 및 범위로부터 벗어남이 없이 채용될 수 있다. 예를 들어, 배포되는 스트림(32)에 알려진 간격 및 위치로 주기적으로 정보(49)가 제공되는 경우가 있을 수 있다.
특정 스트림(32)을 위해 수신기(46)에 의해 정해진 요건(47)은 물론 본 발명의 정신 및 범위로부터 벗어남이 없이 어느 요건(47)이라도 된다. 그러나, 통상적으로, 요건(47)은, 적어도 부분적으로, 제1 미디어 시스템(48)의 저장 장치(50)에 저장되고 그러한 제1 미디어 시스템(48)에 대해 라이선스된 스트림(32)이 실제로 제2 미디어 시스템(48)에 복사되고 서브라이선스될 수 있는지를 규정한다. 예를 들어, 그러한 복제권은 무제한 복사(CF: copy freely), 1회 복사가능(CO: copy once) 또는 복사 금지(CN: copy never) 등의 상태일 수 있다.
그래서, 본 발명에 의하면, 수신기(46)는 그러한 수신기(46)가 특정 스트림(32)에 새롭게 동조할 때마다 그러한 새로운 라이선스(36)를 실제로 구성해야 하는 부담을 가질 필요가 없고, 사용자가 매초 당 한번 정도로 변경을 명령하고 있을지라도 수신기가 스트림(32)에 새롭게 동조할 때마다 그러한 라이선스(36)의 요건(47)의 단축 버전이 신속하게 생성되어 미디어 시스템(48)으로 보내진다.
또한, 알다시피, 라이선스(36) 자체가 아니라 요건(47)만을 보냄으로써, 수신기(46)는 라이선스(36) 자체의 어떤 특정한 포맷에 따른 부담을 가질 필요가 없다. 그래서, 어떤 시점에서 라이선스(36)를 위한 새로운 포맷이 정해지면, 그러한 포맷은 수신기(46)는 아니고 미디어 시스템(48)으로의 전달만이 필요하다.
도 4를 보면, 수신기(46)로부터 스트림(32)을 수신하는 것 외에, 미디어 시스템(48)은 다른 소스들로부터 직접적으로든 간접적으로든 스트림(32)을 부가적으로 수신할 수도 있음을 알 수 있다. 그러한 기타의 소스들은 예를 들어 NTSC 입력 신호, ATSC 입력 신호 등을 포함할 수 있다. 알고 있듯이, 직접적으로 수신되는 적어도 일부의 입력 신호들의 각각에 대해서는, 미디어 시스템(48)이 수신된 입력 신호 내의 스트림(32)을 미디어 시스템(48)에 더 적합한 암호화된 포맷으로 전환하고, 또한 미디어 시스템(48)에 의해 생성된 새로운 라이선스(36)가 될 수 있는 스트림(32)을 위한 단축 버전의 요건(47)을 생성하여 보내기 위한 수신기(46)처럼 작동하는 하드웨어 또는 소프트웨어 게이트웨이(58)를 포함하는 경우가 있을 수 있다. 여기에서, 게이트웨이(58)는 스트림(32) 자체 내의 정보(49)로부터 스트림(32)을 위한 요건(47)을 판단할 수 있거나, 또는 그러한 스트림(32)으로부터 이용 가능하지 않으면 디폴트 요건(47)을 작성할 것이다.
본 발명의 한 실시예에서는, 어떤 특정한 소스로부터의 어떤 특정 스트림(32)을 위해 제공되는 요건(47)이 보편적인 포맷으로 설명되어 있다. 따라서, 미디어 시스템(48)은 상이한 소스에 대응하는 다수의 포맷들과 관련될 필요가 없다. 본 발명의 한 실시예에서는, 요건(47)이 미디어 시스템(48)에 또는 내에서 신속하고 용이하게 전송될 수 있고 미디어 시스템(48)도 마찬가지로 그로부터 라이선스(36)를 신속하게 구성할 수 있도록 보편적인 포맷이 비교적 단축된 특성을 갖는다.
예를 들어, 도 5를 보면, 본 발명의 한 실시예에서는, 보편적인 포맷이 다수의 예정된 필드로 구분된 32 비트를 갖는다. 필드들의 정의는 아래와 같다.
-복사 방지 방법 입력(Input Copy Protection Method) - 이 필드는 예정된 방식으로 대응하는 스트림(32)의 특정한 콘텐츠 보호 방법에 대응하는 8 비트 값을 정한다. 그러한 콘텐츠 보호 방법은 제한적인 것은 아니지만 아래와 같은 것을 포함할 수 있다.
없음(None) - 스트림(32)에 대해 아무런 복사 방지도 정해져 있지 않으며, 어떤 RM 기반 제한도 부여되지 않아야 한다.
하드웨어 매크로비전(Hardware Macrovision) - 스트림(32)이 매크로비전(파형) 보호된다.
CGMS-A - 스트림(32)이 IEC 61880 또는 EIA-608-B에 의해 정해진 CGMS-A 콘텐츠 보호를 포함한다.
WSS - 스트림(32)이 ITU-R BT 1119-1에 의해 정해진 WSS 보호를 포함한다.
케이블 랩스 디지털 케이블(Cable Labs Digital Cable) - 스트림(32)이 케이블 랩스 UDCR 수신기(46)로 전달되었다.
ATSC - 스트림(32)이 ATSC(Advanced Television Systems Committee) 포맷으로 전달되었다.
-내성 룰을 충족하는 입력 장치(Input Device Meets Robustness Rules) - 입력 장치(예를 들어, 수신기(46)로서의 동조기 카드)가 복사 방지 방법 입력에 의해 정의된 내성 룰을 충족하면, 이 1비트 필드는 1로 설정된다.
-복사 디폴트(Copy Default) - 복사 방지 요건(47)이 스트림(32)으로부터 아직 알려져 있지 않고 디폴트 복사 방지를 적용하려는 것이라면, 이 1비트 필드는 1로 설정된다.
-방송 플래그/제한된 콘텐츠 - 스트림(32)이 재배포 제어된 것이면, 이 1비트 필드는 ATSC에 고유한 것이고 1로 설정된다.
-CIT - 제한된 이미지가 트리거되었으면 이 1 비트 필드는 케이블 랩스 디지털 케이블이고 1로 설정된다.
-APS - 이 2 비트 필드는 특정한 매크로비전 포맷에 고유한 아날로그 보호 시스템 요건(47)을 표현한다.
-복사 제어값 - 이 2 비트 필드는 미디어 시스템(48)으로부터 다른 하나의 미디어 시스템(48)으로 스트림(32)이 복사될(서브라이선스될) 수 있는 방법-무제한 복사(CF), 1회 복사가능(CO) 또는 복사 금지(CN) 등-을 표현한다.
특히, 도 5에 도시된 한 실시예에서는, 32 비트 중 16 비트가 나중에 이용하기 위해 예약된다. 따라서, 현 종류의 복사 방지에 이미 존재하는 추가적인 특징들에서와 같이, 새로운 종류의 복사 방지에 고유한 특징들은 예약된 비트 내에서 구현될 수 있다. 또한 특히, 특정한 비트들은 특정 종류의 복사 방지와 관련해서만 사용하고 다른 종류의 복사 방지와 관련해서는 사용되지 않도록 현재 예약되어 있지만, 상이한 목적을 위한 그러한 다른 종류의 복사 방지와 관련하여 채용될 수 있다.
이제 알 수 있듯이, 보편적인 포맷을 채용하여 특정 스트림(32)에 대응하는 라이선스(36)를 위한 요건(47)을 표현함으로써, 그러한 요건(47)이 배포되는 그러한 스트림(32)의 어떤 특정한 포맷에 대해 불가지론적(agnostic)인 보편적인 방식으로 정해질 수 있다. 요건(47)은 임의의 특정 소스 콘텐츠 보호 메커니즘에도 특유하지 않은 방식으로 간결하게 정해지며, 수신기(46) 또는 게이트웨이(58)(이하, 달리 지정되지 않는 한, '수신기(46)') 등과 같은 비교적 단순한 장치가 임의의 특정 포맷의 요건(47)을 파생할 수 있고, 그 요건을 보편적인 포맷으로 변환할 수 있다.
도 6을 보면, 특정 스트림(32)에 동조하라는 명령에 응답하여 수신기(46)에 의해 채용되는 방법이 도시되어 있음을 알 수 있다. 알다시피, 그러한 명령은 통상적으로 초기에 사용자에 의해 미디어 시스템(48)에 대해 내려지고(단계 601), 그 후 미디어 시스템(48)으로부터 수신기(46)에 내려지는(단계 603) 것이지만, 본 발명의 정신 및 범위로부터 벗어남이 없이, 대안적으로, 사용자로부터의 촉구 없이 미디어 시스템이 그러한 동조 명령을 내릴 수도 있다. 하여튼, 동조 명령에 응답하여, 수신기(46)는 실제로 당해 스트림(32)에 동조한다(단계 605). 그러한 동조는 일반적으로 알려진 것이거나 또는 관계자들에게 자명하다고 해야 할 것이므로, 여기에서 자세히 설명할 필요는 없다. 따라서, 그러한 동조는 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 방식으로든 수행될 수 있다.
동조되면, 수신기(46)는 필요하다면 스트림(32)을 복호화하고(단계 607), 미디어 시스템(48)과 공유하고 있는 대칭적 콘텐츠 키(CK)에 따라 그것을 재암호화한 다(단계 609). 그러한 콘텐츠 키(CK)를 미디어 시스템(48)과 공유하는 한 방법을 아래에서 설명하지만, 그러한 임의의 방법의 대부분은 본 발명의 정신 및 범위로부터 벗어남이 없이 채용할 수 있음을 이해해야 한다.
또한, 복호화된 스트림(32)으로부터, 수신기(46)는 스트림(32)에 대응하는 라이선스(36)를 위한 요건(47)과 관련하여 앞서 설명한 정보(49)를 찾는다. 앞서 말했듯이, 그러한 요건(47)과 함께 그러한 정보(49)가 알려진 간격 및 위치로 스트림(32) 내에 주기적으로 공급될 수 있다. 예를 들어, 그러한 알려진 간격은 매 20초당 한번 정도일 수 있으며, 위치는 스트림(32)이 디지털이면 특수하게 식별된 패킷이거나, 스트림(32)이 아날로그이면 특정한 비디오 블랭킹 인터벌(video blanking interval)일 수 있다. 아래에 좀더 자세하게 설명하듯이, 수신기(46)가 스트림(32)의 그러한 정보(49)와 아직 마주치지 않은 경우 및 그러한 정보(49)를 대기하는 것이 가능하지 않은 경우, 수신기(46)는 어떤 디폴트 세트의 정보(49)에 기반하여 요건(47)을 보냄으로써 진행될 수 있고, 나중에 실제 정보(49)가 수신될 때 실제 요건(47)을 보낸다.
하여튼, 찾아낸 정보(49)를 이용해서, 수신기(46)는 스트림(32)에 대응하는 한 세트의 요건(47)을 구성하며(단계 613), 그러한 요건(47)은 앞서 설명한 보편적인 포맷으로 표현될 수 있고, 그러한 요건(47)을 미디어 시스템(48)으로 보내며(단계 615), 특히, 미디어 시스템(48)의 신뢰 컴포넌트(38)로 보낸다. 그 후, 미디어 시스템(48)은 요건(47)에 기반하여 라이선스(36)를 구성하고(단계 617), 그렇게 구성된 라이선스(36)를 그 라이선스 저장소(60) 등에 저장한다(단계 619).
그러한 요건(47)으로부터 그러한 라이선스(36)를 구성하는 것은 일반적으로 알려진 것이거나 또는 관계자에게 자명하다고 할 것이므로 여기에 자세히 설명하지 않는다. 따라서, 그러한 라이선스(36)의 그러한 구성은 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 방식으로든 수행될 수 있다. 예를 들어, 요건(47)이 앞서 설명된 32 비트 보편적인 포맷 등에 따라 표현되는 경우에, 미디어 시스템(48)은 각각의 비트 필드를 예정된 매핑 룰에 따라 라이선스(36)로 매핑하는 매핑 알고리즘을 채용할 수 있다.
라이선스(36)를 구성할 때, 미디어 시스템(48)은 그러한 미디어 시스템(48)의 공개키(PU-MS) 등과 같은 다른 하나의 키에 따라 암호화된 라이선스(36) 내에, 아래에 설명된 방식으로 얻어질 수 있는 스트림을 위한 콘텐츠 키(CK)를 저장하여, (PU-MS(CK))를 생성한다는 것에 주목하자. 그래서, 미디어 시스템(48)만이 (PU-MS)에 대응하는 개인키(PR-MS)에 의해 라이선스(36)로부터의 (PU-MS(CK))로부터의 (CK)에 접근할 수 있다. 결과적으로, 그러한 라이선스(36)는 그러한 미디어 시스템(48)에만 제한되는 것이라고 말할 수 있고 다른 어떤 미디어 시스템(48) 또는 다른 장치에 채용될 수 없다. 라이선스(36)는 미디어 시스템(48)에게 다른 하나의 미디어 시스템(48)이 예를 들어 무제한 복사(CF) 또는 1회 복사가능(CO) 등과 같은 복제권을 지정함으로써 스트림(32)을 렌더링하게 하는 서브라이선스(36)를 발행할 권한을 주며, 그러한 미디어 시스템(48)은 서브라이선스(36)를 생성함에 있어서 우선 (CK)를 검색하기 위해 (PU-MS(CK))에 (PR-MS)를 적용하고나서 다른 하나의 미디어 시스템(48)의 (PU-MS)에 따라 (CK)를 암호화해야 하며, 그러한 새로운 (PU- MS(CK))를 서브라이선스(36)에 삽입할 수 있다.
미디어 시스템(48)은 특정 스트림(32)을 위한 대응하는 라이선스(36)를 구성하기 전에 특정 스트림(32)을 위한 콘텐츠 키(CK)를 소유하고 있을 것이며, 따라서 그러한 콘텐츠 키(CK)를 채용하여 수신기(46)로부터 보내진 암호화된 스트림을 복호화하고 그러한 복호화된 스트림(32)을 렌더링한다(단계 621). 그러므로, 어떤 사람은 미디어 시스템이 단계 617 및 619에서처럼 라이선스를 구성하여 저장할 필요성에 이의를 제기할 수도 있을 것이다. 그러나, 미디어 시스템(48)이 리셋 등의 과정에서 콘텐츠 키(CK)를 어느 정도 상실한 경우 등과 같이 콘텐츠 키(CK)를 검색할 필요가 있으면 미디어 시스템(48)이 저장된 라이선스(36)를 사용할 수 있음을 인식해야 한다. 마찬가지로, 미디어 시스템(48)이 저장 장치(50)로부터의 스트림(32)을 지연적으로 재생하면, 라이선스(36)는 그러한 CK가 저장된 위치에만 있을 수 있다. 또한, 라이선스(36)는 장래의 어떤 포인트에서 조회될 것이 필요할 수 있는 스트림(32)에 관한 어떤 복제권 및 스트림(32)에 대응하는 다른 요건(47)을 저장하고 검색할 필요가 있다.
어떤 특정 스트림(32)에 있어서, 그에 관한 정보(49)가 한번 이상 변경될 수 있는 경우가 있을 수 있음을 주목하자. 그렇다면, 알다시피, 수신기(46)는 단계 613 및 615에서 미디어 시스템(48)에 대해 새로운 요건(47)을 줄 수 있고 미디어 시스템은 단계 617 및 619에서 새로운 라이선스(36)를 구성하고 저장해야 한다. 그래서, 수신기(46)는 스트림(32) 내의 정보(49)의 각각의 세트를 인식해야 하고, 언제 그러한 정보(49)의 세트가 스트림(32) 내에서 변경되었는지를 주목해야 한다.
수신기(46)와 미디어 시스템(48) 사이의 콘텐츠 키의 공유
앞서 말했듯이, 수신기(46)가 상이한 스트림(32)에 동조할 때마다, 수신기는 상이한 콘텐츠 키(CK)에 따라 암호화된 새롭게 동조된 스트림(32)을 보내고, 또한 한 세트의 대응하는 요건(47)을 보낸다. 그래서, 수신기(46)와 미디어 시스템(48)은 콘텐츠 키(CK)들을 어느 정도 공유해야 하고, 특히 미디어 시스템(48)은 수신기(46)가 어떤 콘텐츠 키(CK)를 채용해서 특정 스트림(32)을 암호화했는지를 알아야 한다.
그러나, 현재로서는 수신기(46)가 예를 들어 요건(47)의 일부로서 또는 통상적 RM 라이선스(36) 내에서 각각의 특정 스트림(32)을 위한 각각의 콘텐츠 키(CK)를 미디어 시스템(48)으로 전송할 것으로 예상되지 않는다는 것이 중요하다. 앞서 말했듯이, 그러한 라이선스(36)를 구성하는 것은 매우 노동집약적이기 때문에, 그리고 새롭게 동조된 스트림(32)이 매초 당 한번 정도로 자주 명령될 수 있기 때문에, 수신기(46)가 각각의 새롭게 동조된 스트림(32)을 위해 그러한 통상적 RM 라이선스(36)를 구성하여 보낼 것으로 기대할 수 없다. 그래서, 수신기(46)와 미디어 시스템(48)은 상이한 방법의 통신을 통해 그러한 콘텐츠 키(CK)를 어느 정도 공유해야 한다.
따라서, 본 발명의 한 실시예에서는, 수신기(46)와 미디어 시스템(48)은 초기화의 일부로서 다소 통상적인 RM 라이선스(36)에 의해 초기 콘텐츠 키(CKO)를 공유하고, 수신기(46)와 미디어 시스템(48)의 각각은 (CK(O))로부터 새로운 콘텐츠 키(CKx)를 직접적으로든 또는 간접적으로든, 요구에 따라 그리고 조정된 방식으로 파생한다. 초기화 RM 라이선스(36)는 다른 하나의 초기화가 필요할 때까지 단 한번만 요구되며, 따라서 그러한 RM 라이선스(36)의 노동집약적 양상들은 다른 하나의 초기화가 필요할 때까지 단 한번만 겪게 된다는 것이 중요하다. 그러한 초기화는 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 간격으로 수행될 수 있음을 주목하자. 예를 들어, 초기화는 몇시간 또는 며칠마다 한번만 수행될 수 있고, 또는 미디어 시스템(48)이 시작되거나 리셋될 때마다 한번 수행될 수도 있다.
본 발명의 한 실시예에서는, 도 7을 보면, 초기화 이벤트 시에, 미디어 시스템(48)은 초기화 요청을 수신기(46)로 보내며(단계 701), 그러한 초기화 요청은 수신기(46)가 신뢰하는 어떤 기관(authority) 또는 연쇄적 기관에 의해 미디어 시스템(48)에 주어진 기계 인증서(machine certificate) 등을 포함한다. 보내진 기계 인증서는 미디어 시스템의 공개키(PU-MS)를 포함하고, 미디어 시스템은 대응하는 개인키(PR-MS)를 소유하고 있다는 것이 중요하다.
그 후, 수신기(46)는 보내진 기계 인증서에 기반하여 미디어 시스템(48)을 신뢰할 수 있음을 자신에게 확인시키고 초기화 RM 라이선스(36)를 구성하며(단계 703), 초기화 라이선스(36)를 미디어 시스템(48)으로 보낸다(단계 705). 초기화 라이선스(36)가 수신기(46)에 의해 결정된 초기 콘텐츠 키(CKO)를 포함한다는 것이 중요하고, 그러한 초기 콘텐츠 키(CKO)가 기계 인증서로부터의 공개키(PU-MS)에 따라 암호화되어 (PU-MS(CKO))를 산출한다. 그래서, 미디어 시스템(48)은 초기화 라이선스(36)를 수신하고 그것을 라이선스 저장소(60)에 저장할 때 그로부터 그러한 (PU-MS(CKO))를 검색하고 거기에 (PR-MS)를 적용하여 (CKO)를 산출하며(단계 707), 그러한 (CKO)를 여기에서는 제로(zero)로 설정되는 카운트와 함께 적절한 안전한 위치에 저장한다(단계 709). 알다시피, 수신기(46)는 또한 그러한 (CKO)를 동일한 제로 카운트와 함께 적절한 안전한 위치에 저장한다.
초기화 라이선스(36)는 수신기(46)에 의해 서명될 수 있으며, 그러한 경우에 수신기는 대칭적 무결성 키(IK)를 채용함으로써 MAC 등과 같은 대칭적 서명 프로토콜에 기반하여 그러한 초기화 라이선스(36)를 사실상 서명할 수 있음을 주목하자. 그렇다면, 본 발명의 한 실시예에서는, 초기 콘텐츠 키(CKO) 및 초기 무결성 키(IKO)로서의 무결성 키(IK)가 모두 기계 인증서로부터의 공개키(PU-MS)에 따라 암호화되어 (PU-MS(CKO, IKO))를 산출한다. 그리고, 여기에서, 미디어 시스템(48)은 단계 707에서처럼 초기화 라이선스(36)를 수신할 때 그로부터 그러한 (PU-MS(CKO, IKO))를 검색하고, 거기에 (PR-MS)를 적용하여 (CKO) 및 (IKO)를 산출하고, 그러한 (CKO)와 (IKO) 및 제로 카운트를 단계 709에서처럼 적절한 안전한 위치에 저장한다. 또한, 미디어 시스템(48)은 그러한 초기 무결성 키(IKO)를 채용하여 그러한 초기화 라이선스(36)의 서명을 검증한다.
요컨대, 수신기(46)와 미디어 시스템(48)은 안전한 위치에 초기 콘텐츠 키(CKO), 초기 무결성 키(IKO) 및 제로로 설정된 카운트를 저장했다. 그러나, 수신기는 어떤 콘텐츠 키(CK) 또는 어떤 대응하는 요건(47)에 따라 암호화된 스트림(32)을 미디어 시스템(48)으로 보내는 것을 아직 시작하지 않았다. 그러나, 미디어 시스템(48)은 도 6의 단계 603에서처럼 어떤 시점에서 그러한 상황의 제1 사 례를 명령할 것이다. 따라서, 수신기는 도 6의 단계들에 의해 그러한 수신기가 단계 609에서처럼 제1 스트림(32)을 암호화하기 위해 (CK1)일 수 있는 제1 새로운 대칭적 콘텐츠 키(CKx)를 요청하는 시점으로 진행한다.
여기 본 발명의 한 실시예에서는, 수신기(46)가 카운트를 증분(단계 711)하고, 초기 콘텐츠 키(CKO)로부터 (CKx)/(CK1)를 파생(단계 713)시킴으로써 그러한 콘텐츠 키(CKx)/(CK1)를 생성한다. 또한, 그러한 초기 콘텐츠 키(CK(O))로부터 그러한 콘텐츠 키(CKx)를 파생시킬 때, 수신기(46)는 또한 초기 무결성 키(IKO)로부터 대응하는 무결성 키(IKx)/(IK1)를 파생시킨다(단계 715).
본 발명의 한 실시예에서는, 콘텐츠 키(CKx)와 무결성 키(IKx) 모두 초기 값 (CK(O)) 또는 (IK(O))을 새로운 카운트 값과 함께 함수, 즉, 값(x)=함수(값(O), 카운트)에 적용함으로써 (CK(O)) 및 (IK(O))로부터 각각 파생된다. 예를 들어, 그러한 함수는 아마도 필요에 따라 적절히 트렁케이션(truncation) 또는 렝쓰닝(lengthening)을 행한 SHA 함수 등과 같은 일방향 해시 함수일 수 있다. 그래서, 그러한 콘텐츠 키(CKx)에 의해 수신기(46)는 단계 609에서처럼 스트림(32)을 암호화할 수 있다.
본 발명의 한 실시예에서는, 도 6의 단계 613 및 615에서처럼 수신기(46)가 스트림(32)에 대응하는 요건(47)의 세트를 구성하여 그러한 요건(47)을 미디어 시스템(48)으로 보낼 때 그러한 키(CKx, IKx)의 파생 또는 순환 및 새로운 카운트를 미디어 시스템(48)으로 전달한다. 특히, 본 발명의 한 실시예에서는, 수신기(46)가 그러한 단계 613 및 615를 수행할 때 단계 705에서처럼 보내진 초기화 라이선 스(36)에서의 값들에 기반한 값들로 파생 메시지(62)를 실제로 구성한다.
특히 예를 들어 카운트=1에 대응하는 제1 스트림(32) 등과 같은 특정한 카운트 x에 대응하는 어떤 특정 스트림(32)의 경우, 수신기(46)가 그러한 스트림(32)을 위한 요건, 카운트 x 및 무결성 키(IKx)에 기반한 서명을 포함하는 파생 메시지(62)를 구성하며(단계 717), 구성된 파생 메시지(62)를 미디어 시스템(48)으로 보낸다(단계 719). 서명이 대칭적 키에 기반하는 한, 그러한 파생 메시지(62)를 구성하는 것은 서명이 비대칭적 키에 기반하는 것에 비해 수신기(46)에게 그다지 부담이 되는 것이 아님을 주목하자.
하여튼, 스트림(32) 및 대응하는 파생 메시지(62)를 수신할 때, 미디어 시스템(48) 자체가 그 수신된 파생 메시지(62)로부터의 카운트, (CK(O)), (IK(O)) 및 단계 715에서 이용된 함수에 관한 지식에 기반하여 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시킬 수 있다. 특히, 수신기(46)에서처럼, 미디어 시스템(48)은 (CK(O)) 및 (IK(O))의 각각을 찾고(단계 721), 수신기(46)와 동일한 함수 및 현재의 카운트 x를 채용하여 (CKx) 및 (IKx)를 파생시키며(단계 723), 그러한 파생 (CKx) 및 (IKx)를 대응하는 적절한 카운트와 함께 저장한다(단계 725). 또한, 미디어 시스템(48)은 그러한 무결성 키(IKx)를 채용하여 대응하는 파생 메시지(62)의 서명을 검증한다(단계 727). 가장 중요하게, 콘텐츠 키(CKx)가 스트림(32)에 대응하며, 대응하는 파생 메시지(62)가 검증하고 허용하는 것을 가정하면, 미디어 시스템(48)은 렌더링 및/또는 부가적 처리를 위해 스트림(32)을 복호화할 수 있다(단계 729).
미디어 시스템(48)이 수신기(46)로부터 수신한 파생 메시지(62)는 도 6의 단계 617 및 619에서처럼 미디어 시스템(48)에 의해 구성되어 라이선스 저장소(60)에 저장된 라이선스(36)가 아님을 주목해야 한다. 그 대신에, 알 수 있듯이, 파생 메시지(62)는 그러한 단계 617 및 619의 라이선스(36)를 구성하기 위해 채용된 요건(47)을 포함한다.
여기에 설명된 본 발명에 의하면, 수신기(46)는 새롭게 동조된 스트림(32)마다 미디어 시스템(48)으로 콘텐츠 키(CKx) 또는 무결성 키(IKx)를 명시적으로 전달할 필요가 없다. 그 대신에, 수신기(46)는 미디어 시스템(48)에 대해 그러한 키의 초기 값(CKO, IKO)들을 설정하기만 하면 되고, 수신기(46)와 미디어 시스템(48)의 각각은 (CK(O)), (IK(O)) 및 파생 함수에 대한 사전 지식에 기반하여 각각의 새로운 스트림(32)마다 새로운 값(CKx, IKx)을 독립적으로 파생시킬 수 있다. 그래서, 수신기(46)는 (CKx)가 비대칭적으로 암호화되며 RM 라이선스가 비대칭적으로 서명됨으로 인해, 각각의 새로운 스트림(32)마다 통상적 RM 라이선스(36)를 구성해야 하는 상당한 부담을 받을 필요가 없다. 그 대신에, 수신기(46)는 미디어 시스템(48)에서 초기화 할 때 그러한 통상적 RM 라이선스(36)를 구성하기만 하면 되고, 그 후 (CKx)를 암호화하고 대칭적으로 서명할 필요 없이 각각의 새로운 스트림(32)마다 덜 부담이 되는 파생 메시지(62)를 구성할 수 있다.
본 발명의 다른 실시예에서는, (CK(O)) 및 (IK(O))로부터 (CKx) 및 (IKx)를 각각 파생시키기보다는, 그러한 (CKx) 및 (IKx)가 (CK(x-1)) 및 (IK(x-1))로부터 각각 파생될 수 있음을 주목하자. 알 수 있듯이, 그렇게 하는 것은, (CK(x)) 및 (IK(x))가 알다시피 (CK(x+1)) 및 (IK(x+1))를 파생하기 위해 저장되고 검색되어야 하는 것을 제외하고, (CK(O)) 및 (IK(O))로부터 (CKx) 및 (IKx)를 파생시키는 것과 대부분 유사하다.
수신기(46)와 미디어 시스템(48) 사이에 콘텐츠 키를 공유함에 있어서, 그러한 요소들은 예를 들어 인증 등과 같은 안전한 방법을 이용하여 서로 통신할 수 있음을 주목하자. 대안적으로, 상황이 보장된다면, 안전하지 않은 방법들이 채용될 수도 있다.
디폴트 파생 메시지(62)
앞서 설명되거나 언급된 바와 같이, 새롭게 동조된 특정 스트림(32)에 대응하는 파생 메시지(62)를 구성함에 있어서, 수신기(46)는 단계 611에서처럼 스트림(32)으로부터 파생 메시지(62)를 위한 요건(47)에 관한 정보(49)를 찾으며, 그러한 요건(47)과 함께 그러한 정보(49)가 알려진 간격 및 위치로 스트림(32) 내에 주기적으로 제공될 수 있다. 그러한 알려진 간격은 20초 또는 그 이상마다 한번 정도일 수 있고, 따라서 수신기(46)는, 아주 흔하게, 상당히 긴 시간을 기다리지 않고는 스트림(32)에서 그러한 정보(49)와 마주치지 않을 것이다. 그러나, 그러한 기다림은 적절하지 않으며, 특히 수신기(46)가 스트림(32)에 동조하라는 명령이 있은 후 1초 정도의 시간 프레임 내에 그러한 정보(49)에 기반한 요건(47)과 함께 그러한 파생 메시지(62)를 보낼 것으로 기대되면 더 그렇다.
따라서, 본 발명의 한 실시예에서는, 수신기(46)가 도 7의 단계 715 및 717에서처럼, 수신기(46)가 새롭게 동조된 스트림(32)으로부터의 정보(49)를, 그에 기 반하여 요건(47)을 구성하고, 그것을 대응하는 파생 메시지(62)에 배치하며, 파생 메시지(62)를 적시에 보내기에 알맞은 시간에, 소유하고 있지 않으면, 수신기(46)는 그 대신에 디폴트 파생 메시지(62)를 구성하여 보낸다. 알다시피, 그러한 디폴트 파생 메시지(62)는 예를 들어 복사 금지(CN: copy never) 등과 같이 본질적으로 가장 제한적인 요건(47)을 포함한다. 그 후, 수신기(46)가 새롭게 동조된 스트림(32)으로부터의 정보(49)를 실제로 소유하고 있으면, 수신기(46)는 실제 파생 메시지(62)를 구성하여 보낸다. 알다시피, 그러한 실제 파생 메시지(62)는 실제로 그렇게 소유된 정보(49)에 기반하고 있고, 대응하는 디폴트 파생 메시지(62)로부터의 요건(47)을 교체할 예정인 요건(47)을 포함한다.
특히, 도 8을 보면, 새롭게 명령된 스트림(32)에 동조할 때(단계 801), 수신기(46)는 카운트를 증분하며 단계 709-713에서와 같이 스트림을 위한 (CKx) 및 (IKx)를 파생시킨다(단계 803). 그러나, 요건(47)에 속하는 앞서 설명한 정보(49)가 아직 적시에 새롭게 동조된 스트림(32)과 마주치지 않았다고 가정하면, 수신기(46)는 예를 들어 복사 금지(CN) 등과 같은 본질적으로 가장 제한적인 디폴트 요건(47)을 포함하는 디폴트 파생 메시지(62)를 구성하여 보낸다(단계 805). 그 후, 수신기(46)는 새롭게 동조된 스트림(32)으로부터의 정보(49)가 실제로 마주쳐질 때까지 대기하며(단계 807), 그러한 대기는 어떤 경우에는 20초 또는 심지어 몇 분 정도로 지속될 수 있다.
스트림(32)에 있는 정보(49)와 실제로 마주칠 때, 수신기(46)는 그렇게 마주친 정보(49)에 실제로 기반하는 실제 요건을 포함하는(47) 실제 파생 메시지(62)를 구성하여 보내며(단계 815), 실제 파생 메시지(62)에 있는 그러한 실제 요건(47)은 대응하는 디폴트 파생 메시지(62)로부터의 디폴트 요건(47)을 대체할 예정이다. 본 발명의 한 실시예에서는, 단계 815에서처럼 실제 파생 메시지(62)를 구성하여 보내는 수신기(46)는 카운트를 증분하지 않고(단계 813), 따라서 디폴트 파생 메시지(62) 및 대응하는 실제 파생 메시지(62)에는 동일한 카운트가 기재되는 것이 중요하다.
이제 알 수 있듯이, 디폴트 파생 메시지(62)를 수신할 때, 전과 같이, 미디어 시스템(48)은 도 7의 단계 721 및 723에서와 같이 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시키고, 그러한 무결성 키(IKx)를 채용하여 단계 725에서처럼 그러한 디폴트 파생 메시지(62)의 서명을 검증하며, 콘텐츠 키(CKx)에 의해 미디어 시스템(48)이 단계 727에서처럼 스트림(32)을 복호화할 수 있다(단계 809). 그러한 디폴트 파생 메시지(62)가 본질적으로 가장 제한적인 디폴트 요건(47)을 갖는 한, 미디어 시스템도 도 6의 단계 617 및 619에서처럼 그러한 디폴트 요건(47)에 기반하고 결과적으로 중요한 사항에서 매우 제한적인 디폴트 버전의 라이선스(36)를 구성하여 라이선스 저장소(60)에 저장한다(단계 811).
그러나, 나중에 실제 파생 메시지(62)를 수신할 때, 특히 그러한 실제 파생 메시지(62)에서의 카운트 값이 디폴트 파생 메시지(62)의 카운트 값으로부터 변화되지 않았음을 알 때, 본 발명의 한 실시예에서 미디어 시스템(48)은 변화되지 않은 카운트 값이 실제 파생 메시지(62)가 디폴트 파생 메시지로(62)부터 디폴트 요건(47)을 대체하려는 실제 요건(47)을 포함한다는 것을 의미함을 이해한다(단계 817). 대안적으로, 미디어 시스템(48)은 디폴트 파생 메시지(62)에서의 요건(47)에 있는 복사 디폴트 필드로부터 그러한 메시지(62)가 실제로 본질적으로 디폴트이고 대응하는 실제 파생 메시지(62)를 대기하고 있음을 알 수 있다.
따라서, 미디어 시스템(48)은, 도 7의 단계 721 및 723에서처럼 대응하는 콘텐츠 키(CKx) 및 무결성 키(IKx)를 파생시킬 필요가 없지만, 그러한 미디어 시스템(48)이 디폴트 파생 메시지(62)와 관련하여 파생된 무결성 키(IKx)를 채용하여 단계 725에서처럼 실제 파생 메시지(62)의 서명을 검증하고, 디폴트 파생 메시지(62)와 관련하여 파생된 콘텐츠 키(CKx)를 채용하여 단계 727에서처럼 스트림(32)을 복호화하는 것을 계속한다(단계 819). 특히, 실제 파생 메시지(62)가 본질적으로 덜 제한적일 수 있는 실제 요건(47)을 갖는 한, 미디어 시스템(48)도 도 6의 단계 617 및 619에서처럼 그러한 실제 요건(47)에 기반하고 디폴트 요건(47)에 기반하여 대응하는 디폴트 버전 라이선스(36)를 교체하려는 실제 버전 라이선스(36)를 구성하여 라이선스 저장소(60)에 저장한다(단계 821).
스트림(32)이 디폴트 요건(47)에 기반하여 디폴트 버전 라이선스(36)에 따라 렌더링될 수 있는 시간의 양에 대해, 사용자는 복사하기 등의 성질을 갖고 있는 그러한 스트림(32)에 대해 아마 아무 것도 할 수 없을 것임을 주목하자. 그러나, 디폴트 파생 메시지(62) 후에 최대로 약 20초 내지 수분만에 대응하는 실제 파생 메시지(62)가 미디어 시스템(48)에 의해 수신되어야 하며, 그러한 시간에 실제 요건(47)에 기반한 실제 버전 라이선스(36)가 디폴트 요건(47)에 기반한 디폴트 버전 라이선스(36)를 대체하는 한, 그러한 스트림(32)이 그렇게 제한적으로 제어되는 시 간 프레임은 중요하지 않은 시점에 대해 비교적 작다.
하여튼, 실제 파생 메시지(62)를 제공할 수 있는 실제 요건(47)을 찾기 전에 미디어 시스템(48)에 대해 디폴트 파생 메시지(62)를 제공함으로써 수신기(46)는 적어도 미디어 시스템(48)이, 그러한 미디어 시스템(48)의 사용자가 바람직스럽지 못한 정도의 지연이 없이 신속하게 렌더링되는 스트림(32)을 경험할 수 있도록, 대응하는 스트림(32)을 신속하게 렌더링하게 한다. 실제 파생 메시지(62)가 결국 미디어 시스템(48)에 제공되면, 그러한 미디어 시스템은 실제 요건(47)에 기반하여 대응하는 실제 버전 라이선스(36)를 구성할 수 있고 어떤 실제적 손실도 없이 디폴트 요건(47)에 기반하여 디폴트 버전 라이선스(36)를 대체할 수 있다.
일시적 라이선스 저장소(60)
통상적 RM 아키텍처에서, 콘텐츠(32)를 이용할 수 있는 한, 하나의 콘텐츠(32)에 대응해서 생성되는 라이선스(36)도 이용할 수 있어야 한다. 그래서, 콘텐츠(32)가 예를 들어 10년 동안 존재할 것으로 기대되는 문서이면, 대응하는 라이선스(36)도 동일한 10년 동안 라이선스 저장소(60)에 존재해야 한다. 대응적으로, 콘텐츠(32)가 예를 들어 매우 짧은 시간 동안 존재할 것으로 기대되는 스트림(32) 등과 같은 임시 신호이면, 대응하는 라이선스(36)도 이상적으로는 동일하게 매우 짧은 시간 동안 라이선스 저장소(60)에 존재해야 한다.
그래서, 수신기(46)가 아마도 매초 당 한번 정도로 빨리 많은 스트림(32)들에 동조할 것으로 기대할 수 있는 도 4의 시나리오에서는, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 대응하는 라이선스(36)는 대부분이 거의 이용되 지 않으며 한번 이용되면 더 이상 다시 이용되지 않는다는 것을 이해해야 한다. 또한, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 대량의 그러한 라이선스(36)는 급속하게 거대량에 도달할 수 있다. 또한, 매우 많은 라이선스(36)들을 그러한 라이선스 저장소(60)에 저장함으로써, 비교적 장시간 동안 실제로 필요한 소량의 라이선스(36)들을 검색해서 찾는 것은 거추장스럽고 느릴 수 있다.
그래서, 본 발명의 한 실시예에서는, 미디어 시스템(48)에 의해 라이선스 저장소(60)에 저장된 라이선스(36)는 비교적 짧게 생존하는 라이선스(36)들과 비교적 길게 생존하는 라이선스(36)들에 따라 격리된다. 또한, 그러한 실시예에서, 비교적 짧게 생존하는 라이선스(36)들은 미디어 시스템(48)의 더 일시적이고 휘발성인 라이선스 저장소(60)에 저장되고, 비교적 길게 생존하는 라이선스(36)들은 미디어 시스템(48)의 더 영구적이고 비휘발성인 라이선스 저장소(60)에 저장된다. 예를 들어, 일시적인 라이선스 저장소(60)는 미디어 시스템(48)의 RAM 메모리에 배치될 수 있는 한편, 영구적인 라이선스 저장소(60)는 미디어 시스템(48)의 고정식 드라이브 메모리에 배치될 수 있지만, 본 발명의 정신 및 범위로부터 벗어남이 없이 다른 종류의 그러한 메모리가 채용될 수 있다.
본 발명의 한 실시예에서는, 사용자 등이 미디어 시스템(48)으로 하여금 나중에 재생하거나 다른 하나의 미디어 시스템(48) 등에 복사하기 위해 저장 장치(50)에 저장할 것을 지시한 길게 생존하는 스트림(32)들에 대응하는 라이선스(36)들을 영구적 라이선스 저장소(60)에 배치한다. 그래서, 생각컨대 짧게 생존하는 더 임시의 스트림(32)들일 수 있는 모든 다른 라이선스(36)들은 미디어 시스 템(48)에 의해 일시적 라이선스 저장소(60)에 배치될 것이다. 알다시피, 영구적 라이선스 저장소(60)가 비휘발성일 때, 저장소(60)에 있는 라이선스(36)들은 미디어 시스템(48)이 꺼지거나 리셋될 때마다 삭제되지 않으므로, 대응하는 길게 생존하는 스트림(32)들을 무제한적으로 렌더링하는 데 채용될 수 있다. 그러나, 더 이상 필요하지 않을 때에는 라이선스(36)들이 영구적 라이선스 저장소(60)로부터 삭제될 수 있고 삭제되어야 한다는 것을 주목하자.
그러나, 일시적 라이선스 저장소(60)가 휘발성일 때는, 저장소(60)에 있는 라이선스(36)들은 미디어 시스템(48)이 꺼지거나 리셋될 때는 언제나 삭제된다. 그러나, 그러한 삭제는 암시적인 것이고, 미디어 시스템(48)이 그러한 일시적 라이선스 저장소가 꽉 채워지거나 작동정지될 수 있는 비교적 긴 시간 동안 실행되는 경우에는 좀더 명시적인 삭제 방법도 필요할 것임을 인식해야 한다.
그래서, 본 발명의 한 실시예에서는, 그러한 미디어 시스템(48)이 그러한 라이선스(36)가 더 이상 필요 없는 것으로 간주하는 특정한 시기에는 미디어 시스템(48)이 일시적 라이선스 저장소(60)에 있는 라이선스(36)의 삭제를 명시적으로 명령한다. 그러한 특정한 시기들은 본 발명의 정신 및 범위로부터 벗어남이 없는 적절한 어떤 시기일 수 있다. 예를 들어, 수신기(46)가 미디어 시스템(48)에 의해 다른 하나의 스트림(32)에 동조하라는 명령을 받을 때 등과 같이 대응하는 스트림(32)이 더 이상 수신기(46)에 의해 동조되지 않을 때는 미디어 시스템(48)이 라이선스(36)를 삭제하라고 명령할 경우가 있을 수 있다.
그러나, 실제로 그러한 라이선스(36)를 그토록 신속하게 삭제하는 것이 시기 상조일 수도 있음을 인식해야 한다. 예를 들어, 그렇게 삭제될 라이선스(36)에 있는 정보가 여전히 필요한 것일 수도 있으며, 또는 정보에 대응하는 스트림(32)이 짧은 기간 내에 다시 동조될 수도 있다. 마찬가지로, 미디어 시스템(48)의 한 프로세스가 더 이상 라이선스(36)를 요청하지 않고 그러한 라이선스(36)의 삭제를 명령했을지라도, 다른 하나의 프로세스가 여전히 그것을 요청할 수 있는 경우가 있을 수도 있다.
따라서, 본 발명의 한 실시예에서, 도 9를 보면, 일시적 라이선스 저장소(60)로부터 라이선스(36)를 삭제하려는 미디어 시스템(48)의 어떤 프로세스는 그 것을 실제로 삭제함으로써가 아니라, 그 대신에 플래그 등과 같이 적절한 마크로 그러한 라이선스(36)를 마킹함으로써 삭제를 행한다(단계 901). 알다시피, 그러한 플래그는 그러한 사용을 위해 적절하게 설정된 라이선스(36)에서 예약된 비트에 의해 표현될 수 있고, 일시적 라이선스 저장소(60) 등에 의해 유지되는 참조표에 있는 유사한 비트일 수도 있다. 그래서, 마크된 바와 같이, 그러한 라이선스(36)는 곧바로 삭제되지 않으며 그것을 요청하는 미디어 시스템(48)의 다른 어떤 프로세스에 의해 채용될 수도 있다.
라이선스(36)가 삭제를 위해 실제로 마크된 후 나중에, 미디어 시스템의 다른 어떤 프로세스가 그러한 마크된 라이선스(36)의 사용을 요청할 수 있을 것으로 추정해서 충분히 나중에, 미디어 시스템(48)은 정리작업 프로세스 등을 작동시킴으로써 실제로 그러한 마크된 라이선스(36)를 실제로 삭제한다(단계 903). 특히, 알다시피, 미디어 시스템(48)의 그러한 정리작업 프로세스는 주기적으로 작동됨으로 써 일시적 라이선스 저장소(60)에 있는 각각의 라이선스(36)를 검사하고(단계 905), 라이선스(36)가 삭제를 위해 실제로 마크되었는지를 판단하며(단계 907), 만일 그렇다면, 그러한 마크된 라이선스(36)를 일시적 라이선스 저장소(60)로부터 실제로 삭제한다(단계 909).
본 발명에 의하면, 비교적 긴 시간 동안 요구되지 않은 라이선스(36)들은 본질적으로 휘발성인 일시적 라이선스 저장소(60)에 저장됨으로써 다른 라이선스(36)들로부터 격리된다. 또한, 일시적 라이선스 저장소(60)가 너무 많은 그러한 라이선스(36)들로 채워지는 것을 방지하기 위해, 그러한 라이선스(36)들은 더 이상 필요하지 않을 때는 삭제하도록 마크되며, 정리작업 프로세스가 그러한 마크된 라이선스(36)들을 일시적 라이선스 저장소(60)로부터 주기적으로 실제로 삭제한다.
결론
본 발명과 관련하여 수행되는 프로세스들을 실행시키기 위해 필요한 프로그래밍은 비교적 훤히 보이는 것이고 관련 프로그래밍 관계자에게는 명백하다고 해야 할 것이다. 따라서, 그러한 프로그래밍은 여기에 첨부되지 않는다. 특정한 어떤 프로그래밍이 본 발명의 정신 및 범위로부터 벗어남이 없이, 본 발명을 실행하기 위해 채용될 수도 있다.
본 발명에서, 수신기(46)가 스트림(32)에 새롭게 동조할 때마다 수신기(46)가 새로운 라이선스(36)를 실제로 완전하게 생성하는 부담을 가질 필요가 없도록 수신기(46)가 라이선스(36)를 구성하기 위해 채용되어야 할 단축 버전의 요건(47)을 생성하는 시스템 및 방법이 제공된다. 사용자가 매초 당 한번 정도로 자주 변 경을 명령하고 있을지라도, 수신기(46)가 스트림(32)에 새롭게 동조할 때마다 단축 버전의 그러한 요건(47)이 신속하게 생성되어 미디어 시스템(48)으로 보내질 수 있다. 또한, 단축 버전의 그러한 요건(47)은 간결하고, 최소량의 공간에 동조된 스트림(32)을 위한 모든 라이선스 요건들을 기술한다. 그러한 요건(47)의 포맷은 수신기(46)기가 아닌 소스들로부터 미디어 시스템(48)에 제공되는 스트림(32)들과 관련해서 채용될 수 있다.
또한 본 발명에서는, 각각의 콘텐츠 키(CK)를 갖는 실제 라이선스(36)를 생성할 필요 없이 수신기(46)와 미디어 시스템(48) 사이에 각각의 새로운 콘텐츠 키(CK)를 공유하는 시스템 및 방법이 제공된다. 수신기(46)와 미디어 시스템(48)은 초기 콘텐츠 키(CKO)를 교환하고 조정된 방식으로 초기 콘텐츠 키(CKO)에 기반하여 콘텐츠 키(CKx)를 순환시킨다.
또한, 본 발명에서는, 수신기(46)가 디폴트 세트의 요건(47)을 예비적으로 보내고, 실제로 찾아졌을 때 실제 세트의 요건(47)을 보내는 시스템 및 방법이 제공된다. 그러한 디폴트 요건(47)은 실제 요건(47)이 보내질 때까지 미디어 시스템(48)에 의해 채용되며, 미디어 시스템(48)은 그러한 디폴트 요건(47)과 그러한 대응하는 실제 요건(47)을 서로 구별할 수 있고, 실제 요건(47)의 수신시에 디폴트 요건(47)을 대응하는 실제 요건(47)으로 대체할 수 있다.
마지막으로, 본 발명에서는, 미디어 시스템(48)이 동조된 스트림(32)들에 대응하는 적어도 일부의 라이선스(36)들을 일시적으로만 저장하는 시스템 및 방법이 제공된다. 미디어 시스템(48)은 어떤 라이선스(36)들이 일시적으로만 저장될 필요 가 있는지를 알 수 있어, 미디어 시스템은 더 이상 필요 없을 때는 그러한 일시적으로 저장된 라이선스들을 삭제한다.
본 발명의 개념으로부터 벗어남이 없이 위에 기술된 실시예들에 대한 변화가 이루어질 수 있음을 인식해야 한다. 그러므로, 본 발명은 개시된 특정한 실시예들로 제한되지 않으며, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위 내에 드는 변경을 커버할 것을 의도한다는 것을 이해해야 한다.

Claims (20)

  1. 디지털 콘텐츠가 렌더링될 컴퓨팅 장치와 상기 디지털 콘텐츠의 수신기 간에 콘텐츠 키의 시퀀스를 공유하기 위한 방법으로서 - 상기 수신기는 상기 시퀀스 내의 대응하는 콘텐츠 키에 따라 각각의 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하며, 상기 컴퓨팅 장치는 상기 대응하는 콘텐츠 키에 따라 상기 암호화된 콘텐츠를 복호화함 - ;
    상기 수신기가 처음에 상기 컴퓨팅 장치에 의해 복호화할 수 있는 방법으로 초기 콘텐츠 키 (CK0)가 암호화된 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 수신기와 상기 컴퓨팅 장치 각각이 조정 방식으로 필요에 따라 상기 시퀀스 내의 상기 초기 콘텐츠 키 (CK0)로부터 상기 시퀀스 내의 새로운 콘텐츠 키 (CKx)를 얻는 단계를 포함하고,
    이에 따라, 상기 초기화 라이선스는 상기 콘텐츠 키의 시퀀스 동안 한 번만 필요하고, 상기 수신기는 각각의 콘텐츠마다 상기 컴퓨팅 장치에 대응하는 콘텐츠 키 (CKx)를 명시적으로 통신할 필요가 없는 콘텐츠 키의 시퀀스를 공유하기 위한 방법.
  2. 제1항에 있어서, 상기 수신기가 처음에 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계는
    상기 컴퓨팅 장치가 상기 수신기에 초기화 요청을 전송하는 단계 - 상기 초기화 요청은 상기 컴퓨팅 장치의 공개 키 (PU-C)를 포함하고, 상기 컴퓨팅 장치는 대응하는 개인 키 (PR-C)를 소유하고 있음 - ;
    상기 수신기가 상기 초기화 요청으로부터 상기 공개 키 (PU-C)에 따라 암호화되며 상기 수신기에 의해 결정된 상기 초기 콘텐츠 키 (CK0)를 포함하는 상기 초기화 라이선스를 구성하고 상기 컴퓨팅 장치에 전송하여 (PU-C(CK0))를 생성하는 단계;
    상기 컴퓨팅 장치가 상기 초기화 라이선스를 수신하고, 상기 초기화 라이선스로부터 (PU-C(CK0))를 검색하고, 상기 초기화 라이선스에 (PR-C)를 적용하여 (CK0)를 생성하며, 0으로 설정된 카운트와 함께 상기 (CK0)를 저장하는 단계; 및
    상기 수신기가 또한 0으로 설정된 카운트와 함께 상기 (CK0)를 저장하는 단계를 포함하는 방법.
  3. 제2항에 있어서, 상기 수신기가 처음에 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계는
    상기 수신기가 상기 초기화 요청으로부터의 상기 공개 키 (PU-C)에 따라 암호화되며 상기 수신기에 의해 결정된 초기 무결성 키 (IK0)와 상기 콘텐츠 키 (CK0)를 포함하는 상기 초기화 라이선스를 구성하여 상기 컴퓨팅 장치에 전송하는 단계 - 상기 초기화 라이선스는 상기 초기 무결성 키 (IK0)에 기초한 서명 요소를 더 포함함 - ;
    상기 컴퓨팅 장치가 상기 초기화 라이선스를 수신하고, 상기 초기화 라이선스로부터 (PU-C(CK0, IK0))를 검색하고, 상기 초기화 라이선스에 (PR-C)를 적용하여 (CK0) 및 (IKO)를 생성하고, 상기 (CK0) 및 (IK0)를 0으로 설정된 카운트와 함께 저장하며, 상기 초기 무결성 키 (IK0)를 채용하여 상기 초기화 라이선스의 상기 서명 요소를 검증하는 단계; 및
    상기 수신기가 또한 0으로 설정된 카운트와 함께 상기 (CK0) 및 (IK0)를 저장하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 상기 초기 콘텐츠 키 (CK(0))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 방법.
  5. 제4항에 있어서, 상기 수신기가 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻는 단계를 포함하는 방법.
  6. 제4항에 있어서, 상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계를 더 포함하고,
    상기 얻은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명을 포함하는 방법.
  7. 제4항에 있어서, 상기 컴퓨팅 장치가 상기 수신기에 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 상기 초기 콘텐츠 키 (CK(0)) 및 초기 무결성 키 (IK(0))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻고, (IK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (IKx)를 생성함으로써 상기 초기 무결성 키 (IK(0))로부터 무결성 키 (IKx)를 얻는 단계;
    상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계 - 상기 얻은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명 요소를 포함함 - ;
    상기 컴퓨팅 장치가 상기 얻은 메시지를 수신하고 상기 초기 무결성 키 (IKx)를 채용하여 상기 얻은 메시지의 상기 서명 요소를 검증하는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 방법.
  8. 제7항에 있어서, 상기 수신기가 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻고, (IK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (IKx)를 생성함으로써 상기 초기 무결성 키 (IK(0))로부터 무결성 키 (IKx)를 얻는 단계를 포함하는 방법.
  9. 제1항에 있어서, 상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 카운트 (x-1)과 이전 콘텐츠 키 (CK(x-1))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 이전 콘텐츠 키 (CK(x-1))로부터 콘텐츠 키를 얻고, 상기 카운트 x 및 (CKx)를 저장하는 단계;
    상기 수신기가 (CKx)에 따라 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 카운트 (x-1), 이전 콘텐츠 키 (CK(x-1)) 및 이전 무결성 키 (IK(x-1))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 이전 콘텐츠 키 (CK(x-1))로부터 콘텐츠 키 (CKx)를 얻고, (IK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (IKx)를 생성함으로써 상기 이전 무결성 키 (IK(x-1))로부터 무결성 키(IKx)를 얻고, 상기 카운트 x, (CKx) 및 (IKx)를 저장하는 단계;
    상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계 - 상기 얻은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명 요소를 포함함 - ;
    상기 컴퓨팅 장치가 상기 얻은 메시지를 수신하고 상기 초기 무결성 키 (IKx)를 채용하여 상기 얻은 메시지의 상기 서명 요소를 검증하는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계 를 포함하는 방법.
  11. 디지털 콘텐츠가 렌더링될 컴퓨팅 장치와 상기 디지털 콘텐츠의 수신기 간에 콘텐츠 키의 시퀀스를 공유하기 위한 방법을 구현하는 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 매체로서 - 상기 수신기는 상기 시퀀스 내의 대응하는 콘텐츠 키에 따라 각각의 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전달하고, 상기 컴퓨팅 장치는 상기 대응하는 콘텐츠 키에 따라 상기 암호화된 콘텐츠를 복호화함 - , 상기 방법은,
    상기 수신기가 처음에 상기 컴퓨팅 장치에 의해 복호화할 수 있는 방법으로 초기 콘텐츠 키 (CK0)가 암호화된 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 수신기와 상기 컴퓨팅 장치 각각이 조정 방식으로 필요에 따라 상기 시퀀스 내의 상기 초기 콘텐츠 키 (CK(0))로부터 상기 시퀀스 내의 새로운 콘텐츠 키 (CKx)를 얻는 단계를 포함하고,
    이에 따라, 상기 초기화 라이선스는 상기 콘텐츠 키의 시퀀스 동안 한 번만 필요하고, 상기 수신기는 각각의 콘텐츠마다 상기 컴퓨팅 장치에 콘텐츠 키 (CKx)를 명시적으로 통신할 필요가 없는 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 수신기가 처음에 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계는
    상기 컴퓨팅 장치가 상기 수신기에 초기화 요청을 전송하는 단계 - 상기 초기화 요청은 상기 컴퓨팅 장치의 공개 키 (PU-C)를 포함하고, 상기 컴퓨팅 장치는 대응하는 개인 키 (PR-C)를 소유하고 있음 - ;
    상기 수신기가 상기 초기화 요청으로부터 상기 공개 키 (PU-C)에 따라 암호화되며 상기 수신기에 의해 결정된 상기 초기 콘텐츠 키 (CK0)를 포함하는 상기 초기화 라이선스를 구성하고 상기 컴퓨팅 장치에 전송하여 (PU-C(CK0))를 생성하는 단계;
    상기 컴퓨팅 장치가 상기 초기화 라이선스를 수신하고, 상기 초기화 라이선스로부터 (PU-C(CK0))를 검색하고, 상기 초기화 라이선스에 (PR-C)를 적용하여 (CK0)를 생성하며, 0으로 설정된 카운트와 함께 상기 (CK0)를 저장하는 단계; 및
    상기 수신기가 또한 0으로 설정된 카운트와 함께 상기 (CK0)를 저장하는 단계를 포함하는 컴퓨터 판독가능 매체.
  13. 제12항에 있어서, 상기 수신기가 처음에 초기화 디지털 라이선스를 상기 컴퓨팅 장치에 전송하는 단계는
    상기 수신기가 상기 초기화 요청으로부터의 상기 공개 키 (PU-C)에 따라 암호화되며 상기 수신기에 의해 결정된 초기 무결성 키 (IK0)와 상기 콘텐츠 키 (CK0)를 포함하는 상기 초기화 라이선스를 구성하여 상기 컴퓨팅 장치에 전송하는 단계 - 상기 초기화 라이선스는 상기 초기 무결성 키 (IK0)에 기초한 서명 요소를 더 포함함 - ;
    상기 컴퓨팅 장치가 상기 초기화 라이선스를 수신하고, 상기 초기화 라이선스로부터 (PU-C(CK0, IK0))를 검색하고, 상기 초기화 라이선스에 (PR-C)를 적용하여 (CK0) 및 (IKO)를 생성하고, 상기 (CK0) 및 (IK0)를 0으로 설정된 카운트와 함께 저장하며, 상기 초기 무결성 키 (IK0)를 채용하여 상기 초기화 라이선스의 상기 서명 요소를 검증하는 단계; 및
    상기 수신기가 또한 0으로 설정된 카운트와 함께 상기 (CK0) 및 (IK0)를 저장하는 단계를 포함하는 컴퓨터 판독가능 매체.
  14. 제11항에 있어서, 상기 방법은,
    상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 상기 초기 콘텐츠 키 (CK(0))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 컴퓨터 판독가능 매체.
  15. 제14항에 있어서, 상기 방법은,
    상기 수신기가 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻는 단계를 포함하는 컴퓨터 판독가능 매체.
  16. 제14항에 있어서, 상기 방법은,
    상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계를 더 포함하고,
    상기 얻은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명을 포함하는 컴퓨터 판독가능 매체.
  17. 제14항에 있어서, 상기 방법은,
    상기 컴퓨팅 장치가 상기 수신기에 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 상기 초기 콘텐츠 키 (CK(0)) 및 초기 무결성 키 (IK(0))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻고, (IK(0)) 및 상기 카운트 x를 소정의 함수에 적용하여 (IKx)를 생성함으로써 상기 초기 무결성 키 (IK(0))로부터 무결성 키 (IKx)를 얻는 단계;
    상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계 - 상기 얻은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명 요소를 포함함 - ;
    상기 컴퓨팅 장치가 상기 얻은 메시지를 수신하고 상기 초기 무결성 키 (IKx)를 채용하여 상기 얻은 메시지의 상기 서명 요소를 검증하는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 컴퓨터 판독가능 매체.
  18. 제17항에 있어서, 상기 방법은,
    상기 수신기가 카운트를 x로 증가시키고, (CK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (CKx)를 생성함으로써 상기 초기 콘텐츠 키 (CK(0))로부터 콘텐츠 키 (CKx)를 얻고, (IK(0)) 및 상기 카운트 x를 단방향 해시 함수에 적용하여 (IKx)를 생성함으로써 상기 초기 무결성 키 (IK(0))로부터 무결성 키 (IKx)를 얻는 단계를 포함하는 컴퓨터 판독가능 매체.
  19. 제11항에 있어서, 상기 방법은,
    상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 카운트 (x-1)과 이전 콘텐츠 키 (CK(x-1))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 이전 콘텐츠 키 (CK(x-1))로부터 콘텐츠 키를 얻고, 상기 카운트 x 및 (CKx)를 저장하는 단계;
    상기 수신기가 (CKx)에 따라 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서, 상기 방법은,
    상기 컴퓨팅 장치가 상기 수신기에게 콘텐츠를 상기 컴퓨팅 장치에 전송할 것을 명령하는 단계;
    상기 수신기와 상기 컴퓨팅 장치 각각이 카운트 (x-1), 이전 콘텐츠 키 (CK(x-1)) 및 이전 무결성 키 (IK(x-1))를 검색하고, 상기 카운트를 x로 증가시키고, (CK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (CKx)를 생성함으로써 상기 이전 콘텐츠 키 (CK(x-1))로부터 콘텐츠 키 (CKx)를 얻고, (IK(x-1)) 및 상기 카운트 x를 소정의 함수에 적용하여 (IKx)를 생성함으로써 상기 이전 무결성 키 (IK(x-1))로부터 무결성 키(IKx)를 얻고, 상기 카운트 x, (CKx) 및 (IKx)를 저장하는 단계;
    상기 수신기가 얻은 메시지를 상기 컴퓨팅 장치에 전송하는 단계 - 상기 얻 은 메시지는 상기 카운트 x, 및 상기 무결성 키 (IKx)에 기초한 서명 요소를 포함함 - ;
    상기 컴퓨팅 장치가 상기 얻은 메시지를 수신하고 상기 초기 무결성 키 (IKx)를 채용하여 상기 얻은 메시지의 상기 서명 요소를 검증하는 단계;
    상기 수신기가 (CKx)에 따라 상기 콘텐츠를 암호화하고, 상기 암호화된 콘텐츠를 상기 컴퓨팅 장치에 전송하는 단계; 및
    상기 컴퓨팅 장치가 (CKx)에 따라 상기 암호화된 콘텐츠를 복호화하는 단계를 포함하는 컴퓨터 판독가능 매체.
KR1020077024111A 2005-04-22 2006-03-16 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체 KR20070122499A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/112,325 2005-04-22
US11/112,325 US7693280B2 (en) 2005-04-22 2005-04-22 Rights management system for streamed multimedia content

Publications (1)

Publication Number Publication Date
KR20070122499A true KR20070122499A (ko) 2007-12-31

Family

ID=37186906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077024111A KR20070122499A (ko) 2005-04-22 2006-03-16 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체

Country Status (9)

Country Link
US (1) US7693280B2 (ko)
EP (1) EP1872506B1 (ko)
JP (1) JP2008538676A (ko)
KR (1) KR20070122499A (ko)
CN (1) CN101268651B (ko)
AU (1) AU2006240484A1 (ko)
CA (1) CA2600444A1 (ko)
NO (1) NO20074585L (ko)
WO (1) WO2006115620A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739702B1 (ko) * 2005-02-07 2007-07-13 삼성전자주식회사 브로드캐스트 채널을 위한 사용 규칙 정보 생성 방법
US9507919B2 (en) * 2005-04-22 2016-11-29 Microsoft Technology Licensing, Llc Rights management system for streamed multimedia content
US7684566B2 (en) * 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
EP1750389B1 (en) * 2005-08-05 2007-09-26 Sap Ag System and method for updating keys used for public key cryptography
US8321690B2 (en) * 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US20100142921A1 (en) * 2008-12-08 2010-06-10 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving digital broadcasting
JP2010239212A (ja) * 2009-03-30 2010-10-21 Toshiba Corp 通信装置
CN102130891B (zh) * 2010-01-18 2015-09-16 中兴通讯股份有限公司 一种基于tcp的密钥协调方法和系统
TWI451279B (zh) * 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
US8417966B1 (en) 2010-05-28 2013-04-09 Adobe Systems Incorporated System and method for measuring and reporting consumption of rights-protected media content
US9225520B2 (en) * 2010-05-28 2015-12-29 Adobe Systems Incorporated System and method for deterministic generation of a common content encryption key on distinct encryption units
US8789196B2 (en) 2010-05-28 2014-07-22 Adobe Systems Incorporated System and method for providing content protection of linearly consumed content with a bidirectional protocol for license acquisition
JP2012160004A (ja) * 2011-01-31 2012-08-23 Sony Computer Entertainment Inc 識別子付きコンテンツの提供方法およびid管理装置
US9614678B2 (en) * 2011-06-10 2017-04-04 Dell Products, Lp System and method for extracting device uniqueness to assign a license to the device
CN107911384B (zh) * 2014-05-29 2018-09-25 深圳市正骏科技有限公司 一种基于数字证书的小区管理系统及其方法
US9800561B2 (en) * 2014-11-06 2017-10-24 Intel Corporation Secure sharing of user annotated subscription media with trusted devices

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3718906A (en) 1971-06-01 1973-02-27 R Lightner Vending system for remotely accessible stored information
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
FR2448825A1 (fr) 1979-02-06 1980-09-05 Telediffusion Fse Systeme de transmission d'information entre un centre d'emission et des postes recepteurs, ce systeme etant muni d'un moyen de controle de l'acces a l'information transmise
FR2523745B1 (fr) 1982-03-18 1987-06-26 Bull Sa Procede et dispositif de protection d'un logiciel livre par un fournisseur a un utilisateur
US4528643A (en) 1983-01-10 1985-07-09 Fpdc, Inc. System for reproducing information in material objects at a point of sale location
US4658093A (en) 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US5103392A (en) 1983-10-05 1992-04-07 Fujitsu Limited System for storing history of use of programs including user credit data and having access by the proprietor
US5050213A (en) 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4977594A (en) 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4827508A (en) 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US5109413A (en) 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US5117457A (en) 1986-11-05 1992-05-26 International Business Machines Corp. Tamper resistant packaging for information protection in electronic circuitry
US4916738A (en) 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US4926479A (en) 1988-04-29 1990-05-15 Massachusetts Institute Of Technology Multiprover interactive verification system
US4953209A (en) 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5103476A (en) 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
US5940504A (en) 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
US5261002A (en) 1992-03-13 1993-11-09 Digital Equipment Corporation Method of issuance and revocation of certificates of authenticity used in public key networks and other systems
US5193573A (en) 1992-06-15 1993-03-16 Chronister Clyde H Ball valve having replaceable seals under full service pressure
AU678985B2 (en) 1992-09-21 1997-06-19 Uniloc Corporation Pty Limited System for software registration
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5509070A (en) 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5634012A (en) 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
SE504085C2 (sv) 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
CN101303717B (zh) 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5809144A (en) 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
US5710887A (en) 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US5765152A (en) 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
AU3205797A (en) 1996-05-15 1997-12-05 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic rights management in closed and connected appliances
US6125352A (en) 1996-06-28 2000-09-26 Microsoft Corporation System and method for conducting commerce over a distributed network
CN1953417B (zh) 1996-09-04 2010-12-29 英特托拉斯技术公司 一种从用户站点向外部站点发布使用数据的方法
US5953420A (en) 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
CA2271012A1 (en) 1996-11-25 1998-06-04 Hyperlock Technologies, Inc. Method for securely triggering the playing of crippled local media through the web
US6523119B2 (en) 1996-12-04 2003-02-18 Rainbow Technologies, Inc. Software protection device and method
US6073124A (en) 1997-01-29 2000-06-06 Shopnow.Com Inc. Method and system for securely incorporating electronic information into an online purchasing application
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6233567B1 (en) 1997-08-29 2001-05-15 Intel Corporation Method and apparatus for software licensing electronically distributed programs
US6681017B1 (en) 1997-09-03 2004-01-20 Lucent Technologies Inc. Simplified secure shared key establishment and data delivery protocols for electronic commerce
US6289452B1 (en) 1997-11-07 2001-09-11 Cybersource Corporation Method and system for delivering digital products electronically
US6078909A (en) 1997-11-19 2000-06-20 International Business Machines Corporation Method and apparatus for licensing computer programs using a DSA signature
US6094487A (en) 1998-03-04 2000-07-25 At&T Corporation Apparatus and method for encryption key generation
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6219652B1 (en) 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6299889B1 (en) 1998-09-10 2001-10-09 Avon Products, Inc. Stable ascorbic acid preparation for topical use
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US7194092B1 (en) 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
JP3644579B2 (ja) * 1998-10-29 2005-04-27 富士通株式会社 セキュリティ強化方法及び装置
US6343280B2 (en) 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
AU2515800A (en) 1999-01-26 2000-08-07 Infolio, Inc. Universal mobile id system and method for digital rights management
GB2346989A (en) 1999-02-19 2000-08-23 Ibm Software licence management system uses clustered licence servers
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7073063B2 (en) 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
DE19919909C2 (de) * 1999-04-30 2001-07-19 Wincor Nixdorf Gmbh & Co Kg Signierung und Signaturprüfung von Nachrichten
US7149308B1 (en) * 2000-11-13 2006-12-12 Stealthkey, Inc. Cryptographic communications using in situ generated cryptographic keys for conditional access
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
US7395438B2 (en) * 2002-04-16 2008-07-01 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
US7549060B2 (en) 2002-06-28 2009-06-16 Microsoft Corporation Using a rights template to obtain a signed rights label (SRL) for digital content in a digital rights management system
US7336784B2 (en) * 2002-12-20 2008-02-26 Brite Smart Corporation Multimedia decoder method and system with authentication and enhanced digital rights management (DRM) where each received signal is unique and where the missing signal is cached inside the storage memory of each receiver
US7493291B2 (en) 2003-02-06 2009-02-17 Nokia Corporation System and method for locally sharing subscription of multimedia content
JP2004328706A (ja) * 2003-03-05 2004-11-18 Toshiba Corp 送信装置、受信装置、送信制御プログラム及び受信制御プログラム
SE0400238D0 (sv) * 2003-09-12 2004-02-04 Secured Email Ab Message security

Also Published As

Publication number Publication date
WO2006115620A3 (en) 2008-01-10
CN101268651B (zh) 2011-12-21
EP1872506A4 (en) 2015-07-01
NO20074585L (no) 2007-11-19
WO2006115620A2 (en) 2006-11-02
CA2600444A1 (en) 2006-11-02
AU2006240484A1 (en) 2006-11-02
US20060239451A1 (en) 2006-10-26
EP1872506B1 (en) 2019-07-31
US7693280B2 (en) 2010-04-06
JP2008538676A (ja) 2008-10-30
EP1872506A2 (en) 2008-01-02
CN101268651A (zh) 2008-09-17

Similar Documents

Publication Publication Date Title
KR101247026B1 (ko) 디지털 라이선스 요건의 전달 방법 및 그 컴퓨터 판독가능매체
US8290874B2 (en) Rights management system for streamed multimedia content
US7693280B2 (en) Rights management system for streamed multimedia content
US7684566B2 (en) Encryption scheme for streamed multimedia content protected by rights management system
CA2428953C (en) Secure media path methods, systems, and architecture
US7574747B2 (en) Proximity detection employed in connection with rights management system or the like
KR100513297B1 (ko) 인트라넷에서의 멀티미디어 컨텐츠 관리 시스템 및 방법
JP4912406B2 (ja) 第1プラットフォームから第2プラットフォームへのディジタルライセンスの移送
KR101219839B1 (ko) 콘텐츠 저작권 관리 시스템에서의 유연한 라이센싱아키텍처
KR20080007328A (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