① 토큰 [ Token ] : 시스템에서 보안 객체의 접근 관리에 사용되는 객체 또는 장치. 서버가 기억하는 이상하게 생긴 텍스트. ID카드 처럼 서버한테 보여줘야 하는 것.

 

② 쿠키 [ cookie ] : 그냥 옮기는 시스템, 매개체. 고객이 특정 홈페이지를 접속할 때 생성되는 정보를 담은 임시 파일. 특정 사이트를 처음 방문하면 아이디와 비밀번호를 기록한 쿠키가 만들어지고 다음에 접속했을 때 별도 절차 없이 사이트에 빠르게 연결할 수 있다. 쿠키는 사용하는 웹브라우저가 자동으로 만들기도 하고 갱신하기도 하며 웹사이트로 기록을 전달하기도 한다. 따라서 개인의 사생활을 침해할 소지가 있다.

③ 프로토콜 [ protocol ] : 송신자와 수신자 사이에 메시지나 데이터 등을 주고 받기 위해 사전에 정해놓은 규칙.

 

④ JWT : JWT(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. JWT는 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. 정보를 갖고있는 토근, DB 없이 인증할 수 있음.

 

⑤ JWT 단점 및 고려사항

  • Self-contained: 토큰 자체에 정보를 담고 있으므로 양날의 검이 될 수 있다. 
  • 토큰 길이: 토큰의 페이로드(Payload)에 3종류의 클레임을 저장하기 때문에, 정보가 많아질수록 토큰의 길이가 늘어나 네트워크에 부하를 줄 수 있다. 
  • Payload 인코딩: 페이로드(Payload) 자체는 암호화 된 것이 아니라, BASE64Url로 인코딩 된 것이다. 중간에 Payload를 탈취하여 디코딩하면 데이터를 볼 수 있으므로, JWE로 암호화하거나 Payload에 중요 데이터를 넣지 않아야 한다. 
  • Stateless: JWT는 상태를 저장하지 않기 때문에 한번 만들어지면 제어가 불가능하다. 즉, 토큰을 임의로 삭제하는 것이 불가능하므로 토큰 만료 시간을 꼭 넣어주어야 한다. 
  • Store Token: 토큰은 클라이언트 측에서 관리해야 하기 때문에, 토큰을 저장해야 한다.

출처: https://mangkyu.tistory.com/56 

 

+ Recent posts