(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-16
(45)【発行日】2022-02-25
(54)【発明の名称】代理認証システム、代理認証方法、プログラム
(51)【国際特許分類】
G06F 21/41 20130101AFI20220217BHJP
G06F 21/32 20130101ALI20220217BHJP
H04L 67/00 20220101ALI20220217BHJP
【FI】
G06F21/41
G06F21/32
H04L67/00
(21)【出願番号】P 2017160631
(22)【出願日】2017-08-23
【審査請求日】2020-07-21
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100121599
【氏名又は名称】長石 富夫
(72)【発明者】
【氏名】野島 伸広
(72)【発明者】
【氏名】前島 利行
(72)【発明者】
【氏名】金井 一晃
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2005-011098(JP,A)
【文献】米国特許出願公開第2016/0366119(US,A1)
【文献】国際公開第2017/019652(WO,A1)
【文献】FIDO UAF Application API and Transport Binding Specification,FIDO Alliance,2017年02月02日,https://fidoalliance.org/specs/fido-uaf-v1.1-ps-20170202/fido-uaf-client-api-transport-v1.1-ps-20170202.html
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/41
G06F 21/32
H04L 29/00
(57)【特許請求の範囲】
【請求項1】
Webブラウザと認証アプリケーションがインストールされたクライアント端末と、
中継サーバと、
を備え、
前記中継サーバは、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得し、
前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記認証アプリケーションを起動するためのURLスキームを
前記判別の結果に基づいて選択して前記クライアント端末に送信し、
前記URLスキームを受信した前記クライアント端末は、前記認証アプリケーションを起動し、該起動された認証アプリケーションは、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知し、
前記通知を受けた前記中継サーバは、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインする
ことを特徴とする代理認証システム。
【請求項2】
前記所定の認証装置は、前記クライアント端末に接続された、前記クライアント端末とは別の認証装置である
ことを特徴とする請求項1に記載の代理認証システム。
【請求項3】
前記中継サーバは、クライアント端末とこのクライアント端末に許可する外部Webサービスとを紐付けた情報を記憶しておき、前記アクセスする通信の通信先の外部Webサービスが前記アクセスする通信の送信元のクライアント端末に紐付けられていることを条件に、前記クライアント端末の代理で前記外部Webサービスにログインする
ことを特徴とする請求項1
または2に記載の代理認証システム。
【請求項4】
Webブラウザと認証アプリケーションがインストールされたクライアント端末と、
中継サーバと、
を備え、
前記中継サーバは、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得し、前記認証アプリケーションを起動するためのURLスキームを前記クライアント端末に送信し、
前記URLスキームを受信した前記クライアント端末は、前記認証アプリケーションを起動し、該起動された認証アプリケーションは、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知し、
前記通知を受けた前記中継サーバは、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインし、
前記中継サーバは、一のユーザが第1のクライアント端末を使用する場合と第2のクライアント端末を使用する場合で、前記代理でのログインを許可する外部Webサービスを切り替える
ことを特徴とする代理認証システム。
【請求項5】
前記所定の認証装置は、生体認証装置である
ことを特徴とする請求項1乃至4のいずれか1つに記載の代理認証システム。
【請求項6】
Webブラウザと認証アプリケーションがインストールされたクライアント端末の代理で中継サーバが外部Webサービスにログインする代理認証方法であって、
前記中継サーバが、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得するステップと、
前記取得した前記中継サーバが、
前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記クライアント端末にインストールされている認証アプリケーションを起動するためのURLスキームを
前記判別の結果に基づいて選択して前記クライアント端末に送信するステップと、
前記URLスキームを受信した前記クライアント端末が、前記認証アプリケーションを起動するステップと、
前記起動された認証アプリケーションが、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知するステップと、
前記通知を受けた前記中継サーバが、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインするステップと
を有する
ことを特徴とする代理認証方法。
【請求項7】
クライアント端末の代理で外部Webサービスにログインする中継サーバで実行されるプログラムであって、
前記中継サーバが、
前記クライアント端末のWebブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得するステップと、
前記通信を取得した場合に、
前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記クライアント端末にインストールされている認証アプリケーションを起動するためのURLスキームを
前記判別の結果に基づいて選択して前記クライアント端末に送信するステップと、
前記URLスキームによって起動された認証アプリケーションが所定の認証装置を用いてユーザ認証に成功した旨の通知を前記クライアント端末から受信するステップと、
前記通知を受信した場合に、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインするステップと
を有する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント端末の代理で中継サーバが外部Webサービスにログインする代理認証システム、代理認証方法、プログラムに関する。
【背景技術】
【0002】
中継サーバを用いたSSO(Single Sign-On)システムが知られている(下記特許文献1,2参照)。これは、ユーザ端末がWebサービスへアクセスするときに中継サーバを経由するように構成されたシステムであり、ユーザ端末からWebサービスへのリクエストを中継サーバが横取りし、中継サーバが代理でWebサービスへの認証を行ってログインするというものである。なお、中継サーバはプロキシサーバやリバースプロキシサーバとよばれるものであり、この二つはサービス利用者側が設置するか、サービス提供者側が設置するかの違いがあるものの、いずれもクライアント端末と外部Webサービスとの間で通信を中継し、セキュリティの確保やネットワーク帯域の有効活用、レスポンスの向上などの役割を果たす。
【0003】
図13は、従来のSSOシステムの構成例を示し、
図14は、
図13のSSOシステムで外部Webサービスにログインする際のシーケンスを示している。
【0004】
中継サービスを構成するデータベース(DB)には、複数の外部Webサービスのそれぞれについて、そのWebサービスにログインする際に使用するユーザ名とパスワードの組が登録されている。
【0005】
ユーザが自己のモバイル端末のWebブラウザを使用して外部Webサービスへのアクセスを要求すると(S1)、中継サーバであるリバースプロキシサーバがこの通信を横取りし、モバイル端末のWebブラウザにログインページを送信して表示させる(S2)。ユーザはこのログインページにユーザ名とパスワードを入力してリバースプロキシサーバにログインする(S3)。
【0006】
リバースプロキシサーバへのログインに成功すると、リバースプロキシサーバは、認証サーバに問い合わせて(S4)、S1でモバイル端末のWebブラウザがアクセスしようとした外部Webサービスにこのモバイル端末のユーザがログインするためのユーザ名とパスワードの組を取得する(S5)。そして、このユーザ名とパスワードを使用して、S1でモバイル端末のWebブラウザがアクセスしようとした外部Webサービスに代理でログインする(S6)。
【0007】
ログインに成功すると(S7)、リバースプロキシサーバはログインの成功をモバイル端末のWebブラウザに通知する(S8)。以後、モバイル端末のWebブラウザは外部Webサービスにアクセス可能になる。
【0008】
以上のように、SSOシステムでは、ユーザは中継サーバにログインするための一組のユーザ名とパスワードを記憶しておけば、外部Webサービス毎に個別のユーザ名とパスワードを覚えなくても、複数の外部Webサービスのどれにでもログインすることができる。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2008-9607号公報
【文献】特開2012-164219号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記のような従来のSSOシステムでは、ユーザは中継サーバにログインするためのユーザ名とパスワードを記憶する必要があり、一定の負担をユーザにかけていた。また、中継サーバを利用するための情報(中継サーバにログインするために必要な情報)が漏えいすると、第三者がすべての外部Webサービスを不正に利用可能になってしまう。
【0011】
一方で、パスワードに代わる認証方法として、生体情報を利用する方法が知られている。これは、指紋や静脈等、個人の身体的特徴を認証情報とするため、ユーザはユーザ名とパスワードを記憶する必要がない。中継サーバへのログインにこのような生体認証を利用できれば良いが、モバイル端末にインストールされたWebブラウザから該モバイル端末が備える、あるいは該モバイル端末に接続された、生体認証装置を利用してユーザ認証する、といったことはできなかった。
【0012】
本発明は、上記の問題を解決しようとするものであり、クライアント端末にインストールされている一般的なWebブラウザを使用していても、生体認証等の認証装置を利用して中継サーバにログイン可能な代理認証システム、代理認証方法およびそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【0013】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【0014】
[1]Webブラウザと認証アプリケーションがインストールされたクライアント端末と、
中継サーバと、
を備え、
前記中継サーバは、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得し、前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記認証アプリケーションを起動するためのURLスキームを前記判別の結果に基づいて選択して前記クライアント端末に送信し、
前記URLスキームを受信した前記クライアント端末は、前記認証アプリケーションを起動し、該起動された認証アプリケーションは、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知し、
前記通知を受けた前記中継サーバは、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインする
ことを特徴とする代理認証システム。
【0015】
上記発明では、外部Webサービスへのアクセスを取得(横取り)した中継サーバがURLスキームをクライアント端末に送信して端末の認証アプリケーションを起動するので、Webブラウザからは直接利用できない生体認証装置などの認証装置を用いてユーザ認証することができる。認証装置はクライアント端末が内蔵するものであってもよいし、クライアント端末に接続された外部のものであってもよい。また上記発明では、端末のOSの種類等に応じた適切なURLスキームを端末に送信することができる。
【0016】
[2]前記所定の認証装置は、前記クライアント端末に接続された、前記クライアント端末とは別の認証装置である
ことを特徴とする[1]に記載の代理認証システム。
【0019】
[3]前記中継サーバは、クライアント端末とこのクライアント端末に許可する外部Webサービスとを紐付けた情報を記憶しておき、前記アクセスする通信の通信先の外部Webサービスが前記アクセスする通信の送信元のクライアント端末に紐付けられていることを条件に、前記クライアント端末の代理で前記外部Webサービスにログインする
ことを特徴とする[1]または[2]に記載の代理認証システム。
【0020】
上記発明では、端末毎に、代理認証を許可する外部Webサービスを切り替えることができる。
[4]Webブラウザと認証アプリケーションがインストールされたクライアント端末と、
中継サーバと、
を備え、
前記中継サーバは、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得し、前記認証アプリケーションを起動するためのURLスキームを前記クライアント端末に送信し、
前記URLスキームを受信した前記クライアント端末は、前記認証アプリケーションを起動し、該起動された認証アプリケーションは、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知し、
前記通知を受けた前記中継サーバは、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインし、
前記中継サーバは、一のユーザが第1のクライアント端末を使用する場合と第2のクライアント端末を使用する場合で、前記代理でのログインを許可する外部Webサービスを切り替える
ことを特徴とする代理認証システム。
【0021】
[5]前記所定の認証装置は、生体認証装置である
ことを特徴とする[1]乃至[4]のいずれか1つに記載の代理認証システム。
【0022】
[6]Webブラウザと認証アプリケーションがインストールされたクライアント端末の代理で中継サーバが外部Webサービスにログインする代理認証方法であって、
前記中継サーバが、前記クライアント端末の前記Webブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得するステップと、
前記取得した前記中継サーバが、前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記クライアント端末にインストールされている認証アプリケーションを起動するためのURLスキームを前記判別の結果に基づいて選択して前記クライアント端末に送信するステップと、
前記URLスキームを受信した前記クライアント端末が、前記認証アプリケーションを起動するステップと、
前記起動された認証アプリケーションが、所定の認証装置を用いてユーザ認証を行い、ユーザ認証に成功した場合に認証の成功を前記中継サーバに通知するステップと、
前記通知を受けた前記中継サーバが、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインするステップと
を有する
ことを特徴とする代理認証方法。
【0023】
[7]クライアント端末の代理で外部Webサービスにログインする中継サーバで実行されるプログラムであって、
前記中継サーバが、
前記クライアント端末のWebブラウザが外部Webサービスへアクセスする通信を前記外部Webサービスに代わって取得するステップと、
前記通信を取得した場合に、前記アクセスする通信に付加されている所定の情報に基づいて前記クライアント端末のタイプを判別し、前記クライアント端末にインストールされている認証アプリケーションを起動するためのURLスキームを前記判別の結果に基づいて選択して前記クライアント端末に送信するステップと、
前記URLスキームによって起動された認証アプリケーションが所定の認証装置を用いてユーザ認証に成功した旨の通知を前記クライアント端末から受信するステップと、
前記通知を受信した場合に、前記クライアント端末が前記外部Webサービスにログインするために必要なログイン情報を含むログイン要求を前記外部Webサービスに送信して前記クライアント端末の代理で前記外部Webサービスにログインするステップと
を有する
ことを特徴とするプログラム。
【発明の効果】
【0025】
本発明に係る代理認証システム、代理認証方法およびそのプログラムによれば、クライアント端末にインストールされている一般的なWebブラウザを使用していても、生体認証等の認証装置を利用して中継サーバにログインすることができるので、ユーザはユーザ名とパスワードを記憶する煩わしさから開放される。
【図面の簡単な説明】
【0026】
【
図1】本発明の実施の形態に係る代理認証システムの構成等を示す図である。
【
図2】認証アプリケーションが持つデータ(端末登録データ)を示す図である。
【
図3】認証サーバが保持する登録端末リストの一例を示す図である。
【
図4】認証サーバのデータベースが保持するログイン情報登録リストの一例を示す図である。
【
図5】リバースプロキシサーバが、一時的に保持する一時登録データの一例を示す図である。
【
図6】外部Webサービスが保持する認証情報登録リストの一例を示す図である。
【
図7】代理認証システムにおいて、モバイル端末が外部Webサービスにログインして該サービスを利用可能となるまでの流れを示すシーケンス図である。
【
図8】リバースプロキシサーバが保持する端末スキーム対応表の一例を示す図である。
【
図9】一人のユーザがモバイル端末(1)とモバイル端末(2)を所有する場合の代理認証システムの構成例を示す図である。
【
図10】認証サーバに登録されたサービス別登録端末リストの一例を示す図である。
【
図12】モバイル端末の認証アプリが行う処理を示す流れ図である。
【
図13】従来のSSOシステムの構成例を示す図である。
【
図14】従来のSSOシステムで端末から外部Webサービスを利用する際の流れを示すシーケンス図である。
【発明を実施するための形態】
【0027】
以下、図面に基づき本発明の実施の形態を説明する。
【0028】
図1は、本発明の実施の形態に係る代理認証システム2の構成を示している。ここでは、クライアント端末を、ユーザが携帯可能なスマートフォンなどの情報処理装置であるモバイル端末とする。代理認証システム2は、ユーザが利用するモバイル端末10と、中継装置(中継サーバ)20を備える。モバイル端末10はLAN(Local Area Network)を介して中継装置20に接続され、中継装置20は外部の広域ネットワーク(WAN)に接続されている。広域ネットワークには、各種の外部Webサービス31を提供するサーバが設けられている。
【0029】
代理認証システム2は、モバイル端末10のWebブラウザ11から外部Webサービス31へアクセスする際の該外部Webサービス31へのログイン認証を、モバイル端末10に代わって中継装置20が代理で行う機能(代理認証機能)を果たす。
【0030】
モバイル端末10は、CPU(Central Processing Unit)にROM(Read Only Memory)、RAM(Random Access Memory)、表示部、操作入力部、通信部、記憶部などを接続して構成される。記憶部に記憶されたプログラムを実行することでモバイル端末10の機能が実現される。モバイル端末10には、Webブラウザ11のプログラム、認証アプリケーション12のプログラムなどがインストールされており、CPUで実行される。以後、認証アプリケーション12を認証アプリ12と略記する。
【0031】
モバイル端末10は、生体認証装置13を具備する、もしくは、外部の生体認証装置13が接続されている。生体認証装置13は、指紋認証、静脈認証など人体の特徴によって個人を特定する認証装置であれば任意でよい。
【0032】
中継装置20は、リバースプロキシサーバ21、認証サーバ22、データベース23を備えている。データベース23をDB23と略記する。リバースプロキシサーバ21、認証サーバ22はいずれもCPU、ROM、RAM、通信部、記憶部を主要部として構成された情報処理装置であり、記憶部に格納されたプログラムをCPUが実行する。
【0033】
モバイル端末10の接続されたLANからWAN向けの通信はすべて中継装置20のリバースプロキシサーバ21を経由して行われている。リバースプロキシサーバ21は、通信内容に応じて接続先を変更したり、通信内容を書き換えたりする機能を果たす。
【0034】
図2は、認証アプリケーション12が持つデータを示している。認証アプリケーション12は、当該認証アプリ12がインストールされたモバイル端末10のユーザの当該代理認証システム2におけるユーザ名と、代理認証システム2において該モバイル端末10に一意に割り当てられた識別子である端末IDと、中継装置20にログインするためのユーザ認証に使用する認証装置を指定する認証装置情報を端末登録データ40として記憶する。
【0035】
図3は、認証サーバ22が保持する登録端末リスト41の一例を示している。登録端末リスト41には、代理認証を許可するモバイル端末10の端末IDが登録される。ここでは、端末IDは以下の手順で発行される。
(1)ユーザがモバイル端末10内の認証アプリ12を利用して認証サーバ22に端末IDの発行を要求する。
(2)認証サーバ22は、固有の端末IDを割り当て、これを要求元のモバイル端末10に通知すると共に、登録端末リスト41に登録する。
(3)モバイル端末10の認証アプリ12は通知された端末IDを
図2のように登録する。
【0036】
図4は、認証サーバ22のデータベース23が保持するログイン情報登録リスト43の一例を示している。ログイン情報登録リスト43には、外部Webサービス31毎に、代理認証システム2でのユーザ名と、対象の外部Webサービスでのユーザ名とパスワードが対応付けて登録される。この例では、たとえば、代理認証システム2でのユーザ名がUser1のユーザの外部Webサービス(A)ではユーザ名はUserA1であり、パスワードはaaaとなっている。また、代理認証システム2でのユーザ名がUser1のユーザの外部Webサービス(B)でのユーザ名はUserB1であり、パスワードはababとなっている。
【0037】
図5は、リバースプロキシサーバ21が、一時的に登録する一時登録データ45の一例である。リバースプロキシサーバ21は、モバイル端末10のWebブラウザ11が外部Webサービス31へアクセスしようとする通信を検出したとき、一時登録データ45を作成する。一時登録データ45には、通信元のモバイル端末10のユーザ名と端末IDとアクセス先の外部Webサービスの名称(
図5では要求サービス)と、この通信のセッション情報が登録される。このうち、端末IDは、後述する認証アプリ12からの認証要求(
図7のP6)で通知される。
【0038】
図6は、外部Webサービス31が保持する認証情報登録リスト47の一例を示している。外部Webサービス31のサーバは、この外部Webサービス31の利用者として登録されたユーザのユーザ名とパスワードを対応付けて認証情報登録リスト47に登録して保持する。
図6は、外部Webサービス(A)のサーバに登録された認証情報登録リスト47の一例を示している。
【0039】
図7は、モバイル端末10が外部Webサービス31にログインして該サービスが利用可能となるまでの流れを示すシーケンス図である。
【0040】
モバイル端末10のWebブラウザ11から外部Webサービス31にアクセスしてログイン要求を出すと(P1)、リバースプロキシサーバ21がその通信を取得(横取り)する。リバースプロキシサーバ21は、モバイル端末10との通信情報(セッション情報)等を
図5の一時登録データ45のように保存し、モバイル端末10が認証アプリ12を起動するのに必要なURLスキームをモバイル端末10に送信する(P2)。
【0041】
送信するURLスキームには、モバイル端末との通信情報(セッション情報)が含まれる。たとえば、
myAuth://login?service=xxx.com&Session=zxcvad
といった文字列をURLスキームとしてモバイル端末10へ送信する。
【0042】
モバイル端末10は、受け取ったURLスキームを基に、あらかじめインストールされている認証アプリ12を起動する(P3)。認証アプリ12は、あらかじめ設定されている認証装置(
図2の端末登録データ40に登録されている認証装置情報が示す認証装置)を使って認証するようユーザに促す。たとえば、その旨のメッセージ等をモバイル端末10に表示する。認証装置には、モバイル端末10が備える生体認証装置、もしくはモバイル端末10に接続された外部の生体認証装置13を使用することができる。
【0043】
認証装置13はユーザが認証装置13に対して認証要求を行った時にそれが正しいユーザか否かを判定する(P4)。このとき、認証に使う生体情報はあらかじめモバイル端末10に登録しておく必要がある。
【0044】
認証装置13はユーザが正しい権限を持った人であると判定すると、認証アプリ12に認証が成功したことを伝える(P5)。
【0045】
ユーザ認証が成功した場合、認証アプリ12はリバースプロキシサーバ21に対して端末IDとユーザ名と先ほどURLスキームで通知されたセッション情報を含む認証要求を送信する(P6)。以下に認証要求の一例を示す。
{“端末ID”:”12345ABC”, ”User”:”user1”, ”Session”,”zxcvad”}
【0046】
これを受信したリバースプロキシサーバ21は、セッション情報をキーにして該当の一時登録データ45に端末IDを登録すると共に、ユーザ名と端末IDと要求されている外部Webサービスの種類を含む認証情報要求を認証サーバ22に対して送信し、その外部Webサービスにこのユーザがログインするために必要な認証情報(その外部Webサービスでのユーザ名とパスワード)を要求する(P7)。
【0047】
認証サーバ22は認証情報要求に含まれる端末IDが登録端末リスト41に登録されているか(要求元のクライアント端末が登録済みか)を確認する(P8)。登録されていない場合は、モバイル端末10の認証アプリ12に、代理認証不可を通知する。登録されている場合は、要求されている外部Webサービス用のログイン情報登録リスト43を参照して、該当のユーザ名とパスワードを取得し、これをリバースプロキシサーバ21に返送する(P9)。
【0048】
たとえば、P7の認証情報要求に含まれるユーザ名(代理認証システムでのユーザ名)がUser1で、要求された外部WebサービスがサービスAの場合、サービスA用のログイン情報登録リスト43を参照し、User1がサービスAにログインするためのユーザ名・パスワードとして「UserA1,aaa」をリバースプロキシサーバ21に返送する。
【0049】
リバースプロキシサーバ21は認証サーバ22から取得したユーザ名とパスワードを該当するセッションの通信により外部Webサービス31へ送信し、その外部Webサービス31へモバイル端末10の代理でログインを行う(P10)。リバースプロキシサーバ21は外部Webサービス31からログインの結果(成否)を受け取り、これを認証アプリ12に通知する(P11)。認証アプリ12はこの通知を受けると、Webブラウザ11側に制御を戻す(P12)。
【0050】
このように、Webブラウザ11から外部Webサービス31へアクセスする場合のユーザ認証をモバイル端末10側の生体認証装置13を用いて行うので、ユーザは何一つパスワードを記憶することなく代理認証システム2を利用することができる。
【0051】
<変形例1>
変形例1では、リバースプロキシサーバ21に接続してきている端末の種類により、URLスキームを変更する。基本的には
図7と同様のシーケンスで外部Webサービス31へのログインが行われるが、P2の処理が若干相違する。すなわち、モバイル端末10のWebブラウザ11が送出した外部Webサービス31へのログイン要求(通信)を取得したリバースプロキシサーバ21は、この要求(通信)に含まれるUser-Agent属性に基づいて、どのような端末がアクセスしているか(端末のタイプ)を判定する。
【0052】
ここでは、User-Agentが示す、端末で使用されているOSの種類やバージョン、に基づいて
図8に示すような端末スキーム対応表49を参照し、送信元のモバイル端末10が認証アプリ12を起動するのに必要なURLスキームを選択し、これにセッション情報を付加したURLスキームを作成する。その他の動作は
図7の場合と同様でありその説明は省略する。
【0053】
なお、User-Agentは、Webブラウザがhttpサーバに対してリクエストを投げる際に付加するヘッダ情報の一つである。User-Agentの一例を示す。
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
この情報から、クライアント端末がどのようなOSで、どのブラウザを利用しているか等をおおよそ判定することができる。
【0054】
<変形例2>
変形例2では、一人のユーザが複数の端末を持つことがあるため、代理認証を許可する外部Webサービス31を端末によって切り替える。
図9の例は、一人のユーザがモバイル端末(1)とモバイル端末(2)を所有する場合を示している。
【0055】
モバイル端末毎に利用可能なWebサービスを切り替える方法として、ここでは、端末IDが発行されて登録された後、管理者の操作により、登録されている各端末IDに対して、どのWebサービスを利用できるようにするかの設定登録を行う。
【0056】
図10は、認証サーバ22に登録されたサービス別登録端末リスト51の一例を示している。認証サーバ22には、
図3の登録端末リスト41に代えて
図10のサービス別登録端末リスト51が登録される。サービス別登録端末リスト51は、Webサービス<外部Webサービス31)毎に、そのWebサービスを利用可能な端末IDが登録されている。
図10の例では、12345ABCの端末IDを持つモバイル端末10はサービスA、サービスBの両方を使えるが、12ED50D2の端末IDを持つモバイル端末10はサービスBしか使えない。
【0057】
認証サーバ22は、
図7のP8での判定を、サービス別登録端末リスト51を参照して行う。すなわち、要求されている外部Webサービスに対応するサービス別登録端末リスト51を参照し、これに要求元の端末IDが登録されていれば代理認証を継続し、登録されていない場合は、モバイル端末10の認証アプリ12に、代理認証不可を通知する。
【0058】
図11は、中継装置20が行う処理を示す流れ図である。モバイル端末10による外部Webサービス31へのアクセスを監視し(ステップS101;No)、該アクセスを検出すると(ステップS101;Yes)、その通信を横取りして取得する(ステップS102)。そして、該通信のアクセス先の外部Webサービス31の種類(名称)とこの通信のセッションン情報を対応付けて一時登録データ45に記憶する(ステップS103)。次に、この通信のヘッダに含まれるUser-Agent属性から、横取りした通信の送信元のモバイル端末10に対応したURLスキームを作成して、該送信元のモバイル端末10へ送信する(ステップS104)。
【0059】
URLスキームを受信したモバイル端末10では生体認証装置13を用いたユーザ認証が行われる。中継装置20は、モバイル端末10からの応答を監視し(ステップS105、S106)、ユーザ認証に成功した場合にモバイル端末10が送信する認証要求を受信した場合は(ステップS105;Yes)、ステップS107へ進む。一方、モバイル端末10からユーザ認証に失敗した通知を受けた場合は(ステップS106;Yes)、本処理を終了する。
【0060】
ステップS107では、受信した認証要求に含まれる端末IDが登録端末リスト41あるいはサービス別登録端末リスト51に登録されているか否かを調べ、登録されていない場合は(ステップS107;No)、モバイル端末10の認証アプリ12へアクセス拒否を通知して(ステップS108)本処理を終了する。
【0061】
登録されている場合は(ステップS107;Yes)、データベース23から、該当する外部Webサービス用の認証情報(ユーザ名とパスワード)を取得し(ステップS109)、これと先ほどのセッション情報を用いて外部Webサービス31へログイン要求する(ステップS110)。外部Webサービス31からログイン成否の結果を受信すると(ステップS111)、これをモバイル端末10の認証アプリ12に通知して(ステップS112)本処理を終了する。
【0062】
図12は、モバイル端末10の認証アプリ12が行う処理を示す流れ図である。URLスキームによって起動されると、端末登録データ40に登録されている認証装置情報が示す認証装置を作動させ、ユーザに該認証装置を用いてユーザ認証することを促すメッセージの表示等を行う(ステップS201)。認証装置での認証結果がユーザ認証失敗の場合は(ステップS202;No)、中継装置20(リバースプロキシサーバ21)へ、ユーザ認証失敗を通知し(ステップS203)、Webブラウザ11に制御を移して(ステップS206)本処理を終了する。なお、Webブラウザ11へ制御を移す前に認証失敗等のメッセージを表示してもよい。
【0063】
認証装置での認証結果がユーザ認証成功の場合は(ステップS202;Yes)、中継装置20(リバースプロキシサーバ21)へ、端末IDを含む認証要求を送信する(ステップS204)。その後、中継装置20からログイン結果の通知を受けたら(ステップS205;Yes)、Webブラウザ11に制御を移して(ステップS206)本処理を終了する。
【0064】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【0065】
実施の形態では、中継装置20をリバースプロキシサーバ21、認証サーバ22、データベース23で構成したが、これらの機能を1つのサーバ装置で実現してもよい。
【0066】
実施の形態では、認証装置を生体認証装置としたが、これに限定されるものではない。ユーザ名とパスワード等の入力操作なしにユーザ認証可能な認証装置であることが好ましい。
【符号の説明】
【0067】
2…代理認証システム
10…モバイル端末
11…Webブラウザ
12…認証アプリケーション(認証アプリ)
13…生体認証装置
20…中継装置
21…リバースプロキシサーバ
22…認証サーバ
23…データベース
31…外部Webサービス
40…端末登録データ
41…登録端末リスト
43…ログイン情報登録リスト
45…一時登録データ
47…認証情報登録リスト
49…端末スキーム対応表
51…サービス別登録端末リスト