TLS/SSL 핸드셰이크에서는 클라이언트와 서버가 SSL 인증서, 암호 제품군 요구 사항, 무작위로 생성된 데이터를 교환하여 세션 키를 생성합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
Cloudflare에 가입해서 보안 학습 문서를 받아보세요.
글 링크 복사
TLS is an encryption and authentication protocol designed to secure Internet communications. A TLS handshake is the process that kicks off a communication session that uses TLS. During a TLS handshake, the two communicating sides exchange messages to acknowledge each other, verify each other, establish the cryptographic algorithms they will use, and agree on session keys. TLS handshakes are a foundational part of how HTTPS works.
SSL, or Secure Sockets Layer, was the original security protocol developed for HTTP. SSL was replaced by TLS, or Transport Layer Security, some time ago. SSL handshakes are now called TLS handshakes, although the "SSL" name is still in wide use.
A TLS handshake takes place whenever a user navigates to a website over HTTPS and the browser first begins to query the website's origin server. A TLS handshake also happens whenever any other communications use HTTPS, including API calls and DNS over HTTPS queries.
TLS 핸드셰이크는 TCP 연결이 TCP 핸드셰이크를 통해 열린 후에 발생합니다.
TLS 핸드셰이크 과정 중에는 클라이언트와 서버가 함께 다음을 수행합니다.
TLS 핸드셰이크는 클라이언트와 서버가 교환하는 일련의 데이터그램, 즉 메시지입니다. TLS 핸드셰이크는 여러 단계로 이루어집니다. 그 과정에서 클라이언트와 서버는 핸드셰이크를 완료하고 추가 대화를 가능하게 하는 데 필요한 정보를 교환합니다.
The exact steps within a TLS handshake will vary depending upon the kind of key exchange algorithm used and the cipher suites supported by both sides. The RSA key exchange algorithm, while now considered not secure, was used in versions of TLS before 1.3. It goes roughly as follows:
All TLS handshakes make use of asymmetric cryptography (the public and private key), but not all will use the private key in the process of generating session keys. For instance, an ephemeral Diffie-Hellman handshake proceeds as follows:
*DH 매개변수: DH는 Diffie-Hellman을 의미합니다. Diffie-Hellman 알고리즘은 지수 계산을 이용해 동일한 예비 마스터 암호를 생성합니다. 서버와 클라이언트가 각자 계산을 위한 매개변수를 제공하고, 각자 서로 다른 계산 결과가 나오지만, 합치면 결과가 동일해집니다.
임시 Diffie-Hellman 핸드셰이크와 다른 유형의 핸드셰이크 간 차이, 그리고 이들 핸드셰이크가 FS(Forward Secrecy, 순방향 비밀성)에 도달하는 방식에 대한 자세한 내용은 Keyless SSL이란 무엇일까요?를 참고하세요.
TLS 1.3 does not support RSA, nor other cipher suites and parameters that are vulnerable to attack. It also shortens the TLS handshake, making a TLS 1.3 handshake both faster and more secure.
The basic steps of a TLS 1.3 handshake are:
TLS 1.3 also supports an even faster version of the TLS handshake that does not require any round trips, or back-and-forth communication between client and server, at all. If the client and the server have connected to each other before (as in, if the user has visited the website before), they can each derive another shared secret from the first session, called the "resumption main secret." The server also sends the client something called a session ticket during this first session. The client can use this shared secret to send encrypted data to the server on its first message of the next session, along with that session ticket. And TLS resumes between client and server.
A cipher suite is a set of algorithms for use in establishing a secure communications connection. There are a number of cipher suites in wide use, and an essential part of the TLS handshake is agreeing upon which cipher suite will be used for that handshake.
TLS/SSL에 대한 자세한 내용은 SSL의 작동 원리는 무엇일까요?를 참고하세요. 웹 사이트가 TLS를 올바로 사용 중인지 테스트하려면 Cloudflare 진단 센터를 방문하세요.