JP2020141425A - Terminal equipment, key providing system, key generation method and computer program - Google Patents

Terminal equipment, key providing system, key generation method and computer program Download PDF

Info

Publication number
JP2020141425A
JP2020141425A JP2020101241A JP2020101241A JP2020141425A JP 2020141425 A JP2020141425 A JP 2020141425A JP 2020101241 A JP2020101241 A JP 2020101241A JP 2020101241 A JP2020101241 A JP 2020101241A JP 2020141425 A JP2020141425 A JP 2020141425A
Authority
JP
Japan
Prior art keywords
key
keys
identification information
private key
encrypting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020101241A
Other languages
Japanese (ja)
Inventor
博美 渡邉
Hiromi Watanabe
博美 渡邉
光憲 太田
Mitsunori Ota
光憲 太田
山口 晃
Akira Yamaguchi
晃 山口
雄三 菊池
Yuzo Kikuchi
雄三 菊池
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.)
NTT Docomo Business Inc
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2020101241A priority Critical patent/JP2020141425A/en
Publication of JP2020141425A publication Critical patent/JP2020141425A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】秘密鍵の暗号化に用いられた鍵の秘匿性を向上させること。【解決手段】秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、取得された複数の鍵と、識別情報とに基づいて、秘密鍵の暗号化に用いられた第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置。【選択図】図4PROBLEM TO BE SOLVED: To improve the confidentiality of a key used for encrypting a private key. SOLUTION: A plurality of keys generated from a first key used for encrypting a private key, an acquisition unit for acquiring identification information for identifying a user from another device, and a plurality of acquired keys. A terminal device including a key generator that generates a second key, which is the same key as the first key used for encrypting the private key, based on the key and the identification information. [Selection diagram] FIG. 4

Description

本発明は、秘密鍵の送信技術に関する。 The present invention relates to a technique for transmitting a private key.

従来、情報の保護やコンピューターセキュリティの観点から暗号化技術が用いられている。通常、SSL(Secure Sockets Layer)やS/MIME(Secure / Multipurpose Internet Mail Extensions)等のRSA(Rivest Shamir Adleman)技術を用いる場合、媒体(例えば、パーソナルコンピュータ、IC(Integrated Circuit)カード、USB(Universal Serial Bus)トークン等)のアプリケーションで鍵生成を行うため、媒体から秘密鍵を外部に送信することはない。そのため、秘密鍵が外部に漏れてしまう可能性は低い。 Conventionally, encryption technology has been used from the viewpoint of information protection and computer security. Normally, when using RSA (Rivest Shamir Adleman) technology such as SSL (Secure Sockets Layer) or S / MIME (Secure / Multipurpose Internet Mail Extensions), media (for example, personal computer, IC (Integrated Circuit) card, USB (Universal)) Since the key is generated by the application of Serial Bus) token etc.), the private key is not transmitted from the medium to the outside. Therefore, it is unlikely that the private key will be leaked to the outside.

ところが、RSA技術を用いて鍵ペアを他の装置で生成した場合には、秘密鍵を媒体に送信する必要がある(例えば、特許文献1参照)。秘密鍵を送信するにあたり、SSL等の通信路の暗号化だけではセキュリティ性が低い。そこで、共通鍵で暗号化した秘密鍵を媒体に送信することが考えられる。このような状況下において、媒体内にあるアプリケーションで、ある共通鍵で暗号化された秘密鍵を復号する場合、共通鍵は事前に媒体の中に格納しておくことで秘密が確保される。 However, when the key pair is generated by another device using the RSA technique, it is necessary to transmit the private key to the medium (see, for example, Patent Document 1). When transmitting a private key, security is low only by encrypting a communication path such as SSL. Therefore, it is conceivable to transmit the private key encrypted with the common key to the medium. Under such circumstances, when the application in the medium decrypts the private key encrypted with a certain common key, the secret is secured by storing the common key in the medium in advance.

特開2016−148919号公報Japanese Unexamined Patent Publication No. 2016-148919

しかしながら、既に配布済みの媒体に暗号化した秘密鍵を送信する場合、秘密鍵を復号するための共通鍵も送信しなければならない。このような場合には、共通鍵の秘匿性を確保しなければ秘密鍵を暗号化していたとしてもセキュリティ上は問題がある。このような問題は、秘密鍵の暗号化に用いられる共通鍵に限らず、秘密鍵の暗号化に用いられる鍵全てに共通する問題である。 However, when transmitting an encrypted private key to a medium that has already been distributed, a common key for decrypting the private key must also be transmitted. In such a case, there is a security problem even if the private key is encrypted unless the confidentiality of the common key is ensured. Such a problem is not limited to the common key used for encrypting the private key, but is a problem common to all the keys used for encrypting the private key.

上記事情に鑑み、本発明は、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる技術の提供を目的としている。 In view of the above circumstances, an object of the present invention is to provide a technique capable of improving the confidentiality of a key used for encrypting a private key.

本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置である。 One aspect of the present invention is an acquisition unit that acquires a plurality of keys generated from a first key used for encrypting a private key and identification information for identifying a user from another device. A terminal including the plurality of keys and a key generation unit that generates a second key that is the same key as the first key used for encrypting the private key based on the identification information. It is a device.

本発明の一態様は、上記の端末装置であって、前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する。 One aspect of the present invention is the terminal device, in which some of the plurality of keys are set in the application, and the acquisition unit acquires the application to obtain the plurality of keys. Get some of the keys in.

本発明の一態様は、上記の端末装置であって、前記アプリケーション内には、前記第二の鍵の生成方法に関するロジックがさらに設定されており、前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成する。 One aspect of the present invention is the terminal device, in which logic relating to the second key generation method is further set in the application, and the key generation unit performs the second key according to the logic. Generate the key for.

本発明の一態様は、上記の端末装置であって、前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する。 One aspect of the present invention is the terminal device, in which the acquisition unit acquires the application via the first communication network and uses a part of the plurality of keys for the first communication. Obtained via a communication network different from the network.

本発明の一態様は、上記の端末装置であって、前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する。 One aspect of the present invention is the terminal device, wherein the key generation unit restores the first key by combining the plurality of keys according to predetermined conditions, and the restored first key. The second key is generated by encrypting the identification information with a predetermined algorithm.

本発明の一態様は、上記の端末装置であって、生成された前記第二の鍵を用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部をさらに備え、前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する。 One aspect of the present invention is the terminal device, further comprising a decryption unit that restores the private key by decrypting the encrypted private key using the generated second key. The decryption unit stores the restored private key in the tamper-resistant area in the own device.

