
기밀성(privacy)
-메세지를 가로챌 수 없다.
-메세지를 읽을 수 없다.
-메세지는 암호화 되어 있다.
-해커가 정보를 읽을 수 없게 한다고 생각하면 쉽다.
-비대칭키를 이용해서 복호화 한다.
무결성(integrity)
-메세지가 조작되지 않음!
-메세지가 목적지로 가는 도중에 조작되지 않음
-원본 그대로 잘 도착했다!
-원본 조작을 예방할 수 있다.

브라우저 창의 왼쪽을 보면 자물쇠 모양으로 나타난 것을 확인 할 수 있다.
비대칭 키 암호화
-공개 키(열쇠구멍) -메시지를 암호화 하는데 사용
-비공개 키(개인키:열쇠) -암호화된 메세지를 해독하는데 사용
-key.pem (개인키)
-cert.pem (ca에서 인증하는 키)
인증서는 무엇을 보장할까?
-브라우저에서 접속한 서버가"의도한"서버임을 보장
-브라우저와 서버가 통신할 때 암호화 할 수 있도록 서버의 공개 키 제공
https://howhttps.works/ko/the-keys/

ca 인증기관 리스트에서 아마존 등등 인증기관을 확인 할 수 있다.
해싱 알고리즘
-입력받은 데이터를 고정된 길이의 데이터로 변환할 때 이전 데이터를 알아볼 수 없게 만드는 것.
-해싱 알고리즘은 sha-1,sha 256,sha 512 등이 있다.
https://emn178.github.io/online-tools/sha1.html
같은 길이의 암호를 만들어 준다.
-input ->output이 늘 동일한 순수함수
-해싱된 값은 사실상 복호화는 불가능 하다.
해독이 불가능하게 하지만 많은 시간을 들여서 해독을 할 순 있다...
솔트
-암호화 해야하는 원본 값에 어떤 별도의 값을 추가해서 결과를 변형 하는 것.
https://crackstation.net/
-보완을 강화할 수 있다.
-주의 사항으로 솔트는 사용자와 비밀번호 별로 유일한 값을 가져야 한다, 절대 재사용하면 안됨.
-데이터베이스에 사용자 테이블에 해싱된 패스워드 값, 솔트 값같이 저장해야 됨

서버는 브라우저에 일방적으로 쿠키를 저장할 수 있다 (o)
어떻게 서버가 브라우저에 쿠키를 저장할까?
-response에 헤더를 사용
-set-cookie