APP客戶端與服務(wù)器通信安全設(shè)計(jì)方案

一、客戶端與服務(wù)器的通行采用安全通道

? ? ? ?1、使用SSL/TLS方式通信,客戶端與服務(wù)器采用雙向認(rèn)證,例如https

二、采用多重加解密方式對(duì)客戶端與服務(wù)器的通信數(shù)據(jù)進(jìn)行加密傳輸

? ? ? ?1、客戶端軟件發(fā)布前,客戶端保存一個(gè)公鑰,服務(wù)器保存一個(gè)私鑰,客戶端與服務(wù)器的基礎(chǔ)通信接口采用這對(duì)秘鑰進(jìn)行加解密 和簽名驗(yàn)證;

? ? ? ?2、用戶身份驗(yàn)證成功后與設(shè)備進(jìn)行綁定,如果更換設(shè)備則需要重新認(rèn)證用戶身份。用戶與設(shè)備綁定后服務(wù)器未每個(gè)用戶生成加解密證書(shū)(非對(duì)稱加密),如果更新設(shè)備需要重新生成新的證書(shū),這個(gè)證書(shū)用于客戶端用戶與服務(wù)器數(shù)據(jù)交互的加解密使用;

? ? ? 3、系統(tǒng)設(shè)置證書(shū)更新策略對(duì)用戶的證書(shū)進(jìn)行更新。

三、身份確認(rèn)機(jī)制,服務(wù)器對(duì)每個(gè)請(qǐng)求都要驗(yàn)證是否合法

? ? ?1、客戶端對(duì)每一個(gè)api訪問(wèn)請(qǐng)求需要加入時(shí)間戳,客戶端對(duì)業(yè)務(wù)數(shù)據(jù)(業(yè)務(wù)數(shù)據(jù)需要加密)加上時(shí)間戳使用證書(shū)進(jìn)行簽名;

? ? ?2、服務(wù)收到請(qǐng)求后首先對(duì)數(shù)據(jù)包進(jìn)行簽名驗(yàn)證,驗(yàn)證數(shù)據(jù)是否合法,在網(wǎng)絡(luò)傳輸過(guò)程中是否被串改;

? ? ?3、服務(wù)器使用當(dāng)前用戶的秘鑰對(duì)業(yè)務(wù)數(shù)據(jù)包進(jìn)行解密,驗(yàn)證業(yè)務(wù)數(shù)據(jù)是否合法。

四、對(duì)客戶端的請(qǐng)求進(jìn)行一次性有效校驗(yàn),防止請(qǐng)求被重放

? ? 1、服務(wù)器通過(guò)接收客戶端的簽名和時(shí)間戳,驗(yàn)證請(qǐng)求是否在有效的時(shí)間范圍內(nèi)發(fā)送,服務(wù)器維護(hù)在這個(gè)時(shí)間范圍類的所有請(qǐng)求的簽名集合,來(lái)驗(yàn)證請(qǐng)求是否被重復(fù)處理,從而達(dá)到請(qǐng)求被重放的目的;

五、數(shù)據(jù)格式采用自定義二進(jìn)制協(xié)議(破解難度大,開(kāi)發(fā)成本稍高)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容