国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

前后端交互如何保證安全性?

安全 應用安全
web與后端,andorid與后端,ios與后端,像這種類型的交互其實就屬于典型的前端與后端進行交互。在與B端用戶進行交互的過程中,我們通常忽略了其安全性(甚至從未考慮安全性)。

前言

前后端交互如何保證安全性?

 

web與后端,andorid與后端,ios與后端,像這種類型的交互其實就屬于典型的前端與后端進行交互。在與B端用戶進行交互的過程中,我們通常忽略了其安全性(甚至從未考慮安全性)。比如,請求和響應數據的明文傳輸,對接口并沒有做嚴格的身份校驗。如果我們還是按照這種思路去做C端用戶的交互,那么等待著必將是血淋淋的教訓。接下來,我帶領大家如何在與C端用戶安全的進行交互。

保證安全性的幾種方式

前后端安全性的交互,大致可以分成如下幾類:

  • 通信請求使用https
  • 對請求參數進行簽名,防止數據被踹改
  • 對請求參數以及響應進行加密解密處理
  • APP中使用ssl pinning防止抓包操作

使用https

谷歌 Chrome 在18年七月份已經將所有的 HTTP 網站標記為“不安全”。并且已經有越來越多的第三方服務開始推薦甚至是強制要求使用 HTTPS 連接方式,比如現在用得特別多的微信登錄、微信支付、短信驗證碼、地圖 API 等等,又比如蘋果公司 2016 年在 WWDC 上宣稱,公司希望官方應用商店中的所有 iOS App 都使用安全的 HTTPS 鏈接與服務器進行通信。

那為什么越來越多的 HTTP 都在逐漸 HTTPS 化?HTTP 協議(超文本傳輸協議)是客戶端瀏覽器或其他程序與 Web 服務器之間的應用層通信協議;HTTPS 協議可以理解為 HTTP+SSL/TLS, 即 HTTP 下加入 SSL 層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL,用于安全的 HTTP 數據傳輸,http與https的區別如下圖所示:

前后端交互如何保證安全性?

不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文傳播,帶來了三大風險。

  • 竊聽風險(eavesdropping):第三方可以獲知通信內容。
  • 篡改風險(tampering):第三方可以修改通信內容。
  • 冒充風險(pretending):第三方可以冒充他人身份參與通信。

SSL/TLS協議是為了解決這三大風險而設計的,希望達到:

  • 所有信息都是加密傳播,第三方無法竊聽。
  • 具有校驗機制,一旦被篡改,通信雙方會立刻發現。
  • 配備身份證書,防止身份被冒充。

因此強烈建議,為了你的系統安全性,趕快切到https中去吧。

對請求進行簽名

我們先來看一個例子,假設用戶在下完單之后,可以更改訂單的狀態,用戶對后端發起請求 /user?orderId=123, 假設后端剛好也沒有對這筆訂單的身份進行驗證,那么后果就是,我們根據orderId, 將這筆訂單的狀態進行了修改:

前后端交互如何保證安全性?

 

如果這時候,嘗試著將請求中的orderId 換成另外一個orderId, 也會同樣對這筆訂單做了修改,從安全角度來說這是我們不希望看到的,當然我們也可以加一下身份校驗,判斷該筆訂單是否屬于當前的用戶;除此之外,我們還應該對請求參數做一次簽名處理。

加簽和驗簽就是在請求發送方將請求參數通過加密算法生成一個sign值,放到請求參數里;請求接收方收到請求后,使用同樣的方式對請求參數也進行加密得到一個sign值,只要兩個sign值相同,就說明參數沒有被篡改。

簽名參數sign生成的方法

  • 將所有以頭參數(注意時所有參數),出去sign本身,以及值是空的參數,按參數鍵字母升序排序。
  • 然后把排序后的參數按參數1值1參數2值2......參數n值n(這里的參數和值必須是傳輸參數的原始值,不能是經過處理的,如不能將"轉成"后再拼接)的方式拼接成一個字符串。
  • 把分配給接入方的驗證密鑰key拼接在第2步得到的字符串前面。
  • 在上一步得到的字符串前面加上密鑰key(這里的密鑰key是接口提供方分配給接口接入方的),然后計算md5值,得到32位字符串,然后轉成大寫,得到的字符串作為sign的值放到請求參數里。

舉例

現在假設需要傳輸的數據:/guest/rechargeNotify?p2=v2&p1=v1&method=cancel&p3=&pn=vn(實際情況最好是通過post方式發送)

  • 拼接字符串,首先去除值是空的參數p3,剩下p2=v2&p1=v1&method=cancel&pn=vn,然后按參數名字符升序排序得到字符串:method=cancel&p1=v1&p2=v2&pn=vn。
  • 然后做參數名和值的拼接,最后得到methodcancelp1v1p2v2pnvn。
  • 在上面拼接得到的字符串前面加上驗證密鑰key,假設是abc,得到新的字符串abcmethodcancelp1v1p2v2pnvn。
  • 將上面得到的字符串進行md5計算,假設得到的是abcdef,然后轉為大寫,得到ABCDEF這個值即為sign簽名值。最終產生的url應該如下:/guest/rechargeNotify?p2=v2&p1=v1&method=cancel&p3=&pn=vn&sign=ABCDEF

