(57)【特許請求の範囲】
【請求項１】
情報処理装置が、クライアント装置から受信したセッションの認証要求に応答して、認証に成功した場合に、前記セッションに関連するデータを生成するとともに当該データを含む前記認証に関するクッキーを生成し、前記クッキーと前記データとを前記クライアント装置に送信する送信工程と、
前記情報処理装置が、前記クライアント装置から、前記データがクエリパラメータとして付与されるＨＴＴＰリクエストと前記クッキーとを受信する受信工程と、
前記情報処理装置が、前記ＨＴＴＰリクエストが前記ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証データを付与しないコンテンツの送信要求である場合、前記クッキーに含まれる前記データと、前記クエリパラメータとして付与される前記データとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する提供工程とを有し、
前記送信工程は、前記データを暗号化し、前記暗号化したデータを含むクッキーを送信する工程を含み、
前記提供工程は、前記クッキーに含まれる前記データを復号する工程と、前記クエリパラメータとして付与される前記データと前記復号したデータとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する工程と、を有するサービス提供方法。
【請求項２】
請求項１において、
前記送信工程は、前記データに加えて、さらに、前記情報処理装置が提供するサービス上の権限情報を含む認証トークンを含むクッキーを生成し、
前記提供工程は、前記クッキーに含まれる前記データと、前記クエリパラメータとして付与される前記データとが一致する場合に、前記クッキーに含まれる前記認証トークンの権限情報に基づいて、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供するサービス提供方法。
【請求項３】
請求項２において、
前記送信工程は、前記データ及び前記認証トークンを暗号化し、前記暗号化したデータと前記暗号化した認証トークンとを含むクッキーを送信する工程を含み、
前記提供工程は、前記クッキーに含まれる前記データと前記認証トークンとを復号する工程と、前記クエリパラメータとして付与される前記データと、前記復号したデータとが一致する場合に、前記復号した認証トークンの権限情報に基づいて、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する工程と、を有するサービス提供方法。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記送信工程で生成するデータは、数字、文字のいずれかまたは両方をランダムに有するデータであることを特徴とするサービス提供方法。
【請求項５】
請求項１乃至４のいずれかにおいて、さらに、
前記クライアント装置が実行するウェブブラウザが、前記クッキーを当該ウェブブラウザがアクセスする第１のメモリ領域に格納するとともに、前記ウェブブラウザを介して動作し前記認証要求を送信したアプリケーションが、前記受信したデータを当該アプリケーションによって使用され、かつ、前記アプリケーションの終了に応じて解放される第２のメモリ領域に格納する格納工程と、を有するサービス提供方法。
【請求項６】
請求項１において、
前記コンテンツの送信要求は、ＨＴＭＬタグに基づく要求であるサービス提供方法。
【請求項７】
情報処理装置と接続するクライアント装置が実行するウェブブラウザを介して動作するアプリケーションが前記情報処理装置に送信した認証要求に応答して、セッションに関連するデータを含む前記認証要求に関するクッキーと前記データとを前記情報処理装置から受信する受信工程と、
前記ウェブブラウザが、前記受信したクッキーを当該ウェブブラウザがアクセスする第１のメモリ領域に格納するとともに、前記認証要求を送信したアプリケーションが、前記受信したデータを当該アプリケーションによって使用され、かつ、前記アプリケーションの終了に応じて解放される第２のメモリ領域に格納する格納工程と、
前記ウェブブラウザは、前記データをクエリパラメータとして付与した、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証データを付与しない形式のコンテンツの送信要求である前記ＨＴＴＰリクエストを、前記クッキーとともに前記情報処理装置に送信する送信工程とを有し、
前記受信工程は、前記データを暗号化し、前記暗号化したデータを含むクッキーを受信する工程を含み、
前記情報処理装置は、クッキーに含まれる前記データを復号し、前記クエリパラメータとして付与される前記データと前記復号したデータとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する
サービス要求方法。
【請求項８】
プロセッサと、
サービス要求の対象となる情報を記憶するメモリと、を有し、
前記プロセッサは、クライアント装置から受信したセッションの認証要求に応答して、認証に成功した場合に、前記セッションに関連するデータを生成するとともに当該データを含む前記認証に関するクッキーを生成し、前記クッキーと前記データとを前記クライアント装置に送信し、前記クライアント装置から、前記データがクエリパラメータとして付与されるＨＴＴＰリクエストと前記クッキーとを受信し、前記ＨＴＴＰリクエストが前記ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証データを付与しないコンテンツの送信要求である場合、前記受信したクッキーに含まれる前記データと、前記クエリパラメータとして付与される前記データとが一致する場合に、前記メモリに記憶される情報を対象とする前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供するとともに、
前記データを暗号化し、前記暗号化したデータを含むクッキーを送信し、前記クッキーに含まれる前記データを復号する工程と、前記クエリパラメータとして付与される前記データと前記復号したデータとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する情報処理装置。
【請求項９】
プロセッサと、
ウェブブラウザがアクセスする第１のメモリ領域と、前記ウェブブラウザを介して動作するアプリケーションによって使用され、かつ、前記アプリケーションの終了に応じて解放される第２のメモリ領域とを備えるメモリと、を有し、
前記プロセッサは、前記アプリケーションが情報処理装置に送信した認証要求に応答して、前記セッションに関連するデータを含む前記認証に関するクッキーと前記データとを前記情報処理装置から受信し、前記受信したクッキーを前記第１のメモリ領域に格納するとともに、前記受信したデータを前記アプリケーションの前記第２のメモリ領域に格納し、前記データをクエリパラメータとして付与した、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証データを付与しない形式のコンテンツの送信要求であるＨＴＴＰリクエストを、前記クッキーとともに前記情報処理装置に送信し、前記データを暗号化し、前記暗号化したデータを含むクッキーを受信し、
前記情報処理装置は、前記クッキーに含まれる前記データを復号し、前記クエリパラメータとして付与される前記データと前記復号したデータとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供するクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供方法、サービス要求方法、情報処理装置、及び、クライアント装置に関する。
【背景技術】
【０００２】
ＳａａＳ（Software  as  a  Service）は、ユーザにアプリケーション（アプリとも称する）などのソフトウエアの機能を提供するサービスである。ＳａａＳ上でのサービスに、利用者データ記憶部の利用サービスを提供することで、個人や法人が利用する様々なアプリのデータを集約することができる。利用者データ記憶部はアクセス制限機能を有し、例えば、認証Ｃｏｏｋｉｅや認証トークンに基づいたアクセス制御が行われる。【０００３】
認証Ｃｏｏｋｉｅを利用する場合、サーバは、クライアントによるユーザ認証に成功した場合に認証Ｃｏｏｋｉｅをクライアントに送信する。クライアントは、利用者データ記憶部へのアクセスを示すサービス要求に認証Ｃｏｏｋｉｅを付与してサーバに送信する。サーバは認証Ｃｏｏｋｉｅに基づいて、利用者データ記憶部へのアクセス許可を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３１０５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特定のプログラムについて認証が成功した場合に、サーバが認証Ｃｏｏｋｉｅを発行し、発行した認証Ｃｏｏｋｉｅと同じ認証Ｃｏｏｋｉｅがクライアントから取得できたか否かでそのクライアントのアクセス可否を判定すると、そのクライアント上で同一のＷｅｂブラウザを利用する他のプログラムも発行された認証Ｃｏｏｋｉｅを利用し、サーバの利用者データ記憶部へ不正にアクセスできてしまうという問題がある。【０００６】
１つの側面は、本発明は、不正アクセスの抑制を図ったサービス提供方法、サービス要求方法、情報処理装置、及び、クライアント装置を提供する。
【課題を解決するための手段】
【０００７】
第１の側面によれば、サービス提供方法は、情報処理装置が、クライアント装置から受信したセッションの認証要求に応答して、認証に成功した場合に、前記セッションに関連するデータを生成するとともに当該データを含む前記認証に関するクッキーを生成し、前記クッキーと前記データとを前記クライアント装置に送信する送信工程と、前記情報処理装置が、前記クライアント装置から、前記データがクエリパラメータとして付与されるＨＴＴＰリクエストと前記クッキーとを受信する受信工程と、前記情報処理装置が、前記ＨＴＴＰリクエストが、前記ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証データを付与しないコンテンツの送信要求である場合、前記クッキーに含まれる前記データと、前記クエリパラメータとして付与される前記データとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する提供工程とを有し、 前記送信工程は、前記データを暗号化し、前記暗号化したデータを含むクッキーを送信する工程を含み、前記提供工程は、前記クッキーに含まれる前記データを復号する工程と、前記クエリパラメータとして付与される前記データと前記復号したデータとが一致する場合に、前記ＨＴＴＰリクエストに対応するサービスを前記クライアント装置に提供する工程と、を有する。
【発明の効果】
【０００８】
第１の側面によれば、不正アクセスの抑制を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態例におけるサービス提供ステムの構成の一例を示す図である。
【図２】図１に示す本実施の形態例におけるサーバの構成を説明する図である。
【図３】図１、図２に示すサーバのブロック図を説明する図である。
【図４】図１に示すクライアントの構成を説明する図である。
【図５】本実施の形態例におけるクライアントのブロック図を説明する図である。
【図６】認証Ｃｏｏｋｉｅによる認証を説明する図である。
【図７】認証トークンによる認証を説明する図である。
【図８】本実施の形態例におけるサービス提供方法の概要を説明する図である。
【図９】本実施の形態例における、認証トークンを使用する場合のサービス提供方法の概要を説明する図である。
【図１０】本実施の形態例のサーバの処理を説明するフローチャート図である。
【図１１】本実施の形態例のクライアントの処理を説明するフローチャート図である。
【図１２】サーバにおける認証リクエスト受信時の処理を説明する図である。
【図１３】サーバにおけるサービス要求取得時の処理を説明する図である。
【図１４】クライアントにおけるサービス要求発行時の処理を説明する図である。
【図１５】Ｗｅｂアプリケーションの処理を記述するスクリプトファイルの一例を表す図である。
【図１６】認証要求のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの一例を示す図である。
【図１７】リソースのアクセス要求のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１１】
［サービス提供システム］
図１は、本実施の形態例におけるサービス提供ステムの構成の一例を示す図である。図１の例において、クライアント装置（以下、クライアントと称する）３０ａ〜３０ｃは、ネットワーク５０を介して複数の情報処理装置（以下、サーバと称する）１０、２０と接続する。クライアント３０ａ〜３０ｃは、例えば、パーソナルコンピュータや携帯端末等である。
【００１２】
図１の例におけるサーバ１０、２０は、例えば、Ｗｅｂサーバである。サーバ１０、２０はそれぞれ、予め登録されたアカウント情報に基づいたユーザ認証機能を有する。また、サーバ１０、２０は、アクセス制限を有するユーザ領域ＲＳＤを有する。ユーザ領域ＲＳＤは、例えば、ユーザ単位に、画像や動画等のリソースを格納する。
【００１３】
各サーバ１０、２０は、クライアント３０ａ〜３０ｃからの認証要求に応答して、認証結果をクライアント３０ａ〜３０ｃに送信する。そして、サーバ１０、２０は、クライアント３０ａ〜３０ｂから送信されたリソースのアクセス要求に応答して、認証結果に応じて、ユーザ領域ＲＳＤに格納されるリソースを提供する。
【００１４】
［サーバの構成］
図２は、図１に示す本実施の形態例におけるサーバ１０のハードウェア構成を説明する図である。図２は、サーバ１０の構成を示すが、サーバ２０も同様の構成を有する。図２に示すサーバ１０は、例えば、ＣＰＵ（Central  Processing  Unit）１０１、ＲＡＭ（Random  Access  Memory）２０１や不揮発性メモリ２０２等を備えるメモリ１０２、通信インタフェース部１０３を有する。各部は、バス１０４を介して相互に接続する。
【００１５】
ＣＰＵ１０１は、バス１０４を介してメモリ１０２等と接続すると共に、サーバ１０全体の制御を行う。メモリ１０２のＲＡＭ２０１は、ＣＰＵ１０１が処理を行うデータ等を記憶する。メモリ１０２の不揮発性メモリ２０２は、ＣＰＵ１０１が実行するＯＳ（Operating  System）のプログラムを格納する領域（図示せず）や、本実施の形態例における認証プログラムを格納する領域ｐｒ１、リソース提供プログラムを格納する領域ｐｒ２を備える。また、不揮発性メモリ２０２は、アクセス制限を有するユーザ領域ＲＳＤを有する。ユーザ領域ＲＳＤは、例えば、各ユーザの画像や動画等のリソースＲＳを格納する。不揮発性メモリ２０２は、ＨＤＤ（Hard  disk  drive）、不揮発性半導体メモリ等で構成される。
【００１６】
認証プログラム領域ｐｒ１の認証プログラム（以下、認証プログラムｐｒ１と称する）、及び、リソース提供プログラム領域ｐｒ２のリソース提供プログラム（以下、リソース提供プログラムｐｒ２と称する）は、ＣＰＵ１０１の実行によって、本実施の形態例における認証処理、及び、リソースＲＳの提供処理を実現する。また、通信インタフェース部１０３は、ネットワーク５０を介して、他のサーバ２０またはクライアント３０ａ〜３０ｃ等の通信機器との間でデータの送受信を制御する。
【００１７】
図３は、図１、図２に示すサーバ１０のソフトウェアブロック図である。図３は、サーバ１０のブロック図を示すが、サーバ２０のブロック図も図２と同様である。サーバ１０の認証プログラムｐｒ１（図２）は、例えば、ユーザ認証モジュール（以下、ユーザ認証部と称する）１１０とリクエスト判定モジュール（以下、リクエスト判定部と称する）１２０とを有する。サーバ１０のリソース提供プログラムｐｒ２（図２）は、リソースアクセスモジュール（以下、リソースアクセス部と称する）１３０を有する。
【００１８】
ユーザ認証部１１０は、認証モジュール（以下、認証部と称する）１１１、暗号化モジュール（以下、暗号化部と称する）１１２、乱数生成モジュール（以下、乱数生成部）１１３を有する。認証部１１１は、クライアント３０ａ〜３０ｃからの認証要求（ＨＴＴＰリクエスト）に応答し、クライアント３０ａ〜３０ｃから送信されたアカウント情報（ユーザＩＤとパスワード）に基づくユーザ認証を行う。例えば、認証部１１１は、認証要求に付与されるアカウント情報が、予め登録されたユーザのアカウント情報と一致するか否かを判定し、認証を行う。
【００１９】
認証に成功した場合、認証部１１１は、サーバ１０におけるユーザの役割を示す役割情報を含む認証トークンを発行すると共に、乱数生成部１１３にデータｃｏｏｋｉｅ＿ｐｅｅｒを生成させる。データｃｏｏｋｉｅ＿ｐｅｅｒは、例えばｎｏｎｃｅと呼ばれる、数字または文字をランダムに有するデータである。暗号化部１１２は、認証部１１１が生成した認証トークン、及び、データｃｏｏｋｉｅ＿ｐｅｅｒを暗号化する。認証部１１１は、暗号化された認証トークン及びデータｃｏｏｋｉｅ＿ｐｅｅｒを含む認証Ｃｏｏｋｉｅを生成し、認証トークンと、データｃｏｏｋｉｅ＿ｐｅｅｒとを、クライアント３０ａ〜３０ｃに送信する。
【００２０】
また、リクエスト判定部１２０は、データ判定モジュール（以下、データ判定部と称する）１２１、復号モジュール（以下、復号部と称する）１２２を有する。データ判定部１２１は、クライアント３０ａ〜３０ｃからリソースアクセス要求（ＨＴＴＰリクエスト）を受信すると、リソースアクセス要求に付与された認証Ｃｏｏｋｉｅに含まれる、認証トークン及びデータｃｏｏｋｉｅ＿ｐｅｅｒを復号部１２２に復号させる。そして、データ判定部１２１は、復号されたデータｃｏｏｋｉｅ＿ｐｅｅｒと、リソースアクセス要求のクエリパラメータに付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒとを比較し、両者が一致するときにリソースアクセス要求が正当なリソースアクセス要求である旨、判定する。
【００２１】
リソースアクセス要求が正当であると判定された場合、リソースアクセス部１３０のアクセスモジュール（以下、アクセス部と称する）１３１は、認証トークンに基づいてリソースＲＳにアクセスする。例えば、アクセス部１３１は、認証トークンに含まれる役割情報に対応する権限の範囲内で、リソースアクセス要求の対象のリソースＲＳにアクセスする。そして、データ判定部１２１は、アクセス部１３１を介して取得した対象のリソースＲＳを、クライアント３０ａ〜３０ｃに送信する。
【００２２】
続いて、本実施の形態例のサービス提供システムにおけるクライアント３０ａ〜３０ｃのハードウェア構成及びソフトウェアブロック図を例示する。
【００２３】
［クライアントの構成］
図４は、図１に示すクライアント３０ａのハードウェア構成を説明する図である。図４は、クライアント３０ａの構成例を示すが、例えば、クライアント３０ｂ、３０ｃも同様の構成を有する。クライアント３０ａは、例えば、ＣＰＵ（Central  Processing  Unit）３０１、ＲＡＭ（Random  Access  Memory）４０１や不揮発性メモリ４０２とを備えるメモリ３０２、グラフィック処理装置３０３、入力インタフェース部３０４、光学ドライブ装置３０５、通信インタフェース部３０６を有する。各部は、バス３０７を介して相互に接続する。
【００２４】
ＣＰＵ３０１は、バス３０７を介してメモリ３０２と複数の周辺機器と接続すると共に、クライアント３０ａ全体の制御を行う。メモリ３０２のＲＡＭ４０１は、クライアント３０ａのＣＰＵ３０１の処理の実行のため使用される。また、メモリ３０２の不揮発性メモリ４０２は、ＣＰＵ３０１が実行するＯＳ（Operating  System）のプログラム格納領域（図示せず）や、Ｗｅｂブラウザプログラムを格納する領域４１１を有する。Ｗｅｂブラウザプログラム領域４１１のＷｅｂブラウザプログラム（以下、Ｗｅｂブラウザ４１１と称する）は、ＣＰＵ３０１の実行によって、本実施の形態例におけるＷｅｂのウェブブラウザ処理を実現する。
【００２５】
また、メモリ３０２のＲＡＭ４０１は、Ｗｅｂアプリケーションプログラムを格納する領域４１２を有する。Ｗｅｂアプリケーションプログラム領域４１２のＷｅｂアプリケーションプログラム（以下、Ｗｅｂアプリケーション４１２と称する）は、ＣＰＵ３０１の実行によって、本実施の形態例におけるＷｅｂアプリケーションの処理を実現する。
【００２６】
グラフィック処理装置３０３は、モニタ３１１と接続する。グラフィック処理装置３０３は、ＣＰＵ３０１からの命令に従って、画像をモニタ３１１の画面に表示する。モニタ３１１は、例えば、液晶表示装置などである。入力インタフェース部３０４は、キーボード３１２やマウス３１３と接続する。入力インタフェース部３０４は、キーボード３１２やマウス３１３から受信する信号をＣＰＵ３０１に送信する。
【００２７】
光学ドライブ装置３０５は、レーザ光などを利用して、光ディスク３１４に記録されたデータの読み取りを行う。光ディスク３１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク３１４は、例えば、ＤＶＤ（Digital  Versatile  Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等である。通信インタフェース部３０６は、ネットワーク５０を介して、サーバ１０、２０等との間でデータの送受信を行う。
【００２８】
図５は、本実施の形態例におけるクライアント３０ａのソフトウェアブロック図を説明する図である。クライアント３０ａは、例えば、Ｗｅｂブラウザ４１１と、Ｗｅｂブラウザ４１１がアクセスするメモリ領域４０３、Ｗｅｂアプリケーション４１２と、Ｗｅｂアプリケーション４１２がアクセスするメモリ領域４０４とを有する。
【００２９】
Ｗｅｂブラウザ４１１は、Ｗｅｂページを閲覧するためのプログラムである。Ｗｅｂブラウザ４１１は、サーバ１０からＨＴＭＬ（HyperText  Markup  Language）ファイルや画像ファイル等をダウンロードし、レイアウトを解析してＷｅｂページを表示、再生する。メモリ領域４０３は、図４に示すＲＡＭ４０１の領域であって、Ｗｅｂブラウザ４１１に対して設定される認証Ｃｏｏｋｉｅが保管されるメモリ領域である。
【００３０】
また、Ｗｅｂアプリケーション４１２は、インターネット等のネットワーク５０（図４）を介して動作するプログラムである。Ｗｅｂアプリケーション４１２は、Ｗｅｂブラウザ４１１上で動作するＪａｖａＳｃｒｉｐｔ（登録商標）等のプログラムとＷｅｂサーバ（サーバ１０）側のプログラムとが協調することによって動作する。メモリ領域４０４は、図４に示すＲＡＭ４０１の領域であって、Ｗｅｂアプリケーション４１２によって使用され、Ｗｅｂアプリケーション４１２の終了に応じて解放されるメモリ領域である。
【００３１】
Ｗｅｂブラウザ４１１は、サーバ１０から受信したＨＴＴＰレスポンスに認証Ｃｏｏｋｉｅが付与される場合、認証Ｃｏｏｋｉｅをメモリ領域４０３に格納する。また、Ｗｅｂアプリケーション４１２は、ＨＴＴＰレスポンスに認証トークンやデータｃｏｏｋｉｅ＿ｐｅｅｒが付与される場合、認証トークンやデータｃｏｏｋｉｅ＿ｐｅｅｒをメモリ領域４０４に格納する。
【００３２】
次に、本実施の形態例におけるサービス提供方法を説明する前に、認証Ｃｏｏｋｉｅによる認証の基本動作を図に基づいて説明する。
【００３３】
［認証Ｃｏｏｋｉｅによる認証］
図６は、認証Ｃｏｏｋｉｅによる認証の基本動作を説明する図である。図６の例に示すＷｅｂアプリケーションＡ４１２Ａは、善意のＷｅｂアプリケーション４１２であって、ＷｅｂアプリケーションＢ４１２Ｂは、悪意のＷｅｂアプリケーション４１２である。また、サーバ１０のユーザ領域ＲＳＤは、ユーザ認証に成功したユーザのみがアクセス可能な領域であって、動画や画像等のリソースＲＳが格納される。
【００３４】
ユーザが、クライアント３０ａ上で動作するＷｅｂブラウザ４１１のアドレス欄にサーバ１０が提供するサービスのＵＲＬ（Uniform  Resource  Locator）を入力すると、Ｗｅｂブラウザ４１１は、ＷｅｂページをリクエストするＨＴＴＰリクエストをサーバ１０に送信する。そして、サーバ１０は、ＨＴＴＰレスポンスとして、Ｗｅｂページが記述されるＷｅｂアプリケーションＡ４１２Ａをクライアント３０ａにダウンロードする。
【００３５】
そして、ＷｅｂアプリケーションＡ４１２Ａは、Ｗｅｂブラウザ４１１を介して、サーバ１０が提供するサービスにサインインするためのユーザ認証画面を表示する。ＷｅｂアプリケーションＡ４１２Ａは、ユーザのサインイン操作に応答して、入力されたアカウント情報を含むＨＴＴＰリクエストをサーバ１０に送信する（ａ１）。サーバ１０の認証部１１０は、クライアント３０ａから送信されたＨＴＴＰリクエストに含まれるアカウント情報に基づいて、ユーザの認証処理を行う。ユーザを正当なユーザであると認証した場合、認証部１１０は、ＨＴＴＰレスポンスとして、認証の結果情報と、認証に成功したことを示す情報とを有する認証Ｃｏｏｋｉｅをクライアント３０ａにダウンロードする（ａ２）。
【００３６】
クライアント３０ａのＷｅｂブラウザ４１１は、サーバ１０から受信した認証ＣｏｏｋｉｅをＷｅｂブラウザ４１１に規定されるメモリ領域４０３に格納する。また、ＷｅｂアプリケーションＡ４１２Ａは、ＨＴＴＰレスポンスの内容に基づいて認証結果を、Ｗｅｂブラウザ４１１を介してモニタ３１１に表示する。
【００３７】
次に、ＷｅｂアプリケーションＡ４１２Ａが、サーバ１０の、ユーザ領域ＲＳＤに格納されるリソースにアクセスする場合、リソースの提供を要求するＨＴＴＰリクエストをサーバ１０に送信する（ａ３）。このとき、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに自動的に認証Ｃｏｏｋｉｅを付与する。サーバ１０は、ＨＴＴＰリクエストを受信すると、認証Ｃｏｏｋｉｅに基づいてユーザが認証済みであることを検知し、ユーザ領域ＲＳＤ内に格納される対象のリソースをクライアント３０ａに提供する。
【００３８】
続いて、悪意のあるＷｅｂアプリケーションＢ４１２Ｂを説明する。図６は、例えば、ＷｅｂアプリケーションＢ４１２Ｂによるクロスサイトリクエストフォージェリによる攻撃の一例を示す。ＷｅｂアプリケーションＢ４１２Ｂは、例えば、ＷｅｂアプリケーションＡ４１２Ａのダウンロード時に、不正に、クライアント３０ａの同一Ｗｅｂブラウザ４１１管理下にダウンロードされる場合がある。例えば、ＷｅｂアプリケーションＢ４１２Ｂは、ＷｅｂアプリケーションＡ４１２Ａが生成するＷｅｂページの一部に含まれる場合がある。
【００３９】
ＷｅｂアプリケーションＢ４１２Ｂは、予め検知した、ＷｅｂアプリケーションＡ４１２Ａと同一のＵＲＩにアクセスするＨＴＴＰリクエストを送信する（ａ１０）。ＷｅｂアプリケーションＢ４１２Ｂがアクセスする対象のパスはＷｅｂアプリケーションＡ４１２Ａと同一であることから、Ｗｅｂブラウザ４１１は、ＷｅｂアプリケーションＢ４１２Ｂが送信するＨＴＴＰリクエストに、ＷｅｂアプリケーションＡ４１２Ａの認証Ｃｏｏｋｉｅを自動的に付与する。認証Ｃｏｏｋｉｅは認証済みであることを示す。したがって、未認証のＷｅｂアプリケーションＢ４１２Ｂから発行されたＨＴＴＰリクエストであるにも関わらず、サーバ１０は、認証Ｃｏｏｋｉｅに基づいて、ユーザ領域ＲＳＤ内に格納されるリソースをＷｅｂアプリケーションＢ４１２Ｂに提供可能になる。ＷｅｂアプリケーションＢ４１２Ｂは、サーバ１０から受信したリソースに基づいて、リソースの改編や流出を生じさせることができる。
【００４０】
このように、悪意のあるＷｅｂアプリケーションＢ４１２Ｂによる認証Ｃｏｏｋｉｅの盗用によるリソースのアクセス侵害が可能になってしまう。次に、認証トークンを併用した場合の認証動作を説明する。
【００４１】
［認証トークン併用による認証］
図７は、認証トークン１３を併用した場合の認証を説明する図である。認証トークン１３は、認証に成功したユーザに発行される情報であって、サーバ１０が提供するサービスの提供範囲を定義する役割情報を有する。クライアント３０ａは、認証トークン１３を付与したアクセス要求をサーバ１０に送信することによって、認証トークン１３が有する役割情報に対応する範囲内で、サーバ１０が提供するサービスの提供を受けることができる。
【００４２】
図６と同様にして、Ｗｅｂアプリケーション４１２（図４、図５）は、ユーザのサインイン操作に応答して、入力されたアカウント情報を含むＨＴＴＰリクエストをサーバ１０に送信する（ａ１１）。そして、サーバ１０は、クライアント３０ａから送信されたアカウント情報に基づいてユーザを正当なユーザであると認証した場合、ＨＴＴＰレスポンスとして、認証トークン１３をクライアント３０ａに送信する（ａ１２）。ＨＴＴＰレスポンスを受信すると、Ｗｅｂアプリケーション４１２は、認証トークン１３をＷｅｂアプリケーション４１２がアクセスするメモリ領域４０４に保持する。
【００４３】
そして、Ｗｅｂアプリケーション４１２は、サーバ１０のユーザ領域ＲＳＤ内のリソースＲＳにアクセスする場合、リソースＲＳを要求するＨＴＴＰリクエストに認証トークン１３を付与して、サーバ１０に送信する（ａ１３）。Ｗｅｂアプリケーション４１２は、例えば、リソースＲＳにアクセスするＡＰＩ（Application  Programming  Interface）を呼び出す場合、Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を指定したＨＴＴＰリクエストを生成し、サーバ１０に送信する。サーバ１０は、ＨＴＴＰリクエストを受信すると、認証トークン１３が有する役割情報に基づいて、役割情報に対応する権限の範囲内でＡＰＩを呼び出し、ユーザ領域ＲＳＤ内に格納される対象のリソースＲＳにアクセスする。ＡＰＩの呼び出しに必要な権限が不足する場合、サーバ１０は、エラー情報をクライアント３０ａに送信する。
【００４４】
ただし、リソースＲＳの要求を指示するＨＴＭＬタグに基づいて生成されるＨＴＴＰリクエスト（ＧＥＴリクエスト）には、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３の付与が行われない。そのようなＨＴＭＬタグとして、例えば、ｖｉｄｅｏタグやｉｍｇタグ、ａｕｄｉｏタグ等のリソースＲＳの要求を指示するＨＴＭＬタグが挙げられる。ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３が付与されていない場合、サーバ１０は、リソースＲＳのアクセスに必要な権限が不足することにより、リソースＲＳにアクセスできない（ａ１４）。
【００４５】
図７には、ｖｉｄｅｏタグ<video  src=https://fqdn/cell/box/movie.mp4/>  </video>に基づいて生成されるＨＴＴＰリクエストが例示される。このｖｉｄｅｏタグは、Ｗｅｂページに対する、動画"https://fqdn/cell/box/movie.mp4/"の埋め込みを指示するタグである。また、図７の例において、動画"https://fqdn/cell/box/movie.mp4/"は、サーバ１０のユーザ領域ＲＳＤに格納されるリソースＲＳを示す。図７のｖｉｄｅｏタグに基づいて生成されるＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダには、認証トークン１３が付与されていないことから、サーバ１０は、動画"https://fqdn/cell/box/movie.mp4/"にアクセスできない。リソースＲＳにアクセスできない場合、サーバ１０は、アクセスエラーを示すＨＴＴＰレスポンスをクライアント３０ａに送信する（ａ１５）。
【００４６】
またここで、ｉｍｇタグやｖｉｄｅｏタグ等のＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を付与しないタイプのＨＴＭＬタグに基づくＨＴＴＰリクエストに認証トークンを付加するとすれば、ＨＴＴＰリクエストのクエリパラメータとして認証トークンを付与することになろう。しかし、認証トークンに限らず、クエリパラメータとして付与されたデータは、例えばブラウザ上のアクセス先ＵＲＬを表示する欄に出力されるというように、ユーザや悪意を持ったアプリケーションから容易に取得可能な状態になってしまう。即ち、クエリパラメータに付与されたデータは容易に露出されるので、セキュリティ上重要な情報をクエリパラメータとして付与することはセキュリティ上好ましくない。
【００４７】
ＨＴＭＬタグに基づくＨＴＴＰリクエストに認証トークンを付加する別の方法として、例えば、Ｊａｖａｓｃｒｉｐｔ等のプログラム言語を使用することによって、ＨＴＭＬタグに対応する処理であって、認証トークン１３を使用する処理を実現することも考えられる。しかしながら、この方法によると、ＨＴＭＬタグを使用する場合に対して、プログラム生成や管理に工数を要するとともに多量のメモリを要することから利点が少ない。したがって、ＨＴＭＬタグに基づいて生成されるＨＴＴＰリクエストにしたがって、リソースＲＳにアクセス可能になることが望ましい。
【００４８】
また、例えば、アクセス対象のリソースＲＳを、サーバ１０内のアクセス制限のかからない領域に格納することによって、ＨＴＭＬタグに基づいて生成されるＨＴＴＰリクエストにしたがって、リソースのアクセス要求が可能になる。しかしながら、アクセス制限のかからない領域には、セキュリティの観点から、個人情報、プライバシーに関わる情報等を格納することが避けられることから、格納可能なリソースが制限される。
【００４９】
図６で説明したとおり、認証Ｃｏｏｋｉｅ１１による認証に基づいてリソースＲＳにアクセスする場合、悪意のあるＷｅｂアプリケーションＢ４１２Ｂによる認証Ｃｏｏｋｉｅ１１の盗用が可能になってしまう。また、図７で説明したとおり、認証トークン１３による認証に基づいてリソースＲＳにアクセスする場合、ＨＴＭＬタグに基づいて生成されるＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダには認証トークン１３が付与されないため、サーバ１０は、アクセス権限を有するリソースＲＳへのアクセスに失敗する。
【００５０】
したがって、本実施の形態例のサービス提供方法では、サーバ１０が、クライアント３０ａから受信したセッションの認証要求に応答して、認証に成功した場合に、セッションに関連するデータを生成するとともに当該データを含む認証に関する認証Ｃｏｏｋｉｅ１１を生成し、認証Ｃｏｏｋｉｅ１１とデータとをクライアント３０ａに送信する。そして、サーバ１０は、クライアント３０ａから、データがクエリパラメータとして付与されるサービス要求と認証Ｃｏｏｋｉｅ１１とを受信し、認証Ｃｏｏｋｉｅ１１に含まれるデータと、クエリパラメータとして付与されるデータとが対応する場合に正当なサービス要求であると判定し、サービス要求のサービスをクライアント３０ａに提供する。
【００５１】
［サービス提供方法の概要］
次に、本実施の形態例のサービス提供方法の概要を、図８、図９に基づいて説明する。
【００５２】
図８は、本実施の形態例におけるサービス提供方法の概要を説明する図である。図８は、図６と同様にして、認証Ｃｏｏｋｉｅ１１に基づく認証の例である。図６と同様にして、ＷｅｂアプリケーションＡ４１２Ａは、サインイン操作に応答して、入力されたアカウント情報をサーバ１０に送信する（ｂ１）。サーバ１０は、クライアント３０ａから送信されたアカウント情報に基づいて、ユーザを正当なユーザであると認証した場合、認証に関する情報を有し、データｃｏｏｋｉｅ＿ｐｅｅｒ１２を含む認証Ｃｏｏｋｉｅ１１に加えて（ｂ２−２）、データｃｏｏｋｉｅ＿ｐｅｅｒ１２（ｂ２−１）をクライアント３０ａに送信する。
【００５３】
クライアント３０ａのＷｅｂブラウザ４１１は、サーバ１０から受信した認証Ｃｏｏｋｉｅ１１をメモリ領域４０３に格納し（ｂ２−２）、ＷｅｂアプリケーションＡ４１２Ａはデータｃｏｏｋｉｅ＿ｐｅｅｒ１２をＷｅｂアプリケーションＡ４１２Ａがアクセスするメモリ領域４０４に保持する（ｂ２−１）。メモリ領域４０４は、ＷｅｂアプリケーションＡ４１２Ａのプロセスがアクセスする領域であるため、別のプロセス（例えば、ＷｅｂアプリケーションＢ４１２Ｂ）はアクセスできない。即ち、ＷｅｂアプリケーションＢ４１２Ｂは、ＷｅｂアプリケーションＡ４１２Ａがメモリ領域４０４に保持するデータｃｏｏｋｉｅ＿ｐｅｅｒ１２を取得できない。
【００５４】
そして、ＷｅｂアプリケーションＡ４１２Ａが、サーバ１０の、各ユーザのユーザ領域ＲＳＤに格納されアクセス制限を有するリソースにアクセスする場合、データｃｏｏｋｉｅ＿ｐｅｅｒを付与した、ＨＴＴＰリクエストをサーバ１０に送信する（ｂ３）。このとき、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに自動的に認証Ｃｏｏｋｉｅ１１を付与する。そして、サーバ１０は、ＨＴＴＰリクエストを受信すると、認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、ＨＴＴＰリクエストに付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを比較する。
【００５５】
認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、ＨＴＴＰリクエストに付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とが一致する場合、サーバ１０は、ＨＴＴＰリクエストが正当なリソースアクセス要求であることを判定する。この場合、サーバ１０は、ユーザ領域ＲＳＤ内に格納される対象のリソースＲＳをクライアント３０ａに提供する。つまり、サーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２を含む認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２とがセットでＨＴＴＰリクエストに付与される場合、ＨＴＴＰリクエストを正当なアクセス要求である旨、判定する。
【００５６】
一方、図６と同様にして、ＷｅｂアプリケーションＢ４１２Ｂは、ＷｅｂアプリケーションＡ４１２Ａと同一のＵＲＩにアクセスするＨＴＴＰリクエストを送信する（ａ１０）。また、Ｗｅｂブラウザ４１１は、ＷｅｂアプリケーションＡ４１２Ａの認証Ｃｏｏｋｉｅ１１をＨＴＴＰリクエストに自動的に付与する。しかしながら、ＷｅｂアプリケーションＢ４１２Ｂは、ＨＴＴＰリクエストのクエリパラメータにデータｃｏｏｋｉｅ＿ｐｅｅｒ１２の付与を行わない。したがって、認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と比較するデータｃｏｏｋｉｅ＿ｐｅｅｒ１２が存在しないため、サーバ１０は、ＨＴＴＰリクエストが不正なリソースアクセス要求である旨、判定する。
【００５７】
また、仮に、攻撃者がＨＴＴＰリクエストにデータｃｏｏｋｉｅ＿ｐｅｅｒを付与する仕組みを知っている場合であっても、ＷｅｂアプリケーションＢ４１２Ｂは、ＷｅｂアプリケーションＡ４１２Ａがメモリ領域４０４に保持するデータｃｏｏｋｉｅ＿ｐｅｅｒ１２を取得することができない。即ち、認証に成功していないＷｅｂアプリケーションは、ＨＴＴＰリクエストのクエリパラメータにデータｃｏｏｋｉｅ＿ｐｅｅｒを付与できない。したがって、本実施の形態例におけるサービス提供方法によると、ＷｅｂアプリケーションＢ４１２Ｂは、認証Ｃｏｏｋｉｅ１１を盗用したとしても、リソースＲＳにアクセスすることができない。
【００５８】
このように、本実施の形態例におけるサーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２を含む認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２とがセットで付与されるＨＴＴＰリクエストを正当なサービス要求であると判定する。つまり、サーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒを含む認証Ｃｏｏｋｉｅ１１が付与されたＨＴＴＰリクエストを受信した場合であっても、認証Ｃｏｏｋｉｅ１１内のデータｃｏｏｋｉｅ＿ｐｅｅｒと一致するデータｃｏｏｋｉｅ＿ｐｅｅｒが付与されていない場合は、当該ＨＴＴＰリクエストを不正なサービス要求であると判定する。したがって、サーバ１０は、認証Ｃｏｏｋｉｅ１１が盗用された場合であっても、不正なサービス要求を検出できる。
【００５９】
サーバ１０は、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒが付与されていても、データｃｏｏｋｉｅ＿ｐｅｅｒが一致しない場合に、当該ＨＴＴＰリクエストを不正なサービス要求であると判定する。即ち、データｃｏｏｋｉｅ＿ｐｅｅｒは、認証Ｃｏｏｋｉｅ１１内のデータｄｃｏｏｋｉｅ＿ｐｅｅｒとの突合のみに用いられる。データｃｏｏｋｉｅ＿ｐｅｅｒは、単体では意味を為さないデータであるため、クエリパラメータが盗聴された場合であっても、影響は極めて小さい。
【００６０】
また、サーバ１０は、認証に成功する毎に、データｃｏｏｋｉｅ＿ｐｅｅｒを生成し直す。したがって、仮に、クエリパラメータのデータｃｏｏｋｉｅ＿ｐｅｅｒが盗聴されクエリパラメータに付与された場合であっても、現在の認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒと一致しない場合、サーバ１０は、不正なＨＴＴＰリクエストであると判定する。したがって、サーバ１０は、クエリパラメータのデータｃｏｏｋｉｅ＿ｐｅｅｒが盗聴された場合であっても、不正なアクセスの発生を抑制できる。
【００６１】
また、本実施の形態例におけるサービス提供方法によると、クライアント３０ａが送信する情報（データｃｏｏｋｉｅ＿ｐｅｅｒ１２と認証Ｃｏｏｋｉｅ１１）のみに基づいて、アクセス要求が正当であるか否かが判定可能になる。したがって、サーバ１０は、認証に成功したセッション毎に、認証のための情報を管理する必要がない。
【００６２】
図９は、認証トークン１３を使用する形態のサービス提供方法の概要を説明する図である。図９は、図７と同様にして、認証トークン１３に基づく認証の例である。図７と同様にして、Ｗｅｂアプリケーション４１２（図４、図５）は、サインイン操作に応答して、入力されたアカウント情報をサーバ１０に送信する（ｂ１１）。サーバ１０は、クライアント３０ａから送信されたアカウント情報に基づいて、ユーザを正当なユーザであると認証した場合、データｃｏｏｋｉｅ＿ｐｅｅｒ１２と認証トークン１３とを含む認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２とをクライアント３０ａに送信する（ｂ１２）。
【００６３】
クライアント３０ａのＷｅｂブラウザ４１１は、サーバ１０から受信した認証Ｃｏｏｋｉｅ１１をメモリ領域４０３に格納する。また、Ｗｅｂアプリケーション４１２はデータｃｏｏｋｉｅ＿ｐｅｅｒ１２及び認証トークン１３をＷｅｂアプリケーション４１２がアクセスするメモリ領域４０４に保持する。
【００６４】
そして、ＨＴＭＬタグに基づいてユーザ領域ＲＳＤに格納されるリソースＲＳにアクセスする場合、Ｗｅｂアプリケーション４１２は、ＨＴＴＰリクエストに、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒを付与する（ｂ１３）。具体的に、クエリパラメータは、ＨＴＭＬタグのＵＲＩの末尾に「?変数名=値」の書式で追加される。図９の例では、ｖｉｄｅｏタグとして、<video  src=https://fqdn/cell/box/movie.mp4?cookie_peer=Nonce/>を例示する。Nonceは、データｃｏｏｋｉｅ＿ｐｅｅｒの値を示す。また、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに自動的に認証Ｃｏｏｋｉｅ１１を付与する。
【００６５】
そして、サーバ１０は、ＨＴＴＰリクエストを受信すると、認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、ＨＴＴＰリクエストに付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とが一致する場合に、ＨＴＴＰリクエストが正当なリソースアクセス要求であることを判定する。正当なリソースアクセス要求であると判定した場合、サーバ１０は、認証Ｃｏｏｋｉｅ１１に含まれる認証トークン１３が有する役割情報に基づいて、アクセス要求の対象となるリソースＲＳへの権限があるか否かを判定する。権限がある場合、サーバ１０は、リソースＲＳを取得し、ＨＴＴＰレスポンスとして、クライアント３０ａに送信する。
【００６６】
図９に示すように、本実施の形態例のサーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２に加えて、さらに、認証トークン１３を含む認証Ｃｏｏｋｉｅ１１を生成する。そして、サーバ１０は、サービス要求に、データｃｏｏｋｉｅ＿ｐｅｅｒ１２と認証トークン１３とを含む認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２とが一対で付与されるときに、認証Ｃｏｏｋｉｅ１１に含まれる認証トークン１３の権限情報に基づいて、サービス要求のサービスをクライアント３０ａに提供する。
【００６７】
これにより、図８で説明した効果に加えて、サーバ１０は、Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークンが付与されないＨＴＴＰリクエストであっても、認証Ｃｏｏｋｉｅ１１に含まれる認証トークン１３を使用することにより、認証トークン１３に基づくサービスを提供することができる。また、サーバ１０は、認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、クエリパラメータに指定されるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とが一致する場合にのみ、認証Ｃｏｏｋｉｅ１１に含まれる認証トークン１３を使用する。即ち、サーバ１０は、クエリパラメータとて指定されるデータｃｏｏｋｉｅ＿ｐｅｅｒと一致しない場合に認証トークン１３を使用しないことから、認証Ｃｏｏｋｉｅ１１が盗用された場合であっても、不正に認証トークン１３が使用されることを回避することができる。
【００６８】
［サービス提供処理］
図１０は、図９に示す形態におけるサーバの処理を説明するフローチャート図である。サーバ１０は、クライアント３０ａからＨＴＴＰリクエストを受信したか否かを判定する（Ｓ１１）。クライアント３０ａから認証要求のＨＴＴＰリクエストを受信した場合（Ｓ１２のＹＥＳ）、サーバ１０の認証部１１１は、ＨＴＴＰリクエストに含まれるアカウント情報と、予め登録されるアカウント情報とを照合し、一致するアカウント情報がある場合に、ユーザを正当なユーザであると認証する。ユーザを正当なユーザであると認証した場合、サーバ１０の認証部１１１は認証トークン１３を生成し、乱数生成部１１３は乱数を生成しデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とする（Ｓ１４）。
【００６９】
前述したとおり、認証トークン１３は、認証に成功したユーザに発行されるトークンであって、サーバ１０が提供するサービスの提供範囲を定義する役割情報を有する。また、データｃｏｏｋｉｅ＿ｐｅｅｒ１２は、数字や文字からなるランダムな値であって、認証に成功したセッションに対応して生成される。
【００７０】
次に、サーバ１０の暗号化部１１２は、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを暗号化し、暗号化した認証トークン１３と暗号化したデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを含む認証Ｃｏｏｋｉｅ１１を生成する（Ｓ１５）。暗号化部１１２は、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを個別に暗号化して連結した値を認証Ｃｏｏｋｉｅ１１に含めてもよいし、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを連結した値を暗号化してもよい。なお、サーバ１０は、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒとを必ずしも暗号化しなくてもよい。
【００７１】
また、認証Ｃｏｏｋｉｅ１１は、認証を行ったサーバ１０のサービスに対応するＵＲＩに対してのみ認証Ｃｏｏｋｉｅ１１が有効である指示、認証Ｃｏｏｋｉｅ１１がクライアント３０ａのＷｅｂブラウザ４１１を終了時に削除される指示等を含む。そして、サーバ１０は、認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２と、認証トークン１３とをクライアント３０ａに送信する（Ｓ１６）。
【００７２】
一方、クライアント３０ａからリソースのサービス要求のＨＴＴＰリクエストを受信した場合（Ｓ１２のＮＯ、Ｓ２１のＹＥＳ）、サーバ１０の復号部１２２は、ＨＴＴＰリクエストに付与される認証Ｃｏｏｋｉｅ１１に含まれる認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを復号する（Ｓ２２）。認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とが暗号化されていない場合、復号処理は不要である。
【００７３】
ＨＴＴＰリクエストには、認証Ｃｏｏｋｉｅ１１に加えて、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒ１２が付与される。サーバ１０のデータ判定部１２１は、認証Ｃｏｏｋｉｅ１１に含まれ、復号したデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、クエリパラメータとして付与されたデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを比較する（Ｓ２３）。一致する場合（Ｓ２４のＹＥＳ）、サーバ１０のアクセス部１３１は、認証Ｃｏｏｋｉｅ１１に含まれ、復号した認証トークン１３に基づいて、ＨＴＴＰリクエストが対象とするリソースＲＳへのアクセス権を確認する（Ｓ２５）。対象とするリソースＲＳへのアクセス権がある場合、サーバ１０は、対象とするリソースを、ＨＴＴＰレスポンスとしてクライアント３０ａに送信する（Ｓ２６）。
【００７４】
なお、受信したＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３が付与される場合、即ち、受信したＨＴＴＰリクエストがＡＰＩ等に基づくＨＴＴＰリクエストの場合、サーバ１０は、例えば、認証Ｃｏｏｋｉｅ１１を使用せずに、認証トークン１３に基づいて、リソースのアクセスを行う。この場合、サーバ１０は、工程Ｓ２２〜Ｓ２４の処理を省略し、認証トークン１３に基づいて、工程Ｓ２５、Ｓ２６の処理を行う。
【００７５】
一方、認証Ｃｏｏｋｉｅ１１に含まれ、復号したデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、ＨＴＴＰリクエストに付与されたデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とが一致しない場合（Ｓ２４のＮＯ）、サーバ１０は、ＨＴＴＰリクエストの認証エラーを、ＨＴＴＰレスポンスとして、クライアント３０ａに送信する（Ｓ２７）。例えば、サーバ１０は、ＨＴＴＰリクエストが不正なリクエストである旨、クライアント３０ａに通知する。
【００７６】
図１１は、図１０に関連するクライアントの処理を説明するフローチャート図である。サインイン操作が行われると、クライアント３０ａ上のＷｅｂブラウザ４１１を介して動作するＷｅｂアプリケーション４１２は、認証要求を示すＨＴＴＰリクエストをサーバ１０に送信する（Ｓ３１）。
【００７７】
そして、Ｗｅｂアプリケーション４１２は、認証要求のＨＴＴＰリクエストに対するサーバ１０からの応答を待機する。認証成功を示す応答を受信した場合（Ｓ３２のＹＥＳ）、Ｗｅｂブラウザ４１１は認証Ｃｏｏｋｉｅ１１をメモリ領域４０３に保持し、Ｗｅｂアプリケーション４１２は認証トークン１３及びクエリパラメータとして付与されたデータｃｏｏｋｉｅ＿ｐｅｅｒをメモリ領域４０４に保持する。次に、Ｗｅｂアプリケーション４１２は、サーバ１０が有するリソースのサービス要求を示すＨＴＴＰリクエストがあるか否かを判定する（Ｓ３３）。
【００７８】
リソースのサービス要求がある場合（Ｓ３３のＹＥＳ）、Ｗｅｂアプリケーション４１２は、リソースのサービス要求が、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３の付与が可能なサービス要求であるか否かを判定する（Ｓ３４）。Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３の付与が可能なＨＴＴＰリクエストである場合（Ｓ３４のＹＥＳ）、Ｗｅｂアプリケーション４１２は、Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を付与したＨＴＴＰリクエストをサーバ１０に送信する（Ｓ３５）。このとき、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに、自動的に認証Ｃｏｏｋｉｅ１１を付与する。Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３の付与が可能なＨＴＴＰリクエストは、例えば、サーバ１０のＡＰＩを呼び出すＨＴＴＰリクエスト等である。
【００７９】
一方、Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３の付与が行えないサービス要求である場合（Ｓ３４のＮＯ）、Ｗｅｂアプリケーション４１２は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２をクエリパラメータとして付与したＨＴＴＰリクエストを生成し、サーバ１０に送信する（Ｓ３６）。このとき、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに、自動的に認証Ｃｏｏｋｉｅ１１を付与する。ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークンを付与できないサービス要求は、例えば、ＨＴＭＬタグに基づくＨＴＴＰリクエストである。
【００８０】
そして、Ｗｅｂアプリケーション４１２は、認証トークン１３を付与したＨＴＴＰリクエスト、または、データｃｏｏｋｉｅ＿ｐｅｅｒ１２をクエリパラメータとして付与したＨＴＴＰリクエストをサーバ１０に送信すると、ＨＴＴＰリクエストに対応するサーバ１０からのＨＴＴＰレスポンスを待機する（Ｓ３７）。Ｗｅｂアプリケーション４１２は、サーバ１０からＨＴＴＰレスポンスを受信すると、受信したＨＴＴＰレスポンスに基づいて処理を行う。
【００８１】
続いて、図１０、図１１のフローチャートで説明したサーバ１０、及び、クライアント３０ａの処理を、図１２〜図１５に基づいて具体的に説明する。
【００８２】
図１２は、認証トークンを併用する形態におけるサーバ１０の認証リクエスト受信時の処理を説明する図である。図１２に説明する処理は、図３に示すサーバ１０のブロック図のユーザ認証部１１０の処理に対応する。
【００８３】
前述したとおり、サーバ１０のユーザ認証部１１０の認証部１１１は、クライアント３０ａからの認証リクエストを受けると（図１０のＳ１２）、リクエストに含まれるユーザＩＤとパスワードに基づいて、パスワード認証を行う（Ｓ１３）。認証に成功すると、認証部１１１は認証トークン１３を生成するとともに、サーバ１０の乱数生成部１１３はデータｃｏｏｋｉｅ＿ｐｅｅｒ１２を生成する（Ｓ１４）。認証トークン１３は、例えば、暗号化された文字列を有する。
【００８４】
次に、サーバ１０の暗号化部１１２は、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを連結させ、暗号化する。そして、暗号化部１１２は、暗号化した認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを含む認証Ｃｏｏｋｉｅ１１を生成する（Ｓ１５）。そして、サーバ１０は、生成した認証Ｃｏｏｋｉｅ１１に加えて、認証トークン１３、データｃｏｏｋｉｅ＿ｐｅｅｒ１２を、ＨＴＴＰレスポンスとして、クライアント３０ａに送信する（Ｓ１６）。
【００８５】
図１３は、認証トークンを併用する形態におけるサーバ１０のサービス要求取得時の処理を説明する図である。サーバ１０は、例えば、アクセス制限を有するユーザ領域ＲＤＳに格納されるリソースＲＳのサービス要求を示すＨＴＴＰリクエストの受信時に（図１０のＳ２１）、図１３に示す処理を行う。図１３に説明する処理は、図３に示すサーバ１０のブロック図のリクエスト判定部１２０の処理に対応する。
【００８６】
前述したとおり、ＨＴＴＰリクエストには、認証Ｃｏｏｋｉｅ１１が付与されると共に、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒ１２が付与される。サーバ１０のリクエスト判定部１２０の復号部１２２は、受信した認証Ｃｏｏｋｉｅ１１に含まれる情報を復号して、認証トークン１３とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを取得する（Ｓ２２）。そして、リクエスト判定部１２０のデータ判定部１２１は、認証Ｃｏｏｋｉｅ１１に含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、クエリパラメータとして付与されたデータｃｏｏｋｉｅ＿ｐｅｅｒ１２とを突合し（Ｓ２３）、両者が対応すると判定した場合に（Ｓ２４のＹＥＳ）、ＨＴＴＰリクエストが正当なアクセス要求であると判定する。
【００８７】
ＨＴＴＰリクエストが正当なアクセス要求である場合、サーバ１０のデータアクセス部１３０は、認証トークン１３に基づいて、アクセス要求に対応する対象のリソースのアクセス権を有するか否かを確認する（Ｓ２５）。アクセス権を有する場合、サーバ１０は、ＨＴＴＰレスポンスとして、対象のリソースをクライアント３０ａに送信する（Ｓ２６）。
【００８８】
図１４は、図１２、図１３に対応するクライアント３０ａのサービス要求処理を説明する図である。前述したとおり、クライアント３０ａのＷｅｂアプリケーション４１２は、認証に成功した場合（図１１のＳ３２のＹＥＳ）、サーバ１０から認証Ｃｏｏｋｉｅ１１とデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と認証トークン１３とを受信する。前述したとおり、Ｗｅｂブラウザ４１１は、認証Ｃｏｏｋｉｅ１１を、Ｗｅｂブラウザ４１１がアクセスするメモリ領域４０３に格納する。また、Ｗｅｂアプリケーション４１２は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２及び認証トークン１３を、Ｗｅｂアプリケーション４１２がアクセスするメモリ領域４０４に格納する。
【００８９】
サーバ１０にアクセス要求を送信するとき（Ｓ３３のＹＥＳ）、Ｗｅｂアプリケーション４１２は、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を付与可能である場合は（Ｓ３４のＹＥＳ）、Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を付与したＨＴＴＰリクエストを生成し、サーバ１０に送信する。また、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに自動的に認証Ｃｏｏｋｉｅ１１を付与する。
【００９０】
一方、ＨＴＴＰリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎヘッダに認証トークン１３を付与できない場合（Ｓ３４のＮＯ）、Ｗｅｂアプリケーション４１２は、ＨＴＴＰリクエストに、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒ１２を付加する（Ｓ３６）。また、Ｗｅｂブラウザ４１１は、ＨＴＴＰリクエストに自動的に認証Ｃｏｏｋｉｅ１１を付与する。クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒを付加する処理は、Ｗｅｂアプリケーション４１２の処理を記述するスクリプトファイルによって指示される。
【００９１】
図１５は、Ｗｅｂアプリケーション４１２の処理を記述するスクリプトファイルｓｃの一例を表す図である。図１５のスクリプトファイルｓｃは、Ｗｅｂアプリケーション４１２としてサーバ１０からダウンロードされる。図１５の例におけるスクリプトファイルｓｃは、例えば、ＨＴＭＬタグ及びｊａｖａｓｃｒｉｐｔの記述を有する。
【００９２】
図１５の記述ｃｄ１は、ｉｍｇタグにクエリパラメータを付加する処理の記述の一例を示す。記述ｃｄ１内の記述ｄｃ３は、ｉｍｇタグのｓｒｃにクエリパラメータ”cookie_peer=変数cookie_peer”を連結させる記述を示す。また、記述ｃｄ２は、変数cookie_peerに値Nonceを入力する処理を示す。図１５の例において、値Nonceは、十数バイトの数字または文字を含むランダムな値である。したがって、記述ｃｄ１は、ｉｍｇタグ<ｉｍｇ  src=  https://fqdn/cell/box/image.jpg?cookie_peer=Nonce>を生成する。図１５の例は、ボタンが押下されたときに、関数ｌｏａｄ（）を呼び出し、クエリパラメータが付与されたｉｍｇタグを生成する。これにより、クエリパラメータが付与されたＨＴＴＰリクエストが生成される。
【００９３】
図１６は、認証要求のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの一例を示す図である。図１６のＨＴＴＰリクエストＲ１は、クライアント３０ａがサーバ１０に送信する認証要求のＨＴＴＰリクエストの一例であって、図９のＨＴＴＰリクエストｂ１１に対応する。図１６に示すＨＴＴＰリクエストＲ１のメッセージボディの記述ｃｄ１０はユーザＩＤ及びパスワードを示し、記述ｃｄ１１は認証Ｃｏｏｋｉｅ１１の返却を指示する設定値を示す。
【００９４】
また、図１６のＨＴＴＰレスポンスＲ２は、認証要求に対するレスポンスの一例であって、図９のＨＴＴＰレスポンスｂ１２に対応する。図９で説明したとおり、ＨＴＴＰレスポンスＲ２は、暗号化されたデータｃｏｏｋｉｅ＿ｐｅｅｒ１２及び暗号化された認証トークン１３とを含む認証Ｃｏｏｋｉｅ１１と、データｃｏｏｋｉｅ＿ｐｅｅｒ１２と、認証トークン１３とを含む。
【００９５】
具体的に、図１６に示すＨＴＴレスポンスＲ２のリクエスト行の”２００  ＯＫ”は、正常終了ステータスを示す。また、ＨＴＴＰレスポンスＲ２のメッセージヘッダに含まれる記述ｃｄ１２は認証Ｃｏｏｋｉｅ１１を示す。また、ＨＴＴレスポンスＲ２のメッセージボディに含まれる記述ｃｄ１３は、データｃｏｏｋｉｅ＿ｐｅｅｒ１２を示し、記述ｃｄ１４は、認証トークン１３を示す。
【００９６】
図１７は、リソースのアクセス要求のＨＴＴＰリクエスト及びＨＴＴＰレスポンスの一例を示す図である。図１７のＨＴＴＰリクエストＲ３は、クライアント３０ａがサーバ１０に送信するアクセス要求のＨＴＴＰリクエストの一例であって、図９のＨＴＴＰリクエストｂ１３に対応する。図９で前述したとおり、ＨＴＴＰリクエストは、アクセス制限を有するユーザ領域ＲＳＤに格納される動画データ”/fqdn/cell/box/movie.mp4”を要求するリクエストである。
【００９７】
図１７のＨＴＴＰリクエストＲ３は、認証Ｃｏｏｋｉｅ１１を含み、クエリパラメータとしてデータｃｏｏｋｉｅ＿ｐｅｅｒ１２が指定される。具体的に、ＨＴＴＰリクエストＲ３のリクエスト行に含まれる記述ｃｄ１５は、クエリパラメータとして付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒ１２を示す。また、ＨＴＴＰリクエストＲ３のメッセージヘッダ内の記述ｃｄ１６は、認証Ｃｏｏｋｉｅ１１を示す。前述したとおり、認証Ｃｏｏｋｉｅ１１は、暗号化されたデータｃｏｏｋｉｅ＿ｐｅｅｒ１２と、暗号化された認証トークン１３とを含む。
【００９８】
また、図１７に示すＨＴＴＰレスポンスＲ４は、図９のＨＴＴＰレスポンスｂ４に対応する。具体的に、ＨＴＴレスポンスＲ４のリクエスト行の”２００  ＯＫ”は、正常終了ステータスを示し、メッセージボディｃｄ１７は、ＨＴＴＰリクエストのリソースアクセス要求で指定される動画データ”/fqdn/cell/box/movie.mp4”を示す。
【００９９】
以上のように、本実施の形態例におけるサービス提供方法は、情報処理装置（サーバ）１０が、クライアント装置（クライアント）３０ａから受信したセッションの認証要求に応答して、認証に成功した場合に、セッションに関連するデータ（ｃｏｏｋｉｅ＿ｐｅｅｒ）１２を生成するとともに当該データを含む認証に関するクッキー（認証Ｃｏｏｋｉｅ）１１を生成し、クッキーとデータとをクライアント装置に送信する送信工程を有する。また、サービス提供方法は、情報処理装置が、クライアント装置から、データがクエリパラメータとして付与されるサービス要求とクッキーとを受信する受信工程を有する。また、サービス提供方法は、情報処理装置が、クッキーに含まれるデータと、クエリパラメータとして付与されるデータとが一致する場合に、サービス要求のサービスをクライアント装置に提供する提供工程、を有する。
【０１００】
このように、サーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒを含む認証Ｃｏｏｋｉｅとデータｃｏｏｋｉｅ＿ｐｅｅｒとがセットで受信され、両者が一致する場合に、サービス要求が正当なサービス要求であると判定する。認証に成功していないアプリケーションは、認証に成功したアプリケーションの認証Ｃｏｏｋｉｅを盗用したとしても、認証Ｃｏｏｋｉｅに含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒと対となるデータｃｏｏｋｉｅ＿ｐｅｅｒをＨＴＴＰリクエストに付与できない。したがって、サーバ１０は、認証に成功していないアプリケーションが送付したＨＴＴＰリクエストを不正なＨＴＴＰリクエストとして判定可能になる。
【０１０１】
また、本実施の形態例におけるサーバ１０は、データｃｏｏｋｉｅ＿ｐｅｅｒを判定するための情報を管理する必要がない。つまり、データｃｏｏｋｉｅ＿ｐｅｅｒは、同一のＨＴＴＰリクエストに付与される情報と突合されるため、サーバ１０は、各セッションのデータｃｏｏｋｉｅ＿ｐｅｅｒを管理する必要がない。したがって、サーバ１０は、ユーザが増大した場合であっても、管理コストが増大しないため、正当なサービス要求を判定することができる。
【０１０２】
また、クエリパラメータとして付与されるデータｃｏｏｋｉｅ＿ｐｅｅｒを、例えばｎｏｎｃｅと呼ばれる乱数値のように、単体では意味を為さないデータにしているため、クエリパラメータが盗聴されたとしても、セキュリティ上のリスクは低く抑えられる。
【０１０３】
また、本実施の形態例におけるサービス提供方法の送信工程は、データを暗号化し、暗号化したデータを含むクッキーを送信する工程を含む。また、提供工程は、クッキーに含まれるデータを復号する工程と、クエリパラメータとして付与されるデータと復号したデータとが一致する場合に、サービス要求のサービスをクライアント装置に提供する工程と、を有する。認証Ｃｏｏｋｉｅに含まれるデータｃｏｏｋｉｅ＿ｐｅｅｒが暗号化されることによって、クエリパラメータに付与されたデータと対になるデータｃｏｏｋｉｅ＿ｐｅｅｒが認証Ｃｏｏｋｉｅ１１に含まれることが検知され難くなる。これにより、セキュリティレベルがより向上する。
【０１０４】
また、本実施の形態例におけるサービス提供方法によると、送信工程では、データに加えて、さらに、情報処理装置が提供するサービス上の権限情報を含む認証トークン１３を含むクッキーを生成し、提供工程では、クッキーに含まれるデータと、クエリパラメータとして付与されるデータとが一致する場合に、クッキーに含まれる認証トークンの権限情報に基づいて、サービス要求のサービスをクライアント装置に提供する。
【０１０５】
これにより、サーバ１０は、認証トークンを付与できないＨＴＴＰリクエストであっても、認証Ｃｏｏｋｉｅ１１に基づいて、認証トークン１３を取得できる。また、サーバ１０は、たとえ、認証トークン１３を含む認証Ｃｏｏｋｉｅ１１が盗用された場合でも、両データが一致しない場合に正当なサービス要求であると判定しないため、認証トークン１３に基づいて不正にリソースにアクセスが行われることを回避できる。
【０１０６】
また、本実施の形態例におけるサービス提供方法の送信工程は、データ及び認証トークンを暗号化し、暗号化したデータと暗号化した認証トークンとを含むクッキーを送信する工程を含む。また、提供工程は、クッキーに含まれるデータと認証トークンとを復号する工程と、クエリパラメータとして付与されるデータと、復号したデータとが一致する場合に、復号した認証トークンの権限情報に基づいて、サービス要求のサービスをクライアント装置に提供する工程と、を有する。データｃｏｏｋｉｅ＿ｐｅｅｒに加えて、認証Ｃｏｏｋｉｅに含まれる認証トークンが暗号化されることによって、セキュリティレベルがより向上する。
【０１０７】
また、本実施の形態例におけるサービス提供方法の送信工程で生成するデータは、数字、文字のいずれかまたは両方をランダムに有するデータである。データｃｏｏｋｉｅ＿ｐｅｅｒは、単体では意味を為さないデータであるため、クエリパラメータが盗聴された場合でも、セキュリティ上のリスクは抑えられる。
【符号の説明】
【０１０８】
１０、２０：サーバ、３０ａ〜３０ｃ：クライアント、１１：認証Ｃｏｏｋｉｅ、１２：データｃｏｏｋｉｅ＿ｐｅｅｒ、１３：認証トークン、４１１：Ｗｅｂブラウザ、４１２：Ｗｅｂアプリケーション、３１１：メモリ領域（Ｗｅｂブラウザ）、３１２：メモリ領域（Ｗｅｂアプリケーション）、ＲＳＤ：ユーザ領域、ＲＳ：リソース
【図１】
0006546100.tif 000002
【図２】
0006546100.tif 000003
【図３】
0006546100.tif 000004
【図４】
0006546100.tif 000005
【図５】
0006546100.tif 000006
【図６】
0006546100.tif 000007
【図７】
0006546100.tif 000008
【図８】
0006546100.tif 000009
【図９】
0006546100.tif 000010
【図１０】
0006546100.tif 000011
【図１１】
0006546100.tif 000012
【図１２】
0006546100.tif 000013
【図１３】
0006546100.tif 000014
【図１４】
0006546100.tif 000015
【図１５】
0006546100.tif 000016
【図１６】
0006546100.tif 000017
【図１７】
0006546100.tif 000018