2024. 4. 23. 23:32ㆍ컴퓨터 보안
key의 길이가 56비트밖에 되지 않아 전수조사 공격(Brute Force Attack)에 취약
- 1998년 56시간 안에 해독하는 HW개발
- 1999년 22시간 15분 안으로 단축
==> 3중 DES 채택
하지만 다중 DES나 3중 DES는 별 차이가 없었음...
이것을 해결하기 위해 강력하고 효율적인 새 암호 알고리즘 공모를 열어 이전에 사용하던 암호화 방식보다 보안이 강력한 암호화 방식을 채택하고자 하였습니다. 해당 공모에는 여러 가지 조건이 있었는데,
1. 알고리즘이 공개적으로 밝혀져야 했다고합니다.
2. 128/192/264비트의 세 가지 키를 가져야 합니다.
3. 호환성이 뛰어나야 함
이 공모를 통해서 채택된 암호화 방식이 AES 암호화 방식입니다.
AES 방식은 10, 12, 14번 돌릴 수 있다고 합니다.
처음에는 사람들이 AES 방식을 많이 돌릴수록 보안이 뛰어날 줄 알았는데 컴퓨터 보안에서는 어느 순간을 넘어가면 비슷하다는 것을 알게 되었습니다.
Shift 연산: 56비트 키를 두 개의 28비트로 나눈 후, 각 반을 왼쪽으로 순환 시프트합니다.
Shift 연산은 DES의 보안성을 강화하는 데 기여합니다.
Compress 방식은 보통 암축 함수로 언급되며, 주로 초기 키와 관련된 작업을 수행합니다. 이 방식은 DES의 보안을 강화하고, 키의 다양성을 보장하는 중요한 역할을 하고 있습니다.
DES 서브키를 생성 데는 여러 순서가 존재합니다.
초기 순열 (Initial Permutation, IP)
- DES 알고리즘의 첫 번째 단계로, 입력 데이터의 비트를 재배열하여 확산(diffusion)과 혼란(confusion)을 도입합니다.
- 초기 순열은 고정되어 있으며, 각 데이터 블록이 동일한 프로세스를 거치도록 보장합니다.
2. 키 생성 (Key Generation)
- 실제 암호화 과정이 시작되기 전에 56비트 키를 생성해야 합니다.
- 키 생성 과정에는 패리티 드롭, 압축 순열, 그리고 왼쪽 순환 시프트가 포함됩니다.
- 최종적으로 16개의 서브키가 생성됩니다.
3. Feistel 네트워크
- DES 알고리즘의 핵심은 Feistel 네트워크입니다.
- 이 네트워크는 실제 암호화 및 복호화 과정을 담당합니다.
- Feistel 네트워크는 16개의 라운드로 구성되어 있으며, 각 라운드에서 순열과 치환 연산을 조합합니다.
- 각 라운드에서 64비트 데이터 블록을 두 개의 32비트 반으로 나눕니다 (왼쪽: L, 오른쪽: R).
- 오른쪽 반은 확장 순열을 사용하여 48비트로 확장하고, 현재 라운드의 서브키와 비트별 XOR 연산을 수행합니다.
- 결과는 S-박스를 통해 치환되며, S-박스는 비선형 치환을 수행합니다.
- 왼쪽과 오른쪽 반을 교환하고 다음 라운드를 위해 반복합니다.
4. 최종 순열 (Final Permutation, FP)
- Feistel 네트워크의 16개 라운드 후에 데이터에 최종 순열이 적용됩니다.
- 이는 초기 순열의 역입니다.
- DES 알고리즘의 첫 번째 단계로, 입력 데이터의 비트를 재배열하여 확산과 혼란을 도입합니다.
Q1. 전수조사 공격(Brute Force Attack) 이란?
=> 암호를 풀기 위해 가능한 모든 값을 대입하는 공격 방법입니다. 이 공격은 다양한 암호화된 데이터, 비밀번호, 로그인 자격 증명 및 암호화 키를 시도하며, 올바른 값을 찾을 때까지 시스템적으로 모든 가능한 조합을 확인합니다.
Q2. 키의 길이가 56bit일 때 전수조사 공격에 취약한 이유는?
- 키 공간의 크기: DES 암호화에서 사용되는 키의 길이가 56비트입니다. 이는 총 72조 개의 가능한 키를 의미합니다.
- 전수조사 공격: 전수조사 공격은 가능한 모든 키 조합을 시도하여 올바른 키를 찾는 방법입니다. 키의 길이가 짧을수록 전수조사 공격이 더 쉽게 가능합니다.
- 효율성: 56비트 키를 모두 시도하는 것은 시간과 자원이 많이 소요됩니다.
- 암호화 보안성: 56비트 키는 현대의 컴퓨팅 능력을 고려할 때 취약합니다.
'컴퓨터 보안' 카테고리의 다른 글
대칭 암호화의 한계점 (2) | 2024.06.12 |
---|---|
암호화 기법 (0) | 2024.04.10 |
DES 암호 기법 (0) | 2024.04.03 |