两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種增強(qiáng)瀏覽器ssl算法強(qiáng)度的代理方法

文檔序號(hào):7803615閱讀:176來源:國知局
專利名稱:一種增強(qiáng)瀏覽器ssl算法強(qiáng)度的代理方法
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù),具體涉及網(wǎng)絡(luò)瀏覽器的加密算法技術(shù)。
背景技術(shù)
HTTPS (HTTP over SSL)技術(shù)在WEB環(huán)境下被廣泛地使用,主流的瀏覽器如Internet Explorer, Firefox, Safari 等都支持 HTTPS 協(xié)議。其中SSL握手協(xié)議由4類算法組成:身份驗(yàn)證算法A:如RSA,E⑶SA等;密鑰交換算法K:如RSA, ECDH等;對(duì)稱加密算法E:如DES,AES,RC4等;據(jù)摘要算法M:如MD5,SHA-1等。不同的操作系統(tǒng)和瀏覽器版本支持的SSL算法有所不同,由于美國商務(wù)部的出口限制,某些高強(qiáng)度的算法在中文版環(huán)境中無法被使用,而且由于現(xiàn)有主流的瀏覽器核心和操作系統(tǒng)全部是由其他國家公司開發(fā)的,中國自行頒布的密碼算法(如國標(biāo)SMl對(duì)稱加密算法,SM2/E⑶SA/E⑶H非對(duì)稱算法,SM3摘要算法等)也無法得到支持。目前對(duì)提高瀏覽器的算法強(qiáng)度和使用國標(biāo)算法主要有以下折中方案:1.使用專用的客戶端與應(yīng)用進(jìn)行連接,相當(dāng)于使用C/S方式替代了 B/S方式,這種方式只能支持特定的應(yīng)用,應(yīng)用改造的成本過高。2.使用HTTP+VPN技術(shù),也即拋棄瀏覽器的HTTPS支持,只在網(wǎng)絡(luò)層使用加密通道。上述折中方案存在以下幾點(diǎn)不足:1.改變了用戶的使用方式:尤其是對(duì)已經(jīng)使用HTTPS的用戶進(jìn)行升級(jí)的場(chǎng)景下,用戶將不再使用原有的https: //xxxx鏈接進(jìn)行訪問,這對(duì)原有應(yīng)用的頁面鏈接,用戶的使用習(xí)慣都有改變。2.在新舊用戶并存的情況下,很難做到兩類用戶(使用瀏覽器自身支持的低強(qiáng)度算法的用戶,使用瀏覽器不支持的高強(qiáng)度算法的用戶)的并存。

發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)中在提高瀏覽器的算法強(qiáng)度時(shí)所存在的改變了用戶的使用方式以及無法兼容新舊用戶等問題,而提供一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,該方法對(duì)用戶使用習(xí)慣不做任何改動(dòng),就可以實(shí)現(xiàn)讓通用的瀏覽器升級(jí)到高強(qiáng)度的SSL算法,且新舊用戶可以并存。為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,該代理方法包括如下步驟:(I)截獲瀏覽器發(fā)起的SSL數(shù)據(jù)包;(2)模擬遠(yuǎn)端的SSL服務(wù)器與瀏覽器完成低強(qiáng)度SSL握手;(3)采用更高強(qiáng)度的算法與遠(yuǎn)端的SSL服務(wù)器完成正式的認(rèn)證和握手。
在該方案的實(shí)例中,所述步驟(I)中截獲SSL數(shù)據(jù)包的方式是自動(dòng)修改瀏覽器的代理配置,將HTTPS代理設(shè)置為SSL代理監(jiān)聽的本地端口。在該方案的實(shí)例中,所述步驟(I)中截獲SSL數(shù)據(jù)包的方式是通過LSP在socketconnect調(diào)用時(shí)將目標(biāo)地址改為SSL代理監(jiān)聽的本地端口。在該方案的實(shí)例中,所述步驟(2)中在模擬SSL服務(wù)器與瀏覽器之間SSL握手時(shí),需要實(shí)時(shí)簽發(fā)模擬站點(diǎn)證書。根據(jù)上述方案得到的本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):1.可以有效地?cái)U(kuò)充現(xiàn)有瀏覽器的算法支持,尤其是對(duì)國標(biāo)加密算法的支持。2.對(duì)用戶完全透明,用戶無需改變使用習(xí)慣。3.可以實(shí)現(xiàn)使用瀏覽器自身支持的低強(qiáng)度算法的用戶和使用瀏覽器不支持的高強(qiáng)度算法的用戶的并存。
以下結(jié)合附圖和具體實(shí)施方式
來進(jìn)一步說明本發(fā)明。

