JP6581611B2 - Authentication key sharing system and authentication key sharing method - Google Patents

Authentication key sharing system and authentication key sharing method Download PDF

Info

Publication number
JP6581611B2
JP6581611B2 JP2017030378A JP2017030378A JP6581611B2 JP 6581611 B2 JP6581611 B2 JP 6581611B2 JP 2017030378 A JP2017030378 A JP 2017030378A JP 2017030378 A JP2017030378 A JP 2017030378A JP 6581611 B2 JP6581611 B2 JP 6581611B2
Authority
JP
Japan
Prior art keywords
terminal
subcode
secret key
key
authentication
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
Application number
JP2017030378A
Other languages
Japanese (ja)
Other versions
JP2018137587A (en
Inventor
豪生 西村
豪生 西村
山下 高生
高生 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017030378A priority Critical patent/JP6581611B2/en
Publication of JP2018137587A publication Critical patent/JP2018137587A/en
Application granted granted Critical
Publication of JP6581611B2 publication Critical patent/JP6581611B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、認証鍵共有システムおよび認証鍵共有方法に関する。   The present invention relates to an authentication key sharing system and an authentication key sharing method.

インターネットの利用者は、パソコンやスマートフォン、タブレット端末等の複数の端末を使って、オンラインバンキングやネットショッピング等の各種Webサービスを利用している。Webサービスを利用するときには、利用者認証が必要であり、利用者ID(IDentifier、識別子)とパスワードを用いるのが一般的である。
しかしながら、安易に設定したパスワードが推測されてしまう、不正アクセスによりWebサービスサーバからパスワードが漏洩してしまうなどして、パスワードが盗まれてしまう事件が多発している。
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. When using a Web service, user authentication is required, and a user ID (IDentifier) and password are generally used.
However, there are many cases in which a password is stolen because an easily set password is guessed or a password is leaked from a Web service server due to unauthorized access.

パスワード認証に替わる利用者認証技術として、パスワードレス認証のデファクト標準技術(FIDO:Fast IDentity Online)という、公開鍵暗号を用いたWebサービスの利用者認証技術がある。FIDOでは、サービス毎に異なる公開鍵・秘密鍵ペアを生成し、公開鍵をサービスサイト側に配置して、秘密鍵を端末内のセキュア領域に閉じ込めておく。秘密鍵の利用(チャレンジ・レスポンス認証における署名等)は端末上で生体認証を行うことが前提となっており、かつ、秘密鍵の利用はセキュア領域内で行われ、端末外に秘密鍵が出ていくことはないことからセキュリティが高い。
FIDOでは、利用者認証の前段階として、利用者が所有する端末が公開鍵暗号の秘密鍵と公開鍵のペアを生成して、秘密鍵を端末に保管し、公開鍵をWebサービスサーバに登録する。公開鍵を登録するときには、Webサービスサーバが利用者の本人確認を行う。
Webサービスサーバが利用者を認証するときには、(1)Webサービスサーバが乱数を生成して端末に送信し、(2)端末が秘密鍵を用いて乱数に署名してWebサービスサーバに送信し、(3)Webサービスサーバが署名を検証する。(3)の署名検証が成功すれば、利用者認証が成功したことになり、利用者はWebサービスを利用することができる。
As a user authentication technique that replaces the password authentication, there is a web service user authentication technique using public key cryptography, a de facto standard technique (FIDO: Fast IDentity Online) for passwordless authentication. In FIDO, a different public / private key pair is generated for each service, the public key is arranged on the service site side, and the secret key is confined in a secure area in the terminal. The use of a private key (signature for challenge / response authentication, etc.) is based on the premise that biometric authentication is performed on the terminal, and the use of the private key is performed within the secure area. Security is high because there is nothing to follow.
In FIDO, as a pre-stage of user authentication, a terminal owned by the user generates a private key / public key pair for public key encryption, stores the private key in the terminal, and registers the public key in the Web service server To do. When registering the public key, the Web service server confirms the identity of the user.
When the Web service server authenticates the user, (1) the Web service server generates a random number and sends it to the terminal, (2) the terminal signs the random number using the secret key and sends it to the Web service server, (3) The Web service server verifies the signature. If the signature verification in (3) is successful, the user authentication is successful, and the user can use the Web service.

FIDOでは、秘密鍵が不正に持ち出されたり利用されたりすることがないように、端末のセキュア領域に秘密鍵が保管されることを求めている。秘密鍵がセキュア領域に保管されることで、盗まれたり、正規の秘密鍵所有者以外に利用されたり、マルウェアのような不正なプログラムからアクセスされたりすることを防ぐことができる。しかし、秘密鍵がセキュア領域から一切取り出せないとすると、正規の利用者が別の端末からWebサービスサーバにアクセスすることができなくなってしまうという問題が生じる。すなわち、複数の端末からWebサービスを利用できない。   In FIDO, the secret key is required to be stored in the secure area of the terminal so that the secret key is not illegally taken out or used. By storing the private key in the secure area, it is possible to prevent the private key from being stolen, used by anyone other than the authorized private key owner, or accessed from an unauthorized program such as malware. However, if the secret key cannot be extracted from the secure area, there is a problem that a legitimate user cannot access the Web service server from another terminal. That is, the Web service cannot be used from a plurality of terminals.

図8は、FIDO対応の複数端末を利用するときに生じる問題を説明する図である。
図8に示すように、利用者は端末X91を使ってサービスAサーバ98とサービスBサーバ99にアクセスしている。サービスAサーバ98には公開鍵A981が、サービスBサーバ99には公開鍵B991が登録済みである。公開鍵A981とペアになる秘密鍵A912と、公開鍵B991とペアになる秘密鍵B913とは、端末X91のセキュア領域911に格納されている。
ただし、新しい端末を利用する場合、セキュア領域921内には鍵がないことから、サービス毎に再度鍵ペアの生成・登録を行う必要があり、複数の端末を使う場合、端末数×サービス数だけ登録作業が必要となり、利便性が低い。
FIG. 8 is a diagram for explaining a problem that occurs when a plurality of terminals corresponding to FIDO are used.
As shown in FIG. 8, the user accesses the service A server 98 and the service B server 99 using the terminal X91. Public key A 981 has been registered in service A server 98 and public key B 991 has been registered in service B server 99. A secret key A912 paired with the public key A981 and a secret key B913 paired with the public key B991 are stored in the secure area 911 of the terminal X91.
However, when using a new terminal, since there is no key in the secure area 921, it is necessary to generate and register a key pair again for each service. When using a plurality of terminals, only the number of terminals × the number of services Registration work is required, and convenience is low.

例えば、利用者が新しい端末Y92からサービスAサーバ98にアクセスするには、端末Y92のセキュア領域921に秘密鍵A912を格納する必要がある。しかし、端末X91のセキュア領域911から秘密鍵A912が取り出せない(端末Y92のセキュア領域921にコピーできない)ので、端末Y92では利用者認証ができない。サービスBサーバ99についても同様である。利用者が端末Y92からサービスAサーバ98とサービスBサーバ99にアクセスするには、端末Y92からサービスAサーバ98とサービスBサーバ99に対して公開鍵の再登録が必要となる。再登録は、サービス数(サーバ台数)×端末数の分だけ必要であり、本人確認を含めて大きな手間となる。   For example, in order for the user to access the service A server 98 from the new terminal Y92, it is necessary to store the secret key A912 in the secure area 921 of the terminal Y92. However, since the private key A912 cannot be extracted from the secure area 911 of the terminal X91 (cannot be copied to the secure area 921 of the terminal Y92), user authentication cannot be performed at the terminal Y92. The same applies to the service B server 99. In order for the user to access the service A server 98 and the service B server 99 from the terminal Y92, it is necessary to re-register public keys from the terminal Y92 to the service A server 98 and the service B server 99. Re-registration is required only for the number of services (the number of servers) x the number of terminals, and it takes a lot of work including identity verification.

この新しい端末を導入する(複数端末を利用する)ときの再登録の問題を解決する技術として、端末間でセキュアな鍵の共有を行う非特許文献1に記載の技術がある。
非特許文献1には、第三者が端末所有者の本人確認を行った上で、所有者証明書を端末に発行することを前提として、所有者が同一である所有者証明書(非特許文献1記載のユーザ証明書)が発行された端末間に限っては秘密鍵のコピー(複製)を可能とする手法が示されている。
As a technique for solving the problem of re-registration when introducing a new terminal (using a plurality of terminals), there is a technique described in Non-Patent Document 1 that performs secure key sharing between terminals.
Non-Patent Document 1 discloses that an owner certificate (non-patented) with the same owner is assumed on the assumption that a third party confirms the identity of the terminal and issues an owner certificate to the terminal. There is shown a technique that enables a private key to be copied (duplicated) only between terminals that have issued user certificates described in Document 1.

図9は、所有者証明書を用いたセキュア領域間の秘密鍵コピーを説明する図である。
図9に示すように、端末XX93は、所有者証明書に対応したセキュア領域931を、端末YY94は所有者証明書に対応したセキュア領域941を、それぞれ備えている。端末管理サーバ100は、端末XX93の所有者の本人確認をしたうえで、所有者証明書X934を発行する。発行された所有者証明書X934は端末XX93のセキュア領域931に格納される。端末YY94についても同様であり、端末管理サーバ100から発行された所有者証明書Y944は、セキュア領域941に格納される。
FIG. 9 is a diagram for explaining private key copy between secure areas using an owner certificate.
As shown in FIG. 9, the terminal XX93 includes a secure area 931 corresponding to the owner certificate, and the terminal YY94 includes a secure area 941 corresponding to the owner certificate. The terminal management server 100 issues the owner certificate X934 after confirming the identity of the owner of the terminal XX93. The issued owner certificate X934 is stored in the secure area 931 of the terminal XX93. The same applies to the terminal YY94, and the owner certificate Y944 issued from the terminal management server 100 is stored in the secure area 941.

所有者証明書X934に示される所有者と所有者証明書Y944に示される所有者とが一致したときに端末XX93のセキュア領域931から端末YY94のセキュア領域941へ秘密鍵A912と秘密鍵B913がコピー可能となる。利用者はコピーされた秘密鍵A942と秘密鍵B943を用いて、端末YY94からサービスAサーバ98とサービスBサーバ99に対して認証可能となる。所有者証明書を用いた秘密鍵コピーにより公開鍵の再登録は不要となる。   When the owner indicated by the owner certificate X934 matches the owner indicated by the owner certificate Y944, the secret key A912 and the secret key B913 are copied from the secure area 931 of the terminal XX93 to the secure area 941 of the terminal YY94. It becomes possible. The user can authenticate the service A server 98 and the service B server 99 from the terminal YY 94 using the copied secret key A 942 and secret key B 943. Re-registration of the public key becomes unnecessary by copying the private key using the owner certificate.

図10は、標準技術(FIDO)において端末に求められる機能を説明する図である。
図10に示すように、端末95は、Webアプリ951と、FIDOクライアント952と、FIDO Authenticator(図10の破線内参照)に対応したセキュア領域953と、を備える。
セキュア領域953には、秘密鍵生成部954、秘密鍵利用部955、秘密鍵保管部956、および生体認証部959が備えられる。秘密鍵保管部956には、公開鍵Aとペアになる秘密鍵A957と、公開鍵Bとペアになる秘密鍵B958とが格納されている。
FIG. 10 is a diagram for explaining functions required for a terminal in the standard technology (FIDO).
As shown in FIG. 10, the terminal 95 includes a Web application 951, an FIDO client 952, and a secure area 953 corresponding to the FIDO Authenticator (see the broken line in FIG. 10).
The secure area 953 includes a secret key generation unit 954, a secret key utilization unit 955, a secret key storage unit 956, and a biometric authentication unit 959. The secret key storage unit 956 stores a secret key A957 paired with the public key A and a secret key B958 paired with the public key B.

FIDOクライアント952は、Webアプリ951の秘密鍵生成要求に従って秘密鍵生成部954に秘密鍵生成要求を発行する。秘密鍵生成部954は、通常領域のFIDOクライアント952からの指示を受け、秘密鍵の生成を行う。
また、FIDOクライアント952は、Webアプリ951の認証時の署名要求に従って秘密鍵利用部955に署名要求を発行する。秘密鍵利用部955は、通常領域のFIDOクライアント952からの指示を受け、秘密鍵の利用(署名、暗号化、復号化等)を行う。
秘密鍵保管部956は、秘密鍵生成部954により生成された、または秘密鍵利用部955により利用された秘密鍵A957と秘密鍵B958を格納する。
生体認証部959は、通常領域のFIDOクライアント952からの指示を受け、生体(指紋、虹彩)認証等のユーザ認証を実行する。
The FIDO client 952 issues a secret key generation request to the secret key generation unit 954 in accordance with the secret key generation request of the Web application 951. The secret key generation unit 954 receives an instruction from the normal area FIDO client 952 and generates a secret key.
Also, the FIDO client 952 issues a signature request to the secret key utilization unit 955 in accordance with the signature request at the time of authentication of the Web application 951. The private key using unit 955 receives an instruction from the FIDO client 952 in the normal area and uses the private key (signature, encryption, decryption, etc.).
The secret key storage unit 956 stores the secret key A957 and the secret key B958 generated by the secret key generation unit 954 or used by the secret key utilization unit 955.
The biometric authentication unit 959 receives an instruction from the FIDO client 952 in the normal area, and executes user authentication such as biometric (fingerprint, iris) authentication.

図11は、従来の認証鍵の共有手法(鍵コピー)において端末に求められる機能を説明する図である。
図11に示すように、端末96は、Webアプリ961と、FIDOクライアント962と、セキュア領域963と、を備える。セキュア領域963には、FIDO Authenticator(図11の破線内参照)に対応した秘密鍵生成部964、秘密鍵利用部965、秘密鍵保管部966および生体認証部969と、コピー(複製)のための追加機能(図11の一点鎖線内参照)として秘密鍵コピー送信部970および(発行、保管、比較等)の証明書管理部971とが備えられる。秘密鍵保管部966は、秘密鍵A967と秘密鍵B968とを格納する。
FIG. 11 is a diagram for explaining functions required for a terminal in a conventional authentication key sharing method (key copy).
As illustrated in FIG. 11, the terminal 96 includes a web application 961, an FIDO client 962, and a secure area 963. The secure area 963 includes a secret key generation unit 964, a secret key use unit 965, a secret key storage unit 966, a biometric authentication unit 969 corresponding to a FIDO Authenticator (see the broken line in FIG. 11), and a copy (duplication) As an additional function (refer to the one-dot chain line in FIG. 11), a secret key copy transmission unit 970 and a certificate management unit 971 (issue, storage, comparison, etc.) are provided. The secret key storage unit 966 stores a secret key A967 and a secret key B968.

秘密鍵コピー送信部970は、セキュア領域963において、証明書管理部971からの要求に従って証明書管理部971に秘密鍵保管部966に格納されている秘密鍵A967と秘密鍵B968を送信する。証明書管理部971は、秘密鍵A967と秘密鍵B968を用いて証明書の発行、保管、比較等を行う。
一方、秘密鍵コピー送信部970は、他端末97からの秘密鍵コピー要求を受付け、秘密鍵を他端末97に送信する。
上記コピーのための追加機能は、必要な追加機能の規模が大きく、また、セキュリティ担保のために高い品質が求められることから、高コストとなる。
In the secure area 963, the private key copy transmission unit 970 transmits the private key A967 and the private key B968 stored in the private key storage unit 966 to the certificate management unit 971 according to the request from the certificate management unit 971. The certificate management unit 971 issues, stores, and compares certificates using the private key A967 and the private key B968.
On the other hand, the secret key copy transmission unit 970 receives a secret key copy request from the other terminal 97 and transmits the secret key to the other terminal 97.
The additional function for copying is expensive because the scale of the necessary additional function is large and high quality is required for ensuring security.

緒方祐介、大森芳彦、山下高生、岩田哲弥、"非対称鍵を利用した認証方式の秘密鍵の維持管理に関する考察", 電子情報通信学会通信ソサイエティ大会、B-7-9、2016.Yusuke Ogata, Yoshihiko Omori, Takao Yamashita, Tetsuya Iwata, "Study on maintenance of secret key for authentication method using asymmetric key", IEICE Communication Society Conference, B-7-9, 2016.

従来の認証鍵の共有手法(鍵コピー)を実現するためには、図11の一点鎖線に示すように、秘密鍵をコピーする機能を端末96内に追加実装する必要がある。しかし、以下の理由から、コピーのための機能を追加実装することはコストが高いことが想定され、普及の疎外となることが懸念される。
FIDO標準実装は、秘密鍵の端末外への取り出しを想定していないため、本機能は完全に新規に実装すべき機能である。秘匿性の高い認証情報を取り扱う機能は、端末のセキュア領域(TEE:Trusted Execution Environment)内で実行することが求められる。しかしながら、TEEでは通常の実行環境(Android等)と比較して限られた開発環境しか提供されておらず、大規模な機能をTEEアプリケーションとして開発するコストは高い。しかも、秘密鍵を外部に送信するインタフェースを持つことから、セキュリティを十分に考慮した設計(送信時の暗号化処理、コピー先端末の認証処理等)が必要となる。また、悪用されないよう堅牢である要求があり、高いソフトウェア品質が必要となる。
In order to realize a conventional authentication key sharing method (key copy), it is necessary to additionally mount a function for copying a secret key in the terminal 96 as shown by a one-dot chain line in FIG. However, for the following reasons, it is assumed that it is costly to additionally implement a function for copying, and there is a concern that it will become an alienation of the spread.
Since the FIDO standard implementation does not assume the extraction of the secret key outside the terminal, this function is a function that should be implemented completely newly. A function that handles highly confidential authentication information is required to be executed in a secure area (TEE: Trusted Execution Environment) of the terminal. However, TEE provides only a limited development environment compared to a normal execution environment (Android or the like), and the cost of developing a large-scale function as a TEE application is high. In addition, since it has an interface for transmitting the secret key to the outside, a design that sufficiently considers security (encryption processing at the time of transmission, authentication processing of the copy destination terminal, etc.) is required. In addition, there is a demand for being robust so as not to be abused, and high software quality is required.

このような背景を鑑みて本発明がなされたのであり、本発明は、端末間で秘密鍵のコピーを行うことなく、認証用秘密鍵の共有を実現する認証鍵共有システムおよび認証鍵共有方法を提供することを課題とする。   The present invention has been made in view of such a background, and the present invention provides an authentication key sharing system and an authentication key sharing method for realizing sharing of an authentication secret key without copying the secret key between terminals. The issue is to provide.

前記した課題を解決するため、請求項1に記載の発明は、秘密鍵を用いて認証する複数の端末と、前記端末の所有者の本人確認を行う第三者サーバと、を備え、前記端末と前記第三者サーバとが、通信ネットワークを介して接続され、複数の前記端末間で認証用の前記秘密鍵を共有する認証鍵共有システムであって、前記端末は、前記通信ネットワークに接続されたWebサーバからWebサービス固有のAppIDおよび、登録済のユーザを一意に識別するUserIDを取得するクライアントを備えるとともに、外部から不正に侵入できないように管理された領域であるセキュア領域を有し、前記セキュア領域内において、前記所有者からのマスタコードの入力を受付けるマスタコード管理部と、前記第三者サーバが生成・保管するランダム文字列からなるサブコードを、前記第三者サーバから払出しさせて取得するサブコード管理部と、前記AppIDと前記UserIDと前記マスタコードと前記サブコードとの組み合わせを用いて、同一所有者の端末上では同じとなる入力文字列を生成し、当該入力文字列をもとに前記秘密鍵を生成する秘密鍵生成部と、を備え、前記端末の前記秘密鍵生成部は、前記入力文字列を生成するための前記サブコードを前記第三者サーバに保管させ、前記第三者サーバは、他の前記端末の前記サブコード管理部からの前記サブコードの発行要求に応答して、保管した前記サブコードを払出しすることを特徴とする認証鍵共有システムとした。 In order to solve the above-described problem, the invention according to claim 1 includes a plurality of terminals that authenticate using a secret key, and a third-party server that performs identity verification of the owner of the terminal, and the terminal and the and the third party server, connected via a communication network, a authentication key sharing system for sharing the secret key for authentication between a plurality of said terminals, said terminal is connected to the communication network A secure area, which is an area managed to prevent unauthorized entry from the outside, with a client that obtains a Web service-specific AppID and a UserID that uniquely identifies a registered user from a Web server Within a secure area, a master code management unit that accepts input of a master code from the owner, and a run generated and stored by the third party server Subcode consisting beam string, the subcode management unit that acquires by dispensing from a third party server, using a combination of the sub-code and the AppID and the UserID and the master code, commonly owned It generates an input character string to be the same on the terminal, and a secret key generator for generating said secret key based on the input character string, the secret key generating unit of the terminal, the input string The third-party server stores the sub-code for generating the sub-code, and the third-party server stores the sub-code in response to the sub-code issuance request from the sub-code management unit of the other terminal. An authentication key sharing system is characterized in that the subcode is paid out.

また、請求項に記載の発明は、秘密鍵を用いて認証する複数の端末と、前記端末の所有者の本人確認を行う第三者サーバと、を備え、前記端末と前記第三者サーバとが、通信ネットワークを介して接続され、複数の前記端末間で認証用の前記秘密鍵を共有する認証鍵共有システムの認証鍵共有方法であって、前記端末は、前記通信ネットワークに接続されたWebサーバからWebサービス固有のAppIDおよび、登録済のユーザを一意に識別するUserIDを取得するとともに、外部から不正に侵入できないように管理された領域であるセキュア領域を有しており、前記セキュア領域内において、前記所有者からのマスタコードの入力を受付けるステップと、前記第三者サーバが生成・保管するランダム文字列からなるサブコードを、前記第三者サーバから払出させて取得するサブコード管理ステップと、前記AppIDと前記UserIDと前記マスタコードと前記サブコードとの組み合わせを用いて、同一所有者の端末上では同じとなる入力文字列を生成し、当該入力文字列をもとに前記秘密鍵を生成するステップと、前記入力文字列を生成するための前記サブコードを前記第三者サーバに保管させるステップと、を実行し、前記第三者サーバは、他の前記端末の前記サブコード管理ステップにおける前記サブコードの発行要求に応答して、保管した前記サブコードを払出しするステップを実行することを特徴とする認証鍵共有方法とした。 The invention according to claim 2 comprises a plurality of terminals that authenticate using a secret key, and a third party server that verifies the identity of the owner of the terminal, the terminal and the third party server DOO is connected via a communication network, a authentication key sharing method of the authentication key sharing system for sharing the secret key for authentication between a plurality of the terminal, the terminal connected to the communication network AppID and specific Web service from the Web server acquires the uniquely identifying UserID users registered, has a secure area is an area that is managed so as not to unauthorized intrusion from the outside, the secure area And receiving a master code input from the owner, and a subcode comprising a random character string generated and stored by the third party server. Wherein the sub-code management step of obtaining by dispensing from a third party server, using a combination of the AppID and the UserID the master code and the subcode, the input character string to be same on the same owner terminal generate, execute and generating the secret key on the basis of the input character string, a step of storing said sub-code to generate the input string to the third party server, wherein the An authentication key sharing method , wherein a third party server executes a step of paying out the stored subcode in response to a request for issuing the subcode in the subcode management step of the other terminal ; did.

このようにすることで、認証鍵共有システムは、端末間で秘密鍵のコピーを行うのではなく、同一所有者の端末上では同じ秘密鍵を生成可能とする。これにより、端末間の直接のやり取りがなく鍵の共有が可能となり、複数端末間での秘密鍵の共有を実現することができる。また、サービス毎の鍵の登録作業は端末数に依らず一度だけ行えばよくなる。   In this way, the authentication key sharing system does not copy the secret key between the terminals, but can generate the same secret key on the terminals of the same owner. As a result, the key can be shared without direct exchange between the terminals, and the secret key can be shared among a plurality of terminals. In addition, the key registration operation for each service needs to be performed only once regardless of the number of terminals.

また、分散保管することで、単一の攻撃により、入力文字列全体が盗難されることを困難にすることができ、攻撃への耐性を高めることができる。 In addition, by storing in a distributed manner, it is possible to make it difficult for the entire input character string to be stolen by a single attack, and it is possible to increase resistance to the attack.

また、サブコードの払出しには、第三者サーバの本人確認が必須となるので、意図しない不正な鍵の共有を防止することができる。仮に第三者サーバが攻撃を受け、サブコードが流出したとしても、マスタコードと両方が揃わないと鍵を生成できない。 In addition, since the identification of the third party server is essential for the subcode delivery, unintentional illegal key sharing can be prevented. Even if the third party server is attacked and the subcode is leaked, the key cannot be generated unless both the master code and the master code are available.

本発明によれば、端末間で秘密鍵のコピーを行うことなく、認証用秘密鍵の共有を実現する認証鍵共有システムおよび認証鍵共有方法を提供することができる。   According to the present invention, it is possible to provide an authentication key sharing system and an authentication key sharing method for realizing sharing of an authentication secret key without copying the secret key between terminals.

本発明の実施形態に係る認証鍵共有システムを示す構成図である。It is a block diagram which shows the authentication key sharing system which concerns on embodiment of this invention. 本実施形態に係る認証鍵共有システムを構成する端末のサブコード管理テーブルの一例を示す図である。It is a figure which shows an example of the subcode management table of the terminal which comprises the authentication key sharing system which concerns on this embodiment. 本実施形態に係る認証鍵共有システムの認証鍵共有方法の動作概要を示す図である。It is a figure which shows the operation | movement outline | summary of the authentication key sharing method of the authentication key sharing system which concerns on this embodiment. 本実施形態に係る認証鍵共有システムが実行する、事前処理(マスタ/サブコード設定)の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the pre-processing (master / subcode setting) which the authentication key sharing system which concerns on this embodiment performs. 本実施形態に係る認証鍵共有システムが実行する、鍵の登録処理を示すシーケンス図である。It is a sequence diagram which shows the key registration process which the authentication key sharing system which concerns on this embodiment performs. 本実施形態に係る認証鍵共有システムを構成する端末の秘密鍵生成部により実行される、入力文字列からの非対称鍵生成プロセスを説明する図である。It is a figure explaining the asymmetric key generation process from the input character string performed by the secret key generation part of the terminal which comprises the authentication key sharing system which concerns on this embodiment. 本実施形態に係る認証鍵共有システムが実行する、鍵の再生成処理を示すシーケンス図である。It is a sequence diagram which shows the regeneration process of the key which the authentication key sharing system which concerns on this embodiment performs. FIDO対応の複数端末を利用するときに生じる問題を説明する図である。It is a figure explaining the problem which arises when using multiple terminals corresponding to FIDO. 所有者証明書(非特許文献1記載のユーザ証明書)を用いたセキュア領域間の秘密鍵コピーを説明する図である。It is a figure explaining the private key copy between secure areas using an owner certificate (user certificate of nonpatent literature 1). 標準技術(FIDO)において端末に求められる機能を説明する図である。It is a figure explaining the function calculated | required by the terminal in a standard technique (FIDO). 従来の認証鍵の共有手法(鍵コピー)において端末に求められる機能を説明する図である。It is a figure explaining the function calculated | required by the terminal in the conventional authentication key sharing method (key copy).

以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)における認証鍵共有システム等について説明する。
(実施形態)
図1は、本発明の実施形態に係る認証鍵共有システムを示す構成図である。
[認証鍵共有システムの全体構成]
図1に示すように、本実施形態に係る認証鍵共有システム1は、端末10(10A:鍵を生成・登録・利用する端末)、端末10(10B:鍵を再生成・利用する端末)に加え、ネットワーク上に、第三者サーバ20と、端末10が利用する1つ以上のWebサービス(装置)30と、を含んで構成される。端末10Aと端末10Bとを特に区別する必要がない場合には、端末10と記す。
なお、端末10と、第三者サーバ20と、Webサービス30のWebサーバ311(後記)およびFIDOサーバ312(後記)とは、通信ネットワーク(図示省略)で接続されており、相互に通信可能である。
認証鍵共有システム1は、秘密鍵を用いて認証する複数の端末10と、端末10の所有者の本人確認を行う第三者サーバ20とが、通信ネットワークを介して接続され、複数端末10間で認証用秘密鍵を共有する。
認証鍵共有システム1は、端末10間で秘密鍵のコピーを行うのではなく、同一所有者の端末10上では同じ秘密鍵を生成可能とすることにより、複数の端末10間での認証用秘密鍵の共有を実現する。
Hereinafter, an authentication key sharing system and the like in a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described with reference to the drawings.
(Embodiment)
FIG. 1 is a configuration diagram showing an authentication key sharing system according to an embodiment of the present invention.
[Entire configuration of authentication key sharing system]
As shown in FIG. 1, an authentication key sharing system 1 according to the present embodiment includes terminals 10 (10A: a terminal that generates, registers, and uses a key) and terminals 10 (10B: a terminal that regenerates and uses a key). In addition, the network includes a third party server 20 and one or more Web services (devices) 30 used by the terminal 10. When it is not necessary to distinguish between the terminal 10 </ b> A and the terminal 10 </ b> B, the terminal 10 </ b> A is referred to as the terminal 10.
Note that the terminal 10, the third party server 20, the Web server 311 (described later) and the FIDO server 312 (described later) of the Web service 30 are connected via a communication network (not shown) and can communicate with each other. is there.
In the authentication key sharing system 1, a plurality of terminals 10 that authenticate using a secret key and a third party server 20 that performs identity verification of the owner of the terminal 10 are connected via a communication network. Share the authentication private key with.
The authentication key sharing system 1 does not copy the secret key between the terminals 10 but can generate the same secret key on the terminals 10 of the same owner so that the secret for authentication between the terminals 10 can be generated. Realize key sharing.

