(57)【要約】【課題】情報処理装置内に保存されているデータの外部記憶媒体への書き込み／読み込みを禁止しつつ、外部記憶媒体からの読み込み／書き込みを許可することで、セキュリティと利便性とを両立する。【解決手段】フィルタドライバ３０は、ライティングソフトウエア１８から発行される状態確認要求Ｒ１やドライバ１９からのレスポンスをインターセプトすることで、情報処理装置内に保存されているデータの外部記憶媒体への書き込み／読み込みを禁止する。また、フィルタドライバ３０は、書き込み要求と読み込み要求とのうち禁止しないほうに関連した要求についてはドライバ１９に渡すことで、外部記憶媒体からの読み込み／書き込みをユーザーに許可することができる。【選択図】  図２
2014153888.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をソフトウエアが発行すると、当該別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を前記記憶装置を制御するドライバに転送するフィルタ手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記フィルタ手段は、前記ユーザーが前記書き込みを禁止されている場合であっても、前記外部記憶媒体を読み込むための読み込み要求については前記ドライバに転送することで、前記外部記憶媒体の読み込みのみを可能とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フィルタ手段は、前記ユーザーが前記読み込みを禁止されている場合であっても、前記外部記憶媒体に対して書き込むための書き込み要求については前記ドライバに転送することで、前記外部記憶媒体に対する書き込みのみを可能とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記インターセプト手段および前記フィルタ手段はＡＰＩに対する入出力をフィルタリングすることによって実現されることを特徴とする請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記インターセプト手段および前記フィルタ手段は、前記記憶装置の前記ドライバに対する入出力をフィルタリングするドライバによって実現されることを特徴とする請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記エラーメッセージは、前記外部記憶媒体に対するアクセスが禁止されていることを示すメッセージ、または、書き込み可能な外部記憶媒体が前記記憶装置に装填されていないことを示すメッセージであることを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
ユーザーが前記外部記憶媒体に対して書き込みを禁止されているかどうかを判定する判定手段をさらに備え、前記フィルタ手段は、前記判定手段の判定結果に応じて前記別の要求に関するフィルタリングを実行することを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項８】
前記ユーザーが前記外部記憶媒体に対して書き込みを禁止されているかどうかを前記情報処理装置に接続されたサーバに問い合わせる問い合わせ手段をさらに有し、
前記判定手段は、前記問い合わせ手段により問い合わせ結果に基づいて、前記ユーザーが前記外部記憶媒体に対して書き込みを禁止されているかどうかを判定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
記憶装置に装填された外部記憶媒体に対して書き込みまたは読み込みを制限する方法であって、
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をソフトウエアが発行すると、当該別の要求をインターセプトするインターセプト工程と、
ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記記憶装置を制御するドライバに対して前記インターセプト手段がインターセプトした前記別の要求を転送するフィルタ工程と
を有することを特徴とする方法。
【請求項１０】
記憶装置に装填された外部記憶媒体に対して書き込みまたは書き込みを制限するためのプログラムであって、
コンピュータに、
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をソフトウエアが発行すると、当該別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに転送するフィルタ手段として機能させることを特徴とするプログラム。
【請求項１１】
情報処理装置とサーバとを有し、前記情報処理装置に内蔵または接続された記憶装置に装填された外部記憶媒体に対して書き込みまたは読み込みを制限するシステムであって、
前記情報処理装置は、
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をソフトウエアが発行すると、当該別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに転送するフィルタ手段と
を有し、
前記サーバは、
前記ユーザーが前記外部記憶媒体に対して書き込みまたは読み込みを禁止されているかどうかを管理する管理手段を有することを特徴とするシステム。
【請求項１２】
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求に関連してソフトウエアによって発行される別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対する書き込みを禁止されている場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送せずに破棄するか、前記別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みを禁止されていない場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送するフィルタ手段と
を有し、
前記フィルタ手段は、前記ユーザーが前記書き込みを禁止されている場合であっても、前記外部記憶媒体を読み込むための読み込み要求については前記ドライバに転送することで、前記外部記憶媒体の読み込みのみを可能とすることを特徴とする情報処理装置。
【請求項１３】
記憶装置に装填された外部記憶媒体に対して読み込みを行うための読み込み要求に関連してソフトウエアによって発行される別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対する読み込みを禁止されている場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送せずに破棄するか、前記別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記読み込みを禁止されていない場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送するフィルタ手段と
を有し、
前記フィルタ手段は、前記ユーザーが前記読み込みを禁止されている場合であっても、前記外部記憶媒体に書き込むための書き込み要求については前記ドライバに転送することで、前記外部記憶媒体の書き込みを可能とすることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体への書き込みを制御する技術に関する。
【背景技術】
【０００２】
ＣＤ−ＲやＤＶＤ−Ｒ、ＢＤ−Ｒなどの外部記憶媒体は、情報処理装置の記憶装置として広く普及している。ユーザーにとって、情報処理装置内のデジタルデータをファイルとして外部記憶媒体に書き込んだり、複製したりすることは容易である。そのため、外部記憶媒体を媒介して情報漏えいが増加しうる。
【０００３】
特許文献１によれば、外部装置のデバイス名を用いたデバイスオープンＡＰＩ要求があった場合、アクセス禁止エラーまたは外部装置が存在しないというエラーを返すことで、デバイスオープンＡＰＩ要求を拒否している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−４４２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の発明によれば、外部装置への書き込みだけでなく、外部装置からの読み込みも禁止してしまう。しかし、外部記憶媒体を使用して、外部から情報処理装置にデータを取り込むケースは一般的であるため、外部記憶媒体自体への読み込みについては許可したいことがある。
【０００６】
また、業務履歴などを外部記憶媒体に対して書き込みつつ、書き込んだ業務履歴についてはユーザーに見られたくないこともある。つまり、外部記憶媒体に対して書き込みのみを許可し、読み込みを禁止したいこともある。
【０００７】
そこで、本発明は、情報処理装置内に保存されているデータの外部記憶媒体への書き込み／読み込みを禁止しつつ、外部記憶媒体からの読み込み／書き込みのみを許可することで、セキュリティと利便性とを両立することを目的とする。つまり、本発明は、外部記憶媒体への書き込みを禁止して外部記憶媒体からの読み込みのみを許可することと、外部記憶媒体からの読み込みを禁止して外部記憶媒体へ書き込みのみを許可することのうち、少なくとも一方を達成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、たとえば、
記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をソフトウエアが発行すると、当該別の要求をインターセプトするインターセプト手段と、
ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに転送するフィルタ手段と
を有することを特徴とする情報処理装置を提供する。
【発明の効果】
【０００９】
本発明によれば、情報処理装置内に保存されているデータの外部記憶媒体への書き込み／読み込みを禁止しつつ、外部記憶媒体からの読み込み／書き込みのみを許可することで、セキュリティと利便性とを両立することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの一例を示す図。
【図２】実施例における各ソフトウエアの基本的な動作を説明するための図。
【図３】実施例における各ソフトウエアの基本的な動作を説明するための図。
【図４】実施例における各ソフトウエアの基本的な動作を説明するための図。
【図５】実施例における各ソフトウエアの基本的な動作を説明するための図。
【図６】実施例における各ソフトウエアの基本的な動作を説明するための図。
【図７】ＣＰＵ１１セキュリティソフトウエアを実行することで実現される機能を示すブロック図。
【図８】セキュリティソフトウエアにおけるセキュリティ設定の取得に関する工程を示すフローチャート。
【図９】セキュリティ設定データの一部を示す図。
【図１０】セキュリティソフトウエアにおける外部記憶媒体への書き込み制御に関する工程を示すフローチャート。
【図１１】実施例における各ソフトウエアの基本的な動作を説明するための図。
【発明を実施するための形態】
【００１１】
図１は、情報処理装置１０と、各ユーザーのセキュリティ設定を管理するサーバ装置４０とを含む情報処理システムの一例を示す図である。情報処理装置１０は、たとえば、企業、学校、行政機関または家庭などに設置され、ユーザーが利用するコンピュータの一例である。サーバ装置４０は、サーバープログラム４７にしたがって各ユーザーのセキュリティ設定をデータベース化して管理するコンピュータである。なお、サーバ装置４０は、オプションであり、必ずしも必要ではない。情報処理装置１０は、インターネットやイントラネットなどのネットワーク１００を介してサーバ装置４０と接続されている。なお、情報処理装置１０は簡潔化のために１台ずつ示されているが、実際には複数であってもよい。
【００１２】
なお、情報処理システムは、シンクライアント（たとえば、ターミナルサービスなど）を利用した構成でもよい。シンクライアントとは、情報処理装置（クライアント）がサーバコンピュータにリモート接続し、サーバコンピュータ上に生成された仮想デスクトップ環境を利用してサーバコンピュータ上でアプリケーションプログラムを実行するコンピュータアーキテクチャである。
【００１３】
情報処理装置１０では、記憶装置１５に記憶されているソフトウエアにしたがってＣＰＵ１１が各種手段として機能する。記憶装置１５は、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などである。記憶装置１５には、セキュリティソフトウエア１７、ライティングソフトウエア１８、ドライバ１９、オペレーティングシステム（ＯＳ）２０などが記憶されている。
【００１４】
セキュリティソフトウエア１７は、ユーザーのセキュリティ設定に応じて外部記憶装置２１に装填された外部記憶媒体２２への書き込みを禁止したり、許可したりするソフトウエアである。なお、セキュリティソフトウエア１７は、アンチウィルス機能やログ機能やデバイス制御などの機能を有していてもよい。
【００１５】
ライティングソフトウエア１８は、外部記憶媒体２２に対してファイルを書き込むためのソフトウエアである。ライティングソフトウエア１８は、オペレーティングシステム２０の一部として提供されることもあるし、ＯＳを提供しているメーカーとは異なるメーカーによって提供されることもある。
【００１６】
ドライバ１９は、外部記憶装置２１を制御するためのソフトウエアである。ドライバ１９は、たとえば、ＣＤ／ＤＶＤドライバや、光ディスクドライバ、ＳＣＳＩドライバなどである。
【００１７】
メモリ１３は、ＲＡＭやＲＯＭなどを含む。ＲＯＭには、ＢＩＯＳなどのブートプログラムが記憶されている。ブートプログラムにしたがって、オペレーティングシステム２０が起動され、さらにオペレーティングシステム２０にしたがって、各種の常駐プログラム（セキュリティソフトウエア１７など）が起動される。ＯＳとしては、一例として、Ｗｉｎｄｏｗｓ（登録商標）について説明するが、ＭａｃＯＳ、Ｌｉｎｕｘ（登録商標）、ｉＯＳ、Ａｎｄｒｏｉｄなどであってもよい。ＲＡＭは、ワークエリアとして機能する。
【００１８】
ネットワークインターフェース１４は、ネットワーク１００を通じて他のコンピュータと通信するための通信回路である。ＣＰＵ１１およびネットワークインターフェース１４は、情報をサーバ装置から受信する受信手段や情報をサーバ装置４０に送信する送信手段として機能する。
【００１９】
入力部１６は、ポインティングデバイス（マウスやタッチパネル）やキーボードなどである。キーボードはソフトウエアキーボードであってもよい。また、入力部１６は、入力された操作者の音声を音声認識機能により認識してＣＰＵ１１へ指示を入力する音声認識入力部であってもよい。
【００２０】
表示装置１２は、情報を表示するためのユーザインタフェースである。ＣＰＵ１１および表示装置１２は、受信手段により受信された情報を表示する表示手段として機能する。
【００２１】
外部記憶装置２１は、外部記憶媒体２２に対してファイルを書き込んだり、外部記憶媒体２２に書き込まれているファイルを読み出したりする記憶装置である。外部記憶装置２１は、情報処理装置１０の外部に接続されていたり、内蔵されていたりする。外部記憶媒体２２としては、たとえば、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＢＤ−Ｒなどである。
【００２２】
なお、本実施例では、ライティングソフトウエア１８が、記憶装置に装填された外部記憶媒体に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体が書き込み可能であるかどうかを問い合わせるための確認要求、または、外部記憶媒体の種類を問い合わせるための確認要求を発行することを前提としている。このように、書き込み要求の前に確認要求を発行することが必要な記憶媒体や記憶装置であれば、ＨＤＤやＳＳＤなどの補助記憶装置にも本発明を適用できる。
【００２３】
サーバ装置４０の記憶装置４５は、ハードディスクドライブ（ＨＤＤ）やＳＳＤなどであり、サーバープログラム４７を記憶している。メモリ４３は、ＲＡＭやＲＯＭなどを含む。ＣＰＵ４１は、サーバープログラム４７をＲＡＭにロードし、情報処理装置１０から送信されたり、管理者によってキーボード等から入力されたりしたセキュリティ設定を、ユーザーごとにセキュリティ設定データ４８としてデータベース化する。また、ＣＰＵ４１は、情報処理装置１０からセキュリティ設定の問い合わせを受信すると、問い合わせの対象となっているユーザーのセキュリティ設定をセキュリティ設定データ４８から読み出して送信する。ネットワークインターフェース４４は、ネットワーク１００を通じて他のコンピュータと通信するための通信回路である。
【００２４】
図２は、実施例における各ソフトウエアの基本的な動作を説明するための図である。ライティングソフトウエア１８は、外部記憶装置２１に装填された外部記憶媒体２２に対してファイルを書き込む際に、まず、外部記憶媒体２２が書き込み可能であるかどうかを問い合わせるための確認要求（状態確認要求Ｒ１）を発行する。ドライバ１９は、状態確認要求Ｒ１を受信すると、外部記憶装置２１が書き込み可能な状態かどうかを調査し、書き込み可能な状態かどうかを示すレスポンスＲ１’をライティングソフトウエア１８に送信する。レスポンスＲ１’が書き込み可能であることを示していれば、ライティングソフトウエア１８は、書き込み要求Ｒ２をドライバ１９に送信し、ファイルの書き込みを実行する。
【００２５】
図３は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、セキュリティソフトウエア１７のフィルタドライバ３０がドライバ１９にアタッチされている。フィルタドライバ３０は、ライティングソフトウエア１８が発行する要求をインターセプトし、フィルタリングを実行する（外部記憶装置２１のドライバ１９に対する入出力をフィルタリングする）。ここでは、外部記憶媒体２２への書き込みがセキュリティ設定により禁止されていると仮定する。フィルタドライバ３０は、ライティングソフトウエア１８が発行した要求が状態確認要求Ｒ１であれば、状態確認要求Ｒ１をドライバ１９に転送せずに、破棄する。これにより、ライティングソフトウエア１８は、状態確認要求Ｒ１に対するレスポンスＲ１’を受信できなくなるため、外部記憶媒体２２への書き込みを実行できなくなる。なお、この事例の場合、フィルタドライバ３０は、ドライバ１９が発行するレスポンスについてはインターセプトする必要はない。
【００２６】
図４は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ３０は、ライティングソフトウエア１８が発行した要求をドライバ１９に転送するが、状態確認要求Ｒ１に対するレスポンスＲ１’をインターセプトし、ライティングソフトウエア１８に転送することなく破棄する。これにより、ライティングソフトウエア１８は、状態確認要求Ｒ１に対するレスポンスＲ１’を受信できなくなるため、外部記憶媒体２２への書き込みを実行できなくなる。なお、この事例の場合、フィルタドライバ３０は、ライティングソフトウエア１８が発行する要求をインターセプトする必要はない。
【００２７】
図５は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ３０は、ライティングソフトウエア１８が発行した要求をドライバ１９に転送するが、状態確認要求Ｒ１に対するレスポンスＲ１’をインターセプトし、ライティングソフトウエア１８に転送することなく破棄する。さらに、フィルタドライバ３０は、レスポンスＲ１’の代わりにエラーメッセージをライティングソフトウエア１８に送信する。エラーメッセージは、たとえば、アクセス禁止を示すメッセージや書き込み可能なメディアが挿入されていないことを示すメッセージなどである。ライティングソフトウエア１８は、エラーメッセージを受信することで、外部記憶媒体２２への書き込みを実行できないと判断し、外部記憶媒体２２への書き込みを中止する。なお、この事例の場合、フィルタドライバ３０は、ライティングソフトウエア１８が発行する要求をインターセプトせずに、レスポンスＲ１’を破棄または改変してエラーメッセージＥｒを出力してもよい。
【００２８】
図６は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ３０は、ライティングソフトウエア１８が発行した要求をインターセプトし、当該要求が読み込み要求Ｒ３であれば、読み込み要求Ｒ３をドライバ１９に転送する。これにより、ユーザーは外部記憶媒体２２に対して書き込みを実行できないものの、外部記憶媒体２２からファイルを読み込むことが可能となる。
【００２９】
図７は、ＣＰＵ１１がセキュリティソフトウエア１７を実行することで実現される機能を示すブロック図である。
【００３０】
ユーザー情報取得部７１は、情報処理装置１０に対してログインしているユーザーの識別情報（例：ユーザ名）などをオペレーティングシステム２０から取得する。セキュリティ設定問い合わせ部７２は、ログインしているユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを示すセキュリティ設定を、情報処理装置１０に接続されたサーバ装置４０に問い合わせる。たとえば、セキュリティ設定問い合わせ部７２は、ユーザー情報取得部７１からユーザー名を受け取り、ユーザー名を含むセキュリティ設定問い合わせを作成してサーバ装置４０に送信する。サーバ装置４０は、受信したユーザー名に対応するセキュリティ設定を記憶装置４５から読み出し、返信する。判定部７３は、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを判定する。判定部７３は、サーバ装置４０から受信したセキュリティ設定を参照し、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを判定する。
【００３１】
フィルタドライバ３０は、フィルタ部７４と横取り部７５とを有している。横取り部７５は、ライティングソフトウエア１８が発行した要求や、ドライバ１９が発行したレスポンスをインターセプトする。なお、レスポンスのインターセプトは必須の機能ではない。横取り部７５は、たとえば、外部記憶装置２１に装填された外部記憶媒体２２に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体２２が書き込み可能であるかどうかを問い合わせるための状態確認要求Ｒ１、または、外部記憶媒体２２の種類を問い合わせるためのデバイス種類確認要求Ｒ４をライティングソフトウエア１８が発行すると、当該確認要求をインターセプトする。
【００３２】
図３に示したように、判定部７３がユーザーの書き込みが禁止されていると判定すると、フィルタ部７４は、外部記憶装置２１を制御するドライバ１９に対して状態確認要求Ｒ１を転送せずに破棄する。あるいは、図４に示したように、フィルタ部７４は、状態確認要求Ｒ１に対するドライバ１９からの返答（レスポンスＲ１’）をライティングソフトウエア１８に対して転送せずに破棄してもよい。または、図５に示したように、フィルタ部７４は、エラーメッセージＥｒをライティングソフトウエア１８に送信してもよい。なお、判定部７３がユーザーの書き込みが禁止されていないと判定すると、フィルタ部７４は、ドライバ１９に対して状態確認要求Ｒ１を転送する。また、フィルタ部７４は、ユーザーが書き込みを禁止されている場合であっても、外部記憶媒体２２を読み込むための読み込み要求Ｒ３についてはドライバ１９に転送する。
【００３３】
このように、本実施例によれば、情報処理装置１０内に保存されているデータの外部記憶媒体２２への書き込みを禁止しつつ、外部記憶媒体２２からの読み込みを許可することで、セキュリティと利便性とを両立することが可能となる。
【００３４】
図８は、セキュリティソフトウエア１７のユーザー毎のセキュリティ設定情報取得について、情報処理装置１０における処理を示すフローチャートである。本実施例では、各ユーザーのセキュリティ設定を管理するセキュリティ設定部はサーバープログラム４７によって実現されているが、セキュリティソフトウエア１７によって実現されてもよい。ＣＰＵ１１は、スタートアッププログラムの１つとしてセキュリティソフトウエア１７を起動する。なお、セキュリティソフトウエア１７はサービスプログラムであってもよい。起動方法は、サービスプログラムとして自動起動する方法や、ユーザーが任意のタイミングで起動する方法などであってもよい。ＣＰＵ１１は、セキュリティソフトウエア１７を起動すると、セキュリティソフトウエア１７にしたがって、コンピュータウイルスを発見して削除するアンチウィルス機能やユーザーがコンピュータに対して実行した操作の履歴を記録するログ機能など、セキュリティに関する各種の機能を動作させる。セキュリティソフトウエア１７が既にプロセスとして起動していた場合、ＣＰＵ１１は、後から起動したプロセスを終了する。これにより、プロセスの多重起動を阻止する。
【００３５】
Ｓ８０１で、ＣＰＵ１１は、セキュリティソフトウエア１７にしたがって、情報処理装置１０にログインしているユーザーを特定するための情報であるユーザー情報をオペレーティングシステム２０から取得する。ここで、ログインユーザーは、情報処理装置１０にローカルユーザーとしてログインしているユーザーや、その他の端末からリモートログインしているリモートユーザなどである。ユーザー情報は、たとえば、アカウント名、ドメイン名、セッションＩＤなどユーザーを一意に識別が可能なユーザー識別情報である。ＣＰＵ１１は、ユーザー情報をメモリ１３のＲＡＭなどに保持させて、いつでも参照できるようにしてもよい。
【００３６】
Ｓ８０２で、ＣＰＵ１１は、セキュリティソフトウエア１７にしたがって、ログインユーザーのセキュリティ設定をサーバ装置４０に問い合わせる。たとえば、ＣＰＵ１１は、オペレーティングシステム２０から取得したユーザー情報を含むセキュリティ設定問い合わせメッセージを作成し、ネットワークインターフェース１４およびネットワーク１００を介してサーバ装置４０に送信する。サーバ装置４０のＣＰＵ４１は、ネットワークインターフェース４４を介して当該メッセージを受信すると、サーバープログラム４７にしたがってメッセージからユーザー情報を抽出する。ＣＰＵ４１は、ユーザー情報に対応したセキュリティ設定をセキュリティ設定データ４８から取得し、情報処理装置１０に返信する。該当するユーザーについてのセキュリティ設定が登録されていない場合、ＣＰＵ４１は、セキュリティ設定が登録されていないことを示すメッセージを返答してもよいし、予め用意されているデフォルトのセキュリティ設定を返答してもよい。
【００３７】
図９は、セキュリティ設定データ４８の一例を示している。セキュリティ設定データ４８には、ユーザーのユーザー名に対応付けて、そのユーザーの書き込み可否が登録されている。ここでは、セキュリティ設定として、外部記憶媒体２２に対する書き込み可否だけを示しているが、通信の可否、ソフトウエアのインストールの可否など、他のセキュリティ設定が含まれていてもよい。
【００３８】
Ｓ８０３で、情報処理装置１０のＣＰＵ１１は、セキュリティ設定を受信すると、それをＲＡＭに保持させることで、その情報処理装置１０に対してセキュリティ設定を反映する。これ以降、ＣＰＵ１１は、セキュリティソフトウエア１７にしたがって、ＲＡＭに保持されているセキュリティ設定を参照し、ユーザーが実行する各種の操作を監視したり、制限したりする。
【００３９】
Ｓ８０４で、ＣＰＵ１１は、セキュリティソフトウエア１７にしたがって、フィルタドライバ３０をドライバ１９に対してアタッチする。これにより、フィルタドライバ３０が稼働して、ライティングソフトウエア１８とドライバ１９との間で送受信される情報が監視され、フィルタリングされることになる。
【００４０】
ここでは、ライティングソフトウエア１８とドライバ１９との間で送受信される情報を監視してフィルタリングする方法として、フィルタドライバ技術を使用するが、ＡＰＩフックなど別の方法が採用されてもよい。これは、ライティングソフトウエア１８が発行する状態確認要求Ｒ１を取得して、それがドライバ１９に伝わるのをブロックしたり、ドライバ１９からのレスポンスＲ１’がただしくライティングソフトウエア１８に伝達されるのを阻止したりすることができる技術であれば十分だからである。なお、ＡＰＩフックとは、ＡＰＩ要求を監視し、ＡＰＩ要求を別の内容に置き換えることをいう。
【００４１】
なお、フィルタドライバ３０は、状態確認要求Ｒ１だけでなく、他のデバイス種類確認要求Ｒ４などをフィルタリングしてもよい。デバイス種類確認要求Ｒ４とは、たとえば、ＣＤ／ＤＶＤドライブなどの外部記憶装置２１に挿入されている外部記憶媒体２２の種類を返答する要求である。たとえば、返答される種類としては、たとえば、ＣＤ、ＣＤ−Ｒ、ＣＤ−ＲＷなどである。
【００４２】
図１０は、セキュリティソフトウエア１７による工程のうちフィルタドライバ３０の工程を示したフローチャートである。なお、ライティングソフトウエア１８は予めユーザーからの起動指示によって起動されているものとする。上述したように、ライティングソフトウエア１８は、外部記憶媒体２２にファイルの書き込みを実行する際に、外部記憶媒体２２に書き込むことが可能かどうかを示す状態確認要求Ｒ１をドライバ１９に対して発行することになっている。また、ライティングソフトウエア１８は、状態確認要求Ｒ１に対して書き込み可能であることを示す正常なレスポンスＲ１’が返ってくると、書き込み要求Ｒ２をドライバ１９に発行する。
【００４３】
Ｓ１００１で、ＣＰＵ１１は、ライティングソフトウエア１８が発行する要求を受信（インターセプト）し、その要求が状態確認要求Ｒ１であるかどうかを判定する。ライティングソフトウエア１８からの要求が状態確認要求Ｒ１であれば、Ｓ１００２に進む。なお、フィルタドライバ３０が、状態確認要求Ｒ１を受信することは、フィルタドライバ３０に状態確認要求イベントが発生したことを意味する。より具体的には、ＩＲＰ＿ＭＪ＿ＤＥＶＩＣＥ＿ＣＯＮＴＲＯＬ要求のＩＯ＿ＣＯＮＴＲＯＬ＿ＣＯＤＥが、ＩＯＣＴＬ＿ＳＣＳＩ＿ＰＡＳＳ＿ＴＨＲＯＵＧＨ＿ＤＩＲＥＣＴまたはＩＯＣＴＬ＿ＳＣＳＩ＿ＰＡＳＳ＿ＴＨＲＯＵＧＨであれば、そのＩＲＰ＿ＭＪ＿ＤＥＶＩＣＥ＿ＣＯＮＴＲＯＬ要求は状態確認要求である。つまり、ＣＰＵ１１は、ＩＯ＿ＣＯＮＴＲＯＬ＿ＣＯＤＥがＩＯＣＴＬ＿ＳＣＳＩ＿ＰＡＳＳ＿ＴＨＲＯＵＧＨ＿ＤＩＲＥＣＴまたはＩＯＣＴＬ＿ＳＣＳＩ＿ＰＡＳＳ＿ＴＨＲＯＵＧＨであれば、状態確認要求Ｒ１が発行されたと判定する。
【００４４】
Ｓ１００２で、ＣＰＵ１１は、ライティングソフトウエア１８を起動したユーザーのユーザー設定を取得する。たとえば、ＣＰＵ１１は、状態確認要求Ｒ１を元にライティングソフトウエア１８のプロセス情報を取得する。状態確認要求Ｒ１には、要求内容を示すコードに加えて、当該要求を発行したプロセスのプロセスＩＤが含まれている。ＣＰＵ１１は、プロセスＩＤを元にオペレーティングシステム２０の機能（Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩなど）を使用してプロセス情報を取得する。ここでプロセス情報とはプロセス名、プロセスＩＤ、セッションＩＤなどのプロセスを一意に識別可能な情報である。また、ＣＰＵ１１は、プロセス情報に含まれているセッションＩＤを利用して、オペレーティングシステム２０からユーザー情報を取得する。ユーザー情報もセッションＩＤと紐付されているため、ＣＰＵ１１は、プロセス情報に含まれているセッションＩＤからユーザー情報を特定できる。ユーザー情報には、図９に示したようなユーザー名が含まれている。このように、ログインユーザーごとのユーザー設定を取得することが可能であるため、複数のユーザーがログイン可能なシンクライアント環境においても、本発明を適用することが可能である。これは、情報処理装置１０ごとにセキュリティ設定を適用する代わりに、ユーザーごとにセキュリティ設定を適用しているからである。なお、ユーザー名は、ログインアカウント名やＰＣ名、ドメイン名などのひとつもしくは複数の組み合わせであってもよい。ＣＰＵ１１は、ユーザー名を元にサーバ装置４０から予め取得しておいたユーザー設定をＲＡＭから読み出す。
【００４５】
Ｓ１００３で、ＣＰＵ１１は、ユーザー設定を参照し、外部記憶媒体２２への書き込み設定が禁止されているかどうかを判定する。外部記憶媒体２２への書き込み設定が禁止されていれば、Ｓ１００４に進む。
【００４６】
Ｓ１００４で、ＣＰＵ１１は、ドライバ１９に状態確認要求Ｒ１を渡さずに破棄する。これにより、ＣＰＵ１１は、外部記憶媒体２２への書き込みを実質的に禁止することができる。なお、状態確認要求Ｒ１を破棄する代わりに、状態確認要求Ｒ１をドライバ１９に渡し、それに対するレスポンスＲ１’を破棄することで、ライティングソフトウエア１８にレスポンスＲ１’渡さなくてもよい。また、レスポンスＲ１’に代えてエラーメッセージＥｒをライティングソフトウエア１８に渡してもよい。これらにより、ＣＰＵ１１は、外部記憶媒体２２への書き込みを実質的に禁止することができる。つまり、ライティングソフトウエア１８は、状態確認要求Ｒ１を発行してから所定時間内にただしくレスポンスＲ１’を受信できないため、書き込み要求Ｒ２を発行できなくなる。
【００４７】
一方で、Ｓ１００３で、外部記憶媒体２２への書き込み設定が禁止されていなければ、Ｓ１０１０に進む。
【００４８】
Ｓ１０１０で、ＣＰＵ１１は、ドライバ１９に状態確認要求Ｒ１を転送する。これにより、ＣＰＵ１１は、外部記憶媒体２２への書き込みをユーザーに許可することができる。
【００４９】
Ｓ１０１１で、ＣＰＵ１１は、ドライバ１９に書き込み要求Ｒ２を転送する。
【００５０】
一方で、Ｓ１００１で、状態確認要求Ｒ１を受信しなかったときはＳ１０２０に進む。Ｓ１０２０で、ＣＰＵ１１は、ドライバ１９に対して発行された要求が読み込み要求Ｒ３であるかどうかを判定する。ドライバ１９に対して発行された要求が読み込み要求Ｒ３であれば、Ｓ１０２１に進む。ドライバ１９に対して発行された要求が読み込み要求Ｒ３でもなければ、その要求に従った処理を実行してＳ１００１に戻る。
【００５１】
Ｓ１０２１で、ＣＰＵ１１は、読み込み要求Ｒ３をドライバ１９に転送する。
【００５２】
以上説明したように、本実施例によれば、ＣＰＵ１１（横取り部７５）が、記憶装置に装填された外部記憶媒体２１に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をライティングソフトウエア１８が発行すると、この別の要求をインターセプトする。さらに、ＣＰＵ１１（フィルタ部７４）は、ユーザーが外部記憶媒体２１に対して書き込みおよび読み込みのうち一方を禁止されている場合には、書き込み要求と読み込み要求のうち禁止されている方の要求に関連してインターセプトした別の要求を、ドライバ１９に対して転送せずに破棄するか、別の要求に対するドライバ１９からの返答をライティングソフトウエア１８に対して転送せずに破棄するか、または、エラーメッセージＥｒをライティングソフトウエア１８に送信する。一方で、ＣＰＵ１１（フィルタ部７４）は、書き込みも読み込みも禁止されていない場合には、インターセプトした別の要求をドライバ１９に転送する。これにより、情報処理装置内に保存されているデータの外部記憶媒体への書き込み／読み込みを禁止しつつ、外部記憶媒体からの読み込み／書き込みのみを許可することで、セキュリティと利便性とを両立することができる。
【００５３】
たとえば、ＣＰＵ１１は、ライティングソフトウエア１８から発行される状態確認要求Ｒ１やドライバ１９からのレスポンスＲ１’をインターセプトすることで、情報処理装置１０内に保存されているデータの外部記憶媒体２２への書き込みや複製を禁止できるようになる。また、読み込み要求Ｒ３についてドライバ１９に渡すことで、外部記憶媒体２２からの読み込みをユーザーに許可することができる。よって、セキュリティと利便性とを両立することができる。たとえば、外部記憶媒体２２が可搬型の記憶媒体であれば、悪意のあるユーザーによる外部記憶媒体の持ち出しによる情報漏えいを実質的に禁止することができるだろう。
【００５４】
とりわけ、外部記憶装置２１などの記憶装置に装填された外部記憶媒体２２に対して書き込みを行うために書き込み要求Ｒ２を発行するのに先立って発行される、外部記憶媒体２２が書き込み可能であるかどうかを問い合わせるための確認要求、または、外部記憶媒体２２の種類を問い合わせるための確認要求をＣＰＵ１１（横取り部７５）がインターセプトする。さらに、ＣＰＵ１１（判定部７３）は、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを判定する。ＣＰＵ１１は、判定結果に応じてフィルタリングを実行する。たとえば、ＣＰＵ１１（フィルタ部７４）は、書き込みを禁止されている場合には、ドライバ１９に対して確認要求を転送せずに破棄するか、確認要求に対するドライバ１９からの返答をライティングソフトウエア１８に対して転送せずに破棄するか、または、エラーメッセージをライティングソフトウエア１８に送信する。一方で、書き込みを禁止されていない場合には、ＣＰＵ１１（フィルタ部７４）は、ドライバ１９に対して確認要求を転送する。なお、ＣＰＵ１１（フィルタ部７４）は、ユーザーが書き込みを禁止されている場合であっても、外部記憶媒体２２を読み込むための読み込み要求についてはドライバ１９に転送することで、外部記憶媒体２２の読み込みのみを可能とする。
【００５５】
なお、横取り部７５およびフィルタ部７４は、ＡＰＩに対する入出力をファイルタリングすることによって実現してもよい。
【００５６】
横取り部７５およびフィルタ部７４は、ドライバ１９に対する入出力をフィルタリングするドライバによって実現されてもよい。
【００５７】
図５に関して説明したように、エラーメッセージＥｒは、外部記憶媒体２２に対するアクセスが禁止されていることを示すメッセージ、または、書き込み可能な外部記憶媒体２２が記憶装置に装填されていないことを示すメッセージであってもよい。
【００５８】
なお、ＣＰＵ１１（セキュリティ設定問い合わせ部７２）は、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを情報処理装置１０に接続されたサーバ装置４０に問い合わせてもよい。この場合、ＣＰＵ１１（判定部７３）は、問い合わせ結果に基づいて、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを判定する。このように、サーバ装置４０のＣＰＵ４１およびサーバープログラム４７は、ユーザーが外部記憶媒体２２に対して書き込みを禁止されているかどうかを管理する管理手段として機能する。なお、セキュリティ設定が予め情報処理装置１０の記憶装置１５に記憶されている場合は、ＣＰＵ１１（セキュリティ設定問い合わせ部７２）は、記憶装置１５からユーザーのセキュリティ設定を読み出せばよい。つまり、サーバ装置４０は省略されてもよい。
【００５９】
図３、図４および５を用いて、外部部記憶媒体２１への書き込みを禁止する方法の概念を説明したが、他の方法を採用してもよい。図１１が示すように、フィルタドライバ３０は、状態確認要求Ｒ１を破棄し、エラーメッセージＥｒをライティングソフトウエア１８に送信してもよい。
【００６０】
本実施例では、ライティングソフトウエア１８が、記憶装置に装填された外部記憶媒体に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体が書き込み可能であるかどうかを問い合わせるための確認要求等を発行することについて説明したが、これに限らず、書き込み要求と同時に、または書き込み要求を発行した後に確認要求等を発行してもよい。
【００６１】
また、セキュリティソフトウエア１７は、ユーザーのセキュリティ設定に応じて外部記憶媒体２２への読み込みを禁止してもよい。ライティングソフトウエア１８は、読み込み要求を発行する前、後、または読み込み要求とともに確認要求をドライバ１９に対して発行し、確認要求に対しする正しいレスポンスが返ってくると実際の読み込みを実行するように、ライティングソフトウエア１８が設計されることがある。よって、読み込み要求に関連した確認要求について、書き込み要求についての確認要求と同様に処理することで、外部記憶媒体２１からのファイルの読み込みを禁止することができる。このように読み込みを禁止できれば、たとえば、外部記憶媒体２２から持ち込まれるウイルスの侵入を防止でき、ウイルスによる情報漏えいを防ぐことが可能となる。また、書き込みを許可して読み込みのみを禁止してもよい。たとえば、情報処理装置１０において取得された業務履歴をＣＰＵ１１が外部記憶媒体２１に書き込み、その外部記憶媒体２１を管理者が回収して業務分析を実施することも考えられる。この場合、管理者は、外部記憶媒体２１に書き込まれた業務履歴については監視対象のユーザーに読まれないようにしたいことがある。そのため、書き込みのみを許可して、読み込みのみを禁止することには技術的利点がある。
【００６２】
確認要求の一例として、状態確認要求と種類確認要求について説明したが、書き込みや読み込みを禁止できるような確認要求であれば、他の確認要求に本発明を適用してもよい。
IRP_MJ_CLEANUP：  ファイルを閉じる前の後処理
IRP_MJ_CLOSE：  ファイルを閉じる
IRP_MJ_CREATE：  ファイルを開く及び新規作成
IRP_MJ_DEVICE_CONTROL：  デバイスドライバに要求（サブフラグで意味が変わる）
IRP_MJ_FILE_SYSTEM_CONTROL：  ファイルシステムへの要求（サブフラグで意味が変わる）
IRP_MJ_FLUSH_BUFFERS：  ファイルを更新
IRP_MJ_INTERNAL_DEVICE_CONTROL：  デバイスドライバに要求2（サブフラグで意味が変わる）
IRP_MJ_PNP：  ドライバに属するオブジェクトの列挙など
IRP_MJ_POWER：  ドライバのON・OFFなど
IRP_MJ_QUERY_INFORMATION：  ファイルの情報(更新日付)を読み込む
IRP_MJ_READ：  ファイルを読み込む
IRP_MJ_SET_INFORMATION：  ファイルの情報(更新日付など)を書き込む（ファイル名の変更などにつかうなど）
IRP_MJ_SYSTEM_CONTROL：  システム（OS）への要求
【図１】
2014153888.tif 000003
【図２】
2014153888.tif 000004
【図３】
2014153888.tif 000005
【図４】
2014153888.tif 000006
【図５】
2014153888.tif 000007
【図６】
2014153888.tif 000008
【図７】
2014153888.tif 000009
【図８】
2014153888.tif 000010
【図９】
2014153888.tif 000011
【図１０】
2014153888.tif 000012
【図１１】
2014153888.tif 000013