KR20080069167A - 신뢰 시간을 이용한 디지털 권리 관리 - Google Patents

신뢰 시간을 이용한 디지털 권리 관리 Download PDF

Info

Publication number
KR20080069167A
KR20080069167A KR1020087007678A KR20087007678A KR20080069167A KR 20080069167 A KR20080069167 A KR 20080069167A KR 1020087007678 A KR1020087007678 A KR 1020087007678A KR 20087007678 A KR20087007678 A KR 20087007678A KR 20080069167 A KR20080069167 A KR 20080069167A
Authority
KR
South Korea
Prior art keywords
time
value
time value
client
counter
Prior art date
Application number
KR1020087007678A
Other languages
English (en)
Inventor
마크 이. 스트로위그
요지 가와모또
모또히꼬 나가노
피에르 채배니
노리후미 고또
오스카 에이치. 3세 스틸
에릭 존 스웬슨
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 KR20080069167A publication Critical patent/KR20080069167A/ko

Links

Images

Classifications

    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S705/00Data processing: financial, business practice, management, or cost/price determination
    • Y10S705/901Digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

보호 콘텐츠의 사용이 제어될 수 있도록 시간을 모니터링하는 방법은, 클라이언트 장치 외부의 신뢰성 기관으로부터 신뢰 시간값을 수신하는 단계를 포함한다. 클라이언트가 신뢰성 기관과 더 이상 통신하지 않을 경우에는, 이전에 수신된 신뢰 시간값은, 콘텐츠 라이센스 평가를 위해 연산 신뢰 시간값이 유도되도록, 클라이언트의 운영 시스템 카운터의 사용에 의해 갱신된다.
콘텐츠, 신뢰성 기관, 라이센스, 신뢰 시간

Description