<端末の構成>
端末10は、通常のアプリケーション等が動作する領域である通常領域11と、マルウェア等が混入しないように管理された領域(外部から不正に侵入できないように管理された領域)であるセキュア領域12とを論理的に備える。
通常領域11は、一般のアプリケーションプログラムが実行される環境である。通常領域11は、Webクライアント111と、FIDOクライアント112とが備わる。
<Device configuration>
The terminal 10 includes a normal area 11 that is an area in which normal applications and the like operate, a secure area 12 that is an area that is managed so that malware and the like are not mixed (an area that is managed to prevent unauthorized entry from the outside), Is logically provided.
The normal area 11 is an environment in which a general application program is executed. The normal area 11 includes a Web client 111 and an FIDO client 112.

Webクライアント111は、Webサービス30のWebサーバ311にWebサービスを利用して鍵登録要求および認証要求を発行する。
FIDOクライアント112は、Webサービス30のFIDOサーバ312から鍵要求を受付け、秘密鍵生成機能部122(後記)に鍵生成要求を発行する。また、FIDOクライアント112は、Webサービス30のFIDOサーバ312から認証要求を受付け、秘密鍵利用部121(後記)に認証要求を発行する。
The Web client 111 issues a key registration request and an authentication request to the Web server 311 of the Web service 30 using the Web service.
The FIDO client 112 receives a key request from the FIDO server 312 of the Web service 30 and issues a key generation request to the secret key generation function unit 122 (described later). Also, the FIDO client 112 receives an authentication request from the FIDO server 312 of the Web service 30 and issues an authentication request to the secret key utilization unit 121 (described later).

