JP2015170319A - 通信端末、セキュアログイン方法、及びプログラム - Google Patents

通信端末、セキュアログイン方法、及びプログラム Download PDF

Info

Publication number
JP2015170319A
JP2015170319A JP2014046933A JP2014046933A JP2015170319A JP 2015170319 A JP2015170319 A JP 2015170319A JP 2014046933 A JP2014046933 A JP 2014046933A JP 2014046933 A JP2014046933 A JP 2014046933A JP 2015170319 A JP2015170319 A JP 2015170319A
Authority
JP
Japan
Prior art keywords
server
authentication
user
password
unit
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
JP2014046933A
Other languages
English (en)
Other versions
JP6256116B2 (ja
Inventor
聡史 仙波
Satoshi Senba
聡史 仙波
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014046933A priority Critical patent/JP6256116B2/ja
Priority to US14/640,090 priority patent/US9479496B2/en
Priority to EP15158188.1A priority patent/EP2919435B1/en
Publication of JP2015170319A publication Critical patent/JP2015170319A/ja
Application granted granted Critical
Publication of JP6256116B2 publication Critical patent/JP6256116B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

【課題】通信端末において、ユーザ認証に用いるデバイスを外部接続して比較的容易に認証機能を追加可能とする。
【解決手段】ネットワークを介して第1のサーバ及び第2のサーバと通信可能な通信端末において、オペレーティングシステムのインタフェースを介してホストコントローラに接続されたセンサとデータを送受信する独自認証アプリケーションを備え、ユーザIDと共にセンサが検出した照合用データを第2のサーバに送信してユーザ認証を要求し、ユーザ認証が成功した場合に第2のサーバから送信されてくるパスワードを取得し、用意されたユーザIDとパスワードを第2のサーバに送信し、認証が成功した場合に送信されてくる、第1のサーバを特定する情報を含む認証応答を、第1のサーバへ送信してログインすることで第1のサーバのサービスの提供を受ける。
【選択図】図8

Description

本発明は、通信端末、セキュアログイン方法、及びプログラムに関する。
近年、スマートフォンやタブレットなどのモバイル端末から、インターネットなどのネットワークを経由して接続されるサービスサーバへのリモートログインが行われている。リモートログインのユーザ認証には、例えばパスワードが用いられる。しかし、パスワードが第三者により不正に入手されてしまうと、第三者によるリモートログインが可能となってしまう。パスワードを長くすることでセキュリティを向上することは可能であるが、モバイル端末の画面に表示されるキーボードは小さく、デスクトップPC(Personal Computer)などに比べるとキーボードの操作性が劣るので、パスワードが長くなる程ユーザへの負荷は増大してしまう。
一方、例えば指紋、静脈、虹彩などの生体認証(または、バイオメトリクス認証)や、IC(Integrated Circuit)カードやUSB(Universal Serial Bus)トークンなどのユーザ所有物を用いたユーザ認証がある。デスクトップPCなどにおいては、ユーザ認証に用いる生体センサ、情報リーダなどのデバイスを外部接続して、このような生体認証やユーザ所有物を用いた認証を比較的容易に行うことができる。しかし、モバイル端末の場合、セキュリティやビジネスモデルの制約などの理由で、モバイル端末へのデバイスドライバの追加導入、アプリケーション間の通信に使用されるプロセス間通信によるパスワードの代行入力、ブラウザプラグインによる認証サーバへのパスワードの代行返信などの機能が制限されている場合がある。このような機能制限のあるモバイル端末において、ユーザ認証に用いるデバイスを外部接続して、生体認証やユーザ所有物を用いたユーザ認証を行うことは難しい。
特開2011−221729号公報 特開2004−151977号公報 特開2013−57988号公報
従来のモバイル端末では、ユーザ認証に用いるデバイスを外部接続して認証機能を追加することは難しい。
そこで、1つの側面では、ユーザ認証に用いるデバイスを外部接続して容易に認証機能を追加できる通信端末、セキュアログイン方法、及びプログラムを提供することを目的とする。
一つの案によれば、ネットワークを介して第1のサーバ及び第2のサーバと通信可能な通信端末であって、
他のアプリケーションからプロセス間通信を受けて、それを引数として子プロセスを立ち上げるブラウザと、
ホストコントローラと、
センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出して前記ホストコントローラを制御するオペレーティングシステムと、
前記オペレーティングシステムのインタフェースを介して前記ホストコントローラに接続された前記センサとデータを送受信する独自認証アプリケーションとを備え、
前記独自認証アプリケーションは、
ユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、前記ユーザ認証が成功した場合に前記第2のサーバから送信されてくるパスワードを取得し、
前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
前記第2のサーバに送信したユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバから送信されてくる、前記第1のサーバを特定する情報を含む認証応答を、リダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける通信端末が提供される。
一態様によれば、ユーザ認証に用いるデバイスを外部接続して容易に認証機能を追加できる。
モバイル端末からクラウドサービスへ接続する際の構成の一例を示す図である。 モバイル端末やPCからインターネットを経由してクラウドサービスへ接続する際の構成の一例を示す図である。 ユーザ認証画面の一例を示す図である。 代行入力による負荷軽減方法の一例を説明する図である。 プラグイン導入による負荷軽減方法の一例を説明する図である。 モバイル端末でのユーザIDとパスワード入力画面の一例を示す図である。 一実施例におけるセキュアログイン方法の一例を説明する図である。 一実施例におけるモバイル端末、統合認証サーバ、及びサービスサーバの構成の一例を示すブロック図である。 独自認証クライアントアプリの構成の一例を説明するブロック図である。 一実施例におけるセキュアログイン処理の一例を説明する図である。 モバイル端末に表示される画面の一例を示す図である。 コンピュータの構成の一例を示すブロック図である。
以下に、開示の通信端末、セキュアログイン方法、及びプログラムの各実施例を図面と共に説明する。
プログラムを実行することでユーザに提供されるワードプロセッシング機能、スケジュール機能、メール機能、ゲーム機能などのサービスは、PCなどのクライアント上でプログラムを実行することで行われる。しかし近年、プログラムの実行の大部分を、ネットワークを介してクライアントに接続されたサーバ上で行い、クライアントではブラウザのみを実行してこのブラウザ上で表示だけを行うクラウドサービスが普及している。現在、有料及び無料の各種クラウドサービスが提供されている。
クラウドサービスでは、クライアントのキッティングが不要であり、プログラムのアップデートはサーバ側だけで行えば良く、さらに、クライアント側では表示だけを行えば良いため、比較的性能の低いクライアントでもクラウドサービスを受けることができる。このため、クラウドサービスは、スマートフォンやタブレットなどのモバイル端末など、比較的に性能の低いクライアントでの使用に好適であり、モバイル端末からのクラウドサービスが利用は増加している。
図1は、モバイル端末からクラウドサービスへ接続する際の構成の一例を示す図である。図1において、モバイル端末1は、W-CDMA(Wideband Code Division Multiple Access)などの3G(3rd Generation)の無線アクセス方式で通信可能なクライアントの一例である。このモバイル端末1は、ブラウザ、メーラ、及びその他各種アプリケーションを有する。ブラウザ、メーラ、及び各種アプリケーションのうち、外部のサービスと連携して動作するプログラムは、このプログラムの接続先のURL(Uniform Resource Locator)を記憶している。
モバイル端末1は、通信事業者の保有する無線通信用のアンテナ2とデジタルデータのやり取りを行う。アンテナ2と接続された基地局のルータ3は、モバイル端末1から送られてくるパケットが、基地局内のサーバ4宛てか、或いは、インターネット5宛てであるかを判断し、夫々へのパケットを中継する。基地局が保有するサーバ4は、例えばモバイル端末1にIPアドレスと各種設定を送信するDHCP(Dynamic Host Configuration Protocol)サーバなどで形成され、モバイル端末1がインターネット5にを介して通信できるようにするための情報をモバイル端末1に提供する。これにより、モバイル端末1は、ルータ3を介してインターネット5に接続できる。
インターネット5には複数のルータが接続され、ルータはインターネット5を介してパケットを交換できる。クラウドサービスプロバイダのルータ、或いは、このルータに至るための中継のルータも、このインターネット5の何処かに接続されている。ルータ6は、クラウドサービスプロバイダの保有するサーバ群7で構成されたネットワークと、インターネット5とを中継する。クラウドサービスプロバイダの保有するサービスサーバ群7のうち、サービスサーバ8は、モバイル端末1の要求に応答して演算を行い、モバイル端末1に応答を返信する。
上記の如く、モバイル端末1からサービスサーバ8へ接続する場合、必ず基地局とインターネット5を経由する点で、PCからサービスサーバへ接続する場合と異なる。特に、例えば中堅以上の企業では、PCを企業のイントラネットに接続し、インターネットを経由せずに企業内のサービスサーバを使用する場合が多い。モバイル端末も、Wi-Fi(Wireless-Fidelity)を用いる場合は、このような形態になるが、2G、3G、及び4Gの無線方式で通信する場合には、必ずインターネットを経由してサービスサーバに接続する。
また、企業のファイアウォールを超えて、インターネットを経由してクラウドサービスプロバイダのサービスサーバへ接続することがある。特に、中小企業では、企業の規模とコスト上の理由から、システム管理者に十分な人数を確保することができない場合が多い。このような場合、企業内にサーバを設置せず、クラウドサービスプロバイダのサービスを有償で使用する方が安価にサービスを受けられる場合がある。このため、特に機密性の高い情報を扱わないサービスにおいては、企業外のサービスサーバを使用することがある。
さらに、個人使用のPCも、サービスサーバに接続する場合は、殆どの場合はインターネットを経由する。これは、個人でサービスサーバを家庭内に置くメリットは殆ど無く、インターネットを経由してサービスサーバに接続する方が便利であるからである。
以上のように、モバイル端末や、企業及び家庭に設置されたPCから、インターネットを経由してクラウドサービスプロバイダのサービスサーバへ接続することは、一般的に行われるようになっている。
図2は、モバイル端末や、企業及び家庭に設置されたPCから、インターネットを経由してクラウドサービスへ接続する際の構成の一例を示す図である。図2において、クラウドサービスプロバイダの保有するサーバ群21は、ルータ29を介してインターネット23と接続され、プログラムを実行してユーザにサービスを提供する。モバイル端末24と、クラウドサービスプロバイダの保有するサーバ群21の中の1台のサービスサーバ22とは、一対一で対応する。或いは、サービスサーバ22が仮想化されている場合には、モバイル端末24はサービスサーバ22内のVM(Virtual Machine)と一対一で対応する。インターネット23には、複数のネットワークが接続可能であり、互いにパケットを交換できる。モバイル端末24は、通信事業者の基地局やルータを介して、インターネット23に接続される。企業内のPC25は、企業内のイントラネットに接続され、ファイアウォールを超えるためのプロキシサーバなどを経由してインターネット23に接続される。ユーザの家庭に設置されているPC26は、公衆回線(ADSL:Asymmetric Digital Subscriber Line)やFTTH(Fiber To The Home)を経由してインターネット23に接続される。
その他の機器27は、他のネットワークを経由してインターネット23に接続される。インターネットプロトコル(IP: Internet Protocol)に準拠した機器27であれば、基本的にはどこからでもインターネット23に接続可能である。機器27は、国境を越えたインターネット23への接続も可能であり、機器27の接続相手を特定することは難しい。このため、クラウドサービスプロバイダのサービスサーバ22は、随時、不特定多数にアクセスされることを前提に設計されている。
不特定多数にアクセスされるサービスサーバ22では、クラウドサービスが有料であるか無料であるかに関わらず、一時的、或いは、恒久的にユーザ所有のデータを所有することになる。このため、図3のような、ユーザID(User ID: User Identification)とパスワード(Password)の入力を求め、ユーザ認証を行う。図3は、モバイル端末24及びPC25,26に表示されるユーザ認証画面の一例を示す図である。図3は、ABCDウェブ(Web)のメールサービス(Mail Service)へのログインを行う際のユーザ認証画面を示す。
しかし、インターネット23に接続されるサービスサーバ22は、ユーザ認証に用いるユーザIDとパスワードしか保持していない。従って、ユーザIDとパスワードが正しければ、第三者による不正使用が可能になってしまう。また、このように不正使用が起こり得る環境に加えて、インターネット23に接続されるサービスサーバ22は世界中からアクセスされ得るため、ボットネット(マルウェアに寄生された不正アクセス用PCの集合体)などにブルートフォースや辞書攻撃を受けると、不正アクセスを許してしまう可能性がある。このような不正アクセスを防ぐためには、例えば8文字以上で単語ではない文字列などの、より安全な長いパスワードを用いることが望ましい。
サービスサーバ22に接続する際にユーザIDと長いパスワードを入力する場合、PC25,26からの入力は、キーボードから比較的容易に行うことができる。また、PC25,26の場合、生体認証やユーザ所有物認証による代行入力とプラグイン導入といった、ユーザへの負荷を軽減する手段が提供されている。
図4は、代行入力による負荷軽減方法の一例を説明する図である。図4において、PC31は、図2のPC25または26に相当する。PC31には、生体センサの一例である指紋センサ32が接続されている。指紋センサ32は、周知の方法でユーザの生体データの一例である指の指紋データを取得する。PC31は、アプリケーションの一例であるブラウザ33を有し、このブラウザ33によりインターネット上にあるサイトのWebページを閲覧する。また、PC31は、ブラウザ監視アプリケーション34を有し、このブラウザ監視アプリケーション34はPC31の起動時に起動されてバックグラウンドで動作を続ける。ブラウザ監視アプリケーション34は、ブラウザ33が起動したことを確認すると、一定時間(例えば、100msec程度)毎に、URL35を確認する。ブラウザ33のURL欄は、独立したWindow IDを持つウィンドウオブジェクトであるため、Windows (登録商標)API(Application Programming Interface)の呼び出しで内部のテキストを取得することができる。このように取得したURLが代行入力を行う設定になっている場合は、PC31は認証モードに入る。
認証モードでは、PC31はユーザにユーザIDの入力と指紋センサ32へ指をかざすことを要求し、ユーザIDと生体データを取得する。取得した生体データは、ブラウザ監視アプリケーション35内で、ユーザIDと関連付けられている登録生体データと比較され、一致するとPC31は代行入力モードに入る。代行入力モードでは、ブラウザ監視アプリケーション35内に記憶されているユーザIDとパスワードを、ブラウザ34のUser ID欄とPassword欄に入力する。ユーザIDとパスワードは、各欄がWindow IDを持つウィンドウオブジェクトの場合、Windows APIで入力する。各欄がWindow IDを持つウィンドウオブジェクトではない場合、ユーザIDとパスワードは、キーボードエミュレーションで入力を行う。
図5は、プラグイン導入による負荷軽減方法の一例を説明する図である。図5において、ブラウザ51は、機能を拡張するためのプラグイン導入機能を持っている。近年のPC用ブラウザは、何らかのプラグイン導入機能を有していることが多い。認証要求を受ける認証要求プラグイン52は、Windows(登録商標)ではダイナミックリンクライブラリ、UNIX(登録商標)ではシェアードライブラリであり、いずれもライブラリの一種である。特定のフォーマットに従ってブラウザに登録すると、HTML(Hyper Text Markup Language)中のスクリプト(Javascript(登録商標)など)から、認証要求プラグイン52を呼び出すことができる。例えば、認証要求プラグイン52は、例えばSetCertAndRequestUserIDAndPasswordなる関数をスクリプトに公開する。この関数は、サーバ証明用の文字列を引数に渡して正しいサーバからのものであれば、ユーザIDとパスワードを入手可能とする。この関数は、ブラウザ51上のスクリプトから呼び出す。この関数が呼び出された場合、認証要求プラグイン52の関数が実行に移される。この認証要求プラグイン52は、スクリプトから渡されたサーバ証明用の文字列を検証し、それが正しいサーバからのものであるか否かを確認する。サーバ認証用の文字列が正しいサーバからのものであると確認できた場合、認証要求プラグイン52は生体認証実施ライブラリ53を呼び出す。
生体認証実施ライブラリ53は、呼び出されると、ダイアログを表示してユーザにユーザIDの入力と、指紋センサへ指をかざすことを求める。ユーザがユーザIDをダイアログに入力し、指紋センサ32に指をかざすと、指紋センサ32からユーザの指紋データが取得される。生体認証実施ライブラリ53は、予め用意した、ユーザIDと登録指紋データ及びパスワードとを対にして記録したユーザ情報データベースを、入力されたユーザIDに基づいて検索する。検索の結果、入力されたユーザIDと一致するユーザIDと対になっている登録指紋データと、指紋センサ32から取得した指紋データが同じユーザの指から生成されたものであるかを照合する。この照合によって、ユーザの同じ指から生成された指紋データであると判定された場合、生体認証実施ライブラリ53は、ユーザIDと、ユーザ情報データベースから検索されたユーザIDと対になっているパスワードとを認証要求プラグイン52に返信する。
認証要求プラグイン52は、SetCertAndRequestUserIDAndPassword関数の帰り値として、引数で示した変数にユーザIDとパスワードを格納する。この関数の返信で、ユーザIDとパスワードを受けたスクリプトは、SSL(Secure Socket Layer)通信を使用し、その中で、GETコマンドまたはPOSTコマンドを発行して、サーバにユーザIDとパスワードを送信する。このようにして、認証要求プラグイン52を用いたユーザIDとパスワードの代行入力が行われる。
上記の如く、生体センサ32を用いた認証を行い、ユーザIDとパスワードを代行入力することによって、ユーザのパスワード入力に伴う負荷をさらに軽減することができる。
このように、クラウドサービスプロバイダの保有するサービスサーバ22に接続して、クラウドサービスの提供を受ける場合、ユーザIDと例えば8文字以上の長いパスワードによる認証が望ましい。PC24または25の場合、キーボードが装備されているのでユーザIDとパスワードの入力は比較的容易であり、たとえキーボード操作が苦手なユーザであっても指紋センサ32などによる生体認証を利用したユーザIDとパスワードの代行入力が可能であるため、ユーザへの負荷が増大することはない。
しかし、モバイル端末24でクラウドサービスを受ける場合には、特に長いパスワード入力がユーザへの負荷を増大させる。図6は、モバイル端末でのユーザIDとパスワード入力画面の一例を示す図である。図6において、パスワード入力画面81は、モバイル端末24のブラウザをサービスサーバ22に接続したときに表示される画面の一例である。モバイル端末24のブラウザの機能は、近年ではPCのブラウザの機能と同じレベルに達しているので、表示内容は同じである。パスワード入力画面81などの画面の下部には、ソフトウェアキーボード82が表示される。モバイル端末24は、物理的なキーボードを備えていない場合が多く、画面の下部にソフトウェアキーボード82を表示し、このソフトウェアキーボード82から文字などを入力する。ソフトウェアキーボード82の面積は、例えば4.3インチの液晶画面を有するスマートフォンで55mm×35mm程度、7インチの液晶画面を有するタブレットで93mm×35mm程度である。従って、1つのキーの大きさは、例えば5.5mm×9.0mm〜9.3mm×9.0mm程度であり、物理的なキーボードと比較すると小さい。特に、スマートフォンでは各キーが小さくなりすぎて、スマートフォンの操作に熟練したユーザであっても、文字などの誤入力をし易い。このように、モバイル端末24では、パスワードの入力はユーザにとって非常に面倒で難しい操作になっている。
このため、モバイル端末24では、PC25,26の場合以上に、生体認証と代行入力が有効な認証手段となり得るが、このような認証手段の採用を阻む問題がモバイル端末24のオペレーティングシステム(OS: Operating System)によっては存在する。このような認証手段の採用を阻む問題が存在するOSの例には、Android(登録商標)、 iOS(登録商標)、Windows Phone 8(登録商標)、Windows RT(登録商標)などが含まれる。問題とは、モバイル端末24のOSに存在する数々の機能制限である。PCと比較して厳しいモバイル端末24のOSの機能制限は、例えばイントラネット上で使用することが多いPC25,26と比較して、常にインターネットに接続されて使用されるモバイル端末24のセキュリティを高めるためと考えられる。また、モバイル端末24のOSの機能制限を行って、アプリケーションの書き換えなどを防止することで、モバイル端末24のメーカーや通信会社のビジネスモデルを守るためと考えられる。
上記機能制限の1つ目は、モバイル端末用のOSでは、プロセス間通信が行えないことである。プロセス間通信は、アプリケーション(以下、単に「アプリ」とも言う)とアプリとの間の通信や、アプリとデーモン(Daemon)などの監視アプリの間の通信に使用される。このプロセス間通信が使用できないと、図4で示したURL監視と代行入力が行えなくなる。URL監視は、例えばWindowsでは、プロセス間通信の一種を行うSendMessage関数を引数WM_GETTEXTで呼び出し、ブラウザのURLのテキストボックスのテキストを取得することで行っている。また、代行入力は、SendMessage関数を引数WM_SETTEXTでブラウザのユーザ IDやパスワードのテキストボックスにテキストを設定することで行っている。つまり、プロセス間通信が行えないと、プラウザ監視アプリケーションからブラウザに対して一切干渉できなくなり、代行入力が行えなくなる。
上記機能制限の2つ目は、モバイル端末のブラウザには、プラグインを導入できないことである。これは、第三者のプラグインの導入を許容することでこのプラグインの不具合によるセキュリティホールを作らないようにすること、及び、ビジネスモデルの観点から付属のブラウザの改造を許容したくないためと考えられる。全てのモバイル端末用OSにおいて、プラグインの使用は禁止されている。しかし、この制限により、図5に示すプラグインによるユーザIDとパスワードの代行入力ができなくなる。プラグインをブラウザに導入できなければ、ブラウザ上で実行されるスクリプトからプラグインの関数を呼び出すことができず、サーバ認証用のデータを渡すことができないため、当然のことながらユーザIDとパスワードを受取ることもできない。
上記機能制限の3つ目は、モバイル端末用OSには、デバイスドライバを追加できないことである。PCでは、USBなどのインタフェースに周辺機器を接続すると、この周辺機器用のデバイスドライバをインストールし、このデバイスドライバを介して周辺機器を制御できる。しかし、モバイル端末用OSには、デフォルトで付属している機器のデバイスドライバは搭載されているものの、後からデバイスドライバを追加することはできない。近年のスマートフォン及びタブレットなどのモバイル端末の多くは、USB OTG(On The Go)コントローラを搭載している。USB OTGコントローラは、USBのホストにもスレーブにもなれるコントローラである。このため、モバイル端末をPCの周辺機器として繋げることも、モバイル端末にキーボードやUSBストレージを繋げることもできる。モバイル端末には、USBキーボードやUSBストレージを繋げられるようにするために、USBキーボードやUSBストレージのデバイスドライバが予め搭載されている。しかし、モバイル端末には、生体センサなどの特殊な周辺機器のデバイスドライバは搭載されていない。このため、例えばUSBキーボードをモバイル端末に接続すれば、USBキーボードが正しく認識されてUSBキーボードから文字などを入力できるが、生体センサをモバイル端末に接続しても、生体センサは正しく認識されず、生体センサを使用することはできない。
モバイル端末用OSにデバイスドライバを後から追加できない理由としては、デバイスドライバは、特権コマンドを実行できる特権モードで動作させる必要があるためと考えられる。意図的にセキュリティホールがあるデバイスドライバを後から導入し、このデバイスドライバを攻撃するプログラムを作成すれば、比較的簡単にモバイル端末のroot権限を奪うことができてしまう。モバイル端末がroot権限を奪われると、通信会社などのビジネスモデルに反するプログラムの実行が可能となってしまうので、このような理由でデバイスドライバの追加ができないと考えられる。
以上のように、モバイル端末では、キーボードを有しているPCよりも、さらにアプリケーションによる代行入力やプラグインによるユーザID、パスワード代行返信が必要とされているにも関わらず、従来のPCで行われてきた代行入力や代行返信が行えない。つまり、モバイル端末では、PCで行える生体認証、生体認証と組み合わせたユーザID及びパスワードの代行入力や代理送信を行うことができない。このため、長いパスワードをソフトウェアキーボードで入力するのでは手間がかかり、ユーザへの負荷が増大してしまう。
そこで、一実施例では、SAML 2(Security Assertion Markup Language 2.0)認証と、生体認証の一例である指紋認証を用いて、クラウドサービスプロバイダのサービスサーバにログインする。
図7は、一実施例におけるセキュアログイン方法の一例を説明する図である。なお、本実施例及び後述する各実施例において、通信はSSL 3.0(Secure Socket Layer 3.0)、TLS 1.0(Transport Layer Security 1.0)、またはこれらの通信方法より高いセキュリティを提供可能な暗号化のもとで行われる。HTTP(Hyper Text Transfer Protocol)も独自通信も同様にSSL/TLS上で行われる。全ての通信がSSL/TLS上で行われるが、暗号化自体は周知であるため、その図示及び説明は省略する。
図7において、モバイル端末101は、W-CDMAなどの3Gの無線アクセス方式で通信可能なクライアントであり、通信端末の一例である。モバイル端末101は、無線WAN (Wide Area Network)などを介して無線でインターネット103に接続でき、さらにUSBデバイスを接続できる。無線WAN及びインターネット103は、モバイル端末101が通信可能に接続されるネットワークの一例である。生体センサの一例である指紋センサ102は、モバイル端末101にUSB接続されるUSBデバイスである。指紋センサ102は、モバイル端末101のUSBコントローラの指示に従って動作し、かざされたユーザの指の指紋データを取得する。インターネット103は、複数のネットワークと接続可能であり、パケット交換によって相互通信を行える。クラウドサービスプロバイダのデータセンタ104は、ルータ107を介してインターネット103と接続されている。モバイル端末101やPCなどにクラウドサービスを提供するサービスサーバ105は複数配置され、複数のユーザのリクエストに応じてクラウドサービスを提供する。サービスサーバ105は、クラウドサービスプロバイダ側のSAML2(Security Assertion Markup Language 2.0)プロトコル機能に対応している。統合認証サーバ106は、データセンタ104とは別の場所や、企業のDMZ(DeMilitarized Zone)に設置された、生体認証部及びSAML2サーバIdP(Identity Provider)部の、両方の機能を有する。生体認証部は、ユーザIDと照合用生体データをインターネット103を経由して受信し、照合用生体データと登録生体データが同じユーザの指から生成されたデータであうかを照合する。SAML2サーバIdP部は、IdP側のSAML 2.0プロトコル機能(以下、「SAML2サーバIdP部」とも言う)である。後述するように、サービスサーバ105のSAML2サーバSP(Service Provider)部と統合認証サーバ106のSAML2サーバIdP部は連携しており、サービスサーバ105のサービス使用に関する許諾は、統合認証サーバ106に委ねられるように、SAML2サーバSP部及びSAML2サーバIdP部が設定されている。統合認証サーバ106は、ルータ108を介してインターネット103と接続されている。
なお、指紋センサ102は、モバイル端末101に内蔵されていても良い。
先ず、統合認証サーバ106の生体認証部について説明する。生体認証部は、ユーザIDと照合用生体データ(この例では、照合用指紋データ)をモバイル端末101から受け取る。統合認証サーバ106内には、ユーザIDと登録生体データの対が登録された登録生体データデータベース(DB: Data-Base)が格納されている。生体認証部は、この登録生体データDBをユーザIDで検索し、一致したユーザIDと対になっている登録生体データ(この例では、登録指紋データ)と、受け取った照合用生体データが同じ生体(この例では、同じユーザの指)から生成されたものであるか否かを判定する。判定の結果、受け取った照合用生体データが同じユーザの指から生成されたものであると判定された場合、生体認証部は、例えば256ビット程度のワンタイムパスワード(以後、OTP(One Time Password)とも言う)を乱数で生成し、一時ユーザ格納部にユーザIDと対にして一時ユーザを形成して登録する。登録された一時ユーザは、統合認証サーバ106のSAML2サーバIdP部にとって、登録されたユーザと認識される。ただし、例えば10分程度で、この登録された一時ユーザは消去される。生体認証部は、統合認証サーバ106に対してユーザIDと照合用生体データを送信してきた送信元であるモバイル端末101に、認証が成功したことを示す認証結果とOTPを返信する。一方、判定の結果、受け取った照合用生体データが同じユーザの指から生成されたものではないと判定された場合、或いは、ユーザIDで検索した結果、一致するユーザIDが存在しない場合には、生体認証部は認証が失敗したことを示す認証結果を送信元に返信する。
次に、統合認証サーバ106のSAML2サーバIdP部について説明する。SAML 2.0プロトコルは、2つのサーバと、1つのクライアントで構成される。統合認証サーバ106内に設置されたSAML2サーバIdP部は、自身に公開鍵方式暗号の秘密鍵を保有する。統合認証サーバ106は、このSAML2サーバIdP部に認証を代行させたいSAML2サーバSP部を保有するサービスサーバ105に、秘密鍵と対となる公開鍵を渡す。その後は、認証の代行依頼を、この公開鍵を用いて行う。
SAML2サーバIdP部は、サービスサーバ105内にあるSAML2サーバSP部が送信した認証代行依頼に応じて、モバイル端末101にユーザIDとパスワードを要求する。そして、SAML2サーバIdP部は、自身の保有するユーザIDとパスワードの対(この例では一時ユーザ格納部に格納されているユーザIDとOTPの対)と一致するか否かを判定し、判定結果をサービスサーバ105のSAML2サーバSP部に返信する。
サービスサーバ105は、SAML 2.0プロトコルに対応したSAML2サーバSP部を保有する。そして、SAML2サーバSP部は、認証の要求を受けた場合は、自身で認証を行う代わりに、公開鍵を用いて暗号化されたトークンをSAML2サーバIdP部に送信することで、SAML2サーバIdP部にユーザ認証を委譲する。このような認証の委譲は、ユーザが多くのサービスを要する場合に、その都度各サービスに対してユーザIDとパスワードを登録する必要がなくなるため、認証用ユーザデータの管理を容易にできるものであり、シングルサインオン (SSO: Single Sign On)と呼ぶ。
近年のクラウドサービスプロバイダのクラウドサービスは、多くの場合SAML2に対応をしている。このため、SAML2認証を採用することは、ユーザにとって負荷にはならない。また、上記の構成を採用することで、モバイル端末のOSに機能制限があっても、代理返信することができる。
図8は、一実施例におけるモバイル端末、統合認証サーバ、及びサービスサーバの構成の一例を示すブロック図である。図8中、ネットワーク103、ルータ107,108、データセンタ104などの図示は省略する。
図8に示すように、モバイル端末101は、USBホストコントローラ132、モバイル端末用OS134、ブラウザ137、ブラウザ137の子プロセス138(以下、単に「ブラウザの子プロセス138」とも言う)、及び独自認証クライアントアプリ139を有する。USB ホストコントローラ132は、キーボードやUSBストレージなどのUSB スレーブ機器を接続可能であり、本実施例では、生体センサの一例である指紋センサ102が接続されている。一般的なモバイル端末の場合、USBホストコントローラにも、USBスレーブコントローラにもなる、USB OTG (USB On-The-Go)コントローラが装備されていることが多い。従って、USBホストコントローラ132は、USB OTGコントローラにより形成可能である。指紋センサ102が稼働中にユーザが指紋センサ102に指をかざすと、ユーザの指の指紋データが検出されてUSBホストコントローラ132に供給される。
モバイル端末用OS134は、例えばAndroid(登録商標)、iOS(登録商標)、Windows RT(登録商標)などで形成可能である。モバイル端末用OS134は、管理者権限をユーザに渡さず、その結果、デバイスドライバの追加、プロセス間通信、ブラウザのプラグインによる拡張などが制限されている点でPC用のOSと異なる。モバイル端末用OS134は、デバイスドライバ135及びモバイル端末用OS API136を有する。
デバイスドライバ135は、周辺機器の一例であるUSBホストコントローラ132用のデバイスドライバであり、制御するインタフェースをAPIにより提供する。このようなデバイスドライバ135は、例えばAndroid(登録商標)、iOS(登録商標)などのモバイル端末用OSを採用するモバイル端末に設けられている。従って、デバイスドライバ135が提供するAPIを呼び出すことによって、USBホストコントローラ132を制御することができる。デバイスドライバ135が提供するAPIの中には、モバイル端末101に接続されているUSB機器の接続番号と機器名称を取得する関数が含まれるので、USBホストコントローラ132に指紋センサ102が接続されているか否かを確認することができる。
モバイル端末用OS134が、USBホストコントローラ132に指紋センサ102が接続されていることを確認した場合、接続番号にデータを書き込む関数と、その接続番号から送られて一時バッファに保存されているデータを読み込む関数とがAPIとして用意されている。モバイル端末用OS134は、これら関数を用いて、指紋センサ102に指の指紋データを取得するコマンドを発行し、指紋センサ102が取得した指紋データをUSBホストコントローラ132を介して読み込むことができる。つまり、指紋センサ102のデバイスドライバをモバイル端末用OS134に追加インストールすることなく、アプリから直接指紋センサ102を呼び出して指紋データを取得することができる。これにより、上記3つ目の機能制限である、モバイル端末用のOSではデバイスドライバの追加が行えないという不都合を解消できる。
モバイル端末用OS API136は、モバイル端末用OS134がアプリに提供しているAPIである。モバイル端末用OS API136の中には、デバイスドライバ135が提供するAPIも含まれる。モバイル端末101のアプリは、モバイル端末用OS API136を呼び出してプログラム実行に必要なリソースや情報をモバイル端末用OS134から取得したり、各種表示、通信、計算などを行う。
ブラウザ137は、例えばモバイル端末101に予め用意されているブラウザアプリである。ブラウザ137は、例えばモバイル端末用OS134上に複数立ち上げられる、マルチプロセスアプリである。ブラウザ137は、このブラウザ137の立ち上げ要求に従って、ブラウザの子プロセス138を生成してhtmlなどの表示を行う。
モバイル端末用OS134に付属しているブラウザ137は、実行中のプロセス間通信は拒絶するが、ブラウザの子プロセス138の立ち上げ時には、引数として他のアプリケーションからプロセス間通信を受け付けることができる。ブラウザの引数付の子プロセス138の立ち上げは、プロセス間通信で行うので、これだけは例外で許可されている。このような例外は、例えばメールに書かれたURLからのブラウザ137の立ち上げ、アプリのサポートページへの誘導、広告付きアプリで広告をクリックした際の広告ホームページのブラウザ137での表示など、モバイル端末101のビジネスモデルに必要な機能を確保するために許可されていると考えられる。これにより、上記1つ目の機能制限である、モバイル端末101にプロセス間通信を行えないという不都合を解消できる。
ブラウザの子プロセス138は、独自認証クライアントアプリ139のAPI呼び出しを介して立ち上げられる、ブラウザ137の子プロセスである。ブラウザの子プロセス138は、一般的なブラウザの全ての機能を有しており、サービスサーバ105のクラウドサービスを実行したり表示したりする機能を有している。なお、ブラウザの子プロセス138は、ブラウザ137に含まれていても良い。これにより、プラグイン導入といった、ユーザへの負荷を軽減する手段を用いることなくユーザへの負荷を軽減できるので、上記2つ目の機能制限である、モバイル端末101のブラウザ137にはプラグインを導入できないという不都合を解消できる。
独自認証クライアントアプリ139は、モバイル端末用OS134のAPIを介してデバイスドライバ135を呼び出し、このデバイスドライバ135を介してUSBホストコントローラ132に接続された指紋センサ102に直接データを送受信することができる。このため、指紋センサ102に直接コマンドデータを送信することにより、指紋センサ102を制御することができる。また、独自認証クライアントアプリ139は、ユーザIDと共に照合するべき指紋データを統合認証サーバ106に送信してユーザ認証を求めることにより、ユーザ認証が成功した場合に統合認証サーバ106からOTPを入手できる。さらに、独自認証クライアントアプリ139は、サービスサーバ105に対してサービスの提供を要求し、その結果返信されてくるSAML2に準拠した認証データ(以下、「SAML2データ」とも言う)を、統合認証サーバ106にリダイレクトすることができる。また、これとは逆に、独自認証クライアントアプリ139は、統合認証サーバ106から送られてくるSAML2データをサービスサーバ105にリダイレクトすることができる。なお、独自認証クライアントアプリ139の詳細については後述する。
サービスサーバ105は、クラウドサービスプロバイダが保有する複数のサービスサーバのうちの1台である。サービスサーバ105とインターネット103との間には、例えばルータ107、ロードバランサなどの機器が設けられていても良い。サービスサーバ105は、ユーザのPCやモバイル端末のブラウザに、クラウドサービスを提供する。サービスサーバ105は、ユーザ認証を行うための機能も有する。サービスサーバ105は、図8に示すように、SAML2サーバSP部151、公開鍵格納部152、サービス提供部153、及びURL解析部154を有する。
SAML2サーバSP部151は、モバイル端末101のブラウザ137またはアプリからHTTPS(HyperText Transfer Protocol Secure)でサービスの提供要求を受ける。SAML2サーバSP部151は、サービスの提供要求を受けると、先ずサービスの提供要求のメッセージをURL解析部154に渡し、統合認証サーバ106のURLを取得する。統合認証サーバ106のURLは、統合認証サーバ106を特定する情報の一例である。次に、SAML2サーバSP部151は、認証要求メッセージ文字列と、長いチャレンジ・レスポンス用の乱数文字列、即ち、ナンス(Nonce)を生成する。また、SAML2サーバSP部151は、公開鍵格納部152に統合認証サーバ106のURLを渡してこのURLと対になる公開鍵を取得し、生成した認証要求メッセージ文字列とナンスを取得した公開鍵を用いて暗号化する。
さらに、SAML2サーバSP部151は、暗号化されたデータを、統合認証サーバ106にリダイレクトするようモバイル端末101にHTTPSで返信する。SAML2サーバSP部151は、このような通信のやり取りをブラウザ137やアプリを介して統合認証サーバ106のSAML2サーバIdP部171と何度か行い、SAML2サーバIdP部171から認証成功のメッセージを受信すると、サービス提供部153にサービス提供開始を通知する。サービス提供部153は、モバイル端末101のブラウザの子プロセス138にサービスを提供する。
公開鍵格納部152は、統合認証サーバ106に保存されている秘密鍵と対になる公開鍵を格納している。サービスサーバ105は、例えば多くの企業や団体に属するユーザに対応しているため、公開鍵格納部152は、このサービスサーバ105が有するSAML2サーバのURLと対で公開鍵を格納している。このため、公開鍵格納部152は、URLを渡されると、渡されたURLに対応した公開鍵を提供する。
サービス提供部153は、クラウドサービスプロバイダが提供するクラウドサービスをモバイル端末101に提供する。URL解析部154は、独自認証クライアントアプリ139から送信された、サービスの提供要求のメッセージを解析して、統合認証サーバ106のURLを計算する。サービスサーバ105に接続する際のURLの中には、統合認証サーバ106のURLが含まれている場合が多い。このような場合、URL解析部154は、サービスの提供要求のメッセージに対し、URLに含まれる統合認証サーバ106のURLをモバイル端末101に返信する。ユーザIDと認証サーバを関連付けるサービスサーバ105の場合、URL解析部154は、ユーザIDをキーにして検索して統合認証サーバ106のURLをモバイル端末101に返信する。
一方、統合認証サーバ106は、SAML2サーバ部と、生体認証部(この例では指紋認証部)の2つの機能を有する。統合認証サーバ106は、図8に示すように、サービスサーバ一覧提供部171、生体認証部172、SAML2サーバIdP部173、秘密鍵格納部174、一時ユーザ格納部175、及び登録生体データDB部176を有する。
サービスサーバ一覧提供部171は、サービスの名前と、このサービスを提供するサービスサーバ105のURLの一覧をモバイル端末101に返信する。モバイル端末101は、起動時にサービスサーバ一覧提供部171に接続し、ユーザに提供されているサービスの名前と、サービスサーバ105のURLの対の一覧を取得する。サービスサーバ105のURLは、サービスサーバ105を特定する情報の一例である。ユーザは、モバイル端末101が取得した一覧から、ユーザ自身が使いたいサービスを1つ選択する。
生体認証部172は、モバイル端末101からユーザIDと照合用生体データ(この例では照合用指紋データ)が送られてくると、ユーザIDをキーにして登録生体データDB(Data-Base)176を検索する。この登録生体データDB176に、キーに使用されたユーザIDと同じユーザIDが登録されている場合、生体認証部172は、登録生体データDB176に対になって登録されている登録生体データを生体認証部172に返信する。生体認証部172では、照合用生体データと登録生体データが、同じ生体(この例では、同じユーザの指)から生成されたデータであるかを計算により判定する。照合用生体データと登録生体データが同じユーザの指から生成されたデータであると判定された場合、生体認証部172は例えば256ビット程度のOTPを生成する。生体認証部172は、生成したOTPをユーザIDと共に一時ユーザ格納部175に格納する。一時ユーザ格納部175に格納されたユーザIDとOTPの対は、例えば10分後に削除される。生体認証部172は、認証成功の結果と共に、OTPをモバイル端末101に返信する。なお、照合用生体データと登録生体データが同じユーザの指ではない判定された場合、生体認証部172はOTPを生成せず、認証失敗の結果をモバイル端末101に返信する。
SAML2サーバIdP部173は、サービスサーバ105のSAML2サーバSP部151からモバイル端末101を経由して送信されてくる暗号データを解析する。SAML2サーバIdP部173は、暗号データを秘密鍵格納部174に格納されている秘密鍵で複合化し、認証要求メッセージ文字列が正しく複合化されるのを確認する。認証要求メッセージ文字列が正しく複合化できている場合、SAML2サーバIdP部173はモバイル端末101のリダイレクトへの返信として、ユーザIDとパスワードの要求を送信する。モバイル端末101から要求したユーザIDとパスワードが送られてくると、SAML2サーバIdP部173は一時ユーザ格納部175を検索し、同じユーザIDとパスワードの対があるか否かを確認する。同じユーザIDとパスワードの対が存在する場合、SAML2サーバIdP部173はSAML認証応答メッセージを生成し、SAML認証応答メッセージを秘密鍵で暗号化する。そして、SAML2サーバIdP部173は、モバイル端末101経由でリダイレクトして、サービスサーバ105に暗号データが届くように返信する。なお、独自認証クライアントアプリ139の説明で詳細に記述するが、暗号化されたSAML認証応答メッセージをモバイル端末101に返信する際、独自認証クライアントアプリ139は指示通りにリダイレクトせず、ブラウザの子プロセス138を生成して、ブラウザの子プロセス138にリダイレクトさせる。これにより、以降の処理をブラウザの子プロセス138が行うことができる。暗号化されたSAML2認証応答メッセージをブラウザの子プロセス138から受け取ったSAML2サーバSP部151は、複合化の後にSAML2認証応答メッセージを確認し、正しく複合化されていればサービスの提供に移行する。
秘密鍵格納部174は、統合認証サーバ106を立ち上げた際に生成する一対の秘密鍵と公開鍵の対のうち、秘密鍵を格納する。一時ユーザ格納部175は、指紋認証が成功して、サービスの提供が許可されたユーザのユーザIDとパスワードの対を格納する。SAML2サーバIdP部173は、一時ユーザ格納部175を参照し、モバイル端末101から送られてくるユーザIDとパスワードの対が、格納されたユーザIDとパスワードの対と一致しているか否かを確認する。このような2段階の処理を行うのは、SAML2サーバIdP部173の改造を無くすためである。登録生体データDB部176は、ユーザIDと登録生体データの対を複数個格納する。登録生体データDB部176には、クラウドサービスの使用を許可された複数のユーザの、ユーザIDと登録指紋データが登録されている。
次に、モバイル端末101の独自認証クライアントアプリ139を、図9と共により詳細に説明する。図9は、独自認証クライアントアプリの構成の一例を示すブロック図である。図9中、図8と同一部分には同一符号を付し、その説明は省略する。
図9に示すように、独自認証クライアントアプリ139は、生体データ取得部202、ユーザIDパスワード送信部203、SAML2リダイレクト部204、サービス要求部205、生体認証依頼部206、サービスサーバ一覧取得部207、ユーザ情報入力部208、ブラウザ子プロセス生成部210、及びブラウザの子プロセス(以下、単に「ブラウザ子プロセス」とも言う)211を有する。
独自認証クライアントアプリ139では、最初にサービスサーバ一覧取得部207が統合認証サーバ106のサービスサーバ一覧提供部171に接続して、サービスの名前とサービスサーバのURLの対の一覧を取得し、サービスサーバ一覧取得部207のメモリに格納する。サービスサーバ一覧取得部207は、取得したサービスの名前一覧をユーザ情報入力部208に引き渡す。
ユーザ情報入力部208は、取得したサービスの名前一覧を表示し、ユーザにサービスの名前一覧の中から使用するサービスの選択を促す。さらに、ユーザ情報入力部208は、ユーザにユーザのユーザIDの入力を促す。ユーザ情報入力部208は、ユーザが選択したサービスの名前とユーザIDを取得すると、選択されたサービスの名前とユーザIDをユーザ情報入力部208のメモリに保存する。
次に、生体データ取得部202は、ユーザに指を指紋センサ102にかざすよう促す。これと同時に、生体データ取得部202は、モバイル端末用OS API136を経由して指紋センサ102を駆動する。生体データ取得部202は、ユーザの指から検出した照合用生体データの一例である指紋データを指紋センサ102から取得して生体データ取得部202のメモリに保存する。
次に、生体認証依頼部206は、生体データ取得部202のメモリに保存されている照合用生体データと、ユーザ情報入力部208のメモリに格納されているユーザIDを、統合認証サーバ106の生体認証部172に送信し、生体認証部172においてユーザIDと対となる登録生体データが検索される。生体認証部172は、検索された登録生体データと照合用生体データを照合する。生体認証部172が登録生体データと照合用生体データが同じユーザの指から生成されたデータであると判定した場合、生体認証依頼部206は生体認証部172から認証成功の通知とOTPを受信する。生体認証依頼部206は、受信したOTPを生体認証依頼部206のメモリに保存する。
生体認証依頼部206は、認証成功の通知を受信すると、サービス要求部205にサービス要求開始を通知する。サービス要求部205は、HTTPSでユーザに選択されたサービス名と対になっているサービスサーバ105のURLに向けてサービスの提供要求を行う。サービスサーバ105のSAML2サーバSP部151は、サービスの提供要求に対してSAML2プロトコルで返信する。
SAML2プロトコルは、HTTPSの上にSOAP(Simple Object Access Protocol)を乗せ、その中でSAML2に従ったデータを送信する比較的複雑なプロトコルである。しかし、モバイル端末101は、SAML2サーバSP部151からSAML2サーバIdP部173へのデータの中継と、その逆のSAML2サーバIdP部173からSAML2サーバSP部151へのデータの中継を行うリダイレクト処理を行うだけであり、データの中身を解析する必要は無い。リダイレクト処理自体は、SAML2リダイレクト部204において例えば下記の2種類の方法のいずれかに従って行える。
第1の方法では、サービスサーバ105へサービスの提供要求を行った際に、サービスサーバ105から返信されるHTTPレスポンスヘッダの中の「Location:」記述を利用する。リダイレクト処理を行う場合、HTTPレスポンスヘッダ中には、例えば次のような記述がある。
Location:
https://idp.example.com/SAML/Browser?SAMLRequest=fVFdS8MwFH0f7D%2BUvG
dNsq62oSsIQyhMESc%2B%2BJYlmRbWpObeyvz3puv2IMjyFM7HPedyK1DdsZdb%2F%2BEHf
LFfgwVMTt3RgTwzazIEJ72CFqRTnQWJWu7uH7dSLJjsg0ev%2FZFMlttiBWADtt6R%2BSyJ
r9msiRH7O70sCm31Mj%2Bo%2BC%2B1KA5GlEWeZaogSQMw2MYBKodrIhjLKONU8FdeSsZkV
r6TPr6T5M0GiHMjvWCknqZXZ2OoPxF7kGnaGOuwxZ%2Fn4L9bY8NC%2By4du1XpRXnxPcXizSZ5
8KFTeHujEWkNPZylsh9bAMYYUjO2Uiy3jCpTCMo5M1StVjmN9SO150sl9lU6RV2Dp0vsLIy
7NM7YU82r9B90PrvCf85W%2FwL8zSVQzAEAAA%3D%3D&RelayState=0043bfc1bc45110d
ae17004005b13a2b&SigAlg=http%3A%2F%2Fwww.w3.org%2F200%2F09%2Fxmldsig%23
rsasha1&Signature=NOTAREALSIGNATUREBUTTHEREALONEWOULDGOHERE
そこで、HTTPレスポンスヘッダ中に上記の如き「Location:」記述が存在する場合、httpsなので、例えばidp.example.comのドメイン名サーバの所定ポート番号に、SSL/TLSでセキュアソケットを接続する。また、残りのデータ部分が送信されるように、再度GETコマンドを発行する。具体的には、「GET /SAML/Browser?SAMLRequest=fVFdS8...... GOHERE」なるコマンドを送信する。
第2の方法では、HTTPレスポンスヘッダの後のhtml本文中のヘッダ部分「<head> </head>」で囲まれた中に存在する「<meta http-equiv="Refresh" content="0; URL=https://idp.example.com /SAML/Browser?SAMLRequest=.......GOHERE" />」というメタデータのRefresh記述を利用する。この場合、このようなHTTPレスポンスヘッダの後のhtml本文中のヘッダ部分で囲まれたメタデータのRefresh記述が存在する場合、Refresh記述の中のURL部分だけを解析し、「content=」中の「URL=」へ、SSL/TLSセキュアソケットで接続する。そして、上記第1の方法の場合と同様にGETコマンドを発行する。具体的には、「GET /SAML/Browser?SAML Request=fVFdS8...... GOHERE」なるコマンドを送信する。
以上の手順で、SAML2リダイレクト部204は、SAML2サーバSP部151とSAML2サーバIdP部173との間のデータを中継する。SAML2サーバSP部151及びSAML2サーバIdP部173は、夫々が保有する公開鍵と秘密鍵を用いて、相互の信頼関係を確立できる。SAML2サーバSP部151及びSAML2サーバIdP部173が相互の信頼関係が確立した後、SAML2サーバIdP部173は、リダイレクト処理に対するレスポンス、即ち、ユーザIDとOTPを要求する画面の表示を実施するhtmlを、SAML2リダイレクト部204に返信する。SAML2リダイレクト部204は、ユーザIDとOTPの要求画面の表示を行うhtmlを破棄し、その代わりに、ユーザIDパスワード送信部203にユーザIDとパスワードをSAML2サーバIdP部173に送信するように命令する。
ユーザIDパスワード送信部203は、一時ユーザ格納部175に保存されているユーザIDとOTPを、SAML2サーバIdP部173に送信する。例えば10分以上の比較的長い時間が経過していなければ、このユーザIDとOTPの対は、必ず一時ユーザ格納部175に格納されている。指紋認証が終わってユーザIDとOTPの対が一時ユーザ格納部175に格納されてから、ユーザIDパスワード送信部203に制御が移るまで、時間的には例えば1秒未満程度の比較的短い時間しかかからない。このため、SAML2サーバIdP部173でのユーザIDとOTPの認証は必ず成功する。そして、サービスサーバ105へのログインを許可するための、サービスサーバ105のURLを含む、URL付SAML認証応答メッセージが、SAML2リダイレクト部204送信される。
SAML2リダイレクト部204は、ユーザIDパスワード送信部203にユーザIDとOTPを送信するよう命令した後に、最初にSAML2サーバIdP部173から送信されてくるSAML2通信を、自身ではリダイレクトせず、ブラウザ子プロセス生成部210にSAML2通信内容を渡す。ブラウザ子プロセス生成部210にSAML2通信内容を渡した後、SAML2リダイレクト部204はサービスサーバ105及び統合認証サーバ106の通信を切断する。
ブラウザ子プロセス生成部210は、具体的にはモバイルOS API136をSAML2通信内容付きで呼び出してブラウザ子プロセス211を生成する。例えば、Android(登録商標)などのモバイル端末用OSでは、SAML2通信内容("https://sp.example.com/..."の部分)を引数に、new Intent命令でブラウザ子プロセス211を作成し、startActivity関数で活動を開始することができる。
Uri uri = Uri.parse( "https://sp.example.com/SAML/Browser?SAMLResponse=
asDCvDSf...." );
Intent browserIntent;
browserIntent = new Intent( Intent.ACTION_VIEW,uri );
startActivity( browserIntent );
ブラウザ子プロセス211は、startActivity関数で活動を開始し、SAML2通信内容に従ってサービスサーバ105のSAML2サーバSP部152に接続する。一般的なクライアント・サーバ通信の場合、通信を行っている最中は、サーバ及びクライアントが共にステート(状態)を保持して通信及び処理を継続する。途中で通信が途絶えた場合は、ステートはリセットされ、通信は最初からやり直しとなる。しかし、HTTPの場合、回線の不安定な状態でも通信を続けられるようにするため、クライアントとサーバでステートを持たない、ステートレスの通信と処理を行う。SAMLもHTTP上に設けられたステートレスのプロトコルであるため、ブラウザ子プロセス211から再度の接続があった場合、送信されたURL付SAML認証応答メッセージを解釈し、そこから処理を再開する。
URL付SAML認証応答メッセージを受け取ったSAML2サーバSP部152部は、サービス提供部153にサービス提供の許可を出し、モバイル端末101への応答を命令する。サービス提供部153は、ブラウザ子のプロセス211にサービスの提供を開始する。
次に、モバイル端末、サービスサーバ、及び統合認証サーバの動作シーケンスを、図10と共に説明する。図10は、一実施例におけるセキュアログイン処理の一例を説明する図である。図10において、ステップ701,701A,702,703,708A,709,711,713の処理はモバイル端末101のプロセッサにより実行され、ステップ708B,714の処理はサービスサーバ105のプロセッサにより実行され、ステップ701B,704〜707,708,710,712の処理は統合認証サーバ106のプロセッサにより実行される。
モバイル端末101は、ステップ701において、独自認証クライアントアプリ139を起動する。モバイル端末101の独自認証クライアントアプリ139を起動されると、サービスサーバ一覧取得部207は、ステップ701Aにおいて、統合認証サーバ106に接続してサービス名とサービスサーバURLの一覧を要求する。統合認証サーバ106のサービスサーバ一覧提供部171は、ステップ701Bにおいて、要求されたサービス名とサービスサーバURLの一覧をモバイル端末101に返信するので、モバイル端末101は要求したサービス名とサービスサーバURLの一覧を取得してユーザ情報入力部208に引き渡す。
モバイル端末101のユーザ情報入力部208は、ステップ702において、ユーザに対してユーザIDを入力することを促し、さらに使用するサービスの選択を促す。従って、モバイル端末101では、ユーザが入力したユーザIDとユーザが選択したサービスを提供する接続先のサービスサーバ105が決定される。
モバイル端末101では、ステップ703において、生体データ取得部202が指紋センサ102をUSBホストコントローラ132経由で制御してユーザの指を読み取って照合用生体データを生成し、生体認証依頼部206がユーザIDと照合用生体データを統合認証サーバ106に送信する。
統合認証サーバ106の生体認証部172は、ステップ704において、ユーザIDで登録生体データDB部176を検索し、同じユーザIDと対になっている登録生体データを取得する。統合認証サーバ106は、ステップ705において、照合用生体データと登録生体データを照合し、これらの生体データが同じユーザの指から生成された生体データであるか否かを判定する。統合認証サーバ106の生体認証部172は、ステップ706において、照合した照合用生体データと登録生体データが同じユーザの指から生成され生体データが一致すると判定した場合、例えば256ビット程度の長さのOTPを生成する。統合認証サーバ106の生体認証部172は、ステップ707において、OTPをユーザIDと対にして一定時間だけ一時ユーザ格納部175に一時的に保存する。例えば10分程度の一定時間が経過すると、一時ユーザ格納部175に保存されたユーザIDとOTPの対は消去され、SAML2サーバIdP部173から認証用ユーザデータのデータベースとして検索される。また、統合認証サーバ106の生体認証部172は、ステップ708において、照合用生体データと登録生体データの照合の結果これらの生体データが一致したことを示す認証成功の通知と、OTPとをモバイル端末101に送信する。
モバイル端末101では、ステップ708Aにおいて、生体認証依頼部206が認証成功の通知とOTPを受け取ると、サービス要求部205がサービスサーバURLによりサービスサーバ105へリソースへのアクセスを要求する(Request Target Resource)。サービスサーバ105のSAML2サーバSP部151は、ステップ708Bにおいて、最終的な到達サーバを統合認証サーバ106に設定して、モバイル端末101にリダイレクトするようにSAML認証要求メッセージを送信する。
モバイル端末101のSAML2リダイレクト部204は、ステップ709において、SAML認証要求メッセージのリダイレクト指示により、統合認証サーバ106にSAML認証要求メッセージ(Authentication Request)をリダイレクトすることで、SAML2サーバSP部151とSAML2サーバIdP部173との間のデータを中継する。
統合認証サーバ106のSAML2サーバIdP部173は、ステップ710において、SAML認証要求メッセージを受信すると、ユーザIDとパスワードの入力を促す(または、要求する)ページ(html)、即ち、ユーザIDとパスワードを統合認証サーバ106に送信するための画面を、モバイル端末101に送信する。
モバイル端末101のSAML2リダイレクト部204は、ステップS711において、受信したhtmlページに従った画面表示は行わず、代わりに、ユーザに入力させたユーザIDと、既に受信しているOTPを統合認証サーバ106に返信する。
統合認証サーバ106のSAML2サーバIdP部173は、ステップ712において、受信したユーザIDとOTPの対が、一時ユーザ格納部175に格納されているか否かを確認する。例えば10分程度の一定時間を超える時間が経過していなければ、受信したユーザIDとOTPの対が一時ユーザ格納部175に格納されているので、照合されるOTP同士は一致する。照合されるOTP同士が一致する場合、統合認証サーバ106のSAML2サーバIdP部173は、ステップ712において、サービスサーバ105へリダイレクトするように、サービスサーバ105のURLを含む、URL付SAML2認証応答メッセージをモバイル端末101に返信する(Respond with Assertion)。
モバイル端末101では、ステップ713において、SAML2リダイレクト部204は、受信したURL付SAML2認証応答メッセージをリダイレクトせず、統合認証サーバ106との通信セッションを切断すると共に、ブラウザ子プロセス生成部210がURL付SAML2認証応答メッセージを引数としてブラウザ子プロセス211を起動し、以降の処理をブラウザ子プロセス211に行わせる。ブラウザ子プロセス211は、起動されるとURL付SAML2認証応答メッセージをサービスサーバ105へ送信する。
サービスサーバ105のSAML2サーバSP部151は、ステップ714において、URL付SAML認証応答メッセージを受信すると、代行認証が成功したことを認識し、オートログインを実行することでサービスサーバ105の持つサービス(リソースやオペレーション)をモバイル端末101のブラウザ子プロセス211へ提供する(Respond with Request Resource)。
図11は、モバイル端末に表示される画面の一例を示す図である。図11は、モバイル端末101において、独自認証クライアントアプリ139が表示画面139Aを表示している状態を示す。例えば、図10のステップ701Bにおいて、統合認証サーバ106がプルダウンメニュー142によりサービスサーバ名の一覧(サービスサーバURLの図示は省略)をモバイル端末101に表示すると、ステップ702において、ユーザがプルダウンメニュー142から選択したサービスサーバがサイト(Sites)のフィールド141入力され、ユーザが入力したユーザIDがユーザID(User ID)フィールド143に入力されて、ユーザIDと接続先のサービスサーバ105が決定される。なお、この例では、モバイル端末101がステップ703において指紋センサ102に読み取らせたユーザの指紋データがフィールド144に表示されているが、モバイル端末101における指紋データの表示は省略可能である。
図12は、コンピュータの構成の一例を示すブロック図である。コンピュータ200は、プロセッサの一例であるCPU (Central Processing Unit)201、記憶手段の一例である記憶部202、入力部の一例であるキーボード203、インターフェイス205、及び出力部の一例である表示部206を有しても良い。この例では、CPU201、記憶部202、キーボード203、インターフェイス205、及び表示部206がバス207により接続されているが、コンピュータ200はバス207により接続された構成に限定されない。
コンピュータ200がモバイル端末101を形成する場合には、インターフェイス205は無線通信機能を有する周知の通信部を含み、この通信部がアンテナなどを介してインターネット103と無線接続する。また、インターフェイス205は、USB接続を可能とする周知のUSB接続部を含み、指紋センサ102などをモバイル端末101に接続可能とする。なお、通信部は、USB接続部を含むインターフェイス205とは別体としてバス207に接続されていても良い。さらに、モバイル端末101が指紋センサ102を内蔵する場合には、指紋センサ102はバス207に直接接続されていても良い。
一方、コンピュータ200がサービスサーバ105または統合認証サーバ106を形成する場合には、インターフェイス205は通信機能を有する周知の通信部を含み、この通信部がルータ107または108と通信可能に接続される。
記憶部202は、CPU201が実行するプログラム、各種データなどを格納する。記憶部202は、メモリ、HDD(Hard Disk Drive)などの記憶装置で形成しても良い。CPU201は、記憶部202に格納されたプログラムを実行することにより、コンピュータ200全体の制御を司る。CPU201は、プログラムを実行することで、図10に示すモバイル端末101の機能、或いは、図10に示すサービスサーバ105の機能、或いは、図10に示す統合認証サーバ106の機能を実現できる。プログラムがモバイル端末101の機能を実現する場合、このプログラムは図8に示すホストコントローラ132、モバイル端末用OS134、ブラウザ137、ブラウザの子プロセス138、及び独自認証クライアントアプリ139を含んでも良い。
キーボード203は、CPU201にコマンド及びデータを入力するのに用いられる。インターフェイス205は、コンピュータ200と外部装置との接続に使用される。表示部206は、CPU201の制御下で、コンピュータ200のユーザに対して各種メッセージやデータを表示する。コンピュータ200がモバイル端末101を形成する場合、表示部206は、例えば図11に示す画面を表示しても良い。キーボード203及び表示部206は、例えば図11に示すタッチパネルのように一体的に設けられていても良い。
上記実施例では、ブラウザにプラグインを導入したり、プロセス間通信を行うことができず、デバイスドライバの追加も行えないモバイル端末用OSにおいて、生体データによる代行認証とログインを行うため、次の対策を取っている。
先ず、生体認証部とSAML2サーバIdP部を有する統合認証サーバを用意する。次に、クラウドサービスを提供するサービスサーバにSAML2サーバSP部を用意し、サービスサーバへの認証を統合認証サーバに代行させるようにする。クラウドサービスは、SAML2認証に対応している場合が多く、管理者自身はSAML2認証を設定するだけで良い。指紋認証などの生体認証とSAML2認証も、夫々オープンソースや製品などで提供されており、例えば企業または団体が保有する既存の設備に応じて用意できる。そこで、ユーザは、モバイル端末にUSB経由で指紋センサを接続し、指紋センサを駆動して認証を行い認証結果を元にサービスサーバへ代行ログインを実施する独自認証クライアントアプリをモバイル端末にインストールする。
この独自認証クライアントアプリは、モバイル端末用OSのAPIを通じて、USBホストコントローラのデバイスドライバを呼び出す。モバイル端末は、このデバイスドライバを経由して、USBホストコントローラに接続された指紋センサと直接データを送受信することができる。このため、指紋センサに直接コマンドデータを送信することにより、指紋センサを制御することができる。これにより、指紋センサのデバイスドライバを導入しなくても、指紋センサからユーザの照合用生体データを取得することができる。そして、ユーザIDと共に照合用生体データを統合認証サーバに送信してユーザ認証を求めることにより、ユーザ認証が成功した場合に、SAML2サーバIdP部から認証を求められた際に渡すOTPを入手できる。
さらに、独自認証クライアントアプリは、サービスサーバに用意されたSAML2サーバSP部に対してサービスの提供を要求し、返信されてくるSAML2データをSAML2サーバIdP部にリダイレクトすることができる。また、これとは逆に、独自認証クライアントアプリは、SAML2サーバIdP部から送られてくるSAML2データをSAML2サーバSP部にリダイレクトすることができる。SAML2プロトコルは、HTTPSプロトコルの上にSOAPプロトコルを乗せ、さらにSOAPプロトコルの上にSAML2プロトコルを乗せるプロトコルであるため、非常に複雑なプロトコルである。しかし、殆どの処理はSAML2サーバIdP部とSAML2サーバSP部で行われ、モバイル端末はHTTPレスポンスヘッダの中の「Location:」記述か、htmlのヘッダ部分「<head> </head>」で囲まれた中に存在する「<meta http-equiv="Refresh"」というRefresh記述に従って転送するサーバを特定し、残りの部分をデータとして送信すれば良い。これにより、独自認証クライアントアプリは、比較的少ない工数で実装することができる。
独自認証クライアントアプリは、比較的少ない工数で実装できるが、サービスサーバが提供するサービスをサービスサーバと連携して実行して表示するブラウザは、比較的多い工数の実装を必要とする。また、仮に独自認証クライアントアプリをモバイル端末用OS用のアプリとして実装したとしても、後から追加するアプリは、最初からモバイル端末のOSと一緒に用意されるデフォルトアプリと比較して、ハードウェアのネイティブな機能を直接操作することができないため、実行速度に問題を有する場合がある。
そこで、独自認証クライアントアプリは、最初にユーザIDと照合用生体データを統合認証サーバに送り、OTPを入手する。次に、独自認証クライアントアプリは、サービスサーバのSAML2サーバSP部にサービスの提供要求を出してSAML2プロトコルによる認証を開始する。独自認証クライアントアプリは、SAML2データ通信をSAML2サーバSP部とSAML2サーバIdP部の間で中継する。独自認証クライアントアプリは、統合認証サーバからユーザIDとパスワードを要求するhtmlページが送られてくると、htmlページを破棄して画面表示は行わず、代わりに予め用意してあるユーザIDとOTPを送信する。これにより、SAML2の認証は成功し、SAML2サーバIdP部からSAML2サーバSP部へ向けてサービスの使用を許可するURL付SAML認証応答メッセージが送信される。
このように、独自認証クライアントアプリは、リダイレクトせず、代わりにデフォルトアプリのブラウザの子プロセスを、URL付SAML認証応答メッセージを引数に生成する。以降のSAML2認証は、デフォルトアプリのブラウザの子プロセスによって行われる。ユーザIDとパスワードの認証は既に完了しているので、ブラウザの子アプリのSAML認証は最後まで行われ、サービスの使用許可が下りてサービスが使用できるようになる。サービスの実行は、デフォルトアプリのブラウザの子プロセスで行われているので、十分な実行速度を持った、スムーズな処理が行われる。
従って、クラウドサービスプロバイダからのサービス利用を、ユーザによるパスワード入力ではなく、生体データの照合による認証で代行することができる。さらに、SAML2関連の実装は、リダイレクト処理だけで、少なくすることができる。処理の最後でSAML2認証の処理をデフォルトアプリのブラウザの子プロセスに委譲することによって、サービスの実行をハードウェアアクセラレーションの効いた、素早い実行速度で行うことができる。
なお、上記実施例は、生体センサに指紋センサを採用しているが、生体センサに静脈センサまたは虹彩センサを採用しても、指紋センサを採用した場合と同様に静脈データまたは虹彩データなどの生体データを取得できることは言うまでもない。
また、他の実施例において、モバイル端末に接続するデバイスが生体センサではなく、ICカードやUSBトークンなどのUSBストレージであっても良い。この場合、USBストレージ内に、予め統合認証サーバがユーザ毎に乱数で発行した暗号鍵(または、署名データ)を記憶しておき、照合用生体データの代わりにUSBストレージから読み取った暗号鍵を統合認証サーバに送信し、この暗号鍵の正しさを統合認証サーバで確認することでユーザ認証を行える。統合認証サーバでは、USBストレージから読み出されたモバイル端末からの暗号鍵がユーザ毎に発行した暗号鍵であるか否か判定することで、ICカードやUSBトークンなどの所有物認証、即ち、パスワードの代わりの代行認証を行うことができる。
上記の各実施例によれば、セキュリティやビジネスモデルの制約から、デバイスドライバの追加導入、プロセス間通信によるパスワードの代行入力、ブラウザプラグインによるパスワードの代行返信などが制限されているモバイル端末において、SAML2データをリダイレクトする機能、生体認証部にパスワードを代行返信する機能、及びパスワード送信後に送られてきたSAML2データをブラウザの子プロセスに渡す機能を備えることによって、ユーザにパスワードを入力させること無く、生体認証やトークンによる代行認証を行うことができる。
上記の各実施例によれば、ユーザ認証に用いるデバイスを外部接続して比較的容易に認証機能を追加できる。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ネットワークを介して第1のサーバ及び第2のサーバと通信可能な通信端末であって、
他のアプリケーションからプロセス間通信を受けて、それを引数として子プロセスを立ち上げるブラウザと、
ホストコントローラと、
センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出して前記ホストコントローラを制御するオペレーティングシステムと、
前記オペレーティングシステムのインタフェースを介して前記ホストコントローラに接続された前記センサとデータを送受信する独自認証アプリケーションとを備え、
前記独自認証アプリケーションは、
ユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、前記ユーザ認証が成功した場合に前記第2のサーバから送信されてくるパスワードを取得し、
前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
前記第2のサーバに送信したユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバから送信されてくる、前記第1のサーバを特定する情報を含む認証応答を、リダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
ことを特徴とする、通信端末。
(付記2)
前記オペレーティングシステムは、デバイスドライバの追加、前記通信端末のアプリケーション間のプロセス間通信、及び前記ブラウザのプラグインによる拡張が制限されており、
前記独自認証アプリケーションは、前記第1のサーバから送信されてくる認証データを前記第2のサーバにリダイレクトすると共に、前記第2のサーバから送信されてくる認証データを前記第1のサーバにリダイレクトすることを特徴とする、付記1記載の通信端末。
(付記3)
前記独自認証アプリケーションは、
サービスを提供する複数の第1のサーバの一覧を取得するサービスサーバ一覧取得部と、
前記センサを制御して前記センサが検出したデータを取得するデータ取得部と、
サービス名と前記ユーザIDの入力をユーザに促すユーザ情報入力部と、
前記ユーザIDと前記データを前記第2のサーバに送信して前記パスワードを受け取る認証依頼部と、
前記サービス名と対となる選択された第1のサーバを特定する情報に従って前記選択された第1のサーバに対するサービスの提供要求を行うサービス要求部と、
前記選択された第1のサーバから送信されてくる前記認証データを、リダイレクト設定に従って前記第2のサーバにリダイレクトすると共に、前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記独自認証アプリケーションが前記画面に従った画面表示は行わずに予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信するデータリダイレクト部と、
前記第2のサーバから送られてくるユーザIDとパスワードの要求に対して、前記ユーザ情報入力部が取得したユーザIDと、前記認証依頼部が取得したパスワードを前記第2のサーバに送信するユーザIDパスワード送信部と、
前記ユーザIDパスワード送信部がユーザIDとパスワードを送信した後、最初に認証データを受け取った際に、認証データ中のサーバドメイン部分に従って前記選択された第1のサーバに接続し、前記認証データ中の付属の認証データ部分が渡される前記ブラウザの子プロセスを生成する子プロセス生成部
を含むことを特徴とする、付記1または2記載の通信端末。
(付記4)
前記データは、ユーザの指紋、静脈、及び虹彩のいずれかの生体データであることを特徴とする、付記1乃至3のいずれか1項記載の通信端末。
(付記5)
前記ネットワークは、インターネットを含み、
前記第1のサーバを特定する情報はURL(Uniform Resource Locator)であることを特徴とする、付記1乃至4のいずれか1項記載の通信端末。
(付記6)
前記認証データは、SAML 2(Security Assertion Markup Language 2.0)に準拠した認証データであることを特徴とする、付記1乃至5のいずれか1項記載の通信端末。
(付記7)
前記データは、ユーザの所有物認証のデータであることを特徴とする、付記1乃至3のいずれか1項記載の通信端末。
(付記8)
ネットワークを介して第1のサーバ及び第2のサーバと通信する通信端末のセキュアログイン方法であって、
他のアプリケーションからプロセス間通信を受けて、それを引数として前記通信端末の子プロセスを立ち上げ、
センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出してホストコントローラを制御する前記通信端末のオペレーティングシステムのインタフェースを介して、前記通信端末の独自認証アプリケーションが前記ホストコントローラに接続された前記センサとデータを送受信し、
前記独自認証アプリケーションがユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、
前記ユーザ認証が成功した場合に前記第2のサーバがパスワードを前記通信端末に送信し、
前記独自認証アプリケーションが前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記独自認証アプリケーションが予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
前記通信端末から送信されてくるユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバが前記第1のサーバを特定する情報を含む認証応答を前記通信端末に送信し、
前記独自認証アプリケーションが前記認証応答をリダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
ことを特徴とする、セキュアログイン方法。
(付記9)
前記オペレーティングシステムは、デバイスドライバの追加、前記通信端末のアプリケーション間のプロセス間通信、及び前記ブラウザのプラグインによる拡張が制限されており、
前記独自認証アプリケーションが、前記第1のサーバから送信されてくる認証データを前記第2のサーバにリダイレクトすると共に、前記第2のサーバから送信されてくる認証データを前記第1のサーバにリダイレクトすることを特徴とする、付記8記載のセキュアログイン方法。
(付記10)
前記独自認証アプリケーションは、
サービスサーバ一覧取得部によりサービスを提供する複数の第1のサーバの一覧を取得し、
データ取得部により前記センサを制御して前記センサが検出したデータを取得し、
ユーザ情報入力部によりサービス名と前記ユーザIDの入力をユーザに促し、
認証依頼部により前記ユーザIDと前記データを前記第2のサーバに送信して前記パスワードを受け取り、
サービス要求部により前記サービス名と対となる選択された第1のサーバを特定する情報に従って前記選択された第1のサーバに対するサービスの提供要求を行い、
データリダイレクト部により前記選択された第1のサーバから送信されてくる前記認証データを、リダイレクト設定に従って前記第2のサーバにリダイレクトすると共に、前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記独自認証アプリケーションが前記画面に従った画面表示は行わずに予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
ユーザIDパスワード送信部により前記第2のサーバから送られてくるユーザIDとパスワードの要求に対して、前記ユーザ情報入力部が取得したユーザIDと、前記認証依頼部が取得したパスワードを前記第2のサーバに送信し、
子プロセス生成部により前記ユーザIDパスワード送信部がユーザIDとパスワードを送信した後、最初に認証データを受け取った際に、認証データ中のサーバドメイン部分に従って前記選択された第1のサーバに接続し、前記認証データ中の付属の認証データ部分が渡される前記ブラウザの子プロセスを生成する
ことを特徴とする、付記8または9記載のセキュアログイン方法。
(付記11)
前記生体データは、ユーザの指紋、静脈、及び虹彩のいずれかの生体データであることを特徴とする、付記8乃至10のいずれか1項記載のセキュアログイン方法。
(付記12)
前記ネットワークは、インターネットを含み、
前記第1のサーバを特定する情報はURL(Uniform Resource Locator)であることを特徴とする、付記8乃至11のいずれか1項記載のセキュアログイン方法。
(付記13)
前記認証データは、SAML 2(Security Assertion Markup Language 2.0)に準拠した認証データであることを特徴とする、付記8乃至12のいずれか1項記載のセキュアログイン方法。
(付記14)
前記データは、ユーザの所有物認証のデータであることを特徴とする、付記8乃至10のいずれか1項記載のセキュアログイン方法。
(付記15)
通信端末のプロセッサに、ネットワークを介して第1のサーバ及び第2のサーバと通信する処理を実行させるプログラムであって、
他のアプリケーションからプロセス間通信を受けて、それを引数として子プロセスを立ち上げ、
センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出して前記通信端末のホストコントローラを制御する前記通信端末のオペレーティングシステムのインタフェースを介して、前記通信端末の独自認証アプリケーションが前記ホストコントローラに接続された前記センサとデータを送受信するし、
前記独自認証アプリケーションが、
ユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、前記ユーザ認証が成功した場合に前記第2のサーバから送信されてくるパスワードを取得し、
前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
前記第2のサーバに送信したユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバから送信されてくる、前記第1のサーバを特定する情報を含む認証応答を、リダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
ことを含む処理を前記プロセッサに実行させることを特徴とする、プログラム。
(付記16)
前記オペレーティングシステムは、デバイスドライバの追加、前記通信端末のアプリケーション間のプロセス間通信、及び前記ブラウザのプラグインによる拡張が制限されており、
前記独自認証アプリケーションが、前記第1のサーバから送信されてくる認証データを前記第2のサーバにリダイレクトすると共に、前記第2のサーバから送信されてくる認証データを前記第1のサーバにリダイレクトすることを特徴とする、付記15記載のプログラム。
(付記17)
前記独自認証アプリケーションが、
サービスサーバ一覧取得部によりサービスを提供する複数の第1のサーバの一覧を取得し、
データ取得部により前記センサを制御して前記センサが検出したデータを取得し、
ユーザ情報入力部によりサービス名と前記ユーザIDの入力をユーザに促し、
認証依頼部により前記ユーザIDと前記データを前記第2のサーバに送信して前記パスワードを受け取り、
サービス要求部により前記サービス名と対となる選択された第1のサーバを特定する情報に従って前記選択された第1のサーバに対するサービスの提供要求を行い、
データリダイレクト部により前記選択された第1のサーバから送信されてくる前記認証データを、リダイレクト設定に従って前記第2のサーバにリダイレクトすると共に、前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記独自認証アプリケーションが前記画面に従った画面表示は行わずに予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
ユーザIDパスワード送信部により前記第2のサーバから送られてくるユーザIDとパスワードの要求に対して、前記ユーザ情報入力部が取得したユーザIDと、前記認証依頼部が取得したパスワードを前記第2のサーバに送信し、
子プロセス生成部により前記ユーザIDパスワード送信部がユーザIDとパスワードを送信した後、最初に認証データを受け取った際に、認証データ中のサーバドメイン部分に従って前記選択された第1のサーバに接続し、前記認証データ中の付属の認証データ部分が渡される前記ブラウザの子プロセスを生成する
ことを含む処理を前記プロセッサに実行させることを特徴とする、付記15または16記載のプログラム。
(付記18)
前記生体データは、ユーザの指紋、静脈、及び虹彩のいずれかの生体データであることを特徴とする、付記15乃至17のいずれか1項記載のプログラム。
(付記19)
前記ネットワークは、インターネットを含み、
前記第1のサーバを特定する情報はURL(Uniform Resource Locator)であることを特徴とする、付記15乃至18のいずれか1項記載のプログラム。
(付記20)
前記認証データは、SAML 2(Security Assertion Markup Language 2.0)に準拠した認証データであることを特徴とする、付記15乃至19のいずれか1項記載のプログラム。
以上、開示の通信端末、セキュアログイン方法、及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
101 モバイル端末
102 指紋センサ
103 インターネット
104 データセンタ
105 サービスサーバ
106 統合認証サーバ
107,108 ルータ
132 USBホストコントローラ
134 モバイル端末用OS
137 ブラウザ
139 独自認証クライアントアプリ
200 コンピュータ
201 CPU
202 記憶部

Claims (5)

  1. ネットワークを介して第1のサーバ及び第2のサーバと通信可能な通信端末であって、
    他のアプリケーションからプロセス間通信を受けて、それを引数として子プロセスを立ち上げるブラウザと、
    ホストコントローラと、
    センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出して前記ホストコントローラを制御するオペレーティングシステムと、
    前記オペレーティングシステムのインタフェースを介して前記ホストコントローラに接続された前記センサとデータを送受信する独自認証アプリケーションとを備え、
    前記独自認証アプリケーションは、
    ユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、前記ユーザ認証が成功した場合に前記第2のサーバから送信されてくるパスワードを取得し、
    前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
    前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
    前記第2のサーバに送信したユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバから送信されてくる、前記第1のサーバを特定する情報を含む認証応答を、リダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
    ことを特徴とする、通信端末。
  2. 前記オペレーティングシステムは、デバイスドライバの追加、前記通信端末のアプリケーション間のプロセス間通信、及び前記ブラウザのプラグインによる拡張が制限されており、
    前記独自認証アプリケーションは、前記第1のサーバから送信されてくる認証データを前記第2のサーバにリダイレクトすると共に、前記第2のサーバから送信されてくる認証データを前記第1のサーバにリダイレクトすることを特徴とする、請求項1記載の通信端末。
  3. 前記独自認証アプリケーションは、
    サービスを提供する複数の第1のサーバの一覧を取得するサービスサーバ一覧取得部と、
    前記センサを制御して前記センサが検出したデータを取得するデータ取得部と、
    サービス名と前記ユーザIDの入力をユーザに促すユーザ情報入力部と、
    前記ユーザIDと前記データを前記第2のサーバに送信して前記パスワードを受け取る認証依頼部と、
    前記サービス名と対となる選択された第1のサーバを特定する情報に従って前記選択された第1のサーバに対するサービスの提供要求を行うサービス要求部と、
    前記選択された第1のサーバから送信されてくる前記認証データを、リダイレクト設定に従って前記第2のサーバにリダイレクトすると共に、前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記画面に従った画面表示は行わずに予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信するデータリダイレクト部と、
    前記第2のサーバから送られてくるユーザIDとパスワードの要求に対して、前記ユーザ情報入力部が取得したユーザIDと、前記認証依頼部が取得したパスワードを前記第2のサーバに送信するユーザIDパスワード送信部と、
    前記ユーザIDパスワード送信部がユーザIDとパスワードを送信した後、最初に認証データを受け取った際に、認証データ中のサーバドメイン部分に従って前記選択された第1のサーバに接続し、前記認証データ中の付属の認証データ部分が渡される前記ブラウザの子プロセスを生成する子プロセス生成部
    を含むことを特徴とする、請求項1または2記載の通信端末。
  4. ネットワークを介して第1のサーバ及び第2のサーバと通信する通信端末のセキュアログイン方法であって、
    他のアプリケーションからプロセス間通信を受けて、それを引数として前記通信端末の子プロセスを立ち上げ、
    センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出してホストコントローラを制御する前記通信端末のオペレーティングシステムのインタフェースを介して、前記通信端末の独自認証アプリケーションが前記ホストコントローラに接続された前記センサとデータを送受信し、
    前記独自認証アプリケーションがユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、
    前記ユーザ認証が成功した場合に前記第2のサーバがパスワードを前記通信端末に送信し、
    前記独自認証アプリケーションが前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
    前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、前記独自認証アプリケーションが予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
    前記通信端末から送信されてくるユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバが前記第1のサーバを特定する情報を含む認証応答を前記通信端末に送信し、
    前記独自認証アプリケーションが前記認証応答をリダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
    ことを特徴とする、セキュアログイン方法。
  5. 通信端末のプロセッサに、ネットワークを介して第1のサーバ及び第2のサーバと通信する処理を実行させるプログラムであって、
    他のアプリケーションからプロセス間通信を受けて、それを引数として子プロセスを立ち上げ、
    センサを制御するインタフェースを含む複数のインタフェースから1つのインタフェースを呼び出して前記通信端末のホストコントローラを制御する前記通信端末のオペレーティングシステムのインタフェースを介して、前記通信端末の独自認証アプリケーションが前記ホストコントローラに接続された前記センサとデータを送受信するし、
    前記独自認証アプリケーションが、
    ユーザIDと共に前記センサが検出した照合用データを前記第2のサーバに送信してユーザ認証を要求し、前記ユーザ認証が成功した場合に前記第2のサーバから送信されてくるパスワードを取得し、
    前記第1のサーバに対してサービスの提供を要求した結果前記第1のサーバから送信されてくる認証データを前記第1のサーバと前記第2のサーバとの間で中継し、
    前記第2のサーバからユーザIDとパスワードの入力を促す画面を受信した場合に、予め用意されたユーザIDと既に取得しているパスワードを前記第2のサーバに送信し、
    前記第2のサーバに送信したユーザIDとパスワードの対が前記第2のサーバに格納されていて認証が成功した場合に前記第2のサーバから送信されてくる、前記第1のサーバを特定する情報を含む認証応答を、リダイレクトせずに前記第2のサーバとの通信を切断すると共に、前記認証応答に基づく引数で前記ブラウザの子プロセスを起動して前記認証応答を前記第1のサーバへ送信してログインすることで前記第1のサーバのサービスの提供を受ける
    ことを含む処理を前記プロセッサに実行させることを特徴とする、プログラム。
JP2014046933A 2014-03-10 2014-03-10 通信端末、セキュアログイン方法、及びプログラム Expired - Fee Related JP6256116B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014046933A JP6256116B2 (ja) 2014-03-10 2014-03-10 通信端末、セキュアログイン方法、及びプログラム
US14/640,090 US9479496B2 (en) 2014-03-10 2015-03-06 Communication terminal and secure log-in method acquiring password from server using user ID and sensor data
EP15158188.1A EP2919435B1 (en) 2014-03-10 2015-03-09 Communication terminal and secure log-in method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014046933A JP6256116B2 (ja) 2014-03-10 2014-03-10 通信端末、セキュアログイン方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015170319A true JP2015170319A (ja) 2015-09-28
JP6256116B2 JP6256116B2 (ja) 2018-01-10

Family

ID=52669492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014046933A Expired - Fee Related JP6256116B2 (ja) 2014-03-10 2014-03-10 通信端末、セキュアログイン方法、及びプログラム

Country Status (3)

Country Link
US (1) US9479496B2 (ja)
EP (1) EP2919435B1 (ja)
JP (1) JP6256116B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020126602A (ja) * 2018-12-27 2020-08-20 コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム
JP2021021999A (ja) * 2019-07-24 2021-02-18 コニカミノルタ株式会社 認証システム、支援サーバーおよび支援プログラム
JP2021120823A (ja) * 2020-01-30 2021-08-19 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10686781B1 (en) * 2013-12-24 2020-06-16 Affirm Inc. System and method for passwordless logins
EP3082034A1 (en) * 2015-04-17 2016-10-19 Gemalto Sa Method for modifying the execution of a platform-independent method of an integrated circuit card
CN106528279B (zh) * 2015-09-14 2019-08-02 广州市动景计算机科技有限公司 一种快速切换浏览器配置的方法和系统
TWI551097B (zh) * 2015-09-23 2016-09-21 sheng-fu Zhang A narrow data transmission method and a system using the same
US10776770B2 (en) 2015-10-19 2020-09-15 Synchrony Bank System and method for integrating data from a remote server with a client application
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10430571B2 (en) * 2016-09-06 2019-10-01 Blackberry Limited Trusted UI authenticated by biometric sensor
CN107800675B (zh) * 2016-09-07 2020-04-07 深圳市腾讯计算机系统有限公司 一种数据传输方法、终端以及服务器
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
JP7018437B2 (ja) * 2016-09-16 2022-02-10 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10484243B2 (en) * 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10356079B2 (en) * 2016-12-05 2019-07-16 Keeper Security, Inc. System and method for a single sign on connection in a zero-knowledge vault architecture
KR102322683B1 (ko) * 2017-03-20 2021-11-08 삼성전자 주식회사 생체 정보의 위조를 식별하기 위한 전자 장치 및 방법
US10455418B2 (en) 2017-04-27 2019-10-22 Afero, Inc. Securely providing a password using an internet of things (IOT) system
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
CN107454077B (zh) * 2017-08-01 2020-05-19 北京迪曼森科技有限公司 一种基于iki标识认证的单点登录方法
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
KR20190046063A (ko) * 2017-10-25 2019-05-07 현대자동차주식회사 사용자 인증 시스템, 사용자 인증 방법 및 서버
JP7192208B2 (ja) * 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
JP7067082B2 (ja) 2018-01-24 2022-05-16 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
CN109409046B (zh) * 2018-09-26 2021-03-02 北京天地和兴科技有限公司 一种工业安全系统的安全登录认证方法
US10979424B2 (en) * 2018-10-01 2021-04-13 Salesforce.Com, Inc. Systems, methods, and apparatuses for secure biometric identifier authentication within a cloud based computing environment
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
WO2020116916A1 (ko) * 2018-12-05 2020-06-11 엘지전자 주식회사 무선 통신 시스템에서 생체정보를 이용하여 인증을 하기 위한 방법 및 장치
CN109936565A (zh) * 2019-01-28 2019-06-25 平安科技(深圳)有限公司 登录多个服务集群的方法、装置、计算机设备及存储介质
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
CN114884687A (zh) * 2022-03-21 2022-08-09 中国人寿保险股份有限公司 用户认证方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165976A (ja) * 2003-12-05 2005-06-23 Toshiba Solutions Corp サービス提供システム、方法、プログラム及び商品販売システム
US20060218629A1 (en) * 2005-03-22 2006-09-28 Sbc Knowledge Ventures, Lp System and method of tracking single sign-on sessions
US20120116918A1 (en) * 2010-11-10 2012-05-10 Precise Biometrics Ab Secure payment mechanism
JP2013171349A (ja) * 2012-02-17 2013-09-02 Toshiba Corp 認証連携システム、idプロバイダ装置およびプログラム
JP2013242776A (ja) * 2012-05-22 2013-12-05 Canon Inc 情報処理システム、その制御方法、およびそのプログラム。

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097847A (ko) * 2001-05-02 2003-12-31 시큐젠 코포레이션 컴퓨터 네트워크상에서 사용자를 생체인증하는 방법
JP2004151977A (ja) 2002-10-30 2004-05-27 Chuo System Service Kk 生体認証システム
CN101027676B (zh) 2004-08-24 2011-10-05 艾斯奥托公司 用于可控认证的个人符记和方法
JP2007280221A (ja) * 2006-04-10 2007-10-25 Fujitsu Ltd 認証ネットワークシステム
US8713705B2 (en) * 2009-08-03 2014-04-29 Eisst Ltd. Application authentication system and method
JP2011221729A (ja) 2010-04-08 2011-11-04 Hitachi Ltd Id連携システム
US20130227663A1 (en) * 2010-10-08 2013-08-29 Telefonica S.A. Method, a system and a network element for ims control layer authentication from external domains
JP5845742B2 (ja) 2011-09-07 2016-01-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US8931081B2 (en) * 2012-08-21 2015-01-06 International Business Machines Corporation Device identification for externalizing password from device coupled with user control of external password service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165976A (ja) * 2003-12-05 2005-06-23 Toshiba Solutions Corp サービス提供システム、方法、プログラム及び商品販売システム
US20060218629A1 (en) * 2005-03-22 2006-09-28 Sbc Knowledge Ventures, Lp System and method of tracking single sign-on sessions
US20120116918A1 (en) * 2010-11-10 2012-05-10 Precise Biometrics Ab Secure payment mechanism
JP2013171349A (ja) * 2012-02-17 2013-09-02 Toshiba Corp 認証連携システム、idプロバイダ装置およびプログラム
JP2013242776A (ja) * 2012-05-22 2013-12-05 Canon Inc 情報処理システム、その制御方法、およびそのプログラム。

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020126602A (ja) * 2018-12-27 2020-08-20 コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム
JP7382818B2 (ja) 2018-12-27 2023-11-17 コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム
JP2021021999A (ja) * 2019-07-24 2021-02-18 コニカミノルタ株式会社 認証システム、支援サーバーおよび支援プログラム
JP7259616B2 (ja) 2019-07-24 2023-04-18 コニカミノルタ株式会社 認証システム、支援サーバーおよび支援プログラム
JP2021120823A (ja) * 2020-01-30 2021-08-19 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7423328B2 (ja) 2020-01-30 2024-01-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
EP2919435B1 (en) 2018-10-17
EP2919435A1 (en) 2015-09-16
US9479496B2 (en) 2016-10-25
JP6256116B2 (ja) 2018-01-10
US20150256530A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
JP6256116B2 (ja) 通信端末、セキュアログイン方法、及びプログラム
US10097350B2 (en) Privacy enhanced key management for a web service provider using a converged security engine
CN108475312B (zh) 用于装置安全外壳的单点登录方法
US8510811B2 (en) Network transaction verification and authentication
US10230725B2 (en) Edge protection for internal identity providers
US9398001B1 (en) System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9104848B2 (en) Cross-platform authentication from within a rich client
US8369835B2 (en) Web server constituting single sign-on system, method of controlling operation of same, and recording medium storing program for controlling operation of same
WO2020140407A1 (zh) 基于云安全的云桌面登陆方法、装置、设备和存储介质
CN115021991A (zh) 未经管理的移动设备的单点登录
US20160337338A1 (en) Late binding authentication
WO2020015583A1 (zh) 无线接入点的连接认证方法和装置
US20200153814A1 (en) Method for authentication with identity providers
WO2014048749A1 (en) Inter-domain single sign-on
Bui et al. {Man-in-the-Machine}: Exploiting {Ill-Secured} Communication Inside the Computer
US9059987B1 (en) Methods and systems of using single sign-on for identification for a web server not integrated with an enterprise network
CN110781465B (zh) 基于可信计算的bmc远程身份验证方法及系统
US11921840B2 (en) Systems and methods for password managers
US20220286435A1 (en) Dynamic variance mechanism for securing enterprise resources using a virtual private network
Bursztein et al. Sessionjuggler: secure web login from an untrusted terminal using session hijacking
KR20150095255A (ko) 신뢰 서비스 장치를 이용한 신뢰된 아이덴티티 관리 서비스 제공 시스템 및 그 운영방법
US20170012979A1 (en) Non-transitory computer-readable recording medium storing information processing program, information processing apparatus, and information processing method
Urban Zabezpečení distribuovaných cloudových systémů
JP6438256B2 (ja) 端末装置、認証サーバ、認証システム、認証方法及び認証プログラム
WO2023244384A1 (en) System and method for client device authentication through remote browser isolation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171120

R150 Certificate of patent or registration of utility model

Ref document number: 6256116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees