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

openssl硬件引擎加解密漏洞

2011-03-14 06:44:40趙春平凌志祥
網絡安全技術與應用 2011年3期
關鍵詞:加解密明文服務端

趙春平 凌志祥

江南計算技術研究所 江蘇 214083

0 引言

openssl是一個開源的SSL協議實現,它采用C語言作為開發語言,因此 openssl具有優秀的跨平臺性能,并被廣泛使用。openssl支持Linux、Windows、BSD、Mac、VMS等平臺,這使得openssl具有廣泛的適用性。openssl目前最新的版本是1.0.0d。 有很多系統都是用openssl來構建安全的通信,比如apache的httpd中的ssl模塊、openldap等優秀的開源軟件。

openssl主要由三部分組成:crypto庫、ssl庫以及openssl命令。其中crypto庫中實現了大量的對稱算法、非對稱算法和摘要算法,并且這些算法都支持硬件引擎。

1 openssl硬件引擎

openssl是一個自包含的軟件,它不依賴于第三方庫,它實現了各種軟算法。為了支持硬件以提高性能,openssl通過引擎機制來支持硬件算法。當用戶調用上層的對稱加解密函數時,如何沒有注冊對應算法的引擎,openssl使用默認的軟算法;當用戶注冊了某個算法的硬件引擎時,openssl將會調用該硬件引擎的算法。下面簡要介紹對稱計算中,openssl如何使用硬件引擎。

openssl的對稱計算主要crypto/evp/evp_enc.c中實現,調用接口和主要數據結構在evp.h中定義。對稱計算主要有兩個數據結構,如下所示:

對稱計算調用接口主要有:

(1)對稱計算初始化

(2)進行對稱計算

(3)獲取余下的對稱計算結果

從接口可以看出,用戶調用 openssl進行對稱計算時,主要使用的數據結構為 EVP_CIPHER_CTX,該結構主要包括了對稱算法信息以及硬件引擎。如果無硬件引擎,將使用軟算法。openssl進行對稱計算時,使用的是 EVP_CIPHER結構中的 do_cipher函數指針。硬件引擎的加載是在EVP_CipherInit_ex中完成的。在EVP_CipherInit_ex的實現中,如果指定了對稱計算引擎,EVP_CIPHER_CTX中的cipher將指向硬件引擎所實現的 EVP_CIPHER,后續的update操作和final操作都將使用硬件引擎提供的函數。

do_cipher函數對數據進行對稱計算,其參數主要有:輸入緩沖區、輸出緩沖區以及輸入長度。輸入緩沖區和輸出緩沖區可以是不同的內存地址。該函數返回非0時表示成果,返回0表示對稱計算失敗。不過對于軟算法,基本上不可能出現計算失敗的情況,而如果用硬件來做對稱計算,由于硬件以及硬件接口的原因,則有可能出現對稱計算失敗。

2 openssl硬件引擎加解密漏洞

在 openssl的各個 SSL協議版本實現中(包括當前的1.0.0d),無論在ssl握手階段還是數據發送和接收階段,對于數據的加解密運算都會調用函數EVP_Cipher進行運算(分別對應文件d1_enc.c、s2_enc.c、s3_enc.c和t1_enc.c)。s3_enc.c中調用方式如下:

該函數將對稱計算直接調用了do_cipher。

在openssl運行時,該函數的輸入緩沖區rec->data與輸出緩沖區 rec->input指向相同的內存地址,并且不判斷其返回值,由此會帶來安全問題。

特定情況下,openssl采用硬件引擎進行ssl握手和通信時,當客戶端和服務端因為某種硬件原因導致加解密失敗時,由于它沒有檢查EVP_Cipher函數的返回值(硬件引擎加解密函數會有返回值,但上層并不判斷),數據的傳輸將變成明文通信。即使僅僅因為一方硬件原因導致加密失敗,當前發出的數據也將是明文。SSL通信一旦變成明文通信,用戶將很難察覺。

此漏洞雖然被利用的概率較低,但一旦出現上面描述的特定情況,將會帶來巨大的安全問題。

修補該漏洞很簡單,僅僅判斷返回值,如果出錯立即終止SSL連接即可。

3 漏洞的驗證

作者在兩臺 linux操作系統上對該漏洞進行了驗證,為了便于抓包,其中一臺裝在虛擬機上。硬件引擎替換了RC4算法,并進行了加解密故障模擬,引擎名稱為 TestEngine,openssl版本為1.0.0a。

在服務端運行命令:

./openssl s_server -CAfile demoCA/cacert.pem -ssl3 -cipher RC4-SHA -cert cert.pem -key key.pem -engine TestEngine

在客戶端運行命令:

./openssl s_client -ssl3 -cipher RC4-SHA -host 192.168. 1.24 -cipher RC4-SHA -engine TestEngine

然后通過wireshark進行抓包,服務端中的Hello消息如圖1所示。

圖1 服務端中的Hello消息

服務Hello消息表明加密使用RC4算法。

發送的應用數據如2所示。

圖2 發送的應用數據

圖2中,傳輸的數據是明文。不僅僅傳輸的數據是明文,其他的握手數據也是明文。

[1] rfc2246,The TLS Protocol Version 1.0.2009.

[2] WDKDocs_12112009.chm, windows wdk.2009.

猜你喜歡
加解密明文服務端
云存儲中基于相似性的客戶-服務端雙端數據去重方法
新時期《移動Web服務端開發》課程教學改革的研究
消費導刊(2018年8期)2018-05-25 13:19:48
奇怪的處罰
在Windows Server 2008上創建應用
電子取證中常見數據加解密理論與方法研究
奇怪的處罰
基于FPGA的LFSR異步加解密系統
四部委明文反對垃圾焚燒低價競爭
網絡數據傳輸的加解密系統研究
軟件工程(2014年11期)2014-11-15 20:02:46
主站蜘蛛池模板: 91久久天天躁狠狠躁夜夜| 国产精品99一区不卡| 91精品专区国产盗摄| 日本午夜精品一本在线观看| 久精品色妇丰满人妻| 老司机aⅴ在线精品导航| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产精品三级专区| 亚洲欧美在线综合图区| 免费不卡视频| 国产亚洲精品自在线| 国产美女视频黄a视频全免费网站| 一本大道AV人久久综合| 国产精品成人免费综合| 天堂在线视频精品| 国产成人精品午夜视频'| 久久a毛片| 亚洲嫩模喷白浆| 99视频精品在线观看| 91探花在线观看国产最新| 日本午夜三级| 粗大猛烈进出高潮视频无码| 日韩欧美在线观看| 波多野结衣中文字幕久久| 97se亚洲综合在线| 国产成人成人一区二区| 美女无遮挡拍拍拍免费视频| 亚洲中文字幕国产av| 日韩精品一区二区三区免费在线观看| 国产午夜一级毛片| 在线观看的黄网| 999精品在线视频| 免费无码AV片在线观看国产| 亚洲无码高清免费视频亚洲| 日韩不卡高清视频| 日本黄色a视频| 亚洲精品成人7777在线观看| 国产精品一区在线麻豆| 国产男女免费视频| 91亚洲视频下载| 欧美成人看片一区二区三区| 国产黑丝视频在线观看| 欧美中文字幕在线播放| 日韩在线视频网| 午夜视频日本| 一级片免费网站| 日韩在线成年视频人网站观看| 在线欧美国产| 欧美一级大片在线观看| 国产精品视频999| 亚洲欧美精品一中文字幕| 国产在线一区二区视频| 在线中文字幕日韩| 国产欧美日韩视频怡春院| 亚洲无线视频| 人与鲁专区| 波多野结衣爽到高潮漏水大喷| 亚洲黄色成人| 午夜福利视频一区| 久久久久青草线综合超碰| 国产日本欧美亚洲精品视| 99视频在线精品免费观看6| 日韩av无码DVD| 国产精品成人AⅤ在线一二三四| 97一区二区在线播放| 9啪在线视频| 色香蕉影院| 精品无码一区二区三区电影| 日日拍夜夜操| 4虎影视国产在线观看精品| 一级毛片免费不卡在线| 免费一看一级毛片| 亚洲精品无码久久久久苍井空| 日韩精品一区二区三区免费| 美女被狂躁www在线观看| 国产一在线观看| 最新国产成人剧情在线播放| 日本午夜三级| 国禁国产you女视频网站| 白丝美女办公室高潮喷水视频| 中文字幕久久精品波多野结| 99re精彩视频|