セキュア領域12は、外部から不正に侵入できないように管理された領域である。セキュア領域12は、一般のアプリケーションプログラムから隔離された実行環境であり、データや計算処理が保護される。CPU(Central Processing Unit)やOS(Operating System)の特権モードで実行され、特定のプログラムや特定の手順によってのみ、セキュア領域12のプログラムの呼び出しやデータへのアクセスが可能となる。   The secure area 12 is an area managed so that it cannot be illegally entered from the outside. The secure area 12 is an execution environment isolated from general application programs, and data and calculation processing are protected. The program is executed in a privileged mode of a CPU (Central Processing Unit) or an OS (Operating System), and a program in the secure area 12 and access to data can be accessed only by a specific program or a specific procedure.

セキュア領域12は、秘密鍵利用部121と、秘密鍵生成機能部122と、秘密鍵保管部126と、生体認証部127と、が備わる。秘密鍵生成機能部122は、秘密鍵生成ロジック123(秘密鍵生成部)と、マスタコード管理部124と、サブコード管理部125と、を有する。   The secure area 12 includes a secret key utilization unit 121, a secret key generation function unit 122, a secret key storage unit 126, and a biometric authentication unit 127. The secret key generation function unit 122 includes a secret key generation logic 123 (secret key generation unit), a master code management unit 124, and a subcode management unit 125.

秘密鍵利用部121は、通常領域11のFIDOクライアント112からの指示を受け、秘密鍵の利用(署名、暗号化、復号化等)を行う。   The private key using unit 121 receives instructions from the FIDO client 112 in the normal area 11 and uses the private key (signature, encryption, decryption, etc.).

秘密鍵生成機能部122は、通常領域11のFIDOクライアント112からの指示を受け、特定の入力文字列をもとに秘密鍵を生成する。すなわち、秘密鍵生成機能部122は、従来、ランダム生成していた秘密鍵を、特定の入力文字列から派生させて秘密鍵を生成する。同じ入力文字列からは、同じ秘密鍵が生成できるようにすることで、入力文字列を共有している端末10は、同じ秘密鍵が生成可能である。 Secret key generation function unit 122 receives an instruction from the FIDO client 112 of the normal region 11, to generate the secret key to preparative also a specific input character string. In other words, the secret key generation function unit 122 generates a secret key by deriving a secret key that has been randomly generated from a specific input character string. By making it possible to generate the same secret key from the same input character string, the terminals 10 sharing the input character string can generate the same secret key.

入力文字列は、ユーザ(所有者)が記憶する「マスタコード」と、第三者サーバ20が生成・保管する「サブコード」の組み合わせを用いる。サブコードは、ランダム文字列であり、入力文字列のエントロピーを高めることでブルートフォース攻撃や辞書攻撃等のクラッキング攻撃への耐性を持たせる。サブコードの取得には、第三者サーバ20による端末所有者の本人確認が必要であり、同一人物が保有する端末上にしか払い出されないことを担保する。
なお、上記秘密鍵生成機能部122は、FIDOを含む標準技術に求められる鍵生成部の拡張機能として実装される。
The input character string uses a combination of a “master code” stored by the user (owner) and a “subcode” generated and stored by the third party server 20. The subcode is a random character string, and increases resistance to cracking attacks such as brute force attacks and dictionary attacks by increasing the entropy of the input character string. Acquisition of the subcode requires confirmation of the identity of the terminal owner by the third party server 20, and ensures that the payment is only made on the terminal owned by the same person.
The secret key generation function unit 122 is implemented as an extended function of a key generation unit required for standard technologies including FIDO.

秘密鍵生成ロジック123は、マスタコードとサブコードとの組み合わせを用いて、同一所有者の端末10上では同じとなる入力文字列を生成し、当該入力文字列から派生させて秘密鍵を生成する。
秘密鍵生成ロジック123は、入力文字列から非対称鍵を生成する(後記図6参照)。具体的には、秘密鍵生成ロジック123は、非対称鍵暗号に基づいたFIDOを含む標準技術において、マスタコード、サブコード、AppID(サイトID)、UserID,(ユーザID)を入力として用い、サイトおよびユーザごとに固有な秘密鍵を派生生成させる。
The secret key generation logic 123 generates an input character string that is the same on the terminal 10 of the same owner using a combination of the master code and the subcode, and generates a secret key by deriving from the input character string. .
The secret key generation logic 123 generates an asymmetric key from the input character string (see FIG. 6 described later). Specifically, the secret key generation logic 123 uses a master code, a subcode, AppID (site ID), UserID, (user ID) as inputs in a standard technology including FIDO based on asymmetric key cryptography. A secret key unique to each user is derived and generated.

マスタコード管理部124は、ユーザ(所有者)が記憶するマスタコードを取得する。マスタコード管理部124は、ユーザからのマスタコード(例えば、文字列)の入力を受付ける。このマスタコードは、ユーザ自身が記憶しているものであるが、ユーザしか参照できない状態であれば、記憶以外の方法で管理することに特に制限はない。例えば、これまでのパスワード管理と同じように、管理ツールを使う、印刷して施錠・保管する等である。   The master code management unit 124 acquires a master code stored by the user (owner). The master code management unit 124 receives an input of a master code (for example, a character string) from the user. This master code is stored by the user himself. However, as long as only the user can refer to this master code, there is no particular limitation on management by a method other than storage. For example, as with conventional password management, use a management tool, print, lock, and store.

サブコード管理部125は、第三者サーバ20が生成・保管するランダム文字列からなるサブコードを、第三者サーバ20から払出しさせて取得する。サブコード管理部125は、第三者サーバ20のサブコード管理機能部212(後記)から払出したサブコード(ランダム文字列)(後記図2参照)を管理する。   The subcode management unit 125 obtains a subcode including a random character string generated and stored by the third party server 20 by paying out from the third party server 20. The subcode management unit 125 manages a subcode (random character string) (see FIG. 2 described later) issued from the subcode management function unit 212 (described later) of the third party server 20.

秘密鍵保管部126は、公開鍵Aとペアになる秘密鍵Aと、公開鍵Bとペアになる秘密鍵Bとを保管する。秘密鍵保管部126は、セキュア領域12内のみからアクセス可能なストレージ(記憶手段)である。   The secret key storage unit 126 stores a secret key A paired with the public key A and a secret key B paired with the public key B. The secret key storage unit 126 is a storage (storage means) that can be accessed only from within the secure area 12.

生体認証部127は、通常領域11のFIDOクライアント112からの指示を受け、生体情報(指紋、虹彩)やPIN(Personal Identification Number)を用いた情報等のユーザ認証を実行する。生体認証部127は、例えばスキャナ(図示省略)により読み取られた生体情報の生体認証を行う。   The biometric authentication unit 127 receives an instruction from the FIDO client 112 in the normal area 11 and executes user authentication such as information using biometric information (fingerprint, iris) or PIN (Personal Identification Number). The biometric authentication unit 127 performs biometric authentication of biometric information read by a scanner (not shown), for example.

<第三者サーバ>
第三者サーバ20は、端末10側で上記入力文字列を生成するためのサブコードを、端末10または所有者からは分散して保管する。第三者サーバ20は、他の端末10のサブコード管理部125からのサブコードの発行要求に応答して、サブコードを払出しする。
第三者サーバ20は、本人確認部211と、サブコード管理機能部212と、を備える。
本人確認部211は、公的ID(免許証等)の対面提示や、既発行の電子証明書の提示等により本人確認情報の正当性を確認する。
サブコード管理機能部212は、一台目の端末10Aの場合、サブコードとしてランダム文字列を生成し、生成したサブコードをユーザ名と紐づけてサブコード管理テーブル220(図2参照)に保管する。サブコード管理機能部212は、二台目の端末10Bの場合、サブコード管理テーブル220を参照し、ユーザ名と紐づけられたサブコードを取得する。
<Third party server>
The third party server 20 stores the subcode for generating the input character string on the terminal 10 side in a distributed manner from the terminal 10 or the owner. The third party server 20 pays out the subcode in response to the subcode issue request from the subcode management unit 125 of the other terminal 10.
The third party server 20 includes an identity verification unit 211 and a subcode management function unit 212.
The identity verification unit 211 confirms the validity of the identity verification information by face-to-face presentation of a public ID (license or the like), presentation of an already issued electronic certificate, or the like.
In the case of the first terminal 10A, the subcode management function unit 212 generates a random character string as a subcode, associates the generated subcode with the user name, and stores it in the subcode management table 220 (see FIG. 2). To do. In the case of the second terminal 10B, the subcode management function unit 212 refers to the subcode management table 220 and acquires the subcode associated with the user name.

図2は、第三者サーバ20のサブコード管理機能部212が備える、サブコード管理テーブル220の一例を示す図である。
図2に示すようには、サブコード管理テーブル220は、ユーザ名(user_x,User_y,…)と、このユーザ名と紐づけたサブコード(9d3ed234ssg,9filsk03os80,…)の列からなる。ユーザ名は、端末10において登録・認証を行うユーザの名称であり、ユーザは一般的には端末所有者本人である。
サブコードは、このユーザ名と紐づけたランダム文字列(9d3ed234ssg,9filsk03os80,…)であり、第三者サーバ20が生成・保管する。サブコードは、ランダム生成として入力文字列を推測困難にする。入力文字列のエントロピーを高めることでブルートフォース攻撃や辞書攻撃等のクラッキング攻撃への耐性を持たせる。サブコードの取得には、第三者サーバ20による端末所有者の本人確認が必要であり、同一人物が保有する端末上にしか払い出されないことを担保する。
ここで、入力文字列は、マスタコードとサブコードとに分割して分散保管(マスタコードは、ユーザの記憶、サブコードは第三者サーバ20に保管)される。入力文字列をマスタコードとサブコードとに分散保管することで、単一の攻撃により、入力文字列全体が盗難されることを困難にすることができ、攻撃への耐性を高めることができる。
FIG. 2 is a diagram illustrating an example of the subcode management table 220 provided in the subcode management function unit 212 of the third party server 20.
As shown in FIG. 2, the subcode management table 220 includes columns of user names (user_x, User_y,...) And subcodes (9d3ed234ssg, 9filsk03os80,...) Linked to the user names. The user name is a name of a user who performs registration / authentication in the terminal 10, and the user is generally the terminal owner.
The subcode is a random character string (9d3ed234ssg, 9filsk03os80,...) Associated with the user name, and is generated and stored by the third party server 20. The subcode makes it difficult to guess the input character string as a random generation. Increases the entropy of the input string to make it resistant to cracking attacks such as brute force attacks and dictionary attacks. Acquisition of the subcode requires confirmation of the identity of the terminal owner by the third party server 20, and ensures that the payment is only made on the terminal owned by the same person.
Here, the input character string is divided and stored in a master code and a subcode (the master code is stored by the user and the subcode is stored in the third party server 20). By storing the input character string in the master code and the subcode in a distributed manner, it is possible to make it difficult for the entire input character string to be stolen by a single attack, and it is possible to increase resistance to the attack.

<Webサービス>
Webサービス(装置)30は、図1に示すように、Webサーバ311と、FIDOサーバ312と、を備える。
Webサービス(装置)30は、認証ポリシ(図示省略)を備える。この認証ポリシには、認証用秘密鍵の共有の可否、認証方式や認証精度、秘密鍵の保管場所等のWebサービスにアクセスする端末に求められる情報が含まれる。
<Web service>
As shown in FIG. 1, the Web service (apparatus) 30 includes a Web server 311 and an FIDO server 312.
The web service (apparatus) 30 includes an authentication policy (not shown). This authentication policy includes information required for the terminal accessing the Web service, such as whether or not the authentication secret key can be shared, the authentication method and the authentication accuracy, and the storage location of the secret key.

Webサーバ311は、端末10間で秘密鍵を共有する際に、端末10のWebクライアント111からWebサービス利用のための鍵の登録要求または認証要求を受け付ける。例えば、鍵を生成・登録・利用する端末10Aが、Webサーバ311に鍵の登録要求を発行する場合、Webサーバ311は、認証ポリシを参照し、Webサービス利用可であるならば、FIDOサーバ312に認証要求を出力する。FIDOサーバ312は、端末10AのFIDOクライアント112にWebサービス固有のID(AppID)および、登録中のユーザを一意に識別するID(UserID)と、ランダムなチャレンジ文字列を送信する。
また、鍵を再生成・利用する端末10Bが、Webサーバ311に鍵の再生処理要求を発行する場合、Webサーバ311は、認証ポリシを参照し、Webサービス利用可であるならば、FIDOサーバ312に認証要求を出力する。FIDOサーバ312は、端末10BのFIDOクライアント112にAppID、UserIDと、ランダムなチャレンジ文字列を送信する。
When sharing the secret key between the terminals 10, the Web server 311 accepts a key registration request or authentication request for using the Web service from the Web client 111 of the terminal 10. For example, when the terminal 10 A that generates, registers, and uses a key issues a key registration request to the Web server 311, the Web server 311 refers to the authentication policy, and if the Web service is available, the FIDO server 312. Authentication request is output to. The FIDO server 312 transmits an ID (AppID) unique to the Web service, an ID (UserID) uniquely identifying the registered user, and a random challenge character string to the FIDO client 112 of the terminal 10A.
When the terminal 10B that regenerates and uses the key issues a key reproduction processing request to the Web server 311, the Web server 311 refers to the authentication policy, and if the Web service can be used, the FIDO server 312. Authentication request is output to. The FIDO server 312 transmits AppID, UserID, and a random challenge character string to the FIDO client 112 of the terminal 10B.

以下、上述のように構成された認証鍵共有システムの認証鍵共有方法について説明する。
[原理説明]
まず、本発明の基本的な考え方について述べる。
認証鍵共有システム1は、端末10間で秘密鍵のコピーを行うのではなく、同一所有者の端末10上では同じ秘密鍵を生成可能とすることにより、複数の端末10間での認証用秘密鍵の共有を実現する。
Hereinafter, an authentication key sharing method of the authentication key sharing system configured as described above will be described.
[Principle explanation]
First, the basic concept of the present invention will be described.
The authentication key sharing system 1 does not copy the secret key between the terminals 10 but can generate the same secret key on the terminals 10 of the same owner so that the secret for authentication between the terminals 10 can be generated. Realize key sharing.

図3は、認証鍵共有システム1の認証鍵共有方法の動作概要を示す図である。図3は、本実施形態に係る認証鍵共有システム1を構成する各装置のうち、端末10(10A:鍵を生成・登録・利用する端末;一台目の端末)と端末10(10B:鍵を再生成・利用する端末;二台目の端末)と第三者サーバ20とを抽出して示した図である。
図3の符号aに示すように、秘密鍵生成機能部122は、通常領域11のFIDOクライアント112から鍵生成要求(登録時)を受け付ける。秘密鍵生成機能部122は、秘密鍵の生成機能が一部拡張されており、従来、ランダム生成していた秘密鍵の生成に代えて、特定の入力文字列をもとに秘密鍵を生成する。すなわち、上記機能追加は、秘密鍵の生成機能の一部のみという特徴(ポイント1)を有する。また、端末間の直接のやり取りがなく秘密鍵の共有が可能であるという特徴(ポイント2)を有する。同じ秘密鍵が生成できるようにすることで、入力文字列を共有している端末10は、同じ秘密鍵を生成可能である。
FIG. 3 is a diagram showing an outline of the operation of the authentication key sharing method of the authentication key sharing system 1. FIG. 3 shows a terminal 10 (10A: a terminal that generates, registers, and uses a key; the first terminal) and a terminal 10 (10B: a key) among the devices that constitute the authentication key sharing system 1 according to the present embodiment. FIG. 3 is a diagram showing an extracted terminal and a third party server 20 that are regenerated and used.
As shown by reference symbol a in FIG. 3, the secret key generation function unit 122 receives a key generation request (during registration) from the FIDO client 112 in the normal area 11. The secret key generation function unit 122 has a partly expanded secret key generation function, and generates a secret key based on a specific input character string instead of generating a secret key that was conventionally randomly generated. . That is, the function addition has a feature (point 1) that is only a part of the secret key generation function. In addition, there is a feature (point 2) that a secret key can be shared without direct exchange between terminals. By allowing the same secret key to be generated, the terminals 10 sharing the input character string can generate the same secret key.

入力文字列は、ユーザが記憶する「マスタコード」と、第三者サーバ20が生成・保管する「サブコード」の組み合わせを用いる。すなわち、入力文字列をマスタコード・サブコードに分割して分散保管することで、攻撃への耐性が高いという特徴(ポイント3)を有する。
マスタコードとサブコードは、事前処理により設定される(後記図4参照)。すなわち、図3の符号bに示すように、マスタコード(入力文字列)は、ユーザX自身が記憶しているものである。ユーザXは、端末10にこのマスタコードを入力・設定する(図3の符号c参照)。
The input character string uses a combination of a “master code” stored by the user and a “subcode” generated and stored by the third party server 20. In other words, the input character string is divided into master codes and subcodes and distributedly stored, thereby having a feature (point 3) of high resistance to attacks.
The master code and the sub code are set by pre-processing (see FIG. 4 described later). That is, as shown by the symbol b in FIG. 3, the master code (input character string) is stored by the user X itself. The user X inputs / sets this master code in the terminal 10 (see symbol c in FIG. 3).

一方、図3の符号d示すように、第三者サーバ20は、サブコードを事前に生成・保管している。サブコードは、ランダム文字列であり、入力文字列のエントロピーを高めることでブルートフォース攻撃や辞書攻撃等のクラッキング攻撃への耐性を持たせる。サブコードの取得には、第三者サーバ20による端末所有者の本人確認が必要であり、同一人物が保有する端末上にしか払い出されないことを担保する。仮に第三者サーバ20が攻撃を受け、サブコードが流出したとしても、マスタコードと両方が揃わないと鍵を生成できない。また、サブコードは、ランダム生成として入力文字列を推測困難にして耐性を高めるという特徴(ポイント4)を有する。   On the other hand, as indicated by the symbol d in FIG. 3, the third party server 20 generates and stores the subcode in advance. The subcode is a random character string, and increases resistance to cracking attacks such as brute force attacks and dictionary attacks by increasing the entropy of the input character string. Acquisition of the subcode requires confirmation of the identity of the terminal owner by the third party server 20, and ensures that the payment is only made on the terminal owned by the same person. Even if the third party server 20 is attacked and the subcode leaks, the key cannot be generated unless both the master code and the master code are available. In addition, the subcode has a feature (point 4) that makes it difficult to guess an input character string as random generation and increases resistance.

第三者サーバ20は、ユーザXからサブコードの発行要求があった場合、図3の符号eに示すように、所有者の本人確認後、秘密鍵生成機能部122に対して払い出しを行う(後記図4参照)。すなわち、サブコードの払い出しに第三者サーバ20の本人確認を必須とし、意図しない不正な秘密鍵の共有を防止するという特徴(ポイント5)を有する。
図3の符号fに示すように、秘密鍵生成機能部122は、特定の入力文字列(マスタコードとサブコードとを組み合わせた入力文字列)をもとに生成する(後記図5および図6参照)。生成した秘密鍵は秘密鍵保管部126に保管する。
When there is a subcode issue request from the user X, the third party server 20 pays out to the secret key generation function unit 122 after confirming the owner's identity, as indicated by a symbol e in FIG. (See FIG. 4 below). In other words, it has the feature (point 5) that the identity verification of the third-party server 20 is essential for the subcode delivery, and that unintentional illegal secret key sharing is prevented.
As shown by the symbol f in FIG. 3, the secret key generation function unit 122 generates based on a specific input character string (an input character string in which a master code and a subcode are combined) (FIGS. 5 and 6 described later). reference). The generated secret key is stored in the secret key storage unit 126.

[認証鍵共有システムの処理の流れ]
次に、本実施形態に係る認証鍵共有システム1の、(1)事前処理(マスタおよびサブコード設定)、(2)鍵の登録処理(端末10A)、(3)入力文字列からの非対称鍵生成プロセス、(4)鍵の再生成処理(端末10B)、について説明する。
[Processing flow of authentication key sharing system]
Next, in the authentication key sharing system 1 according to the present embodiment, (1) pre-processing (master and subcode setting), (2) key registration processing (terminal 10A), (3) asymmetric key from input character string A generation process and (4) a key regeneration process (terminal 10B) will be described.

<事前処理(マスタおよびサブコード設定)>
本実施形態に係る認証鍵共有システム1では、認証に関わる鍵生成・登録・利用の前段として、端末10にマスタコードおよびサブコードを設定する必要がある。その事前処理を以下に示す。
<Pre-processing (master and subcode setting)>
In the authentication key sharing system 1 according to the present embodiment, it is necessary to set a master code and a subcode in the terminal 10 as a pre-stage of key generation / registration / use related to authentication. The pre-processing is shown below.

図4は、本実施形態に係る認証鍵共有システム1が実行する、事前処理(マスタ/サブコード設定)の流れを示すシーケンス図である。
ユーザは、端末10の秘密鍵生成機能部122のマスタコード管理部124に対し、マスタコードを入力する(ステップS1)。一台目の端末10Aでは任意の文字列を設定し、二台目以降は一台目と同じ文字列を設定する。マスタコード管理部124は、ユーザ入力されたマスタコードを保管する(ステップS2)。
FIG. 4 is a sequence diagram showing a flow of pre-processing (master / subcode setting) executed by the authentication key sharing system 1 according to the present embodiment.
The user inputs a master code to the master code management unit 124 of the secret key generation function unit 122 of the terminal 10 (step S1). An arbitrary character string is set on the first terminal 10A, and the same character string as that on the first terminal is set on the second and subsequent terminals. The master code management unit 124 stores the master code input by the user (step S2).

ユーザは、端末10の秘密鍵生成機能部122のサブコード管理部125に対し、サブコードの発行操作を行う(ステップS3)。サブコード管理部125は、第三者サーバ20のサブコード管理機能部212に対し、サブコードの発行要求を行う(ステップS4)。サブコード管理機能部212は、本人確認部211にこのサブコードの発行要求の適否を確認するための確認要求を出力する(ステップS5)。本人確認部211は、この確認要求を受けてユーザに対して本人確認情報の要求を送信する(ステップS6)。   The user performs a subcode issuing operation on the subcode management unit 125 of the secret key generation function unit 122 of the terminal 10 (step S3). The subcode management unit 125 makes a subcode issue request to the subcode management function unit 212 of the third party server 20 (step S4). The subcode management function unit 212 outputs a confirmation request for confirming whether or not the subcode issuance request is appropriate to the identity confirmation unit 211 (step S5). In response to this confirmation request, the principal confirmation unit 211 transmits a request for principal confirmation information to the user (step S6).

ユーザは、第三者サーバ20からの本人確認情報の要求を受けて、第三者サーバ20に対し、本人確認情報の提示を行う(ステップS7)。本人確認情報の提示は、公的ID(免許証等)の対面提示や、既発行の電子証明書の提示等である。
第三者サーバ20の本人確認部211は、ユーザからの本人確認情報の提示を受けて、本人確認情報の正当性を確認する(ステップS8)。本人確認部211は、本人確認情報の正当性を確認した場合、サブコード管理機能部212に確認OKを出力する(ステップS9)。
In response to the request for the personal identification information from the third party server 20, the user presents the personal identification information to the third party server 20 (step S7). The presentation of the identity verification information is a face-to-face presentation of a public ID (license etc.) or a presentation of an already issued electronic certificate.
The identity verification unit 211 of the third party server 20 receives the identity verification information from the user and confirms the validity of the identity verification information (step S8). When confirming the validity of the identity verification information, the identity verification unit 211 outputs a confirmation OK to the subcode management function unit 212 (step S9).

サブコード管理機能部212は、端末10(10A:鍵を生成・登録・利用する端末;一台目の端末)の場合、サブコードとしてランダム文字列を生成する(ステップS10)。そして、サブコード管理機能部212は、生成したサブコードをユーザ名と紐づけてサブコード管理テーブル220(図2参照)に保管する(ステップS11)。   In the case of the terminal 10 (10A: a terminal that generates / registers / uses a key; the first terminal), the subcode management function unit 212 generates a random character string as a subcode (step S10). Then, the subcode management function unit 212 associates the generated subcode with the user name and stores it in the subcode management table 220 (see FIG. 2) (step S11).

一方、サブコード管理機能部212は、端末10(10B:鍵を再生成・利用する端末;二台目の端末)の場合、サブコード管理テーブル220(図2参照)を参照し、ユーザ名と紐づけられたサブコードを取得する(ステップS12)。
サブコード管理機能部212は、端末10の秘密鍵生成機能部122のサブコード管理部125にサブコードの払出しを行う(ステップS13)。サブコード管理部125は、このサブコードを保管する(ステップS14)。
On the other hand, the subcode management function unit 212 refers to the subcode management table 220 (see FIG. 2) in the case of the terminal 10 (10B: a terminal that regenerates and uses a key; the second terminal), The linked subcode is acquired (step S12).
The subcode management function unit 212 issues a subcode to the subcode management unit 125 of the secret key generation function unit 122 of the terminal 10 (step S13). The subcode management unit 125 stores this subcode (step S14).

<鍵の登録処理(端末10A)>
FIDOでは、Webサービス毎に登録処理(Registration)を行う必要がある。本実施形態における秘密鍵の登録処理を以下に述べる。
なお、本発明では端末台数に依らず、サービス毎に一度だけ本登録処理を実行する必要がある。鍵の登録処理を行った端末10を、端末10Aとしてその動作を示す。
<Key registration process (terminal 10A)>
In FIDO, it is necessary to perform registration processing (Registration) for each Web service. The secret key registration process in this embodiment will be described below.
In the present invention, the main registration process needs to be executed only once for each service regardless of the number of terminals. The operation of the terminal 10 that has performed the key registration process is shown as a terminal 10A.

図5は、本実施形態に係る認証鍵共有システム1が実行する、鍵の登録処理(端末10A)を示すシーケンス図である。
端末10AのWebクライアント111は、Webサービス30のWebサーバ311にログインし、鍵登録要求を送信する(ステップS21)。
Webサーバ311は、FIDOサーバ312に登録要求を出力する(ステップS22)。FIDOサーバ312は、端末10のFIDOクライアント112に鍵要求を送信する(ステップS23)。この鍵要求では、Webサービス固有のID(AppID)および、登録中のユーザを一意に識別するID(UserID)と、ランダムなチャレンジ文字列を付与する。
なお、図5の破線枠囲みは、FIDO認証の標準動作を示している。
FIG. 5 is a sequence diagram showing a key registration process (terminal 10A) executed by the authentication key sharing system 1 according to the present embodiment.
The web client 111 of the terminal 10A logs in to the web server 311 of the web service 30 and transmits a key registration request (step S21).
The Web server 311 outputs a registration request to the FIDO server 312 (step S22). The FIDO server 312 transmits a key request to the FIDO client 112 of the terminal 10 (step S23). In this key request, an ID (AppID) unique to the Web service, an ID (UserID) that uniquely identifies the registered user, and a random challenge character string are assigned.
Note that the dashed-lined box in FIG. 5 indicates the standard operation of FIDO authentication.

端末10のFIDOクライアント112は、Webサービス30のFIDOサーバ312からの鍵要求を受けて、秘密鍵生成機能部122の秘密鍵生成ロジック123に鍵生成要求を出力する(ステップS24)。
秘密鍵生成機能部122の秘密鍵生成ロジック123は、端末10の生体認証部127にユーザ認証要求を出力する(ステップS25)。生体認証部127は、秘密鍵生成機能部122の秘密鍵生成ロジック123からのユーザ認証要求を受け、ユーザの生体認証実行する(ステップS26)。ユーザの生体認証は、例えば指紋認証、虹彩認証、PINである。生体認証部127は、ユーザの生体認証後、この認証結果を秘密鍵生成ロジック123に送信する(ステップS27)。
The FIDO client 112 of the terminal 10 receives the key request from the FIDO server 312 of the Web service 30 and outputs a key generation request to the secret key generation logic 123 of the secret key generation function unit 122 (step S24).
The secret key generation logic 123 of the secret key generation function unit 122 outputs a user authentication request to the biometric authentication unit 127 of the terminal 10 (step S25). The biometric authentication unit 127 receives a user authentication request from the secret key generation logic 123 of the secret key generation function unit 122, and performs biometric authentication of the user (step S26). The biometric authentication of the user is, for example, fingerprint authentication, iris authentication, or PIN. After the user's biometric authentication, the biometric authentication unit 127 transmits the authentication result to the secret key generation logic 123 (step S27).

