Linux
根據機器的部分硬體組件生成密鑰(數字?)
我想知道根據機器的某些組件手動生成硬體密鑰的最佳方法是什麼。
事情是這樣的:我只希望某些類型的機器能夠與我的伺服器通信。為了做到這一點,我想確保他們的硬體只是我的伺服器辨識(或接受)的“允許的硬體”的一部分。
我想根據所述硬體生成一個密鑰,這樣我就可以在伺服器端檢查它並確保它在“允許的範圍內”。
理想情況下,它會“檢查”
- 處理器
- 主機板
- 乙太網網路介面
記憶體和硬碟驅動器有點棘手,因為它們可能會經常變化。
我正在使用 Ubuntu 10.10,並且我已經看到該
lshw
命令提供了很多關於……好吧……關於一切的資訊。此外, cat/proc/cpuinfo
,dmidecode
…所有這些都顯示了很多資訊,我總是可以用正則表達式解析並做…事情,但我想知道是否有更清潔更直接的方法。對此問題的任何提示或建議將不勝感激。
謝謝你。
我認為有趣的問題最終會咬到你。
您可以編寫一個腳本來執行以下操作:
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型號,然後又買了另一個帶有額外網卡的型號,則添加了您的獨特密鑰不再有效。
另外,我仍然不明白硬體基礎限制通信的目的。如果您想控制與您的機器對話的內容,請將可以使用的東西放在專用網路上(如果可以的話)。