TW200822670A - Content control system and method using versatile control structure - Google Patents

Content control system and method using versatile control structure Download PDF

Info

Publication number
TW200822670A
TW200822670A TW096124595A TW96124595A TW200822670A TW 200822670 A TW200822670 A TW 200822670A TW 096124595 A TW096124595 A TW 096124595A TW 96124595 A TW96124595 A TW 96124595A TW 200822670 A TW200822670 A TW 200822670A
Authority
TW
Taiwan
Prior art keywords
data
host
access control
access
stored
Prior art date
Application number
TW096124595A
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,056 external-priority patent/US20080034440A1/en
Priority claimed from US11/557,049 external-priority patent/US8613103B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200822670A publication Critical patent/TW200822670A/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

At least one software application is stored in a memory device, where a security data structure controls access to information obtainable from data stored in the device and to the at least one software application. A set of protocols control communication between a host and a memory device. Invocation of at least one software application stored in the memory device modifies the protocol. A security data structure controls access to data stored in the memory device according to an access policy. Invocation of at least one software application stored in the memory device imposes at least one condition in addition to the access policy for accessing the data. A data object storing data in the memory device is associated with at least one software application. Accessing the object will invoke the at least one software application which processes the data in the object. Individual ones of a plurality of first sets of protocols are selectable for enabling data to be provided and stored in a data object. A second set of protocols can be used to retrieve data from the data object, or data derived from such data, irrespective of which of the first set of protocols was used to enable the provision and storing of data in the object.

Description

200822670 九、發明說明: 【發明所屬之技術領域】 本發明大致上係關於記憶體系統,且尤其係關於一種具 有多用途内容控制特徵之記憶體系統。 【先前技術】 諸如快閃記憶體卡之儲存裝置係已經變成用於健存諸如 相片之數位内容的儲存媒體之選擇。快閃記憶體卡亦可以 被使用於散佈其他類型媒體内容。再者,種類增加的主機 裝置(諸如電腦、數位相機、行動電話、個人數位助理及 諸如聰播放機之媒體播放機)現在係具有呈現儲存於快閃 記憶體卡内的媒體内容之能力。因此,對於快閃記憶體卡 以及其他類型行動儲存裝置而言,係具有很大的潛能變成 用於散佈數位内容的廣泛使用傳播媒介。 隨著使用用於各種用途之儲存裝置(諸如智慧卡)成長, 需要儲存裝置具備更多控制及處理能力。因此,於一些應 用中,可能期望於儲存裝置中儲存某些控制結構。這= 制、。構實現4等儲存裝置控制對儲存於該等裝置内資料的 存取▲舉例而έ,智慧卡已經被用於儲存銀行業務相關資 λ諸如用於存取銀行帳戶或健康保險相關資訊之認證。 控制結構係安裝於智慧卡内,以防止未經授權存取此類資 汛的。如需關於智慧卡上的資訊,請參閲2_年英袼蘭 J〇hn她7 & S〇ns股份有限公司Rankl and Effing所著之智 慧卡手冊第三版。目前,智慧卡係已經主要使用於單一用 法或用途,諸如為電話預付卡、銀行卡或健康保險卡之形 122366.doc 200822670 於其他應用之中,期望於儲存裝置中儲存軟體應用程 式。些軟體應用程式使該等儲存裝置能夠處理儲存於該 等裝置内的資料。舉例而言,稱為JAVA卡之某些智慧卡 係含有用於支援服務(諸如銀行業務服務)之軟體應用程 式。如需關於JAVA卡上的資訊,請參閱c· Enrique 〇rtiz 於 2003 年 5 月 29 日公開於 Sun Devel〇per Netw〇rk上之,,java 卡技術簡介,第一部分”之文章中找到。然而,藉由其之 汉计,包含JAVA卡之智慧卡係用於控制存取資料或存取 應用程式,然而並非兩者。 由於上述許多爭議及問題,目前於儲存及主機裝置中使 用之系統無任一者係完全滿意的。因此,期望提供具有較 佳特性之改良系統。 【發明内容】 於許夕應用中,於儲存裝置上執行資料處理活動係有利 的^於"亥主機上執行所有資料處理工作之解決方案相 比’所統將為更安全、更有效率且較不依賴於主機。 ;、只也例中,至少一軟體應用程式係儲存於一非揮發 己It體系統巾’其巾’該至少_軟體應用程式係能夠被 主_用,以實行該記憶體系統内資料的處理。儲存於該 4體系統内的安全性資料結構控制對可自該資料獲得的 貝讯及該至少一軟體應用程式之存取。 ' 、實施例中,一種資料儲存設備係用於提供資料 地里服務、、Ό主機。儲存於該資料儲存設備之-非揮發性記 122366.doc 200822670 憶體系統内的至少一軟體應用程式可被一主機調用,以實 打該記憶體系統内資料的處理。儲存於該記憶體系統内的 一組協定係用於介於該等主機與該資料儲存設備之間通 訊。當該至少一軟體應用程式被調用時,修改該等協定中 之至y者此特彳政實現介於該等主機與該資料儲存設備 之間之通訊成為更有彈性受控於該至少一軟體應用程式之 調用。200822670 IX. Description of the Invention: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to memory systems, and more particularly to a memory system having multi-purpose content control features. [Prior Art] A storage device such as a flash memory 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 Sat.) 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. As storage devices (such as smart cards) for various uses grow, it is desirable to have more control and processing capabilities. Therefore, in some applications it may be desirable to store certain control structures in a storage device. This = system. The implementation of 4 storage devices controls access to data stored in such devices. For example, smart cards have been used to store banking related assets such as authentication for accessing bank accounts or health insurance related information. The control structure is installed in the smart card to prevent unauthorized access to such assets. For information on the smart card, please refer to the 2nd edition of the Smart Card Manual by 2〇年英袼兰 J〇hn her 7 & S〇ns Inc. Rankl and Effing. Currently, smart card systems have been used primarily for single use or use, such as for telephone prepaid cards, bank cards or health insurance cards. 122366.doc 200822670 Among other applications, it is desirable to store software applications in storage devices. These software applications enable the storage devices to process the data stored in the devices. For example, some smart cards called JAVA cards contain software applications for supporting services such as banking services. For information on the JAVA card, see c. Enrique 〇rtiz, published on Sun Devel〇per Netw〇rk on May 29, 2003, in the Java Card Technical Brief, Part I article. By virtue of it, smart cards containing JAVA cards are used to control access to data or access applications, but not both. Due to many of the above disputes and problems, the systems currently used in storage and host devices are not available. Either one is completely satisfied. Therefore, it is desirable to provide an improved system with better characteristics. [Summary of the Invention] In the Xu Xi application, it is advantageous to perform data processing activities on the storage device. The solution for data processing work will be safer, more efficient, and less dependent on the host. In addition, at least one software application is stored in a non-volatile system. The towel 'at least _software application system can be used by the main body to perform processing of data in the memory system. The security data structure control pair stored in the 4-body system can be Access from the information and access to the at least one software application. In the embodiment, a data storage device is used to provide data in the field, and the host is stored in the data storage device. Volatility record 122366.doc 200822670 At least one software application in the memory system can be called by a host to process the data in the memory system. A set of protocols stored in the memory system is used to introduce Communicating between the host and the data storage device. When the at least one software application is invoked, modifying the agreement to the y is implemented between the host and the data storage device The communication becomes more flexible and controlled by the at least one software application.

於又另-項實施例中’-種儲存p非揮發性記憶體系 統内之安全性資料結構係根據—存取原則而控制主機對儲 存於該記憶體系統内之資料的存取。#儲存於該記憶體系 統内之-軟體應用程式係被調㈣,賦加不同於該存取原 則的至少一額外條件,以用於主機對資料之存取。 於本發明之一項實施例中,至少一軟體應用程式及至少 -貧料物件係儲存於—非揮發性記憶體系統中。建置介於 該至少-資料物件與該至少—軟體應用程式之間的_ 聯性’使得存取#該至少—資料物件時,则該至少—軟 體應用私式’以處理該至少—資料物件内的資料。 於又另-項實施例中,複數個軟體應用程式被健存於_ 非揮發性記憶體裝置之中。 應H制該複數 式之一第-軟體應用程式,以建立-用於儲存自 -來源接收的資料或衍生資料的資料物件。該資料 相關聯於該複數個軟體應用程式之第二軟體應用程式。二 存取該育料物件時,調用該第二軟體應用程式。 田 於又另項實施例中,至少一軟體應用程式係儲存於— 122366.doc 200822670 ::揮發性記憶體系統中,其中,該至少一軟體應用程式係 能=被主機調用,以實施儲存於或待儲存於一記憶體系統 内貝料的處理,以獲得資訊。一健存於該記憶體系統内之 安全性資料結構包含:一第一控制結構,其係用於控制主 機對於該資訊的存取;及一第二控制結構,其係用於控制 該至少一軟體應用程式之調用,其中,該第一控制結構及 •亥第一控制結構採用實質上相同的控制機制。 於本發明之又另-項實施例中,至少-資料物件係儲存 於一非揮發性記憶體系統中。複數個第一組不同的協定亦 儲存於-記憶體系統中,其中,該等第一組協定之中個別 組協定係可供主機選擇,以使來自該主機的資料或自該資 料推導出t衍生資料能夠被提供至及儲存於該至少一資料 物件之中。儲存於該記憶體系統之第二組協定使得能夠自 該資料物件摘取該資料或衍生資料。該第二組協定使得能 夠擷取該資料或衍生資料,而不顧及該等第一組協定之哪 ( 一者實現該資料或衍生資料之提供及儲存。 於儲存系統中’可個別使用上述特徵,或者可以依任何 組合來組合上述特徵,以為内容擁有者提供控制及/或保 護的較廣的多用途。 在此處所參照的所有專利、專利申請案、文章、書籍、 規格、標準、其它出版物、文件與事物皆完全在此引述其 整體作為參考。在任何所引用的出版物、文件或事物與本 文件的内容之間在-詞㈣用法或定義上有某種程度的不一 致或衝突時,必須以在本文件中之詞彙的定義與用法為準。 122366.doc •10- 200822670 【實施方式】In still another embodiment, the security data structure within the non-volatile memory system controls access by the host to data stored in the memory system in accordance with the access principle. The software application stored in the memory system is called (4), and at least one additional condition different from the access principle is added for the host to access the data. In one embodiment of the invention, at least one software application and at least a lean material are stored in a non-volatile memory system. Establishing a _linkage between the at least-data object and the at least-software application such that when accessing the at least the data object, the at least the software application privately processes the at least the data object Information within. In yet another embodiment, a plurality of software applications are stored in the _ non-volatile memory device. One of the plural software-applications should be created to create a data object for storing data or derived data from the source. This information is associated with the second software application of the plurality of software applications. 2. The second software application is invoked when accessing the nurturing object. In another embodiment, at least one software application is stored in the -122366.doc 200822670:: volatile memory system, wherein the at least one software application system can be called by the host to implement storage. Or the processing of the beakers to be stored in a memory system to obtain information. A security data structure stored in the memory system includes: a first control structure for controlling access of the host by the host; and a second control structure for controlling the at least one The software application is invoked, wherein the first control structure and the first control structure adopt substantially the same control mechanism. In still another embodiment of the invention, at least the data item is stored in a non-volatile memory system. A plurality of first sets of different agreements are also stored in the -memory system, wherein individual group agreements among the first set of agreements are available for host selection to derive or derive data from the host Derivative materials can be provided to and stored in the at least one data item. A second set of agreements stored in the memory system enables the data or derivative material to be extracted from the data item. The second set of agreements enables the retrieval of the information or derivative information, regardless of which of the first set of agreements (one of which enables the provision and storage of the data or derivative materials. The above characteristics can be used individually in the storage system) Or the above features may be combined in any combination to provide a broader versatility for the content owner to control and/or protect. All patents, patent applications, articles, books, specifications, standards, other publications referenced herein. Matters, documents and things are hereby incorporated by reference in their entirety as a reference. When there is a certain degree of inconsistency or conflict between any referenced publication, document or thing and the content of this document. The definition and usage of the terms in this document shall prevail. 122366.doc •10- 200822670 [Embodiment]

圖1之方塊圖顯示示範性記憶體系統,可在該示範性記 憶體系統中實施本發明之各項態様。如示於圖i,該記憶 體系統10包3中央處理單元12、一緩衝管理單元 (BMU)14 i機介面模組(HIM)16及一快閃記憶體介面 模組(FIM)18、-快閃記憶體2〇及一周邊裝置存取模組 (PAM)22。記憶體系統1〇係透過—主機介面匯流排26及璋 26a而與一主機裝置24通訊。快閃記憶體2〇(其可屬於反及 (NAND)型)提供用於該主機裝置24之資料儲存,該主機褒 置24可以係一數位相機、一個人電腦、一個人數位助理 (PDA)、一數位媒體播放機(諸如一 Mp3播放機卜一行動電 話、一視訊轉換器或其他數位裝置或設備。用於中央處理 單元12之軟體碼係亦可以儲存於快閃記憶體2〇之中。快閃 記憶體介面模組1 8係透過一快閃記憶體介面匯流排28及埠 2 8 a而連接至该快閃記憶體2 〇。主機介面模組16係適合用 於連接至一主機裝置。該周邊裝置存取模組22選擇用於與 該中央處理單元12通訊之適當的控制器模組,諸如快閃記 fe、體介面模組、主機介面模組及緩衝管理單元。於_項實 加例中’該系統1 〇於虛線方塊内之所有組件可被包封於_ 單一單元之中,諸如於記憶體卡或記憶體條10,之内,較佳 地係被囊封。該記憶體系統10係可卸除地連接至主裳置 24 ’使得系統1 〇内的内容可被許多不同的主機裝置之每_ 者所存取。 於下文中,記憶體系統10亦被稱為記憶體裝置10,或僅 122366.doc 200822670 稱為記憶體裝置或梦 雜姑 來闡釋太恭文中藉由引用快閃記憶體 閣釋本發明,γ曰县女表 體,諸如磁雄 應用於其他類型記憶 體系統。/、’光碟,以及其他類型可重寫非揮發性記憶 該緩衝管理單元14包含—主機直接記憶體存取 3HDMA)j2 ’ 一快閃直接記憶體存取(FDMA)34,一仲裁器 36 \一緩衝隨機存取記憶體(BRAM)38及一密碼編譯引擎 40 4仲裁器36係-共用匯流排仲裁器,使得僅一主抑器 ㈣叫或起始器(其可以係該主機直接記憶體存取32、工該 决閃直接記憶體存取34或中央處理單元12)可於任何時間 為作用中狀恶,且從屬器或目標係緩衝隨機存取記憶體 38該仲裁器負責通道化適當的起始器請求至該緩衝隨機 存取。己隐體3 8。該主機直接記憶體存取32及該快閃直接記 憶體存取34負責介於該主機介面模組16、該快閃記憶體介 面模組18與該緩衝隨機存取記憶體38或者中央處理單元隨 機存取C憶體(CPU RAM)12a之間傳輸之資料。該主機直 接圮體存取32及該快閃直接記憶體存取34之操作係傳統 的且不而要於本文詳細敘述。該緩衝隨機存取記憶體3 8 係用於儲存介於該主機裝置24與快閃記憶體之間傳通之 身料。該主機直接記憶體存取32及該快閃直接記憶體存取 34負貝介於該主機介面模組i 6/該快閃記憶體介面模組i 8 /、s緩衝h機存取記憶體3 §或者中央處理單元隨機存取記 憶體12a之間傳送資料,且用於指示區段(sector)完成。 於一項實施例中,記憶體系統10產生用於加密及/或解 122366.doc -12- 200822670 密之密鑰值,其中,該密鑰值較佳地係 τ只貝上無法被外都 裝置(諸如主機裝置24)所存取。或者,該密鑰值亦可以在 该糸統10之外產生(諸如藉由一使用權词服器⑴咖 server)所產幻且被傳送至系㈣。不論該密鑰值係如何 產生,-旦該密鑰值被儲存於线1G之中,僅經鑑認之實 體將能夠存取該密鑰值1而’加密及解密典型地係以逐 -檔案方式實施’此乃因該主機裝置係以檔案之形式將資 料讀取及寫入至記憶體系統10。類似於許多其他類型儲存 裝置:記憶體裝置10係不管理檔案。雖然記憶體2〇確實儲 存一檔案配置表(FAT)(其中,該等樓幸 哥^茶之邏輯位址係被識 別)’但是該檔案配置表典型地係由該主機裝置24所存取 及管理’而非由該控制器12所存取及管理。因此,為了加 密於一特定檔案内的資料,續抻制 十礤控制器12係必須依賴該主機 裝置,以傳送該記憶體20内該檔案中之資料的邏輯位址, 使得可由該系統10使用僅限於备妓彳 難於糸統10可取得之密錄值來尋 找及加密及/或解密該特定檔案之資料。 為了提供對於該主機裝置24及記憶體系統1G兩者之控制 代碼(handlewx指向用於以密碼編譯方式處理檔案内的 資料之相同的密鑰,該主機裝置係提供用於由該系統10產 生或被傳达至系統10之每一密鑰值之參照㈣⑽⑷,其 中,此類參照係可以僅為一密細。因此,使該主機裝置 24相關聯於由系統1G用1⑽以密碼編譯方式處理的每 -檔案,且使該系統1G相關聯於用於用由該主機所提供之 密鎗胸密碼編譯方式處理資料的每一密鑰值因此,當該 122366.doc 200822670 主機明求經以密碼編譯方式處理之資料時,其將傳送該請 求連同一密鑰m以及將自記憶體2〇顧取或儲存於記憶體2〇 内之資料的邏輯位址至系統10。系統ίο產生或接收-密鑰 2,並且使㈣主機裝置24所提供之該密細㈣聯於此 被鑰值’且實施密碼編譯處理。以此方式,不需要改變記 憶體系統10操作之方式,同時允許其使用密餘而完全控制 f碼編譯處理,包含料㈣值m存取。換句話 說,-旦該密鑰值被儲存於系統10之中或由系統1〇予以產 生,該系統係持續允許該主機裝置24藉由具有對於播案配 置表之獨佔式控制而管理該等檔案,同時其係維持對於使 用於密碼編譯處理之㈣值的f理之獨佔式控制。在該等 密鑰值被儲存於記憶體系統10之後,該主機裝置24無管理 用於資料密碼編譯處理之密鑰值的責任。 於-項實施财’由該主機裝置24所提供之密細及傳 送至該記憶體系統或由該記憶體系統所產生之密鑰值係形 成-數量的兩個屬性’於下文稱為"内容加密密鑰(c〇相 Encryption Key,CEK)"或"CEK"。雖然該主機裝置24可使 每-密鑰m相關聯於-或多個檔案,但是該主機裝置24亦 可使每一密鑰ID相關聯於未經組織的資料或者以任何方式 組織之資料,且係不受限於組織成為完整檔案之資料。 為了使一使用者或應用程式獲得存取系統1〇内受保護的 内容或區域,將需要使用向系統1〇預登錄的一認證 (credentiaD來鑑認該使用者或應用程式。一認證相關聯於 經授予給具有該認證之特定使用者或應用程式之存取權。 122366.doc -14- 200822670 於預么錄耘序中,系統1〇儲 m m ^ ^ 纪錄,该記錄包含該使用 者或應用私式之該身份及認 ^ m^^ ^ ^ ^ 以及由该使用者或應用程 式所决疋且透過該主機裝置 聯之婼如 杈供之與此身份及認證相關 聯之存取權。在已經完成該預登錄之後 用程式請求„料“ 機裝置提供其身份及認證、一田^八將而要透過5亥主 W也 用於加密該資料之密鑰ID、 及經加密資料被儲存之邏輯位The block diagram of Figure 1 shows an exemplary memory system in which the various aspects of the present invention can be implemented. As shown in FIG. 1, the memory system 10 includes a central processing unit 12, a buffer management unit (BMU) 14 iM interface module (HIM) 16 and a flash memory interface module (FIM) 18, - Flash memory 2 and a peripheral device access module (PAM) 22. The memory system 1 communicates with a host device 24 via the host interface bus 26 and port 26a. Flash memory 2 (which may be of the NAND type) provides data storage for the host device 24, which may be a digital camera, a personal computer, a PDA, and a A digital media player (such as an Mp3 player, a mobile phone, a video converter, or other digital device or device. The software code system for the central processing unit 12 can also be stored in the flash memory. The flash memory interface module 18 is connected to the flash memory 2 via a flash memory interface bus 28 and port 28. The host interface module 16 is suitable for connection to a host device. The peripheral device access module 22 selects an appropriate controller module for communicating with the central processing unit 12, such as a flash memory fe, a body interface module, a host interface module, and a buffer management unit. In the example, all components of the system 1 within the dashed box may be enclosed in a single unit, such as a memory card or memory strip 10, preferably encapsulated. System 10 is removably connected The main set 24' allows the contents of the system 1 to be accessed by each of a number of different host devices. Hereinafter, the memory system 10 is also referred to as a memory device 10, or only 122366.doc 200822670 Called memory device or dream aunt to interpret the invention by citing flash memory, the female body of γ曰 County, such as magnetic male applied to other types of memory systems. /, 'CD, and Other types of rewritable non-volatile memory The buffer management unit 14 includes - host direct memory access 3HDMA) j2 'a flash direct memory access (FDMA) 34, an arbiter 36 \ a buffered random access memory Body (BRAM) 38 and a cryptographic compilation engine 40 4 arbiter 36-shared bus arbitrator, such that only one master (four) call or initiator (which can be the host direct memory access 32, work The flash memory direct memory access 34 or the central processing unit 12) can be active at any time, and the slave or target buffers the random access memory 38. The arbiter is responsible for channelizing the appropriate initiator request to This buffer is random access. It has been hidden 3 8 . The host direct memory access 32 and the flash direct memory access 34 are responsible for the host interface module 16, the flash memory interface module 18, the buffer random access memory 38 or the central processing unit. The data transmitted between the random access memory cells (CPU RAM) 12a. The operation of the host direct access 32 and the flash direct memory access 34 is conventional and will not be described in detail herein. The buffered random access memory 38 is used to store the body between the host device 24 and the flash memory. The host direct memory access 32 and the flash direct memory access 34 negative are in the host interface module i 6 / the flash memory interface module i 8 /, s buffer h machine access memory 3 § or the central processing unit transfers data between the random access memories 12a and is used to indicate the completion of the sector. In one embodiment, the memory system 10 generates a key value for encrypting and/or resolving 122366.doc -12-200822670, wherein the key value is preferably τ only and cannot be externally Accessed by a device, such as host device 24. Alternatively, the key value may also be generated outside of the system 10 (such as by a usage server (1) coffee server) and transmitted to the system (4). Regardless of how the key value is generated, once the key value is stored in line 1G, only the authenticated entity will be able to access the key value 1 and 'encryption and decryption is typically a file-by-file Method implementation 'This is because the host device reads and writes data to the memory system 10 in the form of a file. Similar to many other types of storage devices: the memory device 10 does not manage files. Although the memory 2 does store a file configuration table (FAT) (where the logical addresses of the buildings are identified), the file configuration table is typically accessed by the host device 24 and Management 'is not accessed and managed by the controller 12. Therefore, in order to encrypt the data in a particular file, the serial controller 12 must rely on the host device to transfer the logical address of the data in the file in the memory 20 so that it can be used by the system 10. It is only necessary to prepare and encrypt and/or decrypt the data of the specific file by the cipher value that is difficult to obtain. In order to provide control code for both the host device 24 and the memory system 1G (the handlewx points to the same key used to process the data within the archive in a cryptographically compiled manner, the host device is provided for generation by the system 10 or Reference is made to each of the key values of system 10 (4)(10)(4), wherein such reference frame may be only one size. Therefore, the host device 24 is associated with the cryptographically compiled method by system 1G with 1(10). Each file, and the system 1G is associated with each key value used to process the data with the secret cipher cryptography provided by the host. Therefore, when the 122366.doc 200822670 host is cryptographically compiled When the data is processed, it will transmit the request with the same key m and the logical address of the data that will be taken from or stored in the memory 2 to the system 10. The system ίο generates or receives - dense Key 2, and (4) the secret (four) provided by the host device 24 is associated with the key value and performs cryptographic processing. In this way, there is no need to change the manner in which the memory system 10 operates, while allowing It uses the secret to fully control the f-code compilation process, including the material (four) value m access. In other words, once the key value is stored in the system 10 or generated by the system, the system continues to allow The host device 24 manages the files by having exclusive control over the playlist configuration table while maintaining exclusive control over the values of the (four) values used in the cryptographic compilation process. After being stored in the memory system 10, the host device 24 has no responsibility for managing the key value used for the data cryptographic process. The privilege provided by the host device 24 is transferred to the memory system. Or the key value generated by the memory system is formed - two attributes of the quantity 'hereinafter referred to as "content encryption key (c〇phase Encryption Key, CEK)" or "CEK" The host device 24 may associate each key m with - or multiple files, but the host device 24 may also associate each key ID with unorganized material or data organized in any manner, and Not limited to the organization Archives. In order for a user or application to gain access to protected content or areas within the system, an authentication (credentiaD) pre-registered with the system 1 will be required to authenticate the user or application. An authentication is associated with access granted to a particular user or application having the authentication. 122366.doc -14- 200822670 In the pre-recording sequence, System 1 stores a mm ^ ^ record, which contains The identity and identity of the user or application privately associated with the identity and authentication as determined by the user or application and linked through the host device Access rights. After the pre-login has been completed, the program requests the device to provide its identity and authentication, and the key ID and the encrypted data that are also used to encrypt the data are stored through the 5H master. Logical bit

糸、、先10產生或接收一密 =,且使《鑰值相關聯於由該主機裝置所提供之密餘 且將用於加雄待寫入之資料的密鑰值之密餘糊存於 於该使用者或應用程式之記錄或表中。接著,加密該資 科且儲存經加密資料於該主機所指定之位址處以及 或接收之密鑰值。 田一使用者或應用程式請求自記憶體20讀取經加密資料 時:其將需要提供其身份及認證、用於先前用於加密該請 求資料之密鑰之密鑰ID、及該經加密資料被儲存之邏輯位 址。、系統1G接著比對由該主機所提供之使用者或應用程式 身份及認證與儲存於其之記錄内的身份及認證。假如匹 配’則系統10將接著自其之記憶體内擷取與由該使用者或 μ用%式所&供之密鑰ID相相關聯的密鑰值,使用該密输 值解岔儲存於該主機裝置所指定之位址處之資料,且傳送 該解密資料至該使用者或應用程式。 藉由分離該等鑑認認證與用於密碼編譯處理之密鑰的管 理’接著分享存取資料之權利而不共用認證係可能的。因 此’一群組具有不同認證之使用者或應用程式可存取用於 122366.doc -15- 200822670 存取相同資料之相同的密瑜,而該群組以外的使用者係不 此存取。雖然一群組内所有使用者或應用程式係可以存取 相同的貝料,其可以仍然具有不同的權利。因此,某些使 用者可以具有唯讀存取’而其他使用者可以具有唯寫存 取’而又其他使用者係可以具有唯讀存取及唯寫存取兩 者。因為系統ίο維持一含有該使用者或應用程式之身份及 «忍迅、其可存取之密鑰ID以及每一密鑰1〇所相關聯之存取 權的記錄,所以對於系統10而言,增加或刪除特定使用者 或應用程式之密瑜出且改變與此密鑰帅關聯的存取權、 自-使用者或應用程式委派存取權給另一使用者或應用程 式、或者甚至刪除或增加用於使用者或應用程式之記錄或 表係可此的,所有皆受控於一適當經鑑認之主機裝置。儲 存之記錄可指用於存取某些密錄所需要的安全通道。 可使用對稱或非對稱演算法以及密碼來實行鑑認。 特別重要的是該記憶體系統10内的受到保護的内容之可 攜性。於存取料齡較㈣記憶㈣統㈣之實施例 中’當併人該系統之記憶體系統或儲存裝置係自一外部系 統轉移至另—外部系統時’維持儲存料内之内容的安全 性。不論該密鑰係由該記憶體系統所產生或者起源於該記 憶體系統外’外部系統無法存取系統1〇内之此類内容,除 非已以-完全受到該記憶體系統控制之方式鑑認外部系 統。甚至在經此鐘認之後,存取係完全受控於該記憶體系 統,且外料統可僅以—根據該記憶㈣㈣預設記錄所 控制之方式進行存取。假如—請求係不符合此類記錄,則 122366.doc -16 - 200822670 該清求將被拒絕。 為了提供在保護内容上較大的彈性,可以想像僅限於經 適當鑑認的使用者或應用程式才能存取該記憶體之某些區 域(下文稱為分割區)。當結合上述以㈣為基礎之㈣加 在之特被時,系統10係提供較大的資料保護能力。如示於 圖2’該快閃記憶體2G係可以使其之儲存容量被分割成為 許多分割區:-使用者區域或分割區及自訂分割區。所有 使用者及應用程式可存取使用者區域或分割區pQ,而不需 要鑑認。雖餘何應隸式或使用者可讀取或寫人至储存 於該使用者區域内的資料的所有位元值,假如所讀取之資 料係被加密,則無授權解密之使用者或應用程式無法存取 由儲存於一使用者區域内的位元值所表示的資訊。舉例而 言,由儲存於使用者區域P0内的檔案1〇2及1〇4所顯示。亦 儲存於該使用者區域的是未經加密檔案,諸如106,其可 被所有應用程式及使用者讀取及瞭解。因此,象徵而言, 被加密之檔案係顯示為具有與其相關聯之鎖,諸如對於檔 案102及104而言。 雖然未經授權的應用程式或使用者無法瞭解於一使用者 區域P0内的經加密檔案,然而此類應用程式或使用者仍然 能夠删除或破壞該檔案,這對於一些應用程式而言可能為 不期望的。為了此目的,記憶體20亦包含受保護的自訂分 割區,諸如分割區P1&P2,在無事先鑑認情況下無法存取 彼等自β分割區。於此申請案内實施例中所允許的鑑認程 序係說明如下。 122366.doc 200822670 如亦顯示於圖2中,各種使用者或應用程式可以存取記 隐體2〇内的檔案。0此,圖2顯示使用者】及2及(執行於裝 置上之)應用程式1-4。在彼等實體被允許存取記憶體2〇内 又保羞的内谷之則,首先藉由一鑑認程序以下文說明之方 式鑑⑽彼等實體。於此程彳中,冑要於該主機端識別正在 請求存取之實體,以用於角色為基礎的存取控制。因此, 正在請求存取之實體首先藉由提供諸如"我是應用程式2且 /我想要明取檔案1,1之資訊,而識別自己。接著,控制器12 比對β亥身h、4監s忍資訊及請求與儲存於記憶體2〇或控制器 12内之記錄。假如所有條件係符合,則存取係被授予給此 類實體。如示於圖2,使用者"皮允許讀取及寫入檔案ι〇ι 至分割區P1,然而除了使用者1具有讀取及寫入檔案至 分割區P0之不受限制的權利之外,其僅可讀取播案1〇2及 104。另一方面,使用者2不被允許存取檔案ι〇ι及1〇4,然 而可讀取及寫入存取播案1〇2。如示於圖2,使用者⑷具 (有相同的登入演算法(AES)’而應用程式1及3具有不同的 登入演算法(例如,RSA及咖G1),其係亦與使用者⑴ 之登入演算法不同。 安全儲存應用程式(SSA)係—種記憶體系㈣之安全性 應用程式,且闡釋本發明之一項實施例,其可被使用於實 施許多上述的特徵。安全儲存應用程式係可以建構為具有 儲存於該記憶體2G或中央處理單元12内的非揮❸己情體 (未顯示)内的資料庫之軟體或電腦碼,且被讀人^遺㈣ 取記憶體心中且由中央處理單元12所執行。所使用參照 122366.doc -18 - 200822670 安全儲存應用程式之字母縮寫係說明於下表: 定義、字母縮寫及縮寫 ACR Access Control Records(存取控制記錄) AGP ACR Group(存取控制記錄群組) CBC Chain Block Cipher(鏈區塊編密) CEK Content Encryption Key(内容加密密鑰) ECB Electronic Codebook(電子碼本) ACAM ACR Attributes Management(存取控制記錄屬性管理) PCR Permissions Control Record(權限控制記錄) SSA Secure Storage Application(安全儲存應用裎式) Entity 實體’具有真實5個另斤 程式且因而利用其之功能的任何事物 /艾王减仔應用 ^糸, first 10 generates or receives a 密=, and causes the key value to be associated with the key value provided by the host device and the key value to be used for the data to be written by the host device In the record or table of the user or application. The asset is then encrypted and the encrypted data is stored at the address specified by the host and the key value received. When the Tianyi user or application requests to read the encrypted data from the memory 20: it will need to provide its identity and authentication, the key ID used for the key used to encrypt the requested data, and the encrypted data. The logical address to be stored. System 1G then compares the identity of the user or application provided by the host and the identity and authentication stored in its records. If the match is matched, then the system 10 will then retrieve the key value associated with the key ID associated with the user or μ by the user or μ, and use the secret value to store the key value. The data at the address specified by the host device and transmitting the decrypted data to the user or application. By separating the authentication of the authentication and the key used for cryptographic processing, then sharing 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 password for accessing the same data for 122366.doc -15-200822670, and users outside the group are not accessing this. Although all users or applications in a group can access the same bedding, they can still have different rights. Thus, some users may have read-only accesses while other users may have write-only accesses while other users may have both read-only access and write-only access. Because the system ίο maintains a record containing the identity of the user or application and the access keys associated with the user's access key and the key associated with each key, for the system 10 , add or remove the secret of a particular user or application and change the access rights associated with the key, delegate from the user or application to another user or application, or even delete Or the addition of records or representations for the user or application may be controlled by a suitably authenticated host device. A stored record can refer to the secure channel required to access certain cryptograms. A symmetric or asymmetric algorithm and a password can be used to perform the authentication. Of particular importance is the portability of the protected content within the memory system 10. In the embodiment of accessing the age of the material (4) memory (four) system (4), when the memory system or storage device of the system is transferred from an external system to another external system, the security of the content in the storage material is maintained. . Whether the key is generated by the memory system or originated outside the memory system, the external system cannot access such content in the system 1 unless it has been authenticated in a manner completely controlled by the memory system. External system. Even after this ticking, the access system is completely controlled by the memory system, and the external system can be accessed only in a manner controlled by the memory (4) (4) preset recording. If the request does not comply with such a record, then 122366.doc -16 - 200822670 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). The system 10 provides greater data protection capabilities when combined with the above-mentioned (four)-based (4) additions. As shown in Fig. 2', the flash memory 2G system can divide 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 pQ without authentication. Although the user or the user can read or write all the bit values of the data stored in the user area, if the data read is encrypted, the user or application without authorization decryption The program cannot access the information represented by the bit values stored in a user area. For example, it is displayed by files 1〇2 and 1〇4 stored in the user area P0. Also stored in the user area is an unencrypted file, such as 106, which can be read and understood by all applications and users. Thus, symbolically, the encrypted file system is shown as having a lock associated with it, such as for files 102 and 104. Although an unauthorized application or user cannot know the encrypted file in a user area P0, such an application or user can still delete or destroy the file, which may not be suitable for some applications. Expected. For this purpose, the memory 20 also contains protected custom partitions, such as partitions P1 & P2, which are inaccessible from the beta partition without prior authentication. The authentication procedures allowed in the examples in this application are described below. 122366.doc 200822670 As also shown in Figure 2, various users or applications can access files in the cryptographic file. 0, Figure 2 shows the user 】 and 2 and (executed on the device) applications 1-4. In the case of the inner valleys whose entities are allowed to access the memory 2, they are first identified (10) by an authentication procedure in the manner described below. In this process, the entity that is requesting access is identified on the host side for role-based access control. Therefore, the entity that is requesting access first identifies itself by providing information such as "I am application 2 and / I want to see the file 1,1. Next, the controller 12 compares the records of the data stored in the memory 2 or the controller 12 with respect to the data. If all the conditions are met, the access system is granted to this type of entity. As shown in Fig. 2, the user " skin allows reading and writing of the file ι〇ι to the partition P1, except that the user 1 has the unrestricted right to read and write the file to the partition P0. It can only read the broadcasts 1〇2 and 104. On the other hand, the user 2 is not allowed to access the files ι〇ι and 1〇4, but can read and write the access broadcasts 1〇2. As shown in Figure 2, the user (4) has (the same login algorithm (AES)' and the applications 1 and 3 have different login algorithms (for example, RSA and coffee G1), which are also related to the user (1) The login algorithm is different. The Secure Storage Application (SSA) is a security application of the Memory System (4) and illustrates an embodiment of the present invention that can be used to implement many of the above features. Secure Storage Application It can be constructed as a software or computer code having a database stored in the memory 2G or the central processing unit 12 in a non-floating body (not shown), and the read person (4) takes the memory of the heart and is The central processing unit 12 is used. The reference to the 122366.doc -18 - 200822670 secure storage application is described in the following table: Definitions, acronyms and abbreviations ACR Access Control Records AGP ACR Group ( Access Control Record Group) CBC Chain Block Cipher CEK Content Encryption Key ECB Electronic Codebook ACAM ACR Attributes Management (Access Control Record Attribute Management) PCR Permissions Control Record SSA Secure Storage Application Entity Entity 'Everything with 5 real simplifications and thus utilizing its functions / Ai Wang Xiaozi Application ^

安全儲存應用程式系統說明 資料安全性、完整性及存取控制係安全儲存應用程式 主要角色。資料係明確地儲存於某種大量儲存梦 , 不"罝上的槽 案。安全儲存應用程式系統係位於儲存系絲的 、』上万,且增 加用於被儲存主機檔案之安全性層級,且透過安全丨生欠、,; 結構而提供安全性功能,如下文所述。 該安全儲存應用程式之主要工作係管理相關聯於記情體 内被儲存的(及安全的)内容的不同權利。記悟 (丨〜、體應用程式 需要管理多個使用者及對於多個儲存的内容的内容權利。 自其之側而來的主機應用程式係看見此類應用程式可見 驅動程式及分割區,以及管理及描繪該儲存裝置上儲广^ 案之位置的檔案配置表(FAT)。 @ 於此情況下,該儲存裝置使用分割成分割區之反及快門 122366.doc -19- 200822670 記憶體晶片,然而亦可使用其他行動儲存裝置且係屬於本 發明之範疇内。這些分割區係連續的邏輯位址緒 (thread),其中,一起始及一結束位址定義其邊界。因 此’假如想要’可以藉由軟體(諸如儲存於記憶體2〇内的 軟體,)而將限制賦加於對於隱藏分割區的存取,此類軟 體使此類限制相關聯於此類邊界内的位址。藉由該安全儲 存應用程式所管理之分割區邏輯位址邊界,使該安全儲存 應用程式可完全辨識分割區^該安全儲存應用程式系統使 用分割區,以實際上使資料安全免於未經授權之主機應用 程式。對於主機而言,該等分割區係一種定義儲存資料檔 案之專屬空間之機制。這些分割區可以係:公開的,其 中’可存取該儲存裝置的任何者可看見及知道該分割區存 在於該裝置上;或者私有的或隱藏的,其中,僅被選擇的 主機應用程式可存取及知道其存在於該儲存裝置上。Safe Storage Application System Description Data Security, Integrity and Access Control Secure Storage Application Main role. The data is clearly stored in a large number of storage dreams, not the "slots". The secure storage application system is located at the top of the storage line and is added to the security level of the host file to be stored, and provides security functions through security, owing to the structure, as described below. The primary job of the secure storage application is to manage the different rights associated with the stored (and secure) content in the ticker. Enlightenment (丨~, the application needs to manage multiple users and content rights for multiple stored content. The host application from its side sees such applications visible drivers and partitions, and Manage and map the file configuration table (FAT) of the storage device on the storage device. @ In this case, the storage device uses a memory chip that is divided into partitions and shutters 122366.doc -19- 200822670, However, other mobile storage devices may also be used and fall within the scope of the present invention. These partitions are consecutive logical byte sequences in which a start and an end address define their boundaries. Therefore, 'if desired' The restrictions may be imposed on the access to the hidden partition by software, such as software stored in memory 2, such software associating such restrictions with addresses within such boundaries. The partition logical address boundary managed by the secure storage application enables the secure storage application to fully recognize the partition ^ the secure storage application system uses the partition To actually protect data from unauthorized host applications. For hosts, these partitions are a mechanism for defining the exclusive space for storing data files. These partitions can be: public, where 'can be saved Anyone of the storage device can see and know that the partition exists on the device; or private or hidden, wherein only the selected host application can access and know that it exists on the storage device.

圖3係記憶體之示意圖,其顯示記憶體之分割區:p〇、 P1、P2及P3(顯然地,可採用少於或多於*個的分割區), 其:’ PG係-公開分㈣,其可由任何實體存取而不需要 -私有分割區(諸如P1、PUP3)隱藏對於其内之播案的 二。精由防止該主機存取該分割區1閃記憶體裝置 快閃記憶體卡)係傳送該分割區内的資料檔案之保 區内藉由附加限制於存取儲存於該分割 内位址處之資料,而吞沒駐留於該隱藏分割區 有檔案。換句話說,該等限制係相關祕^ 一邏輯位址 122366.d〇( -20- 200822670 範圍。可存取該分割區的所有使用者/主機係可未無限制 存取内。P的所有檔案。A了隔離不同的檔案及另—不同的 ^案或者播案群組,該安全儲存應用程式系統制密输及 欲鑰參照或密鑰ID,而提供每一檔案或者檔案群組另一層 級安全性及完整性。用於加密在不同的記憶體位址處之資 料的特疋岔錄值之一密鑰參照或密输id可被類推至一含 有該經加密資料之容器(container)或定義域(d〇main)。= 此,於圖4中,該等密鑰參照或密鑰11)(例如,,,密鑰丨,,及 π密鑰2”)係以繪圖方式顯示為圍繞使用相關聯於該等密鑰 ID之密鑰值加密之檔案之區域。 參照圖4,舉例而言,檔案a係可被所有實體存取而不需 要任何鑑認,因為其係顯示為不被任何密鑰m所封入。即 使所有實體可讀取或覆寫公開分割區内的檔案B,然而檔 案B含有以一具有ID,,密鑰丨"之密鑰予以加密之資料,所 以使得檔案B中所含有的資訊係不能被一實體存取,除非 此類實體有權存取此類密鑰。以此方式,使用密鑰值及密 鑰參照或密鑰ID係僅提供邏輯保護,其係相對於由上述分 割區所提供之保護類型。因此,可存取一分割區(公開的 或私有的)之任何主機能夠讀取或寫入整個分割區内的資 料,包含經加密資料。然而,因為該資料係被加密,所以 未經授權的使用者係僅能狗破壞該資料。較佳地,其在無 债測之下無法改變資料。藉由限制對於加密及/或解密密 鑰之存取,此特徵可僅允許經授權實體使用該資料。於p〇 中,亦使用一具有密鑰IDn密鑰2,,之密鑰來加密檔案B&c。 122366.doc -21- 200822670 可透過對稱加密法而提供資料機密性及完整性,該等對 稱加密^法使用内容加密密錄(Content EnCryption Key; CEK),每内谷加㈣鑰_個。於該安全儲存應用程式實 包中於内谷加始、岔餘内的密鑰值係由快閃記憶體裝置 (例如’快閃記憶體卡)所產生或接收,該密鑰值係僅内部 使用且^持為避料面世界的秘密。被加密或以密碼編譯 處里之:貝料係亦可以為雜凑的加如#或者密碼編譯係鍵 區塊的,以確保資料完整性。 並非於該分割區内的所有資料係以不同的㈣予以加密 及相關聯於不同的密鑰1〇。於公開或使用者檔案内或於作 業系統區域(亦即檔案配置表)内之某些邏輯位址係可以不 相關聯於任何密鑰或密鑰參照,Μ而係可供可存取該分 割區本身之任何實體所使用。 要求建立选繪及分割區以&寫入及自其讀取資料或使 用該等密以能力特體係需要it過-存取控制記錄 (ACR)而且入該女全儲存應用程式系統。於該安全儲存應 、。'糸、、、先内存取控制記錄的特殊權限(privilege)係稱 為動作’’(action)。每一存取控制記錄係具有實施下列三 種類別的動作之權限:建立分割區及密鑰/密鑰ι〇 ·,存取 分割區及密鑰;以及建立/更新其他存取控制記錄。 、存取控制。己錄係被組織成群組,稱為存取控制記錄群組 或AGP。一旦已經成功鑑認一存取控制記錄,則該安全儲 存應用程式開啟一會期(sessi〇n),透過該會期,可執行任 何存取控制記錄之動作。存取控制記錄及存取控制記錄群 122366.doc -22- 200822670 Q及进瑜之安全性資料 組係用於根據原則而控制存取分割 結構。 使用者分割區 理一或多個公開分割區,亦 係存在於該儲存裝置上且係 入咋々予以存取之一或多個 小以及其存在於該裝置上的 統隱藏。Figure 3 is a schematic diagram of a memory showing partitions of memory: p 〇, P1, P2, and P3 (obviously, less than or more than * partitions may be employed), which: ' PG - public points (d), it can be accessed by any entity without the need for a private partition (such as P1, PUP3) to hide the second for the broadcast within it. The security zone for preventing the host from accessing the partition 1 flash memory device is to transfer the data file in the partition within the protected area by additionally restricting access to the address stored in the partition. The data, while engulfing the file that resides in the hidden partition. In other words, the restrictions are related to the logical address 122366.d〇 ( -20- 200822670 range. All users/hosts that can access the partition can access unrestricted access. All of P File. A separates different files and another - different ^ or group of broadcasts, the secure storage application system makes secret and key reference or key ID, and provides each file or file group another Hierarchical security and integrity. One of the key record values used to encrypt data at different memory addresses can be analogized to a container containing the encrypted data or Define the domain (d〇main). = This, in Figure 4, the key references or keys 11) (for example, , key 丨, and π key 2) are displayed in a graphical manner around An area of the file encrypted using the key value associated with the key IDs. Referring to Figure 4, for example, file a can be accessed by all entities without any authentication because it is shown as not being Any key m is enclosed. Even if all entities can read or overwrite the public partition File B, however, file B contains information encrypted with a key with an ID, key 丨", so that the information contained in file B cannot be accessed by an entity unless such entity has the right Accessing such keys. In this way, the use of key values and key references or key IDs provides only logical protection relative to the type of protection provided by the partitions described above. Any host (public or private) can read or write data from the entire partition, including encrypted data. However, because the data is encrypted, unauthorized users can only destroy the dog. Preferably, the information cannot be changed without debt testing. By restricting access to the encryption and/or decryption key, this feature may only allow the authorized entity to use the material. The file B&c is also encrypted using a key with the key IDn key 2, 122366.doc -21- 200822670 Data confidentiality and integrity can be provided by symmetric encryption, and the symmetric encryption method is used. Content encryption Record (Content EnCryption Key; CEK), each in the valley plus (four) key _ a. In the secure storage application package in the inner valley, the key value in the remainder is flash memory device (such as ' The flash memory card is generated or received. The key value is only used internally and is kept as a secret of the world of the avoidance surface. It is encrypted or compiled with a password: the shell material can also be hashed. Such as # or password compile the key block to ensure data integrity. Not all data in the segment is encrypted with different (4) and associated with different keys. In public or user files Certain logical addresses within or within the operating system area (ie, the file configuration table) may be unrelated to any key or key reference, and are therefore available to any entity that has access to the partition itself. use. It is required to establish a drawing and partitioning area to & write and read data from or use the secret system to require an over-access control record (ACR) and enter the female full storage application system. In this safe storage should be. The special privilege of '糸,,, and the first access control record is called the action'. Each access control record has the authority to perform the following three categories of actions: creating partitions and keys/keys, accessing partitions and keys, and establishing/updating other access control records. , access control. The recorded systems 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 for a session (sessi〇n) through which any access control record action can be performed. Access Control Record and Access Control Record Group 122366.doc -22- 200822670 Q and the security information of the group are used to control the access segmentation structure according to the principle. The user partitions the one or more public partitions, which are also present on the storage device and are tied to one or more of the accesses and their presence on the device.

該安全儲存應用程式系統管 稱為使用者分割區。此分割區 可透過儲存裝置之標準讀取寫 分割區。獲得關於分割區之大 資訊較佳地無法對於該主機系 —該安全儲存應用程式系統係透過標準讀取寫人命令或該 安全儲存應用程式命令而能夠存取分割區。因此,較佳 地’存取分割區無法被限用於特定存取控制記錄。然而, 該安全儲存應mu可使該等主機裝置㈣限制存取 該使用者分割區。可個別啟用/停㈣取及寫人存取。允 許所有4種組合(例如,唯讀,唯寫(防寫保護),讀取及寫 入以及無存取權)。 該安全儲存應用程式系統使存取控制記錄能夠使密矯⑴ 相關聯於該使用者分割區内的檔案,且使用相關聯於此類 密鍮ID之㈣來加密個職案。存取料使用者分割區内 的經加密檔案以及設定對於該等分割區之存取權將使用該 安全儲存應㈣式命令集而實行。上料徵亦剌於未經 組織成檔案之資料。 安全儲存應用程式分割區 有能夠僅透過該安全儲存應用程式命令存取之(避免未 、、二4α…的g事人之)隱藏分割區。較佳地,該安全儲存應 122366.doc -23· 200822670 用程式系、统將不允許該主機裝置存取一安全错存應用程式 分割區,除了透過一由登入至一存取控制記錄所建置之會 期之外。類似地,較佳地,該安全儲存應用程式將不提供 關於一安全儲存應用程式分割區之存在、大小及存取權限 之貝訊,除非此請求係透過一已建置的會期而來。 對於分割區之存取權係自該存取控制記錄權限推導而 來。一旦一存取控制記錄登入至該安全儲存應用程式系 、、先其可與其他存取控制記錄共用該分割區(敘述如下 文)。當建立一分割區時,該主機提供用於該分割區之一 參照名稱或者ID(例如,圖3及4中之p()_p3)。在對於該分割 區之進一步的讀取及寫入命令之中使用此參照。 儲存裝置之分割區 車乂佳地,該裝置之所有可用儲存容量被配置給使用者分 割區及目前組態的安全儲存應用程式分割區。因此,任何 重新刀割操作可牽涉到現有分割區之重新組態。對於該裝 置容量的淨改變(所有分割區之大小的總和)將為零。該裝 ϊ tm㈣㈣區之z D係由該主機系統所定義。 該主機系統可重新分割現有分割區之-者成為兩個較小 的刀割區,或者合併兩個現有分割區(其係可以或可以不 :相鄰的)成為-分割區。於經分割或經合併分割區内的 貝料可被刪除或者保留不碰觸,其係根據該主機之判斷。 因為該健存裝置之重新分割可導致資料的遺失(由於資 料被刪除或者使貝料在該儲存裝置之邏輯位址空間内移 動)’對重新分狀嚴格限㈣由該安全儲存應用程式系 122366.doc •24- 200822670 統所管理。僅-駐留於__根存取控制記錄群組㈣存取於 制記錄(下文說明)被允許發佈—重新分割命令,且盆僅可 參照由其所擁有的分割區。因為該安全储存應用料系统 不知道資料係如何於該等分割區中組織(檔案配置表或其 他檔案系統結構),所以每t該裝置被重新分割時,重新 建構這些結構係該主機之責任。 使用者分龍之重新分制改變主作㈣統所觀看之此 分割區的大小及其他屬性。This secure storage application system is referred to as the user partition. This partition can read the write partition through the standard of the storage device. Obtaining information about the partition is preferably not possible for the host system - the secure storage application system is able to access the partition via the standard read writer command or the secure storage application command. Therefore, it is preferred that the access partition cannot be restricted to a particular access control record. However, the secure storage should allow the host devices (4) to restrict access to the user partition. Can be individually enabled / stopped (four) to access and write access. All four combinations are allowed (for example, read only, write only (anti-write protection), read and write, and no access). The secure storage application system enables the access control record to associate the secret (1) with the file in the user partition and encrypt the job using (4) associated with such a secret ID. The encrypted file in the access user partition and the setting of access rights to those partitions will be implemented using the secure storage (4) command set. The listing is also based on information that has not been organized into a file. Safely store application partitions There are hidden partitions that can be accessed only by the secure storage application command (avoiding the absence of the 2, 4, ...). Preferably, the secure storage system 122366.doc -23. 200822670 will not allow the host device to access a secure and erroneous application partition, except that it is built by logging in to an access control record. Beyond the meeting period. Similarly, preferably, the secure storage application will not provide a message regarding 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, it can be shared with other access control records (described below). When a partition is established, 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. Partition of the storage unit The vehicle's all available storage capacity is configured for the user's split area and the currently configured secure storage application partition. Therefore, any re-cutting operation can involve reconfiguration of existing partitions. The net change in the capacity of the device (the sum of the sizes of all partitions) will be zero. The z D of the device (m) (four) zone is defined by the host system. The host system can re-segment the existing partition into two smaller cut areas, or merge two existing partitions (which may or may not be adjacent) into a partition. The bedding material in the divided or merged zone can be deleted or left untouched, based on the judgment of the host. Because the re-segmentation of the memory device can result in the loss of data (because the data is deleted or the bedding material moves within the logical address space of the storage device), the re-segmentation is strictly limited (4) by the secure storage application system 122366 .doc •24- 200822670 Management of the Institute. Only - resides in the __ root access control record group (4) access record (described below) is allowed to issue - re-segment command, and the basin can only refer to the partition owned by it. Since the secure storage application system does not know how the data is organized in the partitions (file configuration table or other file system structure), it is the responsibility of the host to rebuild these structures every time the device is re-segmented. The user divides the dragon's re-segmentation to change the size and other attributes of this partition viewed by the master (4).

在分割之後,確保該安全儲存應用程式系統⑲何存取 控制記錄係不正在參照非現有分割區係該主機系統的責 任。假如未適當地刪除或更新這些存取控制記錄,則未來 企圖代表這些存取控制記錄存取非現有分割區,將被該系 統偵測到及拒絕。關於被刪除的密鑰及密鍮j d採用類似的 考量。 密鑰、密鑰ID及邏輯保護 當-檔案被寫入至某一隱藏分割區時,其係對於公眾為 隱藏。然而’-旦-實體(有敵意的或者無敵意的)獲得對 該分割區之知識及存取,則該檔案係變成可用且易於瞭 解。為了進-步使該檔案安全,該安全儲存應用程式可加 密該隱藏分割區内的檔案,纟中,用於存取解密該檔案之 密鑰之認證較佳地不同於用於存取該分割區的認證。由於 事κ上檔案係元全由該主機所控制及管理,使一内容加密 被鑰相關聯於-檔案係-問題。連結該檔案與該安全健存 應用程式認知的某物件(該密鑰m)修正此問題。因此,當 122366.doc -25- 200822670 由該安全儲存應用程式建立一密輸時,該主機係使用由該 安全儲存應用程式所建立之該密鑰’使用於該密鑰之該密 鑰ID相關聯於經加密之資料。假如該密料同密鑰^起 被傳送至該安全儲存應用程式,則該密瑜及密输⑴可輕易 地彼此相關聯。 i 該密練及該㈣ID提供邏㈣全性。㈣㈣於一給定 密鑰ID之所有資料(不論其之位置為何)係以該内容加密穷 鑰(CEK)内相同的密鑰值予以編密(eipher),該内容加密密 錄之參照名稱或密鑰ID係由主機應用程式在建立時獨一二 提供。假如-實體(藉由透過一存取控制記錄進行鑑認)獲 得對-隱藏分割區之存取,且想要讀取或寫入該分割區内 的一經加密播案,則其係需要可存取與該槽案相關聯之密 鑰ID。當授予用於該密細之密鍮之存取時,該安全儲存 應用程式載人相關聯於此密⑽之内容加密密鑰内的密餘 值,且在將資料傳送至該主機之前解密該資料,或在將資 料寫入至該快閃記憶體2〇之前加密該資料。於一項實施例 中,相關聯於一密餘1D之内容加密密鍮内的-密鍮值係由 邊女全儲存應用程式系統隨機建立—次且由其維護。在該 安全儲存應用程式系統外的任—實體皆不知道或不可存取 ^容加密密鑰内之該密聽。外㈣世界僅提供及使用一 多照或密鑰1D ’而非内容加密密鑰内的密餘值。該密.鑰值 係文到徹底管理,且較佳地僅可由該安全健存應用程式存 取=者’該密鑰可被提供給該安全健存應隸式系統。 遠女全儲存應用程式系統使用任一(使用者定義的)下列 122366.doc -26- 200822670 編密模式(所使用之真正的密碼編譯演算法以及内容加密 密鑰内的密鑰值係系統控制的,且係不透露給外面世 界): 區塊模式-資料被分割成為區塊,該等區塊的每一者被 個別加密。此模式一般被認為較不安全且易受字典攻擊 然而,其將允許使用者隨機存取任一資料區塊。 鏈模式-資料被分割成為區塊,其係於加密程序期間被 ( 鏈鎖(chain)。每一區塊係被使用作為至下一加密程序之輸 入之一。於此模式中,雖然被認為較安全,然而資料係自 開始至結束予以循序寫入及讀取,建立一可能不被使用者 接受的過度耗用(overhead)。 雜湊的-具有額外建立一資料摘要之鏈模式,該資料摘 要可被用於確認資料完整性。 存取控制記錄及存取控制 該安全儲存應用程式係設計成處置多個應用程式,其 ( 卜該等應用程式之每—者於㈣統資料庫内被表示為-具有節點的樹。介於該等應用程式之間之相互排斥係藉由 確保該等樹的分支之間無串擾而逹成。 為了獲得存取該安全儲存應用程式系統,一實體需要透 過該系統之存取控制記錄之一者來建置連接。由該安全儲 存應用程式系統根據内建於該使用者選擇待連接之存取控 制記錄内的定義來管理登入程序。 =存取控制記錄係_對於該安全儲存應用程式系統之個 Λ該存取控制記錄係保有登入認證及鑑認方法。 122366.doc -27- 200822670 亦駐留於該記錄㈣係該安全儲存應用程式系統内的登入 權π於其中係頃取及寫入特殊權限。此係顯示於圖5, 其係^示㈣存取控制記錄群組中的η個存取控制記錄。 广糸〜明《亥η個存取控制記錄中至少一些者可共用對相同 存取因此,存取控制記錄# 1及存取控制記錄#η共 用對具有密鑰ID ”㈣3”之密鑰之存取,其中,存取控制 圮錄#1及存取控制記錄如係存取控制記錄ID,且”密鑰3,, 係用於加密相關聯於”密鑰3,,之資料的密鍮之密⑽。亦 可使用相同的密鑰來加密及/或解密多個檔案,或者多组 資料。 、 該安全儲存應用程式系統支援數種登入該系統的類型, 其中,鑑認演算法及使用者認證係可以改變,因為一旦使 用者成功登入,該系統内的使用者特殊權限可改變。圖5 係再人顯示不同的登入演算法及認證。存取控制記錄W指 定一密碼登入演算法及密碼為認證,而存取控制記錄“指 =一公開密鑰基礎結構(PKI)登入演算法及公開密鑰為認 證。因此,為了登入,一實體將需要提交一有效的存取控 制七錄ID以及正確的登入演算法及認證。 一旦一實體登入至該安全儲存應用程式系統之一存取控 制記錄,則在相關聯於該存取控制記錄的權限控制記錄 (PCR)中定義其權限(其使用安全儲存應用程式命令之權 利)。於圖5中,根據所顯示之權限控制記錄,存取控制記 錄#1授予對相關聯於”密鑰3”之資料的唯讀權限,且存取 控制記錄#2授予對相關聯於”密鑰5,,之資料的讀取及寫入 122366.doc -28- 200822670 權限。 “不同的存取控制記錄可共用該系統内共同的利益及特殊 權限,諸如藉以讀取及寫入之密鑰。為了達成此目的,共 同具有某#事物之存取控制記錄被分組於存取控制記錄群 組(ACR群組)中。目此,存取控制記錄#1及存取控制記錄 共用對一具有密鑰m,,密鍮3,,之密鑰之存取。 存取控制記錄群組及其内之存取控制記錄係以樹狀階層 架構予以組織,且因此,除了建立保持敏感資料安全之安 全密鑰之外,一存取控制記錄較佳地係亦可夠建立對應於 其密鑰ID/分割區之其他存取控制記錄實體。這些存取控 制記錄子代將具有與其之父代(建立者)相同的或較少的= 限,且可被給予父代建立之任何密鑰的權限。不需要增 力。亥專子代獲得對於其建立之任何密餘的存取權限。此 係顯示於圖6。因此,存取控制記錄群組12〇内所有存取控 制記錄係由存取控制記錄122所建立,且此類存取控制記 錄中之兩者係繼承自存取控制記錄122之對存取相關聯 於π密鑰3"之資料之權限。 存取控制記錄群組 登入至該安全儲存應用程式系統係藉由指定一存取控制 記錄群組及該存取控制記錄群組内的一存取控制記錄而實 行。 每存取控制記錄群組具有一獨一 ID(參照名稱),其係 使用作為一索引,以指向在安全儲存應用程式資料庫中的 其項目。當建立該存取控制記錄群組時,該存取控制記錄 122366.doc -29- 200822670 群組名稱被提供給該安全儲存應用程式系統。假如所提供 之存取控制記錄群組名稱係已經存在該系統内,則該安全 儲存應用程式將拒絕該建立操作。 存取控制記錄群組個於㈣對存取權限及㈣權限之 委派的限制,如同將於下文中敘述。圖6内兩個樹所提供 之功能之-係管理完全分開實體(諸如兩個不同的應用程 式,或者兩個不同的電腦使用者)之存取。為此目的,對 「於兩個存取程序實質上彼此獨立(亦即,實質上無串擾)係 可能重要的,即使兩者皆同時發生亦如此。此係意謂每一 樹内額外存取控制記錄及存取控制記錄群組的鑑認、權限 以及建立未連接至其他樹並且非相依於其他樹。因此,當 於記憶體1〇中使用該安全儲存應用程式系統時,允許該記 憶體系統H)同時伺服複數個應用程式。亦允許兩個應用程 式彼此獨立地存取兩組分開的資料(例如,一組相片及一 組歌曲)。此係顯示於圖6。因此,應用程式或使用者正在 :透過圖6之上方部分的樹内之節點(存取控制記錄)存取之相 關聯於"密鍮3"、”密餘X"及"密瑜z"之資料可包含相片。 :用程式或使用者正在透過圖6之下方部分的樹内之節點 (存取控制記錄)存取之相關聯於"密瑜5"及"密餘Y"之資料 ^含歌曲。建立該存取控制記錄群組之存取控制記錄僅 J於當該存取控制記錄群組係無存取控制記錄項目時才具 有刪除該存取控制記錄群組的權限。 ^之安全儲存應用程式進人點(吻point):存取控制 122366.doc -30- 200822670 於該安全儲存應m系統㈣_存取控制記錄敛述該 實體被允許登入該系統之方式。當一實體登入該安全儲存 應用程式系統時,其係需要指定對應於其將執行之鐘認程 序的存取&制,己錄。一存取控制記錄包含一權限控制記錄 二CR)’其係顯示使用者一旦如示於旧之存取控制記錄中 疋義經鑑認後,該使用者可執行的經授予之動作。該主機 端的實體提供所有存取控制記錄資料攔位。 p 當一實體係成功地登入至一存取控制記錄時,該實體將After splitting, it is ensured that the secure storage application system 19 and the access control record are not referring to the non-existing partitions of the host system. If these access control records are not properly deleted or updated, future attempts to access non-existing partitions on behalf of these access control records will be detected and rejected by the system. A similar consideration is taken with regard to the deleted key and the key j d . Key, Key ID, and Logic Protection When an archive is written to a hidden partition, it is hidden from the public. However, if the entity (hostile or invulnerable) gains knowledge and access to the partition, the file system becomes available and easy to understand. In order to further secure the file, the secure storage application can encrypt the file in the hidden partition, and the authentication for accessing the key for decrypting the file is preferably different from that for accessing the segment. District certification. Since the file system is controlled and managed by the host, a content encryption key is associated with the file system. Attaching the file to an object (the key m) recognized by the secure application corrects the problem. Therefore, when 122366.doc -25-200822670 establishes a secret transmission by the secure storage application, the host associates the key ID used by the secure storage application with the key ID used for the key. Encrypted data. If the secret material is transmitted to the secure storage application, the secret and secret transmission (1) can be easily associated with each other. i The dexterity and the (four) ID provide logic (four) fullness. (d) (d) all the information (regardless of its location) of a given key ID is eiphered with the same key value in the content encryption key (CEK), the content of which is encrypted with the reference name or The key ID is provided by the host application when it is created. If the entity (by authenticating through an access control record) obtains access to the hidden partition and wants to read or write an encrypted broadcast in the partition, it needs to be available for storage. Take the key ID associated with the slot. When the access for the secret key is granted, the secure storage application carries the secret value associated with the secret encryption key of the secret (10) and decrypts the data before transmitting the data to the host. Data, or encrypt the data before writing it to the flash memory. In one embodiment, the value of the secret key associated with the encrypted content in a secret 1D is randomly established and maintained by the female full storage application system. Any entity outside the secure storage application system does not know or can't access the secret in the encryption key. The external (4) world only provides and uses a multi-photo or key 1D ’ instead of the secret value in the content encryption key. The key value is thoroughly managed and preferably only accessible by the secure application. The key can be provided to the secure storage system. The Far Girl Full Storage Application System uses either (user-defined) following 122366.doc -26- 200822670 Secret Mode (the real cryptographic compilation algorithm used and the key value system control within the content encryption key) , and is not disclosed to the outside world): Block mode - the data is divided into blocks, each of which is individually encrypted. This mode is generally considered 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 divided into blocks, which are chained during the encryption process. Each block is used as one of the inputs to the next encryption program. In this mode, although it is considered It is safer, but the data is written and read sequentially from start to finish, creating an over-capture that may not be accepted by the user. Hash--A chain model with an additional data summary, the data summary Can be used to confirm data integrity. Access Control Record and Access Control The Secure Storage Application is designed to handle multiple applications, each of which is represented in the (4) database. a tree with nodes. The mutual exclusion between the applications is achieved by ensuring that there is no crosstalk between the branches of the trees. In order to gain access to the secure storage application system, an entity needs to One of the access control records of the system establishes a connection. The secure storage application system is based on a definition built into the access control record of the user to be connected. Log in to the program. = Access Control Recording System _ For the secure storage application system, the access control record is protected by login authentication and authentication method. 122366.doc -27- 200822670 Also resides in the record (4) The login right π in the secure storage application system is used to retrieve and write special permissions. This is shown in Figure 5, which shows (n) n access control records in the access control record group. ~ Ming "At least some of the access control records can share the same access, therefore, access control record #1 and access control record #n share the access to the key with the key ID "(4) 3" , wherein the access control record #1 and the access control record are the access control record ID, and the "key 3" is used to encrypt the key associated with the "key 3". (10). 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 login systems, including authentication algorithms and user authentication. Can be changed because once it is made If the user successfully logs in, the user's special permissions in the system can be changed. Figure 5 shows the different login algorithms and authentications. The access control record specifies a password login algorithm and password for authentication, and access control. Record "refer 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 seven-record ID and correct login algorithm and authentication. Once an entity logs into an access control record of one of the secure storage application systems, its permissions are defined in the Rights Control Record (PCR) associated with the access control record (its right to use secure storage application commands) In FIG. 5, based on the displayed rights control record, the access control record #1 grants read-only access to the material associated with "key 3", and the access control record #2 grants the association to the associated "Key 5, the reading and writing of the data 122366.doc -28- 200822670 permissions. "Different access control records share common interests and special privileges within the system, such as keys that are read and written. To achieve this, access control records with a certain # thing are grouped in access. In the control record group (ACR group), the access control record #1 and the access control record share the access to a key having the key m, the key 3, and the access control record. The group and its access control records are organized in a tree hierarchy, and therefore, in addition to establishing a security key to maintain sensitive data security, an access control record may preferably be associated with Other access control record entities whose key IDs/partitions. These access control record children will have the same or fewer limits as their parent (founder) and can be given any of the parent's established The authority of the key. No need to increase the power. The sub-generational sub-generation obtains access to any secrets it establishes. This is shown in Figure 6. Therefore, all access control records in the access control record group 12 Access control record 122 is established, and both of such access control records are inherited from the access control record 122 for access to the data associated with the π key 3" access control record group login to the security The storage application system is implemented by specifying an access control record group and an access control record in the access control record group. Each access control record group has a unique ID (reference name), It is used as an index to point to its project in the secure storage application database. When the access control record group is created, the access control record 122366.doc -29- 200822670 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 in (4) access rights. And (iv) the limitation of the delegation of authority, as will be described below. The functions provided by the two trees in Figure 6 are the management of completely separate entities (such as two different applications, or Access by two different computer users. For this purpose, it may be important that the two access procedures are substantially independent of each other (ie, substantially free of crosstalk), even if both occur simultaneously. This means that the identification, authority, 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 used in memory Securely storing the application system allows the memory system H) to simultaneously serve multiple applications. It also allows two applications to access two separate sets of data independently (eg, a set of photos and a set of songs). The figure is shown in Figure 6. Therefore, the application or user is accessing the node (access control record) access in the tree in the upper part of Figure 6 by "crypt 3", "Xi"X" And the information of "密瑜z" can include photos. : The program or user is accessing the information associated with "Miyo 5" and "Yuyu Y" via the node (access control record) in the tree in the lower part of Figure 6. The access control record establishing the access control record group only has the authority to delete the access control record group when the access control record group has no access control record item. ^ Secure storage application entry point (kiss point): access control 122366.doc -30- 200822670 The secure storage should be system (4) _ access control record to cite the way the entity is allowed to log into the system. When an entity logs into the secure storage application system, it needs to specify the access & system corresponding to the clock program it will execute. An access control record contains a rights control record (CR)' which indicates the user's executable action that can be performed by the user once it has been identified in the old access control record. The entity at the host side provides all access control record data blocks. p When a real system successfully logs into an access control record, the entity will

夠查詢所有存取控制記錄之分割區及密输存取權限以及 存取控制記錄屬性管理(ACAM)權限(下文予以敘述)。 存取控制記錄ID 當一安全儲存應用程式系統實體起始登入程序時,其係 需要指定對應於該登入方法的存取控制記_(如同當建 立》亥存取控制記錄係被時由該主機予以提供),使得者已 經符合所有登入需求時,該安全儲存應用程式將設=確 (▲的演算法及選擇正確的權限控制記錄。當建立該存取控制 記錄時,該存取控制記錄山被提供給該安全儲存應用程式 系統。 登入/鑑認演算法 該鑑認演算法指定何種登入程序將被該實體所使用,及 何種認證係需要,以提供使用者身份的證明。該安全, 用程式系統支援數種標準的登入演算法,範圍:::: (及無涊證)及以密碼為基礎的程序至一根據對稱或 稱密碼編譯之雙向鑑認協定。 、 122366.doc -31 - 200822670 認證 该實體之認證係對應於該登入演算法,且係由該安全儲 存應用程式所使用以驗證及鑑認該使用者。一用於認證之 範例可以係一用於密碼鑑認之密碼/個人識別碼數字,用 於登入演算法驗證之登入演算法密鑰,等等。該等認證 (亦即,個人識別碼,對稱密鑰等等)之類型/格式係預先定 義的,且係自該鑑認模式中推導出;當建立該存取控制記 錄時,該等認證被提供給該安全儲存應用程式系統。該安 全儲存應用程式系統對於定義、散佈及管理這些認證沒有 貝任’惟以公開密鑰基礎結構為基礎的鑑認例外,其中, 可使用該裝置(例如快閃記憶體卡)來建立該RSA或其他類 型密鑰對,並且公開密鑰可被匯出,以用於認證建立。 權限控制記錄(PCR) 權限控制記錄顯示在登入該安全儲存應用程式系統之後 授予該實體之事項,及成功地傳送該存取控制記錄之鑑認 程序。有二種類型權限類別:分割區及密鑰之建立權限; 分割區及密鑰之存取權限;及實體存取控制記錄屬性之管 理權限。 存取分割區 此段落的權限控制記錄含有該實體於成功地完成該存取 控制記錄階段時可存取之分割區的清單(使用提供給該安 全儲存應用程式系統之其ID)。對於每一分割區,存取類 型被被限定為唯寫或唯讀或者可以指 權利。因此,,之該存取㈣記㈣可存取== 122366.doc -32- 200822670 並且不可存取分割區#1。指定於該權限控制記錄内的限制 套用於該等安全儲存應用程式分割區及公開分割區。It is sufficient to query the partition and access permissions of all access control records and access control record attribute management (ACAM) permissions (described below). Access Control Record ID When a secure storage application system entity initiates a login procedure, it is required to specify an access control record corresponding to the login method (as when the host access control record is received) Provided), when the enabler has met all the login requirements, the secure storage application will set = YES (the algorithm and select the correct permission control record. When the access control record is created, the access control record mountain Provided to the secure storage application system. 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 identity of the user. The application system supports several standard login algorithms, ranging from::: (and innocent) and password-based programs to a two-way authentication protocol based on symmetric or cryptographic compilation., 122366.doc - 31 - 200822670 Certification of the entity's authentication corresponds to the login algorithm and is used by the secure storage application to verify and authenticate the user. The authentication example can be a password/personal identification number for password authentication, a login algorithm key for login algorithm verification, etc. Such authentication (ie, personal identification number, symmetric key) The type/format of the system is pre-defined and derived from the authentication mode; when the access control record is created, the authentication is provided to the secure storage application system. The secure storage application The system does not have a subscription exception based on public key infrastructure for defining, distributing, and managing these authentications, where the device (such as a flash memory card) can be used to establish the RSA or other type of key. Yes, and the public key can be exported for authentication establishment. The Rights Control Record (PCR) permission control record shows the matter granted to the entity after logging in to the secure storage application system, and successfully transmits the access control. Recording authentication procedure. There are two types of permission categories: partition and key establishment authority; partition and key access rights; and entity access control The administrative rights of the record attribute. Accessing the partition The permission control record of this paragraph contains a list of partitions that the entity can access when successfully completing the access control recording phase (using the provided to the secure storage application system) ID). For each partition, the access type is defined as write-only or read-only or can refer to rights. Therefore, the access (4) record (4) can be accessed == 122366.doc -32- 200822670 and not Access to partition #1. The restriction set in the permission control record is used for such secure storage application partitions and public partitions.

可藉由至裝載該安全儲存應用程式系統之裝置(例如, 快閃記憶體卡)之正規讀取及寫人命令來存取該公開分割 區’或者藉由安全儲#應用程式命令來存取該公開分割 區。當一根存取控制記錄(下文予以說明)被建立成具有阳 制該公開分割區之權限時,其可傳送權限至其子代較佳x 地,一存取控制記錄僅可限制正規讀取及寫入命令存=該 公開分割區。較佳地’於該安全儲存應用程式系統内的存 取控制記錄係僅只有當其建立時,能夠被限制。一旦—存 取控制記錄具有讀取/寫入該公開分割區之權限時,較Z 地,無法去除其權限。The public partition can be accessed by a regular read and write command to a device (e.g., a flash memory card) that loads the secure storage application system or accessed via a secure store application command The disclosed partition. When an access control record (described below) is established to have the authority to make the public partition, it can transfer the right to its child's preferred x, and an access control record can only limit the regular read. And write command save = the open partition. Preferably, the access control record within the secure storage application system can only be restricted when it is established. Once the access control record has the right to read/write the public partition, its permissions cannot be removed.

存取密鑰ID 此段落的權限控制記錄含有當該實體登入程序符合存取 =制記錄原則時該實體可存取的密鑰m之清單所相關聯的 資料。所指定之密鑰ID係相關聯於一駐留於出現於該權限 控制圮錄中之分割區内的一或多個檔案。因為該等密鑰山 係不相關聯於該裝置(例如,快閃記憶體卡)内的邏輯位 址,所以當一個以上的分割區係相關聯於一特定存取控制 記錄時,該等檔案可位於該等分割區之任一者中。於該權 限控制記錄内指定之密鑰10可各具有一組不同存取權利。 對密鑰ID所指向之資料的存取可被限制成唯寫或唯讀,或 者可以指定完全的寫入/讀取權利。 取控制記錄屬性管理(ACAM) 122366.doc -33- 200822670 本段落敘述於某些情況下 系統之屬性。 如何可改變該存取控制記錄 於該安全儲存應用 性管理動作係·· 程式系統中可准許之存取控制記錄屬 建立/刪除/更新存取控制記錄群組及存取控制記錄。 2·建立/刪除分割區及密鑰。 3 ·委派存取權給密鑰及分割區。Access Key ID The access control record for this paragraph contains the information associated with the list of keys m that the entity can access when the entity's login procedure conforms to the access=recording principle. The specified key ID is associated with one or more files residing in the partitioning area present in the rights control record. Because the key mountains are not associated with logical addresses within the device (eg, a flash memory card), when more than one partition is associated with a particular access control record, the files are Can be located in any of the partitions. The keys 10 specified in the rights control record may each have a different set of access rights. Access to the material pointed to by the key ID can be restricted to write-only or read-only, or a full write/read right can be specified. Control Record Attribute Management (ACAM) 122366.doc -33- 200822670 This paragraph describes the attributes of the system in some cases. How to change the access control record in the secure storage application management system · The allowable access control record in the program 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.

又代存取控制記錄較佳地無法編輯存取控制記錄屬性 ㈣㈣°較佳地’此需要該存取控制記錄之刪除及重新 建立。再者’較佳地,對於由該存取控制記錄所建立之一 岔鑰ID的存取權限無法被去除。 存取控制兄錄係可以具有建立其他存取控制記錄及存 取控制記錄群組的容量。建立存取控制記錄亦可以意謂委 派由其建立者所持有的一些或全部存取控制記錄屬性管理 彼等存取L f “己錄。具有建立存取控制記錄之權限係意 謂具有下列動作的權限: 1 ·疋義及編輯子代的認證·較佳地,一旦被該建立存取 控制記錄所設定,該鑑認方法無法被編輯。該等認證係可 以於已經定義用於子代的鑑認演算法之邊界内被改變。 2.刪除一存取控制記錄。 3·委派建立權限給子代存取控制記錄(因而具有孫代)。 具有建立其他存取控制記錄權限之存取控制記錄係具 有委派解除封鎖(unblock)權限給其建立之存取控制記錄的 權限(雖然其係可能不具有解除封鎖存取控制記錄之權 122366.doc -34- 200822670 限)該乂代將於該子代存取控制記錄中置放一指向其解 除封鎖者之參照。 ^ 4 乂代存取控制記錄係具有刪除其子代存取控制記錄的 權限之唯-存取控制記錄。當一存取控制記錄刪除其建立 之一較低層級存取控制記錄時,由該較低層級存取控制記 錄所繁衍的所有存取控制記錄係亦自動被冊】除。當一存取 控制"己錄被刪除,則其建立之所有密鑰ID及分割區被刪 除。 f 一 一存取控制記錄可更新其自己的記錄係具有兩項例外·· 1 ·後碼/個人識別碼,雖然密碼/個人識別碼係由該建立 存取控制記錄所設定,僅由包含密碼/個人識別碼之存取 控制記錄可更新該密碼/個人識別碼。 2· —根存取控制記錄係可以刪除自己及其駐留的存取控 制記錄群組。 委派存取權利給密鑰及分割區 ( 存取控制記錄及其之存取控制記錄群組被組合於樹狀階 層架構之中,其中,該根存取控制記錄群組及其内之該等 存取控制記錄係於該樹的上方(例如圖6中之根存取控制記 錄群組130及132)。於該安全儲存應用程式系統中可具有 數個存取控制記錄群組,雖然該等存取控制記錄群組係彼 此完全分離。於一存取控制記錄群組内的一存取控制記錄 了委派對於其之密餘的存取權限給其所在的相同存取控制 記錄群組内的所有存取控制記錄,且委派給所有由其建立 之存取控制記錄。較佳地,建立密餘之權限包含委派使用 122366.doc -35- 200822670 該等密鑰之存取權限之權限。 對於岔錄之權限係分為三種類別: 1. 存取-此係定義對於該密鑰之存取權限,亦即,讀 取,寫入。 2. 擁有權-依敎義,—建立—密鍮之存取控制記錄係 其擁有者。此擁有權可自一存取控制記錄委派給另一存取 控制記錄(前提係彼等存取控制記錄係在相同的存取控制 ( 記錄群組巾或在—子代存取控制記錄群組中)一密鑰之 ' 一擁有權提供將其刪除以及委派權限給它之權限。 3·存取權委派-此權限使該存取控制記錄能夠委派其所 保有的推利。 一存取控制記錄可委派對其建立之分割區以及其具有存 取權限之其他分割區的存取權限。 權限委派係藉由將該等分割區之名稱及密鑰⑴加入至指 定的存取控制記錄的權限控制記錄之中而實行。委派密鑰 ( 存取權限係可以藉由該密鑰ID或者藉由敘述存取權限係用 於委派存取控制記錄之所有建立的密鑰而實行。 存取控制記錄之封鎖及解除封鎖 一存取控制記錄可具有一封鎖計數器,當該實體對於該 系統之存取控制記錄鑑認程序係不成功時累加該封鎖計數 器。當達到某一最大數量之不成功鑑認時,該安全儲存應 用程式系統將封鎖該存取控制記錄。 該被封鎖存取控制記錄可被另一存取控制記錄解除封 鎖汶另存取控制記錄係被該被封鎖存取控制記錄所參 122366.doc -36 - 200822670 妝。對於該解除封鎖存取控制記錄之參照係被其之建立者 予以δ又疋。較佳地,該解除封鎖存取控制記錄係於位於與 4被封鎖存取控制記錄之建立者相同的存取控制記錄群組 中,且具有"解除封鎖”權限。 二系、、先内的任何其他存取控制記錄皆無法解除封鎖該被 封鎖存取控制記錄。一存取控制記錄可被組態成具有一封 鎖《十數n ’但疋無—解除封鎖者存取控制記錄。於此情況 下,假如此存取控制記錄被封鎖,則其無法被解除封鎖。 根存取控制記錄群組_建立一應用程式資料庫 該安全儲存應用程式系統係設計成處置多個應用程式, 並且隔離該多個應用程式之每一者的資料。該存取控制記 錄群組系統之該樹結構係用於識別及隔離應用程式特定之 身料的主要工具。該根存取控制記錄群組係於一應用程式 安全儲存應用程式資料庫樹之頂端,且遵守某些不同的行 為規則。可於該安全儲存應用程式系統中組態若干根存取 控制記錄群組。於圖6中顯示兩個根存取控制記錄群組13〇 及132。顯然地,可使用較多或較少個存取控制記錄群 組’且係屬於本發明之範疇内。 登錄用於一新的應用程式之裝置(例如,快閃記憶體卡) 及/或發佈一用於該裝置之新的應用程式之認證係透過將 新的存取控制記錄群組/存取控制記錄樹加入至該裝置的 程序而實行。 該安全儲存應用程式系統支援三種不同模式的根存取控 制記錄群組建立(以及該根存取控制記錄群組之所有存取 122366.doc -37- 200822670 控制記錄及其權限): 1 ·開放式:不需要任何種類的鑑認之任何使用者或實 體,或透過該系統存取控制記錄鑑認之使用者/實體(下文 予以敘述)’可建立一新的根存取控制記錄群組。該開放 式模式實ί見在無任何安全性措施之下進行根存取控制記錄 群組之建立,同時所有資料傳送係於一開放式通道上(亦 即於發佈代理者(issuance agency)之安全環境下)或者 、、π由透過5亥系統存取控制記錄鑑認所建置之安全通道 (亦即,透過空氣(OTA)及後置發佈程序)而實行。 假如該系統存取控制記錄未經組態(此係一選用特徵), 且该根存取控制記錄群組建立模式係設定成,,開放式,,,則 僅該開放式通道選項係可用。 2.受控制的:僅透過該系統存取控制記錄鑑認之實體可 建立一新的根存取控制記錄群組。假如系統存取控制記錄 未經組態’㈣安全儲存剌程式㈣無法被設定為 式。 、 3·已封鎖··根存取控制記錄群組之建立被停用,且無額 外的根存取控制記錄群組可被加入至該系統。 兩個女王儲存應用程式命令控制此特徵(這些命令係可 被任何使用者/實體所使用,而不必鑑認)·· ' L方法組態命令m態該安全儲存應用程式系統, 以使用三種根存取控制記錄群組建立模式中之任一者。僅 下列模式改變係被允許:開放式+受控制的,受控制的— 已封鎖(亦即’假如該安全儲存應用程式系統目前被組態 122366.doc -38- 200822670 為受控制的,則其係僅能夠被改變成已封鎖)。 2 ·方法組態鎖定命令-用於停用該方法組態命令,且永 久鎖定目前選擇的方法。 當一根存取控制記錄群組被建立,其處於啟用其存取控 制記錄之建立及組態(使用與套用至該根存取控制記錄群 組之建立相同的存取限制)之特殊初始化模式。於該根存 取控制記錄群組組態程序結束處,當該實體明確地將其切 換至操作模式時,不再可更新現有的存取控制記錄,且不 再可建立額外的存取控制記錄。 一旦一根存取控制記錄群組係置放於標準模式中,僅能 夠藉由透過其存取控制記錄中經指派具有刪除該根存取控 制記錄群組之權限的一存取控制記錄登入該系統,才能刪 除j根存取控制記錄群組。此係除了該特殊初始化模式之 外,根存取控制記錄群組之另一例外;較佳地,其係可含 有一具有删除其自己的存取控制記錄群組之存取控制記錄 的僅有的存取控制記錄群組,此係相對於下一樹層級内的 存取控制記錄群組。 =根存取控制5己錄及一標準存取控制記錄之間之第三及 最後差異在於’其係該系統中唯一可具有建立及刪除分割 區之權限的存取控制記錄。 安全儲存應用冑式系、统之存取控制記錄 该系統存取控制記錄可用於下列兩項安全儲存應用程式 操作: 在敵思%丨兄内一安全通道的保護下建立一存取控制記 122366.doc -39- 200822670 錄/存取控制記錄群組樹。 2·識別及鑑認裝載該安全儲存應用程式系統之裝置。 較佳地,該#全儲存應用程式系統内可僅有一系統存取 控制記錄’且-旦被定義,較佳地,其無法被改變。當建 立该系統存取控制記錄時,係不需要系統鑑認;只需要一 安全儲存應用程式命令。"建立系統存取控制記錄"特徵可 被如用(類似於"建立根存取控制記錄群組"特徵p在該系 ( 統存取控制記錄係被建立之後,該,,建立系統存取控制記 錄”特命令係無效果,因為較佳地,僅一系統存取控制記 錄係被允許的。 當於建立之程序中,該系統存取控制記錄係不操作的。 於完成時,一特殊的命令係需要被發佈,其指示該系統存 取控制記錄係被建立且係準備好進行。在此點之後,該系 統存取控制記錄較佳地無法被更新或取代。 該系統存取控制記錄於該安全儲存應用程式中建立該根 ( 存取控制記錄/存取控制記錄群組。其具有增加/改變該根 層級之權限,直到該主機係滿意其且封鎖其之時間為止。 封鎖該根存取控制記錄群組基本上係切斷其接至該系統之 連接,且呈現其防竄改證明(tamper pr〇〇f)。此時,任一者 皆無法改變/編輯該根存取控制記錄群組及其内之存取杵 制記錄。此係透過一安全儲存應用程式命令而實行。停用 根存取控制記錄群組之建立具有一永久的效果且無法進行 還原。於圖7顯示牵涉到該系統存取控制記錄的上述特 徵。該系統存取控制記錄係用於建立三個不同的根存取控 122366.doc -40- 200822670 =Π。於這些根存取控制記錄群組被建立之後某-夺二夺’自該主機傳送該安全儲存應用程式命令,以自該 二控制記錄封鎖該等根存取控制記錄群組,藉此停 2建立根存取控制記錄群組”特徵,如圖7中連接該系 、·,子取控制記錄及該等根存取控制記錄群組之虛線所示。 此呈現該三個根存取控制記錄群組之防竄改證明。於該等 根存取控制記錄群組被封鎖之前或之後,可使用該三個根 ( 存取控制記錄群組來建立子代存取㈣記錄群組,以形成 三個個別的樹。 口上述,特徵係提供内容擁有者於組態具有内容之安全產 的大彈!生。安全產品需要被"發佈"。發佈係置放識別密 鍮之程序’藉由該識職鍮,該裝置可識㈣主機,且反 之亦,。識別該裝置(例如,快閃記憶體卡)係使該主機能 夠决定疋否其可相信具有其之秘密。另一方面,識別該主 機係使4裝置4夠僅限於該主機被允許之情況下強制實行 安全性原則(授予及執行一特定主機命令)。 被u又计成伺服多數個應用程式之產品將具有數個識別密 鑰。忒產品可被:”預先發佈",於製造期間在裝運之前儲 存您鑰,或者’後發佈”,於裝運之後增加新的密鑰。對於 後發佈而言,記憶體裝置(例如,記憶體卡)係需要含有某 種主控或裝置層級密鑰,其係被用於識別被允許將應用程 式加入至該裝置之實體。 上述特徵實現將一產品組態成啟用/停用後發佈。此 外,可在裝運之後安全地進行該後置發佈組態。該裝置係 122366.doc -41 - 200822670 可以作為一零售產品被購買,該零售產品上不具有除了上 述主控或裝置層級密鑰之外的密鑰,且接著係由新的擁有 者組態’以啟用或停用進一步的後發佈應用程式。The generation access control record preferably does not have the ability to edit the access control record attributes. (4) (4) ° preferably 'This requires the deletion and re-establishment of the access control record. Further, preferably, access rights to one of the key IDs established by the access control record cannot be removed. The access control system can have the capacity to create other access control records and access control record groups. Establishing an access control record may also mean delegating some or all of the access control record attributes held by its creator to manage their access L f "recorded. The authority to establish an access control record means that the following Permissions for actions: 1 • Authentication of the derogatory and editing progeny. Preferably, the authentication method cannot be edited once set by the established access control record. The authentication system can be defined for the child. The boundary of the authentication algorithm is changed. 2. Delete an access control record. 3. Delegate the permission to the child access control record (and thus have grandchildren). Access with permission to create other access control records The control record has the authority to delegate the unblocking permission to the access control record it establishes (although it may not have the right to unblock the access control record 122366.doc -34- 200822670) A reference to the unblocker is placed in the child access control record. ^ 4 The generation access control record has a unique access control that deletes the permissions of its child access control records. When an access control record deletes one of its lower-level access control records, all access control records that are propagated by the lower-level access control record are automatically deleted. If the control is deleted, all key IDs and partitions created by it will be deleted. f One-to-one access control record can update its own record system with two exceptions · 1 · Post code / personal identification Code, although the password/personal identification code is set by the establishment of the access control record, the password/personal identification code can be updated only by the access control record containing the password/personal identification code. 2·-root access control record system You can delete yourself and the group of access control records that it resides in. Delegate access rights to keys and partitions (access control records and their access control record groups are combined in a tree hierarchy, where The root access control record group and the access control records therein are located above the tree (eg, root access control record groups 130 and 132 in FIG. 6) in the secure storage application system. Can have a number Access control record group, although the access control record groups are completely separated from each other. An access control within an access control record group records the access rights delegated to it. All access control records within the same access control record group, and delegated to all access control records established by them. Preferably, the authority to establish the secret contains delegated use 122366.doc -35- 200822670 Permissions for access rights to the key. There are three categories of permissions for the record: 1. Access - This defines the access rights to the key, ie, read, write.权 敎 敎 , — 建立 建立 建立 建立 建立 建立 建立 建立 鍮 鍮 鍮 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取 存取The same access control (recording group towel or in the child access control record group) a key 'ownership' provides the right to delete it and delegate permissions to it. 3. Access Rights Delegation - This permission enables the access control record to delegate the tweeting it holds. An access control record can delegate access to the partition it establishes and other partitions to which it has access. 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. The delegation key (the access authority can be implemented by the key ID or by arguing that the access authority is used to delegate all the established keys of the access control record. The access control record is blocked and unblocked. The fetch control record may have a lock counter that is accumulated when the entity's access control record authentication procedure for the system is unsuccessful. When a certain maximum number of unsuccessful authentications is reached, the secure storage application The system will block the access control record. The blocked access control record can be unblocked by another access control record. The access control record is blocked by the blocked access control record. 122366.doc -36 - 200822670 The reference to the unblocking access control record is δ 疋 疋 疋 疋 疋. Preferably, the unblocking access control record is located in the same way as the creator of the 4 blocked access control record Access control record group, and has the "unblock" permission. The second system, any other access control records in the first can not unblock the blocked latch Taking control records. An access control record can be configured to have a lock "ten number n' but no-unblocker access control record. In this case, if the access control record is blocked, then Cannot be unblocked. Root Access Control Record Group_Building an Application Database The Secure Storage Application System is designed to handle multiple applications and to isolate data for each of the multiple applications. The tree structure of the control record group system is the primary tool for identifying and isolating application specific entities. The root access control record group is at the top of an application secure storage application database tree, and A number of different behavior rules are followed. Several root access control record groups can be configured in the secure storage application system. Two root access control record groups 13 and 132 are shown in Figure 6. Obviously, More or fewer access control record groups can be used and are within the scope of the present invention. Login to a device for a new application (eg, a flash memory card) / / Issue a new application for the device is authenticated by adding a new access control record group / access control record tree to the device's program. The secure storage application system supports three different Mode root access control record group establishment (and all access to the root access control record group 122366.doc -37- 200822670 control record and its permissions): 1 · Open: no need for any kind of authentication Any user or entity, or a user/entity (described below) that accesses the control record authentication through the system, can create a new root access control record group. The root access control record group is established under any security measures, and all data transmission is performed on an open channel (that is, in the security environment of an issue agency) or π is transmitted through The 5H system access control record is authenticated by the established secure channel (ie, through air (OTA) and post-release procedures). If the system access control record is not configured (this is an optional feature) and the root access control record group setup mode is set to, open, then only the open channel option is available. 2. Controlled: Only entities that access control record authentication through the system can create a new root access control record group. If the system access control record is not configured, the (4) Secure Storage program (4) cannot be set to. 3. The blocked root establishment control record group is deactivated, and no additional root access control record group can be added to the system. Two Queen Storage Application commands control this feature (these commands can be used by any user/entity without having to authenticate) · · 'L Method Configuration Command m state This secure storage application system to use three roots The access control records any of the group establishment modes. Only the following mode changes are allowed: Open + Controlled, Controlled - Blocked (ie 'If the Secure Storage Application System is currently configured 122366.doc -38- 200822670 is controlled, then its The system can only be changed to blocked.) 2 • Method Configuration Lock Command - Used to deactivate the method configuration command and permanently lock the currently selected method. When an access control record group is created, it is in a special initialization mode that enables the establishment and configuration of its access control record (using the same access restrictions as 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, it can only be logged in by accessing an access control record assigned to the access control record with the authority to delete the root access control record group. The system can delete the j root access control record group. In addition to the special initialization mode, the root access control records another exception to the record group; preferably, it may contain only one access control record with its own set of access control records deleted. Access control record group, which is relative to the access control record group within the next tree level. The third and final difference between the root access control 5 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. Secure Storage Application System Access Control Record The system access control record can be used for the following two secure storage application operations: Create an access control record 122366 under the protection of a secure channel in the enemy's brother .doc -39- 200822670 Record/Access Control Record Group Tree. 2. Identify and identify the device that loads the secure storage application system. Preferably, there may be only one system access control record within the #full storage application system' and, once defined, preferably, it cannot be changed. When the system access control record is established, system authentication is not required; only a secure storage application command is required. "Create system access control record" feature can be used (similar to "establish root access control record group" feature p in the system (system access control record system is established, then, establish The system access control record "unique command" has no effect, because preferably only one system access control record is allowed. In the established program, the system access control record is not operated. A special command system needs to be issued indicating that the system access control record is established and ready to proceed. After this point, the system access control record is preferably not updated or replaced. The control record is created in the secure storage application to establish the root (access control record/access control record group. It has the authority to add/change the root level until the host is satisfied and the time is blocked. Blocking the root access control record group basically cuts off its connection to the system and presents its tamper proof (tamper pr〇〇f). At this time, neither can change/edit The root access control records the group and its access control records. This is done through a secure storage application command. The establishment of the disabled root access control record group has a permanent effect and cannot be restored. The above features relating to the access control record of the system are shown in Figure 7. The system access control record is used to establish three different root access controls 122366.doc -40 - 200822670 = Π. After the record group is established, the command to transfer the secure storage application from the host to block the root access control record group from the second control record, thereby stopping 2 establishing the root access control record The group "feature" is shown in the dotted line in Figure 7, the sub-fetch control record and the dashed line of the root access control record group. This presents the tamper proof of the three root access control record groups. The three roots (access control record groups are used to establish child access (4) record groups to form three individual trees before or after the root access control record group is blocked. Above, the feature system For content owners to configure the security of the content of the big bomb! Health products need to be "published". The release system is placed in the process of identifying the secret 'by the knowledge, the device can be recognized (4) The host, and vice versa, identifies the device (eg, a flash memory card) to enable the host to determine whether it believes it has its secret. On the other hand, identifying the host system limits the 4 device 4 to only The host is allowed to enforce the security principle (grant and execute a specific host command). The product that is counted as a servo majority application will have several identification keys. The product can be: "pre-released" ", store your key before shipment, or 'post release', to add a new key after shipment. For post-release, the memory device (for example, memory card) needs to contain some kind of master A control or device level key that is used to identify the entity that is allowed to add an application to the device. The above features enable a product to be configured to be enabled/disabled for release. In addition, this post-release configuration can be safely performed after shipment. The device 122366.doc -41 - 200822670 can be purchased as a retail product that does not have a key other than the above-mentioned master or device level key, and is then configured by the new owner. 'To enable or disable further post-release applications.

因此,該系統存取控制記錄之特徵提供完成上述目標之 能力: T -不具有系統存取控制記錄之記憶體裝置將允許無限制 及無控制增加應用程式。 -不具有系統存取控制記錄之記憶體裝置可被組態成停 用該系統存取控制記錄建立,其係意謂無任何控制増加新 應用程式之方法(除非建立新的根存取控制記錄群組之特 徵亦被停用)。 -具有系統存取控制記錄之記憶體裝置將僅允許經由一 透過使用該系統存取控制記錄認證之鑑認程序所建置之安 全通道以受控制方式增加應用程式。 •具有系統存取控制記錄之記憶體裝置可被組態成在應Thus, the features of the system access control record provide the ability to accomplish the above objectives: T - A memory device that does not have a system access control record will allow unlimited and no control to add an application. - A memory device that does not have a system access control record can be configured to deactivate the system access control record establishment, which means that there is no way to control the addition of a new application (unless a new root access control record is created) The characteristics of the group are also disabled). - The memory device with the system access control record 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. • Memory devices with system access control records can be configured to respond

徵。 密鑰ID清單Sign. Key ID list

錄所提供或提供給建立存取控制記錄: 記, 用 •密鑰ID。該10係由該實體透過該主機所提供 於參照該密鑰及於所有進一 步讀取或寫入存取中使用該密 122366.doc -42- 200822670 鑰加密或解密之資料。 2·密鑰編密及資料完整性模式(上述已封鎖、已鏈鎖及 雜湊模式且如下文所敘述)。 除了主機提供的屬性之外,下列資料係由該安全儲存應 用程式系統所維護: 1·密鑰ID擁有者。該存取控制記錄之ID係該擁有者。當 一密鑰ID被建立時,該建立者存取控制記錄係其擁有者。 然而,密鑰ID擁有權可被轉移至另一存取控制記錄。較佳 地,僅該密鑰ID擁有者係被允許轉移一密鑰ID之擁有權及 委派一密鑰ID。委派存取權限給相關聯的密鑰及廢止這些 權利可由該密鍮ID擁有者或被指派具有委派權限之任何其 他存取控制記錄所管理。每當企圖實施彼等操作之任一者 時’只有在該請求的存取控制記係被授權之下,該安全儲 存應用程式系統才授予此企圖。 2·内容加密密鑰(CEK)。此係其之密鑰值係被用於編密 相關聯於該密鑰ID或該密鑰ID所指向之内容之内容加密密 鑰。該密鎗值可以係一由該安全儲存應用程式系統所建立 之128位元之登入演算法隨機密输。 3. MAC及IV值。用於鏈區塊編密(CBC)加密演算法中之 動態資訊(訊息鑑認碼及起始向量)。 參照圖8A至16之流程圖而顯示該安全儲存應用程式之各 種特徵,其中,一步驟之左方的"H"係意謂該操作係由該 主機所實施,且”C"係意謂該操作係由該記憶體卡所實 施。雖然參照記憶體卡而顯示這些安全儲存應用程式特 122366.doc -43- 200822670 欲,應瞭解的是,這些特徵係亦可應用於其他實體形式中 之圮憶體裝置。為了建立一系統存取控制記錄,該主機發 佈一命令給該記憶體裝置10内的安全儲存應用程式,以建 立系統存取控制記錄(方塊2〇2)。該裝置1〇係藉由檢查是否 一系統存取控制記錄係已經存在而回應(方塊2〇4,菱形 206)。假如其係已經存在,則裝置1〇傳回失敗及停止(橢圓 形208)。假如其係尚未存在,則記憶體1〇係檢查系統存取 控制記錄建立是否被允許(菱形21〇),且假如不被允許,則 傳口 失敗狀態(方塊212)。因此,可有若干案例,其中, 该裝置發行者係不允許一系統存取控制記錄的建立,諸如 於所需之安全性特徵係已經被預先決定,使得不需要系統 存取控制記錄的情況。假如此係被允許,則該裝置1〇傳回 確疋(οκ)狀悲且4待來自該主機的系統存取控制記錄認證 (方塊214)。該主機檢查該安全儲存應用程式狀態及是否該 裝置1 0係已經指示一系統存取控制記錄的建立係被允許 (方塊216及菱形218)。假如建立係不被允許或者一系統存 取控制記錄係已經存在,則該主機停止(橢圓形22〇)。假如 該裝置10係已經指示一系統存取控制記錄的建立係被允 許,則該主機係發佈一安全儲存應用程式命令,以定義其 之登入認證,且傳送該登入認證至該裝置1〇(方塊222)。該 裝置10用所接收之認證來更新一系統存取控制記錄記錄, 且傳回,,確定”狀態(方塊224)。為了回應此狀態訊號,該主 機發佈安全儲存應用程式命令,其指示該系統存取控制記 錄係準備好(方塊226)。該裝置1〇係以鎖定該系統存取控制 122366.doc •44- 200822670 記錄使得其無法被更新或取代而回應(方塊228)。此係鎖定 该系統存取控制記錄之特徵及其用於對於主機識別該裝置 1〇之身份。 用於建立新的樹(新的根存取控制記錄群組及存取控制 記錄)的程序係由於該裝置内組態這些功能之方式而決 定。圖9係說明該等程序。該主機24及該記憶體系統10兩 者遵循此。假如增加新的根存取控制記錄群組係全然被停 用’則無法增加新的根存取控制記錄群組(菱形246)。假如 其係被啟用但需要一系統存取控制記錄,則該主機透過該 系統存取控制記錄進行鑑認,且在發佈,,建立根存取控制 記錄群組”命令之前建置一安全通道(方塊254)。假如不需 要系統存取控制記錄(菱形248),則該主機24可發佈該,,建 立根存取控制記錄群組”命令而不需鑑認,且進行至方塊 254。假如系統存取控制記錄確實存在,則該主機係可以 使用它,即使其係不需要亦如此(未示於該流程圖)。假如 該功能被停用,則該裝置(例如快閃記憶體卡)將拒絕建立 新的根存取控制§己錄群組的任何企圖,且假如需要系統 存取控制記錄,則其將拒絕一建立一新的根存取控制記錄 群組而不鑑認之企圖(菱形246及250)。於方塊254中新建立 的存取控制記錄群組及存取控制記錄現在係切換成操作模 式,使得於此類存取控制記錄群組内的存取控制記錄無法 被更新或改變,且無存取控制記錄可被加入彼等存取控制 記錄群組之中(方塊256)。接著,該系統係可選用地被鎖 疋,使得無法建立額外的根存取控制記錄群組(方塊25 8)。 122366.doc -45- 200822670 虛線方塊258係一指示此步驟係選用的步驟的慣例。於本 申明案之圖式内的流程圖内所有虛線方塊係選用的步驟。 此係允許該内容擁有者封鎖將該裝置1〇用於可模仿一具有 合法内容的真品記憶體裝置的其他非法目的。 為了建立存取控制記錄(除了該根存取控制記錄群組内 存取控制記錄以外,如上文所述),可以具有建立一存取 控制記錄之權利的任何存取控制記錄開始(方塊27〇),如示 於圖10。任何實體可企圖透過該主機24藉由提供進入點之 存取控制記錄身份以及具有所有想要建立之必要的屬性之 存取控制記錄而進入(方塊272)。該安全儲存應用程式檢查 對於該存取控制記錄身份之匹配及具有如此身份之存取控 制.己錄疋否具有建立—存取控制記錄的權限(方塊Μ)。假 如該請求係被驗證為經授權,則該裝置_的安全儲存應 用程式係建立一存取控制記錄(方塊276)。 圖11係顯示兩個存取控制記錄群組,其錢示一對於使 用圖10之方法之忠;祕虛m 1 ^__The record is provided or provided to establish an access control record: Remember, use • Key ID. The 10 is provided by the entity through the host to refer to the key and to encrypt or decrypt the data using the secret 122366.doc -42-200822670 key in all further read or write accesses. 2. Key Encryption and Data Integrity Mode (the above-mentioned blocked, chained and hashed modes are described below). In addition to the properties provided by the host, the following information is maintained by the secure storage application system: 1. The key ID owner. The ID of the access control record is the owner. When a key ID is established, the creator access control record is its owner. However, the key ID ownership can be transferred to another access control record. Preferably, only the key ID owner is allowed to transfer ownership of a key ID and delegate a key ID. Delegate access rights to associated keys and revoke these rights can be managed by the key ID owner or any other access control record assigned to delegate authority. The secure storage application system grants this attempt whenever an attempt is made to perform any of its operations only if the access control record of the request 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 secret gun value can be randomly encrypted by a 128-bit login algorithm 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. The various features of the secure storage application are shown with reference to the flowcharts of Figures 8A through 16, wherein the "H" on the left of the step means that the operation is performed by the host, and the "C" This operation is implemented by the memory card. Although these secure storage applications are shown with reference to the memory card, it is understood that these features can also be applied to other physical forms. In order to establish a system access control record, the host issues a command to the secure storage application in the memory device 10 to establish a system access control record (block 2〇2). The system responds by checking if a system access control record system already exists (block 2〇4, diamond 206). If the system already exists, the device 1 transmits a failure and stops (oval 208). If it is not already present, the memory 1 checks whether the system access control record establishment is allowed (diamond 21〇), and if it is not allowed, the port fails state (block 212). Therefore, there may be several Case, wherein the device issuer does not allow establishment of a system access control record, such as where the required security profile has been predetermined so that the system does not require access to the control record. The device then transmits back to the system access control record authentication (block 214) from the host. The host checks the status of the secure storage application and whether the device is already Instructing the establishment of a system access control record is permitted (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 permitted, then the host issues a secure storage application command to define its login authentication and transmits the login authentication to the device (block 222). The device 10 updates a system access control record with the received authentication and returns, determining the status (block 224). In response to this status signal, the host issues a secure storage application command indicating that the system access control record is ready (block 226). The device 1 is responsive to lock the system access control 122366.doc • 44- 200822670 so that it cannot be updated or replaced (block 228). This locks the features of the system access control record and its identity for identifying the device to the host. The procedures used to create new trees (new root access control record groups and access control records) are determined by the manner in which these functions are configured within the device. Figure 9 illustrates these procedures. Both the host 24 and the memory system 10 follow this. If a new root access control record group is completely disabled, then a new root access control record group (diamond 246) cannot be added. If it is enabled but requires a system access control record, the host authenticates through the system access control record, and establishes a secure channel before issuing the root access control record group command ( Block 254). If the system access control record (diamond 248) is not required, then the host 24 can issue the "Create Root Access Control Record Group" command without authentication and proceed to block 254. If the system access control record does exist, the host can use it even if it is not required (not shown in the flowchart). If the feature is disabled, the device (eg, a flash memory card) will reject any attempt to establish a new root access control § recorded group, and if the system access control record is required, it will reject one Create a new root access control record group without identifying the attempt (diamonds 246 and 250). The newly established access control record group and access control record in block 254 are now switched to the operational mode such that access control records within such access control record group cannot be updated or changed, and are not stored. The fetch control records can be added to their access control record group (block 256). The system is then optionally locked so that no additional root access control record groups can be established (block 25 8). 122366.doc -45- 200822670 The dashed box 258 is a convention that indicates the steps selected for this step. All the dashed lines in the flow chart in the diagram of this claim are the steps selected. This allows the content owner to block the use of the device 1 for other illegal purposes that can mimic a genuine memory device with legitimate 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), any access control record having the right to establish an access control record may begin (block 27) As shown in Figure 10. Any entity may attempt to enter through the host 24 by providing access control records for the access point and access control records having all of the attributes necessary to establish (block 272). The secure storage application checks for the identity of the access control record and the access control with such identity. The permission to establish an access control record has been recorded (block Μ). If the request is verified as authorized, the secure storage application of the device_ establishes an access control record (block 276). Figure 11 shows two groups of access control records, the money of which is loyal to the method of Figure 10; the secret m 1 ^__

聯於該密鑰ID,,銷售資訊,, 對於用於存取相關聯於該密鑰ID 密鑰的讀取權限,而無存取相關 之資料所需的密鑰的讀取權限。 122366.doc • 46 - 200822670 以此方式,具有存取控制記錄slAs2之實體係僅能夠讀取 而不能夠改變定價資料,且將不可存取行鎖資料。另—方 面’存取控制記錄m2不具有建立存取控制記錄的權限,且 僅具有對於用於存取相關聯於密输⑴"價格清單"及相關聯 於密鑰ID "行銷資訊”之資料的密鑰之讀取權限。 因此’可以使用上述之方式委派存取權,其中,⑴委 派讀取定價資料的權利給_s2。在牵涉到大型行鎖及銷 售群組之情況下,此係特別有用的。在僅一或少數銷售人 貝之下,可以不需要使用圖1〇之方法。反而是,存取權係 可以由-存取控制記錄委派給於相同的存取控制記錄群組 内於「較低層級或相同層級的存取控制記錄,如示於圖 12 °首先’該實體進人用於此類存取控制記錄群組的樹, 其方式係藉由以一上述方法透過該主機指定該樹中之一存 取控制記錄(方塊扇)。接著,該主機將指定該存取控制記 錄及委派給其之權利。該安全儲存應用程式係檢查用於此 取控制記錄的樹及該存取控制記錄是否具有委派權利 、。扣定的另一存取控制記錄的權限(方塊282)❶假如其是, 則該等權㈣被委派(方塊284);假如*是,料止。該結 =係顯示於圖13。於此情況下,存取控制記錄…具有委派 项取權限給该存取控制記錄s i的權限,使得在委派之後, 夠使用—存取價格資料的密鑰。假如ml係具有存取 、負料及如此委派之權限的相同或較大的權利,則此可 被實施。於-項實施财,ml在委派之後維持其存取權。 車乂佳地’可在受限制條件下(而非永久地)委派存取權,諸 122366.doc -47- 200822670 如段有限的時間、有限的存取次數等等。 圖14顯示用於建立一密鑰及密鑰ID之程序。該實體透過 一存取控制記錄進行鑑認(方塊3〇2)。該實體請求用由該主 機所指定之ID來建立密鑰建立(方塊3〇4)。該安全儲存應 用程式檢查及觀看所指定之存取控制記錄是否具有如此實 施之權限(菱形306)。舉例而言,假如該密鑰係被用於存取 一特別分割區内的資料,則該安全儲存應用程式將檢查及 觀看該存取控制記錄是否可存取此分割區。假如該存取控 制記錄經授權,則該記憶體裝置10建立一相關聯於由該主 機所提供之密鑰ID的密鑰值(方塊308),且儲存該密鑰1£) 於該存取控制記錄之中,及儲存該密鑰值於其記憶體(控 制器相關聯的記憶體或記憶體20)内,且根據由該實體所 提供之資訊而指派權利及權限(方塊310),且用此類經指派 的權利及權限來修改此類存取控制記錄的權限控制記錄 (方塊312)。因此,該密鑰之建立者具有所有可取得的權 利’诸如項取及寫入權限、委派及與相同存取控制記錄群 組内其他存取控制記或於一較低層級之存取控制記錄共用 之權利,及轉移該密鑰之擁有權之權利。 一存取控制記錄可改變於該安全儲存應用程式系統内另 一存取控制記錄之權限(或全然存在),如示於圖丨5。一實 體係可以如前一樣透過一存取控制記錄而進入一樹;於— 情況下,該實體被鑑認且接著其指定一存取控制記錄(方 塊330、332)。其請求一目標存取控制記錄之刪除或一目 標存取控制記錄内之權限(方塊334)。假如所指定之存取抑 122366.doc -48 - 200822670 制記錄或於如此時間為作用中狀態之存取控制記錄具有如 此實施之權利(菱形336),則該目標存取控制記錄被刪除, 或者該目標存取控制記錄之權限控制記錄被改變以刪除此 類權限(方塊338)。假如此未經授權,則該系統停止。 在上述程序之後,該目標將不再能夠存取在該程序之前 其能夠存取之資料。如示於圖16,一實體係可能企圖進入 該目標存取控制記錄(方塊350),且發現到該鑑認程序失 敗,因為先前存在的存取控制記錄ID係不再出現於該安全 儲存應用程式之中,使得存取權係被拒絕(菱形352)。假設 該存取控制記錄ID尚未被刪除,則該實體指定一存取控制 記錄(方塊354)及於一特別分割區内的密鑰⑴及/或資料, 且接著該安全儲存應用冑式根據此類存取控制記錄的權限 控制記錄檢查Μ准許該密鑰m或分㈣存取請求(菱形 358)。假如該權限已被刪除或已經過期,則該請求再次被 拒絕。否則,該請係被授予(方塊36〇)。 ^上述程序敘述該裝置(例如,快閃記憶體卡)如何管理對 又保濃的貝料之存取,而不論是否該存取控制記錄及盆之 權限控制記錄係剛剛被另一存取控制記錄予以者 始係如此組態。 幵 會期 心王儲存應m㈣被設計成 使用者。當使用此特徵時,僅在用…:且入的夕個 取控制記錄具有用於所”叙: 一特定實體的存 々用於所凊求動作的權限之情況下 全儲存應用程式所接收 ™ 收之所有命令係才目關聯於該實體且被 122366.doc -49- 200822670 執行。 多個實體係透過會期觀念予以支援。—會㈣於該鑑認 程序期間予以建置’且由該安全儲存應用程式系統指派一 會期I該會㈣係内部相關聯於用於登人該系統之存取 控制記錄,且被匯出給該實體,以在所有進一步的安全儲 存應用程式命令中使用。 該安全儲存應用程式系統支援兩種類型會期··開放式會 期及安全會期。與一特定鑑認程序相關的會期類型係定義 於存取控制記錄之中。該安全儲存應用程式系統將以類似 於強制實行該鑑認本身之方式強制實行會期建置。因為該 存取控制記錄定義該等實體權限,所以此機制使系統設計 者犯夠使安全通道相關聯於存取特定密鑰ID或調用特定存 取控制記_管理操作(亦即,冑立新的存取控制記錄及設 定認證)。 開放式會期 開放式會期係一用一會期ID識別但不以匯流排加密之會 ^所有印々及 > 料係公開被傳送。此種操作模式較佳地 係用於多使用者或多實體環境中,其中,該等實體係非 構成威脅模型亦非於該匯流排上的竊聽的一部分。 雖然不保言蔓資料之傳送亦不實現該主機端之應用程式之 間之有效率的防火牆,但是該開放式會期模式使該安全儲 存應用耘式系統能夠僅允許存取目前經鑑認的存取控制記 錄所允許的資訊。 該開放式會期係亦能夠被使用於一分割區或一密鑰係需 122366.doc -50- 200822670 要被保護之情況。然而,在一有效鑑認程序之後,存取被 授予給5亥主機上所有實體。各種主機應用程式用以獲得經 鑑認存取控制記錄之權限而需要共用的唯一事物係會期 ID。此係顯不於圖17A。在線400上方之步驟係由該主機24 所採用之步驟。在一實體係對於存取控制記錄丨經鑑認(方 塊402)之後,其請求存取該記憶體裝置1〇内一相關聯於一 岔鑰ID X之檔案(方塊4〇4、406及408)。假如該存取控制In conjunction with the key ID, the sales information, the read permission for accessing the key associated with the key ID key without access to the key required to access the associated material. 122366.doc • 46 - 200822670 In this way, the real system with the access control record slAs2 can only read and not change the pricing data, and the row lock data will not be accessible. In another aspect, the access control record m2 does not have the authority to establish an access control record, and has only the associated information for access (1) "price list" and associated key ID "marketing information" The right to read the key of the data. Therefore, 'the access method can be delegated in the above way, where (1) the right to read the pricing data is delegated to _s2. In the case of large row locks and sales groups, This is particularly useful. Under only one or a few sales people, it is not necessary to use the method of Figure 1. Instead, the access rights can be delegated to the same access control record by the access control record. Within the group, at the lower level or the same level of access control records, as shown in Figure 12, first, the entity enters the tree for such access control record groups by using one of the above The method specifies one access control record (block fan) in the tree through the host. Then, the host will specify the access control record and the rights delegated to it. The secure storage application checks for this control record. The tree and the access control record have delegated rights, the authority to deny another access control record (block 282), if it is, then the right (four) is delegated (block 284); if * is, The result is shown in Figure 13. In this case, the access control record... has the authority to delegate access to the access control record si, so that after the delegation, it is sufficient to access the price data. Key. If ml is the same or a larger right to access, negative, and such delegated authority, then this can be implemented. In the implementation of the item, ml maintains its access after the delegation. 'Access can be delegated under restricted conditions (rather than permanently), 122366.doc -47- 200822670 as limited time, limited number of accesses, etc. Figure 14 shows the key used to establish a key and The procedure of the key ID. The entity authenticates through an access control record (block 3〇2). The entity requests to establish a key establishment with the ID specified by the host (block 3〇4). The application checks and views the specified access control record Whether or not there is permission to do so (diamond 306). For example, if the key is used to access data in a particular partition, the secure storage application will check and view the access control record. The partition can be accessed. If the access control record is authorized, the memory device 10 establishes a key value associated with the key ID provided by the host (block 308) and stores the key. 1)) in the access control record, and storing the key value in its memory (controller-associated memory or memory 20), and assigning rights based on information provided by the entity Permissions (block 310), and such assigned rights and permissions are used to modify the access control records for such access control records (block 312). Thus, the creator of the key has all available rights 'such as item fetch and write permissions, delegates and other 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 record (or fully present) within 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 the case where 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), the target access control record is deleted, or The rights control record for the target access control record is changed to delete such rights (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 record (block 354) and a key (1) and/or data within a particular partition, and then the secure storage application is based on this The access control record of the class access control record checks to permit the key m or the minute (four) access request (diamond 358). If the permission has been deleted or has expired, the request is rejected again. Otherwise, the request is granted (box 36〇). ^ The above procedure describes how the device (eg, a flash memory card) manages access to the conserved beaker, regardless of whether the access control record and the basin's access control record are just being controlled by another access control. The record is initially configured as such.幵 The period of the king's storage should be designed as a user. When this feature is used, only the control record with the ...: input is used for the "sentence": the storage of a specific entity for the requested action, the full storage application receives TM All orders are related to the entity and are executed by 122366.doc -49- 200822670. Multiple real systems are supported through the concept of the session. - (iv) is built during the authentication process and is secured by The storage application system assigns a session I. The session (4) 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. The secure storage application system supports two types of sessions, an open session and a security session. The session type associated with a particular authentication process is defined in the access control record. The secure storage application system The session build will be enforced in a manner similar to the enforcement of the challenge itself. Because the access control record defines these entity permissions, this mechanism makes the system designer The secure channel is associated with accessing a specific key ID or invoking a specific access control record management operation (ie, establishing a new access control record and setting authentication). The open session open session is for one session. The period ID identifies but does not encrypt the bus. All the prints and > items are publicly transmitted. This mode of operation is preferably used in a multi-user or multi-entity environment, where the real systems are not The threat model is not part of the eavesdropping on the bus. Although it is not guaranteed that the transmission of the data does not implement an efficient firewall between the host-side applications, the open session mode makes the security The storage application system can only access the information allowed by the currently authenticated access control record. The open session can also be used in a partition or a key system 122366.doc -50- 200822670 To be protected. However, after a valid authentication procedure, access is granted to all entities on the 5H host. Various host applications are required to obtain access to the authenticated access control record. The only thing shared is the session ID. This is not shown in Figure 17A. The steps above line 400 are the steps taken by the host 24. After a real system has authenticated the access control record (block 402) And requesting access to a file associated with a key ID X in the memory device 1 (blocks 4〇4, 406, and 408). If the access control

記錄1之該權限控制記錄允許此類存取,則裝置丨〇授予該 請求(菱形410)。假如不允許,則該系統返回方塊4〇2。在 鑑認完成之後,該記憶體系統1〇係僅藉由該指派的會期 ID(且非該等存取控制記錄認證)而識別正在發佈一命令的 實體。一旦該存取控制記錄丨係於一開放式會期中獲得存 取其之權限控制記錄内相關聯於該等密鑰m之資料,則任 何其他應用程式或使用者可藉由指定介於該主機24上不同 的應用程式所共用的正確會期1〇,來存取相同的資料。此 特徵於應用程式中為有利的,其中,對於使用者而言,僅 月b夠登入一次、能夠存取所有關聯於不同應用程式用以實 行登入之帳戶的資料,係、更方便的。因此,一行動電話的 使用者可㈣存取記憶㈣_存的f子郵件且聽儲存的 音樂’而不需要多次登入。另一方面,不被該存取控制記 錄1所内含的資料係不可存取。因此,相同的行動電話的 使用者係可以具有有價值的内容,諸如可透過__分離的帳 戶存取控制記錄2存取之遊戲及相片。此係他不想要借他 的電話的其他人存取的資料,即使他可能不介意其他人可 122366.doc 200822670 以透過他的第一帳戶存取控制記 合期中脾#…, 丁仔取貝枓。於開放式 曰』中將對-貝料之存取分開成為兩個分離帳戶且同 存取存取控制記錄卜提供容易使用以及提供有價值的- 料之保護。 、 J貝 為了更進-步易於在該等主機應用程式之間共用該會期 ID之程序’當—存取控制記錄正在請求—開放式會期時, 其可明確地請求該會期將被指派” G" ID。以此方式,應用 程式可被設計成使用一預先定義的會期m。唯一限制^, 因為明顯的理由,於—特定時間僅可鑑認—正在請求會期 〇之存取控制記錄。-鐘認另—正在請求會期G之存取二制 S己錄的企圖將被拒絕。 安全會期 為了增加一層安全性,該會期1〇可被使用,如示於圖 17B。接著,該記憶體1〇亦儲存作用中狀態會期之會期 ID。於圖17B中,舉例而言,為了能夠存取一相關聯於密 鍮ID X之檔案,在該實體被允許存取該檔案之前,該實體 亦將需要提供一會期ID,諸如會期ID "A"(方塊4〇4、 406、412及414)。以此方式,除非該請求實體係知道正確 的會期ID,否則其無法存取該記憶體丨〇。因為該會期出係 於該會期結束之後被刪除且對於每一會期而言係不同的, 所以一實體係僅當其已經能夠提供會期號碼時,才能能夠 獲得存取。 該安全儲存應用程式系統係藉由使用該會期號碼,而追 蹤是否一命令係真的來自正確經鑑認的實體。對於有攻擊 122366.doc -52. 200822670 者將嘗試使用一開放式通道以傳送有惡意的命令之恐嚇的 應用程式及使用情況而言’該主機應用程式係使用一安全 會期(一安全通道)。 當使用一安全通道時’該會期ID以及整個命令係以安全 通道加欲(會期)密鑰予以加进,且該安全性等級係與該主 機端實施一樣高。 終止一會期The permission control record of record 1 allows such access, and the device grants the request (diamond 410). If not allowed, the system returns to block 4〇2. After the authentication is completed, the memory system 1 identifies the entity that is issuing a command only by the assigned session ID (and not the access control record authentication). Once the access control record is associated with the key m associated with the access control record in an open session, any other application or user may specify the host On the 24th, the correct duration of the application is shared by different applications to access the same data. This feature is advantageous in applications where it is more convenient for the user to log in once and have access to all of the accounts associated with different applications for logging in. Therefore, a user of a mobile phone can (4) access the memory (4) _ stored f sub-mail and listen to the stored music ' without multiple logins. On the other hand, the data not contained in the access control record 1 is not accessible. Thus, the same mobile phone user can have valuable content, such as games and photos that can be accessed via the __ separate account access control record 2. This is the information that he does not want to access other people who borrowed his phone, even though he may not mind other people can 122366.doc 200822670 to access the control spleen through his first account. Hey. In the open 曰, the access to the bait is separated into two separate accounts and the access control record is provided for easy use and provides valuable protection. J, in order to make it easier for the program to share the session ID between the host applications, 'when the access control record is requesting—open session, it can explicitly request that the session will be Assign "G" ID. In this way, the application can be designed to use a predefined duration m. The only limit ^, for obvious reasons, is only identifiable at a specific time - is requesting a period of time Take control records. - Zhong recognizes another - is attempting to access the G. The attempt to record the second system will be rejected. In order to add a layer of security during the security session, the session can be used, as shown in the figure. 17B. Next, the memory 1〇 also stores the session ID of the active session. In FIG. 17B, for example, in order to be able to access a file associated with the key ID X, the entity is allowed in the entity. Before accessing the file, the entity will also need to provide a session ID, such as the session ID "A" (blocks 4〇4, 406, 412, and 414). In this way, unless the request system knows the correct Session ID, otherwise it cannot access the memory. The session is deleted after the end of the session and is different for each session, so a real system can only be accessed if it has been able to provide the session number. By using the session number, the program system tracks whether a command is actually from a properly authenticated entity. For those who have an attack of 122366.doc -52. 200822670, an attempt will be made to use an open channel to transmit malicious In the case of threatening applications and usage, the host application uses a security session (a secure channel). When using a secure channel, the session ID and the entire command are encrypted with a secure channel. The key is added, and the security level is as high as the host implementation.

於下列任一狀況中,終止一會期,且登出該存取控制記 錄: 1 ·該實體係發佈一明確的會期結束命令。 2.通訊時間逾期。一特定實體在一段期間(如存取控制 記錄參數之一者所定義)未發佈任何命令。 3 ·在哀置(例如快閃記憶體卡)重設及/或電源循環之後, 終止所有開放式會期。 資料完整性服務 忒女全儲存應用程式系統驗證該安全儲存應用程式資料 其係含有所有存取控制記錄、權限控制記錄等等)之完 j此外,透過密錄ID機制而提供用於實體資料的資料 假如 讀職組雜凑料其加密演算法,則該 雜凑值係與該内容加密密鑰 密排地儲存於該内容加密 、彔之中。於寫入操作期問 值係# ^ ^月間计异及儲存雜湊值。雜凑 徂係、於碩取操作期間再次 間所儲在夕μ 计异,且與於先前寫入操作期 子之值相比較。每當談每 μ题體正在存取該密錄ID時, 122366.doc -53· 200822670 額外的資料係(以密碼編譯方式)串接至舊的資料及經更新 的(用於讀取或寫入之)適合雜湊值。 因為僅該主機知道相關聯於一密鑰ID或由一密鑰ID指向 的=貝料檔案,所以該主機係以下列方式明確地管理該資料 完整性功能的數項態樣: h 一相關聯於一密鑰ID或由一密鑰ID指向的資料檔案係 從頭到尾被寫入或讀取。存取該檔案之部分的任何企圖將 使其混亂,原因係該安全儲存應用程式系統正在使用一鏈 區塊密碼加密方法且產生該整個資料的一雜湊訊息摘要。 2·不需要處理一連續串流内(該資料串流可交錯其他密 鑰ID之資料串流,且係可以於多個會期上分割)的資料, 原因係中間的雜湊值係由該安全儲存應用程式系統所維 護。然而,假如該資料串流係重新開始,則該實體將需要 明確地指示該安全儲存應用程式系統重設該等雜湊值。 3 ·當一讀取操作完成時,該主機明確地請求該安全儲存 應用程式系統藉由比較所讀取雜湊其及寫入操作期間所計 异之雜凑值來確認該讀取之雜湊。 4 ·忒女全儲存應用程式系統亦提供一,,設設讀取,,操作。 此特徵係將串流經過加密引擎的資料,然而將不傳送其出 去至該主機。此特徵可被用於在資料真正自該裝置(例如 快閃記憶體卡)璜取出之前,確認資料完整性。 隨機號碼產生 該安全儲存應用程式系統將使外部實體能夠使用内部隨 機號碼產生器,且請求隨機號碼被使用於該安全儲存應用 122366.doc -54- 200822670 程式系統之外 認0 此服務係 可被任何主機使用 ’且不需要鑑 RSA密鑰對產生 該安全儲存應用程 RSA密鑰對建立特徵 儲存應用程式系統之 不需要鑑認。 替代實施例 系、先將使外部使用者能夠使用内部 月长對禮、鑰對被使用於該安全 外。此服務係可被任何主機使用,且In any of the following cases, a session is terminated and the access control record is logged out: 1 • The real system issues a clear end of session command. 2. The communication time is overdue. A particular entity has not issued any commands during a period of time (as defined by one of the access control record parameters). 3 • Terminate all open sessions after a reset (eg flash memory card) reset and/or power cycle. The Data Integrity Service prostitute full storage application system verifies that the secure storage application data contains all access control records, permission control records, etc., in addition to providing physical data through the secret ID mechanism. If the reading group mismatches its encryption algorithm, the hash value is stored in the content encryption and encryption with the content encryption key. During the write operation period, the value is #^^, and the hash value is stored. The hash system is stored again during the master operation and compared to the value of the previous write operation. Whenever I talk about the secret ID being accessed by each μ topic, 122366.doc -53· 200822670 Additional data (in cryptographic compilation) is concatenated to the old data and updated (for reading or writing) Into the appropriate value of the hash. Since only the host knows about a key ID or a beacon file pointed to by a key ID, the host explicitly manages several aspects of the data integrity function in the following manner: A data file pointed to by a key ID or by a key ID is written or read from beginning to end. Any attempt to access a portion of the file will confuse it because the secure storage application system is using a chain block cipher encryption method and generates a hash message digest of the entire data. 2. There is no need to process data in a continuous stream (the data stream can be interleaved with data streams of other key IDs, and can be divided over multiple sessions), because the middle of the hash value is the security Stored by the application system. However, if the data stream is restarted, the entity will need to explicitly instruct the secure storage application system to reset the hash values. 3. When a read operation is completed, the host explicitly requests the secure storage application system to confirm the hash of the read by comparing the hashes that were read during the hash and the write operation. 4 · The prostitute full storage application system also provides one, set read, and operate. This feature will stream the data through the encryption engine, but will not transfer it to the host. This feature can be used to confirm data integrity before the data is actually retrieved from the device (e. g., a flash memory card). The random number generation of the secure storage application system will enable the external entity to use the internal random number generator and request that the random number be used for the secure storage application. 122366.doc -54- 200822670 Program system is recognized as 0. This service system can be used. Any host uses 'and does not need to authenticate the RSA key pair to generate the secure storage application RSA key pair to create a feature storage application system without authentication. An alternative embodiment would be to enable an external user to use the internal moon-length pair and the key pair to be used outside of this security. This service can be used by any host, and

不使用階層架構方式 而逹成,如示於圖18。 類似的結果可使用一資料庫方式 示於圖18含有用於實體之認證、鑑認方法、失敗 嘗試的最大次數及解除封鎖所需之認證最小數目的清單可 被輸入儲存於控制器12或記憶體20内之一資料庫之中,該 清單使認證需求相關於由該記憶體1〇之該控制器12所實施 該資料庫中之原則(對於密鑰及分割區之讀取、寫入存It does not use the hierarchical structure, as shown in Figure 18. Similar results can be stored in the controller 12 or in memory using a database format shown in Figure 18 containing the maximum number of authentications, authentication methods, failed attempts, and the minimum number of authentications required to unblock the entity. Among the databases in the body 20, the list relates the authentication requirements to the principles implemented in the database implemented by the controller 12 of the memory (for the reading and writing of keys and partitions)

取,安全通道需求)。亦儲存於該資料庫的係對於存取密 鑰及分割區之約束及限制。因此,一些實體(例如,系統 官理者)係可以於一白色清單上,其係意謂這些實體可存 取所有密鑰及分割區。其他實體係可以於一黑色清單上, 且其存取任何資訊之企圖將被封鎖。該限制可以係全域 性’或密鑰及/或分割區特定的。此係意謂僅某些實體可 存取某些特定密鑰及分割區,且某些實體無法如此實施。 約束亦能夠被置放於内容本身上,而不論内容所在的分割 區或用於加密或解密該内容之密鑰為何。因此,某些資料 122366.doc -55- 200822670 (例如’歌曲)係可以具有其僅能夠被前5 装置所存取的屬性,或者其他f料(例如,電:門的_ 被讀取有限次數的屬性,而不論 ^僅忐夠 鑑認 丨-實體具有存取權。 密碼保護 饴碼保濩係意謂需要提交一密碼, ^ A L 乂存取党保護的區 域。除非其無法超過一個密碼,否Μ # 沾描心 贪則在碼可相關聯於不同 r 的榷利,諸如讀取存取及/或寫入存取。 .密碼保護係意謂該裝置(例如,快閃記憶體卡)可驗蛾 由該主機所提供之密碼,亦即該裝置亦具有儲存於裝^ 理安全記憶體區域内的密碼。 、^ 發佈及限制 .密碼係受限於重新播放攻擊。因為在每—提交之後六 碼係不改變,所以其可相同地重新傳送。其係意謂假如: 被保護的資料係有價值的’則密碼係不應該被使用,且甬 訊匯流排係容易被存取。 、 .密碼可料存㈣存的資料,然而係不㈣被使用於 保護資料(非一密鑰)。 、 .為了增加與密碼相關聯的安全性等級,其可使用一主 控密鎗而多樣化,結果為㈣—份請係不搞峥整個系 統。-以會期密鑰為基礎的安全通訊通道可被用於傳送該 密碼。 圖19繪示使用一密碼進行鑑認之流程 -帳户ID及密碑至系統10(例如,快閃記憶雜卡 122366.doc -56- 200822670 係檢查看看是否該密碼係匹配於其記憶體内的密碼。假如 其係匹配’則傳回經鑑認狀態。否則,累加用於該帳戶之 錯誤計數器,且該實體係被要求重新輸人—帳戶①及密 :。假如該計數器係滿溢,則該系統傳回存取被拒絕的狀 恕0Take, secure channel requirements). Also stored in the database are constraints and restrictions on access keys and partitions. Therefore, some entities (e.g., system administrators) can be on a white list, which means that these entities can access all keys and partitions. Other real systems can be on a black list and their attempts to access any information will be blocked. This restriction may 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. Constraints can also be placed on the content itself, regardless of the partition in which the content resides or the key used to encrypt or decrypt the content. Therefore, some materials 122366.doc -55- 200822670 (eg 'songs') may have attributes that they can only be accessed by the first 5 devices, or other f-materials (eg, electricity: the gate's _ is read a limited number of times Attributes, regardless of ^ only enough to authenticate 实体 - the entity has access. Password protection code means that you need to submit a password, ^ AL 乂 access to the party protected area. Unless it can not exceed a password, No Μ # 描 心 则 则 则 则 则 则 则 则 则 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码 码The password provided by the host can be checked, that is, the device also has a password stored in the secure memory area of the device. 2. Release and restriction. The password is limited to the replay attack because after each submission The six-code system does not change, so it can be retransmitted in the same way. It means that if the protected data is valuable, then the password should not be used, and the communication bus system is easy to access. The password can be stored in (4) the stored information. The system does not (4) is used to protect data (not a key). In order to increase the security level associated with the password, it can be diversified using a master-controlled gun. The result is (4) - please do not峥The entire system.- A secure communication channel based on the session key can be used to transfer the password. Figure 19 shows the process of using a password for authentication - account ID and password to system 10 (for example, fast) Flash Memory Card 122366.doc -56- 200822670 Check to see if the password matches the password in its memory. If it matches ', then it returns the authenticated status. Otherwise, accumulate the error for the account. Counter, and the real system is required to re-enter - account 1 and secret: If the counter is overflowing, then the system returns the access denied access

對稱密鑰 對稱密鑰演算法係意謂於加 鑰。其係意謂該密鑰係在通訊 每一端應該實施彼此的逆演算 异法及於另一端之解密演算法 演算法以通訊。 4監認 密及解密兩端使用相同的密 之剞已經預先同意。此外, 法,亦即,於一端之加密演 。兩端係不需要實施該兩種 .對稱_鑑認係意謂裝置(例如,快閃記㈣卡)及主 機共用相同的密錄且具有相同的密碼編譯演算法(直接及 逆向’例如,DES及DES-1)。 .對稱密鑰鑑認係意謂挑戰-回應(保護防止重新播放攻 擊t受保護的裝置產生一用於其他裝置的挑戰,且兩者 冲算回應。該鑑s忍裝置傳回該回貞,且該受保護裝置檢查 "亥回應,且據此因而確認鑑認。接著,與鑑認相關的權利 可被授予。 鐘認可以係: •外部的:該裝置(例如快閃記憶體卡)鑑認外部的世 界’亦即,該裝置確認-給定主機或應用程式之認證。 •相互的:於兩端上產生一挑戰。 122366.doc -57 · 200822670 •内部的·該主機應用程式鑑認該裝置(亦即 1 快閃記 憶體卡),亦即,主機檢查是否裝置對於其之應 μ W %式而 言係真實的。 為了增加整個系統的安全性等級(亦即,破壞—者係非 破壞全部): •對稱密鑰係通常使用一主控密鑰而與多樣化結人。 •相互鑑認使用來自兩端的挑戰,以確保挑戰係一真實 的挑戰。 、 加密 對稱密鑰密碼編譯亦用於加密,因為其係一非常有效率 的演算法,亦即,其係不需要一功能強大的中央處理單元 來處置密碼編譯。 當用於使一通訊通道安全時: •兩端裝置必須知道用於使該通道安全(亦即,加密所 有傳出資料且解密所有傳入資料)的會期密鑰。通常使用 一預先共用的安全對稱密鑰或使用公開密鑰基礎結構而建 置此會期密鑰。 •兩端裝置係必須知道及實施相同的密碼編譯演算法。 簽名 對稱密鑰亦可使用於簽名資料。於此情況下,簽名係加 雄的一部分結果。保持該結果為部分的允許簽名與所需一 樣多次,而不顯露該密鑰值。 發佈及限制 對稱演算法係非常有效率且安全的,然而其係以一預共 122366.doc -58- 200822670 用秘费為基礎。該發佈係以-動態方式安全地丘用 密,且可能祛甘* 、文王地共用此秘 此使其為隨機的(像是一會期密鑰此 共用的秘密你I 0 /T> 夕個人。 期保持安全的’且係幾乎不可能血 多個人員共用。 此/、 為了促進此操作,已經發明公開密鑰演算法, 允許秘费父換,而不共用該等秘密。 ” 非對稱鑑認程序 以非對稱密鑰為基礎的鑑認使用傳送命令之一系列資 料/ 係最終建構用於安全通道通訊之會期密鑰。基本協 定係對於該安全儲存應用程式系統鑑認該使用者。協定變 化係允許·相互鑑認,#中,該使用者係必須鐘認他想要 使用的存取控制記錄;以及雙因素鑑認。 較佳地,該安全儲存應用程式之非對稱鑑認協定使用公 開密鑰基礎結構(ΡΚΙ)及RSA演算法。如由這些演算法所定 義’该鐘認程序内每一當事人係被允許建立其自己的Rs A 密鑰對。每一 RSA密鑰對係由公開密鑰及私有密鑰所組 成。因為該等密鑰係匿名的,所以其無法提供身份的證 明。該公開密鑰基礎結構層尋求一第三方且受信任的當事 人’其簽名該等公開密鑰之每一者。該受信任的當事人之 公開密鑰係於將彼此4監認之當事人之間預先共用,且係使 用於驗證該等當事人的公開密输。一旦信任係被建置(兩 個當事人決定由另一當事人所提供之公開密鑰可被信 任),該協定係持續鑑認(驗證每一當事人保存匹配的私有 密鑰)以及密鑰交換。此可透過示於圖22及23中之挑戰回 122366.doc -59- 200822670 應機制而實施,如下文所述。 含有該加上簽名的公開後錄之結構被稱為一憑證。簽名 該等憑證的受信任當事人被稱為憑證授權單位(CA)。為了 使一當事人成為經鑑認,其具有一 RS A密鑰對及一證明該 公開密鑰的真實性之憑證。該憑證係由一憑證授權單位加 上簽名,該憑證授權單位係受到另一(鑑認)當事人信任。 該鑑認當事人係被期望於其之財產上具有其受信任的憑證 授權單位之公開密鑰。 該安全儲存應用程式系統允許憑證鏈。此係意謂被識別 之當事人的公開密鑰係可以由一與該識別當事人所信任的 不同的憑證授權單位加上簽名。於此情況下,該被識別當 事人除了提供其自己的憑證之外,亦提供對其公開密錄加 上簽名之憑證授權單位的憑證。假如該第二層級憑證係仍 然不被另一當事人所信任(未被其受信任的憑證授權單位 加上簽名),則可提供一第三層級憑證。於此憑證鏈演算 法之中,每一當事人係將持有需要鑑認其公開密鑰之憑證 的完整清單。此係顯示於圖23及24。用於此種類型存取控 制記錄相互鑑認所需要之認證係所選長度之RSA密鑰對。 安全儲存應用程式憑證 安全儲存應用程式係採用[X.509]第3版數位憑證。 [X.509]係一種一般用途標準;於此所述之該安全儲存應用 程式憑證資料檔係進一步說明及限制憑證定義攔位之内 容。該憑證資料檔亦定義用於憑證鏈、安全儲存應用程式 憑證之確認及憑證廢止清單(CRL)資料檔之管理所定義之 122366.doc -60 - 200822670 信任的階層架構。 該憑證係被認為為公開資訊(如同内部的公開密餘),且 因而係不被加密'然而’其包含一 RSA簽名,其係驗證該 公開密鑰以及所有其他資訊欄位未被竄改。 [Χ·5〇9]係定義每—欄位係制礙丨標準而格式化 接著使用用於資料編碼之DER格式。 安全儲存應用程式憑證概觀Symmetric Key A symmetric key algorithm is meant to be a key. It means that the key should be implemented at each end of the communication by performing an inverse calculation of each other and a decryption algorithm at the other end to communicate. 4 Supervisor The same secret is used at both ends of the secret and decryption. In addition, the law, that is, the encryption at one end. The two ends do not need to implement the two. The symmetric_authentication means that the device (for example, the flash (four) card) and the host share the same secret record and have the same cryptographic compilation algorithm (direct and reverse 'for example, DES and DES-1). Symmetric key authentication means challenge-response (protection prevents replay attacks from being attacked. The protected device generates a challenge for other devices, and both respond to the response. The proof device returns the response, And the protected device checks "Hui response, and accordingly confirms the authentication. Then, the right related to the authentication can be granted. The clock can be: • External: the device (such as a flash memory card) Identifying the external world's, that is, the device confirms - the authentication of a given host or application. • Mutual: creates a challenge on both ends. 122366.doc -57 · 200822670 • Internal · The host application Recognize the device (ie, 1 flash memory card), that is, the host checks whether the device is true for its application. To increase the security level of the entire system (ie, damage) Non-destructive all): • Symmetric key systems usually use a master key to differentiate them. • Mutual authentication uses challenges from both ends to ensure that the challenge is a real challenge. Compilation is also used for encryption because it is a very efficient algorithm, that is, it does not require a powerful central processing unit to handle cryptographic compilation. When used to make a communication channel secure: • Both ends The session key used to secure the channel (ie, encrypt all outgoing data and decrypt all incoming data) must be known. It is usually built using a pre-shared secure symmetric key or using a public key infrastructure. This session key. • Both devices must know and implement the same cryptographic compilation algorithm. The signature symmetric key can also be used for signature data. In this case, the signature is part of the result of Kaohsiung. Part of the allowed signature is as many times as needed without revealing the key value. The release and restriction of the symmetric algorithm is very efficient and secure, but it is based on a pre-common 122366.doc -58- 200822670 Based on this, the release is safely used in a dynamic manner, and may be used to share this secret to make it random (like a one-session key for this sharing secret). You I 0 /T> eve personal. The period is kept safe and it is almost impossible for blood to be shared by multiple people. This /, in order to facilitate this operation, a public key algorithm has been invented, allowing the secret father to change without sharing These secrets. ” Asymmetric authentication procedures based on asymmetric key identification using a series of transmission commands / the final construction of the session key for secure channel communication. The basic agreement for this secure storage application The program system authenticates the user. The protocol change allows for mutual authentication, #, the user must remember the access control record he wants to use; and two-factor authentication. Preferably, the secure storage The application's asymmetric authentication protocol uses the public key infrastructure (ΡΚΙ) and the RSA algorithm. As defined by these algorithms, each party in the program 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 for a third party and a trusted party's to sign each of the public keys. The public key of the trusted party is pre-shared between the parties who are acquainted with each other 4 and is used to verify the public secrets of such parties. Once the trust is established (the two parties decide that the public key provided by the other party can be trusted), the agreement is continuous authentication (verifying each party to hold the matching private key) and key exchange. This can be implemented by the challenge back shown in Figures 22 and 23, 122366.doc -59-200822670, as described below. The structure of the publicly recorded record containing the signed signature is referred to as a voucher. 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 RS A key pair and a certificate proving the authenticity of the public key. The voucher is signed by a voucher authority that is authorized by another (authenticated) party. The authentication party is expected to have a public key for its trusted certificate authority on its property. The secure storage application system allows a credential chain. This means that the public key of the identified party can be signed by a different credential authority that is trusted by the identifying party. In this case, in addition to providing its own credentials, the identified party also provides credentials for the publicly signed and signed certificate authority. 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 is also defined for the credential chain, the confirmation of the secure storage application voucher, and the management of the certificate revocation list (CRL) data file. 122366.doc -60 - 200822670 Trusted hierarchy. The voucher is considered to be public information (as is the internal disclosure secret) and is therefore not encrypted 'however' it contains an RSA signature which verifies that the public key and all other information fields have not been tampered with. [Χ·5〇9] defines each field-field system to be formatted and then uses the DER format for data encoding. Secure Storage Application Credential Overview

顯示於圖20及21之該安全儲存應用程式憑證管理架構之 -項實施例包含用於該主機之無限層級階層架構及用於該 裝置至多3層級階層架構而對於該裝置可使用多於或 少於3的層級數。 主機憑證階層架構 該裝置係根據兩項因素而鑑認主機:儲存於該裝置内的 根憑證授權單位憑證(作為一存取控制記錄認證,於該存 取控制記錄之建立時予以儲存)及由f試存取該裝置之實 體所提供的憑證/憑證⑽於該特定存取控制記錄)。 對於每-存取控制記錄而言,該主機憑證授權單位係作 為該根憑證授權單位(此係駐留於該等存取控制記錄認證 内的憑證)。舉例而言’對於—存取控制記錄而言,該二 心也授權單位可以係"主機丨憑證授權單位(第2層級)憑證", 且對於另-存取控制記錄而言,練憑證㈣單位H系 "主機根憑證授權單位憑證”。對於每一存取控制記錄而 言,持有由該根憑證授權單位簽名之一憑證(或者D_連接 該根憑證授權單位至終端實體憑證之憑證鏈)之每—實體 122366.doc •61 - 200822670 可登入該存取控制記錄, 證之對應的私有密餘。如卜,、〜、有用於該終端實體憑 且係非保持秘密的。 ―係“1的知識, 由該根憑證授權單位所發佈 的私有密鑰)可登入兮在U有者(及對應 -特定存錄的事實係意謂,對於 执内之記錄之鑑認係由儲存於該存取控制記錄認 二4::授:單位的發行者所決定。換句話說,該根 二—者可以係管理該存―^ 主機根憑證 八該根憑證係該安全儲存應用程式正在用於開始驗證嘗試 且入(主機)之實體的公開密鑰之受信任的憑證授權單位满 2。當該存取控制記錄被建立以作為該等存取控制記錄認 之P刀時#供此憑證。其係用於該公開密鑰基礎結構 系統之信任的根’且因此,其係假設由一受信任的實體 (-父代存取控制記錄或製造/組態受信任的環境)所提供。 該安全儲存應用程式使用其公開密鑰以驗證該憑證簽名而 驗證該憑證。該主機根憑證係經加密地儲存於一非揮發性 記憶體之中(未顯示於圖”,且該裝置之秘密密鑰較佳二係 僅可由系統10之圖1的中央處理單元12所存取。 主機憑證鍵 主機憑證鏈係於鑑認期間提供給該安全儲存應用程式的 憑證。在完成該主機憑證鏈之處理之後,於該裝置中應未 儲存該主機憑證鍵之回憶。 122366.doc -62- 200822670 圖20繪示若干不同的主機憑證鏈之主機憑證層級階層架 構之不意圖。如示於圖20,該主機憑證係可以具有許多不 同的憑證鏈,其中,僅三個係被顯示: A1 ·主機根憑證授權單位憑證5〇2、主機i憑證授權單位 (第二層級)憑證5〇4及主機憑證506 ; ★ B1·主機根憑證授權單位憑證5〇2、主機n憑證授權單位 (第二層級)憑證508,主機1憑證授權單位(第三層級)憑證 5 10及主機憑證512 ; ci·主機根憑證授權單位憑證5〇2、主機n憑證授權單位 (第二層級)憑證508及主機憑證514。 上述之三個憑證鏈A1、B1AC1#顯示可被用於證明該 主機之公開密鑰係為真實的 只妁之二個可能的主機憑證鏈。參 照上述憑證鏈A1及圖2〇, " °亥主機1憑證授權單位(第二層 級)憑證504内的公開密鑰係蕤 曰 〜作糟由δ亥主機根憑證授權單位的 私有後、餘而被簽名(亦即,葬由 ^ . \ an 曰由加擒该公開密鑰之摘要),The embodiment of the secure storage application credential management architecture shown in Figures 20 and 21 includes an infinite hierarchical hierarchy for the host and for the device up to a three-tier hierarchy for more or less use of the device The number of levels in 3. Host credential hierarchy The device authenticates the host based on two factors: the root credential authorization unit voucher stored in the device (as an access control record authentication, stored when the access control record is created) and f Trial access to the credentials/documents (10) provided by the entity of the device to the particular access control record). For per-access control records, the host credential authority is the root credential authority (this is the credential that resides in the access control record credentials). For example, for a-access control record, the second-hearted authorized unit can also be a "host" certificate authority (level 2) voucher", and for another-access control record, the certificate (4) Unit H Department "Host Root Certificate Authorization Unit Voucher." For each access control record, hold one of the certificates signed by the root certificate authority (or D_ connect the root certificate authority to the terminal entity certificate) Each of the voucher chains - entity 122366.doc • 61 - 200822670 can log in to the access control record, and the corresponding private secrets, such as Bu, ~, are used for the terminal entity and are not kept secret. ― “The knowledge of 1”, the private key issued by the authority of the root certificate can be logged in. The U-owned person (and the corresponding-specific fact-finding system means that the identification of the records in the execution is Stored in the access control record 2:: Author: The issuer of the unit decides. In other words, the root two can manage the storage - ^ host root certificate eight, the root certificate is the secure storage application Being used to start The trusted credential authorization unit of the public key of the entity attempting to verify and enter (host) is full 2. When the access control record is established as the access control record, the P knife is available for this credential. The root of the trust used for the public key infrastructure system' and, therefore, is assumed to be provided by a trusted entity (-parent access control record or manufacturing/configuration trusted environment). The storage application verifies the voucher using its public key to verify the voucher signature. The host root voucher is stored encrypted in a non-volatile memory (not shown) and the device's secret key Preferably, the second system is accessible only by the central processing unit 12 of the system 10 of Figure 1. The host credential key host credential chain is the credential provided to the secure storage application during authentication. Upon completion of the processing of the host credential chain The memory of the host credential key should not be stored in the device. 122366.doc -62- 200822670 Figure 20 illustrates the host certificate hierarchy level architecture of several 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 Credentials 5〇2, Host i Credential Authorization Unit (Second Level) Credentials 5〇4 and Host Voucher 506; ★ B1·Host root certificate authority unit certificate 5〇2, host n certificate authority unit (second level) certificate 508, host 1 certificate authority unit (third level) certificate 5 10 and host certificate 512; ci·host Root certificate authority unit certificate 5.2, host n certificate authority unit (second level) certificate 508 and host certificate 514. The above three certificate chains A1, B1AC1# display can be used to prove that the host's public key system is There are only two possible host credential chains that are true. Referring to the above-mentioned voucher chain A1 and FIG. 2〇, the public key system in the voucher 504 of the host authority (second level) voucher 504 is made up of the private after And being signed (that is, the funeral is ^. \ an 曰 by adding a summary of the public key),

該主機根憑證授權單位的公 罝 Ί在鑰係於该主機根憑證授權 ‘迅502之内。於該主機馮 ^ i ^ ^ ^ 機心從506内的主機公開密鑰係 接耆由δ亥主機1憑證授權單 ― 名,兮主苐一層、,及)之該私有密鑰所簽 石该主機1憑證授權單位(第-jg紐、从\ 1 ^ ^ ^ . 弟一層級)的公開密鑰係提供於 及主機1憑證授權單位第- 且古# , (弟一層級)憑證504之内。因此,一 ,、有該主機根憑證授權星彳 权榷早位的公開密鑰之 證上述憑證鏈A1之真實性 體係將-夠驗 其擁有t Μ > $ 為第V驟,該實體係使用 、攤有之忒主機根憑證授權單位 該主機傳送至其之主機丨焉说柄Λ 開费鑰,以解密由 &也x權單位(第二層級)憑證504 122366.doc -63 - 200822670 内U名的公開密鍮,且比較該經解密的經簽名公開密錄 及由該主機所傳送之該主機1憑證授權單位(第二層級)憑證 504内之未經簽名的公開密鑰的摘要。假如該兩者係匹 配’則該主機i憑證授權單位(第二層級)之該公開密输係被 鑑認,且該實體接著將使用該主機1憑證授權單位(第二層 級)之該經鑑認公開密鑰,以解密由該主機傳送之該主機 憑證506内之該主機1憑證授權單位(第二層級)的私有密鍮 所簽名之主機的公開密鑰。假如該經解密的簽名值匹配由 該主機所傳送之該主機憑證5〇6内之該公開密鑰的摘要之 值則5亥主機之該公開密鑰係接著亦被鑑認。可用類似的 方式使用該憑證鏈B 1及c丨以用於鑑認。 如同將由上述牵涉到憑證鏈八丨之程序所注意到,來自需 要被4實體驗證之該主機的第一公開密鑰係於該主機工憑 也授權單位(第二層級)内的密鑰,且非為該主機根憑證授 權早位憑證。因此,該主機僅需要傳送該主機丨憑證授權 單位(第二層級)憑證5〇4及該主機憑證5〇6給該實體,使得 该主機1憑證授權單位(第二層級)憑證將為該憑證鏈中需要 被傳送的第一憑證。如上文所示,憑證驗證的序列係如 下。該驗證實體(於此情況下,即記憶體裝置1〇)首先驗證 該憑證鏈中該第一憑證内的公開密鑰的真實性,其在此情 況下係在該根憑證授權單位下方的憑證授權單位的憑證 504。在此類憑證内的公開密鑰被驗證為真實的之後,裝 置10接著係進行至驗證下一憑證,於此情況下係該主機憑 也506。藉由相同的符記,可應用一類似的驗證序列,其 122366.doc -64 - 200822670 中,該憑證鏈含古AM,$ 、 Λ 上證,其開始 方的憑證,而^ ^ 、緊接在該根下 、、口束於將被鑑認之實體的馮嘴 裝置憑證階層架構 .化。 忒主機係根據兩項因素而鑑認該裝置 的裝置根憑證授權單位“芬绪存於該主機内 證/憑證鏈#於兮户兩4 &供该主機之憑 匕、係於该存取控制記錄建立 / 以作為-認證)。用於由該主機鑑認該裝置的:::置’ 於上文所述該裝置鑑認該主機之㈣。、係類似 裝置憑證鏈 ;裝置憑證鏈係該存取控制記錄之密鑰對的憑證。其係當 该存取控制記錄被建立時提 田、田 式個別儲存這些憑證’且將於鑑認期間,逐一地提供憑證 給該主機。該安全儲存應用程式使用這些憑證以鐘認該主 機。該裝置能夠處理一含3個憑證的憑證鏈,然而可使用 不同於3個的若干憑證。憑證的數量係因存取控制記錄不 同而改變。其係當該存取控制記錄被建立時予以決定。該 裝置可傳送該憑證鏈給該主機,然而,其係不需要分析它 們’原因係其係不使用該憑證鏈資料。 圖21顯示裝置憑證層級階層架構之示意圖,用於顯示使 用安全儲存應用程式用於諸如儲存裝置之裝置的不同 的憑證鏈。示於圖21之該n個不同的憑證鏈係如下: Α2·裝置根憑證授權單位憑證520,裝置1憑證授權單位 (製造商)憑證522及裝置憑證524 ; Β2·裝置根憑證授權單位憑證520,裝置η憑證授權單位 122366.doc -65- 200822670 (製造商)憑證526及裝置憑證528。 該安全儲存應用程式裂置係可以由In個不同的製造商 所製造,每一製造商係具有其自己的裳置憑證授權單位憑 證。因此’於用於一特定裝置之襄置憑證内的公開密錄係 藉由其製造商的私有密鍮予以簽名,且接著該製造商的公 開密鑰係由該裝置根憑證授權單位的私有密输予以簽名。 該裝置之該公開密餘被驗證的方式係類似於上述該主機之 公開密鑰之情況下的方式。當在 礁用於主機之憑證鏈A1 之驗證之情況時’不需要傳送該裝置根憑證授權單位憑 證,且該等憑證鏈内需要被傳送之第一憑證係裝置 授權單位(製造商)憑證,其後接著裝置憑證,i係自…的 整數。 ;;圖2 1之實⑯例中,該裝置將提交兩個憑證 i憑證授權單位(製造商)憑證,其後接著其自己的裝置;馬 證。該裝置1憑證授權單位(製造商)憑證係製造該如:裝; 之製造商且係提供私有密餘以簽名該裝置之公開密鑰的製 造:的憑證。當該裝置i憑證授權單位(製造商)憑證係由該 主機予以接收時,該主機使用其擁有的根憑證授權單位之 公開密鑰’以解密及驗證該裝置i憑證授權單位(製 公 開岔鑰。假如此驗證失敗,則該主機中 ^ " 丨正5¾程序,且通 知該裝置鐘認已失敗。徊‘ I %二、 匕夭敗作又如鑑遇成功,則該主機 請求給《置,㈣於τ—憑證。接著,該 似的方式’傳送其將被該主機驗證之自己的裝置… 上述驗證程序係亦更詳細地顯 間“及23。於圖22 122366.doc -66 - 200822670 中’"安全服務模組系統"係一軟體模组,其係實施本文所 述之安全儲存應用程式系統以及下文敘述之其他功能。安 全服務模組系統係可以建構為軟體或電腦碼,其具有儲存 於記憶體20或中央處理單元12内的一 π ^ 非揮發性記憶體(未 顯示)内的資料庫,且係由該中央處 阳必Τ天敁埋早70 12讀取至隨機 存取記憶體12a之中且予以執行。 如示於圖22,該程序内有三個階段,其中,裝置1〇内的 安全服務模組系統542鑑認一主機系統54〇。於第一公開密 餘驗證階段巾,該主㈣統54()傳送該安全服務模組命: 内該主機憑證鏈給該安全服務模組系統542。該安全服務 杈組系統542使用位於該存取控制記錄55〇内之該主機根憑 證548内的根憑證授權單位公開密鑰,而驗證(方塊55勾該 主機憑證544及該主機公開密鑰546之真實性。若牵涉到介 於該根憑證授權單位與該主機之間的一中間憑證授權單位 549,則於方塊552,該中間憑證授權單位549亦被用於驗 姐。假没該驗證或程序(方塊552)係成功的,則該安全服務 模組系統542係接著進行至第二階段。 該安全服務模組系統542產生一隨機號碼554且傳送該隨 機號碼554作為一挑戰而至該主機系統54〇。系統54〇使用 ό亥主機系統的私有密鑰547簽名該隨機號碼554(方塊556), 且傳送該經簽名的隨機號碼作為對於該挑戰的回應。該回 應係使用該主機公開密鑰546予以解密(方塊558),且與該 隨機號碼554相比較(方塊560)。假設該經解密回應匹配該 隨機號碼554,則該挑戰回應係成功的。 122366.doc -67- 200822670 於第三階段中,隨機號碼562係使用該主機公開密鑰546 予以加密。接著,該隨機號碼562係會期密鑰。該主機系 統540可藉由使用其之私有密鑰解密(方塊564)來自該安全 服務模組系統542之該經加密的隨機號碼562,而獲得該會 期密鑰。藉由此會期密鑰,接著可起始介於該主機系統 540與該安全服務模組系統542之間的安全通訊。圖22係顯 示一單向非對稱鑑認,其中,該主機系統540係由裝置10 内之該安全服務模組系統542予以鑑認。圖23係一協定 圖,其顯示一類似於圖22之單向鑑認協定之雙向相互鑑認 程序,其中,圖23中之該安全服務模組系統542係亦由該 主機系統540予以鑑認。 圖24繪示本發明之一項實施例之憑證鏈590的圖式。如 上文所述,需要被提交用於驗證之憑證鏈可包含若干憑 證。因此,圖24之憑證鏈包含總計9個憑證,該等憑證全 部係可以需要被驗證以用於鑑認。如說明於上文之先前技 術部分,於用於憑證驗證的現有系統中,在傳送一不完整 的憑證鏈,或者若傳送整個憑證,而該等憑證係不以任何 特定的順序予以傳送,使得接收者係將不能夠分析該等憑 證,直到整個憑證群組係已經被接收及儲存為止。因為於 一憑證鏈内憑證之數量係事先不知道,所以此可呈現一問 題。一大量的儲存空間係可能需要被保留,以用於儲存不 確定長度的憑證鏈。此可以係一對於實施驗證之儲存裝置 的問題。 本發明之一項實施例係根據:該問題可藉由主機裝置以 122366.doc -68 - 200822670 與該憑證鏈將被該儲存裝置驗證之相同順序傳送其之憑證 鏈之一系統所減輕之認知。因此,如示於圖24,憑證之憑 證鏈590係:開始於憑證鏈590 (1),其係緊接在該主機根 憑證下方的憑證;且結束於憑證590 (9),其係該主機憑 證。因此,裝置10將首先驗證憑證590 (1)内之公開密鑰, 其後接著憑證590 (2)内之公開密鑰的驗證,以此類推,直 到憑證590 (9)内的主機公開密鑰被驗證為止。接著,此係 完成整個憑證鏈590之驗證程序。因此,假如該主機裝置 係以與該憑證鏈將被驗證之相同順序或序列而傳送該憑證 鏈590至記憶體裝置10,則記憶體裝置1〇可當每一憑證被 接收時開始驗證每一憑證,而不需要等待直到該憑證鏈 590内全部9個憑證已經被接收為止。 因此,於一項實施例中,該主機裝置係一次傳送該憑證 鏈590内一憑證至記憶體裝置10。接著,記憶體裝置1〇將 必須一次儲存一單一憑證。在該憑證係已經被驗證之後, 其可被由該主機所傳送之下一憑證予以覆寫,惟該憑證鏈 中最後一憑證除外。以此方式,在任何時間,記憶體裝置 1 〇將需要保留用於僅儲存一單一憑證的空間。 該記憶體裝置係將需要知道該整個憑證鏈590何時已經 被接收。因此,較佳地,最後一憑證59〇 (9)係含有其係該 憑證鏈内最後一憑證之一指示項或一項指示。此特徵係顯 示於圖25,其顯示一控制區段的資訊的表,該控制區段係 在由該主機傳送至該記憶體裝置10之憑證緩衝區之前。如 示於圖25,憑證590 (9)之控制區段含有一引數名稱,,》為最 122366.doc •69- 200822670 後的’旗標”。接著,記憶體裝置10可藉由檢查是否該”為最 後的”旗標係被設定,而驗證憑證590 (9)係該憑證鏈内最 後一憑證,以決定是否所接收之憑證係該憑證鏈中最後一 個憑證。 於一替代實施例中,憑證鏈590内之憑證係可非以逐一 方式予以傳送,而係以含一個、兩個或三個憑證之群組予 以傳送。明顯地,可使用具有其他數量之憑證的群組或者 群組中相同數量之憑證。因此,憑證鏈590包含5個連續的 憑證串591、593、595、597及5 99。該等憑證串之每一者 含有至少一憑證。一連續的憑證串係含有下列憑證的憑證 串:緊接於該憑證鏈中位於該討論中憑證串之前的憑證串 之憑證(開始憑證);緊接在該憑證鏈内該討論中憑證串的 後的憑證串的憑證(結尾憑證);以及介於該開始憑證與結 尾憑證之間之所有憑證。舉例而言,憑證串593含有三個 憑證590 (2)、590 (3)及590 (4)。該5個憑證串係由記憶體 裝置10以下列序列驗證:591、593、595、597且以599結 束。因此,假如該5個憑證串係以與記憶體裝置1〇所實施 之驗證相同的序列予以傳送及接收,則該記憶體裝置在彼 等憑證串已經被驗證之後,將不需要儲存任一憑證串,且 惟最後一憑證串除外的所有可被來自該主機而到逹的下一 憑證串所覆寫。如同先前的實施例,期望該憑證鏈内最後 一憑證係含有一諸如一旗標的指示項,其係被設定為一特 定的值,以指示其係該憑證鏈内最後一憑證。於此實施例 中,該記憶體裝置將僅需要保留足以儲存該5個憑證串内 122366.doc -70- 200822670 最大數量的憑證的空間。 5己體裝置1 〇其意欲傳送 係僅需保留用於最長憑證 因此,假如該主機首先係通知該 之最長憑證串,該記憶體裝置10 串列之足夠空間。The host root certificate authority's public key is within the host root certificate authorization 'Xun 502'. In the host Feng ^ i ^ ^ ^ movement from the host public key in 506 is connected by the δ 主机 host 1 vouchers - name, 兮 苐 苐 layer, and) the private key signed The public key of the host 1 credential authorization unit (the -jg button, from the level of \1 ^ ^ ^.) is provided in the certificate of the host 1 certificate authority - and the ancient #, (the first level) voucher 504 . Therefore, the authenticity system of the voucher chain A1 with the host root certificate authorizing the Xingyi right early public key will be able to verify that it owns t Μ > $ is the Vth step, the real system After the host root certificate is used, the host sends the host to the host, and the key is issued to decrypt the key by the & also x unit (second level) voucher 504 122366.doc -63 - 200822670 a public key of the U-name, and comparing the decrypted signed public secret and the unsigned public key of the host 1 certificate authority (second level) voucher 504 transmitted by the host . If the two match ', then the public secret of the host i certificate authority (second level) is authenticated, and the entity will then use the host 1 certificate authority (second level) The public key is recognized to decrypt the public key of the host signed by the private key of the host 1 credential authority (second level) in the host credential 506 transmitted by the host. If the decrypted signature value matches the value of the digest of the public key in the host credential 5 〇 6 transmitted by the host, the public key of the host is then also authenticated. The credential chains B 1 and c丨 can be used in a similar manner for authentication. As noted by the above-described procedure involving the voucher chain gossip, the first public key from the host that needs to be verified by the 4 entity is tied to the key within the host device and the authorized unit (second level), and The early credentials are not authorized for the host root certificate. Therefore, the host only needs to transmit the host credential authority unit (second level) credential 5〇4 and the host credential 5〇6 to the entity, so that the host 1 credential authorization unit (second level) credential will be the credential The first credential to be transmitted in the chain. As shown above, the sequence of voucher verification is as follows. The verification entity (in this case, the memory device 1) first verifies the authenticity of the public key in the first voucher in the voucher chain, which in this case is the voucher below the root voucher authorization unit Credential 504 of the authorized unit. After the public key within such a voucher is verified to be authentic, device 10 proceeds to verify the next voucher, in which case the host is also 506. With the same token, a similar verification sequence can be applied. In 122366.doc -64 - 200822670, the credential chain contains the ancient AM, $, 上 SSE, the certificate of the starting party, and ^ ^ , immediately after Under this root, the interface of the Fengzuo device credential hierarchy of the entity to be authenticated is structured.忒The host system authenticates the device root certificate authority of the device according to two factors: “Fenxu deposits in the host certificate/voucher chain# in the Seto 2 4 & Control record establishment / as - authentication). Used by the host to authenticate the device::: set the above device to identify the host (4), similar device credential chain; device credential chain The access control records the key pair of the record. When the access control record is created, the data is stored separately by the field and the field type, and the certificate is provided to the host one by one during the authentication. The 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 credentials varies depending on the access control record. The decision is made 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 the system does not use the credential chain data. Figure 21 shows the device credential A schematic diagram of a hierarchical structure for displaying different credential chains using a secure storage application for devices such as storage devices. The n different credential chains shown in Figure 21 are as follows: Α2·Device Root Credential Authorization Unit Credentials 520, device 1 voucher authorization unit (manufacturer) voucher 522 and device voucher 524; Β 2 · device root voucher authorization unit voucher 520, device n voucher authorization unit 122366.doc -65- 200822670 (manufacturer) voucher 526 and device voucher 528 The secure storage application cleavage system can be manufactured by In different manufacturers, each manufacturer has its own certificate of the voucher authorization unit. Therefore, it is used in the vouchers for a particular device. The public secret is signed by the manufacturer's private key, and then the manufacturer's public key is signed by the device's root certificate authority's private secret. The public secret of the device is verified. The mode is similar to the case of the public key of the host mentioned above. When the reef is used for the verification of the certificate chain A1 of the host, 'no transfer is required. The device root certificate authorizes the unit voucher, and the first voucher in the voucher chain needs to be transmitted by the device authorization unit (manufacturer) voucher, followed by the device voucher, i is an integer from ...;; In 16 cases, the device will submit two voucher i certificate authority (manufacturer) voucher, followed by its own device; the horse certificate. The device 1 voucher authorization unit (manufacturer) voucher is manufactured as: The manufacturer and the certificate providing the private secret to sign the public key of the device: When the device i certificate authority (manufacturer) certificate is received by the host, the host uses the root it owns The public key of the certificate authority unit is used to decrypt and verify the device i certificate authority (the public key is created. If the verification fails, the host is in the program), and the device is notified that the device has failed.徊 ‘ I % 2, 匕夭 作 又 又 又 又 又 鉴 鉴 鉴 鉴 鉴 鉴 鉴 鉴 主机 主机 主机 主机 主机 主机 主机 主机 主机 主机 主机 主机 主机 主机Then, the similar way 'transfers its own device to be verified by the host... The above verification program is also more detailed "and 23. In Figure 22 122366.doc -66 - 200822670 '" security service model "Group 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 code that is stored in memory 20 Or a database in a π ^ non-volatile memory (not shown) in the central processing unit 12, and is read from the central office at the center of the Τ Τ 敁 早 70 70 70 70 70 70 70 70 70 And as shown in Figure 22, there are three phases in the program, wherein the security service module system 542 in the device 1 identifies a host system 54. In the first public security verification phase, the primary (4) The system 54 transmits the security service module: the host credential chain to the security service module system 542. The security service group system 542 uses the host root certificate 548 located in the access control record 55 Root inside The credential authorization unit publicizes the key and verifies (block 55 checks the authenticity of the host credential 544 and the host public key 546. If an intermediate credential authorization unit between the root credential authorized unit and the host is involved 549 Then, at block 552, the intermediate voucher authorization unit 549 is also used for the cousin. If the verification or procedure (block 552) is successful, then the security service module system 542 proceeds to the second phase. The security service module system 542 generates a random number 554 and transmits the random number 554 as a challenge to the host system 54. The system 54 signs the random number 554 using the private key 547 of the system (block 556). And transmitting the signed random number as a response to the challenge. The response is decrypted using the host public key 546 (block 558) and compared to the random number 554 (block 560). Assuming the decryption The challenge response is successful in response to matching the random number 554. 122366.doc -67- 200822670 In the third phase, the random number 562 uses the host public key 546 to The random number 562 is then the session key. The host system 540 can decrypt (block 564) the encrypted random number 562 from the secure service module system 542 by using its private key. Obtaining the session key. With this session key, secure communication between the host system 540 and the security service module system 542 can then be initiated. Figure 22 shows a one-way asymmetric authentication. The host system 540 is authenticated by the security service module system 542 within the device 10. Figure 23 is a protocol diagram showing a two-way mutual authentication procedure similar to the one-way authentication protocol of Figure 22. The security service module system 542 in FIG. 23 is also authenticated by the host system 540. 24 is a diagram of a credential chain 590 in accordance with an embodiment of the present invention. 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 a system of its credential chain in the same order that the credential chain will be verified by the storage device at 122366.doc -68 - 200822670 . Thus, as shown in Figure 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 the host certificate. Thus, device 10 will first verify the public key in voucher 590(1), followed by the verification of the public key in voucher 590(2), and so on, until the host public key in voucher 590(9) It is verified. Next, this completes the verification process for the entire credential chain 590. Thus, if the host device transmits the credential chain 590 to the memory device 10 in the same order or sequence as the credential chain will be verified, the memory device 1 can begin verifying each of the voucheres as they are received. Credentials, without waiting until all nine credentials in the credential chain 590 have been received. Thus, in one embodiment, the host device transmits a credential in the credential chain 590 to the memory device 10 at a time. Next, the memory device 1 will have to store a single voucher at a time. After the voucher has been verified, it can be overwritten by a voucher sent by the host, except for the last voucher in the voucher chain. In this way, at any time, the memory device 1 需要 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. Therefore, preferably, the last voucher 59 (9) contains an indication or an indication that it is one of the last voucher in the voucher chain. This feature is shown in Figure 25, which shows a table of information for a control section that is transmitted by the host to the credential buffer of the memory device 10. As shown in Figure 25, the control section of voucher 590 (9) contains an argument name, "" is the 'flag' after 122366.doc • 69-200822670. Next, the memory device 10 can check by The "last" flag is set, and the verification voucher 590 (9) is the last voucher in the voucher chain to determine whether the received voucher is the last voucher in the voucher chain. In an alternate embodiment The voucher in the voucher chain 590 may not be transmitted one by one, but may be transmitted in groups containing one, two or three voucher. Obviously, groups or groups with other numbers of voucher may be used. The same number of credentials. Thus, the credential chain 590 contains 5 consecutive credential strings 591, 593, 595, 597, and 5 99. Each of the credential strings contains at least one credential. A continuous credential string contains the following The voucher string of the voucher: the voucher (starting voucher) of the voucher string immediately preceding the voucher string in the voucher chain; the voucher of the voucher string following the voucher string in the voucher chain (end) Voucher) All the voucher between the start voucher and the end voucher. For example, voucher string 593 contains three voucher 590 (2), 590 (3), and 590 (4). The five voucher strings are from the memory device. 10 is verified by the following sequence: 591, 593, 595, 597 and ending with 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 After the device has been verified, the device will not need to store any of the voucher strings, and all but the last voucher string can be overwritten by the next voucher string from the host. As in the previous implementation For example, it is expected that the last voucher in the voucher chain contains an indication such as a flag, which is set to a specific value to indicate that it is the last voucher in the voucher chain. In this embodiment, the memory The device will only need to reserve enough space to store the maximum number of credentials in the 5 certificate strings 122366.doc -70- 200822670. 5 The device 1 is intended to be transmitted only for the longest credentials, so if the host First of all The credential informs the longest string, the memory device 10 of the tandem enough space.

較佳地,由該主機所傳送 茨心θ且鏈内母一憑證的長度 不超過由該憑證所檢定的 間山瑜之長度的4倍。類似 地,較佳地,由該記障 體裝置10傳送至一主機裝置以檢定 戎自己憶體裝置之公開密鑰之馮 心的長度不超過由該憑證所 檢定的公開密鑰之長度的4倍。 上述用於,5 €鏈之驗證的實施例係顯示於圖26之流程圖 之中’其中,對於簡化起見,於每__群組㈣憑證數量係 假設為i。如示於圖26,該主機係循序傳送該憑證鍵内之 憑證至該卡 根憑證之後的憑證, 自正被鑑認之該主機 以該憑證鏈内之第一憑證(典型地,接在該 如上文所述)開始,該卡循序接收來 的憑證鏈(方塊602)。接著,該卡係驗Preferably, the length of the token θ transmitted by the host and the length of the token in the chain does not exceed 4 times the length of the sacred mountain determined by the certificate. Similarly, preferably, the tagging device 10 transmits to a host device to verify that the length of the public key of the self-remembering device does not exceed 4 of the length of the public key verified by the voucher. Times. The above-described embodiment for verification of the 5 € chain is shown in the flow chart of Fig. 26 wherein, for the sake of simplicity, the number of vouchers per __group (four) is assumed to be i. As shown in FIG. 26, the host sequentially transmits the voucher in the voucher key to the voucher after the voucher voucher, and the host is authenticated as the first voucher in the credential chain (typically, Beginning as described above, the card sequentially receives the credential chain (block 602). Then, the card is checked

證每一接收到的憑證,且假如任一憑證係驗證失敗,則中 止该程序。假如該等憑證之任一驗證失敗,則該卡通知該 主機(方塊604、606)。接著,該卡係偵測是否最後一憑證 已經被接收及驗證(菱形608)。假如最後一憑證尚未被接收 及驗證,則該卡返回方塊6〇2,以繼續接收及驗證來自該 主機的憑證。假如最後一憑證已經被接收及驗證,則該卡 在憑證驗證之後,進行至下一階段(610)。雖然圖26及以下 後續圖内之特徵係引用記憶體卡作為範例,應瞭解的是, 這些特徵係亦可應用於具有非記憶體卡之實體形式之記憶 體裝置。 122366.doc -71- 200822670 當該卡正在鑑認該主機時由該主機所實施之程序係顯示 於圖27。如示於圖27’該主機傳送該憑證鏈内下—憑證至 該卡(方塊620),典型地係以一接在該根憑證之後的憑證開 始。接著,該主機係決定是否已經接收到來自該卡之一指 示鑑認失敗的中止通知(菱形622)。假如已經接收一中止通 知,則該主機停止(方塊624)。假如尚未接收一中止通知, 則該主機係藉由檢查是否已經於被傳送之最後一憑證中設 『 定”為最後的旗標",而檢查看看是否已經傳送該憑證鏈内 " 最後一憑證(方塊626)。假如已經傳送最後一憑證,則在憑 也驗也之後,该主機進行至下一階段(方塊628)。如示於圖 22及23下隖&可以係一挑戰回應,其後係接著會期密 鑰建立。假如尚未傳送該憑證鏈内最後一憑證,則該主機 返回方塊620,以傳送該憑證鏈内下一憑證。 當該卡正被鑑認時由該卡及該主機所採取的動作係顯示 於圖28及29。如示於圖28 ’在開始之後,該卡係等待一來 I 自該主機的請求,以傳送該憑證鏈内之一憑證(方塊63〇、 菱形632)。假如未接收到來自該主機的一請求,則該卡將 返回菱形632。假如接收到來自該主機的一請求,則該卡 接著將傳送該憑證鏈内下一憑證,其係以應該被傳送之第 憑也開始(典型地,以接在該根憑證之後的憑證開始)(方 塊634)。該卡決定是否已接收到而來自該主機的一失敗通 去(方塊636)。假如已接收到一失敗通知,則該卡停止(方 塊637)。假如未接收到任何失敗通知,則該卡決定是否已 傳送最後一憑證(菱形638)。假如尚未傳送最後一憑證,則 122366.doc -72- 200822670 該卡返回菱形632且等待直到其接收來自該主機的下一請 求為止,以用於傳送該憑證鏈内之下一憑證。假如已傳送 最後一憑證,則該卡係進行至下一階段(方塊639)。 圖29顯示當該卡係正在被鑑認時,該主機所採取之動 作。該主機傳送對於該憑證鏈内之下一憑證之請求至該 卡,其係以對於將被傳送之第一憑證的請求開始(方塊 640)。接著,該主機驗證每一接收到的憑證,且假如驗證 失敗,則中止該程序且通知該卡(方塊M2)。假如驗證通 過,則該主機檢查看看是否已接收且成功地驗證最後一憑 證(菱形644)。假如尚未接收及成功地驗證最後一憑證,則 該主機返回方塊640,以傳送一對於該憑證鏈内下一憑證 之請求。假如已接收及成功地驗證最後一憑證則在憑證 驗證之後,該主機進行至下一階段(方塊646)。 憑證廢止 當發佈一憑證時,期望於其整個有效期間被使用。然 而,各種情況可能導致一憑證在有效期間到期之前變成'無 效的。此類情況包含名稱改變,主題與憑證授權單位之; 之關聯性改變(例如’一員工終止與一組織之雇用關係): 及危及或懷疑危及對應的私有密鑰。於此類情況下,該噚 證授權早位係需要廢止該憑證。 ;^ 安全儲存應用程式係以不同的方式啟用憑證廢止,每一 存取控制記錄可被組態以用於一用於廢止憑證之特定方 法。一存取控制記錄可被組態成不支援一廢止方案。於此 情況下,# -憑證係被認為有效的,直到其之到期日期為 122366.doc -73 - 200822670 止。或者可採用憑證廢止清單。作為又另一替代方式,該 2止方案可特定用於—特別的應用程式,或者應用程式特 疋的其係將於下文說明。一存取控制記錄係藉由指定一 廢止值,而指定三種廢止方案中被採用的廢止方案。假如 -存取控制記錄被建立成不具有廢止方案,則對於其而 厂採用-能夠被該存取控制記錄擁有者啟動的廢止方案 係可能的。記憶體裝置憑證之廢止係由該主機予以強制實 :’而非由該安全儲存應用程式安全性系統予以強制實 行…存取控制記錄擁有者負責管理—主機根憑證的廢 止,藉由主機根憑證而實施之機制係藉由更新該等存取控 制記錄的憑證而實施。 憑證廢止清單(CRL) 、该安全儲存應用程式系統使用一廢止方案,其係牵涉到 週期性發佈一稱為一憑證廢止清單之經簽名資料結構之每 一憑證授權單位。一憑證廢止清單係一時間戮記清單,盆 識別由一憑證授權翠位(發佈討論中的憑證之相同憑證授 權單位)所簽名之經廢止憑證,且實施成可由公眾所自由 使用。每-經廢止憑證係藉由其憑證序號而於一憑證廢止 清單中予以識別。該憑證廢止清單的大小係任意的,且係 取決於經廢止的未到期憑證之數量。當一裝置使用一憑證 (例如’用於驗證一主機的身份)時,該裝置不僅檢查該憑 證簽名(及有效性)’而且亦比對透過一憑證廢止清單接收 之序號清單而驗證該憑證。假如於發佈該憑證的憑證授權 早位所發佈之憑證廢止清單上找到一諸如一憑證之序號的 122366.doc -74- 200822670 識別,則此係指示該等憑證係已經被廢止且不再有效。 該憑證廢止清單亦將需要被驗證為真實的,以使其作為 確認憑證之目的。憑證廢止清單係使用發佈該憑證廢止清 單的憑證授權單位的私有密鑰予以簽名,且可藉由使用該 憑證授權單位的公開密鑰解密該經簽名的憑證廢止清單而 被驗證為真實的。假如該經解密的憑證廢止清單匹配該未 經簽名的憑證廢止清單之摘要,則此係意謂該憑證廢止清 單係未曾被竄改且係真實的。憑證廢止清單係通常使用一 ' 雜湊演算法而被雜湊,以獲得其之摘要,且該等摘要係藉 由該憑證授權單位的私有密鑰予以加密。為了驗證是否一 憑證廢止清單係有效的,該經簽名的憑證廢止清單(亦 即,經雜湊及經加密的憑證廢止清單)係使用該憑證授權 單位的公開密鑰予以解密,以得出一經解密及經雜湊的憑 證廢止清單(亦即,該憑證廢止清單的一摘要)。接著,其 係與該經雜湊的憑證廢止清單比較。因此,該驗證程序可 時常牵涉到雜湊該憑證廢止清單以用於與經解密及經雜湊 i 的憑證廢止清單相比較的步驟。 該等憑證廢止清單方案的特性之一係,該憑證(對於該 憑證廢止清單)之確認可與獲得該憑證廢止清單分開實 施。憑證廢止清單係亦由適切的憑證之發行者予以簽名, 且係以上述之方式,使用發佈該等憑證廢止清單之憑證授 權單位的公開密鑰,以一類似於憑證驗證之類似方式來驗 證憑證廢止清單。該記憶體裝置驗證該簽名係屬於該憑證 廢止清單且該憑證廢止清單之發行者匹配該憑證之發行 122366.doc -75- 200822670 者。該憑證廢止清單方案之另一特性係,可藉由完全相同 於該等憑證本身的手段散佈憑證廢止清單,亦即,經由不 受信任的伺服器及不受信任的通訊。憑證廢止清單及其之 特性係詳細說明於X.5〇9標準之中。 憑證廢止清單之安全儲存應用程式基礎架構 安全儲存應用裎式使用該憑證廢止清單方案而提供一用 於主機廢止之基礎結構。當以憑證廢止清單廢止方案鑑認 一 RSA為基礎的存取控制記錄時,該主機係將作為一額外 的欄位之一憑證廢止清單(假如發行者憑證授權單位未廢 止任何憑證,則可能為一空的憑證廢止清單)加入至一集 合憑證命令之中。此欄位將含有一由該憑證的發行者所簽 名之憑證廢止清單。當此欄位係存在時,該記憶體裝置10 首先驗證該集合憑證命令内的憑證。獲得及存取該憑證廢 止清單存放庫(repository)係完全為該主機之責任。憑證廢 止清單係於其為有效期間的時期(憑證廢止清單到期時期 (CET)而發佈。於驗證期間,假如目前的時間係被發現為 不在此時期内,則該憑證廢止清單係被認為有缺陷的,且 不能夠被用於憑證驗證。接著,結果係該憑證的鑑認失 敗。 於傳統的憑證驗證方法中,該鑑認或驗證實體被期望持 有憑證廢止清單或能夠自憑證授權單位(CA)擷取憑證廢止清 單,且比對該清單以檢查提交用於鑑認之憑證的序號,以 決定是否所提交的憑證係已經被廢止。在鑑認或驗證實體 係一記憶體裝置之情況下,該記憶體裝置係可能尚未被使 122366.doc -76- 200822670 用於自己自憑證授權單位擷取憑證廢止清單。假如一憑證 廢止清單係預先儲存於該裝置内,則此類清單係可變成過 期的’使付在该女裝日期之後所廢止的憑證將不出現於該 清單上。此將使使用者能夠使用一經廢止憑證存取該儲存 裝置。此係不期望的。 在一項實施例中,可藉由一種系統來解決上述問題,其 中,想要被鑑認之實體提交一憑證廢止清單連同將被鑑認 之憑證給該鑑認實體,該鑑認實體可以係一記憶體裝置 1 〇。該鑑認實體接著驗證接收到之憑證及憑證廢止清單的 真實性。该鑑認實體藉由檢查是否該憑證之識別(諸如該 憑證之序號)係出現於該憑證廢止清單上,而檢查是否該 憑證係於該憑證廢止清單上。 鑑於上述内容,一非對稱鑑認方案可被用於介於一主機 裝置與記憶體裝置10之間的相互鑑認。想要對於該記憶體 裝置10而被鑑認之該主機裝置係將需要提供其憑證鏈及對 應的憑證廢止清單。另一方面,主機裝置係已經被用於連 接至憑證授權單位以獲得憑證廢止清單,使得當記憶體裝 置10係將被主機裝置予以鑑認時,該記憶體裝置不需要將 憑證廢止清單連同其憑證或憑證鏈提交給該等主機裝置。 近年來,係有擴大數量之不同類型可用於播放内容的可 攜式裝置,諸如不同内建的或獨立的音樂播放機、—3播 放機、行動電話、個人數位助理及筆記型電腦。雖然連接 此類裝置至全球網路(WWW)以自憑證授權單位存取憑證 驗證清單係可能的,然而典型地,許多使用者非每天連接 122366.doc -77- 200822670 才連接至b疋獲得新的内容或更新訂購(諸如每幾週) 地自一二因此’對於此類使用者而言,必須更頻繁 此類::者位獲得憑證廢止清單可能係麻煩的。對於 貞使用者而言’可於該儲存裝置本身之—較 濩區域中儲存該憑證廢止清單及:又” 、用之將需要被提$ =儲存裝置以存取受健时之主❹證。Each received certificate is verified, and if any of the certificates fails verification, 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 (610) after the voucher is verified. Although the features in Figure 26 and the following figures refer to memory cards as an example, it should be understood that these features can also be applied to memory devices having a physical form other than a memory card. 122366.doc -71- 200822670 The program implemented by the host while the card is authenticating the host is shown in Figure 27. As shown in Figure 27', the host transmits the voucher 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 indicating that the authentication failed has been received. If an abort notification has been received, the host stops (block 624). If an abort notification has not been received, the host checks to see if the final flag has been set in the last voucher being transmitted, and checks to see if the voucher chain has been transmitted. A voucher (block 626). If the last voucher has been transmitted, then the host proceeds to the next stage (block 628). As shown in Figures 22 and 23, &#; Then, the session key is established. If the last voucher in the voucher chain has not been transmitted, the host returns to block 620 to transmit the next voucher in the voucher chain. The card is authenticated when the card is being authenticated. And the actions taken by the host 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. Should be The transmission begins (also typically begins with a credential following the root credential) (block 634). The card determines whether a failure has been received from the host (block 636). If received Upon a failure notification, the card is stopped (block 637). If no failure notification is received, the card determines whether the last certificate has been transmitted (diamond 638). If the last document has not been transmitted, then 122366.doc -72 - 200822670 The card returns to diamond 632 and waits until it receives the next request from the host for transmitting the next voucher in the voucher 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, which is for the The request for the first credential begins (block 640). Next, the host verifies each credential received, and if the verification fails, the program is aborted and the card is notified (block M2). If so, the host checks to see if the last credential has been received and successfully verified (diamond 644). If the last credential has not been received and successfully verified, the host returns to block 640 to transmit an inbound for the credential chain. A request for a voucher. If the last voucher has been received and successfully verified, the host proceeds to the next stage after verification of the voucher (block 646). Voucher Revocation When a voucher is issued, it is expected to be used throughout its validity period. However, various circumstances may result in a voucher becoming 'invalid' before the expiration of the validity period. Such cases include name changes, subject-matter and certificate authority units; and association changes (eg 'one employee terminates an employment relationship with an organization') : and endanger or suspect that the corresponding private key is compromised. 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. In this case, the #-voucher is considered valid until its expiration date is 122366.doc -73 - 200822670. Alternatively, a voucher revocation list can be used. As yet another alternative, the two-way scheme may be specific to a particular application, or the features of the application features will be described below. An access control record specifies the abolition scheme used in the three abolition schemes by specifying an abolition value. If the access control record is established to have no abolition scheme, then it is possible for the factory to adopt an abolition scheme that can be initiated by the access control record owner. The abolition of the memory device credentials is enforced by the host: 'not enforced by the secure storage application security system... the access control record owner is responsible for management - the abolition of the host root credentials, with the host root certificate The mechanism of implementation is implemented by updating the credentials of the access control records. The Credential Revocation List (CRL), which uses an abolition scheme, 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 time-stamped 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-deactivated 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., 'for verifying 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 voucher for issuing the voucher authorizes the identification of a document such as a voucher number 122366.doc -74-200822670 identified on the voucher revocation list issued earlier, 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 confirming 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 digests are encrypted by the private key of the voucher authority. 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 issue of the voucher 122366.doc -75- 200822670. 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.5〇9 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 an RSA-based access control record is authenticated by the voucher revocation list abolition scheme, the host system will act as one of the additional fields for the voucher revocation list (if the issuer certificate authority does not revoke any voucher, it may be An empty voucher revocation list is added to a set of voucher commands. This field will contain a list of vouchers that are signed by the issuer of the voucher. When this field is present, the memory device 10 first verifies the credentials within the set of credentials 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, 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 (CA) extracting 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 authentication or verification system, a memory device In this case, the memory device may not have been used by 122366.doc -76- 200822670 for self-certification authority to retrieve the certificate revocation list. If a voucher revocation list is pre-stored in the device, such a list is A voucher that can become expired will not appear on the list after the date of the women's wear. This will enable the user to use the waste. The voucher accesses the storage device. This is undesirable. In one embodiment, the above problem can be solved by a system in which an entity that is to be authenticated submits a voucher revocation list along with the identification to be authenticated. The voucher is given to the authenticating entity, and the authenticating entity can be a memory device 1. The authenticating entity then verifies the authenticity of the received voucher and the 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 if the voucher is on the voucher revocation list. In view of the above, an asymmetric authentication scheme can be used between a host device and memory. Mutual authentication between the body devices 10. The host device that is to be authenticated for the memory device 10 will need to provide its credential chain and corresponding voucher revocation list. On the other hand, the host device has been used. Connecting 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 certificate revocation list is submitted to the host devices along with its voucher or voucher chain. In recent years, there have been an expanded number of different types of portable devices that can be used to play content, such as different built-in or stand-alone music players, -3 Players, mobile phones, personal digital assistants, and notebook computers. Although it is possible to connect such devices to the World Wide Web (WWW) to access the voucher verification list from a voucher authority, typically many users do not connect daily. 122366.doc -77- 200822670 Only connect to b疋 to get new content or update order (such as every few weeks) from one or two so 'for such users, it must be more frequent:: Abolishing the list may be cumbersome. For the user, 'the storage device itself can be stored in the lower area and the voucher revocation list and: ", and it will need to be raised $ = storage device to access the The key to the health of the time.

儲存裝置(例如快閃記憶體)之中,該等儲存裝置之未受仵 護區域係由主機裝置所管理,而非該等储存裝置自己所管 理。以此方式,對於該使用者(至該主機裝置)而言,不需 要必須連接至該網路,以獲得更多最新的憑證廢止清單。 該主機裝置係可以僅自該儲存裝置之不安全區域掏取此類 貝訊’且接著轉向及提交此類憑證及清單給該健存器或記 憶體裝置’以存取該儲存裝置内受保護内容。因為用於存 取受保護内容的憑證及其對應的憑證廢止清單典型地係於 某時期為有效的,所以只要其係仍然有效的,則該使用者 將不需要獲得最新的憑證或憑證廢止清單。上述特徵使使 用者能夠於相當長的期間當該憑證及憑證廢止清單皆為有 效時,方便存取該憑證及憑證廢止清單,而不需要連接至 該憑證授權單位,以用於經更新資訊。 上述程序係顯示於圖30及31之流程圖之中。如示於圖 3〇,該主機24自該記憶體裝置10之不安全公開區域讀取關 於该主機將提交給該記憶體裝置以用於鑑認之一憑證的憑 證廢止清單(方塊652)。因為該憑證廢止清單係儲存於該記 憶體之一不安全區域,所以在該憑證廢止清單能夠被該主 122366.doc -78- 200822670 機獲知之則,係不需要鑑認。因為該憑證廢止清單係儲存 於該記憶體裝置之公開區域,所以該憑證廢止清單的讀取 係受到該主機裝置24控制。接著,該主機傳送憑證廢止清 單連同將被驗證之憑證至該記憶體裝置(方塊654),且進行 至下一階段’除非其接收來自該記憶體裝置1 0之一失敗通 知(方塊656)。參照圖31,該記憶體裝置係接收來自該主機 的憑證廢止清單及憑證(方塊658),且檢查是否該憑證之序 號係於該憑證廢止清單上(方塊660),以及其他方面(例 如,是否該憑證廢止清單係已經過期)。假如於該憑證廢 止清單上找到該憑證之序號或者因其他理由而失敗,則該 記憶體裝置傳送一失敗通知給該主機(方塊662)。以此方 式,不同的主機可獲得儲存於該記憶體裝置之公開區域内 的憑證廢止清單,原因係相同的憑證廢止清單可被用於不 同主機的鑑認。如上文所述,為了使用者方便,將使用該 憑證廢止清單而被驗證之憑證較佳地係亦可以與該憑證廢 I 止清單一起儲存於記憶體裝置1〇之一不安全區域内。然 而該心係可用於僅由該憑證被發佈之該主機對於記憶 體裝置之鑑認。 在該憑證廢止清單係於其欄位内含有一用於下一更新時 間之情況下,如示於圖32,於裝置10内的安全儲存應用程 式係亦對照此時間而檢查目前時間,以看看是否目前時間 係於此時間之後;假如其係如此,則鑑認亦失敗。因此, 車乂佳地,該安全儲存應用程式對照目前的時間(或者對照 孩憑證廢止清單被該記憶體裝置10接收到的時間)檢查下 122366.doc -79- 200822670 一更新的時間以及憑證廢止清單到期時期。 為費時的。申請人係體認到:可藉由隨著該憑證廢止清單 之部分被接收時(迅速地)予以處理及搜尋而迅速執行該程 序’使得當該憑證廢止清單之最後_部分被接收時,該程 序係即將完成。 如士文所述,假如該憑證廢止清單含有長經廢止憑證識 別清皁,則處理(例如雜湊)及搜尋清單中是否有由該主機 提交之憑證的序號可能花費—段長時間,特別是在職理 及搜尋係依序實施之情況τ。因此,丨了加速該程序,處 理及搜尋係可㈣日幢m者,假如整㈣證廢止清 單在其被處理及搜尋之前需要被接收,則該程序係亦可以Among the storage devices (e.g., flash memory), the unprotected areas of the storage devices are managed by the host device rather than being managed by the storage devices themselves. In this way, it is not necessary for the user (to the host device) to be connected to the network to obtain more up-to-date voucher revocation lists. The host device may only retrieve such a beacon from the unsecured area of the storage device and then redirect and submit such credentials and lists to the health or memory device to access the protected device. content. Because the credentials used to access the protected content and their corresponding voucher revocation list are typically valid for a certain period of time, the user will not need to obtain the most recent voucher or voucher revocation list as long as the system is still valid. . The above features enable the user to conveniently access the voucher and voucher revocation list for a relatively long period of time when the voucher and voucher revocation list are valid, without the need to connect to the voucher authority for updated information. The above procedure is shown in the flowcharts of Figs. As shown in Figure 3, the host 24 reads from the unsecure open area of the memory device 10 a certificate revocation list that the host will submit to the memory device for authenticating one of the credentials (block 652). Since the voucher revocation list is stored in an unsafe area of the memory, it is not required to be authenticated if the voucher revocation list can be known by the main machine. 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. Next, the host transmits a voucher revocation list 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 10 (block 656). Referring to Figure 31, the memory device receives a 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 (e.g., whether The voucher revocation list has expired). If the serial number of the voucher is found on the voucher revocation list or fails for other reasons, the memory device transmits a failure notification to the host (block 662). In this way, different hosts can obtain a list of voucher revocations stored in the public area of the memory device, since the same voucher revocation list can be used for identification by different hosts. As described above, for the convenience of the user, the certificate to be verified using the voucher revocation list may preferably be stored in the unsafe area of the memory device 1 together with the voucher list. However, the system can be used for authentication of the memory device by the host that is only issued by the voucher. In the case where the voucher revocation list is included in the field for the next update time, as shown in FIG. 32, the secure storage application system in the device 10 also checks the current time against the time to see See if the current time is after this time; if it is, then the recognition will also fail. Therefore, in a good manner, the secure storage application checks the time of the update 122366.doc -79-200822670 and the abolition of the voucher against the current time (or the time received by the memory device 10 against the child voucher list). The expiration date of the list. It is time consuming. The applicant system recognizes that the procedure can be quickly executed by processing (searching for and expediting) the portion of the voucher when it is received, so that when the last part of the voucher revocation list is received, The program is about to be completed. As stated in the article, if the voucher revocation list contains long-term abolition voucher identification, it is possible to process (eg, hash) and search the list for the serial number of the voucher submitted by the host. The situation and implementation of the search system are τ. Therefore, in order to speed up the process, the processing and search system can (4) the day building m. If the whole (four) certificate abolition list needs to be received before it is processed and searched, the program can also

圖33及34係顯示上述廢止方案之特徵。於該鑑認實體 (例如,-諸如-記憶體卡之記憶體裳置)處,自想要被鑑 邊之實體接收憑證及憑證廢止清單(方塊7〇2)。未經加密的 憑證廢止清單之部分被處理(例如雜湊)並且同時搜尋此等 部分中是否有所提交之憑證的識別(例如,序號)。該等經 處理的(例如經雜湊的)憑證廢止清單部分被編譯成為一經 雜湊的完整憑證廢止清單,其係與該完整經解密及經雜凑 的憑證廢止清單相比較,該完整經解密及經雜湊的憑證廢 止清單係由編譯自想要被鑑認之實體接收之該等部分的經 解岔憑證廢止清單部分而形成。假如該比較係指示該比較 中無匹配,則鑑認係失敗。該鑑認實體亦對照目前的時間 來檢查下—更新㈣間以及憑證廢止料到期時期(方塊 706 708)。俶如於该憑證廢止清單上找到所提交的憑證 122366.doc 200822670 之識別,或者假如目前的時間禆不力兮巧 了间你不在δ亥憑證廢止清單到期 時期之内,或者假如已超過下一争蕲,%游,士 ’ 〜、卜更新憑證廢止清單之時間 (方塊710),則鑑認亦失敗。於一些實施方式中,儲存用於 編譯之該等經祕紐廢止清單部分及該等級解密雜凑憑 證廢止清單部分可不需要大量的記憶體空間。 、〜Figures 33 and 34 show the features of the abolition scheme described above. At the authentication entity (e.g., - such as a memory card memory), the voucher and voucher revocation list is 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) voucher revocation list portion is compiled into a hashed complete voucher revocation list that is compared to the complete decrypted and hashed voucher revocation list, the complete decrypted and The hashed vouchers list is formed by the portion of the revoked vouchers that are compiled from the portions of the entity that are to be authenticated. If the comparison indicates that there is no match in the comparison, the authentication system fails. The authenticating entity also checks the next-update (four) and the expired maturity period (block 706 708) against the current time. For example, the identification of the submitted voucher 122366.doc 200822670 is found on the voucher revocation list, or if the current time is not good enough, you are not within the expiration date of the o'clock certificate revocation list, or if the next time has expired The dispute, % tour, and the time when the certificate is abolished (block 710), the authentication also fails. In some embodiments, the portion of the quarantine list that is stored for compilation and the portion of the cryptographic vouchers that are decrypted may not require a large amount of memory space. , ~

當一實體(例如,該主機)想要被鑑認,其將傳送其憑證 及憑證廢止清單給該鑑認實體(方塊722),且進行至下一階 段(方塊7 2 4)。此係顯示於圖3 4。 假如該實體係提交一用於鑑認之憑證鏈,則可實施一類 似於上述之程序。於此事件中,將需要對於該憑證鏈内每 一憑證連同其對應的憑證廢止清單重複上述程序。每一憑 證及其憑證廢止清單係可隨著其被接收時予以處理,而不 需要等待接收該憑證鏈中之其餘憑證及其對應的憑證廢止 清單。 身份物件(IDO) 身份物件係一受保護物件,其係設計成允許諸如一快閃 圯憶體卡之該記憶體裝置1〇儲存一 RSA密鑰對或其他類型 氆碼編譯ID。該身份物件包含任何類型密碼編譯m,其可 被用於簽名及驗證身份、以及加密及解密資料。該身份物 件亦包含一來自一憑證授權單位的憑證(或者來自多個憑 迅授權單位的一憑證鏈),以檢定該密鑰對内之公開密鑰 為真實的。該身份物件可被用於提供一外部實體或一内部 卡實體(亦即,該裝置本身、一内部應用程式等等,稱為 遺身份物件之擁有者)之身份證明。因此,該卡非正在透 122366.doc -81- 200822670 ( 過一挑戰回應機制使用該RSA密鑰對或其他類型密碼編譯 ID以鑑認該主機,而是透過簽名提供給其之資料流而作為 身份證明。換句話說,該身份物件係含有其擁有者的密碼 編譯ID。為了存取該身份物件内的密碼編譯,該主機將 首先需要被鑑認。如上文所述,該鑑認程序係受控於一存 取控制記錄。在該主機係已經被成功鑑認之後,該身份物 件擁有者可使用該密碼編譯ID來建置該擁有者對於另一當 事人之身份。舉例而言,該密碼編譯ID(例如,一公開-私 有密鑰對之私有密鑰)可被用於簽名由其他當事人透過該 主機提交之資料。該經簽名的資料及該身份物件内之憑證 係代表該身份物件之擁有者提交給其他當事人。由一憑證 授權單位(亦即,一受信任的授權單位)檢定該憑證内 公開-私有密鑰對之公開密鑰為真實的,使得其他當事人 可信任該公開密鍮為真實的^接著’其他當事人可使用該 憑證内之該公開密鑰來解密該經簽名的資料,且比較⑽ 解密的資料與由其他當事人所傳送之資料。假如該經解: 的資料匹配於由其他當事人所傳送之資料,則此係顯示該 身份物件之擁有者係真的具有存取該真實的私有密瑜之權 利,且因而其代表之實體係真實的。 該身份物件之-第二用途係使用該密碼編譯諸如該 隐密鑰本身)來保護指^給該身份物件之擁有者之資料。 该貧料係期望使用該身份物件公開密輪而被加密。諸如一 =憶體卡之該記憶體裝置10將使用該私有密錄來解密該資 122366.doc -82- 200822670 之物杜。物件係—可對於任何類型存取控制記錄予以建立 身产物/I項實施例中,一存取控制記錄可具有僅-個 i 胃讀簽名及保護特徵兩者係該安全儲存應用程When an entity (e.g., the host) wants to be authenticated, it will transmit its voucher and voucher revocation list to the authenticating entity (block 722) and proceed to the next stage (block 7 2 4). This is shown in Figure 34. If the real system submits a credential chain for authentication, a procedure similar to that described above can be implemented. 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. Identity Object (IDO) An identity object is a protected object that is designed to allow a memory device, such as a flash memory card, to store an RSA key pair or other type of weight compilation ID. The identity object contains any type of cryptographic compilation m that can be used to sign and verify identity, as well as encrypt and decrypt data. The identity object also contains a voucher from a voucher authority (or a voucher chain from a plurality of trusted authorities) to verify that the public key within the pair is authentic. The identity object can be used to provide identification of an external entity or an internal card entity (i.e., the device itself, an internal application, etc., known as the owner of the legacy identity object). Therefore, the card is not transparent to 122366.doc -81- 200822670 (a challenge response mechanism uses the RSA key pair or other type of password to compile the ID to authenticate the host, but instead uses the signature to provide the data stream to it as In other words, the identity object contains the cryptographic ID of its owner. In order to access the cryptographic compilation within the identity object, the host will first need to be authenticated. As described above, the authentication program is Controlled by an access control record. After the host system has been successfully authenticated, the identity object owner can use the password to compile the ID to establish the identity of the owner for another party. For example, the password The compiled ID (eg, a private key of a public-private key pair) can be used to sign information submitted by other parties through the host. The signed material and the credentials in the identity object represent the identity object. The owner submits to the other party. The certificate authority (ie, a trusted authority) verifies that the public key of the public-private key pair in the certificate is true. So that other parties can trust the public key to be true ^ then 'other parties can use the public key in the voucher to decrypt the signed material, and compare (10) the decrypted material with the other party If the information of the solution matches the information transmitted by other parties, it means that the owner of the identity object really has the right to access the real private secret, and thus the entity it represents The authenticity of the identity object - the second use of the password is used to compile the information such as the secret key itself to protect the owner of the identity object. The poor material is expected to be encrypted using the identity object to disclose the secret wheel. The memory device 10, such as a memory card, will use the private secret record to decrypt the object of the asset 122366.doc-82-200822670. Object system - can be established for any type of access control record. In the embodiment of the product / I, an access control record can have only - i stomach read signature and protection features are both secure storage applications

\ H供、"任何旎夠鑑認該存取控制記錄的實體之服 L 4身伤物件之保護等級係與該存取控制記錄之登入鑑 認f案―樣高。對於經繫結以具有—身份物件之-存取控 *表可&擇任何鑑認演算法。由建立者(主機)決定及 評㈣一、演算法可最佳地保護該身份物件使用方式。一具 有身伤物件之存取控制記錄提供其憑證鏈,以回應於一 獲得該身份物件公開密鑰之命令。 當正在使用該身份物件以進行資料保護時,自該卡輸出 的經解密的資料係可能需要進一步的保護。於此情況下, 该主機係被鼓勵使用一透過可用之鑑認演算法之任一者所 建置之安全通道。 田建立忒身份物件時,選擇密鑰長度以及PKCS#1版 本於一項實施例中,公開密鑰及私有密鑰正在使用如 PKCS#1 2.1版本定義之(指數,模數)表示。 於一項實施例中,於一身份物件建立期間所包含之資料 係具有所選長度的RSA密鑰對以及一憑證鏈,其係迁迴地 證明該公開密鑰之真實性。 擁有該身份物件之存取控制記錄將允許使用者資料的簽 名。此係透過兩個安全儲存應用程式命令而實施: •設定使用者資料··提供一將被簽名之自由格式之資料緩 衝區。 122366.doc -83- 200822670 •獲得安全儲存應用程式簽名:該卡將提供一RSA簽名 (使用該存取控制記錄私有密鑰)。取決於該物件之類型, 可根據PKCS#1 1.5版本或2.1版本來設定該簽名的格式及 大小。 使用一身份物件之操作係顯示於圖3 5至3 7,其中,該記 憶體裝置10係一快閃記憶體卡,且該卡係該身份物件之擁 有者。圖35係顯示一由該卡簽名傳送給一主機之資料所實 施之程序。參照圖35,在一主機被鑑認之後(方塊8〇2),如 由上述一樹狀結構之一節點處之一存取控制記錄所控制, 該卡係等待用於一憑證之一主機請求(菱形8〇4)。在接收該 請求之後,該卡傳送該憑證,且返回菱形8〇4,以用於下 一主機請求(方塊806)。假如需要傳送一憑證鏈以檢定由該 卡所擁有之該身份物件的公開密鑰,則重複上述動作,直 到該憑證鏈内所有憑證已經被傳送至該主機。在每一憑證 已經被傳送至該主機之後,該卡等待來自該主機之其:命 令(菱形_)。假如於-預設時期期間内未接收到來自該主 機的命令’則該卡返回菱⑽4β於接收來自該主機的資 料及-命令時’該卡檢查以看看是否該命令係用於簽名資 料(菱形8Η))。假如該命令係用於簽名資料,則該卡係以該 身份物件内之該私有密鑰簽名該資料’且接著傳送該經簽 名的資料至該主機(方塊812)’且返回菱形8〇4。假如來自 該主機的命令係非用於簽名來自該主機的資料,則該卡使 用該身份物件内之該私有㈣,以解密該接收到的資料 (方塊814),且返回菱形8〇4。 122366.doc -84 - 200822670 圖3 6顯示在該卡簽名之資料傳送給該主機時由該主機所 實施之程序。參照圖36,該主機傳送鑑認資訊給該卡(方 塊822)。在如上文之一樹狀結構之一節點處之一存取控制 記錄所控制之成功鑑認之後,該主機傳送請求至該卡以用 於憑證鏈,且接收該憑證鏈(方塊824)。在已經驗證該卡之 忒公開密鑰之後,該主機傳送資料給該卡以用於簽名,且 接收藉由該卡之私有密鑰所簽名之資料(方塊8 2 6)。 圖37係顯示當該主機使用該卡之公開密鑰解密資料且傳 迗該經解密的資料至該卡時由該主機所實施之程序。參照 圖37,该主機傳送鑑認資訊給該卡(方塊%2)。在成功實施 由存取控制圮錄控制之鑑認之後,該主機傳送請求給該 卡,以要求憑證鏈(方塊864),該憑證鏈係驗證該身份物件 内該卡的公開密鑰所需的,且傳送請求至該卡,以要求資 料。在已驗證該身份物件内之該卡的該公開密鑰之後,該 主機使用該卡之經驗證公開密鑰來加密來自該卡的資料, 且傳送其至該卡(方塊866、868)。 查詢 主機及應用程式係需要持有關於其正一起工作以執行系 統操:之記憶體裝置或卡的某些資訊。舉例而言,主機及 應用程式可需要知道儲存於該記㈣卡上㈣些應用程式 係可供調用(―)。該主機所需之資訊有時候不是公 =的知識’其係意謂並非每—實體係具有擁有它的權利。 :了鏗別經授權與未經授權之使用者,需要提供—主機可 使用之兩種問方法。 122366.doc -85- 200822670 一般資訊查詢 此查詢公佈系統公開資訊,而1 …、限制儲存於該等記憶 體裝置内之機密資訊包含兩個部分.# m * 丨U 口丨刀·一共用部分及一非共 用部分。該機密資訊的一部分包含可以對於個別實體為專 屬的資訊,使得每-實體應被允許僅存取其自己的專屬資 訊,而不能夠存取其他實體的專屬機密資訊。此種機密資 訊類型係不被共用,且形成該機密資訊的未共用部分。 通常被想成公開的某些資訊於某些情況下係可能被認為 機密的’諸如駐留於該卡内的應用程式之名稱及其生命週 期狀態。此之另-範例可係、根存取控制記錄名冑,其被認 為公開#,然而對於某些安全儲存應用程式使用情況而言 可以係機密的。對於這些情況而言,肖系統應回應於一般 貝訊查詢而提供一選項,保持此資訊僅能由所有經鑑認的 使用者使用,然而係不能被未經鑑認的使用者使用。此類 資訊構成該機密資訊的共用部分。該機密資訊的共用部分 的一範例可包含一根存取控制記錄清單,即目前出現於該 裝置上的所有根存取控制記錄的清單。 透過該一般資訊查詢來存取公開資訊係不需要該主機/ 使用者登入一存取控制記錄。因此,具有安全儲存應用程 式標準知識之任何實體可執行及接收該資訊。就安全儲存 應用程式而論,此查詢命令係在無一會期號碼之下被處 置。然而,假如期望由一實體存取該機密資訊的共用部 分’則需要首先透過控制存取該記憶體裝置内的資料之任 何控制結構(例如,任一存取控制記錄)來鑑認該實體。在 122366.doc 86 - 200822670 一成功鑑認之後,該實體將能夠透過一般資訊查詢而存取 該機密資訊的該共用部分。如上文所說明,該鑑認程序將 導致用於存取之一安全儲存應用程式會期號碼或者ID。 謹慎資訊查詢 關於個別存取控制記錄及其系統存取及資產的私有資訊 係被認為謹慎的’且需要明碟鑑認。因此,此種查詢要长 在接收用於資訊查詢的授權之前,進行存取控制記錄登入 及鑑認(假如鑑認係由該存取控制記錄所指定)。此項查詢 係需要一安全儲存應用程式會期號碼。 在詳細敘述兩種類型查詢之前,首先敘述索引群組作為 一用於實施該等查詢之實務解決方案之觀念係將為有用 的。 索引群組 執行於可能的安全儲存應用程式主機上之應用程式係被 該主機上的作業系統及系統驅動程式要求指定意欲被讀取 之區段數。接著,此係意謂該主機應用程式需要知道對於 每一安全儲存應用程式讀取操作而言,需要讀取多少個區 段。 因為查詢操作的本質旨在供應對於一請求資訊的實體而 言通常係不知道的資訊,所以對於該主機應用程式而言, 發佈該查詢且猜測該操作所需之區段數係有困難的。 為了解决此問通,该女全儲存應用程式查詢輸出緩衝區 僅包含每一查詢請求一區段(512位元組)。為輸出資訊的一 部分之物件係組織於稱為索引群組之中。每一類型物件可 122366.doc -87- 200822670 具有一不同的位元組大小,其係考慮到可以適配於一單一 區段之物件數。此定義該物件 干 < 宗弓I群組。假如一物件且 有一細位元組的大小,則用於該物件之索Μ 至夕25個物件。假如總共有56個此類物件,則其將已經被 組織成3個索引群組,其中,物件"〇,,(第一物件)起始第一 索引群組,物件"25"起始第二索引群組且物件"5〇"起始第 三且為最後索引群組。 系統查詢(一般資訊查詢) 此查詢提供關於該裝置内之該支援安全儲存應用程式系 統及被設定之目前的系統之—般公開資訊,像是執行於該 裝的樹及應用程式。類似於下文所述之存取控 制記錄查詢(謹慎查詢),該系統查詢經結構化以給予數: 查詢選項: •一般的-安全儲存應用程式支援版本。 i. •安全儲存應用程式-目前出現於該裝置上之所有安 全儲存應用程式之應用程式清單,包含其之執行狀態。 上述列出的資訊係公開資訊。如同該存取控制記錄查 詢’為了使主機不需要知道對於該查詢輸出緩衝區待讀取 多少個區段’將有-自該裝置傳回的區段,同時仍然使該 主機能夠進-步查詢額外的索引群組。因此,假如根存取 控制記錄物件之數量超過用於索引群組"〇”之輸出緩衝區 大小的數量,則該主機可以接下來的索引群組"丨”傳送另° 一查詢請求。 存取控制記錄查詢(謹慎資訊查詢) 122366.doc -88 - 200822670 該安全儲存應用程式存取控制記錄查詢命令意欲供應該 存取控制記錄使用者關於該存取控制記錄之系統資源的資 訊’像是密錄及應用程式Π),分割區及子代存取控制記 錄。該查詢資訊係僅關於登入存取控制記錄且非關於該系 統樹上之其他存取控制記錄。換句話說,存取係限於僅僅 在牵涉到的存取控制記錄之權限下可存取的機密資訊的部 分。 使用者可查詢下列三個不同的存取控制記錄物件·· • 分割區-名稱及存取權(擁有者,讀取,寫入)。 • 密鑰1D及應用程式ID-名稱及存取權(擁有者,讀 取’寫入)。 •子代存取控制記錄-一直接子代存取控制記錄的存 取控制記錄及存取控制記錄群組名稱。 •身份物件及安全資料物件(下文敘述名稱及存取權 (擁有者,讀取,寫入)。 因為與一存取控制記錄連接之物件數量係可以改變,且 該資:係可能超過512個位元組(一區段)。在未事先知道物 件數:s之下,該使用者無法知道需要自該裝置内之該安全 儲存應用程式系統讀取多少個區段,以獲得全部 因此’由該安全儲存制m㈣提供之每—物件清單 ^被刀成為右干索引群組,其係類似於上述系統查詢之 情況。-索51群組係適配於—區段的物件數量,亦即可自 該裝置内之安全储存應用程式系統於一區段内傳送多少個 物件至遠主機。此使該裝 取I Μ之邊女全儲存應用程式系統 122366.doc -89- 200822670 傳送一被請求的索引群組之一區段。該主機/使用者將寺妾 收該等被查詢物件之一緩衝區,該緩衝區内之物件數量。 假如該缓衝區係滿的,則該使用者可查詢下一物件索引群 組。 圖38顯示一牵涉到一般資訊查詢之操作的流程圖。參照 圖38,當該安全儲存應用程式系統接收來自一實體的一般 資訊查詢(方塊902)時,該系統決定是否該實體已經被鑑認 (菱形904)。假如該實體已經被鑑認,則該系統向該實體供 應公開資訊及該機密資訊之共用部分(方塊9〇6)。假如其該 實體尚未被鑑認,則該系統向該實體供應僅公開資訊(方 塊 908)。 圖39顯不一牵涉到一謹慎資訊查詢之操作的流程圖。參 照圖39,當該安全儲存應用程式系統係接收來自一實體的 一謹慎資訊查詢(方塊922)時,該系統決定是否該實體已經 被鑑涊(菱形924)。假如該實體已經被鑑認,則該系統向該 實體供應機密資訊(方塊926)。假如該實體尚未被鑑認,則 該系統係拒絕該實體存取機密資訊(方塊928)。 特徵組延伸(FSE) 欠於許多情況下,於該卡上執行該安全儲存應用程式内的 二貝料處理活動(例如’ DRM使用權物件確認)係非常有利 的相對於所有資料處理工作係於該主機上執行之替代解 決方案,該所得系統係將為更安全的,更有效率的,且較 不依賴於主機。 θ亥安全健存應用程式安全性系統包含一組鑑認演算法及 122366.doc 200822670 授權原則,其係設計成控制存取及使用由該記憶體卡所儲 存、官理及保護的物件之集合。一旦一主機獲得存取權, 該主機將接著處理儲存於該記憶體裝置内之資料,其中, 存取該記憶體裝置係受控於該安全儲存應用程式。然而, 假设该資料本質係非常應用程式特定的,且因此,該資料 格式及資料處理係皆非定義於該安全儲存應用程式之中, δ亥女全儲存應用程式不處理儲存於該等裝置上的資料。 本發明之一項實施例係根據下列認知:該安全儲存應用 程式系統可被增強,以允許主機執行通常由該記憶體卡内 之主機所實施之一些功能。因此,該等主機之一些軟體應 用程式可被分割成為兩個部分:仍然由該主機實施之一部 分;以及現在由該卡實施之另一部分。對於許多應用程 式,此增強資料處理的安全性及效率。為了此目的,可加 入一稱為特徵組延伸之機制,以增強該安全儲存應用程式 之能力。在本文中’由該卡以此方式所執行之特徵級延伸\ HSupply, " Any entity that is sufficient to authenticate the access control record. The protection level of the injured object is the same as the login identification of the access control record. For the warp to have - identity object - access control * table can & select any authentication algorithm. The creator (host) decides and evaluates (4). The algorithm can best protect the identity object usage. An access control record of an injurious article provides its credential chain in response to an order to obtain the public key of the identity object. When the identity object is being used for data protection, the decrypted data output from the card may require further protection. In this case, the host is encouraged to use a secure channel built by any of the available authentication algorithms. When the field establishes the identity object, the key length and the PKCS#1 version are selected. In one embodiment, the public key and the private key are being represented using (index, modulus) as defined by PKCS #1 version 2.1. In one embodiment, the data contained during the establishment of an identity object is an RSA key pair of a selected length and a credential chain that reverts to prove the authenticity of the public key. An access control record with this identity object will allow the user to sign the profile. This is implemented through two secure storage application commands: • Set user profile • Provide a free-form data buffer that will be signed. 122366.doc -83- 200822670 • Obtain a secure storage application signature: The card will provide an RSA signature (using the access control to record the private key). Depending on the type of object, the format and size of the signature can be set according to PKCS#1 version 1.5 or version 2.1. The operation of using an identity object is shown in Figures 35 through 3 7, wherein the memory device 10 is a flash memory card and the card is the owner of the identity object. Figure 35 is a diagram showing the procedure for implementing the data transmitted by the card to a host. Referring to FIG. 35, after a host is authenticated (block 8〇2), as controlled by one of the access control records at one of the nodes of the tree structure, the card is waiting for one of the credentials of a host request ( Diamond 8〇4). After receiving the request, the card transmits the voucher and returns to diamond 8〇4 for the next host request (block 806). If a voucher chain needs to be transmitted to verify the public key of the identity object owned by the card, the above action is repeated until all credentials in the voucher chain have been transferred to the host. After each voucher has been transferred to the host, the card waits for its command (diamond_) from the host. If the command from the host is not received during the pre-set period, then the card returns to the data (10) 4β when receiving the data from the host and the - command checks to see if the command is used for signature data ( Diamond 8Η)). If the command is for signature data, the card signs the material with the private key in the identity object and then transmits the signed material to the host (block 812)' and returns to diamond 8.4. If the command from the host is not used to sign material from the host, the card uses the private (4) in the identity object to decrypt the received data (block 814) and returns to diamond 8.4. 122366.doc -84 - 200822670 Figure 3 6 shows the program implemented by the host when the card signature data is transferred to the host. 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 a request to the card for use in the credential chain and receives the credential chain (block 824). After the public key of the card has been verified, the host transmits the data to the card for signature and receives the information signed by the private key of the card (block 820). Figure 37 is a diagram showing 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 Figure 37, the host transmits authentication information to the card (block %2). After successfully implementing the authentication by the access control record control, the host transmits a request to the card to request a credential chain (block 864) that 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 material from the card using the verified public key of the card and transmits it to the card (blocks 866, 868). Query Hosts and application systems need to hold certain information about the memory devices or cards they are working together to perform the system operations. For example, the host and the application may need to know that the application is stored on the card (4) (4) and the application system is available for calling (-). The information required by the host is sometimes not public = 'the knowledge' means that not every real system has the right to own it. : To identify authorized and unauthorized users, you need to provide two methods that can be used by the host. 122366.doc -85- 200822670 General Information Enquiries This inquiry discloses system public information, and 1 ... restricts the confidential information stored in these memory devices to include two parts. # m * 丨U 丨 · · · · · And a non-shared part. Part of this confidential information contains information that may be specific to an individual entity, such that each entity is 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 often thought of as being public is in some cases a name that may be considered confidential, such as the name of an application residing on the card and its life cycle state. Another example of this is the root access control record name, which is considered public #, but can be confidential for some secure storage application usage. For these cases, the Xiao system should provide an option in response to the general Beixun query. This information can only be used by all authenticated users, but it cannot be used by 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 a no-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 successful identification, 122366.doc 86 - 200822670, the entity will be able to access the shared portion of the confidential information through general information enquiries. As explained above, the authentication procedure will result in accessing one of the secure storage application session numbers or IDs. Cautious Information Enquiries Private information about individual access control records and their system access and assets is considered prudent and requires identification. Therefore, such an inquiry is required to perform an 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. Before describing two types of queries in detail, it would be useful to first describe the concept of index groups as a practical solution for implementing such queries. Index Group The application executed on the possible secure storage application host is specified by the operating system and system driver requirements on the host. Next, this means that the host application needs to know how many segments need to be read for each secure storage application read operation. Because the nature of the query operation is intended to supply information that is not normally known to an entity requesting information, it is difficult for the host application to publish the query and guess the number of segments required for the operation. To solve this problem, the female full storage application query output buffer contains only one section (512 octets) per query request. Objects that are part of the output information are organized into groups called index groups. Each type of object can have a different byte size from 122366.doc -87-200822670, taking into account the number of objects that can be adapted to a single segment. This defines the object to be dry < 宗弓I group. If an object has a size of a fine byte, then the object is used for 25 objects. If there are a total of 56 such objects, it will have been organized into 3 index groups, where the object "〇,, (the first object) starts the first index group, the object "25" The second index group and the object "5〇" starts with the third and is the last index group. System Enquiry (General Information Enquiry) This inquiry provides general public information about the supported secure storage application system and the current system being set up in the device, such as the tree and application executed in the installation. Similar to the access control record query (careful query) described below, the system query is structured to give the number: Query Options: • General - Secure Storage Application Support Version. i. • Secure Storage Application - A list of all security storage applications currently appearing on the device, including their execution status. The information listed above is public information. As the access control record query 'in order for the host to not need to know how many segments to read for the query output buffer' will have - the segment returned from the device, while still enabling the host to step into the query Additional index group. Therefore, if the number of root access control record objects exceeds the number of output buffer sizes used to index the group "〇, then the host can send another query request to the next index group "丨. Access Control Record Query (Cautious Information Query) 122366.doc -88 - 200822670 The Secure Storage Application Access Control Record Query command is intended to provide information about the system resources of the access control record user regarding the access control record. Is a secret record and application Π), partition and child access control records. The query information is only about the login access control record and not about other access control records on the system tree. In other words, the access is limited to the portion of the confidential information that is accessible only under the authority of the access control record involved. The user can query the following three different access control record objects: • Partition - Name and access rights (owner, read, write). • Key 1D and application ID - name and access rights (owner, read 'write). • Child Access Control Record - The access control record and access control record group name of a direct child access control record. • Identity objects and security data objects (names and access rights (owner, read, write) are described below. The number of objects connected to an access control record can vary, and the number of funds: may exceed 512 a byte (a segment). Without knowing the number of objects in advance: s, the user cannot know how many segments need to be read from the secure storage application system in the device to obtain all Each item list provided by the secure storage system m (4) is a right-hand index group, which is similar to the above-mentioned system query. The cable 51 group is adapted to the number of objects in the segment. How many items are transferred from a secure storage application system within the device to a remote host in a segment. This enables the female storage application system 122366.doc -89-200822670 to transmit a requested request. A segment of the index group. The host/user collects a buffer of the object to be queried, and the number of objects in the buffer. If the buffer is full, the user can query Next thing Index Group Figure 38 shows a flow diagram of operations involving a general information query. Referring to Figure 38, when the secure storage application system receives a general information query from an entity (block 902), the system determines whether the entity is the entity. Has been authenticated (diamond 904). If the entity has been authenticated, the system supplies the entity with the public information and the shared portion of the confidential information (block 9〇6). If the entity has not been authenticated, then The system supplies the entity with only public information (block 908). Figure 39 is a flowchart that illustrates the operation of a cautious information query. Referring to Figure 39, when the secure storage application system receives a cautious from an entity When the information is queried (block 922), the system determines if the entity has been identified (diamond 924). If the entity has been authenticated, the system supplies the entity with confidential information (block 926). If the entity has not been In the case of authentication, the system denies the entity access to confidential information (block 928). Feature Group Extension (FSE) owes in many cases, the security is performed on the card The two-batch processing activity within the application (eg, 'DRM usage rights object confirmation) is very advantageous compared to all data processing work performed on the host's alternative solution, the resulting system will be more secure, More efficient and less dependent on the host. The θH Secure Storage Application Security System consists of a set of authentication algorithms and the 122366.doc 200822670 authorization principle, which is designed to control access and use by the memory. a collection of objects stored, managed, and protected by the card. Once a host gains access, the host will then process the data stored in the memory device, wherein accessing the memory device is controlled by the security Save the application. However, it is assumed that the data is very application-specific and, therefore, the data format and data processing system are not defined in the secure storage application. Information on such devices. 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 perform some of the functions typically performed by hosts within the memory card. Thus, some of the software applications of such hosts can be split into two parts: still part of the implementation of the host; and another part of the implementation now implemented by the card. For many applications, this enhances the security and efficiency of data processing. For this purpose, a mechanism called feature set extension can be added to enhance the capabilities of the secure storage application. In this context, the feature level extension performed by the card in this way

/ V 内的主機應用程式亦稱為内部應用程式,或裝置内部應用 程式。 … 該增強的安全儲存應用程式系統提供—種延伸基本安全 儲存應用程式命令組的機制,其係透過導入卡應用程式而 提供該卡之鑑認及存取控制。_卡應m被假設為=實 施除了該安錢存應用程式之服務以外的服務(例如, 眶機制,電子商務以)。該安线存應用程式特徵組 延伸係-種設計成增強具有資料處理軟體/硬體模組之 準安全儲存應用程式安全性系統的機制,其可以係專屬 122366.doc -91. 200822670 二除了-夠使用上述查詢獲得的資訊之 查詢該卡,以用於^服務使主機裝置能夠 、 用之應用^式,選擇及與一特定廡田 =式通訊。上述之—般查詢及謹慎查詢係可以使用於此目 組延伸卡之安全儲存應用程式特徵組延伸内特徵 •提供服務-實現此特徵之方式為,透過允許經授權實體 使用、一稱為通訊管道(pipe)之命令通道直接與該内部應用 私式通訊,該通訊管道可以係專屬的。 μ 1安全儲存應用程式標準存取控制原則的延伸〜實現此特 倣之方式為透過使内部的受保護資料物件(例如, :密餘、下文敘述之安全資料物件(SD〇))相關聯於二 應用程式。每當此類物件被存取時,假如Μ ,的安全儲存制程式原則,則則相_的心程式 糟此除了利用該等標準的安全儲存應用程式原則之外 =至少一條件。較佳地,該條件將不與該等標準的安全 健存應用程式原則衝突。只有亦滿足在此額外的停件之产 况下丄才好存取。在進-步詳細說明該特徵組延伸之^ 力之前,現在將說明特徵組延伸以及該通訊管曾 b 料物件之架構態樣。 ^及與王貝 安全服務模組(SSM)及相關模組 =憶體裝置Μ諸如一快閃記憶體卡)連接至 機裳置24心、錢構聰之功能方塊圖,以閣釋本發 122366.doc -92- 200822670 明之一項實施例。該卡2 0之該記憶體裝置内的軟體模組之 主要組件如下: 安全儲存應用程式傳輸層1002The host application in /V is also known as an internal application or an internal application. ... The enhanced secure storage application system provides a mechanism for extending the basic secure storage application command group, which provides authentication and access control of the card through the import card application. _ card should be assumed to be = a service other than the service of the money storage application (for example, 眶 mechanism, e-commerce). The application line feature extension system is a mechanism designed to enhance the security system of a quasi-secure storage application with a data processing software/hardware module, which can be exclusive to 122366.doc-91. 200822670. The card can be queried by using the information obtained by the above query for the service to enable the host device to use, select and communicate with a specific 庑田= expression. The above-mentioned general query and cautious query can be used to secure the feature of the secure storage application feature group extension of the target group extension card. • Provide the service - this feature is implemented by allowing the authorized entity to use, a communication channel The (pipe) command channel communicates directly with the internal application, and the communication pipe can be proprietary. 1 1 Extension of the standard access control principle for secure storage applications - The way to implement this specialization is by associating internal protected data objects (eg, secrets, security data objects (SD〇) described below) Two applications. Whenever such an object is accessed, if the safe storage system is used, then the heartbeat is in addition to using the standard safe storage application principles = at least one condition. Preferably, this condition will not conflict with the standards of these standard security application principles. It is only necessary to be able to access it under the conditions of this additional stop. Before proceeding with further details on the extension of the feature set, the feature set extension and the architectural aspect of the communication tube will now be explained. ^ and with Wang Bei Security Service Module (SSM) and related modules = memory device, such as a flash memory card, connected to the machine block 24 heart, Qian Zicong's functional block diagram, to release the hair 122366.doc -92- 200822670 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 1002

該安全儲存應用程式傳輸層係卡協定相依的。其處置該 卡1〇之該協定層上之主機端安全儲存應用程式請求(命 令),且接著將其中繼至安全服務模組API。所有主機-卡 同步化及安全儲存應用程式命令識別係於此模組内實施。 該傳輸層亦係負責主機24與卡10之間所有資料傳送。 安全服務模組核心(SSM Core) 1004 此模組係該安全儲存應用程式實施方案之一重要的部 分。該安全服務模組核心實施該安全儲存應用程式架構。 更明確言之,該安全服務模組核心實施該安全儲存應用程 式樹及存取控制記錄系統以及組成該系統之所有上述對應 規則忒女全服務模組核心模組使用一密碼編譯庫1 〇丨2, 以支援該安全儲存應用程式安全性及密碼編譯特徵,諸如 加密、解密及雜湊。 安全服務模組核心API ι〇〇6 此係主機及㈣應用程式將介接於該安全服務模組核心 以實行安全儲存應用程式操作之層。如示於圖嫩,主機 24及裝置㈣應用程式將使用相同的趟。 安全性應用程式管理員模組(samm)i〇〇8 安全性應用程式營王W β ^ 貝Μ、、且非屬該安全儲存應用程 統之部分,然而其係控制介接 系 之裝置内部應用程式之+肉认去⑨ Λ糸統 々八<卡内的一重要的模組。 122366.doc -93- 200822670 該安全性應用程式管理員模組管 之應用程式,其包含: 理所有裝置内部執行 中 1·應用程式生命週期監視及控制。 2 ·應用程式初始化。 3.應用程式/主機/安全服務模組介面。 裝置内部應用程式1010 ί \ 裝置内部應用程式係經准許於該卡端上執行之應用程 式。彼等裝置内部應用程式係被安全性應用程式管理員模 組所管理,且係、可存取該安全儲存應用矛呈式系、统。該安全 服務模組核心亦提供該等主機端應用程式與該等内部應用 程式之間之一通訊管道。用於此類内部執行應用程式之範 例係DRM應用程式及單次密碼(〇ne time passw〇rd ; 應用程式,如下文作進一步說明。 裝置管理系統(DMS)lOl 1 此模組含有在一後裝運(通常稱為後發佈)模式中更新該 卡之系統及應用程式韌體以及增加/移除服務所需之處理 程序及協定。 圖40B係該安全服務模組核心1004之内部軟體模組之功 此方塊圖。如示於圖40B,核心1004包含一安全儲存應用 程式命令處理常式(command handler)l〇22。處理常式1〇22 係於命令被傳送至該安全儲存應用程式管理員1024之前, 剖析起源於該主機或起源於該裝置内部應用程式1010的該 等安全儲存應用程式命令。所有安全儲存應用程式安全性 資料結構(諸如存取控制記錄群組及存取控制記錄)以及所 122366.doc -94- 200822670 有安全儲存應用程式規則及原則係儲存於該安全儲存應用 程式資料庫蘭之中。安全錯存應用程式管理員胸實行 由該等存取控制記錄及存取控制記料組以及料於資料 庫1〇26内之其他控制結構所行使之控制。其他物件(諸如 身份物件)以及安全資料物件亦係儲存於該安全儲存應用 程式資料庫1〇26之中。安全儲存應用程式管理員1〇24實行 由該等存取控制記錄及存取控制記錄群組以及儲存於資料 庫1026内之其他控制結構所行使之控制。由該安全儲存應 用程式非安全操作模組1028處置不牵涉到安全儲存應用程 式之非安全操作。由該安全儲存應用程式安全操作模組 1030處置在該安全儲存應用程式架構下的安全操作。模組 1032係一連接模組1〇3〇至該密碼編譯庫1〇12之介面。模組 1034係一連接模組1026及1〇28至圖i中該快閃記憶體2〇之 層。 通訊(或傳遞(Pass-Through))管道 當由該安全服務模組核心及安全性應用程式管理員模組 控制時’該等傳遞管道物件使經授權主機端之實體能夠與 该等内部應用程式通訊。介於該主機與該内部應用程式之 間之資料傳送係透過SEND及RECEIVE命令(定義如下)而 實行。實際的命令係應用程式特定的。建立該管道之該實 體(存取控制記錄)將需要提供該管道名稱及將開啟一通道 至其之應用程式的ID。如同具有所有其他受保護物件,該 存取控制記錄係變成其擁有者,且被允許根據標準的委派 規則及限制而委派使用權利以及擁有權給其他存取控制記 122366.doc -95- 200822670 錄。 假如在被鑑認實體之存取控制記錄屬性管理中設定 crEATE_pipe權限,則一該被鐘認實體將被允許建:管 道物件。只有於該實體之權限控制記錄中㈣在寫入或讀 取管道權限之情況下,才允許與内部應用程式之通訊。^ 有在該實體係該管道擁有者或於該實體之權限控制記錄中 設定委派存取權之情況下,才允許擁有權及存取權委派。 如同所有其他權限,當委派擁有權給另—存取控制記錄 時,較佳地,泰m該原_有者對於該裳置應用㈣之所 有權限。 較佳地,對於-特定應隸式,冑立僅一通訊管道。較 佳地,建立-第二管道及連接該第二管道至—已經連接之 應用私式之嘗試將被該安全服務模組系統1〇〇〇所拒絕。因 此,較佳地,介於該等裝置内部應用程式1〇1〇之一者與一 通訊管道之間係、有1對1之關係。然而,多個存取控制記錄 可與一裝置内部應用程式通訊(透過委派機制)。一單一存 取控制σ己錄可與數個裝置應用程式通訊(透過連接至不同 應用程式之多個管道之委派或擁有權)。較佳地,控制不 同的官道之存取控制記錄係位於完全分離的樹之節點上, 使得該等通訊管道之間係無串擾。 介於該主機與一特定應用程式之間傳送資料係使用下列 命令而實行: • WRITE pASS THROUGH(寫入傳遞)-將自該主機傳送 一未格式化的資料緩衝區至該裝置内部應用程式。 122366.doc -96· 200822670 • READ PASS THROUGH(讀取傳遞)-將自該主機傳送 一未格式化的資料緩衝區至該裝置内部應用程式,且一旦 。亥内。P處理係完成,將輸出一未格式化的資料緩衝區回到 該主機。 寫入傳遞命令及讀取傳遞命令提供主機想要通訊之裝置 内部應用程式1010之1〇作為參數。該實體權限將被確認, 且饭如该請求實體(亦即,主控該實體正在使用之會期之 f 存取控制記錄)具有使用連接至該被請求應用程式之管道 、 的權限,則該資料緩衝區將被中斷,且命令被執行。 此通訊方法係允許該主機應用程式透過該安全儲存應用 程式存取控制記錄會期通道傳送廠商/專屬的特定命令至 一裝置内部應用程式。 安全資料物件(SDO) 一能夠結合特徵組延伸而被使用之有用的物件係安全資 料物件。 ' 【 忒女全資料物件係作為一用於安全儲存敏感資訊的一般 用途容器。類似於内容加密密鑰物件,其係由一存取控制 記錄擁有,且可於存取控制記錄之間委派存取權及擁有 權。安全資料物件含有根據預先定義的原則限制而被保護 及使用之資料,且可選擇地,具有至一裝置内部應用程式 1 〇〇8之連結。杈佳地,該敏感資料非係由該安全儲存應用 程式系統予以使用或解譯,而是由該物件之擁有者及使用 者所使用或解澤。換句話說,該安全儲存應用程式系統不 辨明其所處置之資料内的資訊。以此方式,當於主機與該 122366.doc -97- 200822670 等資料物件之間傳送資料時,該物件内之該資料的擁有者 及使用者可較歸因於介接於該安全儲存應用程式系 統所造成的敏感資訊之損失。因此,安全資料物件係的 主機系統(或内部應用程式)所建立,且被指派—㈣,類 似於建立内容加密密餘之方式。於建立時,該主機係除了 提供名稱之外,亦提供經連結至該安全資料物件之應用程The secure storage application transport layer is card-dependent. It handles the host-side secure storage application request (command) on the protocol layer of the card and then relays it to the security 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 transfers between the host 24 and the card 10. Security Service Module Core (SSM Core) 1004 This module is an important part of this secure storage application implementation. The security service module core implements the secure storage application architecture. More specifically, the security service module core implements the secure storage application tree and the access control record system, and all the corresponding rules constituting the system, the full-service module core module uses a password compilation library. 2, to support the secure storage application security and password compilation features, such as encryption, decryption and hashing. Security Service Module Core API ι〇〇6 This host and (4) application will be interfaced to the core of the security service module to implement a secure storage application layer. As shown in Figure, the host 24 and device (4) applications will use the same port. The security application administrator module (samm) i〇〇8 security application program is not part of the secure storage application system, but it is the internal application of the control interface system. The + meat recognizes an important module in the 9th & & & 122366.doc -93- 200822670 The application of the security application administrator module, which includes: internal execution of all devices 1. Application lifecycle monitoring and control. 2 · Application initialization. 3. Application/Host/Security Services Module Interface. The device internal application 1010 ί \ device internal application is approved for execution on the card side of the application. The internal applications of these devices are managed by the security application administrator module, and the security storage application can be accessed. The core of the security service module also provides a communication channel between the host applications and the internal applications. Examples of such internal execution applications are DRM applications and single-passwords (〇ne time passw〇rd; applications, as further explained below. Device Management System (DMS) lll 1 This module contains one after the other The system and application firmware for updating the card and the processing procedures and agreements required to add/remove the service in the shipping (commonly referred to as post-release) mode. Figure 40B is the internal software module of the security service module core 1004. As shown in FIG. 40B, the core 1004 includes a secure storage application command handler handler 22. The processing routine 1〇22 is transmitted to the secure storage application administrator. Prior to 1024, the secure storage application commands originating from the host or originating from the device internal application 1010 are parsed. All securely stored application security data structures (such as access control record groups and access control records) and 122366.doc -94- 200822670 There are secure storage application rules and principles stored in the secure storage application database. The misplaced application administrator performs the control exercised by the access control records and access control record groups and other control structures in the database 1. Other objects (such as identity objects) and security information The objects are also stored in the secure storage application database 1 〇 26. The secure storage application manager 1 实行 24 implements the access control record and access control record group and stores it in the database 1026. Control by other control structures. The secure storage application non-secure operating module 1028 handles non-secure operations that do not involve a secure storage application. The secure storage application security operating module 1030 handles the secure storage application. The security operation in the program architecture. The module 1032 is a connection module 1〇3〇 to the interface of the password compilation library 1〇12. The module 1034 is a connection module 1026 and 1〇28 to the flash in FIG. Layer 2 of memory. Communication (or Pass-Through) pipelines are controlled by the security service module core and the security application administrator module. The track object enables an entity on the authorized host to communicate with the internal application. The data transfer between the host and the internal application is performed via the SEND and RECEIVE commands (defined below). The actual command is applied. Program-specific. The entity that created the pipeline (access control record) will need to provide the pipe name and the ID of the application that will open a channel to it. As with all other protected objects, the access control record becomes Its owner, and is permitted to delegate usage rights and ownership rights to other access control records according to standard delegation rules and restrictions 122366.doc -95- 200822670. If the crEATE_pipe privilege is set in the access control record attribute management of the authenticated entity, then the ciphered entity will be allowed to build: the pipe object. Communication with internal applications is allowed only if the entity's permission control record (4) is written or read pipe permissions. ^ Ownership and access delegation are allowed only if the pipeline owner of the real system or delegate access is set in the entity's privilege control record. As with all other rights, when delegated ownership to another access control record, preferably, the owner has all rights to the application (4). Preferably, for a specific application, only one communication pipe is established. Preferably, the attempt to establish a second pipe and connect the second pipe to the already connected application private will be rejected by the security service module system. Therefore, preferably, there is a one-to-one relationship between one of the internal application programs of the devices and a communication pipe. However, multiple access control records can be communicated to an internal application (through a delegation mechanism). A single access control σ has been recorded to communicate with several device applications (through delegation or ownership of multiple pipes connected to different applications). Preferably, the access control records that control different official channels are located on nodes of a completely separate tree such that there is no crosstalk between the communication pipes. Transferring data between the host and a particular application is performed using the following commands: • WRITE pASS THROUGH - An unformatted data buffer will be transferred from the host to the internal application of the device. 122366.doc -96· 200822670 • READ PASS THROUGH - An unformatted data buffer will be transferred from the host to the internal application of the device, and once. Hai. The P processing is completed and an unformatted data buffer is output back to the host. The write transfer command and the read transfer command provide a means for the host to communicate with the internal application 1010 as a parameter. The entity authority will be confirmed, and if the requesting entity (that is, the access control record that the master is using 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. The communication method allows the host application to access the control record session channel to transmit the vendor/specific specific command to an internal device application through the secure storage application. Safety Data Object (SDO) A useful item that can be used in conjunction with a feature set extension is a safety data item. ' [The prostitute data item is used 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 safety data item contains information that is protected and used in accordance with pre-defined principles and, optionally, has a link to an internal application 1 〇〇8. Preferably, the sensitive material is not used or interpreted by the secure storage application 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 object such as 122366.doc-97-200822670, the owner and user of the data in the object can be attributed to the secure storage application. Loss of sensitive information caused by the system. Therefore, the host system (or internal application) of the secure data object system is established and assigned—(d), similar to the way in which content encryption is established. At the time of establishment, the host provides an application linked to the secure data object in addition to the name.

式之-應隸式ID及將被該安全料制程式儲存、完整 性驗證及接收之一資料區塊。 類似於内容加密密餘’安全資料物件較佳地係僅於一安 全儲存應用程式會期内予以建立。用於開啟該會期之存取 控制記錄變成該安全資料物件之擁有者,且係具有刪除該 安全資料物件之權利、寫人及讀取敏感資料以及委派擁有 權及存取該安全資料物件之權限給另—存取控制記錄(為 其之子代或於相同的存取控制記錄群組之内)。 該等寫人及讀取操作係專門為該安全資料物件之擁有者 所保留。-寫入操作用,提供的資料緩衝區來覆寫現有安 全資料物件之物件資料。—讀取操作將擷取該安全資料物 件之完整的資料記錄。 允許具有適當存取權限㈣擁有者存取控制記錄進行安 全^料物件存取操作係。定義下列操作: • SDO Set(安全資料物件設定),應用程式出被定 義:將由具有該應用程式1〇之該内部安全儲存應用程式處 理該資料。藉由相關聯於該安全資料物件而 式。作為―選㈣果,㈣用程式將以該安全資料物 122366.doc -98- 200822670 件0 SDO Set(安全資料物件設定),應用程式係空值 (null) ·此選項無效,且將提示一不合法命令錯誤。該以 π 7而要一執行於該卡内的内部應用程式。 • SD〇邮安全資料物件獲得),應用程式ID被定 義·將由具有該應用程式ID之該裝置内部應用程式處理該 請求。藉由相關聯於該安全資料物件而則該應用程式。 輸出(雖然未被定義)將被傳回該請求者。該應用程式將可 選擇地讀取該安全資料物件。 SDO Get(女全資料物件獲得),應用程式係空 值:此選項無效’且將提示-不合法命令錯誤。該Get命 令需要一執行於該卡内的内部應用程式。 女王 > 料物件相關權限:一存取控制記錄可以係一 安全資料物件擁有者或只是具有存取權限(Set,Gd,或者 兩者)此外,一存取控制記錄可被允許傳遞對於非其擁 有的安全資料物件的存取權至另一存取控制記錄。假如一 存取控制記錄具有存取控制記錄屬性管理權限,則該存取 控制記錄係可以明確地被准許建立安全資料物件且委派存 取權。 會期密鑰 内部存取控制記錄類似於具有一權限控制記錄的任何存 取控制記錄,惟該裝置1〇之外部的實體無法登入該存取控 制記錄除外。而是,當在圖4〇B之該安全儲存應用程式管 理員1024之控制下的物件或相關聯於其之應用程式被調用 122366.doc -99- 200822670 時,圖40B之該安全儲存岸用 W仔應用桎式管理員1〇24自動登入 内部存取控制記錄。因為堂气 μ 兮#触壯 口為θ 4獲得存取之實體係一該卡或 口己丨思體裝置内部的實體所 I饈所U係不需要鑑認。該安全 應用程式管理員1024將僅僂误一奋* a 專、曰期岔鑰至該内部存取控 制圯錄,以啟用内部通訊。 將使用兩個範例顯示特徵組延伸之能力:單次密碼產生 ,數位權管理。在敘述單次㈣產生之範例之前,首先將The type of ID and the data block that will be stored, integrity verified and received by the secure material program. Similar to content encryption secrets, security data objects are preferably created only during a secure storage application session. The access control record used to open the session becomes the owner of the secure data object, and has the right to delete the secure data object, write and read sensitive data, and delegate ownership and access to the secure data object. Permission to another access control record (for its children or within the same access control record group). These writers and read operations are reserved exclusively for the owner of the secure data item. - For write operations, provide a data buffer to overwrite the object data of the existing security data object. - The read operation will retrieve a complete data record of the safety data item. Allowing appropriate access rights (4) Owner access control records for secure access to the operating system. The following operations are defined: • SDO Set, the application is defined: the data will be processed by the internal secure storage application with the application. By associating with the safety data item. As the option (4), (4) the program will use the safety data 122366.doc -98- 200822670 pieces 0 SDO Set (safe data object setting), application system null (null) · This option is invalid, and will prompt one Inappropriate command error. This is an internal application that is executed on the card at π 7. • The SD Email Security Profile is obtained), the application ID is defined • The request will be processed by the device's internal application with the application ID. The application is associated with the security 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, the application is null: This option is invalid 'and will prompt - illegal command error. The Get command requires an internal application to execute on the card. Queen > Item related permissions: an access control record can be a security data object owner or just have access rights (Set, Gd, or both) In addition, an access control record can be allowed to pass for Access to the secure data item owned by the owner to another access control record. If an access control record has access control record attribute management rights, the access control record can be explicitly permitted to establish a secure data object and delegate access rights. Session Keys An internal access control record is similar to any access control record that has an access control record, except that an entity outside the device cannot log into the access control record. Rather, when the object under the control of the secure storage application manager 1024 of FIG. 4B or the application associated with it is invoked 122366.doc -99-200822670, the secure storage shore of FIG. 40B W-Tip Application Manager 1〇24 automatically logs in to the internal access control record. Because the qi μ 触 触 触 触 为 为 θ θ θ θ θ θ θ θ 获得 获得 获得 获得 获得 获得 获得 获得 θ 获得 θ 获得 获得 θ θ 获得 θ θ θ θ θ θ θ θ The Security Application Administrator 1024 will only delay the internal key to the internal access control record to enable internal communication. Two examples will be used to show the ability to extend feature sets: single-password generation, digital rights management. Before describing the example of a single (four) generation, the first

說明雙因素鑑認之發佈。 、 單次密碼之實施例 雙因素鑑認(DFA) 雙因素鑑認係一項鑑認協定,其設計成藉由加入一額外 的秘始-第二因素”至標準使用者認證(亦即,使用者名稱 及密碼),而肖強個人登入至(例如卜―服務伺服器之安 全性。該第三㈣典型地係該使用者於詩有物中所具有 的實體安i内儲存的某事物。於登人程序期間,該使 用者需要提供持有證明作為該登人認證之一部分。一證明 持有之常用方式係使用一單次密碼,其係一僅適合於一單 -登入之密碼,其係由該安全符記所產生及輸出。假如該 使用者能夠提供正確的單次密碼,則其係被認為充分證明 持有該符C的擁有,因為無該符記之下以密碼編譯方式計 算該單次密碼係不可實行的。因為該單次密碼係僅適合於 單次登入,所以該使用者係應該於登入時具有該符記,因 為使用一自一先前登入所捕捉到的舊密碼將不再有效。 敘述於下面段落的產品係使用該安全儲存應用程式安全 122366.doc -100- 200822670 性資料結構,加上一特徵組延伸設計,以計算於該單次密 碼系列中下一密碼,以實行一具有多個,,虛擬"安全符記之 陕閃纪丨思體卡,每一符記產生一不同系列的密碼(其可被 使用於登入不同的web網站)。此系統之一方塊圖係顯示於 圖41 〇 完整的系統1050包含一鑑認伺服器1〇52、一網際網路伺 服器1054及一具有符記1058之使用者1〇56。第一步驟係同 意該鑑認伺服器與該使用者之間的一共用秘密(亦稱為種 子供應)。該使用者1056將請求一將被發佈之秘密或種 子’且將儲存其於該安全符記1〇58之中。下一步驟係繫結 發佈之秘密或種子與一特定web服務伺服器。一旦此係完 成,該鑑認可發生。該使用者將指示該符記產生一單次密 碼。具有該使用者名稱及密碼之單次密碼係被傳送至網際 網路伺服器1054。該網際網路伺服器1〇54轉遞該單次密碼 至该鑑認伺服器1052,要求其驗證該使用者之m。該鑑認 伺服器亦將產生一單次密碼,且因為該單次密碼係自一共 用秘密連同該符記予以產生,所以其係應該匹配自該符記 產生的單次密碼。假如一項匹配係被找到,則該使用者之 ID係被驗證,且該鑑認伺服器將傳回一肯定確認給該網際 網路伺服器1054,該網際網路伺服器1〇54將完成該使用者 登入程序。 用於該單次密碼產生之特徵組延伸實施方案具有下列特 性: •於該卡内安全地儲存(經加密)該單次密碼種子。 122366.doc -101 - 200822670 邊後、碼產生演算法係於該卡内執行。 一:π!裝置10可模擬多個虛擬符記’每-虛擬符記係存 同的種子,且可以使用不同的密碼產生演算法。 β亥裝置1 〇係提供—^ 、',^1 宁徒供女王協疋,以自該鑑認伺服器傳 运違種子至該裝置。 =單次密碼種子供應及單次密Μ生之安全儲存應用 :式特徵係顯示於圖42,其中,實線箭頭係顯示擁有權或 存取榷,且虛線箭頭係顯示關聯性或連結。如示於圖42, 於安全儲存應用程式特徵組延伸系統_中,可透過一或 多個通訊管道1104來存取軟體程式碼特徵組延伸1102,通 訊管道U04係受控抑個應用程式存取控制記錄之各 者。於下述實施例中,僅顯示—特徵組延伸軟體應用程 式,且對於每一特徵組延伸應用程式,僅有一通訊管道。 然而應瞭解的是,可以利用—個以上特徵組延伸應用程 式。雖然圖42係僅顯示一通訊管道,應瞭解的是,可以使 用複數個通訊管道。所有此類變化係可行的。參照圖 40Α、40Β及42,該特徵組延伸11〇2可以係、一用於單次密 馬供應之應用程式,且形成圖4GA之裝置内部應用程式 1010之子集s。控制結構(存取控制記錄11 〇 1、11⑽、 1106、mo)係安全儲存應用程式内之安全性資料結構的 一部分,且係儲存於該安全儲存應用程式資料庫1〇26之 中。諸如身份物件1120、身份物件1122及通訊管道11〇4之 資料結構亦係儲存於該安全儲存應用程式資料庫1〇26之 中〇 122366.doc -102- 200822670 >圖4GA及4GB ’牵涉到該等存取控制記錄及資料結 構:安全性相關操作(例如會期内之資料傳送,以及諸如 加在心與雜湊之操作)係在介面如2及密碼編譯庫 之辅助之下’由拉組1〇3〇所處置。安全服務模組核心 API 1嶋不區別牵涉到與主機互動之存取控制記錄(外部 的存取控制記錄)的操作及不與主機互動之内部的存取控 制》己錄之操作,且因而係不區別牵涉到主機之操作相對於 裝置内部應用程式ΠΠ0之操作。以此方式,控制由主機端 實體所實行之存取以及由裝置内部應用程式丨_所實行之 存取係使用相同的控制機制。此導致用於㈣主機端應用 知式與裝置内部應用程式1010之間之資料處理的彈性。該 等内部應用程式1010(例如圖42中之特徵組延伸u叫相關 聯於該等内部存取控制記錄(例如圖42中之存取控制記錄 1103),且係透過該等内部存取控制記錄之控制予以調 用。 再者’諸h具有相關聯的安全儲存應用程式規則及原則 之存取控制記錄及存取控制記錄群組之安全性資料結構較 佳地係控制對重要資訊的存取,諸如安全資料物件内之内 容或能夠自安全資料物件内之内容推導出之資訊,使得外 部或内部應用程式係僅能夠根據該等安全儲存應用程式規 則及原則而存取該内容或資訊。舉例而言,假如兩個不同 的使用者可調用該等裝置内部應用程式1010之一個別裝置 内部應用程式來處理資料,則使用位於分離的樹狀階層架 構内之内部存取控制記錄來控制該兩個使用者所實施之二 122366.doc -103 - 200822670 取’使得其之間係無串擾。以此方式,該兩個使用者皆能 夠存取一共同組裝置内部應用程式1〇 1〇以用於處理資料, 而不擔心該等安全資料物件内之内容或資訊的擁有者喪失 對於該内容或資訊的控制。舉例而言,對儲存由該等裝置 内部應用程式1010所存取之安全資料物件資料之存取可受 控於位於分開的樹狀階層架構内之存取控制記錄,使得其 之間係無串擾。此種控制方式係類似於上述安全儲存應用 程式控制存取資料之方式。此係對於内容擁有者及使用者 提供儲存於該等資料物件内的資料的安全性。 參照圖42,對於該單次密碼相關主機應用程式所需之軟 體應用程式碼之一部分被儲存(例如,在記憶體卡發佈之 前預先儲存或在記憶體卡發佈之後載入)於該記憶體裝置 10内作為特徵組延伸1102内之應用程式係可能的。為了執 行此類程式碼,該主機將首先需要透過該N個驗證存取控 制記錄1106中之一者進行鑑認(N係一正整數),以獲得對 於管道1104之存取。該主機亦將需要提供一用於識別其想 要調用之單次密碼相關之應用程式的應用程式m。在一成 功鑑認之後,可存取此類程式碼,以用於透過相關聯於該 單次密碼相關之應用程式的管道11〇4而執行。如上文所注 意到,較佳地,介於一管道1104與一特定應用程式(諸如 一單次密碼相關内部應用程式)之間係有丨對丨的關係。如 不於圖42,多個存取控制記錄11〇6可共有對一共同管道 1104之控制 存取控制記錄亦可控制一個以上管道。 圖42顯示統稱為物件1114之安全資料物件工、安全資料 122366.doc •104· 200822670 物件2及安全資料物件3,每一者係含有資料,諸如用於單 次密碼產生之一種子,該種子係有價值的且較佳為被加 密。介於該三個資料物件與特徵組延伸1102之間之連結或 關聯性1108顯示該等物件之屬性在於··當存取該等物件中 之任一者時,於具有該安全資料物件之屬性内一應用程式 ID之特徵組延伸1102内之應用程式將被調用,且該應用程 式將由該記憶體裝置之中央處理單元12所執行,而不需要 接收任何進一步的主機命令(圖丨)。 參照圖42,在一使用者可開始該單次密碼程序之前,該 等女全性資料結構(存取控制記錄丨丨〇丨、丨丨〇3、丨丨〇6及 1110)已被建立成具有用於控制該單次密碼程序之權限控 制記錄。該使用者將需要具有存取權,以透過鑑認伺服器 存取控制記錄1106之一而調用一單次密碼裝置内部應用程 式1102。该使用者亦將需要具有對於將透N個使用者存取 ,制記錄mo之一而產生之單次密碼的存取權。可以於該 單人雄碼種子供應程序期間被建立該等安全資料物件 1114。杈佳地,該内部存取控制記錄丨1〇3已建立及控制該 身伤物件1116。該内部存取控制記錄11〇3係在其被建立之 後,亦控制該等安全資料物件1114。當存取該等安全資料 物件1114時’於圖40B内之該安全儲存應用程式管理員 編自動登入該内部存取控制記錄⑴]。該内部存取控制 。己錄1103係相關聯於特徵組延伸11〇2。於該單次密碼種子 供應&序期間’該等安全資料物件工i 14可變成相關聯於該 特徵組延伸,如虛線⑽所示。在該關聯性就緒之後,當 122366.doc 200822670 該主機存取該等安全資料物件時,該關聯性丨⑽係將導致 特被組延伸1102被調用,而不需要來自該主機的一進一步 請求。當透過N個存取控制記錄11〇6之一存取通訊管道 1104時,圖4〇b内之該安全儲存應用程式管理員1〇24亦自 動且入該存取控制記錄〗丨〇3。於此兩者情況下(存取安全 貝料物件1114及管道11〇4),該安全儲存應用程式管理員 將傳送一會期號碼至該特徵組延伸丨1〇2,該會期號碼將識 別至該内部存取控制記錄1103之通道。 該單次密碼操作係牵涉到兩個階段··一示於圖43之種子 供應階段;及一示於圖44之單次密碼產生階段。參照圖4〇 至42將亦能夠有助於說明。圖43繪示該種子供應程序之協 疋圖。如示於圖43 ’由主機(諸如主機24)以及由該卡採取 各種動作。採取各種動作之卡上的一實體係圖4〇八及4〇B 之該安全服務模組系統,其包含該安全服務模組核心 1〇〇4。採取各種動作之卡上的另一實體係顯示於圖42之該 特徵組延伸11 02。 於雙因素鑑認之中,該使用者係請求一種子被發佈,且 一旦該種子被發佈,該種子係被儲存於一安全符記之中。 於此範例中,該安全符記係該記憶體裝置或卡。該使用者 向圖4 2中該等鑑認存取控制記錄11 〇 6之一者進行鑑認,以 獲得存取該安全服務模組系統(箭頭1122)。假設鑑認成功 (箭頭1124),則該使用者請求一種子(箭頭1126)。該主機 傳送該請求,以藉由選擇一用於簽名該種子請求之特別的 應用程式1102而將該種子請求簽名至該卡。假如該使用者 122366.doc -106- 200822670 不知道需要被調用之該特別的應用程式之ID,則可自裝置 10獲得該資訊,舉例而言,透過一對於該裝置之謹慎查 询。接著,該使用者輸入應被調用之應用程式之應用程式 ID ’藉此亦選擇一對應於該應用程式之通訊管道。接著, 透過該對應的通訊管道,在一傳遞命令中轉遞該使用者命 令至來自該使用者之該應用程式ID所指定之應用程式(箭Explain the release of two-factor authentication. Two-factor authentication (DFA) Two-factor authentication is a recognition agreement designed to add an additional secret-second factor to standard user authentication (ie, User name and password), and Xiao Qiang personally logs in (for example, the security of the service server. The third (four) is typically something stored by the user in the physical entity of the poem. During the boarding process, the user is required to provide a proof of possession as part of the boarding pass. A common way of proof is to use a single password, which is only suitable for a single-login password. It is generated and output by the security token. If the user can provide the correct one-time password, it is considered to be sufficient to prove the possession of the token C, because there is no password compilation under the token. Calculating the single password is not practicable. Since the single password is only suitable for single sign-on, the user should have the token when logging in, because the old password captured from a previous login is used. will Valid again. The products described in the following paragraphs use the Secure Storage Application Security 122366.doc -100- 200822670 data structure, plus a feature set extension design to calculate the next password in the single password series to Implementing a multiple-, virtual "security token, the Shanyin Jishen card, each token generates a different series of passwords (which can be used to log in to different web sites). One of the system's block diagrams The complete system 1050 shown in FIG. 41 includes an authentication server 1〇52, an internet server 1054, and a user 1〇56 having a token 1058. The first step is to agree with the authentication server and A shared secret (also known as seed provisioning) between the users. The user 1056 will request a secret or seed to be posted and will store it in the security token 1 58. Next step The system issues a secret or seed to a specific web service server. Once the system is completed, the authentication takes place. The user will instruct the token to generate a single password. With the username and password. The secondary password is transmitted to the Internet server 1054. The Internet server 1〇54 forwards the single password to the authentication server 1052, requesting it to verify the user's m. The authentication server A single password will also be generated, and since the single password is generated from a shared secret along with the token, it should match the single password generated from the token. If a match is found, then The user's ID is verified, and the authentication server will send back a positive confirmation to the internet server 1054, and the internet server 1 54 will complete the user login procedure. The feature set extension implementation for single-password generation has the following characteristics: • Securely store (encrypt) the single-password seed within the card. 122366.doc -101 - 200822670 After the code generation algorithm is attached to the card Execution inside. One: The π! device 10 can simulate the presence of multiple virtual tokens, each of the virtual tokens, and can generate algorithms using different passwords. The 亥 装置 装置 1 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 提供 宁 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王 女王= Single-Pass Seed Provisioning and Single-Secure Secure Storage Application: The style feature is shown in Figure 42, where the solid arrow indicates ownership or access, and the dashed arrow indicates relevance or link. As shown in FIG. 42, in the secure storage application feature group extension system _, the software code feature group extension 1102 can be accessed through one or more communication pipes 1104, and the communication pipe U04 is controlled by an application access. Control each of the records. In the following embodiments, only the feature set extension software application is shown, and for each feature set extension application, there is only one communication pipe. However, it should be understood that more than one feature set extension application can be utilized. Although Figure 42 shows only one communication pipe, it should be understood that a plurality of communication pipes can be used. All such changes are possible. Referring to Figures 40A, 40B, and 42, the feature set extension 11〇2 can be used for a single-mass supply application and form a subset s of the device internal application 1010 of Figure 4GA. The control structure (access control records 11 〇 1, 11 (10), 1106, mo) is part of the secure data structure within the secure storage application and is stored in the secure storage application database 1 〇 26. The data structures such as the identity object 1120, the identity object 1122, and the communication channel 11〇4 are also stored in the secure storage application database 1〇26 366122366.doc -102-200822670 > Figure 4GA and 4GB' are involved These access control records and data structures: security-related operations (such as data transfer during the session, and operations such as adding and hashing) are supported by interfaces such as 2 and password compilation libraries. Dispose of in 〇3〇. The security service module core API 1 does not distinguish between the operation of the access control record (external access control record) that interacts with the host and the internal access control that does not interact with the host. There is no difference in the operation involving the host relative to the operation of the internal application ΠΠ0. In this way, the access controlled by the host entity and the access control implemented by the internal application __ use the same control mechanism. This results in a resiliency for (4) data processing between the host-side application knowledge and the device internal application 1010. The internal applications 1010 (e.g., the feature set extensions in Figure 42 are associated with the internal access control records (e.g., access control records 1103 in Figure 42) and are traversed by the internal access control records. The control is invoked. Furthermore, the security data structures of the access control records and access control record groups with associated security storage application rules and principles preferably control access to important information. Information such as content in a secure data item or information that can be derived from content within a secure data item enables an external or internal application to access the content or information only in accordance with the rules and principles of the secure storage application. In other words, 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 records located in a separate tree hierarchy are used to control the two. The user implemented the two 122366.doc -103 - 200822670 to take 'so that there is no crosstalk between them. In this way, the two users The ability to access a common set of device internal applications for processing data without fear of loss of control over the content or information by the owner of the content or information within the secure data object. For example, Access to the secure data object data accessed by the device internal application 1010 can be controlled by access control records located within a separate tree hierarchy such that there is no crosstalk between them. Similar to the manner in which the secure storage application controls access to data. This provides security for the content owner and user to store the data stored in the data object. Referring to Figure 42, for the single password related host application A portion of the software application code required by the program is stored (eg, pre-stored prior to the memory card is issued or loaded after the memory card is released) in the memory device 10 as an application system within the feature set extension 1102. Possibly. In order to execute such a code, the host will first need to access one of the N authenticated access control records 1106. Authentication (N is a positive integer) to gain access to pipe 1104. The host will also need to provide an application m for identifying the application associated with the single password associated with it. After recognition, such code can be accessed for execution via the pipeline 11〇4 associated with the single password-related application. As noted above, preferably, between a pipe 1104 and A specific application (such as a single-password-related internal application) has a 丨-parallel relationship. If not in Figure 42, multiple access control records 11 〇 6 may share control of a common pipe 1104. Control records can also control more than one pipe. Figure 42 shows the safety data object, collectively referred to as object 1114, safety information 122366.doc • 104· 200822670 object 2 and safety data item 3, each containing data, such as for A single password produces a seed that is valuable and preferably encrypted. The link or association between the three data objects and the feature set extension 1102 indicates that the attributes of the objects are: when accessing any of the objects, the attributes of the secure data object The application within the feature set extension 1102 of the internal application ID 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 (Figures). Referring to FIG. 42, the female full data structure (access control records 丨丨〇丨, 丨丨〇3, 丨丨〇6, and 1110) has been established before a user can start the single cryptographic program. There is a permission control record for controlling the single cipher program. The user will need to have access rights to invoke a single cryptographic device internal application 1102 through one of the authentication server access control records 1106. The user will also need to have access to a single password generated by accessing one of the N users. The secure data item 1114 can be created during the single male seed seeding process. Preferably, the internal access control record 丨1〇3 has established and controlled the body article 1116. The internal access control record 11〇3 also controls the secure data items 1114 after it has been created. When the secure data item 1114 is accessed, the secure storage application administrator in Figure 40B automatically logs into the internal access control record (1). This internal access control. The 1103 series has been associated with the feature group extension 11〇2. During the single cipher seed supply & order period, the security data object i 14 may become associated with the feature group extension as indicated by the dashed line (10). After the association is ready, when the host accesses the secure data objects, the association 丨(10) will cause the special group extension 1102 to be invoked without requiring a further request from the host. When the communication pipe 1104 is accessed through one of the N access control records 11〇6, the secure storage application manager 1〇24 in Fig. 4B also automatically enters the access control record 丨〇3. 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 〇1〇2, which will identify the session number The channel to the internal access control record 1103. The single cryptographic operation involves two phases: a seed supply phase shown in Figure 43; and a single cryptographic generation phase shown in Figure 44. Reference will also be made to Figures 4A through 42 to aid in the description. Figure 43 is a diagram showing the cooperation of the seed supply program. Various actions are taken by the host (such as the host 24) as shown in Figure 43 and by the card. The security service module system of the real system of FIG. 4, 8 and 4B on the card of various actions includes the security service module core 1〇〇4. Another real system on the card that takes various actions is shown in Figure 42 as the feature set extension 11 02 . In two-factor authentication, the user requests a child to be published, and once the seed is published, the seed is stored in a security token. In this example, the security token is the memory device or card. The user authenticates one of the authentication access control records 11 〇 6 in Figure 42 to gain access to the security service module system (arrow 1122). Assuming the authentication is successful (arrow 1124), the user requests a child (arrow 1126). The host transmits the request to sign the seed request to the card by selecting a particular application 1102 for signing the seed request. If the user 122366.doc -106- 200822670 does not know the ID of the particular application that needs to be called, the information can be obtained from the device 10, for example, through a cautious query for the device. Then, the user inputs the application ID of the application to be called, thereby selecting a communication channel corresponding to the application. Then, through the corresponding communication pipeline, the user command is forwarded to the application specified by the application ID of the user in a transfer command (arrow

頭112 8)。被調用之應用程式係藉由該指定之身份物件(諸 如圖42内之身份物件1112)内的公開密鑰而請求一簽名。 該安全服務模組系統使用該身份物件之該公開密鑰簽名 該種子請求,且通知該應用程式該簽名係完成(箭頭 1132)。接著,該被調用之應用程式請求該身份物件之憑 證鏈(箭頭1134)。為了回應,該安全服務模組系統提供由 該存取控制記錄11〇3所控制之該身份物件之憑證鏈(箭頭 1136)。接著,該被調用之應用程式透過該通訊管道,提 供該經簽名的種子請求及該身份物件之該憑證鏈至該安全 服務模組系統,該安全服務模組系統轉遞該經簽名的種子 請求及該身份物件之該憑證鏈至該主機(箭頭1138)。透過 該通訊管道傳送該經簽名的種子請求及該身份物件之該憑 證鏈的係透過建置於圖40A之該安全性應用程式管理員^ 組1008及該安全服務模組核心! 〇〇4之間的回呼卜⑶^^)功 能,其中,將於下文說明該回呼功能。 接著,由該主機接收到的該經簽名的種子請求及該身份 物件之該憑證鏈被傳送至如示於圖4丨之該鑑認伺服: 1052。由該卡所提供之憑證鏈檢定該經簽名的種子請求係 122366.doc -107- 200822670Head 112 8). The called application requests a signature by the public key in the specified identity object (identity object 1112 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 1132). The invoked application then requests the credential chain of the identity object (arrow 1134). In response, the security service module system provides a credential chain (arrow 1136) of the identity object controlled by the access control record 11〇3. 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). The signed seed request and the credential chain of the identity object are transmitted through the communication pipeline through the security application administrator group 1008 and the security service module core constructed in FIG. 40A! The call back (3)^^) function between 〇〇4, wherein 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 servo as shown in Figure 4: 1052. The signed seed request system is verified by the credential chain provided by the card. 122366.doc -107- 200822670

起源於受信任的符記,使得該鑑認伺服器丨052係想要提供 该秘密種子給該卡。因此,該鑑認伺服器1〇52傳送以該身 份物件之該公開密鑰加密之種子連同該使用者存取控制記 錄資訊一起給該主機。該使用者資訊指示出在該N個使用 者存取控制記錄中使該使用者具有存取將被產生之該單次 密碼的權利的存取控制記錄。該主機藉由提供該應用程式 ID而调用特徵組延伸11()2内—單次密碼應用程式,藉此亦 選擇對應於該應用程式之通訊管道,且轉遞該使用者存取 控制記錄資訊至該安全服務模組系統(箭頭114〇)。接著, 忒經加袷的種子及該使用者存取控制記錄資訊係透過該通 訊管道被轉遞至該選擇出之應用程式(箭頭1142)。該被調 用之應用程式傳送-請求至該安全服務模組系統,以用於 使用該身份物件之私有密鑰,而解密該種子(箭頭i“句。 該安全服務模組系統解密該種子且傳送一解密已經完成之 通知給該應用程式(箭頭1146)。接著,該被調用之應用程 式請求建立-安全資料物件之及於該安全資料物件内儲存 該種子。其亦請求使該安全資料物件相關聯於用於產生該 單次密碼之該單次密碼應用程式(其可以係相同於正在, 求之應用程式)之1D(箭頭1148)。該安全服務模組系統建L 該等安全資料物件1114之一者,且儲存該種子於該安全資 料物件内’且使該安全資料物件相關聯於該單用 程式之⑴’且當完成時傳送通知給該應用程式(;: 1150)。接著,該應用程式請求該 頭 由該主機所提供之使用者資訊,m服務I组糸統根據 貝訊以該内部存取控制記錄 122366.doc -108- 200822670 之用於存取該安全資料物件1114之存取權,給適當的使用 者存取控制記錄(箭頭1152)。在已經完成委派之後,該安 全服務模組系統通知該應用程式(箭頭1154)。接著,該應 用程式係藉由-回呼功能,透過該通訊管道傳送該安全資 料2件之名稱(槽ID)給該安全服務模組系統(箭頭ιΐ56)。 接著,安全服務模組系統係轉遞該安纟資料物件之名稱至 該主機(箭頭1158)。接著,該主機繫結該安全資料物件之 p纟稱與該❹者存取控制記錄,使得該㈣者係現在能夠 " 存取該安全資料物件。 現在將參照圖44中之協定圖而敘述單次密碼產生之程 序。為了獲得該單次密碼,該使用者將登入其具有存取權 之使用者存取控制記錄(箭頭1172)。假設該鑑認成功,則 該安全服務模組系統通知該主機,且該主機傳送一,, SDO”(獲得安全資料物件)命令給該安全服務模組(箭頭 1174,1176)。如上文所述,儲存該種子之該安全資料物 (件已經相關聯於一用於產生該單次密碼之應用程式。因 1 此,不像是以前一樣透過該通訊管道選擇一應用程式,該 單次密碼產生應用程式係藉由介於由該命令存取之安全資 料物件(箭頭1176)與該單次密碼產生應用程式之間的關聯 性所調用(箭頭U78)。接著,該單次密碼產生應用程式請 求該安全服務模組系統自該安全資料物件讀取該内容(亦 即,該種子)(箭頭1180)。較佳地,該安全服務模組不知道 該安全資料物件之内容内包含的資訊,且將僅按該特徵組 延伸指不來處理該安全資料物件内之資料。假如該種子被 122366.doc -109- 200822670 加1則此係可以牽涉到按該特徵組延伸命令在讀取之前 解推該種子。該安全服務模組系統自該安全資料物件讀取 該種子,且提供該種子至該單次密碼產生應用程式(箭頭 甘’該單次密碼產生應用$式產生該單次密碼 —提t °亥單-人密碼給該安全服務模組系統(箭頭1184)。接 著"亥單-人在㉟係由該安全服務模組轉遞至該主機(箭頭 1186)接著,該主機轉遞該單次密碼至該鑑認祠服器 ^ 以元成该雙因素鑑認鑑認程序。 ^ 回呼功能 μ於^⑽之該安全服務模組核心胸與安全性應用程式 吕里員模組1GG8之間建置—泛用回呼功能。不同的裝置内 2應用程式及通訊管道可被登錄以具有此類功能。因此, 田調用一裝置内部應用程式時,該應用程式可使用此回呼 力月匕以透過被用則專送一主機命令至該應用矛呈式之相同 通Λ官道,將處理後之資料傳送至該安全服務模組系統。 DRM糸統實施例 1. 圖45繪示DRM系統的功能方塊圖,該DRM系統採用通 訊吕道1 1 04、具有至特徵組延伸應用程式11 02,之連結 1 1〇8的内谷加密密鑰1114,及用於控制該等功能以實施 DRM功旎之控制結構丨1〇1,、i 1〇3,及丨1〇6,。如將被注意 到,圖45中之架構係相當類似於圖42之架構,惟該安全性 貧料結構現在包含使用權伺服器存取控制記錄1106,及播放 存取控制記錄1110,(取代鑑認伺服器存取控制記錄及使用 者存取控制記錄)以及内容加密密鑰1114,(取代安全資料物 122366.doc -110- 200822670 件)除外。此外,不牵涉到該身份物件,且因而於圖45中 省略該身份物件。可以於使用權供應程序中建立該等内容 加密密鑰1114’。圖46之協定圖顯示一種用於使用權供應及 内容下載之程序,其中,於使用權物件中提供密鍮。如同 於該單次密碼之實施例中,一想要獲得一授權之使用者將 首先需要在N個存取控制記錄11 〇6,之一者及N個存取控制 δ己錄1110’之一者之下取得存取權,使得可藉由一媒體播放 機(諸如一媒體播放機軟體應用程式)呈現内容。 如示於圖46,該主機向一使用權伺服器存取控制記錄 1106’(箭頭1202)進行鑑認。假設鑑認成功(箭頭丨204),則 該使用權伺服器提供一使用權檔案(license別6)連同一内 谷加密密鑰(密錄ID及密鑰值)給該主機。該主機亦藉由提 供該應用程式ID至該卡上之該安全服務模組系統,而選擇 被調用之應用程式。該主機亦傳送播放機資訊(例如,於 一媒體播放機軟體應用程式上之資訊)(箭頭12〇6)。該播放 機 > 訊將指示在該N個播放機存取控制記錄1 1 1 〇,之哪一者 之下,该播放機具有存取權。該安全服務模組系統係透過 對應於該選擇出之應用程式之通訊管道,而轉遞該使用權 檔案及該内容加密密鑰至該DRM應用程式(箭頭1208)。接 著,該被調用之應用程式請求該安全服務模組系統將該使 用權檔案寫入至隱藏分割區之中(箭頭1210)。當係如此寫 入該使用權檔案時,該安全服務模組系統通知該應用程式 (箭頭1212)。接著,該DRM應用程式請求一被建立之内容 加密密鑰物件1114,,且將來自該使用權檔案的密鑰值儲存 122366.doc -111 - 200822670 於該被建立之内容加密密鑰物件11丨4,之中。該DRM廉用 程式亦請求使該内容加密密鑰物件與相關聯於一 DRM應用 程式的ID(該DRM應用程式檢查相關聯於所提供之密餘的 授權)(箭頭1214)。該安全服務模組系統完成這些工作,且 ί \ 因而通知該應用程式(箭頭1216)。接著,該應用程式請求 根據由主機傳送之播放機資訊,而將對該内容加密密鑰 1114’之讀取存取權委派給一播放機存取控制記錄(該播放 機具有對該播放機存取控制記錄的存取内容之權限)(箭頭 1218)。該安全服務模組系統實行該委派,且因而通知該 應用程式(箭頭1220)。由該應用程式透過該通訊管道傳送 一已經完成儲存該授權之訊息至該安全服務模組系統,且 該安全服務模㈣統轉遞該訊息至該使用權伺服器(箭頭 1222及1224)。使用ί呼功能以透過料訊管道進行此 動作…旦接收到該通知時,接著該使用權伺服器提供以 提供給該卡之該内容加密密鑰内之密鑰值加密之内容檔 案m口遂的内容係由該主機儲存於該公開I區域中。 儲存該經加㈣㈣㈣不㈣料全性功能,使得該安 全服務模組系統係不牵涉到該儲存。 :播#作係顯不於圖47。該使用者係透過該主機而向 k 口的播放存取控制記錄(亦即,於上文箭頭η”及η m委=讀取權至其之播放存取控制記錄)進行鐘認(箭 二长。=認成功(箭頭1244),則該使用者接著傳送 明求&取相關聯於該密鑰ID之内容(箭頭1246)。於 接收該請切,該安全服務模㈣統將發現—麵程 122366.doc -112- 200822670 式之ID係相關聯於正被存取之内容加密密鑰物件,且因而 將導致調用該被識別之DRM應用程式(箭頭1248)。該drm 應用程式請求該安全服務模組系統讀取相關聯於該密鑰ID 之資料(亦即,使用權)(箭頭1250)。該安全服務模組不知 道其被請求讀取之資料内的資訊,且僅處理來自該特徵組 延伸的清求,以實行該資料讀取程序。該安全服務模組系 統自該隱藏分割區讀取資料(亦即,使用權),且提供該資 料至該DRM應用程式(箭頭1252)。接著,該011]^應用程式 解譯該資料,且檢查該資料内之使用權資訊,以看看該使 用權是否有效。假如該使用權仍然有效,則該DRM應用程 式將向該安全服務模組系統通知准許進行内容解密(箭頭 1254)。接著,该安全服務模組系統使用該内容加密密输 物件内之該密鑰值解密該請求的内容,且提供該經解密的 内谷至該主機’以用於播放(箭頭1256)。假如該使用權不 再有效,則用於内容存取之請求係被拒絕。 假使來自該使用權伺服器的使用權内未提供任何密鑰, 則該使用權供應及内容下載係將稍微不同於示於圖46之方 式。此類不同的方案係顯示於圖48之協定圖之中。圖46與 圖48之間相同的步驟係以相同的元件符號予以識別。因 此,該主機及該安全服務模組系統首先進行鑑認(箭頭 1202,1204)。該使用權伺服器提供該使用權檔案及該密 鑰ID(但是無該密鑰值)給該主機,且該主機將轉遞所提供 之4使用權福案及该欲输ID連同該主機想要調用之該drm 應用程式的ID至該安全服務模組系統。該主機亦傳送播放 122366.doc -113- 200822670 機資訊(箭頭1206,)。接著,該安全 文王服務杈組系統係透過對 $於該選擇出之應用程式之通訊管道,而轉遞該使用權標 4案及“細至該選擇出之職應用程式(箭則綱。接 者,該DRM應用程式請求將該制權檔㈣人至隱藏分判 :之中_21〇)。當已經如此寫入該使用權檔案時,該 $全服務模組系統通知該D R M應用程式(箭頭⑵2)。接 者’該DRM應用程式請求該安全服務模組系統產生一密鑰 值、,立-内容加密密鑰物件、儲存該密錄值於其中:使 該内容加密密鑰物件相關聯於一 DRM應用程式之ι〇(箭頭 12U’)。在已經符合該請求之後,該安全服務模組系統傳 送一通知給該DRM應用程式(箭頭1216)。接著,該drm應 用程式將請求該安全服務模組系統根據由主機傳送之播放 機資訊,而委派對該内容加密密鑰物件之讀取存取權給該 播放機存取控制記錄(箭頭1218)。該其係完成時,該安= 服務模組系統因而通知該DRM應用程式(箭頭122〇)。接 著,該DRM應用程式向該安全服務模組系統通知已經儲存 該使用權’其中’該通知係藉由一回呼功能透過該通訊管 道而被傳送(箭頭1222)。此項通知被轉遞至該使用權伺服 器(箭頭1224)。該使用權伺服器接著傳送相關聯於一密鑰 ID之内容檔案至該安全服務模組系統(箭頭1226)。該安全 服務模組系統以該密鑰ID所識別之該密鑰值加密該内容, 而不牽涉到任何應用程式。如此加密及儲存於該卡上之内 容係可以使用圖47之協定而被播放。 於上述之單次密碼及DRM實施例中,該特徵組延伸丨丨02 122366.doc 114- 200822670 f 及⑽可含有許多不同的單次密碼及麵應用程式,以 機4置選擇。使用者具有選擇及調用所要裝置内部鹿 =程式之選擇機會。_如此,介料安全料模組料 特餘延伸之間之整體關係係維持相同,使得使用者及資 料提供者可使用標準的協定組,以用於與該安全服務模組 互動及用於調用該特徵組延伸。使用者及提供者係不需要 變成牵涉到許多不同的裝置内部應用程式之特質,該等裝 置内部應用程式之一些者可以係專屬的。 再者’該等供應協定可些微不同,如同於圖46及48之情 況。在圖46之情況下’該使用權物件含有一密餘值,然而 在圖48之情況下’該使用權物件無密餘值。此差異要求略 微不同的協定’如上文所述。然而’圖^中之播放係相同 的’而不論如何供應該使用權。因此,此差異將僅關於内 容提供者及散佈者’然而典型地係與消費者無關,消費者 典型地係僅牵涉到播放階段。因此’此架構提供給内容提 供者及散佈者客製化協定的大彈性,同時維持顧客容易使 用欠明顯地’自兩組以上供應協定所供應之資料推導而來 的資訊係可以仍然可使用第二協定存取。 由上述之實施例所提供之另一優點係,雖然外部實體 (諸如使用者)及該等裝置内部應用程式可共用對由該安全 性資料結構所控制之資料的使用’但是使用者僅能夠存取 由該等裝置㈣應用程式自所儲存的f料推導出之結果。 因此,於該單次密碼之實施例中,該經過該等主機裝置之 使用者僅能夠獲得該單次密碼,而無法獲得該種子值。於 122366.doc -115- 200822670 該DRM實施例巾,該經過該等主機裝置之使用者係僅能夠 獲得所呈現的内容,然而不存取該使用權檔案或密碼編譯 密鑰。此特徵係允許消費者方便,而不損及安全性。 於- DRM實施例中,該等裝置内部應用程式及主機皆不 月b存取泫等密碼編譯密鑰;僅該安全性資料結構可存取該 等密碼編譯密鑰。於其他實施例中,了該安全性資料結 構以外之實體係亦能夠存取該密碼編譯密鑰。該等密錄亦 能夠藉由該等裝置内部應用程式所產生,且接著由該安全 性資料結構所控制。 存取該等裝置内部應用程式及存取資訊(例如,單次密 碼及所呈現之内容)係受控於相同的安全性資料結構。此 減少控制系統及成本之複雜度。 a藉由提供自言亥内部存取控制記錄(其控制對該等裝置内 /應用耘式之存取)委派存取權給一存取控制記錄(其控制 /等主機存取由調用該等裝置内部應用程式所獲得之資 )肊力此特彳政使達成上述特徵及功能係可能的。 應用程式特定之廢止方案 j被調用-裝置内部應用程式係時,亦可被修改該安全 。貝料、、、°構之存取控制協定。舉例而言,該憑證廢止協定 :以,-使用憑證廢止清單之標準協定或一專屬協定。因 :一错由凋用一特徵組延伸,該標準的憑證廢止清單廢止 定可被一特徵組延伸專屬協定所取代。 * 2 了支援該憑證廢止清單廢止方案,安全儲存應用程式 駐留於该裳置内的特定内部應用程式,能夠透過介於 122366.doc -116- 200822670 該!置内部應用程式與該憑證授權單位或任何其他廢止授 權單位之間之-私有通訊通道而廢止主機。該内部應用程 式專屬廢止方案係受限於該主機_應用程式之關係。 當組態應用程式料之廢止方案時,該安全儲存應用程 式系統將拒絕該憑證廢止清單(假如被提供),否則將使用 該憑證及該專屬應用程式資料(先前透過一應用程式特定 通訊管道予以提供),以決定是否該給定的憑證被廢止。 匕如上文所述…存取㈣記錄係藉由指定—廢止值,而 指定三種廢止方案(無廢止方案、標準憑證廢止清單方案 及應用程式特定廢止方案)之哪一者被採用。當選擇該應 f 私式系統接著將支持該内部應用程式之專屬方案 用程式特定廢止方㈣項時,該存取㈣記錄將亦指定用 於管理該廢止方案之内部應用程式ID之一 ID,且該憑證廢 止清單到㈣祕PP_ID攔位内之值將對應於管理該廢止 方案之内部應用程式ID。當鑑認該裝置時,安全儲存應用 不以另一組協定取代一組協定,一裝置内部應用程式之 調用可對已經由該安全儲存應用㈣所行使之存取控制附 加額外的存取條件。舉例而言,可由一特徵組延伸進一步 詳細檢查存取内容加密密鑰内之一密鑰值之權利。在該安 全儲存應用程式系統決定一存取控制記錄具有對一密鑰值 之存取權利之後,將在授予該存取之前查詢該特徵組延 伸。此特徵允許内容擁有者控制對該内容之存取的大彈 性。 雖然上文已參照各種實施例而敘述本發明,將瞭解的 122366.doc -117- 200822670 疋可實仃變化及修改,而未不偏離本發明之範嘴,本發 明之範4僅由後附巾請專利範圍及其均等物所定義。 【圖式簡單說明】 圖1繪示有助於闡釋本發明之與主機裝置通訊之記憶體 系統之方塊圖。 0 2、、、曰示有助於闡釋本發明之不同實施例之記憶體的不 同分割區及儲存於不同分割區之未經加密及經加密檔案之 示似囷八中,對某些分割區及經加密檔案之存取係由存 取原則及鑑認程序所控制。 圖3繪示記憶體内不同分割區之記憶體的示意圖。 圖4繪不有助於闌釋本發明之不同實施例之示於圖3之記 憶體的不同分割區之檔案位置表的示意圖,其中,該等分 割區内某些檔案係被加密。 圖5繪示有助於闌釋本發明之不同實施例之一存取控制 記錄群組内之存取控制記錄及相關密鑰參照之示意圖。 圖6繪示有助於闌釋本發明之不同實施例之由存取控制 記錄群組及存取控制記錄所形成之樹狀結構之示意圖。 圖7繪不存取控制記錄群組之三個樹狀階層架構之樹的 示意圖’以闡釋樹的形式程序。 圖8A及8B繪示由一主機裝置及一諸如一記憶體卡之記 憶體裝置所實行用於建立及使用—系統存取控制記錄之程 序的流程圖。 圖9繪示有助於闌釋本發明之不同實施例之一使用一系 統存取控制記錄以建立一存取控制記錄群組之程序的流程 122366.doc -118- 200822670 圖 圖1 〇繪示一用於捷* . '思立一存取控制記錄之程序的流程圖。 圖i、u不樹狀階層架構之特定應用程式的兩個存取控制 記錄群組之示意圖。 圖12、曰7Γ肖於委派特定權利之程序的流程圖。 圖θ τ #取控制記錄群組及一存取控制記錄之示意 圖,以闡釋圖12之委派特程序。Originating from the trusted token, the authentication server 丨 052 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 to the host along with the user access control record information. The user information indicates an access control record that gives the user the right to access the single password to be generated in the N user access control records. The host invokes the feature group extension 11 () 2 - single password application by providing the application ID, thereby selecting a communication channel corresponding to the application, and transmitting the user access control record information To the security service module system (arrow 114〇). The filtered seed and the user access control record information are then forwarded through the communication conduit to the selected application (arrow 1142). The called application transmits a request to the security service module system for decrypting the seed using the private key of the identity object (arrow i "sentence." the security service module system decrypts the seed and transmits A notification that the decryption has been completed is given to the application (arrow 1146). The invoked application then requests the establishment of the secure data object and the storage of the seed in the secure data object. It also requests that the secure data object be associated with the object. Connected to the 1D (arrow 1148) of the single-password application (which may be the same as the application being used) for generating the single-password. The security service module system establishes the security data objects 1114. And storing the seed in the secure data item 'and associating the secure data object with the single program (1)' and transmitting a notification to the application when completed (;: 1150). The application requests the user information provided by the host, and the m service I group uses the internal access control record 122366.doc -108- 200822670 for access according to the subscription. The security data object 1114 has access to the appropriate user access control record (arrow 1152). After the delegation has been completed, the security service module system notifies the application (arrow 1154). Then, the application The name of the security data (slot ID) is transmitted to the security service module system (arrow ιΐ56) through the communication pipe by means of the callback function. Then, the security service module system transmits the installation data. The name of the object is to the host (arrow 1158). The host then binds the p-name of the secure data item to the access control record so that the (4) person can now " access the secure data item. The procedure for single password generation will now be described with reference to the protocol diagram of Figure 44. To obtain the single password, the user will log in to the user access control record with access (arrow 1172). Upon successful completion, the security service module system notifies the host, and the host transmits an , SDO "Get Secure Data Object" command to the security service module (arrows 1174, 1176). As described above, the security material storing the seed (the piece has been associated with an application for generating the single password. Because of this, instead of selecting an application through the communication pipe as before, The one-time password generation application is invoked by the association between the security material object (arrow 1176) accessed by the command and the single password generation application (arrow U78). Then, the single password generation The application requests the security service module system to read the content (ie, the seed) from the security data object (arrow 1180). Preferably, the security service module does not know the content contained in the content of the security data object. Information, and the information in the security data object will only be processed according to the feature group extension. If the seed is incremented by 122366.doc -109 - 200822670 then this may involve de-pushing the seed prior to reading by the feature set extension command. The security service module system reads the seed from the security data object, and provides the seed to the single password generation application (arrow Gan 'the single password generation application $ generates the single password - mention t ° The single-person password is given to the security service module system (arrow 1184). Then "Hai-man-person is forwarded to the host by the security service module at 35 (arrow 1186), and then the host forwards the single The password is sent to the authentication server ^ to form the two-factor authentication and identification procedure. ^ The callback function μ is between the security service module core chest and the security application Luri module 1GG8 Build-general callback function. 2 applications and communication pipes in different devices can be logged in to have such functions. Therefore, when calling a device internal application, the application can use this callback month. The processed data is transmitted to the security service module system by using the same host command to send the host command to the application. DRM system embodiment 1. FIG. 45 shows the DRM system. Functional block diagram, the DRM system is adopted Communication Ludao 1 1 04, with the feature group extension application 11 02, the inner valley encryption key 1114 of the connection 1 1〇8, and the control structure for controlling the functions to implement the DRM function 丨1〇1 , i 1〇3, and 丨1〇6. As will be noted, the architecture in Figure 45 is quite similar to the architecture of Figure 42, but the security lean structure now includes usage rights server access control. Record 1106, and play access control record 1110, (instead of authentication server access control record and user access control record) and content encryption key 1114, (instead of security data 122366.doc -110-200822670) In addition, the identity object is not involved, and thus the identity object is omitted in Figure 45. The content encryption key 1114' can be created in the usage rights provisioning program. The agreement diagram of Figure 46 shows one for usage rights. A program for provisioning and content downloading in which a password is provided in a right-of-use object. As in the embodiment of the single-password, a user who wants to obtain an authorization will first need to access the N access control records. 6, one and N deposits The access is controlled under one of the controls δ1110' so that the content can be presented by a media player (such as a media player software application). As shown in Figure 46, the host is directed to a usage right servo. The device access control record 1106' (arrow 1202) is authenticated. Assuming the authentication is successful (arrow 丨 204), the usage right server provides a usage rights file (license 6) with the same inner valley encryption key (density Recording the ID and key value to the host. The host also selects the called application by providing the application ID to the security service module system on the card. The host also transmits the player information (eg , information on a media player software application) (arrow 12〇6). The player > will indicate which of the N player access control records 1 1 1 〇, the player has access. The security service module system forwards the usage rights file and the content encryption key to the DRM application (arrow 1208) via a communication channel corresponding to the selected application. The invoked application then requests the security service module system to write the usage rights file into the hidden partition (arrow 1210). When the usage rights file is thus written, the security service module system notifies the application (arrow 1212). Next, the DRM application requests an established content encryption key object 1114, and stores the key value from the usage rights file 122366.doc -111 - 200822670 on the created content encryption key object 11丨4, among them. The DRM application also requests that the content encryption key object be associated with an ID of a DRM application (the DRM application checks the authorization associated with the provided secret) (arrow 1214). The security service module system does the work and thus informs 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 stored in the player) Take permission to control the access content of the record) (arrow 1218). The security service module system enforces the delegation and thus notifies the application (arrow 1220). The application transmits a message for completing the storage of the authorization to the security service module system through the communication pipeline, and the security service module (4) forwards the message to the usage right server (arrows 1222 and 1224). Using the ί ph function to perform this action through the material pipeline... Upon receiving the notification, the usage right server then provides the content file encrypted by the key value in the content encryption key provided to the card. The content is stored by the host in the public area I. The storage of the (4) (4) (4) and (4) materials is fully functional, so that the security service module system does not involve the storage. : Broadcast #作系 is not shown in Figure 47. The user listens to the play access control record (that is, the arrow η above and the read access control record to the play access control record) through the host through the host (arrow 2) Long. = Success (arrow 1244), the user then transmits the request & takes the content associated with the key ID (arrow 1246). Upon receiving the request, the security service module (4) will discover - The ID of the face 122366.doc - 112 - 200822670 is associated with the content encryption key object being accessed, and thus will result in the call of the identified DRM application (arrow 1248). The drm application requests the The security service module system reads the data associated with the key ID (ie, usage rights) (arrow 1250). The security service module does not know the information in the data it is requested to read, and only processes the information from The feature group extends the request to implement the data reading process. The security service module system reads data (ie, usage rights) from the hidden partition and provides the data to the DRM application (arrow 1252) Then, the 011]^ application interprets the And checking the usage right information in the data to see if the usage right is valid. If the usage right is still valid, the DRM application will notify the security service module system to permit content decryption (arrow 1254). Next, the security service module system decrypts the content of the request using the key value in the content encryption object and provides the decrypted inner valley to the host for playback (arrow 1256). If the usage right is no longer valid, then the request for content access is rejected. If no key is provided within the usage right from the usage server, the usage rights and content download will be slightly different. In the manner of Fig. 46, such different schemes are shown in the agreement diagram of Fig. 48. The same steps between Fig. 46 and Fig. 48 are identified by the same component symbols. Therefore, the host and the security service module The group system first performs authentication (arrows 1202, 1204). 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 transmit Providing 4 usage rights and the ID to be downloaded to the security service module system together with the ID of the drm application that the host wants to call. The host also transmits the information 122366.doc -113- 200822670 (arrow 1206) And then, the Security King's Service Group system transmits the use of the rights 4 case and the "detailed selection of the application" through the communication channel for the selected application (arrow) In addition, the DRM application requests that the system (4) be hidden from the system: _21〇). When the usage right file has been written, the full service module system notifies the DRM. Application (arrow (2) 2). The DRM application requests the security service module system to generate a key value, a context-encryption key object, and stores the secret value therein: associating the content encryption key object with a DRM application Program ι (arrow 12U'). After the request has been met, the security service module system transmits a notification to the DRM application (arrow 1216). Next, the drm application will request the security service module system to delegate read access to the content encryption key object to the player access control record based on the player information transmitted by the host (arrow 1218). . When the system is completed, the security service module system thus notifies the DRM application (arrow 122). Then, the DRM application notifies the security service module system that the usage right has been stored. The notification is transmitted through the communication pipe by a callback function (arrow 1222). This notification is forwarded to the usage server (arrow 1224). The usage rights server then transmits a content profile associated with a key ID to the security service module system (arrow 1226). The security service module system encrypts the content with the key value identified by the key ID 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 02 122366.doc 114-200822670 f and (10) may contain a number of different single-password and face-to-face applications for machine 4 selection. The user has the opportunity to select and invoke the internal deer = program of the desired device. _ Thus, the overall relationship between the material safety material module extensions remains the same, allowing users and data providers to use standard protocol groups for interaction with the security service module and for invoking This feature set extends. Users and providers do not need to be traits that involve many different internal applications of the device, and some of the internal applications of such devices 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 secret value, whereas in the case of Fig. 48, the usage right object has no secret value. This difference requires a slightly different agreement as described above. However, the play in the picture is the same 'however the right to use is supplied. Thus, this difference will only be with respect to content providers and distributors' however, typically it is independent of the consumer, who typically only involves the playback phase. Therefore, the structure provides a great flexibility for content providers and distributors to customize the agreement, while maintaining the customer's ease of use. Information that is deduced from the information supplied by the two or more supply agreements can still be used. Two agreement access. 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 data controlled by the security data structure, the user can only save Take the results derived from the stored f material by the application (4) 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 DRM embodiment, the user of the host device is only able to obtain the presented content, but does not access the usage rights file or password compilation key. This feature allows the consumer to be convenient without compromising security. In the DRM embodiment, the internal application and the host of the device do not access the cryptographic key such as 月; only the security data structure can access the cryptographic key. In other embodiments, the real system other than the security data structure can also access the cryptographic key. Such secret records can also be generated by the internal applications of the devices and then controlled by the security data structure. Access to such device internal applications and access to information (eg, a single password and presented content) is controlled by the same security data structure. This reduces the complexity of the control system and cost. a delegate access to an access control record by providing a self-existing internal access control record (which controls access to such devices/applications) (its control/etc host access is invoked by the call The funds obtained by the internal application of the device are powerful. This special feature makes it possible to achieve the above characteristics and functions. The application-specific abolition scheme j can also be modified when it is invoked - the internal application of the device. Access control agreement for shell material, and structure. For example, the voucher abolishes the agreement: to - use the standard agreement or a proprietary agreement to revoke the list. Because: a fault is extended by a feature set, the standard abolition list abolition can be replaced by a feature group extension exclusive agreement. * 2 Support for the voucher abolition list abolition scheme, the secure storage application resides in the specific internal application within the skirt, which can be passed between 122366.doc -116- 200822670! The host is abolished by the private communication channel between the internal application and the certificate authority or any other abolition authority. This internal application exclusive abolition scheme is limited by the host_application relationship. When configuring the application material abolition scheme, the secure storage application system will reject the certificate revocation list (if provided), otherwise the certificate and the dedicated application data will be used (previously through an application-specific communication channel) Provided) to determine whether the given certificate is revoked. As described above, the access (4) record specifies which of the three abolition schemes (no abolition scheme, standard certificate abolition list scheme, and application specific abolition scheme) is adopted by specifying the abolition value. When selecting the private system and then supporting the exclusive application specific abolition (4) of the internal application, the access (4) record will also specify an ID for managing the internal application ID of the abolition scheme. And the value of the voucher revocation list to the (4) secret PP_ID block will correspond to the internal application ID that manages the abolition plan. When the device is authenticated, the secure storage application does not replace a set of agreements with another set of protocols, and the invocation of an internal application of the device may impose additional access conditions on the access control that has been exercised by the secure storage application (4). For example, the right to access one of the key values in the content encryption key can be further examined in detail by a feature set extension. After the secure storage application system determines that an access control record has access to a key value, the feature set extension is queried prior to granting the access. This feature allows the content owner to control the large elasticity of access to the content. Although the present invention has been described above with reference to various embodiments, it will be understood that the modifications and modifications can be made without departing from the scope of the invention, and the scope of the invention is only attached. The scope of the patent is defined by the scope of the patent and its equivalent. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a memory system that facilitates communication with a host device in accordance with the present invention. 02, 2, and 2 help to explain the different partitions of the memory of different embodiments of the present invention and the unencrypted and encrypted files stored in different partitions, for some partitions Access to encrypted files is controlled by access principles and authentication procedures. FIG. 3 is a schematic diagram showing the memory of different partitions in the memory. 4 depicts a schematic diagram of a file location table that does not contribute to the interpretation of the different partitions of the memory of FIG. 3 in accordance with various embodiments of the present invention, wherein certain files within the partitions are encrypted. 5 is a schematic diagram of an access control record and associated key reference in an access control record group that facilitates the release of one of the various embodiments of the present invention. 6 is a schematic diagram of a tree structure formed by access control record groups and access control records that facilitates the interpretation of various embodiments of the present invention. Figure 7 depicts a schematic diagram of a tree of three tree hierarchy architectures that do not access control record groups to illustrate the formalities 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. 9 is a flow chart showing a procedure for facilitating the use of a system access control record to establish an access control record group in a different embodiment of the present invention. 122366.doc -118- 200822670 FIG. A flow chart for a program that is used to access control records. Figure i, u is a schematic diagram of two access control record groups for a particular application of a tree-like hierarchy. Figure 12 is a flow chart showing the procedure for delegating a specific right. Figure θ τ # takes a schematic diagram of the control record group and an access control record to illustrate the delegated procedure of Figure 12.

圖14繪示用於建立_ 程序的流程圖。 用於加密及/或解密用途之密鑰的 圖15繪7^ 一用於根據一存取控制記錄移除存取權及/或 資料存取權限之程序的流程圖。 圖16繪不一用於當存取權及/或存取權限係已經被刪除 或已經過期時請求存取的程序的流程圖。 圖17Α及17Β繪不有助於闡釋本發明之不同實施例之用 於鑑認及料存取㈣料㈣之賴之規縣構的組織 之不意圖。 圖1晴示-用於根據原料控制對受保護資訊之存取的 替代方法之資料結構的方塊圖。 圖19繪示使用密碼之鑑認程序的流程圖 圖2 0緣示右干主機憑證鏈之圖式。 圖21繪示若干裝置憑證鏈之圖式。 示用於單向及互相鑑認 圖22及圖23(包含圖23Α及23Β)緣 方案之程式的協定圖。 圖24繪示有助於闡釋本發明 之一項實施例之一憑證鏈之 122366.doc -119- 200822670 圖式 圖251 會示在憑證緩衝區之前之一控制區段内的資可的 表,該資訊係由該主機傳送,用於傳送最後一憑證至一記 憶體裝置’其係顯示該憑證係該憑證鏈内最後一憑證之一 項指示,以闡釋本發明之另一項實施例。 口圖26及27係分別顯示用於鑑認方案之卡及主機程序的流 私圖,其中,一記憶體卡正在鑑認一主機裝置。 ( 圖28及29係分別顯示用於㈣方案之卡及主機程序的流 程圖,其中,主機裝置正在鑑認一記憶體卡。 I及31、θ不刀別由一主機裝置及一記憶體裝置所實施 矛序的抓私圖’其中,該主機裝置擷取儲存於該記憶體 裝置内的憑證廢止清單’以闡釋本發明之另一項實施例。 圖32緣示列出憑證廢止清單内之攔㈣憑證廢止清單圖 式,以闡釋本發明之另一項實施例。 圖33及34分別繪示用於使用憑證廢止清單來驗證憑證之 卡及主機程序的流程圖。 圖35繪㈣於卡對傳送至該主機之資料加上簽名及用於 自忒主機解密資料的卡程序的流程圖。 圖36繪示主機程序的流程圖,其中,卡對傳送至該主機 之資料加上簽名。 圖37繪不主機程序的流程圖,其中,該主機傳送經加穷 資料至該記憶體卡。 山 圖38及39分別緣示用於—般資訊查詢及謹慎資訊查詢之 程序的流程圖。 122366.doc 200822670 圖40A係一記憶體裝置(諸如一快閃記憶體卡)連接至一 主機裝置的系統架構之功能方塊圖,以闡釋本發明之一項 實施例。 圖40B緣示圖40A之安全服務模組核心的内部軟體模組 之功能方塊圖。 圖41繪示用於建立單次密碼之系統之方塊圖。 圖42繪示單次密碼種子供應及單次密碼產生之功能方塊 圖。Figure 14 depicts a flow chart for establishing a _ program. Figure 15 depicts a flow diagram for a procedure for removing access rights and/or data access rights based on an access control record. Figure 16 depicts a flow diagram of a procedure for requesting access when access rights and/or access rights have been deleted or have expired. Figures 17 and 17 are not intended to illustrate the organization of the different embodiments of the present invention for the purpose of identification and material access (4). Figure 1 is a block diagram showing the data structure of an alternative method for controlling access to protected information based on raw materials. Figure 19 is a flow chart showing the authentication procedure using the password. Figure 20 shows the diagram of the right-hand host credential chain. Figure 21 illustrates a diagram of a number of device credential chains. The agreement diagram for the unidirectional and mutual authentication schemes of Fig. 22 and Fig. 23 (including Figs. 23Α and 23Β). 24 is a table 162. doc-119-200822670 that illustrates one of the credential chains of an embodiment of the present invention. FIG. 251 shows a table of resources in one of the control sections before the credential buffer. The information is transmitted by the host for transmitting the last voucher to a memory device 'it indicates that the voucher is an indication of the last voucher in the voucher chain to illustrate another embodiment of the present invention. Port diagrams 26 and 27 show a private diagram of the card and host program for the authentication scheme, respectively, in which a memory card is authenticating a host device. (Figures 28 and 29 are flowcharts showing the card and host program for the (4) scheme, respectively, wherein the host device is authenticating a memory card. I and 31, θ are not separated by a host device and a memory device. A private map of the implemented spears, wherein the host device retrieves a voucher revocation list stored in the memory device to explain another embodiment of the present invention. Figure 32 shows the list of voucher revocation lists. The fourth (four) voucher revocation list schema is used to explain another embodiment of the present invention. Figures 33 and 34 respectively show a flow chart for verifying the voucher card and the host program using the voucher revocation list. Figure 35 depicts (4) the card A flowchart of a card program for signing data to the host and for decrypting the data from the host. Figure 36 is a flow diagram of the host program in which the card signs the data transmitted to the host. 37 depicts a flow chart of a host program in which the host transmits the depleted data to the memory card. Figures 38 and 39 respectively illustrate flowcharts for a general information query and a cautious information query procedure. Doc 20 0822670 is a functional block diagram of a system architecture in which a memory device (such as a flash memory card) is coupled to a host device to illustrate an embodiment of the present invention. Figure 40B illustrates the security service module of Figure 40A. Functional block diagram of the internal software module of the core group. Figure 41 is a block diagram of a system for establishing a single password. Figure 42 is a functional block diagram showing a single password seed supply and a single password generation.

圖43緣示種子供應階段的協定圖。 圖44缘示單次密碼產生階段的協定圖。 圖45繪示DRM系統的功能方塊圖。 豆圖46繪不用於使用權供應及内容下載之程序的協定圖, 其中’使用權物件中提供密鍮。 圖47繪不用於播放操作之程序的協定圖。 〇 、、曰示一用於使用權供應及内容下載之程序的協定 圖,由 使用權物件中未提供密餘。 【主要元件符號說明】 12 12a 14 記憶體卡或記憶體條 中央處理單元 中央處理單元隨機存取記憶體 緩衝管理單元(BMU) 主機介面模組(HIM) 快閃記憶體介面模組(FIM) 122366.doc •121- 200822670 20 22 24 26 26a 28 28a 32 34 36 38 40 101 102及104 106 130 132 502 504 506 508 510 512 快閃記憶體 周邊裝置存取模組(PAM) 主機裝置 主機介面匯流排 埠 决閃ό己憶體介面匯流排 埠 主機直接記憶體存取(HDMA) 决閃直接記憶體存取(FDMA) 仲裁器 緩衝隨機存取記憶體(BRAM) 密碼編譯引擎 檔案 檔案 未經加密槽案 根存取控制記錄群組 根存取控制記錄群組 主機根憑證授權單位憑證 主機1憑證授權置 汉權早位(第二層級)憑證 主機憑證 主機η憑證授權單位(第二層級)憑證 主機1憑證授權單位U三層級)憑證 主機憑證 主機憑證 122366.doc -122- 514 200822670 fFigure 43 shows the agreement diagram for the seed supply phase. Figure 44 shows the agreement diagram for the single-password generation phase. Figure 45 is a functional block diagram of the DRM system. Figure 46 depicts a map of the procedure not used for the right to use and content download, where the 'rights of use' are provided. Figure 47 depicts a protocol diagram of a program not used for a playback operation. 〇 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , [Main component symbol description] 12 12a 14 Memory card or memory bank Central processing unit Central processing unit Random access memory buffer management unit (BMU) Host interface module (HIM) Flash memory interface module (FIM) 122366.doc •121-200822670 20 22 24 26 26a 28 28a 32 34 36 38 40 101 102 and 104 106 130 132 502 504 506 508 510 512 Flash Memory Peripheral Access Module (PAM) Host Device Host Interface Convergence埠 埠 ό ό ό 介 介 汇 汇 埠 埠 埠 埠 埠 埠 埠 Direct Memory Access (HDMA) Flash Direct Memory Access (FDMA) Arbiter Buffer Random Access Memory (BRAM) Password Compilation Engine Archive Unencrypted Slot root access control record group root access control record group host root credential authorization unit credential host 1 credential authorization Han right early (second level) credential host credential host n voucher authorization unit (second level) credential Host 1 certificate authority unit U three-level) certificate host certificate host certificate 122366.doc -122- 514 200822670 f

520 裝置根憑證授權單位憑證 522 裝置1憑證授權單位(製造商)憑證 524 裝置憑證 526 裝置η憑證授權單位(製造商)憑證 528 裝置憑證 542 安全服務模組系統 540 主機系統 550 存取控制記錄 548 主機根憑證 544 主機憑證 546 主機公開密鑰 549 中間憑證授權單位 554 隨機號碼 547 私有密鑰 562 隨機號碼 590 憑證鏈 590(1) 憑證鍵 590(2) 憑證 590(9) 憑證 591, 593, 595, 597及599 憑證串 1000 糸統架構 1002 安全儲存應用程式傳輸層 1004 安全服務模組核心 1012 密碼編譯庫 122366.doc 123- 200822670 1006 安全服務模組核心API 1010 裝置内部應用程式 1008 安全性應用程式管理員模組 1011 裝置管理系統 1022 安全儲存應用程式命令處理常式 1024 安全儲存應用程式管理員 1026 安全儲存應用程式資料庫 1028 安全儲存應用程式非安全操作模組 1030 安全儲存應用程式安全操作模組 1032 模組 1034 模組 1050 系統 1052 鑑認伺服器 1054 網際網路伺服器 1058 符記 1056 使用者 1100 安全儲存應用程式特徵組延伸系統 1102 軟體程式碼特徵組延伸 1104 通訊管道 1106 應用程式存取控制記錄 1101 存取控制記錄 1103 存取控制記錄 1106 存取控制記錄 1110 存取控制記錄 122366.doc -124- 200822670 1120 身份物件 1122 身份物件 1114 安全資料物件 1116 身份物件 1104' 通訊管道 1102' 特徵組延伸應用程式 1108f 連結(關聯性) 11141 内容加密密鑰 1101,,1103,及 1106f 控制結構 1110f 存取控制記錄520 Device Root Certificate Authorization Unit Document 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 Credentials 544 Host Credentials 546 Host Public Key 549 Intermediate Credential Authorization Unit 554 Random Number 547 Private Key 562 Random Number 590 Credential Chain 590(1) Credential Key 590(2) Credential 590(9) Credential 591, 593, 595 , 597 and 599 Credential String 1000 System Architecture 1002 Secure Storage Application Transport Layer 1004 Security Service Module Core 1012 Password Compilation Library 122366.doc 123- 200822670 1006 Security Service Module Core API 1010 Device Internal Application 1008 Security Application Administrator 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 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 122366.doc -124- 200822670 1120 Identity Object 1122 Identity Object 1114 Security Data Object 1116 Identity Object 1104' Communication Pipe 1102' Feature Group Extension Application 1108f Link (Affinity) 11141 Content Encryption Keys 1101, 1103, and 1106f Control Structure 1110f Access Control Record

122366.doc 125·122366.doc 125·

Claims (1)

200822670 、申請專利範圍: 一種提供資料處理服務給主機之資料儲存設備,包入. -非揮發性記憶體系統,其係組態成可卸除地連3接至 該等主機之個別主機,且能夠儲存資料; -安全性資料結構,其係儲存於該非揮發性記憶體系 統中;及 至少-軟體應用程式,其係儲存於該非揮發性記憶體 系統中,肖至少一軟體應用程式可被該等主機予以調 用’以實行該資料的處理,該安全性資料結構控制:該 記憶體系統透過一鑑認程序所連接之該等主機之一者對 可自該資料獲得的資訊及該至少一軟體應用程式之存 取。 2·如請求们之資料儲存設備’其中,已在該鑑認程序中 鑑認該等主機中之至少—主機之後,由該至少—主機所 調用之至少一軟體應用程式可存取該資料。 3. ^請求項R資料儲存設備,其中,該至少—軟體應用 程式係處理該資料之至少一些,以獲得該資訊。 4. 如請求項3之冑料儲存設備,其巾,已在該鑑認程序中 鑑認該等主機巾之至少—主機之後,該資訊係可顯露給 該至少一主機。 5· ^请求項4之資料儲存設備,該安全性資料結構包含一 第一控制結構及一第二控制結構,該第一控制結構係相 關聯於該至少_軟體應用程式,其中,該第—控制結構 /、有委派對該資訊之存取控制給該第二控制結構之權 122366.doc 200822670 J忒第一控制結構係藉由該鑑認程序控制該等主機 該資訊的存取。 其中’該至少一主機不可 6·如請求項4之資料儲存設備 存取該資料。 如π求項3之資料儲存設備,其中,該資料包含一種子 值由5亥至少一軟體應用程式使用該種子值而產生一單 -人在碼,且該資訊包含該單次密碼。200822670, the scope of patent application: a data storage device that provides data processing services to the host, including - non-volatile memory system, which is configured to be removably connected to individual hosts of the hosts, and Capable of storing data; - a security data structure stored in the non-volatile memory system; and at least a software application stored in the non-volatile memory system, at least one software application being Waiting for the host to call 'to perform the processing of the data, the security data structure controls: the memory system obtains information available from the data and the at least one software by one of the hosts connected by an authentication program Application access. 2. The data storage device of the requester, wherein at least one of the host applications is authenticated by the at least one host after the at least one of the hosts has been authenticated in the authentication program. 3. Request a R data storage device, wherein the at least one software application processes at least some of the data to obtain the information. 4. The information storage device of claim 3, after the towel has been authenticated in the authentication process, at least the host, the information may be revealed to the at least one host. 5. The data storage device of claim 4, the security data structure comprising a first control structure and a second control structure, the first control structure being associated with the at least _software application, wherein the first The control structure/, has the right to delegate access to the information to the second control structure. 122366.doc 200822670 The first control structure controls the access of the information by the host by the authentication program. Wherein the at least one host is not available. 6. The data storage device of claim 4 accesses the data. The data storage device of claim 3, wherein the data comprises a sub-value generated by the at least one software application of the 5 HAI to generate a single-person code, and the information includes the single password. 8_ 士明求項3之貧料儲存^備,其中,該資料係關於至少 吏用權该至少一使用權係用於存取該非揮發性記憶 體系統内所儲存或待儲存之經加密内容,且該資訊係指 不是否該至少一使用權係有效的。 如明求項8之貧料儲存設備,其中,該非揮發性記憶體 系統儲存經加密資料,且該安全性資料結構回應於該資 訊來控制該經加密資料之解密。 I 〇 ·如π求項8之資料儲存設備,該設備包含儲存於該非揮 發性冗憶體系統内之複數個Drm軟體應用程式,該等 DRM軟體應用程式係可由該等主機選擇且可由該等主機 調用,以用於處理該資料。 II ·如睛求項1之資料儲存設備,該設備包含儲存於該非揮 發性記憶體系統内之複數個軟體應用程式。 12.如清求項丨丨之資料儲存設備,其中,該等主機係藉由資 料處理請求而調用該複數個軟體應用程式,該設備進一 步包含相對應於該複數個軟體應用程式之一個別者的一 通訊通道’以用於傳送來自該等主機的該等資料處理請 122366.doc 200822670 求至該等應用程式’該安全性資料結構控制料通訊通 道’以透過相對應於該等應隸式之_者之該通訊通 道’傳^:來自料主機之一纟的該I資料處理請求之一 者至該應用程式。 13. 如請求項12之資料儲存設備,其中,當該資料處理請求 係於相對應於該應用程式之該通訊通道内時,該安全性 貢料結構不辨明該資料處理請求内之資訊。8_ Shiming Item 3 of the poor material storage device, wherein the data relates to at least the right to use the at least one usage right for accessing the encrypted content stored or to be stored in the non-volatile memory system, And the information refers to whether or not the at least one usage right is valid. The poor storage device of claim 8, wherein the non-volatile memory system stores the encrypted data, and the security data structure controls the decryption of the encrypted data in response to the information. I 〇 如 π 求 8 8 data storage device, the device comprising a plurality of Drm software applications stored in the non-volatile memory system, the DRM software applications can be selected by the host and can be The host calls to process the data. II. The data storage device of claim 1, which comprises a plurality of software applications stored in the non-volatile memory system. 12. The data storage device of the present invention, wherein the host calls the plurality of software applications by a data processing request, the device further comprising one of the plurality of software applications corresponding to the plurality of software applications a communication channel 'for transmitting such data processing from the host 122266.doc 200822670 to the applications 'the security data structure control material communication channel' to correspond to the corresponding responsibilities The communication channel of the _ is transmitted: one of the I data processing requests from one of the host hosts to the application. 13. The data storage device of claim 12, wherein the security tributary structure does not identify information within the data processing request when the data processing request is within the communication channel corresponding to the application. 14. ^請求項12之資料儲存設備,該安全性資料結構控制該 等通訊通道,使得該等通訊通道之間無串擾。 •如請求額之資料儲存設備,其中,該等軟體應用程式 中之至少-些者之每—者係可由該等主機藉由選擇相對 應於該每一軟體應用程式之該通訊通道而選擇出。 16. 如=求項15之資料健存設備,其中,在已於該鑑認程序 中藉由4安全性貧料結構鑑認該等主機之後,該等通訊 通道中之至少一些者之每一者係可被該等主機選擇。 17. 如請求項12之資料儲存設備,該安全性資料結構包含至 少一控制結構,其控制該等主機對該等通訊通道中之至 少一者之存取。 18. 如請求項丨之資料儲存設備,其進一步包含介於該安全 性貪料結構與該等主機之間以及介於該安全性資料結構 與δ亥至少一軟體應用程式之間之一介面。 m請求項18之資料儲存設備,其中,該至少—軟體應用 程式傳送請求至該安全性資料結構,且該介面係不區別 來自該等主機的請求及來自該至少—軟體應用程式的請 122366.doc 200822670 求,使得該安全性資料結構不知 該等主機或來自該至少一應用。疋肖等請求係來自 2〇.如請求項1之資料儲存設備,Γ進二牛勺人 物件,其係可由該等主機所存取進且儲-資料 U體糸統中’該至少1料物㈣存該 至少一資料物件與該至少一 "於5亥 ± 軟體應用程式之間的至少一 :聯性,使得當該等主機之_者傳送一用於該資㈣請 求至该安全性資料結構 ° 該至少一軟體應用程Γ。该少―關聯性而調用 21. =項2°之資料儲存設備’其進-步包含儲存於該非 憶體糸統内之經加密内容,其中,該資料包含 :解密密鑰值’且該資訊包含藉由該至少-軟體應用程 ’自該經加密内容獲得的經解密内容及該解密密輪值。 22. 如請求項20之資料儲存設備,該資料包含一種子值,由 孩至少一軟體應用程式使用該種子值而產生一單次密 碼,且該資訊包含該單次密碼。 23_如请求項丨之資料儲存設備,其進一步包含一物件,該 物件包含一密鑰對,該密鑰對包含一私有密鑰及一公開 岔鑰,至少一憑證含有該公開密鑰,其中,該至少一軟 體應用程式係採用該至少一憑證,以用於對於該等主機 中之至少一者檢定該公開密鑰係真實的,及用於獲得以 5亥公開密鑰加密之資料。 24·如μ求項丨之資料儲存設備,其進一步包含儲存於該非 揮發性記憶體系統内之經加密資料,其中,經加密資料 122366.doc 200822670 係可藉由儲存於該非揮發性記憶㈣統内之至少—解& 密鑰之-值而被解密’且該安全性資料結構係獨佔式二 制對該至少一解密密鑰之該值的存取。 25.如請求項24之資料健存設備,其中,該至少—軟體應用 程式及該等主機不可存取該至少一解密密餘之該值。 % -種提供資料處理服務給主機之資料儲存設備,包含: -非揮發性記憶體系統’其係組態成可却除地連接至 該等主機之個別主機; -安全性資料結構’其係儲存於該非揮發性記憶體系 統中’該安全性資料結構控制該記憶㈣統所連接之該 主機對儲存於該非揮發性記憶體系統内之資料的存取; /至少-軟體應用程式’其係儲存於該非揮發性記憶體 系統中’該至少-軟體應用程式可被該主機予以調用, 以實行該資料的處理;及 一組協定,其係儲存於該非揮發性記憶體系統内,該 組協定係用於介於該等主機與該資料儲存設備之間通 訊; 其中,該等協定中之至少一者係可被該至少一軟體應 用程式之調用而修改。 27·如請求項26之資料儲存設備,其中,該至少一軟體應用 程式之調用係以一不同的協定取代該該至少一協定。 28·如凊求項27之資料儲存設備,其中,該不同的協定係關 於一憑證廢止方案。 29· —種提供資料處理服務給主機之資料儲存設備,包含·· 122366.doc 200822670 一非揮發性記憶體系統,1 嗜犛*德v 、係、、且恶成可卸除地連接至 通寺主機之個別主機; < 饮王 一安全性資料結構,复# 统中,9^入# k 八儲存於该非揮發性記憶體系 、,先中“全性資料結構控制 非揮發性記憶體㈣内之資H子H待錯存於该 至少一軟體應用程式,i # 李统中m Λ 〃係储存於該非揮發性記憶體 糸、、死中’该至少一軟體應 ^ ^ ^ ^ %式可被該記憶體系統所連 r 接之該等主機之一者予以調用; 叮埂 其中,該安全性資料結構係藉 ..^ 稽田執仃一存取原則而控 制對於該資料的存取,且該至一 ^ ^ . 軟體應用程式之調用 _ ^ 額外條件不同於用於由 该4主機存取該資料之該存取原則。 3〇·如請求項29之資料儲存設備,盆 八中该至少一額外條件 係關於一使用權。 3!.如請求項29之資料儲存設備’其中,在料對該資料之 存取之前,該等主機將需要符合該第一存取原則及該第 二存取原則。 32. -種提供資料處理服務給主機之資料料設備,包含: -非揮發性記憶體系統,其係組態成可卸除地連接至 該等主機之個別主機; -安全性資料結構’其係儲存於該非揮發性記憶體系 統中,該安全性資料結構控制存取儲存於或待儲存於該 非揮發性記憶體系統内之資料; 至少-軟體應用程式,其係儲存於該非揮發性記憶體 122366.doc 200822670 系統中,該至少_ #0 ^ » & 、 - w用轾式可被該記憶體系統所連 接之機予以調用,以實行該資料的處理;及 貝料物件’其㈣存於該非揮發性記憶體系統 物杜且其3有4 #料之至少—些,且介於該至少-資料 〜與该至少一軟體應用程式之間的至少一關聯性,使 付虽該至少-資料物件被該記憶體系統所連接之該主機 存取時,透過該至少—關聯性而調用該至少—軟體應用14. ^ The data storage device of claim 12, the security data structure controls the communication channels such that there is no crosstalk between the communication channels. • a data storage device of a request amount, wherein at least some of the software applications are selectable by the host by selecting the communication channel corresponding to each software application . 16. The data storage device of claim 15, wherein each of the communication channels is authenticated after the host has been authenticated by the security lean structure in the authentication process. The system can be selected by these hosts. 17. The data storage device of claim 12, the security data structure comprising at least one control structure that controls access by at least one of the communication channels by the hosts. 18. The data storage device of the request item, further comprising an interface between the security cradle structure and the host and between the security data structure and at least one software application. The data storage device of claim 18, wherein the at least one software application transmits a request to the security data structure, and the interface does not distinguish between requests from the hosts and requests from the at least one software application 122366. Doc 200822670 seeks to make the security data structure unknown to the host or from the at least one application. The request is from 2〇. If the data storage device of claim 1 is broken into two pieces of characters, it can be accessed by the host and stored in the data U-system. And (4) storing at least one of the at least one data item and the at least one "5<1> software application, such that when the host transmits a request for the security (four) to the security Data Structure ° The at least one software application. The data storage device that calls 21. = item 2° is less-related, and the further step includes the encrypted content stored in the non-memory system, wherein the data includes: a decryption key value and the information Containing the decrypted content obtained from the encrypted content by the at least-software application and the decryption pin value. 22. The data storage device of claim 20, wherein the data includes a sub-value that is generated by the at least one software application to generate a single password and the information includes the single password. 23_ The data storage device of the request item, further comprising an object, the object comprising a key pair, the key pair comprising a private key and a public key, wherein at least one voucher contains the public key, wherein And the at least one software application uses the at least one credential for verifying that the public key is authentic for at least one of the hosts and for obtaining data encrypted with a public key. 24. The data storage device of the method, further comprising encrypted data stored in the non-volatile memory system, wherein the encrypted data 122366.doc 200822670 can be stored in the non-volatile memory (four) system At least the solution - the value of the key is decrypted 'and the security data structure is an exclusive access to the value of the at least one decryption key. 25. The data storage device of claim 24, wherein the at least one software application and the host are inaccessible to the value of the at least one decryption secret. % - A data storage device that provides data processing services to the host, including: - a non-volatile memory system that is configured to be individually connected to individual hosts of the hosts; - a security data structure Stored in the non-volatile memory system', the security data structure controls access by the host connected to the memory (4) to the data stored in the non-volatile memory system; / at least - the software application' Stored in the non-volatile memory system 'the at least-software application can be invoked by the host to perform processing of the data; and a set of protocols stored in the non-volatile memory system, the set of agreements Used to communicate between the host and the data storage device; wherein at least one of the agreements can be modified by the at least one software application. 27. The data storage device of claim 26, wherein the invoking of the at least one software application replaces the at least one agreement with a different agreement. 28. The data storage device of claim 27, wherein the different agreement is related to a certificate abolition scheme. 29·- A data storage device that provides data processing services to the host, including · · 122366.doc 200822670 A non-volatile memory system, 1 牦 牦 德 德 德 德 德 德 德 德 德 德 连接 连接 连接 连接The individual host of the temple host; < drinking king a security data structure, complex # system, 9 ^ into # k 八 stored in the non-volatile memory system, first "full data structure control non-volatile memory (4) The capital H sub-H is to be stored in the at least one software application, i #李统中 m Λ 〃 is stored in the non-volatile memory 糸,, 死, the at least one software should be ^ ^ ^ ^ % Called by one of the hosts connected to the memory system; wherein the security data structure controls access to the data by using the . And the call to the ^^^ software application _ ^ the additional condition is different from the access principle for accessing the data by the 4 host. 3〇·If the data storage device of claim 29, At least one additional condition relates to a right to use 3! The data storage device of claim 29, wherein the host will need to comply with the first access principle and the second access principle before accessing the material. A data processing device for processing a service to a host, comprising: - a non-volatile memory system configured to be removably connected to an individual host of the host; - a security data structure 'separately stored in the non-volatile In the memory system, the security data structure controls access to data stored in or to be stored in the non-volatile memory system; at least a software application stored in the non-volatile memory 122366.doc 200822670 system , at least _ #0 ^ » &, -w can be invoked by the machine to which the memory system is connected to perform processing of the data; and the bedding object 'is (4) stored in the non-volatile memory The system object and its 3 have at least some of the materials, and at least one of the at least one data to the at least one software application, so that at least the data object is saved by the memory When the host connected to the body system accesses, the at least-software application is invoked through the at least-association 私式,以處理該至少—資料物件内之該至少—些資料, 以獲得資訊。 ' 33.如請求項32之資料儲存設備,該安全性資料結構透過一 鑑認程序控制該等主機中之至少―者對儲存於該非揮發 性=憶體系㈣之資料的存取’其中,已透過該鑑認程 序藉由該安全性資料結構鑑認該至少一主機之後,該資 讯可顯露給該至少_主機’而無需進—步調㈣至少一 應用程式。 34.如請求項33之資料儲存設備,其中,該等主機中之至少 一者不可存取該至少一資料物件内之該至少某些資料。 3 5.種提供資料處理服務給主機之資料儲存設備,包含: 一非揮發性記憶體系統,其係組態成可卸除地連接至 該等主機之個別主機; 一安全性資料結構,其係儲存於該非揮發性記憶體系 統中,該安全性資料結構包含一第一控制結構,其係用 於控制該記憶體系統所連接之該主機對可自儲存於或待 儲存於該非揮發性記憶體系統内之資料所獲得之資訊的 122366.doc 200822670 存取;及 至少一軟體應用程式,A . ^ ,、係儲存於該非揮發性記憶體 糸統中,該至少一軟I# 接…… 式可被該記憶體系統所連 接…主機予以調用,以實行該資料的處理, ❹訊,該安全性資料結構包含m 用於控制該至少一軟體雍1 ,、你 釈體應用程式之調用,其中,該 控制結構及該第二控制釺 制 σ抓用實貝上相同的控制機 36. -種提供資料處理服務給主機之資料儲存設備,包含· 一非揮發性記憶體系統,其係組態成可卸除地連接至 該等主機之個別主機且可儲存資料; -安全性資料結構’其係儲存於該非揮發性記 統之中; 至少-資料物件,其係健存於該非揮發性記憶體系統 之中; 複數個第一組不同的協定,其係儲存於該非揮發性記 隐體系統之中’该等第一組協定係可被該記憶體系統所 連接之該等主機之一者予以個別選擇,以在該安全性資 料結構之控制下,使來自該主機的資料或自該資料推導 出之衍生資料能夠被提供至及儲存於該至少一資料物件 之中; 一第二組協定,其係儲存於該非揮發性記憶體系統之 中且其係在該安全性資料結構之控制下,使得能夠自 該資料物件擷取該資料或衍生資料; 122366.doc 200822670 其中’彡亥第,一組協定播^呈执ι.χ 购疋使侍此夠擷取該資料或衍生資 料,而不顧及該等第一组協宕夕舰 .^ 、 拗疋之哪一者實現該資料或衍 生資料之提供及儲存。 37.如請求項36之資料儲存設備,其中,介於該等第一組協 定之間之-差異係關於該非揮發性記憶體系統之鑑認或 該資料之加密。 38·如請求項36之資料儲存設備,其進一步包含複數個不同 的軟體應用程式,該複數個不同的軟體應用程式係儲存 於該非揮發性記憶體系統之中,其中,該等不同的軟體 應用程式中之至少一些之每一者係對應於該等第一組協 定之一者,使得當該等第一組協定之一者係被選擇以實 現该資料或衍生資料之提供及儲存時,調用相對應於該 一第一組協定之軟體應用程式,以處理該資料或衍生資 料。 39.如請求項38之資料儲存設備,其中,該至少一些不同的 軟體應用程式自處理該資料或衍生資料而產生不同的結 1 a 果。 40·如請求項38之資料儲存設備,其中,該資料或衍生資料 包含複數個種子值之一者,其中,該至少一些不同的軟 體應用程式之每一者處理該複數個種子值中之一對應種 子值,以產生一對應的單次密碼。 41·如請求項38之資料儲存設備,其中,該非揮發性記憶體 儲存經加密資料,該資料或衍生資料包含用於解密該經 加密内容之複數個解密密鑰之一者,且該該至少一些軟 122366.doc -9- 200822670 體應用程式中之每—者採用該複數個解密密鍮之 密鑰以用於解密該經加密内容。 … 42. -種用於藉由—設備提供資料處理服務給主機之方法, 該設備包含:一非揮發性記憶體系統,其係具有儲存於 其内之資料;-安全性資料結構,其係储存於該非揮發 性記憶體系統之中;及至少-軟體應用程式,其係儲存 於該非揮發性記憶體系統之中;該方法包含: 可卸除地連接該非揮發性記憶體系統至該主機; 使用該主機調用該至少一軟體應用程式,以處理該資 料以獲得資訊;及 A > 由該主機存取該資訊,其中,該調用及該存取係由該 安全性資料結構所控制。 43. 如請求項42之方法,該安全性資料結構包含:一第一控 制結構及一第二控制結構’該第-控制結構係相關聯於 該至少-軟體應用程式’該第二控制結構控制該主機對 該資訊的存取’該方法進—步包含該第-控制結構委派 存取該資訊的控制給該第二控制結構。 44. 如請求項42之方法,其中,該主機無法存取該資料。 45. 如請求項42之方法’其中,該f料包含—種子值,且該 貝。fi已3單-人岔碼,該調用導致該至少一軟體應用程 式自該種子值產生該單次密碼。 46·如請求項42之方法,其中,豸資料係關於至少-使用 權’該至少-使用權係用於存取該非揮發性記憶體系統 内所儲存或待儲存之經加密时,且該則導致該至少 122366.doc -10- 200822670 一軟體應用程式產峰關私e π # 生關於疋否該至少-使用權係有效的 一指示。 4 7 ·如請求項4 6之方法,盆由 ^ , 一 八中’该非揮發性記憶體儲存經加 密資料’該方法進—步包含該安全性資料結構回應於該 資訊’以決定是否該經加密資料之解密係被允許。 48· 一種用於藉由一非揮發性記憶體裝置提供資料處理服務 σ機之方法°亥裝置於其内儲存複數個軟體應用程 式,該方法包含: 於°亥非揮發性§己憶體裝置處透過該等主機之-者接收 來自一資料來源的資料; 回應於來自該一主拖沾 ^ 機的一请未,調用該複數個軟體應 用私式中之-第-軟體應用程式,以於該非揮發性記憶 體裝置内建立-資料物件,且於該資料物件中儲存該資 料或自該資料推導出之衍生資料;及 使該資料物件相關聯於該複數個軟體應用程式之一第 二軟體應用程式,使得當存取該資料物件時,調用該第 二軟體應用程式。 49. 如凊求項48之方法,其中,該第一軟體應用程式及該第 二軟體應用程式係相同的軟體應用程式。 50. 如請求項48之方法’該非揮發性記憶體裝置係組態成可 卸除地連接至該等主機中之每一者,該方法進一步包含 可卸除地連接該非揮發性記憶體裝置與該等主機中之一 者。 5 1 ·如請求項48之方法,該非揮發性記憶體裝置包含一安全 122366.doc 200822670 性資料結構,其中,該安全性資料結構包含一第一控制 結構及一第二控制結構,該第一控制結構係相關聯於該 第一軟體應用程式且控制對該資料物件之存取,該方法 進一步包含該第一控制結構委派對該資料物件之存取控 制給該第-一控制結構。 52. 如請求項51之方法,其進一步包含透過該等主機之一者 存取該資料物件’其中,該存取係受控於該第二控制結 構。 53. 如請求項48之方法’其中,該資料係關於一用於產生一 單次密碼之種子值’該方法進一步包含該第一軟體應用 程式建立該資料物件且於該f料物件中料該種子值。 54·如請求項53之方法,盆抱一丰— 其進一步包含,由一與該來源不同 的實體存取該資料物件,i由, ,、中調用该第二軟體應用程 式’ Μ使用该種子值λ音{欠各 丁值來實订f枓處理,以產生該單次密 馬該方法it步包含提供該單次密碼給該實體。 •如請求項48之方法,其中,該資料包含一使用權物件, 该方法進一步包合$ | Μ弟一軟體應用程式建立該資料物 料物件中儲存-解密密餘,該解密密餘能夠被 解讀存於騎料於該非揮發性記憶體裝 經加密内容。 的 56.如睛求項55之方法甘 鑰,去纟中’該使用權物件包含該解密密 内之:s 存係於該資料物件中儲存該使用權物件 内之該解密密鑰。 带初件 5 7 ·如請求項5 5之方法, 該非揮發性記憶體裝置包含_安全 122366.doc -12- 200822670 性資料結構’其中,該使用權物件不包含該解密密鑰, 該方法進一 #包含㈣一軟體應用帛式請求該安全性資 料結構以產生該解密密鍮’其中’該儲存係於該資料物 件中儲存由該安全性資料結構所產生之該解密密錄。 58. -種用於使用-資料儲存設備提供資料處理服務給主機 之方法,該設備包含: -非揮發性記憶體系統,其係組態成可卸除地連接至 該等主機之個別主機且可儲存資料; -安全性資料結構,其係儲存於該非揮發性記憶體系 統之中; 至少一資料物件,其係儲存於該非揮發性記憶體系統 之中; 複數個第-組不同的協定’其係儲存於該非揮發性記 憶體系統之中; 一第二组協定,其係儲存於該非揮發性記憶體系統之 中,且其係在該安全性資料結構之控制下,使得能夠自 該至少-資料物件操取該資料或自該資料推導出之衍生 資料; 該方法包含: 選擇該等第一組協定之 構之控制下,使來自該記憶 資料或衍生資料能夠提供至 之中;及 者’以在該安全性資料結 體系統所連接之該主機的該 或儲存於該至少一資料物件 使用該第二組協定,使得能夠擷取該資料或衍生資 122366.doc 200822670 、、且協疋之哪一者實現該資料或衍 料,而不顧及該等第 生資料之提供及儲存 ”·如請求項58之方法,豆中,人 一差里伤Μ^ ;丨於该等第一組協定之間之 加密。 Π隐體糸統之鑑認或該資料之Privately, to process at least the at least some of the information in the data object for information. 33. The data storage device of claim 32, wherein the security data structure controls, by an authentication program, at least one of the hosts to access the data stored in the non-volatile = memory system (4) After the at least one host is authenticated by the authentication program by the security data structure, the information may be revealed to the at least one host without stepping through (four) at least one application. 34. The data storage device of claim 33, wherein at least one of the hosts is inaccessible to the at least some of the at least one of the data items. 3 5. A data storage device for providing data processing services to a host, comprising: a non-volatile memory system configured to be removably connected to individual hosts of the hosts; a security data structure, Stored in the non-volatile memory system, the security data structure includes a first control structure for controlling the host pair to which the memory system is connected to be self-storing or to be stored in the non-volatile memory The information obtained by the information in the system is 122366.doc 200822670 access; and at least one software application, A. ^, is stored in the non-volatile memory system, the at least one soft I# is connected... The type can be connected by the memory system, and the host calls to execute the processing of the data. The security data structure includes m for controlling the at least one software 雍1, and the calling of the 应用body application. Wherein, the control structure and the second control unit σ capture the same control machine on the shell. 36. A data storage device for providing data processing services to the host, including A non-volatile memory system configured to be removably coupled to individual hosts of the host and store data; - a security data structure 'stored in the non-volatile memory; at least - a data object that is stored in the non-volatile memory system; a plurality of first different sets of protocols stored in the non-volatile secret system; the first set of protocols are One of the hosts to which the memory system is connected is individually selected to enable the data from the host or derivative data derived from the data to be provided to and stored in the control data structure under the control of the security data structure. At least one of the data items; a second set of agreements stored in the non-volatile memory system and under the control of the security data structure to enable the data to be retrieved or derived from the data object Information; 122366.doc 200822670 where '彡海第, a group of agreements broadcasted ^ ι χ χ 疋 疋 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍 侍Evening ship. ^, Bend the piece goods which delivers this by providing information or derivative and storage of information. 37. The data storage device of claim 36, wherein the difference between the first set of agreements is an identification of the non-volatile memory system or an encryption of the data. 38. The data storage device of claim 36, further comprising a plurality of different software applications, the plurality of different software applications being stored in the non-volatile memory system, wherein the different software applications Each of at least some of the programs corresponds to one of the first set of agreements such that when one of the first set of agreements is selected to effect the provision and storage of the data or derivative material, Corresponding to the software application of the first set of agreements to process the data or derivative materials. 39. The data storage device of claim 38, wherein the at least some different software applications generate different results by processing the data or derivative data. 40. The data storage device of claim 38, wherein the data or derivative material comprises one of a plurality of seed values, wherein each of the at least some different software applications processes one of the plurality of seed values Corresponding to the seed value to generate a corresponding one-time password. 41. The data storage device of claim 38, wherein the non-volatile memory stores encrypted data, the material or derivative material comprising one of a plurality of decryption keys for decrypting the encrypted content, and the at least Some of the soft 122366.doc -9-200822670 applications use the plurality of decrypted keys for decrypting the encrypted content. 42. A method for providing a data processing service to a host by means of a device, the device comprising: a non-volatile memory system having data stored therein; - a security data structure, Stored in the non-volatile memory system; and at least a software application stored in the non-volatile memory system; the method comprising: removably connecting the non-volatile memory system to the host; Using the host to invoke the at least one software application to process the data for information; and A > accessing the information by the host, wherein the call and the access are controlled by the security data structure. 43. The method of claim 42, the security data structure comprising: a first control structure and a second control structure 'the first control structure associated with the at least one software application' The host accesses the information. The method further includes the first control structure delegating control to access the information to the second control structure. 44. The method of claim 42, wherein the host is unable to access the material. 45. The method of claim 42, wherein the f-material comprises a seed value and the shell. Fi has a single-person weight that causes the at least one software application to generate the single password from the seed value. The method of claim 42, wherein the data is related to at least - the right to use - the at least - usage rights are used to access the encrypted or stored or stored in the non-volatile memory system, and the Causing the at least 122366.doc -10- 200822670 a software application to produce a clear indication of the e π #生的疋不 at least - the use of the right is an indication. 4 7 - According to the method of claim 4, the basin is configured to store the encrypted data by the non-volatile memory, and the method includes the security data structure responding to the information to determine whether the Decryption of encrypted data is permitted. 48. A method for providing a data processing service by a non-volatile memory device. The device stores a plurality of software applications therein, the method comprising: a non-volatile § memory device Receiving data from a source through the host; in response to a request from the master dragging machine, calling the plurality of software application-the software application in the private application Establishing a data item in the non-volatile memory device, storing the data in the data object or derivative data derived from the data; and associating the data object with the second software of the plurality of software applications The application causes the second software application to be called when accessing the data object. 49. The method of claim 48, wherein the first software application and the second software application are the same software application. 50. The method of claim 48, wherein the non-volatile memory device is configured to be removably coupled to each of the hosts, the method further comprising removably connecting the non-volatile memory device with One of these hosts. The method of claim 48, the non-volatile memory device includes a security 122366.doc 200822670 data structure, wherein the security data structure includes a first control structure and a second control structure, the first The control structure is associated with the first software application and controls access to the data object, the method further comprising the first control structure assigning access control to the data object to the first control structure. 52. The method of claim 51, further comprising accessing the data item by one of the hosts, wherein the access system is controlled by the second control structure. 53. The method of claim 48, wherein the data relates to a seed value for generating a single password. The method further comprises the first software application creating the data item and the material is Seed value. 54. The method of claim 53, wherein the method further comprises: accessing the data item by an entity different from the source, and invoking the second software application by using the second software application Μ The value λ tone { owes each value to the actual processing, to generate the single cipher. The method step includes providing the single password to the entity. The method of claim 48, wherein the data includes a usage right object, the method further includes a $1 software application to create a storage-decryption secret in the material item, the decryption secret can be interpreted Stored in the non-volatile memory loaded with encrypted content. 56. The method of claim 55, wherein the usage right object contains the decryption key: s is stored in the data object to store the decryption key in the usage right object. With the initial piece 5 7 · The method of claim 5 5, the non-volatile memory device includes _ security 122366.doc -12- 200822670 data structure 'where the use right object does not contain the decryption key, the method further #包含(4) A software application requesting the security data structure to generate the decryption key 'where' the storage is stored in the data object to store the decryption secret record generated by the security data structure. 58. A method for providing a data processing service to a host using a data storage device, the device comprising: - a non-volatile memory system configured to be removably connected to individual hosts of the hosts Storable data; - a security data structure stored in the non-volatile memory system; at least one data item stored in the non-volatile memory system; a plurality of different sets of different protocols' Stored in the non-volatile memory system; a second set of protocols stored in the non-volatile memory system and under the control of the security data structure, enabling at least - the data item is derived from or derived from the data; the method comprises: selecting, under the control of the composition of the first group of agreements, the source or derivative material from which it is provided; 'using the second set of agreements for the host connected to the security data link system or for storing the at least one data item, enabling the Which of the materials or derivatives is to be realized, regardless of the provision and storage of such data," as in the method of claim 58, Injury in the first place; 加密 in the encryption between the first set of agreements. 鉴 Identification of the hidden system or the information 60.如請求項58之方法,該資 個不同的軟體應用程式, 係儲存於該非揮發性記憶 的軟體應用程式中之至少 一組協定之一者,使得當 擇以實現該資料或衍生資 應於該一第一組協定之軟 衍生資料。 料儲存設備係進一步包含複數 該複數個不同的軟體應用程式 體系統之中,其中,該等不同 一些之每一者係對應於該等第 該等第一組協定之一者係被選 料之提供及儲存時,調用相對 體應用程式,以處理該資料或 61·如#求項60之方法’其中’該至少_些不同的軟體應用 転式自處理該資料或衍生資料而產生不同的結果。 62·如請求項60之方法,其中,該資料或衍生資料包含複數 個種子值之一者,其中,該被調用的軟體應用程式處理 該複數個種子值之一對應種子值,以產生一對應的單次 密碼。 63·如請求項60之方法,其中,該非揮發性記憶體儲存經加 後負料’该資料或衍生資料包含用於解密該經加密内容 之複數個解密密输之一者,其中,該被調用的軟體應用 程式採用該複數個解密密鑰之一對應密鑰以用於解密該 經加密内容。 122366.doc -14·60. The method of claim 58, wherein the different software application is one of at least one set of agreements stored in the non-volatile memory software application, such that the data or derivative is selected Soft derivative material in the first set of agreements. The material storage device further includes a plurality of the plurality of different software application system systems, wherein each of the different ones is selected according to one of the first group agreements When providing and storing, the relative application is invoked to process the data or 61. The method of claim 60, wherein the at least some different software applications automatically process the data or derivative data to produce different results. . The method of claim 60, wherein the data or derivative data comprises one of a plurality of seed values, wherein the invoked software application processes one of the plurality of seed values corresponding to the seed value to generate a correspondence Single password. The method of claim 60, wherein the non-volatile memory stores the added material 'the data or derivative data includes one of a plurality of decrypted secrets for decrypting the encrypted content, wherein the The invoked software application uses one of the plurality of decryption keys to use the key for decrypting the encrypted content. 122366.doc -14·
TW096124595A 2006-07-07 2007-07-06 Content control system and method using versatile control structure TW200822670A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US81950706P 2006-07-07 2006-07-07
US11/557,056 US20080034440A1 (en) 2006-07-07 2006-11-06 Content Control System Using Versatile Control Structure
US11/557,049 US8613103B2 (en) 2006-07-07 2006-11-06 Content control method using versatile control structure

Publications (1)

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

Family

ID=38923785

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096124595A TW200822670A (en) 2006-07-07 2007-07-06 Content control system and method using versatile control structure

Country Status (5)

Country Link
EP (1) EP2038804A2 (en)
JP (1) JP2009543211A (en)
KR (1) KR20090052321A (en)
TW (1) TW200822670A (en)
WO (1) WO2008008244A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI758816B (en) * 2020-08-10 2022-03-21 御諾資訊股份有限公司 Third-party servo system and method for data transmission through third party thereof
CN109643285B (en) * 2016-09-15 2023-12-08 美商纳兹控股有限责任公司 Encrypted user data transmission and storage

Families Citing this family (8)

* 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
US8781127B2 (en) 2008-09-05 2014-07-15 Vixs Systems, Inc. Device with privileged memory and applications thereof
US8594333B2 (en) * 2008-09-05 2013-11-26 Vixs Systems, Inc Secure key access with one-time programmable memory and applications thereof
DE102009040615A1 (en) * 2009-09-08 2011-03-10 Siemens Aktiengesellschaft A method of digital rights management in a computer network having a plurality of subscriber computers
US9032535B2 (en) 2009-12-31 2015-05-12 Sandisk Technologies Inc. Storage device and method for providing a scalable content protection system
US8977107B2 (en) 2009-12-31 2015-03-10 Sandisk Technologies Inc. Storage device and method for resuming playback of content
US8938809B2 (en) 2011-06-24 2015-01-20 Google Technology Holdings LLC Retrieval of data across multiple partitions of a storage device using digital signatures
US20220353062A1 (en) * 2021-05-03 2022-11-03 InfoKeyVault Technology Co., Ltd. Integrated circuit module functioning for information security

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US7272723B1 (en) * 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
US6779113B1 (en) * 1999-11-05 2004-08-17 Microsoft Corporation Integrated circuit card with situation dependent identity authentication
US20040139021A1 (en) * 2002-10-07 2004-07-15 Visa International Service Association Method and system for facilitating data access and management on a secure token
JP4576894B2 (en) * 2004-06-14 2010-11-10 ソニー株式会社 Information management apparatus and information management method
KR20070091349A (en) * 2004-12-21 2007-09-10 샌디스크 코포레이션 System for creating control structure for versatile content control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109643285B (en) * 2016-09-15 2023-12-08 美商纳兹控股有限责任公司 Encrypted user data transmission and storage
TWI758816B (en) * 2020-08-10 2022-03-21 御諾資訊股份有限公司 Third-party servo system and method for data transmission through third party thereof

Also Published As

Publication number Publication date
EP2038804A2 (en) 2009-03-25
KR20090052321A (en) 2009-05-25
JP2009543211A (en) 2009-12-03
WO2008008244A3 (en) 2008-05-29
WO2008008244A2 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
US8140843B2 (en) Content control method using certificate chains
US8245031B2 (en) Content control method using certificate revocation lists
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
KR101213118B1 (en) Memory System with versatile content control
US20080010452A1 (en) Content Control System Using Certificate Revocation Lists
US20080034440A1 (en) Content Control System Using Versatile Control Structure
US20080022395A1 (en) System for Controlling Information Supplied From Memory Device
US20080010449A1 (en) Content Control System Using Certificate Chains
US20080010458A1 (en) Control System Using Identity Objects
US20100138652A1 (en) Content control method using certificate revocation lists
US20070168292A1 (en) Memory system with versatile content control
TW200822670A (en) Content control system and method using versatile control structure
TW200821837A (en) System and method for controlling information supplied from memory device
KR20070098869A (en) Versatile content control with partitioning
JP2008524758A (en) Control structure generation system for multi-purpose content control
JP2008524758A5 (en)
KR20070087175A (en) Control structure for versatile content control and method using structure
TW200823715A (en) Content control system and method using certificate revocation lists
TW200820037A (en) Content control system and method using certificate chains
TW200822669A (en) Control system and method using identity objects