JP2015002409A - 暗号化鍵更新システム及びその方法 - Google Patents

暗号化鍵更新システム及びその方法 Download PDF

Info

Publication number
JP2015002409A
JP2015002409A JP2013125589A JP2013125589A JP2015002409A JP 2015002409 A JP2015002409 A JP 2015002409A JP 2013125589 A JP2013125589 A JP 2013125589A JP 2013125589 A JP2013125589 A JP 2013125589A JP 2015002409 A JP2015002409 A JP 2015002409A
Authority
JP
Japan
Prior art keywords
keyud
ciphertext
encryption key
seed
prng
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
Application number
JP2013125589A
Other languages
English (en)
Other versions
JP6033741B2 (ja
Inventor
尚宜 佐藤
Hisanobu Sato
尚宜 佐藤
雅之 吉野
Masayuki Yoshino
雅之 吉野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013125589A priority Critical patent/JP6033741B2/ja
Publication of JP2015002409A publication Critical patent/JP2015002409A/ja
Application granted granted Critical
Publication of JP6033741B2 publication Critical patent/JP6033741B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】暗号化鍵を提供することなく、暗号化鍵を更新する。
【解決手段】記憶装置に格納されている、暗号化鍵により暗号化された暗号文を、端末から、新しい暗号化鍵により暗号化された暗号化鍵更新済み暗号文に更新する。端末は、準同型疑似乱数生成器を用いて、暗号化鍵をシードとした疑似乱数と、データをシードとした疑似乱数とによりデータの暗号文を生成し、生成した暗号文を送信する暗号化処理部、及び、暗号化鍵の逆元と新しい暗号化鍵から、鍵更新用データを生成し、生成した鍵更新用データをストレージ装置に送信する暗号化鍵処理部を有する。ストレージ装置は、受信した暗号文を格納する記憶装置、及び、受信した鍵更新用データをシードとした疑似乱数と、暗号文をシードとした疑似乱数とにより暗号化鍵更新済み暗号文を生成し、暗号文に替えて暗号化鍵更新済み暗号文を記憶装置に格納する鍵更新処理部を有する。
【選択図】 図1

Description

本発明は、暗号化したデータ(暗号文)の暗号化鍵を更新するシステムに関する。
情報システムの開発の効率化、運用管理費の低減などを目的に、近年、情報システムを自身で保持せず、外部業者に委託するクラウドと呼ばれる運用管理形態の利用が広がっている。しかし、効率化やコスト低減の反面、クラウドにおいては、情報システムの管理者や担当者は、情報システムを利用するユーザとは異なるため、ユーザは外部業者も含めた第三者への機密情報漏洩について不安を抱くことになる。
第三者への機密情報漏洩については、同じ組織内であっても同様である。同じ組織内であっても、情報システムの管理者や担当者と、情報システムに格納するデータを管理するユーザ(情報システムの利用者)とは異なることがほとんどである。
機密情報漏洩の対策としては、暗号技術が有効であり、AES暗号などの従来技術により安全にかつ効率よく秘匿化をすることが可能である。
しかし、ストレージ装置を持つ情報システムにデータを暗号化して格納したとしても、情報システム担当者の交代や、より高いセキュリティを確保するためなどの理由により、適宜、暗号化鍵を更新することが望ましい。
従来の通常の暗号方式では新しい暗号化鍵に変更する際、いったん暗号文を復号し、新しい暗号化鍵を用いて暗号化することが必須である。ユーザが端末から情報システムにに元の暗号化鍵と新しい暗号化鍵を開示して、情報システムが暗号化鍵を更新するか、情報システムが格納している暗号化データを端末に一旦返送し、ユーザが端末で元の暗号化鍵で復号し、さらに新しい暗号化鍵で再暗号化するしか暗号化鍵を更新する方法がない。
情報システム側にに暗号化鍵を開示すると当然ながら情報システムの管理者や担当者に暗号化鍵を開示することに繋がり、機密情報漏洩に繋がりかねない。またユーザが端末で、情報システムに格納している暗号化データの暗号化鍵を更新する場合、暗号化データのデータ量が多いと、往復の通信量と暗復号化の計算量が膨大となり、非現実的で、クラウドのメリットを損なう。
特許文献1のように、1回のみ暗号化鍵の更新が可能な方法も知られているが、情報システムの管理者や担当者の交代ごとに、または定期的に繰り返して鍵更新を行う必要があり、不十分である。
国際公開公報WO2012/147869A1
上記のように、ユーザが必要に応じて暗号化鍵を更新する際、データを格納する情報システムに元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できることが求められる。
開示する暗号化鍵更新システムは、ストレージ装置が持つ記憶装置に格納されている、暗号化鍵key1により暗号化された暗号文Cを、ストレージ装置に接続する端末から、新しい暗号化鍵key2により暗号化された暗号化鍵更新済み暗号文C’に更新する。端末は、準同型疑似乱数生成器(H-PRNG)を用いて、暗号化鍵key1をシードとして生成した疑似乱数H-PRNG(key1)と、データMをシードとして生成した疑似乱数H-PRNG(M)とによりデータMの暗号文Cを生成し、生成した暗号文を送信する暗号化処理部、及び、暗号化鍵key1の逆元(key1-1)と新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した鍵更新用データKeyUDをストレージ装置に送信する暗号化鍵処理部を有する。ストレージ装置は、受信した暗号文Cを格納する記憶装置、及び、受信した鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)と、暗号文Cをシードとして生成した疑似乱数H-PRNG(C)とにより暗号化鍵更新済み暗号文C’を生成し、暗号文Cに替えて暗号化鍵更新済み暗号文C’を記憶装置に格納する鍵更新処理部を有する。
暗号化鍵を更新する際、暗号文を格納する情報システム(ストレージ装置)に元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できる。
暗号化鍵更新システムの概略図である。 実施例1の暗号化処理部の処理フローチャートである。 実施例1の暗号化鍵処理部の処理フローチャートである。 実施例1の鍵更新処理部の処理フローチャートである。 実施例2の暗号化処理部の処理フローチャートである。 実施例2の暗号化鍵処理部の処理フローチャートである。 実施例2の鍵更新処理部の処理フローチャートである。 実施例4の暗号化処理部の処理フローチャートである。 実施例4の暗号化鍵処理部の処理フローチャートである。 実施例4の鍵更新処理部の処理フローチャートである。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、暗号化鍵更新システムの概略図である。図示するように、暗号化鍵更新システムは、ユーザが使用する端末100と情報システムの管理者や担当者が管理するストレージ装置200を、ネットワーク300を介して接続している。
端末100は、準同型疑似乱数生成器を用いてデータ(平文)を暗号化した暗号文を、ストレージ装置200に送信する。ストレージ装置200は、接続する記憶装置220に、受信した暗号文を格納する。
端末100は、ストレージ装置200に既に格納している暗号文の暗号化鍵を新しい暗号化鍵に更新するために、元の暗号化鍵と新しい暗号化鍵との間で後述する所定の演算を実行し、その暗号化鍵演算結果をストレージ装置200に送信する。ストレージ装置200は、端末100から受信した暗号化鍵演算結果を用いて、格納している暗号文に対して、後述する所定の処理を実行して、暗号文を平文に復号することなく、元の暗号化鍵から新しい暗号化鍵へ暗号化鍵を更新する。
端末100は、処理部110及び記憶部(記憶装置)120を有するコンピュータであり、入出力装置130を接続し、ネットワーク300を介してストレージ装置200と接続する。
記憶部120は、データ記憶部121および暗号化鍵記憶部122を備える。データ記憶部130は、暗号化の対象のデータ(平文)や、データを暗号化した暗号文を格納する。暗号化鍵記憶部122は、データを暗号化するための暗号化鍵を格納する。ここでは、暗号化鍵記憶部122に格納されている暗号化鍵は、データを最初に暗号化した暗号化鍵(元の暗号化鍵key1)と更新する暗号化鍵(新しい暗号化鍵key2)である。
処理部110は、暗号鍵生成部111、暗号化処理部112、および暗号化鍵処理部113を含んでいる。暗号鍵生成部111は、暗号鍵を生成し、生成した暗号鍵を暗号化鍵記憶部122に格納する。暗号化処理部112は、データ記憶部121に格納されている、暗号化対象のデータを、暗号化鍵記憶部122に格納されている暗号化鍵(ここでは、元の暗号化鍵key1)を用いて暗号化し、暗号化した暗号文をデータ記憶部121に格納し、暗号文をネットワーク300を介してストレージ装置200に送信する。
暗号化鍵処理部113は、データの暗号化に用いた元の暗号化鍵key1を新しい暗号化鍵key2に更新するとき、暗号化鍵記憶部122に格納されている元の暗号化鍵(key1)と、暗号化鍵生成部111により新たに生成され、暗号化鍵記録部122に格納されている暗号化鍵(key2)との間で、後述する所定の演算を実行し、鍵更新用データを生成する。生成した鍵更新用データは、ネットワーク300を介してストレージ装置200に送信される。
ストレージ装置200は、処理部210を有するコンピュータであり、記憶装置220および入出力装置230を接続し、ネットワーク300を介して端末100と接続する。
記憶装置220は、ユーザ端末100から受信した暗号文231を格納する。
処理部210は、鍵更新処理部211を含んでいる。鍵更新処理部211は、ユーザ端末100から送信された鍵更新用データを用いて、記憶装置220に格納している暗号文の暗号化鍵を、この暗号文が生成されたときの元の暗号化鍵key1から新しい暗号化鍵key2に更新する。
以下、鍵更新に係る、端末100及びストレージ装置200の動作を説明する。
図2に、端末100の暗号化処理部112の処理フローチャートを示す。暗号化処理部112は準同型疑似乱数生成器(H-PRNG)を含んでいる。準同型疑似乱数生成器は、たとえば、暗号化鍵key1及びkey2をシードとした疑似乱数をそれぞれr1||r2||…とs1||s2||…とするとき(ここでri、si(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)、暗号化鍵key1とkey2の二項演算と、対応する疑似乱数のビット列同士の二項演算との関係が、暗号化鍵key1*key2(*は、通常の乗算とは限らない)をシードとした疑似乱数が(r1+s1)||(r2+s2)||…(+は、通常の加算とは限らない)を満たすものである。
暗号化処理部112の準同型疑似乱数生成器(H-PRNG)は、暗号鍵と暗号化の対象のデータ(平文)に関しても前述と同様に動作する。暗号化処理部112は、暗号化鍵(key1)をシードとした疑似乱数がr1||r2||…であり、データ記憶部121に格納されている、暗号化対象のデータ(平文)Mをm1||m2||…(miはri、siと同じビット長のビット列)とすると、データM=m1||m2||…の暗号文として(r1+m1)||(r2+m2)||…を出力する。
暗号化処理部112は、データ記憶部121に格納されている、暗号化の対象のデータM(平文)を所定のビット長のビット列miに分割する(S201)。暗号化処理部112は、暗号化鍵記憶部122に格納されている暗号化鍵key1をシードとした疑似乱数(H-PRNG(key1))を生成し、生成した疑似乱数を、ビット列miと同じ所定のビット長のビット列riに分割する(S202)。暗号化処理部112は、ビット列miとビット列riから暗号文C(=c1||c2||…=(r1+m1)||(r2+m2)||…)を生成する(S203)。暗号化処理部112は、暗号文Cをストレージ装置200に、ネットワーク300を介して送信する(S204)。図示を省略するが、ストレージ装置200は、受信した暗号文Cを記憶装置220に格納する。
図3に、端末100の暗号化鍵処理部113の処理フローチャートを示す。暗号化鍵記憶部122に格納されている暗号化鍵key1は、暗号化の対象のデータMを暗号化して暗号文Cを生成するために用いた元の暗号化鍵であり、暗号化鍵記憶部122に格納されている暗号化鍵key2は、暗号化鍵生成部111が新たに生成した新しい暗号化鍵であり、暗号化鍵処理部113は、暗号文C の暗号化鍵をkey1からkey2に更新する。換言すると、暗号化鍵処理部113は、ストレージ装置200の記憶装置220に格納されている暗号文C(key1を用いて、データMを暗号化した暗号文)を、暗号文Cを復号しないで(データMを求めないで)、あたかもkey2を用いてデータMを暗号化した暗号文C’に更新するための鍵更新用データKeyUDを生成し、生成した鍵更新用データKeyUDをストレージ装置200に送信する。
暗号化鍵処理部113は、元の暗号化鍵key1の逆元(key1-1)と新しい暗号化鍵key2から、鍵更新用データKeyUD(KeyUD=key1-1*key2)を生成する(S301)。暗号化鍵処理部113は、生成した鍵更新用データKeyUDをストレージ装置200にネットワーク300を介して送信する(S302)。
図4は、鍵更新処理部211の処理フローチャートを示す。鍵更新処理部211も、準同型疑似乱数生成器(H-PRNG)を含んでいる。鍵更新処理部211は、ストレージ装置200が端末100から受信した鍵更新用データKeyUDを用いて、記憶装置220に格納している暗号文Cを、あたかも暗号化鍵key2を用いてデータMを暗号化した暗号文C’に更新する。すなわち、鍵更新用データKeyUDを用いて、データMを暗号化するための暗号化鍵をkey1からkey2へ更新する。
鍵更新処理部211は、受信した鍵更新用データKeyUD(KeyUD=key1-1*key2)をシードとして、記憶装置220に格納している暗号文C(=c1||c2||…=(r1+m1)||(r2+m2)||…)と同じ所定のビット長のビット列t1||t2||…を生成する(S401)。鍵更新処理部211は、暗号化鍵更新済み暗号文C’を、C’=c’1||c’2||…=(c1+t1)||(c2+t2)||…として生成し(S402)、生成した暗号文C’を暗号文Cに替えて記憶装置220に格納する(S403)。鍵更新処理部211は、受信した暗号化鍵更新用データKeyUDを破棄する(S404)。
ここで、各iについて、c'i= ci+tiであるが、tiはKeyUD=key1-1*key2をシードとした準同型擬似乱数生成器の出力であるから、準同型擬似乱数生成器の定義からti=-ri+siであり、またci=ri+miであったから、c'i=ri+mi+(-ri+si)=si+miであり、key2による暗号化の結果となっている。
実施例2以降の各実施例は本実施例を具体化したものであるので、実施例2以降では暗号化鍵がkey1からkey2へ更新されたことの上記説明を省略する。
本実施例によれば、暗号化鍵をkey1からkey2へ更新する際、暗号文Cを格納する情報システムに元の暗号化鍵key1と新しい暗号化鍵key2を提供することなく、暗号化鍵を更新した暗号文C’を生成できる。
図5に、端末100の暗号化処理部112の処理フローチャートを示す。本実施例の暗号化処理部112は、準同型疑似乱数生成器(H-PRNG)と共に、通常の疑似乱数生成器(PRNG)を含む。ユーザ端末100のデータ記憶部121に、暗号化の対象のデータMの他に、素数p、および、疑似乱数生成器(PRNG)のためのシードseedを予め格納しておく。
暗号化処理部112は、seedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成する(S501)。暗号化処理部112は、ci=rikey1 * mi mod pを求め、暗号文C=c1||c2||…を生成する(S502)。ここでa mod pはビット列aを定められた手順で整数とみなし、その整数をpで割ったときの余り(小数点以下を省略した整数)を表す。暗号化処理部112は、暗号文C=c1||c2||…をストレージ装置200に、ネットワーク300を介して送信する(S503)。図示を省略するが、ストレージ装置200は、受信した暗号文Cを記憶装置220に格納する。
図6にユーザ端末100の暗号化鍵処理部113の処理フローチャートを示す。暗号化鍵処理部113は、暗号化処理部112が暗号化の対象のデータMを暗号化するために用いた元の暗号化鍵key1、新しい暗号化鍵key2(実施例1と同様に、暗号化鍵生成部111が新たに生成した新しい暗号化鍵)、及び、データ記憶部121に格納されている素数pと、疑似乱数生成器(PRNG)のためのシードseedから、鍵更新用データKeyUD(KeyUD= key2- key1 mod (p-1))を生成し(S601)、生成した鍵更新用データKeyUD、疑似乱数生成器(PRNG)のためのシードseed、および素数pを、ストレージ装置200に送信する(S602)。鍵更新用データKeyUD は、key1のp-1を法とした加算の逆元(-key1) mod (p-1)とkey2との法p-1での加算結果である。
図7に、鍵更新処理部211の処理フローチャートを示す。鍵更新処理部211も、前述の準同型疑似乱数生成器(H-PRNG)および通常の疑似乱数生成器(PRNG)を含む。鍵更新処理部211は、ユーザ端末100から受信したseedをシードとして、端末100の暗号化処理部112のS501と同様に、疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…を生成する(S701)。鍵更新処理部211は、生成した各ビット列ri、端末100から受信した鍵更新用データKeyUDおよび素数p、並びに、記憶装置220に格納している暗号文C(=c1||c2||…)から、c’i = riKeyUD * ci mod pを求め、暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成する(S702)。ただし、H-PRNG(KeyUD)=(r1KeyUD mod p)||(r2 KeyUD mod p)||…である。鍵更新処理部211は、生成した暗号文C’を、暗号文Cに替えて記憶装置220に格納する(S703)。鍵更新処理部211は、受信した暗号化鍵更新用データKeyUDおよび素数pを破棄する(S704)。
本実施例において、素数pを、端末100と、ストレージ装置200で別途共有しておくことにより、暗号化鍵処理部113のS602でpを送信する手順を省略できる。
実施例2は、鍵更新処理部211のS702において、pを法としたべき乗計算を必要とする。べき乗計算は計算コストが高いため、平文サイズ(データMのビット長)が大きくなると、ストレージ装置200の鍵更新時の処理コストが高くなる。本実施例では、実施例2に比べて効率の良い鍵更新の処理を説明する。
端末100の暗号化処理部112は、疑似乱数列PRNG(seed)=riとデータMのビット列miの結合ri||miが素数pを超えないように、miとriの所定のビット長を選択し、図5のS502のci=rikey1 * mi mod pの代わりに、ci=(ri||mi)* key1 mod pを生成する。
鍵更新処理部211は、図6のS601(KeyUD= key2- key1 mod (p-1))の代わりに鍵更新用データKeyUD=key2 * key1-1 mod pを生成する。鍵更新処理部211は、図6のS602において、疑似乱数生成器(PRNG)のためのシードseedをストレージ装置200に送信しなくてもよい。さらに鍵更新処理部211は、図7のS701を省略し、S702(c’i=riKeyUD * ci mod p)の代わりにc'i=KeyUD * ci mod pを生成する。
本実施例によれば、鍵更新の処理でべき乗を必要としないため、鍵更新を効率的に処理できる。
図8は、端末100の暗号化処理部112の処理フローチャートを示す。本実施例の暗号化処理部112は、準同型疑似乱数生成器(H-PRNG)と共に、通常の疑似乱数生成器(PRNG)を含む。
ユーザ端末100のデータ記憶部121に、暗号化の対象のデータMの他に、疑似乱数生成器(PRNG)のためのシードとしてのseedを予め格納しておく。また、暗号化鍵記憶部122に準同型疑似乱数生成器(H-PRNG)のためのシードとしての暗号化鍵key1を格納している。
暗号化処理部112は、seedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成する(S801)。暗号化処理部112は、各iについて、ci=(ri||(mi+h(ri)))+key1を求め、暗号文C=c1||c2||…を生成する(S802)。暗号化処理部112は、暗号文C=c1||c2||…をストレージ装置200に、ネットワーク300を介して送信する(S803)。図示を省略するが、ストレージ装置200は、受信した暗号文Cを記憶装置220に格納する。
ここで、hはハッシュ関数を、+はビットごとの排他的論理和を表す。また、各iに対するriは真正の乱数でもよい。hは疑似ランダム関数でもよい。
図9は、暗号化鍵処理部113の処理フローチャートを示す。暗号化鍵処理部113は、暗号化処理部112が暗号化の対象のデータMを暗号化するために用いた元の暗号化鍵key1と新しい暗号化鍵key2(実施例1と同様に、暗号化鍵生成部114が新たに生成した新しい暗号化鍵)とのビットごとの排他的論理和を求め、求めた排他的論理和の結果をKeyUDとし(S901)、このKeyUDをストレージ装置200に送信する(S902)。
図10は、鍵更新処理部211の処理フローチャートを示す。鍵更新処理部211は、端末100から受信した鍵更新用データKeyUDおよび記憶装置220に格納している暗号文C(=c1||c2||…)から、c’i=KeyUD+ciを求め、暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成する(S1001)。ここで+はビットごとの排他的論理和を表す。鍵更新処理部211は、暗号化鍵更新済み暗号文である、生成した暗号文C’を、暗号文Cに替えて記憶装置220に格納する(S1002)。鍵更新処理部211は、受信した暗号化鍵更新用データKeyUDを破棄する(S1003)。
以上の実施例4では、暗号化対象のデータ(平文)Mを所定のビット長に分割し、各ビット列に対して暗号化処理を実行するが、データMを分割せずに、そのかわりにデータMをマスクするために擬似乱数生成器の出力を用いてもよい。
具体的には、暗号化処理部112は乱数rnを生成し、それをシードとして擬似乱数生成器(PRNG)によりデータMと同じ長さの擬似乱数列PRNG(rn)を生成する。暗号化処理部112はM+PRNG(rn)を計算する。ここで+はビットごとの排他的論理和を表す。さらに暗号化処理部112は暗号文C=(r||M+PRNG(rn))+key1を生成する。
暗号化鍵処理部113は、暗号化処理部112が暗号化の対象のデータMを暗号化するために用いた元の暗号化鍵key1と新しい暗号化鍵key2(実施例1と同様に、暗号化鍵生成部が新たに生成した新しい暗号化鍵)とのビットごとの排他的論理和を求め、求めた排他的論理和の結果をKeyUDとし、このKeyUDをストレージ装置200に送信する。
鍵更新処理部211は、端末100から受信した鍵更新用データKeyUDおよび記憶装置220に格納している暗号文CからC’=KeyUD+Cを求め、暗号化鍵更新済み暗号文C’を生成する。ここで+はビットごとの排他的論理和を表す。鍵更新処理部211は、暗号化鍵更新済み暗号文である、生成した暗号文C’を、暗号文Cに替えて記憶装置220に格納する。鍵更新処理部211は、受信した暗号化鍵更新用データKeyUDを破棄する。
以上説明した本実施形態によれば、暗号化鍵を更新する際、データを格納する情報システムに元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できる。
100:端末、110:処理部、111:暗号化鍵生成部、112:暗号化処理部、113:暗号化鍵処理部、120:記録部、121:データ記憶部、122:暗号化鍵記憶部212、130:入出力装置、200:ストレージ装置、210:処理部、211:鍵更新処理部、220:記憶装置、230::入出力装置、300:ネットワーク。

Claims (12)

  1. 準同型疑似乱数生成器(H-PRNG)を用いて、暗号化鍵key1をシードとして生成した疑似乱数H-PRNG(key1)と、データMをシードとして生成した疑似乱数H-PRNG(M)とにより前記データMの暗号文Cを生成し、生成した前記暗号文を送信する暗号化処理部、及び、前記暗号化鍵key1の逆元(key1-1)と新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した前記鍵更新用データKeyUDを送信する暗号化鍵処理部を有する端末、並びに、
    受信した前記暗号文Cを格納する記憶装置、及び、受信した前記鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)と、前記暗号文Cをシードとして生成した疑似乱数H-PRNG(C)とにより暗号化鍵更新済み暗号文C’を生成し、前記暗号文Cに替えて暗号化鍵更新済み暗号文C’を前記記憶装置に格納する鍵更新処理部を有するストレージ装置を含むことを特徴とする暗号化鍵更新システム。
  2. 前記暗号化鍵key1をシードとして生成した疑似乱数(H-PRNG(key1))をr1||r2||…とし(ここでri (i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)、前記データMをシードとして生成した疑似乱数(H-PRNG(M))をm1||m2||…(miはriと同じビット長のビット列)としたとき、
    前記データMの暗号文Cはc1||c2||…=(r1+m1)||(r2+m2)||…であり、
    前記鍵更新用データKeyUDはkey1-1*key2とし、前記鍵更新用データKeyUDをシードとして生成した前記疑似乱数(KeyUD)をt1||t2||…としたとき、前記暗号化鍵更新済み暗号文C’はC’=c’1||c’2||…=(c1+t1)||(c2+t2)||…であることを特徴とする請求項1記載の暗号化鍵更新システム。
  3. 前記暗号化処理部は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記riと前記データMをシードとして生成した前記疑似乱数H-PRNG(M)=m1||m2||…(miはriと同じビット長のビット列)と素数pによりci = rikey1 * mi mod pを求め、前記暗号文C=c1||c2||…(ここでci(i=1,2,…) は所定のビット長のビット列)を生成し、
    前記暗号化鍵処理部は、前記鍵更新用データKeyUDとしてKeyUD= key2- key1 mod (p-1)(key1のp-1を法とした加算の逆元(-key1) mod (p-1)とkey2との法p-1での加算結果)を生成し、生成した前記鍵更新用データKeyUDと共に、前記シードseedおよび前記素数pを、前記ストレージ装置に送信し、
    前記鍵更新処理部は、受信したseedをシードとして、疑似乱数生成器(PRNG)により前記疑似乱数列PRNG(seed)=r1||r2||…を生成し、生成した前記疑似乱数列PRNG(seed)の各ビット列ri、受信した前記鍵更新用データKeyUD、前記素数p、および、前記記憶装置に格納している前記暗号文C(=c1||c2||…)から、c’i = riKeyUD * ci mod pを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…(ただし、H-PRNG(KeyUD)=(r1KeyUD mod p)||(r2 KeyUD mod p)||…である)を生成することを特徴とする請求項1記載の暗号化鍵更新システム。
  4. 前記暗号化処理部は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて生成する疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)と前記riと前記データMをシードとして生成する前記疑似乱数(H-PRNG(M))=m1||m2||…(miはriと同じビット長のビット列)の結合ri||miが素数pを超えないように、前記miと前記riの所定のビット長を選択し、前記riと前記miと素数pによりci=(ri||mi)* key1 mod pを求め、前記暗号文C=c1||c2||…(ここでci(i=1,2,…)は所定のビット長のビット列)を生成し、
    前記暗号化鍵処理部は、前記鍵更新用データKeyUDとしてKeyUD=key2 * key1-1 mod pを生成し、生成した前記鍵更新用データKeyUDと共に前記素数pを、前記ストレージ装置に送信し、
    前記鍵更新処理部は、受信した前記鍵更新用データKeyUD、前記素数p、および、前記記憶装置に格納している前記暗号文C(=c1||c2||…)から、c'i=KeyUD * ci mod pを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成することを特徴とする請求項1記載の暗号化鍵更新システム。
  5. 前記暗号化処理部は、seedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)を生成し、前記データMをシードとして生成した疑似乱数(H-PRNG(M))=m1||m2||…(miはriと同じビット長のビット列)を生成し、各iについて、ci=(ri||(mi+h(ri)))+key1(ここで、hはハッシュ関数を、+はビットごとの排他的論理和を表す。)を求め、前記暗号文C=c1||c2||…を生成し、
    前記暗号化鍵処理部は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
    前記鍵更新処理部は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文C(=c1||c2||…)から、c’i=KeyUD+ciを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成することを特徴とする請求項1記載の暗号化鍵更新システム。
  6. 前記暗号化処理部は、乱数rnを生成し、生成した前記乱数rnをシードとして擬似乱数生成器(PRNG)を用いて前記データMと同じ長さの擬似乱数列PRNG(rn)を生成し、M+PRNG(rn)を求め(ここで、+はビットごとの排他的論理和を表す)、前記暗号文C=(rn||M+PRNG(rn))+key1を生成し、
    前記暗号化鍵処理部は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
    前記鍵更新処理部は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文Cから前記暗号化鍵更新済み暗号文C’=KeyUD+C(+はビットごとの排他的論理和を表す)を生成することを特徴とする請求項1記載の暗号化鍵更新システム。
  7. ストレージ装置が持つ記憶装置に格納されている、暗号化鍵key1により暗号化された暗号文Cを、前記ストレージ装置に接続する端末から、新しい暗号化鍵key2により暗号化された暗号化鍵更新済み暗号文C’に更新する暗号化鍵更新方法であって、
    前記端末は、準同型疑似乱数生成器(H-PRNG)を用いて、暗号化鍵key1をシードとして生成した疑似乱数H-PRNG(key1)と、データMをシードとして生成した疑似乱数H-PRNG(M)とにより前記データMの前記暗号文Cを生成し、生成した前記暗号文を前記記憶装置に格納するために前記ストレージ装置に送信し、
    前記端末は、前記暗号化鍵key1の逆元(key1-1)と前記新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した前記鍵更新用データKeyUDを送信し、
    前記ストレージ装置は、受信した前記鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)と、前記暗号文Cをシードとして生成した疑似乱数H-PRNG(C)とにより暗号化鍵更新済み暗号文C’を生成し、前記暗号文Cに替えて暗号化鍵更新済み暗号文C’を前記記憶装置に格納することを特徴とする暗号化鍵更新方法。
  8. 前記暗号化鍵key1をシードとして生成した疑似乱数(H-PRNG(key1))をr1||r2||…とし(ここでri (i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)、前記データMをシードとして生成した疑似乱数(H-PRNG(M))をm1||m2||…(miはriと同じビット長のビット列)としたとき、
    前記データMの暗号文Cはc1||c2||…=(r1+m1)||(r2+m2)||…であり、
    前記鍵更新用データKeyUDはkey1-1*key2とし、前記鍵更新用データKeyUDをシードとして生成した前記疑似乱数(KeyUD)をt1||t2||…としたとき、前記暗号化鍵更新済み暗号文C’はC’=c’1||c’2||…=(c1+t1)||(c2+t2)||…であることを特徴とする請求項7記載の暗号化鍵更新方法。
  9. 前記端末は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記riと前記データMをシードとして生成した前記疑似乱数H-PRNG(M)=m1||m2||…(miはriと同じビット長のビット列)と素数pによりci=rikey1 * mi mod pを求め、前記暗号文C=c1||c2||…(ここでci(i=1,2,…)は所定のビット長のビット列)を生成し、
    前記端末は、前記鍵更新用データKeyUDとしてKeyUD= key2-key1 mod (p-1)(key1のp-1を法とした加算の逆元(-key1) mod (p-1)とkey2との法p-1での加算結果)を生成し、生成した前記鍵更新用データKeyUDと共に、前記シードseedおよび前記素数pを、前記ストレージ装置に送信し、
    前記ストレージ装置は、は、受信したseedをシードとして、疑似乱数生成器(PRNG)により前記疑似乱数列PRNG(seed)=r1||r2||…を生成し、生成した前記疑似乱数列PRNG(seed)の各ビット列ri、受信した前記鍵更新用データKeyUD、前記素数p、および、前記記憶装置に格納している前記暗号文C(= c1||c2||…)から、c’i= riKeyUD * ci mod pを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…(ただし、H-PRNG(KeyUD)=(r1KeyUD mod p)||(r2 KeyUD mod p)||…である)を生成することを特徴とする請求項7記載の暗号化鍵更新方法。。
  10. 前記端末は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて生成する疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)と前記riと前記データMをシードとして生成する前記疑似乱数(H-PRNG(M))=m1||m2||…(miはriと同じビット長のビット列)の結合ri||miが素数pを超えないように、前記miと前記riの所定のビット長を選択し、前記riと前記miと素数pによりci=(ri||mi)* key1 mod pを求め、前記暗号文C=c1||c2||…(ここでci(i=1,2,…)は所定のビット長のビット列)を生成し、
    前記端末は、前記鍵更新用データKeyUDとしてKeyUD=key2 * key1-1 mod pを生成し、生成した前記鍵更新用データKeyUDと共に前記素数pを、前記ストレージ装置に送信し、
    前記ストレージ装置は、受信した前記鍵更新用データKeyUD、前記素数p、および、前記記憶装置に格納している前記暗号文C(= c1||c2||…)から、c'i=KeyUD * ci mod pを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成することを特徴とする請求項7記載の暗号化鍵更新方法。
  11. 前記端末は、seedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)を生成し、前記データMをシードとして生成した疑似乱数(H-PRNG(M))=m1||m2||…(miはriと同じビット長のビット列)を生成し、各iについて、ci=(ri||(mi+h(ri)))+key1(ここで、hはハッシュ関数を、+はビットごとの排他的論理和を表す。)を求め、前記暗号文C=c1||c2||…を生成し、
    前記端末は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
    前記ストレージ装置は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文C(=c1||c2||…)から、c’i= KeyUD+ciを求め、前記暗号化鍵更新済み暗号文C’=c’1||c’2||…を生成することを特徴とする請求項7記載の暗号化鍵更新方法。
  12. 前記端末は、乱数rnを生成し、生成した前記乱数rnをシードとして擬似乱数生成器(PRNG)を用いて前記データMと同じ長さの擬似乱数列PRNG(rn)を生成し、M+PRNG(rn)を求め(ここで、+はビットごとの排他的論理和を表す)、前記暗号文C=(rn||M+PRNG(rn))+key1を生成し、
    前記端末は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
    前記ストレージ装置は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文Cから前記暗号化鍵更新済み暗号文C’=KeyUD+C(+はビットごとの排他的論理和を表す)を生成することを特徴とする請求項7記載の暗号化鍵更新方法。
