JP6356687B2 - メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス - Google Patents

メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス Download PDF

Info

Publication number
JP6356687B2
JP6356687B2 JP2015541184A JP2015541184A JP6356687B2 JP 6356687 B2 JP6356687 B2 JP 6356687B2 JP 2015541184 A JP2015541184 A JP 2015541184A JP 2015541184 A JP2015541184 A JP 2015541184A JP 6356687 B2 JP6356687 B2 JP 6356687B2
Authority
JP
Japan
Prior art keywords
algorithm
result
encryption
bijection
message
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
JP2015541184A
Other languages
English (en)
Other versions
JP2015534415A (ja
Inventor
サルガド,ステファニー
Original Assignee
ジエマルト・エス・アー
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 ジエマルト・エス・アー filed Critical ジエマルト・エス・アー
Publication of JP2015534415A publication Critical patent/JP2015534415A/ja
Application granted granted Critical
Publication of JP6356687B2 publication Critical patent/JP6356687B2/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
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、認証されて受信したメッセージを使用する電子デバイスまたは製品に関し、より正確には、受信したメッセージに関連付けられたコードの制御の認証に関するものである。
当業者に知られているように、いくつかの電子デバイスは、例えば、機能および/または権利(アクセスまたはクレジットなど)を制御するために、他の電子デバイスに送信されるように意図されたメッセージを生成する。非承認メッセージを送信するための非承認の電子デバイスを避けるため、送信する前に、全単射アルゴリズムが、少なくとも1つの所定の鍵を用いて、このメッセージに適用され得る。この全単射アルゴリズムは、順次、例えばメッセージの分割によるデータのN個のブロックに、適用される暗号化または暗号アルゴリズムを含み得る。
この適用の結果は、一般的に、MAC(「メッセージ認証コード」)と呼ばれているコードである。このコードと関連したメッセージが関係している電子デバイスに送信される。この受信されたコードを認証するため、電子デバイスは参照コードを得るために受信したメッセージに、同じ所定の鍵を用いて同じ全単射アルゴリズムを適用する。この参照コードが受信されたコードと同一である場合、後者は真正であるとみなされ、メッセージは使用され得るが、そうでない場合は、メッセージは拒否される。
あいにく、このような全単射アルゴリズムは、使用する各所定の鍵を得るために攻撃者によって攻撃され、承認された任意のメッセージを送信することが可能になり得る。そのために、この攻撃者は、電子デバイスに、異なるコードを含む同じメッセージを連続して送信し、受信したコードとそれぞれ比較する必要がある参照コードを計算させることができ、それから、これらの連続比較から、および攻撃を受けた電子デバイスに生じる物理的効果の変動からそれぞれ所定の鍵を推測し得る。いくつかの内部動作またはプロセスが、例えば、特定の消費電力、特定の温度または特定の電磁相互作用のような特性的な物理効果によって認識され得ることが想起される。
消費電力解析に基づく攻撃は、(一般にDPA(「差分電力解析」)と呼ばれる)全単射アルゴリズムのステップを開始または全単射アルゴリズムのステップを終了する際のいずれかで行われ得る。(一般的には「開始によるDPA」と呼ばれる)最初のものは、例えば、特定の対策でブロックすることは比較的容易である。(一般的には「終了によるDPA」と呼ばれる)第2のものは、ブロックすることがより困難である。それらは、攻撃者が攻撃される電子デバイスによって受信されたコード(または送信されたMAC)を知っている時、攻撃者は全単射アルゴリズムに使用される暗号化または暗号アルゴリズムの適用の結果を知ることが可能になるので、実行され得る。この第2のタイプの攻撃は、計算された参照コードが受信されたコード(または送信されたMAC)と、バイトごとに比較される事実によって容易化される。
そこで、本発明の目的は、参照コードを計算することなく受信されたコードを認証することによって、少なくとも部分的に、上述の欠点を克服することである。
より正確には、本発明は、電子デバイスによってメッセージと共に受信され、少なくとも1つの所定の鍵を用いる全単射アルゴリズムの前記メッセージへの適用の結果である、コードの真正性を制御するための方法を提供し、次のステップを含んでいる。
(i)第1の結果を得るために、受信されたメッセージに、開始ステップから選択された中間ステップまで、この所定の鍵を用いてこの全単射アルゴリズムを部分的に適用すること、
(ii)第2の結果を得るために、受信されたメッセージを使用すると同時に、受信されたコードに、終了ステップからこの選択された中間ステップまで、この所定の鍵を用いてこの全単射アルゴリズムを逆の方法で部分的に適用すること、
(iii)これらの第1および第2の結果が同一である場合は、受信されたコードが真正であるとみなすことである。
本発明による制御方法には、別個または組み合わせて、考慮される追加の特徴を含み得、特に次のとおりである。
− 中間ステップは、可能ならランダムに、1つの適用から別のものまで変化し得る;
− 全単射アルゴリズムが、受信されたメッセージの分割の結果であってそれぞれが前のブロックに前のアルゴリズム部分を適用した結果と組み合わされたデータのN個のブロックに、それぞれ適用されなければならないN個の連続部分を含む場合、ステップ(i)で受信されたメッセージの分割に最初に進み、中間ステップとして、n番目のアルゴリズム部分の終了を選択する場合もあれば、または変形形態では、中間ステップとして、n番目のアルゴリズム部分の中間サブ部分を選択する場合もある;
ステップ(i)および(ii)で、N番目のものとは異なる各アルゴリズム部分において、所定の鍵の第1の部分を用いて、暗号化または暗号アルゴリズムあるいはこの暗号化または暗号アルゴリズムの逆バージョンのみを、適用し得る。この場合、ステップ(ii)で、まず、第1の中間結果を得るため、受信されたコードに、所定の鍵の第1の部分を用いて暗号化または暗号アルゴリズムの逆バージョンを適用し得、次に、第2の中間結果を得るため、第1の中間結果に、所定の鍵の第2の部分を用いて暗号化または暗号アルゴリズムを適用し得、それから、第3の中間結果を得るため、第2の中間結果に、所定の鍵の第1の部分を用いて暗号化または暗号アルゴリズムの逆バージョンを再び適用し得、最後に、N番目のアルゴリズム部分の逆バージョンの結果を得るため、第3の中間結果から受信されたメッセージのデータのN番目のブロックを分離し得る;
− 暗号化または暗号アルゴリズムは、少なくとも単純なデータ暗号化標準アルゴリズム(DES)、トリプルデータ暗号化標準アルゴリズム(TDES)、高度暗号化標準アルゴリズム(AES)、およびRSAアルゴリズム(Rivest Shamir Adleman(リベスト シャミア エーデルマン))を含むグループから選択され得る。
本発明はさらに、電子デバイスによってメッセージと共に受信され、少なくとも1つの所定の鍵を用いる全単射アルゴリズムの前記メッセージへ適用結果である、コードの真正性を制御することを意図した、制御デバイスも提供し、次を含んでいる。
− 第1の結果を得るため、受信されたメッセージに、開始ステップから選択された中間ステップまで、この所定の鍵を用いてこの全単射アルゴリズムを部分的に適用するように構成された第1の計算手段、
− 第2の結果を得るために、受信されたメッセージを使用すると同時に、受信されたコードに、終了ステップから選択された中間ステップまで、所定の鍵を用いて全単射アルゴリズムを逆の方法で部分的に適用するように構成された第2の計算手段、
− これらの第1および第2の結果を比較し、第1および第2の結果が同一である場合には、受信されたコードの真正性を示す情報を出力するように構成された比較手段。
本発明による制御デバイスには、別個または組み合わせて、考慮される追加の特徴を含み得、特に次のとおりである。
− 可能ならランダムに、1つの適用から別のものまで中間ステップを変化させるように構成された制御手段を備え得る;
− 全単射アルゴリズムが、受信されたメッセージの分割の結果であってそれぞれが前のブロックに前のアルゴリズム部分を適用した結果と組み合わされたデータのN個のブロックに、それぞれ適用されなければならないN個の連続部分を含む場合、受信されたメッセージをデータのN個のブロックに分割し、中間ステップとして、n番目のアルゴリズム部分の終了を選択するか、または変形形態では、中間ステップとして、n番目のアルゴリズム部分の中間サブ部分を選択するように構成された制御手段を備え得る;
第1および第2の計算手段は、N番目のものとは異なる各アルゴリズム部分において、所定の鍵の第1の部分を用いて、暗号化または暗号アルゴリズムあるいはこの暗号化または暗号アルゴリズムの逆バージョンのみを、適用するように構成され得る。この場合、第2の計算手段は、第1の中間結果を得るため、受信されたコードに、所定の鍵の第1の部分を用いて暗号化または暗号アルゴリズムの逆バージョンを適用し、次に、第2の中間結果を得るため、第1の中間結果に、所定の鍵の第2の部分を用いて暗号化または暗号アルゴリズムを適用し、それから、第3の中間結果を得るため、第2の中間結果に、所定の鍵の第1の部分を用いて暗号化または暗号アルゴリズムの逆バージョンを再び適用し、最後に、N番目のアルゴリズム部分の逆バージョンの結果を得るため、第3の中間結果から受信されたメッセージのデータのN番目のブロックを分離するようにさらに構成され得る;
− 暗号化または暗号アルゴリズムは、少なくとも単純なデータ暗号化標準アルゴリズム(DES)、トリプルデータ暗号化標準アルゴリズム(TDES)、高度暗号化標準アルゴリズム(AES)、およびRSAアルゴリズム(Rivest Shamir Adleman(リベスト シャミア エーデルマン))を含むグループから選択され得る。
本発明はさらに、上記で導入されたような制御デバイスを備える電子デバイスも提供する。
この電子デバイスは、少なくともスマートカード、メモリカードリーダ、通信デバイス、およびポータブルメモリ手段を含むグループから選択され得る。
本発明の他の特徴および利点は、以下の詳細な仕様および添付の図面を調べることで明らかになるであろう。
本発明による制御デバイスを備え、マイクロプロセッサを有する第3の電子デバイスを備える第2の電子デバイスに結合された第1の電子デバイスを概略的かつ機能的に例示する図である。 本発明に従う制御デバイスによって実施された制御方法で使用され得るアルゴリズムの一例を概略的かつ機能的に例示する図である。
添付の図面は、本発明を完成するだけでなく、必要に応じて、その定義に寄与するために機能し得る。
本発明は、特に、電子デバイスによって関連するメッセージと共に受信され、少なくとも1つの所定の鍵を用いる全単射アルゴリズムの前記メッセージへの適用の結果である、コードの真正性の制御を意図した、制御方法および関連した制御デバイスCDの提供を目的としている。
次の説明では、電子デバイスED2がスマートカードであるとみなされる。例えば、クレジットカードまたは電子識別子カードあるいは電子パスポートであっても構わない。しかし、本発明は、このタイプの電子デバイスに限定されるものではない。これは、セキュリティで保護されたデバイスの多く、特にカードリーダ、ソフトウェア保護ドングル、通信デバイス(例えば、スマートフォン、電子タブレット、あるいは固定またはポータブルコンピュータ)、ポータブルメモリ手段(例えば、USBキー)、およびスマートメータデバイス内のマシンツーマシン通信の中に存在する安全なモジュールが関係している。
図1に示す例では、電子デバイスED2は、さらに別の電子デバイスED1から送信されたデータを少なくとも受信できる、別の電子機器のED3に配置されている。
例えば、電子デバイスED3は、通信モジュールを含むカードリーダであり、電子装置ED1は固定またはポータブルコンピュータ(または他のいずれかのタイプの通信機器(またはデバイス))である。
電子デバイスED1は、電子デバイスED3に送信されるメッセージを生成し、関連メッセージと共に送信されるコードを生成するために、生成された各メッセージに、少なくとも1つの所定の鍵Kを用いて選択された全単射アルゴリズムを適用するように構成された計算モジュールCM4を備えている。
次の説明では、全単射アルゴリズムが、それぞれが送信されるメッセージの分割結果である、データのN個のブロックBn(n=1からN)に順次適用される暗号化または暗号アルゴリズムを含むことが考察される。
この暗号化または暗号アルゴリズムは、いわゆる単純なデータ暗号化標準アルゴリズム(またはDES)であり得る。しかし、これは、例えば、トリプルデータ暗号化標準アルゴリズム(またはTDES)、または高度暗号化標準アルゴリズム(またはAES)、あるいはRSAアルゴリズム(リベスト シャミア エーデルマン)であり得る可能性もある。
例えば、計算モジュールCM4は、おのおの生成されたメッセージを、同じビット数Mを有する、データのN個のブロックBn(例えばM=8バイト(すなわち、64ビット)とN=16)に分割し、次に全単射アルゴリズムの第1の部分PA1を実行するように構成されている。この第1の部分PA1は、データの第1のブロックB1(n=1)と所定値PVとを組み合わせ(CN)第1の値を得て、この第1の値に少なくとも1つの所定の鍵Kの第1の部分K1を用いて例えばDESなどの暗号化アルゴリズムCAが適用されることを含みうる。DES CAの適用は結果RP1を提供し、それはさらに、第1の部分PA1の実行の結果でもある。次に、計算モジュールCM4は、データの第2のブロックB2(n=2)と結果RP1を組み合わせ(CN)ある値を得て、この値に所定の鍵Kの第1の部分K1を用いてDES CAが適用される。DES CAの適用は結果RP2を提供し、それはさらに、第2の部分PA2の実行の結果でもある。計算モジュールCM4は、2≦n≦N−1で、データの各ブロックBnに対して同様の方法で進む。最後に、計算モジュールCM4は、データのN番目のブロックBN(n=N)とN−1番目の部分PAN−1の実行の結果RPN−1を組み合わせ(CN)ある値を得て、この値に所定の鍵Kの第1の部分K1を用いてDES CAを適用して別の値を得て、この別の値に(第1の部分K1の相補的な部分である)所定の鍵Kの第2の部分K2を用いてDES CA(DES−1)の逆バージョンCA−1が適用されてさらに別の値が得られ、このさらに別の値に所定の鍵Kの第1の部分K1を用いてDES CAが適用される。このDES CAの最後の適用は結果RPNを提供し、これはさらに、N番目の部分PANの実行の結果である。この最終結果RPNは全単射アルゴリズムを適用した生成されたメッセージのコード(またはMAC)である。ひとたび、電子デバイスED1が自由に使えるこのコードおよび関連付けられたメッセージを有すると、それらは、ここで電子デバイスED2による認証制御のために、電子デバイスED3に送信され得る。
図1に例示する非限定的な例では、電子デバイスED2は、本発明による制御デバイスCDを備えるマイクロプロセッサMPを含んでいる。
制御デバイスCDが、マイクロプロセッサMP(または、例えば集積回路などの任意の均等な手段)に配置されることが必ずしも必須ではないことに留意することは重要である。実際には、マイクロプロセッサMPに結合され、受信されたメッセージおよび関連するコードにアクセスし得るデバイスであり得る。そのような制御デバイスCDも、電子デバイスED2またはED3の別のデバイスに配置され得る。
そのため、制御デバイスCDは、少なくとも部分的にソフトウェアモジュールから、電子回路またはハードウェアモジュールから、あるいはさらに、ハードウェアおよびソフトウェアモジュールの組み合わせから作られ得る(この最後の場合、制御デバイスCDはさらにソフトウェアインタフェースを備え、ハードウェアおよびソフトウェアモジュール間のインターワーキングを可能にする)。ソフトウェアモジュールから作られる場合、これはメモリ手段または電子デバイスによって読み取られ得るいずれかのコンピュータソフトウェア製品に記憶され得る。
図1に例示されているように、本発明による制御デバイスCDは、少なくとも第1のCM1および第2のCM2計算手段ならびに比較手段CM3を備えている。
第1の計算手段CM1は、第1の結果FRを得るために、開始ステップから選択された中間ステップまで、同じ所定の鍵Kで計算モジュールCM4によって実行されるものと同じ全単射アルゴリズムを部分的に、電子デバイスED2によって受信されるメッセージに適用するように構成されている。
第2の計算手段CM2は、第2の結果SRを得るために、この考慮されるメッセージを使用すると同時に、考慮されるメッセージと共に受信されたコードRCに、終了ステップから選択された中間ステップまで、同じ所定の鍵Kを用いて同じ全単射アルゴリズムを逆の方法で部分的に適用するために構成されている。
言い換えれば、第1の計算手段CM1は、全単射アルゴリズムの一部を従来の方法で実行し、すなわち、最初(または開始ステップ)―これは、第1の値を得るために受信されたメッセージのデータの第1のブロックB1と所定の値PVを組み合わせることを含む―から、選択された中間ステップに至るまで、実行し、一方、第2の計算手段CM2は全単射アルゴリズムの相補的な部分を逆の方法で実行し、すなわち、終了(または終了ステップ)―これは、第1の中間結果を得るため、受信されたコードRC(関係しているメッセージに関連している)に、所定の鍵Kの第1の部分K1を用いて暗号化または暗号アルゴリズムCA(ここでは例えば、DES−1)の逆バージョンCA−1を適用することを含む―から選択された中間ステップに至るまで、実行する。実行されたアルゴリズムが全単射であるから、受信されたコードRCが真正である場合、第1の結果FRは第2の結果SRと必ず同一でなければならない。受信されたコードRCは、これが計算モジュールCM4による関連メッセージへの所定の鍵Kを用いる全単射アルゴリズムの適用の結果の場合、真正とみなされる。
比較手段CM3は、第1のFRと第2のSRの結果(受信されたメッセージおよび関連して受信されたコードRCに対して第1のCM1と第2のCM2の計算手段によって計算される)を比較し、これら第1のFRと第2のSRの結果が同一の時、この受信されたコードRCの真正性を表す情報を出力するように構成されている。
したがって参照コードは、受信されたコードRCが真正とみなされた時を除いて、計算されることはなく、計算には現れない。
さらに攻撃者は、受信されたコードRCが全単射アルゴリズムのエントリなので、もはや終了によってDPAを実行することはできない。
その上、機密の動作である、最終的な比較が計算された2つの中間結果で行われるので、攻撃者は計算されたこれら2つの中間結果をどちらも選択することはできない。そのため、安全性が大幅に改善される。
その上さらに、最終的な比較が計算された参照コードで行われないので、この最終的な比較の間に誤っているとみなされるバイトが受信されたコードRCのどのバイトが誤っているかを示すことはできない。そのため、最終的な比較をランダムな順序で行う必要がない。
本発明による制御デバイスCDによって実施され得る、アルゴリズムの非限定的な例が図2で例示されている。この例では、選択された中間ステップが第2のアルゴリズム部分PA2の終了であるとみなされる。そのため、第1の結果FRは第2のアルゴリズム部分PA2の実行の結果RP2で、一方、第2の結果SRは第3のアルゴリズム部分PA3の逆の方法での実行の結果RP3である。
さらに正確には、この例では、ひとたび受信されたメッセージが、同じビット数Mを有するデータのN個のブロックBn(例えばM=8バイト(すなわち、64ビット)とN=16)に分割されると、第1の計算手段CM1は全単射アルゴリズムの第1の部分PA1を実行する。
図1で例示されているように、制御デバイスCDは、各受信されたメッセージをデータのN個のブロックBnに分割するように構成された制御手段CM4を備え得る。
第1の部分PA1は、データの第1のブロックB1と所定値PVとを組み合わせ(CN)第1の値を得、この第1の値に所定の鍵Kの第1の部分K1を用いて、暗号化アルゴリズムCA(ここでは例えばDES)が適用されることを、含み得る。DES CAの適用は結果RP1を提供し、それはさらに、第1の部分PA1の実行の結果でもある。次に、第1の計算モジュールCM1は、データの第2のブロックB2と結果RP1を組み合わせ(CN)ある値を得て、その値に所定の鍵Kの第1の部分K1を用いて、DES CAが適用される。DES CAの適用は結果RP2を提供し、それはさらに、第2の部分PA2およびこの例では第1の結果FRの実行の結果でもある。
同時に(しかし、後でも可能であるが)第2の計算手段CM2は、逆の方法で全単射アルゴリズムのN番目の部分PANを実行する。そのため、これ(CM2)は、受信されたコードRCに、所定の鍵Kの第1の部分K1を用いて暗号化アルゴリズムCAの逆バージョンCA−1(ここではDES−1)を適用し、第1の中間結果を得る。次に、この第1の中間結果に、所定の鍵Kの第2の部分K2(これは第1の部分K1の補完的な部分)を用いてDES CAを適用し、第2の中間結果を得る。さらに、この第2の中間結果に、所定のキーKの第1の部分K1を用いて暗号化アルゴリズムCAの逆バージョンCA−1(ここではDES−1)を再度適用し第3の中間結果を得て、そして最後に、この第3の中間結果から受信されたメッセージのデータのN番目のブロックBNを分離して(CN−1)、N番目のアルゴリズム部分PANの逆バージョンの結果RPNを得る。
ここでは、「分離する」(dissociating)によって、組み合わせるCN(ここでは、第1のPA1および第2のPA2アルゴリズム部分で実行される)の逆関数CN−1を意味している。
次に、第2の計算手段CM2は逆の方法で全単射アルゴリズムのN−1番目の部分PAN−1を実行する。そうであるから、これ(CM2)は、結果RPNに、所定の鍵Kの1番目の部分K1を用いて暗号化アルゴリズムCAの逆バージョンCA−1(ここではDES−1)を適用した値を得て、この値から、受信されたメッセージのデータのN−1番目のブロックBN−1を分離して(CN−1)、N−1番目のアルゴリズム部分PAN−1の逆バージョンの結果RPN−1を得る。第2の計算手段CM2は、(SR=RP3で)第3のアルゴリズム部分PA3の逆バージョンの適用の終了で第2の結果SRを得るために、3≦n≦N−1で、データの各ブロックBnに同じ方法で進んでいく。
次にこの第2の結果SRが、比較手段CM3によって第1の結果FRと比較される。
アルゴリズムの上述の例では、中間ステップは、n番目のアルゴリズム部分PAnの終了であり、ここでnは1より大きくN未満(2≦n≦N−1)(ここでは、例えばn=2)である。しかし、これは必須でない。実際のところ、中間ステップは、n番目のアルゴリズム部分PAn(2≦n≦N−1で)の中間サブ部分とし得る。例えば、この中間サブ部分は、n番目のアルゴリズム部分PAnを組み合わせる(CN)ことの終了(第1の計算手段CM1の場合)またはこのn番目のアルゴリズム部分PAn暗号化アルゴリズムCAの逆バージョンCA−1(ここではDES−1)の適用の終了(第2の計算手段CM2の場合)とし得る。
制御手段CM4は、第1のCM1および第2のCM2の計算手段がそれぞれの計算を停止しなければならない、中間ステップを選択するように構成され得る。
第1のCM1および第2のCM2の計算手段がそれぞれの計算を停止しなければならない、中間ステップの選択が事前に定義され得ることに留意することは重要である。しかし、この選択は、好適には、全単射アルゴリズムの1つの適用(または実行)から別のものまで、可能ならランダムな方法で、変化し得る。制御手段CM4はこの選択の役割を担い得る。
本発明はさらに、電子デバイスED2のための制御方法という点から考慮され得る。そのような方法は図1および図2を参照して上述したものなど、制御デバイスCDによって実施され得る。したがって、その主な特徴のみが以下で述べられる。
本発明による制御方法には、次のステップが含まれる。
(i)第1の結果を得るため、受信されたメッセージに、開始ステップから選択された中間ステップまで、この所定の鍵Kを用いてこの全単射アルゴリズムを部分的に適用すること、
(ii)第2の結果SRを得るために、この受信されたメッセージを使用すると同時に、メッセージと共に受信されたコードRCに、終了ステップから選択されたこの中間ステップまで、この所定の鍵Kを用いてこの全単射アルゴリズムを逆の方法で部分的に適用すること、
(iii)これら第1および第2の結果が同一の場合には、この受信されたコードRCが真正であるとみなすこと。
これら第1(i)、第2(ii)、および第3(iii)のステップはそれぞれ、第1の計算手段CM1、第2の計算手段CM2、および比較手段CM3によって実行され得る。
本発明は、例示目的のみの、上述の制御方法、制御デバイス、および電子デバイスの実施形態に限定されるものではなく、以下の請求項の範囲内で、当業者によって考慮され得るすべての代替の実施形態を包含するものである。

Claims (15)

  1. 第1の電子デバイス(ED2)における、第1の計算手段(CM1)と、第2の計算手段(CM2)と、比較手段(CM3)と、制御手段(CM4)とを備える制御デバイス(CD)が実行する方法であり、第1の電子デバイス(ED2)によって第2の電子デバイスからメッセージと共に受信され、少なくとも1つの所定の鍵を用いる全単射アルゴリズムの前記メッセージへの適用の結果である、コードの真正性を制御するための方法において
    (i)第1の電子デバイスによって、第2の電子デバイスから前記メッセージとコードとを受信するステップと、
    ii)第1の結果を決定するために、第1の計算手段(CM1)によって、前記受信されたメッセージに、開始ステップから選択された中間ステップまで、前記所定の鍵を用いて前記全単射アルゴリズムを部分的に適用するステップと、
    iii)第2の結果を決定するために、第2の計算手段(CM2)によって、前記受信されたメッセージを使用すると同時に、前記受信されたコードに、終了ステップから選択された前記中間ステップまで、前記所定の鍵を用いて前記全単射アルゴリズムを逆の方法で部分的に適用するステップと、
    iv比較手段(CM3)によって、前記第1および第2の結果を比較して、前記第1および第2の結果が同一の場合には、前記受信されたコードが真正であるとみなすステップとを含むことを特徴とする方法。
  2. 前記中間ステップの選択、全単射アルゴリズムの1つの適用から別のものまで変化することを特徴とする、請求項1に記載の方法。
  3. 前記中間ステップの選択、全単射アルゴリズムの1つの適用から別のものまでランダムに変化することを特徴とする、請求項2に記載の方法。
  4. 前記全単射アルゴリズムが、前記受信されたメッセージの分割から生じるデータのN個のブロックにそれぞれ適用される、N個の連続部分を含み、第1のアルゴリズム部分が、第1のブロックを所定の値と組み合わせることを含み、後続の各アルゴリズム部分が、後続のブロックを、先行するブロックへの先行するアルゴリズム部分の適用の結果と組み合わせることを含み、前記方法はさらに、
    制御手段(CM4)によって、ステップ(i)での前記受信されたメッセージをN個の連続するブロックに分割することと、
    制御手段(CM4)によって、中間ステップとしてn番目のアルゴリズム部分の終了を選択することによって中間ステップを規定することと、
    第1の計算手段(CM1)によって、前記第1のアルゴリズム部分から前記中間ステップまで、前記全単射アルゴリズムを実行することとを含むことを特徴とする、請求項1から3のいずれか一項に記載の方法。
  5. 前記全単射アルゴリズムが、前記受信されたメッセージの分割から生じるデータのN個のブロックにそれぞれ適用される、N個の連続部分を含み、各アルゴリズム部分が、複数のサブ部分を含み、第1のアルゴリズム部分が、第1のブロックを所定の値と組み合わせることを含み、後続の各アルゴリズム部分が、後続のブロックを、先行するブロックへの先行するアルゴリズム部分の適用の結果と組み合わせることを含み、前記方法はさらに、
    制御手段(CM4)によって、ステップ(i)での前記受信されたメッセージをN個の連続するブロックに分割することと、
    制御手段(CM4)によって、前記中間ステップとしてn番目のアルゴリズム部分の中間サブ部分を選択することによって中間ステップを規定することと、
    第1の計算手段(CM1)によって、前記第1のアルゴリズム部分から前記中間ステップまで、前記全単射アルゴリズムを実行することとを含むことを特徴とする、請求項1から3のいずれか一項に記載の方法。
  6. ステップ(ii)および(iii)で、N番目のものとは異なる各アルゴリズム部分において、所定の鍵の第1の部分を用いて、暗号化または暗号アルゴリズムあるいは前記暗号化または暗号アルゴリズムの逆バージョンのみを、適用することを含み、ステップ(iii)で、第1の中間結果を得るため、前記受信されたコードに、所定の鍵の前記第1の部分を用いて前記暗号化または暗号アルゴリズムの前記逆バージョンを最初に適用し、次に、第2の中間結果を得るため、前記第1の中間結果に、前記所定の鍵の第2の部分を用いて前記暗号化または暗号アルゴリズムを適用し、それから、第3の中間結果を得るため、前記第2の中間結果に、所定の鍵の前記第1の部分を用いて暗号化または暗号アルゴリズムの前記逆バージョンを再び適用し、最後に、N番目のアルゴリズム部分の逆バージョンの結果を得るため、前記第3の中間結果から前記受信されたメッセージのデータの前記N番目のブロックを分離することを含むことを特徴とする、請求項4または5に記載の方法。
  7. 前記暗号化または暗号アルゴリズムが、少なくとも単純なデータ暗号化標準アルゴリズム、トリプルデータ暗号化標準アルゴリズム、高度暗号化標準アルゴリズム、およびRSAアルゴリズムを含むグループから選択されることを特徴とする、請求項6に記載の方法。
  8. 第1の電子デバイス(ED2)によって第2の電子デバイスからメッセージと共に受信され、少なくとも1つの所定の鍵を用いる全単射アルゴリズムの前記メッセージへの適用の結果である、コードの真正性を制御するための制御デバイス(CD)であって、(i)第1の電子デバイスによって、第2の電子デバイスから前記メッセージとコードとを受信するための受信手段と、ii)第1の結果を決定するため、前記受信されたメッセージに、開始ステップから選択された中間ステップまで、前記所定の鍵を用いて前記全単射アルゴリズムを部分的に適用するように構成された第1の計算手段(CM1)と、(iii)第2の結果を得るために、前記受信されたメッセージを使用すると同時に、前記受信されたコードに、終了ステップから選択された前記中間ステップまで、前記所定の鍵を用いて前記全単射アルゴリズムを逆の方法で部分的に適用するように構成された第2の計算手段(CM2)と、(iv)前記第1および第2の結果を比較し、前記第1および第2の結果が同一の場合には、前記受信されたコードの真正性を示す情報を出力するように構成された比較手段(CM3)とを備えることを特徴とする制御デバイス(CD)。
  9. 全単射アルゴリズムの1つの適用から別のものまで前記中間ステップの選択を変化させるように構成された制御手段(CM4)を備えることを特徴とする、請求項8に記載の制御デバイス。
  10. 前記制御手段(CM4)が、全単射アルゴリズムの1つの適用から別のものまで前記中間ステップの選択をランダムに変化させるように構成されることを特徴とする、請求項9に記載の制御デバイス。
  11. 前記受信されたメッセージをデータのN個のブロックに分割し、ここで、前記全単射アルゴリズムが、前記受信されたメッセージの分割から生じるデータのN個のブロックにそれぞれ適用される、N個の連続部分を含み、第1のアルゴリズム部分が、第1のブロックを所定の値と組み合わせることを含み、後続の各アルゴリズム部分が、後続のブロックを、先行するブロックへの先行するアルゴリズム部分の適用の結果と組み合わせることを含み、
    中間ステップとしてn番目のアルゴリズム部分の終了を選択し、
    前記第1のアルゴリズム部分から前記中間ステップまで、前記全単射アルゴリズムを実行するように構成された制御手段(CM4)を備えることを特徴とする、請求項8から10のいずれか一項に記載の制御デバイス。
  12. 前記受信されたメッセージをデータのN個のブロックに分割し、ここで、前記全単射アルゴリズムが、前記受信されたメッセージの分割から生じるデータのN個のブロックにそれぞれ適用される、N個の連続部分を含み、各アルゴリズム部分が、複数のサブ部分を含み、第1のアルゴリズム部分が、第1のブロックを所定の値と組み合わせることを含み、後続の各アルゴリズム部分が、後続のブロックを、先行するブロックへの先行するアルゴリズム部分の適用の結果と組み合わせることを含み、
    中間ステップとしてn番目のアルゴリズム部分の中間サブ部分を選択し、
    前記第1のアルゴリズム部分から前記中間ステップまで、前記全単射アルゴリズムを実行するように構成された制御手段(CM4)を備えることを特徴とする、請求項8から10のいずれか一項に記載の制御デバイス。
  13. 前記第1(CM1)および第2(CM2)の計算手段は、N番目のものとは異なる各アルゴリズム部分において、所定の鍵の第1の部分を用いて、暗号化または暗号アルゴリズムあるいは前記暗号化または暗号アルゴリズムの逆バージョンのみを、適用するように構成され、前記第2の計算手段(CM2)は、第1の中間結果を得るため、前記受信されたコードに、所定の鍵の前記第1の部分を用いて前記暗号化または暗号アルゴリズムの前記逆バージョンを適用し、次に、第2の中間結果を得るため、前記第1の中間結果に、前記所定の鍵の第2の部分を用いて前記暗号化または暗号アルゴリズムを適用し、それから、第3の中間結果を得るため、前記第2の中間結果に、所定の鍵の前記第1の部分を用いて暗号化または暗号アルゴリズムの前記逆バージョンを再び適用し、最後に、N番目のアルゴリズム部分の逆バージョンの結果を得るため、前記第3の中間結果から前記受信されたメッセージのデータの前記N番目のブロックを分離するように構成されることを特徴とする、請求項11または12に記載の制御デバイス。
  14. 前記暗号化または暗号アルゴリズムが、少なくとも単純なデータ暗号化標準アルゴリズム、トリプルデータ暗号化標準アルゴリズム、高度暗号化標準アルゴリズム、およびRSAアルゴリズムを含むグループから選択されることを特徴とする、請求項13に記載の制御デバイス。
  15. 請求項8から14のいずれか一項に記載の制御デバイス(CD)を備え、前記電子デバイスが少なくともスマートカード、メモリカードリーダ、通信デバイス、およびポータブルメモリ手段を含むグループから選択されることを特徴とする、電子デバイス(ED2)。
