얄루

SSL, TLS가 뭡니까?! +HTTP(s) 본문

보안

SSL, TLS가 뭡니까?! +HTTP(s)

팥죽도사 2022. 11. 13. 18:39

정의

SSL(보안 소켓 계층, Secure Sockets Layer)은 암호화된 인터넷 보안 프로토콜로, SSL 인증서는 브라우저(사용자의 PC)와 서버(웹 사이트) 사이의 암호화된 연결을 수립하기 위해 사용된다.

TLS(전송 계층 보안, Transport Layer Security)는 SSL을 기반한 인터넷 보안 프로토콜이며, SSL의 향상된, 더 안전한 버전이다. 하지만 여전히 SSL이라는 용어가 일반적으로 사용되고 있다.

개발목적(사용목적)

HTTP는 하이퍼텍스트 전송 프로토콜로, 웹사이트와 사용자 브라우저간의 텍스트를 교환할 때 사용된다. 텍스트이기 때문에 누군가 중간에서 가로챈다면 내용이 그대로 노출된다. 그리하여 중간에 누군가 가로채도 내용을 알 수 없도록 암호화가 필요했는데, 그것이 오늘날 사용하고 있는 SSL(TLS) 인증서이다.

SSL은 웹사이트에서 주고 받는 모든 유형의 정보를 보호한다.

 


짤막 상식


2014년, 구글은 웹 전반적으로 보안을 향상시키기 위해 모든 사이트에 https를 쓸 것을 요구했다. 그리고는 https를 쓰는 사이트가 다른 사이트보다 검색결과 상위에 있도록 보상하였다. -아마 하트블리드(Hartbleed) 사건 때문이라고 생각함(필자뇌피셜)-
2018년, 구글은 SSL 인증서가 없는 사이트에게 한가지 더 패널티를 안겨주었는데, Chrome 브라우저에서 "안전하지 않음/주의 요함"이라는 표시가 나타나게 하였다.

작동(원리)

SSL 인증서는 "SSL handshake"라는 과정을 통해 웹사이트/서버와 브라우저 간에 암호화된 연결을 수립한다. 웹사이트 방문자에게는 이 과정이 보이지 않을만큼 빠르게 이루어진다.

 

  1. 인증: 사용자가 웹사이트를 방문하면 생기는 모든 신규 세션에 대해 브라우저와 서버는 각각 다른 SSL 인증서를 교환하고 검증한다.
  2. 암호화
    • 서버: 브라우저와 공개키 교환
    • 브라우저: 교환한 서버의 공개키를 사용해서 프리마스터키(pre-master key)를 생성하고 암호화 <= 키교환
  3. 복호화: 서버는 개인키를 사용해서 프리마스터키를 복호화, 세션이 살아있는 동안 사용되는 암호화된 보안 연결을 수립한다.

출처/참고 문헌

728x90