生成和驗證偽名的方法和裝置的製作方法
2023-05-19 02:47:16
專利名稱:生成和驗證偽名的方法和裝置的製作方法
技術領域:
本發明總地涉及一種用於保護用戶秘密的方法和裝置,尤其涉及一種通過偽名來保護用戶秘密的方法和裝置。
背景技術:
隨著電子技術的發展,現代醫療機構中已經廣泛使用電子醫療系統來維護和管理用戶(如患者)的個人信息和健康記錄(如病歷、體檢結果等)。然而,電子記錄易被竊取和傳播。因而現代電子醫療系統的安全性問題越來越受到人們的關注。
為了提高電子醫療系統的安全性,現今已經提出了匿名化和偽名化兩大類用於保護用戶秘密的方法。匿名化方法主旨在於去除用戶真實身份與其健康記錄之間的關聯性。 換言之,在匿名化方法中,不再記錄用戶的個人信息,而只保存健康記錄。這種匿名化方法雖然能夠安全地保護用戶的秘密,但卻無法根據健康記錄追蹤到用戶。偽名化方法是在匿名化方法基礎之上提出的。在偽名化方法中,消除了用戶真實身份與其健康記錄之間的關聯性,並且建立了用戶的健康記錄與一個或多個用戶的偽名之間的對應關係。由此,這種偽名化方法不僅能夠提供對用戶個人信息的保護,還能夠提供對其健康記錄的可追蹤性。
圖1示出了現有的醫療信息技術標準委員會(HITSP)開發出的偽名化機制。如圖 1所示,在用戶UlOO到醫院就診時,用戶UlOO首先在步驟SllO中將標識自身真實身份的用戶身份標識IDusct提供給醫院的醫療系統D110。在步驟S120中,醫療系統DllO將IDusct 發送給一個PIX(Person Identifier Cross-Reference,個人身份交叉引用)管理器D120。 在步驟S130中,PIX管理器D120存儲IDusct,並在步驟S140中請求一個用於生成偽名的偽名伺服器D140為該用戶分配一個偽名。在步驟S150中,偽名伺服器D140響應請求為用戶生成一個偽名Ppseu,並在步驟S160中將生成的偽名Ppseu返回給PIX管理器D120。在步驟 S170中,PIX管理器D120將接收到的偽名Ppseu按照與IDusct的一對一關聯存儲下來,並在步驟S180中將包含偽名Ppseu的偽名證書返回給醫療系統D110。繼而,在步驟S190中,醫院的醫療系統DllO註冊該偽名證書,並在步驟S195中將其返回給用戶U100。這樣,用戶 UlOO就可在醫院中使用所分配的偽名進行疾病診斷或治療,並且其健康記錄將會以此偽名的名義記錄下來。可選地,根據需要,醫院可利用該偽名證書從PIX管理器D120處獲得該用戶的真實身份,從而能夠實現可追蹤性。
然而,如圖1所示的現有偽名化方法還存在一些缺陷。
首先,出於安全性、秘密性等的考慮,或者出於用戶可能遺失上次生成的偽名等原因,用戶每次到醫院就診時可能會請求生成一個新的偽名,甚至需要請求生成多個不同的新偽名以便在同一個醫院內進行多種疾病的診斷和/或治療。在這種情況下,圖1中的偽名伺服器D140就需要為用戶頻繁地生成偽名,致使偽名伺服器的工作負荷過大。同時,PIX 管理器還不得不保存用戶真實身份與大量偽名之間的對應關係。因而PIM需要配備有大容量資料庫,這導致伺服器成本過高。
其次,一般而言,提供偽名化服務具有明顯的區域性,S卩,本地偽名伺服器和身份管理器往往只能向其管轄區域內的本地醫院中的醫療系統或者採用相同偽名化服務機制的醫療系統提供偽名化服務。也就是說,如果一個醫療系統為一個用戶生成了一個偽名,則不同區域的醫療系統或者採用不同偽名化機制的醫療系統不能識別同一個用戶的該偽名。 由此,每當用戶從一個區域行至另一個新區域時,用戶只有向該新區域的PIM公開自己的真實身份,才能得到這個新區域內有效的偽名,並利用這個偽名在醫院就診。這給用戶就診帶來了諸多不便。
再者,在有些基於信任的情況下,用戶只願意向自己信任的本地PIM,而不是其他陌生區域中的PIM公開自己的真實身份。從這個角度看,現有的這種偽名化方法的應用區域是非常有限的。
因此,需要提供一種改進的生成和驗證偽名的方法和裝置,來幫助用戶方便和安全地享受跨區域的醫療服務。
發明內容
本發明的一個目的在於提供一種能夠提供跨區域身份識別的生成和驗證偽名的方法和裝置。
本發明的另一個目的在於提供一種能夠減輕伺服器工作負荷的生成和驗證偽名的方法和裝置。
為了實現上述目標,本發明提供了一種用於在身份管理器(PIM)中生成偽名的方法。該方法包括以下步驟確定一個公共參數組和一個秘密參數組;從用戶設備接收一個用戶身份標識IDusct ;根據所確定的秘密參數組和所述IDusct,生成一個主偽名 Pp- =,其中H1是一個單向哈希函數,5是Zp域中選出的隨機數,且 P是一個選定的素數;以及將所述主偽名Pprt^和所述公共參數組發送給所述用戶設備。
採用這種方法,PIM只在用戶首次註冊時為用戶一次性地提供一個主偽名。而無須頻繁地為同一用戶生成多個偽名。以這種方式,這種方法可以減輕PIM的工作負荷。
為了實現上述目標,本發明提供了一種用於在用戶設備中生成偽名的方法。該方法包括以下步驟向身份管理器(PIM)發送一個用戶身份標識IDusct ;從所述PIM接收一個公共參數組和一個與所述IDusct相對應的主偽名ΡρΗωε ;以及選擇至少兩個隨機參數,並利用所述至少兩個隨機參數、所述公共參數組和所述主偽名ΡρΗωε,生成子偽名Ρρ_。
採用這種方法,用戶設備可以根據從PIM獲得的主偽名自行生成子偽名。而且,由於子偽名是使用了至少兩個隨機參數而生成的,所以生成的子偽名很好地隱藏了主偽名的信息,且所生成的多個子偽名之間不具有關聯性。在這種情況下,即使一個或多個子偽名被竊取,竊取者也無法利用竊取的子偽名逆向推得用戶的主偽名。以這種方式,這種偽名生成機制具有高級別的安全性。
為了實現上述目標,本發明提供了一種用於在第三方設備中驗證偽名的方法。該方法包括以下步驟從一個用戶設備接收一個子偽名Ppsw以及一個標識身份管理器(PIM) 的標識符IDsctvct ;根據所述標識符IDsctvct,從所述PIM獲得一個公共參數組;以及基於所述公共參數組,通過與所述用戶設備進行交互來驗證所述子偽名Ppseu的有效性。
採用這種方法,任何一個獨立於或非獨立於該PIM的第三方設備都可以根據從 PIM獲得的公共參數組,通過與用戶設備的交互來驗證用戶設備提供的子偽名的有效性。以這種方式,子偽名的使用不再受到區域限制。採用上述方法,任何區域內的醫院的醫療系統都可以識別出用戶的子偽名,並進而利用為該用戶分配主偽名的相應的PIM追蹤到用戶的真實身份。
根據本發明的另一方面,提供了一種身份管理器(PIM),所述PIM包括確定單元,用於確定一個公共參數組和一個秘密參數組;接收單元,用於接收一個用戶身份標識IDusct ;生成單元,用於根據所述秘密參數組和所述IDusct,生成一個主偽名 Pp- ,其中H1是一個單向哈希函數,5是zp域中選出的隨機數,且 P是一個選定的素數;以及發送單元,用於將所述主偽名Pprtire發送給所述用戶設備。
根據本發明的另一方面,提供了一種用戶設備,所述用戶設備包括發送單元,用於向身份管理器(PIM)發送一個用戶身份標識IDusct ;接收單元,用於從所述PIM接收一個公共參數組和一個與所述IDusct相對應的主偽名Pprtre ;以及生成單元,用於選擇至少兩個隨機參數,並利用所述至少兩個隨機參數、所述公共參數和所述主偽名Pphdm,生成子偽名
P
1 pseu0 根據本發明的另一方面,提供了一種用戶可以向其請求服務的第三方設備,所述第三方設備包括接收單元,用於從一個用戶設備接收一個子偽名Ppsw以及一個標識身份管理器(PIM)的標識符IDsctvct ;發送單元,用於向用戶設備發送信息;獲取單元,用於根據所述標識符IDsctvct,從所述PIM獲取公共參數組;以及驗證單元,用於基於所述公共參數組,經由所述發送單元和接收單元,通過與所述用戶設備進行交互來驗證所述子偽名Ppseu 的有效性。
通過參考以下結合附圖的說明以及權利要求書中的內容,並且隨著對本發明的更全面的理解,本發明的其他目的及效果將變得更加清楚和易於理解。
附圖簡述 下面將參考附圖以示例方式更詳細地描述本發明,其中 圖1示出了現有偽名化方法的一個示例性流程圖; 圖2示出了根據本發明一個實施例的用於生成和驗證偽名的方法的流程圖; 圖3示出了根據本發明一個實施例的子偽名驗證方法的流程圖; 圖4示出了根據本發明一個實施例的生成和驗證偽名的方法中各個實體之間傳遞的消息; 圖5示出了根據本發明一個實施例的身份管理器的配置; 圖6示出了根據本發明一個實施例的用戶設備的配置;以及 圖7示出了根據本發明一個實施例的第三方設備的配置。
在所有附圖中,相同的參考數字應當理解為指示相似或對應的特徵或功能。
具體實施例方式以下將以醫療系統為例描述根據本發明一個實施例的生成和驗證偽名的方法和裝置。然而,本領域技術人員可以理解的是,根據本發明的生成和驗證偽名的方法和裝置並不局限於在醫院中使用,其還可以應用在其它需要保護用戶的真實身份的領域。比如,這種生成和驗證偽名的方法和裝置還可以應用於網上購物、圖書管理等多種領域。
圖2示出了根據本發明一個實施例的用於生成和驗證偽名的方法。與圖1相比較,在圖2所示的方法中涉及三個實體醫院中使用的醫療系統D210、身份管理器(PIM)D220 以及用戶設備D230。
在圖2中,醫療系統D210是醫院中配備的管理系統,用於管理和存儲用戶的健康記錄等等。PIM D220是用於存儲和管理用戶的真實身份的伺服器。在圖2所示的實施例中,PIM D220集成有偽名分配功能,其可為一個註冊用戶生成一個唯一的主偽名PpHme。但是在本發明中該主偽名並不僅限於在醫院中使用。可選地,該偽名分配功能也可由一個獨立於PIM D220的設備來實現。比如,在圖1示出的HITSP系統中,PIX管理器可以存儲和管理用戶的真實身份,而偽名伺服器可以實現主偽名分配功能。這樣,對於HITSP系統而言, 圖2中的PIM D220可對應於PIX管理器和偽名伺服器的結合。
圖2中的用戶設備D230可以是任何一種具有處理功能的設備,如手機、PDA、筆記本或智慧卡等等,用於根據PIM D220生成的主偽名Pp,ime進一步自動生成一個或多個子偽名Ppseu。這些子偽名Ppseu將會在用戶到醫院就診時註冊在醫療系統D210中。用戶設備D230 的子偽名生成功能例如可以通過裝載在用戶設備20上的應用軟體來實現,也可以通過能夠連接到該用戶設備的硬體功能模塊來實現。
以下參照圖2詳細描述根據本發明一個實施例的用於生成和驗證偽名方法的操作過程。在圖2所示的實施例中,根據本發明的生成和驗證偽名的方法可以分為五個階段,即建立階段(S210)、主偽名註冊階段(S230)、子偽名生成階段(S250)、子偽名驗證階段 (S270)以及用戶身份追蹤階段(S290)。但是,本領域技術人員可以理解的是,本發明並不限於此實施例。相反,此實施例中的一些步驟(例如用戶身份追蹤階段)根據需要可以省去,或者一些步驟之間可以有所交叉。以下將結合圖2描述這五個階段的具體操作。
^iL 圖2示出的生成和驗證偽名的方法是以基於身份加密(IBE)方法為基礎而提出的。在初始的建立階段S210,PIM D220基於IBE方法確定用於生成和驗證偽名的公共參數組和秘密參數組。
在步驟S211中,PIM D220選定基本參數。具體而言,PIM D220首先選定兩個素數P和q,並在整數模P域(即Zp域)內選擇一個隨機數^eZi。然後,PIM D220選擇兩個 q階模P的群G1和G2,換言之,所選擇的G1和G2群均包括q個有限元素,且G1和G2群是Zp 域的子集。PIM D220還要選擇一個在G1和G2之間使用的雙線性映射IG1XG1— G2。這裡,雙線性映射G1XG1 — G2是指對於所有P, Qe G1,^, 0均為G2群中的一個元素,即 e(P, Q)gG2 ;而且對於任意 a, b e Zp,都有興《Λ bQ) = e(P, Qf。PIM 0220 在& 群中再選擇一個隨機生成子g e G1,並選擇兩個單向哈希函數H1和吐。這兩個哈希函數能夠滿足條件H1=IOaK^G1和H2 = G2 — {0,1}*也就是說,氏是將任意長度的0、1序列(例如表示一個字符串)映射成&群中的一個元素的第一單向哈希函數;H2是用於將&群中的一個元素映射成一個任意長度的0、1序列的第二單向哈希函數。
在選定了上述基本參數之後,在步驟S213中,PIM D220從上述參數中選出 Wj35Gl5G2^iZ2,樹構成公共參數組,並且選出3和H1作為秘密參數組。
這裡,公共參數組Wj35Gl5G2^iZ2,樹是公開的,任何其它設備都可以從PIMD220 獲得該公共參數組。同時,秘密參數組W,是保密的,以便在用戶註冊時安全地為用戶生成主偽名PpriM。
腫 用戶在首次到醫院就診之前,用戶可以在註冊階段S230中選擇一個可信任的本地PIM D220進行註冊,以得到一個主偽名。
具體而言,在步驟S231中,用戶可以利用其攜帶的用戶設備D230(如PDA)將用於標識自己真實身份的用戶身份標識IDusct在註冊請求中發送給PIM D220。在步驟S233中, PIM D220將接收到的IDusct存儲在一個用戶身份資料庫中,並利用接收到的IDusct和之前確定的秘密參數組{5,H1),生成一個主偽名=。這個主偽名是一個二元組,其中一項是對IDusct應用保密的第一單向哈希函數H1計算出的第一哈希值,另一項是該第一哈希值的3次方。繼而,在步驟S235中,PIM D220將生成的主偽名PpHme連同公共參數組一同發送給用戶設備D230,作為指示註冊成功的應答。在步驟S237中,用戶設備 D230將接收到的主偽名Pp,ime和公共參數組存儲下來,以便將來可以根據需要生成相應的子偽名。然後,註冊過程結束。
子偽名牛成 在圖2所示的實施例中,為了避免PIM D220頻繁地為用戶生成偽名,由PIM D220 生成的主偽名PpHme並不真正在醫院中使用。相反,在階段S250中,每次用戶到醫院就診時, 用戶設備D230會根據從PIM D220得到的主偽名PpHme自行生成至少一個子偽名。
具體而言,在步驟S251,根據所存儲的公共參數組,用戶設備D230從Zp域中選擇例如兩個隨機數&,1^2 e Zp。然後,在步驟S253中,用戶設備D230利用所選定的這兩個隨機數、公共參數組和主偽名Pp,ime,生成一個子偽名。在這個步驟中,用戶設備D230可以先計算以下參數
權利要求
1.一種用於在身份管理器(PIM)中生成偽名的方法,所述方法包括以下步驟 確定一個公共參數組和一個秘密參數組;從用戶設備接收一個用戶身份標識IDusct ;根據所確定的秘密參數組和所述IDusct,生成一個主偽名 Ppnme =< HlHDuserXHldHDlisJh其中H1是一個單向哈希函數,5是Zp域中選出的隨機數,且 P是一個選定的素數;以及將所述主偽名Plffime和所述公共參數組發送給所述用戶設備。
2.如權利要求1所述的方法,其中,所述公共參數組為IgdAG2AH2,! ], 其中G1和G2是選定的兩個q階模P群,其中q是素數; e是一個雙線性映射且e : G1XG1 — G2 ; g是從G1群中選出的一個隨機生成子; H2是單向哈希函數,且H2 = G2 — {0,1}*;並且 H1: {0,1}* —G」
3.如權利要求2所述的方法,還包括以下步驟從一個第三方設備接收一個子偽名Ppseu = ;利用所述子偽名Ppsw和所述公共參數組,計算一個查詢參數Rr = e(g\QA)cA ; 根據所述查詢參數Vct,在所存儲的用戶身份標識中查找一個用戶身份標識ID』USCT以使得e(QB,Hd(RTusJ) 二 Ver 搭及將所述ID』 user作為與所述Ppsw對應的用戶身份標識發送給所述第三方設備。
4.如權利要求1所述的方法,還包括以下步驟 接收來自所述第三方設備的獲取請求;以及響應於所述獲取請求,向所述第三方設備發送所述公共參數組。
5.如權利要求1所述的方法,還包括以下步驟 接收來自所述用戶設備的一個子偽名Pp_ ;以及通過與所述用戶設備進行交互來驗證所述子偽名Ppseu的有效性。
6.一種用於在用戶設備中生成偽名的方法,所述方法包括以下步驟 向身份管理器(PIM)發送一個用戶身份標識IDusct ;從所述PIM接收一個公共參數組和一個與所述IDusct相對應的主偽名ΡρΗωε ;以及選擇至少兩個隨機參數,並利用所述至少兩個隨機參數、所述公共參數組和所述主偽1 prime 『 生成子偽名 1 pseu°
7.如權利要求6所述的方法,其中,所述公共參數組為:{g,gd,G」G2:e,H2,ρ、, 其中ρ是素數,且3是Zp域中選出的隨機數; G1和G2是兩個q階模ρ群,其中q是素數; e是一個雙線性映射且^G1 X G1 — G2 ;g是G1群中的一個隨機生成子;並且 H2是單向哈希函數,且H2 = G2 — {0,1}*; 並且所述主偽名為=, 其中,H1是一個單向哈希函數,且H1 = G1 — {0,1}*; 並且其中,所述生成所述子偽名Ppseu的步驟包括 根據所述公共參數組,在Zp域內選擇兩個隨機數Ic1和k2 ;利用所選擇的隨機數h和k2、所述公共參數組以及所述主偽名ΡρΗωε計算以下參數a= Hlk^(ID);QbCA= e{Qc,QD),其中'Qc=Eklh ,Qd =Hldklik^iID),且 Kk2-1Hiodp = 1 ;以及基於計算出的參數,生成子偽名Ρρ_ = 。
8.如權利要求7所述的方法,還包括以下步驟向一個第三方設備發送所述子偽名Pp_和一個用於標識所述PIM的標識符IDsctvct ;以及通過與作為驗證方的所述第三方設備進行交互來驗證所述子偽名Ppseu的有效性。
9.如權利要求7所述的方法,還包括以下步驟 向所述PIM發送所述子偽名Ppseu ;以及通過與作為驗證方的所述PIM進行交互來驗證所述子偽名Ppseu的有效性。
10.如權利要求8或9所述的方法,其中所述驗證步驟包括通過與所述驗證方交換零知識證明來驗證所述子偽名Ppseu的有效性。
11.如權利要求10所述的方法,其中,與所述驗證方交換零知識證明的步驟包括 從所述驗證方接收一個查詢消息,該查詢消息是根據所述公共參數組和所述子偽名Ppseu 生成的,並且表示為 ; 其中,t是由所述驗證方選定的Zp內的隨機數;0B=e{g\QA)-,Kses是由所述驗證方選定的原始會話密鑰; Na是由所述驗證方隨機選出的查詢內容;並且Enc (Kses, Na)表示利用所述原始會話密鑰對所述查詢內容Na進行加密而得到的加密內容;根據所述查詢消息和所述主偽名Pp_e,利用 K*ses(徹 (///(//)■)產))計算一個會話密鑰 Κ、;利用所述會話密鑰對所述加密內容Enc (Kses, Na)進行解密,以得到解密內容Na* ; 根據預定規則選擇一個與所述解密內容Na*相對應的應答內容Nb,並利用所述會話密鑰K*ses對所述應答內容Na進行加密,以得到應答消息Enc (K*ses,Nb);以及向所述驗證方發送所述應答消息Enc (K*ses,Nb)。
12.一種用於在第三方設備中驗證偽名的方法,所述方法包括以下步驟從一個用戶設備接收一個子偽名Pp_以及一個標識身份管理器(PIM)的標識符根據所述標識符IDsctvct,從所述PIM獲得一個公共參數組;以及基於所述公共參數組,通過與所述用戶設備進行交互來驗證所述子偽名Ppsw的有效性。
13.如權利要求12所述的方法,其中,所述公共參數組為-.Wg^G1P2AH2M,其中,P是素數,且3是Zp域中選出的隨機數; G1和G2是兩個q階模ρ群,其中q是素數; e是一個雙線性映射且e : G1XG1 — G2 ; g是G1群中的一個隨機生成子; H2是單向哈希函數,且H2 = G2 — {0,1}*。
14.如權利要求13所述的方法,其中,所述驗證步驟包括通過與所述用戶設備交換零知識證明來驗證所述子偽名Ppseu的有效性。
15.如權利要求14所述的方法,其中,所述交換零知識證明的步驟包括 在Zp域內選擇一個隨機數t;選擇一個原始會話密鑰以及一個查詢內容Na,並利用所述原始會話密鑰對所述查詢內容Na進行加密,以得到加密內容Enc (K_,Na);利用所述隨機數t、所述公共參數組、所述子偽名Pp_以及所述加密內容Enc(K_,Na),生成一個查詢消息,其中,Os = e(g\QA);向所述用戶設備發送所述查詢消息;接收來自所述用戶設備的應答消息Enc (K*ses,Nb),其中K*ses是所述用戶設備根據所述查詢消息計算出的會話密鑰,Nb是所述用戶設備按照預定規則根據由Enc(K_,Na)解密出的查詢內容選擇的應答內容;利用所述原始會話密鑰解密所述應答消息;以及確定解密出的應答內容Nb*與所述查詢內容Na之間是否符合所述預定規則,以驗證所述子偽名Ρρ_的有效性。
16.如權利要求12所述的方法,其中, 向所述PIM發送所述子偽名Ppseu ;以及從所述PIM接收一個用戶身份標識ID』USCT,以作為與所述子偽名Ppsw相對應的用戶身份標識IDusct。
17.一種身份管理器(PIM),包括確定單元,用於確定一個公共參數組和一個秘密參數組; 接收單元,用於接收一個用戶身份標識IDUSCT ;生成單元,用於根據所述秘密參數組和所述IDusct,生成一個主偽名 Ppnme =<^(m_),,其中H1是一個單向哈希函數,5是Zp域中選出的隨機數,且 P是一個選定的素數;以及發送單元,用於將所述主偽名Plffinre發送給所述用戶設備。
18.如權利要求17所述的PIM,其中,所述公共參數組為々,《,GJ^aHvP、,其中,P是素數,且δ是Zp域中選出的隨機數; G1和G2是兩個q階模ρ群,其中q是素數; e是一個雙線性映射且^G1 X G1 — G2 ;g是G1群中的一個隨機生成子;並且 H2是單向哈希函數,且H2 = G2 — {0,1}*;並且所述主偽名=<^(鞏皿),珎,其中,H1是一個單向哈希函數,且 H1IG1 — {0,1}*。
19.如權利要求18所述的PIM,其中,所述接收單元還用於從第三方設備接收一個子偽名 Ppseu —〈仏,Qb' CA〉,其中所述PIM還包括計算單元,用於利用所述子偽名Ppsw和所述公共參數組,計算一個查詢參數Ver = e(gd,QA)cA·』以及查找單元,用於根據所述查詢參數,在存儲有所述IDusct的存儲單元中查找一個用戶身份標識ID』 user以使得e(込,爐(//)』■)) = & ;並且其中,所述發送單元還用於將所述ID』USCT作為與所述子偽名Ppsw相對應的用戶身份標識發送給所述第三方設備。
20.一種用戶設備,包括發送單元,用於向身份管理器(PIM)發送一個用戶身份標識IDUSCT ; 接收單元,用於從所述PIM接收一個公共參數組和一個與所述IDusct相對應的主偽名Pprime 以 ^^生成單元,用於選擇至少兩個隨機參數,並利用所述至少兩個隨機參數、所述公共參數和所述主偽名PpriM,生成子偽名Pp_。
21.如權利要求20所述的用戶設備,其中,所述公共參數組為:{g,gd,G」G2:e,H2,Ph其中,P是素數,且δ是Zp域中選出的隨機數; G1和G2是兩個q階模ρ群,其中q是素數; e是一個雙線性映射且^G1 X G1 — G2 ; g是G1群中的一個隨機生成子;並且 H2是單向哈希函數,且H2 = G2 — {0,1}*; 並且所述主偽名 =, 其中,H1是一個單向哈希函數,且H1 = G1 — {0,1}*; 並且其中所述生成單元包括選擇單元,用於在Zp域內選擇兩個隨機數Ic1和k2 ;以及計算單元,用於利用所選擇的隨機數&和k2、所述公共參數組以及所述主偽名ΡρΗωε計算子偽名 Ppseu = ; 其中,込=^W(TD);QB=gkl2 ;並且
且 k2k2—1Hiodp = 1。
22.如權利要求21所述的用戶設備,其中,所述發送單元還用於向一個第三方設備發送所述子偽名Ppseu和一個用於標識所述PIM 的標識符IDsctvct ;並且其中所述用戶設備還包括驗證單元,用於經由所述發送單元和所述接收單元與所述第三方設備進行交互來驗證所述子偽名Pp_。
23.如權利要求22所述的用戶設備,其中,所述驗證單元用於通過與所述第三方交換零知識證明來驗證所述子偽名Ppsw的有效性。
24.如權利要求23所述的用戶設備,其中,所述驗證單元用於經由所述接收單元從所述第三方設備接收一個查詢消息,該查詢消息是根據所述公共參數組和所述子偽名Ppsw生成的,並且表示為,其中,t是Zp域內的隨機數,,
Kses是由所述第三方設備選定的原始會話密鑰; Na是由所述第三方設備隨機選出的查詢內容;並且Enc (Kses, Na)是利用所述原始會話密鑰對所述查詢內容Na進行加密而得到的加密內容;其中,所述驗證單元包括會話密鑰獲取單元,用於根據接收到的所述查詢消息,利用公式 K\es代(徹產))計算一個會話密鑰 K*ses ;解密單元,用於利用所述會話密鑰K*ses對所述加密內容Enc(Kses,Na)進行解密,以得到解密內容Na* ;以及加密單元,用於根據預定規則選擇一個與所述解密內容Na*相對應的應答內容Nb,並利用所述會話密鑰K*ses對所選擇的應答內容Nb進行加密,以得到應答消息Enc (K*ses,Nb); 並且其中,所述發送單元還用於向所述第三方設備發送所述應答消息Enc (K*ses,Nb)。
25.一種用戶向其請求服務的第三方設備,所述第三方設備包括接收單元,用於從一個用戶設備接收一個子偽名Pp_以及一個標識身份管理器(PIM) 的標識符IDsctvct ;發送單元,用於向所述用戶設備發送信息;獲取單元,用於根據所述標識符IDsctvct,從所述PIM獲取公共參數組;以及驗證單元,用於基於所述公共參數組,經由所述發送單元和所述接收單元,通過與所述用戶設備進行交互來驗證所述子偽名Ppseu的有效性。
26.如權利要求25所述的第三方設備,其中,所述公共參數組為
其中,P是素數,且δ是Zp域中選出的隨機數; G1和G2是兩個q階模ρ群,其中q是素數;e是一個雙線性映射且^G1 X G1 — G2 ; g是G1群中的一個隨機生成子;並且 H2是單向哈希函數,且H2 = G2 — {0,1}*。
27.如權利要求26所述的第三方設備,其中,所述驗證單元用於通過與所述用戶設備交換零知識證明來驗證所述子偽名Ppsw的有效性。
28.如權利要求27所述的第三方設備,其中,所述驗證單元包括選擇單元,用於在Zp域內選擇一個隨機數t,選擇一個原始會話密鑰以及一個查詢內容Na,並利用所述原始會話密鑰對所述查詢內容Na進行加密,以得到加密內容 Enc (Kses,Na);查詢消息生成單元,用於利用所述隨機數t、所述公共參數組、所述子偽名Pp_以及所述加密內容Enc (K_,Na),生成一個查詢消息<廣足_十圪(O/c/XEMi^O,其中,0B=e(ga,QA),並用於經由所述發送單元將所述查詢消息發送給所述用戶設備;解密單元,用於利用所述原始會話密鑰解密經由所述接收單元從所述用戶設備接收到的應答消息Enc (K*_,Nb),其中是所述用戶設備根據所述查詢消息計算出的會話密鑰,Nb是所述用戶設備按照預定規則根據由Enc(K_,Na)解密出的查詢內容選擇的應答內容;以及確定單元,用於確定解密出的應答內容Nb*與所述查詢內容Na之間是否符合所述預定規則,當符合所述預定規則時,驗證所述子偽名Ppsw為有效。
29.如權利要求28所述的第三方設備,其中所述發送單元還用於向所述PIM發送所述子偽名Ppseu ;並且所述接收單元還用於從所述PIM接收與所述子偽名Pp_相對應的一個用戶身份標識。
30.如權利要求25所述的第三方設備,其中所述第三方設備是醫院中的醫療系統。
全文摘要
本發明提供一種生成和驗證偽名的方法和裝置。該方法包括以下步驟向身份管理器(PIM)發送一個用戶身份標識IDuser;從所述PIM接收一個公共參數組和一個與所述IDuser相對應的主偽名Pprime;以及選擇至少兩個隨機參數,並利用所述至少兩個隨機參數、所述公共參數組和所述主偽名Pprime,生成子偽名Ppseu。
文檔編號H04L9/32GK102187618SQ200980140621
公開日2011年9月14日 申請日期2009年10月13日 優先權日2008年10月14日
發明者李暉, 屈勁 申請人:皇家飛利浦電子股份有限公司