秘密鍵生成機能部122のマスタコード管理部124は、マスタコードを取得してマスタコードを秘密鍵生成ロジック123に出力する(ステップS28)。
秘密鍵生成機能部122のサブコード管理部125は、サブコードを取得してサブコードを秘密鍵生成ロジック123に出力する(ステップS29)。
The master code management unit 124 of the secret key generation function unit 122 acquires the master code and outputs the master code to the secret key generation logic 123 (step S28).
The subcode management unit 125 of the secret key generation function unit 122 acquires the subcode and outputs the subcode to the secret key generation logic 123 (step S29).

このように、端末10AのWebクライアント111が、Webサービス30のWebサーバ311に鍵登録要求を送信すると(ステップS21)、Webサービス30を経由して、生体認証部127が、ユーザの生体認証結果を秘密鍵生成ロジック123に送信する(ステップS27)。そして、マスタコード管理部124は、マスタコードを取得して秘密鍵生成ロジック123に出力し(ステップS28)、サブコード管理部125は、サブコードを取得して秘密鍵生成ロジック123に出力する(ステップS29)。したがって、認証鍵共有システム1は、端末10AのWebクライアント111による、鍵登録要求を契機として、秘密鍵生成ロジック123に、ユーザの生体認証結果、マスタコードおよびサブコードが集められる。   As described above, when the Web client 111 of the terminal 10A transmits a key registration request to the Web server 311 of the Web service 30 (step S21), the biometric authentication unit 127 transmits the biometric authentication result of the user via the Web service 30. Is transmitted to the secret key generation logic 123 (step S27). Then, the master code management unit 124 acquires the master code and outputs it to the secret key generation logic 123 (step S28), and the subcode management unit 125 acquires the subcode and outputs it to the secret key generation logic 123 ( Step S29). Therefore, the authentication key sharing system 1 collects the user's biometric authentication result, master code, and subcode in the secret key generation logic 123 in response to a key registration request by the Web client 111 of the terminal 10A.

秘密鍵生成機能部122の秘密鍵生成ロジック123は、取得したAppID,UserID,マスタコード,サブコードから非対称鍵ペアを生成する(ステップS30)。非対称鍵ペアの生成については、図6により後記する。
秘密鍵生成ロジック123は、秘密鍵保管部126に生成した秘密鍵を保管する(ステップS31)。
秘密鍵生成ロジック123は、FIDOクライアント112に鍵生成応答を送信する(ステップS32)。具体的には、秘密鍵生成ロジック123は、FIDOクライアント112に、生成した公開鍵および、チャレンジ文字列に秘密鍵で署名したもの(レスポンス)を送付する。以下、FIDOクライアント112、Webクライアント111、Webサービス30のWebサーバ311およびFIDOサーバ312は、標準動作により鍵の登録を完了する。
The secret key generation logic 123 of the secret key generation function unit 122 generates an asymmetric key pair from the acquired AppID, UserID, master code, and subcode (step S30). The generation of the asymmetric key pair will be described later with reference to FIG.
The secret key generation logic 123 stores the generated secret key in the secret key storage unit 126 (step S31).
The secret key generation logic 123 transmits a key generation response to the FIDO client 112 (step S32). Specifically, the secret key generation logic 123 sends the generated public key and the challenge character string signed with the secret key (response) to the FIDO client 112. Hereinafter, the FIDO client 112, the Web client 111, the Web server 311 and the FIDO server 312 of the Web service 30 complete the key registration by the standard operation.

すなわち、FIDOクライアント112は、Webサービス30のFIDOサーバ312に鍵応答を送信する(ステップS33)。
FIDOサーバ312は、受信した鍵のレスポンスの検証を行う(ステップS34)。そして、FIDOサーバ312は、UserIDに紐付けて公開鍵を保管する(ステップS35)。その後、FIDOサーバ312は、Webサーバ311に登録応答を出力する(ステップS36)。Webサーバ311は、端末10AのWebクライアント111に登録完了を通知する(ステップS37)。
That is, the FIDO client 112 transmits a key response to the FIDO server 312 of the Web service 30 (step S33).
The FIDO server 312 verifies the response of the received key (step S34). Then, the FIDO server 312 stores the public key in association with the UserID (step S35). Thereafter, the FIDO server 312 outputs a registration response to the Web server 311 (step S36). The web server 311 notifies the registration completion to the web client 111 of the terminal 10A (step S37).

<入力文字列からの非対称鍵生成プロセス>
図6は、端末10の秘密鍵生成機能部122により実行される、入力文字列からの非対称鍵生成プロセスを説明する図である。
<Asymmetric key generation process from input string>
FIG. 6 is a diagram for explaining an asymmetric key generation process from an input character string, which is executed by the secret key generation function unit 122 of the terminal 10.

(入力プロセス)
端末10のマスタコード管理部124は、ユーザからのマスタコードの入力を受付け、取得したマスタコードを秘密鍵生成ロジック123に入力する。
端末10のサブコード管理部125は、取得したサブコードを秘密鍵生成ロジック123に入力する。サブコードは、第三者サーバ20が生成・保管している。
Webサービス30のFIDOサーバ312は、Webサービス30固有のID(AppID)および、登録中のユーザを一意に識別するID(UserID)を秘密鍵生成ロジック123に入力する。上述したように、このAppIDおよびUserIDは、サービスおよびユーザに固有の秘密鍵を生成するために、秘密鍵生成の入力文字列として付加する。
(Input process)
The master code management unit 124 of the terminal 10 receives the input of the master code from the user and inputs the acquired master code to the secret key generation logic 123.
The subcode management unit 125 of the terminal 10 inputs the acquired subcode to the secret key generation logic 123. The subcode is generated and stored by the third party server 20.
The FIDO server 312 of the Web service 30 inputs an ID (AppID) unique to the Web service 30 and an ID (UserID) that uniquely identifies the registered user to the secret key generation logic 123. As described above, AppID and UserID are added as an input character string for generating a secret key in order to generate a secret key unique to the service and the user.

(処理プロセス)
秘密鍵生成ロジック123には、1.マスタコード、2.サブコード、3.AppID、4.UserIDが入力される。
秘密鍵生成ロジック123は、入力文字列(1.マスタコード、2.サブコード、3.AppID、4.UserID)を入力として、一意に定まる非対称鍵ペアを出力する。例えば、以下の処理プロセスを実行することにより、入力が同じであれば、同じ非対称鍵ペアを生成することが可能となる。
(Processing process)
The secret key generation logic 123 receives 1. master code, 2. subcode, 3. AppID, and 4. UserID.
The secret key generation logic 123 receives an input character string (1. master code, 2. subcode, 3. AppID, 4. UserID) and outputs an asymmetric key pair that is uniquely determined. For example, by executing the following processing process, the same asymmetric key pair can be generated if the input is the same.

ステップS101において、全ての入力文字列(1.マスタコード、2.サブコード、3.AppID、4.UserID)を文字列結合し、一つの文字列とする(「文字列結合」)。結合順は任意であるが、常に(1.マスタコード、2.サブコード、3.AppID、4.UserID)を同じ順序で結合するようにする。   In step S101, all input character strings (1. master code, 2. subcode, 3. AppID, 4. UserID) are combined into a single character string (“character string combination”). The joining order is arbitrary, but always (1. Master code, 2. Sub code, 3. AppID, 4. UserID) are joined in the same order.

ステップS102において、鍵を生成する(「Key Derivation」)。この入力文字列から、十分に長い特定長(例えば、128bit)の鍵を生成する。鍵生成には、PBKDF2(RFC2898)等の技術を用いる。   In step S102, a key is generated ("Key Derivation"). A key having a sufficiently long specific length (for example, 128 bits) is generated from this input character string. A technique such as PBKDF2 (RFC2898) is used for key generation.

ステップS103において、生成した鍵をSeedとして疑似乱数生成器(図示省略)に入力し、ランダム数列を生成する(「疑似乱数生成」)。   In step S103, the generated key is input as a seed into a pseudo-random number generator (not shown) to generate a random number sequence ("pseudo-random number generation").

ステップS104において、生成した数列を非対称鍵の生成アルゴリズム(例えば、DSA、RSA等)に与え、非対称鍵を生成する(「非対称鍵の生成」)。
本処理プロセスにより生成した非対称鍵は、従来例のようなランダム生成していた秘密鍵ではなく、特定の入力文字列もとに生成した秘密鍵とそのペアとなる公開鍵である。同じ入力文字列からは、同じ秘密鍵が生成できるようにすることで、入力文字列を共有している端末は、同じ秘密鍵を生成可能である。
In step S104, the generated number sequence is given to an asymmetric key generation algorithm (eg, DSA, RSA, etc.) to generate an asymmetric key (“Generate Asymmetric Key”).
The asymmetric key generated by this processing process is not a secret key that is randomly generated as in the conventional example, but a public key that is paired with a secret key that is generated based on a specific input character string. By allowing the same secret key to be generated from the same input character string, terminals sharing the input character string can generate the same secret key.

(出力プロセス)
秘密鍵生成ロジック123は、生成した秘密鍵と公開鍵を出力する。端末10の秘密鍵保管部126は、レスポンスの検証をした後に、生成された秘密鍵を保管する。また、この秘密鍵ペアとなる公開鍵は、UserIDに紐付けてWebサービス30のFIDOサーバ312に保管される。
(Output process)
The secret key generation logic 123 outputs the generated secret key and public key. The private key storage unit 126 of the terminal 10 stores the generated private key after verifying the response. In addition, the public key that is the secret key pair is stored in the FIDO server 312 of the Web service 30 in association with the UserID.

<鍵の再生成処理(端末10B)>
本実施形態では、同じマスタコード・サブコードを事前に設定しておくことで、鍵を生成・登録した端末10A以外の端末10Bであっても、同じ秘密鍵を再生成することができる。同じ秘密鍵を再生成することにより、再登録なしでFIDO認証を利用することができる。
端末10Aで鍵の生成・登録を行った場合を想定し、同じマスタコード・サブコードを設定した端末10Bで、認証を実行する際の処理手順を示す。
<Key regeneration process (terminal 10B)>
In the present embodiment, by setting the same master code and subcode in advance, even the terminal 10B other than the terminal 10A that has generated and registered the key can regenerate the same secret key. By regenerating the same secret key, FIDO authentication can be used without re-registration.
Assuming the case where key generation / registration is performed in the terminal 10A, a processing procedure for executing authentication in the terminal 10B in which the same master code and subcode are set is shown.

図7は、本実施形態に係る認証鍵共有システム1が実行する、鍵の再生成処理(端末10B)を示すシーケンス図である。
端末10BのWebクライアント111は、Webサービス30のWebサーバ311に認証要求を送信する(ステップS41)。
Webサーバ311は、FIDOサーバ312に認証要求を出力する(ステップS42)。FIDOサーバ312は、端末10のFIDOクライアント112に認証要求を送信する(ステップS43)。この認証要求では、Webサービス固有のID(AppID)および、登録済のユーザを一意に識別するID(UserID)と、ランダムなチャレンジ文字列を付与する。
なお、図7の破線枠囲みは、FIDO認証の標準動作を示している。
FIG. 7 is a sequence diagram showing a key regeneration process (terminal 10B) executed by the authentication key sharing system 1 according to the present embodiment.
The Web client 111 of the terminal 10B transmits an authentication request to the Web server 311 of the Web service 30 (Step S41).
The Web server 311 outputs an authentication request to the FIDO server 312 (step S42). The FIDO server 312 transmits an authentication request to the FIDO client 112 of the terminal 10 (step S43). In this authentication request, an ID (AppID) unique to the Web service, an ID (UserID) uniquely identifying a registered user, and a random challenge character string are given.
In addition, the dashed-line frame box in FIG. 7 indicates the standard operation of FIDO authentication.

