(57)【要約】【課題】  認証済みのユーザに対しては次回は簡易認証を行い、セキュリティレベルを落とさずに短時間で認証を行い、認証サーバのオーバーヘッドを低減する。【解決手段】  クライアント111から認証サーバ112に対して、サーバ113とのコネクションの接続要求を行うと、認証サーバ112はユーザを識別情報と認証情報により認証し、同時にユーザの送信元先のアドレス、ポート番号と認証時に生成されるセション鍵から構成されるユーザ情報131,132を記憶し、認証時にユーザが申請した使用コネクション数あるいはコネクション存続時間のコネクション情報を記憶し、再度ユーザを認証する必要がある時には、前記コネクション情報あるいはユーザ情報をもとにユーザを簡易認証する。証明書121による認証は、最初の接続要求時のみ行う。【選択図】      図１
2005327315.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバ間の簡易認証方法であって、
前記クライアントは、接続先のサーバのアドレスが、前記クライアントに格納された情報と一致した場合には、認証サーバに対して簡易な認証要求を送信することを特徴とするクライアントとサーバ間の簡易認証方法。
【請求項２】
請求項１記載の認証方法であって、
前記認証サーバは、
前記クライアントからの前記簡易な認証要求を受信し、
前記クライアントのアドレスが、前記認証サーバに格納された情報と一致した場合には、簡易な認証を行うことを特徴とするクライアントとサーバ間の簡易認証方法。
【請求項３】
請求項２記載の認証方法であって、
前記簡易な認証とは、
前記クライアントが発生させた乱数と、前記クライアントに格納されたセッション鍵で暗号化した前記乱数とを前記認証サーバに送信し、
前記認証サーバが、前記サーバに格納されたセッション鍵で前記暗号化した乱数を復号し、該復号して得られた乱数と、送信された前記乱数とが一致した場合に、認証を行うことを特徴とするクライアントとサーバ間の簡易認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムにおけるユーザ認証処理の、特にモバイル環境におけるオーバーヘッドを解決するためのユーザの簡易認証方法に関する。
【背景技術】
【０００２】
従来、暗号化通信を行うためには、特開平9-148993号公報に記載された「通信システム」に示されるように、クライアントからサーバに対してコネクション要求があると、クライアントは認証サーバに対して使用する暗号アルゴリズムの種別を決定するためにネゴシエーションを行っていた。ユーザ認証は、ネゴシエーション時に行われている。そのため１つのクライアントから同じサーバに対して複数のコネクションを張るような場合でも、各コネクションごとに認証処理が必要であった。
【０００３】
このように、インターネットの普及に伴い、不特定多数の人が必要に応じてネットワークシステムにアクセスできるようになってきた。そのため、クライアントがサーバに対してコネクション要求してきた場合には、クライアントのユーザを認証することが重要である。
【０００４】
しかしながら、実際の運用を考えると、ネットワークシステムが大規模化するに伴って、通信のコネクションが張られる度毎に行わなければならない認証処理のオーバーヘッドが問題になる。例えば、Ｗebブラウザなどで1つのアプリケーションサーバに複数のコネクションを張るような場合、最初のコネクションでユーザ認証を行い、認証されればあとのコネクションでは簡易認証だけを行うユーザ要求ができれば極めて便利である。特に、モバイル環境に適用可能な認証方法の提案が課題となっている。ある程度のセキュリティを確保しながら認証処理のオーバヘットを削減する技術の検討が必要になった。
【０００５】
【特許文献１】特開平9-148993号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のように、ネットワークシステムが大規模化すると、通信のコネクションが張られる度毎にユーザの認証を行う処理がサーバ側のオーバーヘッドとなっていた。
【０００７】
１つのアプリケーションサーバに複数のコネクションを張るような場合、１回目のコネクションでユーザ認証を行い、認証されれば２回目以降のコネクションでは簡易認証だけを行うユーザ要求ができればオーバーヘッドも低減されると考えられる。
【０００８】
特に、モバイル環境では、多数のユーザが移動中にサーバにアクセスするため、その都度、ユーザの認証を行うのではサーバ側の負荷は過大になる。その結果として、特にモバイル環境に適用可能な認証方法の実現を希望しており、ある程度のセキュリティを確保しながら認証処理のオーバヘットを削減する技術の検討が必要になった。
【０００９】
そこで、本発明の目的は、このような従来の課題を解決し、ユーザの送信元アドレスとポート番号が一致し、かつユーザのコネクション接続要求がユーザの申請に符合した場合には、セキュリティレベルを落すことなく、簡易な認証を行うことができ、短時間でのデータ通信を可能にするユーザの簡易認証方法およびそのプログラムを格納した記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明のユーザの簡易認証方法では、（ａ）クライアントがサーバにコネクション接続要求する時に、ユーザを識別情報と認証情報により認証するステップと、ユーザの送信元のアドレス、ポート番号と認証時に生成されるセション鍵、および前記認証時にユーザが申請した使用コネクション数あるいはコネクション存続時間から構成されるユーザ情報を記憶するステップと、再度ユーザを認証する必要がある時には前記コネクション情報あるいはユーザ情報をもとにユーザを簡易認証するステップとからなることを特徴とする（図３の通常認証の後、図４の簡易認証の動作参照）。
【００１１】
特に、（ｂ）ユーザの送信元アドレスとポート番号が前回の認証時と一致し、かつユーザのコネクション接続要求がユーザの申請に符合した場合について、２回目以降の認証処理を簡易化する。具体的には、記憶されたユーザ情報と今回のユーザの送信元アドレスとポート番号が一致するか否かを確認するステップと、ユーザが乱数を生成しセション鍵により暗号するステップと、前記乱数及び前記暗号化された乱数を認証サーバに送信するステップと、前記乱数と前記暗号化された乱数とから次のセション鍵を生成するステップと、前記セション鍵を記憶するステップとからなることを特徴としている（図７の確認動作と図４のユーザ側動作参照）。
【００１２】
また、（ｃ）ユーザによるコネクション接続要求が前記記憶されたユーザ情報に符合するかどうか確認するステップと、認証サーバがクライアントにより発生させた乱数と、前記乱数をセション鍵により暗号化されたものを受信するステップと、前記乱数と前記暗号化された乱数をセション鍵により復号するステップと、前記復号化された乱数と前記受信した乱数を比較するステップと、前記暗号化された乱数とから次のセション鍵を生成するステップと、前記セション鍵を記憶するステップとからなることを特徴としている（図４のサーバ側動作参照）。
【００１３】
さらに、本発明によるプログラム格納の記録媒体は、（ｄ）上記（ａ）〜（ｃ）に記載の各動作ステップ群をプログラムに変換し、変換されたプログラムを記録媒体に格納することを特徴としている。
【発明の効果】
【００１４】
本発明によれば、ユーザの送信元アドレスとポート番号が前回の認証時と一致し、かつユーザのコネクション接続要求がユーザの申請に符合した場合について、２回目以降の認証処理を簡易化することができる。そして、簡易認証について生成した乱数の暗号化したものを次のセション鍵として使用するため、セキュリティレベルを落とすことなく短時間での認証を実現することが可能である。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施例を、図面により詳細に説明する。
図１は、本発明が適用されるネットワークシステムの構成図である。
【００１６】
図１において、クライアント111とサーバ113は、それぞれ独立したネットワーク101及び102を介して接続されている。クライアント111及びサーハ113は複数個存在するが、ここでは簡単のために1個ずつしか示されていない。また、認証サーバ112は、ネットワーク101と102を中継する位置で、前記２つのネットワーク間のコネクションを管理し、クライアント111に対しては事前に証明書121を発行しておく。
【００１７】
前記ネットワーク101及び102間では、秘密鍵暗号方式を使用してコネクションごとに生成したセション鍵を用いて暗号通信する。クライアント111には、そのクライアント端末を共用するユーザが複数存在し、それらのユーザ情報131が内部メモリに格納されている。一方、認証サーバ112の内部メモリにも、各クライアント端末111からの接続要求時に送られるユーザ情報を読み取ったものが格納される。
【００１８】
前記認証サーバ112から事前に配布されている証明書121の用紙は、規定のフォーマットが記載されており、各ユーザは、クライアント111の内部メモリに格納されたユーザ情報を読み込み、それを証明書121に書き込むことにより、証明書を完成させる。完成された証明書121には、前記セション鍵を生成するための共有鍵情報に加えて、クライアント111のユーザのユーザ名、当証明書の有効期限、接続サーバを限定するためのアクセス制御情報が格納されている。
【００１９】
図２は、図１におけるユーザ情報の構成図である。
本発明では、図１におけるユーザ情報131,132を用いることにより、クライアント111からサーバ113への再度の接続要求に対して認証処理を簡易化することを目的としている。
【００２０】
前記ユーザ情報131,132は、接続先あるいは接続要求元のアドレスとポート番号、セション鍵、コネクション数による制御か、あるいはコネクション存続時間による制御かを示すフラグ、使用するコネクション数あるいはコネクション存続時間、及び次のユーザ情報へのポインタ情報から構成される。
【００２１】
複数のユーザ情報201,202,203は、図２に示すようにリストの先頭からリストの最後に至るまでそれぞれポインタにより結合される。ユーザ情報131,132は、コネクションごとにクライアント111側と認証サーバ112側で生成される。例えば、１つのコネクションについて、クライアント111側のユーザ情報131には接続先であるサーバ113のアドレスとポート番号が格納され、認証サーバ112側のユーザ情報132には接続要求元であるクライアント111のアドレスとポート番号が格納されている。
【００２２】
また、使用するコネクション数による制御とコネクション存続時間による制御のどちらを採用するかというネゴシェーションについては、事前にシステム定義で指定しておく運用もあるが、本実施例ではクライアント111からサーバ113への接続要求の最初の通常認証処理時に設定している。
【００２３】
クライアント111がユーザ情報131に格納されているアドレスとは異なるアドレスのサーバへアクセスした場合、また、認証サーバ112がユーザ情報132に格納されているアドレスとは異なるアドレスのクライアントからの認証を行った場合、新たなユーザ情報が生成されるが、これは図２に示すようにリストとして格納される。
【００２４】
このようなネットワーク環境において、クライアント111の端末には、ＣＰＵが配置され、サーバ113に接続してデータを送受信するアプリケーションを実行することにより動作するようになっている。
【００２５】
クライアント111からサーバ113に接続要求があった場合、クライアント111はまず認証サーバ112と接続し、ユーザ認証を行う。認証が正しく行われた場合、セション鍵が生成され、以降の通信で使用するために前記セション鍵をクライアント111と認証サーバ112とで共有しておく。
【００２６】
その後、このセション鍵を使用してクライアント111は認証サーバ112間と暗号通信を行い、認証サーバ112が中継することによりサーバ113に接続する。以上は、従来からの処理を説明したものである。
【００２７】
図３は、本発明で最初に行われる通常の認証処理のフローチャートであり、図４は、本発明の一実施例を示す簡易認証処理のフローチャートである。
図３および図４により、クライアント、認証サーバ、サーバとの間の処理シーケンスを説明する。
【００２８】
図３では、ユーザからのサーバ接続要求を受けて(ステップ301)、クライアント111で認証サーバ112に対して通常認証要求を行う(ステップ302)。クライアント111が配布されている証明書を認証サーバ112に送信すると(ステップ303)、認証サーバ112では、証明書を受信した後(ステップ305)、自分が保持している証明書と比較して認証を行う(ステップ306)。一致しなかった場合、認証失敗をクライアント111に通知し、クライアント111との接続を切断する(ステップ317)。
【００２９】
これに対して一致した場合には、クライアント111に認証成功の応答を送信し(ステップ307)、セション鍵を生成する(ステップ309)。認証が成功すると(ステップ308)、クライアント111側では、セション鍵を生成し(ステップ310)、ユーザ情報131としてアドレス、ポート番号、セション鍵、フラグ、コネクション数あるいはコネクション存続時間等の情報を設定し、認証サーバ112に送信する(ステップ311)。そして、ユーザ情報131をリストに追加する(ステップ313)。
【００３０】
なお、当設定の詳細のフローチャートについては図５で説明する。また、図３では、認証処理(ステップ306)を簡単に記載しているが、実際にはさらに乱数のやり取り等の複数のシーケンスが存在するが、それについては図８で後述する。
【００３１】
次に、認証サーバ112側では、受信した前記情報から図６に示すユーザ情報132の設定処理(ステップ312,314)を行い、サーバ113に対してクライアント111からの接続要求を中継する(ステップ315)。サーバ113との通信が終了したならば(ステップ316)、クライアント側と認証サーバ側とで接続断とする(ステップ318,317)。
【００３２】
図８は、図３における通常認証時の認証処理の詳細なシーケンスチャートである。
図３において、クライアント側は配布された証明書を送信した後(ステップ303)、図８に移り、乱数を発生して、その乱数を認証サーバ側に送信する(ステップ801)。認証サーバ側では、受信した乱数を自身が保存している暗号鍵で暗号化し、クライアント側に送信する(ステップ802)。クライアント側では、暗号化したものを受信し(ステップ803)、乱数を復号して(ステップ804)、自身が保存している乱数と復号した乱数とを比較する(ステップ805)。
【００３３】
その結果、一致していれば、暗号化したものを再度、認証サーバ側に送信する(ステップ806)。認証サーバ側では、暗号化したものを受信して(ステップ807)、これと最初にステップ802で暗号化したものとを比較し、一致するとともに、クライアント側から送られた証明書の内容を自身が保存している内容と比較して、一致すれば、認証成功と判断し、認証成功をクライアント側に送信する(ステップ307)。クライアント側では、認証成功を受信すると(ステップ308)、セション鍵を生成して(ステップ310)、以後はセション鍵で暗号化して通信を行う。
【００３４】
次に、図４により本発明における簡易認証処理について説明する。
ユーザからのサーバ接続要求を受けた時(ステップ401)、クライアント111では、接続先のサーバのアドレスとポート番号を前記格納されたユーザ情報131と比較し、一致したならば、この接続先への認証は終わっているものとして、認証サーバ112に簡易認証要求を送信する(ステップ402)。
【００３５】
一方、認証サーバ112は、クライアント111からの簡易認証要求を受信した時(ステップ403)、ユーザ情報確認処理を行う(ステップ404)。当該確認処理の詳細については、図７において後述する。
【００３６】
認証サーバ112では、それが通常認証なのか簡易認証なのかを判別するために、接続元クライアントのアドレスとポート番号を、自身が保持しているユーザ情報132と比較し、一致しなかった場合、認証失敗をクライアント111に通知し、クライアント111との接続を切断する(ステップ418)。
【００３７】
一致した場合には、クライアント111は乱数を発生させ、それをクライアント111が保持しているユーザ情報131のセション鍵で暗号化し(ステップ405)、それら乱数と暗号化された乱数とを認証サーバ112に送信する(ステップ406)。
【００３８】
認証サーバ112はそれを受信した後(ステップ407)、自身が保持しているユーザ情報132のセション鍵で、暗号化されている乱数を復号し(ステップ408)、同時に送られてくる乱数と比較する(ステップ409)。
【００３９】
一致しなければ、認証失敗をクライアント111に通知し、クライアント111との接続を切断する(ステップ418)。一致すれば、認証成功をクライアント111に送信する(ステップ410)。
【００４０】
クライアント111では、認証成功を受信すると(ステップ411)、乱数と暗号化された乱数から新たなセション鍵を生成し(ステップ413)、新たなセション鍵をユーザ情報131に保存する(ステップ415)。
【００４１】
一方、認証サーバ112も、クライアント111と同様にしてセション鍵を生成し(ステップ412)、ユーザ情報132に保存する(ステップ414)。次に、認証サーバ112は、クライアント111からの接続要求をサーバ113に中継する(ステップ416)。サーバ113との通信が終了した時点で(ステップ417)、クライアント側と認証サーバ側との接続を断にする(ステップ419,418)。
【００４２】
以上が、2回目以降に行われる本発明の簡易認証処理である。
図３および図８に示した通常認証処理と、図４に示した本発明の簡易認証処理とを比較すると明らかなように、通常認証では証明書を送受信しているのに対して、簡易認証では証明書は省略して簡易認証要求のみで済むので、通信回数が１回少なくなり、また、通常認証ではクライアント側で乱数を発生して乱数自身の送受信を行い、クライアント側で乱数比較を行うので、乱数の通信回数が３回必要であるのに対して、簡易認証ではクライアント側で乱数を発生するがその暗号化したものを認証サーバに送信して、認証サーバ側で乱数の比較を行うので、通信回数は１回で済み、さらに通常認証ではユーザ情報の有効期限情報を送受信するのに対し、簡易認証ではユーザ情報確認処理（ステップ404)の時点でユーザ情報の有効期限情報を送受信しているので、余分な通信回数は不要となる。
【００４３】
結局、証明書の送信で1回、乱数比較のための送信で2回、ユーザ情報の有効期限の送信で1回の合計4回も通信回数が減少する。その結果、短時間でユーザ認証を行うことができるため、認証サーバのオーバーヘッドも低減される。
【００４４】
また、簡易認証について生成した乱数の暗号化したものを次のセション鍵として使用するため、セキュリティレベルを落とすことなく短時間での認証を実現することが可能である。
【００４５】
図５は、クライアントにおけるユーザ情報設定処理のフローチャートである。
図５により、クライアント111側でユーザ情報131を設定する処理の手順について説明する。
【００４６】
クライアント111が通常認証に成功した場合には、クライアント111から認証サーバ112に対して使用するコネクション数あるいは接続先へのコネクション存続時間のどちらかを申請する(ステップ502、504)。
【００４７】
クライアントが使用するコネクション数を申請した場合、申請した数のコネクションが張られるまでユーザ情報を有効とする(ステップ503)。
【００４８】
また、クライアントが接続先へのコネクション存続時間を申請した場合、当該接続先サーバへのコネクションが張られている間、ユーザ情報を有効とする(ステップ505)。その後、接続先サーバのアドレス、ポート番号、生成されたセション鍵、有効期限をユーザ情報としてリストに追加する(ステップ506)。
【００４９】
図６は、認証サーバにおけるユーザ情報設定処理のフローチャートである。
図６により、認証サーバ112でユーザ情報132を設定する処理手順について説明する。通常認証に成功した場合には、認証サーバ112はクライアント111からユーザ情報有効期限情報を受信し(ステップ601)、送られてきた情報を基にユーザ情報132のコネクション数またはコネクション存続時間のメンバを有効にする(ステップ603、604)。それから、接続元クライアントのアドレス、ポート番号、生成されたセション鍵、有効期限をユーザ情報としてリストに追加する(ステップ605)。
【００５０】
図７は、認証サーバでのユーザ情報確認処理のフローチャートである。
最後に図７により認証サーバ112でのユーザ情報の確認方法について説明する。
【００５１】
簡易認証の場合には、認証サーバ112で以前認証したユーザと接続元が同じかどうかを確認(アドレスとポート番号の存在)した後(ステップ701)、ユーザ情報132の内容が有効期限内であるか否かを確認する必要がある(ステップ702,703,704)。
【００５２】
認証サーバ112では、簡易認証時に有効期限が切れていた場合(ステップ703)、あるいは簡易認証に失敗した場合(ステップ707)、当該ユーザ情報をリストから削除する(ステップ705)。
【００５３】
クライアント111では、簡易認証に失敗した場合、当該ユーザ情報をリストから削除する。
【００５４】
図４に示す簡易認証時のシーケンスチャート、図５に示すクライアントのユーザ情報設定処理のフローチャート、図６に示す認証サーバのユーザ情報設定処理のフローチャート、図７に示すユーザ情報確認処理のフローチャート、図３に示す通常認証時のシーケンスチャート、および図８に示す通常認証時の乱数比較に際してのシーケンスチャートの各動作をプログラムに変換し、変換されたプログラムをＣＤ−ＲＯＭやハードディスク等の記録媒体に格納することにより、それらの記録媒体を通信システム中の任意のサーバやクライアント端末にローディングしてプログラムを実行すれば、本発明を任意の場所で実現することができる。
【図面の簡単な説明】
【００５５】
【図１】本発明が適用されるネットワークシステムの構成図である。
【図２】図１におけるユーザ情報の構成図である。
【図３】通常認証時のクライアントと認証サーバとの間のシーケンスチャートである。
【図４】本発明における簡易認証時のクライアントと認証サーバ間のシーケンスチャートである。
【図５】クライアントにおけるユーザ情報設定処理のフローチャートである。
【図６】認証サーバにおけるユーザ情報設定処理のフローチャートである。
【図７】認証サーバでのユーザ情報確認処理のフローチャートである。
【図８】通常認証時の乱数比較に際しての詳細なシーケンスチャートである。
【符号の説明】
【００５６】
101、102：それぞれ独立したネットワーク、
111：クライアントアプリケーションが動作する計算機、
112：クライアントを認証し、ネットワーク間を中継する計算機、
113：サーバアプリケーションが動作する計算機、
121：認証サーバからクライアントへ配布された証明書、
131：クライアントにおけるユーザ情報、
132：認証サーバにおけるユーザ情報、
201,202,203：ポインタで結合されたユーザ情報のリスト。
【図１】
2005327315.tif 000003
【図２】
2005327315.tif 000004
【図３】
2005327315.tif 000005
【図４】
2005327315.tif 000006
【図５】
2005327315.tif 000007
【図６】
2005327315.tif 000008
【図７】
2005327315.tif 000009
【図８】
2005327315.tif 000010