JP2019062394A - 情報処理装置、情報処理方法、およびコンピュータプログラム - Google Patents
情報処理装置、情報処理方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2019062394A JP2019062394A JP2017185465A JP2017185465A JP2019062394A JP 2019062394 A JP2019062394 A JP 2019062394A JP 2017185465 A JP2017185465 A JP 2017185465A JP 2017185465 A JP2017185465 A JP 2017185465A JP 2019062394 A JP2019062394 A JP 2019062394A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- service providing
- key
- information processing
- user
- 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.)
- Pending
Links
Images
Abstract
【課題】 本発明は、複数の認証鍵ペアを適切に使い分け、セキュリティを向上させることが可能な情報処理装置を提供することを目的とする。【解決手段】 複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする。【選択図】 図1
Description
本発明は、サービス提供装置にログインする情報処理装置、情報処理方法、およびコンピュータプログラムに関する。
リモートシステムにログインするユーザを識別する技術として、ユーザIDとパスワードによるユーザ認証が広く使われている。これに対し、近年はユーザによる煩雑なパスワード管理を回避する手段として公開鍵暗号を利用したユーザ認証技術が提案されている。
公開鍵暗号を利用したユーザ認証技術の一例としてFIDO(Fast IDentity Online)による標準技術がある。FIDOで標準化された認証プロトコルによれば、ユーザの操作するログイン端末でユーザの認証鍵ペアを生成し、この認証鍵ペアの公開鍵をリモートサービスに登録する。ユーザがリモートサービスにログインする場合には、サービスから送られてくるチャレンジに対して認証鍵ペアの秘密鍵で署名を生成してサービスに送り返す。サービスはチャレンジに対する署名をユーザに対応付けられた公開鍵で検証し、ログインの可否を判定する。ログイン端末で管理される認証鍵ペアは指紋認証などの認証デバイスによって管理され、認証デバイスは正当なユーザによる操作を確認してから秘密鍵による署名を許可することが通常である。
一方で、このような公開鍵を利用したログイン端末に複数の認証デバイスが備えられている場合における認証デバイスの選択に関する技術が提案されている。例えば、特許文献1で開示される技術によれば、ログイン端末に対してユーザが認証デバイスの利用可否を設定する機能を設けることによりユーザの匿名性を向上させている。
ログイン端末に複数の認証デバイスが備えられている場合には、ユーザが利用する認証デバイスを適切に使い分けることでセキュリティを向上させることが可能である。例えば、リモートサービスへのログイン時に利用する認証鍵ペアと、サービス上での送金許可に利用する認証鍵ペアは異なる鍵ペアであることがセキュリティ上は望ましい。しかしながら、従来技術ではログイン端末において、複数の認証鍵ペアそれぞれを適切に使い分けることが出来なかった。本発明は、上記課題を鑑みてなされたものであり、複数の認証鍵ペアを適切に使い分け、セキュリティを向上させることが可能な情報処理装置を提供することを目的とする。
本発明は、複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする。
本発明によれば、複数の認証鍵ペアを適切に使い分け、セキュリティを向上させることが可能な情報処理装置を提供することが出来る。
以下、添付の図面を参照して、本実施形態について詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本実施形態は図示された構成に限定されるものではない。
また、本実施形態においては、暗号化,復号,ハッシュ処理などを以下のような記法で記載する。以降、暗号技術に関連する処理、データを以下の記述規則によって記載する。暗号化処理C=Enc(K,P)は秘密鍵Kを使って平文Pを暗号化し、暗号文Cを取得する。秘密鍵Kは対象鍵暗号方式の鍵でもよいし、非対称鍵暗号鍵方式の鍵(通常は公開鍵)でもよい。復号処理P=Dec(K,C)は鍵Kを使って暗号文Cを復号し、平文Pを得る。ここで、RSAなどの非対称鍵暗号方式ではKは通常は秘密鍵である。一方、署名処理S=Sign(K,D)はデータDに対して鍵ペアKの秘密鍵で署名処理し、ディジタル署名Sを得る。Mac (Message Authentication Code)の生成処理はS=Mac(K,D)と記述し、これは秘密鍵KでデータDへのMac値Sを取得する。ディジタル署名及びMac値の検証処理はVerify(K,S)と記述する。Sがディジタル署名の場合はKはRSA鍵ペアKの公開鍵、SがMac値の場合にはMac値の生成に利用した秘密鍵KによってSの完全性を検証する。検証処理の結果は成功或いは失敗となる。一方で、暗号化されたデータについては{Data}Kは鍵KでDataが暗号化されていることを示す。KがRSAなどの非対称鍵暗号方式の場合には、鍵ペアKの公開鍵で暗号化されていることを示す。また、演算子“|”はデータの連結を表し、さらにハッシュ関数内の“||”はハッシュ処理の連鎖を表す。つまり、2つのデータD1及びD2のハッシュ演算はHash(D1||D2)=Hash(Hash(D1)|D2)である。
一方、データの記載方法についてはRSAなどの非対称鍵暗号アルゴリズムを利用した署名データは{Data}K^−1と示し、Dataが鍵ペアKの秘密鍵で署名(暗号化)されていることを示す。最後に、Cert{ID,K}caはCAによって発行された証明書であり、公開鍵Kを保持する主体がIDで示される主体(例えばURL)であることをCAが証明していることを示す。
<システムの構成>
図1に、本実施形態におけるPCやスマートフォンに代表されるログイン端末101(情報処理装置)において、サービス提供装置102が提供するリモートサービスシステムを利用するシステムの構成例を説明する。本システムの目的はサービス提供装置102がログイン端末101の利用者をユーザ認証し、ログイン端末101を通して正当なユーザにサービス提供を行うことである。例えば、サービス提供装置102はオンラインバンクや証券会社などの金融サービス,商品の購入や販売を行うサービスを提供する。このようなサービスにおいては利用するユーザを正しく認証し、適切なアクセス制御を行うことが重要である。
図1に、本実施形態におけるPCやスマートフォンに代表されるログイン端末101(情報処理装置)において、サービス提供装置102が提供するリモートサービスシステムを利用するシステムの構成例を説明する。本システムの目的はサービス提供装置102がログイン端末101の利用者をユーザ認証し、ログイン端末101を通して正当なユーザにサービス提供を行うことである。例えば、サービス提供装置102はオンラインバンクや証券会社などの金融サービス,商品の購入や販売を行うサービスを提供する。このようなサービスにおいては利用するユーザを正しく認証し、適切なアクセス制御を行うことが重要である。
ログイン端末101は利用者の操作に応じてサービス提供装置102と通信を行い、サービス提供装置102が提供するサービスを利用する。ログイン端末101は、コンピュータプログラムを用いて動作する通常のパーソナルコンピュータでも構わない。ログイン端末101とサービス提供装置102の間のデータ通信は、イーサネット(登録商標)等の有線LANなどを介して行ってもよいし、無線LAN技術を利用してもよい。また、ログイン端末101はクライアントソフトがHTTP/HTTPSプロトコルによるデータ通信を行ってもよいし、専用のプロトコルを利用したデータ通信を行ってもよい。クライアントソフトはウェブブラウザや専用のアプリケーションによって実現することも可能である。以降、ウェブブラウザがHTTP/HTTPSを使ってサービス提供装置102と通信する場合における説明を行うが、本実施形態はアプリケーションの種類やプロトコルに限定するものではない。
なお、本システムにおけるログイン端末101及びサービス提供装置102は、一般に使われる汎用PC,モバイルフォンやスマートフォンなどの計算装置で実現することが可能である。これらのデバイスは、CPU,メモリ(RAM),HDDやSSD,フラッシュメモリなどのストレージから構成される汎用的な演算装置であるため、詳細な説明は省略する。
<ログイン端末101>
図1におけるログイン端末101のソフトウェア構成の一例について説明する。ログイン端末101はユーザがサービス提供装置102のサービスを利用するために操作する端末である。ログイン端末101は通信監視部105,通信処理部106,認証子生成部107,複数の認証デバイス(108〜110),鍵管理表記憶部111及び制限条件記憶部112から構成される。本実施例における複数の認証デバイスは、指紋でユーザ認証を行う認証デバイスA(108),顔画像でユーザ認証を行う認証デバイスB(109)及びPIN入力でユーザ認証を行う認証デバイスC(110)から構成される。
図1におけるログイン端末101のソフトウェア構成の一例について説明する。ログイン端末101はユーザがサービス提供装置102のサービスを利用するために操作する端末である。ログイン端末101は通信監視部105,通信処理部106,認証子生成部107,複数の認証デバイス(108〜110),鍵管理表記憶部111及び制限条件記憶部112から構成される。本実施例における複数の認証デバイスは、指紋でユーザ認証を行う認証デバイスA(108),顔画像でユーザ認証を行う認証デバイスB(109)及びPIN入力でユーザ認証を行う認証デバイスC(110)から構成される。
通信処理部106はサービス提供装置102とデータ通信を行う処理を行う。例えばウェブブラウザであれば、ユーザの指示したURLに対してページの取得要求を送信し、サービス提供装置102から返信されたコンテンツを描画する。返信されるコンテンツはHTML形式の文書や画像データであるが、HTTPヘッダなどの制御情報が付加されることが通常である。受信データにユーザ認証の要求が含まれている場合には、要求に含まれるチャレンジデータに対して認証子生成部107で署名データ(認証子)を生成し、サービス提供装置102に送信する。チャレンジデータに対するディジタル署名処理は、サービス提供装置102から鍵の識別子によって指定された認証デバイスで行ってもよいし、ユーザが選択した認証デバイスで行ってもよい。いずれの場合においても、通信処理部106は認証子生成部107が生成した署名データをサービス提供装置102に送信する。認証子の生成処理についての詳細は後述する。本実施例においてログイン端末101が処理するコンテンツの一例を図2に示す。図2はユーザの送金要求を受け付けるHTMLコンテンツの一致例であり、201はログイン端末における画面表示を、202は画面表示に用いられるHTMLデータを示す。画面201ではユーザに対して送金額及び送金先の入力を促す。この画面において入力ボックスにユーザが送金額を入力し、“送金”と示されたボタンを押すことにより、サービス提供装置102に送金処理の要求が行われる。この画面表示に対するHTMLデータ202では、実際にサービス提供装置102に対して送信されるリクエストを構成するための情報が記述されている。例えば“form”タグの“action”属性によって、リクエストを送信するURLが指定される。また、“name”属性に“amount”と指定された“input”タグによって、ユーザが入力する送金額が設定される。“name”属性に“branchID”及び“accountID”が指定されたストボックスは、それぞれ送金先の支店名と口座番号を示す。ここで、サービス提供装置102からログイン端末への認証要求は、本コンテンツがサービス提供装置102からログイン端末101に送られるようにしてよい。また、ユーザが“送金”ボタンを押すことにより発生するリクエストへの応答として送ってもよい。前者の場合には、画面201で表現されるページにアクセスするためにユーザ認証が行われる。
通信監視部105は通信処理部106とサービス提供装置の間のデータ通信を監視し、通信データにユーザ認証に関わるデータが含まれていた場合には制限条件記憶部112に保持された認証鍵の制限条件に応じた制御を行う。ユーザ認証が制限条件を逸脱する方法で行われる場合には、ユーザへの警告ダイアログの表示や通信の遮断などによって通信データがサービス提供装置102に送信されることを防止する。通信監視部105は様々な実装形態が考えられるが、ウェブブラウザのプラグインとして実装されてもよいし、ウェブブラウザとは別のユーザプロセスとして実装されてもよい。或いは、オペレーティングシステムにおけるネットワークトラフィックを監視するようなソフトウェアモジュール、或いはハードウェア回路として実装することも可能である。
認証子生成部107は通信処理部106から渡される認証要求に含まれるチャレンジデータに対してディジタル署名による認証子の生成を行う。具体的には認証子生成部107はチャレンジに対して認証デバイスA(108),認証デバイスB(110)乃至認証デバイスC(110)のいずれか/或いは複数の認証デバイスによって署名データを生成し、通信処理部106に返す。チャレンジに対するディジタル署名処理は、通信処理部106から指定された認証デバイスによって行う。
認証デバイスA(108),認証デバイスB(109)及び認証デバイスC(110)は、サービス提供装置102にログインするための認証鍵ペアをそれぞれ保持する。それぞれの認証デバイスはログイン端末101を操作するユーザの指示に従って認証鍵ペアの秘密鍵で入力データ(チャレンジデータ)に対してディジタル署名処理を行う。認証デバイスは認証鍵ペアによるディジタル署名処理を行う前にログイン端末を操作するユーザを認証し、正当なユーザによる操作であると判断した場合にディジタル署名処理を許可する。例えば、認証デバイスがユーザを認証する方法としては既存の認証処理を利用することが可能である。例えば、ユーザの生体認証を用いる場合は指紋,静脈,音声などのセンサー入力によってユーザを認証する。或いは、ユーザの知識を用いる場合はパスワードやPINコード、ユーザの所有物であればICカードやUSBトークンが用いられる。或いは、認証デバイスはログイン端末が正常なソフトウェア構成であるかを端末起動時に計測されるモジュールハッシュ値によって、ディジタル署名の可否を判断してもよい。ソフトウェア構成を用いた署名の判断については、Trusted Bootと呼ばれるTPM(Trusted Platform Module)を利用したブート処理が広く知られているため、詳細の説明は省略する。いずれにおいても、各々の認証デバイスは予め定められた条件を満たした場合に、管理する認証鍵ペアの秘密鍵によるディジタル署名を行う。
鍵管理表記憶部111はログイン端末101の認証デバイスで管理される認証鍵ペアの利用状態を管理する。本実施例における鍵管理表記憶部111で管理されるテーブルの一例を図3に示す。図3において、鍵テーブル301はログイン端末101において利用される認証鍵の管理表を示す。認証鍵の管理表は、後述する制限条件記憶部112が保持する認証鍵利用条件113の条件適用可否を判定するために利用される。
鍵テーブル301においてサービスID列302はログイン端末101が利用するサービスの識別子を示し、例えばサービス提供装置102のドメイン名を示す。サービス1を提供するサービス提供装置102はhttps://www.example1.com,サービス2を提供するサービス提供装置102はhttps://www.example2.comのドメイン名で識別される。
KeyID列303はログイン端末101が利用する認証デバイスの認証鍵を識別する。例えば、鍵テーブル301では、サービス1にKey1,Key2及びKey3で識別される認証鍵が登録されており、それぞれの認証鍵は指紋認証,顔認証,PINコードでユーザ認証を行う認証デバイスで管理されている。また、サービス2にはKey4で識別される認証鍵が登録され、指紋認証を行う認証デバイスで登録されている。
鍵テーブル301におけるセキュリティクラス列304は、サービスID列302で識別されるサービス提供装置102が提供する機能の分類を示す。本実施形態におけるセキュリティクラスとは、認証デバイスで管理する認証鍵が利用されるサービス機能の集合を表す。本実施形態における鍵テーブル301では、セキュリティクラスを表現する一例としてURLによって機能の分類を行っている。例えば、サービス1はログイン機能をhttp://www.example1.com/login.cgiで識別されるURL1で、送金機能をhttp://www.example1.com/transfer.cgiで提供されるURL2で提供する。サービス機能はURLによって識別してもよいし、URLとそれに付随するパラメータを利用して識別してもよい。つまり、図2で例示したウェブコンテンツではログイン端末101が送信するリクエストはURLに加えてPOSTメソッドのパラメータ(“branchID”,“accountID”,“amount”)を使って識別してもよい。これにより、同一URLにおいて複数のサービス機能を提供している場合においてもセキュリティクラスを適切に識別することが可能となる。
制限条件記憶部112はデバイスに予め設定された、或いはユーザによって設定された認証鍵利用条件113を記憶する。本実施形態における認証鍵利用条件113とは、認証デバイスにおいて管理される認証鍵の利用条件を鍵テーブル301におけるセキュリティクラスと対応付けて定義したものである。図4にユーザが設定する認証鍵利用条件113の設定画面の一例を示す。画面401では一つの認証鍵ペアを使いまわすことのできるセキュリティクラスの数を設定しており、2回以上使いまわされる場合はユーザに警告を、5回以上で利用をブロックすることを示す。後述のように、本実施形態における制限条件は回数による制限に限定されることはなく、Cookieに含まれる認証セッション情報を元にクラス分類し、制限を行うことも可能である。
<サービス提供装置102>
サービス提供装置102はログイン端末101を操作するユーザに対してサービス提供を行う処理装置である。サービス提供装置102は通信処理部103及び認証鍵管理部104によって構成される。
サービス提供装置102はログイン端末101を操作するユーザに対してサービス提供を行う処理装置である。サービス提供装置102は通信処理部103及び認証鍵管理部104によって構成される。
通信処理部103はサービスの処理ロジックに従ってログイン端末からのサービス要求(リクエスト)に対する応答を返す。本実施形態におけるサービス提供装置102は、必要に応じてログイン端末101を操作するユーザを認証し、適切なアクセス制御を行う。通信処理部103に実装される処理ロジックはオンラインバンクなどの金融サービス、商品の売買をユーザに提供する。ユーザ認証が必要なコンテンツへのアクセス要求があった場合には、通信処理部103はログイン端末101に対してユーザ認証要求とチャレンジを送信する。チャレンジに対するディジタル署名がログイン端末から返された場合には、後述する認証鍵管理部104で管理するユーザの認証鍵ペアの公開鍵で検証を行う。ディジタル署名の検証に成功した場合にはリクエストが正当なユーザから送信されたものであると判定し、サービスの提供を行う。検証に失敗した場合にはエラーコードなどを返すことによってサービスの提供を中止する。
認証鍵管理部104は、ログイン端末101が登録した認証鍵をユーザと対応付けて管理する。例えば、ユーザXとしてサービスを利用するために必要な認証鍵ペアの公開鍵を記憶する。サービス提供装置102は、チャレンジに対して送り返された署名データ(認証子)がユーザXと対応付けられた公開鍵で正しく検証できれば、ユーザ認証を成功と判定する。
<認証鍵登録処理>
図5は、ログイン端末101がサービス提供装置102に認証デバイスの認証鍵ペアを登録する処理の一例を示したフローチャートである。この登録処理によって、サービス提供装置102は、ログイン端末101に備えられた認証デバイスで管理される認証鍵ペアの公開鍵をユーザに対応付けることができる。
図5は、ログイン端末101がサービス提供装置102に認証デバイスの認証鍵ペアを登録する処理の一例を示したフローチャートである。この登録処理によって、サービス提供装置102は、ログイン端末101に備えられた認証デバイスで管理される認証鍵ペアの公開鍵をユーザに対応付けることができる。
まず、ユーザはログイン端末101を用いてサービス提供装置102にログインする(S501)。ログインはパスワードを利用してもよいし、サービスに公開鍵を登録済みの認証デバイスがログイン端末101に備えられていれば、その認証鍵ペアを利用してもよい。
ログイン端末101に登録が必要な認証デバイスがあれば(S502−Yes)、サービス提供装置102に認証デバイスの登録要求を送信し(S503)、応答としてサービス提供装置102からチャレンジデータを受信する(S504)。ログイン端末101に登録が必要な認証デバイスがなければ(S502−No)、認証デバイスの登録処理を終了する。チャレンジデータを受け取ったログイン端末101は認証鍵ペアを生成し、S504で受信したチャレンジデータに認証鍵ペアの秘密鍵でディジタル署名処理を行う(S505)。続いてログイン端末101は、鍵管理表記憶部111に記憶した鍵テーブルに対して新しく登録した認証鍵を追加する(S506)。
以上、ログイン端末101に備えられた認証デバイスの認証鍵ペアをサービス提供装置102に登録する処理のフローを説明した。本ステップによって、ログイン端末101は認証デバイスで管理する認証鍵ペアをサービス提供装置102に登録することができる。以降は登録された認証鍵ペアの秘密鍵でサービス提供装置102からのチャレンジに署名をすることで、ユーザはパスワードを利用することなくログイン処理を行うことが可能である。
<ログイン処理>
図6は、ログイン端末101が認証デバイスで管理された認証鍵を用いてサービス提供装置102にログインする処理の一例を示したフローチャートである。
図6は、ログイン端末101が認証デバイスで管理された認証鍵を用いてサービス提供装置102にログインする処理の一例を示したフローチャートである。
まず初めに、ユーザがログイン端末101におけるアプリケーションを起動する(S601)。例えば、本実施形態におけるアプリケーションとはウェブコンテンツにアクセスするウェブブラウザであり、ログイン端末101における通信処理部106で実行される。通信処理部106は、HTTP/HTTPSのプロトコルを介してサービス提供装置102とネットワーク通信を行う。ネットワーク通信はサーバ提供装置へのコンテンツリクエスト送信処理(S602)と、サービス提供装置102からのレスポンス受信処理(S603)によって行う。S602でリクエストを送ったコンテンツへのアクセス対してサービス提供装置102がアクセス制限を行っている場合には、サービス提供装置102はレスポンスにユーザ認証を促す要求を付与する。ユーザ認証要求は、HTTPヘッダなどの通信プロトコルのパラメータとしてログイン端末101へ渡されてもよいし、ログインフォームなどのHTMLコンテンツとして渡されてもよい。レスポンスに認証要求が含まれている場合には(S604−Yes)、後述の認証子(署名データ)の生成を行い(S605)、サービス提供装置102へ返信する。サービス提供装置102からのレスポンスに認証要求が含まれていない場合には(S604−No)、レスポンスをウェブブラウザなどのアプリケーションで処理してユーザに提供する(S606)。通信処理部106におけるアプリケーションは、上記のS602〜S606の処理ステップを繰り返すことによってサービス提供装置102と通信する(S607−No)。ユーザが終了を指示した場合には(S607−Yes)アプリケーションの終了処理を行う(S608)。
以上、ログイン端末101によるサービス提供装置102との通信処理とログイン処理の一連の流れについて説明した。なお、本実施形態はアプリケーションがウェブブラウザである場合だけではなく、AndroidやiOS上で実行されるモバイルアプリケーション,汎用PC上のアプリケーションなどにおいて実施することも可能である。
<認証子(署名)の生成処理>
図7は、フローチャート図6における処理ステップS605におけるログイン端末101でのログイン認証子の生成処理の一例を示したフローチャートである。前述の通り、認証子の生成は通信処理部106が受け取ったレスポンスにユーザ認証要求が含まれることをトリガとして開始される。本フローチャートにおける一連の処理の目的は、認証要求に含まれるチャレンジデータに対して認証子生成部107がディジタル署名を施し、サービス提供装置102に対してユーザ認証を行うことである。
図7は、フローチャート図6における処理ステップS605におけるログイン端末101でのログイン認証子の生成処理の一例を示したフローチャートである。前述の通り、認証子の生成は通信処理部106が受け取ったレスポンスにユーザ認証要求が含まれることをトリガとして開始される。本フローチャートにおける一連の処理の目的は、認証要求に含まれるチャレンジデータに対して認証子生成部107がディジタル署名を施し、サービス提供装置102に対してユーザ認証を行うことである。
まず初めに、通信処理部106が送受信する通信データを監視する通信監視部105がリクエストデータを基にセキュリティクラスを分類する(S701)。セキュリティクラスはログイン端末101から送信されるリクエストに基づいて分類される。セキュリティクラスの分類については図3を用いて説明済みであるため、詳細な説明は省略する。
通信監視部105は、鍵管理表記憶部111で管理される鍵テーブルと、制限条件記憶部112に保持される認証鍵利用条件113を用いて認証要求で指定される認証鍵の利用可否を判断する(S702)。利用条件内と判定されなかった場合には(S702−No)、通信監視部105が認証鍵の利用を制限する処理を行う(S707)。制限処理とは、例えば認証要求をS703〜S706認証処理の実行を防止(ブロック)する方法や、S703〜S706の認証処理の前にユーザに警告画面を表示する方法がある。利用条件内と判定された場合には(S702−Yes)、通信処理部106が受け取った認証要求に含まれるチャレンジデータが認証子生成部107によって処理される。認証子生成部107はチャレンジデータに署名を行う認証鍵ペアを管理する認証デバイスを選択し、チャレンジデータへのディジタル署名処理を要求する。選択された認証デバイスは予め定められたユーザ認証を実行し、ログイン端末101を操作するユーザが正当なユーザであることを識別した後(S703)、管理する認証鍵ペアの秘密鍵でチャレンジデータにディジタル署名を行う(S704)。認証デバイスがログイン端末101を操作するユーザを識別する方法は、指紋や静脈などの生体認証を用いるものでもよいし、PINコードなどのユーザの知識を利用したものでもよい。
続いて、生成された認証子は通信処理部106を介してサービス提供装置102に送信される(S705)。通信監視部105は、鍵管理表記憶部111で管理される鍵テーブルに対して、認証子を生成した認証鍵の識別子とセキュリティクラスを対応付けて更新する(S706)。
以上、ログイン端末101による認証子の生成処理のステップを説明した。これにより認証デバイスが複数のセキュリティクラスに分類されるサービス処理に対して利用されることを防止することが可能になり、ユーザが認証デバイスを用いて不用意に認証処理を実行してしまうリスクが軽減される。
<鍵管理表の更新過程>
図8は、鍵管理表記憶部111における鍵テーブル301の更新を、ログイン端末101における認証デバイスでの認証履歴と対応付けて説明するシーケンス図の一例である。本シーケンスの説明は、認証鍵利用条件113として「認証鍵を2つ以上のセキュリティクラスに利用する場合はブロックする」という制限が設定されているものとする。また、セキュリティクラスはURLを単位として分類されるものとする。
図8は、鍵管理表記憶部111における鍵テーブル301の更新を、ログイン端末101における認証デバイスでの認証履歴と対応付けて説明するシーケンス図の一例である。本シーケンスの説明は、認証鍵利用条件113として「認証鍵を2つ以上のセキュリティクラスに利用する場合はブロックする」という制限が設定されているものとする。また、セキュリティクラスはURLを単位として分類されるものとする。
鍵テーブル801は、図5で説明した認証デバイスの鍵登録処理後(S506)の鍵テーブル構成の一例である。ログイン端末101は3つの認証デバイスを備え、指紋認証で制御されるKey1,顔認証で制御されるKey2,PIN入力で制御されるKey3の3つの認証鍵をサービス1に登録している。鍵テーブル801で示すように、認証鍵登録後は認証鍵が未使用であるために各認証鍵のセキュリティクラスは未設定となっている。
続いて、サービス提供装置102が提供するURL1で識別されるURLにログイン端末101がリクエストを送信すると、レスポンスとしてユーザ認証要求が返信される。この認証要求に対し、ログイン端末101は指紋認証で管理された認証鍵Key1を利用してユーザ認証を行う。結果、鍵テーブル802のように、Key1のセキュリティクラスにURL1が対応付けられる。
さらに、ログイン端末101が送金手続きを行うためにURL2にアクセスし、サービス提供装置102からユーザ認証要求を含んだレスポンスを受け取る。ここで、ログイン端末101がURL2へアクセスするための認証デバイスとして再びKey1を管理する指紋認証デバイスを利用した場合、鍵テーブル804のようにKey1がURL1とURL2の認証に利用される状態になる。このため、認証鍵利用条件113に反することになるため、通信監視部105が認証鍵Key1の利用をブロックする。一方で、顔認証デバイスで管理されるKey2でURL2にアクセスした場合には、鍵テーブル803のように一つの認証鍵が複数のセキュリティクラス(URL)に利用されることはない。このため、通信処理部106は通常の認証処理としてサービス提供装置102へのログインを行う。
以上、図8における認証鍵利用シーケンスの説明をした。上記のように、通信監視部105は通信データのリクエスト及びそのレスポンスを監視し、認証鍵が認証鍵利用条件113に従って利用されることを強制する。これにより、ユーザが意図せずに単一の認証デバイスで複数のセキュリティクラスのサービスへの認証を行うことを防止することが可能となる。
以上、本実施形態におけるログイン端末101とサービス提供装置102の構成及び処理ステップを説明した。本実施形態は、説明した装置構成での実現に限定されず、異なる装置構成に情報処理方法を適用することも可能である。例えば、認証デバイスをログイン端末101の外部に設け、無線/有線インターフェースで接続すること形態も可能である。なお、本実施形態においては図8で示したように、認証鍵登録時には鍵テーブル801で示したようにどの認証鍵とセキュリティクラスの対応が行われていない場合を用いて説明行った。これは、一般に使われているウェブサービスが提供セキュリティクラスに関する定義情報を配布していないような用途で広く適用可能であるという点で利便性が高い。しかしながら、本実施形態はこれに限定することなく、例えばサービス提供装置102がURLとセキュリティクラスの対応鍵テーブルを予め配信することで実現することも可能である。これにより、ログイン端末101はセキュリティクラスの定義をより正確に把握することができることになり、より適切な認証鍵の利用制御を行うことが可能となる。或いは、認証鍵登録時に認証デバイスのセキュリティクラスをユーザが選択することも可能である。この場合は、ユーザはログインなどの通常のセキュリティクラスに対する認証は指紋認証デバイスで、送金などの重要処理は顔認証で認証を行うなどのユーザの好みに応じた認証デバイスを設定できる。
また、セキュリティクラスの識別方法は、本実施形態で説明したようにURLを基準としたものに限定する必要はなく、サービスの状態に基づいたものでもよい。つまり、ウェブサービスの認証状態を管理する代表的な手段としてCookieがあるが、このCookieの状態に応じてセキュリティクラスを定義してもよい。この場合、例えばユーザ認証されていない状態を一つのセキュリティクラスとし、ユーザ認証がされた常態を別のセキュリティクラスとする。通常はユーザ認証が済みのセキュリティクラスに遷移するに際してユーザ認証が行われるため、鍵テーブル301では認証済みのセキュリティクラスに遷移するために利用される認証鍵(KeyID)及び認証デバイスが管理される。
上記実施形態はウェブブラウザとブラウザがアクセスするサービスのURLを元にした認証鍵ペアの利用制限を一例として説明したが、これに制限されることはなく、様々なアプリケーションにて協可能である。例えば、通信処理部106はJava(登録商標)言語で記述されたモバイルアプリケーションなどとすることも可能である。この場合には、URLだけではなくモバイルアプリケーションの画面遷移状態(Intent)や内部状態を利用してセキュリティクラスを定義することが可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (9)
- 複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、
前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、
前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、
前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする情報処理装置。 - 前記複数のセキュリティクラスは、前記リクエストに含まれるURLもしくはパラメータの種類により設定されていることを特徴とする請求項1に記載の情報処理装置。
- 前記複数のセキュリティクラスは、前記リクエストを発行するアプリケーションの状態に応じて設定されていることを特徴とする請求項1に記載の情報処理装置。
- 前記複数のセキュリティクラスは、前記認証鍵ペアの認証履歴に応じて設定されていることを特徴とする請求項1に記載の情報処理装置。
- 前記認証履歴には、顔認証、指紋認証、PIN入力の認証の少なくとも一つが含まれていることを特徴とする請求項4に記載の情報処理装置。
- 前記複数のセキュリティクラスは、ユーザの指示に基づき設定されることを特徴とする請求項1に記載の情報処理装置。
- 前記制限手段は、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いる回数を制限することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理方法であって、
通信手段が、前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信工程と、
設定手段が、前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定工程と、
制限手段が、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限工程と、を有することを特徴とする情報処理方法。 - コンピュータを、
複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、
前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、
前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、
前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185465A JP2019062394A (ja) | 2017-09-26 | 2017-09-26 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185465A JP2019062394A (ja) | 2017-09-26 | 2017-09-26 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019062394A true JP2019062394A (ja) | 2019-04-18 |
Family
ID=66177708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017185465A Pending JP2019062394A (ja) | 2017-09-26 | 2017-09-26 | 情報処理装置、情報処理方法、およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019062394A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022538465A (ja) * | 2019-07-03 | 2022-09-02 | グーグル エルエルシー | 匿名デバイス認証 |
-
2017
- 2017-09-26 JP JP2017185465A patent/JP2019062394A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022538465A (ja) * | 2019-07-03 | 2022-09-02 | グーグル エルエルシー | 匿名デバイス認証 |
US12003964B2 (en) | 2019-07-03 | 2024-06-04 | Google Llc | Anonymous device authentication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11855983B1 (en) | Biometric electronic signature authenticated key exchange token | |
CN109951489B (zh) | 一种数字身份认证方法、设备、装置、***及存储介质 | |
US20220321359A1 (en) | Methods and systems for ownership verification using blockchain | |
US10985913B2 (en) | Method and system for protecting data keys in trusted computing | |
US10523441B2 (en) | Authentication of access request of a device and protecting confidential information | |
US10872336B2 (en) | System and method for independent user effort-based validation | |
JP7083892B2 (ja) | デジタル証明書のモバイル認証相互運用性 | |
KR101863953B1 (ko) | 전자 서명 서비스 시스템 및 방법 | |
US20210234857A1 (en) | Authentication system, authentication method, and application providing method | |
US20090271635A1 (en) | Methods and systems for authentication | |
JP2001326632A (ja) | 分散グループ管理システムおよび方法 | |
JPWO2007094165A1 (ja) | 本人確認システムおよびプログラム、並びに、本人確認方法 | |
US9124571B1 (en) | Network authentication method for secure user identity verification | |
US11949785B1 (en) | Biometric authenticated biometric enrollment | |
JP5431040B2 (ja) | 認証要求変換装置、認証要求変換方法および認証要求変換プログラム | |
KR20210095093A (ko) | 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버 | |
CN113971274B (zh) | 一种身份识别方法及装置 | |
KR101051420B1 (ko) | 안전 otp 생성 장치 및 방법 | |
US20210306135A1 (en) | Electronic device within blockchain based pki domain, electronic device within certification authority based pki domain, and cryptographic communication system including these electronic devices | |
CN111901304B (zh) | 移动安全设备的注册方法和装置、存储介质、电子装置 | |
US11405387B1 (en) | Biometric electronic signature authenticated key exchange token | |
KR102157695B1 (ko) | 익명 디지털 아이덴티티 수립 방법 | |
KR102372503B1 (ko) | 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버 | |
JP2019062394A (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
JP4749017B2 (ja) | 擬似生体認証システム、及び擬似生体認証方法 |