728x90
반응형
1. 대칭키란?
같은 키로 암호화와 복호화를 수행하는 방식입니다.
속도는 빠르고 구현이 간단하지만,
키가 노출될 경우 모든 통신이 해독 가능하다는 보안상 리스크가 있습니다.
2. 대칭키를 이용하는 방법
- 단순하게 대칭키만을 사용해서 사용하지 않고 흔히 비대칭키와 혼합해서 사용됩니다.
방식 1: RSA 기반(TLS 1.2 이하)
1. 클라이언트는 서버 인증서를 받고 → 공개키를 추출
2. 브라우저가 임의로 세션키(대칭키)를 생성
3. 이 세션키를 서버의 공개키로 암호화해서 전송
4. 서버는 자신의 비밀키로 복호화 → 세션키 확보
5. 이후 통신은 이 세션키(대칭키)로 암호화 진행
📌 이 방식은 RSA를 사용해 클라이언트가 대칭키를 생성하고 서버의 공개키로 암호화하여 전송하는 구조이며, 서버는 비밀키로 복호화하여 대칭키를 획득합니다.
방식 2: DH/ECDHE 기반(TLS 1.2 ~ 1.3)
요즘은 성능과 보안상의 이유로 Diffie-Hellman 키 교환 방식이 더 많이 사용됩니다.
1. 클라이언트와 서버는 서로 공개키 정보를 교환
2. 서로의 정보를 조합하여 동일한 대칭키를 계산
- 직접 키를 전달하지 않고도, 수학적 방식으로 같은 키를 공유
3. 이후 해당 키를 통해 암호화 통신
📌 이 방식은 키를 직접 전달하지 않고, 공개값과 개인키를 조합해 서로 같은 대칭키를 계산합니다.
📌 이 과정을 통해 중간자 공격(MITM)에 강하고, Perfect Forward Secrecy(PFS)를 보장합니다.
📌 특히 TLS 1.3에서는 RSA 기반 방식이 제거되고, ECDHE 방식만을 사용하도록 명시되어 있습니다.
728x90
반응형
'보안' 카테고리의 다른 글
| [암호화] 웹 보안은 SSL! (0) | 2025.08.19 |
|---|---|
| UUID(Universally Unique Identifier) 버전과 사용법 (6) | 2025.08.10 |
| 단방향 암호화(해시 알고리즘) (1) | 2025.07.12 |
| 암호화(Encryption)에 대해서 (1) | 2025.07.12 |
| JCE 암호화 트러블 슈팅 (1) | 2025.04.29 |