欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于webservice認(rèn)證的方法及系統(tǒng)的制作方法

文檔序號(hào):7754073閱讀:329來(lái)源:國(guó)知局
專利名稱:基于webservice認(rèn)證的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體而言,本發(fā)明涉及基于webservice認(rèn)證的方法及 系統(tǒng)。
背景技術(shù)
webservice是由企業(yè)發(fā)布的完成其特定商務(wù)需求的在線應(yīng)用服務(wù),其他公司或應(yīng) 用軟件能夠通過(guò)Internet來(lái)訪問(wèn)并使用這項(xiàng)在線服務(wù)。它是一種構(gòu)建應(yīng)用程序的普遍模 型,可以在任何支持網(wǎng)絡(luò)通信的操作系統(tǒng)中實(shí)施運(yùn)行,它是自包含、自描述、模塊化的應(yīng)用, 可以發(fā)布、定位、通過(guò)web調(diào)用的應(yīng)用程序。具體而言,webservice是一個(gè)應(yīng)用組件,它邏輯 性的為其他應(yīng)用程序提供數(shù)據(jù)與服務(wù)。各應(yīng)用程序通過(guò)網(wǎng)絡(luò)協(xié)議和規(guī)定的一些標(biāo)準(zhǔn)數(shù)據(jù)格 式,例如HTTP (Hypertext Transfer Protocol,超文本傳輸協(xié)議)、XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言)、SOAP (Simple ObjectAccess Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議) 等來(lái)訪問(wèn)webservice,通過(guò)webservice內(nèi)部執(zhí)行得到所需結(jié)果。webservice可以執(zhí)行從 簡(jiǎn)單的請(qǐng)求到復(fù)雜商務(wù)處理的任何功能。一旦部署以后,其他webservice應(yīng)用程序可以發(fā) 現(xiàn)并調(diào)用它部署的服務(wù)。目前,現(xiàn)在電視臺(tái)內(nèi)廣泛是由基于webservice的MSB(Media ServiceBus,媒體 服務(wù)總線)來(lái)集成多個(gè)廠家的系統(tǒng),其中每一個(gè)廠家都提供不止一個(gè)webservice服務(wù)。 同時(shí)為了管理方便,又需要實(shí)現(xiàn)單點(diǎn)登錄,但是由于webservice協(xié)議沒(méi)有提供可以實(shí)現(xiàn) 基于多webservice服務(wù)的單點(diǎn)登錄機(jī)制,因此一些廠家就提供了基于LDAP(Lightweight Directory AccessProtocol,輕量目錄訪問(wèn)協(xié)議)服務(wù)的、用戶名、密碼明碼傳輸?shù)恼J(rèn)證單 點(diǎn)登錄機(jī)制,具體如圖1所示第一個(gè)消息是客戶端通過(guò)SOAP發(fā)送明碼的用戶、密碼;第二消息認(rèn)證服務(wù)器返回一個(gè)令牌token ;第三個(gè)消息是客戶端可以發(fā)送這個(gè)token去獲取服務(wù);第四個(gè)消息是webservice服務(wù)去認(rèn)證服務(wù)器驗(yàn)證此token的合法性。所謂單點(diǎn)登錄是指用戶在一個(gè)程序登錄一次后,訪問(wèn)任何有授權(quán)的服務(wù)都不需再 輸入口令。但是,上述機(jī)制存在以下問(wèn)題用戶名、密碼是明碼傳輸,很容易在傳輸環(huán)節(jié)被獲取,而且系統(tǒng)本身有消息的日志 功能,有系統(tǒng)維護(hù)權(quán)限的人員可以通過(guò)消息獲得其他人的用戶名好密碼;token沒(méi)有時(shí)間標(biāo)記,沒(méi)有防御重放攻擊的能力。從上面可以總結(jié)得出,目前webservice的認(rèn)證方案一般都是基于http協(xié)議的認(rèn) 證,而基于http協(xié)議的認(rèn)證只能實(shí)現(xiàn)單個(gè)webservice服務(wù)的認(rèn)證,即每個(gè)webservice服 務(wù)需要保存一份用戶名、密碼、權(quán)限等信息,不能實(shí)現(xiàn)多個(gè)webservice服務(wù)的統(tǒng)一認(rèn)證。在webservice調(diào)用時(shí)調(diào)用的參數(shù)是在XML文件中的文本文件,很容易被截獲,發(fā) 生用戶口令竊用或者重放攻擊。同時(shí)鑒于webservice調(diào)用的SOAP封裝是在HTTP協(xié)議上傳輸,因此webservice
4對(duì)于基于狀態(tài)的調(diào)用支持并不友好。而且如果一個(gè)程序需要多次請(qǐng)求一個(gè)或者多個(gè)需認(rèn)證 的服務(wù),而每一個(gè)服務(wù)獨(dú)自維護(hù)一個(gè)用戶權(quán)限列表,則需要程序的用戶多次輸入不同的用 戶名和口令,同時(shí)需維護(hù)不同服務(wù)的登錄狀態(tài)。這使得用戶使用中需要根據(jù)不同的服務(wù)輸 入不同口令,造成用戶使用極為不便,而且使得系統(tǒng)的權(quán)限管理極為復(fù)雜。因此,有必要提出一種高效安全的單點(diǎn)登錄的安全認(rèn)證方案,實(shí)現(xiàn)用戶對(duì)服務(wù)器 的訪問(wèn)。

發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一,特別對(duì)通過(guò)第三方的認(rèn)證機(jī)制, 統(tǒng)一對(duì)用戶的單點(diǎn)登錄進(jìn)行安全認(rèn)證,實(shí)現(xiàn)用戶對(duì)服務(wù)器的訪問(wèn)。為了達(dá)到上述目的,本發(fā)明的實(shí)施例一方面提出了一種基于webservice認(rèn)證的 方法,包括以下步驟用戶向認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示所述用戶需要請(qǐng)求的業(yè)務(wù);所述認(rèn)證服務(wù)設(shè) 備向所述用戶發(fā)送反饋信息,所述反饋信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述用戶共享的密鑰 進(jìn)行加密;所述用戶根據(jù)所述反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器,所述業(yè)務(wù)服務(wù)器對(duì)所述用 戶進(jìn)行認(rèn)證。本發(fā)明實(shí)施例另一方面還提出了一種基于webservice認(rèn)證的系統(tǒng),包括認(rèn)證服 務(wù)設(shè)備、業(yè)務(wù)服務(wù)器以及至少一個(gè)用戶,所述用戶,用于向所述認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示所述用戶需要請(qǐng)求的業(yè)務(wù);所 述認(rèn)證服務(wù)設(shè)備,用于向所述用戶發(fā)送反饋信息,所述反饋信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與 所述用戶共享的密鑰進(jìn)行加密;所述業(yè)務(wù)服務(wù)器,用于當(dāng)所述用戶根據(jù)所述反饋信息訪問(wèn) 所述業(yè)務(wù)服務(wù)器時(shí),所述業(yè)務(wù)服務(wù)器對(duì)所述用戶進(jìn)行認(rèn)證。本發(fā)明提出的上述方案,通過(guò)第三方的認(rèn)證機(jī)制,統(tǒng)一對(duì)用戶的單點(diǎn)登錄進(jìn)行安 全認(rèn)證,實(shí)現(xiàn)用戶用一個(gè)用戶名密碼安全對(duì)多個(gè)webservice服務(wù)的訪問(wèn)。此外,本發(fā)明提 出的上述方案,可以通過(guò)軟件庫(kù),分別部署在客戶端、認(rèn)證服務(wù)設(shè)備、webservice服務(wù)器上, 作為插件很容易的部署在系統(tǒng)上,對(duì)現(xiàn)有系統(tǒng)的改動(dòng)很小,不會(huì)影響系統(tǒng)的兼容性,而且實(shí) 現(xiàn)簡(jiǎn)單、高效。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。


