2014-04-15 3 views
7

맞아요, oauth의 작동 방식은 알고 있지만 왜 우리에게는 oauth_nonce이 필요한지 알 수 없습니다."oauth_nonce"가 정말로 필요합니까?

사양에서는 재생 공격을 해결하기 위해 timestamp/nonce가 고유해야한다고 지정하지만 consumer_key이 충분히 고유하면 어떻게됩니까?

consumer_key이 고유하지 않은 경우 어떻게 해당 oauth_nonce을 찾을 수 있습니까?

답변

10

키는 고유하지만 자주 변경되지는 않습니다. 반면에 nonce는 요청마다 고유해야합니다.

다음 시나리오를 고려하십시오. 전제 조건은 다음과 같습니다. 공격자는 통신 내용을 간첩 할 수는 있지만 비밀은 모릅니다. nonce가 없으면 재생 공격을 할 수 있습니다. 이미 보낸 요청이 유효하다는 것을 알고 있기 때문에 그는 이전 요청을 복제하고 다시 보낼 수 있습니다.

nonce는 서버가 최근에 사용 된 모든 nonces (there is a time limit)를 검사하고 nonce를 두 번 허용하지 않기 때문에 이것을 방지합니다.

+0

답장을 보내 주셔서 감사합니다. 이제 나는 그것을 안다. 나는 소비자를 다시 확인할 수 있기 때문에 nonce가 아닌 key를 사용할 수 없다. nonce를 사용하면 nonce를 사용하여 재생 공격을 피할 수 있지만, nonce 대신 consumer_key를 기록하면 정상적인 요청조차도 할 수 없다. 이미 방문한대로 내가 이미 그것을 consumer_key 기록하기 때문에 – user2234995

관련 문제