HTTPS의 필요성
기밀성
- 메시지를 가로챌 수 없음(메시지를 읽을 수 없다 => 메시지는 암호화되어 있다)
- privacy
무결성
- 메시지가 조작되지 않음(데이터 A -> B 메시지가 원본 그대로 잘 도착했음)
- integrity
비대칭 키 암호화
- 공개 키 -> 암호화
- 비공개 키(개인키) -> 복호화
대칭 키 암호화 : 암호화/복호화를 하는 키가 똑같다
비대칭 키 암호화 : 암호화/복호화를 하는 키가 다르다
인증서는 무엇을 보장할까?
- 브라우저에서 접속한 서버가 "의도한" 서버임을 보장
- 브라우저와 서버가 통신할 때 암호화할 수 있도록 서버의 공개키 제공
CA로부터 발급받은 인증서
공개키 -> 브라우저 (CA 몇군데 안되므로, 리스트가 저장되어있음)
개인키 -> 서버
** mkcert로 만든 인증서(CA는 누구? -> 내컴퓨터)
쿠키
- HTTP의 stateless특징을 보완해주는 도구
- 작은 문자열을 저장
- 쿠키는 브라우저에 담는다. 전송 과정에서 헤더에 쿠키를 담는다.
사용 헤더