AESはアメリカの暗号化暙準です。パヌトV.攻撃

画像



サむクルの他の蚘事
AES — . I

ES — . II

AES — . III

AES — . IV

AES — . V.



個々の倉換の詳现を含む詳现なプレれンテヌションの埌、倚くの出版物のように、Khabrovskyを陀く代数フィヌルドではなく、具䜓的な有限の芁玠を䜿甚しお、RIJNDAEL、AES-128、およびAES-128暙準の操䜜を実行するが実装されたす。、暗号に察する攻撃の可胜性の怜蚎に進むこずができたす。今のずころ、私たちは1぀の攻撃に限定したす。私たちの意芋では、最も理解しやすく、透過的に構築されたただし、おそらくすべおの読者にではないHabrです。



私はすでに䞍利な点に慣れおいたすが、悪魔が冗談を蚀っおいないこず。起こりうる攻撃ず期埅される結果の分析は倚くの著者によっお行われおきたしたが、具䜓的な成功䟋や単に印象的なデザむンだけでは明らかに十分ではありたせん。ここでは、数孊的な芳点から、䟵入者によっお暗号テキストに導入された゚ラヌを䜿甚した攻撃に぀いお怜蚎したす。デモンストレヌションのための攻撃を遞択するずき、著者は、あたりにもねじれおいお厄介な数孊的なものが䜿甚されおいるものを含たないようにしたしたが、問題の䞻題自䜓は非垞に深刻であり、「指」の説明に進むこずはできたせん。



この出版物の重芁な目暙は、AES-128の基瀎を圢成する数孊の応甚を瀺すこずであり、残念ながら、倚くの著者は、自分たちの発明をチェックしお指摘できる人はほずんどいないずいう事実に導かれお、根拠のない根拠のないものを迂回たたは誀っお解釈しおいたす。



蚘事の内容は完党に攻撃の元の抂念ではなく、䞻なアクションは䜜業から取られおいたすが、それは私の孊生によっお慎重に䜜成され、補足され、実隓的にテストされたした。圌らは高等代数ず暗号孊の䞡方で良い習慣を埗たした。



1.AES暗号鍵ぞの攻撃



たず、AESぞの攻撃を簡単なケヌスで説明し、次にそのような攻撃をどのように䞀般化できるかが明らかになりたす。怜蚎䞭の攻撃の目的は、暗号のキヌKNrを回埩するこずです。郚分ラりンドキヌKNrが決定されるず、キヌKの取埗が容易になりたす。



1.1攻撃の原則



ShiftRowsNr-1操䜜の埌に、状態行列Sの別のバむト16の1぀に゚ラヌ「ε」を導入するこずによっお倉曎できるず想定されたす。぀たり、最埌から2番目のラりンド、および砎損したバむト芁玠ののむンデックスセルのです。 状態。この最埌の仮説は省略できたす。攻撃メカニズムをより簡単に説明するために導入されたした。状態項目の新しい倀は䞍明であるず芋なされたす。



゚ラヌ「ε」は、プロセスの終了ステヌタスの4バむト以䞋にたで及びたす。出力状態の4぀の倉曎可胜な芁玠すべおに぀いお、゚ラヌ「ε」の可胜性のあるベクトルの倀のセットセットがセクション1.4にありたす。さらに、これらの4぀の芁玠の可胜な倀のセット「ε」定矩1を亀差させるこずが可胜になりたす。このようなセットが亀差するず、より小さなセットが取埗されるため、完党な分析に必芁な暗号テキストの数が枛りたす。



最埌に、゚ラヌごずに、前のラりンドキヌの4぀の芁玠に぀いおいく぀かの文字化けした倀を出力したす。他の暗号テキストを圢成するず、4バむトのラりンドキヌK10が芋぀かりたす。この攻撃は、゚ラヌの堎所に関する倚くの䞀般的な仮定があっおも成功したたたです。 9番目のMixColumns倉換前の゚ラヌの堎所に関する情報の欠劂など。歪みがある堎合ずない堎合の暗号テキストマトリックスの違いにより、歪みずその䜍眮が明らかになりたすこの䟋では、これらは䜍眮0、7、10、13です。



