JP6874042B2 - Updating the encryption key stored in non-volatile memory - Google Patents

Updating the encryption key stored in non-volatile memory Download PDF

Info

Publication number
JP6874042B2
JP6874042B2 JP2019042125A JP2019042125A JP6874042B2 JP 6874042 B2 JP6874042 B2 JP 6874042B2 JP 2019042125 A JP2019042125 A JP 2019042125A JP 2019042125 A JP2019042125 A JP 2019042125A JP 6874042 B2 JP6874042 B2 JP 6874042B2
Authority
JP
Japan
Prior art keywords
bit
encryption key
processor
random
isp
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
JP2019042125A
Other languages
Japanese (ja)
Other versions
JP2020145629A (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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to JP2019042125A priority Critical patent/JP6874042B2/en
Publication of JP2020145629A publication Critical patent/JP2020145629A/en
Application granted granted Critical
Publication of JP6874042B2 publication Critical patent/JP6874042B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、サイバーセキュリティーの分野に関するものであり、特に、通信を暗号化するために使用される暗号鍵に関するものである。 The present invention relates to the field of cybersecurity and, in particular, to encryption keys used to encrypt communications.

Nビット暗号鍵のエントロピー(entropy)H(N,p)=H(N,1−p)は、鍵のランダム性を定量化する(式中、pは、0または1の鍵の中の任意の1つのビットの確率である)。比較的高いエントロピーを有する鍵は、比較的低いエントロピーを有する鍵よりも安全である。ランダムな独立同分布(independent and identically distributed, iid)のビットを有する鍵は、H(N,p)=NH(p)ビットであり、H(p)=−(plog2p+(1−p)log2(1−p))である。例えば、バイアスしていない(unbiased)iidビット(p=0.5)は、H(p)がその最大値である1に達するため、H(N,p)=Nである。 The entropy H (N, p) = H (N, 1-p) of an N-bit cryptographic key quantifies the randomness of the key (in the formula, p is any of the 0 or 1 keys. Is the probability of one bit of). A key with a relatively high entropy is more secure than a key with a relatively low entropy. Keys with random independent and identically distributed (iid) bits are H (N, p) = NH (p) bits, and H (p) =-(log 2 p + (1-p)). log 2 (1-p)). For example, an unbiased iid bit (p = 0.5) is H (N, p) = N because H (p) reaches its maximum value of 1.

不揮発性メモリ(non-volatile memory, NVM)は、複数の単一ビットメモリセルを含み、それぞれプログラムされた状態であっても、またはプログラムされていない状態であってもよい。通常、慣例によると、プログラムされていないセルは、二進値1を有するが、プログラムされたセルは、二進値0を有する。ワンタイムプログラマブル不揮発性メモリ(one-time programmable NVM, OTP NVM)は、プログラム操作を元に戻すことができない。すなわち、プログラムされたセルを後でディプログラミング(deprogram)(または消去)することはできない。 Non-volatile memory (NVM) includes a plurality of single-bit memory cells, each of which may be programmed or unprogrammed. Normally, according to convention, unprogrammed cells have a binary value of 1, while programmed cells have a binary value of 0. One-time programmable non-volatile memory (one-time programmable NVM, OTP NVM) is irreversible for program operations. That is, the programmed cell cannot be deprogrammed (or erased) later.

ワンタイムプログラマブル不揮発性メモリ(OTPNVM)は、消去が不可能である。消去可能な他の種類の不揮発性メモリでも、更新操作は安全ではなく、鍵の現在の値の消去後、および鍵の新しい値の書き込み前に、攻撃者が操作を終了させ、既知のプログラムされていない状態で鍵を「フリーズ(freeze)」させる可能性がある。 The one-time programmable non-volatile memory (OTPNVM) cannot be erased. Even with other types of non-volatile memory that can be erased, the update operation is not secure and the attacker terminates the operation after erasing the current value of the key and before writing the new value of the key, and is known to be programmed. It may cause the key to "freeze" when not in use.

本発明のいくつかの実施形態において、プログラムされていないセルが特定の二進値を有する不揮発性メモリ(NVM)(デバイスに属する)に保存するためのNビット暗号鍵の新しいインスタンスを生成する装置を提供する。装置は、ネットワークインターフェースと、プロセッサとを含む。プロセッサは、ランダムNビット更新シーケンスを生成するよう構成される。プロセッサは、さらに、特定の二進値を有し、且つランダムNビット更新シーケンス内の対応して配置されたビットと異なるNビット暗号鍵の現在のインスタンス内の各ビットをネゲート(negate)するが、特定の二進値を有さないNビット暗号鍵の現在のインスタンス内のいかなるビットもネゲートしないことによって、Nビット暗号鍵の新しいインスタンスを生成するよう構成される。プロセッサは、さらに、Nビット暗号鍵の新しいインスタンスを生成した後、ネットワークインターフェースを使用して、Nビット暗号鍵の新しいインスタンスを装置に伝達して、不揮発性メモリ(NVM)に保存するよう構成される。 In some embodiments of the invention, a device that creates a new instance of an N-bit encryption key for an unprogrammed cell to store in a non-volatile memory (NVM) (belonging to a device) with a particular binary value. I will provide a. The device includes a network interface and a processor. The processor is configured to generate a random N-bit update sequence. The processor also negates each bit in the current instance of the N-bit encryption key that has a particular binary value and is different from the correspondingly placed bits in the random N-bit update sequence. It is configured to create a new instance of an N-bit encryption key by not negating any bit in the current instance of the N-bit encryption key that does not have a particular binary value. The processor is further configured to generate a new instance of the N-bit encryption key and then use the network interface to propagate the new instance of the N-bit encryption key to the device and store it in non-volatile memory (NVM). To.

本発明のいくつかの実施形態において、さらに、複数の単一ビットセルを含み、Nビット暗号鍵を保存するよう構成され、セルのうちのプログラムされていないセルが特定の二進値を有する不揮発性メモリ(NVM)と、プロセッサとを含む装置を提供する。プロセッサは、ランダムNビット更新シーケンスを生成するよう構成される。プロセッサは、さらに、特定の二進値を有し、且つランダムNビット更新シーケンス内の対応して配置されたビットと異なるNビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、特定の二進値を有さないNビット暗号鍵の現在のインスタンス内のいかなるビットもネゲートしないことによって、Nビット暗号鍵の新しいインスタンスを生成するよう構成される。プロセッサは、さらに、Nビット暗号鍵の新しいインスタンスを生成した後、不揮発性メモリ(NVM)においてNビット暗号鍵の現在のインスタンスをNビット暗号鍵の新しいインスタンスと置き換えるよう構成される。 In some embodiments of the invention, the non-volatile cells further include a plurality of single bit cells and are configured to store an N-bit encryption key, of which the unprogrammed cell has a particular binary value. A device including a memory (NVM) and a processor is provided. The processor is configured to generate a random N-bit update sequence. The processor also negates each bit in the current instance of an N-bit encryption key that has a particular binary value and is different from the correspondingly placed bits in the random N-bit update sequence, but is specific. It is configured to create a new instance of the N-bit encryption key by not negating any bit in the current instance of the N-bit encryption key that has no binary value. The processor is further configured to generate a new instance of the N-bit cryptographic key and then replace the current instance of the N-bit cryptographic key with the new instance of the N-bit cryptographic key in non-volatile memory (NVM).

本発明のいくつかの実施形態において、さらに、プログラムされていないセルが特定の二進値を有する不揮発性メモリ(NVM)に保存するためのNビット暗号鍵の新しいインスタンスを生成する方法を提供する。この方法は、ランダムNビット更新シーケンスを生成することと、特定の二進値を有し、且つランダムNビット更新シーケンス内の対応して配置されたビットと異なるNビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、特定の二進値を有さないNビット暗号鍵の現在のインスタンス内のいかなるビットもネゲートしないことによって、Nビット暗号鍵の新しいインスタンスを生成することを含む。 In some embodiments of the invention, it further provides a method of creating a new instance of an N-bit encryption key for storage in a non-volatile memory (NVM) where an unprogrammed cell has a particular binary value. .. This method produces a random N-bit update sequence and within the current instance of an N-bit encryption key that has a particular binary value and is different from the correspondingly placed bits in the random N-bit update sequence. Includes creating a new instance of an N-bit encryption key by negating each bit of, but not negating any bit in the current instance of the N-bit encryption key that does not have a particular binary value.

本発明のいくつかの実施形態において、さらに、プログラムされていないセルが特定の二進値を有する不揮発性メモリ(NVM)において、Nビット暗号鍵の複数の更新を容易にする方法を提供する。この方法は、これらの更新に対して、異なる各確率{qi}(i =1…U)を計算し、これらの更新のうちの各第i更新は、Nビット暗号鍵の現在のインスタンスに対するNビット暗号鍵の新しいインスタンスの期待されるエントロピーが、Nよりも小さい所定の閾値Eよりも小さくならないようにすることを含み、以下を条件とする:(i)Nビット暗号鍵の新しいインスタンスは、特定の二進値を有し、且つランダムNビット更新シーケンス内の対応して配置されたビットと異なるNビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、特定の二進値を有さないNビット暗号鍵の現在のインスタンス内のいかなるビットもネゲートしないことによって生成される;(ii)ランダムNビット更新シーケンス内の各ビットは、特定の二進値を有する確率qiで生成される。この方法は、さらに、確率を計算した後に、更新を行う時に使用するための確率を提供することを含む。 In some embodiments of the invention, there is further provided a method of facilitating multiple updates of an N-bit encryption key in non-volatile memory (NVM) in which an unprogrammed cell has a particular binary value. This method calculates each different probability {q i } (i = 1 ... U) for these updates, and each i-th update of these updates is for the current instance of the N-bit encryption key. The expected entropy of the new instance of the N-bit encryption key is not less than a predetermined threshold E less than N, provided that: (i) The new instance of the N-bit encryption key is: Negates each bit in the current instance of an N-bit encryption key that has a specific binary value and is different from the correspondingly placed bits in the random N-bit update sequence, but with a specific binary value Generated by not negating any bit in the current instance of a non-existent N-bit encryption key; (ii) Each bit in a random N-bit update sequence is generated with a probability q i having a particular binary value. Will be done. The method further comprises calculating the probabilities and then providing the probabilities for use when making updates.

本発明の不揮発性メモリは、暗号鍵を使用して通信を暗号化するため、更新操作が安全である。 Since the non-volatile memory of the present invention uses an encryption key to encrypt communication, the update operation is safe.

添付図面は、本発明の原理がさらに理解されるために含まれており、本明細書に組み込まれ、且つその一部を構成するものである。図面は、本発明の実施形態を例示しており、説明とともに、本発明の原理を説明する役割を果たしている。 The accompanying drawings are included for further understanding of the principles of the present invention, incorporated herein by reference, and constitute a portion thereof. The drawings exemplify embodiments of the present invention and serve to explain the principles of the present invention as well as explain them.

本発明のいくつかの実施形態に係る暗号鍵を更新するシステムの概略図である。It is the schematic of the system which updates the encryption key which concerns on some Embodiments of this invention. 本発明のいくつかの実施形態に係る暗号鍵の新しいインスタンスの生成の概略図である。It is a schematic diagram of the generation of a new instance of a cryptographic key according to some embodiments of the present invention. 本発明のいくつかの実施形態に係るランダムシーケンスを生成する技術の概略図である。It is the schematic of the technique which generates the random sequence which concerns on some embodiments of this invention. 本発明のいくつかの実施形態に係るビット生成確率を計算する技術の概略図である。It is the schematic of the technique which calculates the bit generation probability which concerns on some embodiments of this invention. 本発明のいくつかの実施形態に係る暗号鍵の複数の更新を容易にする方法のフロー図である。It is a flow diagram of the method which facilitates the renewal of a plurality of encryption keys which concerns on some embodiments of this invention.

[前置き]
請求項を含む本願の内容において、暗号鍵の「更新」は、(i)鍵の新しいインスタンスの計算、(ii)メモリ内の鍵の現在のインスタンスと鍵の新しいインスタンスの交換、または(iii)(i)と(ii)の両方を指す。
[Introduction]
In the content of the present application, including claims, "updating" an encryption key is (i) calculating a new instance of the key, (ii) exchanging the current instance of the key with a new instance of the key in memory, or (iii). Refers to both (i) and (ii).

本明細書は、概して、不揮発性メモリ(NMV)において、プログラムされていないセルは二進値1を有するが、プログラムされたセルは二進値0を有すると仮定する。以下、図2を参照して明確に説明するが、ここで説明する技術は、逆の慣例を使用する不揮発性メモリ(NMV)にも利用することができる。 The present specification generally assumes that in non-volatile memory (NMV), unprogrammed cells have a binary value of 1, while programmed cells have a binary value of 0. Hereinafter, although it will be described clearly with reference to FIG. 2, the technique described here can also be applied to a non-volatile memory (NMV) using the reverse convention.

[概説]
不揮発性メモリに保存された暗号鍵を更新するのは、困難である。例えば、背景技術において上述したように、ワンタイムプログラマブル不揮発性メモリ(OTPNVM)は、消去が不可能である。また、消去可能な他の種類の不揮発性メモリでも、更新操作は安全ではなく、鍵の現在の値の消去後、および鍵の新しい値の書き込み前に、攻撃者が操作を終了させ、既知のプログラムされていない状態で鍵を「フリーズ」させる可能性がある。
[Overview]
It is difficult to update the encryption key stored in non-volatile memory. For example, as described above in the background art, the one-time programmable non-volatile memory (OTPNVM) cannot be erased. Also, with other types of non-volatile memory that can be erased, the update operation is not secure and the attacker terminates the operation after erasing the current value of the key and before writing the new value of the key. May cause the key to "freeze" unprogrammed.

この問題に取り組むため、本発明の実施形態は、鍵の中の(プログラムされていない)1ビットのみを変更し、(プログラムされた)0ビットを変更しないことにより、鍵を更新する。具体的に説明すると、鍵の現在のNビットインスタンスKi(以下、「Ki」で示す)を考慮して、ビットのNビットランダムシーケンスSi(以下、「Si」で示す)を生成し、その後、KiとSiの間のビット毎でAND演算(bitwise AND operation)、または任意の同等の演算を行うことによって、鍵の新しいインスタンスKi+1(以下、「Ki+1」で示す)を計算する。鍵の新しいインスタンスが現在のインスタンスに対して十分なエントロピーを有するように(すなわち、Kiの知識を持つ攻撃者がKi+1を推測できないようにするために)、0ビットと1ビットの両方を更新したい場合は、鍵の長さNを必要以上に長くする。
(注意すべきこととして、別の記述的慣例を使用すると、KiおよびKi+1は、同じ鍵の異なるインスタンスまたは値ではなく、異なる鍵とみなすことができる。そのため、例えば、Ki+1は、Kiを置き換える新しい鍵であると言うことができる。)
To address this issue, embodiments of the present invention update a key by changing only one (unprogrammed) bit in the key and not changing the (programmed) 0 bit. Specifically, an N-bit random sequence S i (hereinafter referred to as "S i ") of bits is generated in consideration of the current N-bit instance K i (hereinafter referred to as "K i") of the key. Then, by performing a bitwise AND operation for each bit between K i and S i , or any equivalent operation, a new instance of the key K i + 1 (hereinafter, "K i + 1") ”) Is calculated. To have sufficient entropy new instance of keys for the current instance (i.e., in order attacker with knowledge K i 'from being able infer K i + 1), 0-bit and 1-bit If you want to update both, make the key length N longer than necessary.
(Note that, using another descriptive convention, Ki and Ki + 1 can be considered as different keys rather than different instances or values of the same key, so for example, Ki + 1, can be said to be a new key to replace the K i.)

通常、できるだけ多くの更新を実行できるよう、Siは、偏って(biasedly)生成され、1に等しいSi内の各ビットに対する確率qi(以下、「qi」で示す)は、0.5よりも大きい。(鍵の最終更新に対し、qiがちょうど0.5になる場合もある。)具体的に説明すると、必要なエントロピーを提供する最大qi値を数値的に計算した後、この最大値を使用してSiを生成する。 Usually, to be able to perform as many updates, S i is biased (Biasedly) generating the probability q i for each bit in the same S i to 1 (hereinafter, denoted by "q i") is 0. Greater than 5. (In some cases, q i is exactly 0.5 for the last update of the key.) Specifically, after numerically calculating the maximum q i value that provides the required entropy, this maximum value is calculated. Use to generate S i.

いくつかの実施形態において、第i更新の直前に、現在の鍵Kiを考慮して、各qi値を計算する。前置きとして、注意すべきこととして、Kiを考慮すると、Ki+1のエントロピーは、N1i*H(qi)に等しい。式中、N1iは、Ki内の1ビットの数であり、且つH(qi)=−(qilog2i+(1−qi)log2(1−qi))である。所定の閾値E(以下、「E」で示す)よりも大きい、またはそれに等しいこのエントロピーに対し、H(qi)は、E/N1iよりも大きいか、それに等しくなければならない。そのため、第i更新の前に、量E/N1iを計算することができる。続いて、E/N1iが1(H(q)の最大可能値)よりも小さいか、それに等しいことを条件とすると、qに対し、式H(q)=E/N1iを数値的に解くことができる。(注意すべきこととして、この解を計算する正確度は、使用する数値的方法、およびその方法を実施する手段によって決まる。)この等式の解qi (またはqi よりも小さい最も近い適切な値)をqiの値として使用することができる。 In some embodiments, just before the i-update , each q i value is calculated taking into account the current key K i. As a prelude, it should be noted, considering the K i, the entropy of K i + 1 is equal to N1 i * H (q i) . In the equation, N1 i is the number of 1 bit in K i , and H (q i ) =-(q i log 2 q i + (1-q i ) log 2 (1-q i )). is there. For this entropy greater than or equal to a predetermined threshold E (hereinafter referred to as "E"), H (q i ) must be greater than or equal to E / N1 i. Therefore, the quantity E / N1 i can be calculated before the i-th update. Then, provided that E / N1 i is less than or equal to 1 (the maximum possible value of H (q)), the equation H (q) = E / N1 i is numerically given to q. Can be solved. (Note that the accuracy of calculating this solution depends on the numerical method used and the means by which the method is implemented.) The smallest solution q i * (or q i *) of this equation. A close and appropriate value) can be used as the value of q i.

別の実施形態において、いかなる更新も行う前に、鍵のU回の更新に使用する1セットのqi値{q1, q2, … qU}を前もって計算する。この計算に対し、N1iの期待値、

Figure 0006874042
(式中、q0は、1)を使用して、Kiを考慮してKi+1のエントロピーを推測することにより、必要なエントロピーEに到達する。H(qi)は、
Figure 0006874042
)よりも大きいか、それに等しくなければならない。(この量は、より簡潔に
Figure 0006874042
と記載してもよく、λ=E/Nである。)そのため、
Figure 0006874042
)が1よりも大きいことが確定されるまで(i=U+1に対し)、q1で始まるqi値を繰り返し解くことができる。 In another embodiment, a set of q i values {q 1 , q 2 , ... q U } used to update the key U times is pre-computed before any update is performed. For this calculation, the expected value of N1 i,
Figure 0006874042
(Wherein, q 0 is 1) is used by guessing the entropy of K i + 1 in view of the K i, to reach the required entropy E. H (q i ) is
Figure 0006874042
) Must be greater than or equal to. (This amount is more concise
Figure 0006874042
It may be described as, and λ = E / N. )so that,
Figure 0006874042
) Is to (i = U + 1 until it is determined greater than 1) can be solved repeatedly q i values beginning with q 1.

通常、Siを生成しやすくするために、所定の整数mおよび可変整数nに対し、qiは、n/2mの形式を有する。Siを生成するために、Eビットを含むバイアスしていないランダムシードXi(以下、「Xi」で示す)を生成または取得する。そして、XiをSiのNビットにそれぞれ対応するN個のmビットシーケンスに拡大する(例えば、ハッシュ機能を使用して)。続いて、各mビットシーケンスの値とnを比較する。値がnよりも小さい場合、Si中の対応するビットを1に設定し;そうでなければ、ビットを0に設定する。 Usually, q i has a form of n / 2 m for a predetermined integer m and a variable integer n in order to facilitate the generation of S i. In order to generate S i , an unbiased random seed X i (hereinafter referred to as “X i ”) containing an E bit is generated or acquired. Then, X i is expanded to N m-bit sequences corresponding to the N bits of S i (for example, using the hash function). Subsequently, the value of each m-bit sequence is compared with n. If the value is less than n , set the corresponding bit in S i to 1; otherwise, set the bit to 0.

[システムの説明]
まず、図1を参照すると、図1は、本発明のいくつかの実施形態に係る暗号鍵を更新するシステム20の概略図である。図1に示した特定の実施形態は、Nビット暗号鍵「K」を使用して、インターネット24上のモノのインターネット(Internet of Things, IoT)デバイス22とインターネットサービスプロバイダ(Internet service provider, ISP)の間の通信を暗号化する。
[System description]
First, with reference to FIG. 1, FIG. 1 is a schematic diagram of a system 20 for updating an encryption key according to some embodiments of the present invention. The particular embodiment shown in FIG. 1 uses an N-bit encryption key "K" to provide an Internet of Things (IoT) device 22 and an Internet service provider (ISP) on the Internet 24. Encrypt the communication between.

一般的に、デバイス22が同じISPを保持していると仮定すると、鍵のセキュリティは破られないため、鍵を更新する必要はない。しかしながら、デバイス22を異なるISPに切り替えた場合、または鍵のセキュリティが破られた場合は、鍵を更新する必要がある。 Generally, assuming that the device 22 holds the same ISP, the security of the key is not breached and there is no need to update the key. However, if the device 22 is switched to a different ISP, or if the security of the key is breached, the key needs to be updated.

例えば、図1は、デバイス22が第1ISP26aのサービスを受けているが、これから第2ISP26bのサービスを受ける予定である場合を示したものである。この場合、第2ISP26bは、第1ISP26aから鍵の現在のインスタンスKiをリクエストする。このリクエストに応じて、第1ISP26aは、インターネット24上でKiを第2ISP26bに伝達する。第1ISP26aは、さらに、第2ISP26bにiの値を伝達することができる。すなわち、第1ISP26aは、既に実行された暗号鍵に更新の数を指定することができる。続いて、第2ISP26bは、鍵の新しいインスタンスKi+1を生成した後、例えば、デバイス22が属するWiFiネットワークにサービスを提供するルーター28を介して、インターネット24上で、Ki+1をデバイス22に伝達する。(一般的に、第2ISP26bは、Ki+1をデバイス22に伝達する前に、例えば、Kiを使用して、Ki+1を暗号化する。)続いて、デバイス22および第2ISP26bは、Ki+1を使用して、お互いとの通信を開始し、通信を暗号化および復号化することができる。 For example, FIG. 1 shows a case where the device 22 has received the service of the first ISP26a, but is planning to receive the service of the second ISP26b from now on. In this case, the 2ISP26b is, to request the current instance K i of the key from the first 1ISP26a. In response to this request, the 1ISP26a transmits a K i to the 2ISP26b over the Internet 24. The first ISP26a can further transmit the value of i to the second ISP26b. That is, the first ISP26a can specify the number of updates to the already executed encryption key. Subsequently, the 2ISP26b After generating a new instance K i + 1 of the key, for example, via a router 28 that provides service to a WiFi network which the device 22 belongs, on the Internet 24, the K i + 1 device Communicate to 22. (Generally, the 2ISP26b, before transmitting the K i + 1 to the device 22, for example, using the K i, K i + 1 is encrypted.) Subsequently, the device 22 and the 2ISP26b is , K i + 1 can be used to initiate communication with each other and encrypt and decrypt the communication.

第2ISP26bは、プロセッサ30と、例えば、ネットワークインターフェースコントローラ(network interface controller, NIC)を含むネットワークインターフェース32とを含む。プロセッサ30は、ネットワークインターフェース32を介して、(他のデバイスとともに)第2ISP26bおよびデバイス22との通信を交換するよう構成される。プロセッサ30は、さらに、デバイス22との通信を暗号化するために使用される暗号鍵を更新するよう構成される。例えば、上述したように、プロセッサ30は、デバイス22との通信を初期化することにより鍵を更新することができる。あるいは、またはさらに、プロセッサ30は、鍵が攻撃者によって盗まれた可能性があると認識することにより、プロセッサ30(または外部のサイバーセキュリティシステム)に応答して鍵を更新することができる。 The second ISP 26b includes a processor 30 and, for example, a network interface 32 that includes a network interface controller (NIC). The processor 30 is configured to exchange communications with the second ISP 26b and the device 22 (along with other devices) via the network interface 32. Processor 30 is further configured to update the encryption key used to encrypt communication with device 22. For example, as described above, the processor 30 can update the key by initializing communication with the device 22. Alternatively, or in addition, the processor 30 can update the key in response to the processor 30 (or an external cybersecurity system) by recognizing that the key may have been stolen by an attacker.

同様に、デバイス22は、プロセッサ34と、通信インターフェース36とを含む。プロセッサ34は、通信インターフェース36を介して、(他のデバイスとともに)第2ISP26bとの通信を交換するよう構成される。例えば、通信インターフェース36は、プロセッサ34がルーター28を介して通信を交換するために使用することのできるWiFiカードを含んでもよい。 Similarly, the device 22 includes a processor 34 and a communication interface 36. The processor 34 is configured to exchange communication with the second ISP 26b (along with other devices) via the communication interface 36. For example, the communication interface 36 may include a WiFi card that the processor 34 can use to exchange communications via the router 28.

デバイス22は、さらに、プロセッサ34が暗号鍵を保存するメモリ38を含む。そのため、例えば、メモリ38は、まず、Kiを保持する。第2ISP26bからKi+1を受信した後、プロセッサ34は、KiにKi+1を上書きすることができる。 The device 22 further includes a memory 38 in which the processor 34 stores the encryption key. Therefore, for example, a memory 38, first, holds the K i. After receiving the K i + 1 from the 2ISP26b, processor 34 is able to override the K i + 1 to K i.

通常、メモリ38は、不揮発性であり、例えば、メモリ38は、ワンタイムプログラマブル不揮発性メモリ(OTPNVM)、フラッシュメモリ、または電気的消去再書込み可能な読出し専用メモリ(electrically erasable programmable read-only memory, EEPROM)であってもよい。しかしながら、有利に、図2を参照しながら下記でさらに説明するように、暗号鍵の更新は、メモリ38の中のメモリセルをディプログラミングする必要はない。 Typically, the memory 38 is non-volatile, for example, the memory 38 is an electrically erasable programmable read-only memory, such as a one-time programmable non-volatile memory (OTPNVM), a flash memory, or an electrically erasable programmable read-only memory. EEPROM) may be used. However, advantageously, as will be further described below with reference to FIG. 2, updating the encryption key does not require deprogramming the memory cells in the memory 38.

いくつかの実施形態において、図5を参照しながら下記でさらに説明するように、第2ISP26bは、サーバー40によって提供されるデータシートに含まれるパラメータ(特に、ビット生成確率qi)を使用して、Ki+1を生成する。例えば、ネットワークインターフェース44を使用することにより、サーバー40は、データシートをウェブサイトに公開することができる。Ki+1を生成する直前に、第2ISP26bは、ウェブサイトからデータシートを回収して、データシートにおいて、Ki+1を生成するのに必要なパラメータを検索することができる。あるいは、Ki+1を生成する前の任意の時点で、サーバー40は、データシートを第2ISP26bに伝達することができ(例えば、インターネット24上で)、その後、第2ISP26bは、データシートを揮発性または不揮発性メモリ(図示せず)に保存することができる。続いて、Ki+1を生成する直前に、第2ISP26bは、メモリからデータシートを回収し、その後、関連するパラメータを検索することができる。 In some embodiments, the second ISP 26b uses the parameters contained in the datasheet provided by the server 40 (particularly the bit generation probabilities q i ), as further described below with reference to FIG. , K i + 1 is generated. For example, by using the network interface 44, the server 40 can publish the datasheet to a website. Immediately before generating K i + 1 , the second ISP26b can retrieve the datasheet from the website and search the datasheet for the parameters required to generate K i + 1. Alternatively, at any time before generating Ki + 1 , the server 40 can propagate the datasheet to the second ISP26b (eg, on the Internet 24), after which the second ISP26b volatile the datasheet. It can be stored in sex or non-volatile memory (not shown). Subsequently, just before generating Ki + 1 , the second ISP 26b can retrieve the datasheet from memory and then retrieve the relevant parameters.

