JP2010272899A - Key generating system, key generating method, blind server device, and program - Google Patents

Key generating system, key generating method, blind server device, and program Download PDF

Info

Publication number
JP2010272899A
JP2010272899A JP2009120455A JP2009120455A JP2010272899A JP 2010272899 A JP2010272899 A JP 2010272899A JP 2009120455 A JP2009120455 A JP 2009120455A JP 2009120455 A JP2009120455 A JP 2009120455A JP 2010272899 A JP2010272899 A JP 2010272899A
Authority
JP
Japan
Prior art keywords
unit
blind
key
public information
key generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009120455A
Other languages
Japanese (ja)
Inventor
Yukihiro Ichikawa
幸宏 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009120455A priority Critical patent/JP2010272899A/en
Publication of JP2010272899A publication Critical patent/JP2010272899A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a server for efficiently generating a secret key of a user while blinding user's ID for the server holding a master key in an ID based encryption system. <P>SOLUTION: In the blind server 200, a public information acquiring section 202 acquires public information and a hash function H (x) from a partial secret key generating server 100 for generating a master secret key k. A hash value calculating section 204 inputs the ID of a data receiving terminal device 400, and calculates a hash value h from the ID by the hash function H(x). A blind processing section 205 generates an ID' obtained by blinding the ID from the public information and the hash value h. An information transmitting section 208 transmits the ID' to the partial secret key generating server 100 to generate a partial key d' on the basis of the public information, the master secret key k and the ID'. A secret key generating section 206 generates a secret key d on the basis of the public information, the hash value h and the partial key d'. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラムに関するものである。本発明は、特に、ドメイン管理可能なブラインドID(識別子)ベース暗号システムに関するものである。   The present invention relates to a key generation system, a key generation method, a blind server device, and a program. The present invention particularly relates to a blind ID (identifier) based encryption system capable of domain management.

IDベース暗号(IBE:Identity・Based・Encryption)はShamirによってPKI(Public・Key・Infrastructure)における公開鍵証明書の管理を容易にするためのアプローチとして1984年に紹介された。紹介されてから17年経過した2001年にBonehとFranklinによって完全なるIBEスキームが提案され、現在までそのスキームを利用した様々なシステムが提案されている(例えば、特許文献1、非特許文献1〜4参照)。中でも、従来からIBEではPKG(Private・Key・Generator)がユーザ秘密鍵を生成するため、全てのユーザ秘密鍵がPKGに知られてしまうという鍵供託(key・escrow)問題が議論されており、この問題を解決するためにブラインドIDベース暗号と呼ばれる技術が注目され始めている。   ID-based encryption (IBE: Identity, Based, Encryption) was introduced in 1984 by Shamir as an approach to facilitate the management of public key certificates in PKI (Public, Key, Infrastructure). A complete IBE scheme was proposed by Boneh and Franklin in 2001, 17 years after the introduction, and various systems using the scheme have been proposed to date (for example, Patent Document 1, Non-Patent Documents 1 to 3). 4). Above all, in IBE, since PKG (Private / Key / Generator) generates a user secret key, the key escrow problem that all user secret keys are known to PKG has been discussed. In order to solve this problem, a technique called blind ID-based encryption has begun to attract attention.

また、従来、双方向ネットワークに高速片方向回線を付加した非対称ネットワークシステムにおいて、サーバがクライアントを特定できず、またネットワーク上の通信の盗聴者が通信内容を知ることができない、匿名通信方法が提案されている(例えば、特許文献2参照)。   Conventionally, in an asymmetric network system in which a high-speed unidirectional line is added to a bidirectional network, an anonymous communication method has been proposed in which a server cannot identify a client and a communication eavesdropper cannot know the communication contents. (For example, refer to Patent Document 2).

特開2005−210639号公報Japanese Patent Laying-Open No. 2005-210639 特開平10−336168号公報JP-A-10-336168

Dan Boneh, et al., “Identity−Based Encryption from the Weil Pairing,” Advances in Cryptology − CRYPTO 2001, volume 2139, pages 213−229, Springer, 2001Dan Boneh, et al. , “Identity-Based Encryption from The Weil Pairing,” Advances in Cryptology—CRYPTO 2001, volume 2139, pages 213-229, Springer, 2001 Sattam S. Al−Riyami, et al., “Certificateless Public Key Cryptography,” Advances in Cryptology − ASIACRYPT 2003, volume 2894, pages 452−473, Springer, 2003Sattam S. Al-Riyami, et al. , “Certificateate Public Key Cryptography,” Advances in Cryptology-ASIA CRYPT 2003, volume 2894, pages 452-473, Springer, 2003 Byoungcheon Lee, et al., “Secure Key Issuing in ID−based Cryptography,” Proceedings of the Second Australian Information Security Workshop − AISW 2004, volume 32, pages 69−74, Australian Computer Society, 2004Byongcheon Lee, et al. , “Secure Key Issuing in ID-based Cryptography,” Proceedings of the Second Australian Information Security, Co., Ltd., ASW 2004, vol. Vipul Goyal, “Reducing Trust in the PKG in Identity Based Cryptosystems,” Advances in Cryptology − CRYPTO 2007, volume 4622, pages 430−447, Springer, 2007Vipul Goyal, “Reduce Trust in the PKG in Identity Based Cryptologies,” Advances in Cryptology-CRYPTO 2007, volume 4622, pages 430-4447, pages 430-4447.

非特許文献1は、IBEの現実解となるオリジナルのスキーム及びシステムの発明に関するものである。この文献では階層型IBEを考案している。階層型IBEには、ルートPKGの下にサブPKGを構成し、PKG1台あたりの負荷を分散させる狙いがある。しかし、ルートPKGのルート秘密鍵を用いてサブPKGの秘密鍵及びユーザ秘密鍵を生成するため、ルートPKGのルート秘密鍵から全てのサブPKGの秘密鍵及び全てのユーザ秘密鍵が知られてしまうという点で、鍵供託問題が通常のIBEと同様もしくはよりリスクの高い形で存在するという課題があった。   Non-Patent Document 1 relates to an invention of an original scheme and system that is an actual solution of IBE. In this document, a hierarchical IBE is devised. Hierarchical IBE has the aim of configuring sub-PKGs under the root PKG and distributing the load per PKG. However, since the secret key and user secret key of the sub PKG are generated using the root secret key of the root PKG, the secret keys of all sub PKGs and all user secret keys are known from the root secret key of the root PKG. In this regard, there has been a problem that the key escrow problem exists in a form similar to or higher in risk than ordinary IBE.

非特許文献2は、CL−PKC(Certificateless・Public・Key・Cryptography)と呼ばれるIBEの鍵供託問題を解決するための技術に関するものである。PKGが部分秘密鍵と呼ばれる実際の秘密鍵を生成するために必要なデータをユーザに送付し、ユーザが秘密鍵を生成する。しかしこの技術は、ユーザがユーザ公開鍵を作成しなければならず、しかもユーザ公開鍵も公開情報として公開しなければならないため、PKIと同様にユーザ公開鍵の管理及びダウンロードが手間となるという課題があった。   Non-Patent Document 2 relates to a technique for solving an IBE key deposit problem called CL-PKC (Certificateless, Public, Key, Cryptography). Data required for the PKG to generate an actual secret key called a partial secret key is sent to the user, and the user generates a secret key. However, this technique requires a user to create a user public key, and also needs to disclose the user public key as public information, which makes it difficult to manage and download the user public key as in the case of PKI. was there.

非特許文献3は、非特許文献1や非特許文献2と比較してPKGへの認証回数の軽減やセキュアチャネルを利用しない等の点で有利な、IBEの鍵供託問題を解決するための技術に関するものである。この技術では、PKGのほかにKPA(Key・Privacy・Authority)と呼ばれる鍵配布中継サーバを用いるが、ユーザは複数あるKPA全てにアクセスし、それぞれから部分秘密鍵を取得しなければ秘密鍵を生成することができないため、秘密鍵の生成にコストがかかるという課題があった。   Non-Patent Document 3 is a technique for solving the IBE key deposit problem, which is advantageous compared to Non-Patent Document 1 and Non-Patent Document 2 in that the number of authentications to PKG is reduced and a secure channel is not used. It is about. This technology uses a key distribution relay server called KPA (Key / Privacy / Authority) in addition to PKG, but the user accesses all KPAs and generates a secret key if they do not obtain a partial secret key from each. There is a problem that it is expensive to generate a secret key because it cannot be performed.

非特許文献4は、A−IBE(Accountable・Authority・Identity・Based・Encryption)と呼ばれるPKGが不正に生成した秘密鍵の不正を証明するための技術に関するものである。上述した技術と同様にIBEの鍵供託問題を解決できるが、PKGに対してIDをブラインドにすることはできないという課題があった。   Non-Patent Document 4 relates to a technique for proving the fraud of a secret key illegally generated by a PKG called A-IBE (Accountable / Authenticity / Identity / Based / Encryption). Although the IBE key deposit problem can be solved in the same manner as the above-described technique, there is a problem that the ID cannot be blinded to the PKG.

特許文献1は、階層型IBEの鍵生成のシステムで、Weil・pairing等の写像を用いた従来の暗号化通信の安全性に依拠することなく、他の数学的問題に基づいて暗号化通信の安全性を確保するシステムに関するものである。しかし、通常の階層型IBEシステムと同様、ルートPKGから中継サーバのマスタ秘密鍵を生成するため、全てのユーザ秘密鍵がルートPKGに知られてしまうという点で、鍵供託問題が存在するという課題があった。   Patent Document 1 is a hierarchical IBE key generation system that does not rely on the security of conventional encrypted communication using a mapping such as Weil and Pairing, and is based on other mathematical problems. The present invention relates to a system for ensuring safety. However, as with the normal hierarchical IBE system, since the master secret key of the relay server is generated from the root PKG, there is a problem that there is a key escrow problem in that all the user secret keys are known to the root PKG. was there.

特許文献2は、クライアントがコンテンツサーバに要求したコンテンツを、中継サーバを用いることで、クライアント情報だけをブラインドにしつつ、コンテンツを閲覧する方式に関するものである。しかし、この方式では、コンテンツ自体にクライアント情報が含まれていないことが前提となっており、IBEにおけるユーザ公開鍵(ID)等、コンテンツ自体にクライアント情報が含まれている場合、サーバに対してクライアント情報をブラインドにしつつシステムを運用することは不可能であるという課題があった。   Patent Document 2 relates to a method of browsing content while blinding only client information by using a relay server for content requested by a client from a content server. However, this method is based on the premise that the client information is not included in the content itself, and if the client information is included in the content itself, such as a user public key (ID) in IBE, There was a problem that it was impossible to operate the system while blinding client information.

本発明は、例えば、IDベース暗号方式におけるマスタ鍵を保持するサーバに対してユーザのIDをブラインドしつつ、ユーザの秘密鍵を効率的に生成するサーバを提供することを目的とする。   An object of the present invention is to provide a server that efficiently generates a user's secret key while blinding the user's ID with respect to a server that holds a master key in an ID-based encryption scheme, for example.

