TWI386947B - Memory device using time from a trusted host device and method for use therewith - Google Patents

Memory device using time from a trusted host device and method for use therewith Download PDF

Info

Publication number
TWI386947B
TWI386947B TW097121272A TW97121272A TWI386947B TW I386947 B TWI386947 B TW I386947B TW 097121272 A TW097121272 A TW 097121272A TW 97121272 A TW97121272 A TW 97121272A TW I386947 B TWI386947 B TW I386947B
Authority
TW
Taiwan
Prior art keywords
time
memory device
host device
host
memory
Prior art date
Application number
TW097121272A
Other languages
Chinese (zh)
Other versions
TW200907996A (en
Inventor
Kevin M Conley
Michael Holtzman
Rotem Sela
Ron Barzilai
Fabrice E Jogand-Coulomb
Original Assignee
Sandisk Technologies Inc
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,346 external-priority patent/US8869288B2/en
Priority claimed from US11/811,345 external-priority patent/US20080307507A1/en
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200907996A publication Critical patent/TW200907996A/en
Application granted granted Critical
Publication of TWI386947B publication Critical patent/TWI386947B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value

Description

使用信任主機裝置之時間的記憶體裝置及其使用方法Memory device using time of trusted host device and method of using same

本申請案係關於美國專利申請案序列號第11/811,284號"用於改良時間估測之精準度之方法(Method for Improving Accuracy of a Time Estimate)";美國專利申請案序列號第11/811,347號"具有用於改良時間估測之精準度之電路的記憶體裝置(Memory Device with Circuitry for Improving Accuracy of a Time Estimate)";美國專利申請案序列號第11/811,289號"用於改良用以向記憶體裝置鑑認實體的時間估測之精準度之方法(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)";美國專利申請案序列號第11/811,354號"用於改良在數位權利管理(DRM)授權確認中使用的時間估測之精準度之方法(Method for Improving Accuracy of a Time Estimate Used in Digital Rights Management(DRM)License Validation)";美國專利申請案序列號第11/811,348號"具有用於改良在數位權利管理(DRM)授權確認中使用的時間估測之精準度之電路的記憶體裝置(Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management(DRM)License Validation)";美國專利申請案序列號第11/811,346號;及 美國專利申請案序列號第11/811,345號"使用來自信任主機裝置之時間之記憶體裝置(Memory Device Using Time from a Trust Host Device)";該等申請案中之每一者正與本申請案同在申請中,且藉此以引用方式併入。This application is related to US Patent Application Serial No. 11/811,284, "Method for Improving Accuracy of a Time Estimate"; U.S. Patent Application Serial No. 11/811,347 "Memory Device with Circuitry for Improving Accuracy of a Time Estimate"; U.S. Patent Application Serial No. 11/811,289, "for improvement" "Method for Improving Accuracy of a Time Estimate Used to Authenticate an Entity to a Memory Device"; US Patent Application Serial No. 11/811,344 "Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used to Authenticate an Entity"; US Patent Application Serial No. 11/ 811, 354 "Method for Improving the Accuracy of Time Estimation Used in Digital Rights Management (DRM) Authorization Validation (Method for Improvin g Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation); US Patent Application Serial No. 11/811, 348 "has a time estimate for improving the use of digital rights management (DRM) authorization confirmation Memory Device with Circuitry for Improving Accuracy of a Time Estimate Used in Digital Rights Management (DRM) License Validation"; U.S. Patent Application Serial No. 11/811,346; US Patent Application Serial No. 11/811,345, "Memory Device Using Time from a Trust Host Device"; each of these applications is in connection with the present application The same is filed in the application and is hereby incorporated by reference.

諸如購自SanDisk公司之TrustedFlashTM 記憶體裝置的一些記憶體裝置需要知曉時間來執行基於時間之操作,諸如數位權利管理(DRM)授權確認。由於該等操作中涉及之安全問題,記憶體裝置可能不能夠信任主機裝置提供正確時間。雖然記憶體裝置可能能夠自網路中之受信任組件獲得正確時間,但代管記憶體裝置之主機裝置可能未在記憶體裝置需要知曉時間時連接至網路。記憶體裝置可經設計以量測其有效時間,但自所量測有效時間產生之時間估測在記憶體裝置未連續量測有效時間之情況下(例如,在記憶體裝置於開始量測之後斷電的情況下)將並非對實際時間之真實量測。因此,自所量測有效時間產生之時間估測實際上僅指示實際時間可能為之下限,且此時間估測可能不提供在某些基於時間之操作中所希望的精準度。雖然記憶體裝置可配備電池供電時鐘來在即使記憶體裝置不活動時亦連續保持對時間之追蹤,但該時鐘可能添加記憶體裝置之成本。Some memory devices, such as available from TrustedFlash SanDisk Corporation TM of the memory device needs to know to perform the operation based on the time period, such as a digital rights management (DRM) license confirmation. Due to the security issues involved in such operations, the memory device may not be able to trust the host device to provide the correct time. While the memory device may be able to obtain the correct time from trusted components in the network, the host device hosting the memory device may not be connected to the network when the memory device needs to know the time. The memory device can be designed to measure its effective time, but the time from the measured effective time is estimated to be in the case where the memory device is not continuously measured for effective time (eg, after the memory device is initially measured) In the case of a power outage) will not be a true measure of the actual time. Therefore, the time estimate resulting from the measured effective time actually only indicates that the actual time may be the lower limit, and this time estimate may not provide the desired accuracy in certain time-based operations. Although the memory device can be equipped with a battery powered clock to continuously track time even when the memory device is inactive, the clock may add the cost of the memory device.

本發明由申請專利範圍界定,且不應將此章節中之任何內容看作對申請專利範圍之限制。The invention is defined by the scope of the patent application and should not be construed as limiting the scope of the application.

作為介紹,下文描述之實施例提供使用信任主機裝置之時間的記憶體裝置及其使用方法。在一實施例中,記憶體裝置上之應用程式接收來自一由記憶體裝置鑑認之實體之請求以執行基於時間的操作,其中實體正在主機裝置上執行。該應用程式選擇主機裝置之時間而非記憶體裝置上之時間模組的時間來執行基於時間之操作,且使用主機裝置之時間來執行基於時間的操作。在另一實施例中,接收請求以鑑認在主機裝置上執行的實體。使用在存取控制記錄(ACR)中規定之鑑認方法及記憶體裝置上之時間模組的時間來鑑認實體,其中ACR使實體與記憶體裝置中之應用程式相關聯。自實體接收到對應用程式執行基於時間之操作的請求。選擇主機裝置之時間而非時間模組之時間來執行基於時間之操作,且主機裝置之時間用以執行基於時間的操作。在又一實施例中,記憶體裝置比較自第二主機裝置接收到之時間與第一主機裝置之所儲存時間,且基於比較決定使用第二主機裝置之時間還是第一主機裝置的所儲存時間來執行基於時間之操作。在再一實施例中,記憶體裝置使用並非基於時間之鑑認系統來鑑認主機裝置,自主機裝置接收時間,且使用自主機裝置接收到的時間來執行基於時間的操作。揭示其他實施例,且該等實施例中之每一者可單獨使用或以組合而一同使用。By way of introduction, the embodiments described below provide a memory device that uses the time of trusting the host device and methods of use thereof. In one embodiment, the application on the memory device receives a request from an entity authenticated by the memory device to perform a time based operation, wherein the entity is executing on the host device. The application selects the time of the host device instead of the time module on the memory device to perform time-based operations and uses the time of the host device to perform time-based operations. In another embodiment, a request is received to authenticate an entity executing on a host device. The entity is authenticated using the authentication method specified in the Access Control Record (ACR) and the time module on the memory device, wherein the ACR associates the entity with the application in the memory device. A request is received from the entity to perform a time-based operation on the application. The time of the host device is selected instead of the time module to perform time-based operations, and the time of the host device is used to perform time-based operations. In still another embodiment, the memory device compares the time received from the second host device with the stored time of the first host device, and determines whether to use the second host device or the stored time of the first host device based on the comparison. To perform time-based operations. In still another embodiment, the memory device uses a time-based authentication system to authenticate the host device, receives time from the host device, and uses the time received from the host device to perform time-based operations. Other embodiments are disclosed, and each of the embodiments can be used alone or in combination.

現將參看隨附圖式描述實施例。Embodiments will now be described with reference to the accompanying drawings.

現轉向圖式,圖1為對將用以說明此等實施例之系統10 的說明。如圖1所示,系統10包含複數個記憶體裝置20、30、40,其以可移除方式與各別複數個主機裝置連接:個人電腦(PC)50、數位媒體(例如,MP3)播放器60及蜂巢式電話70。主機裝置為可自記憶體裝置讀取資料及/或向記憶體裝置寫入資料之裝置。資料可包括(但不限於)數位媒體內容,諸如音訊檔案或視訊檔案(具有或不具有音訊)、影像、遊戲、書籍、地圖、資料檔案或軟體程式。資料可(例如)自網路中之伺服器下載至記憶體裝置上,由製造商或另一第三方預載入或自另一裝置側載入(side-load)。Turning now to the drawings, Figure 1 is a diagram of a system 10 that will be used to illustrate such embodiments. instruction of. As shown in FIG. 1, system 10 includes a plurality of memory devices 20, 30, 40 that are removably coupled to respective plurality of host devices: a personal computer (PC) 50, digital media (eg, MP3) playback. The device 60 and the cellular phone 70. The host device is a device that can read data from a memory device and/or write data to a memory device. Data may include, but is not limited to, digital media content such as audio files or video files (with or without audio), images, games, books, maps, data files or software programs. The data can be downloaded, for example, from a server in the network to the memory device, preloaded by the manufacturer or another third party, or side-loaded from another device.

主機裝置可採取任何合適形式且不限於圖1所示之實例。舉例而言,主機裝置可採取以下形式:筆記型電腦、掌上型電腦、掌上型電子郵件/文字訊息裝置、掌上型遊戲機、視訊播放器(例如,DVD播放器或攜帶型視訊播放器)、音訊及/或視訊記錄器、數位相機、視訊轉換器(set-top box)、顯示裝置(例如,電視)、印表機、汽車立體聲裝置及導航系統。又,主機裝置可含有混合功能性。舉例而言,主機裝置可為在能夠打出及接聽電話呼叫以外亦能夠播放數位媒體(例如,音樂及/或視訊)檔案之蜂巢式電話。The host device can take any suitable form and is not limited to the example shown in FIG. For example, the host device can take the form of a notebook computer, a palmtop computer, a palm-sized email/text message device, a handheld game console, a video player (eg, a DVD player or a portable video player), Audio and/or video recorders, digital cameras, set-top boxes, display devices (eg, televisions), printers, car stereos, and navigation systems. Also, the host device may contain mixed functionality. For example, the host device can be a cellular phone that can also play digital media (eg, music and/or video) files in addition to being able to make and receive phone calls.

如PC 50及蜂巢式電話70之主機裝置可具有以通信方式連接至網路(諸如網際網路80或無線網路90,雖然可使用其他類型之網路)之能力。具有該能力之主機裝置在本文中將被稱為"經連接裝置"。應瞭解,"經連接裝置"可能實際上並非始終連接至網路,諸如在蜂巢式電話70以未連接模式操作時或在PC 50未建立網際網路連接時。自身不具 有以通信方式連接至網路之能力的主機裝置(諸如數位媒體播放器60)在本文中將被稱為"未連接裝置"。可如圖1所示藉由連接未連接裝置與經連接裝置(其中數位媒體播放器60連接至PC 50)而使未連接裝置與網路通信。即使以該方式連接,未連接裝置在該未連接裝置未經設計用於該功能性之情況下(例如,簡單MP3播放器)亦可能不能夠自網路取得資訊。在該情形下,網路中之組件可將資訊推送給裝置。應注意,雖然圖1展示數位媒體播放器60經由有線連接而連接至PC 50,但可使用無線連接。類似地,術語"連接"及"耦接"未必表示有線連接或直接連接。Host devices such as PC 50 and cellular telephone 70 may have the ability to be communicatively coupled to a network, such as Internet 80 or wireless network 90, although other types of networks may be used. A host device having this capability will be referred to herein as a "connected device." It should be appreciated that the "connected device" may not actually be connected to the network at all times, such as when the cellular telephone 70 is operating in the unconnected mode or when the PC 50 is not establishing an internet connection. Not own A host device (such as digital media player 60) that has the ability to communicate to the network in communication will be referred to herein as an "unconnected device." The unconnected device can be in communication with the network by connecting the unconnected device to the connected device (where the digital media player 60 is connected to the PC 50) as shown in FIG. Even if connected in this manner, the unconnected device may not be able to obtain information from the network if the unconnected device is not designed for the functionality (eg, a simple MP3 player). In this case, components in the network can push information to the device. It should be noted that although FIG. 1 shows that the digital media player 60 is connected to the PC 50 via a wired connection, a wireless connection can be used. Similarly, the terms "connected" and "coupled" do not necessarily denote a wired connection or a direct connection.

網路(例如,網際網路80或無線網路90)可允許經連接裝置(或連接至經連接裝置之未連接裝置)存取外部組件,諸如(但不限於),可提供時戳之時間伺服器100及可提供DRM受保護內容及用於存取此內容之授權之數位權利管理伺服器(DRM)110。此等伺服器中之兩者均將在下文中得到較詳細描述。雖然在圖1中將時間伺服器100及DRM伺服器110示為單獨裝置,但此等兩個伺服器可組合為單一裝置。另外,此等伺服器可含有其他功能性。又,可在需要時經由網際網路80及無線網路90存取除時間伺服器100及DRM伺服器110以外之組件。A network (eg, Internet 80 or wireless network 90) may allow access to external components via a connected device (or to an unconnected device connected to the connected device), such as, but not limited to, a time stampable time The server 100 and a digital rights management server (DRM) 110 that can provide DRM protected content and authorization to access the content. Both of these servers will be described in more detail below. Although the time server 100 and the DRM server 110 are shown as separate devices in FIG. 1, the two servers can be combined into a single device. In addition, these servers may contain other functionality. Further, components other than the time server 100 and the DRM server 110 can be accessed via the Internet 80 and the wireless network 90 as needed.

再次轉向圖式,圖2為一實施例之記憶體裝置200的方塊圖,該記憶體裝置200可採取記憶卡或記憶棒之形式。如圖2所示,記憶體裝置200包含非揮發性記憶體陣列(諸如快閃記憶體)210及電路集合220。在此實施例中,非揮發 性記憶體陣列210採取固態記憶體(特定言之,快閃記憶體210)之形式。應注意,替代快閃記憶體,可使用其他類型之固態記憶體。亦應注意,可使用除固態記憶體以外之記憶體,諸如(但不限於)磁碟及光學CD。又,為了簡單起見,將在本文中使用術語"電路"來指代純硬體實施及/或組合之硬體/軟體(或韌體)實施。因此,"電路"可採取以下各物中的一或多者之形式:特殊應用積體電路(ASIC)、可程式化邏輯控制器、嵌埋式微控制器及單板電腦,以及處理器及儲存可由處理器執行之電腦可讀程式碼(例如,軟體或韌體)的電腦可讀媒體。Turning to the drawings again, FIG. 2 is a block diagram of a memory device 200 of an embodiment, which may take the form of a memory card or a memory stick. As shown in FIG. 2, the memory device 200 includes a non-volatile memory array (such as a flash memory) 210 and a circuit set 220. In this embodiment, non-volatile The memory array 210 takes the form of solid state memory (specifically, flash memory 210). It should be noted that other types of solid state memory can be used instead of flash memory. It should also be noted that memory other than solid state memory such as, but not limited to, a magnetic disk and an optical CD may be used. Also, for the sake of simplicity, the term "circuitry" will be used herein to refer to a hardware/software (or firmware) implementation of pure hardware implementation and/or combination. 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 firmware.

圖2中之電路集合210含有複數個組件:主機介面模組(HIM)230、快閃介面模組(FIM)240、緩衝器管理單元(BMU)250、CPU 260及硬體定時器區塊270。HIM 230提供用於主機裝置300的介面功能性,且FIM 240提供用於快閃記憶體210的介面功能性。BMU 250包含用於提供加密/解密功能性之加密引擎252及用於分別與HIM 230及FIM 240通信之主機直接記憶體存取(DMA)組件254及快閃DMA組件256。CPU 260執行儲存於CPU RAM 260及/或快閃記憶體210中之軟體及韌體。下文將結合記憶體裝置量測時間之能力描述硬體定時器區塊270。The circuit set 210 of FIG. 2 includes a plurality of components: a host interface module (HIM) 230, a flash interface module (FIM) 240, a buffer management unit (BMU) 250, a CPU 260, and a hardware timer block 270. . The HIM 230 provides interface functionality for the host device 300, and the FIM 240 provides interface functionality for the flash memory 210. The BMU 250 includes an encryption engine 252 for providing encryption/decryption functionality and a host direct memory access (DMA) component 254 and a flash DMA component 256 for communicating with the HIM 230 and the FIM 240, respectively. The CPU 260 executes the software and firmware stored in the CPU RAM 260 and/or the flash memory 210. The hardware timer block 270 will be described below in conjunction with the ability of the memory device to measure time.

