1. 대칭 암호
ㅇ 대칭 키 / 단일 키 / 공통 키 / 공유 키 / 공유 비밀 키
(Symmetric Key, Shared Key, Shared Secret Key)
- 암호화 및 역암호화에 동일하게 사용되는 암호 키
ㅇ 대칭키 암호 알고리즘 / 비밀 키 방식 / 공유 키 방식
- 송수신자가 동일한 키(공유 비밀 키)를 갖고,
- 같은 키로 암호화 및 역암호화 과정을 수행하는 방식
2. 대칭키 방식의 특징
ㅇ 암호화 키(Encryption Key)와 이를 푸는 역암호화(Decryption) 키가 같음
- 암호 키 : 암호화 키 (비밀 키) = 역암호화 키 (비밀 키)
* 대칭키 방식에 반대되는 방식 ☞ 비대칭키 방식(공개키 암호방식)
. 공개키는 공개하고, 비밀키 만 안전하게 유지하는 방식
.. 공개 키(Public Key) : 암호화할때 사용하는 암호화키
.. 비밀 키(Secrete Key) 또는 개인키(Private Key) : 암호를 풀 때 사용하는 키
.. 단, `비 대칭키 방식`은 반드시 두 개가 수학적인 쌍을 이루어야 함
ㅇ 대칭키 방식의 보안 목표
- 메세지의 기밀성 유지
ㅇ 대칭키 방식의 장점
- 크기가 큰 메세지(평문)를 암호화할 때 비대칭키 방식 보다 훨씬 효율적임
ㅇ 대칭키 방식의 단점
- 키 분배 문제
- 사용되는/필요한 키의 수가 너무 많음 : n(n-1)/2
- 부인방지(Non-Repudiation) 불가능
3. 대칭키 방식의 구분 (입력되는 데이터 처리 방식에 따라 구분)
ㅇ 블록 암호화
- 입력되는 평문 데이터를 블록 단위로 암호화 수행
- 例) DES, triple DES, AES 등
. DES : 64 비트 평문 블록 -> 56 비트 암호키 -> 64 비트 암호문 블록
. triple DES : 64 비트 평문 블록 -> 112,168 비트 암호키 -> 64 비트 암호문 블록
. AES : 128 비트 평문 블록 -> 128,192,256 비트 암호키 -> 128 비트 암호문 블록
- 실제 운용 환경에서, 블록 암호화되는 평문 길이는,
. 64,128 비트 등으로 고정적이기 보다는,
. 적용되는 `암호 운영 모드`에 따라 달라짐
ㅇ 스트림 암호화
- 통상, 한 번에 한 바이트씩 계속 반복하며 암호화 수행
. 비트/바이트/단어들을 단위화하여 순차적으로 암호화
.. 비트나 바이트 처럼 데이터의 작은 단위들이 연이어 입력되며,
.. 현재의 입력에 대한 출력이 과거의 입력에 대해 영향을 받게되는 방식의 알고리즘
- 例) RC4, A5/1 등
- 적용 : 통신 채널, 웹 링크 보안(SSL/TLS) 등
4. 대칭 키의 안전한 전달/분배/공유 방법
※ ☞ 키 분배, 키 교환(키 합의) 참조
- 비밀스럽게 관리되는 1개의 `단일 키` 에만 집착하는 것이 아니고,
- 수학적인 관계를 갖는 2개의 키를 사용(`공개 키` 및 `개인 비밀 키`)하여,
- 인증,키교환 등을 해결하고,
- 이후에 비로소, 대칭 암호 키를 확보 공유하는 방식을 취함