[go: up one dir, main page]

TW200907681A - Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and method for use therewith - Google Patents

Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and method for use therewith Download PDF

Info

Publication number
TW200907681A
TW200907681A TW097121254A TW97121254A TW200907681A TW 200907681 A TW200907681 A TW 200907681A TW 097121254 A TW097121254 A TW 097121254A TW 97121254 A TW97121254 A TW 97121254A TW 200907681 A TW200907681 A TW 200907681A
Authority
TW
Taiwan
Prior art keywords
time
memory device
drm
timestamp
memory
Prior art date
Application number
TW097121254A
Other languages
Chinese (zh)
Inventor
Michael Holtzman
Rotem Sela
Ron Barzilai
Fabrice E Jogand-Coulomb
Original Assignee
Sandisk Corp
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
Priority claimed from US11/811,348 external-priority patent/US20080307495A1/en
Priority claimed from US11/811,354 external-priority patent/US8688588B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200907681A publication Critical patent/TW200907681A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • 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

Landscapes

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

Abstract

A memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and a method for use therewith are disclosed. In one embodiment, a memory device receives a request to validate a DRM license stored on the memory device, wherein the DRM license is associated with a time stamp update policy (TUP) that specifies when a new time stamp is needed. Before attempting to validate the DRM license, the memory device determines if a new time stamp is needed based on the TUP associated with the DRM license. If a new time stamp is needed, the memory device receives the new time stamp and then attempts to validate the DRM license using a time estimate based on the new time stamp. Other embodiments are disclosed, and each of the embodiments can be used alone or together in combination.

Description

200907681 九、發明說明: 本申請案係關於美國專利申請案第11/811,284號"用於改 良時間估測之精準度之方法(Method for Improving Accuracy of a Time Estimate)” ;美國專利申請案第 11/8 11,347號”具有用於改良時間估測之精準度之電路的記 憶體裝置(Memory Device with Circuitry for Improving Accuracy of a Time Estimate)";美國專利申請案第 11/811,289號••用於改良用以向記憶體裝置鑑認實體的時間 ζ ) 估測之精準度之方法(Method for Improving Accuracy of a200907681 IX. INSTRUCTIONS: This application is related to US Patent Application No. 11/811,284 "Method for Improving Accuracy of a Time Estimate"; U.S. Patent Application No. 11/8 11,347 "Memory Device with Circuitry for Improving Accuracy of a Time Estimate"; US Patent Application No. 11/811,289 Method for improving the accuracy of the time to identify the entity to the memory device Method) Method for Improving Accuracy of a

Time Estimate Used to Authenticate an Entity to a Memory Device)";美國專利申請案第11/811,344號"具有用於改良 用以鑑認實體的時間估測之精準度之電路的記憶體裝置 (Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used to Authenticate an Entity)” ;美國專利 申請案第1 1/8 1 1,3 54號”用於改良在數位權利管理(DRM)授 . 權有效中使用的時間估測之精準度之方法(Method forTime Estimate Used to Authenticate an Entity to a Memory Device) "; US Patent Application No. 11/811,344 " Memory Device with a Circuit for Improving the Accuracy of Time Estimation for Entity Recognition (Memory) Device with Circuitry for Improving Accuracy of a Time Estimate Used to Authenticate an Entity)"; US Patent Application No. 1 1/8 1 1, 3 54" for improvement in the use of digital rights management (DRM) grants Method of estimating the accuracy of time (Method for

(J(J

Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation)";美國專利 申請案第1 1/811,348號”具有用於改良在數位權利管理 • (DRM)授權有效中使用的時間估測之精準度之電路的記憶 體裝置(Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation)";美國專利申請案 131992.doc 200907681 第11/8 11,346號"使用來自可信賴的主機裝置之時間之方法 (Method for Using Time from a Trusted Host Device)";及 美國專利申請案第11/81 1,345號,,使用來自信賴主機裝置之 時間之記憶體裝置(Memory Device Using Time from aImproving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation) "; US Patent Application No. 1 1/811, 348" has a time estimate for improving the use of digital rights management (DRM) authorization Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation "; US Patent Application 131992.doc 200907681 No. 11/8 11,346 "Method for Using Time from a Trusted Host Device"; and U.S. Patent Application Serial No. 11/81 1,345, using memory from a trusted host device Memory Device Using Time from a

Trust Host Device)" ’·該等申請案中之每一者正與本申請 案同在申請中,且被以引用的方式併入本文中。 【先前技術】 ΟEach of these applications is in the same application as the present application and is hereby incorporated by reference. [Prior Art] Ο

諸如來自 SanDisk Corporation之TrustedFlashTM記憶體裝 置的一些記憶體裝置需要知曉時間以便執行基於時間之操 作,諸如,數位權利管理(DRM)授權有效。由於此等操作 中涉及之安全問題,所以記憶體裝置可能不能夠信賴一主 機裝置提供正確的時間。雖然記憶體裝置可能夠自網路中 之可信賴的組件獲得正確時間,但在記憶嶺置需要知曉 時間之時’代管記憶體裝置之主機裝置可能未連接至網 路。記憶體裝置可經設計以量測其有效時間,但若記憶體 裝置不連續地量測有效時間(例如,若在量測開始^記 憶體裝置斷電)’ m自量測之有效時間產生的時間估 不為實際時間之真正量測1此,自量測之有效時 的時間估測實際僅指示實際時間可能為的下限, 估測可能不提供在某些基於時間之操作中需要的精準声: 雖然記憶體裝置可裝備有一電池備份時鐘以在即使記: 裝置不活動時也連續跟蹤時間 置的成本。 f里會増加冗憶體裝 【發明内容】 131992.doc 200907681 且不應將此章節中之任何 本發明由申請專利範圍界定, 内容看作對申請專利範圍之限制 一藉由介紹,以下描述之實施例提供一種具有用於改良數 字權利管理(DRM)授權有效的時間估測精準度之電路的記 憶體裝置及其使用方法。在-實_中,記㈣裝置接收 欲使儲存於記憶體裝置上之DRM授權有效之請求,其中 DRM授權與指定需要新時間戳之時間的時間戳更新策略 (TUP)相關聯。在試圖使dRM授權有效前,記憶體裝置基 於與DRM授權相關聯之TUP判定是否需要新時間戳。若需 要新時間戳,則該記憶體裝置接收新時間冑,且接著試圖 基於該新時間戳使用一時間估測來使DRM授權有效。在另 一實施例中,記憶體裝置接收欲使儲存於記憶體裝置上之Some memory devices, such as the TrustedFlashTM memory device from SanDisk Corporation, need to know the time to perform time-based operations, such as digital rights management (DRM) authorization. Due to the security issues involved in such operations, the memory device may not be able to rely on a host device to provide the correct time. While the memory device can be able to obtain the correct time from a trusted component in the network, the host device hosting the memory device may not be connected to the network when the memory needs to know the time. The memory device can be designed to measure its effective time, but if the memory device does not continuously measure the effective time (for example, if the measurement device starts to be powered off), the m is determined by the effective time of the measurement. The time estimate is not the actual measurement of the actual time. 1 The time estimate when the measurement is valid actually indicates only the lower limit that the actual time may be. The estimation may not provide the precise sound required in some time-based operations. : Although the memory device can be equipped with a battery backup clock to continuously track the cost of the time even if the device is inactive. The invention will be defined by the scope of the patent application. An example provides a memory device having circuitry for improving the accuracy of time estimation of digital rights management (DRM) authorization and methods of use thereof. In the real_me, the (4) device receives a request to validate the DRM authorization stored on the memory device, wherein the DRM authorization is associated with a timestamp update policy (TUP) specifying the time at which the new timestamp is required. Before attempting to validate the dRM grant, the memory device determines whether a new timestamp is needed based on the TUP associated with the DRM grant. If a new timestamp is required, the memory device receives the new time frame and then attempts to use the time estimate based on the new timestamp to validate the DRM authorization. In another embodiment, the memory device receives the memory device to be stored on the memory device.

複數個DRM授權中之一者有效的請求,其中每一 drm授 權與指定需要新時間戳之時間的不同τυρ相關聯。在試圖 使該複數個DRM授權中之一者有效前,該記憶體裝置基於 與複數個DRM授權中之一者相關聯的_ τυρ判定是否需要 新時間戳。若需要新時間戳, 則該記憶體裝置接收新時間 戳,且接著試圖基於該新時間戳使用一時間估測來使該複 數個DRM授權中之一者有效。其他實施例亦被揭示,且該 等實施例中之每一者可單獨或組合在一起加以使用。 現將參看附圖描述該等實施例。 【實施方式】 現轉至圖式,圖1為將用以說明此等實施例的系統1〇之 說明。如圖1中所示,系統10包含複數個記憶體裝置20、 131992.doc 200907681 《40其可移除式地與複數個各別主機裝置連接:個人 電腦(pc)5〇、數位媒體(例如,Μρ3)播放器6〇及行動電話 70。主機裝置為可自記憶料置讀取資料及/或將資料寫 入至°己隐體裝置之裝置。資料可包括(但不限於)數位媒體 内令諸如,音訊棺案或視訊檔案(具有或不具有音訊)、 ^像遊戲、書籍、地圖、資料標案或軟體程式。舉例而 p可自網路中之伺服器將資料下載至記憶體裝置上、 由製造商或其他篦二古箱备 弟一方預載入資料或者自另一裝置側載入A valid request for one of a plurality of DRM grants, wherein each drm authorization is associated with a different τυρ specifying the time at which a new timestamp is required. Before attempting to validate one of the plurality of DRM grants, the memory device determines whether a new timestamp is needed based on _τυρ associated with one of the plurality of DRM grants. If a new timestamp is needed, the memory device receives a new timestamp and then attempts to validate one of the plurality of DRM grants based on the new timestamp using a time estimate. Other embodiments are also disclosed, and each of the embodiments can be used alone or in combination. These embodiments will now be described with reference to the drawings. [Embodiment] Turning now to the drawings, Fig. 1 is a description of a system 1B for explaining the embodiments. As shown in FIG. 1, system 10 includes a plurality of memory devices 20, 131992.doc 200907681 "40 which is removably coupled to a plurality of individual host devices: a personal computer (PC) 5", digital media (eg, , Μ ρ3) player 6 〇 and mobile phone 70. The host device is a device that can read data from a memory device and/or write data to a hidden device. Information may include, but is not limited to, digital media such as audio files or video files (with or without audio), such as games, books, maps, data files, or software programs. For example, p can download data from the server in the network to the memory device, pre-load data from the manufacturer or other second-chamber side, or load from another device side.

(side-load)資料。 適形式,且不限於圖1中所示(side-load) information. Appropriate form, and is not limited to that shown in Figure 1.

__一 yCV 主機裝置可採取任 實例+例而5,主機裝置可採取以下形式:筆記型電 腦、、掌上型電腦、掌上型電子郵件/文字訊息器件、掌上 型遊戲機、視訊播对 播放器(例如’ DVD播放器或攜帶型視訊 播放器)_、音訊及/或視訊記錄器、數位相機、視訊轉換 器、顯示器裝置(例如,電視)、印表機、汽車立體聲系統 及導航系統。同檨,Φ诚驻 機裝置可含有混合功能性。舉例而 Ϊ二:裝置可為除了能夠打出及接聽電話呼叫之外亦能 媒體(例如,音樂及/或視訊)檀案之行動電話。 主機裝置(如PC5G騎㈣㈣)可具有㈣地連接至一 =如,網際網路80或無線網路9〇 ’雖然可使用其他 =作之能力。具有此能力之主機裝置在本文中將 被%作’經連接裝晋"。庙 : 經連接襄置"可能並不始 、實際連接至網路,諸如,當行動電㈣ 下操作時或當PC 50祐4成 仕+運接模式 C 50並未建立網際網路連接時。自身不具 I31992.doc 200907681 有通信地連接至一網路之能力的主機裝置(諸如,數位媒 體播放器60)在本文中將被稱作"不連接裝置"。藉由將不連 接裝置與經連接裝置連接,可使不連接裝置與一網路通 信’如圖1中所示’在該情況下,數位媒體播放器6〇連接 至PC 50。即使按此方式加以連接,若不連接裝置未經設 6十用於此功能性(例如,簡單的Mp3播放器),則不連接裝 置可能亦不能夠自網路取得資訊。在此情形下,網路中之 組件可能將資訊推送給該裝置。應注意,雖然圖丨展示正__ A yCV host device can take any example + example and 5, the host device can take the following forms: notebook computer, palm-sized computer, handheld email / text messaging device, handheld game console, video broadcast player (eg 'DVD player or portable video player'), audio and/or video recorders, digital cameras, video converters, display devices (eg TV), printers, car stereo systems and navigation systems. At the same time, the Φ Chengshang device can contain mixed functionality. For example, the device can be a mobile phone that can also media (for example, music and/or video) in addition to making and receiving phone calls. The host device (such as PC5G ride (4) (4)) can have (4) connected to a = for example, the Internet 80 or the wireless network 9 〇 ' although other capabilities can be used. A host device having this capability will be referred to herein as "connected". Temple: Connected device " may not start, actually connected to the network, such as when operating under the mobile (4) or when the PC 50 is in the 4th + transport mode C 50 does not establish an Internet connection . A host device (such as digital media player 60) that has its own ability to communicatively connect to a network will be referred to herein as "unconnected device". By connecting the unconnected device to the connected device, the unconnected device can communicate with a network as shown in Figure 1 in which case the digital media player 6 is connected to the PC 50. Even if connected in this way, if the device is not connected for this function (for example, a simple Mp3 player), the unconnected device may not be able to obtain information from the network. In this case, components in the network may push information to the device. It should be noted that although the map shows positive

經由有線連接連接至PC 50之數位媒體播放器60,但可使 用無線連接。類似地,術語"連接”及"耦接,,未必表示有線 連接或直接連接。 網路(例如,網際網路80或無線網路9〇)可允許經連接裝 置(或連接至經連接裝置之不連接裝置)存取外部組件,諸 如(但不限於)’可提供時間戳之時間伺服器100及可提供 DRM受保護内容及用於存取此内容之授權之數位權利管理 伺服器(DRM)110。以下將更詳細地描述此兩種伺服器。 雖然時間伺服器100與DRM伺服器110在圖}中經展示為分 開的裝置’但此等兩個伺服器可組合為一單一裝置。另 外,此等祠服器可含有其他功能性。同樣,若需要,可經 由網際網路8G及無線網路9時取不同於時間飼服器⑽及 DRM伺服器11〇之組件。 再次轉至圖式,圖2為一實施例 之圯憶體裝置200之方塊 圖,其採取記憶卡或記憶棒之形式。 胁壯® 、女圖2中所示’記憶 體衣置200包含非揮發性記憶體 平夕」(诸如,快閃記憶 131992.doc -10- 200907681 體)2 1 0及電路集合220。在此實施例中,非揮發性記憶體 陣列21 〇採取固態記憶體之形式,詳言之,快閃記憶體 21〇。應注意,可使用其他類型之固態記憶體來替代快閃 記憶體。亦應注意,可使用不同於固態記憶體之記憶體, 諸如(但不限於),磁碟或光學CD。同樣,為了簡單起見, ' 術語"電路"將在本文中用以指純硬體實施及/或組合的硬體/ 軟體(或韌體)實施。因此,”電路”可採取以下各物中之一 或多者之形式:特殊應用積體電路(ASIC)、可程式邏輯控 〇 制器、嵌入式微控制器及單板電腦,以及處理器及儲存可 由處理器執行之電腦可讀程式碼(例如,軟體或勒體)之電 腦可讀媒體。 圖2中之電路集合22〇含有複數個組件:一主機介面模組 (HIM)230、一快閃介面模組(FIM)24〇、一緩衝管理單元 (BMU)250、一 CPU 260及一硬體計時器塊270。HIM 230提 供用於主機裝置3〇〇之介面功能性,及FIM 24〇提供用於快 , 閃記憶體210之介面功能性。BMU 25〇包含用於提供加密/The digital media player 60 is connected to the PC 50 via a wired connection, but a wireless connection can be used. Similarly, the terms "connected" and "coupled, do not necessarily denote a wired connection or a direct connection. A network (e.g., Internet 80 or wireless network 9A) may allow a connected device (or connect to a connected device) The device's disconnected device) accesses external components such as, but not limited to, a time-stamped time server 100 and a digital rights management server that provides DRM protected content and authorization to access the content ( DRM) 110. These two servers will be described in more detail below. Although the time server 100 and the DRM server 110 are shown as separate devices in Figure}, these two servers can be combined into a single device. In addition, these servers may contain other functionality. Similarly, if necessary, components other than the time server (10) and the DRM server 11 may be accessed via the Internet 8G and the wireless network 9. 2 is a block diagram of a memory device 200 of an embodiment, which takes the form of a memory card or a memory stick. The memory device 200 shown in Tire 2 and Figure 2 contains non-volatile Memory eve" For example, flash memory 131992.doc -10- 200907681 body) 2 1 0 and circuit set 220. In this embodiment, the non-volatile memory array 21 is in the form of a solid state memory, in particular, a flash memory 21 〇. It should be noted that other types of solid state memory can be used in place of the flash memory. It should also be noted that memory other than solid state memory, such as, but not limited to, a magnetic disk or an optical CD may be used. Similarly, for the sake of simplicity, 'terms "circuits" will be used herein to refer to hardware/software (or firmware) implementations that are purely hardware implemented and/or combined. Thus, a "circuit" can take the form of one or more of the following: a special application integrated circuit (ASIC), a programmable logic controller, an embedded microcontroller, and a single board computer, as well as a processor and storage A computer readable medium readable by a processor, such as a software or a phantom. The circuit set 22 of FIG. 2 includes a plurality of components: a host interface module (HIM) 230, a flash interface module (FIM) 24, a buffer management unit (BMU) 250, a CPU 260, and a hard Body timer block 270. The HIM 230 provides interface functionality for the host device and the FIM 24 provides interface functionality for the flash memory 210. BMU 25〇 is included for providing encryption/

G 解讼功能性之密碼引擎252及分別用於與HIM 230及FIM 240通仏之主機直接記憶體存取(DMA)組件254及快閃 組件256。CPU 260執行儲存於CPU RAM 26〇及/或快閃記 憶體210中之軟體及韌體。以下結合記憶體裝置之量測時 間的此力來描述硬體計時器塊27〇。 έ己憶體裝置200之其他組件(諸如,用於可移除式地將記 憶體裝置200連接至主機裝置3〇〇之電及實體連接器)未展 不於圖2中以簡化該圖式。關於記憶體裝置2〇〇及其操作之 131992.doc 200907681 更夕-貝訊可發現於美國專利申請案第丨丨/3丨4 4丨丨號及第 11/557,028號中,該兩”請案皆被以引用的方式併入本 文中。額外貝§fi可發現於美國專利申請案第11/322,812號 及第11/322,766號中’該兩個巾請案皆被以引用的方式併 入本文中。彼等文獻中描述之組件及功能性不應被加到下 列申請專利範圍中,除非其中有明確的陳述。 在此實施例中,記憶體裝置2〇〇儲存用以解鎖儲存於記 憶體裝置200上之受保護的内容之數位權利管理(drm)密The cryptographically functional cryptographic engine 252 and the host direct memory access (DMA) component 254 and the flash component 256 are used for communication with the HIM 230 and the FIM 240, respectively. The CPU 260 executes the software and firmware stored in the CPU RAM 26 and/or the flash memory 210. The hardware timer block 27A is described below in conjunction with this force of the measurement time of the memory device. Other components of the device 200, such as electrical and physical connectors for removably connecting the memory device 200 to the host device 3, are not shown in FIG. 2 to simplify the drawing. . Regarding the memory device 2〇〇 and its operation, 131992.doc 200907681 E-Bai-Bai can be found in U.S. Patent Application Serial No./3丨4 4 No. and No. 11/557,028, The disclosures are hereby incorporated by reference. U.S. Patent Application Serial No. 11/322,812 and No. 11/322,766, the disclosure of which are incorporated herein by reference. In this document, the components and functionality described in the literature should not be added to the following claims unless explicitly stated therein. In this embodiment, the memory device 2 is stored for unlocking and stored in memory. Digital rights management (drm) of protected content on body device 200

鑰及授權。(應注意,亦可將此等實施例與並不儲存用以 解鎖儲存於記憶體裝置上之受保護的内容之DRM密鑰及授 權之d憶體裝置一起使用。)DRM密鑰及授權可由記憶體 裝置200產生或產生在記憶體裝置2〇〇之外部(例如,由 DRM伺服器11〇)且經發送至記憶體裝置2〇〇。由於drm密 鑰及授權與s己憶體裝置2〇〇 —起移動,所以受保護的内容 有效地與圮憶體裝置2〇〇相聯繫,而非主機裝置3〇〇,藉此 使受保護的内容可攜帶且可由能向記憶體裝置2〇〇證明其 為經批准的裝置之任一主機裝置存取。來自SanDiskKey and authorization. (It should be noted that these embodiments may also be used with DRM keys and authorized D memory devices that do not store protected content stored on the memory device.) DRM keys and authorizations may be used The memory device 200 is generated or generated external to the memory device 2 (eg, by the DRM server 11) and transmitted to the memory device 2A. Since the drm key and the authorization move together with the suffix device 2, the protected content is effectively associated with the memory device 2, instead of the host device 3, thereby being protected The content is portable and accessible by any host device that can prove to the memory device 2 that it is an approved device. From SanDisk

Corporation之TrustedFlashTM記憶體裝置為將drm密鑰及 授權儲存於記憶體裝置上的記憶體裝置之實例,使得受保 護的内容可與記憶體裝置一起移動。在一些實施例中,記 憶體裝置200亦藉由儲存於記憶體裝置200上之DRM密鑰來 使DRM授權有效,而在其他實施例中,記憶體裝置將 DRM密鑰提供至主機裝置300以供其藉由DRM密鑰來使 DRM授權有效。 131992.doc -12· 200907681 在此實施例中,記憶體裝置200之cpu 260執行安全儲存 應用程式(SSA)以確保僅具有適當憑證之經鑑認的實體可 存取DRM密鑰及授權。用於SSA之電腦可讀程式碼可儲存 於快閃記憶體210、CPU RAM 262或記憶體裝置2〇〇中之另 一儲存位置中。SSA更詳細地描述於以上提及之,〇28專利 申請案中。圖3為記憶體裝置200中將用以說明SSA之操作 的各種功旎模組之說明。如圖3中所示,記憶體裝置2〇〇包 含各種存取控制記錄(&quot;ACR&quot;):第一非對稱性AcR 2〇1、 第二非對稱性ACR 202及一對稱性ACR 203。第一非對稱 性ACR 201及第二非對稱性ACR 2〇2包含第一及第二時間 更新策略(分別為TUP1及TUP2),以下將更詳細地對其描 述雖然圖3中展示了多個ACR ’但記憶體裝置2〇〇可僅含 有單一 ACR。 每一 ACR 201、202及203指定待使用的鑑認方法及需要 何種憑證來提供實體之身份的證據。每一 ACR 2〇1、2〇2及 203亦含有執行各種動作(諸如’存取drm密鑰及授權)之 准許。一旦ACR已成功地鑑認了 一實體,則SSA系統打開 一會期’經由該會期,可執行ACR之動作中之任何者。如 本文中所使用,術語”實體&quot;指試圖存取記憶體裝置2〇〇之 任何人或事物。舉例而言,實體可為在主機裝置上執行之 應用程式、主機裝置自身或人類使用者。在圖3中,三個 實體正試圖存取記憶體裝置200 :媒體(例如,音訊及/或視 訊)播放器301、儲存應用程式3〇2及另一應用程式3〇3。此 等實體301、3〇2、303可處於同樣或不同的主機裝置上。 131992.doc 200907681 每一實體301、3 02、303與一特定ACR(分別為ACR 201、 ACR 202及ACR 203)相關聯。亦可使額外實體(未圖示)與 ACR 201、ACR 202及ACR 203中之一或多者相關聯。 當一實體起始一登入過程時,其發送對於鑑認之請求, 該請求包括其相關聯之ACR的識別符,該ACR指定待使用 的鑑認方法及需要何種憑證來提供實體之身份的證據。在 圖3中,ACR 201及ACR 202指定非對稱性鑑認方法,而 ACR 203指定對稱性鑑認方法。應注意,可使用其他鑑認 方法(諸如,基於密碼之程序),及ACR亦可指定不需要鑑 認。除了指定特定鑑認方法之外,ACR亦可含有一准許控 制記錄(PCR),其描述一旦經鑑認一實體可執行之動作。 一些鑑認機制(諸如,使用用於鑑認之X.509證書鏈的單 向及雙向非對稱性鑑認)可係基於時間,其需要記憶體裝 置200知曉時間以便驗證由實體呈現之憑證。(由對稱性 ACR 203使用之對稱性鑑認機制並不需要記憶體裝置200知 曉時間。在對稱性鑑認中,由一實體及其相關聯之ACR共 用的密鑰被用以鑑認該實體。)在非對稱性鏜認中,可能 需要時間來評估由一實體供應之憑證(諸如,RS A證書及/ 或證書廢止清單(CRL))是否有效。(如本文中所使用,”證 書''可指一單一證書或複數個證書(例如,一連串證書),及 ”CRL”可指一單一 CRL或複數個CRL。)在轉至記憶體裝置 200可用以產生執行此有效化之時間估測之機制前,將相 關於非對稱性鑑認來呈現證書及CRL之簡要論述。 非對稱性鑑認使用一公用密鑰基礎架構(PKI)系統,其 131992.doc •14- 200907681 中已知為認證機構(CA)之一可信賴的機構發出用於證明實 體之身份的RS A證書。希望確定身份之證據的實體藉由用 於證明其身份之充分證據向CA註冊。在實體之身份已經 對CA證明後,CA將一證書發出至該實體。該證書通常包 括發出該證書的CA之名稱、證書所發出至的實體之名 稱、實體之公用密鑰,及由CA之私密密鑰簽署(通常藉由 加密公用密鑰之摘要)的實體之公用密鑰。 證書可含有儲存期滿日期之資料欄位。在此情形下,擁 有證書之實體僅可在有限的時間量内存取由ACR保護之内 容(直至證書期滿)。證書亦可含有儲存未來有效性時間之 資料欄位。在此情形下,直至證書變得有效,ACR才將鑑 認實體。若記憶體裝置200判定當前日期在期滿日期後或 有效日期前(亦即,若記憶體裝置200判定證書並不有效), 則記憶體裝置200將不鑑認呈現該證書之實體。 各種情況(諸如,名稱改變、實體與CA之間的關聯性之 改變及私密密鑰之洩密或懷疑洩密)可使證書在其期滿曰 期前變得無效。在此等情況下,CA需要廢止該證書。在 操作中,CA週期性地發出證書廢止清單(CRL),其為經簽 署的資料結構,含有經廢止的證書之印有時間戳之清單。 因此,為了鑑認一實體,記憶體裝置200不僅檢查以查看 證書是否適時,且亦檢查CRL以查看證書是否列於CRL 上。(CRL可由實體與證書一起提供,或者記憶體裝置200 可獲得CRL自身(例如,經由網際網路80,若記憶體裝置 200為經連接裝置)。)若證書經列於CRL上,則證書不再有 131992.doc -15- 200907681 效(即使其尚未期滿),且實體將不被錕認。如同證書,發 出的CRL具有期滿日期’期滿日期指示應更新CRL之時 間。此確保記憶體裝置200正使用最新近的⑽。在鑑認 ::若記憶體裝置200發現當前時間過了 CRL之期滿曰 若記憶體裝置200判定CRL並不有效),則⑽被 5心為有缺陷,且較伟祕 权佳地不將其用於證書驗證。 Ο Ο 述’在此實施例中’記憶體裝置2〇〇需要知曉 驗證憑證(此處為證書及CRL)。存在允許記憶體 需要夫睡^在時間之若干選項。—選項為每當記憶體裝置 2要知曉時間時使該記憶體裒置經由一主機裝置自一可信 賴的時間伺服器請求時間戮。 戗此解決方案適合於經連接裝 =,由於記Μ裝置可用於經連接裝置以及 =(例如’未連接至網際網路之家㈣、则播放器、 节愔駚驻堪❼ 田在飛機上時))兩者中,所以當 D己隐體裝置需要知曉用於鑑 可利用μ 〇 往序之時間時其無法依賴於 份時ΓΓ —選項為給記憶體裳置裝備-電池備 伤時釦。然而,此可能 置增加了成本。又-選項為依賴:二 其自身所有之内部時鐘或來自描將時間(來自 置。然而,在許多情形下,記恃體供至記憶體裝 來楹徂牡、隹* 體裝置無法信賴主機裝置 填曰期=1允許使用者對主機裝置上之時鐘”倒 當前時門:二::(亦即’將主機裝置上之時鐘設定為比 田則時間早的時間),則使用者將 巧比 要執行之特定時間限制。另 δ己憶體裝置需 方面,若記憶體裝置(或在 131992.doc -16 - 200907681 該記憶體裝置中執行之庳 &lt;應用%式)可信賴主機裝置, 記憶體裝置(或在該記憶體 k 陪體震置中執行之應用程式)將能夠 依賴於主機裝置而獲得時 π 以下呈現當可使用主機時間 時之更多資訊。 了 1 此實施例中使用之另一遝 選項為使用記憶體裝置之有限的 時間跟縱能力;具體t^ _ 骽。之,圮憶體裝置200之量測其有效 時間之能力。有效時間可沪 町门了扎β己憶體裝置200連接至主機 置且實際使用(亦即,盥間罢斗、占 衣Corporation's TrustedFlashTM memory device is an example of a memory device that stores a drm key and authorization on a memory device such that the protected content can be moved with the memory device. In some embodiments, the memory device 200 also validates the DRM authorization by the DRM key stored on the memory device 200, while in other embodiments, the memory device provides the DRM key to the host device 300. It is used by the DRM key to make the DRM authorization effective. 131992.doc -12. 200907681 In this embodiment, the CPU 260 of the memory device 200 executes a Secure Storage Application (SSA) to ensure that only authenticated entities with appropriate credentials can access the DRM key and authorization. The computer readable code for the SSA can be stored in another storage location in the flash memory 210, CPU RAM 262 or memory device 2A. The SSA is described in more detail in the above mentioned application, 〇28 patent application. Figure 3 is an illustration of various power modules in the memory device 200 that will be used to illustrate the operation of the SSA. As shown in FIG. 3, the memory device 2 includes various access control records (&quot;ACR&quot;): a first asymmetry AcR 2 〇1, a second asymmetry ACR 202, and a symmetry ACR 203. The first asymmetry ACR 201 and the second asymmetry ACR 2〇2 include first and second time update strategies (TUP1 and TUP2, respectively), which will be described in more detail below, although multiple are shown in FIG. ACR 'but the memory device 2 〇〇 can only contain a single ACR. Each ACR 201, 202, and 203 specifies the authentication method to be used and the credentials required to provide evidence of the identity of the entity. Each ACR 2〇1, 2〇2, and 203 also contains permission to perform various actions, such as 'accessing the drm key and authorization. Once the ACR has successfully authenticated an entity, the SSA system opens for a period of time 'through the session, any of the ACR actions can be performed. As used herein, the term "entity" refers to any person or thing that attempts to access a memory device 2. For example, an entity may be an application executing on a host device, a host device itself, or a human user. In Figure 3, three entities are attempting to access the memory device 200: a media (e.g., audio and/or video) player 301, a storage application 3〇2, and another application 3〇3. 301, 3〇2, 303 may be on the same or different host devices. 131992.doc 200907681 Each entity 301, 03, 303 is associated with a particular ACR (ACR 201, ACR 202, and ACR 203, respectively). An additional entity (not shown) may be associated with one or more of ACR 201, ACR 202, and ACR 203. When an entity initiates a login process, it sends a request for authentication, the request including its correlation Associated with the ACR identifier, the ACR specifies the authentication method to be used and the evidence required to provide evidence of the identity of the entity. In Figure 3, ACR 201 and ACR 202 specify an asymmetry authentication method, while ACR 203 Specify the symmetry identification method. Any other authentication method (such as a password-based program) may be used, and the ACR may also specify that no authentication is required. In addition to specifying a specific authentication method, the ACR may also contain a grant control record (PCR), which is described. Once an action is recognized by an entity, some authentication mechanisms (such as one-way and two-way asymmetric identification using the X.509 certificate chain for authentication) may be based on time, which requires a memory device 200 knows the time in order to verify the credentials presented by the entity. (The symmetry authentication mechanism used by the symmetric ACR 203 does not require the memory device 200 to know the time. In symmetry authentication, an entity and its associated ACR The shared key is used to authenticate the entity.) In an asymmetric authentication, it may take time to evaluate whether the credentials supplied by an entity, such as RS A certificates and/or certificate revocation lists (CRLs), are valid. (As used herein, "certificate" may refer to a single certificate or a plurality of certificates (eg, a series of certificates), and "CRL" may refer to a single CRL or a plurality of CRLs.) Upon transfer to a memory device Before a mechanism 200 can be used to generate a time estimate for performing this validation, a brief discussion of the certificate and CRL will be presented with respect to asymmetry authentication. Asymmetric authentication uses a public key infrastructure (PKI) system, which is known in 131992.doc • 14-200907681 as a trusted institution of one of the certification authorities (CA) to issue RS A for the identity of the entity. certificate. An entity wishing to determine the identity is registered with the CA by sufficient evidence to prove its identity. After the identity of the entity has been certified by the CA, the CA issues a certificate to the entity. The certificate typically includes the name of the CA from which the certificate was issued, the name of the entity to which the certificate was issued, the public key of the entity, and the entity that was signed by the CA's private key (usually by encrypting the summary of the public key) Key. The certificate may contain a data field for the expiration date of the store. In this case, the entity with the certificate can only access the content protected by the ACR (until the certificate expires) for a limited amount of time. The certificate may also contain a data field for the time of storage of future validity. In this case, the ACR will not authenticate the entity until the certificate becomes valid. If the memory device 200 determines that the current date is after the expiration date or before the expiration date (i.e., if the memory device 200 determines that the certificate is not valid), the memory device 200 will not recognize the entity presenting the certificate. Various situations, such as name changes, changes in the association between an entity and a CA, and the disclosure or suspected compromise of a private key, can invalidate a certificate before its expiration. In these cases, the CA needs to revoke the certificate. In operation, the CA periodically issues a Certificate Revocation List (CRL), which is a signed data structure containing a time-stamped list of revoked certificates. Therefore, in order to authenticate an entity, the memory device 200 not only checks to see if the certificate is timely, but also checks the CRL to see if the certificate is listed on the CRL. (The CRL may be provided by the entity along with the certificate, or the memory device 200 may obtain the CRL itself (eg, via the Internet 80 if the memory device 200 is a connected device).) If the certificate is listed on the CRL, the certificate is not There will be 131992.doc -15- 200907681 (even if it has not expired), and the entity will not be recognized. Like a certificate, the issued CRL has an expiration date' expiration date indicating when the CRL should be updated. This ensures that the memory device 200 is using the most recent (10). In the identification: If the memory device 200 finds that the current time has passed the CRL period, if the memory device 200 determines that the CRL is not valid, then (10) is defective, and the superiority is not good. It is used for certificate verification.记忆 ’ </ RTI> In this embodiment, the memory device 2 needs to know the authentication credentials (here, the certificate and the CRL). There are several options that allow the memory to be able to sleep ^ in time. - The option is to cause the memory device to request a time from a trusted time server via a host device whenever the memory device 2 is to know the time.戗This solution is suitable for connected installations, because the recording device can be used for connected devices and = (for example, 'not connected to the Internet home (four), then the player, thrift station on the plane) ))), so when the D-concealed device needs to know that it can't rely on the share when it can be used for the time of the sequence, the option is to equip the memory device - the battery is wounded. However, this may increase the cost. Again - the option is dependent: two of its own internal clock or from the time of the trace (from the set. However, in many cases, the record is supplied to the memory to install the 楹徂 隹, 隹 * body device can not rely on the host device Filling period=1 allows the user to "down the current clock on the host device": 2:: (that is, 'set the clock on the host device to be earlier than the time of the field), then the user will be smarter than The specific time limit to be executed. In addition, the memory device (or the implementation of the memory device in 131992.doc -16 - 200907681) can rely on the host device, memory The body device (or the application executing in the memory k-synchronization) will be able to rely on the host device to obtain more information when the host time is available. 1 used in this embodiment Another option is to use the limited time and vertical ability of the memory device; specifically t^ _ 骽., the ability of the memory device 200 to measure its effective time. The effective time can be ok Body device 20 0 is connected to the host and is actually used (that is, the daytime fight, the occupation

CC

L 興閒置或處於休眠模式相比, 記憶體裝置200與主播#要)ΛΛ 機裝置300之間的匯流排上存在活動 時)之時間量。或者,有效昧Ρ卩&quot;T 4b ^ 畀效時間可指記憶體裝置200連接至 主機裝置300且自主機裝置3轉收功率之整個時間量。本 文中將可互換地使用術語”有效時間,,及&quot;使用時間&quot;。如下 所述’在此實施例中’當硬體計時器塊270可產生作為對 CPU 260的中斷的時鐘計時單元時,記憶體裝置細為有效 的,且CPU 260可遞增有效時間計數器。 在操作中,硬體計時器塊270(例如,ASIC控制器)含有 -產生週期性時鐘計時單元之振盈器,且將此等計時單元 提供至CPU 260作為中斷。(較佳地,振盈器以很低的頻率 操作且當CPU·休眠時運作。)因此,硬體計時器塊270 週期性地(例如,每毫秒或微秒)中斷CPU 260。當CPU 26〇 得到十斷時’一特殊時鐘中斷服務常式(例如,在由CPU 260執行之勃體中)被調用且將一週期/單元添加至有效時間 計數器,該有效時間計數器儲存於cpURAM 262中且亦= 非揮發性快閃記憶體210中,因此,若發生斷電,則計數 131992.doc -17- 200907681 =將不致丢失。為了避免對記憶體21〇之過度磨損較 佳地,記憶體㈣中之有效時間計數器經週期性地更新(例 如大約母分鐘,只要記憶體裝置2〇〇經通電卜而非回應 於每-_料單元。雖然若在更新有料料數器前發 生斷電’則此可導致經量測之時間的額外 ΟThe amount of time that L is idle or in the sleep mode, compared to when there is activity on the bus between the memory device 200 and the anchor device 300. Alternatively, the effective 昧Ρ卩&quot;T 4b ^ effect time may refer to the entire amount of time that the memory device 200 is connected to the host device 300 and the power is transferred from the host device 3. The terms "valid time," and "time of use" will be used interchangeably herein. As described below, in this embodiment, the hardware timer block 270 can generate a clock timing unit as an interrupt to the CPU 260. The memory device is finely active, and the CPU 260 can increment the active time counter. In operation, the hardware timer block 270 (eg, an ASIC controller) contains a vibrator that generates a periodic clock timing unit, and These timing units are provided to the CPU 260 as an interrupt. (Preferably, the oscillator operates at a very low frequency and operates when the CPU is asleep.) Thus, the hardware timer block 270 periodically (e.g., each The millisecond or microsecond interrupts the CPU 260. When the CPU 26 gets a ten-break, a special clock interrupt service routine (eg, in the body executed by the CPU 260) is called and a cycle/unit is added to the valid time. The counter, the valid time counter is stored in the cpURAM 262 and also in the non-volatile flash memory 210. Therefore, if a power outage occurs, the count 131992.doc -17-200907681 = will not be lost. Excessive wear of the body 21〇 preferably, the effective time counter in the memory (4) is periodically updated (e.g., about the mother minute, as long as the memory device 2 is energized instead of responding to each unit. If a power outage occurs before updating the material counter, this can result in additional time for the measured time.

於對記憶體耐久性之益處,此犧牲可被視為可接受。: 了進一步㈣記憶體耐久性,儲存至有效時間計數器之值 可包,指示計數器已被寫人的次數之攔位1寫入值超過 某-量’則可將計數器儲存於記憶體中之另一位置中。計 數器内之位元亦可被移位1此對耐久性有幫助。)亦較 佳地,至有效時間計數器之寫入不影響記憶體裝置2〇〇之 效能(除了執行寫入之功率消耗之外)及常規活動。(換言 之,較佳地,至冑效時間計數器之寫入為服務於主機命令 之過程的部分。)舉例而言,至有效時間計數器之寫入可 被處理為背景任務且在服務於主機裝置命令前加以執行。 在主機裝置命令結束時,記憶體裝置2〇〇中之韌體可藉由 自記憶體言賣it;資料且將其與所要錢行比較而驗證有效時 間計數器之程式化成功。 同樣,較佳地,有效時間計數器之值安全地儲存於記憶 體21 〇中(例如,使用密鑰雜凑訊息鑑認碼(HMAC)經由密 碼引擎252來簽署),以便不能容易地對其篡改。在簽名不 匹配之情況下,可將資料看作未經初始化,如同攻擊者對 其篡改。另外,應注意,可使用用於量測有效時間之其他 機制。 131992.doc 18- 200907681 cm 260用 中之儲存值轉換為真實時門 =26G用硬體計時器塊細產生時 w實時間, 存值。舉例而言,若值5_ ;:…頻率乘儲 體計時器塊270每5毫秒產生一時鐘二間計數器令且硬 將計算出2,500毫秒(5〇〇乘5)之有效時門早^,則CPU 260 測,將經轉譯之有效時間添加:體為了產生時間估 信賴的源接收之上一時間戳。換: = = = -可 線,其中記憶體裝置之量測的有 &quot;開始 戳。時間戮可採取任一形式,該時間 (例如,年、月、曰^拉、 所欲之精確程度 佳扯^ 時、分鐘、秒等)來指示時間。較 ^自記憶體裝置所信賴的給以精準時間 ^時間飼服器_或可信賴的主機裝置)向記憶體裝置 ^供日令間戮。時間戳可採取任—形式,且被單獨發送 括於其他資訊中。記憶體農置較佳地經由密碼引擎 安全地儲存時間戳’因此其不能容易地被篡改。當新 的時間戮由記憶體裝置2〇〇接收到時,將該新時間戮儲存 於記憶體裝置2〇0中’且重設有效時間計數器。因此,其 後將相關於新時間戳而非舊時間戮來量測有效時間。替代 重設(及因此,&quot;重算”)古+叙# 备; )汁數器,在新時間戳時存在的有效 時間計數器值可經記錄且自當前時間減去,以便量測有效 時間。 既然已論述了記憶«置之時間跟蹤能力,將描述鐘認 矛王序之實合J再久轉至圖式,圖4為一實施例之不對稱性 鑑認過程之協定圖。在以下實例中,播放器3〇ι正試圖經 131992.doc •19· 200907681 由ACR 201登入至記憶體裝置2〇〇。 μ - .Λ1 . , 刘以下更詳細地描述,This sacrifice can be considered acceptable for the benefit of memory durability. : Further (4) memory durability, the value stored in the valid time counter can be packaged, indicating that the counter has been written by the number of times the block 1 write value exceeds a certain amount, then the counter can be stored in the memory. In a position. The bits in the counter can also be shifted by one. This is useful for durability. It is also preferable that the writing to the valid time counter does not affect the performance of the memory device 2 (in addition to the power consumption of writing) and the regular activities. (In other words, preferably, the write to the time-of-day counter is part of the process that serves the host command.) For example, the write to the valid time counter can be processed as a background task and in servicing the host device command Execute before. At the end of the host device command, the firmware in the memory device 2 can be verified by staging the valid time counter by comparing it with the memory and comparing it with the desired money line. Also, preferably, the value of the valid time counter is securely stored in the memory 21 (e.g., signed using the key hash message authentication code (HMAC) via the cryptographic engine 252) so that it cannot be easily tampering with it. . In the case of a signature mismatch, the data can be treated as uninitialized, as the attacker tampers with it. In addition, it should be noted that other mechanisms for measuring the effective time can be used. 131992.doc 18- 200907681 cm 260 is used to convert the stored value into a real time gate =26G when the hardware timer block is used to generate the actual time, the stored value. For example, if the value 5_;:... frequency multiply memory timer block 270 generates a clock two counters every 5 milliseconds and hardly calculates a valid time gate of 2,500 milliseconds (5 〇〇 by 5), then The CPU 260 detects that the translated valid time is added: the body receives the timestamp in order to generate the time-reliable source. Change: = = = - can be lined, where the measurement of the memory device has a &quot;start stamp. Time 戮 can take any form, such as year, month, 拉 ^ pull, desired degree of precision, time, minute, second, etc. to indicate time. Compared with the memory device, which is trusted by the memory device, the time device is used to supply the device to the memory device. The timestamp can take any form and be sent separately in other information. The memory farm preferably securely stores the timestamp via the cryptographic engine&apos; so it cannot be easily tampered with. When a new time 戮 is received by the memory device 2, the new time 戮 is stored in the memory device 2 ’ 0 and the valid time counter is reset. Therefore, the effective time will then be measured in relation to the new timestamp instead of the old time 戮. Alternate reset (and therefore, &quot;recalculate") ancient + narration;) juice counter, the effective time counter value existing at the new timestamp can be recorded and subtracted from the current time to measure the effective time Now that we have discussed the memory tracking time, we will describe the actual combination of the clock and the sequence of the clock, and Figure 4 is an agreement diagram of the asymmetry identification process of an embodiment. In the following example The player 3〇ι is trying to log in to the memory device 2 by ACR 201 via 131992.doc •19·200907681. μ - .Λ1 . , Liu is described in more detail below.

播放益3 01含有憑證(例如,RS 在矯對、證 清單(CRL)),且ACR 2〇丨負責 曰及也θ廢止 磁㈣… 負貝確w播放器3〇1之真實性且將 權利杈予至物件(在此情況下,建 播放器301與DRiv^&amp; 〇7之間的女全通道)。如圖4中所 „ ,ΛΛ ^ _ T W不,第—步驟為主機裝 將對播放器3〇1之鑑認的請求發送至記憶體裝置 動作402)。若時間戳尚未安裝於記憶體裝置細中,則 記憶體裝置2〇(m-登人失敗訊息來回應鐘認請 404)。 接下來的-系列動作描述將時間戮提供至記憶體裝置 200之過程,且將結合圖5及圖6加以描述圖5及圖6分別 為說明記憶體裝置200可獲得時間戳之一特定方式之系統 圖及流程圖。應理解,記憶體裝置2〇〇可以不同方式獲得 時間戳及時間戳可採取不同形式。亦應理解,肖多個饲服 器或主機介面連接之單一記憶體裝置可同時處置多個形 式。因此,除非有明確的陳述,此實例之具體細節不應被 納入申請專利範圍中。 如圖5中所示,記憶體裝置200與主機裝置3〇〇經由一記 憶體裝置-主機裝置通信通道3〇5通信,及主機裝置3〇〇與 時間伺服器100經由主機裝置-時間伺服器通信通道3 15通 信。雖然時間伺服器100可包含一單一伺服器,但在此實 施例中’時間伺服器100包含經由伺服器間通信通道325相 互同步之複數個伺服器102、104、1〇6。同樣,如上所提 及’並不將時間伺服器1〇〇用於獲得時間戳,而可使用來 13I992.doc • 20· 200907681 自主機裝置300之時間戳,較佳地,僅當其為可信賴的主 機裝置時。 在此實施例中,請求時間戳之程序由主機裝置3 00起 始,主機裝置300將一得到臨時標誌、(get nonce)命令發送至 記憶體裝置200(動作405)(見圖4、圖5及圖6)。在此實施例 - 中,臨時標誌為由記憶體裝置200稍後用以驗證由時間伺 服器100產生的時間戳之真實性之160位元隨機數。記憶體 裝置200產生一隨機數(臨時標誌)(動作410)且將其儲存於 CPU RAM(亦即,揮發性記憶體)262(或另外,記憶體210) 中用於稍後驗證步驟。記憶體裝置200接著將該臨時標誌 發送至主機裝置300(動作415)。記憶體裝置200亦開始量測 時間(如下所述)以稍後判定是否已發生超時。 當主機裝置300接收到臨時標誌時,其將含有該臨時標 誌、之得到時間戳(get time stamp)請求發送至時間伺服器 100(動作420)。時間伺服器100用其私密密鑰簽署該時間 (例如,UTC Zulu格式下之世界時間)及臨時標誌。時間伺 Ο 服器1 00接著將一時間戳回應(在此實施例中,其包含臨時 標誌、時間戳、證書鏈及CRL鏈)發送至主機裝置300(動作 425)。(應注意,此證書及CRL係自時間伺服器100發送以 對其鑑認,且與經發送以鑑認播放器301之證書及CRL不 同。)主機裝置300接著將時間更新命令連同此回應發送至 記憶體裝置200(動作430)。回應於彼命令,記憶體裝置200 試圖驗證證書及CRL(動作435)。(再次,該證書及該CRL 與經發送以鑑認播放器301之證書及CRL不同。)如下所論 131992.doc -21 - 200907681 述,假定時間伺服器1 〇〇之證書及CRL之有效性週期為有 效的,而非與由記憶體裝置2〇〇產生之時間估測相對照來 檢查其有效性可為較佳的。若驗證失敗’則記憶體裝置 200重設揮發性記憶體262,且返回至閒置過程(動作44〇)。 若通過了證書及CRL之驗證(動作445),則記憶體裝置2〇〇 將回應中之臨時標誌與揮發性記憶體262中之臨時標誌比 較(動作450)。若比較失敗,則記憶體裝置重設揮發性記憶 體262,且返回至閒置過程(動作455) ^若比較成功,則記 ( ' 憶體裝置200將新時間戳儲存於記憶體210中,較佳地,按 防止篡改之安全方式儲存。 應注意,在記憶體裝置2〇〇產生了臨時標誌41〇且正等待 一回應(動作460)後,主機裝置3〇〇可將另一得到臨時標誌 命令發送至記憶體裝置200(動作465)係可能的。如上所提 到,在產生了臨時標誌後,記憶體裝置2〇〇開始量測時 間。右在經量測之時間達到某一超時極限前接收到新的臨 時標魏命令(465),則記憶體裝置細較佳地忽略新臨時標 命令(465)。然而,若在超時極限後接收到新臨時標誌命 7 (465) ’則記憶體裝置將重設揮發性記憶體且產生 一新的臨時標諸(動作470)。因此,臨時標瑞僅在有限時間 时效’且超時極限(”行進時間誤差”)為記憶體裝置200考 為。理地用來等待來自時間伺服器⑽之時間戳的 時間。 由於儲存於記憶體裝置2〇〇中之時間戳含有時間伺服器 100簽署資料事之時間,所以該時間戳中指示之時間可能 131992.doc -22* 200907681 並非主機裝置3 〇 〇請求時間戳之實際真實世界時間或 存時間戳之實際真實世界時間,其視時間: 之精確程度(例如,年、月、日、小時、分鐘、秒 达請求及接收回應過程中涉及之延遲而定。Play Yi 3 01 contains the voucher (for example, RS is in the Correction, Certified List (CRL)), and ACR 2〇丨 is responsible for and also θ abolishes the magnetic (four)... Negative and true player 3 〇 1 authenticity and will be right To the object (in this case, the female full channel between the player 301 and DRiv^&amp; 〇7). As shown in FIG. 4, ΛΛ ^ _ TW is not, the first step is that the host installs a request for authentication of the player 3〇1 to the memory device action 402). If the time stamp is not yet installed in the memory device, In the middle, the memory device 2〇(m-delete failure message responds to the clock request 404). The following series of actions describe the process of providing time 戮 to the memory device 200, and will be combined with FIG. 5 and FIG. 5 and FIG. 6 are respectively a system diagram and a flow chart illustrating a specific manner in which the memory device 200 can obtain a time stamp. It should be understood that the memory device 2 can obtain different time stamps and time stamps in different manners. Forms It should also be understood that a single memory device that is connected to multiple feeders or host interfaces can handle multiple forms at the same time. Therefore, specific details of this example should not be included in the scope of the patent application unless explicitly stated. As shown in FIG. 5, the memory device 200 communicates with the host device 3 via a memory device-host device communication channel 3〇5, and the host device 3〇〇 and the time server 100 via the host device-time servo The communication channel 3 15 communicates. Although the time server 100 can include a single server, in this embodiment the 'time server 100 includes a plurality of servers 102, 104, 1 that are synchronized with each other via the inter-server communication channel 325. 〇 6. Similarly, as mentioned above, 'the time server 1〇〇 is not used to obtain the time stamp, but can be used for the time stamp of the host device 300 from 13I992.doc • 20·200907681, preferably, only when When it is a trusted host device, in this embodiment, the program for requesting the timestamp is started by the host device 300, and the host device 300 sends a get flag command to the memory device 200. 405) (see Figures 4, 5, and 6). In this embodiment, the temporary flag is 160 bits that are later used by the memory device 200 to verify the authenticity of the timestamp generated by the time server 100. The random number. The memory device 200 generates a random number (temporary flag) (action 410) and stores it in the CPU RAM (i.e., volatile memory) 262 (or otherwise, the memory 210) for later verification. Step. Memory device 200 then The temporary flag is sent to the host device 300 (act 415). The memory device 200 also begins measuring time (described below) to determine later whether a timeout has occurred. When the host device 300 receives the temporary flag, it will A get time stamp request containing the temporary flag is sent to the time server 100 (act 420). The time server 100 signs the time with its private key (eg, UTM Zulu format world time) and The temporary flag server 00 then sends a timestamp response (in this embodiment, it includes a temporary flag, a timestamp, a certificate chain, and a CRL chain) to the host device 300 (act 425). (It should be noted that this certificate and CRL are sent from the time server 100 to authenticate it, and are different from the certificate and CRL sent to authenticate the player 301.) The host device 300 then sends a time update command along with this response. To the memory device 200 (act 430). In response to the command, the memory device 200 attempts to verify the certificate and CRL (act 435). (again, the certificate and the CRL are different from the certificate and CRL sent to authenticate the player 301.) As described in 131992.doc -21 - 200907681, the validity period of the certificate and CRL of the time server 1 is assumed. It may be preferred to check for effectiveness in comparison to the time estimate produced by the memory device 2〇〇. If the verification fails, the memory device 200 resets the volatile memory 262 and returns to the idle process (ACT 44). If the certificate and the CRL are verified (ACT 445), the memory device 2 比 compares the temporary flag in the response with the temporary flag in the volatile memory 262 (act 450). If the comparison fails, the memory device resets the volatile memory 262 and returns to the idle process (action 455). ^ If the comparison is successful, then the memory device 200 stores the new time stamp in the memory 210. Preferably, the storage is stored in a safe manner to prevent tampering. It should be noted that after the memory device 2 has generated the temporary flag 41 and is waiting for a response (ACT 460), the host device 3 can obtain another temporary flag. It is possible that a command is sent to the memory device 200 (act 465). As mentioned above, after the temporary flag is generated, the memory device 2 starts measuring time. The right reaches a certain timeout during the measured time. Upon receipt of a new temporary standard command (465) before the limit, the memory device finely ignores the new temporary command (465). However, if a new temporary flag is received after the timeout limit (465) ' The memory device will reset the volatile memory and generate a new temporary flag (act 470). Therefore, the temporary flag is only aging for a limited time 'and the timeout limit ("travel time error") is the memory device. 200 test for The time used to wait for the timestamp from the time server (10). Since the timestamp stored in the memory device 2 contains the time when the server 100 signs the data, the time indicated in the timestamp may be 131992. Doc -22* 200907681 is not the actual real-world time of the host device 3 requesting the timestamp or the actual real-world time of the timestamp, its apparent time: the degree of precision (eg, year, month, day, hour, minute, second) It depends on the delay involved in requesting and receiving responses.

寺私&amp;超日守週期可經設定為確保時間戳將具有由記憶體裝 置2〇0需要的精確程度之時間。因此,記憶體裝置200具二 對時間戳請求中之最大可接受延遲之控制。同樣,在替代 實把例中,由時間伺服器1GG產生之時間戮可指示一些其 他時間’諸如,主機裝置鳩請求時間戳之估測時間、時 間戳將被儲存於記憶體裝置2〇〇中之預期時間或某其 間。 以上協定允許記憶體裝置2〇〇與時間伺服器1〇〇在不安全 的連接性系統(例如’網際網路、WiFi網路、GSM網路等) 在5己憶體裝置200不能假定由時間伺服器100發送 之時間戳在傳輸期間將不被篡改的意義上,連接性系統係 不女全的。由於不能依賴於該網路來保護時間戳,所以以 上保護機制(或某其他保護機制)可用於時間伺服器100與記 隐體裝置200之間。加密協定使得若時間戳經篡改,則記 隐體#置2GG可伯測到此篡改。換言 &lt;,由於連接性系統 不安王,所以系統自身不能防止他人改變時間戳中之位 元,然而,記憶體裝置2〇〇可偵測到篡改且拒絕時間戳。 在替代實施例中,使用安全的通信系統(亦即,資料通 乜線又到保護),且由於無人可篡改時間戳,所以可簡單 地將時間戳作為明文發送。 131992.doc •23- 200907681 回至圖4,在新時間戳現在經儲存於記憶體裝置200中 憶體裝置_卜”時間更新成功’’訊息發送 回至主機裝置300(動作452),且主機裝置扇再—次將一鑑 認請求發送至記憶體裝置2〇〇(動作454)。由於記憶體裝^ 2〇0具有—時間戳,所以記憶體裝置2〇〇將檢查ACR 201之 時門戳更新朿略(TUP)(動作500)。由於時間估測係基於時 間戳,所以使時間估測基於過時的時間戳可導致不準確的 f 測因此,將TUP用以判定何時記憶體裝置200上 見有時間戳被遇為過時且需要更新(亦即,新時間戮)。 如圖3 t所示且如以下更詳細的論述,不同的acr可具有 不同的tup(亦即,不同的ACR可具有不同的時間容限位 準),該等不同的TUP可建立於當產生ACR時。 Ο 在此實施例中,TUP由四個值表示:⑴功率循環之臨限 數目,(2)有效時間之臨限值’ (3)”延伸的&quot;有效時間之臨 限值:及⑷指不在參數間是否存在邏輯或陶關係(亦 即’是否若僅單-參數不合格時將需要時間更新,或者是 否僅若所有參數均不合格時需要時間更新)之位元。以下 將洋細描述此等表數φ 息__ 哥爹數中之母者。(應注意,可考慮除了 此等參數外之其他參數或㈣此等參數之其他參數。) 圖7為展示檢查τυρ動作(動作5〇〇)之更多細節之流程 圖。、首先’進行一檢查以判定是否已初始化記憶體裝置 2/1以檢查TUP ’例如’藉由查看儲存於記憶體210中之組 〜、貝料(動作5G5) 〇若記憶體裝置2QG尚未經初始化來檢查 tup,則記憶體裝置2〇〇使用由記憶體裝置接收之上一 131992.doc -24- 200907681 時間戳來產生-時間估測(動作510)’且進行使用彼時間估 測來鑑認實體之嘗試。若記憶體裝置2〇〇已經初始化來檢 查TUP,則記憶體裝置200開始彼檢查。 首先,記憶體裝置200判定τυρ是否包括對自從上一時 間戳起的記憶體裝置之功率循環之數目的檢查(動作 5)在此實施例中,II由檢查以上提到的&quot;功率循環&quot;值 來進行此。若&quot;功率循環&quot;值為零’則不檢查功率循環之數 目。若&quot;功率循環,心為零,則將彼值作輕限值來檢杳 功率循環之數目。工Λ盅M Λ &amp; 上 一 力丰循環之數目為記憶體裝置2〇〇啟動 的次數之計數,JL招+ ώ , ^ 才日不自從上一時間戳起記憶體裝置200 經斷電之次數(亦即,對於每—次開啟電源,必定已存在 -次斷電)。功率揭環之數目可由⑽26〇量 體裝置200經歷—功率循 ^ 力年循%時,CPU 260可調用韌體中 裝置重設常式。如尤rDTT。 數器之,Μ 一單位添加至有效時間計 &quot; ,藉由裝置重設常式,CPU 260將一單位添 加至CPU RAM 262为/十▲ t 添The Temple &amp; Super Day period can be set to ensure that the time stamp will have the exact level of time required by the memory device 2〇0. Thus, the memory device 200 has control over the maximum acceptable delay in the two timestamp requests. Similarly, in the alternative example, the time 产生 generated by the time server 1GG may indicate some other time 'such as the estimated time of the host device 鸠 request time stamp, the time stamp will be stored in the memory device 2〇〇 The expected time or somewhere. The above agreement allows the memory device 2 to be connected to the time server 1 in an insecure connection system (eg 'Internet, WiFi network, GSM network, etc.) in the 5 memory device 200 cannot be assumed by time The connectivity system is not fully realized in the sense that the timestamp sent by the server 100 will not be tampered during transmission. Since the timestamp cannot be relied upon by the network, the above protection mechanism (or some other protection mechanism) can be used between the time server 100 and the cryptographic device 200. The encryption protocol allows the cryptogram to be falsified if the timestamp is tampered with. In other words, because the connectivity system is uneasy, the system itself cannot prevent others from changing the bits in the timestamp, however, the memory device 2 can detect tampering and reject the timestamp. In an alternate embodiment, a secure communication system is used (i.e., the data line is protected again), and since no one can tamper with the timestamp, the timestamp can simply be sent as a plaintext. 131992.doc • 23- 200907681 Returning to FIG. 4, the new timestamp is now stored in the memory device 200, and the message is sent back to the host device 300 (act 452), and the host is The device fan then sends an authentication request to the memory device 2 (action 454). Since the memory device has a time stamp, the memory device 2 will check the ACR 201 time gate. Stamp Update Strategy (TUP) (ACT 500). Since the time estimate is based on a timestamp, making the time estimate based on an outdated timestamp can result in an inaccurate f-test. Therefore, the TUP is used to determine when the memory device 200 is See above that there is a timestamp that is obsolete and needs to be updated (ie, new time 戮). As shown in Figure 3 t and as discussed in more detail below, different acr can have different tups (ie, different ACRs) There may be different time tolerance levels, and the different TUPs may be established when the ACR is generated. Ο In this embodiment, the TUP is represented by four values: (1) the number of thresholds of the power cycle, and (2) valid Time limit '(3)' extended &quot; effective time Threshold: and (4) means that there is no logical or ceramic relationship between the parameters (ie, 'whether it is only necessary if the single-parameter is unqualified, or if it needs time to update if all parameters are unqualified) yuan. The following is a detailed description of the mothers of these numbers φ 息 _ _ _ _ _. (It should be noted that other parameters besides these parameters or (iv) other parameters of these parameters may be considered.) Figure 7 is a flow chart showing more details of the check τυρ action (action 5〇〇). First, a check is made to determine whether the memory device 2/1 has been initialized to check the TUP 'for example' by viewing the group stored in the memory 210~, the bedding material (action 5G5), if the memory device 2QG has not been Initialization to check tup, the memory device 2 uses a 131992.doc -24-200907681 timestamp to generate a time estimate (act 510) from the memory device and uses the time estimate to Try to recognize the entity. If the memory device 2 has been initialized to check the TUP, the memory device 200 begins the check. First, the memory device 200 determines whether τ υ ρ includes a check on the number of power cycles of the memory device since the last time stamp (ACT 5). In this embodiment, II is checked by the above-mentioned &quot;power cycle&quot;; value to do this. If the &quot;power cycle&quot; value is zero, then the number of power cycles is not checked. If the &quot;power cycle, the heart is zero, then the value is used as a light limit to check the number of power cycles. The number of the last force cycle is the count of the number of times the memory device is activated. JL stroke + ώ , ^ The date is not from the previous time stamp. The memory device 200 is powered off. The number of times (that is, for each power-on, there must be already - power-off). The number of power uncovering loops can be experienced by (10) 26 〇 体 装置 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 Such as the special rDTT. A unit is added to the effective time meter &quot;, by the device resetting routine, the CPU 260 adds a unit to the CPU RAM 262 for / ten ▲ t

L 或5己憶體210中之功率循環計數器。 如同有效時間計數^ ° 可週期性地更新功率循環計數g w 減少記憶體磨損。 干调衣寸數以 當記憶體裝置2〇〇斷電眸 效時間表示之實際時至少某一不由量測 ⑽不能量測其有效^效&quot;時,記憶體袭置 功率循環之間過去了, 1)。因為記憶體裝置咖並不知曉 ,t _ 夕v時間,所以功率循環之數目並不 心不經Ϊ測之有效時〈数目並不 針县不多不精準。然而’其確實提供了 對疋否正在預期使頁扠仏了 、式外使用記憶體裝置2〇〇之初步印 131992.doc -25- 200907681 大㈣指示經量測之有效時間可能有多不精準。 ♦】而…自從上一時間戳以來記憶體裝置2 個功率循環時進行之時間估測可能比n 戮以來記憶體裝置一-單-功率循::進:: 間估測精準。 T遲仃之時 η ο 若TUP包括對功率循環之數目的檢查,則 2:°檢查自從上-時間戮以來記憶體裝置細的功率循= 目以查看數目是否超過在&quot;功率循環&quot;值中設定之臨限量 ==臨限數目係可對每—峨組W所欲 之時間谷限。舉例而言,若鑑認很敏感且需要確保尚未超 過證書或CRL之期滿日期,則可將臨限數目設定為一。因 此,若記憶體裝置200被關閉甚至一次(且因此,存在不可 由量測之有效時間說明之至少某一時間量),則此參數之 ™〔檢查將失敗。另一方面’若鐘認不敏感,則可將功率 循%之數目設定為一較高數目(或者甚至根本不加以考慮) 以允許TUP檢查通過,即使存在某數目個功率循環(及因 匕不由量/則之有效時間說明之某一時間量)。 右功率循環之數目的檢查失敗,且判定在τυρ參數間存 在0R關係(動作525),則TUP檢查失敗(動作53〇)。記憶體 裳置200將—指示失敗之訊息發送至主機裝置則,且將上 述程序用以獲得新的時間戮。若功率循環之數目的檢查通 過或者右其失敗且判定在TUP參數間不存在OR關係(動 )則該過程藉由判定TUP是否包括對自從上一時間 戳以來的有效時間之檢查(動作535)而繼續。 131992.doc -26- 200907681 類似於上述功率循環程序, 檢查有效時間。然而,若 ” 3、間值為零’則不 用作臨限秒數(或一些其 間*不為零’則將彼值 η 士 寺間卓位)來檢查有效時間。如 同功率循環之數目,臨限 能w β * 有效時間里可對每一 ACR加以組 〜、以反映所欲之時間容一 ..π+ 舣而巨,記憶體裝置200有 效的時間愈長,則經量測之古从士 另 m ^ 、之有效時間將有可能愈不精準》 囚此’右鐘認很敏感且赞通_ , 敏α且需要確保尚未超過證書或⑽之期 滿曰期’則可將量測之有效眭 .Λ, 有放時間的臨限量設定為很低。相 反,右鑑認並不敏感,則 —或&gt; ^ 將量/則之有效時間的臨限量設 疋為較南(或者甚至根本不加以考慮)。 效時間之檢查失敗’且判定在τυρ參數間存在0關 (動作叫,請Ρ檢查失敗(動作55G)。記憶體裝置2〇〇 將一指不失敗之訊息發送 用以獲得新的時間戳。若有放日=置300’且將上述程序 有效時間之檢查通過,或者若其 失敗且判定在T U P參數間不存在 个仔隹UR關係(動作545),則該 過程藉由判定TUP是否包括斟&quot; 从…、 匕括對@伸的”有效時間之檢查(動 作555)而繼續。 如上所提及,若記憶體裝置2〇〇不連續地量測有效時 間’則經量測之有效時間可能不為實際有效時間之真正量 測。亦即’若記憶體裝置 、 置為*活動&quot;(例如,當記憶體 裝置2 0 〇閒置或處於休眠模彳拉 ,.^ 、式夺,或者‘記憶體裝置200斷 電或當記憶體裝置2〇0被自主機裝置_移除時-在此實施 例中’引起硬體計時器塊270停止產生時鐘計時單元及/或 引起CPU 260停止對此等時鐘計時單元作出反應的無論何 131992.doc -27· 200907681 事件),則經量測之有效時間將小於自從量測開始所經過 的實際時間’目為當其不活動時在記憶體裝置細中不存 在任何事物來告訴其時間正在流逝。舉例而言,比方說, 在一月一日接收了-時間戳’且記憶體裝置200量測了兩 天:有效時間。(為了簡單起見,在此實例中,按天為單 位量測時間 '然而,如所提到,可使用任一所欲之時間單 ,:)因此,由記憶體裝置2〇〇在此時點產生之時間估測將 &quot;、日期為j二日(亦即,將兩天的有效時間添加至— 月日之上一時間戳)。若記憶體裝置200連續地量測了有 效時間’則此時間估測將精準地表示實際時間(假定硬體 計時器塊270及CPU 260精準地起作用)。,然而,若記憶體 裝置200未連續地量測有效時間(亦即,若記憶體裝置_ 在其開始量測有效時間後之任一時點時不活動),則時間 估測將不精準地表示實際時間。時間估測至多將指示實際 時間為至少-月三曰。實際時間可能為一月四曰或某稍後 Ο 時間(六月二十九曰、十一月二日、十二月五日、第二年 等)。因此,在動作540中的對有效時間之檢查可能不能給 出精準結果。 為了解決此問題,TUP可包括對&quot;延伸的”有效時間之檢 查(動作555及560)。&quot;延伸的&quot;有效時間為基於判定的先前 量測之有效時間之精準度而調整量測之有效時間的結果。 因此,若記憶體裝置200量測了三天的有效時間且知曉其 量測有效時間之上次或上若干次時間,則其產生為實際時 間之50%的值,記憶體裝置可用因數二來調整(或·,延們 13I992.doc •28· 200907681 量測的三天之有效時間而產生六天(因為所量測的 間為實際時間的50%)。關於&quot;延伸&quot;有效時間之額 述於美國專利申請案第11/811,284號之”The power cycle counter in the L or 5 memory 210. As with the effective time count ^ °, the power cycle count g w can be periodically updated to reduce memory wear. The number of dry adjustments is based on the fact that when the memory device 2 is turned off, the actual time is indicated by at least one of the measurements (10), and the memory power cycle is passed. , 1). Because the memory device is not known, t _ 夕 v time, so the number of power cycles is not effective without speculation. The number is not too accurate. However, 'it does provide a preliminary indication of whether or not the page is forked and the memory device is used. 131992.doc -25- 200907681 Large (four) indicates how effective the measurement time may be. . ♦] and... The time estimate of the memory device's 2 power cycles since the last timestamp may be more accurate than the n 戮 memory device one-single-power cycle::in::. When T is late η ο If the TUP includes a check on the number of power cycles, then 2:° checks the power cycle of the memory device since the last-time = = to see if the number exceeds the &quot;power cycle&quot; The threshold amount set in the value == the threshold number is the time limit for each 峨 group W. For example, if the authentication is sensitive and you need to ensure that the expiration date of the certificate or CRL has not been exceeded, you can set the threshold number to one. Thus, if the memory device 200 is turned off even once (and therefore, there is at least some amount of time that cannot be accounted for by the effective time of the measurement), the TM of the parameter will fail. On the other hand, if the clock is not sensitive, the number of power cycles can be set to a higher number (or even not considered at all) to allow the TUP to pass, even if there are a certain number of power cycles (and because of The quantity / then the effective time indicates the amount of time). The check of the number of right power cycles fails, and it is determined that there is a 0R relationship between the τ υ ρ parameters (ACT 525), then the TUP check fails (ACT 53). The memory slot 200 sends a message indicating the failure to the host device, and the above program is used to obtain a new time 戮. If the check of the number of power cycles passes or the right fails and it is determined that there is no OR relationship between the TUP parameters, the process determines whether the TUP includes a check for the valid time since the last timestamp (act 535). And continue. 131992.doc -26- 200907681 Similar to the above power cycle procedure, check the effective time. However, if "3, the value between zeros" is not used as a threshold number of seconds (or some of them are not zero, then the value of the value is η 士 寺 寺) to check the effective time. Like the number of power cycles, The limit energy w β * can be set to each ACR in the effective time to reflect the desired time. The π+ 舣 is huge, and the longer the memory device 200 is effective, the measured ancient士小 m ^, the effective time will be more accurate. Prisoner's right bell is very sensitive and praises _, sensitive α and need to ensure that the certificate has not been exceeded or the expiration of (10) period can be measured Effective 眭.Λ, the threshold for the release time is set to be very low. On the contrary, the right recognition is not sensitive, then – or &gt; ^ sets the threshold of the effective time of the quantity/then to be more south (or even Do not consider). The check of the validity time failed 'and it is judged that there is 0 off between the τυρ parameters (action call, please check failure (action 55G). The memory device 2 sends a message that does not fail to obtain New timestamp. If there is a day = set 300' and the above program is valid Passing, or if it fails and determines that there is no UR relationship between the TUP parameters (act 545), then the process determines whether the TUP includes 斟&quot; from ..., including the "extended" check (Action 555) continues. As mentioned above, if the memory device 2 does not continuously measure the effective time 'the measured effective time may not be the actual measurement of the actual effective time. That is, if the memory Body device, set to *active&quot; (for example, when the memory device is idle or in a sleep mode, .^, 式, or 'memory device 200 is powered off or when the memory device is 〇0 From the time when the host device_removed - in this embodiment 'causes the hardware timer block 270 to stop generating the clock timing unit and/or causes the CPU 260 to stop reacting to the clock timing unit, no matter what 131992.doc -27· 200907681 event), the measured effective time will be less than the actual time elapsed since the measurement began. The reason is that there is nothing in the memory device to tell that time is elapsed when it is inactive. For example, , Fang said that the timestamp was received on January 1 and the memory device 200 measured two days: the effective time. (For the sake of simplicity, in this example, the time is measured in days.] However, As mentioned, any desired time list can be used: :) Therefore, the time estimate generated by the memory device 2 at this point will be &quot;, date j is two days (ie, two days will be The effective time is added to — a timestamp above the day of the month. If the memory device 200 continuously measures the effective time' then this time estimate will accurately represent the actual time (assuming the hardware timer block 270 and the CPU 260 are accurate) The ground works). However, if the memory device 200 does not continuously measure the effective time (that is, if the memory device _ is inactive at any point after it starts measuring the effective time), the time estimate will not be accurately represented. real time. A time estimate of at most will indicate that the actual time is at least - three months. The actual time may be January 4th or some later time (June 29th, November 2nd, December 5th, 2nd year, etc.). Therefore, the check of the effective time in action 540 may not give an accurate result. In order to solve this problem, the TUP may include a check on the "extended" effective time (acts 555 and 560). The "extended" effective time is adjusted based on the accuracy of the valid time of the previous measurement of the decision. The result of the effective time. Therefore, if the memory device 200 measures the effective time of three days and knows that the measurement effective time is above or above the time, it is generated as a value of 50% of the actual time, and the memory The body device can be adjusted by a factor of two (or, for example, 13I992.doc •28·200907681 measured three days effective time and six days (because the measured time is 50% of the actual time). About &quot "Extension" is stated in US Patent Application No. 11/811,284.

Roving Ac瞻acy of a Time Esti_ “ &amp; Me, evice及美國專利申請案第11/8丨1,347號之”Memory Device with Cireuitry f〇r Impr〇ving 八⑽叫 〇f &amp;Roving Ac acy of a Time Esti_ " &amp; Me, evice and U.S. Patent Application Serial No. 11/8,1,347" Memory Device with Cireuitry f〇r Impr〇ving Eight (10) is called 〇f &amp;

Estimate&quot;中,該兩個申請案與本申請案同在申請中,且以 引用的方式併入本文中。 ί Γ ί... 代替使用&quot;延伸之&quot;有效時間,可使用&quot;延伸之”停機時 間。停機時間指記憶體裝置2〇〇在時間戮之間不活動之時 間量。由於不存在量測記憶體裝置200無效的時間長度之 方式’所以停機時間為—計算數;具體言之,停機時^ 時間戳之間的實際時間·有效時間。,,延伸之&quot;停機時間為基 於判定的先前量測之有效時間之精準度而調整的停機時間 計算(或者基於經量測之有效時間的停機時間)。下列為可 考慮的其他停機時間變化之實例之清單。在此清單中, &quot;DownTime&quot;指&quot;延伸之”停機時間(例如,先前知曉之時間 戳之間的停機時間之平均值)。 總停機時間估測(teD〇WnTime) : (timestampi_timestampi’其中指數i自記憶 體裝置200中組態之第二時間戳至最後的時間戳。 對於-特定時刻的自從上一時間戳之當前— (:D〇Wntime)。此可相對於自從上一時間戳更新的功率循 %(pc)之數目來計算(cD〇wntime=自從上一時間戮之Μ* 131992.doc •29· 200907681 (teDownTime/PC))或相對於自從上一時間戳更新的有效時 間來計算(cDowntime=自上一時間戳起之ActiveTime* (teDownTime/ActiveTime))。 若DownTime參數經組態為不使用,則可將…則们邮值 設定為0。 若DownTime參數經組態為被使用,則將D〇wnTime設定 為1。s己憶體裝置200將使用DownTime特性按以下方式來 4估何時需要時間戳更新:當serviceTime(例如,證書之 有效性或CRL之有效性)-時間估測&lt;D〇wnTime時,需要時 間戳更新。 返回至圖7,若&quot;延伸之&quot;有效時間的檢查失敗(動作 560),則TUP之檢查失敗(動作565),且記憶體裝置2〇〇將 一訊息發送至主機裝置300。接著將上述程序用以獲得新 的時間戳。若&quot;延伸之”有效時間的檢查通過(或者若記憶體 裝置200未經初始化來檢查tup),則記憶體裝置2〇〇將一 TUP通過”訊息510、570發送回至主機裝置3〇〇(見圖4)。 ’主機裝置300接著將實體之證書及CRL發送至記憶體裝置 200,且該a己憶體裝置試圖鏗認該實體(動作μ〗)。具體言 之,記憶體裝置200將基於上次接收之時間戳及量測之有 效時間產生一時間估測以驗證證書(動作585)及驗證 CRL(動作590)。若證書及CRL之期滿時間在產生之時間估 測後,則記憶體裝置2〇〇將一 〇κ訊息發送回至主機裝置 3 00,及若存在,則可執行鑑認方法中之其他步驟。若實 體經鑑認,則ACR 20 1將實體權利授予至物件(此處,藉由 131992.doc -30- 200907681 在播放器301與DRM模組207之間建立一安全通道)。否 則,若證書及/或CRL已誠,則記憶體裝置2〇〇可^將敍述 鑑認嘗試已失敗之訊息發送至主機裳置300。如上所述, 主機裝置300可又起始一時間戳更新。 如上所提到’藉由將經量測之有效時間添加至上一時間 戳來產生用於鑑認嘗試之時間估測。由於經量測之有效時 間可能不精準,所以以上論述之”時間延伸&quot;技術可用以改 良時間估測之精準度 '然而,,,延伸之&quot;有效時間可能實際 ' 上比實際時間大。在檢查tup之情況下,此&quot;過度延伸之·, 有效時間將導致新的時間戳。然而,在驗證證書或crl之 h況下過度延伸之有效時間可防止另外的適當實體被 鑑認。因此,當產生用於鑑認之時間估測時,可能需要不 使用&quot;時間延伸”。 總之,藉由以上方法,記憶體裝置2〇〇接收鑑認一實體 之請求,且在試圖鑑認該實體前,記憶體裝置2〇〇判定是 &gt; 否需要新的時間戳。若需要新的時間戳,則記憶體裝置 # 200獲得該新的時間戳且接著試圖藉由基於新時間戳產生 時間估測且將該時間估測與證書及/或(:111^有效性週期比較 來鑑認實體。若不需要新的時間m,則記憶體裝置試圖藉 由基於上—時間戳產生時間估測且將該時間估測與證書及/ 或CRL有效性週期比較來鑑認實體。 應注意,在此實施例中,Tup經檢查’且若需要,則在 鑑認實體前獲得一新的時間戳。換言之,檢查τυρ及獲得 新時間戳並不需要在檢查τυρ前或獲得新時間戳前鑑認該 131992.doc 200907681 實體。此與使用單一伺服器提供時間戳及drm授權之系統 形成對比。此伺服器將需要在給記憶體裝置提供時間戳 (或其他資訊)前對記憶體裝置鑑認。此呈現”第二十二條軍 規(catch 22)&quot;的情形-為了鏗認該伺服器’需要一新時間, 但僅可在已鑑認了伺服器後才能獲得新時間戳。為了避免 此It形,一些先别技術系統在鑑認過程中完全不使用時 間°雖,然避免了以上&quot;第二十二條軍規,•情形,但忽略時間 可導致鑑認不應被鑑認之實體(例如,因為其證書及/或 CRL已期滿;)。 藉由將時間伺服器100與試圖對記憶體裝置2〇〇鑑認之實 體分開,記憶體裝置200在播放器3G1與記憶體裝置之時間 模、、且204之間產生一”自由通道”,其允許播放器自時間 飼服器U)0傳遞-時間戳更新(見圖3)。此時間戳將接著用 以產生一時間估測,可與該時間估測相對照地確認實體之 憑證以用於鑑認。”自由通道”指在不首先鑑認實體之情況 下建立的通信管線。相反,&quot;安全通道”指僅在鑑認了—實 體後建立之管線。 應,主意’雖然播放器3G1不需要被鐘認以便將其用作— 管道以對記憶體裝置200供應來自時間伺服器1〇〇之時間 戳’但較佳地’鑑認時間伺服器1〇〇以確保時間戳來自可 信賴之源。此展示於圖4及圖6中之動作435中,在動作切 中在接受其時間戳前驗證時間飼服器⑽之證書及 CRL。然而’為了避免以上論述之”第二十二條軍規,,情 °己隐體裝置200較佳地假定時間飼服器_之證書及 131992.doc -32- 200907681 CRL之有效性週期有效,且因此並不與產生之時間估測相 對照來驗證有效週期。 當對記憶體裝置200鑑認一實體時,其可執行在ACR之 准許控制記錄(PCR)中闡明之各種動作。舉例而言,再次 參看圖3,播放器3〇1可與DRM模組2〇7經由一安全通道通 信以試圖存取記憶體裝置200中受保護之内容2〇5。(作為 另一實例,用於儲存應用程式302之ACR允許應用程式3〇2 將受保護之内容205儲存於記憶體裝置2〇〇中。)即使播放 1 器301已經鑑認,由於内容受保護,所以DRM模組2〇7仍將 試圖在解鎖受保護之内容前使用於受保護之内容2〇5的 DRM授權206有效(例如,藉由判定授權是否仍有效或是否 其已期滿)。為了進行此’ DRM模組207將請求來自記憶體 裝置200中之時間模組204之時間估測。(時間模組2〇4指用 以儲存且產生用以產生時間估測(例如,時間戳、有效時 間、功率循環之數目、&quot;延伸”&quot;因數&quot;等)之各種分量的上述 軟體及/或硬體。)DRM模組207將產生之時間估測與授權 J 206中之期滿曰期及/或有效性週期比較以判定授權是否有 效。DRM模組207可執行額外檢查來使授權有效,諸如(但 不限於),判定受保護之内容205是否已經播放過比指定次 數多的次數。 如上所提到’時間戳愈新近,則時間估測將有可能愈精 準。在以上實施例中,ACR中之TUP判定是否需要一時間 戳更新。因此,TUP有效地判定對於DRM授權有效而言, 產生之時間估測將有多精準。在判定TUP之參數過程中, 131992.doc -33- 200907681 需要在服務提供者(其提供具有期滿考慮因素的服務)之需 要與末端使用者(當其需要將其主機裝置連接至一網路以 便得到新時間戳時,可能使其不方便)之需要之間達成平 衡。若時間容限太鬆,則服務提供者可放鬆收入。另一方 面,若時間容限太嚴,若頻繁地連接至網路以獲得需要之 時間®更新太煩人,則末端使用者可能決定放棄該服務。 當記憶體裝置200具有一具有單一τυρ之單一 acr(或多 個ACR皆共用同- TUP)時,該單一&quot;一體適用(_ _如 )all)&quot; TUP可能不能對於所有服務提供者達成正確的平衡。 因此,在此實施财,記憶體裝置2〇〇具有複數個acr 201 ' ACR 202,每-者具有—可由其相關聯之服務提供者 組態之不同的TUP(TUP!、丁UP2)。如上所論述,經由使用 不同ACR,記憶體裝置2〇〇可經组態以使用不同鑑認方案 (對稱f生、非對稱性鑑認等)進行鑑認。不同八⑶之使用亦 允許實現可組態之時間容限。亦即,經由在acr中使用可 態之TUP,服務提供者可藉由指定何時記憶體裝置之時 ’ fei告知參數(例如,有效時間、功率循環之數目、&quot;延伸之&quot; 有效時間/停機時間)中之—❹者經考慮為過時且應觸發 寺間截更新來界其自身的時間容限。藉由使了仰可组 態’服務提供者可根據其特定需要及其與末端使用者之關 係來組態其時間容限,而非依賴於_單一的&quot;一體適用&quot; TUP。 舉例而δ,-些服務提供者發布證書用於非常短之時間 (Ή 十刀如)。藉由迫使末端使用者每當其想要在記憶 131992.doc -34- 200907681 體裝置200上使用服務時就得到新證書,服務提供者可密 切地監視末端❹者之行為騎算每次末端使黯請求證 書時之費Μ。因此’對於此商業模型,為了 f幣化,服務 提供者需要嚴格的容限。作為另一實例,若服務提供者且 有流動性很大的末端❹者衫基礎,則㈣務提供者; 能希望頻繁地撤銷證書’作為其商業模型之主要部分。在 此情形下,服務提供者將亦需要嚴格的時間容限,以確保 正將最新的CRL用於鑑認。另—方面,若服務提供者正提 供按月預訂服務(其中使用者將定期地連接至服務提供者 之網站以得到新内容及接收強迫的時間戳更新),則服務 提供者將不需要那麼嚴格的時間容限,因為末端使用者將 有可能連接至該網路以得到新内容。 替代在ACR上使用可組態iTup或除了在ACR上使用可 組態之TUP外’可將可組態之τυρ置於個別内容片之〇讀 授權上。以此方式,替代同等地處理所有内容片之經鑑認 實體,可迫使該實體對於某一内容獲得新時間戳,同時對 於其他内容使用現有時間戳。(與僅在鑑認期間檢查的 ACR上之TUP不同,可每當DRM模組2〇7正試圖使授權有 效時檢查授權上之TUP。) 舉例而言,考慮其中使用者將兩小時電影連同表示僅可 在24小時内觀看該電影之授權下載至其記憶體裝置的情 升7雖然服務提供者可能不想要使用者在24小時週期後觀 貝電影’但其可能亦不想要藉由使常規使用者連接至網路 以獲得新時間戳來使常規使用者不方便。因此,服務提供 131992.doc 35· 200907681 =可決定在授權上設置-TUP,若有效時間大於四小時(觀 賞兩小時的電影兩次所需要之有效時間量),則該τυρ要求 新時間戳。若當DRM模組207試圖使授權有效時,有效時 間大於四小時,則使用者將不能夠觀賞電影-未必因為授 權期滿,而係因為需要新時間戳。(代替有效時間或除了 有效時間之外,在TUP中可使用功率循環之數目。舉例而 言,基於平均使用模式,十個或十個以上的功率循環可指The two applications are the same as in the present application, and are hereby incorporated by reference. ί Γ ί... Instead of using the &quot;extended&quot; effective time, you can use the &quot;extended&quot; downtime. The downtime is the amount of time that the memory device 2 is inactive between time 。. The way to measure the length of time in which the memory device 200 is inactive is 'therefore, the downtime is the number of calculations; specifically, the actual time and the effective time between the timestamps when the device is stopped ^, the extended &quot;downtime is based on the determination The downtime calculation of the adjusted effective time of the previous measurement (or the downtime based on the measured effective time). The following is a list of other examples of downtime changes that can be considered. In this list, &quot ;DownTime&quot; refers to &quot;extended&quot; downtime (e.g., the average of downtime between previously known timestamps). Total downtime estimate (teD〇WnTime): (timestampi_timestampi' where the index i is from the second timestamp configured in the memory device 200 to the last timestamp. For the current timestamp since the specific timestamp - ( :D〇Wntime). This can be calculated relative to the number of power cycles %(pc) updated since the last timestamp (cD〇wntime=自 since the last time* 131992.doc •29· 200907681 (teDownTime/ PC)) or relative to the effective time since the last timestamp update (cDowntime=ActiveTime* (teDownTime/ActiveTime) since the last timestamp). If the DownTime parameter is configured to not be used, then... Then the mail value is set to 0. If the DownTime parameter is configured to be used, D〇wnTime is set to 1. The suffix device 200 will use the DownTime feature to estimate when a timestamp update is needed: serviceTime (for example, the validity of the certificate or the validity of the CRL) - time estimate is required when the time estimate &lt;D〇wnTime. Returning to Figure 7, if the &quot;extended&quot; validity time check fails (action 560 ), then TUP check The action is lost (act 565), and the memory device 2 sends a message to the host device 300. The program is then used to obtain a new timestamp. If the &quot;extended&quot; effective time check passes (or if the memory The device 200 is uninitialized to check tup), and the memory device 2 sends a TUP back to the host device 3 via the "messages 510, 570 (see Figure 4). The host device 300 then passes the certificate of the entity and The CRL is sent to the memory device 200, and the a memory device attempts to recognize the entity (action μ). Specifically, the memory device 200 generates a time based on the last received time stamp and the measured effective time. Time estimation to verify the certificate (act 585) and verify the CRL (act 590). If the expiration of the certificate and the CRL is estimated after the time of generation, the memory device 2 sends a κ message back to the host Apparatus 300, and if present, may perform other steps in the authentication method. If the entity is authenticated, ACR 20 1 grants the entity right to the object (here, played by 131992.doc -30-200907681) 301 and DRM module 207 A secure channel is established. Otherwise, if the certificate and/or the CRL is true, the memory device 2 can send a message stating that the authentication attempt has failed to the host device 300. As described above, the host device 300 can Start a timestamp update again. As mentioned above, the time estimate for the authentication attempt is generated by adding the measured effective time to the previous time stamp. Since the effective time of the measurement may be inaccurate, the "time extension" technique discussed above can be used to improve the accuracy of the time estimate. However, the extended "effective time" may actually be larger than the actual time. In the case of checking tup, this &quot;excessive extension&quot;, the effective time will result in a new timestamp. However, the validity of the over-extension in the case of verifying the certificate or crl prevents the other appropriate entity from being authenticated. Therefore, when generating a time estimate for authentication, it may be necessary to not use &quot;time extension." In summary, by the above method, the memory device 2 receives a request to authenticate an entity, and before attempting to authenticate the entity, the memory device 2 determines that it is &gt; whether a new time stamp is required. If a new timestamp is needed, the memory device #200 obtains the new timestamp and then attempts to generate a time estimate based on the new timestamp and estimates the time with the certificate and/or (: 111^ validity period Compare to identify the entity. If a new time m is not required, the memory device attempts to authenticate the entity by generating a time estimate based on the up-timestamp and comparing the time estimate to the certificate and/or CRL validity period It should be noted that in this embodiment, Tup is checked 'and if necessary, a new timestamp is obtained before the entity is authenticated. In other words, checking τυρ and obtaining a new timestamp does not require a new check or τυρ Identify the 131992.doc 200907681 entity before the timestamp. This is in contrast to a system that uses a single server to provide timestamps and drm authorization. This server will need to provide a timestamp (or other information) to the memory device before it is remembered. Body device identification. This presents the "Catch 22" situation - in order to recognize the server, it takes a new time, but only after the server has been authenticated to obtain a new time In order to avoid this It shape, some prior art systems do not use time at all during the identification process. Although they avoid the above "22nd military regulations," the situation, but ignoring the time can lead to identification. The entity to be authenticated (eg, because its certificate and/or CRL has expired;). The memory device 200 is playing by separating the time server 100 from the entity attempting to authenticate the memory device 2 A time channel between the device 3G1 and the memory device, and 204 creates a "free channel" that allows the player to pass a timestamp update from the time feeder U) 0 (see Figure 3). To generate a time estimate, the entity's credentials can be confirmed for verification in contrast to the time estimate. "Free channel" refers to a communication pipeline established without first authenticating the entity. Instead, &quot; "Safe channel" means a pipeline that is established only after the entity has been identified. Should, the idea 'although the player 3G1 does not need to be queried for use as a pipe to supply the memory device 200 with a timestamp from the time server 1 'but preferably' the authentication time server 1〇 〇 to ensure that the timestamp comes from a trusted source. This is illustrated in act 435 of Figures 4 and 6, in which the certificate and CRL of the time server (10) are verified prior to accepting its time stamp. However, in order to avoid the above-mentioned 22nd military regulations, it is preferable to assume that the validity period of the time-feeding device and the 131992.doc-32-200907681 CRL is valid, and Therefore, the valid period is not verified against the time estimate produced. When an entity is authenticated to the memory device 200, it can perform various actions clarified in the ACR's admission control record (PCR). For example, Referring again to FIG. 3, the player 3.1 can communicate with the DRM module 2〇7 via a secure channel in an attempt to access protected content 2〇5 in the memory device 200. (As another example, for storing applications The ACR of the program 302 allows the application 3〇2 to store the protected content 205 in the memory device 2〇〇.) Even if the player 1 301 has been authenticated, since the content is protected, the DRM module 2〇7 will still The DRM authorization 206 attempting to use the protected content 2〇5 prior to unlocking the protected content is valid (eg, by determining if the authorization is still valid or has expired). In order to proceed with this 'DRM module 207 will request From memory device The time estimate of the time module 204 in 200. (Time module 2〇4 refers to the storage and generation to generate the time estimate (eg, timestamp, effective time, number of power cycles, &quot;extension&quot;&quot The above-mentioned software and/or hardware of various components of the factor &quot;etc.) The DRM module 207 compares the generated time estimate with the expiration period and/or validity period in the authorization J 206 to determine whether the authorization is authorized effective. The DRM module 207 can perform additional checks to validate the authorization, such as, but not limited to, determining whether the protected content 205 has been played a greater number of times than a specified number of times. As mentioned above, the more recent the timestamp, the more accurate the time estimate will be. In the above embodiment, the TUP in the ACR determines whether a time stamp update is required. Therefore, the TUP effectively determines how accurate the time estimate will be for the DRM authorization to be valid. In determining the parameters of the TUP, 131992.doc -33- 200907681 requires the need for the service provider (which provides services with expiration considerations) and the end user (when it needs to connect its host device to a network) A balance is made between the need to make a new timestamp, which may make it inconvenient. If the time tolerance is too loose, the service provider can relax the income. On the other hand, if the time tolerance is too strict, if you frequently connect to the network to get the time needed о update is too annoying, the end user may decide to give up the service. When the memory device 200 has a single acr with a single τυρ (or multiple ACRs share the same - TUP), the single &quot;integrated (__))all)&quot; TUP may not be achieved for all service providers The right balance. Thus, in this implementation, the memory device 2 has a plurality of acr 201 ' ACRs 202, each having a different TUP (TUP!, D2) that can be configured by its associated service provider. As discussed above, via different ACRs, the memory device 2 can be configured to be authenticated using different authentication schemes (symmetric f, asymmetry, etc.). The use of different eight (3) also allows for configurable time tolerance. That is, by using the TUP in the acr, the service provider can inform the parameter by specifying when the memory device is available (eg, effective time, number of power cycles, &quot;extended&quot; effective time/ In the case of downtime, the latter is considered to be outdated and should trigger the inter-chapter update to define its own time tolerance. By enabling the service provider to configure its time tolerance based on its specific needs and its relationship with the end user, rather than relying on the _single &quot;one-piece application&quot; TUP. For example, δ, some service providers issue certificates for very short periods of time (Ή十刀如). By forcing the end user to get a new certificate whenever he wants to use the service on memory 131992.doc -34- 200907681 body device 200, the service provider can closely monitor the behavior of the end leader by riding each end. Μ Fees for requesting a certificate. Therefore, for this business model, service providers need strict tolerance for f currencyization. As another example, if the service provider has a highly mobile end-user basis, then (iv) the provider; it may be desirable to revoke the certificate frequently as an integral part of its business model. In this case, the service provider will also need strict time tolerance to ensure that the latest CRL is being used for authentication. On the other hand, if the service provider is providing a monthly subscription service where the user will periodically connect to the service provider's website to get new content and receive forced timestamp updates, then the service provider will not need to be as strict Time tolerance because end users will likely connect to the network to get new content. Instead of using a configurable iTup on the ACR or using a configurable TUP on the ACR, the configurable τυρ can be placed on the read permission of the individual piece of content. In this way, instead of treating the authenticated entities of all content slices equally, the entity can be forced to obtain a new timestamp for a certain content while using an existing timestamp for other content. (Unlike the TUP on the ACR checked only during the authentication period, the authorized TUP can be checked whenever the DRM module 2〇7 is trying to make the authorization valid.) For example, consider where the user will take the two-hour movie together Indicates that the movie can only be downloaded to its memory device within 24 hours. Although the service provider may not want the user to watch the movie after the 24-hour period, it may not want to make it conventional. Users connect to the network to get a new timestamp to make it inconvenient for regular users. Therefore, the service provider 131992.doc 35· 200907681 = can decide to set -TUP on the authorization, if the effective time is greater than four hours (the amount of time required to watch the two-hour movie twice), then the τυρ requires a new timestamp. If the DRM module 207 attempts to make the authorization valid, the effective time is greater than four hours, then the user will not be able to watch the movie - not necessarily because the authorization expires, but because a new time stamp is needed. (Instead of or in addition to the effective time, the number of power cycles can be used in the TUP. For example, based on the average usage mode, ten or more power cycles may refer to

不記憶體裝置被使用了大於24小時。)若藉由新時間戮產 生之時間估測指示該授權有效,則DRM模組2〇7將允許再 次播放電影。 藉由允許tup可對於每一授權加以組態,可定製τυρ使 其適σ於内谷。因此,若替代在24小時後電影期滿電影 在-週後期滿’則可不同地設定授權上之時間容限。舉例 而言,若服務提供者估測平肖而言每天使用記憶體装置1〇 小時,則服務提供者可設定授權中之τυρ以在7〇小時的有 效時間(亦即,每天10小時乘7天)後觸發時間更新。作為另 實例’若並非兩小時電影,内容為三分鐘的僅應觀賞一 次之計次付費視訊,則τυρ可經設計使得在三分鐘之有效 時間後將需要新時間戳。 在《又4 TUP過a中,服務提供者之商業模型亦可為考慮 因素。舉例而·r,當前,按月預訂服務為用於分配受保護 音樂權利的風行商業_。在音樂預訂服務巾,使用者&quot;自 服務提供者之網站隨意下載其想要的音樂,且被允許在— 月内隨便播放彼音樂任意次數。在彼月後,使用者將需 ^l^.doc • 36 - 200907681 要更新其預訂以更新授權;否則,授權將期滿,且使用者 將不再能夠播放儲存於其記憶體震置上之音樂。頻繁訪問 服務提供者之網站以獲得更多歌曲之使用者將接收到新: 時間戮(當其連接至網站時),因此其記憶體裝置將能夠提 供較精準的時間估測。然而,下載相對大量的音樂之使用 纟可未必在按月授權期滿前重連接至服務提供者之網站。 t❹者最終重連接輯得更多音樂時,服務提供者可針 對允許使用者在授權期限範圍外播放音樂之時間向使用者 〇 ㈣。由於此,作為—商⑽型,按月預訂之服務提供者 可能想要與計次付費内容的服務提供者很不相同之時間容 限,在計次付費内容的情況下,使用者可不返回至其接收 到計次付費内容之網站。在此情形下,由於使用者可能在 按月預訂服務中回來獲取比在使用付費服務中多的音樂, 所以服務提供者可能不想要嚴格的時間容限,因為此可能 藉由要求使用者獲得新時間戳(即使其原本將最終返回至 、罔站)而使’肖費者感到煩亂。具有較不嚴格之時間容限可 …月從不返回至服務提供者之網站的消費者將能夠比一 個月之授權期限更長時間地播放音樂(例如,在—個月之 有效時間而非-個月之實際時間内)。然而,總而言之, 服務提供者可決定此未批准之使用為可接受的犧牲,以便 避免使返回之消費者不方便及煩亂。 作為另-實例’考慮其中當使用者正使用其行動電話播 放來自記憶體裝置之音訊或視訊内容時服務提供者想要將 點廣告(pomt adverting)提供至行動電話的商業模型。若 131992.doc -37- 200907681 點廣告含有係關於在正播放内容時行動電話之位置附近的 商店之廣告,則需要在正播放内容時將主機裝置連接至網 路;否則,不能傳遞位置特定的點廣告。為了確保此發 生,可將内容之TUP設定為很低量(例如,一分鐘之有效時 間)以確保使用者將連接至網路以得到新時間戳。一旦使 - 用者連接至網路,則網路將知曉行動電話之位置且將能夠 將適當的廣告内容推送至該行動電話。另一方面,若服務 提供者僅藉由知曉内容被播放的次數來賺錢,則時間容限 f) 可寬鬆地多。 如由以上實例展示,經由在授權檔案上使用可組態之 TUP,特定时之服務提供者可進行其認為適當的關於時 間更新的任何平衡,使得不藉由要求其消費者將其主機裝 置連接至網路進行時間戳更新來使消費者須亂。應注意, 由於此實施例中之s己憶體裝置為具有多個之多用途、 多應用記憶體裝置,所以記憶體裝置上之一服務可在某一 «後㈣,同時記憶體裝置上之其他服務仍被啟用:、亦 即,一播放器(即使經鑑認)可能能夠播放記憶體裝置上之 某内谷,但可能被防止播放記憶體裝置上之其他内容, 除非由於與不同内容之授權相關聯之不同TUP而獲得新時 間戳。 如上所說明’在此等實施例中,記憶體裝置包含兩個分 T的組件.-中心安全系統及—或多個與該中心安全系統 分開之應用程式。(由於應用程式與中心安全系統分開, 所以有時在本文中將應用程式稱作”延伸,,或&quot;内部延伸”。) 131992.doc •38- 200907681 在圖3中所不之實施例中,應用程式採取dr職組207之形 式然而,可使用其他應用程式,諸如,提供(例如)電子 商務、銀行、信用卡、電子貨幣、生物測定、存取控制、 個人資料或安全電子郵件功能性之應用程式。亦應注意 到’雖然在圖3中之記憶冑裝置2〇〇中僅展示一單一應用程 ' 式,但记憶體裝置可具有若干應用程式(例如,一 DRM模 組及一電子商務模組)。 經由使用ACR,中心安全系統鑑認一試圖經由記憶體裝 〇 4内部之應用程式(例如,DRM代理程式)存取儲存於記憶 體裝置中之受保護的資料片之實體。一旦實體對記憶體裝 置鑑認,則在該實體與由該ACR指定用以鑑認實體之應用 程式之間打開一安全會期。該實體接著將命令/請求發送 至相關聯之應用程式以存取受保護之資料。以此方式,中 心安全系統充當對記憶體裝置之主要監控者。如在以上提 及之1 1/557,028專利申請案中較詳細地描述,中心安全系 f 統亦可隔離在記憶體裝置2〇〇上執行之各種應用程式,使 -應用程式不能存取與一不同應用程式相關聯之資料。 雖然中心、S全系、统提供一存取控制機㈣,且保護儲存於 記憶體裝置中之資料,使得資料僅由適當批准之實體存 取,但中心安全系統自身可能不能夠理解及處理其正保護 之特定資料。能理解且處理受保護之資料的為正在記憶體 裝置上執打之應用程式。舉例而言,若受保護之資料為 DRM授權’則DRM代理程式(非中心安全系統)將能夠使授 權有效。因此’可將該中心安全系統當作一可組態之與應 131992.doc •39- 200907681 用程式無關之工具箱。在操作中,服務提供者將一應用程 式置於記憶體裝置上且界定一使一特定實體與該應用程式 相關聯之ACR。自中心安全系統之觀點看來,其並不知曉 該應用程式做何事情(例如,該應用程式是提供DRM授權 有效,還是提供電子商務功能性等),但確實知曉僅允許 根據彼特定ACR鑑認之實體與在彼ACR中界定之應用程式 通信。一旦一實體已由中心安全系統鑑認,則該中心安全 系統打開該實體與該應用程式之間的一安全通道。No memory devices were used for more than 24 hours. If the time estimate generated by the new time 指示 indicates that the authorization is valid, the DRM module 2〇7 will allow the movie to be played again. By allowing tup to be configured for each grant, τυρ can be customized to fit within the valley. Therefore, if the movie expires after the 24 hours, the film expires at the end of the week, then the time tolerance for the authorization can be set differently. For example, if the service provider estimates that the memory device is used for 1 hour per day, the service provider can set the τυρ in the authorization to be valid for 7 hours (ie, 10 hours per day by 7). Time update is triggered after days). As a further example, if it is not a two-hour movie, the content is three minutes and only one pay-per-view video should be viewed. τυρ can be designed such that a new time stamp will be required after three minutes of validity. In the 4th TUP, the business model of the service provider can also be considered. For example, r, current, monthly subscription service is a popular business for distributing protected music rights. In the music reservation service towel, the user &quot; from the service provider's website freely downloads the music he wants, and is allowed to play his music any number of times in a month. After the month, the user will need to ^l^.doc • 36 - 200907681 to update their reservation to update the authorization; otherwise, the authorization will expire and the user will no longer be able to play the memory stored on their memory. music. Users who frequently visit the service provider's website to get more songs will receive a new: Time 戮 (when they are connected to the website), so their memory devices will be able to provide a more accurate time estimate. However, downloading a relatively large amount of music may not reconnect to the service provider's website until the monthly license expires. When the viewer finally reconnects to compose more music, the service provider can slap the user to the time when the user is allowed to play music outside the authorized period (4). Because of this, as a business (10) type, a monthly subscription service provider may want a very different time tolerance from the service provider who pays the paid content. In the case of the paid content, the user may not return to It receives a website that pays for paid content. In this case, since the user may come back to get more music in the monthly subscription service than in the paid service, the service provider may not want strict time tolerance because this may require the user to obtain new The time stamp (even if it would eventually return to the station) would make the Xiao Feier feel annoyed. With less stringent time tolerances, consumers who never return to the service provider's website in the month will be able to play music for a longer period of time than the one-month license period (for example, at -month effective time instead of - The actual time of the month). In summary, however, the service provider may determine that this unapproved use is an acceptable sacrifice in order to avoid inconvenience and confusion for the returning consumer. As another example, consider a business model in which a service provider wants to provide pomt adverting to a mobile phone when the user is using his mobile phone to play audio or video content from the memory device. If the 131992.doc -37- 200907681 point advertisement contains an advertisement for a store near the location of the mobile phone while the content is being played, the host device needs to be connected to the network while the content is being played; otherwise, the location-specific Click on the ad. To ensure this, the TUP of the content can be set to a very low amount (for example, one minute effective time) to ensure that the user will connect to the network to get a new timestamp. Once the user is connected to the network, the network will know the location of the mobile phone and will be able to push the appropriate advertising content to the mobile phone. On the other hand, if the service provider only makes money by knowing the number of times the content is played, the time margin f) can be loosely increased. As demonstrated by the above example, by using a configurable TUP on the authorization profile, the service provider at a particular time can make any balance as it deems appropriate with respect to the time update so that it is not required to connect its host device to its consumer. Timestamp updates to the network to make consumers messy. It should be noted that since the simon memory device in this embodiment has a plurality of multi-purpose, multi-application memory devices, one of the services on the memory device can be on a certain (four), at the same time, the memory device. Other services are still enabled: that is, a player (even if authenticated) may be able to play a certain valley on the memory device, but may be prevented from playing other content on the memory device, unless due to different content A new timestamp is obtained by authorizing the associated different TUPs. As explained above, in these embodiments, the memory device includes two components that are divided into T. - a central security system and - or a plurality of applications separate from the central security system. (Because the application is separate from the central security system, the application is sometimes referred to herein as "extension," or "internal extension." 131992.doc •38- 200907681 In the embodiment of Figure 3 The application takes the form of the dr job group 207. However, other applications can be used, such as providing, for example, e-commerce, banking, credit card, electronic money, biometrics, access control, personal data or secure email functionality. application. It should also be noted that although although only a single application is shown in the memory device 2 of FIG. 3, the memory device may have several applications (for example, a DRM module and an e-commerce module). ). By using ACR, the central security system recognizes an entity that attempts to access a protected piece of information stored in the memory device via an application (e.g., a DRM agent) internal to the memory device. Once the entity authenticates the memory device, a secure session is opened between the entity and the application designated by the ACR to authenticate the entity. The entity then sends the command/request to the associated application to access the protected material. In this way, the central security system acts as the primary monitor of the memory device. As described in more detail in the above-referenced 1 1/557,028 patent application, the central security system can also isolate various applications executing on the memory device 2, such that the application cannot access and Information associated with different applications. Although the center, the S system provides an access control machine (4), and protects the data stored in the memory device, so that the data is only accessed by an appropriately approved entity, the central security system itself may not be able to understand and handle it. Specific information being protected. An application that is capable of understanding and processing protected data is being executed on a memory device. For example, if the protected material is DRM authorized, then the DRM agent (non-central security system) will be able to make the authorization valid. Therefore, the central security system can be considered as a configurable toolbox that is not related to the program of 131992.doc •39- 200907681. In operation, the service provider places an application on the memory device and defines an ACR that associates a particular entity with the application. From the point of view of the central security system, it does not know what the application does (for example, whether the application provides DRM authorization, or provides e-commerce functionality, etc.), but does know that it only allows for specific ACR The entity is identified as communicating with the application defined in the ACR. Once an entity has been authenticated by the central security system, the central security system opens a secure channel between the entity and the application.

在一些情形下,中心安全系統與應用程式兩者皆需要知 曉時間。舉例而言’中心安全系統可能需要知曉時間以用 於基於時間之鑑認(例如,不對稱性鑑認),及應用程式可 能需要知曉時間以用於基於時間之操作(例如,drm授權 有效)如上所友·到,s己憶體裝置具有一可將時間提供至 中心安全系統及在記憶體裝置上執行之應用程式兩者之中 心時間模組。舉例而言,參看圖3,時間模組2〇4可將時間 提供至不對稱mCR 2〇1、ACR 2()2以鑑認各種實體,以 及提供至DRM模組207以驗證授權有效性。如將在以下且 結合圖8加以描述’在-些情形下,了來自記憶體裝置 之t間模組的時間之外或替代來自記憶體裝置之時間模組 2間’在—記憶體裝置上之—制程式可選擇使用主機 展不與主機裝置700通信之記憶體裝置600。主機萝 置700包含一實夢 王櫸裝 720夕f 體(此處,播放器710)且具有用於提供時間 某-機構(例如’電池備份時鐘)。在此實例中記憶 131992.doc 200907681 體裝置600具有一對稱性ACR 6丨〇(雖然可使用不對稱性 ACR)、一時間模組62〇、一 drm模組630、受保護之内容 640及一用於受保護之内容640的授權65〇。(在圖8中,記 憶體裝置中之應用程式為DRM模組63〇。應注意,可使用 其他類型之應用程式,且一個以上應用程式可正在記憶體 裝置中執行。)當播放器71〇使用對稱性Acr 610向記憶體 裝置600進行鑑認時,根據在對稱性acr 610中建立之參 數’在播放器710與DRM模組630之間建立一安全通道 660。因為服務提供者界定該對稱性acr 61〇以使DRM模 組630與播放器710相關聯,DRM模組63〇與播放器71〇相互 並非不熟悉。因此’由於DRM模組630與播放器710為同一 群組之相對應之成員,所以在DRM模組630與播放器710之 間存在某一信賴程度。基於此信賴,DRM模組63〇可經程 式化以接受來自播放器71 〇之主機時間720作為時間源來執 行DRM授權有效。因此,DRM模組63〇具有其可藉以來執 行DRM授權有效之兩個獨立的時間源:主機時間72〇及來 自記憶體裝置之中心時間模組62〇之時間。存在與此等時 間源中之每一者相關聯之優勢及劣勢。由於記憶體裝置之 時間模組620並不連續跟蹤時間,所以來自時間模組62〇之 時間可能不如主機時間720精準,主機時間72〇可能由電池 備份連續時鐘提供。另一方面,歸因於以上論述之所有安 全防範措施,來自時間模組62〇之時間可比主機時間72〇安 全,尤其在主機裝置700之使用者能夠使用簡單的使用者 介面更改主機時間72〇的情況下。 131992.doc 41 200907681 在記憶體裝置600上執行之應用程式(諸如,麵模組 630)可經程式化以按產生用於應用程式的基於時間之操作 的時間估測所需之任一方式使用此等兩個不同時間源。 (二 較佳地,應用程式不能夠使用主機時間720更新時 間模組620。)舉例而言,應用程式可經程式化以始終使用 主機時間720,而非來自時間模組62〇之時間,或者始終使 用來自時間模組620之時間,而非主機時間MO。作為另一 實例,應用程式可經程式化以使用主機時間72〇及來自時 間模組_之時間中的落後者(或搶先者)。應用程式亦可經 程式化以按某―方式(例如,利用主機時間720及來自時間 模組_之時間的平均值)使用兩個時間 測。作為又-實例,應用程式可基於關於主機裝置時: ^㈣定使用哪—時間源。應用程式可經由鑑認過程來 獲悉主機裝置之類型(例如,若使用不對稱性鑑認,則鑑 對該應用程式通告與主機裝置相關聯的個 身份)。此資訊可係重要的,因為一些主機裝置 八他者安全。舉例而言,若主機裝置為PC,則可易 於經由軟體應用程式上之簡單 鐘。(除了不信賴來自相對不值者介面输其時 時間之外,舉例而言’::程::賴的主機裝置之主機 錄、授權值或期限或者改變授權m言賴在具有内容密 行之竇㈣+ 文變Μ之權利的此主機裝置上執 =裝置外並到達主⑽(而非將加密密鑰及= 供至主機裝置)。)然而,若主機為封閉系統(諸如,= 131992.doc •42· 200907681 放器),則對主機之時鐘的操縱可能難得多。因此,春主 機裝置700為Μρ3播放器時,在主機穿置7〇 田 隹王機裝置7〇〇上執行之應用 &quot;一自主機裝置700為PC時更信賴主機時間72〇。 Ο 在一實施例中,當播放器71G將㈣歌曲之 腦模組咖時,其將主機時間72G推送至DRM模組630。 DRM拉組63G接著決定是使用主機時間㈣,還是來自時間 模組_之時間,其如上所述。較佳地,主機時間72〇將僅 用於一特定登入會期(其將為相對短的間隔),而非用作稍 後會期之絕對當前時間量測。或者,可儲存主機時間MO 用於未來由應用程式使用,其中將以上論述之&quot;時間延伸” 及其他機制(視情況)用以改良彼時間之精準度。麩而,較 佳地’主機時間僅用於應用程式之特定的基於時間之操作 且不用以更新時間模組620中之時間(由於應用程式為&quot;延 伸”且並非與中心安全系統相同的信賴群組之部分)。較佳 地,如上所述,僅使用可信賴的時間伺服器(其為與中心 安全系統相同的信賴群組之部分)更新時間模組62〇中之時 間。亦應注意,當若干應用程式正在記憶體裝置6〇〇上執 行時,每一應用程式可具有兩個時間源:來自時間模組 620之時間及來自操作與該應用程式通信之實體的主機裝 置之時間。然而,較佳地,使與一應用程式相關聯之主機 時間僅與彼應用程式一起使用,且不與與不同主機裝置相 關聯之其他應用程式一起使用。 如上所論述’在記憶體裝置600上執行之—應用程式(諸 如’ DRM模組630)可經程式化以將主機時間72〇與來自時 131992.doc • 43- 200907681In some cases, both the central security system and the application require knowledge. For example, a central security system may need to know the time for time-based authentication (eg, asymmetry authentication), and the application may need to know the time for time-based operations (eg, drm authorization is valid) As mentioned above, the suffix device has a central time module that provides time to both the central security system and the application executing on the memory device. For example, referring to Fig. 3, time module 2〇4 can provide time to asymmetric mCR 2〇1, ACR 2() 2 to authenticate various entities, and to DRM module 207 to verify authorization validity. As will be described below and in conjunction with FIG. 8 'in some cases, the time from the t-module of the memory device or in place of the time module 2 from the memory device' on the memory device The program can optionally use a memory device 600 that does not communicate with the host device 700. The host set 700 contains a real-life 720-seat body (here, player 710) and has a mechanism for providing time (e.g., 'battery backup clock'). In this example memory 131992.doc 200907681 body device 600 has a symmetry ACR 6 丨〇 (although asymmetry ACR can be used), a time module 62 〇, a drm module 630, protected content 640 and one Authorization for protected content 640 65〇. (In Figure 8, the application in the memory device is the DRM module 63. It should be noted that other types of applications can be used, and more than one application can be executed in the memory device.) When the player 71〇 When the symmetry Acr 610 is used to authenticate the memory device 600, a secure channel 660 is established between the player 710 and the DRM module 630 based on the parameter 'established in the symmetry acr 610'. Since the service provider defines the symmetry acr 61 to associate the DRM module 630 with the player 710, the DRM module 63 and the player 71 are not unfamiliar with each other. Therefore, since the DRM module 630 and the player 710 are members of the same group, there is a certain degree of trust between the DRM module 630 and the player 710. Based on this trust, the DRM module 63 can be programmed to accept the host time 720 from the player 71 as a time source to perform DRM authorization. Thus, the DRM module 63 has two independent time sources that can be used to perform DRM authorization: host time 72 〇 and time from the central time module 62 of the memory device. There are advantages and disadvantages associated with each of these time sources. Since the time module 620 of the memory device does not continuously track the time, the time from the time module 62 may not be as accurate as the host time 720, and the host time 72 may be provided by the battery backup continuous clock. On the other hand, due to all of the security precautions discussed above, the time from the time module 62 can be safer than the host time 72, especially if the user of the host device 700 can change the host time using a simple user interface. in the case of. 131992.doc 41 200907681 An application (such as face module 630) executing on memory device 600 can be programmed to be used in any manner required to generate a time estimate for a time-based operation of an application. These two different time sources. (By preferably, the application cannot update the time module 620 using the host time 720.) For example, the application can be programmed to always use the host time 720 instead of the time module 62, or The time from the time module 620 is always used instead of the host time MO. As another example, the application can be programmed to use the lazy (or preemptor) in the time of the host time 72 and the time module. The application can also be programmed to use two time measurements in a certain manner (e.g., using host time 720 and the average of time from the time module _). As a further example, the application can be based on when the host device is: ^(d) which time source is used. The application can learn the type of host device via the authentication process (e.g., if asymmetric authentication is used, the application is notified of the identity associated with the host device). This information can be important because some host devices are safe. For example, if the host device is a PC, it can be easily accessed via a simple application on a software application. (In addition to not relying on the time from the relatively insignificant interface to lose time, for example, ':::: the host device of the host device, the authorization value or the term or change the authorization m is based on the content of the secret The host device of the sinus (four) + text change is executed outside the device and arrives at the master (10) (rather than the encryption key and = to the host device). However, if the host is a closed system (such as = 131992. Doc •42· 200907681), it may be much more difficult to manipulate the clock of the host. Therefore, when the spring host device 700 is a Μρ3 player, the application executed on the host 7 is installed on the computer. When the host device 700 is a PC, the host time is 72 更.一 In one embodiment, when the player 71G will (4) the brain of the song, it pushes the host time 72G to the DRM module 630. The DRM pull group 63G then decides whether to use the host time (four) or the time from the time module _, as described above. Preferably, the host time 72 will only be used for a particular login session (which will be a relatively short interval), rather than for an absolute current time measurement of a later session. Alternatively, the host time MO can be stored for future use by the application, where the &quot;time extension&quot; and other mechanisms discussed above (as appropriate) are used to improve the accuracy of the time. Bran, preferably 'host time Only for the specific time-based operations of the application and not for updating the time in the time module 620 (since the application is &quot;extended&quot; and not part of the same trust group as the central security system). Preferably, as described above, only the time in the time module 62 is updated using a trusted time server which is part of the same trust group as the central security system. It should also be noted that when several applications are executing on the memory device 6, each application may have two time sources: the time from the time module 620 and the host device from the entity operating the communication with the application. Time. Preferably, however, the host time associated with an application is only used with the application and not with other applications associated with different host devices. As discussed above, the application (e.g., 'DRM module 630) can be programmed to host the host time 72〇 from the time 131992.doc • 43- 200907681

ϋ 間模組620之時間比較,且使用兩個時間 先者卜主機時_可比來自時間模組㈣之時間早 如,因為主機7〇0在足夠長的時間内不能連接至其時間飼 服器使仔在主機時間72〇中發生時間偏斜,或者因為主機 時鐘被侵人。亦如上所論述’主機時間可經儲存以用 於未來由應用程式使用。組合此等理t,主機時間MO可 經儲存且被務後使用(單獨或與來自時間模組620之時間一 起)於與自不同主機裝置接收之時間比較。基於比較,記 憶體裝置可決定是使用來自當前主機裝置之時間還是使用 來自先前主機裝置之儲存的時間來執行基於時間之操作。 舉例而言,記憶體裝置可經程式化,以在基於時間之操作 為&quot;不早於&quot;操作的情況下,採用兩個時間中之搶先者,且 在基於枯間之操作為”不落後於”操作的情況下,採用兩個 時間中之落後者。以此方式,自其他可信賴之主機裝置接 收之時間戳可被用作用於單一多主機防重算機構(相對於 一單一時間伺服器)之參考。 亦如上所論述,可將不基於時間之鑑認系統(諸如,對 稱性鑑認)用來鑑認主機裝置。此允許應用程式之基於時 間的操作(例如,DMR操作)與鑑認時間伺服器無關。亦 即’由於僅使用來自主機裝置或DRM伺服器之時間,所以 應用程式之基於時間的操作並不視來自鑑認時間伺服器或 記憶體裝置之時間模組的時間而定。因此,不管任何理 由,若鑑認時間伺服器存在問題或若基於時間的應用程式 選擇不使用基於鑑認時間伺服器之時間,則該基於時間的 131992.doc -44 - 200907681 應用程^仍㈣主機時間來執行其操作。 應庄w可早獨或組合在—起使用以上實施例中之任何 °可與此等m起使用之其他實施例描述於被以引 用的方式併入之專利申請牵 ψ月案中。另外,雖然目前此等實施 例實施於 SanDisk Corporation 夕 τ JT. on之TrustedFlash™記憶體裝置 中為較佳的’但應理解,此黧 解此等實施例可用於任一類型之記 憶體裝置中。同摄,,士笙每&amp; ,, U樣此專實施例可用於遭遇到具有不精準The time between the modules 620 is compared, and when two time-firsts are used, the time is earlier than the time from the time module (4), because the host 7〇0 cannot be connected to its time feeder for a long enough time. Causes the time to skew in the host time of 72 ,, or because the host clock is invaded. As discussed above, the host time can be stored for future use by the application. In combination with this, the host time MO can be stored and used later (either alone or with the time from the time module 620) at a time compared to the time received from a different host device. Based on the comparison, the memory device can decide whether to perform the time-based operation using the time from the current host device or the time from the storage of the previous host device. For example, a memory device can be programmed to use a preemptive of two times in a time-based operation for &quot;not earlier than&quot; operation, and Behind the "operational situation, adopt the laggard of the two times. In this way, time stamps received from other trusted host devices can be used as a reference for a single multi-master anti-recalculation mechanism (as opposed to a single time server). As discussed above, a time-independent authentication system, such as symmetry authentication, can be used to authenticate the host device. This allows the application's time-based operations (for example, DMR operations) to be independent of the authentication time server. That is, since only the time from the host device or the DRM server is used, the time-based operation of the application does not depend on the time from the time module of the time server or the memory device. Therefore, for any reason, if there is a problem with the authentication time server or if the time-based application chooses not to use the time based on the authentication time server, then the time-based 131992.doc -44 - 200907681 application ^ still (4) The host time to perform its operations. Any other embodiment of the above embodiments that can be used in conjunction with the above embodiments can be described in the patent application incorporated by reference. In addition, while these embodiments are currently implemented in SanDisk Corporation's Trusted FlashTM memory device, it is to be understood that it is understood that such embodiments can be used in any type of memory device. . With the photo, the gentry every &amp;,, U-like this specific example can be used to encounter inaccuracies

時鐘且需要知曉或使用時間之—般問題之非記憶體裝置領 域中° Μ ’以上描述之—些或所有動作可執行於-主機 裝置(或某一其他裝置)上 )JL而非僅可執行於記憶體裝置 上0 意欲前述詳細說明被理解為對本發明可採取的選定形式 的說明,且不應被理解為對本發明的界^。僅希望下列申 請專利範圍’包括所有等效内容界定本發明之料。應注 意’申請專利範圍中陳述之動作可以任__次序加以執行_ 未必按其經陳述之次序。最後,應注意,本文中描述的較 佳實施例的任-者之任—態樣可單獨使用或相互組合使 用。 【圖式簡單說明】 圖1為一實施例之系統之說明。 圖2為一實施例之記憶體裝置之方塊圖。 圖3為圖2之記憶體裝置中的各種功能模組之說明 圖4為一實施例之不對稱性鑑認過程之協定圖。 圖5為用於獲得時間戳之實施例之系統圖。 131992.doc • 45- 200907681 圖6為用於獲得時間戮之實施例的方法之流程圖。 圖7為用於檢查時間戳更新策略之實施例的方法之流程 圖。 圖8為將主機時間用於在記憶體裝置中執行的應用程式 之實施例之記憶體裝置之說明。Clocks and non-memory devices that need to know or use time-like problems. Μ 'The above description - some or all of the actions can be performed on the - host device (or some other device) JL instead of only executable The above detailed description of the present invention is to be understood as a description of the selected form of the invention, and should not be construed as a limitation of the invention. It is to be understood that the following claims are intended to be It should be noted that the actions stated in the scope of the claims can be performed in the order of __ _ not necessarily in the order in which they are stated. Finally, it should be noted that any of the preferred embodiments of the preferred embodiments described herein can be used alone or in combination with one another. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is an illustration of a system of an embodiment. 2 is a block diagram of a memory device of an embodiment. 3 is an illustration of various functional modules in the memory device of FIG. 2. FIG. 4 is an agreement diagram of an asymmetry authentication process of an embodiment. Figure 5 is a system diagram of an embodiment for obtaining a timestamp. 131992.doc • 45- 200907681 Figure 6 is a flow chart of a method for obtaining an embodiment of time 。. 7 is a flow diagram of a method for examining an embodiment of a timestamp update policy. Figure 8 is an illustration of a memory device for use with host time for an embodiment of an application executing in a memory device.

【主要元件符號說明】 10 系統 20 記憶體裝置 30 記憶體裝置 40 記憶體裝置 50 個人電腦 60 數位媒體播放器 70 行動電話 80 網際網路 90 無線網路 100 時間伺服器 102 伺服器 104 伺服器 106 伺服器 110 數位權利管理伺服器 200 記憶體裝置 201 第一非對稱性ACR 202 第二非對稱性ACR 203 對稱性ACR 131992.doc -46- 200907681 204 時間模組 205 受保護之内容 206 DRM授權 207 DRM模組 210 記憶體陣列/記憶體 220 電路集合 230 主機介面模組(HIM) 240 快閃介面模組(FIM) 250 緩衝管理單元(BMU) 252 密碼引擎 254 主機直接記憶體存取(DMA)組件 256 快閃DMA組件 260 CPU 262 CPU RAM/揮發性記憶體 270 硬體計時器塊 300 主機裝置 301 播放器/實體 302 儲存應用程式/實體 303 應用程式/實體 305 記憶體裝置一主機裝置通信通道 315 主機裝置一時間伺服器通信通道 325 伺服器間通信通道 510 &quot;TUP通過”訊息 570 &quot;TUP通過”訊息 131992.doc -47- 200907681 600 記憶體裝置 610 對稱性ACR 620 時間模組 630 DRM模組 640 受保護之内容 650 授權 660 安全通道 700 主機裝置 710 播放器 720 主機時間 TUP 時戳更新策略 TUP1 第一時間更新策略 TUP2 第二時間更新策略 1., 131992.doc 48-[Description of main component symbols] 10 System 20 Memory device 30 Memory device 40 Memory device 50 Personal computer 60 Digital media player 70 Mobile phone 80 Internet 90 Wireless network 100 Time server 102 Server 104 Server 106 Server 110 Digital Rights Management Server 200 Memory Device 201 First Asymmetric ACR 202 Second Asymmetric ACR 203 Symmetry ACR 131992.doc -46- 200907681 204 Time Module 205 Protected Content 206 DRM Authorization 207 DRM Module 210 Memory Array/Memory 220 Circuit Set 230 Host Interface Module (HIM) 240 Flash Interface Module (FIM) 250 Buffer Management Unit (BMU) 252 Password Engine 254 Host Direct Memory Access (DMA) Component 256 Flash DMA Component 260 CPU 262 CPU RAM / Volatile Memory 270 Hardware Timer Block 300 Host Device 301 Player / Entity 302 Storage Application / Entity 303 Application / Entity 305 Memory Device - Host Device Communication Channel 315 host device one time server communication channel 325 inter-server communication channel 510 &quot;TUP via "message 570 &quot;TUP pass" message 131992.doc -47- 200907681 600 memory device 610 symmetry ACR 620 time module 630 DRM module 640 protected content 650 authorization 660 secure channel 700 host device 710 Player 720 Host Time TUP Time Stamp Update Policy TUP1 First Time Update Policy TUP2 Second Time Update Strategy 1., 131992.doc 48-

Claims (1)

200907681 十、申請專利範圍: 1. 一種用於使一數位權利管理(DRM)授權有效之方法, 方法包含: ~ 藉由一記憶體裝置: 接收一欲使儲存於該記憶體裝置上之一數位權利管 理(DRM)授權有效之請求,其中該DRM授權與指定需 要一新時間戳之時間的一時間戳更新策略(τυρ)相= 聯; 〇 在試圖使該DRM授權有效前,基於與該DRM授權相 關聯之該TUP判定是否需要一新時間戳;及 若需要一新時間戳,則接收該新時間戳,且接著試 圖基於該新時間戳使用一時間估測來使該011河授權有 效。 2. 如請求項1之方法,其進一步包含: 藉由該記憶體裝置: 右不而要S亥新時間戮,則S式圖基於由該記憶體芽置 〇 接收之一上一時間戳使用一時間估測來使該DRM授權 有效。 . 3.如請求項1之方法,其中該TUP包含下列參數中之一或多 者:自從由該記憶體裝置接收之一上一時間戳起的該記 憶體裝置之功率循環之-數目、自從該上—時間戮起的 該記憶體裂置之有效時間及自從該上—時間戮起的該記 憶體裝置之延伸之有效時間。 4·如請求項1之方法,其進一步包含: 131992.doc 200907681 藉由該記憶體裝置: -接收一欲使儲存於該記憶體裝置上之一第二drm授 權有效之請求,其中該第二DRM授權與一不同於該第 一提到的TUP之第二TUP相關聯,該第二τυρ指定=時 需要一新的時間戳; 在試圖使該第二DRM授權有效前,基於該第二 判定是否需要一新時間戳;及 若需要一新時間戳,則接收該新時間戳,且接著試 圖基於該新時間戳使用一時間估測來使該第二授 權有效。 5. 如請求項1之方法’其中該新時間戳係由一時間飼服器 產生。 6. 如請求項1之方法,其中該新時間戳係由一與該記憶體 裝置連接之主機裝置產生。 7. 如請求項1之方法,其中該記憶體裝置儲存數位權利管 理(DRM)密鑰及授權以解鎖儲存於該記憶體裴置上之受 保護之内容。 8. 如請求項1之方法,其進一步包含: 藉由該記憶體裝置’在接收欲使該DRM授權有效之該 請求之前: 接收一欲鑑認一實體之請求; 在試圖鑑認該實體前,基於一與該實體相關聯之 TUP判定是否需要一新時間戳,其中與該實體相關聯 之該TUP與該DRM授權之該TUP不同;及 131992.doc 200907681 若需要一新時間戮’則接收該新時間戳,且接著試^ 圖基於該新時間戳使用一時間估測來鑑認該實體。 9. 一種記憶體裝置,其包含: 一記憶體陣列;及 電路,其與該記憶體陣列通信且操作以: ' 接收一欲使儲存於該記憶體裝置上之複數個數位權 利管理(DRM)授權中之一者有效之請求,其中每— DRM授權與指定何時需要一新時間戳的一不同時間戳 〇 更新策略(tup)相關聯; 在試圖使該複數個DRM授權中之該一者有效前,基 於與該複數個DRM授權中之該一者相關聯的—τυρ判 定是否需要一新時間戳;及 若需要一新時間戳’則接收該新時間戳,且接著試 圖基於該新時間戳使用一時間估測來使該複數個DRM 授權中之該一者有效。 1 0.如明求項9之記憶體裝置,其中該電路進一步操作以: &quot; 若不需要該新時間戳,則試圖基於由該記憶體裝置接 收之一上—時間戳使用一時間估測來使該複數個DRM授 權中之該-者有效。 11.如咐求項9之記憶體裝置,其中該τυρ包含下列參數中之 或夕者.自從由該記憶體裝置接收之一上一時間戳起 的“己隐體裳置之功率循環之一數目、自從該上一時間 戳起的該δ己憶體裝置之有效時間及自從該上一時間戳起 的該記憶體梦要β μ &amp; 賤褒置之延伸之有效時間。 131992.doc 200907681 12. 如清求項9之記憶體裝置,其中該新時間戳係由一時間 伺服器產生。 13. 如請求項9之記憶體裝置,其中該新時間戳係由一與該 記憶體震置連接之主機裝置產生。 14. 如請求項9之記憶體裝置,其中該記憶體裝置儲存用以 解鎖儲存於該記憶體裝置上之受保護之内容的數位權利 管理(DRM)密鑰及授權。 15. 如請求項9之記憶體裝置,其中該電路進—步操作以在 〇 接收欲使該複數個DRM授權中之該一者有效之該請求 前: 接收一欲鑑認一實體之請求; 在試圖鑑認該實體前,基於一與該實體相關聯之τυρ 判疋疋否需要一新時間戳,其中與該實體相關聯之該 TUP不同於與該複數個DRM授權相關聯之該等τυρ ;及 若需要一新時間戳,則接收該新時間戳,且接著試圖 基於該新時間戳使用一時間估測來鏗認該實體。 13I992.doc200907681 X. Patent Application Range: 1. A method for validating a digital rights management (DRM) authorization, the method comprising: ~ by means of a memory device: receiving a digital image stored on the memory device Rights Management (DRM) authorizes a valid request, wherein the DRM authorization is associated with a timestamp update policy (τυρ) specifying the time at which a new timestamp is required; 基于 based on the DRM before attempting to validate the DRM authorization Authorizing the associated TUP to determine if a new timestamp is needed; and if a new timestamp is needed, receiving the new timestamp, and then attempting to use the time estimate based on the new timestamp to validate the 011 River Authorization. 2. The method of claim 1, further comprising: by the memory device: the right is not required to be new, and the S-type graph is based on receiving a previous timestamp from the memory buzzer A time estimate is made to validate the DRM authorization. 3. The method of claim 1, wherein the TUP comprises one or more of the following parameters: a number of power cycles of the memory device since a last timestamp received by the memory device, since The effective time of the memory burst caused by the up-time and the effective time of the extension of the memory device from the up-time. 4. The method of claim 1, further comprising: 131992.doc 200907681 by the memory device: - receiving a request for a second drm authorization stored on the memory device to be valid, wherein the second The DRM authorization is associated with a second TUP different from the first mentioned TUP, which requires a new timestamp when specifying =; based on the second determination before attempting to validate the second DRM authorization Whether a new timestamp is needed; and if a new timestamp is needed, the new timestamp is received, and then an attempt is made to use the time estimate based on the new timestamp to validate the second authorization. 5. The method of claim 1 wherein the new timestamp is generated by a time server. 6. The method of claim 1, wherein the new timestamp is generated by a host device coupled to the memory device. 7. The method of claim 1, wherein the memory device stores a digital rights management (DRM) key and an authorization to unlock protected content stored on the memory device. 8. The method of claim 1, further comprising: by the memory device 'before receiving the request for the DRM authorization to be valid: receiving a request to authenticate an entity; before attempting to authenticate the entity Determining whether a new timestamp is needed based on a TUP associated with the entity, wherein the TUP associated with the entity is different from the TUP authorized by the DRM; and 131992.doc 200907681 receives a new time 戮' The new timestamp, and then the test, uses the time estimate to identify the entity based on the new timestamp. 9. A memory device comprising: a memory array; and circuitry in communication with the memory array and operative to: 'receive a plurality of digital rights management (DRM) for storage on the memory device One of the authorizations is a valid request, wherein each-DRM authorization is associated with a different timestamp update policy (tup) specifying when a new timestamp is required; attempting to validate the one of the plurality of DRM authorizations Pre-determining whether a new timestamp is needed based on -τυρ associated with the one of the plurality of DRM grants; and receiving a new timestamp if a new timestamp is needed, and then attempting to base the new timestamp A one-time estimate is used to validate the one of the plurality of DRM licenses. The memory device of claim 9, wherein the circuit is further operative to: &quot; if the new timestamp is not needed, attempting to use a time estimate based on receiving one of the timestamps by the memory device To make the one of the plurality of DRM licenses valid. 11. The memory device of claim 9, wherein the τ υ ρ includes one of the following parameters: one of the power cycles of the hidden body since the last time stamp received by the memory device The number, the effective time of the δ-remember device since the last timestamp, and the effective time of the extension of the memory of the memory from the last timestamp. 131992.doc 200907681 12. The memory device of claim 9, wherein the new timestamp is generated by a time server. 13. The memory device of claim 9, wherein the new timestamp is interfered with by the memory The connected host device generates 14. The memory device of claim 9, wherein the memory device stores a digital rights management (DRM) key and authorization for unlocking the protected content stored on the memory device. 15. The memory device of claim 9, wherein the circuit is further operative to receive a request to authenticate an entity before receiving the request to validate the one of the plurality of DRM grants; Attempting to Before the entity, based on a τυρ associated with the entity, a new timestamp is required, wherein the TUP associated with the entity is different from the τυρ associated with the plurality of DRM grants; and if needed A new timestamp receives the new timestamp and then attempts to identify the entity using a time estimate based on the new timestamp. 13I992.doc
TW097121254A 2007-06-08 2008-06-06 Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and method for use therewith TW200907681A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/811,348 US20080307495A1 (en) 2007-06-08 2007-06-08 Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US11/811,354 US8688588B2 (en) 2007-06-08 2007-06-08 Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation

Publications (1)

Publication Number Publication Date
TW200907681A true TW200907681A (en) 2009-02-16

Family

ID=39684564

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097121254A TW200907681A (en) 2007-06-08 2008-06-06 Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and method for use therewith

Country Status (6)

Country Link
EP (1) EP2156353A1 (en)
JP (1) JP5180293B2 (en)
KR (1) KR20100035702A (en)
CN (1) CN101779207B (en)
TW (1) TW200907681A (en)
WO (1) WO2008154308A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100095243A (en) * 2009-02-20 2010-08-30 삼성전자주식회사 Method and apparatus for restricting operation of a digital right management module
US9426650B2 (en) 2014-10-31 2016-08-23 Gogo Llc Autonomous-mode content delivery and key management
US9578104B2 (en) 2014-10-31 2017-02-21 Gogo Llc Resumption of play for a content-delivery session
CN110659457B (en) * 2019-09-20 2022-06-07 安徽听见科技有限公司 Application authorization verification method and device and client

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks
US20030115469A1 (en) * 2001-12-14 2003-06-19 Intel Corporation Systems and methods for detecting and deterring rollback attacks
JP2004326278A (en) * 2003-04-23 2004-11-18 Renesas Technology Corp Nonvolatile storage device and data processor
US7116969B2 (en) * 2004-02-12 2006-10-03 Sharp Laboratories Of America, Inc. Wireless device having a secure clock authentication method and apparatus
JP4301035B2 (en) * 2004-03-02 2009-07-22 ソニー株式会社 Reproduction time management system, reproduction time management method, reproduction apparatus, reproduction method, and recording medium
US8438645B2 (en) * 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
JP4680686B2 (en) * 2005-06-06 2011-05-11 アドバンス・デザイン株式会社 Storage medium for computer terminal
JP4750480B2 (en) * 2005-06-14 2011-08-17 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ Storage device and access control method for storage device

Also Published As

Publication number Publication date
EP2156353A1 (en) 2010-02-24
KR20100035702A (en) 2010-04-06
JP2010530102A (en) 2010-09-02
WO2008154308A1 (en) 2008-12-18
CN101779207A (en) 2010-07-14
CN101779207B (en) 2013-10-02
JP5180293B2 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
US8869288B2 (en) Method for using time from a trusted host device
US8688588B2 (en) Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US20080307494A1 (en) Memory device with circuitry for improving accuracy of a time estimate used to authenticate an entity
US20080307495A1 (en) Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US20080307507A1 (en) Memory device using time from a trusted host device
US8688924B2 (en) Method for improving accuracy of a time estimate from a memory device
US20080304364A1 (en) Memory device with circuitry for improving accuracy of a time estimate
US20080307237A1 (en) Method for improving accuracy of a time estimate used to authenticate an entity to a memory device
US20090151006A1 (en) Group registration device, group registration release device, group registration method, license acquisition device, license acquisition method, time setting device, and time setting method
US20170357786A1 (en) Method and apparatus for limiting access to data by process or computer function with stateless encryption
AU2005248694A1 (en) Method and apparatus for transmitting rights object information between device and portable storage
US7822876B1 (en) Time based content management for disconnected devices
TW200907681A (en) Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation and method for use therewith
TWI386947B (en) Memory device using time of trusted host device and method of using same
JP5039931B2 (en) Information processing device
TWI417729B (en) Memory device with circuitry for improving accuracy of a time estimate used to authenticate an entity and method for use therewith
CN101720455B (en) Memory device with circuitry for improving accuracy of time estimates and method of use thereof