신뢰 시간을 이용한 디지털 권리 관리{DIGITAL RIGHTS MANAGEMENT USING TRUSTED TIME}
본 발명은 콘텐츠의 보호를 위한 디지털 권리 관리에 관한 것이다. 보다 구체적으로, 본 발명은 신뢰성 기관(trusted authorities)으로부터 수신된 신뢰 시간을 이용한 디지털 권리 관리에 관한 것이다.
디지털 비디오 콘텐츠, 오디오 콘텐츠, 및 컴퓨터 어플리케이션 등의 공급자는 이들 아이템들을 종종 인터넷을 통해 아니면 효과적인 보호 없이 전달하는 것을 꺼린다. 공급자가 인터넷을 통해 콘텐츠를 공급하는 기술이 존재하지만, 디지털 콘텐츠는 본질적으로 소유자의 인증이 있든 없든 복제되기 쉽다. 인터넷은 소유자로부터의 콘텐츠의 전달을 허용하지만, 그 기술은 비인증된 복제 콘텐츠의 폭넓은 배포를 허용할 수도 있다.
DRM(Digital Right Management)는 파일 분배를 보호하는 수단으로서 최근에 이용이 증가한 디지털 콘텐츠 보호 모델이다. 통상적으로, DRM은 디지털 매체, 컴퓨터 어플리케이션 또는 다른 데이터(본 명세서에서는 모두 "콘텐츠"로 지칭됨)를 보호하고 콘텐츠 소유자에 수입을 제공하는 기술 및 비지니스 모델의 복합 세트를 포함한다.
많이 알려져 있는 DRM 시스템은, 콘텐츠 소유자에 의해 공급되는 비암호화 콘텐츠(unencrypted content)의 수집(collection)을 포함하는, 컴퓨터용 하드 디스크 드라이브와 같은, 저장 장치를 사용한다. 저장 장치 내의 콘텐츠는 방화벽 뒤의 신뢰 영역(trusted area) 내에 상주한다. 신뢰 영역 내에서, 저장 장치 내에 상주하는 콘텐츠는 암호화될 수 있다. 콘텐츠 서버는 암호화된 콘텐츠를 저장 장치로부터 수신하고, 분배를 위해 암호화된 콘텐츠를 패키지(package)화한다. 라이센스 서버는 암호화된 콘텐츠뿐만 아니라, 암호 키와 연관된 권리 및 사용 규칙의 설명서(description)를 보유한다. (콘텐츠 서버와 라이센스 서버는 때때로 콘텐츠 공급자(가령, 스튜디오)에 의해 또는 서비스 공급자에 의해 소유 또는 제어되는 콘텐츠 공급자 시스템의 일부이다.) 재생 장치 또는 클라이언트는 표시 및 다른 용도를 위해 콘텐츠 서버로부터 암호화된 콘텐츠를 수신하고, 라이센스 서버로부터 액세스 권리(acces right)를 특정하는 라이센스를 수신한다.
일부 DRM 처리는, 콘텐츠의 아이템을 요구하는 단계, 콘텐츠 키로 아이템을 암호화하는 단계, 콘텐츠 키를 콘텐츠 디지털 라이센스에 저장하는 단계, 암호화된 콘텐츠를 재생 장치에 분배하는 단계, 콘텐츠 키를 포함하는 디지털 라이센스 파일을 재생 장치에 전달하는 단계, 및 디지털 라이센스에서 특정되는 사용 규칙하에서 콘텐츠 파일을 암호해제하고 이를 재생하는 단계로 이루어진다.
일부 디지털 라이센스는, 예를 들어, 라이센스의 만료일, 또는 콘텐츠의 최초 사용 이후에 콘텐츠가 클라이언트 장치에 의해 계속하여 사용될 수 있는 시간의 길이를 제어하는 시간 기반 규칙(time-based rules)을 포함한다. 그러한 규칙을 검사하기 위해, 클라이언트 또는 다른 장치는 클럭(clock)을 사용해야 한다. 그러나, 클라이언트 시스템 클럭은 빈번히 변조되기 쉬워서, 일부 환경에서 시간 기반 규칙을 방해할 수 있다. 따라서, 시간적 요건(temporal requirements)을 갖는 라이센스에 의해 통제되는 보호 콘텐츠(protected contens)의 전송을 달성하는 개선된 보호 방법 및 시스템이 요구된다.
본 발명의 실시예들은 보호 콘텐츠의 사용이 제어될 수 있도록, 시간을 모니터링하는 방법 및 시스템을 포함한다. 본 발명의 실시예에서는, 사용자에 의해 쉽게 변조(tampering)될 수 있는 클라이언트의 시스템 클럭에 의존하지 않고, 클라이언트 장치 외부의 신뢰성 기관으로부터 수신되는 정확한 "신뢰(trusted)" 시간값을 이용한다. 클라이언트가 신뢰성 기관과 더 이상 통신하지 않을 경우에는, 이전에 수신된 신뢰 시간값이 클라이언트의 오퍼레이팅 시스템 카운터(operating system counter)의 사용에 의해 업데이트(update)되어, 업데이트된 신뢰 시간값이 콘텐츠 라이센스 평가 목적을 위해 유도된다.
일 양태에서, 제1 시간값은, 신뢰성 기관이 네트워크를 통해 클라이언트와 통신하고 있는 동안, 클라이언트 외부의 신뢰성 기간으로부터 취득된다. 제1 시간값은 안전하게 저장된다. 제1 시간값에 대응하는 시점에 대응하는 제1 카운터값도 안전하게 저장된다. 클라이언트가 신뢰성 기관과 통신하고 있지 않은 경우에는, 시간 오프셋값이 제1 시간값과 조합되어, 연산 시간값을 취득한다. 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차의 함수이다. 시간적 규칙을 갖는 콘텐츠 라이센스는 연산된 시간값에 따라 평가된다.
다른 양태에서, 최소 카운터값 및 최대 카운터값 사이에 복수의 카운터값을 제공하도록 적응된 카운터에 의해, 제1 및 제2 카운터값이 생성된다. 이 카운터는 최대 카운터값에 이어서 최소 카운터값을 생성하도록 "롤 오버(roll over)"된다. 시간 오프셋값은, 제1 카운터값이 제2 카운터값보다 적을 경우, 제2 카운터값 마이너스 제1 카운터값의 함수이다. 한편, 제1 카운터값이 제2 카운터값보다 큰 경우에는, 시간 오프셋값은 제2 카운터값 플러스 최대 카운터값 마이너스 제1 카운터값의 함수이다.
다른 실시예에서, 콘텐츠가 클라이언트에 의해 첫 번째로 사용되는 시점에 대응하는 제1 연산 시간값이 연산된다. 제1 연산 시간값은, 제1 통신 세션 동안 클라이언트 외부의 신뢰성 기관으로부터 클라이언트에 의해 수신되는 제1 신뢰 시간값의 함수이다.
제2 신뢰 시간값과 제2 연산 시간값 간의 차에 대응하는 제1 시간 오프셋값이 연산된다. 제2 신뢰 시간값은 제2 통신 세션 동안 신뢰성 기관으로부터 클라이언트에 의해 수신된다. 제2 연산 시간값은, 제2 신뢰 시간값이 클라이언트에 의해 수신되는 시점에 대응하며, 제1 신뢰 시간값의 함수이다.
제3 연산 시간값과 수정된(revised) 제1 연산 시간값 간의 차에 대응하는 경과 시간값(elapsed time value)이 연산된다. 제3 연산된 시간값은, 클라이언트가 콘텐츠의 두 번째 사용을 시도한 시점에 대응하며, 제2 신뢰 시간값의 함수이다. 수정된 제1 연산 시간값은, 제1 연산 시간값과 제1 시간 오프셋값의 조합에 대응한다. 시간적 규칙을 갖는 콘텐츠 라이센스는 경과 시간값에 따라 평가된다.
본 발명에 대한 부가적인 양태가 존재한다. 그러므로, 전술한 내용은 본 발명의 일부 실시예 및 양태의 간략한 예에 지나지 않음이 이해될 것이다. 본 발명의 부가적인 실시예 및 양태는 이하에서 참조될 수 있다. 또한, 본 발명의 사상 및 범주를 벗어남이 없이, 개시된 실시예에 대한 다수의 변경이 이루어질 수 있음이 이해될 것이다. 따라서, 전술한 요약은 본 발명을 제한하고자 의도된 것이 아니다. 오히려, 본 발명의 범주는 첨부된 특허청구범위 및 그 균등물에 의해 결정된다.
본 발명의 실시예에 대한 상기 및/또는 다른 양태와 이점은, 첨부 도면과 함께, 후속하는 상세한 설명으로부터 명백해지며, 더 쉽게 이해될 것이다.
도 1은 본 발명의 특징이 적용되는 콘텐츠 공급 시스템의 예시적 구성의 개략적 블럭도이다.
도 2는 도 1의 클라이언트 자치의 개략적 블럭도이다.
도 3은 본 발명의 일 실시예에 따르면, 시간을 모니터링하는 처리의 개략적 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른, 클라이언트 장치에서 동기화된 신뢰 시간의 상태가 다른 클라이언트 장치에 송신될 수 있는 처리의 개략적 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른, 시간을 모니터링하는 다른 처리의 개략적 흐름도이다.
도 6a 및 도 6b는 본 발명의 다른 실시예에 따른, 시간을 모니터링하는 또 다른 처리의 개략적 흐름도이다.
도 7a 및 도 7b는 본 발명의 다른 실시예에 따른, 시간을 모니터링하는 다른 처리의 개략적 흐름도이다.
전반적으로 동일 참조 번호가 동일 엘리먼트를 나타내는 첨부 도면에 예로서 도시된 본 발명의 실시예에 대한 상세 내용이 지금부터 상세히 이루어질 것이다. 다른 실시예가 이용될 수 있으며, 본 발명의 범주로부터 벗어남이 없이 구조 및 동작의 변화가 이루어질 수 있다.
본 발명의 예는, 보호 콘텐츠의 사용이 제어될 수 있도록, 시간을 모니터링하는 방법 및 시스템은 포함한다. 클라이언트 장치는, 사용자에 의해 변조되기 쉬운 클라이언트의 시스템 클록에 의존하기보다는, 클라이언트 외부의 신뢰성 기관으로부터 신뢰 시간값을 수신한다. 클라이언트가 신뢰성 기관과 더 이상 통신하고 있지 않은 경우에는, 이전에 수신된 신뢰 시간값이 클라이언트 오퍼레이팅 시스템 카운터의 사용에 의해 업데이트되어, 업데이트된 연산 신뢰 시간값(calculated trusted time value)이 콘텐츠 라이센스 평가 목적을 위해 유도된다.
본 발명의 일 실시예에 따르면, 클라이언트는 신뢰성 기관으로부터 수신된 신뢰 시간값을 하나 이상의 변조-방지(tamper-resistant) 보안 스토어(secure store) 내에 안전하게 저장한다. 또한, 신뢰 시간값과 연관된 시점에 대응하는 시스템 카운터값이 안전하게 저장된다. 클라이언트가 신뢰성 기관과 더 이상 통신하 고 있지 않는 경우에는, 제1 오프셋값(현재 시스템 카운터값과 저장된 시스템 카운터값간의 차의 함수임)과 저장된 신뢰 시간값을 조합함으로써, 업데이트된 연산 신뢰 시간값이 생성된다. 그런 다음, 연산 신뢰 시간값이 라이센스 평가를 위해 사용된다. 이 연산 신뢰 시간값은 클라이언트가 신뢰성 기관과 더 이상 통신하고 있지 않은 시점에서 생성될 수 있지만, 그럼에도 불구하고 이 시간값은 사용자 변조를 방지하고 콘텐츠 라이센스 평가에 적절한 업데이트 포인트를 나타낸다.
도 1을 참조하면, 본 발명의 실시예가 적용될 수 있는 콘텐츠 공급 시스템(100)의 예시적 구성이 도시되어 있다. 콘텐츠 공급 시스템(100)은 비디오 데이터, 오디오 데이터, 이미지 데이터, 텍스트 데이터, 컴퓨터 어플리케이션 등을 포함할 수 있는 보호 콘텐츠를 취급한다. 라이센스 서버(102), 콘텐츠 서버(104) 및 계정 서버(accounting server)(106)는, 가령, 인터넷인 네트워크(120)를 통해 각각 클라이언트(108)에 접속되고, 자신들끼리도 접속된다. 이 예에서는, 하나의 클라이언트(108)만이 도시되지만, 당업자는 임의의 수의 클라이언트가 네트워크(120)에 접속될 수 있음을 이해할 것이다.
콘텐츠 서버(104)는 클라이언트(108)에 콘텐츠를 공급한다. 라이센스 서버(102)는 클라이언트(108)에 의한 콘텐츠의 사용에 필요한 라이센스(122)를 허용한다. 계정 서버(106)는, 라이센스(122)가 허용되는 경우, 클라이언트(108)에 과금하기 위해 사용된다. 도시된 실시예에서는 클라이언트(108)와 통신 중인 3개의 서버만을 도시하고 있지만, 이 서버 기능의 전부는 여기에 도시된, 3개보다 적은 수의 서버 또는 3개보다 많은 수의 서버에 포함될 수 있다.
도 2는 클라이언트(108)의 예시적 구성을 나타낸다. 도 2를 참조하면, CPU(Central Process Unit)(130)는 ROM(Read Only Memory)(132)에 저장되는 프로그램 또는 저장 유닛(134)로부터 RAM(136)에 로드(load)되는 프로그램에 의해 지시되는 다양한 처리 동작을 실행한다. 또한, RAM(136)은, CPU(130)가 필요한 다양한 처리 동작을 실행하는데 필요한 데이터 등을 저장할 수도 있다.
CPU(130), ROM(132) 및 RAM(136)은 버스(138)를 통해 상호접속된다. 또한, 버스(138)는, 가령 키보드 및 마우스로 이루어진 입력 장치(140), 가령 CRT 또는 LCD 및 스피커에 기초한 디스플레이 유닛으로 이루어진 출력 장치(142), 가령 하드 디스크 드라이브에 기초한 저장 유닛(130), 및 가령 모뎀, NIC(Network Interface Card) 또는 다른 터미널 어댑터에 기초한 통신 장치(144)를 더 접속시킨다.
ROM(132), RAM(136) 및/또는 저장 유닛(134)은 클라이언트(108)의 동작을 가능하게 하는데 상용되는 동작 소프트웨어를 저장한다. 버퍼(146)는 암호화된 콘텐츠를 암호해제하는데 필요한 연관 암호해제 키(미도시)를 이용하여, 네트워크(120)를 통해 콘텐츠 서버(104)로부터 암호화 콘텐츠를 스트리밍하는 순차적 부분들 수신하고 버퍼링한다. 암호화된 콘텐츠 및 연관 암호해제 키는 디코더(148)에 송신된다. 디코더(148)는 콘텐츠와 연관된 암호해제 키를 이용하여, 콘텐츠를 암호해제 및 디코드한다.
통신 장치(144)는 네트워크(120)를 통해 통신 처리를 실행하고, CPU(130)로부터 공급된 데이터를 송신하며, 네트워크(120)로부터 수신된 데이터를 CPU(130), RAM(136) 및 저장 유닛(134)에 출력한다. 저장 유닛(134)은 CPU(130)에 정보를 송 신하여 정보를 저장 및 삭제한다. 또한, 통신 장치는 다른 클라이언트에 아날로그 신호 또는 디지털 신호를 통신한다.
또한, 버스(138)는, 필요에 따라, 가령, 마그네틱 디스크, 광 디스크, 광 자기 디스크 또는 반도체 메모리가, 저장 유닛(134)에 설치되는 이들 기록 매체 중 어느 하나로부터 판독되는 컴퓨터 프로그램 또는 다른 데이터를 위해 로딩되어 있는 드라이브(drive)(150)에도 접속된다.
도시되지는 않았지만, 컨텐츠 서버(104), 라이센스 서버(102) 및 계정 서버(106)(도 1)도, 각각, 도 2에 도시된 클라이언트(108)의 구성과 기본적으로 동일한 구성을 갖는 컴퓨터로서 구성된다. 도 2는 클라이언트(108)의 일 구성을 도시하고 있지만, 다른 실시예들은 셋톱 박스, 개인용 컴퓨터, 휴대형 재생 장치, 또는 소정의 다른 유형의 컴퓨터 장치를 포함할 수 있다.
콘텐츠 공급 시스템(100)에서, 라이센스 및 콘텐츠 서버(102, 104)는 라이센스(122)와 콘텐츠를 클라이언트(108)에 송신한다(도 1). 라이센스(122)는, 암호화된 형태인 경우가 많은 보호 콘텐츠를 클라이언트(108)가 사용(즉, 렌더링, 재생, 복제, 실행 등)할 수 있도록 하는데 필요하다.
콘텐츠의 각 아이템은, 하나 이상의 암호화 키를 이용하여, 서비스 공급자 조직에 의해 구성 및 암호화된다. 클라이언트(108)는, 라이센스 정보 및 콘텐츠에 기초하여, 수신된 콘텐츠의 아이템을 암호해제 및 재생한다. 일부 실시예에서, 라이센스 정보는 가령, 초과하는 경우 콘텐츠의 아이템이 사용될 수 없는 만료 날짜, 콘텐츠가 사용될 수 있는 횟수, 콘텐츠가 가령 CD와 같은 기록 매체에 복제될 수 있는 횟수, 콘텐츠가 휴대형 장치에 전송될 수 있는 횟수, 최초 사용 후 콘텐츠가 사용될 수 있는 시간의 길이 등과 같은 사용 권리를 포함한다.
앞서 언급한 바와 같이, 본 발명의 실시예들은 클라이언트 외부의 신뢰성 기관으로부터 신뢰 시간값을 수신하는 클라이언트를 포함한다. 신뢰성 기관은, 예를 들어, 인터넷, WAN, LAN 등과 같은 네트워크를 통해 가령 클라이언트와 통신 중인 서버와 같은 소정의 엔티티(entity)일 수 있다. 신뢰성 기관은 다수의 이용가능한 시간 협약(time conventions) 중 어느 하나에 따라 신뢰 시간을 유지한다. 클라이언트가 신뢰성 기관과 더 이상 통신하고 있지 않는 경우에는, 이전에 수신된 신뢰 시간값은 클라이언트의 오퍼레이팅 시스템 카운터의 사용에 의해 업데이트되어, 연산 신뢰 시간값이 시간 기반 규칙(temporal based rules)을 갖는 콘텐츠 라이센스의 평가를 위해 유도된다.
신뢰 시간값이 신뢰성 기관으로부터 수신된 후, 클라이언트는 이 값을 하나 이상의 변조-방지 보안 스토어 내에 안전하게 저장한다. 또한, 신뢰 시간값과 연관된 시점에 대응하는 시스템 카운터값도 안전하게 저장된다. 시스템 카운터값은 최소 카운터값과 최대 카운터값 사이에 복수의 카운터값들을 공급하도록 적응된 클라이언트의 오퍼레이팅 시스템 카운터로부터 취득된다. 예를 들어, 32비트 레졸루션(resolution)을 갖는 오퍼레이팅 시스템 카운터에서, 최대 카운터값은 0xFFFFFFFF이다. 일단 이 최대값에 이르게 되면, 이 카운터는 최대값에 이어 최소 카운터값이 생성되도록 "롤 오버"한다.
이 저장된 카운터 및 시간값은 연산 신뢰 시간값을 유도하는데 사용된다. 이 값을 생성하기 위해, 시간 오프셋값이 저장된 신뢰 시간값과 조합된다. 이 시간 오프셋값은 현재 시스템 카운터값과 이전에 저장된 시스템 카운터값 간의 차의 함수이다. 이 연산 신뢰 시간값은, 클라이언트가 신뢰성 기관과 더 이상 통신하고 있지 않는 시점에서 생성될 수 있지만, 그럼에도 불구하고 이 시간값은 사용자 변조를 방지하고 콘텐츠 평가에 적합한, 업데이트된 현재 시점을 나타낸다.
도 3은, 클라이언트 장치가 신뢰성 기관과 통신하고 있지 않는 경우, 신뢰 시간값(TTR( calc))을 연산함으로써 시간을 모니터링하는 처리의 개략적 흐름도를 나타낸다. 단계 202에서, 클라이언트는 신뢰성 기관과 통신 중이며, 신뢰성 기관으로부터 인증된 신뢰 시간값을 수신한다. 보호 콘텐츠를 사용하도록 적응된 어플리케이션의 DRM 서브시스템 부분을 이용하여, 클라이언트는 이 인증된 신뢰 시간값(To)을 하나 이상의 보안 스토어에 안전하게 저장한다. 클라이언트의 오퍼레이팅 시스템으로부터, 클라이언트는, To에 대응하는 시점에 대응하는 기준 시스템 카운터값(Co)을 검색하고, Co를 동일 또는 다른 보안 스토어에 저장한다(단계 204). 다소 늦은 시점에서, 클라리언트는 신뢰성 기관으로부터 접속해제하거나, 신뢰성 기관과 더 이상 통신하지 않는다(단계 206). DRM 서브서스템은 중지(shut down)(단계 208)되며, 이후의 시점에서 재개시된다(단계 210).
다음으로, DRM 서브시스템은 콘텐츠 라이센스를 평가하고(단계 212), 라이센스가 시간 기반인지 여부를 판정한다(단계 214). 라이센스가 시간 기반이 아닌 경우, 어플리케이션은 콘텐츠를 렌더링하거나 그렇지 않으면 이용하는 쪽을 진행할 것이다(단계 216). 만약, 그와 달리, 콘텐츠 라이센스가 시간 기반인 경우에는, 저장된 기준 카운터값(Co)이 일반적으로 현재 시점에 대응하는 오퍼레이팅 시스템의 현재 카운터값(Cc)보다 적은지 여부의 판정이 이루어진다(단계 218). 다시 논의되겠지만, 이 판정은, 신뢰성 기관으로부터 Co가 취득된 시점 이후에 오퍼레이팅 시스템 카운터가 롤 오버되었는지 여부를 확인하기 위해 필요하다.
만약, 저장된 기준 카운터값(Co)이 현재 카운터값(Cc)보다 적을 경우에는, 단계 220에 따라서, 2개의 카운터값 간의 차(Cc-Co)의 함수인 시간 오프셋값이, 다음 알고리즘에 따른 연산 신뢰 시간값을 취득하기 위해 To와 조합된다.
TTR ( cala )=To+(Cc-Co)
여기서, TTR ( cala )은 연산 신뢰 시간이고, To는 인증 및 저장된 신뢰 시간이며, Cc는 현재 카운터값이고, Co는 저장된 기준 카운터값이다. 주석에서의 편리함을 위해, 시간 오프셋값은 여기와 본 명세서의 나머지 부분에서, 카운터값의 차의 함수가 아닌, 카운터값의 차(예를 들어, (Cc-Co))로서 표기된다. 시스템 카운터값으로부터 시간값을 취득하기 위해, 가령, 카운터 차분 값을 소정 인수(constant factor)로 곱함으로써 함수 관계가 적용되어야 한다는 것이 이해될 것이다.
도 3을 참조하면, 저장된 카운터값 Co가 현재 카운터값 Cc보다 적지 않은 경우에는, 단계 222에 따라, 연산 신뢰 값을 유도하기 위해 다음 알고리즘이 사용될 것이다.
TTR ( calc )=To+Cc+(CMAX-Co)
여기서, TTR ( calc )는 연산 신뢰 시간이고, To는 인증 및 저장된 신뢰 시간이며, Cc는 현재 카운터값 Cc이고, Co는 저장된 기준 카운터값이며, CMAX는 0 또는 다른 최소 카운터값으로 롤 오버하기 이전의, 카운터에 대한 최대 카운터값이다.
연산 신뢰 시간값 TTR ( calc )이 단계 220 또는 222 중 어느 하나에 따라 취득된 후, 연산 신뢰 시간값이 콘텐츠 라이센스의 규칙 내에 존재하는지 여부의 판정이 이루어진다(단계 224). 만약, 계산 신뢰 시간값이 라이센스 규칙 내에 전재하지 않는 경우에는, 어플리케이션이 콘텐츠를 렌더링 또는 그렇지 않으면 사용하지 않을 것이다(단계 226). 한편, 연산 신뢰 시간값이 라이센스 규칙 내에 존재하는 경우에는, 콘텐츠가 렌더링 또는 그렇지 않은 경우 사용될 수 있다(단계 228). 그러나, 도 3의 실시예는, 클라이언트가 중지되는 때, 카운터가 0으로 귀환하는 그 오퍼레이팅 시스템에 대해 클라이언트가 여전히 전력공급하는 경우에 해당한다는 점에 유의해야 한다.
본 발명의 다른 실시예에서, 일 클라이언트 장치 내에서 동기화된 신뢰 시간의 상태는 다른 클라이언트 장치에 송신될 수 있다. 이 처리는 "최후 신뢰 접속 시간(last trusted connection time: LTC)"과 "세션 개시 시간(session start time: SST)"에 부속하는 값의 사용을 포함한다. LTC는, 클라이언트 장치가 신뢰 시간 기관에 최후 접속되었을 경우 (및 신뢰 시간 기관과 통신 중인 경우) 때의 날 짜-시간값에 대응한다. SST는, 컴포넌트, 모듈 또는 다른 서브시스템이 가장 최근에 개시되었던 날짜-시간값에 대응하며, 여기서 컴포넌트, 모듈 또는 다른 서브시스템은 DRM 형상을 통합하는 어플리케이션의 부분이며, 콘텐츠를 사용하는데 적응된다.
본 실시예에서는, 어플리케이션의 DRM 컴포넌트, 모듈 또는 다른 서브시스템이 가동되고, 신뢰 시간을 취득, 보증 또는 사용할 수 있는 동안에, 클라이언트가 소정의 시간 프레임 내에서 신뢰 시간 기관과 통신했다는 요건을 갖춘 라이센스를 이용한다 (그리고 그 신뢰성 기관으로부터 업데이트된 신뢰 시간값을 취득할 수 있다). 한편, 신뢰성 기관과의 가장 최근의 접속 또는 통신 시간이 이후의 시점에서 DRM 서브시스템이 개시한 경우에는, DRM 서브시스템이 정지되고 그러한 변조를 검출 또는 방지할 수 없는 동안, 증가한 시스템 클럭 변조의 위험성 또는 다른 시간 관련 변조가 존재하기 때문에, 보호 콘텐츠의 사용 또는 렌더링은 허용되지 않는다.
도 4는 일 클라이언트 장치 내의 동기화된 신뢰 시간의 상태가 다른 클라이언트 장치에 송신될 수 있는 개략적 처리 흐름도이다. 단계 302에서, 제1 클라이언트(Cl1) 장치는 LTC 및 SST 값을 하나 이상의 보안 스토어 내에 안전하게 저장한다. 다소 늦은 시점에서, 제2 클라이언트(Cl2) 장치는 제1 클라이언트에 상태 요구를 송신한다(단계 304). 응답시, 제1 클라이언트는 LTC가 SST보다 큰지 여부, 즉, 적어도 어플리케이션의 서브시스템의 세션 개시보다 시간상 더 최근에 신뢰성 기관 과의 접속 및 통신이 있었는지 여부를 판정한다(단계 306). 만약, 그렇지 않은 경우에는, 처리가 정지하고, 제1 클라이언트는 상태 요구에 응답하지 않을 것이다(단계 308). LTC가 SST보다 더 크지 않으므로, 이는, 제1 클라이언트가 신뢰성 기관과 동기화된 이후 및 클라이언트가 신뢰성 기관으로부터 인증된 신뢰 시간값 To를 취득한 이후의 몇몇 시점에서, 서브시스템 세션이 개시되었다는 것을 나타낸다.
한편, LTC가 SST보다 큰 경우, 이는, 어플리케이션의 DRM 서브시스템 부분이 기상 및 가동되는 동안, 제1 클라이언트가 신뢰성 기관과 통신하고 업데이트된 신뢰 시간값 To를 취득하였다는 것을 나타낸다. 이에 따라, 단계 310에서, 제1 클라이언트는, 제1 클라이언트가 어플리케이션 세션 개시 시간보다 더 최근인 업데이트 및 인증된 신뢰 시간값을 갖는다는 것을 나타내는 플래그를 제2 클라이언트로 송신한다. 플래그의 수신 시, 다른 라이센싱 조건이 만족된다고 가정하면, 제2 클라이언트가 콘텐츠 데이터를 사용하도록 허용된다(단계 312).
도 4는 제2 클라이언트가, 단계 304에 나타낸 바와 같이, 제1 클라이언트에 상태 요구를 송신한 이후에 진행할 수 있는 다른 처리를 나타낸다. 대안적으로, 상태 요구의 수신 시, 제1 클라이언트는 LTC 및 SST 값을 제2 클라이언트에 송신한다(단계 314). 다음으로, 제2 클라이언트에서 LTC가 SST보다 큰 지를 평가한다(단계 316). 그렇지 않은 경우, 처리는 정지하고, 콘텐츠는 렌더링 또는 그렇지 않은 경우 사용되지 않는다(단계 318). 한편, 다른 라이센싱 조건이 만족된다고 가정하면, LTC가 SST보다 큰 경우에는, 제2 클라이언트는 데이터를 렌더링하거나 사용한다(단계 320).
본 발명의 다른 실시예에서, 라이센스 규칙에서는, 콘텐츠 라이센스 평가 목적을 위해 연산 신뢰 시간값이 사용될 수 있기 이전에, 적어도 어플리케이션의 DRM 서브시스템이 기상 및 가동 중인 동안, 클라이언트가 라이센스 규칙에 의해 신뢰성 기관과 통신하였을 것을 요구할 수 있다. 즉, DRM 서브시스템과 신뢰성 기관 간의 동기화가 몇몇 시점에서 요구된다. 이 동기화는, DRM 서브시스템이 셧 다운되고 변조를 검출 또는 방지할 수 없는 동안, 시스템 클럭 변조 또는 다른 시간 관련 변조의 위험성을 감소시킨다. 추후, 신뢰성 기관과의 통신이 이루어진 이후 연산 신뢰 시간값을 생성하기 위한 연산이 요구되는 경우, 결과적 연산 신뢰 시간값은 더 정확해질 것이다. 연산 신뢰 시간값을 유도하는데 사용되는 하부 시스템(underlying system) 카운터값과 신뢰 시간값은, 이러한 환경 하에서 변경 또는 변조될 가능성이 적다.
도 5는 다른 실시예의 개략적 처리 흐름도이다. 단계 401에서, 콘텐츠를 렌더링 또는 사용하는 어플리케이션이 개시되고(또는 적어도 어플리케이션의 서브시스템이 개시됨), 대응 SST가 하나 이상의 보안 스토어에 안전하게 저장된다. 신뢰성 기관과 통신 중인 경우, 클라이언트는 신뢰성 기관으로부터 인증된 신뢰 시간값(To)을 수신하고, 이 값을 동일한 또는 다른 보안 스토어에 안전하게 저장한다(단계 402). 또한, 클라이언트는, 신뢰 시간값에 대응하는 시점에 대응하는 업데이트된 시스템 카운터값(Co)을 안전하게 저장하고, 또한 LTC 값도 안전하게 저장한다(단계 404 및 406). 이후의 시점에서, 클라이언트는 신뢰성 기관을 접속해제하거나, 그렇지 않으면 신뢰성 기관과 더 이상 통신하지 않는다(단계 407).
어플리케이션은 라이센스(단계 408)를 평가하며, LTC가 가령 지난 20분과 같이 소정의 시간 기간 내에서 발생한 시점에 대응하는지 여부에 대한 판정이 이루어진다(단계 409). 만약, LTC가 이 시간 기간 내에서 발생하지 않았다면, 처리는 종료되고 콘텐츠의 사용은 허용되지 않을 것이다(단계 411). 반대로, LTC가 그 시간 기간 내에서 발생하였다면, 신뢰 시간 연산이 동기화된 신뢰성 기관 시간에 기초하는 것을 라이센스가 요구하는지 여부에 대한 판정이 이루어진다(단계 410). 만약 이것이 요구되지 않는다면, 라이센스 평가에 대해 2개의 값 중 더 큰 값이 선택된다. 그 값들은, Cc가 Co보다 적을 경우, 앞서 언급한 알고리즘, 즉, TTR(cala)=To+(Cc-Co)에 따라, 또는 알고리즘 TTR ( calc )=To+Cc+(CMAX-Co)에 따라 연산된 현재 시스템 클럭 시간값(TSYS) 또는 현재 연산 신뢰 시간값(TTR(calc))이다(단계 412). MAX(TSYS, TTR ( calc )), 즉, TSYS과 TTR ( calc ) 중 더 큰 것은 라이센스 시간 요구에 대해 평가하기 위해 사용되고, 사용자에 의해 롤 백(roll back)되는 시스템 클럭에 대해 몇몇 DRM 보호를 제공한다. 만약, 사용자가 시스템 클럭을 롤 백하는 경우, TTR ( calc )은 더 큰 값일 것이며, 라이센스 평가를 위해 사용될 것이다. 한편, 시스템 시간 변조가 그 TTR ( calc )보다 큰 TSYS 값으로 귀결되는 경우, 이는, TSTS가 라이센스를 평가하기 위해 사용되고 라이센스 사용 권리의 때 이른 종료로 귀결될 수 있기 때문에, 사용자에 불리하게(그리고 콘텐츠 공급자에 유리하게) 작용할 것이다.
한편, 신뢰 시간 연산이 동기화된 신뢰성 기관 시간에 기초하는 것을 콘텐츠 라이센스라 요구하는 경우, LTC가 SST보다 더 큰지 여부 대한 판정이 이루어진다(단계 414). 그렇지 않은 경우에는, 신뢰성 기관과의 통신의 소실 이전에 동기화가 발생하지 않았기 때문에, 처리가 종료되며 콘텐츠의 사용은 허용되지 않을 것이다(단계 416). 한편, LTC가 SST보다 더 큰 경우, 라이센스 시간 기간은, Cc가 Co보다 적은 경우, 앞서 언급된 알고리즘 TTR( cala )=To+(Cc-Co)에 따라, 또는 알고리즘 TTR ( calc )=To+Cc+(CMAX-Co)에 따라 연산된 연산 신뢰 시간값에 따라 평가된다(단계 418).
본 발명의 또 다른 실시예에 따르면, 콘텐츠 라이센싱은, 클라이언트에 의해 콘텐츠가 최초 사용된 이후의 소정 수의 시간 또는 다른 시간 기간에 동안 라이센스가 콘텐츠 사용을 허용하는 상황에서 제어된다. 예를 들어, 콘텐츠가 음악이고, 그 라이센스가 72시간의 재생 기간을 허용하는 경우, 72시간의 시간 기간은 클라이언트에 의해 음악이 최초 재생될 때 작동하기 시작할 것이다. 본 발명의 이 실시예는, 클라이언트가 신뢰성 기관과 더 이상 통신하지 않을 경우, 허용된 시간 기간의 모니터링을 허용한다.
이 실시예에 따르면, 콘텐츠가 최초로 사용된 때, 연산된 신뢰 시간, 즉, "마커" 시간이 생성된다. 신뢰성 기관과의 통신이 재구축되고, 새로 업데이트된 신뢰 시간이 신뢰성 기관으로부터 수신된 경우, 오프셋 시간값이 연산된다. 이 오프셋값은 신뢰성 기관으로부터 수신된 새로 업데이트된 신뢰 시간과 업데이트된 신뢰 시간과 동일한 시점에서 연산된 제2의 연산 신뢰 시간값 간의 시간 차분 값이다. 즉, 시스템 카운터의 함수로서 연산된 시간은 최근 수신된 신뢰 시간과 비교되며, 상기 차분 또는 시간 오프셋은 안전하게 저장된다. 이 시간 오프셋값은 개시 시간을 조정하기 위한 최초 "마커" 시간에 적용되어, 보다 정확하고, 변조 방지의, 경과 시간의 연산이 라이센스 평가 목적을 위해 이루어질 수 있도록 한다.
도 6a 및 도 6b는 콘텐츠의 사용이 소정 수의 시간, 또는 콘텐츠가 최초 사용되는 시점에서 개시하는 다른 시간 기간(N) 동안 허용되는 콘텐츠의 사용을 제어하는 개략적 처리도를 나타낸다. 단계 502에서, 클라이언트는 신뢰성 기관과 통신하며, 제1 통신 세션 동안 신뢰된 인증 기관으로부터 인증된 신뢰 시간값을 취득한다. 클라이언트는 이 인증된 신뢰 시간(To)을, To에 대응하는 시점에 대응하는 시스템 카운터값(Co)과 함께, 하나 이상의 보안 스토어에 안전하게 저장한다. 클라이언트는 나중에 신뢰성 기관을 접속해제(또는 통신을 종료)한다(단계 504).
신뢰성 기관으로부터 접속해제되었지만, 클라이언트는 보호 콘텐츠를 처음으로 렌더링 또는 사용하기 시작한다(단계 505). 이 시작 시점 근방에서, 클라이언트는 연산 신뢰 개시 시간 "마커" 값(TTR (marker))을 연산하고 동일 또는 다른 보안 스토어에 안전하게 저장한다(단계 506). 이는 앞서 언급한 알고리즘 TTR(marker)=To+(Ccl-Co) [또는 Ccl이 Co보다 적을 경우, TTR (marker)=To+Ccl+(CMAX-Co)]에 따라 연산되며, 여기서, Ccl은 TTR (marker)를 연산하는 시간에서 기록되는 시스템 카운터값이다. 다소 늦은 시점에서, 클라이언트는 신뢰성 기관과의 통신을 재구축하고, 제2 통신 세션 동안, 신뢰성 기관으로부터 업데이트 및 인증된 신뢰 시간 값(To(update))을 취득한다. 이 값은, To(updated)가 수신되는 시점에 대응하는 업데이트된 시스템 카운터값(Co(updated))과 함께 동일 또는 다른 보안 스토어에 배치된다(단계 508).
단계 510에서, 업데이트 및 인증된 신뢰 시간값(To(updated))과, To(updated)가 신뢰성 기관으로부터 취득된 시기에서 연산된 연산 신뢰 시간값(TTR ( calc -1)) 간의 차를 취함으로써, 시간 오프셋값(TOFFSET)이 연산된다. TTR ( calc -1)은 알고리즘 TTR ( calc -1)=To+(Cc2-Co)를 이용하여[또는 Cc2가 Co보다 적을 경우, 알고리즘 TTR ( calc -1)=To+Cc2+(CMAX-Co))를 이용하여] 연산되는데, 여기서 Cc2는 TTR ( calc -1)을 연산하는 시간에서 기록되는 시스템 카운터값이다. 다음으로, 시스템은 이 오프셋 시간값(TOFFSET)을 동일 또는 다른 보안 스토어에 저장하고, 클라이언트가 현재 시간 오프셋값을 가지고 있음을 나타내는 플래그를 설정한다(단계 512). 마지막으로, 알고리즘 TTR (rev.s.t)=TTR (marker)+TOFFSET에 따라, 라이센스의 수정된 연산 신뢰 개시 시간(TTR (rev.s.t))이 연산되는데, 여기서 TTR (marker)는 단계 506에서 연산된 값이고, TOFFSET은 단계 510에서 연산된 값이다. 이 TTR (rev.s.t) 값은 동일 또는 다른 보안 스토어에 저장된다(단계 513).
다소 늦은 시점에서, 어플리케이션에 대해 커맨드가 입력되어 동일 콘텐츠를 두 번째 렌더링 또는 이용하는 것이 개시된다(단계 514). 이 커맨드에 대한 응답 시, 그리고 콘텐츠의 사용을 시도할지를 시스템이 결정하는 시간 부근에서, 플래그가 설정되어 있는지 여부의 판정이 이루어진다(단계 516). 플래그가 설정되지 않은 경우, 라이센스 시간 제한 평가는, 전술한 신뢰 시간 연산 알고리즘, 즉, TTR( calc -2)=To+(Cc3-Co)[또는 Cc3가 Co보다 적을 경우, TTR ( calc -2)=To+Cc3+(CMAX-Co)]을 이용하여 이루어지며, 여기서 Cc3는 TTR ( calc -2)를 연산하는 시간에서 기록된 시스템 카운터값이다(단계 518).
한편, 플래그가 설정된 경우, 경과 라이센스 시간(TELAPSED)은 알고리즘 TELAPSED=TTR(now)-TTR(rev.s.t)에 따라 연산된다(단계 522). TELAPSED는 콘텐츠가 최초 사용된 개시 시간 이후에 경과한 시간량이다. TTR (now)는 알고리즘 TTR (now)=To(update)+(Cc4-Co(update))[또는, Cc4가 Co(updated)보다 적은 경우, TTR (now)=To(updated)+Cc4+(CMAX-Co(updated))]에 따라, 현재 시점에서 연산된 연산 신뢰 시간이며, 여기서, Cc4는 TTR (now)를 연산하는 시간에서 기록된 카운터값이다. TTR (rev.s.t)는 이전에 연산된, 수정된 라이센스 개시 값이다. 다음으로, 라이센스 경과 시간(TELAPSED)이 허용가능한 사용 시간 N을 초과하는지 여부에 대한 판정이 이루어진다(단계 524). 만약, 허용가능한 사용 시간(N)이 초과된 경우에는, 콘텐츠의 렌더링 또는 사용이 더 이상 허용되지 않는다(단계 526). 허용가능한 라이센스 시간(N)이 초과되지 않은 경우, 어플리케이션은 계속해서 콘텐츠를 렌더링 또는 사용할 수 있다(단계 528).
본 발명의 또 다른 실시예에 따르면, 필요한 시간 기간 동안 신뢰성 기관과의 동기화가 되어 있는 한, 콘텐츠를 복수의 횟수로 렌더링 또는 사용하는 어플리케이션이 허용된다. 어플리케이션 개시 시간(STT)은 하나 이상의 보안 스토어에 안전하게 저장된다. 클라이언트가 신뢰성 기관과 통신하는 경우, 신뢰성 기관으로부터 신뢰 시간값이 수신되고, 또한, 신뢰 시간값 시점에 대응하는 시스템 카운터값과 함께, 동일 또는 보안 스토어 내에 안전하게 저장된다. 또한, 클라이언트가 가장 최근에 신뢰성 기관과 통신한 시점에 대응하는 최후 신뢰 접속 시간값(LTC)가 안전하게 저장된다.
사용자가 보호 콘텐츠를 렌더링 또는 사용하기를 원하는 경우, 연산 신뢰 시간값이 생성되고 LTC 값이 보안 스토어로부터 검색된다. 이 두 개의 값들 간의 차는 신뢰성 기관과의 통신이 있은 이후로부터 경과한 시간량을 나타낸다. 경과된 시간량이 콘텐츠 라이센스에 기술된 소정 시간 주기보다 적을 경우, 콘텐츠의 사용이 허용된다.
도 7a 및 도 7b는 이 동기화 요구를 나타내는 개략적 처리 흐름도이다. 단계 602에서, 보호 콘텐츠를 사용하는데 적응된 어플리케이션이 개시되거나, 적어도 그러한 어플리케이션의 서브시스템이 개시된다. 이 시점에 대응하는 세션 개시 시간(SST)은 하나 이상의 보안 스토어 내에 안전하게 저장된다(단계 640). 이 시점에서, 2개의 어플리케이션 내의 스레드가 동시에 가동한다. 그러나, 다른 실시예에서는, 동일 어플리케이션 내에서 가동하는 2개의 스레드 외에, 개별 어플리케이션이 가동될 수 있다.
단계 606에서, 제1 스레드가 개시하고, 신뢰 시간 기관과의 통신을 구축한다(단계 608). 제1 스레드는 클라이언트가 신뢰성 기관으로부터 인증된 신뢰 시간값(To)을 취득하게 하고, 이 값을, To가 취득된 시점에 대응하는 오퍼레이팅 시스템 카운터값(Co)와 함께, 하나 이상의 보안 스토어 내에 안전하게 저장한다(단계 610). 또한, 클라이언트가 신뢰성 기관과의 통신을 구축한 최근 시점에 대응하는 최후 신뢰 접속 시간값(LLT)은 동일 또는 다른 보안 스토어에 안전하게 저장된다(단계 612). 본 발명의 일부 실시예에서, LTC는 To와 동일 또는 거의 동일하다. 다음으로, 클라이언트와 신뢰성 기관 간의 통신은 종료된다(단계 614). 소정의 시간 간격을 대기한 후(단계 616), 제어는 단계 608로 귀환하여, 제1 스레드가 클라이언트로 하여금 신뢰성 기관과의 통신을 다시 개시하게 한다. 이 처리는 반복되며, 이에 의해 To, Co 및 LTC에 대해 업데이트된 값이 취득되고 주기적인 소정 시산 간격에서 안전하게 저장된다.
제1 스레드가 실행중인 동안, 보호 콘텐츠를 렌더링 또는 사용하고자 할 때, 제2 스레드가 개시된다(단계 622). Co 및 To 값은 하나 이상의 보안 스토어 로부터 검색되며(단계 624), 현재 신뢰 시간값은 앞서 언급한 알고리즘 TTR(calc)=To+(Cc-Co)에 따라[또는 Cc가 Co보다 적은 경우, TTR ( calc )=To+Cc+(CMAX-Co)에 따라] 연산되며, 여기서 Cc는 TTR ( calc )를 연산하는 시간에서 기록된 현재 시스템 카운터값이다(단계 626). 다음으로, LTC 값에 의존하는 시간적 콘텐츠 사용 제한이 존재하는지 여부를 판정하기 위해 라이센스가 평가된다(단계 628). 만약, 그렇지 않은 경우에 는, 단계 626에서 판정된, 연산 신뢰 시간값(TTR( calc ))이 클라이언트 라이센스의 규칙 내에 존재하는지 여부의 판정이 이루어진다(단계 630). 그렇지 않은 경우, 처리는 종료하고, 콘텐츠의 사용은 허용되지 않는다(단계 631). 한편, 연산 신뢰 시간값이 콘텐츠 라이센스의 규칙 내에 존재한다면, 제어는 단계 638로 점프하고, 콘텐츠의 사용이 허용된다.
한편, 단계 628로 귀환하여, 라이센스가 LTC 값에 의존하는 시간적 콘텐츠 사용 제한을 갖는 경우, LTC 값은 하나 이상의 보안 스토어로부터 검색된다(단계 632). 다음으로, TTR ( calc ) 값과 LTC 값 간의 차가 라이센스에서 기술된 소정 시간과 비교된다(단계 634). TTR( calc )와 LTC 간의 차는, 신뢰성 기관과의 통신이 존재한 이후로부터 경과한 시간량을 나타낸다. 이 경과 시간량이 라이센스 소정 시간 기간보다 큰 경우, 콘텐츠의 사용은 허용되지 않는다(단계 636). 한편, 이 경과 시간량이 라이센스 소정 시간 기간보다 적은 경우에는, 콘텐츠의 사용이 허용된다(단계 638). 따라서, 예를 들어, 라이센스는, 클라이언트가 신뢰성 기관과 통신하고 To, Co 및 LTC에 대해 업데이트된 값을 취득할 수 있는, 20분의 소정 시간 기간 요구를 가질 수 있다. 만약, TTR ( calc )와 LTC의 차의 값이 20분 시간 기간보다 적다면, 라이센스에 의해 허용된 시간 기간 내에서 신뢰성 기관과의 동기화가 존재한다는 것이 유추될 수 있으며, 콘텐츠의 사용이 허용된다. 그렇지 않으면, 콘텐츠 사용은 허용되지 않을 것이다. 또한, 단계 634에서 사용된 라이센스 소정 시간 주기는, 단계 616의 소정의 대기 시간 간격보다 큰 값이다. 그러한 큰 값을 사용함으로써, 제1 스레드는, 라이센스 요건에 포함되는 시간 주기 동안, 업데이트된 To, Co 및 LTC 값을 취득할 것이다.
콘텐츠의 사용이 끝난 후, 제2 스레드가 턴 오프된다(단계 640). 제어는 단계 622로 회귀하고, 보호 콘텐츠를 다시 사용하고자 할 때, 전술한 처리가 반복된다.
따라서, 보호 콘텐츠의 사용이 제어될 수 있도록, 시간을 모니터링하는 방법 및 시스템이 개시된다. 본 발명의 실시예에서는, 사용자에 의해 변조되기 쉬운 클라인언트 시스템 클럭에 의존하는 대신, 클라이언트 장치 외부의 신뢰성 기관으로부터 정정된 "신뢰" 시간값을 수신한다. 클라이언트가 신뢰성 기관과 더 이상 통신하지 않을 경우, 미리 수신된 신뢰 시간값이 클라이언트의 오퍼레이팅 시스템 카운터에 의해 업데이트되어, 연산 신뢰 시간값이 클라이언트 라이센스 평가 목적을 위해 유도되도록 한다.
상기 상세한 설명은 본 발명의 특정 실시예에 관한 것이지만, 그 사상을 벗어남이 없이, 많은 변조이 이루어질 수 있음이 이해될 것이다. 특허청구범위는 본 발명의 사상 및 범주 내에 포함되는 변조를 내포한다. 따라서, 현재 개시된 실시예는 모든 사항에 있어서 설명을 위한 것으로 이해되어야 하며, 제한적으로 이해되어서는 안 되고, 본 발명의 범주는 전술한 상세한 설명이 아니라 특허청구범위에 의해 나타나며, 특허청구범위의 균등물의 의미 및 범위 내에 있는 모든 변화는 본 발명에 포함되는 것이다.

