본문으로 건너뛰기

검증 및 내부 정보

UUID 분석기

UUID를 붙여 넣으면 버전, 변형, 포함된 타임스탬프, 엔트로피와 v1 식별자를 시스템에 연결할 수 있는 노드 필드를 확인할 수 있습니다.

참조

각 요소의 위치

UUID는 128비트이며 하이픈으로 구분된 다섯 그룹으로 표기됩니다. 각 그룹의 의미는 버전에 따라 달라서, 같은 36자라도 v4에서는 불투명하고 v1에서는 정보를 드러낼 수 있습니다.

  • time_low

    비트 0–31

    v1에서는 타임스탬프 하위 비트이고 v4에서는 무작위입니다.

  • time_mid

    비트 32–47

    v1 타임스탬프의 중간 비트입니다.

  • time_high / version

    비트 48–59 + 4

    버전 니블은 옥텟 6의 상위 4비트(13번째 문자)에 있습니다.

  • clock_seq

    비트 60–73

    노드마다 무작위이며 타임스탬프 중복을 막습니다.

  • node

    비트 74–127

    v1의 시스템 식별자로, 과거에는 MAC 주소였습니다. 그래서 v1은 정보를 노출할 수 있습니다.

  • variant

    비트 옥텟 8의 상위 2~3비트

    10은 RFC 9562를 뜻합니다. 다른 값은 레거시 또는 예약 값입니다.

v1이 정보를 노출할 수 있는 이유

노드 필드에는 하드웨어 주소가 들어갈 수 있습니다. 같은 시스템의 v1 UUID 두 개가 이를 공유하면 서로 연결되거나 시스템을 추적하는 데 사용될 수 있습니다. 분석기는 이 필드를 명확히 표시합니다.

v7이 만들어진 이유

48비트 밀리초 타임스탬프가 값의 앞에 있어 UUID가 생성 순서대로 정렬됩니다. 행을 삽입할 때 B-tree 인덱스의 순서를 유지하는 데 도움이 됩니다.

v3 대신 v5를 쓰는 이유

둘 다 이름 기반이며 결정적입니다. v3은 더 이상 안전하다고 보기 어려운 MD5를 사용하고, v5는 이름 기반 UUID의 현대적인 선택인 SHA-1을 사용합니다.