JP2015070608A - 永続的メモリへのデータ格納 - Google Patents

永続的メモリへのデータ格納 Download PDF

Info

Publication number
JP2015070608A
JP2015070608A JP2014172283A JP2014172283A JP2015070608A JP 2015070608 A JP2015070608 A JP 2015070608A JP 2014172283 A JP2014172283 A JP 2014172283A JP 2014172283 A JP2014172283 A JP 2014172283A JP 2015070608 A JP2015070608 A JP 2015070608A
Authority
JP
Japan
Prior art keywords
encryption key
memory
event
memory controller
data
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.)
Pending
Application number
JP2014172283A
Other languages
English (en)
Inventor
エム. アルトマン、アシャー
M Altman Asher
エム. アルトマン、アシャー
エス. ヤップ、カーク
S Yap Kirk
エス. ヤップ、カーク
ケー. ラマヌジャン、ラジ
K Ramanujan Raj
ケー. ラマヌジャン、ラジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2015070608A publication Critical patent/JP2015070608A/ja
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】低コストな永続的メモリへデータを安全に格納するシステムを提供する。
【解決手段】メモリコントローラ100は暗号鍵でデータを暗号化すべく構成され、暗号化データは永続的メモリ115に格納される。メモリコントローラ100はさらに、リセットイベントに応答して、暗号鍵を変更および/または破壊すべく構成される。
【効果】たとえ暗号化データを永続的メモリ115から取り出しても、暗号/復号鍵は使用できず、データの復号化を不可能とする。
【選択図】図1

Description