本発明の一の態様に係る鍵生成システムは、
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成システムであって、
前記公開情報と前記ハッシュ関数とを記憶装置に記憶する情報公開部と、
前記情報公開部により記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成するマスタ鍵生成部とを有する鍵生成サーバ装置を備えるとともに、
前記鍵生成サーバ装置の情報公開部により記憶された公開情報とハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信する情報送信部とを有するブラインドサーバ装置を備え、
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の情報送信部により送信されたブラインド識別子を受信する情報受信部と、
前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子とに基づいて、部分鍵を処理装置で生成する部分鍵生成部と、
前記部分鍵生成部により生成された部分鍵を前記ブラインドサーバ装置に送信する情報送信部とを有し、
前記ブラインドサーバ装置は、さらに、
前記鍵生成サーバ装置の情報送信部により送信された部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とする。
A key generation system according to one aspect of the present invention includes:
For a terminal device that receives ciphertext encrypted by an ID (identifier) -based encryption method using predetermined public information and a hash value obtained from a terminal identifier for identifying itself by a predetermined hash function, A key generation system for generating a secret key for decrypting a sentence,
An information disclosure unit for storing the public information and the hash function in a storage device;
A key generation server device including a master key generation unit that generates a master key serving as a basis of the secret key from a public information stored by the information disclosure unit;
A public information acquisition unit that acquires public information and a hash function stored by the information disclosure unit of the key generation server device;
A hash value calculation unit that inputs the terminal identifier and calculates the hash value by a processing device using a hash function acquired by the public information acquisition unit from the input terminal identifier;
A blind processing unit that generates a blind identifier obtained by blindly blinding the terminal identifier from the public information acquired by the public information acquisition unit and the hash value calculated by the hash value calculation unit;
A blind server device comprising: an information transmission unit that transmits the blind identifier generated by the blind processing unit to the key generation server device;
The key generation server device further includes:
An information receiving unit that receives the blind identifier transmitted by the information transmitting unit of the blind server device;
A partial key generation unit that generates a partial key by a processing device based on public information stored by the information disclosure unit, a master key generated by the master key generation unit, and a blind identifier received by the information reception unit When,
An information transmission unit that transmits the partial key generated by the partial key generation unit to the blind server device;
The blind server device further includes:
An information receiving unit that receives the partial key transmitted by the information transmitting unit of the key generation server device;
A secret key for generating the secret key by the processing device based on the public information acquired by the public information acquisition unit, the hash value calculated by the hash value calculation unit, and the partial key received by the information reception unit And a generation unit.

本発明の一の態様によれば、ブラインドサーバ装置が、マスタ鍵を生成する鍵生成サーバ装置から所定の公開情報と所定のハッシュ関数とを取得し、端末識別子を入力し、端末識別子からハッシュ関数によりハッシュ値を計算し、公開情報とハッシュ値とから、端末識別子をブラインドしたブラインド識別子を生成し、ブラインド識別子を鍵生成サーバ装置に送信して公開情報とマスタ鍵とブラインド識別子とに基づいて部分鍵を生成させ、公開情報とハッシュ値と部分鍵とに基づいて秘密鍵を生成するため、鍵生成サーバ装置に対してユーザのIDをブラインドしつつ、ユーザの秘密鍵を効率的に生成することが可能となる。   According to one aspect of the present invention, a blind server device acquires predetermined public information and a predetermined hash function from a key generation server device that generates a master key, inputs a terminal identifier, and uses a hash function from the terminal identifier. The hash value is calculated using the public information and the hash value to generate a blind identifier in which the terminal identifier is blinded. The blind identifier is transmitted to the key generation server device, and the partial value is based on the public information, the master key, and the blind identifier. Since the key is generated and the secret key is generated based on the public information, the hash value, and the partial key, the secret key of the user is efficiently generated while the user ID is blinded to the key generation server device. Is possible.

実施の形態1に係る鍵生成システムの構成を示すブロック図である。1 is a block diagram showing a configuration of a key generation system according to Embodiment 1. FIG. 実施の形態1に係る各装置のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of each device according to Embodiment 1. FIG. 実施の形態1に係る部分秘密鍵生成サーバの動作を示すフローチャートである。6 is a flowchart showing an operation of the partial secret key generation server according to the first embodiment. 実施の形態1に係るデータ受信端末装置の動作を示すフローチャートである。4 is a flowchart showing an operation of the data receiving terminal device according to the first embodiment. 実施の形態1に係るブラインドサーバの動作を示すフローチャートである。4 is a flowchart showing an operation of the blind server according to the first embodiment. 実施の形態1に係る部分秘密鍵生成サーバの動作を示すフローチャートである。6 is a flowchart showing an operation of the partial secret key generation server according to the first embodiment. 実施の形態1に係るデータ送信端末装置の動作を示すフローチャートである。3 is a flowchart showing an operation of the data transmission terminal apparatus according to the first embodiment. 実施の形態1に係るデータ受信端末装置の動作を示すフローチャートである。4 is a flowchart showing an operation of the data receiving terminal device according to the first embodiment. 実施の形態2に係る鍵生成システムの構成を示すブロック図である。6 is a block diagram illustrating a configuration of a key generation system according to Embodiment 2. FIG. 実施の形態3に係る鍵生成システムの構成を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration of a key generation system according to Embodiment 3. 実施の形態3に係るブラインドサーバの動作を示すフローチャートである。10 is a flowchart showing an operation of the blind server according to the third embodiment. 実施の形態3に係る部分秘密鍵生成サーバの動作を示すフローチャートである。10 is a flowchart showing the operation of the partial secret key generation server according to the third embodiment.

以下、本発明の実施の形態について、図を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

実施の形態1.
図1は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a key generation system 10 according to the present embodiment.

図1において、鍵生成システム10は、部分秘密鍵生成サーバ100(鍵生成サーバ装置)、ブラインドサーバ200(ブラインドサーバ装置)、データ送信端末装置300、データ受信端末装置400(端末装置)を備える。部分秘密鍵生成サーバ100とブラインドサーバ200とは、インターネット等のネットワーク20を介して互いに通信をする。ブラインドサーバ200とデータ受信端末装置400とは、企業の社内ネットワーク等、セキュアなネットワーク30を介して互いに通信をする。データ送信端末装置300とデータ受信端末装置400とは、インターネット等のネットワーク20を介して互いに通信をする。なお、複数のブラインドサーバ200、複数のデータ送信端末装置300が、ネットワーク20に接続されていても構わない。また、複数のデータ受信端末装置400が、ネットワーク30に接続されていても構わない。例えば、同じドメイン(企業の部署等)に属する複数のデータ受信端末装置400を、そのドメインのネットワーク30を介して、そのドメイン専用のブラインドサーバ200に接続させるという構成をとれば、ドメイン管理が容易でセキュアなシステムを提供することができる。   In FIG. 1, a key generation system 10 includes a partial secret key generation server 100 (key generation server device), a blind server 200 (blind server device), a data transmission terminal device 300, and a data reception terminal device 400 (terminal device). The partial secret key generation server 100 and the blind server 200 communicate with each other via a network 20 such as the Internet. The blind server 200 and the data receiving terminal device 400 communicate with each other via a secure network 30 such as a company internal network. The data transmission terminal device 300 and the data reception terminal device 400 communicate with each other via the network 20 such as the Internet. A plurality of blind servers 200 and a plurality of data transmission terminal devices 300 may be connected to the network 20. A plurality of data receiving terminal devices 400 may be connected to the network 30. For example, if a configuration is adopted in which a plurality of data receiving terminal devices 400 belonging to the same domain (such as a company department) are connected to the blind server 200 dedicated to the domain via the network 30 of the domain, domain management is easy. Can provide a secure system.

部分秘密鍵生成サーバ100は、ID(識別子)ベース暗号(IBE)における部分秘密鍵を生成するサーバであり、素数生成部101、乱数生成部102、情報公開部103、マスタ鍵生成部104、部分鍵生成部105、情報受信部106、情報送信部107を有する。図示していないが、部分秘密鍵生成サーバ100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアは部分秘密鍵生成サーバ100の各部によって利用される。   The partial secret key generation server 100 is a server that generates a partial secret key in ID (identifier) -based encryption (IBE), and includes a prime number generation unit 101, a random number generation unit 102, an information disclosure unit 103, a master key generation unit 104, a partial A key generation unit 105, an information reception unit 106, and an information transmission unit 107 are included. Although not shown, the partial secret key generation server 100 includes hardware such as a processing device, a storage device, an input device, and an output device. The hardware is used by each unit of the partial secret key generation server 100.

ブラインドサーバ200は、IDをブラインドする中継サーバであり、乱数生成部201、公開情報取得部202、認証部203、ハッシュ値計算部204、ブラインド処理部205、秘密鍵生成部206、情報受信部207、情報送信部208を有する。図示していないが、ブラインドサーバ200は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはブラインドサーバ200の各部によって利用される。   The blind server 200 is a relay server that blinds an ID, and includes a random number generation unit 201, a public information acquisition unit 202, an authentication unit 203, a hash value calculation unit 204, a blind processing unit 205, a secret key generation unit 206, and an information reception unit 207. And an information transmission unit 208. Although not shown, the blind server 200 includes hardware such as a processing device, a storage device, an input device, and an output device. The hardware is used by each part of the blind server 200.

データ送信端末装置300は、暗号データの送信者によって利用される端末であり、乱数生成部301、公開情報取得部302、暗号処理部303、情報受信部305、情報送信部306を有する。図示していないが、データ送信端末装置300は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはデータ送信端末装置300の各部によって利用される。   The data transmission terminal device 300 is a terminal used by a sender of encrypted data, and includes a random number generation unit 301, a public information acquisition unit 302, an encryption processing unit 303, an information reception unit 305, and an information transmission unit 306. Although not shown, the data transmission terminal device 300 includes hardware such as a processing device, a storage device, an input device, and an output device. The hardware is used by each unit of the data transmission terminal device 300.

データ受信端末装置400は、暗号データの受信者によって利用される端末であり、公開情報取得部402、復号処理部404、情報受信部405、情報送信部406を有する。図示していないが、データ受信端末装置400は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはデータ受信端末装置400の各部によって利用される。   The data receiving terminal device 400 is a terminal used by a receiver of encrypted data, and includes a public information acquisition unit 402, a decryption processing unit 404, an information receiving unit 405, and an information transmitting unit 406. Although not shown, the data receiving terminal device 400 includes hardware such as a processing device, a storage device, an input device, and an output device. The hardware is used by each unit of the data receiving terminal device 400.

図2は、鍵生成システム10の各装置(部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、データ受信端末装置400)のハードウェア構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a hardware configuration of each device (partial secret key generation server 100, blind server 200, data transmission terminal device 300, and data reception terminal device 400) of the key generation system 10.

図2において、部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、あるいは、データ受信端末装置400は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。   In FIG. 2, a partial secret key generation server 100, a blind server 200, a data transmission terminal device 300, or a data reception terminal device 400 are computers, an LCD 901 (Liquid / Crystal / Display), a keyboard 902 (K / B). And hardware devices such as a mouse 903, an FDD 904 (Flexible Disk Drive), a CDD 905 (Compact Disk Drive), and a printer 906. These hardware devices are connected by cables and signal lines. Instead of the LCD 901, a CRT (Cathode / Ray / Tube) or other display device may be used. Instead of the mouse 903, a touch panel, a touch pad, a trackball, a pen tablet, or other pointing devices may be used.

部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、あるいは、データ受信端末装置400は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。   The partial secret key generation server 100, the blind server 200, the data transmission terminal device 300, or the data reception terminal device 400 includes a CPU 911 (Central Processing Unit) that executes a program. The CPU 911 is an example of a processing device. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, an LCD 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer 906, and an HDD 920 (Hard / Disk) via a bus 912. Connected with Drive) to control these hardware devices. Instead of the HDD 920, a flash memory, an optical disk device, a memory card reader / writer, or other storage medium may be used.

RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。   The RAM 914 is an example of a volatile memory. The ROM 913, the FDD 904, the CDD 905, and the HDD 920 are examples of nonvolatile memories. These are examples of the storage device. The communication board 915, the keyboard 902, the mouse 903, the FDD 904, and the CDD 905 are examples of input devices. The communication board 915, the LCD 901, and the printer 906 are examples of output devices.

通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワーク20,30の一例である。   The communication board 915 is connected to a LAN (Local / Area / Network) or the like. The communication board 915 is not limited to a LAN, but is an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, an ATM (Asynchronous / Transfer / Mode) network, or a WAN (Wide / Area / Network) It does not matter if it is connected to. LAN, WAN, and the Internet are examples of the networks 20 and 30.

HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   The HDD 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 includes programs that execute the functions described as “˜units” in the description of the present embodiment. The program is read and executed by the CPU 911. The file group 924 includes data, information, and signal values described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of this embodiment. And variable values and parameters are included as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in a storage medium such as the RAM 914 or the HDD 920. Data, information, signal values, variable values, and parameters stored in a storage medium such as the RAM 914 and the HDD 920 are read out to the main memory and the cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. It is used for processing (operation) of the CPU 911 such as calculation, control, output, printing and display. During the processing of the CPU 911 such as extraction, search, reference, comparison, calculation, calculation, control, output, printing, and display, data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory. Remembered.

本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。   The arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals. Data and signals are recorded in memory such as RAM 914, FDD904 flexible disk (FD), CDD905 compact disk (CD), HDD920 magnetic disk, optical disk, DVD (Digital Versatile Disc), or other recording media Is done. Data and signals are transmitted by a bus 912, a signal line, a cable, or other transmission media.

本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In the description of the present embodiment, what is described as “to part” may be “to circuit”, “to device”, “to device”, and “to step”, “to process”, “to”. ~ Procedure "," ~ process ". That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, what is described as “˜unit” may be realized only by software, or only by hardware such as an element, a device, a board, and wiring. Alternatively, what is described as “to part” may be realized by a combination of software and hardware, or a combination of software, hardware and firmware. Firmware and software are stored as programs in a recording medium such as a flexible disk, a compact disk, a magnetic disk, an optical disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Or a program makes a computer perform the procedure and method of "-part" described by description of this Embodiment.

図3は、部分秘密鍵生成サーバ100がマスタ秘密鍵と公開パラメータを生成する動作を示すフローチャートである。   FIG. 3 is a flowchart showing an operation in which the partial secret key generation server 100 generates a master secret key and a public parameter.

部分秘密鍵生成サーバ100の素数生成部101は、素数pを処理装置で生成する。部分秘密鍵生成サーバ100の情報公開部103は、素数生成部101により生成された素数pを位数とする巡回群G,G、双線形写像e:G×G→Gを処理装置で生成し、生成した巡回群Gの生成元gを記憶装置に記憶する。即ち、部分秘密鍵生成サーバ100は、素数生成部101により、素数pを生成し、素数pを位数とした巡回群G,Gを生成し(ステップS101)、巡回群Gの生成元をgとする(ステップS102)。G×G→Gが存在する場合、Gは双線形写像eを持つ(ステップS103)。 The prime number generation unit 101 of the partial secret key generation server 100 generates a prime number p by the processing device. The information disclosure unit 103 of the partial secret key generation server 100 uses the processing device to generate a cyclic group G, G 1 , bilinear mapping e: G × G → G 1 with the prime number p generated by the prime number generation unit 101 as an order. The generation source g of the generated cyclic group G is stored in the storage device. That is, the partial secret key generation server 100 uses the prime number generation unit 101 to generate a prime number p, generates cyclic groups G and G 1 with the prime number p as an order (step S101), and generates a generation source of the cyclic group G. It is set as g (step S102). When G × G → G 1 exists, G 1 has a bilinear map e (step S103).

部分秘密鍵生成サーバ100の乱数生成部102は、乱数g,g(g,g∈G)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、g,g∈Gとなるような乱数g,gを生成する(ステップS104)。 The random number generation unit 102 of the partial secret key generation server 100 generates random numbers g 2 and g 3 (g 2 , g 3 εG) by the processing device. That is, the partial secret key generation server 100 uses the random number generation unit 102 to generate random numbers g 2 and g 3 such that g 2 and g 3 ∈G (step S104).

部分秘密鍵生成サーバ100の乱数生成部102は、乱数α(α∈Z)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、α∈Zとなるような乱数αを生成する(ステップS105)。 The random number generation unit 102 of the partial secret key generation server 100 generates a random number α (αεZ q ) by the processing device. That is, the partial secret key generation server 100 uses the random number generation unit 102 to generate a random number α such that αεZ q (step S105).

部分秘密鍵生成サーバ100の乱数生成部102は、t(t>1)個の乱数u(u∈G、j=1,・・・,t)を生成する。部分秘密鍵生成サーバ100の情報公開部103は、任意の文字列xが入力されると、文字列xをn(n=|x|/t)ビットずつに分割して得られるt個のデータaと乱数生成部102により生成された乱数uとを用いて、

Figure 2010272899
を計算し、当該計算結果を文字列xのハッシュ値として出力するハッシュ関数H(x)を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、u∈Gとなるような乱数uを生成し、任意の文字列xをnビットにセグメントするaを上記のように用いるハッシュ関数H(x)を生成する(ステップS106)。 The random number generation unit 102 of the partial secret key generation server 100 generates t (t> 1) random numbers u j (u j εG, j = 1,..., T). When an arbitrary character string x is input, the information disclosure unit 103 of the partial secret key generation server 100 receives t pieces of data obtained by dividing the character string x into n (n = | x | / t) bits. Using a j and the random number u j generated by the random number generation unit 102,
Figure 2010272899
And a hash function H (x) that outputs the calculation result as a hash value of the character string x is generated by the processing device. That is, the partial secret key generation server 100 uses the random number generation unit 102 to generate a random number u j such that u j εG, and uses a j that segments an arbitrary character string x into n bits as described above. A hash function H (x) is generated (step S106).

部分秘密鍵生成サーバ100の情報公開部103は、g(g=gα)を処理装置で生成し、公開情報としてg,g,g,gを記憶装置に記憶する。また、情報公開部103は、生成したハッシュ関数H(x)を記憶装置に記憶する。ここで、公開情報とハッシュ関数H(x)とを合わせて、公開パラメータparams=(g,g,g,g,H(x))と定義する。即ち、部分秘密鍵生成サーバ100は、情報公開部103により、g(=gα)を生成し、公開パラメータをg,g,g,g,Hとし、公開する(ステップS107)。 The information disclosure unit 103 of the partial secret key generation server 100 generates g 1 (g 1 = g α ) by the processing device, and stores g, g 1 , g 2 , and g 3 as public information in the storage device. In addition, the information disclosure unit 103 stores the generated hash function H (x) in a storage device. Here, the public information and the hash function H (x) are combined and defined as a public parameter params = (g, g 1 , g 2 , g 3 , H (x)). That is, the partial secret key generation server 100 generates g 1 (= g α ) by using the information disclosure unit 103, sets the public parameters as g, g 1 , g 2 , g 3 , H, and publishes them (step S107). .

部分秘密鍵生成サーバ100のマスタ鍵生成部104は、情報公開部103により記憶された公開情報から、ユーザ秘密鍵(データ受信端末装置400等の秘密鍵)の基となるマスタ秘密鍵k(マスタ鍵)を処理装置で生成する。具体的には、マスタ鍵生成部104は、公開情報に含まれるgを底とし、乱数生成部102により生成された乱数αを指数とする冪乗を処理装置で計算し、当該計算結果をマスタ秘密鍵kとして記憶装置に記憶する。即ち、部分秘密鍵生成サーバ100は、マスタ鍵生成部104により、下式で表されるマスタ秘密鍵kを生成する(ステップS108)。

Figure 2010272899
The master key generation unit 104 of the partial secret key generation server 100 uses a master secret key k (master) as a basis of a user secret key (secret key of the data receiving terminal device 400, etc.) from the public information stored by the information disclosure unit 103. Key) is generated by the processing device. Specifically, the master key generation unit 104, a g 2 included in the public information and bottom, calculated by the processing device the power of the random number α generated by the random number generation unit 102 and the index, the calculation result Store in the storage device as a master secret key k. That is, the partial secret key generation server 100 generates the master secret key k represented by the following equation by the master key generation unit 104 (step S108).
Figure 2010272899

ステップS101〜ステップS108は、定期的もしくはマスタ秘密鍵kの危殆化を考慮して行われるものであるが、暗号通信ごとに行われてもよい。   Steps S101 to S108 are performed periodically or in consideration of the compromise of the master secret key k, but may be performed for each encrypted communication.

図4は、データ受信端末装置400がユーザ秘密鍵の発行を要求する動作を示すフローチャートである。図5は、ブラインドサーバ200がユーザ秘密鍵を生成する動作を示すフローチャートである。図6は、部分秘密鍵生成サーバ100が部分秘密鍵を生成する動作を示すフローチャートである。   FIG. 4 is a flowchart showing an operation in which the data receiving terminal device 400 requests issuance of a user secret key. FIG. 5 is a flowchart showing an operation in which the blind server 200 generates a user secret key. FIG. 6 is a flowchart showing an operation in which the partial secret key generation server 100 generates a partial secret key.

ブラインドサーバ200の認証部203は、データ受信端末装置400のID(端末識別子)とパスワードとを予め記憶装置に記憶しているものとする。即ち、前提条件として、データ受信端末装置400は、ブラインドサーバ200にIDとパスワードを登録している。   It is assumed that the authentication unit 203 of the blind server 200 stores the ID (terminal identifier) and password of the data receiving terminal device 400 in the storage device in advance. That is, as a precondition, the data receiving terminal device 400 registers an ID and a password in the blind server 200.

ブラインドサーバ200の公開情報取得部202は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、ブラインドサーバ200は、部分秘密鍵生成サーバ100が公開している公開パラメータを、公開情報取得部202を用いて取得する(ステップS301)。なお、ステップS301は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。   The public information acquisition unit 202 of the blind server 200 acquires the public information and the hash function H (x) stored by the information disclosure unit 103 of the partial secret key generation server 100. That is, the blind server 200 acquires the public parameters disclosed by the partial secret key generation server 100 using the public information acquisition unit 202 (step S301). Note that step S301 may be performed only when the public parameters of the partial secret key generation server 100 are changed.

データ受信端末装置400の情報送信部406は、自己を識別するIDとパスワードとをブラインドサーバ200に送信する。即ち、データ受信端末装置400は、情報送信部406を用いて、ブラインドサーバ200にIDとパスワードを送信する(ステップS201)。   The information transmitting unit 406 of the data receiving terminal device 400 transmits an ID for identifying itself and a password to the blind server 200. That is, the data receiving terminal device 400 transmits the ID and password to the blind server 200 using the information transmitting unit 406 (step S201).

ブラインドサーバ200の情報受信部207は、データ受信端末装置400の情報送信部406により送信されたIDとパスワードとを受信する。ブラインドサーバ200の認証部203は、情報受信部207により受信されたIDとパスワードとが予め記憶装置に記憶されたIDとパスワードと一致するかどうかを処理装置で判定することにより、データ受信端末装置400の認証を行う。即ち、ブラインドサーバ200は、情報受信部207を用いて、データ受信端末装置400から送信されたIDとパスワードを受信し、認証部203に入力する(ステップS302)。   The information receiving unit 207 of the blind server 200 receives the ID and password transmitted by the information transmitting unit 406 of the data receiving terminal device 400. The authentication unit 203 of the blind server 200 determines whether or not the ID and password received by the information receiving unit 207 match the ID and password stored in the storage device in advance by the processing device, whereby the data receiving terminal device 400 authentications are performed. That is, the blind server 200 receives the ID and password transmitted from the data receiving terminal device 400 using the information receiving unit 207, and inputs them to the authentication unit 203 (step S302).

ブラインドサーバ200のハッシュ値計算部204は、認証部203による認証が成功した場合、即ち、IDとパスワードとが一致した場合に、IDを入力し、入力したIDから公開情報取得部202により取得されたハッシュ関数H(x)によりハッシュ値hを処理装置で計算する。ブラインドサーバ200のブラインド処理部205は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hとから、IDをブラインドしたID’(ブラインド識別子)を処理装置で生成する。本実施の形態では、ブラインドサーバ200の乱数生成部201が乱数y(第2乱数)(y∈Z)を処理装置で生成し、ブラインド処理部205がID’を生成する際にこの乱数yも利用する。つまり、ブラインド処理部205は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと乱数生成部201により生成された乱数yとから、ID’を処理装置で生成する。具体的には、ブラインド処理部205は、公開情報に含まれるgを底とし、乱数yを指数とする冪乗と、乱数yとを処理装置で乗算し、当該乗算結果をID’として記憶装置に記憶する。即ち、ブラインドサーバ200は、認証に成功した場合、下式のように、IDと乱数生成部201で生成した乱数yを用いて、ブラインド処理したID(ID’)を生成する(ステップS303)。なお、下式において、iはIDを表し、i’はID’を表している。

Figure 2010272899
When the authentication by the authentication unit 203 is successful, that is, when the ID and the password match, the hash value calculation unit 204 of the blind server 200 inputs the ID and is acquired by the public information acquisition unit 202 from the input ID. The hash value h is calculated by the processing device using the hash function H (x). The blind processing unit 205 of the blind server 200 is configured to process an ID ′ (blind identifier) in which the ID is blinded from the public information acquired by the public information acquisition unit 202 and the hash value h calculated by the hash value calculation unit 204. Generate with In the present embodiment, the random number generation unit 201 of the blind server 200 generates a random number y (second random number) (yεZ q ) by the processing device, and this random number y is generated when the blind processing unit 205 generates ID ′. Also use. That is, the blind processing unit 205 processes ID ′ from the public information acquired by the public information acquisition unit 202, the hash value h calculated by the hash value calculation unit 204, and the random number y generated by the random number generation unit 201. Generate by device. Specifically, the blind processing unit 205 multiplies the power using the g included in the public information as a base and the random number y as an exponent and the random number y by the processing device, and stores the multiplication result as ID ′. To remember. That is, when the authentication is successful, the blind server 200 generates an ID (ID ′) subjected to blind processing using the ID and the random number y generated by the random number generation unit 201 as shown in the following equation (step S303). In the following formula, i represents ID, and i ′ represents ID ′.
Figure 2010272899

ブラインドサーバ200の情報送信部208は、後述する部分秘密鍵d’(部分鍵)を部分秘密鍵生成サーバ100に生成させるために、ブラインド処理部205により生成されたID’を部分秘密鍵生成サーバ100に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、部分秘密鍵生成サーバ100にブラインド処理したID(ID’)を送信する(ステップS304)。   The information transmission unit 208 of the blind server 200 uses the partial secret key generation server to generate the ID ′ generated by the blind processing unit 205 in order to cause the partial secret key generation server 100 to generate a partial secret key d ′ (partial key) described later. To 100. That is, the blind server 200 transmits the blind ID (ID ′) to the partial secret key generation server 100 using the information transmission unit 208 (step S304).

部分秘密鍵生成サーバ100の情報受信部106は、ブラインドサーバ200の情報送信部208により送信されたID’を受信する。即ち、部分秘密鍵生成サーバ100は、情報受信部106を用いて、ブラインドサーバ200から送信されたID’を受信する(ステップS401)。   The information reception unit 106 of the partial secret key generation server 100 receives the ID ′ transmitted by the information transmission unit 208 of the blind server 200. That is, the partial secret key generation server 100 receives the ID ′ transmitted from the blind server 200 using the information receiving unit 106 (step S401).

部分秘密鍵生成サーバ100の部分鍵生成部105は、情報公開部103により記憶された公開情報とマスタ鍵生成部104により生成されたマスタ秘密鍵kと情報受信部106により受信されたID’とに基づいて、部分秘密鍵d’を処理装置で生成する。本実施の形態では、部分秘密鍵生成サーバ100の乱数生成部102が乱数r(第3乱数)(r∈Z)を処理装置で生成し、部分鍵生成部105が部分秘密鍵d’を生成する際にこの乱数rも利用する。つまり、部分鍵生成部105は、情報公開部103により記憶された公開情報とマスタ鍵生成部104により生成されたマスタ秘密鍵kと情報受信部106により受信されたID’と乱数生成部102により生成された乱数rとに基づいて、部分秘密鍵d’を処理装置で生成する。具体的には、部分鍵生成部105は、マスタ秘密鍵kと、ID’と公開情報に含まれるgとの積を底とし、乱数rを指数とする冪乗とを処理装置で乗算し、当該乗算結果を部分秘密鍵d’として記憶装置に記憶する。また、部分鍵生成部105は、公開情報に含まれるgを底とし、乱数rを指数とする冪乗を処理装置で計算し、当該計算結果を付加情報d’として記憶装置に記憶する。ここでは、部分秘密鍵d’に付加情報d’を付加したものが部分秘密鍵d’となる。即ち、部分秘密鍵生成サーバ100は、乱数生成部102により、乱数rを生成し、下式のように、生成した乱数rを用いて部分秘密鍵d’を生成する(ステップS402)。

Figure 2010272899
The partial key generation unit 105 of the partial secret key generation server 100 includes the public information stored by the information disclosure unit 103, the master secret key k generated by the master key generation unit 104, and the ID ′ received by the information reception unit 106. Based on the above, the partial secret key d ′ is generated by the processing device. In the present embodiment, the random number generation unit 102 of the partial secret key generation server 100 generates a random number r (third random number) (rεZ q ) by the processing device, and the partial key generation unit 105 generates the partial secret key d ′. This random number r is also used when generating. That is, the partial key generation unit 105 includes the public information stored by the information disclosure unit 103, the master secret key k generated by the master key generation unit 104, the ID ′ received by the information reception unit 106, and the random number generation unit 102. Based on the generated random number r, a partial secret key d ′ is generated by the processing device. Specifically, the partial key generation unit 105 multiplies the master secret key k, the power of ID ′ and g 3 included in the public information by the base, and the power of the random number r as an exponent by the processing device. The multiplication result is stored in the storage device as the partial secret key d 0 ′. In addition, the partial key generation unit 105 calculates a power using the g included in the public information as a base and the random number r as an exponent by the processing device, and stores the calculation result as additional information d 1 ′ in the storage device. Here, the partial secret key d ′ is obtained by adding the additional information d 1 ′ to the partial secret key d 0 ′. That is, the partial secret key generation server 100 generates a random number r using the random number generation unit 102, and generates a partial secret key d ′ using the generated random number r as shown in the following equation (step S402).
Figure 2010272899

部分秘密鍵生成サーバ100の情報送信部107は、部分鍵生成部105により生成された部分秘密鍵d’をブラインドサーバ200に送信する。即ち、部分秘密鍵生成サーバ100は、情報送信部107を用いて、ブラインドサーバ200に部分秘密鍵d’を送信する(ステップS403)。   The information transmission unit 107 of the partial secret key generation server 100 transmits the partial secret key d ′ generated by the partial key generation unit 105 to the blind server 200. That is, the partial secret key generation server 100 transmits the partial secret key d ′ to the blind server 200 using the information transmission unit 107 (step S403).

ブラインドサーバ200の情報受信部207は、部分秘密鍵生成サーバ100の情報送信部107により送信された部分秘密鍵d’を受信する。即ち、ブラインドサーバ200は、情報受信部207を用いて、部分秘密鍵d’を受信する(ステップS305)。   The information reception unit 207 of the blind server 200 receives the partial secret key d ′ transmitted by the information transmission unit 107 of the partial secret key generation server 100. That is, the blind server 200 receives the partial secret key d ′ using the information receiving unit 207 (step S305).

ブラインドサーバ200の秘密鍵生成部206は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと情報受信部207により受信された部分秘密鍵d’とに基づいて、秘密鍵d(ユーザ秘密鍵)を処理装置で生成する。本実施の形態では、ブラインドサーバ200の乱数生成部201が乱数z(第1乱数)(z∈Z)を処理装置で生成し、秘密鍵生成部206が秘密鍵dを生成する際にこの乱数zも利用する。さらに、本実施の形態では、秘密鍵生成部206が秘密鍵dを生成する際に前述した乱数yも利用する。つまり、秘密鍵生成部206は、公開情報取得部202により取得された公開情報とハッシュ値計算部204により計算されたハッシュ値hと情報受信部207により受信された部分秘密鍵d’と乱数生成部201により生成された乱数yと乱数zとに基づいて、秘密鍵dを処理装置で生成する。具体的には、秘密鍵生成部206は、部分秘密鍵d’に含まれる部分秘密鍵d’と部分秘密鍵d’に含まれる付加情報d’を底とし、乱数yを指数とする冪乗との商と、公開情報に含まれるgとハッシュ値hとの積を底とし、乱数zを指数とする冪乗とを処理装置で乗算し、当該乗算結果を秘密鍵dとして記憶装置に記憶する。また、秘密鍵生成部206は、部分秘密鍵d’に含まれる付加情報d’と、公開情報に含まれるgを底とし、乱数zを指数とする冪乗とを処理装置で乗算し、当該乗算結果を付加情報dとして記憶装置に記憶する。ここでは、秘密鍵dに付加情報dを付加したものが秘密鍵dとなる。即ち、ブラインドサーバ200は、乱数生成部201により、乱数zを生成し、下式のように、部分秘密鍵d’と乱数yと乱数zを用いて秘密鍵dを生成する(ステップS306)。

Figure 2010272899
The secret key generation unit 206 of the blind server 200 includes the public information acquired by the public information acquisition unit 202, the hash value h calculated by the hash value calculation unit 204, and the partial secret key d ′ received by the information reception unit 207. Based on the above, a secret key d (user secret key) is generated by the processing device. In the present embodiment, the random number generation unit 201 of the blind server 200 generates a random number z (first random number) (zεZ q ) by the processing device, and the secret key generation unit 206 generates this secret key d when generating the secret key d. A random number z is also used. Further, in the present embodiment, the random number y described above is also used when the secret key generation unit 206 generates the secret key d. That is, the secret key generation unit 206 generates the public information acquired by the public information acquisition unit 202, the hash value h calculated by the hash value calculation unit 204, the partial secret key d ′ received by the information reception unit 207, and random number generation. Based on the random number y and the random number z generated by the unit 201, the secret key d is generated by the processing device. Specifically, the secret key generation unit 206 uses the partial secret key d 0 ′ included in the partial secret key d ′ and the additional information d 1 ′ included in the partial secret key d ′ as the base, and the random number y as an index. and the quotient of the exponentiation, the bottom of the product of g 3 and the hash value h included in the public information, multiplied by the processing device the power of bets for the random number z and index, the multiplication result as the secret key d 0 Store in the storage device. Also, the secret key generation unit 206 multiplies the additional information d 1 ′ included in the partial secret key d ′ by a power that uses g included in the public information as a base and a random number z as an exponent, stored in the storage device the multiplication results as the additional information d 1. In this case, obtained by adding the additional information d 1 to the secret key d 0 is the secret key d. That is, the blind server 200 generates the random number z by using the random number generation unit 201 and generates the secret key d using the partial secret key d ′, the random number y, and the random number z as shown in the following equation (step S306).
Figure 2010272899

なお、上式において、秘密鍵dの式の2〜4行目は、ブラインドサーバ200の秘密鍵生成部206によって計算されるものではなく、秘密鍵dが、マスタ秘密鍵kと、ハッシュ値hと公開情報に含まれるgとの積を底とし、乱数rと乱数zとの和を指数とする冪乗とを乗算したものに相当することを示したものである。このように、ブラインドサーバ200の秘密鍵生成部206は、部分秘密鍵生成サーバ100しか知らないマスタ秘密鍵kを用いることなく、マスタ秘密鍵kを基とする秘密鍵dを生成することができる。また、上式において、付加情報dの式の2、3行目は、ブラインドサーバ200の秘密鍵生成部206によって計算されるものではなく、付加情報dが、公開情報に含まれるgを底とし、乱数rと乱数zとの和を指数とする冪乗に相当することを示したものである。このように、ブラインドサーバ200の秘密鍵生成部206は、部分秘密鍵生成サーバ100しか知らない乱数rを用いることなく、乱数rの情報を含む付加情報dを生成することができる。 Incidentally, in the above equation, 2-4 line equation of the private key d 0 is not calculated by the secret key generating unit 206 of the blind server 200, the private key d 0, the master secret key k, the hash the product of the g 3 in the value h and the public information and the bottom, and shows that the equivalent to multiplication powers bets to the sum of the random number r and the random number z and index. In this way, the secret key generation unit 206 of the blind server 200 can generate the secret key d 0 based on the master secret key k without using the master secret key k that only the partial secret key generation server 100 knows. it can. Further, in the above formula, the second and third lines of the additional information d 1 formula are not calculated by the secret key generation unit 206 of the blind server 200, and the additional information d 1 includes g included in the public information. It shows that it corresponds to the power of the base and the sum of the random number r and the random number z as an exponent. As described above, the secret key generation unit 206 of the blind server 200 can generate the additional information d 1 including the information of the random number r without using the random number r known only by the partial secret key generation server 100.

