HTTPS(HyperText Transfer Protocol Secure)는 HTTP에 보안 기능을 추가한 프로토콜입니다. 웹 브라우저와 웹 서버 간에 교환되는 정보를 암호화하여 전송함으로써, 외부 공격자가 중간에 정보를 탈취하거나 변조하기 어렵게 만듭니다.
HTTPS는 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)라는 암호화 프로토콜을 사용하여 데이터를 암호화합니다. 이 프로토콜은 공개키와 개인키를 사용하는 공개키 암호화 방식을 이용하여 안전한 통신을 제공합니다.
서버가 클라이언트에게 전달하는 키로, 데이터를 암호화하는 데 사용됩니다. 공개키는 누구나 얻을 수 있으며, 암호화된 데이터는 공개키로는 복호화할 수 없습니다.
서버가 가지고 있는 키로, 데이터를 복호화하는 데 사용됩니다. 개인키는 서버에만 알려져 있으며, 암호화된 데이터를 복호화할 수 있습니다.
HTTPS는 인증서를 사용하여 웹 사이트의 신뢰성을 높입니다. 인증서는 인증 기관(Certificate Authority, CA)에서 발급받아 사용하며, 웹 서버의 도메인 이름과 공개키, 발급 기관 등의 정보를 포함합니다.
인증서 발급 과정 : 웹 사이트 소유자는 인증 기관에 인증서를 발급받기 위해 인증서 서명 요청(Certificate Signing Request, CSR)을 제출합니다. 인증 기관은 요청을 검토한 후, 인증서를 발급합니다.
인증서 검증 과정 : 클라이언트는 서버로부터 받은 인증서를 검증하여 서버의 신뢰성을 확인합니다. 인증서가 인증 기관에서 발급된 것이고, 유효 기간이 남아 있다면 클라이언트는 서버를 신뢰할 수 있습니다.
이렇게 설정한 후에는 웹사이트의 주소가 "https://"로 시작되며, 웹 브라우저에서 자물쇠 아이콘이 표시되어 사용자에게 안전한 사이트임을 알립니다.
보안 : HTTPS는 데이터를 암호화하여 외부 공격자로부터 정보를 보호할 수 있습니다. 이로 인해 사용자의 개인 정보, 로그인 정보 등 민감한 정보가 유출되는 것을 방지할 수 있습니다.
신뢰성 : 인증서를 사용하여 웹 사이트의 신뢰성을 높여 사용자의 신뢰를 얻을 수 있습니다. 이를 통해 사용자는 안전하게 서비스를 이용할 수 있습니다.
검색 엔진 최적화 : HTTPS를 사용하는 웹 사이트는 검색 엔진에서 더 높은 순위를 얻을 수 있습니다. 이는 검색 엔진이 사용자에게 안전한 웹 사이트를 추천하려는 정책 때문입니다.
인증서 발급 및 갱신 비용 : 인증서를 발급받고, 유효 기간이 만료되면 갱신해야 합니다. 이 과정에서 발생하는 비용이 부담이 될 수 있습니다.
서버 부하 증가 : 데이터를 암호화하고 복호화하는 과정은 서버의 부하를 증가시킬 수 있습니다. 이로 인해 서버 성능에 영향을 줄 수 있습니다. 하지만 HTTPS의 장점이 단점을 크게 상회하므로 대부분의 웹 사이트에서는 HTTPS를 사용하여 안전한 웹 서비스를 제공하고 있습니다. 특히, 민감한 정보를 다루는 웹 사이트의 경우 반드시 HTTPS를 사용해야 합니다.