TW200821837A - System and method for controlling information supplied from memory device - Google Patents

System and method for controlling information supplied from memory device Download PDF

Info

Publication number
TW200821837A
TW200821837A TW096124585A TW96124585A TW200821837A TW 200821837 A TW200821837 A TW 200821837A TW 096124585 A TW096124585 A TW 096124585A TW 96124585 A TW96124585 A TW 96124585A TW 200821837 A TW200821837 A TW 200821837A
Authority
TW
Taiwan
Prior art keywords
access control
access
host
control record
key
Prior art date
Application number
TW096124585A
Other languages
Chinese (zh)
Inventor
Michael Holtzman
Ron Barzilai
Fabrice Jogand-Coulomb
Original Assignee
Sandisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/557,051 external-priority patent/US20080022395A1/en
Priority claimed from US11/557,052 external-priority patent/US8266711B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200821837A publication Critical patent/TW200821837A/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

A memory storing public and confidential information is removably connected to a host device. General information on data stored in memory devices is accessible to the host device without authentication. Only a portion of confidential information stored in the memory device is accessible through the host device to an authenticated entity, where the entity has access rights to such portion. The entity is not able to access other portions of confidential information to which it has no rights. The public and confidential information is stored in a non-volatile storage medium, and a controller controls the supply of information. Preferably, the non-volatile storage medium and the controller are enclosed in a housing.

Description

200821837 九、發明說明: 【發明所屬之技術領域】 本發明-般而言係關於記憶體系統,且尤其係關於一種 具有多用途控制特徵之記憶體系統。 【先前技術】 Γ 諸如快閃減體卡之儲存裝置係已經變❹於儲存諸如 相片之數位内容的儲存媒體之選擇。快閃記憶體卡亦可以 被使用於散佈其他類型媒體内容。再者,種類增加的主機 裝置(諸如電腦、數位相機、行動電話、個人數位助理及 諸如则播放機之媒體播放機)現在係具有呈現儲存於快閃 記憶體卡内的媒體内容之能力。因此,對於快閃記憶體卡 以及其他類型行動儲存裝置而言,係具有很大的潛能變成 用於散佈數位内容的廣泛使用傳播媒介。200821837 IX. INSTRUCTIONS: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to memory systems, and more particularly to a memory system having multi-purpose control features. [Prior Art] A storage device such as a flash card has become a choice for storing a storage medium such as digital content of a photo. Flash memory cards can also be used to distribute other types of media content. Moreover, an increased variety of host devices (such as computers, digital cameras, mobile phones, personal digital assistants, and media players such as players) now have the ability to present media content stored in a flash memory card. Therefore, for flash memory cards and other types of mobile storage devices, there is a great potential to become a widely used medium for distributing digital content.

Ik著越來越多的機密及公開資訊被儲存於儲存裝置上, 而要此夠取决於進行詢問之實體的狀態而判定可使得何種 之貝Λ可用。因此,需要提供一種視實體之狀態而向 S亥等實體提供機密及公開資訊的改良系統。 【發明内容】More and more confidential and public information is stored on the storage device, and it is determined by the state of the entity making the inquiry to determine what kind of barn is available. Therefore, there is a need to provide an improved system for providing confidential and public information to entities such as S Hai depending on the state of the entity. [Summary of the Invention]

Ik著越來越多的機密及公開資訊被儲存於儲存裝置上, 需要能夠取決於進杆4 延订41問之實體的狀態而判定可使得何種 類型之資訊可用。因 U此,在本發明之一實施例中,一記憶 體裝置可移除地遠技尽 逆接至一主機裝置。回應於來自該主機裝 j2!Sf ^七送的一般資訊查詢,該記憶體裝置供應 a開貝Λ對儲存於該記憶體裝置中之機密資訊的存取係 122365.doc 200821837 X控於控制負料結構(control data structure)。回應於來 自主機裝置之由一經鑑認實體所發送的謹慎資訊查詢,記 fe體虞置僅供應由該控制資料結構允許此經鑑認實體存取 的機密資訊部分。即使當經鑑認時,實體亦僅被允許存取 被该控制資料結構所允許的機密資訊部分。以此方式,存 取控制方案具有彈性,使得不同實體僅能夠存取被允許存 取的機m部分,而不亦允許此等實體存取機密資訊之 其他部分。 fIk more and more confidential and public information is stored on the storage device, and it is necessary to be able to determine what type of information is available depending on the state of the entity that the extension 4 has ordered. Because of this, in one embodiment of the invention, a memory device is removably reconfigured to a host device. In response to the general information query from the host device, the memory device provides a access to the confidential information stored in the memory device. 122365.doc 200821837 X is under control Control data structure. In response to a cautious information query sent by the authenticating entity from the host device, the memorandum device only supplies the portion of the confidential information that is permitted to be accessed by the authenticated entity by the control data structure. Even when authenticated, the entity is only allowed to access the confidential information portion allowed by the control data structure. In this way, the access control scheme is resilient so that different entities can only access portions of the machine that are allowed to access, while not allowing such entities to access other portions of the confidential information. f

在此處所參照的所有專利、專利申請案、文章、書籍、 規格仏準、其它出版物、文件與事物皆完全在此引述其 整體作為參考。在任何所引用的出版物、文件或事物與本 文件的内容之間在—詞㈣用法蚊義上有某種程度的不 致或衝犬時,應以在本文件中之詞彙的定義與用 準。 【實施方式】 二之方塊圖顯示示範性記憶體系统,可在該示範性記 統中實施本發明之各項態様。如示於圖i,該記憶 mivm、中央處理單元(CPU)12、一緩衝管理單元 —主機介面模組(職”6及-快閃記憶體介面 :A且M、22M)18、一快閃記憶體2°及一周邊裝置存取模組 :。記憶體系統10係透過-主機介面匯流排26及淳 26a而與一主機裝置 (NAND)型)提供用 機=己憶體2〇(其可屬於反及 置柯以係-數位相機 4之資料儲存,該主機裝 數位相機、一個人電腦、一個人數位助理、 122365.doc 200821837 一數位媒體播放機(諸如一 MP3播放機)、一行動電唁、一 視訊轉換器或其他數位裝置或設備。用於中央處理=元二 之軟體碼係亦可以儲存於快閃記憶體20之中。快閃體 介面模組18係透過-快閃記憶體介面匯流排28及谭^而 連接至該快閃記憶體20。主機介面模組16係適合用於連接 至-主機裝置。該周邊襄置存取模組22選擇用於與該中央 處理單元12通訊之適當的控制器模組,諸如快閃記憶體介 面模組、主機介面模組及緩衝管理單元。於一項實施例 中’該系統10於虛線方塊内之所有組件可被包封於一單一 單元之中,諸如於記憶體卡或記憶體條1〇,之内,較佳地係 被囊封。該記憶體系統10係可卸除地連接至主裝置Μ,使 得系統10内的内容可被許多不同的主機裝置之每—者所存 取。 於下文中,記憶體系統10亦被稱為記憶體裝置10,或僅 稱為記憶體裝置或裝置。雖然本文中藉由引用快閃記憶體 來閣釋本發明,但是本發明亦可以應詩其他類型記憶 體’諸如磁碟,光碟,以及其他類型可重寫非揮發性記憶 體系統。 4緩衝官理單元14包含一主機直接記憶體存取 (HDMA)32 ’ 一快閃直接記憶體存取(FDMA)34,-仲裁器 36 ’ 一緩衝隨機存取記憶體(BRAM)38及一密碼編譯引擎 糾。該仲裁器36係一共用匯流排仲裁器,使得僅一主控器 (_叫或起始器(其可以係該主機直接記憶體存取32、該 决閃直接冗憶體存取34或中央處理單元η)可於任何時間 122365.doc 200821837 為作用中狀態,j_從屬器或目標係緩衝 38。該仲裁器負責通道化適當的起始 存取記憶體 存取記憶體38。該主機直接記憶體存緩衝隨機 憶體存取34負責介於該主機介面模組16、:、閃直接§己 面模組18與該緩衝隨機存取 ^央^己憶體介 機存取記憶體(CPURAM)12a之間傳== 接妒愔驴六%。 寻勒之貝枓。该主機直 ==取32及該快閃直接記憶體存取34之操作係傳統 f % k 俜用於文詳細敘述。該緩衝隨機存取記憶體38 =於儲存順主機裝置24與快閃記憶體2〇之間傳通之 ;4二:主機直接記憶體存取32及該快閃直接記憶體存取 負貝,丨於該主機介面模組16/該㈣㈣體介面模㈣ =衝隨機存取記憶體38或者中央處理單元隨機存取記 憶體12a之間傳送資料,且用於指示區段(sect〇r)完成。 —於-項實施例中,記憶體系統1〇產生用於加密及/或解 密之密鑰值’ #中’該密輕較佳地係實質上無法被外部 裝置(諸如主機裝置24)所存取。或者,該㈣值亦可以在 5亥糸統1〇之夕卜產生(諸如藉由一使用權伺服器(license server)所產生)且被傳送至系統1〇。不論該密輸值係如何 產生’-旦該密鑰值被儲存於系統1()之中,僅經鑑認之實 體將此夠存取該密鍮值。然而,加密及解密典型地係以逐 4田案方^實把’此乃因該主機裝置係以檔案之形式將資 料項取及寫入至記憶體系統1〇。類似於許多其他類型儲存 裝置》己隐體裝置! 〇係不管理檔案。雖然記憶體確實儲 存-播案配置表(FAT)(其中’該等檔案之邏輯位址係被識 122365.doc 200821837 別),但是該檔案配置表典型地係由該主機裝置24所存取 及管理,而非由該控制器u所存取及管理。因此,為了加 密於-特定檔案内的資料’該控制器12係必須依賴該主機 竑置,以傳送该記憶體20内該檔案中之資料的邏輯位址, 使得可由該系統10使用僅限於系統1〇可取得之密鑰值來尋 找及加密及/或解密該特定檔案之資料。 f \ 為了提供對於該主機裝置24及記憶體系、統1G兩者之控制 代碼(haruUe) ’以指向用於以密碼編譯方式處理檔案内的 資料之相同的密鑰’該主機裝置係提供用於由該系統_ 生或被傳送至系統1()之每一密鑰值之參照叫,立 中’此類參照係可以僅為一密鑰ID。因此,使該主機裝置 24相關聯於由系統10用一密鑰1〇以密碼編譯方式處理的每 -播案,且使該系統1〇相關聯於用於用由該主機所提供之 密鍮m以密碼編譯方式處理資料的每—密鑰值因此,^亥 主機請求經以密碼編譯方式處理之資料時,其將傳^請 求連同-⑽m錢將自記㈣2_取或料於記憶㈣ 内之資料的邏輯位址至系統10β系統1〇產生或接收一密鍮 值’並且使由該主機裝置24所裎 所楗供之该密鑰ID相關聯於此 密錄值,且實施密碼編譯處理。以此方式,不需要改變記 憶體糸統10#作之方式’同時允許其❹密鑰而完全控制 挽碼編#處理,包含對於密鑰值之獨佔式存取。換句話 說’ 一旦該密餘值被儲存於系統1Q之中或由系統1〇予以產 生本该糸統係持繽允許該主機裝置24藉由具有對 置表之獨佔式控制而管理該等權案,同時其係維持對於使 122365.doc 200821837 用於密碼編譯處理之密鑰值的管理之獨佔式控制。在該等 饴鑰值被儲存於記憶體系統10之後,該主機裝置μ無管理 用於資料密碼編譯處理之密鑰值的責任。 於一項實施例中,由該主機裝置24所提供之密鑰id及傳 达至該記憶體系統或由該記憶體系統所產生之密鑰值係形 成一數量的兩個屬性,於下文稱為,,内容加密密鑰⑴⑽“加 =nCryption Key,CEK)”或” CEK,,。雖然該主機裝置24可使 每一密鑰ID相關聯於一或多個檔案,但是該主機裝置以亦 可使每一您鑰ID相關聯於未經組織的資料或者以任何方式 組織之資料,且係不受限於組織成為完整檔案之資料。 為了使使用者或應用程式獲得存取系統1 〇内受保護的 内谷或區域,將需要使用向系統1〇預登錄的一認證 (credential來鑑認該使用者或應用程式。一認證相關聯於 經授予給具有該認證之特定使用者或應用程式之存取權。 於預么錄私序中U 1G儲存—記錄,該記錄包含該使用 者或應用程式之該身份及認證,以及由該使用者或應用程 式所決定且透過該主機裝置24提供之與此身份及認證相關 聯之存取權。在已經完成該預登錄之後,當該使用者或應 用程式請求將資料寫入至記憶體2〇時,其將需要透過該主 機裝置提供其身份及認證、一用於加密該資料之密鑰ID、 及經加密資料被儲存之邏輯位址。系統1〇產生或接收一密 鑰值,且使遠密鑰值相關聯於由該主機裝置所提供之密鑰 ID,且將用於加密待寫入之資料的密鑰值之密鑰m儲存於 用於该使用者或應用程式之記錄或表中。接著,加密該資 122365.doc -11 - 200821837 料且儲存經加密資料於該主機所指定之位址處以及其產生 或接收之密鑰值。 备一使用者或應用程式請求自記憶體2〇讀取經加密資料 時,其將需要提供其身份及認證、用於先前用於加密該請 求貧料之密鑰之密鑰ID、及該經加密資料被儲存之邏輯位 址。系統10接著比對由該主機所提供之使用者或應用程式 身份及認證與儲存於其之記錄内的身份及認證。假如匹 配,則系統1 0將接著自其之記憶體内擷取與由該使用者或 應用程式所提供之密鑰ID相相關聯的密鑰值,使用該密鑰 值解么儲存於該主機裝置所指定之位址處之資料,且傳送 该解密資料至該使用者或應用程式。 藉由分離該等鑑認認證與用於密碼編譯處理之密鑰的管 理,接著分享存取資料之權利而不共用認證係可能的。因 此,一群組具有不同認證之使用者或應用程式可存取用於 存取相同資料之相同的密鑰,而該群組以外的使用者係不 能存取。雖然一群組内所有使用者或應用程式係可以存取 相同的資料,其可以仍然具有不同的權利。因此,某些使 用者可以具有唯讀存取,而其他使用者可以具有唯寫存 取,而又其他使用者係可以具有唯讀存取及唯寫存取兩 者。因為系統10維持一含有該使用者或應用程式之身份及 邁J、其可存取之密鑰1D以及每一密鑰ID所相關聯之存取 權的記錄,所以對於系統10而言,增加或刪除特定使用者 或^用程式之费瑜ID且改變與此密输ID相關聯的存取權、 自使用者或應用程式委派存取權給另一使用者或應用程 122365.doc -12- 200821837 式、或者甚至刪除或增加用 表俏可-& 1更用者或應用程式之記錄„戈 的,所有皆受控於-適當經鏗認之主機震置。: 錄可指定-用於存取某些密鑰所需要的安全通道 可使用對稱或非對稱演算法以及密竭來實行鑑認。 特別重要的是該記憶體系統1〇内的受到保護的内 ’二〖生:於存取該密鑰值係受到該記憶體系統控制之實施例 ,…該系統之記憶體系統或儲存裝置係自一 / Π?:外部*統時’維持健存於其内之内容的安全 ㈣1 =密7係由該記憶體系統所產生或者起源於該記 L體竭,外部系統無法存取系統1〇内之此類内容,卜All patents, patent applications, articles, books, specifications, other publications, documents and things referred to herein are hereby incorporated by reference in their entirety. In the case of any referenced publication, document or thing and the content of this document, there shall be some degree of inconsistency or rushing in the use of the word (4). The definition and standard of the words in this document shall be used. . [Embodiment] A block diagram of two shows an exemplary memory system in which various aspects of the present invention can be implemented. As shown in Figure i, the memory mivm, central processing unit (CPU) 12, a buffer management unit - host interface module ("6" and - flash memory interface: A and M, 22M) 18, a flash Memory 2° and a peripheral device access module: The memory system 10 is provided through the host interface bus 26 and the port 26a and a host device (NAND) type. It can be stored in the data of the anti-Korean-digital camera 4, which is equipped with a digital camera, a personal computer, a number of assistants, 122365.doc 200821837 a digital media player (such as an MP3 player), a mobile phone , a video converter or other digital device or device. The software code for central processing = yuan 2 can also be stored in the flash memory 20. The flash interface module 18 is a through-flash memory interface The busbars 28 and Tan are connected to the flash memory 20. The host interface module 16 is suitable for connection to a host device. The peripheral device access module 22 is selected for communication with the central processing unit 12. Appropriate controller module, such as flash memory Surface module, host interface module and buffer management unit. In one embodiment, all components of the system 10 within the dashed box may be enclosed in a single unit, such as a memory card or a memory stick. Preferably, the memory system 10 is removably coupled to the host device such that the contents of the system 10 are accessible by each of a plurality of different host devices. Hereinafter, the memory system 10 is also referred to as a memory device 10, or simply as a memory device or device. Although the invention is referenced herein by reference to a flash memory, the present invention is also applicable Poetry other types of memory 'such as disks, compact discs, and other types of rewritable non-volatile memory systems. 4 Buffering unit 14 includes a host direct memory access (HDMA) 32 'a flash direct memory Access (FDMA) 34, an arbiter 36' a buffered random access memory (BRAM) 38 and a cryptographic engine. The arbiter 36 is a shared bus arbiter such that only one master (_ Call or initiator (which can be called The machine direct memory access 32, the flash direct memory access 34 or the central processing unit η) can be active at any time 122365.doc 200821837, the j_slave or target buffer 38. The arbiter Responsible for channelizing the appropriate initial access memory access memory 38. The host direct memory buffer buffer random memory access 34 is responsible for the host interface module 16,:, flash direct § face module 18 Between the buffered random access memory and the memory access memory (CPURAM) 12a == 妒愔驴 妒愔驴 妒愔驴 妒愔驴 妒愔驴 枓 枓 枓 枓 枓 枓 枓 枓 枓 枓 枓 枓 该 该 该 该 该 该 该 该 该The operation of flash direct memory access 34 is traditionally detailed in the text f % k 俜. The buffer random access memory 38 is transmitted between the storage device 24 and the flash memory 2; 4: the host direct memory access 32 and the flash direct memory access negative, The host interface module 16/the (four) (four) body interface module (4) = the random access memory 38 or the central processing unit random access memory 12a transfers data, and is used to indicate the segment (sect〇r) completion . In the embodiment, the memory system 1 generates a key value 'in the 'encryption and/or decryption' which is preferably substantially unreservable by an external device (such as the host device 24). take. Alternatively, the (four) value may also be generated (e.g., by a license server) and transmitted to the system 1〇. Regardless of how the secret value is generated, the key value is stored in system 1(), and only the authenticated entity has access to the key value. However, encryption and decryption are typically performed on a case-by-case basis. This is because the host device retrieves and writes the data items to the memory system in the form of files. Similar to many other types of storage devices, the hidden device is not managed! Although the memory does store a Play-Batch Configuration Table (FAT) (where the logical addresses of the files are known as 122365.doc 200821837), the file configuration table is typically accessed by the host device 24 and Management, not accessed and managed by the controller u. Therefore, in order to encrypt the data in the -specific file, the controller 12 must rely on the host device to transfer the logical address of the material in the file in the memory 20 so that the system 10 can be used by the system only. 1. The key value that can be obtained to find and encrypt and/or decrypt the data of the particular file. f \ In order to provide a control code (haruUe) for both the host device 24 and the memory system, the system 1A is provided with the same key for pointing to the data in the file for cryptographic compilation. The reference to each key value transmitted by the system or transmitted to system 1() is such that the reference system can be only a key ID. Thus, the host device 24 is associated with a per-cast case that is processed by the system 10 in a cryptographically compiled manner with a key 1 and associated with the system for use with the secret provided by the host. m handles each key value of the data in a cryptographically compiled manner. Therefore, when the host requests the data processed by the cryptographic compilation method, it will transmit the request together with -(10)m money to self-remember (4) 2_ or take it into memory (4) The logical address of the data to the system 10β system 1 generates or receives a secret value 'and associates the key ID supplied by the host device 24 with the secret key value, and implements a cryptographic process. In this way, it is not necessary to change the manner in which the memory system 10# is made while allowing its key to be fully controlled, including exclusive access to the key value. In other words, 'once the secret value is stored in the system 1Q or generated by the system, the host device 24 allows the host device 24 to manage the rights by having exclusive control of the opposite table. At the same time, it maintains exclusive control over the management of key values used to cryptographically compile 122365.doc 200821837. After the key values are stored in the memory system 10, the host device μ has no responsibility for managing the key value for the data cryptographic process. In one embodiment, the key id provided by the host device 24 and the key value transmitted to the memory system or generated by the memory system form a quantity of two attributes, which are hereinafter referred to as For example, the content encryption key (1) (10) "plus = nCryption Key, CEK)" or "CEK,". Although the host device 24 can associate each key ID with one or more files, the host device Each key ID can be associated with unorganized material or organized in any way, and is not subject to the organization becoming a complete file. In order to enable users or applications to access the system 1 A protected inner valley or zone will need to authenticate to the user or application using a credential pre-login to the system. An authentication is associated with a particular user or application that is granted the certificate. The U1G storage-record in the pre-recorded private sequence, the record containing the identity and authentication of the user or application, and determined by the user or application and via the host device 24. Access rights associated with this identity and authentication. After the pre-login has been completed, when the user or application requests to write data to the memory 2, it will need to provide its identity through the host device And authentication, a key ID for encrypting the data, and a logical address where the encrypted data is stored. The system 1 generates or receives a key value and associates the remote key value with the host device The key ID is provided, and the key m for encrypting the key value of the material to be written is stored in a record or table for the user or application. Then, the capital is encrypted 122365.doc -11 - 200821837 and store the encrypted data at the address specified by the host and the key value it generates or receives. When a user or application requests to read encrypted data from memory 2, it will need Providing its identity and authentication, the key ID for the key previously used to encrypt the request poor, and the logical address where the encrypted data is stored. System 10 then compares the user provided by the host or Application identity and The identity and authentication stored in the record stored in it. If it matches, the system 10 will then retrieve from its memory the key associated with the key ID provided by the user or application. Value, using the key value to store the data stored at the address specified by the host device, and transmitting the decrypted data to the user or application. By separating the authentication authentication and for cryptographic processing The management of the key, and then the right to access the data without sharing the authentication is possible. Therefore, a group of users or applications with different authentications can access the same key used to access the same data. Users outside the group are not accessible. Although all users or applications in a group can access the same material, they can still have different rights. Therefore, some users may have read-only access, while other users may have write-only access, while other users may have both read-only access and write-only access. Because system 10 maintains a record containing the identity of the user or application and the access key 1D and the access rights associated with each key ID, for system 10, Or delete the user ID of the specific user or application and change the access rights associated with the secret ID, delegate access from the user or application to another user or application 122365.doc -12 - 200821837, or even delete or increase the use of the table -& 1 more user or application record „ 戈 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , The secure channel required to access certain keys can be authenticated using symmetric or asymmetric algorithms and exhaustion. It is especially important that the memory system is protected within the internal environment. Accessing the key value is an embodiment controlled by the memory system, ... the memory system or the storage device of the system is maintained from the security of the content stored therein (4) 1 = the dense 7 system is generated by the memory system or originated from the When L is exhausted, the external system cannot access such content in the system.

非已以一完全受到該記憶體系統控制之方式鑑認外部L ::。甚:在經此鑑認之後,存取係完全受控於該記憶體系 統可僅以—根據該記憶體系統内預設記錄所 &制之方式進行存取。假如一請求係不符合此類記錄,則 該請求將被拒絕。 為了提供在保護内容上較大的彈性,可以想像僅限於經 適當鑑認的使用者或應用程式才能存取該記憶體之某些區 域(下文稱為分割區)。當結合上述以密输為基礎之資料加 密之特徵時’系統H)係提供較大的資料保護能力。如示於 圖2,該快閃記憶體20係可以使其之儲存容量被分割成為 許多分割區:-使用者區域或分割區及自訂分割區。所有 使用者及應用程式可存取使用者區域或分割區而不需 要鑑認。雖然任何應用程式或使用者可讀取或寫人至^ 於該使用I區域内的t料的所有位元冑,假>所讀取之資 122365.doc 13· 200821837 料係被加密,則無授權解密之使用者或應用程式無法存取 由儲存於一使用者區域内的位元值所表示的資訊。舉例而 言’由儲存於使用者區域P0内的檔案102及104所顯示。亦 儲存於該使用者區域的是未經加密檔案,諸如1〇6,其可 被所有應用程式及使用者讀取及瞭解。因此,象徵而言, 被加密之槽案係顯示為具有與其相關聯之鎖,諸如對於權 案102及1〇4而言。The external L:: has been identified in a manner that is completely controlled by the memory system. Even after the authentication, the access system is completely controlled by the memory system and can only be accessed in accordance with the preset recording system in the memory system. If a request does not match such a record, the request will be rejected. In order to provide greater flexibility in protecting content, it is conceivable that only a properly authenticated user or application can access certain areas of the memory (hereinafter referred to as partitions). When combined with the above-mentioned features of dense data-based data encryption, 'system H' provides greater data protection. As shown in Fig. 2, the flash memory 20 is capable of dividing its storage capacity into a plurality of partitions: a user area or a partition and a custom partition. All users and applications can access the user area or partition without authentication. Although any application or user can read or write all the bits of the t material in the I area, the information read by the fake > 122365.doc 13· 200821837 is encrypted. A user or application that is not authorized to decrypt cannot access the information represented by the bit value stored in a user area. For example, 'displayed by files 102 and 104 stored in user area P0. Also stored in the user area are unencrypted files, such as 1,6, which can be read and understood by all applications and users. Thus, symbolically, the encrypted slot is shown as having a lock associated with it, such as for rights 102 and 1.4.

雖然未經授權的應用程式或使用者無法瞭解於一使用者 區域P0内的經加密檔案,然而此類應用程式或使用者仍然 旎夠刪除或破壞該檔案,這對於一些應用程式而言可能為 不期望的。為了此目的,記憶體20亦包含受保護的自訂分 割區,諸如分割區P1&P2,在無事先鑑認情況下無法存取 彼等自叮刀割區。於此申請案内實施例中所允許的鑑認程 序係說明如下。 如亦顯示於圖2中,各種使用者或應用程式可以存取記 憶體20内的檔案。因此,圖2顯示使用者1及2及(執行於裝 ,上,)應用程式Μ。在彼等實體被允許存取記憶體20内 文保護的内容之前,首先藉由—鑑認程序以下文說明之方 2㈣等實體。於此程序中,需要於該主機端識別正在 :取之實體’以用於角色為基礎的存取控制。因此, 二*之Λ體首先藉由提供諸如’’我是應用程式2且 我想要言買取構幸1丨,夕:欠 ,,_ .貝汛,而識別自己。接著,控制器12 12内:2、鑑認資訊及請求與儲存於記憶㈣或控制器 、’〈饭如所有條件係符合,則存取係被授予給此 122365.doc -14- 200821837 類實體。如示於圖2,使用者1被允許讀取及寫入構案1〇ι 至分割區P1,然而除了使用者1具有讀取及寫入檔案1〇6至 分割區P0之不受限制的權利之外,其僅可讀取檔案i 〇2及 1 04。另一方面,使用者2不被允許存取檔案10 1及丨〇4,然 而可讀取及寫入存取檔案102。如示於圖2,使用者1及2具 有相同的登入演算法(AES),而應用程式3具有不同的 登入演算法(例如,尺8八及001001),其係亦與使用者1及2 之登入演算法不同。Although an unauthorized application or user cannot know the encrypted file in a user area P0, such an application or user still has the ability to delete or destroy the file, which may be unexpected. For this purpose, the memory 20 also contains protected custom partitions, such as partitions P1 & P2, which are inaccessible to them without prior authentication. The authentication procedures allowed in the examples in this application are described below. As also shown in Figure 2, various users or applications can access files within the memory 20. Therefore, Figure 2 shows the users 1 and 2 and the (executed on, install,) application. Before the entities are allowed to access the content protected by the memory 20, the entities such as the 2(4) described below are first identified by the authentication procedure. In this program, it is necessary to identify on the host side that the entity is being used for role-based access control. Therefore, the * 二 首先 首先 首先 首先 首先 二 二 二 二 二 二 二 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先 首先Then, in the controller 12 12: 2, the authentication information and the request are stored in the memory (4) or the controller, and the rice is in accordance with all the conditions, the access system is granted to the entity 122365.doc -14-200821837 . As shown in FIG. 2, the user 1 is allowed to read and write the configuration 1〇 to the partition P1, but the user 1 has the unrestricted read and write file 1〇6 to the partition P0. In addition to rights, it can only read files i 〇 2 and 104. On the other hand, the user 2 is not allowed to access the files 10 1 and 丨〇 4, but can access and write the access file 102. As shown in Figure 2, users 1 and 2 have the same login algorithm (AES), while application 3 has different login algorithms (for example, 8-8 and 001001), which are also associated with users 1 and 2. The login algorithm is different.

安全儲存應用程式(SSA)係一種記憶體系統10之安全性 應用種式,且闡釋本發明之一項實施例,其可被使用於實 施許多上述的特徵。安全儲存應用程式係玎以建構為具有 儲存於該記憶體20或中央處理單元12内的非揮發記憶體 (未顯示)内的資料庫之軟體或電腦碼,且被讀入至隨機存 取5己憶體12a中且由中央處理單元12所執行。所使用來昭 4 \ \ > 安全餘存應用程式之字母縮寫係說明於下表: 定義、字母縮寫及縮寫 ACR AGP CBC CEK ECB ACANT^ PCR SSA Entity^^The Secure Storage Application (SSA) is a security application of the memory system 10 and illustrates an embodiment of the present invention that can be used to implement many of the features described above. The secure storage application system is constructed as a software or computer code having a database stored in a non-volatile memory (not shown) in the memory 20 or central processing unit 12, and is read into random access 5 The memory 12a is in the memory and is executed by the central processing unit 12. The abbreviations used in the safe memory application are described in the following table: Definitions, acronyms and abbreviations ACR AGP CBC CEK ECB ACANT^ PCR SSA Entity^^

Access Control Records(存取控制記錄) ACR Group(存取控制記錄群組)Access Control Records ACR Group (Access Control Record Group)

Chain Block Cipher(鏈區塊編密) Content Encryption Key(内容力口密密鑰) Electronic Codebook(電子碼本) 理) ACR Attributes Management(存取控制Chain Block Cipher Content Encryption Key Electronic Codebook (Electronic Codebook) ACR Attributes Management (Access Control)

Permissions Control Record(權限控制記錄)Permissions Control Record

Secure Storage Application(安全儲存應用程式) 實體,具有真實及個別存在(主機端)且登入該安全儲 存應用程式且因而利用其之功能的g何事物 安全儲存應用程式系統說明 122365.doc -15- 200821837 資料安錄、完整性及存取控制係安全儲存應用程式之 主要角色。貧料係明確地儲存於某種大量儲存裝置上的槽 案。安全儲存應用程式系統係位於儲存系統的上方,且增 加用於被儲存主機檔案之安全性層級,且透過安全性資^ 結構而提供安全性功能,如下文所述。 該安全儲存應用程式之主要工作係管理相關聯於記憶體 内被儲存的(及安全的)内容的不同權利。記憶體應用程式 需要管理多個使用者及對於多個儲存的内容的内容權利。 自其之側而來的主機應用程式係看見此類應用程式可見之 驅動程式及分割區,以及管理及描繪該儲存裝置上儲存檔 案之位置的檔案配置表(FAT)。 於此情況下,該儲存裝置使用分割成分割區之反及快閃 記憶體晶片,然而亦可使用其他行動儲存裝置且係屬於本 發明之範疇内。這些分割區係連續的邏輯位址緒 (thread),其中,一起始及一結束位址定義其邊界。因 此,假如想要,可以藉由軟體(諸如儲存於記憶體2〇内的 軟體)而將限制附加於對於隱藏分割區的存取,此類軟體 使此類限制相關聯於此類邊界内的位址。藉由該安全儲存 應用程式所管理之分割區邏輯位址邊界,使該安全儲存應 用程式可完全辨識分割區。該安全儲存應用程式系統使用 分割區’以實際上使資料安全免於未經授權之主機應用程 式。對於主機而言,該等分割區係一種定義儲存資料檔案 之專屬空間之機制。這些分割區可以係:公開的,其中, 可存取該儲存裝置的任何者可看見及知道該分割區存在於 122365.doc -16 - 200821837 μ衷置上;或者私有的或隱藏的,其中,僅 應用程式可存取及知道其存在於該儲存裝置上。 圖3係記憶體之示意圖’其顯示記憶體之分割區⑺ =Ρ2及Ρ3(顯然地,可採用少於或多於4個的分割區), ”,?〇係_公開分割區’其可由任何實體存取 4監認。 个而要 一私有分割區(諸如P1、Ρ2ΑΡ3)隱藏對於其内之權案的 ,取。藉由防止該主機存取該分割區,快閃記心裝置 列如,快閃記憶體卡)係傳送該分割區内的資料楷案之保 護。然而,此種保護係藉由賦加限制於存取儲存於該分割 區内該等邏輯位址處之資料,而吞沒駐留於該隱藏分割區 =所有檔案。@句話說’該等限制係相關聯於—邏輯位址 範圍。可存取該分割區的所有使用者/主機係可未1限制 存取内部的所有檔案。$了隔離不同的檔案及另—不同的 檔案或者檔案群組,該安全儲存應用程式系統使用密餘及 密鍮參照或密細,而提供每—檔案或者檔案群組另一層 級安全性及完整性。用於加密在不同的記憶體位址處之; 料的-特定密鍮值之一密錄參照或密輪⑴可被類推至一含 有該經加密資料之容器(⑽tainer)或定義域(d〇main)。因 此,於圖4中’該等密鑰參照或密鑰ID(例如,"密鑰丨"及"密 鑰2 ’)係以繪圖方式顯示為圍繞使用相關聯於該等密鑰π 之密鑰值加密之檔案之區域。 參照圖4,舉例而言,檔案人係可被所有實體存取而不需 要4何4i w,因為其係顯示為不被任何密鑰id所封入。即 122365.doc -17· 200821837 使所有實體可讀取或覆寫公開分割區内的播案B,然而標 案B含有以一具有ID"密鑰丨,,之密鑰予以加密之資料,所以 使得檔案B中所含有的資訊係不能被—實體存取,除非此 類實體有權存取此類密鑰。以此方式,使用密鑰值及密錄 1 '、、、或沧鑰ID係僅提供邏輯保護,其係相對於由上述分割 區所提供之保護類型。因此’可存取一分割區(公開的: 私有的)之任何主機能夠讀取或寫入整個分割區内的資 料,包含經加密資料 '然而’因為該資料係被加密,所以 未經授權的使用者係僅能夠破壞該資料。較佳地,其在無 谓測之下無法?文變資料。藉自限制對於加密及/或解密密 鑰之存取,此特徵可僅允許經授權實體使用該資料。於ρ〇 中,亦使用一具有密鑰ID"密鑰2"之密鑰來加密檔案Β及 C 〇 可透過對稱加密法而提供資料機密性及完整性,該等對 稱加密方法使用内容加密密鑰(c〇ntent EncrypU⑽Key ; CEK),每内容加密密鑰一個。於該安全儲存應用程式實 施例中,於内各加密密鑰内的密鑰值係由快閃記憶體裝置 (例如,快閃記憶體卡)所產生或接收,該密鑰值係僅内部 使用且保持為避開外面世界的秘密。被加密或以密碼編譯 處理之資料係亦可以為雜湊的(hashed)或者密碼編譯係鏈 區塊的,以確保資料完整性。 並非於該分割區内的所有資料係以不同的密鑰予以加密 及相關聯於不同的密鑰1〇。於公開或使用者檔案内或於作 業系統區域(亦即檔案配置表)内之某些邏輯位址係可以不 122365.doc -18- 200821837 相關聯於任何密鑰或密鑰參照,且因而係可供可存取該分 割區本身之任何實體所使用。 一要求建立密鑰及分割區以及寫入及自其讀取資料或使 用該等密鑰之能力的實體係需要透過一存取控制記錄 (ACR)而登入該安全儲存應用程式系統。於該安全儲存應 用程式系統内一存取控制記錄的特殊權限(privilege)係稱 為動作’’(action)。每一存取控制記錄係具有實施下列三種Secure Storage Application entity, with real and individual presence (host side) and logged into the secure storage application and thus utilizing its functionality, what secure storage application system description 122365.doc -15- 200821837 Data security, integrity and access control are the main roles of the secure storage application. The poor material is a tank that is clearly stored on a large number of storage devices. The secure storage application system is located above the storage system and adds a level of security for the host file being stored, and provides security functionality through a security infrastructure, as described below. The primary task of the secure storage application is to manage the different rights associated with the stored (and secure) content in the memory. The memory application needs to manage multiple users and content rights for multiple stored content. The host application from its side sees the drivers and partitions visible to such applications, as well as the file configuration table (FAT) that manages and depicts the location of the files stored on the storage device. In this case, the storage device uses a reverse-flash memory chip that is divided into partitions, although other mobile storage devices may be used and are within the scope of the present invention. These partitions are consecutive logical bit threads, where a start and an end address define their boundaries. Thus, if desired, the restriction can be attached to the access to the hidden partition by software, such as software stored in memory 2, such software associating such restrictions within such boundaries. Address. The secure storage application can fully recognize the partition by the partition logical address boundary managed by the secure storage application. The secure storage application system uses partitions to virtually protect data from unauthorized host applications. For the host, these partitions are a mechanism for defining the exclusive space in which the data files are stored. The partitions may be: disclosed, wherein any one of the access devices may be visible and aware that the partition exists on 122365.doc -16 - 200821837 μ; or private or hidden, wherein Only the application can access and know that it exists on the storage device. Figure 3 is a schematic diagram of a memory which shows the partition of the memory (7) = Ρ 2 and Ρ 3 (obviously, less than or more than 4 partitions can be used), ", 〇 _ public partition" can be Any entity accesses 4 acknowledgments. A private partition (such as P1, Ρ2ΑΡ3) hides the right to be accessed. By preventing the host from accessing the partition, the flash memory device is listed, A flash memory card is a protection for transmitting data files in the partition. However, such protection is engulfed by the restriction of accessing the data stored at the logical addresses in the partition. Residing in the hidden partition = all files. @句说'The restrictions are related to the logical address range. All users/hosts that can access the partition can not access all internal files. $ Separate different files and another - different files or groups of files, the secure storage application system uses a secret and password reference or password to provide another level of security for each file or group of files and Integrity. Used for encryption in no At the same memory address; one of the material-specific secret values or the secret wheel (1) can be analogized to a container ((10)tainer) or a domain (d〇main) containing the encrypted data. In Figure 4, the key references or key IDs (e.g., "keys" and "key 2') are graphically displayed as a secret associated with the use of the keys π. The area of the key-value encrypted file. Referring to Figure 4, for example, the filer can be accessed by all entities without requiring 4, because it is displayed as not being enclosed by any key id. Doc -17· 200821837 enables all entities to read or overwrite the broadcast B in the public partition, but the standard B contains the information encrypted with a key with the ID"key, so the file B is made The information contained in the information cannot be accessed by the entity unless such entity has access to such a key. In this way, using the key value and the secret record 1 ', , or key ID provides only logic. Protection, which is relative to the type of protection provided by the above-mentioned partitions. Therefore, 'accessible one Any host of the cut zone (public: private) can read or write data in the entire partition, including encrypted data 'however' because the data is encrypted, so unauthorized users can only destroy Preferably, it is not arbitrarily arguable. By restricting access to the encryption and/or decryption key, this feature may only allow the authorized entity to use the data. In addition, a key with the key ID"key 2" is used to encrypt the file and C. The data confidentiality and integrity can be provided through symmetric encryption, which uses a content encryption key (c). 〇ntent EncrypU(10)Key ; CEK), one encryption key per content. In the secure storage application embodiment, the key value in each encryption key is generated or received by a flash memory device (for example, a flash memory card), and the key value is used only internally. And keep the secret to avoid the outside world. Data that is encrypted or cryptographically compiled can also be hashed or cryptographically compiled to ensure data integrity. Not all data in the segment is encrypted with a different key and associated with a different key. Certain logical addresses in the public or user profile or in the operating system area (ie, the file configuration table) may be associated with any key or key reference and are therefore associated with 122365.doc -18-200821837 Available to any entity that has access to the partition itself. A real system that requires the creation of keys and partitions and the ability to write and read data from or use the keys requires logging into the secure storage application system via an Access Control Record (ACR). The special privilege of an access control record within the secure storage application system is referred to as the action ''action). Each access control record has the following three implementations

類別的動作之權限··建立分割區及密鑰/密鑰m ;存取分 割區及密鑰;以及建立/更新其他存取控制記錄。 存取控制記錄係被組織成群組,稱為存取控制記錄群組 或AGP。一旦已經成功鑑認一存取控制記錄,則該安全儲 存應用程式開啟-會期(sessiGn),透過該會期,可執行任 何存取㈣記敎㈣。存取控制記錄及存取控制記錄群 組係用於根據原則而控制存取分割區及密鑰之安全性資 結構。 、" 使用者分割區 / 儲存應用程式系統管理一或多個公開分割區,亦 稱為使用者分^此分龍係存在於該儲存 可透過儲存裝置之標準讀取寫人命令予以存取之-咬多= 分割區。獲得關於分割區之大小以及其存在 資訊㈣地無法對於該主機系統隱藏。 的 »亥女王儲存應用程式系統係透過標準讀 安全儲存㈣程式命令而能夠存取分割區。因 地,存取分割區無法被限用於特定存取控制記錄。然^ 122365.doc -19- 200821837 該安全儲#應用帛式系統可使該等主機裝£能夠限制存取 該使用者分割㊣。可個別啟用/停用讀取及寫入存取。允 許所有4種組合(例如,唯讀,唯寫(防寫保護),讀取及寫 入,以及無存取權)。 。亥女王儲存應用程式系統使存取控制記錄能夠使密鑰 相關聯於該使用者分割區内的檔案,且使用相關聯於此類 密鑰ID之密鑰來加密個別檔案。存取該等使用者分割區内 的經加密檔案以及設定對於該等分割區之存取權將使用該 安全儲存應用程式命令集而實行。上述特徵亦應用於未經 組織成檑案之資料。 安全儲存應用程式分割區 有能夠僅透過該安全儲存應用程式命令存取之(避免未 、d ^的當事人之)隱藏分割區。較佳地,該安全儲存應 用私式系統將不允許該主機裝置存取一安全儲存應用程式 刀割區,除了透過一由登入至一存取控制記錄所建置之會 期之外。類似地,較佳地,該安全儲存應用程式將不提供 關於一安全儲存應用程式分割區之存在、大小及存取權限 之資訊,除非此請求係透過一已建置的會期而來。 對於分割區之存取權係自該存取控制記錄權限推導而 來。一旦一存取控制記錄登入至該安全儲存應用程式系 、、先’其可與其他存取控制記錄共用該分割區(敘述如下 文)。當建立一分割區時,該主機提供用於該分割區之一 參照名稱或者ID(例如,圖3及4中之P〇-P3)。在對於該分割 區之進一步的讀取及寫入命令之中使用此參照。 122365.doc -20- 200821837 儲存裝置之分割區 較佳地’該裝置之所有可用儲存容量被配置給使用者分 割區及目前組態的安全儲存應用程式分割區。因此,任何 重新分割操作可牵涉到現有分割區之重新組態。對於該裝 置谷夏的淨改變(所有分割區之大小的總和)將為零。該裳 置記憶體空間内的分割區之ID係由該主機系統所定義。 該主機系統可重新分割現有分割區之一者成為兩個較小 的分割區,或者合併兩個現有分割區(其係可以或可以不 為相w的)成為一分割區。於經分割或經合併分割區内的 為料τ被刪除或者保留不碰觸,其係根據該主機之判斷。 因為該儲存裝置之重新分割可導致資料的遺失(由於資 料被刪除或者使資料在該儲存裝置之邏輯位址空間内移 動),對重新分割之嚴格限制係由該安全儲存應用程式系 統所管理。僅一駐留於一根存取控制記錄群組内的存取控 制纪錄(下文說明)被允許發佈一重新分割命令,且其僅可 參照由其所擁有的分割^。因4該安全儲#應用程式系統 不知道資料係如何於該等分割區中組織(檔案配置表或其 他檔案系統結構),所以每當該裝置被重新分割時,重新 建構這些結構係該主機之責任。 使用者分割區之重新分割將改變主作業系統所觀看之此 分割區的大小及其他屬性。 在分割之後,確保該安全儲存應用程式系統内任何存取 控制記錄係不正在I照非現有分割區係該主㈣統的責 任。假如未適當地刪除或更新這些存取控制記錄,則未來 122365.doc -21 - 200821837 企圖代表這些存取控制記錄存取 統偵測到及拒絕。關於被 :…將被該系 考量。 示的在鑰及畨鑰iD採胡類似的 密鑰、密鑰ID及邏輯保護 ^ 描案被寫入至草一隱歲八Φϊ + 妹 L、減刀割區時,其係對於公眾為 f思臧。然而’ 一曰^一營雜γ 士也止 一 、'^有敵思的或者無敵意的)獲得對 该/刀割區之知識及存取,則 幻及祸案係變成可用且易於瞭 解。為了進一步使該檔案安 —☆ 示文王邊女全儲存應用程式可加 雄彡亥fc滅分割區内的播荦 直Φ . 保茶其中,用於存取解密該檔案之 密鑰之認證較佳地不同於用於存取該分割區的認證。由於 事實上權案係完全由該主機所控制及管理,使一内容加密 密鑰相關聯於-檔案係一問題。連結該檔案與該安全健存 應用程式認知的某物件(該密鑰ID)修正此問題。因此,當 由該安全儲存應用程式建立—密鑰時,該主機係使用由= 安全儲存應用程式所建立之該密鑰’使用於該密鑰之該密 鑰ID相關聯於經加密之資料。假如該密鑰連同密鑰1〇 一起 被傳送至該安全儲存應用程式,則該密鍮及密鑰ID可輕易 地彼此相關聯。 该岔錄值及該密鍮ID提供邏輯安全性。相關聯於一給定 密鑰ID之所有資料(不論其之位置為何)係以該内容加密密 餘(CEK)内相同的密鑰值予以編密(cipher),該内容加密密 鑰之參照名稱或密鑰ID係由主機應用程式在建立時獨一地 提供。假如一實體(藉由透過一存取控制記錄進行鑑認)獲 得對一隱藏分割區之存取,且想要讀取或寫入該分割區内 122365.doc -22- 200821837 的-經加密樓案,則其係需要可存取與該檔案相關聯之密 鑰ID。當授予用於該密鑰⑴之密鑰之存取時,該安全儲: 應用程式載人相關聯於此密⑽之内容加密密鑰^密= 值’且在將資料傳送至該主機之前解密該資料,或在將資 料寫入至該快閃記憶體2〇之前加密該資料。 貝丁卞於一項實施例 中,相關聯於一密鑰ID之内容加密密鑰内的一密鑰值係由 該安全儲存應用程式系統隨機建立一次且由其維護。在該Permissions for actions of the category • Establish partitions and keys/keys m; access partitions and keys; and create/update other access control records. Access control records are organized into groups called access control record groups or AGPs. Once an access control record has been successfully authenticated, the secure storage application is opened-scheduled (sessiGn), through which any access (4) can be performed (4). The access control record and the access control record group are used to control the security structure of the access partition and the key according to the principle. , " User partition/storage application system manages one or more public partitions, also known as user splits. This split is stored in the storage via the standard read writer command of the storage device. - bite more = partition. Obtaining information about the size of the partition and its presence (4) cannot be hidden from the host system. The Queen's Storage Application System is able to access partitions via standard read secure storage (4) program commands. Because of this, access to partitions cannot be restricted to specific access control records.然^122365.doc -19- 200821837 The secure storage #application-style system allows these hosts to be able to restrict access to the user. Read and write accesses can be enabled/disabled individually. All four combinations are allowed (for example, read only, write only (anti-write protection), read and write, and no access). . The Queen's Storage Application System enables access control records to associate keys with files within the user partition and encrypt individual files using keys associated with such key IDs. Accessing the encrypted files within the user partitions and setting access rights to the partitions will be performed using the secure storage application command set. The above features are also applied to information that has not been organized into a case. Safely store application partitions There are hidden partitions that can be accessed only through the secure storage application commands (avoiding parties that are not, d ^). Preferably, the secure storage application private system will not allow the host device to access a secure storage application blade, except through a session established by logging into an access control record. Similarly, preferably, the secure storage application will not provide information about the existence, size and access rights of a securely stored application partition unless the request is made through an established session. Access to the partition is derived from the access control record authority. Once an access control record is logged into the secure storage application, the partition can be shared with other access control records (described below). When a partition is created, the host provides a reference name or ID for the partition (e.g., P〇-P3 in Figures 3 and 4). This reference is used among further read and write commands for the partition. 122365.doc -20- 200821837 Partitioning of storage devices Preferably, all available storage capacity of the device is configured for the user partitioning area and the currently configured secure storage application partition. Therefore, any re-segmentation operation can involve reconfiguration of existing partitions. The net change for the device (the sum of the sizes of all partitions) will be zero. The ID of the partition in the memory space is defined by the host system. The host system may re-segment one of the existing partitions into two smaller partitions, or merge two existing partitions (which may or may not be phase w) into a partition. The material τ in the divided or merged partition is deleted or left untouched, according to the judgment of the host. Since the re-segmentation of the storage device can result in the loss of data (because the data is deleted or the data is moved within the logical address space of the storage device), the strict restriction on re-segmentation is managed by the secure storage application system. Only one access control record (described below) residing within an access control record group is allowed to issue a re-segmentation command, and it can only refer to the segmentation ^ owned by it. Since the application system does not know how the data is organized in the partitions (file configuration table or other file system structure), each time the device is re-segmented, the structures are re-constructed. responsibility. The re-segmentation of the user partition will change the size and other attributes of the partition viewed by the primary operating system. After splitting, ensure that any access control records within the secure storage application system are not responsible for the primary partition. If these access control records are not properly deleted or updated, the future will be detected and rejected on behalf of these access control records. About being: ... will be considered by the department. The key, key ID and logical protection ^ similar to the key and key iD are written to the grass, and the public is f for the public. Thinking about it. However, the illusion and the murder of the knives and the knives are made available and easy to understand. In order to further make the file An-☆ Illustrated Wangbian women's full storage application program can be added to the f 彡 f f f f f f f f . . . . 保 保 保 保 保 保 保 保 保 保 保 保 保 保 保 保 保 保 保Different from the authentication used to access the partition. Since the fact that the rights are completely controlled and managed by the host, a content encryption key is associated with the file system. Attaching the file to an object (the key ID) recognized by the secure application fixes the problem. Thus, when a key is established by the secure storage application, the host associates the encrypted key ID with the key used by the secure storage application with the encrypted key. If the key is transmitted to the secure storage application along with the key 1 , the key and key ID can be easily associated with each other. The record value and the password ID provide logical security. All data associated with a given key ID (regardless of its location) is ciphered by the same key value in the content encryption secret (CEK), the reference name of the content encryption key Or the key ID is uniquely provided by the host application at the time of creation. If an entity (by means of an access control record for authentication) obtains access to a hidden partition and wants to read or write to the encrypted area of the partition 122365.doc -22-200821837 In case, it is necessary to have access to the key ID associated with the file. When the access to the key for the key (1) is granted, the secure store: the application manned is associated with the secret encryption key of the secret (10) and is decrypted before the data is transferred to the host. The material is encrypted or encrypted before it is written to the flash memory. In an embodiment, a key value within a content encryption key associated with a key ID is randomly established and maintained by the secure storage application system. In the

安全儲存應用程式系統外的任一實體皆不知道或不可存= 内容加密密鑰内之該密鑰值。外面的世界僅提供及使用一 參照或密鑰ID,而非内容加密密鑰内的密鑰值。該密鑰值 係文到徹底官理,且較佳地僅可由該安全儲存應用程式存 取。或者,該密鑰可被提供給該安全儲存應用程式系統, 該安全儲存應用程式系統使用任一(使用者定義的)下列 編密模式(所使用之真正的密碼編譯演算法以及内容加密 密鑰内的密鑰值係系統控制的,且係不透露給外面世 界): 區塊模式_資料被分割成為區塊,該等區塊的每一者被 個別加密。此模式一般被認為較不安全且易受字典攻擊。 然而,其將允許使用者隨機存取任一資料區塊。 鏈模式-資料被分割成為區塊,其係於加密程序期間被 鏈鎖(chain)。每一區塊係被使用作為至下一加密程序之輸 入之一。於此模式中,雖然被認為較安全,然而資料係自 開始至結束予以循序寫入及讀取,建立一可能不被使用者 接受的過度耗用(overhead)。 122365.doc -23- 200821837 雜湊的-具有額外建立一咨 漫立貝科摘要之鏈模式,該資料摘 要可被用於確認資科完整性。 存取控制記錄及存取控制 /安王儲存應用私式係設計成處置多個應用程式,其 中等應用程式之每—者於該系統資料庫内被表示為一 具有節點的樹。介於該等應用程式之間之相互排斥係藉由 確保該等樹的分支之間無串擾而達成。Any entity outside the secure storage application system is unaware or not available = the key value in the content encryption key. The outside world only provides and uses a reference or key ID, not the key value within the content encryption key. The key value is fully documented and preferably only accessible by the secure storage application. Alternatively, the key can be provided to the secure storage application system using any (user-defined) of the following secret mode (the actual cryptographic compilation algorithm used and the content encryption key) The key value within the system is controlled by the system and is not disclosed to the outside world.): The block mode_data is divided into blocks, each of which is individually encrypted. This mode is generally considered to be less secure and vulnerable to dictionary attacks. However, it will allow the user to randomly access any of the data blocks. Chain mode - The data is split into chunks that are chained during the encryption process. Each block is used as one of the inputs to the next encryption program. In this mode, although considered safer, the data is written and read sequentially from start to finish, creating an over-capacity that may not be accepted by the user. 122365.doc -23- 200821837 Hash-of-the-chain model with additional collaterals, which can be used to confirm the integrity of the subject. Access Control Recording and Access Control / The Anson Storage Application Private System is designed to handle multiple applications, each of which is represented as a tree with nodes in the system repository. Mutual exclusion between such applications is achieved by ensuring that there is no crosstalk between the branches of the trees.

為了獲仵存取該安全儲存應用程式系統,一實體需要透 過忒系統之存取控制記錄之一者來建置連接。由該安全儲 存應用統根據㈣於該使用者選擇待連接之存取控 制$錄内的定義來管理登入程序。 ^存取控制記錄係—對於該安全儲存應用程式系統之個 別登入點。該存取控制記錄係保有登入認證及鑑認方法。 亦駐邊n己錄内的係該安全儲存應用程式系統内的登入 權斤於其m買取及寫人特殊權限。此係顯示於圖5, /、久,、、、員示相同存取控制記錄群組中的η個存取控制記錄。 此係^明忒η個存取控制記錄中至少一些者可共用對相同 山鑰之存取。因此,存取控制記錄#丨及存取控制記錄如共 用對具有密鑰ID”密鑰3”之密鑰之存取,其中,存取控制 。己錄# 1及存取控制記錄如係存取控制記錄ID,且,,密鑰3,, 係用於加被相關聯於"密鑰3,,之資料的密鑰之密鑰ID。亦 可使用相同的密鑰來加密及/或解密多個檔案,或者多組 資料。 該安全儲存應用程式系統支援數種登入該系統的類型, 122365.doc -24- 200821837 其中’鑑認演算法及使用者認證係可以改變,因為一旦使 用者成功登入,該系統内的使用者特殊權限可改變。圖5 係再次顯示不同的登入演算法及認證。存取控制記錄#1指 疋在碼登入演算法及密碼為認證,而存取控制記錄#2指 疋一公開密鑰基礎結構(PKI)登入演算法及公開密鑰為認 證。因此,為了登入,一實體將需要提交一有效的存取控 制記錄ID以及正確的登入演算法及認證。 旦一實體登入至該安全儲存應用程式系統之一存取控 制忑錄則在相關聯於該存取控制記錄的權限控制記錄 (%R)中定義其權限(其使用安全儲存應用程式命令之權 利)。於圖5中,根據所顯示之權限控制記錄,存取控制記 錄W授予對相關聯於”密鑰3”之資料的唯讀權限,且存取 控制記錄#2授予對相關聯於”密鑰5,,之資料的讀取及寫入 權限。 不同的存取控制記錄可共用該系統内共同的利益及特殊 權限’諸如藉以讀取及寫入之密鑰。為了達成此目的,共 同具有某些事物之存取控制記錄被分組於存取控制記錄群 組(ACR群組)中。因此,存取㈣記⑽及存取控制記錄 如共用對一具有密鑰ID"密鑰3"之密鑰之存取。 存取控制記錄群組及其内之存取㈣記錄係以樹狀階層 架構予以組織,且因此,除了建立保持敏感資料安全之安 全密鑰之外’-存取控制記錄較佳地係亦可夠建立對應於 其密鑰⑴/分割區之其他存取控制記錄實體。這些存取控 制記錄子代將具有與其之父代(建立者)相同的或較少的權 122365.doc -25- 200821837 限,且可被給予父代建立之任何密鑰的權限。不需要增 加,该等子代獲得對於其建立之任何密鑰的存取權限。此 係顯示於圖6。因此,存取控制記錄群組12〇内所有存取控 制記錄係由存取控制記錄122所建立,且此類存取控制記 錄中之兩者係繼承自存取控制記錄122之對存取相關聯於 π密鑰3”之資料之權限。 存取控制記錄群組 登入至該安全儲存應用程式系統係藉由指定一存取控制 u己錄群、、且及^亥存取控制§己錄群組内的一存取控制記錄而實 行。 每一存取控制記錄群組具有一獨一 m(參照名稱),其係 使用作為一索引,以指向在安全儲存應用程式資料庫中的 其項目° t建立該存取控制記錄群組時,該存取控制記錄 群組名稱被提供給該安全儲存應用程式系統。假如所提供 之存取控制記錄群組名稱係已經存在該系統内,則該安全 儲存應用程式將拒絕該建立操作。 存取控制記錄群組係用於管理對存取權限及管理權限之 委派的限制同將於下文中敘述。圖6内兩個樹所提供 之功能之一係管理完全分開實體(諸如兩個不同的應用程 式,或者兩個不同的電腦使用者)之存取。為此目的,對 於兩個存取程序實質上彼此獨立(亦即,實質上無串擾)係 了能重要的,即使兩者皆同時發生亦如此。此係意謂每一 樹内額外存取控制記錄及存取控制記錄群組的鐘認、權限 以及建立未連接至其他樹並且非相依於其他樹。因此,當 122365.doc -26- 200821837 於冗憶體ίο中使用該安全儲存應用程式 死寻,允許該記 憶體糸統10同時伺服複數個應用程式。 ^ ;j兄汗兩個應用程 式彼此獨立地存取兩組分開的資料(例如,一組相片及一 有刪除該存取控制記錄群組的權限。 組歌曲)。此係顯示於圖6。因此,應用程式或使用者正在 透過圖6之上方部分的樹内之節點(存取控制記錄)存取之相 關聯於"密鑰3”、"密鑰X”及”密鑰2"之資料可包含相片。 應用程式或使用者正在透過圖6之下方部分的樹内之節點 (存取控制記錄)存取之相關聯於"密鑰5 "及"密鍮γ"之資料 可包含歌曲。建立該存取控制記錄群組之存取控制記錄僅 限於當該存取控制記錄群組係無存取控制記錄項目時才具 實體之安全儲存應用程式進入點(entry p〇int):存取控制 記錄(ACR) 於該安全儲存應用程式系統内的一存取控制記錄敘述該 實體被允許登入該系統之方式。當一實體登入該安全儲存 應用程式系統時,其係需要指定對應於其將執行之鑑認程 序的存取控制記錄。一存取控制記錄包含一權限控制記錄 (PCR) ’其係顯示使用者一旦如示於圖$之存取控制記錄中 定義經鑑認後,該使用者可執行的經授予之動作。該主機 端的實體提供所有存取控制記錄資料欄位。In order to gain access to the secure storage application system, an entity needs to establish a connection through one of the access control records of the system. The secure storage application manages the login procedure based on (4) the definition of the access control record to be connected to the user. ^ Access Control Recording System - a separate login point for this secure storage application system. The access control record retains login authentication and authentication methods. Also in the registered area, the login right in the secure storage application system is used to buy and write special permissions. This is shown in Figure 5, /, long,,,, and the n access control records in the same access control record group. At least some of the access control records may share access to the same mountain key. Therefore, the access control record #丨 and the access control record, for example, share access to the key having the key ID "key 3", in which access control. The record #1 and the access control record, if the access control record ID, and the key 3, are used to add the key ID of the key associated with the data of the "key 3,". The same key can also be used to encrypt and/or decrypt multiple files, or multiple sets of data. The secure storage application system supports several types of logins to the system, 122365.doc -24- 200821837 where the 'authentication algorithm and user authentication system can be changed, because once the user successfully logs in, the user within the system is special. Permissions can be changed. Figure 5 shows the different login algorithms and authentication again. Access Control Record #1 refers to the code entry algorithm and password for authentication, while Access Control Record #2 refers to a public key infrastructure (PKI) login algorithm and public key for authentication. Therefore, in order to log in, an entity will need to submit a valid access control record ID along with the correct login algorithm and authentication. Once an entity logs into one of the secure storage application systems, the access control record defines its permissions in the access control record (%R) associated with the access control record (its right to use the secure storage application command) ). In FIG. 5, the access control record grants read-only access to the material associated with "key 3" based on the displayed rights control record, and access control record #2 grants the pair associated with the "key" 5,, the read and write permissions of the data. Different access control records can share the common interests and special permissions in the system 'such as the key to read and write. In order to achieve this, there is a common The access control records of these things are grouped in the access control record group (ACR group). Therefore, the access (4) record (10) and the access control record such as the shared pair have the key ID "key 3" Key access. The access control record group and its accesses (4) records are organized in a tree hierarchy, and therefore, in addition to establishing a security key to maintain sensitive data security, the '-access control record is The preferred system may also establish other access control record entities corresponding to its key (1)/partition. These access control record children will have the same or less rights as their parent (founder) 122365. Doc -25- 200821837 Limit And can be given the authority of any key established by the parent. Without the addition, the children get access to any keys they establish. This is shown in Figure 6. Therefore, the access control record group All access control records within 12 pages are established by access control record 122, and both of such access control records are associated with access to the access control record 122 associated with the π key 3" Permissions for data. The access control record group is logged into the secure storage application system by specifying an access control group, and an access control record in the group. Each access control record group has a unique m (reference name) that is used as an index to point to the set of access control record groups in the secure storage application database. The access control record group name is provided to the secure storage application system. If the provided access control record group name is already present in the system, the secure storage application will reject the setup operation. The Access Control Record Group is used to manage the restrictions on delegation of access rights and administrative rights as will be described below. One of the functions provided by the two trees in Figure 6 is the access to manage completely separate entities (such as two different applications, or two different computer users). For this purpose, it is important that the two access procedures are substantially independent of each other (i.e., substantially free of crosstalk), even if both occur simultaneously. This means that the access, permissions, and establishment of additional access control records and access control record groups in each tree are not connected to other trees and are not dependent on other trees. Therefore, when the secure storage application is used for dead search in 122655.doc -26-200821837, the memory system 10 is allowed to simultaneously serve a plurality of applications. ^ ; j brothers and sweats two applications independently access two separate sets of data (for example, a set of photos and a permission to delete the access control record group. Group songs). This is shown in Figure 6. Therefore, the application or user is accessing the "key 3""keyX" and "key 2" through the nodes (access control records) in the tree in the upper part of Figure 6 The data may include a photo. The application or user is accessing the node (access control record) in the tree in the lower part of Figure 6 and associated with "key 5 " &"cryptogamma" The data may include songs. The access control record establishing the access control record group is limited to the entity's secure storage application entry point when the access control record group has no access control record entry (entry p〇int ): Access Control Record (ACR) An access control record in the secure storage application system describes the manner in which the entity is allowed to log into the system. When an entity logs into the secure storage application system, it needs to specify Corresponding to the access control record of the authentication program that it will execute. An access control record contains a rights control record (PCR) 'which indicates that the user once determined in the access control record as shown in FIG. After authenticate, the user can perform through the grant of action. The host side entity provides access control records all data fields.

當一實體係成功地登入至一存取控制記錄時,該實體將 能夠查詢所有存取控制記錄之分割區及密鑰存取權限以及 存取控制記錄屬性管理(Acam)權限(下文予以敘述)。 存取控制記錄ID 122365.doc -27- 200821837 當一安全儲存應用程式系統實體起始登入程序時,其係 需要指定對應於該登人方法的存取控制記錄m(如同當建 立δ亥存取控制記錄係被時由該主機予以提供),使得當已 '二符σ所有登人需求時’該安全儲存應用程式將設定正確 的演算法及選擇正確的權限控制記錄。當建立該存取控制 記錄時,該存取控制記錄ID被提供給該安全儲存應用程 系統。 〜壬工 登入/鑑認演算法 該鑑認演算法指定何種登入程序將被該實體所使用,及 何種認證係需要,以提供使用者身份的證明。該安全儲存 應用程式系統支援數種標準的登人演算法,範圍為自無程 序(及無認證)及以密碼為基礎的程序至一根據對稱或非對 稱密碼編譯之雙向鑑認協定。 認證 該實體之認證係對應於該登入演算法,且係由該安全儲 存應用程式所使用以驗證及鑑認該使用者。一用於認證之 範例可以係一用於密碼鑑認之密碼/個人識別碼數字,用 於登入演算法驗證之登入演算法密鍮,等等。該等認證 (亦即,個人識別碼,對稱密鑰等等)之類型/格式係預先定 義的,且係自該鑑認模式中推導出;當建立該存取控制記 錄時,該等認證被提供給該安全儲存應用程式系統。該安 全儲存應用程式系統對於定義、散佈及管理這些認證沒有 貝任,惟以公開密鑰基礎結構為基礎的鑑認例外,其中, 122365.doc -28- 200821837 可使用該裝置(例如快閃記憶體卡)來建立該RSA或其他類 型密錄對’並且公開密鑰可龍出,以用於認證建立。 權限控制記錄(PCR) 權限控制記錄顯示在登人該安全儲存應用程式系統之後 授予"亥Λ體之事項’及成功地傳送該存取控制記錄之鐘認 程序。有三種類型權限類別:分割區及密鑰之建立權^ 分割區及密鑰之存取權限;及實體存取控制記錄屬 理權限。 3 存取分割區 此段落的權限控制記錄含有該實體於成功地完成該存取 控制記錄階段時可存取之分割區的清單(使用提供給該安 全儲存應用程式系統之其ID)。對於每一分割區,存 型被被限定為唯寫或唯讀或者可以指定完全的寫入/讀取 =利。因此’圖5中之該存取控制記錄#1可存取分割區^ ^且不可存取分割區#1。指定於該權限控制記錄内的限制 用^該等安全儲存應用程式分割區及公開分割區。 可藉由至裝載該安全儲存應用程式系統之裝置(例如, h、閃S己憶體卡)之正規讀取乃宜When a real system successfully logs into an access control record, the entity will be able to query the partition and key access rights of all access control records and access control record attribute management (Acam) permissions (described below). . Access Control Record ID 122365.doc -27- 200821837 When a secure storage application system entity initiates a login procedure, it is required to specify an access control record m corresponding to the login method (as when establishing a metric access) The control record is provided by the host when it is received so that the secure storage application will set the correct algorithm and select the correct permission control record when it has been 'different to σ. When the access control record is established, the access control record ID is provided to the secure storage application system. ~ Completion Login/Authorization Algorithm This authentication algorithm specifies which login program will be used by the entity, and which authentication system is required to provide proof of the user's identity. The secure storage application system supports several standard drop-in algorithms ranging from no-program (and no authentication) and password-based programs to a two-way authentication protocol based on symmetric or asymmetric cryptography. Authentication The authentication of the entity corresponds to the login algorithm and is used by the secure storage application to verify and authenticate the user. An example for authentication can be a password/personal identification number for password authentication, a login algorithm for login algorithm verification, and the like. The type/format of such authentication (ie, personal identification number, symmetric key, etc.) is predefined and derived from the authentication mode; when the access control record is established, the authentication is Provided to the secure storage application system. The secure storage application system has no exceptions for defining, distributing, and managing these authentications, except for public key infrastructure-based authentication exceptions, where the device can be used (eg, flash memory). The physical card) is used to establish the RSA or other type of cryptographic pair 'and the public key can be used for authentication establishment. The Rights Control Record (PCR) privilege control record shows the acknowledgment of the "Holding matter" and the successful transmission of the access control record after logging in to the Secure Storage Application System. There are three types of permission categories: partition and key establishment rights ^ partition and key access rights; and entity access control record authority. 3 Access Partition The permission control record for this paragraph contains a list of partitions that the entity can access when successfully completing the access control record phase (using the ID provided to the secure storage application system). For each partition, the store is defined as write-only or read-only or can specify full write/read = profit. Therefore, the access control record #1 in Fig. 5 can access the partition area ^^ and the access area #1 is not accessible. Restrictions specified in this privilege control record Use these to securely store application partitions and public partitions. Formal reading by means of a device (eg, h, flash memory card) loaded with the secure storage application system

F , 見嗔取及寫入命令來存取該公開分宝丨J 或者藉由安全儲存庫 * _ ^ 4命令來存取該公開分割 时。§ 一根存取控制記錄 制#、 、^又于以逸明)被建立成具有限 I亥公開分割區之權限時,豆 有限 T ,、了傳运權限至其子代。較佳 ,—存取控制記錄僅可限$丨 公開八_ 上 限制正規項取及寫入命令存取該 巧刀口丨J區。較佳地,於古歹 入 、以女王儲存應用程式系統内的存 控制㈣係僅只有當其建立時,能夠被限制。—旦 122365.doc -29- 200821837 取控制記錄具有讀取/寫入該公開分割區之權限時,較佳 地,無法去除其權限。 土F. See the capture and write commands to access the public splitter J or access the public split by the secure repository * _ ^ 4 command. § When an access control record system #, , and ^ are established to have the authority to limit the open area of Yihai, the bean is limited to T, and the transport authority is to its descendants. Preferably, the access control record can only be limited to $丨. The public eight_ upper limit normal entry and write command access to the J-zone. Preferably, the memory control (4) stored in the application system of the Queen is only limited when it is established. Once the control record has the right to read/write the public partition, it is preferable that its permission cannot be removed. earth

存取密鑰ID 此段落的權限控制記錄含有當該實體登入程序符合存取 控制記錄原料該實體可存取的密鑰ID之清單所相_的 資料。所指定之密鑰⑴係相關聯於一駐留於出現於該權限 控制記錄中之分割區内的一或多個檔案。因為該等密細 係不相關聯於該裝置(例如,快閃記憶體卡)内的邏輯位 址’所以當-個以上的分割區係相關聯於一特定存取控制 記錄時,該等擋案可位於該等分割區之任一者中。於該權 限控制記錄内指定之密鑰10可各具有一組不同存取 對密鑰m所指向之資料的存取可被限制成唯寫或唯讀,或 者可以指定完全的寫入/讀取權利。 存取控制記錄屬性管理(ACAM) 本段落敘述於某些情況下,如何可改變該存取控制記錄 系統之屬性。 於該安全儲存應用程式系統中可准許之存取控制記錄屬 性管理動作係·· 建立/刪除/更新存取控制記錄群組及存取控制記錄。 2·建立/刪除分割區及密鑰。 3 ·委派存取權給密鑰及分割區。 〃乂代存取控制記錄較佳地無法編輯存取控制記錄屬性 ㈣權限。較佳地’此需要該存取控制記錄之刪除及重新 建立。再者,較佳地,料由該存取控制記錄所建立之一 122365.doc -30- 200821837 密输ID的存取權限無法被去除。 一存取控制記錄係可以具有建立其他存取控制記錄及存 ^:記錄群組的容量。建立存取控制記錄亦可以意謂委 :由:建立者所持有的一些或全部存取控制記錄屬性管理 、、、口彼等存取控制記錄。旦有建 邮 ,、百建立存取控制記錄之權限係意 明具有下列動作的權限: \定義及編輯子代的認證較佳地,—旦被該建立存取 /Access Key ID The access control record for this paragraph contains information about the list of key IDs that the entity's login program can access for access to the entity. The designated key (1) is associated with one or more files residing in the partitioning area present in the rights control record. Because the secrets are not associated with a logical address within the device (eg, a flash memory card), so when more than one partition is associated with a particular access control record, the blocks The case may be located in any of the partitions. The keys 10 specified in the rights control record may each have a different set of accesses. Access to the material pointed to by the key m may be restricted to write-only or read-only, or a full write/read may be specified. right. Access Control Record Attribute Management (ACAM) This paragraph describes how to change the attributes of the access control record system in some cases. The access control record attribute management action system permitted in the secure storage application system is to create/delete/update access control record groups and access control records. 2. Create/delete partitions and keys. 3 · Delegate access to keys and partitions. It is better to edit the access control record attributes (4) permissions. Preferably, this requires deletion and re-establishment of the access control record. Moreover, preferably, access rights of one of the access control records established by the access control record cannot be removed. An access control record may have the capacity to create other access control records and to store the record group. The establishment of an access control record may also mean a committee: by: some or all of the access control record attribute management, and other access control records held by the creator. Once there is a postal code, the permission to establish an access control record is intended to have the following actions: \Defining and editing the authentication of the child is better, and the access is established.

、制。己錄所叹疋,該鑑認方法無法被編輯。該等認證係可 、〈已、、工定義用於子代的鑑認演算法之邊界内被改變。 2·刪除一存取控制記錄。 3—委派建立權限給子代存取控制記錄(因而具有孫代)。 有建立其他存取控制記錄權限之存取控制記錄係具 有委派解除封鎖(unblGek)權限給其建立之存取控制記錄的 權限(雖然其係可能不具有解除封鎖存取控制記錄之權 限)忒又代將於該子代存取控制記錄中置放一指向其解 除封鎖者之參照。 ^忒父代存取控制記錄係具有删除其子代存取控制記錄的 權限之唯一存取控制記錄。當一存取控制記錄刪除其建立 …較低層級存取控制記錄時,由該較低層級存取控制記 、'彔斤繁衍的所有存取控制記錄係亦自動被刪除。當一存取 控制記錄被刪除,則其建立之所有密鑰⑴及分割區被 除。 存取控制記錄可更新其自己的記錄係具有兩項例外: 1 ·始、碼/個人識別碼’雖然密碼/個人識別碼係由該建立 122365.doc 200821837 2取控制記錄所設定,僅由包含密碼/個人識別碼之存取 控制記錄可更新該密碼/個人識別碼。 2·根存取控制記錄係可以刪除自己及其駐留的存取 控制記錄群組。 委派存取權利給密鑰及分割區 $取控制記錄及其之存取控制記錄群組被組合於樹狀階 /構之中,其中,该根存取控制記錄群組及其内之該等 , 存取控制記錄係於該樹的上方(例如圖6中之根存取控制記 錄群組130及132)。於該安全儲存應用程式系統中可具有 數個存取控制記錄群組,雖然該等存取控制記錄群組係彼 此π王分離。於一存取控制記錄群組内的一存取控制記錄 可委派對於其之密鑰的存取權限給其所在的相同存取控制 記錄群組内的所有存取控制記錄,且委派給所有由其建立 之存取控制記錄。較佳地,建立密鑰之權限包含委派使用 該等密錄之存取權限之權限。 對於密鑰之權限係分為三種類別: 1 ·存取-此係定義對於該密鑰之存取權限,亦即,讀 取,寫入。 貝 2·擁有權-依據定義,一建立一密鑰之存取控制記錄係 其擁有者。此擁有權可自一存取控制記錄委派給另一存取 控制記錄(前提係彼等存取控制記錄係在相同的存取控制 記錄群組中或在一子代存取控制記錄群組中)。一密輪之 一擁有權提供將其刪除以及委派權限給它之權限。 3·存取權委派-此權限使該存取控制記錄能夠委派其所 122365.doc -32- 200821837 保有的權利。 一存取控制記錄可委派對其建立之分割區以及其且有存 取權限之其他分割區的存取權限。 權限委派係藉由將該等分割區之名稱及密鑰⑴加入至指 定的存取控制記錄的權限控制記錄之中而實行。委派密输 存取權限係可以藉由該密鑰m .者 、 A考猎由敘述存取權限係用 於委派存取控制記錄之所有建立的密鑰而實行。,system. I have recorded and sighed that the method of identification cannot be edited. These certifications can be changed within the boundaries of the authentication algorithm that can be used for the child. 2. Delete an access control record. 3—Delegation establishes permissions to child access control records (and thus grandchildren). An access control record having permission to create other access control records has the authority to delegate unblocked (unblGek) permissions to the access control record it establishes (although it may not have the authority to unblock access control records) The generation will place a reference to the unblocked person in the child access control record. ^ The parent access control record has a unique access control record that deletes the permissions of its child access control records. When an access control record deletes its ... lower level access control record, all access control records that are logged by the lower level access control record are automatically deleted. When an access control record is deleted, all keys (1) and partitions it establishes are removed. The access control record can update its own record system with two exceptions: 1 · start, code / PIN 'Although the password / PIN is set by the control record set by the establishment of the control record, only included The password/personal identification code access control record can update the password/personal identification number. 2. The root access control record can delete itself and its group of access control records. Delegate access rights to keys and partitions. The control records and their access control record groups are combined into a tree hierarchy, wherein the root access control record group and the same therein The access control record is above the tree (e.g., root access control record groups 130 and 132 in Figure 6). There may be several access control record groups in the secure storage application system, although the access control record groups are separated from each other. An access control record within an access control record group can delegate access rights to its keys to all access control records within the same access control record group in which it resides, and delegate to all access control records Its established access control record. Preferably, the authority to establish a key includes the authority to delegate access rights to the secret record. The rights to the key are divided into three categories: 1 - Access - This defines the access rights to the key, that is, read and write. B2 2. Ownership - By definition, an access control record that establishes a key is its owner. This ownership may be delegated from one access control record to another access control record (provided that their access control records are in the same access control record group or in a child access control record group) ). One of the keys to a private offer provides the right to delete it and delegate permissions to it. 3. Access Rights Delegation - This privilege enables the access control record to delegate its rights to 122365.doc -32- 200821837. An access control record can delegate access to the partitions it establishes and other partitions that have access rights. The delegation of authority is carried out by adding the names and keys (1) of the divisions to the authority control record of the specified access control record. Delegate access rights can be enforced by the key m, A, and the narration access rights are used to delegate all established keys to the access control record.

存取控制記錄之封鎖及解除封鎖 一存取控制記錄可具有—封鎖計數器,當該實體對於該 系統之存取㈣記錄㈣㈣係^功時累加㈣鎖計數 器。當達到某—最大數量之不成功鑑認時,該安全儲存應 用私式系統將封鎖該存取控制記錄。 該被封鎖存取控制記錄可被另一存取控制記錄解除封 鎖,該另-存取控制記錄係被該被封鎖存取控制記錄所參 照。對於該解除封鎖存取控制記錄之參照係被其之建立者 予以設定。較佳地,該解除封鎖存取控制記錄係於位於盘 該被封鎖存取㈣記錄之建立者㈣的存取控制記錄群組 中,且具有”解除封鎖,,權限。 該系統内的任何其他存取控制記錄皆無法解除封鎖該被 封鎖存取控制記錄…存取控制記錄可被組態成具有—封 鎖計數器’但是無一解除封鎖者存取控制記錄。於此情況 下,假如此存取控制記錄被封鎖,則其無法被解除封鎖。 根存取控制記錄群組-建立一應用程式資料庫、。 該安全儲存應用程式系統係設計成處置多個應用程式, 122365.doc -33 - 200821837 並且隔離該多個應用程式之每一者的資料。該存取控^己 =群組系統之該樹結構係用於識別及隔離應用程式特定^ 貝料的主要工具。e亥根存取控制記錄群組係於—應用程式 安全儲存應絲式資料庫樹之頂端,且遵守某些不同的行 為規則。可於該安全儲存應用程式系統中組態若干根存取 &制》己錄群組。於圖6中顯示兩個根存取控制記錄群組I% / 及132。顯然地,可使用較多或較少個存取控制記錄群 組,且係屬於本發明之範疇内。 登錄用於一新的應用程式之裝置(例如,快閃記憶體卡) 或毛佈肖於,亥裝置之新的應用程式之認證係透過將 新的存取控制記錄群組/存取控制記錄樹加人至該裝置的 程序而實行。 該安全儲存剌程式系統支援三㈣㈣式的根存取控 制記錄群組建立(以及該根存取㈣記料組之所有存取 控制記錄及其權限): •開放式·不需要任何種類的鑑認之任何使用者或實 體:或透過該系統存取控制記錄鑑認之使用者/實體(下文 2敘述)’可建立_新的根存取控制記錄群組。該開放 ^核式貝現在無任何安全性措施之下進行根存取控制記錄 之建立同時所有資料傳送係於一開放式通道上(亦 即,於一發佈代輝 有(issuance agency)之安全環境下)或者 、、屋·由一透過讀备& — 糸統存取控制記錄鑑認所建置之安全通道 (亦即’透過空氣(〇TA)及後置發佈程序)而實行。 假如忒系統存取控制記錄未經組態(此係一選用特徵), 122365.doc -34- 200821837 且該根存取㈣記錄群組建立模式係設定成 僅該開放式通道選項係可用。 開放式 則 广制的:僅透過該系統存取控制記錄鏗認之實體 =立—新的根存取控制記錄群組。假如系統存取控制記 =經組態,則該安全儲存應用程式⑽無法被設定為此 挺式。Blocking and Unblocking of Access Control Records An access control record may have a lockout counter that accumulates (four) lock counters when the entity accesses (4) records (4) and (4) the system. The secure storage application private system will block the access control record when a certain maximum number of unsuccessful authentications is reached. The blocked access control record can be unblocked by another access control record, which is referenced by the blocked access control record. The reference to the unblocked access control record is set by its creator. Preferably, the unblocking access control record is in an access control record group located in the creator (4) of the blocked access (4) record, and has "unblocking, privilege. Any other within the system. The access control record cannot unblock the blocked access control record... The access control record can be configured to have a -blocking counter' but no unblocker access control record. In this case, false access The control record is blocked, so it cannot be unblocked. Root access control record group - build an application database. The secure storage application system is designed to handle multiple applications, 122365.doc -33 - 200821837 And isolating the data of each of the plurality of applications. The tree structure of the access control group system is a main tool for identifying and isolating application specific materials. eHigan access control The record group is at the top of the application security storage silkscreen database and adheres to certain different behavior rules. It can be configured in the secure storage application system. Root access & system group. Two root access control record groups I% / and 132 are shown in Figure 6. Obviously, more or fewer access control record groups can be used. And within the scope of the present invention. Login to a device for a new application (for example, a flash memory card) or a new application for the application of the device, through the new access The control record group/access control record tree is implemented by adding a program to the device. The secure storage program system supports three (four) (four) type root access control record group establishment (and the root access (four) record group All access control records and their rights): • Open • Any user or entity that does not require any kind of authentication: or access to the user/entity of the control record identification (described in 2 below) through the system Establish a new root access control record group. The open core mode now has no security measures to establish the root access control record and all data transfer is on an open channel (ie, A release of Dai Huiyou (issuan In the security environment of ce agency), or the security channel (also known as 'through the air (〇TA) and post-release procedure) established by the Reader & If the system access control record is not configured (this is an optional feature), 122365.doc -34- 200821837 and the root access (4) record group establishment mode is set to only the open channel option The system is available in an open format: the entity that accesses the control record only through the system = the new root access control record group. If the system access control record = configured, the secure storage The application (10) cannot be set to this style.

3·已封鎖··根存取控制記錄群組之建立被停用,且益 額外的根存取控制記錄群組可被加入至該系統。 兩個安全儲存應用程式命令控制此特徵(這些命令係可 被任何使用者/實體所使用,而不必鑑認)·· 1·方法組態命令-用於組態該安全儲存應用程式系統, 以使用三種根存取控制記錄群組建立模式中之任一者。僅 下列模式改變係被允許:開放式+受控制的,受控制的今 已封鎖(亦即,假如該安全儲存應用程式系統目前被組態 為受控制的,則其係僅能夠被改變成已封鎖)。 2·方法組態鎖定命令_用於停用該方法組態命令,且永 久鎖定目前選擇的方法。 田一根存取控制記錄群組被建立,其處於啟用其存取控 制記錄之建立及組態(使用與套用至該根存取控制記錄群 組之建立相同的存取限制)之特殊初始化模式。於該根存 取控制記錄群组組態程序結束處,當該實體明確地將其切 換至操作模式時,不再可更新現有的存取控制記錄,且不 再可建立額外的存取控制記錄。 一旦一根存取控制記錄群組係置放於標準模式中,僅能 122365.doc -35- 200821837 ° :透匕'、存取控制5己錄中經指派具有刪除該根存取控 制、,彔群、、且之權限的一存取控制記錄登入該系統,才能刪 除該根存取控制記錄群組。此係除了該特殊初始化模式之 外’根存取控制記錄群組之另一例外;較佳地,其係可含 有一具有刪除其自己的存取控制記錄群組之存取控制記錄 的僅有的存取控制§己錄群組,此係相對於下一樹層級内的 存取控制記錄群組。 一根存取控制記錄及—標準存取控制記錄之間之第三及 最後差異在於,其係該系統中唯一可具有建立及刪除分割 區之權限的存取控制記錄。 安全儲存應用程式系統之存取控制記錄 該系統存取控制記錄可用於下列兩項安全儲存應用程式 操作: 』1.在敵意環境内-安全通道的保護下建立—存取控制 記錄/存取控制記錄群組樹。 2.識別及鐘認裝載該安全儲存應用程式系統之裝置。 較佳地,該安全儲存應㈣式系統内可僅有—系統存取 控制記錄,且一旦被定義,較佳地,其無法被改變。當建 立该糸統存取控制記錄時,係不需要系統鑑認;只需要— 安全儲存應用程式命令。"建立系統存取控制記錄"特徵可 被停用(類似於”建立根存取控制記錄群組,,特徵)。在該手 己錄係被建立之後’該”建立系統存取控制記 =特1々係無效果,因為較佳地,僅一系統存取控制記 錄係被允許的。 122365.doc -36- 200821837 於::Γ之:Γ’該系統存取控制記錄係不操作的。 取控二=的命令係需要被發佈,其指示該系統存 制无錄係被建立且係準備好進 統存取控制記錄較佳地無法被更新或取代。後,该系 該系統存取控制記錄於該安全儲存 存取控制記錄/存取控制記錄群組。二?中:立該根 層級之權限,直到該主機係滿意…鎖=改變該根 封雜# + 〜八且封鎖其之時間為止。 連接制記錄群組基本上係切斷其接至該系統之 現”防竄改證明(tam㈣prGGf)。此時,任 二無法改變/編輯該根存取控制記錄群組及其 制记錄。此係透過一安全儲存 根存取於制,·… 私式命令而實行。停用 錄群組之建立具有—永久㈣ :原二於圖7顯示牵涉到該系統存取控制記錄的上述特 制^亥糸統存取控制記錄係用於建立三個不同的根存取控 ^己錄群組。於这些根存取控制記錄群組被建立之後某— 日二點時’自該主機傳送該安全健存應用程式命令,以自該 =統,取控制記錄封鎖該等根存取控制記錄群組,藉此停 /建立根存取控制記錄群組"特徵,如圖7中連接該系 統存取控制記錄及該等根存取控制記錄群組之虛線所示。 此呈現該三個根存取控制記錄群組之防竄改證明。於該等 ,存取控制記錄群組被封鎖之前或之後,可使用該三個根 :取控制記錄群組來建立子代存取控制記錄群組,以形 三個個別的樹。 上述之特徵係提供内容擁有者於組態具有内容之安全產 122365.doc -37- 200821837 口口的大彈性。安全產品需要祐 餘” π 被發佈。發佈係置放識別密 知序,、糟由該識別密鑰,該裝置可識別該主機,且反 之亦然。識別該裝置(例如,快 間口己[思體+)係使該主機能 具有其之秘密。另-方面,識別該主 使㈣置能夠僅限於該主機被允許之情況下強制實行 安全性原則(授予及執行一特定主機命令)。 鑰被::成飼服多數個應用程式之產品將具有數個識別密 r ::該產品可被:"預先發佈",於製造期間在裝運之前儲 存进鑰;或者”後發佈",於裝 ▲ 後增加新的密鑰。對於 ::…己憶體裝置(例如’記憶體卡)係需要含有某 主&或裝置層級密鑰,其係被用於識別被允許將應用程 式加入至該裝置之實體。 上述特徵實現將一產品組態成啟用/停用後發佈。此 ==展運之後安全地進行該後置發佈組態。該裝置係 B作為-零售產品被購w,該零f產品上不具有 =組=或裝置層級进餘之外的密餘,且接著係由新的擁有 、’、悲’以啟用或停用進—步的後發佈應用程式。 因此,該系統存取控制記錄之特徵提供 能力: < 曰知之 統存取㈣記錄之記憶體裝置將允許無限制及 無控制增加應用程式。 該=系統存取控制記錄之記憶體裝置可被組態成停用 用子取控制§己錄建立,其係意謂無任何控制增加新應 心之方法(除非建立新的根存取控制記錄群組之特徵 122365.doc -38- 200821837 亦被停用)。 具有系統存取控制記錄之記憶體裝置將僅允許經由一透 過使用該系統存取控制記錄認證之鑑認程序所建置之安全 通道以受控制方式增加應用程式。 具有系統存取控制記錄之記龍裝置可被㈣成在應用 程式已經被加入之前或之後,停用該加入應用程式特徵。 密鑰ID清單 f 密鑰ID係根據特定存取控制記錄請求而建立1而,於 記憶體系統1G中’其係僅由該安全儲存應用程式系統所使 用。當-密鑰ID被建立時,下列資料係由建立存取控制記 錄所提供或提供給建立存取控制記錄: ^密鑰ID。該出係由該實體透過該主機所提供,且係 用於參照該密収於所有進—步讀取或寫人存取中使用該 密鑰加密或解密之資料。 已封鎖、已鏈鎖及 2·密鑰編密及資料完整性模式(上述 雜湊模式且如下文所敘述)。 除了主機提供的屬性之外 用程式系統所維護: 下列資料係由該安全儲存應 二:鑰ID擁有者。該存取控制記錄之m係該擁有者。 :讀馳建立時,該建立者存取控制記錄係其擁有 者=而’密⑽擁有權可被轉移至另_存取控制記錄。 ’僅《脚財相被允許轉移—鋒⑴之擁有 ㈣1D。委派存取權限給相_的密鑰及廢止 核利可由該密細擁有者或被指派具有委派權限之任 122365.doc -39- 200821837 何其他存取控制記錄所管理。每當企圖實施彼等操作之任 一者時’只有在該請求的存取控制記係被授權之下,該安 全儲存應用程式系統才授予此企圖。 2.内容加密密鑰(CEK)。此係其之密鑰值係被用於編密 相關聯於該密鑰ID或該密鑰ID所指向之内容之内容加密密 鑰。該密鑰值可以係一由該安全儲存應用程式系統所建立 之128位元之登入演算法隨機密鑰。 3· MAC及IV值。用於鏈區塊編密(CBC)加密演算法中之 動態資訊(訊息鑑認碼及起始向量)。 參照圖8 A-16之流程圖而顯示該安全儲存應用程式之各 種特徵,其中,一步驟之左方的"H,,係意謂該操作係由該 主機所實施,且”C”係意謂該操作係由該記憶體卡所實 施。雖然參照記憶體卡而顯示這些安全儲存應用程式特 徵,應瞭解的是,這些特徵係亦可應用於其他實體形式中 之圯憶體裝置。為了建立一系統存取控制記錄,該主機發 佈一命令給該記憶體裝置1〇内的安全儲存應用程式,以建 立系統存取控制記錄(方塊202)。該裝置10係藉由檢查是否 一系統存取控制記錄係已經存在而回應(方塊2〇4,菱形 2〇6)。假如其係已經存在,則裝置1〇傳回失敗及停止(橢圓 形208)。假如其係尚未存在,則記憶體1〇係檢查系統存取 控制記錄建立是否被允許(菱形21 〇),且假如不被允許,則 傳回一失敗狀態(方塊212)。因此,可有若干案例,其中, 為表置發行者係不允許一系統存取控制記錄的建立,諸如 於所需之安全性特徵係已經被預先決定,使得不需要系統 122365.doc -40- 200821837 存取控制記錄的情況。假如此係被允許,則該裝置10傳回 確定(OK)狀態且等待來自該主機的系統存取控制記錄認證 (方塊214)。該主機檢查該安全儲存應用程式狀態及是否該 裝置10係已經指示一系統存取控制記錄的建立係被允許 (方塊216及菱形218)。假如建立係不被允許或者一系統存 取控制記錄係已經存在,則該主機停止(橢圓形22〇)。假如 該裝置10係已經指示一系統存取控制記錄的建立係被允3. Blocked · Root access control record group establishment is disabled, and additional root access control record groups can be added to the system. Two secure storage application commands control this feature (these commands can be used by any user/entity without having to authenticate). 1. Method configuration commands - used to configure the secure storage application system to Use any of the three root access controls to record any of the group establishment modes. Only the following mode changes are allowed: open + controlled, controlled, now blocked (ie, if the secure storage application system is currently configured to be controlled, it can only be changed to blockade). 2. Method configuration lock command _ Used to deactivate the method configuration command and permanently lock the currently selected method. A group of access control records is created, which is in a special initialization mode that enables the establishment and configuration of its access control records (using the same access restrictions as those applied to the root access control record group). . At the end of the root access control record group configuration program, when the entity explicitly switches it to the operating mode, the existing access control record can no longer be updated and additional access control records can no longer be created. . Once an access control record group is placed in the standard mode, only 122365.doc -35-200821837 °: through the access control 5 has been assigned to delete the root access control, The root access control record group can be deleted by logging into the system with an access control record of the group and the rights. This is another exception to the 'root access control record group' except for this special initialization mode; preferably, it may contain only one access control record with its own set of access control records deleted. The access control § the recorded group, which is relative to the access control record group within the next tree level. The third and final difference between an access control record and a standard access control record is that it is the only access control record in the system that has the authority to create and delete partitions. Access Control Record of Secure Storage Application System The system access control record can be used for the following two secure storage application operations: 』1. Established in a hostile environment-safe channel protection-access control record/access control Record the group tree. 2. Identify and remember the device that loads the secure storage application system. Preferably, the secure storage system may have only system access control records within the system, and once defined, preferably, it cannot be changed. When the system access control record is established, system authentication is not required; only - secure storage of application commands. The "establish system access control record" feature can be deactivated (similar to "establishing a root access control record group, feature"). After the handbook is created, the system access control record is established. = 1 is not effective, because preferably only one system access control record is allowed. 122365.doc -36- 200821837 at::Γ之Γ:Γ’ The system access control record is not operational. The command to take control 2 = needs to be issued, indicating that the system has no record entry established and that the ready access control record is preferably not updated or replaced. Thereafter, the system access control record is recorded in the secure storage access control record/access control record group. two? Medium: Establish the permissions of the root level until the host is satisfied... Lock = change the root to block # + ~ eight and block the time. The connection record group basically cuts off the current tamper proof (tam (four) prGGf) that is connected to the system. At this time, the second access control record group and its record cannot be changed/edited. It is implemented through a secure storage root access system, .... private order. The establishment of the deactivated record group has - permanent (four): the original two shows the above-mentioned special system involving the system access control record in Figure 7. The system access control record is used to establish three different root access control groups. After these root access control record groups are established, the data is transmitted from the host at 2 o'clock. The application command, in order to block the root access control record group from the control record, thereby stopping/establishing the root access control record group" feature, as shown in Figure 7, connecting the system access control The records and the dotted lines of the root access control record groups are shown. This presents the tamper proof of the three root access control record groups. Before or after the access control record group is blocked, Use the three roots: take control record group The sub-generation access control records the group to form three individual trees. The above characteristics provide the content owner with the flexibility to configure the content of the security product 122365.doc -37- 200821837. I" π was released. The publishing system places the identification secret, and the identification key is used to identify the host, and vice versa. Identifying the device (e.g., the express port) allows the host to have its secrets. On the other hand, identifying the master (four) can enforce the security principle (granting and executing a specific host command) only if the host is allowed. The key is:: The product of the majority of the application will have several identifications: :: The product can be: "pre-release", the key is stored before shipment during manufacturing; or "post-release" Add a new key after installing ▲. For::... The memory device (such as 'memory card') needs to contain a master & or device level key, which is used to identify the application that is allowed to be used. The entity added to the device. The above features enable a product to be configured for activation/deactivation and release. This == safely performs the post-release configuration after the show. The device is purchased as a retail product. The zero f product does not have a margin other than the = group= or device level, and then the new owner, ', sad' to enable or disable the post-release application. Therefore, The feature access capability of the system access control record: < 曰 之 存取 ( 四 四 四 记录 记录 记录 记录 记录 记录 记录 记录 记录 记录 记忆 记忆 记忆 记忆 记忆 记忆 = = = = = = = = = = = = = = = = = = = = = Deactivated sub-take control Established, which means that there is no control to add new ways (unless the feature of establishing a new root access control record group is also disabled.) The memory with system access control records is also disabled. The device will only allow the application to be added in a controlled manner via a secure channel established by the authentication program using the system access control record authentication. The device with system access control record can be (4) applied The add-on application feature is deactivated before or after the program has been added. Key ID list f The key ID is established according to a specific access control record request, and is only used by the security in the memory system 1G. Used by the storage application system. When the -key ID is created, the following data is provided by the establishment access control record or provided to the establishment access control record: ^Key ID. The origin is transmitted by the entity through the host Provided, and used to refer to the data encrypted or decrypted using the key in all incoming or write access. Blocked, chained, and keyed. And the data integrity mode (the above-mentioned hash mode and described below). The system is maintained by the program system in addition to the attributes provided by the host: The following data is stored by the secure key owner: the key ID owner. It is the owner.: When the game is established, the access control record of the founder is its owner = and the secret (10) ownership can be transferred to another access control record. 'Only the money is allowed to transfer— The possession of Feng (1) (4) 1D. The key to delegate access rights to the phase and the abolished nuclear rights can be managed by the secret owner or any other access control record assigned to delegate authority. Whenever an attempt is made to perform any of its operations, the secure storage application system grants the attempt only if the requested access control token is authorized. 2. Content Encryption Key (CEK). This is the key value used to encode the content encryption key associated with the key ID or the content to which the key ID is directed. The key value can be a 128-bit login algorithm random key established by the secure storage application system. 3. MAC and IV values. Dynamic information (message identification code and start vector) used in the Chain Block Coding (CBC) encryption algorithm. Referring to the flowchart of FIG. 8A-16, various features of the secure storage application are displayed, wherein the left side of the step is "H", which means that the operation is implemented by the host, and the "C" system This means that the operation is carried out by the memory card. Although these secure storage application features are displayed with reference to the memory card, it should be understood that these features can also be applied to other memory devices. To establish a system access control record, the host issues a command to the secure storage application within the memory device 1 to establish a system access control record (block 202). The device 10 responds by checking if a system access control record system already exists (block 2〇4, diamond 2〇6). If the system already exists, the device 1 returns a failure and a stop (oval 208). If the system does not yet exist, the memory 1 checks whether the system access control record establishment is allowed (diamond 21 〇), and if not allowed, returns a failure status (block 212). Therefore, there may be several cases in which the issuer of the system does not allow the establishment of a system access control record, such as the required security features have been predetermined so that the system 122365.doc -40- is not required. 200821837 Access control records. If so, the device 10 returns an OK status and waits for system access control record authentication from the host (block 214). The host checks the status of the secure storage application and whether the device 10 has indicated that a system access control record is established (block 216 and diamond 218). If the establishment is not allowed or a system access control record already exists, the host is stopped (oval 22〇). If the device 10 has indicated that the establishment of a system access control record is allowed

k 許,則該主機係發佈一安全儲存應用程式命令,以定義其 之登入認證,且傳送該登入認證至該裝置1〇(方塊222)。該 裝置10用所接收之認證來更新—⑽存取控制記錄記錄, 且傳回"確定"狀態(方塊224)β為了回應此狀態訊號,該主 機發佈安全储存應用程式命令,其指示該系統存取控制記 錄係準備好(方塊226)。該裝置1G係以料該系統存取控制 5己錄使得其無法被更新或取代而回應(方塊。此係鎖定 該系統存取控制記錄之特徵及其用於對於主機識別該裝置 之身份。 用於建立新的樹(新的根存取控制記錄群組及存取控制 ,錄)的程序係由於該裝置内組態這些功能之方式而決 ^圖9係說明該等程序。該主機24及該記憶體系統10兩 遵循此。假如增加新的根存取控制記錄群組係全然被停 用,則無法增加新的根存取控制記錄群組(菱形246)。俨如 ==需要一系統存取控制記錄,則該主機相該 :=Γ人進行鐘認,且在發佈,,建立根存取控制 3己錄群組命令(方塊254)之前建置—安全通道(菱形⑽, 122365.doc -41 - 200821837 方塊252)。假如不需要系統存取控制記錄(菱形⑽),則該 主機24可發佈該”建立根存取控制記錄群組”命令而不需夢 認,且進行至方塊254。假㈣統存取控制記錄確實^ 在’則該主機係可以使用它,即使其係不需要亦如此(未 私圖)。假如該功能被停用,則該裝置(例如快閃 e己fe體卡)將拒絕建立—新的根存取控制記錄群組的任何 企圖,且假如需要系統存取控制記錄,則其將拒絕一建立 一新的根存取控制記錄群組而不鑑認之企圖(菱形246及 25 0)於方塊254中新冑立的存取控制記錄群組及存取控 制,己錄現在係切換成操作模式,使得於此類存取控制記錄 群組内的存取控制記錄無法被更新或改變,且無存取控制 =錄了被加入彼等存取控制記錄群組之中(方塊25幻。接 著,該系統係可選用地被鎖丨,使得無法建立額外的根存 取控制記錄群組(方塊258)。虛線方塊258係一指示此步驟 係選用的步驟的慣例。於本申請案之圖式内的流程圖⑽ i有虛線方塊係選用的步驟。此係允許該内容擁有者封鎖將 、f亥裝置1G用於可模仿-具有合法内容的真品記憶體裝置的 其他非法目的。 為了建立存取控制記錄(除了該根存取控制記錄群組内 存取控制記錄以外,如上文所述),可以具有建立一存取 控制記錄之權利的任何存取控制記錄開始(方塊27〇),如示 於圖10。任何實體可企圖透過該主機24藉由提供進入點之 存取控制記錄身份以及具有所有想要建立之必要的屬性之 存取控制記錄而進入(方塊272)。該安全儲存應用程式檢查 122365.doc •42- 200821837 取控制記錄身份之匹配及具有如此身份之存取控 ::疋否具有建立—存取控制記錄的權限(方塊274)。假 ==被驗證為經授權’則該裝置_的安全儲存應 用転式係建立一存取控制記錄(方塊276)。 圖η係顯示兩個存取控制記錄群組,其係顯示—對於使 用圖10之方法之安全性應用程式有用的樹。因此,於行鎖 存取控制記錄群組内具有身細之存取控制記錄具有建立 一絲控制記錄的權限。該存取控制記錄ml亦具有使用用 於讀取或寫入相關聯於密鑰ID"行銷資訊"的資料及相關聯 於密鑰ID"價格清單"的資料之密瑜的權限。使用圖10之方 法’建立具有兩個存取控制記錄的銷售存取控制記錄群 組:S1及S2,其係僅具有對於用於存取相關聯於該密瑜 ID"價格清單"之^價資料之密輪的讀取權限,而無存取相 關聯於該密鑰ID"銷售資訊,|之資料所需的密鑰的讀取權 限以此方式’具有存取控制記錄“及^之實體係僅能夠 讀取而不能夠改變定價資料,且將不可存取行銷資料。另 一方面,存取控制記錄爪2不具有建立存取控制記錄的權 限且僅具有對於用於存取相關聯於密鑰ID "價格清單"及 相關聯於密鑰ID"行销資訊"之資料的㈣之讀取權限。 因此’可以使用上述之方式委派存取權,其中,…委 ㈣㈣給slAs2。在牵涉到大型行銷及銷 售群組之情況下’此係特別有用的。在僅一或少數銷售人 員之下,可以不需要使用圖10之方法。反而是,存取權係 可以由一存取控制記錄委派給於相同的存取控制記錄群組 122365.doc •43- 200821837 内於一較低層級或相同層級的存取控制記錄,如示於圖 12。首先,該實體進入用於此類存取控制記錄群組的樹, 其方式係藉由以一上述方法透過該主機指定該樹中之一存 取控制記錄(方塊280)。接著,該主機將指定該存取控制記 錄及委派給其之權利。該安全儲存應用程式係檢查用於此 頒存取控制記錄的樹及該存取控制記錄是否具有委派權利 給指定的另一存取控制記錄的權限(方塊282)。假如其是, 則該等權利係被委派(方塊284);假如不是,則停止。該結 果係顯示於圖13。於此情況下,存取控制記錄叫有委派 讀取權限給該存取控制記錄sl的權限,使得在委派之後, Sl將能夠使用一存取價格資料的密鑰。假如ml係具有存取 定價資料及如此委派之權限的相同或較大的權利,則此可 被實中’ml在委派之後維持其存取權。 較佳地,可在受限制條件下(而非永久地)委派存取權,諸 如一段有限的時間、有限的存取次數等等。 圖14顯示用於建立-密鑰及密鑰ID之程序。該實 Ή^7 二-t AAr “ ::制記錄進行鑑認(方請)。該實體請求用由該 、所指定之⑴來建立密鑰建立(方塊取)。該安全儲存 用=檢查及觀看所以之存取控制記錄是否具有如此 =推限(菱形取)。舉例而言,假如該密鍮係被用於存 觀看2:£内的資料,則該安全儲存應用程式將檢查 子取控制記錄是否可存取此分割區。假如該存取 機所提㈣’則該記憶體裝置iq建立—相關聯於由該 鑰值(方㈣8),且儲存該密錄 122365.doc -44- 200821837 於該存取控制記錄之中,及儲存該密鑰值於其記憶體(控 制器相關聯的記憶體或記憶體20)内,且根據由該實體所 提供之資訊而指派權利及權限(方塊3 1〇),且用此類經指派 的權利及權限來修改此類存取控制記錄的權限控制記錄 (方塊312)。因此,該密鑰之建立者具有所有可取得的權 利,諸如碩取及寫入權限、委派及與相同存取控制記錄群 組内其他存取控制記或於一較低層級之存取控制記錄共用 之權利,及轉移該密鑰之擁有權之權利。 一存取控制記錄可改變於該安全儲存應用程式系統内另 一存取控制§己錄之權限(或全然存在),如示於圖丨5。一實 體係可以如前一樣透過一存取控制記錄而進入一樹;於一 情況下,該實體被鑑認且接著其指定一存取控制記錄(方 塊330,332)。其請求一目標存取控制記錄之刪除或一目 標存取控制記錄内之權限(方塊334)。假如所指定之存取控 制記錄或於如此時間為作用中狀態之存取控制記錄具有如 此實施之權利(菱形336),則該目標存取控制記錄被刪除, 或者該目標存取控制記錄之權限控制記錄被改變以刪除此 類權限(方塊338)。假如此未經授權,則該系統停止。 在上述程序之後,該目標將不再能夠存取在該程序之前 其能夠存取之資料。如示於圖16,一實體係可能企圖進入 該目標存取控制記錄(方塊350),且發現到該鑑認程序失 敗,因為先前存在的存取控制記錄ID係不再出現於該安全 儲存應用程式之中,使得存取權係被拒絕(菱形352)。假設 該存取控制記錄ID尚未被刪除,則該實體指定一存取控制 122365.doc -45- 200821837 吕己錄(方塊3 54)及於一特別分割區内的密输ID及/或資料, 且接著該安全儲存應用程式根據此類存取控制記錄的權限 控制記錄檢查是否准許該密鑰ID或分割區存取請求(菱形 3 5 8)。假如該權限已被刪除或已經過期,則該請求再次被 拒絕。否則,該請係被授予(方塊360)。 上述程序敘述該裝置(例如,快閃記憶體卡)如何管理對 受保護的資料之存取,而不論是否該存取控制記錄及其之 〆 權限控制記錄係剛剛被另一存取控制記錄予以改變或者開 ‘ 始係如此組態。 會期 該安全儲存應用程式系統被設計成處置同時登入的多個 使用者。當使用此特徵時,僅在用於鑑認一特定實體的存 取控制記錄具有用於所請求動作的權限之情況下,由該安 全儲存應用程式所接收之所有命令係相關聯於該實體=被 執行。 多個實體係透過會期觀念予以支援。—會期係於該鑑認 程序期間予以建置,且由該安全健存應用程式系統指派一 會期ID。該會期ID係内部相關聯於用於登人該系統之存取 控制記錄’且被匯出給該實體’以在所有進一步的安全儲 存應用程式命令中使用。 : 琢安全儲存應用程式 八风W裡頸尘會期•闻孜式合 』及安全會期。與一特定鑑認程序相關的會期類 : 於存取控制記錄之中。該安全儲 存應帛料純將以類似 H仃錢認本身之方式強制實行會期建置。因為該 122365.doc -46- 200821837 存取控制記錄定義該 者能夠使安全通道相:體柄限,所以此機制使系統設計 取控制記錄管理於存取特定㈣ID或㈣特定存 定認證)。 ,、即,建立新的存取控制記錄及設 開放式會期 式曰功係用一會期ID識別但不以匯流排加密之合 ^所有命令及資料係公開被傳送。此種操作模式較㈣ r 係用於一多使用者咬多 /實體衣扰中,其中,該等實體係非 構成威脅模型亦非於該匯流排上的竊聽的一部分。 雖然不保護資料之傳送亦不實現該主機端之應用程式之 ]之有a率的防火牆,但是該開放式會期模式使該安全儲 存應用程式系統能夠僅允許存取目前經錕認的存取控制記 錄所允許的資訊。 該開放式會期係亦能夠被使用於一分割區或一密鑰係需 要被保護之情況。然而,在一有效鑑認程序之後,存取被 授予給該主機上所有實體。各種主機應用程式用以獲得經 鑑認存取控制記錄之權限而需要共用的唯一事物係會期 ID。此係顯示於圖17A。在線4〇〇上方之步驟係由該主機以 所採用之步驟。在一實體係對於存取控制記錄丨經鑑認(方 塊4 0 2 )之後’其请求存取該記憶體裝置1 〇内一相關聯於一 岔输ID X之槽案(方塊404,406及408)。假如該存取控制 記錄1之該權限控制記錄允許此類存取,則裳置1 〇授予該 請求(菱形410)。假如不允許,則該系統返回方塊4〇2。在 鑑認完成之後’該5己憶體糸統10係僅藉由該指派的會期 122365.doc -47- 200821837 ID(且非該等存取控制記錄認證)而識別正在發佈—命令的 實體。-旦該存取控制記錄【係於一開放式會期中獲得存 取其之權限控制記錄内相關聯於該等密鍮①之資料,則任 何其他應用程式或使用者可藉由指定介於該主機^上不同 的應用程式所共用的正確會_,來存取相同的資料。此 特徵於應用程式中為有利的’其中,對於使用者而言,僅 月b夠登入一次、能夠存取所有關聯於不同應用程式用以實 行登入之帳戶的資料,係更方便的。因此,一行動電話= 使用者可能夠存取記憶體2㈣儲存的電子郵件且聽儲存的 音樂’而不需要多次登入。另一方面,不被該存取控制記 錄1所内含的資料係不可存取。因此,相同的行動電話的 使用者係可以具有有價值的内容,諸如可透過—分 戶存取控制記錄2存取之遊戲及相片。此係他不想要借他^ 的電話的其他人存取的資料’即使他可能不介意:他人可 以透過他的第一帳戶存取控制記錄丨存取資料。於開放式 會期中將對資料之存取分開成為兩個分離帳戶1同時允許 存取存取控制記錄丨,提供容易使用以及提供有價值的資 料之保護。 、 、 為了更進一步易於在該等主機應用程式之間共用該會期 ID之程序,當一存取控制記錄正在請求一開放式會期時, 其可明確地請求該會期將被指派”〇”ID。以此方式,應用 程式可被設計成使用一預先定義的會期m。唯一限制係, 因為明顯的理由,於—特定時間僅可鑑認—正在請求會期 存取控制。己錄。一鑑認另一正在請求會期〇之存取控制 122365.doc -48- 200821837 記錄的企圖將被拒絕。 安全會期 為了增加一層安全性,該會期ID可被使用,如示於圖 1 7B。接著’該記憶體1 〇亦儲存作用中狀態會期之會期 ID。於圖1 7B中,舉例而言,為了能夠存取一相關聯於密 鑰ID X之檔案,在該實體被允許存取該擋案之前,該實體 亦將需要提供一會期ID,諸如會期ID”A”(方塊4〇4,406, 412及414)。以此方式,除非該請求實體係知道正確的會 期ID,否則其無法存取該記憶體丨〇。因為該會期m係於該 會期結束之後被删除且對於每一會期而言係不同的,所以 一實體係僅當其已經能夠提供會期號碼時,才能能夠獲得 存取。 該女全儲存應用程式系統係藉由使用該會期號碼,而追 蹤是否一命令係真的來自正確經鑑認的實體。對於有攻擊 者將嘗試使用一開放式通道以傳送有惡意的命令之恐嚇的 應用程式及使用情況而言,該主機應用程式係使用一安全 會期(一安全通道)。 當使用一安全通道時,該會期ID以及整個命令係以安全 通道加密(會期)密鑰予以加密’且該安全性等級係與該主 機端實施一樣高。 終止一會期 於下列任一狀況中,終止一备 ㈢期,且登出該存取控制記 錄· 1·該實體係發佈一明確的會期結束命令。 122365.doc -49- 200821837 』2.通矾時間逾期。一特定實體在一段期間(如存取控制 §己錄參數之—者所定義)未發佈任何命令。 3.在裝置(例如快閃記憶體卡)重設及/或電源循環之 4 、、冬止所有開放式會期。 資料完整性服務 庫^^王儲存應用^式系統驗證該安全儲存應用程式資料 敕(其係含有所有存取控制記錄、權限控制記錄等等)之完 外透過雄、鑰1D機制而提供用於實體資料的資料 完整性服務。 、 假如-密鑰ID經組態以用雜湊作為其加密演算法,則該 =溱值係與該内容加密密鑰及IV並排地儲存於該内容加密 =鑰。己錄之中。於寫人操作期間計算及儲存雜湊值。雜凑 ㈣讀取操作期間再次被計算,且與於先前寫入操作期 存之值相比較。每當該實體正在存取該密細時, :外的資料係(以密碼編譯方式)串接至舊的資料及經更新 的(用於讀取或寫入之)適合雜湊值。 =為僅該主機知道相關聯於一密鑰m或由一密鍮ι〇指向 枓棺案’所以該主機係以下列方式明確地管理該資料 元整性功能的數項態樣: ' 相關聯於-密鑰1〇或由一密输出指向的資料權案 ^從碩到尾被寫入或讀取。存取該檔案之部分的任何企圖 將使其混亂’原因係該安全儲存制程式“正在使用一 :區塊密竭加密方法且產生該整個資料的—雜渗訊息摘 122365.doc -50- 200821837 2.不而要處理一連續串流内(該資料串流可交錯並他密 柳之資料串流,且係可以於多個會期上分⑴的資料, 原因係中間的雜凑值係由該安全儲存應用程式系統所維 護。然而,假如該資料串流係重新開#,則該實體將需要 明確地指㈣安全儲存應用程式純重設㈣雜凑值。 3_當一項取操作完成時,該主機明確地請求該安全儲 存應用程H㈣由比較所讀取㈣其及寫人操作期間所 計算之雜湊值來確認該讀取之雜湊。 4.該安全儲存應用程式系統亦提供一"設設讀取"操 作。此特徵係將串流經過加密引擎的資料,然而將不傳送 其出去至該主機。此特徵可被用於在資料真正自該裝置 (例如快閃記憶體卡)讀取出之前,確認資料完整性。 隨機號碼產生 省安王儲存應用程式系統將使外部實體能夠使用内部隨 m產生n ’且请求隨機號碼被使用於該安全儲存應用 程式系統之外。此服務係可被任何主機使用,且不需要鐘 認。 RSA密鑰對產生 該安全儲存應用程式系統將使外部使用者能夠使用内部 RSA密鑰對建立特徵’且請求一對密鑰對被使用於該安全 儲存應用程式系統之外。此服務係可被任何主機使用,且 不需要鑑認。 替代實施例 不使用階層架構方式,類似的結果可使用―資料庫方式 122365.doc -51 - 200821837 而逹成,如示於圖18。 如不於圖1 8,一含有用於實體之認證、鑑認方法、失敗 嘗試的最大次數及解除封鎖所需之認證最小數目的清單可 被:入儲存於控制器12或記憶體2〇内之一資料庫之中,該 /月單使.忍d需求相關於由該記憶體1〇之該控制器η所實施 4貝料庫中之原則(對於密鑰及分割區之讀取、寫入存 取,安全通道需求)。亦健存於該資料庫的係對於存取密 餘及分割區之約束及限制。因此,一些實體(例如,系統 吕理者)係可以於一白色清單上,其係意謂這些實體可存 取所有密餘及分割區。其他實體係可以於_黑色清單上, 且其存取任何資訊之企圖將被封鎖。該限制可以係全域 性,或密鑰及/或分割區特定的。此係意謂僅某些實體可 存取某些特定密鑰及分割區,且某些實體無法如此實施。 ^束亦能夠被置放於内容本身上,而不論内容所在的分割 區或用於加密或解密該内容之密鑰為何。因此,某些資料 (例如’歌曲)係可以具有其僅能夠被前5個存取它們的主機 裝置所存取的屬性,或者其他資料(例如,電影)係僅能夠 被頃取有P艮次數的屬性,而不論哪些實體具有存取權。 4監認 禮、碼保護 /密碼保護係意謂需要提交一密碼,以存取受保護的區 域“除非其無法超過一個密碼’否則密碼可相關聯於不同 的權利,諸如讀取存取及/或寫入存取。 •密碼保護係意謂該裝置(例如,快閃記憶體卡)可驗證 122365.doc -52- 200821837 由該主機所提供之密碼,亦即該裝置亦具有儲存於裝置管 理安全記憶體區域内的密碼。 發佈及限制 •密碼係受限於重新播放攻擊。因為在每一提交之後密 碼係不改變,所以其可相同地重新傳送。其係意謂假如將 被保護的資料係有價值的,則密碼係不應該被使用,且通 §fl匯流排係容易被存取。 •密碼可保護存取儲#的資料,然而係不應該被使用於 保護資料(非一密鑰)。 •為了增加與密碼相關聯的安全性等級,其可使用一主 才工么鑰而夕樣化,結果為駭客一份資料係不搞垮整個系 統。-以會期密餘為基礎的安全通訊通道可㈣於傳送該 密碼。 圖19繚示使用—密碼進行鑑認之流程圖。該實體係傳送 帳戶ID及密碼至系統! 〇(例如,快閃記憶體卡)。該系统 係檢查看看是否該密碼係匹配於其記憶體内的密碼。假如 其係匹配,則傳回經鑑認狀態。否則,累加用於該帳戶之 錯誤計數II,且該實體係被要求重新輸人—帳戶ID及密 Γ °假如該計數11係滿溢’則該系統傳回存取被拒絕的狀 悲0 對稱密鑰 對:二:演算法係意謂於加密及解密兩端使用相同的密 / :係忍謂該密鑰係在通訊之前已經預先同意。此外, 母1應該實施彼此的逆演算法,亦即,於—端之加密演 122365.doc 53 - 200821837 异法及於另一端之解密演算法。兩端係不需要實施該兩種 演算法以通訊。 鑑認 對稱逸、鑰鑑邊係意謂裝置(例如,快閃記憶體卡)及主 機共用相同的密鑰且具有相同的密碼編譯演算法(直接及 逆向,例如,DES及DES-1)。 回應(保護防止重新播放攻 其他裝置的挑戰,且兩者 •對稱密鑰鑑認係意謂挑戰-擊)。受保護的裝置產生一用於k, the host issues a secure storage application command to define its login credentials and transmits the login authentication to the device (block 222). The device 10 updates (10) the access control record with the received authentication, and returns "determination" status (block 224) β in response to the status signal, the host issues a secure storage application command indicating The system access control record is ready (block 226). The device 1G responds to the system access control 5 so that it cannot be updated or replaced (block. This locks the features of the system access control record and its identity for identifying the device for the host. The procedure for creating a new tree (new root access control record group and access control, recording) is due to the way in which the functions are configured in the device. Figure 9 illustrates the programs. The memory system 10 follows this. If the addition of a new root access control record group is completely disabled, a new root access control record group (diamond 246) cannot be added. For example, == requires a system to save Take the control record, then the host phase: = Γ 进行 ,, and in the release, the establishment of the root access control 3 record group command (block 254) to build - secure channel (diamond (10), 122365.doc -41 - 200821837 Block 252). If the system access control record (diamond (10)) is not required, the host 24 may issue the "Create Root Access Control Record Group" command without dreaming and proceed to block 254. False (four) unified access control record Indeed ^ in the host system can use it, even if it is not required (not private map). If the function is disabled, the device (such as flash e-fee card) will refuse to establish - new The root access control records any attempt of the group, and if the system access control record is required, it will reject an attempt to create a new root access control record group without identification (diamonds 246 and 25 0) The newly established access control record group and access control in block 254 are switched to the operation mode so that the access control record in such an access control record group cannot be updated or changed. And no access control = recorded is added to their access control record group (block 25 magic. Then, the system is optionally locked, making it impossible to create additional root access control record groups ( Block 258). The dashed box 258 is a convention indicating the steps selected for this step. The flow chart (10) i within the drawings of the present application has a dashed line of steps selected. This allows the content owner to block, f Hai device 1G for moldable - other illegal purposes of a genuine memory device with legal content. In order to establish an access control record (in addition to the access control record within the root access control record group, as described above), an access control record may be established Any access control record of the right begins (block 27), as shown in Figure 10. Any entity may attempt to control the record identity through the host 24 by providing access to the entry point and have all the necessary attributes to establish. The access control record is entered (block 272). The secure storage application checks 122365.doc • 42- 200821837 to take control record identity match and access control with such identity: 疋 no setup-access control record Permissions (block 274). False == is verified as authorized' then the device's secure storage application creates an access control record (block 276). Figure η shows two access control record groups, which are displayed - a tree useful for the security application using the method of Figure 10. Therefore, having a fine access control record in the row lock access control record group has the authority to establish a control record. The access control record ml also has the authority to use the data used to read or write the data associated with the key ID" marketing information" and the information associated with the key ID"price list". Using the method of Figure 10 to create a sales access control record group with two access control records: S1 and S2, which have only the associated access to the Miyu ID"price list" The read permission of the secret wheel of the price data, and the access permission of the key required for accessing the information associated with the key ID"sales information,|in this way 'has access control record' and ^ The real system can only read but not change the pricing data, and the marketing information will not be accessible. On the other hand, the access control record claw 2 does not have the authority to establish an access control record and has only the association for access. The read permission of the key ID "price list" and the information related to the key ID" marketing information" (4). Therefore, the access method can be delegated using the above method, where...(4)(4) to slAs2 This is particularly useful in situations involving large marketing and sales groups. Under one or a few salespeople, the method of Figure 10 may not be required. Instead, access rights may be saved by one Take control Delegate to the same access control record group 122365.doc • 43- 200821837 within a lower level or the same level of access control records, as shown in Figure 12. First, the entity enters for such access Controlling the tree of the record group by specifying an access control record in the tree through the host in a manner described above (block 280). The host then specifies the access control record and delegates to it. The secure storage application checks the tree for the access control record and whether the access control record has the right to delegate rights to the specified other access control record (block 282). If it is, then The rights are delegated (block 284); if not, then stop. The result is shown in Figure 13. In this case, the access control record is called the delegate read permission to the access control record sl, So that after the delegation, Sl will be able to use a key to access the price data. If ml has the same or a larger right to access pricing data and such delegated rights, then this can be implemented in 'ml' The access rights are then maintained. Preferably, access rights can be delegated under restricted conditions, rather than permanently, such as a limited time, limited number of accesses, etc. Figure 14 shows the use of establishing a secret The program of the key and the key ID. The actual Ή^7 two-t AAr ":" record for identification (please request). The entity requests to establish a key (blocked) with the specified (1). The safe storage = check and watch so the access control record has such a = push (magnification). For example, if the key is used to view data within 2: £, the secure storage application will check if the sub-control record has access to the partition. If the access device mentions (4) 'the memory device iq is established - is associated with the key value (party (4) 8), and stores the secret record 122365.doc -44-200821837 in the access control record, And storing the key value in its memory (the memory or memory 20 associated with the controller), and assigning rights and rights based on the information provided by the entity (block 3 1〇), and using this class The rights control records of such access control records are modified by the assigned rights and permissions (block 312). Thus, the creator of the key has all available rights, such as master and write access, delegation and access control records in the same access control record group or a lower level access control record. The right to share and the right to transfer ownership of the key. An access control record can be changed to another access control (or all present) in the secure storage application system, as shown in Figure 5. A real system can enter a tree through an access control record as before; in one case, the entity is authenticated and then it specifies an access control record (blocks 330, 332). It requests a deletion of a target access control record or a permission within a target access control record (block 334). If the specified access control record or the access control record in the active state at this time has the right to do so (diamond 336), then the target access control record is deleted, or the target access control record has permission The control record is changed to delete such permissions (block 338). If this is not authorized, the system stops. After the above procedure, the target will no longer be able to access the data it was able to access before the program. As shown in FIG. 16, a real system may attempt to enter the target access control record (block 350) and find that the authentication procedure failed because the pre-existing access control record ID is no longer present in the secure storage application. In the program, access rights are denied (diamond 352). Assuming that the access control record ID has not been deleted, the entity specifies an access control 122365.doc -45 - 200821837 Lu Cui Lu (block 3 54) and the secret ID and/or data in a special segment. And then the secure storage application checks whether the key ID or partition access request is granted based on the access control record of such access control record (diamond 3 5 8). If the permission has been deleted or has expired, the request is rejected again. Otherwise, the request is granted (block 360). The above procedure describes how the device (e.g., a flash memory card) manages access to protected material regardless of whether the access control record and its access control record have just been recorded by another access control record. Change or open ' is configured as such. Session The Secure Storage Application System is designed to handle multiple users logging in at the same time. When this feature is used, all commands received by the secure storage application are associated with the entity only if the access control record used to authenticate a particular entity has rights for the requested action. Executed. Multiple real systems are supported through the concept of the session. - The duration is built during the authentication process and a session ID is assigned by the secure application system. The session ID is internally associated with the access control record used to log into the system and is exported to the entity for use in all further secure storage application commands. : 琢 Safe Storage Application Eight Winds W Neck Period • Smell-style combination and safety meeting period. The session class associated with a particular authentication procedure: in the access control record. The safe storage should be purely forcibly implemented in a manner similar to H. Because the access control record defines that the person can enable the secure channel phase, the mechanism allows the system design to take control records to access specific (4) IDs or (4) specific stored credentials). , that is, to establish a new access control record and to set up an open session. The system uses a one-session ID to identify but not to encrypt the bus. All commands and data are publicly transmitted. This mode of operation is more than (4) r used in a multi-user bite/physical clothing disturbance, wherein the real system does not constitute a threat model and is not part of the eavesdropping on the bus. Although the protection of the data does not implement the firewall of the host-side application, the open session mode enables the secure storage application system to only allow access to the currently recognized access. Control the information allowed by the record. The open session can also be used in a partition or a key system needs to be protected. However, after a valid authentication procedure, access is granted to all entities on the host. The only thing that the various host applications need to share in order to gain access to the access control record is the session ID. This is shown in Figure 17A. The steps above the line 4 are followed by the steps taken by the host. After a real system has authenticated the access control record (block 4 0 2 ), it requests access to the memory device 1 within a slot associated with an input ID X (blocks 404, 406 and 408). If the access control record of the access control record 1 allows such access, then the request is granted 1 (diamond 410). If not allowed, the system returns to block 4〇2. After the completion of the authentication, the 5 Retirement System 10 identifies the entity being issued - the command only by the assigned session number 122365.doc -47 - 200821837 ID (and not the access control record authentication) . Once the access control record is obtained from an access control record in an open session that is associated with the key 1 , any other application or user may specify The correct information shared by different applications on the host ^ is used to access the same data. This feature is advantageous in the application. It is more convenient for the user to log in once and have access to all the accounts associated with different applications for login. Therefore, a mobile phone = the user can access the stored email of the memory 2 (4) and listen to the stored music ' without having to log in multiple times. On the other hand, the data not contained in the access control record 1 is not accessible. Thus, users of the same mobile phone can have valuable content, such as games and photos that can be accessed via the access control record 2. This is the material that he does not want to access by someone else on his phone's office, even though he may not mind that someone else can access the control record through his first account. In the open session, access to the data is separated into two separate accounts1 while allowing access control records to be accessed, providing easy protection and providing valuable information protection. In order to further facilitate the sharing of the session ID between the host applications, when an access control record is requesting an open session, it can explicitly request that the session be assigned. "ID. In this way, the application can be designed to use a predefined duration m. The only restriction, for obvious reasons, is that only the specific time is identifiable—the session access control is being requested. Recorded. An attempt to identify another access control that is being requested will be rejected. 122365.doc -48- 200821837 The attempt to record will be rejected. Security Period In order to add a layer of security, the session ID can be used, as shown in Figure 17B. Then, the memory 1 储存 also stores the session ID of the active state session. In FIG. 1B, for example, in order to be able to access a file associated with the key ID X, the entity will also need to provide a session ID before the entity is allowed to access the file, such as Period ID "A" (blocks 4〇4, 406, 412, and 414). In this way, unless the requesting system knows the correct session ID, it cannot access the memory. Since the session m is deleted after the end of the session and is different for each session, a real system can only be accessed if it has been able to provide the session number. By using the session number, the female full storage application system tracks whether a command system is actually from a properly authenticated entity. The host application uses a secure session (a secure channel) for applications and usage scenarios where an attacker will attempt to use an open channel to transmit malicious commands. When a secure channel is used, the session ID and the entire command are encrypted with a secure channel encryption (session) key and the security level is as high as the host implementation. Termination of a session In any of the following conditions, the termination of a backup (three) period, and the logout of the access control record · 1 · The system issued a clear end of the session order. 122365.doc -49- 200821837 』2. The overnight time is overdue. A particular entity has not issued any commands during a period of time (as defined by access control § parameters). 3. Reset and/or power cycle 4 of the device (such as flash memory card), and all open sessions of the winter. The Data Integrity Service Library is used to verify that the secure storage application data (which contains all access control records, permission control records, etc.) is provided through the male and key 1D mechanisms. Data integrity services for physical data. If the key ID is configured to use hashing as its encryption algorithm, then the = value is stored side by side with the content encryption key and IV in the content encryption key. Have been recorded. Calculate and store hash values during writer operations. The hash (4) is again calculated during the read operation and compared to the value stored during the previous write operation. Whenever the entity is accessing the secret, the external data is (in cryptographically compiled) concatenated to the old data and updated (for reading or writing) suitable hash values. = For only the host knows that it is associated with a key m or by a key 〇 to point to the file 'so the host explicitly manages several aspects of the data element integrity function in the following way: ' Associated The data key file pointed to by -key 1〇 or by a secret output is written or read from the end to the end. Any attempt to access the portion of the file will confuse it 'cause that the secure storage program is using one: block exhaustion encryption method and generate the entire data - miscellaneous message extract 122365.doc -50- 200821837 2. It is not necessary to process a continuous stream (the data stream can be interleaved and his data stream is streamed, and the data can be divided into multiple sessions (1), the reason is that the middle of the hash value is This secure storage application system maintains. However, if the data stream is reopened #, the entity will need to explicitly refer to (4) the secure storage application pure reset (4) hash value. 3_ When a fetch operation is completed At the time, the host explicitly requests the secure storage application H (4) to confirm the hash of the read by comparing the read (4) and the hash value calculated during the writer operation. 4. The secure storage application system also provides a &quot Set the read "Operation. This feature will stream the data through the encryption engine, but will not transfer it out to the host. This feature can be used to actually get the data from the device (such as a flash memory card) ) read Previously, confirm the integrity of the data. The random number generation of the provincial Angkor storage application system will enable external entities to use the internal m to generate n ' and the request random number is used outside the secure storage application system. This service can be Any host use, and no need to remember. The RSA key pair generation of the secure storage application system will enable external users to use the internal RSA key pair to establish features 'and request a pair of key pairs to be used for the secure storage application Outside the program system. This service can be used by any host and does not require authentication. Alternate embodiments do not use a hierarchical architecture, similar results can be achieved using the database method 122365.doc -51 - 200821837, such as Shown in Figure 18. If not in Figure 18, a list containing the maximum number of authentications, authentication methods, failure attempts, and the minimum number of authentications required to unblock the entity may be stored in the controller 12 or Among the data banks in the memory 2, the / month order makes the tolerance requirement related to the implementation of the controller η of the memory 1 Principles (for key and partition read, write access, secure channel requirements). Also stored in the database are constraints and restrictions on access secrets and partitions. Therefore, some entities (for example , System Lawr) can be on a white list, which means that these entities can access all the secrets and partitions. Other real systems can be on the _ black list, and their attempts to access any information will be Blocking. This restriction can be global, or key and/or partition-specific. This means that only certain entities have access to certain keys and partitions, and some entities cannot do so. It can also be placed on the content itself, regardless of the partition in which the content is located or the key used to encrypt or decrypt the content. Therefore, certain materials (such as 'songs) can have only the first 5 Attributes accessed by the host device accessing them, or other materials (eg, movies), can only be attributed to a number of times, regardless of which entities have access rights. 4 Privilege, code protection / password protection means that a password needs to be submitted to access the protected area "unless it cannot exceed a password", otherwise the password can be associated with different rights, such as read access and / Or write access. • Password protection means that the device (for example, a flash memory card) can verify the password provided by the host, that is, the device is also stored in the device management. Passwords in the secure memory area. Publishing and Restrictions • Passwords are subject to replay attacks. Because the password does not change after each submission, it can be retransmitted in the same way. It means that if it is to be protected If the system is valuable, the password should not be used, and the 汇fl bus system is easy to access. • The password can protect the data stored in the store#, but should not be used to protect the data (not a key) In order to increase the security level associated with the password, it can be used as a master key, and the result is that the hacker does not mess up the entire system. - Based on the session period The basic secure communication channel can (4) transmit the password. Figure 19 shows a flow chart for authentication using a password. The real system transmits the account ID and password to the system! 〇 (for example, a flash memory card). Check to see if the password matches the password in its memory. If it matches, return the authenticated status. Otherwise, accumulate the error count II for the account, and the real system is required to re-enter Person-account ID and password ° If the count is 11 full, then the system returns the access denied access. Symmetric key pair: Second: the algorithm means that the same is used at both ends of the encryption and decryption. The secret / : is forbidden that the key has been pre-approved before the communication. In addition, the parent 1 should implement each other's inversion algorithm, that is, the encryption of the end - end 122365.doc 53 - 200821837 and the other end The decryption algorithm. The two ends do not need to implement the two algorithms for communication. The identification of the symmetric and key authentication means that the device (for example, the flash memory card) and the host share the same key and have the same Password compilation algorithm (direct and reverse, for example, DES and DES-1) Response (Protection prevents the challenge of replaying other devices, and both • Symmetric key authentication means challenge-hit). Protected devices produce one to

计异回應。該4監認裝置傳回該目應、,且該受保言蔓裝置檢查 該回應,且據此因而確認鑑認。接著,與鑑認相關的_ 可被授予。 鑑認可以係: .外部的:該裝置(例如快閃記憶體卡)鑑認外部的世 界’亦即,該裝置確認-給定主機或應用程式之認證。 •相互的:於兩端上產生一挑戰。 •内部的··該主機應用程式鐘認談裂置(亦即,快閃記 憶體卡)’亦即,主機檢查是否裝 w 士 我置對於其之應用程式而 即,破壞一者係非 為了增加整個系統的安全性等級(亦 破壞全部), 控密鑰而與多樣化結合。 挑戰,以確保挑戰係—真實 •對稱密鑰係通常使用一主 •相互鑑認使用來自兩端的 的挑戰。 加密 122365.doc -54- 200821837 、冉山鑰隹、碼編譯亦用於加密,因為其係一非常有效率 的肩开去,亦即,其係不需要一功能強大的中央處理 來處置密碼編譯。 當用於使一通訊通道安全時·· •兩端裝置必須知道用於使該通道安全(亦即,加密 ^專出^料且解密所有傳人諸)的會期密鍮。通常使用 預先共用的安全對稱密鑰或使用公開密鑰基礎結構而 置此會期密輪。 建 兩端1置係必須知道及實施相同的密碼編譯演算法。 簽名 /㈣密鑰亦可使用於簽名資料。於此情況下,簽名係加 山的。ρ刀結果。保持該結果為部分的允許簽名與所需— 樣多次,而不顯露該密鑰值。 而 發佈及限制 對稱决异法係非常有效率且安全的,然而其係以一預共 =秘密為基礎。該發佈係以—動態方式安全地共用此ς 在且可此使其為隨機的(像是一會期密瑜)。此想法係一 共用的秘密係不易於長期保持安全的,且係幾乎不可能與 多個人員共用。 為了促進此操作’已經發明公開密鑰演算法,因為其係 允許秘密交換,而不共用該等秘密。 非對稱鐘認程序 以非對稱密鑰為基礎的鑑認使用傳送命令之一系列資 料,其係最終建構用於安全通道通訊之會期密鑰。基本協 122365.doc -55- 200821837 定係對於該安全儲存應用程式系統鑑認該使用者。協定變 化係允許:相互鑑認,其中,該使用者係必須鑑認他想要 使用的存取控制記錄;以及雙因素鑑認。 較佳地,該安全儲存應用程式之非對稱鑑認協定使用公 開密錄基礎結構(PKI)及RS A演算法。如由這些演算法所定 義,該鑑認程序内每一當事人係被允許建立其自己的Rs A 密鑰對。每一 RSA密鑰對係由公開密鑰及私有密鑰所組 成。因為該等密鑰係匿名的,所以其無法提供身份的證 明。該公開密鑰基礎結構層尋求一第三方且受信任的當事 人,其簽名該等公開密鑰之每一者。該受信任的當事人之 公開密鑰係於將彼此鑑認之當事人之間預先共用,且係使 用於驗證该4當事人的公開密鑰。一旦信任係被建置(兩 個當事人決定由另一當事人所提供之公開密鑰可被信 任),忒協疋係持續4監認(驗證每一當事人保存匹配的私有 密鑰)以及密鑰交換。此可透過示於圖22及23中之挑戰回 應機制而實施,如下文所述。 含有該加上簽名的公開密鑰之結構被稱為一憑證。簽名 该等憑證的受信任當事人被稱為憑證授權單位(CA)。為了 使一當事人成為經鑑認,其具有一 RSA密鑰對及一證明該 公開密鑰的真實性之憑證。該憑證係由—憑證授權單位加 上簽名,該憑證授權單位係受到另一(鑑認)當事人信任。 該鑑認當事人係被期望於苴之目★洋/ %之財產上具有其受信任的憑證 授權單位之公開密输。 該安全儲存應用程式糸# a i Λ糸、、先允許憑證鏈。此係意謂被識別 122365.doc •56· 200821837 之當事人的公開密鑰係可以由一與該識別當事人所信任的 不同的憑證授權單位加上簽名。於此情況下,該被識別當 事人除了提供其自己的憑證之外,亦提供對其公開密鑰加 上簽名之憑證授權單位的憑證。假如該第二層級憑證係仍 然不被另一當事人所信任(未被其受信任的憑證授權單位 加上簽名),則可提供一第三層級憑證。於此憑證鏈演算 法之中,每一當事人係將持有需要鑑認其公開密鑰之憑證 的完整清單。此係顯示於圖23及24。用於此種類型存取控 制記錄相互鑑認所需要之認證係所選長度之RSA密鑰對。 安全儲存應用程式憑證 安全儲存應用程式係採用[X.509]第3版數位憑證。 [X.509]係一種一般用途標準;於此所述之該安全儲存應用 程式憑證資料檔係進一步說明及限制憑證定義攔位之内 容。該憑證資料檔亦定義用於憑證鏈、安全儲存應用程式 憑證之確認及憑證廢止清單(CRL)資料檔之管理所定義之 信任的階層架構。 該憑證係被認為為公開資訊(如同内部的公開密鑰),且 因而係不被加密。然而,其包含一RSA簽名,其係驗證該 公開密鑰以及所有其他資訊欄位未被竄改。 [X.509]係定義每一攔位係使用ASN.1標準而格式化,其 接著使用用於資料編碼之DER格式。 安全儲存應用程式憑證概觀 顯示於圖20及2 1之該安全儲存應用程式憑證管理架構之 一項實施例包含用於該主機之無限層級階層架構及用於該 122365.doc -57- 200821837 然而對於該裝置可使用多於或 裝置至多3層級階層架構 少於3的層級數。 主機憑證階層架構 該裝置係根據兩項因素而 Μ ^ ^ W主機·儲存於該裝置内的 很心也投權早位憑證(作盔 ^ ^ ^ 1作為一存取控制記錄認證,於嗜在 取控制記錄之建立時予以健产、 ” …亥存 ^ :存)及由嘗試存取該裝置之實 體所獒供的憑證/憑證鏈(用 、 1用於δ亥特疋存取控制記錄)。 對於母一存取控制免錄 + ._ . 11、彔而s,該主機憑證授權單位係作 為该根憑證授權單位(此係 乍 内的憑證)。舉例而古’對於/打子取控制記錄認證 、 牛1J肉σ對於一存取控制記錄而言,誃步 憑證授權單位可以係"主機j馮 ^ , 铖也杈榷早位(第2層級)憑證,,, 且對於另-存取控制記錄而言,該根憑證授權單位可以係 ”主機根憑證授權單位憑證"。對於每一存取控制記錄而 :,持有由該根憑證授權單位簽名之一憑證(或者—連接 該根憑證授權單位至終端實體憑證之憑證鏈)之每一實體 可登入該存取控制記錄,前提係其具有用於該終端實體憑 證之對應的私有密鑰。如上文所述,憑證係公開的知識, 且係非保持秘密的。 由該根憑證授權單位所發佈之所有憑證擁有者(及對應 的私有密鑰)可登入該存取控制記錄的事實係意謂,對2 一特定存取控制記錄之㈣係由儲存於該存取控制記錄認 證内之根憑證授權單位的發行者所決定。換句話說,該根 憑證授權單位之發行者可以係㈣該存取控制記錄的鑑認 方案的實體。 122365.doc -58- 200821837 主機根憑證 該根憑證係該安全儲存應用程式正在用於開始驗證嘗試 登入(主機)之實體的公開密输之受信任的憑證授權單位憑 證。當該存取控制記錄被建立以作為該等存取控制記錄認 證之部分時,提供此憑證。其係用於該公開密鑰基礎結構 系統之信任的根,且因此,其係假設由一受信任的實體 (一父代存取控制記錄或製造/組態受信任的環境)所提供。 該安全儲存應用程式使用其公開密鑰以驗證該憑證簽名而 驗證該憑證。該主機根憑證係經加密地儲存於一非揮發性 記憶體之中(未顯示於圖1),且該裝置之秘密密鑰較佳地係 僅可由系統10之圖1的中央處理單元12所存取。 主機憑證鏈 主機憑證鏈係於鑑認期間提供給該安全儲存應用程式的 憑證。在完成該主機憑證鏈之處理之後,於該裝置中應未 儲存該主機憑證鏈之回憶。 圖20繪示若干不同的主機憑證鏈之主機憑證層級階層架 構之示意圖。如示於圖20,該主機憑證係可以具有許多不 同的憑證鏈,其中,僅三個係被顯示: A1.主機根憑證授權單位憑證502、主機1憑證授權單 位(第二層級)憑證5〇4及主機憑證5〇6 ; B1.主機根憑證授權單位憑證502、主機n憑證授權單 位(第二層級)憑證5 0 8 ’主機1憑證授權單位(第三層級)憑 證5 10及主機憑證512 ; C1.主機根憑證授權單位憑證502、主機η憑證授權單 122365.doc -59- 200821837 位(第二層級)憑證5〇8及主機憑證514。 上述之三個憑證鏈A1、扪及山係顯示可被用於證明該 主機之公開密鑰係為真實的之三個可能的主機憑證鍵。參 照上述憑證鏈A1及圖20,該主機!憑證授權單位(第二層 級)憑證504内的公開密鎗係藉由該主機根憑證授權單位: 私有密鑰而被簽名(亦即,藉由加密該公開密餘之摘要广 口亥主機根憑證授權單位的公開密 抑 州在蝙係於该主機根憑證授權 單位憑證502之内。於該φ擔cΛ^ f 於4主械憑證506内的主機公開密鑰係 接著由該主機1憑證授權單位(第二層級)之該私有密鍮所簽 名,該主機!憑證授權單位(第二層級)的公開密输係提供於 该主機1憑證授權單位(第二層級)憑證504之内。因此,一 具有該主機根憑證授權單位的八 ^ 催早位的公開密餘之實體係將能夠驗 5且上述憑證鏈A1之真實性。作糸笙 甘“; 只r作為弟一步驟,該實體係使用 八擁有之该主機根憑證授權單^ ^ ^ ^ ^ ^ ^ 哕主媸值、“甘 早位之。亥公開讀,以解密由 Θ主機傳达至其之主機1馮 機心°且杈權早位(第二層級)憑證504 内經簽名的公開密鑰,且比較 ^ ^^ ^ 孕乂°亥經解畨的經簽名公開密鑰 及由该主機所傳送之該主 ^ ^ ^ Α 戍心也杈權早位(第二層級)憑證 504内之未經簽名的公 ^ , $的摘要。假如該兩者係匹 配,則該主機1憑證授權單 、 , Η ^ (第一層級)之該公開密鑰係被 逢皿口心,且该實體接著將使 ™主機1憑證授權單位(篦-厣 級)之該經鑑認公開密鑰 早(第-層 4, 解捃由該主機傳送之該主機 心也506内之s亥主機!憑證授 撕1i 平1 I弟一層級)的私有密鑰 所簽名之主機的公開密鑰 ^ ^ 該主機所傳达之該主機憑證田 円之该公開密鑰的摘要之 122365.doc -60- 200821837 值,則該主機之該公開密鑰係接著亦被鐘認。可用類似的 方式使用該憑證鏈B1及C1以用於鑑認。 如同將由上述牽涉到憑證鏈A1之程序所注意到,來自需 要被忒實體驗證之該主機的第一公開密瑜係於該主機丄憑 證授權單位(第二層級)内的密鑰,且非為該主機根憑證授 榷早位憑證。因此,該主機僅需要傳送該主機丨憑證授權 單位(第一層級)憑證5〇4及該主機憑證5〇6給該實體,使得 該主機1憑證授權單位(第二層級)憑證將為該憑證鏈中需要 被傳送的第一憑證。如上文所示,憑證驗證的序列係如 下。该驗證實體(於此情況下,即記憶體裝置10)首先驗證 /心€鏈中β亥第一憑證内的公開密餘的真實性,其在此情 况下係在该根憑證授權單位下方的憑證授權單位的憑證 504。在此類憑證内的公開密鑰被驗證為真實的之後,裝 =10接著係進行至驗證下一憑證,於此情況下係該主機憑 且06藉由相同的符記,可應用一類似的驗證序列,其 中’該憑證鏈含有兩個以上憑證,其開始於緊接在該根下 方的憑證,而結束於將被鑑認之實體的憑證。 裝置憑證階層架構 s亥主機係根據兩項因素而鑑認該裝置:儲存於該主機内 的裝置根憑證授權單位憑證及由該裝置提供給該主機之碼 證/憑證鏈(其係於該存取控制記錄建立時提供給該裝置了 2為—認證)。用於由該主機鐘認該裝置的程序係類似 於上文所述該裴置鑑認該主機之程序。 裝置憑證鍵 122365.doc 61 200821837 裝置憑證鏈係該存取控制記錄之密鑰對的憑證。其係當 該存取控制記錄被建立時提供給該卡。該安全儲存應用程 式個別儲存這些憑證,且將於鑑認期間,逐一地提供憑證 給該主機。該安全儲存應用程式使用這些憑證以鑑認該主 機。該裝置能夠處理一含3個憑證的憑證鏈,然而可使用 不同於3個的若干憑證。憑證的數量係因存取控制記錄不 同而改變。其係當該存取控制記錄被建立時予以決定。該 裝置可傳送該憑證鏈給該主機,然而,其係不需要分析它 們,原因係其係不使用該憑證鏈資料。 圖21顯示裝置憑證層級階層架構之示意圖,用於顯示使 用安全儲存應用程式用於諸如儲存裝置之裝置的1至η不同 的憑證鏈。示於圖21之該η個不同的憑證鏈係如下: Α2.裝置根憑證授權單位憑證520,裝置1憑證授權單 位(製造商)憑證522及裝置憑證524 ; Β2·裝置根憑證授權單位憑證520,裝置η憑證授權單 位(製造商)憑證526及裝置憑證528。 該安全儲存應用程式裝置係可以由1至η個不同的製造商 所製造,每一製造商係具有其自己的裝置憑證授權單位憑 證。因此,於用於一特定裝置之裝置憑證内的公開密鑰係 藉由其製造商的私有密鍮予以簽名,且接著該製造商的公 開密鑰係由該裝置根憑證授權單位的私有密鑰予以簽名。 該裝置之該公開密鑰被驗證的方式係類似於上述該主機之 公開密鑰之情況下的方式。當在上述用於主機之憑證鏈A1 之驗證之情況時,不需要傳送該裝置根憑證授權單位憑 122365.doc -62- 200821837 證, 授權 整數 憑證係裝置i憑證 證’ i係自1至η的 且該等憑證鏈内需要被傳送之第一 I位(製造請證,其後接著裝置憑 〇 於示於圖21之實施例中, i憑證授權單位(製造商)㈣ ^父兩個憑證··裝置 说。$ # n " ϋ心也,其後接著其自己的裝置憑 ^ 早位(裟埏商)憑證係製造該如此裝置 裳仏商且係提供私有密输 造商的憑證。當該裝置二二置之公開密鑰的製 ^ ^ 心戍杈柘早位(製造商)憑證係由該 機:以接收時,該主機制其擁有的根憑證授權單位之 A開饴鑰’以解密及驗證該裝置1憑證授權單位(製造商)公 開密鑰。假如此驗證失敗’則該主機將中止該程序,且通 知該裝置鑑認已失敗。假如鑑認成功,則該主機係傳送一 請求給該裝置’以用於下一憑證。接著,該裝置係以一類 似的方式’傳送其將被該主機驗證之自己的裝置憑證。Counting responses. The 4 monitoring device returns the target, and the protected device checks the response, and accordingly confirms the authentication. Next, the _ associated with the authentication can be granted. The authentication can be: External: The device (e.g., a flash memory card) identifies the external world', i.e., the device confirms - the authentication of the given host or application. • Mutual: creates a challenge on both ends. • The internal ··································································································· Increase the security level of the entire system (also destroys all), control the key and combine with diversity. Challenges to ensure that the challenge system – the real • symmetric key system usually uses a master • mutual authentication to use challenges from both ends. Encryption 122365.doc -54- 200821837, 冉山隹, code compilation is also used for encryption, because it is a very efficient shoulder, that is, it does not require a powerful central processing to handle cryptography . When used to secure a communication channel, both devices must know the session key used to secure the channel (i.e., encrypt and decrypt all the packets). This session is usually set up using a pre-shared secure symmetric key or using a public key infrastructure. It is necessary to know and implement the same cryptographic compilation algorithm. The signature / (4) key can also be used for signature data. In this case, the signature is added. ρ knife results. Keeping the result as part of the allowed signature is as many as needed, without revealing the key value. The release and restriction of the symmetry system is very efficient and safe, but it is based on a pre-common=secret. The release is safely shared in a dynamic manner and can be made random (like a session). The idea that a shared secret is not easy to maintain for a long time is almost impossible to share with multiple people. In order to facilitate this operation, public key algorithms have been invented because they allow secret exchanges without sharing the secrets. Asymmetric Clocking Procedures Asymmetric key-based authentication uses a series of transmission commands that ultimately construct the session key for secure channel communication. The Basic Association 122365.doc -55- 200821837 determines the user for the secure storage application system. The protocol change allows for mutual authentication, where the user must identify the access control record he wants to use; and two-factor authentication. Preferably, the asymmetric authentication protocol of the secure storage application uses a publicly cryptographic infrastructure (PKI) and an RS A algorithm. As defined by these algorithms, each party within the authentication procedure is allowed to establish its own Rs A key pair. Each RSA key pair is composed of a public key and a private key. Because these keys are anonymous, they cannot provide proof of identity. The public key infrastructure layer seeks a third party and trusted party that signs each of the public keys. The public key of the trusted party is pre-shared between the parties who authenticate each other and is used to verify the public key of the party. Once the trust system is established (two parties decide that the public key provided by the other party can be trusted), the association continues to monitor 4 (verify each party to save the matching private key) and key exchange . This can be implemented by the challenge response mechanism shown in Figures 22 and 23, as described below. The structure containing the signed public key is called a credential. Signing Trusted parties to these credentials are referred to as Credential Authorization Units (CAs). In order for a party to be authenticated, it has an RSA key pair and a certificate proving the authenticity of the public key. The voucher is signed by the voucher authority, which is authorized by another (authenticated) party. The identifiable party is expected to have a public secret of its trusted voucher authority on the property of 苴. The secure storage application 糸# a i Λ糸, first allow the credential chain. This means that the public key of the party identified is 122365.doc • 56· 200821837 can be signed by a different credential authority that is trusted by the identifying party. In this case, the identified party, in addition to providing its own credentials, also provides credentials for the certificate authority that has signed the public key. If the second level of credentials is still not trusted by another party (not signed by its trusted certificate authority), a third level of credentials may be provided. In this voucher chain algorithm, each party will hold a complete list of documents that need to be authenticated for their public key. This is shown in Figures 23 and 24. The authentication required for mutual authentication of this type of access control record is the RSA key pair of the selected length. Secure Storage Application Credentials The Secure Storage application uses the [X.509] version 3 digital certificate. [X.509] is a general purpose standard; the secure storage application voucher data file described herein further describes and limits the content of the voucher definition block. The voucher data file also defines a hierarchy of trusts defined by the credential chain, the confirmation of the secure storage application credentials, and the management of the credential revocation list (CRL) profile. The voucher is considered to be public information (like an internal public key) and is therefore not encrypted. However, it contains an RSA signature that verifies that the public key and all other information fields have not been tampered with. [X.509] defines that each block is formatted using the ASN.1 standard, which in turn uses the DER format for data encoding. An example of the secure storage application voucher shown in Figures 20 and 21 includes an infinite hierarchical hierarchy for the host and for the 122365.doc -57-200821837 The device may use more than or a number of levels of up to 3 for at most 3 levels of hierarchy. Host Credential Hierarchy Architecture The device is based on two factors: ^ ^ W host · The heart of the device is also stored in the device and also voted for the early voucher (for helmet ^ ^ ^ 1 as an access control record authentication, in the Take the control record to establish the health record, "..." and the certificate/credential chain provided by the entity attempting to access the device (use 1 for the δHite access control record) For the parent-access control exemption record + ._ . 11, 彔 and s, the host certificate authority unit is the root certificate authority (the certificate in this system). For example, the ancient 'for / beat control Recording authentication, cattle 1J meat σ For an access control record, the step-by-step certificate authority unit can be linked to the host j Feng ^, 铖 杈榷 杈榷 ( ( ( level 2) vouchers,,, and for another For the control record, the root certificate authority may be the "master root certificate authority unit certificate". For each access control record: each entity holding a certificate signed by the root certificate authority (or - a certificate chain connecting the root certificate authority to the end entity certificate) can log into the access control record The premise is that it has a corresponding private key for the end entity voucher. As mentioned above, a voucher is a publicly available knowledge and is not kept secret. The fact that all the certificate holders (and corresponding private keys) issued by the root certificate authority can log into the access control record means that the (4) of a particular access control record is stored in the deposit. It is determined by the issuer of the authorized unit of the root certificate within the control record certificate. In other words, the issuer of the root certificate authority may be the entity of the (4) access control record access control scheme. 122365.doc -58- 200821837 Host Root Credential This root credential is the trusted credential authorized unit credential that the secure storage application is using to begin verifying the public key of the entity attempting to log in (host). This credential is provided when the access control record is established as part of the access control record authentication. It is used for the root of the trust of the public key infrastructure system and, therefore, is assumed to be provided by a trusted entity (a parent access control record or a manufacturing/configuration trusted environment). The secure storage application verifies the voucher by using its public key to verify the voucher signature. The host root certificate is stored encrypted in a non-volatile memory (not shown in Figure 1), and the secret key of the device is preferably only available from central processing unit 12 of system 1 of system 10. access. Host Credential Chain The host credential chain is the credential that is provided to the secure storage application during authentication. After the processing of the host credential chain is completed, the memory of the host credential chain should not be stored in the device. Figure 20 is a schematic diagram showing the hierarchy of host credential levels of a number of different host credential chains. As shown in Figure 20, the host certificate can have many different credential chains, of which only three are displayed: A1. Host Root Credential Authorization Unit Credential 502, Host 1 Credential Authorization Unit (Second Level) Credentials 5〇 4 and host certificate 5〇6; B1. Host root certificate authority unit certificate 502, host n certificate authority unit (second level) certificate 5 0 8 'Host 1 certificate authority unit (third level) certificate 5 10 and host certificate 512 C1. Host Root Certificate Authorization Unit Credential 502, Host η Document Authorization Order 122365.doc -59- 200821837 Bit (Second Level) Document 5〇8 and Host Credential 514. The three credential chains A1, 扪 and 显示 show above can be used to prove that the host's public key is authentic three possible host credential keys. Refer to the above voucher chain A1 and Figure 20, the host! The public gun in the voucher authority (second level) voucher 504 is signed by the host root credential authorization unit: private key (ie, by encrypting the public secret summary of the Guangkouhai host root certificate) The publicly-restricted state of the authorized unit is within the host root certificate authority unit voucher 502. The host public key in the 4 main device voucher 506 is then authorized by the host 1 voucher authority unit. The private key of the (second level) is signed, and the public key of the host certificate authority (second level) is provided in the certificate 1 (second level) certificate 504 of the host 1. Therefore, one The system of the public secret with the host root certificate authority will be able to verify the authenticity of the above-mentioned voucher chain A1. As a step, the real system uses Eight possessed the host root certificate authorization ^ ^ ^ ^ ^ ^ ^ 哕 main value, "Gan early position. Hai public read, to decrypt the host communicated to the host by the host 1 Feng machine heart ° and the right (second level) voucher 504 signed Public key, and compare the signed public key of the ^^^ ^ 乂 乂 亥 亥 亥 亥 及 及 及 及 及 及 及 及 及 及 及 及 及 及 签名 签名 签名 504 504 504 504 504 504 504 504 504 504 504 504 504 a summary of the unsigned public, $. If the two match, then the public key of the host 1 voucher, Η ^ (first level) is compromised, and the The entity will then cause the authenticated public key of the TM host 1 credential authorization unit (篦-厣 level) to be early (the fourth layer 4, and the host host transmitted by the host is also the host of the host 506! The public key of the host signed by the private key of the tearing 1i level 1 ^ level 1 ^ ^ ^ The summary of the public key of the host certificate communicated by the host 122365.doc -60- 200821837 The value, then the public key of the host is then also recognized. The credential chain B1 and C1 can be used in a similar manner for authentication. As will be noted by the above-mentioned procedure involving the credential chain A1, from the need The first public secret of the host verified by the entity is attached to the host certificate authority ( The key in the second level), and the host root certificate is not authorized for the early time certificate. Therefore, the host only needs to transmit the host/credential authorization unit (first level) certificate 5〇4 and the host certificate 5〇6 To the entity, the host 1 credential authorization unit (second level) credential will be the first credential in the credential chain that needs to be transmitted. As shown above, the sequence of credential verification is as follows. Next, the memory device 10) first verifies the authenticity of the public secret within the first voucher in the beta chain, which in this case is the voucher 504 of the voucher authority under the root credential authorization unit. After the public key in such a voucher is verified as authentic, loading = 10 is followed by verification to the next voucher, in which case the host can apply a similar one by using the same token. A verification sequence in which 'the credential chain contains more than two credentials starting with the credentials immediately below the root and ending with the credentials of the entity to be authenticated. The device credential hierarchy architecture identifies the device according to two factors: a device root credential authorization unit voucher stored in the host and a code/credential chain provided by the device to the host (which is attached to the device) When the control record is established, it is provided to the device as 2 - authentication). The program for the device to be recognized by the host is similar to the program described above for authenticating the host. Device Credentials Keys 122365.doc 61 200821837 The device credential chain is the credential of the key pair for this access control record. It is provided to the card when the access control record is created. The secure storage application stores these credentials individually and will provide credentials to the host one by one during the authentication period. The secure storage application uses these credentials to authenticate the host. The device is capable of processing a voucher chain with 3 credentials, however several credentials other than 3 can be used. The number of vouchers varies depending on the access control record. It is determined when the access control record is created. The device can transmit the credential chain to the host, however, it does not need to analyze them because it does not use the credential chain data. Figure 21 is a diagram showing the hierarchy of device credential hierarchy for displaying a 1 to n different credential chain using a secure storage application for a device such as a storage device. The n different credential chains shown in Figure 21 are as follows: Α 2. Device Root Credential Authorization Unit Credential 520, Device 1 Credential Authorization Unit (Manufacturer) Credential 522 and Device Credential 524; Β 2 • Device Root Credential Authorization Unit Credential 520 The device η certificate authority unit (manufacturer) certificate 526 and device certificate 528. The secure storage application device can be manufactured by 1 to n different manufacturers, each manufacturer having its own device certificate authority certificate. Thus, the public key in the device credential for a particular device is signed by its manufacturer's private key, and then the manufacturer's public key is the private key of the device's root credential authorized unit. Sign it. The manner in which the public key of the device is verified is similar to the manner in which the host's public key is described above. When in the above-mentioned case for the verification of the credential chain A1 of the host, it is not necessary to transmit the device root certificate authority unit with the certificate of 122365.doc -62-200821837, authorizing the integer voucher device i voucher 'i system from 1 to η And the first I bit to be transmitted in the voucher chain (manufacturing certificate, followed by the device in the embodiment shown in Figure 21, i voucher authorized unit (manufacturer) (four) ^ parent two voucher ··Device said. $ # n " ϋ心也, followed by its own device by the early (裟埏商) voucher system to manufacture such a device and is a private secret manufacturer. When the device's public key system is issued by the machine: to receive, the main mechanism has the root certificate authorization unit A key To decrypt and verify the device 1 certificate authority (manufacturer) public key. If the verification fails, then the host will abort the program and notify the device that the authentication has failed. If the authentication is successful, the host transmits A request to the device 'for the next voucher The device then transmits its own device credentials that will be verified by the host in a similar manner.

上述驗證程序係亦更詳細地顯示於圖22及23。於圖U 中’ ”安全服務模組系統"係一軟體模組,其係實施本文所 述之安全儲存應用程式系統以及下文敘述之其他功能。安 全服務模組系統係可以建構為軟體或電腦碼,其具有儲存 於記憶體20或中央處理單元12内的一非揮發性記憶體(未 顯示)内的資料庫,且係由該中央處理單元12讀取至隨機 存取記憶體12a之中且予以執行。 如示於圖22,該程序内有三個階段,其中,裝置1〇内的 女全服務模組糸統542鑑認一主機系統540。於第一公開密 鑰驗證階段中,該主機系統540傳送該安全服務模組命令 122365.doc -63- 200821837 内该主機憑證鏈給該安全服務模組系統542。該安全服務 梹組系統542使用位於該存取控制記錄55〇内之該主機根憑 也548内的根憑證授權單位公開密鑰,而驗證(方塊552)該 主機憑證544及該主機公開密鑰546之真實性。若牵涉到介 於该根憑證授權單位與該主機之間的一中間憑證授權單位 則於方塊552,该中間憑證授權單位549亦被用於驗 證。假設該驗證或程序(方塊552)係成功的,則該安全服務 模組糸統5 4 2係接著進行至第二階段。 該安全服務模組系統542產生一隨機號碼554且傳送該隨 機唬碼554作為一挑戰而至該主機系統54〇。系統54〇使用 該主機系統的私有密鑰547簽名該隨機號碼554(方塊556), 且傳送該經簽名的隨機號碼作為對於該挑戰的回應。該回 應係使用該主機公開密鑰546予以解密(方塊558),且與該 隨機號碼554相比較(方塊56〇)。假設該經解密回應匹配該 隨機號碼554,則該挑戰回應係成功的。 於第三階段中,隨機號碼562係使用該主機公開密鑰 予以加密。接著,該隨機號碼562係會期密鑰。該主機系 統540可藉由使用其之私有密鑰解密(方塊%句來自該安全 服務杈組系統542之該經加密的隨機號碼562,而獲得該會 期密鑰。藉由此會期密鑰,接著可起始介於該主機系:: 540與該安全服務模組系統542之間的安全通訊。圖u係顯 不單向非對稱鑑認,其中,該主機系統540係由裝置1〇 内之該安全服務模組系統542予以鑑認。圖门係一協定 圖,其顯示-類似於圖22之單向鐘認協定之雙向相互鑑= 122365.doc •64- 200821837 程序,其中,圖23中之該安全服務模組系統542係亦由該 主機系統540予以鑑認。 圖24输示本發明之一項實施例之憑證鏈590的圖式。如 上文所述,需要被提交用於驗證之憑證鏈可包含若干憑 證。因此,圖24之憑證鏈包含總計9個憑證,該等憑證全 部係可以需要被驗證以用於鑑認。如說明於上文之先前技 術部分,於用於憑證驗證的現有系統中,在傳送一不完整 的憑證鏈,或者若傳送整個憑證,而該等憑證係不以任何 特定的順序予以傳送,使得接收者係將不能夠分析該等憑 證,直到整個憑證群組係已經被接收及儲存為止。因為於 一憑證鏈内憑證之數量係事先不知道,所以此可呈現一問 題。一大量的儲存空間係可能需要被保留,以用於儲存不 確定長度的憑證鏈。此可以係一對於實施驗證之儲存裝置 的問題。 本發明之一項實施例係根據:該問題可藉由主機裝置以 與該憑證鏈將被該儲存裝置驗證之相同順序傳送其之憑證 鍵之一系統所減輕之認知。因此,如示於圖2 4,憑證之憑 證鏈590係:開始於憑證鏈590(1),其係緊接在該主機根憑 證下方的憑證;且結束於憑證590(9),其係該主機憑證。 因此,裝置10將首先驗證憑證590(1)内之公開密餘,其後 接者憑證590(2)内之公開密输的驗證,以此類推,直到憑 證590(9)内的主機公開密鑰被驗證為止。接著,此係完成 整個憑證鏈5 9 0之驗證程序。因此,假如該主機裝置係以 與該憑證鏈將被驗證之相同順序或序列而傳送該憑證鏈 122365.doc -65- 200821837 59〇至記憶體裝置1G’則記憶體裝置1G可當每—憑證被接 收時開始驗證每-憑證’而不需要等待直到該憑證鏈590 内全部9個憑證已經被接收為止。 10將需要保留用於僅儲存一單一憑證的空間。 該記憶體裝置係將需要知道該整個憑證鏈590何時已經 被接收。因此,較佳地,最後一憑證590(9)係含有其係該 憑證鏈内最後-憑證之-指示項或—項指示。此特徵係顯 因此’於-項實施例中,該主機裝置係—次傳送該憑證 鏈59〇内-憑證至記憶體裝置1G。接著,記憶體裝置灣 必須-人儲存-單-憑證。在該憑證係已經被驗證之後, 其可被由該主機所傳送之下—憑證予以覆寫,惟該憑證鍵 中最後-憑證除外。以此方式,在任何時間,記憶體裝置 不於圖25 ’其顯不一控制區段的資訊的表,該控制區段係 在由該主機傳送至該記憶體裝置1〇之憑證緩衝區之前。如 不於圖25,憑證59〇(9)之控制區段含有一引數名稱,,,為最 後的旗心。接著,記憶體裝置1 〇可藉由檢查是否該,為最 後的’旗標係被設定,而驗證憑證590(9)係該憑證鏈内最後 一憑證’以決定是否所接收之憑證係該憑證鏈中最後一個 憑證。 於一替代實施例中,憑證鏈590内之憑證係可非以逐一 方式予以傳送,而係以含一個、兩個或三個憑證之群組予 以傳送。明顯地,可使用具有其他數量之憑證的群組或者 群組中相同數量之憑證。因此,憑證鏈590包含5個連續的 憑證串591、593、595、597及599。該等憑證串之每一者 122365.doc -66- 200821837 含有至少一憑證。一連續的憑證串係含有下列憑證的憑證 串:緊接於該憑證鏈中位於該討論中憑證串之前的憑證串 之憑證(開始憑證);緊接在該憑證鏈内該討論中憑證串的 後的憑證串的憑證(結尾憑證);以及介於該開始憑證與結 尾憑證之間之所有憑證。舉例而言,憑證串593含有三個 憑證590(2)、:590(3)及590(4)。該5個憑證串係由記憶體裝 置10以下列序列驗證:591、593、595、597且以599結 束。因此,假如該5個憑證串係以與記憶體裝置1〇所實施 之驗證相同的序列予以傳送及接收,則該記憶體裝置在彼 等憑證串已經被驗證之後,將不需要儲存任一憑證串,且 惟最後一憑證串除外的所有可被來自該主機而到逹的下一 憑證串所覆寫。如同先前的實施例,期望該憑證鏈内最後 一憑證係含有一諸如一旗標的指示項,其係被設定為一特 定的值,以指示其係該憑證鏈内最後一憑證。於此實施例 中,該記憶體裝置將僅需要保留足以儲存該5個憑證串内 最大數量的憑證的空間。因此,假如該主機首先係通知該 記憶體裝置10其意欲傳送之最長憑證串,該記憶體裝置10 係僅需保留用於最長憑證串列之足夠空間。 較佳地,由該主機所傳送之該憑證鏈内每一憑證的長度 不超過由該憑證所檢定的公開密鑰之長度的4倍。類似 地,較佳地,由該記憶體裝置10傳送至一主機裝置以檢定 該記憶體裝置之公開密鑰之憑證的長度不超過由該憑證所 檢定的公開密錄之長度的4倍。 上述用於憑證鏈之驗證的實施例係顯示於圖26之流程圖 122365.doc -67- 200821837 之中、其中,對於簡化起見,於每一群組内的憑證數量係 假設為1。如示於圖26,該主機係循序傳送該憑證鏈内之 憑證至該卡。以該憑證鏈内之第一憑證(典型地,接在該 根憑證之後的憑證,如上文所述)開始,該卡循序接收來 自正被鑑認之該主機的憑證鏈(方塊6〇2)。接著,該卡係驗 證每一接收到的憑證,且假如任一憑證係驗證失敗,則中 止该程序。假如該等憑證之任一驗證失敗,則該卡通知該 主機(方塊604,606)。接著,該卡係偵測是否最後一憑證 已經被接收及驗證(菱形608)。假如最後一憑證尚未被接收 及驗證,則該卡返回方塊6〇2,以繼續接收及驗證來自該 主機的憑證。假如最後一憑證已經被接收及驗證,則該卡 在憑證驗證之後,進行至下一階段(61〇)。雖然圖26及以下 後績圖内之特徵係引用記憶體卡作為範例,應瞭解的是, 這些特徵係亦可應用於具有非記憶體卡之實體形式之記憶 體裝置。 當該卡正在鑑認該主機時由該主機所實施之程序係顯示 於圖27。如示於圖27,該主機傳送該憑證鏈内下一憑證至 該卡(方塊620),典型地係以一接在該根憑證之後的憑證開 始。接著,該主機係決定是否已經接收到來自該卡之一指 不鑑認失敗的中止通知(菱形622)。假如已經接收一中止通 知,則該主機停止(方塊624)。假如尚未接收一中止通知, 則邊主機係藉由檢查是否已經於被傳送之最後一憑證中設 定’為最後的旗標,,而檢查看看是否已經傳送該憑證鏈内 最後一憑證(方塊626)。假如已經傳送最後一憑證,則在憑 122365.doc -68- 200821837 證驗證之後,該主機進行至下一階段(方塊628)。如示於圖 22及23,下一階段可以係一挑戰回應,其後係接著會期密 鑰建立。假如尚未傳送該憑證鏈内最後一憑證,則該主機 返回方塊620,以傳送該憑證鏈内下一憑證。 萄4卡正被鑑認時由該卡及該主機所採取的動作係顯示 於圖28及29。如示於圖28,在開始之後,該卡係等待一來 自该主機的請求,以傳送該憑證鏈内之一憑證(方塊63〇, 菱形632)。假如未接收到來自該主機的一請求,則該卡將 返回菱形632。假如接收到來自該主機的一請求,則該卡 接著將傳送該憑證鏈内下一憑證,其係以應該被傳送之第 A也開始(典型地,以接在該根憑證之後的憑證開始)(方 塊634)。該卡決定是否已接收到而來自該主機的一失敗通 知(方塊636)。假如已接收到一失敗通知,則該卡停止(方 塊63 7)。假如未接收到任何失敗通知,則該卡決定是否已 傳送最後一憑證(菱形638)。假如尚未傳送最後一憑證,則 该卡返回菱形632且等待直到其接收來自該主機的下一請 求為止,以用於傳送該憑證鏈内之下一憑證。假如已傳送 最後一憑證,則該卡係進行至下一階段(方塊639)。 圖29顯示當該卡係正在被鑑認時,該主機所採取之動 作。4主機傳送對於該憑證鏈内之下一憑證之請求至該 卡,其係以對於將被傳送之第一憑證的請求開始(方塊 640)。接著,該主機驗證每一接收到的憑證,且假如驗證 失敗,則中止該程序且通知該卡(方塊642)。假如驗證通 過,則該主機檢查看看是否已接收且成功地驗證最後一憑 122365.doc -69- 200821837 證(菱形644)。假如尚未接收及成功地驗證最後一憑證,則 该主機返回方塊640,以傳送一對於該憑證鏈内下一憑證 之請求。假如已接收及成功地驗證最後一憑證,則在憑證 驗證之後,該主機進行至下一階段(方塊646)。 憑證廢止 當發佈一憑證時,期望於其整個有效期間被使用。然 而,各種情況可能導致一憑證在有效期間到期之前變成無 效的。此類情況包含名稱改變,主題與憑證授權單位之間 一員工終止與一組織之雇用關係), 及危及或懷疑危及對應的私有密鑰。於此類情況下,該憑 證授權單位係需要廢止該憑證。 安全儲存應用程式係以不同的方式啟用憑證廢止,每一 存取控制記錄可被組態以用於一用於廢止憑證之特定方 法。一存取控制記錄可被組態成不支援一廢止方案。於此 十月況下,每一憑證係被認為有效的,直到其之到期曰期為 止。或者可採用憑證廢丨k浩蓖。从屯π 口 u .The above verification procedures are also shown in more detail in Figures 22 and 23. In Figure U, the 'Security Service Module System' is a software module that implements the secure storage application system described herein and other functions described below. The security service module system can be constructed as a software or computer. The code has a database stored in a non-volatile memory (not shown) in the memory 20 or the central processing unit 12, and is read by the central processing unit 12 into the random access memory 12a. And as shown in Figure 22, there are three stages in the program, wherein the female full service module system 542 in the device 1 identifies a host system 540. In the first public key verification phase, the The host system 540 transmits the host credential chain to the security service module system 542 within the security service module command 122365.doc -63 - 200821837. The security service group system 542 uses the access control record 55 The host root authenticates the unit public key by the root credential within 548, and verifies (block 552) the authenticity of the host credential 544 and the host public key 546. If the root credential authorization is involved An intermediate credential authorization unit with the host is at block 552, and the intermediate credential authorization unit 549 is also used for verification. Assuming the verification or procedure (block 552) is successful, the security service module system 5 The system then proceeds to the second phase. The security service module system 542 generates a random number 554 and transmits the random weight 554 as a challenge to the host system 54. The system 54 uses the private secret of the host system. The key 547 signs the random number 554 (block 556) and transmits the signed random number as a response to the challenge. The response is decrypted using the host public key 546 (block 558), and the random number 554 Comparing (block 56 〇), the challenge response is successful assuming the decrypted response matches the random number 554. In the third phase, the random number 562 is encrypted using the host public key. The number 562 is a session key. The host system 540 can be decrypted by using its private key (the block % sentence comes from the encrypted random number of the security service group system 542) Code 562, and obtain the session key. By means of the session key, then the secure communication between the host system: 540 and the security service module system 542 can be initiated. To the asymmetric authentication, wherein the host system 540 is authenticated by the security service module system 542 within the device 1. The map is a protocol map that displays - a one-way clocking agreement similar to that of Figure 22. The two-way mutual authentication = 122365.doc • 64-200821837 program, wherein the security service module system 542 of Figure 23 is also authenticated by the host system 540. Figure 24 illustrates an embodiment of the present invention Schema of the credential chain 590. As mentioned above, the credential chain that needs to be submitted for verification can contain several credentials. Thus, the voucher chain of Figure 24 contains a total of nine credentials, all of which may need to be verified for authentication. As explained in the prior art section above, in an existing system for credential verification, an incomplete voucher chain is transmitted, or if the entire voucher is transmitted, and the voucher is not transmitted in any particular order, The recipient will not be able to analyze the credentials until the entire credential group has been received and stored. This is because the number of voucher in a voucher chain is not known in advance. A large amount of storage space may need to be reserved for storing credential chains of unknown length. This can be a problem with the storage device that performs the verification. An embodiment of the present invention is based on the recognition that the problem can be mitigated by the host device transmitting its system of credentials in the same order that the credential chain will be verified by the storage device. Thus, as shown in FIG. 24, the voucher chain 590 of the voucher begins with voucher chain 590(1), which is the voucher immediately below the host root voucher; and ends with voucher 590(9), which is Host credentials. Thus, device 10 will first verify the disclosure secret in voucher 590(1), followed by the verification of the public secret in voucher 590(2), and so on, until the host in voucher 590(9) is publicly exposed. The key is verified. Then, this completes the verification process of the entire credential chain 59. Therefore, if the host device transmits the voucher chain 122365.doc-65-200821837 59〇 to the memory device 1G' in the same order or sequence as the voucher chain is to be verified, the memory device 1G can be used as a voucher. The verification of each-voucher is initiated upon receipt without waiting until all nine credentials in the credential chain 590 have been received. 10 will need to reserve space for storing only a single credential. The memory device will need to know when the entire credential chain 590 has been received. Thus, preferably, the last voucher 590(9) contains an indication of the last-voucher-indicator or item in the voucher chain. This feature is shown in the 'in the embodiment, the host device transmits the voucher chain 59-password to the memory device 1G. Next, the memory device bay must be - person stored - single - voucher. After the voucher has been verified, it can be overwritten by the voucher that is transmitted by the host, except for the last-voucher in the voucher key. In this manner, at any time, the memory device is not in the table of FIG. 25's information showing the control segment, which is before the certificate buffer transmitted by the host to the memory device 1 . If not in Fig. 25, the control section of the voucher 59 (9) contains an argument name, which is the final flag. Next, the memory device 1 can be set by checking whether the last 'flag system is set, and the verification voucher 590 (9) is the last voucher in the voucher chain to determine whether the received voucher is the voucher. The last voucher in the chain. In an alternate embodiment, the voucher in voucher chain 590 may be transmitted in a one-by-one manner, but in groups of one, two or three voucher. Obviously, the same number of credentials in a group or group with other numbers of credentials can be used. Thus, credential chain 590 contains 5 consecutive credential strings 591, 593, 595, 597, and 599. Each of the voucher strings 122365.doc -66- 200821837 contains at least one voucher. A contiguous credential string is a credential string containing the following credential: a credential (start credential) of the credential string immediately preceding the credential string in the voucher chain; immediately preceding the voucher chain in the voucher chain The voucher (end credential) of the subsequent voucher string; and all voucher between the start voucher and the end voucher. For example, credential string 593 contains three credentials 590(2), 590(3), and 590(4). The five credential strings are verified by the memory device 10 in the following sequence: 591, 593, 595, 597 and ending at 599. Therefore, if the five credential strings are transmitted and received in the same sequence as the verification performed by the memory device, the memory device will not need to store any credential after the credential strings have been verified. The string, and all except the last one, can be overwritten by the next credential from the host. As with the previous embodiment, it is expected that the last voucher in the voucher chain contains an indicator such as a flag that is set to a specific value to indicate that it is the last voucher in the voucher chain. In this embodiment, the memory device will only need to reserve enough space to store the maximum number of credentials in the five credential strings. Therefore, if the host first notifies the memory device 10 of the longest credential string it wishes to transmit, the memory device 10 only needs to reserve enough space for the longest credential string. Preferably, the length of each credential in the credential chain transmitted by the host does not exceed four times the length of the public key authenticated by the credential. Similarly, preferably, the length of the voucher transmitted by the memory device 10 to a host device to verify the public key of the memory device is no more than four times the length of the public secret recorded by the voucher. The above-described embodiment for verification of the credential chain is shown in the flow chart 122365.doc-67-200821837 of Fig. 26, in which the number of voucher in each group is assumed to be 1 for the sake of simplicity. As shown in Figure 26, the host sequentially transmits the credentials in the voucher chain to the card. Starting with the first credential within the credential chain (typically the credential following the root credential, as described above), the card sequentially receives the credential chain from the host being authenticated (block 6〇2) . Next, the card verifies each received credential and if any of the credential verification fails, the program is aborted. If any of the credentials fails to be verified, the card notifies the host (blocks 604, 606). Next, the card detects if the last credential has been received and verified (diamond 608). If the last credential has not been received and verified, the card returns to block 6〇2 to continue receiving and verifying credentials from the host. If the last voucher has been received and verified, the card proceeds to the next stage (61〇) after the voucher is verified. Although the features in Figure 26 and the following figures refer to the memory card as an example, it should be understood that these features can also be applied to a memory device having a physical form other than a memory card. The program implemented by the host when the card is authenticating the host is shown in FIG. As shown in Figure 27, the host transmits the next voucher in the voucher chain to the card (block 620), typically starting with a credential following the root credential. Next, the host determines whether an abort notification (diamond 622) from one of the cards has failed to be authenticated has been received. If an abort notification has been received, the host stops (block 624). If a suspension notification has not been received, then the host checks to see if the last token in the credential chain has been transmitted by checking if the last flag has been set in the last voucher being transmitted (block 626). ). If the last voucher has been transmitted, the host proceeds to the next stage after verification by 122365.doc -68-200821837 (block 628). As shown in Figures 22 and 23, the next stage can be a challenge response followed by a session key establishment. If the last credential in the credential chain has not been transmitted, the host returns to block 620 to transmit the next credential within the credential chain. The actions taken by the card and the host when the card is being authenticated are shown in Figures 28 and 29. As shown in Figure 28, after the start, the card waits for a request from the host to transmit one of the credentials in the voucher chain (block 63, diamond 632). If a request from the host is not received, the card will return to diamond 632. If a request is received from the host, the card will then transmit the next voucher in the voucher chain, starting with the A that should be transmitted (typically starting with the voucher following the root credential) (block 634). The card determines if a failure notification has been received from the host (block 636). If a failure notification has been received, the card is stopped (block 63 7). If no failure notification is received, the card determines if the last document has been transmitted (diamond 638). If the last credential has not been transmitted, the card returns to diamond 632 and waits until it receives the next request from the host for transmitting the next credential within the credential chain. If the last voucher has been transmitted, the card proceeds to the next stage (block 639). Figure 29 shows the action taken by the host when the card is being authenticated. The host transmits a request for the next voucher in the voucher chain to the card, beginning with a request for the first voucher to be transmitted (block 640). The host then verifies each received credential and if the verification fails, the program is aborted and the card is notified (block 642). If the verification passes, the host checks to see if it has received and successfully verified the last pass (diamond 644). If the last credential has not been received and successfully verified, the host returns to block 640 to transmit a request for the next credential within the credential chain. If the last credential has been received and successfully verified, then after the credential is verified, the host proceeds to the next stage (block 646). Voucher abolition When a voucher is issued, it is expected to be used throughout its validity period. However, various situations may result in a voucher becoming ineffective until the expiration of the validity period. Such cases include a name change, an employee's termination of employment with an organization between the subject and the certificate authority, and a compromise or suspected compromise of the corresponding private key. In such cases, the certificate authority is required to revoke the certificate. The secure storage application enables credential revocation in different ways, and each access control record can be configured for a specific method for revoking the voucher. An access control record can be configured to not support an abolition scheme. Under this October condition, each voucher is considered valid until its expiration date. Or you can use the voucher to ruin the vast expanse. From 屯π 口 u .

〜▼ 甘π役制記錄擁有者負責管理一 该主機予以強制實 性系統予以強制實 一主機根憑證的廢 122365.doc 200821837 止,藉由主機根憑證而實施之機制係藉由更新該等存取控 制記錄的憑證而實施。 憑證廢止清單(CRL) 該安全儲存應用程式系統使用一廢止方案,其係牵涉到 週期性發佈一稱為一憑證廢止清單之經簽名資料結構之每 一憑證授權單位。一憑證廢止清單係一時間戳記清單,其 識別由一憑證授權單位(發佈討論中的憑證之相同憑證授 權單位)所簽名之經廢止憑證,且實施成可由公眾所自由 使用。每一經廢止憑證係藉由其憑證序號而於一憑證廢止 清單中予以識別。該憑證廢止清單的大小係任意的,且係 取決於經廢止的未到期憑證之數量。當一裝置使用一憑證 (例如,用於驗證一主機的身份)時,該裝置不僅檢查該憑 證簽名(及有效性),而且亦比對透過一憑證廢止清單接收 之序號清單而驗證該憑證。假如於發佈該憑證的憑證授權 早位所發佈之憑證廢止清单上找到一諸如一憑證之序號的 識別’則此係指示該等憑證係已經被廢止且不再有效。 該憑證廢止清單亦將需要被驗證為真實的,以使其作為 確^憑證之目的。憑證廢止清單係使用發佈該憑證廢止清 單的憑證授權單位的私有密鑰予以簽名,且可藉由使用該 憑證授權單位的公開密鑰解密該經簽名的憑證廢止清單而 被驗證為真實的。假如該經解密的憑證廢止清單匹配該未 經簽名的憑證廢止清單之摘要,則此係意謂該憑證廢止清 單係未曾被竄改且係真實的。憑證廢止清單係通常使用一 雜湊演算法而被雜湊,以獲得其之摘要,且該等摘要係藉 122365.doc 200821837 由該憑證授權單位的私有密鑰予以加密。為了驗證是否一 憑證廢止清單係有效的,該經簽名的憑證廢止清單(亦 即,經雜湊及經加密的憑證廢止清單)係使用該憑證授權 單位的公開密鑰予以解密,以得出一經解密及經雜湊的憑 證廢止清單(亦即,該憑證廢止清單的一摘要)。接著,其 係與該經雜湊的憑證廢止清單比較。因此,該驗證程序可 時常牽涉到雜湊該憑證廢止清單以用於與經解密及經雜湊 的憑證廢止清單相比較的步驟。 該等憑證廢止清單方案的特性之一係,該憑證(對於該 憑證廢止清單)之確認可與獲得該憑證廢止清單分開實 施。憑證廢止清單係亦由適切的憑證之發行者予以簽名, 且係以上述之方式,使用發佈該等憑證廢止清單之憑證授 權單位的公開密鑰,以一類似於憑證驗證之類似方式來驗 證憑證廢止清單。該記憶體裝置驗證該簽名係屬於該憑證 廢止清單且該憑證廢止清單之發行者匹配該憑證之發行 者。該憑證廢止清單方案之另一特性係,可藉由完全相同 於該等憑證本身的手段散佈憑證廢止清單,亦即,經由不 受信任的伺服器及不受信任的通訊。憑證廢止清單及其之 特性係詳細說明於X.509標準之中。 憑證廢止清單之安全儲存應用程式基礎架構 安全儲存應用程式使用該憑證廢止清單方案而提供一用 於主機廢止之基礎結構。當以憑證廢止清單廢止方案鑑認 一 RSA為基礎的存取控制記錄時,該主機係將作為一額外 的欄位之一憑證廢止清單(假如發行者憑證授權單位未廢 122365.doc -72- 200821837 止任何憑證,則可能為一窆的憑證廢止清單)加入至一集 合憑證命令之中。此欄位將含有一由該憑證的發行者所簽 名之憑證廢止清單。當此攔位係存在時,該記憶體裝置J 〇 首先驗證該集合憑證命令内的憑證。獲得及存取該憑證廢 止清單存放庫(repository)係完全為該主機之責任。憑證廢 止清單係於其為有效期間的時期(憑證廢止清單到期時期 (CET)而發佈。於驗證期間,假如目前的時間係被發現為 不在此時期内’則該憑證廢止清單係被認為有缺陷的,且 不能夠被用於憑證驗證。接著,結果係該憑證的鑑認失 敗。 於傳統的憑證驗證方法中,該鑑認或驗證實體被期望持 有憑證廢止清單或能夠自憑證授權單位擷取憑證廢止清 單’且比對該清單以檢查提交用於鑑認之憑證的序號,以 決定是否所提交的憑證係已經被廢止。在鑑認或驗證實體 係一記憶體裝置之情況下,該記憶體裝置係可能尚未被使 用於自己自憑證授權單位擷取憑證廢止清單。假如一憑證 廢止清單係預先儲存於該裝置内,則此類清單係可變成過 期的,使得在該安裝日期之後所廢止的憑證將不出現於該 /月單上。此將使使用者能夠使用一經廢止憑證存取該儲存 裝置。此係不期望的。 在一項實施例中,可藉由一種系統來解決上述問題,其 中’想要被鑑認之實體提交一憑證廢止清單連同將被鑑認 之憑證給該鑑認實體,該鑑認實體可以係一記憶體裝置 1 〇。該鑑認實體接著驗證接收到之憑證及憑證廢止清單的 122365.doc -73- 200821837 真實性。該鑑認實體藉由檢查是否該憑證之識別(諸如該 憑證之序號)係出現於該憑證廢止清單上,而檢查是否該 憑證係於該憑證廢止清單上。 鑑於上述内容,—转制财案可㈣於介於-主機 裝置與記憶體裝置10之間的相互鐘認。想要對於該記憶體 裝置10而被鑑認之該主機裝置係將需要提供其憑證鍵及對 應的憑證廢止清單。另—古; 士德仙 β早另方面,主機裝置係已經被用於連 接至憑證授權單位以獲得憑證廢止清單,使得當記憶體裝 置10係將被主機裝置予以鑑認時,該記憶體裝置不需要將 憑也廢止/月單連同其憑證或憑證鏈提交給該等主機裝置。 崔近,來,係有擴大數量之不同類型可用於播放内容的可 攜式裝置’諸如不同内建的或獨立的音樂播放機、mp3播 放機、行動電話、個人數位助理及筆記型電腦。雖然連接 此類裝置至全球網路(www)以自憑證授權單位存取“ 驗證清單係可能的,然而典型地,許多使用者非每天= 至web ’反而是僅獲得新的内容或更新訂購(諸如每幾週) 才連接至Web。因此,對於此類使用者而言,必須更 地自憑證授權單位獲得憑證廢止清單可能係麻煩的。對於 此類使用者而言’可㈣儲存裝置本身之—較好為未 = 證廢止清單及亦可選用之將需要被提交 訂步^1以存取受保護内容之主機憑證。於許多類型 士 (^快閃記憶體)之中,該等儲存裝置之未受保 ,區域係由主機裝置所管理’而非該等儲存裝置自己所管 、此方式,對於該使用者(至該主機裝置)而言,不需 122365.doc -74· 200821837 要必須連接至該網路,以獲得更多最新的憑證廢止清單。 二主機裝置:系可以僅自該儲存裝置之不安全區域擷取此類 接著轉向及提父此類憑證及清單給該儲存器或記 憶體裝置,以存取該健存裝置内受保護内容。因為用於存 取又保。蒦内谷的憑證及其對應的憑證廢止清單典型地係於 某時期為有效的,所以口屈_甘7么, /、要”係仍然有效的,則該使用者 將不需要獲得最新的憑證或憑證廢止清單。上述特徵使使 用者能夠於相當長的期間當該憑證及憑證廢止清單皆為有 效時,方便存取該憑證及憑證廢止清單,而不 該憑證授權單位,以用於經更新資訊。 上述程序係顯示⑨圖30及31之流程圖之中。如示於圖 30,該主機24自該記憶體裝置1〇之不安全公開區域讀取關 於該主機將提交給該記憶體裝置以用於鑑認之一憑證的憑 證廢止清單(方塊652)。因為該憑證廢止清單係儲存於該記 fe體之一不安全區域,所以在該憑證廢止清單能夠被該主 機獲得之前,係不需要鑑認。因為該憑證廢止清單係儲存 於該記憶體裝置之公開區域,所以該憑證廢止清單的讀取 係受到該主機裝置24控制。接著,該主機傳送憑證廢止清 單連同將被驗證之憑證至該記憶體裝置(方塊654),且進行 至下一階段,除非其接收來自該記憶體裝置1〇之一失敗通 知(方塊656)。參照圖31,該記憶體裝置係接收來自該主機 的憑證廢止清單及憑證(方塊658),且檢查是否該憑證之序 號係於該憑證廢止清單上(方塊660),以及其他方面(例 如’是否該憑證廢止清單係已經過期)。假如於該憑證廢 122365.doc -75- 200821837 μ心迅之序號或者因其他理由而失敗,則該 記憶體裝置偯& . ^ ^ 、 — 寻V 一失敗通知給該主機(方塊662)。以此方 、 $的主機可獲得儲存於該記憶體裝置之公開區域内 的憑證廢止清單’原、因係相同的憑證廢止清單可被用於不 ==機的^認。如上文所述,為了使用者方便,將使用該 心、ι苽止π單而被驗證之憑證較佳地係亦可以與該憑證廢 止清單一起儲存於記憶體裝置1〇之一不安全區域内。然 而,該憑證係可用於僅由該憑證被發佈之該主機對於記憶 體裝置之4監認。 在該憑證廢止清單係於其欄位内含有一用於下一更新時 間之情況下,如示於圖32,於裝置1〇内的安全儲存應用程 式係亦對照此時間而檢查目前時間,以看看是否目前時間 係於此時間之後;假如其係如此,則鑑認亦失敗。因此, 較佳地,該安全儲存應用程式對照目前的時間(或者對照 該憑證廢止清單被該記憶體裝置1〇接收到的時間)檢查下 一更新的時間以及憑證廢止清單到期時期。 如上文所述,假如該憑證廢止清單含有長經廢止憑證識 別清單,則處理(例如雜湊)及搜尋清單中是否有由該主機 提交之憑證的序號可能花費一段長時間,特別是在該處理 及搜尋係依序實施之情況下。因此,為了加速該程序,處 理及搜尋係可以同時被實施。再者,假如整個憑證廢止清 單在其被處理及搜尋之前需要被接收,則該程序係亦可以 為費時的。申請人係體認到:可藉由隨著該憑證廢止清單 之部分被接收時(迅速地)予以處理及搜尋而迅速執行該程 122365.doc -76- 200821837 序,使得當該憑證廢止清單之最後—部分被接收時,該程 序係即將完成。 圖33及34係顯示上述廢止方案之特徵。於該鑑認實體 (例如’-諸如-記憶體卡之記憶體裝置)處,自想要被鑑 認之實體接收憑證及憑證廢止清單(方塊7〇2)。未經加密的 憑證廢止清單之部分被處理(例如雜凑)並且同時搜尋此等 部分中是否有所提交之憑證的識別(例如,序號)。該等經 處理的(例如經雜湊的)磲古發麻 β且廢止清早部分被編譯成為一經 雜湊的完整憑證廢止清單,其係與該完整經解密及經雜凑 的憑證廢止清單相比較,該完整經解密及經雜凑的憑證廢 止/月早係由編譯自想要被鑑認之實體接收之該等部分的經 Γ憑證廢止清單部分而形成。假如該比較係指示該比較 中無匹配’則鑑認係失敗。該鑑認實體亦對照目前的時間 7來06檢查7:;更新的時間以及憑證廢止清單到期時期(方塊 如於該憑證廢止清單上找到所提交的憑證 時=内"如目前的時間係不在該憑證廢止清單到期 方二,Γ假如已超過下一更新憑證廢止清單之時間 (方塊1G)’則鑑認亦失敗。於—些實施方式中,儲存用於 ^之^經雜溱憑證廢止清單部分及該等級解密雜凑憑 證廢止清早部分可不需要大量的記憶體空間。 ' 當-實體(例如’該主機)想要被鑑認,其 及憑證廢止清單給祕認實體(方塊如),且進行至^^ 段(方塊724) 0此係顯示於圖34。 白 假如該實體係提交-用於鐘認之憑證鏈,則可實施一類 122365.doc -77- 200821837 似於上述之程序。於此事件中,將需要對於該憑證鏈内每 一憑證連同其對應的憑證廢止清單重複上述程序。每—憑 證及其憑證廢止清單係可隨著其被接收時予以處理,而不 需要等待接收該憑證鏈中之其餘憑證及其對應的憑證廢止 清單0 * 身份物件(IDO) 身份物件係一受保護物件,其係設計成允許諸如_快閃 ,纪憶體卡之該記憶體裝置1〇儲存一 RSA密鑰對或其他類型 孩、碼編譯ID。該身份物件包含任何類型密碼編譯m,其可 被用於簽名及驗證身份、以及加密及解密資料。該身份物 件亦包含一來自一憑證授權單位的憑證(或者來自多個憑 證授根單位的一憑證鏈),以檢定該密鑰對内之公開密鑰 為真實的。該身份物件可被用於提供一外部實體或_内部 卡實體(亦即,該裝置本身、一内部應用程式等等,稱為 该身份物件之擁有者)之身份證明。因此,該卡非正在透 I 過一挑戰回應機制使用該RSA密鑰對或其他類型密碼編譯 ID以鑑認該主機,而是透過簽名提供給其之資料流而作為 身份證明。換句話說,該身份物件係含有其擁有者的密碼 編譯ID。為了存取該身份物件内的密碼編譯ID,該主機將 首先需要被鑑認。如上文所述,該鑑認程序係受控於—存 取控制記錄。在該主機係已經被成功鑑認之後,該身份物 件擁有者可使用該密碼編譯ID來建置該擁有者對於另—去 事人之身份。舉例而言,該密碼編譯ID(例如,一公開—私 有密鑰對之私有密鑰)可被用於簽名由其他當事人透過該 122365.doc -78- 200821837 主機提交之資料。該經簽名的資料及該身份物件内之;馬敏 係代表該身份物件之擁有者提交給其他當事人。由—憑證 授權單位(亦即’―受信任的授權單位)檢定該憑證内:該~▼ The owner of the record system is responsible for managing a waste that is enforced by the host to enforce a host root certificate. The mechanism implemented by the host root certificate is to update the deposit. Implemented by taking the credentials of the control record. Credential Revocation List (CRL) This secure storage application system uses an abolition scheme that involves the periodic issuance of each credential authority unit called a signed data structure called a voucher revocation list. A voucher revocation list is a timestamp list that identifies the revoked voucher signed by a voucher authority (the same voucher authority that issued the voucher in question) and is implemented to be freely available to the public. Each revoked voucher is identified in a voucher revocation list by its voucher number. The size of the voucher revocation list is arbitrary and depends on the number of revoked unexpired vouchers. When a device uses a credential (e.g., to verify the identity of a host), the device not only checks the credential signature (and validity), but also verifies the credential against a list of serial numbers received through a credential revocation list. If the certificate issuing the voucher authorizes the identification of a serial number such as a voucher on the voucher revocation list issued in the early position, then this indicates that the voucher has been revoked and is no longer valid. The voucher revocation list will also need to be verified as authentic for the purpose of the voucher. The voucher revocation list is signed using the private key of the voucher authority that issued the voucher revocation list, and can be verified as authentic by decrypting the signed voucher revocation list using the voucher authority's public key. If the decrypted voucher revocation list matches the digest of the unsigned voucher revocation list, this means that the voucher revocation list has not been tampered with and is true. The voucher revocation list is usually hashed using a hash algorithm to obtain a summary thereof, and the digest is encrypted by the private key of the voucher authority by 122365.doc 200821837. In order to verify whether a voucher revocation list is valid, the signed voucher revocation list (ie, the hashed and encrypted voucher revocation list) is decrypted using the voucher authority's public key to obtain a decrypted And a hashed voucher revocation list (ie, a summary of the voucher revocation list). It is then compared to the hashed vouchers list. Therefore, the verification procedure can often involve the step of hashing the voucher revocation list for comparison with the decrypted and hashed voucher revocation list. One of the characteristics of the voucher revocation list scheme is that the confirmation of the voucher (for the voucher revocation list) can be implemented separately from obtaining the voucher revocation list. The voucher revocation list is also signed by the issuer of the appropriate voucher, and in the manner described above, using the public key of the voucher authority that issued the voucher revocation list, the voucher is verified in a similar manner to voucher verification. Abolish the list. The memory device verifies that the signature belongs to the voucher revocation list and the issuer of the voucher revocation list matches the issuer of the voucher. Another feature of the voucher revocation list scheme is that the voucher revocation list can be distributed by means of exactly the same as the voucher itself, i.e., via an untrusted server and untrusted communication. The list of revoked documents and their characteristics are detailed in the X.509 standard. Secure Storage Application Infrastructure for Credential Revocation List The Secure Storage application uses this voucher to abolish the inventory scheme to provide an infrastructure for host abolition. When the RSA-based access control record is authenticated by the voucher revocation list abolition scheme, the host system will be used as one of the additional fields for the voucher revocation list (if the issuer certificate authority unit has not been revoked 122365.doc -72- 200821837 Any vouchers may be added to a set of voucher orders. This field will contain a list of vouchers that are signed by the issuer of the voucher. When the block is present, the memory device J 〇 first verifies the credentials within the set of voucher commands. Obtaining and accessing the voucher revocation list repository is entirely the responsibility of the host. The voucher revocation list is issued during the period in which it is valid (Certificate Revocation List Expiration Period (CET). During the verification period, if the current time is found to be out of the time period' then the voucher revocation list is considered to have Defective, and can not be used for credential verification. Then, the result is that the credential's authentication failed. In the traditional credential verification method, the authentication or verification entity is expected to hold the voucher revocation list or be able to self-certify the unit Retrieving the voucher revocation list 'and comparing the serial number of the voucher submitted for verification to determine whether the submitted voucher has been revoked. In the case of authenticating or verifying the real system-memory device, The memory device may not have been used by itself to obtain a voucher revocation list from the voucher authority. If a voucher revocation list is pre-stored in the device, such a list may become expired, such that after the installation date The revoked voucher will not appear on the / monthly order. This will enable the user to access the storage device using the revoked voucher. This is not desirable. In one embodiment, the above problem can be solved by a system in which the entity that wants to be authenticated submits a voucher revocation list along with the voucher to be authenticated to the authenticating entity, The authenticating entity can be a memory device 1. The authenticating entity then verifies the authenticity of the received voucher and voucher revocation list. The authenticating entity checks whether the voucher is identified by checking (such as the serial number of the voucher) appears on the voucher revocation list, and checks whether the voucher is on the voucher revocation list. In view of the above, the conversion financial plan can be (4) between the host device and the memory device 10 The mutual recognition between the host device and the host device that is to be authenticated for the memory device 10 will be required to provide its voucher key and corresponding voucher revocation list. Another-old; Shi Dexian β early aspect, host The device has been used to connect to the voucher authority to obtain a voucher revocation list so that when the memory device 10 is to be authenticated by the host device, the memory device does not need to be The abolition/monthly order is submitted to the host device along with its voucher or voucher chain. Cui Jin, come, has an expanded number of different types of portable devices that can be used to play content, such as different built-in or independent music. Players, mp3 players, mobile phones, personal digital assistants, and notebook computers. Although connecting such devices to the global network (www) to access from the certificate authority, "verification lists are possible, but typically many Non-daily = to web 'but instead only get new content or update subscriptions (such as every few weeks) to connect to the Web. Therefore, for such users, it is necessary to obtain a voucher revocation list from the voucher authority It is cumbersome. For such users, the (four) storage device itself - preferably not = the certificate abolition list and optional host credentials that will need to be submitted to the subscription step 1 to access the protected content. In many types of (^ flash memory), the storage devices are not insured, and the area is managed by the host device' rather than the storage devices themselves, in this manner, for the user (to the For host devices, you do not need 122365.doc -74· 200821837 to be connected to the network to get more up-to-date vouchers. Two host devices: such devices can be retrieved from the unsecured area of the storage device and then redirected and presented to the storage device or memory device to access the protected content in the health device. Because it is used for storage and protection.蒦 内谷's voucher and its corresponding voucher revocation list are typically valid for a certain period of time, so if the grievance is still valid, then the user will not need to obtain the latest vouchers. Or voucher revocation list. The above features enable the user to conveniently access the voucher and voucher revocation list when the voucher and voucher revocation list are valid for a relatively long period of time, without the voucher authority for updating The above program is shown in the flowcharts of FIGS. 30 and 31. As shown in FIG. 30, the host 24 reads from the unsecure open area of the memory device 1 that the host will submit to the memory device. A voucher revocation list for identifying one of the voucheres (block 652). Since the voucher revocation list is stored in an unsafe area of the memo body, before the voucher revocation list can be obtained by the host, Need to be authenticated. Since the voucher revocation list is stored in the public area of the memory device, the reading of the voucher revocation list is controlled by the host device 24. Then, the main The voucher revocation list is transmitted along with the voucher to be verified to the memory device (block 654) and proceeds to the next stage unless it receives a failure notification from the memory device 1 (block 656). Referring to Figure 31, The memory device receives the voucher revocation list and credentials from the host (block 658) and checks if the voucher number is on the voucher revocation list (block 660), and other aspects (eg, 'whether the voucher revocation list The system has expired. If the certificate expires or fails for other reasons, the memory device 偯& . ^ ^, — V finds a failure notification to the host (Block 662). The host, the host of $ can obtain the voucher revocation list stored in the public area of the memory device. The original voucher revocation list can be used for the non-= machine. As described above, for the convenience of the user, the certificate that is verified using the heart, 苽 π π singly is preferably stored in the memory device together with the vouchers list. In an unsafe area. However, the voucher can be used for the host to be advertised by the host only for the voucher. The voucher revocation list is included in its field for one next update time. In the case, as shown in Fig. 32, the secure storage application system in the device 1 checks the current time against the time to see if the current time is after this time; if it is, then the identification It also fails. Therefore, preferably, the secure storage application checks the time of the next update and the expiration date of the voucher revocation list against the current time (or the time received by the memory device 1〇 against the voucher revocation list). As described above, if the voucher revocation list contains a long-term revoked voucher identification list, it may take a long time to process (eg, hash) and search the list for the serial number of the voucher submitted by the host, especially in the process. And the search system is implemented in sequence. Therefore, in order to speed up the process, the processing and search systems can be implemented simultaneously. Furthermore, if the entire voucher revocation list needs to be received before it is processed and searched, the program can also be time consuming. The applicant's department recognizes that the process can be quickly executed by processing (searching) and searching as part of the voucher revocation list is received (slowly), so that when the voucher is abolished Finally - when the part is received, the program is about to be completed. Figures 33 and 34 show the features of the abolition scheme described above. At the authentication entity (e.g., a memory device such as a memory card), a voucher and a voucher revocation list are received from the entity that is to be authenticated (block 7〇2). The portion of the unencrypted voucher revocation list is processed (e.g., hashed) and the identification of the voucher (e.g., serial number) in the submitted portion is also searched for. The processed (e.g., hashed) and abolished early portions are compiled into a hashed complete voucher revocation list that is compared to the complete decrypted and hashed voucher revocation list. The complete decrypted and hashed voucher is abolished/monthly formed by the portion of the voucher revocation list compiled for the portion of the entity that is to be authenticated. If the comparison indicates that there is no match in the comparison, then the authentication system fails. The authentication entity also checks 7 against the current time 7:06; the time of the update and the expiration of the voucher revocation list (block if the submitted voucher is found on the voucher revocation list = in " as current time system Not in the expiration of the voucher revocation list, if the time of the next updated voucher revocation list has been exceeded (block 1G), the authentication also fails. In some embodiments, the voucher for storing the voucher is stored. The abolition list part and the level decryption hash certificate abolish the early part may not require a large amount of memory space. 'When the entity (such as 'the host') wants to be authenticated, it and the voucher revocation list to the secret entity (block) And proceed to the ^^ segment (block 724). 0 This is shown in Figure 34. If the real system is submitted - for the voucher chain, it can be implemented in a class 122365.doc -77- 200821837. In this event, the above procedure will need to be repeated for each voucher in the voucher chain along with its corresponding voucher revocation list. Each voucher and its voucher revocation list can be processed as it is received, without Waiting to receive the remaining voucher in the voucher chain and its corresponding voucher revocation list 0 * Identity Object (IDO) identity object is a protected object designed to allow the memory such as _flash, memory card The device 1 stores an RSA key pair or other type of child, code compilation ID. The identity object includes any type of password compilation m, which can be used to sign and verify identity, and encrypt and decrypt data. The identity object also includes a A voucher from a voucher authority (or a voucher chain from multiple voucher grant units) to verify that the public key within the key pair is authentic. The identity object can be used to provide an external entity or _ The identity of the internal card entity (ie, the device itself, an internal application, etc., referred to as the owner of the identity object). Therefore, the card is not using the RSA key pair through a challenge response mechanism. Or other type of cryptographically compiled ID to authenticate the host, but as a proof of identity by signing the data stream provided to it. In other words, the identity object contains its owner. The password compile ID. In order to access the password compilation ID in the identity object, the host will first need to be authenticated. As described above, the authentication procedure is controlled by the access control record. After successful authentication, the identity object owner can use the password to compile the ID to establish the identity of the owner for the other person. For example, the password is compiled with an ID (for example, a public-private key pair) The private key) can be used to sign the information submitted by other parties through the host computer. The signed information and the identity object; Ma Min is the owner of the identity object submitted to Other parties. The certificate authority (that is, the 'trusted authority unit) verifies the certificate:

公開β私有密鑰對之公開穷輪盔吉I ^閉么鑰為真實的,使得其他當事人 可信任該公開密鑰為真實的。接著,其他當事人可使用咳 憑證内之該公開密鑰來解密該經簽名的資料,且比較該: 解密的資料與由其他當事人所傳送之資料。假如該經解: 的㈣匹配於由其他當事人所傳送之資料,則此係顯示該 身伤物件之擁有者係真的具有存取該真實的私有密輪之權 利,且因而其代表之實體係真實的。 攻身伤物件之-第二用途係使用該密碼編譯⑴(諸如該 RS:A密鑰本身)來保護指定给該身份物件之擁有者之資料二 該資料係期望使用兮玄|4 從用4身伤物件公開密鑰而被加密。諸如一 ^憶體卡之該記憶體裝置1〇將使用該私有密鑰來解密該資 4身伤物件係一可對於任何類型存取控制記錄予以建立 牛於工員實施例中,一存取控制記錄可具有僅一個 身伤物件。貪料簽名及保護特徵兩者係該安全儲存應用程 式糸統提供給任何能夠鑑認該存取控制記錄的實體之服 務。亥身伤物件之保護等級係與該存取控制記錄之登入鐘 認方案一樣高。對於^婉般 、 二 ;、、二繫、⑺以具有一身份物件之一存取控 」亲可擇任何鑑認演算法。由建立者(主機)決定及 評:哪-演算法可最佳地保護該身份物件使用方式。一且 有—身份物件之存取控制記錄提供其憑證鏈,以回應於二 122365.doc -79- 200821837 獲得該身份物件公開密鑰之命令。 當正在使用該身份物件以進行資料保護時,自該卡輸出 的經解密的資料係可能需要進_步的保護。於㈣況^, 該主機係、被鼓勵使用—透過可用之鑑認演算法之任—者所 建置之安全通道。 當建立該身份物件時,選擇密鑰長度以及pKcs#i版 本。於-項實施例中’公開密鑰及私有密鑰正在使用如 PKCS#1 2.1版本定義之(指數,模數}表示。 /於-項實施例中,於一身份物件建立期間所包含之資料 係具有所選長度的RSA密鑰對以及—憑證鏈,其係遞迴地 證明該公開密餘之真實性。 擁有該身份物件之存取控制記錄將允許使用者資料的簽 名。此係透過兩個安全儲存應用程式命令而實施: •设定使用者資料:提供—將被簽名之自由格式之資料 緩衝區。 獲知安王儲存應用程式簽名:該卡將提供一 RSA簽名 (使用忒存取控制記錄私有密鑰)。取決於該物件之類型, 可根據PKCS#1 1.5版本或21版本來^定該簽名的格式及 大小。 使用一身份物件之操作係顯示於圖35_37,其中,該記 憶體裝置10係一快閃記憶體卡,且該卡係該身份物件之擁 有者圖35係顯不_由該卡^名傳送給—主機之資料所實 施之程序。參照圖K, '、、ΰ 35 在一主機被鑑認之後(方塊802),如 由上述'接f狀纟士播+ 卜卜 、、°構之一卽點處之一存取控制記錄所控制, 122365.doc 200821837 該卡係等待用於一憑證之一主趟▲主 、 々主機凊求(菱形804)。在接收該 請求之後,該卡傳送該憑證,0 且,且返回菱形8〇4,以用於下 一主機清求(方塊8 0 6 )。假如雲最彳*、、, 、Μ 又如而要傳迗一憑證鏈以檢定由該 卡所擁有之該身份物件的公開密鑰,則重複上述動作,直 到該憑證鏈内所有憑證已經被傳送至該主機。在每一憑證 該主機的命令係非用於簽名來自該主機的資料,則該卡使 用該身份物件内之該私有密鑰’以解密該接收到的資料 (方塊814),且返回菱形8〇4。 已經被傳送至該主機之後,該卡等待來自該主機之其他命 令(菱形_)。假如於-預設時期期間内未接收到來自該主 機的命令,則該卡返回菱形.於接收來自該主機的資 料及ν 7時,4卡檢查以看看是㈣命令係用於簽名資 料(菱形81G)。假如該命令係用於^名資料,則該卡係以該 身份物件内之該私有密鑰簽名„料,且接著傳送該經簽 名的貝料至該主機(方塊8丨2),且返回菱形8〇4。假如來自 圖36顯示在該卡簽名之資料傳送給該主機時由該主機所 實施之程序。參照圖36,該主機傳送鑑認資訊給該卡(方 塊822)在如上文之一樹狀結構之一節點處之一存取控制 記錄所控制之成功鑑認之後,該主機傳送請求至該卡以用 於憑證鏈,且接收該憑證鏈(方塊824)。在已經驗證該卡之 該公開密鑰之後,該主機傳送資料給該卡以用於簽名,且 接收藉由該卡之私有密鑰所簽名之資料(方塊826)。 圖3 7係顯示當該主機使用該卡之公開密鑰解密資料且傳 送該經解密的資料至該卡時由該主機所實施之程序。參照 122365.doc -81 - 200821837 圖37,該主機傳送鑑認資訊給該卡(方塊862)。在成功實施 由一存取控制記錄控制之㈣之後,該主機傳送請求給該 卡^以要求憑證鏈(方塊864),該憑證鏈係驗證該身份物件 内該卡的公開密鑰所需的,且傳送請求至該卡,以要求資 料。在已驗證該身份物件内之該卡的該公開密鑰之後,該 主機使用該卡之經驗證公開密鑰來加密來自該卡的資料, 且傳送其至該卡(方塊866,868)。 查詢 主機及應用程式係需要持有關於其正一起工作以執行系 統操作之記憶ϋ裝置或卡的某些資訊。$例而t,主機及 應用程式可需要知道儲存於該記憶體卡上的哪些應用程式 係可供調用(invocation)。該主機所需之資訊有時候不是公 開的知識’其係意謂並非每一實體係具有擁有它的權利。 為了鑑別經授權與未經授權之使用者,需要提供—主機可 使用之兩種問方法。 一般資訊查詢The open beta private key pair is open to the public, so that other parties can trust the public key to be authentic. Next, the other party may use the public key in the cough certificate to decrypt the signed material and compare the: the decrypted material with the information transmitted by other parties. If the (4) of the solution: matches the information transmitted by the other party, then it indicates that the owner of the injured article has the right to access the real private secret ship, and thus the representative system real. The second use is to use the cipher to compile (1) (such as the RS: A key itself) to protect the information assigned to the owner of the identity object. The data is expected to use 兮玄|4 from 4 The injured object is encrypted by public key. The memory device, such as a memory card, will use the private key to decrypt the asset. The file can be created for any type of access control record, an access control. The record can have only one body injury. Both the greedy signature and the protection feature are provided by the secure storage application to any entity capable of authenticating the access control record. The protection level of the body object is as high as the access control record of the access control record. For ^^, ――, 、, 二, (7) with one identity object access control, you can choose any authentication algorithm. It is up to the creator (host) to determine and evaluate: which algorithm best protects the identity object usage. The access control record of the identity object provides its credential chain in response to the command to obtain the public key of the identity object in response to the second 122365.doc -79-200821837. When the identity object is being used for data protection, the decrypted data output from the card may require further protection. In (4), the host system is encouraged to use the secure channel established by the available authentication algorithm. When creating the identity object, select the key length and the pKcs#i version. In the embodiment, the public key and the private key are being used as defined by the PKCS#1 version 2.1 (exponent, modulus}. In the embodiment, the information contained during the establishment of an identity object is included. An RSA key pair having a selected length and a voucher chain, which recursively proves the authenticity of the public secret. An access control record possessing the identity object will allow the signature of the user data. Implemented by Secure Storage Application Command: • Set User Profile: Provide - Freely formatted data buffer to be signed. Knowing An Wang Storage Application Signature: This card will provide an RSA signature (using 忒 access control) Record the private key. Depending on the type of the object, the format and size of the signature can be determined according to PKCS#1 version 1.5 or version 21. The operation of using an identity object is shown in Figure 35_37, where the memory The device 10 is a flash memory card, and the card is the owner of the identity object. Figure 35 shows the program implemented by the card to the data of the host. Referring to Figure K, ', ΰ 35 After a host is authenticated (block 802), as controlled by one of the above-mentioned access control records, one of the points of the 纟 纟 播 、 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Used for one of the main vouchers ▲ main, 々 host solicitation (diamond 804). After receiving the request, the card transmits the voucher, 0 and returns diamond 8 〇 4 for the next host request (block 8 06). If the cloud is most 彳*, ,, Μ, and if a voucher chain is to be passed to verify the public key of the identity object owned by the card, the above action is repeated until the voucher All credentials in the chain have been transferred to the host. At each voucher the host's command is not used to sign material from the host, the card uses the private key in the identity object to decrypt the received The data (block 814), and returns to the diamond 8〇4. After having been transferred to the host, the card waits for other commands from the host (diamond_). If it is not received from the host during the preset period Command, then the card returns to the diamond. The data of the host and the ν 7 hour, 4 card check to see if (4) the command is used for the signature data (diamond 81G). If the command is used for the name information, the card is the private secret in the identity object. Key signature, and then transfer the signed bead to the host (block 8丨2), and return to diamond 8〇4. If from Figure 36, the data signed by the card is transmitted to the host by the host The program implemented. Referring to Figure 36, the host transmits authentication information to the card (block 822) after successful authentication controlled by one of the access control records at one of the nodes of one of the tree structures above, the host transmits The card is requested for the voucher chain and the voucher chain is received (block 824). After the public key of the card has been verified, the host transmits the data to the card for signing and receives the information signed by the private key of the card (block 826). Figure 3 7 shows the procedure implemented by the host when the host decrypts the material using the card's public key and transmits the decrypted material to the card. Referring to 122365.doc -81 - 200821837, FIG. 37, the host transmits authentication information to the card (block 862). After successfully implementing (4) control by an access control record, the host transmits a request to the card to request a credential chain (block 864), which is required to verify the public key of the card within the identity object, And send a request to the card to request information. After the public key of the card in the identity object has been verified, the host encrypts the data from the card using the verified public key of the card and transmits it to the card (blocks 866, 868). Query Hosts and applications need to hold certain information about the memory devices or cards they are working together to perform system operations. For example, the host and application may need to know which applications stored on the memory card are invocation. The information required by the host is sometimes not publicly available. It means that not every real system has the right to own it. In order to identify authorized and unauthorized users, it is necessary to provide two methods that can be used by the host. General information inquiry

此查詢公佈系統公開資訊’而無限制。儲存於該等記怜 體裝置内之機密資訊包含兩個部分:一 用部分。該機密資訊的一部分包含可以對於二體:專 屬的資訊,使得每-實體應被允許僅存取其自己的專屬資 訊,而不能夠存取其他實體的專屬機密資訊。此種機密資 訊類型係不被共用,且形成該機密資訊的未共用部分。、 通常被想成公開的某些資訊於某些情況下係可能被認為 機密的,諸如駐留於該卡内的應用程式之名稱及其生命週 122365.doc •82- 200821837 期狀態。此之另一範例可係根存取控制記錄名稱,其被認 為公開的,然而對於某些安全儲存應用程式使用情況而言 可以係機密的。對於這些情況而言,該系統應回應於一般 資訊查詢而提供一選項,保持此資訊僅能由所有經鑑認的 使用者使用,然而係不能被未經鑑認的使用者使用。此類 資訊構成該機密資訊的共用部分。該機密資訊的共用部分 的一範例可包含一根存取控制記錄清單,即目前出現於該 裝置上的所有根存取控制記錄的清單。 透過該一般資訊查詢來存取公開資訊係不需要該主機/ 使用者登入一存取控制記錄。因此,具有安全儲存應用程 式標準知識之任何實體可執行及接收該資訊。就安全儲 存應用程式而論,此查詢命令係在無一會期號碼之下被處 置。然而,假如期望由一實體存取該機密資訊的共用部 分,則需要首先透過控制存取該記憶體裝置内的資料之任 何控制結構(例如,任一存取控制記錄)來鑑認該實體。在 一成功鑑認之後,該實體將能夠透過一般資訊查詢而存取 該機密資訊的該共用部分。如上文所說明,該鑑認程序將 導致用於存取之一安全儲存應用程式會期號碼或者iDe 謹慎資訊查詢 關於個別存取控制記錄及其系統存取及資產的私有資訊 係被認為謹慎的,且需要明確鑑認。因此,此種查詢要求 在接收用於資訊查詢的授權之前,進行存取控制記錄登入 及鑑認(假如鑑認係由該存取控制記錄所指定)。此項查詢 係需要一安全儲存應用程式會期號碼。 、一 122365.doc -83- 200821837 一在誶細敘述兩種類型查詢之前,首先敘述索引群組作為 一用於實施該等查詢之實務解決方案之觀念係將為有 的0 索引群組 ▲執=於可能的安全儲存應用程式主機上之應用程式係被 為上的作業系統及系統驅動程式要求指定意欲被讀取 品&數。接著,此係意謂該主機應用程式需要知道對於 母一女全儲存應用程式讀取操作而言,需要讀取多少 段。 一因:查詢操作的本質旨在供應對於一請求資訊的實體而 .言通常係不知道的資訊’所以對於該主機應用程式而言, 發佈該查詢且猜測該操作所需之區段數係有困難的。° 為了解決此問題’該安全儲存應用程式查詢輸出緩衝區 僅包3母-查詢請求—區段(512位元組)。為輸出資訊的— 部分之物件係組織於稱為索引群組之卜每—類型物件可 具有一不同的位元組大小,其係考慮到可以適配於一單— 區段之物件數。此定義該物件之索引群組。假如一物件具 有-20個位元組的大小,制於該物件之索引群組將含有 至多25個物件。假如總共有%個此類物件,則其將已經被 組織成3個索引群組’其中,物件"〇"(第一物件)起始第— 索引群組’物件”25"起始第二索引群組且物件”5g"起始第 三且為最後索引群組。 系統查詢(一般資訊查詢) 此查詢提供關於該裝置内之該支援安全儲存應用程式系 122365.doc -84- 200821837 統及被設定之目㈣系統之—般相資訊,像是執行於該 裝置上之不8的樹及應用程式。類似於下文所述之存取於 制記錄查詢(謹慎查詢)’該系統查詢經結構化以給予數個 查詢選項: •一般的-安全儲存應用程式支援版本。 •安全儲存應用程式·目前出毅該裝置上之所有安全 儲存應用程式之應用程式清單,包含其之執行狀態。 二上述列出的資訊係公開資訊。如同該存取控制記錄查 珣’為了使主機不需要知道對於該查詢輸出緩衝區待讀取 夕/個區& ’將有-自該裝置傳回的區段,同時仍然使該 主機能夠進-步查詢額外的索引群組。㈣,假如根存取 控制記錄物件之數量超過用於索引群組”〇"之輸出緩衝區 大小的數篁,則該主機可以接下來的索引群組"丨"傳送另 一查詢請求。 存取控制記錄查詢(謹慎資訊查詢) 该安全儲存應用程式存取控制記錄查詢命令意欲供應該 存取控制记錄使用者關於該存取控制記錄之系統資源的資 戒,像是密鑰及應用程式m,分割區及子代存取控制記 錄。邊查珣資訊係僅關於登入存取控制記錄且非關於該系 統樹上之其他存取控制記錄。換句話說,存取係限於僅僅 在牽涉到的存取控制記錄之權限下可存取的機密資訊的部 分0 使用者可查詢下列三個不同的存取控制記錄物件: •分割區-名稱及存取權(擁有者,讀取,寫入)。 122365.doc -85- 200821837 •密鑰ID及應用程式ID_名稱及存取權(擁有者 寫入)。 •子代存取控制記錄--直接+你左% 旦接子代存取控制記錄的存取 控制記錄及存取控制記錄群組名稱。 •身份物件及安全資料物件(τ 丁 干(下文敘述)名稱及存取權 (擁有者,讀取,寫入)。 / 因為與-存取控制記錄連接之物件數量係可以改變,且 該資訊係可能超過512個位元組(_區段)。在未事先知道物 件數篁之下,該使用者無法知道需要自該裝置内之該安全 儲存應用程式系統讀取多少個區段,以獲得全部的清單。 因此,由該安全儲存應用程式系統所提供之每一物件清單 係被分割成為若干索引群組,其係類似於上述系統查詢之 情況。一索引群組係適配於一區段的物件數量,亦即可自 該裝置内之安全儲存應用程式系統於一區段内傳送多少個 物件至該主機。此使該裝置内之該安全儲存應用程式系統 傳达一被請求的索引群組之一區段。該主機/使用者將接 收该等被查詢物件之一緩衝區,該緩衝區内之物件數量。 假如該緩衝區係滿的,則該使用者可查詢下一物件索引群 組。 圖38顯示一牵涉到一般資訊查詢之操作的流程圖。參照 圖38 ’當該安全儲存應用程式系統接收來自一實體的一般 資訊查詢(方塊902)時,該系統決定是否該實體已經被鑑認 (菱形904)。假如該實體已經被鑑認,則該系統向該實體供 應公開資訊及該機密資訊之共用部分(方塊906)。假如其該 122365.doc -86 - 200821837 貝體尚未被鑑認,則該系統向該實體供應僅公開資訊(方 塊908)。 圖39顯示—牽涉到一謹慎資訊查詢之操作的流程圖。參 照圖39,當該安全儲存應用程式系統係接收來自一實體的 八寅fl查為(方塊9 2 2)時’該系統決定是否該實體已經 被鑑為(菱形924)。假如該實體已經被鑑認,則該系統向該 實體供應機密資訊(方塊926)。假如該實體尚未被鑑認,則 該系統係拒絕該實體存取機密資訊(方塊928)。 特徵組延伸(FSE) 」許夕h况下,於該卡上執行該安全儲存應用程式内的 貝料處理活動(例如,⑽河使用權物件確認)係非常有利 的。相對於所有資料處理卫作係於該主機上執行之替代解 決方案,該所得系統係將為更安全的,更有效率的,且較 不依賴於主機。 假设該資料本質係非常應 格式及資料處理係皆非定 該安全儲存應用程式安全性系統包含—組鑑認演算法及 授權原則’其係設計成控制存取及使用由該記憶體卡所儲 存 '管理及保護的物件之集合。—旦—主機獲得存取權, 該主機將接著處理儲存於該記憶體裝置内之資料,其中, 存取該記憶體裝置係受控於該安全儲存應用程式。然而 用程式特定的,且因此,該資料 義於該安全儲存應用程式之中, 該安全儲存應用程式不處理儲存於該Μ置上的資料。 本發明之一項實施例係根據下列認知:該安全儲存應用 程式系統可被增強,以允許主機執行通常由該記憶體卡内 122365.doc -87- 200821837 、、 二力靶。因此,該等主機之一些軟體鹿 用程式可被分割成為兩個部 —_… 八·以θ ,目+ + +上 丨刀.仍然由該主機實施之一部 二 =/施之另一部分。對於許多應用程 =二:強:料處理的安全性及效率。為了此目的,可加 之能力⑻全儲存應用程式 肉此方柄執行之特徵組延伸 内的主機應用程式亦稱為内 w應用&式,或裝置内部應用 社A。 該增強的安全儲存❹程式系統提供-種延伸基本安全 储存應用程式命令組的機制,其係透過導人卡應用程式而 提供該卡之鑑認及存取控制。—卡應用程式被假設為亦實 施除了該安全儲存應用程式之服務以外的服務(例如,This inquiry publishes system public information' without limitation. The confidential information stored in the memorable devices consists of two parts: a part. Part of this confidential information contains information that can be used for two entities: exclusive information, so that each entity should be allowed to access only its own proprietary information, and not to access proprietary confidential information of other entities. Such confidential information types are not shared and form an unshared portion of the confidential information. Certain information that is usually thought of as public may in some cases be considered confidential, such as the name of the application residing on the card and its life week. Another example of this may be root access control record names, which are considered public, but may be confidential for certain secure storage application usage. In these cases, the system should provide an option in response to a general information query to keep this information available only to all authenticated users, but not to unidentified users. Such information constitutes a common part of the confidential information. An example of a shared portion of the confidential information may include a list of access control records, i.e., a list of all root access control records currently present on the device. Accessing the public information through the general information inquiry does not require the host/user to log in to an access control record. Therefore, any entity with knowledge of secure storage application standards can execute and receive this information. In the case of a secure storage application, this query command is placed under no one session number. However, if it is desired to have access to the shared portion of the confidential information by an entity, then the entity must first be authenticated by any control structure (e.g., any access control record) that controls access to the data within the memory device. After a successful authentication, the entity will be able to access the shared portion of the confidential information through a general information inquiry. As explained above, the authentication procedure will result in a private information for accessing one of the secure storage application session numbers or iDe cautious information queries regarding individual access control records and their system access and assets. And need to be clearly identified. Therefore, such a query requires access control record entry and authentication (if the authentication is specified by the access control record) before receiving the authorization for the information inquiry. This query requires a secure storage application session number. I. 122365.doc -83- 200821837 Before I describe the two types of queries, the first description of the index group as a practical solution for implementing such queries will be the 0 index group. = The application on the possible secure storage application host is specified for the operating system and system driver requirements to be read & Next, this means that the host application needs to know how many segments need to be read for the parent-girl full storage application read operation. One reason: the nature of the query operation is to supply information about an entity requesting information, which is usually not known. So for the host application, the number of segments required to publish the query and guess the operation is difficult. ° To solve this problem, the secure storage application queries the output buffer for only 3 parent-query requests-segments (512 octets). The parts of the object for outputting information are organized in a class called an index group. Each type of object can have a different byte size, taking into account the number of objects that can be adapted to a single-segment. This defines the index group for this object. If an object has a size of -20 bytes, the index group for that object will contain up to 25 objects. If there are a total of % of such objects in total, then it will have been organized into 3 index groups 'where the object "〇" (first object) start first - index group 'objects' 25" The second index group and the object "5g" starts with the third and is the last index group. System Enquiry (General Information Enquiry) This inquiry provides general information about the supported secure storage application system 122365.doc -84- 200821837 and the set (4) system in the device, as it is executed on the device. Not 8 trees and applications. Similar to the access record query (careful query) described below, the system query is structured to give several query options: • General - Secure Storage Application Support Version. • Secure Storage Application • A list of applications for all secure storage applications on the device, including their execution status. 2. The information listed above is public information. As the access control record checks, 'in order for the host to not need to know the output buffer to be read for the query, the area & 'will have - the segment returned from the device, while still enabling the host to enter - Step to query additional index groups. (4) If the number of root access control record objects exceeds the number of output buffer sizes used for indexing groups, the host may send another query request to the next index group "丨" Access control record query (careful information query) The secure storage application access control record query command is intended to provide the access control record user with information about the system resources of the access control record, such as a key and Application m, partition and child access control records. The information is only relevant to the login access control record and not to other access control records on the system tree. In other words, access is limited to The part 0 of the confidential information that can be accessed under the authority of the access control record can query the following three different access control record objects: • Partition - Name and access rights (owner, read, Write) 122365.doc -85- 200821837 • Key ID and application ID_name and access rights (owner write) • Child access control record - direct + you left % Access control record and access control record group name for access control records • Identity object and security data object (τ Dinggan (described below) name and access rights (owner, read, write). Because the number of objects connected to the access control record can be changed, and the information may exceed 512 bytes (_segment). The user cannot know the need to do so without knowing the number of objects in advance. The number of segments read by the secure storage application system in the device to obtain a full list. Therefore, each object list provided by the secure storage application system is divided into several index groups, which are similar In the case of the above system query, an index group is adapted to the number of objects in a segment, that is, how many objects are transferred to the host in a segment from the secure storage application system in the device. The secure storage application system within the device communicates a segment of the requested index group. The host/user will receive a buffer of the one of the queried objects. The number of objects in the buffer. If the buffer is full, the user can query the next object index group. Figure 38 shows a flow chart of the operation involving the general information query. Referring to Figure 38 'When the security is concerned When the storage application system receives a general information query from an entity (block 902), the system determines if the entity has been authenticated (diamond 904). If the entity has been authenticated, the system supplies the entity with public information. And the shared portion of the confidential information (block 906). If the body is not yet identifiable, the system supplies the entity with only public information (block 908). Figure 39 shows - involved A flow chart of the operation of a cautious information inquiry. Referring to FIG. 39, when the secure storage application system receives a gossip from an entity (block 9 2 2), the system determines whether the entity has been identified as (Rhombus 924). If the entity has been authenticated, the system supplies confidential information to the entity (block 926). If the entity has not been authenticated, the system denies the entity access to the confidential information (block 928). Feature Set Extension (FSE) In the case of Xu Xi, it is very advantageous to perform the bedding processing activities in the secure storage application on the card (for example, (10) River use rights object confirmation). The resulting system will be more secure, more efficient, and less dependent on the host, as opposed to all data processing systems being implemented on the host. It is assumed that the nature of the data is very formatted and the data processing system is not defined. The secure storage application security system includes a set of authentication algorithms and authorization principles. The system is designed to control access and use stored by the memory card. 'Collection of objects managed and protected. Once the host gains access, the host will then process the data stored in the memory device, wherein accessing the memory device is controlled by the secure storage application. However, the program is specific and, therefore, the data is intended to be in the secure storage application, and the secure storage application does not process the data stored on the device. One embodiment of the present invention is based on the recognition that the secure storage application system can be enhanced to allow the host to execute, typically by the memory card, 122365.doc-87-200821837, the second target. Therefore, some of the software deer programs of these hosts can be split into two parts - _... 八 θ, 目 + + + upper 丨 .. Still implemented by the host one part two = / another part of the application. For many applications = two: strong: material handling safety and efficiency. For this purpose, the ability to add (8) the full storage application. The host application within the feature group extension performed by this handle is also called the internal w application & or the device internal application A. The enhanced secure storage program system provides a mechanism for extending the basic secure storage application command group, which provides authentication and access control of the card through the guide card application. The card application is assumed to be a service other than the service of the secure storage application (for example,

查珣該卡,以用於可用之應用程式,選擇及與一特定應用 程式通訊。上述之一般查詢及謹慎查詢係可以使用於此目 的。 DRM機制,電子商務交易)。該安全料應用程式特徵組 延伸係一種設計成增強具有資料處理軟體/硬體模組之標 準安全儲存應用程式安全性系統的機制,其可以係專屬不 的。除了能夠使用上述查詢獲得的資訊之外,由該安全儲 存應用程式特徵組延伸系統所定義之服務使主機裝置能夠 使用兩種延伸卡之安全儲存應用程式特徵組延伸内特徵 組之方法: •提供服務-實現此特徵之方式為,透過允許經授權實 體使用一稱為通訊管道(pipe)之命令通道直接與該内部應 122365.doc -88 - 200821837 用程式通訊,該通訊管道可以係專屬的。 •安全儲存應用程式標準存取控制原則的延伸-實現此 特徵之方式為透過使内部的受保護資料物件(例如,内容 加密密鑰、下文敘述之安全資料物件(SD〇))相關聯於内部 卡應用程式。每當此類物件被存取時,假如滿足所定義之 標準的安全儲存應用程式原則,則調用相關聯的應用程 式’藉此除了利用該等標準的安全儲存應用程式原則之 外’還利用至少一條件。較佳地,該條件將不與該等標準 的安全儲存應用程式原則衝突。只有亦滿足在此額外的條 件之情況下,才授予存取。在進一步詳細說明該特徵組延 伸之能力之前,現在將說明特徵組延伸以及該通訊管道及 與全資料物件之架構態樣。 安全服務模組(SSM)及相關模組 圖40A係一記憶體裝置1〇(諸如一快閃記憶體卡)連接至 一主機裝置24的系統架構1〇〇〇之功能方塊圖,以闡釋本發 明之一項實施例。該卡20之該記憶體裝置内的軟體模組之 主要組件如下: 安全儲存應用程式傳輸層10Q2 該安全儲存應用程式傳輸層係卡協定相依的。其處置該 卡10之該協定層上之主機端安全儲存應用程式請求(命 令)’且接著將其中繼至安全服務模組API。所有主機-卡 同步化及安全儲存應用程式命令識別係於此模組内實施。 該傳輸層亦係負責主機24與卡1〇之間所有資料傳送。 安全服務模組核心1004 122365.doc -89- 200821837 此模組係該安全儲存應用程式實施方案之一重要的部 刀w亥女全服務模組核心實施該安全儲存應用程式架構。 更明確言之,該安全服務模組核心實施該安全儲存應用程 式樹及存取控制記錄系統以及組成該系統之所有上述對應 規則。该安全服務模組核心模組使用一密碼編譯庫丨〇 12, 以支援该安全儲存應用程式安全性及密碼編譯特徵,諸如 加密、解密及雜湊。 安全服務模組核心API 1 〇〇6 此係主機及内部應用程式將介接於該安全服務模組核心 以實行安全儲存應用程式操作之層。如示於圖4〇a,主機 24及裝置内部應用程式1〇1〇將使用相同的AH。 安全性應用程式管理員模組(samm)1〇〇8 女全性應用#呈式管理員模組非屬該安全儲存應用程式系 統之部分,然而其係控制介接於該安全儲存應用程式系統 之裝置内部應用程式之卡内的一重要的模組。 該安全性制程式管理貞模組㈣所有裝置㈣執行中 之應用程式,其包含: 1·應用程式生命週期監視及控制。 2·應用程式初始化。 3·應用程式/主機/安全服務模組介面。 裝置内部應用程式1010 1置,部應用程式係經准許於該卡端上執行之應用程 ’、:皮等裝置内部應用程式係被安全性應用程式管理員模 、、且所吕理’且係可存取該安全儲存應用程式系統。該安全 122365.doc 200821837 服務模組核心亦提供該等主機端應用程式與該等内部應用 程式之間之一通訊管道。用於此類内部執行應用程式之範 例係DRM應用程式及單次密碼(〇ne time password,· OTP) 應用程式,如下文作進一步說明。 裝置管理系統(DMS)lOll 此模組含有在一後裝運(通常稱為後發佈)模式中更新該 卡之系統及應用程式韌體以及增加/移除服務所需之處理 程序及協定。 / 圖40B係該安全服務模組核心1004之内部軟體模組之功 能方塊圖。如示於圖40B,核心1004包含一安全儲存應用 程式命令處理常式(command handler) 1022。處理常式1022 係於命令被傳送至該安全儲存應用程式管理員1〇24之前, 剖析起源於該主機或起源於該裝置内部應用程式1〇1〇的該 等安全儲存應用程式命令。所有安全儲存應用程式安全性 資料結構(諸如存取控制記錄群組及存取控制記錄)以及所 有安全儲存應用程式規則及原則係儲存於該安全儲存應用 程式資料庫1026之中。安全儲存應用程式管理員胸實行 由該等存取控制記錄及存取控制記錄群組以及儲存於資料 庫脳内之其他控制結構所行使之控制。其他物件(諸如 身份物件)以及安全資料物件亦係儲存於該安全儲存應用 程式資料庫1026之中。安全儲在庵田i丄 文王储存應用程式管理員1024實行 由該等存取控制記錄及存取控制 k市』。己錄群組以及儲存於資料 庫1026内之其他控制結構所 、 、 1T汊炙控制。由該安全儲存應 用程式非安全操作模組1〇28處 处置不牽涉到安全儲存應用程 122365.doc -91 - 200821837 式之非安全操作。由該安全儲存應用程式安全操作模組 1030處置在該安全儲存應用程式架構下的安全操作。模組 1032係一連接模組1〇3〇至該密碼編譯庫1〇12之介面。模組 1034係一連接模組1〇26及1〇28至圖i中該快閃記憶體“之 層。 通訊(或傳遞(Pass-Through))管道 當由該安全服務模組核心及安全性應用程式管理員模組 控制時,該等傳遞管道物件使經授權主機端之實體能夠與 該等内部應用程式通訊。介於該主機與該内部應用程式之 間之資料傳送係透過SEND及RECEIVE命令(定義如下)而 實行。實際的命令係應用程式特定的。建立該管道之該實 體(存取控制記錄)將需要提供該管道名稱及將開啟一通道 至其之應用程式的ID。如同具有所有其他受保護物件,該 存取控制記錄係變成其擁有者,且被允許根據標準的委= 規則及限制而委派使用權利以及擁有權給其他存取控制記 錄。 〇 假如在被鑑認實體之存取控制記錄屬性管理中μ定 CREATE-PI灣限,則—該被㈣實體將被允許建:管 道物件。只有於該實體之權限控制記錄中設定在寫入或讀 取官道權限之情況下,才允許與内部應用程式之通訊。只 μ該實⑽該管㈣有者或於該實體之權限控制記錄中 :疋委派存取權之情況下,才允許擁有權及存取權委派。 如同所有其他權限,當委 攤有權給另一存取控制記錄 、^地’剝除該原始擁有者對於該裝置應用程式之所 122365.doc -92- 200821837 有權限。 土車乂佳地’對於一特定應用程式,建立僅-通訊管道。較 ^地建立—第二管道及連接該第二管道至-已經連接之 Μ 弋之Θ忒將被5亥安全服務模組系統1 000所拒絕。因 此,較佳地,介於該等裝置内部應用程式1010之一者與一 通訊㈣之間係有ml之關係。然而,多個存取控制⑽ 可與-裝置内部應用程式通訊(透過委派機制)。一單一存 取㈣記錄可與數個裝置應用程式通訊(透過連接至不同 應用程式之多個管道之委派或擁有權)。較佳地,控制不 同:管道之存取控制記錄係位於完全分離的樹之節點上, 使得該等通訊管道之間係無串擾。 介於該主機與—特定應用程式之間傳送資料係使用下列 命令而實行: RITE PASS THROUGH(寫入傳遞>將自該主機傳送一 未格式化的資料緩衝區至該裝置内部應用程式。 • READ PASS THR〇UGH(讀取傳遞)_將自該主機傳送一 未格式化的資料緩衝區至該裝置内部應用程式,且一旦該 内邛處理係完成’將輸出一未格式化的資料緩衝區回到該 主機。 寫入傳遞命令及讀取傳遞命令提供主機想要通訊之裝置 内P應用私式1010之10作為參數。該實體權限將被確認, 且假如該請求實體(亦即,主控該實體正在使用之會期之 存取控制記錄)具有使用連接至該被請求應用程式之管道 的權限’則讜資料緩衝區將被中斷,且命令被執行。 122365.doc •93- 200821837 此通訊方法係允許該主機應用程式透過該安全儲存應用 私式存取控制記錄會期通道傳送廠商/專屬的特定命令至 一裝置内部應用程式。 安全資料物件(SDO) 一能夠結合特徵組延伸而被使用之有用的物件係安全資 料物件。 ' 該安全資料物件係作為一用於安全儲存敏感資訊的一般 用途容器。類似於内容加密密鑰物件,其係由一存取控制 記錄擁有,且可於存取控制記錄之間委派存取權及擁有 權。安全資料物件含有根據預先定義的原則限制而被保護 及使用之資料,且可選擇地,具有至一裝置内部應用程式 1010之連結。較佳地,該敏感資料非係由該安全儲存應用 私式系統予以使用或解譯,而是由該物件之擁有者及使用 者所使用或解譯。換句話說,該安全儲存應用程式系統不 辨明其所處置之資料内的資訊。以此方式,當於主機與該 等資料物件之間傳送資料時,該物件内之該資料的擁有者 及使用者可較不關心歸因於介接於該安全儲存應用程式系 統所造成的敏感資訊之損失。因此,安全資料物件係由該 主機系統(或内部應用程式)所建立,且被指派一串,類 似於建立内容加密密鑰之方式。於建立時,該主機係除了 長:供名稱之外’亦長:供經連結至該安全資料物件之應用程 式之一應用程式ID及將被該安全儲存應用程式儲存、完整 性驗證及接收之一貧料區塊。 類似於内容加密密鑰,安全資料物件較佳地係僅於一安 122365.doc •94· 200821837 全儲存應用程式會期内予以建立 控制§己㈣成該安全資料物件之擁有者,且係 安全資料物件之權利、窝入月冷你从β 寫及㉖取敏感資料以及委派擁有 =及存取該安全資料物件之權限給另—存取㈣ 其之子代或於相同的存取控制記錄群組之内卜 (為 該等寫人及讀取操作係專門為該安全資料物件之擁有者 :保留。一寫入操作用,;提供的資料緩衝區來覆寫現有 女全資料物件之物件杳袓 # ^ t 仵貝枓。一讀取操作將擷取該安全資料 物件之完整的資料記錄。 女王貝科 允許具有適當存取權限㈣擁有者存取控制記錄進行安 全資料物件存取操作係。定義下列操作: SDO Set(女全貧料物件設定),應用程式被定義: 將由具有該應之該内部安全儲存應用程式處理該 資料1由相關聯㈣安全f料物件而調用該應用程式。 作為-選諸果,該應用程式將寫人該安全資料物件。 SDO Set(女全資料物件設定),應用程式係空值 ㈣1):此選項無效’且將提示一不合法命令錯誤。㈣ 命令需要一執行於該卡内的内部應用程式。 SDO Get(安全貧料物件獲得),應用程式ι〇被定義: 將由具有該應用程式ID之該裝置内部應用程式處理該請 求。藉由相關聯於該安全資料物件而調用該應用程式。輸 出(雖然未被定義)將被傳回該請求者。該應用程式將可選 擇地讀取該安全資料物件。 SDO Get(安全貧料物件獲得),應用程式1〇係空值 122365.doc -95- 200821837 此選項無效,且將提示一不合法命令錯誤。該Get命令需 要一執行於該卡内的内部應用程式。 •安全資料物件相關權限:一存取控制記錄可以係一 安王貝料物件擁有者或只是具有存取權限(Set,Get,或者 兩者)。此外,一存取控制記錄可被允許傳遞對於非其擁 有的安全資料物件的存取權至另一存取控制記錄。假如一 存取控制記錄具有存取控制記錄屬性管理權限,則該存取 _己錄係可以明確地被准許建立安全資料物件且委派存 取權。 内部存取控制記錄 内部存取控制記錄類似於具有一權限控制記錄的任何存 取控制記錄,惟該裳置1〇之外部的實體無法登入該存取控 制忑錄除外。而疋,當在圖4〇B之該安全儲存應用程式管 里員1024之控制下的物彳或相關聯於其之應用程式被調用 時,圖40B之該安全儲存應用程式管理員ι〇24自動登入該 , 内部存取控制記錄。因為嘗試獲得存取之實體係一該卡或 記憶體裝置内部的實體,所以係不需要鑑認。該安全儲存 應用私式吕理員1 〇24將僅傳送一會期密鑰至該内部存取控 制記錄,以啟用内部通訊。 將使用兩個範例顯示特徵組延伸之能力··單次密碼產生 及數位權管理。在敘述單次密碼產生之範例之前,首先將 說明雙因素鑑認之發佈。 單次密碼之實施例 雙因素鑑認(DFA) 122365.doc -96 - 200821837 雙因素4監切^ 的秘密"-第因―夸項鑑認協定’其設計成藉由加入一額外 乃^、 至標準使用者認證(亦即,使用者名稱 全性:士 Λ·而増強個人登入至(例如)一诃吡服務伺服器之安 典型地係該使用者於其持有⑯中所具有 的=安:符記内儲存的某事物。於登入程序期間,該: 而:提供持有證明作為該登入認證之一部分。—證明 一八之*用方式係使用—單次密碼,其係—僅適合於—軍 使二其係由該安全符記所產生及輸出。假如該 ^ η β供正確的單次密碼,則其係被認為充分證明 〜^付記的擁有’因為無該符記之下以密碼編譯方式計 ^早次密碼係不可實行的。因為該單次密碼係僅適合於 早人7且入,所以該使用者係應該於登入時具有該符記,因 為使用-自―先前登人所捕捉到的舊密碼將不再有效。 敘述於下面段洛的產品係使用該安全儲存應用程式安全 性資料結構’加上一特徵組延伸設計,以計算於該單次穷 碼系列中下一密碼,以實行一具有多個"虛擬,·安全符記之 快閃記憶體卡,每一符記產生一不同系列的密碼(其可被 使用於登入不同的_網站)。此系統之一方塊圖係顯示於 圖4卜 ' 完整的系統1G50包含—鐘認飼服器1()52、—網際網路飼 服為1054及-具有符記1〇58之使用者1〇56。第一步驟係同 意該鑑認伺服器與該使用者之間的一共用秘密(亦稱為種 子供應)。該使用者1056將請求一將被發佈之秘密或種 子’且將儲存其於該安全符記1〇58之中。下一步驟係繫結 122365.doc -97- 200821837 發佈之秘密或種子與一特定web服務伺服器。一旦此係完 成,該鑑認可發生。該使用者將指示該符記產生一單次密 碼。具有该使用者名稱及密碼之單次密碼係被傳送至網際 網路伺服器1054。該網際網路伺服器1〇54轉遞該單次密碼 至該鑑認伺服器1052,要求其驗證該使用者之ID。該鑑認 伺服态亦將產生一單次密碼,且因為該單次密碼係自一共 用秘密連同該符記予以產生’所以其係應該匹配自該符記 產生的單次密碼。假&一項&配係被找Μ,則言亥使用者之 ID係被驗證,且該鑑認伺服器將傳回一肯定確認給該網際 網路伺服器1054,該網際網路伺服器1〇54將完成該使用者 登入程序。 用於忒單—人始碼產生之特徵組延伸實施方案具有下列特 性: •於該卡内安全地儲存(經加密)該單次密碼種子。 •該密碼產生演算法係於該卡内執行。 • 4裝置1G可模擬多個虛擬符記,每_虛擬符記係存一 不同的種子,且可以使用不同的密碼產生演算法。 4表置1 G係提供-安全協定,以自該鑑認祠服器傳送 該種子至該裝置。 用於單次密碼種子供應及單次密碼產生之安全儲存應用 程式特徵係顯示於圖42,其中,實線箭頭係顯示擁有權或 存取權’且虛線箭頭係顯示關聯性或連結。如示於圖42, 於安全儲存制程式特徵組延伸系統11G()中,可透過—或 多個通訊管道m4來存取軟體程式碼特徵組延伸ιι〇2,通 122365.doc -98- 200821837 訊管道1104係受控於n個痒用鋥★左 馬用紅式存取控制記錄1106之各 者。於下述實施例中’僅顯示—特徵組延伸軟體應用程 式’且對於每-特徵組延伸應用程式,僅有—通訊管道。 然而應瞭解的是,可以刺闲一 Λ⑺用個以上特徵組延伸應用程 式。雖然圖42係僅顯示一】畜句其 貝不通汛官道,應瞭解的是,可以使 用複數個通訊管道。所右μ«牛g㈣〆 ^ 所有此類變化係可行的。參码圖 40A、40B及42,該特徵袓钲抽!】γ 少 竹铖、、且延伸1102可以係一用於單次密 碼供應之應用程式,且形成圖4〇Α之裝置内部應用程式 10 1 0之子集合。控制結構(存取控制記錄U 〇 1、11 、 11 06 111G)係、安王儲存應用程式内之安全性資料結構的 -部分’且係儲存於該安全儲存應用程式資料庫麗之 中。諸如身份物件112〇、身份物件1122及通訊管道觀之 資料結構亦係儲存於該安全儲存㈣程式資料庫咖之 中0 參照圖40Α及卿,牽涉到該等存取控制記錄及資料結 構之安全性相關操作(例如會期内之資料傳送,以及諸如 加密、解密與雜凑之操作)係在介面⑽及密碼編譯庫 1012之辅助之下,由模組1030所處置。安全服務模組核心 API 1006不區別牽涉到與主機互動之存取控制記錄(外部 的存取控制記錄)的操作及不與主機互動之内部的存取控 制記錄之操作,且因而係不區料涉到主機之操作相對於 裝置内部應用程式1010之操作。以此方式,控制由主機端 實體所實行之存取以及由裝置内部應用程式ι〇ι〇所實行之 存取係使用相同的控制機制。此導致用於劃分主機端應用 122365.doc -99- 200821837 私式與裝置内部應用程式1 〇 1 〇之間之資料處理的彈性。該 等内部應用程式1010(例如圖42中之特徵組延伸i 1〇2)相關 聯於該等内部存取控制記錄(例如圖42中之存取控制記錄 1103),且係透過該等内部存取控制記錄之控制予以調 用。 再者,諸如具有相關聯的安全儲存應用程式規則及原則 之存取控制記錄及存取控制記錄群組之安全性資料結構較 佳地係控制對重要資訊的存取,諸如安全資料物件内之内 容或能夠自安全資料物件内之内容推導出之資訊,使得外 部或内部應用程式係僅能夠根據該等安全儲存應用程式規 則及原則而存取該内容或資訊。舉例而言,假如兩個不同 的使用者可調用該等裝置内部應用程式1010之一個別裝置 内部應用程式來處理資料,則使用位於分離的樹狀階層架 構内之内部存取控制記錄來控制該兩個使用者所實施之存 取,使得其之間係無㈣。以此方式,該兩個使用者皆能 夠存取一共同組裝置内部應用程式1010以用於處理資料, 而不擔心該等安全資料物件内之内容或資訊的擁有者喪失 對於邊内容或資訊的控制。舉例而言,對儲存由該等裝置 内部應用程式10 10所存取之安全資料物件資料之存取可受 控於位於分開的樹狀階層架構内之存取控制記錄,使得其 之間係無串擾。此種控制方式係類似於上述安全儲存應用 程式控制存取資料之方式。此係對於内容擁有者及使用者 提供儲存於該等資料物件内的資料的安全性。 參照圖42,對於該單次密碼相關主機應用程式所需之軟 122365.doc -100- 200821837 體應用程式碼之一部分被儲存(例如,在記憶體佈之 前預先儲存或在記憶體卡發佈之後載入)於該記憶體裝置 10内作為特徵組延伸1102内之應用程式係可能的。為了執 行此類程式碼,該主機將首先需要透過該N個驗證存取控 制ό己錄11 06中之一者進行鑑認(N係一正整數),以獲得對 於管道1104之存取。該主機亦將需要提供一用於識別其想 要調用之單次密碼相關之應用程式的應用程式m。在一成 功鑑認之後,可存取此類程式碼,以用於透過相關聯於該 單次密碼相關之應用程式的管道11〇4而執行。如上文所注 思到,較佳地,介於一管道1 i 04與一特定應用程式(諸如 一單次密碼相關内部應用程式)之間係有丨對丨的關係。如 示於圖42,多個存取控制記錄11〇6可共有對一共同管道 1 1 0 4之彳工制。一存取控制記錄亦可控制一個以上管道。 圖42顯示統稱為物件1114之安全資料物件1、安全資料 物件2及安全資料物件3,每一者係含有資料,諸如用於單 -人饴碼產生之一種子,該種子係有價值的且較佳為被加 密。介於該三個資料物件與特徵組延伸11〇2之間之連結或 關聯性11 08顯示該等物件之屬性在於:當存取該等物件中 之任者時,於具有該安全資料物件之屬性内一應用程式 ID之特徵組延伸ι102内之應用程式將被調用,且該應用程 式將由該記憶體裝置之中央處理單元12所執行,而不需要 接收任何進一步的主機命令(圖丨)。 參照圖42,在一使用者可開始該單次密碼程序之前,該 等安全性資料結構(存取控制記錄11〇1、11〇3、丨丨⑽及 122365.doc 200821837 1110)已被建立成具有用於控制該單次㈣程序之權限控 H彔4使用者將需要具有存取權,以透過鐘認伺服器 存取控制記錄1106之-而調用—單次密碼裝置内部應用程 式02 4使用者亦將需要具有對於將透N個使用者存取 &制,己錄111G之-而產生之單次密碼的存取權。可以於該 單次密碼種子供應程序自間被建线等安纟資料物件 1114。較佳地,該内部存取控制記錄1103已建立及控制該 身份物件1116。該内部存取控制記錄1103係在其被建立之 後,亦控制該等安全資料物件1114。當存取該等安全資料 物件1114時,於圖4〇b内之該安全儲存應用程式管理員 1024自動登入該内部存取控制記錄丨丨〇3。該内部存取控制 記錄11〇3係相關聯於特徵組延伸11〇2。於該單次密碼種子 供應程序期間’該等安全資料物件1114可變成相關聯於該 特彳政組延伸,如虛線1108所示。在該關聯性就緒之後,當 邊主機存取該等安全資料物件時,該關聯性1108係將導致 特U組延伸11 〇2被調用,而不需要來自該主機的一進一步 凊求。當透過N個存取控制記錄丨丨〇6之一存取通訊管道 U〇4時,圖40B内之該安全儲存應用程式管理員1〇24亦自 動登入該存取控制記錄1丨03。於此兩者情況下(存取安全 貝料物件1114及管道11〇4),該安全儲存應用程式管理員 將傳送一會期號碼至該特徵組延伸1102,該會期號碼將識 別至該内部存取控制記錄丨丨〇3之通道。 该單次密碼操作係牵涉到兩個階段:一示於圖43之種子 供應階段;及一示於圖44之單次密碼產生階段。參照圖 122365.doc 200821837 40-42將亦能夠有助於說明。圖辦示該種子供應程序之 協定圖。如示於圖43,由主機(諸如主機24)以及由該卡採 取各種動作。採取各種動作之卡上的—實體係圖術: 40B之該安全服務模組系統’其包含該安全服務模組核心 1〇〇4。採取各種動作之卡上的另一實體係顯示於圖“之該 特徵組延伸1 1 02。 於雙因素鑑認之中,該使用者係請求一種子被發佈,且 一旦该種子被發佈,該種子係被儲存於一安全符記之中。 於此範例中,該安全符記係該記憶體裝置或卡。該使用者 向圖42中言亥等鑑認存取控制記錄⑽之一者進行鑑認,以 獲得存取該安全服務模組系統(箭頭1122)。假設鑑認成功 (箭頭1124),則忒使用者請求一種子(箭頭丨126)。該主機 傳送該請求,以藉由選擇一用於簽名該種子請求之特別的 應用程式11〇2而將該種子請求簽名至該卡。假如該使用者 不知道需要被調用之該特別的應用程式之ID,則可自裝置 10獲得該資訊,舉例而言,透過一對於該裝置之謹慎查 詢。接著,該使用者輸入應被調用之應用程式之應用程式 ID ’藉此亦選擇一對應於該應用程式之通訊管道。接著, 透過該對應的通訊管道,在一傳遞命令中轉遞該使用者命 々至來自垓使用者之該應用程式ID所指定之應用程式(箭 頭1128)。被調用之應用程式係藉由該指定之身份物件(諸 如圖42内之身份物件11 12)内的公開密鑰而請求一簽名。 該安全服務模組系統使用該身份物件之該公開密鑰簽名 該種子請求,且通知該應用程式該簽名係完成(箭頭 122365.doc -103- 200821837 1132)。接著,該被調用之應用程式請求該身份物件之♦ 證鏈(箭頭1134)。為了回應,該安全服務模組系統提供由 該存取控制記錄丨丨们所控制之該身份物件之憑證鏈(箭頭 1136)。接著,該被調用之應用程式透過該通訊管道,提 供該經簽名的種子請求及該身份物件之該憑證鏈至該安全 服務模組系統,該安全服務模組系統轉遞該經簽名的種子 請求及該身份物件之該憑證鏈至該主機(箭頭1138)。透過 該通訊管道傳送該經簽名的種子請求及該身份物件之該憑 證鏈的係透過建置於圖40A之該安全性應用程式管理員模 組1008及該安全服務模組核心i004之間的回呼(caiiback)功 能’其中,將於下文說明該回呼功能。 接著,由該主機接收到的該經簽名的種子請求及該身份 物件之該憑證鏈被傳送至如示於圖41之該鑑認伺服器 1052。由該卡所提供之憑證鏈檢定該經簽名的種子請求係 起源於受信任的符記,使得該鑑認伺服器1052係想要提供 该秘密種子給該卡。因此,該鑑認伺服器1〇52傳送以該身 份物件之該公開密鑰加密之種子連同該使用者存取控制記 錄資訊-起給該主機。該使用者f訊指示出在該n個使用 者存取控制記錄中使該使用者具有存取將被產生之該單次 密碼的制的存取㈣記錄。該主機藉由提供該應用程式 m而調用特徵組延伸11()2内_單次密碼應用程式,藉此亦 選擇對應於該應隸式之通訊管道,且轉遞該使用者存取 控制記錄資訊至該安全服務模組系統(箭頭U4g)。接著, 該經加密的種子及該使用者存取控制記錄資訊係透過該通 122365.doc -104- 200821837 矾官道被轉遞至該選擇出之應 m m 4- ^ ^ ^ ^轾式(前頭1〗42)。該被調 用之應用私式傳运一請求至 使用該身份物件之私有穷餘^服務無組糸統’以用於 ^入, 有錢’而解密該種子(箭頭H44)。 该女王服務模組系統解密該 、s 4A 卞且傳迗一解密已經完成之 用程式(箭頭1146)。接著,該被調用之應用程 二!全資料物件之及於該安全資料物件内儲存 二:。肩求使該安全資料物件相關聯於用於產生該 :二人:、碼之該單次密碼應用程式(其可以係相同於正在請 2制程式)之ID(箭頭⑽)。該安全服務模組系統建立 料 且儲存该種子於該安全資 ΓΓΓ 安全資料物件相關聯於該單次密碼應用 二=且當完成時傳送通知給該應用程式(箭頭 )。接者’該應用程式請求該安全服務模組系統根據 由忒主機所提供之使 之用於存取該部存取控制記錄 存取權’給適當的使用 入存取控制記錄(箭頭1152)。在已經完成委派之後,該安 王服務模組系統通知該岸用 錢⑲仏頭1154)。接著,該應 ㈣Γ 回呼功能’透過該通訊管道傳送該安全資 接-,2名稱(槽1D)給該安全服務模組系統(箭頭H56)。 者’女全服務模組系統係轉遞該安全資料物件 该主機(箭頭1158)。接著,該主機 名稱盘該# W 冑繫…亥女全資料物件之 存取控制記錄’使得該使用者係現在能夠 存取4文全資料物件。 在將參照圖44中之協定圖而敘述單次密碼產生之程 122365.doc 200821837 序。為了獲得該單次密碼,該使 ^ ^ m 吏用者將登入其具有存取權 之使用者存取控制記錄(箭頭1172)。假設該鐘認成功,則 该安全服務模㈣統通知該主機,且該主機傳送一"㈣ SDO”(獲得安全資料物件)命a认 — J P 7、、O ,亥女全服務模組(箭頭 k. 1174 ’ 1176)。如上文所述,儲存該種子之該安全資料物 件已經相„於—詩產生該單切碼之㈣程式。因 不像是以前一樣透過該通訊管道選擇一應用程式,該 單次密碼產生應用程式係藉由介於由該命令存取之安全資 料物件(箭頭1176)與該單次密碼產生應用程式之間的關聯 性所調用(箭頭1178)。接著,該單次密碼產生應用程式請 求該安全服務模組系統自該安全資料物件讀取該内容(亦 即,該種子)(箭頭1180)。較佳地,該安全服務模組不知道 該安全資料物件之内容内包含的資訊,且將僅按該特徵組 延伸指示來處理該安全資料物件内之資料。假如該種子被 加饴,則此係可以牵涉到按該特徵組延伸命令在讀取之前 解密該種子。該安全服務模組系統自該安全資料物件讀取 ••亥種子,且提供該種子至該單次密碼產生應用程式(箭頭 1182)。接著,該單次密碼產生應用程式產生該單次密碼 且提供該單次密碼給該安全服務模組系統(箭頭U84)。接 著该單次密碼係由該安全服務模組轉遞至該主機(箭頭 11 86) ’接著’該主機轉遞該單次密碼至該鑑認伺服器 1052 ’以完成該雙因素鑑認鑑認程序。 回呼功能 於圖40Α之該安全服務模組核心1 〇〇4與安全性應用程式 122365.doc -106- 200821837 吕理員杈組1008之間建置一泛用回呼功能。不同的裝置内 部應用程式及通訊管道可被登錄以具有此類功能。因此, 田口周用裝置内部應用程式日夺,該應用矛呈式可使用此回呼 功此,以透過被用於傳送一主機命令至該應用程式之相同 通訊管道,將處理後之資料傳送至該安全服務模組系統。 DRM系統實施例 圖45繪不DRM系統的功能方塊圖,該DRM系統採用通 , 成管道1104’、具有至特徵組延伸應用程式n〇2,之連結 U 08的内谷加密密鑰1114’及用於控制該等功能以實施 DRM功能之控制結構丨1〇1,、11〇3,及11〇6,。如將被注意 到,圖45中之架構係相當類似於圖42之架構,惟該安全性 資料結構現在包含使用權伺服器存取控制記錄1丨〇6,及播放 存取控制記錄1 1 1 〇,(取代鑑認伺服器存取控制記錄及使用 者存取控制記錄)以及内容加密密鑰1 1 14’(取代安全資料物 件)除外。此外,不牽涉到該身份物件,且因而於圖45中 省略該身份物件。可以於使用權供應程序中建立該等内容 加密密鑰11 14’。圖46之協定圖顯示一種用於使用權供應及 内容下載之程序,其中,於使用權物件中提供密鑰。如同 於該單次密碼之實施例中,一想要獲得一授權之使用者將 首先需要在N個存取控制記錄1106’之一者及N個存取控制 記錄1110,之一者之下取得存取權,使得可藉由一媒體播放 機(諸如一媒體播放機軟體應用程式)呈現内容。 如示於圖46,該主機向一使用權伺服器存取控制記錄 1106’(箭頭1202)進行鑑認。假設鑑認成功(箭頭1204),則 122365.doc -107- 200821837 该使用權伺服器提供一使用權檔案(license fiie)連同一内 容加密密鑰(密鑰山及密鑰值)給該主機。該主機亦藉由提 供該應用程式id至該卡上之該安全服務m统,而選擇 被調用之應用程式。該主機亦傳送播放機資訊(例如,於 一媒體播放機軟體應用程式上之資訊)(箭頭12〇6)。該播放 機資訊將指示在該^^個播放機存取控制記錄111〇,之哪一者 之下’該播放機具有存取權。該安全服務模組系統係透過 對應於該垃擇出之應用程式之通訊管道,而轉遞該使用權 檔案及該内容加密密鑰至該DRM應用程式(箭頭12〇8)。接 著’該被調用之應用程式請求該安全服務模組系統將該使 用權檔案寫入至隱藏分割區之中(箭頭1210)。當係如此寫 入違使用權㈣時’該安全服務模組系統通知該應用程式 (前頭1212)。接著,該DRM應用程式請求一被建立之内容 加密密鑰物件1114| ’且將來自該使用權檔案的密餘值儲存 於該被建立之内容加密密鑰物件1114,之中。❹rm應用 程式亦請求使該内容加密密鑰物件與相關聯於一 drm應用 程式的ID(該DRM應用程式檢查相關聯於所提供之密餘的 授權)(箭頭1214)。該安全服務模組系統完成這些工作,且 因而通知該應用程式(箭頭1216)。接著,該應用程式請求 根據由主機傳送之播放機資訊’而將對該内容加密密鑰 1114’之讀取存取權委派給一播放機存取控制記錄(該播放 機具有對該播放機存取控制記錄的存取内容之權限穴箭頭 1218)。該安全服務模組系統實行該委派,且因而通知該 應用程式(箭頭U20)。由該應用程式透過該通訊管道傳2 122365.doc 200821837Check the card for available applications, select and communicate with a specific application. The above general and cautious queries can be used for this purpose. DRM mechanism, e-commerce transactions). The Security Application Profile Feature Extension is a mechanism designed to enhance the standard security storage application security system with data processing software/hardware modules, which can be proprietary. In addition to the information that can be obtained using the above query, the service defined by the Secure Storage Application Feature Group Extension System enables the host device to use the two extended cards to securely store the application feature set to extend the feature set: Service - The way to implement this feature is to allow the authorized entity to use a command channel called a pipe directly to communicate with the internal 122365. Doc -88 - 200821837 Program communication, the communication pipeline can be proprietary. • Extension of the standard access control principle for secure storage applications - this feature is achieved by associating internal protected data objects (eg, content encryption keys, security data objects (SD〇) described below) internally Card application. Whenever such an object is accessed, if the secure storage application principle of the defined standard is met, the associated application is invoked 'by taking advantage of at least the standard secure storage application principles' A condition. Preferably, this condition will not conflict with the standards of these standard secure storage application principles. Access is granted only if this additional condition is met. Before further detailing the ability of the feature set to extend, the feature set extension and the architectural aspects of the communication conduit and the full data object will now be described. Security Service Module (SSM) and related modules Figure 40A is a functional block diagram of a system architecture 1 of a memory device 1 (such as a flash memory card) connected to a host device 24 to illustrate this An embodiment of the invention. The main components of the software module in the memory device of the card 20 are as follows: Secure Storage Application Transport Layer 10Q2 The secure storage application transport layer is card-dependent. It handles the host-side secure storage application request (command) on the contract layer of the card 10 and then relays it to the secure service module API. All host-card synchronization and secure storage application command identification is implemented within this module. The transport layer is also responsible for all data transfer between the host 24 and the card. Security Service Module Core 1004 122365. Doc -89- 200821837 This module is one of the most important implementations of the secure storage application implementation of the secure storage application architecture. More specifically, the security service module core implements the secure storage application tree and access control record system and all of the above corresponding rules that make up the system. The security service module core module uses a password compilation library 12 to support the secure storage application security and password compilation features, such as encryption, decryption, and hashing. Security Service Module Core API 1 〇〇6 This host and internal application will be interfaced to the core of the security service module to implement a layer of secure storage application operations. As shown in Figure 4a, the host 24 and the internal application 1〇1〇 will use the same AH. Security Application Administrator Module (samm)1〇〇8 Female Full Application# The Presentation Administrator Module is not part of the Secure Storage Application System, but its control is interfaced to the Secure Storage Application System. An important module within the card of the internal application of the device. The security program management module (4) all devices (4) executing applications, including: 1. Application life cycle monitoring and control. 2. Application initialization. 3. Application/host/security service module interface. The internal application 1010 is set, and the application is approved by the application on the card side. The internal application of the device is protected by the security application administrator, and the system is The secure storage application system is accessible. The security 122365. Doc 200821837 The Service Module Core also provides a communication channel between these host applications and these internal applications. The examples for such internal execution applications are DRM applications and single-password (OTP) applications, as further explained below. Device Management System (DMS) 101 This module contains the procedures and protocols required to update the card's system and application firmware and add/remove services in a post-shipment (commonly referred to as post-release) mode. / Figure 40B is a functional block diagram of the internal software module of the security service module core 1004. As shown in Figure 40B, core 1004 includes a secure storage application command handler 1022. The processing routine 1022 analyzes the secure storage application commands originating from the host or originating from the internal application of the device before the command is transmitted to the secure storage application administrator. All secure storage application security data structures (such as access control record groups and access control records) and all secure storage application rules and principles are stored in the secure storage application database 1026. The secure storage application administrator performs the control exercised by the access control records and access control record groups and other control structures stored in the database. Other items (such as identity items) and security data items are also stored in the secure storage application database 1026. The safe storage in the Putian i丄 Wenwang Storage Application Manager 1024 is implemented by these access control records and access control k city. The recorded groups and other control structures stored in the database 1026 are controlled by 1T. Disposal by the safe storage application non-safe operating module 1〇28 does not involve a secure storage application 122365. Doc -91 - 200821837 Non-safe operation. The secure storage application security operating module 1030 handles security operations under the secure storage application architecture. The module 1032 is a connection module 1〇3〇 to the interface of the password compiling library 1〇12. The module 1034 is a layer connecting the modules 1〇26 and 1〇28 to the flash memory in FIG. i. The communication (or Pass-Through) pipeline is used by the security service module core and security. When the application manager module controls, the pipeline objects enable the entity of the authorized host to communicate with the internal applications. The data transfer between the host and the internal application is via the SEND and RECEIVE commands. The actual command is application-specific. The entity that created the pipe (access control record) will need to provide the pipe name and the ID of the application that will open a channel to it. For other protected objects, the access control record becomes its owner and is allowed to delegate usage rights and ownership rights to other access control records in accordance with standard rules and restrictions. 〇 If in the case of the identified entity Take the control record attribute management in the μ CREATE-PI bay limit, then - the (four) entity will be allowed to build: the pipe object. Only set in the entity's permission control record The communication with the internal application is allowed only when the authority of the official channel is written or read. Only the actual (10) of the tube (4) or the authority control record of the entity: 疋 delegate access rights, Ownership and access rights are allowed to be delegated. As with all other rights, when the delegates have the right to give another access control record, the 'original owner' of the device for the device is stripped 122365. Doc -92- 200821837 has permission. Earthmoving is good for a specific application, establishing a communication-only pipeline. The second pipe and the second pipe connected to the already connected pipe will be rejected by the 5H Safety Service Module System. Therefore, preferably, there is a relationship between one of the internal applications 1010 of the devices and a communication (4). However, multiple access controls (10) can communicate with the internal application (through the delegation mechanism). A single access (4) record can communicate with several device applications (through delegation or ownership of multiple pipes connected to different applications). Preferably, the control is different: the access control records of the pipeline are located on nodes of the completely separate tree such that there is no crosstalk between the communication conduits. Transferring data between the host and the specific application is performed using the following command: RITE PASS THROUGH will transfer an unformatted data buffer from the host to the internal application of the device. READ PASS THR 〇 UGH (Read Transfer) _ will transfer an unformatted data buffer from the host to the internal application of the device, and will output an unformatted data buffer once the internal processing is completed. Return to the host. The write delivery command and the read delivery command provide the user of the P application private 1010 as a parameter to be communicated by the host. The entity authority will be confirmed, and if the request entity (ie, the master) The access control record that the entity is using during the session) has the right to use the pipe connected to the requested application. Then the data buffer will be interrupted and the command will be executed. Doc •93- 200821837 This communication method allows the host application to transmit vendor/specific specific commands to an internal application via the secure storage application private access control session. Safety Data Object (SDO) A useful item that can be used in conjunction with a feature set extension is a safety data item. ' This safety data item serves as a general purpose container for the safe storage of sensitive information. Similar to a content encryption key object, it is owned by an access control record and can delegate access and ownership between access control records. The secure data item contains information that is protected and used in accordance with pre-defined principles and, optionally, has a link to an in-app application 1010. Preferably, the sensitive material is not used or interpreted by the secure storage application private system, but is used or interpreted by the owner and user of the object. In other words, the secure storage application system does not identify the information in the data it disposes. In this way, when the data is transferred between the host and the data objects, the owner and user of the data in the object can be less concerned with the sensitivity caused by the connection to the secure storage application system. Loss of information. Therefore, the secure data object is created by the host system (or internal application) and assigned a string similar to the way the content encryption key is established. At the time of establishment, the host is in addition to the name: it is also long: the application ID of one of the applications linked to the secure data object and will be stored, integrity verified and received by the secure storage application. A poor block. Similar to the content encryption key, the security data object is preferably only one amp. Doc •94· 200821837 The full storage application will establish control during the session. § The owner of the safety data object, and the right to the safety data object, the cold weather, the sensitive information from the β and 26, and the delegation Have the right to access and access the secure data object to another access (4) its children or within the same access control record group (for the writer and the read operation system specifically for the security data object) Owner: Retain. For a write operation; provide a data buffer to overwrite the existing female full data object 杳袓# ^ t 仵贝枓. A read operation will retrieve the integrity of the security data object The data record. Queen Beko allows the appropriate access rights (4) owner access control records for the security data object access operating system. Define the following operations: SDO Set (woman all poor object settings), the application is defined: will be The application has the internal secure storage application processing the data. The application is invoked by the associated (four) security material. As a result, the application will write the user. . Data objects SDO Set (female full data object set), an application to a null value ㈣1): This option is not valid 'and will not prompt a lawful command error. (d) The command requires an internal application to be executed on the card. SDO Get, the application ι〇 is defined: The request will be processed by the device's internal application with the application ID. The application is invoked by being associated with the secure data object. The output (although not defined) will be passed back to the requester. The application will optionally read the security data object. SDO Get (secure and poor object acquisition), application 1 空 null value 122365. Doc -95- 200821837 This option is invalid and will prompt an illegal command error. The Get command requires an internal application to execute on the card. • Security data object related permissions: An access control record can be an owner of an object or just have access (Set, Get, or both). In addition, an access control record can be allowed to pass access to security data objects that it does not have access to another access control record. If an access control record has access control record attribute management rights, the access_record system can be explicitly permitted to create a secure data object and delegate access rights. Internal Access Control Record An internal access control record is similar to any access control record with an access control record, except that an entity outside the open access cannot access the access control record. And, when the object under the control of the secure storage application manager 1024 or the application associated with it is invoked in FIG. 4B, the secure storage application manager ι〇24 of FIG. 40B Automatically log in, internal access control records. Since there is an attempt to gain access to the real system of the card or the entity inside the memory device, no authentication is required. The secure storage application private programmer 1 〇 24 will only transmit a session key to the internal access control record to enable internal communication. Two examples will be used to show the ability of feature group extensions · one-time password generation and digital rights management. Before describing the example of a single password generation, the release of two-factor authentication will be explained first. Single-password embodiment Two-Factor Authentication (DFA) 122365. Doc -96 - 200821837 The two-factor 4 stipulations of the secret "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- : Λ Λ 増 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人 个人, the: and: provide the proof of possession as part of the login authentication. - Proof that the use of the eight-eight way is a single-password, the system is only suitable for - the military is the second generation is generated by the security token And output. If the ^ η β is supplied with the correct single-password, it is considered to be sufficient to prove that the possession of the ^^ note is 'unable because the code is not compiled under the code. ^The early password is not practicable because The single password is only suitable for early 7 people, so the user should have this token when logging in, because the old password captured by the previous login will no longer be valid. Duan Luo’s products use this safe storage should The program security data structure 'plus a feature set extension design to calculate the next password in the single poor code series to implement a flash memory card having multiple "virtual," security tokens, each A token generates a different series of passwords (which can be used to log in to different _ websites). A block diagram of this system is shown in Figure 4's complete system 1G50 contains - clock acknowledgment device 1 () 52 - Internet Internet feed is 1054 and - User with a password of 1.58. The first step is to agree to a shared secret between the authentication server and the user (also known as seed supply). The user 1056 will request a secret or seed to be posted and will store it in the security token 1. The next step is to tie the system 122365. Doc -97- 200821837 Released the secret or seed with a specific web service server. Once the system is completed, the identification takes place. The user will instruct the token to generate a single password. A one-time password with the username and password is transmitted to the Internet server 1054. The Internet server 1 转 54 forwards the one-time password to the authentication server 1052 and asks it to verify the ID of the user. The authentication servo state will also generate a one-time password, and since the single-password is generated from a common secret along with the token, the system should match the single-password generated from the token. If the &&''''''''''''''''''''''''' The device 1〇54 will complete the user login procedure. The feature set extension implementation for 忒-personal code generation has the following characteristics: • Securely store (encrypt) the single cipher seed within the card. • The password generation algorithm is executed within the card. • 4 devices 1G can simulate multiple virtual tokens, each _virtual token is stored in a different seed, and different passwords can be used to generate the algorithm. 4 The Table 1 G system provides a security protocol to transfer the seed from the authentication server to the device. The secure storage application feature for single password seed provisioning and single password generation is shown in Figure 42, where the solid arrows indicate ownership or access rights and the dashed arrows indicate associations or links. As shown in Fig. 42, in the secure storage program feature group extension system 11G(), the software code feature group extension ιι〇2 can be accessed through - or multiple communication pipes m4, through 122365. Doc -98- 200821837 The pipeline 1104 is controlled by n itch 鋥 ★ left horse with red access control record 1106. In the following embodiments, 'only display - feature group extension software application' and for each feature group extension application, only - communication pipeline. However, it should be understood that it is possible to use a feature set to extend the application. Although Fig. 42 shows only one sentence, it is understood that a plurality of communication pipes can be used. Right μ «牛 g(四)〆 ^ All such changes are feasible. With reference to the code maps 40A, 40B and 42, this feature is drawn! 】 γ Less Bamboo, and Extension 1102 can be an application for a single password supply, and form a subset of the device internal application 10 10 of Figure 4 . The control structure (access control records U 〇 1, 11, 11 11 111G) is stored in the secure storage application database. The data structures such as identity object 112, identity object 1122 and communication pipe view are also stored in the secure storage (4) program database. 0 Referring to Figure 40 and Qing, the security of such access control records and data structures is involved. Sex-related operations (e.g., data transfer during the session, as well as operations such as encryption, decryption, and hashing) are handled by module 1030 with the aid of interface (10) and cryptographic compilation library 1012. The security service module core API 1006 does not distinguish between the operation of the access control record (external access control record) that interacts with the host and the operation of the internal access control record that does not interact with the host, and thus does not materialize The operation involving the host is relative to the operation of the internal application 1010 of the device. In this way, the access control implemented by the host entity and the access system implemented by the internal application ι 〇 使用 use the same control mechanism. This leads to the use of partitioning host applications 122365. Doc -99- 200821837 The flexibility of data processing between private and device internal applications 1 〇 1 。. The internal applications 1010 (e.g., feature set extensions i 1 〇 2 in FIG. 42) are associated with the internal access control records (e.g., access control records 1103 in FIG. 42) and are transmitted through the internal memory. Called to take control of the control record. Furthermore, security data structures such as access control records and access control record groups having associated secure storage application rules and principles preferably control access to important information, such as within security data objects. The content or information that can be derived from the content within the secure data object allows the external or internal application to access the content or information only in accordance with the rules and principles of the secure storage application. For example, if two different users can call an individual device internal application of the device internal application 1010 to process the data, the internal access control record located in the separate tree hierarchy is used to control the The accesses implemented by the two users are such that there is no (4) between them. In this manner, both users are able to access a common set of device internal applications 1010 for processing data without fear that the owner of the content or information within the secure data object loses content or information for the side. control. For example, access to stored secure material object data accessed by the device internal application 10 10 can be controlled by access control records located within a separate tree hierarchy, such that there is no Crosstalk. This type of control is similar to the way the secure storage application controls access to data. This provides the content owner and user with the security of the data stored in those data items. Referring to Figure 42, the softness required for the single-password-related host application is 122365. Doc -100- 200821837 One of the body application code portions is stored (eg, pre-stored before the memory cloth or loaded after the memory card is released) in the memory device 10 as the application system within the feature group extension 1102 possible. In order to execute such a code, the host will first need to authenticate (N is a positive integer) through one of the N authenticated access control registers to obtain access to the pipeline 1104. The host will also need to provide an application m for identifying the application associated with the single password that it wants to invoke. After a successful authentication, such code can be accessed for execution via the pipeline 11〇4 associated with the single password-related application. As noted above, preferably, there is a 丨-between relationship between a pipe 1 i 04 and a particular application, such as a single-password-related internal application. As shown in Fig. 42, a plurality of access control records 11 〇 6 may share the completion of a common pipe 1 1 0 4 . An access control record can also control more than one pipe. Figure 42 shows a security data item 1, a security data item 2, and a security data item 3, collectively referred to as an item 1114, each containing data, such as one for a single-person weight generation, the seed being valuable and It is preferably encrypted. A link or association between the three data objects and the feature group extension 11 〇 2 08 indicates that the attributes of the objects are: when accessing any of the objects, having the security data object The application within the attribute ID group extension ι 102 within the attribute will be invoked and the application will be executed by the central processing unit 12 of the memory device without receiving any further host commands (Fig. 。). Referring to Figure 42, the security data structures (access control records 11〇1, 11〇3, 丨丨(10), and 122365) before a user can start the single cryptographic procedure. Doc 200821837 1110) has been established to have the authority to control the single (four) program H 彔 4 users will need to have access rights to access the control record 1106 through the clock authentication server - single call The cryptographic device internal application 022 4 user will also need to have access to a single password generated by the N user access & system, recorded 111G. The data item 1114 can be installed in the single password seed supply program. Preferably, the internal access control record 1103 has established and controlled the identity object 1116. The internal access control record 1103 also controls the secure data items 1114 after it has been created. When the secure data item 1114 is accessed, the secure storage application manager 1024 in Figure 4B automatically logs into the internal access control record 丨丨〇3. The internal access control record 11〇3 is associated with the feature set extension 11〇2. During the single cryptographic seeding procedure, the security data objects 1114 may become associated with the escrow group extension as indicated by the dashed line 1108. After the association is ready, when the host accesses the secure data objects, the association 1108 will cause the special U group extension 11 〇 2 to be invoked without requiring a further request from the host. When the communication channel U〇4 is accessed through one of the N access control records 6, the secure storage application manager 1〇24 in Fig. 40B also automatically logs in the access control record 1丨03. In both cases (access to secure bedding object 1114 and pipe 11〇4), the secure storage application administrator will transmit a session number to the feature set extension 1102, which will be identified to the internal Access control records the channel of 丨丨〇3. The single cryptographic operation involves two phases: one is shown in the seed supply phase of Figure 43; and the single cryptographic generation phase is shown in Figure 44. See figure 122365. Doc 200821837 40-42 will also help explain. The diagram shows the agreement diagram for the seed supply program. As shown in Figure 43, various actions are taken by the host (such as host 24) and by the card. Take the action of the card on the card of various actions: 40B of the security service module system' which contains the security service module core 1〇〇4. Another real system on the card that takes various actions is shown in the figure "This feature group extends 1 1 02. In the two-factor authentication, the user requests a child to be released, and once the seed is released, the The seed system is stored in a security token. In this example, the security token is the memory device or card. The user performs the recording to one of the authentication access control records (10) in FIG. The authentication is obtained to obtain access to the security service module system (arrow 1122). Assuming the authentication is successful (arrow 1124), the user requests a child (arrow 丨 126). The host transmits the request to select by The seed application is signed to the card by a special application 11〇2 for signing the seed request. If the user does not know the ID of the particular application that needs to be called, the device 10 can obtain the Information, for example, through a cautious inquiry about the device. The user then enters the application ID of the application to be invoked, thereby selecting a communication channel corresponding to the application. Corresponding communication pipeline, in a delivery command, forwards the user's life to the application specified by the application ID from the user (arrow 1128). The called application uses the specified identity object. A signature is requested by a public key (such as the identity object 11 12 in Figure 42.) The security service module system signs the seed request using the public key of the identity object and notifies the application that the signature is complete (arrow 122365. Doc -103- 200821837 1132). The invoked application then requests the ♦ chain of the identity object (arrow 1134). In response, the security service module system provides a chain of credentials for the identity object controlled by the access control record (arrow 1136). Then, the called application provides the signed seed request and the credential chain of the identity object to the security service module system through the communication pipeline, and the security service module system forwards the signed seed request And the credential chain of the identity object is linked to the host (arrow 1138). Transmitting the signed seed request and the credential chain of the identity object through the communication pipeline through the security application administrator module 1008 and the security service module core i004 built in FIG. 40A The caiiback function 'where the callback function will be explained below. Next, the signed seed request received by the host and the credential chain of the identity object are transmitted to the authentication server 1052 as shown in FIG. The credential chain provided by the card verifies that the signed seed request originates from a trusted token such that the authentication server 1052 wants to provide the secret seed to the card. Accordingly, the authentication server 1 〇 52 transmits the seed encrypted with the public key of the identity object along with the user access control record information to the host. The user f indicates an access (four) record in the n user access control records that gives the user access to the one-time password to be generated. The host invokes the feature group extension 11 () 2 _ single cipher application by providing the application m, thereby selecting the communication pipe corresponding to the affiliation, and forwarding the user access control record Information to the security service module system (arrow U4g). Then, the encrypted seed and the user access control record information are transmitted through the pass 122365. Doc -104- 200821837 The eunuch is transferred to the selected m m 4- ^ ^ ^ ^轾 (former 1) 42). The called application privately transmits a request to the private poor service service group using the identity object for decrypting the seed (arrow H44). The Queen Service Module system decrypts the s 4A and passes the decryption completed application (arrow 1146). Next, the called application is two! The full data item is stored in the safety data item. The security information object is associated with the ID (arrow (10)) of the one-time password application (which may be the same as the program being requested) for generating the two-person code. The security service module system establishes and stores the seed in the secure asset security data object associated with the single password application 2 = and when notified completes the notification to the application (arrow). The application 'the application requests the security service module system to access the access control record access' to the appropriate access control record (arrow 1152) based on the provision provided by the host. After the delegation has been completed, the An Wang service module system notifies the shore to use the money 19 1 1154). Then, the (4) Γ callback function 'transmits the security link' through the communication pipe, and the 2 name (slot 1D) is sent to the security service module system (arrow H56). The female full service module system forwards the security data item to the host (arrow 1158). Then, the host name dial #W 胄 ... 亥 亥 全 全 全 全 全 全 ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ The process of generating a single password will be described with reference to the agreement diagram in Fig. 44. Doc 200821837 Preface. In order to obtain the single password, the ^ ^ m user will be logged into the user access control record with access (arrow 1172). Assuming that the clock is successful, the security service module (4) informs the host, and the host transmits a "(4) SDO" (acquisition of security data objects) a-recognition - JP 7, O, Hai female full service module ( Arrow k.  1174 ’ 1176). As described above, the security data item storing the seed has been generated by the (4) program of the single-cut code. Since the application is not selected through the communication channel as before, the single password generation application Called by the association between the security profile object (arrow 1176) accessed by the command and the single password generation application (arrow 1178). The single password generation application then requests the security service. The module system reads the content (ie, the seed) from the security data object (arrow 1180). Preferably, the security service module does not know the information contained in the content of the security data object, and will only press The feature set extension indication processes the data in the secure data object. If the seed is tagged, the system may involve decrypting the seed prior to reading according to the feature set extension command. The security data object is read and the seed is provided to the single password generation application (arrow 1182). Then, the single password generation application The single password is generated and the single password is provided to the security service module system (arrow U84). The single password is then forwarded by the security service module to the host (arrow 11 86) 'Next' the host The single password is forwarded to the authentication server 1052' to complete the two-factor authentication and authentication process. The callback function is shown in Figure 40. The security service module core 1 〇〇 4 and the security application 122365. Doc -106- 200821837 The establishment of a universal callback function between the Lv staff and the group 1008. Different device internal applications and communication pipes can be logged in to have such functionality. Therefore, the internal application of the Taguchi weekly device is used to transmit the processed data to the same communication channel used to transmit a host command to the application. The security service module system. DRM System Embodiment FIG. 45 depicts a functional block diagram of a non-DRM system. The DRM system uses a pass-through, a pipe 1104', and a feature set extension application n〇2, which connects the U08 inner valley encryption key 1114' and Control structures 控制1〇1, 11〇3, and 11〇6 for controlling these functions to implement DRM functions. As will be noted, the architecture in Figure 45 is quite similar to the architecture of Figure 42, except that the security data structure now includes the usage rights server access control record 1, 6 and the playback access control record 1 1 1 〇, (instead of the authentication server access control record and the user access control record) and the content encryption key 1 1 14' (instead of the security data object). Moreover, the identity object is not involved, and thus the identity object is omitted in Figure 45. The content encryption keys 11 14' can be established in the usage rights provider. The protocol diagram of Figure 46 shows a procedure for usage rights provisioning and content downloading in which a key is provided in a usage rights object. As in the single-password embodiment, a user wishing to obtain an authorization will first need to obtain one of the N access control records 1106' and one of the N access control records 1110. Access rights enable presentation of content by a media player, such as a media player software application. As shown in Figure 46, the host authenticates to a usage rights server access control record 1106' (arrow 1202). Assuming the recognition is successful (arrow 1204), then 122365. Doc -107- 200821837 The usage right server provides a license fiie with the same content encryption key (key mountain and key value) to the host. The host also selects the called application by providing the application id to the security service on the card. The host also transmits player information (e.g., information on a media player software application) (arrow 12〇6). The player information will indicate under which of the player access control records 111, which player has access. The security service module system forwards the usage rights file and the content encryption key to the DRM application via a communication pipe corresponding to the selected application (arrow 12〇8). The called application then requests the security service module system to write the usage rights file into the hidden partition (arrow 1210). When the user violates the right to use (4), the security service module system notifies the application (front 1212). Next, the DRM application requests an established content encryption key object 1114|' and stores the secret value from the usage rights file in the created content encryption key object 1114. The ❹rm application also requests that the content encryption key object be associated with the ID of a drm application (the DRM application checks the authorization associated with the provided secret) (arrow 1214). The security service module system performs these tasks and thus notifies the application (arrow 1216). Next, the application requests to delegate read access to the content encryption key 1114' to a player access control record based on the player information transmitted by the host (the player has the player's access control record) Take the permission to control the access of the recorded content arrow 1118). The security service module system enforces the delegation and thus notifies the application (arrow U20). The application transmits 2 122365 through the communication channel. Doc 200821837

2經完成儲存該授權之訊息至該安全服務模組系統,且 心王服a模㈣統轉遞該訊息至該使用權伺服器(箭頭 1222及1224) n回呼功能以透過該通訊管道進行此 動作。-旦接收到該通知時,接著該使用權伺服器提供以 提供給該卡之㈣容加密密鍮内之密鑰值加密之内容伊 案。該經加密的内容係由該主機儲存於該公開卡區域中: 儲存該經加密的内容㈣不“到安辣功能,使得該安 全服務模組系統係不牽涉到該儲存。 該播放操作係顯示於圖47。該使用者係透過該主機而向 適口的播放存取控制記錄(亦即,於上文箭頭丨1 U及11 Η 中已被委派讀取權至其之播放存取控制記錄)進行鑑認(箭 頭1242)。假設鑑認成功(箭頭1244),則該使用者接著傳送 一請求,以讀取相關聯於該密鑰ID之内容(箭頭1246)。於 接收該請求時,該安全服務模組系統將發現一 DRM應用程 式之ID係相關聯於正被存取之内容加密密鑰物件,且因而 將導致調用該被識別之DRM應用程式(箭頭1248)。該drm 應用程式請求該安全服務模組系統讀取相關聯於該密鑰ι〇 之資料(亦即,使用權)(箭頭125〇)。該安全服務模組不知 道其被睛求讀取之資料内的資訊,且僅處理來自該特徵組 延伸的請求,以實行該資料讀取程序。該安全服務模組系 統自该隱藏分割區讀取資料(亦即,使用權),且提供該資 料至該DRM應用程式(箭頭1252)。接著,該DRM應用程式 解譯該資料’且檢查該資料内之使用權資訊,以看看該使 用權是否有效。假如該使用權仍然有效,則該drm應用程 122365.doc -109- 200821837 式將向該安全服務模組系統通知准許進行内容解密(箭頭 1254)。接著,該安全服務模組系統使用該内容加密密鑰 物件内之該密鑰值解密該請|的内$,且提供該經解密的 内容至該主機,以用於播放(箭頭1256)。假如該使用權不 再有效’則用於内容存取之請求係被拒絕。 假使來自該使用權伺服器的使用權内未提供任何密鑰, 則該使用權供應及内容下載係將稍微不同於示於圖牝之方 式。此類不同的方案係顯示於圖48之協定圖之中。圖“與 圖48之間相同的步驟係以相同的元件符號予以識別。因 此,該主機及該安全服務模組系統首先進行鑑認(箭頭 1202, U04)。該使用權伺服器提供該使用權檔案及該密 鑰ID(但是無該密鑰值)給該主機,且該主機將轉遞所提供 之該使用權檔案及該密鑰ID連同該主機想要調用之該drm 應用程式的ID至該安全服務模組系統。該主機亦傳送播放 機資訊(箭頭1206’)。接著,該安全服務模組系統係透過對 應於該選#出之應用程式之通訊管冑,而#遞該使用權槽 案及該密鑰ID至該選擇出之]〇11^1應用程式(箭頭12〇8)。接 著,該DRM應用程式請求將該使用權檔案寫入至隱藏分割 區之中(前頭1210)。當已經如此寫入該使用權檔案時,該 安全服務模組系統通知該DRM應用程式(箭頭丨2丨2)。接 著,該DRM應用程式請求該安全服務模組系統產生一密鑰 值、建立一内容加密密鑰物件、儲存該密鑰值於其中及使 该内谷加密密鑰物件相關聯於一 DRM應用程式之lD(箭頭 1214’)。在已經符合該請求之後,該安全服務模組系統傳 122365.doc -110- 200821837 送一通知給該DRM應用程式(箭頭1216)。接著,該drm應 用程式將請求該安全服務模組系統根才虞由主機傳送之播放 機資訊,而委派對該内容加密密鑰物件之讀取存取權給該 播放機存取控制記錄(箭頭1218)。該其係完成時,該安全 服務模組系統因而通知該DRM應用程式(箭頭122〇)。接 者,該DRM應用程式向該安全服務模組系统通知已經儲存 錢用榷,其中’該通知係藉由一回呼功能透過該通訊管 道而被傳达(前頭1222)。此項通知被轉遞至該使用權伺服 器(箭頭1224)。該使用權伺服器接著傳送相關聯於__ ID之内容檔案至該安全服務模組系統(箭頭η%)。該安全 服務模組系統以該密鑰1〇所識別之該密鑰值加密該内容^ 而不牵涉到任何應用程式。如此加密及儲存於該卡上之内 容係可以使用圖47之協定而被播放。 於上述之單次密碼及DRM實施例中’該特徵組延伸㈣ 及1102可含有許多不同的單次密碼及drm應用程式,以 供主機裝置選擇。使用者具有選擇及調用所要裝置内部應 用程式之選擇機會。雖然如此,介於該安全服務模組盥; 特徵組延伸之間之整體關係係維持相同,使得使用者及資 料提供者可使用標準的協定組,以用於與該安全服務模2 互動及用於調用該特徵組延伸。使用者及提供者係不 變成牵涉到許多不同的裝置内部應用程式之特f,該 置内部應用程式之一些者可以係專屬的。 、 再者’該等供應協定可些微不同,如同於圖46及48之情 況。在圖46之情況下,該使用權物件含有—密鍮值,然= 122365.doc -111 - 200821837 在圖48之情況下,該使用權物件無密鑰值。此差異要求略 微不同的敎,如上文所述。,然而,圖47中之播放係相同 的,而不論如何供應該使用權。因此,此差異將僅關於内 容提供者及散佈者,然而典型地係與消費者無關,消費者 典型地係僅牽涉到播放階段。因&,此架構提供給内容提 供者及散佈者客製化協定的大彈性,同時維持顧客容易使 用。明顯地,自兩組以上供應協定所供應之資料推導而來 的資訊係可以仍然可使用第二協定存取。 由上述之實施例所提供之另一優點係,雖然外部實體 (諸如使用者)及該等裝置内部應用程式可共用對由該安全 性資料結構所控制之資料的使用,但是使用者僅能夠存取 由該等袭置内部應用程式自所儲存的資料推導出之結果。 因此,於該單次密碼之實施例中,該經過該等主機裝置之 使用者僅能夠獲得該單次密碼,而無法獲得該種子值。於 卜Μ實鈿例中,该經過該等主機裝置之使用者係僅能夠 獲得所呈現的内容’然而不存取該使用權檔案或密碼編譯 密鑰。此特徵係允許消費者方便,而不損及安全性。 &於-DRM實施例中’該等裝置内部應隸式及主機皆不 j取该等密碼編譯密鑰;僅該安全性資料結構可存取該 等密碼編譯密鑰。於其他實施例中,&了該安全性資料結 ,以*外之實體係亦能夠存取該密碼編譯密鑰。該等密餘亦 月巨夠藉由該等裝置内邱靡 、 /置内應用輊式所產生,且接著由該安全 性負料結構所控制。 存取該等裝置内部應用程式及存取資訊(例如,單次密 122365.doc -112- 200821837 碼及所呈現之内容)係受控於相同的安全性資料結構 減父控制系統及成本之複雜度。 藉由提供自該内部存取控制記錄(其控制對該等裝置内 :=二之存取)委派存取權給一存取控制記錄(其控制 4主機存取由調用該等裝置内部應用程式所獲得之資 訊)之能力,此特徵使達成上述特徵及功能係可能的。、 應用程式特定之廢止方案 當被調用—裝置内部應用程式係時,亦可被修改該安全 性貧料結構之存取控制協定。舉例而言,該憑證廢止協定 可以:-使用憑證廢止清單之標準協定或一專屬協定。因 此丄藉由調用一特徵組延伸’該標準的憑證廢止清單廢止 協定可被一特徵組延伸專屬協定所取代。 i 除了支援該憑證廢止清單廢止方案,安全健存應用程式 使一駐留於該裝置内的特定内部應用程式,能夠透過介於 該裝置内部應用程式與該憑證授權單位或任何其他廢止授 權單位之間之一私有通訊通道而廢止主機。該内部應用程 式專屬廢止方案係受限於該主機-應用程式之關係。 當組態應用程式特定之廢止方㈣,該安全儲存應用程 式糸統將拒絕該憑證廢止清單(假如被提供),否則將使用 該憑,及該專屬應用程式資料(先前透過-應用程式特定 通。fl g道予以提供),以決定是否該給定的憑證被廢止。 如上文所述’-存取控制記錄係藉由指定—廢止值,而 無廢止方案、標準憑證廢止清單方案 及應用程式特定廢止方案)之哪一者被採用。當選擇該應 122365.doc -113- 200821837 於:二、疋廢止方案選項時,該存取控制記錄將亦指定用 止1/亥廢止方案之内部應用程式ID之一 ID,且該憑證廢 :早到期時期/APP—ID欄位内之值將對應於管理該廢止 p = #鑑㈣裝置時,安全儲存應用 “ ”統接著將支持該内部應用程式之專屬方案。 組協定取代-組協I—裝置内部應用程式之 :周=已經由該安全儲存應用程式所行使之存取控制賦 加額外的存取條件。舉例而言,可由一特徵組延伸進一步 存取内容加密”内之—密鍮值之權利。在該安 程式系統決定一存取控制記錄具有對一密鑰值 : <後,將在授予該存取之前查詢該特徵組延 #欲允許内容擁有者控制對該内容之存取的大彈 性0 \ 已參照各種實施例而敘述本發明 疋,可實行變化及修改,而未不偏離本發明之範鳴,本發 明之㈣僅由後㈣請專·圍及其均等物 【圖式簡單說明】 # 圖1繪示有助於闡釋本發明之與 系統之方塊圖。 機裝置通訊之記憶體 圖2繪示有助㈣釋本發明之不同實施例之記憶體的不 同分割區及赌存於不同分割區之未經加密及經 示意圖,其中’對某些分割區及經加密楷案二 取原則及鑑認程序所控制。 丨尔田4予 圖3繪示記憶體内不同分割區之記憶體的示意圖。 122365.doc -114- 200821837 圖4繪示有助於闡釋本發明之不同實施例之示於圖3之記 憶體的不同分割區之檔案位置表的示意圖,其中,該等分 割區内某些檔案係被加密。 圖5繪示有助於闡釋本發明之不同實施例之一存取控制 記錄群組内之存取控制記錄及相關密鑰參照之示意圖。 圖6繪示有助於闡釋本發明之不同實施例之由存取控制 記錄群組及存取控制記錄所形成之樹狀結構之示意圖。2 After completing the storage of the authorization message to the security service module system, and the heart model A (4) relays the message to the usage server (arrows 1222 and 1224) n callback function through the communication pipeline This action. Once the notification is received, the usage right server then provides a content copy encrypted with the key value provided to the (4) password of the card. The encrypted content is stored in the public card area by the host: storing the encrypted content (4) does not "go to the security function, so that the security service module system does not involve the storage. The playback operation system displays In Figure 47, the user accesses the access control record through the host (i.e., the playback access control record has been delegated to the arrow 丨 1 U and 11 上文 above). An authentication is made (arrow 1242). Assuming the authentication is successful (arrow 1244), the user then transmits a request to read the content associated with the key ID (arrow 1246). Upon receiving the request, the The security service module system will discover that the ID of a DRM application is associated with the content encryption key object being accessed, and thus will result in the call to the identified DRM application (arrow 1248). The drm application requests The security service module system reads the data (ie, usage rights) associated with the key ι〇 (arrow 125〇). The security service module does not know the information in the data that it is intended to read. And only processed from The feature group extends the request to execute the data reading program. The security service module system reads the data (ie, usage rights) from the hidden partition and provides the data to the DRM application (arrow 1252). Then, the DRM application interprets the data 'and checks the usage rights information in the data to see if the usage right is valid. If the usage right is still valid, the drm application 122365.doc -109- 200821837 The security service module system will be notified to permit content decryption (arrow 1254). The security service module system then decrypts the inner $ of the request using the key value in the content encryption key object and provides the The decrypted content is sent to the host for playback (arrow 1256). If the usage right is no longer valid' then the request for content access is rejected. If the usage right from the usage server is not provided For any key, the usage rights supply and content download system will be slightly different from the one shown in Fig. 48. Such different schemes are shown in the agreement diagram of Figure 48. Between the figure and Figure 48 The same steps are identified by the same component symbols. Therefore, the host and the security service module system are first authenticated (arrows 1202, U04). The usage right server provides the usage rights file and the key ID (but no such key value) to the host, and the host will forward the provided usage rights file and the key ID together with the host The ID of the drm application is called to the security service module system. The host also transmits player information (arrow 1206'). Then, the security service module system transmits the usage right slot and the key ID to the selected 〇11^1 application through the communication tube corresponding to the selected application. Arrow 12〇8). Next, the DRM application requests that the usage rights file be written to the hidden partition (front 1210). When the usage rights file has been written as such, the security service module system notifies the DRM application (arrow 丨2丨2). Then, the DRM application requests the security service module system to generate a key value, establish a content encryption key object, store the key value therein, and associate the inner valley encryption key object with a DRM application. lD (arrow 1214'). After the request has been met, the security service module system sends a notification to the DRM application (arrow 1216) 122652.doc -110-200821837. Then, the drm application will request the security service module system to transmit the player information transmitted by the host, and delegate read access to the content encryption key object to the player access control record (arrow 1218). Upon completion of the system, the security service module system thus notifies the DRM application (arrow 122). The DRM application notifies the security service module system that the money has been stored, wherein the notification is communicated through the communication pipe by a callback function (front 1222). This notification is forwarded to the usage server (arrow 1224). The usage rights server then transmits the content file associated with the __ID to the security service module system (arrow η%). The security service module system encrypts the content with the key value identified by the key 1〇 without involving any application. The content so encrypted and stored on the card can be played using the protocol of Figure 47. In the single-password and DRM embodiments described above, the feature set extensions (4) and 1102 can contain a number of different single-password and drm applications for host device selection. The user has the opportunity to select and invoke the internal application of the desired device. Nonetheless, the overall relationship between the security service modules and the feature group extensions remains the same, allowing users and data providers to use standard protocol groups for interaction with the security service model 2 This feature group extension is called. Users and providers do not become special to many different device internal applications, and some of these internal applications can be proprietary. Furthermore, these supply agreements may be slightly different, as in the case of Figures 46 and 48. In the case of Fig. 46, the usage right object contains a key value, but = 122365.doc -111 - 200821837 In the case of Fig. 48, the usage right object has no key value. This difference requires slightly different defects, as described above. However, the playback in Fig. 47 is the same regardless of how the usage right is supplied. Thus, this difference will only be with respect to content providers and distributors, but typically is independent of the consumer, who typically only involves the playback phase. Because of &, this architecture provides great flexibility to content providers and distributors' customization agreements while maintaining customer ease of use. Obviously, information derived from data supplied by more than two supply agreements can still be accessed using the second agreement. Another advantage provided by the above embodiments is that although external entities (such as users) and internal applications of the devices can share the use of the material controlled by the security data structure, the user can only save Take the results derived from the stored data by the attacked internal application. Therefore, in the embodiment of the single-password, the user passing through the host devices can only obtain the single-password and cannot obtain the seed value. In the example of the Buddhism, the user of the host device is only able to obtain the presented content 'but does not access the usage rights file or the password compilation key. This feature allows the consumer to be convenient without compromising security. & In the -DRM embodiment, the internal and external hosts of the devices should not use the cryptographic key; only the security data structure can access the cryptographic keys. In other embodiments, the security profile is & the cryptographic key is also accessible to the real system. These margins are also generated by the application of the device in the device, and then controlled by the safety material structure. Accessing these devices' internal applications and accessing information (for example, the single-pass code and the content presented) is controlled by the same security data structure, the parental control system and the cost complexity. degree. Delegate access to an access control record by providing access to the internal access control record (which controls access to the device: = 2) (which controls 4 host access by calling the internal application of the device) The ability to obtain the information, this feature makes it possible to achieve the above features and functions. Application-specific abolition scheme When invoked—the internal application system of the device, the access control protocol for the security lean structure can also be modified. For example, the voucher revocation agreement may: - use a standard agreement or a proprietary agreement to revoke the list. Therefore, by revoking a feature set extension, the standard abolition list abolition agreement can be replaced by a feature group extension exclusive agreement. i In addition to supporting the voucher revocation list abolition scheme, the secure health application enables a particular internal application residing within the device to pass between the internal application of the device and the voucher authority or any other abolition authority One of the private communication channels and the host is abolished. This internal application exclusive abolition scheme is limited by the host-application relationship. When the application-specific abolition party (4) is configured, the secure storage application system will reject the voucher revocation list (if provided), otherwise the device will be used and the proprietary application data (previously passed through - application specific The flg channel is provided to determine whether the given certificate is revoked. As described above, the '-access control record is adopted by specifying - the abolition value, and the non-abolition scheme, the standard certificate revocation list scheme, and the application-specific abolition scheme). When selecting the response, the access control record will also specify one of the internal application IDs of the 1/Hai abolition scheme, and the certificate is invalid: The value in the early expiration/APP-ID field will correspond to the management of the abolished p = #鉴(4) device, and the secure storage application "" will then support the proprietary solution of the internal application. Group Agreement Replacement - Group I - Device Internal Application: Week = Additional access conditions have been granted by the access control exercised by the secure storage application. For example, the content encryption can be further accessed by a feature set extension. The security system determines that an access control record has a pair of key values: < Inquiring about the feature set extension before accessing. To allow the content owner to control the large elasticity of access to the content. \ Having described the invention with reference to various embodiments, variations and modifications can be implemented without departing from the invention. Fan Ming, (4) of the present invention only by the latter (four), please, and the equivalents [simplified description of the drawings] # Figure 1 is a block diagram of the system and the system for facilitating the explanation of the present invention. 2 Illustrated to help (4) to explain the different partitions of the memory of different embodiments of the present invention and the unencrypted and schematic diagrams of the gambling stored in different partitions, wherein 'the principle of taking some partitions and encrypting the files And the identification process is controlled. The Kurdish 4 Figure 3 shows a schematic diagram of the memory of different partitions in the memory. 122365.doc -114- 200821837 Figure 4 is a diagram illustrating the different embodiments of the present invention. The memory shown in Figure 3 Schematic diagram of a file location table for different partitions, wherein certain files within the partitions are encrypted. Figure 5 illustrates access facilitating interpretation of access control record groups in one of the different embodiments of the present invention. A schematic diagram of a control record and associated key reference.Figure 6 is a schematic diagram of a tree structure formed by an access control record group and an access control record to facilitate the interpretation of various embodiments of the present invention.

圖7繪不存取控制記錄群組之三個樹狀階層架構之樹的 示意圖,以闡釋樹的形式程序。 圖8A及8B繪示由一主機裝置及一諸如一記憶體卡之記 憶體裝置所實行用於建立及使用一系統存取控制記錄之程 序的流程圖。 圖9繪不有助於闡釋本發明之不同實施例之一使用一系 統存取控制記錄以建立一存取控制記錄群組之程序的流程 圖0 圖10繪不-用於建立一存取控制記錄之程序的流程圖。 圖11緣不樹狀階層架構之特定應用_呈式的兩個存取控制 記錄群組之示意圖。 圖12繪示-用於委派特定權利之程序的流程圖。 ®、a示#取控制記錄群組及—存取控制記錄之示音 圖’以關圖12之委派特程序。 心 圖14繪示用於建立_ 用於加迸及/或解密用途之密鑰的 程序的流程圖。 圖1 5繪示一用於根摅 葆一存取控制記錄移除存取權及/或 122365.doc -115- 200821837 資料存取權限之程序的流程圖。 圖16繪示一用於當存取權及 Α仔取振限係已經被刪除 或已經過期時請求存取的程序的流程圖。 圖17A及17B繪示有助於闡釋本發明之不同實施例之用 於鑑認及㈣存取密碼料密鑰之原狀規職構的組織 之不意圖。 f ί 圖18緣示ί於根據原則來控制對受保護資訊之存取的 替代方法之資料結構的方塊圖。 圖19繪示使用密碼之鑑認程序的流程圖。 圖20緣示若干主機憑證鏈之圖式。 圖2 1緣示若干裝置憑證鏈之圖式。 圖22及圖23(包含圖23Α及23Β)綠示用於單向及互相鑑認 方案之程式的協定圖。 圖24繪示有助於闡釋本發明之一項實施例之一憑證鏈之 圖式。 圖25繪示在憑證緩衝區之前之一控制區段内的資訊的 表’該資訊係由該主機傳送,用於傳送最後一憑證至一記 1*思體裝置,其係顯示該憑證係該憑證鏈内最後一憑證之一 項指示,以闡釋本發明之另一項實施例。 圖26及27係分別顯示用於鑑認方案之卡及主機程序的流 程圖’其中,一記憶體卡正在鑑認一主機裝置。 圖28及29係分別顯示用於鑑認方案之卡及主機程序的流 程圖’其中,主機裝置正在鑑認一記憶體卡。 圖3 0及3 1繪示分別由一主機裝置及一記憶體裝置所實施 122365.doc •116- 200821837 裝置内^〃中,該主機裝置擷取儲存於該記憶體 清單,以閣釋本發明之另-項實施例。 圖=出憑證廢止清單内之棚位的憑證廢止清單圖 式 闊釋本發明之另-項實施例。 圖33及34分別㈣心㈣憑證廢止清單來驗證憑證之 卡及主機程序的流程圖。 圖35繪示用於卡對傳送至該主機之資料加上簽名及用於 自該主機解密資料的卡程序的流程圖。 圖36搶示主機程序的流程圖,其中,卡對傳送至該主機 之資料加上簽名。 圖37緣示主機程序的流程圖,其中,該主機傳送經加密 資料至該記憶體卡。 圖38及39分別繪示用於一般資訊查詢及謹慎資訊查詢之 程序的流程圖。 圖40A係一記憶體裝置(諸如一快閃記憶體卡)連接至一 主機裝置的系統架構之功能方塊圖,以闡釋本發明之一項 實施例。 圖40B緣示圖40八之安全服務模組核心的内部軟體模組 之功能方塊圖。 圖41繪示用於建立單次密碼之系統之方塊圖。 圖42繪示單次密碼種子供應及單次密碼產生之功能方塊 圖〇 圖43繪示種子供應階段的協定圖。 圖44繪示單次密碼產生階段的協定圖。 122365.doc -117- 200821837 圖45繪示DRM系統的功能方塊圖。 圖46繪示用於使用權供應及内容 ± 下载之程序的協定圖, 其中,使用權物件中提供密鑰。 圖47繪示用於播放操作之程序的協定圖。 圖48繪示一用於使用權供 鬥合下載之程序的協定 圖’其中’使用權物件中未提供密鍮。 【主要元件符號說明】 10 記憶體系統 10? a己憶體卡或記憶體條 12 中央處理單元 12a 中央處理單元隨機存取記憶屬 14 緩衝管理單元(BMU) 16 主機介面模組(HIM) 18 快閃記憶體介面模組(FIM) 20 快閃記憶體 22 周邊裝置存取模組(p AM) 24 主機裝置 26 主機介面匯流排 26a 埠 28 快閃記憶體介面匯流排 28a 埠 32 主機直接記憶體存取(HDMA) 34 快閃直接記憶體存取(FDMA) 36 仲裁器 122365.doc 200821837 38 緩衝隨機存取記憶體(BRAM) 40 密碼編譯引擎 101 檔案 102 、 104 檔案 106 未經加密檔案 130 根存取控制記錄群組 132 根存取控制記錄群組 502 主機根憑證授權單位憑證 504 主機1憑證授權單位(第二層級)憑證 506 主機憑證 508 主機η憑證授權單位(第二層級)憑證 510 主機1憑證授權單位(第三層級)憑證 512 主機憑證 514 主機憑證 520 裝置根憑證授權單位憑證 522 裝置1憑證授權單位(製造商)憑證 524 裝置憑證 526 裝置η憑證授權單位(製造商)憑證 528 裝置憑證 542 安全服務模組系統 540 主機糸統 550 存取控制記錄 548 主機根憑證 544 主機憑證 122365.doc -119- 200821837 546 主機公開密鑰 549 中間憑證授權單位 554 隨機號碼 547 私有密鑰 562 隨機號碼 590 憑證鍵 590(1) 憑證鏈 590(2) 憑證 590(9) 憑證 591 、 593 、 595 、 憑證串 597 > 599 1000 糸統架構 1002 安全儲存應用程式傳輸層 1004 安全服務模組核心 1012 密碼編譯庫 1006 安全服務模組核心API 1010 裝置内部應用程式 1008 安全性應用程式管理員模組 1011 裝置管理系統 1022 安全儲存應用程式命令處理常式 1024 安全儲存應用程式管理員 1026 安全儲存應用程式資料庫 1028 安全儲存應用程式非安全操作模組 1030 安全儲存應用程式安全操作模組 122365.doc -120- 200821837 1032 模組 1034 模組 1050 系統 1052 鑑認伺服器 1054 網際網路伺服器 1058 符記 1056 使用者 1100 安全儲存應用程式特徵組延伸系統 1102 軟體程式碼特徵組延伸 1104 通訊管道 1106 應用程式存取控制記錄 1101 存取控制記錄 1103 存取控制記錄 1106 存取控制記錄 1110 存取控制記錄 1120 身份物件 1122 身份物件 1114 安全資料物件 1116 身份物件 1104’ 通訊管道 1102f 特徵組延伸應用程式 1108f 連結(關聯性) 11141 内容加密密鑰 1101,、 1103’、1106’控制結構 1110! 存取控制記錄 122365.doc -121 -Figure 7 depicts a schematic diagram of a tree of three tree hierarchy architectures that do not access control record groups to illustrate the formal procedures of the tree. 8A and 8B are flow diagrams showing the execution of a program for establishing and using a system access control record by a host device and a memory device such as a memory card. Figure 9 depicts a flow diagram of a procedure that does not help to illustrate one of the different embodiments of the present invention using a system access control record to establish an access control record group. Figure 10 depicts no - for establishing an access control A flow chart of the recorded program. Figure 11 is a specific application of the tree-like hierarchy. _ Two access control of the presentation. Figure 12 depicts a flow chart of a procedure for delegating a particular right. ®, a shows the control record group and the access control record's voice diagram is used to close the program of Figure 12. Figure 14 depicts a flow diagram of a procedure for establishing a key for twirling and/or decryption purposes. Figure 15 illustrates a flow diagram of a procedure for removing access rights and/or 122365.doc -115-200821837 data access rights from an access control record. Figure 16 is a flow chart showing a procedure for requesting access when the access rights and the buffering limit have been deleted or have expired. 17A and 17B are diagrams showing an organization that facilitates the explanation of the different embodiments of the present invention for authentication and (iv) access to the cryptographic material key. f ί Figure 18 illustrates a block diagram of the data structure of an alternative method of controlling access to protected information according to principles. Figure 19 is a flow chart showing the authentication procedure using a password. Figure 20 illustrates a diagram of a number of host credential chains. Figure 2 illustrates the schema of several device credential chains. Figures 22 and 23 (including Figures 23A and 23B) are green diagrams showing the protocol for the one-way and mutual authentication schemes. Figure 24 is a diagram of a voucher chain that facilitates the interpretation of one embodiment of the present invention. Figure 25 is a table showing information in a control section before the credential buffer. The information is transmitted by the host for transmitting the last credential to a 1* body device, which displays the voucher. An indication of the last voucher in the voucher chain to illustrate another embodiment of the present invention. Figures 26 and 27 are flow diagrams showing the card and host program for the authentication scheme, respectively, where a memory card is authenticating a host device. Figures 28 and 29 show flow diagrams of the card and host program for the authentication scheme, respectively, where the host device is authenticating a memory card. 3 and 31 are respectively implemented by a host device and a memory device, and the host device is stored in the memory list to explain the present invention. Another embodiment. Figure = vouchers of the vacant list in the vouchers list. A further embodiment of the invention is disclosed. Figures 33 and 34 respectively (4) Heart (4) Voucher revocation list to verify the certificate card and the host program flow chart. Figure 35 is a flow diagram of a card program for a card to sign a message transmitted to the host and to decrypt the material from the host. Figure 36 is a flow chart of the host program in which the card signs the data transmitted to the host. Figure 37 illustrates a flow diagram of a host program in which the host transmits encrypted data to the memory card. 38 and 39 are flowcharts showing procedures for general information inquiry and cautious information inquiry, respectively. Figure 40A is a functional block diagram of a system architecture of a memory device (such as a flash memory card) coupled to a host device to illustrate an embodiment of the present invention. Figure 40B is a functional block diagram of the internal software module of the core of the security service module of Figure 40. Figure 41 is a block diagram of a system for establishing a one-time password. Figure 42 is a block diagram showing the function of a single password seed supply and a single password generation. Figure 43 is a diagram showing the agreement of the seed supply phase. Figure 44 illustrates a protocol diagram for a single password generation phase. 122365.doc -117- 200821837 Figure 45 shows a functional block diagram of the DRM system. Figure 46 is a diagram showing the protocol for the usage rights supply and the content ± download procedure, in which the key is provided in the usage rights object. Figure 47 is a diagram showing the protocol for a program for a playback operation. Fig. 48 is a diagram showing a procedure for using a program for downloading and downloading. In the 'use right object, no key is provided. [Main component symbol description] 10 Memory system 10? A memory card or memory bank 12 Central processing unit 12a Central processing unit Random access memory 14 Buffer management unit (BMU) 16 Host interface module (HIM) 18 Flash Memory Interface Module (FIM) 20 Flash Memory 22 Peripheral Device Access Module (p AM) 24 Host Device 26 Host Interface Bus 26a 埠28 Flash Memory Interface Bus 28a 埠32 Host Direct Memory Volume Access (HDMA) 34 Flash Direct Memory Access (FDMA) 36 Arbiter 122365.doc 200821837 38 Buffered Random Access Memory (BRAM) 40 Password Compilation Engine 101 File 102, 104 File 106 Unencrypted File 130 Root access control record group 132 root access control record group 502 host root certificate authority unit voucher 504 host 1 voucher authorization unit (second level) voucher 506 host voucher 508 host n voucher authorization unit (second level) voucher 510 Host 1 Credential Authorization Unit (Tier 3) Credential 512 Host Credential 514 Host Credential 520 Device Root Credential Authorization Unit Credential 522 Device 1 Document Authorization Unit (Manufacturer) Document 524 Device Document 526 Device n Document Authorization Unit (Manufacturer) Document 528 Device Document 542 Security Service Module System 540 Host System 550 Access Control Record 548 Host Root Document 544 Host Document 122365.doc -119- 200821837 546 Host Public Key 549 Intermediate Document Authorization Unit 554 Random Number 547 Private Key 562 Random Number 590 Document Key 590(1) Document Chain 590(2) Document 590(9) Document 591, 593, 595, Credential String 597 > 599 1000 System Architecture 1002 Secure Storage Application Transport Layer 1004 Security Service Module Core 1012 Password Compilation Library 1006 Security Service Module Core API 1010 Device Internal Application 1008 Security Application Manager Module 1011 Device Management System 1022 Secure Storage Application Command Processing 1024 Secure Storage Application Administrator 1026 Secure Storage Application Database 1028 Secure Storage Application Non-Security Operation Module 1030 Secure Storage Application Security Operation Module 122365.doc - 120- 200821 837 1032 Module 1034 Module 1050 System 1052 Authentication Server 1054 Internet Server 1058 Symbol 1056 User 1100 Secure Storage Application Feature Group Extension System 1102 Software Code Feature Group Extension 1104 Communication Pipeline 1106 Application Access Control record 1101 Access control record 1103 Access control record 1106 Access control record 1110 Access control record 1120 Identity object 1122 Identity object 1114 Security data object 1116 Identity object 1104' Communication pipe 1102f Feature group extension application 1108f Link (association 11141 Content Encryption Key 1101, 1103', 1106' Control Structure 1110! Access Control Record 122365.doc -121 -

Claims (1)

200821837 十、申請專利範圍: 1. 一種用於自一記憶體裝置供應資訊之方法,該記憶體裝 置儲存公開及機密資訊且包括一控制結構,該控制結構 控制由不同的經鑑認實體對該機密資訊之存取,使得一 經鑑認實體之存取被限制於該機密資訊之僅一部分,节 方法包含: (a) 將該記憶體裝置可移除地連接至一主機裝置; (b) 回應來自該主機裝置之該等實體中之一個別實體 所發送的-項-般資訊查詢,該記憶體農置供應該公開 資訊;及 (c)回應於由來自該主機裝置之該等實體中之一個別 =鑑認實體所發送的—謹慎資訊查詢,該記憶體裝置僅 供應由該控制結構允許此經鑑認實體所存取的該機密資 訊之部分。 、 如明求項1之方法,其中在步驟⑷中供應該公開資訊, 而:管發送該一般資訊查詢之該實體是否已被鑑認。 月求項1之方法,其中該機密資訊包含一共用部分及 一非共用部分’在步驟⑷中該共用部分僅被供應給該等 、-中的個別經鏗認實體,而未被供應給該等實體中 的未經鑑認實體。 4 · 如請求jg 1夕士 、 貝J之方法,其中該記憶體裝置中儲存具有生命 、〜之車人體應用程式,且該機密資訊之該共用部分 包括軟體應用程式之名稱及其生命週期狀態。 5 ·如請求項3 $ t、、土 ^ 、 / ’其中該控制結構包含至少一子控制 122365.doc 200821837 結構,該至少一子控制結構各自控制由至少一經鑑認實 體對該機密資訊之該共用部分之存取,回應於該一般資 訊查詢而被供應之該共用部分包括該至少一子控制結構 之一清單。 6·如請求項5之方法,其中該至少一子控制結構包含至少 根存取控制記錄’回應於該一般資訊查詢而被供應之 違共用部分包括該至少一根存取控制記錄之一清單。 7·如請求項5之方法,其中該至少一子控制結構包含至少 一子代子控制結構,其中回應於一來自一經鑑認實體之 謹慎資訊查詢而被供應的該機密資訊包括以下各項中之 至少一者:分割區之名稱及對分割區之存取權利、密鑰 與幸人體應用程式之名稱及對密鍮與軟體應用程式之存取 權利、至少一子代子控制結構、安全資料物件以及身份 物件。 8·如味求項7之方法,其中該至少一子控制結構包含至少 一根存取控制記錄,該至少一子代子控制結構包含至少 子代存取控制記錄及包含該至少一子代存取控制記錄 之存取控制記錄群組。 如明求項1之方法,其中回應於該一般資訊查詢而被供 應之該公開資訊包括該裝置上之軟體應用程式及其執行 狀態之一清單。 1〇·如巧求項1之方法,其中在至少一資訊物件群組中供應 忒公開資訊及該機密資訊,且回應於一序列查詢中之每 查詢而發送該等群組中之一者。 122365.doc 200821837 11. 如請求項10之方法,其中每一資訊物件群組包含不多於 5 12個位元組。 12. —種記憶體裝置,包含: 一控制器,其控制該記憶體裝置之操作; 一非揮發性儲存媒體,其儲存機密與公開資訊及一控 制結構’該控制結構控制由不同的經鑑認實體對該機密 資訊之存取’使得一經鑑認實體之存取被限制於該機密 資訊之僅一部分; 回應於一實體之一項一般資訊查詢,該控制器供應該 公開資訊; 回應於一經鑑魂實體之一謹慎資訊查詢,該控制器僅 供應由該控制結構允許此經鑑認實體存取的該機密資訊 之部分;及 一殼體,其封閉該非揮發性儲存媒體及該控制器。 13·如請求項12之裝置,其中該控制器供應該公開資訊,而 不管發送該一般資訊查詢之該實體是否已被鑑認。 14. 如請求項12之裝置,其中該機密資訊包含一共用部分及 一非共用部分,且其中該控制器將該共用部分僅供應給 該等實體中的一個別經鑑認實體,而不供應給該等實體 中的未經鑑認實體。 15. 如請求項14之裝置,其中該機密資訊之該共用部分包括 軟體應用程式之名稱及其生命週期狀態。 16 ·如請求項14之裝置,其中該控制結構包含至少一子控制 結構,該至少一子控制結構各自控制由至少一經鑑認實 122365.doc 200821837 體對該機密資訊之一部分之該存取,回應於一項一般資 訊查詢而由該控制器供應的該機密資訊之該共用部分包 括該至少一子控制結構之一清單。 17·如請求項16之裝置,其中該至少一子控制結構包含至少 一根存取控制記錄,回應於一項一般資訊查詢而被供應 的忒機始、貝訊之該共用部分包括該至少一根存取控制記 錄之一清單。 18. 如請求項16之裝置,其中該至少一子控制結構包含至少 一子代子控制結構,其中回應於一來自一經鑑認實體之 謹慎資訊查詢而由該控制器供應的該機密資訊包括以下 各項中之至少一者:分割區之名稱及對分割區之存取權 利、密鑰與軟體應用程式之名稱及對密鑰與軟體應用程 式之存取權利、子代子控制結構、安全資料物件以及身 份物件。 19. 如μ求項18之裝置,其中該至少一子控制結構包含至少 根存取控制記錄,該至少一子代子控制結構包含至少 子代存取控制記錄及包含該至少一子代存取控制記錄 之存取控制記錄群組。 2〇·:請求項12之裝置,其中回應於—項-般資訊查詢而被 七、應之該公開資訊包括該裝置上 < 軟體應用矛呈式及盆執 行狀態之一清單。 / 如。月求項12之裝置,其中由該控制器在至少_資訊物件 群組中/fj£處# _ /、Μ该A開貧訊及該機密資訊,且回應於一序列 查詢中少 〜、 心母一查詢而發送該等群組中之一者。 122365.doc 200821837 其中每一資訊物件群包含不多於 22.如請求項21之裳置 5 12個位元組。 23·如明求項12之裝置,其中該裝置包含一非揮發性記憶 體’该裝置被調適成可移除地連接至主機裝置。 24·如請求項12之裝置,其中該殼體具有一卡之形狀。200821837 X. Patent application scope: 1. A method for supplying information from a memory device, the memory device storing public and confidential information and comprising a control structure controlled by different authenticated entities Access to confidential information such that access to the authenticated entity is restricted to only a portion of the confidential information, the method includes: (a) removably connecting the memory device to a host device; (b) responding An item-specific information query sent by an individual entity of the host device from the host device, the memory farm providing the public information; and (c) responding to the entity from the host device A cautionary information inquiry sent by the authentication entity, the memory device only supplies the portion of the confidential information that is permitted by the authentication entity to be accessed by the control structure. The method of claim 1, wherein the public information is supplied in the step (4), and the entity that sent the general information query has been authenticated. The method of claim 1, wherein the confidential information comprises a shared portion and a non-shared portion 'in step (4) the shared portion is only supplied to the individual recognized entities in the -, and is not supplied to the An unidentified entity in an entity. 4) The method of requesting jg 1 Xi Shi, Bay J, wherein the memory device stores a human body application with a life, and the shared part of the confidential information includes a software application name and a life cycle state thereof. . 5. If the request item 3 $ t, , ^ ^ , / ' wherein the control structure includes at least one sub-control 122365.doc 200821837 structure, the at least one sub-control structure each controlling the confidential information by the at least one authenticated entity The shared portion is accessed, and the shared portion that is supplied in response to the general information query includes a list of the at least one sub-control structure. 6. The method of claim 5, wherein the at least one sub-control structure comprises at least one access control record ' the unshared portion that is supplied in response to the general information query includes a list of the at least one access control record. 7. The method of claim 5, wherein the at least one sub-control structure comprises at least one sub-sub-control structure, wherein the confidential information that is supplied in response to a cautious information query from an authenticated entity comprises the following At least one of: the name of the partition and the access rights to the partition, the name of the key and the application, and the access rights to the password and software application, at least one child control structure, security information Objects and identity objects. 8. The method of claim 7, wherein the at least one sub-control structure comprises at least one access control record, the at least one child sub-control structure comprising at least a child access control record and including the at least one child Take the access control record group that controls the record. The method of claim 1, wherein the public information that is provided in response to the general information query includes a list of software applications on the device and their execution status. The method of claim 1, wherein the public information and the confidential information are provided in at least one information object group, and one of the groups is sent in response to each query in a sequence of queries. 122365.doc 200821837 11. The method of claim 10, wherein each of the information object groups comprises no more than 5 12 bytes. 12. A memory device comprising: a controller that controls operation of the memory device; a non-volatile storage medium that stores confidential and public information and a control structure 'the control structure is controlled by a different The access of the entity to the confidential information is such that access to the authenticated entity is restricted to only a portion of the confidential information; in response to a general information inquiry by an entity, the controller supplies the public information; One of the forensic entities is cautiously inquiring that the controller only supplies a portion of the confidential information that is permitted to be accessed by the authenticated entity by the control structure; and a housing that encloses the non-volatile storage medium and the controller. 13. The device of claim 12, wherein the controller supplies the public information regardless of whether the entity that sent the general information query has been authenticated. 14. The device of claim 12, wherein the confidential information comprises a shared portion and a non-shared portion, and wherein the controller supplies the shared portion only to one of the other entities that are not authenticated, and does not supply To unidentified entities in such entities. 15. The device of claim 14, wherein the shared portion of the confidential information includes a name of the software application and a lifecycle state thereof. The device of claim 14, wherein the control structure comprises at least one sub-control structure, each of the at least one sub-control structure controlling access to the at least one portion of the confidential information by the at least one authenticated entity, The shared portion of the confidential information provided by the controller in response to a general information query includes a list of the at least one sub-control structure. 17. The device of claim 16, wherein the at least one sub-control structure comprises at least one access control record, wherein the shared portion that is supplied in response to a general information query, the shared portion of the beta includes the at least one A list of root access control records. 18. The device of claim 16, wherein the at least one sub-control structure comprises at least one child sub-control structure, wherein the confidential information provided by the controller in response to a cautious information query from an authenticated entity comprises the following At least one of the following: the name of the partition and the access rights to the partition, the name of the key and software application, and the access rights to the key and software application, the child control structure, and the security data. Objects and identity objects. 19. The apparatus of claim 18, wherein the at least one sub-control structure comprises at least one access control record, the at least one child sub-control structure comprising at least a child access control record and including the at least one child access Controls the record access control record group. 2〇·: The device of claim 12, wherein the public information is responded to by the item-specific information query, and the public information includes a list of <software application spear expression and basin execution status on the device. / Such as. The device of claim 12, wherein the controller is at least _ information object group /fj£# _ /, Μ the A open poor news and the confidential information, and responds to a sequence of queries less ~, heart The parent sends one of the groups as a query. 122365.doc 200821837 Each of the information object groups contains no more than 22. The request item 21 is set to 5 12 bytes. 23. The device of claim 12, wherein the device comprises a non-volatile memory. The device is adapted to be removably coupled to the host device. 24. The device of claim 12, wherein the housing has a card shape. 122365.doc122365.doc
TW096124585A 2006-07-07 2007-07-06 System and method for controlling information supplied from memory device TW200821837A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US81950706P 2006-07-07 2006-07-07
US11/557,051 US20080022395A1 (en) 2006-07-07 2006-11-06 System for Controlling Information Supplied From Memory Device
US11/557,052 US8266711B2 (en) 2006-07-07 2006-11-06 Method for controlling information supplied from memory device

Publications (1)

Publication Number Publication Date
TW200821837A true TW200821837A (en) 2008-05-16

Family

ID=38829240

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096124585A TW200821837A (en) 2006-07-07 2007-07-06 System and method for controlling information supplied from memory device

Country Status (5)

Country Link
EP (1) EP2038800A2 (en)
JP (1) JP5180203B2 (en)
KR (1) KR20090033191A (en)
TW (1) TW200821837A (en)
WO (1) WO2008008245A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI596486B (en) * 2011-11-04 2017-08-21 群聯電子股份有限公司 Memory storage apparatus, memory controller, and method for transmitting and identifying data stream

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
KR101202346B1 (en) 2009-04-16 2012-11-16 삼성디스플레이 주식회사 Mask frame assembly for thin layer deposition, manufacturing method of the same and manufacturing method of organic light emitting display device there used
JP5747758B2 (en) * 2011-09-15 2015-07-15 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5747757B2 (en) * 2011-09-15 2015-07-15 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5915046B2 (en) * 2011-09-15 2016-05-11 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5942612B2 (en) * 2012-06-05 2016-06-29 凸版印刷株式会社 Information storage device and access determination method thereof
KR101991905B1 (en) * 2012-07-19 2019-06-24 삼성전자주식회사 Nonvolatile memory, reading method of nonvolatile memory, and memory system including nonvolatile memory
WO2014078481A1 (en) * 2012-11-15 2014-05-22 Violin Memory Inc. Memorty array with atomic test and set
US9811476B2 (en) 2013-02-28 2017-11-07 Panasonic Intellectual Property Management Co., Ltd. Encryption and recording apparatus, encryption and recording system, and encryption and recording method
KR101661930B1 (en) * 2015-08-03 2016-10-05 주식회사 코인플러그 Certificate issuance system based on block chain
KR101661933B1 (en) * 2015-12-16 2016-10-05 주식회사 코인플러그 Ccertificate authentication system and method based on block chain
KR102590439B1 (en) 2018-10-01 2023-10-18 에스케이하이닉스 주식회사 Memory system
JP2020149404A (en) * 2019-03-14 2020-09-17 オムロン株式会社 System, method and device for control

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272723B1 (en) * 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
CN102981980A (en) * 2004-12-21 2013-03-20 桑迪士克股份有限公司 Method for control access in storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI596486B (en) * 2011-11-04 2017-08-21 群聯電子股份有限公司 Memory storage apparatus, memory controller, and method for transmitting and identifying data stream

Also Published As

Publication number Publication date
WO2008008245A3 (en) 2008-02-28
JP2009543212A (en) 2009-12-03
EP2038800A2 (en) 2009-03-25
JP5180203B2 (en) 2013-04-10
WO2008008245A2 (en) 2008-01-17
KR20090033191A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
US8245031B2 (en) Content control method using certificate revocation lists
US8140843B2 (en) Content control method using certificate chains
TW200821837A (en) System and method for controlling information supplied from memory device
US8613103B2 (en) Content control method using versatile control structure
US8639939B2 (en) Control method using identity objects
US8266711B2 (en) Method for controlling information supplied from memory device
US20100138652A1 (en) Content control method using certificate revocation lists
US20080010452A1 (en) Content Control System Using Certificate Revocation Lists
US20080034440A1 (en) Content Control System Using Versatile Control Structure
US20080010449A1 (en) Content Control System Using Certificate Chains
US20080022395A1 (en) System for Controlling Information Supplied From Memory Device
US20080010458A1 (en) Control System Using Identity Objects
TW200822670A (en) Content control system and method using versatile control structure
JP2008524758A5 (en)
JP5178716B2 (en) Content management system and method using certificate revocation list
TW200820037A (en) Content control system and method using certificate chains
JP2008524757A (en) Control structure for multi-purpose content control and method using the control structure
JP4972165B2 (en) Control system and method using identity objects