JP2016131271A - Server and service method - Google Patents
Server and service method Download PDFInfo
- Publication number
- JP2016131271A JP2016131271A JP2015004024A JP2015004024A JP2016131271A JP 2016131271 A JP2016131271 A JP 2016131271A JP 2015004024 A JP2015004024 A JP 2015004024A JP 2015004024 A JP2015004024 A JP 2015004024A JP 2016131271 A JP2016131271 A JP 2016131271A
- Authority
- JP
- Japan
- Prior art keywords
- encrypted data
- new
- public key
- key
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 88
- 238000004364 calculation method Methods 0.000 claims abstract description 84
- 230000008569 process Effects 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 49
- 238000013500 data storage Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 101100460203 Schizosaccharomyces pombe (strain 972 / ATCC 24843) new2 gene Proteins 0.000 description 2
- 101100273916 Schizosaccharomyces pombe (strain 972 / ATCC 24843) wip1 gene Proteins 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010339 medical test Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Abstract
Description
本発明は、暗号化されたデータを記憶保持し、要求に応じて当該暗号データを用いて一定の計算処理を行い暗号で結果を提供するサーバおよびサービス方法に係り、特に、暗号セキュリティのアップデートに対応するサーバおよびサービス方法に関する。 The present invention relates to a server and a service method for storing and storing encrypted data, performing a certain calculation process using the encrypted data in response to a request, and providing a result by encryption, particularly for updating cryptographic security. It relates to a corresponding server and service method.
クラウドサーバのように、クライアントに代わってデータを記憶保持するサービスが存在する。これを利用し、クライアントが開示している公開鍵で暗号化したデータを第三者がサーバにアップロードすると、クライアントはこのデータをクラウド管理者に内容秘匿のまま自身が解読(復号)可能な暗号データとしてサーバ上に置かれた状態で管理できる。例えばデータとしてセンサー出力や医療検査結果など秘匿性の高いデータを扱う場合に都合がよい。 There are services that store and hold data on behalf of clients, such as cloud servers. Using this, when a third party uploads data encrypted with the public key disclosed by the client to the server, the client can decrypt (decrypt) the data while keeping the contents confidential to the cloud administrator. It can be managed as data on the server. For example, it is convenient when handling highly confidential data such as sensor output and medical test results as data.
また、クラウドサーバでは、クライアントのデータを記憶保持し、リソースが限られたクライアントからの要求に応じてこのデータを用いてクライアントに代わって計算処理を行いその結果をクライアントに提供するサービスが存在する(代理計算)。この場合、通常、データとして暗号データは扱えない。暗号データで計算処理を行うと当然、平文データでの処理結果と一般に一致しないためである。 In cloud servers, there is a service that stores and holds client data, performs calculation processing on behalf of the client using this data in response to a request from a client with limited resources, and provides the result to the client (Proxy calculation). In this case, normally, encrypted data cannot be handled as data. This is because when the calculation process is performed with the encrypted data, the process result with the plain text data generally does not match.
一方、暗号データでの計算処理が平文データでの処理結果と対応するような暗号データ(=準同型性のある暗号データ)は、現在いくつか知られている。かかる暗号データを用いれば、サーバで一定の計算処理を行っても結果を同じ形式の暗号データで得ることができ、これをクライアントに提供できる。クライアントは対応する秘密鍵でこれを復号できる。つまり、準同型性のある暗号データを利用すれば、サーバ上で行うデータの計算処理に関しても、これをクラウド管理者に内容秘匿でクライアントが管理できる。 On the other hand, some encryption data (= encrypted data having homomorphism) in which calculation processing with encrypted data corresponds to a processing result with plain text data are currently known. If such encrypted data is used, the result can be obtained with the same format of encrypted data even if a certain calculation process is performed on the server, and this can be provided to the client. The client can decrypt this with the corresponding private key. In other words, if encrypted data having homomorphism is used, the client can manage the data calculation processing performed on the server in a secret manner from the cloud administrator.
データの記憶保持および計算処理に関しては、現状、上記のように暗号データ(とりわけ準同型性を有する暗号データ)を用いてその利点を享受できるものの、一般に暗号データは危殆化する可能性を有しており、長期的視点ではセキュリティの更新(アップデート)が必要不可欠である。暗号データのセキュリティを更新するには、一旦平文に復号してから再度アップデートに対応した暗号化を行うか、平文に復号せず直接に暗号データに対してセキュリティ更新の処理を行うかのいずれかになる。いずれも処理負担が軽いとは限られず、クライアントではなくサーバの側で行うのが好ましいと考えられる。 With regard to data storage and calculation processing, currently, encryption data (especially encryption data having homomorphism) can be enjoyed as described above, but encryption data generally has the possibility of being compromised. From a long-term perspective, security updates are essential. To update the security of the encrypted data, either decrypt it into plaintext and then perform encryption corresponding to the update again, or perform the security update process directly on the encrypted data without decrypting it into plaintext. become. In any case, the processing load is not limited, and it is preferable to perform the processing on the server side, not on the client side.
サーバの側で暗号データのセキュリティ更新の処理を行うと、前者の場合では、その処理時にクラウド管理者に対するデータ内容の秘匿性がくずれる。よって、データの記憶保持、計算処理、セキュリティ更新という一連のサービスで一貫した秘匿性を保てず、サービスとして不備が含まれたものになってしまう。そこで、準同型性を有する暗号データを扱ってなおかつ直接に暗号データにセキュリティ更新の処理ができるサーバが望まれる。このとき、セキュリティ更新の処理を行っても暗号データに準同型性が保たれることが前提になる。準同型性のない暗号データに更新されると、サーバ上で行うデータの計算処理に関するサービスがその後提供できなくなる。 When the security update processing of the encrypted data is performed on the server side, in the former case, the confidentiality of the data content to the cloud administrator is lost during the processing. Therefore, a series of services such as data storage / holding, calculation processing, and security update cannot maintain a consistent confidentiality, and the service includes defects. Therefore, a server that handles encrypted data having homomorphism and can directly perform security update processing on encrypted data is desired. At this time, it is assumed that the homomorphism is maintained in the encrypted data even if the security update process is performed. If it is updated to encryption data that does not have homomorphism, then a service relating to data calculation processing performed on the server cannot be provided.
本発明は、暗号化されたデータを記憶保持し、要求に応じて当該暗号データを用いて一定の計算処理を行い暗号で結果を提供するサーバおよびサービス方法において、当該暗号データに対してセキュリティのアップデートが可能なサーバおよびサービス方法を提供することを目的とする。 The present invention relates to a server and a service method for storing and storing encrypted data, performing a certain calculation process using the encrypted data in response to a request, and providing a result in the encryption, with respect to the encrypted data. An object is to provide a server and a service method that can be updated.
本発明の一態様であるサーバは、クライアントの公開鍵で暗号化されたデータである、準同型性が付与された暗号データを複数記憶保持する手段と、前記クライアントから、複数の前記暗号データをソースとして行う計算処理をなすことの要求がされたときに該要求を受け付ける手段と、前記要求に基づいて、複数の前記暗号データをソースに前記計算処理を準同型演算として行い、該計算処理の結果である、前記公開鍵で暗号化された形式を有する暗号化処理結果を算出する手段と、前記暗号化処理結果を前記クライアントに提供する手段と、前記暗号データに対してセキュリティ更新を行うための鍵である、前記公開鍵との関係性を有する更新鍵、および該セキュリティ更新がされたあとの前記クライアントの公開鍵である新公開鍵が前記クライアントから送付されたときに該更新鍵および該新公開鍵を受け取る手段と、前記暗号データに行う前記セキュリティ更新として、前記更新鍵および前記新公開鍵を用いて、前記暗号データを、前記新公開鍵により暗号化された形式を有しかつ前記準同型性と同様の準同型性を有するデータである更新暗号データに変換する手段と、前記暗号データが前記更新暗号データに変換されたあと、前記暗号データを破棄して該暗号データを前記更新暗号データで置き換える手段とを具備する。 The server according to an aspect of the present invention stores a plurality of pieces of encrypted data with homomorphism, which is data encrypted with the client's public key, and a plurality of pieces of the encrypted data from the client. Means for accepting the request when a calculation process to be performed as a source is requested, and performing the calculation process as a homomorphic operation using a plurality of the encrypted data as a source based on the request, A means for calculating an encryption processing result having a format encrypted with the public key, a means for providing the encryption processing result to the client, and a security update for the encrypted data An update key having a relationship with the public key and a new public key that is a public key of the client after the security update is performed Means for receiving the update key and the new public key when sent from a client; and the security data to be updated on the encrypted data, using the update key and the new public key as a security update. Means for converting to update encrypted data which is data having a format encrypted by a key and having homomorphism similar to the homomorphism, and after the encrypted data is converted to the updated encrypted data, Means for discarding the encrypted data and replacing the encrypted data with the updated encrypted data.
このサーバは、クライアントの公開鍵で暗号化されたデータである、準同型性が付与された暗号データを複数記憶保持する手段を有している。この手段自体は一般的な記憶保持手段で足りる。このような暗号データの記憶保持により、データの記憶保持およびその計算処理の点で、クラウド管理者を含めたクライアント以外の者への秘匿性を保つことができる。つまり、クライアントから、このサーバにある暗号データをソースとして行う計算処理の要求を受けてこれを準同型演算として行い、その結果として得た、同じ公開鍵で暗号化された形式を有する暗号化処理結果をクライアントに提供する、というサービスを行える。 This server has means for storing and holding a plurality of encrypted data with homomorphism, which is data encrypted with the client's public key. This means itself may be a general memory holding means. By storing and storing such encrypted data, it is possible to maintain confidentiality to persons other than the client including the cloud administrator in terms of data storage and calculation processing. In other words, it receives a request for calculation processing from the client using the encryption data in this server as a source, performs this as a homomorphic operation, and the encryption processing having the format encrypted with the same public key obtained as a result A service that provides results to clients can be performed.
そして、暗号データに対してセキュリティ更新を行うための鍵である、上記公開鍵との関係性を有する更新鍵およびセキュリティ更新がされたあとのクライアントの公開鍵である新公開鍵をクライアントから受け取り、これらの更新鍵および新公開鍵を用いて、暗号データを、新公開鍵により暗号化された形式を有しかつもとの準同型性と同様の準同型性を有する更新暗号データに変換する。この後、暗号データを破棄して更新暗号データで置き換える、という動作を行う。このような一連の動作によって、暗号データのセキュリティ更新後もその準同型性を維持する。よって、要求に応じて暗号データを用いて一定の計算処理を行い暗号で結果を提供するサーバにおいて、暗号データに対するセキュリティのアップデートが可能である。 Then, a key for performing security update on the encrypted data, an update key having a relationship with the public key and a new public key that is a public key of the client after the security update is received from the client, Using these update key and new public key, the encrypted data is converted into updated encrypted data having a format encrypted with the new public key and having homomorphism similar to the original homomorphism. Thereafter, the operation of discarding the encrypted data and replacing it with the updated encrypted data is performed. By such a series of operations, the homomorphism is maintained even after the encryption data is updated. Therefore, it is possible to update the security of the encrypted data in the server that performs a certain calculation process using the encrypted data in response to the request and provides the result by encryption.
また、別の態様であるサービス方法は、クライアントの公開鍵で暗号化されたデータである、準同型性が付与された暗号データを複数記憶保持し、前記クライアントから、複数の前記暗号データをソースとして行う計算処理をなすことの要求がされたときに該要求を受け付け、前記要求に基づいて、複数の前記暗号データをソースに前記計算処理を準同型演算として行い、該計算処理の結果である、前記公開鍵で暗号化された形式を有する暗号化処理結果を算出し、前記暗号化処理結果を前記クライアントに提供し、前記暗号データに対してセキュリティ更新を行うための鍵である、前記公開鍵との関係性を有する更新鍵、および該セキュリティ更新がされたあとの前記クライアントの公開鍵である新公開鍵が前記クライアントから送付されたときに該更新鍵および該新公開鍵を受け取り、前記暗号データに行う前記セキュリティ更新として、前記更新鍵および前記新公開鍵を用いて、前記暗号データを、前記新公開鍵により暗号化された形式を有しかつ前記準同型性と同様の準同型性を有するデータである更新暗号データに変換し、前記暗号データが前記更新暗号データに変換されたあと、前記暗号データを破棄して該暗号データを前記更新暗号データで置き換える。 According to another aspect of the present invention, there is provided a service method that stores and holds a plurality of pieces of encrypted data with homomorphism, which is data encrypted with a client's public key, and the plurality of pieces of encrypted data are sourced from the client. When the request to perform the calculation process is received, the request is accepted, and based on the request, the calculation process is performed as a homomorphic operation using a plurality of the encrypted data as a source, and the result of the calculation process The public key is a key for calculating an encryption processing result having a format encrypted with the public key, providing the encryption processing result to the client, and performing security update on the encrypted data. An update key having a relationship with the key and a new public key that is a public key of the client after the security update is sent from the client When the update key and the new public key are received, and the security update performed on the encrypted data, the encrypted data is encrypted with the new public key using the update key and the new public key. And updated cipher data that is similar to the homomorphism, and after the cipher data is converted to the cipher data, the cipher data is discarded and the cipher data Is replaced with the updated encrypted data.
このサービス方法は、上記のサーバに対応する方法である。 This service method is a method corresponding to the server described above.
本発明によれば、暗号化されたデータを記憶保持し、要求に応じて当該暗号データを用いて一定の計算処理を行い暗号で結果を提供するサーバおよびサービス方法において、当該暗号データに対してセキュリティのアップデートが可能なサーバおよびサービス方法を提供することができる。 According to the present invention, in a server and a service method that stores and holds encrypted data, performs a certain calculation process using the encrypted data in response to a request, and provides a result by encryption, the encrypted data It is possible to provide a server and a service method capable of updating security.
以上を踏まえ、以下では本発明の実施形態を図面を参照しながら説明する。図1は、一実施形態であるサーバおよびこれを含むシステムを示している。同図において、サーバ10は例えばクラウドサーバであり、一方、クライアント30はサーバ10が提供するサービスを享受する機器である。ひとつのサーバ10にクライアント30は多数存在し得る(ほかのクライアントは不図示)。サーバ10とクライアント30とは管理主体が異なる前提で以下説明するが、データの暗号化により、第三者機器20からは、見掛け上サーバ10がクライアント30の一部であるかのようになっている。
Based on the above, embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a server and a system including the server according to an embodiment. In the figure, the
すなわち、クライアント30は、その管理するデータをサーバ10上では暗号化された状態で記憶保持させている。この暗号化に必要な公開鍵はクライアント30が開示している。したがって、クライアント30が開示している公開鍵で第三者機器20が暗号化したデータをサーバ10にアップロードすると、クライアント30はこのデータをクラウド管理者(サーバ10の管理者)に内容秘匿のまま自身が秘密鍵で解読(復号)可能な暗号データとしてサーバ10上に置かれた状態で管理できる。例えばデータとしてセンサー出力や医療検査結果など秘匿性の高いデータを扱う場合に都合がよい。
That is, the
サーバ10は、通信インターフェース11、暗号データ記憶保持部12、計算処理部(算出部)13、セキュリティ更新処理部(変換部、置き換え部)14を有する。クライアント30は、パラメータ生成保持部31、鍵生成部32、鍵保持部33、通信インターフェース34、一般処理部35(要求内容生成、その結果の復号を行う)、更新鍵生成部36を有する。第三者機器20は、処理部(暗号化部)21、通信インターフェース22を有する。
The
以下、サーバ10、クライアント30、および第三者機器20の各内部構成についてその機能を説明するが、理解の便宜のため一連の動作に沿って説明するので、必ずしも機器ごとにまとまった説明にならない点を断っておく。また、機能ブロック図として描いた図1を中心に参照して説明するが、適宜、説明図である図2ないし図9を参照する。
Hereinafter, the functions of the internal configurations of the
(公開鍵および秘密鍵の生成)
公開鍵および秘密鍵の生成のため、まず、クライアント30は、パラメータ生成保持部31によりパラメータ(q,l,p)を生成する。qは正の整数、lは正の整数、pは正の整数で、pとqは互いに素(つまり最小公倍数が1)である。lは、平文ベクトルの成分数として設定された数である。平文ベクトルは、成分数がlで各成分がpを法として表された整数とする。以上図2を参照することができる。生成されたパラメータはパラメータ生成保持部31に保持されるとともに、鍵生成部32に渡される。なお、「ベクトル」は断りのない限り横ベクトルを意味する(以下でも同様)。
(Generate public and private keys)
In order to generate a public key and a secret key, the
鍵生成部32は、パラメータ生成部31から渡されたパラメータ(q,l,p)に基づき公開鍵および秘密鍵を生成する。手順は以下であり図3を参照できる。まず、sを決めnを決める。sは正の実数で、離散ガウス分布の標準偏差として設定する。nは正の整数でセキュリティ(安全性)に関連する数であり、q、s、nで暗号としての安全性が定まる。ちなみに、本実施形態で例えばq=2114、s=8.0、n=2661とした場合には、80ビットセキュリティの暗号が得られる。一般にNビットセキュリティの暗号とは、2N回の解読計算で鍵(秘密鍵)が見つかる暗号である。
The
次に、鍵生成部32は、正規ランダム行列R、Sを生成する。すなわち、R、Sは、それぞれ、n行l列の行列で各要素は分散s2の離散ガウス分布からサンプリングした整数である。加えて、鍵生成部32は、一様ランダム行列Aを生成する。すなわち、Aは、n行n列の正方行列で、各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数である。
Next, the
さらに、鍵生成部32はPを計算する。計算式はP=pR−ASである。Pは、n行l列の行列で、各要素はqを法として表された整数になる。以上の一連の手順により、公開鍵は(A,P,n,s)として、秘密鍵はSとして、それぞれ生成される。生成された各鍵は鍵保持部33に渡され、そこで記憶保持される。秘密鍵Sは、クライアント30の外に流出しないように管理される一方、公開鍵(A,P,n,s)は、第三者機器20のため開示される。第三者機器20は、例えば医療機関やエネルギー提供会社などの秘匿性のあるデータを取り扱う者が有する機器を想定することができる。
Further, the
(暗号化)
図1に示すシステムでは、データの暗号化を公開鍵でクライアント30が行い、その結果である暗号データをサーバ10に送ってサーバ10上に記憶保持させることができる。同様に、第三者機器20がその有する、秘匿が必要な平文のデータをクライアント30の公開鍵で暗号化し、その結果である暗号データをサーバ10に送ってサーバ10上に記憶保持させることもできる。暗号化の処理自体は両者とも変わらないが、後者の動作として以下説明する。手順は以下であり図4を参照できる。
(encryption)
In the system shown in FIG. 1, the
まず、第三者機器20の処理部21はノイズe1、e2を生成する。e1、e2は、それぞれ、成分数がnのベクトルで、各成分は分散s2の離散ガウス分布からサンプリングした整数である。加えて、処理部21はノイズe3を生成する。e3は、成分数がlのベクトルで、各成分は分散s2の離散ガウス分布からサンプリングした整数である。
First, the processing unit 21 of the
次に、処理部21はc1を計算する。計算式はc1=e1A+pe2である。c1は、成分数がnのベクトルで、各成分はqを法として表された整数になる。加えて、処理部21はc2を計算する。計算式はc2=e1P+pe3+mである。mは第三者機器20において生成された平文ベクトルで、成分数がlで各成分はpを法として表された整数である。c2は、成分数がlのベクトルで各成分はqを法として表された整数になる。
Then, the processing unit 21 calculates c 1. The calculation formula is c 1 = e 1 A + pe 2 . c 1 is a vector having n components, and each component is an integer expressed modulo q. In addition, the processing unit 21 calculates c 2. The calculation formula is c 2 = e 1 P + pe 3 + m. m is a plaintext vector generated in the third-
以上の一連の手順により、暗号データcはc=(c1,c2)として生成される。なお、第三者機器20は、以上の一連の手順で公開鍵(A,P,n,s)が必要であるが、これ以外に少なくともパラメータ(l,p)が必要である。パラメータ(l,p)は第三者機器20において前提として了解されているものとする。生成された暗号データは、処理部21から通信インターフェース22に渡され、通信インターフェース22は、渡された暗号データを通信路を介してサーバ10に向けて送る。
Through the series of procedures described above, the encrypted data c is generated as c = (c 1 , c 2 ). The third-
サーバ10は、第三者機器20から送られてきた暗号データを通信インターフェース11で受け取る。通信インターフェース11で受け取られた暗号データは、通信インターフェース11から暗号データ記憶保持部12に渡される。暗号データ記憶保持部12は、通信インターフェース11から渡された暗号データを記憶保持する。この暗号データは、すなわち、サーバ10の管理者に内容秘匿のままクライアント30のみが復号可能な暗号データとしてサーバ10上に置かれたデータになっている。
The
(復号)
図1に示すシステムで復号はもっぱらクライアント30で行われる。これにより、サーバ10の管理者に対するデータの秘匿性が保たれる。単に復号する場合の動作を以下説明する。暗号データ記憶保持部12に記憶保持された暗号データをクライアント30が復号して平文データに戻す場合には、クライアント30は、その暗号データc=(c1,c2)を提出することの要求をサーバ10に対して行う。そのため、その旨の情報を一般処理部35で生成する。この要求の旨の情報は、一般処理部35から通信インターフェース34に渡される。
(Decryption)
In the system shown in FIG. 1, decryption is performed exclusively by the
通信インターフェース34に渡された要求の旨の情報は、通信インターフェース34から通信路を介してサーバ10に送られる。サーバ10は、クライアント30から送られてきた要求の旨の情報を通信インターフェース11で受け取る。通信インターフェース11で受け取られた要求の旨の情報は通信インターフェース11から計算処理部13に渡される。計算処理部13は、渡された要求の内容に従い、暗号データ記憶処理部12から該当の暗号データc=(c1,c2)を取り出す。そして、計算処理部13は、取り出した暗号データに対してこの場合特に処理を行わずに通信インターフェース11に渡す。なお、一般には計算処理部13が暗号データに対して一定の計算処理を行う場合もあるがその場合については後述する。
Information indicating the request passed to the
通信インターフェース11に渡された暗号データは、通信インターフェース11から通信路を介してクライアント30に送られる。クライアント30は、サーバ10から送られてきた暗号データを通信インターフェース34で受け取る。通信インターフェース34で受け取られた暗号データc=(c1,c2)は通信インターフェース34から一般処理部35に渡される。
The encrypted data transferred to the communication interface 11 is sent from the communication interface 11 to the
一般処理部35は、暗号データc=(c1,c2)の復号動作として以下を行う。この点は図5を参照できる。まず、mバーを計算する。計算式は、mバー=m=c1S+c2である。Sは前述してあるように秘密鍵であり、鍵保持部33に保持されている。次に平文ベクトルmを計算する。計算式は、m=mバー mod pである。mは復号で得られた平文ベクトル(=復号結果)になる。当然ながら、この復号は秘密鍵Sを保持しているクライアント30以外では実行できない。秘密鍵はクライアント30の外に流出しないように管理されている。
The
以上により、サーバ10が行うクライアント30のためのデータの記憶保持というサービスの点で、サーバ管理者に対するデータの秘匿性が保たれることを説明した。
As described above, it has been described that the confidentiality of the data with respect to the server administrator is maintained in terms of the service of storing and storing data for the
(暗号データの性質)
次に、上記で説明したように生成された暗号データに特有な性質について説明する。図2、図3、図4に示された手順で生成された暗号データには、一定の準同型性がある。そのひとつは加算の準同型性であり、一般に、c+c’=Enc(pk,m+m’) が成り立っている。ここで「Enc」は、上記で説明した暗号化を平文データm+m’に対して公開鍵pkで行うことの関数を意味し、ここで公開鍵pk(public key)=(A,P,n,s)である。
(Characteristics of encrypted data)
Next, a characteristic unique to the encrypted data generated as described above will be described. The encrypted data generated by the procedures shown in FIGS. 2, 3, and 4 has a certain homomorphism. One of them is homomorphism of addition, and generally, c + c ′ = Enc (pk, m + m ′) is established. Here, “Enc” means a function for performing the encryption described above on the plaintext data m + m ′ with the public key pk, where the public key pk (public key) = (A, P, n, s).
つまり、暗号データc、c’とその対応する平文データm、m’とで、暗号データで行った加算c+c’の演算結果は、平文データで行った加算m+m’の演算結果を暗号化したものに等しくなっている。この点は、図2〜図4を参照して追ってみれば確かめることができる。 That is, the operation result of the addition c + c ′ performed on the encrypted data between the encrypted data c and c ′ and the corresponding plaintext data m and m ′ is obtained by encrypting the operation result of the addition m + m ′ performed on the plaintext data. It is equal to. This point can be confirmed by referring to FIGS.
かかる暗号データであることから、サーバ10で加算の演算処理を行うとその結果を、同じ形式で暗号化されたデータとしてクライアント30に提供できる。クライアント30は対応する秘密鍵Sでこれを復号できる。つまり、一定の準同型性のある暗号データを利用することにより、サーバ10上で行うデータの一定の演算処理に関しても、これをサーバ管理者に内容秘匿でクライアント30が管理できる。
Since it is such encrypted data, when the addition calculation process is performed by the
図2、図3、図4に示された手順で生成された暗号データには、もうひとつの準同型性が備わっている。すなわち、この暗号データは、一般にcTc’=Enc(pk,mTm’)が成り立っている。ここで、cT、mTはそれぞれ、横ベクトルc、mを縦ベクトルに直したものである。つまり、暗号データc、c’とその対応する平文データm、m’とで、暗号データで行ったテンソル積cTc’(=n+l行n+l列の正方行列)の演算結果は、平文データで行ったテンソル積mTm’の演算結果を暗号化したもの(=n+l行n+l列の正方行列)に、要素ごとに等しくなっている。この点は、図2〜図4を参照して追ってみれば確かめることができる。 The encrypted data generated by the procedure shown in FIGS. 2, 3, and 4 has another homomorphism. In other words, this encrypted data generally has c T c ′ = Enc (pk, m T m ′). Here, c T and m T are obtained by converting horizontal vectors c and m into vertical vectors, respectively. That is, the operation result of the tensor product c T c ′ (= square matrix of n + l rows n + l columns) performed on the encrypted data between the encrypted data c and c ′ and the corresponding plaintext data m and m ′ is plaintext data. It is equal for each element to the encrypted result of the tensor product m T m ′ (= square matrix of n + l rows n + l columns). This point can be confirmed by referring to FIGS.
よって、このような乗算の準同型性のある暗号データを利用することにより、サーバ10上で行う積を求める演算処理に関しても、これをサーバ管理者に内容秘匿でクライアント30が管理できる。クライアント30はその演算結果を秘密鍵Sで復号できる。
Therefore, by using encryption data having homomorphism of such multiplication, the
以上の点をまとめると、図2、図3、図4に示された手順で生成された暗号データは、2次形式の計算を行う処理についてサーバ10で扱うことができることを意味する。サーバ10でこのような処理を行うと、その結果はもとの公開鍵で暗号化された形式を有する、平文データで同様な処理を行った結果に対応したデータになる。したがって、クライアント30に代わって計算処理をサーバ10で行いその結果をクライアント30に提供しクライアント30はこれを秘密鍵で復号できる。すなわち、2次形式の計算処理に関して、これをサーバ管理者に内容秘匿でクライアント30が管理できることになる。
To summarize the above points, it means that the encrypted data generated by the procedures shown in FIGS. 2, 3, and 4 can be handled by the
以上説明した準同型性と2次形式の計算との関係をもう一度説明したものが図6である。図6は以上の点から容易に理解できると思われるが簡単におさらいする。まず、図2〜図4によれば、平文ベクトルm、m’とその暗号文ベクトルc、c’とに関して以下が成り立つ。
c+c’=Enc(pk,m+m’) ・・・加算の準同型性
cTc’=Enc(pk,mTm’) ・・・テンソル積の乗算の準同型性
FIG. 6 illustrates once again the relationship between the homomorphism described above and the calculation of the quadratic form. Although FIG. 6 may be easily understood from the above points, it will be briefly reviewed. First, according to FIGS. 2 to 4, the following holds for plaintext vectors m and m ′ and their ciphertext vectors c and c ′.
c + c ′ = Enc (pk, m + m ′): homomorphism of addition c T c ′ = Enc (pk, m T m ′): homomorphism of multiplication of tensor products
次に、例えば、平文データxi、yiの各暗号データEnc(pk,xi)、Enc(pk,yi)を用いた2次形式の計算:
N
Σ ai・Enc(pk,xi)・Enc(pk,yi) (iはデータ番号)
i=1
の結果は、次式、平文データを用いた2次形式の計算結果を暗号化したものに等しい。
N
Enc(pk,Σ ai・xiyi)
i=1
Next, for example, calculation in the secondary format using the encrypted data Enc (pk, x i ) and Enc (pk, y i ) of the plaintext data x i and y i :
N
Σ a i · Enc (pk, x i) · Enc (pk, y i) (i is data number)
i = 1
The result is equal to the result obtained by encrypting the calculation result in the secondary form using the following formula and plaintext data.
N
Enc (pk, Σ a i · x i y i)
i = 1
したがって、サーバ管理者に対して平文データxi、yiを秘匿したままサーバ10で計算処理を行い、その後クライアント30は復号でその計算結果を得ることができる。
Therefore, the plaintext data x i and y i are kept secret from the server administrator, the
(準同型演算が適用可能な例)
サーバ10で行う準同型演算が適用可能な例を図7を参照して説明する。同図に示すように平文データ列(xx(i),yy(i))を考える(ここで、iはデータ番号で1〜N、ベクトルxx(i)は成分数がnf、yy(i)はスカラー)。平文データ列(xx(i),yy(i))に想定される関係式として以下:
yy(i)=θ0+θ・xx(i)+ε(i)=hθ(xx(i))+ε(i) (すなわち、ほぼ線形な関係式。ε(i)は誤差)
が成り立つとする。
(Example of applying homomorphic operations)
An example to which a homomorphic operation performed by the
yy (i) = θ 0 + θ · xx (i) + ε (i) = h θ (xx (i) ) + ε (i) (ie, a substantially linear relational expression, ε (i) is an error)
Suppose that
線形回帰計算として、平文データ列(xx(i),yy(i))から(θ0,θ)を求めるには、以下のようにすればよい。すなわち、
与えられた初期偏回帰係数(θ0,θ1,・・・,θnf,)=(θ0,θ)
与えられた重み係数 α
を用いて、次の反復計算を行う。
j=0〜nfについて
N
θj ← θj−(α/N)Σ (hθ(xx(i))−yy(i))xx(i) j
i=1
(xx(i) jは、第j成分)
を(θ0,θ)が収束するまで行う。収束した(θ0,θ)が解答である。
In order to obtain (θ 0 , θ) from the plaintext data string (xx (i) , yy (i) ) as the linear regression calculation, the following may be performed. That is,
Given initial partial regression coefficients (θ 0 , θ 1 ,..., Θ nf ) = (θ 0 , θ)
Given weight factor α
Is used to perform the next iterative calculation.
About j = 0 to n f
N
θ j ← θ j − (α / N) Σ (h θ (xx (i) ) − yy (i) ) xx (i) j
i = 1
(Xx (i) j is the j-th component)
Until (θ 0 , θ) converges. The converged (θ 0 , θ) is the answer.
以上の線形回帰計算は、その必要な計算が2次形式の計算処理に限られるため、平文データに代えて暗号データを用いて処理しても平文データに対応した結果が得られる。すなわち、クライアント30に代わってサーバ10で計算処理(暗号データを用いた計算処理)を行いその結果をクライアント30に提供することにより、クライアント30は意図する解答を復号で得ることができる。
In the above linear regression calculation, since the necessary calculation is limited to the calculation process in the quadratic format, the result corresponding to the plain text data can be obtained even if the encryption data is used instead of the plain text data. That is, by performing calculation processing (calculation processing using encrypted data) on the
図2〜図4に示した暗号化による暗号データにおいて適用可能な処理の例には、上記以外にも種々考えられる。例えば、mとm’とのハミング距離の計算も可能である。ここでm、m’には具体的にそれぞれ例えば生体認証情報の場合を挙げることができる。サーバ10で準同型演算が可能な暗号データが取り扱われる場合、リソースが限られたクライアント30からの要求に応じてクライアント30に代わって計算処理を行いその結果をクライアント30に提供するサービスを、データ内容秘匿のまま行うことができる。
In addition to the above, various examples of processing that can be applied to encrypted data by encryption shown in FIGS. For example, the Hamming distance between m and m ′ can be calculated. Here, specifically, for example, biometric authentication information can be given as m and m ′. When the
クライアント30からサーバ10に対して計算処理を要求してその結果をクライアント30が得るまでの手順を以下補足的に説明する。まず、クライアント30は、暗号データをソースとして行う特定の計算処理とその結果の提供とをサーバ10に要求するため、その旨の要求情報を一般処理部35で生成する。この要求情報は、一般処理部35から通信インターフェース34に渡される。
The procedure from the time when the
通信インターフェース34に渡された要求情報は、通信インターフェース34から通信路を介してサーバ10に送られる。サーバ10は、クライアント30から送られてきた要求情報を通信インターフェース11で受け付ける。通信インターフェース11で受け付けられた要求情報は通信インターフェース11から計算処理部13に渡される。計算処理部13は、渡された要求情報に従い、暗号データ記憶処理部12から計算に必要な暗号データを取り出してこれをソースとして準同型演算で計算処理し結果を算出する。そして、計算処理部13は、その結果である、公開鍵で暗号化された形式を有するデータを通信インターフェース11に渡す。
The request information passed to the
通信インターフェース11に渡された暗号データは、通信インターフェース11から通信路を介してクライアント30に送られ、提供される。クライアント30は、サーバ10から送られてきた暗号データを通信インターフェース34で受け取る。通信インターフェース34で受け取られた暗号データは通信インターフェース34から一般処理部35に渡される。一般処理部35は、通信インターフェース34から渡された暗号データを、すでに説明した手順により復号する。
The encrypted data transferred to the communication interface 11 is sent from the communication interface 11 to the
以上により、準同型性のある暗号データを利用し、サーバ10上で行うデータの計算処理に関して、これをサーバ管理者に内容秘匿でクライアント30が管理できる点を説明した。
As described above, the point that the
(更新鍵の生成)
次に、暗号データ記憶保持部12に記憶保持された暗号データについてそのセキュリティを更新する手順を説明する。セキュリティ更新が必要になる理由は、一般に暗号データは長期的視点で危殆化する可能性を有しているためである。暗号データのセキュリティを更新するには、一般に、一旦平文データに復号してから再度アップデートに対応した暗号化を行うか、平文データに復号せず直接に暗号データに対してセキュリティ更新の処理を行うかのいずれかになる。いずれも処理負担が軽いとは限られず、クライアント30ではなくサーバ10の側で処理を行う方が好ましいと考えられる。
(Renewal key generation)
Next, a procedure for updating the security of the encrypted data stored and held in the encrypted data
サーバ10の側で暗号データのセキュリティ更新の処理を行うと、前者の場合では、その処理時にサーバ管理者に対するデータ内容の秘匿性がくずれる。よって、データの記憶保持、計算処理、セキュリティ更新という一連のサービスで一貫した秘匿性を保てず、サービスとして不備が含まれたものになってしまう。そこで、このサーバ10は、準同型性を有する暗号データを扱ってなおかつ直接に暗号データにセキュリティ更新の処理ができるように構成されている。そして、セキュリティ更新の処理を行っても暗号データの準同型性が保たれる。
When the security update process of the encrypted data is performed on the
セキュリティ更新のための動作はクライアント30での更新鍵の生成から始まる。以下の手順は図8を参照することができる。まず、クライアント30の鍵生成部32は、公開鍵(A,P,n,s)と同様に生成させた新公開鍵(Anew,Pnew,nnew,snew)、および秘密鍵Sと同様に生成させた新秘密鍵Snewを用意する。この動作は図3を参照できる。nnewは正の整数でnより大(=セキュリティの向上ため)である。新公開鍵および新秘密鍵は、鍵生成部32から鍵保持部33に渡されて保持され、さらに鍵保持部33から更新鍵生成部36に渡される。なお、公開鍵(A,P,n,s)および秘密鍵Sも鍵保持部33から更新鍵生成部36に渡される。
The operation for security update starts from generation of an update key in the
更新鍵生成部36は、まず、κ=ceiling(log2q)を計算する。ceiling( )は天井関数であり、括弧内の数をそれ以上の最小の整数に変換する関数である。次に、更新鍵生成部36は、ランダム行列X、Eを生成する。すなわち、Xは、nκ行nnew列の行列で各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数である。Eは、nκ行l列の行列で各要素は分散snew 2の離散ガウス分布からサンプリングした整数である。
The update
さらに、更新鍵生成部36はYを計算する。計算式はY=−XSnew+pE+Power2(S)である。ここで、Power2(S)はnκ行l列の行列で、Bits(c)・Power2(S)=c・SとなるようにSを変換する関数である。さらにここで、Bits(c)は、成分数がnで各成分がqを法として表された整数であるベクトルcについてその各成分をビット化し、成分数がnκになったベクトルである。Yは、nκ行l列の行列で各要素はqを法として表された整数になる。
Further, the update
以上の一連の手順により、更新鍵生成部36で更新鍵は(X,Y)として生成される。この更新鍵は、公開鍵と一定の関係性を有するように生成されている。そして、この更新鍵、および鍵保持部33に保持された新公開鍵は、それぞれ、更新鍵生成部36、鍵保持部33から通信インターフェース34に渡される。通信インターフェース34に渡された更新鍵および新公開鍵は、通信インターフェース34から通信路を介してサーバ10に送付される。
The update key is generated as (X, Y) by the update
サーバ10は、クライアント30から送付されてきた更新鍵および新公開鍵を通信インターフェース11で受け取る。通信インターフェース11で受け取られた更新鍵および新公開鍵は、通信インターフェース11からセキュリティ更新処理部14に渡される。セキュリティ更新処理部14は、渡された更新鍵および新公開鍵を用いて、暗号データ記憶処理部12に記憶保持された暗号データに対してセキュリティを更新する処理を行う(以下で説明する)。
The
(セキュリティ更新)
サーバ10は、クライアント30から送付されてきた更新鍵(X,Y)および新公開鍵(Anew,Pnew,nnew,snew)を用いて暗号データ記憶処理部12に記憶保持された暗号データに対してセキュリティを更新する処理を行う。この動作はセキュリティ更新処理部14による。セキュリティ更新処理部14は、暗号データに行うセキュリティ更新として、更新鍵および新公開鍵を用いて、暗号データを、新公開鍵により暗号化された形式を有しかつもとの準同型性と同様の準同型性を有するデータである更新暗号データに変換する。手順は以下であり図9を参照できる。
(Security update)
The
まず、セキュリティ更新処理部14は、ノイズf1、f2を生成する。f1、f2は、それぞれ、成分数がnnewのベクトルで、各成分は分散snew 2の離散ガウス分布からサンプリングした整数である。加えて、セキュリティ更新処理部14は、ノイズf3を生成する。f3は、成分数がlのベクトルで、各成分は分散snew 2の離散ガウス分布からサンプリングした整数である。
First, the security
次に、セキュリティ更新処理部14は、Fを計算する。計算式はF=[Bits(c1)X | Bits(c1)Y+c2]である。ここで記号「|」は、行列の連結を意味する。Fは、成分数がnnew+lのベクトルで、各成分はqを法として表された整数になる。c1、c2については、暗号データ(c1,c2)を暗号データ記憶処理部12から取り出して用いる。さらに、セキュリティ更新処理部14は、ゼロの暗号データE(0)を計算する。計算式は、E(0)=f1[Anew|Pnew]+p[f2|f3](図4参照)である。
Next, the security
以上の一連の手順により、セキュリティ更新後の暗号データである更新暗号データcnew=(cnew1,cnew2)は、F+E(0)として算出される。もとの暗号データc=(c1,c2)から変換され算出された更新暗号データcnew=(cnew1,cnew2)は、セキュリティ更新処理部14から暗号データ記憶保持部12に渡される。セキュリティ更新処理部14は、もとの暗号データを破棄して更新暗号データで置き換える。
Through the above series of procedures, the updated encrypted data c new = (c new1 , c new2 ), which is the encrypted data after the security update, is calculated as F + E (0). Original encrypted data c = (c 1, c 2 ) is converted from the calculated updated encrypted data c new = (c new1, c new2) is passed from the security
以上説明した、暗号データから更新暗号データへの変換は、暗号データとしてもとの準同型性が保たれたものになる。この点は、図8、図9、および図2〜図4を参照して追ってみれば確かめることができる。よって、要求に応じて暗号データを用いて一定の計算処理を行い暗号で結果を提供するサーバ10において、暗号データに対するセキュリティのアップデートが可能である。
The conversion from the encrypted data to the updated encrypted data described above maintains the original homomorphism as the encrypted data. This point can be confirmed by referring to FIGS. 8 and 9 and FIGS. Therefore, the
そして、このセキュリティ更新は、暗号データに対してサーバ10の動作として行われるので、リソースが限られているクライアント30の処理負担ならない。また、このセキュリティ更新は、暗号解読技術が進展して安全性が低下しても何度も繰り返すことができる。もとよりサーバ10として、データの記憶保持、計算処理、セキュリティ更新という一連のサービスで、一貫して秘匿性が保たれているという大きな効果を有している。なお、セキュリティ更新がされたあとは、当然ながらクライアント30は、これまでの公開鍵に代わり新公開鍵を開示し、その結果、その後第三者機器20は、新公開鍵を用いて暗号化が必要な平文データを暗号化しこれをサーバ10に送る(アップロードする)ことになる。
And since this security update is performed as operation | movement of the
以上、本発明の実施形態を説明したが、実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 As mentioned above, although embodiment of this invention was described, embodiment is shown as an example and is not intending limiting the range of invention. The novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. This embodiment and its modifications are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
10…サーバ、11…通信インターフェース、12…暗号データ記憶保持部、13…計算処理部(算出部)、14…セキュリティ更新処理部(変換部、置き換え部)、20…第三者機器、21…処理部(暗号化部)、22…通信インターフェース、30…クライアント、31…パラメータ生成保持部、32…鍵生成部、33…鍵保持部、34…通信インターフェース。35…一般処理部(要求内容生成部、結果の復号部)、36…更新鍵生成部。
DESCRIPTION OF
Claims (6)
前記クライアントから、複数の前記暗号データをソースとして行う計算処理をなすことの要求がされたときに該要求を受け付ける手段と、
前記要求に基づいて、複数の前記暗号データをソースに前記計算処理を準同型演算として行い、該計算処理の結果である、前記公開鍵で暗号化された形式を有する暗号化処理結果を算出する手段と、
前記暗号化処理結果を前記クライアントに提供する手段と、
前記暗号データに対してセキュリティ更新を行うための鍵である、前記公開鍵との関係性を有する更新鍵、および該セキュリティ更新がされたあとの前記クライアントの公開鍵である新公開鍵が前記クライアントから送付されたときに該更新鍵および該新公開鍵を受け取る手段と、
前記暗号データに行う前記セキュリティ更新として、前記更新鍵および前記新公開鍵を用いて、前記暗号データを、前記新公開鍵により暗号化された形式を有しかつ前記準同型性と同様の準同型性を有するデータである更新暗号データに変換する手段と、
前記暗号データが前記更新暗号データに変換されたあと、前記暗号データを破棄して該暗号データを前記更新暗号データで置き換える手段と
を具備するサーバ。 Means for storing and holding a plurality of encrypted data with homomorphism, which is data encrypted with the client's public key;
Means for accepting the request when a request is made from the client to perform a calculation process using a plurality of the encrypted data as a source;
Based on the request, the calculation process is performed as a homomorphic operation using a plurality of the encrypted data as sources, and an encryption process result having a format encrypted with the public key, which is a result of the calculation process, is calculated. Means,
Means for providing the encryption processing result to the client;
An update key having a relationship with the public key, which is a key for performing security update on the encrypted data, and a new public key which is a public key of the client after the security update is performed on the client Means for receiving the renewed key and the new public key when sent from
Using the update key and the new public key as the security update performed on the encrypted data, the encrypted data has a format encrypted with the new public key and is homomorphic similar to the homomorphism Means for converting into updated encrypted data which is data having
And a means for discarding the encrypted data and replacing the encrypted data with the updated encrypted data after the encrypted data is converted into the updated encrypted data.
前記クライアントから、複数の前記暗号データをソースとして行う計算処理をなすことの要求がされたときに該要求を受け付け、
前記要求に基づいて、複数の前記暗号データをソースに前記計算処理を準同型演算として行い、該計算処理の結果である、前記公開鍵で暗号化された形式を有する暗号化処理結果を算出し、
前記暗号化処理結果を前記クライアントに提供し、
前記暗号データに対してセキュリティ更新を行うための鍵である、前記公開鍵との関係性を有する更新鍵、および該セキュリティ更新がされたあとの前記クライアントの公開鍵である新公開鍵が前記クライアントから送付されたときに該更新鍵および該新公開鍵を受け取り、
前記暗号データに行う前記セキュリティ更新として、前記更新鍵および前記新公開鍵を用いて、前記暗号データを、前記新公開鍵により暗号化された形式を有しかつ前記準同型性と同様の準同型性を有するデータである更新暗号データに変換し、
前記暗号データが前記更新暗号データに変換されたあと、前記暗号データを破棄して該暗号データを前記更新暗号データで置き換える
サービス方法。 Stores and holds multiple encrypted data with homomorphism that is encrypted with the client's public key,
When the client requests to perform a calculation process using a plurality of the encrypted data as sources, the request is accepted,
Based on the request, the calculation process is performed as a homomorphic operation using a plurality of the encrypted data as sources, and an encryption process result having a format encrypted with the public key, which is a result of the calculation process, is calculated. ,
Providing the encryption processing result to the client;
An update key having a relationship with the public key, which is a key for performing security update on the encrypted data, and a new public key which is a public key of the client after the security update is performed on the client Receive the renewal key and the new public key when sent from
Using the update key and the new public key as the security update performed on the encrypted data, the encrypted data has a format encrypted with the new public key and is homomorphic similar to the homomorphism Converted to updated encrypted data,
A service method for discarding the encrypted data and replacing the encrypted data with the updated encrypted data after the encrypted data is converted into the updated encrypted data.
c1=e1A+pe2
c2=e1P+pe3+m
c=(c1,c2)
ここで、e1、e2は、それぞれ、成分数がnのベクトルで各成分は分散s2の離散ガウス分布からサンプリングした整数。e3は、成分数がlのベクトルで各成分は分散s2の離散ガウス分布からサンプリングした整数。mは平文ベクトルで、成分数がlで各成分はpを法として表された整数。
n、s、l、p、A、Pは以下による。
nは正の整数。sは正の実数。lは正の整数。pは正の整数でpとqは互いに素。qは正の整数。Aは、n行n列の正方行列で、各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数。PはP=pR−ASによる。R、Sは、それぞれ、n行l列の行列で各要素は分散s2の離散ガウス分布からサンプリングした整数。
により生成された暗号データcである請求項2記載のサービス方法。 The encrypted data with the homomorphism is given by the following formula:
c 1 = e 1 A + pe 2
c 2 = e 1 P + pe 3 + m
c = (c 1 , c 2 )
Here, e 1 and e 2 are each an integer sampled from a discrete Gaussian distribution with a vector having n components and each component having a variance s 2 . e 3 is an integer sampled from a discrete Gaussian distribution with a variance s 2 where each component is a vector with l components. m is a plaintext vector, the number of components is 1, and each component is an integer expressed modulo p.
n, s, l, p, A, and P are as follows.
n is a positive integer. s is a positive real number. l is a positive integer. p is a positive integer and p and q are relatively prime. q is a positive integer. A is a square matrix of n rows and n columns, and each element is an integer sampled at random from a set of integers (0,..., Q−1). P depends on P = pR-AS. R and S are each an integer sampled from a discrete Gaussian distribution with a variance s 2 where each element is an n-by-1 matrix.
The service method according to claim 2, wherein the data is encrypted data c generated by the above.
X: nκ行nnew列の行列で各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数
Y=−XSnew+pE+Power2(S)
ここで、nは正の整数。κはκ=ceiling(log2q)による。qは正の整数。nnewは、nより大の正の整数。Snewは、nnew行l列の行列で各要素は分散s2の離散ガウス分布からサンプリングした整数。lは正の整数。pは正の整数でpとqは互いに素。Eは、nκ行l列の行列で各要素は分散snew 2の離散ガウス分布からサンプリングした整数。snewは正の実数。Sは、n行l列の行列で各要素は分散s2の離散ガウス分布からサンプリングした整数。sは正の実数。Power2(S)はnκ行l列の行列で、Bits(c)・Power2(S)=c・SとなるようにSを変換する関数。Bits(c)は、成分数がnで各成分がqを法として表された整数であるベクトルcについてその各成分をビット化し、成分数がnκになったベクトル。そして、前記公開鍵が(A,P,n,s)、前記秘密鍵がS、前記新公開鍵が(Anew,Pnew,nnew,snew)、前記新秘密鍵がSnewである。Aは、n行n列の正方行列で各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数。Pは、n行l列の行列で各要素はqを法として表された整数。Anewは、nnew行nnew列の正方行列で各要素は整数の集合(0,…,q−1)から無作為にサンプリングした整数。Pnewは、nnew行l列の行列で各要素はqを法として表された整数。
により生成された鍵(X,Y)である請求項2記載のサービス方法。 The update key uses the public key, a secret key corresponding to the public key, the new public key, and a new secret key corresponding to the new public key, and the following formula:
X: a matrix of nκ rows and n new columns, each element is an integer randomly sampled from a set of integers (0,..., Q−1) Y = −XS new + pE + Power 2 (S)
Here, n is a positive integer. κ depends on κ = ceiling (log 2 q). q is a positive integer. n new is a positive integer greater than n. S new is an n new by 1 matrix, and each element is an integer sampled from a discrete Gaussian distribution with variance s 2 . l is a positive integer. p is a positive integer and p and q are relatively prime. E is an nκ × 1 matrix, and each element is an integer sampled from a discrete Gaussian distribution with variance s new 2 . s new is a positive real number. S is an n × 1 matrix, and each element is an integer sampled from a discrete Gaussian distribution with variance s 2 . s is a positive real number. Power2 (S) is a matrix of nκ rows and l columns, and a function that converts S so that Bits (c) · Power2 (S) = c · S. Bits (c) is a vector in which each component is bit-converted into a vector c in which the number of components is n and each component is an integer expressed modulo q and the number of components is nκ. The public key is (A, P, n, s), the secret key is S, the new public key is (A new , P new , n new , s new ), and the new secret key is S new . . A is a square matrix of n rows and n columns, and each element is an integer randomly sampled from a set of integers (0,..., Q−1). P is a matrix of n rows and l columns, and each element is an integer expressed modulo q. A new is a square matrix of n new rows and n new columns, and each element is an integer randomly sampled from a set of integers (0,..., Q−1). P new is a matrix of n new rows and 1 column, and each element is an integer expressed modulo q.
The service method according to claim 2, wherein the key (X, Y) is generated by.
F=[Bits(c1)X | Bits(c1)Y+c2]
E(0)=f1[Anew|Pnew]+p[f2|f3]
ここで、(c1,c2)が前記暗号データである。c1は、成分数がnのベクトルで各成分はqを法として表された整数。c2は、成分数がlのベクトルで各成分はqを法として表された整数。Bits(c1)は、成分数がnで各成分がqを法として表された整数であるベクトルc1についてその各成分をビット化し、成分数がnκになったベクトル。f1、f2は、それぞれ、成分数がnnewのベクトルで各成分は分散snew2の離散ガウス分布からサンプリングした整数。
により生成された暗号データF+E(0)である請求項5記載のサービス方法。 The updated encrypted data has the following formula:
F = [Bits (c 1 ) X | Bits (c 1 ) Y + c 2 ]
E (0) = f 1 [A new | P new ] + p [f 2 | f 3 ]
Here, (c 1 , c 2 ) is the encrypted data. c 1 is a vector having n components, and each component is an integer expressed modulo q. c 2 is an integer each component frequency components is a vector of l expressed the q modulo. Bits (c 1 ) is a vector in which the number of components is converted into bits and the number of components is nκ for vector c 1 which is an integer expressed by modulo q. f 1 and f 2 are each a vector having n new components, and each component is an integer sampled from a discrete Gaussian distribution with variance s new 2.
6. The service method according to claim 5, wherein the encrypted data is F + E (0) generated by.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004024A JP6490429B2 (en) | 2015-01-13 | 2015-01-13 | Server, service method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004024A JP6490429B2 (en) | 2015-01-13 | 2015-01-13 | Server, service method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016131271A true JP2016131271A (en) | 2016-07-21 |
JP6490429B2 JP6490429B2 (en) | 2019-03-27 |
Family
ID=56414835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015004024A Active JP6490429B2 (en) | 2015-01-13 | 2015-01-13 | Server, service method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6490429B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018174525A (en) * | 2017-03-31 | 2018-11-08 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | Privacy-aware signal monitoring systems and methods |
KR20200044103A (en) * | 2017-08-30 | 2020-04-28 | 인퍼, 인코포레이티드 | High-precision privacy protection real-time function evaluation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005252384A (en) * | 2004-03-01 | 2005-09-15 | Rikogaku Shinkokai | Encrypted data storage server system, encrypted data storage method, and re-encryption method |
WO2014010202A1 (en) * | 2012-07-12 | 2014-01-16 | 日本電気株式会社 | Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program |
-
2015
- 2015-01-13 JP JP2015004024A patent/JP6490429B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005252384A (en) * | 2004-03-01 | 2005-09-15 | Rikogaku Shinkokai | Encrypted data storage server system, encrypted data storage method, and re-encryption method |
WO2014010202A1 (en) * | 2012-07-12 | 2014-01-16 | 日本電気株式会社 | Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program |
Non-Patent Citations (3)
Title |
---|
AONO, Y. ET AL.: "Key-private proxy re-encryption under LWE", LECUTURE NOTES IN COMPUTER SCIENCE, vol. 8250, JPN6018036674, 2013, pages 1 - 18, ISSN: 0003924527 * |
GENTRY, C. ET AL.: "Homomorphic Encryption from Learning with Erros: Conceptually-Simpler, Asymptotically-Faster, Attrib", LECUTURE NOTES IN COMPUTER SCIENCE, vol. 8042, JPN6018036676, 2013, pages 75 - 92, ISSN: 0003924528 * |
一色寿幸: "準同型暗号を用いたプライバシー保護型統計演算のソフトウェア実装報告", 電子情報通信学会技術研究報告, vol. 第111巻 第455号, JPN6018036673, 23 February 2012 (2012-02-23), pages 135 - 140, ISSN: 0003924526 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018174525A (en) * | 2017-03-31 | 2018-11-08 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | Privacy-aware signal monitoring systems and methods |
KR20200044103A (en) * | 2017-08-30 | 2020-04-28 | 인퍼, 인코포레이티드 | High-precision privacy protection real-time function evaluation |
JP2020532771A (en) * | 2017-08-30 | 2020-11-12 | インファー,インク. | High-precision privacy protection real-valued function evaluation |
JP7272363B2 (en) | 2017-08-30 | 2023-05-12 | インファー,インク. | Precision privacy-preserving real-valued function evaluation |
KR102667837B1 (en) | 2017-08-30 | 2024-05-21 | 인퍼, 인코포레이티드 | High-precision privacy-preserving real-value function evaluation |
Also Published As
Publication number | Publication date |
---|---|
JP6490429B2 (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10903991B1 (en) | Systems and methods for generating signatures | |
JP5377540B2 (en) | Key management system | |
EP2424156B1 (en) | Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program and storage medium | |
CN113259329B (en) | Method and device for data careless transmission, electronic equipment and storage medium | |
JP2019517184A (en) | Method and system for secure data transmission | |
EP2582086A1 (en) | Cryptosystem, cryptographic communication method, encryption device, key-generating device, decryption device, content server device, program, and recording medium | |
US10237249B2 (en) | Key revocation | |
US20230019301A1 (en) | Attribute-based encryption (abe) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (iot) | |
US9037846B2 (en) | Encoded database management system, client and server, natural joining method and program | |
CN111865582B (en) | Private key offline storage method, system and storage medium based on zero knowledge proof | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
US20190124058A1 (en) | Terminal device, key distribution management device, server-client system, communication method, and programs | |
US11075748B2 (en) | Encryption for low-end devices through computation offloading | |
CN105656881B (en) | A kind of electronic health record can verify that outsourcing storage and retrieval system and method | |
CN111404671A (en) | Mobile quantum secret communication method, gateway, mobile terminal and server | |
CN104917611A (en) | Data encryption and decryption processing method and device for cloud computing | |
JP6468567B2 (en) | Key exchange method, key exchange system | |
CN114095171A (en) | Identity-based wearable proxy re-encryption method | |
JP6490429B2 (en) | Server, service method | |
CN108599941A (en) | Random asymmetries expand byte encryption of communicated data method | |
JP4758110B2 (en) | Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method | |
Elemam et al. | A secure MQTT protocol, telemedicine IoT case study | |
JP6643756B2 (en) | Server, service method | |
CN116232578A (en) | Multi-party collaborative signature system, method and equipment integrating quantum key distribution | |
CN116318654A (en) | SM2 algorithm collaborative signature system, method and equipment integrating quantum key distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190123 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6490429 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |