專利名稱:一種安全數(shù)據(jù)中轉(zhuǎn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動即時通信領(lǐng)域,尤其涉及一種通過第三方節(jié)點安全中轉(zhuǎn)數(shù)據(jù)的方法及系統(tǒng)。
背景技術(shù):
即時通訊工具現(xiàn)在已經(jīng)非常普及,除了滿足用戶普通文字、圖片的交流,語音、圖像的交流也日益普及。視頻電話是即時通訊工具的發(fā)展方向。但是復(fù)雜的網(wǎng)絡(luò)環(huán)境是任何網(wǎng)絡(luò)通訊軟件都必須面對和克服的。由于網(wǎng)際網(wǎng)協(xié)議(Internet Protocol, IP)地址的匱乏,NAT技術(shù)應(yīng)用日益廣泛。很多私網(wǎng)用戶都位于網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT)的后面,通過路由器連接到互聯(lián)網(wǎng)上,這類用戶之間不能夠直連通訊。此時必須借助 NAT 的 UDP 簡單穿越(Simple Traversal of User Datagram Protocol through Network AddressTranslators, STUN)或者 TURN (Traversal Using Relay NAT)技術(shù)來建立通路。在使用第三方節(jié)點在中轉(zhuǎn)數(shù)據(jù)的時候,通信的雙方需要對數(shù)據(jù)來源做確認(rèn),防止收到來自偽造客戶端的數(shù)據(jù)包;同時,中轉(zhuǎn)節(jié)點也需要確認(rèn)正在中轉(zhuǎn)服務(wù)的兩個節(jié)點是否為合法的節(jié)點,以免對中轉(zhuǎn)節(jié)點資源的浪費?,F(xiàn)有技術(shù)中轉(zhuǎn)節(jié)點確認(rèn)數(shù)據(jù)源是否合法的方法有以下兩種方法一、使用IP和端口來判斷,根據(jù)數(shù)據(jù)包的IP地址和端口號(Port)來判斷數(shù)據(jù)包是否為業(yè)務(wù)雙方的節(jié)點發(fā)送的數(shù)據(jù)包。一旦發(fā)現(xiàn)數(shù)據(jù)包的地址或者端口不對,便認(rèn)為該數(shù)據(jù)包是非法包,不再中轉(zhuǎn)出去。如果該地址和端口是完全一致的,則可以認(rèn)為該數(shù)據(jù)包是合法的數(shù)據(jù)。該方法的缺點是,如果數(shù)據(jù)發(fā)送方的地址或者端口經(jīng)常發(fā)生變化,中轉(zhuǎn)節(jié)點不能夠識別節(jié)點的有效性,從而導(dǎo)致拒絕來自合法用戶的數(shù)據(jù)。方法二、使用除了 IP地址和Port之外的某一項值作為判斷是否合法數(shù)據(jù)的標(biāo)準(zhǔn)。 例如數(shù)據(jù)包中攜帶數(shù)據(jù)源的ID號,中轉(zhuǎn)節(jié)點收到數(shù)據(jù)包的時候,若判斷匹配數(shù)據(jù)包中的ID 和申請服務(wù)的節(jié)點不是同一個ID,便認(rèn)為該數(shù)據(jù)是一個非法數(shù)據(jù),拒絕轉(zhuǎn)發(fā)。若一致,則認(rèn)為是一個合法的數(shù)據(jù)包,并作轉(zhuǎn)發(fā)操作。該方法的缺點是,如果這個固定值被第四方獲得, 第四方發(fā)送的數(shù)據(jù)就被中轉(zhuǎn)節(jié)點認(rèn)為是合法的,并進(jìn)行轉(zhuǎn)發(fā),容易產(chǎn)生安全隱患。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種安全數(shù)據(jù)中轉(zhuǎn)方法及系統(tǒng),用于解決在通過第三方節(jié)點中轉(zhuǎn)數(shù)據(jù)時的數(shù)據(jù)來源的認(rèn)證和數(shù)據(jù)安全的技術(shù)問題。為達(dá)到上述目的,基于本發(fā)明的一方面,提出一種安全數(shù)據(jù)中轉(zhuǎn)方法,包括業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名后將業(yè)務(wù)數(shù)據(jù)和數(shù)字簽名字段打包發(fā)送給中轉(zhuǎn)節(jié)點;中轉(zhuǎn)節(jié)點對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過,則再次對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名生成新的數(shù)字簽名字段,并將業(yè)務(wù)數(shù)據(jù)和新的數(shù)字簽名字段打包發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;
4
業(yè)務(wù)數(shù)據(jù)接收節(jié)點對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過則接受所述業(yè)務(wù)數(shù)據(jù)包,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包。進(jìn)一步地,由簽名服務(wù)器為所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收節(jié)點提供用于對所述業(yè)務(wù)數(shù)據(jù)包進(jìn)行數(shù)字簽名的隨機明文或密鑰。進(jìn)一步地,所述隨機明文或密鑰具有時效性,在所述隨機明文或密鑰過期時,或在對所述業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證未通過時,所述中轉(zhuǎn)節(jié)點或所述業(yè)務(wù)數(shù)據(jù)接收節(jié)點向簽名服務(wù)器請求獲取新的隨機明文或密鑰。進(jìn)一步地,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和所述中轉(zhuǎn)節(jié)點使用一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)的數(shù)字簽名字段;所述中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用另一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)數(shù)字簽名字段。進(jìn)一步地,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用約定的哈希算法生成業(yè)務(wù)數(shù)據(jù)的摘要,并使用所獲得的隨機明文或密鑰對所述摘要進(jìn)行簽名后生成所述業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段及本地數(shù)字簽名字段;或業(yè)務(wù)數(shù)據(jù)的發(fā)送方直接使用所獲得的隨機明文或密鑰對自身的唯一標(biāo)識或IP地址進(jìn)行數(shù)字簽名后生成所述數(shù)字簽名字段,業(yè)務(wù)數(shù)據(jù)的接收方從業(yè)務(wù)數(shù)據(jù)包中提取業(yè)務(wù)數(shù)據(jù)發(fā)送方的唯一標(biāo)識或IP地址后使用本地所獲得的隨機明文或密鑰對其進(jìn)行數(shù)字簽名后生成本地數(shù)字簽名字段;業(yè)務(wù)數(shù)據(jù)的接收方將業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段與本地生成的數(shù)字簽名字段進(jìn)行比對,進(jìn)行所述數(shù)字簽名字段的認(rèn)證?;诒景l(fā)明的另一方面,提出一種安全數(shù)據(jù)中轉(zhuǎn)系統(tǒng),包括業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點,用于對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名將業(yè)務(wù)數(shù)據(jù)和數(shù)字簽名字段打包發(fā)送給中轉(zhuǎn)節(jié)點;中轉(zhuǎn)節(jié)點,用于對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過,則再次對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名生成新的數(shù)字簽名字段,并將業(yè)務(wù)數(shù)據(jù)和新的數(shù)字簽名字段打包發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;業(yè)務(wù)數(shù)據(jù)接收節(jié)點,用于對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證, 若認(rèn)證通過則接受所述業(yè)務(wù)數(shù)據(jù)包,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;簽名服務(wù)器,用于為業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點產(chǎn)生和提供用于對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的隨機明文或密鑰。進(jìn)一步地,所述由簽名服務(wù)器為所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收節(jié)點產(chǎn)生的用于對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的隨機明文或密鑰具有時效性;在所述隨機明文或密鑰過期時,或在對所述業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名進(jìn)行認(rèn)證未通過時,所述中轉(zhuǎn)節(jié)點或所述業(yè)務(wù)數(shù)據(jù)接收節(jié)點向簽名服務(wù)器請求獲取新的隨機明文或密鑰。進(jìn)一步地,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和所述中轉(zhuǎn)節(jié)點使用一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)的數(shù)字簽名字段;所述中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用另一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)數(shù)字簽名字段。進(jìn)一步地,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用約定的哈希算法生成業(yè)務(wù)數(shù)據(jù)的摘要,并使用所獲得的隨機明文或密鑰對所述摘要進(jìn)行簽名后生成所述業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段及本地數(shù)字簽名字段;或業(yè)務(wù)數(shù)據(jù)的發(fā)送方直接使用所獲得的隨機明文或密鑰對自身的唯一標(biāo)識或IP地址進(jìn)行數(shù)字簽名后生成所述數(shù)字簽名字段,業(yè)務(wù)數(shù)據(jù)的接收方從業(yè)務(wù)數(shù)據(jù)包中提取業(yè)務(wù)數(shù)據(jù)發(fā)送方的唯一標(biāo)識或IP地址后使用本地所獲得的隨機明文或密鑰對其進(jìn)行數(shù)字簽名后生成本地數(shù)字簽名字段;業(yè)務(wù)數(shù)據(jù)的接收方將業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段與本地生成的數(shù)字簽名字段進(jìn)行比對,進(jìn)行所述數(shù)字簽名字段的認(rèn)證。進(jìn)一步地,所述用于對所述業(yè)務(wù)數(shù)據(jù)包進(jìn)行數(shù)字簽名的密鑰采用非對稱加密算法產(chǎn)生。本發(fā)明通過對數(shù)據(jù)源做簽名認(rèn)證,在保證第三方節(jié)點中轉(zhuǎn)數(shù)據(jù)邏輯的簡單性同時,避免了中轉(zhuǎn)節(jié)點被非法用戶攻擊或者利用;提高了數(shù)據(jù)的安全性和可靠性。作為數(shù)據(jù)的接收方,也對中轉(zhuǎn)節(jié)點發(fā)出的數(shù)據(jù)做認(rèn)證,從而保證了整個中轉(zhuǎn)鏈路上的數(shù)據(jù)都是可信的。 克服因為業(yè)務(wù)方IP或者Port變化導(dǎo)致的認(rèn)證失敗,停止中轉(zhuǎn)數(shù)據(jù),同時保護(hù)了第三方中轉(zhuǎn)節(jié)點不會被惡意用戶攻擊。
圖1為本發(fā)明提供的安全數(shù)據(jù)中轉(zhuǎn)系統(tǒng)的組成結(jié)構(gòu)示意圖;圖2為本發(fā)明中轉(zhuǎn)節(jié)點轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)的程序執(zhí)行流程圖。
具體實施例方式本發(fā)明的基本思想是通過簽名服務(wù)器向業(yè)務(wù)數(shù)據(jù)發(fā)送方、業(yè)務(wù)數(shù)據(jù)中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收方分發(fā)帶時效性的數(shù)字簽名,數(shù)據(jù)的發(fā)送方對數(shù)據(jù)包進(jìn)行數(shù)字簽名,接收數(shù)據(jù)的一方通過數(shù)字簽名來認(rèn)證數(shù)據(jù)包的發(fā)送方是否合法。業(yè)務(wù)數(shù)據(jù)的中轉(zhuǎn)節(jié)點通過數(shù)字簽名認(rèn)證業(yè)務(wù)數(shù)據(jù)的發(fā)送方,若認(rèn)證未通過則拒絕中轉(zhuǎn)業(yè)務(wù)數(shù)據(jù);業(yè)務(wù)數(shù)據(jù)的接收方通過數(shù)字簽名認(rèn)證業(yè)務(wù)數(shù)據(jù)的中轉(zhuǎn)節(jié)點,若認(rèn)證未通過,則拒絕接收中轉(zhuǎn)節(jié)點中轉(zhuǎn)的業(yè)務(wù)數(shù)據(jù)。本發(fā)明通過數(shù)據(jù)簽名技術(shù)增強了中轉(zhuǎn)數(shù)據(jù)的安全性,保證中轉(zhuǎn)節(jié)點只中轉(zhuǎn)合法的數(shù)據(jù),數(shù)據(jù)接收方只接收合法的數(shù)據(jù)。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。圖1為本發(fā)明安全數(shù)據(jù)中轉(zhuǎn)系統(tǒng)的組成結(jié)構(gòu)示意圖,該系統(tǒng)包括業(yè)務(wù)節(jié)點、中轉(zhuǎn)節(jié)點和簽名服務(wù)器,如圖1所示,業(yè)務(wù)節(jié)點A和業(yè)務(wù)節(jié)點B之間通過中轉(zhuǎn)節(jié)點轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù),簽名服務(wù)器用于為業(yè)務(wù)節(jié)點和中轉(zhuǎn)節(jié)點提供數(shù)字簽名服務(wù),在本發(fā)明另一具體實施例中用于數(shù)字簽名的隨機明文或密鑰具有時效性。圖2為本發(fā)明中轉(zhuǎn)節(jié)點轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)的程序執(zhí)行流程圖,以下基于圖1的系統(tǒng)結(jié)構(gòu)以業(yè)務(wù)節(jié)點A向業(yè)務(wù)節(jié)點B發(fā)送業(yè)務(wù)數(shù)據(jù)為例詳細(xì)描述業(yè)務(wù)數(shù)據(jù)的中轉(zhuǎn)過程,具體步驟如下步驟201 簽名服務(wù)器為業(yè)務(wù)節(jié)點和中轉(zhuǎn)節(jié)點下發(fā)用于對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的隨機明文或密鑰;業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點使用獲得的隨機明文或密鑰對待發(fā)送的業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名,生成數(shù)字簽名字段,將業(yè)務(wù)數(shù)據(jù)及數(shù)字簽名字段打包發(fā)送給中轉(zhuǎn)節(jié)點;本發(fā)明中的簽名服務(wù)器負(fù)責(zé)產(chǎn)生并維護(hù)中轉(zhuǎn)三方對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名所使用的隨機明文或密鑰。業(yè)務(wù)開始以后,中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點依據(jù)與簽名服務(wù)器約定的協(xié)議或算法從簽名服務(wù)器獲取所述隨機明文或密鑰,其中業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和中轉(zhuǎn)節(jié)點獲取一組相同的隨機明文或密鑰,中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點之間也從簽名服務(wù)器獲取另外一組相同的隨機明文或密鑰,假設(shè)業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和中轉(zhuǎn)節(jié)點獲得的一組隨機明文或密鑰為Si,中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點獲得的一組隨機明文或密鑰為S2,則在中轉(zhuǎn)節(jié)點會同時擁有兩組隨機明文或密鑰,Sl用于對業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點的數(shù)據(jù)包進(jìn)行認(rèn)證,S2用于對轉(zhuǎn)發(fā)的業(yè)務(wù)數(shù)據(jù)進(jìn)行再次數(shù)字簽名,本發(fā)明不對密鑰Si、S2具體的形式和所采用的生成算法進(jìn)行限制。步驟202 中轉(zhuǎn)節(jié)點接收到業(yè)務(wù)數(shù)據(jù)包后,取出數(shù)據(jù)包中的數(shù)字簽名字段;步驟203 判斷數(shù)字簽名是否過期,若過期則執(zhí)行步驟204,否則執(zhí)行步驟205 ;優(yōu)選地,簽名服務(wù)器上產(chǎn)生的用于數(shù)字簽名的隨機明文或密鑰具有時效性,目的是提高數(shù)據(jù)安全性、增加破解或攻擊的難度,本發(fā)明不限制使所述隨機明文或密鑰具有時效性所采用的算法及協(xié)議。步驟204 更新本地用于數(shù)字簽名的隨機明文或密鑰,然后執(zhí)行步驟205 ;當(dāng)業(yè)務(wù)節(jié)點或中轉(zhuǎn)節(jié)點發(fā)現(xiàn)用于數(shù)字簽名的隨機明文或密鑰過期時,可通過與簽名服務(wù)器約定的更新協(xié)議更新本地的隨機明文或密鑰,業(yè)務(wù)數(shù)據(jù)的接收方也可在認(rèn)證數(shù)字簽名發(fā)現(xiàn)不一致時,被動向簽名服務(wù)器請求獲取新的隨機明文或密鑰。一種簡單的方法可以是業(yè)務(wù)節(jié)點或中轉(zhuǎn)節(jié)點在隨機明文或密鑰過期時主動向簽名服務(wù)器請求新的隨機明文或密鑰,由簽名服務(wù)器保證業(yè)務(wù)數(shù)據(jù)的發(fā)送節(jié)點與業(yè)務(wù)數(shù)據(jù)的接收節(jié)點之間的隨機明文或密鑰的同步。若采用非時效性的隨機明文或密鑰,則可省略數(shù)字簽名過期及隨機明文或密鑰的更新過程。步驟205 中轉(zhuǎn)節(jié)點從業(yè)務(wù)數(shù)據(jù)包提取出發(fā)送端生成的數(shù)字簽名字段,并使用本地的隨機明文或密鑰依據(jù)與發(fā)送端相同的算法生成新的數(shù)字簽名字段;步驟206 判斷本地產(chǎn)生的數(shù)字簽名字段與接收到的業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段是否一致,若一致則執(zhí)行步驟207 ;否則執(zhí)行步驟208 ;步驟207 中轉(zhuǎn)節(jié)點中轉(zhuǎn)該經(jīng)過認(rèn)證的數(shù)據(jù)包到業(yè)務(wù)數(shù)據(jù)的接收節(jié)點;中轉(zhuǎn)節(jié)點使用另外一組隨機明文或密鑰對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名,生成新的數(shù)字簽名字段,將業(yè)務(wù)數(shù)據(jù)和該數(shù)字簽名字段打包發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點。業(yè)務(wù)數(shù)據(jù)接收節(jié)點對中轉(zhuǎn)節(jié)點轉(zhuǎn)發(fā)過來的數(shù)據(jù)進(jìn)行認(rèn)證的過程類似于中轉(zhuǎn)節(jié)點的處理過程,此處不再贅述。步驟208 中轉(zhuǎn)節(jié)點丟棄該未通過認(rèn)證的數(shù)據(jù)包。以下以非對稱加密算法為例來說明對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名及業(yè)務(wù)數(shù)據(jù)的中轉(zhuǎn)過程簽名服務(wù)器為業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和中轉(zhuǎn)節(jié)點生成一對公鑰和私鑰(P1、Si),為中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點生成另一對公鑰和私鑰(P2、S2),業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點首先使用約定的HASH算法對發(fā)送的數(shù)據(jù)產(chǎn)生1 為的數(shù)字摘要,然后使用私鑰Sl對數(shù)字摘要進(jìn)行數(shù)字簽名,將業(yè)務(wù)數(shù)據(jù)和加密后的摘要打包發(fā)送給中轉(zhuǎn)節(jié)點,中轉(zhuǎn)節(jié)點使用公鑰Pl對接收的加密后的摘要進(jìn)行解密,同時中轉(zhuǎn)節(jié)點使用與發(fā)送方相同的HASH算法生成業(yè)務(wù)數(shù)據(jù)的摘要,然后將解密后的摘要與本地新生成的摘要進(jìn)行比對,如果一致則可驗證數(shù)據(jù)包是由發(fā)送方發(fā)出的,并在傳輸過程中信息沒有被破壞或篡改過,否則說明數(shù)據(jù)包在傳輸過程中被破壞或被篡改過,或數(shù)據(jù)包不是由正確的發(fā)送方發(fā)送的。若中轉(zhuǎn)節(jié)點對業(yè)務(wù)數(shù)據(jù)包進(jìn)行驗證未通過則丟棄該數(shù)據(jù)包,若通過則重新使用約定的HASH算法對待轉(zhuǎn)發(fā)的業(yè)務(wù)數(shù)據(jù)生成1 為的數(shù)字摘要,然后使用私鑰S2對數(shù)字摘要進(jìn)行數(shù)字簽名,將數(shù)據(jù)包和加密后的摘要重新打包后發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點,業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用公鑰P2對接收的加密的摘要進(jìn)行解密,同時業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用相同的HASH算法生成業(yè)務(wù)數(shù)據(jù)的摘要,然后將解密后的摘要與本地新生成的摘要進(jìn)行比對,如果一致則可驗證數(shù)據(jù)包是由正確的中轉(zhuǎn)節(jié)點發(fā)送過來的,并在傳輸過程中信息沒有被破壞或篡改過,否則說明數(shù)據(jù)包在傳輸過程中被破壞或被篡改過,或數(shù)據(jù)包不是由正確的中轉(zhuǎn)節(jié)點發(fā)送的。本發(fā)明不限對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的方法,例如在對安全性要求不高的場景中,可以業(yè)務(wù)數(shù)據(jù)發(fā)送方的唯一標(biāo)識或IP地址進(jìn)行數(shù)字簽名,在業(yè)務(wù)數(shù)據(jù)的接收方只需要從包頭中提取出發(fā)送方的標(biāo)識或IP地址即可生成新的本地數(shù)字簽名,提高了處理效率。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種安全數(shù)據(jù)中轉(zhuǎn)方法,其特征在于,包括業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名后將業(yè)務(wù)數(shù)據(jù)和數(shù)字簽名字段打包發(fā)送給中轉(zhuǎn)節(jié)點;中轉(zhuǎn)節(jié)點對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過,則再次對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名生成新的數(shù)字簽名字段,并將業(yè)務(wù)數(shù)據(jù)和新的數(shù)字簽名字段打包發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;業(yè)務(wù)數(shù)據(jù)接收節(jié)點對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過則接受所述業(yè)務(wù)數(shù)據(jù)包,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,由簽名服務(wù)器為所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、 中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收節(jié)點提供用于對所述業(yè)務(wù)數(shù)據(jù)包進(jìn)行數(shù)字簽名的隨機明文或密鑰。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隨機明文或密鑰具有時效性,在所述隨機明文或密鑰過期時,或在對所述業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證未通過時, 所述中轉(zhuǎn)節(jié)點或所述業(yè)務(wù)數(shù)據(jù)接收節(jié)點向簽名服務(wù)器請求獲取新的隨機明文或密鑰。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和所述中轉(zhuǎn)節(jié)點使用一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)的數(shù)字簽名字段;所述中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用另一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)數(shù)字簽名字段。
5.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用約定的哈希算法生成業(yè)務(wù)數(shù)據(jù)的摘要,并使用所獲得的隨機明文或密鑰對所述摘要進(jìn)行簽名后生成所述業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段及本地數(shù)字簽名字段;或業(yè)務(wù)數(shù)據(jù)的發(fā)送方直接使用所獲得的隨機明文或密鑰對自身的唯一標(biāo)識或IP 地址進(jìn)行數(shù)字簽名后生成所述數(shù)字簽名字段,業(yè)務(wù)數(shù)據(jù)的接收方從業(yè)務(wù)數(shù)據(jù)包中提取業(yè)務(wù)數(shù)據(jù)發(fā)送方的唯一標(biāo)識或IP地址后使用本地所獲得的隨機明文或密鑰對其進(jìn)行數(shù)字簽名后生成本地數(shù)字簽名字段;業(yè)務(wù)數(shù)據(jù)的接收方將業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段與本地生成的數(shù)字簽名字段進(jìn)行比對,進(jìn)行所述數(shù)字簽名字段的認(rèn)證。
6.一種安全數(shù)據(jù)中轉(zhuǎn)系統(tǒng),其特征在于,包括業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點,用于對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名將業(yè)務(wù)數(shù)據(jù)和數(shù)字簽名字段打包發(fā)送給中轉(zhuǎn)節(jié)點;中轉(zhuǎn)節(jié)點,用于對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過,則再次對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名生成新的數(shù)字簽名字段,并將業(yè)務(wù)數(shù)據(jù)和新的數(shù)字簽名字段打包發(fā)送給業(yè)務(wù)數(shù)據(jù)接收節(jié)點,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;業(yè)務(wù)數(shù)據(jù)接收節(jié)點,用于對接收到的業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名字段進(jìn)行認(rèn)證,若認(rèn)證通過則接受所述業(yè)務(wù)數(shù)據(jù)包,否則丟棄所述業(yè)務(wù)數(shù)據(jù)包;簽名服務(wù)器,用于為業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點產(chǎn)生和提供用于對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的隨機明文或密鑰。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述由簽名服務(wù)器為所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收節(jié)點產(chǎn)生的用于對所述業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名的隨機明文或密鑰具有時效性;在所述隨機明文或密鑰過期時,或在對所述業(yè)務(wù)數(shù)據(jù)包攜帶的數(shù)字簽名進(jìn)行認(rèn)證未通過時,所述中轉(zhuǎn)節(jié)點或所述業(yè)務(wù)數(shù)據(jù)接收節(jié)點向簽名服務(wù)器請求獲取新的隨機明文或密鑰。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點和所述中轉(zhuǎn)節(jié)點使用一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)的數(shù)字簽名字段;所述中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用另一組相同的隨機明文或密鑰生成業(yè)務(wù)數(shù)據(jù)數(shù)字簽名字段。
9.根據(jù)權(quán)利要求6、7或8所述的系統(tǒng),其特征在于,所述業(yè)務(wù)數(shù)據(jù)發(fā)送節(jié)點、中轉(zhuǎn)節(jié)點和業(yè)務(wù)數(shù)據(jù)接收節(jié)點使用約定的哈希算法生成業(yè)務(wù)數(shù)據(jù)的摘要,并使用所獲得的隨機明文或密鑰對所述摘要進(jìn)行簽名后生成所述業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段及本地數(shù)字簽名字段;或業(yè)務(wù)數(shù)據(jù)的發(fā)送方直接使用所獲得的隨機明文或密鑰對自身的唯一標(biāo)識或IP 地址進(jìn)行數(shù)字簽名后生成所述數(shù)字簽名字段,業(yè)務(wù)數(shù)據(jù)的接收方從業(yè)務(wù)數(shù)據(jù)包中提取業(yè)務(wù)數(shù)據(jù)發(fā)送方的唯一標(biāo)識或IP地址后使用本地所獲得的隨機明文或密鑰對其進(jìn)行數(shù)字簽名后生成本地數(shù)字簽名字段;業(yè)務(wù)數(shù)據(jù)的接收方將業(yè)務(wù)數(shù)據(jù)包中攜帶的數(shù)字簽名字段與本地生成的數(shù)字簽名字段進(jìn)行比對,進(jìn)行所述數(shù)字簽名字段的認(rèn)證。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述用于對所述業(yè)務(wù)數(shù)據(jù)包進(jìn)行數(shù)字簽名的密鑰采用非對稱加密算法產(chǎn)生。
全文摘要
本發(fā)明公開了一種安全數(shù)據(jù)中轉(zhuǎn)方法及系統(tǒng),用于解決在通過第三方節(jié)點中轉(zhuǎn)數(shù)據(jù)時的數(shù)據(jù)來源的認(rèn)證和數(shù)據(jù)安全的技術(shù)問題。本發(fā)明通過簽名服務(wù)器向業(yè)務(wù)數(shù)據(jù)發(fā)送方、業(yè)務(wù)數(shù)據(jù)中轉(zhuǎn)節(jié)點、業(yè)務(wù)數(shù)據(jù)接收方分發(fā)帶時效性的數(shù)字簽名,數(shù)據(jù)的發(fā)送方對業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)字簽名,接收數(shù)據(jù)的一方通過數(shù)字簽名來認(rèn)證業(yè)務(wù)數(shù)據(jù)的發(fā)送方是否合法及數(shù)據(jù)是否被篡改。本發(fā)明通過數(shù)據(jù)簽名技術(shù)增強了中轉(zhuǎn)數(shù)據(jù)的安全性,保證中轉(zhuǎn)節(jié)點只中轉(zhuǎn)合法的數(shù)據(jù),數(shù)據(jù)接收方只接收合法的數(shù)據(jù)。
文檔編號H04W12/02GK102196423SQ20101012679
公開日2011年9月21日 申請日期2010年3月4日 優(yōu)先權(quán)日2010年3月4日
發(fā)明者陳謙 申請人:騰訊科技(深圳)有限公司