JP2010509662A - 外部不揮発性メモリに記憶された情報の暗号化のための方法およびシステム - Google Patents
外部不揮発性メモリに記憶された情報の暗号化のための方法およびシステム Download PDFInfo
- Publication number
- JP2010509662A JP2010509662A JP2009535501A JP2009535501A JP2010509662A JP 2010509662 A JP2010509662 A JP 2010509662A JP 2009535501 A JP2009535501 A JP 2009535501A JP 2009535501 A JP2009535501 A JP 2009535501A JP 2010509662 A JP2010509662 A JP 2010509662A
- Authority
- JP
- Japan
- Prior art keywords
- key
- volatile memory
- information
- engine
- control device
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
ホストと不揮発性メモリの間で情報をやり取りするための制御装置を含む不揮発性記憶システムが記載される。制御装置は、制御装置の外部に位置する、不揮発性メモリデバイスと情報をやり取りするための暗号化/復号エンジンを含む。エンジンは、不揮発性メモリデバイスに記憶される情報を、記憶前に暗号化するために第一キーを使用し、記憶された暗号化情報を検索後に復号するために第一キーをさらに使用する。あるいは、不揮発性メモリ内に記憶された情報の安全性をさらに強化するために、第二キーが第一キーと併用される。
Description
本発明の実施形態は概して不揮発性メモリシステムに関連し、特に、外部不揮発性記憶デバイスに情報を安全に記憶し、外部不揮発性記憶デバイスから情報に安全にアクセスするための制御装置を持つ不揮発性メモリシステムに関連する。
近年、不揮発性メモリは、電力供給されていない時でも記憶情報を保持するといった多数の特徴を持つため、好ましい記憶媒体として際立った評判を得ている。他方で、またその結果と言ってもよいが、認証されていないアクセス元からは発見できないように安全な方法で情報を記憶することが、インターネットに支配された世界や電子商取引では極めて重要になっており、機密情報の電子記憶装置にとっては重大な必要条件となっている。
例えば、情報の電子アクセスを許可するパスワード、ユーザーID、および電子証明書は、財務データやその他の極秘情報へのアクセスを許可することを主な理由として、機密情報となっている。そのため、不揮発性メモリへの情報の記憶と、不揮発性メモリからの情報の検索は、特に安全に行われる場合には好ましい。これは1メガバイトを超えるような大きなサイズの不揮発性メモリについてはなおさら顕著なことである。
一部の用途では、スマートカードやTrusted Platform Module(TPM)などのデバイスは、特殊な型の不揮発性メモリである、組み込みフラッシュや電気的にプログラム可能なリードオンリーメモリ(EPROM)を含む。こうした用途やその他の用途では大きな不揮発性メモリを利用することが好ましい。不揮発性メモリは機密事項を記憶するために利用されることが多い。しかしながら現在、不揮発性メモリやフラッシュデバイスへ記憶されるために電子集積回路やデバイスから出る情報は、厳重警備下にないため、侵入に対する脆弱性を有する。
現在、不揮発性メモリに記憶される情報のアクセスとプログラミングのために暗号化/復号技術を利用するシステムが存在するが、こうしたシステムは制御装置もしくは集積回路の内部に不揮発性メモリを包含するため、大量の情報の記憶や、大容量の情報の記憶にはあまり適していない。
加えて、不揮発性メモリの製造コストは、集積化が原因で、標準的なCMOS論理技術でデバイスやチップを製造するよりも著しく高いので、集積回路、デバイス、もしくはチップの内部に大きな不揮発性メモリを包含することは非常にコストがかかる。一例として、制御装置やデバイスを含む同じ集積回路内に大きなフラッシュメモリを包含すると、25〜30%コストを増加することが知られている。数バイト程度などの比較的小さなサイズの不揮発性メモリは、CMOS論理技術を用いて包含することができる。CMOS論理技術で実装された不揮発性メモリセルは、電気的に消去可能でプログラム可能なROM(EEPROM)技術で実装された同等のセルよりも著しく大きい。しかしながら、CMOSでのデバイスやチップの製造コストは、EEPROMでの製造コストよりも著しく低い。より大きなCMOS不揮発性メモリセルが不揮発性メモリのために必要であるため、CMOS論理技術を用いて製造される小さな不揮発性メモリを持つデバイスやチップのコスト増加はわずかである。これはデバイスやチップを少々大きくすることになるが、EEPROM技術を用いてデバイスやチップを実装しなければならない場合よりも、コストが著しく低くなる。サイズの増加が極めてわずかである場合は、ダイのサイズが大きくなっても許容できるが、大容量のメモリが必要となる際には、ダイのサイズの増加は全く実用的ではなく、EEPROM技術を利用する必要がある。
不揮発性メモリが、制御装置の外部、すなわち異なるダイ、集積回路やチップ、もしくは異なるパッケージ上に位置する用途においては、外部不揮発性メモリに情報を記憶し、外部不揮発性メモリから情報を検索する安全なシステムは事実上存在しない。
上記を踏まえて、制御装置の外部にある安全な情報記憶媒体を達成するための制御装置を含む不揮発性記憶システムが必要となっている。
ここで図1(a)を参照すると、本発明の一実施形態に従う不揮発性メモリシステム10が、インターフェース(もしくは通信リンク)16を通して不揮発性メモリ14に接続する制御装置12を含むように示される。リンク16は、フラッシュインターフェース、SPI、I2C、NORおよびNANDフラッシュバス、業界標準規格に準拠するように定められたバスなど、業界で周知の様々な形式をとることができる。本明細書で使用される“不揮発性メモリ”とは、電力供給されていない時に情報を保持することができるメモリをあらわす。本明細書で使用される“不揮発性半導体メモリ”とは、電力供給されていない時に情報を保持することができる、基板上に作られた半導体メモリをあらわす。半導体は基板上に作られ、不揮発性半導体メモリは一つ以上のダイ、チップ、もしくは集積回路内に作ることができる。
制御装置12は、ホストインターフェース18、制御論理20、エンコーダ/デコーダエンジン22、エンコーダ/デコーダキー記憶デバイス24、およびフラッシュインターフェース26を含むように示される。本明細書で使用される“キー”とは、情報の暗号化および/または復号の目的で開発される電子価値をあらわす。
ホストインターフェース18は、ホストリンク17を通してホスト(不図示)から情報を受け取るために接続して示される。ホストリンク17は、一例ではユニバーサルシリアルバス(USB)接続であり、他の実施形態ではその他の既知の接続形式であってもよい。ホストとなるデバイスの例としては、コンピュータの中央処理装置(CPU)、デジタルカメラの処理装置、携帯電話などの移動体通信デバイス、および不揮発性メモリと情報をやり取りする多くのその他のものがある。ホストインターフェース18はさらに、ホストから受け取った情報を提供するために制御論理20に接続して示される。
加えて、ホストインターフェース18はホストから受け取った情報を提供するためにエンジン22に接続して示される。制御論理20は、不揮発性メモリシステムに固有のキーであるマスターキーを記憶デバイス24から検索し、情報の暗号化および/または復号で使用するためにエンジン22へマスターキーをロードする。これについては間もなくさらに明らかにする。
制御論理20はさらに、マスターキーを保持するために記憶デバイス24に接続して示される。記憶デバイス24は、本発明の一実施形態では不揮発性メモリである。別の実施形態では、マスターキーはハードワイヤード(hard-wired)であるか、恒久的にプログラムされているか、もしくはリードオンリーメモリ(ROM)内にある。マスターキーのハードワイヤリングの方法例としては、電気的にプログラム可能なヒューズ、アンチヒューズ、レーザーブロー(laser blown)、および不揮発性メモリセルの使用を含むが、これらに限定はされない。あるいはマスターキーは、ファームウェアもしくはソフトウェアのコードによって、制御装置のROM内にプログラムされるか、もしくは記憶されてもよい。マスターキーは制御論理20内に随意に記憶されてもよく、この場合、記憶デバイス24は不要である。別の実施形態では、マスターキーはエンジン22内に記憶される。マスターキーの作成とプログラミングは、制御装置12もしくはシステム10の製造時に行われる。
記憶デバイス24が不揮発性メモリである場合は、CMOSプロセスを使用するため、制御装置12のサイズはやや大きくなるが、サイズの増加はわずかである。これは記憶デバイス24のサイズが数バイト程度であり、サイズの増加がわずかである、もしくは無視できるためである。しかしながら、不揮発性メモリ14のサイズは重要であり、不揮発性メモリ14が制御装置12内に位置する場合は、制御装置12に関連するサイズとコストを著しく増加する。しかしながら、本発明の実施形態に従って、大きなサイズの不揮発性メモリ14に関連する負荷は、不揮発性メモリ14を制御装置12の外部に位置するようにすることで除去され、その結果制御装置12の製造のためのCMOSプロセスの実用化が可能となる。
ホストリンク17の例としては、業界標準規格のUSB、マルチメディアカード(MMC)、セキュアデータ(SD)、コンパクトフラッシュ(CF)、メモリースティック(MS)、IDE、シリアルATA(SATA)、PCI Express(PCIe)、SCSI、IS07816、およびlow pin count(LPC)を含むが、これらに限定はされない。
情報の暗号化および/または復号に使用されるエンジン22は、暗号学的に強力でなければならない。すなわち、解読されていない暗号化アルゴリズムを使用しなければならない。次世代標準暗号化方式(Advanced Encryption Standard:AES)128/196/256など、現在強力であると知られているアルゴリズムが、エンジン22によってプログラム可能なように実行される。本発明の実施形態から逸脱することなく、いかなる暗号化/復号アルゴリズムが利用されてもよいことが理解されるべきである。一実施形態では、暗号化/復号アルゴリズムは解読不可能であることが知られているため、より安全である。
暗号化/復号アルゴリズムを異なるアルゴリズムに変える必要がある場合には、そうしたアルゴリズムの変更に適合するように、エンジン22を修正するかもしくは交換する必要がある。エンジン22は一般的に、不揮発性メモリに記憶される情報のリアルタイムの暗号化を実現するために、既知の解読不能なアルゴリズムを実装するようにハードウェアを用いて設計される。あるいは、エンジン22はアルゴリズムを実装するようにファームウェアやソフトウェアを用いてプログラムされる。しかしながら、エンジン22のファームウェアやソフトウェアによる実装は、暗号化/復号の速度を低下させることが理解される。従って、リアルタイムでの暗号化/復号を実現するために、エンジン22はハードウェアで設計され、既知の暗号化/復号アルゴリズムを実装する。
制御論理20は基本的に情報の流れを制御し、様々な形式をとってもよく、その内の一つは前述の通り中央処理装置(CPU)である。エンジン22はさらに記憶ユニット24とフラッシュインターフェース26に接続して示される。不揮発性メモリ14は、一つ以上の不揮発性メモリデバイスもしくは集積回路(もしくはチップ)に包含されてもよい。
一実施形態例では、間もなく論じるように、不揮発性メモリ14は一つ以上の集積回路の中にあってもよく、その回路は制御装置12と同じパッケージに含まれるか、もしくは物理的に外部に位置するパッケージに含まれる。
本発明の一実施形態では、システム10は、次の図面に関連してさらに論じるように、動作のためにホストに接続可能な、携帯用の取り外し可能な消費者デバイスである。システム10がホストに接続する際、システム10もしくは携帯用の取り外し可能な消費者デバイスのユーザーは、認証もしくは認可され、この時マスターキーがエンジン22に提供される。
前述の通り、システム10は、情報や電子データ、もしくは他の種類の電子情報を安全な方法で記憶するために、不揮発性メモリ14などの大きなサイズの適切な不揮発性メモリを必要とする。大きなサイズ、とは、不揮発性メモリ以外のものがその上に製造されているダイの内部には、包含させることが経済的にも実用的にも不可能であるような不揮発性メモリをあらわすことを意図する。記憶される情報は、標準規格の接続を通してデバイスに接続するホスト、あるいは、デバイスもしくは制御装置の内部に含まれるファームウェアのいずれかによって提供される。そのようなデバイスの多くの応用例が予想され、その内の一つを図1(e)に関連して示し、論じる。
本明細書の記載と図面のほとんどは、暗号文、もしくは暗号化された情報として、本発明の実施形態に従う(図1(a)の)不揮発性メモリ14もしくは他の不揮発性メモリに記憶される情報について論じるが、暗号化されていない情報、もしくは平文もまた、不揮発性メモリ内に記憶されてもよいことが理解される。後者の場合、記憶された平文の復号は全く必要ないことが明らかである。本明細書で使用される“暗号文”(cipher text:CT)とは、暗号化版の情報をあらわす。本明細書で使用される“平文”(plain text:PT)とは、いかなる種類の暗号化も行っていない、生の形式の情報をあらわす。“平文データキー”とは、暗号化されていない、もしくは復号されたデータキーである。“暗号文データキー”とは暗号化されたデータキーである。
動作中、ホストはホストリンク17を通して、不揮発性メモリ14に記憶される情報をホストインターフェース18に提供する。そしてホストインターフェース18は、ホスト提供情報を制御論理20とエンジン22に接続する。制御論理20の制御の下、エンジン22は記憶デバイス24からマスターキーを受け取り、それを用いてホスト提供情報を暗号化し、その暗号化情報をフラッシュインターフェース26を通して不揮発性メモリ14に渡す。
不揮発性メモリ14から情報が読み出される時、情報はフラッシュインターフェース26を通してエンジン22に転送され、エンジン22はマスターキーを用いて、不揮発性メモリ14から転送された情報を復号する。本発明の一実施形態では、記憶デバイス24がマスターキーをエンジン22に提供する。エンジン22によるマスターキーの使用は、制御論理20の指示の下に行われる。復号情報はその後エンジン22によってホストインターフェース18に提供され、そしてホストインターフェース18はその復号情報をホストに提供する。
一実施形態では、マスターキーはランダムであり、エンジン22は安全性を確保するために比較的強力な暗号化/復号アルゴリズムを使用する。実際には、制御装置12の製造中に乱数発生器がマスターキーを作成する。これについては次の図面に関連して論じる。マスターキーのランダム性および/または暗号化/復号コードの強度が低いほど、不揮発性メモリ14に記憶された、もしくは記憶される情報の安全性は低くなり、脆弱性を増すことになることが理解される。
このように、各システムが異なるマスターキーを用いてプログラムされ、マスターキーは他者にわからないままであるという点で、制御装置12(もしくはシステム10)は独自の特徴を持つ。実際には、マスターキーが何らかの方法で消去(purge)、削除(delete)、もしくは破棄(destroy)される場合、不揮発性メモリに記憶された情報は復号できないので無用となる。間もなく論じるように、データキーなどの第二キーを使用する場合には、データキーが削除されるかもしくはわからなくなる場合、不揮発性メモリに記憶された情報は無用となるが、システムは次の情報を記憶するために再利用され得る。しかしながら、失われたデータキーを用いて記憶された以前の全記憶情報は永遠に失われる。これは、システム、もしくはシステムで動作する不揮発性メモリが失われる場合に、記憶情報への不正アクセスを防ぐ上で非常に有用である。
マスターキーが不正な手段によって回復される場合、各システムは固有のマスターキーを持つため、システム10などの他のシステム(もしくは制御装置12)のインテグリティは損なわれない。様々なマスターキーが製造中に試験装置によって作成され、作成された各マスターキーは異なるシステム10(もしくは制御装置12)にプログラムされる。従って、マスターキーは全ての人に(システム10の設計者にすら)わからないままである。マスターキーのプログラマビリティのために、他のデバイスの中でもとりわけ、一度だけプログラム可能なメモリ、不揮発性メモリ、もしくはヒューズが記憶デバイス24で利用され得る。これは、マスターキーは一度だけプログラムされる必要があり、その後はシステム10(もしくは制御装置12)によってのみ使用されるからである。マスターキーはシステム10(もしくは制御装置12)の寿命を通して使用される。
乱数発生器(不図示)は、システム10(もしくは制御装置12)の製造中、リアルタイムもしくはオンザフライで乱数を作成し、その乱数はマスターキーとなってシステム10(もしくは制御装置12)にプログラムされる。従って、製造完了時にマスターキーは記憶デバイス24に記憶され、その記憶デバイス24は、不揮発性メモリ、ヒューズ、一度だけプログラム可能なメモリ、もしくは電力が加えられていない時に情報を保持できる任意の他の種類のメモリであることが好ましい。マスターキーは、いかなる方法でも決して変更もしくは改変されることがない。
追加の随意的な安全手段として、製造中にマスターキーを読まれないように守るため、記憶デバイス24のトランジスタを隠すキャップとして機能する層が、マスターキーがプログラムされる層の上に挿入される。このように、システム10(もしくは制御装置12)を分解することによってマスターキーを明らかにしようとするには、かなりの精巧さが必要となり、それ程の精巧さがなければ明らかにすることができず、さらに特殊な装置と高いコストを必要とする。いくつかの実施形態はプログラミング手段の難読化を必要としないことが理解される。つまり、いくつかの実施形態では、マスターキーがシステムにプログラムされる方法は物理的に読み取り不可能であり、マスターキーの不正認証を防ぐための特別な製造ステップを必要としない。
本発明の一実施形態では、不揮発性メモリ14は、システムのユーザーが記憶させようとする情報以外の情報である、(複数の)証明書やパスワードなどの個人情報もしくは機密情報の記憶のために、(複数の)プライベートエリアと呼ばれる所定の(複数の)記憶場所を含む。プライベートエリアは、システム10のユーザーが記憶させようとするデータ以外のデータを保存するための、不揮発性メモリ内の所定場所である。つまり、証明書、パスワードなどは、ユーザーが記憶させようとする情報以外の情報であるが、システムが正常に機能するために記憶に必要なものである。
本発明のさらに別の実施形態では、情報にアクセスするためにデータキーもしくは第二キーが使用され、情報のさらなる安全性を提供する。マスターキーは、プライベートエリアの中、およびプライベートエリアの範囲内に記憶された情報のみにアクセスするために使用され、データキーは暗号化された形式で記憶され、不揮発性メモリ内の残りの情報にアクセスするために検索される。
情報を検索するために二つのキーを使用する実施形態の動作方法をさらに明らかにするため、マスターキーとデータキーを用いて情報にアクセスするためにシステム10によって処理されるステップ例のフローチャートを図2に示す。一つ以上のデータキーがあってもよく、各データキーは不揮発性メモリの特定場所にアクセスするためのものである。(複数の)データキーは、暗号化された形式で記憶デバイス24もしくは不揮発性メモリ14に記憶される。あるいはデータキーは、エンジン22、例えばレジスタファイル、もしくは制御装置12内の任意の他の場所に記憶される。
図1(b)は図1(a)の制御装置12の詳細をさらに示す。図1(b)では、エンジン22はマルチプレクサ(mux)25を通して乱数発生器23に接続して示され、mux 25は、マスターキーもしくはデータキーをエンジン22に接続するリンク27を受ける。mux 25は、エンジン22の入力が、リンク27を通してキーを、もしくはデータリンク29を通して他の情報を、選択的に受け取ることを可能にする。キーがエンジン22内に記憶される場合は、mux 25は同様にエンジン22内に位置することが理解される。
図1(b)にさらに示されるように、図1(a)の制御論理20は、マスターキー、データキー、もしくは他の種類のキーを選択的に受け取るmux 31へ、選択信号を提供するために接続して示される。動作中、データキーもしくは第二キーが作成される場合、制御論理20は、選択信号33を通して、mux 31にその入力としてマスターキーを選択するように信号を送り、エンジン22は、乱数発生器によって作成された乱数をリンク27を通して受け取る。エンジン22はマスターキーを用いて、受け取った乱数を暗号化し、暗号化(もしくは暗号文)データキーを作成する。この時点から、ユーザーが不揮発性メモリに記憶させようとするデータを暗号化し、復号するために、データキーがシステム10によって利用される。プライベートエリアが指定される実施形態例では、データキーは暗号化されプライベートエリアに記憶され、マスターキーを用いてアクセスされる。
一実施形態例では、製造中に、乱数発生器23が、マスターキーの作成においてエンジン22に使用される乱数を作成する。このように、マスターキーは制御装置12から決して出ることがなく、完全に制御装置内で作成されるため、安全性を強化する。一般的に、試験ツールや刺激デバイスを使用するために、データや情報がチップ、ダイ、もしくはパッケージから出る時には、安全性は少なくともある程度危険に晒される。情報が決してチップから出ない時とは対照的に、情報がチップから出た後に妨害するのは実に簡単である。
図1(c)は、図1(b)に関連する前述の記載のものとは異なる、図1(a)の制御装置12を試験/製造するための制御装置試験装置77を示す。図1(c)では、試験装置41は、マスターキーを制御装置にプログラムすることによって、制御装置12を試験するか、もしくは製造を補助するように示される。試験装置41は制御装置12の外部にあり、物理的に外側に位置するため、マスターキーはより妨害を受けやすい。従って、図1(c)の実施形態の安全性は、マスターキーの作成とプログラミングに関しては図1(b)の実施形態の安全性よりも低いため、安全な試験/製造環境が必要となる。図1(c)では、試験装置41内に位置する乱数発生器43が、マスターキーとして機能する乱数を作成し、試験装置ケーブル45を通して制御装置のエンジン22に転送する。受け取られたマスターキーは、その後上述の方法で制御装置に記憶される。実施形態1(b)および1(c)の両方において、マスターキーは各制御装置12に対して一度だけ作成されることに留意すべきである。これもやはり、図1(a)のシステム10など、その中で制御装置12が使用されるシステムの安全レベルをさらに強化するためである。
図1(d)は、制御装置81と、通信リンク91を通して接続する不揮発性メモリ85とを含む、不揮発性システム79の実施形態例を示し、制御装置81とメモリ85は物理的に別々のユニットにパッケージ化される。例えば、制御装置81は、不揮発性メモリ85を含まないパッケージ83に位置するように示される。通信リンク91は、制御装置81と不揮発性メモリ85を物理的に接続する。不揮発性メモリ85は、不揮発性半導体メモリである場合、一つ以上の集積回路もしくはダイを含むように示される。図1(d)のシステム79は、図1(a)のシステム10および図3のシステム40よりも比較的安全性が低い。これは、関連キーの知識がないために、情報の解読は前述のシステムと同程度に困難ではあるが、暗号化情報が制御装置パッケージ83の外側を移動しなければならず、妨害しやすいためである。
図1(e)は、システム10などの前述の不揮発性メモリシステムのいずれかの応用例を示す。図1(e)では、ノートブックコンピュータ101が携帯用の取り外し可能な消費者デバイス105を受けるように示され、そのポート103にはデバイス105のコネクタ107が取り外し可能なように接続する。デバイス105は不揮発性メモリ111に接続する制御装置109を含むように示される。
制御装置109は、デバイス105がそのコネクタ107を通してコンピュータ101に接続する時、コンピュータ101のホストと通信する。制御装置109は、本明細書で上述の通り、ホストと不揮発性メモリとの間で情報をやり取りする。例えば、コンピュータ101のユーザーは、ファイルなどの情報をデバイス105に保存したいかもしれない。情報はポート103とコネクタ107を通して制御装置109に転送され、ここで情報は、前述の方法でキーを用いて暗号化される。暗号化情報(もしくは暗号文)は不揮発性メモリ111に記憶される。同様に、コンピュータ101のユーザーがデバイス105に以前に記憶した情報を読み出したい時は、記憶された暗号化情報は制御装置によって不揮発性メモリ111から読み出され、平文に復号され、コネクタ107とポート103を通してコンピュータ101に提供される。
一例では、デバイス105は図1(a)のシステム10である。あるいは、デバイス105は、図1(d)に関連して論じたように、別々にパッケージ化される不揮発性メモリを含まない。一実施形態例では、ポート103とコネクタ107はUSB規格に準拠するが、他の種類の通信方法が本発明の様々な実施形態で利用されてもよい。
図2は、不揮発性メモリ14に記憶された情報を検索する際に図1(a)のシステム10によって利用されるステップ例を示す。図2ではステップ30において、暗号化データキーもしくは暗号文データキーが不揮発性メモリ14から読み出される。暗号化データキーは不揮発性メモリのプライベートエリアに記憶されることが好ましく、プライベートエリアは、マスターキー、もしくはマスターキーを用いて作成されるさらなる第三キーのいずれかを用いてアクセスされる。次にステップ32では、検索された暗号文データキーが、記憶デバイス24に記憶されたマスターキーを用いてエンジン22によって復号される。次にステップ34では、検索された復号データキーもしくは平文データキーがエンジン22にロードされ、不揮発性メモリ14のプライベートエリア以外のあらゆる場所から検索された任意のデータもしくは情報を復号するために使用される。マスターキーとデータキーを使用する前述の例のように、二つのキーが利用される場合は、ステップ34で一旦データキーが検索されると、パスワードもしくは証明書などの他の機密情報が不揮発性メモリ14からアクセスされるか、もしくは不揮発性メモリ14に記憶されない限り、マスターキーはもはや使用する必要がない。
本発明の別の実施形態では、一つよりも多くのプライベートエリアが不揮発性メモリ14内で指定されてもよく、さらに、各プライベートエリアは異なるデータキーを使用することによってアクセスされてもよいことに留意すべきである。キーが安全に記憶され得る限り、利用されるデータキーの数に制限はない。
図3は本発明の別の実施形態に従う不揮発性メモリシステム40を示す。図1(a)の不揮発性メモリ14が、図1(a)のエンジン22とフラッシュインターフェース26とを含む制御装置42に接続して示されるが、エンジンはマスターキーとデータキーを受け取るように示される。制御装置42は、一時記憶のためにレジスタ44に接続する平文を受け取るように示される。レジスタ44はエンジン22に接続して示され、エンジン22は図1(a)と同様の方法でフラッシュインターフェース26に接続して示される。図3の実施形態と図1(a)の実施形態の違いは、平文もしくは暗号文のいずれかがフラッシュインターフェース26に選択的に提供され得ることである。PTがCTに変換される場合は、随意に二つのキー(マスターキーとデータキー)を用いてそれを暗号化するために、レジスタ44からエンジン22に転送される。つまり、前述の通り、PTがパスワード、証明書、キーなどを含む機密情報である場合は、それを暗号化するためにマスターキーが使用され、そうでなければ、PTがデータ、もしくは時にユーザーデータと呼ばれるもの、パスワードや証明書やキーなど以外のデータである場合は、データキーを用いて暗号化される。
図3に示すように、エンジン22はバイパスされてもよいが、不揮発性メモリ14に記憶される、もしくは不揮発性メモリ14から検索される情報に提供される安全性は、わずかなものとなるだろう。
不揮発性メモリ14は、大きな記憶容量、すなわち1メガバイトより大きな記憶容量を持ってもよい。大容量の情報を記憶するための不揮発性メモリを制御装置の外部に位置付けることで、フラッシュや他の種類の不揮発性メモリの製造で使用されるプロセスよりも安価な、CMOS技術を使用する制御装置の製造が可能になる。
図4は、図3の不揮発性メモリ14に情報が記憶される際に処理される一実施形態のステップ例のフローチャートを示す。まず、PTが制御装置によって受け取られ、キーがエンジン22にロードされる。次に、PTのCT版を作成するために、PTはロードされたキーで暗号化され、不揮発性メモリに保存もしくは記憶される。使用されるキーの種類は、プライベートエリアが不揮発性メモリ内で指定されているかどうか、およびCTの記憶先がプライベートエリアであるかどうかによって決まる。後者の場合、マスターキーがキーとして使用される。二つのキーが利用され、プライベートエリア以外のエリアがアクセスされる場合には、データキーが使用される。プライベートエリアが指定されていない場合は、明らかにマスターキーが使用される。
図5は、図3の不揮発性メモリ14から情報が検索される際に別の実施形態で処理されるステップ例のフローチャートを示す。まず、CTが制御装置によって受け取られ、キーがエンジン22にロードされる。次に、CTを復号するためにロードされたキーが使用され、その結果PTを検索する。暗号化と復号の際には、同じ場所を行き来する情報に対して同じキーが使用されることに留意されたい。そうでなければ、復号は正確なPTをもたらさないだろう。どのキーが図5で使用されるかについては、図4に関連して論じたものと同じ状況が図5に当てはまる。
本発明は特定の実施形態に関して説明されているが、当業者にはその変更および変形が本開示により明らかとなるだろうということが予想される。したがって以降の請求項は、本発明の趣旨と範囲内に含まれる、そうした変形および変更の全てを包含するものと解釈されることが意図される。
Claims (25)
- ホストと不揮発性メモリの間で情報をやり取りするための不揮発性記憶システムで利用される制御装置であり、
前記制御装置の外部に位置し、前記不揮発性メモリと情報をやり取りするための暗号化/復号エンジンを含み、前記エンジンは、前記不揮発性メモリに記憶される情報を記憶前に暗号化するためにキーを使用し、前記不揮発性メモリからの検索後に暗号化情報を復号するために前記キーを使用する、
ことを特徴とする制御装置。 - 前記キーはマスターキーである、請求項1記載の制御装置。
- 前記エンジンによって、前記不揮発性メモリ内の所定場所に暗号化データキーが記憶され、前記暗号化データキーは前記マスターキーを用いて前記エンジンによって作成されており、前記記憶された暗号化データキーは、前記所定場所から検索され、前記マスターキーを用いて前記エンジンによって復号され、前記所定場所以外に位置する前記不揮発性メモリから検索された情報を復号するために使用される、請求項2記載の制御装置。
- 前記マスターキーと前記データキーを前記エンジンに選択的に提供するように構成されたマルチプレクサをさらに含む、請求項3記載の制御装置。
- 前記所定場所は、前記システムのユーザーが記憶させようとするデータ以外の情報を記憶するためのプライベートエリアである、請求項3記載の制御装置。
- 一つよりも多くのプライベートエリアが指定される、請求項5記載の制御装置。
- 前記プライベートエリアの各々は、それに固有の暗号化データキーに関連する、請求項6記載の制御装置。
- 前記暗号化データキーを作成するために前記エンジンによって受け取られるように構成された乱数を作成するための乱数発生器をさらに含む、請求項3記載の制御装置。
- 前記マスターキーを作成するための乱数発生器をさらに含む、請求項2記載の制御装置。
- 前記データキーおよび/または前記マスターキーを記憶するためのエンコーダ/デコーダキー記憶デバイスをさらに含む、請求項9記載の制御装置。
- 前記乱数発生器によって作成された固有の乱数を記憶するための不揮発性メモリをさらに含む、請求項10記載の制御装置。
- 前記暗号化データキーは前記プライベートエリアから検索され、前記データキーは前記エンジンによって復号され、前記プライベートエリア以外に位置する前記不揮発性メモリから検索された情報を復号するために使用される、請求項5記載の制御装置。
- 不揮発性メモリと、
ホストと前記不揮発性メモリの間に、その間で情報をやり取りするために接続され、前記不揮発性メモリの外部に位置する制御装置と、
を含み、
前記制御装置は、前記不揮発性メモリに暗号文で情報を転送するための暗号化/復号エンジンを含み、前記エンジンは、記憶前に前記暗号文を作成することによって、前記不揮発性メモリに記憶される情報を暗号化するためにキーを使用し、前記記憶された情報の検索後に前記記憶された暗号文を復号するために前記キーを使用することによって平文を提供する、
ことを特徴とする、不揮発性メモリシステム。 - 前記キーはマスターキーである、請求項13記載の不揮発性メモリシステム。
- ユーザー情報以外の情報を記憶するための、前記不揮発性メモリ内で指定されたプライベートエリアから、暗号化データキーが検索され、前記データキーは前記エンジンによって復号され、前記プライベートエリア以外に位置する前記不揮発性メモリから検索された情報を復号するために使用される、請求項13記載の不揮発性メモリシステム。
- 前記制御装置は、前記データキーおよび/または前記マスターキーの記憶のために、一度だけプログラム可能なメモリ、不揮発性メモリ、もしくは(複数の)ヒューズを含む、請求項13記載の不揮発性メモリシステム。
- 前記不揮発性メモリは不揮発性半導体メモリもしくはハードディスクドライブを含む、請求項13記載の不揮発性メモリシステム。
- 前記不揮発性半導体メモリは一つ以上の集積回路である、請求項17記載の不揮発性メモリシステム。
- 前記制御装置は、通信リンクを通して前記不揮発性メモリに接続し、前記不揮発性メモリと同じユニット内にパッケージ化される、請求項13記載の不揮発性メモリシステム。
- 前記制御装置は、前記デバイスに固有で、かつ一度だけ作成されるマスターキーを作成するための乱数発生器をさらに含む、請求項19記載の不揮発性メモリシステム。
- 前記乱数発生器は、前記不揮発性メモリを行き来する情報の暗号化と復号のために、前記エンジンによって選択的に利用される第二キーを作成するために使用される、請求項19記載の不揮発性メモリシステム。
- 前記エンジンは、暗号文データキーを作成し、前記不揮発性メモリの指定エリア内に記憶するために、前記第二キーを暗号化するように構成される、請求項21記載の不揮発性メモリシステム。
- 前記指定エリアは、前記デバイスのユーザーが記憶させようとする情報以外の情報を記憶するために使用される、請求項22記載の不揮発性メモリシステム。
- 平文を受け取るステップと、
暗号文を作成するために、第一キーで前記平文を暗号化するステップと、
前記暗号文が作成される場所の外部に位置する不揮発性メモリ内に、前記暗号文を記憶するステップと、
前記記憶された暗号文を検索するステップと、
前記第一キーを用いて前記検索された暗号文を復号するステップと、
を含む、不揮発性メモリに情報を記憶し、不揮発性メモリから情報にアクセスする方法。 - 前記不揮発性メモリ内の所定エリアに、第二キーの暗号化版を記憶するステップと、
前記暗号化された第二キーを検索するステップと、
前記第二キーを復号するために前記第一キーを使用するステップと、
前記第二キーを用いて、前記不揮発性メモリの前記所定エリア以外のエリアから情報を検索するステップと、
をさらに含む、請求項24記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/598,173 US20080107275A1 (en) | 2006-11-08 | 2006-11-08 | Method and system for encryption of information stored in an external nonvolatile memory |
| PCT/US2007/083763 WO2008127408A2 (en) | 2006-11-08 | 2007-11-06 | Method and system for encryption of information stored in an external nonvolatile memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010509662A true JP2010509662A (ja) | 2010-03-25 |
Family
ID=39359756
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009535501A Withdrawn JP2010509662A (ja) | 2006-11-08 | 2007-11-06 | 外部不揮発性メモリに記憶された情報の暗号化のための方法およびシステム |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20080107275A1 (ja) |
| EP (1) | EP2080145A2 (ja) |
| JP (1) | JP2010509662A (ja) |
| KR (1) | KR20090080115A (ja) |
| CN (1) | CN101536007A (ja) |
| TW (1) | TW200833056A (ja) |
| WO (1) | WO2008127408A2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020515104A (ja) * | 2017-01-09 | 2020-05-21 | インターデジタル シーイー パテント ホールディングス | セキュア・バックアップおよび復元を実行する方法および装置 |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8887270B2 (en) * | 2007-11-12 | 2014-11-11 | Micron Technology, Inc. | Smart storage device |
| US8782433B2 (en) * | 2008-09-10 | 2014-07-15 | Inside Secure | Data security |
| US9286493B2 (en) * | 2009-01-07 | 2016-03-15 | Clevx, Llc | Encryption bridge system and method of operation thereof |
| US8078848B2 (en) | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
| US8276042B2 (en) | 2009-02-03 | 2012-09-25 | Micron Technology, Inc. | Determining sector status in a memory device |
| US8589700B2 (en) | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
| US8055816B2 (en) * | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
| JP2010267135A (ja) * | 2009-05-15 | 2010-11-25 | Toshiba Corp | メモリコントローラ |
| US9910996B2 (en) * | 2010-06-16 | 2018-03-06 | Vasco Data Security, Inc. | Mass storage device memory encryption methods, systems, and apparatus |
| TWI496161B (zh) * | 2010-08-06 | 2015-08-11 | Phison Electronics Corp | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 |
| JP5017439B2 (ja) * | 2010-09-22 | 2012-09-05 | 株式会社東芝 | 暗号演算装置及びメモリシステム |
| CA2759612C (en) * | 2010-11-23 | 2018-10-23 | EMC IP Holding Company LLC | Method and system for securing data |
| US20120221767A1 (en) | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
| KR101303278B1 (ko) * | 2011-12-14 | 2013-09-04 | 한국전자통신연구원 | 비트스트림 보호를 위한 fpga 장치 및 그 방법 |
| US9256551B2 (en) | 2013-08-09 | 2016-02-09 | Apple Inc. | Embedded encryption/secure memory management unit for peripheral interface controller |
| US9607177B2 (en) * | 2013-09-30 | 2017-03-28 | Qualcomm Incorporated | Method for securing content in dynamically allocated memory using different domain-specific keys |
| US9866548B2 (en) * | 2014-12-17 | 2018-01-09 | Quanta Computer Inc. | Authentication-free configuration for service controllers |
| US9798900B2 (en) * | 2015-03-26 | 2017-10-24 | Intel Corporation | Flexible counter system for memory protection |
| CN107533623A (zh) * | 2015-09-14 | 2018-01-02 | 慧与发展有限责任合伙企业 | 安全存储器系统 |
| US11126565B2 (en) | 2016-06-27 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Encrypted memory access using page table attributes |
| TWI615732B (zh) * | 2016-12-27 | 2018-02-21 | 瑞昱半導體股份有限公司 | 電子裝置之電子元件、啟動電子裝置的方法及加密方法 |
| CN109391467A (zh) * | 2017-08-10 | 2019-02-26 | 北京兆易创新科技股份有限公司 | 非易失性存储器的加密方法及装置、解密方法及装置 |
| TWI652683B (zh) * | 2017-10-13 | 2019-03-01 | 力旺電子股份有限公司 | 用於記憶體的電壓驅動器 |
| US11030346B2 (en) | 2018-07-13 | 2021-06-08 | Ememory Technology Inc. | Integrated circuit and data processing method for enhancing security of the integrated circuit |
| WO2020018644A1 (en) * | 2018-07-17 | 2020-01-23 | Canter Jeffrey B | Flash memory device for storing sensitive information and other data |
| CN112231716A (zh) * | 2019-07-15 | 2021-01-15 | 珠海艾派克微电子有限公司 | 数据的防盗装置和防盗方法 |
| CN113168475B (zh) * | 2019-08-29 | 2025-04-08 | 谷歌有限责任公司 | 保护集成于片上系统上的安全元件的外部数据存储的安全 |
| WO2022132184A1 (en) * | 2020-12-20 | 2022-06-23 | Intel Corporation | System, method and apparatus for total storage encryption |
| CN115982761A (zh) * | 2022-12-23 | 2023-04-18 | 美的集团股份有限公司 | 敏感信息处理方法、装置、电子设备和存储介质 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2264373B (en) * | 1992-02-05 | 1995-12-20 | Eurologic Research Limited | Data encryption apparatus and method |
| TW529267B (en) * | 1999-03-15 | 2003-04-21 | Sony Corp | Data processing system and method for mutual identification between apparatuses |
| US6968061B2 (en) * | 2000-02-17 | 2005-11-22 | The United States Of America As Represented By The Secretary Of The Navy | Method which uses a non-volatile memory to store a crypto key and a check word for an encryption device |
| US7080039B1 (en) * | 2000-03-23 | 2006-07-18 | David J Marsh | Associating content with households using smart cards |
| US6980659B1 (en) * | 2000-06-02 | 2005-12-27 | Brig Barnum Elliott | Methods and systems for supplying encryption keys |
| US6961852B2 (en) * | 2003-06-19 | 2005-11-01 | International Business Machines Corporation | System and method for authenticating software using hidden intermediate keys |
| US20050086471A1 (en) * | 2003-10-20 | 2005-04-21 | Spencer Andrew M. | Removable information storage device that includes a master encryption key and encryption keys |
| WO2006071725A2 (en) * | 2004-12-21 | 2006-07-06 | Sandisk Corporation | Memory system with in-stream data encryption/decryption |
| US20060195704A1 (en) * | 2005-01-27 | 2006-08-31 | Hewlett-Packard Development Company, L.P. | Disk array encryption element |
| JP2006252449A (ja) * | 2005-03-14 | 2006-09-21 | Toshiba Corp | 不揮発性メモリモジュールおよび不揮発性メモリシステム |
-
2006
- 2006-11-08 US US11/598,173 patent/US20080107275A1/en not_active Abandoned
-
2007
- 2007-11-06 KR KR1020097011723A patent/KR20090080115A/ko not_active Ceased
- 2007-11-06 CN CNA2007800415313A patent/CN101536007A/zh active Pending
- 2007-11-06 EP EP07873596A patent/EP2080145A2/en not_active Withdrawn
- 2007-11-06 JP JP2009535501A patent/JP2010509662A/ja not_active Withdrawn
- 2007-11-06 WO PCT/US2007/083763 patent/WO2008127408A2/en not_active Ceased
- 2007-11-08 TW TW096142267A patent/TW200833056A/zh unknown
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020515104A (ja) * | 2017-01-09 | 2020-05-21 | インターデジタル シーイー パテント ホールディングス | セキュア・バックアップおよび復元を実行する方法および装置 |
| JP7138642B2 (ja) | 2017-01-09 | 2022-09-16 | インターデジタル マディソン パテント ホールディングス, エスアーエス | セキュア・バックアップおよび復元を実行する方法および装置 |
| US11520935B2 (en) | 2017-01-09 | 2022-12-06 | Interdigital Madison Patent Holdings, Sas | Methods and apparatus for performing secure back-up and restore |
Also Published As
| Publication number | Publication date |
|---|---|
| TW200833056A (en) | 2008-08-01 |
| WO2008127408A3 (en) | 2009-01-08 |
| US20080107275A1 (en) | 2008-05-08 |
| KR20090080115A (ko) | 2009-07-23 |
| CN101536007A (zh) | 2009-09-16 |
| WO2008127408A2 (en) | 2008-10-23 |
| EP2080145A2 (en) | 2009-07-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010509662A (ja) | 外部不揮発性メモリに記憶された情報の暗号化のための方法およびシステム | |
| KR100692425B1 (ko) | 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치 | |
| US10110380B2 (en) | Secure dynamic on chip key programming | |
| CN100578473C (zh) | 嵌入式系统和增加嵌入式系统安全性的方法 | |
| US8776211B1 (en) | Processing commands according to authorization | |
| US20160140057A1 (en) | Semiconductor device and encryption key writing method | |
| US10970409B1 (en) | Security RAM block with multiple partitions | |
| CN101268650A (zh) | 在微控制器中用于数据安全性处理的方法和装置 | |
| EP3096259B1 (en) | Security ram block with multiple partitions | |
| US20100011221A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
| JP7170999B2 (ja) | 機密データを保護することが可能な電子機器 | |
| US9003201B2 (en) | Hardware protection for encrypted strings and protection of security parameters | |
| US10387653B2 (en) | Secure provisioning of semiconductor chips in untrusted manufacturing factories | |
| US7752407B1 (en) | Security RAM block | |
| CN101320355A (zh) | 存储装置、存储卡存取装置及其读写方法 | |
| KR20140075848A (ko) | 불 휘발성 메모리 모듈 및 그것의 동작 방법 | |
| KR100972540B1 (ko) | 라이프 사이클 단계들을 가진 보안 메모리 카드 | |
| US11372558B2 (en) | Method for accessing one-time-programmable memory and associated circuitry | |
| KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
| WO2008071222A1 (en) | Protecting a programmable memory against unauthorized modification | |
| US9158943B2 (en) | Encryption and decryption device for portable storage device and encryption and decryption method thereof | |
| KR102295470B1 (ko) | 보안 기능이 없는 usb 메모리를 위한 보안 usb 동글 | |
| JP2009044630A (ja) | 暗号処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110202 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110202 |