本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變 得明顯和容易理解,其中圖1為現(xiàn)有技術(shù)中的認(rèn)證機(jī)制;圖2為本發(fā)明實(shí)施例基于webservice認(rèn)證的方法流程圖;圖3為本發(fā)明實(shí)施例基于webservice認(rèn)證的系統(tǒng)結(jié)構(gòu)示意圖;圖4為用戶注冊(cè)示意圖;圖5為服務(wù)請(qǐng)求認(rèn)證示意圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附 圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。本發(fā)明提出認(rèn)證方案的基本原理是基于第三方信任的機(jī)制,為了便于理,便于理 解擬人化說(shuō)明如下,其中甲相當(dāng)于認(rèn)證服務(wù)設(shè)備,乙相當(dāng)于訪問(wèn)業(yè)務(wù)的用戶,丙相當(dāng)于業(yè)務(wù) 服務(wù)器(1)甲、乙、丙三人,乙信任甲,且乙與甲共享一個(gè)其他人所不知的密鑰,使用該密 鑰封裝的信息,除甲乙二人可以打開看到真實(shí)內(nèi)容外,甲乙二人以外任何人不能看到該真 實(shí)內(nèi)容,除非有人知道甲、乙二人共享的密鑰;同樣丙信任甲,且丙與甲共享一個(gè)其他人所 不知的密鑰,該密鑰封裝信息的內(nèi)容也只有丙與甲才可以看到其真實(shí)的內(nèi)容;甲可以控制 乙對(duì)丙的訪問(wèn)權(quán)限;(2)乙請(qǐng)向丙請(qǐng)求服務(wù)前,乙告訴甲“我要向丙請(qǐng)求服務(wù)”;(3)甲用甲、乙共享的密鑰封裝一個(gè)信息返回給乙,該信息包括如下信息(a)用甲、丙共享密鑰封裝的信息,該信息包括內(nèi)容有乙的身份信息、乙請(qǐng)求丙服 務(wù)內(nèi)容的信息、暫時(shí)分配一個(gè)乙與丙共享的會(huì)話密鑰、該共享會(huì)話密鑰的過(guò)期時(shí)間等;(b)乙請(qǐng)求丙服務(wù)內(nèi)容的信息、暫時(shí)分配一個(gè)乙與丙共享的會(huì)話 密鑰、該共享 會(huì)話密鑰的過(guò)期時(shí)間;(4)乙用甲、乙共享的密鑰讀取信息中內(nèi)容,并且把以下信息發(fā)送給丙(a)乙從信息中讀取的甲用甲與丙共享密鑰封裝的信息;(b)不封裝的乙的名稱、當(dāng)前時(shí)間、請(qǐng)求的服務(wù);(c)用甲分配的由乙與丙共享的會(huì)話密鑰封裝的信息,信息內(nèi)的信息有當(dāng)前時(shí)間 等;(5)丙用甲與丙共享的密鑰讀取通過(guò)乙轉(zhuǎn)述的信息內(nèi)容,得到乙與丙的暫時(shí)共享 會(huì)話密鑰及過(guò)期時(shí)間,還是有乙請(qǐng)求的業(yè)務(wù)、乙的名字、乙請(qǐng)求的服務(wù);(6)丙用乙與丙的暫時(shí)共享密鑰得到乙請(qǐng)求時(shí)的當(dāng)前時(shí)間,丙通過(guò)比較不封裝的 乙的名稱、當(dāng)前時(shí)間、請(qǐng)求的服務(wù)與封裝乙的名稱、當(dāng)前時(shí)間、請(qǐng)求的服務(wù)是否相同,來(lái)判斷 發(fā)送該消息的“乙”是否是真正的乙,而且是經(jīng)過(guò)甲授權(quán)的乙。基于上述原理,為了實(shí)現(xiàn)本發(fā)明之目的,如圖2所示,本發(fā)明公開了一種基于 webservice認(rèn)證的方法,包括以下步驟步驟SllO 用戶向認(rèn)證服務(wù)設(shè)備發(fā)送信息指示需要請(qǐng)求的業(yè)務(wù)。在步驟SllO中,用戶向認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示用戶需要請(qǐng)求的業(yè)務(wù)。如果一個(gè)程序需要多次請(qǐng)求一個(gè)或者多個(gè)需認(rèn)證的服務(wù),用戶可以一次性向認(rèn)證 服務(wù)設(shè)備發(fā)送信息,指示用戶需要請(qǐng)求的業(yè)務(wù),其后完成統(tǒng)一的認(rèn)證。這樣不需要每一個(gè)服 務(wù)獨(dú)自維護(hù)一個(gè)用戶權(quán)限列表,也不需要用戶多次輸入不同的用戶名和口令,不需要維護(hù) 不同服務(wù)的登錄狀態(tài),系統(tǒng)的權(quán)限管理也能簡(jiǎn)單化步驟S120 認(rèn)證服務(wù)設(shè)備向用戶發(fā)送經(jīng)過(guò)加密的反饋信息。在步驟S120中,認(rèn)證服務(wù)設(shè)備向用戶發(fā)送反饋信息,反饋信息通過(guò)認(rèn)證服務(wù)設(shè)備 與用戶共享的密鑰進(jìn)行加密。
6
具體而言,反饋信息包括認(rèn)證服務(wù)設(shè)備發(fā)送給業(yè)務(wù)服務(wù)器的信息,以及用戶訪問(wèn) 業(yè)務(wù)服務(wù)器的配置信息。其中,認(rèn)證服務(wù)設(shè)備發(fā)送給業(yè)務(wù)服務(wù)器的信息通過(guò)認(rèn)證服務(wù)設(shè)備與業(yè)務(wù)服務(wù)器共 享的密鑰進(jìn)行加密。認(rèn)證服務(wù)設(shè)備發(fā)送給業(yè)務(wù)服務(wù)器的信息包括以下一種或多種信息用戶的身份信息,用戶向業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的用戶與業(yè)務(wù)服 務(wù)器共享的會(huì)話密鑰,以及用戶與業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰的過(guò)期時(shí)間;用戶訪問(wèn)業(yè)務(wù)服務(wù)器的配置信息包括以下一種或多種信息用戶向業(yè)務(wù)服務(wù)器請(qǐng) 求業(yè)務(wù)的信息,暫時(shí)分配的用戶與業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰,以及用戶與業(yè)務(wù)服務(wù)器共 享的會(huì)話密鑰的過(guò)期時(shí)間。步驟S130 業(yè)務(wù)服務(wù)器對(duì)訪問(wèn)的用戶進(jìn)行認(rèn)證。在步驟S130中,用戶根據(jù)所述反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器,業(yè)務(wù)服務(wù)器對(duì)用 戶進(jìn)行認(rèn)證。具體而言,用戶根據(jù)反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器包括用戶向業(yè)務(wù)服務(wù)器轉(zhuǎn)發(fā)認(rèn)證服務(wù)設(shè)備發(fā)送給業(yè)務(wù)服務(wù)器的信息;用戶的身份信息,當(dāng)前的時(shí)間信息,以及用戶向業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息;通過(guò)暫時(shí)分配的用戶與業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰會(huì)話加密的當(dāng)前時(shí)間信息。業(yè)務(wù)服務(wù)器對(duì)用戶進(jìn)行認(rèn)證包括業(yè)務(wù)服務(wù)器通過(guò)認(rèn)證服務(wù)設(shè)備與業(yè)務(wù)服務(wù)器共享的密鑰讀取認(rèn)證服務(wù)設(shè)備通過(guò) 用戶轉(zhuǎn)發(fā)給業(yè)務(wù)服務(wù)器的信息,以及通過(guò)用戶與業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰讀取當(dāng)前時(shí)間 fn息;將通過(guò)密鑰獲取的信息與沒(méi)經(jīng)過(guò)密鑰加密的信息作比較,判斷用戶是否為合法用 戶。如圖3所示,本發(fā)明還公開了一種基于webservice認(rèn)證的系統(tǒng),包括認(rèn)證服務(wù)設(shè) 備110、業(yè)務(wù)服務(wù)器120以及至少一個(gè)用戶130。其中,用戶130用于向認(rèn)證服務(wù)設(shè)備110發(fā)送信息,指示用戶130需要請(qǐng)求的業(yè)務(wù)。認(rèn)證服務(wù)設(shè)備110用于向用戶130發(fā)送反饋信息,反饋信息通過(guò)認(rèn)證服務(wù)設(shè)備110 與用戶130共享的密鑰進(jìn)行加密。其中,反饋信息包括認(rèn)證服務(wù)設(shè)備110發(fā)送給業(yè)務(wù)服務(wù)器120的信息,以及用戶 130訪問(wèn)業(yè)務(wù)服務(wù)器120的配置信息。而且,認(rèn)證服務(wù)設(shè)備110通過(guò)用戶轉(zhuǎn)發(fā)給業(yè)務(wù)服務(wù)器120的信息通過(guò)認(rèn)證服務(wù)設(shè) 備110與業(yè)務(wù)服務(wù)器120共享的密鑰進(jìn)行加密。認(rèn)證服務(wù)設(shè)備110發(fā)送給業(yè)務(wù)服務(wù)器120的信息包括以下一種或多種信息用戶130的身份信息,用戶130向業(yè)務(wù)服務(wù)器120請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的用 戶130與業(yè)務(wù)服務(wù)器120共享的會(huì)話密鑰,以及用戶130與業(yè)務(wù)服務(wù)器120共享的會(huì)話密 鑰的過(guò)期時(shí)間;用戶130訪問(wèn)業(yè)務(wù)服務(wù)器120的配置信息包括以下一種或多種信息用戶130向 業(yè)務(wù)服務(wù)器120請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的用戶130與業(yè)務(wù)服務(wù)器120共享的會(huì)話密鑰,
7以及用戶130與業(yè)務(wù)服務(wù)器120共享的會(huì)話密鑰的過(guò)期時(shí)間。業(yè)務(wù)服務(wù)器120用于當(dāng)用戶130根據(jù)反饋信息訪問(wèn)業(yè)務(wù)服務(wù)器120時(shí),業(yè)務(wù)服務(wù) 器120對(duì)用戶130進(jìn)行認(rèn)證。具體而言,用戶130根據(jù)反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器120包括用戶130向業(yè)務(wù)服務(wù)器120轉(zhuǎn)發(fā)認(rèn)證服務(wù)設(shè)備110發(fā)送給業(yè)務(wù)服務(wù)器120的信 息;用戶130的身份信息,當(dāng)前的時(shí)間信息,以及用戶130向業(yè)務(wù)服務(wù)器120請(qǐng)求業(yè)務(wù) 的信息;通過(guò)暫時(shí)分配的用戶130與業(yè)務(wù)服務(wù)器120共享的會(huì)話密鑰加密的當(dāng)前時(shí)間信
肩、ο業(yè)務(wù)服務(wù)器120對(duì)用戶130進(jìn)行認(rèn)證包括業(yè)務(wù)服務(wù)器120通過(guò)認(rèn)證服務(wù)設(shè)備110與業(yè)務(wù)服務(wù)器120共享的密鑰讀取認(rèn)證服 務(wù)設(shè)備110通過(guò)用戶130轉(zhuǎn)發(fā)給業(yè)務(wù)服務(wù)器120的信息,以及通過(guò)用戶130與業(yè)務(wù)服務(wù)器 120共享的會(huì)話密鑰讀取當(dāng)前時(shí)間信息;將通過(guò)密鑰獲取的信息與沒(méi)經(jīng)過(guò)密鑰加密的信息作比較,判斷用戶130是否為合 法用戶130。本發(fā)明提出的上述方法或設(shè)備,通過(guò)第三方的認(rèn)證機(jī)制,統(tǒng)一對(duì)用戶的單點(diǎn)登錄 進(jìn)行安全認(rèn)證,實(shí)現(xiàn)用戶對(duì)服務(wù)器的訪問(wèn)。此外,本發(fā)明提出的上述方法或設(shè)備,可以通過(guò) 軟件庫(kù),分別部署在客戶端、認(rèn)證服務(wù)設(shè)備、webservice服務(wù)器上,作為插件很容易的部署 在系統(tǒng)上,對(duì)現(xiàn)有系統(tǒng)的改動(dòng)很小,不會(huì)影響系統(tǒng)的兼容性,而且實(shí)現(xiàn)簡(jiǎn)單、高效。為了進(jìn)一步闡述本發(fā)明,下面結(jié)合具體的例子,對(duì)本發(fā)明的具體應(yīng)用做進(jìn)一步闡 述。統(tǒng)一認(rèn)證方案中有以下角色,如圖4所示,分別定義如下用戶使用系統(tǒng)某一個(gè)功能的自然人或者一個(gè)程序,每一個(gè)用戶都有一個(gè)用戶名 和登錄口令,此用戶名和登錄口令在認(rèn)證服務(wù)器經(jīng)過(guò)認(rèn)證;客戶端是服務(wù)的客戶端,用戶通過(guò)客戶端訪問(wèn)系統(tǒng)服務(wù),用戶在訪問(wèn)系統(tǒng)服務(wù) 前,需要輸入用戶名和登錄口令進(jìn)行認(rèn)證,圖4中沒(méi)示出。為了便于理解本發(fā)明,在后面的 敘述中特意將用戶和客戶端分開,即用戶指代人,客戶端指代用戶使用的終端,因此,這里 的用戶加客戶端的完成的功能,等同于前面描述的用戶、用戶130的功能。服務(wù)提供服務(wù)的已經(jīng)運(yùn)行的程序。認(rèn)證服務(wù)設(shè)備提供第三方信任的認(rèn)證程序或設(shè)備。系統(tǒng)中用戶去認(rèn)證服務(wù)器進(jìn)行注冊(cè),注冊(cè)內(nèi)容必須包括用戶名和登錄口令這兩個(gè) 基本要素。同時(shí)對(duì)網(wǎng)絡(luò)系統(tǒng)中每一個(gè)服務(wù)也要分配用戶名和登錄口令,并進(jìn)行注冊(cè)。在認(rèn)證服務(wù)器上可以配置用戶對(duì)各個(gè)服務(wù)的訪問(wèn)權(quán)限。這樣針對(duì)每一個(gè)合法用戶或者服務(wù),在認(rèn)證服務(wù)器上都有一個(gè)用戶名和登錄口 令,這個(gè)用戶名和登錄口令對(duì)這有認(rèn)證服務(wù)器和用戶本身知道,其他用戶和服務(wù)不能獲得, 即除認(rèn)證服務(wù)器外,其他服務(wù)不能獲得用戶的登錄口令。在注冊(cè)完成后,就可以進(jìn)行統(tǒng)一認(rèn)證服務(wù)。認(rèn)證流程圖如圖2所示,具體流程包 括
(1)用戶進(jìn)入客戶端程序時(shí)輸入用戶的名稱和口令;(2)客戶端程序把用戶名稱和可能申請(qǐng)的服務(wù)以及申請(qǐng)服務(wù)的過(guò)期時(shí)間等信息生 成“認(rèn)證請(qǐng)求消息”,并發(fā)送給認(rèn)證服務(wù);(3)認(rèn)證服務(wù)查找用戶是否存在,如果存在,讀取用戶口令,用散列或的用戶口令 作為密鑰加密以下信息,生成“認(rèn)證請(qǐng)求相應(yīng)消息”并返回給客戶端程序a)客戶端認(rèn)證信息;b)檢查用戶是否具有請(qǐng)求服務(wù)的權(quán)限,如果具有權(quán)限,用被請(qǐng)求服務(wù)的口令散列 后的密鑰加密請(qǐng)求信息;(4)客戶端程序使用用戶輸入的口令,散列生成解密密鑰解密“認(rèn)證請(qǐng)求相應(yīng)消 息”,確認(rèn)用戶輸入的口令是否正確,并且得到服務(wù)請(qǐng)求響應(yīng)信息,根據(jù)響應(yīng)信息有無(wú)可以 判斷用戶對(duì)該服務(wù)是否具有訪問(wèn)權(quán)限。(5)當(dāng)用戶需要訪問(wèn)服務(wù)時(shí),生成“服務(wù)請(qǐng)求認(rèn)證消息”,發(fā)送給服務(wù)程序,服務(wù)程 序通過(guò)散列本身的口令生成的密碼解密“服務(wù)請(qǐng)求認(rèn)證消息”,從而判斷請(qǐng)求是否有效。認(rèn)證流程中各個(gè)消息的嚴(yán)謹(jǐn)?shù)男问交磉_(dá)如下所述。作為本發(fā)明的實(shí)施例,符號(hào)定義如下H(m)對(duì)數(shù)據(jù)m取SHAl散列,返回SHAl摘要值;Ck(m)使用密鑰k加密數(shù)據(jù)m,加密算法為AES128,采用ECB方式加密,如果m不 能被16整除,使用空格補(bǔ)齊;返回加密后的密文;Dk(m)使用密鑰k解密數(shù)據(jù)m,機(jī)密算法為AES128,m的加密方式采用ECB,解密后 去掉明文末尾空格并返回;UP 用戶的登錄 口令,User Password ;SP 服務(wù)的登錄口令,Service Password ;Sid 會(huì)話ID(SESSI0N_ID),8個(gè)字節(jié)的數(shù)字和字母的組合;SK 會(huì)話密鑰(SESSI0N_KEY),UN 用戶名User Name,不能含有空格、“,”字符;SN 服務(wù)命名Service Name,不能含有空格、“,”字符;ET:過(guò)期時(shí)間(Expire Time),字符格式的 YYYYMM:DD:HH:MM: SSCT:當(dāng)前時(shí)間(Current Time),字符格式的 YYYY:MM:DD:HH:MM:SS(x,y)用“,,,連 接兩個(gè)字符串X和y,輸出為“X,ι";BC (χ)對(duì)數(shù)據(jù)χ進(jìn)行BASE64編碼;BD (χ)對(duì)數(shù)據(jù)χ進(jìn)行基于BASE64的解碼。Rn :η個(gè)隨機(jī)的0到9之間數(shù),組成的隨機(jī)數(shù)序列,使用ASCII編碼字符串認(rèn)證請(qǐng)求消息客戶端向認(rèn)證服務(wù)器發(fā)起認(rèn)證請(qǐng)求,認(rèn)證請(qǐng)求包括客戶端的用戶名、客戶端需要 訪問(wèn)的服務(wù)的用戶名列表、此次認(rèn)證請(qǐng)求訪問(wèn)每個(gè)服務(wù)的有效期限;認(rèn)證請(qǐng)求消息的邏輯結(jié)構(gòu)為UNFor(i = 0 ;i < η ;i++){
SNET}認(rèn)證響應(yīng)消息認(rèn)證服務(wù)器接收到客戶端的認(rèn)證請(qǐng)求后,檢查USER_NAME用戶是否存在,如果存 在則檢查該用戶的請(qǐng)求服務(wù)是否存在。然后返回認(rèn)證響應(yīng)消息給客戶端。認(rèn)證響應(yīng)消息的邏輯結(jié)構(gòu)為Sid-ABC (CH(UP) (R8,Sid_A))For(i = 0 ;i < η ;i++){(BC (CH(UP) (BC (CH(SP) (BC (SK),ET, UN, Sid)), BC (SK))),ET,SN,Sid)}服務(wù)請(qǐng)求認(rèn)證消息客戶端獲得認(rèn)證響應(yīng)消息后可以通過(guò)以下步驟計(jì)算
CH(UP) (BC (Ch(sp) (BC (SK) ,ET,UN)), BC (SK))=BD (BC (CH(UP) (BC (CH(SP) (BC (SK),ET,UN)),BC (SK))))(BC (CH(SP) (BC (SK),ET, UN, Sid)), BC (SK))= Dh(up) (Ch(up) (BC (SK),ET,UN)),BC (SK)))SK = BD (BC (SK))(R, Sid_A) = Dh(up) (Ch(up) (Rn,Sid_A))客戶端首先根據(jù)認(rèn)證相應(yīng)消息中Sid-A與(R,Sid_A)中Sid-A判斷用戶輸入口令 是否正確,根據(jù)設(shè)置如果用戶輸入的口令不正確,客戶端可以禁止用戶登錄進(jìn)行到客戶端 中。當(dāng)用戶需要向某一個(gè)服務(wù)請(qǐng)求服務(wù)時(shí),客戶端根據(jù)需要請(qǐng)求服務(wù)的SN,找到對(duì)應(yīng) 的BC(Catep) (BC(SK),ET,UN,Sid))與SK??蛻舳讼蚍?wù)器發(fā)出帶有以下認(rèn)證內(nèi)容的服務(wù)請(qǐng) 求認(rèn)證消息,服務(wù)請(qǐng)求認(rèn)證消息內(nèi)容的邏輯結(jié)構(gòu)為{(UN, CT, Sid, BC(CH(SP) (BC(SK),ET, UN, Sid))),BC(CSK(CT, R8)))}服務(wù)程序?qū)Ψ?wù)請(qǐng)求認(rèn)證消息的處理服務(wù)程序獲得認(rèn)證內(nèi)容后,進(jìn)行以下運(yùn)算CH(SP) (BC(SK),ET, UN, Sid)) = BD(BC(CH(SP) (BC(SK),ET, UN, Sid)))) (BC(SK),ET, UN, Sid)) = Dh(sp) (Ch(sp) (BC (SK),ET, UN, Sid)))SK = BD (BC (SK))(CSK (CT, R8)) = BD (BC (CSK (CT,R8)))(CT, R8) = Dh(sk) (Csk(CTjR8))服務(wù)器進(jìn)行以上運(yùn)算后,進(jìn)行客戶端認(rèn)證比較明碼傳輸?shù)腃T與解密后的CT、明 碼傳輸?shù)腟id與解密后的Sid、明碼傳輸?shù)腢N與解密后的UN,如果全部相同則通過(guò)認(rèn)證,否則不能通過(guò)認(rèn)證。在通過(guò)客戶端認(rèn)證后,要檢查是否存在重放攻擊要驗(yàn)證CT與服務(wù)器當(dāng)前時(shí)間的 差別,如果差別超過(guò)5分鐘則不能通過(guò)驗(yàn)證,如果CT與服務(wù)器時(shí)間當(dāng)前差別不超過(guò)5分鐘, 但是在5分鐘內(nèi)接收到2個(gè)Sid、R8相同的認(rèn)證內(nèi)容,則認(rèn)為是重放攻擊,第二個(gè)不能通過(guò) 認(rèn)證。認(rèn)證消息的schema定義為了使基于webservice系統(tǒng)的統(tǒng)一認(rèn)證的靈活性,本統(tǒng)一認(rèn)證方案并沒(méi)有規(guī)定 wsdl的接口,只是定義了統(tǒng)一認(rèn)證方案的消息,任何webservice的接口可以包含這些消 息。消息的schema定義如下
0152]< ? xml version = “ 1.0〃 encoding = “ IS0-8859-1" ? >
0153]<xsschema xmlnsxs = “ http://www.w3.org/2001/XMLSchema" >
0154]< ! __sn = service name,月艮務(wù)名稱 __>
0155]<xs element name=" sn" type=" xs: string" />
0156]<! —un = user name,用戶名稱一>
0157]<xs: element name=" un" type=" xs: string" />
0158]< ! —et = expire time,過(guò)期時(shí)間,格式為 YYYY:MM:DD:HH:MM:SS—>
0159]<xs: element name=" et" type=" xs: string" />
0160]<xs:simpleType>
0161]<xs:restriction base=" xs: string" >
0162]<xs:pattern
0163]value = “
{4}:
:
:
:
:
:
0-9]〃>
0164]</xs:restriction)
0165]</xs:simpleType>
0166]</xs:element)
0167]< ! —s_id = session id,會(huì)話標(biāo)識(shí)一>
0168]<xs:element name=" s_id" >
0169]<xs:simpleType>
0170]<xs:restriction base=" xs: string" >
0171]<xs:pattern value = " [a-fO-9]{8}〃 >
0172]</xs:restriction)
0173]</xs:simpleType>
0174]</xs:element)
0175]< ! __requestService = request service,請(qǐng)求的月艮務(wù)信息 __>
0176]<xselement name=" requestService" >
0177]<xs:complexType>
0178]<xs:sequence)
0179]<xs:element ref = " sn" />
0180]<xs:element ref = " et" />
</xs complexType></xs: element)< ! —client login authentication response,認(rèn)證口向應(yīng)消息的客戶端認(rèn)證部 分,形式化表達(dá)式為BC (CH(UP)(R8,Sid_A))—><xs element name=" clientLoginAuthRes “ type=" xs: string" />< ! —serviceLoginAuthRes = service login authentication response,認(rèn)證 響應(yīng)消息的服務(wù)認(rèn)證部分,形式化表達(dá)為(BC(CH(UP) (BC(Ciusp) (BC(SK),ET,UN,Sid)),BC(SK))),ET,SN,Sid)—><xs: element name =" serviceLoginAuthRes“ type =" xs: string" />< ! —IoginReqMessage = login request message,認(rèn)證請(qǐng)求消息一>〈xs:element name =" IoginReqMessage“ ><xs: complexType><xs: sequence)〈xs: element ref =〃 un〃 />〈xs:element ref = 〃 requestService〃 maxOccurs =〃 unbounded" /></xs: sequence)</xs: complexType>〈/xs: element〉< ! —IoginResMessage = login response message,認(rèn)證口向應(yīng)消息一>〈xs:element name =" IoginResMessage" ><xs: complexType><xs: sequence)〈xs:element ref =" s_id" /><xs:element ref = 〃 clientLoginAuthRes" /><xs:element ref =“ serviceLoginAuthRes“maxOccurs =" unbounded" /></xs: sequence)</xs: complexType>〈/xs: element〉< ! —crsMsg = client request service auth message,月艮務(wù)請(qǐng)求認(rèn)證消息,形 式化表達(dá)為(UN, CT, Sid, BC(CH(SP) (BC(SK),ET, UN, Sid))),BC(CSK(CT, R8)))—><xs: element name=" crsMsg" type=" xs: string" /></xs: schema〉本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可
12以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中, 該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模 塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中。上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人 員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng) 視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種基于webservice認(rèn)證的方法,其特征在于,包括以下步驟用戶向認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示所述用戶需要請(qǐng)求的業(yè)務(wù);所述認(rèn)證服務(wù)設(shè)備向所述用戶發(fā)送反饋信息,所述反饋信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述用戶共享的密鑰進(jìn)行加密;所述用戶根據(jù)所述反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器,所述業(yè)務(wù)服務(wù)器對(duì)所述用戶進(jìn)行認(rèn)證。
2.如權(quán)利要求1所述的基于webservice認(rèn)證的方法,其特征在于,所述反饋信息包括 所述認(rèn)證服務(wù)設(shè)備發(fā)送給所述業(yè)務(wù)服務(wù)器的信息,以及所述用戶訪問(wèn)所述業(yè)務(wù)服務(wù)器的配直fe息。
3.如權(quán)利要求2所述的基于webservice認(rèn)證的方法,其特征在于,所述認(rèn)證服務(wù)設(shè)備 發(fā)送給所述業(yè)務(wù)服務(wù)器的信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述業(yè)務(wù)服務(wù)器共享的密鑰進(jìn)行 加密。
4.如權(quán)利要求3所述的基于webservice認(rèn)證的方法,其特征在于,所述認(rèn)證服務(wù)設(shè)備 發(fā)送給所述業(yè)務(wù)服務(wù)器的信息包括以下一種或多種信息所述用戶的身份信息,所述用戶向所述業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的所述 用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰,以及所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰 的過(guò)期時(shí)間;所述用戶訪問(wèn)所述業(yè)務(wù)服務(wù)器的配置信息包括以下一種或多種信息所述用戶向所述 業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰,以 及所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰的過(guò)期時(shí)間。
5.如權(quán)利要求4所述的基于webservice認(rèn)證的方法,其特征在于,所述用戶根據(jù)所述 反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器包括所述用戶向所述業(yè)務(wù)服務(wù)器轉(zhuǎn)發(fā)所述認(rèn)證服務(wù)設(shè)備發(fā)送給所述業(yè)務(wù)服務(wù)器的信息; 所述用戶的身份信息,當(dāng)前的時(shí)間信息,以及所述用戶向所述業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的 fn息;通過(guò)暫時(shí)分配的所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰加密的當(dāng)前時(shí)間信息。
6.如權(quán)利要求5所述的基于webservice認(rèn)證的方法,其特征在于,所述業(yè)務(wù)服務(wù)器對(duì) 所述用戶進(jìn)行認(rèn)證包括所述業(yè)務(wù)服務(wù)器通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述業(yè)務(wù)服務(wù)器共享的密鑰讀取所述認(rèn)證 服務(wù)設(shè)備通過(guò)用戶轉(zhuǎn)發(fā)給所述業(yè)務(wù)服務(wù)器的信息,以及通過(guò)所述用戶與所述業(yè)務(wù)服務(wù)器共 享的會(huì)話密鑰讀取當(dāng)前時(shí)間信息;將通過(guò)密鑰獲取的信息與沒(méi)經(jīng)過(guò)密鑰加密的信息作比較,判斷所述用戶是否為合法用戶。
7.一種基于webservice認(rèn)證的系統(tǒng),其特征在于,包括認(rèn)證服務(wù)設(shè)備、業(yè)務(wù)服務(wù)器以 及至少一個(gè)用戶,所述用戶,用于向所述認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示所述用戶需要請(qǐng)求的業(yè)務(wù); 所述認(rèn)證服務(wù)設(shè)備,用于向所述用戶發(fā)送反饋信息,所述反饋信息通過(guò)所述認(rèn)證服務(wù) 設(shè)備與所述用戶共享的密鑰進(jìn)行加密;所述業(yè)務(wù)服務(wù)器,用于當(dāng)所述用戶根據(jù)所述反饋信息訪問(wèn)所述業(yè)務(wù)服務(wù)器時(shí),所述業(yè)務(wù)服務(wù)器對(duì)所述用戶進(jìn)行認(rèn)證。
8.如權(quán)利要求7所述的基于webservice認(rèn)證的系統(tǒng),其特征在于,所述反饋信息包括 所述認(rèn)證服務(wù)設(shè)備發(fā)送給所述業(yè)務(wù)服務(wù)器的信息,以及所述用戶訪問(wèn)所述業(yè)務(wù)服務(wù)器的配直fe息。
9.如權(quán)利要求8所述的基于webservice認(rèn)證的系統(tǒng),其特征在于,所述認(rèn)證服務(wù)設(shè)備 通過(guò)用戶轉(zhuǎn)發(fā)給所述業(yè)務(wù)服務(wù)器的信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述業(yè)務(wù)服務(wù)器共享的 密鑰進(jìn)行加密。
10.如權(quán)利要求9所述的基于webservice認(rèn)證的系統(tǒng),其特征在于,所述認(rèn)證服務(wù)設(shè)備 通過(guò)用戶轉(zhuǎn)發(fā)給所述業(yè)務(wù)服務(wù)器的信息包括以下一種或多種信息所述用戶的身份信息,所述用戶向所述業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的所述 用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰,以及所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰 的過(guò)期時(shí)間;所述用戶訪問(wèn)所述業(yè)務(wù)服務(wù)器的配置信息包括以下一種或多種信息所述用戶向所述 業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的信息,暫時(shí)分配的所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰,以 及所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰的過(guò)期時(shí)間。
11.如權(quán)利要求10所述的基于webservice認(rèn)證的系統(tǒng),其特征在于,所述用戶根據(jù)所 述反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器包括所述用戶向所述業(yè)務(wù)服務(wù)器轉(zhuǎn)發(fā)所述認(rèn)證服務(wù)設(shè)備發(fā)送給所述業(yè)務(wù)服務(wù)器的信息; 所述用戶的身份信息,當(dāng)前的時(shí)間信息,以及所述用戶向所述業(yè)務(wù)服務(wù)器請(qǐng)求業(yè)務(wù)的 fn息;通過(guò)暫時(shí)分配的所述用戶與所述業(yè)務(wù)服務(wù)器共享的會(huì)話密鑰加密的當(dāng)前時(shí)間信息。
12.如權(quán)利要求11所述的基于webservice認(rèn)證的系統(tǒng),其特征在于,所述業(yè)務(wù)服務(wù)器 對(duì)所述用戶進(jìn)行認(rèn)證包括所述業(yè)務(wù)服務(wù)器通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述業(yè)務(wù)服務(wù)器共享的密鑰讀取所述認(rèn)證 服務(wù)設(shè)備通過(guò)用戶轉(zhuǎn)發(fā)給所述業(yè)務(wù)服務(wù)器的信息,以及通過(guò)所述用戶與所述業(yè)務(wù)服務(wù)器共 享的會(huì)話密鑰讀取當(dāng)前時(shí)間信息;將通過(guò)密鑰獲取的信息與沒(méi)經(jīng)過(guò)密鑰加密的信息作比較,判斷所述用戶是否為合法用戶。
全文摘要
本發(fā)明的實(shí)施例提出了一種基于webservice認(rèn)證的方法,包括以下步驟用戶向認(rèn)證服務(wù)設(shè)備發(fā)送信息,指示所述用戶需要請(qǐng)求的業(yè)務(wù);所述認(rèn)證服務(wù)設(shè)備向所述用戶發(fā)送反饋信息,所述反饋信息通過(guò)所述認(rèn)證服務(wù)設(shè)備與所述用戶共享的密鑰進(jìn)行加密;所述用戶根據(jù)所述反饋信息訪問(wèn)相應(yīng)的業(yè)務(wù)服務(wù)器,所述業(yè)務(wù)服務(wù)器對(duì)所述用戶進(jìn)行認(rèn)證。本發(fā)明實(shí)施例另一方面還提出了一種基于webservice認(rèn)證的系統(tǒng)。本發(fā)明提出的上述方案,通過(guò)第三方的認(rèn)證機(jī)制,統(tǒng)一對(duì)用戶的單點(diǎn)登錄進(jìn)行安全認(rèn)證,實(shí)現(xiàn)用戶以一個(gè)用戶名密碼安全地對(duì)多個(gè)webservice服務(wù)器的訪問(wèn)。
文檔編號(hào)H04L29/08GK101938465SQ201010225399
公開日2011年1月5日 申請(qǐng)日期2010年7月5日 優(yōu)先權(quán)日2010年7月5日
發(fā)明者崔俊生, 鄧向冬 申請(qǐng)人:北京廣電天地信息咨詢有限公司;國(guó)家廣播電影電視總局廣播電視規(guī)劃院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江油市| 鹤山市| 敖汉旗| 永州市| 仪陇县| 象山县| 西盟| 大渡口区| 永康市| 常德市| 米泉市| 沧州市| 车险| 洱源县| 子长县| 新化县| 潮安县| 蒲城县| 太谷县| 革吉县| 桃源县| 当雄县| 蕲春县| 英超| 邯郸市| 梅州市| 格尔木市| 荥经县| 灵川县| 柘荣县| 溆浦县| 定襄县| 乐业县| 太仆寺旗| 彭阳县| 库车县| 白水县| 汤原县| 江山市| 苗栗市| 衢州市|