女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣使用TLS/SSL Pinning保護Android應用程序呢?

哆啦安全 ? 來源:虎哥Lovedroid ? 2023-12-27 13:41 ? 次閱讀

使用TLS/SSL Pinning保護Android應用程序

在現代術語中,“SSL”(安全套接層)通常指的是“TLS”(傳輸層安全)。雖然 SSL 和 TLS 不是同一個東西,但 TLS 是 SSL 的改進和更安全的版本,并且在實踐中已大部分取代了 SSL。

簡介

SSL/TLS:互聯網安全的動態二人組! 這些是建立安全通信渠道的加密協議,確保在線交換過程中的數據隱私、完整性和認證。SSL率先出擊,但TLS就像超級英雄一樣趕來,解決了混亂,拯救了一天! 現在,它們攜手合作,保護我們的數據免受邪惡黑客的侵害!

在互聯網安全領域,現代技術斗篷下的是 TLS,讓 SSL 在懷舊的塵埃中留下了身影! 所以下次當你瀏覽網頁時,記住,是 TLS 像老板一樣守護你的秘密!

以下是 SSL 和 TLS 發布的完整歷史:

SSL 1.0 —— 因安全問題從未公開發布。 SSL 2.0 —— 1995 年發布。2011 年棄用。有已知的安全問題。 SSL 3.0 —— 1996 年發布。2015 年棄用。有已知的安全問題。 TLS 1.0 —— 1999 年作為 SSL 3.0 的升級版本發布。計劃于 2020 年棄用。 TLS 1.1 —— 2006 年發布。計劃于 2020 年棄用。 TLS 1.2 —— 2008 年發布。 TLS 1.3 —— 2018 年發布。 實現 SSL/TLS 的網站在其 URL 中使用HTTPS而不是HTTP。

HTTPS(超文本傳輸安全協議)是 HTTP 和 SSL/TLS 協議的結合體。它加密了客戶端(在我們的例子中是安卓應用程序)和服務器之間傳輸的數據,防止未經授權的訪問和篡改。HTTPS 協議在 URL 中以https://表示,對于安全的網絡通信至關重要。

理解 SSL Pinning

SSL pinning 就像給你應用程序的派對制定一個可信的來賓名單。SSL pinning 不僅依賴證書頒發機構(CA)來驗證 SSL/TLS 證書,還包括在你的應用程序中硬編碼或“固定”信任服務器的公鑰或證書。這樣,應用程序確保僅連接到指定的服務器,大大降低了中間人攻擊和未經授權訪問的風險。

SSL Pinning 的重要性

?防范中間人攻擊:沒有 SSL pinning 的話,攻擊者可以攔截你的應用程序和服務器之間的通信,冒充中間人(MITM)。他們可以向你的應用程序提供自己的 SSL 證書,從而破壞數據安全。SSL pinning 可以通過確保只有預定義的證書受信任來防止這種情況。

?抵抗 CA 受損:在傳統的 CA 驗證過程中,如果受信任的 CA 的私鑰被破壞,攻擊者可以發布你的應用程序無意中信任的偽造證書。SSL pinning 消除了這個風險,因為你的應用程序不完全依賴 CA。

?增強數據隱私:SSL pinning 通過降低對敏感信息的未經授權訪問的機會來加強數據隱私。

開始使用安卓網絡配置

安卓網絡配置允許開發者使用 XML 文件為其應用程序定義網絡安全策略。可以將其看作是為一場盛大表演布景!我們將在安卓項目的res/xml目錄中創建一個名為network_security_config.xml的文件。

80a69142-a470-11ee-8b88-92fbcf53809c.png

定義受信任的域和固定值

讓我們首先在network_security_config.xml中定義我們受信任的域及其相應的公鑰固定值:




example.com

 
ReplaceWithYourPin
 
ReplaceWithYourPin


固定值是X.509 SubjectPublicKeyInfo(SPKI)的base64編碼摘要。將ReplaceWithYourPin替換為受信任域(例如example.com)的公鑰或證書的實際 SHA-256 哈希的 base64 編碼。您可以通過檢查服務器的SSL/TLS證書或使用此ssllabs網站獲取這些固定值。不知道如何獲取?請查看下面的博客。

查看此博客以揭示您的 SHA-256 哈希和 Base64 編碼的固定值! —— 使用 SSL Labs 揭示 SHA-256 指紋 ——SSL Pinning

應用網絡配置

接下來,我們需要告訴我們的應用程序使用這個網絡配置。打開AndroidManifest.xml文件,并向元素添加以下屬性:


...

這樣配置你的應用程序來使用指定的網絡安全配置。

現在,讓我們把我們的配置測試一下! 使用 URL 進行 HTTPS 連接

配置好網絡后,現在是時候釋放HttpsURLConnection類的力量了! 這位精通技術的英雄是我們進行安全的 HTTPS 連接的關鍵。

try{
//為目標服務器創建一個URL對象
valmURL=URL("https://example.com/api/data")
with(mURL.openConnection()asHttpsURLConnection){
requestMethod="GET"
//在這里添加任何必要的頭部
println("URL:${this.url}")
println("ResponseCode:${this.responseCode}")
//執行實際的連接并處理響應
valresponseCode=responseCode
if(responseCode==HttpsURLConnection.HTTP_OK){
//萬歲!連接成功-是時候慶祝了!
//現在,讓我們處理響應,展示我們的數據處理技能!
}else{
//哎呀!優雅地處理其他響應代碼(例如,錯誤情況)
//每個超級英雄都會面臨挑戰-如何處理才是最重要的!
}
}
}catch(e:Throwable){
//哦哦!無效的SSLpinning或其他網絡錯誤-但別害怕,我們已經準備就緒!
//是時候排除故障并用正確的錯誤處理拯救這一天了!
println(e)
}

