JP2005062556A - 認証システム、サーバおよび認証方法並びにプログラム - Google Patents

認証システム、サーバおよび認証方法並びにプログラム Download PDF

Info

Publication number
JP2005062556A
JP2005062556A JP2003293643A JP2003293643A JP2005062556A JP 2005062556 A JP2005062556 A JP 2005062556A JP 2003293643 A JP2003293643 A JP 2003293643A JP 2003293643 A JP2003293643 A JP 2003293643A JP 2005062556 A JP2005062556 A JP 2005062556A
Authority
JP
Japan
Prior art keywords
client
service
provider
authentication
usage history
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
JP2003293643A
Other languages
English (en)
Other versions
JP4039632B2 (ja
Inventor
Fumiko Sato
史子 佐藤
Takayuki Ito
伊藤 貴之
Masayoshi Teraguchi
正義 寺口
Hiromi Yamaguchi
裕美 山口
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003293643A priority Critical patent/JP4039632B2/ja
Priority to CNB2004100563154A priority patent/CN100444544C/zh
Priority to US10/917,712 priority patent/US20050039054A1/en
Publication of JP2005062556A publication Critical patent/JP2005062556A/ja
Application granted granted Critical
Publication of JP4039632B2 publication Critical patent/JP4039632B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 ネットワークを介してサービスを提供する上で、サービス提供時のパフォーマンスへの影響が少ないシングルサインオンを実現する。
【解決手段】 サービスを提供するプロバイダ20と、セキュリティトークンサービス40と、これらセキュリティトークンサービス40とプロバイダ20との間に介在するプロキシサービス30とを備える。そして、プロキシサービス30は、セキュリティトークンサービス40による認証結果を保存し、一定条件の下、プロバイダ20から受け取った認証要求をセキュリティトークンサービス40へ転送せず、自身が保存する認証結果に基づいてクライアントの認証を代行する。さらに、プロバイダ20が、自身が保存するクライアント10のサービス利用履歴に基づいてサービス提供可能であることが明らかなときは、認証要求を行うことなく、クライアント10に対してサービスを提供する。
【選択図】 図1

Description

本発明は、ネットワークを介してサービスを提供する場合などに実行されるユーザ認証に関し、特にシングルサインオンによるユーザ認証を行うシステムおよびその方法に関する。
インターネット上で提供されている複数のプロバイダの有料サービスを利用する場合、支払い金額、口座などを管理するために当該サービスを受けるクライアントの認証が必要となる場合がある。従来は、各プロバイダが異なる方法でクライアント認証を行っていることが多いため、それぞれのサービスに対して独立にクライアント認証が行われる。しかし、より自由なサービス利用のためには、複数プロバイダで共通のクライアント認証を用いるシングルサインオン(Single Sign On)を実現することが好ましい。
シングルサインオンを実現する手段として、複数のプロバイダを一括して管理するプロキシサービス(Proxy Service)とクライアント認証を行うセキュリティトークンサービス(Security Token Service)を導入することが考えられる。ここで、セキュリティトークンサービスとは、クライアント、プロバイダおよびプロキシサービスのいずれからも独立して存在し、クライアントを認証する機関を指す。この種の従来技術としては、プロキシサービスをクライアントとプロバイダとの間に配置し、クライアントの代わりにプロキシサービスがクライアント認証を要求することで、複数プロバイダへのシングルサインオンを実現しているものが存在する(例えば、特許文献1、2参照)。
また従来、プロキシサービスを導入することなくシングルサインオンを実現するモデルとして、一度、所定のプロバイダで行われたクライアント認証を、複数のプロバイダ間で使い回すというモデルも提案されている(例えば、特許文献3参照)。この従来技術では、クライアントが保持している認証トークンがプロバイダAによって発行されたものであり、その認証トークンを提示してプロバイダBに接続したい場合、プロバイダBは、発行元のプロバイダAへ認証トークンの検査を依頼する。
特開2002−288139号公報 特開2002−32340号公報 特開2002−335239号公報
上述したように、ネットワーク上でのクライアント認証を効率良く行うためのシングルサインオンを実現する手法は、従来から提案されている。しかしながら、特許文献1、2のような、プロキシサービスをクライアントとプロバイダとの間に配置してプロキシサービスがクライアント認証を代行要求する従来技術では、プロキシサービスがボトルネックとなって、クライアントやプロバイダが処理能力の低い携帯端末である場合や、処理に多大な負荷を要する電子署名・暗号化を適用する場合には、システム全体のパフォーマンスが低下することが予想される。
また、特許文献3に開示される、所定のプロバイダにおけるクライアント認証の結果を他のプロバイダで流用する従来技術では、クライアントが前回と異なった(認証を行ったプロバイダとは別の)プロバイダへ接続する場合、プロバイダ間で認証結果の通知が行われるため、サービス提供までの通信回数が増えてしまい、パフォーマンス低下の原因となると考えられる。
そこで本発明は、上記の課題に鑑み、ネットワークを介してクライアント認証を要するサービスを提供する上で、パフォーマンスへの影響が少ないシングルサインオンを実現することを目的とする。
上記の目的を達成する本発明は、ネットワークを介して所定のサービスを提供する複数のプロバイダを一括管理してシングルサインオンによるクライアント認証を行う、次のように構成された認証システムとして実現される。この認証システムは、ネットワークを介して所定のサービスを提供するプロバイダと、このプロバイダにサービス要求を行ったクライアントの認証を行う認証サーバ(セキュリティトークンサービス)と、これら認証サーバとプロバイダとの間に介在して、プロバイダが認証サーバに対して行う認証要求を管理するプロキシサーバ(プロキシサービス)とを備える。そして、プロキシサーバは、認証サーバによる認証結果を保存し、一定条件の下、プロバイダから受け取った認証要求を認証サーバへ転送せず、保存されている認証結果に基づいてクライアントの認証を代行することを特徴とする。
ここで、より好ましくは、プロバイダは、クライアントのサービス利用履歴を保存し、サービス利用履歴に基づいてクライアントに対してサービスを提供可能であることが明らかである場合は、認証要求を行うことなく、クライアントに対してサービスを提供する。また、プロキシサーバは、クライアントのサービス利用履歴をプロバイダから取得して管理し、所定のプロバイダからの認証要求に応じて、認証サーバによる認証結果とサービス利用履歴とに基づきクライアントに対するサービス提供の可否を判断する。さらに、このプロキシサーバは、複数のプロバイダを巡回して、クライアントごとのサービス利用履歴を収集して比較し、最新の内容を選択して、各プロバイダにおけるクライアントごとのサービス利用履歴を最新の内容に更新させる。
また、本発明の他の認証システムは、ネットワークを介して所定のサービスを提供する複数のプロバイダと、所定のプロバイダからの検証要求に応じて、このプロバイダにサービス要求を行ったクライアントに対するサービス提供の可否を判断する検証サーバ(プロキシサービス)とを備える。そして、プロバイダはクライアントのサービス利用履歴を保存し、検証サーバは、クライアントの認証情報とこのクライアントによるサービス利用回数とを情報として含む符号化データを生成してクライアントに提供し、プロバイダからサービス利用履歴を取得して管理し、所定のクライアントが所定のプロバイダに対して符号化データを用いてサービス要求を行った場合に、このプロバイダからの検証要求に応じて、符号化データとクライアントのサービス利用履歴とを照合してサービス提供の可否を判断することを特徴とする。
ここで、このプロバイダは、所定のクライアントが符号化データを用いてサービス要求を行った場合に、符号化データとサービス利用履歴とを照合し、クライアントに対してサービスを提供可能であることが明らかである場合は、検証サーバに対する検証要求を行うことなく、クライアントに対してサービスを提供する。また、検証サーバは、複数のプロバイダを巡回して、クライアントごとのサービス利用履歴を収集して比較し、最新の内容を選択して、各プロバイダにおけるクライアントごとのサービス利用履歴を最新の内容に更新させる。
さらに、上記の目的を達成する他の本発明は、ネットワークを介して所定のサービスを提供する複数のプロバイダを一括管理してシングルサインオンを実現する、次のように構成されたサーバ(プロキシサービス)としても実現される。すなわち、このサーバは、プロバイダにおける所定のクライアントのサービス利用履歴を格納する利用履歴格納手段と、所定の認証サーバに依頼して取得した所定のクライアントに対する認証結果を格納する認証結果格納手段と、プロバイダからの問い合わせに応じて、サービス利用履歴と認証結果とを用いて、所定のクライアントに対するサービス提供の可否を判断する検証手段とを備える。そして、検証手段は、認証結果格納手段に保存されている認証結果が有効でない場合に、サービス提供の可否を判断するためのクライアント認証を認証サーバに依頼することを特徴とする。
ここで、このサーバは、管理下にある各プロバイダを巡回してクライアントごとのサービス利用履歴を収集し、最新のサービス利用履歴を各プロバイダに分配する分配・収集手段をさらに備える構成とすることができる。この分配・収集手段は、より好ましくは、サービス提供の可否を問い合わせるための接続を長期間行っていないプロバイダ、利用履歴収集手段によって前記最新のサービス利用履歴が収集されたクライアントとの通信回数が多いプロバイダ、クライアントとの通信の総量が多いプロバイダを優先して巡回する。
また、このサーバは、クライアントの認証情報とこのクライアントによるサービス利用回数とを情報として含む符号化データを生成する符号化データ生成手段を更に備え、検証手段は、所定のクライアントが所定のプロバイダに対して符号化データを用いてサービス要求を行った場合に、符号化データと利用履歴格納手段に格納されているクライアントのサービス利用履歴とを照合してサービス提供の可否を判断する構成とすることができる。
さらにまた、本発明は、コンピュータを用いて、プロバイダにサービスの提供を要求するクライアントの認証を行う、次のような認証方法としても実現される、すなわち、クライアントのサービス利用履歴を符号化した符号化データと所定の記憶手段に格納されているクライアントのサービス利用履歴の情報とを照合する第1のステップと、第1のステップで照合結果が「偽」である場合に、所定の記憶手段に格納されているクライアントに対する認証情報に基づいてクライアントに対するサービス提供の可否を判断する第2のステップと、第2のステップで用いられる認証情報が有効でない場合に、所定の認証サーバにクライアントの認証を依頼し、取得した認証結果に基づいてクライアントに対するサービス提供の可否を判断する第3のステップとを含むことを特徴とする。
そして、この認証方法は、第1のステップで照合結果が「真」である場合に、クライアントに対するサービス提供が可能と判断するステップを更に含み、また、第3のステップで取得された認証結果を、第2のステップで用いられる認証情報として所定の記憶手段に格納するステップを更に含む。
また本発明は、コンピュータを制御して上述したサーバ(プロキシサービス)として機能させるプログラム、あるいは上記の認証方法における各ステップに相当する処理をコンピュータに実行させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
以上のように構成された本発明は、プロバイダを一括管理するプロキシサービスをプロバイダに対して上位に位置させることにより、認証時にプロキシサービスがボトルネックとなることが無く、また一定条件下で、セキュリティトークンサービスやプロキシサービスによるクライアント認証を省略可能とすることにより、プロキシサービス−セキュリティトークンサービス間の通信やプロバイダ−プロキシサービス間の通信を省略し、プロバイダによるサービス提供時のパフォーマンス低下を回避できるという効果がある。
また、本発明は、プロキシサービスが管理下のプロバイダを巡回して、クライアント認証に必要な情報を収集し、最新の情報を各プロバイダに分配することにより、セキュリティトークンサービスやプロキシサービスによるクライアント認証を省略可能となる機会を多くして、システム全体のさらなるパフォーマンス向上を図ることができるという効果がある。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態によるシングルサインオンを実現するシステムの全体構成を示す図である。
図1に示すように、本実施形態のシステムは、クライアント10、プロバイダ20、プロキシサービス30、セキュリティトークンサービス40の各コンポーネントを備えて構成される。これらのコンポーネントは、次のように定義される。
クライアント10は、プロバイダ20にサービスを要求するコンポーネントである。
プロバイダ20は、クライアント10に対してサービスを提供し、クライアント10の利用履歴をキャッシュするコンポーネントである。
プロキシサービス30は、クライアント10の認証結果をキャッシュし、各プロバイダ20に対するクライアント10の利用履歴を管理するコンポーネントである。
セキュリティトークンサービス40は、クライアント10を認証するコンポーネントである。
プロキシサービス30は全てのプロバイダ20と全てのクライアント10の情報を一括管理するものとして、セキュリティトークンサービス40はクライアント認証機関として、本実施形態のシステムに導入される。セキュリティトークンサービス40に対してクライアント認証要求を出すのは、クライアント10、プロバイダ20およびプロキシサービス30のいずれでも良いが、セキュリティトークンサービス40のクライアント認証結果をクライアント10自身が保持することは好ましくない。したがって以下の説明では、クライアント認証要求は、プロキシサービス30がセキュリティトークンサービス40に出すものとする。
図1に示したように本実施形態では、プロキシサービス30が、複数のプロバイダ20の上位に配置され、各プロバイダ20の情報とクライアント認証の結果などのクライアント情報とを一括管理し、また各プロバイダ20へクライアント情報を提供する。さらに、プロキシサービス30は、セキュリティトークンサービス40によるクライアント認証の結果を用いて、サービス提供の可否(以下、クライアント検証と称す)を判断し、その判断結果をプロバイダ20へ送信する。
図2は、本実施形態のシングルサインオンのシステムを構成する上記各コンポーネントを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:中央処理装置)101と、M/B(マザーボード)チップセット102およびCPUバスを介してCPU101に接続されたメインメモリ103と、同じくM/Bチップセット102およびAGP(Accelerated Graphics Port)を介してCPU101に接続されたビデオカード104と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット102に接続された磁気ディスク装置(HDD)105、ネットワークインターフェイス106と、さらにこのPCIバスからブリッジ回路107およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピーディスクドライブ108およびキーボード/マウス109とを備える。
なお、図2は本実施形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード104を設ける代わりに、ビデオメモリのみを搭載し、CPU101にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment)やSCSI(Small Computer System Interface)などのインターフェイスを介してCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。また、上述したように、クライアント10は、図2に示すようなコンピュータ装置の他に、ネットワーク機能を備えたPDA(Personal Digital Assistant)や携帯電話等の情報機器とすることができる。
図3は、クライアント10に対する認証システムとして把握したプロバイダ20、プロキシサービス30およびセキュリティトークンサービス40の機能構成を示す図である。
図示のように、本実施形態においてプロバイダ20は、クライアント10およびプロキシサービス30との間でデータ通信を行うための通信制御部21と、クライアント10に所定のサービスを提供するためのサービス実行部22と、クライアント認証を簡易に行うための認証実行部23とを備える。なお、プロバイダ20の認証実行部23によるクライアント認証の詳細については後述する。
上記の構成において、通信制御部21は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101とネットワークインターフェイス106とで実現される。サービス実行部22および認証実行部23は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101にて実現される。通信制御部21やサービス実行部22、認証実行部23の機能をCPU101にて実現させるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
プロキシサービス30は、プロバイダ20およびセキュリティトークンサービス40との間でデータ通信を行うための通信制御部31と、クライアント認証をセキュリティトークンサービス40によらずに行うための認証実行部32と、認証実行部32によるクライアント認証に用いられるクライアント10のサービス利用履歴の分配・収集を行う利用履歴分配・収集部33とを備える。この利用履歴分配・収集部33により、プロキシサービス30は、管理下にある各プロバイダ20を巡回し、各クライアント10のサービス利用履歴を収集して比較し、個々のクライアント10に関して常に最新の利用履歴を保持するようにする。また、プロバイダ20を巡回した際に、最新の利用履歴を各プロバイダ20に分配する。なお、プロキシサービス30の認証実行部32によるクライアント認証の詳細については後述する。
上記の構成において、通信制御部31は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101とネットワークインターフェイス106とで実現される。認証実行部32および利用履歴分配・収集部33は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101にて実現される。通信制御部31や認証実行部32、利用履歴分配・収集部33の機能をCPU101にて実現させるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
セキュリティトークンサービス40は、プロキシサービス30との間でデータ通信を行うための通信制御部41と、クライアント認証を行う認証実行部42とを備える。セキュリティトークンサービス40の認証実行部42によるクライアント認証は、パスワードやクライアントのID情報を用いた、公知の種々の認証方法により行うことができる。
上記の構成において、通信制御部41は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101とネットワークインターフェイス106とで実現される。認証実行部42は、例えば図2に示したコンピュータ装置のプログラム制御されたCPU101にて実現される。通信制御部41や認証実行部42の機能をCPU101にて実現させるプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
図4は、本実施形態のシングルサインオンにおけるクライアント認証の手順を示す図である。
図4のモデル1に示すように、クライアント10から所定のプロバイダ20へサービス要求が行われると、プロバイダ20は、プロキシサービス30に、サービス要求を行ったクライアント10に対するサービス提供の可否を判断するクライアント検証を依頼する。
プロキシサービス30は、これに応じてセキュリティトークンサービス40に当該クライアント10の認証を依頼し、認証結果を得る。そして、取得した認証結果に基づいて、当該クライアント10に対するサービス提供の可否を判断し、判断結果(クライアント検証結果)をプロバイダ20へ通知する。
プロバイダ20は、プロキシサービス30から受け取ったクライアント検証結果にしたがって、サービスの提供が可能であれば、当該クライアント10に対してサービスを提供する。
以上のモデル1によるクライアント認証の手順は、本実施形態におけるクライアント認証の最も基本的なモデルである。モデル1によれば、クライアント認証方法がセキュリティトークンサービス40によって決められ、またクライアント認証結果をプロキシサービス30で一括して管理することにより、複数プロバイダ20のサービスを対象としたシングルサインオンが容易に実現される。
しかしモデル1では、クライアント10があるプロバイダ20に接続するたびに、プロバイダ20がプロキシサービス30にクライアント検証を要求し、さらにプロキシサービス30がセキュリティトークンサービス40にクライアント認証を要求する、という手順を踏むことになる。この場合、クライアント10のサービス要求に対し、クライアント10−プロバイダ20間の通信以外に、プロバイダ20−プロキシサービス30間、プロキシサービス30−セキュリティトークンサービス40間の2回の通信が必要になる。したがって、シングルサインオンではないクライアント10−プロバイダ20間のみの通信で行われるクライアント認証と比較すると、この2回の通信分、多くの通信時間がかかってしまう。
そこで、クライアント10におけるサービスの利用履歴に応じてクライアント認証を簡易化することで、サービス提供に必要な通信を省略することを考える。
図4に示したモデル2は、プロキシサービス30−セキュリティトークンサービス40間の通信を省略して簡易化したクライアント認証の手順を示し、モデル3は、プロキシサービス30−セキュリティトークンサービス40間およびプロキシサービス30−プロバイダ20間の通信を省略して簡易化したクライアント認証の手順を示す。
このモデル2、3による簡易なクライアント認証を実行するために、本実施形態のプロバイダ20およびプロキシサービス30は、次のような構成を有する。
プロバイダ20の認証実行部23は、サービスを利用した各クライアント10に関して当該サービスの利用履歴を保持する。この利用履歴は、例えば図2に示したコンピュータ装置のメインメモリ103や磁気ディスク装置105に格納される。
また、プロキシサービス30の認証実行部32は、セキュリティトークンサービス40に依頼して取得したクライアント認証結果をキャッシュする。クライアント認証結果には有効期限が定められるものとする。このクライアント認証結果は、例えば図2に示したコンピュータ装置のメインメモリ103や磁気ディスク装置105に格納される。
また、プロキシサービス30は、クライアント認証を要求してきたプロバイダ20のID情報を保持している。このID情報は、例えば図2に示したコンピュータ装置のメインメモリ103や磁気ディスク装置105に格納される。
そして、
・クライアント10からあるプロバイダ20への初めてのサービス要求である場合
・プロキシサービス30にキャッシュしてあるクライアント認証結果の有効期限が切れていた場合
には、モデル1によってクライアント認証が行われる。一方、
・プロキシサービス30が保持しているクライアント認証結果のキャッシュが有効である場合
には、モデル2によってクライアント認証が行われる。また、
・プロバイダ20が保持しているクライアント10のサービスの利用履歴を用いてクライアント検証が行える場合
には、モデル3によってクライアント認証が行われる。
どのモデルによってクライアント認証を行うかの選択は、クライアント10から所定のプロバイダ20へサービス要求がなされた時点で動的に行うことができる。
次に、本実施形態によるクライアント認証の全体的な手順を説明する。
図5は、本実施形態によるクライアント認証の手順を説明するフローチャートである。
前提として、クライアント10は、過去のサービス(シングルサインオンによって統括される各プロバイダ20が提供するサービス)の利用に対して、サービスの利用履歴を符号化したデータ(以下、符号化データ)を保持しておく。この符号化データは、例えばプロキシサービス30にて作成され、クライアント10に提供される。符号化データの詳細については後述する。
図5に示すように、新たなサービス要求を行う際またはプロバイダ20からの要求に応じて、クライアント10は、このサービスの利用履歴に関する符号化データをプロバイダ20へ送信する(ステップ501)。
プロバイダ20は、クライアント10から受信した利用履歴の符号化データを、プロバイダ20が保持している利用履歴と照合する(ステップ502)。照合処理の詳細は後述する。照合結果が「真」であれば、サービスを提供可能と判断し、クライアント10の利用履歴の検証が完了したとみなす。そして、プロキシサービス30へのクライアント検証の要求を省略する(ステップ503)。このとき、モデル3によるクライアント認証が適用されたことになる。
ステップ503の照合結果が「偽」である場合、プロバイダ20は、プロキシサービス30にクライアント10の利用履歴と符号化データとを送信し、クライアント検証要求を行う(ステップ504)。ステップ503における照合結果が「偽」となる理由としては、次のような理由が考えられる。
・クライアント10が直前に別のプロバイダ20にサービス要求したため、現在通信中のプロバイダ20が保持している利用履歴が古くなった(理由1)。
・クライアント10にとって初めてのサービス要求であるため、対応する利用履歴が保持されていない(理由2)。
・クライアント10が利用履歴の情報を偽造している(理由3)。
プロキシサービス30は、プロバイダ20からクライアント検証要求を受け取ると、当該クライアント検証要求に含まれる符号化データと、プロキシサービス30にて保持されている利用履歴とを照合する(ステップ505)。プロキシサービス30で管理されている利用履歴は、各プロバイダ20から収集した最新の内容であるので、ステップ503で照合結果が「偽」となった理由が上記の理由1である場合は、ここで照合結果が「真」となる。この照合処理の詳細は後述する。ステップ506における照合結果が「真」であれば、サービスを提供可能と判断し、クライアント10の利用履歴の検証が完了する。そして、セキュリティトークンサービス40へのクライアント認証の依頼を省略する(ステップ506)。このとき、モデル2によるクライアント認証が適用されたことになる。
ステップ506の照合結果が「偽」である場合、プロキシサービス30は、自身が当該クライアント10に対するクライアント認証結果をキャッシュしているかどうか(すなわち当該クライアント10が初めて検証依頼されたものであるかどうか)を調べる(ステップ507)。対応するクライアント認証結果がキャッシュされていない場合、上述したステップ503での照合結果が「偽」となった場合の理由2に該当するので、セキュリティトークンサービス40にクライアント10の認証を依頼し、認証結果を取得する。そして、プロキシサービス30は、セキュリティトークンサービス40によるクライアント認証結果に基づいて、当該クライアント10に対するサービス提供の可否を判断し、クライアント検証結果をプロバイダ20へ送信する(ステップ508)。このとき、モデル1によるクライアント認証が適用されたことになる。
ステップ507で該当する認証結果がキャッシュされていた場合、ステップ503での照合結果が「偽」となった理由が上記の理由3と認識されるので、プロキシサービス30は、クライアント検証失敗という検証結果をプロバイダ20へ返送する(ステップ509)。この場合も、セキュリティトークンサービス40への認証依頼が省略されるので、クライアント認証の手順としては、モデル2に相当する。
図6は、プロバイダ20よるクライアント10のサービス利用履歴の照合処理を説明するフローチャートである。
図6に示すように、プロバイダ20がクライアント10からサービス要求と共にサービス利用履歴を受け取ると、認証実行部23が、対応するサービス利用履歴が保持されているか検索する(ステップ601)。対応するサービス利用履歴が保持されていれば、次に認証実行部23は、当該サービス利用履歴とクライアント10から受け取ったサービス利用履歴とを照合する(ステップ602、603)。照合の結果が「真」であれば、クライアント検証を擬制して、サービス提供可能と判断されるので、サービス実行部22により当該クライアント10に対してサービスが提供される(ステップ604)。
ステップ602で対応するサービス利用履歴が検出されなかった場合、およびステップ603で照合結果が「偽」であった場合は、プロキシサービス30に対してクライアント検証の要求が送られる(ステップ605)。そして、プロキシサービス30からクライアント検証結果を取得すると(ステップ606)、当該クライアント検証結果が判断され、当該クライアント10へのサービス提供が可能であることを示す結果であれば、サービス実行部22により当該クライアント10に対してサービスが提供される(ステップ607、604)。一方、当該クライアント10へのサービス提供ができないことをしめす結果であれば、エラー処理(当該クライアント10に対してサービスの提供を拒否するメッセージを送信する等)が行われて処理が終了する(ステップ608)。
図7は、プロキシサービス30によるクライアント検証の処理を説明するフローチャートである。
図7に示すように、プロキシサービス30がプロバイダ20からクライアント検証要求を受け取ると、認証実行部32が、当該クライアント検証要求の対象であるクライアント10に対するクライアント認証がキャッシュされているか検索する(ステップ701)。対応するキャッシュデータが存在するならば、次に認証実行部32は、当該キャッシュデータが有効か否か(有効期限が過ぎていないか)を検査する(ステップ702、703)。キャッシュデータが有効であれば、次に認証実行部32は、当該キャッシュデータのクライアント認証の結果に基づき、当該クライアント10におけるサービス利用履歴を検証する(ステップ704)。
ステップ702で対応するキャッシュデータが存在しないか、ステップ703でキャッシュデータが有効でないと判断された場合は、セキュリティトークンサービス40にクライアント認証の要求が送られる(ステップ705)。そして、セキュリティトークンサービス40からクライアント認証結果を取得すると(ステップ706)、当該認証結果が判断され、クライアント10が正当であることを示す結果であれば、当該認証結果が認証実行部32によりキャッシュされる(ステップ707、708)。そして、認証実行部32が、新たにキャッシュされた認証結果に基づき、当該クライアント10におけるサービス利用履歴を検証する(ステップ704)。
クライアント10のサービス利用履歴を検証した結果、有効であれば、当該クライアント10へのサービス提供が可能であることを示すクライアント検証結果と、検証されたサービス利用履歴とがプロバイダ20へ送信される(ステップ709、710)。
ステップ709でサービス利用履歴が有効でないと判断された場合、およびステップ707でユーザが正当でないことを示す認証結果が得られた場合は、当該クライアント10へのサービス提供ができないことを示すクライアント検証結果がプロバイダ20へ送信される(ステップ711)。
さて、クライアント10によるサービス要求時の状況に応じて、上述したモデル1、2、3を動的に選択してクライアント認証を実行することにより、プロバイダ20によるサービス提供時のパフォーマンスが向上するが、このパフォーマンスを向上する効果を最大限に発揮するためには、できるだけ多くモデル3を適用することが望ましい。クライアント10が接続したプロバイダ20に保存されているクライアント10の利用履歴が常に最新のものとなるようにプロバイダ20間で情報交換を行うことで、モデル3を適用可能な機会を増やすことができる。
そこで、クライアント10の最新利用履歴を複数のプロバイダ20へ効率良く分配することを考える。本実施形態では、プロキシサービス30がプロバイダ20を巡回し、巡回したプロバイダ20に保存されているクライアント10の最新利用履歴を収集し(Take)、同時に当該プロバイダ20に古い利用履歴が保存されている場合には最新の利用履歴を分配して更新させる(Give)。これにより、より多くのプロバイダ20に最新の利用履歴を分配することができる。
本実施形態では、プロキシサービス30は、できるだけ効果的にプロバイダ20からクライアント10の利用履歴を収集し、またプロバイダ20にクライアント10の最新の利用履歴を分配するために、以下の基準に従って計算したプロバイダ20のスコアを用いることとする。
基準1:プロキシサービス30と長い間接続していないプロバイダ20は、クライアント10の古い利用履歴を多く持っている可能性が高いので、いち早くプロキシサービス30から最新利用履歴を分配し、プロバイダ20が保持している古い利用履歴を更新するべきである。よって、このようなプロバイダ20に高スコアをつける。
基準2:プロキシサービス30がプロバイダ20からクライアント10の最新利用履歴を収集したとき、この最新利用履歴をどのプロバイダ20に分配するのが効果的かを考える。最も効果的な選択は、最新利用履歴が収集されたクライアント10と通信回数の多いプロバイダ20に、その最新利用履歴を分配することである。よって、このようなプロバイダ20に高スコアをつける。
基準3:利用履歴の収集に着目すると、より多くの最新利用履歴を保有しているプロバイダ20を選択するための単純な基準として、クライアント10との通信の総量が多いプロバイダ20は、より多くの最新利用履歴を保有していると考えることができる。よって、このようなプロバイダ20に高スコアをつける。
次の数1式は、所定のプロバイダiを対象として、上記の基準1、2、3を評価するためのスコア算出式の一例である。
Figure 2005062556
ただし、Δtiはプロバイダiにおけるプロキシサービス30との最終通信からの経過時間、ni,jはプロバイダiと所定のクライアントjとの通信回数(プロキシサービス30が最新利用履歴を保有するクライアント10だけが対象)、miはプロバイダiにおけるクライアント10との通信回数の総量を、それぞれ意味する。
この3値を重み付け合計した値

i=aSi1+bSi2+cSi3 (a、b、cは適当な係数)

を、プロバイダiのスコアとする。
プロキシサービス30は、上記のスコアをプロバイダ20ごとに算出し、その値が最大のものから順にプロバイダ20を選択して巡回する。そして、巡回したプロバイダ20に対して、プロバイダ20が保有する利用履歴の収集と、プロキシサービス30が保有する最新利用履歴の配信とを行う。これにより、クライアント10がサービス要求するプロバイダ20において当該クライアント10の最新利用履歴が保持される確率が高くなり、モデル3が適用可能となる機会が増える。そして、サービス提供に必要な接続回数の平均値が低下して、システム全体におけるサービス提供時のパフォーマンスが向上する。
図8は、プロキシサービス30がプロバイダ20を巡回して各クライアント10のサービスの利用履歴を収集し、分配する動作を説明するフローチャートである。
プロキシサービス30の利用履歴分配・収集部33は、所定のタイミングで(例えば定期的に)管理下にある各プロバイダ20のスコアを計算し、巡回するプロバイダ20を決定する(ステップ801)。そして、巡回先の(すなわち最大スコアの)プロバイダ20に接続し(ステップ802)、当該プロバイダ20が保持しているサービスの利用履歴のうち、1つのクライアント10に関する利用履歴に着目して、プロキシサービス30が持つ当該クライアント10の利用履歴と比較する(ステップ803)。
比較の結果、プロバイダ20がプロキシサービス30よりも新しい利用履歴を持っている場合、利用履歴分配・収集部33は、プロキシサービス30の利用履歴をプロバイダ20のものに更新する(ステップ804、805)。一方、プロキシサービス30がプロバイダ20よりも新しい利用履歴を持っている場合、利用履歴分配・収集部33は、プロバイダ20の利用履歴をプロキシサービス30のものに更新する(ステップ804、806)。
次に、利用履歴分配・収集部33接続しているプロバイダ20が保持する全てのクライアント10の利用履歴に対してステップ803〜806の処理を実行したかどうかを確認し、未処理の利用履歴が残っていれば、改めて1つのクライアント10ごとに順次着目し、ステップ803〜806の処理を実行する。各クライアントの利用履歴に順次着目していき、全てのクライアント10の利用履歴を更新したならば、当該プロバイダ20に対する巡回処理を終了する(ステップ807)。
次に、本実施形態の実装例として、上述したクライアント10におけるサービスの利用履歴の情報を含む符号化データとしてPayWordを用いた認証システムを説明する。
PayWordはクライアント10がサービス要求時に利用する回数券として用いることができる。また、PayWordの利用履歴を検証することで、サービス要求を行ったクライアント10を特定でき、クライアント検証が可能である。PayWordを利用すると、クライアント検証と利用履歴の管理ができるため、プロキシサービス30はクライアント10への課金管理という役割も兼ねることができる。ただし、クライアント検証を行うためには、PayWordが最後に使用された際の利用履歴(最終利用履歴)が必要である。
ここで、一方向符号化回数券の例として利用されるPayWordの詳細を説明する。
PayWordとは、一方向ハッシュ関数と任意の乱数をもとに計算したハッシュ値を使ってプロバイダ20−クライアント10間での認証を行う方法である。PayWordを用いた認証を行うには、クライアント10の証明書を発行するCA(Certificate Authority:認証局)の存在が前提となる。まず、PayWordを利用するCA、クライアント10およびプロバイダ20に必要となる事前準備について説明し、次にPayWordの使用について説明する。また、クライアント10とプロバイダ20は予め同一の一方向ハッシュ関数を知っているものとする。
[事前準備]
1.CAは、クライアント10の証明書CuをCAの署名付きで発行する。
2.クライアント10は、まず、利用度数nと任意の乱数を一方向ハッシュ関数にかけた値Wnを決める。Wnをn回ハッシュ関数hにかけ、n個のハッシュ値W0〜Wn-1を求める。すなわち、

i-1=h(Wi) for i=1、・・・、n

である。
3.クライアント10は、証明書CuとPayWordのルート値として利用する値W0とを署名してプロバイダ20に送信する。
4.プロバイダ20は、送られた証明書Cuによりクライアント10を認証し、値W0を保持しておく。
[最初の使用(1st-Payment)]
1.クライアント10は、利用したい度数jと対応するWjとをプロバイダ20に送信する。ここで送信するjとWjの組をPayWordとする。
2.プロバイダ20は、送られてきたWjをj回ハッシュ関数にかけ、その値と保持しているPayWordのルート値W0とを比較する。
3.値が一致すれば、事前に認証したクライアント10と同一であることがわかるので、プロバイダ20によるサービス提供が行われる。
4.プロバイダ20は、次回のサービス要求のために、Wjを保持しておく。
[2回目の使用(2nd-Payment)]
1.クライアント10は、利用したい度数kと対応するWj+kとをプロバイダ20に送信する。
2.プロバイダ20は、送られてきたWj+kをk回ハッシュ関数にかけ、その値と保持していたWjの値とを比較する。
3.値が一致すれば、サービス提供し、Wj+kを保持しておく。
以下、同様の操作を繰り返して、n回のPayWordの使用が可能である。PayWordの特徴は、次の通りである。
・ハッシュ値の計算だけでクライアント認証とクライアント10の利用履歴管理の両方を行うことができる。
・一方向ハッシュ関数により計算された値を用いるため、不正利用を防ぐことができる。
・クライアント10の電子署名は、事前準備の際にクライアント10がプロバイダ20に証明書Cuを送るときのみに必要であり、サービス要求時にはクライアント10の署名は不要である。
・ハッシュ値の計算は電子署名の10000倍程度の処理速度で行えることが指摘されており、高速である。
このようなPayWordを用いた本実施形態のシングルサインオンのシステムでは、クライアント10のサービス利用履歴としてPayWordの利用履歴が用いられる。プロキシサービス30は、クライアント認証結果やクライアント10利用履歴のキャッシュ、PayWord発行などを役割とする。クライアント10におけるサービスの利用履歴をPayWordで管理することにより、クライアント10−プロバイダ20間でのクライアント検証を容易に行うことができ、プロキシサービス30を使うことで同一のPayWord回数券が複数プロバイダ20で利用できるようになる。
次に、シングルサインオンの実行手順について示す。ここでは、PayWordで用いるハッシュ関数は、予めクライアント10、プロバイダ20、プロキシサービス30の間で共有しているものとする。
[回数券購入]
初めに、クライアント10がサービス要求時に利用する回数券を購入する。
図9は、クライアント10がPayWord回数券を購入する際の、クライアント10、プロバイダ20、プロキシサービス30の動作を示す図である。
図9に示すように、まず、クライアント10は、プロキシサービス30に対し、例えば「10回分の回数券を購入したい」という購入要求と共に、セキュリティトークン(クライアントIDとパスワードなど)に電子署名を付加して送信する(図中の動作(0−1))。この際、暗号化によりメッセージを安全に送信することが好ましい。
クライアント10による購入要求に応じて、プロキシサービス30は、クライアント10のセキュリティトークンをセキュリティトークンサービス40に提示し、クライアント認証要求と回数券購入要求を行う(図中の動作(0−2))。
セキュリティトークンサービス40は、プロキシサービス30から送られてきたクライアント10のセキュリティトークンを検証し、「10回分購入」という属性を含むクライアント認証をプロキシサービス30に発行する(図中の動作(0−3))。
プロキシサービス30は、セキュリティトークンサービス40から受け取った属性内容を参照して、10回分のPayWordを作成し、10個のPayWordの値とそのルート値W0をクライアント10へ返す(図中の動作(0−4))。ここで、プロキシサービス30が受け取ったクライアント認証結果は、作成された10個のPayWordの値とルート値W0およびクライアントIDに対応付けされて回数券の有効期限までキャッシュされる。
クライアント10は、以上のようにしてプロキシサービス30から受け取ったPayWordを使ってサービスを受けることができる。ここで、プロキシサービス30だけが実際のクライアントIDとサービス要求時にクライアント認証に使われるルート値W0の対応を知っており、クライアント10の全プロバイダ20に対する利用履歴を保持しているため、一定期間ごとにプロキシサービス30が支払い実行要求を出して課金管理を行うことができる。
次に、クライアント10−プロバイダ20間のサービス提供の実行手順を示す。
まず、実行手順が決定される基本的な条件を列挙する。
・クライアント10−プロバイダ20間のクライアント検証は、クライアント10から送られてきたPayWordを、プロバイダ20が保持しているPayWordの利用履歴を用いて検証することによって行う。
・PayWordによるクライアント検証が成功した場合は、プロバイダ20とプロキシサービス30の接続は省略される。
・PayWordによるクライアント検証が失敗した場合のみ、プロバイダ20はプロキシサービス30に接続し、検証を依頼する。クライアント検証が失敗する原因としては、以下の要因が挙げられる。
要因1:クライアント10にとって初めてのサービス要求である。
要因2:クライアント10が直前に別のプロバイダ20にサービス要求している。
要因3:クライアント10が情報を偽造している。
要因4:クライアント10はまだ回数券を購入していない。
・プロキシサービス30の検証により上記の要因1または要因2が原因であることが分かれば、プロバイダ20によりサービス提供が行われる。
以上の条件を踏まえて、
ケース1:所定のプロバイダ20Aに初めてサービス要求する場合、
ケース2:プロバイダ20Aに連続してサービス要求する場合、
ケース3:他のプロバイダ20Bからサービスを受けた後、再びプロバイダ20Aにサービス要求する場合、
の3通りのサービス提供手順を説明する。なお、この動作説明では、個々のプロバイダ20を区別する必要がある場合に、プロバイダ20A、20Bのように、クライアント20に英大文字の添え字を付して表記している。
[ケース1:プロバイダ20Aへの初回要求]
図10は、ケース1におけるクライアント10、プロバイダ20A、プロキシサービス30の動作を示す図である。
クライアント10は、プロキシサービス30から受け取ったPayWordを元に、プロバイダ20Aにサービス要求を出す(図中の動作(1−1))。同時に、そのサービスに対してクライアントIDと必要な回数券の枚数に対応するPayWord Wiをプロバイダ20Aに送信する。ここで、一方向符号化型回数券にPayWordを用いた場合には、プロバイダ20Aがクライアント10を識別するためのクライアントIDの代用として、PayWordのルート値W0を用いることができる。この場合、W0は回数券の有効期限間のみ利用できる一時的なクライアントIDとして用いられる。また、プロバイダ20Aは本来のクライアントIDを知る必要はなく、W0からクライアント10を想定することは難しいと考えられるため、クライアントIDをそのままクライアント10の識別に用いるよりも安全性が高いといえる。さらに、W0にクライアント10の署名付加・暗号化を施すことで、メッセージの安全性を一層高めることができる。
この時点では、プロバイダ20Aへの初めてのサービス要求であるため、プロバイダ20Aはクライアント10の履歴を保持していない。そこで、プロバイダ20Aは、クライアント10情報をプロキシサービス30に提示し、クライアント認証とPayWord Wiの有効性の検証をプロキシサービス30に要求する(図中の動作(1−2))。
プロキシサービス30は、クライアント10が回数券を購入した際に取得したクライアント認証結果をキャッシュしているため、これに基づいて、クライアント検証としてPayWord Wiの有効性を確認する。Wiが有効であれば、プロキシサービス30はクライアント検証結果をプロバイダ20Aに転送する(図中の動作(1−3))。プロキシサービス30がキャッシュしているクライアント認証結果が有効期限内であれば、このクライアント認証結果を転送することができ、プロキシサービス30は再度クライアント認証要求をする必要がない。したがって、プロキシサービス30−セキュリティトークンサービス40間の接続を省略できる。
また、プロキシサービス30は、以上のクライアント検証の際に、クライアント10の回数券利用履歴としてWiの値をキャッシュする。
プロバイダ20Aは、受け取ったクライアント検証結果を信用し、クライアント10にサービスを提供する(図中の動作(1−4))。プロバイダ20Aもルート値W0とクライアント10の利用履歴としてWiの値をキャッシュしておく。これにより、今後このクライアント10と連続して通信する場合には、プロバイダ20A自身がクライアント検証を行うことができ、プロキシサービス30への接続を省略できることとなる。
[ケース2:プロバイダ20Aへの連続要求]
図11は、ケース2におけるクライアント10、プロバイダ20A、プロキシサービス30の動作を示す図である。
クライアント10が、他のプロバイダ20のサービスを利用せず、連続してプロバイダ20Aにサービス要求する場合には、上述したように、プロキシサービス30とプロバイダ20間の接続を省略できる。
まず、ケース1の初回要求と同様に、クライアント10は、利用したい回数券の枚数に対応するPayWord Wjとルート値W0とサービス要求をプロバイダ20Aに出す(図中の動作(2−1))。
プロバイダ20Aは、クライアント10の利用履歴をキャッシュしているため、PayWord Wjの有効性を検証することができる。プロバイダ20A自身でWjの有効性を確認できれば、クライアント10へサービス提供すればよい(図中の動作(2−2))。このように、PayWordを使うことで、同一プロバイダ20Aとクライアント10間の検証に第3者機関(プロキシサービス30やセキュリティトークンサービス40)を必要とせず、2者間のみの通信によりサービス提供が可能になる。また、大まかな見積もりでは、RSA暗号方式による電子署名付加に比べて、ハッシュ関数の計算は、10000倍の速さで行うことができることがわかっている。したがって、クライアント10とプロバイダ20Aへの負荷や通信時間を大幅に削減することができる。
[ケース3:プロバイダ20Bへ要求後のプロバイダ20Aへの再要求]
図12は、ケース3におけるクライアント10、プロバイダ20A、プロキシサービス30の動作を示す図である。
クライアント10は、同じPayWordの回数券を他のプロバイダ20Bに対しても利用することができる。PayWord回数券を使ってプロバイダ20Bのサービスをケース1の手順で利用した後、プロバイダ20Aのサービスを再度利用する場合、クライアント10は、PayWord Wkとルート値W0をプロバイダ20Aに提示しサービスを要求する(図中の動作(3−1))。
プロキシサービス30が各プロバイダ20を巡回してクライアント10の最新利用履歴を分配・収集することにより、プロバイダ20Aがクライアント10のプロバイダ20Bでの最新利用履歴を知っている場合、上記のケース2と同等になり、2者間でのサービス提供が行われることとなる。しかし、プロバイダ20Aがクライアント10のプロバイダ20Bでの最新利用履歴を知らない場合、Wkの検証を行なっても矛盾が生じてしまう(照合結果が「偽」となる)。そこで、この場合のみ、Wkの検証をプロキシサービス30に要求する(図中の動作(3−2))。
プロキシサービス30は、クライアント10のプロバイダ20Bでの利用履歴をキャッシュしているので、Wkの有効性を検証でき、検証結果をプロバイダ20Aへ知らせることができる(図中の動作(3−3))。
プロバイダ20Aは、プロキシサービス30のクライアント検証結果を信用してクライアント10にサービスを提供する(図中の動作(3−4))。この際、プロキシサービス30とプロバイダ20Aは、クライアント10の利用履歴を更新する。このようにプロキシサービス30で各プロバイダ20でのクライアント10の利用履歴をキャッシュすることによって、複数のプロバイダ20で回数券を利用することが可能となり、シングルサインオンによるクライアント認証が実現される。
上記のケース1〜ケース3で説明したように、クライアント10は、サービス要求の際に同一のルート値W0とPayWordの値を送信するだけでよく、自らクライアント認証を要求する必要はない。また、同一プロバイダ20へのサービス要求の場合は、プロバイダ20が毎回クライアント検証要求をする必要はなく、PayWordを利用して自身でクライアント検証が行える。したがって、ケース3の適用が多いほど、少ない平均接続回数でサービス提供が可能になり、複数プロバイダ20へのシングルサインオンも可能になる。
図8のフローチャートを参照して説明したような方法で、プロキシサービス30が管理下の各プロバイダ20を巡回し、プロキシサービス30が持っているクライアント10の最新利用履歴を分配・収集することにより、ケース3が適用される機会が多くなり、プロバイダ20によるサービス提供のパフォーマンス向上が期待できる。
なお、クライアント10が利用履歴を偽って不正にサービスの提供を受けようとする場合が考えられるが、プロキシサービス30が、前回の巡回以後に行われたクライアント10の利用履歴は全て収集することによって、そのような不正な利用を防止することができる。このため、プロバイダ20は、クライアント10の利用履歴のうち、プロキシサービス30が収集していない最新利用履歴を全て保持しておく。そして、プロキシサービス30は、収集した最新利用履歴をまとめて確認することにより、上述した不正利用が行われていれば、検出することができる。不正利用が行われたことが検出されたならば、プロキシサービス30は、クライアント10の最新利用履歴を修正し、修正した履歴を複数のプロバイダ20へ分配する。
また、PayWordを用いることで、クライアントのサービス利用に対する課金管理を合わせて行うことができることを述べたが、この課金管理に関してはPayWordではなく他の公知の課金方式を用いて行うことも可能である。
次に、本実施形態の他の実装例として、上述したクライアント10におけるサービスの利用履歴の情報を含む符号化データとしてワンタイムパスワードを用いた認証システムを説明する。
クライアント10がプロバイダ20へログインする際に、毎回異なるパスワード(ワンタイムパスワード)を用いるものとする。この場合、クライアント10が次にログインする際に利用する情報を、次にログインする可能性のあるプロバイダ20へ予めプロキシサービス30が分配しておく。これにより、クライアント10は毎回違うパスワードを使いながらも、プロバイダ20とクライアント10の2者間での通信によってクライアント認証が可能になる。
ワンタイムパスワードとしては、
・予め決められた固定パスワードとnonce(1回の使用に限り有効な情報)、パスワード作成時刻createdの値から生成したワンタイムパスワード
・プロキシサービス30とクライアント10が共有するハードウェアトークンによるワンタイムパスワード
の2種類が考えられる。以下の説明では、例として固定パスワードから生成したワンタイムパスワードを用いる場合について説明する。
[固定パスワード・nonceの生成]
初めに、クライアント10は、プロキシサービス30にnonceの生成要求を行う。その要求に応じて、プロキシサービス30は、クライアント10が使うnonceに相当する値を複数(例えば、n1、n2、n3、・・・、n10)作成し、それをクライアント10に送る。また、クライアント10は、所定のプロバイダ20Aと他のプロバイダ20Bにログインしたい場合、予めそれぞれに固定パスワード(例えば、PWDa、PWDb)を設定する。
上述したPayWordを用いる実装例と同様にケース1、2、3を考える。
[ケース1:プロバイダ20Aへの初回要求]
クライアント10がプロバイダ20Aに接続する場合、クライアント10は、IDとワンタイムパスワードPWDを送る。ここでパスワードPWDは、nonceと作成時刻c1とを用いて、PWD=SHA1(n1+c1+PWDa)で算出されるものを使う。プロバイダ20Aへの初めてのリクエストの場合、プロバイダ20Aは、クライアント10のIDとPWDとをプロキシサービス30へ転送し、クライアント認証を要求する。プロキシサービス30は、nonceのn1の値を知っているので、n1、c1を使ってPWDを計算することができる。したがって、プロバイダ20Aから送られてきたPWDが、n1およびc1を用いて計算されたPWDの値と同じであれば、セキュリティトークンサービス40から得たクライアント認証結果と次回のワンタイムパスワードの生成で使われるはずのnonce n2をプロバイダ20Aに送る。プロキシサービス30から取得したクライアント認証結果に問題がなければ、プロバイダ20Aはクライアント10に対してサービス提供を行う。
また、プロキシサービス30は、クライアント10が次のパスワード生成に使うnonceの値n2を他のプロバイダ20へも分配しておく。
[ケース2:プロバイダ20Aへの連続要求]
クライアント10は、IDとPWD=SHA1(n2+c2+PWDa)とをプロバイダ20Aへ送る。プロバイダ20Aは、プロキシサービス30からn2を取得しているので、これによりPWDを計算し、クライアント10の検証ができる。このように、プロバイダ20Aへの連続要求の場合は、プロキシサービス30に接続することなくプロバイダ20A自身でクライアント検証を行うことができる。
プロキシサービス30は、巡回時にプロバイダ20Aからn2を収集し、クライアント10が次に使うn3を他のプロバイダ20へ分配しておく。
[ケース3:プロバイダ20Bへ要求後のプロバイダ20Aへの再要求]
クライアント10がプロバイダ20Bへの接続時のPWD生成にnonce n3を使ったとする。この後、クライアント10が再度プロバイダ20Aに接続する場合には、IDとPWD=SHA1(n4+c4+PWDa)をプロバイダ20Aへ送る。
プロキシサービス30が管理下の各プロバイダ20を適切に巡回できていれば、プロバイダ20Aはnonce n4を知っているはずなので、これによりパスワードPWDの検証が行える。
プロキシサービス30による巡回がクライアント10のサービス要求までに間に合わなかった場合、プロバイダ20Aは、パスワードPWDの検証ができないので、プロキシサービス30にPWDの検証を依頼する。検証の結果、PWDが正しければ、プロバイダ20Aはクライアント10にサービス提供を行う。
以上のように、プロキシサービス30は、クライアント10が次に使うワンタイムパスワードを計算するためのnonceを予めプロバイダ20に分配しておく。これによって、プロバイダ20がプロキシサービス30に問い合わせることなくパスワードPWDの検証を行い、サービス提供を行うことが可能となる。
上述した固定パスワードとnonce、パスワード作成時刻の値から生成したワンタイムパスワードを用いる代わりに、ハードウェアトークンによるワンタイムパスワードを使う場合は、プロキシサービス30とクライアント10との間でハードウェアトークン生成器を持ち、プロキシサービス30は、クライアント10が次に使う可能性のあるパスワードをプロバイダ20へ分配することになる。こうすることで、プロバイダ20がクライアント10ごとにハードウェアトークン生成器を持たなくても、ワンタイムパスワードでのログインが可能となり、シングルサインオンによるクライアント認証が実現される。
なお、クライアント10がパスワードPWDを生成するためのnonceをn10まで使い切ってしまった場合、次にパスワードPWDを生成するためには、再度n1に戻って使う、または、再度プロキシサービス30にnonceの新規作成を要求する、などの方策が考えられる。
本実施形態によるシングルサインオンを実現するシステムの全体構成を示す図である。 本実施形態のシングルサインオンのシステムを構成する上記各コンポーネントを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。 本実施形態におけるクライアントに対する認証システムとして把握したプロバイダ、プロキシサービスおよびセキュリティトークンサービスの機能構成を示す図である。 本実施形態のシングルサインオンにおけるクライアント認証の手順を示す図である。 本実施形態によるクライアント認証の手順を説明するフローチャートである。 本実施形態のプロバイダによるクライアントのサービス利用履歴の照合処理を説明するフローチャートである。 本実施形態のプロキシサービスによるクライアント検証の処理を説明するフローチャートである。 本実施形態においてプロキシサービスがプロバイダを巡回して各クライアントのサービスの利用履歴を収集し、分配する動作を説明するフローチャートである。 本実施形態においてクライアントがPayWord回数券を購入する際の、クライアント、プロバイダ、プロキシサービスの動作を示す図である。 本実施形態において、プロバイダへの初回要求におけるクライアント、プロバイダ、プロキシサービスの動作を示す図である。 本実施形態において、同一プロバイダへの連続要求におけるクライアント、プロバイダ、プロキシサービスの動作を示す図である。 本実施形態において、他プロバイダへ要求後の以前のプロバイダへ再要求を行う場合のクライアント、プロバイダ、プロキシサービスの動作を示す図である。
符号の説明
10…クライアント、20…プロバイダ、21、31、41…通信制御部、22…サービス実行部、23、32、42…認証実行部、30…プロキシサービス、33…利用履歴分配・収集部、40…セキュリティトークンサービス、101…CPU(中央処理装置)、103…メインメモリ、105…磁気ディスク装置(HDD)、106…ネットワークインターフェイス