JP2013125589A 2013-06-14 2013-06-14 暗号化鍵更新システム及びその方法 Active JP6033741B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013125589A JP6033741B2 (ja) 2013-06-14 2013-06-14 暗号化鍵更新システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013125589A JP6033741B2 (ja) 2013-06-14 2013-06-14 暗号化鍵更新システム及びその方法

Publications (2)

Publication Number Publication Date
JP2015002409A true JP2015002409A (ja) 2015-01-05
JP6033741B2 JP6033741B2 (ja) 2016-11-30

Family

ID=52296699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013125589A Active JP6033741B2 (ja) 2013-06-14 2013-06-14 暗号化鍵更新システム及びその方法

Country Status (1)

Country Link
JP (1) JP6033741B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005587A (ja) * 2015-06-12 2017-01-05 コニカミノルタ株式会社 暗号化システム、更新方法、および更新プログラム
JP2017044779A (ja) * 2015-08-25 2017-03-02 株式会社日立製作所 検索可能暗号処理システム
JPWO2018116826A1 (ja) * 2016-12-20 2019-10-24 日本電信電話株式会社 メッセージ送信システム、通信端末、サーバ装置、メッセージ送信方法、およびプログラム
CN115065472A (zh) * 2022-08-18 2022-09-16 广州万协通信息技术有限公司 基于多密钥加密解密的安全芯片加密解密方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782127B2 (en) 2021-02-05 2023-10-10 Nxp Usa, Inc. Stop criterion for greedy target detection algorithms in radar applications using sparse phased arrays
US11567676B2 (en) 2021-04-30 2023-01-31 Nxp B.V. Inline encryption/decryption for a memory controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MONI NAOR, BENNY PINKAS, OMER REINGOLD: "Distributed Pseudo-random Functions and KDCs", ADVANCES IN CRYPTOLOGY - EUROCRYPT '99, JPN7016000130, 1999, pages 327 - 346, ISSN: 0003419039 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017005587A (ja) * 2015-06-12 2017-01-05 コニカミノルタ株式会社 暗号化システム、更新方法、および更新プログラム
US10243736B2 (en) 2015-06-12 2019-03-26 Konica Minolta, Inc. Cryptographic system, updating method, and non-transitory storage medium encoded with computer readable program
JP2017044779A (ja) * 2015-08-25 2017-03-02 株式会社日立製作所 検索可能暗号処理システム
JPWO2018116826A1 (ja) * 2016-12-20 2019-10-24 日本電信電話株式会社 メッセージ送信システム、通信端末、サーバ装置、メッセージ送信方法、およびプログラム
US11765137B2 (en) 2016-12-20 2023-09-19 Nippon Telegraph And Telephone Corporation Message transmission system, communication terminal, server apparatus, message transmission method, and program
CN115065472A (zh) * 2022-08-18 2022-09-16 广州万协通信息技术有限公司 基于多密钥加密解密的安全芯片加密解密方法及装置
CN115065472B (zh) * 2022-08-18 2022-11-08 广州万协通信息技术有限公司 基于多密钥加密解密的安全芯片加密解密方法及装置