他の実施形態において、デバイス22のプロセッサ34は、Ki+1を生成し、その後、Ki+1を第2ISP26bに伝達する。このような実施形態において、プロセッサ34は、上述したデータシートをサーバー40から受信することができる。別の選択肢として、サーバー40または他の適切な第三者がKi+1を生成し、その後、Ki+1をデバイス22および第2ISP26bの両方に伝達してもよい。 In another embodiment, the processor 34 of the device 22 generates K i + 1 and then transmits K i + 1 to the second ISP 26b. In such an embodiment, the processor 34 can receive the above-mentioned data sheet from the server 40. Alternatively, the server 40 or other suitable third party may generate the K i + 1 and then transfer the K i + 1 to both the device 22 and the second ISP 26b.

サーバー40は、プロセッサ42と、例えば、NICを含むネットワークインターフェース44とを含む。プロセッサ42は、ネットワークインターフェース44を介して、第2ISP26b(および/またはデバイス22)との通信を交換するよう構成される。 The server 40 includes a processor 42 and, for example, a network interface 44 including a NIC. The processor 42 is configured to exchange communications with a second ISP 26b (and / or device 22) via a network interface 44.

強調すべきこととして、システム20の構成要素および配置は、単なる例として提供しただけである。一般的に、ここで説明する各技術は、適切なシステムに属する適切なプロセッサによって実行可能である。例えば、ここで説明する技術を使用して、携帯電話に属する埋め込み型SIM(embedded subscriber identification module, eSIM)または埋め込みセキュアエレメント(embedded secure element, eSE)に保存された暗号鍵を更新することができる。例えば、携帯電話のサービスプロバイダーは、Ki+1を生成して、Ki+1を携帯電話に伝達することができ、その後、携帯電話は、電話に属する不揮発性メモリにKi+1を保存することができる。 It should be emphasized that the components and arrangement of the system 20 are provided merely as an example. In general, each technique described herein can be performed by the appropriate processor belonging to the appropriate system. For example, the techniques described here can be used to update encryption keys stored in an embedded SIM (embedded subscriber identification module, eSIM) or embedded secure element (eSE) belonging to a mobile phone. .. For example, the service provider of the mobile telephone generates a K i + 1, the K i + 1 can be transmitted to the mobile phone, then the cellular phone, the K i + 1 in the non-volatile memory belonging to the phone Can be saved.

一般的に、ここで説明する各プロセッサは、単一プロセッサとして埋め込まれても、あるいは協同的にネットワーク化された、またはクラスタ化されたプロセッサの集合であってもよい。いくつかの実施形態において、ここで説明するプロセッサのうちの少なくとも1つの機能は、例えば、1つまたはそれ以上の特定用途集積回路(Application-Specific Integrated Circuit, ASIC)またはフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array, FPGA)を使用して、ハードウェアにおいて単独で実施されてもよい。別の実施形態において、ここで説明する各プロセッサの機能は、ソフトウェアにおいて少なくとも部分的に実施される。例えば、いくつかの実施形態において、ここで説明する各プロセッサは、少なくとも中央処理装置(central processing unit, CPU)およびランダムアクセスメモリ(random access memory, RAM)を含むプログラムされたデジタル計算装置として埋め込まれる。ソフトウェアプログラムを含むプログラムコード、および/またはデータは、RAMにロードされ、CPUによって実行および処理される。プログラムコードおよび/またはデータは、例えば、ネットワーク上で、電子フォームでプロセッサにダウンロードすることができる。代わりに、またはさらに、プログラムコードおよび/またはデータは、磁性、光学、または電子メモリ等の一時的でない有形の媒体(non-transitory tangible media)に提供および/または保存してもよい。このようなプログラムコードおよび/またはデータは、プロセッサに提供された時、ここで説明するタスクを実行するよう構成された機械または特殊用途のコンピュータを生成する。 In general, each processor described herein may be embedded as a single processor or may be a collection of co-networked or clustered processors. In some embodiments, the function of at least one of the processors described herein is, for example, one or more Application-Specific Integrated Circuits (ASICs) or Field-Specific Integrated Circuits (ASICs) or Field-Specific Integrated Circuits (ASICs). It may be implemented independently in hardware using Programmable Gate Array, FPGA). In another embodiment, the functionality of each processor described herein is at least partially implemented in software. For example, in some embodiments, each processor described herein is embedded as a programmed digital calculator that includes at least a central processing unit (CPU) and random access memory (RAM). .. Program code, including software programs, and / or data is loaded into RAM and executed and processed by the CPU. The program code and / or data can be downloaded to the processor in electronic form, for example, over a network. Alternatively, or in addition, the program code and / or data may be provided and / or stored on non-transitory tangible media such as magnetic, optical, or electronic memory. Such program code and / or data, when provided to a processor, produces a machine or special purpose computer configured to perform the tasks described herein.

[鍵の新しいインスタンスを生成する]
ここで、図2を参照すると、図2は、本発明のいくつかの実施形態に係る暗号鍵の新しいインスタンスの生成の概略図である。
Create a new instance of the key
Here, with reference to FIG. 2, FIG. 2 is a schematic diagram of the generation of a new instance of a cryptographic key according to some embodiments of the present invention.

図2は、図1において説明した状況に関連し、プロセッサ30(または上述した他のプロセッサ)は、鍵の現在のインスタンスKiを考慮して、Nビット暗号鍵の新しいインスタンスKi+1を生成する。概説において説明したように、図1を参照すると、Ki+1を生成して、不揮発性メモリにおいてKiとKi+1を交換することにより、メモリセルをディプログラミングする必要がなくなる。しかしながら、図4を参照しながら下記でさらに詳しく説明するように、Kiに対するKi+1の期待されるエントロピーは、所定の閾値エントロピーEよりも小さくない。(暗号鍵におけるビットNの数よりも少ない閾値Eは、例えば、システム20のセキュリティアーキテクトによって定義することができる。) Figure 2 is related to the situation described in FIG. 1, the processor 30 (or other processor described above), taking into account the current instance K i key, a new instance K i + 1 of the N-bit cryptographic key Generate. As described in the review, with reference to FIG. 1, and generates a K i + 1, by replacing a K i and K i + 1 in the non-volatile memory, must be de-programming is eliminated the memory cell. However, as described in more detail below with reference to FIG. 4, the expected entropy of K i + 1 for the K i is not smaller than the predetermined threshold entropy E. (The threshold E, which is less than the number of bits N in the encryption key, can be defined, for example, by the security architect of system 20.)

具体的に説明すると、Ki+1を生成するために、プロセッサは、まず、ランダムNビット更新シーケンスSiを生成する。次に、プロセッサは、二進値1を有し、且つSi内の対応して配置されたビットと異なるKi内の各ビットをネゲートするが、二進値1を有さないKi内のいかなるビットもネゲートしないことによって、Ki+1を生成する。図2は、2個のネゲートされたビットを示し、それぞれ上向きの矢印で表示する。 Specifically, in order to generate K i + 1 , the processor first generates a random N-bit update sequence S i . The processor has a binary value 1, and will be negated each bit corresponding to a different K i for the arranged bits in the S i, the K i with no binary value 1 Generate K i + 1 by not negating any bit of. FIG. 2 shows two negated bits, each represented by an upward arrow.

通常、図2に示したように、プロセッサは、KiとSiの間でビット毎のAND演算を行うことによって、Ki+1を生成する。そのため、Ki内のいくつかの1ビットは、Ki+1内の0ビットで置き換えられるが、Ki内の0ビットは、1ビットで置き換えられないため、セルをディプログラミングしなくても、不揮発性メモリにおいて更新することができる。 Normally, as shown in FIG. 2, the processor generates K i + 1 by performing a bit-by-bit AND operation between K i and S i. Therefore, some 1-bit in the K i, but is replaced by 0 bit in the K i + 1, 0 bit of the K i, because it is not replaced by 1 bit, without de-programmed cells , Can be updated in non-volatile memory.

プロセッサは、Siにおいて確率qiが1の各ビットを生成し、通常、qiは、0.5よりも大きい。(概説において説明したように、鍵の最終更新に対し、qiがちょうど0.5になる場合もある。)いくつかの実施形態において、図1を参照して上述したように、qiは、サーバー40によって提供されたデータシートにおいて指定される。このようなデータシートは、例えば、iの各値、Nの1つまたはそれ以上の値、およびEの1つまたはそれ以上の値に対するqiを指定するルックアップテーブルを含むことができる。別の実施形態において、プロセッサはqiを計算する。以下、図4を参照しながら、qiの計算についてさらに詳しく説明する。 The processor generates each bit of the probability q i is 1 at S i, usually, q i is greater than 0.5. (As explained in the overview, q i may be exactly 0.5 for the last update of the key.) In some embodiments, q i is as described above with reference to FIG. , Specified in the datasheet provided by server 40. Such a datasheet can include, for example, a lookup table that specifies q i for each value of i, one or more values of N, and one or more values of E. In another embodiment, the processor computes q i. Hereinafter, the calculation of q i will be described in more detail with reference to FIG.

