JP2012089108A - プロセッサメインメモリのメモリコンテンツのセキュリティ保護 - Google Patents

プロセッサメインメモリのメモリコンテンツのセキュリティ保護 Download PDF

Info

Publication number
JP2012089108A
JP2012089108A JP2011175264A JP2011175264A JP2012089108A JP 2012089108 A JP2012089108 A JP 2012089108A JP 2011175264 A JP2011175264 A JP 2011175264A JP 2011175264 A JP2011175264 A JP 2011175264A JP 2012089108 A JP2012089108 A JP 2012089108A
Authority
JP
Japan
Prior art keywords
memory
cell array
write command
main memory
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011175264A
Other languages
English (en)
Other versions
JP5500458B2 (ja
Inventor
Luderick John
ルデリック ジョン
Camber August
キャンバー オーガスト
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of JP2012089108A publication Critical patent/JP2012089108A/ja
Application granted granted Critical
Publication of JP5500458B2 publication Critical patent/JP5500458B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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

Landscapes

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

Abstract

【課題】メモリコンテンツが署名確認(validation)処理を通過することなく改変され、及び/又は読み出されることを防ぐために、メモリデバイスの動作を認証する技術を含んだメモリデバイスを提供する。
【解決手段】メモリデバイス220はメモリセルアレイ260と、メモリセルアレイ内に設置された第1のコントローラ215とを備え、第1のコントローラは、メモリセルアレイにアクセスする書き込みコマンドを第2のメモリコントローラ212から受信し、書き込みコマンドの認証を決定し、かつ、前記決定された認証に少なくとも一部分的に基づいて、メモリセルアレイのコンテンツを改変するかどうかを決定する。
【選択図】図2

Description

本明細書に開示される主題は、メモリデバイス及びメモリデバイスのセキュリティに関する。
益々、メモリデバイスは、例えば、金融、医療、及び/又は履歴等の機密情報を記憶するために組み込まれ得る。更に、そのようなメモリデバイスは、実行可能なコード、システムオペレーティングパラメータ、及びその他等のコンピュータシステムを動作するために用いられた情報を記憶してもよい。あいにく、そのような重要情報及び/又は機密情報は、益々精巧なセキュリティ攻撃によって標的にされ得る。例えば、このような攻撃は、財務記録のデータベースの不正な改変(モディファイ,modify)、読み込み、及び/又は、ダウンロードを含むことがあり、識別性盗難をもたらす場合がある。
セキュリティ技術は、例えば、メモリコンテンツが署名確認(validation)処理を通過することなく改変され、及び/又は読み出されることを防ぐために、メモリデバイスの動作を認証する技術を含んでもよい。
非限定的かつ非網羅的な実施形態について、以下に図を参照して記載する。特に明示がない限り、類似の番号は様々な図を通して類似の部分を示す。
図1は、実施形態に係るシステム構成を概略的に示す図である。 図2は、実施形態に係るプロセッサ‐メモリシステムを概略的に示す図である。 図3は、他の実施形態に係るプロセッサ‐メモリシステムを概略的に示す図である。 図4は、実施形態に係る、メインメモリの認証部分の処理を説明するために概略的に示す図である。 図5は、実施形態に係る、メインメモリの書き込みコマンドを認証する処理のフローチャートである。 図6は、安全なメモリ測定(measure)コマンドを実行する処理のフローチャートである。 図7は、実施形態に係る、コンピュータシステム及びメモリデバイスの概要を示す図である。
本明細書全体を通して、「一実施形態」又は「実施形態」を参照することは、特別な特色、構造、特徴が、請求項に記載された主題の少なくとも一実施形態に含まれることを意味する。それゆえ、本明細書を通して様々な箇所における「一実施形態において」又は「実施形態」という語句の出現は、必ずしも全てが同一の実施形態を参照しているものではない。更に、特定の特色、構造、又は特徴は、1つ又は複数の実施形態において組み合わされてもよい。
本明細書に開示された実施形態は、持続性(persistent)メモリを備えるメインメモリを含んでもよい。例えば、持続性メモリは、相変化メモリ(PCM)、NORフラッシュ、及びNANDフラッシュ等の不揮発性メモリを備えてもよい。従って、持続性メインメモリは、不揮発性メモリを含むメモリアレイを備えてもよい。一実装において、持続性メインメモリは、以下に記載するように、一部分が1つ又は複数のタイプの不揮発性メモリから構成されるとともに、他の部分は揮発性メモリから構成されるメモリアレイを含んでもよい。他の実装において、持続性メインメモリは、不揮発性メモリのみから構成されるメモリアレイを含んでもよいが、請求項の主題はそのように限定されるものではない。ここで、メインメモリとは、処理エンティティによって実行可能な1つ又は複数のアプリケーションを保持する処理エンティティによって用いられ得るメモリを指すが、請求項の主題はこの点に限定されるものではない。実装において、メインメモリの特定部分は、例えば、このような特定部分を直接アドレスすることにより、処理エンティティ(主体)によってアクセスされてもよい。直接アドレスすることは、処理エンティティがメモリの特定位置を読み出すアドレスを出してもよく、特定位置が続いて読み出される。対照的に、間接的にメモリにアドレスすることは、処理エンティティが、メモリの特定位置を読み出すアドレスを出し得る入力/出力(I/O)デバイスを伴う処理を含んでもよい。この場合、I/Oデバイスは、その特定位置にある(読み出し)データを提供することによって応答してもよい。例えば、基本入力/出力システム[バイオス(BIOS)]ソフトウェアは、処理エンティティによって直接アドレスすることによりアクセス可能ではない不揮発性メモリ、リード・オンリ・メモリ(ROM)、及び/又はフラッシュメモリ上に記憶されてもよい。
実施形態において、メモリシステムを動作する方法は、プロセッサのメインメモリにロードされた対象のセキュリティをチェックする技術を含んでもよい。このような対象は、例えば、メインメモリに書き込まれる書き込みコマンド及び/又は書き込みコマンドに関連した情報を含んでもよい。対象のセキュリティをチェックするこのような技術は、メモリデバイス内の認証された動作を実行する機能を持つメモリデバイスを含んでもよい。例えば、セキュリティ署名を確認する処理は、メモリデバイスのコンテンツが改変(モディファイ,modify)される前に実行されてもよい。対象のセキュリティをチェックすることは、安全なハッシュアルゴリズム(SHA)測定及び/又は他の暗号測定(measurement)を実行することを含んでもよい。このような測定は、比較的時間を消費する可能性があるが、本明細書に開示される実施形態は、このような暗号測定を実行する効率を改良する方法及び/又はメモリデバイスを含む。例えば、効率は、このような暗号測定を実行するのに掛かる時間を減少させること、及び/又はプロセッサメモリ上に置かれた動作要求を減少させることによって改良されてもよい。例えば、メインメモリが持続性メモリを備える場合、このような測定が不揮発性メモリに記憶される間、暗号測定は比較的頻繁に実行されない可能性がある。
実施形態において、中央処理装置(CPU)等の処理エンティティを備えるシステムは、持続性メインメモリを含んでもよい。例えば、持続性メインメモリは、CPUによって用いられるメインメモリ及び/又はキャッシュメモリの少なくとも一部を備えてもよい。このようなシステムは、いくつか例を挙げると、例えば、コンピュータ、携帯電話、PDA、データロガー、及びナビゲーション装置等の多数の環境において、アプリケーションを実行するコンピュータシステムを備えてもよい。実装において、このようなシステムは、例えば、ハイパーバイザー等の仮想化のためのリソースマネージャーを含んでもよい。いくつかの実施例において、メインメモリ及び/又はキャッシュメモリは、持続性メモリの一部及び他のタイプのランダムアクセスメモリ(RAM)の一部を備えてもよい。特定の実施例において、メインメモリは、少なくともPCM及びダイナミック・ランダム・アクセス・メモリ(DRAM)の一部を含んでもよい。このようなメモリ構成は、例えば、不揮発性の比較的高いプログラム/読み出し速度、及び/又は長くなったPCM使用期間等の利益を提供する。
一実装において、持続性メインメモリは、他の事柄もある中で、持続性メインメモリに記憶されたコンテンツのセキュリティ保護に関係する情報を再決定する必要を避ける利益を提供してもよい。このような情報は、以下に記載するように、例えば、SHA測定、暗号キー、及び/又は、署名、その他を含んでもよい。他の実装において、持続性メインメモリは、以下に詳細に記載するように、外部不揮発性メモリから揮発性DRAMにそのようなセキュリティ情報をリロードする必要を避ける利益を更に提供してもよい。そうでなければ、このようなセキュリティ情報を再決定すること及び/又はリロードすることは、セキュリティ情報が、例えば、持続性メモリに保持されない場合、プロセッサのリブート処理中に生じてもよい。従って、改良されたセキュリティ保護は、持続性メインメモリによって提供された多数の利点に含まれる。勿論、PCM又は他の持続性メモリをメインメモリとして含む実施形態のこのような特色及び詳細は単に例示であって、請求項の主題はそのように限定されるものではない。
コンピュータシステムの実施形態において、プロセッサは、持続性メインメモリに情報を書き込んでもよい。しかしながら、持続性メインメモリに書き込まれることが許可される前に、このような情報が認証されていない部分を含むかについてこのような情報が分析されてもよい。例えば、コンピュータウィルス、マルウェア、及びその他等のこのような認証されていない情報部分は、持続性メインメモリに既に記憶された情報の保全に対して有害である虞がある。従って、情報が認証されていない部分を含むか決定する分析は、セキュリティチェック処理を必要としてもよい。例えば、セキュリティチェック処理は、このような情報が持続性メインメモリにロードされる前に、情報のSHA測定及び/又は他の暗号セキュリティ測定(例えば、いくつか例を挙げると、MD5、SHA−1、SHA−256)を実行することを含んでもよい。このような情報が認証されていない部分を含んでいないと決定される場合、このような情報は、メインメモリRAMにロードされるように許可されてもよい。このような情報が、認証されていない部分を含むと決定される場合、このような情報はメインメモリRAMにロードされることが許可されなくてもよい。セキュリティチェック処理は、比較的時間が掛かり得る。持続性メインメモリを伴う実装において、このようなセキュリティチェック処理は、例えば、コンピュータシステムのリブート時で、又は、ユーザー特権からスーパーバイザー/安全な特権までのプロセッサジャンプに実行される必要はない。特に、セキュリティチェック処理に用いられたSHA測定及び/又は他の暗号測定等のセキュリティ情報は、持続性メインメモリに記憶されてもよい。プロセッサ及び/又は持続性メインメモリは、電力消失又は他の破壊的事象を経験する場合、このような測定は、持続性メインメモリから失なわれる必要はない。従って、このような測定及び/又は関連したセキュリティ情報が、次の再初期化(例えば、リブート)に続いて、又はユーザー特権からスーパーバイザー/安全な特権までのプロセッサジャンプ時に利用可能であってもよい。
実施形態において、メモリシステムを動作する方法は、プロセッサによってアクセス可能なメインメモリに書き込みコマンドを受信することと、メインメモリ内で書き込みコマンドの認証を決定することとを含んでもよい。すなわち、書き込みコマンド及び/又は書き込みコマンドに関連した情報は、以下に詳細に記載されるように、メインメモリ内に置かれた1つ又は複数の電子コンポーネントによって実行されてもよい。例えば、メインメモリ内の位置は、単一チップ内の位置、ダイ上の位置、積層チップ内の位置、及び/又はICパッケージ内の位置を含んでもよい。実装において、「メインメモリ内」とは、例えば、メインメモリとコントローラへの外部インターフェースを持つ認証ロジックとを含む物理的境界内を意味してもよい。
メインメモリは持続性メモリを備えてもよいが、このようなメインメモリは、不揮発性メモリを備える必要はない。例えば、このようなメインメモリはDRAM又は他の揮発性メモリを備えてもよい。特定の実装において、メモリシステムを動作する方法は、メインメモリ内で、書き込みコマンド及び/又は書き込みコマンドに関連した情報の決定された認証の少なくとも一部に基づいて、メインメモリのコンテンツを改変するかどうかを決定することを含んでもよい。例えば、メインメモリは、メインメモリを1つ又は複数のプロセッサへ動作的に接続するシステムバスから書き込みコマンドを受信してもよい。このような書き込みコマンドは、メインメモリ又はメインメモリの一部を改変するように認証されないと決定されるか、又そうでなければ、非認証と決定される場合、書き込みコマンドはメインメモリによって無視されてもよい。勿論、メモリシステムを動作する方法のこのような詳細は単に例示であって、請求項の主題はこの点に限定されるものではない。
実施形態において、メモリデバイスは、メモリセルアレイ及びメモリデバイス内に配置されたコントローラを備えてもよい。このようなコントローラメモリセルアレイにアクセスする書き込みコマンドを受信するとき、コントローラは書き込みコマンドの認証を決定してもよい。メモリセルアレイは、持続性メモリを備えてもよいが、このようなメモリセルアレイは、持続性メモリを備える必要はない。例えば、このようなアレイは、DRAM又は他の揮発性メモリを備えてもよい。特定の実装において、コントローラは、書き込みコマンド及び/又は書き込みコマンドに関連した情報の決定された認証の少なくとも一部に基づいて、メモリセルアレイのコンテンツを改変するかどうかを更に決定してもよい。例えば、コントローラは、コントローラを含むメモリデバイスを1つ又は複数のプロセッサへ動作的に接続するバスから書き込みコマンドを受信してもよい。このような書き込みコマンドがメモリデバイス又はメモリデバイスの一部を改変するように認証的であるか、又あるいは認証されていると決定される場合、コントローラは、書き込みコマンドを実行してもよい。持続性メインメモリを含む実施形態において、このようなメモリデバイスは、例えば、書き込みコマンドの認証に関連した情報、及び/又は、メインメモリ及び/又はプロセッサの電力消失中の書き込みコマンドに関連した情報を保持すること等の利益を提供してもよい。このような場合、例えば、書き込みコマンドが同じプロセッサからのものであるとき、認証に関連した暗号測定が繰り返される必要はない。勿論、メモリデバイスのこのような詳細は単に例示であって、請求項の主題はこの点に限定されるものではない。
図1は、実施形態に掛かる処理システム100を概略的に示す図である。処理システム100はCPU110、メインメモリ120、及び/又はキャッシュ130を備えてもよい。特に、CPU110は、メインメモリ120に保持された1つ又は複数のアプリケーションをホストしてもよい。図1には示していないが、処理システム100は、追加のCPU又は他のこのような処理エンティティ、追加のメインメモリ、及び/又は追加のキャッシュを備えてもよい。例えば、CPU110、メインメモリ120、及び/又はキャッシュ130は、集約的に大きなマルチプロセッサシステムのブロックを構築することを含んでもよい。一実装において、処理システム100は、1つ又は複数のレベルのキャッシュメモリを含むメモリ階層を用いて動作してもよい。任意のこのようなレベルは、複数のCPUに共有された持続性メモリを備えてもよい。例えば、キャッシュメモリは、どちらも少なくとも一部が持続性メモリを備え得る第1のレベルのキャッシュ及び第2のレベルのキャッシュを備えてもよい。他の実装において、処理システム100は、複数のオペレーティングシステムを同時に走らせるようにする(例えば、ハードウェア仮想化)リソースマネージャーを含んでもよい。このようなリソースマネージャーは、例えば、ハイパーバイザーを備えてもよい。勿論、処理システム及びキャッシュメモリのこのような詳細は単に例示であって、請求項の主題はそのように限定されるものではない。実施形態において、メインメモリ110の少なくとも一部は、持続性メモリを備えてもよい。特定の実装において、メインメモリ110の他の部分は、揮発性DRAM等の他のタイプのメモリを備えてもよい。持続性メモリの一部は、例えば、1つ又は複数のダイ構造を備え得るメインメモリ210に連続して配列される必要はない。
図2は、実施形態に係るプロセッサ‐メモリシステム200の概観を示す図である。このようなプロセッサ‐メモリシステム200は、例えば、携帯情報端末(PDA)、携帯電話機、コンピュータデバイス、及び/又は、他の電子でバイアス等のホストデバイス(図示せず)に含まれてもよい。ホストプロセッサ210は、メモリコントローラ212を経由してメインメモリ220に通信可能に接続されてもよい。実装において、メモリコントローラ212は、例えば、メインメモリ220を備えるIC又はICパッケージの外部の単一のダイ又はICパッケージ等上のメインメモリ220の外部に配置されてもよい。例えば、ホストプロセッサ210は、メインメモリ220に情報を書き込むように、又はメインメモリ220から情報を読み出すように、メインメモリ220にアクセスしてもよい。一実装において、プロセッサ‐メモリシステム200の外部にある外部エンティティ205は、ホストプロセッサ210に通信可能に接続されてもよい。特定の実装において、外部エンティティ205は、例えば、ホストプロセッサ210にワイヤレスに通信してもよい。外部エンティティ205は、インターネットを介して、アクセス可能なサーバー又は類似のコンピュータデバイス、又は、例えば、フラッシュメモリ、光学コンピュータディスク、又は類似物等のメモリデバイスを備えてもよい。外部エンティティ205はまた、電子メールアプリケーション等の実行可能なコードを備えてもよい。ホストプロセッサ210及び外部エンティティ205は、互いに独立して、かつ/又は、異なる時間に、メインメモリ220と通信してもよいが、請求項の主題はそのように限定されるものではない。更に以下に詳細に説明されるように、外部エンティティ205は、メインメモリ220にアクセスするように試みる認証されていないコマンドを備え得るコンピュータウィルス、マルウェア、その他のソースであってもよいが、請求項の主題はこの点に限定されるものではない。例えば、外部エンティティ205は、トロイの木馬のソースであり得るインターネット上のウェブサイトのサーバーを備えてもよい。他の実施例において、外部エンティティ205は、コンピュータウィルスを含む電子メールを予期せずに開くように用いられ得る電子メールアプリケーションを備えてもよい。更に他の実施例において、外部エンティティ205は、コンピュータウィルスを疑いなしで記憶し得る携帯型フラッシュメモリデバイスを備えてもよい。このような場合、トロイの木馬、コンピュータウィルス、及び/又は、他のマルウェアの存在は、メインメモリ220にアクセスすることが認証されていない試みに終わってもよい。
メインメモリ220は、メモリアレイ260、マイクロコントローラ215、及び/又は、セキュリティ部分240を備えてもよい。一実装において、メモリアレイ260は、データが書き込まれ得る、及び/又は、データが読み出され得るアドレス可能なメモリセルアレイを備えてもよい。メモリアレイ260は、例えば、セキュリティ部分240によって与えられたセキュリティ情報を保持することに留保され得るサブ部分等の1つ又は複数の部分270に分割されてもよい。一実装において、サブ部分270は、暗号ハッシュ値、署名、キー、及び類似のもの等のセキュリティ情報を記憶してもよい。サブ部分270の特定のメモリ位置は、例えば、メモリアレイ260の特定のメモリ位置に記憶された情報に対応するこのようなセキュリティ情報を保持するように用いられてもよい。例えば、受信された書き込みコマンドを認証するために用いられ得るこのような暗号ハッシュ値、署名、キー、及び類似のものの決定は、例えば、メインメモリ220内で実行されてもよい。メモリアレイ260は、単にいくつか例を挙げると、フラッシュメモリ、PCM、及び/又は、他の持続性メモリを備えてもよい。他の実施形態において、メモリアレイ260は、例えば、DRAM等の揮発性メモリ、又は、持続性メモリ及び揮発性メモリの組み合わせを備えてもよい。
セキュリティ部分240は、論理回路要素、及び/又は、メインメモリ260内に保持された実行可能なコードを備えてもよい。セキュリティ部分240は、ホストプロセッサ210及び/又は外部エンティティ205から受信されたコマンドを認証してもよく、及び/又は、確認してもよい。このような認証は、例えば、セキュリティキーを用いる技術を伴ってもよい。一実装において、マイクロコントローラ215は、ホストプロセッサ210からの書き込みコマンドを(例えば、メモリコントローラ212を介して)受信してもよく、かつ、続いてこのような受信された書き込みコマンドを認証及び/又は確認するために、セキュリティ部分240を呼び出してもよい。このような認証において、マイクロコントローラ215は、例えば、適切なメモリアドレシングを用いてメモリアレイ260にアクセスすることを許可してもよい。一実装において、マイクロコントローラ215は、セキュリティ部分240からのセキュリティ情報を取り出してもよく、かつ、メモリアレイ260にそのような情報を記憶してもよい。特に、上に説明されたように、セキュリティ情報は、セキュリティ情報を記憶するために留保されたメモリアレイ260の一部を備え得るサブ部分270に記憶されてもよい。勿論、プロセッサ‐メモリシステム200のこのような詳細は単に例示であって、請求項の主題はそのように限定されるものではない。
図3は、実施形態に係るプロセッサ‐メモリシステム300を概略的に示すブロック図である。このようなプロセッサ‐メモリシステムは、任意の数の処理エンティティを含んでもよいが、そのようなエンティティは1つだけ図3に示されている。特定の実施例において、このような処理エンティティCPU310を備えてもよい。一実装において、CPU310は、例えば、組み込まれた持続性メモリを備えるローカルメモリ(図示せず)を含んでもよい。他の実装において、CPU310は、持続性メモリを含むメインメモリ320にアクセスしてもよい。特に、持続性メモリは、キャッシュ(例えば、様々なレベルのキャッシュ)及びメインメモリを備えるメモリ階層に含まれてもよい。このようなメインメモリの少なくとも一部は、例えば、PCMを備えてもよい。このようなメモリ階層は、キャッシュ及びメインメモリを備える分散メモリを管理するように用いられてもよい。CPU310(及び、例えば、コンピュータプラットフォームに存在し得る他のCPUは、このような分散メモリを共有してもよい。単にいくつか例を挙げると、フラッシュメモリ、ハードドライブ、及び、光学コンピュータディスクを備え得る外部メモリ330は、CPU310を介してメインメモリ320に通信可能に接続されてもよい。ここで、CPU310は、外部メモリ330からメインメモリ320に情報を転送するようにメインメモリ210に書き込みコマンドを送信してもよい。残念なことに、いくつかの場合において、このような情報は、例えば、コンピュータウィルス、トロイの木馬、及び他のマルウェア等の認証されていない、恐らく悪意のあるコードを備え得る。上で言及されたように、図2を参照すると、外部エンティティは、このような認証されていないコードの他のソースを備えてもよい。本明細書に記載されたように、しかしながら、メインメモリ320は、このような認証されていない情報をメインメモリ320に書き込むことを避ける技術を実装することが可能であってもよい。
一実装において、プロセッサ‐メモリシステム300は、コンピュータプラットフォームの一部を備えてもよい。このような実装において、CPU310は、メインメモリ320の1つ又は複数の個々のページを順番に指定し得る特定のページテーブルを指定し得るトランスレーション・ルックアサイド・バッファ(TLB)を備えるキャッシュメモリ(図示せず)を備えてもよい。メインメモリ320が、例えばDRAM等の揮発性メモリを備える実施形態において、CPU310及び/又はメインメモリ320への電力が中断される、及び/又は、中止される場合、メインメモリ320のメモリコンテンツは消失し得る。他方で、メインメモリ320が、例えばPCM等の持続性メモリを備える実施形態において、CPU及び/又はメインメモリが、中断された電源、及び/又は中止された電源を経験する場合でさえ、メインメモリ320のメモリコンテンツは保持されてもよい。このような場合、例えばページ370等のメインメモリ320の一部に保持されたセキュリティ情報は、消失される必要はなく、以下に詳細に議論するように、続く認証処理に利用可能であってもよい。勿論、プロセッサシステムのこのような詳細は単に例示であって、請求項の主題はそのように限定される必要はない。
実施形態において、メインメモリ320は、メモリアレイ360、メモリコントローラ315、及び、セキュリティ部分340を備えてもよい。メモリアレイ360は、例えば、ページ368及びページ370を含むページ等の1つ又は複数の部分を備えてもよい。特定の実装において、ページ370は、以下に詳細に記載されるように、セキュリティ情報の少なくとも一部が記憶され得るメモリ位置を備えてもよい。セキュリティ部分340は、セキュリティ論理ブロック346、暗号キー記憶装置344、及び、メモリ範囲識別子342を含んでもよい。例えば、セキュリティ論理ブロック346は、SHA論理ブロック等の任意の多数の公知の暗号論理ブロックを備えてもよい。暗号キー記憶装置344は、情報を認証する処理のために用いた1つ又は複数のキーを記憶するレジスタ又はメモリアレイ360の他のメモリ部分を備えてもよい。従って、このようなキーは、メインメモリ320の内部の情報を備えてもよい。更に、このようなキーは、一度供給されたメインメモリ320に対して非公開であってもよい。暗号キー記憶装置344は、ユーザー、及び/又は、プロセッサ‐メモリシステム300の外部の電子エンティティに対して秘密を守り得る値であるキーを保持するために持続性メモリを備えてもよい。一実装において、プロセッサ210(図2)は、このようなキーを知る必要はない。このような場合、外部の処理又は外部のプロセッサは、ローカルプロセッサがコマンドを通過してもよく、かつ、キーを知らなくてもよいように、例えば、書き込み動作を管理していてもよい。ローカルプロセッサ210が安全な領域を更新している場合、ローカルプロセッサ210は、キーを知ってもよい。しかしながら、ローカルプロセッサが、ローカルメモリキーを知ることは比較的安全性が低い。外部の権限がキーを知るとともにコマンドを生成するほうが、安全性は高い。他の実装において、プロセッサ210は、キーを知ってもよい。このような場合、例えば、ハッカー又は潜在的なセキュリティ違反の他のエンティティがプロセッサ210へのアクセスを得ると、そのようなハッカー又は他のエンティティは、キーを取得し得るとともに、メモリに書き込んでもよい。セキュリティ論理ブロック346は、以下に詳細に議論されるように、暗号キー記憶装置344に保持されたキーを利用してもよい。メモリ範囲識別子342は、レジスタ、又は、メモリアレイ360の他のメモリ部分を備えてもよい。メモリ範囲識別子342は、セキュリティ保護されるメモリアレイ360の1つ又は複数の部分を記述する、及び/又は、識別する情報を保持する持続性メモリを備えてもよい。例えば、メモリ範囲識別子342は、認証処理を実行することなしに書き込まれることはないページ範囲を記述する情報を記憶しているレジスタを備えてもよい。
実装において、メモリコントローラ315は、メインメモリ320の安全な部分に書き込むために用いられ得る安全な書き込みコマンドを認識するように構成されてもよい。メモリコントローラ315はまた、以下に議論されるように、メモリコンテンツの少なくとも一部の認証を再測定及び/又は再確認するために、プロセッサによって用いられ得るメモリ測定コマンドを認識するように構成されてもよい。
メインメモリ320は、メインメモリで受信された書き込みコマンドを確かめてもよい。メインメモリ320は、このようなメモリコンテンツが、有効かつ完全に保護され続け得るように、メインメモリ320のコンテンツに対する認証されない改変を防いでもよい。メインメモリ320が持続性メモリを備える場合、書き込みコマンドの認証を決定するのに伴う1つ又は複数の処理は、プロセッサ‐メモリシステム300の再初期化において繰り返される必要はない。例えば、一度、データオブジェクトが、安全な書き込みコマンドを用いて持続性メインメモリに書き込まれると、そのメモリオブジェクトは、上書きされるまで、安全かつ完全に保護され得る。
図4は、実施形態に係る、プロセッサ‐メモリシステム400に生じ得る処理を概略的に示す図である。プロセッサ‐メモリシステム400は、プロセッサ‐メモリシステム400が持続性メインメモリ420を含み得ることを除いて、上記のプロセッサ‐メモリシステム300と同様であってもよい。持続性メインメモリ420は、例えば、図3に示したようなCPU310と同様であり得るCPU410によってアクセス可能であってもよい。実施形態において、メインメモリ420は、メモリアレイ460、メモリコントローラ415、及び、セキュリティ部分440を備えてもよい。メモリアレイ460は、例えば、ページ468及びページ470を含むページ等の1つ又は複数の部分を備えてもよい。特定の実装において、ページ470は、以下に詳細に記載されるように、セキュリティ情報の少なくとも一部が記憶され得るメモリ位置を備えてもよい。セキュリティ部分440は、上記のセキュリティ論理ブロック346、暗号キー記憶装置344、及び、メモリ範囲識別子342と同様であり得るセキュリティ論理ブロック446、暗号キー記憶装置444、及び、メモリ範囲識別子442を含んでもよい。
特定の実装において、かつ、以下の記載において、持続性メインメモリ420は、ページを備えてもよいが、請求項の主題はそのように限定されるものではない。例えば、持続性メインメモリ420は、ページ470及びページ468を含む複数のページを備えてもよい。特に、ページ470は、持続性メインメモリ420の特定の個々のページに対応する暗号ハッシュ値を備え得るインデックステーブルを含んでもよい。実装において、このようなインデックステーブルは、例えば、メモリコントローラ415にメモリオブジェクトを再確認する処理を実行させるように、持続性メインメモリ420の特定のページに置かれてもよい。このような再確認処理は、CPU410によるリクエスト上で実行されてもよく、CPU410は持続性メインメモリ420にメモリ測定コマンドを送信してもよい。例えば、ページ470は、ページ468に対応するハッシュ値472、ページ466に対応するハッシュ値474、ページ469に対応するハッシュ値476等を含んでもよい。このようなハッシュ値は、より早いエポック中に計算されてもよく、例えば、パワーダウン中にでさえ持続性メインメモリ420に保持されている。再確認処理の実施例は、ページ470からページ466,468及び469に延びる縦方向の矢印によって図4に示されている。図4は、ハッシュ値等の暗号情報がページ470に記憶され得ること示すが、請求項の主題はこのような相対的位置関係に限定されるものではない。例えば、ハッシュ値は、ページ468又は他のページに置かれていてもよい。勿論、持続性メインメモリのこのような詳細は単に例示であって、請求項の主題はそのように限定されるものではない。
図5は、安全な書き込みコマンドを認証する処理500を示すフローチャート図である。このような処理は、上記のように、例えば、プロセッサ‐メモリシステム300又は400によって実行されてもよい。ブロック510において、上記のような暗号値を備える秘密キーは、メインメモリの1つ又は複数の部分に記憶されてもよい。例えば、このような秘密キーは、図3に示した暗号キー記憶装置344に記憶されてもよい。メインメモリ内にこのような秘密キーを保持することは、秘密キーがメインメモリの外部に記憶されている場合と比較して、メモリコンテンツのセキュリティを改善する利益を提供し得る。例えば、一実装において、このような秘密キーは、改変されなくてもよく、知られているソースからの認証論理に利用可能であってもよい。他の実装において、このような秘密キーは、秘密キーを更新する安全なプロトコルがある場合において改変されてもよい。ブロック520において、メインメモリは、安全な書き込みコマンドを受信してもよい。実装において、このようなコマンドは、例えば、メインメモリの外部にあるプロセッサ又はメモリコントローラからバスを介して受信されてもよい。ブロック530において、メインメモリ内のメモリコントローラは、受信された安全な書き込みコマンドを認証する処理を実行してもよい。例えば、メインメモリ内のこのようなメモリコントローラは、図3に示したメモリコントローラ315と類似のものであってもよい。実施形態において、受信された安全な書き込みコマンドを認証するこのような処理は、安全な書き込みコマンド及び/又は安全な書き込みコマンドに関連する情報にSHAエンジンを適用することを含んでもよい。一実装において、マイクロコントローラは、このようなSHAエンジンを適用するために用いられるが、請求項の主題はそのように限定されるものではない。メインメモリ内に記憶された秘密キーはまた、SHAエンジンによって実行された動作に含まれてもよい。一実装において、図3に示した安全な論理ブロック346は、このようなSHAエンジンの動作を実行するマイクロコントローラ及び/又はソフトウェアを備えてもよいが、請求項の主題はそのように限定されるものではない。従って、SHAエンジンは、例えば、ハッシュ値等の暗号署名を生成してもよい。その間に、ブロック540において、このようなハッシュ値は、例えば、ハッシュ値のインデックスを備えるページ470等メインメモリの一部に記憶されてもよい。ひし形550において、メモリコントローラ315は、安全な書き込みコマンドが信頼できるものであるか否かを決定してもよい。もしそうでなければ、処理500は、書き込みコマンドが無視されるブロック555に進んでもよい。このような場合、例えば、保護されたメインメモリに記憶されたコンテンツは、改変されなくてもよい。メモリコントローラ315が、安全な書き込みコマンドが信頼できるものであるかを決定する場合、処理500は、書き込みコマンドがメインメモリに記憶されたコンテンツを改変するように実行され得るブロック560に進んでもよい。勿論、処理500のこのような詳細は単に例示であって、請求項の主題はそのように限定されるものではない。
図6は、安全なメモリ測定コマンドを実行する処理600を示すフローチャート図である。このような処理は、例えば、上記のプロセッサ‐メモリシステム300又は400によって実行されてもよい。ブロック610において、上記のような前の暗号計算の取得を含むハッシュ値は、メインメモリの1つ又は複数の部分に記憶されてもよい。例えば、このようなハッシュ値は、図4に示したメインメモリ420の特定のページに対応するこのようなハッシュ値のインデックスを含むページ470に記憶されてもよい。メインメモリ内のこのようなハッシュ値を保持することは、メインメモリに記憶されたオブジェクトを再認証する効率(例えば、速度)を改良する利益を提供し得る。ブロック620において、メインメモリは、安全なメモリ測定コマンドを受信してもよい。実装において、このように安全なメモリ測定コマンドは、例えば、メインメモリ外部のプロセッサ又はメモリコントローラからバスを介して受信されてもよい。ひし形630において、メインメモリ内のメモリコントローラは、安全なメモリ測定コマンドによって指定された特定のオブジェクトに対応するハッシュ値がメインメモリに既に記憶されているか否かを決定してもよい。例えば、上で言及したように、メモリコントローラは、図4に示したメインメモリ420のページ470内のハッシュ値のインデックスを検索してもよい。このようなハッシュ値が既に記憶されている場合、処理600は、既に記憶されたハッシュ値がメインメモリ内に記憶されるとともに安全なメモリ測定コマンドに指定されたオブジェクトを再認証するために用いられ得るブロック640に進んでもよい。他方で、このようなハッシュ値が利用可能でない場合、処理600は、エラー返送が生成され得るブロック635に進んでもよい。勿論、処理600のこのような詳細は単に例示であって、請求項の主題はそのように限定されるものではない。
図7は、メモリデバイス710を含むコンピュータシステム700の実施形態例を概略的に示す図である。コンピュータデバイス704は、メモリデバイス710を管理するように構成可能な任意のデバイス、装置、又は機械を表すものとすることができる。メモリデバイス710は、マイクロコントローラ715及びメモリ722を含んでもよい。一実装において、マイクロコントローラ715は、メモリ722内に物理的に置かれてもよい。例示であって限定されるものではないが、コンピュータデバイス704は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、サーバデバイス等の1つ又は複数のコンピュータデバイス及び/又はプラットフォームと、例えば、携帯情報端末(PDA)、モバイル通信デバイス等の1つ又は複数のパーソナルコンピュータデバイスもしくは装置又は1つ又は複数の通信デバイスもしくは装置と、例えば、データベース又はデータ記憶サービスプロバイダ/システムのようなコンピュータシステム及び/又は関連サービスプロバイダ性能とを含み、かつ/又はこれらの任意の組み合わせを含んでもよい。
一実施形態において、コンピュータデバイス704は、バス740と、ホスト又はメモリコントローラ712とを通してメモリ722に動作可能に結合された1つ又は複数の処理ユニット720を備えてもよい。処理ユニット720は、データ計算手順又はデータ計算処理の少なくとも一部を実行するように構成可能な1つ又は複数の回路を表す。例示であって限定されるものではないが、処理ユニット720は、複数1つ又は複数のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールド・プログラマブル・ゲートアレイ等を含んでもよく、あるいは、これらの任意の組み合わせを含んでもよい。処理ユニット720は、例えば、上で議論したメモリパーティション処理と、読み出し、書き込み、及び/又は消去等のメモリ関連動作とを処理するように、メモリコントローラ715と通信してもよい。処理ユニット720は、メモリコントローラ715と通信するように適合されたオペレーティングシステムを含んでもよい。このようなオペレーティングシステムは、例えば、バス740上でメモリコントローラ715に送信されるコマンドを生成することができる。このようなコマンドは、例えば、読み出し/書き込みコマンドを含んでもよい。一実装において、ハイパーバイザーは、1つ又は複数の追加のオペレーティングシステムを同時に走らせてもよい。例えば、このようなハイパーバイザーは、仮想環境を許すリソース(例えば、メモリ722、処理ユニット720、及び、入力/出力732)マネージャーを備えてもよい。
メモリ722は、任意のデータストレージ機構を表す。メモリ722は、例えば、DRAM724及び/又は持続性メモリ726を含んでもよい。特定の実施形態において、メモリ722は、上に記載したように、持続性メモリの少なくとも一部を含むメインメモリから構成されてもよい。メモリ722はまた、持続性メモリの少なくとも一部を同様に含むことのあるキャッシュメモリから構成されてもよい。この例示は処理ユニット720から離れて説明したが、DRAM724の全部又は一部は処理ユニット720内に備えられていてもよく、あるいは処理ユニット720と同じ場所に設置されているか、又は処理ユニット720に結合されてもよいと理解されるべきである。
一実施形態によれば、メモリ722の1つ又は複数の部分は、メモリ722の特定の状態によって表わされるデータ及び/又は情報を表す信号を記憶してもよい。例えば、データ及び/又は情報を表す電子信号は、データ及び/又は情報をバイナリ情報(例えば、1及び0)として表すように、メモリ722のこうした部分の状態に影響を与えるか、又は、メモリ722のこうした部分の状態を変化させることによって、メモリ722の一部分に「記憶」されてもよい。このように、特定の実装において、データ及び/又は情報を表す信号を記憶するためにメモリ部分の状態をこのように変化させることにより、メモリ722が異なる状態又は異なるものに変換される。
1つの実施形態において、システム700は、メモリデバイス内に置かれたメモリセルアレイ及びマイクロコントローラ715を含むメモリデバイス722を備えてもよい。このようなマイクロコントローラは、例えば、図2に示したマイクロコントローラ215と類似していてもよい。システム700はまた、1つ又は複数のアプリケーションをホストするとともに、メモリセルアレイ及び書き込みコマンドを受信するメモリコントローラ712にアクセスするように書き込みコマンドを出すプロセッサ720を備えてもよい。一実装において、メモリコントローラ712は、メモリデバイスの外部に置かれ、プロセッサ720及びメモリデバイス間に配置されてもよい。マイクロコントローラ715は、メモリセルアレイにアクセスする書き込みコマンドを受信し、書き込みコマンドの認証を決定し、かつ、書き込みコマンドの決定された認証の少なくとも一部に基づいてメモリセルアレイのコンテンツを改変するかどうかを決定してもよい。このようなメモリセルアレイは、例えば、PCM等の持続性メモリを備えてもよい。
コンピュータデバイス704は、例えば、入力/出力732を含んでもよい。入力/出力732は、人及び/又は機械の入力を受入れるように構成可能な、又は導入するように構成可能な1つ又は複数のデバイス又は機能、及び/又は、人及び/又は機械の出力を届けるように構成可能な、又は提供するように構成可能な1つ又は複数のデバイス又は機能を表すものである。例示であって限定されるものではないが、入力/出力デバイス732は、動作可能に構成されたディスプレイ、スピーカー、キーボード、マウス、トラックボール、タッチスクリーン、データポート等を含んでもよい。
現時点で考えられる実施形態例について説明して述べてきたが、請求項の主題から逸脱することなく、他の様々な変形がなされてもよく、均等なものに置換されてもよいと当業者に理解され得るものである。加えて、本明細書に開示された主要概念から逸脱することなく、特定の状況を請求項の主題の教示に適用するように多くの変形がなされてもよい。それゆえ、請求項の主題が開示された特定の実施形態に限定されることはないと示され、そのような請求項の主題はまた、添付の特許請求の範囲に含まれる全ての実施形態及びそれらの均等物を包含するものであると示されている。

Claims (21)

  1. プロセッサによってアクセス可能なメインメモリによって書き込みコマンドを受信することであって、この書き込みコマンドは、第1のメモリコントローラを介して受信されたものであることと、
    前記書き込みコマンドの認証を決定することであって、前記決定は、前記メインメモリ内に置かれた第2のコントローラによって実行されることと、
    前記書き込みコマンドの前記決定された認証に少なくとも一部分は基づいて前記メインメモリのコンテンツを改変するかどうかを決定することと、
    を含むことを特徴とする方法。
  2. 更に、前記メインメモリ内に暗号キーを保持することを含み、前記書き込みコマンドの認証を前記決定することは、前記暗号キーに少なくとも一部分は基づいて暗号署名を生成することを含むことを特徴とする請求項1に記載の方法。
  3. 前記メインメモリは、持続性メモリを備えることを特徴とする請求項1に記載の方法。
  4. 前記メインメモリは、ダイナミック・ランダム・アクセス・メモリ(DRAM)を備えることを特徴とする請求項1に記載の方法。
  5. 更に、電力消失中に前記メインメモリに記憶された対応するメモリオブジェクトに対して、特定のハッシュ値を保持することを含む請求項1に記載の方法。
  6. 前記メインメモリは、相変化メモリ(PCM)を備えることを特徴とする請求項1に記載の方法。
  7. メモリセルアレイと、
    前記メモリセルアレイ内に設置された第1のコントローラとを備え、前記第1のコントローラは、
    前記メモリセルアレイにアクセスする書き込みコマンドを第2のメモリコントローラから受信し、
    前記メインメモリデバイス内に置かれた前記第1のコントローラによって実行されて前記書き込みコマンドの認証を決定し、かつ、
    前記書き込みコマンドの前記決定された認証に少なくとも一部分的に基づいて、前記メモリセルアレイのコンテンツを改変するかどうかを決定することを特徴とするメモリデバイス。
  8. 更に、安全なハッシュアルゴリズム(SHA)を実行するために電子コンポーネントを備えるセキュリティブロックを備えることを特徴とする請求項7に記載のメモリデバイス。
  9. 更に、前記安全なハッシュアルゴリズムに用いられる暗号キーを記憶する特定のメモリ位置を備えることを特徴とする請求項8に記載のメモリデバイス。
  10. 更に、安全であり得る前記メモリセルアレイの1つ又は複数の位置を表す情報を記憶する特定のメモリ位置を備えることを特徴とする請求項7に記載のメモリデバイス。
  11. 前記メモリセルアレイは、持続性メモリを備えることを特徴とする請求項7に記載のメモリデバイス。
  12. 前記メモリセルアレイは、ダイナミック・ランダム・アクセス・メモリ(DRAM)を備えることを特徴とする請求項7に記載のメモリデバイス。
  13. 前記メモリセルアレイは、相変化メモリ(PCM)を備えることを特徴とする請求項7に記載のメモリデバイス。
  14. メモリセルアレイと、前記メモリデバイス内に設置された第1のコントローラとを備えるメモリデバイスと、
    1つ又は複数のプリケーションをホストするとともに、前記メモリセルアレイにアクセスする書き込みコマンドを出すプロセッサと、
    前記書き込みコマンドを受信する第2のメモリコントローラとを具備してなり、前記第2のメモリコントローラは、前記プロセッサ内に、又は前記プロセッサと前記メモリデバイス間に配置され、かつ、前記第1のコントローラは、
    前記メモリセルアレイにアクセスする前記書き込みコマンドを受信し、
    前記第1のコントローラによって実行されて前記書き込みコマンドの認証を決定し、かつ、
    前記書き込みコマンドの前記決定された認証に少なくとも一部分的に基づいて、前記メモリセルアレイのコンテンツを改変するかどうかを決定することを特徴とするシステム。
  15. 前記メモリデバイスは更に、前記安全なハッシュアルゴリズム(SHA)を実行するために電子コンポーネントを備えるセキュリティブロックを備えることを特徴とする請求項14に記載のシステム。
  16. 前記メモリデバイスは更に、前記安全なハッシュアルゴリズムに用いられる1つ又は複数の暗号キーを記憶する特定のメモリ位置を備えることを特徴とする請求項15に記載のシステム。
  17. 前記メモリセルアレイは、持続性メモリを備えることを特徴とする請求項14に記載のシステム。
  18. 前記メモリセルアレイは、ダイナミック・ランダム・アクセス・メモリ(DRAM)を備えることを特徴とする請求項14に記載のシステム。
  19. 前記メモリセルアレイは、相変化メモリ(PCM)を備えることを特徴とする請求項14に記載のシステム。
  20. 前記メモリセルアレイは更に、安全であり得る前記メモリセルアレイの1つ又は複数の位置を表す情報を記憶する特定のメモリ位置を備えることを特徴とする請求項14に記載のシステム。
  21. 更に、仮想環境を提供するハイパーバイザーを備えることを特徴とする請求項14に記載のシステム。
JP2011175264A 2010-09-30 2011-08-10 プロセッサメインメモリのメモリコンテンツのセキュリティ保護 Active JP5500458B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/895,574 US8613074B2 (en) 2010-09-30 2010-09-30 Security protection for memory content of processor main memory
US12/895,574 2010-09-30

Publications (2)

Publication Number Publication Date
JP2012089108A true JP2012089108A (ja) 2012-05-10
JP5500458B2 JP5500458B2 (ja) 2014-05-21

Family

ID=45832691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011175264A Active JP5500458B2 (ja) 2010-09-30 2011-08-10 プロセッサメインメモリのメモリコンテンツのセキュリティ保護

Country Status (6)

Country Link
US (2) US8613074B2 (ja)
JP (1) JP5500458B2 (ja)
KR (1) KR101378639B1 (ja)
CN (1) CN102541765B (ja)
DE (1) DE102011082184A1 (ja)
TW (1) TWI441024B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
KR102068485B1 (ko) 2012-11-30 2020-01-21 삼성전자주식회사 불 휘발성 메모리 모듈 및 그것의 동작 방법
US9729309B2 (en) * 2012-12-19 2017-08-08 Intel Corporation Securing data transmission between processor packages
CN103914664A (zh) * 2012-12-31 2014-07-09 比亚迪股份有限公司 具有内部存储体保护功能的控制器与控制方法
US9262259B2 (en) 2013-01-14 2016-02-16 Qualcomm Incorporated One-time programmable integrated circuit security
CN103793332B (zh) * 2014-02-28 2017-03-01 中国科学院微电子研究所 基于内存的数据存储方法、装置、处理器和电子设备
EP3189619B1 (en) 2014-09-03 2021-02-17 NantOmics, LLC Device, method and computer program product for synthetic genomic variant-based secure transaction
US9710622B2 (en) * 2015-02-23 2017-07-18 Intel Corporation Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache
US9864879B2 (en) * 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
KR102466412B1 (ko) * 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10678924B2 (en) * 2016-08-10 2020-06-09 Qualcomm Incorporated Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory
EP3387535B1 (en) 2016-08-25 2021-12-29 Huawei Technologies Co., Ltd. Apparatus and method for software self test
US10652025B2 (en) * 2017-07-10 2020-05-12 Micron Technology, Inc. Secure snapshot management for data storage devices
US11139985B2 (en) * 2018-12-04 2021-10-05 Journey.ai Receiving information through a zero-knowledge data management network
US11036887B2 (en) * 2018-12-11 2021-06-15 Micron Technology, Inc. Memory data security
US11256427B2 (en) * 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
US11321468B2 (en) * 2018-12-31 2022-05-03 Micron Technology, Inc. Systems for providing access to protected memory
US10921996B2 (en) * 2019-03-22 2021-02-16 Micron Technology, Inc. Data lines updating for data generation
US11120167B2 (en) * 2019-03-25 2021-09-14 Micron Technology, Inc. Block chain based validation of memory commands
JP7332083B2 (ja) * 2019-04-19 2023-08-23 インテル・コーポレーション マルチモード保護メモリ
EP3751572B1 (en) 2019-06-13 2021-12-01 Melexis Technologies NV Memory device
US11487908B2 (en) * 2019-08-16 2022-11-01 Macronix International Co., Ltd. Secure memory
US11264063B2 (en) * 2019-08-21 2022-03-01 Macronix International Co., Ltd. Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
US11379156B2 (en) * 2020-08-19 2022-07-05 Micron Technology, Inc. Write type indication command
CN114914237B (zh) * 2022-07-19 2022-10-25 北京智芯微电子科技有限公司 Romkey单元的版图结构、芯片版图布局方法及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182525A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd 記憶装置
JP2006031097A (ja) * 2004-07-12 2006-02-02 Matsushita Electric Ind Co Ltd 通信システムならびにそれに用いられる通信端末、認証情報管理方法、認証情報管理プログラムおよび認証情報管理プログラムを格納する記録媒体
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
JP2009075913A (ja) * 2007-09-21 2009-04-09 Dainippon Printing Co Ltd プラットフォーム型icカード、プラットフォーム型icカード用プログラム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0358163A (ja) 1989-07-26 1991-03-13 Nec Corp 疎結合型マルチプロセッサシステム
JPH06150031A (ja) 1992-10-30 1994-05-31 Nec Corp Cpuモジュール
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JPH0816740A (ja) 1994-06-24 1996-01-19 Toshiba Corp 携帯可能な情報処理装置及び情報処理システム
JPH0816470A (ja) 1994-07-04 1996-01-19 Hitachi Ltd 並列計算機
JP3320562B2 (ja) 1994-09-22 2002-09-03 株式会社東芝 キャッシュメモリを有する電子計算機
JP3210590B2 (ja) 1996-11-29 2001-09-17 株式会社日立製作所 マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法
JPH10171676A (ja) 1996-12-10 1998-06-26 Toshiba Corp マイクロプロセッサのテスト容易化回路
US6625756B1 (en) 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6807615B1 (en) 1999-04-08 2004-10-19 Sun Microsystems, Inc. Apparatus and method for providing a cyclic buffer using logical blocks
US20080282128A1 (en) 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6516384B1 (en) 1999-12-30 2003-02-04 Intel Corporation Method and apparatus to perform a round robin and locking cache replacement scheme
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6452823B1 (en) 2001-01-31 2002-09-17 Motorola, Inc. Non-volatile magnetic cache memory and method of use
WO2002077878A1 (en) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointers for secure data storage
US7269608B2 (en) 2001-05-30 2007-09-11 Sun Microsystems, Inc. Apparatus and methods for caching objects using main memory and persistent memory
US6760819B2 (en) 2001-06-29 2004-07-06 International Business Machines Corporation Symmetric multiprocessor coherence mechanism
KR20040015818A (ko) * 2001-07-18 2004-02-19 마츠시타 덴끼 산교 가부시키가이샤 기입장치, 반도체 메모리 카드, 기입프로그램 및 기입방법
US6658539B2 (en) 2001-10-16 2003-12-02 International Business Machines Corporation Super-coherent data mechanisms for shared caches in a multiprocessing system
US6983348B2 (en) 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US7035987B2 (en) 2002-07-02 2006-04-25 Intel Corporation Managing storage in processor-based systems
US7103718B2 (en) 2002-09-03 2006-09-05 Hewlett-Packard Development Company, L.P. Non-volatile memory module for use in a computer system
US6892283B2 (en) 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
JP4241175B2 (ja) 2003-05-09 2009-03-18 株式会社日立製作所 半導体装置
US20050080999A1 (en) 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
US20050160229A1 (en) 2004-01-16 2005-07-21 International Business Machines Corporation Method and apparatus for preloading translation buffers
US7644287B2 (en) * 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
US7240137B2 (en) 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
US7451166B2 (en) * 2005-01-13 2008-11-11 International Business Machines Corporation System and method for maintaining checkpoints of a keyed data structure using a sequential log
CN101180612A (zh) 2005-03-31 2008-05-14 日本电气株式会社 计算机系统、存储器管理方法及其程序
US20060265544A1 (en) * 2005-05-17 2006-11-23 John Rudelic Internally authenticated flash remediation
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
US7389402B2 (en) 2005-06-07 2008-06-17 Advanced Micro Devices, Inc. Microprocessor including a configurable translation lookaside buffer
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
WO2007105256A1 (ja) 2006-02-24 2007-09-20 Fujitsu Limited マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法
WO2008040028A2 (en) 2006-09-28 2008-04-03 Virident Systems, Inc. Systems, methods, and apparatus with programmable memory control for heterogeneous main memory
US7761625B2 (en) 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory with non-volatile type memory modules, and related technologies
US7917812B2 (en) 2006-09-30 2011-03-29 Codman Neuro Sciences Sárl Resetting of multiple processors in an electronic device
US7827360B2 (en) 2007-08-02 2010-11-02 Freescale Semiconductor, Inc. Cache locking device and methods thereof
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
CN100492274C (zh) 2007-08-17 2009-05-27 杭州华三通信技术有限公司 存储控制系统及其处理节点
US8015365B2 (en) 2008-05-30 2011-09-06 Intel Corporation Reducing back invalidation transactions from a snoop filter
US8301848B2 (en) * 2008-06-09 2012-10-30 International Business Machines Corporation Virtualizing storage for WPAR clients using node port ID virtualization
US20090313416A1 (en) 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US8055847B2 (en) 2008-07-07 2011-11-08 International Business Machines Corporation Efficient processing of data requests with the aid of a region cache
US8250350B2 (en) 2008-08-26 2012-08-21 Texas Digital And Multimedia Systems Computer system with non-volatile write-protected memory based operating system and secure system architecture
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
TW201017421A (en) 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
US8261019B2 (en) 2009-02-13 2012-09-04 Oracle America, Inc. Conveying critical data in a multiprocessor system
US8250282B2 (en) 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US8180981B2 (en) 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
US8296496B2 (en) 2009-09-17 2012-10-23 Hewlett-Packard Development Company, L.P. Main memory with non-volatile memory and DRAM
US8291175B2 (en) 2009-10-16 2012-10-16 Oracle America, Inc. Processor-bus attached flash main-memory module
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182525A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd 記憶装置
JP2006031097A (ja) * 2004-07-12 2006-02-02 Matsushita Electric Ind Co Ltd 通信システムならびにそれに用いられる通信端末、認証情報管理方法、認証情報管理プログラムおよび認証情報管理プログラムを格納する記録媒体
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
JP2009075913A (ja) * 2007-09-21 2009-04-09 Dainippon Printing Co Ltd プラットフォーム型icカード、プラットフォーム型icカード用プログラム

Also Published As

Publication number Publication date
JP5500458B2 (ja) 2014-05-21
TW201229761A (en) 2012-07-16
TWI441024B (zh) 2014-06-11
DE102011082184A1 (de) 2012-04-05
US20140108823A1 (en) 2014-04-17
KR20120034015A (ko) 2012-04-09
US9317450B2 (en) 2016-04-19
US8613074B2 (en) 2013-12-17
KR101378639B1 (ko) 2014-03-26
CN102541765B (zh) 2015-07-22
US20120084573A1 (en) 2012-04-05
CN102541765A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
JP5500458B2 (ja) プロセッサメインメモリのメモリコンテンツのセキュリティ保護
US8213618B2 (en) Protecting content on client platforms
KR102244645B1 (ko) 인증된 변수의 관리
US9547772B2 (en) Secure vault service for software components within an execution environment
EP3047375B1 (en) Virtual machine manager facilitated selective code integrity enforcement
US8499151B2 (en) Secure platform voucher service for software components within an execution environment
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
JP5647360B2 (ja) メモリ範囲を無作為に割り当てたセキュアシステムにおいてjitをサポートするためのシステム及び方法
US9582656B2 (en) Systems for validating hardware devices
US20200082088A1 (en) User/Enterprise Data Protection Preventing Non-Authorized Firmware Modification
EP2947594A2 (en) Protecting critical data structures in an embedded hypervisor system
US10360370B2 (en) Authenticated access to manageability hardware components
JP2019122030A (ja) コード署名の条件付き規定に基づくセキュアクライアント認証
CN110352411B (zh) 用于控制对安全计算资源的访问的方法和装置
JP6257844B2 (ja) 実行制御装置及び実行制御方法及び実行制御プログラム
Francis et al. TPM: A More Trustworthy Solution to Computer Security

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130828

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140227

R150 Certificate of patent or registration of utility model

Ref document number: 5500458

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250