ブラインドサーバ200の情報送信部208は、秘密鍵生成部206により生成された秘密鍵dをデータ受信端末装置400に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、秘密鍵dを送信する(ステップS307)。   The information transmission unit 208 of the blind server 200 transmits the secret key d generated by the secret key generation unit 206 to the data receiving terminal device 400. That is, the blind server 200 transmits the secret key d using the information transmission unit 208 (step S307).

データ受信端末装置400の情報受信部405は、ブラインドサーバ200の情報送信部208により送信された秘密鍵dを受信する。即ち、データ受信端末装置400は、情報受信部405を用いて、秘密鍵dを受信する(ステップS202)。   The information receiving unit 405 of the data receiving terminal device 400 receives the secret key d transmitted by the information transmitting unit 208 of the blind server 200. That is, the data receiving terminal device 400 receives the secret key d using the information receiving unit 405 (step S202).

ステップS201及びS202、ステップS301〜S307、ステップS401〜S403は、定期的もしくはデータ受信端末装置400の秘密鍵dの危殆化を考慮して行われるものであるが、暗号通信ごとに行われてもよい。   Steps S201 and S202, steps S301 to S307, and steps S401 to S403 are performed periodically or in consideration of compromise of the private key d of the data receiving terminal device 400, but may be performed for each encrypted communication. Good.

以上のように、本実施の形態によれば、ブラインドサーバ200が、マスタ秘密鍵kを生成する部分秘密鍵生成サーバ100から公開情報とハッシュ関数H(x)とを取得し、データ受信端末装置400のIDを入力し、IDからハッシュ関数H(x)によりハッシュ値hを計算し、公開情報とハッシュ値hとから、IDをブラインドしたID’を生成し、ID’を部分秘密鍵生成サーバ100に送信して公開情報とマスタ秘密鍵kとID’とに基づいて部分鍵d’を生成させ、公開情報とハッシュ値hと部分鍵d’とに基づいて秘密鍵dを生成するため、部分秘密鍵生成サーバ100に対してユーザのIDをブラインドしつつ、ユーザの秘密鍵dを効率的に生成することが可能となる。また、乱数y、乱数z、乱数rを用いることにより、よりセキュアなシステムを提供することが可能となる。   As described above, according to the present embodiment, the blind server 200 acquires the public information and the hash function H (x) from the partial secret key generation server 100 that generates the master secret key k, and the data receiving terminal device 400 IDs are input, a hash value h is calculated from the ID by a hash function H (x), ID 'blinded with ID is generated from public information and hash value h, and ID' is partially secret key generation server To generate the partial key d ′ based on the public information, the master secret key k, and ID ′, and to generate the secret key d based on the public information, the hash value h, and the partial key d ′. It is possible to efficiently generate the user's secret key d while blinding the user's ID to the partial secret key generation server 100. Further, by using the random number y, the random number z, and the random number r, it is possible to provide a more secure system.

本実施の形態によれば、中継サーバを設置することで、従来のIBEにおけるPKG(Private・Key・Generator)のリスクを下げる、即ち、鍵供託問題を回避することができる。また、ユーザ公開鍵の生成や公開の手間が不要となる。また、ユーザ秘密鍵の生成コストが軽減される。また、ユーザのIDをブラインドにしてユーザ秘密鍵を生成するため、従来のIBEにおけるPKGに相当するサーバにIDを露呈させることなくIDと対になるユーザ秘密鍵のみを生成でき、ユーザの匿名性が高まる。さらに、ドメイン管理が可能となる。   According to the present embodiment, by installing a relay server, it is possible to reduce the risk of PKG (Private / Key / Generator) in the conventional IBE, that is, to avoid the key escrow problem. In addition, there is no need to generate and publish a user public key. In addition, the generation cost of the user secret key is reduced. Further, since the user secret key is generated while blinding the user ID, only the user secret key paired with the ID can be generated without exposing the ID to the server corresponding to the PKG in the conventional IBE, and the user's anonymity Will increase. Furthermore, domain management becomes possible.

図7は、データ送信端末装置300がデータを暗号化する動作を示すフローチャートである。   FIG. 7 is a flowchart showing an operation in which the data transmission terminal apparatus 300 encrypts data.

データ送信端末装置300の公開情報取得部302は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、データ送信端末装置300は、公開情報取得部302を用いて、部分秘密鍵生成サーバ100から公開パラメータを取得する(ステップS501)。なお、ステップS501は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。   The public information acquisition unit 302 of the data transmission terminal device 300 acquires the public information and the hash function H (x) stored by the information disclosure unit 103 of the partial secret key generation server 100. That is, the data transmission terminal device 300 acquires a public parameter from the partial secret key generation server 100 using the public information acquisition unit 302 (step S501). Note that step S501 may be performed only when the public parameters of the partial secret key generation server 100 are changed.

データ送信端末装置300の乱数生成部301は、乱数s(第4乱数)(s∈Z)を処理装置で生成する。データ送信端末装置300の暗号処理部303は、例えばデータ受信端末装置400からデータ受信端末装置400のIDを受信することにより、IDを取得し、取得したIDから公開情報取得部302により取得されたハッシュ関数H(x)によりハッシュ値hを処理装置で計算する。また、暗号処理部303は、例えばユーザから平文Mの入力を入力装置により受け付けることにより、平文Mを取得する。そして、暗号処理部303は、計算したハッシュ値hと公開情報取得部302により取得された公開情報と乱数生成部301により生成された乱数sとを用いて、取得した平文Mを暗号化し、暗号文Cを処理装置で生成する。具体的には、暗号処理部303は、平文Mと、双線形写像e(g,g)(公開情報に含まれるgとgとを楕円曲線上の点としたときに点gと点gとが双線形写像になっている)を底とし、乱数sを指数とする冪乗とを処理装置で乗算し、当該乗算結果を暗号文Cとして記憶装置に記憶する。また、暗号処理部303は、ハッシュ値hと公開情報に含まれるgとの積を底とし、乱数sを指数とする冪乗を処理装置で計算し、当該計算結果を第1付加情報Cとして記憶装置に記憶する。また、暗号処理部303は、公開情報に含まれるgを底とし、乱数sを指数とする冪乗を処理装置で計算し、当該計算結果を第2付加情報Cとして記憶装置に記憶する。ここでは、暗号文Cに第1付加情報Cと第2付加情報Cとを付加したものが暗号文Cとなる。即ち、データ送信端末装置300は、乱数生成部301を用いて、乱数sを生成し、下式のように、公開パラメータと乱数sとデータ受信端末装置400のIDと平文Mを用いて暗号文Cを計算する(ステップS502)。

Figure 2010272899
The random number generation unit 301 of the data transmission terminal device 300 generates a random number s (fourth random number) (sεZ q ) by the processing device. The encryption processing unit 303 of the data transmission terminal device 300 acquires the ID, for example, by receiving the ID of the data reception terminal device 400 from the data reception terminal device 400, and is acquired by the public information acquisition unit 302 from the acquired ID. A hash value h is calculated by the processing device using the hash function H (x). Also, the cryptographic processing unit 303 acquires the plaintext M by receiving, for example, an input of the plaintext M from the user by the input device. Then, the encryption processing unit 303 encrypts the acquired plaintext M by using the calculated hash value h, the public information acquired by the public information acquisition unit 302, and the random number s generated by the random number generation unit 301. Sentence C is generated by the processing device. Specifically, the encryption processing unit 303 sets the point g when the plaintext M and the bilinear map e (g 1 , g 2 ) (g 1 and g 2 included in the public information are points on the elliptic curve. a 1 and a point g 2 is in the bilinear mapping) the base is multiplied by the processing device the power of bets for the random number s and index stored in the storage device the multiplication result as a ciphertext C 0. In addition, the cryptographic processing unit 303 calculates a power using the product of the hash value h and g 3 included in the public information as a base and the random number s as an exponent, and the calculation result is used as the first additional information C. 1 is stored in the storage device. The encryption processing unit 303, a base-g included in the public information, calculated by the processing device the power of the random number s and index stored in the storage device the calculation result as the second additional information C 2. Here, those obtained by adding the first additional information C 1 and the second additional information C 2 is the ciphertext C to the ciphertext C 0. That is, the data transmission terminal device 300 generates a random number s using the random number generation unit 301, and uses the public parameter, the random number s, the ID of the data reception terminal device 400, and the plaintext M as shown in the following formula. C is calculated (step S502).
Figure 2010272899

データ送信端末装置300の情報送信部306は、暗号処理部303により生成された暗号文Cをデータ受信端末装置400に送信する。即ち、データ送信端末装置300は、情報送信部306を用いて、暗号文Cをデータ受信端末装置400に送信する(ステップS503)。   The information transmission unit 306 of the data transmission terminal device 300 transmits the ciphertext C generated by the encryption processing unit 303 to the data reception terminal device 400. That is, the data transmission terminal device 300 transmits the ciphertext C to the data reception terminal device 400 using the information transmission unit 306 (step S503).

図8は、データ受信端末装置400が暗号化されたデータを復号する動作を示すフローチャートである。   FIG. 8 is a flowchart showing an operation in which the data receiving terminal device 400 decrypts the encrypted data.

データ受信端末装置400の公開情報取得部402は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報とハッシュ関数H(x)とを取得する。即ち、データ受信端末装置400は、公開情報取得部402を用いて、部分秘密鍵生成サーバ100から公開パラメータを取得する(ステップS601)。なお、ステップS601は部分秘密鍵生成サーバ100の公開パラメータ変更時のみ実施すればよい。   The public information acquisition unit 402 of the data receiving terminal device 400 acquires the public information and the hash function H (x) stored by the information disclosure unit 103 of the partial secret key generation server 100. That is, the data receiving terminal device 400 acquires a public parameter from the partial secret key generation server 100 using the public information acquisition unit 402 (step S601). Note that step S601 may be performed only when the public parameters of the partial secret key generation server 100 are changed.

データ受信端末装置400の情報受信部405は、データ送信端末装置300の情報送信部306により送信された暗号文Cを受信する。即ち、データ受信端末装置400は、情報受信部405を用いて、暗号文Cを受信する(ステップS602)。   The information receiving unit 405 of the data receiving terminal device 400 receives the ciphertext C transmitted by the information transmitting unit 306 of the data transmitting terminal device 300. That is, the data receiving terminal device 400 receives the ciphertext C using the information receiving unit 405 (step S602).

データ受信端末装置400の復号処理部404は、部分秘密鍵生成サーバ100の情報公開部103により記憶された公開情報と情報受信部405により受信された秘密鍵dとを用いて、情報受信部405により受信された暗号文Cを処理装置で復号し、平文Mを復元する。具体的には、復号処理部404は、暗号文Cに含まれる暗号文Cと双線形写像(d,C)(秘密鍵dに含まれる付加情報dと暗号文Cに含まれる第1付加情報Cとを楕円曲線上の点としたときに点dと点Cとが双線形写像になっている)との積を、双線形写像(d,C)(秘密鍵dに含まれる秘密鍵dと暗号文Cに含まれる第2付加情報Cとを楕円曲線上の点としたときに点dと点Cとが双線形写像になっている)で、処理装置で除算し、当該除算結果を平文Mとして記憶装置に記憶する。そして、復号処理部404は、例えば記憶装置に記憶した平文Mを出力装置により表示画面に出力する。即ち、データ受信端末装置400は、下式のように、公開パラメータと秘密鍵dと暗号文Cを用いて平文Mを計算する(ステップS603)。

Figure 2010272899
The decryption processing unit 404 of the data reception terminal device 400 uses the public information stored by the information disclosure unit 103 of the partial secret key generation server 100 and the secret key d received by the information reception unit 405 to use the information reception unit 405. The decrypted ciphertext C is decrypted by the processing device, and the plaintext M is restored. Specifically, the decryption processing unit 404 includes the ciphertext C 0 included in the ciphertext C and the bilinear mapping (d 1 , C 1 ) (additional information d 1 included in the secret key d and the ciphertext C. When the first additional information C 1 is a point on the elliptic curve, the product of the point d 1 and the point C 1 is a bilinear map), and the bilinear map (d 0 , C 2 ) ( and the point d 0 and the point C 2 is in the bilinear mapping when the second additional information C 2 contained in the secret key d 0 ciphertext C included in the secret key d and the point on the elliptic curve ), And the division result is stored in the storage device as plaintext M. Then, the decryption processing unit 404 outputs, for example, the plain text M stored in the storage device to the display screen by the output device. That is, the data receiving terminal device 400 calculates the plaintext M using the public parameter, the secret key d, and the ciphertext C as shown in the following equation (step S603).
Figure 2010272899

なお、鍵生成システム10において、ブラインドサーバ200を利用せず、データ受信端末装置400が部分秘密鍵生成サーバ100から直接秘密鍵dを取得することも可能である。この場合、下式のようになる。

Figure 2010272899
In the key generation system 10, the data receiving terminal device 400 can directly acquire the secret key d from the partial secret key generation server 100 without using the blind server 200. In this case, the following formula is obtained.
Figure 2010272899

以上説明したように、本実施の形態に係る鍵生成システム10において、送信者はデータ送信端末装置300の乱数生成部301、公開情報取得部302を用いて暗号化データを生成し、情報送信部306を用いて送信する。受信者はデータ受信端末装置400の情報受信部405を用いて、暗号化データを受信し、公開情報取得部402、情報受信部405を用いてブラインドサーバ200、部分秘密鍵生成サーバ100と通信し、秘密鍵を受信する。データ受信端末装置400は暗号化データと公開情報と秘密鍵を用いて、暗号化データを復号することができる。   As described above, in the key generation system 10 according to the present embodiment, the sender generates encrypted data using the random number generation unit 301 and the public information acquisition unit 302 of the data transmission terminal device 300, and the information transmission unit 306 is used for transmission. The receiver receives the encrypted data using the information receiving unit 405 of the data receiving terminal device 400, and communicates with the blind server 200 and the partial secret key generation server 100 using the public information acquisition unit 402 and the information receiving unit 405. Receive the private key. The data receiving terminal device 400 can decrypt the encrypted data using the encrypted data, the public information, and the secret key.

本実施の形態では、受信者はブラインドサーバ200を経由し、部分秘密鍵生成サーバ100にIDを漏らすことなく秘密鍵を受信できる。また、ブラインドサーバ200を用いることで、ドメイン管理が可能になる。また、ブラインドサーバ200が受信者の秘密鍵を所有するが、部分秘密鍵生成サーバ100が受信者の秘密鍵を所有できないため、よりセキュアなシステムが提供できる。また、ブラインドサーバ200がマスタ秘密鍵や公開パラメータの生成及び管理をすることは不要である。また、受信者にとってブラインドサーバ200が公開している情報は不要であり、部分秘密鍵生成サーバ100の公開情報のみで復号が可能である。また、送信者にとってブラインドサーバ200が公開している情報は不要であり、部分秘密鍵生成サーバ100の公開情報のみで暗号化が可能である。   In the present embodiment, the recipient can receive the secret key via the blind server 200 without leaking the ID to the partial secret key generation server 100. Further, using the blind server 200 enables domain management. Further, although the blind server 200 owns the recipient's private key, the partial secret key generation server 100 cannot own the recipient's private key, so a more secure system can be provided. Further, it is not necessary for the blind server 200 to generate and manage a master secret key and public parameters. Further, the information disclosed by the blind server 200 is unnecessary for the recipient, and decryption is possible only with the public information of the partial secret key generation server 100. Further, the information disclosed by the blind server 200 is unnecessary for the sender, and encryption is possible only with the public information of the partial secret key generation server 100.

なお、本実施の形態では、データ送信端末装置300はN台でも問題ない。また、データ受信端末装置400はN台でも問題ない。また、ブラインドサーバ200はN台でも問題ないが、それぞれのドメインに1台であることが望ましい。また、部分秘密鍵生成サーバ100は従来のPKGの機能も持ち合わせており、ブラインドを行わない従来の運用も可能である。   In the present embodiment, there is no problem even if the number of data transmission terminal devices 300 is N. Further, there is no problem even if the number of data receiving terminal devices 400 is N. Further, although there are no problems with the number of blind servers 200, it is desirable that there be one blind server 200 for each domain. The partial secret key generation server 100 also has a conventional PKG function, and can be operated in the conventional manner without blinding.

実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.

図9は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。   FIG. 9 is a block diagram showing the configuration of the key generation system 10 according to the present embodiment.

図9において、鍵生成システム10は、部分秘密鍵生成サーバ100、ブラインドサーバ200a,b(ブラインドサーバ装置)、データ送受信端末装置500a,b(端末装置)を備える。部分秘密鍵生成サーバ100とブラインドサーバ200a,bとは、インターネット等のネットワーク20を介して互いに通信をする。ブラインドサーバ200aとデータ送受信端末装置500aとは、企業の社内ネットワーク等、セキュアなネットワーク30aを介して互いに通信をする。同様に、ブラインドサーバ200bとデータ送受信端末装置500bとは、企業の社内ネットワーク等、セキュアなネットワーク30bを介して互いに通信をする。データ送受信端末装置500a,bは、インターネット等のネットワーク20を介して互いに通信をする。なお、複数のデータ送受信端末装置500a,bが、ネットワーク30a,bに接続されていても構わない。例えば、同じドメインに属する複数のデータ送受信端末装置500aを、そのドメインのネットワーク30aを介して、そのドメイン専用のブラインドサーバ200aに接続させるという構成をとれば、ドメイン管理が容易でセキュアなシステムを提供することができる。また、例えば、1つの部分秘密鍵生成サーバ100がN台のブラインドする中継サーバ(ブラインドサーバ200a,b等)を管理し、1つの中継サーバがデータを送受信できるユーザN人(データ送受信端末装置500a,b等のユーザ)を管理するようにしてもよい。   9, the key generation system 10 includes a partial secret key generation server 100, blind servers 200a and 200b (blind server devices), and data transmission / reception terminal devices 500a and 500b (terminal devices). The partial secret key generation server 100 and the blind servers 200a and 200b communicate with each other via the network 20 such as the Internet. The blind server 200a and the data transmission / reception terminal device 500a communicate with each other via a secure network 30a such as a company internal network. Similarly, the blind server 200b and the data transmission / reception terminal device 500b communicate with each other via a secure network 30b such as a company internal network. The data transmission / reception terminal devices 500a and 500b communicate with each other via the network 20 such as the Internet. A plurality of data transmission / reception terminal devices 500a and 500b may be connected to the networks 30a and 30b. For example, if a configuration is adopted in which a plurality of data transmission / reception terminal devices 500a belonging to the same domain are connected to the blind server 200a dedicated to the domain via the network 30a of the domain, a secure system with easy domain management is provided. can do. Further, for example, one partial secret key generation server 100 manages N blind relay servers (blind servers 200a, 200b, etc.), and N users (data transmission / reception terminal device 500a) that can transmit and receive data by one relay server. , B, etc.) may be managed.

部分秘密鍵生成サーバ100は、IBEにおける部分秘密鍵を生成するサーバであり、実施の形態1と同様に構成されている。   Partial secret key generation server 100 is a server that generates a partial secret key in IBE, and is configured in the same manner as in the first embodiment.

ブラインドサーバ200a,bは、IDをブラインドする中継サーバであり、実施の形態1におけるブラインドサーバ200と同様に構成されている。   The blind servers 200a and 200b are relay servers that blind IDs, and are configured in the same manner as the blind server 200 in the first embodiment.

