精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

安全 數據安全
最近公司外包給別人做的一個APP項目上線了,拿到源碼后嚴重的問題就是我們的APP與服務器的通信接口沒有加密處理被人抓包了,有人非法請求我們的接口獲取數據。經過幾天摸索終于總結出了一套還算安全的APP與服務端通信的機制。

最近公司外包給別人做的一個APP項目上線了,拿到源碼一看那代碼質量真是一言難盡啊!

剛上線用戶比較少倒也沒出啥問題,不過隨著用戶慢慢變多,問題逐漸暴露出來了。

最嚴重的問題就是我們的APP與服務器的通信接口沒有加密處理被人抓包了,有人非法請求我們的接口獲取數據。

怎么處理這個問題呢?領導又把這個光榮而艱巨的任務分給了我,沒辦法只能硬著頭皮上啊,經過幾天摸索終于總結出了一套還算安全的APP與服務端通信的機制。

1.防非法調用——身份認證

身份認證指只有經過合法授權的用戶才能調用我們的接口,這里我們采用的是Token驗證機制。

APP與服務端的整個通信過程如下:

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

  • 用戶首先需要輸入賬號密碼進行登錄;
  • APP帶上用戶輸入的賬號密碼請求服務端登錄接口;
  • 服務端校驗賬號密碼,校驗成功返回一個唯一Token作為用戶身份憑證;
  • APP將Token緩存,同時登錄成功;
  • 用戶使用APP瀏覽數據,APP每次向服務端請求數據時須同時帶上緩存的Token;
  • 服務端收到請求,首先會校驗Token的合法性,校驗成功正常返回數據,校驗失敗直接返回錯誤。

(1) Token驗證機制解決了什么問題?

設想一個場景,我們檢測到API接口正在被惡意調用,因為所有的接口都必須帶Token才能調用,根據Token我們就能快速反查到對應的用戶,所以Token驗證機制可以幫助我們快速確定調用者的身份。

發現惡意調用,我們通過Token確定調用者的身份后可以采取Token失效、封禁帳號等措施來阻止惡意調用繼續。

(2) Token驗證機制能防止抓包嗎?

Token驗證機制并不能防止APP被抓包,因為Token同樣存在泄露的風險,惡意調用者只需要帶上Token再請求我們的API接口同樣還是能獲取到數據。

因為APP與服務端都是明文通信,一抓包就能看到請求參數以及返回數據,所以為了防止被抓包我們必須要對數據進行加密處理。

2.防抓包——數據加密

數據加密的過程,就是對原來明文傳輸的數據按某種加密算法進行加密處理,使其成為不可讀無意義的密文。

加密算法大體上可分為對稱加密、非對稱加密和散列算法等幾種方式,后面我們的方案都會涉及到。

(1) 對稱加密

對稱加密是一種可逆的加密算法,其中“對稱”的意思是加密過程和解密過程使用的是同一個密鑰。

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

常見的對稱加密算法有DES、3DES、AES、IDEA等。

使用對稱加密算法一次完整的加解密過程為:

  • APP與服務端事先約定好對稱加密的密鑰,各自保存;
  • APP使用密鑰將明文參數加密,再將密文發送到服務端;
  • 服務端收到密文后使用同樣的密鑰對密文進行解密操作得到明文;
  • 服務端同樣需要對數據進行加密之后才能返回給APP;

對稱加密算法的特點:

  • 對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。對稱加密算法的安全性依賴于密鑰,任何人只要拿到密鑰就能對數據進行加解密操作。
  • 由于參與通信的雙方都需要持有密鑰,任何一方的秘鑰泄露,那么雙方的通信將無安全性可言,所以怎么安全的保存和傳遞密鑰是使用對稱加密最需要關注的問題。

(2) 非對稱加密

顧名思義非對稱加密指的是加密過程和解密過程使用不同的密鑰,非對稱加密算法需要一對密鑰(公鑰和私鑰),公鑰用來加密數據、私鑰用來解密數據。

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

常見的非對稱加密算法有RSA、ECC、ElGamal等。

非對稱加密一次完成的加解密過程為:

  • APP和服務端各自生成一對密鑰對(公鑰和私鑰),公鑰分別給到對方、私鑰自己保存;
  • APP使用服務端的公鑰對數據進行加密,然后將加密后的密文發送到服務端;
  • 服務端收到密文后使用自己的私鑰進行解密得到明文數據;
  • 服務端返回數據同樣需要使用APP的公鑰對數據進行加密;

非對稱加密算法特點:

  • 非對稱加密算法使用公鑰加密、私鑰解密,私鑰不需要公開傳輸所以安全性較高。同時私鑰可以對數據進行簽名、公鑰可以用來驗證簽名,可以解決中間人攻擊和信息被篡改的問題。
  • 由于加解密過程使用不同的密鑰,所以對大量數據進行加解密運算的話速度是比較慢的,通常情況下非對稱加密算法只適合對少量數據進行加解密操作。

對稱加密算法運算速度快但安全性不足、非對稱加密算法安全性高但運算速度慢,那么我們的數據加密方案采用哪種加密算法呢?

既然兩種加密算法都有優缺點,那我們可以將兩者結合一下:用對稱加密算法加解密數據這樣可以保證運算速度,用非對稱加密算法加密對稱加密算法的密鑰這樣可以兼顧密鑰的安全性。

3.防重放攻擊——時間戳+隨機字符串

數據加密之后再進行通信雖然抓包之后看不到明文數據了,但是這并不能阻止不懷好意之人發起重放攻擊。

攔截到請求之后只需再原樣發送該請求到服務端就可以發起重放攻擊,如果接口內有一些查庫之類的比較耗性能的邏輯,那么在短時間內發起大量重放攻擊的話將會直接導致服務端崩潰。

怎么解決這個問題?

道理其實很簡單,我們只需要保證請求只能被正確處理一次即可,這里我們采用時間戳+隨機字符串的解決方案。

(1) 時間戳

我們在發送的數據里加入當前的時間戳,服務端在收到請求數據后首先取出時間戳與服務器當前時間進行比較,如果兩者相差超過一定時間(比如5分鐘),那么我們就認為本次請求超時,直接拒絕執行或返回錯誤就可以。

(2) 隨機字符串

我們在發送的數據中加入一個隨機生成的字符串,服務端在收到請求數據后首先在緩存中查找該字符串,如果在緩存中找到則認為這是一次重復請求直接拒絕處理,否則將該字符串加入緩存并繼續執行正確邏輯。

在請求中加入時間戳與隨機字符串之后,服務端收到請求后會首先對時間戳和隨機字符串進行校驗,校驗通過才會執行正常的業務處理邏輯。

4. 防篡改——數字簽名

為了防重放攻擊,我們在數據中加入了時間戳與隨機字符串,但是別人在攔截到我們的請求之后也可以對時間戳和隨機字符串進行篡改,面對這種情況服務端要怎么分辨呢?

為了防止數據在傳輸過程中被篡改,我們引入數字簽名機制。

(1) 信息摘要算法

信息摘要算法(或者叫散列算法)是一種不可逆算法,任意長度的明文數據經過信息摘要算法計算后都可以得出一個固定長度的值(簽名)。

常見的信息摘要算法有MD5、SHA-1等。

詳細的簽名過程:

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

  • 將數據密文、時間戳、隨機字符串以及私密的加鹽值一起進行信息摘要算法計算得到簽名值;
  • APP將數據密文、時間戳、隨機字符串以及簽名值一起發往服務端;
  • 服務端收到數據后對數據密文、時間戳、隨機字符串以及加鹽值一起進行同樣的信息摘要算法計算,將計算出的簽名與數據中簽名進行對比,簽名一致證明沒有沒有被篡改;

(2) 為什么進行信息摘要計算要“加鹽”?

舉個例子就明白了,比如說123經過MD5計算后的簽名值是abc,那么就會產生123->abc這樣的對應關系,看到簽名值abc我就能反查到原值為123。如果有人收集并保存了足夠多的這種對應關系,那么就有可能從簽名值反推出原值。

這個時候加鹽操作就派上了用場,首先我們生成一個加鹽值qwe,這個加鹽值qwe并不會在網絡傳輸,只有通信雙方自己知道。

