대칭키 암호화 방식이란 ?
- 암호화 키와 복호화 키가 같은 암호화 방식
- 암호화, 복호화에 걸리는 시간이 짧으며 비교적 간단한 방식으로 구현이 가능하다.
- 현대에 가장 많이 사용되는 암호 중 하나
KEY
키는 암호화, MAC ( 메시지 인증 코드, 물리적 주소의 MAC과는 다르다) , 전자서명 등 암호기술에 반드시 필요한 number 이다.
키의 bit길이가 길수록 brute force 공격에 강하다. (비밀번호를 길게 설정하는 것이 보안상 안전한 것과 같은 의미)
키는 평문과 같은 가치를 갖는다. 즉 아무리 암호화가 되어있어도 키가 공개된다면 암호화 되지 않은 평문과 동일.
KEY 의 종류
- 재사용 여부로 구분하기
- 세션 키 : 통신 시 마다 한 번만 사용되는 키 (SSL/TLS 암호화 통신, 웹보안에서 세션이 어떤 것이였는지 생각해보면 이해가능)
- 마스터키 : 반복적으로 사용되는 키이다. (재사용)
- 암호화 대상으로 구분하기
- CEK : Contents Encrypting Key, data 자체를 암호화 하는 키.
- KEK : Key Encrypting Key , 암호화와 복호화시 양측에서 같은 키를 이용하는데 이때 키 분배의 문제점이 생긴다. 물론 사전분배를 할 수 있지만 만약 사전분배가 어려운 경우에는 키를 안전하게 상대방에게 공유하기 위해서 키를 다시 암호화하는데, 이때의 공유할 키를 암호화하는데 이용하는 키가 'KEK'이다.
- 의사 난수 생성기 (PRNG, pseudo random number generator)
> 키 생성에 필요한 난수를 만들어낸다.
컴퓨터에서 난수를 생성할 때 '규칙'이 필요하다. 이때 난수라는 것은 random의 개념인데, 그와 맞지 않게 '규칙'이 필요하다. 그래서 pseudo라는 말이 들어간다. 최대한 규칙이 없어보이게끔 만들어서 난수를 만드는 것이다.
대칭 암호화 알고리즘
DES ( 데스 , Data Encryption Standard)
- 1997년도 미국의 연방정보처리의 표준 암호로 채택됨
- 64bit 평문을 64bit로 암호화
- 64bit 블록 암호화 알고리즘
- 키의 크기는 56bit, 나머지 8bit는 parity check(패러티 체크, 오류를 검출)하기 위해 사용되는 부분이다. 따라서 실질적인 키의 크기는 48bit라고 생각하면 된다.
- brute force 공격으로 DES의 해독이 가능해졌고, 1998년 이후로 공식적 사용을 중단했으나 아직 여러 곳에서 사용
DES의 암호화 과정 개요
대략적 순서는 아래와 같다.
- pre-processing 단계 : 초기치환을 실행한다.
- 16번의 중간 round를 수행
- post-processing 단계 : 최종치환을 수행한다.
1. pre-processing
- 입력값은 64bit 단위로 나눈 평문의 조각
- 각 평문의 bit위치를 규칙에 의해 바꾼다. 이것을 초기전치라고 한다.
- 왼쪽 L(32bit) 과 오른쪽 R(32bit)로 나눈다.
2. 1-16 ROUND
- 입력 값은 이전 라운드에서 만들어진 L 과 R이 된다.
- 배타적 논리 합이란 ? : 두 수가 같으면 0을, 두 수가 다르면 1을 반환.
예시 ) 1100 \( \bigoplus \) 1001 = 0101
- 배타적 논리 합의 특징은 2번 반복하면 자기 자신으로 회귀한다는 것.
- 입력값은 다음과 같이 표현한다.
\(L_{1} = 0 , R_{1} = L_{0} \bigoplus f(R_{0},K_{1}) \)
- 이전 단계의 \(R_{0} \) 에 key(여기서는 f라는 함수로 쓰였다)를 적용한 것이다.
- 총 16회를 새끼꼬듯이 반복한다.
3. Post - processing
- 입력 값은 이전 라운드에서 만들어진 L과 R
- 최종적으로 계산된 L과 R을 합쳐 하나의 블록으로 만든다.
- 초기치환의 역치환을 적용한다.
DES 알고리즘은 brute force에 의해 이미 해독이 완료되었기 때문에 더 강력한 알고리즘이 필요하다.
트리플 DES
- DES에서의 암호화 강도를 높인 대칭키 암호 방식
- DES를 연속 3번 실행한 것이다.
- 수학적으로 DES 알고리즘 보다 2배의 암호화 강도를 가진다. 이는 충분히 강력한 것이 아니므로 AES 방식이 권장되고 있다.
- Triple DES는 2번의 DES 암호화 중간에 1회의 DES 복호화가 실행된다.
- 2개 혹은 3개의 키를 보통 사용하는데, 모두 동일한 키를 사용하면 일반 DES와 동일하다.
언뜻 보면 암호화가 일어난 뒤 복호화가 일어나므로 원상복구가 아닌가.. 라는 생각이 들 수 있다. 하지만 이때 사용되는 키 \(K_{1} , K_{2}, K_{3} \)은 모두 다른 키이므로, 복호화가 또 다른 방식의 암호화라고 생각하면 된다.
'사이버보안' 카테고리의 다른 글
네트워크보안 - Spoofing (0) | 2022.04.20 |
---|---|
4장 네트워크 보안 DoS - (2) (0) | 2022.04.19 |
4장 네트워크 보안 DoS - (1) (0) | 2022.04.19 |
2장 시스템보안(1) (0) | 2022.04.16 |