JP2016005273A - メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム - Google Patents

メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム Download PDF

Info

Publication number
JP2016005273A
JP2016005273A JP2015113668A JP2015113668A JP2016005273A JP 2016005273 A JP2016005273 A JP 2016005273A JP 2015113668 A JP2015113668 A JP 2015113668A JP 2015113668 A JP2015113668 A JP 2015113668A JP 2016005273 A JP2016005273 A JP 2016005273A
Authority
JP
Japan
Prior art keywords
key
encryption
bit length
message
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015113668A
Other languages
English (en)
Other versions
JP6499519B2 (ja
Inventor
ペルティエ,エルベ
Pelletier Herve
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.)
Nagravision SARL
Original Assignee
Nagravision SA
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 Nagravision SA filed Critical Nagravision SA
Publication of JP2016005273A publication Critical patent/JP2016005273A/ja
Application granted granted Critical
Publication of JP6499519B2 publication Critical patent/JP6499519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ディファレンシャル・フォールト・アナリシスにより秘密鍵を推測するアタックを阻止する、高いセキュリティレベルの暗号方式を提供する。【解決手段】秘密鍵Kを共有する2つの装置D1、D2の間でメッセージMを安全に交換するための方式は、各装置で、乱数R1、R2を発生し他の装置に送る段階と、秘密鍵及び各乱数に基づいて第1の演算によって第1の鍵K1を決定する段階と、第1の鍵及び前記乱数に基づいて第2の鍵K2を決定する段階と、送信装置D1で、メッセージM及び前記乱数に基づいて疑似メッセージM?を決定する段階と、疑似メッセージM?及び第2の鍵K2に基づいて暗号Cを算出して送信する段階と、受信装置D2で、第2の鍵によって暗号Cを解読する段階と、メッセージMを疑似メッセージM?から検索する段階と、を含む。【選択図】図2

Description

