////
Search
Duplicate

SSL/TLS - 지명

SSL(Secure Socket Layer) / TLS(Transport Layer Security)

전송 계층에서 보안을 제공하는 프로토콜
클라이언트와 서버가 통신할 때 제3자가 메시지를 도청하거나 변조하지 못하도록 함
보안 세션을 기반으로 데이터를 암호화하며 보안 세션이 만들어질 때 인증 메커니즘, 키 교환 암호화 알고리즘, 해싱 알고리즘이 사용된다.

SSL/TLS 의 역사

최초 제안 : 넷스케이프 사
버전 : SSL v1.0 (1994.7), SSL v2.0 (1994.12), SSL v3.0 (1996.11)
SSL v3.0은 그 당시 사실상의 웹 보안 표준이었음
1999년 SSL이 국제 인터넷 표준화 기구(IETF)를 통해 SSL 3.0에서 TLS 1.0으로 이름이 바뀌게 되었다. 따라서 SSL 및 TLS는 본질적으로 같으며 버전이 다른 정도이다.

보안 세션

보안이 시작되고 끝나는 동안 유지되는 세션을 말한다.
SSL/TLS는 핸드셰이크를 통해 보안 세션을 생성하고 이를 기반으로 상태 정보 등을 공유한다.
사이퍼 슈트 전달
서버 - 사이퍼 슈트의 암호와 알고리즘을 제공할 수 있는지 확인
인증 메커니즘 시작
상호 암호화 통신 시작
사이퍼 슈트
SSL/TLS 에서 사용하는 암호화 알고리즘들의 결합
일반적으로 네 가지 컴포넌트로 구성
키 교환 알고리즘
클라이언트와 서버 사이에 비밀 키를 안전하게 교환하기 위해 사용되는 알고리즘
ex : RSA, DHE, ECDHE
디지털 서명 알고리즘
서버의 디지털 인증서를 검증하기 위해 사용되는 알고리즘
ex : RSA, ECDSA, DSA
대칭키 암호화 알고리즘
실제 데이터를 암호화하기 위해 사용되는 알고리즘
ex : AES, ChaCha20
메시지 인증코드 알고리즘
데이터 무결성을 검증하기 위해 사용되는 알고리즘
ex : SHA256, SHA384

인증 메커니즘

CA에서 발급한 인증서를 기반으로 이루어진다.
해당 서버의 공개키, 소유자 정보, 인증 기관의 디지털 서명을 포함

암호화 알고리즘

대수곡선 기반의 ECDHE, 모듈식 기반의 DHE를 사용
둘 다 디피-헬만 방식을 근간으로 만들어짐
디피-헬만 키 교환 암호화 알고리즘

해싱 알고리즘

데이터를 추정하기 힘든 더 작고, 섞여 있는 조각으로 만드는 알고리즘
데이터를 고정된 길이의 고유한 값, 즉 ‘해시 값’ 으로 변환하는 방법
SHA-256
해시 함수의 결괏값이 256인 알고리즘
비트 코인을 비롯한 많은 블록체인 시스템에서도 사용