단방향 암호화에서 사용되는 해시 알고리즘의 취약점을 보안하기 위해서,
단방향 암호화를 진행할 때 솔팅(salting)과 키 스트레칭(key stretching)을 적용시킨 방법
salting
암호화를 진행 할 때 본래 데이터에 추가적ㅇ로 랜덤한 데이터를 더하여 암호화를 진행하는 방식
key stretching
단방향 해쉬값을 계산 한 후 그 해쉬값을 또 다시 해쉬하고 또 이를 반복하는 방식
Bcrypt의 구조
검증
클라이언트와 서버 간에 정보를 JSON 개체로 안전하게 전송하기 위한 개방형 표준
JSON 개채에 기본정보, 전달할 정보, 검증정보를 모두 담고 있다
전자 서명이 되어있기 때문에 검증 과정을 거쳐 확인하고 신뢰할 수 있다
Secret Key, public/Private Key Pair를 사용하여 서명할 수 있다
구조
header
alg
: Signature를 만드는데 사용한 알고리즘 정보typ
: Token의 타입payload
iss
: 토큰 발급자sub
: 토큰 제목aud
: 토큰 대상자exp
: 토큰 만료시간iat
: 토큰 발급 시간nbf
: 토큰 활성화 시간jti
: JWT의 고유 식별자signature