本発明は、相互に接続された装置間のデータ転送の分野に関するものであり、これらの装置の間で交換する必要があるいかなる種類のメッセージも安全に送受信するための暗号演算を含む。
いかなる種類の電子装置も接続する安全対策が施されていないチャネル又はネットワークを介して送信されるデータを暗号化して、解読するための暗号アルゴリズム、例えば、データ暗号化規格(DES)又は先進暗号化標準(AES)を含む多くの周知の方式がある。そのために、この種の装置は、それらを秘密の解読鍵なしでは理解できなくするようにメッセージをスクランブルするために暗号演算を実行する暗号構成要素を備える。これらの構成要素は、通常、CMOS技術(相補型金属酸化膜半導体技術)により実現される。この種の構成要素において実施される暗号アルゴリズムは、通常、数学的観点から十分に安全である。また一方、この種のアルゴリズムがこのアルゴリズムの論理的機能を生成するために相互接続したトランジスタで作られた集積回路によって物理的に実施されるという事実は、観察可能な物理量を生じる。この種の量の観察は、例えば、集積回路の電力消費をモニターするためにオシロスコープを用いて行うことができる。突然の電力消費の変動は、オシロスコープのスクリーン上にピークとして現れる。例えば、各ピークは、通常は、暗号化する入力メッセージが「ラウンド」と呼ばれている一連の演算のグループに適用されるDES及びAESのようなアルゴリズムで、いわゆる「ラウンド」の始まりを識別できる。この種のアルゴリズムによって、各ラウンドは、以前のラウンドから生じる下位鍵の制御の下で配置される。従って、この種のアルゴリズムは、アルゴリズムの中で初期鍵として使用する秘密鍵から導出される一連の下位鍵を含む。この初期秘密鍵が悪意のある人に知られている場合には、後者は、対称形の暗号化方式に従って同じ秘密鍵を有する同じアルゴリズムを使用する対応する装置と交換されるいかなるメッセージも解読して、適切に暗号化することが可能になる。
初期秘密鍵を回復するために暗号回路をアタックするいくつかの方法がある。いくつかのアタックが、回路の電力消費、電磁気放射、又は処理時間を観察することを目的とするので、それらは非侵襲性アタックとして公知である。他のアタックが、回路、特に時間の短い経過の間にその挙動を変更することを含むので、それらは侵襲性アタックとして参照される。この最後のカテゴリにおいて、ディファレンシャル・フォールト・アナリシス(DFA)はいかなる暗号化/解読システムに対しても重大な脅威であることが分かる。ディファレンシャル・フォールト・アナリシスは、2つの異なる状態の下で暗号回路により提供される出力の観察及び比較に基づく。これらの状態のうちの一方は回路の通常動作に対応するが、他方は、0から1又はその逆へ切り替えることによって、1つあるいはいくつかのビットを変えることを目的とするフォールトを自発的に注入することによって得られる。この種の物理的なビット反転は、例えば、集積回路の表面をレーザービームで掃引することによって実行できる。暗号回路の中に高感度領域の位置を決めることによって、レーザーショットが、非常に良好な空間的且つ時間的な解像度で作用すると共に、コンピュータの制御の下で実施されることができるので、それらは正確で簡単な方法で回路の動作を乱すことを可能にする。いくつかのフォールトが暗号アルゴリズムの処理の間に注入されるときに、誤った出力の分析により、アルゴリズムの中のフォールト伝播を観察することによって秘密鍵を推測することが可能である。
従って、いかなるディファレンシャル・フォールト・アナリシスによっても秘密鍵を推測するアタッカーを阻止するか、又は更に一般的にいえばいかなる種類の分析によっても得られる情報によってこの種の鍵を推測することが可能である効果的な解決策を提供する必要がある。
本発明の目的は、上述した欠点を少なくとも部分的に解決することである。そのために、本発明は、特に複雑である暗号処理の実施を含む、少なくとも2つの装置の間でデータを安全に交換する暗号方式及び装置を提案する。本発明によれば、対称鍵と同じシステムの装置の全てにより共有される秘密鍵は、交換されるメッセージの暗号/解読鍵として決して直接使われない。実際、同じシステムの装置の間で交換されるメッセージを暗号化/解読するために用いる鍵は、特に、複数の乱数に常に依存する。より詳しくは、各装置は、交換されるメッセージを暗号化/解読するために用いる鍵を決定するために考慮される少なくとも1つの乱数を発生する。従って、システムが3つの装置を備える場合、上述した鍵は少なくとも3つの乱数に依存する。
更に、追加鍵レベルが、交換されるメッセージを暗号化/解読する前に決定される。従って、本方式は、メッセージを暗号化/解読するための3つの鍵レベルを含む。加えて、交換するメッセージは、送る必要がある暗号を発生するためにアルゴリズムの入力データとして決して直接使われないが、それは、上述した暗号アルゴリズムによって次に暗号化される疑似メッセージを最初に生成するために、乱数の各々と共に常に使用される。
好ましくは、メッセージを交換する必要があるたびに、乱数は更新される。従って、本発明は、いかなる悪意のある人も、ディファレンシャル・フォールト・アナリシスを含むいかなるアタックによっても共有秘密鍵を推測することを阻止する。更に、疑似メッセージ及び暗号化のために使用する導出鍵の両方により提供される複雑さのため、本発明の暗号方式は特に高いレベルのセキュリティに達する。
本発明の目的及び利点は、請求項1の主題と一致する暗号方式のおかげで、そして請求項11の主題と一致する装置のおかげで達成される。
他の利点及び実施形態は以下の詳細な説明に示される。
本発明は添付図によってより良く理解される。
一実施形態による本発明のシステムの概要を示す。 本発明の暗号方式の例示的実施形態を示すフローチャートである。 図2のフローチャートの抜粋の変形例を示す。 図1に示すシステムの装置のうちの1つの概略図である。
図1を参照すると、後者は、方式及び本発明の複数の装置を実現できるシステム実施形態の概要を図式的に示す。この図に示す通信システムは、何らかの方法によって相互に接続される3つの装置D1、D2、D3を示す。装置D1、D2、D3などの数が制限されず、そしてこの図に示すシステムが、接続又は装置数の両方に関して、数ある可能性の中の1つの実施例とみなされることに留意する必要がある。この種のシステムは、インターネットのようなネットワークを介してか、又はその他の種類の接続(有線又は無線)、特に安全でない接続によって相互に接続される、2つの装置だけを含むことができる。
各装置D1、D2、D3は、メッセージMを少なくとも1つの他の装置と、好ましくはシステムのその他の装置と交換できる。これらのメッセージMが安全に交換されるので、それらは、南京錠で各々識別されたエンベロープによってこの図に示された。安全なメッセージMを暗号化又は解読するために、各装置D1、D2、D3は、少なくとも3つの暗号鍵K、K1、K2を扱わなければならない。これらの鍵のうちの1つは、システムの装置D1、D2、D3の全てに共通の共有秘密鍵Kである。この秘密鍵Kは、装置D1、D2、D3又はその関連したチップセットの製造の間に、あるいはその後のそれらの個人化段階の間に、あるいは初期設定段階の間に実現することができる。
この図に図式的に示すように、各装置は、R1、R2、R3と表示された他のデータを送受信する。この種のデータは乱数に関連する。各装置(例えば、D1)は、他の装置(D2、D3)に送られる1つの乱数(R1)を発生して、他の装置(D2、D3)の各々によって発生する乱数(R2、R3)を受信する。図1により提供される概要に基づいて、少なくとも2つの装置の間でメッセージMを安全に交換する方式は、図2を参照して詳細に説明される。
簡潔に説明するために、図2は、参照番号10、20によってそれぞれ識別される2つの装置D1及びD2だけから成るシステムに関連すると共に、本発明の方式を段階的に開示する。この図に、これらの装置の各々により実行される段階は、いくつかの欄に示されて、上から下まで互いに続く。装置の各々によって両方とも実行される共通の段階は、中央の欄に表示される。これらの共通の段階が個々の方法で各装置により実行される点に留意する必要がある。メッセージを交換するために各関連する装置内で同時に共通の段階を処理する必要性がない。
既に述べたように、各装置D1、D2は、メッセージを相互に交換することを必要とするすべての装置に共通の共有秘密鍵Kを備える。この秘密鍵Kは図2のボックス31に示される。この実施形態において、装置D1はメッセージMを装置D2に送ることを目的とする。従って、第1の装置D1は送信装置に相当し、そして第2の装置D2は受信装置に相当する。1つの受信装置だけしかこの図に示されないけれども、同じメッセージMが送信装置から複数の受信装置へ送られることが可能であることを理解すべきである。ボックス11で、送信装置D1は、送らなければならないメッセージMを作成又は検索しなければならない。この種のメッセージMはいかなる種類のデータにも関連できるが、通常、それは極秘データに関連し、その性状は、問題の通信システムに関係する装置のタイプに主に依存する。
各装置D1、D2は、乱数を他の装置へ送る前に、特にシステムが3つ以上の装置から成る場合に、複数の選択された装置へ送る前に、又は他の装置の全てへ送る前に、乱数を発生する。この段階は、ボックス12、21で示されて、そこでは送信装置D1は第1の乱数R1を発生し、それは受信装置D2に送信されて、後者は送信装置D1に送信される第2の乱数R2を発生する。例えば、前の段階の間にこれらの装置により識別された特定の信号によって、これらの装置が次のメッセージを交換することを前もって同意しなかった場合であっても、乱数の各装置との相互交換を実行することは達成できる。この場合、乱数R1(すなわち、特定の識別子によって、又は特定のフォーマットによって、このように識別できるデータ)を受信するという単なる事実が、メッセージMを送信装置から受信しなければならないことを知らせるトリガー信号であると受信装置により認識されることができると予期できる。従って、各装置は、そのうちに本方式の必要な段階を実行することが完全に可能になる。
更に、システムが3つ以上の装置を含む場合には、図1の実施例に示すように、必要に応じて、受信装置で送信装置を識別する手段を更に提供できる。通信が、例えば現行セッションの間に、送信装置と受信装置の間にまだ確立されていない場合、可能な方法は、送信装置のアドレスを識別することか又は送信装置の識別子(ID)を受信装置の方へ送信することであり得る。これは、例えば、乱数R1に、送信装置D1に帰属するID番号を追加することによって、又はこの種のIDをその他のデータに含むことによって達成できる。
ボックス33で、各装置D1、D2は、オペランドとして共有秘密鍵K及び各乱数R1、R2の両方を使用する第1の演算OP1を算出することによって、第1の鍵K1を決定する。図2により提供される具体例において、この第1の演算OP1は、他の次の演算と同様に、非制限的な実施例として、排他的論理和演算に関連する。好ましい実施形態に従って、そしてこのボックス33に示すように、第1の演算OP1の結果は、第1の鍵K1として直接使われる。
ボックス35で、各装置D1、D2は、オペランドとして少なくとも各乱数R1、R2を使用する第2の演算OP2を続いて算出する。次に、この第2の演算OP2の結果に基づいて、各装置D1、D2は第2の鍵K2を更に決定する。ボックス35の実施例に従って、これは、暗号鍵として第1の鍵K1を使用する、A1と表示された第1のアルゴリズムを用いて第2の演算OP2の結果を暗号化することにより実行される。従って、第2の演算、又は直接その結果は、必要な第1の暗号鍵K1と共に第1のアルゴリズムA1に入力される。応答して、この第1のアルゴリズムは、出力として第2の暗号鍵K2を提供する。
ボックス14で、送信装置D1として機能する装置は、オペランドとしてメッセージM及び各乱数R1、R2の両方を使用する第3の演算OP3を算出する。これにより、いわゆる疑似メッセージM´がメッセージMに基づいていると想定すれば、送信装置D1は疑似メッセージM´を決定するが、後者がまだ暗号化されていないけれども、それは最初のメッセージMと異なるように見える。
ボックス16で、送信装置D1は疑似メッセージM´の暗号化から生じる暗号Cを算出する。このために、それは暗号鍵として、第2の鍵K2と共に、第2のアルゴリズムA2の入力として疑似メッセージM´を使用する。
ボックス18で、暗号Cは、送信装置によって、受信装置として機能する少なくとも1つの他の装置に送信される。
受信装置D2が暗号Cを得ると、ボックス23に示すように、同じアルゴリズムA2及び同じ鍵K2を用いてそれを解読することが可能である。このために、第2のアルゴリズムA2は、反転可能である双方向関数であるか、又はそれを含む(図2の表記A2−1参照)。もちろん、同じアルゴリズムは、送信装置及び受信装置の両方によって使われなければならない。好ましい実施形態によれば、第2の鍵K2は、第2のアルゴリズムの直接的又は間接的な解読鍵として使われる。間接的な鍵としての第2の鍵K2の使用は、図3を参照して説明される。いずれにせよ、暗号Cの解読によって、第2のアルゴリズムA2の結果として疑似メッセージM´を検索することが可能である。
最後に、ボックス25で、各受信装置D2は、第3の演算OP3を反転させることによって疑似メッセージM´からその最初の平文形式でメッセージMを検索する(図2の表記OP3−1参照)。
第1のアルゴリズムA1が第2のアルゴリズムA2と同一であるか又は異なることがあり得る点に留意する必要がある。しかしながら、第2のアルゴリズムに反して、第1のアルゴリズムは、第2の鍵K2を提供する一方向関数を使用できる(又はそれはそれ自体この種の関数でもよい)。従って、この種の第2の鍵K2は、ハッシュ関数のダイジェストであり得るか、又は、例えば、この種の関数から導出されることがあり得る。
この方式で使用するアルゴリズム(A1、A2)がどうであろうとも、それらはメッセージMを交換することを必要とするすべての装置に対して同じでなければならない。これらのアルゴリズムは、例えば、装置の製造の間、それらの個人化の間、又は初期設定段階の間にいろいろな方法によって各装置の中で実施できる。
ここで図3を参照すると、この図は、図2に示す方式の最終段階を示し、そこにおいてボックス37は、前のフローチャートの変形例として追加段階を表す。この変形は、第2の鍵K2が第2のアルゴリズムA2の中の間接的な暗号/解読鍵として使われるケースに対応する。このために、第3の鍵K3は、オペランドとして第2の鍵K2及び共有秘密鍵Kの両方を使用する第4の演算OP4によって、各装置D1、D2で決定される。ボックス37に示すように、この第4の演算OP4の結果は第3の暗号鍵K3を提供する。
アルゴリズムに関して類似の方法で、演算OP1、OP2、OP3、OP4の全て、又はそれらの一部は、装置の製造の間、それらの個人化の間、又は初期設定段階の間に各装置の中で実施できる。
送信装置D1に関しては、それが第2の鍵K2(ボックス35の段階によって決定される)を必要として、この追加段階の結果が第2のアルゴリズムA2とともに(ボックス16で示される段階の間に)使われるので、ボックス37に示す段階は、ボックス35と16の段階の間に実行される。受信装置D2に関しては、この追加段階は、同じ理由からボックス35と23の段階の間に実行される。
図3に示すように、第2のアルゴリズムA2の中(すなわち、ボックス16及び23の段階の中)の第2の鍵K2の使用は、第3の鍵K3により置換された。これは第2の鍵K2がこれらの段階で間接的な方法で使われるという事実から生じる。この理由により、これらの2つのボックスの参照番号は、図3で16´及び23´にそれぞれ改められた。
図2又は図3に示す特定の段階が異なる順序に置かれることができる点に留意する必要がある。例えば、ボックス14の段階は、(ボックス12、21での)乱数R1、R2の交換と(ボックス16、16´での)疑似メッセージM´の暗号化の間のどこでも実行できる。同じ原理は、前に説明したように、ボックス37の段階に適用される。
一実施形態によれば、演算OP1、OP2、OP3、OP4の少なくともいずれかの少なくとも一部は論理演算(ブール代数)を含む。より詳しくは、この論理演算は排他的論理和演算(図2及び3の記号表記?参照)である。他の論理関数(すなわち、基本的な及び/又は導出された演算)が、排他的論理和演算子の代わりに、又は排他的論理和演算子とともに用いることができる点に留意する必要がある。
別の実施形態によれば、演算OP1、OP2、OP3、OP4の少なくともいずれかの少なくとも一部は、累乗にされた数を含む。この場合、関連する演算のオペランドのいずれも、この演算の他のオペランドから選択されるこの数の累指数として使われる。
論理演算を実行するために、関連のあるオペランドは同じ桁数を有しなければならない。言い換えれば、演算が2項演算を指すので、オペランドは同じビット長を有しなければならない。従って、例えばボックス33において実行される演算のタイプ(OP1)に応じて、乱数R1、R2のビット長及び共有秘密鍵Kのビット長の両方は同じでなければならない。ボックス35の実施例で示す第2の演算OP2に関して、乱数R1、R2は同じビット長を有しなければならない。同じ原理は、一方では、乱数R1、R2及びメッセージMの両方に、他方では、暗号鍵K2、Kに関して第3及び第4の演算に適用される。
この理由により、演算OP1、OP2、OP3、OP4のいずれか1つのオペランドがいろいろなビット長を有する場合、本方式は、これらのオペランドの各々に対して同じビット長を復元することを目的とする段階を更に含むことができる。このために、同じビット長を復元することは、いくつかの異なる方法によって達成できる。
一実施形態によれば、それは、そのビット長が関連した演算の他のオペランドのいずれかのビット長に等しくなるまで、最小ビット長を有するオペランドを補充することを目的とする「平衡段階」によって達成できる。次に、関連した演算のすべてのオペランドが同じビット長を有するまで、この平衡段階を繰り返すことができる。オペランドを補充することを目的とする段階は、一連のビット0によって、一連のビット1によって、これらの2つのビット0及び1の一連の特定の組合せによっても達成できる。もちろん、選択されたビットサクセッションは、例えば、装置又はそれらのチップセットの個人化の間に、前述のどんな方法によっても、送信装置及び受信装置の両方で周知でなければならない。
変形において、この平衡段階は、他のオペランド(すなわち、好ましくは、最も長いビット長を有するオペランド)のビット長が、補充されたオペランドのビット長の倍数に等しくなるまで、最小ビット長を有するオペランドを補充することによって達成できる。
別の実施形態によれば、いわゆる平衡段階は、他のオペランドと同じビット長に達するまで、最小ビット長を有するオペランドをそれ自体と連結することによって最初に実行できる。この方法は、最長ビット長を有するオペランドが他のオペランド(すなわち、連結されたオペランド)の倍数であることを示す。1つのオペランドが正確に他のオペランドの倍数でない場合には、連結されたオペランドのビット長より小さい残余値だけ減少したビット長に達するまで、上述した連結を実行できる。この残余ビット長はユークリッド除算の剰余に対応し、そこでは最長ビット長を有するオペランドが被除数であり、そして連結するオペランドが除数である。次に、前述したように、残余ビット長(すなわち、残余値)はいかなる一連のビットによっても補充できる。
特に第3の演算OP3に適用されるこれらの実施形態のうちの1つの実施例として、同じビット長を復元することは、メッセージMのそれと同じビット長に達するまで、前記乱数をそれ自体と連結することによって、前記乱数R1、R2の各々に対して達成できる。この実施形態では、乱数R1、R2は同じビット長を有し、そしてメッセージMのビット長は乱数のうちの1つのそれの倍数である。この後の条件が満たされない場合、残余ビット長は既に説明されたように補充できる。
変形において、第3の演算OP3になお関連すると共に、同じビット長を復元することは、そのビット長が乱数R1、R2のいずれかのビット長の倍数に等しくなるまで、メッセージMを補充することによって、そして本暗号方式の段階により処理される新規なメッセージ(M)としてこれらのブロックの各々を使用する前に、補充されたメッセージMを乱数のビット長と同じビット長を有するブロックにスライスすることによって最初に達成できる。
別の実施形態によれば、簡略化のために、本方式で使用する暗号鍵、好ましくは、少なくとも第2の鍵K2及び共有秘密鍵Kは、同じビット長を有する。同じ理由から、乱数R1、R2のすべてはまた同じビット長を有する。
有利なことに、各装置で乱数を発生することによって、そして暗号Cを算出するために用いる暗号鍵K2、K3を導出するために、且つ暗号化する疑似メッセージM´を決定するために、発生された乱数の全てを用いることによって、本発明の主題は、交換されるメッセージMに適用されるセキュリティを著しく向上させる。
更に有利なことに、乱数のうちの1つが悪意のある人により推測される場合であっても、後者は、疑似メッセージM´を暗号化するために用いられた鍵を導き出すことが不可能である。更に、その鍵がこの種の人により発見されることができる場合であっても、最初のメッセージMを回復するために、この種の人がすべての乱数を持っていることがまず必要であり、そして彼が、本方式で行われる第3の演算(OP3)について知っていなければならないということを考えれば、彼は最初のメッセージMを疑似メッセージM´から検索することができない。これはまた、この演算において使用するすべての演算子を知っていること、そして更に、この演算の性質に応じて、各演算子の順序及びこの演算の中で使用する各オペランドを知っていることが必要である。
更に有利なことに、共有秘密鍵Kは、本方式で実施される暗号アルゴリズムA1、A2のいずれか1つにおいて暗号鍵として決して直接使われない。対照的に、共有秘密鍵Kは数値演算(OP1、OP4)の中で使われるだけであり、その結果はこれらのアルゴリズムへの鍵としてその後使われる。従って、共有秘密鍵Kは、暗号アルゴリズムの中で、第1のプランでは決して直接露出しない。
好ましくは、本方式の段階は、メッセージMを交換する必要があるたびに行われる。これは、方式のいかなる実施形態にも適用できる。従って、新規なメッセージを送る必要があるたびに、新しい乱数が各装置によって発生すると考えれば、各装置によって発生する乱数の使用は1回限りである。従って、共有秘密鍵Kは、メッセージMが交換されるたびに異なることが有利である。これは、メッセージを安全に交換する強力な方式、特にいかなるDFAアタックも阻止する方式を提供する。
最後に、メッセージMが、あらゆるタイプのデータ、特に極秘データ、例えば、パスワード、制御語、暗号鍵、又はその他の秘密情報を含むことができる点に留意する必要がある。
本発明はまた、上記の方式の実施形態のどれでも実施するのに適している装置又はシステムに関連する。
図4を参照すると、後者は、図1のシステムに示す装置10、20のうちの1つをより詳細に図式的に示す。この装置は、送信装置D1として、又は受信装置D2として、そして好ましく送信装置と受信装置の両方として偏りなく使用できる。このために、それは少なくとも以下を含むいくつかの構成要素から成る。
-データ交換(M´、R1、R2、...)のための、特にデータを少なくとも1つの他の装置と交換するための通信インタフェース1、
-共有秘密鍵Kを格納するための安全メモリ2、
-メッセージMを交換する必要があるとき、好ましくは、この種のメッセージを交換する必要があるたびに乱数R1を発生するための乱数発生器3、
-入力としてオペランド(例えば、R1、R2、K、M)を使用して演算(OP1、OP2、OP3,OP4)の少なくとも1つの結果を出力するための少なくとも1つの算出ユニット7、
-少なくとも1つの暗号鍵(K1、K2、K3)によってアルゴリズム(A1、A2)を実行する少なくとも1つの暗号ユニット8、及び
-上述の暗号方式の段階に従って前記の構成要素(1、2、3、7、8)を管理することを担当する中央処理ユニット5。
装置10、20は、極秘データを安全に交換しなければならないすべてのケースにおいて用いることができる。この種の装置は、電子回路(集積回路、好ましくはモノリシック回路)、例えば、別の装置に挿入されるのに適しているスマートカード又はチップセットという形をとることができる。後者は、セットトップボックス(有料テレビ分野の)、スマートフォン、又はその他の通信装置であり得る。変形において、この種のスマートカードは、スタンドアローンの装置として、例えばアクセスカードとして、制御端末と通信するためのバンクカード(クレジットカード又は支払いカード)として使用することもできる。
各演算OP1、OP2、OP3、OP4の算出は、いろいろな演算を実行するように構成される単一の算出ユニット7又は各々がこれらの演算のうちの1つの専用であるいくつかの算出ユニット7を用いて実行できる。同じ原理は、アルゴリズムA1、A2に関して暗号ユニット8に適用される。
本発明は図1に示すシステムにも関連する。この種のシステムは、上記の方式のいかなる実施形態も実施するために相互に接続される、少なくとも2つの暗号装置10、20を備える。このシステムの各装置10、20は、少なくとも、本発明の更なる内容として示された装置の詳細な説明の間に上記の構成要素を備える。また、システムの装置のいずれも、上述の関連した任意の機能のうちの少なくとも1つを含むことができる。
1 通信インタフェース
2 安全メモリ
3 乱数発生器
5 中央処理ユニット
7 算出ユニット
8 暗号ユニット
10 暗号装置
20 暗号装置
11 ボックス
12 ボックス
14 ボックス
16 ボックス
18 ボックス
21 ボックス
23 ボックス
25 ボックス
33 ボックス
35 ボックス
37 ボックス
A1 第1のアルゴリズム
A2 第2のアルゴリズム
C 暗号
D1 送信装置
D2 受信装置
D3 装置
K 暗号鍵
K1 第1の暗号鍵
K2 第2の暗号鍵
K3 第3の暗号鍵
M メッセージ
M’ 擬似メッセージ
OP1 第1の演算
OP2 第2の演算
OP3 第3の演算
OP4 第4の演算
R1 乱数
R2 乱数
R3 乱数

