JP6033741B2 - Encryption key update system and method - Google Patents

Encryption key update system and method Download PDF

Info

Publication number
JP6033741B2
JP6033741B2 JP2013125589A JP2013125589A JP6033741B2 JP 6033741 B2 JP6033741 B2 JP 6033741B2 JP 2013125589 A JP2013125589 A JP 2013125589A JP 2013125589 A JP2013125589 A JP 2013125589A JP 6033741 B2 JP6033741 B2 JP 6033741B2
Authority
JP
Japan
Prior art keywords
keyud
ciphertext
prng
seed
encryption key
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.)
Active
Application number
JP2013125589A
Other languages
Japanese (ja)
Other versions
JP2015002409A (en
Inventor
尚宜 佐藤
尚宜 佐藤
雅之 吉野
雅之 吉野
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/en
Publication of JP2015002409A publication Critical patent/JP2015002409A/en
Application granted granted Critical
Publication of JP6033741B2 publication Critical patent/JP6033741B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化したデータ(暗号文)の暗号化鍵を更新するシステムに関する。   The present invention relates to a system for updating an encryption key of encrypted data (ciphertext).

情報システムの開発の効率化、運用管理費の低減などを目的に、近年、情報システムを自身で保持せず、外部業者に委託するクラウドと呼ばれる運用管理形態の利用が広がっている。しかし、効率化やコスト低減の反面、クラウドにおいては、情報システムの管理者や担当者は、情報システムを利用するユーザとは異なるため、ユーザは外部業者も含めた第三者への機密情報漏洩について不安を抱くことになる。   In recent years, for the purpose of improving the efficiency of information system development and reducing the operation management cost, the use of an operation management form called a cloud that does not hold the information system by itself but entrusts it to an outside contractor has been spreading. However, while improving efficiency and reducing costs, in the cloud, information system managers and people in charge are different from users who use information systems, so users leak confidential information to third parties, including outside contractors. You will have anxiety about.

第三者への機密情報漏洩については、同じ組織内であっても同様である。同じ組織内であっても、情報システムの管理者や担当者と、情報システムに格納するデータを管理するユーザ(情報システムの利用者)とは異なることがほとんどである。   The same applies to confidential information leaks to third parties even within the same organization. Even within the same organization, information system managers and persons in charge are often different from users (information system users) who manage data stored in the information system.

機密情報漏洩の対策としては、暗号技術が有効であり、AES暗号などの従来技術により安全にかつ効率よく秘匿化をすることが可能である。   As a countermeasure against leakage of confidential information, an encryption technique is effective, and it is possible to conceal it safely and efficiently by a conventional technique such as AES encryption.

しかし、ストレージ装置を持つ情報システムにデータを暗号化して格納したとしても、情報システム担当者の交代や、より高いセキュリティを確保するためなどの理由により、適宜、暗号化鍵を更新することが望ましい。   However, even if data is encrypted and stored in an information system having a storage device, it is desirable to update the encryption key as appropriate for reasons such as changing the person in charge of the information system and ensuring higher security. .

従来の通常の暗号方式では新しい暗号化鍵に変更する際、いったん暗号文を復号し、新しい暗号化鍵を用いて暗号化することが必須である。ユーザが端末から情報システムにに元の暗号化鍵と新しい暗号化鍵を開示して、情報システムが暗号化鍵を更新するか、情報システムが格納している暗号化データを端末に一旦返送し、ユーザが端末で元の暗号化鍵で復号し、さらに新しい暗号化鍵で再暗号化するしか暗号化鍵を更新する方法がない。   In the conventional normal encryption method, when changing to a new encryption key, it is essential to decrypt the ciphertext and encrypt it using the new encryption key. The user discloses the original encryption key and the new encryption key from the terminal to the information system, and the information system updates the encryption key or returns the encrypted data stored in the information system to the terminal once. The only way to update the encryption key is by the user decrypting with the original encryption key at the terminal and re-encrypting with the new encryption key.

情報システム側にに暗号化鍵を開示すると当然ながら情報システムの管理者や担当者に暗号化鍵を開示することに繋がり、機密情報漏洩に繋がりかねない。またユーザが端末で、情報システムに格納している暗号化データの暗号化鍵を更新する場合、暗号化データのデータ量が多いと、往復の通信量と暗復号化の計算量が膨大となり、非現実的で、クラウドのメリットを損なう。   If the encryption key is disclosed to the information system side, it will naturally lead to the disclosure of the encryption key to the information system manager or the person in charge, which may lead to leakage of confidential information. In addition, when the user updates the encryption key of the encrypted data stored in the information system at the terminal, if the amount of encrypted data is large, the amount of round-trip communication and the amount of calculation of encryption / decryption become enormous, It is unrealistic and undermines the benefits of the cloud.

特許文献1のように、1回のみ暗号化鍵の更新が可能な方法も知られているが、情報システムの管理者や担当者の交代ごとに、または定期的に繰り返して鍵更新を行う必要があり、不十分である。   A method is also known in which the encryption key can be updated only once as in Patent Document 1, but it is necessary to update the key every time the information system administrator or the person in charge changes or periodically. Is insufficient.

国際公開公報WO2012/147869A1International Publication WO2012 / 147869A1

上記のように、ユーザが必要に応じて暗号化鍵を更新する際、データを格納する情報システムに元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できることが求められる。   As described above, when the user updates the encryption key as necessary, it is required that the encryption key can be updated without providing the original encryption key and the new encryption key to the information system storing the data. It is done.

開示する暗号化鍵更新システムは、ストレージ装置が持つ記憶装置に格納されている、暗号化鍵key1により暗号化された暗号文Cを、ストレージ装置に接続する端末から、新しい暗号化鍵key2により暗号化された暗号化鍵更新済み暗号文C’に更新する。端末は、準同型疑似乱数生成器(H-PRNG)を用いて、暗号化鍵key1をシードとして生成した疑似乱数H-PRNG(key1)を生成し、データMと前記疑似乱数H-PRNG(Key1)とによりデータMの暗号文Cを生成し、生成した暗号文を送信する暗号化処理部、及び、暗号化鍵key1の逆元(key1-1)と新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した鍵更新用データKeyUDをストレージ装置に送信する暗号化鍵処理部を有する。ストレージ装置は、受信した暗号文Cを格納する記憶装置、及び、受信した鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)と、暗号文Cと前記疑似乱数H-PRNG(KeyUD)とにより暗号化鍵更新済み暗号文C’を生成し、暗号文Cに替えて暗号化鍵更新済み暗号文C’を記憶装置に格納する鍵更新処理部を有する。 The disclosed encryption key update system encrypts the ciphertext C encrypted with the encryption key key1 stored in the storage device of the storage device with the new encryption key key2 from the terminal connected to the storage device. The encrypted ciphertext C ′ is updated. The terminal uses a homomorphic pseudorandom number generator (H-PRNG) to generate a pseudorandom number H-PRNG (key1) generated using the encryption key key1 as a seed, and to generate the data M and the pseudorandom number H-PRNG ( Key1 ) To generate the ciphertext C of the data M, send the generated ciphertext, and update the key from the reverse element (key1 -1 ) of the encryption key key1 and the new encryption key key2. It has an encryption key processing unit that generates data KeyUD and transmits the generated key update data KeyUD to the storage device. The storage device stores the received ciphertext C, a pseudorandom number (KeyUD) generated using the received key update data KeyUD as a seed, the ciphertext C and the pseudorandom number H-PRNG ( KeyUD ) To generate an encrypted key updated ciphertext C ′ and store the encrypted key updated ciphertext C ′ in the storage device in place of the ciphertext C.

暗号化鍵を更新する際、暗号文を格納する情報システム(ストレージ装置)に元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できる。   When updating the encryption key, the encryption key can be updated without providing the original encryption key and the new encryption key to the information system (storage device) that stores the ciphertext.

暗号化鍵更新システムの概略図である。It is the schematic of an encryption key update system. 実施例1の暗号化処理部の処理フローチャートである。3 is a processing flowchart of an encryption processing unit according to the first embodiment. 実施例1の暗号化鍵処理部の処理フローチャートである。3 is a processing flowchart of an encryption key processing unit according to the first embodiment. 実施例1の鍵更新処理部の処理フローチャートである。3 is a process flowchart of a key update processing unit according to the first embodiment. 実施例2の暗号化処理部の処理フローチャートである。10 is a processing flowchart of an encryption processing unit according to the second embodiment. 実施例2の暗号化鍵処理部の処理フローチャートである。10 is a processing flowchart of an encryption key processing unit according to the second embodiment. 実施例2の鍵更新処理部の処理フローチャートである。10 is a processing flowchart of a key update processing unit according to the second embodiment. 実施例4の暗号化処理部の処理フローチャートである。10 is a processing flowchart of an encryption processing unit according to the fourth embodiment. 実施例4の暗号化鍵処理部の処理フローチャートである。14 is a processing flowchart of an encryption key processing unit according to the fourth embodiment. 実施例4の鍵更新処理部の処理フローチャートである。10 is a processing flowchart of a key update processing unit according to the fourth embodiment.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、暗号化鍵更新システムの概略図である。図示するように、暗号化鍵更新システムは、ユーザが使用する端末100と情報システムの管理者や担当者が管理するストレージ装置200を、ネットワーク300を介して接続している。   FIG. 1 is a schematic diagram of an encryption key update system. As shown in the figure, in the encryption key update system, a terminal 100 used by a user and a storage apparatus 200 managed by an information system administrator or a person in charge are connected via a network 300.

端末100は、準同型疑似乱数生成器を用いてデータ(平文)を暗号化した暗号文を、ストレージ装置200に送信する。ストレージ装置200は、接続する記憶装置220に、受信した暗号文を格納する。   The terminal 100 transmits the ciphertext obtained by encrypting the data (plain text) using the homomorphic pseudorandom number generator to the storage device 200. The storage device 200 stores the received ciphertext in the storage device 220 to be connected.

端末100は、ストレージ装置200に既に格納している暗号文の暗号化鍵を新しい暗号化鍵に更新するために、元の暗号化鍵と新しい暗号化鍵との間で後述する所定の演算を実行し、その暗号化鍵演算結果をストレージ装置200に送信する。ストレージ装置200は、端末100から受信した暗号化鍵演算結果を用いて、格納している暗号文に対して、後述する所定の処理を実行して、暗号文を平文に復号することなく、元の暗号化鍵から新しい暗号化鍵へ暗号化鍵を更新する。   The terminal 100 performs a predetermined operation described later between the original encryption key and the new encryption key in order to update the encryption key of the ciphertext already stored in the storage device 200 to the new encryption key. The encryption key calculation result is transmitted to the storage apparatus 200. The storage apparatus 200 uses the encryption key calculation result received from the terminal 100 to execute a predetermined process to be described later on the stored ciphertext without decrypting the ciphertext into plaintext. Update the encryption key from one encryption key to the new encryption key.

端末100は、処理部110及び記憶部(記憶装置)120を有するコンピュータであり、入出力装置130を接続し、ネットワーク300を介してストレージ装置200と接続する。   The terminal 100 is a computer having a processing unit 110 and a storage unit (storage device) 120, and is connected to the input / output device 130 and connected to the storage device 200 via the network 300.

記憶部120は、データ記憶部121および暗号化鍵記憶部122を備える。データ記憶部130は、暗号化の対象のデータ(平文)や、データを暗号化した暗号文を格納する。暗号化鍵記憶部122は、データを暗号化するための暗号化鍵を格納する。ここでは、暗号化鍵記憶部122に格納されている暗号化鍵は、データを最初に暗号化した暗号化鍵(元の暗号化鍵key1)と更新する暗号化鍵(新しい暗号化鍵key2)である。   The storage unit 120 includes a data storage unit 121 and an encryption key storage unit 122. The data storage unit 130 stores data to be encrypted (plain text) and cipher text obtained by encrypting the data. The encryption key storage unit 122 stores an encryption key for encrypting data. Here, the encryption key stored in the encryption key storage unit 122 is the encryption key that originally encrypted the data (original encryption key key1) and the encryption key that is updated (new encryption key key2). It is.

処理部110は、暗号鍵生成部111、暗号化処理部112、および暗号化鍵処理部113を含んでいる。暗号鍵生成部111は、暗号鍵を生成し、生成した暗号鍵を暗号化鍵記憶部122に格納する。暗号化処理部112は、データ記憶部121に格納されている、暗号化対象のデータを、暗号化鍵記憶部122に格納されている暗号化鍵(ここでは、元の暗号化鍵key1)を用いて暗号化し、暗号化した暗号文をデータ記憶部121に格納し、暗号文をネットワーク300を介してストレージ装置200に送信する。   The processing unit 110 includes an encryption key generation unit 111, an encryption processing unit 112, and an encryption key processing unit 113. The encryption key generation unit 111 generates an encryption key and stores the generated encryption key in the encryption key storage unit 122. The encryption processing unit 112 uses the encryption key (in this case, the original encryption key key1) stored in the encryption key storage unit 122 as the encryption target data stored in the data storage unit 121. The encrypted ciphertext is stored in the data storage unit 121, and the ciphertext is transmitted to the storage device 200 via the network 300.

暗号化鍵処理部113は、データの暗号化に用いた元の暗号化鍵key1を新しい暗号化鍵key2に更新するとき、暗号化鍵記憶部122に格納されている元の暗号化鍵(key1)と、暗号化鍵生成部111により新たに生成され、暗号化鍵記録部122に格納されている暗号化鍵(key2)との間で、後述する所定の演算を実行し、鍵更新用データを生成する。生成した鍵更新用データは、ネットワーク300を介してストレージ装置200に送信される。   The encryption key processing unit 113 updates the original encryption key (key1) stored in the encryption key storage unit 122 when updating the original encryption key key1 used for data encryption to a new encryption key key2. ) And an encryption key (key2) newly generated by the encryption key generation unit 111 and stored in the encryption key recording unit 122, a predetermined calculation described later is executed, and key update data Is generated. The generated key update data is transmitted to the storage apparatus 200 via the network 300.

