999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RC4算法的流密碼原理與實現

2018-10-13 02:21:08劉程遠
網絡安全與數據管理 2018年9期
關鍵詞:重置

劉程遠

(深圳中電長城信息安全系統有限公司,廣東 深圳 518057)

0 引言

在加密通信中,單密鑰密碼被廣泛應用于一對一的雙邊通信中。在單密鑰密碼中,通信雙方使用同一密鑰進行加密與解密,即加密運算與解密運算互為逆運算,雙方必須持有同一密鑰,并保守秘密。流密碼作為一種單密碼體制密碼,它與傳統單密鑰密碼最大的不同點是不使用固定密鑰,而是使用不斷變化的密鑰流進行加密與解密,通信雙方只需商議初始密鑰,然后根據相同的密鑰流生成算法,生成隨機性強、不可預測性強且相同的密鑰流即可,避免了密鑰在公網上傳輸的風險。流密碼有著實現簡單、速度快、方便軟件和硬件實現、密鑰管理安全性高等優點。本文將介紹基于RC4算法的密碼體制實現原理和實現方法。

1 基本原理

1.1 流密碼

流密碼是密碼體制中的重要一支,也是手工和機械密碼時代的主流。20世紀50年代以來,由于數字電子技術的發展,使密鑰流可以方便地利用以位移寄存器為基礎的電路來產生,促進了線性和非線性移位寄存器理論的迅速發展。代數和譜分析等數學工具的引入,使得流密碼理論迅速發展并走向較成熟的階段。由于具有實現簡單和速度快的優勢,以及在通信傳播中幾乎沒有或只有有限的錯誤,因此流密碼在實際應用中,特別是在專用機和機密機構中仍保持優勢[1]。

流密碼目前沒有標準化的算法,大多數流密碼是以硬件為基礎實現的專用算法,例如銀行產品的中銀e令等。

流密碼的最大特點是采用由非固定的不斷變化的密鑰組成的密鑰序列,稱為密鑰流。加密時,信息發送者將明文劃分成字符或數據位,分別與密鑰流進行加密運算;解密者以同樣的密鑰流生成器產生的同樣密鑰流與密文參與解密運算。流密碼強度完全依賴于密鑰流生成器產生序列的隨機性和不可預測性[2]。基本框圖如圖1所示。

圖1 流密碼原理框架

圖1中k0表示初始密鑰,KG表示密鑰生成器,mi表示明文流,ci表示密文流,Eki(mi)表示加密或解密算法,通信雙方通過安全信道交換初始密鑰后,通過密鑰生成器生成密鑰流,密鑰流與明文流通過加密算法生成密文流,密文通過不安全信道傳輸到接收方,接收方用同樣的密鑰與密文進行解密運算,輸出明文,通信成功[3]。

根據密鑰的不同,流密鑰可以分為同步流密鑰和自同步流密鑰。

基于同步流密碼的流密鑰獨立于明文,相同的明文隨著密鑰的不同而被加密成不同的密文字符。此類密碼只要通信雙方密鑰流生成器的初始密鑰相同就可以生成相同的密鑰。通信雙方保持精確同步地更新密鑰流才能保證密碼系統正常工作,一旦失去同步就不能正確解密,必須恢復同步才能工作,這是同步流密碼最大的缺點。但是由于其對失步的敏感性,使得系統對竄擾者的注入、刪除、重放等主動攻擊也很敏感,有利于檢測。同步流密碼在失步后如何重新同步是一個重要問題,處理不好將嚴重影響安全性。

基于自同步流密碼的流密鑰在失去同步后能自行恢復同步。如圖2所示,其密文ci不僅與當前明文mi有關,還與歷史明文m1,m2,……mi-1有關,一般在有限的n級存儲下,每個密文字符將影響以后n個輸入明文字符的加密結果。密鑰流可表示為

ki=f(k1,ci-n,ci-n+1,……,ci-1)

由于密文ci與明文mi的一對一映射關系,密鑰ki最終受到所有n個輸入明文的影響。

圖2 自同步流密鑰

自同步流密碼傳輸過程中有一位出錯,它將在n級移存器中存活n個周期,繼而影響其后n位密鑰的正確性。但是只要繼續接收正確信息,在n位正確密文以后,通信雙方又會產生相同的密鑰。因此,它具有自同步能力。

1.2 RC4流密碼

RC4是RSA公司提出的密鑰長度可變流密碼,是一種同步流密鑰。該算法利用8×8的S盒,在變長密鑰控制下對0~255的數進行置換,通過一系列非線性運算生成密鑰序列,具體算法如下:

初始化盒子S0~ S255:

i=(i+1) mod 256

j=(j+Si) mod 256

互換Si與Sj:

t=(Si+Sj) mod 256

K=St

ci=K⊕mi

i和j初始為0,Si,Sj表示第i和第j個S盒子,K為產生的隨機字節,K與明文異或即可得到密文,與密文異或即可得到明文。

RC4算法對差分攻擊和線性攻擊具有免疫力,這是因為它采用了高度非線性算法。RC4算法有256個S盒,初始化時首先將0~255依次填入所有S盒,然后將密鑰填入另一個256字節的陣列(密鑰長度不足則循環填入),S盒記為S0~S255密鑰陣列記為k0~k255,然后從i=0開始循環256次,取j初值為0,循環計算j=(j+Si+Sj)mod 256,并互換Si和Sj的位置,直至i=255。因此它大約有256!×2562=21 700種可能的狀態。各S盒在i和j的控制下進行卷入加密。指標i保證每個元素變化,指標j保證元素的隨機改變。該算法簡單明了,易于實現,速度快。關于RC4的攻擊方法的文獻有許多,但主要針對弱密鑰攻擊,目前沒有查明哪種方法能有效攻擊足夠長密鑰(128 bit或以上)的RC4。

2 應用實現

2.1 應用場景

RC4流密碼適用于一對一的通信。如圖3所示,公司某項目需要在Web服務器和app服務器之間設計一個密碼系統在內網進行通信。

圖3 應用場景

該密碼體制具體需求有:使用AES密碼系統通信作為基礎;在AES基礎上進行安全加固;對信道攻擊(竊聽、干擾、重放、偽造)敏感,有恢復能力;AES是一種單密鑰密碼,相關內容在此不做贅述。

2.2 總體結構

考慮到安全需求,同時使用了AES與RC4兩種密碼體制,64 bit RC4提供密鑰流,128 bit AES進行加密與解密,如圖4所示,k0表示初始密鑰,ki表示當前密鑰,ci表示當前明文,mi表示當前密文。RC4提供高隨機性和不可預測性的密鑰流,考慮到密鑰從內部泄露的可能性,在這里不采用原RC4加密方法(直接按位與明文異或),使用128 bit AES增加密碼系統復雜度,比簡單使用RC4密碼更安全。AES雖然稍微增加了算法復雜度,但對于服務器加密與解密效率影響很小。在項目后期壓力測試中,項目組使用了jmeter模擬200個用戶端向服務器發送udp請求,測試中每輪加密與解密均在1 s以內完成,與單獨使用RC4無明顯差異,且多輪壓力測試中均沒有發現問題,因此,使用AES算法增加的復雜度對服務器造成的負擔在允許范圍內。

圖4 總體結構

3 詳細設計

3.1 密鑰同步

同步流密鑰由于密文與密鑰無關,因此,通信雙方必須通過分析密文之外的信息來保持密鑰流同步。

根據項目架構和硬件資源的實際情況,項目采用了在數據庫服務器寫入一位標志位的方式來檢測雙方密鑰是否同步,如圖5所示。

圖5 密鑰同步原理

由于RC4流密鑰只要初始密鑰K0相同,就能產生相同的密鑰流k1k2…ki。因此,只要檢測通信雙方使用的密鑰是否更新了相同次數,即ki的下標是否相同即可,這里把i記作標志位。通信發送方將通信密鑰的標志位i寫入數據庫,接收方收到密文后,先檢查數據庫中標志位i與本地的標志位j是否相等即可。

3.2 密鑰更新

RC4具有產生密鑰流的能力,由于其密鑰是變化的,因此需要不斷更新密鑰。

考慮到系統的具體安全需求,密鑰更新采取了“手動更新+自動化運維更新”的方式。即用戶可以手動更新密鑰,將Web和app的密鑰同時同步更新,更新流程如圖6所示。

圖6 密鑰更新流程

用戶在網頁端點擊頁面更新后,向Web服務器發送一個請求。Web服務器收到請求后,更改數據庫標志位為自身更新后的標志位,然后向app服務器發出命令,app服務器收到命令后查詢數據庫的標志位是否與自身更新一次后的標志位相同,若相同,則app服務器更新本地密鑰,并返回成功信息至Web服務器,Web服務器更新本地密鑰,雙方均更新一次密鑰,仍然保持密鑰同步,密鑰更新成功;若不同,則app服務器返回失敗信息發送至Web服務器,Web服務器通知頁面,建議用戶啟動密鑰重置功能,此時app和Web服務器均不執行密鑰更新操作,以免密鑰更新不同步導致原本正常使用的密碼系統無法使用。