本発明の一態様は、秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵のうち一部の鍵及びユーザを識別するための識別情報を含む送信データを端末装置に送信する通信部と、を備える鍵生成装置と、前記複数の鍵と、前記識別情報とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置と、を備える鍵提供システムである。 One aspect of the present invention is among a key generator that generates a private key, a key that is a pair of the private key, and a plurality of keys generated from a first key used for encrypting the private key. Obtaining a key generation device including a communication unit that transmits transmission data including a part of keys and identification information for identifying a user to a terminal device, the plurality of keys, and the identification information from another device. A key that generates a second key, which is the same key as the first key used for encrypting the private key, based on the acquired unit, the plurality of acquired keys, and the identification information. It is a key providing system including a generation unit and a terminal device including the generation unit.

本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、を有する鍵生成方法である。 One aspect of the present invention is an acquisition step of acquiring a plurality of keys generated from a first key used for encrypting a private key and identification information for identifying a user from another device. A key having a key generation step of generating a second key which is the same key as the first key used for encrypting the private key based on the plurality of keys and the identification information. It is a generation method.

本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、をコンピュータに実行させるためのコンピュータプログラムである。 One aspect of the present invention is an acquisition step of acquiring a plurality of keys generated from a first key used for encrypting a private key and identification information for identifying a user from another device. A key generation step of generating a second key, which is the same key as the first key used for encrypting the private key, based on the plurality of keys and the identification information, is provided to the computer. It is a computer program to be executed.

本発明により、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能となる。 According to the present invention, it is possible to improve the confidentiality of the key used for encrypting the private key.

本発明の鍵提供システム100の機能構成を示す図である。It is a figure which shows the functional structure of the key providing system 100 of this invention. 鍵生成装置10の機能構成を表す概略ブロック図である。It is a schematic block diagram which shows the functional structure of the key generation apparatus 10. 端末装置40の機能構成を表す概略ブロック図である。It is a schematic block diagram which shows the functional structure of the terminal apparatus 40. ICカード45の機能構成を表す概略ブロック図である。It is a schematic block diagram which shows the functional structure of the IC card 45. 鍵提供システム100の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the process flow of a key providing system 100. 派生鍵の生成処理を説明するための図である。It is a figure for demonstrating the generation process of a derived key. 送信データの生成処理を説明するための図である。It is a figure for demonstrating the generation process of transmission data.

以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明の鍵提供システム100の機能構成を示す図である。鍵提供システム100は、鍵生成装置10、発行サーバ20、アプリケーション提供装置30及び端末装置40を備える。発行サーバ20及び端末装置40は、第1ネットワーク50を介して通信可能に接続される。第1ネットワーク50は、例えばインターネットで構成される。アプリケーション提供装置30及び端末装置40は、第2ネットワーク60を介して通信可能に接続される。第2ネットワーク60は、例えば通信事業者が提供する通信網(第一の通信網)で構成される。なお、鍵生成装置10から端末装置40までの間は、SSLにより通信が暗号化されるものとする。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a functional configuration of the key providing system 100 of the present invention. The key providing system 100 includes a key generating device 10, an issuing server 20, an application providing device 30, and a terminal device 40. The issuing server 20 and the terminal device 40 are communicably connected via the first network 50. The first network 50 is composed of, for example, the Internet. The application providing device 30 and the terminal device 40 are communicably connected via the second network 60. The second network 60 is composed of, for example, a communication network (first communication network) provided by a telecommunications carrier. It is assumed that the communication between the key generation device 10 and the terminal device 40 is encrypted by SSL.

鍵生成装置10は、製造工場やセキュリティ管理がなされた場所に設けられる。セキュリティ管理がなされた場所とは、ビルのような機密性の高い建物内に2重、3重のセキュリティが設けられている場所である。鍵生成装置10は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。また、鍵生成装置10は、マスター鍵(第一の鍵)から生成された複数の鍵と、ユーザを識別するための識別情報とを保持する。マスター鍵とは、秘密鍵の暗号化に用いられる鍵である。また、複数の鍵は、マスター鍵を分割することによって生成される。 The key generation device 10 is provided in a manufacturing factory or a place where security control is performed. A place where security management is performed is a place where double or triple security is provided in a highly confidential building such as a building. The key generation device 10 generates a private key and a key pair of a public key based on a public key cryptosystem. Further, the key generation device 10 holds a plurality of keys generated from the master key (first key) and identification information for identifying the user. The master key is a key used to encrypt a private key. Also, a plurality of keys are generated by dividing the master key.

一例として、本実施形態においてマスター鍵を分割するとは、マスター鍵がnbyte(nは2以上の整数)のビット列で構成される場合、nbyteのビット列を、複数のビット列(例えば、n_Abyteのビット列、n_Bbyteのビット列等)に分けることを意味する。以下の説明では、マスター鍵から生成された複数の鍵として、タネA(n_Abyte)及びタネB(n_Bbyte)を用いて説明する。ただし、ここではn=n_A+n_Bであるとする。なお、n_Aとn_Bの値は、同じであってもよいし、異なってもよい。タネA及び識別情報は、ユーザ毎に異なる値である。タネBは、派生鍵(第二の鍵)の生成方法及び秘密鍵の暗号化方法に関するロジック(以下「第1のロジック」という。)に組み込まれている。派生鍵とは、秘密鍵を暗号化するための鍵である。派生鍵は、複数の鍵と、識別情報とに基づいて生成される。タネA、識別情報及び第1のロジックは、他の装置から提供されてもよい。例えば、第1のロジックは、ソースファイルで提供される。 As an example, when the master key is divided in the present embodiment, when the master key is composed of a bit string of nbyte (n is an integer of 2 or more), the bit string of nbyte is divided into a plurality of bit strings (for example, a bit string of n_Abyte, n_Bbyte). It means to divide into bit strings of. In the following description, seed A (n_Abyte) and seed B (n_Bbyte) will be used as a plurality of keys generated from the master key. However, here, it is assumed that n = n_A + n_B. The values of n_A and n_B may be the same or different. The seed A and the identification information have different values for each user. The seed B is incorporated in the logic (hereinafter referred to as "first logic") relating to the method of generating the derived key (second key) and the method of encrypting the private key. The derived key is a key for encrypting the private key. The derived key is generated based on a plurality of keys and identification information. The seed A, the identification information and the first logic may be provided by another device. For example, the first logic is provided in the source file.

鍵生成装置10は、第1のロジックに従って派生鍵を生成する。また、鍵生成装置10は、第1のロジックに従って秘密鍵を暗号化することによって暗号化秘密鍵を生成する。鍵生成装置10は、タネA及び識別情報を格納した送信データと、暗号化秘密鍵を格納した送信データとを発行サーバ20に送信する。
発行サーバ20は、鍵生成装置10から送信された送信データを、第1ネットワーク50を介して端末装置40に送信する。
The key generation device 10 generates a derived key according to the first logic. Further, the key generation device 10 generates an encrypted secret key by encrypting the private key according to the first logic. The key generation device 10 transmits the transmission data in which the seed A and the identification information are stored and the transmission data in which the encrypted private key is stored to the issuing server 20.
The issuing server 20 transmits the transmission data transmitted from the key generation device 10 to the terminal device 40 via the first network 50.

アプリケーション提供装置30は、アプリケーションを提供する。アプリケーションとは、端末装置40において実行されるソフトウェアである。アプリケーション提供装置30が提供するアプリケーション(以下「提供アプリ」という。)は、例えばクレジットアプリケーション、PKI(Public Key Infrastructure)のアプリケーションなどである。また、提供アプリのソースファイルには、タネBと、派生鍵の生成方法及び秘密鍵の復号方法に関するロジック(以下「第2のロジック」という。)とが埋め込まれている。アプリケーション提供装置30は、端末装置40からの要求に応じて、提供アプリを端末装置40に送信する。 The application providing device 30 provides an application. The application is software executed in the terminal device 40. The application provided by the application providing device 30 (hereinafter referred to as “providing application”) is, for example, a credit application, a PKI (Public Key Infrastructure) application, or the like. Further, in the source file of the provided application, the seed B and the logic related to the method of generating the derived key and the method of decrypting the private key (hereinafter referred to as "second logic") are embedded. The application providing device 30 transmits the provided application to the terminal device 40 in response to a request from the terminal device 40.

端末装置40は、スマートフォンやタブレット端末等の情報処理装置を用いて構成される。端末装置40は、アプリケーション提供装置30から送信された提供アプリと、発行サーバ20から送信されたタネAと、識別情報とを用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する。 The terminal device 40 is configured by using an information processing device such as a smartphone or a tablet terminal. The terminal device 40 restores the private key by decrypting the encrypted private key using the provided application transmitted from the application providing device 30, the seed A transmitted from the issuing server 20, and the identification information. To do.

図2は、鍵生成装置10の機能構成を表す概略ブロック図である。
鍵生成装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、鍵生成プログラムを実行する。鍵生成プログラムの実行によって、鍵生成装置10は、鍵生成部11、送信データ生成情報記憶部12、送信データ生成部13、通信部14を備える装置として機能する。なお、鍵生成装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、鍵生成プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(READ ONLY MEMORY)、CD−ROM(CompactDisk- READ ONLY MEMORY)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、鍵生成プログラムは、電気通信回線を介して送受信されてもよい。
FIG. 2 is a schematic block diagram showing a functional configuration of the key generation device 10.
The key generation device 10 includes a CPU (Central Processing Unit), a memory, an auxiliary storage device, and the like connected by a bus, and executes a key generation program. By executing the key generation program, the key generation device 10 functions as a device including a key generation unit 11, a transmission data generation information storage unit 12, a transmission data generation unit 13, and a communication unit 14. All or part of each function of the key generator 10 may be realized by using hardware such as ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array), and the like. .. Further, the key generation program may be recorded on a computer-readable recording medium. Computer-readable recording media include, for example, flexible disks, magneto-optical disks, portable media such as ROM (READ ONLY MEMORY) and CD-ROM (CompactDisk-READ ONLY MEMORY), and storage of hard disks built into computer systems. It is a device. Further, the key generation program may be transmitted and received via a telecommunication line.

鍵生成部11は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。
送信データ生成情報記憶部12は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。送信データ生成情報記憶部12は、ユーザ毎の識別情報及びタネAと、第1のロジックが埋め込まれたソースファイルとを送信データ生成情報として記憶する。
送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて送信データを生成する。
通信部14は、送信データ生成部13によって生成された送信データを発行サーバ20に送信する。
The key generation unit 11 generates a private key and a key pair of a public key based on a public key cryptosystem.
The transmission data generation information storage unit 12 is configured by using a storage device such as a magnetic hard disk device or a semiconductor storage device. The transmission data generation information storage unit 12 stores the identification information and seed A for each user and the source file in which the first logic is embedded as transmission data generation information.
The transmission data generation unit 13 generates transmission data based on the transmission data generation information stored in the transmission data generation information storage unit 12.
The communication unit 14 transmits the transmission data generated by the transmission data generation unit 13 to the issuing server 20.

図3は、端末装置40の機能構成を表す概略ブロック図である。
端末装置40は、バスで接続されたCPUやメモリや補助記憶装置などを備え、端末装置プログラムを実行する。端末装置プログラムの実行によって、端末装置40は、第1通信部41、第2通信部42、端末制御部43、装着部44を備える装置として機能する。
装着部44には、着脱可能なICカード45が装着され、ICカード45が端末制御部43と接続される。なお、端末装置40の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、端末装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、端末装置プログラムは、電気通信回線を介して送受信されてもよい。
FIG. 3 is a schematic block diagram showing a functional configuration of the terminal device 40.
The terminal device 40 includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes a terminal device program. By executing the terminal device program, the terminal device 40 functions as a device including the first communication unit 41, the second communication unit 42, the terminal control unit 43, and the mounting unit 44.
A detachable IC card 45 is mounted on the mounting unit 44, and the IC card 45 is connected to the terminal control unit 43. In addition, all or a part of each function of the terminal device 40 may be realized by using hardware such as ASIC, PLD and FPGA. Further, the terminal device program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a flexible disk, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, or a storage device such as a hard disk built in a computer system. Further, the terminal device program may be transmitted and received via a telecommunication line.

第1通信部41は、第2ネットワーク60を介して、アプリケーション提供装置30との間で通信を行う。例えば、第1通信部41は、アプリケーション提供装置30から提供アプリを受信する。
第2通信部42は、第1ネットワーク50を介して、発行サーバ20との間で通信を行う。例えば、第2通信部42は、発行サーバ20から送信データを受信する。
端末制御部43は、例えば、CPU等を含むプロセッサにより実現される。端末制御部43は、端末装置40全体を制御する。端末制御部43は、装着部44に装着されているICカード45に対してコマンドを送信し、コマンドの処理結果としてレスポンスを受信する。
ICカード45は、例えば、SIM(Subscriber Identity Module)カードであり、ICチップ451を備える。
The first communication unit 41 communicates with the application providing device 30 via the second network 60. For example, the first communication unit 41 receives the provided application from the application providing device 30.
The second communication unit 42 communicates with the issuing server 20 via the first network 50. For example, the second communication unit 42 receives transmission data from the issuing server 20.
The terminal control unit 43 is realized by, for example, a processor including a CPU and the like. The terminal control unit 43 controls the entire terminal device 40. The terminal control unit 43 transmits a command to the IC card 45 mounted on the mounting unit 44, and receives a response as a processing result of the command.
The IC card 45 is, for example, a SIM (Subscriber Identity Module) card and includes an IC chip 451.

図4は、ICカード45の機能構成を表す概略ブロック図である。
ICチップ451は、通信部452、制御部453、アプリケーション記憶部454、アプリケーション処理部455及び秘密鍵記憶部456を備える。
通信部452は、端末制御部43との間で通信を行う。例えば、通信部452は、端末制御部43から送信されたコマンドを受信する。
制御部453は、通信部452が受信したコマンドに応じた処理を実行する。
アプリケーション記憶部454は、アプリケーション提供装置30から提供されたアプリケーション(提供アプリ)を記憶する。
アプリケーション処理部455は、プログラムの実行により鍵生成部457及び復号部458として機能する。
鍵生成部457は、提供アプリのソースファイルに埋め込まれている第2のロジックに従って派生鍵を生成する。
復号部458は、提供アプリのソースファイルに埋め込まれている第2のロジックに従って、暗号化秘密鍵を復号することによって秘密鍵を復元する。
秘密鍵記憶部456は、復号部458によって復元された秘密鍵を記憶する。
FIG. 4 is a schematic block diagram showing the functional configuration of the IC card 45.
The IC chip 451 includes a communication unit 452, a control unit 453, an application storage unit 454, an application processing unit 455, and a secret key storage unit 456.
The communication unit 452 communicates with the terminal control unit 43. For example, the communication unit 452 receives the command transmitted from the terminal control unit 43.
The control unit 453 executes processing according to a command received by the communication unit 452.
The application storage unit 454 stores the application (provided application) provided by the application providing device 30.
The application processing unit 455 functions as a key generation unit 457 and a decryption unit 458 by executing the program.
The key generation unit 457 generates a derived key according to the second logic embedded in the source file of the provided application.
The decryption unit 458 restores the private key by decrypting the encrypted private key according to the second logic embedded in the source file of the provided application.
The private key storage unit 456 stores the private key restored by the decryption unit 458.

図5は、鍵提供システム100の処理の流れを示すシーケンス図である。
アプリケーション提供装置30は、端末装置40からの要求に応じて、要求された提供アプリを端末装置40に送信する(ステップS101)。提供アプリのソースファイルには、アプリケーションのプログラムの他に、タネB及び第2のロジックが埋め込まれている。なお、提供アプリは、バイナリデータ等の形式でアプリケーション提供装置30から提供される。
端末装置40の第1通信部41は、アプリケーション提供装置30から送信された提供アプリを受信する。第1通信部41は、受信した提供アプリを端末制御部43に出力する。
FIG. 5 is a sequence diagram showing a processing flow of the key providing system 100.
The application providing device 30 transmits the requested provided application to the terminal device 40 in response to the request from the terminal device 40 (step S101). In addition to the application program, seed B and the second logic are embedded in the source file of the provided application. The provided application is provided by the application providing device 30 in the form of binary data or the like.
The first communication unit 41 of the terminal device 40 receives the provided application transmitted from the application providing device 30. The first communication unit 41 outputs the received provided application to the terminal control unit 43.

端末制御部43は、出力された提供アプリを格納する旨を示すコマンドを生成し、生成したコマンドをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信されたコマンドを受信する。制御部453は、通信部452によって受信されたコマンドに応じて、提供アプリをアプリケーション記憶部454に格納する(ステップS102)。
鍵生成装置10の送信データ生成部13は、タネA及び識別情報が含まれていることを示す情報(以下「付与情報」という。)と、送信データ生成情報記憶部12に記憶されているタネA及び識別情報とを格納した送信データを生成する。送信データ生成部13は、生成した送信データを通信部14に出力する。通信部14は、送信データを発行サーバ20に送信する(ステップS103)。
The terminal control unit 43 generates a command indicating that the output provided application is stored, and transmits the generated command to the IC card 45. The communication unit 452 of the IC card 45 receives the command transmitted from the terminal control unit 43. The control unit 453 stores the provided application in the application storage unit 454 in response to the command received by the communication unit 452 (step S102).
The transmission data generation unit 13 of the key generation device 10 includes information indicating that the seed A and the identification information are included (hereinafter referred to as “grant information”), and the seed stored in the transmission data generation information storage unit 12. Generate transmission data that stores A and identification information. The transmission data generation unit 13 outputs the generated transmission data to the communication unit 14. The communication unit 14 transmits the transmission data to the issuing server 20 (step S103).

発行サーバ20は、鍵生成装置10から送信された送信データを受信する。発行サーバ20は、受信した送信データを、第1ネットワーク50を介して端末装置40に送信する(ステップS104)。
端末装置40の第2通信部42は、発行サーバ20から送信された送信データを受信する。第2通信部42は、受信した送信データを端末制御部43に出力する。端末制御部43は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ20のアドレスである場合に送信データをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信された送信データを受信し、受信した送信データを制御部453に出力する。制御部453は、出力された送信データに基づいて、鍵生成の条件が満たされたか否か判定する(ステップS105)。
The issuing server 20 receives the transmission data transmitted from the key generation device 10. The issuing server 20 transmits the received transmission data to the terminal device 40 via the first network 50 (step S104).
The second communication unit 42 of the terminal device 40 receives the transmission data transmitted from the issuing server 20. The second communication unit 42 outputs the received transmission data to the terminal control unit 43. The terminal control unit 43 confirms the source address of the output transmission data, and transmits the transmission data to the IC card 45 when the source address is the address of the issuing server 20. The communication unit 452 of the IC card 45 receives the transmission data transmitted from the terminal control unit 43, and outputs the received transmission data to the control unit 453. The control unit 453 determines whether or not the key generation condition is satisfied based on the output transmission data (step S105).

鍵生成の条件は、付与情報と、提供アプリとが揃うことである。鍵生成の条件は、提供アプリのロジックに埋め込まれていてもよいし、制御部453が予め記憶していてもよい。鍵生成の条件が満たされていない場合(ステップS105−NO)、制御部453は鍵生成の条件が満たされるまで待機する。
一方、鍵生成の条件が満たされた場合(ステップS105−YES)、制御部453は鍵生成部457に派生鍵の生成を指示するとともに、送信データに含まれるタネA及び識別情報を鍵生成部457に出力する。
The condition for key generation is that the grant information and the provided application are complete. The key generation condition may be embedded in the logic of the provided application, or may be stored in advance by the control unit 453. If the key generation condition is not satisfied (step S105-NO), the control unit 453 waits until the key generation condition is satisfied.
On the other hand, when the key generation condition is satisfied (step S105-YES), the control unit 453 instructs the key generation unit 457 to generate the derived key, and also generates the seed A and the identification information included in the transmission data in the key generation unit. Output to 457.

鍵生成部457は、制御部453の指示に応じて派生鍵を生成する(ステップS106)。派生鍵の生成処理について図6を用いて説明する。図6は、派生鍵の生成処理を説明するための図である。本実施形態において鍵生成部457による派生鍵の生成処理は、アプリケーション記憶部454に記憶されている提供アプリのソースファイルに埋め込まれている第2のロジックのうち派生鍵の生成方法のロジックに従って、図6(A)及び図6(B)に示す2つのステップで実行される。なお、派生鍵の生成方法のロジックは、タネAとタネBをどのように組み合わせることによってマスター鍵を復元するのか、復元したマスター鍵をどのように用いて派生鍵を生成するのか等の派生鍵の生成までの過程を含む。 The key generation unit 457 generates a derived key in response to an instruction from the control unit 453 (step S106). The process of generating the derived key will be described with reference to FIG. FIG. 6 is a diagram for explaining a process of generating a derived key. In the present embodiment, the derived key generation process by the key generation unit 457 follows the logic of the derived key generation method among the second logics embedded in the source file of the provided application stored in the application storage unit 454. It is performed in two steps shown in FIGS. 6 (A) and 6 (B). The logic of the derived key generation method is the derived key such as how to restore the master key by combining seeds A and B, and how to use the restored master key to generate the derived key. Includes the process up to the generation of.

以下の説明において、タネAは○○・・○○で表され、タネBは□□・・□□で表され、識別情報は△△・・・△△で表されるものとする。1つ目のステップとして、鍵生成部457は、取得したタネA○○・・○○と、提供アプリのソースファイルに埋め込まれているタネB□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおけるマスター鍵の復元方法が、タネBのビット列の後に、タネAのビット列を結合するロジックである場合、鍵生成部457はタネB□□・・□□のビット列の後に、タネA○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する(図6(A))。 In the following description, seed A is represented by ○○ ・ ・ ○○, seed B is represented by □□ ・ ・ □□, and identification information is represented by △△ ・ ・ ・ △△. As the first step, the key generation unit 457 combines the acquired seed A ○○ ・ ・ ○○ with the seed B □□ ・ ・ □□ embedded in the source file of the provided application to obtain a master key. Restore. Here, the master key restoration process will be described with an example. When the master key restoration method in the logic of the derived key generation method is the logic of combining the bit string of seed A after the bit string of seed B, the key generation unit 457 is the bit string of seed B □□ ・ ・ □□. Later, the master key □□ ・ ・ □□ ○○ ・ ・ ○○ is restored by combining the bit strings of seeds A ○○ ・ ・ ○○ (Fig. 6 (A)).

次に、2つ目のステップとして、鍵生成部457は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を暗号化することによって派生鍵を生成する。ここで、鍵生成部457による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、鍵生成部457はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図6(B))。鍵生成部457は、生成した派生鍵◎◎・・・◎◎を提供アプリに格納する(ステップS107)。 Next, as the second step, the key generation unit 457 encrypts the identification information △△ ・ ・ ・ △△ using the restored master key □□ ・ ・ □□ ○○ ・ ・ ○○. Generate a derived key by. Here, the process of generating the derived key by the key generation unit 457 will be described with an example. When the derived key generation method in the logic of the derived key generation method is the logic of encrypting the identification information by the first algorithm using the restored master key, the key generation unit 457 uses the master key □□ ... Derived key ◎◎ ・ ・ ・ ◎◎ is generated by encrypting the identification information △△ ・ ・ ・ △△ by the first algorithm using □□ ○○ ・ ・ ○○ (Fig. 6 (B)). ). The key generation unit 457 stores the generated derived key ◎ ◎ ... ◎ ◎ in the providing application (step S107).

鍵生成装置10の送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて、暗号化秘密鍵を含む送信データを生成する。送信データの生成処理について図7を用いて説明する。図7は、送信データの生成処理を説明するための図である。まず、送信データ生成部13は、送信データ生成情報記憶部12に記憶されている第1のロジックのうち派生鍵の生成方法のロジックに従って、マスター鍵を復元する。本実施形態において送信データ生成部13による派生鍵の生成処理は、図7(A)及び図7(B)に示す2つのステップで実行される。 The transmission data generation unit 13 of the key generation device 10 generates transmission data including an encryption secret key based on the transmission data generation information stored in the transmission data generation information storage unit 12. The transmission data generation process will be described with reference to FIG. FIG. 7 is a diagram for explaining a process of generating transmission data. First, the transmission data generation unit 13 restores the master key according to the logic of the method of generating the derived key among the first logics stored in the transmission data generation information storage unit 12. In the present embodiment, the process of generating the derived key by the transmission data generation unit 13 is executed in the two steps shown in FIGS. 7 (A) and 7 (B).

1つ目のステップとして、送信データ生成部13は、送信データ生成情報記憶部12に記憶されているタネA○○・・○○と、第1のロジックに埋め込まれているタネB□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。マスター鍵の復元方法が、タネBのビット列の後に、タネAのビット列を結合するロジックである場合、送信データ生成部13はタネB□□・・□□のビット列の後に、タネA○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する(図7(A))。 As the first step, the transmission data generation unit 13 includes seeds A ○○ ・ ・ ○○ stored in the transmission data generation information storage unit 12 and seeds B □□ ・ embedded in the first logic.・ Restore the master key in combination with □□. Here, the master key restoration process will be described with an example. When the restoration method of the master key is the logic of combining the bit string of seed A after the bit string of seed B, the transmission data generation unit 13 has the bit string of seed B □□ ・ ・ □□ followed by seed A ○○ ・. -The master key □□ ・ ・ □□ ○○ ・ ・ ○○ is restored by combining the bit strings of ○○ (Fig. 7 (A)).

次に、2つ目のステップとして、送信データ生成部13は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・△△を暗号化することによって派生鍵を生成する。ここで、送信データ生成部13による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、送信データ生成部13はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図7(B))。 Next, as the second step, the transmission data generation unit 13 encrypts the identification information △△ ・ ・ △△ using the restored master key □□ ・ ・ □□ ○○ ・ ・ ○○. Generate a derived key by. Here, the process of generating the derived key by the transmission data generation unit 13 will be described with an example. When the method of generating the derived key in the logic of the method of generating the derived key is the logic of encrypting the identification information by the first algorithm using the restored master key, the transmission data generation unit 13 uses the master key □□ ・・ □□ ○○ ・ ・ ○○ is used to encrypt the identification information △△ ・ ・ ・ △△ by the first algorithm to generate the derived key ◎◎ ・ ・ ・ ◎◎ (Fig. 7 (B)). )).

その後、送信データ生成部13は、第1のロジックのうち秘密鍵の暗号化方法のロジックに従って、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵XX・・・XXを暗号化することによって暗号化秘密鍵を生成する。なお、秘密鍵の暗号化方法のロジックは、派生鍵を用いて、秘密鍵をどのようなアルゴリズムで暗号化するのか等の秘密鍵の暗号化までの過程を含む。 After that, the transmission data generation unit 13 encrypts the private keys XX ... XX using the generated derived keys ◎ ◎ ... ◎ ◎ according to the logic of the secret key encryption method in the first logic. Generate an encrypted private key by doing so. The logic of the private key encryption method includes the process up to the encryption of the private key, such as what kind of algorithm is used to encrypt the private key using the derived key.

ここで、送信データ生成部13による秘密鍵の暗号化方法について一例を挙げて説明する。秘密鍵の暗号化方法のロジックが、生成した派生鍵を用いて、秘密鍵を第2のアルゴリズムで暗号化するロジックである場合、送信データ生成部13は、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵XX・・・XXを第2のアルゴリズムで暗号化することによって暗号化秘密鍵YY・・・YYを生成する(図7(C))。そして、送信データ生成部13は、生成した暗号化秘密鍵YY・・・YYを格納した送信データを生成する。送信データ生成部13は、生成した送信データを通信部14に出力する。通信部14は、出力された送信データを発行サーバ20に送信する(ステップS108)。 Here, a method of encrypting the private key by the transmission data generation unit 13 will be described with an example. When the logic of the encryption method of the private key is the logic of encrypting the private key by the second algorithm using the generated derived key, the transmission data generation unit 13 uses the generated derived key ◎ ◎ ... The encrypted private key YY ... YY is generated by encrypting the private key XX ... XX with the second algorithm using ◎◎ (FIG. 7 (C)). Then, the transmission data generation unit 13 generates transmission data in which the generated encryption secret keys YY ... YY are stored. The transmission data generation unit 13 outputs the generated transmission data to the communication unit 14. The communication unit 14 transmits the output transmission data to the issuing server 20 (step S108).

発行サーバ20は、鍵生成装置10から送信された送信データを受信し、受信した送信データを端末装置40に送信する(ステップS109)。
端末装置40の第2通信部42は、発行サーバ20から送信された送信データを受信する。第2通信部42は、受信した送信データを端末制御部43に出力する。端末制御部43は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ20のアドレスである場合に送信データをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信された送信データを受信し、受信した送信データを制御部453に出力する。制御部453は、出力された送信データに暗号化秘密鍵YY・・・YYが含まれているため、復号部458に秘密鍵の復号を指示するとともに、送信データに含まれる暗号化秘密鍵YY・・・YYを復号部458に出力する。
The issuing server 20 receives the transmission data transmitted from the key generation device 10 and transmits the received transmission data to the terminal device 40 (step S109).
The second communication unit 42 of the terminal device 40 receives the transmission data transmitted from the issuing server 20. The second communication unit 42 outputs the received transmission data to the terminal control unit 43. The terminal control unit 43 confirms the source address of the output transmission data, and transmits the transmission data to the IC card 45 when the source address is the address of the issuing server 20. The communication unit 452 of the IC card 45 receives the transmission data transmitted from the terminal control unit 43, and outputs the received transmission data to the control unit 453. Since the control unit 453 includes the encryption secret key YY ... YY in the output transmission data, the control unit 453 instructs the decryption unit 458 to decrypt the secret key and the encryption secret key YY included in the transmission data. ... Outputs YY to the decoding unit 458.

復号部458は、制御部453の指示に応じて秘密鍵を復号する(ステップS110)。具体的には、復号部458は、第2のロジックのうち秘密鍵の復号方法のロジックに従って、提供アプリに格納されている派生鍵◎◎・・・◎◎を用いて、暗号化秘密鍵YY・・・YYを復号することによって秘密鍵を復元する。なお、秘密鍵の復号方法のロジックは、派生鍵を用いて、暗号化秘密鍵をどのようなアルゴリズムで復号するのか等の秘密鍵の復号までの過程を含む。 The decryption unit 458 decrypts the private key according to the instruction of the control unit 453 (step S110). Specifically, the decryption unit 458 uses the derived key ◎◎ ・ ・ ・ ◎◎ stored in the provided application according to the logic of the secret key decryption method in the second logic, and encrypts the private key YY. ... Restore the private key by decrypting YY. The logic of the method of decrypting the private key includes a process up to decryption of the private key, such as what kind of algorithm is used to decrypt the encrypted private key using the derived key.

ここで、復号部458による秘密鍵の復号方法について一例を挙げて説明する。秘密鍵の復号方法のロジックが、派生鍵を用いて、暗号化秘密鍵を第2のアルゴリズムで復号するロジックである場合、復号部458は、派生鍵◎◎・・・◎◎を用いて、第2のアルゴリズムで暗号化秘密鍵YY・・・YYを復号することによって秘密鍵XX・・・XXを復元する。復号部458は、復元した秘密鍵XX・・・XXを、秘密鍵記憶部456に格納する(ステップS111)。 Here, an example of a method of decrypting the private key by the decryption unit 458 will be described. When the logic of the method of decrypting the private key is the logic of decrypting the encrypted private key by the second algorithm using the derived key, the decryption unit 458 uses the derived key ◎◎ ・ ・ ・ ◎◎. The secret keys XX ... XX are restored by decrypting the encrypted secret keys YY ... YY with the second algorithm. The decryption unit 458 stores the restored private key XX ... XX in the secret key storage unit 456 (step S111).

以上のように構成された鍵提供システム100では、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる。具体的には、鍵生成装置10は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネAと、識別情報とを第1ネットワーク50を介して、端末装置40に送信する。また、アプリケーション提供装置30は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネBを、第2ネットワーク60を介して、端末装置40に送信する。端末装置40は、タネAと、タネBとを用いてマスター鍵を復元し、復元したマスター鍵で識別情報を暗号化することによって、秘密鍵を暗号化した派生鍵を生成する。このように、鍵提供システム100では、マスター鍵を構成するタネAと、タネBとが別々に送信される。そのため、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能になる。 In the key providing system 100 configured as described above, the confidentiality of the key used for encrypting the private key can be improved. Specifically, the key generation device 10 transmits the seed A generated from the master key used for encrypting the private key and the identification information to the terminal device 40 via the first network 50. Further, the application providing device 30 transmits the seed B generated from the master key used for encrypting the private key to the terminal device 40 via the second network 60. The terminal device 40 restores the master key using the seed A and the seed B, and encrypts the identification information with the restored master key to generate a derived key in which the private key is encrypted. In this way, in the key providing system 100, the seed A and the seed B constituting the master key are transmitted separately. Therefore, it is possible to improve the confidentiality of the key used for encrypting the private key.

