일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터비전
- 컴퓨터과학
- 머신러닝
- 보안
- 데이터구조
- 데이터베이스
- 2
- Yes
- 소프트웨어
- 데이터과학
- 네트워크보안
- 파이썬
- 프로그래밍언어
- 네트워크
- 알고리즘
- 클라우드컴퓨팅
- 소프트웨어공학
- 프로그래밍
- 데이터분석
- 빅데이터
- I'm Sorry
- 버전관리
- 웹개발
- 컴퓨터공학
- 사이버보안
- 인공지능
- 자바스크립트
- 딥러닝
- 자료구조
- 코딩
- Today
- Total
목록암호화 (14)
스택큐힙리스트
자바스크립트를 사용하여 JWT의 페이로드를 어떻게 디코딩할 수 있을까요? 라이브러리 없이. 토큰은 프론트엔드 앱에서 사용할 수 있는 페이로드 객체를 반환합니다. 예시 토큰: xxxxxxxxx.XXXXXXXX.xxxxxxxx 그리고 결과는 다음과 같습니다: {exp: 10012016 name: john doe, scope:['admin']} 답변 1참고: 이는 서명을 확인하지 않고 토큰에서 JSON 페이로드를 추출하기 때문에 변조될 수 있습니다. 브라우저 유니코드 텍스트 JWT 파서 함수 작동: function parseJwt (token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g..
모바일 앱을 개발하고 있으며 인증을 위해 JWT를 사용하고 있습니다. 가장 좋은 방법은 JWT 액세스 토큰을 리프레시 토큰과 함께 사용하여 원하는만큼 액세스 토큰을 만료시킬 수 있다는 것 같습니다. 리프레시 토큰은 어떻게 생겼나요? 랜덤한 문자열인가요? 그 문자열은 암호화되어 있나요? 다른 JWT인가요? 리프레시 토큰은 데이터베이스의 사용자 모델에 저장되어 액세스에 사용되는 것이 맞습니까? 이 경우에는 암호화되어야 할 것 같습니다. 사용자 로그인 후에 리프레시 토큰을 다시 전송하고, 클라이언트가 별도의 경로를 통해 액세스 토큰을 가져오도록 하나요? 답변 1다음은 JWT 액세스 토큰을 취소하는 방법입니다: 로그인 할 때 클라이언트에게 2 개의 토큰 (액세스 토큰, 리프레시 토큰)을 응답으로 전송합니다. 액..
만약 JWT를 얻고 페이로드를 디코딩할 수 있다면, 어떻게 보안이 되는 건가요? 그냥 헤더에서 토큰을 가져와 디코딩하고 페이로드에서 사용자 정보를 변경한 다음 올바로 인코딩된 비밀 키로 다시 보내면 안 될까요? 그들은 안전해야 한다는 건 알겠지만, 기술을 이해하고 싶습니다. 뭘 놓치고 있는 건가요?답변 1메시지를 받을 때, Bob은 해시(payload + 비밀값)을 계산하여 서명이 일치하는지 확인할 수도 있습니다. 그러나 Mallory가 내용을 변경한다면, 일치하는 서명(해시(새로운내용 + 비밀값))을 계산할 수 없습니다. 그녀는 비밀값을 알지 못하고 알 방법도 없습니다. 이것은 그녀가 무언가를 변경한다면, 서명이 더 이상 일치하지 않을 것이며, Bob은 그때부터 JWT를 더 이상 수락하지 않을 것입니다..
나는 쿠키 기반 인증을 알고 있다. SSL과 HttpOnly 플래그를 적용하여 쿠키 기반 인증을 MITM과 XSS로부터 보호할 수 있다. 그러나 CSRF로부터 보호하기 위해서는 추가적인 특별한 조치가 필요하다. 그것들은 좀 복잡하다. (참고) 최근에, 나는 JSON Web Token (JWT)이 인증에 대한 해결책으로 꽤 핫하다는 것을 발견했다. JWT의 인코딩, 디코딩 및 검증에 대한 내용을 알고 있다. 그러나 어떤 웹사이트/튜토리얼에서는 JWT를 사용한다면 CSRF 보호가 필요하지 않다고 얘기하는 이유를 이해하지 못한다. 나는 많이 읽어보고 아래의 문제를 요약하려고 노력했다. JWT에 대한 큰 그림을 제공하고, 나의 JWT에 대한 오해를 명확히 해주길 원한다. JWT가 쿠키에 저장되어 있다면, 서버는..