(57)【特許請求の範囲】
【請求項１】
シングルデータブラックホール処理方法であって、以下を含む：
計算デバイスにはデータブラックホールシステムを配置して、データブラックホールターミナルとなせる；データブラックホールシステムは、計算デバイスが実行中の中間データと実行結果を特定なストレージ位置に保存して、計算デバイスの正常な実行を確保するシステムである；
データブラックホール空間はビルドして、計算デバイスにローカルデータストレージ区域を開くことを含む、当データストレージ区域はデータブラックホールシステムだけにアクセスされる、OS又はアプリレイヤーのソフトウエアにアクセスされない；
計算デバイスのユーザとデータブラックホール空間又は一部空間に対応関係をビルドする；
ユーザがデータブラックホールターミナルを操作することで作成したデータライトを当ユーザが対応するデータブラックホール空間に導く；
ブラックホールストレージエリア以外のローカルストレージデバイスに対するデータパーシスタンス操作を阻止する、ローカルポートで非データブラックホールターミナルに対するデータ出力を阻止する、データブラックホールターミナル又はブラックホール空間に入ったデータはデータブラックホール空間だけに存在することを保証する。
【請求項２】
請求項１に記載されたシングルデータブラックホール処理方法であって、データブラックホールシステムを配置することはデータセキュリティストレージ方法を配置することを含む、ユーザがデータブラックホールターミナルを操作することで作成したデータライトを当ユーザが対応するデータブラックホール空間にリダイレクトして、データセキュリティストレージ方法で実現する、データセキュリティストレージ方法は、
ハードウエア命令を受信する；
当ハードウエア命令はストレージ命令であれば、ストレージ命令の宛先アドレスを当ユーザが対応するデータブラックホール空間のストレージアドレスに改修する；及び
改修後のストレージ命令をハードウエアレイヤーへ送信して実行する；
ことを含む、処理方法。
【請求項３】
請求項２に記載されたシングルデータブラックホール処理方法であって、中に、データブラックホールシステムを配置することはデータセキュリティリード方法を配置することを含む、データセキュリティリード方法は、
ハードウエア命令を受信する；
当ハードウエア命令はリード命令であり、読み取り用のデータがデータブラックホール空間にすでにあれば、リード命令の元アドレスを当ユーザが対応するデータブラックホール空間のストレージアドレスに改修する；
改修後のストレージ命令をハードウエアレイヤーへ送信して実行する；
ことを含む、処理方法。
【請求項４】
請求項２に記載されたシングルデータブラックホール処理方法であって、ここで、データブラックホールシステムを配置することはデータセキュリティリード方法を配置することを含む、データセキュリティリード方法は、
ハードウエア命令を受信する；
当ハードウエア命令はリード命令であり、読み取り用のデータがデータブラックホール空間にすでにあれば、ユーザに一つ選択を提供する：ローカルデータ又はデータブラックホール空間データをリードする、ユーザの選択によりローカルデータ又はデータブラックホール空間データをリードする；
改修後のストレージ命令をハードウエアレイヤーへ送信して実行する；
ことを含む、処理方法。
【請求項５】
請求項４に記載されたシングルデータブラックホール処理方法であって、データブラックホール空間データを読み取ることは、
リード命令の元アドレスを当ユーザが対応するデータブラックホール空間のストレージアドレスに更新する、ことを含む、処理方法。
【請求項６】
請求項３または４に記載されたシングルデータブラックホール処理方法であって、ハードウエア命令を受信することは、
ハードウエアアブストラクトレイヤーのハードウエア命令を受信する、ことを含む、処理方法。
【請求項７】
請求項１に記載されたシングルデータブラックホール処理方法であって、ここで、データブラックホールシステムを配置することはデータセキュリティストレージ方法を配置することを含む、ユーザがデータブラックホールターミナルを操作することで作成したデータライトをユーザが対応するデータブラックホール空間にリダイレクトしてデータセキュリティストレージ方法で実現する、データセキュリティストレージ方法は、
命令実行環境（アドレスレジスタを含む）をキャッシュする、アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスとする；
ディスパッチ待ちマシン命令セグメントを獲得する、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、ストレージ命令であれば、述べたストレージ命令中の宛先アドレスを対応するデータブラックホールのストレージアドレスに改修する；
述べた第一プログラム偏移命令の前に、第二プログラム偏移命令を挿入する、第二アドレスが有る再構築命令セグメントを作成する、第二プログラム偏移命令は命令再構築プラットフォームのエントリアドレスに指す；
述べたアドレスレジスタ中の第一アドレスを第二アドレスへ改修する；及び
述べた命令実行環境に回復する；
ことを含む、処理方法。
【請求項８】
請求項１に記載されたシングルデータブラックホール処理方法であって、ここで、データブラックホールシステムを配置することはデータセキュリティストレージ方法を配置することを含む、ユーザがデータブラックホールターミナルを操作することで作成したデータライトをユーザが対応するデータブラックホール空間にリダイレクトしてデータセキュリティストレージ方法で実現する、データセキュリティストレージ方法は、
命令実行環境をキャッシュする；
第一ストレージ位置に宛先アドレスを読み取る、宛先アドレスによりディスパッチ待ちマシン命令セグメントを獲得する；ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
第一ストレージ位置に第一プログラム偏移命令の宛先アドレスを保存する；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、ストレージ命令であれば、述べたストレージ命令中の宛先アドレスを対応するデータブラックホールのストレージアドレスに改修する；
第一プログラム偏移命令を第二プログラム偏移命令に置換える、第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスへ指す；及び
述べた命令実行環境に回復して、第二アドレスへジャンプして実行を続ける；
ことを含む、処理方法。
【請求項９】
請求項１に記載されたシングルデータブラックホール処理方法であって、データブラックホールシステムを配置することはデータセキュリティストレージ方法を配置することを含む、ユーザがデータブラックホールターミナルを操作することで作成したデータライトをユーザが対応するデータブラックホール空間にリダイレクトしてデータセキュリティストレージ方法で実現する、データセキュリティストレージ方法は、
命令実行環境をキャッシュする；
スタックに保存するプログラム偏移命令のアドレスとパラメタを獲得する、次に実行する命令のアドレスを計算する、当アドレスは第一アドレスである；
第一アドレスによりディスパッチ待ちマシン命令セグメントを獲得する；ここで、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、ストレージ命令であれば、述べたストレージ命令中の宛先アドレスを対応するデータブラックホールのストレージアドレスに改修する；
第一プログラム偏移命令をプッシュ命令に置換える、プッシュ命令中に第一プログラム偏移命令のアドレスとオペランドをレコードする；
プッシュ命令後に第二プログラム偏移命令を加える、第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスへ指す；及び
述べた命令実行環境に回復して、第二アドレスへジャンプして実行を続ける；
ことを含む、処理方法。
【請求項１０】
請求項７に記載されたシングルデータブラックホール処理方法であって、データブラックホールシステムを配置することはデータセキュリティリード方法を配置することを含む、データセキュリティリード方法は、
命令実行環境（アドレスレジスタを含む）をキャッシュする、アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスとする；
ディスパッチ待ちマシン命令セグメントを獲得する、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、リード命令であり、読み取り用のデータがすでにデータブラックホールに保存されていれば、リード命令中の元アドレスを対応するデータブラックホールのストレージアドレスに改修する；
述べた第一プログラム偏移命令の前に、第二プログラム偏移命令を挿入する、第二アドレスが有る再構築命令セグメントを作成する、第二プログラム偏移命令は命令再構築プラットフォームのエントリアドレスに指す；
述べたアドレスレジスタ中の第一アドレスを第二アドレスへ改修する；及び
述べた命令実行環境に回復する；
ことを含む、処理方法。
【請求項１１】
請求項８に記載されたシングルデータブラックホール処理方法であって、データブラックホールシステムを配置することはデータセキュリティリード方法を配置することを含む、データセキュリティリード方法は、
命令実行環境をキャッシュする；
第一ストレージ位置に宛先アドレスを読み取る、宛先アドレスによりディスパッチ待ちマシン命令セグメントを獲得する；ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
第一ストレージ位置に第一プログラム偏移命令の宛先アドレスを保存する；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、リード命令であり、読み取り用のデータがすでにデータブラックホールに保存されていれば、リード命令中の元アドレスを対応するデータブラックホールのストレージアドレスに改修する；
第一プログラム偏移命令を第二プログラム偏移命令に置換える、第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスへ指す；及び
述べた命令実行環境に回復して、第二アドレスへジャンプして実行を続ける；
ことを含む、処理方法。
【請求項１２】
請求項９に記載されたシングルデータブラックホール処理方法であって、データブラックホールシステムを配置することはデータセキュリティスリード方法を配置することを含む、データセキュリティリード方法は、
命令実行環境をキャッシュする；
スタックに保存するプログラム偏移命令のアドレスとパラメタを獲得する、次に実行する命令のアドレスを計算する、当アドレスは第一アドレスである；
第一アドレスによりディスパッチ待ちマシン命令セグメントを獲得する；ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
ディスパッチ待ちマシン命令セグメントの全て命令を分析する、リード命令であり、読み取り用のデータがすでにデータブラックホールに保存されていれば、リード命令中の元アドレスを対応するデータブラックホールのストレージアドレスに改修する；
第一プログラム偏移命令をプッシュ命令に置換える、プッシュ命令中に第一プログラム偏移命令のアドレスとオペランドをレコードする；
プッシュ命令後に第二プログラム偏移命令を増える、第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスへ指す；及び
述べた命令実行環境に回復して、第二アドレスへジャンプして実行を続ける；
ことを含む、処理方法。
【請求項１３】
請求項１に記載されたシングルデータブラックホール処理方法であって、データパーシスタンス操作はデータライトを含む。
【請求項１４】
請求項７〜１２のいずれか一項に記載されたシングルデータブラックホール処理方法であって、ここで、ディスパッチ待ちマシン命令セグメントを獲得することは、
アドレスレジスタからディスパッチ待ちマシン命令アドレスをリードする；
プログラム偏移命令を検索目標として、最初のプログラム偏移命令を探すまでに、述べたマシン命令アドレスが指すマシン命令及び後続命令を検索する、最初偏移命令は第一プログラム偏移命令と呼ぶ；述べたプログラム偏移命令は、マシン命令の実行順番を変えさせるマシン命令を指す；
述べた第一プログラム偏移命令及びその前の全てのディスパッチ待ちマシン命令を一つディスパッチ待ちマシン命令セグメントとする；
ことを含む、処理方法。
【請求項１５】
請求項７〜１２のいずれか一項に記載されたシングルデータブラックホール処理方法であって、ここで、ディスパッチ待ちマシン命令セグメントを獲得する方法は、
アドレスレジスタからディスパッチ待ちマシン命令アドレスをリードする；
プログラム偏移命令を検索目標として、パラメタアドレスが有る最初のプログラム偏移命令を探すまでに、述べたマシン命令アドレスが指すマシン命令及び後続命令を検索する、最初偏移命令は第一プログラム偏移命令と呼ぶ；述べたプログラム偏移命令は、マシン命令の実行順番を変えさせるマシン命令を指す；
述べた第一プログラム偏移命令及びその前の全てのディスパッチ待ちマシン命令を一つディスパッチ待ちマシン命令セグメントとする；
ことを含む、処理方法。
【請求項１６】
シングルデータセキュリティアクセスユニット、及び、計算デバイス中の相互独立なローカルストレージ空間とセキュリティストレージ空間を含む計算デバイスであって、セキュリティストレージ空間はOS及びOSにより上層なソフトウエアに使えられない、シングルデータセキュリティアクセスユニットだけがアクセスできる；
シングルデータセキュリティアクセスユニットは、
受信ユニット、ハードウエア命令を受信することに適する；
命令分析ユニット、述べたハードウエア命令がストレージ命令又はリード命令かどうかを判断して判断信号を作成することに適する、
命令改修ユニット、判断信号により、述べたハードウエア命令はストレージ命令であれば、述べたストレージ命令中の宛先アドレスをセキュリティストレージ空間に対応するストレージアドレスに改修する；述べたハードウエア命令はリード命令であれば、マッピングビットマップにサーチしてビットマップデータにより述べたリード命令中のリードアドレスを改修する、述べたビットマップは、述べたローカルストレージ空間アドレスに対応するデータが、述べたセキュリティストレージ空間にダンプされているか否かを表示するものである；
送信ユニット、改修後のリード又はストレージ命令をハードウエアレイヤーへ送信して実行する、
計算デバイス。
【請求項１７】
請求項１６項に記載された計算デバイスであって、更に
更新ユニットは、命令改修ユニットは述べたストレージ命令を改修する後、ビットマップ中に有る述べた宛先アドレスの対応ビットを更新することに適する、ことを含む、計算デバイス。
【請求項１８】
請求項１６項に記載された計算デバイスであって、更に
暗号化復号化ユニット、述べたセキュリティストレージ空間とカプリィング接合して、セキュリティストレージ空間に進出するデータを暗号化復号化することに適する、ことを含む、計算デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータセキュリティ分野に繋がり、特にシングルデータブラックホール処理方法に関る。
【背景技術】
【０００２】
電子情報セキュリティ分野はシステムセキュリティ、データセキュリティ、デバイスセキュリティを含む3種類サブ分野が有る。
【０００３】
データセキュリティ分野は、以下3種類の技術は利用しデータセキュリティを確保する：
（１）データ内容セキュリティは、データ暗号化復号化技術、ポイントツーポイントデータ暗号化技術を含む、ストレージと伝送過程にデータの不法読みを避けることを確保する；
（２）データセキュリティ移送技術は、不法コピー、プリント及び別の出力を防止することを含む、使用と移送過程中のデータセキュリティを確保する；
（３）ネット阻隔技術は、ネット物理阻隔とネットバリア技術を含む。
【０００４】
関連分析により、コンピュータに対する全て危害は極めて５０％ぐらいまで有効に検出できる；検出技術はカーネルウイルス、トロイ木馬、OS抜け道、システムバックドア及び人工リークに対して能力不足だから、事実に任意計算デバイス（コンピュータ、ノートパソコン、ハンドヘルド通信デバイスなど）には悪意コードが存在可能である。
【０００５】
悪意コードはターミナルシステムに侵入すれば、前記の暗号化技術、コピー防止技術及びネット阻隔技術は無用になる。既存のハック技術はシステム抜け道又はシステムバックドアを利用して前記セキュリティ技術を透過し、システムに悪意コードをインプラントしてユーザデータを取得できる。前記技術は機密人員の主動とパッシブリークを全然防犯できない、例えば、内部人員は携帯ストレージデバイスを利用してイントラネット又はターミナルからダウンロードした資料をストレージする、デバイスを取り出して、内部リークとする；又は例えば、内部人員は直接に計算デバイスを取り出す。
【０００６】
以上のとおり、コピー防止技術は機密情報の不法ストレージされることを保証できない。ネットフィルタ技術は機密情報の失いを確保できない。機密人員は悪意コード又は悪意ツールを利用してリークする、そして、機密デバイス又はストレージメディアをコントロールできずにリークする可能がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的はシングルデータブラックホール処理方法及び計算デバイスを提供し、データセキュリティを上げる。
【課題を解決するための手段】
【０００８】
本発明の一方機能はシングルデータブラックホール処理方法を提供する。以下の機能を含む：計算デバイスにデータブラックホールシステムを配置してデータブラックホールターミナルをなせる；データブラックホールシステムは計算デバイス実行中の中間データと実行結果を特定なストレージ位置に保存して計算デバイスの正常運行を確保する；データブラックホール空間をビルドすることは、計算デバイスにローカルデータストレージ区域を開き、当データ区域はデータブラックホールシステムだけがアクセスできる、OSとアプリケーションはアクセスできないことを含む；計算デバイスのユーザとデータブラックホールの空間又は一部空間に対応関係をビルドする；ユーザがデータブラックホールターミナルに対するデータライト操作はデータブラックホール空間に導く；データブラックホール空間外のストレージデバイスにデータをパーシスタンス操作を阻止する、ローカルポートでデータブラックホール空間外に向くデータ出力を阻止することで、データブラックホールターミナル或いは空間に進入するデータはデータブラックホール空間だけに存在することを保証する。
【０００９】
本発明のもう一方機能は、計算デバイスを提供する、下述の機能を含む：シングルデータセキュリティアクセスユニット、計算デバイスの相互独立のローカルストレージ空間とセキュリティストレージ空間、セキュリティストレージ空間はOS及びOS以上のアプリケーションが使用不可であり、シングルデータセキュリティアクセスユニットだけがアクセスできる；シングルデータセキュリティアクセスユニットはハードウエア命令の受信ユニットである；命令分析ユニットは、ハードウエア命令がストレージ又はリード命令か判断する；命令改修ユニットは、ハードウエア命令がストレージ命令と判断すれば、以上のストレージ命令中の宛先アドレスをセキュリティストレージ空間の対応ストレージアドレスに改修する；ハードウエア命令がリード命令であれば、マッピングビットマップにサーチして、マッピングビットマップによりリード命令のリードアドレスを改修する、ここで、マッピングビットマップはローカルストレージ空間のアドレスの対応データがセキュリティ空間に転送したかどうかを示す；送信ユニットは、改修後のリード又はストレージ命令をハードウエアに送信して実行することに適する。
【００１０】
前記方法とデバイスはデータセキュリティを上げる。具体的に、ブラックホール空間はユーザと対応する。ハッカーは抜け道、バックドア、木馬など悪意コードでデータ権限を取得してからデータのコピー、ストレージ、送信、インターセプトができる。然し、周辺デバイス、ポート、ユーザ、ターミナルに送信するデータをユーザが対応するデータブラックホールに導き、データブラックホール内に完成する。すべてのデータ盗み、インターセプト、出力など操作はデータブラックホール内に実行する。データアクセス権限がある機密人員はデータのプライベート保存、プライベートバックアップ、送信、出力を試すとき、データ処理操作は全てデータブラックホール空間内に完成し、悪意操作を利用するリークができない。
【図面の簡単な説明】
【００１１】
【図１】既存の計算デバイスのシステム階層見取り図である。
【図２】本発明の一つ実施例が提供するランタイム命令再構築方法のフローチャートである。
【図３】本発明の一つ実施例が提供する再構築命令セグメントの作成過程見取り図である。
【図４】本発明の他の実施例の図２が有るステップS102のフローチャートである。
【図５】本発明の他の実施例の実行命令再構築方法のフローチャートであり、アドレス対応テーブルにより再構築後の命令セグメントを保存する
【図６】本発明の他の実施例が提供するランタイム命令再構築方法のフローチャートであり、単独なストレージ位置を開いて第一プログラムの偏移命令宛先アドレスを保存する。
【図７】本発明の他の実施例が提供するランタイム命令再構築方法のフローチャートであり、非固定長の命令集合に対する逆アセンブルとアセンブル処理である。
【図８】本発明の他の実施例の実行命令再構築方法のフローチャートであり、プッシュ命令は第一プログラム偏移命令を置き換える又はレコードする。
【図９ａ】本発明の他の実施例が提供するランタイム命令再構築方法のフローチャートであり、ランタイム命令再構築方法は前記マルチ実行例の特徴を総合する。
【図９ｂ】図９aの再構築方法の、X86系プロセッサでのランタイム操作過程の模式図である。
【図９ｃ】図９aの再構築方法の、X86系プロセッサでのランタイム操作過程の模式図である。
【図９ｄ】図９aの再構築方法の、X86系プロセッサでのランタイム操作過程の模式図である。
【図１０】本発明の一つ実施例が提供するランタイム命令再構築装置結構見取り図である。
【図１１】本発明の他の実施例が提供するランタイム命令再構築装置結構見取り図である。
【図１２】本発明の他の実施例が提供する命令再構築ユニット結構見取り図である。
【図１３】本発明の他の実施例が提供するランタイム命令再構築装置結構見取り図である。
【図１４】本発明の他の実施例が提供するランタイム命令再構築装置結構見取り図である。
【図１５】本発明の一つ実施例中の計算デバイスのシステム階層見取り図である。
【図１６】本発明の一つ実施例中のデータセキュリティアクセス過程の初期化過程見取り図である。
【図１７】本発明の一つ実施例中のビットマップ見取り図である。
【図１８】本発明の一つ実施例が提供するデータセキュリティストレージ方法のフローチャートである。
【図１９】本発明の一つ実施例が提供するデータセキュリティストレージ方法のフローチャートである。
【図２０】本発明の一つ実施例が提供するデータセキュリティストレージ方法のフローチャートである。
【図２１】本発明の一つ実施例が提供するデータセキュリティストレージ方法のフローチャートである。
【図２２】本発明の一つ実施例中のネット環境見取り図である。
【図２３】本発明の一つ実施例が提供するデータセキュリティストレージ装置結構見取り図である。
【図２４】本発明の一つ実施例が提供するデータセキュリティリード装置結構見取り図である。
【図２５】本発明の一つ実施例が提供するデータセキュリティストレージと読み装置結構見取り図である。
【図２６】本発明の一つ実施例が提供するデータセキュリティストレージとリード装置結構見取り図である。
【図２７】本発明の他の実施例が提供するデータブラックホール空間見取り図である。
【図２８】本発明の一つ実施例が提供するデータブラックホール処理方法フローチャートである。
【図２９ａ】本発明の一つ実施例が提供する計算デバイスのアーキテクチャ見取り図であり、中にシングルデータセキュリティストレージとリードの方法を表示する。
【図２９ｂ】本発明の一つ実施例が提供するシングルデータセキュリティストレージとリード装置結構見取り図である。
【図３０】本発明の一つ実施例が提供するシングルデータブラックホール処理方法である。
【発明を実施するための形態】
【００１２】
本発明の目的、技術法案とメリットをもっとはっきりするために、図面を結合し、本発明を詳細に説明する。本文に描写する具体例は僅かに本発明の解釈に適用する、本発明に限定することではない、この状況を理解はずである。
【００１３】
分析
図１は既存の計算デバイスのシステム階層見取り図であり、上から下まで、計算デバイスは：
ユーザインタフェイスレイヤー１０１、アプリレイヤー１０２、OSカーネルレイヤー１０３、ハードウエアマッピングレイヤー１０４、及びハードウエアレイヤー１０５を含む。
【００１４】
ここで、ユーザインタフェイスレイヤー１０１はユーザとデバイスのインタフェイス、ユーザは当レイヤーを利用してデバイス（デバイスの他レイヤー、例えば、アプリレイヤー１０２）と交互する。アプリレイヤー１０２はアプリソフトウエアレイヤーである。
【００１５】
OSカーネルレイヤー１０３は一つのソフトウエアロジックレイヤーであり、通常にいえばソフトウエアデータとソフトウエアコードからなる、インタフェイスレイヤー１０１とアプリレイヤー１０２により、OSカーネルレイヤー１０３のコードは高い権限を持ち、コンピュータシステムの各種ハードウエアとソフトウエア資源を完全操作できる。
【００１６】
ハードウエアマッピングレイヤー１０４はソフトウエアによるロジックレイヤーであり、通常にOSカーネルレイヤーに実行し、カーネルレイヤーと同じ権限を持つ。ハードウエアマッピングレイヤーは主に各種類のハードウエアの操作モードを統一的に上層インタフェイスにマップする、各ハードウエアの特殊性を上層にシールドする。一般的には、ハードウエアマッピングレイヤーはOSカーネルレイヤー１０３に使用されて各種ハードウエアの操作を完成する。
【００１７】
ハードウエアレイヤー１０５はコンピュータシステムの全てハードウエア構成部件である。
【００１８】
データ保存操作を例として以上の計算デバイスのシステムレイヤーの作業過程を説明する。以下を含む：
（１）ユーザインタフェイスレイヤー１０１を利用してユーザは「保存」機能を実行する；
（２）アプリレイヤー１０２は対応コードをコールし、以上のユーザ操作をOSが提供するインタフェイス関数（例えば、Win32プラットフォームのアプリプログラムインタフェイス――Win32  API）に転換する、即ち「保存」操作をOSカーネル１０３が有るAPIコールに転換する。
（３）OSカーネルレイヤー１０３は全てOSインタフェイス関数をハードウエアマッピングレイヤー１０４のインタフェイス関数に転換する；即ち、「保存」操作をハードウエアマッピングレイヤー１０４のインタフェイス関数に転換する。
（４）ハードウエアマッピングレイヤー１０４は全てインタフェイス関数をハードウエア命令コールに転換する。
（５）ハードウエアレイヤー１０５（例えばCPU）は以上のハードウエア命令コールを受信してハードウエア命令を実行する。
【００１９】
悪意コードは当計算デバイスに侵入してから、計算デバイスに欲しいデータを取得できる、データ盗み後の動作は以下モードが有る：
（１）ストレージ動作：目標データ内容をあるストレージ位置に保存する；
（２）伝送動作：盗みデータをネットに指定の宛先アドレスに直接転送する。
別に、以上の計算デバイス又は情報デバイスを使用する人員の内部リーク動作は以下モードが有る：
（１）主動リーク：機密人員は主動コピー、悪意ツールでセキュリティシステムに透過し、木馬インプラントなど手段を利用して機密データを取得してから、リークする；
（２）パッシブリーク：機密人員が使用するパソコン又はストレージメディアが保管不善のために落とす又は不当使用（例えば、機密デバイスはインターネットと直接に接続する）するからリークする。
以上のマルチリーク方式により当計算デバイスのデータセキュリティを保障できない。
【００２０】
発明人の研究により、コンピュータの実行過程、ここで、一つのCPUアドレスレジスタは次に実行するマシン命令アドレスを保存する、例えばPC（プログラムカウンタ）である。当レジスタのデータを獲得し、該データが指すアドレスにより、後続一条又はマルチ実行可能の命令を読取り、ランタイムのマシン命令を獲得する目的が実現できる。
【００２１】
そして、述べた一つ又はマルチマシン命令からなるディスパッチ待ち命令セグメントを改修し（例えば、中に別のプログラム偏移命令を挿入する、本文は命令再構築と呼ぶ）、当命令セグメントが実行終了する前にCPU実行権限をやはり取得し、再度後続一条ディスパッチ待ち命令セグメントを捕獲する、ランタイムのマシン命令を連続捕獲する目的を実現できる。
【００２２】
そして、ディスパッチ待ち命令セグメントを獲得してから中のマシン命令を分析して処理することができる、ランタイム命令捕獲、再構築することだけでなく、予定の目標命令を管理できる。
【００２３】
命令再構築又は命令追跡
前記分析と発見により、本発明の一つ実施例の中があるランタイム命令再構築方法を提供する、当方法が実行する時に再構築プラットフォームと呼ぶ。図２のとおり、当方法S100は以下を含む：
【００２４】
S101、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタを含む。アドレスレジスタは次に実行するマシン命令アドレスを保存する、当アドレスは第一アドレスである；
【００２５】
S102、ディスパッチ待ち命令セグメントを獲得する；ここで、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令（例えば、第一ジャンプ命令）である；
【００２６】
S103、述べた第一プログラム偏移命令の前に第二プログラム偏移命令を挿入し、第二アドレスがある再構築命令セグメントを作成する；述べた第二プログラム偏移命令は命令再構築プラットフォームのエントリアドレスに指す、第二プログラム偏移命令が実行する後に、ステップS101を実行する；
【００２７】
S104、述べたアドレスレジスタ中の第一アドレスを第二アドレスに改修する；及び
【００２８】
S105、述べた命令実行環境に回復する。
【００２９】
ここで、ステップS101が述べた命令実行環境をキャッシュすることは：キャッシュスタックにCPUマシン命令実行関連のレジスタデータをプッシュする、ことを含める。
【００３０】
本発明の他の実施例の中に、命令実行環境をキャッシュ又は保存することは特定的、デフォルト的な別キャッシュデータストラクチャーとアドレスの中に進行できる。
【００３１】
ステップS101中に述べたアドレスレジスタはプログラムカウンタ（PC）である。
【００３２】
ステップS102中に、ディスパッチ待ちマシン命令セグメントの中に一つプログラム偏移命令だけがある、ディスパッチ待ちマシン命令セグメントは述べた第一プログラム偏移命令及びその前の全てディスパッチ待ちマシン命令を含む。
【００３３】
ステップS103中に、述べたディスパッチ待ちマシン命令セグメントの最後一条命令（即ち、第一プログラム偏移命令、JP1と呼ぶ）前に、第二プログラム偏移命令（JP2と呼ぶ）を挿入する、述べたJP2は命令再構築プラットフォームのエントリアドレスに指す、第二アドレス（A”と示す）を含む再構築命令セグメントを作成する。
【００３４】
第二プログラム偏移命令を挿入することは、CPUが述べたディスパッチ待ちマシン命令セグメントを実行する時、JP1に到着する前に、再度述べた命令再構築プラットフォーム実行を始める、それで、命令再構築プラットフォームは下一段のディスパッチ待ちマシン命令を分析続けて、本方法を重複することを利用して全てランタイム命令再構築を完成する。
【００３５】
ステップS105中に、述べた命令実行環境に回復することは以下を含める：
キャッシュスタックから命令実行と関連するのレジスタデータをポップする；アドレスレジスタの中に保存するプログラム偏移命令の宛先アドレスは、すでに第二アドレスA”に改修する、A”をエントリアドレスとする新マシン命令セグメントを作成する。
【００３６】
ステップS105が実行した後、述べた命令実行環境に回復し、命令再構築プラットフォームは一回に実行終了する、CPUは述べた再構築命令セグメントを実行し、即ち、CPUは第二アドレスA”がエントリアドレスとしてマシン命令セグメントの実行を予定する。再構築命令セグメントが第二プログラム偏移命令JP２を実行する時、述べた命令再構築プラットフォームが再びCPUコントロール権限を取得する（即ちステップS101を実行する）、この時、第一プログラム偏移命令の宛先アドレスがすでに取得する、当宛先アドレスが新しい第一アドレスとして、次に再度ステップS10１〜ステップS105を実行する。
【００３７】
本実施例の中に、述べたランタイム命令再構築方法はX86アーキテクチャのCPUに実行する；本発明の他の実施例中に、述べたランタイム命令再構築方法はMIPSプロセッサまたはARMアーキテクチャのプロセッサに実行できる。本分野の普通技術者は、前記方法が計算デバイス中にある任意の別類型の命令プロセスユニットに実行できる、ことを理解できる。
【００３８】
図3を結合して命令再構築過程と再構築命令セグメントの作成過程をもっと詳細に説明する。
【００３９】
図3はディスパッチ待ちマシン命令集合４０１（例えば、すでにメモリにロードされたあるプログラムのマシン命令）を含み、ここで、命令４０１２は第一プログラム偏移命令である、もし命令４０１２の宛先アドレスは変数であれば、先に命令４０１２が命令４０１３に指すと仮定する；第一プログラム偏移命令４０１２以前（４０１２命令を含む）の全てディスパッチ待ちマシン命令はマシン命令セグメント４０１１（唯一なプログラム偏移命令を含む）を構成する。
【００４０】
命令再構築方法が実行する（命令再構築プラットフォームとなる）後、先ず命令実行環境をキャッシュする；次にマシン命令セグメント４０１１を獲得（例えばコピー）する；命令再構築プラットフォームは第一プログラム偏移命令４０１２の前に第二プログラム偏移命令４１１３を挿入する、第二プログラム偏移命令４１１３は再構築プラットフォームに指す、それで命令再構築セグメント４１１１を作成する、命令再構築セグメントのアドレスはA”である；キャッシュされた前記命令実行環境のアドレスレジスタの値AをアドレスA”に改修する；最後に前記命令実行環境に回復する。
【００４１】
命令再構築プラットフォーム４１１の実行が完了する後、CPUはA”アドレスが指した再構築命令セグメントを実行する、第二プログラム偏移命令４１１３の実行に到着する時、命令再構築プラットフォーム４１１が再度CPUコントロール権限を取得する。この時、第一プログラム偏移命令４０１２の宛先アドレス４０１３をすでに作成する、当宛先アドレスが新しい第一アドレスである、命令再構築プラットフォームは当宛先アドレスにより再度ステップS10１〜S105の実行を開始する。ディスパッチ待ちマシン命令を分析続けて、ランタイム命令再構築方法を実現する。
【００４２】
本発明の他の実施例により、図4のように、ステップS102の中に、ディスパッチ待ちマシン命令セグメントの獲得は以下を含む：
【００４３】
S1021、アドレスレジスタ（例えばPC）からディスパッチ待ちマシン命令アドレスを取得する。
【００４４】
S1022, プログラム偏移命令（例えばジャンプ命令）を検索目的として、一番のプログラム偏移命令（第一プログラム偏移命令、例えば、第一ジャンプ命令）を発見するまでに、述べたマシン命令アドレスが指すマシン命令及び後続命令を検索する；述べたプログラム偏移命令はマシン命令順番実行フローを改変できるマシン命令指し、Jumpプログラム偏移命令、Call呼び出す命令、Return返還命令などを含む。
S1023、述べた第一プログラム偏移命令及びその前の全てディスパッチ待ちマシン命令をディスパッチ待ちマシン命令セグメントとして、当マシン命令セグメントを命令再構築プラットフォームに、又は、命令再構築プラットフォームが読み取りできる他のストレージ位置に保存する。
【００４５】
本発明の他の実施例の中に、非プログラム偏移命令(例えば、ライト命令、リード命令等)を検索目標としてディスパッチ待ちマシン命令セグメントを更にフラグメントしてディスパッチ待ちマシン命令セグメントを獲得する。こんな実施例の中に、ディスパッチプログラム偏移命令が実行する後、命令再構築プラットフォームは尚CPUコントロール又は実行権限を獲得することを保証するように、プログラム偏移命令が第二検索目標として、もっと細かいグラニュルのマシン命令セグメントを得ることが必要である。
【００４６】
本発明の他の実施例により、ステップS102とS103の間、述べたランタイム命令再構築方法が以下を含める：
命令集にディスパッチ待ちマシン命令セグメントをマッチすることを利用して目的マシン命令を得る；述べた命令集はX86、MIPSとARM命令集を含む；及び
予定方式により、述べた目標マシン命令を改修する。
【００４７】
ランタイム命令をモニターするだけでなく、別の処理過程もできる、後に関連実施例は詳細に紹介する。
【００４８】
更に、命令再構築方法の効率をアップするために、ステップS102の中には、固定アドレスプログラム偏移命令が指すディスパッチ待ちマシン命令を纏めて獲得できる。
【００４９】
本発明の他の実施例により、別のランタイム命令再構築方法を提供する、当方法S300は以下を含む：
S301、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタを含む、アドレスレジスタは次の実行マシン命令アドレスを保存する、当アドレスは第一アドレス；
S302、ディスパッチ待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である、当プログラム偏移命令はパラメタアドレスプログラム偏移命令となる；
S303、述べた第一プログラム偏移命令の前に、第二プログラム偏移命令を挿入して第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスとなる、即ち、第二プログラム偏移命令を実行する後、ステップS301を実行する；
S304、述べたアドレスレジスタ中の第一アドレスを第二アドレスに改修する；
S305、述べた命令実行環境に回復する。
【００５０】
前の実施例が提供する方法と比べてステップS302は区別がある：ディスパッチ待ちマシン命令セグメントはマルチプログラム偏移命令がある；そしてこのようなプログラム偏移命令がある一条プログラム偏移命令は第一プログラム偏移命令と呼ぶ。
【００５１】
説明する必要があるプログラム偏移命令は、パラメタアドレスプログラム偏移命令とコンスタントプログラム偏移命令の両種類である。コンスタントプログラム偏移命令のジャンプアドレスはコンスタント（イミディエイト）である、パラメタアドレスプログラム偏移命令のパラメタアドレスは通常にプログラム偏移命令前の一条マシン命令を計算してから得る。
【００５２】
類似に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；ディスパッチ待ちマシン命令セグメントは述べた第一プログラム偏移命令及び彼の前の全てディスパッチ待ちマシン命令を含む。
【００５３】
更に、プログラム実行中に作成したマシン命令の重複性が高いから、命令再構築方法の効率を上げて、計算デバイスのコンピューティング資源（例えばCPU資源）を省くために、少量のストレージ空間に再構築命令セグメントを保存することができる。
【００５４】
本発明の他の実施例により、ランタイム命令再構築方法が提供する。図５のように、当方法のS200は以下を含む：
S201、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタ（例えばPCレジスタ）を含む。アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスと呼ぶ；一般的に言えば、命令実行環境はCPUの全てレジスタ（汎用レジスタ、ステイタスレジスタ、アドレスレジスタなど）を含む。
【００５５】
S202、第一アドレスによりアドレス対応テーブルにサーチする；述べたアドレス対応テーブルは第一アドレス（例えばAアドレス）が指すディスパッチ待ちマシン命令セグメントの中に保存された再構築命令セグメントがあるかどうかを示す。アドレス対応テーブルのデータはアドレスペア又は別形式にストレージした関連データができる；
S203、対応レコードがサーチすれば、述べた第一アドレスA（アドレスレジスタの値A）を保存した再構築命令セグメントのアドレス（例えばアドレスA‘）に改修する。
【００５６】
S204、対応レコードが見つからなければ、ディスパッチ待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令（例えば第一ジャンプ命令）である；
S205、述べた第一プログラム偏移命令に前に第二プログラム偏移命令を挿入して第二アドレスがある再構築命令セグメントを作成する；述べた第二プログラム偏移命令は命令再構築プラットフォームのエントリアドレスに指向する、即ち、第二プログラム偏移命令を実行する後、ステップS201を実行する；
S206、述べたアドレスレジスタ中の第一アドレスを第二アドレスに改修する；
S207、述べた命令実行環境に回復する。
【００５７】
更に、ステップS206はほかの内容を含む：第二アドレスA”と第一アドレスAによるアドレスペア（又は一条レコード）がアドレス対応テーブルにビルドする。アドレスA”がある再構築命令セグメントを再構築命令プラットフォームまたは再構築命令プラットフォームがアクセスできるメモリの中に保存して重複利用できる。
【００５８】
本方法はアドレス対応テーブルを利用して計算資源を省き、ランタイム命令再構築の効率を上げる。
【００５９】
前記再構築方法は、一般的にディスパッチ待ちマシン命令セグメント中に必要なプログラム偏移命令を挿入することを利用して完成する、本発明の他の実施例中に別方式を利用して再構築命令セグメントを作成することが完成できる。後に実施例を結合して詳細に紹介する。
【００６０】
本発明の他の実施例により、命令再構築方法が提供する、単独なストレージ位置を開き第一プログラム偏移命令の宛先アドレスを保存する。図６のように、当方法S110は以下を含む：
S111、命令実行環境をキャッシュする；
S112、第一ストレージ位置から宛先アドレスを読み取る、宛先アドレスによりディスパッチ待ち（即ち実行待ち）マシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令（例えば第一ジャンプ命令）である；
S113、第一ストレージ位置に第一プログラム偏移命令の宛先アドレスを保存する；
S114、第一プログラム偏移命令を第二プログラム偏移命令に変えて、第二アドレスがある再構築命令セグメントを作成する；述べた第二プログラム偏移命令は再構築命令プラットフォームが指す、即ち、第二プログラム偏移命令を実行した後、ステップS111を実行する；
S115、述べた命令実行環境に回復する、第二アドレスへジャンプして実行を続ける。
【００６１】
中に、ステップS112が獲得したディスパッチ待ちマシン命令セグメントは以下を含む：
S1121、プログラム偏移命令を検索目標として述べたマシン命令アドレスが指すマシン命令及び後続命令を最初のプログラム偏移命令（第一プログラム偏移命令と呼ぶ）が発見するまで検索する；
S1122、述べた第一プログラム偏移命令及び彼の前の全てディスパッチ待ちマシン命令をディスパッチ待ちマシン命令セグメントとして、命令再構築プラットフォームにまたは再構築命令プラットフォームがアクセスできる別のメモリ位置に保存する。
【００６２】
ステップS113の宛先アドレスはプログラム偏移命令の宛先アドレスパラメタとする、宛先アドレスはイミディエイト又は変数パラメタからなる、イミディエイトの場合値を保存する、変数パラメタの場合彼のアドレス/クォートを保存する。プロセッサがあるプログラム偏移命令を実行するとき、ジャンプ宛先アドレスを計算完了する。
【００６３】
本発明の他の実施例により、命令再構築方法が提供する、非固定長命令集をアセンブルと逆アセンブルする。図7のように、当方法は以下を含む：
S121、命令実行環境をキャッシュする；
S122、第一ストレージ位置から宛先アドレスを読み取る、宛先アドレスによりディスパッチ待ちのマシン命令セクションを獲得する、このマシン命令セクションを逆アセンブルする、逆アセンブル結果を字句アナライザに分析して中にプログラム偏移命令（例えばジャンプ命令）があるかどうかをマッチィングする、ない場合次セクションのディスパッチ待ちマシン命令を獲得する、プログラム偏移命令をマッチィングするまで前記操作を重複する、当プログラム偏移命令は第一プログラム偏移命令となる；ディスパッチ待ちマシン命令セグメントは第一プログラム偏移命令と彼の前の全て命令からなる。
【００６４】
第一ストレージ位置は次に実行するマシン命令アドレスを保存する；
S123、第一ストレージ位置に第一プログラム偏移命令の宛先アドレスを保存する。
【００６５】
S124、第一プログラム偏移命令を第二プログラム偏移命令に変えて第二アドレスの再構築命令セグメントを作成する、述べた第二プログラム偏移命令は再構築命令プラットフォームのエントリアドレスに指向する；本実施例中に、第一プログラム偏移命令と第二プログラム偏移命令はアセンブル命令である；
S125、作成した再構築アセンブルコードをアセンブラーで対応マシンコードを作成する；
S126、述べた命令実行環境に回復する、第二アドレスにジャンプして実行を続ける。
【００６６】
本発明の他の実施例により、命令再構築方法が提供する、第一プログラム偏移命令をプッシュ命令に置き換え、又は、第一プログラム偏移命令をレコードする。図8のように、当方法S130は以下を含む：
S131、命令実行環境をキャッシュする；
S132、ポップ操作でオペランドを獲得する、次に実行する命令アドレスを計算する、当アドレスは第一アドレスとする；プログラム偏移命令（例えばジャンプ命令）をスタックに保存する；
S133、第一アドレスによりディスパッチ待ち/実行マシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令とする；
S134、第一プログラム偏移命令をプッシュ命令に置き換え、プッシュ命令に第一プログラム偏移命令のアドレスとパラメタをレコードする；
S135、プッシュ命令の次に第二プログラム偏移命令を加える、第二プログラム偏移命令がある再構築命令セグメントを作成する；述べた第二プログラム偏移命令は命令再構築プラットフォームのエントリアドレスへ指向する；
S136、述べた命令実行環境に回復する、第二アドレスにジャンプして実行を続ける。
【００６７】
本分野の普通技術人員は理解できる、前記の各実施例が提供する功能又は特徴は実際の要求により同一の実施例に兼ね合せる、ここにその組合を一一に挙げない、次に一つ例を挙げて説明する。
【００６８】
本発明の他の実施例により、命令再構築方法が提供する、図９aのように、以下を含む：
（１）命令実行環境をキャッシュする；述べた命令実行環境は全てCPUレジスタを含む；ポップ操作でオペランドを獲得する、次に実行する命令のアドレス（第０アドレスと呼ぶ）を計算する、第一アドレスの値を第０アドレスに変える；中に、プログラム偏移命令のアドレスとパラメタをスタックに保存する；
（２）第一アドレスによりアドレス対応テーブル（アドレスルックアップテーブルと呼ぶ）にサーチする、サーチした場合、キャッシュした命令実行環境に回復する、検索した対応アドレス（例えばアドレス対応テーブルのアドレスペア）へジャンプして実行を続ける；
（３）見つからなければ、第一アドレスから実行待ちマシン命令セグメントを獲得する、命令セグメントの末はプログラム偏移命令（プログラム偏移命令があるアドレスは第三アドレス）とする。
【００６９】
（４）第一アドレスからマシンコードを逆アセンブルする、逆アセンブル結果を字句アナライザに分析して第三アドレスまでに再構築後のアセンブルコードを作成する；
（５）第三アドレスのコードを処理できるか、第三アドレスのプログラム偏移命令の宛先アドレスが既知数（例えばイミディエイト）とするか判断する、てきれば、第一アドレスの値を第三アドレスの宛先アドレスに設定する、ステップ（３）を再度実行する；
（６）できなければ、作成した再構築アセンブルコードの最後にプッシュ命令を加えて当前第三アドレスの元アドレス位置（第三アドレスの値）とオペランドをレコードする、プッシュ命令後に再構築プラットフォームの頭へジャンプする命令を増える、ステップ（１）はもう一度実行させる；
（７）アセンブラーで作成した再構築アセンブル命令が対応するマシンコードを作成して、再構築アドレス空間に配ったアドレス（第二アドレス）にストレージする、第二アドレスと第０アドレスをアドレスペアとしてアドレス対応テーブルにストレージする；
（８）環境に回復する、第二アドレスへジャンプして実行を続ける。
【００７０】
理解されやすいために、X86アーキテクチャプロセッサはこの実例を実行する方法を説明する、図９ｂ−９ｄを参考して命令再構築の一つ例える過程は以下のとおり：
（１）再構築プラットフォームを開始した後、先に当前命令実行環境をキャッシュする；スタックが保存したプログラム偏移命令のアドレスとパラメタを獲得して次に実行する命令のアドレスを計算する、当アドレスは第０アドレス、第一アドレスの値は第０アドレスに設定する。
【００７１】
（２）第一アドレスによりアドレス対応テーブルにサーチする、ある場合、キャッシュした命令実行環境に回復する、検索した対応アドレスへジャンプして実行を続ける（図９ｂ）；ない場合、以下操作をする（図９ｃ）。
【００７２】
（３）−（６）第一アドレスから、マシンコードを逆アセンブルして、逆アセンブル結果をを字句アナライザに分析して再構築命令を作成する；
アセンブルコードを検索してプログラム偏移命令があるかどうか確認する；
最初のプログラム偏移命令を分析する、ジャンプ宛先アドレスは既知数かどうか判断する、既知数の場合、最初のパラメタアドレスプログラム偏移命令までにサーチを継続する、当プログラム偏移命令は第一プログラム偏移命令と呼ぶ、当命令のアドレスは第三アドレスとする；
作成したアセンブルコード（第一アドレスから第三アドレスまでのマシン命令、第一プログラム偏移命令を含まない）の最後にプッシュ命令を増えて当前第三アドレスの第一ジャンプの元アドレス位置とオペランドをレコードする；
プッシュ命令の後に再構築プラットフォームエントリにジャンプ命令（第二プログラム偏移命令）を増える；
（７）作成したアセンブルコードから対応のマシンコードを作成する、再構築アドレス空間が配ったアドレス（第二アドレス）にストレージする；第二アドレスと第０アドレスをアドレスペアの形式でアドレス対応テーブルにストレージする。
【００７３】
（８）環境に回復する、第二アドレスへジャンプして実行を続ける；
（図９ｄ）プロセッサは第二アドレス命令の実行を開始する、前の再構築待ち命令セグメント中のプログラム偏移命令をプッシュ命令と再構築プラットフォームへジャンプ命令に変える、プッシュ命令の目的は再構築プラットフォームに入力パラメタを提供する。（図９ｄ）第二プログラム偏移命令を実行する時、再構築プラットフォームを再び実行して前記のステップ（１）を進行する、プッシュ命令中に保存したプログラム偏移命令のアドレスとパラメタをビューして次に実行する命令アドレスを計算する、当アドレスは第一アドレスとする。
【００７４】
これからの処理は前記過程を繰り返す。
【００７５】
更に、システムが起動する後にランタイム命令のモニターを実行して、計算デバイスの全てランタイム命令をモニターするために、本発明の他の実施例の中、コンピュータが起動する時のロード命令を改修して元ロード命令が実行する前に本発明が提供する命令再構築プラットフォームをコールして、前記ランタイム命令再構築方法を実行する、ロード命令のジャンプアドレスは既知固定アドレスとするから、命令再構築プラットフォームは事前にアドレス対応テーブルと第一条レコードをビルドできて、そして第一個再構築命令セグメントをビルドできる。
【００７６】
更に、本発明の他の実施例により、コンピュータが読めるメディアを提供する、ここで、述べた読めるメディアにコンピュータが実行できるプログラムコードをストレージする、述べたプログラムコードは前記実施例が提供するランタイム命令再構築方法のステップを実行する。
【００７７】
もっとに、本発明の他の実施例により、コンピュータプログラムを適用する、ここで、述べたコンピュータプログラムは前記実施例が提供するランタイム命令再構築方法のステップを含む。
【００７８】
データセキュリティに対する命令再構築
前記のランタイム命令再構築方法は更にアプリケーションに基礎を提供する。以下の実施例は各種のマシン命令を処理するランタイム命令再構築方法を提供する、ストレージ/読取命令、I/O命令及びネット転送命令を含む：
（１）ストレージ/読取命令はコンピュータシステムが周辺ストレージデバイス（ディスクストレージデバイス、フラッシュデバイス、光記憶デバイスを含むが、これらに限定されない）にストレージ/読取の命令と命令組合である。
【００７９】
（２）I/O命令はコンピュータシステムが周辺デバイスのアドレス空間を操作する全て命令とする、これらの命令は最終に周辺デバイス入力/出力ステイタス、データ、シグナルなどを影響する。周辺デバイスのアドレス空間はI/Oアドレス空間、メモリマップドI/Oデバイスのアドレス空間を含むが、これらに限定されない。
【００８０】
（３）ネットワーク伝送命令は最終的にネットワークデバイスに影響を与える全て命令である、これらの命令は最終的にネットワークデバイスの転送、状態、データ、信号など全て関連特性に影響を与える命令を指します。
【００８１】
中に、ストレージ/リード命令とI/O命令の交点が存在してもよい。
【００８２】
本発明の一つ実施例により、ストレージ/リード命令のランタイム命令再構築方法S400を提供する、以下を含む：
S401、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタを含む、アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスとする；アドレスレジスタは例えばプログラムカウンタPCである；
S402、述べた第一アドレスを利用してアドレス対応テーブルにサーチする；
S403、対応レコードが見つかったら、述べた第一アドレスAを保存された再構築命令セグメントのアドレスA‘に改修する；
S404、見つからなければ、再構築命令セグメントの作成方法は以下を含む：
S4041、ディスパッチ待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；ステップS102と同じである；
S4042、述べたディスパッチ待ちマシン命令セグメントを逆アセンブルして、アセンブル命令セグメントを得る；
S4043、目標アセンブル命令を検索する（目標アセンブル命令を検索目標としてアセンブル命令セグメントに検索する）、述べた目標アセンブル命令はストレージ/リード命令とする；
S4044、検索して述べたセンブル命令セグメントのストレージ/リード命令を見つかったら、ストレージ/リードアドレスをセキュリティデバイス上のアドレスへ改修する；改修方式はローカルアドレス空間とセキュリティストレージデバイスアドレス空間の直接マッピングができる；
S4045、述べた第一プログラム偏移命令JP1の前に第二プログラム偏移命令JP2を挿入する、述べたJP2は命令再構築プラットフォーム（命令再構築方法が実行する時命令再構築プラットフォームと呼ぶ、又は、命令再構築方法が実行するルーチンは再構築プラットフォームと理解する）のエントリアドレスへ指す；
S4046、改修されたアセンブル命令セグメントをアセンブルしてアドレスA”がある再構築マシン命令セグメントを作成する；
S4047、再構築マシン命令セグメントのアドレスA”と第一アドレスAは述べたアドレス対応テーブル中に一条レコード（又はアドレスペア）をビルドする、アドレスA”がある再構築マシン命令セグメントを命令再構築プラットフォームに保存する；
S4048、第一アドレスAを第二アドレスA”へ改修する；
S405、述べた命令実行環境に回復する。
【００８３】
本実施例は逆アセンブルの後に命令処理をすること；他実施例中は逆アセンブルとアセンブルステップを省ける、直接マシン命令を処理する。
【００８４】
ステップS4044の中、ストレージ/リード命令に対して操作する、中の目的と元アドレスを改修してストレージリロケーション/リダイレクトを実現する、データセキュリティを確保する。更に具体的なセキュリティストレージ/リード方法は本発明の以下の実施例中に紹介する。
【００８５】
本発明の一つ実施例により、I/O命令のランタイム命令再構築方法S500を提供する、以下を含む：
S501、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタを含む、アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスとする；
S502、述べた第一アドレスを利用してアドレス対応テーブルにサーチする；
S503、対応レコードが見つかったら、述べた第一アドレスAを保存された再構築命令セグメントのアドレスA`に改修する；
S504、見つからなければ、再構築命令セグメントの作成方法は以下を含む：
S5041、ディスパッチ待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；ステップS102と同じである；
S5042、述べたディスパッチ待ちマシン命令セグメントを逆アセンブルして、アセンブル命令セグメントを得る；
S5043、目標アセンブル命令を検索する（目標アセンブル命令を検索目標としてアセンブル命令セグメントに検索する）、述べた目標アセンブル命令はI/O命令である；
S5044、検索して述べたセンブル命令セグメントにI/O命令を見つかったら、述べたI/O命令中の全て入力命令を阻止する；
S5045、述べた第一プログラム偏移命令JP1の前に第二プログラム偏移命令JP2を挿入する、述べたJP2は命令再構築プラットフォームのエントリアドレスへ指す；
S5046、改修されたアセンブル命令セグメントをアセンブルしてアドレスA”がある再構築マシン命令セグメントを作成する；
S5047、再構築マシン命令セグメントのアドレスA”と第一アドレスAは述べたアドレス対応テーブル中に一条レコード（又はアドレスペア）をビルドする、アドレスA”がある再構築マシン命令セグメントを命令再構築プラットフォームに保存する；
S5048、第一アドレスAを第二アドレスA”へ改修する；
S505、述べた命令実行環境に回復する。
【００８６】
本実施例は逆アセンブルのステップ後に命令を処理する；他実施例中には逆アセンブルとアセンブルステップを省けて、直接にマシン命令を処理する。
【００８７】
ステップS5044中に、I/O命令に対して操作する、述べたI/O命令中の全て入力命令を阻止してローカルハードウエアのライト操作を徹底に阻止する；上の一個実施例のストレージ命令実現過程を結合してストレージ命令以外の入力命令を阻止することを実現できる、計算デバイス中のデータセキュリティが上がれる。
【００８８】
本発明の一つ実施例により、ネット伝送命令に対するランタイム命令再構築方法S600を提供する、以下を含む：
S601、命令実行環境をキャッシュする；述べた命令実行環境はアドレスレジスタを含む、アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスである；
S602、述べた第一アドレスを利用してアドレス対応テーブルにサーチする；
S603、対応レコードが見つかったら、述べた第一アドレスAを保存された再構築命令セグメントのアドレスA’に改修する；
S604、見つからなければ、再構築命令セグメントの作成方法は以下を含む：
S6041、ディスパッチ待ちマシン命令セグメントを獲得する；そのなか、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令とする；ステップS102と同じする；
S6042、述べたディスパッチ待ちマシン命令セグメントを逆アセンブルして、アセンブル命令セグメントを得る；
S6043、目標アセンブル命令を検索する、述べた目標アセンブル命令はネット伝送命令とする；
S6044、検索して述べたセンブル命令セグメントにネット伝送命令を見つかったら、述べたネット伝送命令中の宛先アドレスはが対応する遠地計算デバイスがセキュリティデバイス（例えばホワイトリスト）かどうかを検査する、なければ、述べたネット伝送命令を阻止する；
S6045、述べた第一プログラム偏移命令JP1の前に第二プログラム偏移命令JP2を挿入する、述べたJP2は命令再構築プラットフォームのエントリアドレスへ指す；
S6046、改修されたアセンブル命令セグメントをアセンブルしてアドレスA”がある再構築マシン命令セグメントを作成する；
S6047、再構築マシン命令セグメントのアドレスA”と第一アドレスAにより述べたアドレス対応テーブル中に一条レコード（又はアドレスペア）をビルドする、アドレスA”がある再構築マシン命令セグメントを命令再構築プラットフォームに保存する；
S6048、第一アドレスAを第二アドレスA”へ改修する；
S605、述べた命令実行環境に回復する。
【００８９】
ステップS6044中に、ネット伝送を阻止/拒絶命令するは再構築コード中に一条又はマルチ命令を挿入して伝送命令を「当前操作を取消す命令」又は無効な命令に置き換える、ハードウエアにより決定する。
【００９０】
本実施例は逆アセンブルの後に命令処理をする；他実施例中には逆アセンブルとアセンブルステップを省けて、直接にマシン命令を処理する。
【００９１】
ステップS6044中に、ネット伝送命令に対して操作する、述べたネット伝送命令中の宛先アドレスは対応する遠地計算デバイスがセキュリティデバイスかどうかを検査する；なければ、述べたネット伝送命令を阻止してデータセキュリティ伝送を実現する。
【００９２】
前記マルチ実施例中のアドレス対応テーブルは命令再構築プラットフォームにビルドされてメインテナンスされる、固定長のアレイストラクチャ、又は、可変長のリンクリストストラクチャができる、更に、ほかの適当な他の二値データのストラクチャもできる。本発明の一つ実施例により、テーブル長さが調整でき、テーブルが占用する空間をリリースできる。アドレス対応テーブルをリリース操作はランダムにまたは周期にする。本発明の一つ実施例により、アドレス対応テーブルはレコード作成時間エレメントを含める、レコードを削除して空間をリリースする時、作成時間の長さによりレコードを削除できる。本発明の一つ実施例により、アドレス対応テーブルはレコード使用回数エレメントを含める、レコード削除で空間をリリースする時、作成時間の長さによりレコードを削除する。本発明の一つ実施例により、アドレス対応テーブルはレコード使用回数エレメントを含める、アドレス対応テーブルにサーチするステップ中に、見つかったら当エレメント値を改変する；述べたレコード使用回数エレメントは、レコード削除で空間をリリースする時、使用回数によりレコードを削除することに適用する。
【００９３】
別に、本分野の技術人員は、前記命令再構築方法（即ちランタイム命令再構築方法）はハードウエア又はソフトウエアで実現できる、ことを理解できる：
（１）ソフトウエアで実現すれば、前記方法が対応するステップはソフトウエアコードの形式でコンピュータが読めるメディアに記憶して、ソフトウエアプロダクトとなる。
【００９４】
（２）ハードウエアで実現すれば、前記方法が対応するステップはハードウエアコード（例えばVerilog）で記述する、ファームウエア化（物理設計/レイアウト/ファブフローシートなど過程を経過する）でチップ製品（例えばプロセッサ製品）を作成する。次に詳細に紹介する。
【００９５】
命令再構築装置
本発明の一つ実施例により、前記ランタイム命令再構築方法S100と対応するランタイム命令再構築装置を提供する。図10のように命令再構築装置５００は以下を含む：
命令実行環境キャッシュと回復ユニット５０１は、命令実行環境をキャッシュと回復することに適用する；述べた命令実行環境は、アドレスレジスタを含む、当アドレスレジスタ（例えばプログラムカウンタPC）は次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスである；
命令フェッチユニット５０２は、ユニット５０１が命令実行環境をキャッシュした後、ディスパッチ待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令（例えば第一ジャンプ命令）である；
命令再構築ユニット５０３は、述べたディスパッチ待ちマシン命令セグメントを解析と改修することに適用する、第一プログラム偏移命令の前に第二プログラム偏移命令を挿入して、第二アドレスA”がある命令再構築セグメントを作成する；述べた第二プログラム偏移命令が装置５００へ指す、即ち第二プログラム偏移命令を実行した後、装置５００の命令実行環境キャッシュと回復ユニット５０１は次回処理を始める；及び
アドレス置換えユニット５０４は、述べたキャッシュされた命令実行環境のアドレスレジスタの値を再構築命令セグメントのアドレスに改修することに適用する。
【００９６】
述べた命令実行環境キャッシュと回復ユニット５０１は別々に命令フェッチユニット５０２及びアドレス置換えユニット５０４とカプリィング接合する、述べた命令フェッチユニット５０２、命令再構築ユニット５０３とアドレス置換えユニット５０４は順番にカプリィング接合する。
【００９７】
装置５００の実行過程は以下の通り：
先ず、命令実行環境キャッシュと回復ユニット５０１は命令実行環境をキャッシュする、例えば、キャッシュスタックに命令実行関連するレジスタデータをプッシュする；
次に、述べた命令フェッチユニット５０２はCPUアドレスレジスタ５１１からディスパッチ待ちマシン命令アドレスを読み取る、述べたマシン命令アドレスからマシン命令セグメントをリードする、述べたマシン命令セグメントの最後一条命令はプログラム偏移命令である；
述べた命令フェッチユニット５０２は、CPUアドレスレジスタ５１１からディスパッチ待ちマシン命令アドレスを読み取る、述べたマシン命令アドレスからマシン命令セグメントをリードする、述べたマシン命令セグメントの最後一条命令はプログラム偏移命令とする；
例えば、命令フェッチユニット５０２は、CPUアドレスレジスタ５１１からディスパッチ待ちマシン命令アドレスを読み取る；プログラム偏移命令を検索目標として、第一個プログラム偏移命令（即ち、コントロール遷移命令であり、無条件偏移命令と条件偏移命令を含む）を発見するまでに、述べたマシン命令アドレスが対応するマシン命令を検索する；述べたプログラム偏移命令は例えるJump/JMP命令、Call命令、RET命令などを含む；述べた一番目のプログラム偏移命令及び前の全てマシン命令をディスパッチ待ちマシン命令セグメントとする；当マシン命令セグメントは、装置５００に又は装置５００が読み取るストレージ位置に保存する；
次に、命令再構築ユニット５０３は、獲得したマシン命令セグメントの最後一条命令前に第二プログラム偏移命令を挿入する、第二プログラム偏移命令は装置５００のエントリアドレスに指す、アドレスA”が有る再構築命令セグメントを作成する；
次に、アドレス置換えユニット５０４は、キャッシュした命令実行環境中のアドレスレジスタの値AをアドレスA”に改修する；
最後、命令実行環境キャッシュと回復ユニット５０１は述べた命令実行環境に回復する、例えば、キャッシュスタックから命令が関連するレジスタデータをポップする。
【００９８】
前記ランタイム命令再構築方法S300と対応して、命令フェッチユニット５０２は、最初の非定数アドレスのプログラム偏移命令を第一プログラム偏移命令とする、再構築装置の実行効率を上げる。
【００９９】
前記ランタイム命令再構築方法S200と対応して、本発明の他の実施例により、ランタイム命令再構築装置を提供する、ランタイム命令重複性を十分に利用できて効率をあげ、計算資源を省く。
【０１００】
図１１のように、命令再構築装置６００は以下を含む：
命令実行環境キャッシュと回復ユニット６０１は、命令実行環境をキャッシュと回復することに適用する；述べた命令実行環境はアドレスレジスタを含む、当アドレスレジスタは次に実行するマシン命令のアドレスを保存する、当アドレスは第一アドレスである；
命令フェッチユニット６０２は、ディスパッチ待ちマシン命令セグメントを獲得することに適用する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；
命令再構築ユニット６０３は、述べたディスパッチ待ちマシン命令セグメントを解析と改修することに適用する、以下を含む：第一プログラム偏移命令の前に第二プログラム偏移命令を挿入し、第二アドレスA”がある命令再構築セグメントを作成する；述べた第二プログラム偏移命令が装置６００へ指す、即ち、第二プログラム偏移命令を実行した後、装置６００の命令実行環境のキャッシュと回復ユニット６０１は次回処理を進行する；
アドレス置換えユニット６０４は、述べたキャッシュされた命令実行環境のアドレスレジスタの値を再構築命令セグメントのアドレスに改修することに適用する。
【０１０１】
命令検索ユニット６０５は、述べた第一アドレスを利用してアドレス対応テーブルにサーチする；述べたアドレス対応テーブルは第一アドレスAが指すディスパッチ待ち命令セグメントが保存された再構築命令セグメントが有るかどうかを表す、例えば、アドレス対応テーブルのデータはアドレスペアである；
対応レコードが見つかったら、命令検索ユニット６０５はアドレス置換えユニット６０４をコールして、述べた第一アドレスA（アドレスレジスタ値A）を保存された再構築命令セグメントのアドレスA‘に改修することに適用する；見つからなければ、命令検索ユニットは、第二アドレスA”とアドレスAを利用してアドレス対応テーブルに一条レコードを作成することに適用する。
【０１０２】
述べた命令実行環境キャッシュと回復ユニット６０１は別々に命令検索ユニット６０５及びアドレス置換えユニット６０４とカプリィング接合する、述べた命令検索ユニット６０５は別々に命令フェッチユニット６０２、命令再構築ユニット６０３及びアドレス置換えユニット６０４とカプリィング接合する、述べた命令フェッチユニット６０２、命令再構築ユニット６０３とアドレス置換えユニット６０４は順番にカプリィング接合する。
【０１０３】
装置６００の実行過程は以下のように：
最初に、命令実行環境キャッシュと回復ユニット６０１は、命令実行環境をキャッシュする、例えば例えば、キャッシュスタックに命令実行が関連するレジスタデータをプッシュする；
次に、命令検索ユニット６０５は、キャッシュされた命令実行環境中のアドレスレジスタ値Aを利用して、アドレス対応テーブルにサーチする；
対応レコードが見つかったら、命令検索ユニット６０５はアドレス置換えユニット６０４をコールする、置換えユニット６０４は述べた第一アドレスA（アドレスレジスタ値A）をアドレスA‘に改修する；アドレス置換えユニット６０４は命令実行環境キャッシュと回復ユニット６０１をコールして、述べた命令実行環境に回復する、即ち、キャッシュスタックに命令実行が関連するレジスタデータをポップする、今回の再構築操作が終了する；
対応レコードが見つからなければ、、述べた命令フェッチユニット６０２は、CPUアドレスレジスタにディスパッチ待ち命令アドレスを獲得して述べたマシン命令アドレスにマシン命令セグメントを読み取る、述べたマシン命令セグメントの最後一条命令はプログラム偏移命令である。具体的に、命令フェッチユニット６０２はCPUアドレスレジスタにディスパッチ待ち命令アドレスを読み取る；プログラム偏移命令を検索目標として、最初のプログラム偏移命令を発見するまでに、述べたマシン命令アドレスが対応するマシン命令を検索する；述べたプログラム偏移命令はJump命令とCall命令などを含む；述べた一番目のプログラム偏移命令と彼の前の全てマシン命令は一個ディスパッチ待ちマシン命令セグメントとする；当マシン命令セグメントは装置６００に、又は装置６００がアクセスできるストレージ位置に保存する；
次に、命令再構築ユニット６０３は、述べたマシン命令セグメントの最後一条命令の前に第二プログラム偏移命令を挿入する、述べた第二プログラム偏移命令は装置６００のエントリアドレスへ指す、アドレスA”が有る再構築命令セグメントを作成する；
次に、命令再構築ユニット６０３は、命令検索ユニット６０５にアドレスA”を送信する、命令検索ユニット６０５はアドレスA”とアドレスAを利用して、後続命令重用のために、アドレス対応テーブルに一条レコードを作成する；
次に、ドレス置換えユニット６０４は、キャッシュされた命令実行環境中のアドレスレジスタ値AをアドレスA”に改修する；
最後、命令実行環境キャッシュと回復ユニット６０１は述べた命令実行環境に回復する、即ち、キャッシュスタックに命令実行が関連するレジスタデータをポップする。
【０１０４】
図11を参照続けて、そのなか、命令再構築ユニット６０３は、別ユニットを含める：
命令解析ユニット６０３１は、命令集合を利用して述べたマシン命令セグメントをマッチィングすることに適用する、処理待ち目標マシン命令（目標命令を利用してディスパッチ待ちマシン命令セグメントを検索する）を得る；述べた命令集合はX86,MIPSとARM命令集合が有る；
命令改修ユニット６０３２は、予定の方式により述べた目標マシン命令を改修することに適用する。
【０１０５】
例えば、述べた目標命令はストレージ/リード命令の場合、述べた命令解析ユニット６０３１は、ディスパッチ待ちマシン命令セグメントにストレージ/リード命令を獲得することを担当する、述べた命令改修ユニット６０３２は中のストレージ/リードアドレスをセキュリティストレージデバイスのアドレスに改修する。前記実施例４００の作用と効果は同じだから、余計なことを述べない。
【０１０６】
又は、例えば、述べた目標命令はI/O命令の場合、述べた命令解析ユニット６０３１は、ディスパッチ待ちマシン命令セグメントにI/O命令を獲得することを担当する、述べた命令改修ユニット６０３２は中にのI/O命令を全て阻止する。前記実施例５００の作用と効果は同じだから、余計なことを述べない。
【０１０７】
又は、例えば、述べた目標命令はネット伝送命令の場合、述べた命令解析ユニット６０３１は、ディスパッチ待ちマシン命令セグメントにネット伝送命令を獲得することを担当する、述べた命令改修ユニット６０３２は、述べたネット伝送命令中の宛先アドレスが対応する遠地計算デバイスにセキュリティアドレスが有るデバイスかどうかを検査する；なければ、述べた命令改修ユニットは、述べたネット伝送命令を阻止することに適用する。前記実施例６００の作用と効果は同じだから、余計なことを述べない。
【０１０８】
本発明の他の実施例により、前記命令再構築ユニットは、逆アセンブルユニットとアセンブルユニットを含むことができる。図１２のように、命令再構築ユニット７０３は、順番にカプリィング接合する逆アセンブルユニット７０３１、命令解析ユニット７０３２、命令改修ユニット７０３３とアセンブルユニット７０３４を含む。
【０１０９】
逆アセンブルユニット７０３１は、述べたディスパッチ待ちマシン命令セグメントを解析と改修する前に、述べたディスパッチ待ちマシン命令セグメントを逆アセンブルする、ディスパッチ待ちマシン命令セグメントを作成して命令解析ユニット７０３２へ送信することに適用する。
【０１１０】
アセンブルユニット７０３４は、述べたディスパッチ待ちマシン命令セグメントを解析と改修する後に、再構築のアセンブル命令セグメントをアセンブルして、マシンコードが表示する再構築命令セグメントを得る、命令置換えユニットへ伝送することに適用する。
【０１１１】
この実施例中に、述べた命令解析ユニット７０３２と命令改修ユニット７０３３はディスパッチ待ちマシン命令セグメントを操作するようである、操作方法は前記実施例と同じだから、余計なことを述べない。
【０１１２】
前記ランタイム命令再構築方法S110と対応して、本発明の他の実施例のより、ランタイム命令再構築装置を提供する。図13のように、命令再構築装置８００は以下を含む：
命令実行環境キャッシュと回復ユニット８０１は、命令実行環境をキャッシュと回復することに適用する；
命令フェッチユニット８０２と第一ストレージ位置８０３は、ここで、命令フェッチユニット８０２は、第一ストレージ位置８０３から宛先アドレスを読み取り、宛先アドレスによりディスパッチ/実行待ちマシン命令セグメントを獲得することに適用する；中に、ディスパッチ待ちマシン命令セグメントの最後な一条命令は第一プログラム偏移命令とする；及び
命令再構築ユニット８０４は、第一ストレージ位置８０３に第一プログラム偏移命令の宛先アドレスを保存する、第一プログラム偏移命令を第二プログラム偏移命令に置換え、第二アドレスが有る再構築命令セグメントを作成する、ことに適する；述べた第二プログラム偏移命令が装置８００のエントリアドレスへ指す。
【０１１３】
中に、命令実行環境キャッシュと回復ユニット８０１は、命令再構築ユニット８０４の置換え命令の後に、述べた命令実行環境に回復して第二アドレスへジャンプして実行を続けることに適用する。
【０１１４】
装置８００の実行過程は以下のとおり：
最初に、命令実行環境キャッシュと回復ユニット８０１は命令実行環境をキャッシュする；
次に、命令フェッチユニット８０２は第一ストレージ位置８０３に宛先アドレス（ディスパッチ待ち命令アドレス）を読み取る、宛先アドレスによりディスパッチ待ち命令セグメントを獲得する；そのなか、ディスパッチ待ち命令セグメントの最後一条命令は第一プログラム偏移命令である；
次に、命令再構築ユニット８０４は第一ストレージ位置８０３に第一プログラム偏移命令の宛先アドレスを保存する：（１）イミディエイトの場合、値を保存する、（２）変数パラメタ場合、アドレス/レファレンスを保存する、例えば、floatタイプ変数destination_addressのアドレス又はレファレンスを保存する；
次に、命令再構築ユニット８０４は第一プログラム偏移命令を第二プログラム偏移命令に置き換えて、第二アドレスが有る再構築命令セグメントを作成する；
最後に、命令実行環境キャッシュと回復ユニット８０１は命令実行環境に回復する、第二アドレスへジャンプして実行継続する。
【０１１５】
本発明の他の実施例により、ランタイム命令再構築装置を提供する、前記方法S130と対応して、前記一部実施例が提供する装置の特徴を含む。図1４のように、装置９００は以下を含む：
命令実行環境キャッシュと回復ユニット９０１は、命令実行環境をキャッシュと回復することに適用する；
命令フェッチユニット９０２は、ポップ操作でオペランドを獲得する、オペランドを利用して次に実行する命令のアドレスを計算する、当アドレスは第一アドレスである、ことに適用する；
第一アドレスによりディスパッチ/実行待ち命令セグメントを獲得することに適用する、ここで、ディスパッチ待ち命令セグメントの最後一条命令は第一プログラム偏移命令である。
命令再構築ユニット９０３は、第一プログラム偏移命令をプッシュ命令に置換えて、プッシュ命令中に第一プログラム偏移命令のアドレスとオペランドをレコードする、ことに適用する；
プッシュ命令後に第二プログラム偏移命令を加える、第二アドレスが有る再構築命令セグメントを作成する、ことに適用する；述べた第二プログラム偏移命令が装置９００のエントリアドレスへ指す；
再構築命令セグメントの第二アドレスと第一アドレスによりアドレス対応テーブルに一条レコードを作成することに適用する；
命令検索ユニット９０４は、述べた第一アドレスによりアドレス対応テーブルにサーチすることに適用する；述べたアドレス対応テーブルは、第一アドレスが指すディスパッチ待ち命令セグメントは保存された命令再構築セグメントが有るかに使用される。アドレス対応テーブルのデータはアドレスペアである；
対応レコードが見つかったら、命令検索ユニット９０４は命令実行環境キャッシュと回復ユニット９０１をコールして、キャッシュされた命令実行環境に回復する、探した対応アドレスへジャンプして実行を続ける（今回の再構築操作が終了）、ことに適用する；
対応レコードが見つからなければ、命令再構築ユニット９０３をコールして再構築操作をする。
【０１１６】
中に、命令再構築ユニット９０３は、逆アセンブルユニット９０３１、命令解析ユニット９０３２、命令改修ユニット９０３３とアセンブルユニット９０３４を含める。
【０１１７】
中に、再構築を終了する後、命令再構築ユニット９０３は、命令実行環境キャッシュと回復ユニット９０１をコールして、キャッシュされた命令実行環境に回復する、再構築命令セグメントアドレスへジャンプして実行を続ける（今回の再構築操作が終了）、ことに適用する。
【０１１８】
本発明の他の実施例により、前記逆アセンブルユニット９０３１は、命令フェッチユニット９０２中に有る、ディスパッチ待ち命令セグメントを獲得する時、逆アセンブル操作をする。
【０１１９】
本分野の技術人員は、前記装置実施例の図面中のデータフローアローは、前記実施例中の具体的な操作フローを解釈するために表示する、これらの各ユニット間のデータフローに限られない、ことを理解できる、装置中の各ユニットの間はカプリィング接合関係である。
上にいくつかの実施例を利用して詳細にランタイム命令再構築方法と装置を紹介した、既存技術と比べて以下の長所が有る：
命令再構築方法を利用して命令が実行状態の時、計算デバイスの命令をモニターできる；
アドレス対応テーブルを利用して命令再構築効率を上げて、計算資源を省く；
ストレージとリード命令に対する操作は、中の目標と元アドレスを改修して、ストレージリローケイション/リダイレクトを実現する、データセキュリティを確保する；
I/O命令に対する操作は、徹底にローカルハードウエアのライト操作を阻止するために、述べたI/O命令の入力命令を全て阻止する；ストレージ命令以外の入力命令を阻止することを実現できる、計算デバイス中のデータセキュリティを上げられる。
【０１２０】
ネット伝送命令に対して操作する、述べたネット伝送命令中の宛先アドレスが対応する遠地計算デバイスにセキュリティアドレスが有るかどうかを検査する；なければ、データがセキュリティ伝送するために、述べたネット伝送命令を阻止する、
データセキュリティアクセス過程
図１５は本発明の一つ実施例中の計算デバイスのシステム階層見取り図。
【０１２１】
中に、計算デバイス（例えばコンピュータターミナルシステム）２００は、ユーザインタフェイスレイヤー２０１、アプリレイヤー２０２、OSカーネルレイヤー２０３、ハードウエアマッピングレイヤー２０４、セキュリティレイヤー２０５、及びハードウエアレイヤー２０６を含む。
【０１２２】
中に、ハードウエアレイヤー２０６は更にCPU２０６１、ハードディスク２０６２（ローカルストレージデバイス）及びネットカード２０６３を含む。
【０１２３】
別に、計算デバイス２００とストレージデバイス１０（又はセキュリティストレージデバイスと呼ぶ）はカプリィング接合する。
【０１２４】
本実施例中に、ストレージデバイス１０は遠地ディスクアレーとする、ネットワークを利用してハードウエアレイヤー２０６のカード２０６３を接続して計算デバイス２００とデータを交換する。本発明の他の実施例中に、ストレージデバイス１０は他既知又は未知類型のストレージデバイスができる。
中に、ディスク２０６２は他類型のローカルストレージデバイス、例えばUディスクとオプチカッルディスクなどになれる、ここに例として説明するが、限定する目的を持たない。
【０１２５】
前記階層結構を総合して、本実施例はデータセキュリティアクセス過程を提供する、以下を含む：
S1000、初期化；
S2000、データライト；及び
S2000、データリード。
【０１２６】
図１６を参照して、本発明の一つ実施例により、前記の初期化過程S1000は以下を含む：
S1010、コンピュータターミナルシステム２００とセキュリティストレージデバイス１０の通信をビルドする；
S1020、セキュリティストレージデバイス１０から当前コンピュータターミナルシステム２００に一一マッピングビットマップを同期する、例えばコンピュータターミナルシステム２００のメモリに保存する；述べたマッピングビットマップはローカルストレージデバイスがセキュリティストレージデバイスにデータをダンプしたかどうかを表示する；
S1030、ステップS1020の同期が失敗する場合、セキュリティストレージデバイス１０にビットマップをビルドして初期化する、そしてコンピュータターミナルシステム２００に同期する。
【０１２７】
中に、コンピュータターミナル２００上のビットマップとストレージデバイス１０のビットマップを区分するために、下文に特に説明がない場合、コンピュータターミナルシステム２００上のビットマップは第一マッピングビットマップと呼ぶ、セキュリティストレージデバイス１０上のビットマップは第二マッピングビットマップと呼ぶ（ステップS1030は、先に第二マッピングビットマップをビルドして初期化する、次にコンピュータターミナルシステム２００に同期して第一マッピングビットマップとして保存する）。
【０１２８】
中に、ステップS1020は、ストレージデバイス１０からコンピュータターミナルシステム２００に第二マッピングビットマップを同期する操作が失敗すれば、ストレージデバイス１０とコンピュータターミナルシステム２００の接続は最初の接続と認定する。
中に、ステップS1030は、コンピュータターミナルシステム２００のローカルストレージ空間をストレージデバイス１０へマッピングする、マッピング方法/関係は１セクター（又は他ストレージの基本単位）を単位に一一マッピングする、マッピングビットマップをビルドする、ことを含む。本発明の他の実施例中に、他基本ボリュームを単位としてローカルストレージ空間からストレージデバイス１０までのビットマップをビルドする。次に図面を結合してビットマップに対する詳細説明をする。
【０１２９】
図17は本発明の一つ実施例中のビットマップ見取り図である。ローカルストレージデバイス（例えば図１５のディスク２０６２）上のストレージメディア３０００、ネットワークでローカルストレージデバイスと接続したストレージデバイス１０上のストレージメディア４０００が、図面に有る。
【０１３０】
（１）ビットマップをビルドする過程は以下のとおり：
ストレージメディア４０００中にストレージメディア３０００と同じサイズのストレージ空間４０１０を一一マッピング空間としてビルドする。ストレージ空間４０１０にビットマップ４０２０を保存する、ビットマップ４０２０は一つビットマップである、１ビットは１セクタを示す、１ビットデータ（０又は１）はストレージメディア３０００に有るセクタがすでにストレージメディア４０００のストレージ空間４０１０にダンプすることをマーク/指示する、それでビットマップもダンプテーブルと呼ぶ。ストレージデバイス１０のビットマップ４０２０をビルド終了したらコンピュータターミナルシステム２００に同期する。
【０１３１】
（２）ビットマップを更新する過程は以下のとおり：
例えば、ビットマップ４０２０に、ダンプされたセクタに１をマークし、未ダンプのセクタがマークしない；他実施例中、ダンプセクトと非ダンプセクトが使用するマークが自由に選択できる。アプリ又はOSはデータ（例えばファイル）を保存する時、OS内部のファイルシステムは、ローカルストレージデバイスのストレージメディア３０００に幾つかストレージ空間（例えばセクタ３０４０とセクタ３０５０）を開き、そして当ファイルに配って使用する、そして、ローカルファイル割付テーブルを改変する。ファイルをダンプする（セクタ３０４０とセクタ３０５０へ記入するデータはストレージデバイス１０にダンプされる）時、ストレージメディア４０００上の同位置にセクタ４０４０とセクタ４０５０を割付けて中にダンプデータを保存する、ビットマップ４０２０のセクタ３０４０とセクタ３０５０が対応するビットデータを１にする。
図１５を結合して本発明の一つ実施例により、前記のデータライト過程S2000は更に以下を含む：
S2010、アプリレイヤー２０２はOSカーネルレイヤー２０３のファイルシステムを通過してファイルライト操作請求を送信する、又はOSカーネル２０３は直接にファイルライト操作請求を送信する；或いは
アプリレイヤー２０２は直接にハードウエアマッピングレイヤー２０４にデータライト操作請求を送信する、又はOSカーネルレイヤー２０３は直接にハードウエアマッピングレイヤー２０４にデータライト操作請求を送信する；
S2020、OSカーネルレイヤー２０３はファイルライト請求をハードウエアポート命令（ハードウエア命令）に解析してハードウエアマッピングレイヤー２０４に下がる、ポート命令はライト位置（例えばセクタ）を含む；
注意が払うことが有る、ステップ２０１０は直接にハードウエアマッピングレイヤー２０４にデータライト操作請求を送信すれば、当請求はすでにハードウエアポート命令となる；
S2030、セキュリティレイヤー２０５はハードウエアマッピングレイヤー２０４からハードウエアポート命令を受信する、ポート命令のライト位置（セクタ）をストレージデバイス１０の対応ストレージアドレスへ改修する、そして第一マッピングビットマップを更新する、例えば、述べたセクタが対応するビットデータを１にして当セクタはダンプされたことを示す；セキュリティレイヤー２０５は改修後のポート命令をハードウエアレイヤーへ送信する。
【０１３２】
ライト操作が終了する後、コンピュータターミナルシステム２００にライトされたデータを保存しない、対応データはすでにセキュリティストレージデバイス１０にリダイレクトされてダンプされる。
【０１３３】
注意が払うことが有る、ローカルハードディスクにライト命令はネットディスクのライト命令と違えば、アドレスを改修することだけでなく、ストレージ命令を改修する必要である。
【０１３４】
本発明の他の実施例によりライト操作S2000は以下を含める：
S2040、第一マッピングビットマップをストレージデバイス１０に同期して第二マッピングビットマップとして保存する、コンピュータターミナルシステム２００の第一マッピングビットマップとストレージデバイスの第二マッピングビットマップはリアルタイムで一致する。
本発明の他の実施例に、システム資源を省くためにS2040はローカルコンピュータターミナルシステム２００をシャットダウンする前に統一的に一回に実行する。
【０１３５】
図１５を結合して本発明の一つ実施例により、前記のデータリード過程S3000は更に以下を含む：
S3010、ストレージデバイス１０の第二マッピングビットマップをコンピュータターミナルシステム２００に同期して第一マッピングビットマップとして保存する；
S3020、アプリレイヤー２０２はOSカーネルレイヤー２０３のファイルシステムを通過してファイルリード操作を送信する、又はOSカーネル２０３は直接にファイルリード操作請求を送信する；或いは
アプリレイヤー２０２は直接にハードウエアマッピングレイヤー２０４にデータリード操作請求を送信する、又はOSカーネルレイヤー２０３は直接にハードウエアマッピングレイヤー２０４にデータリード操作請求を送信する；
S3030、OSカーネルレイヤー２０３はファイルリード請求をハードウエアポート命令に解析してハードウエアマッピングレイヤー２０４に下がる、ポート命令はライトアドレス（例えばセクタ）を含む；
S3040、セキュリティレイヤー２０５はハードウエアマッピングレイヤー２０４からデータリード命令を受信する、第一マッピングビットマップにサーチしてリードアドレス（元アドレス）を獲得する、第一マッピングビットマップのビットデータはリードアドレスがダンプアドレス（データダンプされたアドレス）を表示する場合、セキュリティレイヤー２０５はポート命令のリードアドレスをストレージデバイス１０の対応アドレスへ改修する；セキュリティレイヤー２０５は改修後のポート命令をハードウエアレイヤー２０６へ送信する。
【０１３６】
本実施例の長所が、前記リード過程はユーザの既存操作モードを影響しない、セキュリティストレージデバイス（ストレージデバイス１０）のダンプされたデータをリードする操作を実現する。
【０１３７】
ステップS3010中、コンピュータターミナルシステム２００が起動する後、ローカルデータとセキュリティストレージデバイスのデータの一致性を保持するために、ストレージデバイス１０から第二マッピングビットマップをローカルへ同期する。
【０１３８】
本分野の技術者は、前記データのライト、リード過程及び初期化過程には、実際の要求により対応ステップを実行できる、ことを理解できる。
【０１３９】
データセキュリティアクセス方法
前記データのライト、リード過程により、次に本発明が提供するデータセキュリティストレージとリード方法を詳細に説明する。
【０１４０】
本分野の技術者に対して、上に図１５を結合してデータのストレージ、リード過程は理解されるために説明するが、これらに限定されない、本発明の他の実施例中に、計算デバイスの適当なレイヤーに以上説明した各ステップが実行できる。
【０１４１】
本発明の一つ実施例により、データセキュリティストレージ方法を提供する；図１８のとおり、当方法は以下ステップを含む：
S4010、ハードウエア命令を受信する；
S4020、当ハードウエア命令はストレージ命令かどうかを判断する；
S4030、ハードウエア命令はストレージ命令であれば、ストレージ命令の宛先アドレスをセキュリティストレージデバイスの対応ストレージアドレスに改修する；
S4040、改修後のストレージ命令をハードウエアレイヤーへ送信する。
【０１４２】
本発明の一つ実施例により、ステップS4010に述べたハードウエア命令はハードウエアマッピングレイヤーから送信されたハードウエア命令である。ハードウエアマッピングレイヤーから受信するハードウエア命令は、CPU等プロセッサに送信する全てのハードウエア命令（ポート命令）を百パーセントにフィルタできる。
【０１４３】
コンピュータはWindows OSを実行できる、Windows OS中のハードウエアアブストラクトレイヤーHALは図１５のハードウエアマッピングレイヤー２０４である。他の実施例中に、コンピュータターミナルは別のOS、例えばLinux（登録商標）、Unix又はエムべデッドOSなどを実行できる、ハードウエアマッピングレイヤーはLinux（登録商標）、Unix又はエムべデッドOSの対応レイヤーである。
【０１４４】
ステップS4010中に、前記ランタイム命令再構築方法を結合して、ハードウエア命令の受信過程は、ランタイム命令再構築方法（例えばS101-S105）を利用してハードウエア命令を獲得することを含む。別に言えば、ランタイム命令再構築方法でマシン命令を獲得する時、ストレージ命令を処理（類似な方法はS404,S405,S406など）する。ランタイム命令再構築方法で最終計算結果をセキュリティストレージデバイスへリローケイションしてストレージするだけでなく、計算されたメディエイトプロシージャー（OSが作成したメディエイトプロシージャーを含む）を全てセキュリティストレージデバイスへリローケイションしてストレージする；こんな方式でコンピュータターミナルは不完璧となる、さらにコンピュータターミナルの不完璧性を利用して情報リークを防ぐ目的を達成する。
【０１４５】
別に、ステップS4010とS4020の中にハードウエアア命令はX86命令、ARM命令、MIPS命令などがある、ターミナル計算デバイスの内に分析機能を設定できて不同類型のCPU命令を処理できる。
【０１４６】
本発明の他の実施例により、ステップS4030の後に、以下を含める：
S4050、第一マッピングビットマップを更新して、宛先アドレス（セクタ）が第一マッピングビットマップに対応するビットをダンプフラッグ（例えば「１」）に設定する；すでに更新されたマッピングビットマップを述べたセキュリティストレージデバイスへ同期して第二マッピングビットマップとして保存する。
【０１４７】
本実施例中に、ダンプ操作は上層アプリ及びユーザに対して完全に透明となって、既存のコンピュータ操作とアプリシステムのワークフローに影響がない。
【０１４８】
本実施例が提供する方法はコンピュータターミナルシステムに適用するだけでなく、アプリレイヤー、OSカーネルレイヤー、ハードウエアレイヤーを含む任意の計算デバイスとインテリジェントターミナルに適用する、リアルタイムで命令レベルのストレージリローケイション/リダイレクト（ハードウエアストレージ命令に基づくストレージリローケイション/リダイレクト）を実現できる。
【０１４９】
本発明の一つ実施例により、データセキュリティリード方法を提供する；図１９を参照して、当方法S5000は以下を含む：
S5010、ハードウエア命令を受信する；
S5020、当ハードウエア命令はリード命令がどうかを判断する；
S5030、ハードウエア命令がリード命令であれば、リード命令の元アドレス（リードアドレス）を獲得する、第一マッピングビットマップにより、リード命令のリードアドレスを改修して、ダンプデータと非ダンプデータのリードを実現する；及び
S5040、改修後のハードウエア命令をハードウエアレイヤーへ送信する。
【０１５０】
本発明の他の実施例により、ステップS5010の前に、当方法は以下を含める：
ストレージデバイスの第二マッピングビットマップをコンピュータターミナルシステム２００に同期して第一マッピングビットマップとして保存する。
【０１５１】
本発明の他の実施例により、ステップS5010中に、述べたハードウエア命令はハードウエアマッピングレイヤーからとる。
【０１５２】
本発明の他の実施例により、ステップS5010中に、ランタイム命令再構築方法を結合してハードウエア命令の受信過程は、ランタイム命令再構築方法（例えばS101-S105）でハードウエア命令を獲得することを含む。ちなみに、ランタイム命令再構築方法がマシン命令を取る時、リード命令を処理する。
【０１５３】
本発明の他の実施例により、ステップS5020中に、ハードウエア命令がリード命令ではない場合、ハードウエア命令を直接にハードウエアレイヤーへ送信して実行する。
【０１５４】
本発明の他の実施例により、ステップS5030は更に以下の処理に分ける：
S5031、リード命令であれば、リード命令の元アドレスを取って、述べた元アドレスはストレージデバイスのアドレスかどうかを判断する；
S5032、述べた元アドレスはストレージデバイスのアドレスではなければ、第一マッピングビットマップにサーチしてマッピングビットマップのデータによりリード命令のリードアドレスを改修する。
【０１５５】
即ち、ステップS5031中に、当リード命令の元アドレスはストレージアドレスであれば、計算デバイス（例えば図15のセキュリティレイヤー２０５）は再度第一マッピングビットマップにサーチする必要がない、直接にハードウエア命令をハードウエアレイヤーへ送信して実行する。
【０１５６】
本発明の他の実施例により、ネット資源を節約するために、本発明の一部実施例中に、セキュリティデバイス10はマルチターミナルシステムの共有資源として担当できる。
【０１５７】
上に何回もデータセキュリティストレージとリード方法を命令再構築方と結合することを言及する、理解されるために実施例により詳細に紹介する。
【０１５８】
本発明の一つ実施例により、データセキュリティアクセス方法を提供する；図２０の通り、当方法S6000は以下を含む：
S6010、命令実行環境をキャッシュする；
S6011、第一ストレージアドレスから宛先アドレスをリードする、宛先アドレスにより、ディスパッチ/実行待ちマシン命令セグメントを獲得する；中に、ディスパッチ待ちマシン命令セグメントの最後一条命令は第一プログラム偏移命令（第一ジャンプ命令）である；
S6012、第一ストレージアドレスに第一プログラム偏移命令の宛先アドレスを保存する；
S6013、ディスパッチ待ちマシン命令を順番に分析してスアクセス命令を分析して判断する；
S6014、アクセス命令（ストレージ命令とリード命令）であれば：
ストレージ命令に対して、ストレージ命令の宛先アドレスを対応ストレージデバイス（セキュリティストレージデバイス）のストレージアドレスに改修する、そして第一マッピングビットマップを改修する；
リード命令に対して、リード命令の元アドレスを取って、第一マッピングビットマップにサーチする、マッピングビットマップのデータを利用してリード命令のリードアドレスを改修する；
ローカルディスクライト命令とネットディスクライト命令が違えば、またはローカルディスクリード命令とネットディスクリード命令が違えば、アドレスを改修するだけでなく、対応のストレージ命令とリード命令を改修する必要が有る；
S6015、第一プログラム偏移命令を第二プログラム偏移命令に改修して第二アドレスが有る再構築命令セグメントを作成する；述べた第二プログラム偏移命令が命令再構築プラットフォームのエントリアドレスへ指す；
S6016、述べた命令実行環境に回復する；第二アドレスへジャンプして実行を続ける。
【０１５９】
本分野の技術者は、当実施例は説明するためにサンプルとするが、セキュリティリード方法、セキュリティストレージ方法、と命令再構築方法に限定されない、前記が紹介したキュリティリード方法、セキュリティストレージ方法、と命令再構築方法を需要により組合せて使用できる、ことを理解できる。
【０１６０】
データセキュリティ伝送方法
ストレージとリードは一般的にローカルストレージデバイスに対するデータ交換である；伝送は一般的にネットデバイスを利用するデータ交換である。
【０１６１】
図21のように、本発明の一つ実施例により、データセキュリティ伝送方法を提供する；以下を含む：
S7010、ハードウエア命令（例えば、ハードウエアマッピングレイヤーから来る）を受信する；
S7020、当ハードウエア命令を分析してネット伝送命令かどうかを判断する；
S7030、当ハードウエア命令は伝送命令であれば、宛先アドレスをリードする；
S7040、宛先アドレスはセキュリティアドレスかどうかを判断する；
S7050、セキュリティアドレスであれば、ハードウエア命令をハードウエアレイヤーへ送信する；なければ、当命令を拒絶する；
S7060、ハードウエアレイヤーは伝送命令とデータを宛先アドレスが対応するターミナルシステムへ送信する；
S7070、宛先アドレスが対応するターミナルシステムはデータを受信して、データセキュリティストレージ方法（上の実施例が説明した）でデータを保存する。
【０１６２】
本発明の他の実施例により、ステップS7040の中に、宛先アドレスがセキュリティアドレスか判断する方法は以下の通り：
図２２を参照して、セキュリティサーバー８２０はネットでターミナルシステム８００、８０１と接続する、ターミナルシステム８００、８０１は前記実施例が提供するデータセキュリティ伝送方法を配置する時、すでにセキュリティサーバー８２０にレジストレーション操作を完了する。セキュリティサーバー８２０は内部にセキュリティアドレステーブルをメインテナンスして、レジストレーションしたすべてターミナルをレコードする。
【０１６３】
セキュリティアドレステーブルが改変する時、セキュリティサーバー８２０は更新されたセキュリティアドレスを各ターミナルへ自動送信する、ターミナルシステム８００はアプリレイヤー８０１、OSカーネル８０２、セキュリティレイヤー８０３及びハードウエアレイヤー804を含む、セキュリティレイヤー８０３は当セキュリティアドレステーブルのメインテナンスを担当する。
【０１６４】
セキュリティレイヤー８０３は、宛先アドレスはセキュリティアドレステーブルに有るか分析して宛先アドレスはセキュリティアドレスであるか判断する。即ち、ステップS7040中に、宛先アドレスはセキュリティアドレステーブルに在れば、宛先アドレスはセキュリティアドレスである。
【０１６５】
前記セキュリティ伝送方法を実施することにより、木馬又は悪意ツールは機密情報を取得しても情報を伝送できない。
【０１６６】
本発明の一部実施例中には、コンピュータターミナルシステムを本発明が提供する方法の実施主体とするが、然し、任意ハンドヘルドデバイス、インテリジェンスターミナルなどがファイル又はデータを編集、保存或いは伝送する電子デバイスは、本発明が提供するデータセキュリティアクセス及び伝送方法を応用するキャリアーと成れる。
【０１６７】
データセキュリティアクセス装置（ストレージ、読取装置を含む）
前記のデータセキュリティアクセス方法と対応して、本発明の一つ実施例により、データセキュリティストレージ装置を提供する。
【０１６８】
注意が払うことは、混乱を避けるために、本発明中に、（１）データセキュリティストレージ装置がハードウエアの形式でデータセキュリティストレージ方法を実現する装置にさす；（２）セキュリティストレージデバイスは、情報又はデータをダンプするストレージ実体（例えばディスクなど）を指す、ことである。
【０１６９】
図２３を参照して、本実施例が提供するデータセキュリティストレージ装置７１００は、受信ユニット７１１０、命令分析ユニット７１２０、命令改修ユニット７１３０と送信ユニット７１４０を含む；述べた受信ユニット７１１０と命令分析ユニット７１２０はカプリィング接合する、命令分析ユニット７１２０は別々に命令改修ユニット７１３０と送信ユニット７１４０をカプリィング接合する、送信ユニット７１４０は命令改修ユニット７１３０とカプリィング接合する。
【０１７０】
中に、受信ユニット７１１０はハードウエア命令を受信することに適用する、述べたハードウエア命令はハードウエアマッピングレイヤーに送信される；
命令分析ユニット７１２０は、ハードウエア命令を分析して述べたハードウエア命令はストレージ命令かどうかを判断することに適用する：ストレージ命令であれば、命令分析ユニット７１２０はそれを命令改修ユニット７１３０へ送信することに適用する、なければ、命令分析ユニット７１２０は送信ユニット７１４０へ送信することに適用する。
【０１７１】
送信ユニット７１４０は、受信した命令をハードウエアレイヤー７２００へ送信することに適用する。
【０１７２】
更に、本発明の他の実施例により、当データセキュリティストレージ装置は以下を含める：
更新ユニット７１５０と同期ユニット７１６０である、更新ユニット７１５０は命令改修ユニット７１３０とカプリィング接合する、同期ユニット７１６０は更新ユニット７１５０とカプリィング接合する。
【０１７３】
中に、更新ユニット７１５０は、命令改修ユニット７１３０が述べたストレージ命令を改修する後に、マッピングビットマップ中に宛先アドレスが対応するビットを改修することに適用する。本実施例中に、ストレージ命令の宛先アドレスが有るセクタが第一マッピングビットマップ中に対応ビットを「１」に設定して、ダンプ終了を示す。
【０１７４】
中に、同期ユニット７１６０は、ターミナル計算デバイスシステム（ターミナル計算デバイス）と述べたセキュリティストレージデバイスの通信をビルドする、述べたターミナル計算デバイスシステムと述べたセキュリティストレージデバイスの間にマッピングビットマップを同期する、ことに適用する。
【０１７５】
具体的に、ターミナル計算デバイスシステムが起動する時、同期ユニット７１６０は、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイスの通信をビルドする、述べたセキュリティストレージデバイスの第二マッピングビットマップを述べたターミナル計算デバイスシステムに同期する、第一マッピングビットマップとして保存する。
【０１７６】
述べたセキュリティストレージデバイスの第二マッピングビットマップを述べたターミナル計算デバイスシステムに同期することが失敗すれば、セキュリティストレージデバイスとターミナル計算デバイスシステムの最初の通信することが判る、同期ユニット７１６０は、ターミナル計算デバイスシステムのローカルストレージ空間を述べたセキュリティストレージデバイスにマッピングする、第一マッピングビットマップと第二マッピングビットマップをビルドする。たとえば、本実施例中に、先にセキュリティストレージデバイスに第二マッピングビットマップをビルドして、次にローカルに同期して、第一マッピングビットマップとして保存する。
【０１７７】
更新ユニット７１５０は、第一マッピングビットマップの述べた宛先アドレスが対応するビットを更新した後に、同期ユニット７１６０は更新された第一マッピングビットマップをセキュリティストレージデバイスに送信する、セキュリティストレージデバイスの第二マッピングビットマップとして保存する。
【０１７８】
述べたセキュリティストレージデバイスの位置が限定しなくて、遠地ストレージデバイス又はローカルストレージデバイスができる。述べた遠地ストレージデバイスは、一個計算デバイスだけにサーブする、またはマルチ計算デバイスに共有される、ことに適用する。
【０１７９】
本発明の一つ実施例により、述べたハードウエア命令はハードウエアポートI/O命令とすることができる。
【０１８０】
本発明の他の実施例により、前記のデータセキュリティリード方法に対応するデータセキュリティリード装置を提供する、図２４を参照して、データセキュリティリード装置８１００は以下を含む：
受信ユニット８１１０、命令分析ユニット８１２０、命令改修ユニット８１３０及び送信ユニット８１４０を含む；中に、受信ユニット８１１０と命令分析ユニット８１２０はカプリィング接合する、命令分析ユニット８１２０は別々に命令改修ユニット８１３０及び送信ユニット８１４０とカプリィング接合する、命令改修ユニット８１３０と送信ユニット８１４０はカプリィング接合する、送信ユニット８１４０とハードウエアレイヤー８２００はカプリィング接合する。
述べた受信ユニット８１１０はハードウエア命令を受信することに適用する、本実施例中に、述べたハードウエア命令はハードウエアマッピングレイヤーから来る。
【０１８１】
述べた命令分析ユニット８１２０は、述べたハードウエア命令を分析してリード命令かどうかを判断する、ことに適用する、リード命令であれば、リード命令の元アドレスを取って、述べた元アドレスはセキュリティストレージデバイス上のアドレスかどうかを判断する。
【０１８２】
ハードウエア命令がリード命令でなければ、又は述べた元アドレスはセキュリティストレージデバイス上のアドレスであれば、命令分析ユニット８１２０は述べたハードウエア命令を送信ユニット８１４０に送信する。
【０１８３】
述べた元アドレスはセキュリティストレージデバイス上のアドレスではなければ、命令改修ユニット８１３０はマッピングビットマップにサーチする、マッピングビットマップのデータにより述べたリード命令のリードアドレスを改修する。
【０１８４】
前記実施例中のマッピングビットマップと同じで、本実施例中が述べたマッピングビットマップはローカルストレージアドレスのデータを述べたセキュリティストレージデバイスにダンプするかどうかを表示する、ここに余計なことを述べない。例えば、命令改修ユニット８１３０は、元アドレスが有るセクタが第一マッピングビットマップに対応するビットをサーチして、ビットデータが１と成るとき、すでにダンプされたことを示す、ビットデータが０または「NULL」となる時、ダンプされないことを表示する。ダンプがすれば、命令改修ユニット８１３０は、述べた元アドレス（リードアドレス）を対応ダンプアドレスへ改修する、改修後のハードウエア命令を送信ユニット８１４０に送信する。
【０１８５】
更に、本発明の他の実施例により、述べたデータセキュリティストレージデバイスは同期ユニット８１５０を含める、同期ユニット８１５０は命令改修ユニット８１３０とカプリィング接合する。
【０１８６】
同期ユニット８１５０は、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイス間の通信をビルドして、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイス間のマッピングビットマップを同期する、ことに適用する。具体的に、同期ユニット８１５０は、ターミナル計算デバイスシステムが起動する時、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイスの通信をビルドする、そして述べたセキュリティストレージデバイス上の第二マッピングビットマップを述べたターミナル計算デバイスシステムに同期して、命令改修ユニット８１３０が使える第一マッピングビットマップとして保存する。
【０１８７】
本実施例中に、述べたセキュリティストレージデバイスは遠地ストレージデバイスと成れる、述べた遠地ストレージデバイスはマルチターミナル計算デバイスシステムに共有される。本発明の他の実施例に述べたセキュリティストレージデバイスはローカルストレージデバイスと成れる。
【０１８８】
本発明の他の実施例により、前記のデータセキュリティリード装置と前記のデータセキュリティストレージ装置は一つ装置に合弁できる、命令分析ユニットと命令改修ユニットは、ストレージ命令またはリード命令を処理できる、次に例を挙げて説明する。
【０１８９】
本発明の他の実施例により、データセキュリティストレージとリード装置を提供する。図２５のように、データセキュリティストレージとリード装置９１００は以下を含む：
命令実行環境のキャッシュと回復ユニット９１０１は、命令実行環境をキャッシュと回復することに適用する；
命令フェッチユニット９１０２、次に実行する命令のアドレスを取る、ことに適用する、当アドレスは第一アドレスとなる；第一アドレスによりディスパッチ/実行待ちのマシン命令セグメントを獲得することに適用する；中に、ディスパッチ待ちのマシン命令セグメントの最後一条命令は第一プログラム偏移命令である；ディスパッチ待ちのマシン命令セグメントを獲得する具体的な方式はすでに説明されたが、ここに余計なことを述べない；
命令検索ユニット９１０４は、述べた第一アドレスによりアドレス対応テーブルにサーチすることに適用する：
対応レコードが見つかったら、命令検索ユニット９１０４は、命令実行環境のキャッシュと回復ユニット９１０１を呼び出してキャッシュされた命令実行環境に回復する、探した対応アドレスへジャンプして実行を続ける（今回の再構築が完了する）、ことに適用する；
対応レコードが見つからなければ、命令再構築ユニット９１０３を呼び出して再構築操作をする。
【０１９０】
中に、アドレス対応テーブルは、第一アドレスが指すディスパッチ待ち命令セグメントに保存された再構築命令セグメントが有るかどうかを示す、ことに適用する、アドレス対応テーブルのデータはアドレスペアと成る可能である。
【０１９１】
中に、命令再構築ユニット９１０３は更に以下を含む：
命令解析ユニット９１１１は、前記命令分析ユニット７１２０と命令分析ユニット８１２０の有機結合となる、述べたハードウエア命令を分析して述べたディスパッチ/実行待ちマシン命令セグメント中に順番的にハードウエア命令毎にはストレージまたはリード命令かどうかを判断する、ことに適用する；
命令改修ユニット９１１２は、命令解析ユニット９１１１がストレージまたはリード命令を発見すれば、以下に適用する：
ストレージ命令に対して、述べたストレージ命令中の宛先アドレスをセキュリティストレージデバイスが対応するストレージアドレスへ改修する；
リード命令に対して、マッピングビットマップにサーチする、マッピングビットマップの指示データにより述べたリード命令のリードアドレスを改修する；
更新ユニット９１１３は、命令改修ユニット９１１２は述べたストレージ命令を改修するあとに、マッピングビットマップに有る宛先アドレスが対応するビットを改修することに適用する、リードデータはすでにダンプされたことを表示する；
同期ユニット９１１４は、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイス間の通信をビルドする、ターミナル計算デバイスシステムと述べたセキュリティストレージデバイス間のマッピングビットマップを同期する、ことに適用する、。
【０１９２】
命令解析ユニット９１１１、命令改修ユニット９１１２、更新ユニット９１１３、同期ユニット９１１４が実行終わる後、命令再構築ユニット９１０３は、第一プログラム偏移命令をプッシュ命令に置換える、プッシュ命令には第一プログラム偏移命令のアドレスとオペランドをレコードする、ことに適用する；プッシュ命令後に第二プログラム偏移命令を挿入して第二アドレスが有る再構築命令セグメントを作成することに適用する；述べた第二プログラム偏移命令は装置９１００のエントリアドレスへ指す；再構築命令セグメントの第二アドレスと第一アドレスが対応するレコードをアドレス対応テーブルにビルドすることに適用する。
【０１９３】
本発明の他の実施例により、図２６のように、命令再構築ユニット９１０３は命令解析ユニット９１１１、命令改修ユニット９１１２、更新ユニット９１１３、同期ユニット９１１４と同じレベルの並列ユニットとして、彼の機能に余計なことを述べない。図２５を参照続けて、命令再構築ユニット９１０３は、再構築命令セグメントを獲得した後に、命令実行環境のキャッシュと回復ユニット９１０１を呼び出してキャッシュされた命令実行環境に回復することに適用する、そして再構築命令セグメントのアドレスへジャンプして実行を続ける（再構築操作が終わる）。
【０１９４】
本分野の技術者は、当実施例は説明するために挙がるが、データセキュリティリード装置、データセキュリティストレージ装置と命令再構築装置の合併方式に限定しない、前記紹介された各種データセキュリティリード装置、データセキュリティストレージ装置と命令再構築装置は任意の方式で合併できる、ことを理解できる。
【０１９５】
別に、前記セキュリティストレージ方法と装置はクラウド技術と結合して、クラウド内部のデータセキュリティを確保して、クラウド計算の応用と普及を推進することができる。具体的な例は次に紹介する。
【０１９６】
本分野の技術者は、セキュリティレイヤーに実現する前記方法はOSカーネルレイヤーからハードウエアレイヤーまでの各レイヤーに完成できる、ことを理解できる。具体的な機能の実現方法は本発明の精神と範囲を脱出しない。
【０１９７】
前記実施例中に詳細に本発明が提供するセキュリティストレージ方法と装置を紹介した、既存技術と比較して以下長所が有る：
１、データセキュリティストレージ方法は命令レベルのデータダンプ（データセキュリティダンプ）を実現する、これを基礎として、ターミナル計算デバイスシステムの全て実行周期のデータセキュリティストレージ方法を実現する、一方、木馬又は悪意ツールが機密情報を取得してもその情報を保存できない、データはずっとコントロールできる範囲内に存在する,一方、ローカルに任意機密データを保存しないから、機密人員の主動リークとパッシブリークを防止できる；
２、ハードウエアマッピングレイヤーから来たハードウエア命令を受信することはすべて命令を百パーセントにフィルタできる、更にデータセキュリティを上げる。
前記実施例中には本発明が提供するセキュリティリード方法と装置を詳細に紹介する、既存技術と比べて、以下の長所が有る：
１、データセキュリティリード方法とデータセキュリティストレージ方法の結合はずっとコントロールできるセキュリティ範囲内にデータを保存させる、そしてデータをセキュリティ保存（ダンプ）する後に、ダンプされたデータを読み出せることが保証できる；ローカルには任意な機密データを保存しないから、機密人員の主動リールとパッシブリークを防止できる；
２、セキュリティストレージデバイスは遠地ストレージデバイスの場合、マルチターミナルに共有されてセキュリティストレージデバイス空間の使用効率を上げる。
【０１９８】
データブラックホール処理方法
定義：
１、データブラックホールシステムは：計算デバイス実行過程中の中間データと実行結果を特定なストレージ位置に保存して計算デバイスは正常に実行することを確保できるシステムである；
２、データブラックホールターミナルは：データブラックホールシステムを配置する計算デバイスである（例えばコンピュータターミナル）、データブラックホールターミナルは、実行過程が作成する中間データと結果データをすべて特定なストレージ位置にダンプする。
【０１９９】
３、リダイレクトは：コンピュータは実行過程中に、作成した中間データ又は結果をパーシスタンスする要求が有るとき、コンピュータの任意ロジックとコードを改修せずにパーシスタンスのポジションを特定なストレージポジションへ導く処理方法である。
【０２００】
４、データライト：データパーシスタンス操作である。
【０２０１】
５、データブラックホール空間：下文に定義する。
【０２０２】
６、ブラックホールストレージ空間：下文に定義する。
【０２０３】
本発明の一つ実施例により、データセキュリティを挙げるプロシージャA１０を提供する、以下を含む：
A11、ユーザに一つデータブラックホール空間をビルドする、両種モード（任意モードを選択できる）を含む：
A111、ローカル配置モード：データブラックホールターミナルはローカルデータストレージデバイスに一つデータストレージエリアを作る、当データストレージエリアはターミナルデータリダイレクトの目標区域、当データトレージ区域はブラックホールストレージエリアと呼ぶ；
当データストレージエリアは一個データストレージエリアはマルチローカルユーザと対応する、又はマルチストレージエリアはマルチローカルユーザと対応する；
当データストレージエリアはデータブラックホールシステムだけがアクセスできる、ターミナル計算デバイスのOS又はアプリレイヤー（例えばアプリソフトウエア）がアクセスできない；
A112ネット配置モード：ネットのストレージ位置に一つデータストレージエリアを作る、当データストレージエリアはターミナルデータがリダイレクトする目標区域である；
このデータストレージエリアとネットターミナル上のユーザの対応関係は、一一対応することができる；当ストレージエリアもローカルユーザと対応できる。
【０２０４】
前記ローカル配置モード又はネット配置モードでユーザにデータブラックホール空間（ブラックホール空間と呼ぶ）をビルドする。
【０２０５】
A12、ユーザとリダイレクトされたストレージ空間の対応関係をビルドする。
【０２０６】
ターミナルユーザは最初にデータブラックホールターミナルを登録する時、データブラックホールターミナルはユーザ情報によりユーザに対応するデータブラックホールのデータストレージエリアをビルドする。
【０２０７】
A13、ターミナル計算デバイスの全てデータパーシスタンス操作をリダイレクトする。
【０２０８】
本発明の一つ実施例により、ユーザはデータブラックホールターミナルを登録する後、データブラックホールターミナルはデータブラックホールストレージエリアの存在を確認してユーザとブラックホールストレージエリアの対応関係をビルドする、当ユーザのローカルマシン（データブラックホールターミナル）上の全てデータライト操作はデータストレージエリアへリダイレクトされる。
【０２０９】
前記過程A10を使用する後、ブラックホール空間はユーザと対応する、ハッカーは抜け道、バックドア、木馬など悪意コードでデータ権限を取得した後、データをコピー、ダンプ、送信、インターセプトができる。然し、周辺デイバス、ポート、ユーザ、ターミナルが送信するデータは全てデータブラックホール空間（ユーザが対応するブラックホール空間）へ導き、全て操作はデータブラックホール空間内に完成する。それで全てのデータ盗み、インターセプト、出力など作業はデータブラックホール空間内に実現する。機密（データ権限が有る）人員はデータをプライベート保留、バックアップ、送信、出力を試す時、全てデータ操作はデータブラックホール空間内に完成する、悪意操作がリークできない。
【０２１０】
本発明の一つ実施例により、図２７のように、前記過程A10を実行できる計算デバイスはデータブラックホールサーバーと呼ぶ、データブラックホールサーバーはネットで計算ターミナル１（図２７のターミナル１）、計算ターミナル２（図２７のターミナル１）、…、計算ターミナルN（図２７のターミナルN）と接続/カプリィング接合する。データブラックホールサーバーは各ターミナルにデータブラックホールシステムを配置する、各ターミナルはデータブラックホールターミナル（図２７のデータブラックホールターミナル１、ターミナル２、．．．、ターミナルN）を成らせる。
【０２１１】
そして、ブラックホールストレージエリア（図２７のマッピングブロック１、２、．．．、N）はデータブラックホールサーバーに有る。データブラックホール空間はデータブラックホールサーバーのブラックホールストレージエリアと各データブラックホールターミナルのメモリが有る、因みに、全てデータブラックホールターミナルの計算プロシージャと結果データを全てブラックホールストレージに保存する。データブラックホールシステムは計算デバイスの完璧性を破って、計算デバイスの不完璧性により悪意コード又は最高権限が有る機密人員がデータリークにできないデータセキュリティシステムを実現する。
【０２１２】
本発明の一つ実施例により、前記過程１０にデータブラックホール処理方法S90を提供する、図２８のとおり、以下を含む：
S91、計算デバイス（コンピュータ、ハンドヘルドデバイス、インテリジェンスターミナルなど）にデータブラックホールシステムを配置してデータブラックホールターミナルと成る；
S92、データブラックホール空間をビルドする、以下を含む：
１）計算デバイスのローカルに一個データストレージエリア（データブラックホールエリアと呼ぶ）、及びローカルメモリを開く；及び/又は
２）ネットの一個ストレージ位置にデータブラックホール、及びローカルメモリを開く；
S93、計算デバイスのユーザとデータブラックホール空間又は一部空間に対応関係をビルドする、例えば、ユーザがデータブラックホールターミナルを登録する時、ターミナルユーザとデータブラックホール空間の一一対応関係をビルドする；
S94、データブラックホールターミナルはユーザ操作が有るデータライトを当ユーザが対応するデータブラックホール空間にリダイレクトする、例えば、当ユーザが対応するデータブラックホールストレージエリアにリダイレクトする；
S95、ローカルストレージデバイスへデータパーシスタンス操作を阻止する、ローカルポートで非データブラックホールターミナルへデータ出力操作を阻止する、それで、データブラックホールターミナル又はデータブラックホール空間に入力するデータはデータブラックホール空間だけに存在する。
【０２１３】
本発明の他の実施例により、ステップS91とS92の内容――計算デバイスにブラックホールシステムを配置することとユーザにデータブラックホール空間をビルドすることを一つステップで完成できる。
【０２１４】
本発明の他の実施例により、ステップS93はユーザが一回目にブラックホールターミナルを登録する時だけに進行できる、又はユーザが毎回ブラックホールターミナルを登録する時に進行できる。
【０２１５】
本発明の他の実施例により、ステップS93とS94の内容は一つステップで完成できる。即ち：
ユーザが「データライト」を操作するとき、予定の対応方式で、当ユーザの「データライト」操作は全て当ユーザが対応するデータブラックホール空間に導く。
【０２１６】
中に、予定の対応方式は固定対応ができる、例えば、ユーザ毎にブラックホール空間に一部容量のストレージ空間を配る。予定の対応方式は動態対応もできる、例えば、ユーザ毎にブラックホール空間に予定容量のストレージ空間を配る、ユーザのストレージデータは予定容量を超える場合、ユーザにもっと多いストレージ空間を配る。本分野の技術者は、ユーザとストレージ空間の対応方式と配分方式は需要により選択できる。
【０２１７】
本発明の一つ実施例により、前記過程A10によりユーザがデータブラックホールターミナルを登録する後、データブラックホールターミナルはデータブラックホールストレージエリアの存在を確認してユーザとブラックホールストレージエリアの対応関係をビルドする、当ユーザはローカルマシン（データブラックホールターミナル）上の全てデータライトをデータストレージエリアへ導く。そして、全てデータリードはデータのバージョン又はユーザの選択によりストレージエリアのデータ又はローカルデータを読み取る。
【０２１８】
前記実施例中が提供するデータセキュリティ読取方法（例えばS5000）と装置（データセキュリティ読取装置８１００）により、ユーザ選択機能を提供するために適応性改修ができる。
【０２１９】
本発明の一つ実施例により、データセキュリティ読取方法S80は以下を含む：
S8１、ハードウエア命令を受信する；
S82、当命令を分析して読取命令か判断する；
S83、読取命令であれば、マッピングビットマップの指示データの値より、読取るデータがすでにダンプされたら、そして：ユーザに選択操作機会を提供する、ユーザはストレージエリアデータ又はローカルデータを読取ることを選択できる；
ユーザの選択により、ストレージエリアデータ又はローカルデータを読取る、ユーザがストレージエリアデータを読取ることを選択する場合；
S84、改修後のハードウエア命令をハードウエアレイヤーへ送信する。
【０２２０】
前記データセキュリティ読取方法S80の別内容とステップをデータセキュリティ読取方法S5000を参照できる、ここに余計なことを述べない。
【０２２１】
前記と同様に、本実施例のデータセキュリティ読取装置を適用性改修できる、たとえば、データセキュリティ読取装置８１００の命令改修ユニット８１３０をS83の実行操作に適用するように改修する、別ユニットはデータセキュリティ読取装置８１００を参考できる、ここに余計なことを述べない。
【０２２２】
シングルデータブラックホール処理方法
前記ステップS92中に、データブラックホール空間をビルドするためにローカル計算デバイスにデータストレージエリアを開く、当計算デバイスが使用するデータブラックホール処理方法はシングルデータブラックホール処理方法である。
【０２２３】
図２９aの通り、計算デバイス７０は、アプリレイヤー（又はアプリレイヤーが対応するユニット）７１、OSカーネルレイヤー（又はOSカーネルが対応するユニット）７２、ハードウエアマッピングレイヤー（又はハードウエアマッピングレイヤーが対応するユニット）７３、セキュリティレイヤー（又はセキュリティレイヤーが対応するユニット）７４、を含む、これらのレイヤー又はユニットは前の実施例の計算デバイス２００が含むユーザインタフェイスレイヤー２０１、アプリレイヤー２０２、OSカーネルレイヤー２０３、ハードウエアマッピングレイヤー２０４、セキュリティレイヤー２０５及びセキュリティレイヤー２０６と対応する、余計なことを述べない。
【０２２４】
モバイル計算デバイス７０はハードウエアレイヤー７５を含む。
【０２２５】
ハードウエアレイヤー７５はデバイス又はユニット（CPU、ネットカード及びディスク７５a）を含む。
【０２２６】
ディスク７５aは普通ストレージ区域とセキュリティストレージ区域７５a1を含む。
【０２２７】
当セキュリティストレージ区域７５a1は暗号化ティストレージ区域となれる、データアクセスの前後にデータを暗号化復号化することが必要です。
【０２２８】
別に、前記データセキュリティリード方法（例えばS5000）とストレージ方法（例えばS4000）は独立な計算デバイスに応用する時、前記方法はシングルデータセキュリティアクセス方法となる；当独立な計算デバイス（例えばPC）は相互独立なローカルストレージ空間とセキュリティストレージ空間が有る。
【０２２９】
例えば、シングルデータセキュリティストレージ方法は以下を含む：
ハードウエア命令を受信する；
述べたハードウエア命令はストレージ命令すれば、述べたストレージ命令の宛先アドレスを述べた計算デバイス上の対応セキュリティストレージ空間のアドレスへ改修する；及び
改修後のストレージ命令をハードウエアレイヤーへ送信して実行する。
【０２３０】
例えば、シングルデータセキュリティリード方法は以下を含む：
ハードウエア命令を受信する；
述べたハードウエア命令はリード命令であれば、述べたリード命令の元アドレスを取得する、第一マッピングビットマップによりリード命令のリードアドレスを改修する；及び
改修後のストレージ命令をハードウエアレイヤーへ送信して実行する。
【０２３１】
前述実施例中が提供するセキュリティストレージ装置とセキュリティリード装置（例えば、装置７１００、装置８１００、装置９１００）は、需要により不要なユニットを削除して、シングルデータセキュリティアクセス装置となる。
【０２３２】
本発明の一つ実施例により、図２９ｂの通り、計算デバイスは相互独立なローカルストレージ空間８７とセキュリティストレージ空間８８、及びシングルデータセキュリティアクセス装置８０を含む；中に、セキュリティストレージ空間はOSに対して使用不可（例えば、見えない又はアクセス不可）である、シングルデータセキュリティアクセス装置８０だけはアクセスできる；
中に、述べたシングルデータセキュリティアクセス装置８０は以下を含む：
受信ユニット８１は、ハードウエア命令を受信することに適する；
命令分析ユニット８２は、述べたハードウエア命令はストレージ命令又はリード命令を判断する、判断シグナルを作成する；
命令改修ユニット８３は、述べたハードウエア命令はストレージ命令である時、述べたストレージ命令中の宛先アドレスをセキュリティストレージ空間が対応するストレージアドレスへ改修することに適する；述べたハードウエア命令はリード命令である時、マッピングビットマップにサーチしてリード命令のリードアドレスを改修する；述べたマッピングビットマップは、ローカルストレージ空間のアドレスが対応するデータがすでに述べたセキュリティストレージ空間にダンプされることを示す、マッピングビットマップは前述実施例中に詳細に説明するが、ここに余計なことを述べない；
送信ユニット８４は、改修後のアクセス命令をハードウエアレイヤーへ送信して実行する。
【０２３３】
前記計算デバイスは、更新ユニット８５を含める、命令改修ユニット８３が述べたストレージ命令を改修する後、ユニット８５はマッピングビットマップに述べた宛先アドレスが対応するビットを更新する。
【０２３４】
前記計算デバイスは、暗号化復号化ユニット８６を含める、セキュリティストレージ空間８８に進出するデータを暗号化復号化することに適する。
【０２３５】
本発明の一つ実施例により、図２９aを結合して、シングルデータブラックホール処理方法を提供する、図３０のように、以下を含む：
Sa1、計算デバイス（例えばコンピュータ、ハンドヘルドデバイス、インテリジェンスターミナルなど）データブラックホールシステムを配置して、データブラックホールターミナルとなる；
Sa2、データブラックホール空間をビルドする、計算デバイスのローカル空間にデータストレージエリア（データブラックホールエリアと呼ぶ）及びローカルメモリを開く、ここで、データストレージエリアにはデータブラックホールシステムだけはにアクセスできる、ターミナル計算デバイスのOS又はアプリがアクセスできない；
Sa3、計算デバイスのユーザとデータブラックホール空間または一部空間に対応関係をビルドする、例えば、ユーザがデータブラックホールターミナルを登録する時、ターミナルユーザとデータブラックホール空間の一一対応関係をビルドする；
Sa4、データブラックホールターミナルはユーザのデータライト操作をユーザが対応するデータブラックホール空間へ導いて暗号化する、例えば、当ユーザが対応するブラックホールストレージへリダイレクトする；
Sa5、ローカルストレージデバイス（ブラックホールストレージ以外）のデータパーシスタンス操作を阻止する、及び、ローカルポートが非データブラックホールターミナルにデータを出力する操作を阻止する、それで、データブラックホールターミナル又はデータブラックホール空間に入ったデータはデータブラックホール空間だけに存在する。
【０２３６】
中に、Sa1はステップ１を示す。
【０２３７】
本分野の技術者は、前記のデータセキュリティストレージ方法、リード方法、及び伝送方法はソフトウエア又はハードウエアで実現できることが、理解できる：
(1)ソフトウエアで実現すれば、前記方法が対応するステップはソフトウエアコードでコンピュータが読めるメディアにストレージしてソフトウエアプロダクトと成る；
(2)ハードウエアで実現すれば、前記方法が対応するステップはハードコード（例えばVerilog）で描画する、ファームウエア化（物理設計/レイアウト/ファブフローシートなど処理）でチップ製品（例えばプロセッサ製品）を作成する。
【０２３８】
具体的に、本分野の普通技術者は、本発明はシステム、方法又はコンピュータプログラム製品を具体に実現できる、ことを意識できる。因みに、本発明は完全ハードウエア実施例、完全ソフトウエア実施例（ファームウエア、駐在ソフト、マイクロコードなどを含む）の形式で、又はスフとウエアとハードウエアの結合実施例の形式で使用できる、彼らは「サーキット」、「モジュール」、又は「システム」と呼ばれる。
【０２３９】
別に、本発明は、コンピュータが使えるプログラムコードを保存する任意の有形メディアに具体に実現できるコンピュータプログラム製品の形式で描画できる。
【０２４０】
コンピュータが使える又は読めるメディアの任意組合を使用できる。コンピュータが使える又は読めるメディアは、例えば、電子、マグネチック、オプチカッル、電磁,インフラレッド又は半導体のスステム、装置、設備又は伝播メディアであるが、これらに限れない。コンピュータが読める具体的なメディアは、電線の電気連接、ハンドヘルドコンピュータのディスク、ハードディスク、RAM、ROM、EPROM又はフラッシュメモリ、ファイブリック、CD−ROM、オプチカッルストレージデバイス、インターネット又はイントラネットを支持する伝送メディア、又はマグネチックストレージデバイスを含む、これらに限れない。
【０２４１】
注意が払うことは、コンピュータが使える又は読めるメディアは紙又はプログラムを印刷できる別の適当なメディアである、プログラムは紙又は別のメディア対するオプチカッルスカンで電気キャプチャされて、次に編集、翻訳又は適当な方式で処理できる、必要すれば、コンピュータメモリに保存できる。本文のコンテキストに有るコンピュータが使える又は読めるメディアは、ストレージ、通信、伝播又は伝送プログラム及び命令実行システム、装置、設備、彼らの組合が使用する任意メディアである。コンピュータが使えるメディアは、コンピュータが使えるプログラムコードを含む伝播データ信号、ベースバンドに有る又はキャリアの一部とする。コンピュータが使えるプログラムコードは適当な任意メディアで伝送できる、これらのメディアは限定されない無線、有線、Fabric、RFなどを含むが、これらに限定しない。
【０２４２】
本発明の操作を実行するコンピュータプログラムコードはマルチプログラミング言語の任意組合でプログラミングされる、これらの言語は例えばるJava（登録商標）、Smalltalk、C＋＋などのオブジェクトオリエンテッド言語と、例えば、「C」言語又は類似のプログラミング言語と似てる伝統プロシージャ言語を含む。プログラムコードは、全てがユーザコンピュータに、一部がユーザコンピュータに載ってシングルソフトウエアパッケージとして実行する、一部がユーザコンピュータに及び一部が遠地コンピュータに載って実行する、全てが遠地コンピュータ又はサーバーに載って実行する、ことができる。遠地で実行する場合、遠地コンピュータは任意種類のネット連接でユーザコンピュータと接続できる。これらのネットはローカルエリアネット（LAN）、ワイドエリアネット（WAN）、又は外部コンピュータに接続可能の連接(例えば、インターネットサーブプロバイダーが提供するインターネット)である。
【０２４３】
後の特許請求の範囲が請求する本発明の精神と範囲を脱出しなくて、前記詳細に描画する本発明を改修と改進することができる、これに注意を払って理解してください。技術方案の請求範囲は任意の挙げた特定凡例と案例に限定を受けない。
【図１】
0006317461.tif 000002
【図２】
0006317461.tif 000003
【図３】
0006317461.tif 000004
【図４】
0006317461.tif 000005
【図５】
0006317461.tif 000006
【図６】
0006317461.tif 000007
【図７】
0006317461.tif 000008
【図８】
0006317461.tif 000009
【図９ａ】
0006317461.tif 000010
【図９ｂ】
0006317461.tif 000011
【図９ｃ】
0006317461.tif 000012
【図９ｄ】
0006317461.tif 000013
【図１０】
0006317461.tif 000014
【図１１】
0006317461.tif 000015
【図１２】
0006317461.tif 000016
【図１３】
0006317461.tif 000017
【図１４】
0006317461.tif 000018
【図１５】
0006317461.tif 000019
【図１６】
0006317461.tif 000020
【図１７】
0006317461.tif 000021
【図１８】
0006317461.tif 000022
【図１９】
0006317461.tif 000023
【図２０】
0006317461.tif 000024
【図２１】
0006317461.tif 000025
【図２２】
0006317461.tif 000026
【図２３】
0006317461.tif 000027
【図２４】
0006317461.tif 000028
【図２５】
0006317461.tif 000029
【図２６】
0006317461.tif 000030
【図２７】
0006317461.tif 000031
【図２８】
0006317461.tif 000032
【図２９ａ】
0006317461.tif 000033
【図２９ｂ】
0006317461.tif 000034
【図３０】
0006317461.tif 000035