端末10BのFIDOクライアント112は、Webサービス30のFIDOサーバ312からの認証要求を受けて、端末10Bの秘密鍵利用部121に認証要求を出力する(ステップS44)。
秘密鍵利用部121は、AppIDに紐付いた鍵の有無を確認する(ステップS45)。秘密鍵利用部121は、秘密鍵生成機能部122の秘密鍵生成ロジック123に鍵生成要求を出力する(ステップS46)。
The FIDO client 112 of the terminal 10B receives the authentication request from the FIDO server 312 of the Web service 30, and outputs an authentication request to the secret key utilization unit 121 of the terminal 10B (Step S44).
The private key using unit 121 checks whether there is a key associated with the AppID (step S45). The secret key utilization unit 121 outputs a key generation request to the secret key generation logic 123 of the secret key generation function unit 122 (step S46).

秘密鍵生成ロジック123は、端末10Bの生体認証部127にユーザ認証要求を出力する(ステップS47)。生体認証部127は、秘密鍵生成機能部122の秘密鍵生成ロジック123からのユーザ認証要求を受け、ユーザの生体認証実行する(ステップS48)。ユーザの生体認証は、例えば指紋認証、虹彩認証、PINである。生体認証部127は、ユーザの生体認証後、この認証結果を秘密鍵生成ロジック123に送信する(ステップS49)。   The secret key generation logic 123 outputs a user authentication request to the biometric authentication unit 127 of the terminal 10B (Step S47). The biometric authentication unit 127 receives a user authentication request from the secret key generation logic 123 of the secret key generation function unit 122, and performs biometric authentication of the user (step S48). The biometric authentication of the user is, for example, fingerprint authentication, iris authentication, or PIN. After the user's biometric authentication, the biometric authentication unit 127 transmits the authentication result to the secret key generation logic 123 (step S49).

秘密鍵生成機能部122のマスタコード管理部124は、マスタコードを取得して、そのマスタコードを秘密鍵生成ロジック123に出力する(ステップS50)。
秘密鍵生成機能部122のサブコード管理部125は、サブコードを取得してサブコードを秘密鍵生成ロジック123に出力する(ステップS51)。
The master code management unit 124 of the secret key generation function unit 122 acquires the master code and outputs the master code to the secret key generation logic 123 (step S50).
The subcode management unit 125 of the secret key generation function unit 122 acquires the subcode and outputs the subcode to the secret key generation logic 123 (step S51).

秘密鍵生成機能部122の秘密鍵生成ロジック123は、取得したAppID,UserID,マスタコード,サブコードから非対称鍵ペアを生成する(ステップS52)。非対称鍵ペアの生成については、前記図6により説明した。
秘密鍵生成ロジック123は、秘密鍵保管部126に生成した秘密鍵を保管する(ステップS53)。
秘密鍵生成ロジック123は、端末10Bの秘密鍵利用部121に秘密鍵を取得する(ステップS54)。
The secret key generation logic 123 of the secret key generation function unit 122 generates an asymmetric key pair from the acquired AppID, UserID, master code, and subcode (step S52). The generation of the asymmetric key pair has been described with reference to FIG.
The secret key generation logic 123 stores the generated secret key in the secret key storage unit 126 (Step S53).
The secret key generation logic 123 acquires the secret key from the secret key utilization unit 121 of the terminal 10B (step S54).

秘密鍵利用部121は、秘密鍵でチャレンジ文字列に署名する(ステップS55)。そして、秘密鍵利用部121は、FIDOクライアント112に認証応答を出力する(ステップS56)。
FIDOクライアント112は、Webサービス30のFIDOサーバ312に認証応答(レスポンス)を送信する(ステップS57)。
FIDOサーバ312は、受信した公開鍵のレスポンスの検証を行う(ステップS58)。具体的には、FIDOサーバ312は、登録時に送付され、登録済の公開鍵で検証する。そして、FIDOサーバ312は、UserIDに紐付けて公開鍵を保管する。その後、FIDOサーバ312は、Webサーバ311に認証応答を出力する(ステップS59)。Webサーバ311は、端末10BのWebクライアント111に登録完了を通知する(ステップS60)。
The secret key utilization unit 121 signs the challenge character string with the secret key (step S55). Then, the secret key utilization unit 121 outputs an authentication response to the FIDO client 112 (step S56).
The FIDO client 112 transmits an authentication response (response) to the FIDO server 312 of the Web service 30 (step S57).
The FIDO server 312 verifies the response of the received public key (step S58). Specifically, the FIDO server 312 is sent at the time of registration and verifies with the registered public key. The FIDO server 312 stores the public key in association with the UserID. Thereafter, the FIDO server 312 outputs an authentication response to the Web server 311 (step S59). The web server 311 notifies the registration completion to the web client 111 of the terminal 10B (step S60).

以上説明したように、本実施形態に係る認証鍵共有システム1は、端末10が、外部から不正に侵入できないように管理された領域であるセキュア領域12と、セキュア領域12以外の領域である通常領域11とを有し、セキュア領域12内において、所有者からのマスタコードの入力を受付けるマスタコード管理部124と、第三者サーバ20が生成・保管するランダム文字列からなるサブコードを、第三者サーバ20から払出しさせて取得するサブコード管理部125と、マスタコードとサブコードとの組み合わせを用いて、同一所有者の端末10上では同じとなる入力文字列を生成し、当該入力文字列をもとに秘密鍵を生成する秘密鍵生成ロジック123と、を備える。   As described above, the authentication key sharing system 1 according to this embodiment is a secure area 12 that is managed so that the terminal 10 cannot illegally enter from the outside, and is an area other than the secure area 12. And a master code management unit 124 that receives an input of a master code from the owner, and a subcode consisting of a random character string generated and stored by the third party server 20, Using the subcode management unit 125 that is acquired by paying out from the three-party server 20 and the combination of the master code and the subcode, the same input character string is generated on the terminal 10 of the same owner, and the input character And a secret key generation logic 123 that generates a secret key based on the sequence.

そして、認証鍵共有システム1の認証鍵共有方法では、端末10は、セキュア領域12内において、所有者が記憶するマスタコードを取得するステップと、第三者サーバ20が生成・保管するランダム文字列からなるサブコードを、第三者サーバ20から払出させて取得するステップと、マスタコードとサブコードとの組み合わせを用いて、同一所有者の端末10上では同じとなる入力文字列を生成し、当該入力文字列をもとに秘密鍵を生成するステップと、を実行する。   In the authentication key sharing method of the authentication key sharing system 1, the terminal 10 acquires a master code stored by the owner in the secure area 12 and a random character string generated and stored by the third party server 20. Using the combination of the master code and the subcode, and generating the same input character string on the terminal 10 of the same owner, Generating a secret key based on the input character string.

従来技術では、下記のデメリットがある。
FIDO標準実装は、秘密鍵の端末外への取り出しを想定していない。このため、セキュア領域内のアプリケーションとして開発する場合、開発環境が限られているためコストが高くなる。また、秘密鍵を外部に送信するインタフェースを持つことから、セキュリティを十分に考慮した設計が必要となる。また、悪用されないよう、堅牢かつ高いソフトウェア品質が必要である。
これに対して、本実施形態では、端末間で秘密鍵のコピーを行うのではなく、同一所有者の端末上では同じ秘密鍵を生成可能とする。これにより、端末間の直接のやり取りがなく鍵の共有が可能となり、複数端末間での認証用秘密鍵の共有を実現することができる。また、鍵の生成機能の一部拡張のみで認証用秘密鍵の共有が実現可能になる。
The prior art has the following disadvantages.
The FIDO standard implementation does not assume that the secret key is taken out of the terminal. For this reason, when developing as an application in the secure area, the cost increases because the development environment is limited. In addition, since it has an interface for transmitting the secret key to the outside, a design that fully considers security is required. Also, robust and high software quality is necessary so that it cannot be misused.
In contrast, in this embodiment, the secret key is not copied between terminals, but the same secret key can be generated on terminals of the same owner. As a result, the key can be shared without direct exchange between the terminals, and the authentication secret key can be shared among a plurality of terminals. In addition, the authentication secret key can be shared only by partially extending the key generation function.

以下、本実施形態の具体的効果について述べる。
本実施形態では、同一所有者の端末間で同一の認証用秘密鍵を生成することが可能となる。このため、サービス毎の鍵の登録作業は端末数に依らず一度だけ行えばよくなる。そのための機能は、標準技術(FIDO)に求められる鍵生成機能の一部への機能追加であるため、新規にコピー機能を実装する必要がある従来技術(鍵コピー)より普及性の面で優れる。
Hereinafter, specific effects of this embodiment will be described.
In the present embodiment, it is possible to generate the same authentication secret key between terminals of the same owner. For this reason, the key registration operation for each service needs to be performed only once regardless of the number of terminals. The function for this purpose is a function addition to a part of the key generation function required for the standard technology (FIDO), and thus is superior in terms of spread compared to the conventional technology (key copy) that needs to newly implement a copy function. .

従来技術(鍵のコピー)では、各サービスについて、どの端末で鍵の生成・登録を行ったか(すなわちどの端末に秘密鍵が存在するか)をユーザが把握し、他の端末で同サービスを利用する場合、鍵を生成した端末から、新端末に明示的に鍵をコピーする必要があった。   In the prior art (key copy), the user knows which terminal generated and registered the key for each service (that is, which terminal has the private key), and uses the service on other terminals In this case, it was necessary to explicitly copy the key from the terminal that generated the key to the new terminal.

本実施形態では、同じマスタコード・サブコードを事前に設定しておくことで、鍵を生成・登録した端末以外でも、同じ秘密鍵を再生成することにより、再登録なしでFIDO認証を利用することができる。すなわち、同じマスタコードとサブコードが設定されていればどの端末でもサービス毎に同じ秘密鍵が自動生成されることになる。このため、サービス毎にどの端末で鍵の登録を行ったかを意識する必要がなく、ユーザ負担が小さい。   In this embodiment, the same master code and subcode are set in advance, so that the same secret key is regenerated by the terminal other than the terminal that has generated and registered the key, thereby using the FIDO authentication without re-registration. be able to. That is, if the same master code and subcode are set, the same secret key is automatically generated for each service at any terminal. For this reason, there is no need to be aware of which terminal has registered the key for each service, and the burden on the user is small.

本実施形態では、サブコードはランダム文字列である。サブコードはランダム生成としているので、入力文字列を推測困難にすることができ、入力文字列のエントロピーを高めることができる。ブルートフォース攻撃や辞書攻撃等のクラッキング攻撃への耐性を持たせることができる。   In this embodiment, the subcode is a random character string. Since the subcode is randomly generated, the input character string can be made difficult to guess, and the entropy of the input character string can be increased. It can be resistant to cracking attacks such as brute force attacks and dictionary attacks.

本実施形態では、秘密鍵生成ロジック123は、FIDOを含む標準技術に求められる鍵生成部の拡張機能として実装されるので、標準技術(FIDO)に求められる鍵生成機能の一部への機能追加であるため、新規にコピー機能を実装する必要がある従来技術(鍵コピー)より普及性の面で優れる。   In this embodiment, since the secret key generation logic 123 is implemented as an extended function of a key generation unit required for a standard technology including FIDO, a function addition to a part of the key generation function required for the standard technology (FIDO) For this reason, it is superior in terms of spreadability compared to the conventional technique (key copy) that needs to newly implement a copy function.

本実施形態では、複数端末10間で秘密鍵を共有する場合、秘密鍵をやり取りすることなく、各端末10の秘密鍵生成ロジック123が、入力文字列から派生させて秘密鍵を生成するので、端末間で秘密鍵のコピーを行うことなく、複数端末間での認証用秘密鍵の共有を実現することができる。 In this embodiment, when a secret key is shared among a plurality of terminals 10, the secret key generation logic 123 of each terminal 10 generates a secret key by deriving from the input character string without exchanging the secret key. The authentication secret key can be shared among a plurality of terminals without copying the secret key between the terminals.

