在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

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

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

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

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

簡介

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

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

以下是 SSL 和 TLS 發(fā)布的完整歷史:

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

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

理解 SSL Pinning

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

SSL Pinning 的重要性

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

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

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

開始使用安卓網(wǎng)絡配置

安卓網(wǎng)絡配置允許開發(fā)者使用 XML 文件為其應用程序定義網(wǎng)絡安全策略。可以將其看作是為一場盛大表演布景!我們將在安卓項目的res/xml目錄中創(chuàng)建一個名為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網(wǎng)站獲取這些固定值。不知道如何獲取?請查看下面的博客。

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

應用網(wǎng)絡配置

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


...

這樣配置你的應用程序來使用指定的網(wǎng)絡安全配置。

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

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

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

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







審核編輯:劉清

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

    關注

    0

    文章

    139

    瀏覽量

    15746
  • SSL
    SSL
    +關注

    關注

    0

    文章

    129

    瀏覽量

    25992
  • XML技術
    +關注

    關注

    0

    文章

    15

    瀏覽量

    6093
  • TLS
    TLS
    +關注

    關注

    0

    文章

    45

    瀏覽量

    4421

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    mbed TLS的目標是什么

    前言 mbed TLS(以前稱為PolarSSL)是TLSSSL協(xié)議的實現(xiàn),并且需要相應的加密算法和支持代碼。這是雙重許可與Apache許可證2.0版(與GPLv2許可也可)。網(wǎng)站上指出,mbed
    發(fā)表于 07-19 06:11

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

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

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

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

    TLSSSL有什么區(qū)別?

    請問TLSSSL有什么區(qū)別?
    發(fā)表于 11-21 16:56

    ssl是什么意思

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

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

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

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

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

    SSLTLS協(xié)議運行機制的資料詳細概述

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

    SSL\TLS協(xié)議是什么?

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

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

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

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

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

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

    Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設備的情況下運行
    的頭像 發(fā)表于 12-05 15:33 ?948次閱讀
    主站蜘蛛池模板: 伊人网络 | 91精品啪国产在线观看免费牛牛 | 一区二区三区在线观看视频 | 国产精品国产三级国产在线观看 | 男男之h啪肉np文 | 国产精品久久新婚兰兰 | 老司机精品视频免费 | 国产精品vv在线 | 亚洲 美腿 欧美 偷拍 | 丁香午夜 | 青青伊人91久久福利精品 | 2021成人国产精品 | 午夜不卡影院 | 免费播放欧美毛片欧美aaaaa | 色婷婷视频在线 | 国产1区二区 | 乱好看的的激情伦小说 | 日韩三级免费看 | 日本免费大黄 | 欧美成人精品福利网站 | 精品国产污网站在线观看15 | 四虎影院成人 | 日本永久免费 | www淫| 我把美女日出白浆 | 国产美女叼嘿视频免费看 | 亚洲一区二区三区免费观看 | 国产婷婷色一区二区三区深爱网 | 五月综合色婷婷影院在线观看 | 俺来也婷婷 | 欧美污视频网站 | 亚洲二区在线观看 | 九色视频网站 | 欧美美女福利视频 | 亚洲一区二区三区四区五区六区 | 成人sese| 天天爱添天天爱添天天爱添 | asian极品呦女爱爱 | 欧美午夜色视频国产精品 | 国产精品自在线天天看片 | 在线亚洲一区 |