중요 알림: Google과 Yahoo는 2024년 4월부터 DMARC를 요구할 예정입니다.
PowerDMARC

TLS 핸드셰이크란 무엇인가요?

TLS 핸드셰이크란 무엇인가요?

TLS 핸드셰이크란 무엇인가요?

읽기 시간: 4

TLS 암호화 및 인터넷 통신을 보호하는 인증 프로토콜입니다. TLS 핸드셰이크는 비대칭 암호화를 사용하여 서버와의 연결을 보호하는 프로세스입니다. TLS 인증서를 사용하는 웹사이트는 HTTPS 프로토콜을 활용하여 서버에 안전하게 연결할 수 있습니다. 이 블로그에서는 TLS 핸드셰이크 단계, 작업 방법론 등을 포함하여 TLS 핸드셰이크에 대해 자세히 설명합니다.

TLS 핸드셰이크란 무엇인가요?

우리가 실생활에서 하는 악수와 마찬가지로 TLS 핸드셰이크는 소개입니다. 이는 두 서버 간의 안전한 통신을 나타내며, 서로를 인정하고, 서로를 확인하고, 암호화 코드를 설정하고, 세션 키에 동의하기 위해 메시지를 주고받습니다. 

TLS 핸드셰이크 프로세스는 초기 '안녕하세요'로 시작하여 클라이언트와 서버가 보안 연결을 통해 대화할 수 있는 단계로 이어집니다. 

TLS 핸드셰이크는 어떻게 작동하나요?

이제 TLS 핸드셰이크가 무엇인지 알았으니 어떻게 작동하는지 살펴봅시다.

따라서 TLS 핸드셰이크 프로세스는 웹사이트 또는 애플리케이션의 서버에 TLS 인증서가 설정된 경우에만 작동합니다. 이 인증서에는 서버의 신원을 확인하기 위한 도메인 소유자 및 서버의 공개 키에 대한 중요한 세부 정보가 포함되어 있습니다. 이 순차적인 프로세스를 통해 TLS 연결이 설정됩니다. 따라서 사용자가 TLS 사용 웹사이트에 접속을 요청할 때마다 디바이스와 웹 브라우저 간의 TLS 핸드셰이크가 시작되고 다음과 같은 세부 정보를 교환합니다: 

TLS 핸드셰이크는 모든 통신을 위한 암호 집합을 설정합니다. 암호 집합은 보안 통신 연결을 설정하는 데 사용되는 일련의 알고리즘으로 설명됩니다. TLS 핸드셰이크의 중요한 역할은 어떤 암호 집합을 사용할지 결정하는 것입니다. TLS는 공개 키 암호화를 사용하여 암호화되지 않은 채널에서 일치하는 세션 키를 설정합니다. 

또한 핸드셰이크는 공개 키를 사용하여 서버를 확인함으로써 발신자의 진위 여부를 확인합니다. 공개 키는 단방향 암호화 키로, 원래 발신자 외에는 누구도 암호화된 데이터를 해독할 수 없습니다. 원래 발신자는 개인 키를 사용하여 데이터를 해독합니다. 

TLS 핸드셰이크 실패는 연결이 종료되고 클라이언트에 '503 서비스 사용 불가' 오류 메시지가 표시됨을 의미합니다. 

TLS와 SSL 핸드셰이크

SSL 은 HTTP를 위해 만들어진 최초의 보안 프로토콜인 보안 소켓 계층의 약자입니다. SSL은 TLS로 대체되었고 SSL 핸드셰이크는 이제 TSL 핸드셰이크라고 불립니다.

TLS 핸드셰이크는 언제 발생하나요?

브라우저는 사용자가 보안 연결을 통해 웹사이트 탐색을 요청할 때마다 웹사이트의 원본 서버를 쿼리합니다. 다른 통신 채널이 HTTPS를 사용할 때도 발생합니다. 여기에는 보안 네트워크를 통한 API 호출 및 DNS가 포함됩니다.

TLS 핸드셰이크의 단계

TLS 핸드셰이크 단계는 클라이언트와 서버 간에 전송되는 일련의 데이터그램 또는 메시지로 구성됩니다. 정확한 단계는 사용되는 키 교환 알고리즘의 유형과 양쪽에서 지원하는 암호 제품군에 따라 달라집니다. 예상되는 단계는 다음과 같습니다.

1단계: '클라이언트 안녕하세요' 메시지

클라이언트 서버는 웹사이트의 메인 서버에 'hello' 메시지를 전송하여 TLS 핸드셰이크 프로세스를 시작합니다. 이 메시지는 지원되는 TLS 버전 및 암호 모음과 같은 중요한 세부 정보와 '클라이언트 랜덤'이라고 하는 임의의 바이트로 구성됩니다.