プログラムされていないメモリセルが二進値0を有する逆の不揮発性メモリの慣例については、プロセッサは、Siにおいて確率qiが0の各ビットを生成する。そして、プロセッサは、KiとSiの間でビット毎のOR演算を行うことによって、Si内の対応して配置されたビットと異なるKi内の各0ビットをネゲートする。 For the reverse non-volatile memory convention where unprogrammed memory cells have a binary value of 0, the processor produces each bit with a probability q i of 0 at S i. Then, the processor negates each 0 bit in K i different from the correspondingly arranged bits in S i by performing a bit-by-bit OR operation between K i and S i.

[ランダムシーケンスを生成する]
ここで、図3を参照すると、図3は、本発明のいくつかの実施形態に係るランダムシーケンスSiを生成する技術の概略図である。この技術は、所定の整数mおよび可変整数nに対し、qiがn/2mに等しいと仮定する。(例えば、mは、10であってもよく、qi=n/1024となる。)
[Generate a random sequence]
Here, with reference to FIG. 3, FIG. 3 is a schematic diagram of a technique for generating a random sequence S i according to some embodiments of the present invention. This technique assumes that for a given integer m and a variable integer n, q i is equal to n / 2 m. (For example, m may be 10, and q i = n / 1024.)

iを生成するため、プロセッサは、まず、外部ソースからEビットを有するバイアスしていないランダムシードXiを生成または取得する。(Xiは、バイアスされておらず、Xiにける各ビットは、0.5の確率が1である。)プロセッサは、さらに、qi=n/2mを検索または計算する。続いて、プロセッサは、XiをそれぞれSiのビットに対応するN個のmビットシーケンス{Zij}に拡大する(j=1…N)。例えば、プロセッサは、N個の異なる個別の計数機cを用いて、ハッシュ機能f(X,c)をXiに適用するため、例えば、Siの第1ビットに対応する第1mビットシーケンスZi1は、f(Xi,1)に等しく、Siの第2ビットに対応する第2mビットシーケンスZi2は、f(Xi,2)に等しい(以下、同様)。適切なハッシュ機能の例は、SHA−2、SHA−256、SHA−512、およびSHA−3等のセキュアハッシュアルゴリズム(secure hash algorithm, SHA)を含む。 To generate S i , the processor first generates or obtains an unbiased random seed X i with an E bit from an external source. (X i is unbiased and each bit in X i has a probability of 0.5.) The processor further searches or calculates q i = n / 2 m. Subsequently, the processor expands X i into N m-bit sequences {Z ij } corresponding to the bits of S i (j = 1 ... N). For example, the processor applies the hash function f (X, c) to X i using N different individual counters c, so that, for example, the first m-bit sequence Z corresponding to the first bit of S i. i1 is equal to f (X i , 1), and the second m-bit sequence Z i2 corresponding to the second bit of S i is equal to f (X i , 2) (the same applies hereinafter). Examples of suitable hash functions include secure hash algorithms (Sha) such as SHA-2, SHA-256, SHA-512, and SHA-3.

次に、Si内の各ビットに対し、プロセッサは、nよりも小さい対応するmビットシーケンスの値に応じて、ビットを1に設定する。例えば、Zi1がnよりも小さい場合、Si内の各第1ビットを1に設定し;そうでなければ、ビットを0に設定する。 Next, for each bit in S i , the processor sets the bit to 1 according to the value of the corresponding m-bit sequence less than n. For example, if Z i1 is less than n , each first bit in S i is set to 1; otherwise, the bit is set to 0.

図3において特定の技術を示したが、注意すべきこととして、Si内の各ビットが1の確率qiを有すると仮定すると、(qiがn/2mの形式でなくても)他の適切な技術を使用してSiを生成してもよい。 A particular technique has been shown in FIG. 3, but it should be noted that assuming that each bit in S i has a probability q i of 1, (even if q i is not in the form n / 2 m). other suitable techniques may be used to generate a S i using.

[1回の更新に対するビット生成確率を計算する]
ここで、図4を参照すると、図4は、本発明のいくつかの実施形態に係るビット生成確率qiを計算する技術の概略図である。
[Calculate the bit generation probability for one update]
Here, with reference to FIG. 4, FIG. 4 is a schematic diagram of a technique for calculating the bit generation probability q i according to some embodiments of the present invention.

いくつかの実施形態において、Ki+1を生成するプロセッサは、Siを生成する前に、qiを計算する。通常、このような実施形態において、プロセッサは、まず、Ki内の1ビットの数N1iを識別する。次に、図4に示すように、プロセッサは、qに関するH(q)=−(qlog2q+(1−q)log2(1−q))=E/N1iを解く。この解は、図4において表記qi で示してある。(ほとんどの場合、等式に対して2つの解があり;プロセッサは、2つの解のうち大きい方を選択する。)その後、プロセッサは、qi からqiを得る。例えば、プロセッサは、qiをqi に設定してもよく、あるいは、qi よりも小さい、またはそれに等しい最大の値n/2m設定してもよい。(言い換えると、プロセッサは、n/2mがqi より小さい、またはそれに等しい最大の整数nを見つける。) In some embodiments, the processor that produces K i + 1 calculates q i before generating S i. Normally, in such an embodiment, the processor first identifies the number N1 i of a bit in K i. Next, as shown in FIG. 4, the processor solves H (q) = − (qlog 2 q + (1-q) log 2 (1-q)) = E / N1 i with respect to q. This solution is shown in FIG. 4 by the notation q i * . (In most cases, there are two solutions to the equation; the processor chooses the larger of the two solutions.) Then the processor gets q i from q i * . For example, the processor may set q i to q i * , or may set the maximum value n / 2 m less than or equal to q i *. (In other words, the processor finds the largest integer n for which n / 2 m is less than or equal to q i *.)

概説において説明したように、Kiを考慮すると、Ki+1のエントロピーは、N1i*H(qi)に等しい。そのため、qiをqi に、またはqi よりも小さい最も近い適切な値に設定することによって、プロセッサは、少なくともEのエントロピーを提供するqiの最大の適切な値を効果的に選択することができる。 As explained in the overview, considering K i , the entropy of K i + 1 is equal to N1 i * H (q i). Therefore, by setting q i to q i * or the closest appropriate value less than q i * , the processor effectively sets the maximum appropriate value of q i to provide at least the entropy of E. You can choose.

i を解く代わりに、プロセッサは、qの複数の値を定義し、その後、qiをH(q)がE/N1iよりも小さくない値のうちの最大の値に設定してもよい。例えば、プロセッサは、値の列[2m-1/2m,(2m-1+1)/2m ,…(2m-1)/2m]を生成し、その後、qiをH(q)がE/N1iよりも小さくない値のうちの最大の値に設定することができる。 Instead of solving q i * , the processor may define multiple values of q and then set q i to the maximum of values where H (q) is not less than E / N1 i. Good. For example, the processor produces a sequence of values [2 m-1 / 2 m , (2 m-1 + 1) / 2 m , ... (2 m- 1) / 2 m ], and then q i is H ( q) can be set to the maximum value among the values not smaller than E / N1 i.

E/N1iが1よりも大きい場合、必要なエントロピーEを得ることができないため、プロセッサは、Ki+1を生成しない。この場合、プロセッサは、例えば、デバイス22のメモリ38(図1)を交換または消去する必要があることを示す適切なエラーメッセージを生成することができる。 If E / N1 i is greater than 1, the processor will not generate K i + 1 because the required entropy E cannot be obtained. In this case, the processor can generate, for example, an appropriate error message indicating that memory 38 (FIG. 1) of device 22 needs to be replaced or erased.

[複数の更新に対してビット生成確率を予備計算する]
いくつかの実施形態において、Ki+1を生成するプロセッサは、N1iを使用しないでqiを計算する。それどころか、プロセッサは、各更新において、N1iの期待値、N1i に基づいて、鍵の複数の更新に対してqi値のシーケンスを前もって計算する。あるいは、サーバー40(図1)は、1つまたはそれ以上の対のNまたはE値に対してqi値の各シーケンスを指定するデータシートを生成してもよい。続いて、図1を参照して上述したように、サーバー40は、図2〜図3を参照して説明した方法で、暗号鍵を更新したい第三者(例えば、第2ISP26b)にデータシートを提供することができる。
[Pre-calculate bit generation probability for multiple updates]
In some embodiments, the processor that produces K i + 1 calculates q i without using N1 i. Instead, the processor, at each update, the expected value of N1 i, based on the N1 i *, advance to calculate a sequence of q i values for a plurality of key update. Alternatively, server 40 (FIG. 1) may generate a datasheet that specifies each sequence of q i values for one or more pairs of N or E values. Subsequently, as described above with reference to FIG. 1, the server 40 sends the data sheet to a third party (for example, the second ISP26b) who wants to update the encryption key by the method described with reference to FIGS. Can be provided.

これに関し、図5を参照すると、図5は、本発明のいくつかの実施形態に係る暗号鍵の複数の更新を容易にする方法46のフロー図である。具体的に説明すると、方法46において、1つまたはそれ以上の異なる(N,E)対に関する{qi}シーケンスを指定するデータシート(すなわち、(i)N(暗号鍵におけるビットの数)および(ii)E(エントロピー閾値)からなる1つまたはそれ以上の異なる対の値)を生成および提供する。方法46は、通常、上述したように、サーバー40のプロセッサ42によって実行される。あるいは、方法46におけるステップのサブセット(例えば、単一の(N,E)対に関する{qi}の計算)をプロセッサ、例えば、鍵を更新する第2ISP26bのプロセッサ30で行う。 In this regard, with reference to FIG. 5, FIG. 5 is a flow diagram of a method 46 that facilitates the renewal of a plurality of encryption keys according to some embodiments of the present invention. Specifically, in method 46, a data sheet that specifies a {q i } sequence for one or more different (N, E) pairs (ie, (i) N (the number of bits in the encryption key) and (Ii) One or more different pairs of values consisting of E (entropy threshold)) are generated and provided. Method 46 is typically performed by processor 42 of server 40, as described above. Alternatively, a subset of the steps in method 46 (eg, the calculation of {q i } for a single (N, E) pair) is performed on a processor, eg, processor 30 of the second ISP 26b that updates the key.

方法46は、プロセッサ42がビット生成確率のシーケンスを計算したいシーケンスに関する次の事前定義された(N,E)対を選択する選択ステップ47で始まる。(各(N,E)対は、例えば、セキュリティ専門家によってプロセッサ42に提供することができる。)次に、プロセッサは、鍵のU個の更新に対して異なる各確率{qi}(i=1…U)を計算する。各qi値を計算して、鍵の現在のインスタンス(Ki)に関する鍵の新しいインスタンス(Ki+1)の期待されるエントロピーが、Eよりも小さくならないようにするが、図2〜3を参照して上述したように、鍵の新しいインスタンスを生成することを条件とする。つまり、qiは、通常、実際のエントロピー(前もって知ることができない)の代わりにKi(H(q)*N1i )に関するKi+1の期待されるエントロピーを使用して、図4を参照して上述したように計算される。 Method 46 begins with a selection step 47 of selecting the next predefined (N, E) pair for the sequence in which the processor 42 wants to calculate the sequence of bit generation probabilities. (Each (N, E) pair can be provided to processor 42, for example, by a security expert.) Next, the processor has different probabilities {qi} (i =) for each U update of the key. 1 ... U) is calculated. Calculate each q i value so that the expected entropy of the new instance of the key (K i + 1 ) with respect to the current instance of the key (K i ) is not less than E, but in Figures 2-3. As mentioned above, subject to the creation of a new instance of the key. That is, q i usually uses the expected entropy of K i + 1 for K i (H (q) * N1 i * ) instead of the actual entropy (which cannot be known in advance), FIG. Is calculated as described above with reference to.

さらに具体的に説明すると、選択ステップ47の後、プロセッサは、初期化ステップ48において、q0を1に設定し、インデックスiを1に初期化する。続いて、プロセッサは、qiを繰り返し計算して、鍵の新しいインスタンスの期待されるエントロピーがEよりも小さくなるまで、インデックスを増加させる。qiを計算するために、プロセッサは、まず、計算ステップ50において、

Figure 0006874042
を計算する。次に、第1確認ステップ52において、プロセッサは、E/N1i が1よりも小さい、またはそれに等しいかどうかを確認する。YESの場合、プロセッサは、設定ステップ54において、qiをH(q)がE/N1i よりも小さくないqの最大の適切な値に設定する。例えば、図4を参照して上述したように、プロセッサは、qiをqi に(ここで、H(qi )は、E/N1i )、またはqi よりも小さい最も近い適切な値に設定することができる。続いて、増加ステップ56において、プロセッサは、インデックスiを増加させる。 More specifically, after the selection step 47, the processor sets q 0 to 1 and initializes the index i to 1 in the initialization step 48. The processor then iteratively computes q i and increments the index until the expected entropy of the new instance of the key is less than E. To calculate q i , the processor first, in calculation step 50,
Figure 0006874042
To calculate. Next, in the first confirmation step 52, the processor confirms whether E / N1 i * is less than or equal to 1. If YES, the processor sets q i to the maximum appropriate value of q in setting step 54, where H (q) is not less than E / N1 i *. For example, as described above with reference to FIG. 4, the processor changes q i to q i * (where H (q i * ) is E / N1 i * ), or the smallest smaller than q i *. It can be set to a close and appropriate value. Subsequently, in the increase step 56, the processor increases the index i.

第1確認ステップ52において、E/N1i が1よりも大きいことを確認した上で、プロセッサは、現在のインデックスiに関するqiを計算しない。それどころか、データシート更新ステップ58において、ここまで計算してきたシーケンス{q1, q2, … qU}(U(現在のインデックスよりも1つ小さい)は、鍵の許容される更新の最大数)を(N,E)の下方にあるデータシートに追加する。 In the first confirmation step 52, after confirming that E / N1 i * is larger than 1, the processor does not calculate q i with respect to the current index i. On the contrary, in the datasheet update step 58, the sequence {q 1 , q 2 , ... q U } calculated so far (U (one smaller than the current index) is the maximum number of key updates allowed). To the datasheet below (N, E).

データシート更新ステップ58の後、プロセッサは、第2確認ステップ60において、これ以上の(N,E)対が残っているかどうかを確認する。YESの場合、プロセッサは、選択ステップ47に戻り、選択された(N,E)対に対して{qi}を計算した後、データシートを更新する。そうでなければ、プロセッサは、提供ステップ62において、完成したデータシートを提供し、暗号鍵の更新に使用する。例えば、図1を参照して上述したように、プロセッサは、データシートをウェブサイトにアップロードしてもよく、あるいは、データシートを他のデバイスに伝達してもよい。 After the data sheet update step 58, the processor checks in the second confirmation step 60 whether more (N, E) pairs remain. If YES, the processor returns to selection step 47, calculates {q i } for the selected (N, E) pairs, and then updates the datasheet. Otherwise, the processor will provide the completed datasheet and use it for updating the encryption key in provision step 62. For example, as described above with reference to FIG. 1, the processor may upload the datasheet to a website or transmit the datasheet to another device.

図2を参照して上述したように、各qi値は、通常、0.5よりも大きい。(しかし、qUがちょうど0.5になる場合もある)。図4に示したH(q)のグラフを観察するとわかるように、E/N1i がiとともに増加することを考慮すると、qi (そのため、qi)の値は、iが増加するにつれて減少する。例えば、E=80およびN=256に対し、方法46は、11qi 値の減少列:0.943、0.938、0.933、0.926、0.918、0.907、0.893、0.872、0.841、0.785、および0.623に戻る。(上記は、必要なエントロピーが80ビットよりも多くないという条件で、ここで説明した技術を使用して、256ビット鍵を11回更新するという意味である。) As mentioned above with reference to FIG. 2, each q i value is usually greater than 0.5. (But sometimes q U is just 0.5). As can be seen by observing the graph of H (q) shown in FIG. 4, considering that E / N1 i * increases with i , the value of q i * (hence, q i) increases i. It decreases as it goes. For example, for E = 80 and N = 256, Method 46 has a reduction sequence of 11q i * values: 0.943, 0.938, 0.933, 0.926, 0.918, 0.907, 0. It returns to 893, 0.872, 0.841, 0.785, and 0.623. (The above means updating the 256-bit key 11 times using the technique described here, provided that the required entropy is no more than 80 bits.)

このデータシートを考慮して、鍵の新しいインスタンスを生成するプロセッサ(例えば、第2ISP26bのプロセッサ30)は、N、E、およびiを考慮して、適切なqi値を検索する。(図1を参照して上述したように、第1ISP26aは、iを第2ISP26bに指定する。)続いて、図2〜図3を参照して上述したように、プロセッサは、qiを使用して更新シーケンスSiを生成した後、Siを使用してKiからKi+1を生成する。 With this datasheet in mind, the processor that creates the new instance of the key (eg, processor 30 of the second ISP26b) takes N, E, and i into account and searches for the appropriate q i value. (As described above with reference to FIG. 1, the first ISP 26a designates i as the second ISP 26b.) Subsequently, as described above with reference to FIGS. 2 to 3, the processor uses q i. after generating the update sequence S i Te, generating a K i + 1 from the K i using the S i.

本発明は、通信を暗号化するために使用される暗号鍵に関するものである。 The present invention relates to an encryption key used to encrypt a communication.

20 システム
22 IoTデバイス
24 インターネット上のISP
26a 第1ISP
26b 第2ISP
28 ルーター
30、34、42 プロセッサ
32、44 ネットワークインターフェース
36 通信インターフェース
38 メモリ
40 サーバー
46 方法
47、48、50、52、54、56、58、60、62 ステップ
i 鍵の現在のインスタンス
i+1 鍵の新しいインスタンス
i 確率
i ビットのランダムシーケンス
i バイアスしていないランダムシード
{Zij} mビットシーケンス
20 System 22 IoT Device 24 ISP on the Internet
26a 1st ISP
26b 2nd ISP
28 Router 30, 34, 42 Processor 32, 44 Network Interface 36 Communication Interface 38 Memory 40 Server 46 Method 47, 48, 50, 52, 54, 56, 58, 60, 62 Step K i Current instance of key K i + New instance of 1 key q i Probability S i Bit random sequence X i Unbiased random seed {Z ij } m bit sequence

Claims (15)

