JP6585153B2 - 重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイス - Google Patents

重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイス Download PDF

Info

Publication number
JP6585153B2
JP6585153B2 JP2017502687A JP2017502687A JP6585153B2 JP 6585153 B2 JP6585153 B2 JP 6585153B2 JP 2017502687 A JP2017502687 A JP 2017502687A JP 2017502687 A JP2017502687 A JP 2017502687A JP 6585153 B2 JP6585153 B2 JP 6585153B2
Authority
JP
Japan
Prior art keywords
memory
key
data
encryption
volatile
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.)
Active
Application number
JP2017502687A
Other languages
English (en)
Other versions
JP2017521795A (ja
Inventor
センター、ジェフリー・ビー.
Original Assignee
ビーエイイー・システムズ・インフォメーション・アンド・エレクトロニック・システムズ・インテグレイション・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビーエイイー・システムズ・インフォメーション・アンド・エレクトロニック・システムズ・インテグレイション・インコーポレーテッド filed Critical ビーエイイー・システムズ・インフォメーション・アンド・エレクトロニック・システムズ・インテグレイション・インコーポレーテッド
Publication of JP2017521795A publication Critical patent/JP2017521795A/ja
Application granted granted Critical
Publication of JP6585153B2 publication Critical patent/JP6585153B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

関連出願
この出願は、「Self−encrypting Flash Memory」と題する、2014年7月16日に出願された米国仮特許出願第62/025,052の優先権を主張し、その内容が参照によってこの中に組み込まれる。
本発明は、概括的に、フラッシュメモリに関し、特に、重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイスに関する。
フラッシュメモリは、電気的消去可能プログラマブル読み取り専用メモリ(electronically erasable programmable read only memories:EEPROM(登録商標))から開発されたもので、一般的に、それらが存在するシステムの中のプロセッサによるアクセスおよび使用のためのプログラムや他の不揮発性データを記憶するために使用される。フラッシュメモリは、メモリ内に埋め込まれた個々のメモリセルの内部特性に応じて、NANDまたはNOR型のいずれであってもよい。フラッシュメモリに記憶されたデータの全てまたは選択されたブロックは、電気的に消去され、再プログラムされ得る。http://en.wikipedia.org/Flash_memory、および、その中で引用された文献を参照する。
フラッシュメモリに記憶されるべきデータが占有または機密扱いである場合、データは、メモリに静止している間は暗号化されている必要があり得る。例えば、DFARS(国防省調達規則) 252.204−7012(2013年11月18日)において米国国防省(Department of Defense:DoD)によって課せられた現在の耐タンパ(anti-tamper:AT)要件に準拠するために、請負業者は、機密扱いを受けていない管理された技術情報(controlled technical information:CTI)を危うくされることから保護するために適切なセキュリティを提供する必要がある。CTIは、引用された文献において、情報のアクセス、使用、複製、修正、遂行、表示、リリース、開示、または、拡散に関する管理の対象である軍事または宇宙用途をもった技術的な情報として定義される。また、国防総省令第5200.44(2012年11月5日)を参照する。
他の専有の用途は、重要なまたは機密扱いのソフトウェアやデータが、ホストシステムのメモリに記憶される前に暗号化されることを必要とし得る。メモリ内の記憶のためにそのようなソフトウェアやデータを暗号化するために、外部の暗号化エンジンと関連するプロセッサがシステムに追加されなければならない。即ち、システムにもともと埋め込まれたものの外部のハードウェアおよびソフトウェアが、暗号化のために必要とされる。複数のエンクロージャに含まれていてもよいこれらの追加のコンポーネントは、フラッシュメモリと該メモリにアクセスするホストシステムプロセッサとの間に課される必要があり、従って、暗号化プロセスの全体を複雑にし、遅くする。
自己暗号化ソリッドステートディスクドライブは、例えば、米国、カリフォルニア州、アリソビエホのMicrosemi社から市販されている。しかし、これらのデバイスは、組み込みシステムの一部ではなく、それらは、動作するために、追加のバス(例えば、SATA、または、USB)とソフトウェアドライバを必要とする。しかし、知られている限り、組み込みシステムの一部であって、特別なバスやドライバなしで自己暗号化機能を特徴とするフラッシュメモリは、以前に提供または開示されていない。
従って、外部の暗号化エンジンや追加のハードウェアとソフトウェアを必要とせずに、メモリに記憶された情報またはデータが、メモリ内に静止している間には暗号化された形態に保たれるように構成された、組み込み可能なフラッシュメモリを用いたデバイスに対する要求がある。
本発明に従って、ホストシステムがメモリにデータを書き込み、メモリからデータを読み出すような、ホストシステムに関連付けられたフラッシュメモリ内の記憶のための機密扱いのプログラムまたは他のデータを暗号化する方法は、フラッシュメモリと、ホストシステムから発せられたデータを暗号化し、メモリに暗号化されたデータを書き込むため、および、ホストシステムによるアクセスのためにメモリに記憶されたデータを復号するための暗号化エンジンと、ホストシステムからエンジンにデータを供給するため、および、ホストシステムによるアクセスのためにエンジンから復号されたデータを受け取るためのスタティックランダムアクセスメモリ(static random access memory:SRAM)と、ユーザまたは暗号化エンジンのいずれかによって供給された暗号化鍵を保持するための鍵記憶部とを含むフラッシュメモリを用いたデバイスを提供することを含む。電源が投入されると、デバイスは、まず、有効な暗号化鍵が鍵記憶部に保持されているかどうかを決定する。保持されている場合で、プログラムフラグが設定されている場合、フラッシュメモリ内の暗号化されたデータは、エンジンによって復号され、ホストシステムによるアクセスのためにSRAMに記憶され、ホストシステムから発せられ、SRAMに記憶されたデータは、エンジンによって暗号化され、フラッシュメモリに記憶される。
本発明の他の態様によれば、機密扱いの情報またはデータを記憶するためのフラッシュメモリを用いたデバイスは、フラッシュメモリと、ホストシステムから発するデータを暗号化し、フラッシュメモリに暗号化されたデータを記憶するため、および、メモリに記憶された暗号化されたデータを復号するための暗号化エンジンと、所望される場合、暗号化鍵を作成するための関連付けられた乱数発生器とを含む。鍵記憶部は、暗号化エンジンによって作成されるか、ユーザによって鍵記憶部に入力されるかのいずれかの暗号化鍵を保持する。スタティックランダムアクセスメモリ(SRAM)は、ホストシステムから発するデータを暗号化エンジンに供給し、ホストシステムによるアクセスのためにエンジンからの復号されたデータを受け取る。デバイスの制御回路は、まず、有効な鍵が鍵記憶部に保持されているかどうかを決定するように構成される。保持されている場合、次に、該回路は、フラッシュメモリ内の暗号化されたデータが暗号化エンジンによる復号のための準備ができていることか、または、フラッシュメモリがエンジンからの暗号化されたデータでプログラムされる準備ができていることかのいずれかを示すように、プログラムフラグが設定されているかどうかを決定する。
本発明のより良い理解のために、添付の図面と添付の特許請求の範囲と併せて、以下の記載への参照がなされる。
図1は、本発明のフラッシュメモリを用いたデバイスの概略ブロック図である。 図2は、図1のメモリデバイスの動作を示すフロー図である。
詳細な説明
図1は、本発明に従った、データ静止時の保護を確実にするために暗号化機能を用いるフラッシュメモリを用いたデバイス10を示す。デバイス10は、静止時の間に暗号化されているべく、ホストシステム内のプロセッサによるアクセスのためにメモリに記憶された場合、データを必要とする既存のまたは将来のホストシステムで使用され得る。この中で使用される場合、「データ」の用語は、情報が重要かまたは機密扱いにされているか否かにかかわらず、プロセッサによるアクセスのためにメモリに記憶することができる任意の情報を広く指す。
メモリデバイス10は、従来のNANDまたはNOR型フラッシュメモリ12と、メモリ12の対応するポートに接続される入力および出力(I/O)ポートをもった暗号化エンジン14を含む。基本的に、エンジン14は、乱数発生器14aを含み、ホストシステムプロセッサから発するデータを暗号化するため、メモリ12に暗号化されたデータを書き込むため、および、ホストシステムプロセッサによって呼び出されたとき、メモリ12に記憶されたデータを復号するために、既知の方法で構成される。エンジン14は、好ましくは、連邦情報処理標準(Federal Information Processing Standards:FIPS)公報 197(2001年11月)、および、NIST(米国立国標準技術研究所)特別公報 800−90A(2012年1月)と800−38A(2001年)(これらの全ての関連する内容が参照により組み込まれる)から詳細が得られる、256ビットのAdvanced Encryption Standard(AES)を実装する。エンジン14は、また、メモリ12に記憶されるのであろう情報のために、所望または必要であれば、他の既知の暗号化鍵を実装するように構成されてもよい。
メモリデバイス10は、また、ホストシステムとのインターフェイスをするために、スタティックランダムアクセスメモリ(SRAM)16を含む。ホストシステムプロセッサがSARAM16からの読み取り、および、SRAM16に書き込むから、デバイス10は、読み取り/書き込み動作について、典型的なフラッシュメモリより高速に応答する。加えて、デバイス10は、図1に示されたように、暗号化エンジン14に接続されるバッテリバックアップされた鍵記憶部18と、鍵記憶部18におよびSRAM16に接続された制御回路20を含む。鍵記憶部18と制御回路20とに関連した端子またはピンが以下に記載される。鍵記憶部18および制御回路20の更なる詳細は、この技術に習熟した者には明らかである。
鍵選択22 − ユーザが供給した暗号鍵または自己生成され暗号鍵のいずれかを記憶部が受容するように、制御回路20の端子またはピン22は、鍵記憶部18を制御するために与えられる。例えば、ピン22が「high」に設定される場合、暗号鍵はユーザによって提供される。ピン22が「low」である場合、鍵は乱数発生器14aを介して生成される。ユーザは、操作の彼または彼女の構想に基づいて、この決定をなす。ユーザが供給した鍵は、タンパ企て信号がピン24上で制御回路20に入力された(下記参照)後、フラッシュメモリ12に存在する暗号化されたデータが回復されることを可能にする。しかし、ユーザが供給する鍵は、ユーザに、管理をし、権限を付与された職員の間での鍵の配布に責任をもつことを要求する。内部で生成された鍵は、ユーザに、鍵配布を管理することを要求しないが、タンパ企て信号が回路20に入力されると、フラッシュメモリ12上に存在するすべてのデータが回復できなくなる。いずれの場合にも、ユーザが供給したか自己生成されたかにかかわらず、タンパイベントの信号がない限り、新しい鍵は、フラッシュメモリ12が暗号化されたデータで再プログラムされることを可能にする。
鍵バス26 − これは、ユーザが供給する暗号鍵を鍵記憶部18に入力するためのシリアルバスである。例えば、鍵選択ピン22が「high」に設定されている場合、バス26はアクティブであり、ユーザが供給する鍵が鍵記憶部18の中にバス26を介して入力される。しかし、鍵選択ピン22が「low」に設定されている場合は、バス26が非動作になっている。いかなる状況においても、暗号鍵は、バス26または他の方法を介してデバイス10から読み出されることはあり得ない。
タンパ24 − タンパ企て信号がピン24上で制御回路20に入力されると、信号が検出されたときに主電源が存在するならば、制御回路20は、SRAM16に記憶された全ての情報と鍵記憶部18に保持された全ての鍵を消去するように構成される。タンパ企てが信号されたときに主電源が存在しないならば、SRAMは何のデータも保有していないので、回路20は、鍵記憶部18によってその時保持されている鍵(もしあれば)を消去するための動作だけをする。
Vbat28 − バックアップバッテリからの電圧が鍵記憶部18のピン28に与えられている場合、鍵記憶部18に保持されている任意の鍵は、主電源が失われた場合に保存される。主電源が存在する場合、鍵は、通常、鍵記憶部に保持されているから、フラッシュメモリを用いたデバイス10の動作や安定性に影響を与えることなく、主電源が存在している限り、バッテリは交換可能である。主電源とバックアップバッテリからのピン28上の電圧の両方がなくなった場合、鍵記憶部18は、暗号鍵を保持しなくなる。
<動作>
図2のフロー図に示されるように、電源投入またはリセットに応じて、制御回路20は、鍵記憶部18が有効な鍵(例えば、全て1または全てゼロでない)が含まれているかどうかを決定するよう構成される。有効な鍵が見つけられた場合、回路20は、フラッシュメモリが暗号化されたデータでプログラムされていることを示すプログラムフラグを検索する。プログラムフラグが設定されている場合、回路20は、エンジン14に、フラッシュメモリ12に記憶されたデータを復号させ、SRAM16に復号されたデータを書き込ませる。プログラムフラグ設定されていない場合、回路20は、フラッシュメモリ12がエンジン14によって復号されるべきデータでプログラムされていることを示すよう、プログラムフラグが設定されるのを待つ。有効な鍵が決定されているかぎり、フラッシュメモリを用いたデバイス10は動作し続ける。
制御回路20が、鍵記憶部18は有効な鍵を含んでいないと決定した場合、プログラムフラグは(以前に設定されているならば)クリアされ、鍵選択ピン22の状態が読み取られる。ピンが、例えば、「high」にされていた場合、回路20は、ユーザによって鍵記憶部18に供給される有効な鍵を待つ。ひとたび有効な鍵がロードされると、回路は、鍵が存在する場合について上述したように応答するよう構成される。例えば、タンパ企ての後、「有効」だが、不適当であったり、正しくなかったりした鍵がロードされた場合、暗号化エンジン14は、フラッシュメモリ12からの暗号化されたデータを処理し得るが、エンジン14は、不適当な鍵を使用しているとき、理解できるかまたは使用可能なデータを得られないことを注記する。
ピン22が、例えば、「low」にされ、有効な鍵が鍵記憶部18に保持されていないことを示す場合、回路20は、乱数発生器14aによって提供される鍵を生成するよう構成される。ひとたび有効な鍵が生成されると、回路20は、フラッシュメモリ12が暗号化されたデータでプログラムされるのを待ち、プログラムフラグがセットされる。電源が除去され、その後復元された場合、デバイス10がプログラムフラグによって示された状態に戻るように、プログラムフラグは、好ましくは、不揮発性である。
ユーザによって、または、自己生成されたかどうかにかかわらず、有効な鍵が鍵記憶部18に入力された後にのみ設定され得るプログラムフラグを読み取ることにより、制御回路20は、フラッシュメモリ12のプログラムされている状態とプログラムされていない状態との間を区別するように動作するよう構成される。電源投入され、記憶部18に保持された有効な鍵を有している時、プログラムフラグが設定されている場合に、不揮発性のフラッシュメモリ12に存在する任意のデータが復号され、フラグが設定されていない場合に、フラッシュメモリ12のプログラミングが許容される。
動作中に、フラッシュメモリ12に書き込まれるべき、ホストシステムプロセッサから発する任意のデータは、メモリ12にデータを記憶する前に、エンジン14によって暗号化される。ホストシステムからのデータがメモリデバイス10のSRAM16に最初に書き込まれるので(デバイス10の動作では、全ての読み取りと書き込みはSRAM16を介する)、追加のデータを暗号化して、フラッシュメモリに書き込む処理は、アクセス時間に影響を与えない。
本発明のフラッシュメモリを用いたデバイス10は、システムの観点から、標準的なフラッシュデバイスと同様に動作することが理解される。従って、ホストシステムへ、および、ホストシステムからの典型的なアドレス、データ、および、制御信号(図1の下部を参照)は、ここでは詳細に記載されない。そして、ホストシステムプロセッサが、実際に、SRAM16からの読み取り/SRAM16への書き込みをするから、メモリデバイス10は、読み取り/書き込み動作に、典型的なフラッシュメモリより高速に応答する。
メモリデバイス10は、バッテリバックアップおよびタンパ標示が利用可能である任意のホストシステムで動作し得る。また、それは、鍵無し(独自のキーを生成する)で、または、ユーザが供給する鍵を用いて動作し得る。いずれの場合も、鍵が外部から読み取られることはできない。重要なことは、デバイス10が、個別の暗号化ステップの必要性を回避し、フラッシュメモリ12に記憶されたデータが、常に、それが組み込まれるホストシステムからの介在なしで、静止時に暗号化されていることを確実にする。外部のハードウェアまたはソフトウェアは、暗号化機能を達成するために必要とされない。
本発明のある実施形態がこの中に記載され、示されているが、様々な修正、追加、および、変更が、本発明の真意および範囲から逸脱することなくなされ得ることが、本技術に習熟した者によって理解される。従って、本発明は、添付の特許請求の範囲内にあるそのような修正、追加、および、変更の全てを包含する。
以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ホストシステムのフラッシュメモリにおける不揮発性の記憶のためにプログラムおよび他のデータを暗号化する方法であって、前記ホストシステム内のプロセッサは、前記フラッシュメモリにデータを書き込み、前記フラッシュメモリからデータを読み取るようにプログラムされ、
フラッシュメモリを用いたデバイスであって、フラッシュメモリと、前記ホストシステムから発するデータを暗号化し、前記フラッシュメモリに暗号化された前記データを書き込むために、および、前記ホストシステムによるアクセスのために前記フラッシュメモリに記憶されたデータを復号するために、前記フラッシュメモリに接続された暗号化エンジンと、前記ホストシステムから前記暗号化エンジンに前記データを供給するために、および、前記ホストシステムによるアクセスのために前記暗号化エンジンから復号された前記データを受け取るために前記暗号化エンジンに接続されたスタティックランダムアクセスメモリ(SRAM)と、ユーザまたは前記暗号化エンジンのいずれかによって供給された暗号化鍵を保持するための鍵記憶部と、前記フラッシュメモリを用いたデバイスのコンポーネントの動作を制御するための制御回路とを含む前記フラッシュメモリを用いたデバイスを提供することと、
有効な暗号化鍵が前記鍵記憶部に保持されているかどうかを決定することと、
有効な鍵が前記鍵記憶部に保持されている場合、次に、前記フラッシュメモリに記憶された任意の暗号化されたデータが復号される準備ができていることを示すように、プログラムフラグが設定されているかどうかを決定することと、
前記プログラムフラグが設定されている場合、前記ホストシステムの動作に従って、前記フラッシュメモリにデータを書き込むことと、前記フラッシュメモリからデータを読み取ることとを含む第1の状態に遷移することと、
前記プログラムフラグが設定されていない場合、前記プログラムフラグが設定されるのを待つことを含む第2の状態に遷移することと、
を備える方法。
[C2]
前記第1の状態は、前記暗号化エンジンによる使用のために、前記SRAMに前記データを記憶し、前記データを暗号化し、前記フラッシュメモリに暗号化された前記データを記憶することによって、前記ホストシステムにより前記フラッシュメモリを用いたデバイスに与えられるデータを受け入れることを含む、[C1]に記載の方法。
[C3]
有効な鍵が記憶部に保持されていない場合、前記制御回路に入力される鍵選択の状態に従って、(a)暗号化鍵を生成することと、前記第2の状態に遷移することとを含む第3の状態に遷移すること、または、(b)有効な鍵がユーザによって入力されるのを待つことを含む第4の状態に遷移することと、のいずれかをするように前記鍵記憶部を構成することを含む、[C1]に記載の方法。
[C4]
前記暗号化エンジンによって生成されるか、ユーザによって入力されるかにかかわらず、前記鍵記憶部の揮発性の鍵記憶メモリ領域に、前記暗号化鍵を記憶することと、
前記SRAMと前記フラッシュメモリの動作領域から前記鍵記憶メモリ領域を安全に分離することと、
を含む、[C1]に記載の方法。
[C5]
主電源またはバックアップバッテリのいずれかから、前記鍵記憶メモリ領域を含む、前記フラッシュメモリを用いたデバイスに電源供給することを含む、[C4]に記載の方法。
[C6]
重要なまたは機密扱いの情報またはデータを記憶するためのフラッシュメモリを用いたデバイスであって、
フラッシュメモリと、
ホストシステムのプロセッサから発するデータを暗号化し、前記フラッシュメモリに暗号化された前記データを記憶するために、および、前記フラッシュメモリに記憶された暗号化されたデータを復号するために、前記フラッシュメモリに接続された暗号化エンジンと、
前記暗号化エンジンに関連付けられ、所望されたときに暗号化鍵を生成するために構成された乱数発生器と、
鍵記憶部であって、前記暗号化エンジンによって生成されたか、ユーザによって前記鍵記憶部に入力されたかのいずれかである暗号化鍵を保持するために、前記暗号化エンジンに接続される鍵記憶部と、
前記ホストシステムから発する前記データを前記暗号化エンジンに供給するために、および、前記ホストシステムによるアクセスのために前記暗号化エンジンから復号された前記データを受け取り、記憶するために、前記暗号化エンジンに接続されたスタティックランダムアクセスメモリ(SRAM)と、
前記鍵記憶部と前記SRAMに接続される制御回路と、ここにおいて、前記制御回路は、鍵選択とタンパ企てに対応する入力信号に応答して、前記フラッシュメモリを用いたデバイスの動作を制御するために、および、前記フラッシュメモリにおける暗号化されたデータが前記暗号化エンジンによる復号のための準備ができているときに、および、前記フラッシュメモリが前記暗号化エンジンからの暗号化されたデータでプログラムされる準備ができているときに、プログラムフラグを設定するために、構成される、
フラッシュメモリを用いたデバイス。
[C7]
前記鍵記憶部は、前記SRAMと前記フラッシュメモリの動作領域から安全に分離される揮発性の鍵記憶メモリ領域を含む、[C6]に記載のフラッシュメモリを用いたデバイス。
[C8]
前記鍵記憶メモリ領域に電力を供給するための主電源とバックアップバッテリを含む、[C7]に記載のフラッシュメモリを用いたデバイス。
[C9]
前記制御回路は、(a)有効な暗号化鍵が前記鍵記憶部に保持されているかどうかを決定すること、(b)有効な鍵が前記鍵記憶部に保持されている場合、次に、前記プログラムフラグが設定されているかどうかを決定すること、(c)前記プログラムフラグが設定されている場合、前記ホストシステムの動作に応答して、前記フラッシュメモリにデータを書き込むことと、前記フラッシュメモリからデータを読み取ることを含む第1の状態に遷移すること、および、(d)前記プログラムフラグが設定されていない場合、前記プログラムフラグが設定されるのを待つことを含む第2の状態に遷移すること、のために動作する、[C7]に記載のフラッシュメモリを用いたデバイス。
[C10]
前記第1の状態にあるとき、前記フラッシュメモリを用いたデバイスが、(a)前記SRAMに前記データを記憶することによって、前記ホストシステムにより前記フラッシュメモリを用いたデバイスに与えられたデータを受け入れ、(b)前記データを暗号化し、および、(c)前記フラッシュメモリに暗号化された前記データを記憶する、ように、前記制御回路が構成される、[C9]に記載のフラッシュメモリを用いたデバイス。
[C11]
有効な暗号化鍵が前記鍵記憶部に保持されていない場合、前記フラッシュメモリを用いたデバイスが、前記制御回路に入力される鍵選択信号に従って、(a)前記暗号化エンジンが鍵を生成し、その後、前記フラッシュメモリを用いたデバイスが前記第2の状態に遷移する第3の状態に遷移するか、または、(b)前記フラッシュメモリを用いたデバイスが、有効な鍵がユーザによって入力されるのを待つ第4の状態に遷移するか、のいずれかを行うように、前記制御回路が構成される、[C9]に記載のフラッシュメモリを用いたデバイス。

Claims (15)

  1. ホストシステムに接続されるメモリデバイスにおける不揮発性の記憶のためのデータを暗号化し、復号する方法であって、前記ホストシステム内の少なくとも1つのプロセッサは、前記メモリデバイスにデータを書き込み、前記メモリデバイスからデータを読み出すようにプログラムされ、
    不揮発性メモリを提供し、
    前記ホストシステムから発し、暗号化エンジンに接続された揮発性のランダムアクセスメモリを介して供給されるデータを、前記不揮発性メモリに接続された暗号化エンジンによって暗号化することであって、前記揮発性のランダムアクセスメモリは、前記暗号化エンジンによる暗号化のため、前記ホストシステムが前記揮発性のランダムアクセスメモリに前記データを書き込むために、前記ホストシステムによってアクセス可能であり、暗号化された前記データが前記不揮発性メモリに書き込まれ、
    暗号化された前記データが前記不揮発性メモリに記憶されている場合、前記不揮発性メモリに記憶された暗号化された任意のデータが復号される準備ができていることを示すプログラムフラグを設定し、
    前記暗号化エンジンによって、前記揮発性のランダムアクセスメモリに書き込まれるために、前記不揮発性メモリに記憶された暗号化されたデータを復号することであって、前記ホストシステムが、復号された前記データを前記揮発性のランダムアクセスメモリから読み出すために、前記揮発性のランダムアクセスメモリは、前記ホストシステムによってアクセス可能であり、
    ユーザまたは前記暗号化エンジンのいずれかによって供給される前記暗号化と前記復号のための暗号化鍵を、鍵記憶部に保持し、
    有効な暗号化鍵が前記鍵記憶部に保持されているかどうかを決定し、
    有効な鍵が前記鍵記憶部に保持されている場合、プログラムフラグが設定されているかどうかを決定し、
    前記プログラムフラグが設定されている場合、前記不揮発性メモリにデータを書き込むことと、前記不揮発性メモリからデータを読み出すこととを含む第1の状態に遷移し、
    前記プログラムフラグが設定されていない場合、前記プログラムフラグが設定されるのを待つことを含む第2の状態に遷移
    有効な暗号化鍵が前記鍵記憶部に保持されていない場合、鍵選択の状態に従って、(a)暗号化鍵を生成することと、前記第2の状態に遷移することとを含む第3の状態に遷移すること、または、(b)有効な鍵がユーザによって入力されるのを待つことを含む第4の状態に遷移することと、のいずれかをするように前記鍵記憶部を構成する、
    方法。
  2. 前記第1の状態は、前記暗号化エンジンによる使用のために、前記揮発性のランダムアクセスメモリに前記データを記憶し、前記データを暗号化し、前記不揮発性メモリに暗号化された前記データを記憶することによって、前記ホストシステムにより前記メモリデバイスに与えられるデータを受け入れることを含む、請求項1に記載の方法。
  3. 前記暗号化エンジンによって生成されるか、ユーザによって入力されるかにかかわらず、前記鍵記憶部の揮発性の鍵記憶メモリ領域に、前記暗号化鍵を記憶することと、
    前記揮発性のランダムアクセスメモリと前記不揮発性メモリの動作領域から前記鍵記憶メモリ領域を分離することと、
    を含む、請求項1に記載の方法。
  4. 主電源またはバックアップバッテリのいずれかから、前記鍵記憶メモリ領域を含んで、前記メモリデバイスに電源供給することを含む、請求項に記載の方法。
  5. 前記不揮発性メモリはフラッシュメモリである、請求項1に記載の方法。
  6. 前記揮発性のランダムアクセスメモリは、スタティックランダムアクセスメモリ(SRAM)である、請求項1に記載の方法。
  7. さらに、前記暗号化エンジンに関連付けられた乱数発生器から暗号化鍵を生成することを備える、請求項1に記載の方法。
  8. さらに、前記暗号化鍵が、前記ユーザによって供給されるか、または、前記暗号化エンジンによって供給されるかをユーザによって決定することを備える、請求項1に記載の方法。
  9. さらに、鍵選択およびタンパ企ての少なくとも一方に対応する入力信号に応答して前記メモリデバイスを動作させる、請求項1に記載の方法。
  10. データを記憶するためのメモリデバイスであって、
    不揮発性メモリと、
    ホストシステムから発するデータを暗号化し、前記不揮発性メモリに暗号化された前記データを記憶するために、および、前記不揮発性メモリに記憶された暗号化されたデータを復号するために、前記不揮発性メモリに接続された暗号化エンジンと、
    前記暗号化エンジンに関連付けられ、暗号化鍵を生成するために構成された乱数発生器と、
    鍵記憶部であって、前記暗号化エンジンによって生成されたか、または、ユーザによって前記鍵記憶部に入力されたかのいずれかである暗号化鍵を保持するために、前記暗号化エンジンに接続される鍵記憶部と、
    前記ホストシステムが、前記ホストシステムから発する前記データを前記暗号化エンジンに供給するために、および、揮発性のランダムアクセスメモリから、前記暗号化エンジンから受け取られる復号された前記データを読み出すために、前記ホストシステムによってアクセス可能であり、前記暗号化エンジンに接続された揮発性のランダムアクセスメモリと、
    前記鍵記憶部と前記揮発性のランダムアクセスメモリに接続される制御回路と、ここにおいて、前記制御回路は、鍵選択とタンパ企ての少なくとも一方に対応する入力信号に応答して、前記メモリデバイスの動作を制御するために、および、前記暗号化エンジンからの暗号化されたデータが前記不揮発性メモリに書き込まれている場合、前記不揮発性メモリにおける暗号化されたデータが前記暗号化エンジンによる復号のための準備ができていることを示すプログラムフラグを設定するために構成される、
    を備え、
    前記制御回路は、さらに、
    (a)有効な暗号化鍵が前記鍵記憶部に保持されているかを決定するように、
    (b)有効な暗号化鍵が前記鍵記憶部に保持されている場合、前記プログラムフラグが設定されているかを決定するように、
    (c)前記プログラムフラグが設定されている場合、前記ホストシステムの動作に応答して、前記不揮発性メモリにデータを書き込むこと、および、前記不揮発性メモリからデータを読み出すことを含む第1の状態に遷移するように、および、
    (d)前記プログラムフラグが設定されていない場合、前記プログラムフラグが設定されるまで待つことを含む第2の状態に遷移するように、
    構成され、
    前記制御回路は、さらに。
    有効な暗号化鍵が前記鍵記憶部に保持されていない場合、前記メモリデバイスが、前記制御回路に入力される鍵選択信号に従って、
    (e)前記暗号化エンジンが鍵を生成し、その後、前記メモリデバイスが前記第2の状態に遷移する、第3の状態に遷移するか、または、
    (f)前記メモリデバイスが、有効な鍵がユーザによって入力されるのを待つ、第4の状態に遷移するか
    のいずれかを行うように、構成される、
    メモリデバイス。
  11. 前記鍵記憶部は、前記揮発性のランダムアクセスメモリと前記不揮発性メモリの動作領域から分離される揮発性の鍵記憶メモリ領域を含む、請求項10に記載のメモリデバイス。
  12. さらに、前記鍵記憶メモリ領域に電力を供給するための主電源とバックアップバッテリを含む、請求項11に記載のメモリデバイス。
  13. 前記第1の状態にあるとき、前記メモリデバイスが、(a)前記ホストシステムにより前記メモリデバイスに与えられたデータを受け入れ、前記暗号化エンジンによる使用のために前記揮発性のランダムアクセスメモリに前記データを記憶し、(b)前記データを暗号化し、および、(c)前記不揮発性メモリに暗号化された前記データを記憶するように、前記制御回路が構成される、請求項10に記載のメモリデバイス。
  14. 前記不揮発性メモリはフラッシュメモリである、請求項10に記載のメモリデバイス。
  15. 前記揮発性のランダムアクセスメモリは、スタティックランダムアクセスメモリ(SRAM)である、請求項10に記載のメモリデバイス。
JP2017502687A 2014-07-16 2015-05-19 重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイス Active JP6585153B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462025052P 2014-07-16 2014-07-16
US62/025,052 2014-07-16
PCT/US2015/031586 WO2016010625A1 (en) 2014-07-16 2015-05-19 Flash memory device for storing sensitive information and other data

Publications (2)

Publication Number Publication Date
JP2017521795A JP2017521795A (ja) 2017-08-03
JP6585153B2 true JP6585153B2 (ja) 2019-10-02

Family

ID=55078899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017502687A Active JP6585153B2 (ja) 2014-07-16 2015-05-19 重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイス

Country Status (6)

Country Link
US (1) US10025728B2 (ja)
EP (1) EP3170087B1 (ja)
JP (1) JP6585153B2 (ja)
AU (1) AU2015290223B2 (ja)
CA (1) CA2955144C (ja)
WO (1) WO2016010625A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476846B2 (en) * 2016-08-05 2019-11-12 The Boeing Company Data-at-rest (DAR) encryption for integrated storage media
US10979223B2 (en) * 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
GB201709499D0 (en) 2017-06-15 2017-08-02 Microsoft Technology Licensing Llc Memory management in non-volatile memory
CN107516047A (zh) * 2017-08-08 2017-12-26 杭州中天微系统有限公司 一种存储数据加解密装置及方法
KR102602696B1 (ko) * 2017-10-13 2023-11-16 삼성전자주식회사 암호화 장치 및 복호화 장치, 이들의 동작방법
WO2020018644A1 (en) * 2018-07-17 2020-01-23 Canter Jeffrey B Flash memory device for storing sensitive information and other data
US11204714B2 (en) 2018-10-23 2021-12-21 Microsoft Technology Licensing, Llc Hybrid use of non-volatile memory as storage device and cache
CN112115076A (zh) * 2019-06-20 2020-12-22 慧荣科技股份有限公司 使用者数据的加解密装置及方法
CN113168475A (zh) * 2019-08-29 2021-07-23 谷歌有限责任公司 保护集成于片上系统上的安全元件的外部数据存储的安全
US11221666B2 (en) * 2019-12-19 2022-01-11 Bae Systems Information And Electronic Systems Integration Inc. Externally powered cold key load
LU102287B1 (en) * 2020-12-15 2022-06-15 Microsoft Technology Licensing Llc Data security when tiering volatile and non-volatile byte-addressable memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397316B1 (ko) 1998-01-21 2003-09-06 비.유.지., 인크. 기억 장치, 암호화ㆍ복호화 장치 및 불휘발성 메모리의액세스 방법
US7814337B2 (en) * 2000-01-06 2010-10-12 Super Talent Electronics, Inc. Secure flash-memory card reader with host-encrypted data on a flash-controller-mastered bus parallel to a local CPU bus carrying encrypted hashed password and user ID
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US7205883B2 (en) * 2002-10-07 2007-04-17 Safenet, Inc. Tamper detection and secure power failure recovery circuit
JP4349788B2 (ja) 2002-10-31 2009-10-21 パナソニック株式会社 半導体集積回路装置
US7817799B2 (en) * 2006-09-07 2010-10-19 International Business Machines Corporation Maintaining encryption key integrity
KR100836758B1 (ko) * 2006-09-11 2008-06-10 삼성전자주식회사 메모리 카드의 암호화 장치 및 그것에 따른 데이터 기입 및독출 방법
JP5052878B2 (ja) * 2006-12-12 2012-10-17 株式会社バッファロー 記憶装置及び利用者認証方法
JP4906122B2 (ja) 2008-07-07 2012-03-28 ルネサスエレクトロニクス株式会社 半導体処理装置及びicカード
JP5482059B2 (ja) 2009-03-13 2014-04-23 富士通株式会社 記憶装置、および記憶装置へのアクセスを制御するためのプログラム
US9286241B2 (en) * 2012-02-21 2016-03-15 Microchip Technology Incorporated Cryptographic transmission system
KR20140020057A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 키 제어 로직을 포함하는 플래시 메모리 장치 및 그것의 암호화 키 저장 방법

Also Published As

Publication number Publication date
EP3170087A4 (en) 2018-02-14
AU2015290223B2 (en) 2018-05-10
WO2016010625A1 (en) 2016-01-21
US20160232109A1 (en) 2016-08-11
AU2015290223A1 (en) 2017-02-02
JP2017521795A (ja) 2017-08-03
CA2955144A1 (en) 2016-01-21
CA2955144C (en) 2019-06-11
EP3170087A1 (en) 2017-05-24
US10025728B2 (en) 2018-07-17
EP3170087B1 (en) 2019-05-01

Similar Documents

Publication Publication Date Title
JP6585153B2 (ja) 重要なまたは機密扱いの技術情報および他のデータを記憶するためのフラッシュメモリを用いたデバイス
JP4157595B2 (ja) セキュア処理装置、方法、プログラム
US20100058066A1 (en) Method and system for protecting data
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
US20090196417A1 (en) Secure disposal of storage data
EP1056015A1 (en) Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
EP3007094B1 (en) Boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and program
JP4869337B2 (ja) データの安全な処理
JPWO2005004382A1 (ja) 暗号処理装置
US10642984B2 (en) Secure drive and method for booting to known good-state
JP2007109148A (ja) 外部記憶装置
WO2015176531A1 (zh) 终端数据写入、读取的方法及装置
US11586775B2 (en) Securing data
US9003201B2 (en) Hardware protection for encrypted strings and protection of security parameters
JP2010224644A (ja) 制御装置、記憶装置、データ漏洩防止方法
CN112703703B (zh) 用于存储敏感信息和其它数据的闪存设备
US10387662B2 (en) Flash memory device for storing sensitive information and other data
JP2011066926A (ja) データ漏洩防止システムおよびデータ漏洩防止方法
CN109598154B (zh) 一种可信全盘加解密方法
JP5055487B2 (ja) 半導体メモリおよび情報処理システム
JP4738547B2 (ja) 記憶装置およびデータ漏洩防止方法
JP2011040100A (ja) データ漏洩防止システムおよびデータ漏洩防止方法
JP2011066925A (ja) データ漏洩防止システムおよびデータ漏洩防止方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190528

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: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190904

R150 Certificate of patent or registration of utility model

Ref document number: 6585153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250