<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jack Jiang

    我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
    posts - 494, comments - 13, trackbacks - 0, articles - 1

    1、前言

    本文深入分析了即時通信(IM)系統(tǒng)中所面臨的各種安全問題,綜合利用對稱加密算法(DES算法)、公開密鑰算法(RSA算法)和Hash算法(MD5)的優(yōu)點,探討組合加密算法在即時通信中的應(yīng)用。

    技術(shù)交流:

    2、IM安全系列文章

    本文是IM通訊安全知識系列文章中的第2篇,總目錄如下:

    即時通訊安全篇(一):正確地理解和使用Android端加密算法

    即時通訊安全篇(二):探討組合加密算法在IM中的應(yīng)用》(本文

    即時通訊安全篇(三):常用加解密算法與通訊安全講解

    即時通訊安全篇(四):實例分析Android中密鑰硬編碼的風(fēng)險

    即時通訊安全篇(五):對稱加密技術(shù)在Android上的應(yīng)用實踐

    即時通訊安全篇(六):非對稱加密技術(shù)的原理與應(yīng)用實踐

    即時通訊安全篇(七):用JWT技術(shù)解決IM系統(tǒng)Socket長連接的身份認(rèn)證痛點

    即時通訊安全篇(八):如果這樣來理解HTTPS原理,一篇就夠了

    即時通訊安全篇(九):你知道,HTTPS用的是對稱加密還是非對稱加密?

    即時通訊安全篇(十):為什么要用HTTPS?深入淺出,探密短連接的安全性

    即時通訊安全篇(十一):IM聊天系統(tǒng)安全手段之通信連接層加密技術(shù)

    即時通訊安全篇(十二):IM聊天系統(tǒng)安全手段之傳輸內(nèi)容端到端加密技術(shù)

    即時通訊安全篇(十三):信創(chuàng)必學(xué),一文讀懂什么是國密算法

    即時通訊安全篇(十四):網(wǎng)絡(luò)端口的安全防護(hù)技術(shù)實踐

    即時通訊安全篇(十五):詳解硬編碼密碼的泄漏風(fēng)險及其掃描原理和工具

    3、即時通信應(yīng)用所面臨的安全問題

    即時通信系統(tǒng)大都采用C/S、B/S、P2P等技術(shù)來實現(xiàn)即時通信的功能,軟件編制沒有統(tǒng)一的標(biāo)準(zhǔn),使得IM系統(tǒng)本身存有多種安全漏洞,加上用戶缺乏安全意識,導(dǎo)致在使用即時通信系統(tǒng)時出現(xiàn)各種安全問題。

    3.1 信息竊取問題

    目前的IM系統(tǒng)在交換信息或傳輸文件時僅僅采用了弱加密甚至不加密的方式,攻擊者利用此缺陷監(jiān)聽、竊取重要數(shù)據(jù),這種泄密可能性給企業(yè)或個人造成不可估量的損失,尤其是對一些特殊行業(yè),如金融和證券等行業(yè),將會構(gòu)成巨大的商業(yè)安全威脅,這種攻擊的類型是對信息機密性的攻擊。

    3.2 信息篡改問題

    信息篡改又稱中間人攻擊,是攻擊者試圖在IM系統(tǒng)信息交互過程中,通過監(jiān)聽、竊取正常的信息流,對信息進(jìn)行修改后再發(fā)往信息接收方。只要信息存在,就可能出現(xiàn)這種攻擊,它還可能攻擊傳輸中的信息,這種攻擊的類型是對信息完整性的攻擊。

    3.3 信息偽造問題

    在現(xiàn)有的IM系統(tǒng)中,接收方一般只根據(jù)發(fā)送方的ID或發(fā)送過來的簡單信息進(jìn)行確認(rèn),這樣就給攻擊者提供了機會。攻擊者通過令人誤導(dǎo)的昵稱或者迷惑性的語言,騙取對方的信任,從而套取信息、詐騙或達(dá)到其他不良目的。這種攻擊的類型是對信息真實性的攻擊。

    3.4 其他問題

    由于IM系統(tǒng)的文件傳輸采取了P2P模式,它可以將文件作為附件通過點對點方式傳送,而繞過網(wǎng)絡(luò)周邊安全防御設(shè)備。由于點對點隧道直接傳至桌面計算機,因此受感染的文件借即時通信系統(tǒng)就能繞過防病毒網(wǎng)關(guān)的掃描,各種病毒如蠕蟲、特洛伊木馬等可以借此輕松地進(jìn)入網(wǎng)絡(luò),很多被病毒感染的文件則可能利用即時通信系統(tǒng)進(jìn)行傳播。

    攻擊者也可以用緩沖區(qū)溢出、拒絕服務(wù)等攻擊方式,通過IM系統(tǒng)的安全漏洞對整個網(wǎng)絡(luò)系統(tǒng)進(jìn)行攻擊或傳播病毒。

    4、主流的加密算法介紹

    4.1 對稱加密:DES算法

    DES即數(shù)據(jù)加密標(biāo)準(zhǔn),這種加密算法是由IBM研究提出來的, 是一種分組密碼,它用于對64比特的數(shù)據(jù)進(jìn)行加密和解密。DES算法所用的密鑰也是64比特,但由于其中包含了8個比特的奇偶校驗位,因而實際的密鑰長度是56比特。DES算法多次組合替代算法和換位算法,利用分散和錯亂的相互作用,把明文編制成密碼強度很高的密文。DES算法的加密和解密的流程是完全相同的,區(qū)別僅僅是加密與解密使用子密鑰序列的順序正好相反n1。DES算法屬于對稱加密算法,即加密和解密共享同一個密鑰,主要用于解決數(shù)據(jù)機密性問題。

    4.2 公開密鑰算法:RSA算法

    RSA算法作為惟一被廣泛接受并實現(xiàn)的通用公共密鑰加密方法,是眾多闡述非對稱密碼體制的算法中最具代表性的,幾乎成了公開密鑰密碼學(xué)的同義詞。它是麻省理工大學(xué)的Rivest,Shamir和Adleman(RSA算法即為三人名字的縮寫)于1977年研制并于1978年首次發(fā)表的一種算法。該算法的數(shù)學(xué)基礎(chǔ)是數(shù)論的歐拉定理,它的安全性依賴于大數(shù)的因子分解的困難性,該算法至今仍沒有發(fā)現(xiàn)嚴(yán)重的安全漏洞。RSA使用兩個密鑰,一個是公鑰(PubHc Key),另一個是私鑰(Private Key)加密時把明文分戍塊,塊的大小可變,但不超過密鑰的長度。RSA把明文塊轉(zhuǎn)化為與密鑰長度相同的密文。其算法如下:

    首先選擇兩個相異大質(zhì)數(shù)p、q,計算n=pq,取小于n的數(shù)e與(p-l)(q-l)互質(zhì)。根據(jù)給定的e,再選擇d滿足ed除以z的模余數(shù)是1(即滿足ed mod (p-l)(q-l)=1),根據(jù)歐幾里得算法(a=bn+c,則a與b的最大公因子就等于b與c的最大公因子),這樣的d-定可以找到。這樣數(shù)對(n,e)為公鑰,數(shù)對(n,d)為私鑰在編碼時,假設(shè)資料為A,將其分戍等長數(shù)據(jù)N塊,每塊為nKn。計算C=llle mod n,則c就是編碼后的資料。至于解碼,取III=Cd mod n。黑客攻擊時怨得到e,這樣就必須對n進(jìn)行因式分解,選擇足夠大的質(zhì)數(shù)p、q便能阻止分解因式。

    對于p、q的選擇,一般來說是足夠大的素數(shù),對于大數(shù),并沒有一個確定的界限,因為隨著計算機技術(shù)的發(fā)展,破解能力正在逐步增強(根據(jù)摩爾定理計算能力18個月就翻一番)。RSA實驗室的建議是,安全性要求相對較低時,p和q的乘積達(dá)到768位;安全性要求相對較高時,乘積達(dá)到1024位以上。

    RSA算法還可以用于“數(shù)字簽名”,即用私鑰進(jìn)行加密,公鑰來解密。

    4.3 Hash算法:MD5算法

    MD5算法并不是加密算法,但卻能形成信息的數(shù)字“指紋”,主要用途是確保數(shù)據(jù)沒有被篡改或變化過,以保證數(shù)據(jù)的完整性。MD5算法有三個特性:

    • 1)能處理任意大小的信息,并生成固定長度128位的信息摘要;
    • 2)具有不可預(yù)見性,信息摘要的大小與原始信息的大小沒有任何聯(lián)系,原信息的每一個微小變化都會對信息摘要產(chǎn)生很大的影響;
    • 3)具有不可逆性,沒有辦法通過信息摘要直接恢復(fù)原信息。

    5、應(yīng)用探討:組合加密算法實現(xiàn)即時通信系統(tǒng)的認(rèn)證模型

    本文綜合利用以上算法的優(yōu)點,在IM系統(tǒng)中建立以下消息發(fā)送模型,以解決IM系統(tǒng)所面臨的信息竊取、篡改、偽造等安全問題。模型中用戶A和B為IM系統(tǒng)的客戶端,用戶A和B之間彼此擁有對方的公鑰或數(shù)字證書,A向B發(fā)送消息,其全過程如圖1所示。

    對于IM系統(tǒng)中蠕蟲病毒感染安全問題的處理,通過以下模型進(jìn)行處理,如圖2所示。

    6、應(yīng)用探討:組合加密算法實現(xiàn)即時通信系統(tǒng)的通信模型

    按照以上加密認(rèn)證模型,建立如圖3所示的安全即時通信系統(tǒng)的實現(xiàn)模型,該模型包含兩個層次的認(rèn)證,一是服務(wù)器與客戶機之間的雙向認(rèn)證,二是客戶機與客戶機之間的雙向認(rèn)證,即在兩端連接發(fā)送數(shù)據(jù)之前,必須協(xié)商并交換密鑰信息。服務(wù)器作為自簽署證書的CA認(rèn)證中心,認(rèn)證的所采用的密碼技術(shù)極為公開密密鑰技術(shù)。

    模型中的公開密鑰技術(shù)充當(dāng)了加密共享密鑰和數(shù)字簽名的作用,以解決服務(wù)器與客戶機、客戶機與客戶機之間的身份鑒別和客戶機之間進(jìn)行數(shù)據(jù)通信的密鑰傳輸問題。在Java密碼術(shù)體系結(jié)構(gòu)中,密鑰生成和操作可以使用keytool程序來執(zhí)行。

    7、應(yīng)用探討:組合加密算法應(yīng)用模型的安全性及效率分析

    在以上模型中,利用對稱加密算法處理消息、文件的加密,以解決信息、文件傳送的機密性問題,具有加密速度快的特點;用公開密鑰算法的加密技術(shù)解決了對稱密鑰在網(wǎng)絡(luò)中明文傳輸問題;用Hash算法計算出摘要,再通過公開密鑰算法的數(shù)字簽名技術(shù)對摘要進(jìn)行簽名,既提高了效率,又保證了信息文件傳輸?shù)蔫b別和不可否認(rèn)性;在文件處理過程中,通過病毒掃面和組合加密雙重處理,減少了網(wǎng)絡(luò)中文件傳輸病毒蠕蟲感染的幾率。

    更多有關(guān)IM安全和架構(gòu)資料

    [1] 傳輸層安全協(xié)議SSL/TLS的Java平臺實現(xiàn)簡介和Demo演示

    [2] 理論聯(lián)系實際:一套典型的IM通信協(xié)議設(shè)計詳解(含安全層設(shè)計)

    [3] 微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解

    [4] 來自阿里OpenIM:打造安全可靠即時通訊服務(wù)的技術(shù)實踐分享

    [5] 簡述實時音視頻聊天中端到端加密(E2EE)的工作原理

    [6] 移動端安全通信的利器——端到端加密(E2EE)技術(shù)詳解

    [7] Web端即時通訊安全:跨站點WebSocket劫持漏洞詳解(含示例代碼)

    [8] 通俗易懂:一篇掌握即時通訊的消息傳輸安全原理

    [9] IM開發(fā)基礎(chǔ)知識補課(四):正確理解HTTP短連接中的Cookie、Session和Token

    [10] 快速讀懂量子通信、量子加密技術(shù)

    [11] 即時通訊安全篇(七):如果這樣來理解HTTPS原理,一篇就夠了

    [12] 一分鐘理解 HTTPS 到底解決了什么問題

    [13] 一篇讀懂HTTPS:加密原理、安全邏輯、數(shù)字證書等

    [14] 基于Netty的IM聊天加密技術(shù)學(xué)習(xí):一文理清常見的加密概念、術(shù)語等

    [15] 手把手教你為基于Netty的IM生成自簽名SSL/TLS證書

    [16] 微信技術(shù)分享:揭秘微信后臺安全特征數(shù)據(jù)倉庫的架構(gòu)設(shè)計

    [17] 零基礎(chǔ)IM開發(fā)入門(二):什么是IM系統(tǒng)的實時性?

    [18] 零基礎(chǔ)IM開發(fā)入門(三):什么是IM系統(tǒng)的可靠性?

    [19] 零基礎(chǔ)IM開發(fā)入門(四):什么是IM系統(tǒng)的消息時序一致性?

    [20] 新手入門一篇就夠:從零開發(fā)移動端IM

    [21] 轉(zhuǎn)轉(zhuǎn)平臺IM系統(tǒng)架構(gòu)設(shè)計與實踐(一):整體架構(gòu)設(shè)計

    [22] 基于實踐:一套百萬消息量小規(guī)模IM系統(tǒng)技術(shù)要點總結(jié)

    [23] 一套億級用戶的IM架構(gòu)技術(shù)干貨(上篇):整體架構(gòu)、服務(wù)拆分等

    [24] 一套億級用戶的IM架構(gòu)技術(shù)干貨(下篇):可靠性、有序性、弱網(wǎng)優(yōu)化等

    [25] 一套海量在線用戶的移動端IM架構(gòu)設(shè)計實踐分享(含詳細(xì)圖文)

    [26] 一套原創(chuàng)分布式即時通訊(IM)系統(tǒng)理論架構(gòu)方案

    (本文已同步發(fā)布于:http://www.52im.net/thread-217-1-1.html)



    作者:Jack Jiang (點擊作者姓名進(jìn)入Github)
    出處:http://www.52im.net/space-uid-1.html
    交流:歡迎加入即時通訊開發(fā)交流群 215891622
    討論:http://www.52im.net/
    Jack Jiang同時是【原創(chuàng)Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
    本博文 歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處(也可前往 我的52im.net 找到我)。


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
    主站蜘蛛池模板: 国产美女在线精品免费观看| 国产午夜亚洲精品午夜鲁丝片| 国产亚洲欧美日韩亚洲中文色| 亚洲精品A在线观看| 免费精品久久天干天干| 亚洲另类春色国产精品| 亚洲精品国产精品乱码不卡| 97青青草原国产免费观看| 亚洲成在人线在线播放无码| 亚洲欧洲成人精品香蕉网| 色婷五月综激情亚洲综合| 亚洲av再在线观看| 性短视频在线观看免费不卡流畅| 免费看一级毛片在线观看精品视频| 91亚洲国产在人线播放午夜| 免费一级毛片在播放视频| 亚洲免费一级视频| 久青草视频在线观看免费| 亚洲av永久无码精品天堂久久| 在线观看国产区亚洲一区成人 | 亚洲中文久久精品无码1| 国产亚洲精品看片在线观看| 成年午夜视频免费观看视频| 免费看无码特级毛片| 阿v视频免费在线观看| 亚洲国产成人久久三区| 亚洲国产精品成人精品无码区在线 | 爱情岛亚洲论坛在线观看 | 波多野结衣亚洲一级| 色噜噜AV亚洲色一区二区| 日本免费人成黄页网观看视频| **俄罗斯毛片免费| 国色精品va在线观看免费视频| 日韩在线视精品在亚洲| 精品亚洲成在人线AV无码| 亚洲天天做日日做天天看| 亚洲精品中文字幕乱码三区 | 亚洲欧美日韩中文字幕一区二区三区 | 希望影院高清免费观看视频| 免费国产成人午夜在线观看| 免费人成动漫在线播放r18|