(57)【要約】  いくらかの実施例によれば、ブロックのようなメモリの粒度は、侵入者がそのブロックに対するアクセスを達成することを絶対的に困難にする方法で削除され得る。更に、十分に効果的な方向で、そしてユーザに過度に負担をかけない方向で、削除は実行され得る。いくらかの実施例において、（ブロックのような）メモリの粒度の暗号化は、メモリ内で完全に処理され得る。その場合に、暗号化プロセスは、外部からアクセスされることはありえないとともに、ユーザは、暗号化シーケンスが記憶装置の内部で自動的に実行されるので、暗号化シーケンスのシーケンスによって負担をかけられずに済む。
2015529064.tif 000002
【特許請求の範囲】
【請求項１】
メモリに保存されるべきデータを暗号化キーを使用して暗号化することと、
前記暗号化キーを消去することによって前記メモリのブロックを削除することとを含み、もし前記削除されたブロックがアクセスされたならば、前記削除されたブロックが正しくない暗号化キーを使用して自動的に復号化される、方法。
【請求項２】
前記メモリ内から暗号化することを含む、請求項１に記載の方法。
【請求項３】
前記メモリに内蔵のコントローラを使用して前記ブロックを削除することを含む、請求項２に記載の方法。
【請求項４】
前記コントローラに対する外部アクセスを防止することを含む、請求項３に記載の方法。
【請求項５】
前記メモリ内の前記ブロックを削除するための命令を実行することを含む、請求項４に記載の方法。
【請求項６】
複数のブロックを前記メモリに保存することと、各ブロックに対する暗号化キーを前記メモリ内に保存することを含む、請求項１に記載の方法。
【請求項７】
前記メモリを収容したパッケージ内のコントローラを使用して前記メモリに書き込むこと及び前記メモリから読み出すことを含む、請求項１に記載の方法。
【請求項８】
同じダイの上に集積されたメモリ及びコントローラを使用することを含む、請求項３に記載の方法。
【請求項９】
前記暗号化キーをユーザにとってアクセス不能にすることを含む、請求項１に記載の方法。
【請求項１０】
前記暗号化されたデータを削除のあとで読み出し不能にすることを含む、請求項１に記載の方法。
【請求項１１】
請求項１から請求項１０のいずれか一項に記載の方法をコントローラに実行させる命令を格納した１つまたは複数の非一時的なコンピュータ読み取り可能な媒体。
【請求項１２】
メモリであって、
メモリアレイと、
前記メモリに保存されるべきデータを暗号化キーを使用して暗号化するために前記アレイに結合されるとともに、前記暗号化キーを消去することによってメモリのブロックを削除するコントローラとを備え、もし前記削除されたブロックがアクセスされたならば、前記削除されたブロックが正しくない暗号化キーを使用して自動的に復号化される、メモリ。
【請求項１３】
前記コントローラが、前記メモリ内に存在する、請求項１２に記載のメモリ。
【請求項１４】
前記コントローラが、前記メモリアレイを取り囲むパッケージ内に存在する、請求項１３に記載のメモリ。
【請求項１５】
前記コントローラが、前記メモリ内から暗号化する、請求項１２に記載のメモリ。
【請求項１６】
前記コントローラが、前記コントローラに対する外部アクセスを防止する、請求項１２に記載のメモリ。
【請求項１７】
前記コントローラが、前記メモリ内の前記ブロックを削除するための命令を実行する、請求項１５に記載のメモリ。
【請求項１８】
複数のメモリブロックを含むとともに、各ブロックに対する暗号化キーを前記メモリ内に保存する、請求項１２に記載のメモリ。
【請求項１９】
前記コントローラ及び前記メモリアレイが、同じダイの上に集積される、請求項１２に記載のメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電子メモリに保存されたデータを削除することに関する。
【背景技術】
【０００２】
従来は、ユーザが半導体メモリに保存されたデータを削除することを試みる場合、ユーザがシステムから完全に除去されたと考えるデータは、それでもまだ存在するとともに、抽出され得る。これは、物理的装置を獲得すること、または装置に遠隔的にアクセスすることのいずれかによって、ユーザのコンピュータに対するアクセスを達成する侵入者によって機密のデータが利用され得るので、セキュリティ上の不安を発生させる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
メモリに保存されている削除されたデータに対するアクセスを制限する１つの方法は、データに繰り返し上書きしようとすることである。しかし、この方法は、多大な時間を必要とする傾向があるとともに、繰り返しの書き込みがデータに完全に上書きしないかもしれず、データのいくらかの部分がそれでもなおアクセスされることを許してしまうので、間違いを犯す可能性がある。
【０００４】
もう一つのアプローチは、メモリ内の各ファイルを暗号化するとともに、暗号化キーを別のファイルに保存することである。しかし、この方法は通常ユーザの目に触れる機会が多く、従っていくらかのオーバヘッドをユーザに課す。更に、暗号化キーが攻撃者にとってアクセス可能なファイルに保存されているので、この方法は、セキュリティ上の不安を高め得る。従って、ユーザの観点から、削除プロセスはユーザの注意を必要とする。
【０００５】
いくらかの実施例が添付の図面に関して説明される。
【図面の簡単な説明】
【０００６】
【図１】本発明によるプラットフォームの一実施例の概略図である。
【図２】本発明の一実施例によるブロックを読み出すためのシーケンスである。
【図３】本発明の一実施例によるブロックを書き込むためのシーケンスである。
【図４】本発明の一実施例によるブロックを削除するためのシーケンスである。
【図５】本発明の一実施例の断面図である。
【図６】一実施例による、図５における概して線６−６に沿って取得された断面図である。
【発明を実施するための形態】
【０００７】
本明細書で使用されるように、削除は、保存された情報に対する将来にわたるアクセスを制限するために実行されるあらゆる動作のことを指す。
【０００８】
いくらかの実施例によれば、ブロックのようなメモリの粒度（granularity）は、侵入者がそのブロックに対するアクセスを達成することを絶対的に困難にする方法で削除され得る。更に、十分に効果的な方向で、そしてユーザに過度に負担をかけない方向で、削除は実行され得る。一実施例において、ブロックは、アドレス可能な一番小さい記憶領域の粒度である。ブロックより大きい他の粒度が同様に使用され得る。
【０００９】
いくらかの実施例において、（ブロックのような）メモリの粒度の暗号化は、メモリ内で完全に処理され得る。その場合に、暗号化プロセスは、外部からアクセスされることはありえないとともに、ユーザは、暗号化シーケンスが記憶装置の内部で自動的に実行されるので、暗号化シーケンスによって負担をかけられずに済む。
【００１０】
本発明の実施例に従って実施され得る記憶装置の種類の中には、半導体メモリ、磁気メモリ、及び光メモリが含まれる。一般に、これらのメモリは、有利にメモリの外側からアクセス可能ではない、いくらかの種類のオンボードの処理能力を含む。その結果、暗号化プロセスと、ブロックのようなメモリの粒度を削除するプロセスは、外部のソフトウェアによって干渉されることはありえない。
【００１１】
従って、図１を参照すると、プラットフォーム１０は、入出力装置に１４に結合された１つまたは複数のプロセッサ１２を含み得る。一般的な入出力装置は、数例をあげると、キーボード、プリンタ、モニタまたはディスプレイ、マウス、及びタッチスクリーンを含む。
【００１２】
プロセッサは、あらゆる種類の電子記憶装置であり得る記憶装置１６に結合され得る。記憶装置１６は、あらゆる従来のまたは次世代のメモリ技術の行方向セル及び列方向セルで構成されているメモリアレイ１８を含み得る。一実施例において、そのアレイの１つの領域は、暗号化キーストア（ＥＫ）２０を格納するために使用され得る。しかしながら、他の実施例において、暗号化キーは、記憶装置１６内の別個のメモリに保存され得る。
【００１３】
アレイ１８は、命令を実行することが可能であるプロセッサベースの装置であり得るオンボードコントローラ１７によって制御され得る。オンボードコントローラ１７は、ブロックのようなメモリの粒度の読み出し、書き込み、削除のうちの１つまたは複数に関するシーケンスを実施する。従って、オンボードコントローラ１７は、外部の存在による干渉を受けずに、メモリ部分の削除に関する動作を実行することができ得る。コントローラ１７は、前記メモリアレイに関する集積の総量を収容したパッケージ内の集積回路であり得る。一実施例において、メモリアレイ及びコントローラは、同じ集積回路ダイの上に形成されている。
【００１４】
一実施例において、コントローラは、対象のメモリ部分におけるデータを暗号化するために使用された暗号化キーを単純に変更することによって、アレイの一部分またはアレイ全体を消去し得る。その場合に、たとえデータが侵入者によってアクセスされても、暗号化キーが発見されることはありえないので、データが復号化されることはありえない。更に、侵入者がデータにアクセスすることを試みる場合に、そのデータは正しくないキーによって復号化される。このような方法で、実際に物理的に各メモリセルから保存された状態を除去することよりも、暗号化キーを単純にアクセス不能にすることによって、総じてメモリの一部分が消去され得るとともに、それによって、誰でもメモリの中に符号化された情報を読み出すことができることを防止する。
【００１５】
読み出し、書き込み、消去のための複数の異なるシーケンス２２、３０、及び４０が、アレイの中に保存され得る。他の実施例において、シーケンスは、ハードウェアまたはファームウェアにおいて実施され得る。
【００１６】
いくらかの実施例において、シーケンスは、磁気記憶装置、光記憶装置、及び／または半導体記憶装置のような１つまたは複数の非一時的なコンピュータ読み取り可能な媒体に格納されるコンピュータで実行された命令によって実施され得る。一実施例において、コンピュータで実行された命令は、もっぱら記憶装置１６内のコントローラ１７によって実施され得るとともに、そのコントローラは、記憶装置１６の外部から、大部分または完全にアクセス不能であり得る。
【００１７】
記憶装置１６は、概して固定サイズのブロックで構成されている。ソフトウェアは、一度に１つのブロック上で動作する。更に高いレベルは、更に細かい粒度を提供する。
【００１８】
例えば、記憶装置において、レジスタのアレイが暗号化キーストア２０内に各ブロックに対して１つ定義され得る。ブロックＮに対するレジスタは、ブロックＮを暗号化するために使用される暗号化キーを含む。いくらかの実施例において、キーレジスタは、記憶装置１６の外部からアクセス可能ではない。その代りに、レジスタは、記憶装置１６によって、単に記憶装置１６の動作を実行するために使用される。
【００１９】
暗号化プロセスそれ自身は、記憶装置１６の外部のユーザに対して透過的であり得る。記憶装置１６は、ブロックの暗号化キーを使用して、自動的にデータを暗号化及び復号化する。暗号化されたデータは、記憶装置１６がプラットフォーム１０から取り外され、そして他の方法によって読まれた場合にのみ、見られる可能性がある。
【００２０】
ソフトウェアがブロックまたは他の粒度を削除することを必要とする場合、そのブロックに関して、新しい暗号化キーが、暗号化キーストア２０内のレジスタにおける古いキーに上書きして生成される。いくらかの実施例において、新しいキーは、コントローラ１７によって生成される。
【００２１】
保存されたデータはメモリアレイ１８上でそれでもなお変更されていないが、保存されたデータが削除されたあとで、固有のキーが効果的に破壊されたか、または消去されたデータを復号するために必要になるので、保存されたデータは、あらゆる攻撃者に価値がない状態になる。
【００２２】
記憶装置１６を通して削除されたデータにアクセスするあらゆる試みは、正しくない暗号化キーを使用してデータが解読できない構成要素になる、自動的な無駄な復号化の試みになる。
【００２３】
いくらかの実施例において、キーを保持するレジスタが外部からアクセス可能ではないので、キーのコピーは存在することができない。いくらかの実施例において、メモリアレイ１８上のデータは自動的に暗号化及び復号化されるので、オリジナルの暗号化されたデータは、記憶装置１６が物理的に取り外される場合を除いて、通常は記憶装置１６の外部で見ることはできない。
【００２４】
一実施例において、記憶装置１６が電源を切られるとき、記憶装置１６は単に全てのデータを喪失し、最も高いレベルのセキュリティを保証する。記憶装置が一時的なデータを保持しているか、または格納されたデータが非常に細心の注意を払うべきデータである場合、この方法は有益であり得る。他の実施例において、断続的な電力の損失を回避するために、周知の技術が同様に使用され得る。
【００２５】
他の実施例によれば、キーアレイが、記憶装置１６内の内部の持続的なメモリに書き込まれ得る。キーアレイは、所定の装置固有キーを使用してキーを暗号化するために使用され得る。記憶装置は、電源を供給された場合、データを再暗号化し得るとともに、それによって、内部の持続的なメモリにおけるキーアレイのコピーを無用にする。更に別の実施例において、キーアレイのコピーを安全に削除するために他の技術が使用され得る。この場合、課題は、メモリディスク全体を安全に削除することから比較的小さな記憶媒体を安全に削除することまで減らされた。
【００２６】
別の実施例によれば、キーアレイは、外部の取外し可能な記憶媒体に書き込まれ得る。
【００２７】
一実施例において、キーアレイは、所定の装置固有キーを使用して、またはユーザ定義のキーを使用して暗号化され得る。この暗号化は、ユーザが記憶装置からキーアレイを切り離し、記憶装置の内容を攻撃者にとって価値がない状態にすることを可能にする。いくらかの実施例において、暗号化キーまたは暗号化キーの暗号化されたデータのいずれも、攻撃者には遠隔的にアクセス可能ではない。暗号化を回避するためにＬｉｎｕｘ（登録商標）の「ｄｄ」コマンドを使用する試みは、正しくないキーを使用して削除されたデータを復号化し、データを攻撃者にとって無用にする。
【００２８】
図２を参照すると、ブロックまたはメモリの他の粒度を読み出すために、ブロック読み出しシーケンス２２が、ソフトウェア、ファームウェア、及び／またはハードウェアにおいて実施され得る。一実施例において、シーケンス２２はコントローラ１７によって実施され得る。ソフトウェア及びファームウェアの実施例において、シーケンス２２は、磁気記憶装置、半導体記憶装置、または光記憶装置のような１つまたは複数の非一時的なコンピュータ読み取り可能な媒体に格納されるコンピュータで実行された命令によって実施され得る。
【００２９】
最初に、ブロック２４において、コントローラ１７によって記憶媒体からメモリのブロックが読み出される。その場合に、ブロック２６において示されたように、コントローラ１７は、ブロックの特有の暗号化キーを使用してブロックを復号化する。最後に、ブロック２８において、コントローラ１７は、プロセッサ１２（図１）にデータの復号化されたブロックを提供する。
【００３０】
ブロックをメモリアレイに書き込むために、図３におけるシーケンス３０が使用され得る。シーケンス３０は、ファームウェア、ハードウェア、及び／またはソフトウェアにおいて実施され得る。ソフトウェア及びファームウェアの実施例において、シーケンス３０は、磁気記憶装置、半導体記憶装置、または光記憶装置のような１つまたは複数の非一時的なコンピュータ読み取り可能な媒体に格納されるコンピュータで実行された命令によって実施され得る。一実施例において、シーケンス３０はコントローラ１７によって実施され得る。
【００３１】
ブロック３２において示されたように、例えばプロセッサ１２から、書き込まれるべきデータが獲得され得る。その場合に、ブロック３４において示されたように、コントローラ１７によって、データがブロックの暗号化キーを用いて暗号化される。その結果、ブロック３６において示されたように、コントローラ１７によって、暗号化されたデータが実際にアレイ１８に保存される。
【００３２】
図４に表示されるブロック消去シーケンス４０は、ファームウェア、ハードウェア、及び／またはソフトウェアにおいて実施され得る。ソフトウェア及びファームウェアの実施例において、シーケンス４０は、磁気記憶装置、半導体記憶装置、または光記憶装置のような１つまたは複数の非一時的なコンピュータ読み取り可能な媒体に格納されるコンピュータで実行された命令によって実施され得る。一実施例において、シーケンス４０はコントローラ１７によって実施され得る。
【００３３】
ブロック４２において、新しい暗号化キーを生成することによってシーケンスが始まる。その場合に、ブロック４４において示されたように、以前の暗号化キーに上書きしてブロックのキーレジスタに新しい暗号化キーが書き込まれる。これは、少なくとも記憶装置を取り外さなければ、プラットフォーム１０の残りの部分からの記憶装置へのアクセスを防止する結果を得る。
【００３４】
図５を参照すると、記憶装置１６は、回路基板５０に搭載され得る。いくらかの実施例において、回路基板５０は、パーソナルコンピュータのようなプラットフォームを実施するために使用され得る。しかし、回路基板５０は、数例をあげると、ラップトップコンピュータ、携帯電話、モバイルインターネットデバイス、タブレット、及びデスクトップコンピュータを含んでいる、多種多様なプロセッサベースの装置に関連して、同様に使用されるであろう。
【００３５】
回路基板５０は、はんだボール、ピンなど（図示せず）のような適切な相互接続子を有し得る回路基板５０のパッケージ４６を通して記憶装置１６に固定され得る。一実施例において、パッケージ４６の内部は単一の集積回路４８であり得る。しかしながら、他の実施例において、２つ以上の集積回路がパッケージの内部に提供され得る。いくらかの実施例において、例えば、別個の集積回路がコントローラ１７及びメモリアレイ１８に提供され得る。そのような場合、コントローラ及びメモリアレイは、ビア、配線のような相互接続子、または他の相互接続デバイスを使用して接続され得る。
【００３６】
いくらかの実施例において、図６に表示されるように、単一の集積回路４８は、コントローラ１７のための部分及びメモリアレイ１８のための部分を含み得る。従って、いくらかの実施例において、単一の集積回路は、コントローラ及びメモリアレイの両方を内蔵する。いくらかの実施例において、これは経済的であり得るとともに、比較的小さなフットプリントになり得る。
【００３７】
下記の節、及び／または例は、更なる実施例に関連する。：
一実例の実施例は、メモリに保存されるべきデータを暗号化キーを使用して暗号化することと、前記暗号化キーを消去することによって前記メモリのブロックを削除することとを含み、もし前記削除されたブロックがアクセスされたならば、前記削除されたブロックが正しくない暗号化キーを使用して自動的に復号化される、方法であり得る。方法は、前記メモリ内から暗号化することを含み得る。方法は、前記メモリに内蔵のコントローラを使用して前記ブロックを削除することを含み得る。方法は、前記コントローラに対する外部アクセスを防止することを含み得る。方法は、前記メモリ内の前記ブロックを削除するための命令を実行することを含み得る。方法は、複数のブロックを前記メモリに保存することと、各ブロックに対する暗号化キーを前記メモリ内に保存することを含み得る。方法は、更に、前記メモリを収容したパッケージ内のコントローラを使用して前記メモリに書き込むこと及び前記メモリから読み出すことを含み得る。方法は、同じダイの上に集積されたメモリ及びコントローラを使用することを含み得る。方法は、前記暗号化キーをユーザにとってアクセス不能にすることを含み得る。方法は、更に、前記暗号化されたデータを削除のあとで読み出し不能にすることを含み得る。
【００３８】
一実例の実施例は、メモリに保存されるべきデータを暗号化キーを使用して暗号化することと、前記暗号化キーを消去することによって前記メモリのユニットを削除することとを含み、もし前記削除されたユニットがアクセスされたならば、正しくない暗号化キーが復号化を試みるために使用される、シーケンスをコントローラに実行させる命令を格納した非一時的なコンピュータ読み取り可能な媒体であり得る。媒体は、更に、前記メモリ内から暗号化することを含み得る。媒体は、更に、前記メモリに内蔵のコントローラを使用して前記ユニットを削除することを含み得る。媒体は、更に、前記コントローラに対する外部アクセスを防止することを含み得る。媒体は、更に、前記メモリ内の前記ユニットを削除するための命令を実行することを含み得る。媒体は、更に、複数のメモリユニットを前記メモリに保存することと、各ユニットに対する暗号化キーを前記メモリ内に保存することを含み得る。媒体は、更に、メモリパッケージ内のコントローラを使用して前記メモリに書き込むこと及び前記メモリから読み出すことを含み得る。
【００３９】
別の実例の実施例は、メモリであって、メモリアレイと、前記メモリに保存されるべきデータを暗号化キーを使用して暗号化するために前記アレイに結合されるとともに、前記暗号化キーを消去することによってメモリのブロックを削除するコントローラとを備え、もし前記削除されたブロックがアクセスされたならば、前記削除されたブロックが正しくない暗号化キーを使用して自動的に復号化される、メモリであり得る。メモリは、更に、前記メモリ内に存在する前記コントローラを含み得る。メモリは、前記メモリアレイを取り囲むパッケージ内に存在する前記コントローラを含み得る。メモリは、前記メモリ内から暗号化する前記コントローラを含み得る。メモリは、前記コントローラに対する外部アクセスを防止する前記コントローラを含み得る。メモリは、前記メモリ内の前記ブロックを削除するための命令を実行する前記コントローラを含み得る。メモリは、複数のメモリブロックを含むとともに、各ブロックに対する暗号化キーを前記メモリ内に保存し得る。メモリは、同じダイの上に集積される前記コントローラ及び前記メモリアレイを含み得る。
【００４０】
一実例の実施例は、プロセッサと、メモリに保存されるべきデータを暗号化キーを使用して暗号化するために前記プロセッサに結合されるとともに、前記暗号化キーを消去することによってメモリのブロックを削除するメモリとを備え、もし前記削除されたブロックがアクセスされたならば、前記削除されたブロックが正しくない暗号化キーを使用して自動的に復号化される、システムであり得る。システムは、前記メモリ内に存在する前記プロセッサを含み得る。前記システムは、前記メモリ内から暗号化する前記プロセッサを含み得る。システムは、前記プロセッサに対する外部アクセスを防止する前記プロセッサを含み得る。システムは、更に、前記メモリ内の前記ブロックを削除するための命令を実行する前記プロセッサを含み得る。
【００４１】
「一実施例」または「実施例」に対する本明細書を通した言及は、上記実施例に関連して説明された特定の特徴、構造、または特性が本発明に包含される少なくとも１つの具体化に含まれているということを意味している。従って、「一実施例」または「実施例において」の語句の記載は、必ずしも同じ実施例を参照している訳でない。更に、特定の構成、構造、または特性は、例証された特定の実施例以外の他の適切な形態で導入され得るとともに、そのような形態の全ては、本出願の特許請求の範囲内に包含され得る。
【００４２】
本発明が限定数の実施例に関して説明されたが、当業者は、それらから多数の変更及び変形を認識することになる。本発明の真の趣旨及び範囲内に収まるように、特許請求の範囲に記載の請求項がそのような変更及び変形の全てを包含することが意図される。
【符号の説明】
【００４３】
１０    プラットフォーム
１２    プロセッサ
１４    入出力装置
１６    記憶装置
１７    オンボードコントローラ
１８    メモリアレイ
２０    暗号化キーストア
４６    パッケージ
４８    集積回路
５０    回路基板
【図１】
2015529064.tif 000003
【図２】
2015529064.tif 000004
【図３】
2015529064.tif 000005
【図４】
2015529064.tif 000006
【図５】
2015529064.tif 000007
【図６】
2015529064.tif 000008
【国際調査報告】
2015529064.tif 000009
2015529064.tif 000010