特許第6185723号(P6185723)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン電子株式会社の特許一覧

特許6185723情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム
<>
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000002
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000003
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000004
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000005
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000006
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000007
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000008
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000009
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000010
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000011
  • 特許6185723-情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6185723
(24)【登録日】2017年8月4日
(45)【発行日】2017年8月23日
(54)【発明の名称】情報処理装置、外部記憶媒体への書き込みまたは読み込みを制限する方法、プログラム及びシステム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20170814BHJP
【FI】
   G06F21/62 318
【請求項の数】13
【全頁数】17
(21)【出願番号】特願2013-22626(P2013-22626)
(22)【出願日】2013年2月7日
(65)【公開番号】特開2014-153888(P2014-153888A)
(43)【公開日】2014年8月25日
【審査請求日】2016年2月4日
(73)【特許権者】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】米川 智
【審査官】 青木 重徳
(56)【参考文献】
【文献】 特開2006−185218(JP,A)
【文献】 特開2006−059501(JP,A)
【文献】 特開2010−287187(JP,A)
【文献】 国際公開第2010/107057(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求であって前記ユーザーに紐付されている当該別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を前記記憶装置を制御するドライバに転送するフィルタ手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記フィルタ手段は、前記ユーザーが前記書き込みを禁止されている場合であっても、前記外部記憶媒体を読み込むための読み込み要求については前記ドライバに転送することで、前記外部記憶媒体の読み込みのみを可能とすることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記フィルタ手段は、前記ユーザーが前記読み込みを禁止されている場合であっても、前記外部記憶媒体に対して書き込むための書き込み要求については前記ドライバに転送することで、前記外部記憶媒体に対する書き込みのみを可能とすることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記インターセプト手段および前記フィルタ手段はAPIに対する入出力をフィルタリングすることによって実現されることを特徴とする請求項1ないし3のいずれか1項に記載の情報処理装置。
【請求項5】
前記インターセプト手段および前記フィルタ手段は、前記記憶装置の前記ドライバに対する入出力をフィルタリングするドライバによって実現されることを特徴とする請求項1ないし4のいずれか1項に記載の情報処理装置。
【請求項6】
前記エラーメッセージは、前記外部記憶媒体に対するアクセスが禁止されていることを示すメッセージ、または、書き込み可能な外部記憶媒体が前記記憶装置に装填されていないことを示すメッセージであることを特徴とする請求項1ないし5のいずれか1項に記載の情報処理装置。
【請求項7】
ユーザーが前記外部記憶媒体に対して書き込みまたは読み込みを禁止されているかどうかを判定する判定手段をさらに備え、前記フィルタ手段は、前記判定手段の判定結果に応じて前記別の要求に関するフィルタリングを実行することを特徴とする請求項1ないし5のいずれか1項に記載の情報処理装置。
【請求項8】
前記ユーザーが前記外部記憶媒体に対して書き込みまたは読み込みを禁止されているかどうかを前記情報処理装置に接続されたサーバに問い合わせる問い合わせ手段をさらに有し、
前記判定手段は、前記問い合わせ手段によ問い合わせ結果に基づいて、前記ユーザーが前記外部記憶媒体に対して書き込みまたは読み込みを禁止されているかどうかを判定することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
記憶装置に装填された外部記憶媒体に対して書き込みまたは読み込みを制限する方法であって、
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト工程であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をインターセプトするインターセプト工程と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト工程でインターセプトした前記別の要求であって前記ユーザーに紐付されている当該別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記記憶装置を制御するドライバに対して前記インターセプト工程でインターセプトした前記別の要求を転送するフィルタ工程と
を有することを特徴とする方法。
【請求項10】
記憶装置に装填された外部記憶媒体に対して書き込みまたは読み込みを制限するためのプログラムであって、
コンピュータに、
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求であって前記ユーザーに紐付されている当該別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに転送するフィルタ手段として機能させることを特徴とするプログラム。
【請求項11】
情報処理装置とサーバとを有し、前記情報処理装置に内蔵または接続された記憶装置に装填された外部記憶媒体に対して書き込みまたは読み込みを制限するシステムであって、
前記情報処理装置は、
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求であって前記ユーザーに紐付されている当該別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を、前記記憶装置を制御するドライバに転送するフィルタ手段と
を有し、
前記サーバは、
前記ユーザーが前記外部記憶媒体に対して書き込みまたは読み込みを禁止されているかどうかを管理する管理手段を有することを特徴とするシステム。
【請求項12】
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求に関連して前記ソフトウエアによって発行される別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対する書き込みを禁止されている場合には、前記記憶装置を制御するドライバに対して前記ユーザーに紐付されている前記別の要求を転送せずに破棄するか、前記別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みを禁止されていない場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送するフィルタ手段と
を有し、
前記フィルタ手段は、前記ユーザーが前記書き込みを禁止されている場合であっても、前記外部記憶媒体を読み込むための読み込み要求については前記ドライバに転送することで、前記外部記憶媒体の読み込みのみを可能とすることを特徴とする情報処理装置。
【請求項13】
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して読み込みを行うための読み込み要求に関連して前記ソフトウエアによって発行される別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対する読み込みを禁止されている場合には、前記記憶装置を制御するドライバに対して前記ユーザーに紐付されている前記別の要求を転送せずに破棄するか、前記別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記読み込みを禁止されていない場合には、前記記憶装置を制御するドライバに対して前記別の要求を転送するフィルタ手段と
を有し、
前記フィルタ手段は、前記ユーザーが前記読み込みを禁止されている場合であっても、前記外部記憶媒体に書き込むための書き込み要求については前記ドライバに転送することで、前記外部記憶媒体の書き込みを可能とすることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶媒体への書き込みまたは読み込みを制御する技術に関する。
【背景技術】
【0002】
CD−RやDVD−R、BD−Rなどの外部記憶媒体は、情報処理装置の記憶装置として広く普及している。ユーザーにとって、情報処理装置内のデジタルデータをファイルとして外部記憶媒体に書き込んだり、複製したりすることは容易である。そのため、外部記憶媒体を媒介して情報漏えいが増加しうる。
【0003】
特許文献1によれば、外部装置のデバイス名を用いたデバイスオープンAPI要求があった場合、アクセス禁止エラーまたは外部装置が存在しないというエラーを返すことで、デバイスオープンAPI要求を拒否している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−44297号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の発明によれば、外部装置への書き込みだけでなく、外部装置からの読み込みも禁止してしまう。しかし、外部記憶媒体を使用して、外部から情報処理装置にデータを取り込むケースは一般的であるため、外部記憶媒体自体への読み込みについては許可したいことがある。
【0006】
また、業務履歴などを外部記憶媒体に対して書き込みつつ、書き込んだ業務履歴についてはユーザーに見られたくないこともある。つまり、外部記憶媒体に対して書き込みのみを許可し、読み込みを禁止したいこともある。
【0007】
そこで、本発明は、情報処理装置内に保存されているデータの外部記憶媒体への書き込み/読み込みを禁止しつつ、外部記憶媒体からの読み込み/書き込みのみを許可することで、セキュリティと利便性とを両立することを目的とする。つまり、本発明は、外部記憶媒体への書き込みを禁止して外部記憶媒体からの読み込みのみを許可することと、外部記憶媒体からの読み込みを禁止して外部記憶媒体へ書き込みのみを許可することのうち、少なくとも一方を達成することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、たとえば、
ユーザーにより起動されたソフトウエアが発行する当該ユーザーに紐付された要求をインターセプトするインターセプト手段であり、記憶装置に装填された外部記憶媒体に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をインターセプトするインターセプト手段と、
前記ソフトウエアを起動した前記ユーザーが前記外部記憶媒体に対して書き込みおよび読み込みのうち一方を禁止されている場合には、前記書き込み要求と前記読み込み要求のうち禁止されている方の要求に関連して前記インターセプト手段がインターセプトした前記別の要求であって前記ユーザーに紐付されている当該別の要求を、前記記憶装置を制御するドライバに対して転送せずに破棄するか、当該別の要求に対する前記ドライバからの返答を前記ソフトウエアに対して転送せずに破棄するか、または、エラーメッセージを前記ソフトウエアに送信し、前記書き込みも読み込みも禁止されていない場合には、前記インターセプト手段がインターセプトした前記別の要求を前記記憶装置を制御するドライバに転送するフィルタ手段と
を有することを特徴とする情報処理装置を提供する。
【発明の効果】
【0009】
本発明によれば、情報処理装置内に保存されているデータの外部記憶媒体への書き込み/読み込みを禁止しつつ、外部記憶媒体からの読み込み/書き込みのみを許可することで、セキュリティと利便性とを両立することができる。
【図面の簡単な説明】
【0010】
図1】情報処理システムの一例を示す図。
図2】実施例における各ソフトウエアの基本的な動作を説明するための図。
図3】実施例における各ソフトウエアの基本的な動作を説明するための図。
図4】実施例における各ソフトウエアの基本的な動作を説明するための図。
図5】実施例における各ソフトウエアの基本的な動作を説明するための図。
図6】実施例における各ソフトウエアの基本的な動作を説明するための図。
図7】CPU11セキュリティソフトウエアを実行することで実現される機能を示すブロック図。
図8】セキュリティソフトウエアにおけるセキュリティ設定の取得に関する工程を示すフローチャート。
図9】セキュリティ設定データの一部を示す図。
図10】セキュリティソフトウエアにおける外部記憶媒体への書き込み制御に関する工程を示すフローチャート。
図11】実施例における各ソフトウエアの基本的な動作を説明するための図。
【発明を実施するための形態】
【0011】
図1は、情報処理装置10と、各ユーザーのセキュリティ設定を管理するサーバ装置40とを含む情報処理システムの一例を示す図である。情報処理装置10は、たとえば、企業、学校、行政機関または家庭などに設置され、ユーザーが利用するコンピュータの一例である。サーバ装置40は、サーバープログラム47にしたがって各ユーザーのセキュリティ設定をデータベース化して管理するコンピュータである。なお、サーバ装置40は、オプションであり、必ずしも必要ではない。情報処理装置10は、インターネットやイントラネットなどのネットワーク100を介してサーバ装置40と接続されている。なお、情報処理装置10は簡潔化のために1台ずつ示されているが、実際には複数であってもよい。
【0012】
なお、情報処理システムは、シンクライアント(たとえば、ターミナルサービスなど)を利用した構成でもよい。シンクライアントとは、情報処理装置(クライアント)がサーバコンピュータにリモート接続し、サーバコンピュータ上に生成された仮想デスクトップ環境を利用してサーバコンピュータ上でアプリケーションプログラムを実行するコンピュータアーキテクチャである。
【0013】
情報処理装置10では、記憶装置15に記憶されているソフトウエアにしたがってCPU11が各種手段として機能する。記憶装置15は、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などである。記憶装置15には、セキュリティソフトウエア17、ライティングソフトウエア18、ドライバ19、オペレーティングシステム(OS)20などが記憶されている。
【0014】
セキュリティソフトウエア17は、ユーザーのセキュリティ設定に応じて外部記憶装置21に装填された外部記憶媒体22への書き込みを禁止したり、許可したりするソフトウエアである。なお、セキュリティソフトウエア17は、アンチウィルス機能やログ機能やデバイス制御などの機能を有していてもよい。
【0015】
ライティングソフトウエア18は、外部記憶媒体22に対してファイルを書き込むためのソフトウエアである。ライティングソフトウエア18は、オペレーティングシステム20の一部として提供されることもあるし、OSを提供しているメーカーとは異なるメーカーによって提供されることもある。
【0016】
ドライバ19は、外部記憶装置21を制御するためのソフトウエアである。ドライバ19は、たとえば、CD/DVDドライバや、光ディスクドライバ、SCSIドライバなどである。
【0017】
メモリ13は、RAMやROMなどを含む。ROMには、BIOSなどのブートプログラムが記憶されている。ブートプログラムにしたがって、オペレーティングシステム20が起動され、さらにオペレーティングシステム20にしたがって、各種の常駐プログラム(セキュリティソフトウエア17など)が起動される。OSとしては、一例として、Windows(登録商標)について説明するが、MacOS、Linux(登録商標)、iOS、Androidなどであってもよい。RAMは、ワークエリアとして機能する。
【0018】
ネットワークインターフェース14は、ネットワーク100を通じて他のコンピュータと通信するための通信回路である。CPU11およびネットワークインターフェース14は、情報をサーバ装置から受信する受信手段や情報をサーバ装置40に送信する送信手段として機能する。
【0019】
入力部16は、ポインティングデバイス(マウスやタッチパネル)やキーボードなどである。キーボードはソフトウエアキーボードであってもよい。また、入力部16は、入力された操作者の音声を音声認識機能により認識してCPU11へ指示を入力する音声認識入力部であってもよい。
【0020】
表示装置12は、情報を表示するためのユーザインタフェースである。CPU11および表示装置12は、受信手段により受信された情報を表示する表示手段として機能する。
【0021】
外部記憶装置21は、外部記憶媒体22に対してファイルを書き込んだり、外部記憶媒体22に書き込まれているファイルを読み出したりする記憶装置である。外部記憶装置21は、情報処理装置10の外部に接続されていたり、内蔵されていたりする。外部記憶媒体22としては、たとえば、CD−R、CD−RW、DVD−R、DVD+R、DVD−RW、DVD−RAM、BD−Rなどである。
【0022】
なお、本実施例では、ライティングソフトウエア18が、記憶装置に装填された外部記憶媒体に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体が書き込み可能であるかどうかを問い合わせるための確認要求、または、外部記憶媒体の種類を問い合わせるための確認要求を発行することを前提としている。このように、書き込み要求の前に確認要求を発行することが必要な記憶媒体や記憶装置であれば、HDDやSSDなどの補助記憶装置にも本発明を適用できる。
【0023】
サーバ装置40の記憶装置45は、ハードディスクドライブ(HDD)やSSDなどであり、サーバープログラム47を記憶している。メモリ43は、RAMやROMなどを含む。CPU41は、サーバープログラム47をRAMにロードし、情報処理装置10から送信されたり、管理者によってキーボード等から入力されたりしたセキュリティ設定を、ユーザーごとにセキュリティ設定データ48としてデータベース化する。また、CPU41は、情報処理装置10からセキュリティ設定の問い合わせを受信すると、問い合わせの対象となっているユーザーのセキュリティ設定をセキュリティ設定データ48から読み出して送信する。ネットワークインターフェース44は、ネットワーク100を通じて他のコンピュータと通信するための通信回路である。
【0024】
図2は、実施例における各ソフトウエアの基本的な動作を説明するための図である。ライティングソフトウエア18は、外部記憶装置21に装填された外部記憶媒体22に対してファイルを書き込む際に、まず、外部記憶媒体22が書き込み可能であるかどうかを問い合わせるための確認要求(状態確認要求R1)を発行する。ドライバ19は、状態確認要求R1を受信すると、外部記憶装置21が書き込み可能な状態かどうかを調査し、書き込み可能な状態かどうかを示すレスポンスR1’をライティングソフトウエア18に送信する。レスポンスR1’が書き込み可能であることを示していれば、ライティングソフトウエア18は、書き込み要求R2をドライバ19に送信し、ファイルの書き込みを実行する。
【0025】
図3は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、セキュリティソフトウエア17のフィルタドライバ30がドライバ19にアタッチされている。フィルタドライバ30は、ライティングソフトウエア18が発行する要求をインターセプトし、フィルタリングを実行する(外部記憶装置21のドライバ19に対する入出力をフィルタリングする)。ここでは、外部記憶媒体22への書き込みがセキュリティ設定により禁止されていると仮定する。フィルタドライバ30は、ライティングソフトウエア18が発行した要求が状態確認要求R1であれば、状態確認要求R1をドライバ19に転送せずに、破棄する。これにより、ライティングソフトウエア18は、状態確認要求R1に対するレスポンスR1’を受信できなくなるため、外部記憶媒体22への書き込みを実行できなくなる。なお、この事例の場合、フィルタドライバ30は、ドライバ19が発行するレスポンスについてはインターセプトする必要はない。
【0026】
図4は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ30は、ライティングソフトウエア18が発行した要求をドライバ19に転送するが、状態確認要求R1に対するレスポンスR1’をインターセプトし、ライティングソフトウエア18に転送することなく破棄する。これにより、ライティングソフトウエア18は、状態確認要求R1に対するレスポンスR1’を受信できなくなるため、外部記憶媒体22への書き込みを実行できなくなる。なお、この事例の場合、フィルタドライバ30は、ライティングソフトウエア18が発行する要求をインターセプトする必要はない。
【0027】
図5は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ30は、ライティングソフトウエア18が発行した要求をドライバ19に転送するが、状態確認要求R1に対するレスポンスR1’をインターセプトし、ライティングソフトウエア18に転送することなく破棄する。さらに、フィルタドライバ30は、レスポンスR1’の代わりにエラーメッセージをライティングソフトウエア18に送信する。エラーメッセージは、たとえば、アクセス禁止を示すメッセージや書き込み可能なメディアが挿入されていないことを示すメッセージなどである。ライティングソフトウエア18は、エラーメッセージを受信することで、外部記憶媒体22への書き込みを実行できないと判断し、外部記憶媒体22への書き込みを中止する。なお、この事例の場合、フィルタドライバ30は、ライティングソフトウエア18が発行する要求をインターセプトせずに、レスポンスR1’を破棄または改変してエラーメッセージErを出力してもよい。
【0028】
図6は、実施例における各ソフトウエアの基本的な動作を説明するための図である。本実施例では、フィルタドライバ30は、ライティングソフトウエア18が発行した要求をインターセプトし、当該要求が読み込み要求R3であれば、読み込み要求R3をドライバ19に転送する。これにより、ユーザーは外部記憶媒体22に対して書き込みを実行できないものの、外部記憶媒体22からファイルを読み込むことが可能となる。
【0029】
図7は、CPU11がセキュリティソフトウエア17を実行することで実現される機能を示すブロック図である。
【0030】
ユーザー情報取得部71は、情報処理装置10に対してログインしているユーザーの識別情報(例:ユーザ名)などをオペレーティングシステム20から取得する。セキュリティ設定問い合わせ部72は、ログインしているユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを示すセキュリティ設定を、情報処理装置10に接続されたサーバ装置40に問い合わせる。たとえば、セキュリティ設定問い合わせ部72は、ユーザー情報取得部71からユーザー名を受け取り、ユーザー名を含むセキュリティ設定問い合わせを作成してサーバ装置40に送信する。サーバ装置40は、受信したユーザー名に対応するセキュリティ設定を記憶装置45から読み出し、返信する。判定部73は、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを判定する。判定部73は、サーバ装置40から受信したセキュリティ設定を参照し、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを判定する。
【0031】
フィルタドライバ30は、フィルタ部74と横取り部75とを有している。横取り部75は、ライティングソフトウエア18が発行した要求や、ドライバ19が発行したレスポンスをインターセプトする。なお、レスポンスのインターセプトは必須の機能ではない。横取り部75は、たとえば、外部記憶装置21に装填された外部記憶媒体22に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体22が書き込み可能であるかどうかを問い合わせるための状態確認要求R1、または、外部記憶媒体22の種類を問い合わせるためのデバイス種類確認要求R4をライティングソフトウエア18が発行すると、当該確認要求をインターセプトする。
【0032】
図3に示したように、判定部73がユーザーの書き込みが禁止されていると判定すると、フィルタ部74は、外部記憶装置21を制御するドライバ19に対して状態確認要求R1を転送せずに破棄する。あるいは、図4に示したように、フィルタ部74は、状態確認要求R1に対するドライバ19からの返答(レスポンスR1’)をライティングソフトウエア18に対して転送せずに破棄してもよい。または、図5に示したように、フィルタ部74は、エラーメッセージErをライティングソフトウエア18に送信してもよい。なお、判定部73がユーザーの書き込みが禁止されていないと判定すると、フィルタ部74は、ドライバ19に対して状態確認要求R1を転送する。また、フィルタ部74は、ユーザーが書き込みを禁止されている場合であっても、外部記憶媒体22を読み込むための読み込み要求R3についてはドライバ19に転送する。
【0033】
このように、本実施例によれば、情報処理装置10内に保存されているデータの外部記憶媒体22への書き込みを禁止しつつ、外部記憶媒体22からの読み込みを許可することで、セキュリティと利便性とを両立することが可能となる。
【0034】
図8は、セキュリティソフトウエア17のユーザー毎のセキュリティ設定情報取得について、情報処理装置10における処理を示すフローチャートである。本実施例では、各ユーザーのセキュリティ設定を管理するセキュリティ設定部はサーバープログラム47によって実現されているが、セキュリティソフトウエア17によって実現されてもよい。CPU11は、スタートアッププログラムの1つとしてセキュリティソフトウエア17を起動する。なお、セキュリティソフトウエア17はサービスプログラムであってもよい。起動方法は、サービスプログラムとして自動起動する方法や、ユーザーが任意のタイミングで起動する方法などであってもよい。CPU11は、セキュリティソフトウエア17を起動すると、セキュリティソフトウエア17にしたがって、コンピュータウイルスを発見して削除するアンチウィルス機能やユーザーがコンピュータに対して実行した操作の履歴を記録するログ機能など、セキュリティに関する各種の機能を動作させる。セキュリティソフトウエア17が既にプロセスとして起動していた場合、CPU11は、後から起動したプロセスを終了する。これにより、プロセスの多重起動を阻止する。
【0035】
S801で、CPU11は、セキュリティソフトウエア17にしたがって、情報処理装置10にログインしているユーザーを特定するための情報であるユーザー情報をオペレーティングシステム20から取得する。ここで、ログインユーザーは、情報処理装置10にローカルユーザーとしてログインしているユーザーや、その他の端末からリモートログインしているリモートユーザなどである。ユーザー情報は、たとえば、アカウント名、ドメイン名、セッションIDなどユーザーを一意に識別が可能なユーザー識別情報である。CPU11は、ユーザー情報をメモリ13のRAMなどに保持させて、いつでも参照できるようにしてもよい。
【0036】
S802で、CPU11は、セキュリティソフトウエア17にしたがって、ログインユーザーのセキュリティ設定をサーバ装置40に問い合わせる。たとえば、CPU11は、オペレーティングシステム20から取得したユーザー情報を含むセキュリティ設定問い合わせメッセージを作成し、ネットワークインターフェース14およびネットワーク100を介してサーバ装置40に送信する。サーバ装置40のCPU41は、ネットワークインターフェース44を介して当該メッセージを受信すると、サーバープログラム47にしたがってメッセージからユーザー情報を抽出する。CPU41は、ユーザー情報に対応したセキュリティ設定をセキュリティ設定データ48から取得し、情報処理装置10に返信する。該当するユーザーについてのセキュリティ設定が登録されていない場合、CPU41は、セキュリティ設定が登録されていないことを示すメッセージを返答してもよいし、予め用意されているデフォルトのセキュリティ設定を返答してもよい。
【0037】
図9は、セキュリティ設定データ48の一例を示している。セキュリティ設定データ48には、ユーザーのユーザー名に対応付けて、そのユーザーの書き込み可否が登録されている。ここでは、セキュリティ設定として、外部記憶媒体22に対する書き込み可否だけを示しているが、通信の可否、ソフトウエアのインストールの可否など、他のセキュリティ設定が含まれていてもよい。
【0038】
S803で、情報処理装置10のCPU11は、セキュリティ設定を受信すると、それをRAMに保持させることで、その情報処理装置10に対してセキュリティ設定を反映する。これ以降、CPU11は、セキュリティソフトウエア17にしたがって、RAMに保持されているセキュリティ設定を参照し、ユーザーが実行する各種の操作を監視したり、制限したりする。
【0039】
S804で、CPU11は、セキュリティソフトウエア17にしたがって、フィルタドライバ30をドライバ19に対してアタッチする。これにより、フィルタドライバ30が稼働して、ライティングソフトウエア18とドライバ19との間で送受信される情報が監視され、フィルタリングされることになる。
【0040】
ここでは、ライティングソフトウエア18とドライバ19との間で送受信される情報を監視してフィルタリングする方法として、フィルタドライバ技術を使用するが、APIフックなど別の方法が採用されてもよい。これは、ライティングソフトウエア18が発行する状態確認要求R1を取得して、それがドライバ19に伝わるのをブロックしたり、ドライバ19からのレスポンスR1’がただしくライティングソフトウエア18に伝達されるのを阻止したりすることができる技術であれば十分だからである。なお、APIフックとは、API要求を監視し、API要求を別の内容に置き換えることをいう。
【0041】
なお、フィルタドライバ30は、状態確認要求R1だけでなく、他のデバイス種類確認要求R4などをフィルタリングしてもよい。デバイス種類確認要求R4とは、たとえば、CD/DVDドライブなどの外部記憶装置21に挿入されている外部記憶媒体22の種類を返答する要求である。たとえば、返答される種類としては、たとえば、CD、CD−R、CD−RWなどである。
【0042】
図10は、セキュリティソフトウエア17による工程のうちフィルタドライバ30の工程を示したフローチャートである。なお、ライティングソフトウエア18は予めユーザーからの起動指示によって起動されているものとする。上述したように、ライティングソフトウエア18は、外部記憶媒体22にファイルの書き込みを実行する際に、外部記憶媒体22に書き込むことが可能かどうかを示す状態確認要求R1をドライバ19に対して発行することになっている。また、ライティングソフトウエア18は、状態確認要求R1に対して書き込み可能であることを示す正常なレスポンスR1’が返ってくると、書き込み要求R2をドライバ19に発行する。
【0043】
S1001で、CPU11は、ライティングソフトウエア18が発行する要求を受信(インターセプト)し、その要求が状態確認要求R1であるかどうかを判定する。ライティングソフトウエア18からの要求が状態確認要求R1であれば、S1002に進む。なお、フィルタドライバ30が、状態確認要求R1を受信することは、フィルタドライバ30に状態確認要求イベントが発生したことを意味する。より具体的には、IRP_MJ_DEVICE_CONTROL要求のIO_CONTROL_CODEが、IOCTL_SCSI_PASS_THROUGH_DIRECTまたはIOCTL_SCSI_PASS_THROUGHであれば、そのIRP_MJ_DEVICE_CONTROL要求は状態確認要求である。つまり、CPU11は、IO_CONTROL_CODEがIOCTL_SCSI_PASS_THROUGH_DIRECTまたはIOCTL_SCSI_PASS_THROUGHであれば、状態確認要求R1が発行されたと判定する。
【0044】
S1002で、CPU11は、ライティングソフトウエア18を起動したユーザーのユーザー設定を取得する。たとえば、CPU11は、状態確認要求R1を元にライティングソフトウエア18のプロセス情報を取得する。状態確認要求R1には、要求内容を示すコードに加えて、当該要求を発行したプロセスのプロセスIDが含まれている。CPU11は、プロセスIDを元にオペレーティングシステム20の機能(Windows(登録商標)APIなど)を使用してプロセス情報を取得する。ここでプロセス情報とはプロセス名、プロセスID、セッションIDなどのプロセスを一意に識別可能な情報である。また、CPU11は、プロセス情報に含まれているセッションIDを利用して、オペレーティングシステム20からユーザー情報を取得する。ユーザー情報もセッションIDと紐付されているため、CPU11は、プロセス情報に含まれているセッションIDからユーザー情報を特定できる。ユーザー情報には、図9に示したようなユーザー名が含まれている。このように、ログインユーザーごとのユーザー設定を取得することが可能であるため、複数のユーザーがログイン可能なシンクライアント環境においても、本発明を適用することが可能である。これは、情報処理装置10ごとにセキュリティ設定を適用する代わりに、ユーザーごとにセキュリティ設定を適用しているからである。なお、ユーザー名は、ログインアカウント名やPC名、ドメイン名などのひとつもしくは複数の組み合わせであってもよい。CPU11は、ユーザー名を元にサーバ装置40から予め取得しておいたユーザー設定をRAMから読み出す。
【0045】
S1003で、CPU11は、ユーザー設定を参照し、外部記憶媒体22への書き込み設定が禁止されているかどうかを判定する。外部記憶媒体22への書き込み設定が禁止されていれば、S1004に進む。
【0046】
S1004で、CPU11は、ドライバ19に状態確認要求R1を渡さずに破棄する。これにより、CPU11は、外部記憶媒体22への書き込みを実質的に禁止することができる。なお、状態確認要求R1を破棄する代わりに、状態確認要求R1をドライバ19に渡し、それに対するレスポンスR1’を破棄することで、ライティングソフトウエア18にレスポンスR1’渡さなくてもよい。また、レスポンスR1’に代えてエラーメッセージErをライティングソフトウエア18に渡してもよい。これらにより、CPU11は、外部記憶媒体22への書き込みを実質的に禁止することができる。つまり、ライティングソフトウエア18は、状態確認要求R1を発行してから所定時間内にただしくレスポンスR1’を受信できないため、書き込み要求R2を発行できなくなる。
【0047】
一方で、S1003で、外部記憶媒体22への書き込み設定が禁止されていなければ、S1010に進む。
【0048】
S1010で、CPU11は、ドライバ19に状態確認要求R1を転送する。これにより、CPU11は、外部記憶媒体22への書き込みをユーザーに許可することができる。
【0049】
S1011で、CPU11は、ドライバ19に書き込み要求R2を転送する。
【0050】
一方で、S1001で、状態確認要求R1を受信しなかったときはS1020に進む。S1020で、CPU11は、ドライバ19に対して発行された要求が読み込み要求R3であるかどうかを判定する。ドライバ19に対して発行された要求が読み込み要求R3であれば、S1021に進む。ドライバ19に対して発行された要求が読み込み要求R3でもなければ、その要求に従った処理を実行してS1001に戻る。
【0051】
S1021で、CPU11は、読み込み要求R3をドライバ19に転送する。
【0052】
以上説明したように、本実施例によれば、CPU11(横取り部75)が、記憶装置に装填された外部記憶媒体21に対して書き込みを行うための書き込み要求とは異なる要求であって、かつ、読み込みを行うための読み込み要求とも異なる別の要求をライティングソフトウエア18が発行すると、この別の要求をインターセプトする。さらに、CPU11(フィルタ部74)は、ユーザーが外部記憶媒体21に対して書き込みおよび読み込みのうち一方を禁止されている場合には、書き込み要求と読み込み要求のうち禁止されている方の要求に関連してインターセプトした別の要求を、ドライバ19に対して転送せずに破棄するか、別の要求に対するドライバ19からの返答をライティングソフトウエア18に対して転送せずに破棄するか、または、エラーメッセージErをライティングソフトウエア18に送信する。一方で、CPU11(フィルタ部74)は、書き込みも読み込みも禁止されていない場合には、インターセプトした別の要求をドライバ19に転送する。これにより、情報処理装置内に保存されているデータの外部記憶媒体への書き込み/読み込みを禁止しつつ、外部記憶媒体からの読み込み/書き込みのみを許可することで、セキュリティと利便性とを両立することができる。
【0053】
たとえば、CPU11は、ライティングソフトウエア18から発行される状態確認要求R1やドライバ19からのレスポンスR1’をインターセプトすることで、情報処理装置10内に保存されているデータの外部記憶媒体22への書き込みや複製を禁止できるようになる。また、読み込み要求R3についてドライバ19に渡すことで、外部記憶媒体22からの読み込みをユーザーに許可することができる。よって、セキュリティと利便性とを両立することができる。たとえば、外部記憶媒体22が可搬型の記憶媒体であれば、悪意のあるユーザーによる外部記憶媒体の持ち出しによる情報漏えいを実質的に禁止することができるだろう。
【0054】
とりわけ、外部記憶装置21などの記憶装置に装填された外部記憶媒体22に対して書き込みを行うために書き込み要求R2を発行するのに先立って発行される、外部記憶媒体22が書き込み可能であるかどうかを問い合わせるための確認要求、または、外部記憶媒体22の種類を問い合わせるための確認要求をCPU11(横取り部75)がインターセプトする。さらに、CPU11(判定部73)は、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを判定する。CPU11は、判定結果に応じてフィルタリングを実行する。たとえば、CPU11(フィルタ部74)は、書き込みを禁止されている場合には、ドライバ19に対して確認要求を転送せずに破棄するか、確認要求に対するドライバ19からの返答をライティングソフトウエア18に対して転送せずに破棄するか、または、エラーメッセージをライティングソフトウエア18に送信する。一方で、書き込みを禁止されていない場合には、CPU11(フィルタ部74)は、ドライバ19に対して確認要求を転送する。なお、CPU11(フィルタ部74)は、ユーザーが書き込みを禁止されている場合であっても、外部記憶媒体22を読み込むための読み込み要求についてはドライバ19に転送することで、外部記憶媒体22の読み込みのみを可能とする。
【0055】
なお、横取り部75およびフィルタ部74は、APIに対する入出力をファイルタリングすることによって実現してもよい。
【0056】
横取り部75およびフィルタ部74は、ドライバ19に対する入出力をフィルタリングするドライバによって実現されてもよい。
【0057】
図5に関して説明したように、エラーメッセージErは、外部記憶媒体22に対するアクセスが禁止されていることを示すメッセージ、または、書き込み可能な外部記憶媒体22が記憶装置に装填されていないことを示すメッセージであってもよい。
【0058】
なお、CPU11(セキュリティ設定問い合わせ部72)は、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを情報処理装置10に接続されたサーバ装置40に問い合わせてもよい。この場合、CPU11(判定部73)は、問い合わせ結果に基づいて、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを判定する。このように、サーバ装置40のCPU41およびサーバープログラム47は、ユーザーが外部記憶媒体22に対して書き込みを禁止されているかどうかを管理する管理手段として機能する。なお、セキュリティ設定が予め情報処理装置10の記憶装置15に記憶されている場合は、CPU11(セキュリティ設定問い合わせ部72)は、記憶装置15からユーザーのセキュリティ設定を読み出せばよい。つまり、サーバ装置40は省略されてもよい。
【0059】
図3図4および5を用いて、外部部記憶媒体21への書き込みを禁止する方法の概念を説明したが、他の方法を採用してもよい。図11が示すように、フィルタドライバ30は、状態確認要求R1を破棄し、エラーメッセージErをライティングソフトウエア18に送信してもよい。
【0060】
本実施例では、ライティングソフトウエア18が、記憶装置に装填された外部記憶媒体に対して書き込みを行うために書き込み要求を発行するのに先立って、外部記憶媒体が書き込み可能であるかどうかを問い合わせるための確認要求等を発行することについて説明したが、これに限らず、書き込み要求と同時に、または書き込み要求を発行した後に確認要求等を発行してもよい。
【0061】
また、セキュリティソフトウエア17は、ユーザーのセキュリティ設定に応じて外部記憶媒体22への読み込みを禁止してもよい。ライティングソフトウエア18は、読み込み要求を発行する前、後、または読み込み要求とともに確認要求をドライバ19に対して発行し、確認要求に対する正しいレスポンスが返ってくると実際の読み込みを実行するように、ライティングソフトウエア18が設計されることがある。よって、読み込み要求に関連した確認要求について、書き込み要求についての確認要求と同様に処理することで、外部記憶媒体21からのファイルの読み込みを禁止することができる。このように読み込みを禁止できれば、たとえば、外部記憶媒体22から持ち込まれるウイルスの侵入を防止でき、ウイルスによる情報漏えいを防ぐことが可能となる。また、書き込みを許可して読み込みのみを禁止してもよい。たとえば、情報処理装置10において取得された業務履歴をCPU11が外部記憶媒体21に書き込み、その外部記憶媒体21を管理者が回収して業務分析を実施することも考えられる。この場合、管理者は、外部記憶媒体21に書き込まれた業務履歴については監視対象のユーザーに読まれないようにしたいことがある。そのため、書き込みのみを許可して、読み込みのみを禁止することには技術的利点がある。
【0062】
確認要求の一例として、状態確認要求と種類確認要求について説明したが、書き込みや読み込みを禁止できるような確認要求であれば、他の確認要求に本発明を適用してもよい。
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)への要求
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11