TIL - 20 : 인증과 인가

TIL - 20 : 인증과 인가
  • 인증
    • 유저의 identification을 확인하는 절차
    • 인증에는 ID와 Password가 필요함 Password가 중요
  • Password는 단방향 해쉬로 암호화 (SSL 적용 -> HTTPS)
    • 단방향 해쉬의 단점 -> 같은 단어엔 항상 같은 해쉬
    • Salting, Key Stretching 으로 보완
    • 대표적인 라이브러리 bcrypt
      • hash 결과값에 salting 값과 hash 값 및 반복횟수를 같이 보관
  • 인가
    • 해당 유저가 request에 해당 권한이 있는지 확인하는 절차
    • HTTP 의 특징은 원래 stateless
    • 메타정보(JSON Web Token, JWT)를 headers에 보내서 확인
  • JWT의 개념
    • 헤더,내용,서명 으로 구분 세가지 요소를 ‘.’ 으로 구분
      • 헤더, 내용 : BASE64로 인코딩 (암호화가 아님)
      • 서명 : 암호화
  • 프론트엔드 단에서는 SSL을 통해 평문을 암호화

© 2022.02 by sunnyfterrain