本発明の実施形態は概してメモリの技術分野に関する。特定の実施形態は、永続的(不揮発)メモリを安全に用いて揮発メモリをエミュレートする方法を含む。
本開示の背景を概して提示する目的で、本明細書に背景技術を記載する。ここに名を挙げられている発明者の研究は、背景技術の章で説明される範囲において、出願時に従来技術として別途みなし得ない記述の態様とともに、明示的にも暗示的にも本開示に対して従来技術とは認められない。本明細書中に示されない限り、この章で説明されるアプローチは本開示の請求項に対する先行技術ではなく、この章に含まれることで先行技術であると認められるものでもない。
現在、コンピューティングデバイスは1または複数個のダイナミックランダムアクセスメモリ(DRAM)またはその他のタイプの揮発性メモリと呼ばれる揮発性メモリを含み得る。揮発性メモリは、あるシステムイベントの発生に際して失われてもよいデータを格納すべく構成され得る。多くの場合、これらのシステムイベントは、システムのリセットイベント、システムのシャットダウンイベントまたはその他のシステムイベントなど、電源に関係したものであり得る。
揮発性メモリに格納されたデータは、システムの電源イベントが発生すると失われる、または変更され得るので、揮発性メモリはシステムメモリとして使用されるのによく適し得る。すなわち、ワードプロセッシングなどのアプリケーションの情報または表計算アプリケーションの情報などのシステム情報は、コンピューティングシステムの動作中はDRAMに格納され得るということである。複数の実施形態において、システムメモリとして揮発性メモリを使うと、比較的安全であると考えられ得る。なぜなら、以後永続しなくともよい、揮発性メモリに格納されるシステム情報は、システムの電源イベントの発生で失われてもよい(もはやアクセスできなくともよい)からである。
添付の図面と併せて、以下の詳細な説明により、複数の実施形態が容易に理解されるであろう。説明し易くするために、同じ参照番号は同じ構成要素を指す。複数の実施形態は、例として説明されるのであり、添付の図面の図に限定するものとしてではない。
さまざまな実施形態による、メモリコントローラの例を示す。 さまざまな実施形態による、永続的メモリにデータを格納する処理の例を示す。 さまざまな実施形態による、永続的メモリに格納されたデータを復号化する処理の例を示す。 さまざまな実施形態による、本明細書中で記載される方法を実行すべく構成されたシステムの例を示す。
以下の詳細な説明においては、添付の図面を参照する。添付の図面は本明細書の一部を成し、全体にわたって同じ番号は同じ部分を示しており、実施され得る実施形態が例示として示されている。他の実施形態が使用され、本開示の範囲から逸脱することなく、構造的または論理的な変更が成され得ることは理解されよう。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきでなく、実施形態の範囲は添付の特許請求の範囲およびそれと等価なものによって定義される。
永続的メモリにデータを安全に格納することに関連する装置、方法および記憶媒体が本明細書で記載される。通常は揮発性メモリに格納され得るデータを、永続的メモリを使用し格納すれば、揮発性メモリを使用するよりも低コストでより大きなメモリ容量を供給し得る。しかしながら、いくつかの場合において、データが揮発性メモリに格納される場合であれば失われる、または破壊されるような状況において、永続的メモリはデータを保持し得る。
複数の実施形態において、メモリコントローラは、システムのリセットイベントが発生してアクセスできなくなり得るデータを安全に格納することで、永続的メモリが揮発メモリをエミュレートできるように構成され得る。具体的には、メモリコントローラは暗号鍵を生成し、その暗号鍵でデータを暗号化し得る。そして暗号化データは永続的メモリに格納され得る。暗号鍵は永続的メモリまたは揮発性メモリのいずれかに格納され得る。いくつかの実施形態で、メモリコントローラは暗号鍵を用いて、永続的メモリにすでに格納されたデータを暗号化すべく構成され得る。システムがシステムのシャットダウン、リスタートまたは電源喪失などのリセットイベントを経験すると、暗号鍵および/または、暗号鍵から導出される復号鍵は変更または破壊され得る。その結果、たとえ暗号化データを永続的メモリから取り出す、またはアクセスできても、暗号/復号鍵が使用できないので、データの復号化は不可能といえる。それゆえ、永続的メモリへデータを格納すると、揮発性メモリへ格納する場合のセキュリティ上の利点と、低コストでメモリ容量を増やすといった永続的メモリの利点とを合わせて経験し得る。
さまざまなオペレーションを、クレームされた主題の理解を最も助ける方法で、順に、複数の別個の動作またはオペレーションとして説明するであろう。しかしながら、その説明の順序を、これらのオペレーションが必ず順序に依存すると暗示しているものと解釈するべきではない。具体的に、これらのオペレーションは提示の順に実行されなくともよい。説明されるオペレーションは、説明される実施形態とは異なる順序で実行され得る。追加でさまざまなオペレーションが実行され得て、および/または、説明されるオペレーションは追加の実施形態においては省略され得る。
本開示の目的のために、「Aおよび/またはB」および「AまたはB」という表現は、(A)、(B)または(AおよびB)を意味する。本開示の目的のために、「A、B、および/またはC」という表現は、(A)、(B)、(C)、(AおよびB)、(AおよびC)(BおよびC)、または(A、BおよびC)を意味する。
説明には、「一実施形態において」または「複数の実施形態において」という表現を用いるであろう。それぞれは、同じまたは異なる実施形態のうちの1または複数のことを指し得る。さらに、本開示の実施形態に関して使用される、「備える(comprising)」、「含む(including)」、「有する(having)」、などの用語は同義である。
本明細書で使用されるように、「モジュール」という用語は、特定用途向け集積回路(ASIC)、電子回路、1または複数のソフトウェアまたはファームウェアプログラムを実行するプロセッサ(共有、専用、またはグループ)および/またはメモリ(共有、専用、またはグループ)、組み合わせ論理回路、および/または説明される機能を提供する他の適したコンポーネント、を指すか、の一部であるか、または含み得る。本明細書で使用されるように「コンピュータで実施される方法」とは、1または複数のプロセッサ、1または複数のプロセッサを有するコンピュータシステム、(1または複数のプロセッサを含み得る)スマートフォン、タブレット、ラップトップコンピュータ、セットトップボックス、ゲームコンソールなどのモバイルデバイス、などによって実行される任意の方法を指し得る。
図1は、プロセッサ102および永続的メモリ115に連結され得るメモリコントローラ100を例示している。いくつかの実施形態において、永続的メモリ115は、例えば不揮発性メモリと呼ばれてもよく、永続的メモリは、強誘電体ランダムアクセスメモリ(FeTRAM)、ナノワイヤベースの不揮発性メモリ、相変化メモリ(PCM)などの三次元(3D)クロスポイントメモリ、バイトアドレッシング可能クロスポイントメモリ、メモリスタ技術を組み込んだメモリ、磁気抵抗ランダムアクセスメモリ(MRAM),スピントランスファートルク(STT)MRAM、または、システムメモリとして使用され得る他のタイプの不揮発性メモリであってよい。メモリコントローラ100は乱数生成器105を備え得る。いくつかの実施形態において、乱数生成器105はデジタル乱数生成器、または任意のタイプのハードウェア乱数生成器、ソフトウェア乱数生成器、またはファームウェア乱数生成器であってよい。いくつかの実施形態において、乱数生成器105は256ビットのAES(advanced encryption standard)鍵ペアなどのAES鍵を生成すべく構成され得る。他の実施形態においては、乱数生成器105は乱数または疑似乱数を生成すべく構成されてもよい。いくつかの実施形態において、乱数生成器105は、Wichmann−Hill PRNG、線形フィードバックシフトレジスタ、メルセンヌツイスタ、Naor−Reingold疑似乱数関数または他のPRNGなどの疑似乱数生成器(PRNG)であってもよい。いくつかの実施形態において乱数生成器105は、別名、真性乱数発生器(TRNG)として知られるハードウェアの乱数生成器であってよい。TRNGは、Araneus Alea TRNG、エントロピー鍵TRNG、または乱数を生成すべく構成されるいくつかの異なるチップセットのうちの1つであってよい。他の実施形態において、乱数生成器105は、ブロック暗号またはストリーム暗号などの1または複数の暗号アルゴリズムを含んでもよい。乱数生成器105は、追加的にまたは代替的に他の鍵生成技術、乱数生成技術、または疑似乱数生成技術を使用してもよい。
乱数生成器105は暗号部/復号部110に連結されてもよい。暗号部/復号部110は、乱数生成器105によって生成されるAES鍵または256ビットAES鍵ペアなどの暗号鍵を用いてデータの暗号化または復号化をすべく構成されるXTS−AES(Xor−encrypt−Xor based tweaked−codebook mode with ciphertext stealing AES)暗号部/復号部であってもよい。代替的に、暗号部/復号部110は乱数生成器105から乱数または疑似乱数を受信し、乱数生成器105に関して上述したように鍵または鍵ペアを生成すべく構成されてよい。他の実施形態においては、暗号部/復号部110は、AES LRW(Liskov Rivest and Wagner)モードなどの他のタイプの暗号化/復号化アルゴリズムを用いてもよい。
暗号部/復号部110はさらに1または複数の通信回線116を介して永続的メモリ115に連結されてもよい。1または複数の通信回線116は、例えば、「メモリバス」と呼ばれてよい。以下にさらに詳しく説明するように、暗号部/復号部110またはメモリコントローラ100の他の要素は、データを暗号化し、暗号化データを格納するために永続的メモリ115へ出力すべく構成され得る。他の実施形態においては、暗号部/復号部110は永続的メモリ115にすでに格納されたデータを暗号化すべく構成されてもよい。他の実施形態においては、暗号部/復号部110はさらに永続的メモリ115から暗号化データを受信し、暗号鍵を使って暗号化データを復号化するか、または代替的に、初めに永続的メモリ115から暗号化データを取り出すことなく、永続的メモリ115からの暗号化データを復号化すべく構成され得る。
複数の実施形態において、メモリコントローラ100はさらにセキュリティ管理ロジック120および/またはメモリ管理ロジック125を備え得る。一般的に、セキュリティ管理ロジック120は乱数生成器105に連結されてもよく、乱数生成器105に命令して1または複数の乱数または暗号鍵を生成し出力させるべく構成され得る。例えば、セキュリティ管理ロジック120は乱数生成器105にシード値または変数を供給すべく構成され得る。
メモリ管理ロジック125は、1または複数の外部の通信回線106とともに、少なくとも暗号部/復号部110に連結されてもよい。1または複数の外部の通信回線106は、通信回線または、メモリコントローラ100をプロセッサ102に通信可能に連結すべく構成されるPCI(Peripheral component interconnect)バスまたはPCIエクスプレスバスなどの通信バスであってよい。メモリ管理ロジック125は、永続的メモリ115に書き込むべきデータを、外部の通信回線106を通してプロセッサ102から受信し、それから暗号部/復号部110にデータを供給すべく構成され得る。複数の実施形態において、データは実行される暗号化のタイプなどの暗号化の命令とともに、プロセッサ102から供給され得る。メモリ管理ロジック125はさらに外部の通信回線106を介して情報をプロセッサ102に送出すべく構成され得る。例えば、メモリ管理ロジック125は、暗号部/復号部110から、暗号部/復号部110で用いた暗号鍵を受信し、それから外部の通信回線106を介してその暗号鍵をプロセッサ102へ送出し得る。追加的にまたは代替的に、メモリ管理ロジック125は暗号部/復号部110から復号化されたデータを受信し、外部の通信回線106を介してその復号化されたデータをプロセッサ102に送出し得る。
追加的にまたは代替的に、上述したように、暗号部/復号部110は、通信回線116を通して永続的メモリ115から暗号化データにアクセス、または暗号化データを取り出し、暗号化動作中に用いられた暗号鍵を使って暗号化データを復号化すべく構成され得る(復号化動作は暗号化動作の逆である)。いくつかの実施形態において、暗号部/復号部110は永続的メモリ115に格納された暗号化データにアクセスし、暗号鍵を使って暗号化データを復号化し得て、復号化されたデータのみが通信回線116を通してメモリコントローラ100に伝送されるようにする。他の実施形態において、暗号化データの一部または全部は、通信回線116を通して、永続的メモリから暗号部/復号部110へ送信され得る。暗号化データは暗号鍵を用いて暗号部/復号部110において復号化される。例として、暗号/復号鍵または暗号/復号鍵を導出するために用いられる乱数または疑似乱数は、乱数生成器105によって供給され得る。または、暗号/復号鍵は、外部の通信回線106を通してメモリ管理ロジック125によって、例えば、メモリコントローラ100に連結される揮発性メモリから外部の通信回線106を通して取り出され、暗号化/復号化すべく暗号部/復号部110へ供給され得る。暗号部/復号部110が暗号/復号鍵を用いて暗号化データを復号化した後、暗号部/復号部110はメモリ管理ロジック125へデータを出力し得て、それからメモリ管理ロジック125は、1または複数の通信回線106を介してそのデータをプロセッサ102へ送出し得る。複数の実施形態において、暗号部/復号部110は、リセットに際して、暗号/復号鍵を変更、破壊、あるいは失うべく構成されてもよい。複数の実施形態において、上述したように、暗号部/復号部110は、乱数生成器105によって供給される暗号鍵から復号鍵を相補的に導出し得て、または乱数生成器105によって供給される乱数から暗号化および復号鍵の両方を相補的に導出し得る。
複数の実施形態において、セキュリティ管理ロジック120、乱数生成器105、暗号部/復号部110およびメモリ管理ロジック125は、システムオンチップ(SoC)アーキテクチャとしてメモリコントローラ100に全部が実装されてもよい。他の実施形態では、セキュリティ管理ロジック120、乱数生成器105、暗号部/復号部110およびメモリ管理ロジック125のうちの1または複数は、メモリコントローラ100とは別に、しかし通信可能に結合されてもよい。いくつかの実施形態において、メモリ管理ロジック125およびセキュリティ管理ロジック120、またはメモリ管理ロジック125および暗号部/復号部110などの1または複数の要素は、組み合わされてもよい。または、いくつかの実施形態では、暗号部/復号部110は、個々の暗号部および個々の復号部に分離されてもよい。上述したように、いくつかの実施形態においては、セキュリティ管理ロジック120、乱数生成器105、暗号部/復号部110およびメモリ管理ロジック125のうちの1または複数は、ソフトウェア、ハードウェアおよび/またはファームウェアとして実装されてもよい。
図2は、本開示の実施形態を実施する目的でメモリコントローラ100などのメモリコントローラによって用いられ得る処理の例を示す。最初に、メモリコントローラは200においてデータを受信し得る。上述したように、例えば、データは通信回線106を通してメモリコントローラによってプロセッサ102から受信され得る。具体的には、メモリコントローラ100のメモリ管理ロジック125などのメモリ管理ロジックは、外部の通信回線106を通してデータを受信し得る。
次に、メモリコントローラは、205において、暗号鍵を用いてデータを暗号化し得る。例えば、メモリコントローラ100の暗号部/復号部110などのメモリコントローラの暗号部/復号部は、乱数生成器105などの乱数生成器から暗号鍵を受信(あるいは導出)し得る。暗号部/復号部はまた、メモリ管理ロジックからデータを受信し得て、暗号部/復号部がデータを暗号化し得るようにする。データを暗号化した後、メモリコントローラは210において、永続的メモリ115などの永続的メモリに暗号化データを格納し得る。図示していないが、他の実施形態においては、データは永続的メモリに格納されてよく、それから暗号鍵を用いて、その格納されたデータを暗号化してもよい。
それからメモリコントローラは215において、暗号鍵を格納し得る。いくつかの実施形態において、暗号鍵は永続的メモリに格納されてよい。例えば、暗号鍵は永続的メモリ115などの永続的メモリの1または複数の非連続レジスタに格納され得る。他の実施形態では、暗号鍵はメモリコントローラから、通信回線を通して、ダイナミックランダムアクセスメモリ(DRAM)または他の揮発性メモリへ送信されてもよい。
メモリコントローラはそれから、220において、システムのリセットイベントの監視をしてもよい。システムのリセットイベントは、通常は揮発性メモリのコンテンツが失われるイベントであると、一般に考えられ得る。例として、システムのリセットイベントは、システムの電源の喪失、システムのシャットダウン、システムのリスタートまたは他のイベントであり得る。いくつかの実施形態では、システムのリセットイベントは、例えばシステムのプロセッシング要素および/またはメモリのあるサブセクションなどの、システムの一部分に関係するのみであり得る。システムのリセットイベントは、通信回線106などの通信回線を通して、メモリコントローラがプロセッサ102などのプロセッサから受信するプラットフォームリセット信号によってシグナリングされ得る。システムのリセットイベントは、追加的にまたは代替的に、通信回線を通してメモリコントローラがプロセッサから受信するプラットフォームの電源イベントの通知によって、またはメモリコントローラが受信する他のタイプの通知または信号によってシグナリングされ得る。いくつかの実施形態において、システムのリセットイベントはメモリコントローラが受信するイベントメッセージであり得る。または、システムのリセットイベントはリセットピンまたは他のイベントピンなどの信号、または、メモリコントローラの1または複数の電源入力上の電源喪失であり得る。
システムのリセットイベントが220において検出されると、メモリコントローラはシステムのリセットイベントを監視し続け得る。しかしながら、システムのリセットイベントが検出されると、メモリコントローラは225において暗号鍵を変更および/または破壊し得る。例えば、暗号鍵が215において永続的メモリに格納されると、メモリコントローラは永続的メモリにおいて暗号鍵をゼロ化し得る。ゼロ化は、1または複数回、暗号鍵のメモリロケーション全域にわたりオール0などの値を書き込む段階を含み、暗号鍵を永続的メモリから取り出すことができないようにする。他の実施形態では、暗号鍵のメモリロケーションへのポインタは削除され得る。または、1または複数回、1または、0および1のパターンなどの他の値が暗号鍵のメモリロケーションに書き込まれ得る。暗号鍵が揮発性メモリに格納される複数の実施形態においては、リセットイベントが発生すると暗号鍵は揮発性メモリから失われ得る。いくつかの実施形態では、暗号鍵が揮発性メモリに格納される場合、暗号鍵はやはりゼロ化され得る。その後処理は230で終了し得る。
225において暗号鍵を変更および/または破壊した結果、暗号鍵が格納されたメモリから暗号鍵を取り出すことが困難または不可能になり得る。それゆえ、たとえ暗号化データが永続的メモリに格納されたとしても、そのデータを復号化することは困難または不可能といえる。その結果、データは安全であるとみなし得て、永続的メモリは揮発性メモリに格納する場合のセキュリティレベルをエミュレートし得る。
図3は、図2の処理を用いて暗号化されたデータを復号化する処理を示す。この処理は、メモリコントローラ100などのメモリコントローラによって実行され得る。最初に、300において、暗号鍵が識別される。複数の実施形態において、暗号鍵はメモリ管理ロジック125などのメモリ管理ロジックおよび/または暗号部/復号部110などの暗号部/復号部によって識別され得る。上述したように、いくつかの実施形態では、暗号鍵は永続的メモリ115のような永続的メモリに格納され得る。他の実施形態においては、暗号鍵は、メモリコントローラに通信可能に結合される揮発性メモリに格納され得る。
それからメモリコントローラは305において、暗号鍵が存在するかどうか決定し得る。いくつかの実施形態において、暗号鍵は存在し得ない。例えば、図2を参照して上述したように、システムのリセットイベントが発生する場合、暗号鍵は、ゼロ化、変更、あるいは削除されるであろう。それゆえ、暗号鍵は識別不可能であり、この処理は320で終了し得る。また別に、暗号鍵が存在する場合は、310において暗号化データはメモリコントローラによって識別され、および/または永続的メモリから取り出され得る。具体的に、暗号化データは、メモリコントローラ100のメモリ管理ロジック125および/または暗号部/復号部110のうちの1つまたは両方によって取り出され得る。それから暗号化データは、識別された暗号鍵を用いて、315において、暗号化動作とは逆の復号化動作を適用して暗号部/復号部110によって復号化され得る。いくつかの実施形態において、復号化されたデータは次にメモリコントローラから出力され得る。それから、この処理は320で終了し得る。
複数の実施形態において、前述したように、復号鍵は暗号鍵から、または暗号鍵が導出されるものと同じ乱数から、導出され得る。これらの実施形態に、図3の処理は、215および220におけるオペレーションと同様のオペレーションを含み得て、復号鍵を破壊するか、あるいは失う。
図4は、さまざまな実施形態による、前述のメモリコントローラ100および/または永続的メモリ115などのシステムが組み込まれ得るコンピューティングデバイス400の例を示す。コンピューティングデバイス400はまた、いくつかのコンポーネント、1または複数のプロセッサ404、および少なくとも1つの通信チップ406を備え得る。前述したように、メモリコントローラ100は、永続的メモリ115に暗号化データを格納することによって揮発性メモリをエミュレートすべく構成され得る永続的メモリ115に連結され得る。さらに、メモリコントローラ100は、データを暗号化または復号化するために用いた暗号鍵および/または復号鍵を破壊する、および/または、そうでなければ失うべく構成され得る。
さまざまな実施形態において、1または複数のプロセッサ404のそれぞれは、1または複数のプロセッサコアを含み得る。さまざまな実施形態において、少なくとも1つの通信チップ406は1または複数のプロセッサ404と物理的に、および電気的に結合され得る。さらなる実装においては、通信チップ406は、1または複数のプロセッサ404の一部であり得る。さまざまな実施形態において、コンピューティングデバイス400は、プリント回路板(PCB)402を含み得る。これらの実施形態では、PCB上に1または複数のプロセッサ404および通信チップ406が配置され得る。別の実施形態においては、さまざまなコンポーネントが、PCB402を用いずに連結され得る。
用途に従い、コンピューティングデバイス400はPCB402と物理的に、および電気的に結合し得る、またはし得ない他のコンポーネントを含み得る。これらの他のコンポーネントは、限定はされないが、メモリコントローラ100、リードオンリメモリ410(ROM)などの不揮発性メモリ、永続的メモリ115、I/Oコントローラ414、デジタル信号プロセッサ(図示せず)、暗号プロセッサ(図示せず)、グラフィックスプロセッサ416、1または複数のアンテナ418、ディスプレイ(図示せず)、タッチスクリーンディスプレイ420、タッチスクリーンコントローラ422、バッテリ424、オーディオコーデック(図示せず)、ビデオコーデック(図示せず)、全地球測位システム(GPS)デバイス428、コンパス430、加速度計(図示せず)、ジャイロスコープ(図示せず)、スピーカ432、カメラ434、および大容量記憶装置(ハードディスクドライブ、ソリッドステートドライブ、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)(図示せず)など)などを含む。さまざまな実施形態において、プロセッサ404は他のコンポーネントと共に同一ダイ上に集積され得て、システムオンチップ(SoC)を形成する。上述したように、永続的メモリ115は、FeTRAM、ナノワイヤベースの不揮発性メモリ、PCMなどの3Dクロスポイントメモリ、バイトアドレッシング可能クロスポイントメモリ、メモリスタ技術を組み込んだメモリ、MRAM,STT MRAM、または、システムメモリとして使用され得る他のタイプの不揮発性メモリであってよい。
さまざまな実施形態において、永続的メモリ115に加えて、コンピューティングデバイス400は、レジデントで永続的な、すなわち不揮発性メモリ、例えばフラッシュメモリ(図示せず)など、を含み得る。いくつかの実施形態において、1または複数のプロセッサ404および/またはフラッシュメモリは関連付けられるファームウェア(図示せず)を含み得る。このファームウェアは、1または複数のプロセッサ404によるプログラミング命令の実行に応答して、コンピューティングデバイス400が、図2または図3に関して上述したブロックの全ての態様または選択された態様を実施できるように構成されたプログラミング命令を格納する。さまざまな実施形態において、これらの態様は、追加的にまたは代替的に、1または複数のプロセッサ404またはフラッシュメモリとは隔たれたハードウェアを用いて実装され得る。
通信チップ406は、コンピューティングデバイス400へ、およびコンピューティングデバイス400から、データを伝送すべく、有線通信および/または無線通信を可能にし得る。「無線」という用語およびその派生語は、非固体媒体を通して、変調された電磁放射を使用してデータを伝え得る回路、デバイス、システム、方法、技術、通信チャネル、などを記述するために用いられ得る。この用語は、関連付けられるデバイスが1本もワイヤを持たないことを暗示してはいないが、いくつかの実施形態においては持たなくてもよい。通信チップ406は、限定はしないが、IEEE 802.20、汎用パケット無線サービス(GPRS)、Ev−DO(Evolution Data Optimized)、HSPA+(Evolved High Speed Packet Access)、HSDPA+(Evolved High Speed Downlink Packet Access)、HSUPA+(Evolved High Speed Uplink Packet Access)、GSM(登録商標)(Global System for Mobile Communications)、EDGE(Enhanced Data Rates for GSM(登録商標) Evolution)、符号分割多元接続(CDMA)(登録商標)、時分割多元接続(TDMA)、DECT(Digital Enhanced Cordless Telecommunications)、Bluetooth(登録商標)、これらの派生、ならびに3G、4G、5Gおよびその次の世代として指定される任意の他の無線プロトコルをはじめとするいくつかの無線規格または無線プロトコルのいずれかを実装し得る。コンピューティングデバイス400は複数の通信チップ406を含み得る。例として、第1の通信チップ406は、Wi−Fi(登録商標)およびBluetooth(登録商標)などの、より近い距離の無線通信専用であってよく、第2の通信チップ406は、GPS、EDGE、GPRS、CDMA(登録商標)、WiMAX(登録商標)、LTE、Ev−DOその他の、より長い距離の無線通信専用であってもよい。
さまざまな実装において、コンピューティングデバイス400は、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、コンピューティングタブレット、携帯情報端末装置(PDA)、ウルトラモバイルPC、携帯電話、デスクトップコンピュータ、サーバ、プリンタ、スキャナ、モニタ、セットトップボックス、エンターテインメントコントロールユニット(例えば、ゲームコンソールなど)、デジタルカメラ、携帯音楽プレーヤ、またはデジタルビデオレコーダであり得る。さらなる実装において、コンピューティングデバイス400はデータを処理する任意の他の電子デバイスであり得る。
複数の実施形態において、本開示の第1の例は、暗号鍵を変更する装置を含み得る。その装置は、永続的メモリにデータを格納する前にデータを暗号化するために用いられた暗号鍵を、リセットイベントに応答して、変更または破壊すべく構成されるメモリコントローラを備え得て、永続的メモリはメモリコントローラによって制御される。
例2は、例1の装置を含み得て、さらにメモリコントローラに連結される永続的メモリを備える。
例3は、例1の装置を含み得て、さらに暗号鍵を格納すべく構成される格納メモリを備える。
例4は例3の装置を含み得て、格納メモリはメモリコントローラに連結される揮発性メモリを備える。
例5は例3の装置を含み得て、格納メモリは、永続的メモリの複数の非連続レジスタを含み、暗号鍵は複数の非連続レジスタのうちの1または複数に格納される。
例6は例1から例5のうちのいずれかの装置を含み、メモリコントローラは暗号鍵をゼロ化して暗号鍵を破壊すべく構成される。
例7は例1から例5のうちのいずれかの装置を含み、メモリコントローラはさらに、リセットイベントに応答して、暗号鍵と相補的な復号鍵を変更または破壊すべく構成される。
例8は例1から例5のうちのいずれかの装置を含み、ここでリセットイベントは電源喪失イベント、シャットダウンイベントまたはリスタートイベントを含む。
例9は暗号化データを格納する方法を含み得る。この方法は、メモリコントローラが少なくとも一部は暗号鍵に基づきデータを暗号化して暗号化データを作成する段階と、メモリコントローラが暗号化データを不揮発性メモリに格納する段階と、メモリコントローラがリセットイベントのインジケーションを受信する段階と、メモリコントローラがリセットイベントのインジケーションの受信に応答して暗号鍵を破壊する段階と、を備える。
例10は例9の方法を含み得て、破壊する段階は暗号鍵を上書きする段階を備える。
例11は例9の方法を含み得て、破壊する段階は暗号鍵をゼロ化する段階を備える。
例12は例9から例11のうちのいずれかの方法を含み得て、破壊する段階はさらに、リセットイベントに応答して、暗号鍵と相補的な復号鍵を破壊する段階を備える。
例13は例9から例11のうちのいずれかの方法を含み得て、ここでリセットイベントとは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである。
例14は、暗号鍵を破壊する命令を備える1または複数のコンピュータ可読媒体を含み得る。この命令は、メモリコントローラがこの命令を実行すると、メモリコントローラに、リセットイベントのインジケーションを受信させ、リセットイベントのインジケーションに応答して、メモリコントローラによって制御される永続的メモリにデータを格納する前にデータを暗号化するために用いられた暗号鍵を破壊させるべく構成される。
例15は例14の1または複数のコンピュータ可読媒体を含み得て、メモリコントローラに暗号鍵を破壊させる。
例16は例14の1または複数のコンピュータ可読媒体を含み得て、メモリコントローラに暗号鍵をゼロ化させて暗号鍵を破壊する。
例17は例14から例16のうちのいずれかの1または複数のコンピュータ可読媒体を含み得て、メモリコントローラに暗号鍵または暗号鍵と相補的な復号鍵で暗号化データを復号化させる。
例18は例14から例16のうちのいずれかの1または複数のコンピュータ可読媒体を含み得て、さらにメモリコントローラに、リセットイベントに応答して、暗号鍵と相補的な復号鍵を破壊させる。
例19は例14から例16のうちのいずれかの1または複数のコンピュータ可読媒体を含み得て、ここでリセットイベントとは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである。
例20は暗号鍵を破壊する装置を含み得る。その装置は、リセットイベントのインジケーションを受信する手段と、リセットイベントのインジケーションに応答して、永続的メモリにデータを格納する前にデータを暗号化するために用いられた暗号鍵を破壊する手段と、を備える。
例21は例20の装置を含み得て、破壊する手段は暗号鍵をゼロ化して暗号鍵を破壊する手段を含む。
例22は例20または例21のいずれかの装置を含み得て、さらに、暗号鍵または暗号鍵と相補的な復号鍵で暗号化データを復号化する手段を備える。
例23は例20または例21のいずれかの装置を含み得て、さらに、リセットイベントに応答して、暗号鍵と相補的な復号鍵を破壊する手段を備える。
例24は例20または例21のいずれかの装置を含み得て、ここでリセットイベントとは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである。
例25は、暗号化データを格納すべく構成される永続的メモリと、永続的メモリに連結されるメモリコントローラであって、リセットイベントのインジケーションを受信し、リセットイベントのインジケーションに応答して、永続的メモリに暗号化データを格納する前にデータを暗号化するために用いられた暗号鍵を破壊すべく構成されるメモリコントローラと、を備えるシステムを含み得る。
例26は例25のシステムを含み得て、メモリコントローラはさらに、暗号鍵をゼロ化して暗号鍵を破壊すべく構成される。
例27は例25または例26のうちのいずれかのシステムを含み得て、メモリコントローラはさらに、暗号鍵または、暗号鍵と相補的な復号鍵で暗号化データを復号化すべく構成される。
例28は例25または例26のうちのいずれかのシステムを含み得て、メモリコントローラはさらに、リセットイベントに応答して、暗号鍵と相補的な復号鍵を破壊すべく構成される。
例29は例25または例26のうちのいずれかのシステムを含み得て、ここでリセットイベントとは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである。
ある実施形態が、説明する目的で本明細書にて例示され説明されてきたが、本願は本明細書で議論された実施形態に対するどのような改造された形態または変形形態をも網羅することが意図される。故に、本明細書にて記載された実施形態は、特許請求の範囲のみによって限定されることが明白に意図される。
本開示が「1つの(a)」要素または「第1の(a first)」要素、またはそれと同等の表現をする場合は、そのような開示は、1または複数のそのような要素を含み、2つ以上のそのような要素を必要としないし、除外もしない。さらに、識別された要素に対する序数標識(例えば、第1、第2または第3など)は、複数の要素を区別するために用いられ、そのような要素の必要な数または限定された数を示しも暗示もしておらず、また別途具体的に述べない限りは、そのような要素の特定の位置または順序を示しもしない。

