JPWO2013098925A1 - 情報処理装置、情報処理システム、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法およびプログラム Download PDF

Info

Publication number
JPWO2013098925A1
JPWO2013098925A1 JP2012535479A JP2012535479A JPWO2013098925A1 JP WO2013098925 A1 JPWO2013098925 A1 JP WO2013098925A1 JP 2012535479 A JP2012535479 A JP 2012535479A JP 2012535479 A JP2012535479 A JP 2012535479A JP WO2013098925 A1 JPWO2013098925 A1 JP WO2013098925A1
Authority
JP
Japan
Prior art keywords
information
user terminal
processing apparatus
information processing
instruction code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012535479A
Other languages
English (en)
Other versions
JP5383923B1 (ja
Inventor
貴宏 渡邉
貴宏 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murakumo Corp
Original Assignee
Murakumo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murakumo Corp filed Critical Murakumo Corp
Application granted granted Critical
Publication of JP5383923B1 publication Critical patent/JP5383923B1/ja
Publication of JPWO2013098925A1 publication Critical patent/JPWO2013098925A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2571NAT traversal for identification, e.g. for authentication or billing 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

異なる複数のWebサイトにおいて、共通の通信識別子を用いることを課題とする。第一のサーバ1Aに、ユーザ端末9から送信されたリクエストを受信する情報要求受信部21と、ユーザ端末9に、共通のセッションIDを用いたい第二のサーバ1Bに接続させ、共通のセッションIDを第二のサーバ1Bから受信させる所定のタグを生成する指示コード生成部24と、リクエストに応じてユーザ端末9に対して送信されるWebページとして、所定のタグを含むWebページを生成する情報生成部25と、生成された所定のタグを含むWebページおよび共通のセッションIDを、ユーザ端末9宛に送信する情報送信部27と、を備えた。

Description

本発明は、通信識別子を用いてユーザ端末との間の通信を管理する技術に関する。
従来、前回と異なるサーバへ処理が割り当てられる場合のセッション継続方法として、それぞれのサーバに予め状態コードと状態の対応表を保持しておき、クライアントへの応答時に、クッキーに現在の状態を表す状態コードを含めて返し、リクエストとしてそのクッキーを受け取ったサーバが、状態コードから状態を回復する方法が提案されている(特許文献1を参照)。
特開2002−334057号公報
従来、Webサイトにおいてユーザ端末を識別してサービスを提供する場合、Cookie(クッキー)を用いてユーザ端末のブラウザにセッションIDを記憶させ、Webサイトが、このセッションIDを用いてユーザ端末を識別することが行われている。
しかし、ユーザ端末に備えられるWebブラウザは、ドメイン名毎にCookieを管理するため、異なるドメイン名に係る複数のWebサイトにおいて、サイトをまたがった横断的なサービスをユーザに提供することは困難であった。
本発明は、上記した問題に鑑み、異なる複数のWebサイトにおいて、共通の通信識別子を用いることを課題とする。
本発明は、上記した課題を解決するために、以下の手段を採用した。即ち、本発明は、ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、情報処理装置である。
ここで、通信識別子とは、例えばセッションID等、ユーザ端末やユーザとの通信を識別して、ユーザ端末やユーザ毎にサービスを提供するための識別子である。本発明に係る情報処理装置は、ユーザ端末から例えばWebページのリクエスト等の情報要求を受信した場合に、当該ユーザ端末に、共通の通信識別子を他の情報処理装置から受信させるための指示コード(例えば、HTMLタグ)を生成する。そして、この指示コードを情報要求に応じて送信される情報(例えば、Webページ)に含めることで、ユーザ端末に、共通の通信識別子を他の情報処理装置から受信させる。
また、前記指示コード生成手段は、前記指示コードとして、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断可能なコードを生成してもよい。
また、情報処理装置は、前記指示コードが該情報処理装置によって発行されたものであることを認証可能な認証コードを生成する認証コード生成手段を更に備え、前記指示コード生成手段は、前記指示コードを受けて前記他の情報処理装置に接続する前記ユーザ端末が、前記指示コードに含まれる前記認証コードを前記他の情報処理装置に通知するように、前記指示コードを生成してもよい。
また、前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータを用いて、前記認証コードを算出してもよい。
また、前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータに対して一方向ハッシュ演算を行うことで、前記認証コードを算出してもよい。
また、情報処理装置は、該情報処理装置と前記ユーザ端末との間で通信識別子が設定済みか否かを判定する設定状態判定手段を更に備え、前記指示コード生成手段は、前記設定状態判定手段によって前記通信識別子が設定済みでないと判定された場合に、前記指示コードを生成してもよい。
また、本発明は、ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記情報要求受信手段によって受信された情報要求が、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、情報処理装置である。
ここで、本発明に係る情報処理装置は、ユーザ端末から例えばスクリプトのリクエスト等の情報要求を受信した場合に、この情報要求が、共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証し、認証された場合に、共通の通信識別子を、前記ユーザ端末宛に送信する。
また、前記情報要求受信手段は、前記情報要求と併せて、前記他の情報処理装置と前記ユーザ端末との間で用いられる通信識別子を受信し、前記情報送信手段は、前記情報要求受信手段によって受信された前記通信識別子を、前記共通の通信識別子として送信してもよい。
また、前記情報要求受信手段は、前記情報要求と併せて、前記指示コードが前記他の情報処理装置によって発行されたものであることを認証可能な認証コードを受信し、前記認証手段は、前記認証コードを用いて、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証してもよい。
また、前記認証手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵と前記情報要求受信手段によって受信された前記通信識別子とを含むデータを用いた算出結果と、前記認証コードとを比較することで、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証してもよい。
また、前記情報送信手段は、前記ユーザ端末に対する具体的な命令を含まないコードと共に、前記共通の通信識別子を、前記ユーザ端末宛に送信してもよい。
また、本発明は、ユーザ端末との間の通信において通信識別子を用いる第一の情報処理装置および第二の情報処理装置を備える情報処理システムであってもよい。ここで、前記第一の情報処理装置は、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記ユーザ端末に、前記第二の情報処理装置に接続させ、前記共通の通信識別子を該第二の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える。そして、前記第二の情報処理装置は、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記情報要求受信手段によって受信された情報要求が、前記第一の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える。
また、本発明は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
本発明によれば、異なる複数のWebサイトにおいて、共通の通信識別子を用いることが可能となる。
実施形態に係るシステムの構成の概略を示す図である。 実施形態に係るサーバのハードウェア構成の概略を示す図である。 実施形態に係るシステムを構成する各端末の機能構成の概略を示す図である。 実施形態に係る、セッションID共有処理の流れを示すフローチャートである。 実施形態に係る、共通セッションID設定用ページ生成処理の流れを示すフローチャートである。 実施形態に係る、共通セッションID設定処理の流れを示すフローチャートである。
以下、本発明の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、実施形態を例示するものであって、本発明を以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
<システムの構成>
図1は、本実施形態に係るシステムの構成の概略を示す図である。本実施形態に係るシステムは、インターネット等のネットワークを介して互いに通信可能に接続された、a.comサーバ1Aおよびb.comサーバ1Bを備える。また本実施形態に係るシステムには、ネットワークを介して、ユーザ端末9が接続される。なお、a.comサーバ1Aおよびb.comサーバ1Bは、夫々、単一の筐体によって構成されてもよいし、ネットワーク等を介して接続された複数の筐体によって構成されてもよい。
ここで、a.comサーバ1Aによって提供されるWebサイト「a.com」およびb.comサーバ1Bによって提供されるWebサイト「b.com」は、異なるドメイン名に係るWebサイトであるものの、サイトをまたがった横断的なサービスをユーザに提供したい。このためには、同一のユーザ端末9がa.comサーバ1Aおよびb.comサーバ1Bに接続した場合に、同一のユーザ端末9による接続であるとa.comサーバ1Aおよびb.comサーバ1Bが夫々認識することが好ましい。しかし、ユーザ端末9に備えられるWebブラウザは、ドメイン名毎にCookieを管理し、セッション管理に用いられるCookieは、同一のユーザによる接続であると認識できないa.comおよびb.comから夫々異なる値が与えられる。
本実施形態に係るシステムは、上記のような環境において、以下に説明する機能を備えることで、同一のユーザ端末9がa.comサーバ1Aおよびb.comサーバ1Bに接続した場合に、同一のユーザ端末9による接続であるとa.comサーバ1Aおよびb.comサーバ1Bが夫々認識することを可能とする。そして、本実施形態に係るシステムによれば、a.comおよびb.comにおいて、横断的なサービスを提供することが可能となる。
図2は、本実施形態に係るサーバのハードウェア構成の概略を示す図である。a.comサーバ1Aおよびb.comサーバ1Bは、何れも、CPU(Central Processing Unit)11、RAM(Random Access Memory)12およびROM(Read Only Memory)13等からなる制御部10と、補助記憶装置14と、入力装置15と、出力装置16と、ネットワークインターフェース17と、を備える情報処理装置である。
但し、本発明の実施にあたって、本発明に係る情報処理装置は、上記した構成と同一の構成である必要はない。情報処理装置の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
ユーザ端末9は、サーバと同様、CPU、RAMおよびROM等からなる制御部と、補助記憶装置と、入力装置と、出力装置と、ネットワークインターフェースと、を備える情報処理装置である(図示は省略する)。
図3は、本実施形態に係るシステムを構成する各端末の機能構成の概略を示す図である。本実施形態に係るa.comサーバ1Aおよびb.comサーバ1Bは、何れも、CPU11が、RAM12に展開された各種プログラムを解釈および実行して、サーバに備えられた各種ハードウェアを制御することで、情報要求受信部21、設定状態判定部22、認証コード生成部23、指示コード生成部24、情報生成部25、認証部26および情報送信部27を備える情報処理装置として機能する。また、本実施形態では、これらの機能がいずれも汎用のCPU11によって実行される例について説明しているが、これらの機能は、その一部または全部が、1または複数の専用のプロセッサによって実現されてもよい。
また、a.comサーバ1Aおよびb.comサーバ1Bは、サーバ間で予め定められた事前共有鍵を保持している。この事前共有鍵は、後述する認証処理において用いられる。また、サーバは、Cookieを用いてセッションIDを発行することで、ユーザ端末9とサーバとの間での通信を管理し、ユーザ端末9またはユーザを識別する。
ユーザ端末9は、Webブラウザを備え、URL(Uniform Resource Locator)に指定されたWebサーバに対してリクエストを送信する機能、当該リクエストに応じてサーバから返信されたWebページやスクリプト等を受信する機能、および受信されたWebページやスクリプト等を解釈・実行する機能を備える。また、ユーザ端末9は、Cookie管理テーブルを有し、Webサーバから受信したCookieを、ドメイン名に関連づけてCookie管理テーブルに保持する。そして、ユーザ端末9は、Webサーバに接続する際に、Webサーバのドメイン名に対応するCookieをCookie管理テーブルから読み出し、読み出されたCookieをサーバに通知する。
<処理の流れ>
次に、図4から図6を用いて、本実施形態に係る処理の詳細を説明する。なお、本実施形態において説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されてよい。
図4は、本実施形態に係る、セッションID共有処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ端末9によって送信されたリクエストがa.comサーバ1Aまたはb.comサーバ1Bによって受信されたことを契機として開始される。
ステップS101およびステップS102では、ユーザ端末9によって送信されたリクエストが受信され、リクエストの種類が判定される。情報要求受信部21は、ユーザ端末9から送信されたリクエストを受信する(ステップS101)。ここで、リクエストは、Webページのリクエスト(情報要求)である場合もあるし、共通セッションID設定用スクリプト等の、スクリプトのリクエストである場合もある。サーバは、受信したリクエストが、Webページのリクエストであるかスクリプトのリクエストであるかを判定する(ステップS102)。ここで、リクエストがスクリプトのリクエストであると判定された場合、処理はステップS107に示す共通セッションID設定処理へ進む。一方、リクエストがWebページのリクエストであると判定された場合、処理はステップS103へ進む。
ステップS103では、セッションIDが付与済みか否かが判定される。設定状態判定部22は、受信されたリクエストにセッションIDが設定されているか否かを判定することで、サーバとユーザ端末9との間でセッションIDが設定済か否かを判定する。ここで、セッションIDが設定済であると判定された場合、処理はステップS104へ進む。一方、セッションIDが設定済ではないと判定された場合、処理はステップS106へ進む。
ステップS104およびステップS105では、Webページが生成され、送信される。a.comサーバ1Aは、リクエストに応じたWebページを生成する(ステップS104)。ここで生成されるWebページは、セッションIDが付与済みの状態で生成されるものであるため、共通セッションIDの設定用タグを含まないものであってよい。a.comサーバ1Aは、生成されたWebページを、ステップS101において受信されたリクエストの送信元であるユーザ端末9宛に送信する(ステップS105)。ユーザ端末9は、Webページのリクエストに対応するWebページを受信し、ユーザ端末9において出力する。その後、本フローチャートに示された処理は終了する。
ステップS106では、共通セッションID設定用ページ生成処理が実行される。共通セッションID設定用ページ生成処理とは、ステップS101において受信されたリクエストの送信元であるユーザ端末9宛に送信するWebページとして、複数のWebサイト(本実施形態では、a.comとb.com)の間で共通するセッションIDを設定するための指示コードを含むWebページを生成する処理である。共通セッションID設定用ページ生成処理の詳細については、図5を用いて後述する。共通セッションID設定用ページ生成処理が終了すると、本フローチャートに示された処理は終了する。
ステップS107では、共通セッションID設定処理が実行される。共通セッションID生成処理とは、ステップS101において受信されたリクエストの送信元であるユーザ端末9に、複数のWebサイト(本実施形態では、a.comとb.com)の間で共通するセッションIDを設定する処理である。共通セッションID設定処理の詳細については、図6を用いて後述する。共通セッションID設定処理が終了すると、本フローチャートに示された処理は終了する。
図5は、本実施形態に係る、共通セッションID設定用ページ生成処理の流れを示すフローチャートである。本フローチャートに示された処理は、図4を用いて説明したセッションID共有処理において、ステップS106の共通セッションID設定用ページ生成処理として開始される。なお、本フローチャートでは、リクエストをa.comサーバ1Aが受信した場合について説明する。但し、リクエストがb.comサーバ1Bによって受信された場合の処理の流れについても、a.comサーバ1Aとb.comサーバ1Bが入れ替わることを除き、概略同様である。
ステップS201では、セッションIDが生成される。サーバ(本実施形態では、a.comサーバ1A)は、セッションIDが未付与のユーザ端末9に対して発行される、ユーザ端末9およびユーザ端末9との通信を識別するための、セッションIDを生成する。その後、処理はステップS202へ進む。
ステップS202では、MAC(Message Authentication Code、メッセージ認証コード)が生成される。認証コード生成部23は、図6を用いて後述する共通セッションID設定処理を実行する他のサーバ(本実施形態では、b.comサーバ1B)による認証のために用いられるMACを生成する。ここで生成されるMACは、後述するステップS203において生成される指示コードが、a.comサーバ1Aによって発行されたものであることを、認証可能なものである。より具体的には、認証コード生成部23は、a.comサーバ1Aとb.comサーバ1Bとの間で予め共有された事前共有鍵、および共通のセッションIDを含むデータに対して一方向ハッシュ演算を行うことで、MACを算出する。
ステップS203では、ユーザ端末9に共通セッションID設定用スクリプトを取得させるためのタグが生成される。指示コード生成部24は、ユーザ端末9に、共通セッションIDを用いたいb.comサーバ1Bに接続させ、共通セッションIDをb.comサーバ1Bから受信させる指示コード(タグ)を生成する。ここで、共通セッションIDとは、当該ユーザ端末9との通信において、a.comサーバ1Aおよびb.comサーバ1Bが共通して用いるセッションIDである。
指示コード生成部24によって生成される指示コードは、Webページを受信したユーザ端末9に対する、共通セッションIDを用いる他のサーバ(ここでは、b.comサーバ1B)に接続して、共通セッションID設定用スクリプトをリクエストする命令を含む。この際ユーザ端末9からb.comサーバ1Bへの接続に用いられるURLには、b.comサーバ1Bのドメイン名、ステップS201において生成されたセッションID、およびステップS202において生成されたMAC、が含まれる。
本実施形態において、指示コード生成部24は、ユーザ端末9が、生成された指示コード(タグ)に示された処理を終了するまで、当該指示コード以降に記述された指示(タグ等)を解釈しない、換言すれば、ユーザ端末9が、当該指示コードに示された処理を終了するまで、処理を中断するような指示コードを生成する。例えば、指示コードは、JavaScript(登録商標)等のスクリプトを他の情報処理装置(ここでは、b.comサーバ1B)から読み込んで実行することを指示するタグとして記述される。この際、指示コードには、当該指示コードに係る指示(スクリプトの読み込みおよび実行)が終了する前に後続の指示(タグ等)を先行して解釈するようなオプションを指定しない。この場合、Webページを受け取ったユーザ端末9のブラウザは、JavaScript(登録商標)で記述された命令の処理が終了するまで、当該指示コード以降に記述されたタグを解釈しない(処理が中断される)。
このため、指示コード生成部24によって生成される指示コードを、Webページの、他のサイトへのリンク等の記述よりも上、換言すれば、Webページのソースコード中において他サイトへのリンク等よりも先に解釈・実行される位置、に記述しておくことで、例えばb.com等の他サイトへのリンクがブラウザによって表示されることを防止できる。即ち、指示コードをWebページの上部に記述しておき、指示コードによって取得されるスクリプトをJavaScript(登録商標)で記述されたものとすることで、ユーザがセッションIDの共有前にb.comリンクをクリックしてしまい、共通しないセッションIDが設定されてしまうことを防止出来る。但し、指示コードによって取得される情報はJavaScript(登録商標)によって記述されたものに限定されない。指示コードは、当該指示コードに従った共通セッションIDの設定が終了するまで、ユーザ端末がその他の方法でb.comサーバにアクセスすることを防止可能なものであればよい。
ステップS204からステップS206では、WebページおよびCookieが生成され、送信される。情報生成部25は、Webページのリクエストに応じてユーザ端末9に対して送信されるWebページとして、ステップS203において生成されたタグ(指示コード)を含むWebページを生成する(ステップS204)。この際、上述の通り、情報生成部25は、指示コード生成部24によって生成されたタグ(指示コード)を、Webページのソースコード中において、他サイトへのリンク等の記述よりも先に解釈・実行される位置に記述する。また、a.comサーバ1Aは、ステップS201において生成されたセッションIDをユーザ端末9に設定するためのCookieを生成する(ステップS205)。そして、情報送信部27は、指示コードを含むWebページ、およびセッションIDを含むCookieを、ユーザ端末9宛に送信する。その後、本フローチャートに示された処理は終了する。
ステップS206においてa.comサーバ1Aから送信された、指示コードを含むWebページ、およびセッションIDを含むCookieは、ユーザ端末9によって受信される。ユーザ端末9は、WebページおよびCookieを受信すると、Cookieに含まれるセッションIDを、a.comサーバ1Aとの通信に用いるセッションIDとして設定する。このセッションIDは、後述する共通セッションID設定処理によって、b.comサーバ1Bとの通信に用いるセッションIDとしても設定される共通セッションIDである。ユーザ端末9は、Webページに含まれる指示コードを実行し、b.comサーバ1Bへスクリプトを要求する。指示コードが実行され、b.comサーバ1Bから共通セッションIDが設定されるまで、Webページにおける後続のタグの解釈は中断される。
図6は、本実施形態に係る、共通セッションID設定処理の流れを示すフローチャートである。本フローチャートに示された処理は、図4を用いて説明したセッションID共有処理において、ステップS107の共通セッションID設定処理として開始される。なお、本フローチャートでは、リクエストをb.comサーバ1Bが受信した場合について説明する。但し、リクエストがa.comサーバ1Aによって受信された場合の処理の流れについても、a.comサーバ1Aとb.comサーバ1Bが入れ替わることを除き、概略同様である。
ステップS301およびステップS302では、ユーザ端末9からのリクエストを認証するための一方向ハッシュが算出される。ステップS203において説明した通り、本実施形態において、b.comサーバ1Bへの接続に用いられるURLには、a.comサーバ1Aによって設定されたセッションIDおよびMACが含まれる。そこで、認証部26は、ステップS101において受信したリクエストに含まれるMACを用いて、受信されたスクリプトのリクエストが、a.comサーバ1Aから通知された指示コードに従って送信されたリクエストであるか否かを認証する。より具体的には、認証部26は、a.comサーバ1Aとb.comサーバ1Bとの間で予め共有された事前共有鍵、およびステップS101で受信されたセッションIDを含むデータに対して一方向ハッシュ演算を行う(ステップS301)。そして、認証部26は、ステップS301における一方向ハッシュ演算の結果と、リクエストに含まれていたMACとを比較することで、共通セッションID設定用スクリプトのリクエストが、a.comサーバ1Aから通知された指示コードに従って送信されたリクエストであるか否かを認証する(ステップS302)。その後、処理はステップS303へ進む。
ステップS303およびステップS304では、認証結果が判定され、認証に失敗した場合、共通セッションIDの設定のためのCookieを伴わずにスクリプトが送信される。ステップS302における比較の結果、一方向ハッシュ演算の結果とMACとが一致していない(不一致)と判定された場合、処理はステップS304へ進み、b.comサーバ1Bは、共通セッションIDの設定のためのCookieを伴わないスクリプトを、ユーザ端末9に対して送信する(ステップS304)。その後、本フローチャートに示された処理は終了する。なお、ここで送信されるスクリプトは、特に限定されないが、例えば、ユーザ端末9に対する表示命令等の具体的な命令を含まないスクリプトコード(例えば、「0;」)とすることが出来る。一方、ステップS302における比較の結果、一方向ハッシュ演算の結果とMACとが一致していると判定された場合、処理はステップS305へ進む。
ステップS305およびステップS306では、Cookieが生成され、共通セッションID設定用スクリプトと共に送信される。認証部26によって、スクリプトのリクエストが、a.comサーバ1Aから発行された指示コードに従って送信されたリクエストであると認証された場合、b.comサーバ1Bは、ステップS101において受信されたセッションID(即ち、a.comサーバ1Aとユーザ端末9との間で用いられるセッションID)を、共通セッションIDとしてユーザ端末9に設定するためのCookieを生成する(ステップS305)。そして、情報送信部27は、共通セッションID設定用スクリプト、および共通セッションIDを含むCookieを、ユーザ端末9宛に送信する(ステップS305)。なお、ここで送信される共通セッションID設定用スクリプトは、特に限定されないが、例えば、ユーザ端末9に対する表示命令等の具体的な命令を含まないスクリプトコード(例えば、「0;」)とすることが出来る。その後、本フローチャートに示された処理は終了する。
ステップS306においてb.comサーバ1Bから送信された、共通セッションID設定用スクリプト、および共通セッションIDを含むCookieは、ユーザ端末9によって受信される。ユーザ端末9は、共通セッションID設定用スクリプトおよびCookieを受信すると、Cookieに含まれる共通セッションIDを、b.comサーバ1Bとの通信に用いるセッションIDとして設定する。ユーザ端末9は、共通セッションID設定のために中断していたWebページの解釈を再開し、Webページを出力(ディスプレイへの表示等)する。以降、a.comサーバ1Aとユーザ端末9との間で用いられるセッションIDと、b.comサーバ1Bとユーザ端末9との間で用いられるセッションIDとは同一のセッションIDとなる。
なお、上記説明した実施形態では、Cookieに含まれる情報として、セッションIDのみを説明したが、Cookieには、サーバの負荷分散等のためのロードバランサが用いる識別子等、セッションID以外の情報が含まれてもよい。
<効果>
本実施形態に係るシステムによれば、異なる複数のWebサイトにおいて、共通のセッションIDを用いることが可能となる。このため、ユーザ端末9に備えられるWebブラウザが、ドメイン名毎にCookieを管理する場合にも、異なるドメイン名に係る複数のWebサイトにおいて、サイトをまたがった横断的なサービスをユーザに提供することが可能となる。例えば、異なるドメインを用いる複数のWebサイトにおいて、ショッピングカートの共通化等が可能となる。
また、セッションIDを複数のサーバ間で共有する方法として、ユーザ端末9がサーバにアクセスする際のURLにセッションIDを含ませることでユーザ端末9やユーザを識別する方法が考えられる。しかし、このような方式を採用した場合、セッションIDがユーザから見える状態であるため、セッションIDが他のユーザに知られてしまう可能性が高まる。このような方法に比べて、本実施形態に係るシステムによれば、よりセキュアにセッションIDを共有することが出来る。
更に、本実施形態に係るシステムによれば、ユーザ端末9から共通セッションIDの発行を求められたサーバ(上記実施形態におけるb.comサーバ1B)が、指示コードを発行したサーバ(上記実施形態におけるa.comサーバ1A)が予め事前共有鍵を共有したサーバであるか否かを認証し、真性な指示コードを有するユーザ端末9のみに対して、共通セッションIDを設定することが出来る。本実施形態に係るシステムは、このような点においても、従来のシステムに比べセキュアである。
1A、1B サーバ
9 ユーザ端末

Claims (16)

  1. ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、
    前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
    前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
    を備える、情報処理装置。
  2. 前記指示コード生成手段は、前記指示コードとして、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断可能なコードを生成する、
    請求項1に記載の情報処理装置。
  3. 前記指示コードが該情報処理装置によって発行されたものであることを認証可能な認証コードを生成する認証コード生成手段を更に備え、
    前記指示コード生成手段は、前記指示コードを受けて前記他の情報処理装置に接続する前記ユーザ端末が、前記指示コードに含まれる前記認証コードを前記他の情報処理装置に通知するように、前記指示コードを生成する、
    請求項1または2に記載の情報処理装置。
  4. 前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータを用いて、前記認証コードを算出する、
    請求項3に記載の情報処理装置。
  5. 前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータに対して一方向ハッシュ演算を行うことで、前記認証コードを算出する、
    請求項4に記載の情報処理装置。
  6. 該情報処理装置と前記ユーザ端末との間で通信識別子が設定済みか否かを判定する設定状態判定手段を更に備え、
    前記指示コード生成手段は、前記設定状態判定手段によって前記通信識別子が設定済みでないと判定された場合に、前記指示コードを生成する、
    請求項1から5の何れか一項に記載の情報処理装置。
  7. ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記情報要求受信手段によって受信された情報要求が、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、
    前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
    を備える、情報処理装置。
  8. 前記情報要求受信手段は、前記情報要求と併せて、前記他の情報処理装置と前記ユーザ端末との間で用いられる通信識別子を受信し、
    前記情報送信手段は、前記情報要求受信手段によって受信された前記通信識別子を、前記共通の通信識別子として送信する、
    請求項7に記載の情報処理装置。
  9. 前記情報要求受信手段は、前記情報要求と併せて、前記指示コードが前記他の情報処理装置によって発行されたものであることを認証可能な認証コードを受信し、
    前記認証手段は、前記認証コードを用いて、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する、
    請求項8に記載の情報処理装置。
  10. 前記認証手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵と前記情報要求受信手段によって受信された前記通信識別子とを含むデータを用いた算出結果と、前記認証コードとを比較することで、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する、
    請求項9に記載の情報処理装置。
  11. 前記情報送信手段は、前記ユーザ端末に対する具体的な命令を含まないコードと共に、前記共通の通信識別子を、前記ユーザ端末宛に送信する、
    請求項7から10の何れか一項に記載の情報処理装置。
  12. ユーザ端末との間の通信において通信識別子を用いる第一の情報処理装置および第二の情報処理装置を備える情報処理システムであって、
    前記第一の情報処理装置は、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記ユーザ端末に、前記第二の情報処理装置に接続させ、前記共通の通信識別子を該第二の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、
    前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
    前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備え、
    前記第二の情報処理装置は、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記情報要求受信手段によって受信された情報要求が、前記第一の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、
    前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、
    情報処理システム。
  13. ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータによって、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信ステップと、
    前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードを生成する指示コード生成ステップと、
    前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成ステップと、
    前記情報生成ステップにおいて生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信ステップと、
    が実行される、情報処理方法。
  14. ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータによって、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信ステップと、
    前記情報要求受信ステップにおいて受信された情報要求が、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを判定する判定ステップと、
    前記判定ステップにおいて、前記情報要求が、前記指示コードに従って送信された情報要求であると判定された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信ステップと、
    が実行される、情報処理方法。
  15. ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータを、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、
    前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
    前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
    として機能させるプログラム。
  16. ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータを、
    前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
    前記情報要求受信手段によって受信された情報要求が、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、
    前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
    として機能させるプログラム。
JP2012535479A 2011-12-26 2011-12-26 情報処理装置、情報処理システム、情報処理方法およびプログラム Active JP5383923B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/080103 WO2013098925A1 (ja) 2011-12-26 2011-12-26 情報処理装置、情報処理システム、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP5383923B1 JP5383923B1 (ja) 2014-01-08
JPWO2013098925A1 true JPWO2013098925A1 (ja) 2015-04-30

Family

ID=48696495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012535479A Active JP5383923B1 (ja) 2011-12-26 2011-12-26 情報処理装置、情報処理システム、情報処理方法およびプログラム

Country Status (3)

Country Link
US (1) US9762535B2 (ja)
JP (1) JP5383923B1 (ja)
WO (1) WO2013098925A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457913B (zh) * 2012-05-30 2017-10-13 阿里巴巴集团控股有限公司 数据处理方法、通信终端、服务器及系统
CN105554730A (zh) * 2015-12-21 2016-05-04 联想(北京)有限公司 一种通讯方法、服务器、终端
US11239526B2 (en) * 2017-03-15 2022-02-01 Gs Yuasa International Ltd. Energy storage apparatus
JP6401367B1 (ja) * 2017-10-20 2018-10-10 ヤフー株式会社 サーバ装置、生成方法及び生成プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265680A (ja) * 2000-03-15 2001-09-28 Fujitsu Ltd 複数メディアのセッションを管理する装置および方法
JP2002334057A (ja) 2001-05-11 2002-11-22 Hitachi Ltd 負荷分散時のセッション継続方法
US7356687B2 (en) * 2002-05-21 2008-04-08 General Instrument Corporation Association of security parameters for a collection of related streaming protocols
US20050283826A1 (en) * 2004-06-22 2005-12-22 Sun Microsystems, Inc. Systems and methods for performing secure communications between an authorized computing platform and a hardware component
JP4208081B2 (ja) * 2004-12-27 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のウェブサイトにパーソナライズされた価値を追加するためのシステム、ウェブサーバ、方法およびプログラム
JP4648383B2 (ja) * 2005-03-07 2011-03-09 富士通株式会社 情報提供方法および情報提供システム
US8060916B2 (en) * 2006-11-06 2011-11-15 Symantec Corporation System and method for website authentication using a shared secret
US8635535B2 (en) * 2007-10-16 2014-01-21 D&B Business Information Solutions Limited Third-party-secured zones on web pages
US20090210863A1 (en) * 2008-02-19 2009-08-20 Google Inc. Code-based website experiments
WO2011013617A1 (ja) * 2009-07-31 2011-02-03 楽天株式会社 クッキー処理装置、クッキー処理方法、クッキー処理プログラム、クッキー処理システム及び情報通信システム
JP4988003B2 (ja) * 2010-03-29 2012-08-01 シャープ株式会社 複合機、複合機制御システム、プログラムおよび記録媒体
US8256664B1 (en) * 2010-04-09 2012-09-04 Google Inc. Out-of band authentication of browser sessions
JP4991902B2 (ja) * 2010-04-22 2012-08-08 シャープ株式会社 認証サーバ、複合機、複合機制御システム、プログラムおよび記録媒体
US8505106B1 (en) * 2010-06-30 2013-08-06 Amazon Technologies, Inc. Cross site request forgery mitigation in multi-domain integrations
US8966446B1 (en) * 2010-09-29 2015-02-24 A9.Com, Inc. Systems and methods of live experimentation on content provided by a web site

Also Published As

Publication number Publication date
WO2013098925A1 (ja) 2013-07-04
US9762535B2 (en) 2017-09-12
US20140310341A1 (en) 2014-10-16
JP5383923B1 (ja) 2014-01-08

Similar Documents

Publication Publication Date Title
CN109067728B (zh) 应用程序接口的访问控制方法、装置、服务器及存储介质
US8621589B2 (en) Cross domain single sign on
US9356963B2 (en) Detecting and applying different security policies to active client requests running within secure user web sessions
US8572691B2 (en) Selecting a web service from a service registry based on audit and compliance qualities
US11336449B2 (en) Information processing apparatus, computer program product, and resource providing method
CN102682009A (zh) 一种用户登录网页的方法及系统
JP2017513151A (ja) プライベートクラウド接続装置クラスタアーキテクチャ
CN103428179A (zh) 一种登录多域名网站的方法、系统以及装置
US9609068B2 (en) Session management system, session management apparatus, and non-transitory computer readable medium
CN112491776A (zh) 安全认证方法及相关设备
JP5383923B1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
WO2013038181A1 (en) Method and apparatus for enabling authorised users to access computer resources
CN109951487A (zh) 一种Portal认证方法和装置
JP2010033562A (ja) 通信端末、認証情報生成装置、認証システム、認証情報生成プログラム、認証情報生成方法および認証方法
US9590990B2 (en) Assigning user requests of different types or protocols to a user by trust association interceptors
WO2009066858A1 (en) Personal information management apparatus and personal information management method
JP6244771B2 (ja) 情報処理システム、処理装置、分散処理方法、及び、プログラム
JP2005301424A (ja) 分散認証システム、負荷分散装置及び認証サーバ、並びに負荷分散プログラム及び認証プログラム
JP4837060B2 (ja) 認証装置及びプログラム
CN115102724B (zh) 一种双Token跨端跳转系统的登录方法、系统
JP5749222B2 (ja) アクセス許可制御システム、アクセス許可制御方法
CN110945503A (zh) 用户认证服务提供方法、网页服务器及用户终端
JP6156116B2 (ja) セッション管理システム、セッション管理装置、及びプログラム
KR102181608B1 (ko) 연합 인증 장치 및 그것의 연합 인증 방법
JPWO2011077737A1 (ja) 条件判断システム、および条件判断方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131001

R150 Certificate of patent or registration of utility model

Ref document number: 5383923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250