為了簡化圖式,未在圖2中展示記憶體裝置200之其他組件,諸如用於以可移除方式將記憶體裝置200連接至主機裝置300之電連接器及實體連接器。關於記憶體裝置200及其操作之更多資訊可在美國專利申請案第11/314,411號及 第11/557,028號(其均以引用方式併入本文)中找到。額外資訊可在美國專利申請案第11/322,812號及美國專利申請案第11/322,766號(其均以引用方式併入本文)中找到。彼等文獻中描述之組件及功能性不應被加到下列申請專利範圍中,除非其中有明確的陳述。To simplify the drawing, other components of the memory device 200 are not shown in FIG. 2, such as electrical connectors and physical connectors for removably connecting the memory device 200 to the host device 300. More information about the memory device 200 and its operation can be found in U.S. Patent Application Serial No. 11/314,411. Found in No. 11/557,028, which is incorporated herein by reference. Additional information can be found in U.S. Patent Application Serial No. 11/322,812, and U.S. Patent Application Serial No. 11/322,766, the disclosure of which is incorporated herein by reference. The components and functionality described in the literature should not be added to the scope of the following claims unless expressly stated.

在此實施例中,記憶體裝置200儲存數位權利管理(DRM)密鑰及授權來解鎖儲存於記憶體裝置200上之受保護內容。(應注意,此等實施例亦可配合未儲存DRM密鑰及授權來解鎖儲存於記憶體裝置上之受保護內容的記憶體裝置而使用。)DRM密鑰及授權可由記憶體裝置200產生或於記憶體裝置200外部產生(例如,藉由DRM伺服器110)且被發送至記憶體裝置200。由於DRM密鑰及授權與記憶體裝置200一起移動,因此受保護內容有效地與記憶體裝置200而非主機裝置300相聯繫,藉此使得受保護內容可攜帶且可由可向記憶體裝置200證明其為授權裝置之任何主機裝置存取。購自SanDisk公司之TrustedFlashTM 記憶體裝置為在記憶體裝置上儲存DRM密鑰及授權以使得受保護內容可隨記憶體裝置一同移動之記憶體裝置的實例。在一些實施例中,記憶體裝置200亦藉由儲存於記憶體裝置200上之DRM密鑰來使DRM授權有效,而在其他實施例中,記憶體裝置200向主機裝置300提供DRM密鑰以供其藉由DRM密鑰來使DRM授權有效。In this embodiment, the memory device 200 stores a digital rights management (DRM) key and authorization to unlock protected content stored on the memory device 200. (It should be noted that these embodiments may also be used in conjunction with memory devices that do not store DRM keys and authorizations to unlock protected content stored on the memory device.) The DRM key and authorization may be generated by the memory device 200 or It is generated external to the memory device 200 (eg, by the DRM server 110) and sent to the memory device 200. Since the DRM key and authorization are moved with the memory device 200, the protected content is effectively associated with the memory device 200 rather than the host device 300, thereby making the protected content portable and identifiable to the memory device 200 It is accessed by any host device of the authorized device. The TrustedFlash (TM) memory device, available from SanDisk Corporation, is an example of a memory device that stores DRM keys and authorizations on the memory device such that the protected content can move 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. In other embodiments, the memory device 200 provides the DRM key to the host device 300. It is used by the DRM key to make the DRM authorization effective.

在此實施例中,記憶體裝置200之CPU 260執行安全儲存應用程式(SSA)來確保僅具有適當認證之經鑑認實體方可 存取DRM密鑰及授權。可將用於SSA之電腦可讀程式碼儲存於快閃記憶體210、CPU RAM 262或記憶體裝置200中之另一儲存位置中。在以上引用之'028專利申請案中較為詳細地描述SSA。圖3為對將用以說明SSA之操作的記憶體裝置200中之各種功能模組之說明。如圖3所示,記憶體裝置200包含各種存取控制記錄("ACR"):第一不對稱ACR 201、第二不對稱ACR 202及對稱ACR 203。第一不對稱ACR 201及第二不對稱ACR 202包含將於下文得到較為詳細描述之第一時間更新策略及第二時間更新策略(分別為TUP1及TUP2)。雖然圖3中展示多個ACR,但記憶體裝置200可僅含有單一ACR。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 authentication are available. Access DRM keys and authorizations. The computer readable code for the SSA can be stored in flash memory 210, CPU RAM 262, or another storage location in memory device 200. The SSA is described in more detail in the '028 patent application cited above. FIG. 3 is an illustration of various functional 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 200 includes various access control records ("ACR"): a first asymmetric ACR 201, a second asymmetric ACR 202, and a symmetric ACR 203. The first asymmetric ACR 201 and the second asymmetric ACR 202 include a first time update policy and a second time update policy (TUP1 and TUP2, respectively), which will be described in more detail below. Although multiple ACRs are shown in FIG. 3, memory device 200 may only contain a single ACR.

每一ACR 201、202及203規定待使用之鑑認方法及需要哪種認證來提供對實體之身份的證明。每一ACR 201、202及203亦含有對執行各種動作(例如,存取DRM密鑰及授權)之允許。一旦ACR成功鑑認一實體,SSA系統即開啟會期,可經由該會期執行ACR之動作中的任一者。在用於本文中時,術語"實體"指代試圖存取記憶體裝置200之任何人或事物。實體可為(例如)在主機裝置上執行之應用程式、主機裝置自身或人類使用者。在圖3中,三個實體正試圖存取記憶體裝置200:媒體(例如,音訊及/或視訊)播放器301、儲存應用程式302及另一應用程式303。此等實體301、302、303可處於同一或不同主機裝置上。每一實體301、302、303與特定ACR(分別為ACR 201、202及203)相關聯。額外實體(未圖示)亦可與ACR 201、202及203中 之一或多者相關聯。Each ACR 201, 202, and 203 specifies the authentication method to be used and which authentication is required to provide proof of the identity of the entity. Each ACR 201, 202, and 203 also contains the permission to perform various actions (eg, accessing DRM keys and authorizations). Once the ACR successfully authenticates an entity, the SSA system initiates a session through which any of the ACR actions can be performed. As used herein, the term "entity" refers to any person or thing that attempts to access memory device 200. The entity can be, for example, an application executing on a host device, the host device itself, or a human user. In FIG. 3, three entities are attempting to access the memory device 200: a media (eg, audio and/or video) player 301, a storage application 302, and another application 303. These entities 301, 302, 303 can be on the same or different host devices. Each entity 301, 302, 303 is associated with a particular ACR (ACR 201, 202, and 203, respectively). Additional entities (not shown) can also be used with ACRs 201, 202 and 203 One or more are associated.

當實體開始登入過程時,其發送對鑑認之請求,該請求包括其相關聯ACR之識別符,該ACR規定待使用之鑑認方法及需要哪種認證來提供對實體之身份的證明。在圖3中,ACR 201及202規定不對稱鑑認方法,而ACR 203規定對稱鑑認方法。應注意,可使用其他鑑認方法(諸如基於密碼之程序)且ACR亦可規定不需要鑑認。除了規定特定鑑認方法外,ACR亦可含有描述實體一旦經鑑認即可執行之動作的允許控制記錄(PCR)。When the entity begins the login process, it sends a request for authentication, which includes the identifier of its associated ACR, which specifies the authentication method to be used and which authentication is required to provide proof of the identity of the entity. In FIG. 3, ACRs 201 and 202 specify an asymmetric authentication method, and ACR 203 specifies a symmetric authentication method. It should be noted that other authentication methods (such as password-based programs) may be used and the ACR may also stipulate that no authentication is required. In addition to specifying a particular authentication method, the ACR may also contain an admission control record (PCR) that describes the actions that the entity can perform once it has been authenticated.

一些鑑認機制(諸如藉由使用用於鑑認之X.509憑證鏈的單向及雙向不對稱鑑認)可基於時間,要求記憶體裝置200知曉時間來驗證實體所提出之認證。(對稱ACR 203使用之對稱鑑認機制不要求記憶體裝置200知曉時間。在對稱鑑認中,使用實體與其相關聯ACR所共用之密鑰來鑑認實體。)在不對稱鑑認中,可能需要時間來評估由實體供應之諸如RSA憑證及/或憑證撤銷清單(CRL)的認證是否有效。(在用於本文中時,"憑證"可指代單一憑證或複數個憑證(例如,憑證鏈),且"CRL"可指代單一CRL或複數個CRL。)在轉向記憶體裝置200可使用以產生時間估測來執行該有效化之前,將關於不對稱鑑認提出對憑證及CRL之簡短論述。Some authentication mechanisms (such as by using one-way and two-way asymmetric authentication for the X.509 credential chain for authentication) may require the memory device 200 to know the time to verify the authentication proposed by the entity based on time. (The symmetric authentication mechanism used by the symmetric ACR 203 does not require the memory device 200 to know the time. In symmetric authentication, the entity is identified using the key shared by the entity and its associated ACR.) In asymmetric authentication, it is possible It takes time to evaluate whether the authentication, such as RSA credentials and/or certificate revocation list (CRL), provided by the entity is valid. (When used herein, "voucher" may refer to a single credential or a plurality of credential (eg, credential chain), and "CRL" may refer to a single CRL or a plurality of CRLs.) may be used in steering memory device 200 Before the validation is performed to generate the time estimate, a brief discussion of the voucher and the CRL will be presented with respect to asymmetric authentication.

不對稱鑑認使用公用密鑰基礎架構(PKI)系統,其中稱為證明機構(CA)之受信任機構發布用於證明實體之身份的RSA憑證。希望建立身份證明之實體以用於證明其身份之 充足證據向CA登記。在向CA證明實體之身份之後,CA向實體發布憑證。憑證通常包括發布憑證之CA的名稱,證明所發布給之實體的名稱、實體之公用密鑰,及由CA之私密密鑰簽署(通常藉由加密公用密鑰之摘要)的實體之公用密鑰。Asymmetric authentication uses a public key infrastructure (PKI) system in which a trusted authority called a certification authority (CA) issues RSA credentials for authenticating the identity of an entity. An entity wishing to establish an identity certificate to prove its identity Adequate evidence is registered with the CA. After proving the identity of the entity to the CA, the CA issues the credentials to the entity. The voucher typically includes the name of the CA that issued the voucher, the name of the entity to which the certificate was issued, the public key of the entity, and the public key of the entity signed by the CA's private key (usually by encrypting the digest of the public key) .

憑證可含有儲存期滿日期之資料欄位。在該情形下,持有憑證之實體僅可在有限量的時間中存取由ACR保護之內容(至憑證期滿為止)。憑證亦可含有儲存未來有效時間之資料欄位。在此情形下,ACR將不鑑認實體直至憑證變得有效。若記憶體裝置200判定當前日期在期滿日期之後或在有效日期之前(亦即,若記憶體裝置200判定憑證無效),則記憶體裝置200將不鑑認提出憑證之實體。The voucher may contain a data field for the expiration date of the store. In this case, the entity holding the voucher can access the content protected by the ACR only for a limited amount of time (until the voucher expires). The voucher may also contain a data field for storing future valid time. In this case, the ACR will not authenticate the entity until the voucher becomes valid. If the memory device 200 determines that the current date is after the expiration date or before the expiration date (ie, if the memory device 200 determines that the voucher is invalid), the memory device 200 will not recognize the entity that presented the voucher.

