SSL/TLS(보안 소켓 계층 / 전송 계층 보안)

이메일 및 보안
웹 서버와 브라우저 간의 통신을 암호화하는 암호화 프로토콜로, HTTPS 및 자물쇠 아이콘으로 표시됩니다.
← 용어집으로 돌아가기

SSL/TLS란?

SSL(Secure Sockets Layer)과 TLS(Transport Layer Security)는 네트워크 통신을 보호하는 암호화 프로토콜입니다. TLS는 SSL의 후속 표준이지만 일상적으로 SSL이라는 말이 둘을 함께 가리키기도 합니다. 두 프로토콜은 브라우저와 서버 사이의 데이터를 암호화해 HTTPS를 가능하게 합니다.

SSL과 TLS의 간단한 역사

버전연도상태
SSL 1.01994출시되지 않음(결함)
SSL 2.01995폐기됨(안전하지 않음)
SSL 3.01996폐기됨(POODLE 취약점)
TLS 1.01999폐기됨
TLS 1.12006폐기됨
TLS 1.22008현재 표준
TLS 1.32018최신 권장 버전

현대 시스템은 TLS 1.2 또는 TLS 1.3만 사용해야 합니다.

TLS의 작동 방식

TLS 핸드셰이크

1. Client Hello: 브라우저가 지원하는 TLS 버전과 암호 스위트를 보냅니다.

2. Server Hello: 서버가 TLS 버전과 암호 스위트를 선택합니다.

3. 인증서: 서버가 SSL 인증서를 보냅니다.

4. 키 교환: 암호 스위트에 따라 보안 키를 교환합니다.

5. 완료: 암호화된 세션을 수립합니다.

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

TLS 1.3은 왕복을 한 번으로 줄여 성능을 높입니다.

SSL/TLS 인증서

인증서에 포함되는 내용

인증서 유형

도메인 검증(DV): 도메인 소유권만 증명 조직 검증(OV): 조직의 신원을 확인 확장 검증(EV): 가장 엄격한 검증

인증서 적용 범위

단일 도메인: 하나의 도메인(example.com)에 적용 와일드카드: 모든 하위 도메인(*.example.com)에 적용 다중 도메인(SAN): 여러 특정 도메인에 적용

SSL/TLS 구현

Let's Encrypt 무료 인증서

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

클라우드 제공업체 인증서

대부분의 클라우드 플랫폼은 무료 자동 갱신 인증서를 제공합니다.

인증서 확인

브라우저는 다음 순서로 인증서를 확인합니다.

1. 신뢰할 수 있는 루트 CA까지 인증서 체인을 확인

2. 인증서가 만료되지 않았는지 확인

3. 도메인이 일치하는지 확인

4. 폐기 상태(CRL/OCSP) 확인

SSL/TLS 모범 사례

서버 구성

TLS 1.2 이상 사용: SSL 3.0, TLS 1.0, TLS 1.1을 비활성화합니다.
ssl_protocols TLSv1.2 TLSv1.3;
강력한 암호 스위트: 현대적이고 안전한 암호를 우선합니다.
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: HTTPS를 강제합니다(HSTS 용어 항목 참고).

인증서 관리

SSL/TLS 확인

DomScan 사용:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

OpenSSL 사용:
openssl s_client -connect example.com:443 -servername example.com
온라인 도구: SSL Labs(ssllabs.com/ssltest)는 종합 분석을 제공합니다.

일반적인 SSL 문제

혼합 콘텐츠: HTTPS 페이지가 HTTP 리소스를 불러오는 문제(브라우저가 차단할 수 있음) 인증서 불일치: 인증서가 도메인과 일치하지 않음 만료된 인증서: 인증서 유효 기간이 끝남 불완전한 체인: 중간 인증서가 누락됨

SSL/TLS는 더 이상 선택 사항이 아닙니다. 모든 웹사이트가 보안과 SEO를 위해 HTTPS를 사용해야 합니다.

이 지식을 활용하세요

DomScan의 API를 사용하여 도메인 가용성, 상태 등을 확인하세요.