0Pricing
Cryptology Academy · 강의

Triple DES: DES 수명 연장하기

3DES가 여러 차례의 암호화를 통해 DES의 보안 수명을 연장한 방식과 현재에도 사용되는 분야를 학습합니다.

Triple DES: DES 수명 연장하기은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

이중 DES에 대한 중간 일치 공격

DES의 짧은 키 길이를 해결하는 가장 단순한 방법은 DES를 두 번 적용하는 것입니다(이중 DES): C = DES_K2(DES_K1(P)). 56비트 키 두 개를 사용하므로 명목상 키 공간은 2^112입니다.

그러나 중간 일치 공격은 이를 무력화합니다. 2^56개의 모든 K1 값으로 모든 평문을 암호화하고, 2^56개의 모든 K2 값으로 모든 암호문을 복호화한 다음, 중간 값이 일치하는 것을 찾는 방식입니다. 이 공격에는 2^56회의 작업과 2^56개의 저장 공간만 필요하므로 이중 DES는 단일 DES보다 보안상 이점이 없습니다.

2키 3중 DES의 보안성

2키 3중 DES는 두 개의 키만 사용하면서 DES 연산을 세 번 수행합니다: C = DES_K1(DES^-1_K2(DES_K1(P))). EDE(암호화-복호화-암호화) 순서는 하위 호환성을 위해 사용됩니다.

2키 3중 DES의 보안성은 알려진 공격을 기준으로 약 112비트이지만, 중간 일치 공격으로 인해 다소 낮아집니다. 2키 3중 DES는 많은 레거시 은행 및 결제 시스템에서 사용됩니다.

3키 3중 DES

3키 3중 DES는 서로 독립적인 세 키 K1, K2, K3를 사용합니다: C = DES_K3(DES^-1_K2(DES_K1(P))). 명목상 키 길이는 3 x 56 = 168비트이지만, 현재 알려진 최선의 공격에 대한 실질적인 보안성은 약 112비트입니다.

3키 3중 DES는 2키 3중 DES보다 높은 보안성을 제공하며, 3중 DES 자체가 폐기되기 전에는 NIST SP 800-131A와 같은 표준에서 새로운 애플리케이션에 권장되었습니다.

EDE 모드 설명

3중 DES의 암호화-복호화-암호화(EDE) 구조는 임의로 정해진 것이 아닙니다. K1 = K2 = K3이면 중간 복호화가 첫 번째 암호화를 되돌리고, 마지막 암호화는 단일 DES와 같은 결과를 만듭니다.

단일 DES와의 이러한 하위 호환성은 점진적인 전환에 매우 중요했습니다. 기존 DES 하드웨어와 소프트웨어는 데이터 손실 없이 전환 기간 동안 3중 DES 시스템과 상호 운용될 수 있었습니다.

단일 DES와의 하위 호환성

세 키를 모두 같게 설정하면 3중 DES를 단일 DES로 작동시킬 수 있습니다. 즉, 3중 DES 하드웨어가 동일한 회로를 사용하여 DES로 암호화된 데이터와 3중 DES로 암호화된 데이터를 모두 처리할 수 있습니다.

이는 수십억 달러 규모의 DES 기반 인프라를 보유한 은행 및 결제 시스템에 특히 중요했습니다. 3중 DES를 사용하면 모든 장비를 동시에 교체하지 않고도 하위 호환성을 유지하면서 점진적으로 전환할 수 있었습니다.

은행 및 EMV에서의 3중 DES

3중 DES는 새로운 애플리케이션에는 폐기된 상태이지만 은행 인프라에서 여전히 널리 사용됩니다. EMV 칩 결제 카드는 카드 인증과 거래 암호화에 3중 DES를 사용합니다.

은행 간 메시징에도 3중 DES가 레거시 메시지 인증 코드에 사용됩니다. 이미 구축된 금융 인프라의 규모가 워낙 크기 때문에 3중 DES는 폐기되었음에도 앞으로 여러 해 동안 현장에서 계속 사용될 것입니다.

NIST의 3중 DES 폐기(2023)

NIST는 SP 800-131A 개정 2를 통해 2023년에 3중 DES를 공식적으로 폐기했습니다. 이제 3중 DES의 모든 사용이 폐기 대상이므로 새 시스템에는 사용해서는 안 되며, 레거시 시스템에서도 다른 방식으로 이전해야 합니다.

권장되는 대체 암호는 고급 암호화 표준입니다. 고급 암호화 표준은 더 빠르고, 더 큰 블록(64비트가 아닌 128비트)을 사용하며, 128비트·192비트·256비트의 키 길이를 제공하고, 알려진 실용적 약점이 없습니다.

스위트32 생일 공격

2016년에 발표된 스위트32는 HTTPS에서 3중 DES를 대상으로 한 실용적인 공격을 보여 주었습니다. 64비트 블록 크기에서는 2^32개 블록(약 32GB의 데이터)이 지나면 CBC 모드에서 생일 역설에 따른 충돌이 발생하기 시작하여 평문에 대한 정보가 유출됩니다.

HTTPS 세션을 대상으로 할 때 스위트32에는 동일한 키로 약 785GB의 트래픽이 필요하며, 장시간 실행되는 인증된 세션을 이용하면 이를 달성할 수 있습니다. 이 공격으로 인해 브라우저는 고급 암호화 표준-GCM을 우선 사용하고 기본 암호 모음에서 3중 DES를 제거하게 되었습니다.

3중 DES의 성능상 불리함

3중 DES는 블록마다 DES 연산을 세 번 수행합니다. DES 자체는 현대 CPU와 다른 비트 단위 연산 방식을 사용하는 1970년대 하드웨어를 기준으로 설계되었기 때문에 현대 하드웨어에서 느립니다.

소프트웨어 효율을 고려하고 고급 암호화 표준의 NI 명령어와 같은 현대 하드웨어를 활용하도록 설계된 고급 암호화 표준은 소프트웨어에서 3중 DES보다 10~100배 빠릅니다. 최신 인텔/AMD CPU의 고급 암호화 표준용 NI 명령어는 초당 여러 기가바이트를 암호화할 수 있지만, 3중 DES는 초당 100MB에 도달하기도 어렵습니다.

블록 크기는 64비트로 유지됩니다

세 번의 DES 연산과 더 긴 키를 사용하더라도 트리플 DES는 DES의 64비트 블록 크기를 유지합니다. 블록 크기는 페이스텔 구조의 기본 매개변수이므로 알고리즘을 다시 설계하지 않고는 변경할 수 없습니다.

이 64비트 블록 크기가 스위트32 취약점의 근본 원인입니다. 에이이에스의 128비트 블록 크기를 사용하면 생일 공격에 2^64개의 블록(약 18엑사바이트)이 필요하므로 실제로는 계산이 불가능합니다.

NIST의 트리플 DES에서 에이이에스로의 전환 경로

NIST SP 800-131A는 트리플 DES에서 에이이에스로 전환하기 위한 상세한 이행 지침을 제공합니다. TLS 암호 조합부터 저장 데이터 암호화까지 모든 트리플 DES 사용처를 대체하는 방법으로 128비트, 192비트 또는 256비트 키를 사용하는 에이이에스를 권고합니다.

이행은 충분한 지원을 받고 있습니다. 모든 최신 암호 라이브러리와 하드웨어 플랫폼이 에이이에스를 지원하며, 하드웨어 가속을 제공하는 경우도 많습니다. 조직은 이 이행을 하드웨어 교체 프로젝트가 아니라 소프트웨어 구성 업데이트로 취급하도록 권고받습니다.

트리플 DES 키 옵션 퀴즈

트리플 DES 구성에 대한 지식을 확인해 보십시오.

핵심 정리: 트리플 DES

트리플 DES는 EDE 구조를 사용해 DES의 수명을 연장하기 위해 만들어졌습니다. 중간 일치 공격 때문에 더블 DES는 보안을 두 배로 높일 수 없습니다. 키가 같은 트리플 DES는 단일 DES로 성능이 저하되어 이전 버전과의 호환성을 제공합니다.

NIST는 64비트 블록 크기 취약점(스위트32)과 에이이에스에 비해 낮은 성능을 이유로 트리플 DES를 2023년에 더 이상 사용하지 않도록 지정했습니다. 그러나 트리플 DES는 기존 시스템으로서 은행 및 EMV 기반 시설에 남아 있습니다.

자주 묻는 질문

“Triple DES: DES 수명 연장하기” 강의는 무료인가요?

네 — “Triple DES: DES 수명 연장하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Triple DES: DES 수명 연장하기”에서 뭘 배우나요?

3DES가 여러 차례의 암호화를 통해 DES의 보안 수명을 연장한 방식과 현재에도 사용되는 분야를 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Triple DES: DES 수명 연장하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. DES 설계와 Lucifer 암호
  2. DES는 어떻게 해독되었는가
  3. Triple DES: DES 수명 연장하기
  4. DES의 교훈: 우리가 배운 것
← Cryptology Academy(으)로 돌아가기