이것은 매우 좋은 질문입니다. 나는 어디에서나 UUID를 사용하기 위해 서두르는 것이 적절하다고 생각하지 않습니다. 나는 확실한 연구를 찾지 못했습니다.
제안 : 여기에 매우주의하여 암호화를 잘 알고 있어야합니다. 128 비트 UUID를 사용하는 경우 '생일 효과'는 각 키에 128 비트의 엔트로피가있는 경우 약 2 ^ 64 개의 키를 생성 한 후 충돌이 발생했음을 나타냅니다 .
실제로 이것이 사실인지 확인하기는 다소 어렵습니다. (a) 방사성 붕괴 (b) 랜덤 배경 무선 노이즈에서 진정한 임의성을 생성 할 수 있습니다. 예를 들어 역 바이어스 된 제너 다이오드에서 취한 적절한 전자 노이즈를 신중하게 선택하지 않는 한 종종 오염됩니다. (나는 마지막으로 연주했으며 매력처럼 작동합니다. BTW).
사용자가 2 ^ 64 (예 : 약 10 ^ 19) 키에 접근하는 것을 생성하지 않고 서로 확인한 경우를 제외하고는 "1 년 동안 사용하지 않았 음"과 같은 선언을 신뢰하지 않습니다. 사소한 운동.
문제는 이것입니다. 다른 모든 사람이 공통 키 공간에서 생성하는 다른 모든 키와 키를 비교할 때 100 비트의 엔트로피가 있다고 가정 해 봅시다. 약 2 ^ 50에서 충돌이 시작됩니다. 약 10 ^ 15 키. 1000 억 개의 키로 데이터베이스를 채운 경우 충돌이 발생할 가능성은 여전히 미미합니다. 확인하지 않으면 나중에 peta-row 크기의 데이터베이스에 발생하는 예기치 않은 오류가 발생합니다. 이것은 물린 수 있습니다.
이러한 UUID를 생성하는 데 여러 가지 접근 방식이 있다는 사실은 순간적인 경련의 원인이됩니다. 유형 4 UUID에 대해 충분한 엔트로피를 가진 '정확한 무작위'프로세스를 사용하는 생성기가 거의 없다는 것을 알고있을 때 생성기 의 엔트로피 내용을주의 깊게 검사 하지 않으면 지나치게 걱정해야합니다 . (대부분의 사람들은이 작업을 수행하지 않거나 방법을 알지 못합니다. DieHarder 제품군으로 시작할 수도 있습니다). 의사 난수 생성과 실제 난수 생성을 혼동하지 마십시오.
입력 한 엔트로피가 자신이 갖고있는 엔트로피임을 알고 있어야하며 암호화 기능을 적용하여 키를 교란 시키면 엔트로피가 변경되지 않습니다. 전체 공간이 숫자 0과 1을 포함하는 경우 엔트로피 내용이 다음 두 문자열의 내용과 동일하다는 것이 명백하지 않을 수 있습니다. ! @@ # & ^ % $$) ,. m} "및"완전히 다른 것을위한 지금 ". 여전히 두 가지 옵션이 있습니다.
무작위성은 제대로하기가 까다 롭지 않으며 단순히 "전문가들이 그것을 보았으므로 괜찮습니다"라고 믿으면 충분하지 않습니다. 전문가 암호 전문가 (그리고 실제로 능숙한 사람은 거의 없습니다)는 종종 잘못 알고 있다고 인정합니다. 우리는 heartbleed, DigiNotar 등을 믿었습니다.
폴 툼 린이 적절한주의를 기울이고 있다고 생각합니다. 내 2c.