元々はStack Overflowでこの質問をしましたが、代わりにここで質問することを勧められました。
複数の異なるマシンを一意に識別する必要があるソフトウェアを書いています。を使用/etc/machine-id
してこれを行うことを計画していました。
machine-idのドキュメントを読んでいるとき、私はこの一節に出くわしました。
このIDはホストを一意に識別します。これは「機密」と見なされ、信頼されていない環境、特にネットワーク上で公開されてはなりません。マシンに関連付けられた安定した一意の識別子が一部のアプリケーションで必要な場合、マシンIDまたはその一部を直接使用しないでください。代わりに、マシンIDは、アプリケーション固有の固定キーを使用して、暗号化されたキー付きハッシュ関数でハッシュする必要があります。
私はdbusについてはあまり知りませんが、IPC専用であるという印象を受けました。その場合は、リモートの攻撃者がmachine-idを知っていることが本当に重要である理由がわかりません。明らかなプライバシー問題以外に、自分のマシンIDを共有しない(既知の)正当なセキュリティ上の理由はありますか?それとも、これは強固な言葉で書かれたドキュメントの単なる例ですか?
どのアーキテクチャ/プロセッサを使用していますか?現在私が使用しているi.MX6は、sysfsを介して公開される本当にユニークで読み取り専用のシリアル番号を持っています。
—
Attie
@Attie私のシナリオでは、IDをスプーフィングするマシンに実際の影響はないので、私はそれほど心配していません。実際、私は各マシンの一意のIDを取得する方法についてのアイデアが不足しているわけではありません。この質問は、machine-idが具体的にどのように使用されているか(およびそれを公開することが潜在的に危険かどうか)に対する私の好奇心を満たすためのものでした。
—
Cameron日
いいですね-答えも聞き
—
たくなり
/etc/machine-id
はファイルであり、MACアドレスは簡単に偽装されます-そのため、簡単にコピーできます(識別を回避します)。