TLS란?
TLS (Transport Layer Security)는 컴퓨터 네트워크에서 안전한 통신을 제공하는 암호화 프로토콜입니다. TLS는 SSL (Secure Sockets Layer)에 성공하며 HTTPS 연결, 보안 이메일 전송 (STARTTLS) 및 기타 암호화 된 인터넷 프로토콜 뒤에 기술입니다. 브라우저에서 PAlock 아이콘을 볼 때 TLS는 장치와 서버간에 데이터를 암호화하기 위해 노력하고 있습니다.TLS 버전 역사
| 이름 * | 1 년 | 주요연혁 |
|---|---|---|
| SSL 2.0 | 1995년 | 불쾌한 |
| SSL 3.0 | 1996년 | 불쾌한 |
| 사이트맵 | 1999년 | 인기 있는 |
| 사이트맵 | 2006년 | 인기 있는 |
| 사이트맵 | 2008년 | 현재 기준 |
| 사이트맵 | 2018년 | 최근, 추천 |
TLS는 어떻게 작동합니까?
TLS 핸드 셰이크 (TLS 1.2)
Client Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
TLS 1.3 개선
- 배운 여행 (빠른손잡이)
- insecure ciphers 제거
- 앞으로 secrecy 의무
- 암호화된 Handhake 메시지
TLS 성분
인증서
- 서버 정체성
- Certificate Authorities 발행
- 암호화를위한 공개 키 포함
Cipher 스위트
사용 된 암호화 알고리즘 정의 :
TLS_AES_256_GCM_SHA384 (TLS 1.3)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)
│ │ │ │
│ │ │ └── Hash algorithm
│ │ └── Encryption algorithm
│ └── Key exchange
└── Protocol
TLS 사용 사례
| 제품 설명 | 프로젝트 | 항구 항구 |
|---|---|---|
| 웹 브라우징 | 다운로드 | 443명 |
| 이메일 (IMAP) | 사이트맵 | 993명 |
| 이메일 (SMTP) | 사이트맵 | 465명 |
| 이메일 제출 | 다운로드 | 587명 |
| FTP를 | FTPS는 | 990명 |
Server 구성
Nginx TLS 구성
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
최고의 연습
1. TLS 1.2 또는 1.3 사용 : 이전 버전 사용
2. Strong cipher 스위트 : Prefer AEAD 수석
3. HSTS : 힘 TLS 연결
4. 인증 관리: Automate 갱신
5. Forward secrecy: ECDHE 키 교환 사용
6. Regular 테스트: SSL Labs, testsl.sh
테스트 TLS 구성
# OpenSSL test
openssl s_client -connect example.com:443 -tls1_3
# Check certificate
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text
TLS는 eavesdropping, tampering 및 man-in-the-middle 공격에 대한 보호에 데이터를 암호화하는 안전한 인터넷 통신의 기초입니다.