各種情況(諸如,名稱之改變、實體與CA之間的關聯性之改變及私密密鑰之洩密或疑似洩密)可使得憑證在其期滿日期之前變得無效。在該等環境下,CA需撤銷憑證。在操作中,CA週期性地發布憑證撤銷清單(CRL),其為經簽署的資料結構,含有經廢止的憑證之印有時戳之清單。因此,為了鑑認實體,記憶體裝置200不僅檢查憑證是否適時,而亦檢查CRL來觀察憑證是否列於CRL上。(CRL可連同憑證由實體提供,或者記憶體裝置200可獲得CRL自身(例如,在記憶體裝置200為經連接裝置之情況下經由網際網路80)。)若憑證列於CRL上,則憑證不再有效(即使在其尚未期滿之情況下)且實體將得不到鑑認。如同憑證一般,發出的CRL具有期滿日期,該期滿日期指示何時應更 新CRL。此確保記憶體裝置200使用最新近之CRL。在鑑認期間,若記憶體裝置200發現當前時間超過CRL之期滿日期(亦即,若記憶體裝置200判定CRL無效),則CRL被認為存在缺陷且較佳地不用於憑證驗證。Various circumstances, such as a change in name, a change in the association between an entity and a CA, and a compromise or suspected compromise of a private key, may cause the credential to become invalid before its expiration date. In these circumstances, the CA needs to revoke the voucher. In operation, the CA periodically issues a Document Revocation List (CRL), which is a signed data structure containing a list of stamped time stamps. Therefore, in order to authenticate the entity, the memory device 200 not only checks whether the voucher is timely, but also checks the CRL to see if the voucher is listed on the CRL. (The CRL may be provided by the entity along with the credentials, 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 credentials are listed on the CRL, then the credentials It is no longer valid (even if it has not expired) and the entity will not be authenticated. As with the voucher, the issued CRL has an expiration date, which indicates when it should be more New CRL. This ensures that the memory device 200 uses the most recent CRL. During the authentication period, if the memory device 200 finds that the current time exceeds the expiration date of the CRL (i.e., if the memory device 200 determines that the CRL is invalid), the CRL is considered to be defective and preferably not used for credential verification.

如上文所論述,在此實施例中,記憶體裝置200需要知曉時間來驗證認證(此處為憑證及CRL)。存在用於允許記憶體裝置知曉時間為何之若干選項。一選項為使得記憶體裝置在每次記憶體裝置需要知曉時間時經由主機裝置自受信任時間伺服器請求時戳。此解決方案適於經連接裝置;然而,由於記憶體裝置可用於經連接裝置以及未連接裝置中(例如,未連接至網際網路之家用PC、MP3播放器、網路外之蜂巢式電話(例如,在飛機上時)),因此記憶體裝置在需要知曉用於鑑認程序的時間時無法依賴於可用的連接性。另一選項為使記憶體裝置配備電池供電時鐘。然而,此可能為不合需要的,因為其會添加記憶體裝置之成本。又一選項為依賴於主機裝置向記憶體裝置提供時間(自其自己的內部時鐘或自外部來源)。然而,在許多情形下,記憶體裝置無法信任主機裝置提供精準時間。若使用者被允許對主機裝置上之時鐘進行"倒填日期(back date)"(亦即,將主機裝置上之時鐘設定為早於當前時間之時間),則使用者將能夠規避記憶體裝置需執行之特定時間限制。另一方面,若記憶體裝置(在記憶體裝置中執行之應用程式)可信任主機裝置,則記憶體裝置(或在記憶體裝置中執行之應用程式)將能夠依賴於主機裝置以獲得時間。下文 提出可使用主機時間時之更多資訊。As discussed above, in this embodiment, the memory device 200 needs to know the time to verify the authentication (here the credentials and CRL). There are several options for allowing the memory device to know the time. One option is to cause the memory device to request a timestamp from the trusted time server via the host device each time the memory device needs to know the time. This solution is suitable for connected devices; however, since the memory device can be used in both connected and unconnected devices (eg, home PCs that are not connected to the Internet, MP3 players, cellular phones outside the network ( For example, on an airplane)), therefore, the memory device cannot rely on the available connectivity when it needs to know the time for the authentication process. Another option is to equip the memory device with a battery powered clock. However, this may be undesirable as it adds cost to the memory device. Yet another option is to rely on the host device to provide time to the memory device (either from its own internal clock or from an external source). However, in many cases, the memory device cannot trust the host device to provide precise time. If the user is allowed to "back date" the clock on the host device (ie, set the clock on the host device to be earlier than the current time), the user will be able to circumvent the memory device. Specific time limits to be enforced. On the other hand, if the memory device (the application executing in the memory device) can trust the host device, the memory device (or the application executing in the memory device) will be able to rely on the host device to obtain time. Below Ask for more information on when you can use host time.

用於此實施例中之另一選項為使用記憶體裝置之有限時間追蹤能力;特定言之記憶體裝置200量測其有效時間之能力。有效時間可指代記憶體裝置200連接至主機裝置且實際被使用(亦即,與閒置或處於休眠模式中相比,當記憶體裝置200與主機裝置300之間的匯流排上存在活動時)之時間。或者,有效時間可指代記憶體裝置200連接至主機裝置300且自主機裝置300接收功率之整個時間量。術語"有效時間"與"使用時間"將在本文中互換地使用。如下文所描述,在此實施例中,記憶體裝置200在硬體定時器區塊270可產生時鐘計時單元作為對CPU 260之中斷時為有效的,且CPU 260可使有效時間計數器遞增。Another option for use in this embodiment is the limited time tracking capability of using a memory device; in particular, the ability of the memory device 200 to measure its effective time. The effective time may refer to the memory device 200 being connected to the host device and actually being used (ie, when there is activity on the bus bar between the memory device 200 and the host device 300 compared to when idle or in the sleep mode) Time. Alternatively, the effective time may refer to the entire amount of time that the memory device 200 is connected to the host device 300 and receives power from the host device 300. The terms "effective time" and "time of use" will be used interchangeably herein. As described below, in this embodiment, the memory device 200 is active when the hardware timer block 270 can generate a clock timing unit as an interrupt to the CPU 260, and the CPU 260 can increment the valid time counter.

在操作中,硬體定時器區塊270(例如,ASIC控制器)含有產生週期性時鐘計時單元之振盪器且將該等計時單元提供至CPU 260作為中斷。(較佳地,振盪器以非常低之頻率操作且在CPU 260休眠時運作。)因此,硬體定時器區塊270在週期性基礎上(例如,每毫秒或微秒)中斷CPU 260。當CPU 260得到中斷時,特殊時鐘中斷服務常式(例如,在由CPU 260執行之韌體中)被調用且向有效時間計數器添加一個週期/單元,有效時間計數器儲存於CPU RAM 262及亦非揮發性快閃記憶體210中,因此計數器值在斷電之情況下將不丟失。為了避免記憶體210之過度磨損,較佳地以週期性方式(例如,大約每分鐘,只要記憶體裝置200通電)而非回應於每一時鐘計時單元來更新記憶體210中之有 效時間計數器。雖然此可能在斷電發生於更新有效時間計數器之前的情況下導致所量測時間之額外不精準性,但鑒於對記憶體耐久性之益處,此犧牲可被認為是可接受的。(為了進一步保護記憶體耐久性,儲存至有效時間計數器之值可包括指示計數器已被寫入多少次之欄位。若寫入值超過特定數量,則計數器可儲存於記憶體中之另一位置處。計數器內之位元亦可在有助於耐久性之情況下被移位。)寫入有效時間計數器不影響記憶體裝置200之效能(除了執行寫入之功率消耗以外)及規律活動性亦為較佳的。(換言之,較佳地,寫入時間計數器為服務於主機命令之過程的部分。)舉例而言,寫入有效時間計數器可被處理為背景任務且在服務於主機裝置命令之前執行。在主機裝置命令結束時,記憶體裝置200中之韌體可藉由自記憶體讀出資料且將其與所要值進行比較而驗證有效時間計數器之程式化成功。In operation, hardware timer block 270 (e.g., an ASIC controller) contains oscillators that generate periodic clock timing units and provide such timing units to CPU 260 as interrupts. (Preferably, the oscillator operates at a very low frequency and operates while the CPU 260 is asleep.) Thus, the hardware timer block 270 interrupts the CPU 260 on a periodic basis (e.g., every millisecond or microsecond). When the CPU 260 is interrupted, the special clock interrupt service routine (e.g., in the firmware executed by the CPU 260) is called and a cycle/unit is added to the valid time counter, and the valid time counter is stored in the CPU RAM 262 and In the volatile flash memory 210, therefore, the counter value will not be lost in the event of a power outage. In order to avoid excessive wear of the memory 210, it is preferred to update the memory 210 in a periodic manner (e.g., approximately every minute as long as the memory device 200 is powered) rather than in response to each clock timing unit. Effect time counter. While this may result in additional inaccuracies in the measured time in the event that a power outage occurs prior to updating the effective time counter, this sacrifice may be considered acceptable in view of the benefits to memory durability. (To further protect memory durability, the value stored to the valid time counter may include a field indicating how many times the counter has been written. If the written value exceeds a certain number, the counter may be stored in another location in the memory. The bits in the counter can also be shifted in the case of contributing to durability.) The write valid time counter does not affect the performance of the memory device 200 (except for the power consumption of writing) and the regular activity. It is also preferred. (In other words, preferably, the write time counter is part of the process that serves the host command.) For example, the write valid time counter can be processed as a background task and executed prior to servicing the host device command. At the end of the host device command, the firmware in the memory device 200 can verify the stylized success of the valid time counter by reading the data from the memory and comparing it to the desired value.

又,較佳地,有效時間計數器之值安全地儲存於記憶體210中(例如,藉由使用密鑰--雜湊訊息鑑認碼(HMAC)而經由加密引擎252簽署),因此無法輕易對其進行篡改。在簽署失配之情況下,可將資料看作非初始化,如同攻擊者對其進行篡改一般。另外,應注意,可使用用於量測有效時間之其他機制。Also, preferably, the value of the valid time counter is securely stored in the memory 210 (e.g., via the encryption engine 252 by using a key-Hatch Message Authentication Code (HMAC)), so it cannot be easily Make tampering. In the case of a mismatch, the data can be treated as uninitialized, as the attacker tampers with it. Additionally, it should be noted that other mechanisms for measuring the effective time can be used.

為了將儲存於有效時間計數器中之值轉換為真實時間,CPU 260使所儲存值乘以硬體定時器區塊270產生時鐘計時單元之頻率。舉例而言,若值500儲存於有效時間計數器 中且硬體定時器區塊270每5毫秒產生一時鐘計時單元,則CPU 260將計算得2,500毫秒(500乘5)之有效時間。為了產生時間估測,將所轉譯有效時間添加至記憶體裝置200自受信任來源接收之上一時戳。換言之,時戳充當"開始線",記憶體裝置之量測的有效時間被添加至該時戳。時戳可採取任何形式且以任何所要精確度(例如,年、月、日、小時、分鐘、秒等等)指示時間。較佳地,由記憶體裝置200信任可給予其精準時間之實體(例如,時間伺服器100或受信任主機裝置)向記憶體裝置200提供時戳。時戳可採取任何形式且被單獨發送或包括於其他資訊中。記憶體裝置較佳地經由加密引擎252安全儲存時戳,因此無法輕易對其進行篡改。當記憶體裝置200接收到新時戳時,新時戳儲存於記憶體裝置200中,且有效時間計數器受到重設。因此,其後將關於新時戳而非舊時戳來量測有效時間。替代重設(且因此,"重算")計數器,可記錄在新時戳之時間存在的有效時間計數器值且將其自當前時間減去以量測有效時間。In order to convert the value stored in the valid time counter to the real time, the CPU 260 multiplies the stored value by the hardware timer block 270 to generate the frequency of the clock timing unit. For example, if the value 500 is stored in the valid time counter The medium hardware timer block 270 generates a clock timing unit every 5 milliseconds, and the CPU 260 will calculate a valid time of 2,500 milliseconds (500 times 5). To generate a time estimate, the translated valid time is added to the memory device 200 to receive a time stamp from the trusted source. In other words, the time stamp acts as a "start line" to which the effective time of the measurement of the memory device is added. The time stamp can take any form and indicate the time with any desired accuracy (eg, year, month, day, hour, minute, second, etc.). Preferably, the memory device 200 trusts an entity (eg, the time server 100 or a trusted host device) that can give its precise time a time stamp to the memory device 200. The timestamp can take any form and be sent separately or included in other information. The memory device preferably securely stores the timestamp via the encryption engine 252 and therefore cannot be easily tampered with. When the memory device 200 receives the new time stamp, the new time stamp is stored in the memory device 200, and the valid time counter is reset. Therefore, the effective time will be measured later with respect to the new time stamp instead of the old time stamp. Instead of resetting (and therefore, "recalculating") the counter, the valid time counter value present at the time of the new timestamp can be recorded and subtracted from the current time to measure the effective time.

現在,既然已論述記憶體裝置之時間追蹤能力,將描述鑑認程序之實例。再次轉向圖式,圖4為一實施例之不對稱鑑認過程的協定圖。在以下實例中,播放器301試圖經由ACR 201登入記憶體裝置200。如下文所較為詳細描述,播放器301含有認證(例如,RSA密鑰對、憑證及憑證撤銷清單(CRL)),且ACR 201負責確認播放器301之真實性且向物件頒予權利(在此情況下為建立播放器301與DRM模組 207之間的安全通道)。如圖4所示,第一步驟為主機裝置300向記憶體裝置200發送對播放器301之鑑認之請求(動作402)。若時戳尚未安裝於記憶體裝置200中,則記憶體裝置200以登入失敗訊息來回應於鑑認請求(動作404)。Now, since the time tracking capability of the memory device has been discussed, an example of the authentication procedure will be described. Turning again to the drawings, Figure 4 is an agreement diagram of the asymmetric authentication process of an embodiment. In the following example, the player 301 attempts to log into the memory device 200 via the ACR 201. As described in more detail below, the player 301 contains an authentication (eg, an RSA key pair, a voucher, and a voucher revocation list (CRL)), and the ACR 201 is responsible for confirming the authenticity of the player 301 and granting rights to the object (here In case, the player 301 and the DRM module are established. Secure channel between 207). As shown in FIG. 4, the first step is that the host device 300 transmits a request for authentication to the player 301 to the memory device 200 (act 402). If the timestamp has not been installed in the memory device 200, the memory device 200 responds to the authentication request with a login failure message (act 404).

下一系列動作描述向記憶體裝置200提供時戳之過程且將結合圖5及圖6而描述,圖5及圖6分別為說明記憶體裝置200可獲得時戳之一特定方式的系統圖與流程圖。應瞭解,記憶體裝置200可以不同方式獲得時戳,且時戳可採取不同形式。亦應瞭解,與多個伺服器或主機介面連接之單一記憶體裝置可同時處理多個形式。因此,此實例之細節不應被加入申請專利範圍中,除非在其中明確陳述。The following series of actions describe the process of providing time stamps to the memory device 200 and will be described in conjunction with FIGS. 5 and 6, which are system diagrams illustrating a particular manner in which the memory device 200 can obtain time stamps, respectively. flow chart. It should be appreciated that the memory device 200 can obtain time stamps in different ways, and the time stamp can take different forms. It should also be appreciated that a single memory device connected to multiple server or host interfaces can handle multiple formats simultaneously. Therefore, the details of this example should not be included in the scope of the patent application unless explicitly stated therein.

如圖5所示,記憶體裝置200經由記憶體裝置-主機裝置通信通道305與主機裝置300通信,且主機裝置300經由主機裝置-時間伺服器通信通道315與時間伺服器100通信。雖然時間伺服器100可包含單一伺服器,但在此實施例中,時間伺服器100包含複數個伺服器102、104、106,其經由伺服器間通信通道325而彼此同步。又,如上文所註,替代使用時間伺服器100來獲得時戳,可使用來自主機裝置300(較佳地僅在其為受信任主機裝置之情況下)之時戳。As shown in FIG. 5, the memory device 200 communicates with the host device 300 via the memory device-host device communication channel 305, and the host device 300 communicates with the time server 100 via the host device-time server communication channel 315. Although the time server 100 can include a single server, in this embodiment, the time server 100 includes a plurality of servers 102, 104, 106 that are synchronized with each other via the inter-server communication channel 325. Again, as noted above, instead of using time server 100 to obtain a timestamp, a timestamp from host device 300 (preferably only if it is a trusted host device) may be used.

在此實施例中,藉由主機裝置300開始用於請求時戳之程序,其向記憶體裝置200發送取得臨時亂數命令(get nonce command)(動作405)(見圖4、圖5及圖6)。在此實施例中,臨時亂數為由記憶體裝置200用以在稍後驗證時間 伺服器100所產生之時戳之真實性的160位元隨機數字。記憶體裝置200產生隨機數字(臨時亂數)(動作410)且將其儲存於CPU RAM(亦即,揮發性記憶體)262(或者替代地,記憶體210)中用於稍後驗證步驟。記憶體裝置200接著向主機裝置300發送臨時亂數(動作415)。記憶體裝置200亦開始量測時間(如下文所描述)來於稍後判定是否已發生逾時。In this embodiment, the host device 300 starts a program for requesting a time stamp, and sends a get nonce command to the memory device 200 (ACT 405) (see FIG. 4, FIG. 5, and FIG. 6). In this embodiment, the temporary random number is used by the memory device 200 to verify the time at a later time. A 160-bit random number of the authenticity of the timestamp generated by server 100. The memory device 200 generates a random number (temporary random number) (act 410) and stores it in the CPU RAM (i.e., volatile memory) 262 (or alternatively, the memory 210) for later verification steps. The memory device 200 then transmits a temporary random number to the host device 300 (ACT 415). The memory device 200 also begins measuring time (as described below) to determine later if a timeout has occurred.

當主機裝置300接收到臨時亂數時,其向時間伺服器100發送含有臨時亂數之取得時戳請求(動作420)。時間伺服器100以其私密密鑰對時間(例如,UTC Zulu格式下之世界時間)及臨時亂數進行簽署。時間伺服器100接著向主機裝置300發送在此實施例中包含臨時亂數、時戳、憑證鏈及CRL鏈之時戳回應(動作425)。(應注意,此憑證及CRL係自時間伺服器100發送以對其加以鑑認且與經發送以鑑認播放器301之憑證及CRL不同。)主機裝置300接著連同此回應向記憶體裝置200發送時間更新命令(動作430)。回應於彼命令,記憶體裝置200試圖驗證憑證及CRL(動作435)。(再一次,憑證及CRL不同於經發送以鑑認播放器301之憑證及CRL。)如下文所論述,可能較佳地假設時間伺服器100之憑證及CRL的有效性週期為有效的,而非與記憶體裝置200所產生之時間估測相對照來檢查其有效性。若驗證未通過,則記憶體裝置200重設揮發性記憶體262且返回至閒置過程(動作440)。若對憑證及CRL之驗證通過(動作445),則記憶體裝置200比較回應中之臨時亂數與揮發性記憶體262中之臨時亂數(動作450)。若比較未通過,則記 憶體裝置重設揮發性記憶體262且返回至閒置過程(動作455)。若比較成功,則記憶體裝置200較佳地以防止篡改之安全方式將新時戳儲存於記憶體210中。When the host device 300 receives the temporary random number, it transmits a time stamp request containing the temporary random number to the time server 100 (act 420). The time server 100 signs with its private key versus time (eg, world time in UTC Zulu format) and temporary random numbers. Time server 100 then transmits to the host device 300 a timestamp response containing the temporary random number, timestamp, credential chain, and CRL chain in this embodiment (act 425). (It should be noted that this credential and CRL are sent from the time server 100 to authenticate it and are different from the credentials and CRL sent to authenticate the player 301.) The host device 300 then responds to the memory device 200 with this response. A time update command is sent (act 430). In response to the command, the memory device 200 attempts to verify the credential and CRL (act 435). (again, the credential and CRL are different from the credential and CRL sent to authenticate the player 301.) As discussed below, it may be preferable to assume that the validity period of the credential and CRL of the time server 100 is valid, and The validity is checked against the time estimate produced by the memory device 200. If the verification fails, the memory device 200 resets the volatile memory 262 and returns to the idle process (act 440). If the verification of the credential and the CRL is passed (ACT 445), the memory device 200 compares the temporary random number in the response with the temporary random number in the volatile memory 262 (act 450). If the comparison fails, then remember The memory device resets the volatile memory 262 and returns to the idle process (act 455). If the comparison is successful, the memory device 200 preferably stores the new time stamp in the memory 210 in a secure manner to prevent tampering.

應注意,在記憶體裝置200產生臨時亂數410且等待回應(動作460)之後,主機裝置300有可能可向記憶體裝置200發送另一取得臨時亂數命令(動作465)。如上文所提及,記憶體裝置200在臨時亂數產生之後開始量測時間。若在所量測時間達到特定逾時界限之前接收到新臨時亂數命令(465),則記憶體裝置200較佳地忽略新臨時亂數命令(465)。然而,若在逾時界限之後接收到新臨時亂數命令(465),則記憶體裝置200將重設揮發性記憶體262且產生新臨時亂數(動作470)。因此,臨時亂數僅在有限時間內有效,且逾時界限("行進時間誤差")為記憶體裝置200認為合理地用來等待來自時間伺服器100之時戳之最大時間。It should be noted that after the memory device 200 generates the temporary random number 410 and waits for a response (act 460), the host device 300 may send another acquisition temporary random number command to the memory device 200 (act 465). As mentioned above, the memory device 200 begins measuring time after the temporary random number is generated. If a new temporary random number command is received (465) before the measured time reaches a particular timeout limit, the memory device 200 preferably ignores the new temporary random number command (465). However, if a new temporary random number command is received (465) after the timeout limit, the memory device 200 will reset the volatile memory 262 and generate a new temporary random number (act 470). Thus, the temporary random number is only valid for a limited time, and the timeout limit ("travel time error") is the maximum time that the memory device 200 considers to be reasonably used to wait for the timestamp from the time server 100.

因為儲存於記憶體裝置200中之時戳含有時間伺服器100簽署資料串之時間,所以時戳中所指示之時間可能並非主機裝置300請求時戳之實際現實時間或記憶體裝置200儲存時戳之實際現實時間,此取決於時戳之精確度(例如,年、月、日、小時、分鐘、秒等等)及發送請求與接收回應中所涉及之延遲。可將上文論述之臨時亂數逾時週期設定為一時間以確保時戳將具有記憶體裝置200所要求之精確度。因此,記憶體裝置200可控制時戳請求中之最大可接受延遲。又,在替代實施例中,時間伺服器100所產生之時戳可指示某一其他時間,諸如主機裝置300請求時戳 之估測時間、時戳將儲存於記憶體裝置200中之預期時間或某一其他時間。Because the timestamp stored in the memory device 200 contains the time when the time server 100 signs the data string, the time indicated in the time stamp may not be the actual real time of the host device 300 requesting the time stamp or the memory device 200 stores the time stamp. The actual real time depends on the accuracy of the timestamp (eg, year, month, day, hour, minute, second, etc.) and the delay involved in sending the request and receiving the response. The temporary random number overdue period discussed above can be set to a time to ensure that the time stamp will have the accuracy required by the memory device 200. Thus, the memory device 200 can control the maximum acceptable delay in the timestamp request. Also, in an alternate embodiment, the timestamp generated by the time server 100 may indicate some other time, such as the host device 300 requesting a timestamp. The estimated time, time stamp will be stored in the memory device 200 at an expected time or some other time.

以上協定允許記憶體裝置200經由不安全連接系統(例如,網際網路、WiFi網路、GSM網路等等)與時間伺服器100通信。連接系統在記憶體裝置200無法假設時間伺服器100所發送之時戳在傳輸期間將不被篡改之意義上為不安全的。由於無法依賴於網路來保護時戳,因此可在時間伺服器100與記憶體裝置200之間使用以上保護機制(或某一其他保護機制)。加密協定使得在時戳被篡改之情況下,記憶體裝置200可偵測到此篡改。換言之,因為連接系統不安全,所以系統自身無法防止他人改變時戳中之位元;然而,記憶體裝置200可偵測到篡改且拒絕時戳。在替代實施例中,使用安全通信系統(亦即,資料通信線路受到保護),且時戳可簡單地作為明文而發送,因為無人可篡改時戳。The above agreement allows the memory device 200 to communicate with the time server 100 via an insecure connection system (eg, internet, WiFi network, GSM network, etc.). The connection system is unsafe in the sense that the memory device 200 cannot assume that the timestamp sent by the time server 100 will not be tampered during transmission. Since the time stamp cannot be protected by the network, the above protection mechanism (or some other protection mechanism) can be used between the time server 100 and the memory device 200. The encryption protocol allows the memory device 200 to detect this tampering in the event that the timestamp is tampered with. In other words, because the connection system is not secure, the system itself cannot prevent others from changing the bits in the timestamp; however, the memory device 200 can detect tampering and reject the timestamp. In an alternate embodiment, a secure communication system is used (i.e., the data communication line is protected) and the timestamp can simply be sent as plaintext because no one can tamper with the timestamp.

返回至圖4,在新時戳現儲存於記憶體裝置200中的情況下,記憶體裝置200向主機裝置300發送回"時間更新成功"訊息(動作452),且主機裝置300再一次向記憶體裝置200發送鑑認請求(動作454)。由於記憶體裝置200具有時戳,因此記憶體裝置200將檢查ACR 201之時戳更新策略(TUP)(動作500)。因為時間估測係基於時戳,所以使時間估測基於過時的時戳可能導致不精準時間估測。因此,使用TUP來判定記憶體裝置200上之現有時戳何時被視為過時且需要更新(亦即,新時戳)。如圖3所示且如下文較為詳細描述 的,不同ACR可具有不同TUP(亦即,不同ACR可具有不同時間容限水準),其可在產生ACR時建立。Returning to FIG. 4, in the case where the new time stamp is now stored in the memory device 200, the memory device 200 sends back a "time update successful" message to the host device 300 (act 452), and the host device 300 once again memorizes The body device 200 sends an authentication request (act 454). Since the memory device 200 has a time stamp, the memory device 200 will check the time stamp update policy (TUP) of the ACR 201 (act 500). Since the time estimate is based on a time stamp, making the time estimate based on an outdated time stamp may result in an inaccurate time estimate. Therefore, the TUP is used to determine when an existing timestamp on the memory device 200 is considered obsolete and needs to be updated (ie, a new timestamp). As shown in Figure 3 and described in more detail below Different ACRs may have different TUPs (i.e., different ACRs may have different time tolerance levels), which may be established when an ACR is generated.

在此實施例中,由四個值表示TUP:(1)功率循環之臨限數目,(2)有效時間之臨限值,(3)"延伸"有效時間之臨限值,及(4)指示在參數之間是否存在邏輯或(OR)關係之位元(亦即,在僅單一參數未通過之情況下是否需要時間更新,或者是否僅在所有參數未通過之情況下需要時間更新)。此等參數中之每一者均將在下文中得到詳細描述。(應注意,可考慮除此等參數以外或替代此等參數之其他參數。)In this embodiment, TUP is represented by four values: (1) the number of thresholds of the power cycle, (2) the threshold of the effective time, (3) the threshold of the "extended" effective time, and (4) Indicates whether there is a logical OR (OR) relationship between the parameters (ie, whether a time update is required if only a single parameter fails, or if a time update is required only if all parameters fail). Each of these parameters will be described in detail below. (It should be noted that other parameters besides or in place of these parameters may be considered.)

圖7為展示檢查TUP動作(動作500)之較多細節的流程圖。首先,進行檢查以判定記憶體裝置200是否已經初始化來檢查TUP(例如,藉由觀察儲存於記憶體210中之組態資料)(動作505)。若記憶體裝置200尚未經初始化來檢查TUP,則記憶體裝置200使用記憶體裝置200所接收之上一時戳來產生時間估測(動作510),且試圖使用彼時間估測來鑑認實體。若記憶體裝置200已經初始化來檢查TUP,則記憶體裝置200開始彼檢查。7 is a flow chart showing more details of checking a TUP action (act 500). First, a check is made to determine if the memory device 200 has been initialized to check the TUP (eg, by observing configuration data stored in the memory 210) (act 505). If the memory device 200 has not been initialized to check the TUP, the memory device 200 uses the time stamp received by the memory device 200 to generate a time estimate (act 510) and attempts to authenticate the entity using the time estimate. If the memory device 200 has been initialized to check the TUP, the memory device 200 begins the check.

首先,記憶體裝置200判定TUP是否包括對自上一時戳起的記憶體裝置200之功率循環之數目的檢查(動作515)。在此實施例中,此藉由檢查上文提及之"功率循環"值而完成。若"功率循環"值為零,則不檢查功率循環之數目。若"功率循環"值不為零,則藉由使用彼值作為臨限而檢查功率循環之數目。功率循環之數目為對記憶體裝置200啟動 的次數之計數,其指示自上一時戳起,使記憶體裝置200斷電多少次(亦即,對於每一次開啟電源,必定已存在一次斷電)。可藉由CPU 260量測功率循環之數目。每次記憶體裝置200經過一功率循環,CPU 260均可調用韌體中之裝置重設常式。如在CPU 260向有效時間計數器添加一單元之情形中,藉由裝置重設常式,CPU 260將向CPU RAM 262及/或記憶體210中之功率循環計數器添加一單元。如同有效時間計數器,可週期性地更新功率循環計數器以減少記憶體磨損。First, the memory device 200 determines whether the TUP includes a check of the number of power cycles of the memory device 200 from the last time stamp (act 515). In this embodiment, this is done by examining the "power cycle" values mentioned above. If the "power cycle" value is zero, the number of power cycles is not checked. If the "power cycle" value is not zero, the number of power cycles is checked by using the value as a threshold. The number of power cycles is activated for the memory device 200 The count of the number of times indicates how many times the memory device 200 is powered off since the last time stamp (i.e., there must have been a power outage for each power-on). The number of power cycles can be measured by the CPU 260. Each time the memory device 200 passes a power cycle, the CPU 260 can call the device reset routine in the firmware. In the case where the CPU 260 adds a unit to the active time counter, the CPU 260 will add a unit to the CPU cycle 262 and/or the power cycle counter in the memory 210 by the device reset routine. Like the effective time counter, the power cycle counter can be periodically updated to reduce memory wear.

當記憶體裝置200斷電時,存在至少某一不由所量測有效時間表示之實際時間(因為記憶體裝置200無法在其不"有效"時量測其有效時間)。因為記憶體裝置200不知曉在功率循環之間經過多長時間,所以功率循環之數目不指示所量測之有效時間有多不精準。然而,其確實提供了對是否正在預期使用模式外使用記憶體裝置100之初步印象,其可粗略地指示所量測之有效時間可能有多不精準。舉例而言,在記憶體裝置200自上一時戳起具有十次功率循環時進行之時間估測的精準程度可能低於在記憶體裝置200自上一時戳起僅具有單一功率循環時進行之時間估測。When the memory device 200 is powered down, there is at least some actual time that is not represented by the measured effective time (because the memory device 200 cannot measure its effective time when it is not "active"). Since the memory device 200 does not know how long it takes between power cycles, the number of power cycles does not indicate how inaccurate the measured time is. However, it does provide a preliminary impression of whether or not the memory device 100 is being used outside of the intended mode of use, which can roughly indicate how inaccurate the measured time may be. For example, the time estimate performed by the memory device 200 with ten power cycles from the last time may be less accurate than when the memory device 200 has only a single power cycle since the last time stamp. Estimate.

若TUP包括對功率循環之數目的檢查,則記憶體裝置200檢查自上一時戳起記憶體裝置200之功率循環之數目來觀察該數目是否超過"功率循環"值中所設定的臨限量(動作520)。臨限數目對於每一ACR可組態,以反映所要時間容限。舉例而言,若鑑認非常敏感且需要確保未超過憑證或 CRL之期滿日期,則可將臨限數目設定為一。因此,若記憶體裝置200關閉(甚至在一次之情況下)(且因此,存在無法由所量測有效時間說明的至少某一時間量),則此參數之TUP檢查將不通過。另一方面,若鑑認並不如此敏感,則可將功率循環之數目設定為較大數目(或甚至完全不考慮)以允許TUP檢查通過,即使在存在某一數目之功率循環(且因此,未由所量測有效時間說明的某一時間量)的情況下。If the TUP includes an inspection of the number of power cycles, the memory device 200 checks the number of power cycles of the memory device 200 from the last timestamp to see if the number exceeds the threshold amount set in the "power cycle" value (action) 520). The threshold number is configurable for each ACR to reflect the desired time tolerance. For example, if the identification is very sensitive and you need to make sure that the credentials are not exceeded or The expiration date of the CRL can be set to one. Thus, if the memory device 200 is turned off (even in one case) (and therefore, there is at least some amount of time that cannot be accounted for by the measured effective time), the TUP check for this parameter will not pass. On the other hand, if the authentication is not so sensitive, the number of power cycles can be set to a larger number (or even not at all) to allow the TUP to pass, even if there is a certain number of power cycles (and therefore, In the case of a certain amount of time not indicated by the measured effective time).