Claims (22)

  1. ネットワークを介して所定のサービスを提供する複数のプロバイダを一括管理してシングルサインオンによるクライアント認証を行う認証システムにおいて、
    ネットワークを介して所定のサービスを提供するプロバイダと、
    前記プロバイダにサービス要求を行ったクライアントの認証を行う認証サーバと、
    前記認証サーバと前記プロバイダとの間に介在して、前記プロバイダが前記認証サーバに対して行う認証要求を管理するプロキシサーバとを備え、
    前記プロキシサーバは、前記認証サーバによる認証結果を保存し、一定条件の下、前記プロバイダから受け取った前記認証要求を前記認証サーバへ転送せず、保存されている認証結果に基づいて前記クライアントの認証を代行することを特徴とする認証システム。
  2. 前記プロバイダは、前記クライアントのサービス利用履歴を保存し、当該サービス利用履歴に基づいて当該クライアントに対してサービスを提供可能であることが明らかである場合は、前記認証要求を行うことなく、当該クライアントに対してサービスを提供することを特徴とする請求項1に記載の認証システム。
  3. 前記プロキシサーバは、前記クライアントのサービス利用履歴を前記プロバイダから取得して管理し、所定のプロバイダからの認証要求に応じて、前記認証サーバによる認証結果と当該サービス利用履歴とに基づき当該クライアントに対するサービス提供の可否を判断することを特徴とする請求項2に記載の認証システム。
  4. 前記プロキシサーバは、複数の前記プロバイダを巡回して、前記クライアントごとのサービス利用履歴を収集して比較し、最新の内容を選択して、各前記プロバイダにおける前記クライアントごとのサービス利用履歴を当該最新の内容に更新させることを特徴とする請求項2に記載の認証システム。
  5. ネットワークを介して所定のサービスを提供する複数のプロバイダと、
    所定の前記プロバイダからの検証要求に応じて、当該プロバイダにサービス要求を行ったクライアントに対するサービス提供の可否を判断する検証サーバとを備え、
    前記プロバイダは前記クライアントのサービス利用履歴を保存し、
    前記検証サーバは、前記クライアントの認証情報と当該クライアントによるサービス利用回数とを情報として含む符号化データを生成して当該クライアントに提供し、前記プロバイダから前記サービス利用履歴を取得して管理し、所定のクライアントが所定のプロバイダに対して当該符号化データを用いてサービス要求を行った場合に、当該プロバイダからの検証要求に応じて、当該符号化データと当該クライアントのサービス利用履歴とを照合してサービス提供の可否を判断することを特徴とする認証システム。
  6. 前記プロバイダは、所定のクライアントが前記符号化データを用いてサービス要求を行った場合に、当該符号化データと前記サービス利用履歴とを照合し、当該クライアントに対してサービスを提供可能であることが明らかである場合は、前記検証サーバに対する検証要求を行うことなく、当該クライアントに対してサービスを提供することを特徴とする請求項5に記載の認証システム。
  7. 前記検証サーバは、複数の前記プロバイダを巡回して、前記クライアントごとのサービス利用履歴を収集して比較し、最新の内容を選択して、各前記プロバイダにおける前記クライアントごとのサービス利用履歴を当該最新の内容に更新させることを特徴とする請求項5に記載の認証システム。
  8. ネットワークを介して所定のサービスを提供する複数のプロバイダを一括管理してシングルサインオンを実現するサーバにおいて、
    前記プロバイダにおける所定のクライアントのサービス利用履歴を格納する利用履歴格納手段と、
    所定の認証サーバに依頼して取得した前記所定のクライアントに対する認証結果を格納する認証結果格納手段と、
    前記プロバイダからの問い合わせに応じて、前記利用履歴格納手段に格納されている前記サービス利用履歴と前記認証結果格納手段に格納されている前記認証結果とを用いて、前記所定のクライアントに対するサービス提供の可否を判断する検証手段とを備え、
    前記検証手段は、前記認証結果格納手段に保存されている認証結果が有効でない場合に、前記サービス提供の可否を判断するためのクライアント認証を前記認証サーバに依頼することを特徴とするサーバ。
  9. 複数の前記プロバイダを巡回して、前記クライアントごとのサービス利用履歴を収集し、最新の内容を選択して、前記利用履歴格納手段に格納する利用履歴収集手段を更に備えることを特徴とする請求項8に記載のサーバ。
  10. 前記利用履歴収集手段は、クライアントとの通信の総量が多いプロバイダを優先して巡回し、サービス利用履歴を収集することを特徴とする請求項9に記載のサーバ。
  11. 前記クライアントの認証情報と当該クライアントによるサービス利用回数とを情報として含む符号化データを生成する符号化データ生成手段を更に備え、
    前記検証手段は、所定のクライアントが所定のプロバイダに対して当該符号化データを用いてサービス要求を行った場合に、当該符号化データと利用履歴格納手段に格納されている当該クライアントのサービス利用履歴とを照合してサービス提供の可否を判断することを特徴とする請求項8に記載のサーバ。
  12. コンピュータを用いて、プロバイダにサービスの提供を要求するクライアントの認証を行う認証方法であって、
    前記コンピュータが、前記クライアントのサービス利用履歴を符号化した符号化データと所定の記憶手段に格納されている当該クライアントのサービス利用履歴の情報とを照合する第1のステップと、
    前記第1のステップで照合結果が「偽」である場合に、前記コンピュータが、所定の記憶手段に格納されている前記クライアントに対する認証情報に基づいて当該クライアントに対するサービス提供の可否を判断する第2のステップと、
    前記第2のステップで用いられる前記認証情報が有効でない場合に、前記コンピュータが、所定の認証サーバに前記クライアントの認証を依頼し、取得した当該認証結果に基づいて当該クライアントに対するサービス提供の可否を判断する第3のステップと
    を含むことを特徴とする認証方法。
  13. 前記第1のステップで照合結果が「真」である場合に、当該クライアントに対するサービス提供が可能と判断するステップを更に含むことを特徴とする請求項12に記載の認証方法。
  14. 前記第3のステップで取得された前記認証結果を、前記第2のステップで用いられる前記認証情報として所定の記憶手段に格納するステップを更に含むことを特徴とする請求項12に記載の認証方法。
  15. コンピュータを、
    前記プロバイダにおける所定のクライアントのサービス利用履歴を格納する利用履歴格納手段と、
    所定の認証サーバに依頼して取得した前記所定のクライアントに対する認証結果を格納する認証結果格納手段と、
    前記プロバイダからの問い合わせに応じて、前記利用履歴格納手段に格納されている前記サービス利用履歴と前記認証結果格納手段に格納されている前記認証結果とを用いて、前記所定のクライアントに対するサービス提供の可否を判断し、かつ認証結果格納手段に保存されている認証結果が有効でない場合に、前記サービス提供の可否を判断するためのクライアント認証を前記認証サーバに依頼する検証手段として
    機能させることを特徴とするプログラム。
  16. 複数の前記プロバイダを巡回して、前記クライアントごとのサービス利用履歴を収集し、最新の内容を選択して、前記利用履歴格納手段に格納する利用履歴収集手段として、前記コンピュータを更に機能させることを特徴とする請求項15に記載のプログラム。
  17. 前記利用履歴収集手段の機能として、前記コンピュータに、クライアントとの通信の総量が多いプロバイダを優先して巡回し、サービス利用履歴を収集させることを特徴とする請求項16に記載のプログラム。
  18. 前記利用履歴格納手段に格納された最新の前記サービス利用履歴を前記プロバイダに分配する利用履歴分配手段として、前記コンピュータを更に機能させることを特徴とする請求項16に記載のプログラム。
  19. 前記利用履歴格納手段の機能として、前記コンピュータに、サービス提供の可否を問い合わせるための接続を長期間行っていないプロバイダを優先して巡回し、前記最新のサービス利用履歴を分配させることを特徴とする請求項18に記載のプログラム。
  20. 前記利用履歴格納手段の機能として、前記コンピュータに、前記利用履歴収集手段によって前記最新のサービス利用履歴が収集されたクライアントとの通信回数が多いプロバイダを優先して巡回し、前記最新のサービス利用履歴を分配させることを特徴とする請求項18に記載のプログラム。
  21. 前記クライアントの認証情報と当該クライアントによるサービス利用回数とを情報として含む符号化データを生成する符号化データ生成手段として、前記コンピュータを更に機能させ、
    前記検証手段の機能として、前記コンピュータに、所定のクライアントが所定のプロバイダに対して当該符号化データを用いてサービス要求を行った場合に、当該符号化データと利用履歴格納手段に格納されている当該クライアントのサービス利用履歴とを照合してサービス提供の可否を判断させることを特徴とする請求項15に記載のプログラム。
  22. 請求項15から請求項21のいずれかに記載のプログラムを、コンピュータが読み取り可能に記録した記録媒体。
