我們正在將HTTP RESTful接口放入我們的嵌入式平臺。硬件太有限,無法支持SSL,但我們確實使用AES加密來處理其他事情。標準非SSL HTTP加密
我正在考慮使用AES和共享密鑰來加密數據。還有什麼其他東西至少是通過HTTP進行加密的標準方式嗎?
我們正在將HTTP RESTful接口放入我們的嵌入式平臺。硬件太有限,無法支持SSL,但我們確實使用AES加密來處理其他事情。標準非SSL HTTP加密
我正在考慮使用AES和共享密鑰來加密數據。還有什麼其他東西至少是通過HTTP進行加密的標準方式嗎?
加密HTTP 的標準方法是 SSL(或其後繼TLS,時下)(則這稱爲HTTPS) 。
正如GregS在評論中提出的那樣,您的平臺對SSL的限制過多,但仍允許AES?它是否沒有足夠的計算能力/內存來執行模冪運算(用於RSA,DSA,Diffie-Hellman)?
然後,您可能可以使用預共享密鑰版本的TLS。 RFC 4279定義了帶預共享密鑰認證的密碼套件,其中TLS_PSK_WITH_AES_128_CBC_SHA
看起來像是隻需要AES和SHA-1,沒有模數求冪。
當然,如果存在攻擊者可以獲取密碼(例如破解設備)的危險,則不應該使用該密碼,因爲這樣還可以讀取所有以前註冊的連接(與Diffie-Hellman ,它爲每個會話提供一個新的會話密鑰)。
@克雷格:感謝編輯......看起來我不應該在我累了時回答。 –
您的假設是正確的,模冪運算和隨機數生成是問題。你指出的RFC正是我所需要的,或者至少讓我指出了正確的方向。 –
我想,你仍然需要用於初始化向量的隨機數。儘管如此,人們可以使用AES等分組密碼構建PRNG。 (例如,請參見[ANSI X9.31](http://crypto.stackexchange.com/q/634/58)。) –
實測這種寶石:的Diffie-Hellman密鑰交換在10行C http://www.cypherspace.org/rsa/dh-in-C.html
雖然我不會真的調用這個混淆代碼a * gem *。 –
對於SSL來說,它有什麼限制? –
我在這裏發現了一個類似的問題,並提供了一個很好的答案:http://stackoverflow.com/questions/5246831/lightweight-encryption-key-exchange-protocol –