inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 OAuth2

Oauth 2.0 Token Types 이해

JWT 자체 검증에 대해서 질문드립니다

379

hangs0908

작성한 질문수 10

1

강의 막바지에

인가서버에서는 개인키로 서명하고, 자원 서버에서는 공개키로

검증한다고 하셨는데,

말그대로 공개키는 노출되어있는 키여서, 누구나 검증할 수 있어서 보안적인 측면에서 취약한거 아닌가요??

 

공개키로 서명하고 -> 리소스 서버에서 개인키로 검증해야하는게 맞지 않나 싶어서 질문드립니다

java spring spring-boot oauth

답변 1

1

정수원

비대칭키에서 공개키는 누구나 가질 수 있도록 하는데 의미가 있습니다.

다만 공개키만으로는 아무것도 할 수 없습니다.

인가서버에서 발급하는 토큰은 개인키로 서명을 하게 되고 이 토큰을 사용하기 위해서는 공개키를 가지고 있어야 하는데 공개키도 인가서버가 제공하는 것이기 때문에 리소스 서버가 올바른 공개키를 가지고 있다면 당연히 토큰 검증이 성공해야 합니다.

만약 인가서버가 공개키로 서명했다면 리소스 서버는 인가서버에서 생성한 개인키를 가지고 있어야 하는데 개인키를 어떻게 공유할 수 있을까요?

개인키는 말그대로 공유가 되어서는 안되는 키입니다. 다만 개인키는 공유키로 , 공유키는 개인키로 암복호화 할 수 있다는 의미이지 개인키 자체는 더더욱 외부로 공유하거나 노출되어서는 안되는 것입니다.

요약하면 인가서버에서 개인키로 서명한 토큰에 대하여 정확한 공캐키만 가지고 있으면 누구든지 토큰을 사용할 수 있도록 하는 것이 올바른 흐름이라 할 수 있습니다.

authorization-server 라이브러리 질문이 있습니다.

0

75

1

loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생

0

76

2

JWT 조회 에 대한 질문

0

70

1

password grant 방식 에러 응답

0

88

3

FormLoginConfigure에서 생성하는 필터

0

77

2

현업에서 springboot를 3.5.5 를 사용해서 공부중인데...

0

282

2

Jdbc 관련 강의 및 깃헙 문의

0

77

1

OAuth2AuthorizedClient 이해 및 활용 강의 내용 질문

0

208

1

UserInfo 엔드포인트 요청 실습

0

74

1

RFC 문서에서의 AccessToken 발급 방식 궁금한점

0

150

1

강의자료.zip 를 다운로드 받았는데 압축이 풀리지 않습니다. 확인 부탁드려요

0

139

2

OIDC SSO 관련 질문 입니다.

0

130

1

AuthenticationEntryPoint 강의 누락 문의

0

122

1

cors설정방법

0

115

1

jwt decoder 토큰 검증 시 질문

0

221

1

클라이언트에서 userinfo 엔드포인트 호출 시 질문

0

185

2

JOSE 구성요소의 api에 관한 질문

0

140

2

스프링 부트 3버전으로 따라가시는 분들 참고하세요

1

529

1

CustomOAuth2AuthenticationFilter 구현 중 질문

0

145

2

AuthenticationManager 생성시점

0

117

1

FormLogin과 Oauth2Client 둘 중 사용하는 시점

0

127

1

postman userinfo 엔드포인트 질문

0

135

2

강의 수강신청하고 듣기 전입니다 질문있습니다.

0

114

1

인증 코드를 통해 발급 받은 토큰의 관리

0

198

1