專利名稱:實現(xiàn)服務訪問的方法、設備及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種實現(xiàn)服務訪問的方法、設備及系統(tǒng)。
背景技術:
因特網(wǎng)(Internet)已經(jīng)成為當前通信(如電子商務等)的一種重要應用手 段,并以飛快的速度滲透到人們的日常生活中。許多傳統(tǒng)的通信手段已經(jīng)轉化 成利用Intemet通信的模式,除了保護網(wǎng)絡上每次通信會話中的信息不被竊取, 即如何實現(xiàn)通信數(shù)據(jù)安全外,如同在現(xiàn)實社會中一樣,網(wǎng)絡用戶的隱私也是需 要保護的一個方面。例如網(wǎng)絡上的服務,如不記名投票、匿名拍賣等,都要 求隱匿服務訪問方的真實身份。
現(xiàn)有技術提供了 一種實現(xiàn)服務訪問的方法,其主要思想是采用服務訪問方 的公開的真實身份標識作為其公開密鑰,而相應的私有密鑰由服務訪問方的公 開密鑰與密鑰生成中心(Key Generating Center, KGC )的主密鑰經(jīng)過運算而得 到,主要包括
服務訪問方向KGC發(fā)送真實身份標識以證明自己的真實身份,KGC在服 務訪問方真實身份驗證通過后,對其生成進行訪問所采用的私有密鑰,同時, KGC對服務提供方也生成與之相對應的私有密鑰,服務訪問方在對服務提供方 提供的服務進行訪問時,需要完成對兩者在服務訪問過程中所采用會話密鑰的 協(xié)商。
但是由于服務訪問方在訪問服務提供方所提供的服務時,仍需要采用其真 實身份進行服務訪問,因此,服務訪問方不能實現(xiàn)對服務提供方的匿名訪問, 即服務訪問方必須要提供其真實身份標識以獲得服務提供方提供的服務,因此 不能滿足服務訪問方隱私的保護。
發(fā)明內容
本發(fā)明實施例所要解決的技術問題在于,提供了 一種服務訪問方身份標識生成方法,來實現(xiàn)服務訪問方對服務的匿名訪問,從而能滿足服務訪問方隱私 的保護。
為了解決上述技術問題,本發(fā)明實施例提供了 一種服務訪問方身份標識生
成方法,包括
獲得隱匿服務訪問方真實身份的匿名身份標識生成請求;
根據(jù)所述匿名身份標識生成請求,生成與所述真實身份具有對應關系的所
述匿名身份標識的部分或全部。
本發(fā)明實施例還提供了一種訪問方法,包括
獲得服務訪問方的服務訪問請求,該訪問請求中攜帶有所述服務訪問方的
匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務訪問方具有
合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);
根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名
身份有效性的驗證,當該驗證通過時,定向至所述訪問請求對應的服務。 本發(fā)明實施例還提供了 一種服務訪問方真實身份追溯方法,包括 獲得對匿名訪問服務的服務訪問方真實身份的追溯請求; 根據(jù)所述追溯請求,查詢所述服務訪問方真實身份與用于隱匿該服務訪問
方真實身份的匿名身份標識的對應關系,得到所述真實身份。
相應地,本發(fā)明實施例還提供了一種服務訪問方身份管理設備,包括 生成請求獲取單元,獲得隱匿服務訪問方真實身份的匿名身份標識生成請
求;
匿名生成單元,根據(jù)所述匿名身份標識生成請求,生成與所述真實身份標 識具有對應關系的所述匿名身份標識的部分或全部。
相應地,本發(fā)明實施例還提供了一種服務訪問方設備,包括
請求發(fā)送單元,發(fā)送隱匿服務訪問方真實身份并與該真實身份具有對應關 系的匿名身份標識生成請求;
響應接收單元,接收所述匿名身份標識生成請求響應。
相應地,本發(fā)明實施例還提供了一種身份標識生成系統(tǒng),包括服務訪問方 設備、服務訪問方身份管理設備,所述服務訪問方設備包括
請求發(fā)送單元,發(fā)送隱匿服務訪問方真實身份并與該真實身份具有對應關 系的匿名身份標識生成請求;響應接收單元,接收所述匿名身j分標識生成請求響應,
所述服務訪問方身份管理設備包括生成請求獲取單元,獲得所述匿名身份標識生成請求;匿名生成單元,根據(jù)所述匿名身份標識生成請求,生成所述匿名身份標識的部分或全部。
相應地,本發(fā)明實施例還提供了一種服務提供方設備,包括
訪問請求獲取單元,獲得服務訪問方的訪問請求,該訪問請求中攜帶有所述服務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);
驗證單元,根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證;
服務定向單元,當所述驗證單元驗證通過時,定向至所述訪問請求對應的服務。
相應地,本發(fā)明實施例還提供了一種服務訪問方設備,包括
訪問請求發(fā)送單元,發(fā)送對服務的訪問請求,該訪問請求中攜帶有所述服務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);
訪問請求響應接收單元,接收對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證的響應。
相應地,本發(fā)明實施例還提供了一種訪問系統(tǒng),包括服務訪問方設備、月艮務提供方設備,所述服務訪問方設備包括
訪問請求發(fā)送單元,發(fā)送對服務的訪問請求,該訪問請求中攜帶有所述服務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);
訪問請求響應接收單元,接收對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證的響應,
所述服務提供方設備包括
訪問請求獲取單元,獲得所述訪問請求;
驗證單元,根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證;服務定向單元,當所述驗證單元驗證通過時,定向至所述訪問請求對應的服務。
相應地,本發(fā)明實施例還提供了一種服務訪問方身份管理設備,包括存儲單元,存儲匿名訪問服務的服務訪問方真實身份標識與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關系;
追溯請求獲取單元,獲得對所述服務訪問方真實身份的追溯請求;查詢單元,根據(jù)所述追溯請求,查詢所述對應關系得到所述真實身份。相應地,本發(fā)明實施例還提供了一種身份追溯請求設備,包括追溯請求發(fā)送單元,發(fā)送對匿名訪問服務的服務訪問方真實身份的追溯請
求;
追溯請求響應接收單元,接收對所述追溯請求的響應,該響應中包括有所述服務訪問方的真實身份。
相應地,本發(fā)明實施例還提供了一種身份追溯系統(tǒng),包括身份追溯請求設
備、服務訪問方身份管理設備,所述身份追溯請求設備包括
追溯請求發(fā)送單元,發(fā)送對匿名訪問服務的服務訪問方真實身份的追溯請
求;
追溯請求響應4妻收單元,接收對所述追溯請求的響應,'所述服務訪問方身份管理設備包括
存儲單元,存儲匿名訪問服務的服務訪問方真實身份與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關系;
追溯請求獲取單元,獲得對所述服務訪問方真實身份的追溯請求;
查詢響應單元,根據(jù)所述追溯請求,查詢所述對應關系得到所述真實身傷、以響應所述追溯請求。
本發(fā)明實施例通過根據(jù)隱匿服務訪問方真實身份的匿名身份標識生成請求,生成與所述真實身份具有對應關系的所述匿名身份標識;并利用該匿名身份標識以及用該匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù)進行訪問,對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證通過時,定向至所述訪問請求對應的服務;還可根據(jù)對匿名訪問服務的服務訪問方真實身份的追溯請求,查詢所述服務訪問方真實身份與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關系,得到所述真實身份以響應所述追溯請求,從而能滿足服務訪問方隱私的保護需要,也能在必要時獲得服務訪問方真實身份。
圖1是本發(fā)明實施例的服務訪問方身份標識生成方法的主要流程圖2是本發(fā)明實施例的服務訪問方身份標識生成方法的另 一種主要流程圖3是本發(fā)明實施例的訪問方法的主要流程圖4是本發(fā)明實施例的服務訪問方真實身份追溯方法的主要流程圖5是本發(fā)明的基于IBC的可追溯匿名訪問方法的第一實施例示意圖6是本發(fā)明的基于IBC的可追溯匿名訪問方法的第二實施例示意圖7是本發(fā)明的服務訪問方真實身份追溯方法的第 一實施例示意圖8是本發(fā)明的基于IBC的可追溯匿名訪問方法的第三實施例示意圖9是本發(fā)明實施例的身份標識生成系統(tǒng)的主要結構圖10是本發(fā)明實施例的身份標識生成系統(tǒng)的另 一種主要結構圖11是本發(fā)明實施例的訪問系統(tǒng)的主要結構圖12是本發(fā)明實施例的身份追溯系統(tǒng)的主要結構圖13是本發(fā)明的基于IBC的可追溯匿名訪問系統(tǒng)的第一實施例示意圖14是本發(fā)明的身份追溯系統(tǒng)的第 一實施例示意圖15是本發(fā)明的基于IBC的可追溯匿名訪問系統(tǒng)的第三實施例示意圖。
具體實施例方式
本發(fā)明實施例提供了 一種服務訪問方身份標識生成方法、 一種訪問方法、一種服務訪問方真實身份追溯方法、 一種服務訪問方身份管理設備、 一種服務訪問方設備、 一種身份標識管理系統(tǒng)、 一種服務提供方設備、 一種訪問系統(tǒng)、一種身份追溯請求設備、 一種身份追溯系統(tǒng),能實現(xiàn)服務訪問方匿名身份標識的生成、服務訪問方匿名訪問及服務訪問方匿名訪問后對其真實身份的追溯,從而能滿足服務訪問方隱私的保護,也能在必要時獲得服務訪問方真實身份,
本發(fā)明實施例中描述了但不僅限于如下功能實體
KGC,本發(fā)明實施例中所提及的KGC是一種擴展了其邏輯功能的實體(KGC即為服務訪問方身份管理設備,也即服務訪問方的權威管理者),除了在 基于身份的密碼學(Identity-Based Cryptography, IBC )應用中的生成服務訪問 方的私有密鑰等功能之外,還包括有對轄屬的服務訪問方的真實身份、服務訪 問方訂閱服務的屬性的管理等;另外,在邏輯上,也可將所述管理功能劃分歸 屬到另外的單獨的功能實體(獨立于KGC之外的服務訪問方身份管理設備)上 而形成其他本發(fā)明實施例,如身份提供者設備(IdentityProvider, IDP);
客戶端(Client ),本發(fā)明實施例中所提及的Client是一種服務訪問方設備, 即可為服務訪問發(fā)起者,Client歸屬于上述KGC (即為KGC轄屬的Client);
使能服務器(Enabler),本發(fā)明實施例中所提及的Enabler是一種服務提供 方設備,也是服務訪問的接收者,可與Client同屬于一個KGC域,也可以分屬 于不同的KGCi或。
下面結合附圖,對本發(fā)明實施例進行詳細說明。
圖1是本發(fā)明實施例的服務訪問方身份標識生成方法的主要流程圖,該流 程基于KGC與Client之間經(jīng)相互認證后建立的安全通道,參照該圖1,該流程 主要包括
101, Client以選取的方式,向KGC發(fā)送匿名身份標識(Anony—ID )生成 請求(即為用于觸發(fā)生成Anony—ID的請求),具體地,該Anony—ID生成請求 中可包括如下參數(shù)信息中的一種或多種的組合Client的真實身份標識
(Real_ID)、 Client的訪問屬性信息(Access_Attribute )、第一隨機因子(隨機 數(shù)RAND—1)、 Client提供的Anony—ID的某一部分(后綴,Anony—IDp。stfix),其 中,Client的Access_Attribute可包含欲訪問的Enabler信息,即Enabler—ID,如 Enabler的統(tǒng) 一 資源定位符(Uniform Resource Locator , URL )信息
(Enabler—URL), Access—Attribute還可包含Client對服務的訪問級別信息等, 而Anony一IDp。stfix可以是由Client選取的隨機密鑰t (與KGC主密鑰s有著類似 性質的參數(shù))與KGC公開參數(shù)中的P (公開參數(shù)中的各參數(shù)含義是源于密碼學 的離散對數(shù)問題的數(shù)學基礎定義的,屬于業(yè)界內的無歧義參數(shù)標識,此處P即 為由群G,中選取的用以生成PPUB =sP中的生成元P)運算得到的,即可以是 Anony—IDpostfix =tP;
102, KGC根據(jù)所述Anony—ID生成請求,生成與所述Client的真實身份具 有對應關系的Anony—ID的部分或全部,也可同時保存真實身份(以Real—ID標識)與Anony」D的對應關系以在追溯該真實身份中使用,具體地
當所述Anony—ID生成請求中包括Client的Real—ID、 RAND—1時,則以所 述Real—ID與RAND—1作為生成因子,采用Hash算法生成Client的Anony—ID 的全部,即該Anony—ID=H(Real—ID+RAND—1),并確定Real—ID與該Anony—ID 的對應關系;
或者,當所述Anony_ID生成請求中包括Client的Real_ID、 RAND—1、 Access—Attribute時,可以在-瞼證到Client具有Access—Attribute所表4正的訪問屬 性(如Client與所述Enabler存在關聯(lián)關系,即Enabler可向Client提供服務) 之后,以所述Real—ID、 RAND—1與Access—Attribute作為生成因子,采用Hash 算法并結合Access—Attribute生成Client的Anony—ID的全部,即該 Anony_ID=Access_Attribute+H(Real_ID+RAND_l), 并確定Real—ID與該 Anony_ID的對應關系;
或者,當所述Anony—ID生成請求中包括有Client提供Anony—IDp。stflx時, 則可在驗證得到Anony—IDp。stflx滿足匿名身份標識要求之后,以上述一種方法生 成Anony—ID的其中一部分(前綴)Anony—IDprefix=H(Real—ID+RAND_l),由 Anony_IDpostflx與 Anony—IDprefix結合4乍為所述Anony—ID , 即Anony—ID= Anony—IDprefix +Anony—IDpostfix, 并由KGC簽署該Anony—IDpostflx, 即Sign PrvKeyKGC (Anony_IDp。stflx),并確定Real—ID與該Anony_ID的對應關系;
或者,KGC生成與所述Client的真實身份具有對應關系的Anony_ID的部 分或全部,也可以采用非由所述Rea1—ID生成的標識作為所述Anony—ID的部分 或全部,例如,KGC上可提供一個標識A (如KGC產(chǎn)生的某一隨機數(shù),或某 一隨^L數(shù)與日期結合的整體等),該標識A并非以Real—ID作為其生成因子而生 成的,此時只要確定該Real—ID與作為Anony—ID的標識A的對應關系即可;
至此,KGC即生成了與所述Client的真實身份具有對應關系的Anony一ID 的部分或全部,為完善本發(fā)明方案,還可以包括如下步驟103:
103, KGC向所述Client響應所述匿名身份標識生成請求,將生成的與所述 Client的真實身份具有對應關系的Anony—ID的部分或全部發(fā)送到Client,當KGC 簽署所述Anony一IDp。礎x時,KGC向所述Client響應所述匿名身份標識生成請求 時,同時將所述Sign PrvKeyKGC (Anony—IDpostfix)發(fā)送到Client以表征 Anony—IDp。礎x滿足匿名身份標識要求;另外,當KGC在上述步驟中出錯(如102中的Client與所述Enabler不存在關聯(lián)關系)時,KGC向所述Client發(fā)送生 成錯誤/終止信息。
實施如圖1所示的本發(fā)明實施例的服務訪問方身份標識生成方法的主要流 程圖,可通過根據(jù)隱匿服務訪問方真實身份的匿名身份標識生成請求,生成與 所述真實身份具有對應關系的所述匿名身份標識,從而為服務訪問方的匿名訪 問提供匿名身份標識,滿足服務訪問方隱私的保護需要,提高了用戶滿意度。
圖2是本發(fā)明實施例的服務訪問方身份標識生成方法的另 一種主要流程圖, 該流程完成在服務訪問方匿名身份標識生成的基礎上對服務訪問方私有密鑰生 成的實現(xiàn),并且基于KGC與Client之間經(jīng)相互認證后建立的安全通道,參照該 圖2,該流程主要包括
201, Client以選取的方式,向KGC發(fā)送匿名身份標識(Anony—ID )生成 請求,具體地,該Anony—ID生成請求中可包括如上述101中描述的信息中的一 種或多種的組合,此處不再贅述;
202, KGC根據(jù)所述Anony一ID生成請求,生成與所述Client的真實身份具 有對應關系的Anony—ID的部分或全部,也可同時保存真實身份(以Real—ID標 識)與Anony—ID的對應關系,具體地,可如上述102中描述的幾種情況,此處 不再贅述;
203, KGC在生成與所述Client的真實身份具有對應關系的Anony—ID的部 分或全部之后,生成所述Anony一ID對應的、用于表征所述Client具有合法匿名 身份的私有密鑰(PrvKey)的部分或全部,與此同時,以所述Anony—ID作為 Client的公開密鑰,具體地
當所述Anony—ID生成請求中包括Client的Real—ID、 RAND—1時,則以所 述Real—ID與RAND—1作為生成因子,采用Hash算法生成Client的Anony—ID 的全部,即該Anony—ID=H(Real—ID+RAND_l),并確定Real—ID與該Anony—ID 的對應關系,之后,以對所述Anony—ID進行Hash運算得到Hash值,并將該 Hash值與KGC主密鑰s作為生成因子,生成Client的PrvKey全部,即該 PrvKey^sH"AnonyJD"sHi(H(ReaLID+RANDJ)),與此同時,以所述 Anony_ID作為Client的7^開密鑰;
或者,當所述AnonyJD生成請求中包括Client的Real—ID、 RAND—1、 Access—Attribute時,可以在-驗證到Client具有Access—Attribute所表征的訪問屬性(如Client與所述Enabler存在關聯(lián)關系,即Enabler可向Client提供服務) 之后,以所述Real—ID 、 RAND—1與Access_Attribute作為生成因子,采用Hash 算法并結合Access—Attribute生成Client的Anony—ID的全部,即該 Anony—ID=Access—Attribute+H(Real一ID+RAND—1), 并確定Real—ID與該 Anony—ID的對應關系,之后,以對所述Anony一ID進行Hash運算得到Hash值, 并將該Hash值與KGC主密鑰s作為生成因子,生成Client的PrvKey全部,即 該PrvKey^sH! (Anony—ID)= sH!(Access—Attribute+H(Real一ID+RAND—1)),與此 同時,以所述Anony—ID作為Client的7>開密鑰;
或者,當所述Anony—ID生成請求中包括有Client提供Anony—IDp。stflx時, 則可在驗證得到Anony—IDp。stfix滿足匿名身份標識要求(如滿足位數(shù)限制策略 的要求)之后,以上述一種方法生成Anony—ID的其中一部分(前綴) Anony—IDprefix=H(Real—ID+RAND—l),由Anony—IDp。stfix與Anony—IDprefix結合作 為所述Anony—ID ,即Anony_ID= Anony—IDpreflx +Anony—IDp。stflx,并由KGC用 KGC私有密鑰(PrvKeyKGC)簽署該Anony_IDp。stfix ,即Sign PrvKeyKGC (Anony_IDp。stfix),并確定Real—ID與該Anony一ID的對應關系,之后,以對所述 Anony—IDprefix進行Hash運算得到Hash值,并將該Hash值與KGC主密鑰s作 為生成因子,生成Client的PrvKey的 一 部分(PrvKeypart ),即該 PrvKeypa^sH"Anony—IDprefix)-sH!(H(Rea1—ID+RAND—1)),與此同時,以所述 Anony—ID作為Client的公開密鑰,而PrvKey可以是PrvKey=PrvKeypart+t Hi(Anony一IDprefix)其中,t是由Client選取的隨機密鑰;
或者,KGC生成與所述Client的真實身份具有對應關系的Anony—ID的部 分或全部,也可以采用非由所述Real—ID生成的標識作為所述Anony—ID的部分 或全部,例如,KGC上可提供一個標識A (如KGC產(chǎn)生的某一隨機數(shù),或某 一隨機數(shù)與日期結合的整體等),該標識A并非以Real—ID作為其生成因子而生 成的,此時只要確定該Real一ID與作為Anony一ID的標識A的對應關系即可,之 后,以對所述Anony—ID(即標識A)進行Hash運算得到Hash值,并將該Hash 值與KGC主密鑰s作為生成因子,生成Client的PrvKey全部,即該 PrvKe"sH!(Anony—ID)= sH"A),與此同時,以所述Anony—ID作為Client的公
開密鑰;
至此,KGC即生成了與所述Client的真實身份具有對應關系的Anony—ID的部分或全部,也生成了所述Anony—ID對應的、用于表征所述Client具有合法 匿名身份的PrvKey的部分或全部,為完善本發(fā)明方案,還可以包括如下步驟 204:
204, KGC向所述Client響應所述匿名身份標識生成請求,將生成的與所述 Client的真實身份具有對應關系的Anony—ID的部分或全部,以及PrvKey的部 分或全部發(fā)送到Client;或者KGC向所述Client響應所述私有密鑰生成請求, 只將生成的PrvKey的部分或全部發(fā)送到Client (不發(fā)送Anony—ID),而Client 可按照KGC生成Anony—ID的方法自行生成Anony—ID,當KGC簽署所述 Anony—IDp。stflx時,KGC向所述Client響應所述匿名身份標識生成請求時,同時 將所述Sign PrvKeyKGC (AnonyjDp。礎x)發(fā)送到Client以表征AnonyJDp。stfix滿足 匿名身份標識要求;另外,當KGC在上述步驟中出錯(如302中的Client與 所述Enabler不存在關聯(lián)關系)時,KGC向所述Client發(fā)送生成錯誤/終止信息。
實施如圖2所示的本發(fā)明實施例的服務訪問方身份標識及私有密鑰生成方 法的主要流程,可通過根據(jù)隱匿服務訪問方真實身份的匿名身份標識生成請求, 生成與所述真實身份具有對應關系的所述匿名身份標識,并生成所述匿名身份 標識對應的、用于表征所述服務訪問方具有合法匿名身份的私有密鑰的部分或 全部,從而為服務訪問方的匿名訪問提供匿名身份標識、私有密鑰,滿足服務 訪問方隱私的保護需要,提高了用戶滿意度。
圖3是本發(fā)明實施例的訪問方法的主要流程圖,該流程完成在所述圖2的 服務訪問方匿名身份標識及私有密鑰生成的基礎上對服務進行訪問的實現(xiàn),參 照圖3,該流程主要包括
301, Client向Enabler發(fā)送服務訪問請求,該訪問請求中攜帶有所述Client 的Anony一ID,以及用所述Anony—ID對應的、用于表征所述Client具有合法匿 名身份的Client的PrvKey簽署的參數(shù)(p* )(即SignPrvKey (p*)),具體地,所 述訪問請求中還可以包括第二隨機因子(如隨機數(shù)RAND—2,或Client生成 的隨機數(shù)RAND—2與 Anony—ID的哈希值的整體運算結果,即 RAND—2H"Anony一ID)),當所述Client與Enabler不屬于同 一個KGC域(需要 說明的是,當屬于所述Client與Enabler屬于同 一個KGC域時,可不包括如下 Client所聲稱歸屬的權威管理者信息)時,所述訪問請求中還可以包括Client所 聲稱歸屬的權威管理者信息(即Client所歸屬的KGC信息,如KGCJJRL),當Anony_ID由KGC生成的Anony_IDprefix及Client 4是供的AnonyJDp。stfix組成, Anony—ID中可包含有Client的訪問屬性信息(Access—Attribute ),那么當所述 Anony—ID由Anony—IDp。礎x組成時,所述訪問請求中還可以包括對Anony—IDp。stflx 的KGC簽署信息SignPrvKeyKGC(Anony_IDp。stfix),而pf除包含所述第二隨機因 子之外,還可以包含所述Anony_ID、 KGC—URL、階段性有效因子(如日期 Data或計數(shù)器值等)中的一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被 重放;
302, Enabler獲得所述Client的服務訪問請求,根據(jù)該訪問請求,對所述 PrvKey簽署的p申進行所述Client匿名身份有效性的驗證,當該驗證通過時,定 向至所述訪問請求對應的服務,具體地,在^是取了訪問請求中的相關參數(shù)后
當所述訪問請求中還包括KGC—URL且所述Anony—ID中包含有Client的 Access—Attribute時,在對所述PrvKey簽署的口*進行所述Client匿名身份有效 性的驗證之前還可包括根據(jù)所述KGC—URL及Access—Attribute,驗證KGC 是否可信以及KGC是否具有所述Access—Attribute的授權資格,若該驗證通過 時,則觸發(fā)對所述PrvKey簽署的p申進行所述Client匿名身份有效性的驗證;
或者,當所述AnonyJD中包括Client提供的Anony—ID的一部分且Client 所聲稱歸屬的KGC已對該Client提供的Anony—ID的一部分進行簽署時,對所 述PrvKey簽署的p4進行所述Client匿名身份有效性的驗證的同時,對KGC簽 署的Client提供的Anony—ID的一部分進行驗證;
上述對所述PrvKey簽署的p^^進行所述Client匿名身份有效性的驗證具體可 為首先獲得所述KGC的公開參數(shù),根據(jù)該公開參數(shù)判斷所述PrvKey簽署是否 正確,若是,則對所述PrvKey簽署的?*進行所述Client匿名身份有效性的驗證 通過;
至此,Client與Enabler之間完成了所述訪問的Client匿名身份的驗證; 當所述?*中包括有第二隨機因子,對所述PrvKey簽署的?*進行所述Client 匿名身份有效性的驗證通過后,根據(jù)所述第二隨機因子,設定并簽署用于確定 所述訪問所采用會話密鑰的第三隨機因子,并當Client對所述第三隨機因子的 簽署驗證通過時,根據(jù)所述第三隨機因子確定所述訪問所采用的會話密鑰,例 如,當?*中包括的第二隨機因子為RAND—2,則當對所述PrvKey簽署的口*進 行所述Client匿名身份有效性的驗證通過后,設定用于確定所述訪問所采用會話密鑰的第三隨機因子仍為RAND—2,并用Enabler的私有密鑰PrvKeyEnabler簽 署該RAND—2,得到簽署值SignPrvKeyEnabler(RAND—2), Client接收到Enabler 發(fā)送的所述SignPrvKeyEnabler(RAND—2)后,Client對該SignPrvKeyEnabler(RAND—2) 驗證通過(得到的被簽署的RAND—2即為在301中發(fā)送的第二隨機因子 RAND—2)日于,確定所述訪問所采用的會話密鑰即為RAND一2,此時則認為建立 起了以RAND_2為會話密鑰的訪問安全通道,Client與Enabler之間即可進行后 續(xù)的訪問信息交互;又例如,當p4中包括的第二隨機因子為Client生成的隨機 數(shù)RAND—2與Anony—ID的哈希值的整體運算結果,即RAND—2H"Anony—ID)), 則對所述PrvKey簽署的口*進行所述Client匿名身份有效性的驗證通過后,設定 用于確定所述訪問所采用會話密鑰的第三隨機因子為Enabler提供的隨機數(shù) RAND—3與Enabler—ID的哈希值的整體運算結果,即RAND—(Enabler—ID), 并用Enabler的私有密鑰PrvKeyEnaWer簽署該RAND—3H"Enabler—ID),得到簽署 值SignPrvKeyEnabler(RAND—3H"Enabler—ID)), Client接收到Enabler發(fā)送的所述 SignPrvKeyEnaWer(RAND一3Hi(Enabler—ID)) 后 , Client 對 該 SignPrvKeyEnabler(RAND—3H!(EnablerjD))驗證通過(得到的被簽署的 RAND—3H, (Enabler—ID)即為所述訪問請求中攜帶的對比值 RAND一3HKEnabler—ID))時,Client確定所述訪問所采用的會話密鑰即為 Keyclient.Enabler=eA(PrvKey, RAND—31^(Enabler—ID)+ RAND—2H! (Enabler—ID》, Enabler確定所述訪問所采用的會話密鑰即為KeyEnabler-Cliew=eA(PrvKeyEnabler, RAND—SH^AnonyjD)— RAND—31^(AnonyJD))。此時則認為建立起了以 KeycKent-EnaWe嚴KeyEnab,er-dient為會話密鑰的訪問安全通道,Client與Enabler之間
即可進行后續(xù)的訪問信息交互。
至此,Client與Enabler之間完成了所述訪問的會話密鑰的協(xié)商。 實施如圖3所示的本發(fā)明實施例的訪問方法的主要流程,可通過利用匿名 身份標識以及用該匿名身份標識對應的、用于表征所述服務訪問方具有合法匿 名身份的服務訪問方私有密鑰簽署的參數(shù)進行訪問,對所述私有密鑰簽署的參 數(shù)進行所述服務訪問方匿名身份有效性的驗證通過時,定向至所述訪問請求對 應的服務,從而實現(xiàn)服務訪問方的匿名訪問,滿足服務訪問方隱私的保護需要, 提高了用戶滿意度。
圖4是本發(fā)明實施例的服務訪問方真實身份追溯方法的主要流程圖,參照圖4,該流程主要包括
401, KGC獲得Enabler對匿名訪問服務的Client真實身份的追溯請求(可 攜帶Client的Anony一ID),具體地,在KGC獲得該追溯請求之前,Enabler需 要向仲裁者(Arbiter)申請追溯所述Client真實身份的仲裁憑證(可攜帶于所述 追溯請求中),以要求KGC提供所述Client的真實身份,其中,Enabler在向Arbiter 申請追溯所述Client真實身份的仲裁憑證時,Enabler可向Arbiter提供Client匿 名訪問的訪問記錄(或交易記錄等);
402, KGC根據(jù)所述Enabler發(fā)送的追溯請求(可攜帶Client的Anony—ID 以及所述仲裁憑證),查詢所述Client真實身份與用于隱匿該Client真實身份的 Anony—ID的對應關系,得到所述真實身份,具體地,首先KGC可向Arbiter查 證所述攜帶的仲裁憑證的真實性,當該仲裁憑證真實時,KGC則可進行查詢所 述Client真實身份的處理。
實施如圖4所示的本發(fā)明實施例的服務訪問方真實身份追溯方法的主要流 程,通過根據(jù)對匿名訪問服務的服務訪問方真實身份的追溯請求,查詢所述服 務訪問方真實身份與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關 系,得到所述真實身份以響應所述追溯請求,從而,能在必要時獲得服務訪問
上面描述的為本發(fā)明實施例各方法的主要流程,下面以具體的例子來說明 本發(fā)明實施例各方法相結合的具體應用。
圖5是本發(fā)明的基于IBC的可追溯匿名訪問方法的第一實施例示意圖,參 照該圖,該方法主要包括
500, KGC與Client之間經(jīng)相互i人證后建立安全通道,即KGC與Client 之間建立相互信任關系,并由此信任關系建立起相互間的安全通道,此過程可 采用現(xiàn)有技術得以實現(xiàn),并有可能包含在下述501中,此處不對其作過多說明;
501, Client向KGC發(fā)送用于獲取Client匿名訪問所使用公開密鑰、私有密 鑰的請求(該請求消息同時可作為Client的匿名身份標識生成請求),該請求中 包括有如下參數(shù)Access—Attribute ( Client的訪問屬性信息,其中可包含Client 欲訪問的Enabler信息,即Enabler—ID,如Enabler—URL )、隨才幾凄tRAND—1、 Client的真實身份標識Real—ID;
502, KGC首先根據(jù)Access_Attribute參數(shù)(如Enabler—URL)查詢Enable
2驗證Client是否具有Access—Attribute所表征的訪問屬性(如Client與所述 Enabler存在關聯(lián)關系,即Enabler可向Client提供服務),若該驗證通過時,KGC 將所述請求中攜帶的RAND一1與Real—ID用Hash算法(例如消息摘要算法-5 (Message Digest 5, MD5 )或安全哈希算法l( Secure Hash Algorithm -1, SHA-1)) 生成Hash值,即,此時即完成了對Client真實身份的隱匿,該Hash值 H(Real_ID+RAND—l)與Access—Attribute構成用于隱匿Client真實身份的匿名身 4分標識Anony—ID=Access—Attribute+ H(Real—ID+RAND—1),否則KGC向Client 返回4普誤/終止信息,生成Client的Anony—ID后,該Anony—ID即作為基于IBC 的可追溯匿名訪問方法的Client的公開密鑰,并且,利用該公開密鑰Anony一ID 生成與Anony—ID對應的、用于表征所述Client具有合法匿名身份的私有密鑰 PrvKey , 即 該 PrvKey=sH" Anony—ID)=
sH"Access—Attribute+H(Rea1—ID+RAND—1)),生成該私有密鑰PrvKey即表征了 KGC已對Client具有Access—Attribute進行了肯定,完成將該肯定的關系隱含在 私有密鑰PrvKey中進行綁定;
503, KGC將Client請求獲取的Anony—ID對應的PrvKey通過安全通道發(fā) 送給Client,響應所述501的請求,當該步驟完成時即表征了 Client已取得對服 務進行匿名訪問的KGC授權,所述PrvKey就是對該匿名訪問權利的認可,采 用該PrvKey進行簽署(以PrvKey加密)的值只能用所述Anony—ID進行解密, 另外,Client的7>開密鑰Anony—ID即可通過采用502中KGC使用的類似方法 生成其/>開密鑰Anony—ID;
需要說明的是,KGC還可以采用其他方式生成上述Anony—ID與其對應的 PrvKey,但必須保證Client的真實身份與所述Anony—ID具有唯一的映射關系;
504, Client向Enabler發(fā)送服務訪問請求,該訪問請求中攜帶有采用Enabler 的公開密鑰 Enabler—ID 力。密的參數(shù),即 EncEnabler—ID (Anony—ID+KGC—URL+RAND—2+ SignPrvKey(p*)),其中參數(shù)包括有Anony—ID (即Access—Attribute+ H(Real—ID+RAND—1) )、 Client所聲稱歸屬的KGC的 KGC一URL、第二隨機數(shù)RAND—2、對參數(shù)?*進行PrvKey簽署的簽署值 SignPrvKey(p*),而其中p》除包含第二隨機數(shù)RAND—2之外,還可以包含所述 Anony—ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的 一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被重放,而SignprvKey(p"隱含了將Client獲得Access—Attrribute肯定的綁定關系傳遞至Enabler,使得Enabler 可對該綁定關系進行求證;
505, Enabler采用自己的私有密鑰PrvKeyEnaWer對所述訪問請求中加密的參 數(shù)集進行解密,并解析獲取其中相應參數(shù),即 Extract(KGC—URL+Access—Attribute),得到其中包含的KGC—URL以及 Anony—ID (包含有Access—Attribute),并驗證KGC是否可信以及KGC是否具 有所述Access—Attribute的授權資格,若該驗證通過時,進行后續(xù)處理,當然, 上面的解密處理還可以得到其他參^:,如SignPrvKey(p*);
506, Enabler查詢與KGC一URL對應的Client所屬KGC的IBC 7>開參凄丈;
507, KGC將其公開參數(shù)傳送給Enabler;
若Client與Enabler同屬于一個KGC域時,將無需進行以上506、 507流程 的相關傳送;若Client與Enabler不屬于同一個KGC域時,Enabler將通過所屬 KGC進行相關的查詢動作,且KGC間的查詢方法可采用各種不同的方法完成, 此處不贅述;
508, Enabler獲取Client所屬KGC的IBC公開參數(shù)后,根據(jù)該公開參數(shù)(如 Anony—ID)判斷所述PrvKey簽署是否正確,即判斷SignPrvKey (p"是否正確 (VeriAn。nyJD(SignPrvKey (p*))),若是,則表示對所述PrvKey簽署的?*進行所 述Client匿名身份有效性的驗證通過,認為Anony—ID得到KGC權威認可,同 時Enabler獲取所述RAND—2,并用自己的私有密鑰PrvKeyEnaWer簽署RAND—2, 得到SignPrvKeyEnabler(RAND—2),并根據(jù)所述Access—Attribute定向至所述訪問 請求對應的服務,將Client的訪問按照該Access—Attribute指示的屬性進行處理, 所指示的屬性如服務分為高、中、低不同級別的屬性等;
509, Enabler將所述SignPrvKeyEnabler(RAND—2)采用Client的公開密鑰 Anony—ID進行IBC加密后,得到EncAnonyJD(SignPrvKeyEnabler(RAND—2)),并 將其發(fā)送到Client,以表示Enabler正確接收到RAND一2,并表示Enabler完成 對504中提及的Client獲得Access—Attribute肯定的綁定關系的認證;
510, Client接收到所述EncAn。ny—ro(SignPrvKeyEnaWer(RAND一2))后,采用Client 的私有密鑰PrvKey對其進行解密,即Extact(SignPrvKeyEnabler(RAND—2)),并采 用 Enabler 的公開密鑰 Enabler一ID驗證RAND一2 的簽署,即 VeriEnabler」D(SignPrvKeyEnabler(RAND—2)),并對比所簽署的值是否為504發(fā)送的RAND—2,若是,則確定所述訪問所采用的會話密鑰即為RAND—2,此時則認為 建立起了以RAND一2為會話密鑰的訪問安全通道,Client與Enable之間即可進 行后續(xù)的訪問信息交互。
作為一種替代方案,上述504到510的流程還可以替換為如下圖6所示的 本發(fā)明的基于IBC的可追溯匿名訪問方法的第二實施例,參照該圖,504到510 的流程可替代為
604, Client向Enabler發(fā)送服務訪問請求,該訪問請求中攜帶有采用Enabler 的公開密鑰Enabler—ID加密的參數(shù),即EncEnablerJD(Anony—ID+KGC—URL+ RAND—2H"Anony—ID)+ SignPrvKey (p*)),其中參數(shù)包括有Anony—ID (即 Access—Attribute十H(Real—ID+RAND—1) ) 、 Client所聲稱歸屬的KGC的 KGC—URL、第二隨機因子為Client生成的隨機數(shù)RAND—2與Anony—ID的哈希 值的整體運算結果(即RAND—2H"Anony—ID)))、對參數(shù)?*進行PrvKey的簽署 值SignPrvKey (p*),而卩*除包含所述第二隨機因子RAND—2H!(Anony—ID))之 外,還可以包含所述Anony—ID、 KGC—URL、階段性有效因子(如日期Data 或計數(shù)器值等)中的一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被重放, 而Signp^Key(p"隱含了將Client獲得Access一Attrribute肯定的綁定關系傳遞至 Enabler,使得Enabler可對該綁定關系進行求證;
605, Enabler采用自己的私有密鑰PrvKeyE皿b^對所述訪問請求中加密的參 數(shù)進行解密,得到其中包含的KGC—URL以及Anony—ID (包含有 Access—Attribute ),并驗證KGC是否可信以及KGC是否具有所述 Access—Attribute的授權資格,若該驗證通過時,進行后續(xù)處理,當然,上面的 解密處理還可以得到其他參數(shù),如SignPrvKey(p*);
606, Enabler查詢與KGC—URL對應的Client所屬KGC的IBC 〃^開參數(shù);
607, KGC將其公開參數(shù)傳送給Enabler;
若Client與Enabler同屬于一個KGC域時,將無需進行以上606、 607流程 的相關傳送;若Client與Enabler不屬于同 一個KGC域時,Enabler將通過所屬 KGC進行相關的查詢動作,且KGC間的查詢方法可采用各種不同的方法完成, 此處不贅述;
608, Enabler獲取Client所屬KGC的公開參數(shù)后,根據(jù)該公開參數(shù)判斷所 述PrvKey簽署是否正確,即判斷Sign^Key(p"是否正確,若是,則表示對所述PrvKey簽署的p^^進行所述Client匿名身份有效性的驗證通過,認為Anony—ID 得到KGC權威認可,同時Enabler提取得到所述RAND—2H"Anony—ID),并采 用類似于Client生成該RAND一2H"Anony一ID)的方法生成Enabler提供的隨機數(shù) RAND_3與Enable—ID的哈希值的整體運算結果,即RAND—3H"EnablerJD), 并用Enabler的私有密鑰PrvKeyEn艦r簽署該RAND—3H"Enabler—ID),得到簽署 值SignPrvKeyEnabler(RAND—3H!(Enabler一ID)),并根據(jù)所述Access—Attribute定向 至所述訪問請求對應的服務,將Client的訪問按照該Access—Attribute指示的屬 性進行處理,所指示的屬性如服務分為高、中、低不同級別的屬性等;
609, Enabler將所述SignPrvKeyEnaWer(RAND一3Hi(Enabler—ID))采用Client 的 7>開密鑰 Anony_ID 進行 IBC 力。密后,得到 EncAn加y ID(RAND—3H"Enabler—ID)+SignPrvKeyEnabier(RAND一3H"Enabler一ID)》, 并將其發(fā)送到Client,以表示Enabler正確接收到RAND—2H"Anony一ID),并表 示Enabler完成對604中提及的Client獲得Access—Attribute肯定的綁定關系的 認證;
610 , Client 接收到所述 EncA^y一ro(RAND一3H"Enabler—ID) + SignPrvKeyEnabler(RAND—3HKEnabler—ID)))后,采用Client的私有密鑰PrvKey對 其進行解密,即Extact(SignPrvKeyEn艦r(RAND一3H"Enabler—ID))),并采用Enabler 的公開密鑰 Enabler—ID 驗證 RAND—2 的簽署, 即 VeriEnablCTjD(SignPrvKeyEnablCT(RAND—3H"Enabler—ID))),并對比所簽署的值是否 為Enabler發(fā)送的對比值RAND一3H"Enabler—ID),若相同,則iL為正確4妻收到 了 Client在此之前發(fā)送的相關參數(shù),并確證了 Client合法的匿名身份,Client確 定所述訪問所采用的會話密鑰即為 Keyclient.Enabler=eA(PrvKey, RAND—SH^Enabler—IDh RAND—2Ht(Enabler—ID)), Enabler確定所述訪問所采 用的會話密鑰即為KeyEnabler_cliei =eA(PrvKeyEnabler, RAND—2H"Anony—ID)+ RAND—3H"Anony—ID)),此時則認為建立起了以Keyclient-Enabler=KeyEnabler_client為 會話密鑰的訪問安全通道,Client與Enable之間即可進行后續(xù)的訪問信息交互。
圖7是本發(fā)明的服務訪問方真實身份追溯方法的第一實施例示意圖,參照 該圖,該方法主要包才舌
701, Enabler向Arbiter申請追溯Client真實身份的仲裁憑證,并提供Client 匿名訪問的訪問記錄(或交易記錄等),其中包括Client在訪問過程中采用Anony—ID進行簽名的相關記錄;
702, Arbiter審核Enabler所提供的Client以Anony—ID簽名的訪問記錄, 以確定是否對該Anony—ID進行仲裁,當確定對該Anony_ID進行仲裁時,提供 追溯所述Client真實身份的仲裁憑證;
703, Enbaler在獲得所述仲裁憑證后,將該仲裁憑證以及所述Anony一ID攜 帶在對匿名訪問服務的Client真實身份的追溯請求中提供給KGC,以要求KGC 提供與Anony—ID對應的Client的真實身份;
704, KGC根據(jù)所述Enabler發(fā)送的追溯請求,查詢Client的Anony一ID生 成請求記錄,同時將該Arbiter的仲裁事件通告Client;
705, KGC向Arbiter查詢所述獲得的仲裁憑證的真實性;
706, Arbiter向KGC返回所述仲裁憑證真實與否的指示信息;
707,當Arbiter向KGC返回所述仲裁憑證真實的指示信息時,KGC查詢所 述Client真實身份與用于隱匿該Client真實身份的Anony—ID的對應關系,得到 所述Client的真實身份信息,并將該真實身份信息向Enabler返回。
本實施例的追溯流程主要說明,在必要時,能夠提供對發(fā)起訪問的Client 的真實身份的查證,但所述仲裁的過程同時還會牽涉到非技術的相關方面,此
處不贅述。
另外,當Client需要參與Client的匿名身份標識以及其私有密鑰的生成時, 圖8示出了的本發(fā)明的基于IBC的可追溯匿名訪問方法的第三實施例,參照該 圖,該方法主要包括
801, Client向KGC發(fā)送用于獲取Client匿名訪問所使用公開密鑰、私有密 鑰的請求,該請求中除包括有如下參數(shù),隨機數(shù)RAND一1、 Client的真實身份標 識Real—ID之外,還包括有Client提供的Anony—ID的一部分(后綴),即 Anony—IDp。stfix,而Anony—IDp。礎x可以是由Client選取的隨機密鑰t與KGC公開 參數(shù)中的P運算得到的,即可以是Anony—IDp。stfix=tP, 801中Client可僅發(fā)送攜 帶有tP的匿名訪問請求;當然,所述請求中還可以選擇性地包括Access—Attribute 等信息(下面以包括該Access—Attribute為例進行說明,但當不包括 Access—Attribute時可同樣選擇性適用如下流程);
802, KGC首先驗證所述Anony—IDp。stfo是否符合位數(shù)限制策略的要求,同 時,也需要驗證Client是否具有Access—Attribute所表征的訪問屬性(如Client與所述Enabler存在關聯(lián)關系,即EnaWer可向Client提供服務),若該兩個—驗i正 均通過時,KGC將生成 Anony—ID 的其中 一 部分(前綴) Anony—IDpreflx=H(Real_ID+RAND—1),由Anony—IDpostflx與Anony—IDprefix結合訐乍 為所述Anony—ID,即Anony—ID= Anony—IDpreflx +Anony—IDp。stfix,并由KGC簽 署該Anony_IDpostflx,即Sign PrvKeyKGC (Anony—IDpostfix),并確定RealjD與該 Anony一ID的對應關系,之后,以對所述Anony—IDprefix進行Hash運算得到Hash 值,并將該Hash值與KGC主密鑰s作為生成因子,生成Client的PrvKey的一 部 分 ( PrvKeypart ) , 即 該
PrvKeypar^sH!(Anony—IDp礎x)二sH!(H(Rea1—ID+RAND—1)),與此同時,以所述 Anony—ID作為Client的7>開密鑰,而PrvKey可以是PrvKey=PrvKeypart+t (Anony—IDpreflx)其中,t是由Client選取的隨機密鑰;
803, KGC將所述PrvKey一及Sign PrvKeyKGC (AnonyJDp。stfix)發(fā)送至Client, 且Client需要生成Anony—ID及PrvKey,至此,Client即獲得用于匿名訪問的IBC 公開密鑰及私有密鑰(或稱為公私密鑰對),該公私密鑰對中包含了 Client獲得 Access—Attrribute肯定的綁定關系,此時Client生成的公開密鑰為上述 Anony—ID=Anony—IDprefix+Anony—IDp。stflx , 私有密鑰為上述 PrvKey= sH(Anony—IDprefix)+ t H"Anony一IDprefix);
804, Client向Enabler發(fā)送服務訪問請求,該訪問請求中攜帶有采用Enabler 的公開密鑰Enabler—ID加密的參數(shù),即EncEnabler ID(Anony—IDpreflx,Anony—IDp。stflx, SignPrvKey (p*), KGC一URL,Sign PrvKeyKGC (Anony_IDp。stflx)),其中參數(shù)包括有 Anony—ID (可包括Anony—IDpreflx+Anony—IDp。stfix的結合整體,也可分別包括r Anony—IDpreflx與Anony—IDp。stfix )、 Client所聲稱歸屬的KGC的KGC—URL、 Sign PrvKeyKGC (Anony_IDp。stfix)、對參數(shù)p*進行PrvKey的簽署值SignPrvKey (p*), 而其中p承除包含第二隨機數(shù)RAND—2之外,還可以包含所述Anony_ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的一種或多種 的組合,從而防止pW斤屬數(shù)據(jù)包或字段被重放,當存在所述Access—Attribute時, SignPrvKey (p"隱含了將Client獲得Access—Attrribute肯定的綁定關系傳遞至 Enabler,使得Enabler可對該綁定關系進行求證;
805, Enabler采用自己的私有密鑰PrvKeyEna^對所述訪問請求中加密的參 數(shù)進行解密,即Extmct(Anony—IDprefix,Anony_IDp。stflx,KGC—URL, SignPrvKey (p承),Sign PrvKeyKGC(Anony—IDp。stflx)),得到其中包含的KGC—URL以及Anony—ID(這 里假設Anony—ID中包含有Access—Attribute),并驗證KGC是否可信以及KGC 是否具有所述Access一Attribute的授權資格,若該驗證通過時,進行后續(xù)處理, 當然,上面的解密處理還可以得到其他參數(shù),如SignPrvKey (p*);
806, Enabler查詢與KGC—URL對應的Client所屬KGC的IBC公開參數(shù);
807, KGC將其公開參數(shù)傳送給Enabler;
若Client與Enabler同屬于一個KGC域時,將無需進行以上806、 807流程 的相關傳送;若Client與Enabler不屬于同一個KGC域時,Enabler將通過所屬 KGC進行相關的查詢動作,且KGC間的查詢方法可采用各種不同的方法完成, 此處不贅述;
808, Enabler獲取Client所屬KGC的公開參數(shù)后,根據(jù)該公開參數(shù)判斷所 述PrvKey簽署是否正確,即判斷Signp^ey(p"是否正確(VeriPrvKey(SignPrvKey (p*))),若是,則表示對所述PrvKey簽署的口*進行所述Client匿名身4分有效性 的驗證通過,認為Anony—ID得到KGC權威認可,同時,Enabler需要驗證Sign PrvKeyKGC (Anony—IDpostfix),即VeriKGC(Sign PrvKeyKGC (AnonyJDpostflx)),若該馬全 證也通過時,Enabler提取所述RAND—2,并用自己的私有密鑰PrvKeyEnabler簽署 RAND—2,即SignPrvKeyEnabler(RAND—2),得到SignPrvKeyEnabler(RAND—2),并 根據(jù)所述Access—Attribute (這里仍假設Anony—ID中包含有Access—Attribute ) 定向至所述訪問請求對應的服務,將Client的訪問按照該Access—Attribute指示 的屬性進行處理,所指示的屬性如服務分為高、中、低不同級別的屬性等;
809, Enabler將所述SignPrvKeyEnabler(RAND—2)采用Client的>^開密鑰 AnonyJD進行IBC加密后,得到EnCAnony ID(SignPrvKeyEnabler(RAND—2)),并將 其發(fā)送到Client,以表示Enabler正確接收到RAND一2,并表示Enabler完成對 804中提及的Client獲得Access—Attribute肯定的綁定關系的認證;
810, Client接收到所述EncAn呵ro(SignPrvKeyE爐er(RAND-2))后,采用Client 的私有密鑰PrvKey對其進行解密,并采用Enabler的公開密鑰Enabler—ID驗證 RAND—2的簽署,并對比所簽署的值是否為804發(fā)送的RAND_2 ,即 Extact&Compare(RAND—2),若是,則確定所述訪問所采用的會話密鑰即為 RAND—2,此時則認為建立起了以RAND—2為會話密鑰的訪問安全通道,Client 與Enable之間即可進行后續(xù)的訪問信息交互。對于上述圖8所示的本發(fā)明的基于IBC的可追溯匿名訪問方法的第三實施 例,當AnonyJD中包含有Client提供的AnonyjD的一部分(后綴),即 Anony—IDp。池x時,而AnonyJDp。s版可以是由Client選取的隨機密鑰t與KGC 公開參數(shù)中的P運算得到的,即可以是Anony—IDp。stfix =tP,此時在追溯Client 真實身份時,可采用如圖7所示的大致流程,但因為t對于KGC是不可知的, KGC需要知道t后才能確認匿名訪問中的Anony—ID的簽名是由Client所為, 如Client惡意抵賴Anony—ID的簽名(Client不將t值告知KGC ),那么KGC需 要通過暴力破解t的值,從而得到其真實身份信息,使得Client不能否認上述匿 名訪問中的AnonyJD的簽名是其所為。
相應地,下面對本發(fā)明實施例的系統(tǒng)進行說明,同時,也對本發(fā)明實施例 的設備進行說明。
圖9是本發(fā)明實施例的身份標識生成系統(tǒng)的主要結構圖,該系統(tǒng)主要包括 作為服務訪問方身份管理設備的KGC91以及作為服務訪問方設備的Client92, 而KGC91與Client92之間經(jīng)相互認證后建立起了安全通道,參照該圖9,KGC91 包括生成請求獲取單元911、匿名生成單元912, Client92主要包括請求發(fā)送單 元921、響應接收單元922,其中各單元、設備功能如下述
請求發(fā)送單元921,以選取的方式,向KGC91發(fā)送匿名身^f分標識(Anony—ID ) 生成請求(即為用于觸發(fā)生成Anony—ID的請求),具體地,該Anony—ID生成 請求中可包括如下信息中的一種或多種的組合Client92的真實身份標識
(Real_ID)、 Client92的訪問屬性信息(Access—Attribute )、第一隨機因子(隨 機數(shù)RAND—1 )、 Client92提供的Anony—ID的某一部分(后綴,Anony—IDp。stfix ), 其中,Client92的Access—Attribute可包含條欠訪問的Enabler信息,即Enabler—ID, 如Enabler的統(tǒng) 一 資源定位符(Uniform Resource Locator , URL )信息
(Enabler—URL ), Access—Attribute還可包含Client92對服務的訪問級別信息等, 而Anony—IDp。stfix可以是由Client92選取的隨機密鑰t (與KGC主密鑰s有著類 似性質的參數(shù))與KGC91公開參數(shù)中的P (公開參數(shù)中的各參數(shù)含義是源于密 碼學的離散對數(shù)問題的數(shù)學基礎定義的,屬于業(yè)界內的無歧義參數(shù)標識,此處P 即為由群G,中選取的用以生成PPUB =sP中的生成元P)運算得到的,即可以是 Anony—IDpostflx =tP;
響應接收單元922,接收所述Anony—ID生成請求響應;生成請求獲取單元911,獲取所述請求發(fā)送單元921發(fā)送的所述Anony—ID 生成請求;
匿名生成單元912,根據(jù)所述Anony—ID生成請求,生成與所述Client92的 真實身份具有對應關系的AnonyJD的部分或全部,也可同時保存真實身份(以 RealJD標識)與Anony—ID的對應關系以在追溯該真實身份中使用,具體地, 匿名生成單元912可用于
當所述Anony—ID生成請求中包括Client92的Real—ID、 RAND—1時,則以 所述RealJD與RAND—1作為生成因子,采用Hash算法生成Client92的 Anony—ID的全部,即該Anony—ID=H(Real—ID+RAND—1),并確定Real—ID與該 Anony—ID的對應關系;
或者,當所述Anony—ID生成請求中包括Client92的Real—ID、 RAND—1 、 Access—Attribute時,可以在驗證到Client92具有Access—Attribute所表征的訪問 屬性(如Client92與所述Enabler存在關聯(lián)關系,即Enabler可向Client92提供 服務)之后,以所述Real—ID、 RAND—1與Access_Attribute作為生成因子,采 用Hash算法并結合Access—Attribute生成Client92的Anony—ID的全部,即該 Anony—ID=Access—Attribute+H(Real—ID+RAND一 1), 并確定Real一ID與該 Anony—ID的對應關系;
或者,當所述Anony—ID生成請求中包括有Client92提供Anony—IDp。stflx時, 則可在驗證得到Anony—IDp。stfix滿足匿名身份標識要求之后,以上述一種方法生 成Anony—ID的其中一部分(前綴)Anony—IDpreflx=H(Real—ID+RAND—1),由 Anony—IDp。stflx與Anony—IDpreflx結合作為所述Anony—ID , 即Anony—ID= Anony_IDpreflx +Anony_IDpostfix ,并由KGC91簽署該Anony—IDpostfix ,即Sign PrvKeyKGC (Anony—IDpostfix),并確定RealJD與該AnonyJD的對應關系;
或者,生成與所述Client92的真實身份具有對應關系的AnonyJD的部分或 全部,也可以采用非由所述Real—ID生成的標識作為所述Anony—ID的部分或全 部,例如,KGC91上可提供一個標識A (如KGC91產(chǎn)生的某一隨機數(shù),或某 一隨機數(shù)與日期結合的整體等),該標識A并非以Real—ID作為其生成因子而生 成的,此時只要確定該RealJD與作為Anony—ID的標識A的對應關系即可;
至此,KGC91即生成了與所述Client92的真實身4分具有對應關系的 Anony—ID的部分或全部,KGC91中還還可以包括如下響應單元響應單元,向所述Client92響應所述匿名身份標識生成請求,將生成的與 所述Client92的真實身份具有對應關系的Anony—ID的部分或全部發(fā)送到 Client92,當KGC91簽署所述Anony—IDp。stfix時,向所述Client92響應所述匿名 身份標識生成請求時,同時將所述Sign PrvKeyKGC (Anony—IDp。stflx)發(fā)送到 Client92以表征Anony—IDp。stfix滿足匿名身份標識要求;另外,當KGC91在上述 單元功能處理中出錯(如Client92與所述Enabler不存在關聯(lián)關系)時,向所 述Client92發(fā)送生成錯誤/終止信息。
實施如圖9所示的本發(fā)明實施例的身份標識生成系統(tǒng),可通過KGC914艮據(jù) 隱匿Client92真實身份的匿名身份標識生成請求,生成與所述真實身份具有對 應關系的所述匿名身份標識,從而為Client92的匿名訪問提供匿名身份標識, 滿足Client92隱私的保護需要,提高了用戶滿意度。
圖IO是本發(fā)明實施例的身份標識生成系統(tǒng)的另一種主要結構圖,該系統(tǒng)主 要包括作為服務訪問方身份管理設備的KGC101以及作為服務訪問方設備的 Clientl02,而該系統(tǒng)完成在Clientl02匿名身份標識生成的基礎上對Clientl02 私有密鑰PrvKey生成的實現(xiàn),并且KGC101與Client 102之間經(jīng)相互認證后建 立起了安全通道,參照該圖10, KGCIOI包括生成請求獲取單元1011、匿名生 成單元1012、私鑰生成單元1013, Clientl02主要包括請求發(fā)送單元1021、響 應接收單元1022,其中各單元、設備功能如下述
請求發(fā)送單元1021,以選取的方式,向KGC101發(fā)送匿名身份標識 (Anony—ID)生成請求,具體地,該Anony—ID生成請求中可包括如上述請求 發(fā)送單元921中描述的信息中的一種或多種的組合,此處不再贅述;
響應接收單元1022,接收所述Anony—ID生成請求響應;
生成請求獲取單元1011,獲取所述請求發(fā)送單元1021發(fā)送的所述Anony—ID 生成請求;
匿名生成單元1012,根據(jù)所述Anony—ID生成請求,生成與所述Clientl02 的真實身份具有對應關系的Anony—ID的部分或全部,也可同時保存真實身份 (以Real—ID標識)與Anony—ID的對應關系,具體地,可如上述匿名生成單元 912中描述的幾種情況,此處不再贅述;
私鑰生成單元1013,在匿名生成單元1012生成與所述Clientl02的真實身 4分具有對應關系的Anony—ID的部分或全部之后,生成所述Anony—ID對應的、用于表征所述Clientl02具有合法匿名身份的私有密鑰(PrvKey)的部分或全部, 與此同時,以所述Anony—ID作為Clientl02的公開密鑰,具體地,私鑰生成單 元1013可用于
當所述Anony—ID生成請求中包括Clientl02的Real一ID、 RAND—1時,則 以所述Real—ID與RAND—1作為生成因子,釆用Hash算法生成Clientl02的 Anony—ID的全部,即該Anony—ID=H(Real—ID+RAND—1),并確定Real—ID與該 Anony—ID的對應關系,之后,以對所述Anony—ID進行Hash運算得到Hash值, 并將該Hash值與KGCIOI主密鑰s作為生成因子,生成Client 102的PrvKey全 部,即該PrvKe尸sHi(Ancaiy—ID)-sH"H(RealJD+RANDJ)),與此同時,以所 述Anony_ID作為Clientl02的7>開密鑰;
或者,當所述Anony—ID生成請求中包括Clientl02的Real—ID、 RAND—1 、 Access—Attribute時,可以在驗證到Client 102具有Access—Attribute所表征的訪 問屬性(如Clientl02與所述Enabler存在關聯(lián)關系,即Enabler可向Clientl02 提供服務)之后,以所述Real—ID 、 RAND—1與Access—Attribute作為生成因子, 采用Hash算法并結合Access—Attribute生成Clientl02的Anony—ID的全部,即 該Anony—ID=Access—Attribute+H(Real—ID+RAND_l),并確定Real—ID與該 Anony—ID的對應關系,之后,以對所述Anony—ID進行Hash運算得到Hash值, 并將該Hash值與KGCIOI主密鑰s作為生成因子,生成Client 102的PrvKey全 部,即該PrvKe尸sH"Anony一ID^ sH"Access一Attribute+H(Rea1—ID+RAND—1)), 與此同時,以所述Anony一ID作為Client 102的公開密鑰;
或者,當所述Anony—ID生成請求中包括有Clientl02提供Anony—IDp。stflx 時,則可在驗證得到Anony一IDp。礎x滿足匿名身份標識要求(如滿足位數(shù)限制 策略的要求)之后,以上迷一種方法生成AnonyJD的其中一部分(前綴) Anony—IDpreflx=H(Real—ID+RAND—1),由Anony—IDp。stfix與Anony—IDpreflx結合作 為所述Anony—ID,即Anony_ID= Anony—IDprefix + Anony—IDp。stflx,并由KGC101 用KGCIOI的私有密鑰(PrvKeyKGC)簽署該Anony_IDp。stfix,即Sign PrvKeyKGC (Anony_IDp。stfix),并確定Real_ID與該AnonyJD的對應關系,之后,以對所述 Anony—IDprefix進行Hash運算得到Hash值,并將該Hash值與KGCIOI主密鑰s 作為生成因子,生成Clientl02的PrvKey的一部分(PrvKeypart),即該 PrvKeypa^sH!(Anony—IDprefix"sH"H(Rea1—ID+RANDJ)),與此同時,以所述Anony—ID作為Clientl02的/>開密鑰,而PrvKey可以是PrvKey=PrvKeypart+t H"Anony—IDprefix)其中,t是由Clientl02選取的隨機密鑰;
或者,生成與所述Clientl02的真實身份具有對應關系的Anony—ID的部分 或全部,也可以采用非由所述Rea1—ID生成的標識作為所述Anony一ID的部分或 全部,例如,KGC101上可提供一個標識A (如KGC101產(chǎn)生的某一隨機數(shù), 或某一隨機數(shù)與日期結合的整體等),該標識A并非以Real—ID作為其生成因子 而生成的,此時只要確定該Real—ID與作為Anony—ID的標識A的對應關系即可, 之后,以對所述Anony—ID (即標識A)進行Hash運算得到Hash值,并將該 Hash值與KGC101主密鑰s作為生成因子,生成Client 102的PrvKey全部,即 該PrvKe"sH!(Anony—ID)= sH"A),與此同時,以所述Anony—ID作為Clientl02 的公開密鑰;
至此,KGC101即生成了與所述Clientl02的真實身^f分具有對應關系的 Anony—ID的部分或全部,也生成了所述Anony—ID對應的、用于表征所述 Clientl02具有合法匿名身份的PrvKey的部分或全部,KGC101還可以包括如下 響應發(fā)送
響應單元,向所述Clientl02響應所述匿名身份標識生成請求,將生成的與 所述Clientl02的真實身份具有對應關系的Anony—ID的部分或全部,以及PrvKey 的部分或全部發(fā)送到Clientl02;或者向所述Clientl02響應所述私有密鑰生成請 求,只將生成的PrvKey的部分或全部發(fā)送到Clientl02 (不發(fā)送Anony—ID ),而 Clientl02可按照KGC101生成Anony—ID的方法自行生成Anony—ID,當KGC101 簽署所述Anony—IDp。stfix時,向所述Clientl02響應所述匿名身份標識生成請求 時,同時將所述Sign PrvKeyKGC (Anony—IDp。礎x)發(fā)送到Clientl02以表征 Anony—IDp。礎x滿足匿名身份標識要求;另外,當KGC101在上述單元功能處理 中出錯(如Clientl02與所述Enabler不存在關聯(lián)關系)時,向所述Clientl02 發(fā)送生成錯誤/終止信息。
實施如圖IO所示的本發(fā)明實施例的身份標識生成系統(tǒng),可通過KGC101根 據(jù)隱匿Clientl02真實身份的匿名身份標識生成請求,生成與所述真實身份具有 對應關系的所述匿名身份標識,并生成所述匿名身份標識對應的、用于表征所 述Client102具有合法匿名身份的私有密鑰的部分或全部,從而為Clientl02的匿 名訪問提供匿名身份標識、私有密鑰,滿足Client102隱私的保護需要,提高了用戶滿意度。
圖ll是本發(fā)明實施例的訪問系統(tǒng)的主要結構圖,該系統(tǒng)主要包括作為服務
提供方設備的Enablerlll以及作為服務訪問方設備的Clientl12,參照該圖11, Enablerlll包括訪問請求獲耳又單元1111、-瞼證單元1112、月良務定向單元1113, Clientl12包括訪問請求發(fā)送單元1121、訪問請求響應接收單元1122,其中各單 元、設備功能如下述-.
訪問請求發(fā)送單元1121,向Enablerlll發(fā)送服務訪問請求,該訪問請求中 攜帶有所述Client112的Anony—ID,以及用所述Anony—ID對應的、用于表征所 述Clientl12具有合法匿名身份的Clientl12的PrvKey簽署的參數(shù)(p*)(即 SignPrvKey (p*)),具體地,所述訪問請求中還可以包括第二隨機因子(如隨 機數(shù)RAND—2,或Client生成的隨機數(shù)RAND—2與Anony—ID的哈希值的整體 運算結果,即RAND—2H!(Anony—ID)),當所述Clientl 12與Enablerlll不屬于 同一個KGC域(需要說明的是,當屬于所述Clientl12與Enablerlll屬于同一 個KGC域時,可不包括如下Clientl12所聲稱歸屬的權威管理者信息)時,所 述訪問請求中還可以包括Client 112所聲稱歸屬的權威管理者信息(即Client 112 所歸屬的KGC信息,如KGC—URL),當Anony—ID由KGC生成的Anony—IDprefix 及Clientl 12提供的Anony—IDp。stflx組成,Anony—ID中可包含有Clientl 12的訪問 屬性信息(Access—Attribute ),那么當所述Anony_ID由Anony_IDpostflx組成時, 所述訪問請求中還可以包括對Anony_IDp。stflx的KGC簽署信息Sign PrvKeyKGC (Anony—IDp。stflx),而p*除包含所述第二隨機因子之外,還可以包含所述 Anony—ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的 一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被重放;
訪問請求響應接收單元1122,接收Enablerl 11對所述訪問請求的響應; 訪問請求獲取單元1111,獲得所述Client112的服務訪問請求; 驗證單元1112,根據(jù)所述訪問請求,對所述PrvKey簽署的p*進行所述 Clientl12匿名身份有效性的驗證,具體地,在提取了訪問請求中的相關參數(shù)后, 首先獲得所述KGC的公開參數(shù),根據(jù)該公開參數(shù)判斷所述PrvKey簽署是否正 確,若是,則對所述PrvKey簽署的口*進行所述(^6加112匿名身份有效性的驗 證通過;
另外,Enablerlll中還可以包括具有如下功能的初步驗^〖正單元當所述訪問請求中還包括KGC一URL且所述Anony—ID中包含有Clientl 12的 Access—Attribute時,在對所述PrvKey簽署的口*進行所述Clientl12匿名身份有 效性的驗證之前還可包括根據(jù)所述KGC—URL及Access—Attribute,驗證KGC 是否可信以及KGC是否具有所述Access—Attribute的授權資格,若該驗證通過 時,則觸發(fā)對所迷PrvKey簽署的p^^進行所述Clientl 12匿名身份有效性的—瞼證;
另夕卜,Enablerlll中還可以包括有如下功能的部分-瞼證單元當所述 Anony—ID中包括Clientl12提供的Anony—ID的一部分且Clientl12所聲稱歸屬 的KGC已對該Clientl 12提供的Anony—ID的一部分進行簽署時,對所述PrvKey 簽署的?*進行所述Clientl12匿名身份有效性的驗證的同時,對KGC簽署的 Clientl 12提供的Anony—ID的一部分進行驗證;
至此,Clientl 12與Enablerlll之間完成了所述訪問的Clientl 12匿名身份的 驗證;
另外,Enablerlll中還可以包括有如下功能的密鑰協(xié)商單元當所述口*中 包括有第二隨機因子,對所述PrvKey簽署的pf進行所述Clientl12匿名身份有 效性的驗證通過后,根據(jù)所述第二隨機因子,設定并簽署用于確定所述訪問所 采用會話密鑰的第三隨機因子,并當Clientll2對所述第三隨機因子的簽署驗證 通過時,根據(jù)所述第三隨機因子確定所述訪問所采用的會話密鑰,例如,當p* 中包括的第二隨機因子為RAND一2,則當對所述PrvKey簽署的口*進行所述 Clientl12匿名身份有效性的驗證通過后,設定用于確定所述訪問所采用會話密 鑰的第三隨機因子仍為RAND—2,并用Enablerlll的私有密鑰PrvKeyEnabler簽署 該RAND_2,得到簽署值SignPrvKeyEnabler(RAND_2), Clientl 12接收到Enablerl 11 發(fā)送的所述 SignPrvKeyEnabler(RAND_2)后 ,Clientl 12 對該 SignPrvKeyEnabler(RAND—2)驗證通過(得到的被簽署的RAND—2即為在訪問請求 發(fā)送單元1121中發(fā)送的第二隨機因子RAND—2)時,確定所述訪問所采用的會 話密鑰即為RAND—2,此時則認為建立起了以RAND—2為會話密鑰的訪問安全 通道,Clientl12與Enablelll之間即可進行后續(xù)的訪問信息交互;又例如,當 p承中包括的第二隨機因子為Clientl12生成的隨機數(shù)RAND—2與Anony—ID的哈 希值的整體運算結果,即RAND—2H!(Anony—ID)),則對所述PrvKey簽署的p* 進行所述Client112匿名身份有效性的聰r證通過后,設定用于確定所述訪問所采 用會話密鑰的第三隨機因子為Enablerlll提供的隨機數(shù)RAND一3與Enabler_ID的哈希值的整體運算結果,即RAND—3Hi(EnablerJD),并用Enablerlll的私有 密鑰 PrvKeyEnabler簽署該 RAND一3H, (Enabler—ID), 得到簽署值 SignPrvKeyEnaWer(RAND—3H!(EnablerjD)), Clientl12接收到Enablerlll發(fā)送的 所述SignPrvKeyEnabler(RAND—3H"Enabler—ID))及RAND_3& (Enabler—ID)后, Clientl 12對該SignPrvKeyEnaWer(RAND—3H"EnablerjD))驗證通過(得到的被簽 署的 RAND—3H!(EnablerJD)即為 Enablerlll 發(fā)送的對比值 RAND—3H"Enabler—ID))時,Clientl12確定所述訪問所采用的會話密鑰即為 Keyclient-Enabler=eA(PrvKey, RAND—3H"Enabler_ID)+ RAND—2&(Enabler—ID》, Enabler確定所述訪問所采用的會話密鑰即為KeyEnabler-Client=eA(PrvKeyEnabler, RAND—SHXAnonyJD)— RAND—3H"AnonyJD)),此時則i人為建立起了以 Keyaient-EnaWe尸KeyEnaWer-dient為會話密鑰的訪問安全通道,Clientl12與Enablerlll 之間即可進行后續(xù)的訪問信息交互。
至此,Clientl12與Enablerlll之間完成了所述訪問的會話密鑰的協(xié)商。
實施如圖11所示的本發(fā)明實施例的訪問系統(tǒng),可通過Clientll2利用匿名身 份標識以及用該匿名身份標識對應的、用于表征所述Clientl 12具有合法匿名身 份的Clientll2私有密鑰簽署的參數(shù)進行訪問,Enablerlll對所述私有密鑰簽署 的參數(shù)進行所述Client112匿名身份有效性的驗證通過時,定向至所述訪問請求 對應的服務,從而實現(xiàn)Clientll2的匿名訪問,滿足Clientl12隱私的保護需要, 提高了用戶滿意度。
圖12是本發(fā)明實施例的身份追溯系統(tǒng)的主要結構圖,該系統(tǒng)主要包括作為 服務訪問方身份管理設備的KGC121以及作為身份追溯請求設備的Enabler122, 參照該圖12, KGC121包括存儲單元1211、追溯請求獲取單元1212、查詢單元 1213, Enabler122包括追溯請求發(fā)送單元1221、追溯請求響應接收單元1222, 其中各單元、設備功能如下述
追溯請求發(fā)送單元1221,向KGC121發(fā)送對匿名訪問^^務的Client真實身 份的追溯請求(可攜帶Client的Anony一ID),具體地,在發(fā)送該追溯請求之前, Enabler122需要向仲裁者(Arbiter )申請追溯所述Client真實身份的仲裁憑證(可 攜帶于所述追溯請求中),以要求KGC121提供所述Client的真實身份,其中, Enablerl22在向Arbiter申請追溯所述Client真實身份的仲裁憑證時,Enabler122 可向Arbiter提供Client匿名訪問的訪問記錄(或交易記錄等);追溯請求響應接收單元1222,接收KGC121對所述追溯請求的響應;
存儲單元1211,存儲有Client真實身份與用于隱匿該Client真實身份的 Anony—ID的對應關系;
追溯請求獲取單元1212,獲得Enabler122對匿名訪問服務的Client真實身 份的所述追溯請求;
查詢單元1213,根據(jù)所述Enabler122發(fā)送的追溯請求(可攜帶Client的 Anony一ID以及所述仲裁憑證),查詢所述Client真實身份與用于隱匿該Client 真實身份的Anony—ID的對應關系,得到所述真實身份,具體地,首先可向Arbiter 查證所述攜帶的仲裁憑證的真實性,當該仲裁憑證真實時,則可進行查詢所述 Client真實身份的處理。
實施如圖12所示的本發(fā)明實施例的身份追溯系統(tǒng),通過KGC121根據(jù)對匿 名訪問服務的Client真實身份的追溯請求,查詢所述Client真實身份與用于隱匿 該Client真實身份的匿名身份標識的對應關系,得到所述真實身份以響應所述 追溯請求,從而,能在必要時獲得Client真實身份,從而Client不可否認其曾經(jīng) 發(fā)起過的服務訪問過程。
上面描述的為本發(fā)明實施例各系統(tǒng)、設備的主要結構,下面以具體的例子 來說明本發(fā)明實施例各系統(tǒng)、設備功能相結合的具體應用。
圖13是本發(fā)明的基于IBC的可追溯匿名訪問系統(tǒng)的第一實施例示意圖,參 照該圖,該系統(tǒng)主要包括KGC131、 Clientl32、 Enabler133,其中KGC131包括 生成請求獲取單元1311、第一驗證單元1312、匿名生成單元1313、私鑰生成單 元1314, Clientl32包括請求發(fā)送單元1321、響應接收單元1322、訪問請求發(fā) 送單元1323、訪問請求響應接收單元1324、第一密鑰協(xié)商單元1325, Enabler133 包括訪問請求獲取單元1331、初步驗證單元1332、第二驗證單元1333、服務定 向單元1334、第二密鑰協(xié)商單元1335,其中各單元、設備功能如下述
請求發(fā)送單元1321,向KGC131發(fā)送用于獲取Client132匿名訪問所使用公 開密鑰、私有密鑰的請求(該請求消息同時可作為Clientl32的匿名身份標識生 成請求),該請求中包括有如下參數(shù)Access—Attribute ( Clientl32的訪問屬性信 息,其中可包含Clientl32欲訪問的Enabler133信息,即Enabler—ID,如 Enabler—URL )、隨機數(shù)RAND—1 、 Clientl32的真實身份標識Real—ID;
第一驗證單元1312,首先根據(jù)Access—Attribute參數(shù)(如Enabler—URL)查詢Enablel33驗證Clientl32是否具有Access—Attribute所表征的訪問屬性; 具體地,該第一-瞼證單元1312可包括
判斷單元,根據(jù)所述Real—ID及Enabler—URL,判斷所述Clientl32與 Enabler133之間是否存在關聯(lián)關系,即Enabler133可向Clientl32提供服務;
判斷處理單元,當判斷單元判斷為所述Clientl32與Enabler133之間存在關 聯(lián)關系時,觸發(fā)匿名生成單元1313工作;
匿名生成單元1313,當?shù)谝或炞C單元1312驗證通過時,將所述請求中攜帶 的RAND—1與Real—ID用Hash算法(例如MD5或SHA-1 )生成Hash值,即, 此時即完成了對Clientl32真實身份的隱匿,該Hash值H(Real—ID+RAND—l)與 Access—Attribute構成用于隱匿Clientl32真實身份的匿名身份標識 Anony_ID=Access—Attribute+H(Real—ID+RAND—1),生成Client132的Anony—ID 后,該Anony—ID即作為基于IBC的可追溯匿名訪問方法的Clientl32的公開密 鑰;
私鑰生成單元1314,利用所述公開密鑰Anony—ID生成與Anony—ID對應的、 用于表征所述Clientl32具有合法匿名身份的私有密鑰PrvKey,即該 PrvKe"sH!(Anony—ID)= sH!(Access—Attribute+H(Rea1—ID+RAND—1)),生成該私 有密鑰PrvKey即表征了 KGC131已對Clientl32具有Access—Attribute進行了肯 定,完成將該肯定的關系隱含在私有密鑰PrvKey中進行綁定;
響應接收單元1322,接收KGC131通過安全通道發(fā)送的Anony—ID對應的 PrvKey,當該功能完成時即表征了 Clientl32已取得對服務進行匿名訪問的 KGC131授權,所述PrvKey就是對該匿名訪問權利的認可,采用該PrvKey進 行簽署(以PrvKey加密)的值只能用所述Anony一ID進行解密;
另外,Clientl32的7>開密鑰Anony—ID即可通過采用KGC131中使用的類 似方法生成其7>開密鑰Anony一ID;
需要說明的是,KGC131還可以采用其他方式生成上述Anony—ID與其對應 的PrvKey,但必須保證Clientl32的真實身份與所述Anony—ID具有唯一的映射 關系;
訪問請求發(fā)送單元1323,向Enabler133發(fā)送服務訪問請求,該訪問請求中 攜帶有釆用Enabler133的公開密鑰Enabler—ID加密的參數(shù),即EncEnabler—ID (Anony—ID+KGC—URL+RAND—2+SignPrvKey (p*)),其中參數(shù)包括有Anony—ID(即Access—Attribute十H(Real—ID+RAND—1) )、 Clientl32所聲稱歸屬的KGC131 的KGC—URL、第二隨機數(shù)RAND—2、對參數(shù)p4進行PrvKey簽署的簽署值 SignPrvKey (p*),而其中p《除包含第二隨機數(shù)RAND_2之外,還可以包含所述 Anony—ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的 一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被重放,而SignPrvKey (p"隱 含了將Clientl32獲得Access—Attrribute肯定的綁定關系傳遞至Enabler133,使 得Enabler133可對該綁定關系進行求證;
訪問請求獲取單元1331,接收所述Clientl32發(fā)送的訪問請求;
初步驗證單元1332,當采用Enabler133自己的私有密鑰PrvKey^wer對所述 訪問請求中加密的參數(shù)集進行解密,并解析獲取其中相應參數(shù),即 Extract(KGC_URL+Access—Attribute), 得到其中包含的KGC_URL以及 Anony—ID (包含有Access—Attribute)后,驗證KGC 131是否可信以及KGC 131 是否具有所述Access—Attribute的授權資格,若該驗證通過時,進行后續(xù)處理, 當然,上面的解密處理還可以得到其他參數(shù),如SignPrvKey (p*);
第二驗證單元1333中的公開參數(shù)獲取單元,查詢得到與KGC—URL對應的 Clientl32所屬KGC131的IBC公開參數(shù)(如Anony—ID );需要說明的是,若 Clientl32與Enabler133同屬于一個KGC131域時,將無需進行本公開參數(shù)獲取 單元的相關傳送;若Clientl32與Enabler133不屬于同一個KGC域時,將通過 所屬KGC進行相關的查詢動作,且KGC間的查詢方法可采用各種不同的方法 完成,此處不贅述;
第二驗證單元1333中的判斷單元,獲取Clientl32所屬KGC131的公開參 數(shù)后,根據(jù)該公開參數(shù)判斷所述PrvKey簽署是否正確(Veri細ny—ID(SignPrvKey (p*))),即判斷SignPrvKey (p"是否正確,若是,則表示對所述PrvKey簽署的 p承進行所述Clientl32匿名身份有效性的驗證通過,認為Anony—ID得到KGC131 權威認可;
服務定向單元1334,當所述第二驗證單元1333驗證通過時,根據(jù)所述 Access_Attribute定向至所述訪問請求對應的服務,將Clientl32的訪問按照該 Access—Attribute指示的屬性進行處理,所指示的屬性如服務分為高、中、低不 同級別的屬性等;
第二密鑰協(xié)商單元1335,當所述第二驗證單元1333驗證通過時,獲取所述RAND一2,并用Enabler133自己的私有密鑰PrvKeyEnabler簽署RAND—2,得到 SignPrvKeyEnabler(RAND—2),并將所述SignPrvKeyEnabler(RAND—2)采用Clientl32 的公開密鑰 Anony一ID 進行 IBC 力。密后, 得到 EncAnonyJD(SignPrvKeyEnabler(RAND_2)》并將其發(fā)送到Clientl32,以表示 Enabler133正確接收到RAND_2,并表示Enabler133完成對上述提及的Clientl32 獲得Access—Attribute肯定的綁定關系的認證;
訪問請求響應接收單元 1324 , 接收到攜帶有 EncAnony_ID(SignPrvKeyEnabler(RAND_2)>々訪問請求響應;
第 一 密鑰協(xié)商單元 1325 , 對接收到的所述 EncAn0ny_ID(SignPrvKeyEnabler(RAND—2)),采用Clientl32自己的私有密鑰PrvKey 對其進行解密,即Extact(SignPrvKeyEnabler(RAND_2)),并采用Enabler133的公 開 密鑰 Enabler—ID 驗證 RAND一2 的簽署, 即 VeriEnabler—ID(SignPrvKeyEnabler(RAND—2)),并對比所簽署的值是否為訪問請求發(fā)送 單元1323發(fā)送的RAND—2,若是,則確定所述訪問所采用的會話密鑰即為 RAND一2,此時則認為建立起了以RAND—2為會話密鑰的訪問安全通道, Clientl32與Enabler133之間即可進行后續(xù)的訪問信息交互。
作為一種替代方案,上述部分單元的功能還可以替換為如下說明的本發(fā)明 的基于IBC的可追溯匿名訪問系統(tǒng)的第二實施例,具體如下
訪問請求發(fā)逸單元1323,向Enablerl33發(fā)送服務訪問請求,該訪問請求中 攜帶有采用Enabler 133的公開密鑰Enabler—ID力口密的參數(shù),即 EncEnabler ID(AnonyID+KGC—URL+ RANDJHKAnony—ID)} SignPrvKey (p*)), 其中參數(shù)包括有Anony—ID (即Access—Attribute十H(Real—ID+RAND—1))、 Clientl32所聲稱歸屬的KGC141的KGC—URL、第二隨機因子為Clientl32生成 的隨機數(shù)RAND—2與 Anony—ID的哈希值的整體運算結果(即 RAND—2H"Anony—ID)))、對參數(shù)p承進行PrvKey的簽署值SignPrvKey (p*),而p* 除包含所述第二隨機因子RAND一2Hi(Anony一ID))之外,還可以包含所述 Anony_ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的 一種或多種的組合,從而防止p^斤屬數(shù)據(jù)包或字段被重放,而SignPrvKey (p"隱 含了將Clientl32獲得Access—Attrribute肯定的綁定關系傳遞至Enabler133,使 得Enabler133可對該綁定關系進行求證;訪問請求獲取單元1331,接收所述Clientl32發(fā)送的訪問請求;
初步驗證單元1332,當采用Enabler133自己的私有密鑰PrvKeyEna^對所迷 訪 問請求 中力。密 的參數(shù)進行解密, 即 Extact(SignPrvKeyE加wer(RAND—3H!(EnablerjD))),得到其中包含的KGC一URL 以及Anony—ID (包含有Access—Attribute)后,并驗證KGC131是否可信以及 KGC131是否具有所述Access—Attribute的授權資格,若該驗證通過時,進行后 續(xù)處理,當然,上面的解密處理還可以得到其他參數(shù),如SignPrvKey (p*);
第二驗證單元1333中的公開參數(shù)獲取單元,查詢得到與KGC—URL對應的 Clientl32所屬KGC131的IBC公開參數(shù);需要說明的是,若Clientl32與 Enabler133同屬于一個KGC域時,將無需進行本公開參數(shù)獲取單元的相關傳送; 若Clientl32與Enabler133不屬于同一個KGC域時,將通過所屬KGC進行相關 的查詢動作,且KGC間的查詢方法可采用各種不同的方法完成,此處不贅述;
第二驗證單元1333中的判斷單元,獲取Clientl32所屬KGC131的公開參 數(shù)后,根據(jù)該公開參數(shù)判斷所述PrvKey簽署是否正確,即判斷SignPrvKey (p"是 否正確,若是,則表示對所述PrvKey簽署的口*進行所述Clientl32匿名身份有 效性的驗證通過,認為AnonyJD得到KGC131權威認可;
月良務定向單元1334,當所述第二驗證單元1333驗i正通過時,才艮據(jù)所迷 Access—Attribute定向至所述訪問請求對應的服務,將Clientl32的訪問按照該 Access—Attribute指示的屬性進行處理,所指示的屬性如服務分為高、中、低不 同級別的屬性等;
第二密鑰協(xié)商單元1335,當所述第二驗證單元1333驗證通過時,提取得到 所述 RAND—2H"AnonyJD), 并采用類似于 Clientl32 生成該 RAND一2H"Anony一ID)的方法生成Enabler133提供的隨才幾數(shù)RAND_3與 Enable—ID的哈希值的整體運算結果,即RAND—3H!(Enabler一ID),并用 Enabler133的私有密鑰PrvKeyE福er簽署該RAND—3H"Enabler一ID),得到簽署值 SignPrvKeyEnabler(RAND—3H!(Enabler—ID)) , 并 將 所 述
SignPrvKeyEnabler(RAND—3H!(EnablerJD))采用Clientl32的^>開密鑰AnonyjD 進行 IBC 力。 密 后 , 得 到
EncAnony—ID(RAND—3H"Enabler—ID)+SignPrvKeyEnab"RAND-3H"EnablerJD) 》,并將其發(fā)送到Clientl32 , 以表示Enabler133正確接收到RAND—2H"Anony—ID),并表示Enabler133完成對上述提及的Clientl32獲得 Access—Attribute肯定的綁定關系的認證;
訪問請求響應接收單元 1324 , 接收到攜帶有 EncAnony_ID(RAND—3H"Enabler—ID)+SignPrvKeyEnabler(RAND—3H!(EnablerjD) ))的i方問i青求響應;
第 一 密鑰協(xié)商單元 1325 , 對接收到的所述 EncAnony—ID(RAND—3H!(EnablerlD)+SignPrvKeyEnaWer(RAND—3Ht(Enabler一ID) )),采用Clientl32自己的私有密鑰PrvKey對其進行解密,并釆用Enabler133的 公開密鑰Enabler一ID驗證RAND—2的簽署,并對比所簽署的值是否為訪問請求 發(fā)送單元1323發(fā)送的對比值RAND一3H"Enabler一ID),若相同,則認為正確接 收到了 Clientl32在此之前發(fā)送的相關參數(shù),并確證了 Clientl32合法的匿名身份, Clientl32確定所述訪問所采用的會話密鑰即為Keyclient-Enabler=eA(PrvKey, RAND一3H"Enabler一ID)+RAND-2H"Enabler一ID)), Enabler133確定所述訪問所 采用的會話密鑰即為KeyEnabler—client=eA(PrvKeyEnabler, RAND—2H"Anony—ID)+ RAND—3H"Anony—ID)),此時則認為建立起了以Keyclient-Enabler=KeyEnabler-Client為 會話密鑰的訪問安全通道,Clientl32與Enabler133之間即可進行后續(xù)的訪問信 息交互。
圖14是本發(fā)明的身份追溯系統(tǒng)的第一實施例示意圖,該系統(tǒng)主要包括 Enabler141、 Arbiter142、 KGC143,其中Enabler141包括仲裁憑證獲取單元1411、 追溯請求發(fā)送單元1412、追溯請求響應接收單元1413, KGC143包括存儲單元 1431、追溯請求獲取單元1432、查詢單元1433,參照該圖14,各單元、設備功 能如下述
仲裁憑證獲取單元1411,向Arbiter142申請追溯Client真實身份的仲裁憑 證,并提供Client匿名訪問的訪問記錄(或交易記錄等),其中包括Client在訪 問過程中采用Anony—ID進行簽名的相關記錄;在Arbiter142審核Enabler141所 提供的Client以Anony一ID簽名的訪問記錄,并確定對該Anony一ID進行仲裁后, 得到追溯所述Client真實身份的Arbiter142提供的仲裁憑證;
追溯請求發(fā)送單元1412,在獲得所述仲裁憑證后,將該仲裁憑證以及所述 Anony一ID攜帶在對匿名訪問服務的Client真實身份的追溯請求中提供給 KGC143,以要求KGC143提供與Anony—ID對應的Client的真實身份;存儲單元1431,存儲有Client真實身份與用于隱匿該Client真實身〗分的 Anony—ID的對應關系;
追溯請求獲取單元1432,獲得Enabler141對匿名訪問服務的Client真實身 份的追溯請求;
查詢單元1433,根據(jù)所述Enabler141發(fā)送的追溯請求,查詢Client的 Anony一ID生成請求記錄,同時將該Arbiter142的仲裁事件通告Client,并可向 Arbiterl42查詢所述獲得的仲裁憑證的真實性,當Arbiter142返回所述仲裁憑證 真實的指示信息時,查詢所述Client真實身份與用于隱匿該Client真實身^f分的 Anony—ID的對應關系,得到所述Client的真實身份信息,并將該真實身份信息 向Enabled41返回。
本實施例的身份追溯系統(tǒng)主要用于,在必要時,能夠提供對發(fā)起訪問的 Client的真實身份的查證,但所述仲裁的過程同時還會牽涉到非技術的相關方 面,此處不贅述。
另外,當Client需要參與Client的匿名身份標識以及其私有密鑰的生成時, 圖15示出了的本發(fā)明的基于IBC的可追溯匿名訪問系統(tǒng)的第三實施例,參照該 圖,該系統(tǒng)主要包括KGC151、 Clientl52、 Enabler153,其中KGC151包括生成 請求獲取單元1511、第一驗證單元1512、匿名生成單元1513、私鑰生成單元 1514、部分簽署單元1515, Clientl52包括請求發(fā)送單元1521、響應4妄收單元 1522、訪問請求發(fā)送單元1523、訪問請求響應接收單元1524、第一密鑰協(xié)商單 元1525, Enabler153包括訪問請求獲取單元1531、初步驗證單元1532、第二驗 證單元1533、服務定向單元1534、第二密鑰協(xié)商單元1535、部分驗證單元1536, 其中各單元、設備功能如下述
請求發(fā)送單元1521,向KGC151發(fā)送用于獲取Client152匿名訪問所使用公 開密鑰、私有密鑰的請求,該請求中除包括有如下參數(shù),隨機數(shù)RAND—1、 Clientl52的真實身份標識Real—ID之外,還包括有Clientl52提供的Anony—ID 的一部分(后綴),即Anony—IDp。stflx,而Anony—IDp。礎x可以是由Clientl52選取 的隨機密鑰t與KGC151公開參數(shù)中的P運算得到的,即可以是AnonyJDp。stflx =tP,也可僅發(fā)送攜帶有tP的匿名訪問請求;當然,所述請求中還可以選擇性地 包括Access—Attribute等信息(下面以包括該Access_Attribute為例進行說明,但 當不包括Access—Attribute時可同樣選擇性適用如下功能單元);
45第一驗證單元1512,首先驗證所述Anony一IDp。礎x是否符合位數(shù)限制策略的 要求,同時,也需要驗證Clientl52是否具有Access—Attribute所表征的訪問屬性 (如Clientl52與所述Enabler153存在關聯(lián)關系,即Enabler153可向Clientl52 提供服務);
匿名生成單元1513,當?shù)谝或炞C單元1512的兩個驗證均通過時,將生成 AnonyJD的其中 一 部分(前綴)Anony_IDprefix=H(Real_ID+RAND—1),由 Anony—IDpostfix與 Anony—IDprefix結合作為所述Anony—ID , 即 Anony—ID= Anony—IDpreflx +Anony—IDp。stfix,并確定Real—ID與該Anony—ID的對應關系;
部分簽署單元1515,當?shù)谝或炞C單元1512的兩個驗證均通過時,簽署所述 Anony—IDpostflx,即Sign PrvKeyKGC (Anony—IDpostfix);
私鑰生成單元1514,以對所述Anony—IDprefjx進行Hash運算得到Hash值, 并將該Hash值與KGC151主密鑰s作為生成因子,生成Clientl52的PrvKey的 一部分 ( PrvKeypart ), 即 該
PrvKeypart二sH! (Anony—IDprefc"sH!(H(Real—ID+RAND—1)),與此同時,以所述 Anony—ID作為Clientl52的7>開密鑰,而PrvKey可以是PrvKey=PrvKeypart+t H^Anony—IDprefix)其中,t是由Clientl52選取的隨機密鑰;
響應接收單元1522,接收KGC151發(fā)送的所述PrvKeypart及Sign PrvKeyKGC (Anony—IDp。stfix),至此,Clientl52即獲得用于匿名訪問的IBC公開密鑰及私有 密鑰(或稱為公私密鑰對),該公私密鑰對中包含了 Clientl52獲得 Access—Attrribute肯定的綁定關系,此時生成的Clientl52的公開密鑰為上述 Anony—ID=Anony—IDprefix+Anony—IDp。stfix , 私有密鑰為上述 PrvKey= sH(Anony—IDprefix)+ 11^ (Anony—IDprefix》
訪問請求發(fā)送單元1523,向Enabler 153發(fā)送服務訪問請求,該訪問請求中 攜帶有采用Enabler153的公開密鑰Enabler—ID加密的參數(shù),即 EncEnablerJD(Anony—IDprefix,Anony—IDp。stfix, SignPrvKey (p*), KGC—URL,Sign PrvKeyKGC (Anony_IDp。stflx)), 其中參數(shù)包括有AnonyJD (可包括 Anony—IDpreflx+Anony_IDp。stfix的結合整體,也可分別包括Anony_IDpreflx與 Anony—IDp。stflx )、 Clientl52所聲稱歸屬的KGC151的KGC—URL、 Sign PrvKeyKGC (Anony—IDp。stflx)、對參數(shù)p承進行PrvKey的簽署值SignPrvKey (p*),而其中p* 除包含第二隨機數(shù)RAND—2之外,還可以包含所述Anony—ID、 KGC—URL、階段性有效因子(如日期Data或計數(shù)器值等)中的一種或多種的組合,從而防 止p^斤屬數(shù)據(jù)包或字段被重放,當存在所述Access—Attribute時,SignPrvKey (p*) 隱含了將Clientl52獲得Access—Attmbute肯定的綁定關系傳遞至Enabler153, 使得Enabler153可對該綁定關系進行求證;
訪問請求獲取單元1531,接收所述Clientl52發(fā)送的訪問請求;
初步驗證單元1532,當采用Enabler153自己的私有密鑰PrvKeyEnaWer對所述 訪問請求中加密的參數(shù)進行解密, 即 Extract(Anony—IDprefix,Anony_IDpostfix,KGC_URL, SignPrvKey (p*), Sign PrvKey庶 (Anony_IDp。stfix)),得到其中包含的KGCJJRL以及Anony—ID (這里假設 Anony_ID中包含有Access_Attribute)后,驗證KGC151是否可信以及KGC151 是否具有所述Access—Attribute的授權資格,若該驗證通過時,進行后續(xù)處理, 當然,上面的解密處理還可以得到其他參數(shù),如SignPrvKey (p*);
第二驗證單元1533中的公開參數(shù)獲取單元,查詢得到與KGC—URL對應的 Clientl52所屬KGC151的IBC公開參數(shù);需要說明的是,若Clientl52與 Enabler153同屬于一個KGC域時,將無需進行本公開參數(shù)獲取單元的相關傳送; 若Clientl 52與Enabler153不屬于同一個KGC域時,將通過所屬KGC進行相關 的查詢動作,且KGC間的查詢方法可采用各種不同的方法完成,此處不贅述;
第二驗證單元1533中的判斷單元,獲取Clientl52所屬KGC151的公開參 數(shù)后,根據(jù)該公開參數(shù)判斷所述PrvKey簽署是否正確,即判斷SignPrvKey (p"是 否正確(VeriPrvKey(SignPn/Key(p*))),若是,則表示對所述PrvKey簽署的p承進 行所述Clientl52匿名身份有效性的驗證通過,認為Anony—ID得到KGC151權 威認可;
部分驗證單元1536,在第二驗證單元1533進行驗證的同時,驗證Sign PrvKeyKGC (Anony—IDpostflx),即VeriK(}C(Sign PrvKeyKGC (Anony_IDpostfix));
服務定向單元1534,當所述第二驗證單元1533與部分驗證單元1536均驗 證通過時,根據(jù)所述Access—Attribute (這里仍假設AnonyJD中包含有 Access—Attribute)定向至所述訪問請求對應的服務,將Clientl52的訪問按照該 Access—Attribute指示的屬性進行處理,所指示的屬性如服務分為高、中、低不 同級別的屬性等;
第二密鑰協(xié)商單元1535,當所述第二-驗證單元1533與部分-驗"〖正單元1536均驗證通過時,提取所述RAND—2,并用Enabler153自己的私有密鑰PrvKeyEnabler 簽署 RAND_2 , 得到 SignPrvKeyEnabler(RAND_2), 并將所述 SignPrvKeyE肌wer(RAND—2)采用Clientl52的/>開密鑰Anony—ID進行IBC加密 后,得到EncAnony_ID(SignPrvKeyEnabler(RAND_2)),并將其發(fā)送到Clientl52, 以表示Enabler153正確接收到RAND—2,并表示Enabler153完成對上述提及的 Clientl52獲得Access—Attribute肯定的綁定關系的認證;
訪問請求響應接收單元 1524 , 接收到攜帶有 EncAnonyJD(SignPrvKeyEnaWer(RAND—2))的訪問請求響應;
第 一 密鑰協(xié)商單元 1525 , 對接收到的所述 EncAnony—ID(SignPrvKeyEnaWer(RAND—2))后,采用Clientl52自己的私有密鑰 PrvKey對其進行解密,并采用Enabler153的公開密鑰Enabler—ID驗證RAND—2 的簽署,并對比所簽署的值是否為訪問請求發(fā)送單元1523發(fā)送的RAND一2,即 Extact&Compare(RAND—2),若是,則確定所述訪問所采用的會話密鑰即為 RAND_2,此時則認為建立起了以RAND—2為會話密鑰的訪問安全通道, Clientl52與Enablel53之間即可進行后續(xù)的訪問信息交互。
對于上述圖15所示的本發(fā)明的基于IBC的可追溯匿名訪問系統(tǒng)的第三實施 例,當Anony—ID中包含有Clientl52提供的AnonyJD的一部分(后綴),即 Anony—IDp。stflx時,而Anony_IDp。stfix可以是由Clientl52選取的隨機密鑰t與 KGC151公開參數(shù)中的P運算得到的,即可以是Anony—IDp。stflx=tP,此時在追溯 Clientl52真實身份時,可釆用如圖12所示的身份追溯系統(tǒng)的主要結構,但因為 t對于KGC151是不可知的,KGC151需要知道t后才能確認匿名訪問中的 Anony—ID的簽名是由Clientl51所為,如Clientl51惡意抵賴Anony—ID的簽名 (Clientl51不將t值告知KGC151 ),那么KGC151需要通過暴力破解t的值, 從而得到其真實身份信息,使得Clientl52不能否認上述匿名訪問中的Anony—ID 的簽名是其所為。
上述本發(fā)明實施例在實際場景中可靈活應用,但不僅限于如下兩個實際場
景
A、匿名拍賣
在某些網(wǎng)上拍賣過程中,竟拍者(即等同于上述本發(fā)明實施例提供的Client) 通常不愿意將個人信息顯性表現(xiàn)出來,即不愿意讓拍賣者(即等同于上迷本發(fā)明實施例提供的Enabler)知道其真實身份,并在公布竟拍叫價時,竟拍者也不 愿意將竟拍叫價與其真實身份相關聯(lián)。而此時,竟拍者欲保護其個人真實身份 的隱私,拍賣者卻要求竟拍者具有某種可確定的身份證明以保證拍賣最終成功。 若采用本發(fā)明實施例提供的方案,竟拍者可在權威第三方(即等同于上述本發(fā) 明實施例提供的KGC)處獲取與其真實身份關聯(lián)的匿名身份標識(即等同于上 述Anony一ID),用該匿名身^f分標識參與竟拍(即為上述本發(fā)明實施例才是供的訪 問方法),在成交后,竟拍者都無須提供其真實身份而完成最后的拍賣支付等。 而當竟拍者若中拍后不支付買金,并否認其參與了竟拍時,則可由其匿名身份 標識追蹤得到其真實身份(即為上述本發(fā)明實施例提供的服務訪問方真實身份 追溯方法),使其不可抵賴。 B、分級訪問
第一服務提供商(即等同于上述本發(fā)明實施例提供的KGC)在發(fā)現(xiàn)第二服 務提供商(即等同于上述本發(fā)明實施例提供的Enabler)提供有某種新型服務, 而第一服務提供商并不打算自己建立起相同的系統(tǒng)以給予自己轄屬的用戶(即
的用戶可以使用第二服務提供商上提供的所述新型服務以拓展自己的服務類 型,而此時,第一服務提供商又不想讓第二服務提供商知道自己轄屬的用戶的 真實身份,則可利用本發(fā)明實施例提供的方案,即第一服務提供商可先與第二 服務提供商確定可訪問的分級服務類型(即等同于上述本發(fā)明實施例提供的 Access—Attribute),在自己轄屬用戶訂購分級服務類型中某種級別服務后,由此 方案提供給自己轄屬的用戶以相關的服務,具體地
欲訪問某中級別服務的用戶向所屬第 一服務提供商獲取訪問第二服務提供 商新型服務類型的訪問權限(即等同于上述本發(fā)明實施例提供的匿名身份標識、 私有密鑰的獲得,并綁定了訪問屬性Access—Attribute);在用戶獲得上述訪問權 限后,發(fā)起對第二服務提供商上新型服務類型的訪問請求,然后由第二服務提 供商驗證用戶所聲稱的訪問屬性的真實性(即等同于驗證Client是否具有 Access_Attribute所表征的訪問屬性),并在-瞼證通過后將Client定向到所述新型 服務類型上,并返回該驗證通過的響應,同時還可以包括訪問新型服務類型的 會話密鑰的確定流程,用戶可在確證會話密鑰后,建立起以會話密鑰為基礎利 用匿名身份標識進行匿名訪問的安全通道。需要說明的是,本發(fā)明實施例所提及的服務訪問方身份管理設備不僅限于
上述實施例的KGC,服務訪問方設備不僅限于Client,服務提供方設備不僅限 于Enabler,身份追溯請求設備不僅限于Enabler。
另外,本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分 流程,是可以通過程序來指令相關的硬件來完成,所述的程序可存儲于一計算 機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。 其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory, ROM)或隨機存儲記憶體(RandomAccess Memory, RAM)等。
以上所述是本發(fā)明的具體實施方式
,應當指出,對于本技術領域的普通技 術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這 些改進和潤飾也視為本發(fā)明的保護范圍。
權利要求
1、一種服務訪問方身份標識生成方法,其特征在于,包括獲得隱匿服務訪問方真實身份的匿名身份標識生成請求;根據(jù)所述匿名身份標識生成請求,生成與所述真實身份具有對應關系的所述匿名身份標識的部分或全部。
2、 如權利要求1所述的服務訪問方身份標識生成方法,其特征在于,所述 匿名身份標識生成請求中包括有所述服務訪問方的訪問屬性信息該方法還包 括驗證所述服務訪問方是否具有所述訪問屬性信息所表征的訪問屬性,若該 驗證通過,則生成所述匿名身份標識的部分或全部。
3、 如權利要求2所述的服務訪問方身份標識生成方法,其特征在于,所述 訪問屬性信息包括服務提供方信息,所述驗證所述服務訪問方是否具有所述訪 問屬性信息所表征的訪問屬性具體為根據(jù)所述服務提供方信息,判斷所述服務訪問方與服務提供方之間是否存 在關聯(lián)關系,若存在該關聯(lián)關系,則所述驗證通過。
4、 如權利要求2所述的服務訪問方身份標識生成方法,其特征在于,所述 生成與所述真實身份具有對應關系的所述匿名身份標識的部分或全部進一步包 括在所述匿名身份標識的部分或全部中加入所述訪問屬性信息。
5、 如權利要求1至4中任一項所述的服務訪問方身份標識生成方法,其特 征在于,該方法還包括獲得所述服務訪問方提供的匿名身份標識的另 一部分,該另 一部分與所述 生成的所述匿名身份標識的部分結合作為所述匿名身份標識;驗證所述服務訪問方提供的匿名身份標識的另 一部分是否滿足匿名身份標 識要求,當通過該驗證時,簽署該匿名身份標識的另一部分。
6、 如權利要求1至4中任一項所述的服務訪問方身份標識生成方法,其特 征在于,所述匿名身份標識生成請求中包括有所述真實身份標識、第一隨才幾因 子,所述生成與所述真實身份具有對應關系的所述匿名身份標識的部分或全部 具體為以所述真實身份標識與第 一隨機因子作為生成因子,采用^^合希算法生成所 述匿名身份標識的部分或全部,并確定所述真實身份與該匿名身份標識的對應 關系,或者所述生成與所述真實身份具有對應關系的所述匿名身份標識的部分或全部 具體為采用非由所述真實身份標識生成的標識作為所述匿名身份標識的部分或全 部,并確定所述真實身份與該匿名身份標識的對應關系。
7、 如權利要求1至4中任一項所述的服務訪問方身份標識生成方法,其特 征在于,以所迷匿名身份標識作為所述服務訪問方的公開密鑰,所述生成與所 述真實身份具有對應關系的所述匿名身份標識的部分或全部之后還包括生成所述匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身 份的私有密鑰的部分或全部。
8、 如權利要求7所述的服務訪問方身份標識生成方法,其特征在于,所述 生成所述匿名身份標識對應的、用于表征所述服務訪問方具有合法匿名身份的 私有密鑰的部分或全部具體為以對所述匿名身份標識的部分或全部進行哈希運算得到的哈希值、主密鑰 作為生成因子,生成所述私有密鑰的部分或全部。
9、 一種訪問方法,其特征在于,包括獲得服務訪問方的服務訪問請求,該訪問請求中攜帶有所述服務訪問方的 匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務訪問方具有 合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證,當該驗證通過時,定向至所述訪問請求對應的服務。
10、 如權利要求9所述的訪問方法,其特征在于,所述訪問請求中還包括所述服務訪問方所聲稱歸屬的權威管理者信息,所述匿名身份標識中包含有所述服務訪問方的訪問屬性信息,該方法還包括根據(jù)所述權威管理者信息及所述訪問屬性信息,驗證所述權威管理者是否 可信以及所述權威管理者是否具有所述訪問屬性的授權資格,若該驗證通過時, 則對所述私有密鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證。
11、 如權利要求IO所述的訪問方法,其特征在于,所述對所述私有密鑰簽 署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證具體包括獲得所述權威管理者的公開參數(shù);根據(jù)所述權威管理者的公開參數(shù),判斷所述私有密鑰簽署是否正確,若是, 則所述驗證通過。
12、 如權利要求9所述的訪問方法,其特征在于,當所述匿名身份標識中 包括所述服務訪問方提供的匿名身份標識的一部分且所述服務訪問方所聲稱歸 屬的權威管理者已對該匿名身份標識的一部分進行簽署時,所述對所述私有密 鑰簽署的參數(shù)進行所述服務訪問方匿名身份有效性的驗證的同時,對所述權威 管理者簽署的匿名身份標識的一部分進行驗證。
13、 如權利要求9至12中任一項所述的訪問方法,其特征在于,所述私有 密鑰簽署的參數(shù)中包括有第二隨機因子,當對所述私有密鑰簽署的參數(shù)進行所 述服務訪問方匿名身份有效性的驗證通過后,該方法還包括根據(jù)所述第二隨機因子,設定并簽署用于確定所述訪問所采用會話密鑰的 第三隨機因子;當服務訪問方對所述第三隨機因子的簽署驗證通過時,根據(jù)所述第二隨機 因子與第三隨機因子共同確定所述訪問所采用的會話密鑰。
14、 如權利要求13所述的訪問方法,其特征在于,所述私有密鑰簽署的參數(shù)還包括所述匿名身份標識、所述服務訪問方所聲稱歸屬的權威管理者信息、 階段性有效因子中的 一種或多種的組合。
15、 一種服務訪問方真實身份追溯方法,其特征在于,包括 獲得對匿名訪問服務的服務訪問方真實身份的追溯請求; 根據(jù)所述追溯請求,查詢所述服務訪問方真實身份與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關系,得到所述真實身份。
16、 如權利要求15所述的服務訪問方真實身份追溯方法,其特征在于,所 述查詢得到所述真實身份具體包括根據(jù)所述追溯請求,獲得所述服務訪問方匿名訪問時采用的匿名身份標識, 或包含有該匿名身份標識的訪問記錄;查詢所述服務訪問方真實身份與匿名身份標識的對應關系,得到所述真實 身份。
17、 一種服務訪問方身份管理設備,其特征在于,包括生成請求獲取單元,獲得隱匿服務訪問方真實身份的匿名身份標識生成請求;匿名生成單元,根據(jù)所述匿名身份標識生成請求,生成與所述真實身份標 識具有對應關系的所述匿名身份標識的部分或全部。
18、 如權利要求n所述的服務訪問方身份管理設備,其特征在于,所述匿 名身份標識生成請求中包括有所述服務訪問方的訪問屬性信息,該服務訪問方身份管理設備還包括驗證單元,驗證所述服務訪問方是否具有所述訪問屬性信息所表征的訪問 屬性,若該驗證通過,則觸發(fā)所述生成單元工作。
19、 如權利要求18所述的服務訪問方身份管理設備,其特征在于,所述訪 問屬性包括服務提供方信息,則所述驗證單元包括判斷單元,根據(jù)所述真實身份標識及所述服務提供方信息,判斷所述服務訪問方與服務提供方之間是否存在關聯(lián)關系;判斷處理單元,當所述服務訪問方與服務提供方之間存在所述關聯(lián)關系時, 觸發(fā)所述匿名生成單元工作。
20、 如權利要求18所述的服務訪問方身份管理設備,其特征在于,所述匿 名身份標識的部分或全部中還包括所述訪問屬性信息。
21、 如權利要求17至20中任一項所述的服務訪問方身份管理設備,其特 征在于,所述匿名身份標識生成請求中包括有所述服務訪問方提供的匿名身份 標識的另一部分,該另一部分與所述匿名生成單元生成的所述匿名身份標識的 部分結合作為所述匿名身份標識,該服務訪問方身份管理設備還包括部分簽署單元,當所述服務訪問方提供的匿名身份標識的另 一部分通過滿 足匿名身份標識要求的驗證時,簽署該匿名身份標識的另 一部分。
22、 如權利要求17至20中任一項所述的服務訪問方身份管理設備,其特 征在于,所述匿名身份標識生成請求中包括有所述真實身份標識、第一隨機因 子,所述匿名身份標識的部分或全部為所述真實身份標識與第一隨機因子的哈 希值構成,或者,所述匿名身份標識的部分或全部為非由所述真實身份標識生 成的標識。
23、 如權利要求17至20中任一項所述的服務訪問方身份管理設備,其特 征在于,所述服務訪問方的公開密鑰為所述匿名身份標識,該服務訪問方身份 管理設備還包括私鑰生成單元,生成所述匿名身份標識對應的、用于表征所述服務訪問方 具有合法匿名身份的私有密鑰的部分或全部。
24、 如權利要求23所述的服務訪問方身份管理設備,其特征在于,所述私 有密鑰的部分或全部為以對所述匿名身份標識的部分或全部進行哈希運算得到 的哈希值、主密鑰的結合值。
25、 一種服務訪問方設備,其特征在于,包括請求發(fā)送單元,發(fā)送隱匿服務訪問方真實身份并與該真實身份具有對應關 系的匿名身份標識生成請求;響應接收單元,4妄收所述匿名身份標識生成請求響應。
26、 如權利要求25所述服務訪問方設備,其特征在于,所述匿名身份標識 生成請求中包括有所述匿名身份標識的一部分,所述匿名身份標識生成請求響 應中包括有通過滿足匿名身份標識要求驗證而簽署的所述匿名身份標識的一部
27、 一種身份標識生成系統(tǒng),包括服務訪問方設備、服務訪問方身份管理 設備,其特征在于,所述服務訪問方設備包括請求發(fā)送單元,發(fā)送隱匿服務訪問方真實身份并與該真實身份具有對應關 系的匿名身份標識生成請求;響應接收單元,接收所述匿名身份標識生成請求響應,所述服務訪問方身份管理設備包括生成請求獲取單元,獲得所述匿名身份標識生成請求;匿名生成單元,根據(jù)所述匿名身份標識生成請求,生成所述匿名身份標識 的部分或全部。
28、 一種服務提供方設備,其特征在于,包括訪問請求獲取單元,獲得服務訪問方的訪問請求,該訪問請求中攜帶有所 述服務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述 服務訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);驗證單元,根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務 訪問方匿名身份有效性的驗證;服務定向單元,當所述驗證單元驗證通過時,定向至所述訪問請求對應的 服務。
29、 如權利要求28所述的服務提供方設備,其特征在于,所述訪問請求中還包括所述服務訪問方所聲稱歸屬的權威管理者信息,所述匿名身份標識中包含有所述服務訪問方的訪問屬性信息,該服務提供方設備還包括初步驗證單元,根據(jù)所述權威管理者信息及所述訪問屬性信息,驗證所述 權威管理者是否可信以及所述權威管理者是否具有所述訪問屬性的授權資格, 若該驗證通過時,則觸發(fā)所述驗證單元工作。
30、 如權利要求29所述的服務提供方設備,其特征在于,所述驗證單元包括公開參數(shù)獲取單元,獲得所述權威管理者的公開參數(shù); 判斷單元,根據(jù)所述權威管理者的公開參數(shù),判斷包含有所述訪問屬性信 息的匿名身份標識是否正確,若是,則所述驗證通過。
31、 如權利要求28所述的服務提供方設備,其特征在于,當所述匿名身份 標識中包括所述服務訪問方提供的匿名身份標識的 一部分且所述服務訪問方所 聲稱歸屬的權威管理者已對該匿名身份標識的一部分進行簽署時,該服務提供 方設備還包括部分驗證單元,對所述權威管理者簽署的匿名身份標識的一部分進行驗證。
32、 如權利要求28至31中任一項所述的服務提供方設備,其特征在于, 所述私有密鑰簽署的參數(shù)中包括有第二隨機因子,該服務提供方設備還包括密鑰協(xié)商單元,當所述驗證單元對所述私有密鑰簽署的參數(shù)進行所述服務 訪問方匿名身份有效性的驗證通過后,根據(jù)所述第二隨機因子,設定并簽署用 于確定所述訪問所釆用會話密鑰的第三隨機因子,當服務訪問方對所述第三隨 機因子的簽署驗證通過時,根據(jù)所述第二隨機因子與第三隨機因子共同確定所 述訪問所采用的會話密鑰。
33、 如權利要求32所述的服務提供方設備,其特征在于,所述私有密鑰簽 署的參數(shù)還包括所述匿名身份標識、所述服務訪問方所聲稱歸屬的權威管理者 信息、階段性有效因子中的一種或多種的組合。
34、 一種服務訪問方設備,其特征在于,包括訪問請求發(fā)送單元,發(fā)送對服務的訪問請求,該訪問請求中攜帶有所述服 務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務 訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);訪問請求響應接收單元,接收對所述私有密鑰簽署的參數(shù)進行所述服務訪 問方匿名身份有效性的驗證的響應。
35、 如權利要求34所述的服務訪問方設備,其特征在于,該服務訪問方設 備還包括密鑰協(xié)商單元,在所述訪問請求響應接收單元接收到所述響應后,對用于 確定所述訪問所采用會話密鑰的隨機因子的簽署進行驗證,當該-瞼證通過時, 根據(jù)所述隨機因子確定所述訪問所采用的會話密鑰。
36、 一種訪問系統(tǒng),包括服務訪問方設備、服務提供方設備,其特征在于, 所述服務訪問方設備包括訪問請求發(fā)送單元,發(fā)送對服務的訪問請求,該訪問請求中攜帶有所述服 務訪問方的匿名身份標識,以及用該匿名身份標識對應的、用于表征所述服務 訪問方具有合法匿名身份的服務訪問方私有密鑰簽署的參數(shù);訪問請求響應接收單元,接收對所述私有密鑰簽署的參數(shù)進行所述服務訪 問方匿名身份有效性的驗證的響應,所述服務提供方設備包括訪問請求獲取單元,獲得所述訪問請求;驗證單元,根據(jù)所述訪問請求,對所述私有密鑰簽署的參數(shù)進行所述服務 訪問方匿名身份有效性的驗證;服務定向單元,當所述驗證單元-瞼證通過時,定向至所述訪問請求對應的 服務。
37、 一種服務訪問方身份管理設備,其特征在于,包括存儲單元,存儲匿名訪問服務的服務訪問方真實身份標識與用于隱匿該服 務訪問方真實身份的匿名身份標識的對應關系;追溯請求獲取單元,獲得對所述服務訪問方真實身份的追溯請求; 查詢單元,根據(jù)所述追溯請求,查詢所述對應關系得到所述真實身份。
38、 一種身份追溯請求設備,其特征在于,包括追溯請求發(fā)送單元,發(fā)送對匿名訪問服務的服務訪問方真實身^f分的追溯請求;追溯請求響應4妄收單元,4妻收對所述追溯請求的響應,該響應中包括有所 述服務訪問方的真實身份。
39、 一種身份追溯系統(tǒng),其特征在于,包括身份追溯請求設備、服務訪問 方身份管理設備,所述身份追溯請求設備包括追溯請求發(fā)送單元,發(fā)送對匿名訪問服務的服務訪問方真實身份的追溯請求;追溯請求響應接收單元,接收對所述追溯請求的響應,所述服務訪問方身份管理設備包括存儲單元,存儲匿名訪問服務的服務訪問方真實身份與用于隱匿該服務訪問方真實身份的匿名身份標識的對應關系;追溯請求獲取單元,獲得對所述服務訪問方真實身份的追溯請求; 查詢響應單元,才艮據(jù)所述對應關系,查詢得到所述真實身^f分以響應所述追溯請求。
全文摘要
本發(fā)明實施例公開了一種服務訪問方身份標識生成方法,包括根據(jù)隱匿服務訪問方真實身份的匿名身份標識生成請求,生成與所述真實身份具有對應關系的所述匿名身份標識。本發(fā)明實施例還公開了一種訪問方法、一種服務訪問方真實身份追溯方法、一種服務訪問方身份管理設備、一種服務訪問方設備、一種身份標識管理系統(tǒng)、一種服務提供方設備、一種訪問系統(tǒng)、一種身份追溯請求設備、一種身份追溯系統(tǒng)。采用本發(fā)明實施例,能滿足服務訪問方隱私的保護,也能在必要時獲得服務訪問方真實身份,且簡單易行。
文檔編號G06F21/62GK101521569SQ200810026519
公開日2009年9月2日 申請日期2008年2月28日 優(yōu)先權日2008年2月28日
發(fā)明者劉義俊, 高洪濤 申請人:華為技術有限公司