JP2003293643A 2003-08-14 2003-08-14 認証システム、サーバおよび認証方法並びにプログラム Expired - Fee Related JP4039632B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003293643A JP4039632B2 (ja) 2003-08-14 2003-08-14 認証システム、サーバおよび認証方法並びにプログラム
CNB2004100563154A CN100444544C (zh) 2003-08-14 2004-08-06 验证系统,服务器和验证方法及程序
US10/917,712 US20050039054A1 (en) 2003-08-14 2004-08-14 Authentication system, server, and authentication method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003293643A JP4039632B2 (ja) 2003-08-14 2003-08-14 認証システム、サーバおよび認証方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2005062556A true JP2005062556A (ja) 2005-03-10
JP4039632B2 JP4039632B2 (ja) 2008-01-30

Family

ID=34131765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003293643A Expired - Fee Related JP4039632B2 (ja) 2003-08-14 2003-08-14 認証システム、サーバおよび認証方法並びにプログラム

Country Status (3)

Country Link
US (1) US20050039054A1 (ja)
JP (1) JP4039632B2 (ja)
CN (1) CN100444544C (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260321A (ja) * 2005-03-18 2006-09-28 Nec Corp サービス提供システムおよびそのユーザ認証方法
KR100639992B1 (ko) 2004-12-14 2006-10-31 한국전자통신연구원 클라이언트 모듈을 안전하게 배포하는 보안 장치 및 그방법
JP2007122553A (ja) * 2005-10-31 2007-05-17 Konica Minolta Business Technologies Inc サーバ、サーバシステム、複合多機能端末、ユーザ認証方法
JP2007172588A (ja) * 2005-11-22 2007-07-05 Ricoh Co Ltd 認証チケット処理装置
WO2009001447A1 (ja) * 2007-06-27 2008-12-31 Fujitsu Limited 認証方法、認証システム、認証装置及びコンピュータプログラム
JP2009122915A (ja) * 2007-11-14 2009-06-04 Hitachi Ltd 情報端末装置およびその運用方法
JP2010055175A (ja) * 2008-08-26 2010-03-11 Nippon Telegr & Teleph Corp <Ntt> 連携サービス提供システム、サービス管理装置、及び、情報共有方法
JP2010277144A (ja) * 2009-05-26 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証システム、ユーザ端末、ログ認証サーバ、ユーザ認証方法およびプログラム
JP2013077323A (ja) * 2013-01-15 2013-04-25 Fujitsu Ltd 識別情報統合管理システム,識別情報統合管理サーバ及び識別情報統合管理プログラム
JP2013117748A (ja) * 2011-12-01 2013-06-13 Canon Inc 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム
KR101306442B1 (ko) 2011-11-30 2013-09-09 에스케이씨앤씨 주식회사 휴대용 디바이스에 발급된 토큰을 이용한 사용자 인증 방법 및 시스템
US8819799B2 (en) 2011-11-05 2014-08-26 Kyocera Document Solutions Inc. Image forming apparatus, image forming system, and method for realizing pseudo single sign-on
KR101436404B1 (ko) 2013-02-15 2014-09-01 주식회사 안랩 사용자 인증 장치 및 방법
US9294484B2 (en) 2012-10-31 2016-03-22 Ricoh Company, Ltd. System, service providing device, and service providing method
WO2016137307A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Attestation by proxy
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
US11107047B2 (en) 2015-02-27 2021-08-31 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US11129018B2 (en) 2015-02-27 2021-09-21 Samsung Electronics Co., Ltd. Payment means operation supporting method and electronic device for supporting the same
US11182769B2 (en) 2015-02-12 2021-11-23 Samsung Electronics Co., Ltd. Payment processing method and electronic device supporting the same

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7698734B2 (en) * 2004-08-23 2010-04-13 International Business Machines Corporation Single sign-on (SSO) for non-SSO-compliant applications
WO2006088922A2 (en) * 2005-02-14 2006-08-24 Reactivity, Inc. Proxy server caching
US20190268430A1 (en) 2005-08-01 2019-08-29 Seven Networks, Llc Targeted notification of content availability to a mobile device
US8032657B2 (en) * 2005-09-12 2011-10-04 Microsoft Corporation Preservation of type information between a client and a server
WO2007059628A1 (en) 2005-11-24 2007-05-31 Oz Communications Inc. Method for securely associating data with http and https sessions
US20070168297A1 (en) * 2006-01-18 2007-07-19 Cheng Siu L Efficient method and system for secure business-to-business transaction
JP4742903B2 (ja) * 2006-02-17 2011-08-10 日本電気株式会社 分散認証システム及び分散認証方法
US20070245414A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Proxy Authentication and Indirect Certificate Chaining
JP4867482B2 (ja) * 2006-06-06 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
US20080086766A1 (en) * 2006-10-06 2008-04-10 Microsoft Corporation Client-based pseudonyms
US8656472B2 (en) 2007-04-20 2014-02-18 Microsoft Corporation Request-specific authentication for accessing web service resources
KR101467174B1 (ko) * 2007-08-16 2014-12-01 삼성전자주식회사 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치
KR101152782B1 (ko) * 2007-08-16 2012-06-12 삼성전자주식회사 통신 중계 방법 및 그 장치와, 통신 중계 제어 방법 및 그장치
WO2009084601A1 (ja) * 2007-12-27 2009-07-09 Nec Corporation アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム
US8910255B2 (en) 2008-05-27 2014-12-09 Microsoft Corporation Authentication for distributed secure content management system
US7600253B1 (en) * 2008-08-21 2009-10-06 International Business Machines Corporation Entity correlation service
US8549601B2 (en) * 2009-11-02 2013-10-01 Authentify Inc. Method for secure user and site authentication
KR101286922B1 (ko) * 2009-12-01 2013-07-23 한국전자통신연구원 간이 인증을 이용한 서비스 접속 방법, 장치, 사용자 인증 장치 및 단말
JP5660050B2 (ja) * 2009-12-28 2015-01-28 日本電気株式会社 ユーザ情報活用システム、装置、方法およびプログラム
US8869258B2 (en) * 2010-03-12 2014-10-21 Microsoft Corporation Facilitating token request troubleshooting
US8881247B2 (en) * 2010-09-24 2014-11-04 Microsoft Corporation Federated mobile authentication using a network operator infrastructure
JP2012212211A (ja) * 2011-03-30 2012-11-01 Hitachi Ltd 認証連携システム、および、認証連携方法
FR2973626A1 (fr) * 2011-03-31 2012-10-05 France Telecom Mecanisme de redirection entrante sur un proxy inverse
US8972729B2 (en) * 2012-10-24 2015-03-03 Verizon Patent And Licensing Inc. Secure information delivery
CN103036883B (zh) * 2012-12-14 2015-11-04 公安部第一研究所 一种安全服务器的安全通讯方法与系统
JP6102296B2 (ja) * 2013-02-06 2017-03-29 株式会社リコー 情報処理システム、情報処理装置、認証方法及びプログラム
JP6843653B2 (ja) * 2017-03-06 2021-03-17 キヤノン株式会社 サーバ装置、情報処理方法及びプログラム
US10623414B2 (en) * 2017-04-26 2020-04-14 International Business Machines Corporation Authenticating multi-facets of a user through unaware third-party services
CN112527835B (zh) * 2020-12-04 2023-07-11 平安科技(深圳)有限公司 基于缓存的认证请求处理方法、装置及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network
US6609198B1 (en) * 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6601170B1 (en) * 1999-12-30 2003-07-29 Clyde Riley Wallace, Jr. Secure internet user state creation method and system with user supplied key and seeding
US7174454B2 (en) * 2002-11-19 2007-02-06 America Online, Inc. System and method for establishing historical usage-based hardware trust
JP2002032340A (ja) * 2000-07-14 2002-01-31 Nec Corp Webサイトに対するシングルサインオンシステム及び方法並びに記録媒体
JP2002288139A (ja) * 2001-03-28 2002-10-04 Novell Japan Ltd 携帯電話機用シングルサインオンシステムおよび方法
JP2002335239A (ja) * 2001-05-09 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> シングルサインオン認証方法及びシステム装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100639992B1 (ko) 2004-12-14 2006-10-31 한국전자통신연구원 클라이언트 모듈을 안전하게 배포하는 보안 장치 및 그방법
JP2006260321A (ja) * 2005-03-18 2006-09-28 Nec Corp サービス提供システムおよびそのユーザ認証方法
JP2007122553A (ja) * 2005-10-31 2007-05-17 Konica Minolta Business Technologies Inc サーバ、サーバシステム、複合多機能端末、ユーザ認証方法
JP2007172588A (ja) * 2005-11-22 2007-07-05 Ricoh Co Ltd 認証チケット処理装置
US8612745B2 (en) 2005-11-22 2013-12-17 Ricoh Company, Ltd. Authentication ticket processing apparatus and method with improved performance for self-contained ticket
WO2009001447A1 (ja) * 2007-06-27 2008-12-31 Fujitsu Limited 認証方法、認証システム、認証装置及びコンピュータプログラム
JP2009122915A (ja) * 2007-11-14 2009-06-04 Hitachi Ltd 情報端末装置およびその運用方法
JP2010055175A (ja) * 2008-08-26 2010-03-11 Nippon Telegr & Teleph Corp <Ntt> 連携サービス提供システム、サービス管理装置、及び、情報共有方法
JP2010277144A (ja) * 2009-05-26 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証システム、ユーザ端末、ログ認証サーバ、ユーザ認証方法およびプログラム
US8819799B2 (en) 2011-11-05 2014-08-26 Kyocera Document Solutions Inc. Image forming apparatus, image forming system, and method for realizing pseudo single sign-on
KR101306442B1 (ko) 2011-11-30 2013-09-09 에스케이씨앤씨 주식회사 휴대용 디바이스에 발급된 토큰을 이용한 사용자 인증 방법 및 시스템
JP2013117748A (ja) * 2011-12-01 2013-06-13 Canon Inc 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム
US9294484B2 (en) 2012-10-31 2016-03-22 Ricoh Company, Ltd. System, service providing device, and service providing method
JP2013077323A (ja) * 2013-01-15 2013-04-25 Fujitsu Ltd 識別情報統合管理システム,識別情報統合管理サーバ及び識別情報統合管理プログラム
KR101436404B1 (ko) 2013-02-15 2014-09-01 주식회사 안랩 사용자 인증 장치 및 방법
US11182769B2 (en) 2015-02-12 2021-11-23 Samsung Electronics Co., Ltd. Payment processing method and electronic device supporting the same
WO2016137307A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Attestation by proxy
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
US11107047B2 (en) 2015-02-27 2021-08-31 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US11129018B2 (en) 2015-02-27 2021-09-21 Samsung Electronics Co., Ltd. Payment means operation supporting method and electronic device for supporting the same

Also Published As

Publication number Publication date
JP4039632B2 (ja) 2008-01-30
CN100444544C (zh) 2008-12-17
US20050039054A1 (en) 2005-02-17
CN1581771A (zh) 2005-02-16

Similar Documents

Publication Publication Date Title
JP4039632B2 (ja) 認証システム、サーバおよび認証方法並びにプログラム
CA3049761C (en) Method for providing payment gateway service using utxo-based protocol and server using same
CA3053316C (en) Method for providing simplified account registration service and user authentication service, and authentication server using same
US10924285B2 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
CN110268678B (zh) 基于pki的认证代理用户的登录方法及利用其的服务器
US10462138B2 (en) Application programming interface access controls
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
US10372942B1 (en) Method and server for providing notary service for file and verifying file recorded by notary service
JP6457165B1 (ja) 検査システムおよび検査方法
US20190306147A1 (en) Method for sso service using pki based on blockchain networks, and device and server using the same
CN108810006A (zh) 资源访问方法、装置、设备及存储介质
JP4964338B2 (ja) ユーザ確認装置、方法及びプログラム
US20200250655A1 (en) Efficient, environmental and consumer friendly consensus method for cryptographic transactions
JP2023542681A (ja) ブロックチェーンの許可フレームワークへのデバイスアイデンティティの統合
CN110489957B (zh) 访问请求的管理方法和计算机存储介质
CN107347073B (zh) 一种资源信息处理方法
CN110301127A (zh) 用于预测性令牌验证的装置和方法
Klopfenstein et al. " Worth one minute": An anonymous rewarding platform for crowd-sensing systems
JP2004362189A (ja) ユーザ情報流通システム
KR100609701B1 (ko) 전자 거래 내역에 대한 프라이버시를 보호하는 거래 인증방법 및 시스템
Satoh et al. Single sign on architecture with dynamic tokens
CN116071070A (zh) 资源转移方法及相关装置
CN115967508A (zh) 数据访问控制方法及装置、设备、存储介质、程序产品
US11849041B2 (en) Secure exchange of session tokens for claims-based tokens in an extensible system
KR102245382B1 (ko) 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070813

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: 20071030

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20071101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071102

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees