미트 인 더 미들 공격

Meet-in-the-middle attack

Meet-in-the-Middle 공격([1]MITM)은 기존의 플레인텍스트 공격으로서 여러 암호화 조작을 순차적으로 실행하는 암호화 방식에 대한 일반적인 시공간 트레이드오프 암호화 공격입니다.MITM 공격은 Double DES가 사용되지 않는 주요 이유이며, 2개의 공간과 2개의112 [2][3]조작을 가진56 공격자가 트리플 DES 키(168비트)를 강제할 수 있는 주된 이유입니다.

묘사

블록 암호의 보안을 강화하려면 여러 키를 사용하여 데이터를 여러 번 암호화해야 합니다.k비트 키로 데이터를 n번 암호화하면 가능한 모든 키 조합(단순한 brute-force)에 대한 완전한 검색은 2번의 시행이n·k 필요하기 때문에 데이터가 암호화되는 횟수에 따라 여러 암호화 방식의 보안이 배가되거나 심지어 n배가 된다고 생각할 수 있습니다.

MITM은 암호화 또는 복호화의 중간값을 저장하고 이를 사용하여 복호화 키를 강제하는 데 필요한 시간을 단축함으로써 여러 암호화를 사용하는 보안상의 이점을 약화시키는 일반적인 공격입니다.이것에 의해, Meet-in-the-Middle 공격(MITM)은 일반적인 시공간 트레이드 오프 암호[4] 공격이 됩니다.

MITM 공격은 여러 함수(또는 블록 암호)의 구성 범위(암호)와 도메인(플레인 텍스트)을 모두 사용하여 키를 찾으려 합니다.이것에 의해, 최초의 함수를 통과하는 순방향 매핑(역방향 이미지)은, 말 그대로, 컴포지트의 중간에서 회합하는 것과 같습니다.ed 함수예를 들어, Double DES는 2개의 다른 56비트 키를 사용하여 데이터를 암호화하지만, Double DES는 2개의 암호화 및 복호화 조작으로 해제할57 수 있습니다.

Multidimension MITM(MD-MITM; 다차원 MITM)은 위에서 설명한 것과 같은 여러 가지 동시 MITM 공격을 조합하여 사용합니다.이 경우 회의는 구성된 함수의 여러 위치에서 이루어집니다.

역사

Diffie와 Hellman은 1977년 [5]블록 암호의 가상의 확장에 대한 중간자 공격 방식을 처음 제안했다.이들의 공격은 시공간의 트레이드오프를 사용하여 이중 암호화 체계를 깨는 데 필요한 시간의 2배에 불과했습니다.

2011년, 보주와 광공은 다차원 중간 미팅 공격을 조사하여 블록 암호 GOST, KTANTAN[6]Humningbird-2에 대한 새로운 공격을 제시하였습니다.

Meet-in-the-middle (1D-MITM)

특정 평문 P 및 암호문 C에 대해 다음 특성을 가진 암호화 방식을 공격하려고 합니다.

여기서 ENC는 암호화 함수, DEC는 ENC(역매핑)로−11 정의된 복호화 함수, k2 k는 2개의 키입니다.

이 암호화 스킴을 brute-force 하기 위한 간단한 접근법은 암호문을 k개마다2 복호화하고 중간 출력을 k개마다1 복호화하여 합계 2 × 2 k2 (또는 k1 + k2 2)의 k1 연산을 하는 것입니다.

Meet-in-the-middle 공격은 보다 효율적인 접근 방식을 사용합니다.C를 k2 복호화하면 다음과 같은 동등성을 얻을 수 있습니다.

공격자는 k k2 DEC2(C)의1 모든 값에 대한 ENC(P k2 )를 계산하여k1 총 2+2(k2 k의 크기가 같은 경우1 2개 k1 +1)의 k1 연산을 수행할 수 있습니다.어느k1 하나의 ENC(P) 동작의 결과가 DEC(Ck2) 동작의 결과와 일치하는 경우 k와 k12 쌍이 올바른 키일 수 있습니다.이 잠재적으로 올바른 키를 후보 키라고 합니다.공격자는 평문과 암호문의 두 번째 테스트 세트를 사용하여 테스트함으로써 어떤 후보 키가 올바른지 판별할 수 있습니다.

MITM 공격은 Data Encryption Standard(DES; 데이터 암호화 규격)가 Double DES가 아닌 Triple DES로 대체이유 중 하나입니다.공격자는 MITM 공격을 사용하여 Double DES를 2개의 조작과56 2개의 공간으로 강제할57 수 있으므로 [7]DES보다 약간 개선됩니다.Triple DES는 '트리플 길이'(168비트) 키를 사용하며, 2공간과112 2연산으로 중간자56 미트 인 더 미들 공격에 취약하지만 키 공간의 [2][3]크기 때문에 안전한 것으로 간주됩니다.

1D-MITM 공격 그림

MITM 알고리즘

다음을 계산합니다.

  • r N f ( , P ) f K display style( \ { SubCipher }{ } = mathit } kf _ { { 1} , P ) 、 \ } 。
    B })을 대응하는 1({ 함께 세트 A에 저장합니다.
  • B h 1 ( ,C ) , b 1 K display style { \ { _ { } = { _ {_ { 1 } , C } , \ 1 ) 。
    C 1을 세트A와 비교합니다.

하는 것이 발견되면 k 1, 1 테이블T의 후보 키쌍으로 합니다. P ,) \, C) \displaystyle (P, \ )의 T 을 테스트하여 유효성을 확인합니다.키쌍이 이 새로운 쌍으로 동작하지 않으면 ( 새로운 쌍으로 MITM을 다시 실행합니다.

MITM의 복잡성

keysize가 k인 경우 이 공격은 2개의 암호화(및 복호화)와 O(2k) 메모리만을 사용하여k+1 룩업테이블에 전송 계산 결과를 저장합니다.이는 O(1) 공간을 제외한 2개의 암호화를 필요로k 하는 순진한 공격과는 대조적입니다.

다차원 MITM(MD-MITM)

1D-MITM은 효율적일 수 있지만, 보다 고도의 공격이 개발되었습니다.다차원적인 중간자 미트 인 더 미들 공격(MD-MITM이라고도 함).이 방법은 서로 다른 키를 사용하여 3개 이상의 암호화를 사용하여 데이터를 암호화한 경우에 적합합니다.MD-MITM 공격은 중간(시퀀스 중 한 곳)에서 만나는 것이 아니라 암호 [6]내의 여러 위치에서 포워드 및 백워드 계산을 사용하여 여러 특정 중간 상태에 도달하려고 합니다.

공격이 블록 암호에 마운트되어야 한다고 가정합니다.여기서 암호화와 복호화는 전과 같이 정의됩니다.


즉, 평문 P는 동일한 블록 암호의 반복을 사용하여 여러 번 암호화됩니다.

MD-MITM 공격 그림

MD-MITM은 GOST 블록 암호의 암호 해독에 사용되어 왔습니다.이 암호에서는 [6]3D-MITM에 의해 공격에 소요되는 시간이 대폭 단축되었습니다.

MD-MITM 알고리즘

다음을 계산합니다.

B 1 대응하는 k H(\1 에 저장합니다.
B + 1({ 대응하는 n + ({ H + ({ 로 저장합니다.

중간 11})에 대해 가능한 각 추측에 대해 다음을 계산합니다.

r({})과 H({ 사이의 매치마다 k ({ 1 합니다
[검증 필요]
2})와 하는 k 2(\ 2(\ 에 저장합니다.
중간 2 대해 가능한 각 추측에 대해 다음을 계산합니다.
  • r {2})와 세트 2({2가 일치할 때마다
    일치하여 서브키 조합을 새로운 에 저장합니다.
  • 중간 대해 가능한 각 추측에 대해 다음을 계산합니다.
  1. i h E b ( k n , s nK { {{ n } = _ { b _ { n_ { b _ } , _ } q _ n ) 、 새로운 T_})에 -1(\{n-1과 일치하는지, k (\ k n(\ 합니다.
  2. C h r + C +1 ( n + , ) n + 1K ( \ { { n + 1 ={ }_ { _ } + _ + 1} 및 ({displaystyle1을 사용하여 displaystylen하는지 확인합니다.이 경우:

검색된서브키 (f , , k , k2, . , f+ ,k n+1)을 사용합니다.{ ( k _ { _ { 1} , _ { _ { , k _ { f _ {2} , k _ {_ { n } , k _ { n } , k _ { n

알고리즘에 중첩된 요소를 적어 둡니다.j 모든 가능한 값에 대한 추측은 이전j-1 s의 각 추측에 대해 수행됩니다.이는 이 MD-MITM 공격의 전체적인 시간 복잡성에 대해 기하급수적으로 복잡한 요소를 구성합니다.

MD-MITM의 복잡성

이 공격의 시간 복잡도는 f + b + + s ({2+ + 2} ( 1 + f + }} ( + k 3 + ) { (^ { k { b _ { b _ {2 + ^ { k { f {} + \ ) }

메모리의 복잡성에 대해서는, T_을 쉽게 알 수 있습니다.(는) 처음 작성된 후보값 테이블보다 훨씬 작습니다. i가 증가할수록 포함된 후보 값은 더 많은 조건을 충족해야 합니다.따라서 최종 에 전달되는 후보 수는 줄어듭니다.

은 MD-MITM으로 .

여기서 k는 키 전체의 길이(표준)를 나타냅니다.

데이터의 복잡성은 잘못된 키가 통과될 가능성(false positive)에 따라 달라집니다. 1/l (\1/입니다.여기서 l은 첫 번째 MITM 단계의 중간 상태입니다.중간 상태의 크기와 블록 크기가 동일한 경우가 많습니다!또한 첫 번째 MITM 단계 이후 테스트에 남은 키의 수를 고려하면 2 입니다.

따라서 첫 번째 MITM 단계 이후에는 2 - - (\ 2k - b 2}=k - 이며, b {\ b 블록 크기이다.

키의 최종 후보 값이 새로운 평문/암호문 쌍으로 테스트될 때마다 통과하는 키의 수에 키가 할 확률 1을 곱합니다.

브루트 포스 테스트(새로운 C의 후보 키 테스트)의 부분({pairs, 시간 - + - + - ( \ 2 { k - b } + 2k - b + { k - b} + 2^ { k - b } + 2 ^^ { k - b } + 2 ^ { k - 4b } ^ { k - { k - 4 b } } ) { k - { k - { k지수, 숫자는 0이 되는 경향이 있습니다.

데이터의 복잡성에 대한 결론은" ({ k ({ -pairs에 의해 제한되는 유사한 추론에 의해 결정됩니다.

2D-MITM의 구체적인 설치 예를 다음에 나타냅니다.

2D-MITM의 일반적인 예

이것은 블록 암호 암호에 2D-MITM이 어떻게 마운트되는지에 대한 일반적인 설명입니다.

2차원 MITM(2D-MITM)에서는 이 방법은 평문의 다중 암호화 내에서2개의 중간 상태에 도달하는 것입니다.아래 그림을 참조해 주세요.

2D-MITM 공격 그림

2D-MITM 알고리즘

다음을 계산합니다.

B })을 대응하는 1({ 함께 세트 A에 저장합니다.
h 2})와 하는 k 2({2}})를 세트 B에 저장합니다.

b e ({ { B e 2 ({ 사이의 중간 에 대해 가능한 각 추측에 대해 다음과 같이 계산합니다.

  • B 11})과 세트 A 사이의 매치마다 k 1({ 1({ 새로운 세트 T에 저장합니다.
  • B r 세트B가 일치할 때마다 T와 일치하는지 여부를 확인합니다.
    이 경우:

발견된 서브키조합( 1, k , , 2 사용하여 키가 올바른지 확인합니다.

2D-MITM의 복잡성

이 공격의 복잡성은 무차별적인 힘을 사용하지 않는 경우

where ⋅ denotes the length.

Main memory consumption is restricted by the construction of the sets A and B where T is much smaller than the others.

For data complexity see subsection on complexity for MD-MITM.

See also

References

  1. ^ "Crypto-IT".
  2. ^ a b Moore, Stephane (November 16, 2010). "Meet-in-the-Middle Attacks" (PDF): 2. {{cite journal}}: Cite journal requires journal= (help)
  3. ^ a b Blondeau, Céline. "Lecture 3: Block Ciphers" (PDF). CS-E4320 Cryptography and Data Security.
  4. ^ victoria, jaynor. "victoria15". victoria14. Archived from the original on July 14, 2021. Retrieved July 14, 2021.
  5. ^ ^ Diffie, Whitfield; Hellman, Martin E. (June 1977). "Exhaustive Cryptanalysis of the NBS Data Encryption Standard" (PDF). Computer. 10 (6): 74–84. doi:10.1109/C-M.1977.217750. S2CID 2412454.
  6. ^ a b c Zhu, Bo; Guang Gong (2011). "MD-MITM Attack and Its Applications to GOST, KTANTAN and Hummingbird-2". eCrypt.
  7. ^ Zhu, Bo; Guang Gong (2011). "MD-MITM Attack and Its Applications to GOST, KTANTAN and Hummingbird-2". eCrypt.