(57)【要約】【課題】インターネット等の通信ネットワークを介したデータ通信、取引、サービス等の提供を行う際に必要となる認証機能を強化し、中間者攻撃による被害の発生を防止することを目的とする。【解決手段】サーバが送信する通信データにリファラで取得可能な特定のＩＤと、この特定のＩＤと対比可能な非表示ＩＤをセットして、クライアントと通信を行い、クライアントからのリクエストを伴う通信データから当該特定のＩＤと非表示ＩＤの比較を行うことで、認証を行う。具体的には、サーバが送信する通信データにリファラで取得可能なセッションＩＤと、このセッションＩＤと対比可能な非表示ＩＤをｈｉｄｄｅｎフィールドにセットしてクライアントと通信を行い、クライアントからのリクエストを伴う通信データから当該セッションＩＤと非表示ＩＤを読み出して比較を行うことで認証を行う。【選択図】図２
2015007859.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと通信ネットワークで接続された情報処理装置における認証方法であって、
前記情報処理装置のパラメータ生成部が、クライアントに通信データを送信するときに認証に用いるパラメータ値を生成し、
前記情報処理装置の通信データ生成部が、前記パラメータ値をＵＲＬにセッションＩＤとして付加すると共に、クライアントのＷｅｂブラウザ上に表示されない非表示ＩＤとして前記セッションＩＤに対応する値をセットした通信データを作成し、
前記情報処理装置の送受信部が、前記セッションＩＤと前記非表示ＩＤを含む前記通信データを送信し、前記通信データに対する戻り通信データを受信し、
前記情報処理装置の認証部が、前記戻り通信データからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤと非表示ＩＤを比較評価することを特徴とする認証方法。
【請求項２】
前記通信データ生成部が、前記通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットし、
前記認証部が、前記戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより取得することを特徴とする請求項１に記載の認証方法。
【請求項３】
前記通信データ生成部が、前記セッションＩＤと、前記非表示ＩＤとを同一の値としてセットすることを特徴とする請求項１又は請求項２に記載の認証方法。
【請求項４】
前記通信データ生成部は、クライアントとの通信ごとに、前記セッションＩＤ及び／又は非表示ＩＤを異なる値にセットすることを特徴とする請求項１乃至請求項３のいずれか一項に記載の認証方法。
【請求項５】
クライアントと通信ネットワークで接続される情報処理装置であって、
クライアントに通信データを送信するときに認証に用いるパラメータ値を生成するパラメータ生成部と、
前記パラメータ値をＵＲＬにセッションＩＤとして付加すると共に、クライアントのＷｅｂブラウザ上に表示されない非表示ＩＤとして前記セッションＩＤに対応する値をセットした通信データを作成する通信データ生成部と、
前記セッションＩＤと前記非表示ＩＤを含む通信データを送信し、前記通信データに対する戻り通信データを受信する送受信部と、
前記戻り通信データからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤと非表示ＩＤを比較評価する認証部とを有することを特徴とする情報処理装置。
【請求項６】
前記通信データ生成部は、前記通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットし、
前記認証部は、前記戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより取得することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記通信データ生成部は、前記セッションＩＤと、前記非表示ＩＤとを同一の値としてセットすることを特徴とする請求項５又は請求項６に記載の情報処理装置。
【請求項８】
前記通信データ生成部は、クライアントとの通信ごとに、前記セッションＩＤ及び／又は非表示ＩＤを異なる値にセットすることを特徴とする請求項５乃至請求項７のいずれか一項に記載の情報処理装置。
【請求項９】
電気通信回線を通じてクライアントと通信文を送受信する情報処理装置を、
クライアントに通信データを送信するときに認証に用いるパラメータ値を生成するパラメータ生成手段、
前記パラメータ値をＵＲＬにセッションＩＤとして付加すると共に、Ｗｅｂブラウザ上に表示されない非表示ＩＤとして前記セッションＩＤに対応する値をセットした通信データを作成する通信データ生成手段、
前記セッションＩＤと前記非表示ＩＤを含む通信データを送信し、前記通信データに対する戻り通信データを受信する送受信手段、
前記戻り通信データからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤと非表示ＩＤを比較評価する認証手段として機能させることを特徴とする認証プログラム。
【請求項１０】
前記通信データ生成手段は、前記通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットし、
前記認証手段は、前記戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより取得することを特徴とする請求項９に記載の認証プログラム。
【請求項１１】
前記通信データ生成手段は、前記セッションＩＤと、前記非表示ＩＤとを同一の値としてセットすることを特徴とする請求項９又は請求項１０に記載の認証プログラム。
【請求項１２】
前記通信データ生成手段は、クライアントとの通信ごとに、前記セッションＩＤ及び／又は非表示ＩＤを異なる値にセットすることを特徴とする請求項９乃至請求項１１のいずれか一項に記載の認証プログラム。
【請求項１３】
請求項９乃至請求項１２のいずれか一項に記載の認証プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証を行う装置及び方法に係り、例えば、インターネット等の通信ネットワークを介して行われる取引ないしサービスの提供の際に必要とされる認証技術に関する。
【背景技術】
【０００２】
社会生活にインターネットが深く浸透してきたことにより、インターネットの利用者はコンピュータや各種端末装置を用いてウェブサイトにアクセスし、さまざまなサービスを受けることが可能となっている。この中で、通信販売やインターネット・バンキングに代表されるように、金銭の授受やプライバシーに関する情報を含むサービスの提供については、個人認証を必要とするものが数多く存在している。
【０００３】
しかし、インターネットのような通信ネットワークに接続されたコンピュータ等は、利便性の恩恵と引き替えにさまざまな脅威にさらされているのも現実である。例えば、ゲスト側にある利用者の端末と、ホスト側にあるサーバとの通信を盗聴して、ウィルスを仕込んだり、正規のユーザになりすました悪意の第三者が不正な取引を行うといった中間者攻撃は代表的な脅威の一つである。
【０００４】
中間者攻撃には幾つかのパターンが知られている。例えばインターネット上で通信先を詐称するＤＮＳキャッシュポイズニングがある。これは、図５（Ａ）で示すように、悪意の第三者Ｘが、インターネット上でドメインネームサーバ（ＤＮＳ）が保持しているキャッシュの内容を書き換えて、善意のＡが、Ｂへ向けた通信を横取りしてしまうものである。
【０００５】
また図５（Ｂ）で示すように、クロスサイトリクエストフォージェリ（Ｃｒｏｓｓ  Ｓｉｔｅ  Ｒｅｑｕｅｓｔ  Ｆｏｒｇｅｒｉｅｓ；ＣＳＲＦ）という中間者攻撃が知られている。これはインターネットの利用者が、自己の端末装置のＷｅｂブラウザを用いて攻撃者が仕掛けたウェブサイトを閲覧したとき、当該利用者が知らないうちに悪意のあるリンクをクリックさせるように仕向け、その結果、当該利用者が意図しない他のウェブサイトの掲示板等への書き込みや、ショッピングの申し込み、ユーザ登録情報の変更、削除等を知らないうちに行わせてしまう攻撃手法である。
【０００６】
このような中間者攻撃に対し正規の利用者は、Ｗｅｂブラウザを使用するときに、閲覧先のサイトに危険な罠が仕掛けられているかどうか、その都度調べて回避することは実質的に不可能である。仮にそのような罠に引っかかってしまうと、利用者がしらないうちに不正なリクエストが実行されてしまうので、非常に厄介なものとなっている。
【０００７】
通常の場合でも、インターネットを介した取引やサービスの提供の安全を確保するために、サーバ側で正規の利用者を選別する作業が行われている。利用者があるＷｅｂサイトにアクセスして、サービスの提供を受けるには、ユーザＩＤやパスワードを入力することが要求され、サーバ側は入力されたユーザＩＤやパスワードを照合して、利用者を管理する手法がとられている。例えば、利用者からアクセス要求されたＵＲＬから取得した日付情報と、ユーザＩＤ及びパスワードに関する情報を加味して、正規の利用者のみログインできるような手法が考えられている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１６３５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、中間者攻撃に対応するために、ログイン時における認証機能を強化しようとすると、サービスを提供する側にとってはサーバ等のシステム管理の負担が増大し、利用者にとっては数多くのパスワードや、個人情報を開示しなければならないといった煩雑さが増すこととなる。また、ユーザＩＤやパスワードは解読されてしまう場合があり、個人情報は事業者のデータベースから流出する事故も起こりえるので、必ずしも安全が保証されているわけではない。
【００１０】
そこで、本発明の一実施形態は、インターネット等の通信ネットワークを介したデータ通信、取引、サービス等の提供を行う際に必要となる認証機能を強化し、中間者攻撃による被害の発生を防止することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態は、クライアントと通信ネットワークで接続された情報処理装置（サーバ）における認証方法であって、当該情報処理装置のパラメータ生成部がクライアントに通信データを送信するときに所定のパラメータ値を生成し、通信データ生成部がＵＲＬに当該パラメータ値をセッションＩＤとして付加すると共にクライアントのＷｅｂブラウザ上に表示されない非表示ＩＤとしてセッションＩＤに対応する値をセットした通信データを作成し、送受信部がセッションＩＤと非表示ＩＤを含む通信データを送信し、通信データに対する戻り通信データ（戻り電文）を受信したときに、認証部が戻り通信データのセッションＩＤの値と非表示ＩＤの値を取得し、取得された戻り通信データのセッションＩＤの値と非表示ＩＤの値とを比較評価する方法である。
【００１２】
この認証方法によれば、通信データにセッションＩＤと非表示ＩＤを含ませておき、クライアント側からの戻り通信データ（戻り電文）からセッションＩＤの値と非表示ＩＤの値とを読み出して、両者を比較評価することにより、情報処理装置（サーバ）側で容易に、かつ確実に認証作業を行うことができる。
【００１３】
この認証方法の別の好ましい態様として、通信データ生成部が通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットしておき、認証部が戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドから取得するようにしてもよい。また、通信データ生成部がセッションＩＤと非表示ＩＤとを同一の値としてセットするようにしてもよい。
【００１４】
このように、サーバが備えるリファラとｈｉｄｄｅｎの機能を活用することで、特別な作り込みをしなくても、クライアントからのリクエストが不正なものであるか否かの認証を行うことができる。また、セッションＩＤと非表示ＩＤとを同一の値とすることで、クライアントからのリクエストが不正であるか否かの認証を、簡便かつ確実に行うことができる。
【００１５】
この認証方法の別の態様として、通信データ生成部は、クライアントとの通信ごとにセッションＩＤ及び／又は非表示ＩＤを異なる値にセットすることが好ましい。セッションＩＤと非表示ＩＤの一方又は双方を、クライアントとの通信ごとに異なる値とすることでＩＤが解読されにくくなり、認証の信頼性を高めることができる。
【００１６】
本発明の一実施形態は、クライアントに通信データを送信するときに所定のパラメータ値を生成するパラメータ生成部と、ＵＲＬに当該パラメータ値をセッションＩＤとして付加すると共にクライアントのＷｅｂブラウザ上に表示されない非表示ＩＤとしてセッションＩＤに対応する値をセットした通信データを作成する通信データ生成部と、セッションＩＤと非表示ＩＤを含む通信データを送信し、通信データに対する戻り通信データを受信する送受信部と、戻り通信データからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤの値と非表示ＩＤの値とを比較評価する認証部とを有する情報処理装置（サーバ）である。
【００１７】
この情報処理装置によれば、通信データ生成部において、通信データのＵＲＬに所定のパラメータ値をセッションＩＤとして付加すると共に、通信データにクライアントのＷｅｂブラウザ上に表示されない非表示ＩＤをセットし、認証部において当該セッションＩＤと非表示ＩＤを読み出して比較評価することにより、情報処理装置（サーバ）側で容易に認証を行うことができる。
【００１８】
この情報処理装置の別の好ましい態様として、通信データ生成部は通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットし、認証部は戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより取得する機能を有していてもよい。また、通信データ生成部は、セッションＩＤと非表示ＩＤとを同一の値としてセットする機能を有していてもよい。
【００１９】
通信データにおける非表示ＩＤをｈｉｄｄｅｎフィールドにセットしておき、戻り通信データ（戻り電文）のセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより読み出して、この両ＩＤの値を比較することで、クライアントからのリクエストが不正なものであるか否かの認証を行うことができる。セッションＩＤと非表示ＩＤとを同一の値とすることで、クライアントからのリクエストが不正であるか否かの認証を、簡便かつ確実に行うことができる。
【００２０】
この情報処理装置の別の態様として、通信データ生成部は、クライアントとの通信ごとにセッションＩＤ及び／又は非表示ＩＤを異なる値にセットする機能を有していることが好ましい。セッションＩＤと非表示ＩＤの一方又は双方を、クライアントとの通信ごとに異なる値とすることでＩＤが解読されにくくなり、認証の信頼性を高めることができる。
【００２１】
本発明の一実施形態は、電気通信回線を通じてクライアントと通信文を送受信する情報処理装置を、クライアントに通信データを送信するときに所定のパラメータ値を生成するパラメータ生成手段、ＵＲＬに当該パラメータ値をセッションＩＤとして付加すると共にブラウザ上に表示されない非表示ＩＤとしてセッションＩＤに対応する値をセットした通信データを作成する通信データ生成手段、セッションＩＤと非表示ＩＤを含む通信データを送信し、通信データに対する戻り通信データを受信する送受信手段、戻り通信データのリファラからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤの値と非表示ＩＤの値とを比較評価する認証手段として機能させるための認証プログラムである。
【００２２】
この認証プログラムによれば、情報処理装置（サーバ）に認証機能を持たせることができる。その認証機能は、通信データのＵＲＬに付加されるセッションＩＤと、クライアントのＷｅｂブラウザ上に表示されない非表示ＩＤを、クライアント側からの通信データ（戻り電文）から読み出して比較評価するものであるため、情報処理装置（サーバ）の認証機能を高めることができる。
【００２３】
別の好ましい態様として、この認証プログラムは、通信データにセットする非表示ＩＤをｈｉｄｄｅｎフィールドにセットし、戻り通信データのセッションＩＤをリファラから取得し、非表示ＩＤをｈｉｄｄｅｎフィールドより取得する機能を情報処理装置（サーバ）に付加するものであってもよい。この場合において、セッションＩＤと非表示ＩＤとを同一の値としてセットするようにしてもよい。
【００２４】
別の態様として、通信データ生成手段は、クライアントとの通信ごとにセッションＩＤ及び／又は非表示ＩＤを異なる値にセットする機能を有していることが好ましい。セッションＩＤと非表示ＩＤの一方又は双方を、クライアントとの通信ごとに異なる値とすることでＩＤが解読されにくくなり、認証の信頼性を高めることができる。
【００２５】
また、本発明の一実施形態は、このような認証プログラムが記録されたコンピュータ読み取り可能な記録媒体であってもよい。
【発明の効果】
【００２６】
本発明の一実施形態によれば、サーバ側において所定のパラメータ値を生成し、このパラメータ値を、通信データのＵＲＬに付加することのできるセッションＩＤとして設定し、Ｗｅｂブラウザ上では視認できない非表示ＩＤと関連付けて認証を行うことにより、クライアントからのリクエストが正規のものであるか、不正なものであるかの認証を容易に行うことができる。
【００２７】
すなわち、サーバが送信する通信データにリファラで取得可能な特定ＩＤと、この特定ＩＤと対比可能な非表示ＩＤをセットして、クライアントと通信を行い、クライアントからのリクエストを伴う通信データから当該特定ＩＤと非表示ＩＤの比較を行うことで、特別な作り込みをしなくても、認証を簡便かつ確実に行うことができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る情報処理装置（サーバ）の機能を説明するブロック図。
【図２】サーバとしての機能を有する情報処理装置と、クライアントとの間における通信データの関係を示す図。
【図３】本発明の一実施形態に係る認証方法を説明するフローチャート。
【図４】本発明の一実施形態に係る認証方法を説明するフローチャート。
【図５】中間者攻撃の態様を説明する模式図。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施形態の記載内容に限定して解釈されるものではない。
【００３０】
なお、以下に説明する発明の内容について、同一部分又は同様な機能を有する部分については同一の符号を異なる図面間で共通して用い、その場合において特段の事情が無い限り繰り返しの説明は省略する。
【００３１】
＜認証を行う情報処理装置（サーバ）の機能について＞
本実施の形態では、インターネットを用いたクライアントとサーバとの間の通信における認証機能を強化し、中間者攻撃を防止することを目的とする情報処理装置（サーバ）の一態様について例示する。
【００３２】
図１は、本発明の一実施形態に係る情報処理装置１０２が有する機能をブロック図で示す。図１で例示する情報処理装置１０２は、クライアント（利用者）１０２と通信ネットワーク１１２で接続されており、サーバとしての機能を有するものである。クライアント１１４は、パーソナルコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、あるいはテレビ装置等の通信ネットワークに接続可能な電子機器によって構成され、ＨＴＴＰ等に基づきサーバと通信してリソースを取得する機能を有している。
【００３３】
情報処理装置１０２は、パラメータ生成部１０４、通信データ生成部１０６、認証部１１０、送受信部１０８を含んで構成されている。パラメータ生成部１０４は、クライアント１１４に通信データを送信するときに使用されるセッションＩＤ（ユニークキー）に使用するパラメータを生成する。パラメータの値は、ランダムで推測が困難なユニークな値とすることが好ましく、テキストデータにすると、複数の文字、記号、数字等を組み合わせた任意の長さの文字列として表すことができる。
【００３４】
通信データ生成部１０６は、クライアント１１４のＷｅｂブラウザに表示させるＵＲＬ、通信文、アイコン、画像データ等を生成する。例えば、ＧＥＴメソッド利用時には、ＵＲＬにパラメータ生成部１０４で生成したパラメータ値をセッションＩＤとして付加した通信データを作成する。そしてこの通信データに、クライアント１１４のＷｅｂブラウザの画面に表示されない非表示ＩＤとして、セッションＩＤに対応する値をセットする。非表示ＩＤは、例えば、ｈｉｄｄｅｎフィールドにセッションＩＤと同じ値を隠しパラメータとしてセットすることができる。
【００３５】
送受信部１０８は、通信データ生成部１０６で作成された通信データを、通信ネットワーク１１２を介してクライアント１１４に送信する。また、送受信部１０８は、クライアント１１４側から返信された通信データ（戻り通信データ）を受信する。
【００３６】
認証部１１０は、クライアント１１４側から送られてきた通信データ（戻り電文）に対し、リファラで取得したセッションＩＤの値と、通信データ（戻り電文）に含まれる非表示ＩＤを読み出して、その両者の値を比較評価することで認証を行う。非表示ＩＤがｈｉｄｄｅｎフィールドに書き込まれている場合には、クライアントから返信された通信データ（戻り電文）のｈｉｄｄｅｎフィールドの値を読み出し、その値とリファラから取得したセッションＩＤの値とを比較する。そして、リファラから取得したセッションＩＤの値と、非表示ＩＤの値（ｈｉｄｄｅｎパラメータ）を比較して、同一性ないし関連性が確認される場合には適正なリクエストがなされていると判断し、不一致ないし関連性が確認されない場合には不適正なリクエストがなされていると判断する。
【００３７】
図２は、サーバとしての機能を有する情報処理装置１０２と、クライアント１１４との間における通信データの関係を示す。図２で示す一例では、“ＡＢＣ１２３”というパラメータ値をＵＲＬにセッションＩＤとして付加し、同じパラメータ値を非表示ＩＤとしてもセットしている。非表示ＩＤはｈｉｄｄｅｎオブジェクトによって、ｈｉｄｄｅｎフィールドにセットする。そして、クライアント１１４のＷｅｂブラウザ上に表示され得るセッションＩＤと、Ｗｅｂブラウザの画面には表示されない非表示ＩＤを通信データとして送信する。
【００３８】
情報処理装置１０２で行われる認証は、クライアント１１４から返信されてくる通信データ（戻り電文）から特定の情報を読み出して行う。クライアント１１４から返信される通信データ（戻り電文）には、セッションＩＤに相当する部分と非表示ＩＤに相当する情報が含まれている。セッションＩＤの値はリファラで読み出し可能であり、非表示ＩＤはｈｉｄｄｅｎフィールドから読み出される値である。
【００３９】
認証は、クライアント１１４から返信される通信データ（戻り電文）から取得したセッションＩＤの値と非表示ＩＤの値を比較評価する。例えば、通信データの送信時に、セッションＩＤと非表示ＩＤに同じ値をセットした場合には、返信された通信データから読み出されたセッションＩＤと非表示ＩＤを比較評価する。
【００４０】
サーバである情報処理装置とクライアントとの間における通常の送受信では、セッションＩＤの値と非表示ＩＤの値は変化しないため、この両者の同一性ないし関連性が確認されれば、サーバ側では正常なリクエストがなされていると判断することができる。
【００４１】
一方、クロスサイトリクエストフォージェリ（ＣＳＲＦ）攻撃が介在している場合には、ｈｉｄｄｅｎパラメータがクリアーされるため、セッションＩＤの値と非表示ＩＤの値は一致しないものとなる。ＣＳＲＦ攻撃時は、クライアント１１４からＣＳＲＦ攻撃者が用意した任意のＨＴＴＰリクエストが送信させられる。このとき、通信データ生成部１０６でセットされたｈｉｄｄｅｎパラメータと同一のパラメーをセットできないため、ＣＳＲＦ攻撃者により発信した通信データのｈｉｄｄｅｎパラメータは空（ｎｕｌｌ）、またはサーバ側でセットされた非表示ＩＤと異なる値がセットされていることになる。ＣＳＲＦ攻撃者は、リファラとｈｉｄｄｅｎの機能を使って毎回、正当な電文と認識するために参照していることを一般には知り得ないため、この認証方式はきわめて有効に作用する。つまり攻撃者が、ＵＲＬにセットされるセッションＩＤと、ｈｉｄｄｅｎフィールドにセットされる非表示ＩＤとを認識して悪意のあるリクエストを行わなければ、当該リクエストは無効となるので、攻撃難易度はより高まるものとなる。
【００４２】
このように、本実施の形態に係る情報処理装置１０２は、ＵＲＬにセットしたセッションＩＤと、ｈｉｄｄｅｎフィールドにセットした非表示ＩＤを比較評価することにより簡便で確実な認証を行うことができる。ＵＲＬにセットしたセッションＩＤは、クライアントが返信した通信データ（戻り電文）のリファラを参照することにより取得可能であり、特別な作り込みを必要としない。リファラは遷移元のＵＲＬの参照を本来の目的とするものであるが、ＵＲＬにＧＥＴメソッドのパラメータ値もセットできるために、セッションＩＤを付加する際にも特別なコーディングが不要となる。すなわち、本実施形態は、リファラ本来の目的（遷移元のＵＲＬの参照）を、異なる用途として活用することで、セッションＩＤを記憶する特別な記憶領域をサーバに確保する必要がなく、簡便に、しかも確実に不正リクエストを排除することができる。
【００４３】
このように、ＵＲＬに付加したセッションＩＤと同じ値をｈｉｄｄｅｎフィールドに非表示ＩＤとしてセットすることにより、認証段階では、サーバ側でリファラとｈｉｄｄｅｎの機能を使って両者のパラメータを比較することのみで、中間者攻撃の有無を確認することが可能となる。この認証方式は、サーバ側で、クライアント側から送られてくる通信データを受信する毎に、どのセッションＩＤがセットされているのかを管理することが不要となるので、クライアント側から送られてくる通信データが増大しても、サーバの負荷が増大することなく対応することができる。
【００４４】
本実施形態によれば、サーバが送信する通信データにリファラで取得可能な特定のＩＤと、この特定のＩＤと対比可能な非表示ＩＤをセットして、クライアントと通信を行い、クライアントからのリクエストを伴う通信データから当該特定のＩＤと非表示ＩＤの比較を行うことで、認証を行うことができる。
【００４５】
＜認証方法について＞
次に、本発明の一実施形態に係る認証方法を、図３のフローチャートを参照して説明する。図３で示すフローチャートは、図１で示すサーバとしての機能を有する情報処理装置１０２でなされる一連の処理を示す。
【００４６】
まず、所定のパラメータ値をパラメータ生成部１０４で生成する（Ｓ２０１）。所定のパラメータ値は、ランダムで推測が困難なユニークな値とすることが好ましく、テキストデータにすると、複数の文字、記号、数字等を組み合わせた任意の長さの文字列として表すことができるものとなる。なお、このパラメータ値の生成は、クライアントからサーバに所定のリクエストがあったときに生成される。
【００４７】
生成されたパラメータ値は、通信データに視覚的に視認されない非表示ＩＤとしてセットされる（Ｓ２０２）。この処理は、情報処理装置１０２の通信データ生成部１０６が、パラメータ生成部１０４からパラメータ値を取得して、その値を非表示ＩＤとしてセットする。例えば、ｈｉｄｄｅｎフィールドにパラメータ値を非表示ＩＤとしてセットする。
【００４８】
このパラメータ値は、通信データにおいて、クライアントのＷｅｂブラウザの画面に表示させるセッションＩＤとしてセットする（Ｓ２０３）。例えば、ＧＥＴメソッド利用時には、ＵＲＬの後ろにパラメータ生成部１０４で生成したパラメータ値をセッションＩＤとして付加した通信データを作成する。
【００４９】
このようなセッションＩＤと非表示ＩＤを含む通信データが作成されると、送受信部１０８はクライアントに通信データを送信する（Ｓ２０４）。そして、送受信部１０８はクライアント側から送信された通信データ（戻り電文）を受信する（Ｓ２０５）。
【００５０】
認証部１１０は、受信した通信データ（戻り電文）から非表示ＩＤを取得する（Ｓ２０６）。例えば、ｈｉｄｄｅｎフィールドより読み出されるパラメータ値を非表示ＩＤとして取得する。そして取得した値を保持する（Ａ＝ｈｉｄｄｅｎパラメータの値）。このとき受信した通信データ（戻り電文）が正規のものであれば、ｈｉｄｄｅｎパラメータの値は送信前にセットした非表示ＩＤと同じ値となる。
【００５１】
非表示ＩＤとして、セッションＩＤと同じ値を書き込んだのであれば、そのセッションＩＤと同じ値がｈｉｄｄｅｎフィールドより読み出されることとなる。一方、中間者攻撃が介在している場合には、上記で説明したように、ｈｉｄｄｅｎフィールドより読み出される値が異なるものとなる。
【００５２】
また、認証部１１０は、ＵＲＬのリファラよりセッションＩＤの値を取得する（Ｓ２０７）。そして取得した値を保持する（Ｂ＝セッションＩＤの値）。
【００５３】
次いで、認証部１１０は、ｈｉｄｄｅｎフィールドより読み出された非表示ＩＤの値（Ａ）と、リファラで取得したセッションＩＤの値（Ｂ）を対比して認証を行う（Ｓ２０８）。セッションＩＤと非表示ＩＤの対比は、両者の値が同一であるか否かを判断するものであってもよいし、両者の値を使って何らかの演算処理をし、特定の結果が得られるか否かによって判断してもよい。また、セッションＩＤと非表示ＩＤの一方若しくは双方が暗号化されており、暗号キーを用いて解読可能なものであってもよい。
【００５４】
例えば、セッションＩＤと非表示ＩＤに同一のパラメータをセットした場合には、ｈｉｄｄｅｎフィールドで読み出された非表示ＩＤの値（Ａ）と、リファラで得られたセッションＩＤの値（Ｂ）が一致すれば、サーバとクライアントとの間の通信が正常のものであると判断することができる。
【００５５】
一方、中間者攻撃が介在している場合には、ｈｉｄｄｅｎフィールドから読み出された値（Ａ）が、送信前の値と異なっているので、ＡとＢの値は一致しないものとなる。すなわち、受信した通信データ（戻り電文）から取得した非表示ＩＤに値（Ａ）とセッションＩＤの値（Ｂ）とを比較評価することにより、適正なリクエストであるか、不正なリクエストであるかを判別することができる。
【００５６】
そして判定の結果、ｈｉｄｄｅｎフィールドから読み出された非表示ＩＤの値（Ａ）と、リファラで得られたセッションＩＤの値（Ｂ）の同一性ないし関連性が確認された場合には適正なリクエストがされたものとして認証処理が終了する（Ｓ２０９）。一方、ＡとＢの値が不一致の場合には不正なリクエストであるとして、認証処理を終了する（Ｓ２１０）。
【００５７】
以上において、ＵＲＬにセットしたセッションＩＤとｈｉｄｄｅｎフィールドに埋め込んだ非表示ＩＤは、いずれもサーバ側で読み出し可能であるので、認証を行う際にも特別な作り込みを必要とならない。
【００５８】
また、この認証方法は、クライアント側から送信されてくる通信データ（戻り電文）を参照すれば済むので、サーバにセッションＩＤを記憶させる記憶領域を確保する必要がない。セッションＩＤはその場限りで使うものであるので、サーバ側では煩雑なＩＤ管理を必要とせずにクライアントのリクエストを認証することができる。
【００５９】
本実施形態に係る認証方法によれば、リファラの機能を本来の目的（遷移元のＵＲＬの参照）と異なる用途で活用することで、きわめて簡便に、かつ確実に認証処理を行うことができる。
【００６０】
なお、認証処理において、不正なリクエストが疑われる場合には、クライアントの安全を確保しつつ便宜を図るために、追加認証を行ってもよい。その一例を、図４を参照して説明する。
【００６１】
認証部１１０は、ｈｉｄｄｅｎフィールドより読み出された値（Ａ）と、リファラで得られたセッションＩＤの値（Ｂ）を比較した段階で（Ｓ２０８）、不正リクエストが疑われた場合、追加認証案内ＵＲＬ付きメールをクライアントに送信する（Ｓ２１１）。
【００６２】
追加認証案内ＵＲＬ付きメールを受信したクライアントは、当該メールの記載内容を確認して、必要があれば当該メールに表示されたＵＲＬをクリックしてログイン処理ないしパスワード認証を行う（Ｓ２１２）。この場合、クライアントは、サーバ側で管理されているパスワードや個人情報を活用して、サーバのサービスリクエストにアクセスする。
【００６３】
そして、正規のクライアントであるか否かを判断する（Ｓ２１３）。正規のクライアントであると判断された場合には、リクエストを受理するものとして認証処理を終了させる（Ｓ２０９）。一方、クライアントから返信がない場合、またはログイン処理ないしパスワード認証等が適正に行われない場合には、リクエストの受付を中止させて認証処理を終了する（Ｓ２１０）。
【００６４】
このように、リファラを用いた認証処理と、クライアントが行う認証処理とを組み合わせることにより、より確実に認証処理を行うことができる。
【００６５】
＜認証プログラムについて＞
図３を参照して説明した認証方法を実行するプログラムは、インターネット等の通信回線を通じてクライアントと通信文を送受信する情報処理装置を、クライアントに通信データを送信するときに認証に用いるパラメータ値を生成するパラメータ生成手段、パラメータ値をＵＲＬにセッションＩＤとして付加すると共に、Ｗｅｂブラウザ上に表示されない非表示ＩＤとしてセッションＩＤに対応する値をセットした通信データを作成する通信データ生成手段、セッションＩＤと非表示ＩＤを含む通信データを送信し、通信データに対する戻り通信データを受信する送受信手段、戻り通信データからセッションＩＤと非表示ＩＤを取得し、取得された戻り通信データのセッションＩＤと非表示ＩＤを比較評価する認証手段として機能させることができる。
【００６６】
＜パラメータの設置方法について＞
本実施形態では、所定のパラメータ値を生成し、それをＵＲＬにセッションＩＤとしてセット（ＨＴＴＰヘッダーにリファラとしてセット）し、かつｈｉｄｄｅｎフィールドに非表示ＩＤを埋め込んでおく方式について例示したが、非表示ＩＤに相当する認証用のＩＤは、Ｃｏｏｋｉｅの機能を使ってセットするようにしてもよい。また、ＴＣＰ／ＩＰヘッダー、ＩＰヘッダー、ＨＴＴＰヘッダーの任意のエリアに認証用のＩＤをセットするようにしてもよい。これらのヘッダーの任意のエリアに任意の長さのＩＤ値をセットしておくことで、認証用のＩＤの解読を困難にすることができる。また、リファラで参照されるセッションＩＤとｈｉｄｄｅｎフィールドにセットされる非表示ＩＤに加え、Ｃｏｏｋｉｅや前記の各種ヘッダーにセットされる認証用のＩＤを組み合わせて認証を行うようにしてもよい。いずれにしても、リファラによって取得されるセッションＩＤの値と、これに対応する認証用のＩＤの少なくとも２つのＩＤを通信データ（戻り電文）から読み出して比較評価することで、簡便にかつ確実に認証を行うことができる。
【００６７】
なお、セッションＩＤと非表示ＩＤの一方又は双方の値は、クライアントとの通信ごとに（リクエストがされるごとに）異なるように変更してもよい。例えば、クライアントとの通信１回ごとにセッションＩＤと非表示ＩＤの一方又は双方の値を異ならせることで、サーバの管理者以外の者に対しては認証用ＩＤの値の解読性が低下するので好ましいものとなる。
【００６８】
以上のように、本発明の一実施形態によれば、サーバが送信する通信データにリファラで取得可能な特定ＩＤと、この特定ＩＤと対比可能な非表示ＩＤをセットして、クライアントと通信を行い、クライアントからのリクエストがあったとき、その通信データから当該特定ＩＤと非表示ＩＤを取得し比較を行うことで、簡便に、かつ確実に認証を行うことができる。
【符号の説明】
【００６９】
１０２  情報処理装置（サーバ）
１０４  パラメータ生成部
１０６  通信データ生成部
１０８  送受信部
１１０  認証部
１１２  通信ネットワーク
１１４  クライアント
【図１】
2015007859.tif 000003
【図２】
2015007859.tif 000004
【図３】
2015007859.tif 000005
【図４】
2015007859.tif 000006
【図５】
2015007859.tif 000007