대칭 암호화는 암호화와 복호화에 동일한 키를 사용합니다. 따라서 빠르고 효율적입니다. 표준 대칭 알고리즘인 AES는 수 기가바이트의 데이터를 단 몇 초 만에 암호화할 수 있습니다. 이러한 속도 덕분에 AES는 암호화 분야에서 가장 널리 사용되는 알고리즘이 되었습니다. 모든 HTTPS 연결, 암호화된 디스크, VPN 터널은 대부분의 데이터 암호화에 대칭 암호화를 사용합니다. 하지만 문제는 키 공유입니다. 두 당사자가 안전하게 통신하려면 동일한 키를 공유해야 합니다. 그런데 도청자가 키를 알아내지 못하도록 어떻게 공유해야 할까요?
이 문제는 키 교환을 처리하는 비대칭 암호화를 통해 해결됩니다. 두 시스템은 공개 키 암호화를 사용하여 대칭 키를 합의한 다음, 실제 데이터에는 대칭 암호화를 사용합니다. 이러한 하이브리드 방식이 인터넷을 안전하게 보호합니다. 대칭 키는 한 번 사용 후 폐기되는데, 이를 전방향 비밀성(forward secrecy)이라고 합니다. 장기 개인 키가 나중에 유출되더라도 이전 세션은 안전하게 유지됩니다. 하지만 대칭 암호화에도 약점이 있습니다. 약한 키, 재사용된 논스(nonce), 잘못된 패딩은 강력한 알고리즘을 사용하는 시스템을 무력화시킨 사례가 있습니다. 알고리즘 자체보다 구현 방식이 더 중요합니다. AES-256은 사실상 해독 불가능합니다. 하지만 암호화된 데이터 옆에 키를 평문으로 저장하는 시스템은 그렇지 않습니다.
일반적인 대칭 알고리즘
- AES — 어디에서나 사용되는 표준입니다.
- ChaCha20 — 스트림 암호, 모바일 기기에서 빠른 속도 제공
- 3DES — 구형 기술이며, 단계적으로 사용이 중단되고 있습니다.
- 복어(Blowfish) - 오래된 표현이지만 일부 용도에서 여전히 사용됩니다.
대칭 암호화는 빠르고 강력하며 간단합니다. 어려운 점은 암호화 키를 상대방에게 안전하게 전달하는 것입니다.
Comments
No comments yet. Be the first to share a thought.
Leave a comment