2016-01-22 384 views
15

我更新嵌入式TLS 1.0實施TLS 1.2(設備用的碼空間或更小,並且沒有OS 1MB)。此時,我使用AES-128和AES-256 CBC密碼來處理SHA-1和SHA-256摘要以實現最小程度的執行。該庫無法協商SSLv2,SSLv3,TLS 1.0或TLS 1.1連接。只有TLS_RSA_WITH_AES_128_CBC_SHA才能使用TLS 1.2服務器/客戶端嗎?

我覺得這就足夠了,因爲RFC 5246種狀態,「TLS_RSA_WITH_AES_128_CBC_SHA現在是強制實現的加密套件。」然而,當我閱讀安全博客上的各種帖子時,我看到了會讓用戶禁用該套件的建議,並且(例如)只允許ECDHE_RSA或DHE_RSA變體。

所以我的問題是,是否使用我們的庫設備將與現代網絡瀏覽器(如服務器)和現代HTTPS/SMTPS/POP服務器(客戶端)進行互操作。 是否存在無法協商TLS_RSA_WITH_AES_128_CBC_SHA連接的TLS 1.2客戶端/服務器?

+0

取決於你定義的「get by」。我不是安全專家。但我可以聞到「AES_128_CBC」不夠安全。也就是說,對於像「AES_256_GCM」這樣的東西我會感覺更舒適。如果確實如此,如果您是客戶端,那麼服務器不支持密碼。如果你是服務器,你可以支持它。但是你想要考慮安全問題。 – neurite

+0

有許多電子郵件服務器不能正確支持TLS 1.2。 – fcnorman

回答

1

我不確定目前有很多服務器支持TLS,因此無法與協商​​,因爲它是​​的強制密碼套件。

但是有一些事情要記住:

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA是強制性的TLSv1.0TLSv1.1但由於安全原因,它是由每個服務器不再支持,
  • Mozilla的建議(這是不唯一一個)贊成AES128而不是AES256,
  • DHE或ECDHE允許的完全前向保密(PFS)現在是必備功能。

所以,如果我可以爲你提供4個密碼套件(比你有相同數量的),我會說,從最強這些的最弱:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  3. TLS_RSA_WITH_AES_128_GCM_SHA256
  4. TLS_RSA_WITH_AES_128_CBC_SHA

我會說,這4個密碼套件帶來足夠的安全性和兼容性與​​服務器。

現在只支持​​的問題是另一個問題,但是如果您有足夠的空間,我建議您也要添加TLSv1.0TLSv1.1不提供額外的兼容性)。

PS:爲什麼AES128是有利的,而不是AES256的原因是,有些人認爲通過AES256添加額外的安全性(現在)一無是處,AES128似乎是計時攻擊更有抵抗力。

+0

謝謝,這是我正在尋找的答案。在TLS 1.0和1.1中知道「TLS_RSA_WITH_3DES_EDE_CBC_SHA」是強制性的,但由於安全原因而被禁用是TLS 1.2可能發生的一個很好的先例。 – tomlogic

1

「所以我的問題是,是否使用我們的庫設備將與現代網絡瀏覽器(如服務器)和現代HTTPS/SMTPS/POP服務器(客戶端)的互操作。是否有TLS 1。2個客戶端/未能協商TLS_RSA_WITH_AES_128_CBC_SHA連接服務器「

是出現未實現充足

最常見的:?

  1. 客戶端仍然發送SSL2.0的客戶您好
  2. 僅支持PFS密碼套件的客戶端/服務器
  3. 仍然不支持TLS 1.2的服務器
  4. 不再支持TLS的服務器1。 2 - 因爲那些只支持TLS 1.3

我的建議是:

  • 也支持TLS 1.3(不是很難實現,我做到了)
  • 還支持DHE

或者使用像https://www.ssllabs.com/ssltest/index.html這樣的工具/網站,並測試服務器的兼容性/安全性,直至滿足您的需求。

+0

我發現TLS 1.3仍然是一個工作草案,但它肯定可以提供關於密碼的指導,直到標準獲得批准。如果客戶機/服務器支持TLS 1.3,但我無法爲了向後兼容而協商TLS 1.2連接,或許只能使用有限的密碼支持,我會感到驚訝。 – tomlogic

相關問題