약한 키
Weak key암호학에서 약한 키는 특정 암호와 함께 사용되며 암호는 바람직하지 않은 방식으로 동작합니다.취약 키는 일반적으로 전체 키 공간의 극히 일부입니다. 즉, 보통 메시지를 암호화하기 위해 임의의 키를 생성할 경우 취약 키는 보안 문제를 일으킬 가능성이 매우 낮습니다.단, 암호에는 약한 키가 없는 것이 바람직하다고 간주됩니다.약한 키가 없는 암호는 플랫 또는 선형 키 공간을 가지고 있다고 합니다.
역사적 기원
사실상 모든 로터 기반 암호 머신(1925년 이후)에는 다수의 취약한 키가 생성되는 구현 결함이 있습니다.일부 로터 기계는 현대의 블록 및 스트림 암호처럼 다른 것보다 약한 키에 더 많은 문제를 가지고 있습니다.
최초의 스트림 암호 기계 역시 로터 기계였으며 기존의 로터 기계와 같은 약한 키 문제가 있었다.T52는 취약한 키 문제가 있는 스트림 암호 기계 중 하나였습니다.
영국은 1942년 여름과 가을에 T52 트래픽을 처음 감지했다.하나는 시칠리아와 리비아 사이의 연결고리로 코드명은 "스터전"이고, 다른 하나는 에게 해에서 시칠리아로 코드명은 "마켈린"이다.양쪽 링크의 오퍼레이터는 동일한 머신 설정으로 여러 메시지를 암호화하여 다수의 깊이를 생성했습니다.
T52에는 T52a와 T52b(전기 노이즈 억제만 다름), T52c, T52d 및 T52e의 여러 버전이 있습니다.T52 a/b와 T52c는 암호학적으로 약했지만, 마지막 두 개는 더 발전된 장치였다. 바퀴의 움직임은 간헐적이었고, 바퀴 자체의 입력 데이터로 사용되는 논리 회로에 의해 제어되었다.
또한 개념상의 결함(매우 미묘한 결함 포함)도 다수 제거되었습니다.이러한 결함 중 하나는 키 스트림을 고정된 지점으로 재설정하는 기능으로, 이는 규율이 없는 기계 운영자에 의한 키 재사용으로 이어졌습니다.
DES의 취약한 키
블록 암호 DES에는 "weak key" 및 "semi-weak key"라고 불리는 몇 가지 특정 키가 있습니다.이것들은, DES 의 암호화 모드가 DES 의 복호화 모드(잠재적으로는 다른 키의 암호화 모드)와 동일하게 동작하도록 하는 키입니다.
동작 시 비밀 56비트키는 DES 키스케줄에 따라 16개의 서브키로 분할됩니다.16개의 DES 라운드마다 1개의 서브키가 사용됩니다.DES 취약 키는 16개의 동일한 서브 키를 생성합니다.이 문제는 키(16진수로 표시)가 [1]다음과 같은 경우에 발생합니다.
- 번갈아 1 + 0 (0x0101010101)
- 'F' + 'E' (0xFEFEFEFEFEFEFEFE) 교대로 표시
- '0xE0E0E0F1F1F1'
- '0x1F1F1F0E0E0'E'
구현에서 패리티 비트가 고려되지 않으면 반전 패리티 비트를 가진 대응하는 키가 약한 키로서 기능하는 경우가 있습니다.
- all 제로(0x00000000000000)
- 모두 1개(0xFFFFFFFFFF)
- '0xE1E1E1F0F0F0'
- '0x1E1E1E0F0F0'F'
약한 키를 사용하면 DES 키스케줄 내의 Permated Choice 1(PC-1; 순열 선택 1)의 결과로 라운드키는 모두0, 모두1 또는 제로1 패턴의 교대로 됩니다.
모든 서브키가 동일하고 DES는 Feistel 네트워크이기 때문에 암호화 기능은 자기 변환됩니다.즉, 안전한 것처럼 보이는 암호 텍스트를 1회 암호화해도 2회 암호화하면 원래의 평문이 생성됩니다.
DES에는 준취약 키도 있어 각각 알고리즘에서 8번 사용되는2개의 다른 서브키만 생성됩니다.즉, K와 K2 쌍으로1 제공되며 다음과 같은 특성을 가집니다.
여기서K E(M)는 키 K로 메시지 M을 암호화하는 암호화 알고리즘입니다.6개의 반취약 키쌍이 있습니다.
- 0x011F010E010E 및 0x1F011F010E010E01
- 0x01E001E001F101F1 및 0xE001E001F101
- 0x01FE01FE01FE01FE 및 0xFE01FE01FE01FE01
- 0x1FE01FE00EF10EF1 및 0xE01FE01FF10EF10e
- 0x1FFE1FFE0EFE0EFE 및 0xFE1FFE1FFE0EFE0e
- 0xE0FE0FEF1FEF1FE 및 0xFEE0FE0FEF1FEF1
(16개가 아닌) 4개의 서브키만을 생성하는 약한 키도 48개 있습니다.NIST [2]간행물에서 찾을 수 있다.
이러한 약한 키와 약한 키는 DES의 "치명적인 결함"으로 간주되지 않습니다.DES에 사용할 수 있는 키는 2개16(7.21 × 10, 약 72,000조)이며56, 그 중 4개는 약하고 12개는 반약하다.이는 가능한 키 공간의 극히 일부이기 때문에 사용자는 걱정할 필요가 없습니다.필요한 경우 키가 생성될 때 약한 키 또는 약한 키를 확인할 수 있습니다.그것들은 매우 적고 알아보기 쉽다.단, 현재 DES 키는 모두 강제적으로 사용할 수 있기 때문에 DES는 현재 일반적인 용도로 권장되지 않습니다.DES 키는 딥 크랙 머신에 의해 며칠 단위로 크래킹된 지 수십 년이 지났습니다.컴퓨터에 의해 크래킹이 이루어지기 때문에 최신 솔루션은 그 시간 범위 내에서 훨씬 저렴합니다.진보의 예는 Deep Crack의 기사에 있다.
취약한 키를 가진 알고리즘 목록
- 상기와 같이 DES.
- RC4. RC4의 약한 초기화 벡터는 공격자가 알려진 일반 텍스트 공격을 가할 수 있도록 하며 WEP의 보안을 [3]손상시키는 데 널리 사용되고 있습니다.
- IDEA. IDEA의 약한 키는 선택한 일반 텍스트 공격에서 식별할 수 있습니다.이들 비트는 평문 비트와 암호문 비트의 XOR 합계를 예측 가능하게 합니다.이러한 키의 리스트는 없지만, 「구조」로 식별할 수 있습니다.
- 복어.복어의 S박스는 키에 의존하기 때문에 복어의 약한 키는 나쁜 S박스를 만들어 냅니다.약한 키를 사용하면 쉽게 만들 수 있는 축소된 원형 변종 Blowfish에 대한 선택된 일반 텍스트 공격이 있습니다.이것은 완전한 16라운드 복어의 우려가 아니다.
- GMAC. AES-GCM 구성에서 자주 사용됩니다.취약 키는 인증 키H의 그룹 순서로 식별할 수 있습니다(AES-GCM의 경우 H는 제로 블록을 암호화하여 암호화 키에서 파생됩니다).
- RSA 및 DSA2012년 8월 Nadia Henninger, Zakir Durumeric, Eric Wustrow, J. Alex Halderman은 키 생성 중 엔트로피가 부족하기 때문에 평가한 TLS 증명서가 공유 키를 공유 키임을 발견하고 공개 [4]키만 인식하는 TLS 및 SSH 호스트의 DSA 및 RSA 개인 키를 얻을 수 있었습니다.
설계 목표로서의 취약 키 없음
평평한 키 공간(즉, 모든 키가 동일한 강도를 갖는 것)을 갖는 목표는 항상 암호 설계 목표입니다.DES 의 경우와 같이, 모두 식별 가능하거나 식별 가능한 경우, 소수의 취약한 키가 허용될 수 있습니다.알 수 없는 취약한 키가 있는 알고리즘은 [citation needed]큰 신뢰를 얻지 못합니다.
약한 키를 잘못 사용하는 것에 대한 두 가지 주요 대책:
- 생성된 키를 알려진 취약 키 목록과 비교하거나 취약 키 거부를 키 스케줄에 포함시킵니다.
- 약한 키의 수가 (키스페이스의 크기에 비해) 매우 적은 것으로 알려진 경우, 키를 랜덤으로 균일하게 생성하면 약한 키의 확률이 (알려진) 매우 작은 수치임을 보증합니다.
다수의 취약한 키는 암호 설계에서 중대한 결함입니다.그렇게 되면 랜덤하게 생성된 키가 취약한 키가 될 가능성이 커지기 때문에 암호화되어 있는 메시지의 보안이 저하됩니다.또한 이러한 경우 무작위로 생성된 키의 취약점을 확인하는 데 시간이 더 오래 걸릴 것이며, 이는 '효율성'을 위해 단축키를 유혹할 것이다.
단, 보안 암호화 해시함수(Davies 등)를 구축하기 위한 조작 모드에서 블록 암호를 사용하는 경우처럼 약한 키는 상대방이 어떤 키를 사용하는지 어느 정도 제어할 수 있는 경우가 훨씬 많습니다.마이어)
「 」를 참조해 주세요.
레퍼런스
- ^ FIPS, NBS Data Encryption Standard 구현 및 사용에 관한 가이드라인 FIPS-PUB 74, http://www.itl.nist.gov/fipspubs/fip74.htm
- ^ NIST, TDEA(Triple Data Encryption Algorithm) 블록 암호 권장, 특별 간행물 800-67, 14페이지
- ^ 총통, S, 맨틴, I, I. 샤미르, A.RC4의 키스케줄링 알고리즘의 약점제8회 암호화 분야 워크숍(2001년 8월), http://citeseer.ist.psu.edu/fluhrer01weaknesses.html
- ^ "Research Paper - factorable.net". factorable.net. Retrieved 2020-06-26.