注意:計算md5之前請確保請求發送方和接收方使用的字符串編碼一致,比如統一使用utf-8編碼,如果編碼方式不一致則計算出來的簽名會校驗失敗。

驗簽過程

其實就是將請求url按照上述的規則進行同樣的操作,計算得到參數的簽名值,然后和參數中傳遞的sign值進行對比,如果一致則校驗通過,否則校驗不通過。

對請求和響應進行加解密

可能有人會問,都使用了https了,為什么還要對請求和響應再做一次加解密,因為有些第三方抓包工具,例如Charles 通過某些手段是可以抓取https的明文的,因此對一些敏感數據,我們需要進行加密處理,常見的加解密方式有AES 對成加密方式和RSA非對成方式,至于如何運用,可以參考https的原理,有點復雜,不過可以簡單分成如下幾步:

[[284521]]前后端交互如何保證安全性?

 

  • 服務器端有一個密鑰對,即公鑰和私鑰,是用來進行非對稱加密使用的,服務器端保存著私鑰,不能將其泄露,公鑰可以發送給任何人。
  • 服務器將自己的公鑰發送給客戶端。
  • 客戶端收到服務器端的公鑰之后,會對公鑰進行檢查,驗證其合法性,如果發現發現公鑰有問題,那么HTTPS傳輸就無法繼續。嚴格的說,這里應該是驗證服務器發送的數字證書的合法性,關于客戶端如何驗證數字證書的合法性,下文會進行說明。如果公鑰合格,那么客戶端會生成一個隨機值,這個隨機值就是用于進行對稱加密的密鑰,我們將該密鑰稱之為client key,即客戶端密鑰,這樣在概念上和服務器端的密鑰容易進行區分。然后用服務器的公鑰對客戶端密鑰進行非對稱加密,這樣客戶端密鑰就變成密文了,至此,HTTPS中的第一次HTTP請求結束。
  • 客戶端會發起HTTPS中的第二個HTTP請求,將加密之后的客戶端密鑰發送給服務器。
  • 服務器接收到客戶端發來的密文之后,會用自己的私鑰對其進行非對稱解密,解密之后的明文就是客戶端密鑰,然后用客戶端密鑰對數據進行對稱加密,這樣數據就變成了密文。
  • 然后服務器將加密后的密文發送給客戶端。
  • 客戶端收到服務器發送來的密文,用客戶端密鑰對其進行對稱解密,得到服務器發送的數據。

總結

前后端的交互如果做到以上使用https,對請求加解密以及對請求參數進行驗簽,基本上能解決大部分問題,但除此之外我們還應該做到對每個接口進行身份校驗,確保該接口只能由特定的用戶訪問,或者該筆數據只能由特定的用戶去進行修改。

責任編輯:趙寧寧 來源: 架構師之巔
相關推薦

2019-04-09 10:35:14

API數據安全性

2020-02-13 09:52:48

加密前后端https

2012-05-10 09:50:53

云計算安全

2019-08-21 17:10:13

安全技術網絡安全網站

2011-02-13 14:36:35

2023-07-13 07:35:19

2011-03-31 09:40:46

2013-02-18 16:12:55

2022-06-22 09:00:00

安全編程語言工具

2013-01-11 14:00:18

云存儲云計算云安全

2013-01-15 10:12:39

云存儲云安全

2010-05-17 16:26:36

IIS安全

2024-12-18 14:06:56

2021-03-02 20:43:08

架構后端設計

2009-11-30 09:41:38

2022-10-10 13:22:38

物聯網安全隱私

2021-10-19 06:05:20

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

2017-06-12 08:47:14

ESXi安全vSphere

2018-10-23 14:24:10

2021-05-20 11:20:52

數據隱私安全
點贊
收藏

51CTO技術棧公眾號

