(57)【要約】【課題】  コンピュータ内の情報を保護する。【解決手段】  入力データは復号化機能１４によって復号化される。処理できない復号化データは不明データ記憶機能２２に蓄積する。不明データは利用者のチェック時に暗号化機能２４によって暗号化され、平文に戻される。入力確認機能２８が平文に戻った入力データを利用者に提示し、利用許可を得る。データ出力時は、出力確認機能１２が出力データを利用者に提示して出力許可を得、利用者から平文出力か暗号化出力かの指定を受ける。ハードディスクにデータを保存する場合は暗号化する。【選択図】図１
2008077157.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータに接続され、前記コンピュータ内の情報を保護するための情報保護装置であって、
前記処理機能が入力するデータを復号化する復号化機能と、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶機能と、
前記不明データを暗号化する暗号化機能と、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認機能と、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認機能と、
を備えたことを特徴とする情報保護装置。
【請求項２】
請求項１に記載された情報保護装置であって、
前記暗号化機能は構造化されたデータの一部を暗号化し、
前記入力確認機能は、前記不明データの一部を表示装置に表示させ、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄することを特徴とする情報保護装置。
【請求項３】
請求項１に記載された情報保護装置であって、
前記出力確認機能は、前記出力データの出力先があらかじめ定められた記憶装置であるときに、利用者からの指示を仰がず、前記出力データを暗号化した上で出力させることを特徴とする情報保護装置。
【請求項４】
ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法であって、
前記処理機能が入力するデータを復号化する復号化ステップと、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、
前記不明データを暗号化する暗号化ステップと、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、
を備えたことを特徴とする情報保護方法。
【請求項５】
ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法を前記コンピュータに実行させる情報保護プログラムであって、該情報保護方法は、
前記処理機能が入力するデータを復号化する復号化ステップと、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、
前記不明データを暗号化する暗号化ステップと、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、
を備えたことを特徴とする情報保護プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を保護する装置に係り、特に、コンピュータ内に保持する情報の保護装置に関する。
【背景技術】
【０００２】
コンピュータ内に保持する情報の保護が問題となっている。コンピュータウィルスやスパイウェアによる情報改竄および情報漏洩等に対処すべく、コンピュータウィルスやスパイウェアの検出プログラムが開発されている。検出プログラムは、コンピュータウィルスやスパイウェアの特徴に基づくチェックパタンを多数蓄積したパタンファイルを用意し、このパタンファイルに蓄積したチェックパタンを用いたファイルマッチングによって、コンピュータ内のすべてのファイルをチェックするものである。コンピュータウィルスやスパイウェアは日々新しいものが開発されインタネット等を経由して瞬時に蔓延するため、それら新しいコンピュータウィルスやスパイウェアに対応するチェックパタンを開発し、パタンファイルに追加するパタンファイル更新の作業が頻繁に必要であり、かつ、本質的に後追い対応であるため、パタンファイルを更新するまでの間に感染するリスクが存在する。
【０００３】
一方、外部記憶媒体に出力／入力する情報を自動的に暗号化／復号化する方法も考案されている（たとえば特許文献１）。これは、外部記憶媒体に記憶された情報が漏洩した場合でも、復号鍵を知らなければ復号できないため、実質的に漏洩の被害を生じないというものであり、かつ、コンピュータ利用者はこの対処のために特段の処理を必要とせず、単に通常通りの出力／入力処理をすれば自動的に暗号化／復号化を行うように考案されたものである。ただし、この対処を行った外部記憶媒体以外からコンピュータに取り込む情報にはコンピュータウィルスやスパイウェアが潜んでいる可能性があり、また、この対処を行った外部記憶媒体から読み込んだ情報もコンピュータ内では平文の状態であるため、スパイウェアによって平文の情報が流出する可能性は存在する。
【特許文献１】特開平１−２２７２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
すなわち、従来技術は、侵入したコンピュータウィルスやスパイウェアをチェックする、あるいは特定の外部記憶媒体から流出した情報の無効化を図るものである。したがって、コンピュータ内に侵入したコンピュータウィルスやスパイウェアはチェックを受けるまではコンピュータを動作させることが可能な状態にあり、また、特定の外部記憶媒体以外に出力される情報は保護されない。
本発明は、コンピュータ内の情報を保護することが目的であり、特に、利用者のチェックを受ける時まではコンピュータウィルスやスパイウェアを含む可能性のあるデータはコンピュータを動作させることができないようにしてコンピュータウィルスやスパイウェアの被害を受ける機会を低減し、あるいはコンピュータ内の情報は利用者の許可がなければ平文のまま外部に出力されないようにして情報漏洩の被害を受ける機会を低減することを目的とする。
【課題を解決するための手段】
【０００５】
本発明にかかる情報保護装置は、ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータに接続され、前記コンピュータ内の情報を保護するための情報保護装置であって、前記処理機能が入力するデータを復号化する復号化機能と、前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶機能と、前記不明データを暗号化する暗号化機能と、前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認機能と、前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認機能と、を備えたことを特徴とする。
【０００６】
また本発明にかかる情報保護方法は、ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法であって、前記処理機能が入力するデータを復号化する復号化ステップと、前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、前記不明データを暗号化する暗号化ステップと、前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、を備えたことを特徴とする。
【０００７】
また本発明にかかる情報保護プログラムは、ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法を前記コンピュータに実行させる情報保護プログラムであって、該情報保護方法は、前記処理機能が入力するデータを復号化する復号化ステップと、前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、前記不明データを暗号化する暗号化ステップと、前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、通信機器や記憶装置から初めてコンピュータの内部に入力されるデータはまず復号化されてコンピュータを動作させることができない状態となり、利用者のチェックを受ける時点で初めて暗号化されて平文に戻されるので、コンピュータウィルスやスパイウェアが含まれていたとしても、実際にコンピュータを動作させる機会が著しく少なくなる。また、コンピュータから外部に出力するデータは利用者の許可がない限り暗号化された状態で出力されるため、情報漏洩の機会が著しく少なくなる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて実施例を説明する。
【実施例１】
【００１０】
図１は、本発明の第１の実施例にかかる情報保護装置のシステム構成を示す図である。本実施例の情報保護装置は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）３０とＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいはアプリケーションプログラムで実現する機能（以下、ＯＳ／アプリ機能１０と呼ぶ）との間に割り込み、コンピュータへの入力データを復号化する復号化機能１４と、コンピュータで正常に処理できないデータを抽出する不明データ抽出機能１６と、抽出された不明データを記憶する不明データ記憶機能２２と、不明データを不明データ記憶機能２２に書き込むための不明データ書込機能１８と、不明データを不明データ記憶機能２２から読み出すための不明データ読出機能２０と、不明データを暗号化する暗号化機能２４と、不明データの利用許可を利用者に確認する入力確認機能２８と、コンピュータからのデータ出力許可を利用者に確認し、必要に応じて出力データを暗号化する出力確認機能１２とを含む。
【００１１】
復号化機能１４は、あらかじめ定められた暗号化処理に対応する復号化処理を行う機能である。利用者が操作するキーボード、マウス等のヒューマンインタフェース機器以外からの入力データがＢＩＯＳ３０から入力されると、割り込みをかけ、その入力データを復号化して、復号化されたデータ（以下、復号化データと呼ぶ）を作成する。さらに入力データを復号化データに置き換えた後、割り込みを解除する。
【００１２】
不明データ抽出機能１６は、ＯＳ／アプリ機能１０で処理対象としたデータが処理不能となったことを検知し、割り込みをかけ、そのデータをＯＳ／アプリ機能１０から取り上げ、不明データ書込機能１８に渡して割り込みを解除する。
【００１３】
不明データ書込機能１８は、不明データ抽出機能１６から受け取ったデータをＢＩＯＳ３０経由で不明データ記憶機能２２に書き込む。
【００１４】
不明データ読出機能２０は、不明データ記憶機能２２からＢＩＯＳ３０経由で読み出したデータを暗号化機能２４に渡す。
【００１５】
暗号化機能２４は、不明データ読出機能２０から受け取ったデータを暗号化して平文データに戻し、入力確認機能２８に渡す。
【００１６】
入力確認機能２８は、不明データ読出機能２０から平文データを受け取ったとき、割り込みをかけ、平文データの利用許可を利用者に求める。利用者が平文データの利用を許可すれば入力確認機能２８は平文データをＯＳ／アプリ機能１０に実行させるようセットして割り込みを解除し、ＯＳ／アプリ機能１０の処理を続行させる。利用者が平文データの利用を許可しなければ入力確認機能２８は平文データを廃棄して割り込みを解除する。出力確認機能１２は、ＯＳ／アプリ機能１０がデータを表示装置、スピーカ等のヒューマンインタフェース機器以外に出力しようとしたことを検知すると、割り込みをかけ、このデータの出力許可および平文出力または暗号化出力の指示を利用者に求める。利用者がデータの出力を許可して暗号化出力を指示すれば、出力確認機能１２はこのデータを暗号化し、出力データを暗号化されたデータ（以下、暗号化データと呼ぶ）に置き換えた上で割り込みを解除してＢＩＯＳ３０に出力させる。利用者がデータの出力を許可して平文出力を指示すれば、出力確認機能１２は割り込みを解除してＢＩＯＳ３０に出力させる。利用者がデータの出力を許可しなければ、出力処理を中止させる。
【００１７】
暗号化機能２４および出力確認機能１２における暗号化アルゴリズムおよび暗号鍵は全く同じである。この暗号化アルゴリズム、暗号鍵と復号化機能１４における復号化アルゴリズムおよび復号鍵の関係は次の２つの条件を満たすものとする。第１の条件は、この暗号化アルゴリズムに基づいて、この暗号鍵を用いて、あるデータを暗号化した場合、その暗号化データを、この復号化アルゴリズムに基づいて、この復号鍵を用いて復号化すると、元のデータに戻ることである。第２の条件は、この復号化アルゴリズムに基づいて、この復号鍵を用いて、あるデータを復号化した場合、その復号化データを、この暗号化アルゴリズムに基づいて、この暗号鍵を用いて暗号化すると、元のデータに戻ることである。
【００１８】
図２は、本発明の第１の実施例にかかる情報保護装置のフローチャートである。本実施例における情報保護装置の処理の流れを図２のステップＳ１００からステップＳ１１８まで順を追って説明する。
【００１９】
（ステップＳ１００）  データの入力が行われる場合、ＯＳ／アプリ機能１０が入力コマンドを発する。入力確認機能２８はＯＳ／アプリ機能１０から発せられる入力コマンドを監視している。
【００２０】
（ステップＳ１０２）  入力確認機能２８がＯＳ／アプリ機能１０から発せられた入力コマンドを検知したとき（ステップＳ１００：Ｙｅｓ）、入力確認機能２８は割り込みをかけ、ＢＩＯＳ３０からの入力データを復号化機能１４によって復号化し、入力データを復号化データに置き換えて割り込みを解除する。
【００２１】
（ステップＳ１０４）  ＯＳ／アプリ機能１０は復号化データを入力し、処理しようとする。このとき、ステップＳ１０２で入力されたデータが平文データであった場合、復号化データは意味のないデータとなり、ＯＳ／アプリ機能１０による処理が正常に開始されない。このため、ＯＳ／アプリ機能１０からエラー信号が発せられる。不明データ抽出機能１６はそのエラー信号を監視している。一方、ステップＳ１０２で入力されたデータが暗号化データであった場合、この暗号化データはステップＳ１０２の復号化により平文データに戻り、ＯＳ／アプリ機能１０によって正常に処理され得るものとなる。
【００２２】
（ステップＳ１０６）  不明データ抽出機能１６がエラー信号を検知すると（ステップＳ１０４：Ｎｏ）、不明データ抽出機能１６は割り込みをかけ、対象となる復号化データをＯＳ／アプリ機能１０から取り上げ、不明データ書込機能１８に渡す。不明データ書込機能１８は復号化データを不明データ記憶機能２２に書き込んで割り込みを解除する。
【００２３】
（ステップＳ１０８）  不明データ抽出機能１６がエラー信号を検知しない場合（ステップＳ１０４：Ｙｅｓ）、ＯＳ／アプリ機能１０は平文データを対象として処理を進める。
【００２４】
（ステップＳ１１０）  ＯＳ／アプリ機能１０の処理の途中でデータ出力の必要が生じた場合、ＯＳ／アプリ機能１０は出力コマンドを発する。出力確認機能１２はＯＳ／アプリ機能１０から発せられる出力コマンドを監視している。
【００２５】
（ステップＳ１１２）  出力確認機能１２がＯＳ／アプリ機能１０から発せられた出力コマンドを検知したとき（ステップＳ１１０：Ｙｅｓ）、出力確認機能１２は割り込みをかけ、出力対象となる平文データを利用者に提示し、出力してよいかどうかを確認する。
【００２６】
（ステップＳ１１４）  利用者が平文データの出力を認めた場合（ステップＳ１１２：Ｙｅｓ）、出力確認機能１２は利用者に、平文データを平文データのまま出力するか暗号化して出力するかを確認する。
【００２７】
（ステップＳ１１６）  利用者が暗号化して出力すると指定した場合（ステップＳ１１４：Ｎｏ）、出力確認機能１２は平文データを暗号化する。出力確認機能１２は出力コマンドの対象となる平文データを暗号化データに置き換えたのち、割り込みを解除する。
【００２８】
（ステップＳ１１８）  ＢＩＯＳ３０は、出力データを出力する。
データが構造化されている場合、そのデータの構造を情報保護装置が知っているか否かによって、データの暗号化、復号化の方法が異なる。
図３は、本発明の第１の実施例にかかる情報保護装置中の出力確認機能１２における暗号化処理のフローチャートである。出力確認機能１２における暗号化処理の流れを図３のステップＳ１３２からステップＳ１３６まで順を追って説明する。
【００２９】
（ステップＳ１３２）  出力確認機能１２は暗号化の対象データが既知の構造を持っているかどうかチェックする。既知の構造を持っているデータに関しては、あらかじめ構造化されたデータ中のコンテンツ部分が定義されている。構造化されたデータ中のどの部分をコンテンツと定義するかは任意である。たとえば、プログラムデータファイルであれば、プログラム本体部分をコンテンツとみなし、ファイル名はコンテンツとみなさない。また、たとえば、メール等のメッセージデータであれば、メッセージ内容をコンテンツとみなし、メッセージヘッダはコンテンツとみなさない。要は、データの素性を知る手がかりとなり、かつ比較的安全なデータ部分についてはコンテンツとみなさないようにする。
【００３０】
（ステップＳ１３４）  対象データが既知の構造を持っていない場合（ステップ１３２：Ｎｏ）、出力確認機能１２は対象データの全体を暗号化する。
【００３１】
（ステップＳ１３６）  対象データが既知の構造を持っている場合（ステップ１３２：Ｙｅｓ）、出力確認機能１２は対象データのうち、コンテンツ部分のみを暗号化し、それ以外のデータは暗号化しない。コンテンツ部分内に含まれない構造は暗号化後も存続させる。
【００３２】
図４は、本発明の第１の実施例にかかる情報保護装置における暗号化機能２４の処理フローチャートである。暗号化機能２４の処理の流れは出力確認機能１２における暗号化処理と若干異なる。図４のステップＳ１３２からステップＳ１３６の処理内容は図３と同じである。図４ではステップＳ１３６の前にステップＳ１３８を行う。
【００３３】
（ステップＳ１３８）  対象データが既知の構造を持っている場合（ステップ１３２：Ｙｅｓ）、暗号化機能２４は対象データを暗号化せずに入力確認機能２８に渡す。入力確認機能２８は利用者に対象データを提示し、暗号化を実行するかどうかを確認する。暗号化不要となった場合は、そのまま処理を終了する。
【００３４】
（ステップＳ１３６）  暗号化を実行する場合（ステップＳ１３８：Ｙｅｓ）、暗号化機能２４は対象データのうち、コンテンツ以外のデータは暗号化せず、コンテンツ部分のみを暗号化して、対象データを入力確認機能２８に渡す。
【００３５】
図５は、本発明の第１の実施例にかかる情報保護装置における復号化処理のフローチャートである。本実施例における復号化処理の流れを図５のステップＳ１４２からステップＳ１４６まで順を追って説明する。
【００３６】
（ステップＳ１４２）  復号化機能１４は復号化の対象データが既知の構造を持っているかどうかチェックする。
【００３７】
（ステップＳ１４４）  復号化の対象データが既知の構造を持っていない場合（ステップ１４２：Ｎｏ）、復号化機能１４は対象データの全体を復号化する。
【００３８】
（ステップＳ１４６）  復号化の対象データが既知の構造を持っている場合（ステップ１４２：Ｙｅｓ）、復号化機能１４は対象データのうち、コンテンツ部分のみを復号化し、それ以外のデータは復号化しない。コンテンツ部分内に含まれない構造は復号化後も存続させる。
【００３９】
不明データ記憶機能２２に蓄積された不明データは、利用者がコンピュータを操作するときに、利用の可否を判断する。
【００４０】
図６は、本発明の第１の実施例にかかる情報保護装置における不明データの利用者許可確認処理のフローチャートである。本実施例における不明データの利用者許可確認処理の流れを図６のステップＳ１５２からステップＳ１６８まで順を追って説明する。
【００４１】
（ステップＳ１５２）  不明データ読出機能２０は不明データ記憶機能２２から不明データを一つ読み出す。
【００４２】
（ステップＳ１５４）  不明データ記憶機能２２に不明データが残っていなければ（ステップＳ１５４：Ｙｅｓ）、処理を終了する。
【００４３】
（ステップＳ１５６）  不明データ記憶機能２２から不明データが読み出せた場合（ステップＳ１５４：Ｎｏ）、暗号化機能２４は不明データが既知の構造を持っているかどうかをチェックする。
【００４４】
（ステップＳ１５８）  不明データが既知の構造を持っていない場合（ステップＳ１５６：Ｎｏ）、暗号化機能２４は不明データ全体を暗号化して入力確認機能２８に渡す。
【００４５】
（ステップＳ１６０）  入力確認機能２８は暗号化された不明データを利用者に提示し、この不明データを利用してもよいかどうかを利用者に確認する。利用者がこの不明データを利用してはいけないと指示した場合（ステップＳ１６０：Ｎｏ）、この不明データは廃棄され、処理はステップＳ１５２に戻る。なお、後刻再考という場合、この不明データを不明データ記憶機能２２に戻す処理をしてもよい。利用者がこの不明データを利用してもよいと指示した場合（ステップＳ１６０：Ｙｅｓ）、入力確認機能２８は不明データをＯＳ／アプリ機能１０に実行させるようにセットして割り込みを解除する。この後の処理は図２のステップＳ１０８に移る。
【００４６】
（ステップＳ１６２）  不明データが既知の構造を持っている場合（ステップＳ１５６：Ｙｅｓ）、暗号化機能２４は不明データを暗号化せず、そのまま入力確認機能２８に渡す。入力確認機能２８は暗号化されていない不明データの一部を利用者に提示し、ファイル名、タイトル等の平文データ部分から利用の可否を判断できるかどうかを利用者に確認する。
【００４７】
（ステップＳ１６４）  暗号化されていない不明データからでは利用の可否を判断不可能という答えの場合（ステップＳ１６２：Ｎｏ）、入力確認機能２８は暗号化機能２４に不明データの暗号化を依頼する。暗号化機能２４は不明データを暗号化して入力確認機能２８に渡す。この後の処理はステップＳ１６０に移る。
【００４８】
（ステップＳ１６６）  暗号化されていない不明データから利用の可否を判断可能という答えの場合（ステップＳ１６２：Ｙｅｓ）、入力確認機能２８はこの不明データを利用してもよいかどうかを利用者に確認する。利用者がこの不明データを利用してはいけないと指示した場合（ステップＳ１６６：Ｎｏ）、入力確認機能２８は暗号化機能２４に暗号化不要を伝える。この不明データは廃棄され、処理はステップＳ１５２に戻る。なお、後刻再考という場合、この不明データを不明データ記憶機能２２に戻す処理をしてもよい。
【００４９】
（ステップＳ１６８）  利用者がこの不明データを利用してもよいと指示した場合（ステップＳ１６６：Ｙｅｓ）、入力確認機能２８は暗号化機能２４に不明データの暗号化を依頼する。入力確認機能２８は暗号化機能２４から暗号化された不明データを受け取り、入力確認機能２８は暗号化された不明データをＯＳ／アプリ機能１０に実行させるようにセットして割り込みを解除する。この後の処理は図２のステップＳ１０８に移る。
【００５０】
以上の処理により、コンピュータ内のデータは下記のように保護される。
このコンピュータに入力されるデータは必ず復号化される。入力データがそれ以前にこのコンピュータによって暗号化されたものである場合は、復号化によって平文に戻るため、ＯＳ／アプリ機能１０によって通常通り利用可能である。一方、入力データがそれ以前にこのコンピュータによって暗号化されたものでない場合は、復号化データはＯＳ／アプリ機能１０にとって未知のものとなり、ＯＳ／アプリ機能１０は入力データを利用することができない。したがって、仮に入力データにコンピュータウィルスあるいはスパイウェアが含まれていたとしても、そのコンピュータウィルスあるいはスパイウェアは復号化された状態ではコンピュータを動作させることができない。ＯＳ／アプリ機能１０が利用できない入力データは、復号化されたまま不明データとして一旦不明データ記憶機能２２に蓄積される。復号化された状態で蓄積されている限り、入力データにコンピュータウィルスあるいはスパイウェアが含まれていてもコンピュータは安全である。なお、情報保護装置が入力データの構造を知っている場合は、ファイル名やメッセージタイトルなど、データの素性を知る手がかりとなり、かつ比較的安全なデータ部分については復号化を行わず、平文のままにしておく。
【００５１】
不明データは、利用者によって利用可否を判断される。利用者が不明データの利用可否を判断する際には不明データは暗号化され、すなわち平文データに戻されて利用者に提示される。ただし、入力データの構造が既知の場合は、暗号化せず、元々平文のままになっているファイル名やメッセージタイトルなどをまず提示し、それだけでは判断できない場合に限り復号化データを暗号化して平文に戻す。このように、いきなり平文データに戻さず、ファイル名やメッセージタイトルなどによる判断のフェーズを挟むことによってさらに安全性が高まる。
【００５２】
利用者が利用を許可した入力データは平文データに戻された状態でＯＳ／アプリ機能１０によって通常通り処理される。一方、利用者が利用を許可しなかった入力データは廃棄される。
【００５３】
コンピュータから外部に出力されるデータについても、利用者が出力の可否を判断する。ＯＳ／アプリ機能１０が何らかのデータを出力しようとした場合、出力確認機能１２が出力データを利用者に提示して、出力可否の判断を仰ぐ。その際、利用者は平文データのまま出力するか、暗号化して出力するかも指示する。外部記憶装置に記憶させる場合には暗号化して出力させるためである。
【００５４】
上述のように、本発明によれば、コンピュータにとって未知の入力データ、すなわちコンピュータウィルスやスパイウェアを含む可能性のあるデータは、利用者のチェックを受ける時まではコンピュータを動作させることができない状態であるためコンピュータウィルスやスパイウェアの被害を受ける機会を低減することができる、また、本発明によれば、コンピュータ内の情報は利用者の許可がなければ平文のまま外部に出力されないので、情報漏洩の被害を受ける機会を低減することができる。
【実施例２】
【００５５】
図７は、本発明の第２の実施例にかかる情報保護装置のフローチャートである。第１の実施例の処理の流れを示す図２のフローチャートに対して、ステップＳ１１０とステップＳ１１２の間に、ステップＳ１２４およびステップＳ１２６が追加されている。図１および図３ないし図６は本実施例においても同様である。本実施例における処理の流れを第１の実施例との差分について説明する。
【００５６】
（ステップＳ１２４）  出力確認機能１２がＯＳ／アプリ機能１０から発せられた出力コマンドを検知したとき（ステップＳ１１０：Ｙｅｓ）、出力確認機能１２は割り込みをかけ、出力先があらかじめ定められた記憶装置であるかどうかをチェックする。
【００５７】
（ステップＳ１２６）  出力先があらかじめ定められた記憶装置である場合（ステップＳ１２４：Ｙｅｓ）、出力確認機能１２は出力データを暗号化する。出力確認機能１２は出力データを暗号化データに置き換えたのち、割り込みを解除する。暗号化データはＢＩＯＳ３０経由で、あらかじめ定められた記憶装置に書き込まれる。
【００５８】
第１の実施例ではすべての出力に関して利用者の出力許可および平文出力か暗号化出力かの指示を受けているが、本実施例では、あらかじめ定められた特定の記憶装置へのデータ保存については利用者の確認をとらず、無条件で暗号化して保存する。コンピュータの内蔵ハードディスク等へのデータ保存をこのように実行することで、利用者の負担を大きく軽減することができる。
【００５９】
なお、本発明にかかる情報保護装置は、ハードウェアとして実施可能であるだけでなく、コンピュータのソフトウェアとしても実施可能である。例えば、図１に示した出力確認機能１２、復号化機能１４、不明データ抽出機能１６、不明データ書込機能１８、不明データ読出機能２０、暗号化機能２４、入力確認機能２８をコンピュータに実行させるプログラムを作成し、当該プログラムをコンピュータのメモリに読み込ませて実行させれば、情報保護装置を実現することができる。
【００６０】
本発明の実施形態にかかる情報保護装置を実現するプログラムは、図８に示すように、ＣＤ−ＲＯＭやＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ等やフレキシブルディスク等の可搬型記録媒体３４だけでなく、通信回線３６の先に備えられた他の記憶装置３８や、コンピュータシステム３２のハードディスクやＲＡＭ等の記憶装置、記録媒体４０のいずれに記憶されるものであってもよく、プログラム実行時には、プログラムはローディングされ、主メモリ上で実行される。
【００６１】
本発明にかかる情報保護装置をコンピュータのソフトウェアとして実施する場合の実現方法について説明する。
【００６２】
たとえば、パーソナルコンピュータの起動は通常、次のような手順で行われる。
１．電源投入
２．不揮発メモリに記録されたＢＩＯＳが起動される。
３．ＢＩＯＳがハードディスクの先頭に記録されたＭＢＲ（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）をロードする。
４．ＭＢＲに含まれるブートローダが起動される。
５．ブートローダがＯＳを選択し起動する。
【００６３】
この手順を変更して、本発明にかかる情報保護装置を実現するソフトウェア（以下、本ソフトと呼ぶ）がＢＩＯＳとＯＳの間に割り込むことができるようにする。そのための基本手順は、本来ＭＢＲを記録すべき場所に本ソフトを記録し、ＢＩＯＳを代行してＭＢＲを読み出すというものである。このためにＭＢＲを別の場所に移し、ＢＩＯＳを代行してＭＢＲを読み出すＭＢＲローダを作成して本ソフトとともにハードディスクの先頭に記録しておく。
【００６４】
これにより、パーソナルコンピュータは下記の手順で起動される。
１．電源投入
２．不揮発メモリに記録されたＢＩＯＳが起動される。
３．ＢＩＯＳがハードディスクの先頭に記録された本ソフト＋ＭＢＲローダをロードする。
４．ＭＢＲローダが起動される
５．ＭＢＲローダがＭＢＲをロードする。
６．ＭＢＲに含まれるブートローダが起動される。
７．ブートローダがＯＳを選択し起動する。
【００６５】
この結果として、本ソフトがパーソナルコンピュータに常駐し、ＢＩＯＳとＯＳの間に割り込むことができるようになる。
【００６６】
（付記１）ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータに接続され、前記コンピュータ内の情報を保護するための情報保護装置であって、
前記処理機能が入力するデータを復号化する復号化機能と、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶機能と、
前記不明データを暗号化する暗号化機能と、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認機能と、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認機能と、
を備えたことを特徴とする情報保護装置。
（付記２）付記１に記載された情報保護装置であって、
前記暗号化機能は構造化されたデータの一部を暗号化し、
前記入力確認機能は、前記不明データの一部を表示装置に表示させ、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄することを特徴とする情報保護装置。
（付記３）付記１に記載された情報保護装置であって、
前記出力確認機能は、前記出力データの出力先があらかじめ定められた記憶装置であるときに、利用者からの指示を仰がず、前記出力データを暗号化した上で出力させることを特徴とする情報保護装置。
（付記４）ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータに、前記コンピュータ内の情報を保護するための情報保護装置を接続した情報保護システムであって、前記情報保護装置は、
前記処理機能が入力するデータを復号化する復号化機能と、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶機能と、
前記不明データを暗号化する暗号化機能と、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認機能と、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認機能と、
を備えたことを特徴とする情報保護システム。
（付記５）付記４に記載された情報保護システムであって、
前記暗号化機能は構造化されたデータの一部を暗号化し、
前記入力確認機能は、前記不明データの一部を表示装置に表示させ、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄することを特徴とする情報保護システム。
（付記６）付記４に記載された情報保護システムであって、
前記出力確認機能は、前記出力データの出力先があらかじめ定められた記憶装置であるときに、利用者からの指示を仰がず、前記出力データを暗号化した上で出力させることを特徴とする情報保護システム。 
（付記７）ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法であって、
前記処理機能が入力するデータを復号化する復号化ステップと、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、
前記不明データを暗号化する暗号化ステップと、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、
を備えたことを特徴とする情報保護方法。
（付記８）付記７に記載された情報保護方法であって、
前記暗号化ステップでは構造化されたデータの一部を暗号化し、
前記入力確認ステップでは、前記不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄することを特徴とする情報保護方法。
（付記９）付記７に記載された情報保護方法であって、
前記出力確認ステップでは、前記出力データの出力先があらかじめ定められた記憶装置であるときに、利用者からの指示を仰がず、前記出力データを暗号化した上で出力させることを特徴とする情報保護方法。
（付記１０）ＯＳあるいはアプリケーションプログラムによって実現される処理機能を実行するコンピュータ内の情報を保護するための情報保護方法を前記コンピュータに実行させる情報保護プログラムであって、該情報保護方法は、
前記処理機能が入力するデータを復号化する復号化ステップと、
前記処理機能が処理できないデータを不明データとして蓄積する不明データ記憶ステップと、
前記不明データを暗号化する暗号化ステップと、
前記暗号化された不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄する入力確認ステップと、
前記処理機能の出力データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記出力データを平文のままで出力させ、あるいは前記出力データを暗号化した上で出力させ、あるいは出力を中止させる出力確認ステップと、
を備えたことを特徴とする情報保護プログラム。
（付記１１）付記１０に記載された情報保護プログラムであって、前記情報保護方法は、
前記暗号化ステップでは構造化されたデータの一部を暗号化し、
前記入力確認ステップでは、前記不明データの一部を表示装置に表示させたのち、利用者からの指示に従い、前記暗号化された不明データを前記処理機能に処理させ、あるいは不明データを廃棄することを特徴とする情報保護プログラム。
（付記１２）付記１０に記載された情報保護プログラムであって、前記情報保護方法は、
前記出力確認ステップでは、前記出力データの出力先があらかじめ定められた記憶装置であるときに、利用者からの指示を仰がず、前記出力データを暗号化した上で出力させることを特徴とする情報保護プログラム。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施例にかかる情報保護装置のシステム構成を示す図
【図２】本発明の第１の実施例にかかる情報保護装置のフローチャート
【図３】本発明の第１の実施例にかかる情報保護装置中の出力確認機能における暗号化処理のフローチャート
【図４】本発明の第１の実施例にかかる情報保護装置における暗号化機能の処理フローチャート
【図５】本発明の第１の実施例にかかる情報保護装置における復号化処理のフローチャート
【図６】本発明の第１の実施例にかかる情報保護装置における不明データの利用者許可確認処理のフローチャート
【図７】本発明の第２の実施例にかかる情報保護装置のフローチャート
【図８】コンピュータ環境の例を示す図
【符号の説明】
【００６８】
１２：  出力確認機能
１４：  復号化機能
１６：  不明データ抽出機能
１８：  不明データ書込機能
２０：  不明データ読出機能
２２：  不明データ記憶機能
２４：  暗号化機能
２８：  入力確認機能
【図１】
2008077157.tif 000003
【図２】
2008077157.tif 000004
【図３】
2008077157.tif 000005
【図４】
2008077157.tif 000006
【図５】
2008077157.tif 000007
【図６】
2008077157.tif 000008
【図７】
2008077157.tif 000009
【図８】
2008077157.tif 000010