Claims (13)

  1. 少なくとも2つの装置(D1、D2)に共通の共有秘密鍵(K)を各々格納する前記装置の間でメッセージ(M)を安全に交換するための暗号方式であって、
    各装置で乱数(R1、R2)を発生する段階と、
    各装置によって前記発生した乱数(R1、R2)を他の装置に送信する段階と、
    各装置で、オペランドとして前記共有秘密鍵(K)及び各乱数(R1、R1)の両方を使用する第1の演算を算出することによって第1の鍵(K1)を決定する段階と、
    各装置で、暗号鍵として前記第1の鍵(K1)を用いて第1のアルゴリズムで第2の演算の結果を暗号化することによって第2の鍵(K2)を決定する段階であって、前記第2の演算は、少なくとも、オペランドとして各乱数(R1、R2)を使用する段階と、
    送信装置(D1)として機能する前記装置のうちの1つによってオペランドとして前記メッセージ(M)及び各乱数(R1、R2)の両方を使用する可逆的な第3の演算を算出することによって疑似メッセージ(M´)を決定する段階と、
    前記送信装置(D1)によって直接的又は間接的な暗号鍵として前記第2の鍵(K2)を用いた第2のアルゴリズムによって前記疑似メッセージ(M´)の暗号化から生じる暗号(C)を算出する段階と、
    前記送信装置(D1)から受信装置(D2)として機能する少なくとも1つの他の装置へ前記暗号(C)を送信する段階と、
    前記受信装置(D2)で前記暗号(C)を受信する段階と、
    前記疑似メッセージ(M´)を回復するために、前記第2のアルゴリズムの直接的又は間接的な解読鍵として前記第2の鍵(K2)を用いて前記受信装置(D2)で前記暗号(C)を解読する段階と、
    前記第3の演算を反転させることによって前記メッセージ(M)を前記疑似メッセージ(M´)から検索する段階と、
    を含む暗号方式。
  2. 前記第2のアルゴリズムの中で、間接的な暗号又は解読鍵としての前記第2の鍵(K2)の使用は、各装置で、オペランドとして前記第2の鍵(K2)及び前記共有秘密鍵(K)を使用して第4の演算により決定される第3の鍵(K3)で実行される請求項1に記載の暗号方式。
  3. 前記演算の少なくともいずれかの少なくとも一部は論理演算を含む請求項1又は2に記載の暗号方式。
  4. 前記論理演算は排他的論理和演算である請求項3に記載の暗号方式。
  5. 前記演算のいずれか1つのオペランドがいろいろなビット長を有する場合、前記オペランドの各々に対して同じビット長を復元する請求項1〜4のいずれか一項に記載の暗号方式。
  6. 同じビット長を復元することは、そのビット長が他のオペランドのいずれかのビット長に等しくなるまで、最小ビット長を有するオペランドを補充することを目的とする平衡段階によって、そしてすべての前記オペランド(又は補充されたオペランド)が同じビット長を有するまで、前記平衡段階を繰り返すことにより達成される請求項5に記載の暗号方式。
  7. 前記平衡段階は、他のオペランドと同じビット長に達するまで、又は連結されたオペランドのビット長より小さい残余値だけ減少したビット長に達するまで、最小ビット長を有する前記オペランドをそれ自体と連結することによって最初に実行される請求項6に記載の暗号方式。
  8. 前記平衡段階は前記第3の演算に適用されて、最小ビット長を有する前記オペランドは前記乱数(R1、R2)のいずれかであるが、前記他のオペランドは前記メッセージ(M)である請求項7に記載の暗号方式。
  9. 前記第1のアルゴリズムは一方向性関数を使用する請求項1〜8のいずれか1項に記載の暗号方式。
  10. 前記演算の少なくともいずれかの少なくとも一部は累乗にされた数を含み、前記オペランドのいずれも、他のオペランドから選択される前記数の累指数として使われる請求項1〜9のいずれか1項に記載の暗号方式。
  11. 請求項1〜10のいずれか1項に記載の前記暗号方式を実施するための暗号装置(10、20)であって、
    データ交換のための通信インタフェース(1)と、
    共有秘密鍵(K)を格納するための安全メモリ(2)と、
    乱数(R1、R2)を発生するための乱数発生器(3)と、
    入力としてオペランドを使用して演算の結果を出力する少なくとも1つの算出ユニット(7)と、
    少なくとも1つの暗号鍵(K1、K2、K3)によってアルゴリズムを実行するための少なくとも1つの暗号ユニット(8)と、
    前記暗号方式の前記段階に従って前記構成要素を管理することを担当する中央処理ユニット(5)と、
    を少なくとも含むいくつかの構成要素を備える暗号装置(10、20)。
  12. モノリシック回路で作られていることを特徴とする請求項11に記載の暗号装置(10、20)。
  13. 請求項1〜10のいずれか1項に記載の前記暗号方式を実施するために相互に接続された少なくとも2つの暗号装置(10、20)を備えるシステムであって、
    前記装置の各々は、
    データ交換のための通信インタフェース(1)と、
    共有秘密鍵(K)を格納するための安全メモリ(2)と、
    乱数(R1、R2)を発生するための乱数発生器(3)と、
    入力としてオペランドを使用して演算の結果を出力する少なくとも1つの算出ユニット(7)と、
    少なくとも1つの暗号鍵(K1、K2、K3)によってアルゴリズムを実行するための少なくとも1つの暗号ユニット(8)と、
    前記暗号方式の前記段階に従って前記構成要素を管理することを担当する中央処理ユニット(5)と、
    を少なくとも含むいくつかの構成要素を備えるシステム。
