Первоначально я задавал этот вопрос о переполнении стека , но люди предложили мне задать его здесь.
Я пишу программное обеспечение, которое должно однозначно идентифицировать несколько разных машин. Я планировал использовать /etc/machine-id
для этого.
Читая документы по идентификатору машины, я наткнулся на этот отрывок:
Этот идентификатор уникально идентифицирует хост. Он должен считаться «конфиденциальным» и не должен подвергаться воздействию в ненадежных средах, в частности в сети. Если для какого-либо приложения требуется стабильный уникальный идентификатор, связанный с машиной, идентификатор машины или любую его часть нельзя использовать напрямую. Вместо этого идентификатор машины должен быть хеширован с помощью криптографической хеш-функции с ключом, использующей фиксированный ключ для конкретного приложения.
Я не знаю много о dbus, но у меня сложилось впечатление, что это только для IPC. Если это так, я не уверен, почему это действительно имеет значение, если удаленный злоумышленник знает идентификатор машины. Кроме очевидных проблем с конфиденциальностью, существуют ли (известные) законные причины безопасности, чтобы не передавать свой идентификатор машины? Или это просто случай с какой-то строго сформулированной документацией?
/etc/machine-id
это файл, и MAC-адрес легко подделывается - как таковой может быть легко скопирован (обходя вашу идентификацию).