鄭坤
【摘要】 隨著科技日益發(fā)展,各種新技術(shù)、新材料應(yīng)運(yùn)而生,被廣泛應(yīng)用到不同領(lǐng)域、行業(yè)中,發(fā)揮著不可替代的作用。在新時(shí)代下,微信是騰訊公司開(kāi)發(fā)了一款即時(shí)通訊軟件,能夠?qū)崿F(xiàn)跨通信運(yùn)營(yíng)商、跨操作系統(tǒng)平臺(tái)的信息交互。因此,本文作者對(duì)微信加密通信原理這一主題予以了探討。
【關(guān)鍵詞】 微信加密 通信原理 探討
隨著微信平臺(tái)逐漸完善,還新增加了很多功能,比如,朋友圈、消息推送。微信已成為一種關(guān)鍵性通信手段,其用戶群涉及到不同的年齡段、社會(huì)層次,使用人數(shù)不斷增多,其影響力遍及中國(guó)大陸、東南亞,甚至一些外國(guó)用戶也在使用,深受社會(huì)大眾的喜歡。當(dāng)下,微信已成為我國(guó)網(wǎng)絡(luò)社交軟件中的主流,其通信是否安全、保密已成為社會(huì)大眾關(guān)注的焦點(diǎn)。
一、微信產(chǎn)品特點(diǎn)
第一、微信使用設(shè)備大眾化。在日常生活中,用戶不需要受到時(shí)空的限制,借助手機(jī)、電腦等移動(dòng)通信設(shè)備的力量,便能進(jìn)行一系列的操作,比如,發(fā)送語(yǔ)音、圖片等。在這個(gè)過(guò)程中,微信能夠提供各種服務(wù),比如,即時(shí)通信服務(wù)。而用戶可以馬上把各種信息分享到自己的微信朋友圈中,親人、好友等都能第一時(shí)間看到。第二、注重在強(qiáng)關(guān)系鏈的信息分享。在應(yīng)用的過(guò)程中,微信可以跨越多重壁壘,比如,運(yùn)營(yíng)商、社交網(wǎng),使現(xiàn)實(shí)與虛擬相連接,成為知識(shí)經(jīng)濟(jì)時(shí)代中一種新的社交節(jié)點(diǎn)。和微博相比,微信遠(yuǎn)遠(yuǎn)優(yōu)于它,能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn)的精準(zhǔn)溝通、交流,甚至可以實(shí)現(xiàn)多人群組聊天,在豐富社會(huì)大眾日常生活的同時(shí),也帶去了更多的便利。第三、用戶可以自由選擇消息的私密性、公開(kāi)性。更為重要的是,微信好友在進(jìn)行私密話題傳播的時(shí)候,用戶可以對(duì)私密話題、傳播的范圍進(jìn)行合理化的控制,具有一定的私密性。在一定程度上,不同用戶群組可以根據(jù)自身的需求,把相關(guān)的行業(yè)問(wèn)題、敏感問(wèn)題迅速傳播到不同領(lǐng)域、行業(yè)中,使對(duì)應(yīng)的重要信息公開(kāi)化,成為更多人關(guān)注的焦點(diǎn)。第四、微信具有較大的通信交流平臺(tái)。實(shí)際上,在初始階段,微信只是一款手機(jī)的通信工具,用戶可以免費(fèi)發(fā)送信息。在經(jīng)過(guò)一系列演變之后,微信具有的功能日漸增多,比如,漂流瓶、朋友圈、二維碼。簡(jiǎn)單來(lái)說(shuō),它已成為社會(huì)大眾日常生活中不可或缺的移動(dòng)通信、社交關(guān)系管理平臺(tái)。
二、微信加密的通信原理
2.1 加密算法、通信協(xié)議
1.1RSA加密算法。在新形勢(shì)下,RSA加密算法具有較大的影響力,已有20年的發(fā)展歷史,可以抵擋當(dāng)下所有已知密碼的攻擊,保護(hù)通信內(nèi)容安全。RSA加密算法屬于公開(kāi)秘鑰密碼機(jī)制,也屬于一種不對(duì)稱算法。RSA加密算法的安全性和密鑰長(zhǎng)度有著密不可分的聯(lián)系,屬于正比例關(guān)系。如果密鑰的長(zhǎng)度不斷增加,RSA安全系數(shù)也會(huì)隨之增高。就微信系統(tǒng)中應(yīng)用的1024位密鑰來(lái)說(shuō),如果當(dāng)下的計(jì)算速度為基準(zhǔn),需要長(zhǎng)達(dá)兩年的時(shí)間才能破解,可見(jiàn)破難度之大。 RSA加密算法的加密流程主要體現(xiàn)在這些方面。首先,在加密過(guò)程中,加密端會(huì)產(chǎn)生一些文字串符號(hào),得到相應(yīng)的CER認(rèn)證公鑰。其次,對(duì)應(yīng)的加密機(jī)制在Encoding作用下,以不同的代頁(yè)碼為載體,把一系列字符串符轉(zhuǎn)化為不同形式的編碼,以byte[]形式呈現(xiàn)出來(lái)。在此基礎(chǔ)上,byte[]字節(jié)會(huì)以流明文的形式被發(fā)送。最后,以CER證書(shū)公鑰為紐帶,對(duì)byte[]字節(jié)流明文進(jìn)行加密操作,需要采用byte[]密文形式進(jìn)行發(fā)送。
2、AES隨機(jī)密鑰加密算法。簡(jiǎn)單來(lái)說(shuō),AES加密算法可以保護(hù)對(duì)應(yīng)的電子數(shù)據(jù),可以應(yīng)用128、192、256位密鑰,甚至可以用128位分組加密、解密數(shù)據(jù),能夠重復(fù)置換、替換所輸入的數(shù)據(jù)。在微信通信中,所使用的128位AES隨機(jī)密鑰、其加密強(qiáng)度遠(yuǎn)遠(yuǎn)大于56位DES加密強(qiáng)度,比它的1021倍還要多。從某個(gè)側(cè)面來(lái)說(shuō),即時(shí)有一臺(tái)可以在一秒內(nèi)破解DES密碼的機(jī)器,也需要花費(fèi)大約149億萬(wàn)年的時(shí)間破解128位的AES密碼。就以當(dāng)下的解密技術(shù)而言,只有AES知道對(duì)應(yīng)的密鑰才能破解。
3、ProtocolBuffer通信協(xié)議。它是Google公司開(kāi)發(fā)的,可以描述、傳輸、存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù),建立在二進(jìn)制基礎(chǔ)上,但并不復(fù)雜。在應(yīng)用過(guò)程中,開(kāi)發(fā)人員只需要以相關(guān)的語(yǔ)法為紐帶,來(lái)定義結(jié)構(gòu)化的消息模式。并充分利用命令行工具中的一些簡(jiǎn)單命令語(yǔ)句,就可以生成對(duì)應(yīng)的代碼文件。在新形勢(shì)下,ProtocolBuffer能夠支持不同形式的語(yǔ)言環(huán)境,比如,python語(yǔ)言環(huán)境,能夠應(yīng)用到很多領(lǐng)域中,比如,數(shù)據(jù)的存儲(chǔ)、文件的配置。
2.2微信系統(tǒng)的登錄驗(yàn)證程序、通信程序
1、驗(yàn)證流程。第一、在微信通信系統(tǒng)運(yùn)行中,移動(dòng)客戶端會(huì)產(chǎn)生一個(gè)由多種元素組合而成的登錄包,比如,用戶的賬號(hào)、密碼,需要使用RSA的公鑰加密登錄包,并把它發(fā)送給對(duì)應(yīng)的服務(wù)器。第二、服務(wù)器在接收到密文登錄包治好,需要合理應(yīng)用RSA私鑰來(lái)解密,獲取登錄包中的相關(guān)信息,比如,用戶的賬號(hào)。在此基礎(chǔ)上,服務(wù)器會(huì)全方位校驗(yàn)用戶的賬號(hào)、密碼,對(duì)用戶身份進(jìn)行確認(rèn)。隨之,會(huì)產(chǎn)生一個(gè)驗(yàn)證包,需要借助AES密鑰的力量,把它加密成驗(yàn)證包密文的形式,發(fā)送到客戶端。第三、客戶端在接收到驗(yàn)證包密文之后,也會(huì)應(yīng)用AES密鑰來(lái)解密,獲取其中的驗(yàn)證信息,并對(duì)一系列通信信息進(jìn)行加密。
2、交互流程。客戶端在解密驗(yàn)證包之后,會(huì)得到一個(gè)從服務(wù)器中計(jì)算出的隨機(jī)AES密鑰,而所有的通信過(guò)程都需要對(duì)此進(jìn)行加解密通信。簡(jiǎn)單來(lái)說(shuō),微信的各種通信傳輸都是建立在隨機(jī)AES密鑰基礎(chǔ)上的。就其交互流程來(lái)說(shuō),微信通信的保密性和隨機(jī)AES密鑰息息相關(guān),一旦獲取了隨機(jī)AES密鑰,微信通信信息便不具有其保密性。
三、結(jié)語(yǔ)
總而言之,在新時(shí)代中,微信是重要的社交軟件,發(fā)揮著不可替代的作用,對(duì)其加密原理予以分析具有一定的實(shí)踐意義。但從長(zhǎng)遠(yuǎn)來(lái)說(shuō),還需要對(duì)其登錄過(guò)程、通信交互過(guò)程中的信息安全、通信加密問(wèn)題進(jìn)行更加深入的研究,不斷優(yōu)化微信系統(tǒng),但其必將會(huì)走上長(zhǎng)遠(yuǎn)的發(fā)展道路,更好地服務(wù)于社會(huì)大眾。
參 考 文 獻(xiàn)
[1] 趙明. 一種通用加密通信系統(tǒng)方案[J]. 電子技術(shù). 2010(05).
[2] 劉栩,石乃軒,王健,季曉勇. 多重加密通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 通信技術(shù). 2010(05).
[3] 張?jiān)氯A,張新賀,劉鴻雁. AES算法優(yōu)化及其在ARM上的實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用. 2011(06)
[4] 瞿白. RSA算法參數(shù)的選擇[J]. 科技資訊. 2010(28)
[5] 朱賢軍,李敬兆. 無(wú)加密模式下對(duì)云數(shù)據(jù)的隱私保密[J]. 計(jì)算機(jī)技術(shù)與發(fā)展. 2013(06)