JWT
- Header
The header typically consists of two parts
: the type of the token, which is JWT,
and the signing algorithm being used, such as HMAC SHA256 or RSA.
For example:
{
"alg" : "HS256", //HS256은 이 토큰이 HMAC-SHA256을 사용하여 서명됨을 의미한다.
"typ": "JWT"
}
Then, this JSON is Base64Url encoded to form the first part of the JWT.
출처 : jwt.io
음... 공부할 거 천지네.
HMAC
먼저 MAC (Message Authentication Code) 이란 메시지의 인증에 쓰이는 코드이다. 메시지의 무결성 및 신뢰성을 보장하는 용도로 사용한다고 한다.
HMAC (Hash-based Message Authentication Code) 은 인증을 위한 Secret Key와 임의의 길이를 가진 Message를 해시 함수를 사용해서 생성한다.
해시 함수로는 MD5, SHA-256과 같은 일반적인 해시 함수를 그대로 사용할 수 있으며 각 알고리즘에 따라 다른 고정길이의 MAC(Hash value)가 생성된다. (출처 : jongmin92.github.io/2019/12/23/Programming/hmac/)
HMAC는 메시지를 암호화하지 않는다. 그 대신, 메시지의 암호화 여부에 관계 없이 메시지는 HMAC 해시와 함께 송신되어야 한다. (출처 : wikipedia)
SHA-256
먼저 SHA-2 (Secure Hash Algorithm 2)는 미국 국가안보국에서 설계한 암호화 해시 함수들의 집합이다.
SHA-2 계열은 224, 256, 384, 512 비트로 된 해시값이 있는 6개의 해시 함수를 구성하고 있다.
SHA-256은 해시의 결과가 256bit인 해시함수로 대중적으로 널리 쓰이고 있다. 최근에는 비트쾬을 비롯한 많은 블록체인 시스템에서 SHA-256을 주로 활용한다.
Base64
먼저 인코딩(encoding)은 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.
Base64란 Binary Data를 Text로 바꾸는 Encoding(binary-to-text encoding schemes)의 하나로써 Binary Data를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 Encoding이다. (출처: 코딩하는 오징어)
'TIL ( CODESTATES)' 카테고리의 다른 글
Cloud Computing의 이해 & Deployment (0) | 2021.03.22 |
---|---|
AUTHENTICATION - 쿠키기반/세션기반/토큰기반인증 (0) | 2021.03.17 |
Auth-cookie 과제 중 실수.. (0) | 2021.03.10 |
Web HA 리뷰를 하면서 다시 알게된 내용들 (0) | 2021.03.05 |
sql 처음 다루어 본 날 (0) | 2021.02.05 |