symmetric encryption

대칭키 암호는 같은 비밀 키를 공유한 뒤 데이터만 빠르게 보호한다

대칭키 암호의 강점은 빠른 처리이고, 약점은 키 공유입니다. TLS는 핸드셰이크에서 트래픽 키를 합의한 뒤 실제 HTTP 데이터는 AEAD 대칭키 암호로 보호합니다.

sender 평문과 같은 비밀 키를 준비 HTTP 본문, 트래픽 키, nonce가 암호화 입력입니다.
plaintext + key + nonce
AEAD 암호문과 인증 태그를 만든다 읽지 못하게 숨기고, 중간 수정도 태그 검증으로 잡습니다.
ciphertext + tag
receiver 같은 키로만 복호화 가능 키, nonce, tag가 맞아야 원래 평문을 복원합니다.
same key + nonce + tag
조건
맞아야 하는 것
틀리면 생기는 일
비밀 키
양쪽이 같은 키를 보유
복호화 실패 또는 공격자 노출
nonce
같은 키 안에서 재사용 금지
암호문 패턴 노출 위험
tag
암호문과 부가 데이터 검증
변조된 레코드는 폐기
TLS 위치 대칭키는 핸드셰이크 뒤의 record layer에서 일한다 공개키 기술은 서버를 인증하고 공유 비밀을 합의하는 데 쓰이고, 실제 요청/응답 바이트는 여기서 나온 트래픽 키로 빠르게 보호합니다.
handshake secret → traffic key → encrypted records

빠르다 AES-GCM, ChaCha20-Poly1305처럼 대량 데이터 보호에 적합합니다.

키 공유가 어렵다 비밀 키를 네트워크에 그대로 보내면 이후 통신이 모두 노출됩니다.

TLS는 둘을 나눈다 키 합의는 핸드셰이크에서, 데이터 보호는 대칭키 record에서 처리합니다.