2014-08-27 92 views
0

我可以用C/C++程序獲得串行ARM CPU(樹莓派)信息。 我可以從/ proc/cpuinfo獲得這些信息,但是這很容易破解程序。 有誰知道如何通過C/C++獲得序列號? 我想使用序列號進行加密操作。用C/C++程序獲取串行ARM CPU信息

+3

使用序列號進行加密操作是一種更糟糕的想法,即將其用於身份序列號很容易預測,並且不提供任何保密措施。 – 2014-08-27 18:48:29

+0

文件*/dev/random *努力嘗試並提供加密類型的種子。在很多系統上這是非常不可預測的。通常,您使用公鑰和私鑰或[Diffie Hellman](http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)進行驗證。如果您嘗試進行客戶端身份驗證,某些CPU會爲硬件防篡改提供可歸零內存。對於ARM,[tag:trust-zone]可以提供對客戶端密鑰的訪問。但是,我不相信樹莓派有這些功能? – 2014-08-30 01:12:38

回答

0

這一個很簡單:用fd=fopen("/proc/cpuinfo", "r");

開始我ofcourse的意思是,不信任/proc/cpuinfo意味着不信任正在運行的內核 - 在這個前提下,全盤皆輸。

如果您想要構建DRM系統(即綁定到物理設備的軟件),請記住:DRM的第一條規則是DRM不起作用。