(57)【特許請求の範囲】
【請求項１】
セキュリティ対策アプリケーションの機密ファイルを保護する方法であって、
機密ファイルへのアクセス要求元のアプリケーションの認証を行う認証モジュールと前記セキュリティ対策アプリケーションに実装した通信モジュールとの間でチャレンジ・レスポンス認証方式による通信を行い、前記認証モジュールが前記通信モジュールを介して前記セキュリティ対策アプリケーションに対してチャレンジコードを送信し、前記セキュリティ対策アプリケーションが受信したチャレンジコードと現在時刻との論理演算の結果を暗号化し、ハッシュ値を算出し、その演算結果を応答コードとして前記認証モジュールに返信し、この応答コードを受信した前記認証モジュールが前記送信した前記チャレンジコードと現在時刻との論理演算の結果を暗号化し、ハッシュ値を演算し、前記セキュリティ対策アプリケーションから受信した応答コードと比較し、一致していれば前記セキュリティ対策アプリケーションを機密ファイルへのアクセスを許可するアプリケーションとして認証し、管理テーブルに認証済みアプリケーションとして登録する第１のステップと、
前記認証モジュールが、前記機密ファイルへのアクセス要求に対し、当該アクセス要求を捕捉し、アクセス要求元のアプリケーションが前記管理テーブルに登録された認証済みのアプリケーションであるかを判定し、認証済みでなければ機密ファイルへのアクセスを禁止し、認証済みであればアクセスを許可する第２のステップとを備えることを特徴とするセキュリティ対策アプリケーションの機密ファイル保護方法。
【請求項２】
前記第１のステップにおいて、前記管理テーブルに対し、認証済みのアプリケーションの機密ファイルへのアクセス権限、アクセス可能期間の情報を登録し、前記第２のステップにおいては登録されたアクセス権限、アクセス可能期間に限定して機密ファイルへのアクセスを許可することを特徴とする請求項１に記載のセキュリティ対策アプリケーションの機密ファイル保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ対策アプリケーションの機密情報へのアクセスをアプリケーション単位に制御することによりセキュリティ対策アプリケーションの機密ファイルを保護する方法に関するものである。
【背景技術】
【０００２】
近年、顧客情報の流出など重要な個人情報が漏洩する事件が多発しており、企業にとっては顧客情報の保護が重大な関心事となっている。
また、２００５年４月より個人情報保護法が民間事業者をも対象として全面施行されたことから、セキュリティ対策アプリケーションへの関心が急速に高まっている。
セキュリティ対策アプリケーションでは、個人情報の漏洩を防止することはもとより、アプリケーション自体の機密情報（動作環境定義情報やポリシー定義情報など）を保護することも重要である。セキュリティ対策アプリケーションのセキュリティホールを突き、動作環境などの定義情報を改ざんすることにより、個人情報を不正に持ち出すことが可能となってしまうケースも考えられる。
【０００３】
機密ファイルへアクセス可能なアプリケーションを認証する方式として下記特許文献１に記載の技術がある。
この技術は、フィルタモジュールによって業務アプリケーションからのＡＰＩ発行イベントを捕捉し、ファイルI/O発行を一時保留している間にアプリケーションの認証を行う。許可された業務アプリケーションからのファイルI/Oは、I/O監視モジュールにより許可され、不正なファイルI/Oは拒否される仕組みである。
【特許文献１】特開２００３−１０８２５３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
セキュリティ対策アプリケーションにおいて、当該セキュリティ対策アプリケーション動作環境やポリシー定義情報などの機密情報を格納した機密ファイルを解析・改ざんされることは最も危険な攻撃である。
例えば、あらゆるネットワークや外付け媒体への持ち出し操作を禁止するポリシーを設定しているクライアントであっても、悪意の第三者にポリシー定義情報が書き換えられてしまえば機密情報を自由に持ち出すことが可能になってしまう。
上記特許文献１に記載の技術は、業務アプリケーションが業務文書や表ファイルなどを参照・更新する際のアクセス制御の仕組みには適した技術である。
【０００５】
しかしながら、アクセス制御を行う側であるセキュリティ対策アプリケーション自身の機密ファイルを保護するには次のような問題がある。
すなわち、ＡＰＩ発行イベントを捕捉する外部的な認証方法であるため、フィルタモジュールとアプリケーション認証モジュールとの通信処理、およびアプリケーション認証モジュールとI/O監視モジュールとの通信処理が発生し、内部コードで実装するよりも性能が劣化する。
また、ファイルOPENのＡＰＩ捕捉時だけアプリケーション認証を行うように限定したとしても、通常、ファイルOPENは複数回発行されるため、アプリケーションの性能劣化が避けられない。
【０００６】
本発明の目的は、セキュリティ対策アプリケーションにおいて、アプリケーション認証を動的に行い、セキュリティ対策アプリケーションの性能劣化を抑え、かつセキュリティ対策アプリケーションに設定された機密ファイルを確実に保護することができるセキュリティ対策アプリケーションの機密ファイル保護方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るセキュリティ対策アプリケーションの機密ファイル保護方法は、機密ファイルへのアクセス要求元のアプリケーションの認証を行う認証モジュールと前記セキュリティ対策アプリケーションに実装した通信モジュールとの間でチャレンジ・レスポンス認証方式による通信を行い、前記認証モジュールが前記通信モジュールに送信したチャレンジコードに対して前記通信モジュールから正当な応答コードが返信されたならば、当該セキュリティ対策アプリケーションを機密ファイルへのアクセスを許可するアプリケーションとして認証し、管理テーブルに認証済みアプリケーションとして登録する第１のステップと、前記認証モジュールが、前記機密ファイルへのアクセス要求に対し、当該アクセス要求を捕捉し、アクセス要求元のアプリケーションが前記管理テーブルに登録された認証済みのアプリケーションであるかを判定し、認証済みでなければ機密ファイルへのアクセスを禁止し、認証済みであればアクセスを許可する第２のステップとを備えることを特徴とする。
また、前記第１のステップにおいて、前記管理テーブルに対し、認証済みのアプリケーションの機密ファイルへのアクセス権限、アクセス可能期間の情報を登録し、前記第２のステップにおいては登録されたアクセス権限、アクセス可能期間に限定して機密ファイルへのアクセスを許可することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、機密ファイルへのアクセス権を認証する認証モジュールとの間でセキュリティ対策アプリケーションの認証を行うための通信モジュールをセキュリティ対策アプリケーションに実装し、この通信モジュールと認証モジュールとの間の通信によって機密ファイルへのアクセス権が登録済みである場合にのみ、機密ファイルへのアクセスを許可するように構成したため、通信モジュールを実装していない不正アプリケーションは機密ファイルへアクセスすることができなくなる。
これによって、不正アプリケーションによる機密ファイルの改ざん行為から機密ファイルを確実に防御することが可能になる。
ＡＰＩ発行イベントに依存しない認証方式であるため、認証要求発行頻度を低くし、性能を極力劣化させない実装が可能である。さらに、認証済みアプリケーション毎にアクセス権限を設定することでより強固で確実に機密ファイルを保護することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図１は、本発明を適用したコンピュータの実施の一形態を示す機能ブロック図である。
コンピュータ１は、キーボード２、マウス３、ディスプレイ４、ＣＰＵ５、外部記憶装置６、メモリ７を備え、メモリ７には本発明で保護対象としているセキュリティ対策アプリケーション８が記憶されている。また、各種の業務に用いる業務アプリケーション９が記憶されている。
さらに、セキュリティ対策アプリケーション８の機密ファイル１０を保護するための認証・ファイルI/O捕捉モジュール１１が記憶されている。
認証・ファイルI/O捕捉モジュール１１は、認証アプリケーション管理テーブル１１１を備え、セキュリティ対策アプリケーション８や他のアプリケーションの認証とファイルI/O命令を捕捉し、認証アプリケーション管理テーブル１１１に登録された管理情報によってアプリケーションの認証を行い、認証が否認されたアプリケーションからのファイルI/O命令については機密ファイル１０へのアクセスを許可しない。逆に、認証が否認されなかったアプリケーションからのファイルI/O命令については認証アプリケーション管理テーブル１１１に登録されたアクセス権限やアクセス可能時間に限定して機密ファイル１０へのアクセスを許可する。
機密ファイル１０は、セキュリティ対策アプリケーション８のポリシー定義情報などの機密情報を格納している。一般ファイル１２は機密ファイル以外のファイルである。
【００１０】
図２は、認証・ファイルI/O捕捉モジュール１０２が認証済みアプリケーションを管理する認証アプリケーション管理テーブル１１１の記憶と内容の例を示す図であり、機密ファイル１０へのアクセスを許可するアプリケーション数（登録アプリケーション数）２０１と、そのアプリケーションに関するアクセス権限などから成るアプリケーション情報２０２が登録されている。
アプリケーション情報２０２は、図３に示すように、機密ファイル１０へのアクセスを許可するアプリケーション名２０１、プロセス識別子３０２、登録日時３０３、アクセス可能期間３０４、アクセス権限３０５で構成されている。このアプリケーション情報２０２は、機密ファイル１０へのアクセスを許可するアプリケーションのそれぞれに対応して登録されている。
【００１１】
図４は、認証・ファイルI/O捕捉モジュール１１がセキュリティ対策アプリケーション８を認証する流れを示す図である。
図４の例ではチャレンジ・レスポンス認証方式を用いて認証を行っている。セキュリティ対策アプリケーション８が機密ファイル１０を参照する前に、セキュリティ対策アプリケーション８内に実装されている通信モジュール８１から認証・ファイルI/O捕捉モジュール１１に認証要求を発行する。
認証要求を受けた認証・ファイルI/O捕捉モジュール１１は、認証要求の結果としてチャレンジコードをセキュリティ対策アプリケーション８へと返す。
チャレンジコードを受け取ったセキュリティ対策アプリケーション８は、チャレンジコードに対して既定の演算を行う。例えば、チャレンジコードと現在時刻との論理演算の結果を暗号化し、ハッシュ値を算出するなどの演算を行う。
演算結果は応答コードとして認証・ファイルI/O捕捉モジュール１１へと送信する。
【００１２】
認証・ファイルI/O捕捉モジュール１１は、送信したチャレンジコードに対して同様の演算を行った結果と受け取った応答コードとを比較し、一致していれば認証済みアプリケーションとしてセキュリティ対策アプリケーション８を認証アプリケーション管理テーブル１１１に登録する。一致していなければ、登録せずに認証エラー結果をセキュリティ対策アプリケーション８に返す。
【００１３】
図５は、認証済みのセキュリティ対策アプリケーション８が機密ファイル１０を参照する仕組みを示す図である。
セキュリティ対策アプリケーション８は通信モジュール８１を通して認証・ファイルI/O捕捉モジュール１１から認証を受けており、認証アプリケーション管理テーブル１１１に既に登録済みである。
セキュリティ対策アプリケーション８が機密ファイル８にアクセスする場合、機密ファイル８へのファイルI/O命令が発行される。
【００１４】
認証・ファイルI/O捕捉モジュール１１は、当該ファイルI/O命令を捕捉し、要求元のセキュリティ対策アプリケーション８を認証アプリケーション管理テーブル１１１から検索する。既に登録済みであるため、認証アプリケーション管理テーブル１１１に格納されているアプリケーション情報２０２に従い、アクセス権限の範囲で、かつアクセス可能期間の範囲だけ機密ファイル８へのアクセスを許可する。
【００１５】
図６は、不正アプリケーション６００の機密ファイル８へのアクセスを禁止する仕組みを示す図である。
不正アプリケーション６００は、通信モジュール機能を持たないため、アプリケーションの認証を行うことができない。したがって、認証アプリケーション管理テーブル１１１には登録されていない。この不正アプリケーション６００が機密ファイル８にアクセスする場合、機密ファイル８へのファイルI/O命令が発行される。
認証・ファイルI/O捕捉モジュール１１１が当該ファイルI/O命令を捕捉し、要求元の不正アプリケーション６００を認証アプリケーション管理テーブル１１１から検索する。不正アプリケーション６００は登録されていないため、当該ファイルI/O命令をエラーとして要求元へと返す。
これにより、不正アプリケーション６００からの機密ファイル８へのアクセスは禁止される。
【００１６】
図７は、セキュリティ対策アプリケーション８が認証要求を行い、機密ファイル８へとアクセスする手順を示すフローチャートである。
セキュリティ対策アプリケーション８は、機密ファイル８へアクセスする前に、認証・ファイルI/O捕捉モジュール１１にアプリケーションを認証してもらう必要がある。
まず、認証・ファイルI/O捕捉モジュール１１に認証要求を発行する（ステップ７００）。認証要求の結果としてチャレンジコードを受け取る（ステップ７０１）。受信したチャレンジコードから既定の演算処理を行い、応答コードを算出し（ステップ７０２）、認証・ファイルI/O捕捉モジュール１１へと送信する（ステップ７０３）。認証が失敗であれば、アプリケーションが動作に必要な情報が取得できないため、プログラムを終了する。認証に成功すれば、機密ファイル８を参照（ステップ７０６）し、取得した動作環境やセキュリティポリシーに従って、セキュリティ対策アプリケーション８としての処理を行う（ステップ７０７）。
【００１７】
図８は、認証・ファイルI/O捕捉モジュール１１がアプリケーションを認証する処理の手順を示すフローチャートである。
認証・ファイルI/O捕捉モジュール１１が開始されると、アプリケーションからの認証要求を待ち受ける（ステップ８００）。アプリケーションの認証要求を受信する（ステップ８０１）と、要求種別を確認する（ステップ８０２）。
要求種別が認証登録要求であれば、チャレンジコードを生成し（ステップ８０３）、要求元のアプリケーションへと送信する（ステップ８０５）。チャレンジコード生成とともに、チャレンジコードに既定の演算処理を行い、認証コードの生成も行う（ステップ８０４）。その後、要求元のアプリケーションから応答コードを受信し（ステップ８０７）、受け取った応答コードと生成した認証コードを比較する（ステップ８０８）ことで、正規のアプリケーションからの認証要求か否か判定する（ステップ８０９）。応答コードと認証コードが一致していれば、アプリケーション情報２０２を認証アプリケーション管理テーブル１１１に登録する（ステップ８１０）。
認証結果は要求元のアプリケーションへと返却する（ステップ８１１）。
要求種別が認証解除要求であれば、認証アプリケーション管理テーブル１１１から当該アプリケーションのアプリケーション情報２０２を削除する（ステップ８１２）。
【００１８】
図９は、認証・ファイルI/O捕捉モジュール１１が機密ファイル８へのアクセスを捕捉し、アクセス制御を行う手順を示すフローチャートである。
認証・ファイルI/O捕捉モジュール１１が開始されると、図８で示したアプリケーション認証機能とは別に、ファイルI/O捕捉機能としてファイルI/O命令を待ち受ける（ステップ９００）。ファイルOPEN要求などのファイルI/O命令を捕捉する（ステップ９０１）と、当該I/O命令が機密ファイル８への要求か否か確認する（ステップ９０２）。機密ファイル８へのI/O命令であれば、さらにファイルI/O命令の発行元アプリケーションが認証アプリケーション管理テーブル１１１に登録されているか否か検索を行う（ステップ９０３）。認証済みアプリケーションからのファイルI/O命令であれば、認証アプリケーション管理テーブル１１１に登録されているアプリケーション情報２０２のアクセス権限に従ったアクセス制御を行う（ステップ９０４）。
例えば、アクセス権限が読み込み権限しか与えられていないアプリケーションからは機密ファイル８の参照しかできない。また、書き込み権限が与えられたアプリケーションからは機密ファイル８の編集を行うことができる。
【００１９】
図１０は、本発明を適用した他の実施形態を示す図である。
図１の通信モジュール８１と同じ機能の通信モジュール１００１、１００３を持ったアプリケーション１０００と１００２がある。
機密ファイル１００６と１００７はそれぞれ機密情報を格納するファイルとして認証・ファイルI／O捕捉モジュール１１によりアクセスが制御されている。
アクセスを許可するパス名を指定できるように認証情報を拡張すると、アプリケーション１０００は自身の機密ファイル１００６にのみアクセスできるように認証要求を発行することができる。
また、同様にアプリケーション１００２は自身の機密ファイル１００７にのみアクセスできるように認証要求を発行することができる。
図１０の場合、アプリケーション１００２は、アプリケーション１０００が保持する機密ファイル１００６へはアクセスすることができない。また、同様にアプリケーション１０００は、アプリケーション１００２が保持する機密ファイル１００７へはアクセスすることができない。アプリケーションによってアクセス可能な機密ファイルを切り分けることで、細かなアクセス制御が実現できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態を示す機能ブロック図である。
【図２】アプリケーション管理情報の概略構成を説明するためのテーブル図である。
【図３】アプリケーション情報の概略構成を説明するためのテーブル図である。
【図４】アプリケーション認証方式の概略構成を説明するための図である。
【図５】認証アプリケーションの機密ファイルアクセスを説明するための図である。
【図６】不正プログラムの機密ファイルアクセスを説明するための図である。
【図７】セキュリティ対策アプリケーションの機密ファイルアクセスを説明するためのフローチャートである。
【図８】認証・ファイルI/O捕捉モジュールのアプリケーション認証を説明するためのフローチャートである。
【図９】認証・ファイルI/O捕捉モジュールのファイルI/O捕捉を説明するためのフローチャートである。
【図１０】本発明を適用した他の実施形態を示す図である。
【符号の説明】
【００２１】
１    コンピュータ
８    セキュリティ対策アプリケーション
１０    機密ファイル
１１    認証・ファイルI/Ｏ捕捉モジュール
８１    通信モジュール
１１１    認証アプリケーション管理テーブル
２０２    アプリケーション情報
３０３    アクセス可能期間
３０４    アクセス権限
【図１】
0004636607.tif 000002
【図２】
0004636607.tif 000003
【図３】
0004636607.tif 000004
【図４】
0004636607.tif 000005
【図５】
0004636607.tif 000006
【図６】
0004636607.tif 000007
【図７】
0004636607.tif 000008
【図８】
0004636607.tif 000009
【図９】
0004636607.tif 000010
【図１０】
0004636607.tif 000011