技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種信息處理方法和名字映射服務(wù)器。
背景技術(shù):
在傳輸控制協(xié)議(TCP)/網(wǎng)際協(xié)議(IP)體系中,最為核心的是網(wǎng)絡(luò)層的IP協(xié)議,通過(guò)IP地址實(shí)現(xiàn)用戶之間的相互訪問(wèn)。各種應(yīng)用,如網(wǎng)絡(luò)瀏覽、郵件收發(fā)、即時(shí)通訊等,都承載在應(yīng)用層協(xié)議之上。
用戶在使用這些業(yè)務(wù)之前必須通過(guò)電信運(yùn)營(yíng)商提供的基礎(chǔ)網(wǎng)絡(luò)接入互聯(lián)網(wǎng),不同的用戶可能有不同的接入方式,如各種類型數(shù)字用戶線路(xDSL)、光纖、移動(dòng)接入等等。一般情況下,用戶終端都會(huì)獲取到一個(gè)IP地址,用戶此后就通過(guò)這個(gè)IP地址訪問(wèn)互聯(lián)網(wǎng)上的各種應(yīng)用,這個(gè)IP地址就相當(dāng)于用戶的臨時(shí)身份。
由于IP地址的前綴部分表示用戶當(dāng)前所在的子網(wǎng),當(dāng)用戶位置發(fā)生變化時(shí),必須分配不同的IP地址,否則路由器無(wú)法正確地把數(shù)據(jù)包轉(zhuǎn)發(fā)給用戶。而因?yàn)镮P地址具有身份和位置的雙重屬性,同時(shí)用戶每次獲取到的IP地址不一定相同,從而無(wú)法作為用戶的長(zhǎng)期身份標(biāo)識(shí),因此互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng)必須自建一套用戶身份標(biāo)識(shí)系統(tǒng),即通常所說(shuō)的用戶賬號(hào)系統(tǒng)。
由此可見(jiàn),用戶在訪問(wèn)互聯(lián)網(wǎng)上的應(yīng)用時(shí)存在二次認(rèn)證的情況,運(yùn)營(yíng)商在用戶接入互聯(lián)網(wǎng)時(shí)進(jìn)行一次認(rèn)證,互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng)在用戶訪問(wèn)時(shí)進(jìn)行自身的認(rèn)證。
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng)也越來(lái)越多。由于這些應(yīng)用系統(tǒng)相互獨(dú)立,用戶在使用每一個(gè)系統(tǒng)之前必須先進(jìn)行注冊(cè)登記,并按照相應(yīng)的身份進(jìn)行登錄,為此用戶必須記住每個(gè)應(yīng)用系統(tǒng)的用戶名和密碼,這給用戶帶來(lái)了很大的麻煩。在這種情況下,單點(diǎn)登錄的概念被提了出來(lái),并得到應(yīng)用。
單點(diǎn)登錄(SSO,Single-Sign On)是一種方便用戶訪問(wèn)多個(gè)應(yīng)用系統(tǒng)的技術(shù),用戶只需要在登錄時(shí)進(jìn)行一次認(rèn)證,就可以在多個(gè)應(yīng)用系統(tǒng)之間自由訪問(wèn),不必重復(fù)輸入用戶名和密碼來(lái)確認(rèn)身份。
現(xiàn)有的互聯(lián)網(wǎng)單點(diǎn)登錄體系中,用戶在使用單點(diǎn)登錄之前,必須在身份提供商(IdP,Identity Provider)處進(jìn)行注冊(cè)登記,業(yè)務(wù)提供商(SP,Service Provider)的業(yè)務(wù)提供服務(wù)器依賴于身份提供商IdP的身份提供服務(wù)器的認(rèn)證結(jié)果向用戶提供業(yè)務(wù)。此外由于互聯(lián)網(wǎng)的身份提供商IdP通常是分散部署的,因而,如果業(yè)務(wù)提供商SP采用單點(diǎn)登錄方式,那么它的業(yè)務(wù)發(fā)展規(guī)模將很大程度上取決于它所依賴的IdP注冊(cè)用戶的數(shù)量。單點(diǎn)登錄涉及的主要技術(shù)有:開(kāi)放身份(OpenID)、Passport(通行證)、Liberty Alliance(自由聯(lián)盟)等。這里,OpenID易于使用,但存在安全隱患,不能很好地防范“釣魚”攻擊;Passport易于使用,安全性稍高,但目前僅適用于業(yè)務(wù)提供商SP內(nèi)部使用;Liberty Alliance有一定的安全性,但部署不易,用戶使用也不方便。
由于用戶在訪問(wèn)互聯(lián)網(wǎng)應(yīng)用之前,需要接入運(yùn)營(yíng)商網(wǎng)絡(luò),因而可以將運(yùn)營(yíng)商作為身份提供商IdP。運(yùn)營(yíng)商作為身份提供商IdP具有如下優(yōu)勢(shì):通過(guò)運(yùn)營(yíng)商的接入認(rèn)證,能夠很好的保證安全性,同時(shí),運(yùn)營(yíng)商作為身份提供商IdP,將不需要用戶重新進(jìn)行注冊(cè)登記,易于使用,并且運(yùn)營(yíng)商作為身份提供商IdP,相對(duì)于互聯(lián)網(wǎng)的身份提供商IdP,有一個(gè)優(yōu)質(zhì)成熟的用戶消費(fèi)群體。
當(dāng)前,IP地址具有雙重屬性的缺陷,帶來(lái)了移動(dòng)性和安全性問(wèn)題,已經(jīng)成為了制約互聯(lián)網(wǎng)產(chǎn)業(yè)進(jìn)一步發(fā)展的瓶頸。為了解決這個(gè)問(wèn)題,業(yè)界提出了HIP(Host Identity Protocol,主機(jī)標(biāo)識(shí)協(xié)議)和LISP(Locator/Identifier Separation Protocol,位置/標(biāo)識(shí)分離協(xié)議)技術(shù)等。這些技術(shù)的共同點(diǎn)是引入了兩類編碼:代表用戶身份的身份編碼和代表用戶位置的位置編碼,每個(gè)用戶都既有一個(gè)身份編碼又有一個(gè)位置編碼,用戶基于身份編碼和對(duì)端發(fā)生通信,當(dāng)用戶位置發(fā)生變化時(shí),用戶的身份編碼保持不變,而用戶的位置編碼將隨之變化。這樣,通過(guò)用戶身份編碼就可以始終對(duì)應(yīng)到用戶,而不會(huì)存在IP地址二義性的問(wèn)題。
但在現(xiàn)有的身份位置分離網(wǎng)絡(luò)技術(shù)中,用戶身份編碼只用于在網(wǎng)絡(luò)層標(biāo)識(shí)用戶身份,因而用戶訪問(wèn)互聯(lián)網(wǎng)應(yīng)用系統(tǒng)仍然需要多次注冊(cè)認(rèn)證。另一方面,由于用戶在大量不同的互聯(lián)網(wǎng)應(yīng)用系統(tǒng)中注冊(cè)賬號(hào),通常為了方便起見(jiàn),用戶注冊(cè)的賬號(hào)具有一定的規(guī)律性,那么很容易就導(dǎo)致用戶的身份隱私信息被泄露。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種信息處理方法和名字映射服務(wù)器,以解決用戶訪問(wèn)互聯(lián)網(wǎng)應(yīng)用系統(tǒng)需進(jìn)行多次注冊(cè)認(rèn)證的問(wèn)題。
本文提供了一種信息處理方法,該方法包括:
名字映射服務(wù)器(NMS)接收身份提供服務(wù)器發(fā)送的匿名身份請(qǐng)求,所述匿名身份請(qǐng)求中攜帶有用戶的身份標(biāo)識(shí);
所述NMS根據(jù)所述匿名身份請(qǐng)求生成與該身份標(biāo)識(shí)對(duì)應(yīng)的用戶的假名及與所述假名對(duì)應(yīng)的生存期,并向所述身份提供服務(wù)器返回所述用戶的假名及與所述假名對(duì)應(yīng)的生存期。
可選地,上述方法中,所述NMS向所述身份提供服務(wù)器發(fā)送所述用戶的假名及與所述假名對(duì)應(yīng)的生存期之后,所述方法還包括:
所述NMS接收所述身份提供服務(wù)器發(fā)送的來(lái)自所述用戶的攜帶指定用戶名及相應(yīng)生存期的匿名更新請(qǐng)求,根據(jù)匿名更新請(qǐng)求進(jìn)行更新處理,并返回更新結(jié)果。
本文還公開(kāi)了一種名字映射服務(wù)器(NMS),該NMS包括:
接收模塊,用于接收身份提供服務(wù)器發(fā)送的匿名身份請(qǐng)求,所述匿名身份請(qǐng)求中攜帶有用戶的身份標(biāo)識(shí);
生成發(fā)送模塊,用于根據(jù)所述接收模塊接收的所述匿名身份請(qǐng)求生成與該身份標(biāo)識(shí)對(duì)應(yīng)的用戶的假名及與所述假名對(duì)應(yīng)的生存期,并向所述身份提供服務(wù)器返回所述用戶的假名及與所述假名對(duì)應(yīng)的生存期。
可選地,上述NMS中,所述生成發(fā)送模塊,還用于接收所述身份提供服務(wù)器發(fā)送的來(lái)自所述用戶的攜帶指定用戶名及相應(yīng)生存期的匿名更新請(qǐng)求,根據(jù)匿名更新請(qǐng)求進(jìn)行更新處理,并返回更新結(jié)果。
本發(fā)明實(shí)施例,通過(guò)重利用接入認(rèn)證,很好地解決了用戶訪問(wèn)互聯(lián)網(wǎng)多次注冊(cè)認(rèn)證的問(wèn)題,通過(guò)生成假名對(duì)用戶隱私起到了保護(hù)的作用,避免了用戶隱私的泄露。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例所涉及的網(wǎng)元架構(gòu)示意圖;
圖2為本發(fā)明單點(diǎn)登錄方法實(shí)施例的流程圖;
圖3為本發(fā)明由業(yè)務(wù)提供服務(wù)器發(fā)起的單點(diǎn)登錄方法實(shí)施例的信令流程圖;
圖4為本發(fā)明由身份提供服務(wù)器發(fā)起的單點(diǎn)登錄方法實(shí)施例的信令流程圖;
圖5為本發(fā)明身份提供服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖;
圖6為本發(fā)明業(yè)務(wù)提供服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖;
圖7為本發(fā)明名字映射服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖;
圖8為本發(fā)明信息處理裝置實(shí)施例的結(jié)構(gòu)示意圖;
圖9為本發(fā)明單點(diǎn)登錄系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
為了更好地理解本發(fā)明,首先介紹一下本發(fā)明實(shí)施例所涉及的網(wǎng)元架構(gòu),如圖1所示,該架構(gòu)包括用戶終端(Mobile Node,MN)101、接入服務(wù)節(jié)點(diǎn)(Access Service Node,ASN)102、認(rèn)證中心103、身份提供商(Identity Provider,IdP)的身份提供服務(wù)器104、名字映射服務(wù)器(Name Mapping Server,NMS)105、互聯(lián)服務(wù)節(jié)點(diǎn)(Interconnect Service Node,ISN)106和業(yè)務(wù)提供商(Service Provider,SP)的業(yè)務(wù)提供服務(wù)器107,其中:
接入網(wǎng)絡(luò)的MN可以是移動(dòng)終端、固定終端中的一種或多種,如手機(jī)、固定電話、電腦和應(yīng)用服務(wù)器等;
ASN,用于為用戶終端提供接入服務(wù)、維護(hù)終端與網(wǎng)絡(luò)的連接,為終端分配路由標(biāo)識(shí)(Routing Identifier,RID),并到身份位置寄存器(ILR)/報(bào)文轉(zhuǎn)發(fā)功能實(shí)體(PTF)登記注冊(cè)和查詢終端的RID,維護(hù)接入標(biāo)識(shí)(Access Identifier,AID)-RID映射信息,以及實(shí)現(xiàn)數(shù)據(jù)報(bào)文的路由和轉(zhuǎn)發(fā);
認(rèn)證中心,用于記錄本網(wǎng)絡(luò)用戶的屬性信息如用戶類別、認(rèn)證信息和用戶服務(wù)等級(jí)等,完成對(duì)終端的接入認(rèn)證和授權(quán),還可具有計(jì)費(fèi)功能。認(rèn)證中心支持終端與網(wǎng)絡(luò)間的雙向認(rèn)證,可產(chǎn)生用于認(rèn)證、完整性保護(hù)和機(jī)密性保護(hù)的用戶安全信息;
身份提供服務(wù)器向業(yè)務(wù)提供服務(wù)器提供對(duì)用戶的斷言信息,并對(duì)業(yè)務(wù)提供服務(wù)器進(jìn)行認(rèn)證,檢查業(yè)務(wù)提供服務(wù)器的合法性;通過(guò)與認(rèn)證中心的接口查詢用戶相應(yīng)的屬性信息,通過(guò)與NMS的接口,提供用戶的假名服務(wù);
NMS根據(jù)身份提供服務(wù)器提供的用戶身份產(chǎn)生假名,作為用戶的替代身份,并創(chuàng)建假名和用戶身份信息、業(yè)務(wù)提供服務(wù)器統(tǒng)一資源定位符(URL)、生存期(lifetime)對(duì)應(yīng)的條目,如果用戶修改假名以及假名的lifetime,則NMS在接收到身份提供服務(wù)器的匿名更新請(qǐng)求后,也將此信息進(jìn)行更新;
其中,NMS和身份提供服務(wù)器可以分別單獨(dú)部署,也可以將NMS作為身份提供服務(wù)器的功能模塊進(jìn)行部署;
ISN,用于查詢、維護(hù)本網(wǎng)絡(luò)終端的AID-RID映射信息,封裝、路由和轉(zhuǎn)發(fā)本網(wǎng)絡(luò)與傳統(tǒng)IP網(wǎng)絡(luò)之間往來(lái)的數(shù)據(jù)報(bào)文、實(shí)現(xiàn)本網(wǎng)絡(luò)與傳統(tǒng)IP網(wǎng)絡(luò)之間的互聯(lián)互通功能,其中包括格式轉(zhuǎn)換模塊,用于將傳統(tǒng)IP網(wǎng)絡(luò)發(fā)來(lái)的數(shù)據(jù)報(bào)文中包含的本網(wǎng)絡(luò)終端的IPv4/IPv6地址轉(zhuǎn)換成對(duì)應(yīng)的AID,以及將本網(wǎng)絡(luò)終端的AID轉(zhuǎn)換成IPv4/IPv6地址格式后,再發(fā)送到傳統(tǒng)IP網(wǎng)絡(luò)的終端;
業(yè)務(wù)提供服務(wù)器,是互聯(lián)網(wǎng)上為用戶提供業(yè)務(wù)的應(yīng)用系統(tǒng)。
本發(fā)明實(shí)施例提供了一種單點(diǎn)登錄的方法,該方法從身份提供服務(wù)器側(cè)進(jìn)行描述,該方法包括:
步驟11、身份提供服務(wù)器確認(rèn)用戶通過(guò)接入認(rèn)證;
身份提供服務(wù)器根據(jù)用戶的身份標(biāo)識(shí)確認(rèn)用戶通過(guò)接入認(rèn)證;
步驟12、所述身份提供服務(wù)器根據(jù)自身和所述用戶欲訪問(wèn)的業(yè)務(wù)提供服務(wù)器間的共享密鑰生成對(duì)用戶的斷言信息,并向所述業(yè)務(wù)提供服務(wù)器發(fā)送所述斷言信息。
本發(fā)明實(shí)施例還提供了一種單點(diǎn)登錄的方法,該方法從業(yè)務(wù)提供服務(wù)器側(cè)進(jìn)行描述,該方法包括:
步驟21、業(yè)務(wù)提供服務(wù)器接收身份提供服務(wù)器發(fā)送的對(duì)欲訪問(wèn)所述業(yè)務(wù)提供服務(wù)器的用戶的斷言信息;
步驟22、所述業(yè)務(wù)提供服務(wù)器根據(jù)自身和所述身份提供服務(wù)器之間的共享密鑰驗(yàn)證所述斷言信息。
上述業(yè)務(wù)提供服務(wù)器利用身份提供服務(wù)器發(fā)送的斷言信息進(jìn)行認(rèn)證,使得用戶訪問(wèn)互聯(lián)網(wǎng)應(yīng)用系統(tǒng)不需要進(jìn)行多次注冊(cè)認(rèn)證,同時(shí),為了避免用戶隱私泄露,本發(fā)明實(shí)施例又提供了一種信息處理方法,該方法從名字映射服務(wù)器側(cè)進(jìn)行描述,該方法包括:
步驟31、名字映射服務(wù)器(NMS)接收身份提供服務(wù)器發(fā)送的匿名身份請(qǐng)求,所述匿名身份請(qǐng)求中攜帶有用戶的身份標(biāo)識(shí);
步驟32、所述NMS根據(jù)所述匿名身份請(qǐng)求生成與該身份標(biāo)識(shí)對(duì)應(yīng)的用戶的假名及與所述假名對(duì)應(yīng)的生存期,并向所述身份提供服務(wù)器返回所述用戶的假名及與所述假名對(duì)應(yīng)的生存期。
為了更清楚地描述本發(fā)明實(shí)施例的單點(diǎn)登錄方法,下面從身份提供服務(wù)器、業(yè)務(wù)提供服務(wù)器和名字映射服務(wù)器三者交互的角度進(jìn)行描述,如圖2所示,為本發(fā)明單點(diǎn)登錄方法實(shí)施例的流程圖,所述方法包括以下步驟:
步驟201、身份提供服務(wù)器在接收到業(yè)務(wù)提供服務(wù)器的認(rèn)證請(qǐng)求或者用戶的業(yè)務(wù)訪問(wèn)請(qǐng)求后,檢查是否存在它自身和業(yè)務(wù)提供服務(wù)器間的共享密鑰Ks,如果不存在,則認(rèn)證業(yè)務(wù)提供服務(wù)器,認(rèn)證成功后,生成共享密鑰Ks;
進(jìn)一步地,所述認(rèn)證方法包括但不限于:預(yù)共享密鑰、TLS、公鑰基礎(chǔ)結(jié)構(gòu)(PKI)、協(xié)議安全性(IPsec)等技術(shù),由于其均為現(xiàn)有技術(shù),這里不再贅述。
步驟202、身份提供服務(wù)器確認(rèn)用戶通過(guò)接入認(rèn)證,并根據(jù)用戶的匿名服務(wù)請(qǐng)求通過(guò)名字映射服務(wù)器產(chǎn)生假名的方式對(duì)用戶身份進(jìn)行保護(hù),同時(shí)為業(yè)務(wù)提供服務(wù)器生成對(duì)該用戶的斷言信息;
步驟203、業(yè)務(wù)提供服務(wù)器接收到身份提供服務(wù)器發(fā)送的斷言信息后,對(duì)斷言信息進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則創(chuàng)建用戶假名對(duì)應(yīng)的條目,并向用戶提供業(yè)務(wù)。
上述單點(diǎn)登錄方法,通過(guò)重利用接入認(rèn)證和假名,很好地解決了用戶訪問(wèn)互聯(lián)網(wǎng)應(yīng)用系統(tǒng)需多次注冊(cè)認(rèn)證和身份隱私泄露的問(wèn)題。
如圖3所示,為本發(fā)明由業(yè)務(wù)提供服務(wù)器發(fā)起的單點(diǎn)登錄方法實(shí)施例的信令流程圖,所述方法包括:
步驟301、MN、ASN以及認(rèn)證中心之間進(jìn)行接入認(rèn)證,認(rèn)證通過(guò)后,身份位置分離網(wǎng)絡(luò)為用戶分配接入標(biāo)識(shí)AID;
此后,用戶終端發(fā)送的報(bào)文通過(guò)AID進(jìn)行傳輸,ASN為用戶分配RID,并通過(guò)RID進(jìn)行路由選路找到ISN,ISN從報(bào)文中獲取用戶的AID,并轉(zhuǎn)換成IPv4/IPv6地址發(fā)送到傳統(tǒng)IP網(wǎng)絡(luò)。
步驟302、MN向業(yè)務(wù)提供服務(wù)器發(fā)起業(yè)務(wù)訪問(wèn)請(qǐng)求;
步驟303、用戶在業(yè)務(wù)提供服務(wù)器頁(yè)面上選擇身份提供服務(wù)器,業(yè)務(wù)提供服務(wù)器根據(jù)當(dāng)前時(shí)間戳生成隨機(jī)數(shù)nonce,作為用戶在業(yè)務(wù)提供服務(wù)器的臨時(shí)標(biāo)識(shí),并構(gòu)建認(rèn)證請(qǐng)求消息,消息中攜帶業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL和隨機(jī)數(shù)nonce;
步驟304、業(yè)務(wù)提供服務(wù)器將認(rèn)證請(qǐng)求消息通過(guò)超文本傳輸協(xié)議(HTTP)重定向到身份提供服務(wù)器;
步驟305、用戶通過(guò)終端向身份提供服務(wù)器發(fā)送匿名服務(wù)請(qǐng)求;
步驟306、身份提供服務(wù)器從報(bào)文中獲取用戶的接入標(biāo)識(shí)AID,確認(rèn)用戶通過(guò)接入認(rèn)證;并檢查它自身和業(yè)務(wù)提供服務(wù)器間是否存在共享密鑰Ks,如果不存在,則認(rèn)證業(yè)務(wù)提供服務(wù)器,認(rèn)證成功后,生成共享密鑰Ks;確定不存在用戶對(duì)應(yīng)的假名或?qū)?yīng)的假名生存期(lifetime)過(guò)期;
其中,身份提供服務(wù)器認(rèn)證業(yè)務(wù)提供服務(wù)器的方式包括但不限于預(yù)共享密鑰、PKI、TLS或者IPsec等等認(rèn)證方式。由于其均為現(xiàn)有技術(shù),因此這里不再贅述;
步驟307、身份提供服務(wù)器向NMS發(fā)送匿名身份請(qǐng)求消息,請(qǐng)求消息中攜帶用戶的AID、業(yè)務(wù)提供服務(wù)器的URL;
步驟308、NMS接收到匿名身份請(qǐng)求消息后,生成隨機(jī)數(shù)Rand以及默認(rèn)的lifetime,Rand作為相應(yīng)用戶的假名,并構(gòu)建一條MN的AID、業(yè)務(wù)提供服務(wù)器URL和Rand、lifetime對(duì)應(yīng)的條目,如表1所示;
表1 MN對(duì)應(yīng)的條目
步驟309、NMS向身份提供服務(wù)器發(fā)送匿名身份響應(yīng)消息,響應(yīng)消息中攜帶用戶的AID、業(yè)務(wù)提供服務(wù)器URL和隨機(jī)數(shù)Rand以及l(fā)ifetime;
步驟310、身份提供服務(wù)器向用戶終端發(fā)送匿名服務(wù)響應(yīng)消息,響應(yīng)消息中攜帶業(yè)務(wù)提供服務(wù)器URL、隨機(jī)數(shù)Rand和lifetime;
步驟311、用戶通過(guò)終端向身份提供服務(wù)器發(fā)送指定的用戶名及其lifetime;
用戶可將隨機(jī)數(shù)Rand修改為指定的用戶名即期望展現(xiàn)的用戶名,并指定期望的lifetime;
步驟312、身份提供服務(wù)器向NMS發(fā)送匿名更新請(qǐng)求消息,消息中攜帶用戶的AID、隨機(jī)數(shù)Rand、用戶指定的假名和lifetime;
步驟313、NMS在添加用戶指定的假名和更新lifetime后,向身份提供服務(wù)器發(fā)送匿名更新響應(yīng)消息,消息中攜帶更新成功或失敗的結(jié)果;
步驟314、身份提供服務(wù)器構(gòu)建認(rèn)證響應(yīng)消息,認(rèn)證響應(yīng)消息中包含斷言信息,該斷言信息中攜帶隨機(jī)數(shù)nonce、業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL、NMS生成的假名Rand或者用戶指定的用戶名、簽名算法、以及Ks的簽名結(jié)果;
此處的簽名結(jié)果為身份提供服務(wù)器根據(jù)業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL、NMS生成的假名Rand或者用戶指定的用戶名、共享密鑰使用簽名算法計(jì)算出的簽名結(jié)果;
本實(shí)施例中的身份提供服務(wù)器URL代表身份提供服務(wù)器的身份信息;業(yè)務(wù)提供服務(wù)器URL代表業(yè)務(wù)提供服務(wù)器的身份信息;NMS生成的假名Rand或者用戶指定的用戶名代表用戶的身份信息;隨機(jī)數(shù)nonce用于防止重放攻擊;
步驟315、身份提供服務(wù)器通過(guò)HTTP重定向?qū)⒄J(rèn)證響應(yīng)消息發(fā)送到業(yè)務(wù)提供服務(wù)器;
步驟316、業(yè)務(wù)提供服務(wù)器通過(guò)和身份提供服務(wù)器之間的共享密鑰Ks驗(yàn)證斷言的完整性,以及檢查nonce是否是最近生成,是否重復(fù)等;
業(yè)務(wù)提供服務(wù)器根據(jù)斷言信息中攜帶的業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL、NMS生成的假名Rand或者用戶指定的用戶名和與身份提供服務(wù)器協(xié)商的共享密鑰使用斷言信息中攜帶的簽名算法計(jì)算出簽名結(jié)果,并將該簽名結(jié)果和斷言信息中攜帶的簽名結(jié)果進(jìn)行比較,若二者一致,則斷言完整;同時(shí),根據(jù)nonce的生成時(shí)間判斷其是否是最近生成且是否重復(fù);若是最近生成且不重復(fù),則驗(yàn)證通過(guò)。
步驟317、在上述驗(yàn)證通過(guò)后,業(yè)務(wù)提供服務(wù)器為用戶MN創(chuàng)建隨機(jī)數(shù)Rand或者指定用戶名的條目;
步驟318、業(yè)務(wù)提供服務(wù)器向用戶返回業(yè)務(wù)訪問(wèn)響應(yīng),以Rand或者用戶名作為用戶在業(yè)務(wù)提供服務(wù)器的標(biāo)識(shí)向用戶提供業(yè)務(wù)。
如圖4所示,為本發(fā)明由身份提供服務(wù)器發(fā)起的單點(diǎn)登錄方法實(shí)施例的信令流程圖,該方法包括以下步驟:
步驟401、MN、ASN以及認(rèn)證中心之間進(jìn)行接入認(rèn)證,認(rèn)證通過(guò)后,身份位置分離網(wǎng)絡(luò)為用戶分配接入標(biāo)識(shí)AID;
此后,用戶終端發(fā)送的報(bào)文通過(guò)AID進(jìn)行傳輸,ASN為用戶分配RID,并通過(guò)RID進(jìn)行路由選路找到ISN,ISN從報(bào)文中獲取用戶的AID,并轉(zhuǎn)換成IPv4/IPv6地址發(fā)送到傳統(tǒng)IP網(wǎng)絡(luò)。
步驟402、MN向身份提供服務(wù)器發(fā)起業(yè)務(wù)訪問(wèn)請(qǐng)求;
步驟403、MN在身份提供服務(wù)器頁(yè)面上選擇將要訪問(wèn)的業(yè)務(wù),并向身份提供服務(wù)器發(fā)送匿名服務(wù)請(qǐng)求;
步驟404、身份提供服務(wù)器從報(bào)文中獲取到用戶的接入標(biāo)識(shí)AID,確認(rèn)用戶通過(guò)接入認(rèn)證;并檢查它自身和業(yè)務(wù)提供服務(wù)器間是否存在共享密鑰Ks,如果不存在,則認(rèn)證業(yè)務(wù)提供服務(wù)器,認(rèn)證通過(guò)后,生成共享密鑰Ks。檢查不存在AID對(duì)應(yīng)的假名或?qū)?yīng)的假名lifetime過(guò)期;
步驟405、身份提供服務(wù)器根據(jù)用戶的匿名服務(wù)請(qǐng)求,向NMS發(fā)送匿名身份請(qǐng)求消息,請(qǐng)求消息中攜帶用戶的AID、業(yè)務(wù)提供服務(wù)器URL;
步驟406、NMS接收到匿名身份請(qǐng)求消息后,生成隨機(jī)數(shù)Rand以及默認(rèn)的lifetime,作為相應(yīng)用戶的假名,并構(gòu)建一條MN的AID、業(yè)務(wù)提供服務(wù)器URL和Rand、lifetime對(duì)應(yīng)的條目,如表1所示;
步驟407、NMS向身份提供服務(wù)器發(fā)送匿名身份響應(yīng)消息,響應(yīng)消息中攜帶用戶的AID、業(yè)務(wù)提供服務(wù)器URL、隨機(jī)數(shù)Rand以及l(fā)ifetime;
步驟408、身份提供服務(wù)器向用戶發(fā)送匿名服務(wù)響應(yīng)消息,響應(yīng)消息中攜帶業(yè)務(wù)提供服務(wù)器URL、隨機(jī)數(shù)Rand和lifetime;
步驟409、用戶通過(guò)終端向身份提供服務(wù)器發(fā)送指定的用戶名及其lifetime;
用戶可將隨機(jī)數(shù)Rand修改為指定的用戶名即期望展現(xiàn)的用戶名,并指定期望的lifetime;
步驟410、身份提供服務(wù)器向NMS發(fā)送匿名更新請(qǐng)求消息,消息中攜帶用戶的AID、隨機(jī)數(shù)Rand、用戶指定的假名和lifetime;
步驟411、NMS在添加用戶指定的假名和更新完lifetime后,向身份提供服務(wù)器發(fā)送匿名更新響應(yīng)消息,消息中攜帶更新成功或失敗的結(jié)果;
步驟412、身份提供服務(wù)器根據(jù)當(dāng)前時(shí)間戳生成隨機(jī)數(shù)nonce,構(gòu)建認(rèn)證響應(yīng)消息,認(rèn)證響應(yīng)消息中包含斷言信息,該斷言信息中攜帶隨機(jī)數(shù)nonce、業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL、NMS生成的假名Rand或者用戶指定的用戶名、簽名算法、以及Ks的簽名結(jié)果;
步驟413、身份提供服務(wù)器通過(guò)HTTP重定向?qū)⒄J(rèn)證響應(yīng)消息發(fā)送到業(yè)務(wù)提供服務(wù)器;
步驟414、業(yè)務(wù)提供服務(wù)器通過(guò)和身份提供服務(wù)器之間的共享密鑰Ks驗(yàn)證斷言的完整性,以及檢查nonce是否是最近生成,是否重復(fù)等;
步驟415、在上述驗(yàn)證通過(guò)后,業(yè)務(wù)提供服務(wù)器為用戶MN創(chuàng)建隨機(jī)數(shù)Rand或者指定用戶名的條目;
步驟416、業(yè)務(wù)提供服務(wù)器向用戶返回業(yè)務(wù)訪問(wèn)響應(yīng),以Rand或者用戶名作為用戶在業(yè)務(wù)提供服務(wù)器的標(biāo)識(shí)向用戶提供業(yè)務(wù)。
由于本實(shí)施例中的步驟403-416和上述實(shí)施例中的步驟305-318的處理相似,因此本實(shí)施例中不再贅述。
如圖5所示,為本發(fā)明身份提供服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖,該身份提供服務(wù)器包括確認(rèn)模塊51和斷言信息處理模塊52,其中:
確認(rèn)模塊,用于確認(rèn)用戶通過(guò)接入認(rèn)證;
斷言信息處理模塊,用于在所述確認(rèn)模塊確認(rèn)用戶通過(guò)接入認(rèn)證后,根據(jù)所述身份提供服務(wù)器和所述用戶欲訪問(wèn)的業(yè)務(wù)提供服務(wù)器間的共享密鑰生成對(duì)用戶的斷言信息,并向所述業(yè)務(wù)提供服務(wù)器發(fā)送所述斷言信息。
另外,所述身份提供服務(wù)器還包括:密鑰生成模塊,用于在斷言信息處理模塊生成對(duì)用戶的斷言信息之前,在接收到所述業(yè)務(wù)提供服務(wù)器發(fā)送的認(rèn)證請(qǐng)求或所述用戶發(fā)送的業(yè)務(wù)訪問(wèn)請(qǐng)求后,檢查是否存在所述共享密鑰,若不存在,則在所述業(yè)務(wù)提供服務(wù)器通過(guò)認(rèn)證后,生成所述共享密鑰。
為了避免用戶的身份信息泄露,所述身份提供服務(wù)器還包括:獲得模塊,用于在所述確認(rèn)模塊確認(rèn)所述用戶通過(guò)接入認(rèn)證之后,所述斷言信息處理模塊生成對(duì)用戶的斷言信息之前,為所述用戶獲得假名及與所述假名對(duì)應(yīng)的生存期。具體地,所述獲得模塊,是用于根據(jù)所述用戶的匿名服務(wù)請(qǐng)求向名字映射服務(wù)器(NMS)發(fā)送匿名身份請(qǐng)求,以及接收所述NMS返回的根據(jù)所述匿名身份請(qǐng)求生成的該用戶的假名及與所述假名對(duì)應(yīng)的生存期。另外,用戶還可以修改用戶名,故所述獲得模塊,還用于接收所述用戶發(fā)送的攜帶指定用戶名及相應(yīng)生存期的匿名更新請(qǐng)求,并向所述NMS發(fā)送所述匿名更新請(qǐng)求,以及接收所述NMS返回的更新結(jié)果。
其中,所述斷言信息中攜帶有隨機(jī)數(shù)、所述身份提供服務(wù)器的身份信息、所述業(yè)務(wù)提供服務(wù)器的身份信息、所述用戶的身份信息、簽名算法以及所述身份提供服務(wù)器根據(jù)所述共享密鑰計(jì)算出的簽名結(jié)果;其中,所述用戶的身份信息包括所述假名或所述指定用戶名。
上述業(yè)務(wù)提供服務(wù)器在確認(rèn)用戶通過(guò)接入認(rèn)證后,向業(yè)務(wù)提供服務(wù)器提供對(duì)該用戶的斷言信息,使得用戶在訪問(wèn)業(yè)務(wù)提供服務(wù)器時(shí),不需要輸入認(rèn)證信息成為可能。
如圖6所示,為本發(fā)明業(yè)務(wù)提供服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖,該業(yè)務(wù)提供服務(wù)器包括接收模塊61和驗(yàn)證模塊62,其中:
接收模塊,用于接收身份提供服務(wù)器發(fā)送的對(duì)欲訪問(wèn)所述業(yè)務(wù)提供服務(wù)器的用戶的斷言信息;
驗(yàn)證模塊,用于根據(jù)所述業(yè)務(wù)提供服務(wù)器和所述身份提供服務(wù)器之間的共享密鑰驗(yàn)證所述斷言信息。
另外,所述業(yè)務(wù)提供服務(wù)器還包括:業(yè)務(wù)提供模塊,用于所述驗(yàn)證模塊驗(yàn)證通過(guò)所述斷言信息后,創(chuàng)建與所述斷言信息中包含的用戶的身份信息對(duì)應(yīng)的條目,并向所述用戶提供業(yè)務(wù)。
上述驗(yàn)證模塊根據(jù)斷言信息中攜帶的業(yè)務(wù)提供服務(wù)器URL、身份提供服務(wù)器URL、NMS生成的假名Rand或者用戶指定的用戶名和與身份提供服務(wù)器協(xié)商的共享密鑰使用斷言信息中攜帶的簽名算法計(jì)算出簽名結(jié)果,并將該簽名結(jié)果和斷言信息中攜帶的簽名結(jié)果進(jìn)行比較,若二者一致,則斷言完整;同時(shí),根據(jù)nonce的生成時(shí)間判斷其是否是最近生成且是否重復(fù);若是最近生成且不重復(fù),則驗(yàn)證通過(guò)。
上述業(yè)務(wù)提供服務(wù)器,根據(jù)身份提供服務(wù)器發(fā)送的對(duì)用戶的斷言信息完成用戶的單點(diǎn)登錄,且有效保護(hù)了用戶的隱私。
如圖7所示,為本發(fā)明名字映射服務(wù)器實(shí)施例的結(jié)構(gòu)示意圖,該NMS包括接收模塊71和生成發(fā)送模塊72,其中:
接收模塊,用于接收身份提供服務(wù)器發(fā)送的匿名身份請(qǐng)求,所述匿名身份請(qǐng)求中攜帶有用戶的身份標(biāo)識(shí);
生成發(fā)送模塊,用于根據(jù)所述接收模塊接收的所述匿名身份請(qǐng)求生成與該身份標(biāo)識(shí)對(duì)應(yīng)的用戶的假名及與所述假名對(duì)應(yīng)的生存期,并向所述身份提供服務(wù)器返回所述用戶的假名及與所述假名對(duì)應(yīng)的生存期。
另外,為了可以對(duì)用戶的假名進(jìn)行修改,所述生成發(fā)送模塊,還用于接收所述身份提供服務(wù)器發(fā)送的來(lái)自所述用戶的攜帶指定用戶名及相應(yīng)生存期的匿名更新請(qǐng)求,根據(jù)匿名更新請(qǐng)求進(jìn)行更新處理,并返回更新結(jié)果。
進(jìn)一步地,圖7所示的名字映射服務(wù)器和圖5所示的身份提供服務(wù)器可以合設(shè),二者合設(shè)后的裝置如圖8所示,該裝置中相關(guān)模塊的功能與圖5和圖7中相應(yīng)模塊的功能相同,此處不再贅述。
對(duì)應(yīng)上述隱私增強(qiáng)的單點(diǎn)登錄方法,本發(fā)明實(shí)施例還提供了一種單點(diǎn)登錄系統(tǒng),如圖9所示,該系統(tǒng)包括業(yè)務(wù)提供服務(wù)器91、身份提供服務(wù)器92和名字映射服務(wù)器93,該系統(tǒng)中相關(guān)模塊的功能與圖5-圖7中相應(yīng)模塊的功能相同,此處不再贅述。
總之,本發(fā)明實(shí)施例中,身份提供服務(wù)器在接收到業(yè)務(wù)提供服務(wù)器的認(rèn)證請(qǐng)求或者用戶的業(yè)務(wù)訪問(wèn)請(qǐng)求后,檢查是否存在共享密鑰Ks,如果不存在,則認(rèn)證業(yè)務(wù)提供服務(wù)器,認(rèn)證通過(guò)后,生成共享密鑰Ks,身份提供服務(wù)器根據(jù)用戶的身份標(biāo)識(shí)確認(rèn)用戶通過(guò)接入認(rèn)證,并根據(jù)用戶的匿名服務(wù)請(qǐng)求通過(guò)名字映射服務(wù)器(NMS,Name Mapping Server)產(chǎn)生假名的方式對(duì)用戶身份進(jìn)行保護(hù),同時(shí)為業(yè)務(wù)提供服務(wù)器生成該用戶的斷言信息,業(yè)務(wù)提供服務(wù)器接收到身份提供服務(wù)器的斷言信息后,驗(yàn)證斷言信息的合法性,如果驗(yàn)證通過(guò),則創(chuàng)建假名對(duì)應(yīng)的條目,并向用戶提供業(yè)務(wù)。
當(dāng)然,如果只需要解決多次認(rèn)證的問(wèn)題,上述系統(tǒng)中可以不包含名字映射服務(wù)器,相應(yīng)地,身份提供服務(wù)器中也不需要包含獲得模塊。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,上述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。