📌 SSL (Secure Sockets Layer)
- 데이터 암호화와 보안 통신을 위한 프로토콜
- 웹 서버와 브라우저 간에 전송되는 데이터를 암호화하여 도청, 변조를 방지
- 암호화, 서버 인증, 데이터 무결성
📌 TLS (Transport Layer Security)
- SSL의 후속 프로토콜, SSL의 보안 취약점 개선
- 네트워크 통신을 암호화하고 보안을 강화
📌 SSL 인증서 (SSL Certificate)
- SSL 암호화 통신을 사용하기 위한 디지털 인증서
- 웹 사이트의 신뢰성을 보장하고 서버와 브라우저 간의 안전한 통신을 지원
- 도메인 이름, 서버 공개키, 인증기관 정보 포함
📌 HTTPS ( Hypertext Transfer Protocol Secure)
- HTTP의 보안 버전
- SSL/TLS 프로토콜을 이용하여 HTTP 프로토콜로 주고받는 데이터를 암호화
- HTTP + SSL/TLS(인증서) = HTTPS
📌 SSL/TLS 통신 과정
- 서버와 클라이언트가 안전하게 통신할 수 있도록 여러 단계를 거쳐 통신을 암호화하고 보호하는 과정을 진행
1. SSL/TLS 핸드셰이크 (Handshaking)
- 서버와 클라이언트가 서로 안전한 연결을 맺기 위해 소통하는 과정
- 서버 인증과 암호화 키 교환이 이루어짐
1.1) 클라이언트가 서버에 요청을 보냄
클라이언트 ------------------------> ClientHello 메시지 전송 ------------------------> 서버
(SSL/TLS 버전, 암호화 알고리즘, 압축 방법 등 포함)
1.2) 서버가 클라이언트의 요청 수락
클라이언트 <------------------------ ServerHello 메시지 전송 <------------------------ 서버
(서버의 SSL/TLS 버전, 암호화 알고리즘 포함)
1.3) 서버 인증서 전송
클라이언트 <----------------------------- SSL 인증서 전송 <----------------------------- 서버
(서버의 도메인명, 공개 키, 인증기관(CA) 정보 등 포함)
1.4) 클라이언트가 서버 인증서 확인
(신뢰할 수 있는 인증기관에서 발급된 것인지 확인 후 유효하면)
클라이언트 --------> 서버의 공개 키로 예비 마스터 암호를 암호화해 전송 --------> 서버
(무작위 바이트 문자열)
1.5) 서버가 예비 마스터 암호 복호화
- 서버의 비공개 키로 클라이언트가 보낸 암호화된 예비 마스터 암호를 복호화
1.6) 세션 키 생성 및 교환
- 클라이언트와 서버가 모두 클라이언트 무작위, 서버 무작위, 예비 마스터 암호를 이용해 세션 키 생성
- 클라이언트와 서버가 세션키로 암호화된 완료 메시지를 주고 받음
1.7) 핸드셰이크 완료, 암호화 통신 시작
- 대칭키 암호화(세션 키)를 사용해 클라이언트와 서버가 암호화된 데이터를 안전하게 주고받게 됨
2. 데이터 암호화 및 무결성
- 암호화: 데이터는 세션 키를 사용하여 대칭키 암호화 방식으로 암호화되며 외부에서 데이터 내용을 확인할 수 없음
- 무결성: SSL/TLS는 메시지 인증 코드(MAC)를 사용하여 데이터가 전송 도중 변경되지 않았는지 확인
📌 SSL/TLS 인증 방식
- 서버 인증, 클라이언트 인증 두 가지 방식 존재
1. 서버 인증 (Server Authentication)
- 서버는 자신의 SSL 인증서를 클라이언트에게 전송하여 자기 자신이 신뢰할 수 있는 도메인인지 증명
- 클라이언트는 인증서가 인증기관(CA)에 의해 서명된 것인지 확인, 유효하면 통신 시작
- 웹사이트의 HTTPS 연결에서 확인
2. 클라이언트 인증 (Client Authentication)
- 서버가 클라이언트의 신원을 확인하고 싶을 때 사용
- 클라이언트는 자신의 인증서를 서버에 보내어 신뢰할 수 있는 사용자인지 인증 받을 수 있음
- 보안이 중요한 은행 서비스, 기업 내부 시스템 등에서 사용
📌 SSL/TLS 인증서 종류
- DV 인증서 (Domain Validation): 도메인만 인증, 발급이 빠르고 간단함
- OV 인증서 (Organization Validation): 조직의 신뢰성까지 인증, DV보다 보안 수준이 높음
- EV 인증서 (Extended Validation): 가장 높은 수준의 보안 제공. 주소창에 녹색 자물쇠로 표시 됨
참고
SSL/TLS Handshake: Ensuring Secure Online Interactions - SSL.com
SSL/TLS handshake establishes encrypted link between client-server to enable secure data transmission. It authenticates parties, agrees on encryption, and creates session keys through digital certificates, asymmetric encryption, cipher suites.
www.ssl.com
'기타' 카테고리의 다른 글
[기타] 폰트가 고민 될 때 - codingfont 폰트 토너먼트 (0) | 2025.02.06 |
---|