精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁計算機網(wǎng)絡(luò)論文

計算機網(wǎng)絡(luò)應(yīng)用論文范文地址

發(fā)布時間: 1

  微信是由騰訊公司開發(fā)的社交軟件,用戶可使用該軟件發(fā)送語音、視頻、圖片和文字。微信的系統(tǒng)使用平臺包括手機、平板、個人電腦等,新版本微信增加了公眾平臺、朋友圈和消息推送等功能,作為一個大眾化的社交軟件,微信現(xiàn)在已經(jīng)擁有了6億用戶,日均活躍用戶超過1億,F(xiàn)階段微信已經(jīng)成為中國網(wǎng)絡(luò)最主流的社交軟件,其通信的安全保密性也一直為大家所關(guān)注。

  【摘要】基于移動客戶端的保密通信原理,本文討論了現(xiàn)階段主流社交軟件微信系統(tǒng)的通信方式和加密原理,其基于RSA加密、隨機AES私鑰的加密方式設(shè)計是通信保密的關(guān)鍵核心,也是目前絕大部分移動端社交軟件的主流加密方式。

  【關(guān)鍵詞】微信,RSA加密,隨機AES私鑰

  1引言

  本文介紹了微信所使用的通信保密算法和通信流程,其基于RSA加密、隨機AES私鑰的加密方式設(shè)計是通信保密的關(guān)鍵核心,也是目前絕大部分移動終端社交軟件的主流加密方式。在現(xiàn)有技術(shù)能力下,破解密鑰、獲取微信通信內(nèi)容的難度較大。

  2微信通信系統(tǒng)所使用的加密算法和通信協(xié)議

  微信系統(tǒng)所使用的加密算法是現(xiàn)下絕大部分通信軟件中較為常用的RSA密鑰和AES隨機密鑰加密算法,其加密方式在現(xiàn)有通信社交軟件中屬于最高加密等級,破解其加密算法具有極大的難度。

  微信通信中用到的幾種加密算法。

  2.1RSA公鑰加密算法

  RSA加密算法:目前最有影響力的公鑰加密算法,從提出到現(xiàn)在已近二十年,能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標準。

  RSA屬于公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。

  RSA屬于非對稱算法,公鑰加密私鑰解密,或者私鑰加密公鑰解密,公鑰和私鑰的關(guān)系是唯一的,公鑰不等于私鑰。RSA安全性在于密鑰的長度,密鑰長度越長,安全系數(shù)越高,微信用的1024位的密鑰,據(jù)說目前計算機速度破解需要2年。

  RSA加密算法加密流程。

  1)加密端產(chǎn)生明文字符串,獲取CER認證公鑰。

  2)加密機制通過Encoding指定不同的代碼頁,把字符串轉(zhuǎn)化成不同頁碼對應(yīng)的編碼,表現(xiàn)為byte[]形式,再將Byte[]字節(jié)流明文發(fā)送。

  3)使用CER證書的公鑰對byte[]字節(jié)流明文進行加密操作,以byte[]密文形式發(fā)送。

  相對應(yīng)解密流程:

  1)將公鑰轉(zhuǎn)化為PFX證書的私鑰,使用PFX證書的私鑰對byte[]密文進行解密,還原為byte[]明文字節(jié)流。

  2)使用加密時Encoding使用的代碼頁,把byte[]形式的明文轉(zhuǎn)化成是字符串明文并發(fā)送。

  目前解密技術(shù)能力下可行的破解RSA的方法是:替換公鑰。就是把流程圖中步驟3、4里面的公鑰換成自己所掌握的公鑰,然后就可以用自己的公鑰和私鑰去解密,還原出通信的byte[]字節(jié)流明文。

  2.2AES隨機密鑰加密算法

  AES是一個新的可以用于保護電子數(shù)據(jù)的加密算法。明確地說,AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過分組密碼返回的加密數(shù)的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個循環(huán)結(jié)構(gòu),在該循環(huán)中重復置換(Permutations)和替換(Substitutions)輸入數(shù)據(jù)。這個標準用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。

  微信通信中使用的128位的AES隨機密鑰,128位AES的加密強度是56位DES加密強度的1021倍還多,假設(shè)可以制造一部可以在1秒內(nèi)破解DES密碼的機器,那么使用這臺機器破解一個128位AES密碼需要大約149億萬年的時間。AES具體加解密流程如圖2所示。

  目前的解密技術(shù)下,AES只有知道密鑰才能解,不知道密鑰至今尚沒有可行的破解方式。

  2.3ProtocolBuffer通信協(xié)議

  微信通信系統(tǒng)選用ProtocolBuffer作為通信協(xié)議。

  ProtocolBuffer:是Google的一種數(shù)據(jù)交換的格式,Google公司內(nèi)部的混合語言數(shù)據(jù)標準,目前已經(jīng)正在使用的有超過48,162種報文格式定義和超過12,183個.proto文件。他們用于RPC系統(tǒng)和持續(xù)數(shù)據(jù)存儲系統(tǒng)。

  ProtocolBuffers是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化。它很適合做數(shù)據(jù)存儲或RPC數(shù)據(jù)交換格式。可用于通訊協(xié)議、數(shù)據(jù)存儲等領(lǐng)域的與語言無關(guān)、與平臺無關(guān)、可擴展的序列化結(jié)構(gòu)數(shù)據(jù)格式。目前提供了C++、Java、Python三種語言的API。

  ProtocolBuffer還有一個非常重要的優(yōu)點就是可以保證同一消息報文新舊版本之間的兼容性。它獨立于語言,獨立于平臺。由于它是一種二進制的格式,比使用xml進行數(shù)據(jù)交換快許多?梢园阉糜诜植际綉(yīng)用之間的數(shù)據(jù)通信或者異構(gòu)環(huán)境下的數(shù)據(jù)交換,作為一種效率和兼容性都很優(yōu)秀的二進制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲等諸多領(lǐng)域,屬于開源項目。

  3微信通信系統(tǒng)登錄驗證程序和通信程序

  3.1移動端微信通信登錄驗證流程

  移動端微信登錄驗證(初始化)流程。

  1)移動客戶端產(chǎn)生一個登錄包(包括用戶賬號、密碼、MD5加密信息、隨機AES密鑰)并使用RSA公鑰加密登錄包,然后將登錄包發(fā)送到服務(wù)器。

  2)服務(wù)器接收密文登錄包,使用RSA私鑰進行解密,獲取登錄包中的用戶賬號、密碼、MD5加密信息、隨機AES密鑰等信息。

  3)服務(wù)器對用戶賬號密碼進行校驗,確認用戶身份后產(chǎn)生一個驗證包,并使用AES密鑰加密成驗證包密文并發(fā)送給客戶端。

  4)客戶端接收驗證包密文后,使用AES密鑰進行解密,獲取驗證信息。之后的通信內(nèi)容均使用AES密鑰進行加密通信。

  具體流程如圖3所示。

  從流程圖里可以看出,隨機AES密鑰(每次生成的密鑰都是隨機的沒有規(guī)律可言)是由客戶端隨機生成包含在RSA加密的登錄包里面,也就是說RSA私鑰在整個通信服務(wù)里無法獲取,RSA解密無法進行的情況下,就無法獲取隨機AES密鑰,無法獲取隨機AES密鑰也就無法解密服務(wù)器返回驗證包密文,微信的通信流程環(huán)環(huán)相扣,普通手段除非暴力破解AES密鑰否則無法獲取通信內(nèi)容。

  3.2移動端微信通信交互流程

  根據(jù)上面登錄過程,客戶端解密驗證包后,會從驗證包里得到一個從服務(wù)器計算出來的一個隨機的AES密鑰,以后的通信過程都是通過這個隨機的AES密鑰進行加解密通信。

  微信的通信傳輸(文字聊天、語音等數(shù)據(jù))全部是基于隨機AES密鑰,換句話來說,掌握了這個隨機AES密鑰就能夠獲取其通信內(nèi)容。

  具體通信交互流程如圖4所示。

  從流程圖可以看出,微信的通信保密性很大程度依賴于隨機AES密鑰的不可破解性,但是從另一方面來說,只要獲取了這個隨機AES的密鑰,微信的通信信息的保密性就會大大降低。

  4結(jié)束語

  本文詳細分析了微信社交軟件的加密方式和通信協(xié)議,提出能截獲基于RSA加密和隨機AES密鑰加密方式的微信通信內(nèi)容的一種方法,此方法可廣泛應(yīng)用于截獲主流移動社交軟件的通信內(nèi)容,對通信保密方向的研究具有實踐意義。

  參考文獻

  [1]陽春華.RSA算法中幾種可能泄密的參數(shù)選擇[J].計算機工程2006年16期(10).

  [2]瞿白.RSA算法參數(shù)的選擇[J].科技咨訊,2010年28期(10).

  [3]胡軍.RSA加密算法的研究與實現(xiàn)[D].安徽工業(yè)大學,2011(12).

  [4]張月華,張新賀,劉鴻雁.AES算法優(yōu)化及其在ARM上的實現(xiàn)[J].計算機應(yīng)用,2011年06期(10).

  [5]趙雪梅.AES加密算法的實現(xiàn)及應(yīng)用[J].現(xiàn)代經(jīng)濟信息,2009期23期(10).


轉(zhuǎn)載請注明來自:http://www.jinnzone.com/jisuanjiwangluolw/29900.html