我們不直接計算123的簽名值,我們將加鹽值附加到123的后面得到123qwe,接著我們對123qwe進行MD5計算得到一個不一樣的簽名值def。

所以說即使原值一樣,但只要加鹽值不同那么最后得到簽名值就不一樣,這樣也就無法從簽名值反推出原值了。

5.完整的Java解決方案

因為我主要搞Java開發,所以就用Java語言實現了一套加解密方案,對稱加密采用AES算法、非對稱加密采用RSA算法,信息摘要算法采用MD5算法。

完整代碼執行流程:

如何保證APP與服務端通信安全?4個技巧給你的數據加把鎖

下面分步驟進行詳細介紹:

準備工作:APP與服務端各自生成一對RSA密鑰對(公鑰和私鑰),公鑰給到對方、私鑰各自私密保存;

APP發送加密數據流程:

  • 生成一個隨機的AES算法密鑰;
  • 使用服務端的RSA公鑰對AES密鑰明文進行加密得到AES密鑰密文;
  • 對參數明文進行AES加密得到參數密文;
  • 生成當前請求時間的時間戳;
  • 為該次請求生成一個隨機字符串;
  • 將參數密文、時間戳、隨機字符串和AES密鑰密文進行MD5計算得到md5值;
  • 使用APP自己的RSA私鑰對md5值進行簽名得到簽名值;
  • 將參數密文、時間戳、隨機字符串、AES密鑰密文和簽名值一起發送到服務端;

服務端解密數據流程:

  • 校驗時間戳與服務器當前時間的差值是否在合理的區間,超過則認為該次請求超時;
  • 校驗隨機字符串是否已經在緩存中,如果已經在緩存中說明該次請求為重復請求,否則將該字符串加入緩存;
  • 從收到的數據中取出參數密文、時間戳、隨機字符串和AES密鑰密文進行MD5計算得到md5值;
  • 使用APP的RSA公鑰對計算得到的md5值和請求數據中的簽名值進行驗證,簽名驗證通過則說明請求數據沒有被篡改;
  • 服務端使用自己的RSA私鑰解密AES密鑰密文得到AES密鑰明文;
  • 使用AES密鑰明文對參數密文進行AES解密操作得到參數明文;
  • 拿到參數明文之后進行正常的業務處理邏輯;
  • 服務端數據需要經過同樣的加密操作之后才能返回給APP;

6.總結

APP與服務端肯定是要使用HTTPS協議進行通信的,再搭配上RAS+AES混合加密算法以及數字簽名機制,相信這套方案在絕大部分情況下是可以保證通信及數據安全的。

當然了,不排除APP有被人破解的可能,這種情況下任何加密機制都是白搭。但是不能說我們的加密機制就沒用了,我們只需要將破解我們APP的成本提高到一定程度就可以了。

這個道理其實就跟門鎖一樣,市面上絕大部分門鎖只要有時間都可以被開鎖的人打開,那你能說門鎖就沒有存在的意義了嗎?

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-04-06 13:50:43

數據安全大數據5G

2010-02-24 15:42:03

WCF服務端安全

2018-10-18 05:03:47

數據中心機柜安全

2015-03-30 10:41:44

2016-12-26 10:28:00

2009-08-21 15:59:22

服務端與客戶端通信

2009-08-21 16:14:52

服務端與客戶端通信

2018-06-25 09:48:00

數據安全云服務

2016-08-04 14:41:21

架構java服務端開發

2014-06-11 09:36:36

云存儲數據安全

2020-08-04 09:44:22

網絡安全新基建技術

2024-04-01 13:18:15

App架構服務端

2010-11-23 09:26:57

2017-04-11 16:16:48

HTTPS互聯網服務端

2010-03-08 08:34:56

2024-05-06 13:36:41

2011-09-25 10:46:18

云計算安全

2010-10-08 10:17:59

Web服務安全

2021-04-19 09:57:13

網絡安全網絡威脅網絡攻擊

2017-11-03 13:48:59

ERP信息化數據
點贊
收藏

51CTO技術棧公眾號

奶水喷射视频一区| 污版视频在线观看| 久久久久亚洲av无码麻豆| 懂色av成人一区二区三区| 欧美美女在线| 一区二区在线观看视频在线观看| 精品国产污污免费网站入口 | 中国av在线播放| 欧美成人午夜77777| 亚洲欧洲精品一区二区三区| 久久久久久成人精品| 91国产精品视频在线观看| 天堂аⅴ在线地址8| 亚洲一区二区动漫| 精品国产乱码久久久久久夜甘婷婷| www成人免费| 亚洲图片在线播放| 久久不见久久见免费视频7| 欧美视频一区二区在线观看| 国产一区二区精品在线| 色婷婷粉嫩av| 97人人做人人爽香蕉精品| 2023国产一二三区日本精品2022| 欧美精品一本久久男人的天堂| 91制片厂毛片| 成人爽a毛片免费啪啪动漫| 国产麻豆精品theporn| 日韩在线观看视频免费| 日本久久精品一区二区| 国产最新视频在线| 久久尤物视频| 亚洲情综合五月天| 一本久道中文无码字幕av| 日韩在线无毛| 一区二区动漫| 日韩成人小视频| 日本网站免费在线观看| 日韩一级片免费在线观看| 激情五月***国产精品| 欧美成人a视频| 大西瓜av在线| 亚洲欧美日韩精品永久在线| 亚洲一区网站| 亚洲天堂av电影| 无码人妻精品一区二区三区99不卡| 日本三级在线观看网站| 国产精品一区免费视频| 国产精品久久久久久av福利软件 | 亚洲美女黄色片| 日韩avxxx| 欧美挠脚心网站| 日本欧美一区二区三区乱码| 中文字幕av一区中文字幕天堂 | 亚洲高清福利视频| 男女视频网站在线观看| 人成免费电影一二三区在线观看| 国产精品一区二区三区四区| 成人免费看吃奶视频网站| 中文字幕亚洲欧美日韩| 1204国产成人精品视频| 粉嫩av一区二区三区免费野| 日韩电影免费观看高清完整| 国产精品成人久久久| 91精品啪在线观看国产81旧版| 欧美tickling网站挠脚心| 欧美大片久久久| jizz一区二区三区| 国产欧美一区视频| 51国偷自产一区二区三区的来源| 日韩女同强女同hd| 日韩av自拍| 欧美变态凌虐bdsm| 麻豆免费在线观看视频| 成人黄色免费短视频| 国产精品每日更新| 成人免费在线看片| www.五月婷婷.com| 欧美三级午夜理伦三级中文幕| 日韩美女av在线| 手机免费av片| 性欧美xxx69hd高清| 国产精品二区一区二区aⅴ污介绍| 波多野结衣精品久久| 无码人妻av一区二区三区波多野| 亚洲成人精选| 操日韩av在线电影| www在线观看免费视频| 9999精品视频| 色综合久久中文综合久久97| 青草全福视在线| 国产在线日本| 国产精品理论片在线观看| 中文字幕超清在线免费观看| 免费在线观看一级毛片| 国产日产亚洲精品系列| 国产视频一区二区三区四区| 外国精品视频在线观看| 国产大片一区二区| 国产精品免费视频久久久| 日本三级免费看| 日韩欧美高清在线播放| 日韩亚洲综合在线| 中文字幕被公侵犯的漂亮人妻| 国产一区二区三区日韩精品| 亚洲成人教育av| 日本高清www| 你懂的在线观看一区二区| 亚洲欧美日韩天堂| 疯狂撞击丝袜人妻| 日韩理论电影| 欧美国产日本高清在线 | 国产三级一区二区| 日本丰满少妇黄大片在线观看| 麻豆导航在线观看| 亚洲欧美色一区| 亚洲精品无人区| 久久经典视频| 亚洲另类色综合网站| 久久免费视频2| 岛国av在线网站| 亚洲男人的天堂一区二区| 无码人妻少妇伦在线电影| 成人激情视屏| 亚洲国内精品在线| 亚洲精品乱码久久久久久蜜桃图片| 国产不卡精品| 91精品国产综合久久久久| 亚洲美女爱爱视频| 欧美亚洲大陆| 久久99亚洲热视| 欧美国产在线看| 国内视频精品| 久久久在线免费观看| 国产午夜福利片| 99精品99| 91视频-88av| 亚洲精品国产精品国| 国产盗摄女厕一区二区三区| 亚洲精美视频| 日韩精品三区| 欧美三级电影精品| 老司机久久精品| 国产videos久久| 91av视频在线免费观看| 国产精品免费精品一区| 玖玖国产精品视频| 精品一区久久久| 岛国在线视频免费看| 国产精品精品国产色婷婷| 波多野结衣家庭教师视频| 亚洲成人人体| 精品香蕉一区二区三区| 五月天婷婷网站| 粉嫩av一区二区三区粉嫩| 精品伊人久久大线蕉色首页| 欧美14一18处毛片| 色综合视频一区二区三区高清| 日本wwwwwww| 日韩成人av在线资源| 国产一区二区三区视频免费| 九九热视频在线免费观看| 全国精品久久少妇| 日韩色妇久久av| 成人mm视频在线观看| 日韩美女视频在线| v8888av| 亚洲黄色精品| 国产精品入口夜色视频大尺度| 日本免费不卡| 色综合久久66| 九一在线免费观看| 亚洲色图二区| 日韩免费在线观看视频| www.国产欧美| 国产欧美一区二区三区网站 | 国产成人亚洲欧美| 国产丝袜在线观看视频| 亚洲激情中文字幕| 亚洲国产精品无码久久久| 欧美激情一区二区三区四区| 亚洲午夜精品一区| 欧美日韩mv| 国内成+人亚洲| 三级成人在线| 久久综合免费视频| 日韩专区第一页| 成人免费在线观看入口| 精产国品一二三区| 99精品国产在热久久下载| 欧美一区二区三区在线免费观看| 1区2区3区在线视频| 精品福利二区三区| 久久久蜜桃一区二区| 综合av第一页| 色综合久久五月| 日本午夜精品一区二区三区电影| 国产高清精品软男同| 久久99偷拍| 欧美福利视频在线观看| 日本韩国一区| 欧美一区二区免费观在线| 日韩成年人视频| 国产欧美精品区一区二区三区| 亚洲第一色av| 亚洲欧美视频| 51xx午夜影福利| 自拍欧美一区| 91成人精品网站| 91激情在线| 日本道精品一区二区三区| 国产精品久久久久久久无码| 日韩综合在线视频| 欧美日韩系列| 欧美成人ⅴideosxxxxx| 精品国模在线视频| 一级片在线观看视频| 国产三区在线成人av| 丰满少妇中文字幕| 中文av一区| 欧美一区二区三区四区夜夜大片| 亚洲三级av| 国产日韩在线播放| 日本三级视频在线播放| 亚洲激情视频在线观看| 国产99久一区二区三区a片| 中文字幕一区二区三区蜜月| 污片免费在线观看| 国产精品一级片在线观看| 美女黄色片视频| 99热免费精品| 奇米777四色影视在线看| 久久九九精品视频| 欧美国产日韩中文字幕在线| 国产片在线观看| 日韩成人av一区| 亚洲精品免费在线观看视频| 欧美人xxxx| 久久久久亚洲AV成人| 国产欧美一区二区精品忘忧草| 日本一卡二卡在线| 丁香五精品蜜臀久久久久99网站| 欧美午夜小视频| 美女网站色精品尤物极品姐弟| 国产在线观看一区二区三区 | 五月天久久久久久| 精品久久人人做人人爽| va视频在线观看| 538在线一区二区精品国产| 欧美偷拍第一页| 国产精品乱人伦| 天堂资源在线视频| 欧美国产一区二区在线观看 | 国产精品久线在线观看| 久久亚洲无码视频| 久久99精品国产麻豆不卡| 大地资源第二页在线观看高清版| 成人黄色小视频| 97免费资源站| 欧美日韩国产一区二区在线观看| 成人激情视频在线| 国产欧美88| 1卡2卡3卡精品视频| 日韩精品免费视频一区二区三区| 97精品国产aⅴ7777| 91社区在线观看播放| 亚洲欧美日韩区| 爱久久·www| 精品免费一区二区三区| 国产免费高清av| 欧美日韩加勒比精品一区| 日韩 欧美 亚洲| 精品国产老师黑色丝袜高跟鞋| 人妻无码一区二区三区免费| 国产日韩影视精品| 久久精品色妇熟妇丰满人妻| 亚洲欧洲精品成人久久奇米网| 久久精品一区二区三区四区五区| 综合激情成人伊人| 国产亚洲自拍av| 国产精品久久一卡二卡| 日本免费网站视频| 亚洲精品五月天| 久久精品国产亚洲AV无码男同| 午夜成人在线视频| 91在线播放观看| 尤物av一区二区| 国产区在线观看视频| 亚洲欧美在线高清| 欧美毛片在线观看| 中文字幕日本乱码精品影院| 欧美精品一区二区蜜桃| 精品国产乱码久久久久久虫虫漫画 | 精品国产成人av在线免| 一个色综合网| 女人色极品影院| 美女精品网站| 亚洲高清视频免费| 奇米亚洲午夜久久精品| 婷婷中文字幕在线观看| 不卡的av电影| 亚洲一区二区三区四区精品| 成人午夜视频网站| 女人十八毛片嫩草av| 久久免费电影网| 日本 欧美 国产| 午夜精品爽啪视频| 伊人网综合在线| 在线视频你懂得一区| 亚洲日本视频在线观看| 亚洲动漫第一页| 久草福利资源在线观看| 精品久久久久久久久久ntr影视| 中文字幕日日夜夜| 亚洲黄页视频免费观看| 中文日本在线观看| 97婷婷涩涩精品一区| 亚洲国产91视频| 国产日韩中文字幕| 日韩三级视频| 黄色高清视频网站| 丝袜美腿亚洲综合| 国产婷婷在线观看| 亚洲视频一区二区在线| 国产一卡二卡三卡| 亚洲精品720p| 污污影院在线观看| 国产主播在线一区| 激情综合网站| 少妇无码av无码专区在线观看| 国精产品一区一区三区mba视频| 欧美日韩精品区别| 久久亚洲一级片| 日韩精品一区二区不卡| 精品奇米国产一区二区三区| www视频在线看| 不卡av电影院| 久草综合在线| 国产精品一区二区三区久久| 日韩成人高清| 久久久久久a亚洲欧洲aⅴ| 亚洲午夜久久| 久久99久久久久久| 国产精品影音先锋| 特一级黄色录像| 亚洲一区欧美一区| 伊人久久综合视频| 精品福利一二区| 欧美6一10sex性hd| 国产精品大全| 极品日韩av| 亚洲高清无码久久| 亚洲高清三级视频| 欧洲av在线播放| 欧美极品第一页| 国产精品白浆| 三区精品视频观看| 伊人青青综合网| 日本黄色的视频| 国产精品久久久久久久午夜片| 中文字幕日韩国产| 日韩在线观看免费av| 日韩黄色在线| 天天综合中文字幕| 亚洲一区二区毛片| jizz日本免费| 亚洲色图在线看| 国产精品怡红院| 精品伊人久久97| 亚洲人体视频| 日本一区二区视频| 奇米在线7777在线精品| 国产精品视频在| 4438x亚洲最大成人网| av色综合久久天堂av色综合在| 91视频99| 国产精品普通话对白| 亚洲精品乱码久久久久久久久久久久 | 97超碰在线免费| 久久精品国产99精品国产亚洲性色| 99精品国产在热久久| 妺妺窝人体色WWW精品| 欧美精品久久久久久久多人混战 | 视频一区视频二区视频三区视频四区国产| 久久久久久久欧美精品| 激情五月激情综合| 日韩欧美一二三四区| 天堂中文在线播放| 亚洲欧洲日本国产| 国产91精品免费| 国产亚洲欧美在线精品| 日韩在线视频免费观看高清中文| 人人爱人人干婷婷丁香亚洲| 国产主播自拍av| 国产色产综合产在线视频| www.天堂av.com| 欧美一二三视频| 岛国精品一区| 波多野结衣家庭教师视频| 最新不卡av在线| 亚洲区小说区图片区|