たた、ラりンド88番目のMixColumns倉換の前で導入された「ε」゚ラヌが分析に圹立぀可胜性があるこずも想定されおいたす。しかし同時に、より完党な分析に必芁な暗号テキストの数が増加したす。怜蚎䞭の数倀䟋では、゚ラヌ䜍眮の仮説が考慮されおいない条件䞋で、4バむトのラりンドキヌK10を取埗するために玄10個の暗号テキストが必芁です。



1.2゚ラヌがメッセヌゞに䞎える圱響の数倀䟋



ここでは、名前付き䜜品の付録に蚘茉されおいるのず同じ䟋が䜿甚されおいたす。暗号化プロセスの最埌から2番目ず最埌のラりンドが考慮されたすデヌタのバむト衚珟の圢匏は次のずおりです。



入力= '32 43 F6 A8 88 5A 30 8D 31 31 98 A2 E0 37 07 34 ';

暗号キヌ= '2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C';

出力= '39 25 84 1D 02 DC 09 FB DC 11 85 97 19 6A 0B 32 ';

゚ラヌ "ε" = '1E 00 00 00 00 00 00 00 00 00 00 00 00 0000'。



次の図は、それぞれ16バむトの暗号ブロック長ず暗号キヌ長぀たり、Nb = 4ずNk = 4に埓っお状態配列に含たれる倀を瀺しおいたす。



゚ラヌの䌝播は、倪字および16進衚蚘で瀺されおいたす。以䞋は、さたざたな状況での州の正方圢です。





゚ラヌ「ε」= 1Eは、第9ラりンドステヌタスの0番目のバむトに挿入され、最終状態の4バむトが倉曎されたす。状態の「正方圢」の䞻察角線のコヌナヌセルの蚈算䟋



-゚ラヌ「ε」=



1E87⊕1E=10000111⊕00011110= 1001 1001 = 99

は、第9ラりンドの状態正方圢の巊䞊コヌナヌセルに入力されたす-右䞋MixColum9がキヌバむトK9ず合蚈された埌の第9ラりンドの角床状態



BC⊕6E= 1011 110010 0110 1110 = 1101 0010 = d2。

-結果の゚ラヌの倀を蚈算したす。



゚ラヌの有無にかかわらず、2぀のメッセヌゞテキストが存圚する堎合、砎損したステヌタスバむトの倀ず䜍眮は、䞀方のテキストをもう䞀方のテキストから差し匕くこずによっお決定されたす。私たちの堎合、そのような枛算は、2を法ずしおテキストを合蚈するこずによっお眮き換えるこずができたす。゜ヌステキストに導入された゚ラヌによっお倉曎されたバむトに察しおのみ、れロ以倖の結果が埗られたす。



たずえば、16進圢匏では、゚ラヌ倀が芋぀かりたす。



è¡š7-゚ラヌ倀の蚈算







結果ずしお、差分゚ラヌε0′=E7、ε1′=51、ε2′=47、ε3′=99..。最埌の゚ラヌバむトを蚈算する䟋を挙げたしょう



62⊕FB=01100010⊕11111011= 1001 1001 = 99。



゚ラヌによっお倉曎されたステヌタスバむトの䜍眮

ε0′=E7、ε1′=51、ε2′=47、ε3′=99。ラりンドキヌ最終ラりンドの芁玠のむンデックスをK [0]、K [7]、K [10]、K [13]ずしお瀺したす。ここで、0、7、10、13は状態行列のセル番号であり、行列Aoは暗号化プロセスの列を混合するための倉換行列であり、最初の列の圢匏は「02」、「01」、「01」、「03」です。



入力した゚ラヌが最終的な最終状態にどのように圱響するか





゚ラヌが発生したずきに取埗した情報の分析



キヌKNrに関する情報を含めるこずができる唯䞀の操䜜は、最埌のSubBytes倉換です。したがっお、4぀の方皋匏があり、x0、x1、x2、x3、εは未知の倉数です。



次の4぀の方皋匏の解を求めたす。

sバツ0+2ε+sバツ0=ε0′、

sバツ1+ε+sバツ1=ε1′、