Also Published As

Publication number Publication date
JP6033741B2 (ja) 2016-11-30

Similar Documents

Publication Publication Date Title
CN107925577B (zh) 用于加密密钥生成和管理的方法以及计算机可读介质
Barker et al. Recommendation for cryptographic key generation
JP6033741B2 (ja) 暗号化鍵更新システム及びその方法
CN106134128B (zh) 使用关联私钥部分更快的公钥加密的系统和方法
KR101829267B1 (ko) 암호문의 크기가 감소되는 동형 암호화 방법
US11349668B2 (en) Encryption device and decryption device
JP6961324B2 (ja) 検索可能暗号処理システム
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
CN104798339A (zh) 密钥生成装置、密钥生成程序、隐匿检索系统和密钥发布方法
Rege et al. Bluetooth communication using hybrid encryption algorithm based on AES and RSA
Pandey et al. An enhanced symmetric key cryptography algorithm to improve data security
JP2014175970A (ja) 情報配信システム、情報処理装置及びプログラム
Khatarkar et al. A survey and performance analysis of various RSA based encryption techniques
Hazra et al. A hybrid cryptosystem of image and text files using blowfish and Diffie-Hellman techniques
Barukab et al. Secure communication using symmetric and asymmetric cryptographic techniques
KR20120002729A (ko) 암호화 문서에 대한 다자간 검색 시스템 및 그 방법
JP2005198189A (ja) 鍵更新方法、暗号システム、暗号サーバ、端末装置及び外部装置
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
Rosen Analysis of the porticor homomorphic key management protocol
JP2005198187A (ja) 暗号方法、暗号システム及び端末装置
KR20200131688A (ko) 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
CA2988628C (en) Methods and computer program products for encryption key generation and management
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
Zhu et al. Secure snaps: a new forward secrecy cryptosystem for self-destructing messages in mobile services
Msilini et al. Homomorphic Cryptosystems for Securing Data in Public Cloud Computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160921

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: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161026

R150 Certificate of patent or registration of utility model

Ref document number: 6033741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150