JP6479724B2 - Secret key synchronization system, user terminal, and secret key synchronization method - Google Patents
Secret key synchronization system, user terminal, and secret key synchronization method Download PDFInfo
- Publication number
- JP6479724B2 JP6479724B2 JP2016171925A JP2016171925A JP6479724B2 JP 6479724 B2 JP6479724 B2 JP 6479724B2 JP 2016171925 A JP2016171925 A JP 2016171925A JP 2016171925 A JP2016171925 A JP 2016171925A JP 6479724 B2 JP6479724 B2 JP 6479724B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- user terminal
- key
- terminal
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、公開鍵暗号を用いてユーザ認証するWEBサービスを利用する端末の間でのユーザ認証の秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法に関する。 The present invention relates to a secret key synchronization system, a user terminal, and a secret key synchronization method for user authentication between terminals using a WEB service for user authentication using public key cryptography.
インターネットの利用者は、パソコンやスマートフォン、タブレット端末等の複数の端末を使って、オンラインバンキングやネットショッピング等の各種WEBサービスを利用している。WEBサービスを利用するには、ユーザ認証が必要である。ユーザ認証の方法としては、ユーザID(Identifier、識別子)とパスワードを用いるのが一般的である。
ブラウザにはユーザIDとパスワードの自動入力機能があるが、複数の端末それぞれにユーザIDとパスワードを設定する必要があり、面倒であった。この問題を解消するために、WEBサービスと該WEBサービスのユーザIDとパスワードとの組であるアカウントを、端末間で同期するパスワード同期サービスが普及している。
Internet users use various web services such as online banking and online shopping using a plurality of terminals such as personal computers, smartphones, and tablet terminals. User authentication is required to use the WEB service. As a user authentication method, a user ID (identifier) and a password are generally used.
The browser has an automatic input function of a user ID and a password, but it is troublesome because it is necessary to set a user ID and a password for each of a plurality of terminals. In order to solve this problem, a password synchronization service that synchronizes an account, which is a set of a WEB service and a user ID and password of the WEB service, between terminals is widely used.
図24は、異なる端末上のブラウザ間のパスワードを同期するサービスの概要を示す図である。
パスワード同期サービスは、ユーザが保有する端末上のブラウザ間で、WEBサービスのユーザIDとパスワードとを、パスワード同期サーバを介して、自動共有するサービスである。パスワード同期サービス自体にもユーザIDとパスワードがあり、このユーザIDとパスワードを用いて、ブラウザはパスワード同期サーバにアクセスする。ブラウザは、パスワード同期サーバに自身が記憶していないアカウントがあれば、それをダウンロードし、逆にパスワード同期サーバにないアカウントがあれば、それをアップロードする。こうすることで、ユーザが保有する全ての端末で、WEBサービスのユーザIDとパスワードとが共有され、どの端末からでもWEBサービスのユーザIDとパスワードとが自動入力されるようになる。
FIG. 24 is a diagram showing an overview of a service for synchronizing passwords between browsers on different terminals.
The password synchronization service is a service that automatically shares the user ID and password of the WEB service between the browsers on the terminal owned by the user via the password synchronization server. The password synchronization service itself also has a user ID and password, and the browser accesses the password synchronization server using the user ID and password. If there is an account that is not stored in the password synchronization server, the browser downloads it, and if there is an account that is not in the password synchronization server, uploads it. By doing so, the WEB service user ID and password are shared by all terminals owned by the user, and the WEB service user ID and password are automatically input from any terminal.
しかしながら、パスワード同期サービスには、パスワード同期サーバが攻撃され、アカウントが盗まれてしまうという問題がある。攻撃されると、パスワード同期サービスを利用している全てのユーザの全てのWEBサービスのユーザIDとパスワードとが盗まれて、悪用されてしまう。これは、パスワード同期サーバ上に、ユーザIDとパスワードとが保管されていることに起因している。
この問題を解決する一つの技術として、非特許文献1に記載のFIDO(Fast IDentity Online)という、公開鍵暗号を用いたWEBサービスのユーザ認証技術がある。
However, the password synchronization service has a problem that the password synchronization server is attacked and the account is stolen. When attacked, the user IDs and passwords of all WEB services of all users who use the password synchronization service are stolen and misused. This is because the user ID and the password are stored on the password synchronization server.
As one technique for solving this problem, there is a web service user authentication technique using public key cryptography called FIDO (Fast IDentity Online) described in Non-Patent
図25は、公開鍵暗号を用いたユーザ認証技術であるFIDOの概要を示す図である。
図25のWEBサービスBに注目して説明する。FIDOにおけるユーザ認証は、WEBサービスBが直接にユーザXを認証するものではなく、端末P上にある認証モジュールを介した認証である。即ち、認証モジュールがユーザXを認証し、WEBサービスBが、ユーザの代理としての認証モジュールを認証するという、二段階になっている。認証モジュールは、パスワードや生体認証を用いてユーザXが本人であることを確認する。この確認が成功することで、認証モジュール内は、公開鍵暗号の秘密鍵XBを用いることができるようになる。認証モジュールは、WEBサービスBが送信した乱数に、WEBサービスBに対応した秘密鍵XBを用いて署名してWEBサービスBに送信し、WEBサービスBはユーザの公開鍵XBを用いて署名を検証する。この検証に成功することで、WEBサービスBは認証モジュールを介して、ユーザXを認証したことになる。
FIG. 25 is a diagram showing an overview of FIDO, which is a user authentication technique using public key cryptography.
Description will be made by paying attention to the WEB service B in FIG. The user authentication in the FIDO is not performed by the WEB service B directly authenticating the user X but is performed through an authentication module on the terminal P. That is, the authentication module authenticates the user X, and the WEB service B authenticates the authentication module as the user's proxy. The authentication module confirms that the user X is the user using a password or biometric authentication. When this confirmation is successful, the private key XB of public key cryptography can be used in the authentication module. The authentication module signs the random number sent by the WEB service B using the secret key XB corresponding to the WEB service B and sends it to the WEB service B. The WEB service B verifies the signature using the user's public key XB. To do. By succeeding in this verification, the WEB service B authenticates the user X via the authentication module.
FIDOのユーザ認証では秘密鍵XBの機密性が重要であり、秘密鍵XBは認証モジュール内に閉じ込められており、外部に取り出すことができない。このため、普段、WEBサービスBを使っている端末Pとは別の端末Qから当該WEBサービスBにアクセスしようとしても、当該WEBサービスBに対応した秘密鍵XBが端末Qにはないので、アクセスできない。 In the user authentication of FIDO, the confidentiality of the secret key XB is important, and the secret key XB is confined in the authentication module and cannot be taken out to the outside. For this reason, even if an attempt is made to access the WEB service B from a terminal Q different from the terminal P that normally uses the WEB service B, the terminal Q does not have a secret key XB corresponding to the WEB service B. Can not.
認証モジュールによっては、外部に取り出せるようにしたものもあるが、取り出した秘密鍵XBを保護するためのパスワードが必要であり、手間がかかる。また、秘密鍵XBを更新した際には、端末の数の分だけ操作が必要である。また、端末Pに複数の秘密鍵があり、これらを端末Qに複製しようとする場合には、秘密鍵の数の分だけの操作が必要であり、手間がかかる。 Some authentication modules can be taken out to the outside, but a password for protecting the taken out private key XB is required, which is troublesome. Further, when the secret key XB is updated, the operation is required for the number of terminals. Further, when there are a plurality of secret keys in the terminal P and these are to be copied to the terminal Q, an operation corresponding to the number of secret keys is required, which is troublesome.
本発明は、上記の問題を解決するものであり、事前に登録しておいた、2つのユーザ端末を接続することで、ユーザの操作なしに秘密鍵を複製し合うことが可能となる秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法を提供することを課題とする。 The present invention solves the above-described problem, and by connecting two user terminals that have been registered in advance, a secret key that can be duplicated without any user operation is provided. It is an object to provide a synchronization system, a user terminal, and a secret key synchronization method.
上記課題を解決するための手段として、請求項1に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、2つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムであって、前記ユーザ端末は、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備え、前記端末管理サーバは、前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶する署名関係情報管理部を備えることを特徴とする秘密鍵同期システムである。
As means for solving the above-mentioned problem, the invention according to
上記課題を解決するための手段として、請求項6に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、2つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの前記ユーザ端末であって、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備えることを特徴とするユーザ端末である。 As means for solving the above-mentioned problems, the invention according to claim 6 holds a user terminal holding a service secret key, which is a secret key used for authentication when using a service, and information related to the user terminal. A user terminal of a secret key synchronization system connected to a terminal management server via a communication network and replicating the service secret key between the two user terminals, for authenticating the user terminal Generating a pair of a private key and a public key of the primary signature relationship information, including its own user terminal identifier, a public key of the primary signature relationship information, and a signature using the secret key of the primary signature relationship information A terminal initial registration unit that generates the primary signature relation information, transmits the primary signature relation information to the terminal management server, and makes itself a primary user terminal; If it is not the terminal, a pair of a private key and public key of secondary signature relation information for authenticating the user terminal is generated, and its own user terminal identifier, a public key of the secondary signature relation information, and the second key The secondary signature relationship information including the signature using the secret key of the next signature relationship information is generated, and the secondary signature relationship information is transmitted to the primary user terminal by direct communication without going through the communication network. Then, when the terminal registration request unit is a secondary user terminal and the terminal registration request unit itself is the primary user terminal, the secondary signature relationship information is received from the secondary user terminal, and the secondary signature relationship is received. After successfully verifying the signature of the information, the user terminal identifier of the secondary signature relationship information that has been successfully verified, the public key of the secondary signature relationship information including the user terminal identifier, and the primary signature relationship Information user A new primary signature relationship information indicating new primary signature relationship information is generated by adding a signature generated with a secret key of the primary signature relationship information to data including a terminal identifier and a public key of the primary signature relationship information A terminal registration response unit that transmits information including the new primary signature relation information to the terminal management server and two user terminals that are the primary user terminal or the secondary user terminal that performs the duplication, Exchange the public key for encryption used for the duplication, the public key for signature used for the duplication, and the signature generated using the private key of the primary signature relation information or the secret key of the secondary signature relation information A pairing control unit that performs pairing, and a synchronization control unit that performs the duplication of the service secret key using the encryption public key and the signature public key exchanged in the pairing; The It is a user terminal characterized by providing.
上記課題を解決するための手段として、請求項7に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、2つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの秘密鍵同期方法であって、前記ユーザ端末は、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とするステップと、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とするステップと、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信するステップと、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するステップと、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行するステップとを実行し、前記端末管理サーバは、前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶するステップを実行することを特徴とする秘密鍵同期方法である。 As means for solving the above problem, the invention according to claim 7 holds a user terminal holding a service secret key, which is a secret key used for authentication when using a service, and information related to the user terminal. A secret key synchronization method of a secret key synchronization system, which is connected to a terminal management server via a communication network and duplicates the service secret key between two user terminals, wherein the user terminal is the user Generate a pair of a private key and public key of primary signature relationship information for authenticating a terminal, and use its own user terminal identifier, a public key of the primary signature relationship information, and a secret key of the primary signature relationship information Generating the primary signature relationship information including a signature, transmitting the primary signature relationship information to the terminal management server, and making itself a primary user terminal; If it is not the next user terminal, it generates a pair of the private key and public key of the secondary signature relation information for authenticating the user terminal, its own user terminal identifier, the public key of the secondary signature relation information, Generating the secondary signature relationship information including a signature using a secret key of the secondary signature relationship information, and directly communicating the secondary signature relationship information to the primary user terminal without passing through the communication network. And when the mobile terminal is a primary user terminal, the mobile terminal receives the secondary signature related information from the secondary user terminal when the mobile terminal is the primary user terminal. After successfully verifying the signature, the user terminal identifier of the secondary signature related information that has been successfully verified, the public key of the secondary signature related information including the user terminal identifier, and the primary signature related information You A signature generated with the private key of the primary signature relationship information is added to data including a terminal identifier and a public key of the primary signature relationship information, and new primary signature relationship information indicating new primary signature relationship information is generated. And transmitting the information including the new primary signature relation information to the terminal management server and the duplication between the two user terminals that are the primary user terminal or the secondary user terminal performing the duplication. Pairing for exchanging the encryption public key used, the signature public key used for the duplication, and the signature generated using the private key of the primary signature relation information or the secret key of the secondary signature relation information And executing the duplication of the service secret key using the encryption public key and the signature public key exchanged by the pairing, and The terminal management server receives and stores the primary signature related information from the primary user terminal via the communication network, and when receiving the new primary signature related information, the public key of the primary signature related information And a step of storing the new primary signature relationship information in place of the primary signature relationship information after a successful verification of the signature of the new primary signature relationship information using the secret key synchronization method .
かかる構成によれば、ユーザが所有するユーザ端末として最初に登録される(一次署名関係情報の対象である)一次ユーザ端末か、一次ユーザ端末と直接通信を介して、ユーザが所有する2つ目以降のユーザ端末として登録される(二次署名関係情報の対象である)二次ユーザ端末かのいずれかのユーザ端末の間でのみサービス秘密鍵の複製(同期)ができる。登録されていない不正なユーザ端末との間で同期が行われることはなく、サービス秘密鍵の漏洩を防止することができる。 According to such a configuration, the first user terminal registered as the user terminal owned by the user (the target of the primary signature related information) or the second user owned by the user through direct communication with the primary user terminal The service secret key can be duplicated (synchronized) only between any of the secondary user terminals (subject to secondary signature related information) registered as subsequent user terminals. There is no synchronization with an unregistered unauthorized user terminal, and leakage of the service secret key can be prevented.
上記課題を解決するための手段として、請求項2に係る発明は、前記端末登録応答部は、前記新規一次署名関係情報の署名を生成する前に、ユーザ認証を行い、前記ペアリング制御部は、前記ペアリングの前に、ユーザ認証を行うことを特徴とする請求項1に記載の秘密鍵同期システムである。
As a means for solving the above-mentioned problem, in the invention according to
かかる構成によれば、ユーザ端末の所有者以外のユーザによる、該ユーザ端末を使ってのユーザ端末の登録やペアリング、同期を防止することができる。 According to such a configuration, it is possible to prevent registration, pairing, and synchronization of a user terminal using the user terminal by a user other than the owner of the user terminal.
上記課題を解決するための手段として、請求項3に係る発明は、前記端末管理サーバは、前記ユーザ端末ごとに当該ユーザ端末が利用停止状態であるか否かを記憶し、前記ペアリング制御部は、前記ペアリングの前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記ペアリングを中止し、前記同期制御部は、前記複製の前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記複製を中止することを特徴とする請求項1に記載の秘密鍵同期システムである。 As means for solving the above-mentioned problem, the invention according to claim 3 is characterized in that the terminal management server stores, for each user terminal, whether or not the user terminal is in a suspended state, and the pairing control unit. Before the pairing, inquires to the terminal management server whether or not it is in the use suspension state, if the use suspension state, the pairing is stopped, the synchronization control unit Before the duplication, an inquiry is made to the terminal management server as to whether or not it is in the use suspension state, and if the use is in the use suspension state, the duplication is stopped. It is the private key synchronization system described.
かかる構成によれば、紛失したユーザ端末を利用停止状態にしておくことで、該ユーザ端末を使ったペアリングや同期を防止することができる。 According to such a configuration, it is possible to prevent pairing and synchronization using the user terminal by keeping the lost user terminal in a use suspended state.
上記課題を解決するための手段として、請求項4に係る発明は、前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも1つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、前記ペアリング制御部は、前記ペアリングの前に、ペアリング対象となるユーザ端末の前記端末能力情報を前記端末検証サーバから入手し、前記端末能力情報が示す前記ユーザ端末の前記安全性のレベルが所定の基準を満たさない場合には、前記ペアリングを中止することを特徴とする請求項1に記載の秘密鍵同期システムである。
As a means for solving the above-mentioned problems, the invention according to claim 4 is characterized in that the secret key synchronization system includes: a key protection capability, a user authentication method, a strength of user authentication, and a presence / absence of a secure area of the user terminal. A terminal verification server for storing terminal capability information including at least one of them and indicating a safety level, wherein the pairing control unit is a user terminal to be paired before the pairing The terminal capability information is obtained from the terminal verification server, and the pairing is stopped when the security level of the user terminal indicated by the terminal capability information does not satisfy a predetermined criterion. The secret key synchronization system according to
かかる構成によれば、ユーザ認証方法やサービス秘密鍵の保護方法(保護能力)が所定の基準に満たない、安全性のレベルが低いユーザ端末との同期を防止することができる。 According to such a configuration, it is possible to prevent synchronization with a user terminal having a low level of security in which the user authentication method and the service secret key protection method (protection capability) do not satisfy the predetermined standard.
上記課題を解決するための手段として、請求項5に係る発明は、前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも1つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、前記サービス秘密鍵は、WEBサービスのユーザ認証に用いる秘密鍵であり、前記WEBサービスは、前記WEBサービスのユーザ認証に用いる秘密鍵の複製の可否、前記ユーザ端末の鍵の保護能力、前記ユーザ端末のユーザ認証方法、前記ユーザ端末のユーザ認証の強度、前記ユーザ端末のセキュア領域の有無、のうちの少なくとも1つを規定する認証ポリシを記憶しており、前記同期制御部は、前記WEBサービスのユーザ認証に用いる秘密鍵の複製の前に、前記複製をする先のユーザ端末の前記安全性のレベルが、前記WEBサービスの前記認証ポリシにある安全性のレベルを満たしていない場合には、前記複製を中止することを特徴とする請求項1に記載の秘密鍵同期システムである。
As a means for solving the above-mentioned problem, the invention according to
かかる構成によれば、FIDO等のWEBサービスのユーザ認証の秘密鍵について、WEBサービスが要求するレベルに合わない低い安全性レベルのユーザ端末へのサービス秘密鍵の複製を防止することができる。 According to such a configuration, it is possible to prevent the service secret key from being copied to a user terminal having a low security level that does not match the level required by the WEB service for the secret key for user authentication of the WEB service such as FIDO.
本発明によれば、事前に登録しておいた、2つのユーザ端末を接続することで、ユーザの操作なしに秘密鍵を複製し合うことが可能となる秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法を提供することを課題とする。 According to the present invention, a secret key synchronization system, a user terminal, and a secret key that can duplicate a secret key without user operation by connecting two user terminals that have been registered in advance. It is an object to provide a synchronization method.
以下、本発明の実施形態の秘密鍵同期システムを、図面を参照しつつ説明する。
≪本実施形態の秘密鍵同期システム≫
図1は、本実施形態に係る秘密鍵同期システム1の全体構成を例示する図である。
秘密鍵同期システム1は、通信ネットワーク(インターネット)を介して接続される以下の、WEBサービス400のユーザ認証用の秘密鍵を記憶してWEBサービスのユーザ認証を行うユーザ端末100と、該ユーザ端末100に関する情報を記憶する端末管理サーバ200と、ユーザ端末の安全性のレベルを確認(端末能力の検証)するための情報(端末能力情報302)を記憶する端末検証サーバ300と、自身にアクセスするユーザ端末100の安全性のレベルを含んだ認証ポリシ401を記憶するWEBサービス400とからなる。
Hereinafter, a secret key synchronization system according to an embodiment of the present invention will be described with reference to the drawings.
≪Secret key synchronization system of this embodiment≫
FIG. 1 is a diagram illustrating the overall configuration of a secret
The secret
ユーザ端末100には、一次ユーザ端末100−1と二次ユーザ端末100−2の2つの種類がある。一次ユーザ端末100−1は、各ユーザが最初に登録する(図1の符号1参照)ユーザ端末100である。2つ目以降のユーザ端末100は、二次ユーザ端末100−2として、一次ユーザ端末を使って登録する(図1の符号2参照)。
There are two types of user terminals 100: primary user terminals 100-1 and secondary user terminals 100-2. The primary user terminal 100-1 is a
この登録のとき、一次ユーザ端末100−1と二次ユーザ端末100−2とは、インターネットを介してではなく、通信ケーブル等を用いて直接接続されて通信する(以下、直接通信と記す)。他の直接通信の方法として、Bluetooth(登録商標)のような近距離無線通信やアドホックモードの無線LAN(Local Area Network)を使った直接接続を用いた方法がある。登録対象を直接通信が可能であるユーザ端末100に限定することで、一次ユーザ端末100−1を持たない攻撃者の、遠隔からの不正なユーザ端末100の登録を防ぐことができる。
以下、一次ユーザ端末100−1と二次ユーザ端末100−2とを併せて、登録ユーザ端末と記す。また、登録済みであることが明らかな場合には、登録ユーザ端末を単にユーザ端末と記す。
At the time of registration, the primary user terminal 100-1 and the secondary user terminal 100-2 communicate by being directly connected using a communication cable or the like, not via the Internet (hereinafter referred to as direct communication). Other direct communication methods include short-range wireless communication such as Bluetooth (registered trademark) and direct connection using an ad hoc mode wireless LAN (Local Area Network). By limiting the registration target to the
Hereinafter, the primary user terminal 100-1 and the secondary user terminal 100-2 are collectively referred to as a registered user terminal. If it is clear that the user has been registered, the registered user terminal is simply referred to as a user terminal.
2つの登録ユーザ端末100は、直接通信が可能であるように接続されてペアリングする(図1の符号3参照)ことで、お互いの暗号用と署名用の公開鍵を交換し合う。WEBサービス400の秘密鍵を同期(複製し合う)する(図1の符号4参照)ときには、このペアリングで入手した署名用(認証用)の公開鍵を用いて同期相手のユーザ端末100を認証し、暗号用の公開鍵を用いて秘密鍵を暗号化して複製する。一度ペアリングした2つのユーザ端末100は、以後は繰返し同期することができる。
The two registered
一次ユーザ端末100−1を登録すると、ユーザが一次ユーザ端末100−1を所有していることを示す署名関係情報(後述する図12のD100)を一次ユーザ端末100−1が生成して、端末管理サーバ200に送信し、端末管理サーバ200が署名関係情報DB232(後述する図9)に格納する。後述するように、この署名関係情報(請求項の一次署名関係情報)には、一次ユーザ端末100−1の認証に用いられる公開鍵が含まれている。
When the primary user terminal 100-1 is registered, the primary user terminal 100-1 generates signature relation information (D100 in FIG. 12 described later) indicating that the user owns the primary user terminal 100-1, and the terminal The data is transmitted to the
二次ユーザ端末100−2を登録すると、ユーザが一次ユーザ端末100−1と二次ユーザ端末100−2を所有していることを示す署名関係情報(後述する図15のD170)を一次ユーザ端末100−1が生成して、端末管理サーバ200に送信し、端末管理サーバ200が署名関係情報DB232(後述する図9)に格納する。後述するように、この署名関係情報(請求項の新規一次署名関係情報)には、一次ユーザ端末100−1と二次ユーザ端末100−2の認証に用いられる公開鍵が含まれている。ユーザ端末100は、端末管理サーバ200に署名関係情報を要求することで、最新の登録済みのユーザ端末100の情報を得ることができる。
When the secondary user terminal 100-2 is registered, signature related information (D170 in FIG. 15 to be described later) indicating that the user owns the primary user terminal 100-1 and the secondary user terminal 100-2 is transmitted to the primary user terminal. 100-1 is generated and transmitted to the
ペアリングでは、端末管理サーバ200に相手のユーザ端末100の利用状態の確認(図1の符号3a参照)や端末検証サーバ300にユーザ端末100の能力検証(図1の符号3b参照)を行う。
ユーザ端末100を紛失した場合には、端末管理サーバ200が記憶する該ユーザ端末100の利用状態を停止中にしておく。ペアリングの処理で相手のユーザ端末100の利用状態を確認する(図1の符号3a参照)ことで、紛失したユーザ端末100ではペアリングができなくなる。これは、同期の処理で確認する場合も同様である。
In pairing, the
When the
また、ペアリングのときに相手のユーザ端末100の端末能力情報302を入手し、能力検証を行う(図1の符号3b参照)ことで、秘密鍵を盗もうとする攻撃に対する対抗力(鍵の保護能力)やユーザ認証の確かさのレベル(ユーザ認証方法やその強度)、セキュア領域の有無等、相手のユーザ端末100が所定の安全性のレベルを確保しているかを確認する。確認できなければ、ユーザ端末100への秘密鍵同期(複製)を中止することで、低い安全レベルのユーザ端末100からの秘密鍵の漏洩を防止することができる。
In addition, the
WEBサービス400のユーザ認証に用いる秘密鍵の同期を行うときには、相手のユーザ端末100の端末能力情報302に示される安全性のレベルと、WEBサービス400の認証ポリシ401とを照合する(図1の符号4a参照)。照合した結果、WEBサービス400の認証ポリシ401に合わない場合には同期を中止する。認証ポリシ401に合わない低い安全性のレベルのユーザ端末100への秘密鍵同期(複製)を禁止することで、低い安全レベルのユーザ端末100からの秘密鍵の漏洩を防止することができる。
When synchronizing the secret key used for user authentication of the
図25に示したパスワードで秘密鍵を暗号化し、ユーザ端末100の間で複製する方法では、ユーザ端末100の数とWEBサービス400のユーザ認証用秘密鍵の数との積に比例する操作が必要であった。本実施形態の同期処理では、2つのユーザ端末100を直接接続すれば、ユーザ操作は不要である。
In the method of encrypting the secret key with the password shown in FIG. 25 and copying it between the
以下、秘密鍵同期システム1を構成する各装置について、図面を参照しながら詳細に説明する。
≪ユーザ端末の構成≫
図2は、本実施形態に係るユーザ端末100の構成を例示する機能ブロック図である。
ユーザ端末100は、ワークステーションやパソコン、スマートフォン等の汎用コンピュータで実現され、制御部110と、記憶部150と、入出力部140とを備える。装置内部のCPU(Central Processing Unit)等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部110として機能する。制御部110は、鍵管理セキュアアプリ120と、鍵管理ノンセキュアアプリ130とを備える。
Hereinafter, each device constituting the secret
<< User terminal configuration >>
FIG. 2 is a functional block diagram illustrating the configuration of the
The
また、ユーザ端末100は、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される記憶部150を備え、さらに記憶部150はセキュア記憶部160を備える。セキュア記憶部160は、ユーザ端末100のOS(Operating System)の機能により、鍵管理セキュアアプリ120だけがアクセス可能になっている。OSの機能によらず、鍵管理セキュアアプリ120がもつ鍵で暗号化しておくことで、鍵管理セキュアアプリ120以外のプログラムがアクセスできないようにしておくこともできる。
セキュア記憶部160は、認証クレデンシャルDB161と、署名関係鍵DB162と、WEBサービス鍵DB163と、同期用鍵DB164と、端末検証用秘密鍵165とを記憶する。
In addition, the
The
入出力部140は、端末管理サーバ200や他のユーザ端末100等の他の装置とのデータの入出力を行う。入出力部140は、鍵管理セキュアアプリ120がユーザ認証する際に用いる認証デバイス141と、他のユーザ端末100との直接通信を行う直接通信用インタフェース142と、ネットワークを介して情報の送受信を行う通信インタフェース(図の記載なし)と、キーボードやモニタ等の入出力インタフェース(図の記載なし)とから構成される。認証デバイス141の例として、指紋や静脈などの生体情報を読み取る装置や顔を撮影するカメラ等がある。直接通信用インタフェース142は、2つのユーザ端末100の直接通信に利用され、Bluetooth等の近距離無線通信のインタフェースがある。
以下、制御部110とセキュア記憶部160に含まれる構成について説明する。
The input /
Hereinafter, configurations included in the
制御部110に備わる鍵管理セキュアアプリ120は、鍵管理ノンセキュアアプリ130からの指示を受け、秘密鍵同期を可能とするユーザ端末100の登録を行う。また、鍵管理セキュアアプリ120は、登録されたユーザ端末100の間で、セキュア記憶部160のWEBサービス鍵DB163(後述する図6)に記憶された秘密鍵の同期を行う。さらに、鍵管理セキュアアプリ120は、WEBサービス400にアクセスするプログラムからの指示を受け、WEBサービス400のユーザ認証に必要な秘密鍵を用いた署名等の処理を行う。
The key management
また、鍵管理セキュアアプリ120は、鍵管理ノンセキュアアプリ130と認証クレデンシャルDB161(後述する図3)と署名関係鍵DB162(後述する図4)とを監視し、改竄や削除を検知した場合に、署名関係鍵DB162と、WEBサービス鍵DB163(後述する図6)と、同期用鍵DB164(後述する図5)と、端末検証用秘密鍵165とを削除する。これにより、ユーザ認証を回避して、WEBサービス鍵に不正にアクセスする攻撃を防止することができる。
Also, the key management
鍵管理セキュアアプリ120をOSの特権モード(セキュア領域)で動作させることで、一般のアプリケーションから攻撃を受けることを防ぐことができる。また、認証クレデンシャルDB161が記憶する認証データ、並びに、署名関係鍵DB162とWEBサービス鍵DB163と同期用鍵DB164と端末検証用秘密鍵165とに記憶される秘密鍵の安全性を高めることができる。又は、仮想化技術を用いて、ユーザが通常利用するOSとは別のOS(セキュア領域)上に鍵管理セキュアアプリ120とセキュア記憶部160を備えることで安全性を高めることもできる。
By operating the key management
特権モードでの動作の他に、鍵管理セキュアアプリ120は、ユーザ端末100が起動する中で、先に起動されたデバイスやソフトウェア(機能部)が後に起動されるソフトウェアが正しいか、公開鍵暗号技術を用いて署名検証し、正しい場合に起動することにより、改竄された鍵管理セキュアアプリ120の起動を防ぐことができる。
以下、鍵管理セキュアアプリ120が備える、ユーザ認証部121と、鍵管理部122と、端末初期登録部123と、端末登録要求部124と、端末登録応答部125と、ペアリング制御部126と、同期制御部127とを説明する。
In addition to the operation in the privileged mode, the key management
Hereinafter, the key management
ユーザ認証部121は、端末初期登録部123や端末登録要求部124等からの要求を受付けて、鍵管理セキュアアプリ120を利用するユーザの認証(ユーザ認証)を行う。ユーザ認証に必要なデータは、セキュア記憶部160の認証クレデンシャルDB161(後述する図3)に格納されている。ユーザ認証の一つに、顔や指紋等の生体情報を用いた認証がある。ユーザ認証部121は、入出力部140が備えるカメラや指紋スキャナ等の認証デバイス141を使って生体情報を読み取り、ユーザ認証を行う。
The
図3は、本実施形態に係るユーザ端末100のセキュア記憶部160に記憶される認証クレデンシャルDB161の構成を例示する図である。
認証クレデンシャルDB161は、例えば、テーブル形式のデータであり、1以上の行(以下、レコードと記す)を含む。各レコードは、1つのユーザ認証のためのデータであり、属性として、認証種別と、デバイスと、認証データとを含む。
FIG. 3 is a diagram illustrating a configuration of the
The
認証種別は、ユーザ認証の方法であり、顔や指紋といった生体情報を用いた方法やパスワードを用いた方法等がある。
デバイスは、入出力部140が備えるユーザ認証に用いる装置を示す。生体情報を用いる認証方法では、ユーザの生体情報を読み取るために認証デバイス141を用いる。パスワードの場合は、入出力部140が備えるキーボード(図の記載なし)を用いる。
認証データは、照合用のデータである。即ち、ユーザ認証部121が、認証デバイス141やキーボード(図の記載なし)を使って、生体情報やパスワードを取得し、取得したデータと認証データとを照合する。照合に成功すれば、ユーザ認証に成功したことになる。
The authentication type is a user authentication method such as a method using biometric information such as a face or a fingerprint, a method using a password, or the like.
The device indicates an apparatus used for user authentication included in the input /
The authentication data is verification data. That is, the
認証方法が複数あった場合に、どの方法を用いるかは、WEBサービス400の認証ポリシ401や鍵管理セキュアアプリ120自体の認証ポリシに依存する。静脈認証等の詐称が困難なユーザ認証を求めるWEBサービス400がある一方、パスワードでも構わないWEBサービス400もある。また、複数の方法を用いてのユーザ認証を求めるWEBサービス400もある。鍵管理セキュアアプリ120については、後述するようにユーザ端末100の登録のときやペアリングのときにユーザ認証が必要となり、認証方法を使い分けることもできる。
Which method is used when there are a plurality of authentication methods depends on the
鍵管理部122は、ユーザ端末100の署名関係の公開鍵暗号の鍵ペア(以下、署名関係鍵とも記す)を始めとする公開鍵暗号の鍵ペアの生成、公開鍵を用いた暗号化、秘密鍵を用いた復号、秘密鍵を用いた署名生成、公開鍵を用いた署名検証等の処理を行う。これらの処理は、端末初期登録部123やペアリング制御部126等からの要求を受けて行う。
生成した鍵ペアは、用途に応じて、セキュア記憶部160に記憶される、署名関係鍵DB162(後述する図4)、WEBサービス鍵DB163(後述する図6)又は同期用鍵DB164(後述する図5)に格納する。
The
The generated key pair is stored in the
端末初期登録部123は、ユーザが所有するユーザ端末100を一次ユーザ端末100−1として、端末管理サーバ200に登録する処理を行う。即ち、端末初期登録部123は鍵管理部122と協働して、署名関係鍵の鍵ペアを生成し、一次ユーザ端末100−1の端末ID(Identifier)と署名関係鍵の公開鍵(以下、署名関係公開鍵とも記す)を含む署名関係情報(請求項の一次署名関係情報)を生成して、端末管理サーバ200に送信する。なお、署名関係公開鍵に対応する秘密鍵を署名関係秘密鍵とも記す。生成した鍵は、セキュア記憶部160の署名関係鍵DB162(後述する図4参照)に格納される。詳細は図11を参照して後述する。
The terminal
図4は、本実施形態に係るユーザ端末100のセキュア記憶部160に記憶される署名関係鍵DB162の構成を例示する図である。
署名関係鍵DB162は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、ユーザが所有する1つのユーザ端末100を表し、属性として、端末IDと、起点と、秘密鍵と、公開鍵とを含む。
FIG. 4 is a diagram illustrating a configuration of the signature relation
The signature related
端末IDは、レコードが表すユーザ端末100の識別情報である。
起点は、レコードが表すユーザ端末100が一次ユーザ端末100−1であるか、即ち最初に登録され、以後のユーザ端末100の登録の際に使われるユーザ端末100であるか否かを示す。一次ユーザ端末100−1であれば「Y」、そうでなければ「N」となる。
The terminal ID is identification information of the
The starting point indicates whether or not the
秘密鍵と公開鍵は、それぞれユーザ端末100の署名関係の公開鍵暗号の鍵ペアの秘密鍵と公開鍵である。秘密鍵は鍵ペアを生成したユーザ端末100のみが保有するので、自身に相当する1つのレコードのみに秘密鍵が格納され、他のユーザ端末100に相当する他のレコードの秘密鍵は格納されておらず、「−」となる。
The secret key and the public key are a secret key and a public key of a public key encryption key pair of the
一次ユーザ端末100−1の署名関係鍵DB162では、全ての登録したユーザ端末100の公開鍵が格納されている。これは、二次ユーザ端末100−2を登録には、一次ユーザ端末100−1を介して登録しており、登録処理の途中で、一次ユーザ端末100−1の端末登録応答部125が、登録対象の二次ユーザ端末100−2の署名関係公開鍵を記録するためである。
In the signature related
図2に戻って、端末登録要求部124及び端末登録応答部125は、協働して、以下に示す手順で、ユーザが所有するユーザ端末100を二次ユーザ端末100−2として、一次ユーザ端末100−1を介して、端末管理サーバ200に登録する処理を行う。
Returning to FIG. 2, the terminal
最初に、二次ユーザ端末100−2として登録するユーザ端末100(以下、本処理の説明では二次ユーザ端末100−2と記す)の端末登録要求部124は、二次ユーザ端末100−2の鍵管理部122と協働して、署名関係の鍵ペアを生成し、署名関係情報(請求項の二次署名関係情報)を生成して、一次ユーザ端末100−1の端末登録応答部125に送信する。生成した鍵は、二次ユーザ端末100−2のセキュア記憶部160の署名関係鍵DB162(図4参照)に格納される。
First, the terminal
続いて、一次ユーザ端末100−1の端末登録応答部125は、一次ユーザ端末100−1の鍵管理部122と協働して、受信した二次ユーザ端末100−2の署名関係情報を検証し、自身である一次ユーザ端末100−1と二次ユーザ端末100−2の署名関係情報(請求項の新規一次署名関係情報)を生成して、端末管理サーバ200に送信する。署名関係情報には、一次ユーザ端末100−1のIDと、その署名関係公開鍵と、二次ユーザ端末100−2のIDと、その署名関係公開鍵とを含む。詳細は図14を参照して後述する。
一次ユーザ端末100−1の端末登録応答部125は、二次ユーザ端末100−2の署名関係情報に含まれていた二次ユーザ端末100−2の署名関係公開鍵を署名関係鍵DB162に格納する。
Subsequently, the terminal
The terminal
二次ユーザ端末100−2以降の新規のユーザ端末100の登録も同様であり、新規のユーザ端末100の端末登録要求部124と、一次ユーザ端末100−1の端末登録応答部125とが、協働して、新規のユーザ端末100を二次ユーザ端末100−2として登録する。一次ユーザ端末100−1の端末登録応答部125が端末管理サーバ200に送信する署名関係情報には、新規のユーザ端末100を含め、既に登録済みのユーザ端末100のIDとその署名関係公開鍵が含まれる。
The registration of the
2つの登録ユーザ端末(一次ユーザ端末100−1,二次ユーザ端末100−2)のペアリング制御部126は、協働して、以下に示す手順でペアリングの処理を行う。なお、この2つのユーザ端末100は、一次ユーザ端末100−1と二次ユーザ端末100−2であるか、又は、2つの二次ユーザ端末100−2である。
最初に、それぞれのユーザ端末100のペアリング制御部126は、ユーザ認証部121を使って、ユーザ認証を行う。次に、端末管理サーバ200に、自身の利用状態を問合せ、利用停止状態でないことを確認する。
The
First, the
続いて、2つのユーザ端末100のペアリング制御部126は、安全な通信路を確保するための共有鍵を共有する。共有の方法としては、一般に用いられる、例えばDiffie-Hellman鍵交換アルゴリズムを用いて共有する他に、一方のユーザ端末100のペアリング制御部126が、他方のユーザ端末100の署名関係公開鍵を用いて共有鍵を暗号化して、他方のユーザ端末100に送信し、受信したユーザ端末100が復号して共通鍵を共有することもできる。
Subsequently, the
次に、それぞれのユーザ端末100のペアリング制御部126は、端末検証サーバ300から入手した端末検証用公開鍵301を用いて、相手の鍵管理セキュアアプリ120の能力の検証を行う。この検証を通じて、秘密鍵を盗もうとする攻撃に対する対抗力(鍵の保護能力)やユーザ認証の確かさのレベル(ユーザ認証方法やその強度)、セキュア領域の有無等、相手の鍵管理セキュアアプリ120が所定の安全性のレベルを確保していることを確認できる。
Next, the
続いて、それぞれのユーザ端末100のペアリング制御部126は、自身の鍵管理部122と協働して、WEBサービス認証用の秘密鍵の同期に用いる、暗号化用の鍵ペアと署名用の鍵ペアを生成して、その公開鍵を相手のユーザ端末100に送信する。以下、暗号化用の鍵ペアを同期用暗号化鍵、該ペアの公開鍵を同期用暗号化公開鍵(請求項の暗号化用公開鍵)、該ペアの秘密鍵を同期用暗号化秘密鍵、署名用の鍵ペアを同期用署名鍵、該ペアの公開鍵を同期用署名公開鍵(請求項の署名用公開鍵)、該ペアの秘密鍵を同期用署名秘密鍵とも記す。同期用暗号化鍵と同期用署名鍵は、セキュア記憶部160の同期用鍵DB164(後述する図5参照)に格納される。
ペアリングの詳細な処理は、図18〜図21を参照して後述する。
Subsequently, the
Detailed processing of pairing will be described later with reference to FIGS.
図5は、本実施形態に係るユーザ端末100のセキュア記憶部160に記憶される同期用鍵DB164の構成を例示する図である。
同期用鍵DB164は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、同期の相手のユーザ端末100と同期するときに用いる、同期用暗号化鍵と同期用署名鍵を含んでおり、属性として、端末IDと、送信用公開鍵と、受信用秘密鍵と、受信用公開鍵と、署名用秘密鍵と、署名用公開鍵と、検証用公開鍵と、端末能力とを含む。
FIG. 5 is a diagram illustrating a configuration of the
The
送信用公開鍵は、同期相手のユーザ端末100の同期用暗号化公開鍵である。
受信用秘密鍵は、自身の同期用暗号化秘密鍵である。
受信用公開鍵は、自身の同期用暗号化公開鍵である。
署名用秘密鍵は、自身の同期用署名秘密鍵である。
署名用公開鍵は、自身の同期用署名公開鍵である。
検証用公開鍵は、同期相手のユーザ端末100の同期用署名公開鍵である。
端末能力は、同期相手のユーザ端末100の、後述する端末能力情報302であり、ユーザ認証部121の安全性のレベルを示すユーザの認証種別やWEBサービス鍵DB163(後述する図6)の保護方法(保護能力)等を示す。ユーザの認証種別にはパスワード・指紋等があり、WEBサービス鍵DB163の保護方法にはハードウェアによる保護、暗号化による保護などがある。
The transmission public key is an encryption public key for synchronization of the
The reception private key is its own encryption private key for synchronization.
The reception public key is its own encryption public key for synchronization.
The signature private key is its own signature private key for synchronization.
The signature public key is its own signature public key for synchronization.
The verification public key is a synchronization signature public key of the synchronization
The terminal capability is terminal capability information 302 (to be described later) of the
図2に戻って、2つの登録ユーザ端末(一次ユーザ端末100−1,二次ユーザ端末100−2)の同期制御部127は、協働して、以下に示す手順で、2つのユーザ端末100の間のWEBサービスの秘密鍵の同期処理を行う。
最初に、それぞれのユーザ端末100の同期制御部127は、直接通信可能になったことを検知し、次に、端末管理サーバ200に、自身の利用状態を問合せ、利用停止状態でないことを確認する。
Returning to FIG. 2, the
First, the
続いて、それぞれの同期制御部127は、ペアリング処理を通じて入手した、署名用(認証用)の鍵を用いて、相手を相互に認証する。次に、WEBサービス400の認証ポリシ401と照らし合わせて、該WEBサービスの秘密鍵が同期可能かを確認する。
Subsequently, each
続いて、それぞれの同期制御部127は、同期可能であるWEBサービスの秘密鍵で、相手が保有していない鍵を、同期用暗号化公開鍵を用いて暗号化して相手に送信する。
同期の詳細な処理は、図22と図23を参照して後述する。
Subsequently, each
Detailed processing of synchronization will be described later with reference to FIGS.
鍵管理ノンセキュアアプリ130は、ユーザ端末100の利用停止や利用停止解除を端末管理サーバ200に指示する。ユーザ端末100を紛失した場合には、ユーザは他のユーザ端末100の鍵管理ノンセキュアアプリ130を使って、紛失したユーザ端末100を利用停止中にする。利用停止中にすることで、紛失したユーザ端末100の不正使用を防ぐことができる。また、紛失したユーザ端末100が見つかった場合には、鍵管理ノンセキュアアプリ130を使って利用停止中を解除することができる。
The key management
図6は、本実施形態に係るユーザ端末100のセキュア記憶部160に記憶されるWEBサービス鍵DB163の構成を例示する図である。
WEBサービス鍵DB163は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、ユーザが保有する1つのWEBサービス400のアカウントを表し、属性として、URLと、ユーザIDと、秘密鍵と、公開鍵とを含む。
FIG. 6 is a diagram illustrating a configuration of the WEB service
The WEB service
URLは、レコードが示すWEBサービス400のURLである。
ユーザIDは、当該WEBサービスでのユーザのアカウントのユーザIDである。
秘密鍵と公開鍵は、それぞれ、ユーザの当該WEBサービスのユーザ認証に用いられる公開鍵暗号の秘密鍵と公開鍵である。公開鍵暗号を用いたWEBサービスのユーザ認証として、非特許文献1にあげたFIDOがあるが、別のユーザ認証方法の鍵ペアでも構わない。
The URL is the URL of the
The user ID is a user ID of a user account in the WEB service.
The secret key and the public key are a secret key and a public key of public key encryption used for user authentication of the user's WEB service, respectively. As the user authentication of the WEB service using public key cryptography, there is FIDO listed in
端末検証用秘密鍵165は、鍵管理セキュアアプリ120自身を認証するための署名の生成用の鍵であり、ペアリング処理中に用いられる。この鍵を用いて生成した署名をペアリング相手が検証することで、ペアリング相手のユーザ端末100は、鍵管理セキュアアプリ120の身元を確認でき、端末検証サーバ300に問い合わせることで鍵管理セキュアアプリ120の安全性のレベル(端末能力情報302)を確認することができる。
The terminal verification
ここまで、ユーザ端末100はシングルユーザであることを前提に説明してきた。マルチユーザである場合には、ユーザごとに、認証クレデンシャルDB161と、署名関係鍵DB162と、WEBサービス鍵DB163と、同期用鍵DB164とを備える。
So far, the description has been made on the assumption that the
≪端末管理サーバの構成≫
図7は、本実施形態に係る端末管理サーバ200の構成を例示する機能ブロック図である。
端末管理サーバ200は、ワークステーション等の汎用コンピュータで実現され、制御部210と、入出力部220と、記憶部230とを備える。装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部210として機能する。制御部210は、ユーザ受付部211と、署名関係情報管理部212と、端末利用状況管理部213とを備える。
≪Terminal management server configuration≫
FIG. 7 is a functional block diagram illustrating the configuration of the
The
また、端末管理サーバ200は、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される記憶部230を備える。記憶部230は、ユーザ情報DB231と、署名関係情報DB232と、端末利用状況DB233とを記憶する。
入出力部220は、ユーザ端末100や他の装置とのデータの入出力を行う。入出力部220は、ネットワークを介して情報の送受信を行う通信インタフェース(図の記載なし)と、キーボードやモニタ等の入出力インタフェース(図の記載なし)とから構成される。
以下、制御部210と記憶部230に含まれる構成について説明する。
The
The input /
Hereinafter, configurations included in the
制御部210が備えるユーザ受付部211は、ユーザ端末100からの通信の接続要求に対して、記憶部230に記憶されるユーザ情報DB231(後述する図8)の中の情報と照合して、ユーザの認証を行う。
The
図8は、本実施形態に係る端末管理サーバ200の記憶部230に記憶されるユーザ情報DB231の構成を例示する図である。
ユーザ情報DB231は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、1人のユーザを表し、属性として、ユーザIDと、パスワードと、氏名と、所属とを含む。
ユーザIDは、ユーザの識別情報である。パスワードは、ユーザを認証するときに用いられる認証情報である。氏名はユーザの氏名であり、所属はユーザが所属する組織の名称である。これらの情報は、ユーザ端末100の登録に先立ち、端末管理サーバ200の管理者によって登録される。
FIG. 8 is a diagram illustrating a configuration of the
The
The user ID is user identification information. The password is authentication information used when authenticating the user. The name is the name of the user, and the affiliation is the name of the organization to which the user belongs. These pieces of information are registered by the administrator of the
図7に戻り、ユーザ受付部211は、ユーザ端末100から送信されたユーザIDとパスワードとを含むユーザ認証要求を受信すると、受信したユーザIDに一致するユーザIDを含む、記憶部230に記憶されるユーザ情報DB231のレコードを探索し、そのレコードのパスワードと受信したパスワードが一致すれば、ユーザ認証成功とする。探索した結果、レコードが存在しない、または、パスワードが一致しない場合には、ユーザ認証失敗とする。
Returning to FIG. 7, when receiving the user authentication request including the user ID and password transmitted from the
制御部210に備わる署名関係情報管理部212は、ユーザ端末100が送信した署名関係情報を受信し、署名を検証して、記憶部230に記憶される署名関係情報DB232(後述する図9)を更新する。署名関係情報の受信は、ユーザ受付部211がユーザ認証した通信路を介して行う。
The signature related
図9は、本実施形態に係る端末管理サーバ200の記憶部230に記憶される署名関係情報DB232の構成を例示する図である。
署名関係情報DB232は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、1人のユーザの署名関係情報を表し、属性として、ユーザIDと、署名関係情報とを含む。
ユーザIDはユーザの識別情報である。署名関係情報は、このユーザの署名関係情報である。
FIG. 9 is a diagram illustrating a configuration of the signature
The signature related
The user ID is user identification information. The signature relation information is the signature relation information of this user.
図7に戻り、署名関係情報管理部212は、ユーザ認証が完了した通信路を通じて、ユーザ端末100から署名関係情報を受信すると、その署名を検証し、検証に成功すれば、記憶部230に記憶される署名関係情報DB232のレコードの中で、ユーザIDが、ユーザ受付部211が認証したユーザIDに一致するレコードの署名関係情報を、受信した署名関係情報に更新する。この署名関係情報には、ユーザIDが示すユーザが保有するユーザ端末100のIDと署名関係公開鍵を含んでいる。処理内容の詳細は、図12〜図14、図16を参照して、後述する。
また、署名関係情報管理部212は、ユーザ端末100からの要求に基づいて、署名関係情報を送信する。この時、ユーザ受付部211が認証したユーザの署名関係情報を送信する。
Returning to FIG. 7, when the signature relationship
In addition, the signature relationship
制御部210に備わる端末利用状況管理部213は、ユーザ端末100の利用状況の問合せや変更を受付け、記憶部230の端末利用状況DB233を更新する。また、ユーザ端末100が登録されると、その所有ユーザに対するユーザ端末100として、端末利用状況DB233に記録する。
The terminal usage status management unit 213 provided in the
図10は、本実施形態に係る端末管理サーバ200の記憶部230に記憶される端末利用状況DB233の構成を例示する図である。
端末利用状況DB233は、例えば、テーブル形式のデータであり、1以上のレコードを含む。各レコードは、1台のユーザ端末100を表し、属性として、端末IDと、ユーザIDと、利用状況とを含む。
端末IDはユーザ端末100の識別情報である。ユーザIDは、このユーザ端末100を所有するユーザの識別情報である。利用状況は、このユーザ端末100の利用状況であり、利用中であることを示す「利用中」、又は、紛失した可能性等により利用を停止していることを示す「停止中」である。
FIG. 10 is a diagram illustrating a configuration of the terminal
The terminal
The terminal ID is identification information of the
図7に戻り、ユーザ受付部211がユーザ認証を行った後に、端末利用状況管理部213は、そのユーザが所有するユーザ端末100の利用停止要求を受付け、記憶部230に記憶される端末利用状況DB233のレコードの中で、条件「ユーザIDが、ユーザ受付部211がユーザ認証したユーザIDに一致し、端末IDが要求にあったユーザ端末100の識別情報に一致する」を満たすレコードを探索する。一致するレコードがあれば、端末利用状況管理部213は、一致したレコードの利用状況を「停止中」に更新し、なければ、エラーをユーザ端末100に通知する。
Returning to FIG. 7, after the
利用停止中のユーザ端末100を利用中に変更する要求を受付けた場合も、端末利用状況管理部213は、同様の処理を行い、該当するレコードを「利用中」に更新する。ユーザ端末100の利用状況の問合わせに対しても、同様の処理を行い、「利用中」または「停止中」を送信する。
Even when a request to change while using the
≪端末検証サーバ≫
端末検証サーバ300は、鍵管理セキュアアプリ120の識別情報を受取り、当該鍵管理セキュアアプリ120の端末検証用公開鍵301と端末能力情報302を送信する。端末検証用公開鍵301と端末能力情報302は公開情報なので、端末検証サーバ300はユーザ認証を行わなくてもよい。
≪Terminal verification server≫
The
端末能力情報302は、秘密鍵を盗もうとする攻撃に対する対抗力(鍵の保護能力)やユーザ認証の確かさのレベル(ユーザ認証方法やその強度)、セキュア領域の有無等、鍵管理セキュアアプリ120の安全性のレベルを示す情報である。端末能力情報302は、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも1つを含み、ペアリング処理で参照される。
また、同期処理の際に、端末能力情報302は、WEBサービスのユーザ認証に用いる秘密鍵の複製の可否、ユーザ端末100の鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも1つを規定するWEBサービス400の認証ポリシ401と照合され、ユーザ端末100への秘密鍵の複製を実行するか否かの判断に用いられる。なお、認証ポリシ401はWEBサービス400から入手できる。
The
Also, during the synchronization process, the
≪ユーザ端末の登録処理≫
図1に戻って、WEBサービス認証用の秘密鍵の同期を行うことができるユーザ端末100は、事前に端末管理サーバ200に登録される。登録は、登録の起点となる一次ユーザ端末100−1を最初に登録し、その後に1つ目の二次ユーザ端末100−2、2つ目の二次ユーザ端末(図の記載なし)登録を行う。二次ユーザ端末100−2を登録する際には、当該ユーザ端末100は、一次ユーザ端末100−1と入出力部140の直接通信用インタフェース142を使って直接通信して、登録される。
≪User terminal registration process≫
Returning to FIG. 1, the
なお、ユーザ端末100の登録の前に、登録される各ユーザ端末100と端末管理サーバ200には、ユーザが登録されているとする。即ち、各ユーザ端末100の認証クレデンシャルDB161(図3参照)と、端末管理サーバ200のユーザ情報DB231(図8参照)には、ユーザが登録されている。
登録した2つのユーザ端末100は、ペアリングの処理を通じて同期の処理に必要となる鍵を保有し、同期の処理を通じてWEBサービスの認証用の秘密鍵を同期することができる。
以下、図11〜図13を参照して、一次ユーザ端末100−1の登録の処理を、図14と図16とを参照して、二次ユーザ端末100−2の登録の処理を、図18〜図21とを参照してペアリングの処理を、図22と図23とを参照して、同期の処理を、詳細に説明する。
It is assumed that a user is registered in each registered
The two registered
Hereinafter, the registration process of the primary user terminal 100-1 will be described with reference to FIGS. 11 to 13, and the registration process of the secondary user terminal 100-2 will be described with reference to FIGS. The pairing process will be described in detail with reference to FIG. 21, and the synchronization process will be described in detail with reference to FIGS. 22 and 23.
≪一次ユーザ端末の登録処理≫
図11は、本実施形態に係る一次ユーザ端末100−1の登録処理全体を例示するシーケンス図である。
一次ユーザ端末100−1の登録処理を開始するにあたり、一次ユーザ端末100−1の鍵管理ノンセキュアアプリ130は、安全な通信方法で端末管理サーバ200に接続する(ステップS101)。安全な接続方法としては、TLS(Transport Layer Security)等の通信データが暗号化され、通信相手であるサーバが認証可能な方法を用いる。端末管理サーバ200に接続すると、鍵管理ノンセキュアアプリ130は、ユーザIDとパスワードとを、端末管理サーバ200に送信する。
≪Primary user terminal registration process≫
FIG. 11 is a sequence diagram illustrating the entire registration process of the primary user terminal 100-1 according to the present embodiment.
In starting the registration process of the primary user terminal 100-1, the key management
端末管理サーバ200のユーザ受付部211は、記憶部230(図7参照)に記憶されるユーザ情報DB231(図8)と照合し、照合に失敗すれば、ユーザ認証失敗を鍵管理ノンセキュアアプリ130に通知し、鍵管理ノンセキュアアプリ130は接続を切断して、登録処理を終える。以降、照合に成功し、ユーザ認証に成功したとして、説明を続ける。
続いて、鍵管理ノンセキュアアプリ130は、鍵管理セキュアアプリ120の端末初期登録部123に登録処理の開始を指示する(ステップS102)。
The
Subsequently, the key management
鍵管理ノンセキュアアプリ130から登録処理の開始の指示を受け、鍵管理セキュアアプリ120の端末初期登録部123は、ユーザ認証を行う(ステップS103)。即ち、端末初期登録部123は、現在、鍵管理セキュアアプリ120を使用しているユーザの認証をユーザ認証部121に依頼する。ユーザ認証に失敗すれば、本登録処理を中止する。以下、ユーザ認証に成功したとして説明を続ける。
Upon receiving an instruction to start registration processing from the key management
続いて、端末初期登録部123は、自身の署名関係鍵が署名関係鍵DB162(図4参照)に存在するか判断する(ステップS104)。判断するには、署名関係鍵DB162の中に秘密鍵を含むレコードを探索する。
Subsequently, the terminal
ステップS104でNに分岐する場合、即ち、先の探索でレコードが存在しない場合には、ステップS105の新規登録に進む。ステップS105の新規登録の処理は、図12を参照して後述する。 When branching to N in step S104, that is, when there is no record in the previous search, the process proceeds to new registration in step S105. The new registration process in step S105 will be described later with reference to FIG.
ステップS104でYに分岐する場合、即ち、先の探索でレコードが存在する場合には、端末初期登録部123は、ユーザに鍵更新の可否を問合せて、その結果に応じて、署名関係鍵を更新するか否かを判断する(ステップS106)。
When branching to Y in step S104, that is, when a record exists in the previous search, the terminal
ステップS106でYに分岐する場合、即ち、存在する署名関係鍵を更新する場合には、ステップS107の更新登録に進む。ステップS107の更新登録の処理は、図13を参照して後述する。 If the process branches to Y in step S106, that is, if an existing signature-related key is updated, the process proceeds to update registration in step S107. The update registration process in step S107 will be described later with reference to FIG.
ステップS106でNに分岐する場合、即ち、存在する署名関係鍵を更新しない場合には、端末初期登録部123は、ユーザに鍵削除の可否を問合せて、その結果に応じて、署名関係鍵を削除するか否かを判断する(ステップS108)。
When branching to N in step S106, that is, when the existing signature-related key is not updated, the terminal
ステップS108でNに分岐する場合、即ち、存在する署名関係鍵を削除しない場合には、端末初期登録部123は、登録処理を終え、鍵管理ノンセキュアアプリ130経由で、登録をしないまま処理を終えたことをユーザに通知する。
ステップS108でYに分岐する場合、即ち、存在する署名関係鍵を削除する場合には、端末初期登録部123は、鍵管理部122に署名関係鍵の削除を指示する(ステップS109)。
When branching to N in step S108, that is, when the existing signature-related key is not deleted, the terminal
When branching to Y in step S108, that is, when deleting an existing signature-related key, the terminal
次に、鍵管理部122は、署名関係鍵DB162(図4)の全レコードを削除する(ステップS110)。
次に、鍵管理部122は、署名関係鍵を削除したことを端末初期登録部123に通知する(ステップS111)。
続いて、端末初期登録部123は、ステップS112の新規登録に進む。ステップS112の新規登録の処理は、図12を参照して後述する。
Next, the
Next, the
Subsequently, the terminal
≪一次ユーザ端末の新規登録処理≫
図12は、本実施形態に係る一次ユーザ端末100−1の新規登録を例示するシーケンス図である。本処理は、図11のステップS105とS112に相当する。
端末初期登録部123は、鍵管理部122に、新規署名関係情報の生成を指示する(ステップS201)。
≪Primary user terminal new registration process≫
FIG. 12 is a sequence diagram illustrating new registration of the primary user terminal 100-1 according to the present embodiment. This process corresponds to steps S105 and S112 in FIG.
The terminal
鍵管理部122は、新規署名関係情報の生成の指示を受け、署名関係鍵(鍵ペア)を生成する(ステップS202)。次に、鍵管理部122は、署名関係鍵DB162(図4)に生成した鍵ペアを格納する。即ち、鍵管理部122は、署名関係鍵DB162にレコードを追加して、該レコードの端末IDを自身の端末IDとし、起点を「Y」として、秘密鍵と公開鍵を、それぞれ生成した署名関係秘密鍵と署名関係公開鍵とする。
The
続いて、鍵管理部122は、署名関係情報D100を生成する(ステップS203)。即ち、鍵管理部122は、自身の端末ID「T01」と署名関係公開鍵(公開鍵T01)からなるデータに対する署名データを、署名関係秘密鍵を用いて生成し、端末ID(D101)と署名関係公開鍵D102と署名データD103とからなる署名関係情報D100(請求項の一次署名関係情報)を生成する。
Subsequently, the
次に、鍵管理部122は、署名関係情報D100を端末初期登録部123に送信する(ステップS204)。
端末初期登録部123は、署名関係情報D100を受信し、端末管理サーバ200に送信する(ステップS205)。この送信は、図11のステップS101で説明した、TLS等を用いた安全な通信路を使って行われる。
Next, the
The terminal
端末管理サーバ200の署名関係情報管理部212は、署名関係情報D100を受信すると、署名関係情報D100の検証を行う(ステップS206)。即ち、署名データD103が、端末ID(D101)と署名関係公開鍵D102からなるデータに対する署名であるか、署名関係公開鍵D102を用いて検証する。検証に失敗すれば、端末初期登録部123に、検証失敗を通知して、処理を終える。以下、検証に成功したとして説明を続ける。
When receiving the signature relationship information D100, the signature relationship
続いて、署名関係情報管理部212は、署名関係情報D100を署名関係情報DB232(図9参照)に格納する(ステップS207)。即ち、署名関係情報管理部212は、署名関係情報D100を署名関係情報DB232のレコードの中で、ユーザIDがステップS101で認証したユーザIDに一致するレコードを探索し、レコードが存在すれば、そのレコードの署名関係情報に格納し、レコードが存在しなければ、レコードを追加して、該レコードのユーザIDにはステップS101で認証したユーザIDを格納し、署名関係情報に受信した署名関係情報D100を格納する。
Subsequently, the signature relationship
次に、端末管理サーバ200の署名関係情報管理部212は、一次ユーザ端末100−1の端末初期登録部123に登録完了を通知する(ステップS208)。
次に、署名関係情報管理部212は、端末利用状況DB233(図10参照)に一次ユーザ端末100−1を追加する。即ち、レコードを追加して、該レコードの端末IDは「T01」D101に、ユーザIDはステップS101で認証したユーザIDに、利用状況は「利用中」に更新する。
続いて、一次ユーザ端末100−1の端末初期登録部123は、登録完了を受信して、署名関係情報D100をセキュア記憶部160に格納する(ステップS209)。
Next, the signature related
Next, the signature related
Subsequently, the terminal
≪一次ユーザ端末の更新登録処理≫
図13は、本実施形態に係る一次ユーザ端末100−1の更新登録処理を例示するシーケンス図である。本処理は、図11のステップS107の更新登録に相当する。
端末初期登録部123は、鍵管理部122に、署名関係情報の更新を指示する(ステップS301)。
≪Primary user terminal update registration process≫
FIG. 13 is a sequence diagram illustrating the update registration process of the primary user terminal 100-1 according to this embodiment. This process corresponds to the update registration in step S107 in FIG.
The terminal
鍵管理部122は、署名関係情報の更新の指示を受け、署名関係の鍵ペアを新規に生成する(ステップS302)。次に、鍵管理部122は、署名関係鍵DB162(図4)に生成した鍵ペアを格納する。即ち、鍵管理部122は、署名関係鍵DB162のレコードの中で、起点を「Y」のレコードを探索し、該レコードの秘密鍵を旧署名関係秘密鍵として記憶し、秘密鍵と公開鍵を、それぞれ生成した署名関係秘密鍵と署名関係公開鍵に上書きする。
The
続いて、鍵管理部122は、署名関係情報D120を生成する(ステップS303)。即ち、鍵管理部122は、自身の端末ID「T01」と署名関係公開鍵(新公開鍵T01)からなるデータに対する署名データを、署名関係秘密鍵を用いて生成し、端末ID(D121)と署名関係公開鍵D122と署名データD123からなる署名関係情報D120を生成する。
Subsequently, the
次に、鍵管理部122は、署名関係情報D120に対する署名データD111を、旧署名関係秘密鍵を用いて生成し、署名関係情報D120に付与して、二重署名の署名関係情報D110を生成する(ステップS304)。二重署名の署名関係情報D110は、署名D123付きの署名関係情報D120に、さらに旧署名関係秘密鍵による署名データD111が付与された、二重に署名されたデータである。
Next, the
続いて、鍵管理部122は、二重署名の署名関係情報D110を端末初期登録部123に送信する(ステップS305)。
端末初期登録部123は、二重署名の署名関係情報D110を受信し、端末管理サーバ200に送信する(ステップS306)。この送信は、図11のステップS101で説明した、TLS等を用いた安全な通信路を使って行われる。
Subsequently, the
The terminal
端末管理サーバ200の署名関係情報管理部212は、二重署名の署名関係情報D110を受信すると、署名関係情報D110の旧署名関係秘密鍵による署名データD111の検証を行う(ステップS307)。即ち、署名関係情報管理部212は、署名対象のデータである署名関係情報D120に対する正しい署名データD111であるか、旧署名関係秘密鍵とペアになる旧署名関係公開鍵を用いて検証する。旧署名関係公開鍵は記憶部230の署名関係情報DB232(図9参照)から取得する。即ち、署名関係情報管理部212は、署名関係情報DB232の中で、ユーザIDがステップS101で認証したユーザIDと一致するレコードの署名関係情報の中の端末ID(D121)に対応する公開鍵を用いて、署名データD111を検証する。
Upon receiving the signature relationship information D110 of the double signature, the signature relationship
検証に失敗すれば、端末初期登録部123に、検証失敗を通知して、処理を終える。以下、検証に成功したとして説明を続ける。
なお、署名関係情報DB232に含まれる署名関係情報には、複数の端末IDと署名関係公開鍵とが含まれるものがある。一次ユーザ端末登録の署名関係情報(D100とD120)には、一次ユーザ端末100−1の署名関係公開鍵だけが含まれていたが、後述する二次ユーザ端末100−2の登録における署名関係情報には、複数の端末IDと署名関係公開鍵とが含まれるからである。
If the verification fails, the terminal
Some of the signature relation information included in the signature
続いて、署名関係情報管理部212は、署名関係情報D120の署名の検証を行う(ステップS308)。この処理は、ステップS206と同様である。
Subsequently, the signature relationship
続いて、署名関係情報管理部212は、署名関係情報D120を署名関係情報DB232(図9参照)に格納する(ステップS309)。即ち、署名関係情報管理部212は、署名関係情報DB232の中で、ユーザIDがステップS101で認証したユーザIDと一致するレコードの署名関係情報に、署名関係情報D120を上書きする。
Subsequently, the signature relationship
次に、署名関係情報管理部212は、一次ユーザ端末100−1の端末初期登録部123に登録完了を通知する(ステップS310)。
続いて、一次ユーザ端末100−1の端末初期登録部123は、登録完了を受信して、二重署名の署名関係情報D110の署名関係情報D120を抜出して、セキュア記憶部160に格納する(ステップS311)。
Next, the signature related
Subsequently, the terminal
≪二次ユーザ端末の新規登録処理≫
図14は、本実施形態に係る二次ユーザ端末100−2の新規登録を例示するシーケンス図である。
本新規登録を始めるにあたり、一次ユーザ端末100−1と二次ユーザ端末100−2とは、通信ケーブル、Bluetooth等を用いて直接接続され、入出力部140の直接通信用インタフェース142を介して直接通信を行う。一次ユーザ端末100−1は、図11のステップS101と同様に、ユーザ認証を経て端末管理サーバ200に接続している。また、二次ユーザ端末100−2のユーザ認証部121は、ユーザ認証済みである。
図11に示した処理と同様にして、二次ユーザ端末100−2に署名関係鍵が存在しない、若しくは、署名関係鍵を削除して、新規に二次ユーザ端末100−2として登録するものとして、説明する。
≪Secondary user terminal new registration process≫
FIG. 14 is a sequence diagram illustrating new registration of the secondary user terminal 100-2 according to this embodiment.
In starting the new registration, the primary user terminal 100-1 and the secondary user terminal 100-2 are directly connected using a communication cable, Bluetooth, or the like, and directly via the
Similarly to the processing shown in FIG. 11, it is assumed that the secondary user terminal 100-2 does not have a signature related key, or the signature related key is deleted and newly registered as the secondary user terminal 100-2. ,explain.
一次ユーザ端末100−1の端末登録応答部125と、二次ユーザ端末100−2の端末登録要求部124とは、直接通信可能な接続であることを確認する(ステップS401)。確認できなければ、処理を中断する。以下、確認できたとして説明を続ける。
二次ユーザ端末100−2の端末登録要求部124のステップS402から、ステップS405までの処理は、図12で説明した、一次ユーザ端末100−1の新規登録処理のステップS201からステップS204とほぼ同様である。異なるのは、署名関係鍵DB162(図4参照)にレコードの起点が「N」となる点である。これは、二次ユーザ端末100−2の登録処理であるからである。生成した署名関係情報をD140(請求項の二次署名関係情報)に例示する。
The terminal
The processing from step S402 to step S405 of the terminal
続いて、二次ユーザ端末100−2の端末登録要求部124は、自身の署名関係情報D140を一次ユーザ端末100−1に、直接通信を介して送信して、自身の登録を依頼する(ステップS406)。
一次ユーザ端末100−1の端末登録応答部125は、二次ユーザ端末100−2の署名関係情報D140を受信し、登録の依頼を受付ける。次に、ユーザ認証を行う(ステップS407)。即ち、一次ユーザ端末100−1のユーザ認証部121(図2参照)に依頼してユーザ認証を行う。さらに、端末登録応答部125は、署名関係鍵DB162に起点が「Y」であり、秘密鍵を含むレコードが存在することを確認して、自身が一次ユーザ端末100−1であることを確認する。
Subsequently, the terminal
The terminal
端末登録応答部125は、鍵管理部122に、二次ユーザ端末100−2の署名関係情報D140を送信し、二重署名の署名関係情報の生成を依頼する(ステップS408)。
続いて、鍵管理部122は署名関係情報D140の署名データD143を検証する(ステップS409)。検証方法はステップS206と同様であり、以下、検証に成功したとして説明を続ける。
The terminal
Subsequently, the
次に、鍵管理部122は、図15に例示する二重署名の署名関係情報を生成する(ステップS410)。以下、この処理を説明する。自身の端末ID(D171)と、自身の署名関係公開鍵D172と、二次ユーザ端末100−2の端末ID(D173)と、二次ユーザ端末100−2の署名関係公開鍵D174とからなるデータに対して、自身の署名関係秘密鍵で署名データD175を生成し、新署名関係情報D170(請求項の新規一次署名関係情報)を生成する。この新署名関係情報D170が一次ユーザ端末100−1の所有ユーザの新しい署名関係情報となる。
続いて、二次ユーザ端末100−2の署名関係情報D140と新署名関係情報D170を併せたデータに対して、自身の署名関係秘密鍵で署名データD181を生成して、二重署名の署名関係情報D180を生成する。
Next, the
Subsequently, signature data D181 is generated by using its own signature relationship secret key for the data including the signature relationship information D140 and the new signature relationship information D170 of the secondary user terminal 100-2, and the signature relationship of the double signature is obtained. Information D180 is generated.
次に、鍵管理部122は、端末登録応答部125に送信する(ステップS411)。
端末登録応答部125は、二重署名の署名関係情報D180を受信して、二重署名の署名関係情報D180(請求項の新規一次署名関係情報を含んだ情報)を端末管理サーバ200に送信して、登録を依頼する(ステップS412)。
Next, the
The terminal
端末管理サーバ200の署名関係情報管理部212は、二重署名の署名関係情報D180の署名を検証する(ステップS413)。署名データD143の検証は、署名関係公開鍵D142を用いて、署名データD175と署名データD181の検証は、署名関係情報DB232(図9参照)に格納された、ユーザ受付部211が認証したユーザの署名関係情報に含まれる一次ユーザ端末100−1の署名関係公開鍵を用いる。さらに、二次ユーザ端末100−2の2つのID(D141とD173)が一致し、2つの署名関係公開鍵(D142とD174)が一致することを確認する。
The signature relationship
続いて、署名関係情報管理部212は、新署名関係情報D170を抜取り、署名関係情報DB232に格納する(ステップS414)。
次に、署名関係情報管理部212は、図12や図13に示した一次ユーザ端末100−1の場合と同様に、端末利用状況DB233(図10参照)に二次ユーザ端末100−2を追加する。
Subsequently, the signature relationship
Next, the signature relation
次に、署名関係情報管理部212は、登録を完了したことを一次ユーザ端末100−1に通知する(ステップS415)。
続いて、一次ユーザ端末100−1の端末登録応答部125は、新署名関係情報D170を二次ユーザ端末100−2に直接通信を介して送信し(ステップS416)、新署名関係情報D170をセキュア記憶部160に格納して(ステップS417)、セキュア記憶部160の署名関係鍵DB162に二次ユーザ端末100−2のレコードを追加し、該レコードの起点を「N」として、端末IDと公開鍵を格納する。
Next, the signature related
Subsequently, the terminal
二次ユーザ端末100−2の端末登録要求部124は、新署名関係情報D170を受信し、セキュア記憶部160に格納する(ステップS418)。さらに、署名関係鍵DB162(図4参照)にレコードを追加し、起点は「Y」とし、端末IDは一次ユーザ端末100−1の端末ID(D171)とし、公開鍵は署名関係公開鍵D172とし、秘密鍵は「−」として、レコードを格納する。
The terminal
≪二次ユーザ端末の更新登録処理≫
図16は、本実施形態に係る二次ユーザ端末100−2の更新登録を例示するシーケンス図である。
本更新登録を始めるにあたり、一次ユーザ端末100−1と二次ユーザ端末100−2とは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信用インタフェース142を介して直接通信を行う。一次ユーザ端末100−1は、図11のステップS101と同様に、ユーザ認証を経て端末管理サーバ200に接続している。また、二次ユーザ端末100−2のユーザ認証部121は、ユーザ認証済みである。
図11に示した処理と同様にして、二次ユーザ端末100−2には、署名関係鍵があり、これを更新して二次ユーザ端末100−2として登録するものとして、説明する。
≪Secondary user terminal update registration process≫
FIG. 16 is a sequence diagram illustrating update registration of the secondary user terminal 100-2 according to this embodiment.
In starting the update registration, the primary user terminal 100-1 and the secondary user terminal 100-2 are directly connected using a communication cable, Bluetooth, or the like, and directly communicate via the
In the same manner as the processing shown in FIG. 11, the secondary user terminal 100-2 will be described as having a signature relationship key, which is updated and registered as the secondary user terminal 100-2.
一次ユーザ端末100−1の端末登録応答部125と、二次ユーザ端末100−2の端末登録要求部124とは、直接通信可能な接続であることを確認する(ステップS501)。確認できなければ、処理を中断する。以下、確認できたとして説明を続ける。
二次ユーザ端末100−2の端末登録要求部124のステップS502から、ステップS506までの処理は、図13で説明した、一次ユーザ端末100−1の更新登録処理のステップS301からステップS305とほぼ同様である。異なるのは、署名関係鍵DB162(図4参照)にレコードの起点が「N」となる点である。これは、二次ユーザ端末100−2の登録処理であるからである。生成した署名関係情報をD150に例示する。
The terminal
The processing from step S502 to step S506 of the terminal
二次ユーザ端末100−2の端末登録要求部124のステップS507から、一次ユーザ端末100−1の端末登録応答部125のステップS513までの処理は、図14で説明した、二次ユーザ端末100−2の端末登録要求部124のステップS406から、一次ユーザ端末100−1の端末登録応答部125のステップS412までの処理とほぼ同様である。異なるのは署名検証のステップS510である。旧署名T02(D151)の検証には、既存の二次ユーザ端末100−2の署名関係公開鍵を用いる。この鍵は、署名関係鍵DB162の二次ユーザ端末100−2のレコードから得ることができる。
The processing from step S507 of the terminal
生成した二重署名の署名関係情報を図17に例示する。新署名関係情報D170aは、二次ユーザ端末100−2の署名関係公開鍵D174aが更新された公開鍵であることを除いては、図14に示した新署名関係情報D170と同じである。 FIG. 17 illustrates signature-related information of the generated double signature. The new signature relationship information D170a is the same as the new signature relationship information D170 shown in FIG. 14 except that the signature relationship public key D174a of the secondary user terminal 100-2 is an updated public key.
端末管理サーバ200の署名関係情報管理部212のステップS514から、二次ユーザ端末100−2の端末登録要求部124のステップS519までの処理は、図14で説明した、端末管理サーバ200の署名関係情報管理部212のステップS413から、二次ユーザ端末100−2の端末登録要求部124のステップS418までの処理とほぼ同様である。異なるのは署名検証のステップS514である。旧署名T02(D151)の検証には、既存の二次ユーザ端末100−2の署名関係公開鍵を用いる。この鍵は、署名関係情報DB232(図9参照)に格納された、ユーザ受付部211が認証したユーザの署名関係情報に含まれる二次ユーザ端末100−2の署名関係公開鍵を用いる。
The processing from step S514 of the signature relationship
以上で説明した署名関係情報には、一次ユーザ端末100−1と1つの二次ユーザ端末100−2の署名関係公開鍵が含まれていた。二次ユーザ端末100−2の登録を繰り返せば、署名関係情報に含まれる端末IDと署名関係公開鍵とは増加し、登録済み全てのユーザ端末100の署名関係公開鍵が含まれる。これは、二重署名の署名関係情報の生成(ステップS410とS511)において、署名関係鍵DB162(図4参照)に格納される公開鍵(署名関係公開鍵)を含めて生成するためである。
The signature relation information described above includes the signature relation public keys of the primary user terminal 100-1 and one secondary user terminal 100-2. If the registration of the secondary user terminal 100-2 is repeated, the terminal ID and the signature related public key included in the signature related information increase, and the signature related public keys of all registered
≪ペアリング処理≫
図18〜図21とは、本実施形態に係る、登録済みのユーザ端末100−Aとユーザ端末100−Bとの間のペアリング処理を例示するシーケンス図である。
本ペアリング処理を始めるにあたり、ユーザ端末100−Aとユーザ端末100−Bとは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信用インタフェース142を介して直接通信を行う。
以下、図18を参照して、ペアリング処理を説明する。
≪Pairing process≫
18 to 21 are sequence diagrams illustrating pairing processing between the registered user terminal 100-A and the user terminal 100-B according to the present embodiment.
In starting the pairing process, the user terminal 100 -A and the user terminal 100 -B are directly connected using a communication cable, Bluetooth, or the like, and directly communicate via the
Hereinafter, the pairing process will be described with reference to FIG.
ユーザ端末100−Aの鍵管理ノンセキュアアプリ130から鍵管理セキュアアプリ120にペアリング要求を指示する。ペアリング要求の指示を受けると、鍵管理セキュアアプリ120のペアリング制御部126は、自身がペアリング相手であるユーザ端末100−Bと直接通信で接続されているか確認する(ステップS601−A)。
続いて、ペアリング制御部126は、ユーザ認証部121(図2参照)にユーザ認証を依頼する(ステップS602−A)。
The key management
Subsequently, the
次に、ペアリング制御部126は、端末管理サーバ200に問い合わせて、自身であるユーザ端末100−Aが利用停止中でないことを確認する(ステップS603−A)。
同様の処理を、ユーザ端末100−Bでも行う(ステップS601−BからステップS603−B)。
Next, the
Similar processing is also performed on the user terminal 100-B (from step S601-B to step S603-B).
続いて、ユーザ端末100−Aのペアリング制御部126は、ユーザ端末100−Bに鍵交換要求を送信する(ステップS604)。
鍵交換要求を送信すると、次に、ユーザ端末100−Aのペアリング制御部126は、鍵管理部122にユーザ端末100−Bと鍵交換を開始するように指示する(S605−A)。同様に、鍵交換要求を受信すると、ユーザ端末100−Bのペアリング制御部126は、鍵管理部122にユーザ端末100−Aと鍵交換を開始するように指示する(S605−B)。
Subsequently, the
When the key exchange request is transmitted, next, the
続いて、ユーザ端末100−Aの鍵管理部122と、ユーザ端末100−Bの鍵管理部122とは、鍵交換を行う(ステップS606)。
代表的な鍵交換の方法として、Diffie-Hellmanのアルゴリズムがあり、このアルゴリズムを用いて共通鍵を共有し、ユーザ端末100−Aとユーザ端末100−Bとの安全な通信路を確立することができる。
Subsequently, the
As a typical key exchange method, there is a Diffie-Hellman algorithm. A common key is shared by using this algorithm, and a secure communication path between the user terminal 100-A and the user terminal 100-B is established. it can.
これとは別に、署名関係情報を用いて、以下の手順で共通鍵を得て、安全な通信路を確立することができる。即ち、それぞれのユーザ端末(100−Aと100−B)が、(1)相手端末の署名関係情報を入手して、(2)一次ユーザ端末100−1の署名関係公開鍵を用いて、該署名関係情報の署名を検証し、(3)該署名関係情報の中の相手の署名関係公開鍵を用いて、新規に生成した乱数を暗号化して、相手に送信し、(4)受信した暗号化された乱数を自身の署名関係秘密鍵で復号して相手が生成した乱数と取り出し、(5)自身が生成した乱数との排他的論理和を共通鍵とする。 Apart from this, it is possible to establish a secure communication path by using the signature-related information and obtaining a common key by the following procedure. That is, each user terminal (100-A and 100-B) (1) obtains the signature related information of the counterpart terminal, and (2) uses the signature related public key of the primary user terminal 100-1, (3) The newly generated random number is encrypted using the other party's signature related public key in the signature related information and transmitted to the other party, and (4) the received encryption The encrypted random number is decrypted with its own signature-related private key and the random number generated by the other party is extracted, and (5) the exclusive OR of the random number generated by itself is used as a common key.
相手の署名関係情報は、端末管理サーバ200に問合せて入手ことができる。又は、鍵交換(ステップS604)の開始の前に、2つのユーザ端末(100−Aと100−B)との間で、セキュア記憶部160に記憶した署名関係情報を送信し合うことでも、入手することが可能である。
The other party's signature related information can be obtained by inquiring the
署名関係鍵DB162に格納された一次ユーザ端末100−1の署名関係公開鍵を用いて、相手のユーザ端末から受信した署名関係情報の署名を検証した後に、相手のユーザ端末(100−A又は100−B)の署名関係公開鍵を得ることができる。セキュア記憶部160の署名関係鍵DB162(図4参照)の中に存在すれば、これを利用することもできる。なお、一次ユーザ端末100−1の署名関係公開鍵は、ステップS418ないしはS519において、セキュア記憶部160と署名関係鍵DB162に記憶している。
After verifying the signature of the signature relation information received from the counterpart user terminal using the signature relation public key of the primary user terminal 100-1 stored in the signature relation
ユーザ端末100−Aの鍵管理部122は、ユーザ端末100−Bとの鍵交換が完了したことをペアリング制御部126に通知する(ステップS607−A)。同様に、ユーザ端末100−Bの鍵管理部122は、ユーザ端末100−Aとの鍵交換が完了したことをペアリング制御部126に通知する(ステップS607−B)。
以下、2つのユーザ端末(100−Aと100−B)の間の通信は、この共有鍵を用いて保護された安全な通信路を通じて行う。
The
Hereinafter, communication between the two user terminals (100-A and 100-B) is performed through a secure communication path protected using this shared key.
引続き、図19を参照して、ペアリング処理の説明を続ける。
ユーザ端末100−Aのペアリング制御部126は、ペアリング認証書要求をユーザ端末100−Bに送信する(ステップS608)。この際に、新規に生成した乱数を付加的に送信することもできる。以下では、該乱数(以下、乱数T0Aと記す)が付加されたとして説明する。
The description of the pairing process will be continued with reference to FIG.
The
ユーザ端末100−Bのペアリング制御部126は、鍵管理部122に、乱数T0Aを送信し、ペアリング認証書の生成を依頼する(ステップS609)。
ユーザ端末100−Bの鍵管理部122は、自身の端末IDである「T0B」と乱数T0Aとを合わせたデータに対する署名データを、自身の署名関係秘密鍵を用いて生成する。生成したデータを、D210に例示している。即ち、自身の端末ID(D211)と乱数T0A(D212)と生成された署名データD213を含むデータD210を生成する。なお、自身の署名関係秘密鍵は、署名関係鍵DB162中の端末IDが自身の「T0B」であるレコードの秘密鍵から得ることができる。
The
The
次に、鍵管理部122は、セキュア記憶部160に記憶された端末検証用秘密鍵165(図2参照)を用いて、データD210と、鍵管理セキュアアプリ120のID(D201)とを合わせたデータに対する署名データD202を生成し、データD210と、鍵管理セキュアアプリ120のID(D201)と、署名データD202とを含むペアリング認証書D200を生成する(ステップS610)。
続いて、ペアリング認証書D200をペアリング制御部126に送信する(ステップS611)。
ペアリング制御部126は、ペアリング認証書D200を受信して、ユーザ端末100−Aにペアリング認証書D200を送信する(ステップS612)。
Next, the
Subsequently, the pairing certificate D200 is transmitted to the pairing control unit 126 (step S611).
The
ユーザ端末100−Aのペアリング制御部126は、ペアリング認証書D200を受信し、ペアリング認証書D200の中の鍵管理アプリID(D201)を取出し、端末検証サーバ300に送信して、鍵管理アプリID(D201)に対応する端末検証用公開鍵301と端末能力情報302を問合せる(ステップS613)。
The
次に、ペアリング制御部126は、端末検証サーバ300から、端末検証用公開鍵301と端末能力情報302を得て、鍵管理部122に依頼して、端末検証署名T0B(D202)を検証する(ステップS614)。検証に失敗すれば、ペアリング処理を中止する。以下、検証に成功したとして説明を続ける。
Next, the
続いて、ペアリング制御部126は、端末能力情報302を参照して、相手の鍵管理セキュアアプリ120が所定の安全性のレベルを確保していることを確認する(ステップS615)。即ち、ユーザ端末100−Bの、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無など少なくとも1つを確認する。確認できなければ、ペアリング処理を中止する。以下、確認できたとして説明を続ける。
Subsequently, the
次に、ペアリング制御部126は、ペアリング認証書D200内の乱数T0A(D212)が、自身がステップS608で送信した乱数と一致することを確認する。さらに、ペアリング制御部126は、鍵管理部122に依頼して、署名関係署名T0B(D213)を検証する(ステップS616)。乱数の確認又は署名データの検証に失敗すれば、ペアリング処理を中止する。以下、成功したとして説明を続ける。
Next, the
ユーザ端末100−Aのペアリング制御部126は、ユーザ端末100−Bに検証が成功したことを通知する(ステップS617)。
The
図20は図19に続く処理であり、ユーザ端末100−Aとユーザ端末100−Bを入替えた処理である。よって、詳細な説明を省略する。
引続き、図21を参照してペアリング処理の説明を続ける。
ユーザ端末100−Aのペアリング制御部126は、鍵管理部122にペアリング用証明書の生成を依頼する(ステップS628)。
FIG. 20 is processing subsequent to FIG. 19 and is processing in which the user terminal 100-A and the user terminal 100-B are replaced. Therefore, detailed description is omitted.
The description of the pairing process will be continued with reference to FIG.
The
鍵管理部122は、以下の手順でペアリング用証明書D310を生成する(ステップS629)。以下、ステップS629を詳細に説明する。
同期に用いる暗号化用鍵ペアと、署名用鍵ペアとを、それぞれ生成する。生成した4つの鍵は、セキュア記憶部160の同期用鍵DB164(図5参照)に格納する。即ち、鍵管理部122は、同期用鍵DB164にレコードを追加して、該レコードの端末IDを相手のユーザ端末100−BのIDである「T0B」に、受信用秘密鍵を暗号化用鍵ペアの秘密鍵に、受信用公開鍵を暗号化用鍵ペアの公開鍵に、署名用公開鍵を署名用鍵ペアの公開鍵に、署名用秘密鍵を署名用鍵ペアの秘密鍵に更新する。送信用公開鍵と検証用公開鍵は、未定なので、両方とも「−」とする。
The
An encryption key pair and a signature key pair used for synchronization are generated. The four generated keys are stored in the synchronization key DB 164 (see FIG. 5) of the
続いて、鍵管理部122は、自身の端末IDである「T0A」(D311)と、暗号化用鍵ペアの公開鍵D312(請求項の暗号化用公開鍵)と、署名用鍵ペアの公開鍵D313(請求項の署名用公開鍵)とを合わせたデータに対して、署名用鍵ペアの秘密鍵を用いて署名データD314を生成し、ペアリング用証明書D310を生成する。
次に、鍵管理部122は、生成したペアリング用証明書D310をペアリング制御部126に送信する(ステップS630)。
ペアリング制御部126は、ペアリング用証明書D310を受信し、相手のユーザ端末100−Bに送信する(ステップS631)。
Subsequently, the
Next, the
The
続く、ユーザ端末100−BでのステップS632からステップS635までの処理は、ユーザ端末100−AでのステップS628からステップS631までの処理と同様である。 The subsequent processing from step S632 to step S635 in the user terminal 100-B is the same as the processing from step S628 to step S631 in the user terminal 100-A.
ユーザ端末100−Bのペアリング制御部126は、ユーザ端末100−Aのペアリング用証明書D310を鍵管理部122に送信する(ステップS636)。
ユーザ端末100−Bの鍵管理部122は、ペアリング用証明書D310を受信すると、この証明書を検証する(ステップS637)。即ち、署名T0A(D314)が正しい署名か、署名用公開鍵T0A(D313)を用いて検証する。検証に失敗すれば、ペアリング処理を中止する。以下、成功したとして説明を続ける。
The
When receiving the pairing certificate D310, the
続いて、ユーザ端末100−Bの鍵管理部122は、暗号化用公開鍵T0A(D312)と署名用公開鍵T0A(D313)とを、セキュア記憶部160の同期用鍵DB164(図5参照)に格納する(ステップS638)。即ち、鍵管理部122は、同期用鍵DB164の中で、端末IDがペアリング相手のIDである「T0A」に一致するレコードの送信用公開鍵を暗号化用公開鍵T0A(D312)に、検証用公開鍵を署名用公開鍵T0A(D313)に、更新する。さらに、ペアリング制御部126は、ステップS625で確認した端末能力情報302に記載される端末の能力を、該レコードの端末能力に追加する。
Subsequently, the
続く、ユーザ端末100−AでのステップS639からステップS641までの処理は、ユーザ端末100−BでのステップS636からステップS638までの処理と同様である。
ペアリング用証明書(D310とD320)の署名データ(D314とD324)は、署名用鍵ペアの秘密鍵を用いて生成していたが、署名関係秘密鍵を用いて生成することもできる。この場合には、署名関係公開鍵を用いて検証する。
The subsequent processing from step S639 to step S641 in the user terminal 100-A is the same as the processing from step S636 to step S638 in the user terminal 100-B.
The signature data (D314 and D324) of the pairing certificate (D310 and D320) is generated using the private key of the signature key pair, but can also be generated using the signature-related private key. In this case, verification is performed using the signature-related public key.
≪同期処理≫
図22と図23とは、本実施形態に係るペアリング済みのユーザ端末100−Aとユーザ端末100−Bの同期処理を例示するシーケンス図である。
同期処理を始めるにあたり、ユーザ端末100−Aとユーザ端末100−Bとは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信が可能である。さらに、ユーザ端末100−Aとユーザ端末100−Bとは、ペアリングを済ませている。
以下、図22を参照して同期処理の説明を行う。
<< Synchronization process >>
FIG. 22 and FIG. 23 are sequence diagrams illustrating a synchronization process between the paired user terminal 100-A and the user terminal 100-B according to the present embodiment.
In starting the synchronization process, the user terminal 100-A and the user terminal 100-B are directly connected using a communication cable, Bluetooth, or the like, and can directly communicate with each other. Further, the user terminal 100-A and the user terminal 100-B have been paired.
Hereinafter, the synchronization process will be described with reference to FIG.
ユーザ端末100−Aの同期制御部127は、自身がユーザ端末100−Bと直接通信で接続されていることを検出する(ステップS701−A)。この検出により、以下のユーザ端末100−Aの処理が自動的に始まる。
続いて、同期制御部127は、端末管理サーバ200に問い合わせて、自身であるユーザ端末100−Aが利用停止中でないことを確認する(ステップS702−A)。
ユーザ端末100−Bでも、同様の処理を実行する(ステップS701−BとステップS702−B)。
The
Subsequently, the
The user terminal 100-B also performs the same process (steps S701-B and S702-B).
ユーザ端末100−Aの同期制御部127とユーザ端末100−Bの同期制御部127とは、それぞれの端末IDと新規に作成した乱数とを交換する(ステップS703)。即ち、ユーザ端末100−Aの同期制御部127は、自身の端末IDである「T0A」と新規に生成した乱数T0Aをユーザ端末100−Bに送信し、同様に、ユーザ端末100−Bの同期制御部127は、自身の端末IDである「T0B」と新規に生成した乱数T0Bをユーザ端末100−Aに送信する。ユーザ端末100−Aの同期制御部127は、端末IDの「T0B」と乱数T0Bを受信し、ユーザ端末100−Bの同期制御部127は、端末IDの「T0A」と乱数T0Aを受信する。
The
ユーザ端末100−Aの同期制御部127は、鍵管理部122に、ステップS703で受信した端末IDの「T0B」と乱数T0Bを送信し、同期署名データの生成を依頼する(ステップS704)。
鍵管理部122は、端末IDの「T0B」と乱数T0Bを受信して、同期署名データD410を生成する(ステップS705)。以下、この処理を説明する。
The
The
鍵管理部122は、セキュア記憶部160の同期用鍵DB164(図5参照)の中で、端末IDが受信した「T0B」に一致するレコードを探索する。相手のユーザ端末100−Bとはペアリング済みなので、当該レコードは存在し、該レコードの署名用秘密鍵を用いて、自身の端末IDである「T0A」(D411)と受信した乱数T0B(D412)とを合わせたデータに対する署名データD413を生成し、同期署名データD410を生成する。
The
鍵管理部122は、生成した同期署名データD410を同期制御部127に送信する(ステップS706)。
同期制御部127は、同期署名データD410を受信して、ユーザ端末100−Bに送信する(ステップS707)。
The
The
ユーザ端末100−Bの同期制御部127は、同期署名データD410を受信する。続いて同期制御部127は、ステップS703で受信した端末IDの「T0A」と自身が生成した乱数T0B、並びに、同期署名データD410を、鍵管理部122に送信して、同期署名データD410の検証を依頼する(ステップS708)。
鍵管理部122は、同期署名データD410を検証する(ステップS709)。以下、この処理を説明する。
The
The
先ず、鍵管理部122は、同期署名データD410の中の乱数T0B(D412)とステップS708で受信した乱数T0Bが一致するか確認する。次に、同期制御部127は、同期署名データD410の中の端末IDの「T0A」(D411)とステップS708で受信した端末IDの「T0A」が一致するか確認する。いずれかの確認に失敗すれば、同期処理を中止する。以下、成功したとして説明を続ける。
First, the
続いて、鍵管理部122は、セキュア記憶部160の同期用鍵DB164(図5参照)の中で、端末IDが受信した「T0A」に一致するレコードを探索する。相手のユーザ端末100−Aとはペアリング済みなので、当該レコードは存在し、該レコードの検証用公開鍵を取出し、この鍵を用いて、署名データD413が正しいかを検証する。検証に失敗すれば、同期処理を中止する。以下、成功したとして説明を続ける。
鍵管理部122は、同期署名データD410の検証に成功したことを、同期制御部127に通知する(ステップS710)。
Subsequently, the
The
続く、ユーザ端末100−BでのステップS711からステップS714までの処理は、ユーザ端末100−AでのステップS704からステップS707までの処理と同様である。
続く、ユーザ端末100−AでのステップS715からステップS717までの処理は、ユーザ端末100−BでのステップS708からステップS710までの処理と同様である。
The subsequent processing from step S711 to step S714 in the user terminal 100-B is the same as the processing from step S704 to step S707 in the user terminal 100-A.
The subsequent processing from step S715 to step S717 at the user terminal 100-A is the same as the processing from step S708 to step S710 at the user terminal 100-B.
引き続き、図23を参照して、同期処理の説明を続ける。
ユーザ端末100−Aの同期制御部127は、鍵管理部122に、URLリストの作成を依頼する(ステップS718−A)。
鍵管理部122は、URLリストを作成する(ステップS719−A)。即ち、鍵管理部122は、セキュア記憶部160のWEBサービス鍵DB163(図6参照)のURLを収集して、リストを作成する。
次に、鍵管理部122は、ステップS719で作成したURLのリストを、同期制御部127に送信する(ステップS720−A)。
The description of the synchronization process will be continued with reference to FIG.
The
The
Next, the
続いて、同期制御部127は、WEBサービス400の認証ポリシ401の問合せを行う(ステップS721−A)。即ち、受信したURLのリストに含まれる個々のWEBサービス400にアクセスして、認証ポリシ401を入手する。認証ポリシ401には、パスワード・指紋・静脈・サイン等のユーザ認証方法やその強度、ソフトウェア・ハードウェア等の鍵の保護方法(鍵の保護能力)、ユーザ端末100のCPU・CPUとは異なるプロセッサ等のユーザ認証を行うハードウェア、鍵の複製の可否、セキュア領域の有無などがある。
Subsequently, the
次に、同期制御部127は、WEBサービス400の認証ポリシ401を参照して、鍵同期の可否を判断する(ステップS722−A)。即ち、鍵の複製の可否、相手のユーザ端末100−Bの鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無の少なくとも1つを確認し、WEBサービス400の認証ポリシ401を満たしているかを判断し、同期の可否を判定する。相手のユーザ端末100−Bのユーザ認証方法や秘密鍵の保護方法(保護能力)は、同期用鍵DB164(図5参照)のユーザ端末100−Bのレコードの端末能力から得ることができる。
Next, the
続いて、ステップS722−Aで鍵同期が可であるWEBサービスのURLのリストを作成し、鍵管理部122に送信して、同期可能鍵リストの作成を依頼する(ステップS723−A)。
鍵管理部122は、URLのリストを受信して、WEBサービス鍵DB163に記憶される、URLに対応する公開鍵のリストを作成し、同期可能鍵リストとして同期制御部127に送信する(ステップS724−A)。
Subsequently, in step S722-A, a list of URLs of WEB services where key synchronization is possible is created and transmitted to the
The
ユーザ端末100−Aと同様に、ユーザ端末100−Bでも、ステップS718−BからステップS724−Bの処理を行う。
ユーザ端末100−Aの同期制御部127とユーザ端末100−Bの同期制御部127とは、各々の鍵管理部122から同期可能鍵リストを受信し、それぞれ相手に受信した同期可能鍵リストを送信する(ステップS725)。
Similarly to the user terminal 100-A, the user terminal 100-B performs the processing from step S718-B to step S724-B.
The
続いて、ユーザ端末100−Aの同期制御部127とユーザ端末100−Bの同期制御部127とのそれぞれは、受信した同期可能鍵リストを鍵管理部122に送信し、同期を指示する(ステップS726)。
Subsequently, each of the
各々の鍵管理部122は、受信した同期可能鍵リストの中から、自身が保有していない鍵を相手の鍵管理部122から入手して、同期を行う(ステップS727)。以下、この同期の処理を説明する。
先ず、ユーザ端末100−Aの鍵管理部122は、ステップS726で受信した公開鍵のリストの中で、WEBサービス鍵DB163(図6参照)に存在しない公開鍵を特定し、この特定した公開鍵のリストに署名し、署名付きの公開鍵のリストを暗号化して、相手であるユーザ端末100−Bの鍵管理部122に送信する。署名するには、同期用鍵DB164(図5参照)の相手のユーザ端末100−Bに対応するレコードの署名用秘密鍵を用い、暗号化するには、送信用公開鍵を用いる。
Each
First, the
ユーザ端末100−Bの鍵管理部122は、署名され、暗号化された公開鍵のリストを受信し、復号して、署名を検証する。復号するには、同期用鍵DB164の相手のユーザ端末100−Aに対応するレコードの受信用秘密鍵を用い、検証するには、検証用公開鍵を用いる。復号又は署名検証に失敗した場合には、同期処理を中止する。以下、成功したとして説明を続ける。
The
ユーザ端末100−Bの鍵管理部122は、公開鍵のリストに含まれる、各公開鍵に対応するWEBサービス400のURLと、ユーザIDと、秘密鍵と、公開鍵とを、セキュア記憶部160に記憶されるWEBサービス鍵DB163(図6参照)から取出し、リストにして、署名し、暗号化する。署名と暗号化の方法は、先にユーザ端末100−Aの鍵管理部122が公開鍵のリストに対して行った署名と暗号化の方法と同様である。署名し、暗号化したリストをユーザ端末100−Aの鍵管理部122に送信する。
The
署名され、暗号化されたリストをユーザ端末100−Aの鍵管理部122が受信すると、復号し、署名の検証を行い、得られたURLとユーザIDと秘密鍵と公開鍵とを、セキュア記憶部160に記憶されるWEBサービス鍵DB163に追加する。
以上は、ユーザ端末100−Bからユーザ端末100−Aへの方向のURLとユーザIDと秘密鍵と公開鍵の同期(複製)であったが、逆方向も同様であり、これで同期の処理が完了する。
ユーザ端末100−Aとユーザ端末100−Bの鍵管理部122は、それぞれ、同期の完了を同期制御部127に通知する(ステップS728)。
When the
The above is the synchronization (duplication) of the URL, the user ID, the secret key, and the public key in the direction from the user terminal 100-B to the user terminal 100-A, but the reverse direction is the same. Is completed.
The
以上の同期処理は、直接通信可能であることを検出して(ステップS701の接続検出)開始した。即ち、ユーザ端末100−Aとユーザ端末100−Bとを直接接続することで、その後はユーザの操作なしで同期することができる。 The above synchronization processing is started by detecting that direct communication is possible (connection detection in step S701). That is, by directly connecting the user terminal 100-A and the user terminal 100-B, synchronization can be performed without any user operation thereafter.
同期する秘密鍵を識別するのに、ステップS719やステップS727に示すように、WEBサービス鍵DB163に記憶されるURLや公開鍵を利用していたが、これに限る必要はなく、例えば秘密鍵のハッシュ値を用いても構わない。
また、同期する秘密鍵は、WEBサービスのユーザ認証用の秘密鍵に限る必要はなく、WEBサービスのユーザ認証用以外の公開鍵暗号の秘密鍵でも同期可能である。同期する秘密鍵の識別にハッシュ値を用いれば、公開鍵暗号の秘密鍵に限る必要もなく、共通鍵暗号の鍵でも可能である。
As shown in step S719 and step S727, the URL and public key stored in the WEB service
The secret key to be synchronized is not limited to the secret key for user authentication of the WEB service, and can be synchronized with a secret key of public key encryption other than for user authentication of the WEB service. If a hash value is used for identification of a secret key to be synchronized, it is not necessary to limit to a secret key for public key cryptography, and a key for common key cryptography is also possible.
≪秘密鍵同期システムの効果≫
従来までのWEBサービスの秘密鍵を保有したユーザ端末100の間では、鍵の複製ができない、又は複製可能であってもパスワードによる暗号化等マニュアル操作があり、秘密鍵の数とユーザ端末100の数との積に比例する手間がかかるという問題があった。
≪Effect of secret key synchronization system≫
There is manual operation such as password encryption even if the
本実施形態では、ユーザ端末100を端末管理サーバ200に登録し、2つのユーザ端末をペアリングした後には、その2つのユーザ端末100を直接通信可能であるように接続するだけで、マニュアル操作不要で同期(WEBサービスの秘密鍵の複製)ができる。
In the present embodiment, after the
ユーザ端末100の登録に関しては、最初に登録した一次ユーザ端末100−1を起点とし、2台目以降のユーザ端末100は二次ユーザ端末100−2として、一次ユーザ端末100−1を介して登録するようにしている。さらに、二次ユーザ端末100−2の登録には、一次ユーザ端末100−1と登録しようとする二次ユーザ端末100−2をケーブルやBluetoothなどの、インターネットではなく、直接通信を介して登録するようにし、さらに一次ユーザ端末100−1でユーザ認証を行うようにしている。こうすることで、詐称やネットワーク経由の攻撃を受けることなく、安全に二次ユーザ端末100−2を登録することができる。また、このようにして登録したユーザ端末100の間でのみペアリングや同期ができるようにしている。さらに、ペアリングや同期も直接通信を介して行っており、安全である。
Regarding registration of the
また、ユーザ端末100の紛失や盗難を想定して、ユーザ端末100の利用状況を確認できるようにしている。ユーザ端末100の紛失・盗難の可能性がある場合には、そのユーザ端末100を利用停止にすることで、ペアリングや同期を禁止することができる。
In addition, assuming that the
また、秘密鍵を盗もうとする攻撃に対する対抗力(鍵の保護能力)やユーザ認証の確かさのレベル(ユーザ認証方法やその強度)、セキュア領域の有無等、鍵管理セキュアアプリ120の安全性のレベルをペアリングの処理と同期の処理の中で確認している。これにより、安全性のレベルの低いユーザ端末100とのペアリングができなくなり、秘密鍵の漏洩を防ぐことができる。また、WEBサービスの秘密鍵ごとに、そのWEBサービスの認証ポリシ401と照らし合わせ、安全性のレベルの低いユーザ端末100との同期はできなくしているので、秘密鍵の漏洩を防ぐことができる。
In addition, the security of the key management
署名関係秘密鍵、WEBサービスのユーザ認証用の秘密鍵、同期用暗号化秘密鍵、同期用認証秘密鍵、端末検証用秘密鍵は、全てセキュア記憶部160に記憶され、鍵管理部122のみがアクセスしており、鍵管理セキュアアプリ120の外部では、常に暗号化されており、安全である。
The signature-related secret key, the WEB service user authentication secret key, the synchronization encryption secret key, the synchronization authentication secret key, and the terminal verification secret key are all stored in the
ペアリングのときの相手の署名関係情報は、2つのユーザ端末(100−Aと100−B)との間で、セキュア記憶部160に記憶した署名関係情報を送信し合うことで、入手することが可能である。ユーザ端末の利用状態の確認を行わないのであれば、端末管理サーバ200をなくす構成にすることも可能である。他に、端末管理サーバ200に問合せて、署名関係情報を入手することも可能である。この場合、ユーザ端末100の間の直接通信の通信量を減らすことができる。
The partner-related signature relationship information at the time of pairing is obtained by transmitting the signature relationship information stored in the
鍵管理セキュアアプリ120は、鍵管理ノンセキュアアプリ130と認証クレデンシャルDB161(図3参照)と署名関係鍵DB162(図4参照)とを監視し、改竄や削除を検知した場合に、署名関係鍵DB162と、WEBサービス鍵DB163(図6参照)と、同期用鍵DB164(図5参照)と、端末検証用秘密鍵165(図2参照)とを削除する。これにより、ユーザ認証を回避して、WEBサービス鍵に不正にアクセスする攻撃を防止することができる。
The key management
1 秘密鍵同期システム
100 ユーザ端末
110 制御部
120 鍵管理セキュアアプリ
121 ユーザ認証部
122 鍵管理部
123 端末初期登録部
124 端末登録要求部
125 端末登録応答部
126 ペアリング制御部
127 同期制御部
130 鍵管理ノンセキュアアプリ
140 入出力部
141 認証デバイス
142 直接通信用インタフェース
150 記憶部
160 セキュア記憶部
161 認証クレデンシャルDB
162 署名関係鍵DB
163 WEBサービス鍵DB
164 同期用鍵DB
165 端末検証用秘密鍵
200 端末管理サーバ
210 制御部
211 ユーザ受付部
212 署名関係情報管理部
213 端末利用状況管理部
220 入出力部
230 記憶部
231 ユーザ情報DB
232 署名関係情報DB
233 端末利用状況DB
300 端末検証サーバ
301 端末検証用公開鍵
302 端末能力情報
400 WEBサービス
401 認証ポリシ
DESCRIPTION OF
162 Signature-related key DB
163 WEB service key DB
164 Key DB for synchronization
165 Terminal verification
232 Signature related information DB
233 Terminal usage status DB
300 terminal verification server 301 terminal verification public key 302
Claims (7)
前記ユーザ端末は、
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備え、
前記端末管理サーバは、
前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶する署名関係情報管理部を備える
ことを特徴とする秘密鍵同期システム。 A user terminal holding a service secret key, which is a secret key used for authentication when using a service, and a terminal management server holding information related to the user terminal are connected via a communication network, and the two users A secret key synchronization system for replicating the service secret key between terminals,
The user terminal is
Generating a pair of a private key and a public key of primary signature relation information for authenticating the user terminal, and having a user terminal identifier of the user, a public key of the primary signature relation information, and a secret key of the primary signature relation information A terminal initial registration unit that generates the primary signature relationship information including the used signature, transmits the primary signature relationship information to the terminal management server, and makes itself a primary user terminal;
When the mobile terminal itself is not the primary user terminal, it generates a pair of the private key and public key of the secondary signature relation information for authenticating the user terminal, and publishes the user terminal identifier and the secondary signature relation information Generating the secondary signature relationship information including a key and a signature using a secret key of the secondary signature relationship information, and sending the secondary signature relationship information to the primary user terminal without passing through the communication network. A terminal registration request unit, which is transmitted by direct communication to be a secondary user terminal,
When the terminal itself is the primary user terminal, the secondary signature relation information is received from the secondary user terminal, and after the signature verification of the secondary signature relation information is successfully verified, the second signature verification succeeds. Including a user terminal identifier of the next signature related information, a public key of the secondary signature related information including the user terminal identifier, a user terminal identifier of the primary signature related information, and a public key of the primary signature related information. A signature generated with the private key of the primary signature relationship information is added to the data, new primary signature relationship information indicating new primary signature relationship information is generated, and information including the new primary signature relationship information is stored in the terminal A terminal registration response unit to be transmitted to the management server;
The encryption public key used for the replication, the signature public key used for the replication, and the primary signature relationship information between the two user terminals that are the primary user terminal or the secondary user terminal that performs the replication A pairing control unit for performing pairing for exchanging a signature generated using the secret key of the secondary signature related information or the signature generated by using the secret key of the secondary signature relation information;
Using the encryption public key and the signature public key exchanged in the pairing, and a synchronization control unit that performs the duplication of the service secret key,
The terminal management server
The primary signature related information is received and stored from the primary user terminal via the communication network, and when the new primary signature related information is received, the public key of the primary signature related information is used. A secret key synchronization system comprising: a signature relationship information management unit that stores the new primary signature relationship information in place of the primary signature relationship information after successful verification of the signature of the new primary signature relationship information.
前記ペアリング制御部は、前記ペアリングの前に、ユーザ認証を行う
ことを特徴とする請求項1に記載の秘密鍵同期システム。 The terminal registration response unit performs user authentication before generating a signature of the new primary signature related information,
The secret key synchronization system according to claim 1, wherein the pairing control unit performs user authentication before the pairing.
前記ペアリング制御部は、前記ペアリングの前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記ペアリングを中止し、
前記同期制御部は、前記複製の前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記複製を中止する
ことを特徴とする請求項1に記載の秘密鍵同期システム。 The terminal management server stores, for each user terminal, whether or not the user terminal is in a suspended state,
Before the pairing, the pairing control unit inquires to the terminal management server whether or not it is in the use suspension state, and if it is in the use suspension state, stops the pairing,
The synchronization control unit inquires of the terminal management server whether or not it is in the use suspended state before the duplication, and stops the duplication if in the use suspended state. The secret key synchronization system according to claim 1.
前記ペアリング制御部は、前記ペアリングの前に、ペアリング対象となるユーザ端末の前記端末能力情報を前記端末検証サーバから入手し、前記端末能力情報が示す前記ユーザ端末の前記安全性のレベルが所定の基準を満たさない場合には、前記ペアリングを中止する
ことを特徴とする請求項1に記載の秘密鍵同期システム。 The secret key synchronization system stores terminal capability information indicating a level of security including at least one of a key protection capability, a user authentication method, a strength of user authentication, and presence / absence of a secure area of the user terminal. A terminal verification server that
The pairing control unit obtains the terminal capability information of the user terminal to be paired from the terminal verification server before the pairing, and the safety level of the user terminal indicated by the terminal capability information The secret key synchronization system according to claim 1, wherein the pairing is stopped when the key does not satisfy a predetermined criterion.
前記サービス秘密鍵は、WEBサービスのユーザ認証に用いる秘密鍵であり、
前記WEBサービスは、前記WEBサービスのユーザ認証に用いる秘密鍵の複製の可否、前記ユーザ端末の鍵の保護能力、前記ユーザ端末のユーザ認証方法、前記ユーザ端末のユーザ認証の強度、前記ユーザ端末のセキュア領域の有無、のうちの少なくとも1つを規定する認証ポリシを記憶しており、
前記同期制御部は、前記WEBサービスのユーザ認証に用いる秘密鍵の複製の前に、前記複製をする先のユーザ端末の前記安全性のレベルが、前記WEBサービスの前記認証ポリシにある安全性のレベルを満たしていない場合には、前記複製を中止する
ことを特徴とする請求項1に記載の秘密鍵同期システム。 The secret key synchronization system stores terminal capability information indicating a level of security including at least one of a key protection capability, a user authentication method, a strength of user authentication, and presence / absence of a secure area of the user terminal. A terminal verification server that
The service secret key is a secret key used for user authentication of the WEB service,
The WEB service includes: whether or not a secret key used for user authentication of the WEB service can be copied; key protection capability of the user terminal; user authentication method of the user terminal; strength of user authentication of the user terminal; Stores an authentication policy that defines at least one of the presence or absence of a secure area,
The synchronization control unit determines whether the security level of the user terminal to which the copy is made is in the authentication policy of the WEB service before copying the secret key used for user authentication of the WEB service. The secret key synchronization system according to claim 1, wherein the duplication is canceled when the level is not satisfied.
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備える
ことを特徴とするユーザ端末。 A user terminal holding a service secret key, which is a secret key used for authentication when using a service, and a terminal management server holding information related to the user terminal are connected via a communication network, and the two users The user terminal of the secret key synchronization system for copying the service secret key between the terminals,
Generating a pair of a private key and a public key of primary signature relation information for authenticating the user terminal, and having a user terminal identifier of the user, a public key of the primary signature relation information, and a secret key of the primary signature relation information A terminal initial registration unit that generates the primary signature relationship information including the used signature, transmits the primary signature relationship information to the terminal management server, and makes itself a primary user terminal;
When the mobile terminal itself is not the primary user terminal, it generates a pair of the private key and public key of the secondary signature relation information for authenticating the user terminal, and publishes the user terminal identifier and the secondary signature relation information Generating the secondary signature relationship information including a key and a signature using a secret key of the secondary signature relationship information, and sending the secondary signature relationship information to the primary user terminal without passing through the communication network. A terminal registration request unit, which is transmitted by direct communication to be a secondary user terminal,
When the terminal itself is the primary user terminal, the secondary signature relation information is received from the secondary user terminal, and after the signature verification of the secondary signature relation information is successfully verified, the second signature verification succeeds. Including a user terminal identifier of the next signature related information, a public key of the secondary signature related information including the user terminal identifier, a user terminal identifier of the primary signature related information, and a public key of the primary signature related information. A signature generated with the private key of the primary signature relationship information is added to the data, new primary signature relationship information indicating new primary signature relationship information is generated, and information including the new primary signature relationship information is stored in the terminal A terminal registration response unit to be transmitted to the management server;
The encryption public key used for the replication, the signature public key used for the replication, and the primary signature relationship information between the two user terminals that are the primary user terminal or the secondary user terminal that performs the replication A pairing control unit for performing pairing for exchanging a signature generated using the secret key of the secondary signature related information or the signature generated by using the secret key of the secondary signature relation information;
A user terminal comprising: a synchronization control unit that performs the duplication of the service secret key using the encryption public key and the signature public key exchanged by the pairing.
前記ユーザ端末は、
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とするステップと、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とするステップと、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信するステップと、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である2つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するステップと、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行するステップとを実行し、
前記端末管理サーバは、
前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶するステップを実行する
ことを特徴とする秘密鍵同期方法。 A user terminal holding a service secret key, which is a secret key used for authentication when using a service, and a terminal management server holding information related to the user terminal are connected via a communication network, and the two users A secret key synchronization method of a secret key synchronization system that duplicates the service secret key between terminals,
The user terminal is
Generating a pair of a private key and a public key of primary signature relation information for authenticating the user terminal, and having a user terminal identifier of the user, a public key of the primary signature relation information, and a secret key of the primary signature relation information Generating the primary signature relationship information including the used signature, transmitting the primary signature relationship information to the terminal management server, and making itself a primary user terminal;
When the mobile terminal itself is not the primary user terminal, it generates a pair of the private key and public key of the secondary signature relation information for authenticating the user terminal, and publishes the user terminal identifier and the secondary signature relation information Generating the secondary signature relationship information including a key and a signature using a secret key of the secondary signature relationship information, and sending the secondary signature relationship information to the primary user terminal without passing through the communication network. To the mobile phone as a secondary user terminal,
When the terminal itself is the primary user terminal, the secondary signature relation information is received from the secondary user terminal, and after the signature verification of the secondary signature relation information is successfully verified, the second signature verification succeeds. Including a user terminal identifier of the next signature related information, a public key of the secondary signature related information including the user terminal identifier, a user terminal identifier of the primary signature related information, and a public key of the primary signature related information. A signature generated with the private key of the primary signature relationship information is added to the data, new primary signature relationship information indicating new primary signature relationship information is generated, and information including the new primary signature relationship information is stored in the terminal Sending to the management server;
The encryption public key used for the replication, the signature public key used for the replication, and the primary signature relationship information between the two user terminals that are the primary user terminal or the secondary user terminal that performs the replication Performing a pairing for exchanging a signature generated using a secret key of the second signature-related information or a signature generated using the secret key of the secondary signature related information;
Performing the duplication of the service secret key using the encryption public key and the signature public key exchanged in the pairing;
The terminal management server
The primary signature related information is received and stored from the primary user terminal via the communication network, and when the new primary signature related information is received, the public key of the primary signature related information is used. A secret key synchronization method comprising: storing the new primary signature relationship information instead of the primary signature relationship information after successful verification of the signature of the new primary signature relationship information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016171925A JP6479724B2 (en) | 2016-09-02 | 2016-09-02 | Secret key synchronization system, user terminal, and secret key synchronization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016171925A JP6479724B2 (en) | 2016-09-02 | 2016-09-02 | Secret key synchronization system, user terminal, and secret key synchronization method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018037988A JP2018037988A (en) | 2018-03-08 |
JP6479724B2 true JP6479724B2 (en) | 2019-03-06 |
Family
ID=61566128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016171925A Active JP6479724B2 (en) | 2016-09-02 | 2016-09-02 | Secret key synchronization system, user terminal, and secret key synchronization method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6479724B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11218330B2 (en) * | 2019-03-25 | 2022-01-04 | Micron Technology, Inc. | Generating an identity for a computing device using a physical unclonable function |
CN114513316B (en) * | 2020-10-27 | 2024-01-16 | 国家电网有限公司大数据中心 | Anonymous authentication method based on identity, server and user terminal equipment |
CN114513338B (en) * | 2022-01-20 | 2024-05-03 | 维沃移动通信有限公司 | Data synchronization method and electronic equipment |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000261428A (en) * | 1999-03-10 | 2000-09-22 | Oki Electric Ind Co Ltd | Authentication device in decentralized processing system |
JP2004303089A (en) * | 2003-03-31 | 2004-10-28 | Ntt Comware Corp | License moving system and method for moving license |
US9112681B2 (en) * | 2007-06-22 | 2015-08-18 | Fujitsu Limited | Method and apparatus for secure information transfer to support migration |
JP2009175910A (en) * | 2008-01-23 | 2009-08-06 | Nippon Telegr & Teleph Corp <Ntt> | Right transfer system, right transfer method and right transfer program |
JP5266322B2 (en) * | 2008-06-23 | 2013-08-21 | パナソニック株式会社 | Key moving device |
JP5489775B2 (en) * | 2010-02-23 | 2014-05-14 | 株式会社インテック | Secret key sharing system, method, data processing apparatus, management server, and program |
EP3032452A1 (en) * | 2014-12-11 | 2016-06-15 | Gemalto Sa | System for managing access to resources of a first electronic device's application by a second electronic device on a remote server |
-
2016
- 2016-09-02 JP JP2016171925A patent/JP6479724B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018037988A (en) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101958909B1 (en) | Method of using one device to unlock another device | |
US20170142082A1 (en) | System and method for secure deposit and recovery of secret data | |
US11063941B2 (en) | Authentication system, authentication method, and program | |
JP4803145B2 (en) | Key sharing method and key distribution system | |
JP2017152880A (en) | Authentication system, key processing coordination method, and key processing coordination program | |
JP6479724B2 (en) | Secret key synchronization system, user terminal, and secret key synchronization method | |
JP6479723B2 (en) | Secret key management system and secret key management method | |
JP6533542B2 (en) | Secret key replication system, terminal and secret key replication method | |
JP2008299457A (en) | Authentication system, authentication method, and authentication socket device | |
KR20210153419A (en) | Apparatus and method for authenticating device based on certificate using physical unclonable function | |
JP2005275467A (en) | Backup equipment, equipment to be backed-up, backup mediating device, backup system, backup method, data restoration method, program, and recording medium | |
KR102288444B1 (en) | Firmware updating method, apparatus and program of authentication module | |
KR102539418B1 (en) | Apparatus and method for mutual authentication based on physical unclonable function | |
JP6524556B2 (en) | Authentication key replication system | |
KR20150003124A (en) | Puf-based hardware device for providing one time password, and method for 2-factor authenticating using thereof | |
US11804969B2 (en) | Establishing trust between two devices for secure peer-to-peer communication | |
JP4680779B2 (en) | Communication apparatus and authentication method | |
JP2016045619A (en) | Authentication control system, control server, authentication control method and program | |
JP5909435B2 (en) | Environment authentication system, control target device, connection management device, and program | |
CN111368308A (en) | Image acquisition device, server, control method of encryption system, and control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190118 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6479724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |