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 PDFInfo
- 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
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.
しかしながら、既に配布済みの媒体に暗号化した秘密鍵を送信する場合、秘密鍵を復号するための共通鍵も送信しなければならない。このような場合には、共通鍵の秘匿性を確保しなければ秘密鍵を暗号化していたとしてもセキュリティ上は問題がある。このような問題は、秘密鍵の暗号化に用いられる共通鍵に限らず、秘密鍵の暗号化に用いられる鍵全てに共通する問題である。 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.
以下、本発明の一実施形態を、図面を参照しながら説明する。
図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
鍵生成装置10は、製造工場やセキュリティ管理がなされた場所に設けられる。セキュリティ管理がなされた場所とは、ビルのような機密性の高い建物内に2重、3重のセキュリティが設けられている場所である。鍵生成装置10は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。また、鍵生成装置10は、マスター鍵(第一の鍵)から生成された複数の鍵と、ユーザを識別するための識別情報とを保持する。マスター鍵とは、秘密鍵の暗号化に用いられる鍵である。また、複数の鍵は、マスター鍵を分割することによって生成される。
The
一例として、本実施形態においてマスター鍵を分割するとは、マスター鍵が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
The issuing
アプリケーション提供装置30は、アプリケーションを提供する。アプリケーションとは、端末装置40において実行されるソフトウェアである。アプリケーション提供装置30が提供するアプリケーション(以下「提供アプリ」という。)は、例えばクレジットアプリケーション、PKI(Public Key Infrastructure)のアプリケーションなどである。また、提供アプリのソースファイルには、タネBと、派生鍵の生成方法及び秘密鍵の復号方法に関するロジック(以下「第2のロジック」という。)とが埋め込まれている。アプリケーション提供装置30は、端末装置40からの要求に応じて、提供アプリを端末装置40に送信する。
The
端末装置40は、スマートフォンやタブレット端末等の情報処理装置を用いて構成される。端末装置40は、アプリケーション提供装置30から送信された提供アプリと、発行サーバ20から送信されたタネAと、識別情報とを用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する。
The
図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
The
鍵生成部11は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。
送信データ生成情報記憶部12は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。送信データ生成情報記憶部12は、ユーザ毎の識別情報及びタネAと、第1のロジックが埋め込まれたソースファイルとを送信データ生成情報として記憶する。
送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて送信データを生成する。
通信部14は、送信データ生成部13によって生成された送信データを発行サーバ20に送信する。
The
The transmission data generation
The transmission
The
図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
The
A
第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
The
The
The
図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
The
The
The
The
The
The
The
The private
図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
The
The
端末制御部43は、出力された提供アプリを格納する旨を示すコマンドを生成し、生成したコマンドをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信されたコマンドを受信する。制御部453は、通信部452によって受信されたコマンドに応じて、提供アプリをアプリケーション記憶部454に格納する(ステップS102)。
鍵生成装置10の送信データ生成部13は、タネA及び識別情報が含まれていることを示す情報(以下「付与情報」という。)と、送信データ生成情報記憶部12に記憶されているタネA及び識別情報とを格納した送信データを生成する。送信データ生成部13は、生成した送信データを通信部14に出力する。通信部14は、送信データを発行サーバ20に送信する(ステップS103)。
The
The transmission
発行サーバ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
The
鍵生成の条件は、付与情報と、提供アプリとが揃うことである。鍵生成の条件は、提供アプリのロジックに埋め込まれていてもよいし、制御部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
On the other hand, when the key generation condition is satisfied (step S105-YES), the
鍵生成部457は、制御部453の指示に応じて派生鍵を生成する(ステップS106)。派生鍵の生成処理について図6を用いて説明する。図6は、派生鍵の生成処理を説明するための図である。本実施形態において鍵生成部457による派生鍵の生成処理は、アプリケーション記憶部454に記憶されている提供アプリのソースファイルに埋め込まれている第2のロジックのうち派生鍵の生成方法のロジックに従って、図6(A)及び図6(B)に示す2つのステップで実行される。なお、派生鍵の生成方法のロジックは、タネAとタネBをどのように組み合わせることによってマスター鍵を復元するのか、復元したマスター鍵をどのように用いて派生鍵を生成するのか等の派生鍵の生成までの過程を含む。
The
以下の説明において、タネ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
次に、2つ目のステップとして、鍵生成部457は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を暗号化することによって派生鍵を生成する。ここで、鍵生成部457による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、鍵生成部457はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図6(B))。鍵生成部457は、生成した派生鍵◎◎・・・◎◎を提供アプリに格納する(ステップS107)。
Next, as the second step, the
鍵生成装置10の送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて、暗号化秘密鍵を含む送信データを生成する。送信データの生成処理について図7を用いて説明する。図7は、送信データの生成処理を説明するための図である。まず、送信データ生成部13は、送信データ生成情報記憶部12に記憶されている第1のロジックのうち派生鍵の生成方法のロジックに従って、マスター鍵を復元する。本実施形態において送信データ生成部13による派生鍵の生成処理は、図7(A)及び図7(B)に示す2つのステップで実行される。
The transmission
1つ目のステップとして、送信データ生成部13は、送信データ生成情報記憶部12に記憶されているタネA○○・・○○と、第1のロジックに埋め込まれているタネB□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。マスター鍵の復元方法が、タネBのビット列の後に、タネAのビット列を結合するロジックである場合、送信データ生成部13はタネB□□・・□□のビット列の後に、タネA○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する(図7(A))。
As the first step, the transmission
次に、2つ目のステップとして、送信データ生成部13は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・△△を暗号化することによって派生鍵を生成する。ここで、送信データ生成部13による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、送信データ生成部13はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図7(B))。
Next, as the second step, the transmission
その後、送信データ生成部13は、第1のロジックのうち秘密鍵の暗号化方法のロジックに従って、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵XX・・・XXを暗号化することによって暗号化秘密鍵を生成する。なお、秘密鍵の暗号化方法のロジックは、派生鍵を用いて、秘密鍵をどのようなアルゴリズムで暗号化するのか等の秘密鍵の暗号化までの過程を含む。
After that, the transmission
ここで、送信データ生成部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
発行サーバ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
The
復号部458は、制御部453の指示に応じて秘密鍵を復号する(ステップS110)。具体的には、復号部458は、第2のロジックのうち秘密鍵の復号方法のロジックに従って、提供アプリに格納されている派生鍵◎◎・・・◎◎を用いて、暗号化秘密鍵YY・・・YYを復号することによって秘密鍵を復元する。なお、秘密鍵の復号方法のロジックは、派生鍵を用いて、暗号化秘密鍵をどのようなアルゴリズムで復号するのか等の秘密鍵の復号までの過程を含む。
The
ここで、復号部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
以上のように構成された鍵提供システム100では、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる。具体的には、鍵生成装置10は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネAと、識別情報とを第1ネットワーク50を介して、端末装置40に送信する。また、アプリケーション提供装置30は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネBを、第2ネットワーク60を介して、端末装置40に送信する。端末装置40は、タネAと、タネBとを用いてマスター鍵を復元し、復元したマスター鍵で識別情報を暗号化することによって、秘密鍵を暗号化した派生鍵を生成する。このように、鍵提供システム100では、マスター鍵を構成するタネAと、タネBとが別々に送信される。そのため、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能になる。
In the key providing
また、復元された秘密鍵は、端末装置40の耐タンパ領域に格納される。これにより、秘密鍵が外部に漏れてしまう可能性が低い。そのため、秘密鍵のセキュリティを向上させることができる。
また、タネBは、アプリケーションのソースファイルに埋め込まれている。さらに、アプリケーションのコードは、コンパイルされたBINファイルとして提供される。したがって、盗聴されたとしてもタネBを特定することは困難である。そのため、タネBの漏洩に対するセキュリティが高いため、派生鍵が生成されてしまう可能性を低下させることができる。
Further, the restored private key is stored in the anti-tamper area of the
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
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
Further, in the present embodiment, the processes of steps S105 to 107 and steps S110 to 111 of FIG. 5 are performed in the
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 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.
前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する、請求項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.
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)
| 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 |
-
2020
- 2020-06-10 JP JP2020101241A patent/JP2020141425A/en active Pending
Patent Citations (6)
| 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 |