(57)【要約】【課題】既存のプロトコルとの信和性が高く、セキュリティリスクの低いネットワークシステムを提供すること。【解決手段】第１通信装置は、第１情報を取得する第１取得手段と、第１情報を第２通信装置に対して送信する第１送信手段と、第１情報とは異なる第２情報を取得する第２取得手段と、第１情報と第２情報とに対して不可逆な演算処理を施すことで、第３情報を生成する第１生成手段と、第３情報を第２通信装置に対して送信する第２送信手段と、を有し、第２通信装置は、第１送信手段によって送信される第１情報を受信する第１受信手段と、第２情報を取得する第３取得手段と、第１情報と第２情報とに対して、第１生成手段と同一の不可逆な演算処理を施すことで、第４情報を生成する第２生成手段と、第３情報と第４情報とが一致するか否かを判定することで認証処理を実行する認証手段と、を有する。【選択図】図１
2019179519.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置と第２通信装置を少なくとも有するネットワークシステムにおいて、
前記第１通信装置は、
第１情報を取得する第１取得手段と、
前記第１情報を前記第２通信装置に対して送信する第１送信手段と、
前記第１情報とは異なる第２情報を取得する第２取得手段と、
前記第１情報と前記第２情報とに対して不可逆な演算処理を施すことで、第３情報を生成する第１生成手段と、
前記第３情報を前記第２通信装置に対して送信する第２送信手段と、を有し、
前記第２通信装置は、
前記第１送信手段によって送信される前記第１情報を受信する第１受信手段と、
前記第２情報を取得する第３取得手段と、
前記第１情報と前記第２情報とに対して、前記第１生成手段と同一の不可逆な演算処理を施すことで、第４情報を生成する第２生成手段と、
前記第３情報と前記第４情報とが一致するか否かを判定することで認証処理を実行する認証手段と、を有する、
ことを特徴とするネットワークシステム。
【請求項２】
前記第１情報は、ログインＩＤであり、
前記第２情報は、ネットワーク情報である、
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記第１情報は、ログインＩＤであり、
前記第２情報は、日時情報を少なくとも有する、
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項４】
前記第１通信装置に係る各手段はプラグインプログラムによって実現され、
前記第２通信装置に係る各手段もプラグインプログラムによって実現される、
ことを特徴とする請求項１乃至３のいずれか１項に記載のネットワークシステム。
【請求項５】
前記不可逆な演算処理は、ハッシュ関数による処理であることを特徴とする請求項１乃至４のいずれか１項に記載のネットワークシステム。
【請求項６】
第１通信装置と第２通信装置を少なくとも有するネットワークシステムの認証方法において、
前記第１通信装置は、
第１情報を取得する第１取得ステップと、
前記第１情報を前記第２通信装置に対して送信する第１送信ステップと、
前記第１情報とは異なる第２情報を取得する第２取得ステップと、
前記第１情報と前記第２情報とに対して不可逆な演算処理を施すことで、第３情報を生成する第１生成ステップと、
前記第３情報を前記第２通信装置に対して送信する第２送信ステップと、を有し、
前記第２通信装置は、
前記第１送信ステップによって送信される前記第１情報を受信する第１受信ステップと、
前記第２情報を取得する第３取得ステップと、
前記第１情報と前記第２情報とに対して、前記第１生成ステップと同一の不可逆な演算処理を施すことで、第４情報を生成する第２生成ステップと、
前記第３情報と前記第４情報とが一致するか否かを判定することで認証処理を実行する認証ステップと、を有する、
ことを特徴とするネットワークシステムの認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムおよびネットワークシステムの認証方法に関するものである。
【背景技術】
【０００２】
特許文献１には、利用者識別子ＩＤとパスワードＰＷとをクライアントから送信し、サーバは該当するＩＤとＰＷとが存在することを確認することで利用者認証を行うネットワークアプリケーションシステムにおいて、クライアントはＩＤとＰＷとを公開鍵方式のサーバの公開鍵Ｋｐで暗号化してサーバへ送信し、サーバは自分の秘密鍵Ｋｓでそれを復号化することによりＩＤとＰＷとを取り出す。また、認証の初めにサーバが乱数Ｒをクライアントに送信し、クライアントがＩＤとＰＷと受信した乱数Ｒとをふくめて公開鍵Ｋｐで暗号化してサーバへ送信し、サーバは、復号化した乱数Ｒ’が先に送信した乱数Ｒと同じであることを確認する技術が開示されている。
【０００３】
また、特許文献２には、予め利用者が為替レートや天気などの動的パスワードの要素となる動的要因ＩＤの組合せを登録しておき、受信した利用者ＩＤから動的要因ＩＤを取り出しその変動情報を、ネットワークを利用して取得し、動的パスワードを生成する。生成した動的パスワードと受信したパスワードとを比較して、一致したとき本人であることを認証する技術が開示されている。
【０００４】
また、特許文献３には、第１のパスワード文字列がユーザから受け取られ、第１のパスワード文字列の対応する基準文字位置を有する１つまたは複数の文字列生成規則が受け取られ、第１のパスワード文字列、文字列生成規則、および第１のパスワード文字列の対応する基準文字位置が、ユーザのログイン資格証明に関連付けられ、認証のため、ユーザに関連付けられた第１のパスワード文字列が受け取られ、第２のパスワード文字列が、すべてユーザに関連付けられた、部分的パスワード文字列、および１つまたは複数の文字列生成規則、ならびにその部分的パスワード文字列の対応する基準文字位置に基づいて生成され、第１のパスワード文字列が第２のパスワード文字列と比較され、それらの文字列が合致した場合、ユーザは、認証される技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−３２５７８５号公報
【特許文献２】特開２００３−１９６２３８号公報
【特許文献１】特開２０１７−１１１８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ネットワーク上の機器を特定の相手にのみ接続を許可するには、各機器でパスワードや証明書データを保持する認証機構が用いられる。しかしながら、ネットワーク上の機器の数が増えるにつれ、認証のための共有データの管理コストが増え、適切な保守が困難になる。この結果、多くの機器のパスワードが同一であったり、導入から一度もパスワードが変更されないままであったりと、パスワード漏洩による不正利用というセキュリティリスクが高い状態での運用を招きやすくなる問題がある。
【０００７】
また、認証情報管理の煩雑さを避けるために、機器ごとにパスワードを保持しない動的パスワードを用いる認証方法がある。しかしながら、パスワードが動的であってもパスワード生成アルゴリズムが固定されていると、認証に脆弱性が判明した場合の対応が難しいという問題がある。
【０００８】
また、セッションごとにサーバからパラメータを受け取って符号化パラメータの中で用いる方法では、ＴＥＬＮＥＴやＦＴＰ等の既存プロトコル向けのクライアントで利用できないという問題点がある。
【０００９】
本発明は、以上のような状況に鑑みてなされたものであり、既存のプロトコルとの信和性が高く、セキュリティリスクの低いネットワークシステムおよびネットワークシステムの認証方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、第１通信装置と第２通信装置を少なくとも有するネットワークシステムにおいて、前記第１通信装置は、第１情報を取得する第１取得手段と、前記第１情報を前記第２通信装置に対して送信する第１送信手段と、前記第１情報とは異なる第２情報を取得する第２取得手段と、前記第１情報と前記第２情報とに対して不可逆な演算処理を施すことで、第３情報を生成する第１生成手段と、前記第３情報を前記第２通信装置に対して送信する第２送信手段と、を有し、前記第２通信装置は、前記第１送信手段によって送信される前記第１情報を受信する第１受信手段と、前記第２情報を取得する第３取得手段と、前記第１情報と前記第２情報とに対して、前記第１生成手段と同一の不可逆な演算処理を施すことで、第４情報を生成する第２生成手段と、前記第３情報と前記第４情報とが一致するか否かを判定することで認証処理を実行する認証手段と、を有する、ことを特徴とする。
このような構成によれば、既存のプロトコルとの信和性が高く、セキュリティリスクの低いネットワークシステムを実現できる。
【００１１】
また、本発明は、前記第１情報は、ログインＩＤであり、前記第２情報は、ネットワーク情報である、ことを特徴とする。
このような構成によれば、ログインＩＤに加えてネットワーク情報を用いることで、セキュリティリスクを低減することができる。
【００１２】
また、本発明は、前記第１情報は、ログインＩＤであり、前記第２情報は、日時情報を少なくとも有する、ことを特徴とする。
このような構成によれば、認証の度に異なる日時情報を用いることで、セキュリティリスクを一層低減することができる。
【００１３】
また、本発明は、前記第１通信装置に係る各手段はプラグインプログラムによって実現され、前記第２通信装置に係る各手段もプラグインプログラムによって実現される、ことを特徴とする。
このような構成によれば、プラグインプログラムとして実装することで、既存のシステムとの信和性を高めるとともに、プラグインプログラムを変更することで、認証に用いる情報を簡易に変更することができる。
【００１４】
また、本発明は、前記不可逆な演算処理は、ハッシュ関数による処理であることを特徴とする。
このような構成によれば、不可逆な演算処理を簡易に実現することができる。
【００１５】
また、本発明は、第１通信装置と第２通信装置を少なくとも有するネットワークシステムの認証方法において、前記第１通信装置は、第１情報を取得する第１取得ステップと、前記第１情報を前記第２通信装置に対して送信する第１送信ステップと、前記第１情報とは異なる第２情報を取得する第２取得ステップと、前記第１情報と前記第２情報とに対して不可逆な演算処理を施すことで、第３情報を生成する第１生成ステップと、前記第３情報を前記第２通信装置に対して送信する第２送信ステップと、を有し、前記第２通信装置は、前記第１送信ステップによって送信される前記第１情報を受信する第１受信ステップと、前記第２情報を取得する第３取得ステップと、前記第１情報と前記第２情報とに対して、前記第１生成ステップと同一の不可逆な演算処理を施すことで、第４情報を生成する第２生成ステップと、前記第３情報と前記第４情報とが一致するか否かを判定することで認証処理を実行する認証ステップと、を有する、ことを特徴とする。
このような方法によれば、既存のプロトコルとの信和性が高く、セキュリティリスクの低いネットワークシステムの認証方法を実現できる。
【発明の効果】
【００１６】
本発明によれば、既存のプロトコルとの信和性が高く、セキュリティリスクの低いネットワークシステムおよびネットワークシステムの認証方法を提供することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態に係るネットワークシステムの構成例を示す図である。
【図２】図１に示すクライアントの構成例を示すブロック図である。
【図３】図１に示すサーバの構成例を示すブロック図である。
【図４】従来例の動作を説明するためのシグナルフロー図である。
【図５】本発明の第１実施形態の動作を説明するためのシグナルフロー図である。
【図６】図２に示すクライアントで実行される処理の一例を説明するためのフローチャートである。
【図７】図３に示すサーバで実行される処理の一例を説明するためのフローチャートである。
【図８】本発明の第２実施形態の動作を説明するためのシグナルフロー図である。
【発明を実施するための形態】
【００１８】
つぎに、本発明の実施形態について説明する。
【００１９】
（Ａ）本発明の第１実施形態の構成の説明
図１は、本発明の第１実施形態に係るネットワークシステムの構成例を示す図である。図１に示す例では、ネットワークシステム１は、クライアント１０、インターネット２０、および、サーバ３０を有している。
【００２０】
ここで、クライアント１０は、例えば、管理者によって操作され、インターネット２０を介してサーバ３０にアクセスし、サーバ３０との間で情報の授受を行うコンピュータである。なお、クライアント１０は、例えば、多数存在する（例えば、数百のオーダで存在する）サーバ３０を管理するための機器として機能する。
【００２１】
インターネット２０は、例えば、複数のコンピュータネットワーク同士を相互接続したグローバルな情報通信網である。
【００２２】
サーバ３０は、クライアント１０からの要求に対して所定のサービスを提供する機能を有するコンピュータである。なお、サーバ３０は、例えば、多数存在し（例えば、数百のオーダで存在し）、ネットワークの中継機器としての機能を有している。クライアント１０は、複数のサーバ３０に対してアクセスし、これらのサーバ３０に格納されている情報を読み出したり、サーバ３０の設定情報を変更したりすることが可能とされている。
【００２３】
図２は、図１に示すクライアント１０構成例を示す図である。図２の例では、クライアント１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、不揮発性記憶部１４、通信部１５、Ｉ／Ｆ（Interface）１６、バス１７、入力デバイス１８、および、出力デバイス１９を有している。
【００２４】
ここで、ＣＰＵ１１は、ＲＯＭ１２および不揮発性記憶部１４に格納されているプログラムに基づいて装置の各部を制御する。
【００２５】
ＲＯＭ１２は、ＣＰＵ１１が実行する基本的なプログラムおよびデータを格納する不揮発性の半導体記憶装置である。
【００２６】
ＲＡＭ１３は、ＣＰＵ１１が実行中のプログラムや、計算中のデータを一時的に格納する揮発性の半導体記憶装置である。
【００２７】
不揮発性記憶部１４は、ＣＰＵ１１が実行するプログラムを格納する記憶装置である。なお、不揮発性記憶部１４（またはＲＡＭ１３）には、サーバ３０との間で認証処理を実行するためのプログラム等が格納されている。
【００２８】
通信部１５は、インターネット２０を介してサーバ３０と通信を行う場合の制御を行う。
【００２９】
Ｉ／Ｆ１６は、入力デバイス１８から出力される情報を入力するとともに、出力デバイス１９に対して情報を出力する。
【００３０】
バス１７は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性記憶部１４、通信部１５、および、Ｉ／Ｆ１６を相互に接続し、これらの間で情報の授受を可能とするための接続線群である。
【００３１】
入力デバイス１８は、例えば、キーボードまたはポインティングデバイス等によって構成され、管理者の操作に応じた情報を生成して出力する。
【００３２】
出力デバイス１９は、例えば、ＬＣＤ（Liquid Crystal Display）等によって構成され、テキスト情報および画像情報を表示する。
【００３３】
図３は、図１に示すサーバ３０の構成例を示す図である。図３に示すように、サーバ３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、不揮発性記憶部３４、通信部３５、Ｉ／Ｆ３６、および、バス３７を有している。
【００３４】
ここで、ＣＰＵ３１は、ＲＯＭ３２および不揮発性記憶部３４に格納されているプログラムに基づいて装置の各部を制御する。
【００３５】
ＲＯＭ３２は、ＣＰＵ３１が実行する基本的なプログラムおよびデータを格納する不揮発性の半導体記憶装置である。
【００３６】
ＲＡＭ３３は、ＣＰＵ３１が実行中のプログラムや、計算中のデータを一時的に格納する揮発性の半導体記憶装置である。
【００３７】
不揮発性記憶部３４は、ＣＰＵ３１が実行するプログラムを格納する記憶装置である。通信部３５は、インターネット２０を介してクライアント１０との間で通信を行う場合の制御を行う。
【００３８】
Ｉ／Ｆ３６は、例えば、必要に応じて入力デバイス等が接続され、これらとの間で情報を授受する際に情報の表現形式を適宜変更する。
【００３９】
バス３７は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、不揮発性記憶部３４、通信部３５、および、Ｉ／Ｆ３６を相互に接続し、これらの間で情報の授受を可能とするための接続線群である。
【００４０】
（Ｂ）本発明の第１実施形態の動作の説明
つぎに、本発明の第１実施形態の動作について説明する。以下では、従来技術の動作について説明した後、本発明の第１実施形態の動作について説明する。
【００４１】
図４は、従来技術の動作を説明するための図である。クライアント１０がサーバ３０に対してアクセスし、認証処理を行う場合、まず、クライアント１０は、サーバ３０に対して接続要求（ｃｏｎｎｅｃｔ）を行う（Ｐ１）。
【００４２】
この結果、サーバ３０は、クライアント１０に対して、ログイン用のＩＤ（Identification）の入力を要求する（Ｐ２）。この結果、クライアント１０では、管理者が、入力デバイス１８を操作して、ログイン用のＩＤを入力し、通信部１５を介して送信する。この例では、ログイン用のＩＤとして“ｇｕｅｓｔ”が入力されて送信されている（Ｐ３）。
【００４３】
ログイン用のＩＤを受信したサーバ３０は、クライアント１０に対して、パスワードを要求する（Ｐ４）。この結果、クライアント１０では、管理者が入力デバイス１８を操作してパスワードを入力し、送信する。この例では、パスワードとして、“ｐａｓｓｗｏｒｄｓ”が入力されて送信されている（Ｐ５）。
【００４４】
パスワードを受信したサーバ３０では、アクセスしてきた管理者の正当性を確認するための認証処理を実行する。より詳細には、サーバ３０は、クライアント１０から受信したＩＤに対応するＩＤを不揮発性記憶部３４から検索する。そして、該当するＩＤが見つかった場合には、当該ＩＤに対応付けされて格納されているパスワードを取得する。そして、取得したパスワードと、クライアント１０から受信したパスワードとを照合し、これらが一致する場合には、管理者の正当性が認証されたと判定し、クライアント１０のアクセスを受け付ける（ａｃｃｅｐｔ）（Ｐ６）。この結果、クライアント１０とサーバ３０との間で、例えば、情報の授受等が可能になる。
【００４５】
ところで、以上のような従来の認証方法では、クライアント１０からサーバ３０に対してＩＤとパスワードが送信されるので、例えば、悪意の第三者に、これらの情報を不正に取得される場合がある。また、クライアント１０の管理者は、サーバ３０毎にＩＤとパスワードを記憶する必要があることからこれらの情報の管理が煩雑である。また、サーバ３０では、ＩＤとパスワードを記憶する必要があることから、例えば、悪意の第三者によるハッキング等が行われた場合には、ＩＤとパスワードが不正に取得される場合がある。
【００４６】
そこで、本発明の第１実施形態では、パスワードを送信することなく、また、サーバ３０がパスワードを記憶することなく認証処理を実行するようにしている。以下では、第１実施形態の動作について、図５を参照して説明する。
【００４７】
なお、図５に示す認証処理は、例えば、プラグインプログラムとして実装される。このようなプラグインプログラムは、例えば、クライアント１０からサーバ３０に対して配布され、クライアント１０とサーバ３０が同じプラグインプログラムを実装して実行することで、図５に示す認証処理を実現することができる。プラグインプログラムには、後述する認証のプロセスが記述されるとともに、パスワードを生成するための手続きと、パスワードを生成する元となる情報についても記述されているので、プラグインプログラムを変更することで、認証プロセスと、パスワードを生成する元となる情報を変更することができる。以下では、クライアント１０とサーバ３０には、既にプラグインプログラムが実装されていることを前提として動作を説明する。
【００４８】
図５において、クライアント１０からサーバ３０に対して接続要求［ｃｏｎｎｅｃｔ］がされると（Ｐ１）、サーバ３０は、クライアント１０に対してログインＩＤを入力するように要求する（Ｐ２）。
【００４９】
クライアント１０では、ログインＩＤを入力するためのテキストボックス等を出力デバイス１９としてのＬＣＤに表示し、入力デバイス１８としてのキーボードから入力を受ける。例えば、ログインＩＤとして、“ｇｕｅｓｔ”が入力された場合には、“ｇｕｅｓｔ”がクライアント１０からサーバ３０に対して送信される（Ｐ３）。
【００５０】
なお、ログインＩＤとしては、管理者に対して割り当てられたユニークな情報を用いるようにしたり、あるいは、管理者のサーバ３０に対するアクセス権限（例えば、情報のダウンロードのみの権限、設定を変更可能な権限等）を示す情報を用いたり、クライアント１０の端末単位で割り当てられるユニークな情報を用いるようにしてもよい。もちろん、これ以外の情報を用いるようにしてもよい。
【００５１】
ログインＩＤを受信すると、サーバ３０は、パスワードを送信するようにクライアント１０に要求する（Ｐ４）。
【００５２】
クライアント１０では、パスワードを計算によって算出する。第１実施形態では、クライアント１０は、プラグインプログラムに記述された内容に基づいて、以下の式（１）に基づいて、ログインＩＤ（いまの例では“ｇｕｅｓｔ”）、クライアント１０のその時点におけるＩＰアドレス（以下、「クライアントＩＰ」と称する）、サーバ３０のその時点におけるＩＰアドレス（以下、「サーバＩＰ」と称する）を、所定のハッシュ関数によって処理することで、パスワードを算出する。なお、式（１）において、Ｈ（）は、括弧内の情報に対してハッシュ処理を施してハッシュ値を返すハッシュ関数を示す。
【００５３】
ｐａｓｓ＝Ｈ（ログインＩＤ，  クライアントＩＰ，  サーバＩＰ）・・・（１）
【００５４】
以上の処理により、クライアント１０は、パスワードとして、例えば、“ａ０ｂ１ｃ２ｄ３ｅ４ｆ５ａ６ｂ７ｃ８ｄ９”を得る。このようなパスワードは、クライアント１０からサーバ３０に送信される（Ｐ５）。
【００５５】
サーバ３０では、クライアント１０と同様に、パスワードを計算によって算出する。第１実施形態では、サーバ３０は、クライアント１０と共有されるプラグインプログラムに記述された内容に基づいて、前述した式（１）に基づいて、ログインＩＤ（いまの例では“ｇｕｅｓｔ”）、クライアント１０のその時点におけるクライアントＩＰ、サーバ３０のその時点におけるサーバＩＰを、所定のハッシュ関数によって処理することで、パスワードを算出する。その結果、パスワードとして、例えば、“ａ０ｂ１ｃ２ｄ３ｅ４ｆ５ａ６ｂ７ｃ８ｄ９”を得る。
【００５６】
サーバ３０は、自身の計算によって得たパスワードと、クライアント１０から受信したパスワードとを比較し、これらが一致するか否かを判定し、一致する場合には認証に成功したと判定する。いまの例では、自身の計算によって得たパスワードと、クライアント１０から受信したパスワードは、ともに“ａ０ｂ１ｃ２ｄ３ｅ４ｆ５ａ６ｂ７ｃ８ｄ９”で一致するので、認証に成功したと判定し、クライアント１０からのアクセスを許可（ａｃｃｅｐｔ）する（Ｐ６）。
【００５７】
認証に成功した場合には、ログインＩＤに付与されたアクセス権限（例えば、ログインＩＤを有する管理者のアクセス権限）に応じて、クライアント１０は、サーバ３０に格納されている情報をダウンロードしたり、サーバ３０の設定を変更したりすることができる。
【００５８】
以上に説明したように、本発明の第１実施形態では、クライアント１０からサーバ３０に対して、固定のパスワードを送信しないので、悪意ある第三者にパスワードが漏洩することを防止できる。
【００５９】
また、本発明の第１実施形態では、サーバ３０がパスワードを記憶していないので、パスワードが悪意ある第三者に漏洩することを防止できる。
【００６０】
また、本発明の第１実施形態では、ＩＰアドレスからパスワードを算出するようにしたので、接続のタイミングによって変化する可能性があるＩＰアドレスを使用することで、パスワードが非固定となることから、第三者のなりすましによるアクセスを防止することができる。
【００６１】
また、本発明の第１実施形態では、従来のログイン方法と同様の手続きを経るようにしているので、例えば、ＲＦＣ８５４で規定されるＴＥＬＮＥＴ（Teletype Network）を流用することができることから、開発コストを低減することができる。
【００６２】
また、本発明の第１実施形態では、図５に示す認証処理を実行するプログラムを、プラグインプログラムとして共有して実装するようにしたので、プラグインプログラムを変更することで、認証プロセスと、パスワードを生成する元となる情報を簡単に変更することができる。これにより、セキュリティリスクを低減することができる。また、サーバ３０が多数存在する場合には、プラグインプログラムを変更することで、全てのサーバ３０の認証処理を一括して変更することができる。
【００６３】
つぎに、図６を参照して、図１に示すクライアント１０で実行される処理の一例について説明する。図６に示すフローチャートの処理が開始されると、以下のステップが実行される。
【００６４】
ステップＳ１０では、ＣＰＵ１１は、通信部１５を介してサーバ３０にアクセス（接続要求）する。
【００６５】
ステップＳ１１では、ＣＰＵ１１は、自身のＩＰアドレスを取得し、これをクライアントＩＰとする。
【００６６】
ステップＳ１２では、ＣＰＵ１１は、サーバ３０のＩＰアドレスを取得し、これをサーバＩＰとする。
【００６７】
ステップＳ１３では、ＣＰＵ１１は、サーバ３０からのログインＩＤの要求を待つ。
【００６８】
ステップＳ１４では、ＣＰＵ１１は、出力デバイス１９としてのＬＣＤに対して、例えば、テキストボックスを表示させ、入力デバイス１８としてのキーボードからログインＩＤの入力を受ける。
【００６９】
ステップＳ１５では、ＣＰＵ１１は、通信部１５を介して、ステップＳ１４で入力されたログインＩＤをサーバ３０に対して送信する。
【００７０】
ステップＳ１６では、ＣＰＵ１１は、ログインＩＤ、サーバＩＰ、および、クライアントＩＰに対して、前述した式（１）に示すハッシュ関数を適用し、得られるハッシュ値をパスワードとする。
【００７１】
ステップＳ１７では、ＣＰＵ１１は、サーバ３０からのパスワードの要求を待つ。
【００７２】
ステップＳ１８では、ＣＰＵ１１は、ハッシュ関数によって算出したパスワードを、サーバ３０に対して送信する。この結果、サーバ３０では、認証処理が実行される。
【００７３】
ステップＳ１９では、ＣＰＵ１１は、認証が成功したか否かを判定し、認証が成功したと判定した場合（ステップＳ１９：Ｙ）にはステップＳ２０に進み、それ以外の場合（ステップＳ１９：Ｎ）には処理を終了する。
【００７４】
ステップＳ２０では、ＣＰＵ１１は、サーバ３０との間で情報を送受信する処理を実行する。例えば、ユーザＩＤに付与されたアクセス権限に基づいて、サーバ３０との間で情報を授受したり、サーバ３０の設定を変更したりすることができる。
【００７５】
つぎに、図７を参照して、図１に示すサーバ３０で実行される処理について説明する。図７に示すフローチャートの処理が開始されると、以下のステップが実行される。
【００７６】
ステップＳ３０では、ＣＰＵ３１は、クライアント１０からのアクセスがあったか否かを判定し、アクセスがあったと判定した場合（ステップＳ３０：Ｙ）にはステップＳ３１に進み、それ以外の場合（ステップＳ３０：Ｎ）には処理を終了する。
【００７７】
ステップＳ３１では、ＣＰＵ３１は、クライアント１０のＩＰアドレスを取得し、これをクライアントＩＰとする。
【００７８】
ステップＳ３２では、ＣＰＵ３１は、自身のＩＰアドレスを取得し、これをサーバＩＰとする。
【００７９】
ステップＳ３３では、ＣＰＵ３１は、クライアント１０に対して、ログインＩＤを送信するように要求する。この結果、図７のステップＳ１３からステップＳ１４に進み、ログインＩＤが入力されて、送信される。
【００８０】
ステップＳ３４では、ＣＰＵ３１は、クライアント１０から送信されたログインＩＤを受信する。
【００８１】
ステップＳ３５では、ＣＰＵ３１は、ログインＩＤ、サーバＩＰ、および、クライアントＩＰに対して、前述した式（１）に示すハッシュ関数を適用し、得られるハッシュ値をパスワードとする。
【００８２】
ステップＳ３６では、ＣＰＵ３１は、クライアント１０に対してパスワードを送信するように要求する。この結果、図６のステップＳ１７からステップＳ１８に進み、クライアント１０からパスワードが送信される。
【００８３】
ステップＳ３７では、ＣＰＵ３１は、クライアント１０から送信されたパスワードを受信する。
【００８４】
ステップＳ３８では、ＣＰＵ３１は、ステップＳ３５で計算したパスワードと、ステップＳ３７でクライアント１０から受信したパスワードが一致するか否かを判定し、一致すると判定した場合（ステップＳ３７：Ｙ）にはステップＳ３９に進み、それ以外の場合（ステップＳ３７：Ｎ）には処理を終了する。
【００８５】
ステップＳ３９では、ＣＰＵ３１は、クライアント１０との間で情報を送受信する処理を実行する。例えば、ユーザＩＤに付与されたアクセス権限に基づいて、クライアント１０に対して情報を送信したり、設定の変更を許可したりすることができる。
【００８６】
以上の処理によれば、図５を参照して説明した動作を実現することができる。
【００８７】
（Ｃ）本発明の第２実施形態の説明
つぎに、本発明の第２実施形態について説明する。第２実施形態の構成は、図１〜図３に示す第１実施形態と同様であるが、クライアント１０およびサーバ３０において実行される認証処理が異なっている。以下では、異なる部分を中心に動作の説明を行う。
【００８８】
図８は、第２実施形態の動作を説明するための図である。第２実施形態では、第１実施形態と比較すると、パスワードを生成する元となる情報が異なっている。より詳細には、第２実施形態では、第１実施形態におけるログインＩＤ、クライアントＩＰ、サーバＩＰに加えて、システム名および日時情報を用いることを特徴としている。なお、システム名は、例えば、クライアント１０またはサーバ３０のドメイン名等を用いることができる。もちろん、これ以外の情報を用いてもよい。また、日時情報としては、例えば、西暦、月、日、時間等の情報を用いることができる。
【００８９】
すなわち、第２実施形態では、クライアント１０は、プラグインプログラムに記述された内容に基づいて、以下の式（２）に基づいて、ログインＩＤ、クライアント１０のその時点におけるクライアントＩＰ、サーバ３０のその時点におけるサーバＩＰ、システム名（例えば、クライアント１０またはサーバ３０のドメイン名）、および、日時情報（例えば、“２０１８／３／１０  １０：４０”）を、所定のハッシュ関数によって処理することで、パスワードを算出する。なお、式（２）において、Ｈ（）は、式（１）と同様に、括弧内の情報をハッシュ処理してハッシュ値を返すハッシュ関数を示す。
【００９０】
ｐａｓｓ＝Ｈ（ログインＩＤ，  クライアントＩＰ，  サーバＩＰ，  システム名，  日時情報）・・・（２）
【００９１】
第２実施形態では、パスワードを生成する元となる情報として、システム名を加えるようにしたので、情報の数を増やすことでシステムの堅牢正を一層高めることができる。
【００９２】
また、第２実施形態では、日時情報を用いるようにした。日時情報は、アクセスした時間によって常に異なることから、パスワードを動的に変化する動的パスワードとすることができることから、セキュリティリスクを一層低減することができる。
【００９３】
（Ｃ）変形実施形態の説明
以上の各実施形態は一例であって、本発明が上述したような場合のみに限定されるものでないことはいうまでもない。例えば、以上の各実施形態では、図１に示すように、１台のクライアント１０と、１台のサーバ３０とを例示しているが、複数のクライアント１０と複数のサーバ３０を有するようにしてもよい。特に、サーバ３０が多数（例えば、数百台単位）存在するようにしてもよい。
【００９４】
また、以上の各実施形態では、サーバ３０は、アクセスしてきたクライアント１０については、認証に成功すれば情報の送受信を許可するようにしたが、例えば、サーバ３０がアクセスを許可するクライアント１０を特定するためのホワイトリストと、アクセスを許可しないクライアント１０を特定するためのブラックリストを不揮発性記憶部３４に格納し、これらの情報とともに、認証結果とに基づいて、クライアント１０のアクセスの可否を判断するようにしてもよい。
【００９５】
また、以上の各実施形態に示した、ハッシュ関数によってパスワードを生成する元となる情報はあくまでも一例であって、例示した以外の情報を用いてパスワードを生成するようにしてもよい。
【００９６】
また、以上の各実施形態では、認証処理を実行するプラグインプログラムについては、例えば、既に実装されている前提で説明したが、プラグインプログラムを、例えば、クライアント１０とサーバ３０との間のセッション毎に変更するようにしてもよい。あるいは、所定の周期（例えば、１週間、１ヶ月等）で変更するようにしてもよい。また、管理者の指示によって、プラグインプログラムを変更するようにしてもよい。
【００９７】
また、プラグインプログラムを変更する際には、例えば、図４に示す従来のログインＩＤとパスワードを用いた認証を行い、プラグインプログラムを変更する権限を有する管理者であることが認証された場合に、プラグインプログラムを変更するようにしてもよい。
【００９８】
また、アクセス権限に応じて、パスワードを生成する元となる情報を変更するようにしてもよい。例えば、低いアクセス権限の場合には、パスワードを生成する元となる情報の種類を少なくし、高いアクセス権限の場合には、パスワードを生成する元となる情報の種類を多くするようにしてもよい。また、前述したプラグインプログラムの変更の頻度についても、高いアクセス権限の場合には頻繁に変更するようにしてもよい。
【００９９】
また、以上の第１実施形態では、パスワードを生成する元となる情報としては、ログインＩＤと、クライアント１０とサーバ３０のＩＰアドレスを用いるようにしたが、ＩＰアドレス以外のネットワーク情報を用いるようにしてもよい。例えば、ＩＰアドレスの代わりに、ＭＡＣ（Media Access Control）を用いるようにしてもよい。もちろん、これ以外のネットワーク情報を用いるようにしてもよい。
【０１００】
また、図６および図７に示すフローチャートの処理は一例であって、本発明がこれらのフローチャートに限定されるものではない。
【符号の説明】
【０１０１】
１  ネットワークシステム
１０  クライアント
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性記憶部
１５  通信部
１６  Ｉ／Ｆ
１７  バス
１８  入力デバイス
１９  出力デバイス
２０  インターネット
３０  サーバ
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  不揮発性記憶部
３５  通信部
３６  Ｉ／Ｆ
３７  バス
【図１】
2019179519.tif 000003
【図２】
2019179519.tif 000004
【図３】
2019179519.tif 000005
【図４】
2019179519.tif 000006
【図５】
2019179519.tif 000007
【図６】
2019179519.tif 000008
【図７】
2019179519.tif 000009
【図８】
2019179519.tif 000010