數(shù)據(jù)傳輸方法、服務(wù)器及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)傳輸方法、客戶端、應(yīng)用服務(wù)器和系統(tǒng),屬于通信領(lǐng)域。包括:客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器發(fā)送的根據(jù)用戶信息生成的客戶端證書,或者,客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的客戶端證書;根據(jù)客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;與應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸??蛻舳税ǎ航邮漳K、生成模塊和傳輸模塊,應(yīng)用服務(wù)器包括:配置模塊、生成模塊、獲取模塊和傳輸模塊。系統(tǒng)包括客戶端和應(yīng)用服務(wù)器。本發(fā)明可以減少開發(fā)成本,降低生成證書的復(fù)雜性。
【專利說(shuō)明】數(shù)據(jù)傳輸方法、服務(wù)器及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法、服務(wù)器及系統(tǒng)。
【背景技術(shù)】
[0002]開放平臺(tái)是軟件系統(tǒng)通過(guò)公開其API (Application Programming Interface,應(yīng)用程序編程接口)或函數(shù)來(lái)使外部的應(yīng)用程序可以增加該軟件系統(tǒng)的功能或使用該軟件系統(tǒng)的資源。開發(fā)者通過(guò)賬號(hào)登錄開放平臺(tái)即可進(jìn)行資料上傳、資源申請(qǐng)、業(yè)務(wù)接入、查看保密業(yè)務(wù)數(shù)據(jù)、狀態(tài)變更等操作。由于目前的開放平臺(tái)基于廣域互聯(lián)網(wǎng),因此,數(shù)據(jù)通過(guò)互聯(lián)網(wǎng)HTTP (HyperText Transfer Protocol,超文本傳輸協(xié)議)協(xié)議進(jìn)行傳輸。HTTP協(xié)議未采用加密措施,使得數(shù)據(jù)包在網(wǎng)絡(luò)上以明文形式傳送,入侵者可以在數(shù)據(jù)包經(jīng)過(guò)的網(wǎng)關(guān)或路由器上截獲傳送的數(shù)據(jù),并通過(guò)多次竊取和分析找到數(shù)據(jù)的規(guī)律和格式,得到傳輸數(shù)據(jù)的內(nèi)容,造成網(wǎng)上傳輸數(shù)據(jù)泄密,甚至進(jìn)一步利用獲取到的數(shù)據(jù)假冒賬戶、篡改數(shù)據(jù)、甚至惡意破壞系統(tǒng)等,使開放平臺(tái)存在嚴(yán)重的安全隱患。
[0003]現(xiàn)有技術(shù)中,可以通過(guò)CA (Certificate Authority,證書授權(quán))認(rèn)證系統(tǒng)頒發(fā)的數(shù)字證書對(duì)用戶和開發(fā)者管理系統(tǒng)進(jìn)行身份認(rèn)證,當(dāng)認(rèn)證通過(guò)時(shí)對(duì)待傳輸數(shù)據(jù)進(jìn)行數(shù)據(jù)加密和傳輸,以保證數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]當(dāng)用戶向CA中心申請(qǐng)數(shù)字證書時(shí),CA中心的CA認(rèn)證系統(tǒng)根據(jù)用戶證書的目的為用戶頒發(fā)證書,這個(gè)過(guò)程中CA中心需要收取一定的費(fèi)用,增加了開發(fā)成本;而且各級(jí)證書的生成均由CA中心操作,且CA中心與用戶的合作過(guò)程繁瑣,提高了生成證書的復(fù)雜性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸方法、服務(wù)器和系統(tǒng),以減少開發(fā)成本,降低生成證書的復(fù)雜性。所述技術(shù)方案如下:
[0007]—方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
[0008]客戶端向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;
[0009]根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0010]當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0011]其中,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
[0012]其中,客戶端向證書授權(quán)CA服務(wù)器發(fā)送用戶信息之后,還包括:
[0013]所述CA服務(wù)器根據(jù)所述用戶信息生成所述客戶端證書,并將所述用戶信息和所述客戶端證書發(fā)送給所述LDAP服務(wù)器,使所述LDAP服務(wù)器對(duì)所述用戶信息和所述客戶端證書進(jìn)行存儲(chǔ)。
[0014]其中,根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括:
[0015]對(duì)接收到的所述應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證;
[0016]當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密;
[0017]將加密信息和所述客戶端證書發(fā)送給所述應(yīng)用服務(wù)器,使得當(dāng)所述應(yīng)用服務(wù)器對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密且根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
[0018]另一方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
[0019]應(yīng)用服務(wù)器獲取證書授權(quán)CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置;
[0020]根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0021]根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向所述客戶端展示所述用戶權(quán)限,使所述客戶端根據(jù)所述用戶權(quán)限發(fā)起數(shù)據(jù)傳輸;
[0022]當(dāng)與所述客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0023]其中,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
[0024]其中,根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置,包括:
[0025]將所述應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)所述應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
[0026]其中,根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括:
[0027]向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)所述客戶端對(duì)所述應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述客戶端生成的密鑰信息進(jìn)行加密;
[0028]接收所述客戶端發(fā)送的加密信息和所述客戶端證書;
[0029]當(dāng)對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密,并根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
[0030]其中,根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,包括:
[0031]獲取所述客戶端證書中的用戶標(biāo)識(shí);
[0032]在輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中查找與所述用戶標(biāo)識(shí)匹配的用戶信息;
[0033]獲取所述用戶信息中的用戶權(quán)限。
[0034]又一方面,提供了一種客戶端,所述客戶端包括:
[0035]接收模塊,用于向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;
[0036]生成模塊,用于根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0037]傳輸模塊,用于當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0038]其中,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
[0039]其中,所述生成模塊包括:
[0040]認(rèn)證單元,用于對(duì)接收到的所述應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證;
[0041]加密單元,用于當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密;
[0042]發(fā)送單元,用于將加密信息和所述客戶端證書發(fā)送給所述應(yīng)用服務(wù)器,使得當(dāng)所述應(yīng)用服務(wù)器對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密且根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
[0043]再一方面,提供了一種應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器包括:
[0044]配置模塊,用于獲取證書授權(quán)CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置;
[0045]生成模塊,用于根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0046]獲取模塊,用于根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向所述客戶端展示所述用戶權(quán)限,使所述客戶端根據(jù)所述用戶權(quán)限發(fā)起數(shù)據(jù)傳輸;
[0047]傳輸模塊,用于當(dāng)與所述客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0048]其中,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
[0049]其中,所述配置模塊,用于將所述應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)所述應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
[0050]其中,所述生成模塊,包括:
[0051]發(fā)送單元,用于向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)所述客戶端對(duì)所述應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述客戶端生成的密鑰信息進(jìn)行加密;
[0052]接收單元,用于接收所述客戶端發(fā)送的加密信息和所述客戶端證書;
[0053]生成單元,用于當(dāng)對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密,并根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
[0054]所述獲取模塊包括:
[0055]第一獲取單元,用于獲取所述客戶端證書中的用戶標(biāo)識(shí);
[0056]查找單元,用于在輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中查找與所述用戶標(biāo)識(shí)匹配的用戶信息;
[0057]第二獲取單元,用于獲取所述用戶信息中的用戶權(quán)限。
[0058]再一方面,提供了一種數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括如上所述的客戶端和如上所述的應(yīng)用服務(wù)器。
[0059]其中,所述系統(tǒng)還包括:證書授權(quán)CA服務(wù)器和輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器;
[0060]所述CA服務(wù)器,用于接收所述客戶端發(fā)送的用戶信息,并向所述客戶端發(fā)送根據(jù)所述用戶信息生成的客戶端證書;或者,接收所述客戶端發(fā)送的用戶信息,并向所述客戶端轉(zhuǎn)發(fā)所述LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;
[0061]所述LDAP數(shù)據(jù)服務(wù)器,用于向所述CA服務(wù)器發(fā)送所述客戶端證書。
[0062]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0063]通過(guò)向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0064]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
【專利附圖】
【附圖說(shuō)明】
[0065]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0066]圖1是本發(fā)明實(shí)施例一提供的數(shù)據(jù)傳輸方法的一種方法流程圖;
[0067]圖2是本發(fā)明實(shí)施例一提供的數(shù)據(jù)傳輸方法的另一種方法流程圖;
[0068]圖3是本發(fā)明實(shí)施例二提供的數(shù)據(jù)傳輸方法流程圖;
[0069]圖4是本發(fā)明實(shí)施例三提供的客戶端的一種結(jié)構(gòu)示意圖;
[0070]圖5是本發(fā)明實(shí)施例三提供的客戶端的另一種結(jié)構(gòu)示意圖;
[0071]圖6是本發(fā)明實(shí)施例四提供的應(yīng)用服務(wù)器的一種結(jié)構(gòu)示意圖;
[0072]圖7是本發(fā)明實(shí)施例四提供的應(yīng)用服務(wù)器的另一種結(jié)構(gòu)示意圖;
[0073]圖8是本發(fā)明實(shí)施例五提供的數(shù)據(jù)傳輸系統(tǒng)的一種結(jié)構(gòu)示意圖;
[0074]圖9是本發(fā)明實(shí)施例五提供的數(shù)據(jù)傳輸系統(tǒng)的另一種結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0075]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0076]實(shí)施例一
[0077]參見圖1,本實(shí)施例提供了一種數(shù)據(jù)傳輸方法,方法流程包括:
[0078]101:客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器發(fā)送的根據(jù)用戶信息生成的客戶端證書,或者,客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器轉(zhuǎn)發(fā)的LDAP(Lightweight Directory Access Protocol,輕量目錄訪問(wèn)協(xié)議)數(shù)據(jù)服務(wù)器中存儲(chǔ)的客戶端證書。
[0079]102:根據(jù)客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰。
[0080]103:當(dāng)與應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0081]其中,應(yīng)用服務(wù)器證書和客戶端證書的生成基于密碼術(shù)包BouncyCastle和Jabacats (Java Basic Certificate Authority Tools, Java 基礎(chǔ)證書授權(quán)工具)。
[0082]其中,客戶端向CA服務(wù)器發(fā)送用戶信息之后,還包括:
[0083]CA服務(wù)器根據(jù)用戶信息生成客戶端證書,并將用戶信息和客戶端證書發(fā)送給LDAP服務(wù)器,使LDAP服務(wù)器對(duì)用戶信息和客戶端證書進(jìn)行存儲(chǔ)。
[0084]其中,根據(jù)客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括:
[0085]對(duì)接收到的應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證;
[0086]當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密;
[0087]將加密信息和客戶端證書發(fā)送給應(yīng)用服務(wù)器,使得當(dāng)應(yīng)用服務(wù)器對(duì)客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)加密信息進(jìn)行解密且根據(jù)解密后的密鑰信息生成會(huì)話密鑰。
[0088]參見圖2,本實(shí)施例還提供了一種數(shù)據(jù)傳輸方法,方法流程包括:
[0089]201:應(yīng)用服務(wù)器獲取CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置。
[0090]202:根據(jù)應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰。
[0091]203:根據(jù)客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向客戶端展示用戶權(quán)限,使客戶端根據(jù)用戶權(quán)限發(fā)起數(shù)據(jù)傳輸。
[0092]204:當(dāng)與客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0093]其中,應(yīng)用服務(wù)器證書和客戶端證書的生成基于BouncyCastle和Jabacats。
[0094]其中,根據(jù)應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置,包括:
[0095]將應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
[0096]其中,根據(jù)應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括:
[0097]向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)客戶端對(duì)應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)應(yīng)用服務(wù)器證書對(duì)客戶端生成的密鑰信息進(jìn)行加密;
[0098]接收客戶端發(fā)送的加密信息和客戶端證書;
[0099]當(dāng)對(duì)客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)加密信息進(jìn)行解密,并根據(jù)解密后的密鑰信息生成會(huì)話密鑰。
[0100]其中,根據(jù)客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,包括:
[0101]獲取客戶端證書中的用戶標(biāo)識(shí);
[0102]在LDAP數(shù)據(jù)服務(wù)器中查找與該用戶標(biāo)識(shí)匹配的用戶信息;
[0103]獲取用戶信息中的用戶權(quán)限。[0104]本實(shí)施例提供的上述方法,通過(guò)向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的操作復(fù)雜性。
[0105]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0106]實(shí)施例二
[0107]參見圖3,本實(shí)施例提供了一種數(shù)據(jù)傳輸方法,方法流程包括:
[0108]301:應(yīng)用服務(wù)器獲取CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)應(yīng)用服務(wù)器證書對(duì)應(yīng)用服務(wù)器進(jìn)行配置。
[0109]本實(shí)施例中,開放平臺(tái)可以包括應(yīng)用服務(wù)器和CA服務(wù)器。其中,CA服務(wù)器為應(yīng)用服務(wù)器頒發(fā)證書,以提高數(shù)據(jù)傳輸?shù)陌踩?;?yīng)用服務(wù)器用來(lái)與客戶端進(jìn)行數(shù)據(jù)交互,例如,接收客戶端發(fā)送的數(shù)據(jù)請(qǐng)求,或者,向客戶端發(fā)送數(shù)據(jù)等等。
[0110]具體地,CA服務(wù)器生成根證書,根據(jù)根證書和應(yīng)用服務(wù)器的申請(qǐng)信息生成應(yīng)用服務(wù)器證書,并根據(jù)應(yīng)用服務(wù)器證書對(duì)應(yīng)用服務(wù)器進(jìn)行配置,以提高應(yīng)用服務(wù)器的安全性。
[0111]本實(shí)施例中,應(yīng)用服務(wù)器證書的生成基于BouncyCastle和Jabacats。具體地,CA服務(wù)器通過(guò)BouncyCastle和Jabacats結(jié)合的方式開發(fā)證書。其中,所述BouncyCastle在CA證書開發(fā)過(guò)程中作為輔助開發(fā)包,用來(lái)規(guī)范密鑰算法Jabacats則提供全套CA證書生成方法,通過(guò)傳入相應(yīng)證書參數(shù)生成所需的證書,需要BouncyCastle開發(fā)包與之配合。通過(guò)BouncyCastle和Jabacats可以簡(jiǎn)單快捷地開發(fā)出安全的證書,既提高了開發(fā)證書的效率,也提高了證書的安全性。
[0112]進(jìn)一步地,根據(jù)應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置,可以包括:
[0113]將應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
[0114]其中,根據(jù)應(yīng)用服務(wù)器證書對(duì)應(yīng)用服務(wù)器進(jìn)行配置的過(guò)程為現(xiàn)有技術(shù),此處不贅述。
[0115]302:客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器發(fā)送的根據(jù)用戶信息生成的客戶端證書,或者,客戶端向CA服務(wù)器發(fā)送用戶信息,并接收CA服務(wù)器轉(zhuǎn)發(fā)的LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的客戶端證書。
[0116]為了建立安全通道,客戶端需要根據(jù)客戶端證書對(duì)應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證,因此,客戶端需要向CA服務(wù)器申請(qǐng)客戶端證書。其中,客戶端證書的生成基于BouncyCastle和 Jabacats。
[0117]本實(shí)施例中,客戶端向CA服務(wù)器發(fā)送用戶信息之后,還可以包括:
[0118]CA服務(wù)器根據(jù)用戶信息生成客戶端證書,并將用戶信息和客戶端證書發(fā)送給LDAP服務(wù)器,使LDAP服務(wù)器對(duì)用戶信息和客戶端證書進(jìn)行存儲(chǔ)。
[0119]其中,開放平臺(tái)還可以包括LDAP數(shù)據(jù)服務(wù)器,用來(lái)存儲(chǔ)開放平臺(tái)的用戶信息和證書,所述用戶信息可以包括但不限于用戶賬號(hào)和用戶權(quán)限等等。所述LDAP數(shù)據(jù)服務(wù)器可以是iPlanet目錄服務(wù)器,所述iPlanet目錄服務(wù)器采用分布式結(jié)構(gòu),將用戶信息和證書分布地存儲(chǔ)在多個(gè)iPlanet目錄服務(wù)器中,避免了將所有用戶信息和證書集中存儲(chǔ)在一個(gè)iPlanet目錄服務(wù)器中造成的數(shù)據(jù)讀取效率低下的問(wèn)題。
[0120]獲取客戶端證書時(shí),如果該客戶端證書只能使用一次,則CA服務(wù)器根據(jù)根證書和填寫的用戶信息生成客戶端證書,并向客戶端發(fā)送該客戶端證書;或者,如果該客戶端證書可以使用多次,則CA服務(wù)器還可以將生成的客戶端證書發(fā)送給LDAP數(shù)據(jù)服務(wù)器進(jìn)行保存,在接收到LDAP數(shù)據(jù)服務(wù)器發(fā)送的添加成功響應(yīng)時(shí)向客戶端發(fā)送客戶端證書,則下次需要獲取該客戶端證書時(shí),CA服務(wù)器接收LDAP數(shù)據(jù)服務(wù)器發(fā)送的客戶端證書,并將該客戶端證書轉(zhuǎn)發(fā)給客戶端。
[0121]為了避免開放平臺(tái)與客戶端之間采用HTTP協(xié)議傳輸數(shù)據(jù)導(dǎo)致的數(shù)據(jù)傳輸不安全問(wèn)題,本實(shí)施例中,開放平臺(tái)與客戶端之間采用SSL (Secure Sockets Layer安全套接層)協(xié)議進(jìn)行數(shù)據(jù)傳輸,所述SSL協(xié)議可以嵌入客戶端和服務(wù)器,使客戶端和服務(wù)器支持SSL功能,實(shí)現(xiàn)會(huì)話雙方之間數(shù)據(jù)的安全傳遞。
[0122]303:客戶端根據(jù)客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰。
[0123]本實(shí)施例中,應(yīng)用服務(wù)器向客戶端發(fā)送應(yīng)用服務(wù)器證書;客戶端對(duì)接收到的應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證,當(dāng)認(rèn)證通過(guò)時(shí),客戶端根據(jù)應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密,并將加密信息和客戶端證書發(fā)送給應(yīng)用服務(wù)器;應(yīng)用服務(wù)器接收客戶端發(fā)送的加密信息和客戶端證書,當(dāng)對(duì)客戶端證書的認(rèn)證通過(guò)時(shí),應(yīng)用服務(wù)器根據(jù)應(yīng)用服務(wù)器證書對(duì)加密信息進(jìn)行解密,并根據(jù)解密后的密鑰信息生成會(huì)話密鑰。
[0124]具體地,客戶端接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用服務(wù)器證書,根據(jù)客戶端證書的密碼對(duì)應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證,由于客戶端證書和應(yīng)用服務(wù)器證書均是CA服務(wù)器根據(jù)根證書生成的,因此,如果客戶端證書與應(yīng)用服務(wù)器證書的密碼相同,則認(rèn)證通過(guò),獲取應(yīng)用服務(wù)器證書的公鑰,通過(guò)公鑰對(duì)密鑰信息進(jìn)行加密;否則,流程結(jié)束。其中,所述公鑰用來(lái)對(duì)信息進(jìn)行加密,應(yīng)用服務(wù)器端的私鑰用來(lái)對(duì)公鑰加密的信息進(jìn)行解密,且所述私鑰與所述公鑰——對(duì)應(yīng)。
[0125]應(yīng)用服務(wù)器根據(jù)應(yīng)用服務(wù)器證書的密碼對(duì)客戶端證書進(jìn)行認(rèn)證,如果密碼相同,則認(rèn)證通過(guò),應(yīng)用服務(wù)器根據(jù)應(yīng)用服務(wù)器證書的私鑰對(duì)加密信息進(jìn)行解密,并對(duì)該密鑰信息進(jìn)行運(yùn)算后生成會(huì)話密鑰,以便在數(shù)據(jù)傳輸過(guò)程中可以使用該會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密,以提高數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)陌踩?,此時(shí),應(yīng)用服務(wù)器與客戶端之間的數(shù)據(jù)傳輸通道建立完成。
[0126]304:應(yīng)用服務(wù)器根據(jù)客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限。
[0127]本實(shí)施例中,開放平臺(tái)還對(duì)用戶設(shè)置了訪問(wèn)權(quán)限,以進(jìn)一步提高數(shù)據(jù)的安全性。所述訪問(wèn)權(quán)限預(yù)先存儲(chǔ)在LDAP目錄服務(wù)器的用戶信息中,而用戶信息是通過(guò)用戶標(biāo)識(shí)來(lái)唯一標(biāo)識(shí)的,例如,所述用戶標(biāo)識(shí)可以是用戶賬號(hào)、或者用戶ID (Identity,身份標(biāo)識(shí))等等,因此,需要根據(jù)用戶標(biāo)識(shí)來(lái)獲取用戶權(quán)限。
[0128]進(jìn)一步地,應(yīng)用服務(wù)器可以單獨(dú)向客戶端請(qǐng)求用戶標(biāo)識(shí),使客戶端發(fā)送該用戶標(biāo)識(shí),或者,優(yōu)選地,客戶端可以將用戶標(biāo)識(shí)添加在客戶端證書中發(fā)送給應(yīng)用服務(wù)器,以節(jié)省后續(xù)獲取用戶標(biāo)識(shí)所占用的網(wǎng)絡(luò)資源。
[0129]具體地,根據(jù)客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,可以包括:
[0130]獲取客戶端證書中的用戶標(biāo)識(shí);
[0131]在LDAP數(shù)據(jù)服務(wù)器中查找與所述用戶標(biāo)識(shí)匹配的用戶信息;
[0132]獲取用戶信息中的用戶權(quán)限。
[0133]305:應(yīng)用服務(wù)器向客戶端展示該用戶權(quán)限,使客戶端根據(jù)該用戶權(quán)限發(fā)起數(shù)據(jù)傳輸。
[0134]應(yīng)用服務(wù)器向客戶端展示從LDAP數(shù)據(jù)服務(wù)器中獲取的用戶權(quán)限,例如,開放平臺(tái)包括上傳和下載業(yè)務(wù),如果某一用戶權(quán)限為具有下載權(quán)限且不具有上傳權(quán)限,則應(yīng)用服務(wù)器僅向客戶端展示下載業(yè)務(wù),用戶只能針對(duì)下載業(yè)務(wù)發(fā)起數(shù)據(jù)傳輸。
[0135]306:當(dāng)客戶端與應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0136]應(yīng)用服務(wù)器與客戶端可以通過(guò)支持SSL功能的HTTPS (Hypertext TransferProtocol Secure,安全超文本傳輸協(xié)議)協(xié)議進(jìn)行數(shù)據(jù)傳輸,具體地,根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密,并對(duì)加密后的數(shù)據(jù)進(jìn)行傳輸。
[0137]為了便于理解,本實(shí)施例以開放平臺(tái)應(yīng)用于網(wǎng)上銀行系統(tǒng)為例進(jìn)行說(shuō)明。網(wǎng)站(應(yīng)用服務(wù)器)首先向CA服務(wù)器申請(qǐng)網(wǎng)站證書(應(yīng)用服務(wù)器證書),并根據(jù)該網(wǎng)站證書對(duì)自身進(jìn)行配置,其中,該網(wǎng)站僅需配置一次。
[0138]在登錄網(wǎng)站之前,用戶需要向CA服務(wù)器申請(qǐng)客戶端證書。具體地,用戶向CA服務(wù)器發(fā)送用戶信息,CA服務(wù)器根據(jù)接收的用戶信息查找網(wǎng)上銀行系統(tǒng)的數(shù)據(jù)庫(kù)(LDAP數(shù)據(jù)服務(wù)器),如果該數(shù)據(jù)庫(kù)中有客戶端證書,則CA服務(wù)器獲取該客戶端證書,并將該客戶端證書轉(zhuǎn)發(fā)給用戶;如果該數(shù)據(jù)庫(kù)中沒(méi)有客戶端證書,則CA服務(wù)器根據(jù)用戶信息生成客戶端證書,并將該客戶端證書發(fā)送給用戶。
[0139]用戶登錄網(wǎng)站時(shí)接收網(wǎng)站的網(wǎng)站證書,在對(duì)網(wǎng)站證書的認(rèn)證通過(guò)后,將客戶端證書發(fā)送給網(wǎng)站。網(wǎng)站對(duì)客戶端證書進(jìn)行認(rèn)證,如果認(rèn)證通過(guò),則獲取客戶端證書中的用戶標(biāo)識(shí),并從數(shù)據(jù)庫(kù)中獲取該用戶標(biāo)識(shí)對(duì)應(yīng)的用戶信息中的用戶權(quán)限,向用戶展示該用戶權(quán)限。其中,用戶權(quán)限是指用戶有操作權(quán)限的業(yè)務(wù),例如,查詢、轉(zhuǎn)賬等業(yè)務(wù)。用戶根據(jù)網(wǎng)站展示的用戶權(quán)限進(jìn)行業(yè)務(wù)處理,且業(yè)務(wù)處理過(guò)程中產(chǎn)生的數(shù)據(jù)在傳輸時(shí)均根據(jù)會(huì)話密鑰進(jìn)行加密處理,以提高數(shù)據(jù)傳輸?shù)陌踩浴?br>
[0140]本實(shí)施例提供的上述方法,通過(guò)向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的操作復(fù)雜性。
[0141]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。[0142]實(shí)施例三
[0143]參見圖4,本發(fā)明實(shí)施例提供了一種客戶端,該客戶端包括:
[0144]接收模塊401,用于向CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;
[0145]生成模塊402,用于根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0146]傳輸模塊403,用于當(dāng)與應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸;
[0147]其中,應(yīng)用服務(wù)器證書和客戶端證書的生成基于BouncyCastle和Jabacats。
[0148]參見圖5,本實(shí)施例中,生成模塊402包括:
[0149]認(rèn)證單元402A,用于對(duì)接收到的應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證;
[0150]加密單元402B,用于當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密;
[0151]發(fā)送單元402C,用于將加密信息和客戶端證書發(fā)送給應(yīng)用服務(wù)器,使得當(dāng)應(yīng)用服務(wù)器對(duì)客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)加密信息進(jìn)行解密且根據(jù)解密后的密鑰信息生成會(huì)話密鑰。
[0152]本實(shí)施例提供的上述客戶端,通過(guò)向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0153]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0154]實(shí)施例四
[0155]參見圖6,本實(shí)施例提供了一種應(yīng)用服務(wù)器,該應(yīng)用服務(wù)器包括:
[0156]配置模塊601,用于獲取CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)應(yīng)用服務(wù)器證書對(duì)應(yīng)用服務(wù)器進(jìn)行配置;
[0157]生成模塊602,用于根據(jù)應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;
[0158]獲取模塊603,用于根據(jù)客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向客戶端展示用戶權(quán)限,使客戶端根據(jù)用戶權(quán)限發(fā)起數(shù)據(jù)傳輸;
[0159]傳輸模塊604,用于當(dāng)與客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
[0160]其中,應(yīng)用服務(wù)器證書和客戶端證書的生成基于BouncyCastle和Jabacats。
[0161]本實(shí)施例中,配置模塊601,用于將應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
[0162]參見圖7,本實(shí)施例中,生成模塊602,包括:
[0163]發(fā)送單元602A,用于向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)客戶端對(duì)應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)應(yīng)用服務(wù)器證書對(duì)客戶端生成的密鑰信息進(jìn)行加密;
[0164]接收單元602B,用于接收客戶端發(fā)送的加密信息和客戶端證書;
[0165]生成單元602C,用于當(dāng)對(duì)客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)應(yīng)用服務(wù)器證書對(duì)加密信息進(jìn)行解密,并根據(jù)解密后的密鑰信息生成會(huì)話密鑰。
[0166]參見圖7,本實(shí)施例中,獲取模塊603包括:
[0167]第一獲取單元603A,用于獲取客戶端證書中的用戶標(biāo)識(shí);
[0168]查找單元603B,用于在LDAP數(shù)據(jù)服務(wù)器中查找與該用戶標(biāo)識(shí)匹配的用戶信息;
[0169]第二獲取單元603C,用于獲取用戶信息中的用戶權(quán)限。
[0170]本實(shí)施例提供的上述應(yīng)用服務(wù)器,通過(guò)獲取證書授權(quán)CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置;根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向所述客戶端展示所述用戶權(quán)限,使所述客戶端根據(jù)所述用戶權(quán)限發(fā)起數(shù)據(jù)傳輸;當(dāng)與所述客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的操作復(fù)雜性。
[0171]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0172]實(shí)施例五
[0173]參見圖8,本實(shí)施例提供了一中數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括客戶端801和應(yīng)用服務(wù)器802。
[0174]其中,客戶端801可以是實(shí)施例三提供的客戶端,應(yīng)用服務(wù)器802可以是實(shí)施例四提供的應(yīng)用服務(wù)器。
[0175]參見圖9,本實(shí)施例中,所述系統(tǒng)還包括:CA服務(wù)器803和LDAP數(shù)據(jù)服務(wù)器804 ;
[0176]CA服務(wù)器803,用于接收客戶端801發(fā)送的用戶信息,并向客戶端801發(fā)送根據(jù)用戶信息生成的客戶端證書;或者,接收客戶端801發(fā)送的用戶信息,并向客戶端801轉(zhuǎn)發(fā)LDAP數(shù)據(jù)服務(wù)器804中存儲(chǔ)的客戶端證書;
[0177]LDAP數(shù)據(jù)服務(wù)器804,用于向CA服務(wù)器803發(fā)送客戶端證書。
[0178]本實(shí)施例提供的上述數(shù)據(jù)傳輸系統(tǒng),通過(guò)向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書;根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰;當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸,可以減少開發(fā)成本,也降低了生成應(yīng)用服務(wù)器證書和客戶端證書的操作復(fù)雜性。
[0179]另外,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats,使CA服務(wù)器可以簡(jiǎn)單快捷地生成應(yīng)用服務(wù)器證書和客戶端證書,進(jìn)一步降低了生成應(yīng)用服務(wù)器證書和客戶端證書的復(fù)雜性。
[0180]需要說(shuō)明的是:上述實(shí)施例提供的客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)傳輸系統(tǒng)在傳輸數(shù)據(jù)時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)傳輸系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的客戶端、應(yīng)用服務(wù)器和數(shù)據(jù)傳輸系統(tǒng)與數(shù)據(jù)傳輸方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見方法實(shí)施例,這里不再贅述。
[0181 ] 上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0182]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0183]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)傳輸方法,其特征在于,所述方法包括: 客戶端向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,所述客戶端向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書; 根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰; 當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,客戶端向證書授權(quán)CA服務(wù)器發(fā)送用戶信息之后,還包括: 所述CA服務(wù)器根據(jù)所述用戶信息生成所述客戶端證書,并將所述用戶信息和所述客戶端證書發(fā)送給所述LDAP服務(wù)器,使所述LDAP服務(wù)器對(duì)所述用戶信息和所述客戶端證書進(jìn)行存儲(chǔ)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括: 對(duì)接收到的所述應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證; 當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用 服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密; 將加密信息和所述客戶端證書發(fā)送給所述應(yīng)用服務(wù)器,使得當(dāng)所述應(yīng)用服務(wù)器對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密且根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
5.一種數(shù)據(jù)傳輸方法,其特征在于,所述方法包括: 應(yīng)用服務(wù)器獲取證書授權(quán)CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置; 根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰; 根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向所述客戶端展示所述用戶權(quán)限,使所述客戶端根據(jù)所述用戶權(quán)限發(fā)起數(shù)據(jù)傳輸; 當(dāng)與所述客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置,包括: 將所述應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)所述應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰,包括: 向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)所述客戶端對(duì)所述應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述客戶端生成的密鑰信息進(jìn)行加密;接收所述客戶端發(fā)送的加密信息和所述客戶端證書; 當(dāng)對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密,并根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,包括: 獲取所述客戶端證書中的用戶標(biāo)識(shí); 在輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中查找與所述用戶標(biāo)識(shí)匹配的用戶信息; 獲取所述用戶信息中的用戶權(quán)限。
10.一種客戶端,其特征在于,所述客戶端包括: 接收模塊,用于向證書授權(quán)CA服務(wù)器發(fā)送用戶信息,并接收所述CA服務(wù)器發(fā)送的根據(jù)所述用戶信息生成的客戶端證書,或者,向所述CA服務(wù)器發(fā)送所述用戶信息,并接收所述CA服務(wù)器轉(zhuǎn)發(fā)的輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書; 生成模塊,用于根據(jù)所述客戶端證書與應(yīng)用服務(wù)器的應(yīng)用服務(wù)器證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰; 傳輸模塊,用于當(dāng)與所述應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
11.根據(jù)權(quán)利要求10所述的客戶端,其特征在于,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
12.根據(jù)權(quán)利要求10所述的客戶端,其特征在于,所述生成模塊包括: 認(rèn)證單元,用于對(duì)接收到的所述應(yīng)用服務(wù)器證書進(jìn)行認(rèn)證; 加密單元,用于當(dāng)認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身生成的密鑰信息進(jìn)行加密; 發(fā)送單元,用于將加密信息和所述客戶端證書發(fā)送給所述應(yīng)用服務(wù)器,使得當(dāng)所述應(yīng)用服務(wù)器對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密且根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
13.一種應(yīng)用服務(wù)器,其特征在于,所述應(yīng)用服務(wù)器包括: 配置模塊,用于獲取證書授權(quán)CA服務(wù)器生成的應(yīng)用服務(wù)器證書,并根據(jù)所述應(yīng)用服務(wù)器證書對(duì)自身進(jìn)行配置; 生成模塊,用于根據(jù)所述應(yīng)用服務(wù)器證書與客戶端的客戶端證書進(jìn)行相互認(rèn)證,認(rèn)證通過(guò)時(shí)生成會(huì)話密鑰; 獲取模塊,用于根據(jù)所述客戶端證書中的用戶標(biāo)識(shí)獲取用戶權(quán)限,并向所述客戶端展示所述用戶權(quán)限,使所述客戶端根據(jù)所述用戶權(quán)限發(fā)起數(shù)據(jù)傳輸; 傳輸模塊,用于當(dāng)與所述客戶端進(jìn)行數(shù)據(jù)傳輸時(shí),根據(jù)所述會(huì)話密鑰對(duì)待傳輸數(shù)據(jù)進(jìn)行加密和傳輸。
14.根據(jù)權(quán)利要求13所述的應(yīng)用服務(wù)器,其特征在于,所述應(yīng)用服務(wù)器證書和所述客戶端證書的生成基于密碼術(shù)包BouncyCastle和Java基礎(chǔ)證書授權(quán)工具Jabacats。
15.根據(jù)權(quán)利要求13所述的應(yīng)用服務(wù)器,其特征在于,所述配置模塊,用于將所述應(yīng)用服務(wù)器證書導(dǎo)入信任庫(kù),并對(duì)所述應(yīng)用服務(wù)器的文件中的注釋進(jìn)行修改。
16.根據(jù)權(quán)利要求13所述的應(yīng)用服務(wù)器,其特征在于,所述生成模塊,包括:發(fā)送單元,用于向客戶端發(fā)送應(yīng)用服務(wù)器證書,使當(dāng)所述客戶端對(duì)所述應(yīng)用服務(wù)器證書的認(rèn)證通過(guò)時(shí)根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述客戶端生成的密鑰信息進(jìn)行加密; 接收單元,用于接收所述客戶端發(fā)送的加密信息和所述客戶端證書; 生成單元,用于當(dāng)對(duì)所述客戶端證書的認(rèn)證通過(guò)時(shí),根據(jù)所述應(yīng)用服務(wù)器證書對(duì)所述加密信息進(jìn)行解密,并根據(jù)解密后的所述密鑰信息生成會(huì)話密鑰。
17.根據(jù)權(quán)利要求13所述的應(yīng)用服務(wù)器,其特征在于,所述獲取模塊包括: 第一獲取單元,用于獲取所述客戶端證書中的用戶標(biāo)識(shí); 查找單元,用于在輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器中查找與所述用戶標(biāo)識(shí)匹配的用戶信息; 第二獲取單元,用于獲取所述用戶信息中的用戶權(quán)限。
18.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括如權(quán)利要求10-12中任一項(xiàng)所述的客戶端和如權(quán)利要求13-17中任一項(xiàng)所述的應(yīng)用服務(wù)器。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:證書授權(quán)CA服務(wù)器和輕量目錄訪問(wèn)協(xié)議LDAP數(shù)據(jù)服務(wù)器; 所述CA服務(wù)器,用于接收所述客戶端發(fā)送的用戶信息,并向所述客戶端發(fā)送根據(jù)所述用戶信息生成的客戶端證書;或者,接收所述客戶端發(fā)送的所述用戶信息,并向所述客戶端轉(zhuǎn)發(fā)所述LDAP數(shù)據(jù)服務(wù)器中存儲(chǔ)的所述客戶端證書; 所述LDAP數(shù)據(jù)服務(wù)器,用于向所述CA服務(wù)器發(fā)送所述客戶端證書。
【文檔編號(hào)】H04L29/06GK103716280SQ201210370352
【公開日】2014年4月9日 申請(qǐng)日期:2012年9月28日 優(yōu)先權(quán)日:2012年9月28日
【發(fā)明者】雷明濤 申請(qǐng)人:騰訊科技(深圳)有限公司