データ送受信端末装置500a,bは、暗号データを送受信するユーザによって利用される端末であり、乱数生成部501、公開情報取得部502、暗号処理部503、復号処理部504、情報受信部505、情報送信部506を有する。データ送受信端末装置500a,bの各部の動作は、実施の形態1におけるデータ送信端末装置300及びデータ受信端末装置400の同じ名称をもつ各部の動作と同様である(例えば、乱数生成部501は、データ送信端末装置300の乱数生成部301と同様であり、公開情報取得部502は、データ送信端末装置300の公開情報取得部302及びデータ受信端末装置400の公開情報取得部402と同様である)。   The data transmission / reception terminal devices 500a and 500b are terminals used by users who transmit and receive encrypted data. The random number generation unit 501, the public information acquisition unit 502, the encryption processing unit 503, the decryption processing unit 504, the information reception unit 505, and information A transmission unit 506 is included. The operation of each unit of the data transmission / reception terminal devices 500a and 500b is the same as the operation of each unit having the same name in the data transmission terminal device 300 and the data reception terminal device 400 in the first embodiment (for example, the random number generation unit 501 (Same as the random number generation unit 301 of the data transmission terminal device 300, the public information acquisition unit 502 is the same as the public information acquisition unit 302 of the data transmission terminal device 300 and the public information acquisition unit 402 of the data reception terminal device 400) .

例えば、データ送受信端末装置500aがデータを暗号化し、データ送受信端末装置500bがそれを復号する場合、データ送受信端末装置500bは自身の上に配置されているブラインドサーバ200bにユーザ秘密鍵の発行を要求する。部分秘密鍵生成サーバ100がマスタ秘密鍵と公開パラメータを生成する動作、ブラインドサーバ200bがユーザ秘密鍵を生成する動作、データ送受信端末装置500aが暗号化したデータをデータ送受信端末装置500bが復号する動作については、実施の形態1と同様である。   For example, when the data transmission / reception terminal device 500a encrypts data and the data transmission / reception terminal device 500b decrypts the data, the data transmission / reception terminal device 500b requests the blind server 200b arranged on itself to issue a user secret key. To do. Operation in which partial secret key generation server 100 generates a master secret key and public parameters, operation in which blind server 200b generates a user secret key, and operation in which data transmission / reception terminal device 500b decrypts data encrypted by data transmission / reception terminal device 500a This is the same as in the first embodiment.

実施の形態3.
本実施の形態について、主に実施の形態1との差異を説明する。
Embodiment 3 FIG.
In the present embodiment, differences from the first embodiment will be mainly described.

図10は、本実施の形態に係る鍵生成システム10の構成を示すブロック図である。   FIG. 10 is a block diagram showing a configuration of the key generation system 10 according to the present embodiment.

図10において、鍵生成システム10は、実施の形態1と同様に、部分秘密鍵生成サーバ100、ブラインドサーバ200、データ送信端末装置300、データ受信端末装置400を備える。   10, the key generation system 10 includes a partial secret key generation server 100, a blind server 200, a data transmission terminal device 300, and a data reception terminal device 400, as in the first embodiment.

本実施の形態では、部分秘密鍵生成サーバ100は、図1に示したもののほか、認証部108を有する。   In the present embodiment, the partial secret key generation server 100 includes an authentication unit 108 in addition to the one shown in FIG.

図11は、ブラインドサーバ200がユーザ秘密鍵を生成する動作を示すフローチャートである。図12は、部分秘密鍵生成サーバ100が部分秘密鍵を生成する動作を示すフローチャートである。   FIG. 11 is a flowchart showing an operation in which the blind server 200 generates a user secret key. FIG. 12 is a flowchart showing an operation in which the partial secret key generation server 100 generates a partial secret key.

部分秘密鍵生成サーバ100の認証部108は、ブラインドサーバ200の認証情報(例えば、IDとパスワード)を予め記憶装置に記憶しているものとする。即ち、前提条件として、ブラインドサーバ200は、部分秘密鍵生成サーバ100に認証情報を登録している。   It is assumed that the authentication unit 108 of the partial secret key generation server 100 stores authentication information (for example, ID and password) of the blind server 200 in advance in a storage device. That is, as a precondition, the blind server 200 registers authentication information in the partial secret key generation server 100.

ステップS301〜S303については、図5に示した実施の形態1のものと同様である。   Steps S301 to S303 are the same as those in the first embodiment shown in FIG.

ステップS303の後、ブラインドサーバ200の情報送信部208は、ブラインド処理部205により生成されたID’とともに、自己の認証情報を部分秘密鍵生成サーバ100に送信する。即ち、ブラインドサーバ200は、情報送信部208を用いて、部分秘密鍵生成サーバ100にブラインド処理したID(ID’)と認証情報を送信する(ステップS304a)。   After step S <b> 303, the information transmission unit 208 of the blind server 200 transmits its authentication information to the partial secret key generation server 100 together with the ID ′ generated by the blind processing unit 205. In other words, the blind server 200 transmits the blind ID (ID ′) and authentication information to the partial secret key generation server 100 using the information transmission unit 208 (step S304a).

部分秘密鍵生成サーバ100の情報受信部106は、ブラインドサーバ200の情報送信部208により送信されたID’とともに認証情報を受信する。部分秘密鍵生成サーバ100の認証部108は、情報受信部106により受信された認証情報が予め記憶装置に記憶された認証情報と一致するかどうかを処理装置で判定することにより、ブラインドサーバ200の認証を行う。即ち、部分秘密鍵生成サーバ100は、情報受信部106を用いて、ブラインドサーバ200から送信されたID’と認証情報を受信し、認証情報を認証部108に入力する(ステップS401a)。   The information receiving unit 106 of the partial secret key generation server 100 receives the authentication information together with the ID ′ transmitted by the information transmitting unit 208 of the blind server 200. The authentication unit 108 of the partial secret key generation server 100 determines whether or not the authentication information received by the information reception unit 106 matches the authentication information stored in the storage device in advance by the processing device. Authenticate. That is, the partial secret key generation server 100 receives the ID ′ and the authentication information transmitted from the blind server 200 using the information receiving unit 106, and inputs the authentication information to the authentication unit 108 (step S401a).

部分秘密鍵生成サーバ100の部分鍵生成部105は、認証部108による認証が成功した場合、即ち、認証情報が一致した場合に、部分秘密鍵d’を処理装置で生成する。即ち、部分秘密鍵生成サーバ100は、認証に成功した場合、実施の形態1と同様に、部分秘密鍵d’を生成する(ステップS402a)。   The partial key generation unit 105 of the partial secret key generation server 100 generates the partial secret key d ′ by the processing device when the authentication by the authentication unit 108 is successful, that is, when the authentication information matches. That is, when the authentication is successful, the partial secret key generation server 100 generates the partial secret key d ′ as in the first embodiment (step S402a).

ステップS306、S307、及び、S403については、図5及び図6に示した実施の形態1のものと同様である。   Steps S306, S307, and S403 are the same as those in the first embodiment shown in FIGS.

以上のように、本実施の形態によれば、部分秘密鍵生成サーバ100が、ブラインドサーバ200の認証に成功した場合のみ、部分鍵d’を生成するため、正当なブラインドサーバ200しか秘密鍵dを生成できず、これにより、信頼性の高いシステムを提供することが可能となる。   As described above, according to the present embodiment, the partial secret key generation server 100 generates the partial key d ′ only when the authentication of the blind server 200 is successful. Thus, it is possible to provide a highly reliable system.

以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。   As mentioned above, although embodiment of this invention was described, you may implement combining 2 or more embodiment among these. Alternatively, one of these embodiments may be partially implemented. Or you may implement combining two or more embodiment among these partially.

10 鍵生成システム、20,30,30a,b ネットワーク、100 部分秘密鍵生成サーバ、101 素数生成部、102 乱数生成部、103 情報公開部、104 マスタ鍵生成部、105 部分鍵生成部、106 情報受信部、107 情報送信部、108 認証部、200,200a,b ブラインドサーバ、201 乱数生成部、202 公開情報取得部、203 認証部、204 ハッシュ値計算部、205 ブラインド処理部、206 秘密鍵生成部、207 情報受信部、208 情報送信部、300 データ送信端末装置、301 乱数生成部、302 公開情報取得部、303 暗号処理部、305 情報受信部、306 情報送信部、400 データ受信端末装置、402 公開情報取得部、404 復号処理部、405 情報受信部、406 情報送信部、500a,b データ送受信端末装置、501 乱数生成部、502 公開情報取得部、503 暗号処理部、504 復号処理部、505 情報受信部、506 情報送信部、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。   10 key generation system, 20, 30, 30a, b network, 100 partial secret key generation server, 101 prime number generation unit, 102 random number generation unit, 103 information disclosure unit, 104 master key generation unit, 105 partial key generation unit, 106 information Reception unit 107 Information transmission unit 108 Authentication unit 200, 200a, b Blind server 201 Random number generation unit 202 Public information acquisition unit 203 Authentication unit 204 Hash value calculation unit 205 Blind processing unit 206 Secret key generation Unit, 207 information reception unit, 208 information transmission unit, 300 data transmission terminal device, 301 random number generation unit, 302 public information acquisition unit, 303 encryption processing unit, 305 information reception unit, 306 information transmission unit, 400 data reception terminal device, 402 public information acquisition unit, 404 decryption processing unit, 405 information reception , 406 Information transmission unit, 500a, b Data transmission / reception terminal device, 501 Random number generation unit, 502 Public information acquisition unit, 503 Encryption processing unit, 504 Decryption processing unit, 505 Information reception unit, 506 Information transmission unit, 901 LCD, 902 Keyboard , 903 mouse, 904 FDD, 905 CDD, 906 printer, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 HDD, 921 operating system, 922 window system, 923 program group, 924 file group.

Claims (9)

所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成システムであって、
前記公開情報と前記ハッシュ関数とを記憶装置に記憶する情報公開部と、
前記情報公開部により記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成するマスタ鍵生成部とを有する鍵生成サーバ装置を備えるとともに、
前記鍵生成サーバ装置の情報公開部により記憶された公開情報とハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信する情報送信部とを有するブラインドサーバ装置を備え、
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の情報送信部により送信されたブラインド識別子を受信する情報受信部と、
前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子とに基づいて、部分鍵を処理装置で生成する部分鍵生成部と、
前記部分鍵生成部により生成された部分鍵を前記ブラインドサーバ装置に送信する情報送信部とを有し、
前記ブラインドサーバ装置は、さらに、
前記鍵生成サーバ装置の情報送信部により送信された部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とする鍵生成システム。
For a terminal device that receives ciphertext encrypted by an ID (identifier) -based encryption method using predetermined public information and a hash value obtained from a terminal identifier for identifying itself by a predetermined hash function, A key generation system for generating a secret key for decrypting a sentence,
An information disclosure unit for storing the public information and the hash function in a storage device;
A key generation server device including a master key generation unit that generates a master key serving as a basis of the secret key from a public information stored by the information disclosure unit;
A public information acquisition unit that acquires public information and a hash function stored by the information disclosure unit of the key generation server device;
A hash value calculation unit that inputs the terminal identifier and calculates the hash value by a processing device using a hash function acquired by the public information acquisition unit from the input terminal identifier;
A blind processing unit that generates a blind identifier obtained by blindly blinding the terminal identifier from the public information acquired by the public information acquisition unit and the hash value calculated by the hash value calculation unit;
A blind server device comprising: an information transmission unit that transmits the blind identifier generated by the blind processing unit to the key generation server device;
The key generation server device further includes:
An information receiving unit that receives the blind identifier transmitted by the information transmitting unit of the blind server device;
A partial key generation unit that generates a partial key by a processing device based on public information stored by the information disclosure unit, a master key generated by the master key generation unit, and a blind identifier received by the information reception unit When,
An information transmission unit that transmits the partial key generated by the partial key generation unit to the blind server device;
The blind server device further includes:
An information receiving unit that receives the partial key transmitted by the information transmitting unit of the key generation server device;
A secret key for generating the secret key by the processing device based on the public information acquired by the public information acquisition unit, the hash value calculated by the hash value calculation unit, and the partial key received by the information reception unit A key generation system comprising: a generation unit.
前記ブラインドサーバ装置は、さらに、
第1乱数を処理装置で生成する乱数生成部を有し、
前記ブラインドサーバ装置の秘密鍵生成部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵と前記乱数生成部により生成された第1乱数とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする請求項1に記載の鍵生成システム。
The blind server device further includes:
A random number generator for generating the first random number by the processing device;
The secret key generation unit of the blind server device includes public information acquired by the public information acquisition unit, a hash value calculated by the hash value calculation unit, a partial key received by the information reception unit, and the random number generation unit The key generation system according to claim 1, wherein the secret key is generated by a processing device based on the first random number generated by.
前記ブラインドサーバ装置の乱数生成部は、さらに、第2乱数を処理装置で生成し、
前記ブラインドサーバ装置のブラインド処理部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記乱数生成部により生成された第2乱数とから、前記ブラインド識別子を処理装置で生成し、
前記ブラインドサーバ装置の秘密鍵生成部は、前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵と前記乱数生成部により生成された第1乱数と第2乱数とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする請求項2に記載の鍵生成システム。
The random number generation unit of the blind server device further generates a second random number by the processing device,
The blind processing unit of the blind server device includes the blind information from the public information acquired by the public information acquisition unit, the hash value calculated by the hash value calculation unit, and the second random number generated by the random number generation unit. The identifier is generated by the processing device,
The secret key generation unit of the blind server device includes public information acquired by the public information acquisition unit, a hash value calculated by the hash value calculation unit, a partial key received by the information reception unit, and the random number generation unit The key generation system according to claim 2, wherein the secret key is generated by a processing device based on the first random number and the second random number generated by.
前記鍵生成サーバ装置は、さらに、
第3乱数を処理装置で生成する乱数生成部を有し、
前記鍵生成サーバ装置の部分鍵生成部は、前記情報公開部により記憶された公開情報と前記マスタ鍵生成部により生成されたマスタ鍵と前記情報受信部により受信されたブラインド識別子と前記乱数生成部により生成された第3乱数とに基づいて、前記部分鍵を処理装置で生成することを特徴とする請求項1から3までのいずれかに記載の鍵生成システム。
The key generation server device further includes:
A random number generator for generating a third random number by the processing device;
The partial key generation unit of the key generation server device includes public information stored by the information disclosure unit, a master key generated by the master key generation unit, a blind identifier received by the information reception unit, and the random number generation unit 4. The key generation system according to claim 1, wherein the partial key is generated by a processing device based on the third random number generated by.
前記ブラインドサーバ装置は、さらに、
前記端末装置の認証を処理装置で行う認証部を有し、
前記ブラインドサーバ装置のハッシュ値計算部は、前記認証部による認証が成功した場合に、前記端末識別子を入力することを特徴とする請求項1から4までのいずれかに記載の鍵生成システム。
The blind server device further includes:
An authentication unit that performs authentication of the terminal device by a processing device;
The key generation system according to any one of claims 1 to 4, wherein the hash value calculation unit of the blind server device inputs the terminal identifier when the authentication by the authentication unit is successful.
前記鍵生成サーバ装置は、さらに、
前記ブラインドサーバ装置の認証を処理装置で行う認証部を有し、
前記鍵生成サーバ装置の部分鍵生成部は、前記認証部による認証が成功した場合に、前記部分鍵を生成することを特徴とする請求項1から5までのいずれかに記載の鍵生成システム。
The key generation server device further includes:
An authentication unit that performs authentication of the blind server device by a processing device;
The key generation system according to claim 1, wherein the partial key generation unit of the key generation server device generates the partial key when authentication by the authentication unit is successful.
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成する鍵生成方法であって、
鍵生成サーバ装置が、前記公開情報と前記ハッシュ関数とを記憶装置に記憶し、
前記鍵生成サーバ装置が、記憶装置に記憶された公開情報から、前記秘密鍵の基となるマスタ鍵を処理装置で生成し、
ブラインドサーバ装置が、前記鍵生成サーバ装置により記憶された公開情報とハッシュ関数とを取得し、
前記ブラインドサーバ装置が、前記端末識別子を入力し、入力した端末識別子から前記取得したハッシュ関数により前記ハッシュ値を処理装置で計算し、
前記ブラインドサーバ装置が、前記取得した公開情報と前記計算したハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成し、
前記ブラインドサーバ装置が、前記生成したブラインド識別子を前記鍵生成サーバ装置に送信し、
前記鍵生成サーバ装置が、前記ブラインドサーバ装置により送信されたブラインド識別子を受信し、
前記鍵生成サーバ装置が、記憶装置に記憶された公開情報と前記生成したマスタ鍵と前記受信したブラインド識別子とに基づいて、部分鍵を処理装置で生成し、
前記鍵生成サーバ装置が、前記生成した部分鍵を前記ブラインドサーバ装置に送信し、
前記ブラインドサーバ装置が、前記鍵生成サーバ装置により送信された部分鍵を受信し、
前記ブラインドサーバ装置が、前記取得した公開情報と前記計算したハッシュ値と前記受信した部分鍵とに基づいて、前記秘密鍵を処理装置で生成することを特徴とする鍵生成方法。
For a terminal device that receives ciphertext encrypted by an ID (identifier) -based encryption method using predetermined public information and a hash value obtained from a terminal identifier for identifying itself by a predetermined hash function, A key generation method for generating a secret key for decrypting a sentence,
A key generation server device stores the public information and the hash function in a storage device;
The key generation server device generates a master key that is a basis of the secret key from the public information stored in the storage device by a processing device,
The blind server device acquires the public information and the hash function stored by the key generation server device,
The blind server device inputs the terminal identifier, calculates the hash value by a processing device using the acquired hash function from the input terminal identifier,
The blind server device generates a blind identifier obtained by blinding the terminal identifier from the acquired public information and the calculated hash value by a processing device,
The blind server device transmits the generated blind identifier to the key generation server device;
The key generation server device receives the blind identifier transmitted by the blind server device;
The key generation server device generates a partial key in a processing device based on the public information stored in a storage device, the generated master key, and the received blind identifier,
The key generation server device transmits the generated partial key to the blind server device;
The blind server device receives the partial key transmitted by the key generation server device;
The key generation method, wherein the blind server device generates the secret key by a processing device based on the acquired public information, the calculated hash value, and the received partial key.
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成するブラインドサーバ装置であって、
前記公開情報と前記ハッシュ関数とを公開するとともに、前記公開情報から、前記秘密鍵の基となるマスタ鍵を生成する鍵生成サーバ装置から、前記公開情報と前記ハッシュ関数とを取得する公開情報取得部と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得部により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理部と、
前記ブラインド処理部により生成されたブラインド識別子を前記鍵生成サーバ装置に送信して、前記鍵生成サーバ装置に前記公開情報と前記マスタ鍵と当該ブラインド識別子とに基づいて部分鍵を生成させる情報送信部と、
前記鍵生成サーバ装置から前記部分鍵を受信する情報受信部と、
前記公開情報取得部により取得された公開情報と前記ハッシュ値計算部により計算されたハッシュ値と前記情報受信部により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成部とを有することを特徴とするブラインドサーバ装置。
For a terminal device that receives ciphertext encrypted by an ID (identifier) -based encryption method using predetermined public information and a hash value obtained from a terminal identifier for identifying itself by a predetermined hash function, A blind server device for generating a secret key for decrypting a sentence,
Release the public information and the hash function, and acquire the public information and the hash function from a key generation server device that generates a master key that is a basis of the secret key from the public information. And
A hash value calculation unit that inputs the terminal identifier and calculates the hash value by a processing device using a hash function acquired by the public information acquisition unit from the input terminal identifier;
A blind processing unit that generates a blind identifier obtained by blindly blinding the terminal identifier from the public information acquired by the public information acquisition unit and the hash value calculated by the hash value calculation unit;
An information transmission unit that transmits the blind identifier generated by the blind processing unit to the key generation server device, and causes the key generation server device to generate a partial key based on the public information, the master key, and the blind identifier When,
An information receiving unit for receiving the partial key from the key generation server device;
A secret key for generating the secret key by the processing device based on the public information acquired by the public information acquisition unit, the hash value calculated by the hash value calculation unit, and the partial key received by the information reception unit A blind server device comprising: a generation unit.
所定の公開情報と自己を識別する端末識別子から所定のハッシュ関数により得られるハッシュ値とを用いてID(識別子)ベース暗号方式で暗号化された暗号文を受信する端末装置に対して、当該暗号文を復号するための秘密鍵を生成するプログラムであって、
前記公開情報と前記ハッシュ関数とを公開するとともに、前記公開情報から、前記秘密鍵の基となるマスタ鍵を生成する鍵生成サーバ装置から、前記公開情報と前記ハッシュ関数とを取得する公開情報取得処理と、
前記端末識別子を入力し、入力した端末識別子から前記公開情報取得処理により取得されたハッシュ関数により前記ハッシュ値を処理装置で計算するハッシュ値計算処理と、
前記公開情報取得処理により取得された公開情報と前記ハッシュ値計算処理により計算されたハッシュ値とから、前記端末識別子をブラインドしたブラインド識別子を処理装置で生成するブラインド処理と、
前記ブラインド処理により生成されたブラインド識別子を前記鍵生成サーバ装置に送信して、前記鍵生成サーバ装置に前記公開情報と前記マスタ鍵と当該ブラインド識別子とに基づいて部分鍵を生成させる情報送信処理と、
前記鍵生成サーバ装置から前記部分鍵を受信する情報受信処理と、
前記公開情報取得処理により取得された公開情報と前記ハッシュ値計算処理により計算されたハッシュ値と前記情報受信処理により受信された部分鍵とに基づいて、前記秘密鍵を処理装置で生成する秘密鍵生成処理とをコンピュータに実行させることを特徴とするプログラム。
For a terminal device that receives ciphertext encrypted by an ID (identifier) -based encryption method using predetermined public information and a hash value obtained from a terminal identifier for identifying itself by a predetermined hash function, A program for generating a secret key for decrypting a sentence,
Release the public information and the hash function, and acquire the public information and the hash function from a key generation server device that generates a master key that is a basis of the secret key from the public information. Processing,
A hash value calculation process in which the terminal identifier is input, and the hash value is calculated by a processing device using the hash function acquired by the public information acquisition process from the input terminal identifier;
Blind processing for generating a blind identifier by blindly blinding the terminal identifier from the public information acquired by the public information acquisition processing and the hash value calculated by the hash value calculation processing;
An information transmission process for transmitting the blind identifier generated by the blind process to the key generation server apparatus, and causing the key generation server apparatus to generate a partial key based on the public information, the master key, and the blind identifier; ,
An information reception process for receiving the partial key from the key generation server device;
A secret key for generating the secret key by a processing device based on the public information acquired by the public information acquisition process, the hash value calculated by the hash value calculation process, and the partial key received by the information reception process A program that causes a computer to execute generation processing.
JP2009120455A 2009-05-19 2009-05-19 Key generating system, key generating method, blind server device, and program Pending JP2010272899A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009120455A JP2010272899A (en) 2009-05-19 2009-05-19 Key generating system, key generating method, blind server device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009120455A JP2010272899A (en) 2009-05-19 2009-05-19 Key generating system, key generating method, blind server device, and program

Publications (1)

Publication Number Publication Date
JP2010272899A true JP2010272899A (en) 2010-12-02

Family

ID=43420617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009120455A Pending JP2010272899A (en) 2009-05-19 2009-05-19 Key generating system, key generating method, blind server device, and program

Country Status (1)

Country Link
JP (1) JP2010272899A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020513183A (en) * 2017-04-14 2020-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Data tokenization
JP2020532928A (en) * 2017-09-05 2020-11-12 深▲せん▼奥聯信息安全技術有限公司Shenzhen Olym Information Security Techology Co.,Ltd. Digital signature methods, devices and systems
CN112926075A (en) * 2021-03-26 2021-06-08 成都卫士通信息产业股份有限公司 SM9 key generation method, device, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212911A (en) * 1998-01-28 1999-08-06 Mitsubishi Electric Corp Distributed service cooperation device
JP2002358290A (en) * 2001-03-19 2002-12-13 Toshiba Corp Providing method, program and system for information processing service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212911A (en) * 1998-01-28 1999-08-06 Mitsubishi Electric Corp Distributed service cooperation device
JP2002358290A (en) * 2001-03-19 2002-12-13 Toshiba Corp Providing method, program and system for information processing service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013036586; Green, M. and Hohenberger, S.: 'Blind Identity-Based Encryption and Simulatable Oblivious Transfer' The Internet Report 2007/235, 20080502, Cryptology ePrint Archive *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020513183A (en) * 2017-04-14 2020-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Data tokenization
JP2020532928A (en) * 2017-09-05 2020-11-12 深▲せん▼奥聯信息安全技術有限公司Shenzhen Olym Information Security Techology Co.,Ltd. Digital signature methods, devices and systems
JP7105308B2 (en) 2017-09-05 2022-07-22 深▲せん▼奥聯信息安全技術有限公司 Digital signature method, device and system
CN112926075A (en) * 2021-03-26 2021-06-08 成都卫士通信息产业股份有限公司 SM9 key generation method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
Liu et al. Two-factor data security protection mechanism for cloud storage system
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
JP5367039B2 (en) Server apparatus and program
JP5668191B2 (en) ENCRYPTED DATA MANAGEMENT DEVICE, ENCRYPTED DATA MANAGEMENT METHOD, AND ENCRYPTED DATA MANAGEMENT PROGRAM
US9813386B2 (en) Cooperation service providing system and server apparatus
JP6049914B2 (en) Cryptographic system, key generation device, and re-encryption device
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
Yin et al. An efficient and secured data storage scheme in cloud computing using ECC-based PKI
Patel et al. Improved identity based encryption system (Iibes): A mechanism for eliminating the key-escrow problem
JP5135070B2 (en) Ciphertext decryption authority delegation system
US20050060545A1 (en) Secure provision of image data
JP2010272899A (en) Key generating system, key generating method, blind server device, and program
JP2023505629A (en) Method and system for verifiable identity-based encryption (VIBE) using certificateless authentication encryption (CLAE)
JP2018036418A (en) Encryption system, encryption method, and encryption program
JP2010028689A (en) Server, method, and program for providing open parameter, apparatus, method, and program for performing encoding process, and apparatus, method, and program for executing signature process
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal
Yin et al. PKI-based cryptography for secure cloud data storage using ECC
Mishra et al. A certificateless authenticated key agreement protocol for digital rights management system
JP5643251B2 (en) Confidential information notification system, confidential information notification method, program
Son et al. On secure data sharing in cloud environment
JP2010113181A (en) Key management method, key generation method, encryption processing method, decryption processing method, access control method, communication network system
JP5097137B2 (en) Cryptographic communication system, terminal device, secret key generation method and program
KR101652846B1 (en) Certificateless public key cryptography based authentication method
Tan et al. An implementation of enhanced public key infrastructure
JP7377495B2 (en) Cryptographic systems and methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131126