인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김현철님의 프로필 이미지
김현철

작성한 질문수

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

basic, bearer 토큰 관련 문의

작성

·

26

0

안녕하세요

basic, bearer 토큰을 이미 범용적으로 널리 사용된다고 하셨는데 궁금한점이

로그인할 때 id/pw 를 header 에 넣어서 보낸다고 하셨는데

패킷을 탈취하면 너무 취약할 것 같아서요.

 

제가 웹개발자가 아니라 실무에선 실제로 어떻게 쓰는지 알고싶어서 질문남깁니다.

답변 2

0

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

안녕하세요!

제가 아는 한에서 값을 "탈취" 당했을때 대응 할 수 있는 방법은 암호/복호화 밖에 없습니다.

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 김현철님.

로그인 시 Basic 및 Bearer 토큰을 사용하는 방법에 대한 보안적인 우려에 대해 질문주셨네요. 두 수단 모두 인증 과정에서 널리 사용되지만, 각각의 방식이 어떻게 보안을 유지하는지 이해하는 것이 중요합니다.

1. Basic 토큰 방식:
- Basic 인증은 username:password를 Base64로 인코딩하여 전송합니다. 즉, 패킷을 가로채면 디코딩하여 실제 정보를 얻을 수 있으므로 HTTPS와 함께 사용하여 전송 중인 데이터를 보호합니다.
- HTTPS(SSL/TLS)를 통해 전송함으로써 데이터는 암호화되어 전송되고, 패킷을 가로채더라도 쉽게 읽을 수 없습니다.

2. Bearer 토큰 방식:
- Bearer 토큰은 사용자 인증 시 서버로부터 발급받으며, 이후 요청마다 토큰을 헤더에 포함하여 서버에 사용자 신원을 증명합니다.
- 토큰은 일반적으로 만료 시간(expiry time)이 설정되어 있어, 도난당하더라도 시간 제한이 적용됩니다.
- OAuth 2.0 또는 JWT(JSON Web Token) 등의 방식을 사용하여 토큰 자체에 서명 또는 암호화를 통해 안전성을 강화할 수 있습니다.

다음 링크에서 이러한 인증 방식에 대한 추가 설명을 보실 수 있습니다:
- Basic 토큰을 API 서버가 받아서 어떤식으로 검증을 하는지 궁금합니다
- Token 발급 과정에서 보안과 content type 질문

이 게시글들은 토큰 인증에 관해 더 깊이 이해하는 데 도움이 될 것입니다.

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

김현철님의 프로필 이미지
김현철

작성한 질문수

질문하기