JP6848275B2 - プログラム、認証システム及び認証連携システム - Google Patents

プログラム、認証システム及び認証連携システム Download PDF

Info

Publication number
JP6848275B2
JP6848275B2 JP2016172101A JP2016172101A JP6848275B2 JP 6848275 B2 JP6848275 B2 JP 6848275B2 JP 2016172101 A JP2016172101 A JP 2016172101A JP 2016172101 A JP2016172101 A JP 2016172101A JP 6848275 B2 JP6848275 B2 JP 6848275B2
Authority
JP
Japan
Prior art keywords
authentication
user
service
personal
information
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.)
Active
Application number
JP2016172101A
Other languages
English (en)
Other versions
JP2018037025A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016172101A priority Critical patent/JP6848275B2/ja
Publication of JP2018037025A publication Critical patent/JP2018037025A/ja
Application granted granted Critical
Publication of JP6848275B2 publication Critical patent/JP6848275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラム、認証システム及び認証連携システムに関する。
シングルサインオンを実現するためにOpen ID等の認証連携の標準に準拠した認証サーバやIDプロバイダを利用する仕組みが普及しつつある。
また、アクセスしてきたユーザの認証を他のシステムに委託する技術として以下に示すものが知られている。
特許文献1に開示されたセンタサーバは、認証装置を選定する条件テーブルを有し、バックエンドWebシステム等を管理し、このシステム利用を要求するリクエストを受信する。クライアント端末がリクエストを送信すると、センタサーバはリクエストを受信し、リクエストに認証済みクッキー情報があるかを判断し、ない場合はリクエストに基づき条件テーブルを検索して認証処理を実行する認証装置を選定し、選定した認証装置に認証処理を依頼する。選定された認証装置は認証処理を行い認証結果をセンタサーバに返す。センタサーバは認証結果を受信し、認証成立の場合には認証済みクッキーを作成してクライアント端末に送信する。
特許文献2に開示されたシステムは、情報サーバとネットワーク回線を介して接続可能にされた第1端末装置と、情報サーバとネットワーク回線から独立した通信回線で接続可能にされた第2端末装置とを備え、情報サーバにて新規のパスワードを生成して通信回線を介して第2端末装置に送信すると共にネットワーク回線を介して認証サーバに送信し、第2端末装置では送信されて来たパスワードを受信して告知し、第1端末装置ではユーザからパスワードを受け入れ、そのパスワードを認証サーバにネットワーク回線を介して送信し、認証サーバでは第1端末装置から送信されたパスワードと情報サーバから送信されたパスワードとの一致に応じてユーザ認証を行う。
特許文献3に開示された方法では、本人認証のために認証に用いる認証データを照合する認証用端末毎に専用の電話番号(着側電話番号)を割り当て、利用者に携帯電話機から本人認証を受ける認証用端末に割り当てられた電話番号に電話をかけさせる。これを着信した認証センタサーバでは、着側電話番号(利用者が発信した発信先電話番号)から認証用端末を特定し、特定された認証用端末に認証データを送信することによって、利用者が本人認証を受ける認証用端末に、確実に認証に用いる認証データを送信することを可能にしている。この方法では、静脈データ等の利用者の認証データは、認証センタサーバで集中管理されており、この認証データが認証用端末に送られる。そして、認証用端末は、認証センタサーバから受け取った認証データと、ユーザの入力したデータ(例えば手のひら等をかざして読み取らせた静脈データ)とを照合して認証を行う。
特開2010−205166号公報 特開2002−082910号公報 特開2011−215940号公報
認証を行う端末が、認証情報を集中管理するサーバから対象ユーザの認証情報を取得し、これとユーザが入力したデータとから認証を行う方式では、ユーザが入力したデータは端末装置の外に出ないため、入力データについての漏洩リスクが少ない。しかし、サーバがハッキングされると、一度に多数のユーザの認証情報が漏洩するリスクがある。
本発明は、ユーザ群の認証情報を集中管理する方式と比べて、多数のユーザの認証情報が漏洩するリスクを低減することを目的とする。
請求項1に係る発明は、コンピュータを、各ユーザの個人認証装置を特定する情報を記憶する記憶手段、サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段、前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段、として機能させるためのプログラムであって、前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、ことを特徴とするプログラムである。
請求項に係る発明は、前記認証成功保持手段は、前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果と共にその認証結果を適用するサービス装置のリストを受け取った場合に、その認証成功を表す認証結果とそのリストとをそのユーザに対応付けて保持し、前記提供手段は、前記ユーザから第2のサービス装置の利用が要求された場合において、前記ユーザに対応する認証成功を表す認証結果が前記認証成功保持手段にあり、かつ前記ユーザに対応して前記認証成功保持手段に保持された前記リストに前記第2のサービス装置が含まれる場合、前記第2のサービス装置に認証成功を表す認証応答を提供する、ことを特徴とする請求項に記載のプログラムである。
請求項に係る発明は、前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段にそのユーザに対応する認証成功を表す認証結果がない場合に、前記個人認証装置の確認を促す通知が前記ユーザに対して伝達されるようにする処理を実行する、ことを特徴とする請求項に記載のプログラムである。
請求項に係る発明は、前記コンピュータを、前記サービス装置から前記ユーザの属性情報を要求された場合に、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置にその属性情報を要求し、その要求に応じて前記個人認証装置から提供された属性情報を前記サービス装置に応答する属性応答手段、として更に機能させるための請求項1〜のいずれか1項に記載のプログラムである。
請求項に係る発明は、コンピュータを、各ユーザの個人認証装置を特定する情報を記憶する記憶手段、サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段、前記サービス装置から前記ユーザの属性情報を要求された場合に、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置にその属性情報を要求し、その要求に応じて前記個人認証装置から提供された属性情報を前記サービス装置に応答する属性応答手段、として機能させるためのプログラムであって、前記属性応答手段は、前記個人認証装置から提供された前記ユーザの属性情報を予め定められた期間保持し、その期間内に前記サービス装置から再度前記ユーザの属性情報が要求された場合、そのユーザの前記個人認証装置と通信してその属性情報を得ることができる場合は、その個人認証装置から得たその属性情報を前記サービス装置に提供し、前記ユーザの前記個人認証装置と通信してその属性情報を得ることができない場合は、保持している前記ユーザの属性情報を前記サービス装置に提供する、ことを特徴とするプログラムである。
請求項6に係る発明は、各ユーザの個人認証装置を特定する情報を記憶する記憶手段と、サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段と、前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段と、を含み、前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、ことを特徴とする認証システムである。
請求項7に係る発明は、認証システムと、各ユーザの個人認証装置と、を含み、前記認証システムは、各ユーザの個人認証装置を特定する情報を記憶する記憶手段と、サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段と、前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段と、を含み、前記個人認証装置は、前記認証システムから受信した前記認証情報が当該個人認証装置を持つユーザのものかどうかを認証し、認証結果を前記認証システムに返す認証手段、を含み、前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、ことを特徴とする認証連携システムである。
請求項1、又はに係る発明によれば、ユーザ群の認証情報を集中管理する方式と比べて、多数のユーザの認証情報が漏洩するリスクを低減することができる。更にユーザの個人認証装置から認証結果を得られない場合でも、過去に取得した認証成功を表す認証結果が認証成功保持手段にあれば、サービス装置に対して認証応答を行うことができる。更に過去に取得した認証成功を表す認証結果が認証成功保持手段にあれば必ずその認証結果に基づきサービス装置に認証応答を行う場合と比べて、ユーザの個人認証装置の認証条件が変更された場合の対応の遅れを少なくすることができる。
請求項に係る発明によれば、ユーザの個人認証装置から認証成功を表す認証結果を受けた後、その認証結果が適用される第2のサービス装置をユーザが利用しようとする場合に、個人認証装置にアクセスせずに認証を行うことができる。
請求項に係る発明によれば、ユーザの個人認証装置から認証結果を得ることができずかつそのユーザに対応する認証成功を表す認証結果がない場合に、単にサービス装置に認証失敗を応答する方式と比べて、ユーザがサービス装置を利用できる可能性を高めることができる。
請求項に係る発明によれば、ユーザ群の属性情報を集中管理する方式と比べて、多数のユーザの属性情報が漏洩するリスクを低減することができる。
請求項に係る発明によれば、ユーザの個人認証装置からそのユーザの属性情報を得られない場合でも、過去に取得したそのユーザの属性情報があれば、サービス装置に対して属性情報を提供できる。
実施形態のシステム構成の例を示す図である。 実施形態のシステムにおけるユーザ認証の流れの一例を示す図である。 実施形態のシステムにおいて、あるサービスについてモバイル機器で行われたユーザ認証の結果を他のサービスからの認証要求に対応する認証処理に利用する流れの一例を示す図である。 実施形態のシステムにおいて、ユーザ属性を利用するサービスが要求された場合の処理の流れの一例を示す図である。 IDプロバイダの機器認証要求部が実行する処理手順の一例を示す図である。
図1に、本実施形態のシステム構成の一例を示す。
このシステムは、サービスプロバイダ100、IDプロバイダ200、ユーザが持つモバイル機器300内の認証アプリ310を含む。
サービスプロバイダ100は、ユーザに対して何らかの情報処理サービスを提供するシステムである。ユーザは、ユーザ側装置350を操作して、インターネット等のネットワークを経由してサービスプロバイダ100にアクセスし、サービスの提供を要求する。ユーザ側装置350は、ネットワーク経由でサービスプロバイダ100と通信可能な装置であればどのような装置でもよく、パーソナルコンピュータ、スマートフォン、タブレット端末、複合機、キオスク端末等がその例である。サービスプロバイダ100は、サービスの提供のために提供先のユーザのID情報(ユーザを特定する識別情報。以下「ユーザID」と呼ぶ)を必要とするが、ユーザIDを特定するためのユーザ認証を自身では実行せずに、IDプロバイダ200にユーザ認証を依頼する。図にはサービスプロバイダ100を1つ示しているが、インターネット等のネットワーク上には、IDプロバイダ200の認証代行サービスを受けるサービスプロバイダ100が複数存在し得る。
IDプロバイダ200は、ネットワーク上に存在する様々なサービスプロバイダ100に対して、認証代行サービスを提供するシステムである。IDプロバイダ200は、例えば、OpenID Connect、OpenID、SAML(Security Assertion Markup Language)等の連合アイデンティティ(Federated Identity)又は認証連携の標準に従って、連携先のサービスプロバイダ100のためにユーザ認証処理を代行し、その結果得られるユーザIDを含む認証結果情報をそのサービスプロバイダ100に提供する。提供するユーザIDは、例えばユーザがIDプロバイダ200に登録したID情報であり、サービスプロバイダ100はそのユーザIDでユーザを識別する。
本実施形態のIDプロバイダ200は、ネットワーク上の複数のサービスプロバイダ100からユーザ認証の要求を受け付けるものの、ユーザ認証それ自体は実行しない。ユーザの認証を実際に実行するのは、そのユーザが持つモバイル機器300が実行する認証アプリ310である。このため、IDプロバイダ200は、ユーザを認証するのに必要な認証情報のうちユーザIDを知っていれば足り、認証情報のうちの残りの情報、すなわち認証対象のユーザがそのユーザIDに対応することを証明するパスワード等の情報は管理しない。IDプロバイダ200は、ユーザIDに対応付けて、パスワード等の証明用の情報の代わりに、当該ユーザの実際の認証のためのアクセス先(図示例ではモバイル機器300の認証アプリ310)を特定する情報を保持していればよい。IDプロバイダ200は、サービスプロバイダ100からの要求に応じてユーザの認証を行う場合、ユーザから入力された認証情報(例えばユーザIDとパスワードの組)を、そのアクセス先情報が示すモバイル機器300に送って認証を要求する。そして、その要求に対するモバイル機器300の認証アプリ310からの認証結果の応答に応じて、認証要求元のサービスプロバイダ100に対して認証結果の情報を提供する。
モバイル機器300は、ユーザが携帯する情報処理装置であり、スマートフォンやタブレット端末がその一例である。モバイル機器300が内蔵するコンピュータには、認証アプリ310がインストールされている。認証アプリ310は、当該モバイル機器300を持つユーザの認証に必要な情報を保持している。そして、この保持している情報を用いて、IDプロバイダ200からの認証要求についての認証を行い、認証結果をIDプロバイダ200に返す。なお、ユーザがサービスプロバイダ100からサービスを受けるのに用いるユーザ側装置350と、モバイル機器300とが同一の装置であることもあり得る。
システムの各要素について更に詳しく説明する。
サービスプロバイダ100は、ユーザ認証要求部110、サービストークン管理部120、ユーザ属性要求部130を有する。ユーザ認証要求部110は、ユーザ側装置350からユーザのサービスプロバイダ100へのログイン要求を受け取ると、連携しているIDプロバイダ200に対して認証要求を発する。サービストークン管理部120は、その認証要求に対してIDプロバイダ200からサービスアクセストークンを受け取った場合、そのトークンを管理する。サービスアクセストークンは、そのトークンの発行先のユーザが、そのサービスプロバイダ100のサービスの利用資格を有することを証する情報である。ユーザに対応する有効なサービスアクセストークンがサービストークン管理部120に管理されている場合、そのユーザはそのサービスプロバイダ100のサービスを利用できる。ユーザ属性要求部130は、サービスプロバイダ100がユーザに対してサービスを提供する際にそのユーザの属性情報(例えばユーザ名や所属部署等)が必要となった場合に、IDプロバイダ200に対して属性要求を発する。そして、その属性要求に対してIDプロバイダ200から属性情報の応答を受けると、受け取った属性情報をサービスプロバイダ100のそのサービスのための処理に対して渡す。
IDプロバイダ200は、機器認証要求部210、認証デバイス管理部220、ユーザトークン管理部230、及びユーザ属性取得部240を有する。
機器認証要求部210は、サービスプロバイダ100のユーザ認証要求部110からユーザについての認証の要求を受けた場合に、その認証を実際に行うユーザ側の装置、この例ではモバイル機器300の認証アプリ310、に対して認証要求を発する。このとき、機器認証要求部210は、その認証のためのアクセス先のデバイス(すなわちこの例ではモバイル機器300の認証アプリ310)を特定するアクセス先情報を認証デバイス管理部220から取得し、そのアクセス先情報を用いてそのモバイル機器300の認証アプリ310にアクセスし、認証要求を送る。その認証アプリ310でのユーザ認証が成功すると、認証アプリ310からモバイル機器アクセストークンが返される。
認証デバイス管理部220は、ユーザ情報DB(データベース)222を有する。ユーザ情報DB222には、図2に示すように、ユーザIDに対応付けて、そのユーザIDに対応するユーザを実際に認証する装置(モバイル機器300又はその中の特に認証アプリ310)についてのアクセス先情報が登録されている。アクセス先情報は、各モバイル機器300、又はこのモバイル機器300にインストールされた認証アプリ310、を一意に識別する識別情報である。例えば、アクセス先情報としては、GCM(Google Cloud Messaging)(Google、Google Cloud Messagingは商標)やAPNS(Apple Push Notification Service)等のプッシュ通知サービスからモバイル機器300又はこれにインストールされた認証アプリに付与された登録IDやデバイストークン、を用いてもよい。また別の例として、モバイル機器300の携帯電話番号と認証アプリ310のアプリ名との組み合わせをアクセス先情報として用いてもよい。ユーザ情報DB222には、各ユーザが、自分のモバイル機器300の認証アプリ310を示すアクセス情報を設定する。
ユーザトークン管理部230には、トークン情報232が保持される。トークン情報232には、図2に示すように、機器認証要求部210がモバイル機器300の認証アプリ310から受け取ったモバイル機器アクセストークンが含まれる。
ユーザ属性取得部240は、サービスプロバイダ100のユーザ属性要求部130から属性要求に応じて、モバイル機器300の認証アプリ310からその属性要求に係るユーザの属性情報を取得し、取得した属性情報をユーザ属性要求部130に提供する。
モバイル機器300内のコンピュータは、インストールされている認証アプリ310を実行することで、ユーザ認証部312及びユーザ属性管理部316として機能する。ユーザ認証部312は、IDプロバイダ200の機器認証要求部210からの要求に応じてユーザ認証を実行する。ユーザ認証部312は、認証情報・対応サービスリスト314を管理している。認証情報・対応サービスリスト314は、ユーザの認証情報と、対応サービスリストとを含む。このうちの認証情報は、そのモバイル機器300を持っているユーザの認証情報であり、例えばそのユーザのユーザIDとパスワードの組である。この認証情報は、そのユーザがIDプロバイダ200に登録しているものであるが、IDプロバイダ200はその認証情報そのものは管理せず、その管理はそのユーザ自身のデバイス(モバイル機器300)が担う。対応サービスリストは、その認証情報が対応しているサービスプロバイダ100のリストである。すなわち、ユーザ認証部312は、対応サービスリストに含まれるサービスプロバイダ100に対するユーザからの認証要求に対して、ユーザ認証を行う。
ユーザ属性管理部316は、モバイル機器300を持つユーザの属性情報(ユーザ属性318)を管理する。ユーザ属性318には、例えば氏名、電子メールアドレス、電話番号、所属部署、役職等の項目が含まれる。ユーザ属性管理部316は、IDプロバイダ200のユーザ属性取得部240から要求に応じて、管理しているユーザ属性318中の、その要求の対象である項目の情報を提供する。
次に、図2を参照して、モバイル機器300を持っているユーザが「サービスXYZ」という識別名のサービスプロバイダ100にログインする場合の、本システムの処理の流れを説明する。
(1)あるユーザAAAは、ユーザ側装置350からサービスXYZにアクセスし、ユーザID(「User-AAA」)とパスワード(PW)を含むログイン要求を送信する。この例では、ユーザAAAは、直近のしばらくの間、IDプロバイダ200での認証を受けておらず、IDプロバイダ200にはユーザAAAが認証済みであることを示す有効な情報(後述のモバイル機器アクセストークン)が保持されていないものとする。
(2)サービスXYZのユーザ認証要求部110は、ユーザAAAから受け取ったユーザIDとパスワードを含んだ認証要求を、IDプロバイダ200に送る。
なお、ユーザ認証要求部110は、ログインしていないユーザ(あるいは有効なサービスアクセストークンがサービストークン管理部120に保持されていないユーザ)からアクセスがあった際、そのアクセスを認証連携のプロトコルに従ってIDプロバイダ200にリダイレクトしてもよい。この場合、ユーザは、ユーザIDとパスワードを含む認証要求をIDプロバイダ200に直接入力することになり、サービスXYZにはパスワードが知られない。
(3)IDプロバイダ200の機器認証要求部210は、ユーザIDとパスワードを含む認証要求を受け取ると、そのユーザIDに対応するアクセス先情報をユーザ情報DB222から求める。そして、そのアクセス先情報が示すモバイル機器300の認証アプリ310に対して、そのユーザIDとパスワードを含む認証要求を送信する。なお、図示は省略したが、機器認証要求部210は、この認証要求の送信の前に、ユーザトークン管理部230内に、そのユーザIDに対応する有効なモバイル機器アクセストークン(後述)があるかを調べる。この例では、そのようなトークンがないので、認証アプリ310に認証要求を送信することになる。
(4)モバイル機器300の認証アプリ310のユーザ認証部312は、IDプロバイダ200から受け取った認証要求に対してユーザ認証を行う。すなわち、その認証要求に含まれる認証情報、すなわちユーザIDとパスワードの組が、自身が保持している認証情報に合致しているかどうかを判定する。合致していると判定した場合はユーザ認証が成功(OK)であり、合致していないと判定した場合は、認証が失敗(NG)である。
なお、このときユーザ認証部312は、モバイル機器300の出力装置(例えばディスプレイ)から、ユーザに対してサービスXYZ(又はユーザ登録済のサービス)から認証が求められていることを通知し、認証を許可するかどうかをユーザに問い合わせてもよい。この場合、認証を許可しない旨の指示がユーザからあった場合には、ユーザ認証部312は仮にユーザの提示した認証情報が保持している認証情報に合致する場合でも、認証結果を失敗(NG)とする。ユーザから認証を許可する旨の指示があった場合には、ユーザ認証部312は、ユーザの提示した認証情報が保持している認証情報に合致するか否かに応じた認証結果を求める。
ユーザ認証が成功した場合、ユーザ認証部312は、当該モバイル機器300についてのアクセストークン(図では「Token-Moble-AAA」と表記)を生成する。このアクセストークンをモバイル機器アクセストークンと呼ぶ。モバイル機器アクセストークンは、認証アプリ310がユーザを認証したことを証する情報である。IDプロバイダ200は、このモバイル機器アクセストークンを提示することで、認証アプリ310にアクセスすることができる(例えば、後述するユーザ属性取得の場合)。モバイル機器アクセストークンには有効期限の情報が含まれる。この有効期限は、例えば、そのトークンの生成の日時に対して、予め定められた時間を足した日時である。認証アプリ310は、IDプロバイダ200に提供したモバイル機器アクセストークンを(少なくともその有効期限までは)保管する。
またユーザ認証が成功した場合、ユーザ認証部312は、対応サービスリストから、そのユーザIDとパスワードの組に対応するサービスプロバイダ100の識別情報(サービスIDと呼ぶ)を読み出す。対応サービスリストにその組に対応するサービスIDが複数含まれていれば、それら複数のサービスIDを読み出す。図示例では、対応サービスリストには、サービスXYZ(サービスIDは「Service-XYZ」)とサービスLMN(同「Service-LMN」)が含まれているので、これら2つのサービスIDを読み出す。
そして、ユーザ認証部312は、読み出したサービスIDのリスト(「トークン発行許可サービス」)と、生成したモバイル機器アクセストークン「Token-Moble-AAA」と、を含んだ認証結果情報をIDプロバイダ200に返す。
ユーザ認証が失敗した場合は、ユーザ認証部312は、その旨(認証NG)を示す認証結果情報をIDプロバイダ200に返す。
(5)IDプロバイダ200の機器認証要求部210は、モバイル機器300の認証アプリ310から認証結果情報を受け取ると、その認証結果情報に応じた認証結果をサービスXYZのユーザ認証要求部110に返す。
すなわち、認証アプリ310からの認証結果が成功(OK)の場合(すなわちその認証結果にモバイル機器アクセストークンが含まれている場合)には、機器認証要求部210は、サービスアクセストークン(図では「Token-UserAAA」と表記)を生成する。サービスアクセストークンは、当該トークンの対象であるユーザが認証済みであることをIDプロバイダ200が保証していることを示す情報である。また、サービスアクセストークンには有効期限(例えばその生成の日時に所定時間を足した日時)の情報が含まれる。機器認証要求部210は、そのサービスアクセストークンを含む認証結果をユーザ認証要求部110に返す。
また、認証アプリ310からの認証結果が失敗(NG)の場合、ユーザ認証要求部110には、サービスアクセストークンは返さず、単に認証失敗の旨を示す情報を返す。
また機器認証要求部210は、認証アプリ310からの認証結果にモバイル機器アクセストークンが含まれていた場合、ユーザ認証要求部110に対する認証結果の送信と並行して、ユーザトークン管理部230に対して、その認証結果に含まれるモバイル機器アクセストークンやトークン発行許可サービス等の情報を登録する。図示例では、ユーザトークン管理部230には、「ユーザID」、「サービス」、「モバイル機器アクセストークン」、及び「トークン発行許可サービス」の各項目が含まれる。「ユーザID」は、今回受け取ったモバイル機器アクセストークンの対象であるユーザ(すなわち認証対象のユーザ)のユーザID(図示例では「User-AAA」)である。「サービス」は、今回の認証要求を送ってきたサービスプロバイダ100(図示例ではサービスXYZ)の識別情報(図示例では「Service-XYZ」)である。「モバイル機器アクセストークン」は、認証アプリ310から応答されたモバイル機器アクセストークンのデータ(図示例では「Token-Mobile-AAA」)である。そして、「トークン発行許可サービス」は、そのモバイル機器アクセストークンと共に認証アプリ310から応答されたトークン発行許可サービスのリスト(図示例では「Service-XYZ」と「Service-LMN」である。また、図示は省略したが、ユーザトークン管理部230に登録したモバイル機器アクセストークンには有効期限の情報が含まれている。その有効期限が過ぎると、IDプロバイダ200は、例えば、そのエントリをユーザトークン管理部230から削除する。また図示は省略したが、ユーザトークン管理部230内の、ユーザIDに対応するモバイル機器アクセストークンのエントリには、そのトークンをもとに発行したサービスアクセストークンも記録される。
(6)サービスXYZのユーザ認証要求部110は、IDプロバイダ200の機器認証要求部210からの認証結果が認証成功(OK)の場合は、その認証結果に含まれるサービスアクセストークンを、ログイン要求元のユーザのユーザIDと対応付けてサービストークン管理部120に登録する。このとき、そのサービスアクセストークンに対応付けて、そのサービスアクセストークンに設定された有効期限の情報も登録される。そして、ユーザ認証要求部110は、ログイン要求元のユーザAAA(ユーザ側装置350)のログインを許可する。以降サービスプロバイダ100は、ユーザからの要求を受け付けて、その要求に応じたサービスを実行する。
またこのとき、ユーザ認証要求部110は、サービスアクセストークン又はこれに対応付けた情報、を含んだクッキー等のデータをユーザ側装置350に提供してもよい。ユーザ側装置350は、その後のサービスXYZへのアクセスにはそのクッキー等のデータを提示することで、例えばサービスアクセストークンの有効期限が過ぎるまでは、再度のログイン処理等を行うことなく、サービスXYZの利用許可を得る。
また、ユーザ認証要求部110は、IDプロバイダ200の機器認証要求部210からの認証結果が認証失敗(NG)の場合は、ユーザAAAのログインを許可せず、ユーザ側装置350に対してログイン不可の旨の応答を返す。
図2は、認証が成功し、ユーザAAAがサービスXYZにログインした場合を示している。
なお、以上の例では、ユーザに対応する有効なサービスアクセストークンがサービスXYZにあれば、ただちにそのユーザの再度のログインを認めたが、これは一例に過ぎない。別の例として、ログインを要求するユーザに対応する有効なサービスアクセストークンがサービスXYZにある場合、サービスXYZからIDプロバイダ200にそのトークンの検証を求め、その検証の結果に応じてログインを許可するか否かを制御してもよい。すなわち、サービスXYZは、IDプロバイダ200からサービスアクセストークンの検証が成功した旨の応答を受けた場合にはそのユーザのログインを許可し、そうでない場合はログインを拒絶する。
このようにサービスアクセストークンの有効性の検証をサービスXYZで行うにせよIDプロバイダ200で行うにせよ、サービスアクセストークンが有効であればユーザのモバイル機器300(認証アプリ310)での認証を省略してもよい。このようにすれば、IDプロバイダ200等からモバイル機器300にアクセスできない場合でも、ログインを認めるか否かの判定が可能になる。
次に、図3を参照して、ユーザAAAのサービスLMNへのログイン処理の流れを示す。この流れは、図2に示したユーザAAAのサービスXYZへのログイン成功の後、IDプロバイダ200に保持されたモバイル機器アクセストークン「Token-Mobile-AAA」の有効期限が過ぎる前に、ユーザAAAがサービスLMNにログインを要求した場合のものである。
(1)ユーザAAAがサービスLMNにログイン要求を行う。この時点では、サービスLMNには、そのユーザAAAに対応する有効なサービスアクセストークンが保持されていないとする。
(2)サービスLMNのユーザ認証要求部110は、そのユーザAAAの認証をIDプロバイダ200に要求する。ユーザ認証要求部110が行う、ログイン要求の受け付け、及びIDプロバイダ200への認証要求の処理は、図2のステップ(1)及び(2)と同様である。
(3)IDプロバイダ200の機器認証要求部210は、その認証要求内のユーザIDに対応する有効なモバイル機器アクセストークンがユーザトークン管理部230内にあるかどうかを調べる。図示例では、そのユーザAAAに対応する有効なモバイル機器アクセストークン「Token-Mobile-AAA」が見つかる。機器認証要求部210は、ユーザトークン管理部230内の情報を参照して、見つけたモバイル機器アクセストークンに対応するトークン発行許可サービスに、認証要求の送信元であるサービスLMNが含まれているかを判定する。図示例では、「Token-Mobile-AAA」のトークン発行許可サービスの中にサービスLMN(「Service-LMN」)が含まれている。また、機器認証要求部210は、見つけたモバイル機器アクセストークンの有効期限が過ぎていないことを確認する。図示例では、モバイル機器アクセストークン「Token-Mobile-AAA」の有効期限は過ぎていないとする。この場合、機器認証要求部210は、認証アプリ310に認証要求を送ることなく、サービスLMN向けのサービスアクセストークン(「Token-UserAAA’」)を生成する。
なお、認証要求に含まれるユーザIDに対応する有効なモバイル機器アクセストークンがユーザトークン管理部230から見つからなかった場合は、機器認証要求部210は、その認証要求をモバイル機器300の認証アプリ310に転送し、認証を求める(上述の図2の例)。
(4)機器認証要求部210は、生成したサービスLMN向けのサービスアクセストークン「Token-UserAAA’」を含む認証結果をサービスLMNのユーザ認証要求部110に応答する。
(5)この応答を受けたユーザ認証要求部110は、その認証結果に含まれるサービスアクセストークン「Token-UserAAA’」をサービストークン管理部120に登録すると共に、ログイン要求元のユーザAAA(ユーザ側装置350)のログインを許可する。
図3の例では、IDプロバイダ200は、モバイル機器300から受け取ったモバイル機器アクセストークンが有効な間は、そのトークンに対応するトークン発行許可サービスからの認証要求に対し、そのトークンの権限でサービスアクセストークンを発行する。このため、モバイル機器アクセストークンが有効な間は、モバイル機器300の認証アプリ310に対する認証要求が省略される。この点は、図2に示したログインの後サービスXYZからログアウトしたユーザAAAが、モバイル機器アクセストークン「Token-Mobile-AAA」が有効な間に再度サービスXYZにログインする場合もの同様である。
以上の例では、モバイル機器アクセストークン「Token-Mobile-AAA」が有効な間は、IDプロバイダ200は、ユーザAAAの認証アプリ310にアクセスせずに、サービスプロバイダ100からの認証要求に応答した。別の例として、モバイル機器アクセストークン「Token-Mobile-AAA」が有効な間でも、ユーザAAAの認証アプリ310にアクセスできる場合は、IDプロバイダ200はその認証アプリ310にアクセスして認証要求を行ってもよい。これにより、ユーザAAAの認証アプリ310で設定変更が行われた場合でも、できるだけ最新の設定に沿った認証が行われることになる。例えば、ユーザAAAが認証アプリ310に対して、いずれかのサービスプロバイダ100を対応サービスリストから削除する場合があり、アクセス可能な限り認証アプリ310に認証を求めることで、そのような設定変更に迅速な対処がなされる。なお、このようにモバイル機器アクセストークンが有効な間に、そのトークンの発行元の認証アプリ310に再度認証を依頼してこれが成功した場合、新たなモバイル機器アクセストークンを含む認証結果がその発行元から提供される。この場合、IDプロバイダ200は、ユーザトークン管理部230内の元のモバイル機器アクセストークンを、新たに提供されたものに更新し、トークン発行許可サービスの情報も新たに提供されたものに更新する。
以上に説明した図2及び図3の処理では、サービスプロバイダ100へのログインを要求するユーザに、最初にユーザIDとパスワードの両方を入力させたが、この代わりにユーザが最初に入力する情報をユーザIDのみとしてもよい。この場合、機器認証要求部210は、入力されたユーザIDに対応し、且つそのサービスプロバイダ100を「トークン発行許可サービス」に含んだ、有効なモバイル機器アクセストークンがユーザトークン管理部230内にあるかどうかを判定する。もしあれば、機器認証要求部210は、ユーザにパスワードの入力を求めることなく、そのサービスプロバイダ100に対して、そのモバイル機器アクセストークンに基づくサービスアクセストークンを提供する。また、そのような条件に合致するモバイル機器アクセストークンがユーザトークン管理部230にない場合には、機器認証要求部210は、直接またはサービスプロバイダ100のユーザ認証要求部110経由で、ユーザにパスワードの入力を求め、そのパスワードとユーザIDをそのユーザのモバイル機器300に送って認証を求める。
次に、図2に示したユーザAAAのサービスXYZへのログイン成功の後、ユーザAAAがサービスXYZに対して、そのユーザの属性情報を必要とするサービスを要求した場合の処理の流れを、図4を参照して説明する。この例では、サービスXYZに保持されたユーザAAAのサービスアクセストークン「Token-UserAAA」の有効期限は過ぎていないものとする。
(1)ユーザAAAは、ログインしているサービスXYZに対してある処理の実行を要求する。この処理が、ユーザAAAのある属性(例えば電子メールアドレス)を必要とする処理であったとする。
(2)サービスXYZのユーザ属性要求部130は、ユーザAAAに対応する有効なサービスアクセストークン「Token-UserAAA」をサービストークン管理部120から取得し、このトークンを含んだユーザ属性要求をIDプロバイダ200に送信する。このユーザ属性要求には、要求する属性項目(例えば電子メールアドレス)を特定する要求項目情報を含めてもよい。また、このユーザ属性要求には、要求元であるサービスXYZのサービスID「Service-XYZ」を含めてもよい。
(3)ユーザ属性要求を受け取ったIDプロバイダ200のユーザ属性取得部240は、その要求に含まれるサービスアクセストークン「Token-UserAAA」の有効性を検証する。この検証は、認証連携分野での一般的なトークンの検証と同様でよい。例えば、改ざんがないこと、IDプロバイダ200自身が発行したものであること、発行した記録があること、有効期限が過ぎていないこと等を確認する。検証の結果、有効でないことが分かった場合、ユーザ属性取得部240は、サービスXYZに対して属性取得権限がない旨を示すエラー応答を返す。
検証の結果、ユーザ属性要求中のサービスアクセストークン「Token-UserAAA」が有効である場合、ユーザ属性取得部240は、そのトークン「Token-UserAAA」に対応するユーザの有効なモバイル機器アクセストークン「Token-Mobile-AAA」をユーザトークン管理部230から取得する。また、そのユーザのアクセス先情報をユーザ情報DB222から取得する。
そして、そのアクセス先情報を用いて、ユーザAAAのモバイル機器300の認証アプリ310に対して、そのモバイル機器アクセストークン「Token-Mobile-AAA」を含んだユーザ属性要求を送信する。この要求には、要求する属性項目を特定する要求項目情報や、その属性を要求しているサービスXYZのサービスID「Service-XYZ」を含めてもよい。
(4)認証アプリ310のユーザ属性管理部316は、IDプロバイダ200からユーザ属性要求を受け取ると、その中に含まれるモバイル機器アクセストークンの有効性を検証する。この検証は、認証連携分野での一般的なトークンの検証と同様でよい。
検証の結果、そのトークンが有効でないことが分かった場合、ユーザ属性管理部316は、IDプロバイダ200に対して、属性提供ができない旨を示す応答を返す。
検証の結果、そのトークンが有効であることが分かった場合、ユーザ属性管理部316は、管理しているユーザ属性318をIDプロバイダ200に送信する。1つの例では、ユーザ属性要求はユーザの全属性を要求するものであり、ユーザ属性管理部316は、その要求に対して、保持しているユーザ属性318の全部を送信する。別の例では、ユーザ属性要求には、サービスXYZが要求する属性項目を特定する要求項目情報が含まれている場合、ユーザ属性318のうちその要求項目情報が示す属性項目の値のみをIDプロバイダ200に送信する。また、ユーザが、ユーザ属性管理部316に対して、サービスプロバイダ100ごとに、そのサービスプロバイダ100に開示してよい属性項目を予め設定しておいてもよい。この場合、ユーザ属性管理部316は、IDプロバイダ200からのユーザ属性要求に対して、その要求の要求元のサービスプロバイダ100に開示してよい属性項目のすべて、またはそのうちユーザ属性要求が要求する項目のみ、IDプロバイダ200に送信する。
(5)IDプロバイダ200のユーザ属性取得部240は、認証アプリ310から送信されたユーザ属性を、要求元のサービスXYZに応答する。
(6)サービスXYZのユーザ属性要求部130は、IDプロバイダ200から受け取ったユーザ属性の情報を用いて、ユーザAAAが要求した処理を実行する。
なお、IDプロバイダ200のユーザ属性取得部240は、認証アプリ310から取得したユーザ属性318の情報を予め定めた期間だけ保存(キャッシュ)してもよい。この場合、ユーザ属性取得部240は、その期間にサービスXYZからのユーザ属性要求を受けた場合、認証アプリ310に要求を行わず、保存している情報を用いてその要求に応答してもよい。また、サービスXYZからのユーザ属性要求に対して、ユーザ属性取得部240が保存(キャッシュ)しているユーザ属性を用いて応答するのを、当該ユーザのモバイル機器300からユーザ属性が取得できない場合(例えば通信ができない場合)に限定してもよい。モバイル機器300からユーザ属性が取得できる場合は、モバイル機器300から最新のユーザ属性を取得し、取得したユーザ属性をサービスXYZに提供する。
このシステムでは、ユーザの属性情報は、そのユーザのモバイル機器300で一括管理する。IDプロバイダ200は、そのユーザの属性情報を一時的にキャッシュすることはあるかも知れないが、属性情報のオリジナルはあくまでモバイル機器300内のものである。したがって、ユーザが利用するIDプロバイダ200が複数あるような状況でも、そのユーザは、自分の属性情報を自分のモバイル機器300に登録し、正しく保守しておけば足りる。様々なサービスがそれらいずれのIDプロバイダ200にユーザの属性を要求したとしても、それらIDプロバイダ200はそのユーザのモバイル機器300からその属性を取得してそのサービスに提供するからである。個々のIDプロバイダ200にユーザの属性情報を登録する方式では、ユーザ属性に変更が生じた場合、ユーザはそれらすべてのIDプロバイダ200に登録した自分の属性情報に必要な変更を行う必要がある。これに対し、このシステムでは、ユーザはモバイル機器300内に登録したユーザ属性情報を変更するだけでよい。
以上では、ユーザの認証を実際に担当する認証装置がモバイル機器300であるとしたが、これは一例に過ぎない。その認証装置は、例えば携帯型ではないユーザのパーソナルコンピュータであってもよい。
次に、図5を参照して、IDプロバイダ200の機器認証要求部210の処理手順の一例を説明する。この手順は、図2及び図3を用いて例示した処理の流れの1つのバリエーションである。
機器認証要求部210は、サービスプロバイダ100からユーザ認証の要求を受け、認証対象のユーザが入力したユーザID及びパスワードを取得する(S10)。次に機器認証要求部210は、取得したユーザIDに対応するアクセス先情報をユーザ情報DB222から求め、そのアクセス先情報を用いて、そのユーザのモバイル機器300の認証アプリ310にアクセスを試みる(S12)。このアクセスが成功した場合(S14の判定結果がYes)、アクセス先の認証アプリ310にユーザID及びパスワードを渡して認証を要求し(S16)、この要求に対する認証結果情報を認証アプリ310から取得する(S18)。そして、その認証結果情報の内容(OK/NG)に応じた認証結果をサービスプロバイダ100に返す(S20)と共に、認証結果情報にモバイル機器アクセストークン等の情報が含まれる場合、その情報をユーザトークン管理部230に登録する。
S12でアクセス先の認証アプリ310にアクセスできなかった場合(S14の判定結果がNo)、機器認証要求部210は、そのユーザIDに対応する有効期限が過ぎていないモバイル機器アクセストークンがユーザトークン管理部230内にあるかどうかを調べる(S22)。もしあれば(S22の判定結果がYes)、機器認証要求部210は、そのモバイル機器アクセストークンの「トークン発行許可サービス」(例えば図2参照)にそのサービスプロバイダ100が含まれているかどうかを調べる。そして、含まれていれば認証成功とし、サービスアクセストークンを含む認証成功(OK)の認証結果をそのサービスプロバイダ100に返す(S24)。また、「トークン発行許可サービス」にそのサービスプロバイダ100が含まれていない場合は、認証失敗(NG)を示す認証結果をそのサービスプロバイダ100に返す(S24)。
S22で、認証対象のユーザIDに対応するモバイル機器アクセストークンがユーザトークン管理部230にない場合、機器認証要求部210は、ユーザが登録した認証用デバイス(モバイル機器300)にアクセスできないためユーザ認証ができないこと、そのデバイスの状態を確認の上再度ログインを行うこと、等を表すメッセージ(例えばそのメッセージを含むウェブページ)をユーザ(図2等のユーザ側装置350)に通知する。この通知は、サービスプロバイダ100経由で行ってもよいし(ユーザID、パスワードをサービスプロバイダ100から取得した場合)、IDプロバイダ200から直接行ってもよい(サービスプロバイダ100からのリダイレクトによりIDプロバイダ200が直接ユーザからユーザID、パスワードの入力を受けた場合)。ユーザのモバイル機器300の電源がオフされている等の理由で認証ができなかった場合、このメッセージに応じてユーザがモバイル機器300を起動した上で、ユーザ側装置350からサービスプロバイダ100に再度ログインを要求すれば、今度はそのモバイル機器300で認証がなされることとなる。
以上、図5を参照してIDプロバイダ200の機器認証要求部210の処理手順を例示したが、IDプロバイダ200のユーザ属性取得部240も、同様の枠組みで処理を行えばよい。すなわち、サービスプロバイダ100からユーザの属性情報を要求された場合、ユーザ属性取得部240は、そのユーザのモバイル機器300にアクセスできるならば、仮に過去に取得したそのユーザの属性情報が持っていたとしても、モバイル機器300から最新の属性情報を取得してサービスプロバイダ100に提供する。そして、モバイル機器300にアクセスできない場合には、過去に取得したそのユーザの属性情報が持っていれば、その属性情報を用いてサービスプロバイダ100に応答する。
以上説明したように、本実施形態では、IDプロバイダ200は、ネットワーク上の多くのサービスプロバイダ100に対して、ユーザ認証の要求やユーザ属性の取得要求を受け付ける窓口として機能する。実際のユーザ認証やユーザ属性の提供は、IDプロバイダ200に登録された個々のユーザの認証アプリ310が行う。このため、仮にIDプロバイダ200がハッキングされたとしても、漏洩するのは各ユーザのアクセス先情報だけであり、多くのユーザのユーザID、パスワード、ユーザ属性等がまとめて漏洩することはない。また、ユーザが、自分のモバイル機器300の認証アプリ310に登録したパスワードやユーザ属性を変更すれば、その変更が連携するすべてのサービスプロバイダ100に適用されることとなる。
以上、本発明の実施形態を説明した。以上に例示したIDプロバイダ200は、コンピュータにIDプロバイダ200の上述の機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)や等の固定記憶装置を制御するコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
100 サービスプロバイダ、110 ユーザ認証要求部、120 サービストークン管理部、130 ユーザ属性要求部、200 IDプロバイダ、210 機器認証要求部、220 認証デバイス管理部、230 ユーザトークン管理部、232 トークン情報、240 ユーザ属性取得部、300 モバイル機器、310 認証アプリ、312 ユーザ認証部、314 認証情報・対応サービスリスト、316 ユーザ属性管理部、318 ユーザ属性、350 ユーザ側装置。

Claims (7)

  1. コンピュータを、
    各ユーザの個人認証装置を特定する情報を記憶する記憶手段、
    サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段、
    前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段、
    として機能させるためのプログラムであって、
    前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、
    ことを特徴とするプログラム。
  2. 前記認証成功保持手段は、前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果と共にその認証結果を適用するサービス装置のリストを受け取った場合に、その認証成功を表す認証結果とそのリストとをそのユーザに対応付けて保持し、
    前記提供手段は、前記ユーザから第2のサービス装置の利用が要求された場合において、前記ユーザに対応する認証成功を表す認証結果が前記認証成功保持手段にあり、かつ前記ユーザに対応して前記認証成功保持手段に保持された前記リストに前記第2のサービス装置が含まれる場合、前記第2のサービス装置に認証成功を表す認証応答を提供する、
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段にそのユーザに対応する認証成功を表す認証結果がない場合に、前記個人認証装置の確認を促す通知が前記ユーザに対して伝達されるようにする処理を実行する、
    ことを特徴とする請求項1に記載のプログラム。
  4. 前記コンピュータを、
    前記サービス装置から前記ユーザの属性情報を要求された場合に、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置にその属性情報を要求し、その要求に応じて前記個人認証装置から提供された属性情報を前記サービス装置に応答する属性応答手段、
    として更に機能させるための請求項1〜3のいずれか1項に記載のプログラム。
  5. コンピュータを、
    各ユーザの個人認証装置を特定する情報を記憶する記憶手段、
    サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段、
    前記サービス装置から前記ユーザの属性情報を要求された場合に、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置にその属性情報を要求し、その要求に応じて前記個人認証装置から提供された属性情報を前記サービス装置に応答する属性応答手段、
    として機能させるためのプログラムであって、
    前記属性応答手段は、前記個人認証装置から提供された前記ユーザの属性情報を予め定められた期間保持し、その期間内に前記サービス装置から再度前記ユーザの属性情報が要求された場合、そのユーザの前記個人認証装置と通信してその属性情報を得ることができる場合は、その個人認証装置から得たその属性情報を前記サービス装置に提供し、前記ユーザの前記個人認証装置と通信してその属性情報を得ることができない場合は、保持している前記ユーザの属性情報を前記サービス装置に提供する、
    ことを特徴とするプログラム。
  6. 各ユーザの個人認証装置を特定する情報を記憶する記憶手段と、
    サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段と、
    前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段と、
    を含み、
    前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、

    ことを特徴とする認証システム。
  7. 認証システムと、各ユーザの個人認証装置と、を含み、
    前記認証システムは、
    各ユーザの個人認証装置を特定する情報を記憶する記憶手段と、
    サービス装置の利用を要求するユーザから入力された認証情報を含む認証要求を、前記記憶手段に記憶されている情報を用いてそのユーザの前記個人認証装置に送信し、この送信に応じて前記個人認証装置から返される認証結果に応じた認証応答を前記サービス装置に提供する提供手段と、
    前記ユーザから入力された前記認証情報に対して前記個人認証装置から認証成功を表す前記認証結果を受け取った場合に、その認証成功を表す認証結果をそのユーザに対応付けて保持する認証成功保持手段と、
    を含み、
    前記個人認証装置は、
    前記認証システムから受信した前記認証情報が当該個人認証装置を持つユーザのものかどうかを認証し、認証結果を前記認証システムに返す認証手段、
    を含み、
    前記提供手段は、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができる場合は、その個人認証装置から前記認証結果を得て、その認証結果に応じた前記認証応答を前記サービス装置に提供し、前記サービス装置の利用を要求するユーザの前記個人認証装置と通信して前記認証結果を得ることができず、かつ前記認証成功保持手段に前記サービス装置の利用を要求したユーザに対応する認証成功を表す認証結果がある場合、そのユーザの前記個人認証装置に対して前記認証要求を送信せずに、前記サービス装置に認証成功を表す認証応答を提供する、
    ことを特徴とする認証連携システム。
JP2016172101A 2016-09-02 2016-09-02 プログラム、認証システム及び認証連携システム Active JP6848275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016172101A JP6848275B2 (ja) 2016-09-02 2016-09-02 プログラム、認証システム及び認証連携システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016172101A JP6848275B2 (ja) 2016-09-02 2016-09-02 プログラム、認証システム及び認証連携システム

Publications (2)

Publication Number Publication Date
JP2018037025A JP2018037025A (ja) 2018-03-08
JP6848275B2 true JP6848275B2 (ja) 2021-03-24

Family

ID=61565851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016172101A Active JP6848275B2 (ja) 2016-09-02 2016-09-02 プログラム、認証システム及び認証連携システム

Country Status (1)

Country Link
JP (1) JP6848275B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7199949B2 (ja) * 2018-12-12 2023-01-06 キヤノン株式会社 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム
JP7468284B2 (ja) 2020-10-05 2024-04-16 富士通株式会社 情報処理装置、配信制御プログラム、及び、情報処理システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04353972A (ja) * 1991-05-31 1992-12-08 Nec Corp 利用者認証方式
JP2002149600A (ja) * 2000-11-08 2002-05-24 Sony Corp 情報処理装置および方法、記録媒体、並びにサービス提供システム
JP2007128310A (ja) * 2005-11-04 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> サービス提供サーバおよびサービス提供システム
JP2009123120A (ja) * 2007-11-16 2009-06-04 Ntt Docomo Inc 本人確認システム及び本人確認方法
JP2009211632A (ja) * 2008-03-06 2009-09-17 Toshiba Corp サービスシステム
JP2014215620A (ja) * 2013-04-22 2014-11-17 株式会社日立システムズ 認証システムおよび認証方法

Also Published As

Publication number Publication date
JP2018037025A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
US10771459B2 (en) Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
JP6170158B2 (ja) モバイルマルチシングルサインオン認証
US20130019295A1 (en) Method and system for open authentication
CN112597472B (zh) 单点登录方法、装置及存储介质
US8955082B2 (en) Authenticating using cloud authentication
US9432353B2 (en) Serialized authentication and authorization services
US20130212653A1 (en) Systems and methods for password-free authentication
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
JP2015535984A5 (ja)
US9742784B2 (en) Account registration and login method, and network attached storage system using the same
JP5383838B2 (ja) 認証連携システム、idプロバイダ装置およびプログラム
US20110289567A1 (en) Service access control
JP5565408B2 (ja) Id認証システム、id認証方法、認証サーバ、端末装置、認証サーバの認証方法、端末装置の通信方法、及びプログラム
KR20110055542A (ko) 유저 인증을 관리하기 위한 장치
US10277579B2 (en) Information processing system that provides a resource to an application of a terminal through a network
WO2018118029A1 (en) Authenticate a first device based on a push message to a second device
JP7099198B2 (ja) 管理装置、管理システム及びプログラム
US9027107B2 (en) Information processing system, control method thereof, and storage medium thereof
JP6848275B2 (ja) プログラム、認証システム及び認証連携システム
US10986081B1 (en) Cross-organization registration for single sign-on
US10735399B2 (en) System, service providing apparatus, control method for system, and storage medium
TW201438451A (zh) 以代理伺服整合後端服務認證之方法與系統
Baker OAuth2
TW201824887A (zh) 以認證伺服器在伺服群組中實現免登入之系統及其方法
JP2015184752A (ja) 中継装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6848275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350