專利名稱:一種ssl中間代理用戶證書的隧道傳輸方法
技術(shù)領域:
本發(fā)明涉及一種互聯(lián)網(wǎng)安全通信的身份認證方法。
背景技術(shù):
由于國內(nèi)上網(wǎng)軟件受到美國出口限制,加密強度(即安全強度)無法達到商業(yè)用途,所以國內(nèi)采用比較多的就是SSL中間代理的做法,SSL中間代理就是接收用戶的是上網(wǎng)請求,然后通過安全強度高的安全通道在互聯(lián)網(wǎng)上獲得網(wǎng)絡信息(即數(shù)據(jù))。
安全套接層協(xié)議(SSL),是在互聯(lián)網(wǎng)基礎上提供的一種保證網(wǎng)絡上傳輸?shù)臄?shù)據(jù)不被竊取的安全協(xié)議。它能使計算機之間的通信不被攻擊者竊聽,并且始終對信息的提供者(例如網(wǎng)站)進行真實性認證,還可選擇對信息的獲得者(例如上網(wǎng)用戶)進行真實身份認證。
SSL協(xié)議對計算機之間通過安全通道傳輸?shù)乃芯W(wǎng)絡數(shù)據(jù)都進行加密,從而不被網(wǎng)絡上的竊聽者獲得數(shù)據(jù)內(nèi)容。
SSL中間代理的作用,就是給計算機之間的通信提供一個安全強度高的安全通道。SSL中間代理可以是一套獨立的軟件,可以與用戶的上網(wǎng)工具(例如瀏覽器)或網(wǎng)絡信息提供者(例如網(wǎng)站)共存在一臺計算機上;如果單獨安裝在一臺計算機上,則也可以看作一臺計算機。SSL中間代理在運行過程中由于其中間代理的身份,它既是網(wǎng)絡信息提供者的代理,也是網(wǎng)絡信息獲得者的代理。
信息獲得者代理不是最終的信息獲得者,而是代理最終信息獲得者,從信息提供者處獲得網(wǎng)絡信息,然后作為信息提供者的代理,把這些網(wǎng)絡信息提供給最終的信息獲得者。使用SSL安全機制是,在某些網(wǎng)絡服務中,網(wǎng)絡信息提供者與信息獲得者之間需要相互向?qū)Ψ阶C實自己真實性。而在SSL安全機制中,認證對方真實身份的手段就是驗證對方的數(shù)字證書。
數(shù)字證書就是互聯(lián)網(wǎng)通信中標志通信各方身份信息的一系列數(shù)據(jù),提供了一種在互聯(lián)網(wǎng)上驗證身份的方式,其作用類似于司機的駕駛執(zhí)照或日常生活中的身份證。它是由一個權(quán)威機構(gòu)又稱為證書授權(quán)中心發(fā)行的,人們可以在網(wǎng)上用它來識別對方的身份。上網(wǎng)用戶、SSL中間代理、網(wǎng)站在運作中,都需要向證書授權(quán)中心申請各自的數(shù)字證書。一般證書授權(quán)中心在頒發(fā)數(shù)字證書時會同時發(fā)一個對應密碼,用來驗證數(shù)字證書,稱這個對應的密碼為數(shù)字證書的對應私鑰。
在當前的SSL中間代理的實現(xiàn)中,上網(wǎng)的用戶獲得網(wǎng)絡信息提供者提供的網(wǎng)絡信息必須經(jīng)過兩段認證。第一段是在SSL中間代理與瀏覽器間安全通道1內(nèi)進行的認證,第二段是在SSL中間代理與網(wǎng)站間安全通道3內(nèi)進行的認證。圖1給出了現(xiàn)有瀏覽器、SSL中間代理、網(wǎng)站間的中間代理認證及信息流程圖。圖中安全通道1是安全強度低的安全通道,在安全網(wǎng)絡范圍內(nèi)連接。在實施訪問的過程中,需要首先建立該安全通道。它的建立需要一次認證SSL中間代理在該安全通道的建立中,是作為網(wǎng)絡信息提供者的代理被認證的。SSL中間代理自身擁有一個證書,以分別提供給瀏覽器和網(wǎng)站驗證SSL中間代理的身份。首先SSL中間代理把自己的數(shù)字證書出示給瀏覽器進行驗證,瀏覽器在確認后,把上網(wǎng)用戶的數(shù)字證書出示給SSL中間代理進行驗證,雙方驗證確認通過后建立安全通道1。圖中安全通道3是安全強度高的安全通道,在互聯(lián)網(wǎng)上連接,它的建立需要另一次認證,SSL中間代理在該安全通道的建立中,是作為網(wǎng)絡信息獲得者的代理被認證的。首先,網(wǎng)站把自己WEB服務器的數(shù)字證書出示給SSL中間代理進行驗證,SSL中間代理在確認后把自己的數(shù)字證書出示給網(wǎng)站進行驗證,雙方驗證確認通過后建立安全通道3。圖中通道2是在SSL中間代理內(nèi)部,僅僅起傳輸用戶上網(wǎng)請求與返回網(wǎng)絡信息的作用。從以上的流程中可以看出,在安全通道1的認證中,SSL中間代理(信息提供者代理)獲知的信息獲得者的真實身份是上網(wǎng)用戶,而在安全通道3的認證中,網(wǎng)站獲知的信息獲得者的真實身份是SSL中間代理(信息獲得者代理)。這樣就出現(xiàn)一個問題如果有多個上網(wǎng)用戶使用SSL中間代理獲得網(wǎng)站信息,而網(wǎng)站的信息提供方式是依據(jù)上網(wǎng)用戶的身份來確定是否提供給上網(wǎng)用戶所請求的網(wǎng)絡信息,那么,網(wǎng)站就不能通過SSL協(xié)議從網(wǎng)絡上獲得當前上網(wǎng)用戶的真實身份,因此也不能給上網(wǎng)用戶提供相應的網(wǎng)絡信息,在電子商務中也就不能給客戶提供相應的商業(yè)服務。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對目前SSL中間代理網(wǎng)絡傳輸中,網(wǎng)站與網(wǎng)絡信息獲得者間不能直接認證所存在的問題,本發(fā)明提供一種不需要對信息提供者(例如網(wǎng)站)程序及信息獲得者(如瀏覽器)程序作任何修改,在信息提供者與信息獲得者都感覺不到SSL中間代理存在情況下,把上網(wǎng)用戶的身份信息傳給信息提供者作進一步處理,從而有效地提高了通信安全的一種SSL中間代理用戶證書的隧道傳輸方法。
本發(fā)明是通過實施下述技術(shù)方案來實現(xiàn)的一種SSL中間代理用戶證書的隧道傳輸方法,包括在瀏覽器與SSL中間代理之間建立的安全通道內(nèi)進行身份認證,及在SSL中間代理與網(wǎng)站間建立的安全通道內(nèi)進行身份認證的方法,其特征在于還包括通過在SSL中間代理內(nèi)部建立傳輸用戶證書的通信隧道,把上網(wǎng)用戶身份透明給網(wǎng)站的方法。
其附加技術(shù)特征是所述在SSL中間代理內(nèi)部建立傳輸用戶證書的通信隧道,及把上網(wǎng)用戶身份透明給網(wǎng)站的方法,是指SSL中間代理將其從信息提供者代理處獲得的經(jīng)過認證的上網(wǎng)用戶的身份信息,通過SSL中間代理的數(shù)字證書,生成裝載上網(wǎng)用戶身份信息的臨時數(shù)字證書,并把此臨時數(shù)字證書鏈接在SSL中間代理數(shù)字證書后,在SSL中間代理的信息獲得者代理處與網(wǎng)站進行認證的通道;所述把上網(wǎng)用戶身份透明給網(wǎng)站的方法,是指通過該通道,網(wǎng)站在驗證確認SSL中間代理數(shù)字證書及其鏈接的臨時數(shù)字證書后,就可獲得臨時數(shù)字證書中裝載的上網(wǎng)用戶身份信息的方法。
本發(fā)明的優(yōu)點在于在不需要對信息提供者(如網(wǎng)站)程序及信息獲得者(如瀏覽器)程序作任何修改;不需要額外配置設備;不需要修改SSL中間代理機構(gòu)架的情況下,可以使上網(wǎng)用戶的身份信息透明的傳輸給網(wǎng)站,從而大大提高了網(wǎng)絡通信中信息使用的安全性,本方法還有與常規(guī)SSL中間代理使用兼容的突出優(yōu)點。
圖1為現(xiàn)有SSL中間代理認證及信息流程示意2為本發(fā)明用戶證書隧道在SSL中間代理中的位置示意3為本發(fā)明SSL中間代理用戶證書隧道實現(xiàn)流程圖。
圖中標記1為安全通道,2為SSL中間代理內(nèi)部傳輸用戶上網(wǎng)請求與返回網(wǎng)絡信息的通道;3為安全通道,4為證書隧道。在圖3中,數(shù)字證書的主題域是證書主體名稱,其中包含上網(wǎng)用戶所屬國家、所屬省份、所屬城市、所屬單位、用戶名,是唯一標識上網(wǎng)用戶名稱的數(shù)據(jù)集。臨時數(shù)字證書與向證書授權(quán)中心申請的數(shù)字證書格式一樣,但是它是由SSL中間代理在運行中臨時生成的作為上網(wǎng)用戶主題域信息載體的數(shù)字證書,并可以通過SSL中間代理的數(shù)字證書進行驗證。
具體實施例方式
根據(jù)上面的技術(shù)方案,下面給出一個基于WIN2000操作系統(tǒng)的實例。
在本例中,為了減少不必要的編程工作我們使用了開源的OpenSSL庫。OpenSSL庫為類似安全WEB站點這樣的應用提供加密功能,并且實現(xiàn)了所有版本的SSL協(xié)議。
①軟件設計由于當前許多SSL中間代理都是基于OpenSSL庫來實現(xiàn)的,因此在本設計中使用許多OpenSSL庫中的頭文件及數(shù)據(jù)結(jié)構(gòu)。
主要數(shù)據(jù)結(jié)構(gòu)1)傳遞信息提供者代理的當前運行信息的數(shù)據(jù)結(jié)構(gòu)該數(shù)據(jù)結(jié)構(gòu)包含傳遞信息提供者代理的當前運行信息。
2)傳遞存放SSL中間代理證書/私鑰對位置的數(shù)據(jù)結(jié)構(gòu)該數(shù)據(jù)結(jié)構(gòu)定義了兩個參數(shù),其一為SSL中間代理證書文件位置參數(shù);其二為SSL中間代理證書私鑰文件位置參數(shù)。以上兩個參數(shù)主要在需要用到SSL中間代理證書/私鑰時提供相應的存儲位置,以便程序獲取SSL中間代理證書/私鑰的信息。
主要功能函數(shù)實現(xiàn)的功能1)分配傳遞信息提供者代理的當前運行信息結(jié)構(gòu)。
2)設置傳遞信息提供者代理的當前運行信息結(jié)構(gòu)。
3)在網(wǎng)絡通信中實際獲取上網(wǎng)用戶數(shù)字證書中的主題域信息,并生成/處理/鏈接臨時證書。
用到的OpenSSL庫中的函數(shù)功能1)在SSL鏈接中傳遞信息數(shù)據(jù)。
2)在SSL鏈接中設置在網(wǎng)絡通信中需要調(diào)用的函數(shù)。
②程序例子(1)獲得信息提供者代理的當前運行信息過程1)傳遞SSL中間代理證書/私鑰假定SSL中間代理的證書以文件的形式存放在硬盤某一路徑下假定SSL中間代理的證書對應的私鑰以文件的形式加密(用OpenSSL庫中支持的算法加密)存放在同一路徑下將SSL中間代理證書存放的路徑賦值給SSL中間代理證書文件位置參數(shù),將SSL中間代理私鑰存放的路徑賦值給SSL中間代理私鑰文件位置參數(shù);2)傳遞信息提供者代理的當前運行信息假定SSL中間代理中的信息提供者代理與瀏覽器建立SSL連接;假定SSL中間代理中的信息獲得者代理創(chuàng)建準備與網(wǎng)站建立SSL連接;在SSL中間代理中的信息提供者代理與瀏覽器建立SSL連接后,進行如下處理初始化SSL中間代理中的信息獲得者代理與網(wǎng)站的SSL連接;設置SSL中間代理中的信息獲得者代理與網(wǎng)站服務器連接時的環(huán)境參數(shù);設置SSL中間代理中的信息獲得者代理“當前WEB服務器主機名、端口號”參數(shù);設置SSL中間代理中的信息獲得者代理進行證書驗證時的出錯處理;設置SSL中間代理中的信息獲得者代理與網(wǎng)站連接時WEB服務器端傳送來的證書環(huán)境變量;(2)在SSL中間代理中對數(shù)字證書的處理在處理過程中,把處理函數(shù)指針設置到SSL中間代理中的信息獲得者代理創(chuàng)建的準備與網(wǎng)站建立SSL連接的結(jié)構(gòu)中,當實際建立該連接的過程中調(diào)用該處理函數(shù)。
在SSL中間代理中的信息提供者代理與瀏覽器建立SSL連接,且傳遞信息提供者代理的當前運行信息后,進行如下處理1)從相關(guān)處理函數(shù)中獲得上網(wǎng)用戶的數(shù)字證書中的主題域信息。
2)獲得SSL中間代理的數(shù)字證書/私鑰。
3)生成臨時數(shù)字證書,裝載上網(wǎng)用戶的數(shù)字證書中的主題域信息。
4)把臨時數(shù)字證書及對應的私鑰返回到SSL連接建立過程中。
本發(fā)明適用于基于SSL的安全應用,特別適用于電子商務中的處于中間代理位置的SSL加密機。
權(quán)利要求
1.一種SSL中間代理用戶證書的隧道傳輸方法,包括在瀏覽器與SSL中間代理間建立的安全通道(1)內(nèi)進行身份認證,及在SSL中間代理與網(wǎng)站間建立的安全通道(3)內(nèi)進行身份認證的方法,其特征在于還包括通過在SSL中間代理內(nèi)部建立傳輸用戶證書的通信隧道(2),把上網(wǎng)用戶身份透明給網(wǎng)站的方法。
2.按照權(quán)利要求1所述的SSL中間代理用戶證書的隧道傳輸方法,其特征在于所述在SSL中間代理內(nèi)部建立傳輸用戶證書的通信隧道,及把上網(wǎng)用戶身份透明給網(wǎng)站的方法,是指SSL中間代理將其從信息提供者代理處獲得的經(jīng)過認證的上網(wǎng)用戶的身份信息,通過SSL中間代理的數(shù)字證書,生成裝載上網(wǎng)用戶身份信息的臨時數(shù)字證書,并把此臨時數(shù)字證書鏈接在SSL中間代理數(shù)字證書后,在SSL中間代理的信息獲得者代理處與網(wǎng)站進行認證的通道;所述把上網(wǎng)用戶身份透明給網(wǎng)站的方法,是指通過該通道,網(wǎng)站在驗證確認SSL中間代理數(shù)字認證及其鏈接的臨時數(shù)字證書后,可獲得臨時數(shù)字證書中裝載的上網(wǎng)用戶身份信息的方法。
全文摘要
本發(fā)明公開了一種SSL中間代理用戶證書的隧道傳輸方法,包括在瀏覽器與SSL中間代理間建立的安全通道中進行身份認證,及在SSL中間代理與網(wǎng)站間建立的安全通道中進行身份認證的方法,特征是還包括通過在SSL中間代理內(nèi)部建立傳輸用戶證書的通信隧道,把上網(wǎng)用戶身份透明給網(wǎng)站的方法;所述的通信隧道,是SSL中間代理將獲得經(jīng)認證的上網(wǎng)用戶身份信息,通過SSL中間代理數(shù)字證書,生成裝載上網(wǎng)用戶身份信息的臨時數(shù)字證書,把臨時數(shù)字證書鏈接在SSL中間代理數(shù)字證書后,在SSL中間代理的信息獲得者代理處與網(wǎng)站進行認證的通道;其優(yōu)點是在SSL中間代理與瀏覽器認證時,可以把經(jīng)過認證的上網(wǎng)用戶的身份信息,通過中間的用戶證書通信隧道透明給網(wǎng)站,從而大大提高了信息使用的安全性。
文檔編號H04L9/32GK1512378SQ0212812
公開日2004年7月14日 申請日期2002年12月30日 優(yōu)先權(quán)日2002年12月30日
發(fā)明者李紅, 李 紅 申請人:成都三零盛安信息系統(tǒng)有限公司