(57)【要約】【課題】ユーザ認証やセッションの維持に使用する情報が漏洩した場合においても、第３者が正規のユーザに成りすまして不正なアクセスを行うことを抑制することを目的とする。【解決手段】Ｗｅｂクライアントが、Ｗｅｂサーバから当該セッション開始時に通知された第１のセッション情報と、Ｗｅｂサーバから受信したＷｅｂページに格納されている第２のセッション情報とを、Ｗｅｂサーバに送信し、Ｗｅｂサーバが、受信した第１のセッション情報および第２のセッション情報から第１のセッション情報および第２のセッション情報の逆生成手順により検証用情報を生成し、予め記録しておいたセッション維持情報と比較することで当該セッションのユーザを認証するか否かを決定するようにしたユーザ認証方法を提供する。【選択図】  図２
2004280684.tif 000002
【特許請求の範囲】
【請求項１】
ＷｅｂクライアントとＷｅｂサーバが通信して一連の業務を実現するＷｅｂアプリケーションシステムにおけるセッション中のユーザの認証方法であって、
前記Ｗｅｂクライアントが、
前記Ｗｅｂサーバから当該セッション開始時に通知された第１のセッション情報と、前記Ｗｅｂサーバから受信したＷｅｂページに格納されている第２のセッション情報を、前記Ｗｅｂサーバに送信し、
前記Ｗｅｂサーバが、
受信した前記第１のセッション情報および前記第２のセッション情報から、前記第１のセッション情報および前記第２のセッション情報の逆生成手順により検証用情報を生成し、予め記録しておいたセッション維持情報と比較することで、当該セッションのユーザを認証するか否かを決定する、
ことを特徴とするユーザ認証方法。
【請求項２】
請求項１記載のユーザ認証方法であって、
前記Ｗｅｂサーバが、
前記Ｗｅｂクライアントから当該セッションの最初の通信要求により、当該セッションを一意に識別可能なセッション維持情報を生成し、記録する、
ことを特徴とするユーザ認証方法。
【請求項３】
請求項１または２記載のユーザ認証方法であって、
前記Ｗｅｂサーバが、
前記セッション維持情報を暗号化し、２つに分割して、前記第１のセッション情報および前記第２のセッション情報を生成する、
ことを特徴とするユーザ認証方法。
【請求項４】
請求項１から３のいずれかに記載のユーザ認証方法であって、
前記第１のセッション情報が、
Ｗｅｂクライアントが保持するＣｏｏｋｉｅデータに格納されて、当該セッション開始時に前記Ｗｅｂクライアントへ送信されており、
前記第２のセッション情報が、
前記Ｗｅｂクライアントが要求したＷｅｂページに記述されたリンク先のＵＲＬの引数として付加されて、Ｗｅｂページの要求の都度前記Ｗｅｂクライアントへ送信される、
ことを特徴とするユーザ認証方法。
【請求項５】
請求項１から４のいずれかに記載のユーザ認証方法であって、
前記第１のセッション情報が有効期間を有し、
前記Ｗｅｂクライアントは、前記有効期間内においてのみ、第１のセッション情報を前記Ｗｅｂサーバに送信する、
ことを特徴とするユーザ認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットにおいて、複数回のデータのやり取りを行うことで一つの処理を完結する、Ｗｅｂアプリケーションシステムのユーザ認証に関するものである。
【０００２】
【従来の技術】
インターネットの急激な普及により、クライアントマシンに搭載されたＷｅｂブラウザ（以下、ブラウザという）を用いてＷｅｂサーバと複数回のやり取りを行うことで一つの業務を完結する、オンラインショッピングなどに代表されるＷｅｂアプリケーションが多く利用されるようになってきている。
【０００３】
また、企業内の業務アプリケーションにおいても、クライアントマシンへの特別なアプリケーションソフトのインストールが不要であることや、バージョン管理の手間が不要などの利点により、クライアント・サーバ型システムに替わり、Ｗｅｂアプリケーションが利用されることが増えてきている。
【０００４】
これらのＷｅｂアプリケーションにおいては、ユーザＩＤとパスワードなどによりシステムへログインし、Ｗｅｂアプリケーションの正当なユーザであることを認証してから機能を利用することが一般的である。
【０００５】
これらのＷｅｂアプリケーションで使用されるＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｆｅｒ  Ｐｒｏｔｏｃｏｌ）は、要求に対して応答を返すだけで、状態を保持しないプロトコルであり、ＨＴＴＰプロトコルの機能だけでは、セッションを維持できない。
【０００６】
したがって、初回のユーザ認証時に、ユーザ毎に一意に決まる文字列をＷｅｂサーバ側で生成し、この文字列をＷｅｂサーバとブラウザの間で相互に受け渡しながら処理を行うことにより、Ｗｅｂサーバにおいてユーザを判別し、一連のセッションを維持する方法が知られている。
【０００７】
上述の文字列を受け渡す方法としては、ネットスケープ社が提唱し事実上の標準となっているＣｏｏｋｉｅとよばれる仕組みに格納する方法がある（例えば、特許文献１参照。）。
【０００８】
また、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の引数の一部分（Ｑｕｅｒｙ  Ｓｔｒｉｎｇ）に上述の文字列を付加する方法でもある（例えば、特許文献２参照。）。
【０００９】
【特許文献１】
特許第３００３９９７号公報
【特許文献２】
特表２０００−５０８１５３号公報
【００１０】
しかしながら、昨今のソフトウェア製品の高度化・複雑さの増大などの要因によりＷｅｂサーバやブラウザにセキュリティ上の欠陥が生じ、従来においては、Ｃｏｏｋｉｅが第３者に漏洩する危険性が高くなっている。
【００１１】
また、ＵＲＬの引数は、Ｗｅｂサーバのアクセスログに記録されるため、Ｗｅｂサーバが悪意ある第３者に改ざんされ、別のサーバに誘導されて引数に付加した文字列が盗み読まれる可能性も生じてきている。
【００１２】
【発明が解決しようとする課題】
本発明は係る問題を解決するためなされたものであり、ユーザ認証やセッションの維持に使用する情報が漏洩した場合においても、第３者が正規のユーザに成りすまして不正なアクセスを行うことを抑制することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の第１の態様は、ＷｅｂクライアントとＷｅｂサーバが通信して一連の業務を実現するＷｅｂアプリケーションシステムにおけるセッション中のユーザの認証方法において、前記Ｗｅｂクライアントが、前記Ｗｅｂサーバから当該セッション開始時に通知された第１のセッション情報と前記Ｗｅｂサーバから受信したＷｅｂページに格納されている第２のセッション情報を前記Ｗｅｂサーバに送信し、前記Ｗｅｂサーバが、受信した前記第１のセッション情報および前記第２のセッション情報から前記第１のセッション情報および前記第２のセッション情報の逆生成手順により検証用情報を生成し予め記録しておいたセッション維持情報と比較することで当該セッションのユーザを認証するか否かを決定するようにしたものである。
【００１４】
本発明の第２の態様は、上述の第１の態様に係るユーザ認証方法において、前記Ｗｅｂサーバが、前記Ｗｅｂクライアントから当該セッションの最初の通信要求により当該セッションを一意に識別可能なセッション維持情報を生成し記録するようにしたものである。
【００１５】
本発明の第３の態様は、上述の第１または２の態様に係るユーザ認証方法において、前記Ｗｅｂサーバが、前記セッション維持情報を暗号化し２つに分割して前記第１のセッション情報および前記第２のセッション情報を生成するようにしたものである。
【００１６】
本発明の第４の態様は、上述の第１から３の態様に係るユーザ認証方法において、前記第１のセッション情報が、Ｗｅｂクライアントが保持するＣｏｏｋｉｅデータに格納されて当該セッション開始時に前記Ｗｅｂクライアントへ送信されており、前記第２のセッション情報が、前記Ｗｅｂクライアントが要求したＷｅｂページに記述されたリンク先のＵＲＬの引数として付加されてＷｅｂページの要求の都度前記Ｗｅｂクライアントへ送信されるようにしたものである。
【００１７】
本発明の第５の態様は、上述の第１から４の態様に係るユーザ認証方法において、前記第１のセッション情報が有効期間を有し、前記Ｗｅｂクライアントは、前記有効期間内においてのみ第１のセッション情報を前記Ｗｅｂサーバに送信するようにしたものである。
【００１８】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。図１は、本発明の一実施形態に係わるＷｅｂアプリケーションシステムの構成図である。
【００１９】
Ｗｅｂアプリケーションシステムは、Ｗｅｂクライアント１とＷｅｂサーバ２が、ＨＴＴＰにより通信を繰り返して、一連の業務を遂行するものである。
【００２０】
Ｗｅｂクライアント１には、ブラウザ３が動作しており、継続性が必要なデータをＣｏｏｋｉｅ４に保持し、受信したＷｅｂページの中にリンク先のＵＲＬおよびＵＲＬ引数５を備えている。
【００２１】
Ｗｅｂサーバ２は、ＨＴＴＰのリクエスト処理６、セッション情報処理７、レスポンス処理８、ユーザ認証処理９、暗号・復号処理１０、ユーザ情報１１、セッション維持情報１２などを備えている。
【００２２】
図２は、Ｗｅｂクライアン１のブラウザ３と、Ｗｅｂサーバ２のリクエスト処理６、セッション情報処理７、レスポンス処理８間のデータのやり取り、すなわちセッションの様子を表した模式図である。
【００２３】
図３に示す最初のログイン画面において、ブラウザ３から、例えば、ユーザＩＤ「ｕｓｅｒ０１」とパスワード「ｐａｓｓｗｏｒｄＸ」を入力し、ログインの要求を出す。
【００２４】
セッション情報処理７は、入力されたユーザＩＤとパスワードを、ユーザ認証処理９により、予め記録されているユーザ情報１１と照合して、ユーザの認証を行う。
【００２５】
ユーザを認証し、正規のユーザであることが確認できた場合、セッション情報処理７は、以降の「ｕｓｅｒ０１」とのセッション管理に使用するセッション維持情報（対特定ユーザ間のセッションを一意に特定可能な任意の文字列）を生成し、暗号・復号処理１０により暗号化し、ユーザＩＤなどと一緒にセッション維持情報１２へ記録する。
【００２６】
セッション情報処理７は、生成したセッション維持情報を任意の部分で２つに分割し、第１のセッション情報と第２のセッション情報を生成する。セッション維持情報、第１のセッション情報、および第２のセッション情報の例を、図４に示す。
【００２７】
リクエスト処理６は、ログイン後のユーザ「ｕｓｅｒ０１」専用Ｗｅｂページを送信する際に、第１のセッション情報をＣｏｏｋｉｅ４へ格納し、第２のセッション情報を「ｕｓｅｒ０１」専用Ｗｅｂページに記述されているリンク先のＵＲＬのＵＲＬ引数５に付加して、レスポンス処理８を介してブラウザ３へ送信する。引数が付加されたＵＲＬの例を図５に示す。
【００２８】
ユーザが、「ｕｓｅｒ０１」専用Ｗｅｂページ上に表示されたリンク先を指示し、例えば、コンテンツの要求を出した場合、ブラウザ３は、Ｃｏｏｋｉｅ４とＵＲＬ引数５を送信する。
【００２９】
セッション情報処理７は、受信したＣｏｏｋｉｅ４とＵＲＬ引数５を結合し、暗号・復号処理１０により復号化し、セッション維持情報１２と対照することにより、ユーザ「ｕｓｅｒ０１」とのセッションであることを確認し、レスポンス処理８が、次の「ｕｓｅｒ０１」専用Ｗｅｂページを送信して、セッションを回復する。
【００３０】
したがって、ユーザの要求に応じて、動的に専用Ｗｅｂページを生成して送信した場合においても、保持しているＣｏｏｋｉｅ４と当該Ｗｅｂページ内のリンク先ＵＲＬに付加されたＵＲＬ引数５を対にして送信することにより、Ｗｅｂサーバ２は、セッション維持情報を再構成することができる。
【００３１】
【発明の効果】
以上のとおり本発明に係るＷｅｂアプリケーションシステムのユーザ認証方法によれば、Ｗｅｂサーバが各ユーザを特定するセッション維持情報を複数に分割し、その全てが揃わない限りセッションを回復させることがないため、漏洩時のなりすましの危険性を抑制することができる。
【００３２】
第１のセッション情報は、Ｃｏｏｋｉｅによりユーザが保持されており、対となる第２のセッション情報は、当該ユーザの専用Ｗｅｂページに埋め込まれて都度送信されるため、どちらか一方が漏洩したとしても、セッションを回復させることができないため、堅牢性を持ってセッション中のユーザを認証することができる。
【図面の簡単な説明】
【図１】本発明のＷｅｂアプリケーションシステムの構成図である。
【図２】本発明のセッションの動作を示す模式図である。
【図３】本発明のログイン要求の入力例である。
【図４】本発明の生成したセッション維持情報の例である。
【図５】本発明の引数が付加されたＵＲＬの例である。
【符号の説明】
１  Ｗｅｂクライアント
２  Ｗｅｂサーバ
３  ブラウザ
４  Ｃｏｏｋｉｅ
５  ＵＲＬ引数
６  リクエスト処理
７  セッション情報処理
８  レスポンス処理
９  ユーザ認証処理
１０  暗号・復号処理
１１  ユーザ情報
１２  セッション維持情報
【図１】
2004280684.tif 000003
【図２】
2004280684.tif 000004
【図３】
2004280684.tif 000005
【図４】
2004280684.tif 000006
【図５】
2004280684.tif 000007