專利名稱:保證數(shù)據(jù)交換安全的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種保證數(shù)據(jù)交換安全的方法,該方法是針對(duì)數(shù)據(jù)交換平臺(tái)中的數(shù)據(jù)交換系統(tǒng)制定的。
背景技術(shù):
電子政務(wù)數(shù)據(jù)交換平臺(tái)為不同的系統(tǒng)、不同的數(shù)據(jù)源之間實(shí)現(xiàn)數(shù)據(jù)交換提供了支持,數(shù)據(jù)交換平臺(tái)中的數(shù)據(jù)交換系統(tǒng)主要完成具體的數(shù)據(jù)交換流程的控制,它可以使每個(gè)合法用戶將其所要傳輸?shù)臄?shù)據(jù)包安全可靠地傳輸?shù)街付ǖ牡胤?,解決數(shù)據(jù)的上傳下達(dá)、綜合利用等問題。然而,在數(shù)據(jù)交換系統(tǒng)完成數(shù)據(jù)交換的過程中存在以下安全問題1、身份冒認(rèn)問題非法用戶盜用數(shù)據(jù)交換平臺(tái)中合法用戶的身份向其它用戶或應(yīng)用系統(tǒng)發(fā)送公文、數(shù)據(jù)或命令,訪問其原本無權(quán)訪問的資源或竊取信息。
2、數(shù)據(jù)篡改問題數(shù)據(jù)交換平臺(tái)使用數(shù)據(jù)報(bào)文進(jìn)行數(shù)據(jù)交換時(shí),攻擊者可能通過對(duì)報(bào)文的截獲和修改對(duì)交換的數(shù)據(jù)進(jìn)行篡改。
3、責(zé)任抵賴問題數(shù)據(jù)交換平臺(tái)的信息傳遞需要雙方確認(rèn),交互是具有不可抵賴性的,而,在實(shí)際傳輸過程中,經(jīng)常出現(xiàn)某一方否認(rèn)發(fā)送過某一信息。
此外,由于電子政務(wù)數(shù)據(jù)交換平臺(tái)的特殊性,它還有兩個(gè)關(guān)鍵的特殊需求1、通信雙方身份的合法性認(rèn)證問題認(rèn)證通信雙方的合法性身份,使得它們能夠確信數(shù)據(jù)將被發(fā)送到正確的目的地。
2、用戶對(duì)于目標(biāo)應(yīng)用系統(tǒng)的訪問控制問題即確定哪些用戶有權(quán)利訪問目標(biāo)應(yīng)用系統(tǒng)。
為了保證數(shù)據(jù)交換系統(tǒng)中交換的數(shù)據(jù)信息在存取、處理和傳輸各個(gè)環(huán)節(jié)中的機(jī)密性、完整性和不可否認(rèn)性,防止數(shù)據(jù)信息的泄露和篡改,目前,國內(nèi)許多大公司在其開發(fā)研制的電子政務(wù)數(shù)據(jù)交換平臺(tái)中均應(yīng)用了各自提出的保證數(shù)據(jù)交換安全的機(jī)制。例如易達(dá)訊網(wǎng)絡(luò)科技有限公司開發(fā)的致力于為政府、企業(yè)的信息化建設(shè)提供全面集成服務(wù)的網(wǎng)上一站式服務(wù)信息系統(tǒng)eStar3(基于互聯(lián)網(wǎng)業(yè)務(wù)流程共享的應(yīng)用集成系列產(chǎn)品的總稱),通過采用存儲(chǔ)管理服務(wù)體系保護(hù)數(shù)據(jù)在網(wǎng)絡(luò)或系統(tǒng)發(fā)生問題時(shí)的安全與不丟失;通過對(duì)SSL、PKI、ACL和數(shù)字簽名技術(shù)的支持,保證信息在各種網(wǎng)絡(luò)上安全的傳輸,同時(shí)保證信息的完整性與一致性。但是,在安全認(rèn)證方面,該系統(tǒng)并未提供有效支持。
東方通科技有限公司開發(fā)的中間件產(chǎn)品TongLINK/Q,是基于消息隊(duì)列(Message Queuing)的消息中間件,其主要功能是在應(yīng)用程序之間提供可靠的消息傳送,這些消息可以在不同的網(wǎng)絡(luò)協(xié)議、不同的計(jì)算機(jī)系統(tǒng)和不同的應(yīng)用軟件之間傳遞。TongLINK/Q提供了從底層到應(yīng)用層的多級(jí)別安全機(jī)制,包括節(jié)點(diǎn)間的安全認(rèn)證(CA)、應(yīng)用程序的安全認(rèn)證、通信數(shù)據(jù)的加密等。在該系統(tǒng)中,未實(shí)現(xiàn)節(jié)點(diǎn)間的訪問控制功能,不能有效適應(yīng)電子政務(wù)的安全需求。
深圳黎明網(wǎng)絡(luò)公司則針對(duì)我國政府電子公文交換的具體需求,開發(fā)以XML信息交換技術(shù)為核心的iSwitch信息交換機(jī),推出了iSwitch電子公文交換中心處理系統(tǒng)。iSwitch電子公文交換中心處理系統(tǒng)是整個(gè)電子公文交換系統(tǒng)的中心樞紐,它通過XML信息交換技術(shù)實(shí)現(xiàn)公文數(shù)據(jù)的可靠傳輸和交換。在該系統(tǒng)中,信息交換采用GapLink物理隔離器,確保在保持網(wǎng)間物理隔離的前提下,對(duì)指定的業(yè)務(wù)數(shù)據(jù)(包括數(shù)據(jù)庫數(shù)據(jù)和文件)進(jìn)行針對(duì)性的復(fù)制和交換。該系統(tǒng)主要依靠硬件實(shí)現(xiàn)安全,成本及靈活性較差。
發(fā)明內(nèi)容
針對(duì)數(shù)據(jù)交換系統(tǒng)在數(shù)據(jù)交換過程中遇到的安全問題,以及現(xiàn)有確保數(shù)據(jù)交換安全的機(jī)制存在的不足,本發(fā)明的目的是提供一種新型的保證數(shù)據(jù)交換安全的方法。
為實(shí)現(xiàn)上述方法,本發(fā)明采用以下技術(shù)方案一種保證數(shù)據(jù)交換安全的方法,該方法通過數(shù)據(jù)交換過程中交換節(jié)點(diǎn)間的三次握手機(jī)制使節(jié)點(diǎn)間建立連接,實(shí)現(xiàn)交換雙方身份的確認(rèn)和傳輸密鑰的協(xié)商,為雙方數(shù)據(jù)交換建立了可靠的連接,該方法包括以下步驟第一步,主體A生成一個(gè)隨機(jī)數(shù)Na,同時(shí)生成一個(gè)臨時(shí)對(duì)稱密鑰Kab,用Kab對(duì)Na和主體A的證書Ca進(jìn)行加密;然后用主體B的公鑰Kb對(duì)Kab進(jìn)行加密;將這兩項(xiàng)發(fā)送給主體B;第二步,主體B收到主體A發(fā)送過來的報(bào)文后,用其私鑰Kb解密其中的加密密鑰項(xiàng),得到臨時(shí)對(duì)稱密鑰Kab,然后用Kab解密其余的加密項(xiàng),得到主體A生成的隨機(jī)數(shù)Na和主體A的證書Ca,根據(jù)證書Ca提取主體A的身份信息,作為訪問控制的用戶信息;主體B生成一個(gè)隨機(jī)數(shù)Nb,同時(shí)生成一個(gè)對(duì)稱密鑰Kba,用Kba對(duì)Na、Nb和主體B的證書Cb進(jìn)行加密;然后用主體A的公鑰Ka對(duì)Kba進(jìn)行加密;將這兩項(xiàng)發(fā)送給主體A;
第三步,主體A在收到第二步主體B所發(fā)送的報(bào)文后,先用其私鑰Ka解密其中的加密密鑰項(xiàng),得到對(duì)稱密鑰Kba,用Kba解密其余的加密項(xiàng),得到A生成的隨機(jī)數(shù)Na、主體B生成的隨機(jī)數(shù)Nb和主體B的證書Cb,根據(jù)Na確認(rèn)主體B已經(jīng)參與到協(xié)議中,并驗(yàn)證主體B的證書Cb防止重放攻擊。然后取出隨機(jī)數(shù)Nb,用Kba加密,將加密后的報(bào)文發(fā)給主體B;主體B接收到該報(bào)文后,用對(duì)稱密鑰Kba解密加密項(xiàng),得到隨機(jī)數(shù)Nb,以確認(rèn)主體A的身份。
本發(fā)明公開的所述保證數(shù)據(jù)交換安全的方法還包括采用基于角色的訪問控制機(jī)制對(duì)用戶是否具有訪問應(yīng)用系統(tǒng)的權(quán)限進(jìn)行訪問控制,具體步驟如下A、首先獲取用戶的身份信息,該信息從對(duì)用戶的身份認(rèn)證處理結(jié)果中獲?。籅、根據(jù)用戶的身份信息獲取用戶角色信息,角色信息是系統(tǒng)定義的具有特定訪問權(quán)限的用戶組;C、判斷角色信息是否為空?如果沒有用戶角色信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果用戶角色信息不是空的,則往下執(zhí)行;D、獲取用戶所訪問的系統(tǒng)資源信息,該信息從用戶的請(qǐng)求消息中獲取,是用戶訪問的對(duì)象;E、判斷獲取的所訪問的系統(tǒng)資源信息是否為空?如果沒有獲取所訪問的資源信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果獲取的系統(tǒng)資源信息不是空的,則往下執(zhí)行;F、獲取用戶角色信息及所需訪問的資源信息,讀取訪問控制配置文件,該文件由系統(tǒng)維護(hù),保存了系統(tǒng)定義的角色及其允許訪問的資源信息;G、判斷是否成功讀取了配置文件中的配置信息?如果沒有正確讀取配置信息,無法獲取系統(tǒng)對(duì)角色權(quán)限的定義,則處理失敗,返回拒絕訪問信息,退出流程;如果正確地讀取了配置信息,則往下執(zhí)行;H、根據(jù)用戶角色信息及所需訪問資源的信息從訪問控制配置中匹配相應(yīng)的配置項(xiàng);I、判斷匹配是否成功?如果匹配成功,則表明系統(tǒng)允許該角色訪問相應(yīng)的資源,返回接受請(qǐng)求信息,退出流程;如果沒有匹配到相應(yīng)的配置項(xiàng),則表明系統(tǒng)不允許該角色訪問相應(yīng)的資源,處理失敗,返回拒絕訪問信息,退出流程。
本發(fā)明公開的所述保證數(shù)據(jù)交換安全的方法還包括對(duì)傳輸?shù)膽?yīng)用數(shù)據(jù)的完整性的控制,具體方法是A、使用連接建立過程協(xié)商得到的傳輸密鑰對(duì)傳輸數(shù)據(jù)加密;B、發(fā)送方計(jì)算應(yīng)用數(shù)據(jù)摘要值,該摘要值通過采用哈希算法計(jì)算,填入數(shù)據(jù)報(bào)文中發(fā)送給接收方;C、接收方接收數(shù)據(jù)完畢后,重新計(jì)算數(shù)據(jù)摘要值,進(jìn)行摘要值驗(yàn)證;摘要值驗(yàn)證通過,則接受該數(shù)據(jù),否則認(rèn)為該數(shù)據(jù)已被篡改,丟棄該數(shù)據(jù)。
本發(fā)明提出的保證數(shù)據(jù)交換安全傳輸?shù)姆椒ㄍㄟ^交換節(jié)點(diǎn)間的三次握手機(jī)制使節(jié)點(diǎn)間建立連接,實(shí)現(xiàn)交換雙方身份的確認(rèn)和傳輸密鑰的協(xié)商,為雙方數(shù)據(jù)交換建立了可靠的連接;使用全局統(tǒng)一的傳輸標(biāo)識(shí)符和隨機(jī)數(shù)防止惡意的重放攻擊,通過交換隨機(jī)數(shù)和傳輸密鑰來確認(rèn)雙方交互身份;使用基于角色的訪問控制系統(tǒng)進(jìn)行訪問控制,實(shí)現(xiàn)用戶對(duì)應(yīng)用系統(tǒng)訪問的合法性;通過對(duì)數(shù)據(jù)交換過程中攜帶的數(shù)據(jù)摘要值的比較,保證數(shù)據(jù)的完整性;采用全局唯一的傳輸密鑰來進(jìn)行數(shù)據(jù)交換,避免過多的密鑰協(xié)商過程,實(shí)現(xiàn)了數(shù)據(jù)交換的機(jī)密性,同時(shí)也保障了數(shù)據(jù)傳輸?shù)男省?br>
圖1為本發(fā)明數(shù)據(jù)交換節(jié)點(diǎn)間完成交互雙方身份認(rèn)證和傳輸密鑰協(xié)商的流程2為典型的中間人攻擊過程3為本發(fā)明基于角色的訪問控制系統(tǒng)結(jié)構(gòu)4為本發(fā)明基于角色的訪問控制處理流程5為本發(fā)明在電子政務(wù)數(shù)據(jù)交換平臺(tái)中的具體實(shí)施例圖具體實(shí)施方式
為了解決數(shù)據(jù)交換過程中遇到的安全問題,本發(fā)明提出了一種新型的保證數(shù)據(jù)交換安全的方法。該方法包括建立連接、訪問控制和應(yīng)用數(shù)據(jù)傳輸三部分內(nèi)容;建立連接主要完成交互雙方身份認(rèn)證和傳輸密鑰協(xié)商;訪問控制主要管理用戶對(duì)應(yīng)用系統(tǒng)的訪問;應(yīng)用數(shù)據(jù)傳輸主要完成應(yīng)用數(shù)據(jù)的可靠傳輸,保證數(shù)據(jù)的完整性。
下面分別從建立連接、訪問控制和應(yīng)用數(shù)據(jù)傳輸三個(gè)方面說明本發(fā)明是如何確保數(shù)據(jù)交換安全的。
一、建立連接數(shù)據(jù)交換過程中交換雙方通過三次握手建立彼此間的可靠連接。下面我們用一種形式化的語言來描述三次握手的流程。該形式化描述中需要用到一些常用符號(hào),如下表所示符號(hào)含義A,B參與主體的名稱,一般地,A表示發(fā)起者,B表示響應(yīng)者Nx主體X生產(chǎn)的隨機(jī)數(shù)(Nonce)Kx,Kx主體X的公開密鑰和私人密鑰Kxy主體X生成的與Y共享的對(duì)稱密鑰{m}k用密鑰K對(duì)消息m進(jìn)行加密得到的新消息Cx主體X的證書(i)A→Bm 在協(xié)議的消息序列中的第i步,主體A向B發(fā)送消息m假設(shè)在數(shù)據(jù)交換過程中涉及A、B兩個(gè)主體,主體A為發(fā)起者,主體B為響應(yīng)者,它們?cè)跀?shù)據(jù)交換中首先要建立連接,要對(duì)雙方的身份進(jìn)行合法性確認(rèn)和傳輸密鑰的協(xié)商,以確保數(shù)據(jù)交換的安全性。如圖1所示,具體步驟如下第一步,主體A生成一個(gè)隨機(jī)數(shù)Na,同時(shí)生成一個(gè)臨時(shí)對(duì)稱密鑰Kab,用Kab對(duì)Na和主體A的證書Ca進(jìn)行加密;然后用主體B的公鑰Kb對(duì)Kab進(jìn)行加密;將這兩項(xiàng)發(fā)送給B;第二步,主體B收到主體A發(fā)送過來的報(bào)文后,用其私鑰Kb解密其中的加密密鑰項(xiàng),得到臨時(shí)對(duì)稱密鑰Kab,然后用Kab解密其余的加密項(xiàng),得到主體A生成的隨機(jī)數(shù)Na和主體A的證書Ca,根據(jù)證書Ca提取主體A的身份信息,作為訪問控制的用戶信息。主體B生成一個(gè)隨機(jī)數(shù)Nb,同時(shí)生成一個(gè)對(duì)稱密鑰Kba,用Kba對(duì)Na、Nb和主體B的證書Cb進(jìn)行加密;然后用主體A的公鑰Ka對(duì)Kba進(jìn)行加密;將這兩項(xiàng)發(fā)送給主體A;第三步,主體A在收到第二步主體B所發(fā)送的報(bào)文后,先用其私鑰Ka解密其中的加密密鑰項(xiàng),得到對(duì)稱密鑰Kba,用Kba解密其余的加密項(xiàng),得到主體A生成的隨機(jī)數(shù)Na、主體B生成的隨機(jī)數(shù)Nb和主體B的證書Cb,根據(jù)Na確認(rèn)主體B已經(jīng)參與到協(xié)議中,并驗(yàn)證主體B的證書Cb防止重放攻擊。然后取出隨機(jī)數(shù)Nb,用Kba加密,將加密后的報(bào)文發(fā)給主體B。主體B接收到該報(bào)文后,用對(duì)稱密鑰Kba解密加密項(xiàng),得到隨機(jī)數(shù)Nb,以確認(rèn)主體A的身份。
在建立連接的過程中,主體B生成的隨機(jī)數(shù)用于防御中間人攻擊。中間人攻擊發(fā)生在兩個(gè)通信主體之間,即主體間的通信過程及通信數(shù)據(jù)遭到第三方的監(jiān)視、截取和控制,攻擊者可以對(duì)數(shù)據(jù)交換進(jìn)行重定向。如果缺少主體B生成的隨機(jī)數(shù),將會(huì)出現(xiàn)如圖2所示的典型的中間人攻擊。
在該攻擊過程中,主體C為攻擊者,攻擊主體A與主體B之間的通信。原是主體A發(fā)送給主體B的信息,主體C可以將對(duì)稱密鑰替換后重定向到主體B,如第二步中所描述的,而主體B則完全相信該信息是來自于主體A的。在電子政務(wù)系統(tǒng)行政命令下達(dá)的應(yīng)用中,這是一種嚴(yán)重的攻擊類型。我們所設(shè)計(jì)的三次握手使用主體B生成的隨機(jī)數(shù)有效地防御了此類中間人攻擊在主體B發(fā)送給主體A的確認(rèn)報(bào)文中添加主體B生成的隨機(jī)數(shù),并需要主體A對(duì)該隨機(jī)數(shù)的確認(rèn),才能完成整個(gè)流程。第三方無法獲取A的私鑰對(duì)主體B的響應(yīng)報(bào)文進(jìn)行解密,故無法竊取隨機(jī)數(shù)信息,防止了第三方對(duì)主體A身份的冒認(rèn)。
二、訪問控制數(shù)據(jù)交換平臺(tái)采用基于角色的訪問控制(簡稱RBAC,Role Based AccessControl)系統(tǒng)對(duì)數(shù)據(jù)傳輸?shù)恼?qǐng)求及應(yīng)用系統(tǒng)的訪問請(qǐng)求進(jìn)行過濾,主要解決平臺(tái)中用戶身份、角色、資源及操作類型四者之間的關(guān)系。如圖3所示,RBAC系統(tǒng)包括訪問控制管理部分、用戶管理部分和角色管理部分。
訪問控制管理部分是RBAC系統(tǒng)的總控部分,實(shí)現(xiàn)訪問控制的主要流程;用戶管理部分主要負(fù)責(zé)管理用戶身份信息,實(shí)現(xiàn)用戶身份到角色的映射;角色管理部分主要負(fù)責(zé)定義角色與資源、操作類型之間的對(duì)應(yīng)關(guān)系。
用戶身份經(jīng)過認(rèn)證之后,訪問控制管理系統(tǒng)獲取認(rèn)證后用戶身份信息,綜合以下三方面內(nèi)容對(duì)認(rèn)證后的用戶進(jìn)行訪問控制用戶角色信息、用戶所請(qǐng)求的資源(平臺(tái)中的應(yīng)用系統(tǒng))、預(yù)先配置的訪問控制策略(角色與資源、操作類型的關(guān)系)。
用戶角色信息可以根據(jù)認(rèn)證后用戶身份信息調(diào)用用戶管理獲得,訪問控制管理部分結(jié)合用戶角色及其所請(qǐng)求的資源信息,調(diào)用角色管理,查詢已配置的訪問控制策略中是否存在相應(yīng)的配置項(xiàng),根據(jù)查詢結(jié)果對(duì)用戶操作請(qǐng)求進(jìn)行授權(quán)及訪問管理。
訪問控制處理在完成用戶身份認(rèn)證之后進(jìn)行,其目標(biāo)是根據(jù)用戶角色信息及其所訪問的資源信息判斷該用戶對(duì)系統(tǒng)訪問的合法性。具體的訪問控制流程如圖4所示,處理流程如下1、首先獲取用戶的身份信息,該信息從對(duì)用戶的身份認(rèn)證處理結(jié)果中獲??;2、根據(jù)用戶的身份信息獲取用戶角色信息,角色信息是系統(tǒng)定義的具有特定訪問權(quán)限的用戶組;3、判斷角色信息是否為空?如果沒有用戶角色信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果用戶角色信息不是空的,則往下執(zhí)行;4、獲取用戶所訪問的系統(tǒng)資源信息,該信息從用戶的請(qǐng)求消息中獲取,是用戶訪問的對(duì)象;5、判斷獲取的所訪問的系統(tǒng)資源信息是否為空?如果沒有獲取所訪問的資源信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果獲取的系統(tǒng)資源信息不是空的,則往下執(zhí)行;6、獲取用戶角色信息及所需訪問的資源信息,讀取訪問控制配置文件,該文件由系統(tǒng)維護(hù),保存了系統(tǒng)定義的角色及其允許訪問的資源信息;7、判斷是否成功讀取了配置文件中的配置信息?如果沒有正確讀取配置信息,無法獲取系統(tǒng)對(duì)角色權(quán)限的定義,則處理失敗,返回拒絕訪問信息,退出流程;如果正確地讀取了配置信息,則往下執(zhí)行;8、根據(jù)用戶角色信息及所需訪問資源的信息從訪問控制配置中匹配相應(yīng)的配置項(xiàng);9、判斷匹配是否成功?如果匹配成功,則表明系統(tǒng)允許該角色訪問相應(yīng)的資源,返回接受請(qǐng)求信息,退出流程;如果沒有匹配到相應(yīng)的配置項(xiàng),則表明系統(tǒng)不允許該角色訪問相應(yīng)的資源,處理失敗,返回拒絕訪問信息,退出流程。
三、對(duì)應(yīng)用數(shù)據(jù)傳輸?shù)目刂茟?yīng)用數(shù)據(jù)傳輸通過兩個(gè)方面的安全處理來保證傳輸?shù)目煽啃院蛿?shù)據(jù)的完整性。
1、使用連接建立過程協(xié)商得到的傳輸密鑰對(duì)傳輸數(shù)據(jù)加密;
2、計(jì)算應(yīng)用數(shù)據(jù)摘要值,該摘要值通過采用哈希算法計(jì)算,填入數(shù)據(jù)報(bào)文中發(fā)送給接收方;數(shù)據(jù)接收完畢后,接收方重新計(jì)算數(shù)據(jù)摘要值,進(jìn)行摘要值驗(yàn)證;摘要值驗(yàn)證通過,則接受該數(shù)據(jù),否則認(rèn)為該數(shù)據(jù)已被篡改,丟棄該數(shù)據(jù)。
本發(fā)明是以XML數(shù)據(jù)報(bào)文為信息載體的電子政務(wù)數(shù)據(jù)交換平臺(tái)的安全解決方案。下面以典型的電子政務(wù)數(shù)據(jù)交換應(yīng)用為例進(jìn)行說明,如圖5所示,在該應(yīng)用實(shí)例中,電子政務(wù)信息系統(tǒng)部署在數(shù)據(jù)交換平臺(tái)服務(wù)端,系統(tǒng)用戶通過數(shù)據(jù)交換平臺(tái)向信息系統(tǒng)請(qǐng)求應(yīng)用數(shù)據(jù)。所請(qǐng)求的數(shù)據(jù)涉及到政治機(jī)密,因此需要保證數(shù)據(jù)的機(jī)密性和完整性,使用安全傳輸。而信息系統(tǒng)和用戶則只需要關(guān)心所提供的數(shù)據(jù)和獲得的數(shù)據(jù),安全性由數(shù)據(jù)交換平臺(tái)的安全系統(tǒng)實(shí)現(xiàn),具體如下1)客戶端生成用于驗(yàn)證服務(wù)端身份的隨機(jī)數(shù)K1,連同用戶的證書信息一起用一個(gè)臨時(shí)的對(duì)稱密鑰Kt加密,再用服務(wù)端系統(tǒng)公鑰Ks對(duì)對(duì)稱密鑰Kt加密后將全部加密信息發(fā)送給服務(wù)端,從而保證只有對(duì)應(yīng)的服務(wù)端才能解開隨機(jī)數(shù)和證書信息。
2)服務(wù)端用私鑰解密獲取臨時(shí)對(duì)稱密鑰Kt,利用該密鑰解密獲取客戶端生成的隨機(jī)數(shù)K1和用戶證書Cc,從用戶證書Cc中抽取用戶身份信息進(jìn)行身份認(rèn)證和訪問控制處理,判斷用戶請(qǐng)求的合法性,從而保證只有合法權(quán)限的用戶才能請(qǐng)求相應(yīng)的數(shù)據(jù);合法性檢驗(yàn)后服務(wù)端生成一個(gè)新的隨機(jī)數(shù)K2及數(shù)據(jù)傳輸所使用的對(duì)稱加密密鑰Kd(傳輸密鑰),將新隨機(jī)數(shù)K2連同接收到的隨機(jī)數(shù)K1以及信息系統(tǒng)的證書Cs一起用傳輸密鑰Kd加密,再用客戶端系統(tǒng)公鑰Kc對(duì)傳輸密鑰加密后作為響應(yīng)發(fā)送給客戶端,保證只有對(duì)應(yīng)的客戶端能夠解開隨機(jī)數(shù)和證書信息。
3)客戶端解密出第一步生成的隨機(jī)數(shù)K1,進(jìn)行比較確認(rèn)服務(wù)端的身份,從而防止了服務(wù)端身份的冒認(rèn)攻擊。至此,雙方完成密鑰商量,共享了一個(gè)用于數(shù)據(jù)加密的傳輸密鑰Kd。客戶端將收到的隨機(jī)數(shù)K2用傳輸密鑰Kd加密后發(fā)送給服務(wù)端,服務(wù)端使用該隨機(jī)數(shù)確認(rèn)客戶端的身份,從而完成雙方的身份確認(rèn)過程,防止了傳輸過程中可能出現(xiàn)的中間人攻擊和重放攻擊。
4)服務(wù)端開始向客戶端發(fā)送應(yīng)用數(shù)據(jù)。使用共享的傳輸密鑰Kd對(duì)數(shù)據(jù)進(jìn)行加密,從而保證數(shù)據(jù)的機(jī)密性;對(duì)應(yīng)用數(shù)據(jù)計(jì)算摘要并發(fā)送給客戶端,客戶端重新對(duì)數(shù)據(jù)計(jì)算摘要,通過與接收到的摘要值進(jìn)行比較,保證數(shù)據(jù)的完整性。
本發(fā)明提出的保證數(shù)據(jù)交換安全的方法與其它的數(shù)據(jù)交換安全實(shí)現(xiàn)機(jī)制相比,具有以下特點(diǎn)1)、采用數(shù)據(jù)交換系統(tǒng)中節(jié)點(diǎn)間通過三次握手建立連接的設(shè)計(jì)方案,完成數(shù)據(jù)交換過程中雙方身份的確認(rèn)和傳輸密鑰的協(xié)商,提供可靠的安全連接過程。
2)、采用基于角色的訪問控制(RBAC)策略控制用戶對(duì)應(yīng)用系統(tǒng)的訪問,提供完整的角色和用戶身份控制,保證應(yīng)用系統(tǒng)訪問的安全性。
3)、通過數(shù)據(jù)摘要值的比對(duì)保證數(shù)據(jù)的完整性,數(shù)據(jù)交換雙方各自計(jì)算數(shù)據(jù)的摘要值,并進(jìn)行比較,確定所交換數(shù)據(jù)的完整性。
4)、對(duì)應(yīng)用數(shù)據(jù)采用交換雙方協(xié)商通過的傳輸密鑰進(jìn)行加密,該密鑰種類為對(duì)稱密鑰,在提高系統(tǒng)安全性的同時(shí),保證了數(shù)據(jù)交換的效率。
權(quán)利要求
1.一種保證數(shù)據(jù)交換安全的方法,該方法通過數(shù)據(jù)交換過程中交換節(jié)點(diǎn)間的三次握手機(jī)制使節(jié)點(diǎn)間建立連接,實(shí)現(xiàn)交換雙方身份的確認(rèn)和傳輸密鑰的協(xié)商,為雙方數(shù)據(jù)交換建立了可靠的連接,該方法包括以下步驟第一步,主體A生成一個(gè)隨機(jī)數(shù)Na,同時(shí)生成一個(gè)臨時(shí)對(duì)稱密鑰Kab,用Kab對(duì)Na和主體A的證書Ca進(jìn)行加密;然后用主體B的公鑰Kb對(duì)Kab進(jìn)行加密;將這兩項(xiàng)發(fā)送給主體B;第二步,主體B收到主體A發(fā)送過來的報(bào)文后,用其私鑰Kb′解密其中的加密密鑰項(xiàng),得到臨時(shí)對(duì)稱密鑰Kab,然后用Kab解密其余的加密項(xiàng),得到主體A生成的隨機(jī)數(shù)Na和主體A的證書Ca,根據(jù)證書Ca提取主體A的身份信息,作為訪問控制的用戶信息;主體B生成一個(gè)隨機(jī)數(shù)Nb,同時(shí)生成一個(gè)對(duì)稱密鑰Kba,用Kba對(duì)Na、Nb和主體B的證書Cb進(jìn)行加密;然后用主體A的公鑰Ka對(duì)Kba進(jìn)行加密;將這兩項(xiàng)發(fā)送給主體A;第三步,主體A在收到第二步主體B所發(fā)送的報(bào)文后,先用其私鑰Ka′解密其中的加密密鑰項(xiàng),得到對(duì)稱密鑰Kba,用Kba解密其余的加密項(xiàng),得到A生成的隨機(jī)數(shù)Na、主體B生成的隨機(jī)數(shù)Nb和主體B的證書Cb,根據(jù)Na確認(rèn)主體B已經(jīng)參與到協(xié)議中,并驗(yàn)證主體B的證書Cb防止重放攻擊;然后取出隨機(jī)數(shù)Nb,用Kba加密,將加密后的報(bào)文發(fā)給主體B;主體B接收到該報(bào)文后,用對(duì)稱密鑰Kba解密加密項(xiàng),得到隨機(jī)數(shù)Nb,以確認(rèn)主體A的身份。
2.根據(jù)權(quán)利要求1所述的保證數(shù)據(jù)交換安全的方法,其特征在于所述保證數(shù)據(jù)交換安全的方法還包括采用基于角色的訪問控制機(jī)制對(duì)用戶是否具有訪問應(yīng)用系統(tǒng)的權(quán)限進(jìn)行訪問控制,具體步驟如下A、首先獲取用戶的身份信息,該信息從對(duì)用戶的身份認(rèn)證處理結(jié)果中獲??;B、根據(jù)用戶的身份信息獲取用戶角色信息,角色信息是系統(tǒng)定義的具有特定訪問權(quán)限的用戶組;C、判斷角色信息是否為空?如果沒有用戶角色信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果用戶角色信息不是空的,則往下執(zhí)行;D、獲取用戶所訪問的系統(tǒng)資源信息,該信息從用戶的請(qǐng)求消息中獲取,是用戶訪問的對(duì)象;E、判斷獲取的所訪問的系統(tǒng)資源信息是否為空?如果沒有獲取所訪問的資源信息,無法進(jìn)行訪問控制,處理失敗,返回拒絕訪問信息,退出流程;如果獲取的系統(tǒng)資源信息不是空的,則往下執(zhí)行;F、獲取用戶角色信息及所需訪問的資源信息,讀取訪問控制配置文件,該文件由系統(tǒng)維護(hù),保存了系統(tǒng)定義的角色及其允許訪問的資源信息;G、判斷是否成功讀取了配置文件中的配置信息?如果沒有正確讀取配置信息,無法獲取系統(tǒng)對(duì)角色權(quán)限的定義,則處理失敗,返回拒絕訪問信息,退出流程;如果正確地讀取了配置信息,則往下執(zhí)行;H、根據(jù)用戶角色信息及所需訪問資源的信息從訪問控制配置中匹配相應(yīng)的配置項(xiàng);I、判斷匹配是否成功?如果匹配成功,則表明系統(tǒng)允許該角色訪問相應(yīng)的資源,返回接受請(qǐng)求信息,退出流程;如果沒有匹配到相應(yīng)的配置項(xiàng),則表明系統(tǒng)不允許該角色訪問相應(yīng)的資源,處理失敗,返回拒絕訪問信息,退出流程。
3.根據(jù)權(quán)利要求1或2所述的保證數(shù)據(jù)交換安全的方法,其特征在于該方法還包括對(duì)傳輸?shù)膽?yīng)用數(shù)據(jù)的完整性的控制,具體方法是A、使用連接建立過程協(xié)商得到的傳輸密鑰對(duì)傳輸數(shù)據(jù)加密;B、發(fā)送方計(jì)算應(yīng)用數(shù)據(jù)摘要值,該摘要值通過采用哈希算法計(jì)算,填入數(shù)據(jù)報(bào)文中發(fā)送給接收方;C、接收方接收數(shù)據(jù)完畢后,重新計(jì)算數(shù)據(jù)摘要值,進(jìn)行摘要值驗(yàn)證;摘要值驗(yàn)證通過,則接受該數(shù)據(jù),否則認(rèn)為該數(shù)據(jù)已被篡改,丟棄該數(shù)據(jù)。
全文摘要
本發(fā)明公開了保證數(shù)據(jù)交換安全傳輸?shù)姆椒ǎ摲椒ㄍㄟ^數(shù)據(jù)交換節(jié)點(diǎn)間的三次握手機(jī)制使節(jié)點(diǎn)間建立連接,實(shí)現(xiàn)交換雙方身份的確認(rèn)和傳輸密鑰的協(xié)商,為雙方數(shù)據(jù)交換建立了可靠的連接;使用全局統(tǒng)一的傳輸標(biāo)識(shí)符和隨機(jī)數(shù)防止惡意的重放攻擊,通過交換隨機(jī)數(shù)和傳輸密鑰來確認(rèn)雙方交互身份;使用RBAC策略進(jìn)行訪問控制,實(shí)現(xiàn)用戶對(duì)應(yīng)用系統(tǒng)訪問的合法性;通過對(duì)數(shù)據(jù)交換過程中攜帶的數(shù)據(jù)摘要值的比較,保證數(shù)據(jù)的完整性;采用全局唯一的傳輸密鑰來進(jìn)行數(shù)據(jù)交換,避免過多的密鑰協(xié)商過程,實(shí)現(xiàn)了數(shù)據(jù)交換的機(jī)密性,同時(shí)也保障了數(shù)據(jù)傳輸?shù)男省?br>
文檔編號(hào)H04L9/32GK1905436SQ20051008725
公開日2007年1月31日 申請(qǐng)日期2005年7月28日 優(yōu)先權(quán)日2005年7月28日
發(fā)明者林學(xué)練, 黃子乘, 賀靜, 李翔, 劉哲, 何文 申請(qǐng)人:北京航空航天大學(xué)