若對功率循環之數目的檢查不通過且判定在TUP參數之間存在OR關係(動作525),則TUP檢查不通過(動作530)。記憶體裝置200向主機裝置300發送訊息以指示該未通過,且使用上文描述之程序來獲得新時戳。若對功率循環之數目的檢查通過或者若其未通過且判定在TUP參數之間不存在OR關係(動作525),則該過程藉由判定TUP是否包括對自上一時戳起之有效時間的檢查而繼續(動作535)。If the check for the number of power cycles fails and it is determined that there is an OR relationship between the TUP parameters (act 525), then the TUP check fails (act 530). The memory device 200 sends a message to the host device 300 to indicate the failure, and uses the procedure described above to obtain a new timestamp. If the check of the number of power cycles passes or if it fails and it is determined that there is no OR relationship between the TUP parameters (ACT 525), then the process determines whether the TUP includes a check for the effective time since the last timestamp. And continue (act 535).

類似於上文描述之功率循環程序,若"有效時間"值為零,則不檢查有效時間。然而,若"有效時間"值不為零,則藉由使用彼值作為臨限秒(或某一其他時間單位)數來檢查有效時間。如同功率循環之數目,臨限有效時間量對於每一ACR可組態以反映所要時間容限。一般而言,記憶體裝置200有效的時間愈久,所量測有效時間之不精準性將可能愈大。因此,若鑑認非常敏感且需要確保未超過憑證或CRL之期滿日期,則可將所量測有效時間之臨限量設定為非常低。相反地,若鑑認並不如此敏感,則可將所量測 有效時間之臨限量設定為較高(或甚至完全不考慮)。Similar to the power cycle procedure described above, if the "valid time" value is zero, the valid time is not checked. However, if the "valid time" value is not zero, the effective time is checked by using the value as the threshold second (or some other time unit). As with the number of power cycles, the threshold effective amount of time is configurable for each ACR to reflect the desired time tolerance. In general, the longer the memory device 200 is effective, the greater the inaccuracy of the measured effective time. Therefore, if the authentication is very sensitive and you need to ensure that the expiration date of the voucher or CRL is not exceeded, the threshold for the measured effective time can be set to be very low. Conversely, if the identification is not so sensitive, the measurement can be The threshold for the effective time is set to be higher (or even not considered at all).

若對有效時間之檢查未通過且判定在TUP參數之間存在OR關係(動作545),則TUP檢查不通過(動作550)。記憶體裝置200向主機裝置300發送訊息以指示該未通過,且使用上文描述之程序來獲得新時戳。若對有效時間之檢查通過或者若其未通過且判定在TUP參數之間不存在OR關係(動作545),則該過程藉由判定TUP是否包括對"延伸"有效時間的檢查而繼續(動作555)。If the check for the valid time has not passed and it is determined that there is an OR relationship between the TUP parameters (act 545), the TUP check fails (act 550). The memory device 200 sends a message to the host device 300 to indicate the failure, and uses the procedure described above to obtain a new timestamp. If the check of the valid time passes or if it fails and it is determined that there is no OR relationship between the TUP parameters (act 545), then the process continues by determining if the TUP includes a check for the "extended" effective time (act 555) ).

如上文所註,所量測有效時間在記憶體裝置200未連續量測有效時間之情況下可能並非對實際有效時間之真實量測。亦即,若記憶體裝置200"不活動"(例如,在記憶體裝置200閒置或處於休眠模式中時,或者在記憶體裝置200斷電時或記憶體裝置200被自主機裝置300移除時-在此實施例中,為使得硬體定時器區塊270停止產生時鐘計時單元及/或使得CPU 260停止對該等計時單元作出反應之任何事件),則所量測有效時間將少於自開始量測起經過的實際時間,因為在記憶體裝置200中無任何事物來告知其在其不活動時所經過的時間。舉例而言,假設在1月1日接收到時戳,且記憶體裝置200量測得兩天之有效時間。(為了簡單起見,在此實例中以天為單位量測時間。然而,如上文所提及,可使用任何所要時間單位。)因此,記憶體裝置200在此點產生之時間估測將指示日期為1月3日(亦即,將兩天的有效時間加至1月1日之上一時戳)。若記憶體裝置200連續量測有效時間,則此時間估測將精準地表示實際 時間(假設硬體定時器區塊270及CPU 260精準地起作用)。然而,若記憶體裝置200未連續量測有效時間(亦即,若記憶體裝置200在其開始量測有效時間之後任一點不活動),則時間估測將不精準地表示實際時間。在最佳情況下,時間估測將指示實際時間至少為1月3日。實際時間可為1月4日或稍後某一時間(6月29日、11月2日、12月5日、下一年等等)。因此,在動作540中對有效時間之檢查可能不給出精準結果。As noted above, the measured effective time may not be a true measure of the actual effective time if the memory device 200 does not continuously measure the effective time. That is, if the memory device 200 is "inactive" (eg, when the memory device 200 is idle or in a sleep mode, or when the memory device 200 is powered down or the memory device 200 is removed from the host device 300) - in this embodiment, to cause the hardware timer block 270 to stop generating the clock timing unit and/or cause the CPU 260 to stop any event that reacts to the timing unit, the measured effective time will be less than The actual time elapsed is measured as there is nothing in the memory device 200 to inform it of the elapsed time when it is inactive. For example, assume that a timestamp is received on January 1 and the memory device 200 measures the effective time of two days. (For simplicity, the time is measured in days in this example. However, as mentioned above, any desired time unit can be used.) Therefore, the time estimate produced by the memory device 200 at this point will indicate The date is January 3 (that is, the effective time of two days is added to the time stamp above January 1). If the memory device 200 continuously measures the effective time, then this time estimate will accurately represent the actual time. Time (assuming hardware timer block 270 and CPU 260 act accurately). However, if the memory device 200 does not continuously measure the effective time (i.e., if the memory device 200 is inactive at any point after it begins to measure the effective time), the time estimate will not accurately represent the actual time. In the best case, the time estimate will indicate that the actual time is at least January 3. The actual time can be January 4 or a later time (June 29, November 2, December 5, next year, etc.). Therefore, the check of the effective time in act 540 may not give an accurate result.

