Ich habe diese Frage ursprünglich bei Stack Overflow gestellt , aber die Leute haben vorgeschlagen, stattdessen hier zu fragen.
Ich schreibe Software, die mehrere verschiedene Maschinen eindeutig identifizieren muss. Ich hatte vor, dies /etc/machine-id
zu tun.
Beim Lesen der Dokumente zur Maschinen-ID bin ich auf diese Passage gestoßen:
Diese ID identifiziert den Host eindeutig. Es sollte als "vertraulich" betrachtet werden und darf nicht in nicht vertrauenswürdigen Umgebungen, insbesondere im Netzwerk, offengelegt werden. Wenn für eine Anwendung eine stabile eindeutige Kennung benötigt wird, die an die Maschine gebunden ist, darf die Maschinen-ID oder ein Teil davon nicht direkt verwendet werden. Stattdessen sollte die Computer-ID mit einer kryptografischen, verschlüsselten Hash-Funktion unter Verwendung eines festen, anwendungsspezifischen Schlüssels gehasht werden.
Ich weiß nicht viel über dbus, aber ich hatte den Eindruck, dass es nur für IPC ist. Wenn dies der Fall ist, bin ich mir nicht sicher, warum es wirklich wichtig ist, wenn ein entfernter Angreifer die Maschinen-ID kennt. Gibt es außer den offensichtlichen Datenschutzproblemen (bekannte) legitime Sicherheitsgründe, die eigene Computer-ID nicht weiterzugeben? Oder handelt es sich nur um eine stark formulierte Dokumentation?
/etc/machine-id
ist eine Datei, und die MAC-Adresse kann leicht gefälscht werden - als solche kann sie leicht kopiert werden (unter Umgehung Ihrer Identifikation).Antworten:
Nein, dieser Text wurde aus Datenschutzgründen und nicht aus Sicherheitsgründen hinzugefügt .
Die Maschinen-ID ähnelt einer iOS-UDID oder einer MAC-Adresse. Durch unnötiges Aussetzen (über das Netzwerk oder Sandbox-Apps) kann möglicherweise jemand die Benutzer des Programms über Netzwerke hinweg verfolgen oder die Nutzung verschiedener Apps durch dieselbe Person verknüpfen.
Siehe Diskussion:
quelle