ストレージ装置200は、処理部210を有するコンピュータであり、記憶装置220および入出力装置230を接続し、ネットワーク300を介して端末100と接続する。   The storage device 200 is a computer having a processing unit 210, and connects the storage device 220 and the input / output device 230 and connects to the terminal 100 via the network 300.

記憶装置220は、ユーザ端末100から受信した暗号文231を格納する。   The storage device 220 stores the ciphertext 231 received from the user terminal 100.

処理部210は、鍵更新処理部211を含んでいる。鍵更新処理部211は、ユーザ端末100から送信された鍵更新用データを用いて、記憶装置220に格納している暗号文の暗号化鍵を、この暗号文が生成されたときの元の暗号化鍵key1から新しい暗号化鍵key2に更新する。   The processing unit 210 includes a key update processing unit 211. The key update processing unit 211 uses the key update data transmitted from the user terminal 100 to change the encryption key of the ciphertext stored in the storage device 220 to the original cipher when the ciphertext was generated. Update the encryption key key1 to the new encryption key key2.

以下、鍵更新に係る、端末100及びストレージ装置200の動作を説明する。   Hereinafter, operations of the terminal 100 and the storage apparatus 200 related to key update will be described.

図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)||…(+は、通常の加算とは限らない)を満たすものである。   FIG. 2 shows a processing flowchart of the encryption processing unit 112 of the terminal 100. The encryption processing unit 112 includes a homomorphic pseudorandom number generator (H-PRNG). For example, the homomorphic pseudorandom number generator uses pseudorandom numbers with the encryption keys key1 and key2 as seeds as r1 || r2 || ... and s1 || s2 || ... (where ri, si (i = 1,2, ...) represents a bit string of a predetermined bit length, || represents a combination of bit strings), a binary operation of encryption keys key1 and key2, and a binary operation of corresponding bit sequences of pseudo-random numbers The relationship is that the pseudo-random number seeded with the encryption key key1 * key2 (* is not necessarily normal multiplication) is (r1 + s1) || (r2 + s2) || ... (+ is not always normal addition) ).

暗号化処理部112の準同型疑似乱数生成器(H-PRNG)は、暗号鍵と暗号化の対象のデータ(平文)に関しても前述と同様に動作する。暗号化処理部112は、暗号化鍵(key1)をシードとした疑似乱数がr1||r2||…であり、データ記憶部121に格納されている、暗号化対象のデータ(平文)Mをm1||m2||…(miはri、siと同じビット長のビット列)とすると、データM=m1||m2||…の暗号文として(r1+m1)||(r2+m2)||…を出力する。   The homomorphic pseudorandom number generator (H-PRNG) of the encryption processing unit 112 operates in the same manner as described above with respect to the encryption key and the data to be encrypted (plain text). The encryption processing unit 112 uses the encryption key (key1) as a seed and the pseudorandom number is r1 || r2 ||..., And the encryption target data (plaintext) M stored in the data storage unit 121 If m1 || m2 || ... (mi is a bit string having the same bit length as ri and si), (r1 + m1) || (r2 + m2) || ... is output as the ciphertext of data M = m1 || m2 || To do.

暗号化処理部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に格納する。   The encryption processing unit 112 divides the encryption target data M (plaintext) stored in the data storage unit 121 into a bit string mi having a predetermined bit length (S201). The encryption processing unit 112 generates a pseudo-random number (H-PRNG (key1)) using the encryption key key1 stored in the encryption key storage unit 122 as a seed, and the generated pseudo-random number is the same as the bit string mi The data is divided into a bit string ri having a predetermined bit length (S202). The encryption processing unit 112 generates a ciphertext C (= c1 || c2 || ... = (r1 + m1) || (r2 + m2) || ...) from the bit string mi and the bit string ri (S203). The encryption processing unit 112 transmits the ciphertext C to the storage device 200 via the network 300 (S204). Although not shown, the storage device 200 stores the received ciphertext C in the storage device 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に送信する。   FIG. 3 shows a processing flowchart of the encryption key processing unit 113 of the terminal 100. The encryption key key1 stored in the encryption key storage unit 122 is the original encryption key used to encrypt the data M to be encrypted and generate the ciphertext C, and the encryption key storage The encryption key key2 stored in the unit 122 is a new encryption key newly generated by the encryption key generation unit 111, and the encryption key processing unit 113 converts the encryption key of the ciphertext C 1 from key1 to key2 Update to In other words, the encryption key processing unit 113 does not decrypt the ciphertext C (the ciphertext obtained by encrypting the data M using key1) stored in the storage device 220 of the storage device 200. (Without obtaining the data M), the key update data KeyUD for updating the data M to the encrypted ciphertext C ′ using the key2 is generated, and the generated key update data KeyUD is stored in the storage device 200. Send.

暗号化鍵処理部113は、元の暗号化鍵key1の逆元(key1-1)と新しい暗号化鍵key2から、鍵更新用データKeyUD(KeyUD=key1-1*key2)を生成する(S301)。暗号化鍵処理部113は、生成した鍵更新用データKeyUDをストレージ装置200にネットワーク300を介して送信する(S302)。 The encryption key processing unit 113 generates key update data KeyUD (KeyUD = key1 −1 * key2) from the inverse element (key1 −1 ) of the original encryption key key1 and the new encryption key key2 (S301). . The encryption key processing unit 113 transmits the generated key update data KeyUD to the storage apparatus 200 via the network 300 (S302).

図4は、鍵更新処理部211の処理フローチャートを示す。鍵更新処理部211も、準同型疑似乱数生成器(H-PRNG)を含んでいる。鍵更新処理部211は、ストレージ装置200が端末100から受信した鍵更新用データKeyUDを用いて、記憶装置220に格納している暗号文Cを、あたかも暗号化鍵key2を用いてデータMを暗号化した暗号文C’に更新する。すなわち、鍵更新用データKeyUDを用いて、データMを暗号化するための暗号化鍵をkey1からkey2へ更新する。   FIG. 4 shows a processing flowchart of the key update processing unit 211. The key update processing unit 211 also includes a homomorphic pseudorandom number generator (H-PRNG). The key update processing unit 211 encrypts the ciphertext C stored in the storage device 220 using the key update data KeyUD received by the storage apparatus 200 from the terminal 100, as if using the encryption key key2. The encrypted ciphertext C ′ is updated. That is, the encryption key for encrypting the data M is updated from key1 to key2 using the key update data KeyUD.

鍵更新処理部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)。 The key update processing unit 211 uses the received key update data KeyUD (KeyUD = key1 −1 * key2) as a seed, and the ciphertext C (= c1 || c2 || ... = (r1 + m1) stored in the storage device 220 ) || (r2 + m2) || ...), a bit string t1 || t2 || ... having a predetermined bit length is generated (S401). The key update processing unit 211 generates an encrypted key updated ciphertext C ′ as C ′ = c′1 || c′2 || ... = (c1 + t1) || (c2 + t2) || ... (S402). The generated ciphertext C ′ is stored in the storage device 220 in place of the ciphertext C (S403). The key update processing unit 211 discards the received encryption key update data 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による暗号化の結果となっている。 Here, for each i, c'i = ci + ti, but ti is the output of the homomorphic pseudorandom number generator using KeyUD = key1 -1 * key2 as a seed. From the definition of the homomorphic pseudorandom number generator, Since ti = −ri + si and ci = ri + mi, c′i = ri + mi + (− ri + si) = si + mi, which is the result of encryption by key2.

実施例2以降の各実施例は本実施例を具体化したものであるので、実施例2以降では暗号化鍵がkey1からkey2へ更新されたことの上記説明を省略する。   Since each embodiment after the second embodiment is a specific embodiment of the present embodiment, the description that the encryption key has been updated from key1 to key2 is omitted in the second and subsequent embodiments.

本実施例によれば、暗号化鍵をkey1からkey2へ更新する際、暗号文Cを格納する情報システムに元の暗号化鍵key1と新しい暗号化鍵key2を提供することなく、暗号化鍵を更新した暗号文C’を生成できる。   According to this embodiment, when the encryption key is updated from key1 to key2, the encryption key is changed without providing the original encryption key key1 and the new encryption key key2 to the information system storing the ciphertext C. An updated ciphertext C ′ can be generated.

図5に、端末100の暗号化処理部112の処理フローチャートを示す。本実施例の暗号化処理部112は、準同型疑似乱数生成器(H-PRNG)と共に、通常の疑似乱数生成器(PRNG)を含む。ユーザ端末100のデータ記憶部121に、暗号化の対象のデータMの他に、素数p、および、疑似乱数生成器(PRNG)のためのシードseedを予め格納しておく。   FIG. 5 shows a processing flowchart of the encryption processing unit 112 of the terminal 100. The encryption processing unit 112 of the present embodiment includes a normal pseudorandom number generator (PRNG) together with a homomorphic pseudorandom number generator (H-PRNG). In addition to the data M to be encrypted, a prime number p and a seed seed for a pseudo random number generator (PRNG) are stored in the data storage unit 121 of the user terminal 100 in advance.

暗号化処理部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に格納する。 The encryption processing unit 112 uses a pseudo random number generator (PRNG) with seed as a seed, and a pseudo random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1, 2,...) Is a predetermined value. A bit string having a bit length, || represents a combination of bit strings) is generated (S501). The encryption processing unit 112 obtains ci = ri key1 * mi mod p and generates ciphertext C = c1 || c2 ||... (S502). Here, a mod p represents the remainder (integer with the decimal part omitted) when the bit string a is regarded as an integer in a predetermined procedure and the integer is divided by p. The encryption processing unit 112 transmits the ciphertext C = c1 || c2 ||... To the storage apparatus 200 via the network 300 (S503). Although not shown, the storage device 200 stores the received ciphertext C in the storage device 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での加算結果である。   FIG. 6 shows a processing flowchart of the encryption key processing unit 113 of the user terminal 100. The encryption key processing unit 113 includes an original encryption key key1 and a new encryption key key2 that are used by the encryption processing unit 112 to encrypt the data M to be encrypted (as in the first embodiment, New key generated by the encryption key generation unit 111), the prime p stored in the data storage unit 121, and the seed seed for the pseudo random number generator (PRNG), the key update data KeyUD (KeyUD = key2-key1 mod (p-1)) is generated (S601), and the generated key update data KeyUD, the seed seed for the pseudo random number generator (PRNG), and the prime number p are stored in the storage apparatus 200. Transmit (S602). The key update data KeyUD is the result of addition of the inverse element (-key1) mod (p-1) of key1 modulo p-1 of key1 and key2.

図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)。 FIG. 7 shows a processing flowchart of the key update processing unit 211. The key update processing unit 211 also includes the above-mentioned homomorphic pseudorandom number generator (H-PRNG) and a normal pseudorandom number generator (PRNG). Using the seed received from the user terminal 100 as a seed, the key update processing unit 211 uses a pseudo-random number generator (PRNG) to generate a pseudo-random number sequence PRNG (seed) = r1 |, similar to S501 of the encryption processing unit 112 of the terminal 100. | r2 || ... is generated (S701). The key update processing unit 211 generates the generated bit strings ri, the key update data KeyUD received from the terminal 100 and the prime number p, and the ciphertext C (= c1 || c2 || ...) stored in the storage device 220. Then, c′i = ri KeyUD * ci mod p is obtained, and encrypted key updated ciphertext C ′ = c′1 || c′2 ||... Is generated (S702). However, H-PRNG (KeyUD) = (r1 KeyUD mod p) || (r2 KeyUD mod p) || The key update processing unit 211 stores the generated ciphertext C ′ in the storage device 220 in place of the ciphertext C (S703). The key update processing unit 211 discards the received encryption key update data KeyUD and prime number p (S704).

本実施例において、素数pを、端末100と、ストレージ装置200で別途共有しておくことにより、暗号化鍵処理部113のS602でpを送信する手順を省略できる。   In this embodiment, by separately sharing the prime number p between the terminal 100 and the storage apparatus 200, the procedure of transmitting p in S602 of the encryption key processing unit 113 can be omitted.

実施例2は、鍵更新処理部211のS702において、pを法としたべき乗計算を必要とする。べき乗計算は計算コストが高いため、平文サイズ(データMのビット長)が大きくなると、ストレージ装置200の鍵更新時の処理コストが高くなる。本実施例では、実施例2に比べて効率の良い鍵更新の処理を説明する。   The second embodiment requires a power calculation using p as a modulus in S702 of the key update processing unit 211. Since the power calculation is expensive, if the plaintext size (bit length of the data M) increases, the processing cost at the time of key update of the storage apparatus 200 increases. In the present embodiment, a key update process that is more efficient than that in the second embodiment will be described.

端末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を生成する。 The encryption processing unit 112 of the terminal 100 selects a predetermined bit length of mi and ri so that the combination ri || mi of the pseudo random number sequence PRNG (seed) = ri and the bit sequence mi of the data M does not exceed the prime number p Then, ci = (ri || mi) * key1 mod p is generated instead of ci = ri key1 * mi mod p in S502 of FIG.

鍵更新処理部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を生成する。 The key updating unit 211 generates the key update data KeyUD = key2 * key1 -1 mod p instead of S601 in FIG. 6 (KeyUD = key2- key1 mod ( p-1)). The key update processing unit 211 may not transmit the seed for the pseudo random number generator (PRNG) to the storage apparatus 200 in S602 of FIG. Further, the key update processing unit 211 omits S701 in FIG. 7 and generates c′i = KeyUD * ci mod p instead of S702 (c′i = ri KeyUD * ci mod p).

本実施例によれば、鍵更新の処理でべき乗を必要としないため、鍵更新を効率的に処理できる。   According to the present embodiment, no power is required in the key update process, so that the key update can be processed efficiently.

図8は、端末100の暗号化処理部112の処理フローチャートを示す。本実施例の暗号化処理部112は、準同型疑似乱数生成器(H-PRNG)と共に、通常の疑似乱数生成器(PRNG)を含む。   FIG. 8 shows a processing flowchart of the encryption processing unit 112 of the terminal 100. The encryption processing unit 112 of the present embodiment includes a normal pseudorandom number generator (PRNG) together with a homomorphic pseudorandom number generator (H-PRNG).

