HTTPS & SSL

진성·2022년 8월 21일
0
post-thumbnail

HTTPS

HTTP는 Hypertext Transfer Protocol의 약자이다.
하이퍼텍스트로 된 파일 즉, HTML을 전송하기 위한 통신규약을 의미한다.
HTTPS에 S는 Secure라는 의미로 보안이 강화된 HTTP라는 것을 알 수 있다.
HTTP는 암호화 되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 가져가는 것이 매우 쉽다.
이를 보안한 것이 HTTPS이다.

HTTPS와 SSL

HTTPS는 SSL 프로토콜 위에서 돌아가는 프로토콜이라고 이해하면 된다.

SSL을 검색하다보면 TLS라는 이름이 자주 나오는데 둘은 그냥 같은 것이라고 보면 된다.
요즘에는 SSL을 TLS가 계승했다고 생각하면 된다.

SSL 인증서

SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서다.
클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달한다.
클라이언트는 이 인증서 정보가 신뢰할 수 있는 것인지를 검증 한 후에 절차를 수행하게 된다.
SSL과 인증서를 이용했을때의 이점은 아래와 같다.

  • 통신 내용이 공격자에게 노출되는 것을 막을 수 있다.
  • 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지를 판단할 수 있다.
  • 통신 내용의 악의적인 변경을 방지할 수 있다.
  • 구글에서 검색엔진의 가산점을 부여해 준다.

SSL 인증서는 유료와 무료가 있고 이를 받아서 사용하기는 번거로운 면이 있기 하다.
구글 클라우드 플랫폼을 이용하면 인증서를 아주 간단하게 발급받아 사용 할 수 있다.

SSL의 동작방법

SSL은 암호화된 데이터를 전송하기 위해서 공개키와 대칭키를 혼햅하서 사용한다.
클라이언트와 서버가 주고 받는 실제 정보는 대칭키 방식으로 암호화하고, 대칭키 방식으로 암호화된 실제 정보를 복호화할 때 사용할 대칭키는 공개키 방식으로 암호화 해서 클라이언트와 서버가 주고 받는다.

  • 실제 데이터: 대칭키
  • 대칭키의 키: 공개키

정리하자면 HTTP 통신은 보안이 취약하기에 HTTPS 통신을 하고 HTTPS 통신을 하기 위해서는 SSL을 사용하여야 한다.
SSL은 HTTP 통신을 암호화 하여 데이터를 전송하고 SSL을 사용하기 위해서는 인증서를 발급 받아야 한다.
인증서는 무료와 유료가 있지만 발급받아 사용하기 번거로운 면이 있으니 구글 클라우드 플랫폼에서 제공해주는 SSL 인증서를 사용하면 편하게 사용 가능하다.

참고: HTTPS와 SSL 인증서

profile
풀스택 진행중...

0개의 댓글