プログラムされていないセルが特定の二進値を有する不揮発性メモリに保存するためのNビット暗号鍵の新しいインスタンスを生成するシステムであって、
前記システムが、第1ISP、第2ISP及び前記不揮発性メモリを有するIoTデバイスを含み、
前記第2ISPが、ネットワークインターフェースと、プロセッサと、
を含み
前記プロセッサは、
前記IoTデバイスが前記第1ISPのサービスを受けているが、これから前記第2ISPのサービスを受ける予定である場合に、前記第2ISPが第1ISPから前記Nビット暗号鍵の現在のインスタンスをリクエストすることと、
ランダムNビット更新シーケンスを生成することと、
前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異なる前記Nビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異ならない前記Nビット暗号鍵の現在のインスタンス内の各ビットまたは前記特定の二進値を有さない前記Nビット暗号鍵の前記現在のインスタンス内のビットもネゲートしないことによって、前記Nビット暗号鍵の前記新しいインスタンスを生成することと、
前記Nビット暗号鍵の前記新しいインスタンスを生成した後、前記ネットワークインターフェースを使用して、前記Nビット暗号鍵の前記新しいインスタンスを前記IoTデバイスに伝達して、前記不揮発性メモリに保存することと、
を行うよう構成されシステム。
A system in which an unprogrammed cell creates a new instance of an N-bit cryptographic key for storage in non-volatile memory with a particular binary value.
The system includes an IoT device having a first ISP, a second ISP and the non-volatile memory.
The second ISP is a network interface, a processor, and
Including
The processor
When the IoT device has received the service of the first ISP, but will receive the service of the second ISP from now on, the second ISP requests the current instance of the N-bit encryption key from the first ISP. ,
Generating a random N-bit update sequence and
Each bit in the current instance of the N-bit encryption key that has the particular binary value and is different from the correspondingly arranged bits in the random N-bit update sequence is negated, but the particular two. The bits in the current instance of the N-bit encryption key that have a decimal value and are not different from the correspondingly arranged bits in the random N-bit update sequence or that do not have the particular binary value. Creating the new instance of the N-bit encryption key by not negating each bit in the current instance of the N-bit encryption key,
After creating the new instance of the N-bit encryption key, the network interface is used to transmit the new instance of the N-bit encryption key to the IoT device and store it in the non-volatile memory.
System that will be configured to perform.
前記プロセッサが、前記Nビット暗号鍵の前記現在のインスタンスと前記ランダムNビット更新シーケンスの間でビット毎のAND演算を行うことによって、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス中の対応して配置されたビットと異なる前記Nビット暗号鍵の前記現在のインスタンス内の各ビットをネゲートするよう構成された請求項1に記載のシステム。 The processor has the specific binary value and has the random N-bit update by performing a bit-by-bit AND operation between the current instance of the N-bit encryption key and the random N-bit update sequence. The system of claim 1, wherein each bit in the current instance of the N-bit encryption key that is different from the correspondingly arranged bits in the sequence is configured to negate. 前記プロセッサが、0.5よりも大きい前記特定の二進値を有する確率で前記ランダムNビット更新シーケンス内の各ビットを生成するよう構成された請求項1に記載のシステム。 The system of claim 1, wherein the processor is configured to generate each bit in the random N-bit update sequence with a probability of having the particular binary value greater than 0.5. 前記確率が、所定の整数mおよび可変整数nに対し、n/2mに等しく、
前記プロセッサが、
Eビットを有するバイアスしていないランダムシードをそれぞれ前記ランダムNビット更新シーケンスの前記ビットに対応するN個のmビットシーケンスに拡張することと、
前記ランダムNビット更新シーケンス内の各ビットに対し、nよりも小さい前記対応するmビットシーケンスの値に応じて、前記ビットを前記特定の二進値に設定することと、
を行うことによって、前記ランダムNビット更新シーケンスを生成するよう構成された請求項3に記載のシステム。
The probability is equal to n / 2 m for a given integer m and a variable integer n.
The processor
Extending an unbiased random seed with E bits to N m-bit sequences corresponding to the bits of the random N-bit update sequence, respectively.
For each bit in the random N-bit update sequence, the bit is set to the particular binary value according to the value of the corresponding m-bit sequence less than n.
The system according to claim 3, wherein the random N-bit update sequence is generated by performing the above.
Nビット暗号鍵の新しいインスタンスを生成するシステムであって、
前記システムが、第1ISP、第2ISP及びIoTデバイスを含み、
前記IoTデバイスが、
複数の単一ビットセルを含み、前記Nビット暗号鍵を保存するよう構成され、前記セルのうちのプログラムされていないセルが特定の二進値を有する不揮発性メモリと、プロセッサと、を含み、
前記プロセッサは、
ランダムNビット更新シーケンスを生成することと、
前記IoTデバイスが前記第1ISPのサービスを受けているが、これから前記第2ISPのサービスを受ける予定である場合に、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異なる前記Nビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異ならない前記Nビット暗号鍵の現在のインスタンス内の各ビットまたは前記特定の二進値を有さない前記Nビット暗号鍵の前記現在のインスタンス内のビットもネゲートしないことによって、前記Nビット暗号鍵の新しいインスタンスを生成することと、
前記Nビット暗号鍵の前記新しいインスタンスを生成した後、前記不揮発性メモリにおいて前記Nビット暗号鍵の前記現在のインスタンスを前記Nビット暗号鍵の前記新しいインスタンスと置き換えることと、
前記Nビット暗号鍵の前記新しいインスタンスを前記第2ISPに伝達することとを行うよう構成されシステム。
A system that creates a new instance of an N-bit encryption key
The system includes a first ISP, a second ISP and an IoT device.
The IoT device
A non-volatile memory that includes a plurality of single bit cells and is configured to store the N-bit encryption key, the unprogrammed cell of the cells having a specific binary value, and a processor.
The processor
Generating a random N-bit update sequence and
If the IoT device has received the service of the first ISP but is going to receive the service of the second ISP from now on, it has the specific binary value and corresponds within the random N-bit update sequence. Each bit in the current instance of the N-bit encryption key that differs from the placed bits is negated, but has the particular binary value and is correspondingly placed in the random N-bit update sequence. The N by not negating each bit in the current instance of the N-bit encryption key that is not different from a bit or each bit in the current instance of the N-bit encryption key that does not have a particular binary value. Creating a new instance of the bit encryption key and
After creating the new instance of the N-bit encryption key, replacing the current instance of the N-bit encryption key with the new instance of the N-bit encryption key in the non-volatile memory.
The N-bit cryptographic key the system that will be configured to perform a to a new instance is transmitted to the first 2ISP of.
前記プロセッサが、前記特定の二進値を有する特定の確率で前記ランダムNビット更新シーケンス内の各ビットを生成するよう構成され、
前記プロセッサが、さらに、前記ランダムNビット更新シーケンスを生成する前に、前記特定の確率を計算して、前記Nビット暗号鍵の前記現在のインスタンスに対する前記Nビット暗号鍵の前記新しいインスタンスの期待されるエントロピーが、Nより小さい所定の閾値Eよりも小さくならないようにするよう構成された請求項5に記載のシステム。
The processor is configured to generate each bit in the random N-bit update sequence with a particular probability of having the particular binary value.
The processor further calculates the particular probability before generating the random N-bit update sequence to expect the new instance of the N-bit encryption key relative to the current instance of the N-bit encryption key. The system according to claim 5, wherein the entropy is not less than a predetermined threshold E smaller than N.
前記特定の確率が、0.5よりも大きい請求項6に記載のシステム。 The system according to claim 6, wherein the specific probability is greater than 0.5. プログラムされていないセルが特定の二進値を有する不揮発性メモリに保存するためのNビット暗号鍵の新しいインスタンスを生成する方法であって、
前記方法が、第1ISP、プロセッサを有する第2ISP及び前記不揮発性メモリを有するIoTデバイスを含むシステムを適用し、
前記方法が、
前記プロセッサが、前記IoTデバイスが前記第1ISPのサービスを受けているが、これから前記第2ISPのサービスを受ける予定である場合に、前記第2ISPが第1ISPから前記Nビット暗号鍵の現在のインスタンスをリクエストすることと、
前記プロセッサが、ランダムNビット更新シーケンスを生成することと、
前記プロセッサが、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異なる前記Nビット暗号鍵の現在のインスタンス内の各ビットをネゲートするが、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異ならない前記Nビット暗号鍵の現在のインスタンス内の各ビットまたは前記特定の二進値を有さない前記Nビット暗号鍵の前記現在のインスタンス内のいかなるビットもネゲートしないことによって、前記Nビット暗号鍵の前記新しいインスタンスを生成することと、
を含む方法。
A method in which an unprogrammed cell creates a new instance of an N-bit cryptographic key for storage in non-volatile memory with a particular binary value.
The method applies a system comprising a first ISP, a second ISP with a processor and an IoT device with the non-volatile memory.
The above method
When the processor receives the service of the first ISP, but is planning to receive the service of the second ISP, the second ISP obtains the current instance of the N-bit encryption key from the first ISP. To request and
That the processor generates a random N-bit update sequence,
The processor negates each bit in the current instance of the N-bit encryption key that has the particular binary value and is different from the correspondingly arranged bits in the random N-bit update sequence. Each bit in the current instance of the N-bit encryption key having the particular binary value and not different from the correspondingly arranged bits in the random N-bit update sequence or the particular binary value. Creating the new instance of the N-bit encryption key by not negating any bits in the current instance of the N-bit encryption key that it does not have.
How to include.
前記ネゲートすることが、前記Nビット暗号鍵の前記現在のインスタンスと前記ランダムNビット更新シーケンスの間でビット毎のAND演算を行うことを含む請求項8に記載の方法。 The method of claim 8, wherein negating comprises performing a bit-by-bit AND operation between the current instance of the N-bit encryption key and the random N-bit update sequence. 前記ランダムNビット更新シーケンスを生成することが、0.5よりも大きい前記特定の二進値を有する確率で前記ランダムNビット更新シーケンス内の各ビットを生成することを含む請求項8に記載の方法。 8. The eighth aspect of claim 8, wherein generating the random N-bit update sequence includes generating each bit in the random N-bit update sequence with a probability of having the particular binary value greater than 0.5. Method. 前記ランダムNビット更新シーケンスを生成する前に、
前記プロセッサが、前記特定の二進値を有する前記Nビット暗号鍵の前記現在のインスタンス内のビットの数N1を識別することと、
前記プロセッサが、qに関する−(qlog2q+(1−q)log2(1−q))=E/N1を解き、Eが予め定義されたエントロピー閾値であることと、
前記プロセッサが、qから前記確率を得ることと、
をさらに含む請求項10に記載の方法。
Before generating the random N-bit update sequence,
The processor identifies the number N1 of bits in the current instance of the N-bit encryption key having the particular binary value.
The processor solves − (qlog 2 q + (1-q) log 2 (1-q)) = E / N1 with respect to q, and E is a predefined entropy threshold.
When the processor obtains the probability from q,
10. The method of claim 10.
qから前記確率を得ることが、前記確率をqに設定することによって、qから前記確率を得ることを含む請求項11に記載の方法。 The method of claim 11, wherein obtaining the probability from q comprises obtaining the probability from q by setting the probability to q. qから前記確率を得ることが、前記確率をqよりも大きくない最大の値n/2mに設定することによって、qから前記確率を得ることを含み、mが所定の整数であり、nが可変整数である請求項11に記載の方法。 Obtaining the probability from q includes obtaining the probability from q by setting the probability to a maximum value n / 2 m not greater than q, where m is a predetermined integer and n is. The method according to claim 11, which is a variable integer. 前記確率が、所定の整数mおよび可変整数nに対し、n/2mに等しく、
前記ランダムNビット更新シーケンスを生成することが、
前記プロセッサが、Eビットを有するバイアスしていないランダムシードをそれぞれ前記ランダムNビット更新シーケンスの前記ビットに対応するN個のmビットシーケンスに拡張することと、
前記プロセッサが、前記ランダムNビット更新シーケンス内の各ビットに対し、nよりも小さい前記対応するmビットシーケンスの値に応じて、前記ビットを前記特定の二進値に設定することと、
を含む請求項10に記載の方法。
The probability is equal to n / 2 m for a given integer m and a variable integer n.
Generating the random N-bit update sequence can
The processor extends an unbiased random seed with E bits to N m-bit sequences corresponding to the bits of the random N-bit update sequence, respectively.
The processor sets the bits to the particular binary value for each bit in the random N-bit update sequence, depending on the value of the corresponding m-bit sequence less than n.
10. The method of claim 10.
プログラムされていないセルが特定の二進値を有する不揮発性メモリにおいて、Nビット暗号鍵の複数の更新を容易にする方法であって、
前記方法が、第1ISP、プロセッサを有する第2ISP及び前記不揮発性メモリを有するIoTデバイスを含むシステムを適用し、
前記方法が、
前記プロセッサが、前記IoTデバイスが前記第1ISPのサービスを受けているが、これから前記第2ISPのサービスを受ける予定である場合に、前記第2ISPが第1ISPから前記Nビット暗号鍵の現在のインスタンスをリクエストすることと、
前記プロセッサが、ランダムNビット更新シーケンスを生成することと、
前記プロセッサが、前記更新に対して、異なる各確率{qi}(i=1…U)を計算し、前記更新のうちの各第i更新に対し、前記Nビット暗号鍵の現在のインスタンスに対する前記Nビット暗号鍵の新しいインスタンスの期待されるエントロピーがNよりも小さい所定の閾値Eよりも小さくならないようにすることと
前記プロセッサが、前記確率を計算した後に、前記更新を行う時に使用するための前記確率を提供することと、を含み、
そのなか、前記更新はさらに、
前記Nビット暗号鍵の前記新しいインスタンスが、前記特定の二進値を有し、且つランダムNビット更新シーケンス内の対応して配置されたビットと異なる前記Nビット暗号鍵の前記現在のインスタンス内の各ビットをネゲートするが、前記特定の二進値を有し、且つ前記ランダムNビット更新シーケンス内の対応して配置されたビットと異ならない前記Nビット暗号鍵の現在のインスタンス内の各ビットまたは前記特定の二進値を有さない前記Nビット暗号鍵の前記現在のインスタンス内のビットもネゲートしないことによって生成されることと、
前記ランダムNビット更新シーケンス内の各ビットが、前記特定の二進値を有する確率qiで生成されることと、
を条件とすることと
含む方法。

A method of facilitating multiple updates of an N-bit cryptographic key in non-volatile memory in which an unprogrammed cell has a particular binary value.
The method applies a system comprising a first ISP, a second ISP with a processor and an IoT device with the non-volatile memory.
The above method
When the processor receives the service of the first ISP, but is planning to receive the service of the second ISP, the second ISP obtains the current instance of the N-bit encryption key from the first ISP. To request and
That the processor generates a random N-bit update sequence,
The processor calculates each different probability {q i } (i = 1 ... U) for the update, and for each i-update of the updates, for the current instance of the N-bit encryption key. and said N-bit expected entropy of a new instance of the encryption key is to not less than a small predetermined threshold E than N,
Including that the processor provides the probabilities for use when making the updates after calculating the probabilities.
Among them, the above update is further
In the current instance of the N-bit encryption key, the new instance of the N-bit encryption key has the particular binary value and is different from the correspondingly arranged bits in the random N-bit update sequence. Each bit in the current instance of the N-bit encryption key that negates each bit, but has the particular binary value and is not different from the correspondingly arranged bits in the random N-bit update sequence. It is generated by not negating each bit in the current instance of the N-bit encryption key that does not have that particular binary value.
Each bit in the random N-bit update sequence is generated with the probability q i having the particular binary value.
And be subject to,
How to include.

JP2019042125A 2019-03-08 2019-03-08 Updating the encryption key stored in non-volatile memory Active JP6874042B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019042125A JP6874042B2 (en) 2019-03-08 2019-03-08 Updating the encryption key stored in non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019042125A JP6874042B2 (en) 2019-03-08 2019-03-08 Updating the encryption key stored in non-volatile memory

Publications (2)

Publication Number Publication Date
JP2020145629A JP2020145629A (en) 2020-09-10
JP6874042B2 true JP6874042B2 (en) 2021-05-19

Family

ID=72354639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019042125A Active JP6874042B2 (en) 2019-03-08 2019-03-08 Updating the encryption key stored in non-volatile memory

Country Status (1)

Country Link
JP (1) JP6874042B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901549B2 (en) * 2001-12-14 2005-05-31 Matrix Semiconductor, Inc. Method for altering a word stored in a write-once memory device
JP2004086085A (en) * 2002-08-29 2004-03-18 Toshiba Corp Encryption key creation apparatus
US8429375B1 (en) * 2006-06-16 2013-04-23 Synopsys, Inc. Memory management unit (MMU) to make only one time programmable (OTP) memory appear multiple times programmable (MTP)
JP6107191B2 (en) * 2013-02-08 2017-04-05 凸版印刷株式会社 IC card
JP6162905B2 (en) * 2014-09-19 2017-07-12 株式会社東芝 Management device, measuring device, service providing device, program, transmission system, and transmission method
EP3007094B1 (en) * 2014-10-08 2021-05-05 Nintendo Co., Ltd. Boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and program
TW201633207A (en) * 2014-12-12 2016-09-16 納格維遜股份有限公司 Device keys protection
JP2017118312A (en) * 2015-12-24 2017-06-29 日本電気株式会社 Radio communication system, server, terminal, radio communication method, and program

Also Published As

Publication number Publication date
JP2020145629A (en) 2020-09-10

Similar Documents

Publication Publication Date Title
CN109510703B (en) Data encryption and decryption method and device
EP3242437A1 (en) Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
EP3451218B1 (en) Post-manufacture generation of device certificate and private key for public key infrastructure
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
US20140344572A1 (en) Secure cloud storage and synchronization systems and methods
US11973867B2 (en) Encrypted search
CN105007157B (en) Generating and managing multiple base keys based on device-generated keys
KR20150102827A (en) USER DEVICE PERFORMING PASSWROD BASED AUTHENTICATION AND PASSWORD Registration AND AUTHENTICATION METHOD THEREOF
EP3698515A1 (en) Configurable device for lattice-based cryptography
CN113239046A (en) Data query method, system, computer device and storage medium
BR112020007373A2 (en) first electronic network node configured for a cryptographic operation, electronic cryptographic operation method for a first electronic network node and computer readable media
CN111294203A (en) Information transmission method
TW201915748A (en) Semiconductor device
CN112100144A (en) Block chain file sharing method and device, storage medium and electronic equipment
US10951403B2 (en) Updating cryptographic keys stored in non-volatile memory
JP6874042B2 (en) Updating the encryption key stored in non-volatile memory
US20230396432A1 (en) Methods and systems for updatable encryption
WO2018213875A1 (en) Asymmetric cryptography and authentication
US11818249B2 (en) Nodes and methods of operating the same
CN109923829A (en) Reach an agreement to secret value
CN109460182A (en) A kind of storage of data, read method and device
EP3681100B1 (en) Updating cryptographic keys stored in non-volatile memory
KR102313584B1 (en) Updating cryptographic keys stored in non-volatile memory
CN112187462B (en) Data processing method and device, electronic equipment and computer readable medium
US20240080204A1 (en) A lightweight fault countermeasure for stateful hash-based cryptography

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210421

R150 Certificate of patent or registration of utility model

Ref document number: 6874042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250