오늘의 공부 정리

35. SSL, HTTPS

justkod 2022. 8. 25. 14:33

아무생각없이 어떤 사이트를 주소창에 입력하고 접속할때 http나 https 등은 별로 신경쓰지 않고 사용했는데 사실 그 둘에는 큰 차이가 있었다. 가끔 주소창에 자물쇠 모양이 있는경우랑 주의 표시가 있을 때 '그냥 그런가보다' 하고 지나갔던 적이 있는데 이제는 이 둘의 차이를 배웠으니 한번 더 생각해보고 이게 그 의미구나 하면서 알아차릴 수 있을 것 같다. 오늘은 Http와 Https의 차이점, 그리고 https 설정 할 때 필요한 SSL 인증서 개념까지 배워보았다.


Http vs Https

 

Http

 옛날 포스팅 글에서 http 통신에 대한 글을 적은적이 있었다. 그때 이 http의 정의에 대한 설명도 함께 적었었는데 다시한번 상기시켜보면, http란 Hypertext Transfer Protocol 의 약자로 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이였다. 따라서 웹서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송하거나 전송 받는 용도를 한다. 참고로 프로토콜이란 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 일종의 규칙이다. 내가 만든 사이트를 처음에 그냥 접속해보면 http://~~~~ 하고 주소명을 입력하고 접속하게 되는데 이때 들어가면 주의 요함 하는 느낌표가 뜨는것을 볼 수 있다.

http로 시작하는 주소를 접속한 경우

 빨간색을 보면 불편한 병이 있기 때문에 이는 상당히 사용자로 하여금 불편함을 느끼게 할 뿐 아니라 실제로도 보안상 안전하지 않다. 때문에 이런 보안적인 측면을 보완한 https가 등장했다.

 

Https

 Https는 HyperText Transfer Protocol Over Secure Socket Layer 로 http에서 보안이 강화된 형태의 프로토콜이다. http는 암호화되지 않은 방법으로 데이터를 주고받기 때문에 서버와 클라이언트가 주고 받는 메세지를 악의적으로 감청하거나 데이터의 변조를 일으킬 가능성이 높다. Https 프로토콜에서 모든 요청과 응답 데이터는 네트워크로 보내지기 전까지 암호화 되는 방식으로 사용자와 서버의 데이터를 보호한다. 

 

https  암호화

Https는 아래와 같이 대칭키와 비대칭키 암호화 방식을 혼합적으로 사용해서 동작한다.

대칭키 암호화 방식

대칭키는 클라이언트와 서버가 동일한 키를 갖고 있어서 대칭키라고 부른다. 이때 동일한 키로 데이터를 암복호화할 수 있고, 비대칭키 방식보다 빠른 속도로 암복호화 할 수 있다.

비대칭키 암호화 방식

비밀키 하나만 가지는 대칭키 암호 방법과 달리, 공개키와 비밀키 두개가 존재하며 공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교한다.

 https 방식으로 사이트를 변경하기 위해서는 SSL 이라는 인증서가 필요하다. 그럼 SSL에 대해서 추가로 알아보자

 

SSL

 SSL 인증서는 암호화된 연결을 생성하고 신뢰를 확립합니다.
온라인 비즈니스의 가장 중요한 요소 중 하나는 잠재 고객이 구매하기에 믿을 만한 신뢰할 수 있는 환경을 만드는 것입니다. SSL 인증서는 보안 연결을 수립함으로써 신뢰의 토대를 형성합니다. 연결이 안전한지 방문자가 납득할 수 있도록 브라우저는 EV 표시라 불리는 특별한 단서를 제공합니다. 이러한 표시는 녹색 자물쇠부터 브랜드화된 URL 표시줄까지 다양합니다.

https://www.digicert.com/kr/what-is-an-ssl-certificate

 SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화하는데 쉽게 말해서 데이터를 암호로 바꾼다고 생각하면 된다. 이렇게 전송된 데이터는 중간에서 누군가 훔쳐 낸다고 하더라도 데이터가 암호화되어있기 때문에 해독할 수 없다. 그 외에도 Https는 TLS(전송 계층 보안) 프로토콜을 통해서도 보안을 유지한다.