2014-09-25 4 views
0

자바 스크립트 클라이언트가 위장 할 수없는 UUID를 만들 수 있습니까?Javascript 클라이언트에서 보안 UUID를 만드는 방법은 무엇입니까?

예를 들어 Create GUID/UUID in JavaScript?의 솔루션 중 하나를 사용하여 UUID를 생성하고 UUID를 사용하여 작성 요청을 서버로 전송했다고 가정합니다. 서버가 UUID가 실제로 다른 함수가 아니라 Javascript 함수에 의해 생성되었는지 확인할 수 있습니까?

하나의 아이디어는 체크섬을 사용하는 것이지만, UUID 생성 및 체크섬 코드는 "해커"에게 표시됩니다. 그들은 단순히 Javascript 함수를 수정 한 다음 체크섬을 추가 할 수 있습니다.

그래서이 문제에 대한 좋은 해결책이 있습니까?

+0

X : Y 문제와 유사합니다. UUID가 Javascript 함수에 의해 생성 된 경우 왜 신경을 쓰고 그렇지 않은 경우에는 어떻게됩니까? – jgm

+0

확실치 않습니다 ... 무작위로 UUID가 Javascript로 생성되었지만 해커가 자신의 UUID를 제출할 수 있다는 것이 이상하게 보입니다. 클라이언트가 생성하려고하는 경우 서버가 제대로 생성되었는지 확인하는 방법이 필요합니다. –

+0

그것은 단지 식별자 일뿐 특별한 힘이나 특권이 없으므로 걱정하지 않으셔도됩니다. – jgm

답변

0

UUID를 만든 사람은 신경 쓰지 않아야합니다. 서버는 클라이언트가 보낸 UUID가 UUID 형식을 따르는 지 여부 만 확인해야하며, 어쨌든 동일한 UUID가 이미 사용되었는지 확인합니다 (필요에 따라 다름).

UUID 값이 비공개 (예 : 인증 번호)로 사용되지 않는 경우입니다. 이 경우 클라이언트 측에서 값을 생성해서는 안되며 서버는 생성 된 값을 추적해야합니다.

0

길이 또는 형식과 같은 몇 가지 기본적인 상식 검사를 수행 할 수 있지만 실제로 주어진 질문은 "특정 난수 생성기로 생성 된 숫자를 확인할 수 있습니까?"입니다. 난수 생성기가 진정으로 무작위이면 대답은 "아니오"여야합니다. 그 대답에 대한 답을 역 추적 할 수 있다면 쉽게 무작위가 아니기 때문입니다.