專利名稱:一種安全的Web service訪問(wèn)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于Web Service4支術(shù)領(lǐng)域,具體涉及到一種安全的Web service訪 問(wèn)方法和系統(tǒng)。
背景技術(shù):
Web Service是當(dāng)今的熱點(diǎn)技術(shù)之一,它定義了應(yīng)用程序如何在Web上實(shí) 現(xiàn)互操作性,是建立可互操作的分布式應(yīng)用程序的新平臺(tái)。人們可以用所喜歡 的語(yǔ)言,在不同的平臺(tái)中編寫Web Service,然后通過(guò)Web Service的標(biāo)準(zhǔn)來(lái)對(duì) 這些服務(wù)進(jìn)行查詢和訪問(wèn)。利用Web Service能夠創(chuàng)建出可供不同人從不同地方 使用的、功能強(qiáng)大的應(yīng)用程序,極大地拓展了應(yīng)用程序的功能,實(shí)現(xiàn)了軟件的 動(dòng)態(tài)提供。
Web Service是一種部署在Web上的對(duì)象,因此具有對(duì)象技術(shù)所承諾的所 有優(yōu)點(diǎn);同時(shí),Web Service的基石是以XML (Extensible Markup Language)為 主的、開放的Web規(guī)范技術(shù),具有比現(xiàn)有的對(duì)象技術(shù)更好的開放性。
然而WebService作為方便的服務(wù)被廣大領(lǐng)域使用的同時(shí),其安全性問(wèn)題也 日益受到關(guān)注,
目前其安全的實(shí)現(xiàn)主要分為以下幾個(gè)方面 一、傳輸?shù)陌踩杂肧SL和 HTTPS協(xié)議,可以獲得連接過(guò)程中的安全;二、消息加密對(duì)XML傳輸?shù)臄?shù) 據(jù)進(jìn)行數(shù)據(jù)加密,增加數(shù)字簽名功能。
上述的安全措施,可以從不同的方面,增加Web Service訪問(wèn)的安全性,然 而,其并不能夠抵御所有的入侵。本文所提出的方法,是從Web Service提供的訪問(wèn)業(yè)務(wù)本身出發(fā),對(duì)于業(yè)務(wù) 的重要性進(jìn)行分級(jí)管理,根據(jù)客戶的級(jí)別不同,進(jìn)行授權(quán)的業(yè)務(wù)訪問(wèn),同時(shí)對(duì) 于來(lái)訪客戶進(jìn)行IP地址的檢驗(yàn),進(jìn)一步增加Web Service服務(wù)器安全性。
發(fā)明內(nèi)容
本發(fā)明要解決的問(wèn)題是目前Web service訪問(wèn)中存在的安全問(wèn)題,以使得用 戶在Web service訪問(wèn)中獲得更好的安全體驗(yàn)。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種安全的Web service訪問(wèn)方法和系 統(tǒng),該方法包括以下步驟
客戶端向服務(wù)端發(fā)起訪問(wèn)請(qǐng)求;
所述服務(wù)端的接口模塊獲取所述客戶端提供的安全驗(yàn)證參數(shù),并對(duì)該安全 驗(yàn)證參數(shù)進(jìn)行認(rèn)證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則將所述安 全驗(yàn)證參數(shù)和接口 ID發(fā)送給服務(wù)端權(quán)限管理系統(tǒng);
所述服務(wù)端的權(quán)限管理系統(tǒng)對(duì)所述安全驗(yàn)證參數(shù)和被訪問(wèn)的接口 ID進(jìn)行認(rèn) 證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則客戶端可以通過(guò)訪問(wèn)服務(wù) 端業(yè)務(wù)處理系統(tǒng)獲取所需業(yè)務(wù)。
所述的方法,服務(wù)端接口模塊獲取所述客戶端提供的安全驗(yàn)證參數(shù)包括客 戶端的版本號(hào)、設(shè)備代碼、用戶名、用戶密碼。
所述的方法,服務(wù)端接口模塊對(duì)客戶端的版本號(hào)進(jìn)行認(rèn)證具體為檢查客 戶端的版本號(hào)是否和服務(wù)端的版本號(hào)兼容,如果不兼容,則拒絕訪問(wèn),如果兼 容,則通過(guò)訪問(wèn);所述服務(wù)端接口模塊對(duì)客戶端設(shè)備代碼的認(rèn)證具體為檢查 要訪問(wèn)的設(shè)備代碼是否本服務(wù)端配置的設(shè)備代碼,如果不是,則拒絕用戶訪問(wèn), 如果是,則通過(guò)訪問(wèn)。
所述的方法,服務(wù)端權(quán)限管理系統(tǒng)對(duì)所述用戶用戶名和用戶密碼的認(rèn)體為權(quán)限管理系統(tǒng);險(xiǎn)查客戶端的用戶名和密碼是否正確,若用戶不存在或者 密碼不正確,則拒絕訪問(wèn),如果用戶名存在并且密碼正確,則通過(guò)訪問(wèn);所述 服務(wù)端權(quán)限管理系統(tǒng)對(duì)被訪問(wèn)的服務(wù)端接口 ID進(jìn)行認(rèn)證具體為權(quán)限管理系統(tǒng) 通過(guò)所述接口 ID檢查該用戶是否具有訪問(wèn)該接口的權(quán)限,若沒(méi)有,則拒絕訪問(wèn), 若有,則通過(guò)訪問(wèn)。
所述的方法,服務(wù)端接口模塊將所述安全驗(yàn)證參數(shù)發(fā)送給服務(wù)端權(quán)限管理 系統(tǒng)的同時(shí),還將客戶端的IP地址發(fā)送給所述服務(wù)端權(quán)限管理系統(tǒng),由所述權(quán) 限管理系統(tǒng)對(duì)所述IP地址進(jìn)行認(rèn)證。
所述的方法,服務(wù)端權(quán)限管理系統(tǒng)對(duì)所述IP地址進(jìn)行認(rèn)證具體為檢查客 戶端是否配置了綁定IP地址檢查,若已經(jīng)配置,則檢驗(yàn)所述IP地址是否在服務(wù) 端配置的綁定IP地址范圍內(nèi),如果在,則通過(guò)訪問(wèn),如果客戶端沒(méi)有配置綁定 IP地址檢查或者所述IP地址不在服務(wù)端配置的綁定IP地址范圍內(nèi),則拒絕訪問(wèn)。 所述的方法,服務(wù)端權(quán)限管理系統(tǒng)在進(jìn)行認(rèn)證時(shí)需要調(diào)取服務(wù)端數(shù)據(jù)庫(kù)中 的數(shù)據(jù)來(lái)進(jìn)行認(rèn)證。
該系統(tǒng)包括客戶端和服務(wù)端,客戶端通過(guò)訪問(wèn)服務(wù)端的接口模塊,獲取服 務(wù);服務(wù)端包括接口模塊和權(quán)限管理系統(tǒng),該接口模塊用于為客戶端提供訪問(wèn) 服務(wù)并獲取客戶端提供的訪問(wèn)請(qǐng)求參數(shù);該權(quán)限管理系統(tǒng)用于在所述接口模塊 通過(guò)認(rèn)證后從所述接口模塊接收安全驗(yàn)證參數(shù)和接口 ID,并對(duì)該安全驗(yàn)證參數(shù) 和接口 ID進(jìn)行認(rèn)證。
所述的系統(tǒng),還包括數(shù)據(jù)庫(kù),用于為服務(wù)端權(quán)限管理系統(tǒng)和業(yè)務(wù)處理系統(tǒng) 提供訪問(wèn)數(shù)據(jù)。
所述的系統(tǒng),還包括業(yè)務(wù)處理系統(tǒng),用于在客戶端通過(guò)認(rèn)證時(shí)為客戶端提 供相應(yīng)的業(yè)務(wù)。
6本文所提出的方法和系統(tǒng),通過(guò)服務(wù)端接口模塊和服務(wù)端權(quán)限管理系統(tǒng)進(jìn)
行雙重認(rèn)證,增加了 Web Service服務(wù)器的安全性。
圖1是本發(fā)明包括的模塊圖; , 圖2是本發(fā)明的處理流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
從圖l可以看出,該系統(tǒng)包括客戶端、服務(wù)端接口訪問(wèn)模塊、權(quán)限管理系 統(tǒng)、業(yè)務(wù)處理系統(tǒng)以及用于權(quán)限和業(yè)務(wù)管理的數(shù)據(jù)庫(kù)系統(tǒng)。其中服務(wù)端接口訪 問(wèn)模塊用于從客戶端的訪問(wèn)請(qǐng)求中獲得安全驗(yàn)證參數(shù)塊,和權(quán)限管理系統(tǒng)一起 完成客戶端的安全驗(yàn)證工作,并把通過(guò)安全驗(yàn)證的客戶端訪問(wèn)請(qǐng)求,轉(zhuǎn)給業(yè)務(wù) 處理系統(tǒng)進(jìn)行業(yè)務(wù)的訪問(wèn);權(quán)限管理系統(tǒng)負(fù)責(zé)完成客戶端訪問(wèn)用戶的權(quán)限管理; 業(yè)務(wù)處理系統(tǒng)負(fù)責(zé)完成被授權(quán)訪問(wèn)客戶端的業(yè)務(wù)處理功能。
權(quán)限管理系統(tǒng)完成訪問(wèn)用戶的權(quán)限配置,根據(jù)服務(wù)端接口功能和重要性的 不同,對(duì)訪問(wèn)用戶進(jìn)行分級(jí)管理,如O級(jí)--超級(jí)管理員級(jí),1級(jí)--系統(tǒng)管理員 級(jí),2級(jí)一授權(quán)用戶A級(jí),3級(jí)一授權(quán)用戶B級(jí),4級(jí)一授權(quán)用戶C級(jí)等,不同 級(jí)別的用戶可以訪問(wèn)的接口功能不同。同時(shí)可以對(duì)訪問(wèn)用戶進(jìn)行IP地址或者 IP子網(wǎng)地址的綁定,如果來(lái)訪用戶的IP地址不在綁定的IP地址范圍之內(nèi),則 拒絕訪問(wèn)。對(duì)于訪問(wèn)接口,每個(gè)接口在權(quán)限管理系統(tǒng)中給出唯一的接口 ID,該 ID值唯一標(biāo)識(shí)了一個(gè)訪問(wèn)接口。當(dāng)客戶端提交服務(wù)端的接口訪問(wèn)請(qǐng)求后,在進(jìn) 行客戶端的權(quán)限驗(yàn)證時(shí),由被訪問(wèn)的接口把該ID值和客戶端提交的安全驗(yàn)證參 數(shù)一起傳入權(quán)限管理系統(tǒng),以進(jìn)行訪問(wèn)權(quán)限的驗(yàn)證。
附圖2是本發(fā)明所包含的主要步驟。 —步驟S100,客戶端發(fā)起訪問(wèn)請(qǐng)求。
客戶端通過(guò)SOAP消息,以服務(wù)端的WSDL描述的接口方式發(fā)起訪問(wèn)請(qǐng)求。 本發(fā)明中,把該請(qǐng)求參數(shù)分為兩個(gè)參數(shù)塊安全驗(yàn)證參數(shù)塊和業(yè)務(wù)參數(shù)塊。 其中安全驗(yàn)證參數(shù)塊包含對(duì)系統(tǒng)進(jìn)行授權(quán)訪問(wèn)所需要的參數(shù),用于驗(yàn)證訪問(wèn)請(qǐng) 求的有效性和合法性。業(yè)務(wù)參數(shù)塊包含訪問(wèn)授權(quán)業(yè)務(wù)所需的參數(shù),用于對(duì)業(yè)務(wù) 進(jìn)4亍正確的i方問(wèn)。
安全驗(yàn)證參數(shù)塊部分包括如下的參數(shù)
(1) 來(lái)訪用戶的Web Service客戶端的版本號(hào),用于-瞼證客戶端的版本是 否是服務(wù)端所要求的版本;
(2) 設(shè)備代碼,指被訪問(wèn)設(shè)備的代碼;
(3) 來(lái)訪的用戶名,指Web Service月良務(wù)端4受^l的訪問(wèn)用戶名;
(4) 用戶的密碼,指Web Service服務(wù)端分配給4吏權(quán)訪問(wèn)用戶的密碼,在 客戶端的訪問(wèn)請(qǐng)求中以加密方式傳輸;該密碼的加密方式由服務(wù)端指定 加密方式或者提供加密包完成密碼的加密工作。
步驟S10 5,服務(wù)端接口模塊接收到客戶端的接口訪問(wèn)請(qǐng)求后,獲得客戶端 提供的安全驗(yàn)證參數(shù),包括來(lái)訪用戶的客戶端的版本號(hào),被訪問(wèn)的設(shè)備代碼, 來(lái)訪的用戶名,用戶的密碼。
步驟S110,服務(wù)端接口模塊檢查客戶端的版本號(hào)是否和服務(wù)端的版本號(hào)兼 容;若不兼容,則拒絕訪問(wèn)。
步驟S115:服務(wù)端接口模塊檢查要訪問(wèn)的設(shè)備代碼是否本設(shè)備代碼。若不 是本服務(wù)端配置的設(shè)備代碼,則拒絕用戶訪問(wèn)。
步驟S120,服務(wù)端調(diào)用權(quán)限管理系統(tǒng),進(jìn)行權(quán)限的驗(yàn)證。
服務(wù)端獲得來(lái)訪客戶端的IP地址。服務(wù)端接口模塊把來(lái)訪用戶的用戶名、
8密碼、IP地址、本次訪問(wèn)的接口的ID值傳入權(quán)限管理模塊進(jìn)行權(quán)限的驗(yàn)證。
步驟S12 5:服務(wù)端權(quán)限管理系統(tǒng)根據(jù)客戶端的用戶名,從數(shù)據(jù)庫(kù)中讀取用 戶的權(quán)限屬性,檢查是否配置來(lái)訪用戶綁定IP地址檢查;若該用戶配置了綁定 IP地址檢查,則檢驗(yàn)來(lái)訪用戶的IP地址是否在服務(wù)器端配置的綁定IP地址范 圍內(nèi);若不在該范圍內(nèi),則拒絕用戶訪問(wèn)。
步驟S130:服務(wù)端權(quán)限管理模塊檢查來(lái)訪客戶的用戶名和密碼是否正確; 若用戶不存在或者密碼不正確,則拒絕用戶訪問(wèn)。
步驟S135:服務(wù)端權(quán)限管理模塊根據(jù)客戶端的用戶名,查找用戶所在的用 戶權(quán)限組,并讀取該用戶權(quán)限組具有的權(quán)限,該訪問(wèn)權(quán)限包含了用戶所在的用 戶權(quán)限組能夠訪問(wèn)哪些服務(wù)端接口 。
步驟S140:若該用戶權(quán)限組的訪問(wèn)權(quán)限中,不包含一皮訪問(wèn)接口的4妄口 ID, 則權(quán)限驗(yàn)證失敗,拒絕該用戶進(jìn)行業(yè)務(wù)的訪問(wèn)。
步驟S145:來(lái)訪的用戶通過(guò)權(quán)限驗(yàn)證,服務(wù)端接口模塊根據(jù)客戶端的業(yè)務(wù) 參數(shù)塊內(nèi)容,調(diào)用業(yè)務(wù)模塊,進(jìn)行業(yè)務(wù)的訪問(wèn),并把訪問(wèn)結(jié)果返回給客戶端模 塊。
以上所述,僅是本發(fā)明的較佳實(shí)施方式,不應(yīng)被視為是對(duì)本發(fā)明范圍的限 制,而且本發(fā)明所主張的權(quán)利要求范圍并不局限于此,凡熟悉此領(lǐng)域技藝的人 士,依據(jù)本發(fā)明所揭露的技術(shù)內(nèi)容,可輕易思及的等效變化,均應(yīng)落入本發(fā)明 的保護(hù)范圍。
權(quán)利要求
1、一種安全的Web service訪問(wèn)方法,其特征在于,該方法由以下步驟組成客戶端向服務(wù)端發(fā)起訪問(wèn)請(qǐng)求;所述服務(wù)端的接口模塊獲取所述客戶端提供的安全驗(yàn)證參數(shù),并對(duì)該安全驗(yàn)證參數(shù)進(jìn)行認(rèn)證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則將所述安全驗(yàn)證參數(shù)和接口ID發(fā)送給服務(wù)端權(quán)限管理系統(tǒng);所述服務(wù)端的權(quán)限管理系統(tǒng)對(duì)所述安全驗(yàn)證參數(shù)和接口ID進(jìn)行認(rèn)證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則客戶端可以通過(guò)訪問(wèn)服務(wù)端業(yè)務(wù)處理系統(tǒng)獲取所需業(yè)務(wù)。
2、 如權(quán)利要求l所述的方法,其特征在于,所述服務(wù)端接口模塊獲取所述 客戶端提供的安全驗(yàn)證參數(shù)包括客戶端的版本號(hào)、設(shè)備代碼、用戶名、用戶密 碼。
3、 如權(quán)利要求2所述的方法,其特征在于,所述服務(wù)端接口模塊對(duì)客戶端 的版本號(hào)進(jìn)行認(rèn)證具體為檢查客戶端的版本號(hào)是否和服務(wù)端的版本號(hào)兼容, 如果不兼容,則拒絕訪問(wèn),如果兼容,則通過(guò)訪問(wèn);所述服務(wù)端接口模塊對(duì)客 戶端設(shè)備代碼的認(rèn)證具體為檢查要訪問(wèn)的設(shè)備代碼是否本服務(wù)端配置的設(shè)備 代碼,如果不是,則拒絕用戶訪問(wèn),如果是,則通過(guò)訪問(wèn)。
4、 如權(quán)利要求2所述的方法,其特征在于,所述服務(wù)端權(quán)限管理系統(tǒng)對(duì)所 述用戶用戶名和用戶密碼的認(rèn)證具體為權(quán)限管理系統(tǒng)檢查客戶端的用戶名和 密碼是否正確,若用戶不存在或者密碼不正確,則拒絕訪問(wèn),如果用戶名存在 并且密碼正確,則通過(guò)訪問(wèn);所述服務(wù)端權(quán)限管理系統(tǒng)對(duì)被訪問(wèn)的服務(wù)端接口 ID進(jìn)行認(rèn)證具體為權(quán)限管理系統(tǒng)通過(guò)所述接口 ID才全查該用戶是否具有訪問(wèn) 該接口的權(quán)限,若沒(méi)有,則拒絕訪問(wèn),若有,則通過(guò)訪問(wèn)。
5、 如權(quán)利要求l所述的方法,其特征在于,所述服務(wù)端接口模塊將所述安 全驗(yàn)證參數(shù)發(fā)送給服務(wù)端權(quán)限管理系統(tǒng)的同時(shí),還將客戶端的IP地址發(fā)送給所 述服務(wù)端權(quán)限管理系統(tǒng),由所述權(quán)限管理系統(tǒng)對(duì)所述IP地址進(jìn)行認(rèn)證。
6、 如權(quán)利要求5所述的方法,其特征在于,所述服務(wù)端權(quán)限管理系統(tǒng)對(duì)所 述IP地址進(jìn)行認(rèn)證具體為檢查客戶端是否配置了綁定IP地址檢查,若已經(jīng)配 置,則抬r驗(yàn)所述IP地址是否在服務(wù)端配置的綁定IP地址范圍內(nèi),如果在,則通 過(guò)訪問(wèn),如果客戶端沒(méi)有配置綁定IP地址^r查或者所述IP地址不在服務(wù)端配置 的綁定IP地址范圍內(nèi),則拒絕訪問(wèn)。
7、 如權(quán)利要求l所述的方法,其特征在于,所述服務(wù)端權(quán)限管理系統(tǒng)在進(jìn) 行認(rèn)證時(shí)需要調(diào)取服務(wù)端數(shù)據(jù)庫(kù)中的數(shù)據(jù)來(lái)進(jìn)行認(rèn)證。
8、 一種安全的Web service訪問(wèn)系統(tǒng),其特征在于,該系統(tǒng)包括客戶端和 服務(wù)端,客戶端通過(guò)訪問(wèn)服務(wù)端的接口模塊,獲取服務(wù);服務(wù)端包括接口模塊 和權(quán)限管理系統(tǒng),該接口模塊用于為客戶端提供訪問(wèn)服務(wù)并獲取客戶端提供的 訪問(wèn)請(qǐng)求參數(shù);該權(quán)限管理系統(tǒng)用于在所述接口模塊通過(guò)認(rèn)證后從所述接口模 塊接收安全-瞼證參數(shù)和接口 ID,并對(duì)該安全^r證參數(shù)和接口 ID進(jìn)行iU正。
9、 如權(quán)利要求8所述的系統(tǒng),其特征在于,該系統(tǒng)還包括數(shù)據(jù)庫(kù),用于為 服務(wù)端權(quán)限管理系統(tǒng)和服務(wù)端業(yè)務(wù)處理系統(tǒng)提供訪問(wèn)數(shù)據(jù)。
10、 如權(quán)利要求8所述的系統(tǒng),其特征在于,該系統(tǒng)還包括業(yè)務(wù)處理系統(tǒng), 用于在客戶端通過(guò)認(rèn)證時(shí)為客戶端提供相應(yīng)的業(yè)務(wù)。
全文摘要
本發(fā)明公開了一種安全的Web service訪問(wèn)方法和系統(tǒng),方法的主要步驟如下客戶端向服務(wù)端發(fā)起訪問(wèn)請(qǐng)求,服務(wù)端的接口模塊獲取客戶端提供的安全驗(yàn)證參數(shù),并對(duì)該安全驗(yàn)證參數(shù)進(jìn)行認(rèn)證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則將該安全驗(yàn)證參數(shù)和接口ID發(fā)送給服務(wù)端權(quán)限管理系統(tǒng);服務(wù)端的權(quán)限管理系統(tǒng)對(duì)安全驗(yàn)證參數(shù)和被訪問(wèn)的接口ID進(jìn)行認(rèn)證,如果認(rèn)證失敗,則拒絕訪問(wèn),如果通過(guò)認(rèn)證,則客戶端可以通過(guò)訪問(wèn)服務(wù)端業(yè)務(wù)處理系統(tǒng)獲取所需業(yè)務(wù)。本文所提出的方法和系統(tǒng),通過(guò)服務(wù)端接口模塊和服務(wù)端權(quán)限管理系統(tǒng)進(jìn)行雙重認(rèn)證,增加了Web Service服務(wù)器的安全性。
文檔編號(hào)H04L9/32GK101515932SQ20091010616
公開日2009年8月26日 申請(qǐng)日期2009年3月23日 優(yōu)先權(quán)日2009年3月23日
發(fā)明者劉新田, 強(qiáng) 狄 申請(qǐng)人:中興通訊股份有限公司