精品欧美一区二区三区在线观看 _久久久久国色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第一页| 激情丁香综合| 日韩一区二区福利| 五月天激情小说| 日本成人在线网站| 欧美日韩国产综合新一区| 亚洲一区美女| 日韩亚洲视频在线观看| 国产曰批免费观看久久久| 6080yy精品一区二区三区| 中日韩一级黄色片| 精品国产一区二区三区av片| 日韩精品一区二区三区在线观看| 激情婷婷综合网| 国产精品蜜臀| 中文字幕一区二区5566日韩| 欧美专区一二三| 日本精品一区二区在线观看| 经典三级在线一区| 国产精品99导航| 日本一区二区欧美| 欧美成人一品| 久久久国产一区二区| 日韩不卡av在线| 精品一区在线| 亚洲精品美女在线观看| 国产调教打屁股xxxx网站| 国产成人77亚洲精品www| 一本一道久久a久久精品综合蜜臀| 国产美女主播在线| 影院在线观看全集免费观看| 最新国产成人在线观看| 天天综合色天天综合色hd| 色久视频在线播放| a级精品国产片在线观看| av成人在线电影| 国产成人av免费看| 黄网站免费久久| 成人网中文字幕| 国产一区二区在线视频观看| 久久精品国产一区二区三| 国产成人精品日本亚洲| 中文字幕精品三级久久久| 99精品视频免费| 欧美一区二区三区艳史| 黄色在线观看国产| 国产精品美女久久久| 欧美有码在线观看| 黄色在线视频网址| 日韩精品色哟哟| 国产精品福利观看| 国产又粗又猛又爽又黄视频| 韩国女主播成人在线| 国产欧美久久一区二区| 国产精品玖玖玖| 国产精品自产自拍| 国产精品青青草| 天堂中文在线资| 国产欧美精品一区aⅴ影院| 欧美在线视频一区二区三区| 高h视频在线| 中文字幕日本不卡| 国产在线xxxx| jk漫画禁漫成人入口| 欧美综合一区二区三区| 亚洲欧美偷拍另类| 99热这里只有精品首页| 亚洲精品国产精品国自产观看浪潮| 久久久久久伊人| 欧美爱爱免费视频| 欧美激情综合色综合啪啪| 国语对白做受69| 亚洲欧美偷拍视频| 精品一区二区三区蜜桃| 成人黄视频免费| 日韩a级作爱片一二三区免费观看| 久久综合999| 亚洲欧美国产精品桃花| 手机在线免费看av| 狠狠躁夜夜躁人人爽超碰91| 色国产在线视频| 成人搞黄视频| 中文字幕欧美精品日韩中文字幕| 欧美日韩在线视频免费| 国产精品美女| 91久久精品一区| 丝袜视频国产在线播放| 国产精品麻豆欧美日韩ww| 日本wwwcom| 精品视频一区二区三区四区五区| 日韩一级高清毛片| 级毛片内射视频| 午夜国产精品视频| 国产国语刺激对白av不卡| 亚洲av综合色区无码一二三区 | 五月婷婷丁香网| 中文字幕成人网| 青青青青草视频| 日韩欧乱色一区二区三区在线| 精品国产百合女同互慰| 国产三级短视频| 亚洲永久免费| a级国产乱理论片在线观看99| 国产视频在线看| 亚洲国产综合在线| 91精品999| 欧美禁忌电影网| 欧美极品少妇全裸体| 中文字幕日本人妻久久久免费| www.欧美.com| 国产一区二区三区在线免费| 国产精品.xx视频.xxtv| 日韩hd视频在线观看| 欧美精品乱码视频一二专区| 麻豆91在线看| 日本在线免费观看一区| bbw在线视频| 欧美一区二区三区视频免费播放 | 日本韩国免费观看| 国产精品不卡一区| 蜜桃免费在线视频| 亚洲另类春色校园小说| 97精品国产aⅴ7777| 国产视频第一页| 国产精品美女一区二区三区 | 亚洲精品伊人| 中文国产成人精品久久一| 天天操天天摸天天干| 国产91在线观看| 老司机午夜网站| 91精品一区| 日韩视频免费中文字幕| 一二三四区在线| 国产精品欧美一区二区三区| 中文字幕欧美人妻精品一区| 亚洲综合小说图片| 欧美专区在线观看| 日韩精品系列| 色婷婷综合久久久久中文| 中日韩精品一区二区三区 | 热久久这里只有精品| 五月天丁香视频| 欧美日韩亚洲网| 亚洲熟妇一区二区三区| 玖玖视频精品| 视频一区不卡| 99热这里有精品| 欧美另类老女人| 国产综合视频在线| 亚洲mv大片欧洲mv大片精品| 玖玖爱在线精品视频| 国产精品毛片在线| 日产精品久久久一区二区| 韩日一区二区| 久久亚洲一区二区三区四区五区高| 国产精品无码一区二区桃花视频 | www国产无套内射com| 中文字幕av一区二区三区四区| 欧美精品第一页在线播放| 色欲av永久无码精品无码蜜桃 | 日韩av资源在线| 成人aaaa| 51国偷自产一区二区三区| 国产美女一区视频| 亚洲日本欧美日韩高观看| 亚洲一区二区三区高清视频| 一个色妞综合视频在线观看| 久久久午夜精品福利内容| 久久这里有精品15一区二区三区| 一区二区精品在线| av自拍一区| 国产97在线播放| 二区三区在线观看| 亚洲精品国产美女| 一级视频在线播放| 亚洲第一精品在线| 五月天婷婷丁香网| 成人一区在线观看| 亚洲少妇第一页| 综合激情一区| 免费日韩av电影| 激情视频亚洲| 茄子视频成人在线| gogogogo高清视频在线| 日韩不卡中文字幕| 国产精品久久久久久免费| 精品久久中文字幕| www.av免费| 久久久国产精品麻豆| 免费不卡av网站| 久久九九国产| 日本a在线天堂| 成人精品影院| 精品毛片久久久久久| 自拍偷拍亚洲| 国产成人短视频| 国产www视频在线观看| 怡红院精品视频| 青春有你2免费观看完整版在线播放高清| 欧美日韩mp4| 久久久久久91亚洲精品中文字幕| 亚洲欧美一区二区三区久本道91| 能免费看av的网站| a亚洲天堂av| 9191在线视频| 精品制服美女久久| 日韩中文字幕免费在线| 18成人免费观看视频| 色呦呦网站入口| av亚洲在线观看| 久久久久综合一区二区三区| 亚洲精品一区二区三区中文字幕 | 激情视频综合网| 红桃视频欧美| 高清无码视频直接看| 91久久高清国语自产拍| 日韩免费一区二区三区| 日本一道高清一区二区三区| 高清不卡日本v二区在线| 亚洲伦理网站| 国产精品亚洲аv天堂网| 欧美香蕉视频| 欧美在线一区二区视频| 两个人看的在线视频www| 欧美大片第1页| 综合久久2019| 欧美激情国产高清| 性爱视频在线播放| 欧美久久久精品| 91小视频xxxx网站在线| 久久av.com| 国产精品久久久久久福利| 日韩亚洲欧美中文高清在线| 秋霞a级毛片在线看| 中文字幕日韩精品在线观看| 国产高清在线看| 伊人青青综合网站| 日本高清中文字幕在线| 久久精品视频99| av在线免费网站| 色综合久久悠悠| 国产又色又爽又黄刺激在线视频| 欧美激情国内偷拍| 99热99re6国产在线播放| 97精品一区二区三区| 松下纱荣子在线观看| 欧日韩不卡在线视频| 88xx成人永久免费观看| 国产精品免费小视频| 宅男噜噜噜66国产精品免费| 成人国产1314www色视频| 精品人人人人| 欧美午夜精品久久久久免费视| 欧洲在线一区| 日产国产精品精品a∨| 天天av综合| 日本阿v视频在线观看| 国产精品嫩草99av在线| 欧美日韩大尺度| 久久99久国产精品黄毛片色诱| 国产999免费视频| 成av人片一区二区| 久久美女免费视频| 中文字幕一区二区三中文字幕| 九九视频免费看| 欧美性xxxxxx| 97超碰中文字幕| 亚洲精品一区二区在线观看| 日本大片在线观看| 色香阁99久久精品久久久| 久久av色综合| 国产精品国产三级国产aⅴ浪潮 | 日韩欧美中文字幕制服| 特黄aaaaaaaaa真人毛片| 一本大道亚洲视频| 亚洲羞羞网站| 国产精品高潮呻吟久久av野狼| 精品亚洲a∨一区二区三区18| 精品不卡一区二区三区| 成人高清av| 欧美日韩中文字幕在线播放| 午夜一区不卡| 一个人看的视频www| 久久你懂得1024| 欧美日韩综合一区二区| 日韩欧美在线观看| aa视频在线免费观看| 精品一区二区三区电影| caoporn97在线视频| 欧美在线免费观看| 日韩黄色av| 亚州欧美一区三区三区在线 | 91wwwcom在线观看| av成人在线网站| 欧洲精品在线一区| 亚洲天堂成人| 亚洲色图欧美自拍| 国产亚洲欧美一区在线观看| 免费在线看黄网址| 欧美男女性生活在线直播观看| 亚洲 欧美 激情 小说 另类| 久久中文字幕国产| 日韩精品三区| 久久综合毛片| 黑丝一区二区三区| 日韩欧美中文视频| 亚洲国产精品av| 九九热精品视频在线| 欧美成人女星排名| 老司机精品视频在线观看6| 国产成人久久精品| 色狼人综合干| 男人的天堂狠狠干| 国产白丝网站精品污在线入口| 97在线观看视频免费| 欧美系列日韩一区| 精品无吗乱吗av国产爱色| 97精品一区二区三区| 国产区精品视频在线观看豆花| 国产一级大片免费看| 激情六月婷婷综合| 欧美性生给视频| 欧美日韩一级二级| av免费观看一区二区| 日韩美女视频在线观看| 亚洲va久久久噜噜噜久久| 无码人妻丰满熟妇区96| www.激情成人| 中文字幕亚洲精品在线| 日韩成人xxxx| 少妇视频一区| 欧美成人一区二区在线| 香蕉久久夜色精品| aaaaa级少妇高潮大片免费看| 黑人巨大精品欧美一区二区| 少妇高潮久久久| 91精品国产91久久久久久吃药| 国产香蕉精品| 日韩精品视频久久| 久久久久久久久一| 无码人妻久久一区二区三区| 亚洲人成在线一二| av成人在线播放| 一区二区三区日韩视频| 国产制服丝袜一区| 久久久久久久福利| 日韩av在线网站| 精品91久久| 手机看片福利永久国产日韩| 久久精品国产一区二区三区免费看 | 久久伊人影院| 国产av熟女一区二区三区| zzijzzij亚洲日本少妇熟睡| 狠狠人妻久久久久久| 中文字幕精品在线视频| 日韩影片在线观看| 免费 成 人 黄 色| 国产视频一区二区三区在线观看| 中文字幕日日夜夜| 欧美成人激情在线| 欧洲vs亚洲vs国产| www.com操| 亚洲一区二区三区四区在线免费观看| 日批免费在线观看| 国产精品h在线观看| 91tv精品福利国产在线观看| 亚洲av人人澡人人爽人人夜夜| 黑人与娇小精品av专区| 日本中文字幕伦在线观看| 91久久精品www人人做人人爽| 亚洲另类自拍| 男人天堂资源网| 欧美sm美女调教| 日韩三区免费| 成人国产在线看| 久久精品这里都是精品| 国产视频一区二区三区四区五区| 97avcom| 99热在线成人| 91精品人妻一区二区| 这里只有精品99re| 午夜欧美激情| 四虎精品欧美一区二区免费| 久久综合久久综合久久| 一级黄色小视频| 日韩美女免费观看| 欧美成人一区二免费视频软件| 久久久久久久久久久久| 精品国产污网站| 成人在线分类| 男女视频一区二区三区|