Originalmente hice esta pregunta en Stack Overflow , pero la gente sugirió que preguntara aquí.
Estoy escribiendo un software que necesita identificar de manera única múltiples máquinas diferentes. Estaba planeando usar /etc/machine-id
para hacer esto.
Mientras leía los documentos para la identificación de la máquina, me topé con este pasaje:
Este ID identifica de forma exclusiva al host. Debe considerarse "confidencial" y no debe exponerse en entornos no confiables, en particular en la red. Si se necesita un identificador único estable que esté vinculado a la máquina para alguna aplicación, la ID de la máquina o cualquier parte de ella no debe usarse directamente. En cambio, la ID de la máquina se debe codificar con una función criptográfica, codificada, utilizando una clave fija específica de la aplicación.
No sé mucho sobre dbus, pero tenía la impresión de que es solo para IPC. Si ese es el caso, no estoy seguro de por qué realmente importaría si un atacante remoto conociera la identificación de la máquina. Además de los obvios problemas de privacidad, ¿existen razones de seguridad legítimas (conocidas) para no compartir la identificación de la máquina? ¿O es solo un caso de documentación fuertemente redactada?
/etc/machine-id
es un archivo, y la dirección MAC se falsifica fácilmente, por lo que puede copiarse fácilmente (evitando su identificación).Respuestas:
No, este texto se agregó por razones de privacidad en lugar de seguridad.
La identificación de la máquina es similar a un UDID de iOS o una dirección MAC; exponerlo innecesariamente (a través de la red o a aplicaciones de espacio aislado) podría permitir que alguien rastree a los usuarios del programa a través de las redes, o para vincular el uso de diferentes aplicaciones por la misma persona.
Ver discusión:
fuente