JP2005182509A - 計算機システム並びにデータ改竄検出方法 - Google Patents
計算機システム並びにデータ改竄検出方法 Download PDFInfo
- Publication number
- JP2005182509A JP2005182509A JP2003423189A JP2003423189A JP2005182509A JP 2005182509 A JP2005182509 A JP 2005182509A JP 2003423189 A JP2003423189 A JP 2003423189A JP 2003423189 A JP2003423189 A JP 2003423189A JP 2005182509 A JP2005182509 A JP 2005182509A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- verification
- key
- execution code
- computer system
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】 データの改竄を検出することができる計算機システム並びにデータ改竄検出方法を提供することを目的としている。
【解決手段】 外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段と、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するソフトウエア実行コード文字列生成手段と、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段と、ソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定する判断手段とを計算機システムに備えることで達成される。
【選択図】 図1
【解決手段】 外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段と、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するソフトウエア実行コード文字列生成手段と、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段と、ソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定する判断手段とを計算機システムに備えることで達成される。
【選択図】 図1
Description
本発明は、計算機を司るオペレーティングシステムを攻撃者にとって好ましい性質を持ったものに置換することにより、当該計算機を利用するユーザに対して任意の攻撃を仕掛けることを可能にするという、いわゆる“OS置換攻撃”が行われたことの検出を可能とする計算機システム及びデータ改竄検出方法に関する。
オペレーティングシステム(Operating System : OS)は、それが動作する計算機に関してあらゆる操作を行うことが可能ないわば全能の支配者と言える。そのため、OS置換攻撃によりオペレーティングシステムそのものが悪意を持ったものに置換されてしまうと、その計算機及び当該計算機上で稼動するすべてのプログラムに対して任意の行為をなし得ることとなる。そのような攻撃が電子商取引を行うためのサーバー計算機等に仕掛けられた場合は大きな被害に繋がることは明らかである。
近代的なオペレーティングシステムの発明以来、この分野は急速な進歩を遂げて来たという事情もあって、現在利用されているオペレーティングシステムは極度に複雑な存在となっている。このため、そのようなシステムを改造して攻撃者にとって好ましい性質を持つようなシステムを実現することは困難でありOS置換攻撃は現実的な脅成ではあり得ないという議論もある。
しかし、近年、オープンソフトウエア文化の興隆の結果として、Linux等の誰でもソースコードを手に入れることが可能なオペレーティングシステムが普及しつつある現在では、攻撃者にとってもオープンであるソフトウエアに対して、ソースコードレベルでの改造を行うことにより好ましい性質を持つように改造したオペレーティングシステムを作成することは、以前よりも容易になったとも考えられる。このことから、本格的なOS置換攻撃の危険性は逆に高まっていると判断することもできる。
本来のデータが、書き換えられたものではないことを確認するための手段としては、(1)対衝突一致属性を持った一方向ハッシュ関数を用いる手段、(2)公開鍵暗号技術に基づくデジタル署名を用いる手段、等が一般的である。
しかし、OS置換攻撃に対してそれらの技術を単純に適用しようとしても、一方向ハッシュ関数計算もしくはデジタル署名検証を行う対象が悪意を持ったOSであるならば、一貫性を持つように結果を捏造することは容易である。このため、これらの手段は有効ではない。
このようなOS置換攻撃に対抗する従来技術としては、以下の技術が挙げられる。
1.置換することができないように、ROM(Read Only Memory)のように上書きを行うことができないデバイスに実行オブジェクトを置く技術
2.実行オブジェクトが本来のものであり置換されていないことを検出する仕組みを導入する技術
しかし、一般的に数MB(Mega Bit)程度のサイズを持ち、かつ、セキュリティ修正等に基づく更新頻度も小さくはないOSカーネルをROMという容量が小さく、書き換えのできない媒体に格納するというのは常に採用できる手法ではない。そのため、1の方法で実現されているシステムは多くはない。
2.実行オブジェクトが本来のものであり置換されていないことを検出する仕組みを導入する技術
しかし、一般的に数MB(Mega Bit)程度のサイズを持ち、かつ、セキュリティ修正等に基づく更新頻度も小さくはないOSカーネルをROMという容量が小さく、書き換えのできない媒体に格納するというのは常に採用できる手法ではない。そのため、1の方法で実現されているシステムは多くはない。
一方、2の方法で問題を解決しようと試みているシステムの代表例は TCPA (Trusted Computing Platform Alliance)である。TCPAは、TPM (Trusted Platform Module)と呼ばれる耐タンパー性を備えたハードウェアモジュールを利用することを特徴としている(例えば、非特許文献1参照)。
一般の計算機システムでは、立ち上げ時に(1)BIOS(Basic Input/Output System)ブートブロックの実行→(2)ブートローダーの起動→(3)OSの選択(オプショナルであり、一般には特定のオペレーティングシステムが常に選択される)→(4)OSの起動→(5)システム状態の検査→(6)各種初期サービスプロセス(デーモン)群の起動→(7)ユーザログイン画面の表示、という流れで処理が行われる。
TCPAでは、それぞれの段階でブートローダーやOS等の実行オブジェクトを実際に動作させる前に、それらの実行オブジェクトのファイルイメージが損なわれていないことを検証する。このようにすることにより、前述したようなOS置換攻撃が適用されているか否かを判定する。
具体的には、各実行オブジェクトのファイルイメージに対して一方向ハッシュ関数を適用した結果得られるハッシュ値と、あらかじめ安全に保管されている『期待される値』との比較が行なわれる。
一方向ハッシュ関数は、同一のハッシュ値が得られるような異なる二つの元データを探すことが事実上不可能となるように設計された関数である。従って、異なる内容を持つ二つのファイルから同じハッシュ値を得ることは、同じく事実上あり得ないとみなすことができる。このため、実際に計算したハッシュ値が『期待される値』と等しい場合には非常に高い確率で改竄は行なわれていないということが保証できる。
また、TCPAでは上記の『期待される値』を、耐タンパー性を備えるTPMに格納しておくことで、期待される値そのものを含めて辻褄の合うような形で改竄を施されることを防いでいる。
また、実際に計算で求めたハッシュ値に関しても同じくTPM中の特定領域に格納しておくことで、各時点でのシステムの状態が安全なものであるか否かを判断することが可能なように配慮されている。
以上概要を説明した手法を用いることで、TCPAはOS及びその他の実行オブジェクトが改竄されていないことを当該オブジェクトの動作以前に判定し、改竄行為が検出された場合には利用者に向けて適切な対処を行うよう求めることが可能となっている。
Compaq Computer Corporation, Hewlett-Packard Company, IBM Corporation, Intel Corporation, Microsoft Corporation、「Trusted Computing Platform Alliance(TCPA)Main Specification Version 1.1b」、[online]、22 February 2002、インターネット、<URL:http://www. trustedcomputing.org/docs/main%20v1_1b.pdf> 「tripwire」、[online] 、インターネット、<URL:http://www.tripwire.org/>
Compaq Computer Corporation, Hewlett-Packard Company, IBM Corporation, Intel Corporation, Microsoft Corporation、「Trusted Computing Platform Alliance(TCPA)Main Specification Version 1.1b」、[online]、22 February 2002、インターネット、<URL:http://www. trustedcomputing.org/docs/main%20v1_1b.pdf> 「tripwire」、[online] 、インターネット、<URL:http://www.tripwire.org/>
上述したように、TCPAのような仕組みを用いることにより、確実にOS置換攻撃に対抗できるように見える。
しかし、この仕組みには以下に述べるような問題が存在する。
第一に、ブート処理で最初に実行される実行オブジェクト(一般的なPCアーキテクチャの場合にはBIOSブートブロック)の安全性が問題となる。
TCPA型の手続きでは、ある実行オブジェクトの完全性を確かめるのは当該オブジェクトを起動する以前に実行されている実行オブジェクトの役目となる。従って、最初に起動される実行オブジェクトに対しては改竄されていないことの検証が行えない。これは『鶏と卵の問題』の一種とも考えられる。このため、ブート処理で最初に実行される実行オブジェクトそのものを置換するという攻撃を併用することができる場合には、TCPA型の『実行オブジェクトの起動前に当該オブジェクトの完全性を検証する』という戦略は容易に破綻を来たす。
第二に、この手法では、オペレーティングシステムのような実行オブジェクトが損なわれていないことが確認できるのは当該オブジェクトが起動される前の時点のみであり、その内容が正しいと判断されて実行を開始された後に、例えばメモリ上に保持されたコードに対して動的に改変が加えられたとしてもそれを検出することは不可能である問題がある。
これは、TCPA型の完全性検証手法が本質的に静的であるためである。
そこで本発明においては、データの改竄を検出することができる計算機システム並びにデータ改竄検出方法を提供することを目的としている。
上記課題を解決するため、本発明に係る計算機システムは、複数種類の記憶装置から構成される仮想記憶装置を備えた計算機システムにおいて、外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段と、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するソフトウエア実行コード文字列生成手段と、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段と、ソフトウエア実行コード文字列と検証用文字列とに基づいて、データの改竄の有無を判定する判断手段とを備えるものである。
さらに、ソフトウエア実行コード文字列を生成する処理時間を測定する処理時間測定手段を備え、判断手段は、処理時間に基づいて、データの改竄の有無を判定するようにしてもよい。
さらに、ソフトウエア実行コード文字列生成手段及び検証用文字列生成手段は、仮想記憶装置の総記憶容量を使用し演算処理を行うようにしてもよい。
また、本発明に係る他の計算機システムは、複数種類の記憶装置から構成される仮想記憶装置を備えた検証対象計算機システムのデータ改竄を検出する計算機システムであって、外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段と、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段と、検証対象計算機システムから送信され、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて生成された固定長の文字列からなるソフトウエア実行コード文字列と検証用文字列とに基づいて、データの改竄の有無を判定する判断手段とを備えるものである。
また、本発明に係るデータ改竄検出方法は、複数種類の記憶装置から構成される仮想記憶装置を備えた計算機システムにおけるデータ改竄検出方法であって、外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成するステップと、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するステップと、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成するステップと、ソフトウエア実行コード文字列と検証用文字列とに基づいて、データの改竄の有無を判定するステップとを有する方法である。
さらに、ソフトウエア実行コード文字列を生成する処理時間を測定するステップと、処理時間に基づいて、データの改竄の有無を判定するステップとを有するようにしてもよい。
さらに、ソフトウエア実行コード文字列を生成するステップ及び検証用文字列を生成するステップは、仮想記憶装置の総記憶容量を使用し、演算処理を行うようにしてもよい。
また、本発明に係るデータ改竄検出方法は、複数種類の記憶装置から構成される仮想記憶装置を備えた検証対象計算機システムのデータ改竄を検出する計算機システムにおけるデータ改竄検出方法であって、外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成するステップと、正規ソフトウエアの実行コード部分から、鍵を用いて、固定長の文字列からなる検証用文字列を生成するステップと、検証対象計算機システムから送信され、仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、鍵を用いて生成された固定長の文字列からなるソフトウエア実行コード文字列と検証用文字列とに基づいて、データの改竄の有無を判定するステップを有する方法である。
本発明の実施例によれば、データの改竄を検出することができる計算機システム並びにデータ改竄検出方法を実現することができる。
次に、本発明の実施例について図面を参照して説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
従来技術における問題は、実行オブジェクトが改竄されることそのものを防ごう、もしくは改竄されたことを起動前に判断しようという戦略を採っていたことにあったと考えられる。
そのため、(1)オブジェクトの更新が自由に行えない、(2)改竄検出操作が静的にしか行えないため動的な改竄には対応できない、といった難点が生じたと結論付けられる。
そこで、本発明の実施例にかかる計算機システムにおいては、起動処理が行なわれた後にその起動された実行オブジェクト自身が動的に自らの状態を検証し、静的もしくは動的な改変行為がなされたか否かを確認する、という方式を採る。
当然、その実行オブジェクトがオペレーティングシステムそのものである場合には、当該オペレーティングシステムは当該計算機システム全体に対して全能の立場にある。このため、この方式は一見不可能に見えるかもしれないが、以下に説明するとおり大半の計算機システムに備わる物理的な制限事項を巧妙に利用することにより、そのような処理を可能にする。
さて、現代的な計算機システムは機能の制限された特殊な種類を除けば、随所に階層的な構成を取り入れている点を大きな特徴としている。例えば、データを一時的に記憶しておくための仮想メモリ領域を例に説明する。
仮想メモリ領域には、(1)レジスタ、(2)キャッシュ、(3)RAM (Random Access Memory)、(4)スワップ領域(ハードディスクを利用することが一般的)といったそれぞれ性質の異なるハードウェアが用いられている。これらはCPU(Central Processing Unit)からのアクセス速度が速い順に列挙したものだが、容量という観点から分類したとすればちょうどこの逆順となる。レジスタは非常に高速にアクセスできるが、その代償としてごく小さいサイズのデータしか保管できない。
また、システムによってはこれらの要素をさらに細分化している例もある(たとえば、キャッシュを速度/容量に応じて一次キャッシュ/二次キャッシュ/三次キャッシュ・・・に分割)。
このように性質の異なる複数のハードウェア資源を用いながら、それらを利用するアプリケーションプログラムに対しては一貫して見える仮想メモリ空間を提供するのが、現代的な計算機オペレーティングシステムの持つ重要な役割の一つである。
また、現代的な計算機オペレーティングシステムでは、実装RAM容量を超えるメモリ空間が必要とされる場合があるため、ハードディスクによるスワップ領域までをも含めて統一的な形で全体が仮想メモリ空間として提供される。このため、一般にはある実行中のプログラムが現在利用しているメモリが上述のどの種類に当たるのかを判断することはできない。
しかし、上述した通り、各々のハードウェアデバイスには特有のアクセス速度が備わっているため、あるメモリアドレスにアクセス(読み出し、もしくは書き込み)するのに要する時間を精密に測定できる場合には、現在アクセス中のデータが上記階層的仮想メモリのなかのどの部分に当たるのかということが判断可能である。
本発明は、以上例示して説明したように、大半の計算機システムが本質的に備えるハードウェア的な制限を利用し、現在計算機システム上に存在する実行オブジェクトが本来のものであり他者に改竄されたものではないことを、当該実行オブジェクトがまさに実行されている最中に判定することを可能とする。
次に、その基本的なアイデアについて説明する。
一般に、実行オブジェクトの実行は、コード部分及び初期化済データ部分をメモリに展開した上で、コード部分に記録された命令を一つずつCPUが処理する、という形で実行される。このため、メモリに展開されたコード部分が期待通りの状態にあることを確認できれば十分である。
また、このような確認を行うための一般的な手法として、TCPAで行われているように一方向ハッシュ関数を用いる手法がある。しかし、確認をTCPAのように起動前に静的に行うのではなく、起動後に動的に行うことを考えると、単純にコード部分に対してハッシュ関数を適用しその結果を表示させるというような処理方式では、結果の値そのものを捏造することが容易であるため、所期の目的は達せられない。そのため、時刻データもしくは乱数データ等の外部から事前に予測不可能なデータ(値)をパラメータとして併用する。このようして、あらかじめ結果を予測できないような形でハッシュ関数を用いる必要がある。
また、ハッシュ関数を適用する対象として、実際にメモリ上にある実行コード部分の代わりに真の実行オブジェクトのファイルイメージを利用させる、という形での偽装行為を排除するために、ファイルすなわちハードディスク上にあるデータとメモリ上に置かれたデータとに対するアクセス速度の違い等の物理的な差異を利用する。
例えば、ハッシュ関数等、任意の長さのデータから固定長の文字列(ハッシュ値)を出力する一方向性の関数を適用するのに要する時間を計測することにより、対象がメモリ上にあるのかハードディスク上にあるのかを判定することができる。その結果、期待された時間より有意に長い実行時間がかかったことが判明すれば、上記偽装行為が行われたことを見破ることができる
そのハッシュ関数計算が満足できる時間で行えた場合、その結果を、上記パラメータを併用した上で正規の実行オブジェクトのコード部分から計算したハッシュ値と比較することで、現在メモリ上にあって実行されている実行オブジェクトが正規のものであり攻撃者によって置換されたものではない、ということが判断できる。
そのハッシュ関数計算が満足できる時間で行えた場合、その結果を、上記パラメータを併用した上で正規の実行オブジェクトのコード部分から計算したハッシュ値と比較することで、現在メモリ上にあって実行されている実行オブジェクトが正規のものであり攻撃者によって置換されたものではない、ということが判断できる。
以上のような考え方は基本的にはあらゆる実行オブジェクトに対して適用することができるが、本発明をもっとも効率的に適用できる対象は計算機システム全体の運用を司るオペレーティングシステムであり、その下で動作する各種のアプリケーションプログラム等の完全性を確認する手段としては、tripwireのような不正改竄検知システムを併用するというのが適切である(例えば、非特許文献2参照)。
次に、本発明の第1の実施例に係る計算機システムについて図1を参照して説明する。
本実施例に係る計算機システムは、メモリとハードディスクとのアクセスに要する速度差を利用して、データの置換検出等のデータ改竄検出を行うものである。また、本実施例では、置換検出を行う対象はオペレーティングシステムである場合について説明する。
本実施例に係る計算機システムは、マイクロプロセッサ101、メモリ102、I/Oコントローラ103等を備えるマザーボード100と、ハードディスク300等の外部記憶装置及びCD−ROM(Compact Disk Read Only Memory)400等の読み出し専用記憶装置からなるハードウェア部分と、仮想メモリ空間200とから構成される。
マイクロプロセッサ101、メモリ102及びI/Oコントローラ103は、システムバスにより互いに接続されている。また、I/Oコントローラ103、ハードディスク300及びCD−ROM400は、PCI等の外部バスにより互いに接続されている。
ハードディスク300には、OS実行ファイル301が格納されている。また、CD−ROM400は、正規のOS実行ファイルを攻撃者によって改竄できない形で保存しておくための媒体として利用しているのみであり、同様に書き込みができない媒体であれば他種のハードウェアであっても良い。
CD−ROM400上には、複数の暗号化済み正規OS実行ファイル401が格納されている。この理由は、後述するように、正規OS実行ファイルを単一のファイルとして格納した場合、ファイルの内容が特定できるため、そのファイルの内容をメモリに読み込んだ時点で改竄することができるからである。そのような、オペレーティングシステムに対する改竄行為を防止するために、比較対象となる正規OS実行ファイルを複数の互いに相異なるファイルとし、システムの所有者のみがファイルの特定ができるようにする。また、CD−ROM400上には正規OS実行コード部分を保存したファイル450も置かれているが、これは後述する検証用数値計算のところで必要となるファイルである。
仮想メモリ空間200のうち実際に物理メモリを占有している部分は、OS実行コード201、OS管理データ202、そして実行中の各アプリケーションに帰属するコード及びデータ203である。OS実行コード201及びOS管理データ202のうちの初期化済データ部には、ハードディスク上のOS実行ファイル301から読み込まれたデータが格納されている。これら利用済メモリに未使用のフリーメモリ204を合計したものがシステムの実装ハードウェアメモリ量に等しくなる。
また、マイクロプロセッサ101は、図10に示すように暗号ファイル生成部101−1と、鍵生成部101−2と、暗号ファイル生成部101−1及び鍵生成部101−2に接続された検証部101−3とを備える。
また、暗号ファイル生成部101−1は、パスフレーズ生成部101−11と、ファイル数生成部101−12と、パスフレーズ生成部101−11及びファイル数生成部101−12に接続された暗号化部101−13とを備える。また、検証部101−3は、演算処理部101−31と、演算処理部101−31に接続された判断部101−32とを備える。
パスフレーズ生成部101−11は、この処理に用いるパスフレーズ(K)を生成する。ファイル数生成部101−12は、この処理に用いるファイル数(N)(Nは正の整数)を生成する。暗号化部101−13は、生成したパスフレーズに対してi(ただし、iは1〜Nまで順番に増加させる)回ハッシュ関数を適用し、その結果を暗号化鍵Kiとし、この暗号化鍵KiをもってOS実行コード部分を暗号化した結果をOiとし、得られたO1〜ONまでのデータを、どれがどの鍵で暗号化されたものか分からないような名前のファイルとしてCD−ROM400、例えばCD−R(Compact Disk Recordable)等に保存する。
鍵生成部101−2は、後述する検証処理に先立って、例えば実行開始時刻等の外部から事前に予測不可能な値を記録し、その値からハッシュ関数によりデータを生成し、生成したデータを鍵付ハッシュ処理での鍵χとする。 演算処理部101−31は、OS置換攻撃が行われているかどうかを判断するための、検証用数値の演算処理及び現に実行されているOS実行コードを用いた演算処理を行う。判断部101−32は、演算処理部101−31により演算処理された結果に基づいて、OS置換攻撃が行われているか否かを判断する。
次に、この計算機システムで実行中のオペレーティングシステムが置換されたものではなく正規のものであるか否かを判断するデータ改竄検出方法について説明する。
まず、本実施例に係る計算機システムにおけるデータ改竄検出方法の暗号ファイル生成処理について、図2及び図10を参照して説明する。
OSのインストール処理時に、以下に示す処理が行われ、その後の検証処理での比較対象とするための複数のファイルが生成される。生成された複数のファイルは、CD−R等の上書き不可媒体に保存される。
具体的には、暗号ファイル生成部101−1のパスフレーズ生成部101−11及びファイル数生成部101−12は、この処理のためだけに用いるパスフレーズ(K)(Kは文字列)及び生成するファイル数(N)(Nは正の整数)を決定する(ステップS201)。
次に、暗号化部101−13は、決定されたパスフレーズに対してi(ただし、iは1〜Nまで順番に増加させる)回ハッシュ関数を適用し、その結果を暗号化鍵Kiとし(ステップS202、ステップS203、ステップS204)、その暗号化鍵KiをもってOS実行コード部分を暗号化した結果をOiとする(ステップS205)。次に、結果として得られるO1〜ONまでのデータを、どれがどの鍵で暗号化されたものか分からないような名前のファイルとしてCD−R等に保存する(ステップS206)。
ここで用いる暗号化アルゴリズムは実用上の安全性に疑問が持たれていない共通鍵暗号アルゴリズムであればどのようなものでもかまわないが、入力データのどの一部分が改変されたとしても事実上すべての出力データが変更されるような利用モードを用いる必要がある。このように、利用モードを制限することにより、正規OS実行コード部の一部のみをメモリに記憶しておき、後述する検証の段階で、そのデータをユーザから提供される暗号化鍵で暗号化してみることで、O1〜ONのいずれが求めるものであるかを知る、というタイプの攻撃を未然に防御することができる。ブロック暗号に関してそのようなモードの例としてはCBCモード(Cipher Block Chaining mode)での暗号化処理を、データの最初からと最後からの2回連続して行う、というものがある。
上記N個のCD−R上のファイルに関して、どのファイルがどの鍵で暗号化されたものかという対応を示すデータは外部からアクセスができないように記憶される。また、本方式の対象となる計算機システム以外の安全な場所に記録しておくようにしてもよい。この場合、その対応は電子データである必要はない。
また、O1〜ONとは別にOS実行コード部分そのものも暗号化を行わず、そのままのデータを保存したファイル450として同じCD−R上に保存される。
当該CD−Rは検証処理実行時にはCD−ROM400上に搭載し、ソフトウエアからアクセスできるようにマウントされる。
本実施例では、暗号ファイル生成部101−1のパスフレーズ生成部101−11及びファイル数生成部101−12が、パスフレーズ(K)及び生成するファイル数(N)を生成する場合について説明したが、ユーザが決定して入力するようにしても良い。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の鍵付ハッシュ処理で利用する鍵の生成処理について、図3及び図10を参照して説明する。
まず、鍵生成部101−2は、後述する検証処理に先立って実行開始時刻を記録し(ステップS301)、その開始時刻の値からハッシュ関数により生成したデータを鍵付ハッシュ処理での鍵χとする(ステップS302)。実行開始時刻と生成した鍵の値はディスプレイ(図示なし)に表示される(ステップS303)。
ここで、時刻情報を用いるのは、以降で行われるOS実行コード計測処理の結果を動的に変動させるためである。このようにすることにより、表示される時刻情報と必要であればその値から得られるハッシュ値を、他の計算機で計算した結果と比較することにより、データが不正に捏造されていないことを確認することが可能である。
また、鍵付ハッシュとは、ハッシュ関数への入力としてデータの他に生成者と検証者とが共有する秘密情報(=鍵)を与えることで、データのみではなく鍵に関しても正しい値を与えない限り同じ結果が得られない、という特性を持ったハッシュ処理のことである。このハッシュ処理において、その鍵として時刻情報や乱数データ等の外部から事前に予測不可能なデータ(値)を用いることにより、結果として得られるハッシュ値が実行時刻に応じて変動する動的な値となる。このため、本実施例においてはハッシュ関数適用結果を前もって計算しておくという種類の攻撃を困難にさせることができる。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の検証用数値計算処理について、図4、図5及び図10を参照して説明する。
検証用数値計算処理では、OS置換攻撃が行われているかどうかを判断するための比較用数値の計算が実施される。図4に示すように、ここでは簡便化のため実行されているのはOSのみとし、OSが使用しているメモリ、すなわち、OS実行コード201及びOS管理データ202以外の領域はすべてフリーメモリ204である場合について説明する。
計算機システムにとっては、正規OS実行コード201のサイズ及びそれが確保するOS管理データ202のサイズは既知であり、かつ、システムの実装メモリ容量も既知であるから、フリーメモリ204のサイズがどの程度であるかは予め正確に見積もることが可能である。
OS以外のプロセスが稼動している場合、それらのプロセスが動的にメモリを確保する可能性があるため正確性は若干低下することになるが、プロセスの生成及び消滅が激しくはなくシステムが安定した状態にあることが保証される場合には、OS以外に他の既知のプロセスが実行されていたとしてもほぼ同様の結果を得ることができる。
このフリーメモリ204を以下のような処理によりほぼ完全に埋め尽くすことで処理が実行される。すなわち、仮想記憶装置の総記憶容量を使用して演算処理が行われる。
前述のとおり、CD−ROM400には異なる鍵で暗号化された複数の正規OS実行コードデータO1〜ON401が置かれている。検証部101−3の演算処理部101−31は、これらO1からONに対して順番に以下に示す処理を繰り返し実行し、その結果を表示する。(1)OXをフリーメモリ204の先頭部分(領域β)にコピーする(図5(a))。(2)鍵生成部101−2により生成された鍵χを用いてCD−ROM400上に置かれている正規OS実行コード450のファイル及び領域βの鍵付ハッシュを取った結果(ハッシュ値)をフリーメモリ204中の未記録部分の先頭に記録する。(3)新たに記録されたハッシュ値を含むようにβを拡大する(図5(b))。(4)フリーメモリ中に余地がある間(2)と(3)とを繰り返す。(5)(2)〜(4)までの処理によりデータの記録が行われたフリーメモリ204全体にハッシュ関数を適用した結果とOXのファイル名を表示する(図5(c))。この結果、O1〜ONに相当するN個のデータが得られる。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法のOS実行コード計測処理について、図6及び図10を参照して説明する。
OS実行コードの計測処理では、一旦、検証用数値計算処理で使用されたフリーメモリ204の内容を消去した後、現に実行されているOS実行コードに対して、上述した検証用数値計算処理と同様となる処理を行うことにより、再びフリーメモリ204をほぼ完全に埋め尽くす処理が行われる。すなわち、仮想記憶装置の総記憶容量を使用して演算処理が行われる。
具体的には、以下に示す処理を繰り返し実行し、その結果を表示する。(1)演算処理部101−31は、暗号ファイル生成部101−1のパスフレーズ生成部101−11及びファイル数生成部101−12から、パスフレーズ及び生成するファイル数(N)を取得する。次に、演算処理部101−31は、暗号化部101−13で用いられたハッシュ関数を用いて、取得したパスフレーズを、生成するファイル数(N)だけ処理することにより、暗号化鍵ψを生成する。
ここで、ユーザから暗号化鍵ψの入力を受けるようにしてもよい。具体的には暗号化鍵ψはユーザがOSインストール処理時に選択するパスフレーズからハッシュ関数等を介して生成されるデータである。ここで、当該パスフレーズの入力及び何回ハッシュ関数を適用するかが求められる。演算処理部101−31では、暗号化部101−13で用いたのと同じハッシュ関数を用いてパスフレーズを指定回数だけ処理し、その結果を暗号鍵ψとする。
(2)生成した暗号化鍵ψを用いてOS実行コード部分201(領域α)を暗号化した結果を、フリーメモリの先頭に記録する(領域β)(図6(a))。(3)鍵生成部101−2により生成された鍵χを用いて領域α及び領域βの鍵付ハッシュを取った結果をフリーメモリ中の未記録部分の先頭に記録する。(4)新たに記録されたハッシュ値を含むように領域βを拡大する(図6(b))。(5)フリーメモリ中に余地がある間(3)と(4)とを繰り返す。(6)(2)〜(5)まででデータの記録が行われた領域β全体にハッシュ関数を適用した結果、及び実行に要した時間という二つの数値を表示する(図6(c))。
上記鍵付ハッシュに用いるχが実行開始時に記録した時刻値を元に生成されていることから、この(6)で得られるハッシュ値は実行開始時刻及びOS実行コードの両方に完全に依存した値となる。このため、攻撃者がこの値を予測して前もって計算しておくことはできない。
また、以上の計算は利用可能なすべてのメモリを用いることで実行される。このため、攻撃者がファイル等に保管しておいた正規のOS実行コード部分を身代わりにして正しい計算結果を得るような手立てを講じたとすれば、メモリ102とハードディスク300それぞれに対するアクセス速度に関する有意な差のため、結果として得られる実行に要した時間がメモリのみを用いたものとは大きく異なることになり、これも容易に発覚する。
従って、攻撃者等によって置換されたオペレーティングシステムが実行中だったとしても、この処理にかかった実行時間から不正が発覚しないようにするためには、正直に自らの実行コード部分を計測した結果を表示するしかない。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の検証処理について説明する。
暗号ファイル生成処理において説明したように、N個のCD−R上のファイルに関して、どのファイルがどの鍵で暗号化されたものかという対応を示すデータは外部からアクセスができないように記憶される。このため、検証用数値の計算処理で得られるN個の数値のうちどれがOS実行コードの計測処理で得られる結果と同値になるか予測することができる。
そこで、判断部101−32では、検証用数値の計算処理で得られるN個の数値とOS実行コードの計測処理で得られる結果とが一致するか否かによりOSに対する改竄の有無の判定を行う。
判定部101−32において、この検証処理を実行する対象が改変されたOSである場合、そのOSは検証用数値計算処理の結果のうちどれが正しいものなのかを判断することはできない。このため、検証用数値計算処理で得られた結果のいずれかを記憶しておいてOS実行コードの計測処理の結果と置換することでユーザを騙そうという手段しか残されていない。この手段は1/Nという確率でしか成功しないことは明らかである。
さらに、鍵を変更しながら複数回検証処理を実行することで、この確率は指数関数的に小さくすることができるため、Nの値が10程度の場合でも3〜4回の検証処理を実施することで実用的には十分な確実性でOSが改竄されたものかどうかの検証が行える。
また、暗号ファイル生成処理において述べたとおり、検証を行うユーザはCD−R上のどのファイルがどの鍵(=パスフレーズを1又は複数回ハッシュ関数で処理することにより生成した暗号鍵)で暗号化されたものであるかという対応を知っているため、検証用数値計算処理で得られるN個の数値のうちどれがOS実行コードの計測処理で得られる計算結果と同じになるのかを予測することができる。そこで、それらの値が期待通り一致しているかどうかをユーザが見ることで、OSに対する改竄の有無を判定するようにしてもよい。
次に、本発明の第2の実施例に係る計算機システムについて、図7を参照して説明する。
本実施例に係る計算機システムは、OSその他の実行オブジェクトが動作するCPUとは独立したCPU/ソフトウエアを用いて検証を行う点が第1の実施例に係る計算機システムと異なる。
本実施例に係る計算機システムの全体構成は、第1の実施例に係る計算機システムと同様の構成、すなわち、マイクロプロセッサ101、メモリ102、I/Oコントローラ103等を備えるマザーボード100と、ハードディスク300等の外部記憶装置からなるハードウェア部分と、仮想メモリ空間200とから構成される検証対象システム500を備える。
マイクロプロセッサ101、メモリ102及びI/Oコントローラ103は、システムバスにより互いに接続されている。また、I/Oコントローラ103とハードディスク300とは、PCI等の外部バスに接続されている。また、マイクロプロセッサ101は、演算処理部を備える。
さらに、本実施例に係る計算機システムは、検証対象システム500とは独立したマイクロプロセッサ601及びメモリ602等のソフトウエア実行環境を備えた検証実施システム600を備える。マイクロプロセッサ601は、情報収集部601−1と、鍵生成部601−2と、情報収集部601−1及び鍵生成部601−2に接続された検証部601−3とを備える。また、検証部601−3は、演算処理部601−31と、演算処理部601−3に接続された判断部601−32とを備える。
情報収集部601−1は、検証対象システム500から、システムに関する情報を収集する。鍵生成部601−2は、後述する検証処理に先立って、例えば実行開始時刻を記録し、その値からハッシュ関数によりデータを生成し、生成したデータを鍵付ハッシュ処理での鍵χとする。
演算処理部601−31は、OS置換攻撃が行われているかどうかを判断するための検証用数値の演算処理を行う。判断部601−32は、演算処理部601−31及び検証対象システム500の演算処理部により演算処理された結果に基づいて、OS置換攻撃が行われているか否かを判断する。
検証実施システム600は、検証対象システム500とは独立した計算環境を備えたものでありさえすればよく、その実現方法としては、上述のTCPAにおけるTPMのようにシステムバス等に実装される独立CPU、スマートカードのような周辺機器、インターネット等のネットワークを介して検証対象システム500と通信が可能な独立計算機等、多様な形態が考えられる。
本実施例では、このような構成をとることにより、検証対象システム500で実行中のOSが正規のものであるか否かを検証することができる。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の暗号ファイル生成処理について、図11を参照して説明する。
検証実施システム600の情報収集部601−1は、例えば、検証対象システム500のOSのインストール時に、インストールされた正規OSの実行コード部分を保存したファイル、検証対象システム500に実装されたメモリ容量、検証処理実施時に稼動しているOSその他のプロセスが占有するメモリサイズの見積値、検証対象システム500が、OS実行コードの計測処理をメモリ上のみで実施するために必要な処理時間の見積値の情報を収集する。
ここで、ユーザが、上述した情報を収集して、検証実施システム600に保管するようにしてもよい。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の鍵付ハッシュ処理で利用する鍵の生成処理について、図8を参照して説明する。
検証実施システム600の鍵生成部601−2は実行開始時刻を記録し(ステップS801)、その値からハッシュ関数により生成したデータを以下で用いる鍵付ハッシュ処理での鍵χとする(ステップS802)。鍵χを検証実施システム600から対象システム500に送付する(ステップS803)。鍵χを検証実施システム600から対象システム500に送付ことにより、検証対象計算機システム500にOS実行コードの計測処理を開始させる。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法のOS実行コードの計算処理について、図9を参照して説明する。
鍵χを受信した検証対象システム500の演算処理部は、以下の処理を行い得られた結果ωを検証実施システム600に返却する。
具体的に説明する。(1)鍵χを用いてOS実行コード部分(領域α)の鍵付ハッシュを取った結果をフリーメモリ204の先頭部分に記録する。フリーメモリ204中のデータを記録された部分を領域βとする(図9(a))。(2)鍵χを用いて領域α及び領域βの鍵付ハッシュを取った結果をフリーメモリ204中の未記録部分の先頭に記録する(図9(b))。(3)新たに記録されたハッシュ値を含むようにβを拡大する。(4)フリーメモリ中に余地がある間(2)と(3)とを繰り返す。(5)(1)〜(5)まででデータの記録が行われた領域β全体にハッシュ関数を適用した結果をωとする。ωを検証実施システム600へ送信する(図9(c))。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の実行時間計測処理について説明する。
検証実施システム600の演算処理部601−32では鍵χを送付後ωが戻ってくるまでの時間を計測し、それがネットワーク通信等に要する遅延を勘案した上で満足する範囲内、すなわち、OS実行コードの計測処理がすべてメモリ上のみで実施された場合に要すると見積もられる時間に通信遅延を加えた時間に収まっていることを検証する。これが満たされない場合には検証失敗とする。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法のOS実行コードの計測処理について説明する。
対象システム500での実行時間が満足する範囲内だった場合、検証実施システム600の演算処理部601−32は、独自にOS実行コードに対する計測を行う。第1の実施例の場合とは異なり、ここで行うべき処理はで検証対象システム500の演算処理部により行われるOS実行コードの計測処理と、情報収集部601−1が収集した正規OSの実行コード部分を保存したファイルを使用する点を除いて同様の処理であるため、説明は省略する。
その結果検証実施システム600で計測された値をω´とする
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の検証処理について説明する。
次に、本実施例に係る計算機システムにおけるデータ改竄検出方法の検証処理について説明する。
判断部601−32は、二つの結果ωとω´とを比較し、両者が一致すればOSに対する改変行為がなされていないと判断し、一致しない場合にはOSに対する改変行為がなされたと判断する。
上述したように、本実施例によればOSないしアプリケーションプログラムの改竄という脅威に対抗することが可能となる。
また、本発明は改竄されたかもしれないコードが実際に実行されている状態での健全性の検証を可能とするため、従来の同種システムのようにファイル等として保管されている実行コードに対して静的に健全性の検証する方式と比較すると、より広い範囲の攻撃にまで対応することが可能である。すなわち、メモリに読み込まれてすでに実行中である状態のコードに対する動的な改変攻撃へも対抗できる。
また、第2の実施例で説明したように、遠隔地にある計算機システムに対するデータの改竄を検出できる。このため、遠隔地にある計算機システム同士で相互の健全性を検証した上で通信を実現する手段としても応用でき、インターネットのような危険の入り込みやすい通信媒体を用いる際の信頼性向上という形で利用することも可能である。
また、上述した実施例においては、OSに対するデータの改竄を検出する場合について説明したが、その他のソフトウエアについても同様の方法により、データの改竄の検出ができる。
本発明に係る計算機システム及びデータ改竄検出方法は、オペレーティングシステムを攻撃者にとって好ましい性質を持ったものに置換する攻撃が行われたことを検出する技術に適用できる。
100 マザーボード
500 検証対象計算機システム
600 検証実施計算機システム
500 検証対象計算機システム
600 検証実施計算機システム
Claims (8)
- 複数種類の記憶装置から構成される仮想記憶装置を備えた計算機システムにおいて:
外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段;
前記仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するソフトウエア実行コード文字列生成手段;
正規ソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段;
前記ソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定する判断手段;
を備えることを特徴とする計算機システム。 - 請求項1に記載の計算機システムにおいて:
前記ソフトウエア実行コード文字列を生成する処理時間を測定する処理時間測定手段;
を備え、
前記判断手段は、前記処理時間に基づいて、データの改竄の有無を判定することを特徴とする計算機システム。 - 請求項1又は2に記載の計算機システムにおいて:
前記ソフトウエア実行コード文字列生成手段及び前記検証用文字列生成手段は、前記仮想記憶装置の総記憶容量を使用し演算処理を行うことを特徴とする計算機システム。 - 複数種類の記憶装置から構成される仮想記憶装置を備えた検証対象計算機システムのデータ改竄を検出する計算機システムにおいて:
外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成する鍵生成手段;
正規ソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなる検証用文字列を生成する検証用文字列生成手段;
前記検証対象計算機システムから送信され、前記仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、前記鍵を用いて生成された固定長の文字列からなるソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定する判断手段;
を備えることを特徴とする計算機システム。 - 複数種類の記憶装置から構成される仮想記憶装置を備えた計算機システムにおけるデータ改竄検出方法において:
外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成するステップ;
前記仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなるソフトウエア実行コード文字列を生成するステップ;
正規ソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなる検証用文字列を生成するステップ;
前記ソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定するステップ;
を有することを特徴とするデータ改竄検出方法。 - 請求項5に記載のデータ改竄方法において:
前記ソフトウエア実行コード文字列を生成する処理時間を測定するステップ;
前記処理時間に基づいて、データの改竄の有無を判定するステップ;
を有することを特徴とするデータ改竄検出方法。 - 請求項5又は6に記載のデータ改竄検出方法において:
前記ソフトウエア実行コード文字列を生成するステップ及び前記検証用文字列を生成するステップは、前記仮想記憶装置の総記憶容量を使用し、演算処理を行うステップであることを特徴とするデータ改竄検出方法。 - 複数種類の記憶装置から構成される仮想記憶装置を備えた検証対象計算機システムのデータ改竄を検出する検証実施計算機システムにおけるデータ改竄検出方法において:
外部から事前に予測困難な値と、同一の文字列が得られるような異なる二つの元データを探すことが不可能である一方向性の関数とを用いて鍵を生成するステップ;
正規ソフトウエアの実行コード部分から、前記鍵を用いて、固定長の文字列からなる検証用文字列を生成するステップ;
前記検証対象計算機システムから送信され、前記仮想記憶装置に読み込まれて実行されているソフトウエアの実行コード部分から、前記鍵を用いて生成された固定長の文字列からなるソフトウエア実行コード文字列と前記検証用文字列とに基づいて、データの改竄の有無を判定するステップ;
を有することを特徴とするデータ改竄検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003423189A JP2005182509A (ja) | 2003-12-19 | 2003-12-19 | 計算機システム並びにデータ改竄検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003423189A JP2005182509A (ja) | 2003-12-19 | 2003-12-19 | 計算機システム並びにデータ改竄検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005182509A true JP2005182509A (ja) | 2005-07-07 |
Family
ID=34783803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003423189A Pending JP2005182509A (ja) | 2003-12-19 | 2003-12-19 | 計算機システム並びにデータ改竄検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005182509A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133875A (ja) * | 2005-11-07 | 2007-05-31 | Samsung Electronics Co Ltd | コードイメージを安全に更新してブーティングする方法及び装置 |
WO2008047830A1 (fr) * | 2006-10-20 | 2008-04-24 | Panasonic Corporation | Dispositif et procédé de surveillance de falsification de l'information d'application |
JP2011503732A (ja) * | 2007-11-16 | 2011-01-27 | 西安西▲電▼捷通▲無▼綫▲網▼絡通信股▲分▼有限公司 | 3エレメントピア認証に基づく信頼されているネットワークアクセス制御方法 |
US8392723B2 (en) | 2007-09-19 | 2013-03-05 | Fuji Xerox Co., Ltd. | Information processing apparatus and computer readable medium for preventing unauthorized operation of a program |
JP2015058896A (ja) * | 2013-09-20 | 2015-03-30 | 国立大学法人名古屋大学 | 書換検出システム、書換検出装置及び情報処理装置 |
CN112567411A (zh) * | 2018-08-09 | 2021-03-26 | 森斯通株式会社 | 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序 |
-
2003
- 2003-12-19 JP JP2003423189A patent/JP2005182509A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133875A (ja) * | 2005-11-07 | 2007-05-31 | Samsung Electronics Co Ltd | コードイメージを安全に更新してブーティングする方法及び装置 |
JP4503576B2 (ja) * | 2005-11-07 | 2010-07-14 | 三星電子株式会社 | コードイメージを安全に更新してブーティングする方法及び装置 |
WO2008047830A1 (fr) * | 2006-10-20 | 2008-04-24 | Panasonic Corporation | Dispositif et procédé de surveillance de falsification de l'information d'application |
US8392723B2 (en) | 2007-09-19 | 2013-03-05 | Fuji Xerox Co., Ltd. | Information processing apparatus and computer readable medium for preventing unauthorized operation of a program |
JP2011503732A (ja) * | 2007-11-16 | 2011-01-27 | 西安西▲電▼捷通▲無▼綫▲網▼絡通信股▲分▼有限公司 | 3エレメントピア認証に基づく信頼されているネットワークアクセス制御方法 |
US8424060B2 (en) | 2007-11-16 | 2013-04-16 | China Iwncomm Co., Ltd. | Trusted network access controlling method based on tri-element peer authentication |
JP2015058896A (ja) * | 2013-09-20 | 2015-03-30 | 国立大学法人名古屋大学 | 書換検出システム、書換検出装置及び情報処理装置 |
US10049232B2 (en) | 2013-09-20 | 2018-08-14 | National University Corporation Nagoya University | Rewrite detection system, rewrite detection device and information processing device |
CN112567411A (zh) * | 2018-08-09 | 2021-03-26 | 森斯通株式会社 | 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序 |
CN112567411B (zh) * | 2018-08-09 | 2024-07-30 | 森斯通株式会社 | 基于虚拟代码的金融交易提供系统、虚拟代码生成装置、虚拟代码验证装置、基于虚拟代码的金融交易提供方法以及基于虚拟代码的金融交易提供程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
Zaddach et al. | Implementation and implications of a stealth hard-drive backdoor | |
US8171275B2 (en) | ROM BIOS based trusted encrypted operating system | |
Dunn et al. | Cloaking malware with the trusted platform module | |
US9177153B1 (en) | Verifying integrity and guaranteeing execution of code on untrusted computer platform | |
US20210351911A1 (en) | Techniques for preventing memory timing attacks | |
JP4144880B2 (ja) | プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法 | |
AU2008200225B8 (en) | ROM bios based trusted encrypted operating system | |
US20110213953A1 (en) | System and Method for Measuring Staleness of Attestation Measurements | |
Inci et al. | Co-location detection on the cloud | |
US20120198553A1 (en) | Secure auditing system and secure auditing method | |
Böck et al. | Towards more trustable log files for digital forensics by means of “trusted computing” | |
JP2009521020A (ja) | 高リスクアプリケーション用の実用的プラットフォーム | |
JP2010182019A (ja) | 異常検知装置およびプログラム | |
US10812466B2 (en) | Using trusted platform module to build real time indicators of attack information | |
Johnston et al. | Recommendations for securing Internet of Things devices using commodity hardware | |
Li et al. | Establishing software-only root of trust on embedded systems: facts and fiction | |
Vidas | The acquisition and analysis of random access memory | |
EP3338214B1 (en) | Secure computation environment | |
JP2005182509A (ja) | 計算機システム並びにデータ改竄検出方法 | |
CN115879064A (zh) | 一种程序运行方法、装置、处理器、芯片及电子设备 | |
US11886581B1 (en) | Rapid verification of executing processes | |
CN109977665B (zh) | 基于tpcm的云服务器启动过程防窃取和防篡改方法 | |
KR101893504B1 (ko) | 리눅스 환경에서 파일 무결성 검증 장치 및 방법 | |
Kennell et al. | An analysis of proposed attacks against genuinity tests |