(57)【要約】  サーバから端末のアプリケーションへの情報をブラウザが引き継ぐ場合、アプリケーションが悪意のあるサーバから不正な操作をされる可能性があった。  クライアント端末（１００）のアプリケーション（１０２）は、自身の状態を表すアプリセッション情報と、自身の身元を証明するアプリ署名を、ブラウザ（１０１）へ送信する。ブラウザは、アプリセッション情報とアプリ署名をサーバ（２００）へ送信する。サーバは、アプリケーションの動作を指示するスクリプトを挿入したＨＴＭＬページとサーバセッション情報を生成し、ブラウザから受信したアプリ署名とともに、ブラウザへ送信する。ブラウザは、スクリプトが起動されると、サーバから受信した情報をアプリケーションへ引き渡す。アプリケーションは、ブラウザから引き渡されたアプリ署名が自身が生成したアプリ署名であった場合のみ、サーバセッション情報に応じた処理を行う。
2011027492.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバに接続され、ブラウザおよび前記ブラウザとは異なるアプリケーションを備えたクライアント端末であって、
前記ブラウザは、
前記アプリケーションから受信した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を前記サーバへ送信するネットワーク送信部と、
前記サーバによって前記アプリセッション情報に応じて生成された、前記アプリケーションの動作を指示するスクリプトが挿入されたＨＴＭＬページと、前記サーバによって前記アプリセッション情報から生成されたサーバセッション情報と、前記サーバによって受信された前記アプリ署名とを、前記サーバから受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有し、
前記アプリケーションは、
前記アプリセッション情報を生成するアプリセッション生成部と、
前記アプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザへ送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有する、クライアント端末。
【請求項２】
前記ネットワーク受信部が受信する前記サーバセッション情報には、前記アプリケーションの状態を定めるアプリ状態設定情報が前記サーバによって含められており、
前記アプリ制御部は、前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信した前記サーバセッション情報から前記アプリ状態設定情報を取り出し、前記アプリ状態設定情報に応じて前記アプリケーションの状態を設定する、請求項１に記載のクライアント端末。
【請求項３】
前記アプリケーションは、前記サーバには読み取られない形式で暗号化された前記アプリ署名を復号する暗号化署名復号部を有し、
前記アプリ署名生成部は、生成した前記アプリ署名を前記サーバには読み取られない形式で暗号化し、
前記アプリセッション送信部は、前記アプリ署名に代えて、前記アプリ署名生成部で暗号化されたアプリ署名を前記ブラウザへ送信し、
前記暗号化署名復号部は、前記ブラウザから受信した前記暗号化されたアプリ署名を復号し、
前記アプリ署名判定部は、前記暗号化署名復号部によって復号されたアプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定する、請求項１に記載のクライアント端末。
【請求項４】
前記アプリケーションは、前記ネットワークを介して取得でき、
一の前記ブラウザは、複数の前記アプリケーションと接続できる、請求項１に記載のクライアント端末。
【請求項５】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末に、ネットワークを介して接続されたサーバであって、
前記アプリケーションが生成した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記ブラウザから受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報からサーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記クライアント端末へ送信するサーバ送信部とを備え、
前記アプリ署名は、送信元サーバ確認用の情報である、サーバ。
【請求項６】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムであって、
前記アプリケーションは、
前記アプリケーションの状態を表すアプリセッション情報を生成するアプリセッション生成部と、
前記アプリケーションの身元を証明するアプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザに送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有し、
前記サーバは、
前記ブラウザから前記アプリセッション情報および前記アプリ署名を受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報から前記サーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記ブラウザへ送信するサーバ送信部とを有し、
前記ブラウザは、
前記アプリセッション送信部から受信した前記アプリセッション情報および前記アプリ署名を、前記サーバへ送信するネットワーク送信部と、
前記サーバから、前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記アプリ署名を受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有する、サーバクライアントシステム。
【請求項７】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムにおける連携動作処理方法であって、
前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記アプリケーションから前記ブラウザへ送信するアプリセッション送信ステップと、
前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信するネットワーク送信ステップと、
前記サーバによって、受信した前記アプリセッション情報に応じてＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入するＨＴＭＬ生成ステップと、
前記サーバによって、受信した前記アプリセッション情報からサーバセッション情報を生成するサーバセッション生成ステップと、
前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信するサーバ送信ステップと、
前記ブラウザによって、前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示するＨＴＭＬ表示ステップと、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信するセッション送信ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定するアプリ署名判定ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせるアプリ制御ステップとを備えた、連携動作処理方法。
【請求項８】
請求項７に記載の連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、をコンピュータに実行させるプログラム。
【請求項９】
請求項８に記載のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末がネットワークでサーバに接続された、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等に関する。例えば、ネットワーク経由でサーバに蓄積されている映像や音声コンテンツをダウンロードまたはストリーミングで再生することのできる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等に関する。
【背景技術】
【０００２】
近年、インターネット技術の急速な発達により、ＷＷＷを利用したインターネットシステムやイントラネットシステムなどのＷＥＢシステムが広く用いられるようになってきている。このようなＷＥＢシステムにおいては、クライアント端末のＷＥＢブラウザとサーバとの間で特定の処理（例えばページの表示）の要求および応答を繰り返すことにより、データベース検索やオンラインショッピング等の各種サービスが提供されるようになっている。【０００３】
ところで、このようなＷＥＢシステムにおいては一般に、通信プロトコルとしてＨＴＴＰ（ｈｙｐｅｒ  ｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）等のコネクションレスなものが採用されているので、複数の処理からなる一連のサービスを実行する場合でも１つの処理ごとにセッションを確立する必要がある。例えば、ブラウザで検索を行い、さらに絞り込み検索を行うといった場合には、ＷＥＢブラウザ上で主検索画面のページを表示した時点で１回目のセッションは終了してしまい、次の絞り込み検索画面のページを表示するためには新たにセッションを確立しなければならない。【０００４】
このため、このようなＷＥＢシステムにおいては、一連のサービスを提供する際に確立される複数のセッションを互いに関連付けるため、クライアント端末からサーバへの要求、またはサーバからクライアント端末への応答ごとにセッション情報をやり取りすることにより、クライアントとサーバとの間のセッションを管理している。【０００５】
このようなセッション管理方法には各種のものが存在しており、例えば、ＵＲＬエンコーディング手法、サーバＣｏｏｋｉｅ、ＨＴＭＬのｈｉｄｄｅｎフィールドなどがあり、これらのセッション管理方法は、クライアント端末のＷＥＢブラウザとサーバ間の通信においては有用である。【０００６】
しかし、クライアント端末にＷＥＢブラウザ以外のローカルアプリケーションがあり、これらＷＥＢブラウザとローカルアプリケーションとが連携した動作を行うような場合には、上記のセッション管理方法ではローカルアプリケーションの処理（セッション）をＷＥＢブラウザに引き継ぐ手段がないため、ローカルアプリケーション、ＷＥＢブラウザ、サーバの３者を含んだセッションの管理には適用できない。【０００７】
サーバから取得した情報やセッションをＷＥＢブラウザを介してローカルアプリケーションに引き継ぐ方法として、クライアント端末のＷＥＢブラウザ上のアプレットとＣＳ型アプリ（ローカルアプリケーション）とがソケットを介して相互に情報をやり取りする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−５９２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１で提案されている技術では、クライアント端末のＷＥＢブラウザがサーバから取得した情報やセッションが、悪意のあるサーバからのものであった場合には、ローカルアプリケーションが悪意のあるサーバから不正に操作される可能性があり、セキュリティ上の問題が存在する。【００１０】
すなわち、特許文献１で提案されている技術では、クライアント端末のローカルアプリケーションは、ＷＥＢブラウザから引き継がれた情報が、正当なサーバからの情報であるか否かを判断することができなかった。【００１１】
本発明は、上記従来の課題を考慮して、ＷＥＢブラウザおよびローカルアプリケーションを有するクライアント端末とサーバとの間で通信を行うクライアントサーバシステムにおいて、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、第１の本発明は、
ネットワークを介してサーバに接続され、ブラウザおよび前記ブラウザとは異なるアプリケーションを備えたクライアント端末であって、
前記ブラウザは、
前記アプリケーションから受信した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を前記サーバへ送信するネットワーク送信部と、
前記サーバによって前記アプリセッション情報に応じて生成された、前記アプリケーションの動作を指示するスクリプトが挿入されたＨＴＭＬページと、前記サーバによって前記アプリセッション情報から生成されたサーバセッション情報と、前記サーバによって受信された前記アプリ署名とを、前記サーバから受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有し、
前記アプリケーションは、
前記アプリセッション情報を生成するアプリセッション生成部と、
前記アプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザへ送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有する、クライアント端末である。【００１３】
また、第２の本発明は、
前記ネットワーク受信部が受信する前記サーバセッション情報には、前記アプリケーションの状態を定めるアプリ状態設定情報が前記サーバによって含められており、
前記アプリ制御部は、前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信した前記サーバセッション情報から前記アプリ状態設定情報を取り出し、前記アプリ状態設定情報に応じて前記アプリケーションの状態を設定する、第１の本発明のクライアント端末である。【００１４】
また、第３の本発明は、
前記アプリケーションは、前記サーバには読み取られない形式で暗号化された前記アプリ署名を復号する暗号化署名復号部を有し、
前記アプリ署名生成部は、生成した前記アプリ署名を前記サーバには読み取られない形式で暗号化し、
前記アプリセッション送信部は、前記アプリ署名に代えて、前記アプリ署名生成部で暗号化されたアプリ署名を前記ブラウザへ送信し、
前記暗号化署名復号部は、前記ブラウザから受信した前記暗号化されたアプリ署名を復号し、
前記アプリ署名判定部は、前記暗号化署名復号部によって復号されたアプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定する、第１の本発明のクライアント端末である。【００１５】
また、第４の本発明は、
前記アプリケーションは、前記ネットワークを介して取得でき、
一の前記ブラウザは、複数の前記アプリケーションと接続できる、第１の本発明のクライアント端末である。【００１６】
また、第５の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末に、ネットワークを介して接続されたサーバであって、
前記アプリケーションが生成した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記ブラウザから受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報からサーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記クライアント端末へ送信するサーバ送信部とを備え、
前記アプリ署名は、送信元サーバ確認用の情報である、サーバである。【００１７】
また、第６の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムであって、
前記アプリケーションは、
前記アプリケーションの状態を表すアプリセッション情報を生成するアプリセッション生成部と、
前記アプリケーションの身元を証明するアプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザに送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有し、
前記サーバは、
前記ブラウザから前記アプリセッション情報および前記アプリ署名を受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報から前記サーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記ブラウザへ送信するサーバ送信部とを有し、
前記ブラウザは、
前記アプリセッション送信部から受信した前記アプリセッション情報および前記アプリ署名を、前記サーバへ送信するネットワーク送信部と、
前記サーバから、前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記アプリ署名を受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有する、サーバクライアントシステムである。【００１８】
また、第７の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムにおける連携動作処理方法であって、
前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記アプリケーションから前記ブラウザへ送信するアプリセッション送信ステップと、
前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信するネットワーク送信ステップと、
前記サーバによって、受信した前記アプリセッション情報に応じてＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入するＨＴＭＬ生成ステップと、
前記サーバによって、受信した前記アプリセッション情報からサーバセッション情報を生成するサーバセッション生成ステップと、
前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信するサーバ送信ステップと、
前記ブラウザによって、前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示するＨＴＭＬ表示ステップと、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信するセッション送信ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定するアプリ署名判定ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせるアプリ制御ステップとを備えた、連携動作処理方法である。【００１９】
また、第８の本発明は、
第７の本発明の連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、をコンピュータに実行させるプログラムである。【００２０】
また、第９の本発明は、
第８の本発明のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体である。
【発明の効果】
【００２１】
本発明により、ＷＥＢブラウザおよびローカルアプリケーションを有するクライアント端末とサーバとの間で通信を行うクライアントサーバシステムにおいて、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等を提供できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態のサーバクライアントシステムにおけるクライアント端末およびサーバのブロック図
【図２】本発明の実施の形態におけるクライアント端末の画面遷移図
【図３】本発明の実施の形態におけるサーバ、ＷＥＢブラウザ、およびローカルアプリケーション間のシーケンス図
【図４】本発明の実施の形態の、クライアント端末のＷＥＢブラウザとローカルアプリケーション間で引き渡されるデータの構造図
【図５】本発明の実施の形態におけるリクエストおよびレスポンスの構造図
【図６】本発明の実施の形態におけるＨＴＭＬの構造図
【図７】（ａ）本発明の実施の形態の、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成図（ｂ）本発明の実施の形態の、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成図
【発明を実施するための形態】
【００２３】
以下で、本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（実施の形態）
図１に、本発明の実施の形態のサーバクライアントシステムにおけるクライアント端末およびサーバのブロック図を示す。
【００２５】
クライアント端末１００とサーバ２００は、ネットワーク１８０を介して接続される。
【００２６】
クライアント端末１００は、一般にＩＰ通信を中継するルータ１５０を介してネットワーク１８０に接続される。またネットワーク１８０には、クライアント端末１００と同様な構成の複数の端末が接続されているものとする。
【００２７】
クライアント端末１００は、サーバ２００と通信をしており、クライアント端末１００において、ローカルアプリケーション１０２はＷＥＢブラウザ１０１を通じて、サーバ２００と通信するものとする。
【００２８】
クライアント端末１００は、大きくＷＥＢブラウザ１０１およびローカルアプリケーション１０２を備えている。
【００２９】
図４に、本実施の形態のＷＥＢブラウザ１０１とローカルアプリケーション１０２間で引き渡されるデータの構造を示す。
【００３０】
データ５００は、ローカルアプリケーション１０２からＷＥＢブラウザ１０１へ渡されるデータの構造例であり、配信サーバホストＵＲＬ５０１、セッション情報５０２、およびアプリ暗号署名５０３からなる。
【００３１】
データ５１０は、ＷＥＢブラウザ１０１からローカルアプリケーション１０２へ渡されるデータの構造例であり、セッション情報５１２およびアプリ暗号署名５１３からなる。
【００３２】
なお、セッション情報５０２が、本発明のアプリセッション情報の一例にあたり、セッション情報５１２が、本発明のサーバセッション情報の一例にあたる。
【００３３】
ＷＥＢブラウザ１０１は、データ受信部１１０、スクリプト解析部１１１、ブラウザ処理部１１２、データ送信部１１３、リクエストヘッダ生成部１１４、セッション受信部１１５およびセッション送信部１１６を備えている。ブラウザ情報入力１１８およびブラウザ情報表示１１７は、ブラウザ処理部１１２への入出力である。
【００３４】
ローカルアプリケーション１０２は、アプリセッション生成部１２０、アプリ署名生成部１２１、アプリ処理部１２２、暗号化署名復号部１２３、アプリ署名判定部１２４、サーバセッション解析部１２５、エラー処理部１２６、アプリセッション送信部１３０および制御部１３１を備えている。アプリ情報入力１２８およびアプリ情報表示１２７は、アプリ処理部１２２への入出力であり、エラー情報表示１２９は、エラー処理部１２６からの出力である。
【００３５】
なお、ＷＥＢブラウザ１０１が、本発明のブラウザの一例にあたり、ローカルアプリケーション１０２が、本発明のアプリケーションの一例にあたる。また、制御部１３１が、本発明のアプリ制御部の一例にあたる。また、データ送信部１１３が、本発明のネットワーク送信部の一例にあたり、データ受信部１１０が、本発明のネットワーク受信部の一例にあたる。また、ブラウザ処理部１１２が、本発明のＨＴＭＬ表示部の一例にあたる。
【００３６】
クライアント端末１００における、ＷＥＢブラウザ１０１やローカルアプリケーション１０２は、それぞれ専用の処理ハードウェアで構成してもよく、また、それぞれ別個のソフトウェアプログラムとして実現し、クライアント端末１００のＣＰＵで解釈して動作するように構成しても構わない。
【００３７】
ローカルアプリケーション１０２は、ユーザに対して、クライアント端末１００に記録されているコンテンツの一覧表示や事前にサーバ２００から取得した配信コンテンツに関するメタ情報（コンテンツのタイトルや価格）の一覧表示などを、アプリ情報表示１２７を通じて行ない、ユーザからの操作をアプリ情報入力１２８により受けることにより、表示されているコンテンツの一覧への操作を行なう。
【００３８】
アプリ処理部１２２は、ユーザからの操作をアプリ情報入力１２８により受け、その操作に対応した処理を行う。これにより、アプリ情報表示１２７を通じた表示処理を行ったり、ユーザが選択したコンテンツに関するメタ情報に含まれるコンテンツの識別情報や配信コンテンツサーバの配信サーバホストＵＲＬ５０１（本実施の形態では、サーバ２００のＵＲＬ）をアプリ署名生成部１２１に対して引き渡し、暗号化署名の生成の指示を行う。さらに、サーバセッション解析部１２５から受けた指示通りの画面表示を、アプリ情報表示１２７を通じて表示する機能を備える。
【００３９】
アプリ署名生成部１２１は、アプリ処理部１２２からの指示を受け、ローカルアプリケーション１０２自身をユニークに識別することが可能なアプリ署名を生成し、さらにその生成したアプリ署名をローカルアプリケーション１０２のみが復号することが可能なように暗号化してアプリ暗号署名５０３を生成する。そして、アプリ暗号署名５０３をコンテンツの識別情報および配信サーバホストＵＲＬ５０１とともにアプリセッション生成部１２０に引き渡す。
【００４０】
アプリセッション生成部１２０は、引き渡されたコンテンツの識別情報とローカルアプリケーション１０２が現在まで行なっていた処理の状態からセッション情報５０２を生成し、配信サーバホストＵＲＬ５０１およびアプリ暗号署名５０３とともに、アプリセッション送信部１３０に引き渡す。ここで、セッション情報５０２は、少なくとも、サーバ２００、ＷＥＢブラウザ１０１、およびローカルアプリケーション１０２が理解可能な形式であるものとする。
【００４１】
アプリセッション送信部１３０は、引き渡された配信サーバホストＵＲＬ５０１、セッション情報５０２およびアプリ暗号署名５０３を、図４に示すようにデータ５００として、ＷＥＢブラウザ１０１のセッション受信部１１５に引き渡す。
【００４２】
暗号化署名復号部１２３は、ＷＥＢブラウザ１０１のセッション送信部１１６から引き継がれたデータ５１０からアプリ暗号署名５１３を取り出す。そして、暗号化署名復号部１２３は、データ５１０から取り出したアプリ暗号署名５１３の暗号を復号する。復号できた場合は、アプリ暗号署名５１３を復号したアプリ署名を、アプリ署名判定部１２４に引き渡す。一方、復号できなかった場合は、エラー処理部１２６に通知する。
【００４３】
アプリ署名判定部１２４は、暗号化署名復号部１２３から渡されたアプリ署名がローカルアプリケーション１０２自身のものか判定し、そのアプリ署名がローカルアプリケーション１０２自身のものであった場合は、データ５１０からセッション情報５１２を取り出し、サーバセッション解析部１２５に引き渡す。一方、そのアプリ署名がローカルアプリケーション１０２自身のものでなかった場合には、エラー処理部１２６に通知する。
【００４４】
サーバセッション解析部１２５は、アプリ署名判定部１２４から引き渡されたセッション情報５１２を解析し、ローカルアプリケーション１０２をセッション情報５１２で指定された状態で表示するようにアプリ処理部１２２に指示する。
【００４５】
制御部１３１は、アプリ署名判定部１２４で判定した結果、サーバから受け取ったアプリ署名がローカルアプリケーション１０２自身のアプリ署名であった場合には、サーバセッション解析部１２５でセッション情報５１２を解析させ、その結果に応じてアプリ処理部１２２を動作させるように制御する。さらに制御部１３１は、各部の動作を制御するように構成しても構わない。
【００４６】
ＷＥＢブラウザ１０１は、ローカルアプリケーション１０２からの指示や、ユーザのＷＥＢブラウザ１０１に対する操作であるブラウザ情報入力１１８に従い、サーバ２００にＨＴＴＰリクエストを送信し、また、サーバ２００から取得したＨＴＭＬ形式の情報をブラウザ情報表示１１７を通じてユーザに画面表示する。
【００４７】
データ受信部１１０は、サーバ２００からのＨＴＴＰレスポンスを受信し、ブラウザ処理部１１２に引き渡す。
【００４８】
ブラウザ処理部１１２は、データ受信部１１０から取得したＨＴＴＰレスポンスのＨＴＭＬ情報をレンダリングし、ブラウザ情報表示１１７を通じて画面表示する。また、ブラウザ情報入力１１８に指示された情報がスクリプトを実行するものであった場合には、スクリプト解析部１１１にスクリプトの実行を指示する。さらに、ＷＥＢブラウザ１０１がサーバ２００に接続する場合には、ＨＴＴＰリクエストヘッダ生成部１１４へ接続するリクエストの生成を指示する。
【００４９】
スクリプト解析部１１１は、ブラウザ処理部１１２から指示されたスクリプトを解析し、データ５１０を取り出し、セッション送信部１１６に引き渡す。
【００５０】
セッション送信部１１６は、スクリプト解析部１１１から引き渡されたデータ５１０をローカルアプリケーション１０２の暗号化署名復号部１２３に引き渡す。
【００５１】
リクエストヘッダ生成部１１４は、ブラウザ処理部１１２やセッション受信部１１５からの指示により、ＨＴＴＰのリクエストヘッダ（後述の図５のリクエスト５２０、リクエスト５３０、リクエスト５４０参照）を生成する。
【００５２】
データ送信部１１３は、リクエストヘッダ生成部１１４から引き渡されたＨＴＴＰリクエストヘッダを用いて、サーバ２００に対してＨＴＴＰリクエスト要求を送る。
【００５３】
セッション受信部１１５は、ローカルアプリケーション１０２のアプリセッション送信部１３０からデータ５００を引き渡され、データ５００から適切なＨＴＴＰリクエストヘッダを生成するようにリクエストヘッダ生成部１１４に指示する。
【００５４】
サーバ２００は、ルータ２０１、受信部２０２、セッション解析部２０３、ＨＴＭＬ生成部２０４、アプリ用スクリプト生成部２０５、サーバセッション生成部２０６、レスポンスヘッダ生成部２０７および送信部２０８を備えている。
【００５５】
なお、受信部２０２が、本発明のサーバ受信部の一例にあたり、送信部２０８が、本発明のサーバ送信部の一例にあたる。
【００５６】
受信部２０２は、クライアント端末１００からのＨＴＴＰリクエストをルータ２０１を介して受信し、セッション解析部２０３に受け渡す。
【００５７】
セッション解析部２０３は、受信部２０２から引き渡されたＨＴＴＰリクエストからセッション情報５０２を取り出し、解析し、セッション情報５０２に応じたＨＴＭＬの生成をＨＴＭＬ生成部２０４に対して指示する。また、セッション解析部２０３は、サーバセッション生成部２０６に対してＨＴＴＰレスポンス用の適切なセッションを生成するよう指示する。
【００５８】
ＨＴＭＬ生成部２０４は、セッション解析部２０３からの指示により、適切なＨＴＭＬを作成し、送信部２０８に引き渡す。このとき、ＨＴＭＬ内にローカルアプリケーション１０２に対する命令を挿入する必要のある場合には、アプリ用スクリプト生成部２０５にスクリプトの生成を指示し、アプリ用スクリプト生成部２０５が生成したスクリプトをＨＴＭＬに挿入し、そのスクリプトを挿入したＨＴＭＬを送信部２０８に引き渡す。
【００５９】
サーバセッション生成部２０６は、セッション解析部２０３からの指示により、クライアント端末１００に次に期待する動作を示す適切なセッション情報５１２を生成し、レスポンスヘッダ生成部２０７に引き渡す。
【００６０】
レスポンスヘッダ生成部２０７は、サーバセッション生成部２０６から引き渡されたセッション情報５１２を用いて、ＨＴＴＰレスポンスヘッダを生成し、送信部２０８に引き渡す。
【００６１】
送信部２０８は、レスポンスヘッダ生成部２０７から引き渡されたＨＴＴＰレスポンスヘッダ、ＨＴＭＬ生成部２０４から引き渡されたＨＴＭＬ、およびクライアント端末１００からのＨＴＴＰリクエストに含まれルータ２０１から取得して保持しておいたアプリ暗号署名５０３からＨＴＴＰレスポンスを生成し、ルータ２０１を介して、クライアント端末１００に送信する。
【００６２】
次に、図２を用いて、本実施の形態のクライアント端末１００が表示する画面の遷移について説明する。
【００６３】
図２は、本実施の形態のクライアント端末１００の画面遷移例を示している。なお、この画面遷移はあくまでも一例であり、本発明の範囲はこれに限定されるものではない。
【００６４】
図２の表示画面３００、表示画面３０１および表示画面３０５は、クライアント端末１００のローカルアプリケーション１０２が表示する画面であり、表示画面３０２、表示画面３０３および表示画面３０４は、クライアント端末１００のＷＥＢブラウザ１０１が表示する画面である。
【００６５】
表示画面３００は、サーバ２００から事前に取得した配信コンテンツのメタ情報（コンテンツのタイトルなど）を表示する「購入リスト」を表す。ユーザは、購入リスト内から購入したいコンテンツをリモコン操作等により選択する。選択が行われると、表示画面３０１に遷移する。ここでは、「宇宙物語」を選択したものとする。表示画面３００は、「宇宙物語」にフォーカスが当てられた状態を示している。
【００６６】
表示画面３０１は、ユーザが選択したコンテンツを購入するかどうかの意志を問う表示である。ここで、ユーザが「はい」を選択すると、表示画面３０２に遷移する。
【００６７】
表示画面３０２は、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面を表す。先ほどユーザが購入リスト内から選択したコンテンツの詳細情報（コンテンツのタイトル、種別、再生期限、価格など）が表示される。コンテンツのタイトルが「宇宙物語」であり、コンテンツの種別が「レンタルコンテンツ」であることなどを表している。ここで、ユーザが「購入」を選択すると、表示画面３０３に遷移する。
【００６８】
表示画面３０３は、表示画面３０２と同様に、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面であり、ユーザにクレジット番号等を入力させるための画面である。ユーザはコンテンツを購入するため、クレジット番号等を入力すると、表示画面３０４に遷移する。
【００６９】
表示画面３０４は、表示画面３０２と同様に、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面である。ユーザによりなされたコンテンツ購入の指示を受けた結果が表示される。ここで、ユーザが「購入したコンテンツを確認」を選択することで、表示画面３０５へ遷移する。
【００７０】
表示画面３０５は、クライアント端末１００に記録されたコンテンツのリストの中に、これまでの購入の手続で購入したコンテンツ「宇宙物語」が加えられていることを表す。先ほど購入した「宇宙物語」にフォーカスが当てられた状態で表示される。
【００７１】
次に、図１〜図３を用いて、本実施の形態の、サーバ２００、ＷＥＢブラウザ１０１、ローカルアプリケーション１０２、およびユーザ８００間のシーケンスについて説明する。
【００７２】
図３は、本実施の形態における、サーバ２００、ＷＥＢブラウザ１０１、およびローカルアプリケーション１０２間のシーケンス図を示している。ここでの各表示画面でのユーザ８００の操作は、先述の図２を用いた画面遷移の説明に対応する。
【００７３】
まず、ローカルアプリケーション１０２のアプリ処理部１２２が、表示画面３００の描画（Ｓ４００）により、図２の表示画面３００を画面表示して、ユーザ８００に知らせる。
【００７４】
ユーザ８００が購入コンテンツ選択（Ｓ４０１）を行なうと、アプリ処理部１２２は、表示画面３０１の描画（Ｓ４０２）により、表示画面３０１を画面表示し、ユーザ８００に知らせる。
【００７５】
ユーザが表示画面３０１にて購入選択（Ｓ４０３）をし、アプリ処理部１２２が、その指示を受けると、アプリ署名生成部１２１が、ローカルアプリケーション１０２自身をユニークに識別できるアプリ署名を暗号化したアプリ暗号署名５０３を生成し（Ｓ４０４）、アプリセッション生成部１２０が、ローカルアプリケーション１０２の状態を表すセッション情報５０２を生成する（Ｓ４０５）。
【００７６】
次に、ローカルアプリケーション１０２のアプリセッション送信部１３０は、データ５００とともに、ＷＥＢブラウザ１０１の起動の指示を行なう（Ｓ４０６）。
【００７７】
図４に示したデータ５００が、このときのＷＥＢブラウザ１０１の起動時に引き渡されるデータ５００の構成例であり、このときのセッション情報５０２は、図２の表示画面３０１で、ユーザが購入リストの宇宙物語（ここでｃｉｄ＝０００００２とする）を購入するために選択した（ｐｒｏｃｅｓｓ＝ｓｅｌｅｃｔ）という状態を表している。
【００７８】
起動の指示を受けたＷＥＢブラウザ１０１は、セッション受信部１１５が取得したデータ５００を用いて、リクエストヘッダ生成部１１４がＨＴＴＰリクエストヘッダを生成し（Ｓ４０７）、リクエスト５２０をＨＴＴＰリクエストとして、データ送信部１１３が購入ページ要求をサーバ２００に対して行なう（Ｓ４０８）。
【００７９】
サーバ２００の受信部２０２がルータ２０１を介してＨＴＴＰリクエストを受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が適切なＨＴＭＬを生成し、レスポンス５５０をＨＴＴＰレスポンスとして、送信部２０８が購入ページの送信を行う（Ｓ４０９）。
【００８０】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０２の描画により画面表示して、ユーザ８００に対してコンテンツの詳細情報を知らせる（Ｓ４１０）。ユーザ８００は、表示画面３０２において、「購入」を選択する（Ｓ４１１）。
【００８１】
すると、リクエストヘッダ生成部１１４が、ＨＴＴＰリクエストヘッダを生成し（Ｓ４１２）、リクエスト５３０をＨＴＴＰリクエストとして、データ送信部１１３がサーバ２００に対して決裁ページの要求を行なう（Ｓ４１３）。
【００８２】
サーバ２００の受信部２０２が、決裁ページの要求であるリクエスト５３０を受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が適切なＨＴＭＬを生成し、決裁ページの応答であるレスポンス５６０をＨＴＴＰレスポンスとして、送信部２０８がＷＥＢブラウザ１０１に送信する（Ｓ４１４）。
【００８３】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０３を描画し、ユーザ８００に対して知らせる（Ｓ４１５）。表示画面３０３において、ユーザ８００は、クレジット情報を入力する（Ｓ４１６）。
【００８４】
すると、リクエストヘッダ生成部１１４が、確認ページを要求する旨のＨＴＴＰリクエストヘッダを生成し（Ｓ４１７）、確認ページを要求する旨のリクエスト５４０をＨＴＴＰリクエストとして、データ送信部１１３がサーバ２００に対して送信する（Ｓ４１８）。
【００８５】
サーバ２００の受信部２０２が、確認ページを要求する旨のリクエスト５４０であるＨＴＴＰリクエストを受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が確認ページを表示させるための適切なＨＴＭＬを生成する。この際、ローカルアプリケーション１０２に対しても、購入したコンテンツがクライアント端末１００に加えられたことを表示させるため、アプリ用スクリプト生成部２０５が、ローカルアプリケーション１０２にてその旨実行させるローカルアプリケーション１０２用のスクリプトを生成する（Ｓ４１９）。
【００８６】
そして、ＨＴＭＬ生成部２０４が、クライアント端末１００のローカルアプリケーション１０２に命令を送るためのこのスクリプトをＨＴＭＬに挿入し、確認ページを要求する旨のリクエスト５４０に対する応答であるレスポンス５７０をＨＴＴＰレスポンスとして、ＷＥＢブラウザ１０１に対して送信部２０８が確認ページを送信する（Ｓ４２０）。
【００８７】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０４の描画により、ユーザ８００に対して確認ページを知らせる（Ｓ４２１）。表示画面３０４において、「購入したコンテンツを確認」する選択を、ユーザ８００が行なうと（Ｓ４２２）、スクリプト解析部１１１が、レスポンス５７０のＨＴＭＬに挿入したアプリ用スクリプトを実行し（Ｓ４２３）、セッション送信部１１６が、データ５１０をローカルアプリケーション１０２に受け渡してセッションを引き継ぐ（Ｓ４２４）。
【００８８】
セッションを引き継がれたローカルアプリケーション１０２の暗号化署名復号部１２３が、ＷＥＢブラウザ１０１から受けたデータ５１０の中の、アプリ暗号署名５１３を復号し、アプリ署名判定部１２４が、その復号したアプリ署名がローカルアプリケーション１０２自身の署名かどうかを判定する（Ｓ４２５）。
【００８９】
暗号化署名復号部１２３によってアプリ暗号署名５１３の復号ができないか、または、アプリ署名判定部１２４によって署名が正しくないと判定された場合には、正当なサーバから受信したものではないと判断でき、エラー処理部１２６によってエラー表示を行ない、ユーザ８００に対して知らせる。そして、以降のステップには移らない。
【００９０】
アプリ暗号署名５１３を復号して生成したアプリ署名が正しい場合には、サーバセッション解析部１２５が、データ５１０の中のセッション情報５１２を解析し（Ｓ４２６）、アプリ処理部１２２が、セッション情報５１２の解析結果に適した画面（表示画面３０５等）を表示させて、ユーザ８００に知らせる（Ｓ４２７）。
【００９１】
なお、データ５１０に含まれるアプリ暗号署名５１３は、不正なサーバにより書き換えられない限り、アプリ署名生成部１２１が生成したアプリ暗号署名５０３と同じである。アプリ暗号署名５１３とアプリ暗号署名５０３とが異なる場合は、上記したように、暗号化署名復号部１２３またはアプリ署名判定部１２４で不正な署名として、エラー処理部１２６に通知される。この場合には、不正なサーバから情報を受信したものとして判断することができる。
【００９２】
ここで、図５を用いて、本実施の形態におけるリクエストおよびレスポンスの構造について、説明する。
【００９３】
図５は、本実施の形態のクライアント端末１００がサーバ２００へ送信するリクエスト、およびサーバ２００がクライアント端末１００へ送信するレスポンスの構造例を示している。図５に示すリクエスト５２０、５３０、５４０、レスポンス５５０、５６０、５７０は、それぞれ図３の同じ符号を付したリクエストおよびレスポンスに対応している。
【００９４】
リクエスト５２０は、標準のＨＴＴＰヘッダと拡張ヘッダ５２１からなる。拡張ヘッダ５２１は、セッション情報５０２およびアプリ暗号署名５０３をサーバ２００に伝達するために用いる。なお、拡張ヘッダの使用は、あくまでも一例であり、セッション情報５０２およびアプリ暗号署名５０３をサーバ２００に伝達する手段はこれに限定されるものではない。セッション情報５０２およびアプリ暗号署名５０３をＵＲＬエンコーディングとして、サーバ２００に伝達することも可能であり、同様の効果を得ることができる。
【００９５】
リクエスト５３０は、標準のＨＴＴＰヘッダと拡張ヘッダ５３１からなる。拡張ヘッダ５３１は、ユーザ８００が購入選択を行なった（Ｓ４１１）という状態をサーバ２００に伝達するために用いる。
【００９６】
リクエスト５４０は、標準のＨＴＴＰヘッダと拡張ヘッダ５４１からなる。拡張ヘッダ５４１は、ユーザ８００がクレジット情報入力を行なった（Ｓ４１６）という状態をサーバ２００に伝達するために用いる。
【００９７】
レスポンス５５０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５５１、および購入ページＨＴＭＬ５５２からなる。拡張ヘッダ５５１は、セッション情報５１２およびアプリ暗号署名５１３をクライアント端末１００に伝達するために用いる。購入ページＨＴＭＬ５５２は、ＷＥＢブラウザ１０１により描画され、表示画面３０２が表示される。
【００９８】
レスポンス５６０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５６１、および決裁ページＨＴＭＬ５６２からなる。決裁ページＨＴＭＬ５６２は、ＷＥＢブラウザ１０１により描画され、表示画面３０３が表示される。
【００９９】
レスポンス５７０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５７１、および確認ページＨＴＭＬ５７２からなる。確認ページＨＴＭＬ５７２は、ＷＥＢブラウザ１０１により描画され、表示画面３０４が表示される。
【０１００】
次に、図６を用いて、本発明の実施の形態のＨＴＭＬについて、説明する。
【０１０１】
図６は、図５のレスポンス５７０に含まれる確認ページＨＴＭＬ５７２の構造を示している。
【０１０２】
確認ページＨＴＭＬ５７２内には、サーバ２００で挿入したアプリ用スクリプト５７３がある。ユーザが表示画面３０４の「購入したコンテンツを確認」ボタンを押すと、ＨＴＭＬ５７２内に記載されたＪａｖａ（登録商標）ｓｃｒｉｐｔのＯｎＣｌｉｃｋイベントが発生し、アプリ用スクリプト５７３に定義した関数が実行される。この関数実行により、ＷＥＢブラウザ１０１のセッション送信部１１６は、ローカルアプリケーション１０２に対して、セッション引き継ぎ（Ｓ４２４）を実行する。
【０１０３】
以上のように、本実施の形態のサーバクライアントシステムによれば、サーバ２００と通信を行なうクライアント端末１００において、サーバ２００、クライアント端末１００のＷＥＢブラウザ１０１、およびクライアント端末１００のローカルアプリケーション１０２の３者間で、悪意のあるサーバからローカルアプリケーション１０２を不正に操作されることなく、セッションや情報を引き継ぐことができるという顕著な効果がある。
【０１０４】
なお、本実施の形態では、アプリ署名生成部１２１が、ローカルアプリケーション１０２自身をユニークに識別することが可能なアプリ署名を生成し、さらにそのアプリ署名を暗号化してアプリ暗号署名５０３を生成することとしたが、アプリ署名生成部１２１は、アプリ署名を生成するのみとし、その暗号化していないアプリ署名を、上記したアプリ暗号署名５０３の代わりに用いるようにしてもよい。
【０１０５】
この場合には、ＷＥＢブラウザ１０１のセッション送信部１１６からローカルアプリケーション１０２に引き渡されるデータ５１０には暗号化されていないアプリ署名が含まれており、暗号化署名復号部１２３は、そのアプリ署名を復号する必要がなく、アプリ署名をそのままアプリ署名判定部１２４に送ることになる。したがって、アプリ暗号署名５０３の代わりに暗号化していないアプリ署名を用いる場合には、暗号化署名復号部１２３を省略するように構成してもよい。
【０１０６】
このように、暗号化していないアプリ署名を用いた場合でも、ＷＥＢブラウザ１０１から引き渡されたアプリ署名が、ローカルアプリケーション１０２が生成したアプリ署名であるか判定することで、正当なサーバからの情報か否かを判断することができる。
【０１０７】
また、本実施の形態では、サーバ２００のサーバセッション生成部２０６が、クライアント端末１００に次に期待する動作を示す適切なセッション情報５１２を生成し、クライアント端末１００のサーバセッション解析部１２５が、セッション情報５１２の解析結果に適した画面をアプリ処理部１２２によって表示させることとしたが、サーバセッション生成部２０６が、ローカルアプリケーション１０２の状態を定めるアプリ状態設定情報も含めてセッション情報５１２を生成することとし、ローカルアプリケーション１０２の制御部１３１が、そのセッション情報５１２に含まれるアプリ状態設定情報に応じてローカルアプリケーション１０２の状態を設定するようにしてもよい。
【０１０８】
また、本実施の形態のローカルアプリケーション１０２が持つＷＥＢブラウザ１０１との引継ぎ機能を複数のローカルアプリケーションに持たせることにより、ＷＥＢブラウザ１０１によってサーバと複数のローカルアプリケーションとの間の引継ぎを行なわせることができる。
【０１０９】
図７（ａ）および図７（ｂ）に、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成を示している。
【０１１０】
図７（ａ）および図７（ｂ）に示すローカルアプリケーションおよびＷＥＢブラウザは、これらのプログラムが起動されているときの構成を示している。
【０１１１】
図７（ａ）のクライアント端末１５１内のブラウザ１４０、１４０’、１４０”は、同じプログラムであるが、各ローカルアプリケーション１４１、１４２、１４３によって個別に起動される。
【０１１２】
この場合、ローカルアプリケーション１４１は、ローカルアプリケーション１４１が起動したブラウザ１４０によってサーバ２００との間の引継ぎが行なわれ、ローカルアプリケーション１４２は、ローカルアプリケーション１４２が起動したブラウザ１４０’によってサーバ２００との間の引継ぎが行なわれ、ローカルアプリケーション１４３は、ローカルアプリケーション１４３が起動したブラウザ１４０”によってサーバ２００との間の引継ぎが行なわれる。
【０１１３】
図７（ｂ）のクライアント端末１５２内のブラウザ１４４は、１つの起動されたプログラムによって、複数のローカルアプリケーションの引継ぎを行なう機能を有している。この場合には、起動された１つのブラウザ１４４によって、ローカルアプリケーション１４５、１４６、１４７のそれぞれとサーバ２００間の引継ぎが行なわれる。
【０１１４】
ブラウザ１４４は、複数のローカルアプリケーションを識別できる情報を用いることにより、図７（ｂ）のように、起動された１つのブラウザにより、複数のローカルアプリケーションの引継ぎを実現できる。複数のローカルアプリケーションを識別できる情報として、例えば、各ローカルアプリケーションとの間で引き渡されるアプリ暗号署名５０３およびアプリ暗号署名５１３を用いてもよい。
【０１１５】
このように、ＷＥＢブラウザ１０１との引継ぎ機能を複数のローカルアプリケーションに持たせることにより、複数のローカルアプリケーションに対して１つのＷＥＢブラウザ１０１があればよく、ローカルアプリケーション毎にＷＥＢブラウザを備えておく必要がないので、ローカルアプリケーションとＷＥＢブラウザのプログラムを格納しておくために必要なＨＤＤなどの記録媒体の容量が少なくてすむ。
【０１１６】
また、このようなＷＥＢブラウザ１０１との引継ぎ機能を有するローカルアプリケーションを、ネットワーク１８０を介してダウンロードできるようにしてもよい。
【０１１７】
なお、本発明のプログラムは、上述した連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、の動作をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
【０１１８】
また、本発明のプログラム記録媒体は、上述した連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、の動作をコンピュータにより実行させるためのプログラムを記録したプログラム記録媒体であり、コンピュータにより読み取り可能かつ、読み取られた前記プログラムが前記コンピュータと協働して利用されるプログラム記録媒体である。
【０１１９】
また、本発明の上記「ステップの動作」とは、前記ステップの全部または一部の動作を意味する。
【０１２０】
また、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な、ＲＯＭ等の記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
【０１２１】
また、本発明のプログラムの一利用形態は、インターネット等の伝送媒体、光・電波等の伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であっても良い。
【０１２２】
また、上述した本発明のコンピュータは、ＣＰＵ等の純然たるハードウェアに限らず、ファームウェアや、ＯＳ、更に周辺機器を含むものであっても良い。
【０１２３】
なお、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
【産業上の利用可能性】
【０１２４】
本発明に係るクライアント端末、サーバ、サーバクライアントシステム、連携動作処理方法等は、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる効果を有し、ネットワーク経由でサーバに蓄積されている映像や音声コンテンツをダウンロードまたはストリーミングで再生することのできる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等として有用である。
【符号の説明】
【０１２５】
１００    クライアント端末
１０１    ＷＥＢブラウザ
１０２    ローカルアプリケーション
１１０    データ受信部
１１１    スクリプト解析部
１１２    ブラウザ処理部
１１３    データ送信部
１１４    リクエストヘッダ生成部
１１５    セッション受信部
１１６    セッション送信部
１１７    ブラウザ情報表示
１１８    ブラウザ情報入力
１２０    アプリセッション生成部
１２１    アプリ署名生成部
１２２    アプリ処理部
１２３    暗号化署名復号部
１２４    アプリ署名判定部
１２５    サーバセッション解析部
１２６    エラー処理部
１２７    アプリ情報表示
１２８    アプリ情報入力
１２９    エラー情報表示
１３０    アプリセッション送信部
１３１    制御部
１４０、１４０’、１４０”  ブラウザ
１４１    ローカルアプリケーション
１４２    ローカルアプリケーション
１４３    ローカルアプリケーション
１４４    ブラウザ
１４５    ローカルアプリケーション
１４６    ローカルアプリケーション
１４７    ローカルアプリケーション
１５０    ルータ
１５１    クライアント端末
１５２    クライアント端末
１８０    ネットワーク
２００    サーバ
２０１    ルータ
２０２    受信部
２０３    セッション解析部
２０４    ＨＴＭＬ生成部
２０５    アプリ用スクリプト生成部
２０６    サーバセッション生成部
２０７    レスポンスヘッダ生成部
２０８    送信部
３００    表示画面
３０１    表示画面
３０２    表示画面
３０３    表示画面
３０４    表示画面
３０５    表示画面
Ｓ４００  表示画面３００の描画
Ｓ４０１  購入コンテンツ選択
Ｓ４０２  表示画面３０１の描画
Ｓ４０３  購入選択
Ｓ４０４  暗号化署名生成
Ｓ４０５  セッション情報生成
Ｓ４０６  ブラウザ起動
Ｓ４０７  ヘッダ生成
Ｓ４０８  購入ページ要求
Ｓ４０９  購入ページ送信
Ｓ４１０  表示画面３０２の描画
Ｓ４１１  購入選択
Ｓ４１２  ヘッダ生成
Ｓ４１３  決裁ページ要求
Ｓ４１４  決裁ページ送信
Ｓ４１５  表示画面３０３の描画
Ｓ４１６  クレジット情報入力
Ｓ４１７  ヘッダ生成
Ｓ４１８  確認ページ要求
Ｓ４１９  アプリ用スクリプト作成
Ｓ４２０  確認ページ送信
Ｓ４２１  表示画面３０４の描画
Ｓ４２２  確認選択
Ｓ４２３  スクリプト実行
Ｓ４２４  セッション引き継ぎ
Ｓ４２５  復号・判定処理
Ｓ４２６  セッション解析
Ｓ４２７  表示画面３０５の描画
５００    データ
５０１    配信サーバホストＵＲＬ
５０２    セッション情報
５０３    アプリ暗号署名
５１０    データ
５１２    セッション情報
５１３    アプリ暗号署名
５２０    リクエスト
５２１    拡張ヘッダ
５３０    リクエスト
５３１    拡張ヘッダ
５４０    リクエスト
５４１    拡張ヘッダ
５５０    レスポンス
５５１    拡張ヘッダ
５５２    購入ページＨＴＭＬ
５６０    レスポンス
５６１    拡張ヘッダ
５６２    決裁ページＨＴＭＬ
５７０    レスポンス
５７１    拡張ヘッダ
５７２    確認ページＨＴＭＬ
５７３    アプリ用スクリプト
８００    ユーザ
【図１】
2011027492.tif 000003
【図２】
2011027492.tif 000004
【図３】
2011027492.tif 000005
【図４】
2011027492.tif 000006
【図５】
2011027492.tif 000007
【図６】
2011027492.tif 000008
【図７】
2011027492.tif 000009
【手続補正書】
【提出日】平成23年3月18日(2011.3.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末がネットワークでサーバに接続された、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等に関する。例えば、ネットワーク経由でサーバに蓄積されている映像や音声コンテンツをダウンロードまたはストリーミングで再生することのできる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等に関する。
【背景技術】
【０００２】
近年、インターネット技術の急速な発達により、ＷＷＷを利用したインターネットシステムやイントラネットシステムなどのＷＥＢシステムが広く用いられるようになってきている。このようなＷＥＢシステムにおいては、クライアント端末のＷＥＢブラウザとサーバとの間で特定の処理（例えばページの表示）の要求および応答を繰り返すことにより、データベース検索やオンラインショッピング等の各種サービスが提供されるようになっている。
【０００３】
ところで、このようなＷＥＢシステムにおいては一般に、通信プロトコルとしてＨＴＴＰ（ｈｙｐｅｒ  ｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）等のコネクションレスなものが採用されているので、複数の処理からなる一連のサービスを実行する場合でも１つの処理ごとにセッションを確立する必要がある。例えば、ブラウザで検索を行い、さらに絞り込み検索を行うといった場合には、ＷＥＢブラウザ上で主検索画面のページを表示した時点で１回目のセッションは終了してしまい、次の絞り込み検索画面のページを表示するためには新たにセッションを確立しなければならない。
【０００４】
このため、このようなＷＥＢシステムにおいては、一連のサービスを提供する際に確立される複数のセッションを互いに関連付けるため、クライアント端末からサーバへの要求、またはサーバからクライアント端末への応答ごとにセッション情報をやり取りすることにより、クライアントとサーバとの間のセッションを管理している。
【０００５】
このようなセッション管理方法には各種のものが存在しており、例えば、ＵＲＬエンコーディング手法、サーバＣｏｏｋｉｅ、ＨＴＭＬのｈｉｄｄｅｎフィールドなどがあり、これらのセッション管理方法は、クライアント端末のＷＥＢブラウザとサーバ間の通信においては有用である。
【０００６】
しかし、クライアント端末にＷＥＢブラウザ以外のローカルアプリケーションがあり、これらＷＥＢブラウザとローカルアプリケーションとが連携した動作を行うような場合には、上記のセッション管理方法ではローカルアプリケーションの処理（セッション）をＷＥＢブラウザに引き継ぐ手段がないため、ローカルアプリケーション、ＷＥＢブラウザ、サーバの３者を含んだセッションの管理には適用できない。
【０００７】
サーバから取得した情報やセッションをＷＥＢブラウザを介してローカルアプリケーションに引き継ぐ方法として、クライアント端末のＷＥＢブラウザ上のアプレットとＣＳ型アプリ（ローカルアプリケーション）とがソケットを介して相互に情報をやり取りする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−５９２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１で提案されている技術では、クライアント端末のＷＥＢブラウザがサーバから取得した情報やセッションが、悪意のあるサーバからのものであった場合には、ローカルアプリケーションが悪意のあるサーバから不正に操作される可能性があり、セキュリティ上の問題が存在する。
【００１０】
すなわち、特許文献１で提案されている技術では、クライアント端末のローカルアプリケーションは、ＷＥＢブラウザから引き継がれた情報が、正当なサーバからの情報であるか否かを判断することができなかった。
【００１１】
本発明は、上記従来の課題を考慮して、ＷＥＢブラウザおよびローカルアプリケーションを有するクライアント端末とサーバとの間で通信を行うクライアントサーバシステムにおいて、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、第１の本発明は、
ネットワークを介してサーバに接続され、ブラウザおよび前記ブラウザとは異なるアプリケーションを備えたクライアント端末であって、
前記ブラウザは、
前記アプリケーションから受信した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を前記サーバへ送信するネットワーク送信部と、
前記サーバによって前記アプリセッション情報に応じて生成された、前記アプリケーションの動作を指示するスクリプトが挿入されたＨＴＭＬページと、前記サーバによって前記アプリセッション情報から生成されたサーバセッション情報と、前記サーバによって受信された前記アプリ署名とを、前記サーバから受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有し、
前記アプリケーションは、
前記アプリセッション情報を生成するアプリセッション生成部と、
前記アプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザへ送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有する、クライアント端末である。
【００１３】
また、第２の本発明は、
前記ネットワーク受信部が受信する前記サーバセッション情報には、前記アプリケーションの状態を定めるアプリ状態設定情報が前記サーバによって含められており、
前記アプリ制御部は、前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信した前記サーバセッション情報から前記アプリ状態設定情報を取り出し、前記アプリ状態設定情報に応じて前記アプリケーションの状態を設定する、第１の本発明のクライアント端末である。
【００１４】
また、第３の本発明は、
前記アプリケーションは、前記サーバには読み取られない形式で暗号化された前記アプリ署名を復号する暗号化署名復号部を有し、
前記アプリ署名生成部は、生成した前記アプリ署名を前記サーバには読み取られない形式で暗号化し、
前記アプリセッション送信部は、前記アプリ署名に代えて、前記アプリ署名生成部で暗号化されたアプリ署名を前記ブラウザへ送信し、
前記暗号化署名復号部は、前記ブラウザから受信した前記暗号化されたアプリ署名を復号し、
前記アプリ署名判定部は、前記暗号化署名復号部によって復号されたアプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定する、第１の本発明のクライアント端末である。
【００１５】
また、第４の本発明は、
前記アプリケーションは、前記ネットワークを介して取得でき、
一の前記ブラウザは、複数の前記アプリケーションと接続できる、第１の本発明のクライアント端末である。
【００１６】
また、第５の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末に、ネットワークを介して接続されたサーバであって、
前記アプリケーションが生成した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記ブラウザから受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報からサーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記クライアント端末へ送信するサーバ送信部とを備え、
前記アプリ署名は、送信元サーバ確認用の情報である、サーバである。
【００１７】
また、第６の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムであって、
前記アプリケーションは、
前記アプリケーションの状態を表すアプリセッション情報を生成するアプリセッション生成部と、
前記アプリケーションの身元を証明するアプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザに送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有し、
前記サーバは、
前記ブラウザから前記アプリセッション情報および前記アプリ署名を受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報から前記サーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記ブラウザへ送信するサーバ送信部とを有し、
前記ブラウザは、
前記アプリセッション送信部から受信した前記アプリセッション情報および前記アプリ署名を、前記サーバへ送信するネットワーク送信部と、
前記サーバから、前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記アプリ署名を受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有する、サーバクライアントシステムである。
【００１８】
また、第７の本発明は、
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムにおける連携動作処理方法であって、
前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記アプリケーションから前記ブラウザへ送信するアプリセッション送信ステップと、
前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信するネットワーク送信ステップと、
前記サーバによって、受信した前記アプリセッション情報に応じてＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入するＨＴＭＬ生成ステップと、
前記サーバによって、受信した前記アプリセッション情報からサーバセッション情報を生成するサーバセッション生成ステップと、
前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信するサーバ送信ステップと、
前記ブラウザによって、前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示するＨＴＭＬ表示ステップと、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信するセッション送信ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定するアプリ署名判定ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせるアプリ制御ステップとを備えた、連携動作処理方法である。
【００１９】
また、第８の本発明は、
第７の本発明の連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、をコンピュータに実行させるプログラムである。
【００２０】
また、第９の本発明は、
第８の本発明のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体である。
【発明の効果】
【００２１】
本発明により、ＷＥＢブラウザおよびローカルアプリケーションを有するクライアント端末とサーバとの間で通信を行うクライアントサーバシステムにおいて、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等を提供できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態のサーバクライアントシステムにおけるクライアント端末およびサーバのブロック図
【図２】本発明の実施の形態におけるクライアント端末の画面遷移図
【図３】本発明の実施の形態におけるサーバ、ＷＥＢブラウザ、およびローカルアプリケーション間のシーケンス図
【図４】本発明の実施の形態の、クライアント端末のＷＥＢブラウザとローカルアプリケーション間で引き渡されるデータの構造図
【図５】本発明の実施の形態におけるリクエストおよびレスポンスの構造図
【図６】本発明の実施の形態におけるＨＴＭＬの構造図
【図７】（ａ）本発明の実施の形態の、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成図（ｂ）本発明の実施の形態の、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成図
【発明を実施するための形態】
【００２３】
以下で、本発明の実施の形態について、図面を参照しながら説明する。
【００２４】
（実施の形態）
図１に、本発明の実施の形態のサーバクライアントシステムにおけるクライアント端末およびサーバのブロック図を示す。
【００２５】
クライアント端末１００とサーバ２００は、ネットワーク１８０を介して接続される。
【００２６】
クライアント端末１００は、一般にＩＰ通信を中継するルータ１５０を介してネットワーク１８０に接続される。またネットワーク１８０には、クライアント端末１００と同様な構成の複数の端末が接続されているものとする。
【００２７】
クライアント端末１００は、サーバ２００と通信をしており、クライアント端末１００において、ローカルアプリケーション１０２はＷＥＢブラウザ１０１を通じて、サーバ２００と通信するものとする。
【００２８】
クライアント端末１００は、大きくＷＥＢブラウザ１０１およびローカルアプリケーション１０２を備えている。
【００２９】
図４に、本実施の形態のＷＥＢブラウザ１０１とローカルアプリケーション１０２間で引き渡されるデータの構造を示す。
【００３０】
データ５００は、ローカルアプリケーション１０２からＷＥＢブラウザ１０１へ渡されるデータの構造例であり、配信サーバホストＵＲＬ５０１、セッション情報５０２、およびアプリ暗号署名５０３からなる。
【００３１】
データ５１０は、ＷＥＢブラウザ１０１からローカルアプリケーション１０２へ渡されるデータの構造例であり、セッション情報５１２およびアプリ暗号署名５１３からなる。
【００３２】
なお、セッション情報５０２が、本発明のアプリセッション情報の一例にあたり、セッション情報５１２が、本発明のサーバセッション情報の一例にあたる。
【００３３】
ＷＥＢブラウザ１０１は、データ受信部１１０、スクリプト解析部１１１、ブラウザ処理部１１２、データ送信部１１３、リクエストヘッダ生成部１１４、セッション受信部１１５およびセッション送信部１１６を備えている。ブラウザ情報入力１１８およびブラウザ情報表示１１７は、ブラウザ処理部１１２への入出力である。
【００３４】
ローカルアプリケーション１０２は、アプリセッション生成部１２０、アプリ署名生成部１２１、アプリ処理部１２２、暗号化署名復号部１２３、アプリ署名判定部１２４、サーバセッション解析部１２５、エラー処理部１２６、アプリセッション送信部１３０および制御部１３１を備えている。アプリ情報入力１２８およびアプリ情報表示１２７は、アプリ処理部１２２への入出力であり、エラー情報表示１２９は、エラー処理部１２６からの出力である。
【００３５】
なお、ＷＥＢブラウザ１０１が、本発明のブラウザの一例にあたり、ローカルアプリケーション１０２が、本発明のアプリケーションの一例にあたる。また、制御部１３１が、本発明のアプリ制御部の一例にあたる。また、データ送信部１１３が、本発明のネットワーク送信部の一例にあたり、データ受信部１１０が、本発明のネットワーク受信部の一例にあたる。また、ブラウザ処理部１１２が、本発明のＨＴＭＬ表示部の一例にあたる。
【００３６】
クライアント端末１００における、ＷＥＢブラウザ１０１やローカルアプリケーション１０２は、それぞれ専用の処理ハードウェアで構成してもよく、また、それぞれ別個のソフトウェアプログラムとして実現し、クライアント端末１００のＣＰＵで解釈して動作するように構成しても構わない。
【００３７】
ローカルアプリケーション１０２は、ユーザに対して、クライアント端末１００に記録されているコンテンツの一覧表示や事前にサーバ２００から取得した配信コンテンツに関するメタ情報（コンテンツのタイトルや価格）の一覧表示などを、アプリ情報表示１２７を通じて行ない、ユーザからの操作をアプリ情報入力１２８により受けることにより、表示されているコンテンツの一覧への操作を行なう。
【００３８】
アプリ処理部１２２は、ユーザからの操作をアプリ情報入力１２８により受け、その操作に対応した処理を行う。これにより、アプリ情報表示１２７を通じた表示処理を行ったり、ユーザが選択したコンテンツに関するメタ情報に含まれるコンテンツの識別情報や配信コンテンツサーバの配信サーバホストＵＲＬ５０１（本実施の形態では、サーバ２００のＵＲＬ）をアプリ署名生成部１２１に対して引き渡し、暗号化署名の生成の指示を行う。さらに、サーバセッション解析部１２５から受けた指示通りの画面表示を、アプリ情報表示１２７を通じて表示する機能を備える。
【００３９】
アプリ署名生成部１２１は、アプリ処理部１２２からの指示を受け、ローカルアプリケーション１０２自身をユニークに識別することが可能なアプリ署名を生成し、さらにその生成したアプリ署名をローカルアプリケーション１０２のみが復号することが可能なように暗号化してアプリ暗号署名５０３を生成する。そして、アプリ暗号署名５０３をコンテンツの識別情報および配信サーバホストＵＲＬ５０１とともにアプリセッション生成部１２０に引き渡す。
【００４０】
アプリセッション生成部１２０は、引き渡されたコンテンツの識別情報とローカルアプリケーション１０２が現在まで行なっていた処理の状態からセッション情報５０２を生成し、配信サーバホストＵＲＬ５０１およびアプリ暗号署名５０３とともに、アプリセッション送信部１３０に引き渡す。ここで、セッション情報５０２は、少なくとも、サーバ２００、ＷＥＢブラウザ１０１、およびローカルアプリケーション１０２が理解可能な形式であるものとする。
【００４１】
アプリセッション送信部１３０は、引き渡された配信サーバホストＵＲＬ５０１、セッション情報５０２およびアプリ暗号署名５０３を、図４に示すようにデータ５００として、ＷＥＢブラウザ１０１のセッション受信部１１５に引き渡す。
【００４２】
暗号化署名復号部１２３は、ＷＥＢブラウザ１０１のセッション送信部１１６から引き継がれたデータ５１０からアプリ暗号署名５１３を取り出す。そして、暗号化署名復号部１２３は、データ５１０から取り出したアプリ暗号署名５１３の暗号を復号する。復号できた場合は、アプリ暗号署名５１３を復号したアプリ署名を、アプリ署名判定部１２４に引き渡す。一方、復号できなかった場合は、エラー処理部１２６に通知する。
【００４３】
アプリ署名判定部１２４は、暗号化署名復号部１２３から渡されたアプリ署名がローカルアプリケーション１０２自身のものか判定し、そのアプリ署名がローカルアプリケーション１０２自身のものであった場合は、データ５１０からセッション情報５１２を取り出し、サーバセッション解析部１２５に引き渡す。一方、そのアプリ署名がローカルアプリケーション１０２自身のものでなかった場合には、エラー処理部１２６に通知する。
【００４４】
サーバセッション解析部１２５は、アプリ署名判定部１２４から引き渡されたセッション情報５１２を解析し、ローカルアプリケーション１０２をセッション情報５１２で指定された状態で表示するようにアプリ処理部１２２に指示する。
【００４５】
制御部１３１は、アプリ署名判定部１２４で判定した結果、サーバから受け取ったアプリ署名がローカルアプリケーション１０２自身のアプリ署名であった場合には、サーバセッション解析部１２５でセッション情報５１２を解析させ、その結果に応じてアプリ処理部１２２を動作させるように制御する。さらに制御部１３１は、各部の動作を制御するように構成しても構わない。
【００４６】
ＷＥＢブラウザ１０１は、ローカルアプリケーション１０２からの指示や、ユーザのＷＥＢブラウザ１０１に対する操作であるブラウザ情報入力１１８に従い、サーバ２００にＨＴＴＰリクエストを送信し、また、サーバ２００から取得したＨＴＭＬ形式の情報をブラウザ情報表示１１７を通じてユーザに画面表示する。
【００４７】
データ受信部１１０は、サーバ２００からのＨＴＴＰレスポンスを受信し、ブラウザ処理部１１２に引き渡す。
【００４８】
ブラウザ処理部１１２は、データ受信部１１０から取得したＨＴＴＰレスポンスのＨＴＭＬ情報をレンダリングし、ブラウザ情報表示１１７を通じて画面表示する。また、ブラウザ情報入力１１８に指示された情報がスクリプトを実行するものであった場合には、スクリプト解析部１１１にスクリプトの実行を指示する。さらに、ＷＥＢブラウザ１０１がサーバ２００に接続する場合には、ＨＴＴＰリクエストヘッダ生成部１１４へ接続するリクエストの生成を指示する。
【００４９】
スクリプト解析部１１１は、ブラウザ処理部１１２から指示されたスクリプトを解析し、データ５１０を取り出し、セッション送信部１１６に引き渡す。
【００５０】
セッション送信部１１６は、スクリプト解析部１１１から引き渡されたデータ５１０をローカルアプリケーション１０２の暗号化署名復号部１２３に引き渡す。
【００５１】
リクエストヘッダ生成部１１４は、ブラウザ処理部１１２やセッション受信部１１５からの指示により、ＨＴＴＰのリクエストヘッダ（後述の図５のリクエスト５２０、リクエスト５３０、リクエスト５４０参照）を生成する。
【００５２】
データ送信部１１３は、リクエストヘッダ生成部１１４から引き渡されたＨＴＴＰリクエストヘッダを用いて、サーバ２００に対してＨＴＴＰリクエスト要求を送る。
【００５３】
セッション受信部１１５は、ローカルアプリケーション１０２のアプリセッション送信部１３０からデータ５００を引き渡され、データ５００から適切なＨＴＴＰリクエストヘッダを生成するようにリクエストヘッダ生成部１１４に指示する。
【００５４】
サーバ２００は、ルータ２０１、受信部２０２、セッション解析部２０３、ＨＴＭＬ生成部２０４、アプリ用スクリプト生成部２０５、サーバセッション生成部２０６、レスポンスヘッダ生成部２０７および送信部２０８を備えている。
【００５５】
なお、受信部２０２が、本発明のサーバ受信部の一例にあたり、送信部２０８が、本発明のサーバ送信部の一例にあたる。
【００５６】
受信部２０２は、クライアント端末１００からのＨＴＴＰリクエストをルータ２０１を介して受信し、セッション解析部２０３に受け渡す。
【００５７】
セッション解析部２０３は、受信部２０２から引き渡されたＨＴＴＰリクエストからセッション情報５０２を取り出し、解析し、セッション情報５０２に応じたＨＴＭＬの生成をＨＴＭＬ生成部２０４に対して指示する。また、セッション解析部２０３は、サーバセッション生成部２０６に対してＨＴＴＰレスポンス用の適切なセッションを生成するよう指示する。
【００５８】
ＨＴＭＬ生成部２０４は、セッション解析部２０３からの指示により、適切なＨＴＭＬを作成し、送信部２０８に引き渡す。このとき、ＨＴＭＬ内にローカルアプリケーション１０２に対する命令を挿入する必要のある場合には、アプリ用スクリプト生成部２０５にスクリプトの生成を指示し、アプリ用スクリプト生成部２０５が生成したスクリプトをＨＴＭＬに挿入し、そのスクリプトを挿入したＨＴＭＬを送信部２０８に引き渡す。
【００５９】
サーバセッション生成部２０６は、セッション解析部２０３からの指示により、クライアント端末１００に次に期待する動作を示す適切なセッション情報５１２を生成し、レスポンスヘッダ生成部２０７に引き渡す。
【００６０】
レスポンスヘッダ生成部２０７は、サーバセッション生成部２０６から引き渡されたセッション情報５１２を用いて、ＨＴＴＰレスポンスヘッダを生成し、送信部２０８に引き渡す。
【００６１】
送信部２０８は、レスポンスヘッダ生成部２０７から引き渡されたＨＴＴＰレスポンスヘッダ、ＨＴＭＬ生成部２０４から引き渡されたＨＴＭＬ、およびクライアント端末１００からのＨＴＴＰリクエストに含まれルータ２０１から取得して保持しておいたアプリ暗号署名５０３からＨＴＴＰレスポンスを生成し、ルータ２０１を介して、クライアント端末１００に送信する。
【００６２】
次に、図２を用いて、本実施の形態のクライアント端末１００が表示する画面の遷移について説明する。
【００６３】
図２は、本実施の形態のクライアント端末１００の画面遷移例を示している。なお、この画面遷移はあくまでも一例であり、本発明の範囲はこれに限定されるものではない。
【００６４】
図２の表示画面３００、表示画面３０１および表示画面３０５は、クライアント端末１００のローカルアプリケーション１０２が表示する画面であり、表示画面３０２、表示画面３０３および表示画面３０４は、クライアント端末１００のＷＥＢブラウザ１０１が表示する画面である。
【００６５】
表示画面３００は、サーバ２００から事前に取得した配信コンテンツのメタ情報（コンテンツのタイトルなど）を表示する「購入リスト」を表す。ユーザは、購入リスト内から購入したいコンテンツをリモコン操作等により選択する。選択が行われると、表示画面３０１に遷移する。ここでは、「宇宙物語」を選択したものとする。表示画面３００は、「宇宙物語」にフォーカスが当てられた状態を示している。
【００６６】
表示画面３０１は、ユーザが選択したコンテンツを購入するかどうかの意志を問う表示である。ここで、ユーザが「はい」を選択すると、表示画面３０２に遷移する。
【００６７】
表示画面３０２は、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面を表す。先ほどユーザが購入リスト内から選択したコンテンツの詳細情報（コンテンツのタイトル、種別、再生期限、価格など）が表示される。コンテンツのタイトルが「宇宙物語」であり、コンテンツの種別が「レンタルコンテンツ」であることなどを表している。ここで、ユーザが「購入」を選択すると、表示画面３０３に遷移する。
【００６８】
表示画面３０３は、表示画面３０２と同様に、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面であり、ユーザにクレジット番号等を入力させるための画面である。ユーザはコンテンツを購入するため、クレジット番号等を入力すると、表示画面３０４に遷移する。
【００６９】
表示画面３０４は、表示画面３０２と同様に、ＷＥＢブラウザ１０１がサーバ２００から取得したＨＴＭＬを表示した画面である。ユーザによりなされたコンテンツ購入の指示を受けた結果が表示される。ここで、ユーザが「購入したコンテンツを確認」を選択することで、表示画面３０５へ遷移する。
【００７０】
表示画面３０５は、クライアント端末１００に記録されたコンテンツのリストの中に、これまでの購入の手続で購入したコンテンツ「宇宙物語」が加えられていることを表す。先ほど購入した「宇宙物語」にフォーカスが当てられた状態で表示される。
【００７１】
次に、図１〜図３を用いて、本実施の形態の、サーバ２００、ＷＥＢブラウザ１０１、ローカルアプリケーション１０２、およびユーザ８００間のシーケンスについて説明する。
【００７２】
図３は、本実施の形態における、サーバ２００、ＷＥＢブラウザ１０１、およびローカルアプリケーション１０２間のシーケンス図を示している。ここでの各表示画面でのユーザ８００の操作は、先述の図２を用いた画面遷移の説明に対応する。
【００７３】
まず、ローカルアプリケーション１０２のアプリ処理部１２２が、表示画面３００の描画（Ｓ４００）により、図２の表示画面３００を画面表示して、ユーザ８００に知らせる。
【００７４】
ユーザ８００が購入コンテンツ選択（Ｓ４０１）を行なうと、アプリ処理部１２２は、表示画面３０１の描画（Ｓ４０２）により、表示画面３０１を画面表示し、ユーザ８００に知らせる。
【００７５】
ユーザが表示画面３０１にて購入選択（Ｓ４０３）をし、アプリ処理部１２２が、その指示を受けると、アプリ署名生成部１２１が、ローカルアプリケーション１０２自身をユニークに識別できるアプリ署名を暗号化したアプリ暗号署名５０３を生成し（Ｓ４０４）、アプリセッション生成部１２０が、ローカルアプリケーション１０２の状態を表すセッション情報５０２を生成する（Ｓ４０５）。
【００７６】
次に、ローカルアプリケーション１０２のアプリセッション送信部１３０は、データ５００とともに、ＷＥＢブラウザ１０１の起動の指示を行なう（Ｓ４０６）。
【００７７】
図４に示したデータ５００が、このときのＷＥＢブラウザ１０１の起動時に引き渡されるデータ５００の構成例であり、このときのセッション情報５０２は、図２の表示画面３０１で、ユーザが購入リストの宇宙物語（ここでｃｉｄ＝０００００２とする）を購入するために選択した（ｐｒｏｃｅｓｓ＝ｓｅｌｅｃｔ）という状態を表している。
【００７８】
起動の指示を受けたＷＥＢブラウザ１０１は、セッション受信部１１５が取得したデータ５００を用いて、リクエストヘッダ生成部１１４がＨＴＴＰリクエストヘッダを生成し（Ｓ４０７）、リクエスト５２０をＨＴＴＰリクエストとして、データ送信部１１３が購入ページ要求をサーバ２００に対して行なう（Ｓ４０８）。
【００７９】
サーバ２００の受信部２０２がルータ２０１を介してＨＴＴＰリクエストを受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が適切なＨＴＭＬを生成し、レスポンス５５０をＨＴＴＰレスポンスとして、送信部２０８が購入ページの送信を行う（Ｓ４０９）。
【００８０】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０２の描画により画面表示して、ユーザ８００に対してコンテンツの詳細情報を知らせる（Ｓ４１０）。ユーザ８００は、表示画面３０２において、「購入」を選択する（Ｓ４１１）。
【００８１】
すると、リクエストヘッダ生成部１１４が、ＨＴＴＰリクエストヘッダを生成し（Ｓ４１２）、リクエスト５３０をＨＴＴＰリクエストとして、データ送信部１１３がサーバ２００に対して決裁ページの要求を行なう（Ｓ４１３）。
【００８２】
サーバ２００の受信部２０２が、決裁ページの要求であるリクエスト５３０を受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が適切なＨＴＭＬを生成し、決裁ページの応答であるレスポンス５６０をＨＴＴＰレスポンスとして、送信部２０８がＷＥＢブラウザ１０１に送信する（Ｓ４１４）。
【００８３】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０３を描画し、ユーザ８００に対して知らせる（Ｓ４１５）。表示画面３０３において、ユーザ８００は、クレジット情報を入力する（Ｓ４１６）。
【００８４】
すると、リクエストヘッダ生成部１１４が、確認ページを要求する旨のＨＴＴＰリクエストヘッダを生成し（Ｓ４１７）、確認ページを要求する旨のリクエスト５４０をＨＴＴＰリクエストとして、データ送信部１１３がサーバ２００に対して送信する（Ｓ４１８）。
【００８５】
サーバ２００の受信部２０２が、確認ページを要求する旨のリクエスト５４０であるＨＴＴＰリクエストを受けると、セッション解析部２０３がＨＴＴＰヘッダを解析し、ＨＴＭＬ生成部２０４が確認ページを表示させるための適切なＨＴＭＬを生成する。この際、ローカルアプリケーション１０２に対しても、購入したコンテンツがクライアント端末１００に加えられたことを表示させるため、アプリ用スクリプト生成部２０５が、ローカルアプリケーション１０２にてその旨実行させるローカルアプリケーション１０２用のスクリプトを生成する（Ｓ４１９）。
【００８６】
そして、ＨＴＭＬ生成部２０４が、クライアント端末１００のローカルアプリケーション１０２に命令を送るためのこのスクリプトをＨＴＭＬに挿入し、確認ページを要求する旨のリクエスト５４０に対する応答であるレスポンス５７０をＨＴＴＰレスポンスとして、ＷＥＢブラウザ１０１に対して送信部２０８が確認ページを送信する（Ｓ４２０）。
【００８７】
そして、ＷＥＢブラウザ１０１のブラウザ処理部１１２は、表示画面３０４の描画により、ユーザ８００に対して確認ページを知らせる（Ｓ４２１）。表示画面３０４において、「購入したコンテンツを確認」する選択を、ユーザ８００が行なうと（Ｓ４２２）、スクリプト解析部１１１が、レスポンス５７０のＨＴＭＬに挿入したアプリ用スクリプトを実行し（Ｓ４２３）、セッション送信部１１６が、データ５１０をローカルアプリケーション１０２に受け渡してセッションを引き継ぐ（Ｓ４２４）。
【００８８】
セッションを引き継がれたローカルアプリケーション１０２の暗号化署名復号部１２３が、ＷＥＢブラウザ１０１から受けたデータ５１０の中の、アプリ暗号署名５１３を復号し、アプリ署名判定部１２４が、その復号したアプリ署名がローカルアプリケーション１０２自身の署名かどうかを判定する（Ｓ４２５）。
【００８９】
暗号化署名復号部１２３によってアプリ暗号署名５１３の復号ができないか、または、アプリ署名判定部１２４によって署名が正しくないと判定された場合には、正当なサーバから受信したものではないと判断でき、エラー処理部１２６によってエラー表示を行ない、ユーザ８００に対して知らせる。そして、以降のステップには移らない。
【００９０】
アプリ暗号署名５１３を復号して生成したアプリ署名が正しい場合には、サーバセッション解析部１２５が、データ５１０の中のセッション情報５１２を解析し（Ｓ４２６）、アプリ処理部１２２が、セッション情報５１２の解析結果に適した画面（表示画面３０５等）を表示させて、ユーザ８００に知らせる（Ｓ４２７）。
【００９１】
なお、データ５１０に含まれるアプリ暗号署名５１３は、不正なサーバにより書き換えられない限り、アプリ署名生成部１２１が生成したアプリ暗号署名５０３と同じである。アプリ暗号署名５１３とアプリ暗号署名５０３とが異なる場合は、上記したように、暗号化署名復号部１２３またはアプリ署名判定部１２４で不正な署名として、エラー処理部１２６に通知される。この場合には、不正なサーバから情報を受信したものとして判断することができる。
【００９２】
ここで、図５を用いて、本実施の形態におけるリクエストおよびレスポンスの構造について、説明する。
【００９３】
図５は、本実施の形態のクライアント端末１００がサーバ２００へ送信するリクエスト、およびサーバ２００がクライアント端末１００へ送信するレスポンスの構造例を示している。図５に示すリクエスト５２０、５３０、５４０、レスポンス５５０、５６０、５７０は、それぞれ図３の同じ符号を付したリクエストおよびレスポンスに対応している。
【００９４】
リクエスト５２０は、標準のＨＴＴＰヘッダと拡張ヘッダ５２１からなる。拡張ヘッダ５２１は、セッション情報５０２およびアプリ暗号署名５０３をサーバ２００に伝達するために用いる。なお、拡張ヘッダの使用は、あくまでも一例であり、セッション情報５０２およびアプリ暗号署名５０３をサーバ２００に伝達する手段はこれに限定されるものではない。セッション情報５０２およびアプリ暗号署名５０３をＵＲＬエンコーディングとして、サーバ２００に伝達することも可能であり、同様の効果を得ることができる。
【００９５】
リクエスト５３０は、標準のＨＴＴＰヘッダと拡張ヘッダ５３１からなる。拡張ヘッダ５３１は、ユーザ８００が購入選択を行なった（Ｓ４１１）という状態をサーバ２００に伝達するために用いる。
【００９６】
リクエスト５４０は、標準のＨＴＴＰヘッダと拡張ヘッダ５４１からなる。拡張ヘッダ５４１は、ユーザ８００がクレジット情報入力を行なった（Ｓ４１６）という状態をサーバ２００に伝達するために用いる。
【００９７】
レスポンス５５０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５５１、および購入ページＨＴＭＬ５５２からなる。拡張ヘッダ５５１は、セッション情報５１２およびアプリ暗号署名５１３をクライアント端末１００に伝達するために用いる。購入ページＨＴＭＬ５５２は、ＷＥＢブラウザ１０１により描画され、表示画面３０２が表示される。
【００９８】
レスポンス５６０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５６１、および決裁ページＨＴＭＬ５６２からなる。決裁ページＨＴＭＬ５６２は、ＷＥＢブラウザ１０１により描画され、表示画面３０３が表示される。
【００９９】
レスポンス５７０は、標準のＨＴＴＰヘッダ、拡張ヘッダ５７１、および確認ページＨＴＭＬ５７２からなる。確認ページＨＴＭＬ５７２は、ＷＥＢブラウザ１０１により描画され、表示画面３０４が表示される。
【０１００】
次に、図６を用いて、本発明の実施の形態のＨＴＭＬについて、説明する。
【０１０１】
図６は、図５のレスポンス５７０に含まれる確認ページＨＴＭＬ５７２の構造を示している。
【０１０２】
確認ページＨＴＭＬ５７２内には、サーバ２００で挿入したアプリ用スクリプト５７３がある。ユーザが表示画面３０４の「購入したコンテンツを確認」ボタンを押すと、ＨＴＭＬ５７２内に記載されたＪａｖａ（登録商標）ｓｃｒｉｐｔのＯｎＣｌｉｃｋイベントが発生し、アプリ用スクリプト５７３に定義した関数が実行される。この関数実行により、ＷＥＢブラウザ１０１のセッション送信部１１６は、ローカルアプリケーション１０２に対して、セッション引き継ぎ（Ｓ４２４）を実行する。
【０１０３】
以上のように、本実施の形態のサーバクライアントシステムによれば、サーバ２００と通信を行なうクライアント端末１００において、サーバ２００、クライアント端末１００のＷＥＢブラウザ１０１、およびクライアント端末１００のローカルアプリケーション１０２の３者間で、悪意のあるサーバからローカルアプリケーション１０２を不正に操作されることなく、セッションや情報を引き継ぐことができるという顕著な効果がある。
【０１０４】
なお、本実施の形態では、アプリ署名生成部１２１が、ローカルアプリケーション１０２自身をユニークに識別することが可能なアプリ署名を生成し、さらにそのアプリ署名を暗号化してアプリ暗号署名５０３を生成することとしたが、アプリ署名生成部１２１は、アプリ署名を生成するのみとし、その暗号化していないアプリ署名を、上記したアプリ暗号署名５０３の代わりに用いるようにしてもよい。
【０１０５】
この場合には、ＷＥＢブラウザ１０１のセッション送信部１１６からローカルアプリケーション１０２に引き渡されるデータ５１０には暗号化されていないアプリ署名が含まれており、暗号化署名復号部１２３は、そのアプリ署名を復号する必要がなく、アプリ署名をそのままアプリ署名判定部１２４に送ることになる。したがって、アプリ暗号署名５０３の代わりに暗号化していないアプリ署名を用いる場合には、暗号化署名復号部１２３を省略するように構成してもよい。
【０１０６】
このように、暗号化していないアプリ署名を用いた場合でも、ＷＥＢブラウザ１０１から引き渡されたアプリ署名が、ローカルアプリケーション１０２が生成したアプリ署名であるか判定することで、正当なサーバからの情報か否かを判断することができる。
【０１０７】
また、本実施の形態では、サーバ２００のサーバセッション生成部２０６が、クライアント端末１００に次に期待する動作を示す適切なセッション情報５１２を生成し、クライアント端末１００のサーバセッション解析部１２５が、セッション情報５１２の解析結果に適した画面をアプリ処理部１２２によって表示させることとしたが、サーバセッション生成部２０６が、ローカルアプリケーション１０２の状態を定めるアプリ状態設定情報も含めてセッション情報５１２を生成することとし、ローカルアプリケーション１０２の制御部１３１が、そのセッション情報５１２に含まれるアプリ状態設定情報に応じてローカルアプリケーション１０２の状態を設定するようにしてもよい。
【０１０８】
また、本実施の形態のローカルアプリケーション１０２が持つＷＥＢブラウザ１０１との引継ぎ機能を複数のローカルアプリケーションに持たせることにより、ＷＥＢブラウザ１０１によってサーバと複数のローカルアプリケーションとの間の引継ぎを行なわせることができる。
【０１０９】
図７（ａ）および図７（ｂ）に、複数のローカルアプリケーションが１つのＷＥＢブラウザを利用する場合のクライアント端末の構成を示している。
【０１１０】
図７（ａ）および図７（ｂ）に示すローカルアプリケーションおよびＷＥＢブラウザは、これらのプログラムが起動されているときの構成を示している。
【０１１１】
図７（ａ）のクライアント端末１５１内のブラウザ１４０、１４０’、１４０”は、同じプログラムであるが、各ローカルアプリケーション１４１、１４２、１４３によって個別に起動される。
【０１１２】
この場合、ローカルアプリケーション１４１は、ローカルアプリケーション１４１が起動したブラウザ１４０によってサーバ２００との間の引継ぎが行なわれ、ローカルアプリケーション１４２は、ローカルアプリケーション１４２が起動したブラウザ１４０’によってサーバ２００との間の引継ぎが行なわれ、ローカルアプリケーション１４３は、ローカルアプリケーション１４３が起動したブラウザ１４０”によってサーバ２００との間の引継ぎが行なわれる。
【０１１３】
図７（ｂ）のクライアント端末１５２内のブラウザ１４４は、１つの起動されたプログラムによって、複数のローカルアプリケーションの引継ぎを行なう機能を有している。この場合には、起動された１つのブラウザ１４４によって、ローカルアプリケーション１４５、１４６、１４７のそれぞれとサーバ２００間の引継ぎが行なわれる。
【０１１４】
ブラウザ１４４は、複数のローカルアプリケーションを識別できる情報を用いることにより、図７（ｂ）のように、起動された１つのブラウザにより、複数のローカルアプリケーションの引継ぎを実現できる。複数のローカルアプリケーションを識別できる情報として、例えば、各ローカルアプリケーションとの間で引き渡されるアプリ暗号署名５０３およびアプリ暗号署名５１３を用いてもよい。
【０１１５】
このように、ＷＥＢブラウザ１０１との引継ぎ機能を複数のローカルアプリケーションに持たせることにより、複数のローカルアプリケーションに対して１つのＷＥＢブラウザ１０１があればよく、ローカルアプリケーション毎にＷＥＢブラウザを備えておく必要がないので、ローカルアプリケーションとＷＥＢブラウザのプログラムを格納しておくために必要なＨＤＤなどの記録媒体の容量が少なくてすむ。
【０１１６】
また、このようなＷＥＢブラウザ１０１との引継ぎ機能を有するローカルアプリケーションを、ネットワーク１８０を介してダウンロードできるようにしてもよい。
【０１１７】
なお、本発明のプログラムは、上述した連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、の動作をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
【０１１８】
また、本発明のプログラム記録媒体は、上述した連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、の動作をコンピュータにより実行させるためのプログラムを記録したプログラム記録媒体であり、コンピュータにより読み取り可能かつ、読み取られた前記プログラムが前記コンピュータと協働して利用されるプログラム記録媒体である。
【０１１９】
また、本発明の上記「ステップの動作」とは、前記ステップの全部または一部の動作を意味する。
【０１２０】
また、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な、ＲＯＭ等の記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
【０１２１】
また、本発明のプログラムの一利用形態は、インターネット等の伝送媒体、光・電波等の伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であっても良い。
【０１２２】
また、上述した本発明のコンピュータは、ＣＰＵ等の純然たるハードウェアに限らず、ファームウェアや、ＯＳ、更に周辺機器を含むものであっても良い。
【０１２３】
なお、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
【産業上の利用可能性】
【０１２４】
本発明に係るクライアント端末、サーバ、サーバクライアントシステム、連携動作処理方法等は、サーバからの情報を受信したＷＥＢブラウザがその情報をローカルアプリケーションに引き継ぐ際、その情報が正当なサーバからの情報であるか否かをローカルアプリケーションが判断できる効果を有し、ネットワーク経由でサーバに蓄積されている映像や音声コンテンツをダウンロードまたはストリーミングで再生することのできる、クライアント端末、サーバ、サーバクライアントシステムおよび連携動作処理方法等として有用である。
【符号の説明】
【０１２５】
１００    クライアント端末
１０１    ＷＥＢブラウザ
１０２    ローカルアプリケーション
１１０    データ受信部
１１１    スクリプト解析部
１１２    ブラウザ処理部
１１３    データ送信部
１１４    リクエストヘッダ生成部
１１５    セッション受信部
１１６    セッション送信部
１１７    ブラウザ情報表示
１１８    ブラウザ情報入力
１２０    アプリセッション生成部
１２１    アプリ署名生成部
１２２    アプリ処理部
１２３    暗号化署名復号部
１２４    アプリ署名判定部
１２５    サーバセッション解析部
１２６    エラー処理部
１２７    アプリ情報表示
１２８    アプリ情報入力
１２９    エラー情報表示
１３０    アプリセッション送信部
１３１    制御部
１４０、１４０’、１４０”  ブラウザ
１４１    ローカルアプリケーション
１４２    ローカルアプリケーション
１４３    ローカルアプリケーション
１４４    ブラウザ
１４５    ローカルアプリケーション
１４６    ローカルアプリケーション
１４７    ローカルアプリケーション
１５０    ルータ
１５１    クライアント端末
１５２    クライアント端末
１８０    ネットワーク
２００    サーバ
２０１    ルータ
２０２    受信部
２０３    セッション解析部
２０４    ＨＴＭＬ生成部
２０５    アプリ用スクリプト生成部
２０６    サーバセッション生成部
２０７    レスポンスヘッダ生成部
２０８    送信部
３００    表示画面
３０１    表示画面
３０２    表示画面
３０３    表示画面
３０４    表示画面
３０５    表示画面
Ｓ４００  表示画面３００の描画
Ｓ４０１  購入コンテンツ選択
Ｓ４０２  表示画面３０１の描画
Ｓ４０３  購入選択
Ｓ４０４  暗号化署名生成
Ｓ４０５  セッション情報生成
Ｓ４０６  ブラウザ起動
Ｓ４０７  ヘッダ生成
Ｓ４０８  購入ページ要求
Ｓ４０９  購入ページ送信
Ｓ４１０  表示画面３０２の描画
Ｓ４１１  購入選択
Ｓ４１２  ヘッダ生成
Ｓ４１３  決裁ページ要求
Ｓ４１４  決裁ページ送信
Ｓ４１５  表示画面３０３の描画
Ｓ４１６  クレジット情報入力
Ｓ４１７  ヘッダ生成
Ｓ４１８  確認ページ要求
Ｓ４１９  アプリ用スクリプト作成
Ｓ４２０  確認ページ送信
Ｓ４２１  表示画面３０４の描画
Ｓ４２２  確認選択
Ｓ４２３  スクリプト実行
Ｓ４２４  セッション引き継ぎ
Ｓ４２５  復号・判定処理
Ｓ４２６  セッション解析
Ｓ４２７  表示画面３０５の描画
５００    データ
５０１    配信サーバホストＵＲＬ
５０２    セッション情報
５０３    アプリ暗号署名
５１０    データ
５１２    セッション情報
５１３    アプリ暗号署名
５２０    リクエスト
５２１    拡張ヘッダ
５３０    リクエスト
５３１    拡張ヘッダ
５４０    リクエスト
５４１    拡張ヘッダ
５５０    レスポンス
５５１    拡張ヘッダ
５５２    購入ページＨＴＭＬ
５６０    レスポンス
５６１    拡張ヘッダ
５６２    決裁ページＨＴＭＬ
５７０    レスポンス
５７１    拡張ヘッダ
５７２    確認ページＨＴＭＬ
５７３    アプリ用スクリプト
８００    ユーザ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバに接続され、ブラウザおよび前記ブラウザとは異なるアプリケーションを備えたクライアント端末であって、
前記ブラウザは、
前記アプリケーションから受信した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を前記サーバへ送信するネットワーク送信部と、
前記サーバによって前記アプリセッション情報に応じて生成された、前記アプリケーションの動作を指示するスクリプトが挿入されたＨＴＭＬページと、前記サーバによって前記アプリセッション情報から生成されたサーバセッション情報と、前記サーバによって受信された前記アプリ署名とを、前記サーバから受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有し、
前記アプリケーションは、
前記アプリセッション情報を生成するアプリセッション生成部と、
前記アプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザへ送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有する、クライアント端末。
【請求項２】
前記ネットワーク受信部が受信する前記サーバセッション情報には、前記アプリケーションの状態を定めるアプリ状態設定情報が前記サーバによって含められており、
前記アプリ制御部は、前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信した前記サーバセッション情報から前記アプリ状態設定情報を取り出し、前記アプリ状態設定情報に応じて前記アプリケーションの状態を設定する、請求項１に記載のクライアント端末。
【請求項３】
前記アプリケーションは、前記サーバには読み取られない形式で暗号化された前記アプリ署名を復号する暗号化署名復号部を有し、
前記アプリ署名生成部は、生成した前記アプリ署名を前記サーバには読み取られない形式で暗号化し、
前記アプリセッション送信部は、前記アプリ署名に代えて、前記アプリ署名生成部で暗号化されたアプリ署名を前記ブラウザへ送信し、
前記暗号化署名復号部は、前記ブラウザから受信した前記暗号化されたアプリ署名を復号し、
前記アプリ署名判定部は、前記暗号化署名復号部によって復号されたアプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定する、請求項１に記載のクライアント端末。
【請求項４】
前記アプリケーションは、前記ネットワークを介して取得でき、
一の前記ブラウザは、複数の前記アプリケーションと接続できる、請求項１に記載のクライアント端末。
【請求項５】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末に、ネットワークを介して接続されたサーバであって、
前記アプリケーションが生成した、前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記ブラウザから受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報からサーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記クライアント端末へ送信するサーバ送信部とを備え、
前記アプリ署名は、送信元サーバ確認用の情報である、サーバ。
【請求項６】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムであって、
前記アプリケーションは、
前記アプリケーションの状態を表すアプリセッション情報を生成するアプリセッション生成部と、
前記アプリケーションの身元を証明するアプリ署名を生成するアプリ署名生成部と、
前記アプリセッション情報および前記アプリ署名を前記ブラウザに送信するアプリセッション送信部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であるか否かを判定するアプリ署名判定部と、
前記ブラウザから受信した前記アプリ署名が、前記アプリ署名生成部により生成したアプリ署名であった場合にのみ、前記ブラウザから受信したサーバセッション情報に応じた処理を行うように制御するアプリ制御部とを有し、
前記サーバは、
前記ブラウザから前記アプリセッション情報および前記アプリ署名を受信するサーバ受信部と、
前記受信したアプリセッション情報に応じてＨＴＭＬページを生成するＨＴＭＬ生成部と、
前記ＨＴＭＬページに、前記アプリケーションの動作を指示するスクリプトを挿入するアプリ用スクリプト生成部と、
前記受信したアプリセッション情報から前記サーバセッション情報を生成するサーバセッション生成部と、
前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記受信したアプリ署名を、前記ブラウザへ送信するサーバ送信部とを有し、
前記ブラウザは、
前記アプリセッション送信部から受信した前記アプリセッション情報および前記アプリ署名を、前記サーバへ送信するネットワーク送信部と、
前記サーバから、前記スクリプトが挿入された前記ＨＴＭＬページ、前記サーバセッション情報、および前記アプリ署名を受信するネットワーク受信部と、
前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示させるＨＴＭＬ表示部と、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記アプリケーションへ送信するセッション送信部とを有する、サーバクライアントシステム。
【請求項７】
ブラウザおよび前記ブラウザとは異なるアプリケーションが動作するクライアント端末と、ネットワークを介して前記クライアント端末に接続されたサーバとを備えたサーバクライアントシステムにおける連携動作処理方法であって、
前記アプリケーションの状態を表すアプリセッション情報および前記アプリケーションの身元を証明するアプリ署名を、前記アプリケーションから前記ブラウザへ送信するアプリセッション送信ステップと、
前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信するネットワーク送信ステップと、
前記サーバによって、受信した前記アプリセッション情報に応じてＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入するＨＴＭＬ生成ステップと、
前記サーバによって、受信した前記アプリセッション情報からサーバセッション情報を生成するサーバセッション生成ステップと、
前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信するサーバ送信ステップと、
前記ブラウザによって、前記サーバから受信した、前記スクリプトが挿入された前記ＨＴＭＬページを表示するＨＴＭＬ表示ステップと、
前記スクリプトの起動に応じて、前記サーバから受信した前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信するセッション送信ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定するアプリ署名判定ステップと、
前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせるアプリ制御ステップとを備えた、連携動作処理方法。
【請求項８】
請求項７に記載の連携動作処理方法の、アプリセッション情報およびアプリ署名を前記アプリケーションから前記ブラウザへ送信する前記アプリセッション送信ステップ、前記アプリケーションから受信した前記アプリセッション情報および前記アプリ署名を、前記ブラウザから前記サーバへ送信する前記ネットワーク送信ステップ、前記サーバによって、ＨＴＭＬページを生成し、前記アプリケーションの動作を指示するスクリプトを前記ＨＴＭＬページに挿入する前記ＨＴＭＬ生成ステップ、前記スクリプトを挿入した前記ＨＴＭＬページ、前記サーバセッション情報、および受信した前記アプリ署名を、前記サーバから前記ブラウザへ送信する前記サーバ送信ステップ、前記スクリプトの起動に応じて、前記サーバセッション情報および前記アプリ署名を、前記ブラウザから前記アプリケーションへ送信する前記セッション送信ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であるか否かを判定する前記アプリ署名判定ステップ、前記ブラウザから受信した前記アプリ署名が、前記アプリケーション自身が生成したアプリ署名であった場合にのみ、前記サーバセッション情報に応じた処理を前記アプリケーションに行わせる前記アプリ制御ステップ、をコンピュータに実行させるプログラム。
【請求項９】
請求項８に記載のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2011027492.tif 000010
【図２】
2011027492.tif 000011
【図３】
2011027492.tif 000012
【図４】
2011027492.tif 000013
【図５】
2011027492.tif 000014
【図６】
2011027492.tif 000015
【図７】
2011027492.tif 000016
【手続補正書】
【提出日】平成23年3月22日(2011.3.22)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2011027492.tif 000017
【国際調査報告】
2011027492.tif 000018
2011027492.tif 000019