본문 바로가기

봄보라

HTTPS 프로토콜과 보안

HTTPS 를 쉽게 설명하면 우리가 특정 사이트를 접속할 때 주고 받는 데이터를 암호화하여 전송할 수 있게 해주는 규약이다

 

예를 들어 네이버 쇼핑에서 주문 화면으로 들어가면 나의 이름, 주소 등이 자동으로 입력되어 있다

 

이런 정보를 중간에서 해커가 가로채서 볼 수 없도록 암호화한다고 생각하면 된다

 

 

HTTPS 를 사용하지 않고 HTTP 를 사용할 경우 중간에 데이터를 암호화하는 작업이 생략되므로 속도가 더 빠르다

 

그래서 예전에는 중요한 데이터를 주고받는 부분만 HTTPS 로 구현한 적도 있지만 요즘에는 인터넷 속도가 기본적으로 빠르므로 모든 화면을 HTTPS 로 구현하고 있다

 

프로그램 개발자 입장에서도 HTTP 또는 HTTPS 로 단일 개발하는게 더 신경쓸 일 없고 편하다

 

또한 HTTPS 를 일부만 지원하도록 웹사이트를 개발하였다면 HTTP 를 이용하는 화면에서 쿠키 정보가 노출되지 않는지 검토해야 한다

 

 

추가로 쿠키에 민감한 정보를 저장하는 경우 HttpOnly 속성을 설정하는게 좋다

 

 

그렇다면 HTTPS 는 어떻게 설정할까?

 

HTTPS 를 위한 SSL 인증서를 준비

 

HTTPS 에 필요한 인증서는 SSL 인증서라고 부르며 무료부터 5만원 이상의 유료 인증서가 있다

무료 SSL 인증서는 3개월 기간 제한이 있으며 유료 인증서는 1년 유효기간이다

큰 차이점은 문제 발생 시 손해 보상 관련이다

 

 

SSL 인증서 적용

HTTP 또는 HTTPS 를 적용한 웹 사이트가 있다면 웹 사이트가 동작하기 위한 웹서버가 존재한다

각 웹서버마다 SSL 인증서를 적용할 수 있는 방법이 다르며 아래는 일반적인 웹서버 종류다

 

Apache, Nginx, IIS, HAProxy 등

 

 

참고문헌) 화이트 해커를 위한 웹 해킹의 기술

참고솔루션) 봄즈 봄보라