JP2015113668A 2014-06-12 2015-06-04 メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム Active JP6499519B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14172225.6 2014-06-12
EP14172225.6A EP2955871B1 (en) 2014-06-12 2014-06-12 Cryptographic method for securely exchanging messages and device and system for implementing this method

Publications (2)

Publication Number Publication Date
JP2016005273A true JP2016005273A (ja) 2016-01-12
JP6499519B2 JP6499519B2 (ja) 2019-04-10

Family

ID=50933051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015113668A Active JP6499519B2 (ja) 2014-06-12 2015-06-04 メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム

Country Status (11)

Country Link
US (1) US9648026B2 (ja)
EP (1) EP2955871B1 (ja)
JP (1) JP6499519B2 (ja)
KR (1) KR102383829B1 (ja)
CN (1) CN105207772B (ja)
AU (1) AU2015202994A1 (ja)
CA (1) CA2893067C (ja)
DK (1) DK2955871T3 (ja)
ES (1) ES2619613T3 (ja)
NZ (1) NZ708697A (ja)
SG (1) SG10201504276RA (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
SG10201609247YA (en) * 2016-11-04 2018-06-28 Huawei Int Pte Ltd System and method for configuring a wireless device for wireless network access
US9741671B1 (en) * 2016-11-10 2017-08-22 Nxp B.V. Semiconductor die with backside protection
EP3596651A4 (en) * 2017-02-27 2021-01-06 Cord3 Innovation Inc. SYMMETRICAL CRYPTOGRAPHIC PROCESS AND SYSTEM AND THEIR APPLICATIONS
US10742408B2 (en) 2017-02-27 2020-08-11 Cord3 Innovation Inc. Many-to-many symmetric cryptographic system and method
CN108199832B (zh) * 2017-12-28 2021-02-26 东华大学 一种cloc认证加密算法抵御差分故障攻击的检测方法
US11343672B2 (en) 2019-02-20 2022-05-24 Coretigo Ltd. Secure communication encryption and decryption mechanism in a wireless communication system
KR102080438B1 (ko) 2019-05-21 2020-02-21 오세정 마시는 모링가 수의 제조방법, 이에 의해 제조된 모링가 수, 그리고 모링가 원액 추출 장치, 그리고 모링가 원액 추출 장치
EP3761556A1 (en) * 2019-07-04 2021-01-06 Basf Se New method for pseudo-random number generation for information encryption
KR20210131114A (ko) 2020-04-23 2021-11-02 한국전자통신연구원 신경망 동기화에 기반한 비밀키 생성 방법 및 장치
US11924339B2 (en) 2021-04-15 2024-03-05 Real Random IP, LLC System and method for secure end-to-end electronic communication using a privately shared table of entropy

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
JPH08234658A (ja) * 1994-12-30 1996-09-13 At & T Corp 暗号作業鍵を生成する方法
JP2004527787A (ja) * 2001-02-08 2004-09-09 エステーミクロエレクトロニクス ソシエテ アノニム シークレットキーを使った暗号化計算の安全化法、及び、この暗号化法を使った部品
JP2005204125A (ja) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp 認証システム
JP2007189659A (ja) * 2005-12-15 2007-07-26 Toshiba Corp 暗号化装置、暗号化方法及び暗号化プログラム
US20070177720A1 (en) * 2004-03-11 2007-08-02 Oberthur Card Systems Sa Secure data processing method based particularly on a cryptographic algorithm

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
AUPO323496A0 (en) * 1996-10-25 1996-11-21 Monash University Digital message encryption and authentication
US7436966B2 (en) * 2002-08-21 2008-10-14 International Business Machines Corporation Secure approach to send data from one system to another
CN1745537B (zh) * 2002-12-03 2010-06-09 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
CN1323523C (zh) * 2003-04-02 2007-06-27 华为技术有限公司 一种在无线局域网中生成动态密钥的方法
CN100421372C (zh) * 2003-11-18 2008-09-24 华为技术有限公司 一种安全发送传输密钥的方法
KR100809393B1 (ko) * 2005-11-01 2008-03-05 한국전자통신연구원 Epon에서의 키 분배 방법
JP4613969B2 (ja) * 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
JP5845393B2 (ja) * 2011-04-28 2016-01-20 パナソニックIpマネジメント株式会社 暗号通信装置および暗号通信システム
WO2013014778A1 (ja) * 2011-07-27 2013-01-31 富士通株式会社 暗号化処理装置および認証方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
JPH08234658A (ja) * 1994-12-30 1996-09-13 At & T Corp 暗号作業鍵を生成する方法
JP2004527787A (ja) * 2001-02-08 2004-09-09 エステーミクロエレクトロニクス ソシエテ アノニム シークレットキーを使った暗号化計算の安全化法、及び、この暗号化法を使った部品
JP2005204125A (ja) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp 認証システム
US20070177720A1 (en) * 2004-03-11 2007-08-02 Oberthur Card Systems Sa Secure data processing method based particularly on a cryptographic algorithm
JP2007189659A (ja) * 2005-12-15 2007-07-26 Toshiba Corp 暗号化装置、暗号化方法及び暗号化プログラム

Also Published As

Publication number Publication date
CN105207772A (zh) 2015-12-30
JP6499519B2 (ja) 2019-04-10
DK2955871T3 (en) 2017-05-01
BR102015013579A2 (pt) 2018-05-29
NZ708697A (en) 2018-01-26
US20150365424A1 (en) 2015-12-17
CN105207772B (zh) 2018-08-10
EP2955871A1 (en) 2015-12-16
EP2955871B1 (en) 2017-01-11
CA2893067A1 (en) 2015-12-12
KR102383829B1 (ko) 2022-04-06
AU2015202994A1 (en) 2016-01-07
KR20150142623A (ko) 2015-12-22
CA2893067C (en) 2022-11-01
ES2619613T3 (es) 2017-06-26
US9648026B2 (en) 2017-05-09
SG10201504276RA (en) 2016-01-28

Similar Documents

Publication Publication Date Title
JP6499519B2 (ja) メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム
US11811923B2 (en) Single node multi-party encryption
US9973334B2 (en) Homomorphically-created symmetric key
US11233659B2 (en) Method of RSA signature or decryption protected using a homomorphic encryption
EP1440535B1 (en) Memory encrytion system and method
US9166800B2 (en) Authentication method, authentication system, and authentication chip using common key cryptography
US20140140504A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
US7779272B2 (en) Hardware cryptographic engine and encryption method
Suguna et al. A study on symmetric and asymmetric key encryption algorithms
JPWO2018134922A1 (ja) 準同型演算装置、暗号システム及び準同型演算プログラム
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
CN113645022A (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
CN107483387A (zh) 一种安全控制方法及装置
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Dodmane A new hybrid symmetric-key technique to enhance data security of textual information using random number generator
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
US20230125560A1 (en) Cryptographic Computer Machines with Novel Switching Devices
CN102474413A (zh) 私钥压缩
Almarimi et al. A new approach for data encryption using genetic algorithms
Verma et al. An innovative Enciphering Scheme based on Caesar Cipher
Samalkha Efficient Implementation of AES
Sohana et al. Agent command manipulation system using two keys encryption model
BR102015013579B1 (pt) Método criptográfico para troca segura de mensagens entre pelo menos dois dispositivos, dispositivo criptográfico e sistema

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190315

R150 Certificate of patent or registration of utility model

Ref document number: 6499519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250