본문 바로가기
Security

SSL과 TLS 정의 및 차이점

by BTC_SHINN 2023. 6. 5.

베하! 안녕하세요~!

BTC_수신자표시제한 입니다.

오늘은 웹사이트 보안을 위한 SSL과 TLS 보안 프로토콜에 대해 알아보도록 하겠습니다.

 


SSL

웹상에서 웹서버 및 웹브라우저 상호 간의 데이터 전송은 HTTP(Hypertext Transfer Protocol)를 사용하여 통신합니다.

그러나 HTTP는 암호화되지 않은 텍스트 형태로 데이터를 전송하기 때문에, 중간에 가로챈다면 누구나 읽을 수 있습니다. 이러한 보안상의 이슈 때문에 인터넷 통신의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 등장한 것이 SSL입니다.

 

SSL(Secure Sockets Layer)은 웹을 포함한 다양한 애플리케이션에서 사용되는 암호화 기반의 인터넷 보안 프로토콜입니다. SSL은 데이터를 암호화하여 전송하고, 통신 상대의 신원을 확인하는 인증 기능을 제공하며, 데이터의 무결성을 보장하여 데이터의 조작 여부를 확인합니다. 이렇게 SSL을 통해 보호된 데이터는 중간에 제삼자가 가로채어도 해독이 어렵습니다.

 

HTTPS는 HTTP 프로토콜을 기반으로 SSL 또는 TLS를 사용하여 보호된 통신을 제공하는 프로토콜입니다. 따라서 웹사이트의 URL이 HTTPS로 시작한다면, 해당 사이트는 SSL 또는 TLS(Transport Layer Security)를 사용하여 암호화된 통신을 제공하고 있음을 의미합니다.

 

SSL과 TLS는 비슷한 목적을 가지는 프로토콜로, 데이터의 보안을 위해 사용됩니다. SSL은 1996년 SSL 3.0 이후 업데이트되지 않으며, SSL 3.0 이후로는 TLS로 발전하였습니다. 따라서, SSL은 TLS의 전신이라고 할 수 있습니다.

TLS는 최신 암호화 프로토콜로, SSL 암호화로 혼용해서 부르는 경우도 많지만, 실제로 현재 SSL을 인증한 업체 및 제공하는 업체는 사실상 TLS 암호화를 제공하고 있는 것이라고 봐도 무방합니다.

 

TLS

TLS는 네트워크 통신에서 보안과 개인정보 보호를 위해 사용되는 암호화 프로토콜입니다. TLS는 데이터의 기밀성, 무결성, 인증을 제공하여 안전한 통신을 가능하게 합니다.

 

TLS는 SSL의 업데이트 버전이라고 할 수 있으며, SSL의 최종 버전인 3.0과 TLS의 최초 버전의 차이는 크지 않았습니다. TLS는 지속적으로 발전하고 있으며, 보안상의 취약점이 발견될 때마다 업데이트되어 강화됩니다. 최신 버전인 TLS 1.3은 이전 버전보다 더욱 안전하며, 암호화 프로토콜의 성능과 보안을 개선한 기능을 제공합니다.

 

 

 


위에서 SSL과 TLS의 정의에 관해 확인하였으니, 이제 동작 방식에 대해 알아보도록 하겠습니다. 

 

SSL/TLS 의 동작 방식

SSL/TLS는 개인정보 보호를 위해 데이터를 암호화하는 데 사용됩니다. 암호화는 클라이언트와 서버 간의 통신 도중에 이루어집니다. 이 과정에서, 데이터는 암호화되어 전송되므로 데이터를 가로채려 해도 암호화된 형태로 보이며 거의 복호화가 불가능합니다.

 

SSL/TLS는 클라이언트와 서버 간에 핸드셰이크를 통해 상호 인증 과정을 수행합니다. 클라이언트는 서버의 신원을 확인하기 위해 서버의 디지털 인증서를 검증합니다. 이를 통해 클라이언트는 서버가 신뢰할 수 있는지를 판단 후 안전하게 연결할 수 있습니다.

 

또한 SSL/TLS는 데이터에 디지털 서명을 적용하여 데이터 무결성을 확인합니다. 데이터 무결성은 데이터가 전송 중에 조작되지 않았음을 보장하기 위한 것입니다. 디지털 서명은 데이터를 생성한 송신자의 신원을 확인하고, 데이터가 도착하기 전에 조작되지 않았음을 검증합니다. 

 

SSL/TLS HandShake

SSL/TLS HandShake는 클라이언트와 서버 간의 메세지 교환 과정으로,  HTTPS 웹에 첫 연결 시 진행됩니다. 

핸드셰이크의 단계는 클라이언트와 서버가 지원하는 암호화 알고리즘 및 키 교환 알고리즘에 따라 다를 수 있습니다.

일반적으로는 RSA 키 교환 알고리즘이 사용됩니다.

 

SSL/TLS HandShake 단계

 

SSL/TLS 인증서

SSL/TLS 인증서는 SSL/TLS 보안 프로토콜을 사용하는 웹사이트에서만 실행할 수 있습니다. 

 

SSL/TLS 인증서에는 공개 키가 포함되어 있습니다. 이 공개키를 사용하여 데이터를 암호화할 수 있습니다. 클라이언트의 요청은 공개키를 이용하여 서버에 암호화되어 전송됩니다. 서버는 해당 인증서에 포함된 개인키를 사용하여 암호화된 데이터를 복호화합니다.

 

이러한 인증서를 발급하는 기관을 CA(certificate authority)라고 합니다.

 

인증기관

인증서는 인증 기관(Certificate Authority, CA)에 의해 발급됩니다. 인증 기관은 웹사이트의 소유자에게 SSL/TLS 인증서를 발급하여 아래와 같은 주요 목적을 수행합니다. 

 

인증기관은 웹사이트 소유자에게 인증서를 발급합니다. 이 인증서는 해당 도메인 또는 서버의 신원을 입증합니다. 

 

인증기관은 인증서를 발급하기 전에 소유자의 신원을 확인합니다. 이를 통해 인증서에 포함된 정보와 소유자의 일치 여부를 확인하고, 신뢰성을 제공합니다. 

 

또한 인증기관은 발급한 인증서가 유효하다는 인증을 제공합니다. 클라이언트는 해당 인증 기관이 신뢰할 수 있는 기관임을 인식하고, 인증서의 유효성을 확인하여 안전한 통신을 보장합니다.

 

인증서의 종류 및 유형

인증서는 적용되는 도메인의 개수 및 유효성 검사 수준에 따라 유형이 나뉩니다.

 

먼저 인증서는 적용되는 도메인 개수에 따른 유형으로는 단일 도메인, 와일드카드, 멀티 도메인으로 나눌 수 있습니다. 단일 도메인(Single Domain)은 단 하나의 도메인에만 적용이 가능한 인증서이고, 와일드카드(WildCard)는 하나의 도메인과 그 하위 도메인들을 모두 포함하는(ex. www.example.com, test.example.com, dev.example.com 등) 인증서입니다. 멀티 도메인(Multi Domain)은 관련 없는 여러 도메인에 적용할 수 있는 인증서입니다. 

 

유효성 검사 수준에 따른 유형으로는 도메인 유효성 검사, 조직 유효성 검사, 확장 유효성 검사가 있습니다. 도메인 유효성 검사(Domain Validation)는 가장 느슨한 수준의 유효성 검사로 기업이 도메인을 관리하고 있다는 사실 정도만 증명됩니다. 조직 유효성 검사(Organization Validation)는 인증서 발급 시 인증기관이 기업의 신원을 확인하여(사업자 등록증, 신청자 등) 증명하는 검사입니다. 확장 유효성 검사(Extended Validation)는 가장 엄격한 수준으로, 인증 기관이 조직의 존재, 사업자 등록 여부, 유효한 주소 등을 확인하여 제공합니다. 확장 유효성 검사는 시간과 비용이 많이 소요되지만 그만큼 가장 큰 신뢰를 제공합니다.


여기까지 웹 통신의 안정성과 신뢰성을 확보하는 데 중요한 요소인 

웹서버 보안 프로토콜 SSL과 TLS에 대해 알아보았습니다.

도움이 되셨으면 좋겠습니다.😊

다음에 또 만나요 👋👋

댓글