공시 한 판

정보보호론 개념서 · 대칭키 암호

대칭키 암호의 특성

설명 영상 대칭키 암호의 특성 · 2:31

핵심 정리

대칭키 암호는 암호화와 복호화에 같은 키를 쓰는 암호 방식이다. 암호화하는 측과 복호화하는 측이 같은 키를 공유해야 한다는 점이 공개키 암호와 가장 크게 구별되는 지점이다. 대칭키 암호의 핵심은 암호화와 복호화에 같은 키를 쓴다는 점이다. 두 당사자는 키를 비밀로 공유해야 한다. 제3자가 키를 알게 되면 암호문 전체가 해독될 수 있으므로, 키를 비밀로 지키는 것이 안전성의 출발점이다.

대칭키 암호 알고리즘은 공개키 암호 방식에 비해 암호화와 복호화 속도가 빠르다. 이런 속도 차이 때문에 실제 통신에서는 공개키 암호로 대칭키 암호의 공통 키를 먼저 공유한 뒤, 그 키로 실제 메시지를 암호화하는 구조가 흔하다. 전송 계층 보안(TLS)이 대표적인 예다. SSL/TLS는 대칭키 암호 알고리즘으로 메시지를 암호화해 기밀성을 제공한다.

대칭키 시스템의 안전성은 키 길이와 밀접한 관련이 있다. 일반적으로 키가 길수록 안전성은 높다. 그러나 키를 무한정 길게 하면 관리가 어려워진다. 대칭키 암호는 공개키 암호보다 키 길이가 상대적으로 짧다.

대칭키 암호는 처리 단위에 따라 블록 암호와 스트림 암호로 나뉜다. IDEA는 대칭키에 속하는 블록 암호 알고리즘이다. 스트림 암호는 데이터를 순차적으로 한 비트 또는 한 문자씩 처리하는 대칭 키 암호이다. 스트림 암호는 평문 스트림과 키스트림의 XOR 연산으로 암호문을 만든다.

대칭키 암호는 응용 제품에서도 쓰인다. PGP는 대칭 키 암호를 통해 기밀성을 제공한다. PGP는 메시지를 암호화할 때 Triple DES 같은 대칭 키 알고리즘을 사용한다. 커버로스에서 주고받는 대부분의 메시지도 대칭키 암호화로 기밀성을 보장한다. 이러한 응용은 대칭키 암호의 빠른 처리 속도가 대량 데이터 암호화에 적합하다는 점에 기반한다.

대칭키 암호의 장점은 빠른 처리 속도이고, 한계는 키 공유와 키 관리에 있다. 이 장점과 한계는 다음 쟁점에서 구체적으로 확인된다.

자세히

키 관리 부담

대칭키 암호에서 실무상 가장 큰 문제는 키 관리다. 통신하는 당사자가 둘이면 공유 키 하나로 충분하다. 그러나 대칭키 암호는 사용자가 늘어날수록 쌍마다 공유 키가 필요해 관리해야 할 키의 수가 증가한다. 이 구조에서는 키 길이를 늘려 안전성을 높일수록 키를 배포하고 보관하는 부담도 커진다. 키가 길수록 안전성은 높아지지만, 그만큼 키를 나누어 주고 보관할 방법도 더 필요해진다.

구분대칭키 암호공개키 암호
사용하는 키같은 키 하나공개키와 개인키
키의 공유당사자끼리 미리 공유공개키는 누구에게나 공개

대칭키 암호는 키를 미리 공유해야 하므로 키를 전달하는 과정의 보안도 따로 챙겨야 한다. 공개키 암호는 키 공유 과정을 줄이는 대신 연산이 무거워 대량 데이터 처리에는 불리하다. 두 방식은 이처럼 장단점이 맞물린다.

블록 암호의 구성

IDEA는 서로 다른 대수 그룹의 연산을 섞어 쓰는 블록 암호다. Blowfish는 키 길이를 가변적으로 정할 수 있어 안전성과 성능 요구에 맞춰 쓰는 블록 암호다. 두 알고리즘은 모두 데이터를 블록 단위로 처리하는 대칭키 암호라는 공통점이 있다. 다만 IDEA는 연산 구조가 특징이고 Blowfish는 키 길이를 정하는 방식이 특징이므로, 두 특징을 구분해 기억해야 한다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기