3.3 密鑰重置

同步流密碼的最大問題就是失去同步后如何恢復同步。密鑰重置提供了一種恢復同步的方法。

密鑰重置的流程與密鑰更新流程大致相同,唯一不同的是密鑰重置將密鑰置為初始密鑰k0。該方法存在一定風險,攻擊者可以通過重放攻擊誘使app服務器重置密鑰。因此,兩個服務器對本地密鑰設置了嚴格的保護。

3.4 密鑰日志

為方便排查密鑰更新故障和監控密鑰安全,在密鑰更新模塊里加入了密鑰更新日志。app服務器每次更新都將密鑰更新的時間和命令內容寫入日志,以便診斷故障和安全監控。

4 結論

使用單密碼體系的通信者們,通常會面臨密鑰交換的難題:既不能長期使用同一密鑰,又無法保證交換密鑰時通信信道是安全的。基于此問題,RC4流密碼提供了一種簡單、安全、無需交換密鑰的單密鑰密碼,使用該密碼體系可以在保持密鑰不斷更新的同時從物理上隔絕密鑰與網絡環境,有效提升單密鑰通信系統的安全性。該密碼體系適用于所有單密鑰互聯網通信的應用場景,硬件要求較低,實現方便,完全免疫差分攻擊與線性攻擊,對重放攻擊有檢測能力,經過多輪測試證明具有較高的安全性和穩定性,適合作為互聯網通信商業密碼使用。

猜你喜歡
重置
年輕人,選擇“重置人際關系”
意林(2024年6期)2024-05-11 05:07:39
解決“郵件”應用頻繁彈出輸入憑據的問題
重置系統微軟給你“雙料”選擇
清理或重置 恢復Chromium版Edge
系統重置中途出錯的解決辦法
重置人生 ①
使用朗仁 H6 Pro大師版重置雷克薩斯發動機記憶
2018年山西省對口升學考試考生重置密碼申請表
奇異系統重置觀測器的穩定性分析
讓iOS設備安全重置緩存
電腦迷(2012年19期)2012-04-29 05:34:36
主站蜘蛛池模板: 日韩精品无码不卡无码| 在线国产91| 国产欧美日韩精品综合在线| 三级国产在线观看| 激情成人综合网| 91极品美女高潮叫床在线观看| 色综合久久久久8天国| 亚洲最大情网站在线观看| 欧美亚洲另类在线观看| 国产精品免费露脸视频| 国产精品嫩草影院av| 免费人欧美成又黄又爽的视频| 亚洲福利视频网址| 欧洲亚洲一区| 91丝袜在线观看| 欧美.成人.综合在线| 亚洲福利网址| 亚洲成人高清在线观看| 亚洲福利网址| 欧美午夜在线观看| 国产成人亚洲欧美激情| 毛片最新网址| 国产精品13页| 国产毛片不卡| 欧美色香蕉| 欧美亚洲中文精品三区| 综合亚洲色图| 久久99国产综合精品女同| 91精品视频网站| 国产精品自拍露脸视频 | 欧美第二区| 日韩精品成人网页视频在线 | 久久精品人人做人人| 四虎精品国产AV二区| 中文字幕 91| 色综合五月婷婷| 亚洲色图欧美在线| 日本人又色又爽的视频| 国产精品理论片| 亚洲不卡av中文在线| 97久久精品人人| 日本高清免费不卡视频| 狠狠色综合网| 国产精品所毛片视频| 国产精品免费电影| 欧美性天天| 亚洲人人视频| 国产日本欧美亚洲精品视| 视频二区国产精品职场同事| 日韩精品亚洲人旧成在线| 国产精品国产三级国产专业不 | 国产精品久久久精品三级| 国产丝袜无码一区二区视频| 在线免费不卡视频| 日韩国产亚洲一区二区在线观看| 免费毛片a| 亚洲AV无码不卡无码| 久久综合色天堂av| 久久久久国产一级毛片高清板| 亚洲第七页| 99久久国产精品无码| 天天爽免费视频| 亚洲中文字幕在线观看| 制服丝袜国产精品| 久久99久久无码毛片一区二区| 国产成在线观看免费视频| 99色亚洲国产精品11p| 久久一日本道色综合久久| 国产亚洲精品yxsp| 亚洲swag精品自拍一区| 成年人福利视频| 国产黑人在线| 国产欧美日韩va| 久久无码av三级| 中文字幕 欧美日韩| 538精品在线观看| 午夜久久影院| 日韩精品少妇无码受不了| 一本一本大道香蕉久在线播放| 日韩一级二级三级| 91破解版在线亚洲| 高清亚洲欧美在线看|