대부분의 사이트가 https
로 시작하는데 https
와 http
의 차이가 무엇일까?
웹 페이지는 누구나 브라우저를 통해 손쉽고 접근하고 데이터 통신하여 여러 서비스를 이용할 수 있다. 반면, 쉽다는 것은 보안에 취약할 수 있다는 얘기일 수 있다.
웹 개발자로서 사용자가 웹 서비스를 안전하게 이용할 수 있도록 보안에 대해 고민해야 하는 것은 필수적이다. 그 첫 번째 웹 통신 보안이 적용된 https
통신과 SSL
인증서에 대해서 알아보았다.
HTTPS
는 보안이 적용된다고는 하는데 HTTPS
은 HTTP
와 어떠한 점이 다를까?
HTTP
통신은 우리가 익히 알고 있듯이 80
포트를 기본으로 통신하는 프로토콜이다. 데이터 송수신 시 암호화하지 않기 때문에 보안 취약점이 존재한다.
HTTP
프로토콜에 SSL
디지털 인증서를 레이어하여 통신하는 프로토콜이다. 80
포트가 아닌 443
포트를 사용하며 데이터 송수신 시 암호화되어 보안상 더욱 안전하다.
또, 구글 등의 검색 엔진이 대부분 HTTPS
프로토콜이 적용된 페이지를 우선 순위로 노출시키기 때문에 SEO
에도 유리하다.
그럼 HTTP
에 같이 포함하게 되는 SSL
디지털 인증서는 무엇이며 어떻게 동작하기에 보안을 강화할 수 있는 것일까?
SSL
은 공인된 3자 업체에서 보증하는 디지털 인증서이다. HTTP
프로토콜 사이에 이 인증서를 토대로 보안이 추가된 HTTPS
통신을 하게 된다.
그럼 SSL
을 적용하여 통신이 어떻게 동작하는 것일까?
먼저 SSL
이 적용된 HTTPS
통신에 대해 알아보기 전에 사용되는 암호화 개념은 아래와 같다.
AES
암호화가 대표적RSA
암호화가 대표적HTTPS
통신은 위의 방식 두 가지를 적용한 하이브리드 방식으로 통신하여 보안성을 지킨다.
사용자의 입장에서 개발자가 아무리 좋은 서비스를 개발하여 제공한다고 하여도 신뢰할 수 있어야 사용한다. 신뢰의 기본인 보안에 대해 첫 번째로 HTTPS
및 SSL
에 대해서 알아보았다. 모두가 적용하기 때문에 나도 적용하는 것보다 그 이전에 왜 사용하는지, 동작 방식이 어떻게 되는지 궁금해하는 개발자가 되어야겠다.