(57)【要約】【課題】  安いコストで、安全性の高い通信を実現可能なネットワークシステムを提供すること。【解決手段】  クライアント装置１０からのユーザ識別情報に基づき、ユーザについての認証処理を行うユーザ認証手段（ＣＰＵ１４ａ）と、ユーザ認証手段によってユーザ認証がされた場合にのみ、このサーバ装置と通信中のクライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいてクライアント装置の認証を行うハードウエア認証手段（ＣＰＵ１４ａ）と、ハードウエア認証手段によってハードウエアが認証された場合にのみ、クライアント装置と、このサーバ装置又は他の所定の通信装置との間での暗号化通信を許可する通信許可手段（ＣＰＵ１４ａ）と、を有する。【選択図】  図１
2004158025.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント装置とサーバ装置の間で通信をおこなうネットワークシステムにおいて、
上記サーバ装置は、クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うユーザ認証手段と、
上記ユーザ認証手段によってユーザ認証がされた場合にのみ、このサーバ装置と通信中の上記クライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいて上記クライアント装置の認証を行うハードウエア認証手段と、
上記ハードウエア認証手段によってハードウエアが認証された場合にのみ、上記クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可する通信許可手段と、を有し、
上記クライアント装置は、認証用のユーザ識別情報を上記サーバ装置へ送信する送信手段と、
上記サーバ装置の通信許可手段により通信を許可された場合に、上記サーバ装置または他の所定の通信装置との通信を開始する通信手段と、を有する、
ことを特徴とするネットワークシステム。
【請求項２】
前記サーバ装置のハードウエア認証手段は、前記サーバ装置において予め登録されている前記クライアント装置のハードウエアに関する情報を有するハードウエア認証モジュールを前記クライアント装置に送信してそのクライアント装置のハードウエアに関する情報に基づく認証結果情報をこのサーバ装置へ送信させ、その認証結果情報に基づいてそのクライアント装置を認証するか否かを判定し、
前記クライアント装置は、前記サーバ装置からハードウエア認証モジュールを受信すると、そのハードウエア認証モジュールを実行して、このハードウエア認証モジュールに従ってこのクライアント装置が認証されるか否かを判定し、その認証結果情報を前記サーバ装置へ送信すること、
を特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記ハードウエア認証キーは、前記クライアント装置を構成するハードウエアのＭＡＣ（Media Access Control Address）アドレスもしくはシリアル番号、記憶装置のボリュームＩＤもしくは記憶容量、または記憶装置にインストールされているソフトウエアの登録情報に基づき作成されることを特徴とする請求項２記載のネットワークシステム。
【請求項４】
前記クライアント装置の通信手段は、ＳＳＨ（Secure Shell）によって、前記サーバ装置または他の所定の通信装置との間で送受信される通信パケットを暗号化することを特徴とする請求項１記載のネットワークシステム。
【請求項５】
前記クライアント装置の通信手段は、ＳＳＬ（Secure Sockets Layer）によって、所定の通信装置との間で送受信される通信パケットを暗号化することを特徴とする請求項１記載のネットワークシステム。
【請求項６】
前記クライアント装置の通信手段は、IP-secによって、所定の通信装置との間で送受信される通信パケットを暗号化することを特徴とする請求項１記載のネットワークシステム。
【請求項７】
前記サーバ装置の通信許可手段は、前記ハードウエア認証手段によってハードウエアが認証された場合には、前記クライアント装置の通信相手である所定の通信装置についての当該ユーザのユーザアカウントを有効とし、前記クライアント装置の通信相手である所定の通信装置からの要求に応じて、ユーザアカウント情報に基づき、そのクライアント装置のユーザについての認証処理を行い、認証結果をその通信装置へ送信することを特徴とする請求項４から請求項６のうちのいずれか１項記載の記載のネットワークシステム。
【請求項８】
前記サーバ装置の通信許可手段は、ハードウエアが認証された時点または前記所定の通信装置についてのユーザアカウントを有効とした時点から所定の時間が経過した場合には、当該ユーザアカウントを無効とすることを特徴とする請求項７記載のネットワークシステム。
【請求項９】
ネットワークを介してクライアント装置との間で通信をおこなうサーバ装置において、
クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うユーザ認証手段と、
上記ユーザ認証手段によってユーザ認証がされた場合にのみ、このサーバ装置と通信中の上記クライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいて上記クライアント装置の認証を行うハードウエア認証手段と、
上記ハードウエア認証手段によってハードウエアが認証された場合にのみ、上記クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可する通信許可手段と、
を有することを特徴とするサーバ装置。
【請求項１０】
特定ユーザを関連付けられているクライアント装置が現在使用中のユーザのユーザ識別情報を認証サーバ装置へ送信するステップと、
上記認証サーバ装置により、ユーザ識別情報を受信し、そのユーザ識別情報に基づき、上記クライアント装置の現在使用中のユーザを認証するか否かを決定するステップと、
上記認証サーバ装置により、上記クライアント装置の現在使用中のユーザが認証された場合に、上記クライアント装置と、その現在使用中のユーザが特定ユーザとして関連付けられているクライアント装置のハードウエアに関する情報とを照合して、このクライアント装置を認証するか否かを決定するステップと、
上記認証サーバ装置により、このクライアント装置が認証された場合に、上記クライアント装置と所定の通信装置との通信路を確立するステップと、
を有することを特徴とする認証方法。
【請求項１１】
クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うステップと、
ユーザ認証がされた場合にのみ、このサーバ装置と通信中の上記クライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいて上記クライアント装置の認証を行うステップと、
ハードウエアが認証された場合にのみ、上記クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可するステップと、
を有することを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、サーバ装置、および認証方法に関する。
【背景技術】
【０００２】
インターネットは、コンテンツ提供ツールまたはコミュニケーションツールとして広く使用されるだけでなく、電子政府または電子商取引などの社会インフラとしてその活用分野が急速に広がりつつある。
【０００３】
インターネットなどの不特定多数の通信装置やサーバなどで構成されるネットワークでは、情報漏洩もしくは改竄などによる社会的信用低下またはビジネス機会喪失を防ぐため、必要に応じたセキュリティ対策をとることが重要である。
【０００４】
ところで、近年では、外出先などからインターネットを使って安全に社内へアクセスしたり、特定のビジネスパートナーに対して安全に情報提供したりするニーズが高まっている。
【０００５】
従来は、このようなニーズに対して専用線またはインターネットベースでの暗号化接続を提供するＳＳＬ（Secure Sockets Layer）もしくはメールの暗号化という方法が主流であった。しかし、サービスが多様化するにつれて、利用するアプリケーションを意識することなく暗号化したいというニーズが高まってきている。そうした要求に対して、特許文献１に開示されているＶＰＮ（Virtual Private Network）が注目されている。
【特許文献１】特開２００２−２０８９２１号公報（請求の範囲、要約書）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１に示す方法では、悪意の第三者の侵入を防ぐために、ユーザのＩＤ（Identification）とパスワード（ユーザ識別情報）によって、正当なユーザか否かの認証を行っている。
【０００７】
したがって、ユーザ識別情報が悪意の第三者に漏洩した場合には、外部から容易にシステムに侵入され、システム内の情報が漏洩してしまうという問題点がある。
【０００８】
そこで、このような問題を回避するために、前述のような専用線を用いる方法も考えられるが、専用線の敷設には多大なコストが必要であるという問題点がある。
【０００９】
本発明は、上記の事情に基づきなされたもので、その目的とするところは、安いコストで、安全性の高い通信を実現可能なネットワークシステム、サーバ装置、および、認証方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、本発明は、ネットワークを介してクライアント装置とサーバ装置の間で通信をおこなうネットワークシステムにおいて、サーバ装置は、クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うユーザ認証手段と、ユーザ認証手段によってユーザ認証がされた場合にのみ、このサーバ装置と通信中のクライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいてクライアント装置の認証を行うハードウエア認証手段と、ハードウエア認証手段によってハードウエアが認証された場合にのみ、クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可する通信許可手段と、を有し、クライアント装置は、認証用のユーザ識別情報をサーバ装置へ送信する送信手段と、サーバ装置の通信許可手段により通信を許可された場合に、サーバ装置または他の所定の通信装置との通信を開始する通信手段と、を有している。
【００１１】
このため、安いコストで、安全性の高い通信を実現可能なネットワークシステムを提供することができる。
【００１２】
また、他の発明は、上述の発明に加えて、サーバ装置のハードウエア認証手段は、サーバ装置において予め登録されているクライアント装置のハードウエアに関する情報を有するハードウエア認証モジュールをクライアント装置に送信してそのクライアント装置のハードウエアに関する情報に基づく認証結果情報をこのサーバ装置へ送信させ、その認証結果情報に基づいてそのクライアント装置を認証するか否かを判定し、クライアント装置は、サーバ装置からハードウエア認証モジュールを受信すると、そのハードウエア認証モジュールを実行して、このハードウエア認証モジュールに従ってこのクライアント装置が認証されるか否かを判定し、その認証結果情報をサーバ装置へ送信するようにしている。このため、ハードウエア認証を自動的に行うことが可能になる。
【００１３】
また、他の発明は、上述の発明に加えて、ハードウエア認証キーは、クライアント装置を構成するハードウエアのＭＡＣ（Media Access Control Address）アドレスもしくはシリアル番号、記憶装置のボリュームＩＤもしくは記憶容量、または記憶装置にインストールされているソフトウエアの登録情報に基づき作成されている。このため、クライアント装置を確実に認証することができる。
【００１４】
また、他の発明は、上述の発明に加えて、クライアント装置の通信手段は、ＳＳＨ（Secure Shell）によって、サーバ装置または他の所定の通信装置との間で送受信される通信パケットを暗号化するようにしている。このため、安価に暗号化通信を実現することができる。
【００１５】
また、他の発明は、上述の発明に加えて、クライアント装置の通信手段は、ＳＳＬ（Secure Sockets Layer）によって、所定の通信装置との間で送受信される通信パケットを暗号化するようにしている。このため、インターネットブラウザを用いることにより、暗号化通信を実現することができる。
【００１６】
また、他の発明は、上述の発明に加えて、クライアント装置の通信手段は、IP-secによって、所定の通信装置との間で送受信される通信パケットを暗号化するようにしている。
【００１７】
また、他の発明は、上述の各発明に加えて、サーバ装置の通信許可手段は、ハードウエア認証手段によってハードウエアが認証された場合には、クライアント装置の通信相手である所定の通信装置についての当該ユーザのユーザアカウントを有効とし、クライアント装置の通信相手である所定の通信装置からの要求に応じて、ユーザアカウント情報に基づき、そのクライアント装置のユーザについての認証処理を行い、認証結果をその通信装置へ送信するようにしている。このため、ハードウエア認証を行うサーバ装置と、通信装置とを別個に設けることができる。
【００１８】
また、他の発明は、上述の発明に加えて、サーバ装置の通信許可手段は、ハードウエアが認証された時点または所定の通信装置についてのユーザアカウントを有効とした時点から所定の時間が経過した場合には、当該ユーザアカウントを無効とするようにしている。このため、認証後ある時間内にしか所定のサーバ装置へアクセスできなくなり、セキュリティを向上させることができる。
【００１９】
また、本発明は、ネットワークを介してクライアント装置との間で通信をおこなうサーバ装置において、クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うユーザ認証手段と、ユーザ認証手段によってユーザ認証がされた場合にのみ、このサーバ装置と通信中のクライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいてクライアント装置の認証を行うハードウエア認証手段と、ハードウエア認証手段によってハードウエアが認証された場合にのみ、クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可する通信許可手段と、を有している。
【００２０】
このため、安いコストで、安全性の高い通信を実現可能なネットワークシステムを提供することができる。
【００２１】
また、本発明は、特定ユーザを関連付けられているクライアント装置が現在使用中のユーザのユーザ識別情報を認証サーバ装置へ送信するステップと、認証サーバ装置により、ユーザ識別情報を受信し、そのユーザ識別情報に基づき、クライアント装置の現在使用中のユーザを認証するか否かを決定するステップと、認証サーバ装置により、クライアント装置の現在使用中のユーザが認証された場合に、クライアント装置と、その現在使用中のユーザが特定ユーザとして関連付けられているクライアント装置のハードウエアに関する情報とを照合して、このクライアント装置を認証するか否かを決定するステップと、認証サーバ装置により、このクライアント装置が認証された場合に、クライアント装置と所定の通信装置との通信路を確立するステップと、を有している。
【００２２】
このため、安いコストで、安全性の高い通信を実現可能な認証方法を提供することができる。
【００２３】
また、本発明は、クライアント装置からのユーザ識別情報に基づき、ユーザについての認証処理を行うステップと、ユーザ認証がされた場合にのみ、このサーバ装置と通信中のクライアント装置のハードウエアに関する情報と、認証したユーザに関連付けられているクライアント装置について予め登録されているハードウエアに関する情報に基づいてクライアント装置の認証を行うステップと、ハードウエアが認証された場合にのみ、クライアント装置と、このサーバ装置又は他の所定の通信装置との間での通信を許可するステップと、を有している。
【００２４】
このため、安いコストで、安全性の高い通信を実現可能な認証方法を提供することができる。
【発明の効果】
【００２５】
本発明は、安いコストで、安全性の高い通信を実現可能なネットワークシステム、サーバ装置、および、認証方法を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の一実施の形態について図に基づいて説明する。
【００２７】
図１は、本発明の第１の実施の形態に係るネットワークシステムの構成例を示すブロック図である。この図１に示すネットワークシステムは、クライアント１０、インターネット１１、ルータ１２、ファイアウォール１３、およびサーバ１４を有する。
【００２８】
ここで、クライアント１０は、直接または間接的にインターネット１１に接続可能な通信機能を有するパーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話機等の、携帯型または固定型の端末装置であり、インターネット１１等を介してサーバ１４との間で情報を送受信する。クライアント１０は、このクライアント１０を使用する特定ユーザと予め関連付けられている。
【００２９】
図２は、クライアント１０の詳細な構成例を示す図である。この図に示すように、クライアント１０は、ＣＰＵ１０ａ、ＲＯＭ１０ｂ、ＲＡＭ１０ｃ、ＨＤＤ（Hard Disk Drive）１０ｄ、ビデオ回路１０ｅ、Ｉ／Ｆ１０ｆ、バス１０ｇ、表示装置１０ｈ、入力装置１０ｉ、および通信回路１０ｊを有する。
【００３０】
ここで、ＣＰＵ１０ａは、ＲＯＭ１０ｂあるいはＨＤＤ１０ｄに格納されているプログラムに従って各種演算処理を実行するとともに、装置の各部を制御する制御部である。
【００３１】
ＲＯＭ１０ｂは、ＣＰＵ１０ａにより実行されるプログラムおよびデータを格納しているメモリである。ＲＡＭ１０ｃは、ＣＰＵ１０ａが実行途中のプログラムあるいは演算途中のデータ等を一時的に格納するメモリである。
【００３２】
ＨＤＤ１０ｄは、ＣＰＵ１０ａからの要求に応じて、内蔵されている図示せぬ記録媒体であるハードディスクに記録されているデータあるいはプログラムを読み出すとともに、種々のデータをハードディスクに記録する記録装置である。
【００３３】
ビデオ回路１０ｅは、ＣＰＵ１０ａから供給された描画命令に応じて描画処理を実行し、得られた画像データを映像信号に変換して表示装置１０ｈに出力する回路である。
【００３４】
Ｉ／Ｆ１０ｆは、入力装置１０ｉから出力された信号の表現形式を適宜変換するとともに、通信回路１０ｊとの間で通信データの授受を行う回路である。
【００３５】
バス１０ｇは、ＣＰＵ１０ａ、ＲＯＭ１０ｂ、ＲＡＭ１０ｃ、ＨＤＤ１０ｄ、ビデオ回路１０ｅ、およびＩ／Ｆ１０ｆを相互に接続し、これらの間でデータの授受を可能とする信号線である。
【００３６】
表示装置１０ｈは、例えば、ＬＣＤ（Liquid Crystal Display）モニタ、ＣＲＴ（Cathode Ray Tube）モニタであって、ビデオ回路１０ｅから出力された映像信号に応じた画像を表示する装置である。
【００３７】
入力装置１０ｉは、例えば、キーボードあるいはマウスによって構成されており、ユーザの操作に応じた信号を生成して、Ｉ／Ｆ１０ｆに供給する装置である。
【００３８】
通信回路１０ｊは、直接または間接的にインターネット１１と接続可能な通信回路である。通信回路１０ｊは、例えば、モデム、有線ＬＡＮ用ＮＩＣ（Network Interface Card）、無線ＬＡＮ用ＮＩＣ等とされる。
【００３９】
図１に戻って、インターネット１１は、不特定多数のホストコンピュータ同士を結んだ、オープンな広域ネットワークである。ルータ１２は、異なるネットワーク同士を相互接続するネットワーク機器であり、通信経路が記述されたルーティングテーブルに従ってデータを中継する。
【００４０】
ファイアウォール１３は、組織内部のローカルなネットワーク（イントラネット）と、その外部に広がるインターネット１１との間に、外部からの不正なアクセスを防ぐ目的で設置されるルータまたはホストである。
【００４１】
サーバ１４は、クライアント１０からアクセス要求がなされた場合には、正当なユーザか否かを判定し、正当なユーザである場合には、クライアント１０との通信路を確立し、クライアント１０のユーザによるサーバ１４内または同一ネットワーク内または他のネットワーク内の他の装置のリソースへのアクセスを許可する。
【００４２】
図３は、サーバ１４の詳細な構成例を示す図である。この図に示すように、サーバ１４は、ＣＰＵ１４ａ、ＲＯＭ１４ｂ、ＲＡＭ１４ｃ、ＨＤＤ１４ｄ、Ｉ／Ｆ１４ｅ、通信回路１４ｆ、およびバス１４ｇを有する。なお、サーバ１４のＣＰＵ１４ａ、ＲＯＭ１４ｂ、ＲＡＭ１４ｃ、ＨＤＤ１４ｄ、Ｉ／Ｆ１４ｅ、通信回路１４ｆおよびバス１４ｇは、クライアント１０における同名の構成要素と同様の機能を有するものである。ただし、ＲＯＭ１４ｂまたはＨＤＤ１４ｄに格納され、ＣＰＵ１４ａにより実行されるプログラムは、サーバ用のものである。また、ＨＤＤ１４ｄには、このサーバ１４にアクセス可能なユーザおよびクライアント１０に関する登録情報が、例えば、テーブルとして格納されている。
【００４３】
図４は、第１の実施の形態において、サーバ１４にアクセス可能なユーザおよびクライアント１０に関する登録情報を有するテーブルの一例を示す図である。
【００４４】
図４において、ユーザ名は、ユーザの名称を示すデータであり、ユーザＩＤは、ユーザ識別情報の一部であって、ユーザに固有のものであり、パスワードは、ユーザ識別情報の一部であって、第三者に対して通常秘密にされる認証用の情報である。また、図４において、クライアント装置名は、そのユーザに割り当てられているクライアント１０の名称を示すデータであり、ハードウエア認証キーは、そのクライアント１０のハードウエアに関する情報であって、クライアント１０の機器認証に使用される情報である。
【００４５】
例えば、図４において、ユーザ名が「ＴＡＮＡＫＡ＿ＴＡＲＯ」であるユーザについての情報が登録されており、このユーザに対して、まず、ユーザＩＤ「ＴＡＮＡＫＡ」およびパスワード「１ｅ８５ｆ１０１」が設定されている。そして、このユーザに対して名称が「ＭＯＢＩＬＥ−ＴＡＮＡＫＡ」なるクライアント１０が割り当てられている。すなわち、このクライアント１０を使用するユーザ（特定ユーザ）は、ユーザ名が「ＴＡＮＡＫＡ＿ＴＡＲＯ」であるユーザとされている。さらに、このユーザに対して名称が「ＭＯＢＩＬＥ−ＴＡＮＡＫＡ」なるクライアント１０のハードウエア認証キーの値「９８５３２０１」が予め算出されて登録されている。
【００４６】
なお、この第１の実施の形態では、サーバ１４のＲＯＭ１４ｂおよび／またはＨＤＤ１４ｄに格納されているプログラムをＣＰＵ１４ａにより実行しさらに通信回路１４ｆを制御することで、クライアント１０からのユーザ認識情報に基づきユーザ認証処理を行うユーザ認証手段、クライアント１０の機器認証処理を行うハードウエア認証手段、ならびに、ユーザ認証処理およびハードウエア認証処理の認証結果に応じてクライアント１０とサーバ１４のＳＳＨによる通信路の確立を許可する通信許可手段が実現される。また、この第１の実施の形態では、クライアント１０のＲＯＭ１０ｂおよび／またはＨＤＤ１０ｄに格納されているプログラムをＣＰＵ１０ａにより実行しさらに通信回路１０ｊを制御することで、ユーザ認識情報や認証結果情報をサーバ１４へ送信する送信手段、ならびに、サーバ１４との通信をおこなう通信手段が実現される。
【００４７】
つぎに、第１の実施の形態における各装置の動作について説明する。図５は、第１の実施の形態における各装置の動作を説明するためのシーケンス図である。
【００４８】
まず、事前に、図４に示すように、各ユーザについて、ユーザＩＤ、パスワード、特定のクライアント１０のハードウエア認証キーなどがサーバ１４に登録される。なお、ハードウエア認証キーは、クライアント１０のハードウエアに関する情報に基づき取得される。
【００４９】
ここで、ハードウエアに関する情報としては、例えば、クライアント１０が有する通信回路１０ｊのＭＡＣ（Media Access Control Address）アドレス、クライアント１０のシリアル番号、ＨＤＤ１０ｄのボリュームＩＤ、ＨＤＤ１０ｄの記憶容量（あるいは特定ボリュームの記憶容量）、ＨＤＤ１０ｄにインストールされているＯＳ（Operating System）のレジストリ情報、クライアント１０のＣＰＵの種類、ＯＳの種類、ＯＳのバージョン、クライアント１０において認証時に起動しているプロセスの種類、特定ファイルが存在するか否か、等が、単独または組み合せで使用される。この特定ファイルとしては、例えば、ウィルスチェックソフトウェアの実行形式ファイルやライブラリ、特定の業務用ソフトウェアの実行形式ファイルやライブラリが使用される。また、上記のようなクライアント１０に内蔵のハードウェアについての情報と組み合せて、クライアント１０に直接接続される周辺機器のハードウェア情報を使用するようにしてもよい。そのような周辺機器としては、ＵＳＢメモリ、プリンタ、マウス、キーボード、ディスプレイ、デジタルカメラなどがある。なお、ＭＡＣアドレスについては、通信用ＰＣカード等といった通信手段を追加したり変更したりすると一意に決まらないこともあるので、インストール後のＯＳにより定められる情報（例えば、Ｃドライブのシリアル番号など）を利用することが好ましい。各ユーザについてのユーザＩＤ、パスワード、ハードウエア認証キーなどの情報のセットを以下では「ユーザ情報」と称する。
【００５０】
このようにして、ユーザ情報が登録されると、これ以降は、そのユーザは、登録されているクライアント１０を使用してサーバ１４にアクセスする限り、正当なユーザとしてアクセス可能になる。
【００５１】
クライアント１０からサーバ１４にアクセスする場合には、クライアント１０の入力装置１０ｉが操作され、サーバ１４にアクセスする要求がなされる。この結果、図５に示すステップＳ１において、クライアント１０は、サーバ１４に対してユーザＩＤおよびパスワードを送信する。サーバ１４は、受信したユーザＩＤおよびパスワードと、ＨＤＤ１４ｄに格納されているユーザＩＤおよびパスワードと比較することにより、ユーザを認証するか否かを判定する。
【００５２】
認証処理の結果、アクセスしてきたユーザが認証されたと判断した場合には、サーバ１４は、ステップＳ２において、ＨＤＤ１４ｄに格納されているこのユーザに対して関連付けられているハードウエア認証キーを取得し、ハードウエア認証モジュールを生成して要求を行ったクライアント１０に送信する。なお、ハードウエア認証モジュールとは、ハードウエア認証をクライアント１０において自動的に実行するためのプログラムあるいはスクリプトである。なお、ハードウエア認証モジュールは、特定のハードウエア情報を収集する機能、収集したハードウエア情報からハードウエア認証キーを算出する機能、このハードウエア認証キーと登録されているハードウエア認証キーとを比較する機能、およびその比較結果をサーバ１４へ返送する機能を有する。
【００５３】
クライアント１０は、ハードウエア認証モジュールを受信する。受信したハードウエア認証モジュールは、自動的に実行される。その結果、ＣＰＵ１０ａは、ハードウエア認証モジュールに記述された制御コードに従って、特定のハードウエア情報を収集する。例えば、特定のハードウエア情報がＭＡＣアドレスである場合には、通信回路１０ｊのＭＡＣアドレスが取得される。そして、ＣＰＵ１０ａは、収集したハードウエア情報からハードウエア認証キーを生成し、モジュールに含まれているサーバ１４に登録されているハードウエア認証キーと、生成したハードウエア認証キーを比較し、これらが一致するか否かを判定する。その結果、これらが一致する場合には、このクライアント１０が認証された旨の認証成功通知をステップＳ３においてサーバ１４に送信する。
【００５４】
つぎに、ステップＳ４において、サーバ１４のＣＰＵ１４ａは、この認証成功通知を受信すると、そのクライアント１０との間で、ＳＳＨ認証処理を実行する。すなわち、サーバ１４のＣＰＵ１４ａは、ランダムなビット列（チャレンジ）を生成し、ユーザの公開鍵で暗号化してクライアント１０に送る。クライアント１０は、サーバ１４から送られてきた暗号化されたビット列を、秘密鍵で復号し、復号した結果をサーバ１４に送り返す。サーバ１４は、送り返された結果を参照し、クライアント１０が正常に復号できたか否かを判断し、正常であれば認証に成功したと判断し、それ以外の場合には失敗と判断する。
【００５５】
ＳＳＨ認証に成功した場合には、クライアント１０とサーバ１４とは、ＳＳＨ−ＶＰＮによる通信を開始する。具体的には、まず、サーバ１４からクライアント１０に、ホストの公開鍵とサーバ１４の公開鍵を提示する。ここで、サーバ１４の公開鍵とは、一定の時間毎に作成される鍵をいう。クライアント１０は、セッション鍵（ランダムなビット列）を生成し、セッション鍵をホストの公開鍵とサーバの公開鍵で暗号化し、サーバ１４に送る。サーバ１４は送られたセッション鍵をホストの秘密鍵とサーバ１４の秘密鍵で復号する。そして、これ以降は、全ての通信パケットはこのセッション鍵で暗号化され、ＶＰＮトンネルを介して送受信される。
【００５６】
そして、ステップＳ６において、通信が終了した場合には、ＳＳＨによるセッションが完了する。
【００５７】
なお、サーバ１４は、上述の認証成功通知を受信した場合にのみＳＳＨ−ＶＰＮの通信路を確立する。
【００５８】
図６は、第１の実施の形態において授受される通信パケットの状態を示す図である。この図に示すように、クライアント１０からのパケット３０は、ＳＳＨ３１によってＳＳＨによる暗号化パケット３２に暗号化され、インターネット１１を経由してサーバ１４に受信される。そして、ＳＳＨ３３によってもとのパケット３４に復号される。一方、サーバ１４からのパケット３４は、ＳＳＨ３３によって暗号化され、ＳＳＨによる暗号化パケットとしてインターネット１１を経由してクライアント１０に受信される。クライアント１０では、ＳＳＨ３１によってもとのパケットに復号化される。
【００５９】
以上に説明したように、本発明の第１の実施の形態によれば、クライアント１０のハードウエア認証を行わないと、サーバ１４との通信路（ＳＳＨによる暗号通信路）を確立することができないため、ユーザＩＤとパスワードが悪意の第三者によって盗まれた場合であっても、そのユーザについて登録されているクライアント１０以外のクライアントからサーバ１４やその他の所定のサーバのリソース（データベース、プログラム、周辺機器等）にアクセスできないので、なりすまし等を防止することが可能になる。ひいては、安全性の高い通信が実現される。
【００６０】
なお、ＳＳＨ３１，３３としては、フリーライセンスのＯｐｅｎＳＳＨを利用すれば、コストの低減化を図るとともに、開発期間を短縮することが可能になる。
【００６１】
また、第１の実施の形態においては、サーバ１４が認証サーバを兼ねているが、サーバ１４とは別に認証サーバをサーバ１４と同じネットワークに設け、その認証サーバとクライアント１０との間で、上述の認証処理を実行し、クライアント１０が認証された場合に、その認証サーバでサーバ１４に対してＳＳＨ−ＶＰＮの確立を実行するようにしてもよい。
【００６２】
つぎに、本発明の第２の実施の形態について説明する。
【００６３】
図７は、本発明の第２の実施の形態に係るネットワークシステムの構成例を示す図である。この図において、図１と対応する部分には同一の符号を付してその説明を省略する。第２の実施の形態では、図１に示す場合と比較して、サーバ１４が除外され、ハードウエア認証サーバ２０、ＳＳＬ−ＶＰＮ装置２１、およびサーバ２２，２３が新たに付加されている。それ以外の構成は、図１の場合と同様である。
【００６４】
ここで、ハードウエア認証サーバ２０は、クライアント１０の正当性を判断するためのサーバである。ＳＳＬ−ＶＰＮ装置２１は、暗号化通信技術であるＳＳＬを使ってクライアント１０とサーバ２２，２３との間でポイント・トゥ・ポイント（Point to Point）接続を実現する。サーバ２２，２３は、クライアント１０がアクセスする対象となるサーバである。
【００６５】
図８は、ハードウエア認証サーバ２０の詳細な構成例を示す図である。この図に示すように、ハードウエア認証サーバ２０は、ＣＰＵ２０ａ、ＲＯＭ２０ｂ、ＲＡＭ２０ｃ、ＨＤＤ２０ｄ、Ｉ／Ｆ２０ｅ、通信回路２０ｆ、およびバス２０ｇを有する。
【００６６】
なお、ハードウエア認証サーバ２０のＣＰＵ２０ａ、ＲＯＭ２０ｂ、ＲＡＭ２０ｃ、ＨＤＤ２０ｄ、Ｉ／Ｆ２０ｅ、通信回路２０ｆ、およびバス２０ｇは、サーバ１４における同名の構成要素と同様の機能を有するものである。ＲＯＭ１４ｂまたはＨＤＤ１４ｄに格納されＣＰＵ１４ａにより実行されるプログラムは、認証サーバ用のものである。また、ＨＤＤ２０ｄには、ＨＤＤ１４ｄと同様に、ＳＳＬ−ＶＰＮ装置２１あるいはサーバ２２，２３にアクセス可能なユーザおよびクライアント１０に関する登録情報が例えばテーブルとして格納されている。
【００６７】
図9は、第２の実施の形態におけるＳＳＬ−ＶＰＮ装置２１の詳細な構成例を示す図である。この図に示すように、ＳＳＬ−ＶＰＮ装置２１は、ＣＰＵ２１ａ、ＲＯＭ２１ｂ、ＲＡＭ２１ｃ、Ｉ／Ｆ２０ｆ、バス２０ｇ、および通信回路２０ｈを有する。
【００６８】
なお、ＳＳＬ−ＶＰＮ装置２１のＣＰＵ２１ａ、ＲＯＭ２１ｂ、ＲＡＭ２１ｃ、Ｉ／Ｆ２１ｄ、通信回路２１ｅ、およびバス２１ｆは、サーバ１４における同名の構成要素と同様の機能を有するものである。なお、ＳＳＬ−ＶＰＮ装置２１では、ＲＯＭ２１ｂに、ＳＳＬ−ＶＰＮによる通信制御のためのプログラムが格納されており、ＣＰＵ２１ａにより実行される。
【００６９】
なお、サーバ２２，２３は、図３と同様の構成であるのでその説明は省略する。ただし、サーバ２２，２３は、認証のための処理は行わず、通常のサーバとして機能する。
【００７０】
なお、この第２の実施の形態では、ハードウエア認証サーバ２０のＲＯＭ２０ｂおよび／またはＨＤＤ２０ｄに格納されているプログラムをＣＰＵ２０ａにより実行し、さらに通信回路２０ｆを制御することで、クライアント１０からのユーザ識別情報に基づきユーザ認証処理を行うユーザ認証手段、クライアント１０の機器認証処理を行うハードウエア認証手段、ならびに、ユーザ認証処理およびハードウエア認証処理の認証結果に応じてクライアント１０とＳＳＬ−ＶＰＮ装置２１とのＳＳＬによる通信路の確立を許可する通信許可手段が実現される。また、この第２の実施の形態では、クライアント１０のＲＯＭ１０ｂおよび／またはＨＤＤ１０ｄに格納されているプログラムをＣＰＵ１０ａにより実行し、さらに通信回路１０ｊを制御することで、ユーザ識別情報や認証結果情報をハードウエア認証サーバ２０へ送信する送信手段、ならびにＳＳＬ−ＶＰＮ装置２１との暗号化通信をおこなう通信手段が実現される。
【００７１】
つぎに、本発明の第２の実施の形態における各装置の動作について説明する。図１０は、第２の実施の形態における各装置の動作を説明するためのシーケンス図である。
【００７２】
まず、事前に、図４に示すように、各ユーザについて、ユーザＩＤ、パスワード、特定のクライアント１０のハードウエア認証キーなどがサーバ１４に登録される。なお、ハードウエア認証キーは、クライアント１０のハードウエアに関する情報に基づき取得される。
【００７３】
ここで、ハードウエアに関する情報としては、前述の場合と同様に、例えば、クライアント１０が有するハードウエアのＭＡＣアドレスもしくはシリアル番号、ＨＤＤ１０ｄのボリュームＩＤまたはＨＤＤ１０ｄにインストールされているＯＳのレジストリ情報、クライアント１０のＣＰＵの種類、ＯＳの種類、ＯＳのバージョン、クライアント１０において認証時に起動しているプロセスの種類、特定ファイルが存在するか否か、等が、単独または組み合せで使用される。この特定ファイルとしては、例えば、ウィルスチェックソフトウェアの実行形式ファイルやライブラリ、特定の業務用ソフトウェアの実行形式ファイルやライブラリが使用される。また、上記のようなクライアント１０に内蔵のハードウェアについての情報と組み合せて、クライアント１０に直接接続される周辺機器のハードウェア情報を使用するようにしてもよい。そのような周辺機器としては、ＵＳＢメモリ、プリンタ、マウス、キーボード、ディスプレイ、デジタルカメラなどがある。なお、ＭＡＣアドレスについては、通信用ＰＣカード等といった通信手段を追加したり変更したりすると一意に決まらないこともあるので、インストール後のＯＳにより定められる情報（例えば、Ｃドライブのシリアル番号など）を利用することが好ましい。
【００７４】
このようにして、ユーザ情報が登録されると、これ以降は、そのユーザは、登録されているクライアント１０を使用してサーバ１４にアクセスする限り、正当なユーザとしてアクセス可能になる。
【００７５】
例えば、クライアント１０からサーバ２２にアクセスする場合、クライアント１０の入力装置１０ｉが操作され、まず、ハードウエア認証サーバ２０にアクセスする要求がなされる。この結果、図１０に示すステップＳ１１において、クライアント１０は、ハードウエア認証サーバ２０に対してユーザのユーザＩＤおよびパスワードを送信する。ハードウエア認証サーバ２０は、クライアント１０から受信したユーザＩＤおよびパスワードを、ＨＤＤ２０ｄに格納されているユーザＩＤおよびパスワードと比較することにより、ユーザを認証するか否かを判定する。
【００７６】
認証処理の結果、アクセスしてきたユーザが認証された場合には、ハードウエア認証サーバ２０は、ステップＳ１２において、ＨＤＤ２０ｄに格納されているこのユーザに関連付けられているハードウエア認証キーを取得し、ハードウエア認証モジュールを生成して要求を行ったクライアント１０に送信する。なお、ハードウエア認証モジュールとは、前述の場合と同様に、ハードウエア認証をクライアント１０において自動的に実行するためのプログラムあるいはスクリプトである。
【００７７】
クライアント１０は、ハードウエア認証モジュールを受信する。受信したハードウエア認証モジュールは、自動的に実行される。その結果、ＣＰＵ１０ａは、ハードウエア認証モジュールに記述された制御コードに従って、特定のハードウエア情報を収集する。例えば、特定のハードウエア情報がＭＡＣアドレスである場合には、通信回路１０ｊのＭＡＣアドレスが取得される。そして、ＣＰＵ１０ａは、収集したハードウエア情報からハードウエア認証キーを生成し、モジュールに含まれているハードウエア認証サーバ２０に登録されているハードウエア認証キーと、生成したハードウエア認証キーを比較し、これらが一致するか否かを判定する。その結果、これらが一致する場合には、このクライアント１０が認証された旨の認証成功通知をステップＳ１３においてハードウエア認証サーバ２０に送信する。
【００７８】
認証成功通知を受信した場合、ステップＳ１４において、ハードウエア認証サーバ２０は、ＨＤＤ２０ｄに保持されている、ＳＳＬ−ＶＰＮ装置２１（ひいてはサーバ２２，２３）についてのアクセス制御を行うためのユーザアカウントを有効にする。ユーザアカウントを有効にする方法としては、図４に示すような登録情報に基づき、新たにこのユーザのユーザアカウントを、ＳＳＬ−ＶＰＮ装置２１（サーバ２２，２３）のために追加してもよいし、図４に示す各ユーザについて、アクセス制御用のフラグを設け、そのフラグの値によりユーザアカウントの有効、無効を示すようにしてもよい。
【００７９】
ステップＳ１５において、クライアント１０が、ステップＳ１４で登録したユーザアカウントにより、ＳＳＬ−ＶＰＮ装置２１にアクセスすると、ステップＳ１６において、ＳＳＬ−ＶＰＮ装置２１のＣＰＵ２１ａは、ハードウエア認証サーバ２０に対して、アクセスしてきたユーザが正当であるか否か、ユーザアカウントを参照してユーザ認証を行う。その結果、ＳＳＬ−ＶＰＮ装置２０により、ユーザが認証された場合には、ステップＳ１７においてクライアント１０とハードウエア認証サーバ２０とはＳＳＬ−ＶＰＮ通信を開始する。
【００８０】
具体的には、例えば、サーバ２２にアクセスする場合、ＵＲＬとしてｈｔｔｐｓ：／／ｓｓｌｇｗ．ｃｏｍｐａｎｙ．ｃｏｍ／Ａ／を指定すると、クライアント１０からＳＳＬ−ＶＰＮ装置２１までＳＳＬで通信する。ＳＳＬ−ＶＰＮ装置２１では、ＵＲＬのマッピングが実行される。具体的には、“ｈｔｔｐｓ：／／ｓｓｌｇｗ．ｃｏｍｐａｎｙ．ｃｏｍ／Ａ／をイントラネット上のｈｔｔｐｓ：／／ｉｎｔｒａＡ．ｃｏｍｐａｎｙ．ｃｏｍ／に変換する。このため、クライアント１０はイントラネット上のホストintraAにＳＳＬ−ＶＰＮ装置２１を介して接続される。
【００８１】
なお、ハードウエア認証サーバ２０のＣＰＵ２０ａは、クライアント１０からの要求に基づき、ハードウエア認証処理を実行した時点またはユーザアカウントを有効にした時点から、図示せぬタイマを利用して計時を開始し、タイムアウトが発生していないかを確認し、タイムアウトが発生した場合には、有効としたユーザアカウントを無効とする。なお、ユーザアカウントを無効にする方法としては、ユーザアカウントを削除したり、上述のフラグ値を変更したりする。この結果、上述の時点から、所定の時間が経過する前にＳＳＬ−ＶＰＮ装置２１からユーザ認証要求があった場合のみ、ＳＳＬ−ＶＰＮ通信が確立される。すなわち、タイムアウト後にＳＳＬ−ＶＰＮを確立する場合には、クライアント１０はハードウエア認証サーバ２０に再度アクセスし、ハードウエア認証を受ける。これにより、不正アクセスをより確実に禁止することができる。なお、ＳＳＬ−ＶＰＮによる通信が完了した場合にも、そのクライアント１０についてのユーザのユーザアカウントを無効とする。
【００８２】
図１１は、第２の実施の形態において授受される通信パケットの状態を示す図である。この図に示すように、クライアント１０からのパケット４１は、ブラウザ４０によってＳＳＬによる暗号化パケット４２に暗号化され、インターネット１１を経由してＳＳＬ−ＶＰＮ装置２１に到達する。ＳＳＬ−ＶＰＮ装置２１は、復号化を行って得られたパケット４３を、サーバ２２に供給する。一方、サーバ２２からのパケット４３は、ＳＳＬ−ＶＰＮ装置２１によってＳＳＬによる暗号化パケット４２に暗号化され、インターネット１１を経由してクライアント１０に到達する。クライアント１０では、ブラウザ４０が復号化を行ってもとのパケット４１を生成する。
【００８３】
以上に説明したように、本発明の第２の実施の形態によれば、ハードウエア認証を行うようにしたので、ユーザＩＤとパスワードが盗まれた場合であっても、悪意のユーザの侵入を防止することができる。ひいては、安全性の高い通信を実現することができる。
【００８４】
また、第２の実施の形態では、ＳＳＬによる通信を行うようにしたので、クライアント１０は、インターネット用のブラウザプログラムによる通信を行うことができ、安価にセキュリティが高い通信環境を実現することが可能になる。
【００８５】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００８６】
例えば、以上の各実施の形態では、クライアント１０およびサーバ１４はそれぞれ１台ずつとしたが、これ以上であってもよい。また、サーバ２２，２３も１台のみまたは３台以上でもよい。また、ＳＳＬ−ＶＰＮ装置２１は、ファイアウォール１３とルータ１２の間に接続されてもよい。
【００８７】
また、ハードウエア情報としては、前述したＭＡＣアドレス等以外の情報を用いることも可能である。また、ハードウエア認証キーは、ある１つのハードウエア情報をそのまま使用してもよい。
【００８８】
なお、上記各実施の形態では、クライアント１０において、ハードウエア認証処理が実行され、その結果がサーバ１４やハードウエア認証サーバ２０へ送信されているが、その代わりにクライアント１０からサーバ１４やハードウエア認証サーバ２０へハードウエアに関する情報やハードウエア認証キーを送信し、サーバ１４やハードウエア認証サーバ２０がハードウエア認証処理を行うようにしてもよい。その場合には、ハードウエア認証モジュールは、クライアント１０のハードウエア認証キーを含めないですむ。
【００８９】
なお、上記各実施の形態では、暗号化通信の方式として、ＳＳＨまたはＳＳＬが使用されているが、その代わりに、ＩＰ−ｓｅｃを使用してもよい。
【００９０】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disk)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)などがある。
【００９１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【産業上の利用可能性】
【００９３】
本発明は、例えば、ネットワークシステムにおけるアクセス制御に利用することができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の第１の実施の形態に係るネットワークシステムの構成例を示すブロック図である。
【図２】図１に示すクライアントの詳細な構成例を示す図である。
【図３】図１に示すサーバの詳細な構成例を示す図である。
【図４】サーバにアクセス可能なユーザおよびクライアントに関する登録情報を有するテーブルの一例を示す図である。
【図５】図１に示す本発明の第１の実施の形態における各装置の動作を説明するためのシーケンス図である。
【図６】第１の実施の形態におけるパケットの流れを説明する図である。
【図７】本発明の第２の実施の形態に係るネットワークシステムの構成例を示すブロック図である。
【図８】図７に示すハードウエア認証サーバの詳細な構成例を示す図である。
【図９】図７に示すＳＳＬ−ＶＰＮ装置の詳細な構成例を示す図である。
【図１０】図７に示す第２の実施の形態の動作を説明するためのシーケンス図である。
【図１１】第２の実施の形態におけるパケットの流れを説明するための図である。
【符号の説明】
【００９５】
１０ａ  ＣＰＵ（送信手段の一部、通信手段の一部）
１０ｆ  通信回路（送信手段の一部、通信手段の一部）
１４ａ，１２０ａ  ＣＰＵ（ユーザ認証手段、ハードウエア認証手段、通信許可手段）
【図１】
2004158025.tif 000003
【図２】
2004158025.tif 000004
【図３】
2004158025.tif 000005
【図４】
2004158025.tif 000006
【図５】
2004158025.tif 000007
【図６】
2004158025.tif 000008
【図７】
2004158025.tif 000009
【図８】
2004158025.tif 000010
【図９】
2004158025.tif 000011
【図１０】
2004158025.tif 000012
【図１１】
2004158025.tif 000013