圖1為瀏覽器使用自身算法的SSL握手流程圖。圖2為使用本發(fā)明實(shí)現(xiàn)高強(qiáng)度算法的SSL握手流程圖。圖3為瀏覽器檢查服務(wù)端站點(diǎn)證書時(shí)的警告消息效果圖。
具體實(shí)施例方式為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。由于HTTP協(xié)議中對(duì)HTTPS (也即SSL)進(jìn)行代理的方式主要是通過CONNECT方法(http://tools.1etf.0rg/html/rfc2616#section-9.9),也即代理服務(wù)器只負(fù)責(zé)轉(zhuǎn)發(fā)瀏覽器與目標(biāo)服務(wù)器之間的TCP數(shù)據(jù)包,而不做其他處理,因此采用HTTPS代理時(shí),實(shí)際的SSL握手仍然發(fā)生在瀏覽器與服務(wù)器之間,支持的算法也由瀏覽器決定?;谏鲜鯤TTPS代理協(xié)議的原理,本發(fā)明提供一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,該方法為一種HTTPS中繼代理,其主要原理如下:首先在用戶PC上安裝一個(gè)控件或客戶端(SSL代理),通過修改瀏覽器代理或安裝攔截器,捕獲瀏覽器與SSL服務(wù)器之間的HTTPS數(shù)據(jù)包;接著,SSL代理模擬真實(shí)的SSL服務(wù)器與瀏覽器完成一次SSL握手——此時(shí)使用瀏覽器支持的低強(qiáng)度的算法;最后,控件使用高強(qiáng)度的算法(如國標(biāo)SM1/SM2/SM3算法)與SSL服務(wù)器完成實(shí)際的SSL握手?;谏鲜鲈?,本發(fā)明的具體實(shí)施如下:參見圖1,其所示為瀏覽器不使用代理時(shí)的詳細(xì)通訊和認(rèn)證過程,整個(gè)實(shí)施環(huán)境由瀏覽器和SSL服務(wù)器形成,其中瀏覽器可以為Internet Explorer,Firefox等,且該瀏覽器使用RSA+AES+SHA1算法;而SSL服務(wù)器支持SSL的WEB服務(wù)器或SSL網(wǎng)關(guān)。由圖可知,瀏覽器不使用代理時(shí)的詳細(xì)通訊和認(rèn)證步驟如下:(I)瀏覽器發(fā)起SSL握手請(qǐng)求,發(fā)送ClientHello包,聲明自身支持的算法組合(如國際通用算法 RSA+AES+MD5 和 RSA+AES+SHA1)。(2) SSL服務(wù)器向?yàn)g覽器返回ServerHello,選擇匹配的算法如RSA+AES+SHA1。(3) SSL服務(wù)器向?yàn)g覽器回應(yīng)ServerKeyExchange,根據(jù)密鑰交換算法(RSA),發(fā)送密鑰交換參數(shù)(如公鑰)。(4) SSL服務(wù)器向?yàn)g覽器回應(yīng)ServerCertificate,此時(shí)為了避免瀏覽器的站點(diǎn)證書檢測(cè)警告,需要根據(jù)瀏覽器的實(shí)際請(qǐng)求域名和身份驗(yàn)證算法(如RSA)實(shí)時(shí)簽發(fā)一張CN項(xiàng)為實(shí)際請(qǐng)求域名(如WWW.test, com)的站點(diǎn)證書,并返回給瀏覽器。(5) SSL 服務(wù)器向?yàn)g覽器回應(yīng) ClientVerifyRequest 和 ServerHelloDone,并且需要瀏覽器提交證書以及簽名。(6)瀏覽器發(fā)送 ClientCertificate。(7)瀏覽器發(fā)送ClientKeyExchange。根據(jù)密鑰交換算法(如RSA),發(fā)送密鑰交換參數(shù)(如進(jìn)行數(shù)字信封的pre_master_key)。(8)瀏覽器發(fā)送ClientCertificateVerify,根據(jù)算法組合中身份驗(yàn)證算法(如RSA),進(jìn)行簽名。(9)瀏覽器發(fā)送 ChangeCipherSpec 和 Finish。最后,SSL服務(wù)器向?yàn)g覽器回應(yīng)發(fā)送ChangeCipherSpec和Finish,握手結(jié)束。在此基礎(chǔ)上,本發(fā)明使用代理實(shí)現(xiàn)瀏覽器算法的提高,對(duì)于瀏覽器使用代理時(shí)的詳細(xì)通訊和認(rèn)證步驟如圖2所示:在該實(shí)例中使用代理前瀏覽器使用RSA+AES+SHA1算法,而代理后算法提升為國標(biāo)的SM1+SM2+SM3算法。而該實(shí)例的運(yùn)行環(huán)境由瀏覽器、SSL代理(中繼)以及SSL服務(wù)器構(gòu)成,其中瀏覽器可以是Internet Explorer或Firefox等;SSL代理(中繼)為進(jìn)行HTTPS代理的控件或客戶端;SSL服務(wù)器支持SSL的WEB服務(wù)器或SSL網(wǎng)關(guān)。在此環(huán)境中,使用代理時(shí)的步驟分為兩部分:模擬握手流程和真實(shí)握手流程。模擬握手流程在整個(gè)過程的前期,并在瀏覽器與SSL代理之間完成,具體步驟如下(參見圖2):1、瀏覽器發(fā)起SSL握手請(qǐng)求,發(fā)送ClientHello包,聲明自身支持的算法組合(如國際通用算法 RSA+AES+MD5 和 RSA+AES+SHA1)。2、SSL代理捕獲到了此ClientHello包,模擬SSL服務(wù)器向?yàn)g覽器返回ServerHello,選擇匹配的算法如 RSA+AES+SHA1。3、SSL代理向?yàn)g覽器回應(yīng)ServerKeyExchange,根據(jù)密鑰交換算法(RSA),發(fā)送密鑰交換參數(shù)(如公鑰)。4、SSL代理向?yàn)g覽器回應(yīng)ServerCertificate,此時(shí)為了避免瀏覽器的站點(diǎn)證書檢測(cè)警告,需要根據(jù)瀏覽器的實(shí)際請(qǐng)求域名和身份驗(yàn)證算法(如RSA)實(shí)時(shí)簽發(fā)一張CN項(xiàng)為實(shí)際請(qǐng)求域名(如WWW.test, com)的站點(diǎn)證書,并返回給瀏覽器。5、SSL代理向?yàn)g覽器回應(yīng)ServerHelloDone,注意,因?yàn)槭悄M握手,這時(shí)候不需要回應(yīng)ClientVerifyRequest,不需要瀏覽器提交證書。6、瀏覽器發(fā)送ClientKeyExchange。根據(jù)模擬握手選擇的密鑰交換算法(RSA),發(fā)送密鑰交換參數(shù)(如進(jìn)行數(shù)字信封的pre_master_key)。7、瀏覽器發(fā)送 ChangeCipherSpec 和 Finish。
8、SSL代理向?yàn)g覽器回應(yīng)發(fā)送ChangeCipherSpec和Finish,與瀏覽器的模擬握手結(jié)束。此后開始進(jìn)行SSL代理與SSL服務(wù)器之間的真實(shí)握手流程,具體步驟如下:A、SSL代理向SSL服務(wù)器發(fā)送實(shí)際握手的ClientHello,聲明自身支持的高強(qiáng)度算法,如 SM1+SM2+SM3。B、SSL服務(wù)器向SSL代理回應(yīng)ServerHello,選擇匹配的算法如SM1+SM2+SM3。C、SSL服務(wù)器向SSL代理回應(yīng)ServerKeyExchange,根據(jù)密鑰交換算法(SM2-E⑶H),發(fā)送密鑰交換參數(shù)。D、SSL服務(wù)器向SSL代理回應(yīng)ServerCertificate,此時(shí)使用SSL服務(wù)器的實(shí)際站點(diǎn)證書,根據(jù)身份驗(yàn)證算法(SM2-E⑶SA)發(fā)送對(duì)應(yīng)的服務(wù)器證書。E、在雙向驗(yàn)證場(chǎng)景下,SSL服務(wù)器向SSL代理回應(yīng)ClientVerifyRequest和ServerHelloDone,要求對(duì)方提交客戶端證書及簽名。F、SSL 代理發(fā)送 ClientCertificate。G、SSL代理發(fā)送ClientKeyExchange。根據(jù)實(shí)際握手選擇的密鑰交換算法(SM2-E⑶H),發(fā)送密鑰交換參數(shù)。H、SSL代理發(fā)送ClientCertificateVerify。根據(jù)實(shí)際握手選擇的身份驗(yàn)證算法(SM2-ECDSA),進(jìn)行數(shù)字簽名。1、SSL 代理發(fā)送 ChangeCipherSpec 和 Finish。J、SSL服務(wù)器向SSL代理回應(yīng)ChangeCipherSpec和Finish,實(shí)際握手結(jié)束,在此之后將進(jìn)行數(shù)據(jù)交換操作。在上述流程開始時(shí),進(jìn)行HTTPS數(shù)據(jù)包的攔截,在本發(fā)明中可有兩種方案實(shí)現(xiàn):一種是自動(dòng)修改瀏覽器的代理配置,將HTTPS代理設(shè)置為SSL代理監(jiān)聽的本地端口 (如 127.0.0.1:9988);另一種是通過LSP (Winsock Layered Service Provider),在 socket connect 調(diào)用時(shí)將目標(biāo)地址改為SSL代理監(jiān)聽的本地端口。再者,上述流程中需實(shí)時(shí)簽發(fā)模擬站點(diǎn)證書。由于瀏覽器進(jìn)行HTTPS訪問時(shí),會(huì)檢查服務(wù)端站點(diǎn)證書的CN(CommonName)項(xiàng)是否和正在訪問的域名對(duì)應(yīng),將會(huì)進(jìn)行警告(如圖3所示)。為了避免這類警告影響用戶訪問,SSL代理返回的模擬站點(diǎn)證書必須進(jìn)行動(dòng)態(tài)構(gòu)造——也即根據(jù)瀏覽器實(shí)際訪問的域名實(shí)時(shí)簽發(fā)一張對(duì)應(yīng)CN項(xiàng)的站點(diǎn)證書。以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1.一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,其特征在于,所述代理方法包括如下步驟: (1)截獲瀏覽器發(fā)起的SSL數(shù)據(jù)包; (2)模擬遠(yuǎn)端的SSL服務(wù)器與瀏覽器完成低強(qiáng)度SSL握手; (3)采用更高強(qiáng)度的算法與遠(yuǎn)端的SSL服務(wù)器完成正式的認(rèn)證和握手。
2.根據(jù)權(quán)利要求1所述的一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,其特征在于,所述步驟(I)中截獲SSL數(shù)據(jù)包的方式是自動(dòng)修改瀏覽器的代理配置,將HTTPS代理設(shè)置為SSL代理監(jiān)聽的本地端口。
3.根據(jù)權(quán)利要求1所述的一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,其特征在于,所述步驟(I)中截獲SSL數(shù)據(jù)包的方式是通過LSP在socket connect調(diào)用時(shí)將目標(biāo)地址改為SSL代理監(jiān)聽的本地端口。
4.根據(jù)權(quán)利要求1所述的一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,其特征在于,所述步驟(2)中在模擬SSL服務(wù)器與瀏覽器之間SSL握手時(shí),需要實(shí)時(shí)簽發(fā)模擬站點(diǎn)證書。
全文摘要
本發(fā)明公開了一種增強(qiáng)瀏覽器SSL算法強(qiáng)度的代理方法,屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,該方法步驟包括1、截獲瀏覽器發(fā)起的SSL數(shù)據(jù)包;2、模擬遠(yuǎn)端的SSL服務(wù)器與瀏覽器完成低強(qiáng)度SSL握手;3、采用更高強(qiáng)度的算法與遠(yuǎn)端的SSL服務(wù)器完成正式的認(rèn)證和握手。利用本發(fā)明可以有效地?cái)U(kuò)充現(xiàn)有瀏覽器的算法支持,尤其是對(duì)國標(biāo)加密算法的支持;同時(shí)實(shí)現(xiàn)對(duì)用戶完全透明,用戶無需改變使用習(xí)慣。
文檔編號(hào)H04L9/08GK103188074SQ201110447868
公開日2013年7月3日 申請(qǐng)日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者掌曉愚, 楊茂江, 譚武征, 應(yīng)哲峰, 陳海雷 申請(qǐng)人:上海格爾軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
清徐县| 甘孜县| 甘谷县| 锡林郭勒盟| 大连市| 东乡| 衡山县| 育儿| 东乡县| 沅陵县| 泰宁县| 西乌珠穆沁旗| 连平县| 乌兰察布市| 阿瓦提县| 沁阳市| 宜兰市| 龙游县| 曲沃县| 汉川市| 临夏县| 建宁县| 阆中市| 安泽县| 休宁县| 威海市| 阳山县| 资源县| 瑞丽市| 晋州市| 镇赉县| 鄢陵县| 罗山县| 濮阳县| 鲜城| 江华| 彰化县| 温宿县| 宜兰市| 上饶市| 安溪县|