ユーザ端末100のデータ記憶部121に、暗号化の対象のデータMの他に、疑似乱数生成器(PRNG)のためのシードとしてのseedを予め格納しておく。また、暗号化鍵記憶部122に準同型疑似乱数生成器(H-PRNG)のためのシードとしての暗号化鍵key1を格納している。   In addition to data M to be encrypted, seed as a seed for a pseudo random number generator (PRNG) is stored in advance in the data storage unit 121 of the user terminal 100. The encryption key storage unit 122 stores an encryption key key1 as a seed for the homomorphic pseudorandom number generator (H-PRNG).

暗号化処理部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に格納する。   The encryption processing unit 112 uses a pseudo random number generator (PRNG) with seed as a seed, and a pseudo random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1, 2,...) Is a predetermined value. A bit string of bit length, || represents a combination of bit strings) is generated (S801). The encryption processing unit 112 obtains ci = (ri || (mi + h (ri))) + key1 for each i, and generates ciphertext C = c1 || c2 ||... (S802). The encryption processing unit 112 transmits the ciphertext C = c1 || c2 ||... To the storage device 200 via the network 300 (S803). Although not shown, the storage device 200 stores the received ciphertext C in the storage device 220.

ここで、hはハッシュ関数を、+はビットごとの排他的論理和を表す。また、各iに対するriは真正の乱数でもよい。hは疑似ランダム関数でもよい。   Here, h represents a hash function, and + represents an exclusive OR for each bit. Also, ri for each i may be a genuine random number. h may be a pseudo-random function.

図9は、暗号化鍵処理部113の処理フローチャートを示す。暗号化鍵処理部113は、暗号化処理部112が暗号化の対象のデータMを暗号化するために用いた元の暗号化鍵key1と新しい暗号化鍵key2(実施例1と同様に、暗号化鍵生成部114が新たに生成した新しい暗号化鍵)とのビットごとの排他的論理和を求め、求めた排他的論理和の結果をKeyUDとし(S901)、このKeyUDをストレージ装置200に送信する(S902)。   FIG. 9 shows a processing flowchart of the encryption key processing unit 113. The encryption key processing unit 113 includes an original encryption key key1 and a new encryption key key2 used by the encryption processing unit 112 to encrypt the data M to be encrypted (as in the first embodiment, The exclusive key generation unit 114 obtains a bitwise exclusive OR with a new encryption key newly generated), sets the result of the obtained exclusive OR as KeyUD (S901), and transmits this KeyUD to the storage device 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)。   FIG. 10 shows a processing flowchart of the key update processing unit 211. The key update processing unit 211 obtains c′i = KeyUD + ci from the key update data KeyUD received from the terminal 100 and the ciphertext C (= c1 || c2 || ...) stored in the storage device 220, and performs encryption. The encrypted key updated ciphertext C ′ = c′1 || c′2 || is generated (S1001). Here, + represents an exclusive OR for each bit. The key update processing unit 211 stores the generated ciphertext C ′, which is an encrypted ciphertext updated ciphertext, in the storage device 220 instead of the ciphertext C (S1002). The key update processing unit 211 discards the received encryption key update data KeyUD (S1003).

以上の実施例4では、暗号化対象のデータ(平文)Mを所定のビット長に分割し、各ビット列に対して暗号化処理を実行するが、データMを分割せずに、そのかわりにデータMをマスクするために擬似乱数生成器の出力を用いてもよい。   In the fourth embodiment described above, the data to be encrypted (plaintext) M is divided into a predetermined bit length and the encryption process is executed for each bit string. The output of the pseudorandom number generator may be used to mask M.

具体的には、暗号化処理部112は乱数rnを生成し、それをシードとして擬似乱数生成器(PRNG)によりデータMと同じ長さの擬似乱数列PRNG(rn)を生成する。暗号化処理部112はM+PRNG(rn)を計算する。ここで+はビットごとの排他的論理和を表す。さらに暗号化処理部112は暗号文C=(r||M+PRNG(rn))+key1を生成する。   Specifically, the encryption processing unit 112 generates a random number rn, and generates a pseudo random number sequence PRNG (rn) having the same length as the data M by a pseudo random number generator (PRNG) using the random number rn as a seed. The encryption processing unit 112 calculates M + PRNG (rn). Here, + represents an exclusive OR for each bit. Further, the encryption processing unit 112 generates a ciphertext C = (r || M + PRNG (rn)) + key1.

暗号化鍵処理部113は、暗号化処理部112が暗号化の対象のデータMを暗号化するために用いた元の暗号化鍵key1と新しい暗号化鍵key2(実施例1と同様に、暗号化鍵生成部が新たに生成した新しい暗号化鍵)とのビットごとの排他的論理和を求め、求めた排他的論理和の結果をKeyUDとし、このKeyUDをストレージ装置200に送信する。   The encryption key processing unit 113 includes an original encryption key key1 and a new encryption key key2 used by the encryption processing unit 112 to encrypt the data M to be encrypted (similar to the first embodiment, the encryption key processing unit 113) A bitwise exclusive OR with a new encryption key newly generated by the encryption key generation unit) is obtained, and the result of the obtained exclusive OR is referred to as KeyUD, and this KeyUD is transmitted to the storage apparatus 200.

鍵更新処理部211は、端末100から受信した鍵更新用データKeyUDおよび記憶装置220に格納している暗号文CからC’=KeyUD+Cを求め、暗号化鍵更新済み暗号文C’を生成する。ここで+はビットごとの排他的論理和を表す。鍵更新処理部211は、暗号化鍵更新済み暗号文である、生成した暗号文C’を、暗号文Cに替えて記憶装置220に格納する。鍵更新処理部211は、受信した暗号化鍵更新用データKeyUDを破棄する。   The key update processing unit 211 obtains C ′ = KeyUD + C from the key update data KeyUD received from the terminal 100 and the ciphertext C stored in the storage device 220, and generates an encrypted key updated ciphertext C ′. Here, + represents an exclusive OR for each bit. The key update processing unit 211 stores the generated ciphertext C ′, which is an encrypted ciphertext updated ciphertext, in the storage device 220 instead of the ciphertext C. The key update processing unit 211 discards the received encryption key update data KeyUD.

以上説明した本実施形態によれば、暗号化鍵を更新する際、データを格納する情報システムに元の暗号化鍵と新しい暗号化鍵を提供することなく、暗号化鍵を更新できる。   According to the present embodiment described above, when updating the encryption key, the encryption key can be updated without providing the original encryption key and the new encryption key to the information system storing the data.

100:端末、110:処理部、111:暗号化鍵生成部、112:暗号化処理部、113:暗号化鍵処理部、120:記録部、121:データ記憶部、122:暗号化鍵記憶部212、130:入出力装置、200:ストレージ装置、210:処理部、211:鍵更新処理部、220:記憶装置、230::入出力装置、300:ネットワーク。   100: terminal, 110: processing unit, 111: encryption key generation unit, 112: encryption processing unit, 113: encryption key processing unit, 120: recording unit, 121: data storage unit, 122: encryption key storage unit 212, 130: input / output device, 200: storage device, 210: processing unit, 211: key update processing unit, 220: storage device, 230 :: input / output device, 300: network.

Claims (12)