Claims (23)

  1. 暗号鍵を変更する装置であって、
    リセットイベントに応答して、永続的メモリにデータを格納する前に前記データを暗号化する目的で用いられた暗号鍵を変更または破壊するメモリコントローラを備え、
    前記永続的メモリは前記メモリコントローラによって制御される
    装置。
  2. 前記メモリコントローラに連結される前記永続的メモリをさらに備える
    請求項1に記載の装置。
  3. 前記暗号鍵を格納する格納メモリをさらに備える
    請求項1に記載の装置。
  4. 前記格納メモリは前記メモリコントローラに連結される揮発性メモリを備える
    請求項3に記載の装置。
  5. 前記格納メモリは前記永続的メモリの複数の非連続レジスタを含み、前記暗号鍵は前記複数の非連続レジスタの1または複数に格納される
    請求項3に記載の装置。
  6. 前記メモリコントローラは前記暗号鍵をゼロ化して前記暗号鍵を破壊する
    請求項1から5のいずれか1項に記載の装置。
  7. 前記メモリコントローラはさらに、前記リセットイベントに応答して、前記暗号鍵と相補的な復号鍵を変更または破壊する
    請求項1から5のいずれか1項に記載の装置。
  8. 前記リセットイベントは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントを含む
    請求項1から5のいずれか1項に記載の装置。
  9. 暗号化データを格納する方法であって、
    メモリコントローラが、少なくとも一部は暗号鍵に基づきデータを暗号化して暗号化データを作成する段階と、
    前記メモリコントローラが、不揮発性メモリに前記暗号化データを格納する段階と、
    前記メモリコントローラが、リセットイベントのインジケーションを受信する段階と、
    前記メモリコントローラが、前記リセットイベントの前記インジケーションの受信に応答して、前記暗号鍵を破壊する段階と、を備える
    方法。
  10. 破壊する段階は前記暗号鍵を上書する段階を備える
    請求項9に記載の方法。
  11. 破壊する段階は前記暗号鍵をゼロ化する段階を備える
    請求項9に記載の方法。
  12. 破壊する段階はさらに、前記リセットイベントに応答して、前記暗号鍵と相補的な復号鍵を破壊する段階を備える
    請求項9から11のいずれか1項に記載の方法。
  13. 前記リセットイベントは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである
    請求項9から11のいずれか1項に記載の方法。
  14. 暗号化データを格納するシステムであって、
    暗号化データを格納する永続的メモリと、
    前記永続的メモリに連結されるメモリコントローラであって、
    リセットイベントのインジケーションを受信し、
    前記リセットイベントの前記インジケーションに応答して、前記永続的メモリに前記暗号化データを格納する前にデータを暗号化する目的で用いられた暗号鍵を破壊するメモリコントローラと、を備える
    システム。
  15. 前記メモリコントローラはさらに、前記暗号鍵をゼロ化して前記暗号鍵を破壊する
    請求項14に記載のシステム。
  16. 前記メモリコントローラはさらに、前記暗号鍵または前記暗号鍵と相補的な復号鍵で前記暗号化データを復号化する
    請求項14または15に記載のシステム。
  17. 前記メモリコントローラはさらに、前記リセットイベントに応答して、前記暗号鍵と相補的な復号鍵を破壊する
    請求項14または15に記載のシステム。
  18. 前記リセットイベントは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである
    請求項14または15に記載のシステム。
  19. 暗号鍵を破壊する装置であって、
    リセットイベントのインジケーションを受信する手段と、
    前記リセットイベントの前記インジケーションに応答して、永続的メモリにデータを格納する前に前記データを暗号化する目的で用いられた暗号鍵を破壊する手段と、を備える
    装置。
  20. 前記破壊する手段は、前記暗号鍵をゼロ化して前記暗号鍵を破壊する手段を含む
    請求項19に記載の装置。
  21. 前記暗号鍵または前記暗号鍵と相補的な復号鍵で暗号化データを復号化する手段をさらに備える
    請求項19または20に記載の装置。
  22. 前記リセットイベントに応答して、前記暗号鍵と相補的な復号鍵を破壊する手段をさらに備える
    請求項19または20に記載の装置。
  23. 前記リセットイベントは、電源喪失イベント、シャットダウンイベントまたはリスタートイベントである
    請求項19または20に記載の装置。
JP2014172283A 2013-09-26 2014-08-27 永続的メモリへのデータ格納 Pending JP2015070608A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/038,295 US20150089245A1 (en) 2013-09-26 2013-09-26 Data storage in persistent memory
US14/038,295 2013-09-26

Publications (1)

Publication Number Publication Date
JP2015070608A true JP2015070608A (ja) 2015-04-13

Family

ID=51869672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014172283A Pending JP2015070608A (ja) 2013-09-26 2014-08-27 永続的メモリへのデータ格納

Country Status (7)

Country Link
US (1) US20150089245A1 (ja)
JP (1) JP2015070608A (ja)
KR (1) KR20150034640A (ja)
CN (1) CN104516834A (ja)
DE (1) DE102014113300A1 (ja)
GB (1) GB2520387B (ja)
TW (1) TWI550406B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020535693A (ja) * 2017-09-26 2020-12-03 シー−スカイ マイクロシステムズ カンパニー,リミテッド 記憶データ暗号化/復号化装置及び方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
DE102014000996A1 (de) * 2014-01-29 2015-07-30 Michael Gude Sicheres kryptografisches Verfahren und Vorrichtung dafür
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US9619377B2 (en) 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
AU2014208249A1 (en) * 2014-07-31 2015-06-25 Taupe Overseas Limited A method for operating a gaming system
US9479331B2 (en) * 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US10142304B2 (en) * 2016-08-23 2018-11-27 Seagate Technology Llc Encryption key shredding to protect non-persistent data
US10445236B2 (en) * 2016-11-14 2019-10-15 Futurewei Technologies, Inc. Method to consistently store large amounts of data at very high speed in persistent memory systems
US11030118B2 (en) * 2017-03-07 2021-06-08 Rambus Inc. Data-locking memory module
US10360149B2 (en) 2017-03-10 2019-07-23 Oracle International Corporation Data structure store in persistent memory
DE102018002714A1 (de) 2017-04-18 2018-10-18 Gabriele Trinkel Memristor Effekt System Netzwerk und Verfahren mit funktionalem Werkstoff
TWI648741B (zh) * 2017-06-05 2019-01-21 慧榮科技股份有限公司 資料儲存裝置之控制器以及進階資料抹除的方法
TWI662471B (zh) 2018-05-31 2019-06-11 華邦電子股份有限公司 真實隨機數產生裝置及其產生方法
CN110568992A (zh) * 2018-06-06 2019-12-13 华为技术有限公司 一种数据处理装置及方法
CN109359486B (zh) * 2018-10-24 2021-07-27 华中科技大学 一种加密与解密系统及其操作方法
US11816039B2 (en) 2019-04-19 2023-11-14 Intel Corporation Multi-mode protected memory
US11562081B2 (en) 2019-06-24 2023-01-24 Quantum Properties Technology Llc Method and system for controlling access to secure data using custodial key data
CN113126905A (zh) * 2019-12-30 2021-07-16 美光科技公司 用于重放受保护存储器块的安全密钥更新
US11537728B1 (en) * 2020-01-26 2022-12-27 Quantum Properties Technology Llc Method and system for securing data using random bits and encoded key data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100296651A1 (en) * 2009-05-21 2010-11-25 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
JP2012208798A (ja) * 2011-03-30 2012-10-25 Sony Corp 記憶メディア装置および記録装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
US7210009B2 (en) * 2003-09-04 2007-04-24 Advanced Micro Devices, Inc. Computer system employing a trusted execution environment including a memory controller configured to clear memory
US7409545B2 (en) * 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
JP5026102B2 (ja) * 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法
US8898412B2 (en) * 2007-03-21 2014-11-25 Hewlett-Packard Development Company, L.P. Methods and systems to selectively scrub a system memory
TWI361353B (en) * 2008-04-10 2012-04-01 Phison Electronics Corp Data writing method for non-volatile memory, storage system and controller thereof
JP5261577B2 (ja) * 2009-05-25 2013-08-14 株式会社日立製作所 ストレージ装置及びその制御方法
US8266334B2 (en) * 2010-02-12 2012-09-11 Phison Electronics Corp. Data writing method for non-volatile memory, and controller and storage system using the same
US8510552B2 (en) * 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8938624B2 (en) * 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
US9251058B2 (en) * 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US8964237B2 (en) * 2013-06-28 2015-02-24 Lexmark International, Inc. Imaging device including wear leveling for non-volatile memory and secure erase of data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100296651A1 (en) * 2009-05-21 2010-11-25 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
JP2012208798A (ja) * 2011-03-30 2012-10-25 Sony Corp 記憶メディア装置および記録装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020535693A (ja) * 2017-09-26 2020-12-03 シー−スカイ マイクロシステムズ カンパニー,リミテッド 記憶データ暗号化/復号化装置及び方法
JP7225220B2 (ja) 2017-09-26 2023-02-20 シー-スカイ マイクロシステムズ カンパニー,リミテッド 記憶データ暗号化/復号化装置及び方法

