(57)【要約】【課題】Ｗｅｂブラウザに特別な仕組みを実装することなく、ＷｅｂアプリケーションがＷｅｂブラウザが動作するユーザ装置を特定できるようにする。【解決手段】Ｗｅｂアプリケーション１０６がＷｅｂブラウザ１０３からリクエストを受信し、Ｗｅｂブラウザ１０３に、署名アプリケーション１０５へのリダイレクトを指示する。Ｗｅｂブラウザ１０３が署名アプリケーション１０５にリダイレクトし、署名アプリケーション１０５が署名を生成し、Ｗｅｂブラウザ１０３に、Ｗｅｂアプリケーションへのリダイレクトを指示する。このリダイレクトを受けたＷｅｂアプリケーション１０６が、署名が正しいことを確認して、Ｗｅｂアプリケーション１０６がリダイレクト元のＷｅｂブラウザ１０３が動作するユーザ装置を上記リクエストの送信元のＷｅｂブラウザ１０３が動作するユーザ装置１０１として特定する。【選択図】図１
2011253474.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置のＷｅｂアプリケーションが、ユーザ装置が備えるＷｅｂブラウザからのリクエストを受けたことに応じて、一意の情報を生成し保存し、該一意の情報と、前記ユーザ装置が備える署名情報生成部へリダイレクトする指示とを前記Ｗｅｂブラウザに送信し、
前記署名情報生成部が、前記指示に従う前記Ｗｅｂブラウザが送信する前記一意の情報を受信し、該受信した一意の情報を基に署名情報を生成し、該署名情報と該一意の情報とを含む前記Ｗｅｂアプリケーションへのリダイレクトを行う指示を前記Ｗｅｂブラウザに送信し、
前記Ｗｅｂアプリケーションが、該指示に従うＷｅｂブラウザからのリダイレクトを受信し、該受信したリダイレクトが含む一意の情報と前記保存した一意の情報とが合致する場合に、該リダイレクトが含む署名情報が正しいかを確認し、該署名情報が正しいと確認した場合に、前記ユーザ装置を特定するユーザ装置特定方法。
【請求項２】
ユーザ装置が備えるＷｅｂブラウザから受けたリクエストに応じた処理を実行する情報処理装置が備えるＷｅｂアプリケーションが、前記Ｗｅｂブラウザからリクエストを受信する受信ステップと、
前記Ｗｅｂアプリケーションが、前記リクエストの送信元のＷｅｂブラウザに対して、該ユーザ装置に対応する署名情報を生成する署名情報生成部へのリダイレクトを指示する第１リダイレクト指示ステップと、
前記Ｗｅｂブラウザが前記署名情報生成部にリダイレクトする第１リダイレクトステップと、
前記Ｗｅｂブラウザから前記リダイレクトを受けた前記署名情報生成部が、該Ｗｅｂブラウザが動作するユーザ装置に対応する署名情報を生成する署名情報生成ステップと、
前記署名情報生成部が、前記Ｗｅｂブラウザに前記Ｗｅｂアプリケーションへのリダイレクトを指示し、前記生成した署名情報を該リダイレクトの指示を通じて該Ｗｅｂブラウザに渡す第２リダイレクト指示ステップと、
前記Ｗｅｂブラウザが、前記Ｗｅｂアプリケーションにリダイレクトして、該Ｗｅｂアプリケーションに対して前記署名情報を渡す第２リダイレクトステップと、
前記Ｗｅｂアプリケーションが、前記署名情報が正しいかを確認し、前記署名情報が正しいと確認した場合に、リダイレクト元のＷｅｂブラウザが動作するユーザ装置を前記リクエストを送信したＷｅｂブラウザが動作するユーザ装置として特定する装置特定ステップとを有する
ことを特徴とするユーザ装置特定方法。
【請求項３】
前記受信ステップにおいて、前記Ｗｅｂアプリケーションが、前記Ｗｅｂブラウザと該Ｗｅｂアプリケーションとの間の通信セッションに対応付けられる変数情報を生成して記憶部に記憶し、
前記第１リダイレクト指示ステップにおいて、前記Ｗｅｂアプリケーションが、前記変数情報を前記リダイレクトの指示を通じて前記Ｗｅｂブラウザに渡し、
前記第１リダイレクトステップにおいて、前記Ｗｅｂブラウザが該署名情報生成部へのリダイレクトを通じて前記変数情報を該署名情報生成部に渡し、
前記署名情報生成ステップにおいて、前記署名情報生成部が、前記Ｗｅｂブラウザが動作するユーザ装置の識別情報と前記変数情報と該ユーザ装置に対応する秘密鍵とに基づいて、前記署名情報を生成し、
第２リダイレクトステップにおいて、前記Ｗｅｂブラウザが、前記リダイレクトを通じて、前記Ｗｅｂアプリケーションに対して前記署名情報と前記変数情報と該Ｗｅｂアプリケーションが動作するユーザ装置の識別情報とを渡し、
前記装置特定ステップにおいて、前記Ｗｅｂアプリケーションが、前記記憶部からリダイレクト元のＷｅｂブラウザと該Ｗｅｂアプリケーションとの間の通信セッションに対応する変数情報を取得し、取得した変数情報と該Ｗｅｂブラウザからのリダイレクトにより渡された変数情報とが合致するかを判断し、前記通信セッションに対応する変数情報と前記リダイレクトにより渡された変数情報とが合致する場合に、前記リダイレクトによりＷｅｂブラウザから渡された前記ユーザ装置の識別情報に対応する公開鍵を取得し、取得した公開鍵を用いて前記署名情報が正しいかを判断する
ことを特徴とする請求項２に記載のユーザ装置特定方法。
【請求項４】
第１リダイレクト指示ステップにおいて、前記Ｗｅｂアプリケーションが、前記Ｗｅｂブラウザに対して、前記署名情報生成部へのリダイレクトを指示することを通じて該Ｗｅｂブラウザに該Ｗｅｂアプリケーションが動作する前記情報処理装置の時刻情報を渡し、
前記第１リダイレクトステップにおいて、前記Ｗｅｂブラウザが、前記署名情報生成部へのリダイレクトを通じて該署名情報生成部に前記時刻情報を渡し、
前記署名情報生成ステップにおいて、前記署名情報生成部が、前記Ｗｅｂブラウザが動作するユーザ装置の識別情報と前記変数情報と前記時刻情報と該ユーザ装置に対応する秘密鍵とに基づいて、前記署名情報を生成し、
第２リダイレクトステップにおいて、前記Ｗｅｂブラウザが、前記リダイレクトを通じて、前記Ｗｅｂアプリケーションに対して前記署名情報と前記変数情報と該Ｗｅｂアプリケーションが動作するユーザ装置の識別情報と前記時刻情報とを渡し、
前記装置特定ステップにおいて、前記Ｗｅｂアプリケーションが、前記署名情報が正しいと判断した場合に、前記情報処理装置の現在時刻情報を取得し、取得した現在時刻情報が示す時刻と前記リダイレクトによりＷｅｂブラウザから渡された時刻情報が示す時刻との差が所定の時間範囲内であるかを判断し、前記現在時刻情報が示す時刻と前記Ｗｅｂブラウザから渡された時刻情報が示す時刻との差が所定の時間範囲内である場合に、リダイレクト元のＷｅｂブラウザが動作するユーザ装置を前記リクエストを送信したＷｅｂブラウザが動作するユーザ装置として特定する
ことを特徴とする請求項３に記載のユーザ装置特定方法。
【請求項５】
前記リクエストがＨＴＴＰリクエストである
ことを特徴とする請求項１乃至４のいずれか１項に記載のユーザ装置特定方法。
【請求項６】
ユーザ装置と、前記ユーザ装置から受けたリクエストに応じた処理を実行する情報処理装置とを備える情報処理システムであって、
前記ユーザ装置が、
前記Ｗｅｂアプリケーションに対してリクエストを送信し、前記リクエストを受信したＷｅｂアプリケーションの指示に従って、前記署名情報生成部にリダイレクトし、該署名情報生成部の指示に従って、前記Ｗｅｂアプリケーションにリダイレクトして、該Ｗｅｂアプリケーションに対して前記署名情報を渡すＷｅｂブラウザと、
前記Ｗｅｂブラウザから前記リダイレクトを受け、前記Ｗｅｂブラウザが動作するユーザ装置に対応する署名情報を生成し、前記Ｗｅｂブラウザに前記Ｗｅｂアプリケーションへのリダイレクトを指示し、前記生成した署名情報を該リダイレクトの指示を通じて該Ｗｅｂブラウザに渡す署名情報生成部とを備え、
前記情報処理装置が、
前記ユーザ装置が備えるＷｅｂブラウザから前記リクエストを受信し、前記リクエストの送信元のＷｅｂブラウザに対して、前記署名情報生成部へのリダイレクトを指示し、前記Ｗｅｂブラウザからのリダイレクトを通じて渡された前記署名情報が正しいかを確認し、前記署名情報が正しいと確認した場合に、リダイレクト元のＷｅｂブラウザが動作するユーザ装置を前記リクエストを送信したＷｅｂブラウザが動作するユーザ装置として特定するＷｅｂアプリケーションを備える
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ装置特定方法および情報処理システムに関する。
【背景技術】
【０００２】
ネットワークを介してアプリケーションを利用するためのＷｅｂシステムが提案されている。Ｗｅｂシステムにおいては、Ｗｅｂアプリケーションがサーバ上に実装される。ユーザ装置が備えるＷｅｂブラウザは、Ｗｅｂアプリケーションに対するＵＲＬを指定してＨＴＴＰリクエストを送信することにより、ＷｅｂアプリケーションのＷｅｂページを表示させたりできる。ＵＲＬは、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略称である。ＨＴＴＰは、ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略称である。コピー機、プリンタ、ファクシミリ、又は複合機等の画像形成装置の画像処理機能をＷｅｂアプリケーションによって提供することが考えられる。このような画像形成装置によれば、利用者は、利用したい機能（Ｗｅｂアプリケーション）のＵＲＬをＷｅｂブラウザ等に入力することにより、画像形成装置の画像処理機能を遠隔的に利用することができる。
【０００３】
ＷｅｂアプリケーションにおいてＷｅｂブラウザが動作するユーザ装置を特定するための技術として、Ｗｅｂブラウザがユーザ装置を特定するための情報を取得し、この情報をＷｅｂアプリケーションに送信するシステムが提案されている。例えば、特許文献１は、Ｗｅｂブラウザが証明書ナンバをサービス提供装置に送信し、管理装置が、この証明書ナンバに対応するユーザ証明書に基づき、情報端末にＷｅｂ閲覧を許可するか否かを決定する認証システムを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４３１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クラウドコンピューティングシステム等、複数のユーザ装置（例えば画像形成装置）が同じサーバにアクセスするシステムでは、どのユーザ装置から画像処理に関する要求（例えば、スキャン処理に関する要求、印刷要求）がされたのかを特定する必要性が高い。
【０００６】
しかし、Ｗｅｂブラウザがユーザ装置を特定するための情報を取得し、この情報をＷｅｂアプリケーションに送信するシステムでは、Ｗｅｂブラウザをユーザ装置を特定するための情報の取得・送信のためにカスタマイズする必要がある。また、ユーザ装置を特定するための仕組みに修正があった場合には、Ｗｅｂブラウザそのものを変更する必要がある。また、上記非特許文献１に開示されたＴＬＳのクライアント認証技術は、トランスポート層の規格である。従って、Ｗｅｂアプリケーションが、ＴＬＳのクライアント認証機能により認証されたクライアント（Ｗｅｂブラウザの動作する端末）に関する情報を取得することは困難である。また、Ｗｅｂブラウザがクライアント認証機能を実装している必要がある。
【０００７】
本発明は、Ｗｅｂブラウザに特別な仕組みを実装することなく、Ｗｅｂアプリケーションが、Ｗｅｂブラウザが動作するユーザ装置を特定することができるユーザ装置認証方法の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態のユーザ装置特定方法は、サーバ装置のＷｅｂアプリケーションが、ユーザ装置が備えるＷｅｂブラウザからのリクエストを受けたことに応じて、一意の情報を生成し保存し、該一意の情報と、前記ユーザ装置が備える署名情報生成部へリダイレクトする指示とを前記Ｗｅｂブラウザに送信し、前記署名情報生成部が、前記指示に従う前記Ｗｅｂブラウザが送信する前記一意の情報を受信し、該受信した一意の情報を基に署名情報を生成し、該署名情報と該一意の情報とを含む前記Ｗｅｂアプリケーションへのリダイレクトを行う指示を前記Ｗｅｂブラウザに送信し、前記Ｗｅｂアプリケーションが、該指示に従うＷｅｂブラウザからのリダイレクトを受信し、該受信したリダイレクトが含む一意の情報と前記保存した一意の情報とが合致する場合に、該リダイレクトが含む署名情報が正しいかを確認し、該署名情報が正しいと確認した場合に、前記ユーザ装置を特定することを特徴とする。
【発明の効果】
【０００９】
本発明のユーザ装置特定方法によれば、Ｗｅｂブラウザに特別な仕組みを実装することなく、また、ＴＬＳのクライアント認証機能を用いることなく、Ｗｅｂアプリケーションが、Ｗｅｂブラウザが動作するユーザ装置を特定することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の情報処理システムの例である。
【図２】アプリケーションサーバのハードウェア構成例を示す図である。
【図３】ユーザ装置のハードウェア構成例を示す図である。
【図４】画像データの読み取り処理を説明するシーケンス図である。
【図５】ユーザ装置の特定処理を説明するシーケンス図である。
【図６】ＨＴＴＰリクエストとＨＴＴＰレスポンスの例を示す図である。
【図７】印刷データの印刷処理を説明するシーケンス図である。
【図８】ユーザ装置の特定処理を説明するシーケンス図である。
【図９】ＨＴＴＰリクエストの受信処理フローの例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本実施形態の情報処理システムの例である。本実施形態の情報処理システムは、Ｗｅｂブラウザが動作するユーザ装置をＷｅｂアプリケーションが特定するユーザ装置特定方法を実現する。図１に示す情報処理システムは、ユーザ装置１０１とアプリケーションサーバ１０２とを備える。ユーザ装置１０１とアプリケーションサーバ１０２とは、ネットワーク１０８を介して接続されている。ユーザ装置１０１は、ユーザが操作する情報処理装置（または端末）である。ユーザ装置１０１は、例えば、デジタル複合機である。デジタル複合機は、その高機能化に伴い、Ｗｅｂブラウザ機能や業務アプリケーション等を動作させるためのアプリケーション環境を含んでいる。アプリケーション環境は、例えばＪａｖａ（登録商標）アプリケーションの実行環境や、Ｊａｖａ（登録商標）のＳａｒｖｌｅｔを利用したＷｅｂアプリケーションの実行環境である。ユーザ装置１０１がデジタル複合機として機能する場合、ユーザ装置１０１は画像を読み取る画像読取装置と、印刷データの印刷処理を制御するＬＰＤサーバ８０１（図７を参照、図１では図示を省略）を備える。
【００１２】
ユーザ装置１０１は、アプリケーションサーバ１０２に対してリクエストを行う。アプリケーションサーバ１０２は、ユーザ装置１０１から受けたリクエストに応じた処理を実行する情報処理装置である。ユーザ装置１０１は、Ｗｅｂブラウザ１０３、Ｗｅｂサーバ１０４、署名アプリケーション１０５、スキャンサービス１０９を備える。Ｗｅｂブラウザ１０３は、アプリケーションサーバ１０２が備えるＷｅｂアプリケーション１０６に接続し、Ｗｅｂアプリケーション１０６が提供する機能（例えば、スキャンアプリケーションの機能）を利用する。Ｗｅｂブラウザ１０３は、Ｗｅｂアプリケーションへの接続開始時に、Ｗｅｂアプリケーション１０６に対してＨＴＴＰリクエストを送信する。また、Ｗｅｂブラウザ１０３は、Ｗｅｂアプリケーション１０６から受けるリダイレクト指示に従って、署名アプリケーション１０５にリダイレクトする（第１リダイレクトステップを実行する）。また、Ｗｅｂブラウザ１０３は、署名アプリケーション１０５から受けるリダイレクト指示に従って、Ｗｅｂアプリケーション１０６にリダイレクトする（第２リダイレクトステップを実行する）。Ｗｅｂブラウザ１０３は、Ｗｅｂアプリケーション１０６に対して、上記リダイレクト指示に含まれる署名情報（以下、署名と記述）を渡す。後述する署名アプリケーション１０５が署名を生成する。
【００１３】
Ｗｅｂサーバ１０４は、Ｗｅｂサーバ１０４上で動作するスキャンサービス１０９を制御する。スキャンサービス１０９は、例えば、Ｓａｒｖｌｅｔとして提供される。スキャンサービス１０９は、Ｗｅｂアプリケーション１０６からの指示に従って、例えば画像読取装置から画像を読み取り、読み取った画像データをＷｅｂアプリケーション１０６に送信する。
【００１４】
署名アプリケーション１０５は、ユーザ装置１０１に対応する署名を生成する署名情報生成部として機能する。署名アプリケーション１０５は、Ｗｅｂブラウザ１０３にＷｅｂアプリケーションへのリダイレクトを指示し、生成した署名を該リダイレクトの指示を通じて該Ｗｅｂブラウザ１０３に渡す（第２リダイレクト指示ステップを実行する）。
【００１５】
アプリケーションサーバ１０２は、Ｗｅｂアプリケーション１０６と管理データベース（ＤＢ）１０７を備えるサーバ装置である。Ｗｅｂアプリケーション１０６は、ユーザ装置１０１のＷｅｂブラウザ１０３からＨＴＴＰリクエストを受ける。Ｗｅｂアプリケーション１０６は、このリクエストの送信元のＷｅｂブラウザに対して、署名アプリケーション１０５に対するリダイレクトをするよう指示する（第１リダイレクト指示ステップを実行する）。また、Ｗｅｂアプリケーション１０６は、Ｗｅｂアプリケーションからリダイレクトを受け、このリダイレクトを通じて渡された署名が正しいかを確認する。Ｗｅｂアプリケーション１０６は、署名が正しと確認した場合に、リダイレクト元のＷｅｂブラウザ１０３が動作するユーザ装置を上記リクエストを送信したＷｅｂブラウザが動作するユーザ装置１０１として特定する（装置特定ステップを実行する）。
【００１６】
管理ＤＢ１０７は、端末ＩＤ、ユーザ装置１０１に対応する公開鍵、Ｗｅｂアプリケーション１０６が利用する各種データを格納する記憶部である。端末ＩＤは、ユーザ装置１０１を一意に識別する識別情報である。公開鍵は、Ｗｅｂアプリケーション１０６がＷｅｂブラウザから渡された署名が正しいかを確認するために用いられる。管理ＤＢ１０７が、アプリケーションサーバ１０２内部で動作してもよいし、ネットワーク１０８を介してユーザ装置１０１と接続されたホストコンピュータ（図示を省略）上で動作してもよい。
【００１７】
図２は、アプリケーションサーバのハードウェア構成例を示す図である。アプリケーションサーバ１０２は、ＣＰＵ（Central Processing Unit ）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３を備える。また、アプリケーションサーバ１０２は、キーボードコントローラ（ＫＢＤＣ）２０４、ビデオコントローラ（ＶＣ）２０５、ディスクコントローラ（ＤＫＣ）２０６を備える。また、アプリケーションサーバ１０２は、ＣＯＭＭ  Ｉ／Ｆ（Interface ）２０７、キーボード（ＫＢＤ）２０８、表示装置２０９、外部記憶装置２１０を備える。ＣＰＵ２０１乃至ＣＯＭＭ  Ｉ／Ｆ２０７は、システムバス２１１に接続されている。
【００１８】
ＣＰＵ２０１は、アプリケーションサーバ１０２全体を制御する。具体的には、ＣＰＵ１０２は、ＲＯＭ２０３や外部記憶装置２１０に記憶された、或いはネットワーク１０８を通じてダウンロードしたプログラムを実行し、システムバス２１１に接続された各デバイスを総括的に制御する。なお、外部記憶装置２１０は、ハードディスク、フロッピー（登録商標）ディスク等を有する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリあるいはワークエリアとして機能する。ＲＯＭ２０３にはＣＰＵ２０１が実行するプログラムが予め記憶される。
【００１９】
ＫＢＤＣ２０４は、ＫＢＤ２０８や図示しないポインティングデバイスが入力した入力情報をＣＰＵ２０１に送る。ＶＣ２０５は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等からなる表示装置２０９の表示処理を制御する。ＤＫＣ２０６は、システムバス２１１に接続されたデバイスから外部記憶装置２１０へのアクセスを制御する。ＣＯＭＭ  Ｉ／Ｆ２０７は、通信コントローラとして機能し、アプリケーションサーバ１０２をネットワーク１０８に接続する。
【００２０】
図３は、ユーザ装置のハードウェア構成例を示す図である。図３では、デジタル複合機として機能するユーザ装置１０１のハードウェア構成について説明する。ユーザ装置１０１は、全体制御部１１１０、リーダ部１１１１、プリンタ部１１１２、操作部１１１３を備える。全体制御部１１１０は、ユーザ装置１０１に接続された各種装置及びインタフェースを制御すると共に、ユーザ装置１０１全体の動作を制御する。リーダ部１１１１は、原稿の画像を読み取り、原稿の画像に応じた画像データをプリンタ部１１１２に出力する。リーダ部１１１１が、画像データをユーザ装置１０１内部の記憶装置であるＨＤＤ（Hard Disk Drive ）１１０５に保存するようにしてもよい。リーダ部１１１１が、ネットワークＩ／Ｆ１１１４を介して、ネットワーク１０８に接続されたホストコンピュータに画像データを送信するようにしてもよい。
【００２１】
プリンタ部１１１２は、リーダ部１１１１が読み取った原稿に応じた画像データや、ユーザ装置１０１内のＨＤＤ１１０５に格納された画像データを印刷する。また、プリンタ部１１１２は、ネットワーク１０８に接続されたホストコンピュータから印刷ジョブをネットワークＩ／Ｆ部１１１４を介して受け取り、印刷処理を実行する。操作部１１１３は、ボタン、表示装置、またはタッチパネル入力付き液晶表示画面を備える。操作部１１１３は、ユーザの操作入力に応じた入力情報を全体制御部１１１０に対して通知する。また、操作部１１１３は、全体制御部１１１０が出力する情報を表示する。
【００２２】
全体制御部１１１０は、ＣＰＵ１１０１、ＲＯＭ１１０２、ＲＡＭ１１０３、ＨＤＣ（Hard Disk Controller）１１０４、ＨＤＤ１１０５を備える。また、全体制御部１１１０は、リーダＩ／Ｆ１１０７、プリンタＩ／Ｆ１１０８、操作部Ｉ／Ｆ１１０９、ネットワークＩ／Ｆを備える。ＣＰＵ１１０１は、ＲＯＭ１１０２またはＨＤＤ１１０５に記憶された制御プログラムを実行し、システムバス１１０６に接続する各デバイスを統括的に制御する。ＲＡＭ１１０３は、ＣＰＵ１１０１のワークエリア等として機能する。ＨＤＣ１１０４はＨＤＤ１１０５を制御する。リーダＩ／Ｆ１１０７、プリンタＩ／Ｆ１１０８は、それぞれ、リーダ部１１１１、プリンタ部１１１２に接続され、接続されたデバイスを制御する。操作部Ｉ／Ｆ１１０９は、操作部１１１３に接続され、操作部１１１３への表示や、操作部１１１３によるユーザ操作に応じた入力処理を制御する。ネットワークＩ／Ｆ１１１４は、ネットワーク１０８に接続され、全体制御部１１１０が、ネットワーク１０８上の外部装置（例えばアプリケーションサーバ１０２）と相互通信するために用いられる。ネットワークＩ／Ｆ１１１４は、例えば、ネットワークインタフェースカード（ＮＩＣ）である。
【００２３】
図４は、実施例１の情報処理システムが実行する画像データの読み取り処理を説明するシーケンス図である。図４に示す画像データの読み取り処理は、図３を参照して後述するユーザ装置の特定処理によって、ユーザ装置が特定された後に実行される。まず、Ｗｅｂブラウザ１０３が、Ｗｅｂアプリケーション１０６に対してＨＴＴＰリクエスト３０１を送信することにより、Ｗｅｂアプリケーション１０６が備えるスキャンアプリケーションにアクセスする。Ｗｅｂアプリケーション１０６が、受信したＨＴＴＰリクエスト３０１に応じて、スキャン設定を行うための画面の表示を指示するＨＴＴＰレスポンス３０３を返す（ステップＳ３０２）。
【００２４】
次に、Ｗｅｂブラウザ１０３が、Ｗｅｂアプリケーション１０６から受信したＨＴＴＰレスポンス３０３に基づいて、スキャン設定を行うための画面を表示する。そして、Ｗｅｂブラウザ１０３が、この画面上でのユーザの操作入力に応じて、スキャン設定完了の指示を検知し、設定内容を含むＨＴＴＰリクエスト３０５をＷｅｂアプリケーション１０６に送信する（ステップＳ３０４）。
【００２５】
次に、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト３０５に含まれる設定内容に従い、スキャンサービス１０９に対して、画像のスキャンを指示するスキャン指示３０７を送信する（ステップＳ３０６）。スキャン指示３０７を受信したスキャンサービス１０９が、ユーザ装置１０１が備える画像読取装置に画像の読み取りを指示する。そして、スキャンサービス１０９が、読み取った画像データ３０９を、スキャン指示３０７に対する応答として、Ｗｅｂアプリケーション１０６に送信する（ステップＳ３０８）。
【００２６】
情報処理システムが図４に示す画像データの読み取り処理を実行する前に、Ｗｅｂアプリケーション１０６が、スキャン指示３０７の送信先が確実にユーザ装置１０１であることを認識している必要がある。従って、図５を参照して説明するように、Ｗｅｂブラウザ１０３がＷｅｂアプリケーション１０６にアクセスしたことを契機として、Ｗｅｂアプリケーション１０６が、Ｗｅｂブラウザ１０３が動作するユーザ装置１０１を特定する。
【００２７】
図５は、実施例１の情報処理システムが実行する、Ｗｅｂブラウザが動作するユーザ装置の特定処理を説明するシーケンス図である。まず、Ｗｅｂブラウザ１０３が、サーバ１０２上で動作するＷｅｂアプリケーション１０６に対してＨＴＴＰリクエスト４０１を送信する。
【００２８】
図６（Ａ）は、ＨＴＴＰリクエスト４０１の例を示す。図６（Ａ）に示すＨＴＴＰリクエスト４０１に含まれる、「Ｕｓｅｒ−Ａｇｅｎｔ」内の文字列「ＭＦＰ」と「ＩＲ−Ｓ」とが、ユーザ装置１０１がデジタル複合機であることを示す。
【００２９】
図５に戻って、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４０１の受信処理を開始する（ステップＳ４０２）。Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４０１のヘッダの「Ｕｓｅｒ−Ａｇｅｎｔ」の内容を取得する。「Ｕｓｅｒ−Ａｇｅｎｔ」中には「ＭＦＰ」と「ＩＲ−Ｓ」が含まれる。従って、Ｗｅｂアプリケーション１０６が、この「Ｕｓｅｒ−Ａｇｅｎｔ」の内容に基づいて、ＨＴＴＰリクエスト４０１がデジタル複合機として機能するユーザ装置内のＷｅｂブラウザから送信されたものであることを確認する（ステップＳ４０３）。ステップＳ４０３においては、Ｗｅｂアプリケーション１０６は、どのデジタル複合機（ユーザ装置）からのリクエストであるかを確認することはできない。
【００３０】
次に、Ｗｅｂアプリケーション１０６が、乱数４０５を生成し、乱数４０５をＷｅｂアプリケーション１０６のセッション変数に保存する（ステップＳ４０４）。セッション変数は、ＨＴＴＰのセッションＩＤに関連付けてＨＴＴＰアプリケーション側に格納される変数である。同じセッションＩＤを持つＨＴＴＰリクエスト間で変数に格納された値が共有される。すなさち、Ｗｅｂアプリケーション１０６は、Ｗｅｂブラウザ１０３とＷｅｂアプリケーション１０６との間の通信セッションに対応付けられる変数情報である乱数を生成して記憶部に記憶する。
【００３１】
続いて、Ｗｅｂアプリケーション１０６が、Ｗｅｂブラウザ１０３に対してＨＴＴＰレスポンス４０６を返信する。ＨＴＴＰレスポンス４０６は、Ｗｅｂブラウザ１０３に対して、署名アプリケーション１０５のＵＲＬへのリダイレクトを指示する。ＨＴＴＰレスポンス４０６は、少なくとも、乱数４０５と後述するＨＴＴＰリクエスト４１４の戻り先のＵＲＬ（Ｗｅｂアプリケーション１０６のＵＲＬ）とをパラメータとして含む。Ｗｅｂアプリケーション１０６は、乱数をリダイレクトの指示を通じてＷｅｂブラウザ１０３に渡す。すなわち、Ｗｅｂアプリケーション１０６は、ユーザ装置が備えるＷｅｂブラウザからのリクエストを受けたことに応じて、一意の情報（乱数）を生成し保存し、該一意の情報と、署名アプリケーション１０５へリダイレクトする指示とをＷｅｂブラウザに送信する。
【００３２】
図６（Ｂ）は、ＨＴＴＰレスポンス４０６の例を示す。ＨＴＴＰレスポンス４０６に含まれるＬｏｃａｔｉｏｎで指定されるＵＲＬ引数のうち、「ｒｎｄ」で指定される値（ｒｎｄ引数）が乱数４０５である。また、「ｕｒｌ」で指定される値（ｕｒｌ引数）がＨＴＴＰリクエスト４１４のＵＲＬの一部である。署名アプリケーション１０５は、Ｗｅｂブラウザ１０３と同じホストで動作する。従って、Ｗｅｂブラウザ１０３がベースアドレスにｌｏｃａｌｈｏｓｔを指定することによって署名アプリケーション１０５にアクセスできる。即ち、Ｗｅｂアプリケーション１０６は、ユーザ装置１０１のネットワークアドレスに関係なく、ＨＴＴＰレスポンス４０６のＬｏｃａｔｉｏｎにｌｏｃａｌｈｏｓｔを指定する。従って、Ｗｅｂブラウザ１０３が、ＨＴＴＰレスポンス４０６において指定されたｌｏｃａｌｈｏｓｔに基づいて、署名アプリケーション１０５にＨＴＴＰリクエスト４０８を転送することができる。
【００３３】
次に、Ｗｅｂブラウザ１０３が、ＨＴＴＰレスポンス４０６の受信処理を行う（ステップＳ４０７）。Ｗｅｂブラウザ１０３が、ＨＴＴＰレスポンス４０６の内容に基づいて、Ｌｏｃａｔｉｏｎで指定されたユーザ装置１０１内の署名アプリケーション１０５のＵＲＬに対して、ＨＴＴＰリクエスト４０８を送信する。ＨＴＴＰリクエスト４０８は、ＨＴＴＰレスポンス４０６に含まれる乱数と、Ｗｅｂアプリケーション１０６のＵＲＬとをパラメータとして含む。Ｗｅｂアプリケーション１０６のＵＲＬは、ＨＴＴＰリクエスト４０８において、ｕｒｌ引数として指定される。また、乱数は、ｒｎｄ引数として指定される。従って、Ｗｅｂブラウザ１０３は、署名アプリケーション１０５へのリダイレクトを通じて乱数を署名アプリケーション１０５に渡すことができる。
【００３４】
次に、署名アプリケーション１０５が、ＨＴＴＰリクエスト４０８の受信処理を開始する（ステップＳ４０９）。まず、署名アプリケーション１０５が、端末ＩＤとユーザ装置１０１の鍵ペア（公開鍵と秘密鍵のペア）を、署名アプリケーション１０５の動作環境から取得する（ステップＳ４１０）。続いて、署名アプリケーション１０５が、ＨＴＴＰリクエスト４０８から乱数４０５を取り出す。署名アプリケーション１０５が、乱数４０５と端末ＩＤとを結合した文字列の、鍵ペアによる署名を計算（生成）する（ステップＳ４１１）。すなわち、署名アプリケーション１０５が、Ｗｅｂブラウザ１０３が動作するユーザ装置の識別情報（端末ＩＤ）と乱数と該ユーザ装置に対応する秘密鍵とに基づいて、署名情報を生成する。続いて、署名アプリケーション１０５が、Ｗｅｂブラウザ１０３に対してＨＴＴＰレスポンス４１２を返す。ＨＴＴＰレスポンス４１２は、Ｗｅｂブラウザ１０３に対し、上記ＨＴＴＰリクエスト４０８のｕｒｌ引数で指定されたＵＲＬ（Ｗｅｂアプリケーション１０６のＵＲＬ）へのリダイレクトを指示する。署名アプリケーション１０５は、ＨＴＴＰレスポンス４１２において上記署名を指定する。すなわち、署名アプリケーション１０５は、上記リダイレクトの指示に従うＷｅｂブラウザが送信する一意の情報（乱数）を受信し、該受信した一意の情報を基に署名情報を生成する。そして、署名アプリケーション１０５は、該署名情報と該一意の情報とを含むＷｅｂアプリケーションへのリダイレクトを行う指示をＷｅｂブラウザに送信する。
【００３５】
図６（Ｃ）は、ＨＴＴＰレスポンス４１２の例である。ＨＴＴＰレスポンス４１２に含まれるＬｏｃａｔｉｏｎには、ＨＴＴＰリクエスト４１４の転送先のＵＲＬのベースアドレスが指定される。具体的には、署名アプリケーション１０５は、ＨＴＴＰレスポンス４１２に含まれるＬｏｃａｔｉｏｎのＵＲＬ引数に、ＨＴＴＰレスポンス４０６（図６（Ｂ））のｕｒｌ引数の値、すなわちＨＴＴＰリクエスト４０８のｕｒｌ引数の値を指定する。
【００３６】
ＨＴＴＰレスポンス４１２に含まれるＬｏｃａｔｉｏｎで指定されるＵＲＬ引数のうち、ｒｎｄ引数が示す乱数は、ＨＴＴＰレスポンス４０６（図６（Ｂ））のｒｎｄ引数が示す乱数、すなわちＨＴＴＰリクエスト４０８のｒｎｄ引数が示す乱数である。ｉｄ引数の値は、端末ＩＤの値である。文字列「ｓｉｇｎ」で示される値（ｓｉｇｎ引数の値）は、ステップＳ４１１において計算された署名の値である。
【００３７】
次に、Ｗｅｂブラウザ１０３が、署名アプリケーション１０５からＨＴＴＰレスポンス４１２を受信する（ステップＳ４１３）。Ｗｅｂブラウザ１０３が、ＨＴＴＰレスポンス４１２の内容に基づき、ＨＴＴＰレスポンス４１２のＬｏｃａｔｉｏｎのＵＲＬ引数が示すＵＲＬ（Ｗｅｂアプリケーション１０６のＵＲＬ）に対して、ＨＴＴＰリクエスト４１４を送信する（リダイレクトを行う）。ＨＴＴＰリクエスト４１４は、乱数と、端末ＩＤと、署名とを含む。Ｗｅｂブラウザ１０３は、ＨＴＴＰリクエスト４１４に含まれるＵＲＬ引数のうち、ｒｎｄ引数に、ＨＴＴＰレスポンス４１２に含まれる乱数を指定する。また、Ｗｅｂブラウザ１０３は、ｉｄ引数に、ＨＴＴＰレスポンス４１２に含まれる端末ＩＤを指定する。また、Ｗｅｂブラウザ１０３は、ｓｉｇｎ引数に、ＨＴＴＰレスポンス４１２に含まれる署名を指定する。すなわち、Ｗｅｂブラウザ１０３は、リダイレクトを通じて、Ｗｅｂアプリケーション１０６に対して署名と乱数とＷｅｂアプリケーションが動作するユーザ装置の識別情報（端末ＩＤ）とを渡す。
【００３８】
次に、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４の受信処理を開始する（ステップＳ４１５）。Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４から乱数を取得し、取得した乱数を上記ステップＳ４０４においてセッション変数に格納した乱数４０５と比較する。
【００３９】
具体的には、Ｗｅｂアプリケーション１０６は、リダイレクト元すなわちＨＴＴＰリクエストの送信元のＷｅｂブラウザとＷｅｂアプリケーション１０６との間の通信セッションに対応する乱数４０５を取得する。Ｗｅｂアプリケーションは、乱数４０５とＨＴＴＰリクエスト４１４から取得した乱数とが合致するかを判断する。なお、Ｗｅｂアプリケーション１０６は、セッション変数から乱数４０５を取り出すと同時にセッション変数の値を削除する。Ｗｅｂアプリケーション１０６がセッション変数を削除することによって、Ｗｅｂアプリケーション１０６がＨＴＴＰリクエスト４１４と同じリクエストを受信した場合に、Ｗｅｂアプリケーション１０６によるセッション変数の取得に失敗する。また、Ｗｅｂアプリケーション１０６がセッション変数を削除することによって、ＨＴＴＰリクエスト４１４から取得した乱数と乱数４０５とが合致しない。ＨＴＴＰリクエスト４１４から取得した乱数と乱数４０５とが合致しない場合、Ｗｅｂアプリケーション１０６が、エラー表示を指示するＨＴＴＰレスポンスをＷｅｂブラウザ１０３に返信し、処理を終了する。
【００４０】
ＨＴＴＰリクエスト４１４から取得した乱数と乱数４０５とが合致する場合、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４からｉｄ引数で示される端末ＩＤを取得する。また、Ｗｅｂアプリケーション１０６が、上記取得した端末ＩＤに対応する公開鍵を管理ＤＢ１０７から取得する（ステップＳ４１７）。Ｗｅｂアプリケーション１０６が公開鍵の取得に失敗した場合、Ｗｅｂアプリケーション１０６は、エラー表示指示するＨＴＴＰレスポンスをＷｅｂブラウザ１０３に返信し、処理を終了する。
【００４１】
次に、Ｗｅｂアプリケーション１０６が、ステップＳ４１７において取得した公開鍵を用いて、乱数４０５とＨＴＴＰリクエスト４１４に含まれる端末ＩＤとを結合した文字列の署名を確認する（ステップＳ４１８）。すなわち、Ｗｅｂアプリケーション１０６は、Ｗｅｂブラウザからのリダイレクトを受信し、該受信したリダイレクトが含む一意の情報とセッション変数に保存した一意の情報とが合致する場合に、該リダイレクトが含む署名情報が正しいかを確認する。具体的には、Ｗｅｂアプリケーション１０６は、上記公開鍵を用いて、ＨＴＴＰリクエスト４１４に含まれる署名が正しいか（署名の確認に成功したか）を判断する。Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４に含まれる署名が正しくない（署名の確認に失敗した）と判断した場合、Ｗｅｂアプリケーション１０６が、エラー表示を指示するＨＴＴＰレスポンスをＷｅｂブラウザ１０３に返信する。Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４に含まれる署名が正しい（署名の確認に成功した）と判断した場合、Ｗｅｂアプリケーション１０６が、以下の処理を実行する。すなわち、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４０１を送信したＷｅｂブラウザ１０３が動作するユーザ装置を、ユーザ装置１０１（端末ＩＤに対応するユーザ装置）として特定する。
【００４２】
実施例１の情報処理システムによれば、Ｗｅｂブラウザに特別な仕組みを実装することなく、また、ＴＬＳのクライアント認証機能を用いることなく、Ｗｅｂアプリケーションが、Ｗｅｂブラウザが動作するユーザ装置を特定することが可能になる。
【００４３】
図７は、実施例２の情報処理システムが実行する印刷データの印刷処理を説明するシーケンス図である。図７に示す印刷処理は、図８を参照して後述するユーザ装置の特定処理によって、ユーザ装置が特定された後に実行される。
【００４４】
まず、Ｗｅｂブラウザ１０３が、Ｗｅｂアプリケーション１０６の文書印刷用のページのＵＲＬを要求するＨＴＴＰリクエスト８０２を送信する。Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト８０２の受信処理を開始する（ステップＳ８０３）。すなわち、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト８０２に含まれるユーザ情報を取り出し、そのユーザ情報が示すユーザに対応する文書（ユーザ文書）の一覧を取得する。そして、Ｗｅｂアプリケーション１０６が、Ｗｅｂブラウザ１０３にＨＴＴＰレスポンス８０４を返信する。ＨＴＴＰレスポンス８０４は、Ｗｅｂブラウザにユーザ文書の一覧を印刷対象の文書が選択可能なように画面表示させる指示を含む。このために、ＨＴＴＰレスポンス８０４は、ユーザ文書の一覧の表示に用いられるＨＴＭＬを含む。ＨＴＭＬは、ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略称である。
【００４５】
次に、Ｗｅｂブラウザ１０３が、ＨＴＴＰレスポンス８０４を受信し，ユーザ文書一覧を、印刷対象の文書が選択可能なように画面表示し、ユーザの操作入力を待つ（ステップＳ８０５）。Ｗｅｂブラウザ１０３がユーザの操作入力を検出すると、操作入力によって選択された印刷対象の文書を示す情報を含むＨＴＴＰリクエスト８０６を、Ｗｅｂアプリケーション１０６に送信する。続いて、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト８０６を受信し、ＨＴＴＰリクエスト８０６に含まれる印刷対象の文書を示す情報に基づいて、例えばアプリケーションサーバ１０２が備える記憶装置からこの文書を読み込む（ステップＳ８０７）。Ｗｅｂアプリケーション１０６は、読み込んだ文書をデジタル複合機として機能するユーザ装置１０１が印刷可能な形式に変換して印刷データ８０８を生成する。そして、Ｗｅｂアプリケーション１０６が、印刷データ８０８をユーザ装置１０１が備えるＬＰＤサーバ８０１に送信する。ＬＰＤサーバ８０１が、印刷データの印刷処理を制御する（ステップＳ８０９）。
【００４６】
Ｗｅｂアプリケーション１０６が、登録されているデジタル複合機のみからの印刷指示を受け付けるような制限をかけるため、また、印刷データをＨＴＴＰリクエスト８０２の送信元のデジタル複合機に送信するために、情報処理システムが以下の処理を行う。すなわち、図７に示す印刷データの印刷処理を実行する前に、Ｗｅｂブラウザ１０３がＷｅｂアプリケーション１０６にアクセスしたことを契機として、Ｗｅｂアプリケーション１０６が、Ｗｅｂブラウザ１０３が動作するユーザ装置１０１を特定する。
【００４７】
図８は、実施例２の情報処理システムが実行する、Ｗｅｂブラウザが動作するユーザ装置の特定処理を説明するシーケンス図である。実施例２におけるユーザ装置の特定処理の基本的な動作は実施例１におけるユーザ装置の特定処理と同様である。従って、実施例２における処理のうち、図５中のステップ番号と同じステップ番号が付けられた処理は、図５中のステップ番号が示す処理と同様である。
【００４８】
Ｗｅｂアプリケーション１０６が送信するＨＴＴＰレスポンス４０６は、実施例１におけるＨＴＴＰレスポンス４０６に含まれる情報に加え、Ｗｅｂアプリケーション１０６が動作するアプリケーションサーバ１０２の現在時刻を示すタイムスタンプを含む。このタイムスタンプは、リダイレクト先のＵＲＬ引数に指定される。すなわち、Ｗｅｂアプリケーション１０６は、ＨＴＴＰレスポンス４０６の送信を通じて、Ｗｅｂブラウザ１０３にアプリケーションサーバ１０２の時刻情報を渡す。
【００４９】
同様に、ＨＴＴＰリクエスト４０８、ＨＴＴＰレスポンス４１２、ＨＴＴＰリクエスト４１４は、ＵＲＬ引数に上記タイムスタンプを追加で含む。従って、Ｗｅｂブラウザ１０３は、署名アプリケーション１０５へのリダイレクトを通じて署名アプリケーション１０５にタイムスタンプを渡すことができる。また、Ｗｅｂブラウザ１０３は、リダイレクトを通じて、Ｗｅｂアプリケーション１０６に対して署名と乱数と端末ＩＤとタイムスタンプとを渡すことができる。
【００５０】
また、ステップＳ４１１において、署名アプリケーション１０５は、タイムスタンプと乱数と端末ＩＤとを結合した文字列の、鍵ペアによる署名を計算（生成）する。そして、署名アプリケーション１０５が、Ｗｅｂブラウザ１０３に対して、この署名を含むＨＴＴＰレスポンス４１２を返す（ステップＳ４１１）。Ｗｅｂブラウザ１０３が、Ｗｅｂアプリケーション１０６に対してＨＴＴＰリクエスト４１４を送信すると、Ｗｅｂアプリケーション１０６が、図９を参照して説明するＨＴＴＰリクエスト４１４の受信処理を実行する（ステップＳ９０１）。
【００５１】
図９は、ＷｅｂアプリケーションによるＨＴＴＰリクエスト４１４の受信処理フローの例を示す図である。まず、Ｗｅｂアプリケーション１０６が、セッション変数から乱数４０５を取得し、セッション変数を削除する（ステップＳ１００１）。Ｗｅｂアプリケーション１０６が、セッション変数からの乱数４０５の取得に成功したかを判断する（ステップＳ１００２）。乱数４０５の取得に失敗した場合、Ｗｅｂアプリケーション１０６が、Ｗｅｂブラウザ１０３に対し、エラー画面の表示を指示するＨＴＴＰレスポンスを返信する（ステップＳ１０１３）。
【００５２】
乱数４０５の取得に成功した場合、Ｗｅｂアプリケーション１０６が、ＨＴＴＰリクエスト４１４のＵＲＬ引数から、乱数とタイムスタンプと端末ＩＤと署名とを取得する（ステップＳ１００３）。ステップＳ１００３において取得されるタイムスタンプは、Ｗｅｂアプリケーション１０６が図８に示すＨＴＴＰレスポンス４０６をＷｅｂブラウザに送信した時の、アプリケーションサーバ１０２の現在時刻を示す。図９に戻って、Ｗｅｂアプリケーション１０６が、乱数とタイムスタンプと端末ＩＤと署名の取得に成功したかを判断する（ステップＳ１００４）。乱数とタイムスタンプと端末ＩＤと署名の取得に失敗した場合は、ステップＳ１０１３に進む。乱数とタイムスタンプと端末ＩＤと署名の取得に成功した場合は、Ｗｅｂアプリケーション１０６が、以下の処理を実行する。すなわち、Ｗｅｂアプリケーション１０６が、ステップＳ１００１でセッション変数から取得した乱数４０５と、ステップＳ１００４で取得した乱数とを比較し（ステップＳ１００５）、両者が合致するかを判断する（ステップＳ１００６）。セッション変数から取得した乱数４０５と、ステップＳ１００４で取得した乱数とが合致しない場合は、ステップＳ１０１３に進む。
【００５３】
セッション変数から取得した乱数４０５と、ステップＳ１００４で取得した乱数とが合致する場合、Ｗｅｂアプリケーション１０６が、管理ＤＢ１０７から、上記ステップＳ１００３で取得した端末ＩＤに対応する公開鍵を取得する（ステップＳ１００７）。続いて、Ｗｅｂアプリケーション１０６が、端末ＩＤに対応する公開鍵の取得に成功したかを判断する（ステップＳ１００５）。端末ＩＤに対応する公開鍵の取得に失敗した場合は、ステップＳ１０１３に進む。
【００５４】
端末ＩＤに対応する公開鍵の取得に成功した場合、Ｗｅｂアプリケーション１０６が、取得した公開鍵を用いて、上記ステップＳ１００４で取得した署名の確認をする（ステップＳ１００９）。Ｗｅｂアプリケーション１０６が、署名の確認に成功したかを判断する（ステップＳ１０１０）。署名の取得に失敗した場合は、ステップＳ１０１３に進む。署名の取得に成功した場合、Ｗｅｂアプリケーション１０６が、アプリケーションサーバ１０２の現在時刻情報を取得する。Ｗｅｂアプリケーション１０６は、取得した現在時刻情報が示す現在時刻とステップＳ１００３において取得したタイムスタンプが示す時刻との差（ｘ）を計算する（ステップＳ１０１１）。
【００５５】
次に、Ｗｅｂアプリケーション１０６が、ｘが０より大きく、かつ所定の規定値以下であるかを判断する（ステップＳ１０１２）。すなわち、Ｗｅｂアプリケーション１０６が、ｘが所定の時間範囲内であるかを判断する。ｘが０以下であることは、過去に送信された同じ乱数を含むＨＴＴＰリクエストが再送信されたことを意味する。また、ｘが規定値以上であることは、リクエストが時間内に処理されなかったことを意味する。ｘが規定値以上である場合の例として、第三者が通信経路上でＨＴＴＰリクエストを横取りした後にＷｅｂアプリケーション１０６に横取りしたＨＴＴＰリクエストを送信した場合が挙げられる。従って、ｘが０以下または規定値以上である場合、処理がステップＳ１０１３に進む。ｘが０より大きく、かつ、所定の規定値以下の場合、Ｗｅｂアプリケーション１０６が、ＨＴＴＰレスポンス４１４に含まれる端末ＩＤに対応するユーザ装置をＨＴＴＰリクエスト４０１の送信元のユーザ装置として特定する（ステップＳ１０１４）。
【００５６】
実施例２の情報処理システムは、Ｗｅｂアプリケーションが、Ｗｅｂブラウザに対してリダイレクトを指示した時の時刻と現在時刻との差に基づいて、Ｗｅｂブラウザが動作するユーザ装置を特定する。従って、実施例１の情報処理システムと比較して、より確実にＷｅｂブラウザが動作するユーザ装置を特定することが可能になる。
【００５７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００５８】
１０１  ユーザ装置
１０２  アプリケーションサーバ
【図１】
2011253474.tif 000003
【図２】
2011253474.tif 000004
【図３】
2011253474.tif 000005
【図４】
2011253474.tif 000006
【図５】
2011253474.tif 000007
【図６】
2011253474.tif 000008
【図７】
2011253474.tif 000009
【図８】
2011253474.tif 000010
【図９】
2011253474.tif 000011