SSL의 작동 방식은? | SSL 인증서와 TLS

TLS라고도 하는 SSL은 암호화를 사용하여 사용자 데이터를 안전하게 유지하고, 웹 사이트의 신원을 인증하며, 공격자가 인터넷 통신을 조작하지 못하도록 차단합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • SSL/TLS의 의미 이해하기
  • SSL/TLS로 인터넷 통신을 안전하게 유지하는 방법 설명
  • SSL 인증서를 받는 방법과 SSL 인증서가 사용자 데이터를 안전하게 보호하는 방법 알아보기

관련 콘텐츠


계속 알아보시겠어요?

Cloudflare에 가입해서 보안 학습 문서를 받아보세요.

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

Cloudflare의 무료 SSL/TLS를 사용하여 보안 및 신뢰도 향상

SSL이란 무엇인가요?

SSL 은 보안 소켓 계층의 약자로, 인터넷에서 이루어지는 통신을 암호화, 보안, 인증하는 프로토콜을 말합니다.SSL은 얼마 전 전송 계층 보안(TLS)이라는 업데이트된 프로토콜로 대체되었지만, "SSL" 은 여전히 이 기술에 대해 일반적으로 사용되는 용어입니다.

SSL/TLS의 주요 사용 사례는 클라이언트와 서버 간의 통신을 보호하는 것이지만, 보호되지 않은 네트워크를 통한 이메일, VoIP, 기타 통신을 보호하는 데에도 사용할 수 있습니다.

SSL/TLS는 어떻게 작동합니까?

다음은 SSL/TLS의 작동 원리를 이해하기 위해 이해해야 할 필수 원칙입니다.

  • 보안 통신은 두 통신 당사자가 보안 연결을 하고 공개 키를 교환하는 TLS 핸드셰이크로 시작됩니다.
  • TLS 핸드셰이크 중에 두 당사자는 세션 키를 생성하고, 세션 키는 TLS 핸드셰이크 이후의 모든 통신을 암호화 및 해독합니다
  • 새 세션마다 다른 세션 키가 통신을 암호화하는 데 사용됩니다
  • TLS는 서버 측의 당사자 또는 사용자가 상호 작용하는 웹 사이트가 실제로 자신이 주장하는 당사자인지 확인합니다
  • TLS는 또한 메시지 인증 코드(MAC)가 전송에 포함되므로 데이터가 변경되지 않았음을 보장합니다

TLS를 사용하면 사용자가(클릭, 양식 작성 등을 통해) 웹 사이트에 전송하는 HTTP 데이터와 웹 사이트가 사용자에게 전송하는 HTTP 데이터가 모두 암호화됩니다. 암호화된 데이터는 수신자가 키를 사용하여 해독해야 합니다.

TLS 핸드셰이크

TLS 통신 세션은 TLS 핸드셰이크로 시작됩니다. TLS 핸드셰이크는 비대칭 암호화라는 것을 사용하는데, 이는 대화의 양쪽 끝에서 서로 다른 두 개의 키가 사용됨을 의미합니다. 이는 공개 키 암호화라는 기술 덕분에 가능합니다.

공개 키 암호화에서는 서버가 공개적으로 사용할 수 있는 공개 키와 비밀로 유지되며 서버 측에서만 사용되는 개인 키의 두 가지 키가 사용됩니다.공개 키로 암호화된 데이터는 개인 키로만 해독할 수 있습니다.

TLS 핸드셰이크 중에 클라이언트와 서버는 공개 키와 개인 키를 사용하여 무작위로 생성된 데이터를 교환하고, 이 무작위 데이터를 사용하여 세션 키라고 하는 암호화용 새 키를 생성합니다.

세션 키를 사용한 대칭 암호화

비대칭 암호화와는 달리, 대칭 암호화에서는 대화에 참여하는 두 당사자가 동일한 키를 사용합니다. TLS 핸드셰이크가 끝나면 양쪽 모두 동일한 세션 키를 사용하여 암호화합니다. 세션 키가 사용되면 공개 키와 개인 키는 더 이상 사용되지 않습니다. 세션 키는 세션이 종료되면 다시 사용되지 않는 임시 키입니다. 다음 세션을 위하여 새로운 무작위 세션 키 세트가 생성됩니다.

대칭 암호화

원본 서버 인증

서버의 TLS 통신에는 메시지 인증 코드(MAC)가 포함되며, 이는 통신이 실제 웹 사이트로부터 시작되었음을 확인하는 디지털 서명입니다. 이렇게 하면 서버가 인증되어 경로상 공격과 도메인 스푸핑을 방지할 수 있습니다. 또한 전송 중에 데이터가 변경되지 않도록 보장됩니다.

SSL 인증이란 무엇입니까?

SSL 인증서는 웹 사이트의 원본 서버에 설치된 파일입니다. SSL 인증서는 공개 키와 웹 사이트 소유자의 신원 및 기타 정보가 포함된 데이터 파일일 뿐입니다. SSL 인증서가 없으면 웹 사이트의 트래픽을 TLS로 암호화할 수 없습니다.

기술적으로, 모든 웹 사이트 소유자는 자체 SSL 인증서를 만들 수 있으며, 이러한 인증서를 자체 서명 인증서라고 합니다. 그러나 브라우저는 자체 서명된 인증서를 인증 기관에서 발급한 SSL 인증서만큼 신뢰할 수 있는 것으로 간주하지 않습니다.

웹 사이트에서는 어떻게 SSL 인증서를 받을까요?

웹 사이트 소유자는 인증 기관에서 SSL 인증서를 발급받은 다음 웹 서버에 설치해야 합니다(이 과정은 웹 호스트가 처리하는 경우가 많습니다). 인증 기관은 웹 사이트 소유자가 자신이 주장하는 당사자가 맞는지 확인할 수 있는 외부 당사자입니다. 인증 기관에서는 발급한 인증서의 사본을 보관합니다.

무료 SSL 인증서를 받을 수 있을까요?

많은 인증 기관에서 SSL 인증서에 대한 요금을 청구합니다. 인터넷 보안 강화를 지원하기 위해 Cloudflare에서는 무료 SSL 인증서를 제공합니다. Cloudflare는 인터넷 보안 및 성능 회사 중 최초로 이를 제공했습니다. 또한 Cloudflare에서는 HTTP에서 HTTPS로 전환하는 웹 사이트가 성능에 영향을 받지 않도록 SSL/TLS 성능을 최적화하기 위해 노력했습니다. Cloudflare의 SSL 옵션에 대한 자세한 내용은 개발자 설명서를 참조하세요.

HTTP와 HTTPS의 차이점은?

"HTTPS" 의 S는 "보안"을 의미합니다. HTTPS는 SSL/TLS가 포함된 HTTP일 뿐입니다. HTTPS 주소를 사용하는 웹 사이트에는 인증 기관에서 발급한 합법적인 SSL 인증서가 있으며, 해당 웹 사이트와 주고받는 트래픽은 SSL/TLS 프로토콜로 인증되고 암호화됩니다.

인터넷 전체가 보다 안전한 HTTPS로 전환하도록 장려하기 위해 많은 웹 브라우저에서 HTTP 웹 사이트를 "보안이 보장되지 않음" 또는 "안전하지 않음"으로 표시하기 시작했습니다. 따라서 HTTPS는 사용자와 사용자 데이터를 안전하게 보호하는 데 필수적일 뿐만 아니라 사용자와의 신뢰를 구축하는 데도 필수적인 요소가 되었습니다.