2단계: '서버 안녕하세요' 메시지

서버는 SSL 인증서, 서버가 선택한 암호 모음, 서버에서 생성한 '서버 무작위' 문자열이 포함된 응답을 전송하여 클라이언트의 헬로 메시지에 회신합니다. 

3단계: 인증

이 TLS 핸드셰이크 단계에서 클라이언트는 발급 기관을 통해 서버의 SSL 인증서를 확인합니다. 이는 서버가 정품인지, 클라이언트가 도메인 소유자와 통신하고 있는지 확인하기 위해 수행됩니다.

4단계: 프리마스터의 비밀

또 다른 임의의 바이트 문자열인 프리마스터 시크릿은 클라이언트가 전송합니다. 이 비밀은 공개 키로 암호화되며 서버에서 개인 키를 사용하여 해독할 수 있습니다. 

5단계: 개인 키 사용

서버에서 프리마스터 비밀을 해독합니다.

6단계: 세션 키 생성

클라이언트와 서버는 클라이언트 무작위, 서버 무작위 및 프리마스터 비밀로부터 세션 키를 생성합니다. 세 가지의 결과는 모두 동일해야 합니다.

7단계: 클라이언트 준비 완료

클라이언트가 세션 키로 암호화된 "완료" 메시지를 보냅니다.

8단계: 서버 준비 완료

서버가 세션 키로 암호화된 "완료" 메시지를 보냅니다. 

9단계: 안전한 대칭 암호화 달성 

이것이 마지막 TLS 핸드셰이크 단계입니다. 이 단계가 완료되면 세션 키를 사용하여 통신이 계속됩니다.

TLS 1.3 핸드셰이크- 차이점은 무엇인가요?

TLS 1.3은 RSA를 지원하지 않으므로 단계가 약간 다릅니다.

클라이언트 안녕하세요

클라이언트는 프로토콜 버전, 클라이언트 무작위 및 암호 모음 목록이 포함된 "Client Hello" 메시지를 보냅니다. TLS 1.3 버전에서는 암호 세트가 지원되지 않으므로 암호 세트의 수가 감소합니다. 

이 메시지에는 프리마스터 비밀을 평가하는 데 사용되는 매개변수도 포함되어 있습니다. 이렇게 하면 핸드셰이크의 길이가 줄어드는데, 이는 TLS 1.3 핸드셰이크와 TLS 1.0, 1.1 및 1.2 핸드셰이크 간의 주요 차이점입니다. 

서버가 마스터 비밀 생성

이 단계에서 서버는 클라이언트의 무작위와 클라이언트의 매개변수 및 암호 세트를 수신합니다. 서버는 자체 서버 난수를 생성하면서 마스터 비밀을 생성합니다.

서버 안녕하세요 및 완료

서버 헬로에는 서버 인증서, 암호화 서명, 서버 무작위 및 선택한 암호 집합이 포함됩니다. 또한 마스터 비밀이 있으므로 "완료" 메시지를 보냅니다. 

최종 단계 및 클라이언트 완료

클라이언트가 서명과 인증서를 확인하고 마스터 비밀을 생성한 후 "완료" 메시지를 보냅니다.

안전한 대칭 암호화 달성

TLS 핸드셰이크가 완료되면 세션 키를 사용하여 통신이 계속됩니다.

TLS 보고서는 어떻게 읽나요?

TLS 보고서는 전송성 문제와 함께 MTA-STS 인증 중 잘못 정렬된 TLS 핸드셰이크에 대한 중요한 정보를 제공할 수 있습니다. PowerDMARC의 TLS-RPT 는 원본 JSON 파일에서 파싱된 사람이 읽을 수 있는 형식의 보고서를 제공합니다.

오늘부터 TLS 보고서를 읽으려면 무료 체험을 시작하세요!

비즈니스 및 웹 애플리케이션이 TLS 핸드셰이크를 사용해야 하는 이유는 무엇인가요?

TLS 핸드셰이크는 HTTPS가 HTTP 확장자의 보안 버전이므로 웹 애플리케이션을 침해 및 기타 사이버 공격으로부터 보호합니다. TLS 인증서가 있는 웹사이트는 HTTPS 프로토콜을 활용하여 사용자와 안전하게 연결할 수 있습니다. 이 프로토콜의 목표는 개인 데이터, 금융 데이터, 로그인 자격 증명 등과 같은 민감한 세부 정보를 보호하는 것입니다.

모바일 버전 종료