Claims (50)

  1. 콘텐츠의 사용을 제어하는 방법으로서,
    클라이언트 외부의 신뢰성 기관으로부터 제1 시간값을 수신하는 단계와,
    상기 제1 시간값을 안전하게 저장하는 단계와,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하는 단계와,
    상기 제1 시간값을 시간 오프셋값과 조합하여 연산된 시간값을 획득하는 단계 - 상기 시간 오프셋값은 상기 제1 카운터값과 제2 카운터값 간의 차이의 함수임 -와,
    상기 연산된 시간값을 이용하여 상기 콘텐츠의 사용을 제어하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  2. 제1항에 있어서, 상기 제1 시간값을 수신하는 단계는, 상기 신뢰성 기관이 상기 클라이언트와 네트워크를 통해 통신 중인 동안 상기 신뢰성 기관으로부터 상기 제1 시간값을 수신하는 단계를 포함하며, 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계는, 상기 클라이언트가 상기 신뢰성 기관과 통신 중이 아닐 때의 시점에 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  3. 제1항에 있어서, 상기 연산된 시간값에 따르는 시간 규칙을 갖는 라이센스를 평가하는 단계를 더 포함하는 콘텐츠 사용 제어 방법.
  4. 제1항에 있어서, 상기 제1 및 제2 카운터값은, 최소 카운터값과 최대 카운터값 간에 복수의 카운터값을 제공하며, 상기 최대 카운터값에 이어서 상기 최소 카운터값을 생성하는 카운터에 의해 생성되며,
    상기 제1 카운터값이 상기 제2 카운터값 보다 적은 경우, 상기 시간 오프셋값은 상기 제2 카운터값 마이너스 상기 제1 카운터값의 함수이고,
    상기 제1 카운터값이 상기 제2 카운터값 보다 큰 경우, 상기 시간 오프셋값은 상기 제2 카운터값 플러스 상기 최대 카운터값의 함수인 콘텐츠 사용 제어 방법.
  5. 제4항에 있어서, 상기 제1 시간값을 수신하는 단계는, 상기 신뢰성 기관이 상기 클라이언트와 네트워크를 통해 통신 중인 동안 상기 신뢰성 기관으로부터 상기 제1 시간값을 수신하는 단계를 포함하며, 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계는, 상기 클라이언트가 상기 신뢰성 기관과 통신 중이 아닐때의 시점에 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  6. 제4항에 있어서, 상기 연산된 시간값에 따르는 시간 규칙을 갖는 라이센스를 평가하는 단계를 더 포함하는 콘텐츠 사용 제어 방법.
  7. 콘텐츠의 사용을 제어하며, 처리부를 구비한 디바이스가 사용하는 제조물로서,
    상기 디바이스는 외부의 신뢰성 기관으로부터 데이터를 수신하기 위한 것이며,
    적어도 하나의 컴퓨터 프로그램이 내장된 적어도 하나의 컴퓨터 사용가능한 매체를 포함하며,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 디바이스가,
    상기 신뢰성 기관으로부터 제1 시간값을 수신하며,
    상기 제1 시간값을 안전하게 저장하고,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하며,
    상기 제1 시간값을 시간 오프셋값과 조합하여 연산된 시간값을 획득하고 - 상기 오프셋값은 상기 제1 카운터값과 제2 카운터값 간의 차이의 함수임 -와,
    상기 연산된 시간값을 이용하여 상기 콘텐츠의 사용을 제어하는 것을 수행하게 하는 제조물.
  8. 콘텐츠의 사용을 제어하며, 외부의 신뢰성 기관으로부터 데이터를 수신하기 위한 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리부를 구비한 디바이스와,
    상기 처리부가 실행하는 프로그래밍 로직을 포함하며,
    상기 프로그래밍 로직은, 상기 신뢰성 기관으로부터 제1 시간값을 수신하는 수단과,
    상기 제1 시간값을 안전하게 저장하는 수단과,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하는 수단과,
    상기 제1 시간값을 시간 오프셋값과 조합하여 연산된 시간값을 획득하는 수단 - 상기 시간 오프셋값은 상기 제2 카운터값과 제1 카운터값 간의 차이의 함수임 -과,
    상기 연산된 시간값을 이용하여 상기 콘텐츠의 사용을 제어하는 수단을 포함하는 시스템.
  9. 콘텐츠의 사용을 제어하는 방법으로서,
    제1 클라이언트가 신뢰성 기관과 가장 최근에 통신했을 때의 시점에 해당하는 제1 시간값을 안전하게 저장하는 단계와,
    적어도 어플리케이션의 서브시스템이 가장 최근에 초기화되었을 때의 시점에 해당하는 제2 시간값을 안전하게 저장하는 단계 - 상기 어플리케이션은 상기 콘텐츠를 사용하기 위한 것임 -와,
    상기 제1 시간값이 상기 제2 시간값 보다 큰 경우 상기 제1 클라이언트로부 터 제2 클라이언트로 플래그를 송신하는 단계와,
    상기 제2 클라이언트가 상기 플래그를 수신한 경우 상기 제2 클라이언트에 의해 상기 콘텐츠의 사용을 허용하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  10. 제9항에 있어서, 상기 제1 클라이언트로부터 상기 제2 클라이언트로 플래그를 송신하기 위한 요청을 상기 제2 클라이언트로부터 상기 제1 클라이언트로 송신하는 단계를 더 포함하며,
    상기 제1 시간값이 상기 제2 시간값보다 큰 경우 상기 제1 클라이언트로부터 상기 제2 클라이언트로 플래그를 송신하는 단계는, 상기 제1 클라이언트가 상기 요청을 수신한 것에 응답하여 상기 플래그를 송신하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  11. 콘텐츠의 사용을 제어하는 방법으로서,
    제1 시간값 및 제2 시간값을 제1 클라이언트로부터 제2 클라이언트로 송신하는 단계 - 상기 제1 시간값은 상기 제1 클라이언트가 신뢰성 기관과 가장 최근에 통신 중일 때의 시점에 해당하며, 상기 제2 시간값은 적어도 어플리케이션의 서브시스템이 가장 최근에 초기화될 때의 시점에 해당하고, 상기 어플리케이션은 상기 콘텐츠를 이용하기 위한 것임 -와,
    상기 제1 시간값이 상기 제2 시간값 보다 큰 경우 상기 제2 클라이언트에게 상기 콘텐츠의 사용을 허용하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  12. 제11항에 있어서, 상기 제1 시간값 및 상기 제2 시간값을 안전하게 저장하는 단계를 더 포함하는 콘텐츠 사용 제어 방법.
  13. 제11항에 있어서,
    상기 제1 클라이언트로부터 상기 제2 클라이언트로 상기 제1 및 제2 시간값을 송신하기 위한 요청을, 상기 제2 클라이언트로부터 상기 제1 클라이언트로 송신하는 단계를 더 포함하며,
    상기 제1 클라이언트로부터 상기 제2 클라이언트로 상기 제1 시간값 및 상기 제2 시간값을 송신하는 단계는, 상기 제1 클라이언트가 상기 요청을 수신한 것에 응답하여 상기 제1 시간값 및 상기 제2 시간값을 송신하는 단계를 포함하는 콘텐츠 사용 제어 방법.
  14. 콘텐츠의 사용을 제어하며 제1 클라이언트 및 제2 클라이언트가 사용하는 제조물로서,
    상기 제1 및 제2 클라이언트 각각은 처리부를 구비하며, 상기 제1 클라이언트는 외부의 신뢰성 기관과 통신하고,
    제1 컴퓨터 사용가능한 매체 및 제2 컴퓨터 사용가능한 매체를 포함하며,
    상기 제1 컴퓨터 사용가능한 매체는 제1 컴퓨터 프로그램이 내장되고,
    상기 제1 컴퓨터 프로그램은, 서브시스템을 구비하고, 상기 제1 클라이언트 가,
    상기 제1 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하는 제1 시간값을 안전하게 저장하며,
    적어도 상기 제1 컴퓨터 프로그램의 서브시스템이 가장 최근에 초기화될 때의 시점에 해당하는 제2 시간값을 안전하게 저장하고, 그리고
    상기 제1 시간값이 상기 제2 시간값보다 큰 경우 상기 제1 클라이언트로부터 상기 제2 클라이언트로 플래그를 송신하는 것을 수행하게 하며,
    상기 제2 컴퓨터 사용가능함 매체는 제2 컴퓨터 프로그램이 내장되며, 상기 제2 컴퓨터 프로그램은 상기 제2 클라이언트가 상기 플래그를 수신한 경우 상기 제2 클라이언트가 상기 콘텐츠를 사용하게 하는 제조물.
  15. 콘텐츠의 사용을 제어하며, 신뢰성 기관과 통신하는 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 제1 처리부와, 상기 제1 처리부가 실행하는 제1 프로그래밍 로직을 구비한 제1 클라이언트와,
    소프트웨어 루틴을 실행할 수 있는 제2 처리부와, 상기 제2 처리부가 실행하는 제2 프로그래밍 로직을 구비한 제2 클라이언트를 포함하며,
    상기 제1 프로그래밍 로직은,
    상기 제1 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하는 시간값을 안전하게 저장하는 수단과,
    상기 제1 프로그래밍 로직의 적어도 일부가 가장 최근에 초기화될 때의 시점 에 해당하는 제2 시간값을 안전하게 저장하는 수단과,
    상기 제1 시간값이 상기 제2 시간값 보다 큰 경우 상기 제1 클라이언트로부터 상기 제2 클라이언트로 플래그를 송신하는 수단을 포함하며,
    상기 제2 프로그래밍 로직은, 상기 제2 클라이언트가 상기 플래그를 수신한 경우 상기 콘텐츠를 이용하는 수단을 포함하는 시스템.
  16. 시간을 모니터링하는 방법으로서,
    클라이언트 외부의 신뢰성 기관으로부터 제1 시간값을 수신하는 단계와,
    상기 제1 시간값을 안전하게 저장하는 단계와,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하는 단계와,
    시간 오프셋값을 상기 제1 시간값과 조합하여 연산된 시간값을 획득하는 단계 - 상기 시간 오프셋값은 상기 제1 카운터값과 제2 카운터값 간의 차이의 함수임- 와,
    상기 연산된 시간값과 시스템 클럭 시간값 중 큰 값에 따르는 시간 규칙을 갖는 라이센스를 평가하는 단계를 포함하는 시간 모니터링 방법.
  17. 제16항에 있어서,
    상기 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하는 제2 시간값을 안전하게 저장하는 단계와,
    적어도 어플리케이션의 서브시스템이 가장 최근에 초기화될 때의 시점에 해당하는 제3 시간값을 안전하게 저장하는 단계를 더 포함하며,
    상기 어플리케이션은 콘텐츠를 사용하기 위한 것인 시간 모니터링 방법.
  18. 제16항에 있어서, 상기 제1 시간값을 수신하는 단계는, 상기 신뢰성 기관이 네트워크를 통해 상기 클라이언트와 통신하고 있는 동안 상기 신뢰성 기관으로부터 상기 제1 시간값을 수신하는 단계를 포함하며, 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계는 상기 클라이언트가 상기 신뢰성 기관과 통신하지 않을 때의 시점에 상기 시간 오프셋값과 상기 제1 시간값을 조합하는 단계를 포함하는 시간 모니터링 방법.
  19. 제16항에 있어서, 상기 제1 및 제2 카운터값은, 최소 카운터값과 최대 카운터값 사이에 복수의 카운터값을 제공하며, 상기 최대 카운터값에 이어서 상기 최소 카운터값을 생성하는 카운터에 의해 생성되며,
    상기 시간 오프셋값은 상기 제1 카운터값이 상기 제2 카운터값 보다 적은 경우 상기 제2 카운터값 마이너스 상기 제1 카운터값의 함수이고,
    상기 시간 오프셋값은 상기 제1 카운터값이 상기 제2 카운터값 보다 큰 경우 상기 제2 카운터값 플러스 상기 최대 카운터값의 함수인 시간 모니터링 방법.
  20. 제16항에 있어서, 제2 시간값을 안전하게 저장하는 단계를 더 포함하며,
    상기 제2 시간값은 상기 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신한 때의 시점에 해당하고,
    시간 규칙을 갖는 상기 라이센스를 평가하는 단계는, 상기 제2 시간값이 소정 주기 내에서 발생된 시점에 해당하는 경우 시간 규칙을 갖는 라이센스를 평가하는 단계를 포함하는 시간 모니터링 방법.
  21. 시간 모니터링 방법으로서,
    클라이언트 외부의 신뢰성 기관으로부터 제1 시간값을 수신하는 단계와,
    상기 제1 시간값을 안전하게 저장하는 단계와,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하는 단계와,
    제2 시간값이 제3 시간값 보다 큰 경우 상기 제1 시간값에 시간 오프셋값을 조합하여 연산된 시간값을 획득하는 단계를 포함하며,
    상기 제2 시간값은 상기 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하며,
    상기 제3 시간값은 적어도 어플리케이션의 서브시스템이 가장 최근에 초기화될 때의 시점에 해당하고, 상기 어플리케이션은 콘텐츠를 사용하기 위한 것이며,
    상기 시간 오프셋값은 제2 카운터값과 상기 제1 카운터값 간의 차이의 함수인 시간 모니터링 방법.
  22. 제21항에 있어서, 상기 제2 및 제3 시간값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터링 방법.
  23. 제21항에 있어서, 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계는, 상기 제2 시간값이 소정 시간 내에서 발생하는 시점에 해당하는 경우 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계를 포함하는 시간 모니터링 방법.
  24. 제21항에 있어서, 상기 제1 시간값을 수신하는 단계는 상기 신뢰성 기관이 네트워크를 통해 상기 클라이언트와 통신중인 동안 상기 신뢰성 기관으로부터 제1 시간값을 수신하는 단계를 포함하며, 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계는 상기 클라이언트가 상기 신뢰성 기관과 통신하지 않을 때의 시점에 상기 시간 오프셋값을 상기 제1 시간값과 조합하는 단계를 포함하는 시간 모니터링 방법.
  25. 제21항에 있어서, 상기 연산된 시간값에 따르는 시간 규칙을 갖는 라이센스를 평가하는 단계를 더 포함하는 시간 모니터링 방법.
  26. 제21항에 있어서, 상기 제1 및 제2 카운터값은 최소 카운터값과 최대 카운터값 사이에 복수의 카운터값을 제공하고, 상기 최대 카운터값에 이어서 상기 최소 카운터값을 생성하는 카운터에 의해 생성되고,
    상기 시간 오프셋값은 상기 제1 카운터값이 상기 제2 시간 카운터값 보다 적은 경우 상기 제2 카운터값 마이너스 상기 제1 카운터값의 함수이고,
    상기 시간 오프셋값은 상기 제1 시간값이 상기 제2 시간값 보다 큰 경우 상기 제2 카운터값 플러스 상기 최대 카운터값의 함수인 시간 모니터링 방법.
  27. 시간을 모니터링하며 처리부를 구비한 디바이스가 사용하는 제조물로서,
    상기 디바이스는 외부의 신뢰성 기관과 통신하기 위한 것이며,
    적어도 하나의 컴퓨터 프로그램이 내장된 적어도 하나의 컴퓨터 사용가능한 매체를 포함하며,
    상기 적어도 하나의 컴퓨터 프로그램은, 서브시스템을 구비하며, 상기 디바이스가,
    상기 신뢰성 기관으로부터 제1 시간값을 수신하며,
    상기 제1 시간값을 안전하게 저장하고,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하며, 그리고
    제2 시간값이 제3 시간값 보다 큰 경우 상기 제1 시간값을 시간 오프셋값과 조합하여 연산된 시간값을 획득하는 것을 수행하게 하고,
    상기 제2 시간값은 상기 디바이스가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하고,
    상기 제3 시간값은 적어도 하나의 컴퓨터 프로그램의 적어도 서브시스템이 가장 최근에 초기화될 때의 시점에 해당하며,
    상기 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수인 제조물.
  28. 시간을 모니터링하며 외부의 신뢰성 기관과 통신하기 위한 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리부를 구비한 디바이스와,
    상기 처리부가 실행하는 프로그래밍 로직을 포함하며,
    상기 프로그래밍 로직은,
    상기 신뢰성 기관으로부터 제1 시간값을 수신하는 수단과,
    상기 제1 시간값을 안전하게 저장하는 수단과,
    상기 제1 시간값에 대응하는 시점에 해당하는 제1 카운터값을 안전하게 저장하는 수단과,
    제2 시간값이 제3 시간값 보다 큰 경우 상기 제1 시간값을 시간 오프셋값과 조합하여 연산된 시간값을 획득하는 수단을 포함하며,
    상기 제2 시간값은 상기 디바이스가 상기 신뢰성 기관과 가장 최근에 통신할 때의 시점에 해당하고,
    상기 제3 시간값은 상기 프로그래밍 로직의 적어도 일부분이 가장 최근에 초기화될 때의 시점에 해당하며,
    상기 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수인 시스템.
  29. 시간을 모니터링하는 방법으로서,
    콘텐츠를 클라이언트가 첫 번째로(on first occasion) 사용할 때의 시점에 해당하는 제1 연산 시간값을 연산하는 단계 - 상기 제1 연산 시간값은 제1 통신 세션 동안 상기 클라이언트 외부의 신뢰성 기관으로부터 상기 클라이언트가 수신한 제1 신뢰 시간값의 함수임 - 와,
    제2 신뢰 시간값과 제2 연산 시간값 간의 차이에 해당하는 제1 시간 오프셋값을 연산하는 단계 - 상기 제2 신뢰 시간값은 제2 통신 세션 동안 상기 신뢰성 기관으로부터 상기 클라이언트가 수신하며, 상기 제2 연산 시간값은 상기 제2 신뢰 시간값이 상기 클라이언트에 의해 수신될 때의 시점에 해당하고, 상기 제2 연산 시간값은 상기 제1 신뢰 시간값의 함수임 -와,
    제3 연산 시간값과 수정된 제1 연산 시간값 간의 차이에 해당하는 경과된 시간값을 연산하는 단계를 포함하며,
    상기 제3 연산 시간값은 상기 클라이언트가 상기 콘텐츠의 사용을 두 번째로 시도할 때의 시점에 해당하고, 상기 제3 연산 시간값은 제2 신뢰 시간값의 함수이며,
    상기 수정된 제1 연산 시간값은 상기 제1 연산 시간값과 상기 제1 시간 오프셋값의 조합에 해당하는 시간 모니터링 방법.
  30. 제29항에 있어서, 상기 경과된 시간값에 따르는 시간 규칙을 갖는 라이센스 를 평가하는 단계를 더 포함하는 시간 모니터링 방법.
  31. 제29항에 있어서,
    상기 제1 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 제1 연산 시간값을 안전하게 저장하는 단계와,
    상기 제2 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 제1 시간 오프셋값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터링 방법.
  32. 제29항에 있어서, 상기 경과된 시간값을 연산하는 단계는 일 플래그가 설정되는 경우 상기 경과된 시간값을 연산하는 단계를 포함하며, 상기 플래그는 상기 클라이언트에 상기 제1 시간 오프셋값이 존재하는 것을 나타내는 시간 모니터링 방법.
  33. 제29항에 있어서, 상기 제1 연산 시간값을 연산하는 단계는 상기 제1 신뢰 시간값에 제2 시간 오프셋값을 조합하는 단계를 포함하고, 상기 제2 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수이며, 상기 제1 시간값은 상기 제1 신뢰 시간값이 상기 신뢰성 기관으로부터 수신될 때의 시점에 해당하고, 상기 제2 카운터값은 상기 제1 연산 시간값이 연산될 때의 시점에 해당하는 시간 모니터링 방법.
  34. 제33항에 있어서, 상기 제2 연산 시간값은 상기 제1 신뢰 시간값과 제3 시간 오프셋값의 조합의 함수이고, 상기 제3 시간 오프셋값은 제3 카운터값과 상기 제1 카운터값 간의 차이의 함수이며, 상기 제3 카운터값은 상기 제2 신뢰 시간값이 상기 신뢰성 기관으로부터 수신될 때의 시점에 해당하는 시간 모니터링 방법.
  35. 제34항에 있어서, 상기 제3 연산 시간값은 상기 제2 신뢰 시간값과 제4 시간 오프셋값의 조합의 함수이고, 상기 제4 시간 오프셋값은 제4 카운터값과 상기 제3 카운터값간의 차이의 함수이며, 상기 제4 카운터값은 상기 클라이언트가 상기 콘텐츠의 사용을 두 번째로 시도할 때의 시점에 해당하는 시간 모니터링 방법.
  36. 제35항에 있어서, 상기 경과된 시간값에 따르는 시간 규칙을 갖는 라이센스를 평가하는 단계를 더 포함하는 시간 모니터링 방법.
  37. 제35항에 있어서,
    상기 제1 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 제1 연산 시간값을 안전하게 저장하는 단계와,
    상기 제2 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 제1 시간 오프셋값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터링 방법.
  38. 제35항에 있어서, 상기 경과된 시간값을 연산하는 단계는 일 플래그가 설정되는 경우 상기 경과된 시간값을 연산하는 단계를 포함하며, 상기 플래그는 상기 클라이언트에 상기 제1 시간 오프셋값이 존재하는 것을 나타내는 시간 모니터링 방법.
  39. 콘텐츠의 사용을 제어하며 처리부를 구비한 디바이스가 사용하는 제조물로서,
    상기 디바이스는 외부의 신뢰성 기관과 통신하기 위한 것이며,
    적어도 하나의 컴퓨터 프로그램이 내장된 적어도 하나의 컴퓨터 사용가능한 매체를 포함하며,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 디바이스가,
    콘텐츠를 클라이언트가 첫 번째로 사용할 때의 시점에 해당하는 제1 연산 시간값을 연산하고 - 상기 제1 연산 시간값은 제1 통신 세션 동안 상기 클라이언트 외부의 신뢰성 기관으로부터 상기 클라이언트가 수신한 제1 신뢰 시간값의 함수임 -,
    제2 신뢰 시간값과 제2 연산 시간값 간의 차이에 해당하는 제1 시간 오프셋값을 연산하고 - 상기 제2 신뢰 시간값은 제2 통신 세션 동안 상기 신뢰성 기관으로부터 상기 디바이스가 수신하며, 상기 제2 연산 시간값은 상기 제2 신뢰 시간값이 상기 디바이스에 의해 수신될 때의 시점에 해당하고, 상기 제2 연산 시간값은 상기 제1 신뢰 시간값의 함수임 -, 그리고
    제3 연산 시간값과 수정된 제1 연산 시간값 간의 차이에 해당하는 경과된 시간값을 연산하는 것을 수행하게 하고,
    상기 제3 연산 시간값은 상기 디바이스가 상기 콘텐츠의 사용을 두 번째로 시도할 때의 시점에 해당하고, 상기 제3 연산 시간값은 제2 신뢰 시간값의 함수이며,
    상기 수정된 제1 연산 시간값은 상기 제1 연산 시간값과 상기 제1 시간 오프셋값의 조합에 해당하게 하는 제조물.
  40. 콘텐츠의 사용을 제어하며 외부의 신뢰성 기관과 통신하기 위한 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리부를 구비한 디바이스와,
    상기 처리부가 실행하는 프로그래밍 로직을 포함하며,
    상기 프로그래밍 로직은,
    콘텐츠를 상기 디바이스가 첫 번째로 사용할 때의 시점에 해당하는 제1 연산 시간값을 연산하는 수단 - 상기 제1 연산 시간값은 제1 통신 세션 동안 상기 신뢰성 기관으로부터 상기 디바이스가 수신한 제1 신뢰 시간값의 함수임 - 와,
    제2 신뢰 시간값과 제2 연산 시간값 간의 차이에 해당하는 제1 시간 오프셋값을 연산하는 수단 - 상기 제2 신뢰 시간값은 제2 통신 세션 동안 상기 신뢰성 기관으로부터 상기 디바이스가 수신하며, 상기 제2 연산 시간값은 상기 제2 신뢰 시 간값이 상기 디바이스에 의해 수신될 때의 시점에 해당하고, 상기 제2 연산 시간값은 상기 제1 신뢰 시간값의 함수임 -와,
    제3 연산 시간값과 수정된 제1 연산 시간값 간의 차이에 해당하는 경과된 시간값을 연산하는 수단을 포함하며,
    상기 제3 연산 시간값은 상기 디바이스가 상기 콘텐츠의 사용을 두 번째로 시도할 때의 시점에 해당하고, 상기 제3 연산 시간값은 제2 신뢰 시간값의 함수이며,
    상기 수정된 제1 연산 시간값은 상기 제1 연산 시간값과 상기 제1 시간 오프셋값의 조합에 해당하는 시스템
  41. 시간을 모니터링하는 방법으로서,
    클라이언트 외부의 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하는 단계와,
    상기 제1 신뢰 시간값에 시간 오프셋값을 조합하여 연산된 시간값을 획득하는 단계 - 상기 시간 오프셋값은 제2 카운터값과 제1 카운터값간의 차이의 함수이며, 상기 제2 카운터값은 상기 연산된 시간값이 획득될 때의 시점에 해당하고, 상기 제1 카운터값은 상기 제1 신뢰 시간값에 대응하는 시점에 해당함 -와,
    상기 연산된 시간값과 제2 시간값간의 차이가 제1 소정 주기 보다 적은 경우 콘텐츠의 사용을 허용하는 단계를 포함하며,
    상기 제2 시간값은 상기 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신 을 구축했을 때의 시점에 해당하는 시간 모니터링 방법.
  42. 제41항에 있어서, 상기 제1 신뢰 시간값, 상기 제1 카운터값, 및 상기 제2 카운터값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터링 방법.
  43. 제41항에 있어서, 상기 제1 신뢰 시간값을 수신하는 단계는 상기 신뢰성 기관이 네트워크를 통해 상기 클라이언트와 통신중인 동안 상기 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하는 단계를 포함하며, 상기 시간 오프셋값을 상기 제1 신뢰 시간값과 조합하는 단계는 상기 클라이언트가 상기 신뢰성 기관과 통신하지 않을 때의 시점에 상기 시간 오프셋값을 상기 제1 신뢰 시간값과 조합하는 단계를 포함하는 시간 모니터링 방법.
  44. 제41항에 있어서, 상기 제1 신뢰 시간값을 수신하는 단계는, 상기 신뢰성 기관이 네트워크를 통해 상기 클라이언트와 통신중인 동안 상기 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하는 단계를 포함하며,
    상기 제1 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 신뢰성 기관과의 통신을 종료하는 단계와,
    상기 신뢰성 기관과의 통신이 종료될 때의 시점에서 제2의 소정 주기가 경과된 후 상기 신뢰성 기관으로부터 제3 신뢰 시간값을 수신하는 단계와,
    상기 제3 신뢰 시간값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터 링 방법.
  45. 제44항에 있어서, 상기 제2 소정의 주기는 상기 제1 소정의 주기보다 짧은 시간 모니터링 방법.
  46. 시간을 모니터링하는 방법으로서,
    신뢰성 기관이 네트워크를 통해 클라이언트와 통신중인 동안 상기 클라이언트 외부의 상기 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하는 단계와,
    상기 제1 신뢰 시간값을 안전하게 저장하는 단계와,
    상기 제1 신뢰 시간값이 수신된 후 상기 신뢰성 기관과의 통신을 종료하는 단계와,
    상기 신뢰성 기관과의 통신이 종료될 때의 시점에서 제1의 소정 주기가 경과된 후 상기 신뢰성 기관으로부터 제2 신뢰 시간값을 수신하는 단계와,
    상기 클라이언트가 상기 신뢰성 기관과 통신중이 아닐 때 상기 제2 신뢰 시간값에 시간 오프셋값을 조합하여 연산된 시간값을 획득하는 단계 - 상기 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수이고, 상기 제1 카운터값은 상기 제2 신뢰 시간값에 대응하는 시점에 해당하며, 상기 제2 카운터값은 상기 연산된 시간값이 획득될 때의 시점에 해당함 -와,
    상기 연산된 시간값과 제3 카운터값 간의 차이가 제2의 소정 주기보다 짧은 경우 콘텐츠의 사용을 허용하는 단계를 포함하며,
    상기 제3 시간값은 상기 클라이언트가 상기 신뢰성 기관과 가장 최근에 통신을 구축할 때의 시점에 해당하는 시간 모니터링 방법.
  47. 제46항에 있어서, 상기 제2 신뢰 시간값, 상기 제1 카운터값, 및 상기 제3 시간값을 안전하게 저장하는 단계를 더 포함하는 시간 모니터링 방법.
  48. 제46항에 있어서, 상기 제1의 소정 주기는 상기 제2의 소정 주기보다 짧은 시간 모니터링 방법.
  49. 콘텐츠의 사용을 제어하며 처리부를 구비한 디바이스가 사용하는 제조물로서,
    상기 디바이스는 외부의 신뢰성 기관으로부터 데이터를 수신하며, 복수의 카운터값을 생성하기 위한 것이며,
    적어도 하나의 컴퓨터 프로그램이 내장된 적어도 하나의 컴퓨터 사용가능한 매체를 포함하며,
    상기 적어도 하나의 컴퓨터 프로그램은, 상기 디바이스가,
    상기 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하고,
    상기 제1 신뢰 시간값에 시간 오프셋값을 조합하여 연산된 시간값을 획득하며 - 상기 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수이고, 상기 제2 카운터값은 상기 연산된 시간값이 획득될 때의 시점에 해당하고, 상기 제 1 카운터값은 상기 제1 신뢰 시간값에 대응하는 시점에 해당함 -, 그리고
    상기 연산된 시간값과 제2 시간값 간의 차이가 제1의 소정 주기보다 짧은 경우 콘텐츠의 사용을 허용하는 것을 수행하게 하며,
    상기 제2 시간값은 상기 디바이스가 상기 신뢰성 기관과 가장 최근에 통신을 구축할 때의 시점에 해당하는 제조물.
  50. 콘텐츠의 사용을 제어하기 위한 시스템으로서,
    소프트웨어 루틴을 실행할 수 있는 처리부를 구비하며, 외부의 신뢰성 기관으로부터 데이터를 수신하며 복수의 카운터값을 생성하는 디바이스와,
    상기 처리부가 실행하는 프로그래밍 로직을 포함하며,
    상기 프로그래밍 로직은,
    상기 신뢰성 기관으로부터 제1 신뢰 시간값을 수신하는 수단과,
    상기 제1 신뢰 시간값에 시간 오프셋값을 조합하여 연산된 시간값을 획득하는 수단 - 상기 시간 오프셋값은 제2 카운터값과 제1 카운터값 간의 차이의 함수이고, 상기 제2 카운터값은 상기 연산된 시간값이 획득될 때의 시점에 해당하고, 상기 제1 카운터값은 상기 제1 신뢰 시간값에 대응하는 시점에 해당함 -과,
    상기 연산된 시간값과 제2 시간값 간의 차이가 제1의 소정 주기보다 짧은 경우 콘텐츠의 사용을 허용하는 수단을 포함하며,
    상기 제2 시간값은 상기 디바이스가 상기 신뢰성 기관과 가장 최근에 통신을 구축할 때의 시점에 해당하는 시스템.
