(57)【要約】安全なデータ格納方法が開示される。前記方法は次のステップで構成される。ハードウェア命令が受信され；ハードウェア命令が解析され；ハードウェア命令が格納命令である場合には格納命令内のターゲットアドレスが格納装置内の対応する格納アドレスへ修正され；修正された格納命令がハードウェア層へ送信される。安全なデータ格納デバイスも開示される。前記デバイスは次のユニットで構成される。ハードウェア命令を受信するように適合された受信ユニット、ハードウェア命令を解析しかつハードウェア命令が格納命令であるかどうかを判断するように適合された命令解析ユニット、格納命令内のターゲットアドレスを安全な格納装置内の対応する格納アドレスへ修正するように適合された命令修正ユニット、修正された格納命令をハードウェア層へ送信するように適合された送信ユニット。技術的仕組みは、情報の永続的操作をハードウェア層上に実装することができ、すなわち命令レベルのデータダンプ、トロイの木馬または悪意のあるツールは、たとえこれらが秘密関連情報を獲得しても獲得された情報を保存することができず、したがってデータは常に制御可能な安全範囲の内部にある。【選択図】図１３
2014517376.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア命令を受信し；
前記ハードウェア命令を解析し、前記ハードウェア命令が格納命令である場合、前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正し、それゆえに修正された格納命令を獲得し；、
前記修正された格納命令をハードウェア層へ送信する、データの安全格納方法。
【請求項２】
前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正した後に、
ビットマップ内の前記宛先アドレスに対応するビットデータを更新し、それゆえに更新されたビットマップを獲得し；前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、請求項１に記載のデータの安全格納方法。
【請求項３】
前記ビットマップを更新した後に、
前記更新されたビットマップを前記安全デバイスへ同期化し、前記更新されたビットマップをもう１つのビットマップとして保存する、請求項２に記載のデータの安全格納方法。
【請求項４】
ハードウェア命令を受信する前に、
コンピュータ端末システムと前記安全デバイスの間の通信を確立し；、
前記安全デバイス上のもう１つのビットマップを前記コンピュータ端末システムへ同期化し、前記コンピュータ端末システムのビットマップとして保存する、請求項３に記載のデータの安全格納方法。
【請求項５】
前記安全デバイス上のもう１つのビットマップを前記コンピュータ端末システムへ同期化するのが失敗する場合、前記コンピュータ端末システムのローカルの格納スペースを前記安全デバイスへマッピングし、前記コンピュータ端末システムのビットマップかつ前記安全デバイスのもう１つのビットマップを生成する、請求項４に記載のデータの安全格納方法。
【請求項６】
前記ハードウェア命令は、ハードウェアポート入出力命令である、請求項１に記載のデータの安全格納方法。
【請求項７】
前記安全デバイスは、遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、請求項１に記載のデータの安全格納方法。
【請求項８】
前記ハードウェア命令は、ハードウェアマッピング層から得られる、請求項１に記載のデータの安全格納方法。
【請求項９】
ハードウェア命令を受信するように適合された受信ユニットと、
前記ハードウェア命令を解析し、かつ前記ハードウェア命令が格納命令であるかどうかを決定するように適合された命令解析ユニットと、
前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正するように適合された命令修正ユニットと、
前記修正された格納命令をハードウェア層へ送信するように適合された送信ユニットと、を備える、データの安全格納デバイス。
【請求項１０】
前記命令修正ユニットと結合された更新ユニットであって、前記更新ユニットは、前記命令修正ユニットが前記格納命令を修正した後に、ビットマップ内の前記宛先アドレスに対応するビットデータを更新するように適合され、前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、更新ユニットをさらに備える、請求項９に記載のデータの安全格納デバイス。
【請求項１１】
前記更新ユニットと結合された同期化ユニットであって、コンピュータ端末システムと前記安全デバイスの間の通信を確立し、かつ前記ビットマップを前記コンピュータ端末システムと前記安全デバイスの間で同期化させるように適合された同期化ユニットをさらに備える、請求項１０に記載のデータの安全格納デバイス。
【請求項１２】
前記ハードウェア命令は、ハードウェアマッピング層から得られる、請求項９に記載のデータの安全格納デバイス。
【請求項１３】
前記安全デバイスは遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、請求項９に記載のデータの安全格納デバイス。
【請求項１４】
請求項１に記載の方法に従って、コンピュータに命令を実行させるコンピュータプログラムを格納した、コンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データセキュリティの分野に関し、さらに詳しくはデータの安全格納方法およびデバイスに関する。
【背景技術】
【０００２】
既存の電子情報セキュリティ分野は、システムセキュリティ、データセキュリティおよびデバイスセキュリティを含む３つのサブ分野を有する。
【０００３】
データセキュリティの分野において、今日ではデータを安全に保つ３つの技術、すなわち（１）データ暗号化−復号技術およびエンド・ツー・エンド（端末間）のデータ暗号化技術を含むセキュリティ技術であって、格納プロセス中および送信プロセス中にデータ内容が不法にアクセスされないことを保証するために用いられるデータ内容セキュリティ技術、（２）権限のないコピー、印刷または他の出力動作を防止する技術を含む転送技術であって、使用中および送信プロセス中にデータ内容が安全であることを保証するために用いられるデータセキュリティ転送技術、（３）ネットワークの物理的分離およびネットワークセキュリティ障壁の設置などの技術を含むネットワーク分離技術、が存在する。
【０００４】
しかしながら、上述した技術が、コンピュータＯＳカーネルウイルス、トロイの木馬、オペレーティングシステムの抜け穴または脆弱性、システムのバックドアおよび秘密漏洩などの、問題に十分に対処できていないので、コンピュータなどのコンピューティングデバイス上に悪意のあるコードが存在することがある。ＡＶ−Ｔｅｓｔ  Ｌａｂ社の解析によれば、コンピュータ内の危険行動に対する全有効検出率は、多くても５０％である。悪意のあるコードがいったん端末システムに入ると、上述した暗号化技術、コピー防止技術およびネットワーク遮断技術は、どんな助けにもならず、すなわち無力である。さらに、現在のハッカー技術は、上述したセキュリティ技術に浸入または突破し、オペレーティングシステムの抜け穴およびシステムのバックドアを用いて悪意のあるコードを埋め込み、悪意のあるコードによってユーザデータを盗み出すことができる。すなわち上述した技術は、秘密関連社員が能動的または受動的に秘密を漏洩することを防止することができず、例えば従業員は、携帯型格納機器を用いて内部ネットワークまたは内部端末から情報またはデータをダウンロードし、秘密漏洩を引き起こすことができる。
【０００５】
図１に図示したように、ユーザインターフェース層１０１、アプリケーション層１０２、オペレーティングシステム（ＯＳ）カーネル層１０３、ハードウェアマッピング層１０４およびハードウェア層１０５を含む、既存のコンピュータ端末システムの概略図が示される。このような端末システムのユーザは、コンピュータ端末システムを操作し、ユーザインターフェース層１０１のユーザインターフェースを通じてグラフィックまたは非グラフィックのフィードバックを得る。一例としてデータを保存する操作を選択すると、
（１）  ユーザは、アプリケーションプログラムのユーザインターフェース上で「保存」の機能を選択し、
（２）  アプリケーション層１０２は、対応するコードを呼び出しまたはコールし、「保存」命令をオペレーティングシステムによって提供された１つ以上のインターフェース機能へ変換し、すなわち「保存」操作は、オペレーティングシステムによって提供された一連のインターフェース機能へのコールになり、
（３）  ＯＳカーネル層１０３は、オペレーティングシステムのインターフェース機能への上述したコールを受信し、オペレーティングシステムの各インターフェース機能をハードウェアマッピング層１０４によって提供された１つ以上のインターフェース機能へ変換し、すなわち「保存」操作は、ハードウェアマッピング層１０４によって提供された一連のインターフェース機能へのコールになり、
（４）  ハードウェアマッピング層１０４によって提供された各インターフェース機能は、ハードウェアマッピング層１０４内の１つ以上のハードウェア命令コールへ変換され、
（５）  ＣＰＵなどのハードウェア層１０５のハードウェアは、ハードウェア命令コールを受信し、ハードウェア命令を実行する。
【０００６】
上述したコンピュータ端末が悪意のあるコードによって侵入されると、悪意のあるコードは、システム内のデータにアクセスすることができ、データを盗み出した後、悪意のあるコードの行動パターンは、（１）格納動作、すなわち対象データを一定の格納先へ保存すること、（２）送信動作、すなわち盗み出されたデータまたは対象データを、インターネットを通じて指定の宛先アドレスへ直接に送信すること、を含む。加えて、上述したコンピューティングデバイスまたは情報機器を使用する秘密関連社員によって秘密が漏洩される行動パターンは、（１）能動的秘密漏洩、すなわち秘密関連社員が、悪意のあるツールを用いてセキュリティシステムに浸入し、トロイの木馬などを埋め込んで、能動的コピーのようなやり方で直接に秘密情報を入手する、（２）受動的秘密漏洩、すなわち秘密関連社員によって使用されるコンピュータまたは格納媒体が、不適切に使用されまたは紛失して、例えば、秘密関連デバイスが直接にインターネットへ接続されることによって引き起こされるなどの秘密漏洩を引き起こす、ことを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、上述したデータセキュリティ技術を適用するコンピュータ端末システムは、依然として次の問題、すなわち（１）端末にある秘密情報が不法に格納されることを、機器フィルタリングに基づくコピー防止技術が防止することができない、（２）秘密情報が十分に制御下にあることを、ネットワークフィルタリングに基づく技術が保証することができない、（３）秘密関連社員が、悪意のあるコードまたは悪意のあるツールを通じて秘密を漏洩する、（４）秘密関連デバイスまたは秘密関連格納媒体を紛失しているので、秘密関連社員が秘密を漏洩している、ことに直面している。
【０００８】
結論として、端末システムが悪意のあるコードによって侵入された後でも、データセキュリティを保証することができる方法が必要である。
【課題を解決するための手段】
【０００９】
本開示は、データセキュリティを改善するために、端末システムが悪意のあるコードによって侵入された後のデータセキュリティを保証する方法を提供する。
【００１０】
本開示のある観点によれば、ハードウェア命令を受信し；前記ハードウェア命令を解析し、前記ハードウェア命令が格納命令である場合、前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正し、それゆえに修正された格納命令を獲得し；、前記修正された格納命令をハードウェア層へ送信する、データの安全格納方法が提供される。
【００１１】
前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正した後に、ビットマップ内の前記宛先アドレスに対応するビットデータを更新し、それゆえに更新されたビットマップを獲得し；前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、ようにしてもよい。
【００１２】
前記ビットマップを更新した後に、
前記更新されたビットマップを前記安全デバイスへ同期化し、前記更新されたビットマップをもう１つのビットマップとして保存する、ようにしてもよい。
【００１３】
ハードウェア命令を受信する前に、
コンピュータ端末システムと前記安全デバイスの間の通信を確立し；、
前記安全デバイス上のもう１つのビットマップを前記コンピュータ端末システムへ同期化し、前記コンピュータ端末システムのビットマップとして保存する、ようにしてもよい。
【００１４】
前記安全デバイス上のもう１つのビットマップを前記コンピュータ端末システムへ同期化するのが失敗する場合、前記コンピュータ端末システムのローカルの格納スペースを前記安全デバイスへマッピングし、ビットマップ及びもう１つのビットマップを生成する、ようにしてもよい。
【００１５】
前記ハードウェア命令が、ハードウェアポート入出力命令であるようにしてもよい。
【００１６】
前記安全デバイスは、遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、ようにしてもよい。
【００１７】
前記ハードウェア命令は、ハードウェアマッピング層から得られる、ようにしてもよい。
【００１８】
さらに、本開示の他の観点によれば、ハードウェア命令を受信するように適合された受信ユニットと、前記ハードウェア命令を解析し、かつ前記ハードウェア命令が格納命令であるかどうかを決定するように適合された命令解析ユニットと、前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正するように適合された命令修正ユニットと、前記修正された格納命令をハードウェア層へ送信するように適合された送信ユニットと、を備える、データの安全格納デバイスが提供される。
【００１９】
上記データの安全格納デバイスは、前記命令修正ユニットと結合された更新ユニットであって、前記更新ユニットは、前記命令修正ユニットが前記格納命令を修正した後に、ビットマップ内の前記宛先アドレスに対応するビットデータを更新するように適合され、前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、更新ユニットをさらに備えてもよい。
【００２０】
上記データの安全格納デバイスは、前記更新ユニットと結合された同期化ユニットであって、コンピュータ端末システムと前記安全デバイスの間の通信を確立し、かつ前記ビットマップを前記コンピュータ端末システムと前記安全デバイスの間で同期化させるように適合された同期化ユニットをさらに備えてもよい。
【００２１】
前記ハードウェア命令は、ハードウェアマッピング層から得られる、ようにしてもよい。
【００２２】
前記安全デバイスは遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、ようにしてもよい。
【００２３】
さらに、本開示の他の観点によれば、上記いずれかの方法に従って、コンピュータに命令を実行させるコンピュータプログラムを格納した、コンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品が提供される。
【００２４】
従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち
１．  データの安全格納方法が、十分なデータダンプである命令レベルのデータダンプを達成し、かつコンピュータ端末システムの十分な操作時間中に十分なデータダンプに基づいてデータの安全格納を達成し、一方では、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出されたデータを保存することができず、これによりデータがセキュリティゾーン内において制御下にあることを保証し、他方では、秘密情報または秘密データがローカルに保存されず、これにより秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、
２．  ハードウェア命令をハードウェアマッピング層から受信することによって、命令を１００％スクリーニングすることができ、これによりさらにデータセキュリティを改善する、ことを有する。
【図面の簡単な説明】
【００２５】
【図１】図１は、ソフトウェアおよびハードウェア層を含む従来のコンピュータ端末システムを示す概略図である。
【００２６】
【図２】図２は、本開示の第１実施形態において提供されるランタイム命令再結合方法のフローチャートである。
【００２７】
【図３】図３は、本開示の第１実施形態において命令再結合プロセスおよび再結合した命令セグメント（再結合命令セグメント）を示す概略図である。
【００２８】
【図４】図４は、本開示の第２実施形態において提供されるランタイム命令再結合方法のフローチャートである。
【００２９】
【図５】図５は、本開示の第３実施形態において提供されるランタイム命令再結合方法のフローチャートである。
【００３０】
【図６】図６は、本開示の第７実施形態において提供されるランタイム命令再結合デバイスを示す概略図である。
【００３１】
【図７】図７は、本開示の第８実施形態において提供されるランタイム命令再結合デバイスを示す概略図である。
【００３２】
【図８】図８は、本開示の第９実施形態において提供されるランタイム命令再結合デバイスの命令再結合ユニットを示す概略図である。
【００３３】
【図９】図９は、本開示の第１０実施形態において提供されるコンピュータ端末システムの設計者または層を示す概略図である。
【００３４】
【図１０】図１０は、本開示の第１０実施形態において提供されるデータダンプの全プロセスのフローチャートである。
【００３５】
【図１１】図１１は、図１０内の初期化プロセスＳ１０００のフローチャートである。
【００３６】
【図１２】図１２は、本開示の第１０実施形態において提供されるビットマップを示す概略図である。
【００３７】
【図１３】図１３は、本開示の第１０実施形態において提供されるデータの安全格納方法のフローチャートである。
【００３８】
【図１４】図１４は、本開示の第１０実施形態において提供されるデータの安全読み出し方法のフローチャートである。
【００３９】
【図１５】図１５は、本開示の第１１実施形態において提供されるデータの安全送信方法のフローチャートである。
【００４０】
【図１６】図１６は、本開示の第１１実施形態において提供されるネットワーク構造を示す概略図である。
【００４１】
【図１７】図１７は、本開示の第１２実施形態において提供されるデータの安全格納デバイスを示す概略図である。
【００４２】
【図１８】図１８は、本開示の第１３実施形態において提供されるデータの安全読み出しデバイスを示す概略図である。
【発明を実施するための形態】
【００４３】
当業者に本開示の趣旨をより良好に理解させるために、本開示に従うデータの安全格納方法およびデバイスは、図面および具体的な実施形態と連動して以下に詳細に説明されることになる。
【００４４】
次の実施形態は、当業者に本開示の趣旨をより良好に理解させるために用いられる本開示の具体的な実施形態にすぎないが、本開示の保護の範囲は、具体的な実施形態の具体的な説明に限定すべきではなく、種々の修正形態が、本開示の趣旨の範囲から逸脱せずに、当業者によって本開示の具体的な実施形態へ構成することができる。
【００４５】
コンピュータが実行中であるとき、ＣＰＵアドレスレジスタは、実行予定である次の機械命令のアドレスを保つ。本開示のいくつかの実施形態において、ランタイム機械命令の監視を実現するために、このレジスタのデータが取得され、実行対象の１つ以上の機械命令がレジスタのデータに従って読み出され、および１つ以上の機械命令で構成されたスケジューリング対象の命令セグメントが修正され、それゆえに制御権は各機械命令が実行される前に取得することができ、次の命令の解析は連続的に実行することができる。さらに、本開示のいくつかの実施形態において、スケジューリング対象の機械命令セグメントを取得するステップの後に、スケジューリング対象の機械命令セグメント内のターゲット命令を処理するステップが実行され、したがってランタイム命令が再結合し監視されるだけでなく、ターゲット命令もまた修正され更新される。
【００４６】
本開示の第１実施形態に従って、ランタイム命令再結合方法が提供される。図２に図示したように、本方法は、
Ｓ１０１、命令実行コンテキストを格納すること；
Ｓ１０２、スケジューリング予定である機械命令セグメントを取得すること；
取得された機械命令セグメントの最後の命令の前に第２制御転送命令を挿入こと；
（第２制御転送命令は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる。）
アドレスレジスタ値をＡからＡ”へ修正すること；
Ｓ１０３、命令実行コンテキストを復元すること；
を含む。
【００４７】
特に、本方法は、ステップＳ１０１が実行される前に、ＣＰＵ上で動く制御権を取得するステップをさらに含む。ＣＰＵが本方法を実行すると、本方法は、最初に命令実行コンテキストを格納し（すなわちステップＳ１０１）、すなわち、本方法は、ちょうど実行されている監視命令の結果を格納する。本実施形態において用いられるＣＰＵは、Ｘ８６アーキテクチャの中央処理装置であるが、ＣＰＵは、本開示の別の実施形態において、ＭＩＰＳプロセッサまたはＡＲＭアーキテクチャのプロセッサとすることもできる。すなわち当業者は、ＣＰＵが他の任意の種類のコンピューティングデバイス内の命令処理ユニットとすることができることを理解することができる。
【００４８】
ステップＳ１０１において、命令実行コンテキストを格納することは、命令実行に関連したレジスタデータをスタック上へプッシュすることを含む。本開示の別の実施形態において、命令実行コンテキストは、別のデフォルトもしくは指定の場所に格納することもでき、または別のデフォルトもしくは指定のデータ構造で格納することもできる。
【００４９】
ステップＳ１０２において、スケジューリング予定である機械命令セグメントを取得することは、
Ｓ１０２１、スケジューリング対象の機械命令のアドレスをＣＰＵアドレスレジスタから読み出すこと；、
Ｓ１０２２、制御転送命令を検索対象として用いることによって、第１制御転送命令が見つかるまで、機械命令のアドレスに対応する機械命令を検索すること；
（制御転送命令はＪＭＰ命令およびコール命令を含む）
Ｓ１０２３、第１制御転送命令の前にスケジューリング対象の機械命令セグメントとして第１制御転送命令および機械命令を定義すること；
命令再結合プラットフォーム内または命令再結合プラットフォームがアクセスすることができる他の格納先内に機械命令セグメントを格納すること；
を含む。
【００５０】
本開示の別の実施形態において、スケジューリング予定である機械命令セグメントを取得することは、書き込み命令または読み出し命令などの非制御転送命令を検索対象として用いて、機械命令を機械命令セグメントへ分割することもできる。すなわち機械命令セグメント内の制御転送命令が実行された後に命令再結合プラットフォームがＣＰＵの制御権（すなわちＣＰＵ上で動くための制御権）を得ることを保証する必要があるので、制御転送命令は、追加のまたは補助的な検索対象として用いる必要があり、それによって機械命令セグメントを比較的小さいサイズにする。
【００５１】
依然としてステップＳ１０２において、第２制御転送命令ＪＰ２を挿入する前に、本実施形態において提供される方法は、
Ｓ１０２５、処理対象のターゲット機械命令を取得するために、機械命令セグメントを識別する命令セットを用いることによって機械命令セグメントを解析こと；
（命令セットはＸ８６、ＭＩＰＳ、またはＡＲＭ命令セットとすることができる）
Ｓ１０２６、ターゲット機械命令を所定のやり方で修正すること；
をさらに含むことができる。
【００５２】
上述したステップを用いて、ランタイム命令の監視を実現することができるが、他のプロセスは、同様に実行することができ、次の実施形態においてさらに説明されることになる。
【００５３】
本実施形態の目的がランタイム命令再結合を実現することであるので、ステップＳ１０２５およびＳ１０２６は実行されず、次のステップが直接実行される。すなわち、取得された機械命令セグメントの最後の命令（それは制御転送命令ＪＰ１）の前に第２制御転送命令ＪＰ２を挿入すること；（第２制御転送命令ＪＰ２は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）
格納された命令実行コンテキストにおけるアドレスレジスタ値ＡをＡ”へ修正すること；
命令再結合プラットフォームは、本実施形態において提供される命令再結合方法の実行プラットフォームである。
【００５４】
ＪＰ２を挿入するステップは、ＣＰＵがスケジューリング予定である機械命令セグメントを実行するとき、ＪＰ１の前に命令再結合プラットフォームを再実行することであり、次いで命令再結合プラットフォームは、次のスケジューリング対象の機械命令セグメントを解析し続け、上述した方法のステップを繰り返して、全命令に対する再結合を仕上げる。詳細は、ステップＳ１０３の次の解析で説明されることになる。
【００５５】
ステップＳ１０３において、命令実行コンテキストを復元することは、命令実行に関連したレジスタデータをスタックから取り出すことを含む。アドレスレジスタ内に格納される制御転送命令の宛先アドレスは、新たな機械命令セグメントのエントリアドレスであるＡ”へすでに修正されている。命令実行コンテキストを復元した後、命令再結合プラットフォームは、今回は操作を終了し、ＣＰＵは先行する機械命令セグメントの最後の命令（それは制御転送命令）を実行し続け、宛先アドレスは上述したようにＡ”へ修正され、ＣＰＵは、エントリアドレスＡ”を有する新たな機械命令セグメントを実行する。エントリアドレスＡ”を有する命令セグメントが最後から２番目の命令（それは第２制御転送命令ＪＰ２）に対して実行されるとき、命令再結合プラットフォームは、制御権を得てＣＰＵ上で再び動き、命令再結合プラットフォームは、ステップＳ１０１からステップＳ１０３までのプロセスを繰り返す。
【００５６】
図３を参照すると、命令再結合プロセスおよび再結合命令セグメントの発生が、詳細に説明されることになる。スケジューリング予定である機械命令セット４０１は図３にあり、同図で第１制御転送命令は第１制御転送命令４０１２であり、命令４０１２より前の命令が実行される前に、命令４０１２の宛先アドレスは可変である場合に未知であり、したがって宛先アドレスは、第１制御転送命令４０１２が機械命令４０１３を指すと仮定し、第１制御転送命令４０１２と命令４０１２より前の命令とを含む機械命令は、機械命令セグメント４０１１を構成する。
【００５７】
依然として図３を参照すると、命令再結合プラットフォーム４１１が実行されると、最初に命令実行コンテキストが格納され、次いで機械命令セグメント４０１１が取得され、命令再結合プラットフォームは、第１制御転送命令４０１２の前に第２制御転送命令４１１３を挿入し、第２制御転送命令４１１３は命令再結合プラットフォーム４１１それ自体を指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメント４１１１を発生させ、次いで格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡはＡ”へ修正され、最後に、命令実行コンテキストは復元される。
【００５８】
命令再結合プラットフォーム４１１が実行を終了した後、ＣＰＵは、アドレスレジスタ値Ａ”を有する先行する再結合命令セグメントの最後の制御転送命令を実行し続ける。アドレスＡ”を有する再結合命令セグメントが開始された後、第２制御転送命令４１１３が実行中に、命令再結合プラットフォーム４１１は、再びＣＰＵの制御権を取得し、次いでスケジューリング対象の機械命令を解析し続け、それゆえにランタイム命令再結合の本方法は終了する。
【００５９】
さらに、実行プログラムの機械命令は高い繰り返し能力を有し、命令再結合の効率を改善するために、かつコンピューティングデバイスのコンピューティング資源（例えば、ＣＰＵ）を節約するために、本開示の第２実施形態に従って、図４に示すようにランタイム命令再結合方法が提供される。ランタイム命令再結合方法は、
Ｓ２０１、命令実行コンテキストを格納するステップ；
Ｓ２０２、格納された命令実行コンテキスト内にあるアドレスレジスタ値Ａを有するアドレス対応テーブルを検索するステップ；アドレス対応テーブルは、再結合予定であるアドレスＡに対応する機械命令セグメントが、アドレスＡ’を有する格納された再結合命令セグメントを有するかどうかを示すために用いられる、
Ｓ２０３、レコードが見つかる場合、アドレスレジスタ値Ａをレコード内の値Ａ’へ修正し、命令実行コンテキストを復元するステップ；、
Ｓ２０４、レコードが見つからない場合、スケジューリング対象の機械命令セグメントを取得し、取得された機械命令セグメントの最後の命令の前に第２制御転送命令を挿入し（第２制御転送命令は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）、格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡをアドレスＡ”へ修正するステップ；
Ｓ２０５、命令実行コンテキストを復元するステップ；
を含む。
【００６０】
同様に、ステップＳ２０４は、アドレスＡ”およびアドレスＡを用いて、アドレス対応テーブル内にレコードを生成するステップをさらに含むことができる。すなわち、アドレスＡ”を有する再結合命令セグメントは、再利用のために命令再結合プラットフォーム内に格納される。
【００６１】
アドレス対応テーブルを用いることによって、本方法は、コンピューティング資源を節約し、ランタイム命令再結合の効率を改善する。
【００６２】
上述した実施形態において、機械命令、すなわち２値機械コードは、直接に操作または処理され、本開示の別の実施形態において、命令の修正のようにさらに操作することができるので、スケジューリング対象の機械命令セグメントは、後で用いるためにアセンブリ・コード・セグメントへ、最初に逆アセンブルすることができ、アセンブリ・コード・セグメントは、命令実行コンテキストを復元する前に２値機械コードへアセンブルされることになる。
【００６３】
本開示の第３実施形態に従って、
Ｓ３０１、現在の命令実行コンテキストを格納するステップ；、
Ｓ３０２、格納された命令実行コンテキスト内にあるアドレスレジスタ値Ａを有するアドレス対応テーブルを検索するステップ；、
Ｓ３０３、対応するレコードが見つかる場合、アドレスレジスタ値Ａをレコード内の値Ａ’へ修正し、命令実行コンテキストを復元するステップ；、
Ｓ３０４、レコードが見つからない場合、図５に示される再結合命令を発生させる方法；
Ｓ３０５、命令実行コンテキストを復元するステップ；、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
Ｓ３０４１、スケジューリング対象の機械命令セグメントを取得するステップ；、
Ｓ３０４２、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ；、
Ｓ３０４３、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ；、
Ｓ３０４４、アセンブリ命令セグメントの最後の命令の前に第２制御転送命令ＪＰ２を挿入するステップ；（第２制御転送命令ＪＰ２は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）、
Ｓ３０４５、修正されたアセンブリ命令セグメントをアセンブルして、再結合した機械命令セグメント（再結合機械命令セグメント）を得るステップ；、
Ｓ３０４６、アドレスＡ”およびアドレスＡを用いてアドレス対応テーブル内にレコードを確立するステップ；、
Ｓ３０４７、格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡをアドレスＡ”へ修正するステップ；、
を含む。
【００６４】
ステップＳ３０４２およびＳ３０４５は、対応する逆アセンブルステップおよびアセンブルステップである。機械命令セグメントがアセンブリ命令セグメントへ逆アセンブルされた後、さらに解析ステップおよび修正ステップを実行することは容易である。他のステップは、上述した実施形態におけるステップと同様であり、再説明はしないことにする。
【００６５】
上述したランタイム命令再結合方法は、さらなる応用の土台を提供する。次の実施形態は、格納／読み出し命令、入出力命令およびネットワーク送信命令を含む機械命令上で異なる処理を実行する種々のランタイム命令再結合方法を提供する。
【００６６】
本開示の第４実施形態に従う格納／読み出し命令に対して、
Ｓ４０１、現在の命令実行コンテキストを格納するステップ；、
Ｓ４０２、格納された命令実行コンテキスト内にあるアドレスレジスタ値Ａを有するアドレス対応テーブルを検索するステップ；
Ｓ４０３、対応するレコードが見つかる場合、アドレスレジスタ値Ａをレコード内の値Ａ’へ修正し、命令実行コンテキストを復元するステップ；、
Ｓ４０４、レコードが見つからない場合、再結合命令を発生させる方法；
Ｓ４０５、命令実行コンテキストを復元するステップ；、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
Ｓ４０４１、スケジューリング対象の機械命令セグメントを取得するステップ；、
Ｓ４０４２、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ；、
Ｓ４０４３、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ；（ターゲットアセンブリ命令は格納／読み出し命令である）、
Ｓ４０４４、アセンブリ命令セグメントが格納／読み出し命令を含む場合、格納／読み出し命令の格納または読み出しアドレスを安全デバイス上の対応するアドレスへ修正するステップ；、
Ｓ４０４５、アセンブリ命令セグメントの最後の命令の前に第２制御転送命令ＪＰ２を挿入するステップ；（第２制御転送命令ＪＰ２は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）、
Ｓ４０４６、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ；、
Ｓ４０４７、アドレスＡ”およびアドレスＡを用いてアドレス対応テーブル内にレコードを確立するステップ；、
Ｓ４０４８、格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡをアドレスＡ”へ修正するステップ；、
を含む。
【００６７】
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
【００６８】
ステップＳ４０４４において、格納および読み出し命令に対して、格納または読み出し命令内のターゲットアドレスまたは送信元アドレスは、データダンプを達成するために修正されるが、同データダンプは、データセキュリティ用の安全デバイス上へデータを保存することである。詳細は、次の本開示の実施形態において説明されることになる。
【００６９】
本開示の第５実施形態に従う入出力命令に対して、
Ｓ５０１、現在の命令実行コンテキストを格納するステップ；、
Ｓ５０２、格納された命令実行コンテキスト内にあるアドレスレジスタ値Ａを有するアドレス対応テーブルを検索するステップ；、
Ｓ５０３、対応するレコードが見つかる場合、アドレスレジスタ値Ａをレコード内の値Ａ’へ修正し、命令実行コンテキストを復元するステップ；、
Ｓ５０４、レコードが見つからない場合、再結合命令を発生させる方法；
Ｓ５０５、命令実行コンテキストを復元するステップ；、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
Ｓ５０４１、スケジューリング対象の機械命令セグメントを取得するステップ；、
Ｓ５０４２、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ；、
Ｓ５０４３、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ；（ターゲットアセンブリ命令は入出力命令である）、
Ｓ５０４４、アセンブリ命令セグメントが入出力命令を含む場合、入出力命令内の全入力命令を遮断するステップ；、
Ｓ５０４５、アセンブリ命令セグメントの最後の命令の前に第２制御転送命令ＪＰ２を挿入するステップ；（第２制御転送命令ＪＰ２は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）、
Ｓ５０４６、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ；、
Ｓ５０４７、アドレスＡ”およびアドレスＡを用いてアドレス対応テーブル内にレコードを確立するステップ；、
Ｓ５０４８、格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡをアドレスＡ”へ修正するステップ；、
を含む。
【００７０】
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
【００７１】
ステップＳ５０４４において、入出力命令内の全入力命令は遮断されて、ローカルのハードウェアの書き込み操作を防止し、最後の実施形態における格納命令のプロセスに加えて、格納命令を除く全入力命令を遮断することができ、これによりコンピューティングデバイスにおけるデータセキュリティを改善することができる。
【００７２】
本開示の第６実施形態に従うネットワーク送信命令に対して、
Ｓ６０１、現在の命令実行コンテキストを格納するステップ；、
Ｓ６０２、格納された命令実行コンテキスト内にあるアドレスレジスタ値Ａを有するアドレス対応テーブルを検索するステップ；、
Ｓ６０３、対応するレコードが見つかる場合、アドレスレジスタ値Ａをレコード内の値Ａ’へ修正し、命令実行コンテキストを復元するステップ；、
Ｓ６０４、レコードが見つからない場合、再結合命令を発生させる方法；
Ｓ６０５、命令実行コンテキストを復元するステップ；、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
Ｓ６０４１、スケジューリング対象の機械命令セグメントを取得するステップ；、
Ｓ６０４２、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ；、
Ｓ６０４３、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ；（ターゲットアセンブリ命令はネットワーク送信命令である）、
Ｓ６０４４、アセンブリ命令セグメントがネットワーク送信命令を含む場合、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレス（許可されたアドレス）であるかどうかを決定し、宛先アドレスが許可アドレスでない場合、ネットワーク送信命令を遮断するステップ；、
Ｓ６０４５、アセンブリ命令セグメントの最後の命令の前に第２制御転送命令ＪＰ２を挿入するステップ；（第２制御転送命令ＪＰ２は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスＡ”を有する再結合命令セグメントを発生させる）、
Ｓ６０４６、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ；、
Ｓ６０４７、アドレスＡ”およびアドレスＡを用いてアドレス対応テーブル内にレコードを確立するステップ；、
Ｓ６０４８、格納された命令実行コンテキスト内にあるアドレスレジスタ値ＡをアドレスＡ”へ修正するステップ；、
を含む。
【００７３】
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
【００７４】
ステップＳ６０４４において、ネットワーク送信命令は、遠隔のコンピューティングデバイスに対応する同命令の宛先アドレスが許可アドレスであるかどうかを検査するために処理され、そうでない場合、ネットワーク送信命令が遮断されて、セキュアなデータ送信を実現する。
【００７５】
上述した実施形態におけるアドレス対応テーブルは、命令再結合プラットフォームによって生成されかつ保持され、同テーブルは、固定長配列構造、可変長連結リスト構造、またはデータ対を保存する他の適切なデータ構造を有することができる。任意選択で、データ構造の長さは調整可能であり、データ構造のスペースは解放することができる。アドレス対応テーブルによって占有されたスペースを解放する操作は、定期的にまたはランダムなやり方で実行することができる。いくつかの実施形態において、アドレス対応テーブルは、レコードを生成する時間を保存するデータフィールドをさらに含み、同データフィールドは存在時間に従ってレコードを除去する解放操作によって用いられる。いくつかの実施形態において、アドレス対応テーブルは、使用カウンタとして用いられるデータフィールドをさらに含み、アドレス対応テーブルを検索するステップにおいてレコードが見つかる場合、同データフィールドは更新されまたは修正され、さらに同データフィールドは使用カウンタに従ってレコードを削除する解放操作によっても用いられる。
【００７６】
さらに、システム起動以降のランタイム命令監視を実行するために、かつコンピューティングデバイスの動作段階中にランタイム命令の十分な監視を達成するために、本開示の別の一実施形態に従って、システム起動時に用いられるロード命令は修正され、本開示において提供された命令再結合プラットフォームは、ロード命令の実行の前にランタイム命令再結合方法を実行するようにコールされ、ロード命令のジャンプ先アドレスが既知の固定アドレスであるので、命令再結合プラットフォームは、最初のレコードを有するアドレス対応テーブルを生成し、前もって最初の再結合命令セグメントを生成する。
【００７７】
さらに、本開示に従って、上述した実施形態によって提供されるランタイム命令再結合方法に従う命令をコンピュータに実行させるためのコンピュータプログラムを格納する、コンピュータ読み取り可能な媒体も提供される。
【００７８】
別の一態様に従ってかつ上述したランタイム命令再結合方法に対応して、本開示の第７実施形態におけるランタイム命令再結合デバイスが提供される。
【００７９】
図６に図示したように、命令再結合デバイス５００は、
命令実行コンテキストを格納しかつ復元するように適合された命令実行コンテキスト格納／復元ユニット５０１と、
命令実行コンテキスト格納／復元ユニット５０１が命令実行コンテキストを格納した後、スケジューリング対象の機械命令セグメントを取得するように適合された命令取得ユニット５０２と、
スケジューリング対象の機械命令セグメントを解析しかつ修正するように適合されたユニットであって、アドレスＡ”を有する再結合命令セグメントを発生させる命令再結合ユニット５０３と、
格納された命令実行コンテキスト内にあるアドレスレジスタ値を再結合命令セグメントのアドレスへ修正するように適合された命令置換ユニット５０４と、を含む。
【００８０】
命令実行コンテキスト格納／復元ユニット５０１は命令取得ユニット５０２および命令置換ユニット５０４へ結合され、命令取得ユニット５０２、命令再結合ユニット５０３および命令置換ユニット５０４は順繰りに結合されるが、これは、命令取得ユニット５０２が命令再結合ユニット５０３へ結合されること、および命令再結合ユニット５０３が命令置換ユニット５０４へ結合されることを意味する。
【００８１】
命令再結合デバイス５００は、次のようなやり方で、ランタイム命令再結合方法を実行し、すなわち、
最初に、命令実行コンテキスト格納／復元ユニット５０１は、命令実行コンテキストを格納するが、これは、実行関連レジスタデータをスタック（例えばメモリ内のスタック）上へプッシュすることであり、
次いで、命令取得ユニット５０２は、スケジューリング対象の機械命令のアドレスをＣＰＵアドレスレジスタから読み出し、かつアドレスに従って機械命令セグメントを読み出し、機械命令セグメントの最後の命令は制御転送命令となる。特に、命令取得ユニット５０２は、スケジューリング対象の機械命令のアドレスをＣＰＵアドレスレジスタ５１１から読み出し、検索対象として制御転送命令を用いて第１制御転送命令（例えば制御転送命令はＪＭＰ命令およびコール命令を含む）が見つかるまでアドレスに対応する機械命令を検索し、第１制御転送命令および同命令の前の全機械命令をスケジューリング対象の機械命令セグメントとして定義し、命令再結合デバイス５００または命令再結合デバイス５００がアクセスすることができる他の格納先内に機械命令セグメントを格納し、
次いで、命令再結合ユニット５０３は、取得された機械命令セグメントの最後の命令の前に第２制御転送命令を挿入し、第２制御転送命令は命令再結合デバイスのエントリアドレスを指し、同デバイスはアドレスＡ”を有する再結合命令セグメントを発生させ、
次いで、命令置換ユニット５０４は、格納された命令実行コンテキスト内にあるアドレスレジスタの値ＡをアドレスＡ”へ修正し、
最後に、命令実行コンテキスト格納／復元ユニット５０１は、命令実行コンテキストを復元するが、これは、実行関連レジスタデータをスタックから取り出すことである。
【００８２】
さらに、本開示の第８実施形態に従って、ランタイム命令再結合デバイスが提供され、同デバイスは、実行中の命令の繰り返し能力を利用して、再結合効率を改善しかつコンピューティングデバイスのコンピューティング資源を節約する。
【００８３】
図７に示すように、命令再結合デバイス６００は、
命令実行コンテキストを格納しかつ復元するように適合された命令実行コンテキスト格納／復元ユニット６０１と、
命令実行コンテキスト格納／復元ユニットが命令実行コンテキストを格納した後にスケジューリング対象の機械命令セグメントを取得するように適合された命令取得ユニット６０２と、
スケジューリング対象の機械命令セグメントを解析しかつ修正して、アドレスＡ”を有する再結合命令セグメントを発生させるように適合された命令再結合ユニット６０３と、
格納された命令実行コンテキスト内にあるアドレスレジスタの値を再結合命令セグメントのアドレスへ修正するように適合された命令置換ユニット６０４と、
格納された命令実行コンテキスト内にあるアドレスレジスタの値Ａを検索ターゲットとして用いて、アドレス対応テーブルを検索するように適合されたユニットであって、機械命令セグメントが、再結合予定であるアドレスＡに対応するかどうかを示すために用いられるアドレス対応テーブルは、アドレスＡ’を有する格納された再結合命令セグメントを有し、対応するレコードが見つかる場合、命令検索ユニットは、命令置換ユニットをコールしてアドレスレジスタの値Ａをレコード内の値Ａ’へ修正するように適合され、レコードが見つからない場合、命令検索ユニットは、アドレスＡと、再結合した結果のアドレスＡ”とを有するアドレス対応テーブル内にレコードを確立するようにさらに適合される、命令検索ユニット６０５と、を含む。
【００８４】
命令実行コンテキスト格納／復元ユニット６０１は命令検索ユニット６０５および命令置換ユニット６０４へ結合され、命令検索ユニット６０５は命令取得ユニット６０２、命令再結合ユニット６０３および命令置換ユニット６０４へ結合され、命令取得ユニット６０２、命令再結合ユニット６０３および命令置換ユニット６０４は順繰りに結合される。
【００８５】
命令再結合デバイス６００は、次のようなやり方でランタイム命令再結合方法を実行し、すなわち、
最初に、命令実行コンテキスト格納／復元ユニット６０１は、命令実行コンテキストを格納するが、これは、命令実行関連レジスタデータをスタック上へプッシュすることであり、
次いで、命令検索ユニット６０５は、格納された命令実行コンテキスト内にあるアドレスレジスタの値Ａを検索ターゲットとして用いて、アドレス対応テーブルを検索し、
対応するレコードが見つかる場合、命令検索ユニット６０５は命令置換ユニット６０４をコールし、命令置換ユニット６０４はアドレスレジスタの値Ａをレコード内の値Ａ’へ修正し、命令置換ユニット６０４は命令実行コンテキスト格納／復元ユニット６０２をコールして命令実行コンテキストを復元し、すなわち命令実行関連レジスタデータをスタックから取り出し、再結合プロセスは終了し、
対応するレコードが見つからない場合、命令検索ユニット６０２は、スケジューリング対象の機械命令のアドレスをＣＰＵアドレスレジスタから読み出し、かつアドレスに従って機械命令セグメントを読み出し、機械命令セグメントの最後の命令は制御転送命令となる。特に、命令取得ユニット６０２は、スケジューリング対象の機械命令のアドレスをＣＰＵアドレスレジスタ６１１から読み出し、検索対象として制御転送命令を用いてアドレスに対応する機械命令を第１制御転送命令（例えば制御転送命令はＪＭＰ命令およびコール命令を含む）が見つかるまで検索し、第１制御転送命令および同命令の前の全機械命令をスケジューリング対象の機械命令セグメントとして定義し、命令再結合デバイス６００または命令再結合デバイス６００がアクセスすることができる他の格納先内に機械命令セグメントを格納し、
次いで、命令再結合ユニット６０３は、取得された機械命令セグメントの最後の命令の前に第２制御転送命令を挿入し、第２制御転送命令は命令再結合デバイスのエントリアドレスを指し、同デバイスはアドレスＡ”を有する再結合命令セグメントを発生させ、
次いで、命令再結合ユニット６０３は、アドレスＡ”を命令検索ユニット６０５へ送信し、命令検索ユニット６０５は将来の再利用のためにアドレスＡ”およびアドレスＡを用いてアドレス対応テーブル内にレコードを生成し、
次いで、命令置換ユニット６０４は、格納された命令実行コンテキスト内にあるアドレスレジスタの値ＡをアドレスＡ”へ修正し、
最後に、命令実行コンテキスト格納／復元ユニット６０１は、命令実行コンテキストを復元するが、これは、命令実行関連レジスタデータをスタックから取り出すことである。
【００８６】
本実施形態において、命令再結合ユニット６０３は、
処理予定であるターゲット機械命令を取得するために、機械命令セグメントを識別する命令セットを用いるように適合されたユニットであって、命令セットはＸ８６、ＭＩＰＳおよびＡＲＭ命令セットである、命令解析ユニット６０３１と、
事前に設定したやり方でターゲット機械命令を修正しまたは変更するように適合された命令修正ユニット６０３２と、をさらに含む。
【００８７】
ターゲット命令が格納／読み出しまたは保存／読み出し命令である場合、命令解析ユニット６０３１は、スケジューリング対象の機械命令セグメントから格納／読み出し命令を取得するために用いられ、命令修正ユニット６０３２は、格納／読み出し命令内の格納または読み出しアドレスを安全デバイス上の対応するアドレスへ修正するために用いられる。効果は、方法について上述した対応する実施形態と同様である。
【００８８】
ターゲット命令が入出力命令である場合、命令解析ユニット６０３１は、スケジューリング対象の機械命令セグメントから入出力命令を取得するために用いられ、命令修正ユニット６０３２は、入出力命令の全入力命令を遮断するために用いられる。効果は、方法について上述した対応する実施形態と同様である。
【００８９】
ターゲット命令がネットワーク送信命令である場合、命令解析ユニット６０３１は、スケジューリング対象の機械命令セグメントからネットワーク送信命令を取得するために用いられ、命令修正ユニット６０３２は、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレスであるかどうかを検査するために用いられる。宛先アドレスが許可アドレスでない場合、命令修正ユニットは、ネットワーク送信命令を遮断するためにも用いられる。効果は、方法について上述した対応する実施形態と同様である。
【００９０】
本開示の第９実施形態に従って、図８に示すように命令再結合ユニット７０３は、逆アセンブルユニット７０３１およびアセンブルユニット７０３４をさらに含む。逆アセンブルユニット７０３１、命令解析ユニット７０３２、命令修正ユニット７０３３およびアセンブルユニット７０３４は、順繰りに結合されまたは接続される。本実施形態における他のユニットは、本開示の第８実施形態におけるユニットと同一である。
【００９１】
逆アセンブルユニット７０３１は、命令セグメントを解析しかつ修正する前にスケジューリング対象の機械命令セグメントを逆アセンブルするように適合され、スケジューリング対象のアセンブリ命令セグメントを発生させ、アセンブリ命令セグメントを命令解析ユニット７０３２へ送信するように適合される。
【００９２】
アセンブルユニット７０３４は、命令セグメントを解析しかつ修正した後、再結合したアセンブリ命令セグメントをアセンブルするように適合され、再結合機械命令セグメントを発生させ、機械コード内の再結合命令セグメントを命令置換ユニットへ送信するように適合される。
【００９３】
本実施形態において、命令解析ユニット７０３２および命令修正ユニット７０３３は、先行する実施形態に説明したやり方と同様にスケジューリング対象のアセンブリ命令セグメントを処理することになっている。
【００９４】
上述した実施形態では、本開示の実施形態において提供されるランタイム命令再結合方法およびデバイスが詳細に説明され、先行技術と比較すると、
（１）  コンピューティングデバイス内のランタイム命令は、命令再結合方法によって監視される、
（２）  命令再結合の効率は改善され、コンピューティング資源はアドレス対応テーブルによって節約することができる、
（３）  格納および読み出し命令に対して、格納および読み出し命令内の宛先アドレスおよび送信元アドレスを修正することによって、データセキュリティを保証する安全デバイス上へデータを保存するデータダンプが達成される、
（４）  入出力命令に対して、入出力命令内の全入力命令を遮断することができ、これによりローカルのハードウェアの書き込み操作を防止し、格納命令を除く全入力命令を遮断することができ、これによりコンピューティングデバイスにおけるデータセキュリティを改善することができる、
（５）  ネットワーク送信命令に対して、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレスであるかどうかを決定することによって、宛先アドレスがそうでない場合、ネットワーク送信命令を遮断することによって、データ安全送信を達成する、ことを含む利点がある。
【００９５】
格納／読み出し命令であるターゲット命令に対して、より多くの実施形態が以下に説明され、これらの実施形態において、データの安全格納および読み出し方法ならびにデータの安全格納および読み出しデバイスが提供される。
【００９６】
背景技術において説明したように、技術的背景において説明されたコンピュータ端末システムが悪意のあるコードによって侵入されると、悪意のあるコードは、コンピュータシステムからデータを獲得することができる。データを獲得した後、悪意のあるコードの行動モデルは、（１）格納動作、すなわち対象データを一定の格納先内に格納すること、（２）送信動作、すなわち盗み出されたデータを、インターネットを通じて指定された宛先アドレスへ直接に送信すること、を含む。加えて、コンピューティングデバイスまたは情報デバイスを使用する社員によって秘密が漏洩される行動モデルは、（１）能動的秘密漏洩、すなわち秘密関連社員は、能動的コピー、安全システムに浸入する悪意のあるツール、またはトロイの木馬によって、秘密情報を直接に取得する、（２）受動的秘密漏洩、すなわち秘密関連社員によって使用されるコンピューティングデバイスまたは格納媒体は、紛失しまたは誤用されて、秘密関連デバイスをインターネットへ直接に接続するなどの秘密漏洩を引き起こす、ことを含む。
【００９７】
上述した問題を解決するために、本開示の実施形態は、添付の図面を参照して以下に詳細に説明されることになる。図９は、本開示の第１０実施形態におけるコンピュータ端末システムの階層構造の概略図である。コンピュータ端末システム２００は、ユーザインターフェース層２０１、アプリケーション層２０２、オペレーティング・システム・カーネル層２０３、ハードウェアマッピング層２０４、セキュリティ層２０５、およびハードウェア層２０６を含み、コンピュータ端末システム２００は、格納デバイス１００（すなわち安全デバイス）へ接続される。ハードウェア層２０６は、ＣＰＵ２０６１、ハードディスク２０６２（すなわちローカルの格納デバイス）およびネットワークカード２０６３を含む。本実施形態において、格納デバイス１００は遠隔のディスクアレイであり、同デバイスは、ハードウェア層２０６のネットワークカード２０６３と接続することによって、データをコンピュータ端末システム２００とやり取りする。本開示の別の実施形態において、格納デバイス１００は、別の種類の格納機器とすることもできる。
【００９８】
上述した階層構造を参照して、図１０を参照すると、本実施形態によって提供されるデータ・ダンプ・プロセスは、
Ｓ１０００、初期化、
Ｓ２０００、データ書き込み（ｄａｔａ  ｗｒｉｔｅ）プロセスまたはデータ書き込み（ｄａｔａ  ｗｒｉｔｉｎｇ）プロセス、および
Ｓ３０００、データ読み出し（ｄａｔａ  ｒｅａｄ）プロセスまたはデータ読み出し（ｄａｔａ  ｒｅａｄｉｎｇ）プロセス、を含む。
【００９９】
別の実施形態において、初期化、データ書き込みおよびデータ読み出しプロセスは、必要に応じて選択的に実行することができる。
【０１００】
さらに、図１１を参照すると、初期化プロセスＳ１０００は、
Ｓ１０１０、コンピュータ端末システム２００と格納デバイス１００（すなわち安全デバイス）との間の通信を確立すること；、
Ｓ１０２０、ビットマップを格納デバイス１００から現在のコンピュータ端末システム２００へ同期化し、コンピュータ端末システム２００のメモリ内にビットマップを格納すること；（ビットマップはローカルの格納アドレスのデータが安全デバイス上へ格納またはダンプされているか否かを表すために用いられる）、
を含む。
【０１０１】
コンピュータ端末システム２００のビットマップを格納デバイス１００内のビットマップと区別するために、以下では、コンピュータ端末システム２００のビットマップは、他に指定がなければ第１ビットマップと呼ばれ、格納デバイス１００内のビットマップは第２ビットマップと呼ばれる。
【０１０２】
第２ビットマップを格納デバイス１００から現在のコンピュータ端末システム２００へ同期化させるのが失敗する場合、格納デバイス１００とコンピュータ端末システム２００が初めて接続されていること、または先行する接続中にコンピュータ端末システム２００内での格納操作がなかったことを意味する。初期化プロセスＳ１０００は、
Ｓ１０３０、ビットマップをそれぞれ格納デバイス１００上およびコンピュータ端末システム２００上に生成すること、をさらに含む。
【０１０３】
特に、最初に、コンピュータ端末システムのローカルの格納スペースは格納デバイス１００へマッピングされ、同デバイスにおいてマッピング関係は、マッピング単位としてセクタ（または格納の他の基本単位）を有する１対１マッピングであり、したがってビットマップが生成される。本開示の別の実施形態において、格納の他の基本単位が、ビットマップをローカルの格納スペースから格納デバイス１００へ確立する単位として用いることができる。
【０１０４】
図１２は、本実施形態におけるビットマップの概略図であり、図１２は、ローカルの格納デバイス（すなわちハードディスク２０６２）上に格納媒体３０００、およびネットワークを通じてローカルの格納デバイスへ接続される格納デバイス１００上に格納媒体４０００を含む。格納媒体３０００に対して、同一サイズを有する格納スペース４０１０が、１対１マッピングスペースとして用いられる格納媒体４０００上に確立される。この時点では、ビットマップ４０２０は、格納スペース４０１０内に１つ存在するだけである。ビットマップ４０２０はビット単位のマップであり、１つのビットは１つのセクタを表し、ビットのデータ（０または１）は格納媒体３０００の対応するセクタが格納媒体４０００の格納スペース４０１０上へ格納されるか否かを表す。本実施形態において、格納媒体４０００の格納スペース４０１０上へデータが格納されまたはダンプされたセクタは１とマーキングされ、（ダンプされていないセクタたる）他のセクタは０とマーキングされる。ビットマップ４０２０が生成された後、同ビットマップはコンピュータ端末システム２００へ同期化する。アプリケーションまたはオペレーティングシステムが、データ、例えばファイルを保存することになっているとき、オペレーティングシステムのファイルシステムは、ローカルの格納デバイスの格納媒体３０００上に一定量の格納スペース、例えばセクタ３０４０およびセクタ３０５０を割り当て、格納スペースをファイルへ付与し、ローカルのファイル・アロケーション・テーブルを更新する。ファイルがデータダンプされると、セクタ３０４０およびセクタ３０５０に対応するビットマップのビットデータは、１へ変更され、一方、セクタ４０４０およびセクタ４０５０は、ファイルを保存する格納媒体４０００上の対応する位置に割り当てられる。
【０１０５】
本実施形態において初期化プロセスが終了した後、コンピュータ端末システム２００および格納デバイス１００は、同一のデータを有する２つのビットマップを格納する。
【０１０６】
さらに、データ書き込みプロセスＳ２０００は、
Ｓ２０１０、アプリケーション層２０２は、オペレーティング・システム・カーネル層２０３のファイルシステムを通じてファイルを書き込む操作要求を行い、もしくはオペレーティング・システム・カーネル層２０３は、直接にファイルを書き込む操作要求を行い、またはアプリケーション層２０２は、直接にハードウェアマッピング層２０４へデータを書き込む操作要求を行い、もしくはオペレーティング・システム・カーネル層２０３は、直接にハードウェアマッピング層２０４へデータを書き込む操作要求を行い、
Ｓ２０２０、オペレーティング・システム・カーネル層２０３は、ファイルを書き込む操作要求をハードウェアポート命令（すなわちハードウェア命令）へ翻訳し、ハードウェアポート命令をハードウェアマッピング層２０４へ送信し、ハードウェアポート命令は、書き込み対象の格納位置（すなわちセクタ）を含有し、データを書き込む操作要求が直接にハードウェアマッピング層２０４へ行われる場合、要求はすでにハードウェアポート命令であり
Ｓ２０３０、セキュリティ層２０５は、ポート命令内の書き込み位置（すなわちセクタ）を格納デバイス１００上の格納アドレスへ修正し、セクタに対応するビットデータを、このセクタがデータダンプされることを表す１へ変更することによって第１ビットマップを更新し、次いでセキュリティ層２０５は修正されたポート命令をハードウェア層２０６へ送信する、ことを含む。
【０１０７】
上述したプロセスの後、書き込みプロセスＳ２０００は、
Ｓ２０４０、第１ビットマップは、格納デバイス１００へ同期化し、かつ第２ビットマップとして保存され、これによりコンピュータ端末システム２００上の第１ビットマップと格納デバイス上の第２ビットマップが同一であることを保証する、ことをさらに含むことができる。本開示の別の実施形態において、この同期化操作は、例えばコンピュータ端末システム２００が電源オフとなる前に、最後に実行することができる。
【０１０８】
書き込みプロセスが実行された後、コンピュータ端末システム２００は、書き込みデータが格納デバイス１００上にダンプされまたは格納されているので、書き込みデータを格納しない。
【０１０９】
さらに、データ読み出しプロセスＳ３０００は、
Ｓ３０１０、格納デバイス１００上の第２ビットマップは、コンピュータ端末システム２００へ同期化し、第１ビットマップとして保存され、
Ｓ３０２０、アプリケーション層２０２は、オペレーティング・システム・カーネル層２０３のファイルシステムを通じてファイルを読み出す操作要求を行い、もしくはオペレーティング・システム・カーネル層２０３は、直接にファイルを読み出す操作要求を行い、またはアプリケーション層２０２は、直接にハードウェアマッピング層２０４へデータを読み出す操作要求を行い、もしくはオペレーティング・システム・カーネル層２０３は、直接にハードウェアマッピング層２０４へデータを読み出す操作要求を行い、
Ｓ３０３０、セキュリティ層２０５は、データ読み出し命令をハードウェアマッピング層２０４から受信し、データ読み出し命令の読み出しアドレス（または送信元アドレス）を取得し、このアドレスが格納デバイス１００のアドレスでない場合、セキュリティ層は第１ビットマップを検索し、読み出しアドレスのデータがダンプされていることを、読み出しアドレスに対応する第１ビットマップ内のビットデータが表す場合、セキュリティ層２０５は、ポート命令の読み出しアドレスを格納デバイス１００の対応する読み出しアドレスへ修正し、セキュリティ層２０５は修正されたポート命令をハードウェア層２０６へ送信する、ことを含む。
【０１１０】
ステップＳ３０１０において、第２ビットマップを格納デバイス１００からコンピュータ端末システム２００へ同期化させるのは、コンピュータ端末システム２００の再起動の後でローカルのデータと安全デバイス上のデータとの間の一貫性を保つことにある。
【０１１１】
上述した読み出しプロセスは、ユーザの現在の操作モードに影響せず、ダンプされたデータのデータ読み出し操作を安全デバイス（すなわち格納デバイス１００）上に実現する。
【０１１２】
さらに、上述したデータ書き込みプロセスに基づき、図１３を参照すると、本実施形態において提供されるデータの安全格納方法は、
Ｓ４０１０、ハードウェア命令を受信するステップと、
Ｓ４０２０、ハードウェア命令を解析するステップと、
Ｓ４０３０、ハードウェア命令が格納命令であるかどうかを決定するステップと、
Ｓ４０４０、ハードウェア命令が格納命令である場合、格納命令内の宛先アドレスを格納デバイス１００（すなわち安全デバイス）上の対応する格納アドレスへ修正するステップと、
Ｓ４０５０、修正された格納命令をハードウェア層へ送信するステップと、を含む。
【０１１３】
特に、本実施形態において、コンピュータ端末上で実行するオペレーティングシステムはウィンドウズ・オペレーティング・システムであり、ウィンドウズにおいてハードウェアマッピング層はハードウェア抽象化層（ＨＡＬ：ｈａｒｄｗａｒｅ  ａｂｓｔｒａｃｔ  ｌａｙｅｒ）である。別の実施形態において、コンピュータ端末上で実行するオペレーティングシステムは、Ｌｉｎｕｘ、ＵＮＩＸまたは他の組み込みオペレーティングシステムとすることができ、ハードウェアマッピング層は、ウィンドウズのＨＡＬに対応する層である。
【０１１４】
ステップＳ４０１０において、ハードウェア命令は、ハードウェアマッピング層からのハードウェア命令である。ハードウェア命令をハードウェアマッピング層から受信するステップは、ＣＰＵなどのプロセッサへ送信されるハードウェア命令（すなわちポート命令）を十分にスクリーニングすることができ、これによりさらにデータセキュリティを改善する。本開示の別の実施形態において、ハードウェア命令は、オペレーティング・システム・カーネル層または他のコンピュータ層に対応するユニットから得ることもできる。
【０１１５】
加えて、上述したようなランタイム命令再結合方法に合わせてハードウェア命令を受信するやり方は、ランタイム命令再結合方法を用いてハードウェア命令を取得するステップ、を含むことができる。
【０１１６】
ステップＳ４０２０において、Ｘ８６命令セット、ＡＲＭ命令セット、ＭＩＰＳ命令セットなどの、異なる種類のＣＰＵ命令を処理するために、セキュリティ層２０５の内部に種々の命令解析機構がある。
【０１１７】
ステップＳ４０４０において、格納命令内の宛先アドレスを格納デバイス１００上の対応する格納アドレスへ修正した後、本方法は、宛先アドレス（セクタ）に対応する第１ビットマップの「ビット」を１に設定することによって、第１ビットマップを更新するステップ、をさらに含むことができる。
【０１１８】
さらに、ステップＳ４０４０において、本方法は、更新されたビットマップを安全デバイスへ同期化させるステップおよび同ビットマップを第２ビットマップとして保存するステップ、をさらに含むことができる。
【０１１９】
ステップＳ４０５０において、セキュリティ層２０５は、修正されたまたは修正されていないハードウェア命令をハードウェア層２０６へ転送する。本実施形態において、セキュリティ層２０５のデータダンプ操作は、上位層またはユーザに対して完全にトランスペアレントであり、現在のコンピュータまたはアプリケーションの作業の流れに影響しない。
【０１２０】
本実施形態において提供された方法は、コンピュータ端末システムに用いるだけでなく、アプリケーション層、オペレーティング・システム・カーネル層およびハードウェア層を含む、任意のコンピューティングデバイスまたはインテリジェント端末にも用いることができ、ハードウェア層が命令を実行する前に、命令レベルのデータダンプ（すなわちハードウェア格納命令に基づくデータダンプ）を達成する。
【０１２１】
上述したデータ読み出しプロセスに従って、図１４を参照すると、本実施形態において提供されたデータの安全読み出し方法は、
Ｓ５０１０、ハードウェア命令を受信するステップと、
Ｓ５０２０、ハードウェア命令を解析するステップと、
Ｓ５０３０、ハードウェア命令が読み出し命令であるかどうかを決定するステップと、
Ｓ５０４０、ハードウェア命令が読み出し命令である場合、読み出し命令の送信元アドレスを取得し、送信元アドレスが格納デバイス１００のアドレスであるかどうかを決定するステップと、
Ｓ５０５０、送信元アドレスが格納デバイス１００のアドレスでない場合、第１ビットマップを検索し、ビットマップのデータに従って読み出し命令の読み出しアドレスを修正するステップと、
Ｓ５０６０、修正されたハードウェア命令をハードウェア層へ送信するステップと、を含む。
【０１２２】
ステップＳ５０１０の前に、本方法は、格納デバイス１００上の第２ビットマップをコンピュータ端末システム２００へ同期化させるステップおよび同ビットマップを第１ビットマップとして保存するステップ、Ｓ５０００、をさらに含むことができる。本実施形態のステップＳ５０１０において、ハードウェア命令は、ハードウェアマッピング層から得られる。
【０１２３】
加えて、上述したランタイム命令再結合方法に合わせてハードウェア命令を受信するステップは、ランタイム命令再結合方法を用いてハードウェア命令を取得するステップを含むことができる。
【０１２４】
ステップＳ５０３０において、ハードウェア命令が読み出し命令でない場合、セキュリティ層２０５は、ハードウェア命令を実行用ハードウェア層へ直接に送信する。
【０１２５】
ステップＳ５０４０において、送信元アドレスがすでに格納デバイス１００のアドレスである場合、セキュリティ層２０５は、第１ビットマップを検索する必要がなく、ハードウェア命令を実行用ハードウェア層へ送信する。
【０１２６】
さらに、本開示のいくつかの実施形態において、ネットワーク資源を節約するために、格納デバイス１００は、複数の端末システム間で共有することができる。
【０１２７】
さらに、本開示の第１１実施形態に従う、上述したデータの安全格納およびデータの安全読み出し方法に基づいて、データの安全送信方法が提供される。図１５に示すように、データの安全送信方法は、
５７０１０、ハードウェア命令をハードウェアマッピング層から受信するステップと、
Ｓ７０２０、ハードウェア命令を解析するステップと、
Ｓ７０３０、ハードウェア命令がネットワーク送信命令であるかどうかを決定するステップと、
Ｓ７０４０、ハードウェア命令がネットワーク送信命令である場合、宛先アドレスを読み出すステップと、
Ｓ７０５０、宛先アドレスが許可アドレスであるかどうかを決定するステップと、
Ｓ７０６０、宛先アドレスが許可アドレスである場合、ハードウェア命令をハードウェア層へ送信し、宛先アドレスが許可アドレスでない場合、ハードウェア命令を遮断し、本方法が終了するステップと、
Ｓ７０７０、ハードウェア層によってネットワーク送信命令およびデータを宛先アドレス上の端末システムへ送信するステップと、
Ｓ７０８０、データを受信し、宛先アドレス上の端末システムによるデータの安全格納方法を用いてデータを格納するステップと、を含む。
【０１２８】
ステップＳ７０６０において、宛先アドレスが許可アドレスでない場合、これは宛先アドレス上の端末システムが本開示において提供されたデータの安全格納方法およびデータの安全読み出し方法を取り入れていないことを意味するが、同宛先アドレスがネットワーク送信操作用の宛先アドレスとなることを可能にしない。
【０１２９】
ステップＳ７０５０において、宛先アドレスが許可アドレスであるかどうかを決定するステップは、次のようなステップで実行される。図１６に示すように、セキュリティサーバ８２０は、ネットワークを通じて端末システム８００および８１０と接続され、本開示の実施形態において提供されたデータの安全送信方法が端末システム８００および８１０内に展開するとき、端末システム８００または８１０は、セキュリティサーバ８２０への登録を自動的に行い、許可アドレステーブルはセキュリティサーバ８２０内に保持され、セキュリティサーバ８２０は、登録されたすべての端末システムを記録する。許可アドレステーブルが更新されると、セキュリティサーバ８２０は、新たな許可アドレステーブルを各端末へ自動的に送信する。端末システム８００のアーキテクチャは、アプリケーション層８０１、オペレーティング・システム・カーネル層８０２、セキュリティ層８０３およびハードウェア層８０４を含み、同アーキテクチャでセキュリティ層８０３は許可アドレステーブルを保持する責任がある。セキュリティ層８０３は、宛先アドレスが許可アドレステーブル内にあるかどうかを決定することによって、宛先アドレスが許可アドレスであるかどうかを決定する。すなわちステップＳ７０５０において、宛先アドレスが許可アドレステーブル内にリストされる場合、宛先アドレスは許可アドレスである。
【０１３０】
上述したデータの安全送信方法によって、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出された情報を送信することができない。
【０１３１】
本開示において提供された方法が、コンピュータ端末システムの範囲内で説明されるが、携帯端末およびインテリジェント端末などの、ファイルもしくはデータの編集操作、保存操作または送信操作を提供することができる任意の電子機器は、本開示において提供されたデータの安全格納方法およびデータの安全送信方法を適用する端末システムとすることができる。
【０１３２】
加えて、上述したデータの安全格納方法、データの安全読み出し方法およびデータの安全送信方法がソフトウェアまたはハードウェア内に実装できることを、当業者は理解することができ、ソフトウェアの場合、上述した方法ステップは、コンピュータコードとしてコンピュータ読み取り可能な媒体に格納することができるが、これはソフトウェア製品にもなりうる。
【０１３３】
上述したデータの安全格納方法に対応して、本開示の第１２実施形態に従って、データの安全格納デバイスが提供される。図１７を参照すると、データの安全格納デバイス７１００は、受信ユニット７１１０、命令解析ユニット７１２０、命令修正ユニット７１３０、および送信ユニット７１４０を含む。受信ユニット７１１０は命令解析ユニット７１２０と結合され、命令解析ユニット７１２０は命令修正ユニット７１３０および送信ユニット７１４０とも結合され、ならびに送信ユニット７１４０は命令修正ユニット７１３０およびハードウェア層７２００とも結合される。
【０１３４】
受信ユニット７１１０はハードウェア命令を受信するように適合され、ハードウェア命令は本実施形態におけるハードウェアマッピング層から得られ、命令解析ユニット７１２０はハードウェア命令を解析しかつハードウェア命令が格納命令であるかどうかを決定するように適合され、ハードウェア命令が格納命令である場合、命令修正ユニット７１３０は、格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正し、かつ修正された格納命令を送信ユニット７１４０へ送信し、ハードウェア命令が格納命令でない場合、命令解析ユニット７１２０はハードウェア命令を送信ユニット７１４０へ直接に送信し、送信ユニット７１４０は受信された命令をハードウェア層７２００へ送信するように適合される。
【０１３５】
さらに、データの安全格納デバイスは、更新ユニット７１５０および同期化ユニット７１６０も含むことができ、更新ユニット７１５０は命令修正ユニット７１３０と結合され、同期化ユニット７１６０は更新ユニット７１５０と結合される。
【０１３６】
更新ユニット７１５０は、命令修正ユニット７１３０が格納命令を修正した後、ビットマップ内の宛先アドレスに対応するビットを更新するように適合される。本実施形態において、格納命令の宛先アドレスにおけるセクタに対応するビットデータは、セクタがデータダンプされていることを表す「１」に設定される。
【０１３７】
同期化ユニット７１６０は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつコンピュータ端末システムと安全デバイスの間でビットマップの同期化操作を実行するように適合される。特に、コンピュータ端末システムが始動すると、同期化ユニット７１６０は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつ安全デバイスの第２ビットマップをコンピュータ端末システムへ同期化させて、コンピュータ端末システムは第１ビットマップとして保存する。
【０１３８】
安全デバイス上の第２ビットマップをコンピュータ端末システムへ同期化させることが失敗する場合、これはコンピュータ端末システムと安全デバイスの間の最初の通信であることを意味し、次いで同期化ユニット７１６０は、コンピュータ端末システムのローカルの格納スペースを安全デバイスへマッピングし、かつ第１ビットマップおよび第２ビットマップを生成する。本実施形態において、安全デバイス上の第２ビットマップは、最初に構築され、次いでコンピュータ端末システムへ同期化して、コンピュータ端末システムは第１ビットマップとして保存する。
【０１３９】
更新ユニット７１５０が第１ビットマップ内の宛先アドレスに対応するビットを更新すると、同期化ユニット７１６０は、更新された第１ビットマップを安全デバイスへ送信し、次いで同ビットマップは第２ビットマップとして保存される。
【０１４０】
本実施形態において、安全デバイスは、遠隔の格納デバイスであり、かつ多数のコンピュータ端末システム間で共有することができる。ハードウェア命令は、ハードウェアポート入出力命令である。
【０１４１】
さらに、上述したデータの安全読み出し方法に対応して、本開示の第１３実施形態に従って、データの安全読み出しデバイスが提供される。図１８を参照すると、データの安全読み出しデバイス８１００は、受信ユニット８１１０、命令解析ユニット８１２０、命令修正ユニット８１３０および送信ユニット８１４０を含む。受信ユニット８１１０は命令解析ユニット８１２０と結合され、命令解析ユニット８１２０もそれぞれ命令修正ユニット８１３０および送信ユニット８１４０と結合され、命令修正ユニット８１３０も送信ユニット８１４０と結合される。送信ユニット８１４０は、ハードウェア層８２００と結合される。
【０１４２】
受信ユニット８１１０はハードウェア命令を受信するように適合され、ハードウェア命令は本実施形態においてハードウェアマッピング層から得られる。命令解析ユニット８１２０は、ハードウェア命令を解析しかつハードウェア命令が読み出し命令であるかどうかを決定するように適合され、ハードウェア命令が読み出し命令である場合、命令解析ユニット８１２０も、読み出し命令の送信元アドレスを取得しかつ送信元アドレスが安全デバイス上のアドレスであるかどうかを決定する。ハードウェア命令が読み出し命令でなくまたは送信元アドレスが安全デバイス上のアドレスである場合、命令解析ユニット８１２０は、ハードウェア命令を送信ユニット８１４０へ送信する。送信元アドレスが安全デバイス上のアドレスでない場合、命令修正ユニット８１３０は、ビットマップを調べ、かつビットマップのデータに従って読み出し命令の読み出しアドレスを修正する。上述したビットマップと同様に、本実施形態におけるビットマップは、ローカルの格納アドレスのデータが安全デバイス上へ保存またはデータダンプされているか否かを表すために用いられる。特に、命令修正ユニット８１３０は、第１ビットマップ内の送信元アドレスにおけるセクタに対応するビットを検索する。「ビット」データが１を示す場合、データダンプが実行されていることを意味し、「ビット」データが０を示す場合、データダンプが実行されていないことを意味する。データダンプが実行されている場合、命令修正ユニット８１３０は、送信元アドレス（または読み出しアドレス）を対応するデータ・ダンプ・アドレスへ修正し、かつ修正されたハードウェア命令を送信ユニット８１４０へ送信する。
【０１４３】
さらに、データの安全読み出しデバイスは、同期化ユニット８１５０も含むことができる。同期化ユニット８１５０は、命令修正ユニット８１３０と結合されるが、コンピュータ端末システムと安全デバイスの間の通信を確立しかつコンピュータ端末システムと安全デバイスの間でビットマップを同期化させるように適合される。特に、コンピュータ端末システムが始動すると、同期化ユニット８１５０は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつ安全デバイスの第２ビットマップをコンピュータ端末システムへ同期化させ、同ビットマップは、第１ビットマップとしてかつ命令修正ユニット８１３０によって用いられるように保存される。
【０１４４】
本実施形態において、安全デバイスは、多数のコンピュータ端末システム間で共有することができる遠隔の格納デバイスである。本開示の別の実施形態において、安全デバイスは、ローカルの格納デバイスとすることができる。
【０１４５】
セキュリティ層に用いられる上述した方法が、オペレーティング・システム・カーネル層からハードウェア層までの種々の層に用いることもできることを、当業者は理解するはずである。種々の修正形態は、異なる層を選択するように構成されて、本開示の趣旨の範囲から逸脱せずに本開示によって提供された上述した方法またはデバイスを実装することができる。
【０１４６】
本開示において提供されたデータの安全格納方法およびデバイスが、上述した実施形態において詳細に説明され、従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち１．データの安全格納方法が、十分なデータダンプである命令レベルのデータダンプを達成し、かつコンピュータ端末システムの十分な操作時間中に十分なデータダンプに基づいてデータの安全格納を達成し、一方では、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出されたデータを保存することができず、これによりデータが常にセキュリティゾーン内にあるまたは制御下にあることを保証し、他方では、秘密情報または秘密データがローカルに保存されず、これにより秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、２．ハードウェア命令をハードウェアマッピング層から受信することによって、命令を１００％スクリーニングすることができ、これによりさらにデータセキュリティを改善する、ことを有する。
【０１４７】
本開示において提供されたデータの安全読み出し方法およびデバイスが、上述した実施形態において詳細に説明され、従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち１．データの安全格納方法に合わせてデータの安全読み出し方法が、全データがセキュリティゾーン内において制御下にあること、かつダンプされたデータをアクセスするまたは読み出すことができることを保証し、秘密情報または秘密データがローカルに保存されないので、秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、２．安全デバイスが遠隔の格納デバイスであるとき、多数の端末によって共有することができ、これにより安全デバイスのスペース利用を改善する、ことを有する。
【０１４８】
本開示の別の実施形態において、セキュリティ層に用いられた上述した方法は、オペレーティングシステムの最下層からハードウェア層の上位層までの種々の層にも実装することができる。種々の修正形態が、異なる層を選択するように構成されて、本開示の趣旨の範囲から逸脱せずに本開示の実施形態において提供された上述した方法またはデバイスを実装することができることを、当業者は理解するはずである。
【０１４９】
上述した実施形態は、当業者に本開示の趣旨をより良好に理解させるために用いられる本開示の具体的な実施形態にすぎないが、本開示の保護の範囲は、具体的な実施形態の具体的な説明に限定すべきではなく、種々の修正形態が、本開示の趣旨の範囲から逸脱せずに、当業者によって本開示の具体的な実施形態へ構成することができる。
【図１】
2014517376.tif 000003
【図２】
2014517376.tif 000004
【図３】
2014517376.tif 000005
【図４】
2014517376.tif 000006
【図５】
2014517376.tif 000007
【図６】
2014517376.tif 000008
【図７】
2014517376.tif 000009
【図８】
2014517376.tif 000010
【図９】
2014517376.tif 000011
【図１０】
2014517376.tif 000012
【図１１】
2014517376.tif 000013
【図１２】
2014517376.tif 000014
【図１３】
2014517376.tif 000015
【図１４】
2014517376.tif 000016
【図１５】
2014517376.tif 000017
【図１６】
2014517376.tif 000018
【図１７】
2014517376.tif 000019
【図１８】
2014517376.tif 000020
【国際調査報告】
2014517376.tif 000021
2014517376.tif 000022
2014517376.tif 000023
2014517376.tif 000024