JP2006203564A - マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 - Google Patents
マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 Download PDFInfo
- Publication number
- JP2006203564A JP2006203564A JP2005013190A JP2005013190A JP2006203564A JP 2006203564 A JP2006203564 A JP 2006203564A JP 2005013190 A JP2005013190 A JP 2005013190A JP 2005013190 A JP2005013190 A JP 2005013190A JP 2006203564 A JP2006203564 A JP 2006203564A
- Authority
- JP
- Japan
- Prior art keywords
- program
- data
- value
- data string
- execution
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2105—Dual mode as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】 サーバ20から送出されたプログラムを記憶する内部メモリ42と、当該内部メモリ42に記憶されたプログラムを実行するCPU41と、前記プログラムの実行が終了した時点で、CPU41により実行されたプログラムに所定のハッシュ関数を演算するハッシュ値算出部103と、ノード10に固有であり、秘密鍵記憶部105に記憶されている秘密鍵を用いて、ハッシュ関数が演算されたプログラム及び前記プログラムの実行結果にデジタル署名を行うデジタル署名実行部104と、を備える。
【選択図】 図2
Description
G. E. Suh, D. Clarke, B. Gassend, M. van Dijk, and S. Devadas, "AEGIS: Architecture for tamper-evident and tamper-resistant processing", Proc. of the 17th Int. Conference on Supercomputing, June 2003.
次に、本発明に係るプログラム実行の証明手順について、図面を参照しながら説明する。図2は、本発明の一実施形態に係るコンピュータシステムの機能ブロック図である。本実施形態においては、サーバ20から送出されたプログラムをノード10が実行し、実行したプログラム及び当該プログラムの実行結果を含む結果情報を再度サーバ20に送出するようなグリッドコンピューティングの例について説明する。また、本実施形態においては、暗号化と復号化とで異なる鍵を用いる「公開鍵暗号方式」について説明するが、鍵が他人に秘匿されることなく配送できるのであれば「共通鍵暗号方式」を用いてもよい。公開鍵暗号方式としては、例えば、RSAや楕円曲線暗号等が挙げられる。
まず、プログラム実行部40を構成するCPUとメモリとが耐タンパ性を持つ1チップで構成されている場合の実施形態について説明する。この場合は、攻撃者がメモリバスラインを監視することが不可能なので、メモリに対して外部から攻撃することはできない。そのため、メモリの内容を信頼することができる。この場合について、プログラムの実行証明を行うためのCPU及びメモリを備えるマイクロプロセッサの処理について説明する。また、本実施形態においては、さしあたりシングルタスクOSを前提とする。
前述の実施形態1においては、CPUとメモリとが同一チップ上に載っている場合について説明したが、実際のグリッドコンピューティングに参加するような現在のコンピュータは、CPUとメモリとが別のチップで構成されていることが多い。その場合、メモリバスを監視されてソフトウェア的な攻撃をされたり、それとは別にハードウェア的な攻撃をされたりすることが想定される。ハードウェア的な攻撃とは、例えば、メモリバスにメモリではなくメモリエミュレータを接続し、CPUとは独立にメモリの任意のアドレスを任意のタイミングで観測し、任意の値に改ざんすることなどである。そこで、本実施形態2及び以下の実施形態3〜6においては、CPUとメモリとが別のチップで構成されている、つまり、メモリ(外部メモリ)が攻撃される可能性がありそこに記憶されたデータが信頼できない場合に、プログラムの実行証明を行う例について説明する。
図10は、splicing attackと呼ばれる攻撃を説明するための模式図である。ある時刻t0において、CPU50はキャッシュメモリ70に記憶された正当なデータAを外部メモリ60に書き出す。そして、ある時刻t1において、攻撃者は外部メモリ60に記憶されたデータAを、別のアドレスに上書きする。その後、時刻t2において、CPU50が外部メモリ60上の攻撃者が書き込んだデータを読み込んだ場合、読み込まれたデータに例えデータのMAC値が付加されているとしても、当該MAC値は正しいのでCPU50はデータの改ざんが行われたことを検知することができない。そのため、以後CPU50は誤った処理を行うこととなり、実行されたプログラムの実行結果も誤ったものとなる。これが、splicing attackと呼ばれる攻撃である。
図13は、再生攻撃(replay attack)と呼ばれる攻撃の一形態を説明するための模式図である。時刻t0において、CPU50はキャッシュメモリ70に記憶された正当なデータAを外部メモリ60に書き出す。攻撃者は、外部メモリ60を観測し、書き出されたデータAを記憶する。そして、ある時刻t1において、CPU50はキャッシュメモリ70に記憶された正当なデータBを外部メモリ60上の同じアドレスに上書きする。その後、ある時刻t2において、攻撃者は外部メモリ60に記憶されたデータBを、同じアドレス上でデータAに書き換える。
図17は、再生攻撃(replay attack)と呼ばれる攻撃の他の一形態を説明するための模式図である。ある時刻t0において、CPU50はキャッシュメモリ70に記憶された正当なデータAを外部メモリ60に書き出す。攻撃者は、外部メモリ60を観測し、書き出されたデータAを記憶する。そして、その後の時刻t1において、CPU50はキャッシュメモリ70に記憶された正当なデータBを外部メモリ60上の同じアドレスに上書きする。攻撃者は、さらに、外部メモリ60を観測し、書き出されたデータBを記憶する。そして、その後の時刻t2において、攻撃者は外部メモリ60に記憶されたデータBを、同じアドレス上でデータAに書き換える。その後の時刻t3において、CPU50が外部メモリ60上の当該アドレスからデータを読み込むと、読み込まれたデータは正当なデータBではなく改ざんされた後のデータAとなる。
以上説明したように実施形態5によれば、データとカウンタ値(WRC値)とのMAC値を算出し、その値も外部メモリ60内に記憶させる構成とすることで、図17に示した形態のreplay attackのみならず、図7に示したspoofing attack、図10に示したsplicing attack、及び図13に示した形態のreplay attackをも有効に防ぐことを可能とした。以下に、このMAC値を外部メモリ60内に記憶させることなく、上記の攻撃を有効に防ぐことが可能な他の実施形態について説明する。
(A)以上説明した実施形態4及び5においては、攻撃者はCPUが備えられたチップから外部に出るデータバス、アドレスバス、メモリ制御信号等を観測することで、アドレス毎の書き出し及び読み込みのアクセス回数がわかる。その場合、WRC値が桁溢れしてしまうと、攻撃者はWRC値が同じでデータとMAC値とは異なるデータを複数観測して記録することができる。したがって、WRC値がある値のとき、事前に記録しておいた、データとMAC値は異なるが、WRC値が同じであるデータと差し替えるというreplay attackが可能である。
101 通信制御部
102 プログラム記憶部
103 ハッシュ値算出部
104 デジタル署名実行部
105 秘密鍵記憶部
106 デジタル署名記憶部
20 サーバ
201 通信制御部
202 プログラム記憶部
203 ハッシュ値算出部
204 ハッシュ値比較部
205 デジタル署名検証部
206 公開鍵記憶部
40 プログラム実行部
Claims (10)
- 少なくとも1台のサーバ端末とネットワーク接続可能に構成され、前記サーバ端末から受け取ったプログラムを実行した後、少なくとも当該プログラムの実行結果を含む結果情報を前記サーバ端末に送出可能なノード端末に備えられ、外部から直接アクセスすることができない耐タンパ性を有するマイクロプロセッサであって、
前記サーバ端末から送出されたプログラムを記憶する第1の記憶手段と、
当該第1の記憶手段に記憶されたプログラムを実行する処理手段と、
前記プログラムの実行が終了した時点で、前記処理手段により実行されたプログラムに所定の第1の一方向性関数を演算する第1の一方向性関数演算手段と、
前記ノード端末に固有であり、公開鍵暗号方式で用いられる秘密鍵を記憶する秘密鍵記憶手段と、
前記秘密鍵記憶手段に記憶されている秘密鍵を用いて、前記第1の一方向性関数が演算されたプログラムと、前記処理手段から得られるプログラムの実行結果とにデジタル署名を行う署名実行手段と、
前記署名実行手段によりデジタル署名が行われたプログラムとプログラムの実行結果とを前記結果情報としてサーバ端末に送出する送出手段と、
を備えることを特徴とするマイクロプロセッサ。 - 少なくとも1台のサーバ端末とネットワーク接続可能に構成され、前記サーバ端末から受け取ったプログラムを実行した後、少なくとも当該プログラムの実行結果を含む結果情報を前記サーバ端末に送出可能なノード端末に備えられ、外部から直接アクセスすることができない耐タンパ性を有するマイクロプロセッサであって、
前記サーバ端末から送出されたプログラムを記憶する第1の記憶手段と、
当該第1の記憶手段に記憶されたプログラムを実行する処理手段と、
前記プログラムの実行が終了した時点で、前記処理手段により実行されたプログラムと当該プログラムの実行結果とに所定の第1の一方向性関数を演算する第1の一方向性関数演算手段と、
前記ノード端末に固有であり、公開鍵暗号方式で用いられる秘密鍵を記憶する秘密鍵記憶手段と、
前記秘密鍵記憶手段に記憶されている秘密鍵を用いて、前記第1の一方向性関数が演算されたプログラムとプログラムの実行結果とにデジタル署名を行う署名実行手段と、
前記処理手段から得られるプログラムの実行結果並びに前記署名実行手段によりデジタル署名が行われたプログラムとプログラムの実行結果とを前記結果情報としてサーバ端末に送出する送出手段と、
を備えることを特徴とするマイクロプロセッサ。 - 請求項1又は2に記載のマイクロプロセッサであって、
前記マイクロプロセッサは、前記ノード端末に備えられた第2の記憶手段と接続可能に構成され、少なくとも当該第2の記憶手段の予め指定されたアドレス範囲である保証領域との間でデータのやり取りが可能に構成されており、
前記第2の記憶手段の保証領域との間でデータのやり取りが可能な第3の記憶手段と、
所定の第2の一方向性関数を演算する際に用いる鍵を生成する鍵生成手段と、
前記第3の記憶手段から送出されたデータを受け取り、前記鍵生成手段により生成された鍵を用いて、前記第2の一方向性関数を当該データに演算した結果である関数値を算出する関数値算出手段と、
前記第3の記憶手段から送出されたデータと、前記関数値算出手段により算出された当該データの関数値とを1つにまとめ、共通鍵暗号方式を用いて暗号化したデータ列を生成するデータ列生成手段と、
前記保証領域の指定されたアドレスに、前記データ列生成手段により生成されたデータ列を書き出す書き出し手段と、
前記保証領域の指定されたアドレスからデータ列を読み込む読み込み手段と、
前記読み込み手段により読み込まれたデータ列を共通鍵暗号方式を用いて復号化する復号化手段と、
前記読み込み手段により読み込まれ前記復号化手段により復号化されたデータ列に含まれる関数値と、前記関数値算出手段により算出された、前記読み込み手段により読み込まれたデータ列に含まれるデータの関数値とを比較し、それらが一致している場合に当該読み込まれたデータ列は改ざんされていないと判定する検証手段と、
をさらに備えることを特徴とするマイクロプロセッサ。 - 乱数を生成する乱数生成手段をさらに備え、
前記鍵生成手段は、前記第3の記憶手段から送出されたデータが書き出される前記保証領域のアドレスを前記第3の記憶手段から受け取り、当該アドレスと前記乱数生成手段により生成された乱数とに基づいて、鍵を生成することを特徴とする請求項3記載のマイクロプロセッサ。 - 前記書き出し手段が前記保証領域に書き出しを行った回数を前記保証領域のアドレス毎に数える第1のカウント手段をさらに備え、
前記データ列生成手段は、前記第3の記憶手段から送出されたデータと、前記関数値算出手段により算出された当該データの関数値とに加え、前記第1のカウント手段により数えられた回数を1つにまとめ、共通鍵暗号方式を用いて暗号化したデータ列を生成するものであり、
前記書き出し手段が前記第2の記憶手段に書き出しを行った回数の総和を数える第2のカウント手段と、
前記プログラムの実行が終了した際に、前記読み込み手段が前記保証領域から読み込み、前記復号化手段が復号化したデータ列に含まれる、前記書き出し手段が前記保証領域に書き出しを行った回数を前記保証領域内のすべてのアドレスについて加算し、当該回数の総和を算出する第1のカウンタ値加算手段と、
前記第1のカウンタ値加算手段により算出された回数の総和と、前記第2のカウント手段により数えられた回数の総和とを比較し、それらが一致している場合に当該読み込まれたデータは改ざんされていないと判定する第1のカウンタ値検証手段と、
をさらに備えることを特徴とする請求項3乃至4のいずれかに記載のマイクロプロセッサ。 - 前記書き出し手段がデータ列を書き出す際、当該書き出しの前に前記読み込み手段によるデータ列の読み込みが行われる構成とされており、
前記読み込み手段が前記保証領域から読み込みを行った回数を前記保証領域のアドレス毎に数える第3のカウント手段をさらに備え、
前記データ列生成手段は、前記第3の記憶手段から送出されたデータと、前記関数値算出手段により算出された当該データの関数値とに加え、前記第3のカウント手段により数えられた回数を1つにまとめ、共通鍵暗号方式を用いて暗号化したデータ列を生成するものであり、
前記読み込み手段が前記第2の記憶手段から読み込みを行った回数の総和を数える第4のカウント手段と、
前記プログラムの実行が終了した際に、前記読み込み手段が前記保証領域から読み込み、前記復号化手段が復号化したデータ列に含まれる、前記読み込み手段が前記保証領域から読み込みを行った回数を前記保証領域内のすべてのアドレスについて加算し、当該回数の総和を算出する第2のカウンタ値加算手段と、
前記第2のカウンタ値加算手段により算出された回数の総和と、前記第2のカウント手段により数えられた回数の総和とを比較し、それらが一致している場合に当該読み込まれたデータは改ざんされていないと判定する第2のカウンタ値検証手段と、
をさらに備えることを特徴とする請求項3乃至4のいずれかに記載のマイクロプロセッサ。 - 請求項1又は2に記載のマイクロプロセッサであって、
前記マイクロプロセッサは、前記ノード端末に備えられた第2の記憶手段と接続可能に構成され、少なくとも当該第2の記憶手段の予め指定されたアドレス範囲である保証領域との間でデータのやり取りが可能に構成されており、
前記保証領域との間でデータのやり取りが可能な第3の記憶手段と、
前記保証領域へ書き出されるデータ列の履歴情報を記憶する書き出し履歴記憶手段と、
前記保証領域から読み込まれるデータ列の履歴情報を記憶する読み込み履歴記憶手段と、
前記保証領域の指定されたアドレスからデータ列を読み込む読み込み手段と、
前記読み込み手段により読み込まれたデータ列を共通鍵暗号方式を用いて復号化する復号化手段と、
前記読み込み手段が前記保証領域から読み込みを行った回数を前記保証領域のアドレス毎に数える第3のカウント手段と、
前記読み込み手段が前記保証領域から読み込みを行った回数の総和を数える第4のカウント手段と、
乱数を発生する乱数発生手段と、
前記復号化手段から受け取ったデータ列に含まれるデータ及び回数、並びに当該データ列が記憶されていたアドレスとに、前記乱数発生手段から受け取った乱数を鍵として所定の暗号化処理を施した暗号化データを生成するスクランブル関数演算手段と、
前記スクランブル関数演算手段から受け取った暗号化データと、前記読み込み履歴記憶手段から受け取った履歴情報との排他的論理和を計算し、当該計算結果を前記読み込み履歴記憶手段に記憶させる排他的論理和演算手段と、
書き出し処理が指示された場合には前記第3の記憶手段から送出されたデータであり、読み込み処理が指示された場合には前記保証領域から読み込まれたデータであるいずれか一方のデータと、前記第3のカウント手段から受け取った回数とを1つにまとめ、共通鍵暗号方式を用いて暗号化したデータ列を生成するデータ列生成手段と、
前記保証領域の指定されたアドレスに、前記データ列生成手段により生成されたデータ列を書き出す書き出し手段と、
をさらに備え、
前記書き出し手段がデータ列を書き出す際、当該書き出しの前に前記読み込み手段によるデータ列の読み込みが行われる構成とされており、
前記排他的論理和演算手段は、さらに、書き出し処理が指示された場合には前記第3の記憶手段から送出されたデータであり、読み込み処理が指示された場合には前記保証領域から読み込まれたデータであるいずれか一方のデータと、前記第3のカウント手段から受け取った回数と、当該データが記憶されていたあるいは書き出されるアドレスとに、前記スクランブル関数演算手段において暗号化処理が施された暗号化データと、前記書き出し履歴記憶手段から受け取った履歴情報との排他的論理和を計算し、当該計算結果を前記書き出し履歴記憶手段に記憶させる処理も行う構成とされ、
前記プログラムの実行が終了した際に、前記読み込み手段により前記保証領域内のアドレスからデータ列が読み込まれ、前記復号化手段により当該データ列の復号化が行われた後、前記スクランブル関数演算手段により、当該データ列に含まれるデータ及び回数と当該データ列が記憶されていたアドレスとに暗号化処理が施され、引き続き前記排他的論理和演算手段により前記読み込み履歴記憶手段の更新が行われると共に、前記第4のカウント手段に記憶されている回数の総和から前記回数が減算される処理が、前記保証領域内のすべてのアドレスについて行われるものであり、
前記マイクロプロセッサは、
前記前記第4のカウント手段に記憶されている回数の総和がゼロか否かを判定するカウンタ値判定手段と、
前記読み込み履歴記憶手段と書き出し履歴記憶手段の記憶内容が一致するか否かを判定する履歴比較手段と、
前記カウンタ値判定手段により前記回数の総和がゼロであると判定され、かつ前記履歴比較手段により前記読み込み履歴記憶手段と書き出し履歴記憶手段の記憶内容が一致すると判定された場合に、プログラム実行時に前記保証領域内に記憶されたデータ列は改ざんされていないと判定する判定手段と、
をさらに備えることを特徴とするマイクロプロセッサ。 - 少なくとも1台のサーバ端末とネットワーク接続可能に構成され、前記サーバ端末から送出されたプログラムを受け取り、当該プログラムを請求項1乃至7のいずれかに記載のマイクロプロセッサにより実行することを特徴とするノード端末。
- プログラムを送出し、当該プログラムの実行を指示するサーバ端末と、
前記サーバ端末から受け取ったプログラムを実行した後、少なくとも当該プログラムの実行結果を含む結果情報を前記サーバ端末に送出する少なくとも1台の請求項8記載のノード端末と、をネットワーク接続したコンピュータシステムであって、
前記サーバ端末は、
前記ノード端末に固有の秘密鍵に対応する公開鍵を記憶する公開鍵記憶手段と、
前記公開鍵記憶手段に記憶された公開鍵を用いて、前記ノード端末から受け取ったデジタル署名を検証し、前記結果情報から前記第1の一方向性関数演算手段の演算結果を抽出する署名検証手段と、
前記サーバ端末から送出したプログラムに前記第1の一方向性関数を演算する第2の一方向性関数演算手段と、
前記第2の一方向性関数演算手段の演算結果と、前記署名検証手段により抽出された演算結果とを比較し、それらが一致している場合に前記プログラムはノード端末において正常に実行されたと判定する比較手段と、
を備えることを特徴とするコンピュータシステム。 - プログラムを送出し、当該プログラムの実行を指示するサーバ端末と、
前記サーバ端末から受け取ったプログラムを実行した後、少なくとも当該プログラムの実行結果を含む結果情報を前記サーバ端末に送出する少なくとも1台のノード端末と、をネットワーク接続したコンピュータシステムにおけるプログラム実行証明方法であって、
前記ノード端末は、
前記サーバ端末から送出されたプログラムを記憶する第1の記憶工程と、
当該第1の記憶工程により記憶されたプログラムを実行する処理工程と、
前記プログラムの実行が終了した時点で、前記処理工程により実行されたプログラムに所定の第1の一方向性関数を演算する第1の一方向性関数演算工程と、
前記ノード端末に固有であり、公開鍵暗号方式で用いられる秘密鍵を記憶する秘密鍵記憶工程と、
前記ノード端末に固有のデジタル署名として、前記秘密鍵記憶工程により記憶されている秘密鍵を用いて、前記第1の一方向性関数が演算されたプログラム及び前記プログラムの実行結果の暗号化を行う暗号化工程と、
を備え、
前記サーバ端末は、
前記ノード端末に固有の秘密鍵に対応する公開鍵を記憶する公開鍵記憶工程と、
前記公開鍵記憶工程により記憶された公開鍵を用いて、前記ノード端末から受け取ったデジタル署名を検証し、前記第1の一方向性関数演算工程による演算結果を抽出する署名検証工程と、
前記サーバ端末から送出したプログラムに所定の第1の一方向性関数を演算する第2の一方向性関数演算工程と、
前記第2の一方向性関数演算工程による演算結果と、前記署名検証工程により抽出された演算結果とを比較し、それらが一致している場合に前記プログラムはノード端末において正常に実行されたと判定する比較工程と、
を備えることを特徴とするプログラム実行証明方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005013190A JP2006203564A (ja) | 2005-01-20 | 2005-01-20 | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
US11/182,049 US7577852B2 (en) | 2005-01-20 | 2005-07-13 | Microprocessor, a node terminal, a computer system and a program execution proving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005013190A JP2006203564A (ja) | 2005-01-20 | 2005-01-20 | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006203564A true JP2006203564A (ja) | 2006-08-03 |
Family
ID=36685332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005013190A Pending JP2006203564A (ja) | 2005-01-20 | 2005-01-20 | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7577852B2 (ja) |
JP (1) | JP2006203564A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008263577A (ja) * | 2007-04-11 | 2008-10-30 | Cyberlink Corp | 暗号化されたプログラムを実行するシステムおよび方法 |
JP2010086309A (ja) * | 2008-09-30 | 2010-04-15 | Dainippon Printing Co Ltd | 携帯型コンテンツ管理装置 |
WO2010134192A1 (ja) * | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
JP2011155542A (ja) * | 2010-01-28 | 2011-08-11 | Kddi Corp | 撮影写真の証拠保全システム、撮影写真の証拠保全方法およびプログラム |
JP2012068959A (ja) * | 2010-09-24 | 2012-04-05 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2012226711A (ja) * | 2011-04-22 | 2012-11-15 | Sony Corp | 情報処理装置および情報処理方法 |
WO2022162797A1 (ja) * | 2021-01-27 | 2022-08-04 | 日本電信電話株式会社 | 情報処理装置、プログラム実行システム、情報処理方法、及びプログラム |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007214766A (ja) * | 2006-02-08 | 2007-08-23 | Konica Minolta Business Technologies Inc | 画像データ処理装置、画像データ処理方法、プログラム及び記録媒体 |
EP1879323B1 (en) * | 2006-07-11 | 2015-09-09 | Sap Se | A method and system for protecting path and data of a mobile agent within a network system |
US20080082819A1 (en) * | 2006-09-28 | 2008-04-03 | Jack Brizek | Authenticating data returned from non-volatile memory commands |
US8433927B2 (en) * | 2007-05-29 | 2013-04-30 | International Business Machines Corporation | Cryptographically-enabled privileged mode execution |
US8332635B2 (en) * | 2007-05-29 | 2012-12-11 | International Business Machines Corporation | Updateable secure kernel extensions |
US8422674B2 (en) * | 2007-05-29 | 2013-04-16 | International Business Machines Corporation | Application-specific secret generation |
US8166304B2 (en) * | 2007-10-02 | 2012-04-24 | International Business Machines Corporation | Support for multiple security policies on a unified authentication architecture |
US8332636B2 (en) * | 2007-10-02 | 2012-12-11 | International Business Machines Corporation | Secure policy differentiation by secure kernel design |
US20090125562A1 (en) * | 2007-11-08 | 2009-05-14 | International Business Machines Corporation | Methods and systems involving checking memory integrity |
JP2009146548A (ja) * | 2007-12-18 | 2009-07-02 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4998314B2 (ja) * | 2008-02-19 | 2012-08-15 | コニカミノルタホールディングス株式会社 | 通信制御方法および通信制御プログラム |
CN101299849B (zh) * | 2008-04-25 | 2010-05-12 | 中兴通讯股份有限公司 | 一种WiMAX终端及其启动方法 |
US8776247B2 (en) * | 2008-08-22 | 2014-07-08 | Telit Automotive Solutions Nv | Verification of process integrity |
US8589698B2 (en) * | 2009-05-15 | 2013-11-19 | International Business Machines Corporation | Integrity service using regenerated trust integrity gather program |
CN101848049A (zh) * | 2010-03-18 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 基于数字广播的信息服务系统 |
JP5684514B2 (ja) * | 2010-08-19 | 2015-03-11 | 株式会社東芝 | 冗長化制御システム、及びその演算データの伝送方法 |
WO2012047200A1 (en) * | 2010-10-05 | 2012-04-12 | Hewlett-Packard Development Company, L. P. | Scrambling an address and encrypting write data for storing in a storage device |
US9092644B2 (en) * | 2011-12-28 | 2015-07-28 | Intel Corporation | Method and system for protecting memory information in a platform |
JP2014048414A (ja) * | 2012-08-30 | 2014-03-17 | Sony Corp | 情報処理装置、情報処理システム、情報処理方法及びプログラム |
US9298947B2 (en) | 2013-02-07 | 2016-03-29 | Qualcomm Incorporated | Method for protecting the integrity of a fixed-length data structure |
WO2015157842A1 (en) * | 2014-04-16 | 2015-10-22 | Elliptic Technologies Inc. | Secured memory system and method therefor |
US10019603B2 (en) * | 2014-04-16 | 2018-07-10 | Synopsys, Inc. | Secured memory system and method therefor |
IL234956A (en) * | 2014-10-02 | 2017-10-31 | Kaluzhny Uri | Data bus protection with enhanced key entropy |
US9626119B2 (en) * | 2014-11-14 | 2017-04-18 | Intel Corporation | Using counters and a table to protect data in a storage device |
US9672351B2 (en) * | 2015-02-02 | 2017-06-06 | Qualcomm Incorporated | Authenticated control stacks |
US9934412B2 (en) | 2015-06-23 | 2018-04-03 | Microsoft Technology Licensing, Llc | Implementing replay protected storage |
US10652319B2 (en) * | 2015-12-16 | 2020-05-12 | Dell Products L.P. | Method and system for forming compute clusters using block chains |
US11397692B2 (en) * | 2018-06-29 | 2022-07-26 | Intel Corporation | Low overhead integrity protection with high availability for trust domains |
US20200242265A1 (en) * | 2019-01-30 | 2020-07-30 | EMC IP Holding Company LLC | Detecting abnormal data access patterns |
US11743053B2 (en) * | 2019-12-03 | 2023-08-29 | Keisuke Kido | Electronic signature system and tamper-resistant device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339153A (ja) * | 1999-05-25 | 2000-12-08 | Nippon Telegr & Teleph Corp <Ntt> | プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体 |
JP2001236314A (ja) * | 2000-02-24 | 2001-08-31 | Mitsubishi Electric Corp | 不正通信ソフトウェア検出方法 |
JP2002108811A (ja) * | 2000-07-24 | 2002-04-12 | Sony Corp | データ処理装置およびデータ処理方法、並びにプログラム提供媒体 |
JP2003140971A (ja) * | 2001-11-05 | 2003-05-16 | Mitsubishi Electric Corp | データ改竄検出システム |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AR003524A1 (es) * | 1995-09-08 | 1998-08-05 | Cyber Sign Japan Inc | Un servidor de verificacion para ser utilizado en la autenticacion de redes de computadoras. |
US5892899A (en) * | 1996-06-13 | 1999-04-06 | Intel Corporation | Tamper resistant methods and apparatus |
US5841869A (en) * | 1996-08-23 | 1998-11-24 | Cheyenne Property Trust | Method and apparatus for trusted processing |
US6477648B1 (en) * | 1997-03-23 | 2002-11-05 | Novell, Inc. | Trusted workstation in a networked client/server computing system |
JPH10301773A (ja) * | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
US6308270B1 (en) * | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
AU6401999A (en) * | 1998-09-28 | 2000-04-17 | Argus Systems Group, Inc. | Trusted compartmentalized computer operating system |
US7055040B2 (en) * | 1999-04-02 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for uniquely and securely loading software to an individual computer |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
KR100359928B1 (ko) * | 2000-07-03 | 2002-11-07 | 주식회사 모빌탑 | 휴대통신단말기용 콘텐츠 프로그램 전송방법 및 그 실행방법 |
JPWO2002057904A1 (ja) * | 2001-01-19 | 2004-05-27 | 富士通株式会社 | ダウンロード機能を有する制御装置 |
GB2372595A (en) * | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of and apparatus for ascertaining the status of a data processing environment. |
US7181747B2 (en) * | 2001-10-01 | 2007-02-20 | Canon Kabushiki Kaisha | Method and device for executing a function with selection and sending of multiple results in a client-server environment |
JP2003216448A (ja) * | 2002-01-17 | 2003-07-31 | Ntt Docomo Inc | 移動通信端末及びデータ送信方法 |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7165135B1 (en) * | 2002-04-18 | 2007-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for controlling interrupts in a secure execution mode-capable processor |
US7603551B2 (en) * | 2003-04-18 | 2009-10-13 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
WO2003090052A2 (en) * | 2002-04-18 | 2003-10-30 | Advanced Micro Devices Inc. | A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path |
US7130977B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Controlling access to a control register of a microprocessor |
US20030226014A1 (en) * | 2002-05-31 | 2003-12-04 | Schmidt Rodney W. | Trusted client utilizing security kernel under secure execution mode |
JP3864249B2 (ja) * | 2002-06-04 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 暗号通信システム、その端末装置及びサーバ |
US7437752B2 (en) * | 2002-09-23 | 2008-10-14 | Credant Technologies, Inc. | Client architecture for portable device with security policies |
US7318155B2 (en) * | 2002-12-06 | 2008-01-08 | International Business Machines Corporation | Method and system for configuring highly available online certificate status protocol responders |
US7305554B2 (en) * | 2002-12-16 | 2007-12-04 | Alcatel Canada Inc. | Dynamic acquisition of state during security system reconfiguration |
US7603704B2 (en) * | 2002-12-19 | 2009-10-13 | Massachusetts Institute Of Technology | Secure execution of a computer program using a code cache |
US7594111B2 (en) * | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
JP3880933B2 (ja) * | 2003-01-21 | 2007-02-14 | 株式会社東芝 | 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法 |
JP4593078B2 (ja) * | 2003-02-28 | 2010-12-08 | 株式会社日立製作所 | 異なる計算機環境におけるジョブ実行方法及びそのプログラム |
JP2004304304A (ja) * | 2003-03-28 | 2004-10-28 | Fujitsu Ltd | 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム |
US7334123B2 (en) * | 2003-05-02 | 2008-02-19 | Advanced Micro Devices, Inc. | Computer system including a bus bridge for connection to a security services processor |
US7877604B2 (en) * | 2003-05-16 | 2011-01-25 | Intrinsic Id B.V. | Proof of execution using random function |
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 |
KR100560424B1 (ko) * | 2003-11-05 | 2006-03-13 | 한국전자통신연구원 | 접근이 제한되는 고비도 검증키를 갖는 변형된 디지털서명을 이용한 안전한 프로그래머블 패킷 전송 방법 |
US20050125537A1 (en) * | 2003-11-26 | 2005-06-09 | Martins Fernando C.M. | Method, apparatus and system for resource sharing in grid computing networks |
US20050132226A1 (en) * | 2003-12-11 | 2005-06-16 | David Wheeler | Trusted mobile platform architecture |
US20050132186A1 (en) * | 2003-12-11 | 2005-06-16 | Khan Moinul H. | Method and apparatus for a trust processor |
KR100576722B1 (ko) * | 2003-12-26 | 2006-05-03 | 한국전자통신연구원 | 웹서비스에 대한 메시지 보안 처리 시스템 및 방법 |
US7581107B2 (en) * | 2004-05-28 | 2009-08-25 | International Business Machines Corporation | Anonymity revocation |
US7386890B2 (en) * | 2004-06-30 | 2008-06-10 | Intel Corporation | Method and apparatus to preserve a hash value of an executable module |
US7356668B2 (en) * | 2004-08-27 | 2008-04-08 | Microsoft Corporation | System and method for using address bits to form an index into secure memory |
US7444523B2 (en) * | 2004-08-27 | 2008-10-28 | Microsoft Corporation | System and method for using address bits to signal security attributes of data in the address space |
US7143287B2 (en) * | 2004-10-21 | 2006-11-28 | International Business Machines Corporation | Method and system for verifying binding of an initial trusted device to a secured processing system |
JPWO2006129780A1 (ja) * | 2005-05-30 | 2009-01-08 | セイコーエプソン株式会社 | シーケンシャル書込においてベリファイ処理を行う不揮発性メモリ |
AU2006253347B2 (en) * | 2005-05-30 | 2009-09-10 | Seiko Epson Corporation | Semiconductor storage apparatus |
US7827596B2 (en) * | 2005-08-25 | 2010-11-02 | International Business Machines Corporation | Authenticating computed results in a public distributed computing environment |
US20080301448A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Security Against Corruption for Networked Storage |
-
2005
- 2005-01-20 JP JP2005013190A patent/JP2006203564A/ja active Pending
- 2005-07-13 US US11/182,049 patent/US7577852B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339153A (ja) * | 1999-05-25 | 2000-12-08 | Nippon Telegr & Teleph Corp <Ntt> | プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体 |
JP2001236314A (ja) * | 2000-02-24 | 2001-08-31 | Mitsubishi Electric Corp | 不正通信ソフトウェア検出方法 |
JP2002108811A (ja) * | 2000-07-24 | 2002-04-12 | Sony Corp | データ処理装置およびデータ処理方法、並びにプログラム提供媒体 |
JP2003140971A (ja) * | 2001-11-05 | 2003-05-16 | Mitsubishi Electric Corp | データ改竄検出システム |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008263577A (ja) * | 2007-04-11 | 2008-10-30 | Cyberlink Corp | 暗号化されたプログラムを実行するシステムおよび方法 |
JP2010086309A (ja) * | 2008-09-30 | 2010-04-15 | Dainippon Printing Co Ltd | 携帯型コンテンツ管理装置 |
WO2010134192A1 (ja) * | 2009-05-22 | 2010-11-25 | 三菱電機株式会社 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
JPWO2010134192A1 (ja) * | 2009-05-22 | 2012-11-08 | 三菱電機株式会社 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
US8533492B2 (en) | 2009-05-22 | 2013-09-10 | Mitsubishi Electric Corporation | Electronic device, key generation program, recording medium, and key generation method |
JP2011155542A (ja) * | 2010-01-28 | 2011-08-11 | Kddi Corp | 撮影写真の証拠保全システム、撮影写真の証拠保全方法およびプログラム |
JP2012068959A (ja) * | 2010-09-24 | 2012-04-05 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
US8732480B2 (en) | 2010-09-24 | 2014-05-20 | Kabushiki Kaisha Toshiba | Memory management device and memory management method |
JP2012226711A (ja) * | 2011-04-22 | 2012-11-15 | Sony Corp | 情報処理装置および情報処理方法 |
WO2022162797A1 (ja) * | 2021-01-27 | 2022-08-04 | 日本電信電話株式会社 | 情報処理装置、プログラム実行システム、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US7577852B2 (en) | 2009-08-18 |
US20060161773A1 (en) | 2006-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006203564A (ja) | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 | |
JP7416775B2 (ja) | 周辺デバイス | |
KR102323763B1 (ko) | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 | |
Suh et al. | AEGIS: A single-chip secure processor | |
KR100692348B1 (ko) | 휴면 보호 | |
JP6067449B2 (ja) | 情報処理装置、情報処理プログラム | |
US20200153808A1 (en) | Method and System for an Efficient Shared-Derived Secret Provisioning Mechanism | |
JP4916584B2 (ja) | 呼び出しのプログラムについての秘密の封印のための方法 | |
JP4689945B2 (ja) | リソースアクセス方法 | |
CN103221961B (zh) | 包括用于保护多用户敏感代码和数据的架构的方法和装置 | |
TWI441022B (zh) | 用於安全記憶體中之策略式加密應用程式規劃介面 | |
US9922178B2 (en) | Media client device authentication using hardware root of trust | |
US7636441B2 (en) | Method for secure key exchange | |
CN112384922B (zh) | 加密密钥分布 | |
Kleber et al. | Secure execution architecture based on puf-driven instruction level code encryption | |
Vaslin et al. | A security approach for off-chip memory in embedded microprocessor systems | |
Mohammad et al. | Required policies and properties of the security engine of an SoC | |
KR20150020017A (ko) | 비동기적인 인증을 갖는 보안 컴퓨팅 시스템 | |
Wang et al. | Hardware-based protection for data security at run-time on embedded systems | |
JP6830635B1 (ja) | データ管理方法 | |
Quaresma | TrustZone based Attestation in Secure Runtime Verification for Embedded Systems | |
Malipatlolla | Sustainable Trusted Computing: A Novel Approach for a Flexible and Secure Update of Cryptographic Engines on a Trusted Platform Module | |
Emanuel | Tamper free deployment and execution of software using TPM | |
Boubakri et al. | Architectural Security and Trust Foundation for RISC-V | |
Durahim et al. | Transparent code authentication at the processor level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070329 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110308 |