JP2015541184A 2012-11-12 2013-11-12 メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス Active JP6356687B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12306396.8A EP2731291A1 (en) 2012-11-12 2012-11-12 Control method and device for controlling authenticity of codes resulting from application of a bijective algorithm to messages
EP12306396.8 2012-11-12
PCT/EP2013/073636 WO2014072529A1 (en) 2012-11-12 2013-11-12 Control method and device for controlling authenticity of codes resulting from application of a bijective algorithm to messages

Publications (2)

Publication Number Publication Date
JP2015534415A JP2015534415A (ja) 2015-11-26
JP6356687B2 true JP6356687B2 (ja) 2018-07-11

Family

ID=47355980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015541184A Active JP6356687B2 (ja) 2012-11-12 2013-11-12 メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス

Country Status (6)

Country Link
US (1) US9807063B2 (ja)
EP (2) EP2731291A1 (ja)
JP (1) JP6356687B2 (ja)
BR (1) BR112015007982B1 (ja)
MX (1) MX343942B (ja)
WO (1) WO2014072529A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027254B (zh) * 2016-01-21 2019-05-21 李明 一种身份证认证系统中身份证读卡终端使用密钥的方法
CN106027253B (zh) * 2016-01-21 2019-05-21 李明 一种身份证认证信息的访问频度管控装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2731945B2 (ja) * 1989-06-05 1998-03-25 エヌ・ティ・ティ・データ通信株式会社 個別鍵による認証が可能なicカード
JPH10154976A (ja) * 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
FR2829331B1 (fr) * 2001-09-04 2004-09-10 St Microelectronics Sa Procede de securisation d'une quantite secrete
JP4549303B2 (ja) * 2005-02-07 2010-09-22 株式会社ソニー・コンピュータエンタテインメント パイプラインを用いてメッセージ認証コードを提供する方法および装置
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
EP2001154A1 (fr) * 2007-06-05 2008-12-10 Nicolas Reffe Procédé et dispositif de chiffrement/déchiffrement d'une séquence de données d'entrée
JP5269661B2 (ja) * 2009-03-18 2013-08-21 株式会社東芝 携帯可能電子装置、及び携帯可能電子装置の制御方法

