Android O移除HttpsURLConnection中不安全的TLS版本回退
為提高安全性,在 Android O 中,已從 HttpsURLConnection 中移除不安全的 TLS 版本回退。
有何變更?為何作出這些變更?
TLS 版本回退是解決 HTTPS 堆疊相容性問題的一種權宜方法,用於連線未正確實現 TLS 協議版本協商的伺服器。在之前的 Android 版本中,如果因為某種原因初始 TLS 握手失敗,HttpsURLConnection 將停用較新的 TLS 協議版本並重新嘗試握手。在 Android O 中,不會再重新嘗試進行此操作。與正確實現 TLS 協議版本協商的伺服器的連線不受影響。
我們不再採用此權宜方法,因為它會停用 TLS 協議版本降級保護,從而降低 TLS 安全性。截至 2015 年末,通過此權宜方法連線的網路伺服器的比例不到 0.01%,因此沒必要再使用此方法。
我的應用會受此影響嗎?
大多數應用不受此變更的影響。要確定您的應用是否受影響,最簡便的方式是使用 Android O Developer Preview 構建和測試您的應用。在 Android O 中,下列情形下,您的應用的 HTTPS 連線不受影響:
目標網路伺服器使用最新版本的 Chrome 或 Firefox,因為這些伺服器已正確實現 TLS 協議版本協商。在 Firefox 37(2015 年 3 月)和 Chrome 50(2016 年 4 月)中,已移除對 TLS 版本回退的支援。
使用並非在 HttpsURLConnection 基礎上構建的第三方 HTTP 內容庫。如果您使用第三方內容庫,我們建議您停用協議回退。例如,在 3.6 及之前的 OkHttp 版本中,您可能需要將 OkHttpClient 配置為僅使用 ConnectionSpec.MODERN_TLS。
我的應用受到影響。現在該怎麼辦?
如果您的應用依賴於 TLS 版本回退,則其 HTTPS 連線容易受到降級攻擊。要修復此問題,您需要聯絡伺服器運營商。如果暫時無法聯絡,則可採用一種權宜方法:您可以使用提供 TLS 版本回退的第三方 HTTP 內容庫。請注意,使用此方法會降低應用的 TLS 安全性。要發現任何相容性問題,請在 Android O Developer Preview 中測試您的應用。
瞭解更多細節,檢視文內所有連結,請點選文末“閱讀原文”。
推薦閱讀:
點選「閱讀原文」,檢視文內連結
相關文章
- git回退版本Git
- 用了 HTTPS 還不安全,問題就出在低版本 TLS 上HTTPTLS
- git版本回退Git
- git 版本回退方法Git
- 如何在Apache HttpClient中設定TLS版本ApacheHTTPclientTLS
- Git分支和版本回退Git
- iTunes 12.7 版本回退
- gitee程式碼版本回退Gitee
- win10如何回退到較早版本 win10系統怎麼回退以前的版本Win10
- spring cloud:Edgware.RELEASE版本中zuul回退方法的變化SpringCloudZuul
- Android O API 已釋出最終版本AndroidAPI
- 玩轉SVN-版本回退
- repo管理git倉庫——回退版本Git
- nginx升級與版本回退Nginx
- TLS示例開發-golang版本TLSGolang
- 如何使用Git 優雅的版本回退呢?Git
- Git 撤銷修改和版本回退Git
- Git詳細教程(三)版本回退Git
- 微軟宣佈在Windows中棄用VBS,並在將來的版本中移除微軟Windows
- Node 快速切換版本、版本回退(降級)、版本更新(升級)
- ubuntu核心版本回退怎麼解決Ubuntu
- Android O中的Seccomp過濾器Android過濾器
- git移除已經加入版本控制的檔案Git
- Android開發之Fragment回退棧AndroidFragment
- windowsphone中WebBrowser中的頁面按級回退功能WindowsWeb
- #io17# Android中的新功能:Android O和其他釋出Android
- 如何判斷https使用了哪個版本的TLS?HTTPTLS
- 演算法中的O(1), O(n),O(logn), O(nlogn)演算法
- Ubuntu 18.04.6 TLS版本安裝docker問題UbuntuTLSDocker
- Android O中關於快捷方式和微件的更新Android
- 延長可回退win10系統版本時間期限的方法Win10
- 從xcode中移除ARCXCode
- Android O 中對裝置識別符號所做的變更Android符號
- 利用版本回退實現誤運算元據恢復
- java|HttpsURLConnection實現https請求JavaHTTP
- 微信小程式(1) 微信小程式TLS版本大於1.2微信小程式TLS
- Android O 新特性 — NotificationAndroid
- Android基礎之Activity 執行模式與回退棧Android模式