728x90
반응형
SSL (Secure Socker Layer) / TLS (Transport Layer Security)
- TLS 프로토콜은 SSL프로토콜에서 발전
- TLS는 다양한 종류의 통신 보안을 제공하도록 설계된 암호화 프로토콜이며, HTTPS는 TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜.
- 두 당사자가 기밀성과 데이터 무결성이 보장된 상태로 서로 식별, 인증하고 통신할 수 있음
- 인증서 기반 인증 지원 , 통신 구간 암호화, MAC(Message Authentication Code)
- 최신 버전 : TLS v1.3 (보안성을 위해 최소한 TLS v1.2 이상 사용 권고 )
TLS Handshake Protocol 주요 내용
① 클라이언트 – 서버 간 통신에 사용할 암호 알고리즘 협상(Cipher Suite)
② 클라이언트는 서버 인증서가 신뢰 가능한지 검증 ( 서버의 공개키 신뢰 )
(필요시) 서버는 클라이언트 인증서가 신뢰 가능한지 검증 ( 클라이언트의 공개키 신뢰)
③ 서버의 공개키를 사용하여 PMS(Pre-Master Secret) 값 암호화 전달 및 PMS 값 상호 공유
-> 클라이언트&서버의 Nonce값과 PMS값을 통해 대칭키 생성
④ 생성된 대칭키로 암호화하여 데이터 교환
통신 구간 암호화
SSL/TLS 암호화 통신에 사용할 여러가지 알고리즘을 클라이언트와 서버 간 최종 협의, 안전한(보안 강도가 충분한) 알고리즘의 집합 즉 Cipher Suite 설정 필요
인증서 기반으로 안전하게 공유된 대칭키를 이용하여 데이터 암호화 전송
인증서 기반 상호 인증 ( PKI , Public Key Infrastructure)
인증서를 사용하여 신원을 증명할 수 있음
중간자 공격( MITM : Man In The Middle Attack) 방지
서버 서명 인증 | 전자서명 전송 | 서버 -> 클라이언트로 서버의 공개 키와 CA의 전자서명 전송 |
서명 검증 | 수신한 공개 키와 CA 전자 서명을 CA의 공개 키로 복호화하여 검증 | |
클라이언트 서명 인증 | 전자서명 전송 | 클라이언트 -> 서버로 클라이언트의 공개 키와 CA 전자서명 전송 |
서명 검증 | 수신한 공개 키와 CA 전자 서명을 CA 공개키로 복호화하여 검증 |
안전한 SSL/TLS 설계를 위한 고려사항
- TLS v1.2 이상 사용 권고
- 안전한(보안 강도가 충분한) Cipher suite 설정
- 안전한 PKI기반 인증
- 신뢰할 수 있는 주체에 의한 인증서 발급 (Chain of Trust)
- 인증서의 무결성 및 유효성 검증(전자서명)
- 인증서 개인키의 기밀성 및 무결성 보장
- 안전한 인증서 및 개인키 관리(lifecycle) : 생성, 전송, 저장, 갱신, 파기, 복구
※ Chain of Trust
상위 계층의 인증서가 신뢰할 수 있는 기관이라면, 해당 인증서의 비밀 키로 암호화된 하위 인증서 또한 신뢰 가능하다고 간주한다.
References
728x90
반응형
'IT 기초 > Security' 카테고리의 다른 글
[Security] 보안 요구사항 분석(Analyzing Security Requirements) (0) | 2022.05.09 |
---|---|
[Security] 보안 요구사항(Security Requirements) (0) | 2022.05.09 |
[Security] [보안 매커니즘] 인증서 (0) | 2022.05.09 |
[Security] [보안 매커니즘] 전자 서명 (Digital Signatures) (0) | 2022.05.09 |
[Security] [보안 매커니즘] 메시지 인증코드(MAC) (0) | 2022.05.03 |