sバツ2+ε+sバツ2=ε2′、

sバツ3+3ε+sバツ3=ε3′、

バむト ε0′、ε1′、ε2′、ε3′゚ラヌによっお倉曎されたものには、これらのバむトを生成した䞍明なキヌに関する情報が含たれおいたす。



このような方皋匏はすべお、単䞀の方皋匏

sx +cε+ sx=ε '、1

に䞀般化できたす。ここで、定数倀=' 01 '、' 02 '、たたは' 03 'であり、この方皋匏をさらに解いお、分析したす。



定矩1。蚘号BCε 'で瀺され、匏で定矩れるε゚ラヌの匏1の解の集合

BCε'= SCε「= {εєGF [2 8 ]∃XєGF [2 8 ] sx +cε+ sx=ε '}、| Bcε'| = 127。



これは、特定の゚ラヌε 'に察応する個々の゚ラヌ領域です。他のε 'の堎合、゚ラヌ領域は異なりたす。



定矩2。フィヌルドGF2での線圢倉換ℓを考えおみたしょう。

ℓGF [2 8 ]→GF [2 8 ]。

X→X 2 + X。



ℓの画像は、ImℓGF2-ベクトル空間のマッピングです。GF [2 8 ]の芁玠のセット

x 2 + xは、Å1= Imℓずその次元dimGF2E1= 7を衚したす。Ξє1の堎合、2぀の異なる解x1、x2єGF[ 2 8 ]匏X 2 + X =Ξ、および゜リュヌションが満たす関係X2 = X1 + 1及びX 2∙X1 =ΞMODDφX、2 8 -1VIETAの定理による。 倉数Ξは二次方皋匏の自由項です。 考えられる線圢倉換を䟋を挙げお説明したしょう。䟋GFフィヌルドは[2蚭定されおいる8











]、倉換x→x 2 + xはその芁玠に察しお実行されたす。



è¡š8 -フィヌルドGF [2の最初の断片8 ]および芁玠の倉換の結果。





è¡š8は、倉換によっお、10進数のリスト内の隣接するペアが同じフィヌルド芁玠にどのように倉曎されるかを瀺しおいたす。このこずから、倉換の結果むメヌゞはプレむメヌゞの2分の1になりたすフィヌルドは、いわば2倍に圧瞮されたす。セットの次元の瞮小のこの原則は、提案された攻撃の基瀎を圢成したす。





提案2。次のステヌトメントは、λ1、λ2єGF[2 8 ]-{0}に圓おはたりたす。













2.䞀般化ず実装



たず、特別な゜フトりェアアプリケヌションの助けを借りお、゚ラヌのある20個の暗号テキストが生成されたす。これを行うには、゜ヌステキスト、キヌ、゚ラヌをモデルプログラムに入力し、゚ラヌが配眮される䜍眮番号を蚭定したす。 「開始」ボタンを抌すず、プログラムはアルゎリズムを実装し、゚ラヌのあるテキスト、゚ラヌのないテキスト、およびそれらの違いに぀いお、最埌の2ラりンドの暗号化の結果を展開圢匏で衚瀺したす。その埌、暗号テキストぱラヌなしで゚ラヌ付きで保存されたす。゚ラヌ倀は呚期的に倉化し、「開始」ボタンを抌すず、゚ラヌのある次の暗号テキストが取埗されたす。列の1぀の倀で、゚ラヌのある5぀の暗号テキストが圢成されたした。



攻撃を実装するには、プログラムを䜿甚しお゚ラヌのない暗号テキストず゚ラヌのある暗号テキストでファむルを開く必芁がありたすファむル内のデヌタは16進圢匏で衚瀺されたす。暗号テキストずそれらの違いは、バむトの正方圢配列状態ずしお衚瀺されたす。 「キヌの怜玢」ボタンを抌すず、キヌの可胜なバむトを怜玢する手順が開始されたす。プロセスの珟圚の状態がテキストボックスに衚瀺されたす。その埌、別の゚ラヌのある暗号テキストが開かれ、手順が繰り返されたす。ラりンド10キヌバむトを受信するず、察応するスク゚アバむト配列にも衚瀺されたす。前の段階で生成された20個の暗号テキストすべおを゚ラヌで実行するず、ラりンド10キヌのすべおのバむトの倀を取埗する可胜性が高くなりたすそうでない堎合は、゚ラヌのある暗号テキストも必芁です。その埌、䞎えられたアルゎリズム「最埌のサブキヌを䜿甚しお暗号化キヌを回埩する」に埓っお暗号化キヌを埩元したすここ。





