IM系統(tǒng)服務(wù)端消息怎么加解密

這篇文章主要講解了“IM系統(tǒng)服務(wù)端消息怎么加解密”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“IM系統(tǒng)服務(wù)端消息怎么加解密”吧!

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、芙蓉網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

IM系統(tǒng)中信息可能涉及隱私或秘密,安全顯得尤為重要,怎么確保信息的安全呢?

端到端加密是最安全的,只有聊天雙方知道具體是什么消息,傳輸鏈路和消息服務(wù)器端都不知道消息內(nèi)容。但是端到端加密在有些場景不適用,比如大規(guī)模群聊就不太好辦。另外基于某些合規(guī)性要求,端到端加密也不合適。

如果不采用端到端加密,消息的加密就分為網(wǎng)咯傳輸加密和服務(wù)端存儲加密兩部分。

傳輸過程,tcp長連接可以采用ssl協(xié)議(當(dāng)然也可以自己實現(xiàn)加密《為什么相同的消息微信每次加密后發(fā)送的內(nèi)容都不一樣?》),websocket采用wss協(xié)議。

難點變成了消息在服務(wù)端測的安全問題。消息在服務(wù)器端的路由過程怎么加密, 存儲怎么加密?

IM系統(tǒng)后臺邏輯很復(fù)雜,涉及眾多模塊,中間還有消息總線、緩存、數(shù)據(jù)庫等中間件。每個環(huán)節(jié)消息都需要以密文形式呈現(xiàn),否則很容易泄漏。

第一反應(yīng)是簡單寫個加密算法如AES對數(shù)據(jù)進行加密解密就搞定了。但是這樣存在一個非常大的隱患。密碼怎么保存?

日防夜防,家賊難防。寫代碼的程序員,部署系統(tǒng)的運維人員都可能拿到密碼,如果密碼寫在配置文件里,會與更多人得到密碼,比如能夠訪問git倉庫的人……總之,這種方式非常不安全。

因此,一套完善的加密系統(tǒng)顯得尤為重要。

加解密系統(tǒng)結(jié)構(gòu)如下圖,主要包括4部分。1、加解密服務(wù),2、加解密管理服務(wù),3、加密服務(wù)器,4、秘鑰存儲庫。

IM系統(tǒng)服務(wù)端消息怎么加解密

1、加解密服務(wù)。

以HTTP,TCP等方式對業(yè)務(wù)系統(tǒng)提供加密、解密、轉(zhuǎn)加密等服務(wù),提供加密服務(wù)器的負(fù)載均衡能力。同時提供業(yè)務(wù)系統(tǒng)可以直接使用的SDK。加解密服務(wù)以IP白名單+App_Key/App_Secret組合的方式對外提供訪問授權(quán),確保只有授權(quán)的系統(tǒng)才能訪問

2、加解密管理服務(wù)。

核心是提供密碼生成、管理等服務(wù)(密碼是以加密后形式展示,只有加密服務(wù)器才能解密)。以及一些管理配置等功能

3、加密服務(wù)器

提供加密、解密的能力。加密服務(wù)器內(nèi)置多種加密算法,通過超級秘鑰(root key),實現(xiàn)對加解密秘鑰(business key)的加密解密;通過加解密秘鑰(business key)實現(xiàn)業(yè)務(wù)數(shù)據(jù)的加解密。超級秘鑰(root key)被拆成3部分保存在秘鑰卡或U盤中。

4、秘鑰存儲庫

以密文形式存儲加密機生成的加解密秘鑰(business key),秘鑰只有加解密服務(wù)器能解密。

整個加密方案涉及幾個主要流程

1、加解密服務(wù)器初始化(或配置參數(shù))

(1)啟動加解密服務(wù)器,插入3張秘鑰卡(U盤)

(2)加解密服務(wù)器已內(nèi)置的算法(加密芯片)對root key進行加密,緩存到內(nèi)存,同時保存的機器存儲介質(zhì)。因此,內(nèi)存及存儲上的數(shù)據(jù)處于密文狀態(tài)。

(3)根據(jù)root key初始化business key加解密服務(wù)

(4)初始化業(yè)務(wù)數(shù)據(jù)加解密服務(wù)

2、生成加解密秘鑰(business key)

(1)通過加解密管理服務(wù),為即將生成的秘鑰起名(名字及秘鑰索引號),向加解密服務(wù)器發(fā)出生成秘鑰的命令。

(2)加解密服務(wù)器隨機生成business key,通過root key進行加密。把加密后的business key返回,關(guān)聯(lián)秘鑰索引號,并保存到秘鑰存儲庫。

3、加密及解密業(yè)務(wù)數(shù)據(jù)

(1)業(yè)務(wù)系統(tǒng)調(diào)用加解密服務(wù),傳入 秘鑰索引號、算法以及業(yè)務(wù)數(shù)據(jù)

(2)加解密服務(wù)調(diào)用加密服務(wù)器,傳入加密后的business key、算法以及業(yè)務(wù)數(shù)據(jù)

(3)加密服務(wù)器完成加密,并返回結(jié)果 

加密系統(tǒng)的核心要點是:業(yè)務(wù)數(shù)據(jù)和加密服務(wù)隔離,算法和秘鑰隔離。

感謝各位的閱讀,以上就是“IM系統(tǒng)服務(wù)端消息怎么加解密”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對IM系統(tǒng)服務(wù)端消息怎么加解密這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

文章標(biāo)題:IM系統(tǒng)服務(wù)端消息怎么加解密
分享路徑:http://www.muchs.cn/article30/ghgipo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、自適應(yīng)網(wǎng)站、小程序開發(fā)、Google、定制網(wǎng)站、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司