CN102187618A - 生成和验证伪名的方法和装置 - Google Patents

生成和验证伪名的方法和装置 Download PDF

Info

Publication number
CN102187618A
CN102187618A CN2009801406217A CN200980140621A CN102187618A CN 102187618 A CN102187618 A CN 102187618A CN 2009801406217 A CN2009801406217 A CN 2009801406217A CN 200980140621 A CN200980140621 A CN 200980140621A CN 102187618 A CN102187618 A CN 102187618A
Authority
CN
China
Prior art keywords
name
pseudo
son
pseu
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801406217A
Other languages
English (en)
Other versions
CN102187618B (zh
Inventor
李晖
屈劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to CN2009801406217A priority Critical patent/CN102187618B/zh
Publication of CN102187618A publication Critical patent/CN102187618A/zh
Application granted granted Critical
Publication of CN102187618B publication Critical patent/CN102187618B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供一种生成和验证伪名的方法和装置。该方法包括以下步骤:向身份管理器(PIM)发送一个用户身份标识IDuser;从所述PIM接收一个公共参数组和一个与所述IDuser相对应的主伪名Pprime;以及选择至少两个随机参数,并利用所述至少两个随机参数、所述公共参数组和所述主伪名Pprime,生成子伪名Ppseu

Description

生成和验证伪名的方法和装置
技术领域
本发明总地涉及一种用于保护用户秘密的方法和装置,尤其涉及一种通过伪名来保护用户秘密的方法和装置。
背景技术
随着电子技术的发展,现代医疗机构中已经广泛使用电子医疗系统来维护和管理用户(如患者)的个人信息和健康记录(如病历、体检结果等)。然而,电子记录易被窃取和传播。因而现代电子医疗系统的安全性问题越来越受到人们的关注。
为了提高电子医疗系统的安全性,现今已经提出了匿名化和伪名化两大类用于保护用户秘密的方法。匿名化方法主旨在于去除用户真实身份与其健康记录之间的关联性。换言之,在匿名化方法中,不再记录用户的个人信息,而只保存健康记录。这种匿名化方法虽然能够安全地保护用户的秘密,但却无法根据健康记录追踪到用户。伪名化方法是在匿名化方法基础之上提出的。在伪名化方法中,消除了用户真实身份与其健康记录之间的关联性,并且建立了用户的健康记录与一个或多个用户的伪名之间的对应关系。由此,这种伪名化方法不仅能够提供对用户个人信息的保护,还能够提供对其健康记录的可追踪性。
图1示出了现有的医疗信息技术标准委员会(HITSP)开发出的伪名化机制。如图1所示,在用户U100到医院就诊时,用户U100首先在步骤S110中将标识自身真实身份的用户身份标识IDuser提供给医院的医疗系统D110。在步骤S120中,医疗系统D110将IDuser发送给一个PIX(Person Identifier Cross-Reference,个人身份交叉引用)管理器D120。在步骤S130中,PIX管理器D120存储IDuser,并在步骤S140中请求一个用于生成伪名的伪名服务器D140为该用户分配一个伪名。在步骤S150中,伪名服务器D140响应请求为用户生成一个伪名Ppseu,并在步骤S160中将生成的伪名Ppseu返回给PIX管理器D120。在步骤S170中,PIX管理器D120将接收到的伪名Ppseu按照与IDuser的一对一关联存储下来,并在步骤S180中将包含伪名Ppseu的伪名证书返回给医疗系统D110。继而,在步骤S190中,医院的医疗系统D110注册该伪名证书,并在步骤S195中将其返回给用户U100。这样,用户U100就可在医院中使用所分配的伪名进行疾病诊断或治疗,并且其健康记录将会以此伪名的名义记录下来。可选地,根据需要,医院可利用该伪名证书从PIX管理器D120处获得该用户的真实身份,从而能够实现可追踪性。
然而,如图1所示的现有伪名化方法还存在一些缺陷。
首先,出于安全性、秘密性等的考虑,或者出于用户可能遗失上次生成的伪名等原因,用户每次到医院就诊时可能会请求生成一个新的伪名,甚至需要请求生成多个不同的新伪名以便在同一个医院内进行多种疾病的诊断和/或治疗。在这种情况下,图1中的伪名服务器D140就需要为用户频繁地生成伪名,致使伪名服务器的工作负荷过大。同时,PIX管理器还不得不保存用户真实身份与大量伪名之间的对应关系。因而PIM需要配备有大容量数据库,这导致服务器成本过高。
其次,一般而言,提供伪名化服务具有明显的区域性,即,本地伪名服务器和身份管理器往往只能向其管辖区域内的本地医院中的医疗系统或者采用相同伪名化服务机制的医疗系统提供伪名化服务。也就是说,如果一个医疗系统为一个用户生成了一个伪名,则不同区域的医疗系统或者采用不同伪名化机制的医疗系统不能识别同一个用户的该伪名。由此,每当用户从一个区域行至另一个新区域时,用户只有向该新区域的PIM公开自己的真实身份,才能得到这个新区域内有效的伪名,并利用这个伪名在医院就诊。这给用户就诊带来了诸多不便。
再者,在有些基于信任的情况下,用户只愿意向自己信任的本地PIM,而不是其他陌生区域中的PIM公开自己的真实身份。从这个角度看,现有的这种伪名化方法的应用区域是非常有限的。
因此,需要提供一种改进的生成和验证伪名的方法和装置,来帮助用户方便和安全地享受跨区域的医疗服务。
发明内容
本发明的一个目的在于提供一种能够提供跨区域身份识别的生成和验证伪名的方法和装置。
本发明的另一个目的在于提供一种能够减轻服务器工作负荷的生成和验证伪名的方法和装置。
为了实现上述目标,本发明提供了一种用于在身份管理器(PIM)中生成伪名的方法。该方法包括以下步骤:确定一个公共参数组和一个秘密参数组;从用户设备接收一个用户身份标识IDuser;根据所确定的秘密参数组和所述IDuser,生成一个主伪名
Figure BDA0000055130510000031
其中H1是一个单向哈希函数,
Figure BDA0000055130510000032
是Zp域中选出的随机数,且p是一个选定的素数;以及将所述主伪名Pprime和所述公共参数组发送给所述用户设备。
采用这种方法,PIM只在用户首次注册时为用户一次性地提供一个主伪名。而无须频繁地为同一用户生成多个伪名。以这种方式,这种方法可以减轻PIM的工作负荷。
为了实现上述目标,本发明提供了一种用于在用户设备中生成伪名的方法。该方法包括以下步骤:向身份管理器(PIM)发送一个用户身份标识IDuser;从所述PIM接收一个公共参数组和一个与所述IDuser相对应的主伪名Pprime;以及选择至少两个随机参数,并利用所述至少两个随机参数、所述公共参数组和所述主伪名Pprime,生成子伪名Ppseu
采用这种方法,用户设备可以根据从PIM获得的主伪名自行生成子伪名。而且,由于子伪名是使用了至少两个随机参数而生成的,所以生成的子伪名很好地隐藏了主伪名的信息,且所生成的多个子伪名之间不具有关联性。在这种情况下,即使一个或多个子伪名被窃取,窃取者也无法利用窃取的子伪名逆向推得用户的主伪名。以这种方式,这种伪名生成机制具有高级别的安全性。
为了实现上述目标,本发明提供了一种用于在第三方设备中验证伪名的方法。该方法包括以下步骤:从一个用户设备接收一个子伪名Ppseu以及一个标识身份管理器(PIM)的标识符IDserver;根据所述标识符IDserver,从所述PIM获得一个公共参数组;以及基于所述公共参数组,通过与所述用户设备进行交互来验证所述子伪名Ppseu的有效性。
采用这种方法,任何一个独立于或非独立于该PIM的第三方设备都可以根据从PIM获得的公共参数组,通过与用户设备的交互来验证用户设备提供的子伪名的有效性。以这种方式,子伪名的使用不再受到区域限制。采用上述方法,任何区域内的医院的医疗系统都可以识别出用户的子伪名,并进而利用为该用户分配主伪名的相应的PIM追踪到用户的真实身份。
根据本发明的另一方面,提供了一种身份管理器(PIM),所述PIM包括:确定单元,用于确定一个公共参数组和一个秘密参数组;接收单元,用于接收一个用户身份标识IDuser;生成单元,用于根据所述秘密参数组和所述IDuser,生成一个主伪名其中H1是一个单向哈希函数,
Figure BDA0000055130510000042
是Zp域中选出的随机数,且p是一个选定的素数;以及发送单元,用于将所述主伪名Pprime发送给所述用户设备。
根据本发明的另一方面,提供了一种用户设备,所述用户设备包括:发送单元,用于向身份管理器(PIM)发送一个用户身份标识IDuser;接收单元,用于从所述PIM接收一个公共参数组和一个与所述IDuser相对应的主伪名Pprime;以及生成单元,用于选择至少两个随机参数,并利用所述至少两个随机参数、所述公共参数和所述主伪名Pprime,生成子伪名Ppseu
根据本发明的另一方面,提供了一种用户可以向其请求服务的第三方设备,所述第三方设备包括:接收单元,用于从一个用户设备接收一个子伪名Ppseu以及一个标识身份管理器(PIM)的标识符IDserver;发送单元,用于向用户设备发送信息;获取单元,用于根据所述标识符IDserver,从所述PIM获取公共参数组;以及验证单元,用于基于所述公共参数组,经由所述发送单元和接收单元,通过与所述用户设备进行交互来验证所述子伪名Ppseu的有效性。
通过参考以下结合附图的说明以及权利要求书中的内容,并且随着对本发明的更全面的理解,本发明的其他目的及效果将变得更加清楚和易于理解。
附图简述
下面将参考附图以示例方式更详细地描述本发明,其中:
图1示出了现有伪名化方法的一个示例性流程图;
图2示出了根据本发明一个实施例的用于生成和验证伪名的方法的流程图;
图3示出了根据本发明一个实施例的子伪名验证方法的流程图;
图4示出了根据本发明一个实施例的生成和验证伪名的方法中各个实体之间传递的消息;
图5示出了根据本发明一个实施例的身份管理器的配置;
图6示出了根据本发明一个实施例的用户设备的配置;以及
图7示出了根据本发明一个实施例的第三方设备的配置。
在所有附图中,相同的参考数字应当理解为指示相似或对应的特征或功能。
具体实施方式
以下将以医疗系统为例描述根据本发明一个实施例的生成和验证伪名的方法和装置。然而,本领域技术人员可以理解的是,根据本发明的生成和验证伪名的方法和装置并不局限于在医院中使用,其还可以应用在其它需要保护用户的真实身份的领域。比如,这种生成和验证伪名的方法和装置还可以应用于网上购物、图书管理等多种领域。
图2示出了根据本发明一个实施例的用于生成和验证伪名的方法。与图1相比较,在图2所示的方法中涉及三个实体:医院中使用的医疗系统D210、身份管理器(PIM)D220以及用户设备D230。
在图2中,医疗系统D210是医院中配备的管理系统,用于管理和存储用户的健康记录等等。PIM D220是用于存储和管理用户的真实身份的服务器。在图2所示的实施例中,PIM D220集成有伪名分配功能,其可为一个注册用户生成一个唯一的主伪名Pprime。但是在本发明中该主伪名并不仅限于在医院中使用。可选地,该伪名分配功能也可由一个独立于PIM D220的设备来实现。比如,在图1示出的HITSP系统中,PIX管理器可以存储和管理用户的真实身份,而伪名服务器可以实现主伪名分配功能。这样,对于HITSP系统而言,图2中的PIM D220可对应于PIX管理器和伪名服务器的结合。
图2中的用户设备D230可以是任何一种具有处理功能的设备,如手机、PDA、笔记本或智能卡等等,用于根据PIM D220生成的主伪名Pprime进一步自动生成一个或多个子伪名Ppseu。这些子伪名Ppseu将会在用户到医院就诊时注册在医疗系统D210中。用户设备D230的子伪名生成功能例如可以通过装载在用户设备20上的应用软件来实现,也可以通过能够连接到该用户设备的硬件功能模块来实现。
以下参照图2详细描述根据本发明一个实施例的用于生成和验证伪名方法的操作过程。在图2所示的实施例中,根据本发明的生成和验证伪名的方法可以分为五个阶段,即建立阶段(S210)、主伪名注册阶段(S230)、子伪名生成阶段(S250)、子伪名验证阶段(S270)以及用户身份追踪阶段(S290)。但是,本领域技术人员可以理解的是,本发明并不限于此实施例。相反,此实施例中的一些步骤(例如用户身份追踪阶段)根据需要可以省去,或者一些步骤之间可以有所交叉。以下将结合图2描述这五个阶段的具体操作。
建立
图2示出的生成和验证伪名的方法是以基于身份加密(IBE)方法为基础而提出的。在初始的建立阶段S210,PIM D220基于IBE方法确定用于生成和验证伪名的公共参数组和秘密参数组。
在步骤S211中,PIM D220选定基本参数。具体而言,PIM D220首先选定两个素数p和q,并在整数模p域(即Zp域)内选择一个随机数
Figure BDA0000055130510000061
然后,PIM D220选择两个q阶模p的群G1和G2,换言之,所选择的G1和G2群均包括q个有限元素,且G1和G2群是Zp域的子集。PIM D220还要选择一个在G1和G2之间使用的双线性映射
Figure BDA0000055130510000062
G1×G1→G2。这里,双线性映射
Figure BDA0000055130510000063
G1×G1→G2是指:对于所有P,Q∈G1
Figure BDA0000055130510000064
均为G2群中的一个元素,即
Figure BDA0000055130510000065
而且对于任意a,b∈Zp,都有
Figure BDA0000055130510000066
PIM D220在G1群中再选择一个随机生成子g∈G1,并选择两个单向哈希函数H1和H2。这两个哈希函数能够满足条件H1:{0,1}*→G1和H2:G2→{0,1}*也就是说,H1是将任意长度的0、1序列(例如表示一个字符串)映射成G1群中的一个元素的第一单向哈希函数;H2是用于将G2群中的一个元素映射成一个任意长度的0、1序列的第二单向哈希函数。
在选定了上述基本参数之后,在步骤S213中,PIM D220从上述参数中选出构成公共参数组,并且选出
Figure BDA0000055130510000068
和H1作为秘密参数组。
这里,公共参数组是公开的,任何其它设备都可以从PIMD220获得该公共参数组。同时,秘密参数组是保密的,以便在用户注册时安全地为用户生成主伪名Pprime
注册
用户在首次到医院就诊之前,用户可以在注册阶段S230中选择一个可信任的本地PIM D220进行注册,以得到一个主伪名。
具体而言,在步骤S231中,用户可以利用其携带的用户设备D230(如PDA)将用于标识自己真实身份的用户身份标识IDuser在注册请求中发送给PIM D220。在步骤S233中,PIM D220将接收到的IDuser存储在一个用户身份数据库中,并利用接收到的IDuser和之前确定的秘密参数组
Figure BDA0000055130510000073
生成一个主伪名
Figure BDA0000055130510000074
这个主伪名是一个二元组,其中一项是对IDuser应用保密的第一单向哈希函数H1计算出的第一哈希值,另一项是该第一哈希值的
Figure BDA0000055130510000075
次方。继而,在步骤S235中,PIM D220将生成的主伪名Pprime连同公共参数组一同发送给用户设备D230,作为指示注册成功的应答。在步骤S237中,用户设备D230将接收到的主伪名Pprime和公共参数组存储下来,以便将来可以根据需要生成相应的子伪名。然后,注册过程结束。
子伪名生成
在图2所示的实施例中,为了避免PIM D220频繁地为用户生成伪名,由PIM D220生成的主伪名Pprime并不真正在医院中使用。相反,在阶段S250中,每次用户到医院就诊时,用户设备D230会根据从PIM D220得到的主伪名Pprime自行生成至少一个子伪名。
具体而言,在步骤S251,根据所存储的公共参数组,用户设备D230从Zp域中选择例如两个随机数k1,k2∈Zp。然后,在步骤S253中,用户设备D230利用所选定的这两个随机数、公共参数组和主伪名Pprime,生成一个子伪名。在这个步骤中,用户设备D230可以先计算以下参数:
Q A = H 1 k 1 2 k 2 ( ID ) ;
Q B = g k 1 2 ;
c A = e ^ ( Q C , Q D ) , 其中 Q C = g k 1 k 2 ,
Figure BDA0000055130510000081
其中k2 -1是随机数k2的逆,即k2k2 -1modp=1。
然后,用户设备D230基于以上计算出的参数,生成包含三项的子伪名Ppseu=<QA,QB,cA>。
采用以上步骤S251~S253,用户设备D230可以通过选择不同的随机数k1,k2∈Zp自行生成不同的子伪名。这里,由于使用了随机数k1,k2∈Zp来生成子伪名,所以关于主伪名的信息被安全地隐藏在子伪名中。他人难以根据所窃取的子伪名逆向计算出关于主伪名的信息。此外,由于k1,k2是随机选出的,所以由同一用户设备D230生成的多个子伪名之间不会存在相关联的特性。以这种方式,即使他人窃取了用户设备D230生成的子伪名也不能根据这些子伪名得到PIM分配给用户设备的主伪名。由此,用户可以安全地使用其自己生成的子伪名。
此外,尽管在本实施例中是利用两个随机数来生成子伪名,但是本领域技术人员可以理解的是,经过精心设计,使用两个以上的随机参数来生成子伪名也是可以的。因而,本发明并不限于本实施例所述的两个随机数的情况。
子伪名验证
每当用户到医院就诊时,用户会使用生成的子伪名在医院的医疗系统中进行注册。在阶段S270中,医院的医疗系统D210将首先对用户设备D230提供的子伪名的有效性进行验证,即,验证该子伪名是否是根据PIM为该用户分配的主伪名而生成的,以便能够确保从相应的PIM追踪到用户的真实身份。
如图2所示,验证过程从步骤S271开始。在步骤271中,用户设备D230向医疗系统D210发送一个自行生成的子伪名Ppseu=<QA,QB,cA>,以及本地PIM D220的标识符IDserver(如PIM D220的名称或地址)。在步骤S272,医疗系统D210根据所接收到的IDserver从相应的PIM D220处获得公共参数组
Figure BDA0000055130510000082
在获得公共参数组之后,在步骤S273中,医疗系统D210可以通过与用户设备进行交互来验证用户设备D230提供的子伪名的有效性。
步骤273中的验证过程可以通过多种方式来实现。比如,当用户完全信任医疗系统D210(例如本地医疗系统)时,医疗系统D210可向用户设备D230索取主伪名。在从用户设备D230得到主伪名后,医疗系统D210可根据该主伪名和用户提供的子伪名来验证该子伪名是根据该主伪名生成的,且该主伪名是由IDserver标识的PIM D220分配的。更为优选地,在步骤S273中,医疗系统D210可通过与用户设备D230交换零知识证明来对子伪名进行验证。由于在交换零知识证明过程中用户设备D230不必向医疗系统D210泄露关于其主伪名的信息,因而这种方法更加安全。交换零知识证明也可以有多种实现方式。图3仅示出了一种实现。
如图3所示,在步骤S373,医疗系统D210根据公共参数组中的参数p,选择一个属于Zp域的随机数t,即t∈Zp。同时,医疗系统D210可以随机选择一个原始会话密钥Kses和一个查询内容Na。该查询内容Na可以是一个随机数,也可以是由0、1序列表示的任意串。参数选定后,在步骤S374中,医疗系统D210根据选定的参数t、Kses和Na、公共参数组中的g和H2,以及接收到的子伪名Ppseu=<QA,QB,cA>,生成一个包含三项的查询消息:
Challenge = < g t , K ses &CirclePlus; H 2 ( O B t c A t ) , Enc ( K ses , N a ) > , 其中, O B = e ^ ( g &PartialD; , Q A ) .
在该查询消息中,第一项gt携带了关于随机数t的信息;第二项相当于加密的会话密钥;第三项Enc(Kses,Na)表示利用原始会话密钥Kses对查询内容Na进行加密而得到的加密内容。继而,在步骤S375,医疗系统D210将该查询消息发送给用户设备D230,并等待用户设备D230的应答。
在接收到查询消息后,在步骤S376a,用户设备D230利用如下公式从查询消息中计算出一个会话密钥K*ses
K * ses = K ses &CirclePlus; H 2 ( O B t c A t ) &CirclePlus; H 2 ( e ^ ( g t , ( H 1 &PartialD; ( ID user ) ) k 1 2 t ) ) , 其中,
Figure BDA0000055130510000095
表示异或运算。
由上式可见,公式右边的
Figure BDA0000055130510000096
项为查询消息中包含的加密的会话密钥,公式右边的
Figure BDA0000055130510000097
项为用户设备D230根据主伪名、公共参数组以及查询消息生成的参考项。如果用户设备D230确实保存有由PIM D220分配的主伪名Pprime,即存储有
Figure BDA0000055130510000098
那么公共参数组中的双线性映射
Figure BDA0000055130510000099
使得上式中
Figure BDA00000551305100000910
的结果恰好为“0”。从而消掉会话密钥的加密项
Figure BDA00000551305100000911
以得到原始会话密钥Kses,即K*ses=Kses。继而,在步骤S376b中,利用该计算出的会话密钥K*ses对加密内容Enc(Kses,Na)进行解密,以得到解密内容Na*。如果在步骤S376a中,正确得到会话密钥K*ses=Kses,那么在步骤S376b中就可以正确解密出解密内容为Na*=Na。接着,在步骤S376c中,用户设备D230按照预先与医院的医疗系统D210约定的预定规则,选择一个与解密内容Na*对应的应答内容Nb。在本实施例中,该预定规则例如可以为Na=Na*+1。当然该预定规则并不限于此。在选定应答内容后,在步骤S376d中,用户设备D230可以用计算出的K*ses对应答内容Nb加密,从而得到应答消息Enc(K*ses,Nb)。在步骤377中,用户设备D230将该应答消息Enc(K*ses,Nb)作为对查询消息的应答发送给医院的医疗系统D210。
在接收到应答消息后,在步骤S378中,医疗系统D210利用原始密钥Kses对接收到的应答消息Enc(K*ses,Nb)进行解密,以获得解密出的应答内容Nb*。在步骤S379中,医疗系统D210确定所解密出的应答内容Nb*与原始内容Na之间是否满足前述预定规则。例如,在本实施例中,医疗系统D210确定Nb*是否等于Na+1。如上所述,如果用户设备D230能够正确地计算出原始会话密钥,即K*ses=Kses,那么医疗系统D210就能够利用原始会话密钥Kses正确地解密出Nb*=Nb=Na+1。也就是说,解密出的应答内容Nb*与查询内容Na之间符合所述预定规则。如果步骤S379确定出应答内容Nb*与查询内容Na之间符合所述预定规则,则表明用户设备D230的子伪名是有效的,即,证明了该子伪名是根据由IDserver所标识PIM分配的主伪名生成的。
通过以上验证,如果该子伪名被验证为是有效的,则用户在医疗系统D210中注册成功。用户可以利用该子伪名在医院中就诊,且其健康记录能够以该子伪名Ppseu=<QA,QB,cA>的名义进行存储和管理。
在以上的验证过程中,用户设备D230的子伪名被验证为有效的首要条件是用户设备D230获得了关于PIM D220分配的主伪名
Figure BDA0000055130510000101
的信息。这里,由于秘密参数组
Figure BDA0000055130510000102
和H1是保密的,而且第一哈希函数H1是单向的,因而其他非法用户无法在不知道
Figure BDA0000055130510000103
和H1的情况下根据子伪名和公共参数组逆向计算出主伪名因此,通过步骤S373~S379中的交换零知识证明得到的验证结果是可靠而安全的。
回到图2,验证过程是在医疗系统D210与用户设备D230之间进行的。PIM D220并不参与验证,而只是向医疗系统D210提供公共参数组。由此,无论医疗系统D210是否在PIM的辖区内,只要医疗系统D210能够通过例如网络获得PIM D220公开的公共参数组,即可验证出用户提供的子伪名的有效性。因此,在图3所示的实施例中,医院的医疗系统D210可以是独立于PIM的任意一个区域内的第三方设备。由此,采用图2所示的生成和验证伪名的方法可以为用户安全地提供跨区域的伪名服务。
虽然在图2示出的实施例中是由医疗系统D210对用户设备D230提供的子伪名进行验证,但是本发明并不限于此。可选地,验证过程还可以由PIMD220来实现。在这种情况下,用户设备D230可以将子伪名Ppseu=<QA,QB,cA>发送给PIM D220。然后,由PIM D220与用户设备D230进行交互来验证该子伪名。由于PIM D220了解所有秘密参数,所以用户设备D230可以通过向PIMD220提供其主伪名来进行验证。可选地,也可以通过在PIM D220与用户设备D220之间交换零知识证明来进行验证。
用户身份追踪
再参照图2,如上所述,在用户设备D230提供的子伪名被验证为有效之后,用户就能够以此子伪名的名义在医院享受各种医疗服务。但是,在某些情况下,医院的医疗系统D210可能还希望得到用户的真实身份IDuser(阶段S290)。
在图2所示的实施例中,当需要得知用户的真实身份时,医疗系统D210在步骤S291中将用户设备D230提供的子伪名错误!未定义书签发送给PIM D220。继而,在步骤S293,PIM D220根据接收到子伪名Ppseu=<QA,QB,cA>和公共参数组中的
Figure BDA0000055130510000111
计算出一个与该子伪名对应的查询参数错误!未定义书签。然后,在步骤S295中,PIM D220利用该查询参数错误!未定义书签在存储有IDuser的数据库中进行查找。比如,对于数据库中的每一个IDuser,PIM D220检查是否有一个ID’user满足如下公式:错误!未定义书签。
如果找到一个ID’user与查询参数Ver满足上式,则将得到的IDuser作为与医疗系统D210发送的子伪名相对应的用户真实身份。最后,在步骤S297,PIM D220将所得到的ID’user返回给医院的医疗系统D210。由此,医疗系统D210可以在需要时根据从PIM D220获得的用户真实身份及时联系到用户。
在上述的追踪过程中,通过遍历数据库中的用户身份标识,能够找到与子伪名相对应的用户身份标识IDuser。由此,在本发明实施例中,即使PIMD220不存储与用户身份标识IDuser对应的主伪名,也可以根据来自医疗系统D210的子伪名找到相应的用户真实身份。这种机制降低了PIM D220的工作负荷,并同时降低了PIM的成本。当然,本发明的追踪方法并不限于此,还可以采用其他方式来找到用户身份标识。
以上结合图2详细描述了根据本发明一个实施例的生成和验证伪名的方法。图2的流程图中的各个步骤可以用软件、硬件或二者的结合来实现。
图4示出了当图2所示方法用硬件实现时,三个实体之间传递的消息的一个实例。如图4所示,PIM D220向用户设备D230和医院的医疗系统D210提供公共参数组(消息M1),并响应于来自用户设备D230的伪名注册请求(IDuser)(消息M2)为用户分配主伪名Pprime(消息M3)。用户设备D230根据所分配的主伪名Pprime自行生成子伪名Ppseu,并将子伪名Ppseu和PIM D220的标识符IDserver(消息M4)作为医院注册请求发送给医疗系统D210。根据接收到的子伪名Ppseu以及从IDserver标识的PIM D220获得的公共参数组,医疗系统D210可以通过向用户设备30发送查询消息(消息M5)并从用户设备D230接收应答消息(消息M6)来验证子伪名Ppseu的有效性。医疗系统D210还可以向PIM D220发送包含子伪名Ppseu的查询请求(消息M7),以便从PIMD220获得与该子伪名相对应的用户真实身份ID’user(消息M8)。图4所示出的消息仅是实例,本发明还可以有多种变形,并不限于此。
图5-7示出了图4中三个实体各自的框图。本领域技术人员可以理解的是,在图5-7给出的框图中,每个单元可以彼此合并,或者可以根据所期望其的功能被拆分成更多单元。因此,图5-7所示出的硬件结构仅仅是示例性的,并非限制性的。
图5示出了PIM D220的框图。在图5中,PIM D210包括接收单元510、生成单元520、确定单元530、发送单元540、存储单元550、查找单元560以及计算单元570。
如图5所示,确定单元530可以确定用于生成和验证伪名的公共参数组
Figure BDA0000055130510000121
以及组o。公共参数组可经由发送单元540发送给任何其它设备,如用户设备D230或任意区域内医院的医疗系统D210。
一方面,在图5中示出的接收单元510接收来自用户设备D230的IDuser(消息M2)。接收到的IDuser被存储在存储单元550的数据库内,以便医院进行查询。同时,接收到的IDuser还被送入生成单元520。根据输入的IDuser和确定单元530确定的组o,生成单元520可以生成与IDuser相对应的主伪名错误!未定义书签。生成单元520所生成的主伪名错误!未定义书签(消息M3)可经由发送单元540发送给用户设备D230。
另一方面,接收单元510接收来自医院的医疗系统D210的子伪名Ppseu(消息M7)。如图5所示,接收到的子伪名Ppseu被送入计算单元570,以计算查询参数错误!未定义书签。计算单元570将计算出的查询参数错误!未定义书签输出到查找单元560。根据输入的查询参数Ver,查找单元560可以在存储单元550的数据库中查找满足错误!未定义书签的ID’user。如果能够找到,则查找单元560可以将找到的ID’user作为与子伪名Ppseu对应的用户身份标识(消息M8)经由发送单元540发送给医疗系统D210。
图6示出了根据本发明一个实施例的用户设备D230的框图。在图6中,用户设备D230包括接收单元610、存储单元620、包括选择单元632和计算单元636在内的生成单元630、发送单元640、以及包括会话密钥获取单元652、解密单元654以及加密单元656在内的验证单元650。
一方面,图6所示的发送单元640将存储单元620中预先存储的用户真实身份IDuser(消息M2)作为注册请求发送给PIM D220。继而,接收单元610接收到来自PIM D220的注册响应,即主伪名错误!未定义书签(消息M3)。同时,接收单元610还从PIM D220接收到公共参数组错误!未定义书签(消息M1)。接收到的公共参数组和主伪名错误!未定义书签被存储在存储单元620中,以便用来生成子伪名。在生成单元630中,选择单元632根据所存储的公共参数组选出两个随机数k1和k2,其中错误!未定义书签,并将其发送到计算单元636。计算单元636可以根据k1,k2、存储单元中存储的公共参数组和主伪名Pprime自行生成子伪名错误!未定义书签。所生成的子伪名错误!未定义书签和PIM D220的标识符IDserver(消息M4)可经由发送单元640发送到医疗系统D210,以便在医院中使用。
另一方面,在发送单元640向医疗系统D210发送子伪名错误!未定义书签之后,医疗系统D210可以对子伪名的有效性进行验证。例如,图6中的接收单元610接收到来自医疗系统D210的用于验证的查询消息错误!未定义书签(消息M5)。接收到的查询消息被送入验证单元650中的会话密钥获取单元652。会话密钥获取单元652根据存储单元620中存储的公共参数组和主伪名,利用如下公式计算出一个会话密钥K*ses
公式:错误!未定义书签,
计算出的会话密钥错误!未定义书签送入解密单元654。解密单元654利用该计算出的会话密钥K*ses对查询消息中的加密内容错误!未定义书签进行解密,以得到解密内容Na*。解密内容Na*被送入加密单元656。加密单元656按照预定规则选择出与解密内容Na*相对应的应答内容Nb,并利用计算出的会话密钥错误!未定义书签对应答内容Nb进行加密,从而得到应答消息Enc(K*ses,Nb)。该应答消息错误!未定义书签(消息M6)可经由发送单元640发送给医疗系统D210,以便进行验证。这里,该验证单元可以采用其他多种方式来实现,并不限于图6所示的配置。
图7示出了根据本发明一个实施例的医疗系统D210的配置。在图7中,医疗系统D210包括:接收单元710、存储单元730、验证单元740以及发送单元750。验证单元740包括:选择单元741、查询消息生成单元743、解密单元745和确定单元747。
如图7所示,接收单元710接收一个子伪名Ppseu以及用于标识用户向其注册的PIM D220的标识符IDserver。如图7所示,接收单元710从用户设备D230接收一个子伪名Ppseu以及用于标识用户向其注册的PIM D220的标识符IDserver(消息M4)。获取单元(未示出)根据接收到的IDserver,经由接收单元710得到相应PIM D220公开的公共参数组
Figure BDA0000055130510000141
(消息M1)。接收到的Ppseu和公共参数组被存储在存储单元730中,并同时被发送到验证单元740,以便可以在验证单元740中验证Ppseu的有效性。图7中的验证单元可以采用多种方式来实现。图7仅示出了这些方式中的一种。
具体而言,验证单元740中的选择单元741选择用于生成查询消息的随机数错误!未定义书签、原始会话密钥Kses以及查询内容Na。原始会话密钥Kses用于对查询内容Na进行加密,以得到加密内容Enc(Kses,Na)。根据选择单元741选出的所选参数、子伪名以及公共参数组,查询消息生成单元743生成查询消息错误!未定义书签,并经由发送单元750将该查询消息(消息M5)发送给用户设备D230。继而,接收到来自用户设备D230的应答消息错误!未定义书签(消息M6)之后,接收单元710将该应答消息发送给验证单元740。验证单元740中的解密单元745利用所述原始会话密钥错误!未定义书签解密应答消息错误!未定义书签。确定单元747确定解密出的应答内容Nb*与查询内容Na之间是否符合所述预定规则,并且当符合预定规则时,确定所述子伪名Ppseu被验证为有效。
以上结合附图1-7描述了本发明的具体实施例。在这些实施例中,用户设备可以在每次访问医院时,根据来自PIM D220的主伪名,安全地生成至少一个子伪名。由此,在本发明实施例中,PIM D220无需频繁地为用户生成伪名,从而减轻了PIM的工作负荷。
再者,在上述实施例中,医院的医疗系统D210可以根据从PIM D220得到的公共参数组,通过与用户设备D230进行交互来验证用户生成的子伪名。以这种方式,用户生成的子伪名可在不同区域的医院中使用,从而实现了跨区域伪名服务。
此外,在上述实施例中,PIM D220可以根据医疗系统D210提供的子伪名通过遍历数据库中存储的IDuser找到对应的用户身份标识。以这种方式,PIM D220无需存储每个用户的主伪名,这进一步降低了对PIM D220中数据库的要求,从而降低了PIM的成本。
以上结合附图描述了本发明的具体实施例。应当注意的是,上述实施例用于说明、而非限制本发明。本领域技术人员应当理解,在不脱离本发明内容的基础情况下,可以对本发明的装置和方法做出各种改进和修改,其中本发明的范围由所附权利要求限定。此外,不应当将权利要求中的任何参考标记解释为限制权利要求。

Claims (30)

1.一种用于在身份管理器(PIM)中生成伪名的方法,所述方法包括以下步骤:
确定一个公共参数组和一个秘密参数组;
从用户设备接收一个用户身份标识IDuser
根据所确定的秘密参数组和所述IDuser,生成一个主伪名
Figure FDA0000055130500000011
其中H1是一个单向哈希函数,是Zp域中选出的随机数,且p是一个选定的素数;以及
将所述主伪名Pprime和所述公共参数组发送给所述用户设备。
2.如权利要求1所述的方法,其中,所述公共参数组为:
其中:
G1和G2是选定的两个q阶模p群,其中q是素数;
是一个双线性映射且
Figure FDA0000055130500000015
G1×G1→G2
g是从G1群中选出的一个随机生成子;
H2是单向哈希函数,且H2:G2→{0,1}*;并且
H1:{0,1}*→G1
3.如权利要求2所述的方法,还包括以下步骤:
从一个第三方设备接收一个子伪名Ppseu=<QA,QB,cA>;
利用所述子伪名Ppseu和所述公共参数组,计算一个查询参数
Figure FDA0000055130500000016
根据所述查询参数Ver,在所存储的用户身份标识中查找一个用户身份标识ID’user以使得
Figure FDA0000055130500000017
以及
将所述ID’user作为与所述Ppseu对应的用户身份标识发送给所述第三方设备。
4.如权利要求1所述的方法,还包括以下步骤:
接收来自所述第三方设备的获取请求;以及
响应于所述获取请求,向所述第三方设备发送所述公共参数组。
5.如权利要求1所述的方法,还包括以下步骤:
接收来自所述用户设备的一个子伪名Ppseu;以及
通过与所述用户设备进行交互来验证所述子伪名Ppseu的有效性。
6.一种用于在用户设备中生成伪名的方法,所述方法包括以下步骤:
向身份管理器(PIM)发送一个用户身份标识IDuser
从所述PIM接收一个公共参数组和一个与所述IDuser相对应的主伪名Pprime;以及
选择至少两个随机参数,并利用所述至少两个随机参数、所述公共参数组和所述主伪名Pprime,生成子伪名Ppseu
7.如权利要求6所述的方法,其中,所述公共参数组为:
Figure FDA0000055130500000021
其中:
p是素数,且
Figure FDA0000055130500000022
是Zp域中选出的随机数;
G1和G2是两个q阶模p群,其中q是素数;
Figure FDA0000055130500000023
是一个双线性映射且
Figure FDA0000055130500000024
G1×G1→G2
g是G1群中的一个随机生成子;并且
H2是单向哈希函数,且H2:G2→{0,1}*
并且所述主伪名为
Figure FDA0000055130500000025
其中,H1是一个单向哈希函数,且H1:G1→{0,1}*
并且其中,所述生成所述子伪名Ppseu的步骤包括:
根据所述公共参数组,在Zp域内选择两个随机数k1和k2
利用所选择的随机数k1和k2、所述公共参数组以及所述主伪名Pprime计算以下参数:
Q A = H 1 k 1 2 k 2 ( ID ) ;
Q B = g k 1 2 ;
c A = e ^ ( Q C , Q D ) , 其中 Q C = g k 1 k 2 , Q D = H 1 &PartialD; k 1 ( k 2 - 1 - 1 ) ( ID ) , 且k2k2 -1modp=1;以及
基于计算出的参数,生成子伪名Ppseu=<QA,QB,cA>。
8.如权利要求7所述的方法,还包括以下步骤:
向一个第三方设备发送所述子伪名Ppseu和一个用于标识所述PIM的标识符IDserver;以及
通过与作为验证方的所述第三方设备进行交互来验证所述子伪名Ppseu的有效性。
9.如权利要求7所述的方法,还包括以下步骤:
向所述PIM发送所述子伪名Ppseu;以及
通过与作为验证方的所述PIM进行交互来验证所述子伪名Ppseu的有效性。
10.如权利要求8或9所述的方法,其中所述验证步骤包括:
通过与所述验证方交换零知识证明来验证所述子伪名Ppseu的有效性。
11.如权利要求10所述的方法,其中,与所述验证方交换零知识证明的步骤包括:
从所述验证方接收一个查询消息,该查询消息是根据所述公共参数组和所述子伪名Ppseu生成的,并且表示为
其中,t是由所述验证方选定的Zp内的随机数;
O B = e ^ ( g &PartialD; , Q A ) ;
Kses是由所述验证方选定的原始会话密钥;
Na是由所述验证方随机选出的查询内容;并且
Enc(Kses,Na)表示利用所述原始会话密钥Kses对所述查询内容Na进行加密而得到的加密内容;
根据所述查询消息和所述主伪名Pprime,利用
Figure FDA0000055130500000036
计算一个会话密钥K*ses
利用所述会话密钥K*ses对所述加密内容Enc(Kses,Na)进行解密,以得到解密内容Na*;
根据预定规则选择一个与所述解密内容Na*相对应的应答内容Nb,并利用所述会话密钥K*ses对所述应答内容Na进行加密,以得到应答消息Enc(K*ses,Nb);以及
向所述验证方发送所述应答消息Enc(K*ses,Nb)。
12.一种用于在第三方设备中验证伪名的方法,所述方法包括以下步骤:
从一个用户设备接收一个子伪名Ppseu以及一个标识身份管理器(PIM)的标识符IDserver
根据所述标识符IDserver,从所述PIM获得一个公共参数组;以及
基于所述公共参数组,通过与所述用户设备进行交互来验证所述子伪名Ppseu的有效性。
13.如权利要求12所述的方法,其中,所述公共参数组为:
Figure FDA0000055130500000041
其中,p是素数,且是Zp域中选出的随机数;
G1和G2是两个q阶模p群,其中q是素数;
Figure FDA0000055130500000043
是一个双线性映射且
Figure FDA0000055130500000044
G1×G1→G2
g是G1群中的一个随机生成子;
H2是单向哈希函数,且H2:G2→{0,1}*
14.如权利要求13所述的方法,其中,所述验证步骤包括:
通过与所述用户设备交换零知识证明来验证所述子伪名Ppseu的有效性。
15.如权利要求14所述的方法,其中,所述交换零知识证明的步骤包括:
在Zp域内选择一个随机数t;
选择一个原始会话密钥Kses以及一个查询内容Na,并利用所述原始会话密钥Kses对所述查询内容Na进行加密,以得到加密内容Enc(Kses,Na);
利用所述随机数t、所述公共参数组、所述子伪名Ppseu以及所述加密内容Enc(Kses,Na),生成一个查询消息
Figure FDA0000055130500000051
其中,
Figure FDA0000055130500000052
向所述用户设备发送所述查询消息;
接收来自所述用户设备的应答消息Enc(K*ses,Nb),其中K*ses是所述用户设备根据所述查询消息计算出的会话密钥,Nb是所述用户设备按照预定规则根据由Enc(Kses,Na)解密出的查询内容选择的应答内容;
利用所述原始会话密钥Kses解密所述应答消息;以及
确定解密出的应答内容Nb*与所述查询内容Na之间是否符合所述预定规则,以验证所述子伪名Ppseu的有效性。
16.如权利要求12所述的方法,其中,
向所述PIM发送所述子伪名Ppseu;以及
从所述PIM接收一个用户身份标识ID’user,以作为与所述子伪名Ppseu相对应的用户身份标识IDuser
17.一种身份管理器(PIM),包括:
确定单元,用于确定一个公共参数组和一个秘密参数组;
接收单元,用于接收一个用户身份标识IDuser
生成单元,用于根据所述秘密参数组和所述IDuser,生成一个主伪名
Figure FDA0000055130500000053
其中H1是一个单向哈希函数,
Figure FDA0000055130500000054
是Zp域中选出的随机数,且p是一个选定的素数;以及
发送单元,用于将所述主伪名Pprime发送给所述用户设备。
18.如权利要求17所述的PIM,其中,所述公共参数组为:
Figure FDA0000055130500000055
其中,p是素数,且
Figure FDA0000055130500000056
是Zp域中选出的随机数;
G1和G2是两个q阶模p群,其中q是素数;
Figure FDA0000055130500000057
是一个双线性映射且
Figure FDA0000055130500000058
G1×G1→G2
g是G1群中的一个随机生成子;并且
H2是单向哈希函数,且H2:G2→{0,1}*
并且所述主伪名
Figure FDA0000055130500000061
其中,H1是一个单向哈希函数,且H1:G1→{0,1}*
19.如权利要求18所述的PIM,其中,所述接收单元还用于从第三方设备接收一个子伪名Ppseu=<QA,QB,cA>,
其中所述PIM还包括:
计算单元,用于利用所述子伪名Ppseu和所述公共参数组,计算一个查询参数以及
查找单元,用于根据所述查询参数,在存储有所述IDuser的存储单元中查找一个用户身份标识ID’user以使得
Figure FDA0000055130500000063
并且其中,所述发送单元还用于将所述ID’user作为与所述子伪名Ppseu相对应的用户身份标识发送给所述第三方设备。
20.一种用户设备,包括:
发送单元,用于向身份管理器(PIM)发送一个用户身份标识IDuser
接收单元,用于从所述PIM接收一个公共参数组和一个与所述IDuser相对应的主伪名Pprime;以及
生成单元,用于选择至少两个随机参数,并利用所述至少两个随机参数、所述公共参数和所述主伪名Pprime,生成子伪名Ppseu
21.如权利要求20所述的用户设备,其中,所述公共参数组为:
Figure FDA0000055130500000064
其中,p是素数,且
Figure FDA0000055130500000065
是Zp域中选出的随机数;
G1和G2是两个q阶模p群,其中q是素数;
Figure FDA0000055130500000066
是一个双线性映射且
Figure FDA0000055130500000067
G1×G1→G2
g是G1群中的一个随机生成子;并且
H2是单向哈希函数,且H2:G2→{0,1}*
并且所述主伪名 P prime = < H 1 ( ID user ) , H 1 &PartialD; ( ID user ) > ,
其中,H1是一个单向哈希函数,且H1:G1→{0,1}*
并且其中所述生成单元包括:
选择单元,用于在Zp域内选择两个随机数k1和k2;以及
计算单元,用于利用所选择的随机数k1和k2、所述公共参数组以及所述主伪名Pprime计算子伪名Ppseu=<QA,QB,cA>;
其中, Q A = H 1 k 1 2 k 2 ( ID ) ;
Q B = g k 1 2 ; 并且
c A = e ^ ( Q C , Q D ) , 其中 Q C = g k 1 k 2 , Q D = H 1 &PartialD; k 1 ( k 2 - 1 - 1 ) ( ID ) ,
且k2k2 -1modp=1。
22.如权利要求21所述的用户设备,其中,
所述发送单元还用于向一个第三方设备发送所述子伪名Ppseu和一个用于标识所述PIM的标识符IDserver
并且其中所述用户设备还包括:验证单元,用于经由所述发送单元和所述接收单元与所述第三方设备进行交互来验证所述子伪名Ppseu
23.如权利要求22所述的用户设备,其中,所述验证单元用于通过与所述第三方交换零知识证明来验证所述子伪名Ppseu的有效性。
24.如权利要求23所述的用户设备,其中,所述验证单元用于经由所述接收单元从所述第三方设备接收一个查询消息,该查询消息是根据所述公共参数组和所述子伪名Ppseu生成的,并且表示为:
Figure FDA0000055130500000076
其中,t是Zp域内的随机数,即,t∈Zp
O B = e ^ ( g &PartialD; , Q A ) ;
Kses是由所述第三方设备选定的原始会话密钥;
Na是由所述第三方设备随机选出的查询内容;并且
Enc(Kses,Na)是利用所述原始会话密钥Kses对所述查询内容Na进行加密而得到的加密内容;
其中,所述验证单元包括:
会话密钥获取单元,用于根据接收到的所述查询消息,利用公式
Figure FDA0000055130500000081
计算一个会话密钥K*ses
解密单元,用于利用所述会话密钥K*ses对所述加密内容Enc(Kses,Na)进行解密,以得到解密内容Na*;以及
加密单元,用于根据预定规则选择一个与所述解密内容Na*相对应的应答内容Nb,并利用所述会话密钥K*ses对所选择的应答内容Nb进行加密,以得到应答消息Enc(K*ses,Nb);
并且其中,所述发送单元还用于向所述第三方设备发送所述应答消息Enc(K*ses,Nb)。
25.一种用户向其请求服务的第三方设备,所述第三方设备包括:
接收单元,用于从一个用户设备接收一个子伪名Ppseu以及一个标识身份管理器(PIM)的标识符IDserver
发送单元,用于向所述用户设备发送信息;
获取单元,用于根据所述标识符IDserver,从所述PIM获取公共参数组;以及
验证单元,用于基于所述公共参数组,经由所述发送单元和所述接收单元,通过与所述用户设备进行交互来验证所述子伪名Ppseu的有效性。
26.如权利要求25所述的第三方设备,其中,所述公共参数组为:
Figure FDA0000055130500000082
其中,p是素数,且
Figure FDA0000055130500000083
是Zp域中选出的随机数;
G1和G2是两个q阶模p群,其中q是素数;
Figure FDA0000055130500000084
是一个双线性映射且
Figure FDA0000055130500000085
G1×G1→G2
g是G1群中的一个随机生成子;并且
H2是单向哈希函数,且H2:G2→{0,1}*
27.如权利要求26所述的第三方设备,其中,所述验证单元用于通过与所述用户设备交换零知识证明来验证所述子伪名Ppseu的有效性。
28.如权利要求27所述的第三方设备,其中,所述验证单元包括:
选择单元,用于在Zp域内选择一个随机数t,选择一个原始会话密钥Kses以及一个查询内容Na,并利用所述原始会话密钥Kses对所述查询内容Na进行加密,以得到加密内容Enc(Kses,Na);
查询消息生成单元,用于利用所述随机数t、所述公共参数组、所述子伪名Ppseu以及所述加密内容Enc(Kses,Na),生成一个查询消息其中,
Figure FDA0000055130500000092
并用于经由所述发送单元将所述查询消息发送给所述用户设备;
解密单元,用于利用所述原始会话密钥Kses解密经由所述接收单元从所述用户设备接收到的应答消息Enc(K*ses,Nb),其中K*ses是所述用户设备根据所述查询消息计算出的会话密钥,Nb是所述用户设备按照预定规则根据由Enc(Kses,Na)解密出的查询内容选择的应答内容;以及
确定单元,用于确定解密出的应答内容Nb*与所述查询内容Na之间是否符合所述预定规则,当符合所述预定规则时,验证所述子伪名Ppseu为有效。
29.如权利要求28所述的第三方设备,其中:
所述发送单元还用于向所述PIM发送所述子伪名Ppseu;并且
所述接收单元还用于从所述PIM接收与所述子伪名Ppseu相对应的一个用户身份标识。
30.如权利要求25所述的第三方设备,其中所述第三方设备是医院中的医疗系统。
CN2009801406217A 2008-10-14 2009-10-13 生成和验证伪名的方法和装置 Expired - Fee Related CN102187618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009801406217A CN102187618B (zh) 2008-10-14 2009-10-13 生成和验证伪名的方法和装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200810169374.0 2008-10-14
CN200810169374 2008-10-14
CN2009801406217A CN102187618B (zh) 2008-10-14 2009-10-13 生成和验证伪名的方法和装置
PCT/IB2009/054498 WO2010044056A2 (en) 2008-10-14 2009-10-13 Method and apparatus for pseudonym generation and authentication

Publications (2)

Publication Number Publication Date
CN102187618A true CN102187618A (zh) 2011-09-14
CN102187618B CN102187618B (zh) 2013-11-27

Family

ID=42106983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801406217A Expired - Fee Related CN102187618B (zh) 2008-10-14 2009-10-13 生成和验证伪名的方法和装置

Country Status (6)

Country Link
US (1) US8683209B2 (zh)
EP (1) EP2359524B1 (zh)
JP (1) JP5580318B2 (zh)
CN (1) CN102187618B (zh)
RU (1) RU2512139C2 (zh)
WO (1) WO2010044056A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999400A (zh) * 2011-12-28 2014-08-20 仁荷大学校产学协力团 用于安全地共享数据的基于喜好的认证方式
CN108566275A (zh) * 2018-04-20 2018-09-21 中国联合网络通信集团有限公司 身份认证方法、装置及区块链节点

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5589746B2 (ja) * 2010-10-14 2014-09-17 富士通株式会社 連携装置、連携元装置、連携先装置、連携プログラム、および連携方法
US9202086B1 (en) * 2012-03-30 2015-12-01 Protegrity Corporation Tokenization in a centralized tokenization environment
EP3248325A1 (en) * 2015-01-22 2017-11-29 Entit Software LLC Session key repository
EP3145114A1 (en) * 2015-09-18 2017-03-22 Gemalto Sa Electronic voting using secure electronic identity device
US10104088B2 (en) 2016-09-28 2018-10-16 International Business Machines Corporation Traitor tracing for obfuscated credentials
KR101809976B1 (ko) * 2017-05-22 2017-12-18 전승주 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증방법
KR101809974B1 (ko) * 2017-05-22 2017-12-19 주식회사 에프엔에스벨류 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증시스템 및 보안인증방법
MY194026A (en) * 2017-12-26 2022-11-08 Mimos Berhad Pseudonymisation and reversal of personally identifiable information
CN112425117A (zh) * 2018-06-22 2021-02-26 华为国际有限公司 化名信任状的配置方法和装置
KR20210062279A (ko) * 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 이를 이용한 근거리 통신 장치의 사용자 식별 정보 획득 방법
US11849043B2 (en) * 2020-11-13 2023-12-19 Sony Group Corporation Zero-knowledge authentication based on device information
CN113569261B (zh) * 2021-07-30 2024-05-14 华北电力科学研究院有限责任公司 一种电网数据的处理方法、装置、电子设备和存储介质
WO2023161500A1 (en) * 2022-02-28 2023-08-31 The European Union, Represented By The European Commission Pseudonymisation method and computer system for performing the method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE152539T1 (de) * 1994-02-08 1997-05-15 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren datenverarbeitungseinheiten
JP3435677B2 (ja) * 1995-07-17 2003-08-11 日本電信電話株式会社 追跡可能な電子現金実施方法及びその装置
US7587368B2 (en) * 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
US7340438B2 (en) * 2001-05-21 2008-03-04 Nokia Corporation Method and apparatus for managing and enforcing user privacy
ATE465571T1 (de) * 2001-08-13 2010-05-15 Univ Leland Stanford Junior Systeme und verfahren zur verschlüsselung auf identitätsbasis und damit zusammenhängende kryptografische techniken
US20030236980A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Authentication in a communication system
US6886096B2 (en) * 2002-11-14 2005-04-26 Voltage Security, Inc. Identity-based encryption system
US20050193198A1 (en) * 2004-01-27 2005-09-01 Jean-Michel Livowsky System, method and apparatus for electronic authentication
WO2005116794A1 (en) * 2004-05-28 2005-12-08 Koninklijke Philips Electronics N.V. License management in a privacy preserving information distribution system
GB0428543D0 (en) * 2004-12-31 2005-02-09 British Telecomm Control of data exchange
WO2006075146A1 (en) * 2005-01-12 2006-07-20 British Telecommunications Public Limited Company Radio frequency identification tag security systems
CN1937496A (zh) * 2005-09-21 2007-03-28 日电(中国)有限公司 可延展伪名证书系统和方法
US9137012B2 (en) * 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
CN1933400A (zh) * 2006-09-29 2007-03-21 上海苏腾信息科技有限公司 不联网的无线动态口令身份认证系统和方法
US8621234B2 (en) * 2007-12-28 2013-12-31 Koninklijke Philips N.V. Information interchange system and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999400A (zh) * 2011-12-28 2014-08-20 仁荷大学校产学协力团 用于安全地共享数据的基于喜好的认证方式
CN103999400B (zh) * 2011-12-28 2016-10-12 仁荷大学校产学协力团 用于安全地共享数据的基于喜好的认证方式
CN108566275A (zh) * 2018-04-20 2018-09-21 中国联合网络通信集团有限公司 身份认证方法、装置及区块链节点

Also Published As

Publication number Publication date
RU2512139C2 (ru) 2014-04-10
EP2359524B1 (en) 2016-08-31
RU2011119499A (ru) 2012-11-27
US20110202767A1 (en) 2011-08-18
WO2010044056A2 (en) 2010-04-22
JP5580318B2 (ja) 2014-08-27
JP2012505588A (ja) 2012-03-01
CN102187618B (zh) 2013-11-27
WO2010044056A3 (en) 2010-09-16
US8683209B2 (en) 2014-03-25
EP2359524A2 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
CN102187618B (zh) 生成和验证伪名的方法和装置
CN111835500B (zh) 基于同态加密与区块链的可搜索加密数据安全共享方法
Ramu A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Tong et al. Cloud-assisted mobile-access of health data with privacy and auditability
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
CN103281377A (zh) 一种面向云的密文数据存储与查询方法
Liu et al. Protecting mobile health records in cloud computing: A secure, efficient, and anonymous design
CN108632385B (zh) 基于时间序列的多叉树数据索引结构云存储隐私保护方法
CN103780607A (zh) 基于不同权限的重复数据删除的方法及其系统
CN115242518A (zh) 混合云环境下医疗健康数据保护系统与方法
Li et al. Traceable and controllable encrypted cloud image search in multi-user settings
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN114500069A (zh) 一种电子合同的存储及共享的方法与系统
Varri et al. FELT-ABKS: Fog-enabled lightweight traceable attribute-based keyword search over encrypted data
WO2022242572A1 (zh) 一种个人数字身份管理系统与方法
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
Zhao et al. A sanitizable access control with policy-protection for vehicular social networks
Luo et al. Accountable data sharing scheme based on blockchain and SGX
Chen et al. A hybrid encryption scheme with key-cloning protection: user/terminal double authentication via attributes and fingerprints
AT&T
JPWO2018043466A1 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
Cao et al. Multiuser access control searchable privacy‐preserving scheme in cloud storage
Ding et al. Secure Multi‐Keyword Search and Access Control over Electronic Health Records in Wireless Body Area Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131127

Termination date: 20181013

CF01 Termination of patent right due to non-payment of annual fee