Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing Ethernet address from version 1 UUIDs #4

Closed
baarde opened this issue Feb 7, 2022 · 0 comments
Closed

Removing Ethernet address from version 1 UUIDs #4

baarde opened this issue Feb 7, 2022 · 0 comments

Comments

@baarde
Copy link
Owner

baarde commented Feb 7, 2022

Using the Ethernet address in time-based (version 1) UUIDs has several caveats:

  • Determining the Ethernet address is not portable. The current implementation requires to embed C code in the library and only supports Darwin and Linux.
  • The Ethernet address is not always globally unique.
    • On a MacBook Pro with touch bar, the first network interface is always ac:de:48:00:11:22.
    • Docker assigns Ethernet addresses from the range 02:42:ac:11:00:0002:42:ac:11:ff:ff.
    • And there are probably more example.
  • Exposing the Ethernet address may leak private information.

We already use a random node identifier as a fallback when the Ethernet address cannot be determined, as specified in RFC 4122 section 4.5. I suggest we make using that random identifier the default choice for UUID.v1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant