JP6255336B2 - 安全なデータ格納方法およびデバイス - Google Patents

安全なデータ格納方法およびデバイス Download PDF

Info

Publication number
JP6255336B2
JP6255336B2 JP2014506714A JP2014506714A JP6255336B2 JP 6255336 B2 JP6255336 B2 JP 6255336B2 JP 2014506714 A JP2014506714 A JP 2014506714A JP 2014506714 A JP2014506714 A JP 2014506714A JP 6255336 B2 JP6255336 B2 JP 6255336B2
Authority
JP
Japan
Prior art keywords
instruction
address
data
unit
bitmap
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.)
Expired - Fee Related
Application number
JP2014506714A
Other languages
English (en)
Other versions
JP2014517376A (ja
Inventor
家祥 汪
家祥 汪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Antaios (beijing) Information Technology Co Ltd
Antaios Beijing Information Technology Co Ltd
Original Assignee
Antaios (beijing) Information Technology Co Ltd
Antaios Beijing Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Antaios (beijing) Information Technology Co Ltd, Antaios Beijing Information Technology Co Ltd filed Critical Antaios (beijing) Information Technology Co Ltd
Publication of JP2014517376A publication Critical patent/JP2014517376A/ja
Application granted granted Critical
Publication of JP6255336B2 publication Critical patent/JP6255336B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、データセキュリティの分野に関し、さらに詳しくはデータの安全格納方法およびデバイスに関する。
既存の電子情報セキュリティ分野は、システムセキュリティ、データセキュリティおよびデバイスセキュリティを含む3つのサブ分野を有する。
データセキュリティの分野において、今日ではデータを安全に保つ3つの技術、すなわち(1)データ暗号化−復号技術およびエンド・ツー・エンド(端末間)のデータ暗号化技術を含むセキュリティ技術であって、格納プロセス中および送信プロセス中にデータ内容が不法にアクセスされないことを保証するために用いられるデータ内容セキュリティ技術、(2)権限のないコピー、印刷または他の出力動作を防止する技術を含む転送技術であって、使用中および送信プロセス中にデータ内容が安全であることを保証するために用いられるデータセキュリティ転送技術、(3)ネットワークの物理的分離およびネットワークセキュリティ障壁の設置などの技術を含むネットワーク分離技術、が存在する。
しかしながら、上述した技術が、コンピュータOSカーネルウイルス、トロイの木馬、オペレーティングシステムの抜け穴または脆弱性、システムのバックドアおよび秘密漏洩などの、問題に十分に対処できていないので、コンピュータなどのコンピューティングデバイス上に悪意のあるコードが存在することがある。AV−Test Lab社の解析によれば、コンピュータ内の危険行動に対する全有効検出率は、多くても50%である。悪意のあるコードがいったん端末システムに入ると、上述した暗号化技術、コピー防止技術およびネットワーク遮断技術は、どんな助けにもならず、すなわち無力である。さらに、現在のハッカー技術は、上述したセキュリティ技術に浸入または突破し、オペレーティングシステムの抜け穴およびシステムのバックドアを用いて悪意のあるコードを埋め込み、悪意のあるコードによってユーザデータを盗み出すことができる。すなわち上述した技術は、秘密関連社員が能動的または受動的に秘密を漏洩することを防止することができず、例えば従業員は、携帯型格納機器を用いて内部ネットワークまたは内部端末から情報またはデータをダウンロードし、秘密漏洩を引き起こすことができる。
図1に図示したように、ユーザインターフェース層101、アプリケーション層102、オペレーティングシステム(OS)カーネル層103、ハードウェアマッピング層104およびハードウェア層105を含む、既存のコンピュータ端末システムの概略図が示される。このような端末システムのユーザは、コンピュータ端末システムを操作し、ユーザインターフェース層101のユーザインターフェースを通じてグラフィックまたは非グラフィックのフィードバックを得る。一例としてデータを保存する操作を選択すると、
(1) ユーザは、アプリケーションプログラムのユーザインターフェース上で「保存」の機能を選択し、
(2) アプリケーション層102は、対応するコードを呼び出しまたはコールし、「保存」命令をオペレーティングシステムによって提供された1つ以上のインターフェース機能へ変換し、すなわち「保存」操作は、オペレーティングシステムによって提供された一連のインターフェース機能へのコールになり、
(3) OSカーネル層103は、オペレーティングシステムのインターフェース機能への上述したコールを受信し、オペレーティングシステムの各インターフェース機能をハードウェアマッピング層104によって提供された1つ以上のインターフェース機能へ変換し、すなわち「保存」操作は、ハードウェアマッピング層104によって提供された一連のインターフェース機能へのコールになり、
(4) ハードウェアマッピング層104によって提供された各インターフェース機能は、ハードウェアマッピング層104内の1つ以上のハードウェア命令コールへ変換され、
(5) CPUなどのハードウェア層105のハードウェアは、ハードウェア命令コールを受信し、ハードウェア命令を実行する。
上述したコンピュータ端末が悪意のあるコードによって侵入されると、悪意のあるコードは、システム内のデータにアクセスすることができ、データを盗み出した後、悪意のあるコードの行動パターンは、(1)格納動作、すなわち対象データを一定の格納先へ保存すること、(2)送信動作、すなわち盗み出されたデータまたは対象データを、インターネットを通じて指定の宛先アドレスへ直接に送信すること、を含む。加えて、上述したコンピューティングデバイスまたは情報機器を使用する秘密関連社員によって秘密が漏洩される行動パターンは、(1)能動的秘密漏洩、すなわち秘密関連社員が、悪意のあるツールを用いてセキュリティシステムに浸入し、トロイの木馬などを埋め込んで、能動的コピーのようなやり方で直接に秘密情報を入手する、(2)受動的秘密漏洩、すなわち秘密関連社員によって使用されるコンピュータまたは格納媒体が、不適切に使用されまたは紛失して、例えば、秘密関連デバイスが直接にインターネットへ接続されることによって引き起こされるなどの秘密漏洩を引き起こす、ことを含む。
したがって、上述したデータセキュリティ技術を適用するコンピュータ端末システムは、依然として次の問題、すなわち(1)端末にある秘密情報が不法に格納されることを、機器フィルタリングに基づくコピー防止技術が防止することができない、(2)秘密情報が十分に制御下にあることを、ネットワークフィルタリングに基づく技術が保証することができない、(3)秘密関連社員が、悪意のあるコードまたは悪意のあるツールを通じて秘密を漏洩する、(4)秘密関連デバイスまたは秘密関連格納媒体を紛失しているので、秘密関連社員が秘密を漏洩している、ことに直面している。
結論として、端末システムが悪意のあるコードによって侵入された後でも、データセキュリティを保証することができる方法が必要である。
本開示は、データセキュリティを改善するために、端末システムが悪意のあるコードによって侵入された後のデータセキュリティを保証する方法を提供する。
本開示のある観点によれば、ハードウェア命令を受信し;前記ハードウェア命令を解析し、前記ハードウェア命令が格納命令である場合、前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正し、それゆえに修正された格納命令を獲得し;、前記修正された格納命令をハードウェア層へ送信する、データの安全格納方法が提供される。
前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正した後に、ビットマップ内の前記宛先アドレスに対応するビットデータを更新し、それゆえに更新されたビットマップを獲得し;前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、ようにしてもよい。
前記ビットマップを更新した後に、
前記更新されたビットマップを前記安全デバイスへ同期化し、前記更新されたビットマップをもう1つのビットマップとして保存する、ようにしてもよい。
ハードウェア命令を受信する前に、
コンピュータ端末システムと前記安全デバイスの間の通信を確立し;、
前記安全デバイス上のもう1つのビットマップを前記コンピュータ端末システムへ同期化し、前記コンピュータ端末システムのビットマップとして保存する、ようにしてもよい。
前記安全デバイス上のもう1つのビットマップを前記コンピュータ端末システムへ同期化するのが失敗する場合、前記コンピュータ端末システムのローカルの格納スペースを前記安全デバイスへマッピングし、ビットマップ及びもう1つのビットマップを生成する、ようにしてもよい。
前記ハードウェア命令が、ハードウェアポート入出力命令であるようにしてもよい。
前記安全デバイスは、遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、ようにしてもよい。
前記ハードウェア命令は、ハードウェアマッピング層から得られる、ようにしてもよい。
さらに、本開示の他の観点によれば、ハードウェア命令を受信するように適合された受信ユニットと、前記ハードウェア命令を解析し、かつ前記ハードウェア命令が格納命令であるかどうかを決定するように適合された命令解析ユニットと、前記格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正するように適合された命令修正ユニットと、前記修正された格納命令をハードウェア層へ送信するように適合された送信ユニットと、を備える、データの安全格納デバイスが提供される。
上記データの安全格納デバイスは、前記命令修正ユニットと結合された更新ユニットであって、前記更新ユニットは、前記命令修正ユニットが前記格納命令を修正した後に、ビットマップ内の前記宛先アドレスに対応するビットデータを更新するように適合され、前記ビットマップは、ローカルの格納アドレスのデータが前記安全デバイス上へ格納されるか否かを表すために用いられる、更新ユニットをさらに備えてもよい。
上記データの安全格納デバイスは、前記更新ユニットと結合された同期化ユニットであって、コンピュータ端末システムと前記安全デバイスの間の通信を確立し、かつ前記ビットマップを前記コンピュータ端末システムと前記安全デバイスの間で同期化させるように適合された同期化ユニットをさらに備えてもよい。
前記ハードウェア命令は、ハードウェアマッピング層から得られる、ようにしてもよい。
前記安全デバイスは遠隔の格納デバイスであり、前記遠隔の格納デバイスは複数のコンピュータ端末システムによって共有される、ようにしてもよい。
さらに、本開示の他の観点によれば、上記いずれかの方法に従って、コンピュータに命令を実行させるコンピュータプログラムを格納した、コンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品が提供される。
従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち
1. データの安全格納方法が、十分なデータダンプである命令レベルのデータダンプを達成し、かつコンピュータ端末システムの十分な操作時間中に十分なデータダンプに基づいてデータの安全格納を達成し、一方では、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出されたデータを保存することができず、これによりデータがセキュリティゾーン内において制御下にあることを保証し、他方では、秘密情報または秘密データがローカルに保存されず、これにより秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、
2. ハードウェア命令をハードウェアマッピング層から受信することによって、命令を100%スクリーニングすることができ、これによりさらにデータセキュリティを改善する、ことを有する。
図1は、ソフトウェアおよびハードウェア層を含む従来のコンピュータ端末システムを示す概略図である。
図2は、本開示の第1実施形態において提供されるランタイム命令再結合方法のフローチャートである。
図3は、本開示の第1実施形態において命令再結合プロセスおよび再結合した命令セグメント(再結合命令セグメント)を示す概略図である。
図4は、本開示の第2実施形態において提供されるランタイム命令再結合方法のフローチャートである。
図5は、本開示の第3実施形態において提供されるランタイム命令再結合方法のフローチャートである。
図6は、本開示の第7実施形態において提供されるランタイム命令再結合デバイスを示す概略図である。
図7は、本開示の第8実施形態において提供されるランタイム命令再結合デバイスを示す概略図である。
図8は、本開示の第9実施形態において提供されるランタイム命令再結合デバイスの命令再結合ユニットを示す概略図である。
図9は、本開示の第10実施形態において提供されるコンピュータ端末システムの設計者または層を示す概略図である。
図10は、本開示の第10実施形態において提供されるデータダンプの全プロセスのフローチャートである。
図11は、図10内の初期化プロセスS1000のフローチャートである。
図12は、本開示の第10実施形態において提供されるビットマップを示す概略図である。
図13は、本開示の第10実施形態において提供されるデータの安全格納方法のフローチャートである。
図14は、本開示の第10実施形態において提供されるデータの安全読み出し方法のフローチャートである。
図15は、本開示の第11実施形態において提供されるデータの安全送信方法のフローチャートである。
図16は、本開示の第11実施形態において提供されるネットワーク構造を示す概略図である。
図17は、本開示の第12実施形態において提供されるデータの安全格納デバイスを示す概略図である。
図18は、本開示の第13実施形態において提供されるデータの安全読み出しデバイスを示す概略図である。
当業者に本開示の趣旨をより良好に理解させるために、本開示に従うデータの安全格納方法およびデバイスは、図面および具体的な実施形態と連動して以下に詳細に説明されることになる。
次の実施形態は、当業者に本開示の趣旨をより良好に理解させるために用いられる本開示の具体的な実施形態にすぎないが、本開示の保護の範囲は、具体的な実施形態の具体的な説明に限定すべきではなく、種々の修正形態が、本開示の趣旨の範囲から逸脱せずに、当業者によって本開示の具体的な実施形態へ構成することができる。
コンピュータが実行中であるとき、CPUアドレスレジスタは、実行予定である次の機械命令のアドレスを保つ。本開示のいくつかの実施形態において、ランタイム機械命令の監視を実現するために、このレジスタのデータが取得され、実行対象の1つ以上の機械命令がレジスタのデータに従って読み出され、および1つ以上の機械命令で構成されたスケジューリング対象の命令セグメントが修正され、それゆえに制御権は各機械命令が実行される前に取得することができ、次の命令の解析は連続的に実行することができる。さらに、本開示のいくつかの実施形態において、スケジューリング対象の機械命令セグメントを取得するステップの後に、スケジューリング対象の機械命令セグメント内のターゲット命令を処理するステップが実行され、したがってランタイム命令が再結合し監視されるだけでなく、ターゲット命令もまた修正され更新される。
本開示の第1実施形態に従って、ランタイム命令再結合方法が提供される。図2に図示したように、本方法は、
S101、命令実行コンテキストを格納すること;
S102、スケジューリング予定である機械命令セグメントを取得すること;
取得された機械命令セグメントの最後の命令の前に第2制御転送命令を挿入こと;
(第2制御転送命令は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる。)
アドレスレジスタ値をAからA”へ修正すること;
S103、命令実行コンテキストを復元すること;
を含む。
特に、本方法は、ステップS101が実行される前に、CPU上で動く制御権を取得するステップをさらに含む。CPUが本方法を実行すると、本方法は、最初に命令実行コンテキストを格納し(すなわちステップS101)、すなわち、本方法は、ちょうど実行されている監視命令の結果を格納する。本実施形態において用いられるCPUは、X86アーキテクチャの中央処理装置であるが、CPUは、本開示の別の実施形態において、MIPSプロセッサまたはARMアーキテクチャのプロセッサとすることもできる。すなわち当業者は、CPUが他の任意の種類のコンピューティングデバイス内の命令処理ユニットとすることができることを理解することができる。
ステップS101において、命令実行コンテキストを格納することは、命令実行に関連したレジスタデータをスタック上へプッシュすることを含む。本開示の別の実施形態において、命令実行コンテキストは、別のデフォルトもしくは指定の場所に格納することもでき、または別のデフォルトもしくは指定のデータ構造で格納することもできる。
ステップS102において、スケジューリング予定である機械命令セグメントを取得することは、
S1021、スケジューリング対象の機械命令のアドレスをCPUアドレスレジスタから読み出すこと;、
S1022、制御転送命令を検索対象として用いることによって、第1制御転送命令が見つかるまで、機械命令のアドレスに対応する機械命令を検索すること;
(制御転送命令はJMP命令およびコール命令を含む)
S1023、第1制御転送命令の前にスケジューリング対象の機械命令セグメントとして第1制御転送命令および機械命令を定義すること;
命令再結合プラットフォーム内または命令再結合プラットフォームがアクセスすることができる他の格納先内に機械命令セグメントを格納すること;
を含む。
本開示の別の実施形態において、スケジューリング予定である機械命令セグメントを取得することは、書き込み命令または読み出し命令などの非制御転送命令を検索対象として用いて、機械命令を機械命令セグメントへ分割することもできる。すなわち機械命令セグメント内の制御転送命令が実行された後に命令再結合プラットフォームがCPUの制御権(すなわちCPU上で動くための制御権)を得ることを保証する必要があるので、制御転送命令は、追加のまたは補助的な検索対象として用いる必要があり、それによって機械命令セグメントを比較的小さいサイズにする。
依然としてステップS102において、第2制御転送命令JP2を挿入する前に、本実施形態において提供される方法は、
S1025、処理対象のターゲット機械命令を取得するために、機械命令セグメントを識別する命令セットを用いることによって機械命令セグメントを解析こと;
(命令セットはX86、MIPS、またはARM命令セットとすることができる)
S1026、ターゲット機械命令を所定のやり方で修正すること;
をさらに含むことができる。
上述したステップを用いて、ランタイム命令の監視を実現することができるが、他のプロセスは、同様に実行することができ、次の実施形態においてさらに説明されることになる。
本実施形態の目的がランタイム命令再結合を実現することであるので、ステップS1025およびS1026は実行されず、次のステップが直接実行される。すなわち、取得された機械命令セグメントの最後の命令(それは制御転送命令JP1)の前に第2制御転送命令JP2を挿入すること;(第2制御転送命令JP2は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)
格納された命令実行コンテキストにおけるアドレスレジスタ値AをA”へ修正すること;
命令再結合プラットフォームは、本実施形態において提供される命令再結合方法の実行プラットフォームである。
JP2を挿入するステップは、CPUがスケジューリング予定である機械命令セグメントを実行するとき、JP1の前に命令再結合プラットフォームを再実行することであり、次いで命令再結合プラットフォームは、次のスケジューリング対象の機械命令セグメントを解析し続け、上述した方法のステップを繰り返して、全命令に対する再結合を仕上げる。詳細は、ステップS103の次の解析で説明されることになる。
ステップS103において、命令実行コンテキストを復元することは、命令実行に関連したレジスタデータをスタックから取り出すことを含む。アドレスレジスタ内に格納される制御転送命令の宛先アドレスは、新たな機械命令セグメントのエントリアドレスであるA”へすでに修正されている。命令実行コンテキストを復元した後、命令再結合プラットフォームは、今回は操作を終了し、CPUは先行する機械命令セグメントの最後の命令(それは制御転送命令)を実行し続け、宛先アドレスは上述したようにA”へ修正され、CPUは、エントリアドレスA”を有する新たな機械命令セグメントを実行する。エントリアドレスA”を有する命令セグメントが最後から2番目の命令(それは第2制御転送命令JP2)に対して実行されるとき、命令再結合プラットフォームは、制御権を得てCPU上で再び動き、命令再結合プラットフォームは、ステップS101からステップS103までのプロセスを繰り返す。
図3を参照すると、命令再結合プロセスおよび再結合命令セグメントの発生が、詳細に説明されることになる。スケジューリング予定である機械命令セット401は図3にあり、同図で第1制御転送命令は第1制御転送命令4012であり、命令4012より前の命令が実行される前に、命令4012の宛先アドレスは可変である場合に未知であり、したがって宛先アドレスは、第1制御転送命令4012が機械命令4013を指すと仮定し、第1制御転送命令4012と命令4012より前の命令とを含む機械命令は、機械命令セグメント4011を構成する。
依然として図3を参照すると、命令再結合プラットフォーム411が実行されると、最初に命令実行コンテキストが格納され、次いで機械命令セグメント4011が取得され、命令再結合プラットフォームは、第1制御転送命令4012の前に第2制御転送命令4113を挿入し、第2制御転送命令4113は命令再結合プラットフォーム411それ自体を指し、同プラットフォームはアドレスA”を有する再結合命令セグメント4111を発生させ、次いで格納された命令実行コンテキスト内にあるアドレスレジスタ値AはA”へ修正され、最後に、命令実行コンテキストは復元される。
命令再結合プラットフォーム411が実行を終了した後、CPUは、アドレスレジスタ値A”を有する先行する再結合命令セグメントの最後の制御転送命令を実行し続ける。アドレスA”を有する再結合命令セグメントが開始された後、第2制御転送命令4113が実行中に、命令再結合プラットフォーム411は、再びCPUの制御権を取得し、次いでスケジューリング対象の機械命令を解析し続け、それゆえにランタイム命令再結合の本方法は終了する。
さらに、実行プログラムの機械命令は高い繰り返し能力を有し、命令再結合の効率を改善するために、かつコンピューティングデバイスのコンピューティング資源(例えば、CPU)を節約するために、本開示の第2実施形態に従って、図4に示すようにランタイム命令再結合方法が提供される。ランタイム命令再結合方法は、
S201、命令実行コンテキストを格納するステップ;
S202、格納された命令実行コンテキスト内にあるアドレスレジスタ値Aを有するアドレス対応テーブルを検索するステップ;アドレス対応テーブルは、再結合予定であるアドレスAに対応する機械命令セグメントが、アドレスA’を有する格納された再結合命令セグメントを有するかどうかを示すために用いられる、
S203、レコードが見つかる場合、アドレスレジスタ値Aをレコード内の値A’へ修正し、命令実行コンテキストを復元するステップ;、
S204、レコードが見つからない場合、スケジューリング対象の機械命令セグメントを取得し、取得された機械命令セグメントの最後の命令の前に第2制御転送命令を挿入し(第2制御転送命令は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)、格納された命令実行コンテキスト内にあるアドレスレジスタ値AをアドレスA”へ修正するステップ;
S205、命令実行コンテキストを復元するステップ;
を含む。
同様に、ステップS204は、アドレスA”およびアドレスAを用いて、アドレス対応テーブル内にレコードを生成するステップをさらに含むことができる。すなわち、アドレスA”を有する再結合命令セグメントは、再利用のために命令再結合プラットフォーム内に格納される。
アドレス対応テーブルを用いることによって、本方法は、コンピューティング資源を節約し、ランタイム命令再結合の効率を改善する。
上述した実施形態において、機械命令、すなわち2値機械コードは、直接に操作または処理され、本開示の別の実施形態において、命令の修正のようにさらに操作することができるので、スケジューリング対象の機械命令セグメントは、後で用いるためにアセンブリ・コード・セグメントへ、最初に逆アセンブルすることができ、アセンブリ・コード・セグメントは、命令実行コンテキストを復元する前に2値機械コードへアセンブルされることになる。
本開示の第3実施形態に従って、
S301、現在の命令実行コンテキストを格納するステップ;、
S302、格納された命令実行コンテキスト内にあるアドレスレジスタ値Aを有するアドレス対応テーブルを検索するステップ;、
S303、対応するレコードが見つかる場合、アドレスレジスタ値Aをレコード内の値A’へ修正し、命令実行コンテキストを復元するステップ;、
S304、レコードが見つからない場合、図5に示される再結合命令を発生させる方法;
S305、命令実行コンテキストを復元するステップ;、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
S3041、スケジューリング対象の機械命令セグメントを取得するステップ;、
S3042、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ;、
S3043、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ;、
S3044、アセンブリ命令セグメントの最後の命令の前に第2制御転送命令JP2を挿入するステップ;(第2制御転送命令JP2は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)、
S3045、修正されたアセンブリ命令セグメントをアセンブルして、再結合した機械命令セグメント(再結合機械命令セグメント)を得るステップ;、
S3046、アドレスA”およびアドレスAを用いてアドレス対応テーブル内にレコードを確立するステップ;、
S3047、格納された命令実行コンテキスト内にあるアドレスレジスタ値AをアドレスA”へ修正するステップ;、
を含む。
ステップS3042およびS3045は、対応する逆アセンブルステップおよびアセンブルステップである。機械命令セグメントがアセンブリ命令セグメントへ逆アセンブルされた後、さらに解析ステップおよび修正ステップを実行することは容易である。他のステップは、上述した実施形態におけるステップと同様であり、再説明はしないことにする。
上述したランタイム命令再結合方法は、さらなる応用の土台を提供する。次の実施形態は、格納/読み出し命令、入出力命令およびネットワーク送信命令を含む機械命令上で異なる処理を実行する種々のランタイム命令再結合方法を提供する。
本開示の第4実施形態に従う格納/読み出し命令に対して、
S401、現在の命令実行コンテキストを格納するステップ;、
S402、格納された命令実行コンテキスト内にあるアドレスレジスタ値Aを有するアドレス対応テーブルを検索するステップ;
S403、対応するレコードが見つかる場合、アドレスレジスタ値Aをレコード内の値A’へ修正し、命令実行コンテキストを復元するステップ;、
S404、レコードが見つからない場合、再結合命令を発生させる方法;
S405、命令実行コンテキストを復元するステップ;、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
S4041、スケジューリング対象の機械命令セグメントを取得するステップ;、
S4042、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ;、
S4043、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ;(ターゲットアセンブリ命令は格納/読み出し命令である)、
S4044、アセンブリ命令セグメントが格納/読み出し命令を含む場合、格納/読み出し命令の格納または読み出しアドレスを安全デバイス上の対応するアドレスへ修正するステップ;、
S4045、アセンブリ命令セグメントの最後の命令の前に第2制御転送命令JP2を挿入するステップ;(第2制御転送命令JP2は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)、
S4046、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ;、
S4047、アドレスA”およびアドレスAを用いてアドレス対応テーブル内にレコードを確立するステップ;、
S4048、格納された命令実行コンテキスト内にあるアドレスレジスタ値AをアドレスA”へ修正するステップ;、
を含む。
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
ステップS4044において、格納および読み出し命令に対して、格納または読み出し命令内のターゲットアドレスまたは送信元アドレスは、データダンプを達成するために修正されるが、同データダンプは、データセキュリティ用の安全デバイス上へデータを保存することである。詳細は、次の本開示の実施形態において説明されることになる。
本開示の第5実施形態に従う入出力命令に対して、
S501、現在の命令実行コンテキストを格納するステップ;、
S502、格納された命令実行コンテキスト内にあるアドレスレジスタ値Aを有するアドレス対応テーブルを検索するステップ;、
S503、対応するレコードが見つかる場合、アドレスレジスタ値Aをレコード内の値A’へ修正し、命令実行コンテキストを復元するステップ;、
S504、レコードが見つからない場合、再結合命令を発生させる方法;
S505、命令実行コンテキストを復元するステップ;、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
S5041、スケジューリング対象の機械命令セグメントを取得するステップ;、
S5042、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ;、
S5043、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ;(ターゲットアセンブリ命令は入出力命令である)、
S5044、アセンブリ命令セグメントが入出力命令を含む場合、入出力命令内の全入力命令を遮断するステップ;、
S5045、アセンブリ命令セグメントの最後の命令の前に第2制御転送命令JP2を挿入するステップ;(第2制御転送命令JP2は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)、
S5046、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ;、
S5047、アドレスA”およびアドレスAを用いてアドレス対応テーブル内にレコードを確立するステップ;、
S5048、格納された命令実行コンテキスト内にあるアドレスレジスタ値AをアドレスA”へ修正するステップ;、
を含む。
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
ステップS5044において、入出力命令内の全入力命令は遮断されて、ローカルのハードウェアの書き込み操作を防止し、最後の実施形態における格納命令のプロセスに加えて、格納命令を除く全入力命令を遮断することができ、これによりコンピューティングデバイスにおけるデータセキュリティを改善することができる。
本開示の第6実施形態に従うネットワーク送信命令に対して、
S601、現在の命令実行コンテキストを格納するステップ;、
S602、格納された命令実行コンテキスト内にあるアドレスレジスタ値Aを有するアドレス対応テーブルを検索するステップ;、
S603、対応するレコードが見つかる場合、アドレスレジスタ値Aをレコード内の値A’へ修正し、命令実行コンテキストを復元するステップ;、
S604、レコードが見つからない場合、再結合命令を発生させる方法;
S605、命令実行コンテキストを復元するステップ;、
を含むランタイム命令再結合方法が提供される。
上記再結合命令を発生させる方法は、
S6041、スケジューリング対象の機械命令セグメントを取得するステップ;、
S6042、機械命令セグメントをアセンブリ命令セグメントへ逆アセンブルするステップ;、
S6043、処理対象のターゲットアセンブリ命令を取得するために、アセンブリ命令セグメントを識別する命令セットを用いることによってアセンブリ命令セグメントを解析するステップ;(ターゲットアセンブリ命令はネットワーク送信命令である)、
S6044、アセンブリ命令セグメントがネットワーク送信命令を含む場合、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレス(許可されたアドレス)であるかどうかを決定し、宛先アドレスが許可アドレスでない場合、ネットワーク送信命令を遮断するステップ;、
S6045、アセンブリ命令セグメントの最後の命令の前に第2制御転送命令JP2を挿入するステップ;(第2制御転送命令JP2は命令再結合プラットフォームのエントリアドレスを指し、同プラットフォームはアドレスA”を有する再結合命令セグメントを発生させる)、
S6046、修正されたアセンブリ命令セグメントをアセンブルして、再結合機械命令セグメントを得るステップ;、
S6047、アドレスA”およびアドレスAを用いてアドレス対応テーブル内にレコードを確立するステップ;、
S6048、格納された命令実行コンテキスト内にあるアドレスレジスタ値AをアドレスA”へ修正するステップ;、
を含む。
本実施形態において、ターゲット命令は、逆アセンブルステップの後に処理され、別の実施形態において、ターゲット命令は、アセンブルおよび逆アセンブルステップを省略することによって直接に処理することができる。
ステップS6044において、ネットワーク送信命令は、遠隔のコンピューティングデバイスに対応する同命令の宛先アドレスが許可アドレスであるかどうかを検査するために処理され、そうでない場合、ネットワーク送信命令が遮断されて、セキュアなデータ送信を実現する。
上述した実施形態におけるアドレス対応テーブルは、命令再結合プラットフォームによって生成されかつ保持され、同テーブルは、固定長配列構造、可変長連結リスト構造、またはデータ対を保存する他の適切なデータ構造を有することができる。任意選択で、データ構造の長さは調整可能であり、データ構造のスペースは解放することができる。アドレス対応テーブルによって占有されたスペースを解放する操作は、定期的にまたはランダムなやり方で実行することができる。いくつかの実施形態において、アドレス対応テーブルは、レコードを生成する時間を保存するデータフィールドをさらに含み、同データフィールドは存在時間に従ってレコードを除去する解放操作によって用いられる。いくつかの実施形態において、アドレス対応テーブルは、使用カウンタとして用いられるデータフィールドをさらに含み、アドレス対応テーブルを検索するステップにおいてレコードが見つかる場合、同データフィールドは更新されまたは修正され、さらに同データフィールドは使用カウンタに従ってレコードを削除する解放操作によっても用いられる。
さらに、システム起動以降のランタイム命令監視を実行するために、かつコンピューティングデバイスの動作段階中にランタイム命令の十分な監視を達成するために、本開示の別の一実施形態に従って、システム起動時に用いられるロード命令は修正され、本開示において提供された命令再結合プラットフォームは、ロード命令の実行の前にランタイム命令再結合方法を実行するようにコールされ、ロード命令のジャンプ先アドレスが既知の固定アドレスであるので、命令再結合プラットフォームは、最初のレコードを有するアドレス対応テーブルを生成し、前もって最初の再結合命令セグメントを生成する。
さらに、本開示に従って、上述した実施形態によって提供されるランタイム命令再結合方法に従う命令をコンピュータに実行させるためのコンピュータプログラムを格納する、コンピュータ読み取り可能な媒体も提供される。
別の一態様に従ってかつ上述したランタイム命令再結合方法に対応して、本開示の第7実施形態におけるランタイム命令再結合デバイスが提供される。
図6に図示したように、命令再結合デバイス500は、
命令実行コンテキストを格納しかつ復元するように適合された命令実行コンテキスト格納/復元ユニット501と、
命令実行コンテキスト格納/復元ユニット501が命令実行コンテキストを格納した後、スケジューリング対象の機械命令セグメントを取得するように適合された命令取得ユニット502と、
スケジューリング対象の機械命令セグメントを解析しかつ修正するように適合されたユニットであって、アドレスA”を有する再結合命令セグメントを発生させる命令再結合ユニット503と、
格納された命令実行コンテキスト内にあるアドレスレジスタ値を再結合命令セグメントのアドレスへ修正するように適合された命令置換ユニット504と、を含む。
命令実行コンテキスト格納/復元ユニット501は命令取得ユニット502および命令置換ユニット504へ結合され、命令取得ユニット502、命令再結合ユニット503および命令置換ユニット504は順繰りに結合されるが、これは、命令取得ユニット502が命令再結合ユニット503へ結合されること、および命令再結合ユニット503が命令置換ユニット504へ結合されることを意味する。
命令再結合デバイス500は、次のようなやり方で、ランタイム命令再結合方法を実行し、すなわち、
最初に、命令実行コンテキスト格納/復元ユニット501は、命令実行コンテキストを格納するが、これは、実行関連レジスタデータをスタック(例えばメモリ内のスタック)上へプッシュすることであり、
次いで、命令取得ユニット502は、スケジューリング対象の機械命令のアドレスをCPUアドレスレジスタから読み出し、かつアドレスに従って機械命令セグメントを読み出し、機械命令セグメントの最後の命令は制御転送命令となる。特に、命令取得ユニット502は、スケジューリング対象の機械命令のアドレスをCPUアドレスレジスタ511から読み出し、検索対象として制御転送命令を用いて第1制御転送命令(例えば制御転送命令はJMP命令およびコール命令を含む)が見つかるまでアドレスに対応する機械命令を検索し、第1制御転送命令および同命令の前の全機械命令をスケジューリング対象の機械命令セグメントとして定義し、命令再結合デバイス500または命令再結合デバイス500がアクセスすることができる他の格納先内に機械命令セグメントを格納し、
次いで、命令再結合ユニット503は、取得された機械命令セグメントの最後の命令の前に第2制御転送命令を挿入し、第2制御転送命令は命令再結合デバイスのエントリアドレスを指し、同デバイスはアドレスA”を有する再結合命令セグメントを発生させ、
次いで、命令置換ユニット504は、格納された命令実行コンテキスト内にあるアドレスレジスタの値AをアドレスA”へ修正し、
最後に、命令実行コンテキスト格納/復元ユニット501は、命令実行コンテキストを復元するが、これは、実行関連レジスタデータをスタックから取り出すことである。
さらに、本開示の第8実施形態に従って、ランタイム命令再結合デバイスが提供され、同デバイスは、実行中の命令の繰り返し能力を利用して、再結合効率を改善しかつコンピューティングデバイスのコンピューティング資源を節約する。
図7に示すように、命令再結合デバイス600は、
命令実行コンテキストを格納しかつ復元するように適合された命令実行コンテキスト格納/復元ユニット601と、
命令実行コンテキスト格納/復元ユニットが命令実行コンテキストを格納した後にスケジューリング対象の機械命令セグメントを取得するように適合された命令取得ユニット602と、
スケジューリング対象の機械命令セグメントを解析しかつ修正して、アドレスA”を有する再結合命令セグメントを発生させるように適合された命令再結合ユニット603と、
格納された命令実行コンテキスト内にあるアドレスレジスタの値を再結合命令セグメントのアドレスへ修正するように適合された命令置換ユニット604と、
格納された命令実行コンテキスト内にあるアドレスレジスタの値Aを検索ターゲットとして用いて、アドレス対応テーブルを検索するように適合されたユニットであって、機械命令セグメントが、再結合予定であるアドレスAに対応するかどうかを示すために用いられるアドレス対応テーブルは、アドレスA’を有する格納された再結合命令セグメントを有し、対応するレコードが見つかる場合、命令検索ユニットは、命令置換ユニットをコールしてアドレスレジスタの値Aをレコード内の値A’へ修正するように適合され、レコードが見つからない場合、命令検索ユニットは、アドレスAと、再結合した結果のアドレスA”とを有するアドレス対応テーブル内にレコードを確立するようにさらに適合される、命令検索ユニット605と、を含む。
命令実行コンテキスト格納/復元ユニット601は命令検索ユニット605および命令置換ユニット604へ結合され、命令検索ユニット605は命令取得ユニット602、命令再結合ユニット603および命令置換ユニット604へ結合され、命令取得ユニット602、命令再結合ユニット603および命令置換ユニット604は順繰りに結合される。
命令再結合デバイス600は、次のようなやり方でランタイム命令再結合方法を実行し、すなわち、
最初に、命令実行コンテキスト格納/復元ユニット601は、命令実行コンテキストを格納するが、これは、命令実行関連レジスタデータをスタック上へプッシュすることであり、
次いで、命令検索ユニット605は、格納された命令実行コンテキスト内にあるアドレスレジスタの値Aを検索ターゲットとして用いて、アドレス対応テーブルを検索し、
対応するレコードが見つかる場合、命令検索ユニット605は命令置換ユニット604をコールし、命令置換ユニット604はアドレスレジスタの値Aをレコード内の値A’へ修正し、命令置換ユニット604は命令実行コンテキスト格納/復元ユニット602をコールして命令実行コンテキストを復元し、すなわち命令実行関連レジスタデータをスタックから取り出し、再結合プロセスは終了し、
対応するレコードが見つからない場合、命令検索ユニット602は、スケジューリング対象の機械命令のアドレスをCPUアドレスレジスタから読み出し、かつアドレスに従って機械命令セグメントを読み出し、機械命令セグメントの最後の命令は制御転送命令となる。特に、命令取得ユニット602は、スケジューリング対象の機械命令のアドレスをCPUアドレスレジスタ611から読み出し、検索対象として制御転送命令を用いてアドレスに対応する機械命令を第1制御転送命令(例えば制御転送命令はJMP命令およびコール命令を含む)が見つかるまで検索し、第1制御転送命令および同命令の前の全機械命令をスケジューリング対象の機械命令セグメントとして定義し、命令再結合デバイス600または命令再結合デバイス600がアクセスすることができる他の格納先内に機械命令セグメントを格納し、
次いで、命令再結合ユニット603は、取得された機械命令セグメントの最後の命令の前に第2制御転送命令を挿入し、第2制御転送命令は命令再結合デバイスのエントリアドレスを指し、同デバイスはアドレスA”を有する再結合命令セグメントを発生させ、
次いで、命令再結合ユニット603は、アドレスA”を命令検索ユニット605へ送信し、命令検索ユニット605は将来の再利用のためにアドレスA”およびアドレスAを用いてアドレス対応テーブル内にレコードを生成し、
次いで、命令置換ユニット604は、格納された命令実行コンテキスト内にあるアドレスレジスタの値AをアドレスA”へ修正し、
最後に、命令実行コンテキスト格納/復元ユニット601は、命令実行コンテキストを復元するが、これは、命令実行関連レジスタデータをスタックから取り出すことである。
本実施形態において、命令再結合ユニット603は、
処理予定であるターゲット機械命令を取得するために、機械命令セグメントを識別する命令セットを用いるように適合されたユニットであって、命令セットはX86、MIPSおよびARM命令セットである、命令解析ユニット6031と、
事前に設定したやり方でターゲット機械命令を修正しまたは変更するように適合された命令修正ユニット6032と、をさらに含む。
ターゲット命令が格納/読み出しまたは保存/読み出し命令である場合、命令解析ユニット6031は、スケジューリング対象の機械命令セグメントから格納/読み出し命令を取得するために用いられ、命令修正ユニット6032は、格納/読み出し命令内の格納または読み出しアドレスを安全デバイス上の対応するアドレスへ修正するために用いられる。効果は、方法について上述した対応する実施形態と同様である。
ターゲット命令が入出力命令である場合、命令解析ユニット6031は、スケジューリング対象の機械命令セグメントから入出力命令を取得するために用いられ、命令修正ユニット6032は、入出力命令の全入力命令を遮断するために用いられる。効果は、方法について上述した対応する実施形態と同様である。
ターゲット命令がネットワーク送信命令である場合、命令解析ユニット6031は、スケジューリング対象の機械命令セグメントからネットワーク送信命令を取得するために用いられ、命令修正ユニット6032は、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレスであるかどうかを検査するために用いられる。宛先アドレスが許可アドレスでない場合、命令修正ユニットは、ネットワーク送信命令を遮断するためにも用いられる。効果は、方法について上述した対応する実施形態と同様である。
本開示の第9実施形態に従って、図8に示すように命令再結合ユニット703は、逆アセンブルユニット7031およびアセンブルユニット7034をさらに含む。逆アセンブルユニット7031、命令解析ユニット7032、命令修正ユニット7033およびアセンブルユニット7034は、順繰りに結合されまたは接続される。本実施形態における他のユニットは、本開示の第8実施形態におけるユニットと同一である。
逆アセンブルユニット7031は、命令セグメントを解析しかつ修正する前にスケジューリング対象の機械命令セグメントを逆アセンブルするように適合され、スケジューリング対象のアセンブリ命令セグメントを発生させ、アセンブリ命令セグメントを命令解析ユニット7032へ送信するように適合される。
アセンブルユニット7034は、命令セグメントを解析しかつ修正した後、再結合したアセンブリ命令セグメントをアセンブルするように適合され、再結合機械命令セグメントを発生させ、機械コード内の再結合命令セグメントを命令置換ユニットへ送信するように適合される。
本実施形態において、命令解析ユニット7032および命令修正ユニット7033は、先行する実施形態に説明したやり方と同様にスケジューリング対象のアセンブリ命令セグメントを処理することになっている。
上述した実施形態では、本開示の実施形態において提供されるランタイム命令再結合方法およびデバイスが詳細に説明され、先行技術と比較すると、
(1) コンピューティングデバイス内のランタイム命令は、命令再結合方法によって監視される、
(2) 命令再結合の効率は改善され、コンピューティング資源はアドレス対応テーブルによって節約することができる、
(3) 格納および読み出し命令に対して、格納および読み出し命令内の宛先アドレスおよび送信元アドレスを修正することによって、データセキュリティを保証する安全デバイス上へデータを保存するデータダンプが達成される、
(4) 入出力命令に対して、入出力命令内の全入力命令を遮断することができ、これによりローカルのハードウェアの書き込み操作を防止し、格納命令を除く全入力命令を遮断することができ、これによりコンピューティングデバイスにおけるデータセキュリティを改善することができる、
(5) ネットワーク送信命令に対して、遠隔のコンピューティングデバイスに対応するネットワーク送信命令の宛先アドレスが許可アドレスであるかどうかを決定することによって、宛先アドレスがそうでない場合、ネットワーク送信命令を遮断することによって、データ安全送信を達成する、ことを含む利点がある。
格納/読み出し命令であるターゲット命令に対して、より多くの実施形態が以下に説明され、これらの実施形態において、データの安全格納および読み出し方法ならびにデータの安全格納および読み出しデバイスが提供される。
背景技術において説明したように、技術的背景において説明されたコンピュータ端末システムが悪意のあるコードによって侵入されると、悪意のあるコードは、コンピュータシステムからデータを獲得することができる。データを獲得した後、悪意のあるコードの行動モデルは、(1)格納動作、すなわち対象データを一定の格納先内に格納すること、(2)送信動作、すなわち盗み出されたデータを、インターネットを通じて指定された宛先アドレスへ直接に送信すること、を含む。加えて、コンピューティングデバイスまたは情報デバイスを使用する社員によって秘密が漏洩される行動モデルは、(1)能動的秘密漏洩、すなわち秘密関連社員は、能動的コピー、安全システムに浸入する悪意のあるツール、またはトロイの木馬によって、秘密情報を直接に取得する、(2)受動的秘密漏洩、すなわち秘密関連社員によって使用されるコンピューティングデバイスまたは格納媒体は、紛失しまたは誤用されて、秘密関連デバイスをインターネットへ直接に接続するなどの秘密漏洩を引き起こす、ことを含む。
上述した問題を解決するために、本開示の実施形態は、添付の図面を参照して以下に詳細に説明されることになる。図9は、本開示の第10実施形態におけるコンピュータ端末システムの階層構造の概略図である。コンピュータ端末システム200は、ユーザインターフェース層201、アプリケーション層202、オペレーティング・システム・カーネル層203、ハードウェアマッピング層204、セキュリティ層205、およびハードウェア層206を含み、コンピュータ端末システム200は、格納デバイス100(すなわち安全デバイス)へ接続される。ハードウェア層206は、CPU2061、ハードディスク2062(すなわちローカルの格納デバイス)およびネットワークカード2063を含む。本実施形態において、格納デバイス100は遠隔のディスクアレイであり、同デバイスは、ハードウェア層206のネットワークカード2063と接続することによって、データをコンピュータ端末システム200とやり取りする。本開示の別の実施形態において、格納デバイス100は、別の種類の格納機器とすることもできる。
上述した階層構造を参照して、図10を参照すると、本実施形態によって提供されるデータ・ダンプ・プロセスは、
S1000、初期化、
S2000、データ書き込み(data write)プロセスまたはデータ書き込み(data writing)プロセス、および
S3000、データ読み出し(data read)プロセスまたはデータ読み出し(data reading)プロセス、を含む。
別の実施形態において、初期化、データ書き込みおよびデータ読み出しプロセスは、必要に応じて選択的に実行することができる。
さらに、図11を参照すると、初期化プロセスS1000は、
S1010、コンピュータ端末システム200と格納デバイス100(すなわち安全デバイス)との間の通信を確立すること;、
S1020、ビットマップを格納デバイス100から現在のコンピュータ端末システム200へ同期化し、コンピュータ端末システム200のメモリ内にビットマップを格納すること;(ビットマップはローカルの格納アドレスのデータが安全デバイス上へ格納またはダンプされているか否かを表すために用いられる)、
を含む。
コンピュータ端末システム200のビットマップを格納デバイス100内のビットマップと区別するために、以下では、コンピュータ端末システム200のビットマップは、他に指定がなければ第1ビットマップと呼ばれ、格納デバイス100内のビットマップは第2ビットマップと呼ばれる。
第2ビットマップを格納デバイス100から現在のコンピュータ端末システム200へ同期化させるのが失敗する場合、格納デバイス100とコンピュータ端末システム200が初めて接続されていること、または先行する接続中にコンピュータ端末システム200内での格納操作がなかったことを意味する。初期化プロセスS1000は、
S1030、ビットマップをそれぞれ格納デバイス100上およびコンピュータ端末システム200上に生成すること、をさらに含む。
特に、最初に、コンピュータ端末システムのローカルの格納スペースは格納デバイス100へマッピングされ、同デバイスにおいてマッピング関係は、マッピング単位としてセクタ(または格納の他の基本単位)を有する1対1マッピングであり、したがってビットマップが生成される。本開示の別の実施形態において、格納の他の基本単位が、ビットマップをローカルの格納スペースから格納デバイス100へ確立する単位として用いることができる。
図12は、本実施形態におけるビットマップの概略図であり、図12は、ローカルの格納デバイス(すなわちハードディスク2062)上に格納媒体3000、およびネットワークを通じてローカルの格納デバイスへ接続される格納デバイス100上に格納媒体4000を含む。格納媒体3000に対して、同一サイズを有する格納スペース4010が、1対1マッピングスペースとして用いられる格納媒体4000上に確立される。この時点では、ビットマップ4020は、格納スペース4010内に1つ存在するだけである。ビットマップ4020はビット単位のマップであり、1つのビットは1つのセクタを表し、ビットのデータ(0または1)は格納媒体3000の対応するセクタが格納媒体4000の格納スペース4010上へ格納されるか否かを表す。本実施形態において、格納媒体4000の格納スペース4010上へデータが格納されまたはダンプされたセクタは1とマーキングされ、(ダンプされていないセクタたる)他のセクタは0とマーキングされる。ビットマップ4020が生成された後、同ビットマップはコンピュータ端末システム200へ同期化する。アプリケーションまたはオペレーティングシステムが、データ、例えばファイルを保存することになっているとき、オペレーティングシステムのファイルシステムは、ローカルの格納デバイスの格納媒体3000上に一定量の格納スペース、例えばセクタ3040およびセクタ3050を割り当て、格納スペースをファイルへ付与し、ローカルのファイル・アロケーション・テーブルを更新する。ファイルがデータダンプされると、セクタ3040およびセクタ3050に対応するビットマップのビットデータは、1へ変更され、一方、セクタ4040およびセクタ4050は、ファイルを保存する格納媒体4000上の対応する位置に割り当てられる。
本実施形態において初期化プロセスが終了した後、コンピュータ端末システム200および格納デバイス100は、同一のデータを有する2つのビットマップを格納する。
さらに、データ書き込みプロセスS2000は、
S2010、アプリケーション層202は、オペレーティング・システム・カーネル層203のファイルシステムを通じてファイルを書き込む操作要求を行い、もしくはオペレーティング・システム・カーネル層203は、直接にファイルを書き込む操作要求を行い、またはアプリケーション層202は、直接にハードウェアマッピング層204へデータを書き込む操作要求を行い、もしくはオペレーティング・システム・カーネル層203は、直接にハードウェアマッピング層204へデータを書き込む操作要求を行い、
S2020、オペレーティング・システム・カーネル層203は、ファイルを書き込む操作要求をハードウェアポート命令(すなわちハードウェア命令)へ翻訳し、ハードウェアポート命令をハードウェアマッピング層204へ送信し、ハードウェアポート命令は、書き込み対象の格納位置(すなわちセクタ)を含有し、データを書き込む操作要求が直接にハードウェアマッピング層204へ行われる場合、要求はすでにハードウェアポート命令であり
S2030、セキュリティ層205は、ポート命令内の書き込み位置(すなわちセクタ)を格納デバイス100上の格納アドレスへ修正し、セクタに対応するビットデータを、このセクタがデータダンプされることを表す1へ変更することによって第1ビットマップを更新し、次いでセキュリティ層205は修正されたポート命令をハードウェア層206へ送信する、ことを含む。
上述したプロセスの後、書き込みプロセスS2000は、
S2040、第1ビットマップは、格納デバイス100へ同期化し、かつ第2ビットマップとして保存され、これによりコンピュータ端末システム200上の第1ビットマップと格納デバイス上の第2ビットマップが同一であることを保証する、ことをさらに含むことができる。本開示の別の実施形態において、この同期化操作は、例えばコンピュータ端末システム200が電源オフとなる前に、最後に実行することができる。
書き込みプロセスが実行された後、コンピュータ端末システム200は、書き込みデータが格納デバイス100上にダンプされまたは格納されているので、書き込みデータを格納しない。
さらに、データ読み出しプロセスS3000は、
S3010、格納デバイス100上の第2ビットマップは、コンピュータ端末システム200へ同期化し、第1ビットマップとして保存され、
S3020、アプリケーション層202は、オペレーティング・システム・カーネル層203のファイルシステムを通じてファイルを読み出す操作要求を行い、もしくはオペレーティング・システム・カーネル層203は、直接にファイルを読み出す操作要求を行い、またはアプリケーション層202は、直接にハードウェアマッピング層204へデータを読み出す操作要求を行い、もしくはオペレーティング・システム・カーネル層203は、直接にハードウェアマッピング層204へデータを読み出す操作要求を行い、
S3030、セキュリティ層205は、データ読み出し命令をハードウェアマッピング層204から受信し、データ読み出し命令の読み出しアドレス(または送信元アドレス)を取得し、このアドレスが格納デバイス100のアドレスでない場合、セキュリティ層は第1ビットマップを検索し、読み出しアドレスのデータがダンプされていることを、読み出しアドレスに対応する第1ビットマップ内のビットデータが表す場合、セキュリティ層205は、ポート命令の読み出しアドレスを格納デバイス100の対応する読み出しアドレスへ修正し、セキュリティ層205は修正されたポート命令をハードウェア層206へ送信する、ことを含む。
ステップS3010において、第2ビットマップを格納デバイス100からコンピュータ端末システム200へ同期化させるのは、コンピュータ端末システム200の再起動の後でローカルのデータと安全デバイス上のデータとの間の一貫性を保つことにある。
上述した読み出しプロセスは、ユーザの現在の操作モードに影響せず、ダンプされたデータのデータ読み出し操作を安全デバイス(すなわち格納デバイス100)上に実現する。
さらに、上述したデータ書き込みプロセスに基づき、図13を参照すると、本実施形態において提供されるデータの安全格納方法は、
S4010、ハードウェア命令を受信するステップと、
S4020、ハードウェア命令を解析するステップと、
S4030、ハードウェア命令が格納命令であるかどうかを決定するステップと、
S4040、ハードウェア命令が格納命令である場合、格納命令内の宛先アドレスを格納デバイス100(すなわち安全デバイス)上の対応する格納アドレスへ修正するステップと、
S4050、修正された格納命令をハードウェア層へ送信するステップと、を含む。
特に、本実施形態において、コンピュータ端末上で実行するオペレーティングシステムはウィンドウズ・オペレーティング・システムであり、ウィンドウズにおいてハードウェアマッピング層はハードウェア抽象化層(HAL:hardware abstract layer)である。別の実施形態において、コンピュータ端末上で実行するオペレーティングシステムは、Linux、UNIXまたは他の組み込みオペレーティングシステムとすることができ、ハードウェアマッピング層は、ウィンドウズのHALに対応する層である。
ステップS4010において、ハードウェア命令は、ハードウェアマッピング層からのハードウェア命令である。ハードウェア命令をハードウェアマッピング層から受信するステップは、CPUなどのプロセッサへ送信されるハードウェア命令(すなわちポート命令)を十分にスクリーニングすることができ、これによりさらにデータセキュリティを改善する。本開示の別の実施形態において、ハードウェア命令は、オペレーティング・システム・カーネル層または他のコンピュータ層に対応するユニットから得ることもできる。
加えて、上述したようなランタイム命令再結合方法に合わせてハードウェア命令を受信するやり方は、ランタイム命令再結合方法を用いてハードウェア命令を取得するステップ、を含むことができる。
ステップS4020において、X86命令セット、ARM命令セット、MIPS命令セットなどの、異なる種類のCPU命令を処理するために、セキュリティ層205の内部に種々の命令解析機構がある。
ステップS4040において、格納命令内の宛先アドレスを格納デバイス100上の対応する格納アドレスへ修正した後、本方法は、宛先アドレス(セクタ)に対応する第1ビットマップの「ビット」を1に設定することによって、第1ビットマップを更新するステップ、をさらに含むことができる。
さらに、ステップS4040において、本方法は、更新されたビットマップを安全デバイスへ同期化させるステップおよび同ビットマップを第2ビットマップとして保存するステップ、をさらに含むことができる。
ステップS4050において、セキュリティ層205は、修正されたまたは修正されていないハードウェア命令をハードウェア層206へ転送する。本実施形態において、セキュリティ層205のデータダンプ操作は、上位層またはユーザに対して完全にトランスペアレントであり、現在のコンピュータまたはアプリケーションの作業の流れに影響しない。
本実施形態において提供された方法は、コンピュータ端末システムに用いるだけでなく、アプリケーション層、オペレーティング・システム・カーネル層およびハードウェア層を含む、任意のコンピューティングデバイスまたはインテリジェント端末にも用いることができ、ハードウェア層が命令を実行する前に、命令レベルのデータダンプ(すなわちハードウェア格納命令に基づくデータダンプ)を達成する。
上述したデータ読み出しプロセスに従って、図14を参照すると、本実施形態において提供されたデータの安全読み出し方法は、
S5010、ハードウェア命令を受信するステップと、
S5020、ハードウェア命令を解析するステップと、
S5030、ハードウェア命令が読み出し命令であるかどうかを決定するステップと、
S5040、ハードウェア命令が読み出し命令である場合、読み出し命令の送信元アドレスを取得し、送信元アドレスが格納デバイス100のアドレスであるかどうかを決定するステップと、
S5050、送信元アドレスが格納デバイス100のアドレスでない場合、第1ビットマップを検索し、ビットマップのデータに従って読み出し命令の読み出しアドレスを修正するステップと、
S5060、修正されたハードウェア命令をハードウェア層へ送信するステップと、を含む。
ステップS5010の前に、本方法は、格納デバイス100上の第2ビットマップをコンピュータ端末システム200へ同期化させるステップおよび同ビットマップを第1ビットマップとして保存するステップ、S5000、をさらに含むことができる。本実施形態のステップS5010において、ハードウェア命令は、ハードウェアマッピング層から得られる。
加えて、上述したランタイム命令再結合方法に合わせてハードウェア命令を受信するステップは、ランタイム命令再結合方法を用いてハードウェア命令を取得するステップを含むことができる。
ステップS5030において、ハードウェア命令が読み出し命令でない場合、セキュリティ層205は、ハードウェア命令を実行用ハードウェア層へ直接に送信する。
ステップS5040において、送信元アドレスがすでに格納デバイス100のアドレスである場合、セキュリティ層205は、第1ビットマップを検索する必要がなく、ハードウェア命令を実行用ハードウェア層へ送信する。
さらに、本開示のいくつかの実施形態において、ネットワーク資源を節約するために、格納デバイス100は、複数の端末システム間で共有することができる。
さらに、本開示の第11実施形態に従う、上述したデータの安全格納およびデータの安全読み出し方法に基づいて、データの安全送信方法が提供される。図15に示すように、データの安全送信方法は、
57010、ハードウェア命令をハードウェアマッピング層から受信するステップと、
S7020、ハードウェア命令を解析するステップと、
S7030、ハードウェア命令がネットワーク送信命令であるかどうかを決定するステップと、
S7040、ハードウェア命令がネットワーク送信命令である場合、宛先アドレスを読み出すステップと、
S7050、宛先アドレスが許可アドレスであるかどうかを決定するステップと、
S7060、宛先アドレスが許可アドレスである場合、ハードウェア命令をハードウェア層へ送信し、宛先アドレスが許可アドレスでない場合、ハードウェア命令を遮断し、本方法が終了するステップと、
S7070、ハードウェア層によってネットワーク送信命令およびデータを宛先アドレス上の端末システムへ送信するステップと、
S7080、データを受信し、宛先アドレス上の端末システムによるデータの安全格納方法を用いてデータを格納するステップと、を含む。
ステップS7060において、宛先アドレスが許可アドレスでない場合、これは宛先アドレス上の端末システムが本開示において提供されたデータの安全格納方法およびデータの安全読み出し方法を取り入れていないことを意味するが、同宛先アドレスがネットワーク送信操作用の宛先アドレスとなることを可能にしない。
ステップS7050において、宛先アドレスが許可アドレスであるかどうかを決定するステップは、次のようなステップで実行される。図16に示すように、セキュリティサーバ820は、ネットワークを通じて端末システム800および810と接続され、本開示の実施形態において提供されたデータの安全送信方法が端末システム800および810内に展開するとき、端末システム800または810は、セキュリティサーバ820への登録を自動的に行い、許可アドレステーブルはセキュリティサーバ820内に保持され、セキュリティサーバ820は、登録されたすべての端末システムを記録する。許可アドレステーブルが更新されると、セキュリティサーバ820は、新たな許可アドレステーブルを各端末へ自動的に送信する。端末システム800のアーキテクチャは、アプリケーション層801、オペレーティング・システム・カーネル層802、セキュリティ層803およびハードウェア層804を含み、同アーキテクチャでセキュリティ層803は許可アドレステーブルを保持する責任がある。セキュリティ層803は、宛先アドレスが許可アドレステーブル内にあるかどうかを決定することによって、宛先アドレスが許可アドレスであるかどうかを決定する。すなわちステップS7050において、宛先アドレスが許可アドレステーブル内にリストされる場合、宛先アドレスは許可アドレスである。
上述したデータの安全送信方法によって、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出された情報を送信することができない。
本開示において提供された方法が、コンピュータ端末システムの範囲内で説明されるが、携帯端末およびインテリジェント端末などの、ファイルもしくはデータの編集操作、保存操作または送信操作を提供することができる任意の電子機器は、本開示において提供されたデータの安全格納方法およびデータの安全送信方法を適用する端末システムとすることができる。
加えて、上述したデータの安全格納方法、データの安全読み出し方法およびデータの安全送信方法がソフトウェアまたはハードウェア内に実装できることを、当業者は理解することができ、ソフトウェアの場合、上述した方法ステップは、コンピュータコードとしてコンピュータ読み取り可能な媒体に格納することができるが、これはソフトウェア製品にもなりうる。
上述したデータの安全格納方法に対応して、本開示の第12実施形態に従って、データの安全格納デバイスが提供される。図17を参照すると、データの安全格納デバイス7100は、受信ユニット7110、命令解析ユニット7120、命令修正ユニット7130、および送信ユニット7140を含む。受信ユニット7110は命令解析ユニット7120と結合され、命令解析ユニット7120は命令修正ユニット7130および送信ユニット7140とも結合され、ならびに送信ユニット7140は命令修正ユニット7130およびハードウェア層7200とも結合される。
受信ユニット7110はハードウェア命令を受信するように適合され、ハードウェア命令は本実施形態におけるハードウェアマッピング層から得られ、命令解析ユニット7120はハードウェア命令を解析しかつハードウェア命令が格納命令であるかどうかを決定するように適合され、ハードウェア命令が格納命令である場合、命令修正ユニット7130は、格納命令の宛先アドレスを安全デバイス上の対応する格納アドレスへ修正し、かつ修正された格納命令を送信ユニット7140へ送信し、ハードウェア命令が格納命令でない場合、命令解析ユニット7120はハードウェア命令を送信ユニット7140へ直接に送信し、送信ユニット7140は受信された命令をハードウェア層7200へ送信するように適合される。
さらに、データの安全格納デバイスは、更新ユニット7150および同期化ユニット7160も含むことができ、更新ユニット7150は命令修正ユニット7130と結合され、同期化ユニット7160は更新ユニット7150と結合される。
更新ユニット7150は、命令修正ユニット7130が格納命令を修正した後、ビットマップ内の宛先アドレスに対応するビットを更新するように適合される。本実施形態において、格納命令の宛先アドレスにおけるセクタに対応するビットデータは、セクタがデータダンプされていることを表す「1」に設定される。
同期化ユニット7160は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつコンピュータ端末システムと安全デバイスの間でビットマップの同期化操作を実行するように適合される。特に、コンピュータ端末システムが始動すると、同期化ユニット7160は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつ安全デバイスの第2ビットマップをコンピュータ端末システムへ同期化させて、コンピュータ端末システムは第1ビットマップとして保存する。
安全デバイス上の第2ビットマップをコンピュータ端末システムへ同期化させることが失敗する場合、これはコンピュータ端末システムと安全デバイスの間の最初の通信であることを意味し、次いで同期化ユニット7160は、コンピュータ端末システムのローカルの格納スペースを安全デバイスへマッピングし、かつ第1ビットマップおよび第2ビットマップを生成する。本実施形態において、安全デバイス上の第2ビットマップは、最初に構築され、次いでコンピュータ端末システムへ同期化して、コンピュータ端末システムは第1ビットマップとして保存する。
更新ユニット7150が第1ビットマップ内の宛先アドレスに対応するビットを更新すると、同期化ユニット7160は、更新された第1ビットマップを安全デバイスへ送信し、次いで同ビットマップは第2ビットマップとして保存される。
本実施形態において、安全デバイスは、遠隔の格納デバイスであり、かつ多数のコンピュータ端末システム間で共有することができる。ハードウェア命令は、ハードウェアポート入出力命令である。
さらに、上述したデータの安全読み出し方法に対応して、本開示の第13実施形態に従って、データの安全読み出しデバイスが提供される。図18を参照すると、データの安全読み出しデバイス8100は、受信ユニット8110、命令解析ユニット8120、命令修正ユニット8130および送信ユニット8140を含む。受信ユニット8110は命令解析ユニット8120と結合され、命令解析ユニット8120もそれぞれ命令修正ユニット8130および送信ユニット8140と結合され、命令修正ユニット8130も送信ユニット8140と結合される。送信ユニット8140は、ハードウェア層8200と結合される。
受信ユニット8110はハードウェア命令を受信するように適合され、ハードウェア命令は本実施形態においてハードウェアマッピング層から得られる。命令解析ユニット8120は、ハードウェア命令を解析しかつハードウェア命令が読み出し命令であるかどうかを決定するように適合され、ハードウェア命令が読み出し命令である場合、命令解析ユニット8120も、読み出し命令の送信元アドレスを取得しかつ送信元アドレスが安全デバイス上のアドレスであるかどうかを決定する。ハードウェア命令が読み出し命令でなくまたは送信元アドレスが安全デバイス上のアドレスである場合、命令解析ユニット8120は、ハードウェア命令を送信ユニット8140へ送信する。送信元アドレスが安全デバイス上のアドレスでない場合、命令修正ユニット8130は、ビットマップを調べ、かつビットマップのデータに従って読み出し命令の読み出しアドレスを修正する。上述したビットマップと同様に、本実施形態におけるビットマップは、ローカルの格納アドレスのデータが安全デバイス上へ保存またはデータダンプされているか否かを表すために用いられる。特に、命令修正ユニット8130は、第1ビットマップ内の送信元アドレスにおけるセクタに対応するビットを検索する。「ビット」データが1を示す場合、データダンプが実行されていることを意味し、「ビット」データが0を示す場合、データダンプが実行されていないことを意味する。データダンプが実行されている場合、命令修正ユニット8130は、送信元アドレス(または読み出しアドレス)を対応するデータ・ダンプ・アドレスへ修正し、かつ修正されたハードウェア命令を送信ユニット8140へ送信する。
さらに、データの安全読み出しデバイスは、同期化ユニット8150も含むことができる。同期化ユニット8150は、命令修正ユニット8130と結合されるが、コンピュータ端末システムと安全デバイスの間の通信を確立しかつコンピュータ端末システムと安全デバイスの間でビットマップを同期化させるように適合される。特に、コンピュータ端末システムが始動すると、同期化ユニット8150は、コンピュータ端末システムと安全デバイスの間の通信を確立し、かつ安全デバイスの第2ビットマップをコンピュータ端末システムへ同期化させ、同ビットマップは、第1ビットマップとしてかつ命令修正ユニット8130によって用いられるように保存される。
本実施形態において、安全デバイスは、多数のコンピュータ端末システム間で共有することができる遠隔の格納デバイスである。本開示の別の実施形態において、安全デバイスは、ローカルの格納デバイスとすることができる。
セキュリティ層に用いられる上述した方法が、オペレーティング・システム・カーネル層からハードウェア層までの種々の層に用いることもできることを、当業者は理解するはずである。種々の修正形態は、異なる層を選択するように構成されて、本開示の趣旨の範囲から逸脱せずに本開示によって提供された上述した方法またはデバイスを実装することができる。
本開示において提供されたデータの安全格納方法およびデバイスが、上述した実施形態において詳細に説明され、従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち1.データの安全格納方法が、十分なデータダンプである命令レベルのデータダンプを達成し、かつコンピュータ端末システムの十分な操作時間中に十分なデータダンプに基づいてデータの安全格納を達成し、一方では、たとえトロイの木馬または悪意のあるツールが秘密情報を取得したとしても、これらは盗み出されたデータを保存することができず、これによりデータが常にセキュリティゾーン内にあるまたは制御下にあることを保証し、他方では、秘密情報または秘密データがローカルに保存されず、これにより秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、2.ハードウェア命令をハードウェアマッピング層から受信することによって、命令を100%スクリーニングすることができ、これによりさらにデータセキュリティを改善する、ことを有する。
本開示において提供されたデータの安全読み出し方法およびデバイスが、上述した実施形態において詳細に説明され、従来の技術と比較すると、本方法および本デバイスは次の利点、すなわち1.データの安全格納方法に合わせてデータの安全読み出し方法が、全データがセキュリティゾーン内において制御下にあること、かつダンプされたデータをアクセスするまたは読み出すことができることを保証し、秘密情報または秘密データがローカルに保存されないので、秘密関連社員が能動的または受動的に秘密を漏洩することを防止する、2.安全デバイスが遠隔の格納デバイスであるとき、多数の端末によって共有することができ、これにより安全デバイスのスペース利用を改善する、ことを有する。
本開示の別の実施形態において、セキュリティ層に用いられた上述した方法は、オペレーティングシステムの最下層からハードウェア層の上位層までの種々の層にも実装することができる。種々の修正形態が、異なる層を選択するように構成されて、本開示の趣旨の範囲から逸脱せずに本開示の実施形態において提供された上述した方法またはデバイスを実装することができることを、当業者は理解するはずである。
上述した実施形態は、当業者に本開示の趣旨をより良好に理解させるために用いられる本開示の具体的な実施形態にすぎないが、本開示の保護の範囲は、具体的な実施形態の具体的な説明に限定すべきではなく、種々の修正形態が、本開示の趣旨の範囲から逸脱せずに、当業者によって本開示の具体的な実施形態へ構成することができる。

Claims (10)

  1. 遠隔の格納デバイスである安全デバイスに通信可能に接続されるコンピュータ端末システムが実行する方法であって、
    前記コンピュータ端末システムは、ファイルもしくはデータの編集操作、保存操作または送信操作を提供できる機器であり、
    スケジューリング予定である命令セットによりCPU命令は格納命令かどうか判断し、
    ここで、CPU命令は、CPUが実行しようとする命令であり、
    前記CPU命令が格納命令である場合、前記格納命令のうちローカルの格納アドレスを指す宛先アドレスを、前記安全デバイス上の対応する格納アドレスへ修正し、それゆえに修正された格納命令を獲得し、その後、第1ビットマップ内の前記宛先アドレスに対応するビットデータを更新し、それゆえに更新された第1ビットマップを獲得し;
    前記修正された格納命令をCPUへ転送すること
    を含み、
    前記第1ビットマップは、ビット単位のマップであり、1つのビットは1つのセクタを表し、ビットのデータは、前記ローカルの格納デバイスの対応するセクタが前記安全デバイスの格納スペース上へ格納されるか否かを表すものであり、
    前記修正された格納命令の宛先アドレスは前記安全デバイスを指すアドレスであって、ローカルアドレスではない、データの安全格納方法。
  2. 前記第1ビットマップを更新した後に、
    前記更新された第1ビットマップを前記安全デバイスへ送信し、前記送信された第1ビットマップは、第2ビットマップとして前記安全デバイスに保存される、請求項に記載のデータの安全格納方法。
  3. CPU命令を受信する前に、
    前記コンピュータ端末システムと前記安全デバイスの間の通信を確立し;、
    前記安全デバイス上の第2ビットマップが、前記コンピュータ端末システムへ送信されると、送信された第2ビットマップを前記コンピュータ端末システムの第1ビットマップとして保存する、請求項に記載のデータの安全格納方法。
  4. 前記コンピュータ端末システムと前記安全デバイスの間の最初の通信である場合、前記安全デバイス上に第2ビットマップが構築され、前記コンピュータ端末システムへ送信され、コンピュータ端末システムは送信された第2ビットマップを第1ビットマップとして保存する、請求項に記載のデータの安全格納方法。
  5. 前記CPU命令は、ハードウェアポート入出力命令である、請求項1に記載のデータの安全格納方法。
  6. 前記安全デバイスは複数のコンピュータ端末システムによって共有される、請求項1に記載のデータの安全格納方法。
  7. 遠隔の格納デバイスである安全デバイスに通信可能に接続されるコンピュータ端末システムであって、
    前記コンピュータ端末システムは、ファイルもしくはデータの編集操作、保存操作または送信操作を提供できる機器であり、
    命令解析ユニットと、命令修正ユニットと、更新ユニットと、送信ユニットとを含み、
    前記命令解析ユニットは、前記命令修正ユニットおよび前記送信ユニットと結合され、前記命令修正ユニットは、前記更新ユニットと結合され、前記送信ユニットは、前記命令修正ユニットと結合され、
    前記命令解析ユニットは、スケジューリング予定である命令セットによりCPU命令は格納命令かどうか判断するように適合されており、
    ここで、CPU命令は、CPUが実行しようとする命令であり、
    前記命令修正ユニットは、前記CPU命令が格納命令である場合、前記格納命令のうちローカルの格納アドレスを指す宛先アドレスを、前記安全デバイス上の対応する格納アドレスへ修正し、それゆえに修正された格納命令を獲得するように適合されおり、
    前記更新ユニットは、第1ビットマップ内の前記宛先アドレスに対応するビットデータを更新し、それゆえに更新された第1ビットマップを獲得するように適合されおり、
    前記送信ユニットは、前記修正された格納命令をCPUへ転送するように適合されており、
    前記第1ビットマップは、ビット単位のマップであり、1つのビットは1つのセクタを表し、ビットのデータは、前記ローカルの格納デバイスの対応するセクタが前記安全デバイスの格納スペース上へ格納されるか否かを表すものであり、
    前記修正された格納命令の宛先アドレスは前記安全デバイスを指すアドレスであって、ローカルアドレスではない、コンピュータ端末システム。
  8. 前記更新ユニットと結合された同期化ユニットであって、前記コンピュータ端末システムと前記安全デバイスの間の通信を確立し、かつ前記第1ビットマップを前記コンピュータ端末システムと前記安全デバイスの間で同期化させるように適合された同期化ユニットをさらに備える、請求項に記載のコンピュータ端末システム。
  9. 前記安全デバイスは複数のコンピュータ端末システムによって共有される、請求項に記載のコンピュータ端末システム。
  10. 請求項1に記載の方法をコンピュータに実行させるコンピュータプログラム。
JP2014506714A 2011-04-29 2011-04-29 安全なデータ格納方法およびデバイス Expired - Fee Related JP6255336B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/073493 WO2012145916A1 (zh) 2011-04-29 2011-04-29 数据安全存储方法及装置

Publications (2)

Publication Number Publication Date
JP2014517376A JP2014517376A (ja) 2014-07-17
JP6255336B2 true JP6255336B2 (ja) 2017-12-27

Family

ID=47071568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014506714A Expired - Fee Related JP6255336B2 (ja) 2011-04-29 2011-04-29 安全なデータ格納方法およびデバイス

Country Status (4)

Country Link
US (1) US9330266B2 (ja)
JP (1) JP6255336B2 (ja)
CN (1) CN103329141B (ja)
WO (1) WO2012145916A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679039B (zh) * 2012-09-06 2016-11-09 中天安泰(北京)信息技术有限公司 数据安全存储方法及装置
JP5801273B2 (ja) * 2012-09-27 2015-10-28 Kddi株式会社 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP5990115B2 (ja) * 2013-03-01 2016-09-07 株式会社Kddi研究所 記憶装置、アクセスパターンの秘匿方法およびプログラム
CN103235917A (zh) * 2013-03-28 2013-08-07 东莞宇龙通信科技有限公司 应用保护的方法及装置
CN103942499B (zh) * 2014-03-04 2017-01-11 中天安泰(北京)信息技术有限公司 基于移动存储器的数据黑洞处理方法及移动存储器
CN103942492B (zh) * 2014-03-04 2016-09-21 中天安泰(北京)信息技术有限公司 单机版数据黑洞处理方法及计算设备
JP6745174B2 (ja) * 2016-09-09 2020-08-26 株式会社日立産機システム コントローラ及びコントロール管理システム

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU601328B2 (en) * 1988-05-26 1990-09-06 Digital Equipment Corporation Temporary state preservation for a distributed file service
JPH02146625A (ja) * 1988-11-29 1990-06-05 Nec Corp レジスタ個数の拡張方式
JPH04168546A (ja) * 1990-10-31 1992-06-16 Hokkaido Nippon Denki Software Kk 計算機システムにおけるメモリ制御方式
US6735631B1 (en) * 1998-02-10 2004-05-11 Sprint Communications Company, L.P. Method and system for networking redirecting
US6990481B1 (en) * 2000-02-25 2006-01-24 Coraid, Inc. System and method for content management over network storage devices
US6725394B1 (en) * 2000-10-02 2004-04-20 Quantum Corporation Media library with failover capability
JP4723077B2 (ja) * 2000-11-13 2011-07-13 沖電気工業株式会社 アドレス変換機能付き通信装置およびマルチメディア通信方法
CN1373402A (zh) 2001-02-28 2002-10-09 廖瑞民 硬盘数据保全复原装置
US20020194378A1 (en) * 2001-04-05 2002-12-19 George Foti System and method of hiding an internet protocol (IP) address of an IP terminal during a multimedia session
TWI308306B (en) * 2001-07-09 2009-04-01 Matsushita Electric Ind Co Ltd Digital work protection system, record/playback device, recording medium device, and model change device
US20030149755A1 (en) * 2002-02-06 2003-08-07 Emek Sadot Client-controlled load balancer
US6842446B2 (en) * 2002-04-19 2005-01-11 Sprint Communications Company L.P. Method and system for increasing data rate in wireless communications through aggregation of data sessions
CN1230744C (zh) 2002-08-16 2005-12-07 华为技术有限公司 一种嵌入式系统软件补丁的实现和控制方法
US7441046B2 (en) * 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
US7886287B1 (en) 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
US7792300B1 (en) * 2003-09-30 2010-09-07 Oracle America, Inc. Method and apparatus for re-encrypting data in a transaction-based secure storage system
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
JP4385215B2 (ja) * 2003-10-21 2009-12-16 日本電気株式会社 スナップショットシミュレーション機能を有するディスクアレイ装置
US20050261857A1 (en) * 2004-05-21 2005-11-24 Clark Jones System and method for linking and loading compiled pattern data
US7747980B2 (en) * 2004-06-08 2010-06-29 Covia Labs, Inc. Method and system for specifying device interoperability source specifying renditions data and code for interoperable device team
JP2005352535A (ja) * 2004-06-08 2005-12-22 Ark Joho Systems:Kk データを保護する方法
EP1684151A1 (en) * 2005-01-20 2006-07-26 Grant Rothwell William Computer protection against malware affection
WO2006123416A1 (ja) * 2005-05-19 2006-11-23 Fujitsu Limited ディスク故障復旧方法及びディスクアレイ装置
US20070016637A1 (en) * 2005-07-18 2007-01-18 Brawn John M Bitmap network masks
JP2007104137A (ja) * 2005-09-30 2007-04-19 Matsushita Electric Ind Co Ltd データ通信装置
CN100507864C (zh) 2006-01-19 2009-07-01 刘文斌 基于立即还原型硬盘保护卡的数据保护及还原方法
JP2007323149A (ja) * 2006-05-30 2007-12-13 Matsushita Electric Ind Co Ltd メモリデータ保護装置及びicカード用lsi
KR100789722B1 (ko) * 2006-09-26 2008-01-02 한국정보보호진흥원 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법
US7941129B2 (en) * 2007-01-11 2011-05-10 At&T Mobility Ii Llc Multi-way messaging with forwarding
US20080222659A1 (en) 2007-03-09 2008-09-11 Microsoft Corporation Abstracting operating environment from operating system
JP2008243138A (ja) * 2007-03-29 2008-10-09 Hitachi Ltd ストレージシステム及びデータ復元方法
JP2009199266A (ja) * 2008-02-20 2009-09-03 Hitachi Ltd データ転送制御装置、データ整合性判定方法及び記憶制御装置
GB2460393B (en) * 2008-02-29 2012-03-28 Advanced Risc Mach Ltd A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry
JP5156518B2 (ja) * 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
CN101477444B (zh) * 2008-12-29 2011-04-20 成都市华为赛门铁克科技有限公司 一种虚拟存储方法和设备
US8037113B2 (en) * 2009-01-20 2011-10-11 Novell, Inc. Techniques for file system searching
JP4707748B2 (ja) * 2009-03-31 2011-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 外部記憶デバイス、外部記憶デバイスに記憶されたデータを処理するための方法、プログラムおよび情報処理装置
CN101872400B (zh) 2009-04-24 2012-10-17 北京中天安泰信息科技有限公司 建立根据计算系统操作请求关联关系判断计算机操作请求安全性的计算机信息安全防护方法
US8140821B1 (en) * 2009-12-18 2012-03-20 Emc Corporation Efficient read/write algorithms and associated mapping for block-level data reduction processes
US8156306B1 (en) * 2009-12-18 2012-04-10 Emc Corporation Systems and methods for using thin provisioning to reclaim space identified by data reduction processes
NO332162B1 (no) * 2009-12-21 2012-07-09 Cisco Systems Int Sarl Anordning og fremgangsmate for a filtrere mediapakker
US8627000B2 (en) * 2010-02-08 2014-01-07 Microsoft Corporation Virtual disk manipulation operations
US9519569B2 (en) * 2010-09-26 2016-12-13 Antaios (Beijing) Information Technology Co., Ltd. Method for constructing data structures and method for describing running states of computer and state transitions thereof
US9275238B2 (en) * 2011-04-29 2016-03-01 Antaios (Beijing) Information Technology Co., Ltd. Method and apparatus for data security reading
KR101659922B1 (ko) * 2012-07-30 2016-09-26 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 솔리드 스테이트 저장 장치를 위한 배드 블록 보상

Also Published As

Publication number Publication date
US9330266B2 (en) 2016-05-03
JP2014517376A (ja) 2014-07-17
CN103329141A (zh) 2013-09-25
CN103329141B (zh) 2017-05-03
WO2012145916A1 (zh) 2012-11-01
US20140053276A1 (en) 2014-02-20

Similar Documents

Publication Publication Date Title
JP6255336B2 (ja) 安全なデータ格納方法およびデバイス
US9275238B2 (en) Method and apparatus for data security reading
CN107977573B (zh) 用于安全的盘访问控制的方法和系统
US11522904B2 (en) Self-healing architecture for resilient computing services
JP2014515858A (ja) 実行中の命令を再結合する方法および装置
JP5065295B2 (ja) 異なる仮想マシン・イメージ間でファイルを共有するための方法、システム、およびコンピュータ読み取り可能媒体
US8127412B2 (en) Network context triggers for activating virtualized computer applications
US20070234337A1 (en) System and method for sanitizing a computer program
WO2015131800A1 (zh) 基于移动存储器的数据黑洞处理方法及移动存储器
CN100454278C (zh) 计算机系统及其i/o端口访问控制方法
US20170132418A1 (en) System and method updating disk encryption software and performing pre-boot compatibility verification
BR112014031586B1 (pt) Sistema para emular um ambiente de execução confiável e midia de armazenamento de computador
CN114710263B (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
JP6250829B2 (ja) データブラックホール処理方法
CN115136133A (zh) 按需代码执行的单次使用执行环境
WO2015131799A1 (zh) 单机版数据黑洞处理方法及计算设备
US10452408B1 (en) System and method for intercepting data flow between a computer process and a file
US20240111857A1 (en) Secure execution of a file on a copy device in a virtualized computing environment
JP2014186592A (ja) 分散ストレージシステム、ノード、データ管理方法、及びプログラム
CN104573498A (zh) 一种可防止操作系统被木马及病毒攻击的方法及设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151127

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20151218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171204

R150 Certificate of patent or registration of utility model

Ref document number: 6255336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees