2011-09-16 95 views
2

我們正在將HTTP RESTful接口放入我們的嵌入式平臺。硬件太有限,無法支持SSL,但我們確實使用AES加密來處理其他事情。標準非SSL HTTP加密

我正在考慮使用AES和共享密鑰來加密數據。還有什麼其他東西至少是通過HTTP進行加密的標準方式嗎?

+2

對於SSL來說,它有什麼限制? –

+0

我在這裏發現了一個類似的問題,並提供了一個很好的答案:http://stackoverflow.com/questions/5246831/lightweight-encryption-key-exchange-protocol –

回答

4

加密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 ,它爲每個會話提供一個新的會話密鑰)。

+0

@克雷格:感謝編輯......看起來我不應該在我累了時回答。 –

+0

您的假設是正確的,模冪運算和隨機數生成是問題。你指出的RFC正是我所需要的,或者至少讓我指出了正確的方向。 –

+0

我想,你仍然需要用於初始化向量的隨機數。儘管如此,人們可以使用AES等分組密碼構建PRNG。 (例如,請參見[ANSI X9.31](http://crypto.stackexchange.com/q/634/58)。) –