Secure Sockets Layer 의 줄임말로, 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준기술이다. 이 기술을 통해 해커가 개인 데이터나 금융데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지합니다.
Transport Layer Security 의 줄임말로 SSL 의 향상되고 안전한 버전이다.
- SSL/TLS 연결은 TLS Handshake 를 통해 일련의 순서를 사용하여 초기화됩니다.
- TLS Handshake 동안 사용자 장치와 웹 서버는 다음과 같은 일을 수행합니다
- 사용할 TLS 버전 지정
- 사용할 암호 제품군 결정
- 서버의 TLS 인증서를 사용하여 서버의 신원 인증
- Handshake가 완료된 후 키 간의 메시지를 암호화하기 위한 세션 키 생성
SSL/TLS Handshake 는 TLS 를 사용한 커뮤니케이션 세션을 시작하는 과정이다.
TLS Handshake 가 이루어지는 단계는 다음과 같다
- ClientHello : 클라이언트가 서버로 "헬로" 메시지를 전송하면서 Handshake 를 시작합니다. 이 메시지는 클라이언트가 지원하는 TLS 버전, 지원되는 암호화 알고리즘(Cipher Suite), 브라우저가 생성한 무작위 바이트 문자열이 포함된다.
- ServerHello : 클라이언트 헬로 메시지에 대한 응답으로, 서버가 서버의 SSL/TLS 인증서, 서버에서 선택한 암호 제품군, 서버에서 생성한 또 다른 무작위 바이트 문자열을 포함하는 메시지를 전송한다.
- Certificate : 클라이언트가 서버의 SSL/TLS 인증서를 인증서 발행 기관을 통해 검증합니다. 이를 통해 서버가 인증서에 명시된 서버인지, 그리고 클라이언트가 상호작용 중인 서버가 실제 해당 도메인의 소유자 인지를 확인합니다.
- 예비 마스터 암호 : 클라이언트가 "예비 마스터 암호"라고 하는 무작위 바이트 문자열은 하나 더 전송합니다. 예비 마스터 암호는 공개 키로 암호화되어 있으며, 서버가 개인 키로만 해독할 수 있습니다.(클라이언트 서버의 SSL/TLS 인증서를 통해 공개 키를 받습니다.)
- 개인 키 사용 : 서버가 예비 마스터 암호를 해독합니다.
- 세션 키 생성 : 클라이언트와 서버가 모두 클라이언트 무작위, 서버 무작위, 예비 마스터 암호를 이용해 세션 키를 생성합니다. 모두 같은 결과가 나와야 합니다.
- 클라언트 준비 완료 : 클라이언트가 세션 키로 암호화된 "완료" 메시지를 전송합니다.
- 서버 준비 완료 : 서버가 세션 키로 암호화된 "완료" 메시지를 전송합니다.
- 안전한 대칭 암호화 성공 : Handshake 가 완료되고, 세션 키를 이용해 통신이 계속 진행됩니다.
- 확장 검증 인증서 : 확장 검증 인증서(EV SSL/TLS)는 최고 수준의 암호화, 검증 및 신뢰도를 제공하는 디지털 인증서입니다. 기업은 EV SSL/TLS 를 사용하여 제3자의 무단 액세스로부터 사용자를 보호합니다. 이는 회사가 웹 사이트에서 금융 거래 데이터나 의료 기록과 같은 민감한 데이터를 처리할 때 중요합니다.
- 조작 검증 인증서 : 조작 검증 인증서(OV SSL/TLS)는 확장 검증 인증서 다음으로 높은 수준의 검증 및 신뢰도를 제공합니다. EV SSL/TLS 와 마찬가지로 기업은 OV SSL/TLS를 신청할 때 확인 절차를 거쳐야 합니다. 심사 절차는 EV SSL/TLS 보다 덜 엄격하지만 신청자는 인증 기관에 도메인 소유권을 증명해야 합니다.
- 도메인 검증 인증서 : 도메인 검증 인증서(DV SSL/TLS)는 검증 수준이 가장 낮은 디지털 인증서입니다. 또한 신청 비용이 가장 적게 듭니다. 신청자는 확인 이메일이나 전화에 응답하여 도메인 소유권을 증명합니다.
이 분 블로그 정리 잘했으니까 읽어보는 것도 좋을 듯
