작성
·
317
1
강의 막바지에
인가서버에서는 개인키로 서명하고, 자원 서버에서는 공개키로
검증한다고 하셨는데,
말그대로 공개키는 노출되어있는 키여서, 누구나 검증할 수 있어서 보안적인 측면에서 취약한거 아닌가요??
공개키로 서명하고 -> 리소스 서버에서 개인키로 검증해야하는게 맞지 않나 싶어서 질문드립니다
답변 1
1
네
비대칭키에서 공개키는 누구나 가질 수 있도록 하는데 의미가 있습니다.
다만 공개키만으로는 아무것도 할 수 없습니다.
인가서버에서 발급하는 토큰은 개인키로 서명을 하게 되고 이 토큰을 사용하기 위해서는 공개키를 가지고 있어야 하는데 공개키도 인가서버가 제공하는 것이기 때문에 리소스 서버가 올바른 공개키를 가지고 있다면 당연히 토큰 검증이 성공해야 합니다.
만약 인가서버가 공개키로 서명했다면 리소스 서버는 인가서버에서 생성한 개인키를 가지고 있어야 하는데 개인키를 어떻게 공유할 수 있을까요?
개인키는 말그대로 공유가 되어서는 안되는 키입니다. 다만 개인키는 공유키로 , 공유키는 개인키로 암복호화 할 수 있다는 의미이지 개인키 자체는 더더욱 외부로 공유하거나 노출되어서는 안되는 것입니다.
요약하면 인가서버에서 개인키로 서명한 토큰에 대하여 정확한 공캐키만 가지고 있으면 누구든지 토큰을 사용할 수 있도록 하는 것이 올바른 흐름이라 할 수 있습니다.