TWI402755B - Secure memory card with life cycle phases - Google Patents
Secure memory card with life cycle phases Download PDFInfo
- Publication number
- TWI402755B TWI402755B TW095104117A TW95104117A TWI402755B TW I402755 B TWI402755 B TW I402755B TW 095104117 A TW095104117 A TW 095104117A TW 95104117 A TW95104117 A TW 95104117A TW I402755 B TWI402755 B TW I402755B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory card
- state
- test
- key
- card
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Credit Cards Or The Like (AREA)
Description
本發明大體而言係關於記憶卡及加密,且具體言之係關於藉由該卡中之測試機制來消除對安全資料及密鑰之存取。The present invention relates generally to memory cards and encryption, and in particular to the elimination of access to secure data and keys by the testing mechanism in the card.
不久以前,研製出通常被稱為智慧卡的智能型記憶卡且以識別及支付之形式取得市場的接受。智慧卡含有用於儲存一使用者之識別資料及用於儲存交易相關資料的少量記憶體。智慧卡亦經常被稱為晶片卡(chip card)且在日本被用於各種事物(諸如國民身份證(national identity card))及各種場所,如一類型之信用卡或轉帳卡。為了防止身份盜竊及其它貨幣詐欺,該等卡及利用該等卡之系統中已採用了各種晶片設計及加密方案。Not long ago, an intelligent memory card, often referred to as a smart card, was developed and accepted in the form of identification and payment. The smart card contains a small amount of memory for storing a user's identification data and for storing transaction related materials. Smart cards are also often referred to as chip cards and are used in Japan for various things (such as national identity cards) and various places, such as a type of credit card or debit card. To prevent identity theft and other currency scams, various chip design and encryption schemes have been employed in such cards and systems utilizing such cards.
在設計及製造任何類型之安全記憶卡時,存在兩種競爭性利益。一種利益為最大化卡之安全性,而另一種利益為最大化卡之可靠性。為了最大化卡之可靠性,能夠在卡自工廠運輸之前於各種製造階段測試卡之軟體及硬體,且在一些時候,甚至是在卡已離開工廠後測試卡之軟體及硬體以執行故障分析係重要的。測試可包括訊號經由晶片上之測試墊或接觸墊之輸入及輸出以測試卡之硬體及軟體兩者。此等測試常式及測試墊為確保品質控制所必需,但卻為卡之安全資料、演算法及密鑰之一潛在弱點或"後門"。因此,(測試所必需)最大化可靠性與最大化安全性之間總是存在一些程度之妥協。已提出不同方法以在測試完成後關閉此"後門"。然而,出於各種原因,到目前為止之先前解決辦法各自具有商業及技術上的缺點。There are two competing benefits when designing and manufacturing any type of secure memory card. One benefit is to maximize the security of the card, and another benefit is to maximize the reliability of the card. In order to maximize the reliability of the card, the software and hardware of the card can be tested at various manufacturing stages before the card is shipped from the factory, and at some point, even after the card has left the factory, the software and hardware of the card are tested to perform the failure. Analysis is important. The test can include testing the input and output of the test pad or contact pad on the wafer to test both the hardware and the soft body of the card. These test routines and test pads are required to ensure quality control, but are one of the card's safety data, algorithms and keys, or a "back door." Therefore, there is always some degree of compromise between maximizing reliability and maximizing security (required for testing). Different methods have been proposed to close this "back door" after the test is completed. However, for various reasons, the previous solutions to date have their own commercial and technical disadvantages.
在一咸信被用於前述智慧卡之製作中之方法中,在將來自晶圓之記憶體晶粒單一化之前測試卡之晶粒。用於一特定晶粒之測試墊係定位於晶圓之一鄰近晶粒上,且在測試後,單一化處理使測試墊與鄰近晶粒之所有電路分離。因此,作為最後記憶卡之安全資料之一潛在後門的存在於一經單一化之晶粒上之任何測試墊被完全隔離並關閉得以。然而,完全移除測試墊並非總是實用或需要的。舉例而言,可用測試墊之缺乏排除記憶體的一些量之隨後基於硬體之測試,其(例如)限制故障分析之潛在方法。In a method in which the Xianxin letter is used in the manufacture of the aforementioned smart card, the die of the card is tested before the memory die from the wafer is singulated. The test pads for a particular die are positioned on one of the adjacent dies of the wafer, and after testing, the singulation process separates the test pads from all of the adjacent dies. Therefore, as one of the security materials of the last memory card, any test pads that exist on the monolithic die are potentially isolated and closed. However, completely removing the test pad is not always practical or desirable. For example, the lack of available test pads precludes some amount of memory from subsequent hardware-based tests that, for example, limit the potential methods of failure analysis.
雖然此方法對一智慧卡(其通常僅具有保存識別及交易資料所必需之少量記憶體)而言可能較佳,但是其對測試用於儲存多個大檔案(諸如相片及音樂)之大量儲存記憶卡中採用的相對大量之記憶體及複雜安全性常式而言係不足的。此等大量儲存記憶卡之一些實例為緊密快閃記憶卡、MMC卡及SD卡。數位內容之傳播及相關版權問題加大了安全性之重要性,但與此同時,卡之測試及可靠性仍極為重要。需要一種更加全面且靈活之系統以用於製造、測試及操作大量儲存安全記憶卡且該系統係由將於下文描述之本發明來提供。Although this method may be better for a smart card (which usually only has a small amount of memory necessary to store identification and transaction data), it is used for testing large quantities of large files (such as photos and music). The relatively large amount of memory used in memory cards and the complex safety routines are insufficient. Some examples of such mass storage memory cards are compact flash memory cards, MMC cards, and SD cards. The dissemination of digital content and related copyright issues have increased the importance of security, but at the same time, the testing and reliability of the card is still extremely important. There is a need for a more comprehensive and flexible system for manufacturing, testing and operating a mass storage secure memory card and the system is provided by the invention as will be described below.
另一重要態樣為成本。若干不同技術(諸如非揮發性記憶體、邏輯及揮發性記憶體)可以製造於一單一積體電路晶粒(晶片)上。然而,在一晶粒中混合不同技術使生產成本顯著增加。在成本為主要驅動力之競爭環境中,極其需要限制提供於一晶粒上之不同技術的量。然而,使用多個晶粒可能意味著:在最終產品中,敏感資訊不得不自一個晶粒傳遞至另一個晶粒。若未採用適當之防護措施,則此為駭客可利用之另一潛在弱點。Another important aspect is cost. Several different technologies, such as non-volatile memory, logic, and volatile memory, can be fabricated on a single integrated circuit die (wafer). However, mixing different technologies in one die results in a significant increase in production costs. In a competitive environment where cost is the primary driver, there is an extreme need to limit the amount of different technologies offered on a die. However, the use of multiple dies may mean that in the final product, sensitive information has to pass from one die to another. This is another potential weakness that hackers can use if appropriate safeguards are not used.
詳言之,在相同晶粒內,將非揮發性記憶體位元與邏輯混合係昂貴的。智慧卡將相同晶粒中用於資料儲存之非揮發性記憶體用作為操作該智慧卡之邏輯,此為最大化安全性之一方式。然而,現今,一受益於本發明之記憶卡必須儲存更大的音樂、相片、電影及其它使用者檔案。因此,從成本考慮,製造可儲存大量資訊(在2005年,其為大約數十億個位元組且還在增加)之單一積體電路晶粒記憶卡被禁止,且需要研製一採用多個晶粒之安全系統。詳言之,極需要創建一利用一或多個離散(節省成本)快閃記憶體晶粒之安全系統(採用加密及解密),該等快閃記憶體晶粒晶粒與控制器晶粒分離且可在組裝之前及之後、經由測試機制來加以徹底測試,而不易為攻擊所傷。In particular, it is expensive to mix non-volatile memory bits with logic within the same die. The smart card uses the non-volatile memory used for data storage in the same die as the logic for operating the smart card, which is one way to maximize security. However, today, a memory card that benefits from the present invention must store larger music, photos, movies, and other user profiles. Therefore, from the cost consideration, manufacturing a single integrated circuit die memory card that can store a large amount of information (in 2005, it is about billions of bytes and still increasing) is prohibited, and it is necessary to develop a plurality of Safety system for the die. In particular, it is highly desirable to create a secure system (using encryption and decryption) that utilizes one or more discrete (cost-saving) flash memory dies that are separated from the controller die. It can be thoroughly tested before and after assembly, via testing mechanisms, and is not easily attacked.
因為利用一既具有控制器功能亦具有當今數位裝置所要求之大儲存量的單一晶片過度昂貴且在可調能力上存在問題,所以已研製出一替代系統。對於一單一晶片解決辦法而言,安全性可用獨特的晶片設計來達成,此設計使存取測試機制、加密密鑰及經加密之內容變困難。然而,對於內容係自一分離記憶體晶片傳遞至一控制器晶片(加密於其中發生)之一多晶片設計而言,必需特別注意保護對加密密鑰及經加密之內容的存取。此外,在一在最後組裝中(較佳)仍具有測試墊以允許測試經組裝之系統的系統中,必需特別注意軟體及硬體中可能用作一用於未授權地存取經加密之密鑰及內容之後門的任何機構。An alternative system has been developed because the use of a single wafer having both controller functionality and the large storage required by today's digital devices is overly expensive and problematic in terms of adjustable capability. For a single wafer solution, security can be achieved with a unique wafer design that makes access testing mechanisms, encryption keys, and encrypted content difficult. However, for multi-chip designs where content is transferred from a separate memory die to a controller wafer (encrypted therein), special care must be taken to protect access to the encryption key and encrypted content. In addition, in a system where the final assembly (preferably) still has a test pad to allow testing of the assembled system, special care must be taken in software and hardware that may be used as an unauthorized access to the encrypted secret. Key and any organization behind the content.
本發明具有在卡之生命期間進入且經過的眾多生命週期階段。視階段而定,卡中之邏輯賦能或去能加密引擎,控制對硬體(在晶圓單一化及卡組裝之前及之後)及軟體測試機制之存取,並控制密鑰產生。此等階段不僅允許在製造之前及之後徹底地測試卡之硬體及軟體兩者(與測試墊經移除之智慧卡中不同),亦使當卡處於一安全階段(該卡被運輸至使用者時其所處之操作階段)時存取經加密之密鑰及因此經加密之內容實際上不可能。因此,本發明提供一種記憶卡,其可加以良好測試,但其亦抵抗對卡中之受保護之資料的未授權存取。The present invention has numerous life cycle stages that enter and pass during the life of the card. Depending on the stage, the logic in the card enables or disables the encryption engine, controls access to the hardware (before and after wafer singulation and card assembly) and software testing mechanisms, and controls key generation. These phases not only allow the hard drive and the soft body of the card to be thoroughly tested before and after manufacture (unlike the smart card with the test pad removed), but also when the card is in a safe phase (the card is shipped to use) Accessing the encrypted key and thus the encrypted content is virtually impossible when it is in the operational phase. Accordingly, the present invention provides a memory card that can be well tested, but which also resists unauthorized access to protected material in the card.
此外,需要一種更加全面且靈活之系統以用於製造、測試及操作大量儲存安全記憶卡之且該系統係由將於下文描述之本發明來提供。In addition, there is a need for a more comprehensive and flexible system for manufacturing, testing and operating a mass storage secure memory card and the system is provided by the invention as will be described below.
本發明之額外態樣、優點及特徵包含於示範性實例之下列描述中,此描述應結合隨附圖式,其中相似數字用於描述所有圖中之相同特徵。因此,為達成所有目的,本文中參考之所有專利案、專利申請案、文章及其它公開案係以全文引用之方式併入本文中。The accompanying drawings, which are incorporated in the claims Accordingly, all patents, patent applications, articles, and other publications referenced herein are hereby incorporated by reference in their entirety in their entirety.
一其中可建構本發明之各種態樣之實例記憶體系統係由方塊圖1A來說明。如圖1A所示,記憶體系統10包括一中央處理單元(CPU)或控制器12、一緩衝區管理單元(BMU)14、一主機介面模組(HIM)16、快閃介面模組(FIM)18、一快閃記憶體20及一周邊存取模組22。記憶體系統10經由一主機介面匯流排26及埠26a與主機裝置24通信。快閃記憶體20(其可為NAND類型)為主機裝置24提供資料儲存。CPU 12之軟體程式碼亦可儲存於快閃記憶體20中。FIM 18經由一快閃介面匯流排28連接至快閃記憶體20,且在一些情況下,若快閃記憶體20為一抽取式組件,則FIM 18經由一埠(未圖示)連接快閃記憶體20。HIM 16適於連接至一主機系統,諸如數位相機、個人電腦、個人數位助理(PDA)及MP-3播放器、行動電話或其它數位裝置。周邊存取模組22選擇適當之控制器模組(諸如FIM、HIM及BMU)以用於與CPU 12通信。在一實施例中,虛線框內的系統10之所有組件可封閉於一單一單元中,諸如封閉於記憶卡中且較佳封閉於卡中。An example memory system in which various aspects of the invention may be constructed is illustrated by block diagram 1A. As shown in FIG. 1A, the memory system 10 includes a central processing unit (CPU) or controller 12, a buffer management unit (BMU) 14, a host interface module (HIM) 16, and a flash interface module (FIM). 18, a flash memory 20 and a peripheral access module 22. The memory system 10 communicates with the host device 24 via a host interface bus 26 and port 26a. Flash memory 20 (which may be of the NAND type) provides data storage for host device 24. The software code of the CPU 12 can also be stored in the flash memory 20. The FIM 18 is coupled to the flash memory 20 via a flash interface bus 28, and in some cases, if the flash memory 20 is a removable component, the FIM 18 is flashed via a port (not shown). Memory 20. The HIM 16 is adapted to be connected to a host system such as a digital camera, a personal computer, a personal digital assistant (PDA) and an MP-3 player, a mobile phone or other digital device. Peripheral access module 22 selects appropriate controller modules (such as FIM, HIM, and BMU) for communication with CPU 12. In one embodiment, all of the components of system 10 within the dashed box may be enclosed in a single unit, such as enclosed in a memory card and preferably enclosed in a card.
緩衝區管理單元14包含一主機直接記憶體存取單元(HDMA)32、一快閃直接記憶體存取單元(FDMA)34、一仲裁器36、一CPU匯流排仲裁器35、暫存器33、緩衝區隨機存取記憶體(BRAM)38及一密碼引擎40(其亦被稱為加密引擎40)。仲裁器36為一共享匯流排仲裁器,使得在任何時候僅一個主控器或啟動器(其可為HDMA 32、FDMA 34或CPU 12)可起作用且受控器或目標為BRAM 38。該仲裁器負責通道化適當啟動器請求至BRAM 38。HDMA 32及FDMA 34負責HIM 16、FIM 18與BRAM 38或RAM 11之間的資料傳輸。CPU匯流排仲裁器35允許經由系統匯流排15將資料自密碼引擎40及快閃DMA 34直接傳送至RAM 11,在某些情況下(諸如當需要旁路該密碼引擎時)使用該系統匯流排。HDMA 32及FDMA 34之運作係習知的且不必在本文中予以詳述。BRAM 38用於儲存在主機裝置24與快閃記憶體20之間傳遞之資料。HDMA 32及FDMA 34負責在HIM 16/FIM 18與BRAM 38或CPU RAM 12a之間傳送資料且負責指示扇區完成。The buffer management unit 14 includes a host direct memory access unit (HDMA) 32, a flash direct memory access unit (FDMA) 34, an arbiter 36, a CPU bus arbiter 35, and a register 33. A buffer random access memory (BRAM) 38 and a cryptographic engine 40 (also referred to as encryption engine 40). The arbiter 36 is a shared bus arbiter such that only one master or initiator (which may be HDMA 32, FDMA 34 or CPU 12) may be active and the slave or target is BRAM 38 at any time. The arbiter is responsible for channelizing the appropriate initiator request to the BRAM 38. HDMA 32 and FDMA 34 are responsible for data transfer between HIM 16, FIM 18 and BRAM 38 or RAM 11. The CPU bus arbitrator 35 allows data to be transferred directly from the cryptographic engine 40 and the flash DMA 34 to the RAM 11 via the system bus 15 and in some cases (such as when bypassing the cryptographic engine is required) to use the system bus . The operation of HDMA 32 and FDMA 34 is conventional and need not be detailed herein. The BRAM 38 is used to store data transferred between the host device 24 and the flash memory 20. HDMA 32 and FDMA 34 are responsible for transferring data between HIM 16/FIM 18 and BRAM 38 or CPU RAM 12a and are responsible for indicating sector completion.
當來自快閃記憶體20之資料係由主機裝置24讀取時,記憶體20中之經加密資料係經由匯流排28、FIM 18、FDMA 34及密碼引擎40(經加密之資料係於其中解密)來提取且儲存於BRAM 38中。接著,該經解密資料係經由HDMA 32、HIM 16、匯流排26自BRAM 38發送至主機裝置24。自BRAM 38提取之資料可在其被傳遞至HDMA 32之前借助於密碼引擎40而再次加密,以使得發送至主機裝置24之資料被再次加密,但係借助於一與加密儲存於記憶體20中之資料所用之彼等密鑰及/或演算法相比不同之密鑰及/或演算法。或者,不同於上述過程中之將經解密之資料儲存於BRAM 38中(其可使資料變得易受到未經授權之存取攻擊),來自記憶體20之資料可在其被發送至BRAM 38之前藉由密碼引擎40來再次解密並加密。接著,如前所述,BRAM 38中之經加密資料被發送至主機裝置24。此說明一讀取過程中之資料流。When the data from the flash memory 20 is read by the host device 24, the encrypted data in the memory 20 is via the bus bar 28, the FIM 18, the FDMA 34, and the cryptographic engine 40 (the encrypted data is decrypted therein). ) to extract and store in BRAM 38. Then, the decrypted data is transmitted from the BRAM 38 to the host device 24 via the HDMA 32, the HIM 16, and the bus bar 26. The data extracted from the BRAM 38 can be re-encrypted by means of the cryptographic engine 40 before it is passed to the HDMA 32, so that the data sent to the host device 24 is re-encrypted, but stored in the memory 20 by means of an encryption and encryption. The keys and/or algorithms used by the data are different from their keys and/or algorithms. Alternatively, unlike the process in which the decrypted material is stored in BRAM 38 (which can make the data vulnerable to unauthorized access attacks), data from memory 20 can be sent to BRAM 38. It was previously decrypted and encrypted by the cryptographic engine 40. Next, as described above, the encrypted material in the BRAM 38 is sent to the host device 24. This illustrates the flow of data during a read.
當資料係藉由主機裝置24寫至記憶體20時,資料流之方向相反。舉例而言,若未經加密之資料係藉由主機裝置、經過匯流排26、HIM 16、HDMA 32而發送至密碼引擎40,則該資料可在其被儲存於BRAM 38中之前由引擎40來加密。或者,未經加密之資料可儲存於BRAM 38中。接著,該資料係在其至記憶體20之途中被發送至FDMA 34之前來加密。When the data is written to the memory 20 by the host device 24, the data flow is in the opposite direction. For example, if the unencrypted data is sent to the cryptographic engine 40 by the host device, via the busbar 26, the HIM 16, and the HDMA 32, the data may be sent by the engine 40 before it is stored in the BRAM 38. encryption. Alternatively, unencrypted material can be stored in BRAM 38. The data is then encrypted prior to being sent to the FDMA 34 on its way to the memory 20.
一在建構於一記憶卡中時尤其有用之保全系統或安全操作系統(諸如上述之系統)具有不同階段或狀態。較佳地,依序進入此等階段,以使得自一個階段進展至下一個階段之後,不能再次進入先前階段。因此,該等階段可被認為是生命週期階段。A security system or a secure operating system (such as the system described above) that is particularly useful when constructed in a memory card has different phases or states. Preferably, these stages are entered in sequence such that after progressing from one stage to the next, the previous stage cannot be re-entered. Therefore, these stages can be considered as life cycle stages.
在詳述該等階段之前,將簡要論述另一系統位準圖。圖1B說明系統10之另一實施例。為簡單及明晰起見,在此圖中僅說明系統10之某些組件。記憶體系統10包含測試墊(其亦被稱為硬體測試輸入/輸出(I/O)端)54。硬體匯流排(HW匯流排)56較佳係連接至測試墊54。此等測試墊及HW匯流排56係連接至系統10之各種硬體及電路(未圖示)且用於測試系統10之該硬體及電路。JTAG匯流排62係連接至系統匯流排15(參見圖1A)且可用於替換該控制器韌體並自系統10之外部驅動硬體塊。其用於要求暫存器讀取/寫入操作之硬體測試。因為JTAG匯流排62可存取RAM及ROM,所以其亦用於測試系統10之韌體。主機匯流排26被用於發送診斷指令至系統10且用於測試該系統之韌體。Before describing these stages in detail, another system level map will be briefly discussed. FIG. 1B illustrates another embodiment of system 10. For the sake of simplicity and clarity, only certain components of system 10 are illustrated in this figure. The memory system 10 includes a test pad (also referred to as a hardware test input/output (I/O) terminal) 54. The hardware bus bar (HW bus bar) 56 is preferably connected to the test pad 54. These test pads and HW bus bars 56 are connected to various hardware and circuitry (not shown) of system 10 and are used to test the hardware and circuitry of system 10. JTAG bus bar 62 is coupled to system bus 15 (see FIG. 1A) and can be used to replace the controller firmware and drive hardware blocks from outside of system 10. It is used for hardware testing that requires a scratchpad read/write operation. Because the JTAG bus 62 can access the RAM and ROM, it is also used to test the firmware of the system 10. The host bus 26 is used to send diagnostic commands to the system 10 and to test the firmware of the system.
亦展示加密引擎40之NVM 50。儲存於NVM 50中的係生命週期狀態77(之值)及秘密密鑰99。NVM測試埠58用於測試加密引擎40中之該NVM。The NVM 50 of the encryption engine 40 is also shown. The lifecycle state 77 (value) and secret key 99 stored in the NVM 50. The NVM test 58 is used to test the NVM in the encryption engine 40.
狀態指示符熔絲66用於指示產品係處於NVM狀態110(如下所述)而不依賴NVM內容。其原因係在製造期間儲存於NVM中之一初始值之可靠性不能得到保證。因此,使用另一更為可靠之指示符,諸如使用一熔絲。若熔絲經設定,則該系統確定該產品處於狀態110。若系統10經重置,則其將查看NVM生命週期狀態77以確定狀態。Status indicator fuse 66 is used to indicate that the product is in NVM state 110 (described below) without relying on NVM content. The reason for this is that the reliability of one of the initial values stored in the NVM during manufacturing cannot be guaranteed. Therefore, another, more reliable indicator is used, such as the use of a fuse. If the fuse is set, the system determines that the product is in state 110. If system 10 is reset, it will look at NVM lifecycle state 77 to determine the state.
圖2A說明各種狀態及狀態之間的轉換次序。在製造卡之前及其後,每一狀態界定該卡(或其中建構有該卡之其它系統)之不同行為及能力,如下表中所示,其亦如圖2B中所再現的。Figure 2A illustrates the order of transitions between various states and states. Before and after the card is manufactured, each state defines the different behaviors and capabilities of the card (or other system in which the card is constructed), as shown in the following table, which is also reproduced in Figure 2B.
狀態較佳係儲存為加密引擎之非揮發性記憶體中之一32位元的值。存在出自於代表狀態120-170的大量(~ 109 )可能組合之6個預分配值。所有其它值指示狀態110。如此係因為不能保證可在製造及此後之檢索期間可靠地儲存一確定值,因為製造、組裝、測試及運輸期間的各種處理操作可能改變記憶體中之任何儲存值。The state is preferably stored as a value of one of 32 bits in the non-volatile memory of the encryption engine. There are 6 pre-allocated values from a large number ( ~ 10 9 ) of possible combinations representing the state 120-170. All other values indicate state 110. This is because there is no guarantee that a certain value can be reliably stored during manufacture and subsequent retrieval, as various processing operations during manufacturing, assembly, testing, and shipping may alter any stored value in the memory.
密鑰值亦較佳儲存為加密引擎之非揮發性記憶體中之一128位元的欄位。該密鑰值通常係藉由一播種演算法(seeded algorithm)隨機地產生。密鑰之重新產生極有可能改變密鑰之值,但是,因為一(偽)隨機數產生器事實上可能連續產生相同值,所以此不能得到保證。然而,即使鹹知密鑰之值在重新產生期間不會改變,改變密鑰之術語在此應用中仍係與重新產生密鑰之術語交換地使用。不言而喻,用於加密資訊之密鑰之值至關重要。相同之密鑰值必須既用於加密亦用於解密。因此,若在系統之每次電力開啟時重新產生一密鑰值,則在彼電力開啟之前經加密之資料因為不能以該新密鑰解密而事實上係無價值的。雖然資料仍實體地存在於該卡之記憶體中,但是若無適當密鑰值來解鎖,則該資料即係無用的。因此,若一駭客不知何故得以強迫該卡退至一不同於安全狀態150之狀態,則他不能得到任何有用資訊。在狀態110及160中,每一電力開啟時將產生一新的密鑰,且在狀態150中,先前用於儲存資訊之密鑰將不可用於解密彼資訊。在狀態170及110中,不管密鑰值如何,該加密引擎係完全不可用的。The key value is also preferably stored as one of the 128-bit fields in the non-volatile memory of the encryption engine. The key value is typically generated randomly by a seeded algorithm. The re-generation of the key is highly likely to change the value of the key, but this cannot be guaranteed because a (pseudo) random number generator may in fact possibly produce the same value continuously. However, even if the value of the key is not changed during the re-generation, the term of the change key is used interchangeably with the term re-generating the key in this application. It goes without saying that the value of the key used to encrypt the information is crucial. The same key value must be used for both encryption and decryption. Therefore, if a key value is regenerated when each power of the system is turned on, the encrypted data before the power is turned on is in fact invaluable because it cannot be decrypted with the new key. Although the data is still physically present in the memory of the card, the data is useless if there is no appropriate key value to unlock. Therefore, if a hacker somehow forces the card to retreat to a state other than the security state 150, he cannot obtain any useful information. In states 110 and 160, a new key will be generated each time the power is turned on, and in state 150, the key previously used to store the information will not be available to decrypt the information. In states 170 and 110, the encryption engine is completely unavailable regardless of the key value.
另一安全性措施包含限制韌體及硬體測試機制之可用性。該系統包含賦能或去能該等機制之邏輯。先前描述之主機匯流排係用於測試該卡之該韌體之該等機構之一。該主機可經由該主機匯流排發出診斷指令以測試該韌體。該硬體亦可於執行此等指令時加以測試。該硬體亦可經由該硬體匯流排以及該JTAG埠來直接加以測試,該JTAG埠提供對該系統之各種記憶體之直接存取。請注意,在狀態140及150中,NVM測試機制、HW測試機制及FW測試機制皆被去能。Another security measure includes limiting the availability of firmware and hardware testing mechanisms. The system contains logic to enable or disable such mechanisms. The previously described host bus is one of the mechanisms used to test the firmware of the card. The host can issue a diagnostic command via the host bus to test the firmware. This hardware can also be tested when these instructions are executed. The hardware can also be directly tested via the hardware bus and the JTAG, which provides direct access to various memories of the system. Please note that in states 140 and 150, the NVM test mechanism, HW test mechanism, and FW test mechanism are all disabled.
現將進一步詳述如圖2A所示之該等狀態及狀態之間的通道。The channels between the states and states as shown in Figure 2A will now be further detailed.
狀態110係指控制器非揮發性記憶體(NVM)測試。此狀態為記憶體晶粒製造後之初始狀態,且係用於在封裝該晶粒且將其安裝至記憶卡中之前測試控制器晶粒之非揮發性記憶體的狀態。此狀態下出現之測試可在單一化之前執行且該等晶粒仍係以晶圓格式整合,或者該測試可在單一化之後替代地執行於個別晶粒上。一旦NVM得到測試,其內容(使用該NVM測試器)即被初始化以指示狀態120,且熔絲66被燒斷。在此狀態下,加密引擎40被去能。在卡之生命週期中,此狀態僅經設計以進入一次,且在系統中不存在方法可用於使卡返回至此狀態。然而,如先前所述的,此狀態可由除用於界定生命週期狀態之32位元值之許多可能組合的6個預分配值之外的任一者來指示。若偵測到一非法值且熔絲燒斷(不允許進入NVM狀態110),則該密碼引擎將不能就緒且系統將不啟動,或旁路下面參看圖3描述之步驟302。因此,每次該卡被電力開啟且處於此狀態時,將隨機產生一新的密鑰,且不可能解密先前經加密之資料。即使加密引擎在此模式下未被賦能(因為該模式經設計以於製造期間在晶圓仍完整時使用),密鑰仍係於每次電力開啟時重新產生以保護免受一駭客危害,該駭客可能以一些無法預料之方法進入此狀態且試圖經由各種測試埠及機制探測該卡之安全資料。另外,藉由設計,在退出狀態110之後,該等NVM測試機制將不再可用。State 110 refers to controller non-volatile memory (NVM) testing. This state is the initial state after the memory die is fabricated and is used to test the state of the non-volatile memory of the controller die before packaging the die and mounting it into the memory card. Tests that occur in this state can be performed prior to singulation and the dies are still integrated in wafer format, or the test can be performed on individual dies instead of singulation. Once the NVM is tested, its contents (using the NVM tester) are initialized to indicate state 120 and the fuse 66 is blown. In this state, the encryption engine 40 is disabled. During the life cycle of the card, this state is only designed to enter once, and there is no method available in the system to return the card to this state. However, as previously described, this state may be indicated by any of the six pre-allocated values other than the many possible combinations of 32-bit values used to define the lifecycle state. If an illegal value is detected and the fuse is blown (not allowed to enter the NVM state 110), the crypto engine will not be ready and the system will not start, or bypass step 302 described below with reference to FIG. Therefore, each time the card is powered on and in this state, a new key will be randomly generated and it is impossible to decrypt the previously encrypted material. Even if the crypto engine is not enabled in this mode (because the mode is designed to be used while the wafer is still intact during manufacturing), the key is regenerated every time the power is turned on to protect it from a hacker The hacker may enter this state in some unpredictable ways and attempt to detect the security information of the card via various test mechanisms and mechanisms. Additionally, by design, after exiting state 110, the NVM testing mechanisms will no longer be available.
狀態120被稱為恆定賦能狀態。在此狀態下,加密引擎40被賦能。該加密引擎將使用之密鑰不係由隨機數產生器產生,且不儲存於記憶體中,但是經硬式佈線至一些外部源且在此階段期間恆定。硬體及軟體測試機制在此狀態下可用。此狀態係藉由一硬體測試器進入。State 120 is referred to as a constant energization state. In this state, the encryption engine 40 is enabled. The key that the encryption engine will use is not generated by the random number generator and is not stored in memory, but is hardwired to some external source and is constant during this phase. Hardware and software testing mechanisms are available in this state. This state is entered by a hardware tester.
狀態130被稱為隨機賦能狀態。此狀態類似於狀態120,然而,秘密密鑰係於進入狀態130時隨機產生(一次)而不非恆定且硬式佈線的。此係用於記憶卡之最後測試、特性化及鑑定之狀態。利用使用一秘密密鑰或自該秘密密鑰衍生之密鑰之韌體,包括加密及解密之密碼操作係可能的。此狀態係藉由經由主機裝置24加載至系統10中且接著由系統10執行之程式碼而進入。State 130 is referred to as a random empowerment state. This state is similar to state 120, however, the secret key is randomly generated (once) when entering state 130 and is not constant and hardwired. This is used for the final test, characterization, and qualification of the memory card. Using a firmware that uses a secret key or a key derived from the secret key, including cryptographic operations for encryption and decryption is possible. This state is entered by the code loaded into system 10 via host device 24 and then executed by system 10.
狀態140被稱為最終密鑰狀態。在此狀態下,該卡使用將與該卡一起運輸之最後秘密密鑰。硬體及軟體測試機制係藉由該卡之邏輯來去能且不能被存取。此包括硬體測試匯流排及測試墊(參見圖1B)。此狀態用於給該卡加載最後韌體及必須加以保護之具有與產品一同運輸之密鑰的組態資料。該產品可在此狀態下加以組態,但在狀態150中則不能。此狀態係藉由一主機指令而進入。該指令可包含於自主機下載且由該卡執行之程式碼中("DLE程式碼")。該指令可替代地直接自主機發出。此在如下任何時候利用術語DLE程式碼時為真。State 140 is referred to as the final key state. In this state, the card uses the last secret key that will be shipped with the card. The hardware and software testing mechanisms are enabled and cannot be accessed by the logic of the card. This includes hardware test busbars and test pads (see Figure 1B). This state is used to load the card with the final firmware and configuration data that must be protected with the key shipped with the product. The product can be configured in this state, but not in state 150. This state is entered by a host command. The instruction may be included in a code downloaded from the host and executed by the card ("DLE Code"). This instruction can alternatively be issued directly from the host. This is true when the term DLE code is used at any time below.
狀態150被稱為安全狀態。此為卡自工廠運輸時所處之狀態。硬體及軟體測試機制係藉由卡之邏輯來去能且不能被存取。此狀態係於在製造現場測試及組態產品結束時進入。密鑰未重新產生且在狀態150期間利用在狀態140期間儲存於記憶體中之值。雖然衍生之密鑰可用於卡之各種操作,但總是需要密鑰99以衍生彼等密鑰且加密及解密資料。此密鑰意欲用於安全卡之有效期(當其作為一持於消費者手中之安全卡,而非其後)。卡中之韌體不可將秘密密鑰用於任何操作。加密引擎之硬體負責執行卡中之所有加密及解密。此狀態係藉由DLE程式碼而進入。State 150 is referred to as a secure state. This is the state of the card when it is shipped from the factory. The hardware and software testing mechanisms are capable of being accessed by the logic of the card. This status is entered at the end of the manufacturing site test and configuration product. The key is not regenerated and the value stored in memory during state 140 is utilized during state 150. While the derived keys can be used for various operations of the card, the key 99 is always required to derive their keys and encrypt and decrypt the data. This key is intended to be used for the validity period of the security card (when it is used as a security card in the hands of the consumer, not later). The firmware in the card cannot use the secret key for any operation. The hardware of the encryption engine is responsible for performing all encryption and decryption in the card. This state is entered by the DLE code.
狀態160被稱為返回之商品授權或RMA狀態。此狀態經設計以允許測試一因為未正常工作而由一消費者退回之卡。此為可執行卡之故障分析之狀態。軟體及硬體測試機制再次可用。注意此狀態僅由工廠可存取係重要的。此外,在進入RMA狀態之後,該卡絕不能再次作為一安全卡來使用。換而言之,該卡絕不能再次進入狀態150或另外用於解密常駐於該卡上之資訊或將經加密之資訊保存至卡。秘密密鑰係在進入此模式時重新產生,且在卡處於此狀態下每一晶片經重置執行期間時。使用秘密密鑰來解密之操作係僅在啟動時間賦能且韌體不能將該秘密密鑰用於任何操作。此狀態係藉由一作為主機指令之結果的ROM程式碼而進入。State 160 is referred to as the returned merchandise authorization or RMA state. This state is designed to allow testing of a card that is returned by a consumer because it is not working properly. This is the status of the failure analysis of the executable card. Software and hardware testing mechanisms are available again. Note that this state is only important for factory accessible systems. In addition, after entering the RMA state, the card must never be used again as a security card. In other words, the card must never enter state 150 again or otherwise be used to decrypt information resident on the card or to save the encrypted information to the card. The secret key is regenerated when entering this mode, and each chip is reset during execution while the card is in this state. The operation of decrypting using a secret key is only enabled at boot time and the firmware cannot use the secret key for any operation. This state is entered by a ROM code that is the result of the host command.
狀態170被稱為去能狀態。在該去能狀態下,密碼引擎40處於一旁路模式,並且所有密碼能力被去能。僅非安全演算法可於該卡中使用。因為沒有加密引擎,侵入或其它干預係沒有價值的,所以硬體及軟體測試機制被再次賦能。任何經加密之資訊不能再加以解密且變得無價值。同樣,無額外資訊可加密且隨後解密。此狀態可用於生產一非安全或"普通"卡。以此方式,相同系統既可用於生產安全記憶卡亦可用於生產非安全記憶卡。不同之處在於:在非安全卡中,卡之保全系統係處於去能狀態,或更大體而言,該卡可處於狀態170。該去能狀態亦可用於重新運輸一產品,該產品已被發送回至工廠以進行故障分析且因此已進入RMA狀態160。如上所提及的,在一卡進入RMA狀態160之後,其絕不能返回任何先前狀態中之任一者,且絕不可再次作為一安全卡來銷售。然而,一有功能或可在工廠再次製造得有功能之卡可被置於去能狀態170且作為一非安全卡來銷售。以此方式,該卡可加以回收且與一新的非安全或"普通"卡一樣用於所有深層用途。該回收之非安全卡及一新的非安全卡均可在相同狀態下操作相同韌體。State 170 is referred to as the de-energized state. In this de-energized state, the crypto engine 40 is in a bypass mode and all cryptographic capabilities are disabled. Only non-secure algorithms can be used in this card. Because there is no encryption engine, intrusion or other interventions are of no value, so the hardware and software testing mechanisms are re-enabled. Any encrypted information can no longer be decrypted and becomes worthless. Again, no additional information can be encrypted and subsequently decrypted. This state can be used to produce an unsecure or "normal" card. In this way, the same system can be used both for the production of secure memory cards and for the production of non-secure memory cards. The difference is that in a non-secure card, the card security system is in an disabled state, or, more generally, the card can be in state 170. The de-energized state can also be used to re-ship a product that has been sent back to the factory for failure analysis and thus has entered the RMA state 160. As mentioned above, after a card enters the RMA state 160, it must never return to any of the previous states and must never be sold again as a security card. However, a card that is functional or can be remanufactured at the factory can be placed in the disengaged state 170 and sold as a non-secure card. In this way, the card can be recycled and used for all deep uses like a new non-secure or "normal" card. The recycled non-secure card and a new non-secure card can operate the same firmware in the same state.
現在,大多數卡為非安全卡。雖然將安全卡推向市場之動力很高(其主要歸因於內容提供者之需求),但是不清楚安全卡對比非安全卡之未來記憶卡銷售之百分比將如何。所清楚的是,很可能總是存在許多非安全內容且因此存在對非安全卡之需求。本發明不僅允許測試一安全卡之所有硬體及軟體(僅由經授權之人員進行),而且提供回收返回之安全卡以用於各種非安全使用者之能力。此外,本發明之系統允許一卡具有穩固安全性,但其無需加以廢除或使其保全系統妥協(具有可存取之"後門")以執行故障分析。因為使用記憶卡之裝置之廣泛傳播及日益增加之擴散化,回收另外可成為一有缺陷安全卡之卡的能力對消費者及製造者而言有很大益處。Most cards are now non-secure cards. While the power to bring security cards to market is high (which is primarily due to the needs of content providers), it is unclear what percentage of future memory card sales will be compared to non-secure cards. It is clear that there is likely to be a lot of non-secure content and therefore there is a need for non-secure cards. The present invention not only allows testing of all hardware and software of a security card (only by authorized personnel), but also provides the ability to recycle the returned security card for use by a variety of non-secure users. In addition, the system of the present invention allows for a card with robust security, but it does not need to be revoked or compromised by the security system (with an accessible "back door") to perform fault analysis. Because of the widespread dissemination of devices that use memory cards and the increasing proliferation, the ability to recycle cards that can otherwise become a defective security card is of great benefit to consumers and manufacturers.
圖3說明建構上述系統之一記憶卡的啟動過程。為得到關於該啟動過程之更多資訊,請參考一同在申請中之Micky Holtzman等人的申請案"Method of Hardware Driver Integrity Check Of Memory Card Controller Firmware"、申請案第11/284,623號、代理人案號第SNDK.408US1號,其以全文引用之方式併入本文中。Figure 3 illustrates the startup process for constructing a memory card of the above system. For more information on the start-up process, please refer to the application "Method of Hardware Driver Integrity Check Of Memory Card Controller Firmware", application No. 11/284, 623, and the agent's case. No. SNDK.408US1, which is incorporated herein by reference in its entirety.
在步驟302中,該系統檢查密碼硬體(包括密碼引擎40及其它組件)是否準備就緒。該系統將等待直到該硬體就緒後才繼續。當該硬體就緒時,該系統前進至步驟304。在步驟304中,該系統檢查該卡是否處於狀態170(去能狀態)。若該卡處於狀態170,則在步驟306中,該系統將啟動載入器("BLR")自快閃記憶體20上載至RAM 11,該啟動載入器係最少量之起動碼。接下來,在步驟308中,該系統檢查該BLR是否被完全上載。若是,則在步驟310中,該系統將上載在非安全模式下操作所需之韌體(標準韌體減去密碼功能)。若如步驟308中所判定的,該BLR未能完全上載,則該系統將前進至下述步驟324。In step 302, the system checks if the password hardware (including the cryptographic engine 40 and other components) is ready. The system will wait until the hardware is ready to continue. When the hardware is ready, the system proceeds to step 304. In step 304, the system checks if the card is in state 170 (de-energized state). If the card is in state 170, then in step 306, the system uploads a boot loader ("BLR") from flash memory 20 to RAM 11, which is the minimum amount of boot code. Next, in step 308, the system checks if the BLR is fully uploaded. If so, then in step 310, the system will upload the firmware required for operation in non-secure mode (standard firmware minus password function). If the BLR fails to be fully uploaded as determined in step 308, the system will proceed to step 324 below.
若在步驟304中,該系統判定該卡不處於狀態170,則該系統將在步驟312中清除RAM內容。在彼步驟之後,該系統將在步驟314中再次檢查該卡處於何種狀態。若該卡處於狀態120、130或140,則將在步驟316中上載該BLR。在步驟318中,該系統將檢查該BLR是否被完全加載。接下來,在步驟320中,將執行BLR程式碼之完整性檢查。此完整性檢查係一由計算訊息鑑別程式碼(MAC)值且將該等值與參考值進行比較來執行的基於硬體之檢查。該完整性檢查之結果係一儲存於記憶體中之簡單旗標。在步驟322中,該韌體檢查該旗標以判斷完整性是否經驗證。若完整性經驗證,則該系統將在步驟342中上載於安全模式下操作所必需之韌體,其亦當然允許儲存及檢索非安全資料。若如步驟322中判定的,該完整性未經驗證,則該系統將等待一來自主機之診斷指令以下載且執行來自主機之某些指令(DLE指令)如步驟324所代表。若如步驟326中所示,接收到一DLE指令,則該系統將繼續在步驟328中將DLE程式碼加載至RAM中。在步驟330中,DLE程式碼將由控制器來執行。If, in step 304, the system determines that the card is not in state 170, then the system will clear the RAM content in step 312. After the step, the system will again check in step 314 what state the card is in. If the card is in state 120, 130 or 140, the BLR will be uploaded in step 316. In step 318, the system will check if the BLR is fully loaded. Next, in step 320, an integrity check of the BLR code will be performed. This integrity check is a hardware-based check performed by computing a message authentication code (MAC) value and comparing the value to a reference value. The result of this integrity check is a simple flag stored in memory. In step 322, the firmware checks the flag to determine if the integrity is verified. If the integrity is verified, the system will upload the firmware necessary for operation in safe mode in step 342, which of course allows for the storage and retrieval of non-secure data. If the integrity is not verified as determined in step 322, the system will wait for a diagnostic command from the host to download and execute certain instructions from the host (DLE instructions) as represented by step 324. If a DLE instruction is received as shown in step 326, the system will continue to load the DLE code into RAM in step 328. In step 330, the DLE code will be executed by the controller.
若在步驟314中判定該卡不處於狀態120、130或140,則該系統將在步驟332中檢查該卡是否處於狀態150。若是,則該系統將接著在步驟334中上載該BLR。此係藉由ROM程式碼來完成執行。若如步驟336中所判定的,BLR加載完成,則將在步驟338中執行一基於硬體之完整性檢查,如上面之步驟320中所述的。在此基於硬體之完整性檢查之後,將在步驟340中執行另一完整性檢查(此次為一基於軟體之完整性檢查)。若完整性經驗證,則該系統將接著在步驟342中上載於安全模式下操作所必需之韌體,其當然亦允許儲存及檢索非安全資料。If it is determined in step 314 that the card is not in state 120, 130 or 140, then the system will check in step 332 if the card is in state 150. If so, the system will then upload the BLR in step 334. This is done by the ROM code. If the BLR loading is complete as determined in step 336, then a hardware based integrity check will be performed in step 338, as described in step 320 above. After this hardware-based integrity check, another integrity check (this time a software-based integrity check) will be performed in step 340. If the integrity is verified, the system will then upload the firmware necessary for operation in safe mode in step 342, which of course also allows for the storage and retrieval of non-secure data.
若在步驟332中判定該卡不處於狀態150,則該系統將接著檢查卡之狀態及該卡是否處於狀態160,且若是,則其將等待一由步驟348所表示之診斷指令。然而,若在步驟344中判定該卡不處於狀態160,則該系統將等待一指令以進入RMA狀態160(參見步驟346)。If it is determined in step 332 that the card is not in state 150, the system will then check the status of the card and whether the card is in state 160, and if so, it will wait for a diagnostic command indicated by step 348. However, if it is determined in step 344 that the card is not in state 160, the system will wait for an instruction to enter the RMA state 160 (see step 346).
10...記憶體系統/系統10. . . Memory system/system
11...RAM11. . . RAM
12...中央處理單元(CPU)/控制器/CPU12. . . Central Processing Unit (CPU) / Controller / CPU
12a...CPU RAM12a. . . CPU RAM
14...緩衝區管理單元(BMU)14. . . Buffer Management Unit (BMU)
15...系統匯流排15. . . System bus
16...主機介面模組(HIM)/HIM16. . . Host Interface Module (HIM) / HIM
18...快閃介面模組(FIM)/FIM18. . . Flash Interface Module (FIM)/FIM
20...快閃記憶體/記憶體20. . . Flash memory/memory
22...周邊存取模組twenty two. . . Peripheral access module
24...主機裝置twenty four. . . Host device
26...主機介面匯流排/匯流排26. . . Host interface bus/bus
26a...埠26a. . . port
28...快閃介面匯流排/匯流排28. . . Flash interface bus/bus
32...主機直接記憶體存取單元/HDMA32. . . Host direct memory access unit / HDMA
33...暫存器33. . . Register
34...快閃直接記憶體存取單元/FDMA/快閃DMA34. . . Flash direct memory access unit / FDMA / flash DMA
35...CPU匯流排仲裁器35. . . CPU bus arbiter
36...仲裁器36. . . Arbitrator
38...緩衝區隨機存取記憶體/BRAM38. . . Buffer random access memory/BRAM
40...密碼引擎/加密引擎/引擎40. . . Password engine / encryption engine / engine
50...NVM50. . . NVM
54...硬體測試輸入/輸出(I/O)/測試墊54. . . Hardware Test Input/Output (I/O) / Test Pad
56...硬體匯流排/HW匯流排56. . . Hardware bus/HW bus
58...NVM測試埠58. . . NVM test埠
62...JTAG匯流排62. . . JTAG bus
66...狀態指示符熔絲/熔絲66. . . Status indicator fuse/fuse
77...生命週期狀態77. . . Life cycle state
99...秘密密鑰/密鑰99. . . Secret key/key
圖1A為根據本發明之一實施例之系統10的示意圖。FIG. 1A is a schematic illustration of a system 10 in accordance with an embodiment of the present invention.
圖1B為系統10之另一實施例的示意圖。FIG. 1B is a schematic diagram of another embodiment of system 10.
圖2A為說明本發明之一實施例中各種生命週期階段的流程圖。2A is a flow chart illustrating various life cycle stages in an embodiment of the present invention.
圖2B為各種生命週期階段的表。Figure 2B is a table of various life cycle stages.
圖3為說明啟動過程及生命週期階段的流程圖。Figure 3 is a flow chart illustrating the startup process and the life cycle phase.
110...NVM狀態110. . . NVM status
120...恆定賦能狀態120. . . Constant energization state
130...隨機賦能狀態130. . . Random empowerment state
140...最後密鑰狀態140. . . Last key status
150...安全狀態150. . . Security status
160...RMA狀態160. . . RMA status
170...去能狀態170. . . De-enable state
Claims (22)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US65112805P | 2005-02-07 | 2005-02-07 | |
| US11/317,862 US8321686B2 (en) | 2005-02-07 | 2005-12-22 | Secure memory card with life cycle phases |
| US11/317,390 US8108691B2 (en) | 2005-02-07 | 2005-12-22 | Methods used in a secure memory card with life cycle phases |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200641696A TW200641696A (en) | 2006-12-01 |
| TWI402755B true TWI402755B (en) | 2013-07-21 |
Family
ID=36644859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW095104117A TWI402755B (en) | 2005-02-07 | 2006-02-07 | Secure memory card with life cycle phases |
Country Status (7)
| Country | Link |
|---|---|
| EP (1) | EP1846826A2 (en) |
| JP (1) | JP4787273B2 (en) |
| KR (1) | KR100972540B1 (en) |
| CN (1) | CN101164048B (en) |
| IL (1) | IL184793A0 (en) |
| TW (1) | TWI402755B (en) |
| WO (1) | WO2006086232A2 (en) |
Families Citing this family (9)
| 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 |
| US7536540B2 (en) | 2005-09-14 | 2009-05-19 | Sandisk Corporation | Method of hardware driver integrity check of memory card controller firmware |
| US9304555B2 (en) | 2007-09-12 | 2016-04-05 | Devicefidelity, Inc. | Magnetically coupling radio frequency antennas |
| US8070057B2 (en) | 2007-09-12 | 2011-12-06 | Devicefidelity, Inc. | Switching between internal and external antennas |
| US20090069049A1 (en) | 2007-09-12 | 2009-03-12 | Devicefidelity, Inc. | Interfacing transaction cards with host devices |
| US8915447B2 (en) | 2007-09-12 | 2014-12-23 | Devicefidelity, Inc. | Amplifying radio frequency signals |
| US9311766B2 (en) | 2007-09-12 | 2016-04-12 | Devicefidelity, Inc. | Wireless communicating radio frequency signals |
| US9553721B2 (en) * | 2015-01-30 | 2017-01-24 | Qualcomm Incorporated | Secure execution environment communication |
| CN116230065A (en) * | 2023-02-14 | 2023-06-06 | 北京国家新能源汽车技术创新中心有限公司 | Method for testing erasing life of embedded nonvolatile memory of security chip, storage medium and computer |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020164030A1 (en) * | 2001-05-04 | 2002-11-07 | Stephenson Gary V. | Encryption for asymmetric data links |
| US6783078B1 (en) * | 2003-05-09 | 2004-08-31 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods |
| TWI223974B (en) * | 2003-11-20 | 2004-11-11 | Advanced Semiconductor Eng | Tiny memory card and method for manufacturing the same |
| TW200501281A (en) * | 2003-06-27 | 2005-01-01 | Kingpak Tech Inc | Manufacturing method of small memory card having display |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4243888A1 (en) * | 1992-12-23 | 1994-06-30 | Gao Ges Automation Org | Data carrier and method for checking the authenticity of a data carrier |
| FR2716989B1 (en) * | 1994-03-04 | 1996-04-05 | Gemplus Card Int | Method of operation of a smart card. |
| JP3461234B2 (en) * | 1996-01-22 | 2003-10-27 | 株式会社東芝 | Data protection circuit |
| EP1004992A3 (en) * | 1997-03-24 | 2001-12-05 | Visa International Service Association | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card |
| JPH11161549A (en) * | 1997-11-28 | 1999-06-18 | Toshiba Corp | Secret information management method and system for portable information equipment |
| WO1999064996A1 (en) * | 1998-06-05 | 1999-12-16 | Landis & Gyr Communications S.A.R.L. | Preloaded ic-card and method for authenticating the same |
| EP0992809A1 (en) * | 1998-09-28 | 2000-04-12 | Siemens Aktiengesellschaft | Circuit with deactivatable scan path |
| JP2000172821A (en) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | Semiconductor device, data storage medium, data recording device, data reading device, and method of manufacturing semiconductor device |
| DE10162306A1 (en) * | 2001-12-19 | 2003-07-03 | Philips Intellectual Property | Method and arrangement for verifying NV fuses as well as a corresponding computer program product and a corresponding computer-readable storage medium |
| JP4350962B2 (en) * | 2002-03-13 | 2009-10-28 | パナソニック株式会社 | Secure device |
| US6912633B2 (en) * | 2002-03-18 | 2005-06-28 | Sun Microsystems, Inc. | Enhanced memory management for portable devices |
| US6843423B2 (en) * | 2003-03-13 | 2005-01-18 | Stmicroelectronics, Inc. | Smart card that can be configured for debugging and software development using secondary communication port |
| WO2005010808A2 (en) * | 2003-07-17 | 2005-02-03 | Sandisk Corporation | Memory card with raised portion |
-
2006
- 2006-02-01 KR KR1020077018143A patent/KR100972540B1/en not_active Expired - Fee Related
- 2006-02-01 CN CN2006800042296A patent/CN101164048B/en not_active Expired - Fee Related
- 2006-02-01 WO PCT/US2006/003876 patent/WO2006086232A2/en not_active Ceased
- 2006-02-01 EP EP06734304A patent/EP1846826A2/en not_active Withdrawn
- 2006-02-01 JP JP2007554249A patent/JP4787273B2/en not_active Expired - Fee Related
- 2006-02-07 TW TW095104117A patent/TWI402755B/en not_active IP Right Cessation
-
2007
- 2007-07-23 IL IL184793A patent/IL184793A0/en not_active IP Right Cessation
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020164030A1 (en) * | 2001-05-04 | 2002-11-07 | Stephenson Gary V. | Encryption for asymmetric data links |
| US6783078B1 (en) * | 2003-05-09 | 2004-08-31 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods |
| TW200501281A (en) * | 2003-06-27 | 2005-01-01 | Kingpak Tech Inc | Manufacturing method of small memory card having display |
| TWI223974B (en) * | 2003-11-20 | 2004-11-11 | Advanced Semiconductor Eng | Tiny memory card and method for manufacturing the same |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20070121642A (en) | 2007-12-27 |
| JP2008530659A (en) | 2008-08-07 |
| JP4787273B2 (en) | 2011-10-05 |
| TW200641696A (en) | 2006-12-01 |
| KR100972540B1 (en) | 2010-07-28 |
| IL184793A0 (en) | 2008-01-20 |
| CN101164048A (en) | 2008-04-16 |
| EP1846826A2 (en) | 2007-10-24 |
| WO2006086232A2 (en) | 2006-08-17 |
| WO2006086232A3 (en) | 2007-10-11 |
| CN101164048B (en) | 2010-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8423788B2 (en) | Secure memory card with life cycle phases | |
| US11562075B2 (en) | Secure booting method, apparatus, device for embedded program, and storage medium | |
| US8108691B2 (en) | Methods used in a secure memory card with life cycle phases | |
| US8321686B2 (en) | Secure memory card with life cycle phases | |
| US8572410B1 (en) | Virtualized protected storage | |
| KR101975027B1 (en) | System on chip, operation method thereof, and devices having the same | |
| KR102013841B1 (en) | Method of managing key for secure storage of data, and and apparatus there-of | |
| EP2907067B1 (en) | Method and system for smart card chip personalization | |
| US20070162964A1 (en) | Embedded system insuring security and integrity, and method of increasing security thereof | |
| US11533172B2 (en) | Apparatus and method for securely managing keys | |
| US20190163913A1 (en) | Root key processing method and associated device | |
| US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
| JP2011522469A (en) | Integrated circuit having protected software image and method therefor | |
| CN101256613A (en) | Secure processor system that does not require maker and user to know each other's encrypted information | |
| US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
| KR20110051181A (en) | Data Security Systems, Methods, and Computer-readable Media | |
| CN113177201A (en) | Program checking and signing method and device and SOC chip | |
| US9152576B2 (en) | Mode-based secure microcontroller | |
| US20070098149A1 (en) | Decryption key table access control on ASIC or ASSP | |
| TW201508770A (en) | Non-volatile memory to store resettable data | |
| CN101770559A (en) | Data protecting device and data protecting method | |
| TWI402755B (en) | Secure memory card with life cycle phases | |
| US11481523B2 (en) | Secure element | |
| CN104794373A (en) | Software encryption lock | |
| US20250385788A1 (en) | Integrated circuit for genereating key encrypting key and operating method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |