如何检索 OS 安装的唯一签名?
How to retrieve a unique signature of the OS installed?
我想获取我的操作系统 + 安装硬件的足迹。我有几个连接到 MQTT 代理的 RaspberryPi。每个系统的主题应该有唯一的header:
mypi/da39a3ee5e6b4b0d3255bfef95601890afd80709/kitchen/light
我如何获得 shasum 或我的硬件 + 操作系统的等价物。
这是一种天真的方法
$ ifconfig -a eth0 | egrep -o '([0-9a-f]{2}:){5}[0-9a-f]{2}' | shasum
但是使用 MAC 地址可能太天真了。
理想情况下,如果硬件在物理上不同,我希望更改散列。在树莓派的情况下,哈希值会随着我改变我的树莓派而改变。
虽然我没有使用过一秒钟,但值得将操作系统包含在 HASH 中。如果我更新我的内核,散列应该是相同的。
How could I get a shasum or equivalent of my hardware + operating system.
你没有定义那是什么意思:
如果您在系统中添加一些 RAM、一些 SD 卡或一些 USB 设备,该哈希值是否会发生变化?
如果您用一些相同的硬件替换硬件(例如,一个 RaspberryPi 烧毁,然后用另一个 相同 SD 卡替换它),哈希值是否应该改变?还是通过类似的硬件伪装成原始硬件?
如果您(或某些对手)对您的 OS 内核进行小幅升级,或者如果您在系统中添加一些额外的包或程序,那么该哈希值是否应该改变?
如果您进行一些较小的配置(例如,更改 /etc/
下的某些配置文件,假设某些 Linux-like 系统),该哈希是否应该更改?
请注意,在许多系统上,您可以通过一些软件技巧更改 MAC 地址(我不知道这是否适用于您的 RaspberryPi)。
所以我认为没有针对你的问题的万无一失的解决方案。
(换句话说,只要有足够的努力和技巧,你总是可以伪造一些现有的系统;你可能希望它足够困难以至于不值得付出努力,但这提出了一个不同的问题;你的典型对手是和 NSA 一样强大,还是你只关心一个少年黑客?)。
顺便说一句 /proc/cpuinfo
(参见 proc(5))可能会随着内核升级而改变,并且即使在硬件更改后也可以通过一些内核补丁非常简单地伪造(以保持不变)。
我想获取我的操作系统 + 安装硬件的足迹。我有几个连接到 MQTT 代理的 RaspberryPi。每个系统的主题应该有唯一的header:
mypi/da39a3ee5e6b4b0d3255bfef95601890afd80709/kitchen/light
我如何获得 shasum 或我的硬件 + 操作系统的等价物。
这是一种天真的方法
$ ifconfig -a eth0 | egrep -o '([0-9a-f]{2}:){5}[0-9a-f]{2}' | shasum
但是使用 MAC 地址可能太天真了。
理想情况下,如果硬件在物理上不同,我希望更改散列。在树莓派的情况下,哈希值会随着我改变我的树莓派而改变。
虽然我没有使用过一秒钟,但值得将操作系统包含在 HASH 中。如果我更新我的内核,散列应该是相同的。
How could I get a shasum or equivalent of my hardware + operating system.
你没有定义那是什么意思:
如果您在系统中添加一些 RAM、一些 SD 卡或一些 USB 设备,该哈希值是否会发生变化?
如果您用一些相同的硬件替换硬件(例如,一个 RaspberryPi 烧毁,然后用另一个 相同 SD 卡替换它),哈希值是否应该改变?还是通过类似的硬件伪装成原始硬件?
如果您(或某些对手)对您的 OS 内核进行小幅升级,或者如果您在系统中添加一些额外的包或程序,那么该哈希值是否应该改变?
如果您进行一些较小的配置(例如,更改 /etc/
下的某些配置文件,假设某些 Linux-like 系统),该哈希是否应该更改?
请注意,在许多系统上,您可以通过一些软件技巧更改 MAC 地址(我不知道这是否适用于您的 RaspberryPi)。
所以我认为没有针对你的问题的万无一失的解决方案。
(换句话说,只要有足够的努力和技巧,你总是可以伪造一些现有的系统;你可能希望它足够困难以至于不值得付出努力,但这提出了一个不同的问题;你的典型对手是和 NSA 一样强大,还是你只关心一个少年黑客?)。
顺便说一句 /proc/cpuinfo
(参见 proc(5))可能会随着内核升级而改变,并且即使在硬件更改后也可以通过一些内核补丁非常简单地伪造(以保持不变)。