為了處理此問題,TUP可包括對"延伸"有效時間之檢查(動作555及560)。"延伸"有效時間為基於先前量測之有效時間之判定精準度而調節所量測有效時間的結果。因此,若記憶體裝置200量測得三天之有效時間且知曉上一次或上若干次其量測有效時間,其產生為實際時間之50%的值,則記憶體裝置200可以因數二調節(或"延伸")三天之所量測有效時間(因為所量測有效時間為實際時間之50%)來產生六天。關於"延伸"有效時間之額外資訊描述於美國專利申請案第11/811,284號"Method for Improving Accuracy of a Time Estimate from a Memory Device"及美國專利申請案第11/811,347號"Memory Device with Circuitry for Improving Accuracy of a Time Estimate"中,該兩個申請案與本申請案同在申請中且藉此以引用方式併入本文。To address this issue, the TUP may include a check for "extended" valid time (acts 555 and 560). The "extension" effective time is a result of adjusting the measured effective time based on the determination accuracy of the effective time of the previous measurement. Therefore, if the memory device 200 measures the effective time of three days and knows that the measurement effective time last time or several times, which is a value of 50% of the actual time, the memory device 200 can adjust the factor two. (or "extend") three days of measurement of the effective time (because the measured effective time is 50% of the actual time) to produce six days. Additional information regarding the "extended" effective time is described in "Method for Improving Accuracy of a Time Estimate from a Memory Device" and "U.S. Patent Application Serial No. 11/811,347", "Memory Device with Circuitry for", US Patent Application No. 11/811,284 In the case of "According Accuracy of a Time Estimate", both of which are hereby incorporated by reference.

替代使用"延伸"有效時間,可使用"延伸"停機時間。停機時間指代記憶體裝置200在時戳之間不活動之時間量。由於不存在量測記憶體裝置200不有效的時間長度之方 法,因此停機時間為計算所得之值;特定言之,停機時間=時戳之間的實際時間-有效時間。"延伸"停機時間為基於先前量測之有效時間(或基於所量測有效時間之停機時間)之判定精準度而調節的停機時間計算。以下為可考慮之其他停機時間變化之實例的清單。在此清單中,"DownTime"指代"延伸"停機時間(例如,先前知曉之時戳之間的停機時間之平均值)。Instead of using the "extended" effective time, you can use "extended" downtime. The downtime refers to the amount of time that the memory device 200 is inactive between timestamps. Since there is no measure of the length of time that the memory device 200 is not effective Law, so the downtime is the calculated value; specifically, the downtime = the actual time between the timestamps - the effective time. The "extended" downtime is a downtime calculation that is adjusted based on the accuracy of the previous measurement's effective time (or based on the measured downtime of the measured effective time). The following is a list of examples of other downtime changes that can be considered. In this list, "DownTime" refers to "extended" downtime (eg, the average of downtime between previously known timestamps).

總停機時間估測(teDownTime):teDownTime=(timestamPi -timestampi-1 -ActiveTimei ),其中指數i自組態於記憶體裝置200中之第二時戳至最後的時戳。Total Downtime Estimate (teDownTime): teDownTime = (timestamP i -timestamp i-1 -ActiveTime i ), where the index i is from the second timestamp configured in the memory device 200 to the last timestamp.

針對特定時刻的自上一時戳起之當前DownTime(cDowntime)。此可關於自上一次時戳更新的功率循環(PC)之數目而計算(cDowntime=自上一時戳起之PC *(teDownTime/PC))或關於自上一次時戳更新的有效時間而計算(cDowntime=自上一時戳起之ActiveTime *(teDownTime/ActiveTime))。The current DownTime (cDowntime) from a previous time stamp for a particular moment. This can be calculated as the number of power cycles (PC) since the last timestamp update (cDowntime=PC*(teDownTime/PC) from the last timestamp) or calculated from the effective time since the last timestamp update ( cDowntime=ActiveTime *(teDownTime/ActiveTime)) since the last time.

若DownTime參數經組態而不被使用,則將DownTime值設定為0。If the DownTime parameter is configured and not used, set the DownTime value to 0.

若DownTime參數經組態而經使用,則將DownTime設定為1。記憶體裝置200將以以下方式使用DownTime性質來評估何時需要時戳更新:當ServiceTime(例如,憑證之有效性或CRL之有效性)-時間估測<DownTime時,需要時戳更新。Set DownTime to 1 if the DownTime parameter is configured for use. The memory device 200 will use the DownTime property to evaluate when a timestamp update is needed in the following manner: When the ServiceTime (eg, validity of the credential or validity of the CRL) - time estimate <DownTime, a timestamp update is required.

返回至圖7,若對"延伸"有效時間之檢查未通過(動作 560),則對TUP之檢查未通過(動作565),且記憶體裝置200向主機裝置300發送訊息。接著使用上文描述之程序來獲得新時戳。若對"延伸"有效時間之檢查通過(或若記憶體裝置200未經初始化以檢查TUP),則記憶體裝置200向主機裝置300發送回"TUP通過"訊息510、570(見圖4)。主機裝置300接著向記憶體裝置200發送實體之憑證及CRL,且記憶體裝置試圖鑑認實體(動作585)。特定言之,記憶體裝置200將基於上一接收之時戳及所量測有效時間來產生時間估測以驗證憑證(動作585)且驗證CRL(動作590)。若憑證及CRL之期滿時間在所產生時間估測之後,則記憶體裝置200向主機裝置300發送回OK訊息,且鑑認方法中之其他步驟(若存在)可被執行。若實體得到鑑認,則ACR 201向物件頒予實體權利(此處為藉由建立播放器301與DRM模組207之間的安全通道)。否則,若憑證及/或CRL已期滿,則記憶體裝置200可向主機裝置300發送陳述鑑認嘗試已失敗之訊息。主機裝置300又可如上文所描述而開始時戳更新。Return to Figure 7, if the check for the "extended" valid time does not pass (action 560), the check of the TUP is not passed (ACT 565), and the memory device 200 sends a message to the host device 300. The procedure described above is then used to obtain a new time stamp. If the check for the "extended" valid time passes (or if the memory device 200 is uninitialized to check the TUP), the memory device 200 sends a "TUP through" message 510, 570 (see FIG. 4) to the host device 300. The host device 300 then sends the entity's credentials and CRL to the memory device 200, and the memory device attempts to authenticate the entity (act 585). In particular, the memory device 200 will generate a time estimate based on the last received timestamp and the measured valid time to verify the credential (act 585) and verify the CRL (act 590). If the expiration time of the credential and the CRL is after the generated time estimate, the memory device 200 sends back an OK message to the host device 300, and other steps in the authentication method, if any, can be performed. If the entity is authenticated, the ACR 201 grants the entity rights to the object (here by establishing a secure channel between the player 301 and the DRM module 207). Otherwise, if the credentials and/or CRL have expired, the memory device 200 can send a message to the host device 300 stating that the authentication attempt has failed. Host device 300, in turn, can initiate a timestamp update as described above.

如上文所提及,藉由向上一時戳添加所量測有效時間而產生用於鑑認嘗試之時間估測。由於所量測有效時間可能為不精準的,因此可使用上文論述之"時間延伸"技術來改良時間估測之精準度。然而,有可能"延伸"有效時間可實際上大於實際時間。在檢查TUP之情況下,該"過度延伸"有效時間將導致新時戳。然而,在驗證憑證或CRL之情況下,"過度延伸"有效時間可防止鑑認在其他情況下適當之 實體。因此,可能需要在產生用於鑑認之時間估測時不使用"時間延伸"。As mentioned above, the time estimate for the authentication attempt is generated by adding the measured effective time to the up time stamp. Since the measured effective time may be inaccurate, the "time extension" technique discussed above can be used to improve the accuracy of the time estimate. However, it is possible that the "extended" effective time may actually be greater than the actual time. In the case of checking the TUP, the "excessive extension" effective time will result in a new time stamp. However, in the case of a verification credential or CRL, the "excessive extension" effective time prevents the identification from being appropriate in other situations. entity. Therefore, it may be necessary to not use "time extension" when generating a time estimate for authentication.

總體而言,藉由以上方法,記憶體裝置200接收到鑑認實體之請求,且在試圖鑑認實體之前,記憶體裝置200判定是否需要新時戳。若需要新時戳,則記憶體裝置200獲得新時戳且接著試圖藉由基於新時戳產生時間估測且比較時間估測與憑證及/或CRL有效性週期而鑑認實體。若不需要新時戳,則記憶體裝置200試圖藉由基於上一時戳產生時間估測且比較時間估測與憑證及/或CRL有效性週期而鑑認實體。In general, by the above method, the memory device 200 receives the request of the authentication entity, and before attempting to authenticate the entity, the memory device 200 determines whether a new time stamp is needed. If a new timestamp is needed, the memory device 200 obtains a new timestamp and then attempts to authenticate the entity by generating a time estimate based on the new timestamp and comparing the time estimate with the credential and/or CRL validity period. If a new timestamp is not required, the memory device 200 attempts to authenticate the entity by generating a time estimate based on the last timestamp and comparing the time estimate with the credential and/or CRL validity period.

應注意,在此實施例中,檢查TUP,且在需要之情況下於鑑認實體之前獲得新時戳。換言之,檢查TUP及獲得新時戳不要求在檢查TUP之前或獲得新時戳之前鑑認實體。此與使用單一伺服器來提供時戳及DRM授權之系統形成對比。該伺服器將需要在向記憶體裝置提供時戳(或其他資訊)之前向記憶體裝置鑑認。此提出"第二十二條軍規(Catch 22)"情形--為了鑑認伺服器,可能需要新時間,但僅可在鑑認伺服器之後才能獲得新時戳。為了避免該情形,一些先前技術系統簡單地在鑑認過程中不使用時間。雖然避免了以上"第二十二條軍規"情形,但忽略時間可導致鑑認不應被鑑認之實體(例如,因為其憑證及/或CRL已期滿)。It should be noted that in this embodiment, the TUP is checked and a new timestamp is obtained prior to authenticating the entity if needed. In other words, checking the TUP and obtaining a new timestamp does not require that the entity be authenticated before checking the TUP or before obtaining a new timestamp. This is in contrast to systems that use a single server to provide time stamping and DRM authorization. The server will need to authenticate to the memory device before providing a time stamp (or other information) to the memory device. This raises the "Catch 22" scenario - in order to authenticate the server, a new time may be required, but the new timestamp can only be obtained after the authentication server. To avoid this situation, some prior art systems simply do not use time during the authentication process. While the above "Article 22 Military Regulations" situation is avoided, ignoring time may result in an entity that is not identifiable (eg, because its credentials and/or CRL has expired).

藉由使時間伺服器100與試圖向記憶體裝置200鑑認之實體分離,記憶體裝置200在播放器301與記憶體裝置之時間 模組204之間產生"自由通道",允許播放器301自時間伺服器100傳遞時戳更新(見圖3)。此時戳將接著用以產生時間估測,可與該時間估測相對照地確認實體之認證以用於鑑認。"自由通道"指代在不首先鑑認實體之情況下建立的通信管線。相反,"安全通道"指代僅在鑑認實體之後建立之通信管線。By separating the time server 100 from the entity attempting to authenticate to the memory device 200, the memory device 200 is at the time of the player 301 and the memory device. A "free channel" is created between the modules 204, allowing the player 301 to pass time stamp updates from the time server 100 (see Figure 3). The time stamp will then be used to generate a time estimate, which can be verified against the time estimate for authentication. "Free channel" refers to a communication pipeline that is established without first authenticating the entity. In contrast, a "secure channel" refers to a communication line that is established only after the authentication entity.

應注意,雖然無需鑑認播放器301以使其用作管道以對記憶體裝置200供應來自時間伺服器100之時戳,但較佳地鑑認時間伺服器100以確保時戳來自於受信任來源。此在圖4及圖6中示於動作435中,其中在接受時間伺服器100之時戳之前驗證其憑證及CRL。然而,為了避免上文論述之"第二十二條軍規"情形,記憶體裝置200較佳地假設時間伺服器100之憑證及CRL的有效性週期為有效的,且因此不與所產生之時間估測相對照來驗證有效性週期。It should be noted that although it is not necessary to authenticate the player 301 to use it as a conduit to supply the memory device 200 with a timestamp from the time server 100, the time server 100 is preferably authenticated to ensure that the timestamp is from trusted source. This is illustrated in FIG. 4 and FIG. 6 in act 435 where the credentials and CRL are verified prior to accepting the timestamp of the time server 100. However, in order to avoid the "twenty-two military regulations" scenario discussed above, the memory device 200 preferably assumes that the validity period of the credentials and CRLs of the time server 100 is valid, and therefore does not coincide with the time of generation. Estimate the comparison to verify the validity period.

當向記憶體裝置200鑑認實體時,該實體可執行ACR之允許控制記錄(PCR)中所陳述的各種動作。舉例而言,再次參看圖3,播放器301可經由安全通道與DRM模組207通信以試圖存取記憶體裝置200中之受保護內容205。(作為另一實例,儲存應用程式302之ACR允許彼應用程式302將受保護內容205儲存於記憶體裝置200中。)即使已鑑認播放器301,由於內容收到保護,DRM模組207亦將試圖在解鎖受保護內容之前使用於受保護內容205的DRM授權206有效(例如,藉由判定授權是否仍有效或其是否已期滿)。為了進行此,DRM模組207將自記憶體裝置204中之時間模組 204請求時間估測。(時間模組204指代上文描述的用以儲存並產生用以產生時間估測(例如,時戳、有效時間、功率循環之數目、"延伸"因數等等)之各種分量的軟體及/或硬體。)DRM模組207比較所產生時間估測與授權206中之期滿日期及/或有效期週期來判定授權是否有效。DRM模組207可執行額外檢查來使授權有效,諸如(但不限於)判定受保護內容205是否已被播放大於規定數目之次數。When an entity is authenticated to the memory device 200, the entity can perform various actions as stated in the ACR's admission control record (PCR). For example, referring again to FIG. 3, the player 301 can communicate with the DRM module 207 via a secure channel in an attempt to access protected content 205 in the memory device 200. (As another example, the ACR of the storage application 302 allows the application 302 to store the protected content 205 in the memory device 200.) Even if the player 301 has been authenticated, the DRM module 207 is also protected due to content protection. The DRM authorization 206 that is attempting to use the protected content 205 prior to unlocking the protected content is valid (eg, by determining if the authorization is still valid or has expired). In order to do this, the DRM module 207 will be a time module from the memory device 204. 204 requests a time estimate. (Time module 204 refers to the software described above for storing and generating various components for generating time estimates (eg, time stamps, effective time, number of power cycles, "extension" factors, etc.) and/or Or hardware.) The DRM module 207 compares the expiration date and/or expiration period in the generated time estimate and authorization 206 to determine if the authorization is valid. 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 for more than a specified number of times.

