HTTP의 약점

  1. 암호화되지 않은 통신이기 때문에 도청 가능
  2. 통신 상대를 확인하지 않기 때문에 위장할 수 있음.
  3. 완전성을 증명할 수 없기 때문에 변조 될 수 있음.(광고 페이지들이 나온다)

HTTPS란?

s가 secure의 약자로 HTTP에 보안이 강화된 프로토콜이다.

데이터를 전송할 때 보안을 강화하기 위해서 암호화를 한다.

HTTP와 별개가 아니라 HTTP를 사용하면서 독립적인 SSL(혹은 TLS) 계층이 추가로 생김.

Untitled

HTTPS를 사용하지 않으면?

Http는 전송하는 정보를 암호화 하지 않기 때문에 중간에 누군가가 탈취하면 쉽게 정보를 확인할 수 있다.

하지만, Https를 사용한다면 누군가에게 탈취 당하더라도 어떤 의미인지 알 수 없다.

// Befor encryption
This is a string of text that is completely readable

// After encryption
ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCPk63Y+z0=

HTTPS 용어 정리

  1. 대칭키 : 암호화에 쓰이는 키와 복호화에 쓰이는 키가 동일한 기법

출처 : https://s3.us-west-2.amazonaws.com/

출처 : https://s3.us-west-2.amazonaws.com/

  1. 공개키 : 공개키와 개인키(비밀키)라는 2가지 키를 사용하는 기법, 복호화 비용이 많이 드는 단점

그림에서는 공개키는 암호화에만 쓰이고 개인키는 복호화에만 쓰이는 것처럼 보이지만 역도 성립함.

출처 : https://s3.us-west-2.amazonaws.com/

출처 : https://s3.us-west-2.amazonaws.com/

  1. CA(Certificate authority) : Server가 믿을 수 있는 서버인지 보증하는 SSL 보증서를 발급해주는 공인된 기관.