目前我正在開發一個嵌入式項目。客戶端是8位MCU,服務器端是計算機。低功耗微控制器如何根據服務器對自身進行身份驗證?
作爲目標的一部分,我想盡量減少複製產品的機會。在初始化階段,服務器發送序列號給客戶端,客戶端用序列號做一些簡單的計算,然後將結果發送回服務器。如果匹配的客戶端是可信的,服務器會將結果檢查爲預先計算的硬編碼值。
問題是發送回服務器的計算序列號始終是固定的。任何山寨公司都可以用邏輯分析儀輕鬆搞定。我想讓發送序列號看起來像是隨機位,但仍能夠解密回原來的值。 A good example using AES encryption(注意每次按對其進行加密按鈕生成一個看似隨意的文字,但你解密,然後將其恢復爲原始文本。)
由於8位ROM/RAM和加工功率限制單片機我無法在其中安裝完整的AES例程,因此AES無法解決問題。有沒有簡單而有效的算法來隨機化傳輸?
服務器端編碼爲C# – wei 2010-11-25 19:57:42