차분 공격
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
차분 공격은 1980년대 후반에 처음 공개된 암호 해독 기법으로, 블록 암호 및 암호학적 해시 함수의 취약점을 분석하는 데 사용된다. 선택 평문 공격을 기반으로 하며, 평문과 암호문의 차이를 분석하여 암호 알고리즘의 비밀 키를 찾아낸다. IBM은 차분 공격 기술을 자체적으로 발견하고 NSA와 공유했으나, 기술 유출로 인한 경쟁력 약화를 우려하여 비밀로 유지했다. 이후 차분 공격에 대한 내성을 갖는 것이 암호 설계의 중요한 과제가 되었으며, AES와 같은 현대 암호는 이 공격에 안전하도록 설계되었다. 차분 공격은 고차 차분 공격, 절단 차분 공격, 불가능 차분 공격, 부메랑 공격 등의 세부 유형으로 나뉘며, 한국에서도 차분 공격을 포함한 암호 해독 기술 연구가 활발히 진행되고 있다.
더 읽어볼만한 페이지
- 암호 공격 - 재전송 공격
재전송 공격은 유효한 데이터 전송을 가로채 재사용하여 권한 없는 접근을 시도하는 사이버 공격으로, 세션 ID, 일회용 비밀번호, 타임스탬핑 등을 통해 방지할 수 있으며, IoT 장치와 같은 시스템에서 보안 위험을 초래할 수 있다. - 암호 공격 - 랜섬웨어
랜섬웨어는 컴퓨터 시스템 접근을 제한하고 금전을 요구하는 악성 소프트웨어이며, 암호화 기술을 활용하여 파일 접근을 막고, 비트코인 등장 이후 피해가 급증했으며, 이중 갈취 및 서비스형 랜섬웨어 형태로 진화하여 기업과 기관을 대상으로 공격하고, 파일 암호화, 시스템 잠금, 데이터 유출 등의 피해를 발생시킨다.
차분 공격 | |
---|---|
개요 | |
종류 | 암호 해독 기법 |
대상 | 주로 블록 암호 |
기반 | 차분의 암호화 과정에서의 전파 특성 분석 |
창시자 | 엘리 비함과 아디 샤미르 |
역사 | |
개발 | 1980년대 후반, 엘리 비함과 아디 샤미르에 의해 개발 |
최초 발표 | 1990년대 초반 |
영향 | DES를 비롯한 다양한 블록 암호 설계에 큰 영향 |
DES에 대한 차분 공격의 성공 | DES 설계 시 차분 공격에 대한 내성이 고려되었음을 시사 |
원리 | |
핵심 개념 | 입력 차분 (input difference) 출력 차분 (output difference) 차분 분포표 (Difference Distribution Table, DDT) |
과정 | |
차분 분포표 (DDT) | |
정의 | 특정 입력 차분에 대한 모든 가능한 출력 차분의 확률 분포를 나타내는 표 |
활용 | 암호의 취약점 분석 및 공격 전략 수립에 활용 |
적용 | |
대상 암호 | DES, AES, 기타 블록 암호 |
효과 | DES와 같은 암호의 취약점 발견 암호 설계 원리 개선에 기여 차분 공격에 대한 내성을 강화하는 새로운 암호 설계 |
장점 | |
적용 범위 | 다양한 블록 암호에 적용 가능 |
분석 용이성 | 암호의 내부 구조에 대한 이해 없이도 분석 가능 |
단점 | |
데이터 요구량 | 공격 성공을 위해 많은 양의 평문-암호문 쌍 필요 |
복잡성 | 복잡한 암호 구조에 대한 분석 어려움 |
2. 역사
차분 해독법은 1980년대 말 엘리 비함과 아디 샤미르에 의해 일반에 공개되었다.[11] 1970년대에 IBM이 이미 알고 있었고, 이를 바탕으로 DES의 S-box를 수정했다는 사실이 돈 코퍼스미스의 1994년 논문을 통해 밝혀졌다. 코퍼스미스는 1974년 초에 IBM 내에서 차분 해독법을 알고 있었으며, DES 설계 목표 중 하나가 차분 해독법에 대한 내성이었다고 언급했다.[8]
스티븐 레비에 따르면, IBM은 차분 해독법을 자체적으로 발견했고, NSA는 그 기술을 이미 알고 있었을 것이라고 한다.[9] 코퍼스미스는 "NSA와의 논의 후, 설계 방침 공개는 많은 암호에 효과적인 기술인 차분 해독법을 노출시킬 것이라고 확신했다. 이는 암호학 분야에서 미국의 우위를 약화시킬 것이다."라고 말하며, IBM이 비밀을 유지한 이유를 설명했다.[8] IBM에서는 차분 해독법을 "T-attack"[8] 또는 "Tickle attack"[10]이라고 불렀다.
DES는 차분 해독법에 대한 내성을 갖도록 설계되었지만, FEAL 등 다른 암호는 취약했다. 초기에 제안된 4단 FEAL (FEAL-4)은 단 8개의 선택 평문으로 해독 가능했고, 31단도 공격이 가능했다.
차분 공격법이 일반에 널리 알려진 후, 암호 설계자들은 이 공격에 대한 내성을 기본적인 설계 기준으로 삼았으며, AES를 비롯한 많은 새로운 암호 알고리즘은 이 공격에 대해 안전하다고 증명되었다.
2. 1. 초기 발견 (1970년대 ~ 1980년대)
차분 공격은 1980년대 후반 엘리 비함(Eli Biham)과 아디 샤미르(Adi Shamir)가 발견하면서 처음 알려졌다. 이들은 여러 블록 암호와 암호학적 해시 함수의 취약성을 발표하였으며, 데이터 암호화 표준(DES)의 취약성을 연구하면서 DES가 차분 공격에 강인하도록 설계되었다는 것을 발견하기도 했다.[11]1994년 IBM의 DES 팀에 있었던 돈 코퍼스미스(Don Coppersmith)는 1974년에 IBM이 차분 공격을 발견하였으며, IBM 내부에서는 이를 "T-attack" 또는 "Tickle attack"으로 불렀고 DES의 설계 목적 중 하나가 이에 문제가 없도록 하는 것이었다고 밝혔다.[12][4] 스티븐 레비(Steven Levy)에 따르면, IBM은 차분 공격을 자체적으로 발견했으며, 국가안보국(NSA)도 이 기술을 이미 알고 있었다고 한다.[3][9] 코퍼스미스는 "NSA와의 논의 끝에 설계 고려 사항을 공개하면 여러 암호에 사용할 수 있는 강력한 기술인 차분 공격 기술이 드러나게 될 것이라고 결정했습니다. 이는 미국이 암호학 분야에서 다른 국가에 비해 누리고 있는 경쟁 우위를 약화시킬 것입니다."라고 설명했다.[2]
DES는 차분 공격에 대한 저항을 염두에 두고 설계되었지만, 다른 동시대 암호들은 취약한 것으로 드러났다. 공격의 초기 대상은 FEAL 블록 암호였다. 4라운드(FEAL-4)를 가진 원래 제안된 버전은 단 8개의 선택 평문만으로 해독할 수 있으며, FEAL의 31라운드 버전조차도 공격에 취약하다. 이와 대조적으로, 이 계획은 247개의 선택 평문을 사용하여 DES를 성공적으로 암호 해독할 수 있다.
2. 2. 공개 및 발전 (1990년대 이후)
차분 공격은 1980년대 후반 엘리 비함과 아디 샤미르에 의해 발견되었다고 알려져 있다. 이들은 데이터 암호화 표준(DES)을 비롯한 다양한 블록 암호 및 해시 함수에 대한 여러 공격을 발표했다. 비함과 샤미르는 DES가 차분 공격에 놀랍도록 강하지만, 알고리즘을 약간 수정하면 훨씬 더 취약해질 수 있다는 점을 언급했다.[1]1994년, IBM DES팀의 초기 멤버였던 돈 코퍼스미스는 차분 공격이 1974년 이전에 IBM에 알려졌으며, 차분 공격에 대한 방어가 설계 목표였다고 주장하는 논문을 발표했다.[2] 스티븐 레비에 따르면 IBM은 차분 공격을 자체적으로 발견했으며, 국가안보국(NSA)도 이 기술을 잘 알고 있었다고 한다.[3] 코퍼스미스는 "NSA와의 논의 끝에 설계 고려 사항을 공개하면 여러 암호에 사용할 수 있는 강력한 기술인 차분 공격 기술이 드러나게 될 것이라고 결정했습니다. 이는 미국이 암호학 분야에서 다른 국가에 비해 누리고 있는 경쟁 우위를 약화시킬 것입니다."라고 설명하면서 IBM은 일부 비밀을 유지했다고 밝혔다.[2] IBM 내에서 차분 공격은 "T-공격"[2] 또는 "Tickle 공격"[4]으로 알려졌다.
DES는 차분 공격에 대한 저항을 염두에 두고 설계되었지만, 다른 동시대 암호들은 취약했다. 초기 공격 대상은 FEAL 블록 암호였다. 4라운드(FEAL-4)를 가진 원래 제안된 버전은 단 8개의 선택 평문만으로 해독할 수 있었고, FEAL의 31라운드 버전조차도 공격에 취약했다.
차분 공격이 널리 알려진 후, 암호 설계자들은 이 공격에 대한 내성을 중요한 설계 기준으로 고려하게 되었다. 고급 암호화 표준(AES)을 비롯한 많은 현대 암호 알고리즘은 차분 공격에 대해 안전하다고 증명되었다.
3. 공격 방법
차분 공격은 선택 평문 공격뿐만 아니라 기지 평문 공격, 암호문 단독 공격에도 적용될 수 있도록 확장할 수 있다. 공격의 기본적인 방법은 고정된 차이를 가지는 평문 쌍을 이용하는 것이다. 차이는 주로 배타적 논리합(XOR) 연산을 사용하며, 암호문의 차이 분포에서 통계적 패턴을 찾는다.
대부분의 암호에서 공격을 성공시키기 위해서는 입력 차분을 신중하게 선택해야 한다. 이를 위해 암호 알고리즘의 내부 구조를 분석하여 각 단계에서 높은 확률로 유지되는 차분 경로, 즉 '차분 특성'을 찾는다. 차분 특성은 암호화 과정의 각 단계를 거치면서 높은 확률로 유지되는 차이의 경로를 의미한다.[5]
차분 공격은 주어진 입력/출력 차이 패턴이 특정 입력 값에 대해서만 발생한다는 사실에 의존한다. 비선형 구성 요소(주로 S-box)에서 원하는 출력 차이를 관찰하면 가능한 키 값을 추측할 수 있다.
예를 들어, 입력과 출력의 최하위 비트(LSB) 차이가 1로 같을 확률이 4/256인 경우 (이는 AES 암호의 비선형 함수에서 가능하다), 가능한 입력 값은 4개(2쌍)뿐이다. 만약 키가 XOR 연산 전에 비선형 함수를 통과하고, 차분을 허용하는 값이 {2, 3}, {4, 5}라고 가정하면, 공격자가 {6, 7}을 입력하고 올바른 출력 차이를 얻었을 때, 키 K는 2 또는 4가 된다.
암호를 차분 공격으로부터 보호하려면 n비트 비선형 함수에서 '차분 균일성'을 2−(n − 1)에 가깝게 만들어야 한다. 이렇게 하면 차분 공격은 무차별 대입 공격과 동일한 수준의 복잡도를 가지게 된다.[7]
3. 1. 기본 원리
차분 공격은 일반적으로 선택 평문 공격(chosen-plaintext attack)을 가정한다. 즉, 공격자는 자신이 선택한 평문에 대한 암호문을 얻을 수 있다. 기본 방법은 일정한 '차이'를 갖는 평문 쌍을 사용하는 것이다. 차이는 여러 방식으로 정의할 수 있지만, 배타적 OR (XOR) 연산이 일반적이다. 공격자는 해당 암호문의 차이를 계산하여 그 분포에서 통계적 패턴을 감지하려고 한다.일반적인 차분 공격의 과정은 다음과 같다.
- 비트 평문 및 그 평문과 비슷한 다른 평문 을 준비하고, 이들의 XOR 차이를 라고 둔다.
- 를 각각 암호화한 결과를 라고 정의하며 이들의 XOR 차이를 로 둔다.
이상적인 경우, 어떤 에 대해 특정 가 나타날 확률은 이다. 하지만 암호에 취약점이 존재하는 경우 이 확률은 더 크게 나타날 수 있다. 이때 를 차분(differential)이라고 부른다. 차분 공격은 이러한 차분 쌍을 찾아내는 것을 목표로 한다.
결과적으로 차이의 쌍을 '''차분'''이라고 한다. 이들의 통계적 특성은 암호화에 사용된 S-box의 특성에 따라 달라지므로, 공격자는 다음과 같은 차분을 분석한다. 여기서
(그리고 ⊕는 배타적 OR을 나타낸다) 각 S-box ''S''에 대해. 기본 공격에서 특정 암호문 차이가 특히 자주 발생할 것으로 예상된다. 이러한 방식으로 암호를 무작위와 구별할 수 있다. 더 정교한 변형은 무차별 대입 공격보다 더 빠르게 키를 복구할 수 있게 해준다.
차분 쌍을 이용하여 블록 암호의 암호 키를 찾는 공격이 가능할 수도 있다. 가령 블록 암호가 대입-치환 네트워크(substitution-permutation network) 구조를 가질 때 마지막 라운드를 제외한 나머지 과정에서 차분 현상이 일어났다면, 마지막 라운드에 입력되는 값의 차이를 일정 확률로 알 수 있고, 출력값의 차이를 관측할 수 있으므로 마지막 라운드에 더해지는 키의 일부도 알 수 있기 때문이다.[5]
특정 암호에 대해 공격이 성공하려면 입력 차이를 신중하게 선택해야 한다. 알고리즘 내부 분석이 수행되며, 표준 방법은 '차분 특성'이라고 하는 암호화의 다양한 단계를 통해 매우 가능성이 높은 차이 경로를 추적하는 것이다.
3. 2. 공격 절차
차분 공격은 일반적으로 선택 평문 공격으로, 공격자는 자신이 선택한 평문의 집합에 대한 암호문을 얻을 수 있어야 한다.[5] 하지만 기지 평문 공격이나 심지어 암호문 단독 공격을 허용하는 확장도 있다. 기본 방법은 일정한 '차이'로 관련된 평문의 쌍을 사용한다. 차이는 여러 방식으로 정의할 수 있지만, 배타적 OR (XOR) 연산이 일반적이다. 그런 다음 공격자는 해당 암호문의 차이를 계산하여 그 분포에서 통계적 패턴을 감지하려고 한다. 결과적으로 차이의 쌍을 '''차분'''이라고 한다. 이들의 통계적 특성은 암호화에 사용된 S-box의 특성에 따라 달라지므로, 공격자는 다음과 같은 차분을 분석한다. 여기서(그리고 ⊕는 배타적 OR을 나타낸다) 각 S-box ''S''에 대해. 기본 공격에서 특정 암호문 차이가 특히 자주 발생할 것으로 예상된다. 이러한 방식으로 암호를 무작위와 구별할 수 있다. 더 정교한 변형은 무차별 대입 공격보다 더 빠르게 키를 복구할 수 있게 해준다.
차분 암호 분석을 통한 키 복구의 가장 기본적인 형태에서, 공격자는 다수의 평문 쌍에 대한 암호문을 요청한 다음, 차분이 전체 라운드 수 ''r''에서 최소 ''r'' − 1 라운드 동안 유지된다고 가정한다.[5] 그런 다음 공격자는 마지막 라운드 전 블록 간의 차이가 고정되어 있다고 가정하여 가능한 라운드 키(마지막 라운드)를 추론한다. 라운드 키가 짧을 때는 각 가능한 라운드 키로 한 라운드씩 암호문 쌍을 무차별 대입 복호화하여 이를 수행할 수 있다. 하나의 라운드 키가 다른 키보다 훨씬 더 자주 잠재적인 라운드 키로 간주되면, 그것이 올바른 라운드 키라고 가정한다.
특정 암호에 대해 공격이 성공하려면 입력 차이를 신중하게 선택해야 한다. 알고리즘 내부 분석이 수행되며, 표준 방법은 ''차분 특성''이라고 하는 암호화의 다양한 단계를 통해 매우 가능성이 높은 차이 경로를 추적하는 것이다.
차분 공격은 주어진 입력/출력 차이 패턴이 특정 입력 값에 대해서만 발생한다는 사실에 주로 의존한다. 일반적으로 이 공격은 비선형 구성 요소가 하나의 단단한 구성 요소인 것처럼 적용된다(대개 룩업 테이블 또는 ''S-box''이다). 원하는 출력 차이(선택되거나 알려진 평문 입력 간의 차이)를 관찰하면 가능한 키 값을 ''추측''할 수 있다.
예를 들어, 1 => 1의 차분(입력의 최하위 비트(LSB)의 차이가 출력의 LSB의 차이로 이어진다는 의미)이 4/256의 확률로 발생하면(예를 들어, AES 암호의 비선형 함수에서 가능), 해당 차분이 가능한 입력 값은 4개(또는 2쌍)뿐이다. 키가 평가 전에 XOR된 비선형 함수가 있고 차분을 허용하는 값이 {2,3} 및 {4,5}라고 가정해 보자. 공격자가 {6, 7} 값을 보내고 올바른 출력 차이를 관찰하면 키가 6 ⊕ K = 2 또는 6 ⊕ K = 4임을 의미하며, 즉 키 K는 2 또는 4이다.
본질적으로 암호를 이 공격으로부터 보호하려면 n비트 비선형 함수의 경우 이상적으로 ''차분 균일성''을 달성하기 위해 2−(''n'' − 1)에 최대한 가까운 값을 찾아야 한다. 이러한 경우 차분 공격은 키를 결정하는 데 키를 무차별 대입하는 것과 동일한 양의 작업을 필요로 한다.[7]
3. 3. 차분 특성
차분 공격의 성공 가능성을 높이려면 암호 알고리즘의 내부 구조를 분석하여 "차분 특성"을 찾아야 한다. 차분 특성은 암호화 과정의 각 단계를 거치면서 높은 확률로 유지되는 차이의 경로를 의미한다.[5]4. 세부 유형
차분 공격에는 다음과 같은 다양한 유형이 있다.
- 고차 미분 공격: 일반적인 차분 공격보다 더 높은 차수의 차분을 사용한다.
- 절단 미분 공격: 전체 비트가 아닌 일부 비트에 대한 차분만을 고려한다.
- 불가능 차분 공격: 특정 차분이 발생할 확률이 0인 경우를 이용하며, 고차 미분 공격, 절단 미분 공격과 함께 사용되기도 한다.
- 부메랑 공격: 두 개의 짧은 차분 특성을 연결하여 전체 암호에 대한 공격을 구성한다.
4. 1. 고차 차분 공격 (Higher-Order Differential Attack)
고차 차분 공격은 일반적인 차분 공격보다 더 높은 차수의 차분을 사용하는 공격 방법이다.4. 2. 절단 차분 공격 (Truncated Differential Attack)
절단 미분 공격은 전체 비트가 아닌 일부 비트에 대한 차분만을 고려하는 공격 방법이다.4. 3. 불능 차분 공격 (Impossible Differential Attack)
특정 차분이 발생할 확률이 0인 경우를 이용하는 공격 방법으로, 고차 미분 공격, 절단 미분 공격과 함께 사용된다.4. 4. 부메랑 공격 (Boomerang Attack)
부메랑 공격은 두 개의 짧은 차분 특성을 연결하여 전체 암호에 대한 공격을 구성하는 방법이다.5. 현대 암호에의 적용 및 대응
현대 암호 설계에서는 차분 공격이 공개된 이후, 이 공격에 대한 저항성을 갖추는 것이 중요한 고려 사항이 되었다. 고급 암호화 표준(AES)을 포함한 많은 암호 알고리즘이 차분 공격에 대해 안전하다고 증명되었다.[6]
이상적인 n비트 비선형 함수는 차분 공격에 대한 최적의 저항성을 제공하기 위해 2−(''n'' − 1)에 가까운 차분 균일성을 가져야 한다.[7]
5. 1. 현대 암호의 안전성
차분 공격이 공개된 이후, 현대 암호 설계에서는 이 공격에 대한 저항성을 갖추는 것이 중요한 고려 사항이 되었다. 고급 암호화 표준(AES)을 포함한 많은 암호 알고리즘은 차분 공격에 대해 안전하다고 증명되었다.[6]이상적인 n비트 비선형 함수는 차분 공격에 대한 최적의 저항성을 제공하기 위해 2−(''n'' − 1)에 가까운 차분 균일성을 가져야 한다.[7] 예를 들어, AES 비선형 함수는 최대 차분 확률이 4/256이다. 이론적으로는 키를 무차별 대입하는 것보다 절반의 작업으로 키를 결정할 수 있지만, AES는 높은 분기(branch) 특성으로 인해 여러 라운드에 걸쳐 높은 확률의 경로가 존재하지 않아 차분 공격에 대해 안전하다.
5. 2. AES의 예시
AES의 비선형 함수는 최대 256분의 4의 차분 확률을 갖는다. AES는 분기(branch) 특성이 높아 여러 라운드에 걸쳐 높은 확률의 차분 경로가 존재하기 어렵다.[7] 예를 들어, 현재 S-box를 사용하는 AES는 (256분의 4)50 또는 2-300보다 높은 확률로 고정된 차분을 생성하지 않으며, 이는 128비트 블록 암호에 필요한 임계값 2-128보다 훨씬 낮다. 이는 AES가 차분 공격에 대해 매우 안전함을 의미한다.[7]6. 한국의 관점 및 대응
한국은 암호 해독 기술에 대한 연구와 함께, 암호 알고리즘의 안전성을 확보하기 위한 정책적 노력을 기울이고 있다. 특히, 국가보안기술연구소를 중심으로 암호 알고리즘의 안전성 평가 및 새로운 암호 개발 연구가 이루어지고 있다.
6. 1. 연구 동향
한국에서는 차분 공격을 비롯한 다양한 암호 해독 기술에 대한 연구가 활발히 진행되고 있다. 특히, 국가보안기술연구소 등 국책 연구기관을 중심으로 암호 알고리즘의 안전성 평가 및 새로운 암호 개발 연구가 이루어지고 있다.참조
[1]
서적
Differential cryptanalysis of the data encryption standard
Springer Verlag
1993
[2]
간행물
The Data Encryption Standard (DES) and its strength against attacks
http://simson.net/re[...]
1994-05
[3]
서적
Crypto: How the Code Rebels Beat the Government — Saving Privacy in the Digital Age
Penguin Books
[4]
웹사이트
Re: Reverse engineering and the Clipper chip
https://groups.googl[...]
1996-08-15
[5]
웹사이트
Differential Cryptanalysis - an overview {{!}} ScienceDirect Topics
https://www.scienced[...]
2023-04-13
[6]
간행물
Report on the Development of the Advanced Encryption Standard (AES)
2001-05
[7]
서적
Fast Software Encryption
Springer
2009
[8]
간행물
The Data Encryption Standard (DES) and its strength against attacks
http://www.research.[...]
1994-05
[9]
서적
"Crypto: How the Code Rebels Beat the Government — Saving Privacy in the Digital Age
Penguin Books
2001
[10]
뉴스
Re: Reverse engineering and the Clipper chip"
https://groups.googl[...]
sci.crypt
1996-08-15
[11]
저널
Differential Cryptanalysis of the Data Encryption Standard - Advances in Cryptology
1992
[12]
저널
The Data Encryption Standard (DES) and its strength against attacks
1994
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com