用HTTPS通信,另外APP往服務(wù)器接口發(fā)送的參數(shù)帶token,還要加上簽名,服務(wù)器端驗(yàn)簽名(以防參數(shù)被篡改),校驗(yàn)token;同時(shí)加上時(shí)間戳,防止重放。(簽名算法、密鑰的分配安全存儲要設(shè)計(jì)好)
創(chuàng)新互聯(lián)公司長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為瀘州企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),瀘州網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
對服務(wù)器接口要有監(jiān)控,監(jiān)控到異常情況要有處理方案。
最好的辦法是用比較靠譜的服務(wù)器安全軟件,其實(shí)現(xiàn)在市面上好多,本人用的是云鎖。它實(shí)現(xiàn)了對服務(wù)器的多端防護(hù)(PC、web、APP等),而且占用系統(tǒng)資源特別小,值得一用。
對稱加密:對稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由于需要將密鑰在網(wǎng)絡(luò)傳輸,所以安全性不高
非對稱加密:非對稱加密使用了一對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
方案:將對稱加密的密鑰使用非對稱加密的公鑰進(jìn)行加密,然后發(fā)送出去,接收方使用私鑰進(jìn)行解密得到對稱加密的密鑰,然后雙方可以使用對稱加密來進(jìn)行溝通。
方案的流程介紹:
1、APP客戶端需要和服務(wù)器進(jìn)行數(shù)據(jù)交互,它的APP首先生成了一個(gè)隨機(jī)數(shù)作為對稱密鑰(比如AES加密的密鑰)。
2、APP客戶端向服務(wù)器請求公鑰
3、服務(wù)器將公鑰發(fā)送給APP客戶端
4、APP客戶端使用服務(wù)器的公鑰將自己的對稱密鑰(比如AES加密的密鑰)加密
5、APP客戶端將加密后的對稱密鑰發(fā)送給服務(wù)器
6、服務(wù)器使用私鑰解密得到APP客戶端的對稱密鑰
7、APP客戶端與服務(wù)器可以使用對稱密鑰來對溝通的內(nèi)容進(jìn)行加密與解密了
App端和后臺數(shù)據(jù)加密分兩部分:
1.數(shù)據(jù)傳輸?shù)臅r(shí)候加密 (一般采用Https協(xié)議在傳輸層加密)
2.數(shù)據(jù)本身的加密 (使用各種加密算法)
RSA非對稱加密:公鑰加密,私鑰解密。公鑰私鑰由服務(wù)端生成,公鑰放在客戶端私密保存,私鑰放在服務(wù)端。安全性高,運(yùn)算速度慢
AES對成加密:運(yùn)算速度快切安全性高
上面網(wǎng)絡(luò)通信過程是安全的,可以保證通信數(shù)據(jù)即使被截取了,也無法獲得任何有效信息;即使被篡改了,也無法被客戶端和服務(wù)端驗(yàn)證通過。
具體可參考的博文:(記得后續(xù)實(shí)踐哦)
;depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
apk簽名相當(dāng)于程序的身份識別代碼。
apk簽名用于程序編譯打包之后,手機(jī)在運(yùn)行程序之前會先去驗(yàn)證程序的簽名(可以看作類似于我們電腦上常說的md5)是否合法,只有通過了驗(yàn)證的文件才會被運(yùn)行,所以簽名軟件的作用的讓文件通過手機(jī)的驗(yàn)證為合法,不同的手機(jī)、系統(tǒng)是對應(yīng)不同的簽名的。
進(jìn)行加密通訊防止API外部調(diào)用
服務(wù)器端與客戶端各自會存儲一個(gè)TOKEN,這個(gè)TOKEN我們?yōu)榱朔乐狗淳幾g是用C語言來寫的一個(gè)文件并做了加殼和混淆處理。
在客戶端訪問服務(wù)器API任何一個(gè)接口的時(shí)候,客戶端需要帶上一個(gè)特殊字段,這個(gè)字段就是簽名signature,簽名的生成方式為:
訪問的接口名+時(shí)間戳+加密TOKEN 進(jìn)行整體MD5,并且客戶端將本地的時(shí)間戳作為明文參數(shù)提交到服務(wù)器
服務(wù)器首先會驗(yàn)證這兩個(gè)參數(shù):驗(yàn)證時(shí)間戳,如果時(shí)間誤差與服務(wù)器超過正負(fù)一分鐘,服務(wù)器會拒絕訪問(防止被抓包重復(fù)請求服務(wù)器,正負(fù)一分鐘是防止時(shí)間誤差,參數(shù)可調(diào)整),
然后服務(wù)器會根據(jù)請求的API地址和提交過來的時(shí)間戳再加上本地存儲的token按照MD5重新生成一個(gè)簽名,并比對簽名,簽名一致才會通過服務(wù)器的驗(yàn)證,進(jìn)入到下一步的API邏輯
網(wǎng)站題目:app和服務(wù)器通信安全性 app客戶端和服務(wù)端的通信
文章源于:http://vcdvsql.cn/article20/dopejco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、域名注冊、網(wǎng)站營銷、Google、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)