準同型疑似乱数生成器(H-PRNG)を用いて、(1)暗号化鍵key1をシードとして生成した疑似乱数(H-PRNG(key1))を生成し、(2)データMと前記疑似乱数H-PRNG(Key1)により前記データMの暗号文Cを生成し、生成した前記暗号文Cを送信する暗号化処理部、及び、前記暗号化鍵key1の逆元(key1-1)および新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した前記鍵更新用データKeyUDを送信する暗号化鍵処理部を有する端末、並びに、
受信した前記暗号文Cを格納する記憶装置、及び、(3)受信した前記鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)および(4)前記暗号文Cと前記疑似乱数H-PRNG(KeyUD)により暗号化鍵更新済み暗号文C’を生成し、前記暗号文Cに替えて暗号化鍵更新済み暗号文C’を前記記憶装置に格納する鍵更新処理部を有するストレージ装置を含むことを特徴とする暗号化鍵更新システム。
Using a homomorphic pseudorandom number generator (H-PRNG), (1) generate a pseudorandom number (H-PRNG (key1)) generated using the encryption key key1 as a seed, and (2) data M and the pseudorandom number The ciphertext C of the data M is generated by H-PRNG ( Key1 ) , the encryption processing unit that transmits the generated ciphertext C, the inverse of the encryption key key1 (key1 -1 ), and a new one A terminal having an encryption key processing unit for generating key update data KeyUD from the encryption key key2, and transmitting the generated key update data KeyUD, and
A storage device for storing the received ciphertext C, (3) a pseudo-random number (KeyUD) generated using the received key update data KeyUD as a seed, and (4) the ciphertext C and the pseudo-random number H-PRNG A storage device having a key update processing unit that generates an encrypted key updated ciphertext C ′ by ( KeyUD ) and stores the encrypted key updated ciphertext C ′ in the storage device instead of the ciphertext C An encryption key update system comprising:
前記暗号化鍵key1をシードとして生成した疑似乱数(H-PRNG(key1))をr1||r2||…とし(ここでri (i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)、前記データMをm1||m2||…(miはriと同じビット長のビット列)としたとき、
前記データMの前記暗号文Cはc1||c2||…=(r1+m1)||(r2+m2)||…であり、
前記鍵更新用データKeyUDをkey1-1*key2とし、前記鍵更新用データKeyUDをシードとして生成した前記疑似乱数H-PRNG(KeyUD)をt1||t2||…としたとき、前記暗号化鍵更新済み暗号文C’はC’=c’1||c’2||…=(c1+t1)||(c2+t2)||…であることを特徴とする請求項1記載の暗号化鍵更新システム。
A pseudo-random number (H-PRNG (key1)) generated using the encryption key key1 as a seed is r1 || r2 || ... (where ri (i = 1, 2,...) Is a bit string having a predetermined bit length, || represents a combination of bit strings), and when the data M is m1 || m2 || (where mi is a bit string having the same bit length as ri),
The ciphertext C of the data M is c1 || c2 || ... = (r1 + m1) || (r2 + m2) ||
When the key update data KeyUD is key1 −1 * key2 and the pseudo random number H-PRNG (KeyUD) generated using the key update data KeyUD as a seed is t1 || t2 || The encrypted ciphertext C 'is C' = c'1 || c'2 || ... = (c1 + t1) || (c2 + t2) || ... Key update system.
前記暗号化処理部は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed)の各ビット列ri、前記データM=m1||m2||…(miはriと同じビット長のビット列)の各ビット列mi、および素数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記載の暗号化鍵更新システム。
The encryption processing unit uses a pseudo random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1,2, (...) represents a bit string having a predetermined bit length, and || represents a combination of bit strings), each bit string ri of the generated pseudo random number sequence PRNG (seed), and the data M = m1 || m2 || mi = ci key1 * mi mod p is obtained from each bit string mi of the same bit length as ri and prime number p, and the ciphertext C = c1 || c2 || ... (where ci (i = 1 , 2, ...) generates a bit string of a predetermined bit length)
The encryption key processing unit uses KeyUD = key2-key1 mod (p-1) (inverse element of addition modulo p-1 of key1 (-key1) mod (p-1) as the key update data KeyUD And the key2 data (the result of addition in the modulus p-1)), together with the generated key update data KeyUD, the seed and the prime number p are transmitted to the storage device,
The key update processing unit generates the pseudo-random number sequence PRNG (seed) = r1 || r2 || ... by the pseudo-random number generator (PRNG) using the received seed as a seed, and the generated pseudo-random number sequence From each bit string ri of PRNG (seed), the received key update data KeyUD, the prime number p, and the ciphertext C (= c1 || c2 || ...) stored in the storage device, c ′ i = ri KeyUD * ci mod p is obtained, and the ciphertext updated with the encryption key C ′ = c′1 || c′2 || (where H-PRNG (KeyUD) = (r1 KeyUD mod p) | 2. The encryption key update system according to claim 1, wherein | (r2 KeyUD mod p) ||
前記暗号化処理部は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed)の各ビット列riおよび前記データM=m1||m2||…(miはriと同じビット長のビット列)の各ビット列miの結合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記載の暗号化鍵更新システム。
The encryption processing unit uses a pseudo random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1,2, (...) represents a bit string having a predetermined bit length, and || represents a combination of bit strings), and each bit string ri of the generated pseudo random number sequence PRNG (seed) and the data M = m1 || m2 || mi is a bit string having the same bit length as ri), and a predetermined bit length of the mi and the ri is selected so that a combination ri || mi of each bit string mi does not exceed a prime number p, and the ri, the mi, and the ri Ci = (ri || mi) * key1 mod p is obtained from the prime number p, and the ciphertext C = c1 || c2 || (where ci (i = 1,2, ...) is a predetermined bit length. Bit string)
The encryption key processing section, said key generates KeyUD = key2 * key1 -1 mod p as updating data KeyUD, the prime number p with generated the key update data KeyUD, transmitted to the storage device,
The key update processing unit obtains c′i = from the received key update data KeyUD, the prime number p, and the ciphertext C (= c1 || c2 || ...) stored in the storage device. 2. The encryption key update system according to claim 1, wherein KeyUD * ci mod p is obtained and the encrypted key updated ciphertext C ′ = c′1 || c′2 ||... Is generated.
前記暗号化処理部は、予め用意したseedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed)および前記データM=m1||m2||…(miはriと同じビット長のビット列)の、各ビット列について、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記載の暗号化鍵更新システム。
The encryption processor uses a pseudo-random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo-random number sequence PRNG (seed) = r1 || r2 || ... (where ri (i = 1,2, ...) Is a bit string of a predetermined bit length, || represents a combination of bit strings), and the generated pseudo-random number sequence PRNG (seed) and the data M = m1 || m2 || ... (mi is the same bit as ri) For each bit string of (long bit string), ci = (ri || mi + h (ri))) + key1 (where h represents a hash function and + represents an exclusive OR for each bit) Generate the ciphertext C = c1 || c2 ||
The encryption key processing unit sets the exclusive OR for each bit of the encryption key key1 and the new encryption key key2 as the key update data KeyUD,
The key update processing unit obtains c′i = KeyUD + ci from the key update data KeyUD and the ciphertext C (= c1 || c2 || ...) stored in the storage device, and 2. The encryption key update system according to claim 1, wherein the encryption key updated ciphertext C ′ = c′1 || c′2 || is generated.
前記暗号化処理部は、乱数rnを生成し、生成した前記乱数rnをシードとして擬似乱数生成器(PRNG)を用いて前記データMと同じ長さの擬似乱数列PRNG(rn)を生成し、M+PRNG(rn)を求め(ここで、+はビットごとの排他的論理和を表す)、前記暗号文C=(rn||M+PRNG(rn))+key1を生成し、
前記暗号化鍵処理部は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
前記鍵更新処理部は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文Cから前記暗号化鍵更新済み暗号文C’=KeyUD+C(+はビットごとの排他的論理和を表す)を生成することを特徴とする請求項1記載の暗号化鍵更新システム。
The encryption processing unit generates a random number rn, generates a pseudo random number sequence PRNG (rn) having the same length as the data M using a pseudo random number generator (PRNG) by using the generated random number rn as a seed, M + PRNG (rn) is obtained (where + represents an exclusive OR for each bit), and the ciphertext C = (rn || M + PRNG (rn)) + key1 is generated,
The encryption key processing unit sets the exclusive OR for each bit of the encryption key key1 and the new encryption key key2 as the key update data KeyUD,
The key update processing unit determines that the encrypted key updated ciphertext C ′ = KeyUD + C (+ is exclusive logic for each bit) from the key update data KeyUD and the ciphertext C stored in the storage device. The encryption key update system according to claim 1, wherein the encryption key update system generates a sum.
ストレージ装置が持つ記憶装置に格納されている、暗号化鍵key1により暗号化された暗号文Cを、前記ストレージ装置に接続する端末から、新しい暗号化鍵key2により暗号化された暗号化鍵更新済み暗号文C’に更新する暗号化鍵更新方法であって、
前記端末は、準同型疑似乱数生成器(H-PRNG)を用いて、(1)前記暗号化鍵key1をシードとして生成した疑似乱数H-PRNG(key1)を生成し、(2)データMと前記疑似乱数H-PRNG(Key1)により前記データMの前記暗号文Cを生成し、生成した前記暗号文Cを前記記憶装置に格納するために前記ストレージ装置に送信し、
前記端末は、前記暗号化鍵key1の逆元(key1-1)および前記新しい暗号化鍵key2から、鍵更新用データKeyUDを生成し、生成した前記鍵更新用データKeyUDを前記ストレージ装置に送信し、
前記ストレージ装置は、(3)受信した前記鍵更新用データKeyUDをシードとして生成した疑似乱数(KeyUD)および(4)前記暗号文Cと前記疑似乱数H-PRNG(KeyUD)とにより暗号化鍵更新済み暗号文C’を生成し、前記暗号文Cに替えて暗号化鍵更新済み暗号文C’を前記記憶装置に格納することを特徴とする暗号化鍵更新方法。
The ciphertext C encrypted with the encryption key key1 stored in the storage device of the storage device has been updated from the terminal connected to the storage device with the new encryption key key2. An encryption key update method for updating to ciphertext C ′,
The terminal uses a homomorphic pseudorandom number generator (H-PRNG) to generate (1) a pseudorandom number H-PRNG (key1) generated using the encryption key key1 as a seed , and (2) data M and The ciphertext C of the data M is generated by the pseudo random number H-PRNG ( Key1 ), and the generated ciphertext C is transmitted to the storage device to be stored in the storage device,
The terminal generates key update data KeyUD from the inverse element (key1 −1 ) of the encryption key key1 and the new encryption key key2, and transmits the generated key update data KeyUD to the storage device. ,
The storage device updates (3) an encryption key by using a pseudorandom number (KeyUD) generated using the received key update data KeyUD as a seed and (4) the ciphertext C and the pseudorandom number H-PRNG ( KeyUD). A ciphertext update method for generating an encrypted key C ′ and storing an encrypted key-updated ciphertext C ′ in the storage device instead of the ciphertext C.
前記暗号化鍵key1をシードとして生成した疑似乱数(H-PRNG(key1))をr1||r2||…とし(ここでri (i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)、前記データMをm1||m2||…(miはriと同じビット長のビット列)としたとき、
前記データMの前記暗号文Cはc1||c2||…=(r1+m1)||(r2+m2)||…であり、
前記鍵更新用データKeyUDをkey1-1*key2とし、前記鍵更新用データKeyUDをシードとして生成した前記疑似乱数H-PRNG(KeyUD)をt1||t2||…としたとき、前記暗号化鍵更新済み暗号文C’はC’=c’1||c’2||…=(c1+t1)||(c2+t2)||…であることを特徴とする請求項7記載の暗号化鍵更新方法。
A pseudo-random number (H-PRNG (key1)) generated using the encryption key key1 as a seed is r1 || r2 || ... (where ri (i = 1, 2,...) Is a bit string having a predetermined bit length, || represents a combination of bit strings), and when the data M is m1 || m2 || (where mi is a bit string having the same bit length as ri),
The ciphertext C of the data M is c1 || c2 || ... = (r1 + m1) || (r2 + m2) ||
When the key update data KeyUD is key1 −1 * key2 and the pseudo random number H-PRNG (KeyUD) generated using the key update data KeyUD as a seed is t1 || t2 || The encrypted ciphertext C 'is C' = c'1 || c'2 || ... = (c1 + t1) || (c2 + t2) || ... Key update method.
前記端末は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed)の各ビット列ri、前記データM=m1||m2||…(miはriと同じビット長のビット列)の各ビット列mi、および素数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記載の暗号化鍵更新方法。
The terminal uses a pseudo-random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo-random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1,2, ...) is A bit string of a predetermined bit length, || represents a combination of bit strings), each bit string ri of the generated pseudo-random number sequence PRNG (seed), the data M = m1 || m2 || Ci = ri key1 * mi mod p by each bit string mi and a prime number p, and the ciphertext C = c1 || c2 || ... (where ci (i = 1,2, ...) generates a bit string of a predetermined bit length)
The terminal uses KeyUD = key2-key1 mod (p-1) (the inverse element of addition modulo p-1 of key1 (-key1) mod (p-1) and key2 as the key update data KeyUD. Modulo p-1 addition result), and together with the generated key update data KeyUD, the seed and the prime number p are transmitted to the storage device,
The storage device uses the received seed as a seed to generate the pseudo random number sequence PRNG (seed) = r1 || r2 || ... by the pseudo random number generator (PRNG), and generates the generated pseudo random number sequence PRNG ( From each bit string ri of seed), the received key update data KeyUD, the prime number p, and the ciphertext C (= c1 || c2 || ...) stored in the storage device, c′i = ri KeyUD * ci mod p is obtained, and the ciphertext C ′ = c′1 || c′2 || (where H-PRNG (KeyUD) = (r1 KeyUD mod p) || ( 8. The encryption key update method according to claim 7, wherein r2 KeyUD mod p) ||
前記端末は、予め用意したseedをシードとして疑似乱数生成器(PRNG)を用いて疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…)は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed) の各ビット列riおよび前記データM=m1||m2||…(miはriと同じビット長のビット列)の各ビット列miとの結合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記載の暗号化鍵更新方法。
The terminal uses a pseudo-random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo-random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1,2, ...) is A bit string having a predetermined bit length, || represents a combination of bit strings), each bit string ri of the generated pseudo-random number sequence PRNG (seed) and the data M = m1 || m2 || A predetermined bit length of the mi and the ri, and the ri, the mi, and the prime number so that the combination ri || mi with each bit string mi does not exceed a prime number p Ci = (ri || mi) * key1 mod p is obtained from p, and the ciphertext C = c1 || c2 || ... (where ci (i = 1,2, ...) is a bit string of a predetermined bit length) Produces
Said terminal, said key generates KeyUD = key2 * key1 -1 mod p as updating data KeyUD, the prime number p with generated the key update data KeyUD, transmitted to the storage device,
From the received key update data KeyUD, the prime number p, and the ciphertext C (= c1 || c2 || ...) stored in the storage device, the storage device c′i = KeyUD * The cipher key update method according to claim 7, wherein ci mod p is obtained, and the ciphertext C ′ = c′1 || c′2 ||
前記端末は、予め用意したseedをシードとして疑似乱数生成器(PRNG)により疑似乱数列PRNG(seed)=r1||r2||…(ここでri(i=1,2,…) は所定のビット長のビット列、||はビット列の結合を表す)を生成し、生成した前記疑似乱数列PRNG(seed)および前記データM=m1||m2||…(miはriと同じビット長のビット列)の、各ビット列について、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記載の暗号化鍵更新方法。
The terminal uses a pseudo-random number generator (PRNG) with a seed prepared in advance as a seed, and a pseudo-random number sequence PRNG (seed) = r1 || r2 || (where ri (i = 1, 2,...) Is a predetermined number. A bit string of bit length, || represents a combination of bit strings), and the generated pseudo random number sequence PRNG (seed) and the data M = m1 || m2 || ... (mi is a bit sequence having the same bit length as ri) ) For each bit string, ci = (ri || (mi + h (ri))) + key1 (where h represents a hash function and + represents an exclusive OR for each bit), and the ciphertext C = c1 || c2 || ...
The terminal uses bitwise exclusive OR of the encryption key key1 and the new encryption key key2 as the key update data KeyUD,
The storage device obtains c′i = KeyUD + ci from the key update data KeyUD and the ciphertext C (= c1 || c2 || ...) stored in the storage device, and the encryption key 8. The encryption key updating method according to claim 7, wherein updated ciphertext C ′ = c′1 || c′2 || is generated.
前記端末は、乱数rnを生成し、生成した前記乱数rnをシードとして擬似乱数生成器(PRNG)を用いて前記データMと同じ長さの擬似乱数列PRNG(rn)を生成し、M+PRNG(rn)を求め(ここで、+はビットごとの排他的論理和を表す)、前記暗号文C=(rn||M+PRNG(rn))+key1を生成し、
前記端末は、前記暗号化鍵key1と前記新しい暗号化鍵key2とのビットごとの排他的論理和を前記鍵更新用データKeyUDとし、
前記ストレージ装置は、前記鍵更新用データKeyUDおよび前記記憶装置に格納している前記暗号文Cから前記暗号化鍵更新済み暗号文C’=KeyUD+C(+はビットごとの排他的論理和を表す)を生成することを特徴とする請求項7記載の暗号化鍵更新方法。
The terminal generates a random number rn, generates a pseudo random number sequence PRNG (rn) having the same length as the data M using a pseudo random number generator (PRNG) by using the generated random number rn as a seed, and M + PRNG (rn ) (Where + represents an exclusive OR for each bit), and the ciphertext C = (rn || M + PRNG (rn)) + key1 is generated,
The terminal uses bitwise exclusive OR of the encryption key key1 and the new encryption key key2 as the key update data KeyUD,
The storage device uses the key update data KeyUD and the ciphertext C stored in the storage device to update the encryption key updated ciphertext C ′ = KeyUD + C (+ represents an exclusive OR for each bit. The encryption key update method according to claim 7, wherein the encryption key is updated.
JP2013125589A 2013-06-14 2013-06-14 Encryption key update system and method Active JP6033741B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013125589A JP6033741B2 (en) 2013-06-14 2013-06-14 Encryption key update system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013125589A JP6033741B2 (en) 2013-06-14 2013-06-14 Encryption key update system and method

Publications (2)

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

Family

ID=52296699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013125589A Active JP6033741B2 (en) 2013-06-14 2013-06-14 Encryption key update system and method

Country Status (1)

Country Link
JP (1) JP6033741B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11567676B2 (en) 2021-04-30 2023-01-31 Nxp B.V. Inline encryption/decryption for a memory controller
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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6576699B2 (en) 2015-06-12 2019-09-18 コニカミノルタ株式会社 ENCRYPTION SYSTEM, UPDATE METHOD, AND UPDATE PROGRAM
JP6961324B2 (en) * 2015-08-25 2021-11-05 株式会社日立製作所 Searchable cryptographic processing system
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
CN115065472B (en) * 2022-08-18 2022-11-08 广州万协通信息技术有限公司 Security chip encryption and decryption method and device based on multi-key encryption and decryption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Cited By (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

Also Published As

Publication number Publication date
JP2015002409A (en) 2015-01-05

Similar Documents

Publication Publication Date Title
CN107925577B (en) Method and computer readable medium for encryption key generation and management
JP7007384B2 (en) Increased ambiguity
JP6033741B2 (en) Encryption key update system and method
JP6363032B2 (en) Key change direction control system and key change direction control method
KR101829267B1 (en) Homomorphic Encryption Method by Which Ciphertext Size Is Reduced
CN106134128B (en) Use the system and method for the faster public key encryption in associated private key part
Odelu et al. A secure effective key management scheme for dynamic access control in a large leaf class hierarchy
US11349668B2 (en) Encryption device and decryption device
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
Rege et al. Bluetooth communication using hybrid encryption algorithm based on AES and RSA
CN104798339A (en) Key generation device, key generation program, secret search system, and key distribution method
Pandey et al. An enhanced symmetric key cryptography algorithm to improve data security
WO2017033843A1 (en) Searchable cryptograph processing system
Hazra et al. A hybrid cryptosystem of image and text files using blowfish and Diffie-Hellman techniques
Khatarkar et al. A survey and performance analysis of various RSA based encryption techniques
Olumide et al. A hybrid encryption model for secure cloud computing
KR20120002729A (en) Search system and method in multi-user
JP2005198189A (en) Key updating method, encryption system, encryption server, terminal device and external device
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal
Rosen Analysis of the porticor homomorphic key management protocol
JP2005198187A (en) Encryption method, encryption system and terminal device
KR20200131688A (en) Apparatus and method for generating secret key, apparatus and method for genrating evaluation key
CA2988628C (en) Methods and computer program products for encryption key generation and management
JP2014017763A (en) Encryption update system, encryption update request device, encryption update device, decryption device, encryption update method, and computer program
Zhu et al. Secure snaps: a new forward secrecy cryptosystem for self-destructing messages in mobile services

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 Written amendment

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 Written amendment

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