如上文所提及,時戳愈新近,時間估測將可能愈精準。在以上實施例中,ACR中之TUP判定是否需要時戳更新。因此,TUP有效地判定對於DRM授權確認而言,產生之時間估測將有多精準。在判定TUP之參數中,需在提供具有期滿考慮因素之服務之服務提供商的需要與可能在要求將主機裝置連接至網路以取得新時戳時不方便之末端使用者的需要之間取得平衡。若時間容限過鬆,則服務提供商可能損失收入。另一方面,若時間容限過緊,則末端使用者可能在頻繁連接至網路以獲得所需時戳更新過於麻煩之情況下決定放棄服務。As mentioned above, the newer the time stamp, the more accurate the time estimate will be. In the above embodiment, the TUP in the ACR determines whether a timestamp update is required. Therefore, the TUP effectively determines how accurate the time estimate will be for DRM authorization confirmation. In determining the parameters of the TUP, between the needs of the service provider providing the service with the expiration considerations and the needs of the end user who may be inconvenient to connect the host device to the network to obtain a new time stamp. Get balanced. If the time tolerance is too loose, the service provider may lose revenue. On the other hand, if the time tolerance is too tight, the end user may decide to abandon the service if they are frequently connected to the network to obtain the required time stamp update too much trouble.

當記憶體裝置200具有一具有單一TUP之單一ACR(或多個ACR均共用同一TUP)時,單一"一體適用(one size fits all)"TUP可能不能對所有服務提供商達成正確的平衡。因此,在此實施例中,記憶體裝置200具有複數個ACR 201、202,每一者具有可由相關聯服務提供商組態之不同TUP(TUPI、TUP2)。如上文所論述,經由使用不同ACR,記憶體裝置200可經組態以藉由使用不同鑑認機制(對稱鑑 認、不對稱鑑認等等)進行鑑認。不同ACR之使用允許實現可組態的時間容限。亦即,經由在ACR中使用可組態TUP,服務提供商可藉由規定記憶體裝置之時間告知參數(例如,有效時間、功率循環之數目、"延伸"有效時間/停機時間)中之一或多者何時被視為過時且應觸發時戳更新而界定其自己的時間容限。藉由使得TUP可組態,服務提供商可根據其特定需要及其與末端使用者之關係而對其時間容限加以組態,而非依賴於單一"一體適用" TUP。When the memory device 200 has a single ACR with a single TUP (or multiple ACRs share the same TUP), a single "one size fits all" TUP may not achieve the correct balance for all service providers. Thus, in this embodiment, memory device 200 has a plurality of ACRs 201, 202, each having a different TUP (TUPI, TUP2) that can be configured by an associated service provider. As discussed above, via different ACRs, the memory device 200 can be configured to use different authentication mechanisms (symmetric Identification, asymmetric identification, etc.) for identification. The use of different ACRs allows for configurable time tolerances. That is, by using a configurable TUP in the ACR, the service provider can inform one of the parameters (eg, effective time, number of power cycles, "extended" valid time/downtime) by specifying the time of the memory device. When more than one is considered obsolete and should trigger a timestamp update to define its own time tolerance. By making the TUP configurable, the service provider can configure its time tolerance based on its specific needs and its relationship to the end user, rather than relying on a single "all-in-one" TUP.

舉例而言,一些服務提供商發布憑證用於非常短之時間(例如,十分鐘)。藉由迫使末端使用者在每次其希望使用記憶體裝置200上之服務時取得新憑證,服務提供商可密切地監視末端使用者之行為且估算每次末端使用者請求憑證之費用。因此,對於此商業模型,為了貨幣化,服務提供商需要嚴格的容限。作為另一實例,若服務提供商具有流動性很大的末端使用者安裝基礎,則服務提供商可能希望頻繁撤銷憑證,作為其商業模型之主要部分。在此情形下,服務提供商亦會需要嚴格的時間容限來確保使用最新CRL用於鑑認。另一方面,若服務提供商提供每月預訂服務(其中使用者規律地連接至服務提供商之web網站以取得新內容並接收強制時戳更新),則服務提供商將不需要如此嚴格之時間容限,因為末端使用者將有可能連接至網路以取得新內容。For example, some service providers publish credentials for very short periods of time (eg, ten minutes). By forcing the end user to obtain new credentials each time he wishes to use the service on the memory device 200, the service provider can closely monitor the behavior of the end user and estimate the cost of each end user requesting the voucher. Therefore, for this business model, service providers need strict tolerance for monetization. As another example, if the service provider has a highly mobile end-user installation base, the service provider may wish to revoke the credentials frequently as an integral part of their business model. In this case, the service provider will also need strict time tolerance to ensure that the latest CRL is used for authentication. On the other hand, if the service provider provides a monthly subscription service (where the user regularly connects to the service provider's web site to obtain new content and receives mandatory timestamp updates), the service provider will not need such a strict time Tolerance, because end users will likely connect to the network to get new content.

替代在ACR上使用可組態TUP或除在ACR上使用可組態TUP之外,可將可組態TUP置於個別內容部分之DRM授權 上。以此方式,替代經鑑認實體同樣地處理內容之所有部分,實體可被迫對於一些內容獲得新時戳同時對於其他內容使用現有時戳。(不同於僅在鑑認期間經檢查的ACR上之TUP,授權上之TUP可在每次DRM模組207試圖使授權有效時受到檢查。)Instead of using a configurable TUP on the ACR or in addition to using a configurable TUP on the ACR, the configurable TUP can be placed in the DRM license for the individual content portion. on. In this way, instead of the authenticated entity processing all portions of the content as such, the entity may be forced to obtain a new timestamp for some content while using an existing timestamp for other content. (Unlike the TUP on the ACR that is only checked during the authentication period, the authorized TUP can be checked each time the DRM module 207 attempts to make the authorization valid.)

考慮(例如)使用者向其記憶體裝置下載兩小時之電影連同表示僅可在24小時內觀看該電影之授權的情形。雖然服務提供商可能不希望使用者在24小時時期之後觀看電影,但其亦可能不希望藉由使得普通使用者連接至網路以獲得新時戳而使其不方便。因此,服務提供商可能決定在授權上設置TUP,其在有效時間大於四小時(觀看兩小時之電影兩次所需的有效時間量)之情況下要求新時戳。若有效時間在DRM模組207試圖使授權有效時大於四小時,則使用者將不能夠觀看電影,未必因為授權期滿,而是因為需要新時戳。(替代有效時間或除有效時間以外,可在TUP中使用功率循環之數目。舉例而言,基於平均使用模式,十個或十個以上功率循環可指示記憶體裝置被使用24小時以上。)若以新時戳產生之時間估測指示若授權有效,則DRM模組207將允許再次播放電影。Consider, for example, a situation where a user downloads a two-hour movie to their memory device along with an authorization indicating that the movie can only be viewed within 24 hours. While a service provider may not want a user to watch a movie after a 24-hour period, it may not wish to be inconvenient by having a normal user connect to the network to obtain a new timestamp. Therefore, the service provider may decide to set the TUP on the authorization, which requires a new timestamp if the effective time is greater than four hours (the amount of time required to watch the two-hour movie twice). If the effective time is greater than four hours when the DRM module 207 attempts to make the authorization valid, the user will not be able to watch the movie, not necessarily because the authorization expires, but because a new timestamp 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 can indicate that the memory device is used for more than 24 hours.) The time estimate indication generated by the new time stamp, if the authorization is valid, the DRM module 207 will allow the movie to be played again.

藉由允許TUP對於每一授權可組態,可定製TUP使其適合於內容。因此,若替代在24小時後電影期滿,電影在一週後期滿,則可以不同方式設定針對授權之時間容限。舉例而言,若服務提供商估測平均每天使用記憶體裝置10小時,則服務提供商可設定授權中之TUP來在70小時之有效 時間(亦即,每天10小時乘以7天)之後觸發時間更新。作為另一實例,若替代兩小時之電影,內容為僅應觀看一次的三分鐘之計次付費視訊,則TUP可經設計以使得將在三分鐘之有效時間之後需要新時戳。By allowing the TUP to be configurable for each grant, the TUP can be customized to fit the content. Therefore, if the movie expires after 24 hours and the movie is full at the end of the week, the time tolerance for authorization can be set in different ways. For example, if the service provider estimates that the average memory device is used for 10 hours per day, the service provider can set the TUP in the authorization to be valid for 70 hours. The time update is triggered after the time (ie, 10 hours per day by 7 days). As another example, if instead of a two-hour movie, the content is a three-minute pay-per-view video that should only be viewed once, the TUP can be designed such that a new time stamp will be required after a three-minute effective time.

服務提供商之商業模型亦可為在設計TUP中之考慮因素。舉例而言,當前,每月預訂服務為用於分配受保護音樂權利之風行商業模型。在音樂預訂服務中,使用者自服務提供商之web網站隨意下載其想要的音樂且被允許在一個月內隨便播放彼音樂任意次數。在彼月之後,使用者將需要更新其預訂以更新授權;否則,授權將期滿,且使用者將不再能夠播放儲存於其記憶體裝置中之音樂。頻繁訪問服務提供商之web網站以獲得更多歌曲之使用者將在其連接至web網站時接收到新時戳;因此,其記憶體裝置將能夠提供較為精準之時間估測。然而,下載相對大量音樂之使用者未必在每月授權期滿之前重新連接至服務提供商之web網站。當使用者最終重新連接以獲得更多音樂時,服務提供商可針對使用者被允許在授權期限之外播放音樂之時間向其收費。由於此情況,作為商業模型,每月預訂之服務提供商可能希望與計次收費內容之服務提供商非常不同的時間容限,在計次收費內容的情況下,使用者可能不返回至其接收計次收費內容之web網站。在此情形下,因為使用者在每月預訂服務中有可能返回以獲得與在計次收費服務中相比更多音樂,所以服務提供商可能不希望嚴格時間容限,因為嚴格時間容限可能藉由要求消費者獲得 新時戳而使其不滿(即使其原本最終會返回web網站)。具有嚴格程度較低之時間容限可意謂從不返回服務提供商之web網站的消費者將能夠比授權之一個月期限久地播放音樂(例如,一個月之有效時間而非一個月之實際時間)。然而,總的來說,服務提供商可決定該未授權使用為用以避免使返回之消費者不方便及不慢而作出的可接受犧牲。The business model of the service provider can also be a consideration in designing the TUP. For example, currently, the monthly subscription service is a popular business model for distributing protected music rights. In the music reservation service, the user freely downloads the music he wants from the service provider's web site and is allowed to play his music any number of times in a month. After the month, the user will need to update their subscription to update the authorization; otherwise, the authorization will expire and the user will no longer be able to play the music stored in their memory device. Users who frequently access the service provider's web site to get more songs will receive a new timestamp when they connect to the web site; therefore, their memory device will be able to provide a more accurate time estimate. However, users who download relatively large amounts of music may not reconnect to the service provider's web site until the monthly license expires. When the user eventually reconnects for more music, the service provider can charge the user for the time they are allowed to play music outside of the authorization period. Due to this situation, as a business model, a monthly subscription service provider may wish to have a very different time tolerance from the service provider of the charge-based content. In the case of the charge-based content, the user may not return to receive it. A web site that counts the content of the charge. In this case, because the user is likely to return in the monthly subscription service to get more music than in the pay-per-view service, the service provider may not want strict time tolerance because strict time tolerance may By requiring consumers to obtain The new time stamp makes it dissatisfied (even if it would eventually return to the web site). Having a less stringent time margin can mean that consumers who never return to the service provider's web site will be able to play music for a month longer than the authorized one (eg, one month's effective time instead of one month's actual time) ). In general, however, the service provider may determine that the unauthorized use is an acceptable sacrifice to avoid making the returning consumer inconvenient and slow.

作為另一實例,考慮一商業模型,其中服務提供商希望在使用者使用其蜂巢式電話以播放來自記憶體裝置之音訊或視訊內容時向蜂巢式電話提供點廣告。若點廣告含有關於在播放內容時接近蜂巢式電話之位置的商店之廣告,則主機裝置需在播放內容時連接至網路;否則,無法傳遞位置特定的點廣告。為了確保此發生,可將內容之TUP設定為非常低之量(例如,一分鐘之有效時間)來確保使用者將連接至網路以取得新時戳。一旦使用者連接至網路,網路將知曉蜂巢式電話之位置且將能夠將適當廣告內容推送至蜂巢式電話。另一方面,若服務提供商僅藉由知曉內容播放多少次而賺錢,則時間容限之嚴格程度可低得多。As another example, consider a business model in which a service provider desires to provide a point advertisement to a cellular phone when a user uses his cellular phone to play audio or video content from a memory device. If the point advertisement contains an advertisement for a store that is close to the location of the cellular phone when the content is played, the host device needs to connect to the network when the content is played; otherwise, the location-specific point advertisement cannot be delivered. To ensure this happens, the TUP of the content can be set to a very low amount (eg, 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 cellular phone and will be able to push the appropriate advertising content to the cellular phone. On the other hand, if the service provider only makes money by knowing how many times the content is played, the time tolerance can be much less stringent.

如以上實例所示,經由使用授權檔案上之可組態TUP,特定內容之服務提供商可進行其認為適合之關於時間更新的任何平衡,使得不藉由要求消費者使其主機裝置連接至網路以獲得時戳更新而使其不滿。應注意,因為在此實施例中之記憶體裝置為具有多個TUP之多用途多應用記憶體裝置,所以記憶體裝置上之一服務可在特定時間之後關閉,而記憶體裝置上之其他服務仍被啟用。亦即,播放器 (即使被鑑認)可能能夠播放記憶體裝置上之特定內容,但可能被防止播放記憶體裝置上之其他內容,除非由於與不同內容之授權相關聯的不同TUP而獲得新時戳。As shown in the above example, by using the configurable TUP on the authorization profile, the service provider of the particular content can perform any balance it considers appropriate for the time update so that the consumer is not required to connect his host device to the network. The road gets the time stamp update and makes it unsatisfactory. It should be noted that since the memory device in this embodiment is a multi-purpose multi-application memory device having multiple TUPs, one of the services on the memory device can be turned off after a certain time, while other services on the memory device Still enabled. Player (Even if authenticated) may be able to play particular content on the memory device, but may be prevented from playing other content on the memory device unless a new timestamp is obtained due to a different TUP associated with the authorization of the different content.

如上文所說明,在此等實施例中,記憶體裝置包含兩個單獨組件:中央安全系統及與中央安全系統分離之一或多個應用程式。(因為應用程式與中央安全系統分離,所以有時應用程式在本文中將被稱為"擴展"或"內部擴展")。在圖3所示之實施例中,應用程式採取DRM模組207之形式。然而,可使用其他應用程式,諸如提供(例如)電子商務、銀行業務、信用卡、電子貨幣、生物測定、存取控制、個人資料或安全電子郵件功能性之應用程式。亦應注意,雖然在圖3中於記憶體裝置200中僅展示單一應用程式,但記憶體裝置可具有若干應用程式(例如,DRM模組及電子商務模組)。As explained above, in these embodiments, the memory device includes two separate components: a central security system and one or more applications separate from the central security system. (Because the application is separate from the central security system, sometimes the application will be referred to as "extension" or "internal extension" in this article. In the embodiment shown in FIG. 3, the application takes the form of a DRM module 207. However, other applications may be used, such as applications that provide, for example, e-commerce, banking, credit card, electronic money, biometrics, access control, personal data, or secure email functionality. It should also be noted that although only a single application is shown in the memory device 200 in FIG. 3, the memory device may have several applications (eg, DRM modules and e-commerce modules).

中央安全系統經由使用ACR而鑑認試圖經由記憶體裝置內部之應用程式(例如,DRM代理程式)存取儲存於記憶體裝置中之受保護資料部分之實體。一旦實體向記憶體裝置鑑認,即在實體與用以鑑認實體之ACR所規定的應用程式之間開啟安全會期。實體接著可向相關聯應用程式發送命令/請求以存取受保護資料。以此方式,中央安全系統充當記憶體裝置之主要監控者(gatekeeper)。如上文引用之11/557,028專利申請案中所較為詳細描述,中央安全系統亦可隔離在記憶體裝置200上執行之各種應用程式以使得一應用程式不可存取與不同應用程式相關聯之資料。The central security system authenticates an entity attempting to access a portion of the protected data stored in the memory device via an application (eg, a DRM agent) within the memory device via the ACR. Once the entity authenticates to the memory device, the security session is opened between the entity and the application specified by the ACR used to authenticate the entity. The entity can then send a command/request to the associated application to access the protected material. In this way, the central security system acts as the primary gatekeeper for the memory device. As described in greater detail in the above-referenced 11/557,028 patent application, the central security system can also isolate various applications executing on the memory device 200 such that an application cannot access data associated with different applications.

雖然中央安全系統提供存取控制機制且保護儲存於記憶體裝置中之資料以使得資料僅由經適當授權之實體存取,但中央安全系統自身可能不能夠瞭解並處理其所保護之特定資料。執行於記憶體裝置上之應用程式可瞭解並處理受保護資料。舉例而言,若受保護資料為DRM授權,則DRM代理程式(而非中央安全系統)將能夠使授權有效。因此,可將中央安全系統當作可組態的與應用程式無關的工具箱。在操作中,服務提供商將應用程式置於記憶體裝置上且界定使得特定實體與應用程式相關聯之ACR。自中央安全系統之觀點,其不知曉應用程式所做內容(例如,應用程式是提供DRM授權確認、還是提供電子商務功能性等等),但確實知曉僅允許根據彼特定ACR鑑認之實體與界定於彼ACR中之應用程式通信。一旦由中央安全系統鑑認實體,中央安全系統即在實體與應用程式之間打開安全通道。While the central security system provides access control mechanisms and protects the data stored in the memory device such that the data is only accessed by appropriately authorized entities, the central security system itself may not be able to understand and process the particular data it protects. An application executing on a memory device can understand and process protected data. For example, if the protected material is DRM authorized, the DRM agent (rather than the central security system) will be able to validate the authorization. Therefore, the central security system can be considered as a configurable application-independent toolbox. In operation, the service provider places the application on the memory device and defines an ACR that associates the particular entity with the application. From the point of view of the central security system, it does not know what the application is doing (for example, whether the application provides DRM authorization confirmation, or provides e-commerce functionality, etc.), but does know that only entities that are authenticated according to their specific ACR are allowed. Application communication defined in the ACR. Once the entity is authenticated by the central security system, the central security system opens a secure channel between the entity and the application.

在一些情形下,中央安全系統及應用程式都需要知曉時間。舉例而言,中央安全系統可能需要知曉時間以用於基於時間之鑑認(例如,不對稱鑑認),且應用程式可能需要知曉時間以用於基於時間之操作(例如,DRM授權確認)。如上文所提及,記憶體裝置具有可向中央安全系統及執行於記憶體裝置上之應用程式提供時間的中央時間模組。舉例而言,參看圖3,時間模組204可向不對稱ACR 201、202提供時間以鑑認各種實體,且向DRM模組207提供時間以驗證授權有效性。如將於下文且結合圖8而描述,在一些 情形下,記憶體裝置上之應用程式可選擇除來自記憶體裝置之時間模組之時間以外或替代該時間而使用主機時間。In some cases, central security systems and applications need to know the time. For example, the central security system may need to know the time for time-based authentication (eg, asymmetric authentication), and the application may need to know the time for time-based operations (eg, DRM authorization confirmation). As mentioned above, the memory device has a central time module that provides time to the central security system and applications executing on the memory device. For example, referring to FIG. 3, time module 204 can provide time to asymmetric ACRs 201, 202 to authenticate various entities and provide time to DRM module 207 to verify authorization validity. As will be described below and in conjunction with Figure 8, in some In this case, the application on the memory device can select the host time in addition to or instead of the time module from the memory device.

圖8展示與主機裝置700通信之記憶體裝置600。主機裝置700包含實體(此處為播放器710)且具有用於提供時間720之某一機構(例如,電池供電時鐘)。在此實例中,記憶體裝置600具有對稱ACR 610(雖然可使用不對稱ACR)、時間模組620、DRM模組630、受保護內容640及針對受保護內容640之授權650。(在圖8中,記憶體裝置中之應用程式為DRM模組630。應注意,可使用其他類型之應用程式,且可在記憶體裝置中執行一個以上應用程式。)當播放器710藉由使用對稱ACR 610而向記憶體裝置600鑑認時,根據建立於對稱ACR 610中之參數在播放器710與DRM模組630之間建立安全通道660。DRM模組630與播放器710彼此並非不熟悉,因為服務提供商界定對稱ACR 610以使得DRM模組630與播放器710相關聯。因此,在DRM模組630與播放器710之間存在特定信任程度,因為其為同一群組之相對應成員。基於此信任,DRM模組630可經程式化以自播放器710接受主機時間720作為時間來源以執行DRM授權確認。因此,DRM模組630具有兩個獨立時間來源,其可藉由該等時間來源執行DRM授權確認:主機時間720及來自記憶體裝置之中央時間模組620的時間。存在與此等時間來源中之每一者相關聯的優勢及劣勢。因為記憶體裝置之時間模組620不連續保持追蹤時間,所以來自時間模組620之時間可能不如可能由電池供電連續時鐘供應的主機時間 720一般精準。另一方面,歸因於上文論述之所有安全預防,來自時間模組620之時間與主機時間720相比可能較為安全,尤其在主機裝置700之使用者能夠藉由使用簡單使用者介面改變主機時間720之情況下。FIG. 8 shows a memory device 600 in communication with host device 700. Host device 700 includes an entity (here, player 710) and has a mechanism for providing time 720 (eg, a battery powered clock). In this example, memory device 600 has a symmetric ACR 610 (although asymmetric ACR can be used), a time module 620, a DRM module 630, protected content 640, and an authorization 650 for protected content 640. (In Figure 8, the application in the memory device is the DRM module 630. 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 710 is used by When the memory device 600 is authenticated using the symmetric ACR 610, a secure channel 660 is established between the player 710 and the DRM module 630 based on the parameters established in the symmetric ACR 610. The DRM module 630 and the player 710 are not unfamiliar with each other because the service provider defines a symmetric ACR 610 to associate the DRM module 630 with the player 710. Therefore, there is a certain degree of trust between the DRM module 630 and the player 710 because it is a corresponding member of the same group. Based on this trust, DRM module 630 can be programmed to accept host time 720 from player 710 as a time source to perform DRM authorization confirmation. Thus, the DRM module 630 has two independent time sources that can perform DRM authorization confirmation by the time sources: host time 720 and time from the central time module 620 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 maintain the tracking time, the time from the time module 620 may not be as good as the host time that may be supplied by the battery powered continuous clock. 720 is generally accurate. On the other hand, due to all of the security prevention discussed above, the time from the time module 620 may be more secure than the host time 720, especially where the user of the host device 700 can change the host by using a simple user interface. In the case of time 720.

執行於記憶體裝置600上之應用程式(諸如DRM模組630)可經程式化以按產生用於應用程式的基於時間之操作的時間估測所需之任一方式使用此等兩個不同時間源。(然而,較佳地,應用程式不能夠使用主機時間720來更新時間模組620。)舉例而言,應用程式可經程式化以始終使用主機時間720而非來自時間模組620之時間,或始終使用來自時間模組620之時間而非主機時間720。作為另一實例,應用程式可經程式化以使用主機時間720及來自時間模組620之時間中的落後者(或搶先者)。應用程式亦可經程式化而以某一方式(例如,利用主機時間720及來自時間模組620之時間的平均值等)使用兩個時間來源來產生時間估測。作為又一實例,應用程式可基於關於主機裝置700之資訊而判定使用哪一時間來源。應用程式可經由鑑認過程獲悉主機裝置之類型(例如,若使用不對稱鑑認,則鑑認演算法可向應用程式通知與主機裝置700相關聯之個體及群組身份)。此資訊可為重要的,因為一些主機裝置可能比其他主機裝置安全。舉例而言,若主機裝置為PC,則可易於經由軟體應用程式上之簡單使用者介面而操縱其時鐘。(除了不信任來自相對不可信任之主機裝置的主機時間以外,應用程式可能不信任執行於具有(例如)內容密 鑰、授權值或有效期或者改變授權之權利的主機裝置上之實體。在該情形下,DRM代理程式可僅使內容串流到記憶體裝置外並到達主機裝置(而非向主機裝置給出加密密鑰及內容)。)然而,若主機為諸如MP3播放器之封閉系統,則主機之時鐘可能更難以操縱。因此,與主機裝置700為PC時相比,執行於主機裝置600上之應用程式可在主機裝置700為MP3播放器時更為信任主機時間720。An application (such as DRM module 630) executing on memory device 600 can be programmed to use these two different times in any manner required to generate a time estimate for the time-based operation of the application. source. (However, preferably, the application cannot use the host time 720 to update the time module 620.) For example, the application can be programmed to always use the host time 720 instead of the time module 620, or The time from the time module 620 is always used instead of the host time 720. As another example, the application can be programmed to use the host time 720 and the laggard (or preemptor) from the time module 620. The application can also be programmed to use two time sources to generate a time estimate in a manner (e.g., using host time 720 and the average of time from time module 620, etc.). As yet another example, the application can determine which time source to use based on information about the host device 700. The application can learn the type of host device via the authentication process (eg, if asymmetric authentication is used, the authentication algorithm can notify the application of the individual and group identities associated with the host device 700). This information can be important because some host devices may be more secure than other host devices. For example, if the host device is a PC, it is easy to manipulate its clock via a simple user interface on the software application. (In addition to not trusting host time from a relatively untrusted host device, the application may not trust execution with (for example) content confidentiality The entity on the host device, the key, the authorization value or the expiration date or the right to change the authorization. In this case, the DRM agent can only stream the content out of the memory device and reach the host device (rather than giving the encryption key and content to the host device). However, if the host is a closed system such as an MP3 player, the clock of the host may be more difficult to manipulate. Therefore, the application executing on the host device 600 can trust the host time 720 more when the host device 700 is an MP3 player than when the host device 700 is a PC.

在一實施例中,播放器710在其向DRM模組630發送播放歌曲的請求時將主機時間720推送至DRM模組630。DRM模組630接著決定是否使用主機時間720或是來自時間模組620之時間,如上文所描述。較佳地,主機時間720將僅用於特定登入會期(其將為相對較短之間隔)而非用作針對稍後會期之絕對當前時間量測。或者,可儲存主機時間720用於應用程式之未來使用,其中上文論述之"時間延伸"及其他機制(視情況)用以改良彼時間之精準度。然而,較佳地主機時間僅用於應用程式之特定的基於時間之操作且不用以更新時間模組620中之時間(因為應用程式為"擴展"且並非與中央安全系統相同之信任群組的部分)。較佳地,如上文所描述,僅使用受信任時間伺服器(其為與中央安全系統相同之信任群組的部分)而更新時間模組620中之時間。亦應注意,當若干應用程式執行於記憶體裝置600上時,每一應用程式可具有兩個時間來源:來自時間模組620之時間及來自操作與應用程式通信之實體的主機裝置之時間。然而,較佳地,使與一應用程式相關聯之主機時 間僅配合彼應用程式使用,且不配合與不同主機裝置相關聯之其他應用程式使用。In one embodiment, the player 710 pushes the host time 720 to the DRM module 630 as it sends a request to play the song to the DRM module 630. The DRM module 630 then determines whether to use the host time 720 or the time from the time module 620, as described above. Preferably, host time 720 will only be used for a particular login session (which will be a relatively short interval) rather than as an absolute current time measurement for a later session. Alternatively, host time 720 can be stored for future use of the application, with the "time extension" discussed above and other mechanisms (as appropriate) to improve the accuracy of the time. However, preferably the host time is only used for the particular time-based operation of the application and is not used to update the time in the time module 620 (because the application is "extended" and not the same trust group as the central security system) section). Preferably, as described above, the time in the time module 620 is updated using only the trusted time server, which is part of the same trust group as the central security system. It should also be noted that when a number of applications are executed on the memory device 600, each application may have two sources of time: the time from the time module 620 and the time from the host device operating the entity in communication with the application. However, preferably, when the host associated with an application is made It is only used with the application and does not work with other applications associated with different host devices.

如上文所論述,執行於記憶體裝置600上之應用程式(諸如DRM模組630)可經程式化以比較主機時間720與來自時間模組620之時間且使用兩個時間中之落後者(或搶先者)。主機時間720可早於來自時間模組620之時間,(例如)因為主機700未能連接至其時間伺服器足夠長的時間以使得在主機時間720中發生時間偏差或者因為主機時鐘被侵入。亦如上文所論述,可儲存主機時間720用於應用程式之未來使用。組合此等想法,主機時間720可經儲存或於稍後用於(獨自或配合來自時間模組620之時間)與自不同主機裝置接收之時間進行比較。基於比較,記憶體裝置可決定是使用來自當前主機裝置之時間還是使用來自先前主機裝置的所儲存時間來執行基於時間之操作。舉例而言,記憶體裝置可經程式化以在基於時間之操作為"不早於"操作的情況下,採取兩個時間中之搶先者,且在基於時間之操作時間為"不晚於"操作的情況下,採取兩個時間中之落後者。以此方式,自其他受信任主機裝置接收之時戳可用作單一多主機防重算機制相對於單一時間伺服器之參考。As discussed above, an application executing on the memory device 600 (such as the DRM module 630) can be programmed to compare the host time 720 with the time from the time module 620 and use the laggard of the two times (or Preemptive). The host time 720 may be earlier than the time from the time module 620, for example because the host 700 failed to connect to its time server for a sufficient amount of time to cause a time offset in the host time 720 or because the host clock was compromised. As also discussed above, host time 720 can be stored for future use of the application. In combination with these ideas, host time 720 can be stored or later used (either alone or in conjunction with time from time module 620) to compare with times received from different host devices. 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 stored time from the previous host device. For example, a memory device can be programmed to take the preemptive of two times in the case of a "no earlier than" operation based on a time-based operation, and "no later than" in a time-based operation time. In the case of operations, take the laggard of the two times. In this way, timestamps received from other trusted host devices can be used as a reference for a single multi-master anti-recalculation mechanism relative to a single time server.

亦如上文所論述,非基於時間之鑑認系統(諸如對稱鑑認)可用以鑑認主機裝置。此允許應用程式之基於時間的操作(例如,DMR操作)獨立於鑑認時間伺服器。亦即,由於僅使用來自主機裝置或DRM伺服器之時間,因此應用程式之基於時間的操作不依賴於來自鑑認時間伺服器或記憶 體裝置之時間模組的時間。因此,無論出於何種原因,若存在關於鑑認時間伺服器之問題或者若基於時間之應用程式選擇不使用基於鑑認時間伺服器之時間,則基於時間之應用程式可仍使用主機時間執行其操作。As also discussed above, a non-time based authentication system, such as symmetric authentication, can be used to authenticate the host device. This allows the application's time-based operations (eg, DMR operations) to be independent of the authentication time server. That is, since only time from the host device or DRM server is used, the time-based operation of the application does not depend on the authentication time server or memory. The time of the time module of the body device. Therefore, for whatever 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, the time-based application can still execute using the host time. Its operation.

應注意,以上實施例中之任一者可單獨使用或以組合而一同使用。在以引用方式併入之專利申請案中描述配合此等實施例使用之其他實施例。另外,雖然當前較佳地於SanDisk公司之TrustedFlashTM 記憶體裝置中實施此等實施例,但應瞭解此等實施例可用於任何類型之記憶體裝置中。又,此等實施例可用於遭遇到具有不精準時鐘且需要知曉或使用時間之一般問題的非記憶體裝置領域中。另外,可在主機裝置(或某一其他裝置)上執行上文描述之動作中的一些或全部,而非僅可在記憶體裝置上執行。It should be noted that any of the above embodiments may be used alone or in combination. Other embodiments for use with such embodiments are described in the patent application incorporated by reference. Additionally, while such embodiments are currently preferably implemented in SanDisk Corporation's TrustedFlash (TM) memory devices, it should be understood that such embodiments can be used in any type of memory device. Moreover, such embodiments can be used in the field of non-memory devices that encounter general problems with inaccurate clocks and the need to know or use time. Additionally, some or all of the actions described above may be performed on the host device (or some other device), and not only on the memory device.

意欲將前述詳細描述理解為對本發明可採取之選定形式的說明且非對本發明之界定。僅意欲以下申請專利範圍(包括所有等效物)界定本發明之範疇。應注意,申請專利範圍中所陳述之動作可以任何次序執行,而未必以其被陳述之次序執行。最後,應注意本文描述之較佳實施例中之任一者的任何態樣可單獨或彼此組合而使用。The foregoing detailed description is to be understood as illustrative of the invention The scope of the invention is defined only by the scope of the invention, including the equivalents of the invention. It should be noted that the actions recited in the scope of the claims may be performed in any order, and not necessarily in the order in which they are stated. Finally, it should be noted that any aspect of any of the preferred embodiments described herein can be used alone or in combination with one another.

10‧‧‧系統10‧‧‧System

20‧‧‧記憶體裝置20‧‧‧ memory device

30‧‧‧記憶體裝置30‧‧‧ memory device

40‧‧‧記憶體裝置40‧‧‧ memory device

50‧‧‧個人電腦(PC)50‧‧‧Personal Computer (PC)

60‧‧‧數位媒體(例如,MP3)播放器60‧‧‧Digital media (eg MP3) player

70‧‧‧蜂巢式電話70‧‧‧Hive Phone

80‧‧‧網際網路80‧‧‧Internet

90‧‧‧無線網路90‧‧‧Wireless network

100‧‧‧時間伺服器100‧‧‧Time server

102‧‧‧伺服器102‧‧‧Server

104‧‧‧伺服器104‧‧‧Server

106‧‧‧伺服器106‧‧‧Server

110‧‧‧數位權利管理伺服器(DRM)110‧‧‧Digital Rights Management Server (DRM)

200‧‧‧記憶體裝置200‧‧‧ memory device

201‧‧‧第一不對稱ACR201‧‧‧First asymmetric ACR

202‧‧‧第二不對稱ACR202‧‧‧Second Asymmetric ACR

203‧‧‧對稱ACR203‧‧ symmetrical ACR

204‧‧‧時間模組204‧‧‧Time module

205‧‧‧受保護內容205‧‧‧Protected content

206‧‧‧DRM授權206‧‧‧DRM authorization

207‧‧‧DRM模組207‧‧‧DRM module

210‧‧‧非揮發性記憶體陣列/快閃記憶體210‧‧‧Non-volatile memory array/flash memory

220‧‧‧電路集合220‧‧‧ Circuit Set

230‧‧‧主機介面模組(HIM)230‧‧‧Host Interface Module (HIM)

240‧‧‧快閃介面模組(FIM)240‧‧‧Flash Interface Module (FIM)

250‧‧‧緩衝器管理單元(BMU)250‧‧‧Buffer Management Unit (BMU)

252‧‧‧加密引擎252‧‧‧Cryptographic engine

254‧‧‧主機直接記憶體存取(DMA)組件254‧‧‧Host Direct Memory Access (DMA) component

256‧‧‧快閃DMA組件256‧‧‧Flash DMA components

260‧‧‧CPU260‧‧‧CPU

262‧‧‧CPU RAM262‧‧‧CPU RAM

270‧‧‧硬體定時器區塊270‧‧‧ hardware timer block

300‧‧‧主機裝置300‧‧‧Host device

301‧‧‧媒體(例如,音訊及/或視訊)播放器/實體301‧‧‧Media (eg, audio and/or video) player/entity

302‧‧‧儲存應用程式/實體302‧‧‧Storage application/entity

303‧‧‧應用程式/實體303‧‧‧Applications/Entities

305‧‧‧記憶體裝置-主機裝置通信通道305‧‧‧Memory device-host device communication channel

315‧‧‧主機裝置-時間伺服器通信通道315‧‧‧Host device-time server communication channel

325‧‧‧伺服器間通信通道325‧‧‧Inter-server communication channel

510‧‧‧"TUP通過"訊息510‧‧‧"TUP Pass" message

570‧‧‧"TUP通過"訊息570‧‧‧"TUP Pass" message

600‧‧‧記憶體裝置600‧‧‧ memory device

610‧‧‧對稱ACR610‧‧ symmetrical ACR

620‧‧‧時間模組620‧‧‧Time module

630‧‧‧DRM模組630‧‧‧DRM module

640‧‧‧受保護內容640‧‧‧Protected content

650‧‧‧授權650‧‧‧Authorization

660‧‧‧安全通道660‧‧‧Safe passage

700‧‧‧主機裝置700‧‧‧Host device

710‧‧‧播放器710‧‧‧ Player

720‧‧‧時間720‧‧ hours

TUP‧‧‧時戳更新策略TUP‧‧‧ time stamp update strategy

TUP1‧‧‧第一時間更新策略TUP1‧‧‧ first time update strategy

TUP2‧‧‧第二時間更新策略TUP2‧‧‧ second time update strategy

圖1為對一實施例之系統的說明。Figure 1 is an illustration of a system of an embodiment.

圖2為一實施例之記憶體裝置之方塊圖。2 is a block diagram of a memory device of an embodiment.

圖3為對圖2之記憶體裝置中之各種功能模組的說明。3 is an illustration of various functional modules in the memory device of FIG. 2.

圖4為一實施例之不對稱鑑認過程的協定圖。4 is an agreement diagram of an asymmetric authentication process of an embodiment.

圖5為用於獲得時戳之實施例的系統圖。Figure 5 is a system diagram of an embodiment for obtaining a time stamp.

圖6為用於獲得時戳之實施例之方法的流程圖。6 is a flow chart of a method for obtaining an embodiment of a time stamp.

圖7為用於檢查時戳更新策略之實施例之方法的流程圖。7 is a flow chart of a method for examining an embodiment of a timestamp update policy.

圖8為將主機時間用於在記憶體裝置中執行之應用程式之一實施例之記憶體裝置的說明。8 is an illustration of a memory device that uses host time for an embodiment of an application executing in a memory device.

200‧‧‧記憶體裝置200‧‧‧ memory device

210‧‧‧非揮發性記憶體陣列/快閃記憶體210‧‧‧Non-volatile memory array/flash memory

220‧‧‧電路集合220‧‧‧ Circuit Set

230‧‧‧主機介面模組(HIM)230‧‧‧Host Interface Module (HIM)

240‧‧‧快閃介面模組(FIM)240‧‧‧Flash Interface Module (FIM)

250‧‧‧緩衝器管理單元(BMU)250‧‧‧Buffer Management Unit (BMU)

252‧‧‧加密引擎252‧‧‧Cryptographic engine

254‧‧‧主機直接記憶體存取(DMA)組件254‧‧‧Host Direct Memory Access (DMA) component

256‧‧‧快閃DMA組件256‧‧‧Flash DMA components

260‧‧‧CPU260‧‧‧CPU

262‧‧‧CPU RAM262‧‧‧CPU RAM

270‧‧‧硬體定時器區塊270‧‧‧ hardware timer block

300‧‧‧主機裝置300‧‧‧Host device

Claims (13)

一種用於藉由一記憶體裝置上之一應用程式執行一基於時間之操作的方法,該方法包含:藉由一記憶體體裝置上之一應用程式,其中該記憶體裝置儲存受保護內容以及用於解鎖該受保護內容之數位權利管理DRM密鑰和授權來:鑑認在一主機裝置上執行之一實體,該主機裝置與該記憶體裝置通信;判定該主機裝置的一識別;自該實體接收一請求以執行一基於時間之操作;只有該主機裝置根據該主機裝置之識別被判定為值得信任時,選擇該主機裝置之時間而非該記憶體裝置上之一時間模組的時間來執行該基於時間之操作;及使用該主機裝置之該時間來執行該基於時間的操作,其中該基於時間的操作包含確認儲存於該記憶體裝置之一DRM授權。 A method for performing a time-based operation by an application on a memory device, the method comprising: by using an application on a memory device, wherein the memory device stores protected content and a digital rights management DRM key and authorization for unlocking the protected content: authenticating an entity executing on a host device, the host device communicating with the memory device; determining an identification of the host device; The entity receives a request to perform a time-based operation; and only when the host device is determined to be trustworthy based on the identification of the host device, selecting the time of the host device instead of the time module of the memory device Performing the time-based operation; and performing the time-based operation using the time of the host device, wherein the time-based operation includes confirming a DRM authorization stored in the one of the memory devices. 如請求項1之方法,其中僅在該主機裝置之該時間遲於該時間模組之該時間的情況下,選擇該主機裝置之該時間而非該時間模組的該時間。 The method of claim 1, wherein the time of the host device is selected instead of the time of the time module only if the time of the host device is later than the time of the time module. 如請求項1之方法,其中該主機裝置之該時間比該時間模組的該時間相對更精準,且其中該時間模組之該時間比該主機裝置之該時間相對更安全。 The method of claim 1, wherein the time of the host device is relatively more accurate than the time of the time module, and wherein the time of the time module is relatively safer than the time of the host device. 如請求項1之方法,其中該主機裝置之該時間不可用以更新該時間模組。 The method of claim 1, wherein the time of the host device is not available to update the time module. 如請求項1之方法,其進一步包含使用該時間模組之該時間來鑑認該實體。 The method of claim 1, further comprising identifying the entity using the time of the time module. 如請求項1之方法,其進一步包含僅針對一單一會期而使用該主機裝置之該時間。 The method of claim 1, further comprising the time of using the host device for only a single session. 如請求項1之方法,其中該記憶體裝置操作以:儲存自該主機裝置接收到之時間,自一第二主機裝置接收時間,比較該第二主機裝置之該時間與該主機裝置的該所儲存時間,且基於該比較,決定使用該主機裝置之該時間而非該第二主機裝置的該時間來執行該基於時間之操作。 The method of claim 1, wherein the memory device is operative to: store a time received from the host device, receive a time from a second host device, compare the time of the second host device with the location of the host device The time is stored, and based on the comparison, the time of the use of the host device is determined instead of the time of the second host device to perform the time based operation. 如請求項1之方法,其中該記憶體裝置操作以使用一並非基於時間之鑑認系統來鑑認該主機裝置。 The method of claim 1, wherein the memory device is operative to authenticate the host device using a time-based authentication system. 一種記憶體裝置,其包含:一記憶體陣列,其儲存受保護內容以及用於解鎖該受保護內容之數位權利管理DRM密鑰及授權;及電路,其與該記憶體陣列通信且操作以:接收一請求以鑑認在一主機裝置上執行的一實體;使用在一存取控制記錄ACR中規定之一鑑認方法及一記憶體裝置上之一時間模組的時間來鑑認該實體,其中該ACR使該實體與該記憶體裝置中的一應用程式相關聯;判定該主機裝置的一識別;自該實體接收對該應用程式執行一基於時間的操作之一請求; 只有該主機裝置根據該主機裝置之識別被判定為值得信任時,選擇該主機裝置之時間而非該時間模組之時間來執行該基於時間的操作;及使用該主機裝置之該時間來執行該基於時間的操作,其中該基於時間的操作包含確認儲存於該記憶體裝置之一DRM授權。 A memory device comprising: a memory array storing protected content and a digital rights management DRM key and authorization for unlocking the protected content; and circuitry for communicating with the memory array and operating to: Receiving a request to authenticate an entity executing on a host device; using an authentication method in an access control record ACR and a time module on a memory device to identify the entity, Wherein the ACR associates the entity with an application in the memory device; determining an identification of the host device; receiving, from the entity, a request to perform a time-based operation on the application; Only when the host device is determined to be trustworthy according to the identification of the host device, selecting the time of the host device instead of the time module to perform the time-based operation; and using the time of the host device to execute the time Time based operation, wherein the time based operation includes confirming a DRM authorization stored in the memory device. 如請求項9之記憶體裝置,其中僅在該主機裝置之該時間遲於該時間模組的該時間的情況下,選擇該主機裝置之該時間而非該時間模組的該時間。 The memory device of claim 9, wherein the time of the host device is selected instead of the time of the time module only if the time of the host device is later than the time of the time module. 如請求項9之記憶體裝置,其中該主機裝置之該時間比該時間模組的該時間相對更精準,且其中該時間模組之該時間比該主機裝置之該時間相對更安全。 The memory device of claim 9, wherein the time of the host device is relatively more accurate than the time of the time module, and wherein the time of the time module is relatively safer than the time of the host device. 如請求項9之記憶體裝置,其中該主機裝置之該時間不可用以更新該時間模組。 The memory device of claim 9, wherein the time of the host device is not available to update the time module. 如請求項9之記憶體裝置,其中該電路進一步操作以僅針對一單一會期而使用該主機裝置的該時間。 A memory device as claimed in claim 9, wherein the circuit is further operative to use the time of the host device for only a single session.
TW097121272A 2007-06-08 2008-06-06 Memory device using time from a trusted host device and method for use therewith TWI386947B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/811,346 US8869288B2 (en) 2007-06-08 2007-06-08 Method for using time from a trusted host device
US11/811,345 US20080307507A1 (en) 2007-06-08 2007-06-08 Memory device using time from a trusted host device

Publications (2)

Publication Number Publication Date
TW200907996A TW200907996A (en) 2009-02-16
TWI386947B true TWI386947B (en) 2013-02-21

Family

ID=39674859

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097121272A TWI386947B (en) 2007-06-08 2008-06-06 Memory device using time from a trusted host device and method for use therewith

Country Status (6)

Country Link
EP (1) EP2156358A1 (en)
JP (1) JP2010532024A (en)
KR (1) KR20100041734A (en)
CN (1) CN101816003A (en)
TW (1) TWI386947B (en)
WO (1) WO2008154309A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081764A (en) * 2009-09-14 2011-04-21 Panasonic Corp Content receiver, content reproducer, content reproducing system, content writing method, expiration date determining method, program, and recording medium
WO2012153486A1 (en) * 2011-05-09 2012-11-15 パナソニック株式会社 Content management system, management server, memory media device and content management method
CN109151160B (en) * 2018-06-26 2021-04-13 Oppo广东移动通信有限公司 Communication method, communication device, mobile terminal and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120465A1 (en) * 2001-02-27 2002-08-29 International Business Machines Corporation Utilizing and delivering contents
US20020169974A1 (en) * 2001-03-01 2002-11-14 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US20030069854A1 (en) * 2001-10-09 2003-04-10 Hsu Michael M. Expiring content on playback devices
US20040215909A1 (en) * 2003-04-23 2004-10-28 Renesas Technology Corp. Nonvolatile memory device and data processing system
US20050038757A1 (en) * 2003-08-11 2005-02-17 Matsushita Electric Industrial Co., Ltd. Memory card device, rights managing system and time managing method
US20060294593A1 (en) * 2005-06-22 2006-12-28 Intel Corporation Protected clock management based upon a non-trusted persistent time source
US20070043667A1 (en) * 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
DE102005050352A1 (en) * 2005-10-20 2007-04-26 Infineon Technologies Ag Time data testing device used in e.g. mobile telephones and laptops comprises a time data preparation unit, memory units for storing time data, time data change and difference determination units and a testing unit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1597905A1 (en) * 2003-02-20 2005-11-23 Ase R &amp; D Europe Method for offering time on smart card and method for time registration by means of mobile communication device
JP2005301333A (en) * 2004-04-06 2005-10-27 Hitachi Global Storage Technologies Netherlands Bv Magnetic disk drive with use time limiting function
JP4473273B2 (en) * 2004-08-17 2010-06-02 三菱電機株式会社 Storage device and storage method
JP4750480B2 (en) * 2005-06-14 2011-08-17 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ Storage device and access control method for storage device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120465A1 (en) * 2001-02-27 2002-08-29 International Business Machines Corporation Utilizing and delivering contents
US20020169974A1 (en) * 2001-03-01 2002-11-14 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
US20030069854A1 (en) * 2001-10-09 2003-04-10 Hsu Michael M. Expiring content on playback devices
US20040215909A1 (en) * 2003-04-23 2004-10-28 Renesas Technology Corp. Nonvolatile memory device and data processing system
US20050038757A1 (en) * 2003-08-11 2005-02-17 Matsushita Electric Industrial Co., Ltd. Memory card device, rights managing system and time managing method
US20060294593A1 (en) * 2005-06-22 2006-12-28 Intel Corporation Protected clock management based upon a non-trusted persistent time source
US20070043667A1 (en) * 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
DE102005050352A1 (en) * 2005-10-20 2007-04-26 Infineon Technologies Ag Time data testing device used in e.g. mobile telephones and laptops comprises a time data preparation unit, memory units for storing time data, time data change and difference determination units and a testing unit

Also Published As

Publication number Publication date
CN101816003A (en) 2010-08-25
TW200907996A (en) 2009-02-16
KR20100041734A (en) 2010-04-22
WO2008154309A1 (en) 2008-12-18
JP2010532024A (en) 2010-09-30
EP2156358A1 (en) 2010-02-24

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
US8938625B2 (en) Systems and methods for securing cryptographic data using timestamps
US20080307237A1 (en) Method for improving accuracy of a time estimate used to authenticate an entity to a memory device
US20130004142A1 (en) Systems and methods for device authentication including timestamp validation
JP2005228346A (en) Method for associating content with user
TWI386947B (en) Memory device using time from a trusted host device and method for use therewith
JP5180293B2 (en) MEMORY DEVICE HAVING CIRCUIT FOR IMPROVING ACCURACY OF TIME ESTIMATION USED FOR DIGITAL RIGHTS MANAGEMENT (DRM) LICENSE VERIFICATION AND METHOD USED IN THE DEVICE
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
JP5180292B2 (en) MEMORY DEVICE PROVIDED WITH CIRCUIT FOR IMPROVING ACCURACY OF TIME ESTIMATION AND METHOD USED IN THE DEVICE
CN101194265B (en) Method for controlling a consumption limit date of digital contents

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees