説明

情報セキュリティ装置、セキュリティシステム及び入力情報漏洩防止方法

【課題】キーボードなどの入力機器による入力情報が盗聴されるのを阻止し、盗聴者を特定できる情報セキュリティ装置、セキュリティシステムを提供する。
【解決手段】情報セキュリティ装置1において、秘匿情報の入力の際のインターフェースとなるキー入力インターフェース部106は、非保護ドメイン1011からのリードアクセスの場合に囮のキー入力値を返す。電子決済等のサービスの利用可否を判定する決済会社4は、認証を行う際、情報セキュリティ装置1に対して前記囮のキー入力値として用いる即値を指示する。キー入力部107による入力の盗聴を試みた者は、囮のキー入力値を取得することになる。囮のキー入力値を用いて決済会社4に対し認証を要求すれば、決済会社4は、前記認証の要求者が、盗聴者であることを認識する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム等において利用者により入力される入力情報の漏洩防止及び漏洩行為を試みた不正者を特定する技術に関する。
【背景技術】
【0002】
昨今、悪意を持ってコンピュータシステムの内部に何らかの手段で侵入し、そのコンピュータシステムのユーザに被害を与えるソフトウェアが多数存在する。
キー・ロガー(key logger)は、上記ソフトウェアの一種であり、利用者がキー入力した情報を収集して外部に漏洩する。
漏洩された情報が、メールアドレス、住所、電話番号、クレジットカードの番号、ログインパスワードなどの秘匿にするべき情報であった場合、前記コンピュータシステムのユーザは、甚大な損害を被る。
【0003】
このようなキー・ロガー(key logger)対策の代表例に、CPU上で動作するソフトウェアが取り扱う資源を、論理的にドメイン分離(domain separation)する手法がある。
このドメイン分離を利用した技術が、非特許文献1、非特許文献2に開示されている。
非特許文献1及び2によれば、ソフトウェアは、保護ドメインで実行するものと非保護ドメインで実行するものに分離される。通常、保護ドメインで動作するソフトウェアは、正当な開発者によってのみ開発が許可される。盗聴を企てる者により開発される悪意のソフトウェアは、非保護ドメインで実行されることになる。
【0004】
ハードウェアは、保護ドメインで実行されるソフトウェアが扱う資源を、非保護ドメインで実行されるソフトウェアから隔離する。前記資源には、主記憶メモリ、DMA、デバッガ及びIOデバイス並びにCPU内部の汎用レジスタ、キャッシュ及びMMUなどがある。
保護ドメインで実行されるソフトウェアは、キーボードからの入力を取り扱うハードウェア資源との間の通信においては、通信内容を暗号化する。
【0005】
ここで、暗号通信に用いる鍵や、復号後のキー入力値は、非保護ドメインのソフトウェアから論理的に隔離されたハード資源(汎用レジスタや主記憶メモリ等)にのみ配置される。
よって、非保護ドメインのソフトウェアは、キー入力の暗号文を盗聴できたとしても、その暗号文を復号(decryption)できず、キー入力値を取得することはない。
【0006】
また、ドメイン分離を利用した他のキー・ロガー対策が、特許文献1に開示されている。
特許文献1によれば、CPUからの全てのバスアクセスには、そのアクセスが保護ドメイン上のソフトウェアにより発生したものか否かの属性がアクセス毎に付与される。
キーボードからの入力を取り扱うハードウェア資源は、前記属性を検知して、保護ドメインからのアクセスは許可し、非保護ドメインからのアクセスは禁止する。よって、非保護ドメインのソフトウェアは、キー入力値を取得することができない。
【非特許文献1】David Grawrock 「The Intel Safer Computing Initiative」(2006, IntelPress)のChapter9 「Protected IO」
【非特許文献2】http://www.intel.com/technology/security/downloads/scms18-LT_arch.pdfの23頁〜24頁
【特許文献1】特開2004-171563号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
上述の従来技術によれば、非保護ドメインで動作するキー・ロガーが行う不正取得行為を検出し阻止することはできるものの、不正取得者の特定はできない。
また、キー・ロガーのようにコンピュータ内部に不正に侵入して動作するソフトウェアは、通常、不正取得者を特定できるような情報を有しないので、不正取得者を追跡するには高度な専門知識が必要となる。不正取得者は、追跡されないとなれば、不正取得に失敗したとしても再度ターゲットになる機器を変更して同様の行為を繰り返すこととなるので、不正取得行為は減らない。
【0008】
上記問題に鑑み、本発明は、利用者の入力情報を対象とする不正取得行為を阻止し、かつ不正取得者の特定を容易にすることが出来る情報セキュリティ装置、セキュリティシステム及び情報漏洩防止方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置であって、保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得手段と、囮情報を記憶している囮情報記憶手段と、前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定手段と、前記判定手段により、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御手段とを備える。
【0010】
ここで、囮情報とは、予め、前記入力情報を用いた決済処理を行う決済会社、入力情報を不正取得者の身元を追跡するなど不正取得についての捜査を行う捜査団体等が定めた、不正取得者の身元の追跡を容易にするための特定の情報である。
【発明の効果】
【0011】
本発明の情報セキュリティ装置は、上述の構成を備えることにより、非保護ドメインで実行される不正なプログラムによって入力情報が取得されるのを阻止し、かつ、入力情報を取得するために保護プログラムが行うのと同じ手順に従って前記読み出し要求を発する不正なプログラムに対し、前記入力情報に代えて前記囮情報を取得させることができる。
また、前記入力情報が決済処理に用いられる情報である場合においては、決済処理を行う団体等は、決済を要求する者の情報及び囮情報についてデータベースとして蓄積する。
【0012】
前記囮情報が決済処理などに使用されれば、前記団体等は、前記囮情報を用いて決済が要求されていることを前記データベースを用いて認識できる。この場合、前記団体等は、不正取得者を特定するための対策を施すことができる。
また、前記入力情報は、文字列であり、前記囮情報は、順位の定められた複数の囮値から成り、前記入力取得手段は、前記入力情報における各文字を受け付ける毎に、前記プログラム実行手段に対し入力の受け付けを示す割込を発生し、前記プログラム実行手段において実行されるプログラムは、前記割込の発生を検出し、検出する毎に読み出し要求を出力し、前記入力制御手段は、前記判定手段により、前記保護ドメインで実行されていると判定された場合に、入力順に従い、前記文字列に含まれる1文字を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に、前記順位に従って前記囮情報に係る囮値の1つを前記プログラム実行手段に対し出力することとしてもよい。
【0013】
この構成によれば、プログラム実行手段により実行させるプログラムは、前記割込通知を受け付けてから入力情報の読み出し要求を発するという手順に従うことになり、文字を取得するために保護プログラムが行うのと同じ手順に従って前記読み出し要求を発する不正なプログラムに対して、前記文字に代えて前記囮値を取得させることができる。
また、前記入力取得手段は、受け付けた入力情報のうち連続する文字が、入力キャンセルを示す所定の組み合わせである場合に、前記囮情報において出力されていない囮値の残数回更に割込を発生させることとしてもよい。
【0014】
この構成によれば、入力情報のユーザによる入力が途中でキャンセルされても、不正なソフトウェアにとって、入力情報を取得するための正規の手順に従い、非保護ドメインで実行される不正なソフトウェアに、継続して囮値を取得させて、囮情報を全て取得させることができる。
また、前記情報セキュリティ装置は、更に、前記囮情報と無関係な付加情報を記憶する付加情報記憶手段を備え、前記入力制御手段は、取得した複数の入力情報中に制御文字が含まれ、入力情報の文字総数が前記囮情報に含まれる囮値の個数を超えた場合に、入力情報の取得要求に対応して前記付加情報を出力することとしてもよい。
【0015】
この構成によれば、入力情報の文字総数が前記囮情報に含まれる囮値の個数を超える場合であっても、囮情報と、付加情報とを取得させるので、非保護プログラムに対し、取得した情報のうち無関係な特定の制御文字を除く囮情報が、意味ある情報であると認識させることができる。
また、前記入力デバイスは、キーボードであり、前記入力情報は、文字列であり、前記入力情報における文字は、利用者が前記キーボードのうち押下されたキーに対応する値であり、前記囮値は、不正な利用者の特定に用いられる特定値であることとしてもよい。
【0016】
この構成によれば、キーボード入力される入力情報が非保護プログラムに取得されて漏洩するのを防ぐとともに、入力情報に代えて特定値を取得させることができる。
また、前記プログラム実行手段と前記判定手段とはバスを介して接続されており、前記プログラム実行手段は、前記判定手段に対し、通信データの所定送信単位毎に、実行中のプログラムが前記保護ドメインで実行されているか否かを示す属性情報を付して送信し、前記判定手段は、前記取得要求を取得したときに前記属性情報が前記保護ドメインで実行されていることを示す場合に、前記取得要求に係るプログラムが前記保護ドメインで実行されていると決定することとしてもよい。
【0017】
この構成によれば、前記判定手段は、信号の所定送信単位毎に、その信号が保護プログラムの制御に従って送信されたものであるか否かを判定するので、実行中のプログラムがアクセス権限を有するか否かの判定をより正確に行うことができる。
また、前記プログラム実行手段及び前記判定手段は、前記バスを用いて通信データを送信する場合に、前記通信データと前記属性情報とを一体的にスクランブルすることとしてもよい。
【0018】
この構成によれば、属性情報がバスを流れている間に改竄されてしまうのを防ぎ、セキュリティを高めることができる。
また、前記判定手段は、更に、前記プログラム実行手段から新たな囮情報の書き込み要求を受け付け、前記書き込み要求を受け付けたときに前記プログラム実行手段が実行中のプログラムが、前記保護ドメインで実行されているか否かを判定し、前記入力制御手段は、更に、前記書き込み要求を受け付けたときにされた判定において、前記保護ドメインで実行されていると判定された場合に、受け付けた前記囮情報を前記囮情報記憶手段に記憶させ、前記保護ドメインで実行されていると判定されなかった場合に、受け付けた前記囮情報を破棄することとしてもよい。
【0019】
この構成によれば、保護プログラムによってのみ囮情報の更新を許可するので、囮情報の更新を要する場合であっても安全に更新することができる。
また、前記入力制御手段は、更に、出力する情報の置き換え可否を示す出力選択情報を保持し、プログラムを保護ドメインで実行中のプログラム実行手段からのみ前記出力選択情報の内容の変更を許可し、前記出力選択情報の内容が出力の置き換え可を示す場合に、前記囮情報に代えて前記入力情報を出力することとしてもよい。
【0020】
この構成によれば、入力制御手段について、囮情報か入力情報のいずれを出力させるかの制御を行うことができる。
また、前記保護プログラムは、前記入力情報が前記非保護プログラムから隔離すべき秘匿情報である場合に、内容が出力の置き換え否を示す出力選択情報を書き込み、前記秘匿情報でない場合に、内容が出力の置き換え可を示す出力選択情報を書き込む制御を行う命令コードを含み、前記プログラム実行手段は、前記保護プログラムに従って前記出力選択情報を前記入力制御手段に書き込むこととしてもよい。
【0021】
この構成によれば、保護プログラムが、囮情報か入力情報のいずれを非保護プログラムに取得させるかの選択制御をすることができる。
また、前記情報セキュリティ装置は、更に、前記判定手段により、前記保護ドメインで実行されていると判定されなかった場合に、非保護プログラムによる取得要求が発生したことを提示するユーザーインターフェイスを備えることとしてもよい。
【0022】
この構成によれば、非保護プログラムが、入力情報の読み出しを試みていることを示す表示を行って、利用者に注意を喚起することができる。
また、前記プログラム実行手段は、前記保護ドメインと、前記非保護ドメインとを時間的に切り替える切替機構を備えており、ドメインに応じたプログラムを実行し、前記入力制御手段は、前記出力の際、前記切替機構による切替により、出力先が前記取得要求したプログラムと異なっている場合には、前記取得要求したプログラムに切り替わるのを待って出力することとしてもよい。
【0023】
この構成によれば、保護ドメインと非保護ドメインを時間的に切り替えるので、保護ドメインと非保護ドメインとでハードウェア資源を共用し、ハードウェア資源の利用効率を高めつつ、非保護プログラムにより前記入力情報が取得されるのを確実に防ぐことができる。
また、前記保護プログラムは、予め正当性が認証されており、前記プログラム実行手段は、前記非保護ドメインから特定のハードウェア資源の使用を妨げる保護機構を有し、前記保護ドメインは、少なくとも特定のハードウェア資源を用い、前記非保護ドメインは、前記特定のハードウェアを除くハードウェア資源を用い、前記入力制御手段は、前記入力情報を出力する場合、前記保護機構により保護されるハードウェア資源に対し出力することとしてもよい。
【0024】
また、前記特定のハードウェア資源は、特定の汎用レジスタ、特定のキャッシュメモリ及び特定のアドレス変換バッファを含むこととしてもよい。
この構成によれば、重要なハードウェア資源を非保護ドメインで実行させるプログラムから隔離してセキュリティを向上し、かつ非保護プログラムにより前記入力情報が取得されるのを確実に防ぐことができる。
【0025】
本発明は、利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置と、情報セキュリティ装置から受け取る認証情報に基づきサービスの提供可否を判別するオンラインサービス提供装置とを含むセキュリティシステムであって、前記情報セキュリティ装置は、保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得手段と、囮情報を記憶している囮情報記憶手段と、前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定手段と、前記判定手段により、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御手段と、前記認証情報として前記入力制御手段により出力される情報を前記オンラインサービス提供装置に送信する通信手段とを備え、前記オンラインサービス提供装置は、前記認証情報として、前記入力情報を取得した場合に前記オンラインサービスを提供し、前記囮情報を取得した場合に前記オンラインサービスを提供しない。
【0026】
この構成によれば、不正な利用者が、不正に取得した入力情報に従って認証を成功させオンラインサービスの提供を受けるのを阻止することができる。
また、前記オンラインサービス提供装置は、更に、新たな囮情報を生成し、前記新たな囮情報を前記情報セキュリティ装置にセキュア通信により送信し、前記通信手段は、前記セキュア通信により前記新たな囮情報を受信し、前記プログラム実行手段は、前記保護プログラムに従い前記新たな囮情報を囮情報として前記囮情報記憶手段に書き込むこととしてもよい。
【0027】
この構成によれば、オンラインサービス提供装置が、情報セキュリティ装置の囮情報記憶手段に記憶された囮情報を所望の情報に安全に更新することができる。
また、前記オンラインサービス提供装置は、更に、前記情報セキュリティ装置以外の外部装置から、認証情報として前記囮情報を取得した場合に、前記外部装置に係る情報を格納する不正端末記憶手段を備え、認証情報として前記囮情報を送信する装置に対するサービスの提供を拒否することとしてもよい。
【0028】
この構成によれば、不正な端末装置に関する情報を蓄積することができる。
また、前記セキュリティシステムは、更に、盗聴者の特定を行う捜査機関に係る捜査装置を含み、前記オンラインサービス提供装置は、前記不正端末記憶手段に記憶された情報を前記捜査装置に送信することとしてもよい。
この構成によれば、不正な端末装置に関する情報を捜査機関に提供することができる。
【0029】
また、前記オンラインサービスは、電子商取引における決済処理を含むこととしてもよい。
この構成によれば、電子商取引において、不正な決済処理が行われるのを防ぐことができる。
また、利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置に用いられる入力情報漏洩防止方法であって、前記情報セキュリティ装置は、
保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、囮情報を記憶する囮情報記憶手段とを備えており、前記入力情報漏洩防止方法は、前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得ステップと、前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定ステップと、前記判定ステップにより、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御ステップとを含む。
【0030】
この構成によれば、非保護ドメインで実行される不正なプログラムによって入力情報が取得されるのを阻止し、かつ、入力情報を取得するために保護プログラムが行うのと同じ手順に従って前記読み出し要求を発する非保護プログラムに、前記入力情報に代えて前記囮情報を取得させることができる。
【発明を実施するための最良の形態】
【0031】
1.セキュリティシステムの構成
図1は、本発明の一実施形態に係るセキュリティシステムの構成を示す図である。
前記セキュリティシステムは、情報セキュリティ装置1、決済会社4、捜査団体5、オンライン商店31及びオンライン商店32を含んで構成される。
オンライン商店31は、ネットワークを介してサービスの提供、商品の販売等を行うサーバ装置である。オンライン商店31は、顧客との間でサービス提供の契約、商品の販売契約等が成立した場合に、顧客の所有するキャッシュカードの番号、有効期限、顧客の生年月日等、決済に必要な決済情報を顧客の端末からネットワークを介して受け取る。
【0032】
オンライン商店31は、専用回線を介して接続する決済会社4に前記決済情報を送信する。
決済会社4は、前記決済情報を受信し、前記決済情報を用いて顧客の銀行口座等から前記商品の代金等の引き落とし手続を行うサーバ装置である。
捜査団体5は、不正な決済情報を送信する顧客の端末等を特定するサーバ装置であり、前記不正な決済情報を含む捜査に必要な情報を、専用回線を通じて接続する決済会社4から取得する。
【0033】
オンライン商店32は、オンライン商店31と同様のサーバ装置であり、オンライン商店31とは取り扱うサービス、商品が異なるものである。
情報セキュリティ装置1は、オンラインで提供される電子商取引等のサービスを利用したり、商品等を購入する顧客が所持する端末である。
情報セキュリティ装置1の詳細については、後述する。
【0034】
ネットワーク網2には、前述の決済情報など情報セキュリティ装置1内の個人情報等を不正に読み出そうとする盗聴者の利用装置6が接続されることがある。
前記セキュリティシステムにおいて、情報セキュリティ装置1は、前記決済情報を不正に読み出そうとされた場合に、前記決済情報に代えて不正な端末を特定するための囮情報を利用装置6に送信する。
【0035】
ここで、囮情報は、予め、決済会社4、捜査団体5等が定めた、前記決済情報を不正に読み出して使用を試みる者など不正な者の身元の追跡を容易にするための特定の情報である。
前記利用装置6が前記囮情報に基づいて決済を決済会社4に依頼した場合に、決済会社4は、前記囮情報と囮即値データベース41を用いて不正な端末である前記利用装置6を特定する。
【0036】
以下、前記セキュリティシステムの詳細について、本発明の主要部である情報セキュリティ装置1を中心に詳細に説明する。
1.1.情報セキュリティ装置1の構成
情報セキュリティ装置1は、中央演算装置101、メモリコントローラハブ102、IOコントローラハブ105と、それに接続される主記憶メモリや各種IOデバイス群により構成されている。
【0037】
中央演算装置101は、CPU(Central Processing Unit)コアを含む。
CPUコアは汎用レジスタ、キャッシュ、TLB(Translation Look-aside Buffer)等のハードウェア資源を含む。
ここで、中央演算装置101について説明するために、ソフトウェアが実行される環境であるドメインという概念を用いる。
【0038】
中央演算装置101は、非保護ドメイン1011、保護ドメイン1012の2つのソフトウェア実行環境を有しており、CPUコアが、非保護ドメイン1011→保護ドメイン1012→非保護ドメイン1011等のように時分割で資源を共有しつつ現在のドメインを切り替える。
ドメインそれぞれは厳格に区別され、非保護ドメインで実行されるソフトウェアは、保護ドメインで実行されるソフトウェアが利用した汎用レジスタやキャッシュ、TLBなどの内容に一切アクセスすることはできない。
【0039】
具体的には、CPUコアのハード資源である汎用レジスタ、キャッシュ、TLBの内容等のコンテキストは、各ドメインにおけるソフトウェアの動作が、他のドメインにおけるソフトウェアの動作に影響しないよう、ハードウェアまたは低レベルのソフトウェアによって退避及び復帰される。
保護ドメイン1012では、高度なセキュリティを要する限られたソフトウェア群が実行される。後述するように保護ドメインで動作するソフトウェアは、完全性(第3者によって改竄されていないこと)を保証することが可能である。
【0040】
一方、非保護ドメイン1011では、Windows(登録商標)やUnix(登録商標)など一般的に広く利用されているオペレーティングシステムとそのアプリケーションが動作し、キー・ロガーをはじめとする悪意のあるソフトが混入しうる。
割込受信部1014は、図1の情報セキュリティ装置1上の全デバイスから中央演算装置101に対する割り込みが発生した際にそれを捕捉し、中央演算装置101に対し割り込み要因を通知する。
【0041】
割込受信部1014が管理する中央演算装置101への割り込み要因は、非保護ドメイン1011と保護ドメイン1012毎に適切に分離する。適切に分離しなければ、保護ドメイン1012に対する割り込み要因は非保護ドメイン1011によって改竄されうる場合に、保護ドメイン1012で動作するソフトウェアのトリガが消去されてしまうからである。
割り込みは、非保護ドメイン1011、保護ドメイン1012のソフトウェアが動作するトリガとして利用される。
【0042】
主記憶メモリ105は、中央演算装置101上で実行される全てのソフトウェア群が用いる主記憶メモリであり、非保護メモリ1041及び保護メモリ1042から構成される。
非保護メモリ1041は、中央演算装置101上の全てのドメインや他のIOデバイス(例えば表示出力部103)からアクセス可能である。
一方、保護メモリ1042は中央演算装置101の保護ドメイン101からのみアクセス可能である。保護ドメイン1042の命令コードは保護メモリ1042にのみ配置され、非保護ドメイン1041からは一切改竄されていない状態で命令が実行される。
【0043】
表示出力部103は、主記憶メモリ104上に格納されている画像を取得し、表示デバイス131に対して転送する機能を持つ。
メモリコントローラハブ102は、中央演算装置101、表示出力部103、主記憶メモリ104、IOコントローラハブ105の間のアクセスを中継するハブであり、一般的に「ノースブリッジ(North Bridge)」と呼ばれる。
【0044】
メモリコントローラハブ102は、保護ドメイン1012からのみ保護メモリ1042にアクセスできるようアクセス制限を実現する主記憶メモリ保護部1021を含む。
IOコントローラハブ105は、メモリコントローラハブ102を経由してアクセスされる中央演算装置101からのアクセスと各種IOデバイス群との中継や、各種IOデバイスと主記憶メモリ104の間でDMA(Direct Memory Access)を行う持つハブであり、一般的に「サウスブリッジ(South Bridge)」と呼ばれる。
【0045】
IOコントローラハブ105に接続されるIOデバイスには、キー入力部107、マウス108、ネットワーク網2とのインターフェースであるネットワークIF部109、情報セキュリティ装置1の2次記憶装置として利用されるHDD(Hard Disk Drive)110、TPM(Trusted Platform Module)111、BIOS−ROM(Basic Input/Output System - Read Only Memory)112、ユーザへ音声を出力する音声デバイス132に対して音声データを転送する音声出力部113等がある。
【0046】
TPM111は、情報セキュリティ装置1のセキュリティ強度を高めるデバイスである。
TPM111は、主に、OS、アプリケーションなどの完全性の状態を検出して、検出の結果を安全に格納する。また、TPM111は、RSA(Rivest Shamir Adleman)暗号やSHA-1(Secure Hash Algorithm 1)等の暗号演算に用いる鍵を安全に格納しており、前記鍵を用いて前記暗号演算を行う。
【0047】
TPM111が、保護メモリ1042に格納された保護ドメイン1012の命令の完全性の状態を検出し、完全性が保証された命令のみ実行するので、非保護ドメイン1011のソフトウェアにより保護ドメイン1012の命令が改竄された上で実行されることはない。
BIOS−ROM112は、情報セキュリティ装置1に電源を投入した際、又はリセットを行った際に最初に中央演算装置1にて実行されるBIOSを格納するデバイスである。
【0048】
BIOSは、情報セキュリティ装置1における各種デバイスの初期設定を行った後、HDD110からオペレーティングシステムを主記憶メモリ104にロードする等の処理を行う。
BIOSは、情報セキュリティ装置1において最初に動作する重要なソフトウェアであるので、TPM111による完全性確認の対象となっている。
キー入力部107は、キーボード等、ユーザが情報セキュリティ装置1に対して文字を入力するほか、何らかの動作(例えばパワーオンなど)を要求する際に用いられるデバイスである。
【0049】
キー入力インターフェース部106は、キー入力部107から入力された情報を、必要に応じて加工し、中央処理装置101に対し出力するインターフェイスである。
図2は、キー入力インターフェース部106の詳細を示す図である。
キー入力インターフェイス部106は、囮即値記憶部1061、バスインターフェイス部1062、キー入力記憶部1063及び割込発生部1064を含んで構成される。
【0050】
キー入力インターフェイス部106は、データの読み出し及びデータの書き込みに用いられるIOポートを備える。そのIOポートには、アドレスが割り振られている。
図5は、キー入力インターフェース部106のIOアドレスマップの一例を示す。
アドレス0x00は、キー入力記憶部1063に割り当てられている。
即ち、キー入力インターフェース部106のアドレス0x00をリードすれば、キー入力記憶部1063に格納されている情報を読み出すことができる。
【0051】
アドレス0x14は、第1の記憶部10611に割り当てられており、保護ドメインからアドレス0x14にライトすれば囮即値記憶部1061の第1の記憶部10611に格納する即値を設定できる。
アドレス0x18は、第2の記憶部10612に割り当てられており、保護ドメインからアドレス0x18にライトすれば囮即値記憶部1061の第2の記憶部10612に格納する即値を設定できる。
【0052】
なお、非保護ドメインから、アドレス0x14、0x18へアクセスすることは許されない。
アドレス0x10は、キー入力インターフェース部106の囮即値出力モードを記憶するレジスタに割り当てられている。
囮即値出力モードが「1」に設定されると、アドレス0x00に対し非保護ドメインからリード要求があった場合、リードした値を囮即値記憶部1061に格納されている値にすげ替えて出力する。
【0053】
囮即値出力モードが「0」に設定されると、アドレス0x00に対し非保護ドメインからリード要求があった場合、リードした値をそのまま出力する。
上述したアクセス制限は、バスインターフェース部106が内部バス191を用いて指示されるアドレスやセキュア属性から判断して実行する。
バスインターフェイス部1062は、IOコントローラハブ105の内部バスである内部バス191を介して、中央処理装置101等のバスマスターと通信する。
【0054】
内部バス191で伝送される信号の1つは、中央演算装置101によりアクセス毎に付与されるセキュア属性信号1911である。セキュア属性信号1911を確認することで、中央演算装置101からのアクセスが、保護ドメイン1012からのものか否かを識別できる。
図3は、内部バス191を用いた、バススレーブ側であるバスインターフェイス部1062と、バスマスター側である中央処理装置101との間のクロック同期方式による通信信号の一例を示す図である。
【0055】
バス要求信号は、バスマスタ側が信号を送信する場合にHIGHにする信号である。
バスマスタ側は、バス要求信号をHIGHにすると同時に、RW識別信号やセキュア属性信号191、アドレスを同時に出力する。
キー入力インターフェース部106を含むバススレーブ側は、バス要求信号がHIGHになったことを検出し、バス応答信号をHIGHにすると同時に、RW識別信号を読み取る。
【0056】
RW識別信号がHIGH、即ちライトアクセスであれば、バススレーブ側はWデータ(ライトデータ)を受け付ける。RW識別信号がLOW、即ちリードアクセスであればバスマスタ側に通知すべきデータをRデータとして出力する。
そして、バススレーブ側は、バス応答信号をLOWにする。次いで、バスマスタ側が、バス要求信号をLOWにすることで、一連の通信が完了する。
【0057】
一連の通信において、セキュア属性信号1911がHIGHであれば、保護ドメイン1012からのアクセスであることを示し、LOWであれば非保護ドメイン1011又は中央演算装置101以外のバスマスタからのアクセスであることを示す。
なお、図3に示す信号は、保護ドメイン1012からのライトアクセスと、非保護ドメイン1013からのリードアクセスの例を示している。
【0058】
キー入力記憶部1063は、キー入力部107から送信されるユーザが選択したキーの情報を格納する。
この情報は、通常、ユーザがいずれかのキーを押下または押上される毎に送信されるが、長時間同一のキーの押下の状態が連続した場合にはある周期毎に送信される。
図4は、キー入力部107が入力を受け付けるキーと、受け付けたキーに対応する2種類のコードとの対応を示す図である。
【0059】
2種類のコードの一方はPS/2キーボードで用いられるスキャンコードであり、他方はUSBキーボードで用いられるUSBキーコードである。
前記スキャンコードは、押下または押上された(状態に変化のあった)キーの情報が送信される。押下の場合に送信されるスキャンコードをメイクコード、押上の場合に送信されるスキャンコードはブレークコードと呼ばれる。
【0060】
例えば、「A」が押下になっている状態で「S」も押下されると、キー入力部107からは「1B」のスキャンコードが送信されてくる。
一方USBキーコードの場合は、押下の「状態」の情報が送信されてくるので、この場合「07 04」「07 16」の2つの値が連続して送信されることになる。
割り込み発生部1064は、キー入力記憶部1063にキー入力部107から送信された情報が格納されると(キー入力記憶部1063内の情報が空でなくなると)中央演算装置101に対して割り込みを発生し、キー入力記憶部1063の情報をリードするよう要求する。
【0061】
割込受信部104が、キー入力記憶部1063の情報をリードするよう要求することを示す割り込みを捕捉すると、割込があったことを中央演算装置101上のソフトウェアに通知する。前記通知されたソフトウェアは、キー入力記憶部1063にある情報が空になるまでリードし、読み込んだスキャンコードまたはUSBキーコードをアスキーコード等のアプリケーションが文字を扱う際のフォーマットに変換してアプリケーションに渡す。
【0062】
囮即値記憶部1061は、キー入力値の囮として用いる即値を保護ドメイン1012が指定できるように構成された記憶デバイスであり、第1の記憶部10611と第2の記憶部10612とを含んで構成される。
第1の記憶部10611は、キー入力記憶部1063に記憶されているキーコードを、すげ替えるための囮即値を記憶する記憶デバイスである。
【0063】
第1の記憶部10611はFIFO(First-In First-Out)構造を有している。非保護ドメインからアドレス0x00をリードされた場合には、保護ドメイン1012のソフトウェアからのライト順が早いものから出力する。
第1の記憶部10611は、囮として利用したいキー情報を格納するのに十分な容量、例えば図4に示すスキャンコード又はUSBキーコードを複数回分格納できる容量を持つ。
【0064】
前記容量は、例えばオンラインバンキングやインターネットショッピングに用いられる場合であれば、アカウントのログインパスワード等の文字量から判断して64バイト程度あれば十分である。もちろん、64バイト以上の容量であってもいい。
第2の記憶部10612は、シフトキー等、クレジットカード番号の情報として用いられることのないような文字でない制御キーに相当する情報を格納する記憶デバイスである。
【0065】
第2の記憶部10612に記憶されている情報は、第1の記憶部10611内部の情報が空になった場合に用いられる。
前述の通り、保護ドメイン1012から行われるキー入力記憶部1063のリードと、非保護ドメイン1011から行われる第1の記憶部10611からのリードは、同じデータ量だけ順次進んでいくことになるが、保護ドメイン1012で想定しているより多いキー入力をユーザが行う場合がある。
【0066】
例えば、16桁のクレジットカード番号であれば、ユーザは、カード番号として全16桁の数字を入力すると想定されるが、カード番号の入力途中でシフトキーを押したり、キーボードの上部にあるようなファンクションキーを押したりすることがあり得る。
第1の記憶部10611には、囮即値として16桁分の情報が記憶されているが、この場合、ユーザがクレジットカードの番号を入力し終える前に、16個のキーを押してしまう。
【0067】
すると、16個のキーをユーザが押した時点で、第1の記憶部10611から16桁の囮即値が全て読み出されてしまい、第1の記憶部10611に記憶された情報が空になってしまう可能性がある。この時に、ユーザが17個目のキーを押して以降は、第2の記憶部10612に記憶されているデータが囮即値として出力される。
また、ユーザがクレジットカード番号の値を入力している途中でその処理をキャンセルするケースもあり得る。この場合、第1の記憶部10611に格納されている囮の値は悪意のある非保護ドメイン1011のソフトウェアによって途中まで読み込まれている可能性があるが、この場合は中央演算装置101に対して敢えて割り込みを発生させ、囮の値を悪意のある非保護ドメイン1011のソフトウェアに最後まで読み込ませるようにすれば、囮の値を取得させる可能性を高めることが可能である。
【0068】
ここで、第2の記憶部10612への値の書き込みは、保護ドメイン1012のソフトウェアのみ可能である。
なお、情報セキュリティ装置1においては、保護ドメイン1012のソフトウェアが、サービスを利用するアプリケーションの全部又は一部を、情報セキュリティ装置1のユーザに対して提供する。
【0069】
具体的には、情報セキュリティ装置1のキー入力部107から入力されたユーザの個人情報を暗号化してオンライン商店31や32に転送したり、あるいはオンライン商店31や32から通知される囮のキー入力情報を受信し、囮即値記憶部106の第1の記憶部10611に設定することを保護ドメイン1012のソフトウェアが実行する。
1.2.オンライン商店31、32、決済会社4及び利用装置6の構成
オンライン商店31、32は、そのサービスを提供する主体者が所有するサーバ装置であり、課金処理が必要になった場合には決済会社4に対してその処理を依頼する。
【0070】
決済会社4は、クレジットカードによる決済を行う企業が所有するサーバ装置である。
図8は、決済会社4の内部構成を示すブロック図である。
決済会社4は、囮即値情報データベース41、正規情報データベース42、認証判定手段43、囮即値活用者データベース44及び決済手段45を含んで構成される。
囮即値情報データベース41は、前述の情報セキュリティ装置1のキー入力インターフェース部106において、囮のキー入力として利用できる値を記憶するデータベースである。
【0071】
前記囮のキー入力として利用できる値は、情報セキュリティ装置1を用いるユーザがオンライン商店31や32が提供するサービスを利用する際、オンライン商店31からの要求に応じて決済会社4から渡され、その値がネットワーク網2を介して情報セキュリティ装置1に通知される。
正規情報データベース42は、ユーザの上記決済処理等に用いる正規のクレジットカード番号、ユーザの生年月日等を格納している。
【0072】
囮即値活用者データベース44は、利用された囮即値と、その囮即値を利用した者に関する情報とを格納している。
決済手段45は、認証判定手段43から受け取る指示に従い決済処理を行う。
認証判定手段43は、オンライン商店31から課金処理に関する課金要求を受け付ける。
前記課金要求には、情報セキュリティ装置1において、ユーザが課金などの処理を行う段階でキー入力部107から入力されたキー入力情報が含まれている。
【0073】
ネットワーク網2を通して、前記課金要求など課金に関係する情報を通信する場合には、SSL(Secure Socket Layer)やTLS(Transport Layer Security)のような暗号化を伴う通信を用いる。
認証判定手段43は、前記課金要求に含まれるキー入力情報が正規情報データベース42に含まれるのか、囮即値情報データべース41に含まれるのかを判定する。
【0074】
認証判定手段43は、前記キー入力情報が正規情報データベース42に含まれる場合は、決済手段45に対しオンライン商店31の要求通りに前記ユーザに対する課金処理を実行するよう指示する。
前記キー入力情報が囮即値情報データベース41に含まれる場合は、前記キー入力情報である、その囮即値として利用された値を囮即値活用者データベース44に記録する。
【0075】
また、その囮即値を利用した者について、オンライン商店31が持っている情報を受け取り、受け取った情報を前記囮即値として利用された値に対応付けて囮即値活用者データベース44に格納する。前記オンライン商店31が持っている情報としては、前記盗聴者の利用装置6のIPアドレス又はその利用装置6がネットワーク網への接続に利用しているプロバイダのIPアドレスであっても良いし、盗聴者の住所や電話番号であっても良い。
【0076】
認証判定手段43は、前記キー入力情報が、正規情報データベース42、囮即値情報データべース41のいずれにも含まれない場合は、情報セキュリティ装置1に対して再度情報の入力を促す。
盗聴者の利用装置6は、前述の情報セキュリティ装置1の非保護ドメイン1011に侵入して、そのキー入力情報を取得しようとする盗聴者が利用する装置である。
【0077】
具体的には、パーソナルコンピュータ等である。
2.動作
以下、不正なソフトウェアが組み込まれた場合のセキュリティシステムの動作について説明する。
まず、ユーザは、情報セキュリティ装置1におけるブラウザ等を用いて電子商取引を開始する。
【0078】
そして、ユーザは、クレジットカードの番号を入力すべく、マウス108を用いてブラウザにおけるGUI(Graphical User Interface)上のクレジットカード番号入力ウィンドウを選択する。
前記ユーザによる、クレジットカード番号入力ウィンドウの選択イベントをトリガとして、保護ドメインのソフトウェアは、囮として用いるクレジットカード番号の即値「1234567812345678」を、その即値に対応したスキャンコードまたはUSBキーコードの形で第1の記憶部10611に設定し、囮即値出力モードの設定(アドレス0x10)を「1」にする。
【0079】
ここで、ユーザは、実際にユーザがキー入力部107を介してキーを入力し、キー入力記憶部1063にその情報が格納される。
そして、割り込み発生の状態を示すアドレス0x04のレジスタが、「アドレス0x00の読み出し要求有」の状態となると共に、割込発生部1064が、割込の発生を示す割込通知信号1065を中央演算装置101の割込受信部1014に出力する。
【0080】
中央演算装置101において、この割り込みはキー入力イベントとして、非保護ドメイン1011、保護ドメイン1012それぞれに伝達される。
これにより、保護ドメイン1012上のソフトウェアが、このキー入力イベントを捕捉し、キー入力インターフェース部106のアドレス0x00にアクセスして、キー入力記憶部1063の情報を取得する。
【0081】
この取得した情報は、ユーザが実際に入力した正規の情報であり、SSL(Secure Socket Layer)等の適切な暗号処理が保護ドメインでなされた上で、電子商取引等に用いられる。
一方で、非保護ドメイン1011上の不正なソフトウェアもこのキー入力イベントを捕捉し、キー入力インターフェース部106のアドレス0x00にアクセスする。
【0082】
このとき、アドレス0x00のレジスタには、囮即値記憶部1061に格納されている情報が設定される。
よって、前記不正なソフトウェアは、アドレス0x00のレジスタから、ユーザがキー入力した情報でなく囮即値記憶部1061に格納されている囮のキー入力値を取得する。
囮即値出力モードの設定(アドレス0x10)を「1」に設定した場合については、非保護ドメインでこのキー入力イベントを利用する正規のソフトウェアは存在しない。
【0083】
しかし、それを知らないで情報セキュリティ装置1に侵入した不正なソフトウェアは、このような実装になっていることに気づくことなく囮のキー入力値を取得することになる。
前記不正なソフトウェアは、情報セキュリティ装置1に侵入して取得した囮の即値(つまり、囮即値情報データベース41に含まれていた値)をHTTPやFTPなどの通信手段を用いて、盗聴者の利用装置6に送信する。
【0084】
そして、盗聴者はその情報を、情報セキュリティ装置1の利用者の正規の個人情報(クレジットカードの番号等)だと認識した状態で、利用装置6に、前記情報を用いて決済をするよう利用装置6を操作する。
利用装置6は、囮の即値をオンライン商店31又は32に送信する。
オンライン商店31は、前記囮の即値を決済会社4に送信する。
【0085】
決済会社4の認証判定手段43は、前記課金要求に含まれるキー入力情報が、囮即値情報データべース41に含まれると判定し、前記キー入力情報である、その囮即値として利用された値を囮即値活用者データベース44に記録する。
また、認証判定手段43は、オンライン商店31から、その囮即値を利用した者について、オンライン商店31が持っている情報を受け取り、受け取った情報を前記囮即値として利用された値に対応付けて囮即値活用者データベース44に格納する。
【0086】
そして、認証判定手段43は、前記オンライン商店31が持っている情報、前記囮即値として利用された値とを捜査団体5に送信する。
捜査団体5は、前記オンライン商店31が持っている情報、前記囮即値として利用された値とを受信し、受信した情報を用いて、盗聴者の利用装置について捜査する。
このようなセキュリティシステムを用いれば、コンピュータシステムに侵入してキー入力情報を盗聴しようとする者を追跡できる可能性が高めることができる。
【0087】
なぜならば、盗聴者は情報セキュリティ装置1などに侵入する際には自分の身元が暴露しないように入念に注意するのが一般的であるが、盗聴した情報を利用して、オンライン商店の正規の顧客としてサービスを享受しようとする際にはその警戒心が薄れ盗聴者の身元の追跡につながる情報を得る機会が増えるからである。
また、従来の技術では、情報セキュリティ装置1に対する侵入が発生した際、情報セキュリティ装置1を利用する個々のユーザが限られた知識の中で対策を施す必要があったが、本発明を用いれば決済会社やオンライン商店のような盗聴者の追跡に関して専門知識を期待できる団体に対して、盗聴者が直接アクセスする可能性が高まるというメリットがある。
3.変形例その他
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0088】
(1)情報セキュリティ装置の構成について
図1の情報セキュリティ装置の構成は、パーソナルコンピュータに多く見られる構成であるが、発明の実施に適したものの一例にすぎず、本発明の使用または機能の範囲についてどんな制限も意味しない。
(2)ドメインの切替について
上述の実施形態におけるドメインの切替は、非保護ドメイン1011と保護ドメイン1012の時分割的な切替を管理する「モニタドメイン」を下位のレイヤーとして設け、上位のドメイン(非保護ドメイン+保護ドメイン)に対する仮想マシンモニタとして機能させても良い。
【0089】
(3)ドメインの構成について
非保護ドメイン1011と保護ドメイン1012は、CPUコア毎に物理的に分割されていても良いし、CPUコア内部で論理的に分割されていても構わない。
前者は、CPUコアが複数存在し、それぞれに対して非保護ドメイン1011、保護ドメイン1012が固定的に割り当てられる形態であることを指す。
【0090】
(4)ドメイン切替処理について
ドメインを切り替える処理において、キャッシュやTLBのように容量の大きなものは、時間的な制約上、ドメインが切り替わる際に全てを退避、復帰しなくてよい。
例えば、キャッシュラインのような要素毎に、非保護ドメイン1011と保護ドメイン1012のどちらが所有しているのかをハードウェアで管理し、非保護ドメイン1011から保護ドメイン1012が所有する要素を参照しようとした場合に、ミスヒットの扱いとなるようにする。
【0091】
この時、保護ドメイン1012の要素は主記憶メモリに退避され、非保護ドメイン1011の要素を復帰する動作は、要素毎に実施する。
(5)割込受信部1014による割込の制御について
ある1つのデバイスからの割り込みは、非保護ドメイン1011のみに伝達されてもよいし、保護ドメイン1012のみに伝達されてもよいし、両方に伝達される構成であっても構わない。これは、割込受信部1014の設定によってコンフィグレーションすることができる。
【0092】
両方のドメインへの割り込みが同時に発生した場合は、いずれか一方の割り込み処理が固定的に優先される。例えば、保護ドメイン1012への割り込み処理が優先されるとした場合は、その処理がなされている間、非保護ドメイン1011への割り込みはマスクされる。保護ドメイン1012は割り込みに対応した処理1012が区切りの良い部分まで実行された後、非保護ドメイン1011への割り込みマスクを解除する。
【0093】
(6)主記憶について
主記憶メモリ104は、DRAM(Dynamic Random Access Memory)などの汎用的な部品がそのまま利用されるケースが多く、主記憶メモリ保護部1021はメモリコントローラハブ102側に持つのが一般的ではある。しかし、本発明はこれに限定されることはなく、例えば、
主記憶メモリ保護部1021はメモリコントローラハブ102側に持たなくてもよい。
【0094】
(7)キー入力部107とIOコントローラハブ106の間の通信はUSBであっても、他のプロトコルによるものであっても構わない。
(8)本実施例ではキー入力記憶部1063から正規のキー入力値を読み込むことが可能なソフトウェアは、中央演算装置1上の保護ドメインで実行するソフトウェアであるとしたが、これには限定されない。どのようなソフトウェアを正規のキー入力を取得することが可能な権限を有するものとして定義するかは情報セキュリティ装置1のセキュリティポリシーに依存する。たとえばそれは中央演算装置101上のプロセス番号によって識別されてもよいし、そのプロセスの所有者(owner)や実行ファイルの権限などの属性で決定しても構わない。
【0095】
(9)囮即値出力モードの設定が1である場合に、非保護ドメイン1011からキー入力記憶部1063のアドレス(図5の例では0x00)に対してリードが発生した場合は、悪意のあるソフトウェアが情報セキュリティ装置1に侵入していると判断して、中央演算装置101に割り込みを通知し、どのような値が囮としてリードされたのかを保護ドメイン1012のソフトウェアに明示的に認識させても良いし、GUI上に「○○という囮の値が読まれました」と表示しても良い。
【0096】
このようにすれば、盗聴者がどのような囮の値を取得したのかを明確になるため、その後の対策を講じやすくなる。
(10)上述の実施形態では、キー入力インターフェース部106はIOコントローラハブ105に内蔵されているとしたが、キー入力部107に内蔵されていても構わない。
この場合は、図2や図3のセキュア属性信号1911はチップの外部に露出するため、若干注意を要する。すなわち、図3のように保護ドメイン1012からのアクセスの場合にセキュア属性信号1911=HIGHなどと定義した場合、物理的な攻撃(例えばチップ間の信号が強引にHIGH状態になるように電圧を固定する等)を想定する必要がある。
【0097】
よって、チップの外部にセキュア属性を伴うバスが露出する場合は、通信内容をスクランブルすることが望ましい。
図6は、スクランブルを行う例を示すものであり、バスマスタ197側とバススレーブ198側それぞれにスクランブル部195、196を持つ。各々のスクランブル部には互いに等しい値を種(seed)とする乱数系列を出力する乱数部1952、1962を持つ。
【0098】
演算部1951は乱数部1952からの入力する乱数をもとに、図3にある信号のうちクロック線以外の全てを暗号化する。演算部1961は、演算部1951の逆演算を実施する。このようにすれば、バスマスタ197内部の内部バス192で発生していたバスと全く同じ動作をバススレーブ198側ででも発生できる。
この手法は、図1の中央演算装置101とメモリコントローラハブ102の間のバスや、メモリコントローラハブ102とIOコントローラハブ105の間のバスなどチップ外部に露出するバスに適用し得る。
(11)本実施例においては、キー入力部107に対して囮の入力を設定できる構成を説明したが、秘匿にするべき情報を扱うものであれば、他の入力機器であっても構わない。
(12)図1に述べた情報セキュリティ装置1は、他の構成、例えば図7のような構成としてもよい。
【0099】
図7は、携帯電話向けのアプリケーションプロセッサを用いたシステムに用いられる構成である。図7のアプリケーションプロセッサ部100は、1つのシステムLSIとしてパッケージされていることが多い。
中央演算装置101、メモリコントローラハブ102、表示出力部103、主記憶メモリ104、キー入力インターフェース106及びネットワークIF部109は図1と全く同じ構成である。
【0100】
携帯電話向けの情報セキュリティ装置であるので、基地局との通信を行うフロントエンド部120など図1との差異を持つデバイスが存在するが、本発明に直接関係しないので詳細は省略する。
(13)オンライン商店31や32は決済会社4と専用回線で接続されていても構わないし、前述のネットワーク網2を介して接続されていても構わない。
(14)顧客の個人情報をオンライン商店31や32が決済会社4と共有することには法的な問題が発生する可能性があるので、この囮即値活用者データベース44は犯罪の捜査権限を持つ捜査団体5に提供されることを前提にしたものであることが望ましい。
(15)本実施例では、オンライン商店31や32は決済会社4と独立した存在であるとしたが、同一の存在であったとしても構わない。
(16)囮即値情報データベース41の要素の数は、正規情報データベース42の要素の数と比べて、同程度の数であっても十分小さい数であっても構わないが、実際に盗聴行為を行う者の人数よりは十分大きいことが望ましい。
【0101】
なぜなら、あまりに小さい要素数である場合、盗聴者同士の情報交換によって、ある囮の即値が「囮である」旨が共有されてしまう可能性があるからである。
また、囮即値情報データベース41の各要素は、正規情報データベース42の各要素と1:1に対応していても良い。この場合には、囮の即値が盗聴者によって用いられた場合にその正規の顧客が盗聴されたのかを明確にできる利点がある。
(17)本実施例では課金にともなう決済に関する情報に対して囮の値を用いる説明をしたが、アカウントやログイン時のパスワードなど、何らかの認証処理に関わる情報であっても構わない。また、住所や電話番号などの個人情報に対して、本発明のような囮の値を設定しても構わない。
(18)前述の説明では「クレジットカードの番号を入力するウィンドウをGUI(Graphical User Interface)上で選択」した場合をトリガとして、本機構を利用した一連の処理を行うとしたが、これは発明の実施に適したものの一例に過ぎず、他のトリガを用いてもよい。
(19)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0102】
なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(20)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
【0103】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0104】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(21)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(22)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0105】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0106】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(23)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0107】
本発明に係る情報セキュリティ装置ならびにセキュリティシステムを用いれば、秘匿情報の盗聴を企てる者が全く意識しない形で囮のデータを採取させることで盗聴者の追跡を行うこと可能であるため、個人情報・企業情報など秘匿にすべき情報に対する盗聴対策が必要なコンピュータ端末(パーソナルコンピュータ、ワークステーション、デジタルAV機器、携帯電話等)、オンライン決済システム、企業ネットワークのセキュリティシステムの構築等に有用である。
【図面の簡単な説明】
【0108】
【図1】本発明の実施の形態を示す構成図である。
【図2】本発明の実施の形態におけるキーボード入力インターフェース部の一例を示す図である。
【図3】本発明の実施の形態におけるキーボード入力インターフェース部が接続されているバスのプロトコルの一例を示す図である。
【図4】本発明の実施の形態におけるキーボード入力インターフェース部が扱うキーコードの一例を示す図である。
【図5】本発明の実施の形態におけるキーボード入力インターフェース部のIOアドレスマップの一例を示す図である。
【図6】本発明の実施の形態におけるチップ外部のバスのスクランブルの一例を示す図である。
【図7】本発明の別の実施の形態を示す構成図である。
【図8】本発明の実施の形態における決済会社の構成の一例を示す図である。
【符号の説明】
【0109】
1 情報セキュリティ装置
2 ネットワーク網
4 決済会社
5 捜査団体
6 盗聴者の利用装置
31 オンライン商店
32 オンライン商店
101 中央演算装置
1011 非保護ドメイン
1012 保護ドメイン
1014 割込受信部
102 メモリコントローラハブ
1021 主記憶メモリ保護部
104 主記憶メモリ
1041 非保護メモリ
1042 保護メモリ
105 IOコントローラハブ
106 キー入力インターフェース部
1061 囮即値記憶部
10611 第1の記憶部
10612 第2の記憶部
1062 バスインターフェース部
1063 キー入力記憶部
1064 割り込み発生部
1065 割り込み通知信号

【特許請求の範囲】
【請求項1】
利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置であって、
保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、
保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、
前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得手段と、
囮情報を記憶している囮情報記憶手段と、
前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定手段と、
前記判定手段により、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御手段と
を備えることを特徴とする情報セキュリティ装置。
【請求項2】
前記入力情報は、文字列であり、
前記囮情報は、順位の定められた複数の囮値から成り、
前記入力取得手段は、前記入力情報における各文字を受け付ける毎に、前記プログラム実行手段に対し入力の受け付けを示す割込を発生し、
前記プログラム実行手段において実行されるプログラムは、前記割込の発生を検出し、検出する毎に読み出し要求を出力し、
前記入力制御手段は、前記判定手段により、前記保護ドメインで実行されていると判定された場合に、入力順に従い、前記文字列に含まれる1文字を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に、前記順位に従って前記囮情報に係る囮値の1つを前記プログラム実行手段に対し出力する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項3】
前記入力取得手段は、
受け付けた入力情報のうち連続する文字が、入力キャンセルを示す所定の組み合わせである場合に、前記囮情報において出力されていない囮値の残数回更に割込を発生させる
ことを特徴とする請求項2記載の情報セキュリティ装置。
【請求項4】
前記情報セキュリティ装置は、更に、
前記囮情報と無関係な付加情報を記憶する付加情報記憶手段を備え、
前記入力制御手段は、取得した複数の入力情報中に制御文字が含まれ、入力情報の文字総数が前記囮情報に含まれる囮値の個数を超えた場合に、入力情報の取得要求に対応して前記付加情報を出力する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項5】
前記入力デバイスは、キーボードであり、
前記入力情報は、文字列であり、
前記入力情報における文字は、利用者が前記キーボードのうち押下されたキーに対応する値であり、
前記囮値は、不正な利用者の特定に用いられる特定値である
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項6】
前記プログラム実行手段と前記判定手段とはバスを介して接続されており、
前記プログラム実行手段は、前記判定手段に対し、通信データの所定送信単位毎に、実行中のプログラムが前記保護ドメインで実行されているか否かを示す属性情報を付して送信し、
前記判定手段は、前記取得要求を取得したときに前記属性情報が前記保護ドメインで実行されていることを示す場合に、前記取得要求に係るプログラムが前記保護ドメインで実行されていると決定する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項7】
前記プログラム実行手段及び前記判定手段は、前記バスを用いて通信データを送信する場合に、前記通信データと前記属性情報とを一体的にスクランブルする
ことを特徴とする請求項6に記載の情報セキュリティ装置。
【請求項8】
前記判定手段は、更に、
前記プログラム実行手段から新たな囮情報の書き込み要求を受け付け、前記書き込み要求を受け付けたときに前記プログラム実行手段が実行中のプログラムが、前記保護ドメインで実行されているか否かを判定し、
前記入力制御手段は、更に、前記書き込み要求を受け付けたときにされた判定において、前記保護ドメインで実行されていると判定された場合に、受け付けた前記囮情報を前記囮情報記憶手段に記憶させ、前記保護ドメインで実行されていると判定されなかった場合に、受け付けた前記囮情報を破棄する
ことを特徴とする請求項1に記載の情報セキュリティ装置。
【請求項9】
前記入力制御手段は、更に、
出力する情報の置き換え可否を示す出力選択情報を保持し、プログラムを保護ドメインで実行中のプログラム実行手段からのみ前記出力選択情報の内容の変更を許可し、前記出力選択情報の内容が出力の置き換え可を示す場合に、前記囮情報に代えて前記入力情報を出力する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項10】
前記保護プログラムは、前記入力情報が前記非保護プログラムから隔離すべき秘匿情報である場合に、内容が出力の置き換え否を示す出力選択情報を書き込み、前記秘匿情報でない場合に、内容が出力の置き換え可を示す出力選択情報を書き込む制御を行う命令コードを含み、
前記プログラム実行手段は、前記保護プログラムに従って前記出力選択情報を前記入力制御手段に書き込む
ことを特徴とする請求項9記載の情報セキュリティ装置。
【請求項11】
前記情報セキュリティ装置は、更に、
前記判定手段により、前記保護ドメインで実行されていると判定されなかった場合に、非保護プログラムによる取得要求が発生したことを提示するユーザーインターフェイスを備える
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項12】
前記プログラム実行手段は、前記保護ドメインと、前記非保護ドメインとを時間的に切り替える切替機構を備えており、ドメインに応じたプログラムを実行し、
前記入力制御手段は、前記出力の際、前記切替機構による切替により、出力先が前記取得要求したプログラムと異なっている場合には、前記取得要求したプログラムに切り替わるのを待って出力する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項13】
前記保護プログラムは、予め正当性が認証されており、
前記プログラム実行手段は、前記非保護ドメインから特定のハードウェア資源の使用を妨げる保護機構を有し、
前記保護ドメインは、少なくとも特定のハードウェア資源を用い、前記非保護ドメインは、前記特定のハードウェアを除くハードウェア資源を用い、
前記入力制御手段は、前記入力情報を出力する場合、前記保護機構により保護されるハードウェア資源に対し出力する
ことを特徴とする請求項1記載の情報セキュリティ装置。
【請求項14】
前記特定のハードウェア資源は、特定の汎用レジスタ、特定のキャッシュメモリ及び特定のアドレス変換バッファを含む
ことを特徴とする請求項13記載の情報セキュリティ装置。
【請求項15】
利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置と、情報セキュリティ装置から受け取る認証情報に基づきサービスの提供可否を判別するオンラインサービス提供装置とを含むセキュリティシステムであって、
前記情報セキュリティ装置は、
保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、
保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、
前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得手段と、
囮情報を記憶している囮情報記憶手段と、
前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定手段と、
前記判定手段により、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御手段と、
前記認証情報として前記入力制御手段により出力される情報を前記オンラインサービス提供装置に送信する通信手段とを備え、
前記オンラインサービス提供装置は、
前記認証情報として、前記入力情報を取得した場合に前記オンラインサービスを提供し、前記囮情報を取得した場合に前記オンラインサービスを提供しない
ことを特徴とするセキュリティシステム。
【請求項16】
前記オンラインサービス提供装置は、更に、新たな囮情報を生成し、前記新たな囮情報を前記情報セキュリティ装置にセキュア通信により送信し、
前記通信手段は、前記セキュア通信により前記新たな囮情報を受信し、
前記プログラム実行手段は、前記保護プログラムに従い前記新たな囮情報を囮情報として前記囮情報記憶手段に書き込む
ことを特徴とする請求項15記載のセキュリティシステム。
【請求項17】
前記オンラインサービス提供装置は、更に、
前記情報セキュリティ装置以外の外部装置から、認証情報として前記囮情報を取得した場合に、前記外部装置に係る情報を格納する不正端末記憶手段を備え、
認証情報として前記囮情報を送信する装置に対するサービスの提供を拒否する
ことを特徴とする請求項15記載のセキュリティシステム。
【請求項18】
前記セキュリティシステムは、更に、盗聴者の特定を行う捜査機関に係る捜査装置を含み、
前記オンラインサービス提供装置は、前記不正端末記憶手段に記憶された情報を前記捜査装置に送信する
ことを特徴とする請求項17記載のセキュリティシステム。
【請求項19】
前記オンラインサービスは、電子商取引における決済処理を含む
ことを特徴とする請求項15記載のセキュリティシステム。
【請求項20】
利用者により入力デバイスを用いて入力される入力情報の漏洩を防ぐ情報セキュリティ装置に用いられる入力情報漏洩防止方法であって、
前記情報セキュリティ装置は、
保護プログラムと、非保護プログラムとを記憶するプログラム記憶手段と、
保護プログラムの実行環境である保護ドメインと、非保護プログラムの実行環境である非保護ドメインとを有するプログラム実行手段と、
囮情報を記憶する囮情報記憶手段と
を備えており、
前記入力情報漏洩防止方法は、
前記入力デバイスから入力情報を受け付け、前記プログラム実行手段に対し入力の受け付けを通知する入力取得ステップと、
前記入力の受け付けに対応する前記入力情報の取得要求を取得し、前記取得要求に係るプログラムが前記保護ドメインで実行されているか否かを判定する判定ステップと、
前記判定ステップにより、前記保護ドメインで実行されていると判定された場合に、前記入力情報を前記プログラム実行手段に対し出力し、前記保護ドメインで実行されていないと判定された場合に前記囮情報を前記プログラム実行手段に対し出力する入力制御ステップと
を含むことを特徴とする入力情報漏洩防止方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−287706(P2008−287706A)
【公開日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願番号】特願2008−97802(P2008−97802)
【出願日】平成20年4月4日(2008.4.4)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】