KR1020087007678A 2005-11-28 2006-11-28 신뢰 시간을 이용한 디지털 권리 관리 KR20080069167A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/289,099 2005-11-28
US11/289,099 US7861308B2 (en) 2005-11-28 2005-11-28 Digital rights management using trusted time

Publications (1)

Publication Number Publication Date
KR20080069167A true KR20080069167A (ko) 2008-07-25

Family

ID=38089038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087007678A KR20080069167A (ko) 2005-11-28 2006-11-28 신뢰 시간을 이용한 디지털 권리 관리

Country Status (6)

Country Link
US (3) US7861308B2 (ko)
EP (1) EP1955545B1 (ko)
JP (1) JP2009517785A (ko)
KR (1) KR20080069167A (ko)
CN (2) CN102595194B (ko)
WO (1) WO2007076201A2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US7861308B2 (en) * 2005-11-28 2010-12-28 Sony Corporation Digital rights management using trusted time
JP4434169B2 (ja) * 2006-03-30 2010-03-17 ブラザー工業株式会社 情報処理装置、及び、プログラム
US20070244827A1 (en) * 2006-04-18 2007-10-18 Sony Corporation Method for Securing a Hard Drive and Preventing Cloning or Tampering Attacks
TWI506966B (zh) * 2006-05-09 2015-11-01 內數位科技公司 無線裝置安全時間功能
KR100784976B1 (ko) * 2006-10-12 2007-12-11 삼성전자주식회사 이동통신 단말기의 시계 운용 방법 및 장치
KR100869945B1 (ko) * 2006-11-03 2008-11-24 삼성전자주식회사 Drm 권한 개선 방법과 drm 권한 개선 컨텐츠 및 이를이용하는 휴대 단말기
US7895311B1 (en) * 2006-11-17 2011-02-22 Arthur W. Juenger Content distribution systems
KR101392863B1 (ko) * 2007-02-08 2014-05-12 삼성전자주식회사 Drm 디바이스의 시간 정보를 업데이트하기 위한 방법 및그 시스템
KR101448122B1 (ko) * 2007-11-07 2014-10-07 삼성전자 주식회사 시간 기반 drm 권한 관리 장치 및 방법
US8145910B1 (en) * 2008-02-29 2012-03-27 Adobe Systems Incorporated System and method to enforce collaboration rules for timestamps of a collaboration event
US7984320B2 (en) * 2008-03-28 2011-07-19 Apple Inc. Silent time tampering detection
KR101025162B1 (ko) * 2008-06-30 2011-03-31 삼성전자주식회사 휴대단말의 디지털 저작권 관리 타임 확보 방법 및 장치
CN102025704B (zh) * 2009-09-14 2015-05-13 中兴通讯股份有限公司 一种可重用票据使用方法及终端
CN102083194B (zh) * 2009-11-30 2014-12-03 电信科学技术研究院 时间信息发送与时间同步方法、系统和设备
CN102666559A (zh) * 2009-12-18 2012-09-12 佐治亚技术研究公司 筛选金属有机骨架材料
EP2572311A1 (en) 2010-05-21 2013-03-27 General instrument Corporation Digital rights management with irregular network access
ES2415506T5 (es) * 2010-06-09 2021-10-21 Abb Power Grids Switzerland Ag Sincronización de reloj segura
US9106645B1 (en) * 2011-01-26 2015-08-11 Symantec Corporation Automatic reset for time-based credentials on a mobile device
US9152771B2 (en) * 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
US8938625B2 (en) 2011-06-29 2015-01-20 Sonic Ip, Inc. Systems and methods for securing cryptographic data using timestamps
US20130004142A1 (en) * 2011-06-29 2013-01-03 Rovi Corp. Systems and methods for device authentication including timestamp validation
US8793793B2 (en) 2011-10-06 2014-07-29 Samsung Information Systems America, Inc. Method and apparatus for improved digital rights management
US8863310B2 (en) * 2011-10-06 2014-10-14 Samsung Information Systems America, Inc. Method and apparatus for improved digital rights management
US9239928B2 (en) * 2012-07-27 2016-01-19 Google Technology Holdings LLC Secure time for mobile devices
US20140067687A1 (en) * 2012-09-02 2014-03-06 Mpayme Ltd. Clone defence system for secure mobile payment
US9292712B2 (en) * 2012-09-28 2016-03-22 St-Ericsson Sa Method and apparatus for maintaining secure time
US20150242597A1 (en) * 2014-02-24 2015-08-27 Google Inc. Transferring authorization from an authenticated device to an unauthenticated device
WO2021232295A1 (zh) 2020-05-20 2021-11-25 新华三技术有限公司 软件许可信息的监控方法、装置、服务器及存储介质
CN112416450B (zh) * 2020-06-05 2023-02-17 上海哔哩哔哩科技有限公司 资源加密及展示方法及系统
US20220239968A1 (en) * 2021-01-22 2022-07-28 Arris Enterprises Llc System for content delivery estimation

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6393126B1 (en) * 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
US8868914B2 (en) * 1999-07-02 2014-10-21 Steven W. Teppler System and methods for distributing trusted time
US7409557B2 (en) * 1999-07-02 2008-08-05 Time Certain, Llc System and method for distributing trusted time
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks
US20050160272A1 (en) * 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US20020048396A1 (en) * 2000-09-20 2002-04-25 Bewley Wilbur C. Apparatus and method for three-dimensional scanning of a subject, fabrication of a natural color model therefrom, and the model produced thereby
US7272720B2 (en) * 2000-09-27 2007-09-18 Fujitsu Limited Date-and-time management device and signature generation apparatus with date-and-time management function
US7134144B2 (en) * 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US6760687B2 (en) * 2001-05-31 2004-07-06 Fisher-Rosemount Systems, Inc. Sequence of events detection in a process control system
US20030063750A1 (en) * 2001-09-26 2003-04-03 Alexander Medvinsky Unique on-line provisioning of user terminals allowing user authentication
US20030204738A1 (en) * 2002-04-30 2003-10-30 Morgan Stephen Paul System and method for secure distribution of digital content via a network
US7146504B2 (en) * 2002-06-13 2006-12-05 Microsoft Corporation Secure clock on computing device such as may be required in connection with a trust-based system
WO2005033892A2 (en) * 2003-10-03 2005-04-14 Sony Electronics, Inc. Rendering rights delegation system and method
US20050076183A1 (en) * 2003-10-07 2005-04-07 General Instrument Corporation Method and apparatus for enforcing timed agreements
JP2005128960A (ja) * 2003-10-27 2005-05-19 Sony Corp コンテンツの再生装置及び方法
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
FI20040085A (fi) * 2004-01-21 2005-07-22 Nokia Corp Menetelmä älykkään kellokontrollerin käyttämiseksi digitaalisten oikeuksien hallinnassa
US7500267B2 (en) * 2004-04-30 2009-03-03 Microsoft Corporation Systems and methods for disabling software components to protect digital media
US8271390B2 (en) * 2004-06-14 2012-09-18 Nokia Corporation Digital rights management (DRM) license manager
US7266714B2 (en) * 2004-06-15 2007-09-04 Dolby Laboratories Licensing Corporation Method an apparatus for adjusting the time of a clock if it is determined that the degree of adjustment is within a limit based on the clocks initial time
US7411868B2 (en) * 2004-11-14 2008-08-12 International Business Machines Corporation Estimation of time within untrusted time device disconnected from trusted time device
US8438645B2 (en) * 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8327448B2 (en) * 2005-06-22 2012-12-04 Intel Corporation Protected clock management based upon a non-trusted persistent time source
DE102005050352B4 (de) * 2005-10-20 2008-02-07 Infineon Technologies Ag Zeitangaben-Prüfeinheit, elektronisches Gerät und Verfahren zum Prüfen einer Zeitangabe
US7861308B2 (en) * 2005-11-28 2010-12-28 Sony Corporation Digital rights management using trusted time

Also Published As

Publication number Publication date
EP1955545B1 (en) 2016-04-06
US7861308B2 (en) 2010-12-28
US20110041186A1 (en) 2011-02-17
EP1955545A4 (en) 2013-11-13
CN102595194A (zh) 2012-07-18
EP1955545A2 (en) 2008-08-13
WO2007076201A2 (en) 2007-07-05
WO2007076201A3 (en) 2008-11-06
CN102595194B (zh) 2014-12-10
US20070124819A1 (en) 2007-05-31
CN101395843A (zh) 2009-03-25
CN101395843B (zh) 2012-04-25
US8239961B2 (en) 2012-08-07
US20110035812A1 (en) 2011-02-10
JP2009517785A (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
KR20080069167A (ko) 신뢰 시간을 이용한 디지털 권리 관리
EP0635790B1 (en) Client/server based secure timekeeping system
US7146504B2 (en) Secure clock on computing device such as may be required in connection with a trust-based system
US7203313B2 (en) Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7239708B2 (en) Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7437771B2 (en) Rendering protected digital content within a network of computing devices or the like
US9246916B2 (en) Specifying rights in a digital rights license according to events
US8473745B2 (en) Rights enforcement and usage reporting on a client device
US8572752B2 (en) Method and device for rights management
US7779249B2 (en) Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system
WO2022170810A1 (zh) 一种云存储数据的处理方法、装置及计算机系统
US9239928B2 (en) Secure time for mobile devices
KR100755708B1 (ko) 임시 라이센스를 사용하여 컨텐츠를 임시로 사용하는 방법및 장치
JPH10340230A (ja) データ保護装置

Legal Events

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