JP2019062394A - Information processing apparatus, information processing method, and computer program - Google Patents
Information processing apparatus, information processing method, and computer program 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
Description
本発明は、サービス提供装置にログインする情報処理装置、情報処理方法、およびコンピュータプログラムに関する。 The present invention relates to an information processing apparatus for logging in to a service providing apparatus, an information processing method, and a computer program.
リモートシステムにログインするユーザを識別する技術として、ユーザIDとパスワードによるユーザ認証が広く使われている。これに対し、近年はユーザによる煩雑なパスワード管理を回避する手段として公開鍵暗号を利用したユーザ認証技術が提案されている。 As a technique for identifying a user who logs in to a remote system, user authentication by user ID and password is widely used. On the other hand, in recent years, a user authentication technology using public key encryption has been proposed as a means for avoiding complicated password management by the user.
公開鍵暗号を利用したユーザ認証技術の一例としてFIDO(Fast IDentity Online)による標準技術がある。FIDOで標準化された認証プロトコルによれば、ユーザの操作するログイン端末でユーザの認証鍵ペアを生成し、この認証鍵ペアの公開鍵をリモートサービスに登録する。ユーザがリモートサービスにログインする場合には、サービスから送られてくるチャレンジに対して認証鍵ペアの秘密鍵で署名を生成してサービスに送り返す。サービスはチャレンジに対する署名をユーザに対応付けられた公開鍵で検証し、ログインの可否を判定する。ログイン端末で管理される認証鍵ペアは指紋認証などの認証デバイスによって管理され、認証デバイスは正当なユーザによる操作を確認してから秘密鍵による署名を許可することが通常である。 As an example of user authentication technology using public key encryption, there is a standard technology by FIDO (Fast Identity Online). According to the authentication protocol standardized by FIDO, an authentication key pair of the user is generated at the login terminal operated by the user, and the public key of this authentication key pair is registered in the remote service. When the user logs in to the remote service, a signature is generated using the secret key of the authentication key pair and sent back to the service in response to a challenge sent from the service. The service verifies the signature on the challenge with the public key associated with the user, and determines whether login is possible. The authentication key pair managed by the login terminal is managed by an authentication device such as fingerprint authentication, and the authentication device usually approves a signature by a secret key after confirming an operation by a valid user.
一方で、このような公開鍵を利用したログイン端末に複数の認証デバイスが備えられている場合における認証デバイスの選択に関する技術が提案されている。例えば、特許文献1で開示される技術によれば、ログイン端末に対してユーザが認証デバイスの利用可否を設定する機能を設けることによりユーザの匿名性を向上させている。 On the other hand, there has been proposed a technique related to selection of an authentication device in the case where a plurality of authentication devices are provided in a login terminal using such a public key. For example, according to the technology disclosed in Patent Document 1, the anonymity of the user is improved by providing the login terminal with a function for setting the availability of the authentication device.
ログイン端末に複数の認証デバイスが備えられている場合には、ユーザが利用する認証デバイスを適切に使い分けることでセキュリティを向上させることが可能である。例えば、リモートサービスへのログイン時に利用する認証鍵ペアと、サービス上での送金許可に利用する認証鍵ペアは異なる鍵ペアであることがセキュリティ上は望ましい。しかしながら、従来技術ではログイン端末において、複数の認証鍵ペアそれぞれを適切に使い分けることが出来なかった。本発明は、上記課題を鑑みてなされたものであり、複数の認証鍵ペアを適切に使い分け、セキュリティを向上させることが可能な情報処理装置を提供することを目的とする。 When the login terminal is provided with a plurality of authentication devices, it is possible to improve security by properly using authentication devices used by the user. For example, in terms of security, it is desirable that the authentication key pair used when logging in to the remote service and the authentication key pair used to permit remittance on the service are different key pairs. However, in the prior art, in the login terminal, each of the plurality of authentication key pairs could not be properly used properly. The present invention has been made in view of the above problems, and an object of the present invention is to provide an information processing apparatus capable of properly using a plurality of authentication key pairs and improving security.
本発明は、複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする。 The present invention is an information processing apparatus for logging in to a service providing apparatus using a plurality of authentication key pairs, and communication means for communicating by using a plurality of requests for the service providing apparatus and a plurality of responses from the service providing apparatus. And setting means for setting a plurality of security classes according to types of the plurality of requests, and communication of requests corresponding to at least one of the plurality of security classes with at least one of the plurality of authentication key pairs. And restricting means for restricting the use thereof.
本発明によれば、複数の認証鍵ペアを適切に使い分け、セキュリティを向上させることが可能な情報処理装置を提供することが出来る。 According to the present invention, it is possible to provide an information processing apparatus capable of improving security by properly using a plurality of authentication key pairs.
以下、添付の図面を参照して、本実施形態について詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本実施形態は図示された構成に限定されるものではない。 Hereinafter, the present embodiment will be described in detail with reference to the attached drawings. The configurations shown in the following embodiments are merely examples, and the present embodiment is not limited to the illustrated configurations.
また、本実施形態においては、暗号化,復号,ハッシュ処理などを以下のような記法で記載する。以降、暗号技術に関連する処理、データを以下の記述規則によって記載する。暗号化処理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)である。 Further, in the present embodiment, encryption, decryption, hash processing and the like are described in the following notation. Hereafter, the processes related to the cryptographic technology and data will be described by the following description rules. The encryption process C = Enc (K, P) encrypts the plaintext P using the secret key K and obtains the ciphertext C. The secret key K may be a key of a target key cryptosystem or a key of an asymmetric key cryptosystem (usually a public key). The decryption process P = Dec (K, C) decrypts the ciphertext C using the key K to obtain a plaintext P. Here, in an asymmetric key cryptosystem such as RSA, K is usually a secret key. On the other hand, the signature processing S = Sign (K, D) performs signature processing on the data D with the secret key of the key pair K, and obtains a digital signature S. The generation process of Mac (Message Authentication Code) is described as S = Mac (K, D), which obtains the Mac value S to the data D with the secret key K. The digital signature and Mac value verification process is described as Verify (K, S). If S is a digital signature, K verifies the integrity of S with the public key of RSA key pair K, and if S is a Mac value, the secret key K used to generate the Mac value. The result of the verification process is either success or failure. On the other hand, for encrypted data, {Data} K indicates that Data is encrypted with the key K. If K is an asymmetric key cryptosystem such as RSA, it indicates that the key pair K is encrypted with the public key. Furthermore, the operator “|” represents data concatenation, and “||” in the hash function represents a chain of hash processing. That is, the hash operation of the two data D1 and D2 is Hash (D1 | D2) = Hash (Hash (D1) | D2).
一方、データの記載方法についてはRSAなどの非対称鍵暗号アルゴリズムを利用した署名データは{Data}K^−1と示し、Dataが鍵ペアKの秘密鍵で署名(暗号化)されていることを示す。最後に、Cert{ID,K}caはCAによって発行された証明書であり、公開鍵Kを保持する主体がIDで示される主体(例えばURL)であることをCAが証明していることを示す。 On the other hand, as for the data description method, signature data using an asymmetric key encryption algorithm such as RSA is represented as {Data} K ^ -1, and that Data is signed (encrypted) with the secret key of key pair K. Show. Finally, Cert {ID, K} ca is a certificate issued by the CA, and the CA proves that the subject holding the public key K is the subject (eg, URL) indicated by the ID. Show.
<システムの構成>
図1に、本実施形態におけるPCやスマートフォンに代表されるログイン端末101(情報処理装置)において、サービス提供装置102が提供するリモートサービスシステムを利用するシステムの構成例を説明する。本システムの目的はサービス提供装置102がログイン端末101の利用者をユーザ認証し、ログイン端末101を通して正当なユーザにサービス提供を行うことである。例えば、サービス提供装置102はオンラインバンクや証券会社などの金融サービス,商品の購入や販売を行うサービスを提供する。このようなサービスにおいては利用するユーザを正しく認証し、適切なアクセス制御を行うことが重要である。
<System configuration>
FIG. 1 illustrates an exemplary configuration of a system using a remote service system provided by the
ログイン端末101は利用者の操作に応じてサービス提供装置102と通信を行い、サービス提供装置102が提供するサービスを利用する。ログイン端末101は、コンピュータプログラムを用いて動作する通常のパーソナルコンピュータでも構わない。ログイン端末101とサービス提供装置102の間のデータ通信は、イーサネット(登録商標)等の有線LANなどを介して行ってもよいし、無線LAN技術を利用してもよい。また、ログイン端末101はクライアントソフトがHTTP/HTTPSプロトコルによるデータ通信を行ってもよいし、専用のプロトコルを利用したデータ通信を行ってもよい。クライアントソフトはウェブブラウザや専用のアプリケーションによって実現することも可能である。以降、ウェブブラウザがHTTP/HTTPSを使ってサービス提供装置102と通信する場合における説明を行うが、本実施形態はアプリケーションの種類やプロトコルに限定するものではない。
The
なお、本システムにおけるログイン端末101及びサービス提供装置102は、一般に使われる汎用PC,モバイルフォンやスマートフォンなどの計算装置で実現することが可能である。これらのデバイスは、CPU,メモリ(RAM),HDDやSSD,フラッシュメモリなどのストレージから構成される汎用的な演算装置であるため、詳細な説明は省略する。
The log-in
<ログイン端末101>
図1におけるログイン端末101のソフトウェア構成の一例について説明する。ログイン端末101はユーザがサービス提供装置102のサービスを利用するために操作する端末である。ログイン端末101は通信監視部105,通信処理部106,認証子生成部107,複数の認証デバイス(108〜110),鍵管理表記憶部111及び制限条件記憶部112から構成される。本実施例における複数の認証デバイスは、指紋でユーザ認証を行う認証デバイスA(108),顔画像でユーザ認証を行う認証デバイスB(109)及びPIN入力でユーザ認証を行う認証デバイスC(110)から構成される。
<
An example of the software configuration of the
通信処理部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で表現されるページにアクセスするためにユーザ認証が行われる。
The
通信監視部105は通信処理部106とサービス提供装置の間のデータ通信を監視し、通信データにユーザ認証に関わるデータが含まれていた場合には制限条件記憶部112に保持された認証鍵の制限条件に応じた制御を行う。ユーザ認証が制限条件を逸脱する方法で行われる場合には、ユーザへの警告ダイアログの表示や通信の遮断などによって通信データがサービス提供装置102に送信されることを防止する。通信監視部105は様々な実装形態が考えられるが、ウェブブラウザのプラグインとして実装されてもよいし、ウェブブラウザとは別のユーザプロセスとして実装されてもよい。或いは、オペレーティングシステムにおけるネットワークトラフィックを監視するようなソフトウェアモジュール、或いはハードウェア回路として実装することも可能である。
The
認証子生成部107は通信処理部106から渡される認証要求に含まれるチャレンジデータに対してディジタル署名による認証子の生成を行う。具体的には認証子生成部107はチャレンジに対して認証デバイスA(108),認証デバイスB(110)乃至認証デバイスC(110)のいずれか/或いは複数の認証デバイスによって署名データを生成し、通信処理部106に返す。チャレンジに対するディジタル署名処理は、通信処理部106から指定された認証デバイスによって行う。
The authentication
認証デバイスA(108),認証デバイスB(109)及び認証デバイスC(110)は、サービス提供装置102にログインするための認証鍵ペアをそれぞれ保持する。それぞれの認証デバイスはログイン端末101を操作するユーザの指示に従って認証鍵ペアの秘密鍵で入力データ(チャレンジデータ)に対してディジタル署名処理を行う。認証デバイスは認証鍵ペアによるディジタル署名処理を行う前にログイン端末を操作するユーザを認証し、正当なユーザによる操作であると判断した場合にディジタル署名処理を許可する。例えば、認証デバイスがユーザを認証する方法としては既存の認証処理を利用することが可能である。例えば、ユーザの生体認証を用いる場合は指紋,静脈,音声などのセンサー入力によってユーザを認証する。或いは、ユーザの知識を用いる場合はパスワードやPINコード、ユーザの所有物であればICカードやUSBトークンが用いられる。或いは、認証デバイスはログイン端末が正常なソフトウェア構成であるかを端末起動時に計測されるモジュールハッシュ値によって、ディジタル署名の可否を判断してもよい。ソフトウェア構成を用いた署名の判断については、Trusted Bootと呼ばれるTPM(Trusted Platform Module)を利用したブート処理が広く知られているため、詳細の説明は省略する。いずれにおいても、各々の認証デバイスは予め定められた条件を満たした場合に、管理する認証鍵ペアの秘密鍵によるディジタル署名を行う。
The authentication device A (108), the authentication device B (109), and the authentication device C (110) each hold an authentication key pair for logging in to the
鍵管理表記憶部111はログイン端末101の認証デバイスで管理される認証鍵ペアの利用状態を管理する。本実施例における鍵管理表記憶部111で管理されるテーブルの一例を図3に示す。図3において、鍵テーブル301はログイン端末101において利用される認証鍵の管理表を示す。認証鍵の管理表は、後述する制限条件記憶部112が保持する認証鍵利用条件113の条件適用可否を判定するために利用される。
The key management
鍵テーブル301においてサービスID列302はログイン端末101が利用するサービスの識別子を示し、例えばサービス提供装置102のドメイン名を示す。サービス1を提供するサービス提供装置102はhttps://www.example1.com,サービス2を提供するサービス提供装置102はhttps://www.example2.comのドメイン名で識別される。
In the key table 301, a
KeyID列303はログイン端末101が利用する認証デバイスの認証鍵を識別する。例えば、鍵テーブル301では、サービス1にKey1,Key2及びKey3で識別される認証鍵が登録されており、それぞれの認証鍵は指紋認証,顔認証,PINコードでユーザ認証を行う認証デバイスで管理されている。また、サービス2にはKey4で識別される認証鍵が登録され、指紋認証を行う認証デバイスで登録されている。
The
鍵テーブル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において複数のサービス機能を提供している場合においてもセキュリティクラスを適切に識別することが可能となる。
The
制限条件記憶部112はデバイスに予め設定された、或いはユーザによって設定された認証鍵利用条件113を記憶する。本実施形態における認証鍵利用条件113とは、認証デバイスにおいて管理される認証鍵の利用条件を鍵テーブル301におけるセキュリティクラスと対応付けて定義したものである。図4にユーザが設定する認証鍵利用条件113の設定画面の一例を示す。画面401では一つの認証鍵ペアを使いまわすことのできるセキュリティクラスの数を設定しており、2回以上使いまわされる場合はユーザに警告を、5回以上で利用をブロックすることを示す。後述のように、本実施形態における制限条件は回数による制限に限定されることはなく、Cookieに含まれる認証セッション情報を元にクラス分類し、制限を行うことも可能である。
The restriction
<サービス提供装置102>
サービス提供装置102はログイン端末101を操作するユーザに対してサービス提供を行う処理装置である。サービス提供装置102は通信処理部103及び認証鍵管理部104によって構成される。
<
The
通信処理部103はサービスの処理ロジックに従ってログイン端末からのサービス要求(リクエスト)に対する応答を返す。本実施形態におけるサービス提供装置102は、必要に応じてログイン端末101を操作するユーザを認証し、適切なアクセス制御を行う。通信処理部103に実装される処理ロジックはオンラインバンクなどの金融サービス、商品の売買をユーザに提供する。ユーザ認証が必要なコンテンツへのアクセス要求があった場合には、通信処理部103はログイン端末101に対してユーザ認証要求とチャレンジを送信する。チャレンジに対するディジタル署名がログイン端末から返された場合には、後述する認証鍵管理部104で管理するユーザの認証鍵ペアの公開鍵で検証を行う。ディジタル署名の検証に成功した場合にはリクエストが正当なユーザから送信されたものであると判定し、サービスの提供を行う。検証に失敗した場合にはエラーコードなどを返すことによってサービスの提供を中止する。
The
認証鍵管理部104は、ログイン端末101が登録した認証鍵をユーザと対応付けて管理する。例えば、ユーザXとしてサービスを利用するために必要な認証鍵ペアの公開鍵を記憶する。サービス提供装置102は、チャレンジに対して送り返された署名データ(認証子)がユーザXと対応付けられた公開鍵で正しく検証できれば、ユーザ認証を成功と判定する。
The authentication
<認証鍵登録処理>
図5は、ログイン端末101がサービス提供装置102に認証デバイスの認証鍵ペアを登録する処理の一例を示したフローチャートである。この登録処理によって、サービス提供装置102は、ログイン端末101に備えられた認証デバイスで管理される認証鍵ペアの公開鍵をユーザに対応付けることができる。
<Authentication key registration process>
FIG. 5 is a flowchart showing an example of processing in which the
まず、ユーザはログイン端末101を用いてサービス提供装置102にログインする(S501)。ログインはパスワードを利用してもよいし、サービスに公開鍵を登録済みの認証デバイスがログイン端末101に備えられていれば、その認証鍵ペアを利用してもよい。
First, the user logs in to the
ログイン端末101に登録が必要な認証デバイスがあれば(S502−Yes)、サービス提供装置102に認証デバイスの登録要求を送信し(S503)、応答としてサービス提供装置102からチャレンジデータを受信する(S504)。ログイン端末101に登録が必要な認証デバイスがなければ(S502−No)、認証デバイスの登録処理を終了する。チャレンジデータを受け取ったログイン端末101は認証鍵ペアを生成し、S504で受信したチャレンジデータに認証鍵ペアの秘密鍵でディジタル署名処理を行う(S505)。続いてログイン端末101は、鍵管理表記憶部111に記憶した鍵テーブルに対して新しく登録した認証鍵を追加する(S506)。
If there is an authentication device requiring registration in the login terminal 101 (S502-Yes), a registration request for the authentication device is transmitted to the service providing apparatus 102 (S503), and challenge data is received from the
以上、ログイン端末101に備えられた認証デバイスの認証鍵ペアをサービス提供装置102に登録する処理のフローを説明した。本ステップによって、ログイン端末101は認証デバイスで管理する認証鍵ペアをサービス提供装置102に登録することができる。以降は登録された認証鍵ペアの秘密鍵でサービス提供装置102からのチャレンジに署名をすることで、ユーザはパスワードを利用することなくログイン処理を行うことが可能である。
The flow of the process of registering the authentication key pair of the authentication device provided in the
<ログイン処理>
図6は、ログイン端末101が認証デバイスで管理された認証鍵を用いてサービス提供装置102にログインする処理の一例を示したフローチャートである。
<Login process>
FIG. 6 is a flowchart showing an example of processing in which the
まず初めに、ユーザがログイン端末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)。
First, the user activates an application on the login terminal 101 (S601). For example, the application in the present embodiment is a web browser that accesses web content, and is executed by the
以上、ログイン端末101によるサービス提供装置102との通信処理とログイン処理の一連の流れについて説明した。なお、本実施形態はアプリケーションがウェブブラウザである場合だけではなく、AndroidやiOS上で実行されるモバイルアプリケーション,汎用PC上のアプリケーションなどにおいて実施することも可能である。
In the above, a series of flows of communication processing with the
<認証子(署名)の生成処理>
図7は、フローチャート図6における処理ステップS605におけるログイン端末101でのログイン認証子の生成処理の一例を示したフローチャートである。前述の通り、認証子の生成は通信処理部106が受け取ったレスポンスにユーザ認証要求が含まれることをトリガとして開始される。本フローチャートにおける一連の処理の目的は、認証要求に含まれるチャレンジデータに対して認証子生成部107がディジタル署名を施し、サービス提供装置102に対してユーザ認証を行うことである。
<Process of generating authenticator (signature)>
FIG. 7 is a flow chart showing an example of a process of generating a login authentication code at the
まず初めに、通信処理部106が送受信する通信データを監視する通信監視部105がリクエストデータを基にセキュリティクラスを分類する(S701)。セキュリティクラスはログイン端末101から送信されるリクエストに基づいて分類される。セキュリティクラスの分類については図3を用いて説明済みであるため、詳細な説明は省略する。
First, the
通信監視部105は、鍵管理表記憶部111で管理される鍵テーブルと、制限条件記憶部112に保持される認証鍵利用条件113を用いて認証要求で指定される認証鍵の利用可否を判断する(S702)。利用条件内と判定されなかった場合には(S702−No)、通信監視部105が認証鍵の利用を制限する処理を行う(S707)。制限処理とは、例えば認証要求をS703〜S706認証処理の実行を防止(ブロック)する方法や、S703〜S706の認証処理の前にユーザに警告画面を表示する方法がある。利用条件内と判定された場合には(S702−Yes)、通信処理部106が受け取った認証要求に含まれるチャレンジデータが認証子生成部107によって処理される。認証子生成部107はチャレンジデータに署名を行う認証鍵ペアを管理する認証デバイスを選択し、チャレンジデータへのディジタル署名処理を要求する。選択された認証デバイスは予め定められたユーザ認証を実行し、ログイン端末101を操作するユーザが正当なユーザであることを識別した後(S703)、管理する認証鍵ペアの秘密鍵でチャレンジデータにディジタル署名を行う(S704)。認証デバイスがログイン端末101を操作するユーザを識別する方法は、指紋や静脈などの生体認証を用いるものでもよいし、PINコードなどのユーザの知識を利用したものでもよい。
The
続いて、生成された認証子は通信処理部106を介してサービス提供装置102に送信される(S705)。通信監視部105は、鍵管理表記憶部111で管理される鍵テーブルに対して、認証子を生成した認証鍵の識別子とセキュリティクラスを対応付けて更新する(S706)。
Subsequently, the generated authentication code is transmitted to the
以上、ログイン端末101による認証子の生成処理のステップを説明した。これにより認証デバイスが複数のセキュリティクラスに分類されるサービス処理に対して利用されることを防止することが可能になり、ユーザが認証デバイスを用いて不用意に認証処理を実行してしまうリスクが軽減される。
The steps of the process of generating an authenticator by the
<鍵管理表の更新過程>
図8は、鍵管理表記憶部111における鍵テーブル301の更新を、ログイン端末101における認証デバイスでの認証履歴と対応付けて説明するシーケンス図の一例である。本シーケンスの説明は、認証鍵利用条件113として「認証鍵を2つ以上のセキュリティクラスに利用する場合はブロックする」という制限が設定されているものとする。また、セキュリティクラスはURLを単位として分類されるものとする。
<Key management table update process>
FIG. 8 is an example of a sequence diagram for explaining the update of the key table 301 in the key management
鍵テーブル801は、図5で説明した認証デバイスの鍵登録処理後(S506)の鍵テーブル構成の一例である。ログイン端末101は3つの認証デバイスを備え、指紋認証で制御されるKey1,顔認証で制御されるKey2,PIN入力で制御されるKey3の3つの認証鍵をサービス1に登録している。鍵テーブル801で示すように、認証鍵登録後は認証鍵が未使用であるために各認証鍵のセキュリティクラスは未設定となっている。
The key table 801 is an example of a key table configuration after the key registration process of the authentication device described with reference to FIG. 5 (S506). The
続いて、サービス提供装置102が提供するURL1で識別されるURLにログイン端末101がリクエストを送信すると、レスポンスとしてユーザ認証要求が返信される。この認証要求に対し、ログイン端末101は指紋認証で管理された認証鍵Key1を利用してユーザ認証を行う。結果、鍵テーブル802のように、Key1のセキュリティクラスにURL1が対応付けられる。
Subsequently, when the
さらに、ログイン端末101が送金手続きを行うためにURL2にアクセスし、サービス提供装置102からユーザ認証要求を含んだレスポンスを受け取る。ここで、ログイン端末101がURL2へアクセスするための認証デバイスとして再びKey1を管理する指紋認証デバイスを利用した場合、鍵テーブル804のようにKey1がURL1とURL2の認証に利用される状態になる。このため、認証鍵利用条件113に反することになるため、通信監視部105が認証鍵Key1の利用をブロックする。一方で、顔認証デバイスで管理されるKey2でURL2にアクセスした場合には、鍵テーブル803のように一つの認証鍵が複数のセキュリティクラス(URL)に利用されることはない。このため、通信処理部106は通常の認証処理としてサービス提供装置102へのログインを行う。
Furthermore, the
以上、図8における認証鍵利用シーケンスの説明をした。上記のように、通信監視部105は通信データのリクエスト及びそのレスポンスを監視し、認証鍵が認証鍵利用条件113に従って利用されることを強制する。これにより、ユーザが意図せずに単一の認証デバイスで複数のセキュリティクラスのサービスへの認証を行うことを防止することが可能となる。
The authentication key use sequence in FIG. 8 has been described above. As described above, the
以上、本実施形態におけるログイン端末101とサービス提供装置102の構成及び処理ステップを説明した。本実施形態は、説明した装置構成での実現に限定されず、異なる装置構成に情報処理方法を適用することも可能である。例えば、認証デバイスをログイン端末101の外部に設け、無線/有線インターフェースで接続すること形態も可能である。なお、本実施形態においては図8で示したように、認証鍵登録時には鍵テーブル801で示したようにどの認証鍵とセキュリティクラスの対応が行われていない場合を用いて説明行った。これは、一般に使われているウェブサービスが提供セキュリティクラスに関する定義情報を配布していないような用途で広く適用可能であるという点で利便性が高い。しかしながら、本実施形態はこれに限定することなく、例えばサービス提供装置102がURLとセキュリティクラスの対応鍵テーブルを予め配信することで実現することも可能である。これにより、ログイン端末101はセキュリティクラスの定義をより正確に把握することができることになり、より適切な認証鍵の利用制御を行うことが可能となる。或いは、認証鍵登録時に認証デバイスのセキュリティクラスをユーザが選択することも可能である。この場合は、ユーザはログインなどの通常のセキュリティクラスに対する認証は指紋認証デバイスで、送金などの重要処理は顔認証で認証を行うなどのユーザの好みに応じた認証デバイスを設定できる。
The configurations and processing steps of the
また、セキュリティクラスの識別方法は、本実施形態で説明したようにURLを基準としたものに限定する必要はなく、サービスの状態に基づいたものでもよい。つまり、ウェブサービスの認証状態を管理する代表的な手段としてCookieがあるが、このCookieの状態に応じてセキュリティクラスを定義してもよい。この場合、例えばユーザ認証されていない状態を一つのセキュリティクラスとし、ユーザ認証がされた常態を別のセキュリティクラスとする。通常はユーザ認証が済みのセキュリティクラスに遷移するに際してユーザ認証が行われるため、鍵テーブル301では認証済みのセキュリティクラスに遷移するために利用される認証鍵(KeyID)及び認証デバイスが管理される。 Further, the security class identification method need not be limited to the one based on the URL as described in the present embodiment, but may be based on the state of the service. That is, there is a cookie as a representative means for managing the authentication state of the web service, but the security class may be defined according to the state of the cookie. In this case, for example, a state in which the user is not authenticated is regarded as one security class, and a state in which the user is authenticated is regarded as another security class. Normally, user authentication is performed when transitioning to a security class for which user authentication has already been performed, so the key table 301 manages an authentication key (KeyID) and an authentication device that are used to transition to a security class for which authentication has been performed.
上記実施形態はウェブブラウザとブラウザがアクセスするサービスのURLを元にした認証鍵ペアの利用制限を一例として説明したが、これに制限されることはなく、様々なアプリケーションにて協可能である。例えば、通信処理部106はJava(登録商標)言語で記述されたモバイルアプリケーションなどとすることも可能である。この場合には、URLだけではなくモバイルアプリケーションの画面遷移状態(Intent)や内部状態を利用してセキュリティクラスを定義することが可能である。
In the above embodiment, the usage restriction of the authentication key pair based on the URL of the web browser and the service accessed by the browser has been described as an example, but the present invention is not limited to this and various applications can cooperate. For example, the
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.
Claims (9)
前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、
前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、
前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする情報処理装置。 An information processing apparatus for logging in to a service providing apparatus using a plurality of authentication key pairs, comprising:
Communication means for communicating with a plurality of requests to the service providing device and a plurality of responses from the service providing device;
Setting means for setting a plurality of security classes according to types of the plurality of requests;
An information processing apparatus, comprising: restricting means for restricting use of at least one of the plurality of authentication key pairs for communication of a request corresponding to at least one of the plurality of security classes.
通信手段が、前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信工程と、
設定手段が、前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定工程と、
制限手段が、前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限工程と、を有することを特徴とする情報処理方法。 An information processing method for logging in to a service providing apparatus using a plurality of authentication key pairs, comprising:
A communication process in which communication means communicate with a plurality of requests to the service providing apparatus and a plurality of responses from the service providing apparatus;
A setting step of setting a plurality of security classes in accordance with the types of the plurality of requests;
An information processing characterized in that the limiting means limits the use of at least one of the plurality of authentication key pairs for communication of a request corresponding to at least one of the plurality of security classes. Method.
複数の認証鍵ペアを用いてサービス提供装置にログインする情報処理装置であって、
前記サービス提供装置への複数のリクエストと前記サービス提供装置からの複数のレスポンスとによって通信する通信手段と、
前記複数のリクエストの種類に応じて、複数のセキュリティクラスを設定する設定手段と、
前記複数の認証鍵ペアの少なくとも一つを、前記複数のセキュリティクラスの少なくとも一つに対応するリクエストの通信に用いることを制限する制限手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。 Computer,
An information processing apparatus for logging in to a service providing apparatus using a plurality of authentication key pairs, comprising:
Communication means for communicating with a plurality of requests to the service providing device and a plurality of responses from the service providing device;
Setting means for setting a plurality of security classes according to types of the plurality of requests;
A control unit configured to control at least one of the plurality of authentication key pairs to use for communication of a request corresponding to at least one of the plurality of security classes; Computer program for.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185465A JP2019062394A (en) | 2017-09-26 | 2017-09-26 | Information processing apparatus, information processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185465A JP2019062394A (en) | 2017-09-26 | 2017-09-26 | Information processing apparatus, information processing method, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019062394A true JP2019062394A (en) | 2019-04-18 |
Family
ID=66177708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017185465A Pending JP2019062394A (en) | 2017-09-26 | 2017-09-26 | Information processing apparatus, information processing method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019062394A (en) |
-
2017
- 2017-09-26 JP JP2017185465A patent/JP2019062394A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11855983B1 (en) | Biometric electronic signature authenticated key exchange token | |
US20220321359A1 (en) | Methods and systems for ownership verification using blockchain | |
CN109951489B (en) | Digital identity authentication method, equipment, device, system and storage medium | |
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 | |
WO2021017128A1 (en) | Login token generation method and apparatus, login token verification method and apparatus, and server | |
KR101863953B1 (en) | System and method for providing electronic signature service | |
US9197420B2 (en) | Using information in a digital certificate to authenticate a network of a wireless access point | |
JP7083892B2 (en) | Mobile authentication interoperability of digital certificates | |
US20210234857A1 (en) | Authentication system, authentication method, and application providing method | |
US20190114637A1 (en) | Method and system to unlock account access via effort metrics | |
US20090271635A1 (en) | Methods and systems for authentication | |
JP2001326632A (en) | Distribution group management system and method | |
JPWO2007094165A1 (en) | Identification system and program, and identification method | |
US9124571B1 (en) | Network authentication method for secure user identity verification | |
US8397281B2 (en) | Service assisted secret provisioning | |
US11949785B1 (en) | Biometric authenticated biometric enrollment | |
JP5431040B2 (en) | Authentication request conversion apparatus, authentication request conversion method, and authentication request conversion program | |
KR20210095093A (en) | Method for providing authentification service by using decentralized identity and server using the same | |
KR101051420B1 (en) | Secure one time password generating apparatus and method | |
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 | |
CN113971274B (en) | Identity recognition method and device | |
US11405387B1 (en) | Biometric electronic signature authenticated key exchange token | |
CN111901304A (en) | Registration method and device of mobile security equipment, storage medium and electronic device | |
KR102372503B1 (en) | Method for providing authentification service by using decentralized identity and server using the same |