本実施形態では、端末10は、生成した入力文字列をマスタコードとサブコードとに分割し、当該サブコードを第三者サーバ20に保管させるので、分散保管することで、単一の攻撃により、入力文字列全体が盗難されることを困難にすることができ、攻撃への耐性を高めることができる。   In the present embodiment, the terminal 10 divides the generated input character string into a master code and a subcode, and stores the subcode in the third party server 20. The entire input character string can be made difficult to be stolen, and the resistance to attacks can be increased.

本実施形態では、第三者サーバ20は、所有者の本人確認後、サブコードを払出しする。第三者サーバは、他の端末10のサブコード管理部125からのサブコードの発行要求に応答して、サブコードを払出しする。サブコードの払出しには、第三者サーバ20の本人確認を必須となるので、意図しない不正な鍵の共有を防止することができる。仮に第三者サーバ20が攻撃を受け、サブコードが流出したとしても、マスタコードと両方が揃わないと鍵を生成できない。   In the present embodiment, the third party server 20 pays out the subcode after confirming the owner's identity. The third party server pays out the subcode in response to the subcode issue request from the subcode management unit 125 of the other terminal 10. Since the identification of the third party server 20 is indispensable for the subcode delivery, unintentional illegal key sharing can be prevented. Even if the third party server 20 is attacked and the subcode leaks, the key cannot be generated unless both the master code and the master code are available.

本実施形態では、秘密鍵生成ロジック123は、非対称鍵暗号に基づいたFIDOを含む標準技術において、入力文字列(マスタコード、サブコード、AppID、UserID)を入力として、サイトおよびユーザごとに固有な認証用秘密鍵を派生生成させる。
これにより、入力が同じであれば、同じ非対称鍵ペアを生成することが可能となる。
In this embodiment, the secret key generation logic 123 is input to an input character string (master code, subcode, AppID, UserID) in a standard technology including FIDO based on asymmetric key cryptography. Deriving and generating a secret key for authentication.
This makes it possible to generate the same asymmetric key pair if the inputs are the same.

なお、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、明細書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
Of the processes described in the above embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the specification and drawings can be arbitrarily changed unless otherwise specified.
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Further, each of the above-described configurations, functions, and the like may be realized by software for interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function is stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) card, an optical disk, etc. It can be held on a recording medium.

1 認証鍵共有システム
10 端末
10A 端末(鍵を生成・登録・利用する端末;一台目の端末)
10B 端末(鍵を再生成・利用する端末;二台目の端末)
11 通常領域
12 セキュア領域
20 第三者サーバ
30 Webサービス
111 Webクライアント
112 FIDOクライアント
121 秘密鍵利用部
122 秘密鍵生成機能部
123 秘密鍵生成ロジック(秘密鍵生成部)
124 マスタコード管理部
125 サブコード管理部
126 秘密鍵保管部
127 生体認証部
220 サブコード管理テーブル
211 本人確認部
212 サブコード管理機能部
311 Webサービスサーバ
312 FIDOサーバ
1 authentication key sharing system 10 terminal 10A terminal (terminal for generating / registering / using a key; first terminal)
10B terminal (terminal that regenerates and uses key; second terminal)
DESCRIPTION OF SYMBOLS 11 Normal area | region 12 Secure area | region 20 Third party server 30 Web service 111 Web client 112 FIDO client 121 Secret key utilization part 122 Secret key generation function part 123 Secret key generation logic (secret key generation part)
124 Master Code Management Unit 125 Subcode Management Unit 126 Secret Key Storage Unit 127 Biometric Authentication Unit 220 Subcode Management Table 211 Identity Confirmation Unit 212 Subcode Management Function Unit 311 Web Service Server 312 FIDO Server

Claims (2)

秘密鍵を用いて認証する複数の端末と、前記端末の所有者の本人確認を行う第三者サーバと、を備え、前記端末と前記第三者サーバとが、通信ネットワークを介して接続され、複数の前記端末間で認証用の前記秘密鍵を共有する認証鍵共有システムであって、
前記端末は、
前記通信ネットワークに接続されたWebサーバからWebサービス固有のAppIDおよび、登録済のユーザを一意に識別するUserIDを取得するクライアントを備えるとともに、
外部から不正に侵入できないように管理された領域であるセキュア領域を有し、
前記セキュア領域内において、
前記所有者からのマスタコードの入力を受付けるマスタコード管理部と、
前記第三者サーバが生成・保管するランダム文字列からなるサブコードを、前記第三者サーバから払出しさせて取得するサブコード管理部と、
前記AppIDと前記UserIDと前記マスタコードと前記サブコードとの組み合わせを用いて、同一所有者の端末上では同じとなる入力文字列を生成し、当該入力文字列をもとに前記秘密鍵を生成する秘密鍵生成部と、を備え
前記端末の前記秘密鍵生成部は、
前記入力文字列を生成するための前記サブコードを前記第三者サーバに保管させ、
前記第三者サーバは、
他の前記端末の前記サブコード管理部からの前記サブコードの発行要求に応答して、保管した前記サブコードを払出しする
とを特徴とする認証鍵共有システム。
A plurality of terminals that authenticate using a secret key, and a third party server that performs identity verification of the owner of the terminal, the terminal and the third party server are connected via a communication network, a the authentication key sharing system for sharing a secret key for authentication between a plurality of said terminals,
The terminal
A client that acquires a Web service-specific AppID and a UserID that uniquely identifies a registered user from a Web server connected to the communication network;
It has a secure area that is managed to prevent unauthorized entry from the outside,
Within the secure area,
A master code management unit that accepts input of a master code from the owner;
A subcode management unit that acquires and obtains a subcode consisting of a random character string generated and stored by the third party server from the third party server;
Using a combination of the AppID and the sub-code and the UserID and the master code, is on the same owner of the terminal generates an input string of the same, generating the secret key on the basis of the input character string provided with a secret key generation unit for, the,
The secret key generation unit of the terminal is
Storing the subcode for generating the input character string in the third party server;
The third party server is
In response to a request for issuing the subcode from the subcode management unit of another terminal, the stored subcode is issued.
Authentication key sharing system, wherein a call.
秘密鍵を用いて認証する複数の端末と、前記端末の所有者の本人確認を行う第三者サーバと、を備え、前記端末と前記第三者サーバとが、通信ネットワークを介して接続され、複数の前記端末間で認証用の前記秘密鍵を共有する認証鍵共有システムの認証鍵共有方法であって、
前記端末は、
前記通信ネットワークに接続されたWebサーバからWebサービス固有のAppIDおよび、登録済のユーザを一意に識別するUserIDを取得するとともに、
外部から不正に侵入できないように管理された領域であるセキュア領域を有しており、
前記セキュア領域内において、
前記所有者からのマスタコードの入力を受付けるステップと、
前記第三者サーバが生成・保管するランダム文字列からなるサブコードを、前記第三者サーバから払出させて取得するサブコード管理ステップと、
前記AppIDと前記UserIDと前記マスタコードと前記サブコードとの組み合わせを用いて、同一所有者の端末上では同じとなる入力文字列を生成し、当該入力文字列をもとに前記秘密鍵を生成するステップと、
前記入力文字列を生成するための前記サブコードを前記第三者サーバに保管させるステップと、を実行し、
前記第三者サーバは、
他の前記端末の前記サブコード管理ステップにおける前記サブコードの発行要求に応答して、保管した前記サブコードを払出しするステップを実行する
ことを特徴とする認証鍵共有方法。
A plurality of terminals that authenticate using a secret key, and a third party server that performs identity verification of the owner of the terminal, the terminal and the third party server are connected via a communication network, an authentication key agreement method of the authentication key sharing system for sharing the secret key for authentication between a plurality of said terminals,
The terminal
Acquire a Web service-specific AppID and a UserID that uniquely identifies a registered user from a Web server connected to the communication network;
It has a secure area that is managed to prevent unauthorized entry from outside ,
Within the secure area,
Receiving an input of a master code from the owner;
A subcode management step of acquiring a subcode consisting of a random character string generated / stored by the third party server by paying out the third party server;
Using a combination of the AppID and the sub-code and the UserID and the master code, is on the same owner of the terminal generates an input string of the same, generating the secret key on the basis of the input character string And steps to
Causing the third-party server to store the subcode for generating the input character string ; and
The third party server is
In response to the subcode issuance request in the subcode management step of another terminal, a step of paying out the stored subcode is executed.
An authentication key sharing method characterized by the above .
JP2017030378A 2017-02-21 2017-02-21 Authentication key sharing system and authentication key sharing method Active JP6581611B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017030378A JP6581611B2 (en) 2017-02-21 2017-02-21 Authentication key sharing system and authentication key sharing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017030378A JP6581611B2 (en) 2017-02-21 2017-02-21 Authentication key sharing system and authentication key sharing method

Publications (2)

Publication Number Publication Date
JP2018137587A JP2018137587A (en) 2018-08-30
JP6581611B2 true JP6581611B2 (en) 2019-09-25

Family

ID=63367142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017030378A Active JP6581611B2 (en) 2017-02-21 2017-02-21 Authentication key sharing system and authentication key sharing method

Country Status (1)

Country Link
JP (1) JP6581611B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7278802B2 (en) * 2019-02-28 2023-05-22 キヤノン株式会社 Service use device, method, and program
CN112953902B (en) * 2021-01-26 2023-03-24 湖南北斗微芯产业发展有限公司 Industrial Internet of things data encryption communication system and method
WO2022175725A1 (en) * 2021-02-19 2022-08-25 Polu Vishwanath Reddy System and method for managing user access to a personalized entity

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178027B2 (en) * 2001-03-30 2007-02-13 Capital One-Financial Corp. System and method for securely copying a cryptographic key
US7216238B2 (en) * 2003-06-30 2007-05-08 Symbol Technologies, Inc. System and method for controlling usage of software on computing devices
JP4646050B2 (en) * 2004-05-06 2011-03-09 大日本印刷株式会社 Method to issue IC card and perform encryption / decryption
JP2007020065A (en) * 2005-07-11 2007-01-25 Hitachi Ltd Decryption backup method, decryption restoration method, attestation device, individual key setting machine, user terminal, backup equipment, encryption backup program, decryption restoration program
EP2989770A1 (en) * 2013-04-26 2016-03-02 Interdigital Patent Holdings, Inc. Multi-factor authentication to achieve required authentication assurance level

Also Published As

Publication number Publication date
JP2018137587A (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US20220191012A1 (en) Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System
CN111756533B (en) System, method and storage medium for secure password generation
US20180082050A1 (en) Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
KR101298562B1 (en) System and method for implementing digital signature using one time private keys
EP1914658B1 (en) Identity controlled data center
JP5619019B2 (en) Method, system, and computer program for authentication (secondary communication channel token-based client-server authentication with a primary authenticated communication channel)
KR102202547B1 (en) Method and system for verifying an access request
CN109361668A (en) A kind of data trusted transmission method
JP2004508619A (en) Trusted device
KR100656355B1 (en) Method for user authentication and service authentication using splitted user authentication key and apparatus thereof
CN107920052B (en) Encryption method and intelligent device
KR20210095093A (en) Method for providing authentification service by using decentralized identity and server using the same
US20090119505A1 (en) Transaction method and verification method
CN111275419A (en) Block chain wallet signature right confirming method, device and system
WO2021190197A1 (en) Method and apparatus for authenticating biometric payment device, computer device and storage medium
KR102012262B1 (en) Key management method and fido authenticator software authenticator
US20220029808A1 (en) System, Product and Method for Providing Secured Access to Data
JP6479723B2 (en) Secret key management system and secret key management method
GB2554082B (en) User sign-in and authentication without passwords
JP2017152880A (en) Authentication system, key processing coordination method, and key processing coordination program
JP6581611B2 (en) Authentication key sharing system and authentication key sharing method
JP6533542B2 (en) Secret key replication system, terminal and secret key replication method
KR102372503B1 (en) Method for providing authentification service by using decentralized identity and server using the same
CN109257381A (en) A kind of key management method, system and electronic equipment
CN113271207A (en) Escrow key using method and system based on mobile electronic signature, computer equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190830

R150 Certificate of patent or registration of utility model

Ref document number: 6581611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150