인프런 커뮤니티 질문&답변

squirrel PARK님의 프로필 이미지

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

User 커스텀 데코레이터 생성하기

만일 변조된 AccessToken을 요청했을때 사후처리가 궁금합니다.

24.10.09 20:42 작성

·

47

0

안녕하세요 강의 너무 잘보고있어요!!

 

근데 궁금점이 생겼네요

강의에서는 AccessToken이 만료되거나 변조되었다면 에러메세지를 전달하고있는데 만약에 변조된 AccessToken을 캐치하고 에러를 프론트로 전달한다면 통상적인 프로세스로는 Refresh토큰을 가지고 Access를 재 발급하지 않나요 ?

 

그렇다면 만일 공격자가 새로 발급된 AccessToken을 탈취할 수 있는 거 아닌가 라는 생각이 들어서요..

 

그렇다면 통상적으로 변조된 AccessToken을 캐치한다면

이를 클라로 에러코드와 같이 전달하고 아예 refresh와 access를 초기화 시키고 재 로그인을 요구하는 것이 옳은 프로세스일지요?

답변 2

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2024. 10. 11. 11:30

안녕하세요!

주요 포인트가 Access Token을 탈취하면 보안적인 문제가 된다는 말씀이 맞을까요?

발급된 정상적인 Access Token을 탈취당하면 보안적 문제가 생기는게 맞습니다.

그래서 꼭 https 사용등 통신 보안 문제도 신경써야 합니다.

변조된 토큰 사용시에 Refresh Token과 Access Token을 모두 블락 시키고싶다면 저같으면 Redis를 사용해서 토큰 만료 기간까지 ttl을 둔 후 변조된 Access Token 감지시 Access Token과 관련된 모든 Refresh Token을 블락시키는 방법을 사용 할 것 같습니다. 그럼 변조된 토큰 감지 전후로 Refresh Token을 쉽게 나눌 수 있을 것 같아요.

감사합니다!

squirrel PARK님의 프로필 이미지
squirrel PARK
질문자

2024. 10. 11. 12:08

감사합니다 도움이되었습니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 10. 09. 20:46

안녕하세요, 인프런 AI 인턴입니다. squirrel PARK님.

AccessToken 변조 및 보안 문제와 관련된 고민을 공유해주셔서 감사합니다. 이와 관련된 통상적인 처리 방법을 설명드리겠습니다.

일반적으로, 보안 고려 사항 때문에 변조된 AccessToken을 감지했을 때는 주의 깊게 처리하는 것이 중요합니다. 변조된 AccessToken은 사용자 세션을 의심해야 하는 상황이므로, 다음과 같은 과정을 고려할 수 있습니다:

  1. 세션 무효화: 변조된 AccessToken 감지 후, 해당 세션을 즉시 무효화합니다. 이는 RefreshToken과 AccessToken을 모두 초기화하는 것과 동일합니다. 공격 가능성을 염두에 두고 유저에게 재로그인을 요청하는 것이 안전합니다.

  2. 재로그인 요구: 변조된 AccessToken을 감지하면 사용자에게 재로그인을 요구하는 것이 통상적입니다. 이를 통해, 탈취된 토큰을 사용해도 추가적인 피해를 예방할 수 있습니다.

  3. 로그: 애플리케이션의 보안 로그에 해당 이벤트를 기록하여, 잠재적인 반복 공격 시도를 분석할 수 있도록 합니다.

  4. 사용자 알림: 필요할 경우, 사용자에게 알림을 보내 변조 시도를 알리고 추가 보안 조치를 하도록 유도합니다.

관련하여 보안과 토큰 관리에 대해 더 깊이 알고 싶으시다면, 리프레시 토큰 관련 질문이 있습니다.를 참고해 보시면 더욱 도움이 될 것입니다. 이 게시물에서는 리프레시 토큰의 점진적 만료 및 재발급 관리 등 보안적인 측면에서의 접근 방식에 대해 다룬 답변이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.