(57)【要約】  本発明の仮想マシン実行プログラムは、通信が許可されている送信元の仮想マシンからネットワーク上に送出されるデータはスルーさせ、通信が許可されていない送信元の仮想マシンからネットワーク上に送出されるデータは破棄する。
2009087702.tif 000002
【特許請求の範囲】
【請求項１】
物理マシンとしての情報処理装置上で、１つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
ログインしたアカウントの識別番号を取得するステップと、
第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第一判定ステップと、
前記第一判定ステップにおいて一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、一致しないと判定された場合、ネットワーク上に送出されるデータを破棄するフィルタ処理ステップと、
を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
【請求項２】
前記ネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項１記載の仮想マシン実行プログラム。
【請求項３】
ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
前記第一判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定ステップと、
第三判定ステップにおいて対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄するフィルタ処理ステップと、
を備える、ことを特徴とする請求項１記載の仮想マシン実行プログラム。
【請求項４】
前記対応するネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項３記載の仮想マシン実行プログラム。
【請求項５】
物理マシンとしての情報処理装置上で、１つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
ログインしたアカウントの識別番号を取得するステップと、
第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第二判定ステップと、
前記第二判定ステップにおいて一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄するフィルタ処理ステップと、
を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
【請求項６】
前記ネットワークを通って送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するステップ、
をさらに備えることを特徴とする請求項５記載の仮想マシン実行プログラム。
【請求項７】
ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
前記第二判定ステップにおいて一致すると判定された場合、取得したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、取得ネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定ステップと、
第四判定ステップにおいて対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄するフィルタ処理ステップと、
を備える、ことを特徴とする請求項５記載の仮想マシン実行プログラム。
【請求項８】
前記対応するネットワークを通ってきて送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項７記載の仮想マシン実行プログラム。
【請求項９】
管理するデータに要求されるセキュリティレベルに応じて、複数の仮想マシンが設けられることを特徴とする請求項１または５記載の仮想マシン実行プログラム。
【請求項１０】
ユーザ認証の処理結果として、ログインしたアカウントとネットワークアダプタを予め定められたファイルに出力するか、または、請求項１記載の仮想マシン実行プログラムに通知する処理を情報処理装置に実行させることを特徴とするユーザ認証プログラム。
【請求項１１】
１つまたは複数の仮想マシンが実行される物理マシンとしての情報処理装置において、
ユーザ認証を行い、ログインしたアカウントの識別番号を出力するユーザ認証処理部と、
アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を格納する第一記憶部と、
前記第一記憶部に格納された情報を用いて、通知されたアカウントの識別番号に対応する仮想マシンを取得するステップと、
いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第一判定部と、
前記第一判定部において仮想マシンが一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、ネットワーク上に送出されるデータを破棄する第一フィルタ処理部と、
ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第二判定部と、
前記第二判定部において仮想マシンが一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄する第二フィルタ処理部と、を備えることを特徴とする情報処理装置。
【請求項１２】
前記ネットワーク上にスルーさせて送出されるデータに対して、仮想マシンの送信元アドレスを物理マシンの送信元アドレスへと変換するとともに、前記ネットワークを通って送信先の仮想マシンにスルーさせて送出されるデータに対して、物理マシンの送信先アドレスから仮想マシンの送信先アドレスへと変換するアドレス変換部、をさらに備えることを特徴とする請求項１１記載の情報処理装置。
【請求項１３】
前記ユーザ認証処理部は、ログインしたアカウントの識別番号の他に、ネットワークアダプタを識別する情報をさらに出力し、
前記第一判定部において仮想マシンが一致すると判定された場合、取得したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、通知されたネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定部と、
第三判定部において対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄する第三フィルタ処理部と、
前記第二判定部において一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、通知されたネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定部と、
第四判定部において対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄する第四フィルタ処理部と、
を備える、ことを特徴とする請求項１１記載の情報処理装置。
【請求項１４】
前記対応するネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するとともに、
前記対応するネットワークを通ってきて送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するアドレス変換部、をさらに備えることを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
情報処理装置の起動時に、情報処理装置が社内にいるのか社外にいるのかをユーザに選択可能とさせる選択操作部と、
アカウントと、パスワードと、そのアカウントおよびパスワードの組の識別番号と、そのアカウントが社内用のものか社外用のものかを示す使用場所とを対応付けた第三記憶部と、をさらに備え、
前記ユーザ認証処理部は、前記操作選択部の選択結果に一致する使用場所を持つ前記第三記憶部のアカウントを次々と試行する、ことを特徴とする請求項１１記載の情報処理装置。
【請求項１６】
前記情報処理装置は、携帯可能なパーソナルコンピュータであることを特徴とする請求項１１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン実行プログラム、ユーザ認証プログラムおよびそれらプログラムの機能を有する情報処理装置に関する。
【背景技術】
【０００２】
機密漏洩防止技術として、シンクライアントなどによる情報可搬化を防ぐ方法と、ＵＳＢメモリの暗号化などによる可搬情報の暗号化とが知られている。
情報可搬化を防ぐ技術では、機密情報が社外で必要になったときに、手元で参照することすら不可能であるため、例えば秘密保持契約を結んだ相手のところであっても参照できず、業務に支障が起こる。【０００３】
可搬情報を暗号化する方法の場合、必要になって暗号化された情報を復号したときに、復号されたデータが流出する可能性を防ぐことはできない。
また、ウィルスの持ち込みを防止する技術として、パーソナルコンピュータ上のウィルスチェックソフトウェアによる感染防止と、ネットワーク上のファイアウォールによる攻撃防御とがある。【０００４】
しかし、ウィルスチェックソフトウェアは未知のウィルスを検知することはできない。
一方、ファイアウォールは通信パターンによって、未知のウィルスもある程度は検知可能である。しかし、ファイアウォールを設けることは高価であり、通信性能にも大きく影響するので、例えば、外から会社に持ち帰ったパーソナルコンピュータを接続する各ＨＵＢにファイアウォールを設置するのは困難である。【０００５】
また、ネットワークへのアクセスを制御する技術として様々な技術が知られている。
例えば特許文献１では、利用者ごとのアクセス制御情報を記憶した記憶手段を用いて、利用者に応じた通信ネットワークへのアクセス制御を行っている。【０００６】
また、特許文献２では、Ｗｅｂサーバの設置情報を、ユーザのファイル管理サーバへのアクセス権情報の一部として利用し、ユーザがクライアントから社内Ｗｅｂサーバを経由してファイル管理サーバへログインした場合と、ユーザがクライアントから社外Ｗｅｂサーバを経由してファイル管理サーバへログインした場合とで、アクセス権を異ならせるように制御している。【０００７】
しかし、これらはいずれも外部からのアクセスに対する制御であり、自身の装置からの外部へのアクセスについては制御自体何ら行っていない。
【特許文献１】特開２００３−４４４４１号公報  「ネットワーク・アクセス制御管理システム」
【特許文献２】特開２００４−４６４６０号公報  「ファイル管理システムにおけるアクセス制御方式」
【発明の開示】
【０００８】
本発明は、外部から装置へのアクセスに対しても、装置から外部へのアクセスに対しても、共にアクセス制御を行なうことができる仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置を提供することを目的とする。
【０００９】
本発明の第１態様の仮想マシン実行プログラムは、物理マシンとしての情報処理装置上で、１つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、ユーザ認証の処理結果として、ログインしたアカウントの識別番号を取得または受信するステップと、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた第一記憶部を用いて、取得または受信したアカウントの識別番号に対応する仮想マシンを取得するステップと、いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが取得した仮想マシンに一致するかどうかを判定する第一判定ステップと、前記第一判定ステップにおいて一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、一致しないと判定された場合、ネットワーク上に送出されるデータを破棄するフィルタ処理ステップと、ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが取得した仮想マシンに一致するかどうかを判定する第二判定ステップと、前記第二判定ステップにおいて一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄するフィルタ処理ステップと、を前記情報処理装置に実行させる仮想マシン実行プログラムである。
【００１０】
ここで、ログインしたアカウントの識別番号に基づいて、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた第一記憶部を参照して、通信を許可する仮想マシンを決めている。また、データの送信元の仮想マシンが通信を許可した仮想マシンである場合にはデータをスルーさせ、データの送信元の仮想マシンが通信を許可した仮想マシンでない場合にはデータを破棄している。また、ネットワークを通ってきたデータの送信先の仮想マシンが通信を許可した仮想マシンである場合にはデータをスルーさせ、データの送信先の仮想マシンが通信を許可した仮想マシンでない場合にはデータを破棄している。すなわち、外部からの装置へのアクセスに対しても、装置からの外部へのアクセスに対しても共に制御を行なうことができる。
【００１１】
よって、例えば、ユーザが社内にいる場合は、社内用アカウントを入力するようにし、社外にいる場合は、社外用アカウントを入力するようにし、前記第一記憶部において、社内用アカウントの識別番号に対しては社内用として起動される仮想マシンを対応付けるようにし、社外用アカウントの識別番号に対しては社外用として起動される仮想マシンを対応付けるようにすれば、社内用アカウントでログインした場合には、社内用の仮想マシンの通信が許可され、社外用アカウントでログインした場合には、社外用の仮想マシンの通信が許可される。
【００１２】
よって、社内にいて、社外用アカウントでログインしたことにより、社外用の仮想マシンの外部との通信が許可され、その社外用の仮想マシンに潜むウィルスからの攻撃を社内システムが受けたり、社外にいて、社内用アカウントでログインしたことにより、社内用の仮想マシンの外部との通信が許可され、機密情報を含む社内用の仮想マシンがウィルスにより攻撃されたりするのを防ぐことができ、例えば携帯用の情報処理装置本体のセキュリティレベルを高めることが可能となる。
【００１３】
本発明の第２態様の仮想マシン実行プログラムは、前記第１態様において、ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、前記第一判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定ステップと、第三判定ステップにおいて対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄するフィルタ処理ステップと、前記第二判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定ステップと、第四判定ステップにおいて対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄するフィルタ処理ステップと、を備える、仮想マシン実行プログラムである。
【００１４】
本発明の第３態様の仮想マシン実行プログラムは、前記第２態様において、新たに仮想マシンに外部との通信を許可する場合は、その仮想マシンと同じネットワークアダプタを使用して外部と通信可能な他の仮想マシンのネットワーク・アクセスを止める仮想マシン実行プログラムである。
【００１５】
このようなアクセス制御を行うことで、１つの仮想マシンに出入りするデータの通るパスと、他の仮想マシンに出入りするデータの通るパスとが交わることがなくなる。よって、例えば、１つの仮想マシンにウィルスが侵入した場合でも、ウィルスの感染を、その仮想マシンにとどまらせることができ、他の仮想マシン、情報処理装置本体、仮想マシン実行プログラムには伝染しないようにできる。
【００１６】
本発明によれば、外部からの装置へのアクセスに対しても、装置からの外部へのアクセスに対しても共に制御を行なうことができ、例えば携帯用の情報処理装置本体のセキュリティレベルを高めることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係る仮想ＰＣソフトウェアがインストールされたＰＣを示す図である。
【図２】図１の仮想ＰＣソフトウェアが管理する各ファイルを示した図である。
【図３】社内用仮想ＰＣを起動した状態を示す図である。
【図４】ＰＣを出入りするパケットの流れを示した図である。
【図５】ＰＣの初期状態を示した図である。
【図６】仮想ＰＣソフトウェアが保持するアカウント表およびユーザ認証ソフトウェアが保持するアカウント表を示した図である。
【図７】ユーザ認証ソフトウェアによる認証手続きを示した図である。
【図８】ログインできた場合のユーザ認証ソフトウェアおよび仮想ＰＣソフトウェアの動作を示す図である。
【図９】ログイン後のＰＣの状態を示した図である。
【図１０】社外用仮想ＰＣと外部との通信が許可された場合の各フィルタ部およびＮＡＴ部の動作を示す図（その１）である。
【図１１】社外用仮想ＰＣと外部との通信が許可された場合の各フィルタ部およびＮＡＴ部の動作を示す図（その２）である。
【図１２】社内用仮想ＰＣと外部との通信が許可された場合の各フィルタ部およびＮＡＴ部の動作を示す図（その１）である。
【図１３】社内用仮想ＰＣと外部との通信が許可された場合の各フィルタ部およびＮＡＴ部の動作を示す図（その２）である。
【図１４】図１のＰＣの動作例（その１）を示す図である。
【図１５】図１のＰＣの動作例（その２）を示す図である。
【図１６】図１のＰＣの動作例（その３）を示す図である。
【図１７】図１のＰＣの動作例（その４）を示す図である。
【図１８】ＰＣの第二の動作例（その１）を示す図である。
【図１９】ＰＣの第二の動作例（その２）を示す図である。
【図２０】ＰＣの第三の動作例（その１）を示す図である。
【図２１】ＰＣの第三の動作例（その２）を示す図である。
【図２２】記憶媒体例を示す図である。
【発明を実施するための最良の形態】
【００１８】
以下図面に基づいて、本発明の実施形態について詳細に説明する。
コンピュータ（情報処理装置）の物理的資源を論理的資源にマッピングする技術として仮想化技術がある。この技術では、例えば、１台の物理的なパーソナルコンピュータ（以下、ＰＣという）上で複数の仮想的なＰＣを動作実行させることができる。物理的なＰＣ上のＯＳ（Operating System）をホストＯＳと呼ぶのに対し、仮想ＰＣ上のＯＳをゲストＯＳという。【００１９】
図１は、本発明の一実施形態に係る仮想ＰＣ実行プログラム（以下、仮想ＰＣソフトウェアという）がインストールされたＰＣを示す図である。
図１において、ＰＣ１のホストＯＳ上で仮想ＰＣソフトウェア２が実行される。【００２０】
仮想ＰＣソフトウェア２は、複数（図では２つ）の仮想ＰＣを物理的なＰＣ１上で実行するソフトウェアである。
図１の例では、社内用仮想ＰＣ３と社外用仮想ＰＣ４とが、同一の物理的なＰＣ１上で動作する。そして、図１の例では、社内用仮想ＰＣ３を通して、ＰＣ１上の機密情報が含まれるデータにアクセスすることができる。また、社外用仮想ＰＣ４を通して、社内用仮想ＰＣ３が扱うデータよりも機密性が低いＰＣ１上のデータにアクセスすることができる。【００２１】
ネットワークアダプタ１１は、社内用仮想ＰＣ３と、ＰＣ１のホストＯＳとをつなぐネットワークアダプタであり、ネットワークアダプタ１２は、社外用仮想ＰＣ４と、ＰＣ１のホストＯＳとをつなぐネットワークアダプタである。本実施形態では、ネットワークアダプタはソフトウェアにより実現される。【００２２】
また、図１の例では、ＰＣ１は社外に持ち出されており、例えば駅内の所定の場所に設置された公衆の無線ＬＡＮ（Local Area Network）１５の近くでユーザにより使用されているものとする。【００２３】
ネットワークアダプタ１４は、ＰＣ１と公衆ＬＡＮ１５とをつなぐネットワークアダプタである。
ネットワークアダプタ１３は、ＰＣ１と、ＶＰＮ（Virtual Private Network）アクセスポイント１７とをつなぐネットワークアダプタである。なお、ＶＰＮクライアント２１と、ＶＰＮアクセスポイント１７との間には暗号通信パス１６が確立されている。【００２４】
８０２．１Ｘクライアント２２は、８０２．１Ｘプロトコルに従ったユーザ認証処理を行なうユーザ認証プログラムである。社外で８０２．１Ｘクライアント２２からログインした場合は、社外用仮想ＰＣ４から送出されるパケット（データ）の外部との通信が許可される。すなわち、社外用仮想ＰＣ４から送出されるパケット（データ）は、フィルタ部８、ＮＡＴ（Network Address Transform）部６、フィルタ部９、公衆ＬＡＮ１５、インターネット１９を通して、ネットワーク上に送出される。また、ネットワーク上から社外用仮想ＰＣ４あてに送出されたパケットは、公衆ＬＡＮ１５、フィルタ部９、ＮＡＴ部６、フィルタ部８を通して、社外用仮想ＰＣ４に受信される。【００２５】
フィルタ部５は、社内用仮想ＰＣ３側に設けられたフィルタであり、社内用仮想ＰＣ３から通信が許可されているネットワークに送出されるパケットをスルーさせ、社内用仮想ＰＣ３から通信が許可されていないネットワークに送出されるパケットを破棄する。【００２６】
フィルタ部７は、物理ＰＣ（ＰＣ１）側に設けられたフィルタであり、通信が許可されているネットワークを通ってきて社内用仮想ＰＣ３に送出されるパケットをスルーさせ、通信が許可されていないネットワークを通ってきて社内用仮想ＰＣ３に送出されるパケットを破棄する。【００２７】
フィルタ部８は、社外用仮想ＰＣ４側に設けられたフィルタであり、社外用仮想ＰＣ４から通信が許可されているネットワークに送出されるパケットをスルーさせ、社外用仮想ＰＣ４から通信が許可されていないネットワークに送出されるパケットを破棄する。【００２８】
フィルタ部９は、物理ＰＣ（ＰＣ１）側に設けられたフィルタであり、通信が許可されているネットワークを通ってきて社外用仮想ＰＣ４に送出されるパケットをスルーさせ、通信が許可されていないネットワークを通ってきて社外用仮想ＰＣ４に送出されるパケットを破棄する。【００２９】
ＮＡＴ部６は、フィルタ部５または８によりスルーされてネットワーク上に送出されるパケットに対して、送信元アドレスを仮想ＰＣのものから物理ＰＣ（ＰＣ１）のものへと変換するとともに、フィルタ部７または９によりスルーされてネットワークを通ってきて送信先の仮想ＰＣに送出されるパケットに対して、送信先アドレスを物理ＰＣ（ＰＣ１）のものから仮想ＰＣのものへと変換する。【００３０】
ＶＰＮクライアント２１は、ＶＰＮプロトコルに従ったユーザ認証処理を行なうユーザ認証プログラムである。ユーザは、社外から社内システム（社内ＬＡＮ１８）にアクセスするときに、ＶＰＮクライアント２１によるログインを試みる。社外でＶＰＮクライアント２１からログインした場合は、社内用仮想ＰＣ３から送出されるパケットの外部との通信が許可される。すなわち、社内用仮想ＰＣ３から送出されるパケットは、フィルタ部５、ＮＡＴ部６、フィルタ部７、暗号通信パス１６を通して、ネットワーク上に送出される。また、ネットワーク上から社内用仮想ＰＣ３あてに送出されたパケットは、ＶＰＮアクセスポイント１７、暗号通信パス１６、フィルタ部７、ＮＡＴ部６、フィルタ部５を通して、社内用仮想ＰＣ３に受信される。【００３１】
続いて、図２〜図５を参照して、図１のＰＣ１におけるネットワーク・アクセス制御方法について説明する。
図２は、図１の仮想ＰＣソフトウェア２が管理する各ファイルを示した図である。【００３２】
図２では、図１のネットワークアダプタ１１はｔａｐ−Ａ、ネットワークアダプタ１２はｔａｐ−Ｂ、ネットワークアダプタ１３はＬＡＮ、ネットワークアダプタ１４はＶＰＮとそれぞれ表記されている。【００３３】
各ネットワークアダプタの名称に続く「接続」は、そのネットワークアダプタを用いた通信が許可されていることを、「未接続」は、そのネットワークアダプタを用いた通信が許可されていないことをそれぞれ示している。【００３４】
また、図２は、ＯＳの観点から描いており、仮想ＰＣソフトウェア２（図２では、不図示）が管理する設定ファイル２４や、各ディスクイメージファイルはホストＯＳ２３上に描かれている。ディスクイメージファイルは、仮想ＰＣがディスクとして使用するファイルであり、ゲストＯＳなどのデータを格納している。ディスクイメージファイルは、仮想ＰＣ毎に設けられる。【００３５】
設定ファイル２４では、図１の仮想ＰＣソフトウェア２上で起動するそれぞれの仮想ＰＣ、この例では、社内用仮想ＰＣ３、社外用仮想ＰＣ４がどのネットワークアダプタを使用するか、各仮想ＰＣ上で起動するゲストＯＳなどのデータが入ったファイルとしてどのファイルを使用するか、仮想ＰＣが使用する各フィルタがそれぞれどのようなラベルをパケットに貼り付けるか等が指定される。【００３６】
図２の例では、社内用仮想ＰＣ３に対してはネットワークアダプタとしてｔａｐ−Ａが、ゲストＯＳなどのデータを格納するファイルとしてディスクイメージファイルＡが指定されており、社外用仮想ＰＣ４に対しては、ネットワークアダプタとしてｔａｐ−Ｂが、ゲストＯＳなどのデータを格納するファイルとしてディスクイメージファイルＢが指定されている。【００３７】
また、ＬＡＮは、イーサネット（登録商標）などのネットワークに対するアダプタであり、ＶＰＮは、図１のＶＰＮクライアント２１によりＶＰＮアクセスポイント１７に正しくログインできた場合にのみ使用可能なアダプタである。【００３８】
図２のいずれの仮想ＰＣも起動されていない状態から社内用仮想ＰＣ３を起動すると、図３の状態に移行する。なお、ここでは、社内用仮想ＰＣ３が起動されるものと仮定したが、実際には、図２の設定ファイル２４上に設定された仮想ＰＣ（この例では、社内用仮想ＰＣ３および社外用仮想ＰＣ４）の全てあるいは一部を指定により任意に起動できる。【００３９】
図３では、ＯＳの観点から描いており、社内用仮想ＰＣ３はネットワークアダプタｔａｐ−Ａにつながっている。そして、ホストＯＳ２３上で、仮想ＰＣソフトウェア２が１つまたは複数起動し、起動された仮想ＰＣソフトウェア２の中のユニットとして複数の仮想ＰＣが起動する。なお、本実施形態では、仮想ＰＣソフトウェアが１つ起動する場合を扱う。【００４０】
仮想ＰＣソフトウェア２は、仮想ＰＣに対して、ハードウェアであるＰＣであるかのように振舞うとともに、ネットワークアダプタであるかのように振舞う。このため、ホストＯＳ２３は、ネットワークアダプタｔａｐ−Ａやｔａｐ−Ｂを通して仮想ＰＣが現れたように認識できる。【００４１】
このように、社内用仮想ＰＣ３を起動すると、ホストＯＳ２３と社内用仮想ＰＣ３とをつなぐネットワークアダプタｔａｐ−Ａが未接続から接続に変化する。また、ディスクイメージファイルＡは、社内用仮想ＰＣ３によってディスクとして使用されるようになる。【００４２】
なお、図３には示していないが、社外用仮想ＰＣ４を起動した場合には、ホストＯＳ２３と社外用仮想ＰＣ４とをつなぐネットワークアダプタｔａｐ−Ｂが未接続から接続に変化する。また、ディスクイメージファイルＢは、社外用仮想ＰＣ４によりディスクとして使用されるようになる。【００４３】
続いて、仮想ＰＣが外部と通信を行なう方法について図４を参照して説明する。
仮想ＰＣと外部とのパケットのやり取りは、ＮＡＴ部６を通してなされる。すなわち、パケットが仮想ＰＣから外部に送出される場合（図４の（１）の場合）は、ＮＡＴ部６によって、送信元を示すソースアドレス（送信元アドレス）が仮想ＰＣのアドレスであるＧ１から、ＰＣ１のアドレスであるＬ１に変換されて外部に送出される。【００４４】
また、パケットが外部から仮想ＰＣに送出される場合（図４の（２）の場合）は、Ｌ１（ＰＣ１のアドレス）あてに戻ってきたパケットが、ＮＡＴ部６によって、宛先アドレス（送信先アドレス）がＰＣ１のアドレスＬ１から仮想ＰＣのアドレスＧ１に変換されて仮想ＰＣに送出される。【００４５】
この方法によれば、ゲストＯＳ上の仮想ＰＣによる通信であってもホストＯＳ２３による通信であるかのように見せることができる。
なお、初期状態においては、図５に示すように、社内用仮想ＰＣ３と、社外用仮想ＰＣ４は外部と通信できない。【００４６】
続いて、８０２．１Ｘクライアント２２などのユーザ認証ソフトウェアにより行われる公衆ＬＡＮへの接続とユーザ認証の処理結果の出力または通知の処理、および、ログイン結果を受けて仮想ＰＣソフトウェア２側で行われる仮想ＰＣからのパケット送出時または仮想ＰＣへのパケット送出時の処理について、図６〜図１３を参照して説明する。【００４７】
なお、本実施形態においては、ユーザは、社内、家、駅ナカなどで使用するアカウント、パスワードを記憶しており、それぞれの場所で適切なアカウントを手動で８０２．１Ｘクライアント２２などのユーザ認証ソフトウェアを通して入力してユーザ認証を行なうものとする。ここで、ユーザは社外にいるときは社外用アカウントを使用し、社内にいるときは社内用アカウントを使用するものとする。【００４８】
８０２．１Ｘクライアント２２などのユーザ認証ソフトウェアにより自動でログインを行なう場合、次のようになる。
すなわち、仮想ＰＣソフトウェア２は、社内での使用か社外での使用かをユーザに選択させる使用モード選択画面を起動時に表示させるようにし、ユーザに使用モード、つまり社内での使用か社外での使用かを選択させる。選択結果は所定のファイルに書き込まれる。このファイルは、各ユーザ認証ソフトウェアにとって既知のファイルである。【００４９】
また、ユーザ認証ソフトウェア、例えば８０２．１Ｘクライアント２２は、図６に示すアカウント表２８を有している。アカウント表２８では、社内-id、家庭-id、駅ナカ-idなどの複数のアカウントと、各アカウント用のパスワードとが、アカウントとパスワードとの組を識別する識別番号に対応付けられている。また、アカウント表２８には、それぞれのアカウントが社内で使用するものか社外で使用するものかを定めた項目（「使用場所」）がさらに追加されている。なお、ユーザが手動でユーザ認証ソフトウェアを操作する場合のみを想定する場合、「使用場所」を追加する必要はない。【００５０】
８０２．１Ｘクライアント２２は、所定のファイルに書き込まれている、ユーザにより選択された「社内での使用」あるいは「社外での使用」を示す使用モードの値を参照し、図７に示すように、その値と同じ値を持つアカウント表２８上の行についてアカウントによるログインを次々と試行する。この方法によれば、社内にいる場合、社内アカウントでログインすることになり、社外にいる場合、社外アカウントでログインすることになる。【００５１】
すなわち、ユーザによる使用モード選択に誤りがあった場合、あるいは意図的に異なったモードを選択した場合を除いては、社内にいて社外アカウントでログインすることにより、社外用仮想ＰＣ４の外部との通信が許可され、社外用仮想ＰＣ４に潜むウィルスからの攻撃を社内システムが受けることを防止できる。また、社外にいて社内アカウントでログインすることにより、社内用仮想ＰＣ３の外部との通信が許可され、機密情報を含む社内用仮想ＰＣ３がウィルスにより攻撃されるのを防ぐことができる。【００５２】
なお、８０２．１Ｘプロトコル内の情報を参照することにより、自動で接続した公衆ＬＡＮ内の認証ＨＵＢ３１と認証手続きを行なってもよい。
また、ここでは、８０２．１Ｘで説明しているが、８０２．１Ｘ以外の規格、例えば、８０２．１１ｇであれば、ＳＳＩＤ（Service Set ID）によって使用可能なアカウントを選別できる。【００５３】
仮想ＰＣソフトウェア２が管理するアカウント表２７は、アカウント表２８に記録されたアカウントとパスワードとの組を識別する識別番号と、外部と通信可能にする仮想ＰＣ（名）とを対応付けている。【００５４】
ログインできた場合、８０２．１Ｘクライアント２２は、図８に示すように、認証結果出力用のファイル３２に、ログインできたアカウントの識別番号と、そのアカウントが外部通信に用いるネットワークアダプタを識別する情報とを出力する。【００５５】
仮想ＰＣソフトウェア２は、ファイル３２を常時監視し、ファイル３２にデータが書き込まれたら、直ちに、書き込まれたデータをファイル３２から読み出してキャッシュ（不図示）に格納する。または、仮想ＰＣソフトウェア２は、仮想ＰＣから外部へのパケット送出時、または、外部から仮想ＰＣへのパケット送出時にフィルタ処理のためにデータをファイル３２から読み出す。【００５６】
このログイン結果を受けて、図９に示すように、仮想ＰＣソフトウェア２は、使用できるネットワークアダプタがＬＡＮに限定された状態で、社外用仮想ＰＣ４と外部との通信が許可された状態となる。その後の仮想ＰＣソフトウェア２の動作については、図１０および図１１にて後述する。【００５７】
なお、ＰＣ１上には、複数のユーザ認証ソフトウェアがインストールされている。そして、ユーザ認証ソフトウェア毎に、図６のアカウント表２８を持っている。このため、図６の仮想ＰＣソフトウェア２が管理するアカウント表２７も、ＰＣ１にインストールされているユーザ認証ソフトウェアの数だけ存在する。【００５８】
また、ユーザ認証ソフトウェア毎に、認証結果が出力されるファイル３２がある。このため、仮想ＰＣソフトウェア２は、どのユーザ認証ソフトウェアがどのファイルに認証結果を出力するのか（出力先ファイル一覧）を保持したファイルを管理している。【００５９】
図９の状態からさらにＶＰＮクライアント２１（図９では不図示）を用いて社内用仮想ＰＣ３にログインした場合、ＶＰＮクライアント２１から不図示のファイルに「アカウントの識別番号＝１、ネットワークアダプタ＝ＶＰＮ」のデータが書き込まれる。【００６０】
仮想ＰＣソフトウェア２は、そのファイルに書き込まれたデータを直ちに読み出してキャッシュ（不図示）に格納する。または、仮想ＰＣソフトウェア２は、仮想ＰＣから外部へのパケット送出時、または、外部から仮想ＰＣへのパケット送出時にフィルタ処理のためにデータをそのファイルから読み出す。【００６１】
仮想ＰＣソフトウェア２が管理するＶＰＮクライアント２１用の不図示のアカウント表には、ファイルに書き込まれたデータのうち、ＶＰＮクライアント２１でログインしたアカウントの識別番号（この場合、「１」）に対応する仮想ＰＣ名として、社内用仮想ＰＣが設定されていたとする。【００６２】
この場合、このログイン結果を受けて、仮想ＰＣソフトウェア２は、使用できるネットワークアダプタがＶＰＮに限定された状態で、社内用仮想ＰＣ３と外部との通信が許可された状態となる。その後の仮想ＰＣソフトウェア２の動作については、図１２および図１３にて後述する。【００６３】
図１０および図１１は、社外用仮想ＰＣと外部との通信が許可された場合の各フィルタ部およびＮＡＴ部６の動作を示す図である。
ここで、「社外用仮想ＰＣ４と外部との通信が許可された」とは、社外用仮想ＰＣ４と外部との通信が許可されたことに対応するデータが、仮想ＰＣソフトウェア２が管理するログイン結果の出力先ファイル一覧中のいずれかのファイル（ファイル３２）に書き込まれたか、または、対応するデータの通知を仮想ＰＣソフトウェア２が８０２．１Ｘクライアント２２などのユーザ認証ソフトウェアから受けたかしたことを意味する。【００６４】
図２からは定かでないが、図２の設定ファイル２１内には、起動する各仮想ＰＣに関するデータ中に、使用するネットワークアダプタの情報などと共に、使用する２つのフィルタ、例えば、社外用仮想ＰＣ４の場合にはフィルタ部８および９についての情報すなわち自分がパケットに貼り付けるラベル名が記述される。【００６５】
例えば、８０２．１Ｘクライアント２２を使用して、社外の、駅内のアクセスポイント近くの所定の場所からログインした場合、ファイル３２には、駅内のアクセスポイントを示すアカウントの識別番号「３」と、利用しているネットワークアダプタ「ＬＡＮ」というデータが書き込まれる。【００６６】
この場合、図１０において、社外用仮想ＰＣ４から送信されたパケットをフィルタ部８が受信すると、フィルタ部８は、そのパケットに補足データが追加されているかどうかを判定する。パケットに補足データが追加されていない場合、フィルタ部８は、仮想ＰＣソフトウェア２が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。あるいは、ファイル一覧中の各ファイルの内容が書き出された上述のキャッシュの各行（１行は１つのファイルのデータ）を参照して以下の処理を行なう。【００６７】
すなわち、現在のファイルのデータ（アカウントの識別番号、ネットワークアダプタ）中のアカウントの識別番号を参照して、仮想ＰＣソフトウェア２が管理するアカウント表中のこの識別番号に一致する行（アカウントの識別番号、通信を許可する仮想ＰＣ名）を取得し、この行に記述される仮想ＰＣ名を抽出する。なお、このとき、（仮想ＰＣ名、ネットワークアダプタ）を後の処理で使用される一時的なリストに追加する。【００６８】
抽出された仮想ＰＣ名がフィルタ部８が担当する仮想ＰＣの名称に一致した場合、対応する仮想ＰＣが通信許可の状態にあることをフィルタ部８は知り、フィルタ部８は、パケットを送信した仮想ＰＣの特定処理や、ラベルの貼り付け処理を行なう。【００６９】
一方、抽出された仮想ＰＣ名がフィルタ部８が担当する仮想ＰＣの名称に一致しない場合、フィルタ部８は処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想ＰＣ名の抽出から繰り返す。【００７０】
一覧の最後に達し、処理対象とするファイルがなくなった場合、フィルタ部８は社外用仮想ＰＣ４から受信したパケットを破棄する。
上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部８は、所定のファイル３２のデータ中のアカウントの識別番号（この場合、「３」）を参照して、仮想ＰＣソフトウェア２が管理するアカウント表２７中のこの識別番号に一致する行を取得し、この行に記述される仮想ＰＣ名として、社外用仮想ＰＣを抽出する。【００７１】
抽出された仮想ＰＣ名が、フィルタ部８が担当する仮想ＰＣの名称に一致した場合、フィルタ部８は、パケットに含まれる送信元アドレスを参照し、この送信元アドレスからパケットを送信した仮想ＰＣ（この場合、社外用仮想ＰＣ４）を割り出す。【００７２】
割り出された送信元の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致しなかった場合、フィルタ部８は、受信したパケットを破棄する。
割り出された送信元の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致した場合、フィルタ部８は作成した一時的なリストを参照して、フィルタ部８が担当する仮想ＰＣに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上に送出されるかどうかを判定する。【００７３】
対応するネットワーク上に受信したパケットが送出されないと判定された場合、フィルタ部８は、受信したパケットを破棄する。
対応するネットワーク上に受信したパケットが送出されると判定された場合、フィルタ部８は、「社外用」ラベルおよび変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベルをパケットに補足データとして追加して、ＮＡＴ部６に送出する。【００７４】
ＮＡＴ部６は、パケットの補足データを参照して、パケットに含まれる送信元アドレスを社外用仮想ＰＣ４のものからＰＣ１のものに変換して、ルーティングテーブルなどを参照して、変換結果のパケットをフィルタ部９および７に送出する。【００７５】
変換結果のパケットを受信したフィルタ部９では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部９は、その補足データの内容が「社外用」であるかどうかを判定する。【００７６】
補足データの内容が「社外用」でない場合、フィルタ部９は、受信したパケットを破棄する。
補足データの内容が「社外用」である場合、フィルタ部９は、補足データのみを受信したパケットから破棄して残りの部分をＬＡＮ１５上に送出する。【００７７】
一方、変換結果のパケットを受信したフィルタ部７では、そのパケットの補足データの内容が「社外用」であり、「社内用」ではないので、その受信したパケットを破棄する。
図１０で送信したパケットに対して応答があった場合について図１１を参照して説明する。【００７８】
図１１において、図１０で送信したパケットに対する応答パケットを受信したフィルタ部９では、そのパケットに補足データが追加されているかどうかを判定する。
パケットに補足データが追加されていない場合、フィルタ部９は、仮想ＰＣソフトウェア２が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。【００７９】
すなわち、現在のファイルのデータ（アカウントの識別番号、ネットワークアダプタ）中のアカウントの識別番号を参照して、仮想ＰＣソフトウェア２が管理するアカウント表中のこの識別番号に一致する行（アカウントの識別番号、通信を許可する仮想ＰＣ名）を取得し、この行に記述される仮想ＰＣ名を抽出する。なお、このとき、（仮想ＰＣ名、ネットワークアダプタ）を後の処理で使用される一時的なリストに追加する。【００８０】
抽出された仮想ＰＣ名がフィルタ部９が担当する仮想ＰＣの名称に一致した場合、対応する仮想ＰＣが通信許可の状態にあることをフィルタ部９は知り、フィルタ部９は、パケットを受信する仮想ＰＣの特定処理や、ラベルの貼り付け処理を行なう。【００８１】
一方、抽出された仮想ＰＣ名がフィルタ部９が担当する仮想ＰＣの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想ＰＣ名の抽出から繰り返す。【００８２】
一覧の最後に達し、処理対象とするファイルがなくなった場合、フィルタ部９は受信したパケットを破棄する。
上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部９は、所定のファイル３２のデータ中のアカウントの識別番号（この場合、「３」）を参照して、仮想ＰＣソフトウェア２が管理するアカウント表２７中のこの識別番号に一致する行を取得し、この行に記述される仮想ＰＣ名として、社外用仮想ＰＣを抽出する。【００８３】
抽出された仮想ＰＣ名がフィルタ部９が担当する仮想ＰＣの名称に一致した場合、フィルタ部９は、ＰＣ１が保持する送信履歴情報やＮＡＴ部６が管理するルーティングテーブルを参照して、受信したパケットの送信先を割り出す。【００８４】
割り出された送信先の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致しなかった場合、フィルタ部９は、受信したパケットを破棄する。
割り出された送信先の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致した場合、フィルタ部９は作成した一時的なリストを参照して、フィルタ部９が担当する仮想ＰＣに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上を通ってきたかどうかを判定する。【００８５】
受信したパケットが対応するネットワーク上を通っていないと判定された場合、フィルタ部９は、受信したパケットを破棄する。
一方、受信したパケットが対応するネットワーク上を通ってきたと判定された場合、フィルタ部９は、「社外用」ラベル、変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベル、および割り出された送信先をパケットに補足データとして追加して、ＮＡＴ部６に送出する。【００８６】
ＮＡＴ部６は、受信したパケット中の補足データを参照して、受信したパケットの送信先アドレスをＰＣ１のものから社外用仮想ＰＣ４のものに変換して、変換結果のパケットをフィルタ部８および５に送出する。【００８７】
変換結果のパケットを受信したフィルタ部８では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部８は、その補足データの内容が「社外用」であるかどうかを判定する。【００８８】
補足データの内容が「社外用」でない場合、フィルタ部８は、受信したパケットを破棄する。
補足データの内容が「社外用」である場合、フィルタ部８は、補足データのみを受信したパケットから破棄して残りの部分を社外用仮想ＰＣ４に送出する。【００８９】
一方、変換結果のパケットを受信したフィルタ部５では、そのパケットの補足データの内容が「社外用」であり、「社内用」ではないので、その受信したパケットを破棄する。
図１２および図１３は、社内用仮想ＰＣ３と外部との通信が許可された場合の各フィルタ部およびＮＡＴ部６の動作を示す図である。【００９０】
ここで、「社内用仮想ＰＣ３と外部との通信が許可された」とは、社内用仮想ＰＣ３と外部との通信が許可されたことに対応するデータが仮想ＰＣソフトウェア２が管理するログイン結果の出力先ファイル一覧中のいずれかのファイルに書き込まれたか、または、対応するデータの通知を仮想ＰＣソフトウェア２がいずれかのユーザ認証ソフトウェアから受けたかしたことを意味する。【００９１】
例えば、ＶＰＮクライアント２１を使用して、社外の、駅内のアクセスポイント近くの所定の場所からログインした場合、ファイル（不図示）には、「アカウントの識別番号＝３、ネットワークアダプタ＝ＶＰＮ」というデータが書き込まれる。【００９２】
この場合、図１２において、社内用仮想ＰＣ３から送信されたパケットをフィルタ部５が受信すると、フィルタ部５は、そのパケットに補足データが追加されているかどうかを判定する。パケットに補足データが追加されていない場合、フィルタ部５は、仮想ＰＣソフトウェア２が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中の存在しているファイルに対し以下の処理を行なう。【００９３】
すなわち、現在のファイルのデータ（アカウントの識別番号、ネットワークアダプタ）中のアカウントの識別番号を参照して、仮想ＰＣソフトウェア２が管理するアカウント表中のこの識別番号に一致する行（アカウントの識別番号、通信を許可する仮想ＰＣ名）を取得し、この行に記述される仮想ＰＣ名を抽出する。なお、このとき、（仮想ＰＣ名、ネットワークアダプタ）を後の処理で使用される一時的なリストに追加する。【００９４】
抽出された仮想ＰＣ名が、フィルタ部５が担当する仮想ＰＣの名称に一致した場合、対応する仮想ＰＣが通信許可の状態にあることをフィルタ部５は知り、フィルタ部５は、パケットを送信した仮想ＰＣの特定処理や、ラベルの貼り付け処理を行なう。【００９５】
一方、抽出された仮想ＰＣ名が、フィルタ部５が担当する仮想ＰＣの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想ＰＣ名の抽出から繰り返す。【００９６】
一覧の最後に達し、処理対象とするファイルがなくなった場合、受信したパケットを破棄する。
上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部５は、所定のファイル（不図示）のデータ中のアカウントの識別番号（この場合、「１」）を参照して、仮想ＰＣソフトウェア２が管理するアカウント表（不図示）中のこの識別番号に一致する行を取得し、この行に記述される仮想ＰＣ名として、例えば社外用仮想ＰＣを抽出する。【００９７】
抽出された仮想ＰＣ名が、フィルタ部５が担当する仮想ＰＣの名称に一致した場合、フィルタ部５は、パケットに含まれる送信元アドレスを参照し、この送信元アドレスからパケットを送信した仮想ＰＣ（この場合、社内用仮想ＰＣ３）を割り出す。【００９８】
割り出された送信元の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致しなかった場合、フィルタ部５は、受信したパケットを破棄する。
割り出された送信元の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致した場合、作成した一時的なリストを参照して、フィルタ部５が担当する仮想ＰＣに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上に送出されるかどうかを判定する。【００９９】
対応するネットワーク上に送出されないと判定された場合、フィルタ部５は、受信したパケットを破棄する。
対応するネットワーク上に送出されると判定された場合、フィルタ部５は、「社内用」ラベルおよび変換対象となるアドレスが送信元アドレスであることを示す「送信元」ラベルをパケットに補足データとして追加して、ＮＡＴ部６に送出する。【０１００】
ＮＡＴ部６は、パケットの補足データを参照して、パケットに含まれる送信元アドレスを社内用仮想ＰＣ３のものからＰＣ１のものに変換して、変換結果のパケットをフィルタ部７および９に送出する。【０１０１】
変換結果のパケットを受信したフィルタ部７では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部７は、その補足データの内容が「社内用」であるかどうかを判定する。【０１０２】
補足データの内容が「社内用」でない場合、フィルタ部７は、受信したパケットを破棄する。
補足データの内容が「社内用」である場合、フィルタ部７は、補足データのみを受信したパケットから破棄して残りの部分を暗号通信パス１６上に送出する。【０１０３】
一方、変換結果のパケットを受信したフィルタ部９では、そのパケットの補足データの内容が「社内用」であり、「社外用」ではないので、その受信したパケットを破棄する。
図１２で送信したパケットに対して応答があった場合について図１３を参照して説明する。【０１０４】
図１３において、図１２で送信したパケットに対する応答パケットを受信したフィルタ部７では、そのパケットに補足データが追加されているかどうかを判定する。
パケットに補足データが追加されていない場合、フィルタ部７は、仮想ＰＣソフトウェア２が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。【０１０５】
すなわち、現在のファイルのデータ（アカウントの識別番号、ネットワークアダプタ）中のアカウントの識別番号を参照して、仮想ＰＣソフトウェア２が管理するアカウント表中のこの識別番号に一致する行（アカウントの識別番号、通信を許可する仮想ＰＣ名）を取得し、この行に記述される仮想ＰＣ名を抽出する。なお、このとき、（仮想ＰＣ名、ネットワークアダプタ）を後の処理で使用される一時的なリストに追加する。【０１０６】
抽出された仮想ＰＣ名が、フィルタ部７が担当する仮想ＰＣの名称に一致した場合、対応する仮想ＰＣが通信許可の状態にあることをフィルタ部７は知り、フィルタ部７は、パケットを受信する仮想ＰＣの特定処理や、ラベルの貼り付け処理を行なう。【０１０７】
一方、抽出された仮想ＰＣ名が、フィルタ部７が担当する仮想ＰＣの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想ＰＣ名の抽出から繰り返す。【０１０８】
一覧の最後に達し、処理対象とするファイルがなくなった場合、受信したパケットを破棄する。
上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部７は、所定のファイル（不図示）のデータ中のアカウントの識別番号（この場合、「１」）を参照して、仮想ＰＣソフトウェア２が管理するアカウント表（不図示）中のこの識別番号に一致する行を取得し、この行に記述される仮想ＰＣ名として、社内用仮想ＰＣを抽出する。【０１０９】
抽出された仮想ＰＣ名が、フィルタ部７が担当する仮想ＰＣの名称に一致した場合、フィルタ部７は、ＰＣ１が保持する送信履歴情報（不図示）やＮＡＴ部６が管理するルーティングテーブル（不図示）を参照して、受信したパケットの送信先を割り出す。【０１１０】
割り出された送信先の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致しなかった場合、フィルタ部７は、受信したパケットを破棄する。
割り出された送信先の仮想ＰＣ名が自分が担当する仮想ＰＣの名称に一致した場合、作成した一時的なリストを参照して、フィルタ部７が担当する仮想ＰＣに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上を通ってきたかどうかを判定する。【０１１１】
対応するネットワーク上に通っていないと判定された場合、フィルタ部７は、受信したパケットを破棄する。
対応するネットワーク上に通ってきたと判定された場合、フィルタ部７は、「社内用」ラベル、変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベル、および割り出された送信先をパケットに補足データとして追加して、ＮＡＴ部６に送出する。【０１１２】
ＮＡＴ部６は、受信したパケット中の補足データを参照して、受信したパケットの送信先アドレスをＰＣ１のものから社内用仮想ＰＣ３のものに変換して、変換結果のパケットをフィルタ部５および８に送出する。【０１１３】
変換結果のパケットを受信したフィルタ部５では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部５は、その補足データの内容が「社内用」であるかどうかを判定する。【０１１４】
補足データの内容が「社内用」でない場合、フィルタ部５は、受信したパケットを破棄する。
補足データの内容が「社内用」である場合、フィルタ部５は、補足データのみを受信したパケットから破棄して残りの部分を社内用仮想ＰＣ３に送出する。【０１１５】
一方、変換結果のパケットを受信したフィルタ部８では、そのパケットの補足データの内容が「社内用」であり、「社外用」ではないので、その受信したパケットを破棄する。
続いて、図１のＰＣの動作について図１４〜図１７を参照して説明する。【０１１６】
図１４は、図１のＰＣ１をユーザが社内で利用している状態を示している。
この場合、ユーザ認証前の状態では、外部接続可能なＰＣ１は、社内に設置される８０２．１Ｘ認証ＨＵＢ３５によりまだ認証されていないため、ＬＡＮ外とは通信できない。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１１７】
８０２．１Ｘクライアント２２により手動でまたは自動で８０２．１Ｘ認証処理が行われる。認証に成功すると、ＰＣ１は８０２．１Ｘ認証ＨＵＢ３１により通信が許可される。【０１１８】
８０２．１Ｘ認証に成功すると、８０２．１Ｘクライアント２２から、認証されたアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。このファイルに出力された情報が、ＮＡＴ部６の動作モードを決めることになる。ここでは、社内用仮想ＰＣ３に通信許可を与え、社外用仮想ＰＣ４に通信許可を与えない動作モードでＮＡＴ部６は動作する。【０１１９】
このとき、上記したように、社内用仮想ＰＣ３と外部との通信時には、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバなどの外部からは本体ＰＣ１との通信として認識される。これにより、機密情報を含む社内用仮想ＰＣ３は外部サーバと通信可能となる。【０１２０】
これに対し、ウィルスを含むかも知れない社外用仮想ＰＣ４は外部と通信できない。これにより、社外用仮想ＰＣ４の内部に潜んでいるかも知れないウィルスは本体ＰＣ１やネットワーク外に攻撃を仕掛けることができなくなる。【０１２１】
図１５は、図１のＰＣ１をユーザが社外で利用している状態（その１）を示している。
この場合、認証前の状態では、外部接続可能なＰＣ１は、公衆ＬＡＮ内の認証ＨＵＢ３１によりまだ認証されていないため、外部とは通信できない。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１２２】
８０２．１Ｘクライアント２２により手動でまたは自動で８０２．１Ｘ認証処理が行われる。この場合、認証ＨＵＢ３５は、８０２．１Ｘ認証に対応しているため、認証に成功するものと仮定する。認証に成功すると、ＰＣ１は認証ＨＵＢ３１により通信が許可される。【０１２３】
８０２．１Ｘ認証に成功すると、８０２．１Ｘクライアント２２からアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、社外用仮想ＰＣ４に通信許可を与え、社内用仮想ＰＣ３に通信許可を与えていないような動作モードでＮＡＴ部６は動作する。【０１２４】
このとき、上記したように、社外用仮想ＰＣ４と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、外部（認証ＨＵＢやサーバ）からは本体ＰＣ１との通信として認識される。これにより、公衆ＬＡＮを通過して、社外用仮想ＰＣ４は外部サーバと通信可能となる。【０１２５】
これにより、ウィルスなどから攻撃を受けたり、ウィルスに感染したりする危険が生じるが、社内ＬＡＮの制約を受けずに通信が可能となる。また、機密情報を持つ社内用仮想ＰＣ３は、外部との通信ができないままなので、社内用仮想ＰＣ３からの機密情報の漏洩や、社内用仮想ＰＣ３に対するウィルスなどからの攻撃を防ぐことができる。【０１２６】
図１６は、図１のＰＣ１をユーザが社外で利用している状態（その２）を示している。
この場合、認証前の事前状態では、外部接続可能なＰＣ１は、公衆ＬＡＮ内の認証ＨＵＢ３６によりまだ認証されていないため、外部とは通信できない。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１２７】
８０２．１Ｘクライアント２２により手動でまたは自動で８０２．１Ｘ認証処理が行われる。この場合、認証ＨＵＢ３６は、８０２．１Ｘ認証に対応していないため、認証に失敗するものと仮定する。認証に失敗しても、ＰＣ１からは、パケットの送信を依然として行なうことができる。【０１２８】
８０２．１Ｘ認証に失敗すると、８０２．１Ｘクライアント２２から失敗したことを示す情報とネットワークアダプタ（値は常に「ＬＡＮ」に設定される）の組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、認証に失敗した場合には、社外用仮想ＰＣ４に通信許可を与え、社内用仮想ＰＣ３に通信許可を与えていないような動作モードでＮＡＴ部６が動作するように制御される。【０１２９】
このとき、上記したように、社外用仮想ＰＣ４と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバなどの外部からは本体ＰＣ１との通信として認識される。これにより、公衆ＬＡＮを通過して、社外用仮想ＰＣ４は外部サーバと通信可能となる。【０１３０】
これにより、ウィルスなどから攻撃を受けたり、ウィルスに感染したりする危険が生じるが、社内ＬＡＮの制約を受けずに通信が可能となる。また、機密情報を持つ社内用仮想ＰＣ３は、外部との通信ができないままなので、社内用仮想ＰＣ３からの機密情報の漏洩や、社内用仮想ＰＣ３に対するウィルスなどからの攻撃を防ぐことができる。【０１３１】
図１７は、図１のＰＣ１をユーザが社外で利用している状態（その３）を示している。
図１５または図１６における認証処理後の状態、もしくは、図１６における事前状態が、この図１７における事前状態となっている。【０１３２】
図１５または図１６における認証処理後の状態であれば、社外用仮想ＰＣ４はインターネットを介した通信が許可され、社内用仮想ＰＣ３はインターネットを介した通信が許可されていない。また、図１６における事前状態であれば、社外用仮想ＰＣ４および社内用仮想ＰＣ３は共にインターネットを介した通信が許可されていない。いずれの場合も、社内用仮想ＰＣ３はインターネットを介した通信が許可されていない。【０１３３】
ＶＰＮクライアント２１によりＶＰＮアクセスポイント１７に接続し、ＶＰＮ認証処理が行われる。ＶＰＮ認証に成功すると、ＶＰＮクライアント２１とＶＰＮアクセスポイント１７との間で暗号化された暗号通信パス１６が確立される。【０１３４】
ＶＰＮ認証に成功すると、ＶＰＮクライアント２１からアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、少なくとも社内用仮想ＰＣ３には暗号通信パス１６を通した通信許可が与えられるような動作モードでＮＡＴ部６は動作する。社外用仮想ＰＣ４については、インターネットを介した通信が許可されたままであるか、または、外部との通信が許可されていないままである。いずれにしても、社外用仮想ＰＣ４向けのＮＡＴについての動作モードの変更はここでは行わない。【０１３５】
このとき、上記したように、社内用仮想ＰＣ３と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換された上で、ＶＰＮクライアント２１によりパケットごとに暗号化されてＶＰＮアクセスポイント１７に送信される。このため、ＶＰＮアクセスポイント１７で復号された際には本体ＰＣ１との通信として認識される。これにより、ＶＰＮアクセスポイント１７を通過し、社内サーバと通信可能となる。【０１３６】
機密情報を持つ社内用仮想ＰＣ３は、このように、暗号化されたパス１６を通じた社内へのアクセスのみが可能となる。よって、機密情報がインターネット上を流れる際は、常に暗号化された状態で流れることになり、機密情報の漏洩や改ざんは困難となる。【０１３７】
社外用仮想ＰＣ４については、例えば、図１５または図１６における認証処理後の状態であれば、インターネットを介した通信が許可されているが、社外用仮想ＰＣ４の中に潜むかも知れないウィルスは、暗号化されたパス１６内には流れないため、暗号化されたパス１６、社内用仮想ＰＣ３、社内のシステムは、そのウィルスによる攻撃の影響を受けずに済み、保護される。【０１３８】
続いて、図１のＰＣ１を第二の利用形態について図１８および図１９を参照して説明する。
図１８および図１９では、ＰＣの起動時にスタートアップ画面（コンソール）からユーザがアカウント、パスワードを入力する場合を想定している。【０１３９】
この場合、社内でＰＣ１をネットワークにつなぐときは、ユーザはＰＣ１に対し、社内向けのアカウント（例えば、“user1-intra”）でログインし、また、社外でＰＣ１をネットワークにつなぐときは、ユーザはＰＣ１に対し、社外向けのアカウント（例えば、“user1-outer”）でログインするものとする。【０１４０】
図１８は、図１のＰＣ１をユーザが第二の利用形態において社内で利用している状態を示している。
この場合、事前状態では、外部接続可能なＰＣ１は、社内ＬＡＮに接続されていて、起動されていない状態である。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１４１】
ＰＣの起動時にスタートアップ画面から、ユーザは、社内ＬＡＮアクセス用のアカウントでログインする。ここでは、“user1-intra”というＩＤでログインする。
ＰＣ１またはスタートアップ画面の表示処理を一部の機能としてもつホストＯＳは、ログインしたアカウントと、そのアカウントを識別する識別番号とを対応付けた対応表（不図示）を管理し、その対応表に基づいて、ログイン処理時に、識別番号およびネットワークアダプタ（この場合、値は常に「ＬＡＮ」に設定される）を所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、社内用仮想ＰＣ３に通信許可を与え、社外用仮想ＰＣ４に通信許可を与えていないような動作モードでＮＡＴ部６は動作する。【０１４２】
このとき、上記したように、社内用仮想ＰＣ３と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバなどの外部からは本体ＰＣ１との通信として認識される。これにより、社内用仮想ＰＣ３は外部サーバと通信可能となる。【０１４３】
ウィルスを含むかも知れない社外用仮想ＰＣ４は、外部と通信できないままであり、社外用仮想ＰＣ４に潜んでいるかも知れないウィルスは、本体ＰＣ１やネットワーク外に攻撃を仕掛けることができなくなる。【０１４４】
図１９は、図１のＰＣ１をユーザが第二の利用形態において社外で利用している状態を示している。
この場合、事前状態では、外部接続可能なＰＣ１は、公衆ＬＡＮに接続されていて、起動されていない状態である。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１４５】
ＰＣの起動時にスタートアップ画面から、ユーザは、公衆ＬＡＮアクセス用のアカウントでログインする。ここでは、“user1-outer”というＩＤでログインする。
ＰＣ１またはスタートアップ画面の表示処理を一部の機能としてもつホストＯＳは、ログインしたアカウントと、そのアカウントを識別する識別番号とを対応付けた対応表（不図示）を管理し、その対応表に基づいて、ログイン処理時に、識別番号およびネットワークアダプタ（この場合、値は常に「ＬＡＮ」に設定される）を所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、社外用仮想ＰＣ４に通信許可を与え、社内用仮想ＰＣ３に通信許可を与えていないような動作モードでＮＡＴ部６は動作する。なお、図１９では、ＰＣ１から、近くの認証ＨＵＢ３８との間でユーザ認証処理は行わないが、ユーザ認証処理を行なうかどうかに関わりなく、ＰＣ１からは、パケットの送信を依然として行なうことができる。【０１４６】
このとき、上記したように、社外用仮想ＰＣ４と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバなどの外部からは本体ＰＣ１との通信として認識される。これにより、社外用仮想ＰＣ４は外部サーバと通信可能となる。【０１４７】
機密情報を含む社内用仮想ＰＣ３は、外部と通信できないままなので、社内用仮想ＰＣ３からの機密情報の漏洩や、社内用仮想ＰＣ３に対するウィルスなどからの攻撃を防ぐことができる。【０１４８】
続いて、図１のＰＣ１を第三の利用形態について図２０および図２１を参照して説明する。
図２０および図２１では、社内サーバへのログインクライアント４１を用いて、社内サーバ３９へログインする場合を想定している。【０１４９】
図２０は、図１のＰＣ１をユーザが第三の利用形態において社内で利用している状態を示している。
この場合、事前状態では、外部接続可能なＰＣ１は、社内ＬＡＮに接続されている状態である。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１５０】
社内サーバへのログインクライアント４１により手動または自動で社内サーバ３９へのログイン処理が行われる。
ログインに成功すると、社内サーバへのログインクライアント４１は、ログインしたアカウントの識別番号およびネットワークアダプタを所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、社内用仮想ＰＣ３に通信許可を与え、社外用仮想ＰＣ４に通信許可を与えていないような動作モードでＮＡＴ部６は動作する。【０１５１】
このとき、上記したように、社内用仮想ＰＣ３と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバなどの外部からは本体ＰＣ１との通信として認識される。これにより、社内用仮想ＰＣ３は外部サーバと通信可能となる。【０１５２】
ウィルスを含むかも知れない社外用仮想ＰＣ４は、外部と通信できないままであり、社外用仮想ＰＣ４に潜んでいるかも知れないウィルスは、本体ＰＣ１やネットワーク外に攻撃を仕掛けることができなくなる。【０１５３】
図２１は、図１のＰＣ１をユーザが第三の利用形態において社外で利用している状態を示している。
この場合、事前状態では、外部接続可能なＰＣ１は、公衆ＬＡＮに接続されている状態である。また、社内用仮想ＰＣ３および社外用仮想ＰＣ４はいずれも外部との通信が許可されていない。【０１５４】
社内サーバへのログインクライアント４１により、ユーザは手動または自動で社内サーバ３９へのログイン処理を試みる。しかし、ＰＣ１は社内サーバに接続されておらず、ログインクライアント４１がログインする相手がいないため、ログイン処理は失敗する。もしくは、ユーザによりログイン処理が中止される。しかし、ログイン処理に失敗しても、ＰＣ１からはパケットの送信を依然として行なうことができる。【０１５５】
ログイン処理に失敗すると、社内サーバへログインを行なうログインクライアント４１は、ログインに失敗したことを示す情報およびネットワークアダプタ（値は常に「ＬＡＮ」に設定される）を所定のファイルに出力する。このファイルに出力された情報が、事実上、ＮＡＴ部６の動作モードを決めることになる。ここでは、ログイン処理に失敗した場合、社外用仮想ＰＣ４に通信許可を与え、社内用仮想ＰＣ３に通信許可を与えないような動作モードでＮＡＴ部６を動作させるように制御する。【０１５６】
このとき、上記したように、社外用仮想ＰＣ４と外部との通信は、仮想ＰＣソフトウェア２に含まれるＮＡＴ機能によってアドレス変換され、認証ＨＵＢやサーバからは本体ＰＣ１との通信として認識される。これにより、社外用仮想ＰＣ４は外部サーバと通信可能となる。【０１５７】
機密情報を含む社内用仮想ＰＣ３は、外部と通信できないままなので、社内用仮想ＰＣ３からの機密情報の漏洩や、社内用仮想ＰＣ３に対するウィルスなどからの攻撃を防ぐことができる。【０１５８】
なお、新たに仮想ＰＣに外部との通信を許可する場合は、その仮想ＰＣと同じネットワークアダプタを使用して外部と通信可能な他の仮想ＰＣのネットワーク・アクセスを止めることが好ましい。【０１５９】
このようなアクセス制御を行うことで、１つの仮想ＰＣに出入りするデータの通るパスと、他の仮想ＰＣに出入りするデータの通るパスとが交わることがなくなる。よって、例えば、１つの仮想ＰＣにウィルスが侵入した場合でも、ウィルスの感染を、その仮想ＰＣにとどまらせることができ、他の仮想ＰＣ、ＰＣ本体、仮想マシン実行プログラムにはウィルスが伝染しないようにでき、ＰＣ本体のセキュリティレベルを向上させることができる。【０１６０】
図２２は、本実施例による処理を実行するプログラムを記憶するための記憶媒体例を示す図である。
本実施例の処理のためのプログラムやデータは、コンピュータ５０の記憶装置５１からコンピュータ５０のメモリにロードして実行することも、可搬型記憶媒体５３からコンピュータ５０のメモリにロードして実行することも、また、外部記憶装置５４からネットワーク５５を介してコンピュータ５０のメモリにロードして実行することも可能である。
【図１】
2009087702.tif 000003
【図２】
2009087702.tif 000004
【図３】
2009087702.tif 000005
【図４】
2009087702.tif 000006
【図５】
2009087702.tif 000007
【図６】
2009087702.tif 000008
【図７】
2009087702.tif 000009
【図８】
2009087702.tif 000010
【図９】
2009087702.tif 000011
【図１０】
2009087702.tif 000012
【図１１】
2009087702.tif 000013
【図１２】
2009087702.tif 000014
【図１３】
2009087702.tif 000015
【図１４】
2009087702.tif 000016
【図１５】
2009087702.tif 000017
【図１６】
2009087702.tif 000018
【図１７】
2009087702.tif 000019
【図１８】
2009087702.tif 000020
【図１９】
2009087702.tif 000021
【図２０】
2009087702.tif 000022
【図２１】
2009087702.tif 000023
【図２２】
2009087702.tif 000024
【手続補正書】
【提出日】平成22年3月12日(2010.3.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物理マシンとしての情報処理装置上で、１つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
ログインしたアカウントの識別番号を取得するスップと、
第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第一判定ステップと、
前記第一判定ステップにおいて一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、一致しないと判定された場合、ネットワーク上に送出されるデータを破棄するフィルタ処理ステップと、
を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
【請求項２】
前記ネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項１記載の仮想マシン実行プログラム。
【請求項３】
ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
前記第一判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定ステップと、
第三判定ステップにおいて対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄するフィルタ処理ステップと、
を備える、ことを特徴とする請求項１記載の仮想マシン実行プログラム。
【請求項４】
物理マシンとしての情報処理装置上で、１つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
ログインしたアカウントの識別番号を取得するステップと、
第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第二判定ステップと、
前記第二判定ステップにおいて一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄するフィルタ処理ステップと、
を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
【請求項５】
前記ネットワークを通って送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するステップ、
をさらに備えることを特徴とする請求項４記載の仮想マシン実行プログラム。
【請求項６】
ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
前記第二判定ステップにおいて一致すると判定された場合、取得したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、取得ネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定ステップと、
第四判定ステップにおいて対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄するフィルタ処理ステップと、
を備える、ことを特徴とする請求項４記載の仮想マシン実行プログラム。
【請求項７】
管理するデータに要求されるセキュリティレベルに応じて、複数の仮想マシンが設けられることを特徴とする請求項１または４記載の仮想マシン実行プログラム。
【請求項８】
１つまたは複数の仮想マシンが実行される物理マシンとしての情報処理装置において、
ユーザ認証を行い、ログインしたアカウントの識別番号を出力するユーザ認証処理部と、
アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を格納する第一記憶部と、
前記第一記憶部に格納された情報を用いて、通知されたアカウントの識別番号に対応する仮想マシンを取得する取得部と、
いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第一判定部と、
前記第一判定部において仮想マシンが一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、ネットワーク上に送出されるデータを破棄する第一フィルタ処理部と、
ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第二判定部と、
前記第二判定部において仮想マシンが一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄する第二フィルタ処理部と、
を備えることを特徴とする情報処理装置。
【請求項９】
情報処理装置の起動時に、情報処理装置が社内にいるのか社外にいるのかをユーザに選択可能とさせる選択操作部と、
アカウントと、パスワードと、そのアカウントおよびパスワードの組の識別番号と、そのアカウントが社内用のものか社外用のものかを示す使用場所とを対応付けた第二記憶部と、をさらに備え、
前記ユーザ認証処理部は、前記操作選択部の選択結果に一致する使用場所を持つ前記第二記憶部のアカウントを次々と試行する、ことを特徴とする請求項８記載の情報処理装置。
【国際調査報告】
2009087702.tif 000025
2009087702.tif 000026