av污在线观看| 欧美日韩免费做爰大片| 神马影视一区二区| 日韩精品一区二区三区第95| 邻家有女韩剧在线观看国语| 97se亚洲国产综合自在线不卡 | 欧美成人全部免费| 草草视频在线观看| 777色狠狠一区二区三区| 波多野结衣在线| 中文字幕高清一区| 黄色片在线免费| 99久久99久久精品免费看蜜桃| 五月天男人天堂| 国产在线乱码一区二区三区| 秋霞久久久久久一区二区| 亚洲天堂偷拍| 国产成人av一区二区三区| 99成人在线视频| 成人午夜在线观看| 亚洲一级毛片| 成人做爰66片免费看网站| 久久久久久久久丰满| 91精品国产综合久久男男| 久久精品高清| 超碰97在线播放| 亚洲欧美久久久| 亚洲电影网站| 国产a区久久久| 国产精品欧美激情在线观看| 久久综合久久综合九色| 天天操天天爱天天爽| 亚洲视频在线观看一区| 97影院在线观看| 一本色道久久综合精品竹菊| 三区四区电影在线观看| 日韩精品一区二区三区中文精品| av免费不卡国产观看| 中文字幕成人在线| 国产精品丝袜在线播放| 国产精自产拍久久久久久| 欧美极品一区二区三区| 日韩高清三级| 国产不卡免费视频| 久久久亚洲精品无码| 国产精品不卡在线| 欧美偷拍视频| 日韩免费成人网| 精品三级在线| 国产精品自拍网| 久久人人超碰| aaa毛片在线观看| 精品国产精品三级精品av网址| 老司机在线永久免费观看| 亚洲第一精品夜夜躁人人爽| 精品日本视频| 国产精品jizz在线观看麻豆| 亚洲国产三级| 成人午夜精品久久久久久久蜜臀| 国产精品色在线| 日本中文字幕在线观看| 色噜噜亚洲精品中文字幕| 美日韩中文字幕| 欧美另类视频在线| 久久久精品欧美丰满| 激情小视频在线| 亚洲色图国产精品| 激情五月综合| 国产精品波多野结衣| 一区精品在线播放| 国产成人无吗| 97精品国产97久久久久久| 欧美日韩国产欧| 精品无码国模私拍视频| 精品人伦一区二区三区蜜桃网站| av免费看在线| 91av在线免费观看| 日本不卡不码高清免费观看 | 日本免费在线视频不卡一不卡二| 男人操女人免费| 欧美精品三级在线观看| 日韩一二三区在线观看| 国产一区二区在线观看免费播放| 成人天堂资源www在线| 亚洲男人资源| 色爱av美腿丝袜综合粉嫩av| 亚洲精品国产偷自在线观看| 在线观看17c| 色综合久久中文综合久久牛| 精品国产黄a∨片高清在线| 91精品久久久久久久久久另类| 国产在线不卡视频| 国产小视频免费在线观看| www.亚洲一区| 日本最新不卡在线| 中文字幕免费在线观看| 久久成人国产精品| 免费成人av资源网| 蜜桃成人在线视频| 91精品国产网站| 成人午夜短视频| 亚洲妇熟xxxx妇色黄| 91免费在线视频网站| 久久久久久久久久美女| 91福利在线尤物| 国产精品视频500部| 一区二区三区鲁丝不卡| 精品久久亚洲| 中文字幕第50页| 日韩三级中文字幕| 亚洲高清电影| 午夜成人影视| 97在线视频国产| 久久新电视剧免费观看| 神马电影网我不卡| 亚洲一区二区精品在线| 91精品麻豆日日躁夜夜躁| 婷婷精品进入| 久久久亚洲精华液精华液精华液| 欧美黑人极品猛少妇色xxxxx| 国产一区二区电影| 九七电影韩国女主播在线观看| 国产免费久久av| 亚洲欧美日韩中文字幕一区二区三区| 亚洲免费资源| 大胆欧美熟妇xx| 精品一区二区三区电影| 久久精品午夜| 尤物在线网址| 日韩性感在线| 欧美一级视频精品观看| aa级大片欧美三级| 在线免费黄色| 蜜桃日韩视频| 日韩美女天天操| 久久男女视频| 超碰97国产精品人人cao| 亚洲三区视频| 亚洲视频免费一区| 91在线丨porny丨国产| 国产精品99久久免费| 37pao成人国产永久免费视频| 久久久精品久久久| 国产精品美女久久久久av爽李琼| 成人av综合网| 日本高清网站| 99九九电视剧免费观看| 蜜桃av一区二区| 国产毛片久久| 国内成人精品2018免费看| 亚洲欧洲日韩| 偷拍欧美精品| 欧美挠脚心视频网站| 亚洲综合精品| 亚洲综合伊人久久大杳蕉| 国产美女主播在线播放| 久久国产精品亚洲va麻豆| 亚洲久久久久久久久久久| 国模叶桐国产精品一区| 在线电影国产精品| 国产精品欧美日韩一区| 国产厕拍一区| 日本欧美亚洲| 久久久pmvav| 岛国视频一区| 亚洲精品av在线播放| 99久久精品情趣| 色综合久久中文| 欧洲免费在线视频| 日韩欧美三级一区二区| 中文字幕精品—区二区| 最新国产精品久久精品| 一个色综合网| 九色porny丨国产首页在线| 欧美女人性生活视频| 国产精品日韩久久久久| 日韩欧美专区在线| 91一区一区三区| 香蕉综合视频| 欧美电影免费观看网站| 精品剧情v国产在线观看| 久久国产手机看片| 久久久999精品视频| 欧美日韩视频免费播放| 国产一区二区视频在线播放| 好吊妞国产欧美日韩免费观看网站 | 国产成人在线一区二区| 欧美一级二级在线观看| 国产午夜精品福利| 亚洲免费观看| 亚洲成人影音| a级影片在线| 制服影音先锋| 日韩和欧美的一区二区| 日本高清视频一区| 亚洲国产高清福利视频| 一区二区三区四区在线免费观看| 麻豆视频一区二区| 亚洲h色精品| 欧美一级大片在线视频|