Pierwotnie zadałem to pytanie na temat przepełnienia stosu , ale ludzie sugerowali, żebym zamiast tego zadał pytanie.
Piszę oprogramowanie, które musi jednoznacznie identyfikować wiele różnych maszyn. Chciałem to /etc/machine-id
zrobić.
Czytając dokumenty dotyczące identyfikatora maszyny, natknąłem się na ten fragment:
Ten identyfikator jednoznacznie identyfikuje hosta. Należy to uznać za „poufne” i nie może być ujawniane w niezaufanych środowiskach, w szczególności w sieci. Jeśli dla niektórych aplikacji potrzebny jest stabilny unikalny identyfikator powiązany z maszyną, nie można bezpośrednio używać identyfikatora maszyny ani żadnej jej części. Zamiast tego identyfikator komputera powinien być zaszyfrowany kryptograficzną, kluczowaną funkcją skrótu, przy użyciu stałego klucza specyficznego dla aplikacji.
Nie wiem dużo o dbus, ale miałem wrażenie, że dotyczy to tylko IPC. Jeśli tak jest, nie jestem pewien, dlaczego tak ważne byłoby, gdyby zdalny atakujący znał identyfikator maszyny. Czy oprócz oczywistych problemów związanych z prywatnością istnieją (znane) uzasadnione powody bezpieczeństwa, aby nie udostępniać swojego identyfikatora komputera? A może to tylko przypadek mocno sformułowanej dokumentacji?
/etc/machine-id
jest plikiem, a adres MAC można łatwo sfałszować - jako taki można go łatwo skopiować (obejście tożsamości).Odpowiedzi:
Nie, ten tekst został dodany ze względów prywatności, a nie ze względów bezpieczeństwa.
Identyfikator komputera jest podobny do identyfikatora UDID systemu iOS lub adresu MAC; niepotrzebne ujawnianie go (przez sieć lub aplikacje w piaskownicy) może pozwolić komuś na śledzenie użytkowników programu w sieci lub powiązanie korzystania przez tę samą osobę z różnych aplikacji.
Zobacz dyskusję:
źródło