728x90
반응형
SMALL
SSL/TLS의 역할과 동작 방식
SSL(보안 소켓 계층, Secure Sockets Layer)과 TLS(전송 계층 보안, Transport Layer Security)는 인터넷 통신을 보호하는 프로토콜입니다. TLS는 SSL의 개선된 버전으로 현재 대부분의 시스템에서 사용됩니다. SSL/TLS는 웹사이트와 사용자 간 데이터를 안전하게 전송하는 데 사용됩니다.
1. SSL/TLS의 역할
- 데이터 암호화 (Encryption)
- 사용자와 서버 간 전송되는 데이터를 암호화하여 외부에서 읽거나 수정하지 못하도록 보호.
- 예시: HTTPS로 웹 브라우저와 서버 간 통신 암호화.
- 인증 (Authentication)
- 서버(웹사이트)가 신뢰할 수 있는 곳인지 사용자에게 보증.
- 예시: 웹사이트의 인증서를 사용해 사용자가 악의적인 사이트와 통신하지 않도록 보장.
- 데이터 무결성 (Integrity)
- 데이터가 전송 중 변경되지 않았음을 확인.
- 예시: 중간에 누군가가 데이터를 조작하려 한다면 이를 탐지.
2. SSL/TLS 동작 방식
2.1. 단계별 설명
클라이언트 Hello (Client Hello)
- 사용자의 웹 브라우저(클라이언트)가 서버에 연결 요청.
- 클라이언트는 사용할 암호화 알고리즘 목록, TLS 버전, 난수(random number)를 보냄.
서버 Hello (Server Hello)
- 서버는 클라이언트의 요청을 받고, 사용할 암호화 알고리즘 및 TLS 버전을 선택.
- 서버의 디지털 인증서(SSL 인증서)를 클라이언트에 전송.
- 서버도 난수를 생성하여 클라이언트에 보냄.
인증서 검증 (Certificate Verification)
- 클라이언트는 서버가 제공한 디지털 인증서를 검증.
- 인증서에 포함된 공개키, 인증기관(CA)의 서명 등을 확인.
- 신뢰할 수 없는 인증서라면 연결 중단.
- 클라이언트는 서버가 제공한 디지털 인증서를 검증.
키 교환 (Key Exchange)
클라이언트와 서버는 보안 연결을 위해 세션 키를 생성.
일반적으로
비대칭키 암호화
를 사용하여 세션 키를 안전하게 교환.
- 클라이언트는 서버의 공개키를 사용해 세션 키를 암호화하여 전송.
세션 키 암호화 (Session Key Encryption)
- 양쪽에서 동일한 세션 키를 공유하게 되면, 이후 통신은 대칭키 암호화를 통해 처리.
- 대칭키 암호화는 데이터 암호화 속도가 빠르고 효율적.
보안 연결 완료 (Secure Connection Established)
- 클라이언트와 서버 간 보안 통신이 시작됨.
- 모든 데이터는 암호화되어 전송.
2.2. 동작 과정 요약
- 클라이언트 → 서버: "안녕하세요! 저와 통신하기 위해 TLS 프로토콜을 사용합시다."
- 서버 → 클라이언트: "좋아요, 여기 제 인증서와 사용 가능한 암호화 방식입니다."
- 클라이언트 → 서버: "인증서 확인 완료! 여기 암호화된 세션 키입니다."
- 이후: 클라이언트와 서버 간 암호화된 데이터 전송 시작.
3. 용어 정리
용어 | 설명 |
---|---|
암호화 (Encryption) | 데이터를 읽을 수 없는 형태로 변환하여 기밀성을 유지. 암호화된 데이터는 복호화 키 없이는 읽을 수 없음. |
복호화 (Decryption) | 암호화된 데이터를 원래 상태로 되돌리는 과정. 복호화하려면 암호화할 때 사용된 키 또는 대응 키가 필요. |
대칭키 암호화 | 암호화와 복호화에 같은 키를 사용하는 방식. 속도가 빠름. |
비대칭키 암호화 | 암호화와 복호화에 다른 키(공개키와 개인키)를 사용하는 방식. 보안성이 뛰어나지만 속도가 느림. |
디지털 인증서 | 서버가 신뢰할 수 있는 곳인지 확인하기 위한 전자 문서. 인증 기관(CA)이 발급하며 서버의 공개키와 서버 정보가 포함됨. |
공개키 (Public Key) | 누구나 볼 수 있는 키로 데이터를 암호화. 복호화는 대응하는 개인키로만 가능. |
개인키 (Private Key) | 비밀로 유지되는 키로 데이터를 복호화하거나 디지털 서명 생성에 사용. 공개키와 쌍을 이루며 작동. |
세션 키 | 클라이언트와 서버 간 통신 중에 데이터를 암호화하는 데 사용되는 임시 키. 세션이 끝나면 폐기됨. |
인증 기관 (CA) | 디지털 인증서를 발급하는 신뢰할 수 있는 기관. 주요 CA로는 Let's Encrypt, DigiCert 등이 있음. |
4. SSL/TLS의 주요 용도
- HTTPS
- 웹 브라우저와 서버 간 안전한 데이터 통신을 보장.
- 사용 예: 온라인 쇼핑몰, 금융 서비스, 이메일 전송 등.
- 이메일 보안
- 이메일 송수신 시 데이터를 암호화하여 기밀성을 보장.
- 예: SMTP, IMAP 프로토콜에 TLS 적용.
- VPN 연결
- 원격 접속 시 데이터를 안전하게 암호화하여 전송.
- 파일 전송 보안
- FTP, SFTP 등 파일 전송 시 데이터 보호.
5. SSL/TLS의 발전
SSL 3.0 이후부터는 TLS라는 이름으로 프로토콜이 발전.
현재는 TLS 1.2와 TLS 1.3 이 표준으로 사용됨.
- TLS 1.3은 보안성과 성능이 더 뛰어나며, 불필요한 알고리즘 제거.
6. SSL/TLS의 장점과 단점
장점 | 단점 |
---|---|
데이터 기밀성, 무결성, 인증을 제공 | 서버 인증서 발급 및 관리 비용 발생 |
사용자가 웹사이트와 안전하게 통신하도록 보장 | 암호화로 인해 데이터 전송 속도 저하 가능 |
다양한 응용 분야에서 보안 표준으로 사용 | 올바르게 설정하지 않으면 보안 취약점 존재 |
7. SSL 인증서의 종류
- 도메인 검증 (DV): 도메인 소유권만 확인.
- 기관 검증 (OV): 도메인 소유권과 조직 정보 확인.
- 확장 검증 (EV): 추가적인 신뢰 정보를 포함하여 URL에 녹색 주소 표시줄 제공.
8. 요약
- SSL/TLS는 인터넷 통신을 안전하게 보호하기 위한 프로토콜.
- 암호화, 인증, 무결성을 통해 데이터를 안전하게 주고받을 수 있도록 보장.
- 현재 웹 표준은 TLS이며, HTTPS, 이메일, VPN 등 다양한 분야에서 사용됨.
반응형
SMALL
'보안' 카테고리의 다른 글
인증(Authentication)과 인가(Authorization)의 차이점 (0) | 2024.12.08 |
---|---|
XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이점과 방어 방법 (1) | 2024.12.08 |
대칭키와 비대칭키 암호화의 차이점 (0) | 2024.12.08 |
정보 보안의 3요소 (0) | 2024.12.08 |
SQL Injection과 방지 방법 (0) | 2024.12.05 |