我想知道根据机器的某些组件手动生成硬件密钥的最佳方法是什么.
事情就是这样:我只希望某种类型的机器能够与我的服务器通信.为了做到这一点,我想确保他们的硬件只是我的服务器识别(或接受)的“允许的硬件”的一部分.
我想基于所述硬件生成一个密钥,所以我可以在服务器端检查它,并确保它是“允许的”之一.
理想情况下,它会“检查”
>处理器
>主板
>以太网网络接口
内存和硬盘驱动器有点棘手,因为这些可能会经常发生变化.
我正在使用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型号,然后再添加一个额外的网卡,则添加您的唯一密钥不再有效.
另外,我仍然不明白硬件基础限制通信的目的.如果你想控制与你的机器的对话,那就可以将它们放在专用网络上(如果可以的话).