티스토리 뷰
반응형
참고 사이트
- http://lazyhoneyant.blogspot.kr/2016/08/jwt-jsonwebtoken-1.html
- http://lazyhoneyant.blogspot.kr/2016/08/jwt.html
JWT란?
개념
- Json Web Token의 약자. Json 형태로 되어 있는 토큰.
- 기존의 세션/쿠키 방식의 한계를 보완하기 위해 최근 많이 사용하는 인증 방식
- 토큰 인증 프로세스
- 사용자는 로그인 같은 과정을 통해 서버에 인증을 요청
- 서버에서는 인증이 완료되면 토큰을 생성하여 사용자에게 전달
- 사용자는 해당 토큰을 받아 인증이 필요할 때마다 토큰을 함께 전달
- 서버는 매번 들어오는 요청마다 토큰을 검증하여 이에 따라 요청한 자원을 제공
- 클라이언트는 최초 인증 후 서버에게 전달받은 토큰을 저장(일반적으로 local storage 혹은 쿠키에 저장)
- 저장된 토큰을 Authorization header에 실어서 Request 요청
JWT 토큰 저장소
HTML5 Web Storage
- Web Storage는 HTML5부터 지원되는 기술
- 클라이언트(브라우저)에 데이터를 저장할 수 있는 방법 중 하나
- 쿠키에 비해 보안이 좀 더 뛰어나면서 웹사이트 성능에 영향 없이 더 많은 데이터(최소 5MB)를 저장할 수 있음
- 각 도메인과 프로토콜 단위로 저장됨
- Local Storage : window.localStorage에 위치. 모두 문자열로 저장됨. 데이터를 지우기 전까지는 계속 저장됨.
- Session Storage : window.sessionStorage에 위치. Local Storage와 달리 데이터가 영구적으로 보관되지 않고 브라우저 창이 꺼지면 데이터가 삭제됨
- 자바스크립트로 값을 쉽게 저장하고 가져올 수 있기 때문에 편리
- 보안 측면에서는 좋지 않음
- XSS(Cross-Site Scripting) 공격에 취약할 수 있음
- XSS : 사이트 간 스크립팅. 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점
Cookies
- 사용자 인증을 하게 되면 서버측에서 HTTP Set-Cookie 헤더를 통해 토큰을 전송
- 브라우저는 이를 통해 쿠키를 생성하고 토큰을 저장함
- 해당 API에 요청을 할 때에 브라우저는 자동으로 이 쿠키를 실어서 보냄
- 쿠키 또한 자바스크립트를 통해 조작이 가능하지만 옵션 설정을 하면 이를 막을 수 있음
- HttpOnly 옵션 : 쿠키는 자바스크립트로 접근이 불가능함(오로지 HTTP 통신을 통해서만 쿠키가 전송됨) -> XSS 공격에 대해 방어 가능
- Secure 옵션 : 쿠키는 HTTPS 통신으로만 전송 -> 보안 수준을 한 단계 더 높일 수 있음
- CSRF(Cross-Site Request Forgery) 공격에 취약
- CSRF : 사이트 간 요청 위조. 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격
반응형
'개발도구 > Web' 카테고리의 다른 글
[Web] Web 서버와 WAS의 차이 (0) | 2019.03.18 |
---|
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- DOCs
- 하이퍼레저 페브릭
- Blockchain
- docker
- 문제풀이
- 직딩잇템
- Hyperledger Fabric v1.2
- 빅데이터 교육
- Hyperledger Indy
- 빅데이터 기초
- Hyperledger Fabric
- Hyperledger Fabric v1.1
- 코딩테스트
- 하이퍼레저 인디
- 빅데이터
- 코딜리티
- codility
- ubuntu
- 하이퍼레저 패브릭
- 어서와 데이터는 처음이지
- 암브로셔스
- 코테
- javascript
- ambrosus
- 빅데이터 강의
- 블록 체인
- Private Data
- 블록체인
- 기초 of 기초 데이터 개념
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함