JPWO2020039527A1 - Signature processing device, signature processing method, signature processing system, and program - Google Patents
Signature processing device, signature processing method, signature processing system, and program Download PDFInfo
- Publication number
- JPWO2020039527A1 JPWO2020039527A1 JP2020537944A JP2020537944A JPWO2020039527A1 JP WO2020039527 A1 JPWO2020039527 A1 JP WO2020039527A1 JP 2020537944 A JP2020537944 A JP 2020537944A JP 2020537944 A JP2020537944 A JP 2020537944A JP WO2020039527 A1 JPWO2020039527 A1 JP WO2020039527A1
- Authority
- JP
- Japan
- Prior art keywords
- key information
- information
- signature
- secret key
- master
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 122
- 238000003672 processing method Methods 0.000 title claims description 27
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000012795 verification Methods 0.000 claims description 48
- 238000012986 modification Methods 0.000 description 21
- 230000004048 modification Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、アプリケーション識別情報に対応する秘密鍵情報を生成する、秘密鍵情報生成部2と、秘密鍵情報と署名対象であるメッセージ情報とに基づいて、メッセージ情報に対応する署名情報を生成する、署名情報生成部3と、秘密鍵情報又は署名情報を生成する過程において、マスタ秘密鍵情報、又は、秘密鍵情報、又は、それら両方を一時記憶する秘匿領域を有する、秘匿部4と、を有する署名処理装置1である。The private key information generation unit 2 that generates the private key information corresponding to the application identification information based on the master private key information set in advance and the application identification information that identifies the application, and the private key information and the signature target. In the process of generating the secret key information or the signature information with the signature information generation unit 3 that generates the signature information corresponding to the message information based on the message information, the master secret key information, the private key information, or It is a signature processing device 1 having a concealment unit 4 having a concealment area for temporarily storing both of them.
Description
本発明は、署名処理をする署名処理装置、署名処理方法、署名処理システムに関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。 The present invention relates to a signature processing apparatus for performing signature processing, a signature processing method, and a signature processing system, and further relates to a computer-readable recording medium on which a program for realizing these is recorded.
デジタル署名技術において、ホワイトボックス実装方式が提案されている。ホワイトボックス実装方式は、攻撃者が署名処理システム全体に対してフルアクセスできると仮定して、攻撃者からの攻撃に対処する方式である。例えば、ホワイトボックス実装方式では、エンドポイント(実行環境など)が敵対的な環境に置かれている状況でも、装置に実装された秘密鍵を保護する実装方式である。 In digital signature technology, a white box mounting method has been proposed. The white box implementation method is a method of dealing with an attack from an attacker on the assumption that the attacker has full access to the entire signature processing system. For example, the white box mounting method is a mounting method that protects the private key mounted on the device even when the endpoint (execution environment, etc.) is placed in a hostile environment.
また、デジタル署名技術において、サービスを利用するような場合、サービスに対応したアプリケーションを用いて、サービスごとに動的に秘密鍵を生成する方式がある。その方式では、生成した秘密鍵を用いて署名を行う。 Further, in the digital signature technology, when a service is used, there is a method of dynamically generating a private key for each service by using an application corresponding to the service. In that method, the generated private key is used for signing.
なお、関連する技術として、特許文献1、特許文献2には、IDベース署名方式により秘密鍵を生成する装置が開示されている。
As related techniques,
ところで、ホワイトボックス実装方式では、デジタル署名機能を有するアプリケーションを、装置に実装する前に秘密鍵を作成し、作成した秘密鍵を装置に設定(記憶)している。例えば、装置を製造している製造元が秘密鍵を作成して、製造した装置に作成した秘密鍵を設定している。 By the way, in the white box mounting method, an application having a digital signature function is created with a private key before being mounted on the device, and the created private key is set (stored) in the device. For example, the manufacturer that manufactures the device creates a private key and sets the created private key in the manufactured device.
しかしながら、動的に秘密鍵を生成する場合、すなわちアプリケーションの実行中において装置が秘密鍵を生成する場合、ホワイトボックス実装方式のように、秘密鍵を保護することが困難である。そこで、動的に秘密鍵を生成する場合においても、ホワイトボックス実装方式のように、秘密鍵を保護したいという要望がある。 However, when the private key is dynamically generated, that is, when the device generates the private key during the execution of the application, it is difficult to protect the private key as in the white box implementation method. Therefore, even when the private key is dynamically generated, there is a desire to protect the private key as in the white box implementation method.
なお、特許文献1、2に開示されている装置において、動的に秘密鍵を生成することは困難である。そのため、特許文献1、2に開示されている装置を用いたとしても、ホワイトボックス実装方式のように、動的に生成される秘密鍵を保護することはできない。
It is difficult to dynamically generate a private key in the devices disclosed in
本発明の目的の一例は、動的に秘密鍵情報を生成する場合においても秘密鍵を保護できる署名処理装置、署名処理方法、署名処理システム、及びコンピュータ読み取り可能な記録媒体を提供することにある。 An example of an object of the present invention is to provide a signature processing device, a signature processing method, a signature processing system, and a computer-readable recording medium capable of protecting a private key even when dynamically generating private key information. ..
上記目的を達成するため、本発明の一側面における署名処理装置は、
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、秘密鍵情報生成部と、
前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、署名情報生成部と、
前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する秘匿領域を有する、秘匿部と、
を有することを特徴とする。In order to achieve the above object, the signature processing device in one aspect of the present invention is
A private key information generation unit that generates private key information corresponding to the application identification information based on preset master private key information and application identification information that identifies an application.
A signature information generation unit that generates signature information corresponding to the message information based on the private key information and the message information to be signed.
In the process of generating the secret key information or the signature information, a secret unit having a secret area for temporarily storing the master secret key information, the secret key information, or both of them.
It is characterized by having.
また、上記目的を達成するため、本発明の一側面における署名処理方法は、
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を有することを特徴とする。Further, in order to achieve the above object, the signature processing method in one aspect of the present invention is:
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
It is characterized by having.
また、上記目的を達成するため、本発明の一側面における署名処理システムは、
セキュリティ情報に基づいて生成したマスタ秘密鍵情報を、秘匿状態において署名処理装置に設定する、設定装置と、
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成し、前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成し、前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、端末装置と、
前記メッセージ情報に基づいて、前記署名情報を検証する、検証装置と
を有することを特徴とする。Further, in order to achieve the above object, the signature processing system in one aspect of the present invention may be used.
A setting device that sets the master private key information generated based on security information in the signature processing device in a secret state, and
Based on the preset master private key information and the application identification information that identifies the application, the private key information corresponding to the application identification information is generated, and based on the private key information and the message information to be signed. , The master secret key information, the secret key information, or both are temporarily stored in the secret area in the process of generating the signature information corresponding to the message information and generating the secret key information or the signature information. With the terminal device
It is characterized by having a verification device that verifies the signature information based on the message information.
更に、上記目的を達成するため、本発明の一側面におけるプログラムを記録したコンピュータ読み取り可能な記録媒体は、
コンピュータに、
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を実行させることを特徴とする。Further, in order to achieve the above object, a computer-readable recording medium on which a program according to one aspect of the present invention is recorded may be used.
On the computer
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
Is characterized by executing.
以上のように本発明によれば、動的に秘密鍵を生成する場合においても秘密鍵を保護することができる。 As described above, according to the present invention, the private key can be protected even when the private key is dynamically generated.
(実施の形態)
以下、本発明の実施の形態について、図1から図8を参照しながら説明する。(Embodiment)
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 8.
[装置構成]
最初に、図1を用いて、本実施の形態における署名処理装置1の構成について説明する。図1は、署名処理装置の一例を示す図である。[Device configuration]
First, the configuration of the
図1に示す本実施の形態における署名処理装置1は、動的に秘密鍵を生成する場合においても、秘密鍵を保護することができる装置である。また、図1に示すように、署名処理装置1は、秘密鍵情報生成部2と、署名情報生成部3と、秘匿部4とを有する。
The
このうち、秘密鍵情報生成部2は、予め設定されたマスタ秘密鍵情報(マスタ秘密鍵msk)とアプリケーションを識別するアプリケーション識別情報(アプリケーションID)とに基づいて、アプリケーションIDに対応する秘密鍵情報(秘密鍵sk)を生成する。署名情報生成部3は、秘密鍵skと署名対象であるメッセージ情報(メッセージM)とに基づいて、メッセージMに対応する署名情報(δID, M)を生成する。秘匿部4は、秘密鍵sk又は署名情報(δID, M)を生成する過程において、マスタ秘密鍵msk、又は、秘密鍵sk、又は、それら両方を一時記憶する秘匿領域を有する。Of these, the private key
なお、秘匿部4の秘匿領域は、外部からアクセスすることが困難なセキュアなメモリ領域である。例えば、署名処理装置1のハードウェアがCPU(Central Processing Unit)を用いて構成されている回路である場合、CPUのキャッシュメモリなどを用いることが考えられる。また、例えば、署名処理装置1が専用ハードウェア、TEE(Trusted Execution Environment)など、外部からデータにアクセスできない状態で実現されていることが考えられる。また、アプリケーションIDは、サービス提供元が提供するサービスに対応するアプリケーションを識別する情報である。メッセージMは、サービス提供元から送信される平文、画像データなどの情報である。
The secret area of the
このように、本実施の形態では、アプリケーションの実行中において秘密鍵skを生成する場合においても、ホワイトボックス実装方式のように、秘密鍵skを保護できる。すなわち、署名処理装置1に予め記憶されたマスタ秘密鍵mskと、アプリケーションを識別するアプリケーションIDとに基づいて動的に秘密鍵skを生成する場合においても、秘匿部4を用いて秘密鍵skを生成するので、外部に秘密鍵skを漏洩しないようにできる。また、本実施の形態では、秘密鍵skと署名対象であるメッセージMとに基づいて、署名情報(δID, M)を生成する場合においても、秘匿部4を用いて署名情報(δID,M)を生成するので、外部に秘密鍵skが漏洩しないようにできる。As described above, in the present embodiment, even when the private key sk is generated during the execution of the application, the private key sk can be protected as in the white box implementation method. That is, even when the secret key sk is dynamically generated based on the master secret key msk stored in advance in the
また、ホワイトボックス実装方式として、署名処理装置1に、想定されるアプリケーション分の複数の秘密鍵skを予め記憶しておくことが考えられるが、その場合には、秘密鍵skを製造元が把握しているため、秘密鍵skを完全に保護できているとは言えない。更に、ホワイトボックス実装方式として、複数の秘密鍵skを署名処理装置1に記憶するため、署名処理装置1の記憶容量が大きくなる。
Further, as a white box mounting method, it is conceivable that a plurality of private key sks for an assumed application are stored in advance in the
しかしながら、本実施の形態では、署名処理装置1がアプリケーションごとに、秘匿しながら動的に秘密鍵skを生成するため、秘密鍵skを製造元が把握することができないようにできる。更に、予め複数の秘密鍵skを署名処理装置1に記憶しないため、署名処理装置1の記憶容量を小さくできる。
However, in the present embodiment, since the
また、署名処理装置1に予め記憶した秘密鍵skを変更する場合、例えば、安全性を確保するために秘密鍵skを更新することが求められた場合、ホワイトボックス実装方式のように、秘密鍵skを保護することは困難である。しかしながら、本実施の形態では、署名処理装置1は、秘密鍵skを秘匿しながら動的に生成できるため、秘密鍵skを変更しても、秘密鍵skを外部に漏洩しないように保護することができる。
Further, when changing the private key sk stored in advance in the
[システム構成]
続いて、図2、図3を用いて、本実施の形態における署名処理システム20について、認証に適用した場合の例を用いて説明する。図2は、署名処理システム(登録)の一例を示す図である。図3は、署名処理システム(認証)の一例を示す図である。[System configuration]
Subsequently, with reference to FIGS. 2 and 3, the signature processing system 20 according to the present embodiment will be described with reference to an example when applied to authentication. FIG. 2 is a diagram showing an example of a signature processing system (registration). FIG. 3 is a diagram showing an example of a signature processing system (authentication).
図2、3に示すように、本実施の形態における署名処理システム20は、設定装置21と、端末装置22と、検証装置23とを有する。また、端末装置22は、署名処理装置1を有する。更に、図2の署名処理装置1は、秘密鍵情報生成部2、署名情報生成部3、秘匿部4に加え、公開鍵情報生成部24を有する。
As shown in FIGS. 2 and 3, the signature processing system 20 in the present embodiment includes a
設定装置21は、セキュリティ情報(セキュリティパラメータk)に基づいて生成したマスタ秘密鍵情報を、秘匿状態で端末装置22の署名処理装置1に設定する。なお、設定装置21は、端末装置22を製造する製造元に設けられる。
The
具体的には、設定装置21は、まず、製造元が用意したセキュリティパラメータkを取得し、セキュリティパラメータkに基づいて、セキュリティパラメータkに対応するマスタ公開鍵情報(マスタ公開鍵mpk)とマスタ秘密鍵mskとを生成する。セキュリティパラメータkは、利用者が求める安全性の強度を決めるパラメータで、例えば、秘密鍵skのビット数又はメッセージMの長さなどである。
Specifically, the setting
続いて、設定装置21は、生成したマスタ公開鍵mpkとマスタ秘密鍵mskとを、端末装置22が有する署名処理装置1へ記憶する。設定装置21は、例えば、マスタ秘密鍵mskを埋め込んだ公開鍵生成プログラムと秘密鍵生成プログラムとを生成し、公開鍵生成プログラムを公開鍵情報生成部24にインストールし、秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。
Subsequently, the setting
なお、マスタ秘密鍵mskは、ホワイトボックス実装方式において記憶される。また、マスタ秘密鍵mskは、公開鍵生成プログラムと秘密鍵生成プログラムとにそれぞれ埋め込むので、マスタ秘密鍵mskを更に保護することができる。 The master secret key msk is stored in the white box mounting method. Further, since the master private key msk is embedded in the public key generation program and the private key generation program, respectively, the master private key msk can be further protected.
端末装置22は、サービスを利用するための登録と、サービス利用時に行う認証とを実行する装置である。端末装置22は、例えば、パーソナルコンピュータ、ノートパソコン、スマートホン、タブレットなどである。
The
図2を用いて、サービスを利用するための登録について説明する。
端末装置22に設けられた署名処理装置1の公開鍵情報生成部24は、予め設定されたマスタ秘密鍵mskと、サービスに対応したアプリケーションIDと、マスタ公開鍵mpkとに基づいて、アプリケーションIDに対応する公開鍵pkを生成する。Registration for using the service will be described with reference to FIG.
The public key
また、端末装置22に設けられた署名処理装置1の秘匿部4は、公開鍵pkを生成する過程において生成される、マスタ秘密鍵msk、又は、公開鍵pk、又は、それら両方を、秘匿領域に一時記憶する。更に、秘匿部4は、公開鍵pkを生成する過程において生成される、マスタ秘密鍵mskに関係する演算結果を、秘匿領域に一時記憶してもよい。
Further, the
続いて、端末装置22は、公開鍵pkをサービス提供元サーバなどに設けられている検証装置23へ送信する。検証装置23は、公開鍵pkを受信した場合、公開鍵pkを記憶する。
Subsequently, the
図3を用いて、サービス利用時に行う認証について説明する。
端末装置22に設けられた署名処理装置1の秘密鍵情報生成部2は、まず、マスタ秘密鍵mskと、アプリケーションIDとに基づいて、アプリケーションIDに対応する秘密鍵skを生成する。続いて、端末装置22に設けられた署名処理装置1の署名情報生成部3は、秘密鍵skと認証に用いる署名対象であるメッセージMとに基づいて、メッセージMに対応する署名情報(δID, M)を生成する。続いて、端末装置22は、生成した公開鍵pkと署名情報(δID, M)とを、検証装置23へ送信する。The authentication performed when using the service will be described with reference to FIG.
The secret key
ここで、秘密鍵情報生成部2と署名情報生成部3とは、秘密鍵sk又は署名情報(δID, M)を生成する過程において、秘匿部4の秘匿領域にマスタ秘密鍵msk、又は、秘密鍵sk、又は、それら両方を、一時記憶する。Here, the secret key
更に、秘匿部4は、秘密鍵sk又は署名情報(δID, M)を生成する過程において生成される、マスタ秘密鍵mskに関係する演算結果、又は、秘密鍵skに関係する演算結果、又は、それら両方に関係する演算結果を、生成過程において一時記憶する。Further, the
なお、秘匿部4は、秘密鍵sk又は署名情報(δID, M)を生成する過程において、マスタ秘密鍵msk、秘密鍵sk、演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、マスタ秘密鍵msk、秘密鍵sk、演算結果を、秘匿領域から消去する。In the process of generating the secret key sk or the signature information (δ ID , M), the
検証装置23は、メッセージMに基づいて、署名情報(δID,M)を検証する。具体的には、検証装置23は、サービスを利用する際に登録した公開鍵pkを用いて、メッセージMに基づいて生成された署名情報(δID, M)の検証をする。また、検証装置23は、検証において署名情報(δID, M)を受理した場合(署名情報(δID, M)が正しい場合)、受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する。なお、検証装置23は、サービス提供元に設けられたサーバなどに設けられている。The
[変形例1]
変形例1における署名処理(登録)について説明をする。
図4は、暗号処理署名処理システム(変形例1)の一例を示す図である。設定装置21は、まず、セキュリティパラメータkを取得する。続いて、設定装置21は、セキュリティパラメータkを用いて、パラメータParamを生成する。パラメータParamは、例えば、Setup(1^k)を実行して得る。具体的には、楕円曲線、楕円曲線上のkビット素数位数pを持つ群G、群Gの生成元gなどを用いてパラメータParamを生成する。1^kは1をkビット並べたデータである。なお、セキュリティパラメータがkであることを意味する他の表記であってもよい。[Modification 1]
The signature processing (registration) in the first modification will be described.
FIG. 4 is a diagram showing an example of a cryptographic signature processing system (modification example 1). The
続いて、設定装置21は、ハッシュ関数Hを用いてマスタ秘密鍵mskを生成する。例えば、マスタ秘密鍵mskは、KeyGen_msk(param,1^k)を実行して得る。マスタ秘密鍵mskは、例えば、[1,p−1]からランダムに選ばれた値である。pはparamで定められた素数である。
Subsequently, the setting
また、設定装置21は、マスタ公開鍵mpkを生成する。例えば、マスタ公開鍵mpkは、mpk=(Param,H)などである。Hは任意のバイナリ系列{0,1}*を入力とし、[1,p−1]の値を出力する暗号学的に安全なハッシュ関数である。
Further, the setting
続いて、設定装置21は、マスタ公開鍵mpk=(Param,H)を埋め込んだ公開鍵生成プログラムを公開鍵情報生成部24にインストールし、マスタ秘密鍵mskを埋め込んだ秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。
Subsequently, the setting
公開鍵情報生成部24は、マスタ秘密鍵mskとアプリケーションIDとにハッシュ関数Hを適用して、秘密鍵sk(=H(msk,ID))を生成する。また、公開鍵情報生成部24は、パラメータParam、データ1^k、秘密鍵skを用いて、公開鍵pkを生成する。例えば、公開鍵pkは、KeyGen_pk(Param,1^k,sk)を実行して得られ、pk=[sk]gである。ここで[x]gは楕円曲線上の点gの定数x倍を意味する。
The public key
更に、公開鍵情報生成部24は、マスタ秘密鍵msk、秘密鍵sk、公開鍵pk、秘密鍵sk及び公開鍵pkを生成する過程で生成された演算結果を、秘匿部4を用いて秘匿しながら、秘密鍵sk及び公開鍵pkを生成する。
Further, the public key
続いて、サービスを利用するための登録をする場合、端末装置22は、公開鍵情報生成部24が生成した公開鍵pkを、検証装置23へ送信する。、
Subsequently, when registering to use the service, the
変形例1における署名処理(認証)について説明をする。
秘密鍵情報生成部2は、マスタ秘密鍵mskとアプリケーションIDとにハッシュ関数Hを適用して、秘密鍵sk(=H(msk,ID))を生成する。署名情報生成部3は、秘密鍵skとメッセージMとを用いて、署名情報(δID, M)を生成する。署名情報(δID, M)は、例えば、SigGen(pk,sk,M)を実行して得る。続いて、署名情報生成部3は、署名情報(δID, M)を検証装置23へ送信する。例えば、SigGen(pk,sk,M)はEC−DSA、EC−Schnorr署名の署名生成である。ここでは、楕円曲線を用いたデジタル署名方式を例としているが、他の署名方式でもよい。The signature processing (authentication) in the first modification will be described.
The secret key
なお、署名情報生成部3は、秘密鍵skとメッセージMと公開鍵pkとを用いて、署名情報(δID, M)を生成してもよい。この場合、公開鍵情報生成部24と別に、秘密鍵情報生成部2又は署名情報生成部3が、パラメータParam、データ1^k、秘密鍵skを用いて、公開鍵pkを生成する。 The signature information generation unit 3 may generate signature information (δ ID , M) by using the private key sk, the message M, and the public key pk. In this case, apart from the public key
検証装置23は、登録された公開鍵pkと受信した署名情報(δID, M)とを用いて、検証をする。検証は、例えば、Verify(pk,(δID, M))を実行して、受理、不受理であるかを検証する。また、検証装置23は、検証後、受理した場合は受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する。例えば、Verify(pk,(δID, M))は、EC−DSA、EC−Schnorr署名の署名検証である。ここでは、楕円曲線を用いたデジタル署名方式を例としているが、他の署名方式でもよい。The
[変形例2]
図5は、暗号処理署名処理システム(変形例2)の一例を示す図である。変形例2では、IDベース署名方式を用いた場合について説明する。IDベース署名方式は、ID−Setup、ID−KeyGen、ID−SigGen、ID−Verifyの四つのアルゴリズムからなる。[Modification 2]
FIG. 5 is a diagram showing an example of a cryptographic signature processing system (modification example 2). In the second modification, a case where the ID-based signature method is used will be described. The ID-based signature method consists of four algorithms: ID-Setup, ID-KeyGen, ID-SigmaGen, and ID-Verify.
ID−Setupは、セキュリティパラメータkを入力とし、マスタ秘密鍵mskとマスタ公開鍵mpkを生成する。ID−KeyGenは、マスタ秘密鍵mskとIDを入力とし、IDに対応した秘密鍵skIDを生成する。ID−SigGenは、IDに対応した秘密鍵skIDと署名対象メッセージMを入力とし、署名情報(σID,M)を生成する。ID−Verifyは、マスタ公開鍵mpkと署名情報(σID,M)を入力とし、受理または不受理を生成する。なお、IDベース署名方式は、例えば、特許文献1や特許文献2に記載された方式など多くの方式が知られている。ID-Setup takes the security parameter k as an input and generates the master private key msk and the master public key mpk. ID-KeyGen takes the master secret key msk and ID as input, and generates the secret key sk ID corresponding to the ID. ID-Sigma Gen generates signature information (σ ID , M) by inputting the private key sk ID corresponding to the ID and the signature target message M. ID-Verify takes the master public key mpk and signature information (σ ID , M) as input, and generates acceptance or rejection. As the ID-based signature method, many methods are known, for example, the methods described in
変形例2における署名処理(登録)について説明をする。
設定装置21は、まず、セキュリティパラメータkを取得する。続いて、設定装置21は、セキュリティパラメータkを用いて、ID−Setup(1^k)を実行して、マスタ秘密鍵mskとマスタ公開鍵mpkとを生成する。The signature process (registration) in the second modification will be described.
The
例えば、マスタ秘密鍵msk=sは、[1,q−1]からランダムに選ばれた値とする。なお、qは素数である。マスタ公開鍵mpk=(G1,G2,e,P,Ppub,H1,H2)は、双線形写像eの性質を利用して生成する。双線形写像eは、位数が素数qの二つの楕円曲線上の群G1、G2に関し、G1×G1からG2への写像を行う。ジェネレータPは、群G1に属する値である。Ppubは、[s]Pにより算出する。H1は任意のバイナリ系列{0,1}*を、楕円曲線上の群G1に写像するハッシュ関数である。H2は{0,1}*×G1を[1,q−1]に写像するハッシュ関数である。 For example, the master secret key msk = s is a value randomly selected from [1, q-1]. Note that q is a prime number. The master public key mpk = (G1, G2, e, P, Ppub, H1, H2) is generated by utilizing the property of the bilinear map e. The bilinear map e maps from G1 × G1 to G2 with respect to the groups G1 and G2 on two elliptic curves whose order is prime q. The generator P is a value belonging to the group G1. Ppub is calculated by [s] P. H1 is a hash function that maps an arbitrary binary series {0,1} * to the group G1 on the elliptic curve. H2 is a hash function that maps {0,1} * × G1 to [1, q-1].
続いて、設定装置21は、マスタ秘密鍵mskとマスタ公開鍵mpkとを埋め込んだ秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。なお、設定装置21は、マスタ公開鍵mpkを秘密鍵生成プログラムと別に、端末装置22のいずれかのメモリに記憶してもよい。
Subsequently, the setting
また、変形例2においては、端末装置22の署名処理装置1には公開鍵情報生成部24は設けなくてもよい。その理由は、マスタ公開鍵mpkを公開鍵pkとして用いるためである。また、そうすることで、公開鍵pkを生成する際に、マスタ秘密鍵msk、秘密鍵sk、更にそれらに関係する演算結果が漏洩するリスクがなくなる。
Further, in the second modification, the
続いて、サービスを利用するための登録をする場合、端末装置22は、マスタ公開鍵mpkを、検証装置23へ送信する。
Subsequently, when registering to use the service, the
変形例2における署名処理(認証)について説明をする。
秘密鍵情報生成部2は、マスタ秘密鍵mskとアプリケーションIDとを用いて、ID−KeyGen(msk,ID)を実行して、秘密鍵skIDを生成する。秘密鍵skIDは、例えば、[s]QID(=H1(ID))を実行して得る。The signature processing (authentication) in the second modification will be described.
The private key
署名情報生成部3は、秘密鍵skIDとメッセージMとを用いて、ID−SigGen(skID,M)を実行して、署名情報(δID, M)を生成する。署名情報(δID, M)は、例えば、δID=(U,V)とする。Uは、[r]QIDにより算出される。rは[1,q−1]からランダムに選んだ値である。Vは、[r+h]skIDにより算出する。hは、H2(M,U)により算出される。The signature
続いて、署名情報生成部3は、署名情報(δID, M)を検証装置23へ送信する。Subsequently, the signature
なお、署名情報生成部3は、秘密鍵skIDとメッセージMとマスタ公開鍵mpkとを用いて、署名情報(δID, M)を生成してもよい。The signature
検証装置23は、登録された公開鍵pk(=マスタ公開鍵mpk)と、アプリケーションIDと、受信した署名情報(δID, M)とを用いて、検証をする。検証は、例えば、ID−Verify(mpk,ID,(δID, M))を実行し、e(Ppub,U+[h],QID)=e(P,V)が成立したら受理、そうでない場合には不受理を出力する。ただし、h=H2(M,U)とする。また、検証装置23は、検証後、受理した場合は受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する。The
[装置動作]
次に、本発明の実施の形態における署名処理装置の動作について、図2から図5を用いて説明する。図6は、署名処理システム(登録)の動作の一例を示す図である。図7は、署名処理システム(認証)の動作の一例を示す図である。以下の説明においては、適宜図2から図5を参酌する。また、本実施の形態では、署名処理装置1を動作させることによって、署名処理方法が実施される。よって、本実施の形態における署名処理方法の説明は、以下の署名処理装置1の動作説明に代える。[Device operation]
Next, the operation of the signature processing apparatus according to the embodiment of the present invention will be described with reference to FIGS. 2 to 5. FIG. 6 is a diagram showing an example of the operation of the signature processing system (registration). FIG. 7 is a diagram showing an example of the operation of the signature processing system (authentication). In the following description, FIGS. 2 to 5 will be referred to as appropriate. Further, in the present embodiment, the signature processing method is implemented by operating the
まず、図6を用いて、署名処理システム20の登録の動作について説明する。
設定装置21は、まず、セキュリティパラメータkを取得し、セキュリティパラメータkに基づいて、マスタ秘密鍵mskを生成する(ステップA1)。続いて、設定装置21は、生成したマスタ秘密鍵mskを端末装置22に設定する(ステップA2)。First, the operation of registration of the signature processing system 20 will be described with reference to FIG.
First, the setting
具体的には、設定装置21は、まず、製造元が用意したセキュリティパラメータkを取得し、セキュリティパラメータkに基づいて、セキュリティパラメータkに対応するマスタ公開鍵mpkとマスタ秘密鍵mskとを生成する。
Specifically, the setting
続いて、設定装置21は、生成したマスタ公開鍵mpkとマスタ秘密鍵mskとを、端末装置22が有する署名処理装置1へ記憶する。例えば、設定装置21は、マスタ秘密鍵mskを埋め込んだ公開鍵生成プログラムと秘密鍵生成プログラムとを生成し、公開鍵生成プログラムを公開鍵情報生成部24にインストールし、秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。
Subsequently, the setting
続いて、端末装置22の公開鍵情報生成部24は、予め設定されたマスタ秘密鍵mskと、サービスに対応したアプリケーションIDと、マスタ公開鍵mpkとに基づいて、アプリケーションIDに対応する公開鍵pkを生成する(ステップA3)。
Subsequently, the public key
なお、端末装置22の秘匿部4は、公開鍵pkを生成する過程において生成される、マスタ秘密鍵msk、又は、公開鍵pk、又は、それら両方を、秘匿領域に一時記憶する。更に、秘匿部4は、公開鍵pkを生成する過程において生成される、マスタ秘密鍵mskに関係する演算結果を、秘匿領域に一時記憶してもよい。
The
続いて、端末装置22は、公開鍵pkをサービス提供元サーバなどに設けられている検証装置23へ送信する(ステップA4)。サービス提供元サーバの検証装置23は、公開鍵pkを受信した場合、公開鍵pkを記憶する(ステップA5)。具体的には、検証装置23は、公開鍵pkを受信した場合、利用者情報と公開鍵pkとを関連付けて記憶する。その後、検証装置23は、利用者を識別する利用者IDを生成して、端末装置22に送信する。例えば、FIDO(Fast IDentity Online)に適用する場合、公開パラメータにAuthenticatorのAttestation秘密鍵で署名を付与する。
Subsequently, the
[変形例1]
変形例1における署名処理(登録)について図6を用いて説明をする。
ステップA1において、設定装置21は、セキュリティパラメータkを用いて、Setup(1^k)を実行し、パラメータParamを生成する。続いて、設定装置21は、パラメータParamを用いて、KeyGen_msk(param, 1^k)を実行し、マスタ秘密鍵mskを生成する。設定装置21は、マスタ公開鍵mpk=(Param,H)を生成する。[Modification 1]
The signature processing (registration) in the first modification will be described with reference to FIG.
In step A1, the setting
ステップA2において、設定装置21は、マスタ公開鍵を埋め込んだ公開鍵生成プログラムを公開鍵情報生成部24にインストールし、マスタ秘密鍵mskを埋め込んだ秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。
In step A2, the setting
ステップA3において、公開鍵情報生成部24は、マスタ秘密鍵mskとアプリケーションIDとにハッシュ関数Hを適用して、秘密鍵sk(=H(msk,ID))を生成する。続いて、公開鍵情報生成部24は、パラメータParam、データ1^k、秘密鍵skを用いて、KeyGen_pk(Param,1^k,sk)を実行し、公開鍵pkを生成する。なお、ステップA3において、公開鍵情報生成部24は、マスタ秘密鍵msk、秘密鍵sk、公開鍵pk、秘密鍵sk及び公開鍵pkを生成する過程で生成された演算結果を、秘匿部4を用いて秘匿しながら、秘密鍵sk及び公開鍵pkを生成する。
In step A3, the public key
ステップA4において、端末装置22は、公開鍵情報生成部24が生成した公開鍵pkを、検証装置23へ送信する。
In step A4, the
[変形例2]
変形例2における署名処理(登録)について図6を用いて説明をする。
ステップA1において、設定装置21は、セキュリティパラメータkを用いて、ID−Setup(1^k)を実行し、マスタ秘密鍵mskとマスタ公開鍵mpkとを生成する。[Modification 2]
The signature processing (registration) in the second modification will be described with reference to FIG.
In step A1, the setting
ステップA2において、設定装置21は、マスタ秘密鍵mskを埋め込んだ秘密鍵生成プログラムを秘密鍵情報生成部2にインストールする。
In step A2, the setting
なお、変形例2においては、ステップA3の処理を実行しなくてもよい。その理由は、マスタ公開鍵mpkを公開鍵pkとして用いるためである。そうすることで、公開鍵pkを生成する際に、マスタ秘密鍵msk、秘密鍵sk、更にそれらに関係する演算結果が漏洩するリスクが少なくなる。 In the second modification, the process of step A3 does not have to be executed. The reason is that the master public key mpk is used as the public key pk. By doing so, when the public key pk is generated, the risk of leaking the master private key msk, the private key sk, and the calculation results related to them is reduced.
ステップA4において、端末装置22は、マスタ公開鍵mpkを、検証装置23へ送信する。
In step A4, the
次に、図7を用いて、署名処理システム20の認証の動作について説明する。
秘密鍵情報生成部2は、まず、マスタ秘密鍵mskと、アプリケーションIDとに基づいて、アプリケーションIDに対応する秘密鍵skIDを生成する(ステップB1)。Next, the operation of authentication of the signature processing system 20 will be described with reference to FIG. 7.
The private key information generation unit 2 first generates a private key sk ID corresponding to the application ID based on the master secret key msk and the application ID (step B1).
続いて、署名情報生成部3は、秘密鍵skIDと認証に用いる署名対象であるメッセージMとに基づいて、メッセージMに対応する署名情報(δID, M)を生成する(ステップB2)。具体的には、端末装置22からサービス提供元サーバに利用者IDを送信し、サービス提供元サーバからサービスに対応するメッセージM(例えば、ランダムな値(チャレンジ)など)を受信する。その後、署名情報生成部3は、署名情報(δID, M)を生成する。Subsequently, the signature
続いて、端末装置22は、生成した公開鍵pkと署名情報(δID, M)とを、検証装置23へ送信する(ステップB3)。Subsequently, the
ここで、秘密鍵情報生成部2と署名情報生成部3とは、秘密鍵skID又は署名情報(δID, M)を生成する過程において生成される、秘匿部4の秘匿領域にマスタ秘密鍵msk、又は、秘密鍵skID、又は、それら両方を、生成過程において一時記憶する。更に、秘匿部4は、秘密鍵skID又は署名情報(δID, M)を生成する過程において生成される、マスタ秘密鍵mskに関係する演算結果、又は、秘密鍵skIDに関係する演算結果、又は、それら両方に関係する演算結果を、生成過程において一時記憶する。Here, the secret key
なお、秘匿部4は、秘密鍵skID又は署名情報(δID, M)を生成する過程において、マスタ秘密鍵msk、秘密鍵skID、演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、マスタ秘密鍵msk、秘密鍵skID、演算結果を、秘匿領域から消去する。 In the process of generating the secret key sk ID or the signature information (δ ID , M), the
続いて、検証装置23は、サービスを利用する際に登録した公開鍵pkを用いて、メッセージMに基づいて生成された署名情報(δID, M)の検証をする(ステップB4)。また、検証装置23は、検証後において受理した場合、受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する(ステップB5)。 Subsequently, the verification device 23 verifies the signature information (δ ID , M) generated based on the message M by using the public key pk registered when using the service (step B4). Further, the
[変形例1]
変形例1における署名処理(認証)について図7を用いて説明をする。
ステップB1において、秘密鍵情報生成部2は、マスタ秘密鍵mskとアプリケーションIDとにハッシュ関数Hを適用して、秘密鍵sk(=H(msk,ID))を生成する。[Modification 1]
The signature processing (authentication) in the first modification will be described with reference to FIG. 7.
In step B1, the secret key
ステップB2において、署名情報生成部3は、秘密鍵skとメッセージMとを用いて、SigGen(pk,sk,M)を実行し、署名情報(δID, M)を生成する。In step B2, the signature
ステップB3において、署名情報生成部3は、署名情報(δID, M)を検証装置23へ送信する。In step B3, the signature
なお、署名情報生成部3は、秘密鍵skとメッセージMと公開鍵pkとを用いて、署名情報(δID, M)を生成してもよい。この場合、公開鍵pkは、公開鍵情報生成部24とは別に、秘密鍵情報生成部2又は署名情報生成部3が、パラメータParam、データ1^k、秘密鍵skを用いて、公開鍵pkを生成する。 The signature information generation unit 3 may generate signature information (δ ID , M) by using the private key sk, the message M, and the public key pk. In this case, the public key pk is the public key pk by the private key
ステップB4において、検証装置23は、登録された公開鍵pkと、受信した署名情報(δID, M)とを用いて、Verify(pk,(δID, M))を実行して、受理、不受理であるかを検証する。In step B4, the
ステップB5において、検証装置23は、検証後、受理した場合は受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する。
In step B5, after the verification, the
[変形例2]
変形例2における署名処理(認証)について図7を用いて説明をする。
ステップB1において、秘密鍵情報生成部2は、マスタ秘密鍵mskとアプリケーションIDとを用いて、ID−KeyGen(msk,ID)を実行し、秘密鍵skを生成する。[Modification 2]
The signature processing (authentication) in the second modification will be described with reference to FIG. 7.
In step B1, the secret key
ステップB2において、署名情報生成部3は、秘密鍵skとメッセージMとを用いて、ID−SigGen(skID,M)を実行し、署名情報(δID, M)を生成する。なお、ステップB2において、署名情報生成部3は、秘密鍵skIDとメッセージMとマスタ公開鍵mpkとを用いて、署名情報(δID, M)を生成してもよい。In step B2, the signature
ステップB3において、署名情報生成部3は、署名情報(δID, M)を検証装置23へ送信する。In step B3, the signature
ステップB4において、検証装置23は、登録された公開鍵pkと、受信した署名情報(δID, M)とを用いて、ID−Verify(mpk,ID,(δID, M))を実行して、受理、不受理であるかを検証する。In step B4, the
ステップB5において、検証装置23は、検証後、受理した場合は受理した旨を端末装置22へ送信し、不受理の場合は不受理である旨を端末装置22へ送信する。
In step B5, after the verification, the
[本実施の形態の効果]
以上のように、本実施の形態によれば、アプリケーションの実行中において秘密鍵skを生成する場合においても、ホワイトボックス実装方式のように、秘密鍵を保護できる。すなわち、署名処理装置1に予め記憶されたマスタ秘密鍵mskと、アプリケーションを識別するアプリケーションIDとに基づいて動的に秘密鍵を生成する場合においても、秘匿部4を用いて秘密鍵を生成するので、外部に秘密鍵を漏洩しないようにできる。[Effect of this embodiment]
As described above, according to the present embodiment, even when the private key sk is generated during the execution of the application, the private key can be protected as in the white box implementation method. That is, even when the secret key is dynamically generated based on the master secret key msk stored in advance in the
また、本実施の形態では、秘密鍵と署名対象であるメッセージMとに基づいて、署名情報(δID, M)を生成する場合においても、秘匿部4を用いて署名情報(δID,M)を生成するので、外部に秘密鍵が漏洩しないようにできる。Further, in the present embodiment, based on the message M is signed with a private key, the signature information ([delta] ID, M) even when generating the signature information ([delta] ID uses the
また、公開鍵pkを生成する過程において生成される、マスタ秘密鍵msk、又は、公開鍵pk、又は、それら両方を、秘匿領域に一時記憶するので、外部にそれらの情報が漏洩しないようにできる。更に、公開鍵pkを生成する過程において生成される、マスタ秘密鍵mskに関係する演算結果を、秘匿領域に一時記憶するので、外部にそれらの情報が漏洩しないようにできる。 Further, since the master private key msk, the public key pk, or both of them, which are generated in the process of generating the public key pk, are temporarily stored in the secret area, the information can be prevented from being leaked to the outside. .. Further, since the calculation result related to the master private key msk generated in the process of generating the public key PK is temporarily stored in the secret area, it is possible to prevent the information from being leaked to the outside.
また、本実施の形態によれば、署名処理装置1がアプリケーションごとに、秘匿しながら動的に秘密鍵を生成するため、秘密鍵を製造元が把握することができないようにできる。また、予め複数の秘密鍵を署名処理装置1に記憶しないため、署名処理装置1の記憶容量を小さくできる。
Further, according to the present embodiment, since the
更に、本実施の形態によれば、署名処理装置1は、秘密鍵を秘匿しながら動的に生成できるため、秘密鍵を変更しても、秘密鍵を外部に漏洩しないように保護することができる。
Further, according to the present embodiment, since the
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図6に示すステップA1からA5、図7に示すステップB1からB5を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における署名処理装置と署名処理方法とを実現することができる。この場合、コンピュータのプロセッサは、秘密鍵情報生成部2、署名情報生成部3、秘匿部4、公開鍵情報生成部24として機能し、処理を行なう。[program]
The program according to the embodiment of the present invention may be a program that causes a computer to execute steps A1 to A5 shown in FIG. 6 and steps B1 to B5 shown in FIG. By installing this program on a computer and executing it, the signature processing device and the signature processing method according to the present embodiment can be realized. In this case, the computer processor functions as a private key
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、秘密鍵情報生成部2、署名情報生成部3、秘匿部4、公開鍵情報生成部24のいずれかとして機能してもよい。
Further, the program in the present embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as one of the private key
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、署名処理装置1を実現するコンピュータについて図8を用いて説明する。図8は、署名処理装置を実現するコンピュータの一例を示す図である。[Physical configuration]
Here, a computer that realizes the
図8に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを有する。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
As shown in FIG. 8, the
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
The
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
Further, specific examples of the
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
The data reader /
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
Specific examples of the
なお、本実施の形態における署名処理装置1は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、署名処理装置1は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
The
[付記]
以上の実施の形態に関し、更に以下の付記を開示する。上述した実施の形態の一部又は全部は、以下に記載する(付記1)から(付記20)により表現することができるが、以下の記載に限定されるものではない。[Additional Notes]
The following additional notes will be further disclosed with respect to the above embodiments. A part or all of the above-described embodiments can be expressed by the following descriptions (Appendix 1) to (Appendix 20), but the present invention is not limited to the following description.
(付記1)
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、秘密鍵情報生成部と、
前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、署名情報生成部と、
前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する秘匿領域を有する、秘匿部と、
を有する署名処理装置。(Appendix 1)
A private key information generation unit that generates private key information corresponding to the application identification information based on preset master private key information and application identification information that identifies an application.
A signature information generation unit that generates signature information corresponding to the message information based on the private key information and the message information to be signed.
In the process of generating the secret key information or the signature information, a secret unit having a secret area for temporarily storing the master secret key information, the secret key information, or both of them.
Signature processing device with.
(付記2)
付記1に記載の署名処理装置であって、
前記秘匿部は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理装置。(Appendix 2)
The signature processing device according to
In the process of generating the secret key information or the signature information, the secret unit performs an operation result related to the master secret key information, an operation result related to the secret key information, or an operation related to both of them. A signature processing device characterized by temporarily storing the results.
(付記3)
付記2に記載の署名処理装置であって、
前記秘匿部は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理装置。(Appendix 3)
The signature processing device described in
When the secret unit determines in the process of generating the secret key information or the signature information that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, within a predetermined time after the determination. A signature processing device for erasing the master secret key information, the secret key information, and the calculation result temporarily stored in the secret area.
(付記4)
付記1から3のいずれか一つに記載の署名処理装置であって、
前記秘密鍵情報生成部は、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理装置。(Appendix 4)
The signature processing device according to any one of
The secret key information generation unit is a signature processing device that generates the secret key information by using a hash function for the master secret key information and the application identification information.
(付記5)
付記1から4のいずれか一つに記載の署名処理装置であって、
前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、公開鍵情報生成部と、
前記秘匿部は、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理装置。(Appendix 5)
The signature processing device according to any one of
A public key information generation unit that generates public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information.
The secret unit is a signature processing device that temporarily stores the master private key information, the public key information, or both in the process of generating the public key information.
(付記6)
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を有する署名処理方法。(Appendix 6)
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
Signature processing method with.
(付記7)
付記6に記載の署名処理方法であって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理方法。(Appendix 7)
The signature processing method described in Appendix 6
In the step (c), in the process of generating the secret key information or the signature information, the calculation result related to the master secret key information, the calculation result related to the secret key information, or both of them. A signature processing method characterized by temporarily storing the related calculation results.
(付記8)
付記7に記載の署名処理方法であって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理方法。(Appendix 8)
The signature processing method described in Appendix 7.
In the step (c), in the process of generating the secret key information or the signature information, if it is determined that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, after the determination. A signature processing method comprising erasing the master secret key information, the secret key information, and the calculation result temporarily stored within a predetermined time from the secret area.
(付記9)
付記6から8のいずれか一つに記載の署名処理方法であって、
前記(b)のステップにおいて、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理方法。(Appendix 9)
The signature processing method according to any one of Appendix 6 to 8.
The signature processing method, characterized in that, in the step (b), the secret key information is generated by using a hash function for the master secret key information and the application identification information.
(付記10)
付記6から9のいずれか一つに記載の署名処理方法であって、
(d)前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、ステップを有し、
前記(c)のステップにおいて、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理方法。(Appendix 10)
The signature processing method according to any one of Appendix 6 to 9.
(D) It has a step of generating public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information.
A signature processing method comprising temporarily storing the master private key information, the public key information, or both in the process of generating the public key information in the step (c).
(付記11)
セキュリティ情報に基づいて生成したマスタ秘密鍵情報を、秘匿状態において署名処理装置に設定する、設定装置と、
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成し、前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成し、前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、端末装置と、
前記メッセージ情報に基づいて、前記署名情報を検証する、検証装置と
を有する署名処理システム。(Appendix 11)
A setting device that sets the master private key information generated based on security information in the signature processing device in a secret state, and
Based on the preset master private key information and the application identification information that identifies the application, the private key information corresponding to the application identification information is generated, and based on the private key information and the message information to be signed. , The master secret key information, the secret key information, or both are temporarily stored in the secret area in the process of generating the signature information corresponding to the message information and generating the secret key information or the signature information. With the terminal device
A signature processing system including a verification device that verifies the signature information based on the message information.
(付記12)
付記11に記載の署名処理システムであって、
前記端末装置は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理システム。(Appendix 12)
The signature processing system according to Appendix 11,
In the process of generating the secret key information or the signature information, the terminal device performs an operation result related to the master secret key information, an operation result related to the secret key information, or an operation related to both of them. A signature processing system characterized by temporarily storing the results.
(付記13)
付記12に記載の署名処理システムであって、
前記端末装置は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理システム。(Appendix 13)
The signature processing system described in Appendix 12
When the terminal device determines in the process of generating the secret key information or the signature information that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, within a predetermined time after the determination. A signature processing system comprising erasing the master secret key information, the secret key information, and the calculation result from the secret area.
(付記14)
付記11から13のいずれか一つに記載の署名処理システムであって、
前記端末装置は、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理システム。(Appendix 14)
The signature processing system according to any one of Appendix 11 to 13.
The terminal device is a signature processing system characterized in that the secret key information is generated by using a hash function for the master secret key information and the application identification information.
(付記15)
付記11から14のいずれか一つに記載の署名処理システムであって、
前記端末装置は、前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成し、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理システム。(Appendix 15)
The signature processing system according to any one of Appendix 11 to 14.
In the process of generating the public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information, the terminal device generates the public key information. , The master private key information, the public key information, or both of them are temporarily stored.
(付記16)
コンピュータに、
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。(Appendix 16)
On the computer
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
A computer-readable recording medium that records a program that runs a program.
(付記17)
付記16に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。(Appendix 17)
A computer-readable recording medium on which the program described in Appendix 16 is recorded.
In the step (c), in the process of generating the secret key information or the signature information, the calculation result related to the master secret key information, the calculation result related to the secret key information, or both of them. A computer-readable recording medium that records a program characterized by temporarily storing the results of related operations.
(付記18)
付記17に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。(Appendix 18)
A computer-readable recording medium on which the program described in Appendix 17 is recorded.
In the step (c), in the process of generating the secret key information or the signature information, if it is determined that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, after the determination. A computer-readable recording medium on which a program recording a program characterized by erasing the master secret key information, the secret key information, and the calculation result temporarily stored within a predetermined time from the secret area.
(付記19)
付記16又は18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記(b)のステップにおいて、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。(Appendix 19)
A computer-readable recording medium on which the program according to Appendix 16 or 18 is recorded.
A computer-readable recording medium on which a program is recorded, which comprises generating the secret key information by using a hash function for the master secret key information and the application identification information in the step (b).
(付記20)
付記16から19のいずれか一つに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(d)前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、ステップを実行させ、
前記(c)のステップにおいて、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。(Appendix 20)
A computer-readable recording medium on which the program described in any one of Appendix 16 to 19 is recorded.
On the computer
(D) The step of generating the public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information is executed.
In the step (c), in the process of generating the public key information, a computer reading that records a program characterized by temporarily storing the master private key information, the public key information, or both of them. Possible recording medium.
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made within the scope of the present invention in terms of the structure and details of the present invention.
以上のように本発明によれば、動的に秘密鍵を生成する場合においても秘密鍵を保護することができる。本発明は、動的に秘密鍵を生成することが必要な分野において有用である。 As described above, according to the present invention, the private key can be protected even when the private key is dynamically generated. The present invention is useful in fields where it is necessary to dynamically generate a private key.
1 署名処理装置
2 秘密鍵情報生成部
3 署名情報生成部
4 秘匿部
20 署名処理システム
21 設定装置
22 端末装置
23 検証装置
24 公開鍵情報生成部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス1
112
本発明は、署名処理をする署名処理装置、署名処理方法、署名処理システムに関し、更には、これらを実現するためのプログラムに関する。
The present invention, the signature processing apparatus, the signature processing method for the signature process relates signature processing system, further relates to a program for realizing these.
本発明の目的の一例は、動的に秘密鍵情報を生成する場合においても秘密鍵を保護できる署名処理装置、署名処理方法、署名処理システム、及びプログラムを提供することにある。
An example of an object of the present invention is to provide a signature processing device, a signature processing method, a signature processing system, and a program capable of protecting a private key even when dynamically generating private key information.
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を実行させることを特徴とする。
Furthermore, in order to achieve the above object, the program according to an aspect of the present invention,
On the computer
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
Is characterized by executing.
(付記16)
コンピュータに、
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を実行させるプログラム。
(Appendix 16)
On the computer
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
Program to be run.
(付記17)
付記16に記載のプログラムであって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とするプログラム。
(Appendix 17)
A program according to appendix 16,
In the step (c), in the process of generating the secret key information or the signature information, the calculation result related to the master secret key information, the calculation result related to the secret key information, or both of them. program, characterized in that temporarily stores calculation results related.
(付記18)
付記17に記載のプログラムであって、
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とするプログラム。
(Appendix 18)
A program according to appendix 17,
In the step (c), in the process of generating the secret key information or the signature information, if it is determined that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, after the determination. temporarily stored within a predetermined time, the master secret key information, the secret key information, the calculation result, programs, characterized by erasing from the secret area.
(付記19)
付記16から18のいずれか一つに記載のプログラムであって、
前記(b)のステップにおいて、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とするプログラム。
(Appendix 19)
A program according to any one of Supplementary Note 16 18,
In said step of (b), program, characterized in that by using a hash function as the master secret key information and the application identification information to generate the secret key information.
(付記20)
付記16から19のいずれか一つに記載のプログラムであって、
前記コンピュータに、
(d)前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、ステップを実行させ、
前記(c)のステップにおいて、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とするプログラム。
(Appendix 20)
A program according to any one of Supplementary Note 16 19,
On the computer
(D) The step of generating the public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information is executed.
In said step of (c), in the process of generating the public key information, the master secret key information, or, the public key information or programs, characterized by storing them both time.
Claims (20)
前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、署名情報生成手段と、
前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する秘匿領域を有する、秘匿手段と、
を有する署名処理装置。A private key information generation means that generates private key information corresponding to the application identification information based on preset master private key information and application identification information that identifies an application.
A signature information generation means that generates signature information corresponding to the message information based on the private key information and the message information to be signed.
In the process of generating the secret key information or the signature information, a secret means having a secret area for temporarily storing the master secret key information, the secret key information, or both of them.
Signature processing device with.
前記秘匿手段は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理装置。The signature processing device according to claim 1.
In the process of generating the secret key information or the signature information, the concealment means is an operation result related to the master secret key information, an operation result related to the secret key information, or an operation related to both of them. A signature processing device characterized by temporarily storing the results.
前記秘匿手段は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理装置。The signature processing device according to claim 2.
When it is determined that the master secret key information, the secret key information, and the calculation result will not be used for the subsequent generation in the process of generating the secret key information or the signature information, the concealment means is within a predetermined time after the determination. A signature processing device for erasing the master secret key information, the secret key information, and the calculation result temporarily stored in the secret area.
前記秘密鍵情報生成手段は、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理装置。The signature processing device according to any one of claims 1 to 3.
The secret key information generation means is a signature processing device characterized in that the secret key information is generated by using a hash function for the master secret key information and the application identification information.
前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、公開鍵情報生成手段と、
前記秘匿手段は、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理装置。The signature processing device according to any one of claims 1 to 4.
A public key information generation means that generates public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information.
The secret means is a signature processing device that temporarily stores the master private key information, the public key information, or both in the process of generating the public key information.
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を有する署名処理方法。(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
Signature processing method with.
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理方法。The signature processing method according to claim 6.
In the step (c), in the process of generating the secret key information or the signature information, the calculation result related to the master secret key information, the calculation result related to the secret key information, or both of them. A signature processing method characterized by temporarily storing the related calculation results.
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理方法。The signature processing method according to claim 7.
In the step (c), in the process of generating the secret key information or the signature information, if it is determined that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, after the determination. A signature processing method comprising erasing the master secret key information, the secret key information, and the calculation result temporarily stored within a predetermined time from the secret area.
前記(b)のステップにおいて、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理方法。The signature processing method according to any one of claims 6 to 8.
The signature processing method, characterized in that, in the step (b), the secret key information is generated by using a hash function for the master secret key information and the application identification information.
(d)前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、ステップを有し、
前記(c)のステップにおいて、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理方法。The signature processing method according to any one of claims 6 to 9.
(D) It has a step of generating public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information.
A signature processing method comprising temporarily storing the master private key information, the public key information, or both in the process of generating the public key information in the step (c).
予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成し、前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成し、前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、端末装置と、
前記メッセージ情報に基づいて、前記署名情報を検証する、検証装置と
を有する署名処理システム。A setting device that sets the master private key information generated based on security information in the signature processing device in a secret state, and
Based on the preset master private key information and the application identification information that identifies the application, the private key information corresponding to the application identification information is generated, and based on the private key information and the message information to be signed. , The master secret key information, the secret key information, or both are temporarily stored in the secret area in the process of generating the signature information corresponding to the message information and generating the secret key information or the signature information. With the terminal device
A signature processing system including a verification device that verifies the signature information based on the message information.
前記端末装置は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とする署名処理システム。The signature processing system according to claim 11.
In the process of generating the secret key information or the signature information, the terminal device performs an operation result related to the master secret key information, an operation result related to the secret key information, or an operation related to both of them. A signature processing system characterized by temporarily storing the results.
前記端末装置は、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とする署名処理システム。The signature processing system according to claim 12.
When the terminal device determines in the process of generating the secret key information or the signature information that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, within a predetermined time after the determination. A signature processing system comprising erasing the master secret key information, the secret key information, and the calculation result from the secret area.
前記端末装置は、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とする署名処理システム。The signature processing system according to any one of claims 11 to 13.
The terminal device is a signature processing system characterized in that the secret key information is generated by using a hash function for the master secret key information and the application identification information.
前記端末装置は、前記マスタ秘密鍵情報と、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成し、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とする署名処理システム。The signature processing system according to any one of claims 11 to 14.
In the process of generating the public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information, the terminal device generates the public key information. , The master private key information, the public key information, or both of them are temporarily stored.
(a)予め設定されたマスタ秘密鍵情報とアプリケーションを識別するアプリケーション識別情報とに基づいて、前記アプリケーション識別情報に対応する秘密鍵情報を生成する、ステップと、
(b)前記秘密鍵情報と署名対象であるメッセージ情報とに基づいて、前記メッセージ情報に対応する署名情報を生成する、ステップと、
(c)前記秘密鍵情報又は前記署名情報を生成する過程において、秘匿領域に前記マスタ秘密鍵情報、又は、前記秘密鍵情報、又は、それら両方を一時記憶する、ステップと、
を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。On the computer
(A) A step of generating the private key information corresponding to the application identification information based on the preset master private key information and the application identification information for identifying the application.
(B) A step of generating signature information corresponding to the message information based on the private key information and the message information to be signed.
(C) In the process of generating the secret key information or the signature information, a step of temporarily storing the master secret key information, the secret key information, or both in a secret area, and
A computer-readable recording medium that records a program that runs a program.
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報に関係する演算結果、又は、前記秘密鍵情報に関係する演算結果、又は、それら両方に関係する演算結果を一時記憶する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 16 is recorded.
In the step (c), in the process of generating the secret key information or the signature information, the calculation result related to the master secret key information, the calculation result related to the secret key information, or both of them. A computer-readable recording medium that records a program characterized by temporarily storing the results of related operations.
前記(c)のステップにおいて、前記秘密鍵情報又は前記署名情報を生成する過程において、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を以後生成に使用しないと判定した場合、判定した後所定時間内に一時記憶した、前記マスタ秘密鍵情報、前記秘密鍵情報、前記演算結果を、前記秘匿領域から消去する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 17 is recorded.
In the step (c), in the process of generating the secret key information or the signature information, if it is determined that the master secret key information, the secret key information, and the calculation result will not be used for generation thereafter, after the determination. A computer-readable recording medium on which a program recording a program characterized by erasing the master secret key information, the secret key information, and the calculation result temporarily stored within a predetermined time from the secret area.
前記(b)のステップにおいて、前記マスタ秘密鍵情報と前記アプリケーション識別情報とにハッシュ関数を利用して前記秘密鍵情報を生成する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 16 or 18 is recorded.
A computer-readable recording medium on which a program is recorded, which comprises generating the secret key information by using a hash function for the master secret key information and the application identification information in the step (b).
前記コンピュータに、
(d)前記マスタ秘密鍵情報、前記アプリケーション識別情報と、マスタ公開鍵情報とに基づいて、前記アプリケーション識別情報に対応する公開鍵情報を生成する、ステップを実行させ、
前記(c)のステップにおいて、前記公開鍵情報を生成する過程において、前記マスタ秘密鍵情報、又は、前記公開鍵情報、又は、それら両方を一時記憶する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to any one of claims 16 to 19 is recorded.
On the computer
(D) The step of generating the public key information corresponding to the application identification information based on the master private key information, the application identification information, and the master public key information is executed.
In the step (c), in the process of generating the public key information, a computer reading that records a program characterized by temporarily storing the master private key information, the public key information, or both of them. Possible recording medium.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/031055 WO2020039527A1 (en) | 2018-08-22 | 2018-08-22 | Signature processing apparatus, signature processing method, signature processing system, and computer-readable recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020039527A1 true JPWO2020039527A1 (en) | 2021-05-13 |
JP7070689B2 JP7070689B2 (en) | 2022-05-18 |
Family
ID=69592829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020537944A Active JP7070689B2 (en) | 2018-08-22 | 2018-08-22 | Signature processing device, signature processing method, signature processing system, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7070689B2 (en) |
WO (1) | WO2020039527A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120249292A1 (en) * | 2011-01-13 | 2012-10-04 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Proximity based biometric identification systems and methods |
JP2014068140A (en) * | 2012-09-25 | 2014-04-17 | Sony Corp | Information processor, information processing method and program |
JP2017108293A (en) * | 2015-12-10 | 2017-06-15 | ルネサスエレクトロニクス株式会社 | Semiconductor integrated circuit device and data processing apparatus |
-
2018
- 2018-08-22 JP JP2020537944A patent/JP7070689B2/en active Active
- 2018-08-22 WO PCT/JP2018/031055 patent/WO2020039527A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120249292A1 (en) * | 2011-01-13 | 2012-10-04 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Proximity based biometric identification systems and methods |
JP2014068140A (en) * | 2012-09-25 | 2014-04-17 | Sony Corp | Information processor, information processing method and program |
JP2017108293A (en) * | 2015-12-10 | 2017-06-15 | ルネサスエレクトロニクス株式会社 | Semiconductor integrated circuit device and data processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP7070689B2 (en) | 2022-05-18 |
WO2020039527A1 (en) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313690B (en) | Self-contained encrypted boot policy verification | |
CN112514321B (en) | Shared secret establishment | |
EP3637297A1 (en) | Securing firmware | |
KR100792287B1 (en) | Method for security and the security apparatus thereof | |
US20050091496A1 (en) | Method and system for distributed key management in a secure boot environment | |
CN113434853B (en) | Method for burning firmware to storage device and controller | |
US20130019110A1 (en) | Apparatus and method for preventing copying of terminal unique information in portable terminal | |
JP6756056B2 (en) | Cryptographic chip by identity verification | |
JP2018117185A (en) | Information processing apparatus, information processing method | |
CN115168813A (en) | Firmware signature and processor boot method and apparatus | |
KR102583995B1 (en) | Cryptographic program diversification | |
JP6199712B2 (en) | Communication terminal device, communication terminal association method, and computer program | |
KR20070059891A (en) | Application authentication security system and method thereof | |
JP6357091B2 (en) | Information processing apparatus and computer program | |
CN111949996B (en) | Method, system, equipment and medium for generating and encrypting security private key | |
JP7070689B2 (en) | Signature processing device, signature processing method, signature processing system, and program | |
JP6246516B2 (en) | Information processing system | |
CN111046440B (en) | Tamper verification method and system for secure area content | |
KR20230137422A (en) | Trusted Computing for Digital Devices | |
JP7559841B2 (en) | Information processing device, program execution system, information processing method, and program | |
CN110210189A (en) | Software verification method, software and hardware binding method and its programming device | |
JP2015015542A (en) | Information processing system | |
CN118378240B (en) | Firmware secure start method and system | |
CN118631590B (en) | Lightweight identity authentication method, system and device | |
US20240004986A1 (en) | Cla certificateless authentication of executable programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220418 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7070689 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |