TIL34: Authentication, HTTPS, Hashing & Salt

charlie-lyc·2021년 1월 17일
0

Immersive Course TIL

목록 보기
34/39
post-thumbnail
  • HTTPS(HyperText Transfer Protocol over Secure)
    - HTTP 요청을 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)를 이용해 통신 과정에서 내용을 암호화하여 데이터를 전송
    - 로컬환경에서 HTTPS 서버를 만들기 위해 'mkcert'를 이용하여 인증서 발급 및 적용
  • Hashing: 어떠한 문자열에 임의의 연산을 적용하여 다른 문자열로 변환하는 것
    - 해시 값을 계산하는데 오래걸리지 않아야 함
    - 모든 값은 고유한 해시 값을 가지며, 이 때 해시 값들은 최대한 서로 피해야 함
    - 아주 작은 단위의 변경이라도 완전히 다른 해시 값을 가져야 함
  • Salt: 별도의 값을 추가하여 해시를 진행함으로써 암호화만 되었을 경우 알고리즘이 노출되어 decoding되는 경우를 방지
    - Hash 값
    - 기존: 암호화하려는 값 => hash 값
    - 솔트사용: 암호화하려는 값 + salt 값 => hash 값
    - 유저와 패스워드 별로 각각 유일한 값을 가져야 함
    - 계정 생성과 비밀번호를 변경할 때마다 새로운 salt를 사용해야 함
    - 절대 재사용하면 안됨
    - DB의 유저 테이블에 같이 저장되어야 함

자료 출처: 코드스테이츠

0개의 댓글