Also Published As

Publication number Publication date
KR20150034640A (ko) 2015-04-03
DE102014113300A1 (de) 2015-03-26
GB2520387A (en) 2015-05-20
TWI550406B (zh) 2016-09-21
TW201516682A (zh) 2015-05-01
GB201416328D0 (en) 2014-10-29
CN104516834A (zh) 2015-04-15
US20150089245A1 (en) 2015-03-26
GB2520387B (en) 2019-03-27

Similar Documents

Publication Publication Date Title
JP2015070608A (ja) 永続的メモリへのデータ格納
JP6239259B2 (ja) システムオンチップとその動作方法、及びそれを含むシステムインパッケージ
US9483664B2 (en) Address dependent data encryption
TWI662414B (zh) 使用固態硬碟以加速運算密集操作的技術
EP3355232A1 (en) Input/output data encryption
US20080168279A1 (en) Processor, memory device, computer system, and method for transferring data
JP2016517241A (ja) ストレージデバイスによって支援されるインライン暗号化および暗号化解除
JP2019505924A5 (ja)
KR102488636B1 (ko) 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치
US10671546B2 (en) Cryptographic-based initialization of memory content
WO2017112243A1 (en) End-to-end protection scheme involving encrypted memory and storage
KR101496975B1 (ko) 고체 상태 디스크 및 이에 대한 입출력방법
US10891396B2 (en) Electronic circuit performing encryption/decryption operation to prevent side- channel analysis attack, and electronic device including the same
US11775652B2 (en) Platform security mechanism
JP6362811B1 (ja) 登録端末、鍵サーバ、検索システム、登録プログラム
US11816228B2 (en) Metadata tweak for channel encryption differentiation
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
CN111512308A (zh) 一种存储控制器、文件处理方法、装置及系统
JP2005172866A (ja) 暗号化/復号化システム
US20230208821A1 (en) Method and device for protecting and managing keys
JP2018120365A (ja) ファイル中継装置及びファイル中継プログラム
CN106663177A (zh) 加密代码执行

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160524