Linux

根據機器的部分硬體組件生成密鑰(數字?)

  • April 18, 2012

我想知道根據機器的某些組件手動生成硬體密鑰的最佳方法是什麼。

事情是這樣的:我只希望某些類型的機器能夠與我的伺服器通信。為了做到這一點,我想確保他們的硬體只是我的伺服器辨識(或接受)的“允許的硬體”的一部分。

我想根據所述硬體生成一個密鑰,這樣我就可以在伺服器端檢查它並確保它在“允許的範圍內”。

理想情況下,它會“檢查”

  • 處理器
  • 主機板
  • 乙太網網路介面

記憶體和硬碟驅動器有點棘手,因為它們可能會經常變化。

我正在使用 Ubuntu 10.10,並且我已經看到該lshw命令提供了很多關於……好吧……關於一切的資訊。此外, cat /proc/cpuinfodmidecode…所有這些都顯示了很多資訊,我總是可以用正則表達式解析並做…事情,但我想知道是否有更清潔更直接的方法。

對此問題的任何提示或建議將不勝感激。

謝謝你。

我認為有趣的問題最終會咬到你。

您可以編寫一個腳本來執行以下操作:

rm /tmp/hw_snapshot
touch /tmp/hw_snapshot
cat /proc/cpuinfo | grep <whatever> >> /tmp/hw_snapshot
dmidecode | grep <whatever> >> /tmp/hw_snapshot
lspci | grep <whatever> >> /tmp/hw_snapshot
md5sum /tmp/hw_snapshot > /tmp/key

不,您有硬體配置的唯一標識符。問題是,即使在同一型號系列中,硬體也會有很大差異,包括 CPU、網卡、網卡數量等。所以基本上,如果有人有HP DL380型號,然後又買了另一個帶有額外網卡的型號,則添加了您的獨特密鑰不再有效。

另外,我仍然不明白硬體基礎限制通信的目的。如果您想控制與您的機器對話的內容,請將可以使用的東西放在專用網路上(如果可以的話)。

引用自:https://unix.stackexchange.com/questions/35252