Also Published As

Publication number Publication date
US20160277361A1 (en) 2016-09-22
EP2731291A1 (en) 2014-05-14
BR112015007982B1 (pt) 2022-08-23
EP2918036A1 (en) 2015-09-16
WO2014072529A1 (en) 2014-05-15
MX343942B (es) 2016-11-30
JP2015534415A (ja) 2015-11-26
MX2015005690A (es) 2015-08-20
EP2918036B1 (en) 2019-01-02
US9807063B2 (en) 2017-10-31
BR112015007982A2 (pt) 2017-07-04

Similar Documents

Publication Publication Date Title
US9686248B2 (en) Secure shared key sharing systems and methods
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
CN110149209B (zh) 物联网设备及其提高数据传输安全性的方法和装置
CN110710155A (zh) 渐进式密钥加密算法
US20130195266A1 (en) Apparatus and Method for Producing a Message Authentication Code
TWI809292B (zh) 資料的加解密方法、裝置、存儲介質及加密文件
CN109818730B (zh) 盲签名的获取方法、装置和服务器
CN103678174A (zh) 数据安全方法、存储装置和数据安全系统
RU2579990C2 (ru) Защита от пассивного сниффинга
EP2957062A1 (en) Tamper resistant cryptographic algorithm implementation
EP4131038A1 (en) System for and method of authenticating a component of an electronic device
EP3382929B1 (en) Technique to generate symmetric encryption algorithms
US9076002B2 (en) Stored authorization status for cryptographic operations
JP6356687B2 (ja) メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス
JP6194136B2 (ja) 疑似乱数生成装置及び疑似乱数生成プログラム
CN116781265A (zh) 一种数据加密的方法和装置
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
CN113408013A (zh) 多种算法规则混合的加解密芯片构架
JP6203556B2 (ja) 情報処理システム
CN111294199A (zh) 加解密系统、加密装置、解密装置和加解密方法
US20240064002A1 (en) Method for securing an execution of a cryptographic process
JP6124338B2 (ja) 情報処理システム
CN107852331A (zh) 消息认证码生成装置
CN110555311A (zh) 一种基于纯软密码运算的电子签章系统安全设计方法及系统
CN116188009A (zh) 一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180614

R150 Certificate of patent or registration of utility model

Ref document number: 6356687

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