また、復元された秘密鍵は、端末装置40の耐タンパ領域に格納される。これにより、秘密鍵が外部に漏れてしまう可能性が低い。そのため、秘密鍵のセキュリティを向上させることができる。
また、タネBは、アプリケーションのソースファイルに埋め込まれている。さらに、アプリケーションのコードは、コンパイルされたBINファイルとして提供される。したがって、盗聴されたとしてもタネBを特定することは困難である。そのため、タネBの漏洩に対するセキュリティが高いため、派生鍵が生成されてしまう可能性を低下させることができる。
Further, the restored private key is stored in the anti-tamper area of the terminal device 40. As a result, it is unlikely that the private key will be leaked to the outside. Therefore, the security of the private key can be improved.
The seed B is embedded in the source file of the application. In addition, the application code is provided as a compiled BIN file. Therefore, it is difficult to identify the seed B even if it is eavesdropped. Therefore, since the security against the leakage of the seed B is high, the possibility that the derived key is generated can be reduced.

<変形例>
本実施形態では、ICカード45を備える端末装置40を例に説明したが、CPUを持った記憶媒体(例えば、ICカード、ICチップ付きUSBトークン等)にも適用可能である。
本実施形態では、マスター鍵□□・・□□○○・・○○を半分にしてタネA○○・・○○及びタネB□□・・□□が生成されているが、タネA、タネBは以下の基準に従って生成されてもよい。例えば、タネAが奇数byteのビット列で生成され、タネBが偶数byteのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネAのビット列と、タネBのビット列とを用いて、タネAを基準に順番(例えば、タネA、タネB,タネA、タネB,・・・)に並べることによってマスター鍵を復元するといったロジックが想定される。また、タネBが奇数番目のbyteのビット列で生成され、タネAが偶数番目のbyteのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネAのビット列と、タネBのビット列とを用いて、タネBを基準に順番(例えば、タネB,タネA、タネB,タネA,・・・)に並べることによってマスター鍵を復元するといったロジックが想定される。また、マスター鍵(nbyte)から生成されるタネは3つ以上であってもよい。また、各タネのビット列の数は、適宜設定されてもよい。
<Modification example>
In the present embodiment, the terminal device 40 including the IC card 45 has been described as an example, but it can also be applied to a storage medium having a CPU (for example, an IC card, a USB token with an IC chip, etc.).
In the present embodiment, the master key □□ ・ ・ □□ ○○ ・ ・ ○○ is halved to generate seed A ○○ ・ ・ ○○ and seed B □□ ・ ・ □□. Seed B may be generated according to the following criteria. For example, seed A may be generated by an odd-numbered byte string, and seed B may be generated by an even-numbered byte string. In this case, as the logic of the method of generating the derived key, for example, the bit string of the seed A and the bit string of the seed B are used, and the order is based on the seed A (for example, seed A, seed B, seed A). , Seed B, ...), and the logic to restore the master key is assumed. Further, the seed B may be generated by an odd-numbered byte string, and the seed A may be generated by an even-numbered byte string. In this case, as the logic of the method of generating the derived key, for example, a bit string of seed A and a bit string of seed B are used, and the order is based on seed B (for example, seed B, seed A, seed B). , Seed A, ...), and the logic to restore the master key is assumed. Further, the number of seeds generated from the master key (nbyte) may be three or more. Further, the number of bit strings of each seed may be appropriately set.

また、図5の説明では、鍵生成装置10が、タネA及び識別情報を格納した送信データの後に、暗号化秘密鍵を格納した送信データを送信する構成を示しているが、暗号化秘密鍵を格納した送信データを送信した後に、タネA及び識別情報を格納した送信データの送信が行われてもよい。このように構成される場合、端末装置40は、暗号化秘密鍵を一時的に保持しておき、タネA及び識別情報を格納した送信データが受信された場合に派生鍵の生成、秘密鍵の復号の処理が行なわれる。
また、本実施形態では、端末装置40のICカード45内において図5のステップS105〜ステップ107及びステップS110〜ステップ111の処理がなされる構成を示したが、これらの処理は端末装置40の端末制御部43において行われてもよい。このように構成される場合、復元された秘密鍵は耐タンパ領域に記憶されればどの記憶部に記憶されてもよい。
Further, in the description of FIG. 5, the key generation device 10 shows a configuration in which the transmission data storing the encryption private key is transmitted after the transmission data storing the seed A and the identification information. After transmitting the transmission data in which the seed A and the identification information are stored, the transmission data in which the seed A and the identification information are stored may be transmitted. In such a configuration, the terminal device 40 temporarily holds the encrypted private key, and when the transmission data storing the seed A and the identification information is received, the terminal device 40 generates the derived key and the secret key. Decryption processing is performed.
Further, in the present embodiment, the processes of steps S105 to 107 and steps S110 to 111 of FIG. 5 are performed in the IC card 45 of the terminal device 40, but these processes are performed by the terminal of the terminal device 40. It may be performed in the control unit 43. When configured in this way, the restored private key may be stored in any storage unit as long as it is stored in the tamper-resistant area.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and the design and the like within a range not deviating from the gist of the present invention are also included.

10…鍵生成装置, 20…発行サーバ, 30…アプリケーション提供装置, 40…端末装置, 50…第1ネットワーク, 60…第2ネットワーク, 11…鍵生成部, 12…送信データ生成情報記憶部, 13…送信データ生成部, 14…通信部, 41…第1通信部, 42…第2通信部, 43…端末制御部, 44…装着部, 45…ICカード, 451…ICチップ, 452…通信部, 453…制御部, 454…アプリケーション記憶部, 455…アプリケーション処理部, 456…秘密鍵記憶部, 457…鍵生成部, 458…復号部 10 ... Key generation device, 20 ... Issuing server, 30 ... Application providing device, 40 ... Terminal device, 50 ... First network, 60 ... Second network, 11 ... Key generation unit, 12 ... Transmission data generation information storage unit, 13 ... Transmission data generation unit, 14 ... Communication unit, 41 ... 1st communication unit, 42 ... 2nd communication unit, 43 ... Terminal control unit, 44 ... Mounting unit, 45 ... IC card, 451 ... IC chip, 452 ... Communication unit , 453 ... Control unit, 454 ... Application storage unit, 455 ... Application processing unit, 456 ... Private key storage unit, 457 ... Key generation unit, 458 ... Decryption unit

Claims (9)

秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、
を備える端末装置。
An acquisition unit that acquires a plurality of keys generated from the first key used for encrypting the private key and identification information for identifying the user from another device.
A key generation unit that generates a second key, which is the same key as the first key used for encrypting the private key, based on the acquired plurality of keys and the identification information.
A terminal device comprising.
前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、
前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する、請求項1に記載の端末装置。
Some of the plurality of keys are set in the application, and
The terminal device according to claim 1, wherein the acquisition unit acquires a part of the plurality of keys by acquiring the application.
前記アプリケーション内には、前記第二の鍵の生成方法に関するロジックがさらに設定されており、
前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成する、請求項2に記載の端末装置。
In the application, the logic related to the second key generation method is further set.
The terminal device according to claim 2, wherein the key generation unit generates the second key according to the logic.
前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する、請求項2又は3に記載の端末装置。 The acquisition unit acquires the application via the first communication network, and acquires some of the keys among the plurality of keys via a communication network different from the first communication network, claim 2 or. 3. The terminal device according to 3. 前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する、請求項1から4のいずれか一項に記載の端末装置。 The key generation unit restores the first key by combining the plurality of keys according to a predetermined condition, and encrypts the identification information by a predetermined algorithm using the restored first key. The terminal device according to any one of claims 1 to 4, wherein the second key is generated thereby. 生成された前記第二の鍵を用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部をさらに備え、
前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する、請求項1から5のいずれか一項に記載の端末装置。
Further provided with a decryption unit that recovers the private key by decrypting the encrypted private key using the generated second key.
The terminal device according to any one of claims 1 to 5, wherein the decryption unit stores the restored private key in a tamper-resistant area in the own device.
秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、
前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵のうち一部の鍵及びユーザを識別するための識別情報を含む送信データを端末装置に送信する通信部と、
を備える鍵生成装置と、
前記複数の鍵と、前記識別情報とを他の装置から取得する取得部と、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、
を備える端末装置と、
を備える鍵提供システム。
A key generator that generates a private key and a key that is a pair of the private key,
A communication unit that transmits transmission data including a part of the keys generated from the first key used for encrypting the private key and identification information for identifying the user to the terminal device.
A key generator equipped with
An acquisition unit that acquires the plurality of keys and the identification information from another device, and
A key generation unit that generates a second key, which is the same key as the first key used for encrypting the private key, based on the acquired plurality of keys and the identification information.
With a terminal device equipped with
A key providing system equipped with.
秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、
を有する鍵生成方法。
An acquisition step of acquiring a plurality of keys generated from a first key used for encrypting a private key and identification information for identifying a user from another device.
A key generation step of generating a second key, which is the same key as the first key used for encrypting the private key, based on the acquired plurality of keys and the identification information.
Key generation method having.
秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
An acquisition step of acquiring a plurality of keys generated from a first key used for encrypting a private key and identification information for identifying a user from another device.
A key generation step of generating a second key, which is the same key as the first key used for encrypting the private key, based on the acquired plurality of keys and the identification information.
A computer program that lets a computer run.
JP2020101241A 2020-06-10 2020-06-10 Terminal equipment, key providing system, key generation method and computer program Pending JP2020141425A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020101241A JP2020141425A (en) 2020-06-10 2020-06-10 Terminal equipment, key providing system, key generation method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020101241A JP2020141425A (en) 2020-06-10 2020-06-10 Terminal equipment, key providing system, key generation method and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016212304A Division JP6717730B2 (en) 2016-10-28 2016-10-28 Terminal device, key providing system, key providing method, and computer program

Publications (1)

Publication Number Publication Date
JP2020141425A true JP2020141425A (en) 2020-09-03

Family

ID=72265299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020101241A Pending JP2020141425A (en) 2020-06-10 2020-06-10 Terminal equipment, key providing system, key generation method and computer program

Country Status (1)

Country Link
JP (1) JP2020141425A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005064843A1 (en) * 2003-12-26 2005-07-14 Matsushita Electric Industrial Co.,Ltd. Prime calculation device, method, and key issuing system
JP2008219178A (en) * 2007-02-28 2008-09-18 Kddi Corp Terminal device, data management device, and computer program
JP2009500905A (en) * 2005-06-30 2009-01-08 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Secure patch system
JP2009531916A (en) * 2006-03-28 2009-09-03 トレンド・マイクロ・(エンクリプション)・リミテッド Electronic data communication system
JP2014170329A (en) * 2013-03-01 2014-09-18 Kddi Corp Content distribution system and device and program
US9432342B1 (en) * 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005064843A1 (en) * 2003-12-26 2005-07-14 Matsushita Electric Industrial Co.,Ltd. Prime calculation device, method, and key issuing system
JP2009500905A (en) * 2005-06-30 2009-01-08 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Secure patch system
JP2009531916A (en) * 2006-03-28 2009-09-03 トレンド・マイクロ・(エンクリプション)・リミテッド Electronic data communication system
JP2008219178A (en) * 2007-02-28 2008-09-18 Kddi Corp Terminal device, data management device, and computer program
US9432342B1 (en) * 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
JP2014170329A (en) * 2013-03-01 2014-09-18 Kddi Corp Content distribution system and device and program

Similar Documents

Publication Publication Date Title
CN106789052B (en) Remote key issuing system based on quantum communication network and use method thereof
US7095859B2 (en) Managing private keys in a free seating environment
CN110650011A (en) Encryption storage method and encryption storage card based on quantum key
US10943020B2 (en) Data communication system with hierarchical bus encryption system
CN105306194A (en) Multiple encryption method and system for encrypting files and/or communication protocols
US11431489B2 (en) Encryption processing system and encryption processing method
EP1501238B1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
EP3079299A1 (en) Data processing system, encryption apparatus, decryption apparatus, and program
CA2613289A1 (en) Generating a secret key from an asymmetric private key
TW201426395A (en) Data security system and method
KR102181645B1 (en) System and method for distributing and storing data
CN110750326A (en) Disk encryption and decryption method and system for virtual machine
JPH10271104A (en) Encryption method and decryption method
US7069448B2 (en) Context oriented crypto processing on a parallel processor array
JP2020141425A (en) Terminal equipment, key providing system, key generation method and computer program
CN118157930A (en) Method, device, equipment and medium for encrypting transmission data
JP2000305849A (en) Transmitting apparatus and method, receiving apparatus and method, and communication system
JP2869165B2 (en) Method of transferring confidential data using IC card
CN116781400A (en) A method, system, device and electronic equipment for data processing on the blockchain
JP6717730B2 (en) Terminal device, key providing system, key providing method, and computer program
EP4020875A1 (en) Method, first server, second server, and system for transmitting securely a key
CN113411347A (en) Transaction message processing method and processing device
CN120768547B (en) Method, system, medium and quantum computer for protecting quantum key distribution process
US12621274B2 (en) Secure encryption using tokenized data
JP2001125481A (en) Cryptographic communication terminal, cryptographic communication center device, cryptographic communication system, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220208