JP2008530659A - Secure memory card with life cycle phase - Google Patents
Secure memory card with life cycle phase Download PDFInfo
- Publication number
- JP2008530659A JP2008530659A JP2007554249A JP2007554249A JP2008530659A JP 2008530659 A JP2008530659 A JP 2008530659A JP 2007554249 A JP2007554249 A JP 2007554249A JP 2007554249 A JP2007554249 A JP 2007554249A JP 2008530659 A JP2008530659 A JP 2008530659A
- Authority
- JP
- Japan
- Prior art keywords
- card
- state
- memory
- test
- memory card
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
Abstract
暗号化機能を備えたセキュアメモリカードが、複数の状態のある状態においてカードのハードウェアおよびソフトウェアのテストを可能にするさまざまなライフサイクル状態を有する。テスト機構は、複数の状態のうちある他の状態において無効化されるため、セキュアデータおよび暗号鍵への潜在的な抜け穴が閉じられる。抜け穴にアクセスされたとしても、前に暗号化されたデータが復号化できないため、抜け穴が見つけられ、悪意をもって侵入されたとしても、価値がないものとなるように、データの暗号化および復号化に要求される鍵の利用可能性および生成が制御される。 Secure memory cards with encryption capabilities have various lifecycle states that allow testing of the card hardware and software in multiple states. Since the test mechanism is invalidated in some other state of the plurality of states, potential loopholes to secure data and encryption keys are closed. Even if a loophole is accessed, previously encrypted data cannot be decrypted, so data is encrypted and decrypted so that even if a loophole is found and entered maliciously, it is worthless The availability and generation of keys required for
Description
本発明は、一般に、メモリカードおよび暗号化に関し、特に、カードのテスト機構によるセキュアデータおよび鍵へのアクセス排除に関する。 The present invention relates generally to memory cards and encryption, and more particularly to exclusion of access to secure data and keys by a card testing mechanism.
開発からかなりの時が経過した、スマートカードと一般に呼ばれているインテリジェントメモリカードは、身分証明や支払いの形態で市場に受け入れられている。スマートカードは、ユーザの識別データの格納および取引関連データの格納用の少量のメモリを含む。また、スマートカードは、チップと呼ばれることも多く、日本では、国の身分証明書などのさまざまな形態や、クレジットカードやデビットカードのタイプとしてさまざまな場所で採用されている。なりすまし犯罪やその他の金銭上の詐欺を防止するために、カードおよびカードを利用するシステムに、さまざまなチップデザインおよび暗号化方式が採用されてきた。 A considerable amount of time has passed since development, and intelligent memory cards, commonly referred to as smart cards, are accepted by the market in the form of identification and payment. The smart card includes a small amount of memory for storing user identification data and transaction related data. Smart cards are often called chips. In Japan, smart cards are used in various places such as national identity cards and credit cards and debit cards. Various chip designs and encryption schemes have been employed in cards and card-based systems to prevent impersonation crimes and other financial fraud.
任意のタイプのセキュアメモリカードの設計と製造には、2つの競合する利益が存在する。1つの利益は、カードのセキュリティを最大限に高めることであり、もう1つの利益は、カードの信頼性を最大限に高めることである。カードの信頼性を最大限に高めるには、工場からの出荷前に、場合によっては、工場からの出荷後であっても、故障解析を行うために、さまざまな製造段階でカードのソフトウェアおよびハードウェアをテストできることが重要である。カードのハードウェアとソフトウェアの両方をテストするために、チップ上のテストまたはコンタクトパッドに信号を入出力させてテストを行ってもよい。これらのテストルーチンおよびテストパッドは、品質制御を確保する必要があるが、セキュアデータ、アルゴリズム、およびカードの鍵にとって、潜在的な弱点、いわゆる「抜け穴」となる。このように、信頼性の最大化とセキュリティの最大化(に必要なテスト)の間には、ある程度の妥協が常に存在する。テスト完了後、この「抜け穴」を閉じるためのさまざまなアプローチがこれまで提案されてきた。しかし、さまざまな理由から、これまでの解決策にはそれぞれ、商業的および技術的欠点がある。 There are two competing benefits in the design and manufacture of any type of secure memory card. One benefit is to maximize card security, and another benefit is to maximize card reliability. To maximize the reliability of the card, the card software and hardware at various stages of production can be analyzed before failure from the factory, and in some cases even after shipment from the factory, for failure analysis. It is important to be able to test the wear. To test both the hardware and software of the card, the test may be performed by inputting / outputting signals to / from a test on a chip or a contact pad. While these test routines and test pads need to ensure quality control, they are a potential weakness for secure data, algorithms, and card keys, so-called “loopholes”. Thus, there is always some degree of compromise between maximizing reliability and maximizing security (the tests required for). Various approaches have been proposed to close this “loophole” after testing is complete. However, for various reasons, each of the previous solutions has commercial and technical drawbacks.
前述したスマートカードの作製に採用されると考えられる1つのアプローチにおいて、ウェハからメモリダイを個片化する前にカードのダイがテストされる。特定のダイ用のテストパッドは、ウェハの隣接するダイの上に設けられ、個片化プロセスは、テスト後に隣接するダイのすべての回路からテストパッドを切断する。したがって、個片化されたダイの上に存在するあらゆるテストパッドが完全に隔離され、最終メモリカードのセキュアデータへの潜在的な抜け穴として閉じられる。しかし、テストパッドを完全に除去することは、常に実用的なことでも、望ましいことでもない。例えば、使用可能なテストパッドがないと、ある量のハードウェアベースのメモリテストを引き続き行えなくなり、これにより、例えば、潜在的な故障解析方法を制限してしまう。 In one approach that may be employed in the smart card fabrication described above, the card die is tested before the memory die is singulated from the wafer. A test pad for a particular die is provided on the adjacent die of the wafer, and the singulation process cuts the test pad from all circuitry on the adjacent die after testing. Thus, any test pads present on the singulated die are completely isolated and closed as a potential loophole to the secure data on the final memory card. However, complete removal of the test pad is not always practical or desirable. For example, without a usable test pad, a certain amount of hardware-based memory testing cannot continue, which limits, for example, potential failure analysis methods.
このアプローチは、典型的に、身分証明および取引データの保持に必要なメモリを少量しかもたないスマートカードには好ましいこともあるが、写真や音楽などの多数の大きなファイルを格納するのに使用する大容量メモリカードに採用された比較的大量のメモリおよび複雑なセキュリティルーチンをテストするには不十分である。これらの大容量メモリカードのいくつかの例は、コンパクトフラッシュカード、MMCカード、およびSDカードである。デジタルコンテンツの普及と、それに関連する著作権問題により、セキュリティの重要性が高まると同時に、カードのテストおよび信頼性が最も重要であることに変わりはない。セキュアな大容量メモリカードを製造、テスト、および動作させるより包括的かつ柔軟性のあるシステムが必要とされ、以下に説明する本発明によって提供される。 This approach is typically used to store large numbers of large files such as photos and music, although it may be preferable for smart cards that have only a small amount of memory required to hold identification and transaction data It is insufficient to test the relatively large amount of memory and complex security routines employed in high capacity memory cards. Some examples of these large capacity memory cards are compact flash cards, MMC cards, and SD cards. With the proliferation of digital content and the associated copyright issues, the importance of security is increasing, while card testing and reliability remain the most important. There is a need for a more comprehensive and flexible system for manufacturing, testing, and operating secure mass memory cards and is provided by the present invention described below.
別の重要な態様はコストである。不揮発性メモリ、論理、揮発性メモリなどのいくつかの異なる技術が、単一の集積回路ダイ(チップ)上に作製されうる。しかし、1つのダイでさまざまな技術を混在させると、生産コストが著しく増大する。コストが主要な原動力である競合的な環境において、1つのダイに与えられる、異なる技術の数を制限することが非常に望ましい。しかし、複数のダイを使用するということは、つまり、最終製品の1つのダイから別のダイへ機密情報を渡す必要があるということにもなる。これは、適切な予防策を取り入れていなければ、ハッカーが利用できる別の潜在的な弱点となる。 Another important aspect is cost. Several different technologies such as non-volatile memory, logic, volatile memory, etc. can be fabricated on a single integrated circuit die (chip). However, when various technologies are mixed in one die, the production cost is remarkably increased. In competitive environments where cost is a major driving force, it is highly desirable to limit the number of different technologies that can be given to a die. However, using multiple dies also means that confidential information needs to be passed from one die to another in the final product. This is another potential weakness that hackers can take advantage of without proper precautions.
特に、不揮発性メモリビットは、同じダイ内で論理と混在させるには高価である。スマートカードは、スマートカードを実行する論理と同じダイでデータ記憶を目的として不揮発性メモリを採用し、これは、セキュリティを最大限に高める1つの方法である。しかし、今日、本発明から利益を享受するメモリカードは、非常に大きな、音楽、写真、映像、および他のユーザファイルを格納しなければならない。このように、大量の情報(2005年時点で数ギガバイト程度であるが、さらに増大)を格納可能な単一の集積回路ダイメモリカードの製造には法外なコストがかかり、複数のダイを採用するセキュアシステムの開発が必要である。特に、コントローラダイから分離され、アセンブリの前後に十分にテスト可能であるが、テスト機構を経由した攻撃を受けにくい1つ以上のディスクリート(コスト効率の良い)フラッシュメモリダイを利用したセキュアシステム(暗号化および復号化を採用)の作製が非常に望ましい。
コントローラの機能性と、今日のデジタルデバイスが要求する大容量記憶とを兼ね備えた単一チップを利用することは、過度にコストがかかるとともに、拡張性の点でも問題があるため、代替のシステムが開発されてきた。単一チップの解決策の場合、テスト機構、暗号化鍵、および暗号化されたコンテンツへアクセスしにくくする特有のチップデザインでセキュリティを確保できる。しかし、コンテンツが別個のメモリチップから、暗号化が生じるコントローラチップに渡される複数チップデザインの場合、暗号化鍵と暗号化されたコンテンツへのアクセス保護に特に注意を払わなければならない。さらに、組立て済みのシステムをテストできるように最終アセンブリに(好ましくは)依然としてテストパッドを備えたシステムでは、暗号化鍵およびコンテンツへの不正アクセスへの抜け穴となってしまいかねないソフトウェアおよびハードウェアの任意の機構に特に注意を払わなければならない。 Using a single chip that combines the functionality of a controller with the mass storage required by today's digital devices is overly costly and has scalability issues, so alternative systems Has been developed. In the case of a single chip solution, security can be ensured with a unique chip design that makes it difficult to access the test mechanism, encryption key, and encrypted content. However, in the case of a multi-chip design where content is passed from a separate memory chip to the controller chip where encryption occurs, particular attention must be paid to the encryption key and access protection to the encrypted content. In addition, a system that still has a test pad (preferably) in the final assembly so that the assembled system can be tested can be used as software and hardware that could be a loophole for unauthorized access to encryption keys and content. Special attention must be paid to any mechanism.
本発明は、カードの寿命の間に入り通過する多数のライフサイクルフェーズを有する。フェーズに応じて、カードの論理は、暗号化エンジンを有効または無効にし、(ウェハの個片化およびカードの組み立ての前後での)ハードウェアおよびソフトウェアテスト機構へのアクセスを制御し、鍵生成を制御する。これらのフェーズは、(テストパッドを除去したスマートカードとは異なり)カードのハードウェアとソフトウェアの両方を製造の前後で徹底的にテストできるようになるだけでなく、カードがセキュアフェーズにあるとき、すなわち、カードがユーザに出荷されているときのカードの状態である動作フェーズにあるとき、暗号化された鍵、ひいては、暗号化されたコンテンツへ事実上アクセスできなくする。したがって、本発明により、十分にテスト可能であるが、カード内の保護データへの不正アクセスにも強いメモリカードが提供される。 The present invention has a number of life cycle phases that pass through the lifetime of the card. Depending on the phase, the card logic enables or disables the encryption engine, controls access to hardware and software test mechanisms (before and after wafer singulation and card assembly), and generates keys. Control. These phases (unlike smart cards with the test pad removed) will not only allow thorough testing of both the card hardware and software before and after production, but also when the card is in the secure phase, That is, when in the operational phase, which is the state of the card when it is shipped to the user, the encrypted key and thus the encrypted content is virtually inaccessible. Therefore, the present invention provides a memory card that can be fully tested but is resistant to unauthorized access to protected data in the card.
さらに、セキュアな大容量メモリカードを製造、テスト、および動作させるより包括的かつ柔軟性のあるシステムが必要とされ、以下に説明する本発明により提供される。 Furthermore, there is a need for a more comprehensive and flexible system for manufacturing, testing, and operating secure mass memory cards and is provided by the present invention described below.
本発明のさらなる態様、利点、および特徴は、添付の図面と関連して参照される本発明の例示的な実施例の以下の説明に含まれ、図面において、同じ特徴を説明するために同様の参照番号を使用している。本願明細書において参照したすべての特許、特許出願、論文、および他の刊行物は、あらゆる目的のためにその全体が本願明細書において参照により援用されている。 Additional aspects, advantages, and features of the present invention are included in the following description of exemplary embodiments of the invention, referenced in conjunction with the accompanying drawings, in which like features are used to describe the same features. A reference number is used. All patents, patent applications, articles, and other publications referenced herein are hereby incorporated by reference in their entirety for all purposes.
(メモリシステム構造)
図1Aのブロック図に、本発明のさまざまな態様が実施されてもよい例示的なメモリシステムを示す。図1Aに示されているように、メモリシステム10は、中央演算処理装置(CPU)またはコントローラ12と、バッファ管理ユニット(BMU)14と、ホストインターフェイスモジュール(HIM)16と、フラッシュインターフェイスモジュール(FIM)18と、フラッシュメモリ20と、周辺アクセスモジュール22とを含む。メモリシステム10は、ホストインターフェイスバス26およびポート26aを介してホストデバイス24と通信する。NAND形のものであってもよいフラッシュメモリ20は、ホストデバイス24にデータ記憶装置を提供する。また、CPU12のソフトウェアコードは、フラッシュメモリ20に格納される。FIM18は、フラッシュインターフェイスバス28を介して、場合によっては、フラッシュメモリ20が取り外し可能な構成要素であれば、図に示されていないが、ポートを介してフラッシュメモリ20に接続される。HIM16は、デジタルカメラ、パーソナルコンピュータ、個人用携帯情報端末(PDA)およびMP−3プレイヤ、携帯電話、または他のデジタルデバイスのようなホストシステムとの接続に適している。周辺アクセスモジュール22は、CPU12との通信用のFIM、HIM、およびBMUなどの適切なコントローラモジュールを選択する。1つの実施形態において、点線で四角に囲んだシステム10の構成要素はすべて、メモリカードなどの単一のユニットに封入されてもよく、好ましくは、カードに封入されてもよい。
(Memory system structure)
The block diagram of FIG. 1A illustrates an exemplary memory system in which various aspects of the invention may be implemented. As shown in FIG. 1A, the
バッファ管理ユニット14は、ホストダイレクトメモリアクセスユニット(HDMA)32と、フラッシュダイレクトメモリアクセスユニット(FDMA)34と、アービタ36と、CPUバスアービタ35と、レジスタ33と、バッファランダムアクセスメモリ(BRAM)38と、暗号化エンジン40とも呼ばれる暗号エンジン40とを備える。アービタ36は、1つのみのマスタまたはイニシエータ(HDMA32、FDMA34、またはCPU12でありうる)が、常に活性であり、スレーブまたはターゲットがBRAM38になるような共有バスアービタである。アービタは、BRAM38に適切なイニシエータのリクエストを通す責任を有する。HDMA32およびFDMA34は、HIM16と、FIM18と、BRAM38またはRAM11との間で伝送されるデータに責任を有する。CPUバスアービタ35は、暗号エンジン40およびフラッシュDMA34から、システムバス15を経由して、RAM11へ直接データを転送でき、これは、例えば、暗号エンジンを経由しないことが望ましい場合などの状況下で使用される。HDMA32およびFDMA34の動作は、従来のものであり、本願明細書で詳細に説明しない。BRAM38は、ホストデバイス24とフラッシュメモリ20との間を通るデータを格納するために使用される。HDMA32およびFDMA34は、HIM16/FIM18とBRAM38またはCPU RAM12aとの間でデータを転送したり、セクタの完了を示したりする責任を有する。
The buffer management unit 14 includes a host direct memory access unit (HDMA) 32, a flash direct memory access unit (FDMA) 34, an
フラッシュメモリ20からのデータがホストデバイス24によって読み出されるとき、メモリ20の暗号化データが、バス28、FIM18、FDMA34、および暗号エンジン40を通って取り出され、暗号化データは復号化され、BRAM38に格納される。次いで、復号化されたデータは、BRAM38から、HDMA32、HIM16、バス26を通って、ホストデバイス24に送信される。BRAM38から取り出されたデータは、ホストデバイス24に送信されたデータが再度暗号化されるようにHDMA32に渡される前に暗号エンジン40を用いて再度暗号化されてもよいが、メモリ20に格納されたデータが暗号化されたものと比較して異なった鍵および/またはアルゴリズムを用いて再度暗号化されてもよい。他の形態において、データが不正アクセスに脆弱になる可能性のある前述したプロセスにおいて、BRAM38に復号化データを格納するのではなく、メモリ20からのデータは、BRAM38に送信される前に暗号エンジン40によって再度復号化および暗号化されてもよい。次いで、BRAM38の暗号化データは、前述したように、ホストデバイス24に送信される。これは、読み出しプロセス中のデータストリームを示す。
When data from the flash memory 20 is read by the
データがホストデバイス24によってメモリ20に書き込まれると、データストリームの方向が反転する。例えば、暗号化されていないデータが、ホストデバイスによって、バス26、HIM16、HDMA32を通って、暗号エンジン40に送信されれば、このようなデータは、BRAM38に格納される前にエンジン40によって暗号化されてもよい。他の形態において、暗号化されていないデータは、BRAM38に格納されてもよい。次いで、データは、メモリ20へ進む途中でFDMA34に送信される前に暗号化される。
When data is written to the memory 20 by the
(ライフサイクルフェーズ)
例えば、前述したもののようなメモリカードに実装される場合に特に有用であるセキュリティシステムまたはセキュアオペレーティングシステムには、異なるフェーズまたは状態がある。これらのフェーズは、1つのフェーズから次へと進んだ後、前のフェーズには再度入ることができないように、連続的に入ることが好ましい。したがって、これらのフェーズは、ライフサイクルフェーズと考えることができる。
(Life cycle phase)
For example, security systems or secure operating systems that are particularly useful when implemented on a memory card such as those described above have different phases or states. These phases are preferably entered continuously after proceeding from one phase to the next so that the previous phase cannot be entered again. Therefore, these phases can be considered life cycle phases.
フェーズについて詳細に説明する前に、別のシステムレベル図について簡単に説明する。図1Bは、システム10の別の実施形態を示す。この図には、簡潔かつ明確に示すために、システム10のある一定の構成要素しか示されていない。メモリシステム10は、ハードウェアテスト入出力(I/O)54とも呼ばれるテストパッドを備える。ハードウェアバス(HWバス)56は、テストパッド54に接続されることが好ましい。これらのテストパッドおよびHWバス56は、システム10のさまざまなハードウェアおよび回路(図示せず)に接続され、システム10のハードウェアおよび回路をテストするために使用される。JTAGバス62は、システムバス15(図1Aに示されている)に接続され、コントローラファームウェアを取り替え、システム10の外側からハードウェアブロックを駆動するために使用できる。これは、レジスタの読み出し/書き込み動作を要求するハードウェアテスト用に使用される。JTAGバス62は、RAMおよびROMにアクセスできるため、システム10のファームウェアをテストするためにも使用される。診断コマンドをシステム10に送信するために、ホストバス26が利用され、システムのファームウェアをテストするためにも使用される。
Before describing the phases in detail, another system level diagram is briefly described. FIG. 1B illustrates another embodiment of the
また、暗号化エンジン40のNVM50が示されている。NVM50内に格納されているものは、ライフサイクル状態77および秘密鍵99(の値)である。NVMテストポート58は、暗号化エンジン40内のNVMをテストするために使用される。
Also shown is the
状態インジケータヒューズ66は、製品が、NVMコンテンツに依存するのではなく、(以下に説明する)NVM状態110にあることを表示するために使用される。その理由は、作製中にNVMに格納された初期値の信頼性を保証できないことが挙げられる。したがって、ヒューズなどの別のより信頼性の高いインジケータが使用される。このシステムは、ヒューズが設定されていれば、状態110にあることを決定する。システム10がリセットされれば、状態を決定するために、NVMライフサイクル状態77を見ることになる。
The
図2Aは、さまざまな状態と、状態間の遷移の順序を示す。各状態は、図2Bにも再現している以下の表から分かるように、カードの製造の前後のカード(またはカードが実現されるシステム)のさまざまな挙動および能力を既定する。
FIG. 2A shows the various states and the order of transitions between the states. Each state prescribes various behaviors and capabilities of the card (or system in which the card is implemented) before and after card manufacture, as can be seen from the following table, which is also reproduced in FIG. 2B.
状態は、暗号化エンジンの不揮発性メモリ内に、32ビット値として格納されることが好ましい。状態120〜170を表すために使用される大量の可能な(≒109 )の組み合わせから、予め割り当てられた値が6つある。他のすべての値は、状態110を表す。これは、作製、組み立て、テスト、および出荷中のさまざまな処理動作が、メモリに格納された任意の値を変更してしまう可能性があるため、作製中に既定値を確実に格納し、その後に取り出すことが確保できないためである。
The state is preferably stored as a 32-bit value in the non-volatile memory of the encryption engine. From the large number of possible (≈10 9 ) combinations used to represent states 120-170, there are six pre-assigned values. All other values represent
また、鍵の値は、暗号化エンジンの不揮発性メモリに、128ビットフィールドとして格納されることが好ましい。鍵の値は、通常、シードアルゴリズムによって、ランダムに生成される。鍵の再生成は、鍵の値を変更してしまう可能性が高いが、(擬似)乱数発生器が、実際、連続して同じ値を発生してしまうこともあるため、これは保証できない。しかし、再生成中に鍵の値が変更されないこともあるということが十分に理解されたものであっても、鍵の変更という用語は、本願明細書において、鍵の再生成という用語と交換可能に使用される。言うまでもなく、情報を暗号化するために使用する鍵の値は重要なものである。同じ鍵の値は、暗号化と復号化の両方で使用されなければならない。このように、鍵の値が、システムの起動時ごとに再生成されれば、起動前に暗号化されたデータは、新しい鍵では復号化できないため、事実上、価値のないものになる。データは、カードのメモリに物理的にまだ存在はするが、ロックを解除するための適切な鍵の値がなければ役に立たない。このように、ハッカーが、どうにかしてカードをセキュア状態150ではない状態に戻そうとしても、価値のある情報を得ることはできない。状態110および160において、起動時ごとに新しい鍵が生成され、状態150において情報をすでに格納するために使用した鍵は、その情報を復号化するために利用することはできない。状態170および110において、暗号化エンジンは、鍵の値に関係なく、単に利用不能である。
The key value is preferably stored as a 128-bit field in the non-volatile memory of the encryption engine. The key value is usually randomly generated by a seed algorithm. Key regeneration is likely to change the key value, but this cannot be guaranteed because the (pseudo) random number generator may actually generate the same value continuously. However, even though it is well understood that the value of a key may not change during regeneration, the term key change is interchangeable with the term key regeneration herein. Used for. Needless to say, the value of the key used to encrypt the information is important. The same key value must be used for both encryption and decryption. In this way, if the key value is regenerated every time the system is activated, the data encrypted before the activation cannot be decrypted with the new key, and thus becomes virtually worthless. The data is still physically present in the card's memory but is useless without the proper key value to unlock it. Thus, even if a hacker manages to return the card to a state other than the
別のセキュリティ手段は、ファームウェアおよびハードウェアのテスト機構の利用を制限することを含む。このシステムは、この機構を有効化または無効化する論理を備える。前述したホストバスは、カードのファームウェアをテストするために使用される機構の1つである。ホストは、ファームウェアをテストするために、ホストバス上で診断コマンドを発行できる。また、ハードウェアは、これらのコマンドの実行時にテストされてもよい。また、ハードウェアは、JTAGポートとともにハードウェアバス上で直接テストされ、これにより、システムのさまざまなメモリへの直接アクセスが得られる。状態140および150において、NVMテスト機構、HWテスト機構、およびFWテスト機構がすべて無効化されていることに留意されたい。
Another security measure includes limiting the use of firmware and hardware test mechanisms. The system includes logic to enable or disable this mechanism. The host bus described above is one of the mechanisms used to test the card firmware. The host can issue diagnostic commands on the host bus to test the firmware. The hardware may also be tested when these commands are executed. The hardware is also tested directly on the hardware bus along with the JTAG port, which provides direct access to the various memories of the system. Note that in
以下、図2Aに示されているような状態および状態間の推移について、さらに詳細に説明する。 Hereinafter, the state and transition between states as shown in FIG. 2A will be described in more detail.
状態110は、コントローラの不揮発性メモリ(NVM)テストと呼ばれる。この状態は、メモリダイを作製した後の初期状態であり、ダイがメモリカードにパッケージ化され実装される前にコントローラダイの不揮発性メモリをテストするために使用される状態である。この状態で行われるテストは、ダイがウェハフォーマットと一体にある間の個片化前に実行されてもよく、または、他の形態において、個片化後に個々のダイに実行されてもよい。NVMがテストされると、そのコンテンツ(NVMテスタを使用)は、状態120を表示するために初期化され、ヒューズ66が飛ばされる。この状態で、暗号化エンジン40は無効化される。この状態には、カードのライフサイクルにおいて一度入るようにしか設計されておらず、システム内に、この状態に戻るための方法はない。しかし、前述したように、この状態は、ライフサイクル状態を既定するために使用される32ビット値の多数の可能な組み合わせの6つの予め割り当てられた値以外のもので表示される。不正値が検出され、ヒューズが飛ばされれば(NVM状態110にはいることができない)、暗号エンジンは、準備が整った状態にならず、システムが立ち上がらないか、または、図3を参照して以下に説明するステップ302を越えて進む。したがって、カードが起動され、この状態になるたびに、新しい鍵がランダムに生成され、すでに暗号化されたデータの復号化は不能である。暗号化エンジンが、このモードにおいて有効化されなくても、このモードが、作製中にウェハが完全な状態のままである間に使用されるように設計されているため、何らかの想定外の方法でこの状態に入り込み、さまざまなテストポートおよび機構を経由してカードのセキュアデータを探ろうとしているハッカーから保護するために、鍵は起動時ごとに再生成される。他の方法では、デザインによって、既存の状態110の後、NVMテスト機構は利用可能でなくなる。
状態120は一定の有効化状態と呼ばれる。この状態において、暗号化エンジン40は有効化される。暗号化エンジンが使用する鍵は、乱数発生器によって生成されず、メモリに格納されないが、何らかの外部ソースに配線接続され、このフェーズ中、一定である。ハードウェアおよびソフトウェアテスト機構は、この状態において利用可能である。この状態には、ハードウェアテスタによって入る。
状態130は、ランダム有効化状態と呼ばれる。この状態は、状態120に類似しているが、秘密鍵は、状態130に入るとき、一定であり配線接続される代わりに、ランダム生成される(一度)。これは、メモリカードの最終テスト、特徴化、および資格付与用に使用される状態である。暗号化および復号化を含む暗号動作は、秘密鍵または秘密鍵から導き出される鍵を使用したファームウェアを用いて可能である。この状態には、ホストデバイス24によってシステム10内にロードされた後、システム10によって実行されるコードによって入る。
状態140は、最終鍵状態と呼ばれる。この状態において、カードは、カードが出荷される最終秘密鍵を使用する。ハードウェアおよびソフトウェアテスト機構は、カード論理によって無効化され、アクセス不能である。これは、図1Bに示されているように、ハードウェアテストバスおよびテストパッドを含む。この状態は、製品の出荷時に使う鍵で保護される必要がある最終ファームウェアおよびコンフィギュレーションデータをカードにロードするために使用される。製品は、この状態において構成可能であるが、状態150ではできない。この状態には、ホストコマンドによって入る。コマンドは、ホストからダウンロードされ、カードによって実行されるコード(「DLEコード」)に含まれてもよい。コマンドは、他の形態において、ホストから直接発行されてもよい。これは、以下でDLEコードという用語を利用するときは常に当てはまる。
状態150は、セキュア状態と呼ばれる。これは、工場からカードが出荷される状態である。ハードウェアおよびソフトウェアテスト機構は、カード論理によって無効化され、アクセス不能である。この状態には、製造現場での製品のテストおよびコンフィギュレーションの最後に入る。鍵は再生成されず、状態140中にメモリに格納された値が、状態150の間利用される。カードのさまざまな動作に派生的な鍵を利用してもよいが、鍵99は、これらの鍵を導き出し、データを暗号化および復号化するのに常に必要なものである。この鍵は、セキュアカードの寿命の間(セキュアカードとして顧客の手にある間、その後は含まず)利用されることを意味する。カードのファームウェアは任意の動作に対して秘密鍵を使用することができない。カード内におけるすべての暗号化および復号化を実行する責任があるのは、暗号化エンジンのハードウェアである。この状態には、DLEコードによって入る。
状態160は、返品認可またはRMA状態と呼ばれる。この状態は、適切に作動しないという理由で消費者によって返品されたカードをテストできるように設計される。これは、カードの故障解析を実行可能な状態である。ソフトウェアおよびハードウェアテスト機構が再度利用可能である。この状態が、工場によってのみアクセス可能であることに留意することが重要である。さらに、RMA状態に入った後は、セキュアカードとして再度カードを使用することができない。言い換えれば、カードは、状態150に再度入ることはできず、あるいは、他の点では、カードにある情報を復号化したり、またはカードに暗号化情報を保存したりするために使用することもできない。秘密鍵は、このモードに入るときと、カードがこの状態にある間に実行されるチップリセットごとの間に再生成される。復号化に暗号鍵を使用する動作は、起動時のみ有効化され、ファームウェアは、任意の動作に秘密鍵を使用することができない。この状態には、ホストコマンドの結果であるROMコードによって入る。
状態170は、無効化状態と呼ばれる。無効化状態において、暗号エンジン40は、暗号機能のすべてを無効化したバイパスモードにある。カード内では、非セキュアアルゴリズムのみが使用される。ハードウェアおよびソフトウェアテスト機構は、暗号化エンジンがなければ、侵入する価値も、改竄する価値もないため、再度有効化される。任意の暗号化情報が復号化できず、無価値にされる。また、暗号化され、引き続き復号化されてもよい追加情報がない。この状態は、非セキュアまたは「レギュラー」カードを生産するために使用されてもよい。このようにして、同じシステムが、セキュアおよび非セキュアメモリカードの両方を生産するために使用できる。その違いは、非セキュアカードにおいて、カードのセキュリティシステムが無効化状態にあるとか、またはカードが、より一般に、状態170にあるとか言われることである。また、無効化状態は、故障解析用に工場に戻され、したがって、RMA状態160にされた製品を再出荷するために使用できる。前述したように、カードは、RMA状態160に入った後、それよりも前の状態のいずれにも戻ることはできず、セキュアカードとして再販することができない場合もある。しかし、機能できるか、または工場で再度機能できるようにしたカードが、無効化状態170に置かれ、非セキュアカードとして再販することもできる。このようにして、カードは回収でき、あらゆる集約的な目的で、新しい非セキュアまたは「レギュラー」カードと同じものとなる。回収された非セキュアカードと、新しい非セキュアカードの両方は、同じ状態で同じファームウェアを走らせることになる。
現在、圧倒的多数のカードは、非セキュアカードである。主に、コンテンツプロバイダの需要により、セキュアカードを市場に広めようとする動きが高まっているが、セキュアカードと非セキュアカードとの間での将来的なメモリカードの販売パーセンテージがどのようになるかは明確ではない。明確なことは、多数の非セキュアコンテンツが常にあり、したがって、非セキュアカードの需要があると予想されることである。本発明は、(許可された人によってのみ)セキュアカードのハードウェアおよびソフトウェアのすべてをテスト可能にするだけではなく、さまざまな非セキュア用の返品されたセキュアカードを回収することもできる。さらに、本発明のシステムにより、堅牢なセキュリティを備えているが、故障解析を実行するために、廃棄する必要もなく、またはセキュリティシステムを妥協する必要もないカードが得られる(アクセス可能な「抜け穴」に関して)。メモリカードを使用するデバイスが一般に普及していくことを考慮すれば、欠陥のあるセキュアカードとなったものを回収できることは、消費者にとっても、製造業者にとっても同様に多大な利益となる。 Currently, the vast majority of cards are non-secure cards. Mainly due to demand from content providers, there is a growing movement to spread secure cards to the market, but what will be the future memory card sales percentage between secure and non-secure cards Is not clear. What is clear is that there is always a large number of non-secure content and therefore it is expected that there will be a demand for non-secure cards. The present invention not only allows all of the secure card hardware and software to be tested (by an authorized person only), but can also recover a variety of returned secure cards for non-secure use. In addition, the system of the present invention provides a card that has robust security but does not need to be discarded or compromised in order to perform failure analysis (accessible “loophole”). "). Considering that devices that use memory cards are becoming more popular, the ability to recover a defective secure card is a tremendous benefit for consumers and manufacturers alike.
図3は、前述したシステムを実行するメモリカード用の起動プロセスを示す。起動プロセスのさらなる情報に関しては、ミッキー・ホルツマンらによる同時係属出願中の米国特許出願第11/284,623号「メモリコントローラファームウェアのハードウェアドライバの完全性チェック方法」(代理人整理番号SNDK.408US1)(特許文献1)を参照されたい。この特許出願は、その全体が本願明細書において参照により援用されている。 FIG. 3 shows a boot process for a memory card that executes the system described above. For further information on the boot process, see Mickey Holtzman et al., Co-pending U.S. Patent Application No. 11 / 284,623, “How to Check Memory Driver Firmware Hardware Driver Integrity” (Attorney Docket No. SNDK.408US1). ) (Patent Document 1). This patent application is incorporated herein by reference in its entirety.
ステップ302において、システムは、暗号エンジン40および他の構成要素を含む暗号ハードウェアの準備が整っているかをチェックする。このシステムは、ハードウェアの準備が整うまで進行を待機する。ハードウェアの準備が整うと、システムは、ステップ304に進む。ステップ304において、システムは、カードが状態170、すなわち、無効化状態にあるかを確認するチェックを行う。カードが状態170にあれば、ステップ306において、システムは、フラッシュメモリ20からRAM11へ、最小量の始動コードである起動ローダ(「BLR」)をアップロードする。次に、ステップ308において、システムは、BLRが適切にアップロードされたかを確認するチェックを行う。アップロードされていれば、ステップ310において、システムは、非セキュアモードで走らせる必要のあるファームウェアをアップロードする(標準ファームウェアから暗号機能をなくす)。ステップ308において決定したように、BLRが適切にアップロードされていなければ、システムは、以下に説明するステップ324に進む。
In
ステップ304において、システムが、カードが状態170にないと決定すれば、システムは、ステップ312において、RAMコンテンツをクリアする。その後、システムは、ステップ314においてカードがどの状態にあるかを確認するチェックを再度行う。カードが状態120、130、または140にあれば、BLRは、ステップ316においてアップロードされる。ステップ318において、システムは、BLRが適切にアップロードされたかを確認するチェックを行う。次に、ステップ320において、BLRコードの完全性チェックが実行される。この完全性チェックは、メッセージ認証コード(MAC)値を計算し、その値を参照値と比較することによって実行されるハードウェアベースのチェックである。完全性チェックの結果は、メモリに格納された単純なフラグである。ステップ322において、ファームウェアは、完全性がベリファイされたか否かを確認するためにフラグをチェックする。完全性が承認されれば、システムは、ステップ342において、セキュアモードで走らせるのに必要なファームウェアをアップロードし、これにより、非セキュアデータを格納し取り出せることができることは言うまでもない。完全性が、ステップ322において決定されるように承認されなければ、システムは、ステップ324によって現されているように、ホストからのある命令をダウンロードし実行するために、ホストからの診断コマンド(DLEコマンド)を待機する。ステップ326から分かるように、DLEコマンドが受信されれば、システムは、ステップ328において、DLEコードをRAMにロードするために進む。ステップ330において、DLEコードは、コントローラによって実行される。
If, at
ステップ314において、カードが状態120、130、または140にないことが決定されれば、システムは、ステップ332において、カードが状態150にあるかを確認するチェックを行う。この状態にあれば、システムは、ステップ334において、BLRをアップロードする。これは、ROMコードによって行われる。ステップ336で決定されるように、BLRのアップロードが承認されれば、ステップ338において、ステップ320において前述したようなハードウェアベースの完全性チェックが実行される。このハードウェアベースの完全性チェックの後、ステップ340において、別の完全性チェック、この場合は、ソフトウェアベースの完全性チェックが実行される。完全性が承認されれば、システムは、ステップ342において、セキュアモードにおいて走らせる必要のあるファームウェアをアップロードし、これにより、非セキュアデータを格納し取り出すことができることは言うまでもない。
If in
ステップ332において、カードが状態150にないことが決定されれば、システムは、カードの状態およびカードが状態160にあるかをチェックし、この状態にあれば、システムは、ステップ348によって表される診断コマンドを待機する。しかし、ステップ344において、カードが状態160にないことが決定されれば、システムは、ステップ346から分かるように、RMA状態160に進むためのコマンドを待機する。
If it is determined in
Claims (40)
メモリダイにテストポートを設けるステップと、
セキュリティシステムを設けるステップであって、
暗号エンジンと、
暗号鍵と、
前記テストポートがハードウェアテスト用に利用可能であり、前記暗号エンジンの動作および前記メモリカードのソフトウェアのテストを有効化するソフトウェアテストルーチンが利用可能であるテスト状態と、
前記テストポートが利用不能であり、前記ソフトウェアテストルーチンが利用不能である動作状態と、を含むセキュリティシステムを設けるステップと、
前記テスト状態を利用することによって、前記メモリカードのソフトウェアをテストするステップと、
前記テスト状態から前記動作状態に前記カードを不可逆的に切り替えるコマンドを、ホストから前記カードへ提供するステップと、
を含む方法。 In the method of manufacturing a memory card,
Providing a test port on the memory die; and
A step of providing a security system,
A crypto engine,
An encryption key,
A test state in which the test port is available for hardware testing and a software test routine is available that enables operation of the cryptographic engine and software testing of the memory card;
Providing a security system comprising: an operating state in which the test port is unavailable and the software test routine is unavailable;
Testing the memory card software by utilizing the test state;
Providing a command from the host to the card to irreversibly switch the card from the test state to the operational state;
Including methods.
任意のファームウェアがメモリダイにロードされる前、および前記メモリカードの一部になる前に、前記メモリダイをテストするステップと、
前記メモリダイの前記メモリに前記ファームウェアをロードするステップと、
前記メモリカードのハードウェアおよびソフトウェアのテストを可能にする第1のフェーズに、前記カードのフェーズを変更するステップと、
その後、前記メモリカードのハードウェアおよびソフトウェアをテストするステップと、
その後、前記メモリカードのハードウェアおよびソフトウェアのテストを不能にする第2のフェーズに、前記カードのフェーズを変更するステップと、
を含む方法。 In a method for testing functionality of a memory card including a non-volatile memory die having a test pad,
Testing the memory die before any firmware is loaded into the memory die and before becoming part of the memory card;
Loading the firmware into the memory of the memory die;
Changing the phase of the card to a first phase that allows testing of the hardware and software of the memory card;
Then testing the memory card hardware and software;
Then changing the phase of the card to a second phase that disables hardware and software testing of the memory card;
Including methods.
前記ダイが前記カードに実装されるとき、前記テストパッドが、前記メモリダイ上に存在したままである方法。 The method of claim 2, wherein
The method wherein the test pad remains on the memory die when the die is mounted on the card.
前記カードの故障後、故障解析を目的として前記メモリカードのソフトウェアおよびハードウェアのテストを可能にするフェーズに、前記カードのフェーズを変更するステップをさらに含み、前記フェーズに入った後、前記メモリカードが、前記フェーズに入る前に暗号化されたデータを復号化することができない方法。 The method of claim 2, wherein
After the failure of the card, the method further includes the step of changing the phase of the card into a phase that enables testing of the memory card software and hardware for the purpose of failure analysis, and after entering the phase, the memory card Can not decrypt the encrypted data before entering the phase.
前記フェーズのインジケータが、前記コントローラチップの不揮発性メモリに格納される方法。 The method of claim 2, wherein
The method wherein the phase indicator is stored in a non-volatile memory of the controller chip.
前記第2のフェーズにおいて、信号が、前記テストパッドに転送されず、前記テストパッドから転送されない方法。 The method of claim 2, wherein
In the second phase, no signal is transferred to and from the test pad.
前記メモリカード内にフラッシュメモリを設けるステップと、
前記フラッシュメモリに格納されたデータを暗号化および復号化する暗号化エンジンをコントローラチップに設けるステップと、
前記コントローラチップの不揮発性メモリ内に鍵を格納するステップと、
前記カードのデータファイルのユーザを、前記フラッシュメモリチップに前記ファイルが格納される前に、前記鍵で暗号化するステップと、
前記フラッシュメモリに前記暗号化されたデータファイルを格納するステップと、
カードテスト機構の使用が望ましければ、前記暗号化されたファイルを復号化できないように前記鍵の値を再生成するステップと、
を含む方法。 In a method of providing a secure storage device for data in a memory card,
Providing a flash memory in the memory card;
Providing a controller chip with an encryption engine for encrypting and decrypting data stored in the flash memory;
Storing a key in a non-volatile memory of the controller chip;
Encrypting a user of the data file of the card with the key before the file is stored in the flash memory chip;
Storing the encrypted data file in the flash memory;
Regenerating the key value so that the encrypted file cannot be decrypted if it is desired to use a card test mechanism;
Including methods.
前記カードに格納された情報を保護するために、情報を暗号化および復号化する暗号エンジンと、
前記暗号化および復号化用に使用される前記カードにある秘密鍵と、
テスト状態であって、
前記暗号化エンジンが有効化され、
テスト状態に入ると、前記秘密鍵が生成され、
前記カードのファームウェアがテストされてもよく、
前記カードのハードウェアがテストされてもよい、テスト状態と、
セキュア動作状態であって、
前記カードのファームウェアがテスト不能であり、
前記カードのハードウェアがテスト不能であり、
前記暗号化エンジンが有効化され、
情報を暗号化および復号化するために、前記秘密鍵が前記暗号化エンジンによって使用される、セキュア動作状態と、
バイパス動作状態であって、
前記暗号化エンジンが無効化され、
前記カードのハードウェアがテスト可能であり、
前記カードのファームウェアがテスト可能であり、
レギュラーカードとして動作していれば、バイパス動作状態が使用される、バイパス動作状態と、
を備えるシステム。 In a security system implemented in a memory card that can operate as either a secure card or a regular card,
A cryptographic engine that encrypts and decrypts information to protect the information stored on the card;
A secret key on the card used for the encryption and decryption; and
In a test state,
The encryption engine is activated,
When entering the test state, the secret key is generated,
The card firmware may be tested,
A test state in which the hardware of the card may be tested;
A secure operating state,
The card firmware is untestable,
The hardware of the card is untestable,
The encryption engine is activated,
A secure operating state in which the secret key is used by the encryption engine to encrypt and decrypt information;
In the bypass operation state,
The encryption engine is disabled,
The hardware of the card is testable;
The card firmware is testable,
If operating as a regular card, the bypass operating state is used,
A system comprising:
前記カードが、前記バイパス動作状態に構成された非セキュアカードとして最初に販売されるシステム。 The system of claim 8, wherein
A system in which the card is initially sold as a non-secure card configured in the bypass operational state.
前記カードが、前記セキュア動作状態に構成されたセキュアカードとして最初に販売されるシステム。 The system of claim 8, wherein
A system in which the card is initially sold as a secure card configured in the secure operating state.
セキュアカードとして最初に販売された前記カードが、製造業者に返品されると、前記バイパス動作状態にされるシステム。 The system of claim 10, wherein
A system that is placed in the bypass operation state when the card that was originally sold as a secure card is returned to the manufacturer.
前記バイパス状態にされた後、前記カードが非セキュアカードとして販売されるシステム。 The system of claim 11, wherein
A system in which the card is sold as a non-secure card after being placed in the bypass state.
前記暗号化エンジンが、ハードウェアベースのものであるシステム。 The system of claim 8, wherein
A system in which the encryption engine is hardware based.
前記秘密鍵が、前記暗号化エンジンの不揮発性メモリに格納されるシステム。 The system of claim 8, wherein
A system in which the secret key is stored in a non-volatile memory of the encryption engine.
前記カードのハードウェアがテスト可能であり、
前記カードのファームウェアがテスト可能であり、
故障解析状態において前記システムが起動されるたびに、前記秘密鍵が再生成される、故障解析動作状態をさらに含むシステム。 The system of claim 8, wherein
The hardware of the card is testable;
The card firmware is testable,
A system further comprising a failure analysis operating state, wherein the secret key is regenerated each time the system is activated in a failure analysis state.
前記故障解析動作状態に入った後、前記カードを前記セキュア動作状態で再度使用することができないシステム。 The system of claim 15, wherein
A system in which the card cannot be used again in the secure operation state after entering the failure analysis operation state.
前記故障解析動作状態が、前記バイパス状態に入る前に作動されるシステム。 The system of claim 16, wherein
A system that is activated before the failure analysis operating state enters the bypass state.
集積回路ダイ上のテストポートと、
ファームウェアにあるテスト機構と、
セキュリティシステムと、を備え、前記セキュリティシステムが、
暗号エンジンと、
前記テストポートおよび前記ファームウェアにある前記テスト機構の使用を可能にする、前記カードのテスト中に利用可能な動作の1つ以上のテスト状態と、
前記テストポートおよび前記ファームウェアにある前記テスト機構の使用を禁止する、前記カードの通常使用中に利用可能な動作のセキュア状態と、
前記1つ以上のテスト状態のテスト状態と前記セキュア状態との間を切り替えるための論理であって、前記カードが前記セキュア状態に切り替えられると、前記1つ以上のテスト状態に再度アクセスすることはできず、前記ファームウェアにある前記テスト機構および前記テストポートへのアクセスを防ぐことによって、前記カード上のセキュアデータへのアクセスを禁止する、論理と、
を備えるシステム。 In a system for testing a memory card having firmware,
A test port on the integrated circuit die; and
A test mechanism in the firmware;
A security system, the security system comprising:
A crypto engine,
One or more test states of operations available during testing of the card that allow use of the test mechanism in the test port and the firmware;
A secure state of operation available during normal use of the card that prohibits the use of the test mechanism in the test port and the firmware;
Logic for switching between the test state of the one or more test states and the secure state, wherein when the card is switched to the secure state, accessing the one or more test states again Logic that prohibits access to secure data on the card by preventing access to the test mechanism and the test port in the firmware,
A system comprising:
前記セキュリティシステムが、バイパス動作状態をさらに含み、前記暗号エンジンが無効化されるシステム。 The system of claim 18, wherein
The system wherein the security system further includes a bypass operating state and the cryptographic engine is disabled.
前記バイパス状態が、非セキュアメモリカードを生産するために使用されるシステム。 The system of claim 19, wherein
A system in which the bypass condition is used to produce a non-secure memory card.
前記バイパス状態が、セキュアカードが点検用に返品されたときに作動されることで、前記セキュアカードを非セキュアカードに変形し、さらに使用するために前記カードを回収するシステム。 The system of claim 19, wherein
The bypass state is activated when the secure card is returned for inspection, thereby transforming the secure card into a non-secure card and collecting the card for further use.
変形後、前記非セキュアカードをセキュア状態で再度使用することができないシステム。 The system of claim 21, wherein
A system in which the non-secure card cannot be used again in a secure state after transformation.
故障解析状態をさらに備え、データを暗号化および復号化するために使用する新しい鍵が、起動時ごとに生成され、ある鍵で暗号化されたデータを、別の鍵で復号化することができないシステム。 The system of claim 19, wherein
A new key used for encrypting and decrypting data is also provided with a failure analysis state and is generated at startup, and data encrypted with one key cannot be decrypted with another key system.
前記バイパス状態に入る前に、前記故障解析状態に入るシステム。 24. The system of claim 23.
A system that enters the failure analysis state before entering the bypass state.
前記セキュア状態において使用される最終ファームウェアを前記カードにロードするように使用される最終鍵状態をさらに備え、前記ファームウェアにある前記テスト機構は、前記最終鍵状態において無効化されるシステム。 The system of claim 18, wherein
A system further comprising a final key state used to load final card used in the secure state into the card, wherein the test mechanism in the firmware is revoked in the final key state.
前記最終鍵状態において、前記テストポートとの通信が利用不能であるシステム。 The system of claim 25.
A system in which communication with the test port is not available in the final key state.
セキュアカードまたは非セキュアカードのいずれかを生産するために使用可能な前記メモリカードに実現されるセキュリティシステムと、
前記カードに格納された情報を保護するために、情報を暗号化および復号化するように設計された暗号エンジンと、
テスト状態であって、
前記暗号化エンジンが有効化され、
前記カードのファームウェアがテストされてもよく、
前記カードのハードウェアがテストされてもよい、テスト状態と、
セキュア動作状態であって、
前記カードのファームウェアがテスト不能であり、
前記カードのハードウェアがテスト不能であり、
前記暗号化エンジンが有効化される、セキュア動作状態と、
前記暗号化エンジンが無効化されるバイパス動作状態と、
を備えるメモリカード。 In the memory card,
A security system implemented in the memory card that can be used to produce either a secure card or a non-secure card; and
A cryptographic engine designed to encrypt and decrypt information to protect the information stored on the card;
In a test state,
The encryption engine is activated,
The card firmware may be tested,
A test state in which the hardware of the card may be tested;
A secure operating state,
The card firmware is untestable,
The hardware of the card is untestable,
A secure operating state in which the encryption engine is enabled; and
A bypass operating state in which the encryption engine is disabled;
A memory card.
前記バイパス動作状態において、
前記カードのハードウェアがテスト可能であり、
前記カードのファームウェアがテスト可能であるメモリカード。 The memory card of claim 27,
In the bypass operation state,
The hardware of the card is testable;
A memory card whose firmware can be tested.
最終鍵状態をさらに備え、
前記セキュア動作状態で使用される最終鍵が、前記カードにおいて利用され、
前記カードが構成可能であり、
前記カードのハードウェアテスト機構がテスト不能であり、
前記カードのソフトウェアテスト機構がテスト不能であるメモリカード。 The memory card of claim 27,
A final key state,
The final key used in the secure operating state is utilized in the card;
The card is configurable;
The hardware test mechanism of the card is untestable;
A memory card whose software test mechanism is not testable.
セキュリティシステムを備え、前記セキュリティシステムが、
カードが一度に1つの動作状態において動作する、2つ以上の動作状態と、
前記カード内のデータを暗号化および復号化する手段と、
前記カードが前記動作状態の第1の状態にある間、前記カードをテストする手段と、
前期状態に前進した後に前の状態に再度入ることができないように、前記カードの状態を前進させる手段と、
前記2つ以上の動作状態の1つにおいて、前記データを暗号化および復号化する手段が利用可能であるが、前記カードをテストする手段が、前記動作状態において利用不能であることで、前記テストする手段を経由して、前記カード内のデータへの不正アクセスを防止するように、前記カードのデータへのアクセスを制御する手段と、
を備えるフラッシュメモリカード。 In flash memory card,
A security system, the security system comprising:
Two or more operating states in which the card operates in one operating state at a time;
Means for encrypting and decrypting data in the card;
Means for testing the card while the card is in the first state of the operating state;
Means for advancing the state of the card so that it cannot re-enter the previous state after having advanced to the previous state;
In one of the two or more operational states, means for encrypting and decrypting the data is available, but the means for testing the card is unavailable in the operational state, so that the test Means for controlling access to the data of the card so as to prevent unauthorized access to the data in the card via means for
With flash memory card.
セキュリティシステムを備え、前記セキュリティシステムが、
カードが一度に1つの動作状態において動作する、2つ以上の動作状態と、
前記カード内のデータを暗号化および復号化する暗号化エンジンと、
前記カードが前記動作状態の第1の状態にある間、利用可能なテスト機構と、
前記状態に前進した後に前の状態に再度入ることができないように、前記カードの状態を前進させる論理と、を備え、
前記状態の少なくとも1つにおいて暗号化されたデータが、引き続き入る状態において復号化できないフラッシュメモリカード。 In flash memory card,
A security system, the security system comprising:
Two or more operating states in which the card operates in one operating state at a time;
An encryption engine for encrypting and decrypting data in the card;
A test mechanism available while the card is in the first state of operation;
Logic to advance the state of the card so that it cannot re-enter the previous state after it has advanced to the state,
A flash memory card that cannot be decrypted when data encrypted in at least one of the states continues to enter.
大容量のデータファイル用の不揮発性フラッシュメモリを含む第1の集積回路ダイと、
第2の集積回路ダイであって、
マイクロプロセッサと、
データを暗号化および復号化する暗号化エンジンと、
不揮発性メモリと、
前記暗号化エンジンの動作を有効化し、前記第2の集積回路ダイの前記不揮発性メモリに格納された秘密鍵と、を備える第2の集積回路ダイと、を備え、
通常動作モードにおいて、前記メモリカードが、暗号化および復号化用の前記秘密鍵の第1の値を利用し、
テストモードにおいて、前記メモリカードが、暗号化および復号化用の前記秘密鍵の第2の値を利用し、
前記第2の値が、前記第1の値で暗号化されたデータを復号化するために使用できず、
前記第1の値が、前記第2の値で暗号化されたデータを復号化するために使用できないフラッシュメモリカード。 In flash memory card,
A first integrated circuit die including a non-volatile flash memory for a large capacity data file;
A second integrated circuit die,
A microprocessor;
An encryption engine that encrypts and decrypts data;
Non-volatile memory;
A second integrated circuit die that enables operation of the encryption engine and comprises a secret key stored in the non-volatile memory of the second integrated circuit die;
In the normal operation mode, the memory card uses the first value of the secret key for encryption and decryption,
In the test mode, the memory card uses a second value of the secret key for encryption and decryption,
The second value cannot be used to decrypt data encrypted with the first value;
A flash memory card in which the first value cannot be used to decrypt data encrypted with the second value.
前記カードに格納されたデータを暗号化および復号化する暗号化エンジンと、
前記暗号化エンジンを使用して暗号化および復号化を有効化する第1の鍵を生成する前記メモリカードをテストする第1の動作状態と、
前記カードに格納されたデータを暗号化および復号化するために第2の鍵を利用する前記メモリカードの消費者使用のための第2の動作状態と、を備え、
前記第1の鍵で暗号化されたデータが、前記第2の鍵で復号化できず、前記第2の鍵で暗号化されたデータが、前記第1の鍵で復号化できず、
前記暗号化エンジンが、前記第1の状態でテスト可能であるが、前記カードが前記第1の状態にある間に暗号化されたデータが、前記カードが前記第2の状態にある間に読み出し不能であるフラッシュメモリカード。 In flash memory card,
An encryption engine for encrypting and decrypting data stored in the card;
A first operating state that tests the memory card to generate a first key that enables encryption and decryption using the encryption engine;
A second operating state for consumer use of the memory card that utilizes a second key to encrypt and decrypt data stored on the card;
The data encrypted with the first key cannot be decrypted with the second key, the data encrypted with the second key cannot be decrypted with the first key,
The encryption engine is testable in the first state, but data encrypted while the card is in the first state is read while the card is in the second state. Flash memory card that is impossible.
前記第1の鍵の値が、前記メモリカードが起動されるたびに変更されるメモリカード。 34. The memory card according to claim 33.
A memory card in which the value of the first key is changed each time the memory card is activated.
前記第1の鍵の値が、一定であるメモリカード。 34. The memory card according to claim 33.
A memory card in which the value of the first key is constant.
前記第1の鍵の値が、前記第1の動作状態に入るたびに一度再生成されるメモリカード。 34. The memory card according to claim 33.
A memory card in which the value of the first key is regenerated once every time the first operating state is entered.
前記第2の鍵の値が一定であり、前記カードの不揮発性メモリに格納されるメモリカード。 34. The memory card according to claim 33.
A memory card in which the value of the second key is constant and stored in a non-volatile memory of the card.
前記第2の鍵の値が、前記第1の状態の間にメモリに最後に格納される前記第1の鍵の値と等しいメモリカード。 The memory card according to claim 37,
A memory card wherein the value of the second key is equal to the value of the first key stored last in memory during the first state.
前記第1の状態においてテストするために、ハードウェアおよびファームウェアテスト機構が利用可能であるメモリカード。 34. The memory card according to claim 33.
A memory card in which hardware and firmware test mechanisms are available for testing in the first state.
前記第2の状態においてテストするために、ハードウェアおよびファームウェアテスト機構が利用不能であるメモリカード。 34. The memory card according to claim 33.
A memory card in which hardware and firmware test mechanisms are not available for testing in the second state.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US65112805P | 2005-02-07 | 2005-02-07 | |
US60/651,128 | 2005-02-07 | ||
US11/317,862 | 2005-12-22 | ||
US11/317,390 | 2005-12-22 | ||
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 |
PCT/US2006/003876 WO2006086232A2 (en) | 2005-02-07 | 2006-02-01 | Secure memory card with life cycle phases |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008530659A true JP2008530659A (en) | 2008-08-07 |
JP4787273B2 JP4787273B2 (en) | 2011-10-05 |
Family
ID=36644859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007554249A Expired - Fee Related JP4787273B2 (en) | 2005-02-07 | 2006-02-01 | Secure memory card with life cycle phase |
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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6285616B1 (en) * | 2015-01-30 | 2018-02-28 | クアルコム,インコーポレイテッド | Secure execution environment communication |
Families Citing this family (7)
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 |
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 |
US9311766B2 (en) | 2007-09-12 | 2016-04-12 | Devicefidelity, Inc. | Wireless communicating radio frequency signals |
US8915447B2 (en) | 2007-09-12 | 2014-12-23 | Devicefidelity, Inc. | Amplifying radio frequency signals |
US9304555B2 (en) | 2007-09-12 | 2016-04-05 | Devicefidelity, Inc. | Magnetically coupling radio frequency antennas |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198316A (en) * | 1996-01-22 | 1997-07-31 | Toshiba Corp | Data protection circuit |
JPH11161549A (en) * | 1997-11-28 | 1999-06-18 | Toshiba Corp | Secret information management method and system in portable information equipment |
JP2000172821A (en) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | Semiconductor device, data storage medium, data recorder, data reading-out device, and manufacture of semiconductor device |
JP2003337749A (en) * | 2002-03-13 | 2003-11-28 | Matsushita Electric Ind Co Ltd | Secure device |
WO2005010808A2 (en) * | 2003-07-17 | 2005-02-03 | Sandisk Corporation | Memory card with raised portion |
Family Cites Families (12)
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. |
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 |
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 |
US7023996B2 (en) * | 2001-05-04 | 2006-04-04 | The Boeing Company | Encryption for asymmetric data links |
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 |
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 |
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 |
-
2006
- 2006-02-01 CN CN2006800042296A patent/CN101164048B/en not_active Expired - Fee Related
- 2006-02-01 JP JP2007554249A patent/JP4787273B2/en not_active Expired - Fee Related
- 2006-02-01 KR KR1020077018143A patent/KR100972540B1/en not_active IP Right Cessation
- 2006-02-01 EP EP06734304A patent/EP1846826A2/en not_active Withdrawn
- 2006-02-01 WO PCT/US2006/003876 patent/WO2006086232A2/en active Application Filing
- 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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198316A (en) * | 1996-01-22 | 1997-07-31 | Toshiba Corp | Data protection circuit |
JPH11161549A (en) * | 1997-11-28 | 1999-06-18 | Toshiba Corp | Secret information management method and system in portable information equipment |
JP2000172821A (en) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | Semiconductor device, data storage medium, data recorder, data reading-out device, and manufacture of semiconductor device |
JP2003337749A (en) * | 2002-03-13 | 2003-11-28 | Matsushita Electric Ind Co Ltd | Secure device |
WO2005010808A2 (en) * | 2003-07-17 | 2005-02-03 | Sandisk Corporation | Memory card with raised portion |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6285616B1 (en) * | 2015-01-30 | 2018-02-28 | クアルコム,インコーポレイテッド | Secure execution environment communication |
JP2018509048A (en) * | 2015-01-30 | 2018-03-29 | クアルコム,インコーポレイテッド | Secure execution environment communication |
Also Published As
Publication number | Publication date |
---|---|
JP4787273B2 (en) | 2011-10-05 |
KR100972540B1 (en) | 2010-07-28 |
WO2006086232A2 (en) | 2006-08-17 |
IL184793A0 (en) | 2008-01-20 |
TW200641696A (en) | 2006-12-01 |
CN101164048B (en) | 2010-06-16 |
TWI402755B (en) | 2013-07-21 |
KR20070121642A (en) | 2007-12-27 |
CN101164048A (en) | 2008-04-16 |
EP1846826A2 (en) | 2007-10-24 |
WO2006086232A3 (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423788B2 (en) | Secure memory card with life cycle phases | |
US8108691B2 (en) | Methods used in a secure memory card with life cycle phases | |
US8321686B2 (en) | Secure memory card with life cycle phases | |
CN108269605B (en) | Security device state apparatus and method | |
JP4787273B2 (en) | Secure memory card with life cycle phase | |
US8572410B1 (en) | Virtualized protected storage | |
JP5984625B2 (en) | Semiconductor device and encryption key writing method | |
KR101975027B1 (en) | System on chip, operation method thereof, and devices having the same | |
US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
TWI483139B (en) | Secure key storage using physically unclonable functions | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
CN101273363A (en) | Secure yet flexible system architecture for secure devices with flash mass storage memory | |
JP2011522469A (en) | Integrated circuit having protected software image and method therefor | |
JP2010509690A (en) | Method and system for ensuring security of storage device | |
US9152576B2 (en) | Mode-based secure microcontroller | |
CN110851886A (en) | Storage device | |
US11481523B2 (en) | Secure element | |
TW201508770A (en) | Non-volatile memory to store resettable data | |
US8190920B2 (en) | Security features in an electronic device | |
US10970232B2 (en) | Virtual root of trust for data storage device | |
JP2001338271A (en) | Ic card and ic card utilizing system | |
JP2006146608A (en) | Memory information protection system and method | |
CN109583196B (en) | Key generation method | |
CN104794373A (en) | Software encryption lock | |
CN101763485A (en) | Data protecting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110119 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110315 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110621 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110714 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |