각자의 약점이 서로를 메우는 결
둘을 정의로만 가르기보다, 왜 섞어 쓰는지로 말씀드리고 싶습니다. 대칭키는 암호화와 복호화에 같은 키를 쓰는 방식이라 빠르지만, 그 키를 상대에게 안전하게 건네는 게 어렵습니다. 비대칭키는 공개해도 되는 키와 본인만 가진 키, 둘로 나뉘어 키 전달 문제는 풀리지만, 계산이 무거워 큰 데이터에는 느립니다. 즉 둘은 한쪽이 강한 곳에서 다른 쪽이 약합니다. 보안 웹 통신은 이 약점을 서로 메우게 설계됩니다. 처음 연결할 때 비대칭키로, 앞으로 쓸 대칭키를 안전하게 주고받습니다. 키 전달 문제를 비대칭키가 풉니다. 그다음 실제 데이터는 그 대칭키로 빠르게 주고받습니다. 속도 문제를 대칭키가 풉니다. 즉 느린 비대칭키로 열쇠를 안전하게 건네고, 빠른 대칭키로 본 통신을 한다는 구조입니다. 다만 세부 절차나 인증서 검증까지 다 안다고는 못 한다는 한계는 둡니다. 핵심은, 정의가 아니라 각자의 약점이 서로를 메워 함께 쓰인다는 인과를 짚는다는 점입니다.