HTTPS ( Hypertext Transfer Protocol Secure )
HTTPS는 사용자의 컴퓨터 또는 휴대폰과 방문한 사이트 간에 전송되는
사용자 데이터의 무결성과 기밀성을 유지할 수 있게 해주는 인터넷 통신 프로토콜 이라고 합니다.
기존의 HTTP가 갖고 있던 보안 취약성 문제를 보완하고자 탄생하게 된 HTTPS 입니다.
웹의 기술이 급속도로 성장하게 되면서 사용자의 개인정보 보안을 더욱 더 지켜야 할 필요가 있는데,
예를 들어 사용자가 인터넷으로 쇼핑 할 때 중요한 개인 정보가 털리면 곤란합니다.
이런 일이 발생하지 않기 위해서 기존에 HTTP의 보안 문제를
해결한 HTTPS를 사용 합니다.
HTTP와 HTTPS 가 뭐가 다를까요 ?
가장 큰 차이점이라고 하면 SSL 인증서 입니다.
HTTP에는 이 SSL 인증서 기능이 없고, HTTPS에는 존재합니다.
SSL 인증서가 무엇인지 간단히 설명하면 사용자(클라이언트)와 웹(서버) 간의 전송되는 데이터를 암호화하여 서로 전달받는 것 이라 생각하면 됩니다.
또한 사용자가 보낸 정보들은 데이터베이스에서 암호화 되어 저장되기 때문에 해커로부터의 공격으로부터 보호 해줍니다.
그렇다면 HTTP의 보안 문제는 무엇이었던 것일까 ?
HTTP는, 하이퍼텍스트(HyperText)를 교환하기 위해 통상적으로 80번 포트를 사용하는데 이 프로토콜은 전송을 주고받는 데이터들이 암호화가 되어있지 않습니다.
이 때문에 사용자(클라이언트)가 웹(서버)에 개인정보를 입력할 시
제 3자가 이를 공략해 개인정보를 도난하는 아주 위험한 일이 발생 할 수 있었습니다.
사용자와 웹사이트 간 교환되는 데이터를 암호화하여, 악성 유저로부터
보호해줍니다. 이 말인 즉슨, 사용자가 웹사이트를 사용하는 동안에는
제 3자가 무엇을 하는지, 대화 하는지 등 페이지에서의 활동을 추적할 수 없으며 개인정보 도용을 할 수 없습니다.
사용자의 데이터가 웹페이지로 전송되는 동안, 고의든 원하지 않든
데이터가 변경되거나 손상되는 일을 방지 해줍니다.
사용자가 원하는 웹사이트와 통신 중인것을 입증합니다.
이를 통해 악성 유저가 통신 중에 공격하는 것을 차단 하고 사용자의 신뢰를 얻게 되어 기업의 신뢰를 얻게 해줍니다.
위와 같은 보호 기술로 우리는 웹을 개발할 때
HTTP 대신 HTTPS를 사용해야 할 수 밖에 없네요.
사실 개인정보를 잘 다루지않는 사이트라면 HTTPS를
사용할 필요성이 없지만,
몇년 전 부터 구글 검색엔진이 HTTPS를 채택한 웹사이트를 더욱 검색화면에 잘 나타내게 해주는 검색엔진 최적화(SEO)를 사용한다고 합니다.
이 때문에 개인용 웹사이트가 아니라면, HTTPS를 사용해야겠죠?