有了我們的SSL pinning和HttpsURLConnection,我們可以自信地駕馭數字海洋,知道我們用戶的數據是安全的。所以,放心地進行安全的 HTTPS 連接測試吧!







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • URL
    URL
    +關注

    關注

    0

    文章

    139

    瀏覽量

    15779
  • SSL
    SSL
    +關注

    關注

    0

    文章

    130

    瀏覽量

    26080
  • XML技術
    +關注

    關注

    0

    文章

    15

    瀏覽量

    6101
  • TLS
    TLS
    +關注

    關注

    0

    文章

    46

    瀏覽量

    4479

原文標題:使用TLS/SSL Pinning保護Android應用程序

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式開發板Android應用程序開發-入門級

    簡介:隨著Android系統的普及,越來越多的學生,工程師開始步入了Android開發的行列。那么對于一個從來沒有接觸過Android開發的人,該從哪里入手,怎樣做出自己的第一個
    發表于 05-20 14:41

    PIC18F67J60(舊TCP/IP協議棧)與硬件SSL / TLS

    嗨,有可能在“OLTD”TCP/IP STACK硬件SSL/TLS中實現。對于軟件解決方案,沒有更多的資源。謝謝幫助。安迪 以上來自于百度翻譯 以下為原文 Hi, It is possible
    發表于 10-08 15:56

    用2048位的密鑰大小與TLS SSL服務器通信?

    嗨,我知道這個話題是個老話題。我讀過很多類似的帖子,但是我不能讓我的板工作。我想用簡單的TCP客戶機把我的板(只是一個GET請求)連接到TLS/SSL服務器。我看到微芯片支持最多1024個RSA密鑰
    發表于 04-02 10:12

    Android程序怎樣通過SSL單向認證方式連接MQTT服務器的

    如何對Android程序進行測試Android程序怎樣通過
    發表于 01-20 06:06

    求助,現有的SSL/TLS庫或如何為SPC58EC-DISP導入外部SSL/TLS庫?

    我目前正在評估 SPC58EC-DISP。我在 SPC5-STUDIO 中嘗試了幾個示例,并通過 CAN 和串口成功發送/讀取信號。接下來,我想創建一個應用程序(使用 PKI 進行身份驗證)來驗證
    發表于 01-05 07:34

    TLSSSL有什么區別?

    請問TLSSSL有什么區別?
    發表于 11-21 16:56

    ssl是什么意思

    ssl是什么意思,SSL安全套接層及其繼任者傳輸層安全TLS是為網絡通信提供安全及數據完整性的一種安全協議。TLSSSL在傳輸層對網絡連接
    發表于 12-21 16:01 ?1.5w次閱讀

    Android應用程序GUI遍歷自動化方法

    移動終端上各式各樣的應用程序數量呈爆炸性增長,其中Android應用程序更是占據了絕對的優勢。Android應用程序分析已經成為一個研究熱點
    發表于 12-09 11:06 ?0次下載
    <b class='flag-5'>Android</b><b class='flag-5'>應用程序</b>GUI遍歷自動化方法

    科普:簡化SSL/TLS的握手過程

    伴隨所有握手,SSL / TLS握手是一切開始的地方。SSL / TLS握手涉及一系列步驟,通過該步驟,雙方(客戶端和服務器)彼此進行驗證,并開始通過安全
    的頭像 發表于 06-27 17:36 ?2959次閱讀

    SSLTLS協議運行機制的資料詳細概述

    聯網的通信安全,建立在SSL/TLS協議之本文簡要介紹SSL/TLS協議的運行機制。文章的重點是設計思想和運行過程,不涉及具體的實現細節。
    發表于 07-22 08:00 ?2次下載
    <b class='flag-5'>SSL</b>和<b class='flag-5'>TLS</b>協議運行機制的資料詳細概述

    SSL\TLS協議是什么?

    SSL英文全稱為Secure Sockets Layer,譯為安全套接層。TLS英文全稱為(Transport Layer Security,譯為傳輸層安全,是SSL的繼承者。SSL\
    的頭像 發表于 02-15 14:01 ?2398次閱讀
    <b class='flag-5'>SSL</b>\<b class='flag-5'>TLS</b>協議是什么?

    怎樣使用Kiuwan保護Android應用程序

    Kiuwan掃描 30多種語言的安全漏洞。這包括今天用于構建移動應用程序的語言:Java,JavaScript,Swift,Objective-C等。
    的頭像 發表于 03-13 16:09 ?1156次閱讀

    恒訊科技分析:IPSec與SSL/TLS相比,安全性如何?

    ,防止數據被竊聽或篡改。SSL/TLS更側重于應用程序層的安全性,保護數據的機密性和完整性,通常位于傳輸層之上。2、兼容性方面:SSL/
    的頭像 發表于 10-23 15:08 ?778次閱讀
    恒訊科技分析:IPSec與<b class='flag-5'>SSL</b>/<b class='flag-5'>TLS</b>相比,安全性如何?

    android手機上emulate應用程序的方法

    Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環境,以便在沒有實際物理設備的情況下運行
    的頭像 發表于 12-05 15:33 ?1058次閱讀

    SSL/TLS的常見問題解答

    無論你是參加安全認證考試、準備技術面試,還是只想深入了解網絡安全,SSL/TLS都是不可回避的核心主題。本文精選了十個最常被考察的SSL/TLS問題,提供詳盡解析,幫助你建立全面的理解
    的頭像 發表于 05-28 16:55 ?98次閱讀