Chapter 02. 대칭 암호와 메시지 기밀성 - 2.1 대칭 암호 원리
* 대칭 암호 = 관용 암호 = 비밀키 암호 = 단일 키 암호
2.1 대칭 암호 원리
□ 대칭 암호에 대한 두가지 필수사항
- 공격자가 깰 수 없는 강한 알고리즘(암호문, 평문을 공격자가 가지고 있더라도 키를 알 수 없어야 함)
- 송신자와 수신자가 안전한 방법을 통하여 키를 공유하여야 함
□ 대칭키 암호 시스템의 특성
1. 평문을 암호문으로 전환하는 데 사용되는 연산 유형
- 두 가지 일반적 유형으로 대체와 치환이 있다.
- 이 두가지 연산을 통해 정보가 손실되지 않아야 한다. (연산을 역으로 수행할 수 있어야 한다.)
2. 동일한 키를 사용( 암호화 키 = 복호화 키)
- 암호화 키와 복호화 키가 일치하지 않는다면 비대칭 암호(=공개키 암호)라고 한다.
3. 평문이 처리되는 방법으로는 블록암호 방식과 스트림 암호 방식이 있다.
- 블록 암호 : 한 블록씩 처리
- 스트림 암호 : 입력 요소를 연속적으로 처리
□ 암호 해독 : 평문이나 키를 찾으려는 시도(해독자는 암호 알고리즘을 알고 있다는 전제)
- 알려진 암호문 공격 : 해독가가 암호문만 알고 있는 경우 (가장 해독하기 어려움)
- 알려진 평문 공격 : 해독가는 암호 알고리즘, 해독해야 하는 암호문, 비밀키로 만들어진 한쌍 또는 여러 쌍의 형문-암호문을 알고 있음
- 선택 평문 공격 : 해독가는 자신이 선택한 메시지를 암호화 시스템(암호화 알고리즘 + 키)에 입력할 수 있는 경우
- 선택 암호문 공격 : 해독가는 자신이 선택한 암호문을 복호화 시스템(복호화 알고리즘 + 키)에 입력할 수 있는 경우
- 선택문 공격 : 해독가는 자신이 선택한 암호문 또는 평문을 암호화시스템 또는 복호화 시스템에 모두 입력할 수 있는 경우
□ 암호 구조가 계산적으로 안전하다는 의미는 다음 두가지를 의미한다.
- 암호문을 깨는 데 비용이 암호화 된 정보의 가치보다 크다.
- 암호문을 깨는 데 걸리는 시간이 해당 정보의 수명보다 크다.
* 56비트를 단 10시간밖에 걸리지 않으므로 56비트를 사용하는 DES 암호는 더 이상 안전한 암호 알고리즘이 아니다.
□ 전수공격 : 모든 가능한 키를 이용하여 암호문으로부터 의미가 있는 평문을 얻어 낼 때까지 시도하는 공격 방법
□ Feistel 암호 구조
- 모든 라운드 과정은 구조가 같다.
- 평문을 LE0과 RE0 두 조각으로 나눈다.
- RE(i-1)을 K1을 사용하여 라운드 알고리즘 F로 변환한 값에 LE(i-1)와 XOR 한 값을 RE(i)에 넣는다.
- LE(i)은 RE(i-1)값을 넣는다.
- 같은 방법으로 여러 라운드를 하여 암호문을 생성한다.
- 매 라운드의 매개변수인 라운드 서브키 Ki를 사용한다.
- 복호 시 각 라운드를 반대로 하면 된다.
o DES를 포함해서 일반적인 대칭 블록 암호 알고리즘은 Feistel 암호 함수를 사용한다.
o 대칭 블록 암호 매개변수
- 블록 크기 : 블록 길이가 길수록 보안이 강해지지만 속도가 떨어진다. 64비트가 가장 합리적이다.
- 키 크기 : 키 길이가 크면 보안이 강화되나 속도가 떨어진다. 128비트가 가장 합리적이다.
- 라운드 수 : 라운드 수가 증가하면 보안이 강화된다. 16라운드가 가장 일반적이다.
- 서브키서브 키 생성 알고리즘 : 키 K로부터 서브 키 Ki를 만드는 알고리즘이다. 복잡할수록 암호 해독이 어려워진다.
- 라운드 함수 F가 복잡할수록 암호 해독이 어려워진다.
o Feistel 암호 설계 시 고려사항
- 빠른 소프트웨어 암호/복호 : 많은 경우 하드웨어 적인 구현을 피할 수 있도록 암호화는 응용 프로그램이나 유티ㄹ리티 함수에 내장시키므로 알고리즘의 실행속도를 반드시 고려하여야 한다.
- 용이한 분석 : 알고리즘을 간결하게 만들수록 취약점을 찾기가 쉬워져 보안성을 강화할 수 있다.
o Feistel 암호는 암호 알고리즘과 복호 알고리즘을 다른 알고리즘으로 구현할 필요가 없다는 것이 장점이다.
'네트워크보안에센셜' 카테고리의 다른 글
Chapter 02. 대칭 암호와 메시지 기밀성 - 2.5 암호 블록 운용 모드 (0) | 2020.09.15 |
---|---|
Chapter 02. 대칭 암호와 메시지 기밀서 - 2.4 스트림 암호와 RC4 (0) | 2020.09.10 |
2.2 대칭 암호 알고리즘, 2.3 랜덤넘버와 의사랜덤넘버 (0) | 2020.09.09 |
네트워크 보안 에센셜 - Chapter 01. 개요 (0) | 2020.09.06 |
네트워크보안에센셜 공부 계획 (0) | 2020.09.06 |