図11-゚ラヌのある暗号テキストを䜜成するための゜フトりェア補品゚ラヌのある暗号テキストを



列挙する手順を高速化するために、[キヌの怜玢]ボタンの前にチェックマヌクを付けるこずができたす。





図12 -攻撃の゜フトりェア実装



゜フトりェア補品のアン䟋



゜ヌスコヌド3243f6a8885a308d313198a2e0370734

キヌ2b7e151628aed2a6abf7158809cf4f3cの

゚ラヌ1 1e000000000000000000000000000000

゚ラヌ1ず暗号文

の可胜性バむトde25841d02bdc09









図13-プログラムの操䜜䟋



ラりンド10キヌd014f9a8c9ee2589e13f0cc8b6630ca6キヌは完党に回埩されたした回埩

されたキヌ2b7e151628aed2a6abf7158809cf4f3c予想どおり、暗号化セッションで指定されたキヌず䞀臎したす。



2.1。゚ラヌ䜍眮情報がない堎合の状況



この時点で、MixColumns操䜜の最埌の2回の実行の間のステヌタスバむトに゚ラヌが含たれおいるず想定されたす。これは、゚ラヌを1〜16のバむトで囲むこずができるずいう事実を陀いお、同じケヌスです。゚ラヌはMixColumns操䜜によっお乗算され、4バむトのステヌタスに広がりたす。



差分状態マトリックスの最初の行に匷制゚ラヌが生成されたす。ここでは、匷制゚ラヌ列を調べるこずにより、入力された゚ラヌがどの列に属しおいるかを刀別できたす。これは、前の説明で説明した方法を䜿甚しお、入力された゚ラヌの4぀の可胜な行䜍眮を調べるこずによっお行われたす。



2.2。ハヌドりェアデバむス



AESハヌドりェアデバむスに物理的に干枉する胜力があるず仮定したしょう。たず、AESデバむスを䜿甚しお10を超えるランダムプレヌンテキストの暗号を蚈算したしょう。次に、ラむンを切り取り、完了の2ラりンド前に配眮されたラりンド䞭に2バむトの間で䞀時的にグラりンドたたはVccに接続するこずにより、サンプルプロゞェクトを倉曎したす。結局のずころ、ラりンドNk -2にバむトがあり、垞に「00」たたは「FF」に眮き換えられたす。



動䜜䞭のデバむスで同じメッセヌゞをもう䞀床蚈算したす。ランダムなプレヌンテキストの堎合、欠陥のあるバむトはランダム゚ラヌのようなものです。この単䞀の゚ラヌは、Nk -1ラりンドで4぀の゚ラヌ、Nkラりンドで16の゚ラヌに倉換されたす。この堎合、偏差マトリックス埮分を取埗できたす。これを䜿甚するず、゚ラヌを分析しお、最埌のラりンドキヌを芋぀けるこずができたす。



文献



[1] FIPS PUB 197Advanced Encryption Standard、csrc.nist.gov

/ publications / fips / fips197 / fips-197.pdf [2] Boneh、DeMillo、およびLipton、暗号化プロトコルの障害チェックの重芁性に぀いお、コンピュヌタサむ゚ンスの講矩ノヌト、暗号孊の進歩、EU-ROCRYPT'97の議事録、pp。 37-51、1997。

[3] E. BihamA。Shamir、Secret Key Cryptosystemsの差分障害分析、CS 0910、Proceedings ofCrypto'97。

[4]ロスJ.アンダヌ゜ン、マヌカスG.クヌン改ざん防止-泚意事項、電子商取匕手続きに関する第2回USENIXワヌクショップ、カリフォルニア州オヌクランド、1996幎11月18〜21日、1〜11ペヌゞ、ISBN 1〜880446- 83-9。



All Articles