首页 / 专利库 / 软件 / 中间件 / 消息代理 / 一种基于属性的匿名认证方法及系统

一种基于属性的匿名认证方法及系统

阅读:0发布:2020-12-18

专利汇可以提供一种基于属性的匿名认证方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于属性的匿名认证方法,本方法为:1)可信方TP根据设定的安全参数,生成一主密钥x和系统公开参数;2)用户U向TP注册提交属性,发起属性凭证签发 请求 ;3)TP验证用户U所拥有的属性,并根据U的属性、主密钥x和系统公开参数为其颁发属性凭证;4)用户U向服务提供方SP发起 访问 请求;5)SP查找该访问请求对应的访问策略返回给该用户U;6)用户U根据该访问策略选择要使用的属性,然后利用该属性凭证和私钥r计算一匿名凭证,并发送给SP;7)SP验证该匿名凭证,若验证通过并满足该访问策略,则接受该访问请求,提供对应的服务给该用户。本发明保证了用户的隐私性,支持更灵活的 门 限属性选择性出示方案。,下面是一种基于属性的匿名认证方法及系统专利的具体信息内容。

1.一种基于属性的匿名认证方法,其步骤为:
1)可信方TP根据设定的安全参数,生成一主密钥x和系统公开参数;其中,主密钥x为可信方TP的私钥;
2)用户U向TP注册提交属性,发起属性凭证签发请求
3)TP验证用户U所拥有的属性,并根据U的属性、主密钥x和系统公开参数为其生成并颁发属性凭证cre;
4)用户U向服务提供方SP发起访问请求;
5)服务提供方SP查找该访问请求对应的访问策略,返回给该用户U;
6)用户U根据该访问策略选择要使用的属性,然后利用该属性凭证cre和一用于生成匿名凭证的私钥r计算一匿名凭证,并发送给SP;
7)服务提供方SP验证该匿名凭证,若验证通过并满足该访问策略,则接受该访问请求,提供对应的服务给该用户。
2.如权利要求1所述的方法,其特征在于生成所述属性凭证cre的方法为:可信方利用概率多项式时间算法,利用用户输入的属性集,主密钥x和系统公开参数,生成所述属性凭证。
3.如权利要求1所述的方法,其特征在于生成所述匿名凭证的方法为:用户获取可信方发布的系统公开参数,然后通过概率多项式时间算法根据系统公开参数、消息、用户的属性凭证、一用于生成匿名凭证的私钥r以及选择要使用的属性,生成所述匿名凭证。
4.如权利要求1所述的方法,其特征在于服务提供方SP验证该匿名凭证的方法为:服务提供方利用确定性多项式时间算法,根据系统公开参数、消息、谓词以及对消息的签名验证所述匿名凭证。
5.如权利要求1所述的方法,其特征在于可信方利用概率多项式时间算法,根据可信方设定的安全参数,生成主密钥x和系统公开参数。
6.如权利要求1~5任一权利要求所述的方法,其特征在于所述主密钥x和系统公开参的生成方法为:
61)可信方设置两个阶为p的素数阶循环群 和 ,g为 的生成元, 为
到 上的双线性映射;
62)设定属性凭证中可包含的最大属性个数为n,然后为每个可能用到的用户属性i分配属性值ωi,并另外选择n-1个冗余属性dj组成一冗余属性集D;其中每一冗余属性dj不与用户属性重复;
63) 随 机 选 择 中 生 成 元 g,h,随 机 选 择 作 为 TP 的
私 钥,即 主 密 钥,利 用 概 率 多 项 式 时 间 算 法 生 成 公 共 参 数
7.如权利要求6所述的方法,其特征在于所述属性凭证的生成方法为:当用户U申请与属性集合ΩU∈Ω的属性凭证时,其中Ω为所有属性的集合,ΩU为用户U的属性集合;
可信方首先检验用户U申请时提交的属性中是否包含冗余属性,如果包括则拒绝生成属性凭证,否则可信方随机选择一生成元 ,然后对ΩU中第i个属性的属性值ωUi,计算中间值 从而计算输出属性凭证cre={gU,{Ui}(ωUi∈ΩU)}。
8.如权利要求7所述的方法,其特征在于生成所述匿名凭证的方法为:
81)当用户要访问服务提供方的一项服务时,用户通过用户代理UA从该用户属性集合中选择一个能够满足该服务对应的服务策略的属性子集 其中该
服务策略为:用户属性集合与该服务对应属性集A中的k个属性中的至少t个属性一致;
82)用户选择集合D={di}中的前n+t-k-1个元素,将这些元素的集合记为Dn+t-k-1;
83)用户 使用其 属性凭 证cre中的属 性值Ui计算
84)随 机 选 择 ,作 为 用 于 生 成 匿 名 凭 证 的 私 钥r,计 算得到所述匿名凭证(π1,π2,π3,π4)。
9.如权利要求1所述的方法,其特征在于用户端将用户提交的每一属性分配一个由可信方设定属性标识,将用户要申请的属性和属性值采用对应的标识和属性值发送给可信方。
10.一种基于属性的匿名认证系统,其特征在于包括通过网络相互连接的可信方TP、用户代理UA以及服务提供方SP;其中,
可信方负责认证用户,根据设定的安全参数,生成一主密钥x和系统公开参数;其中,主密钥x为可信方TP的私钥;验证用户U所拥有的属性,并根据U的属性、主密钥x和系统公开参数为其生成并颁发属性凭证cre;
用户代理用于用户U向可信方注册属性,以及属性凭证的申请、接收、存储、查询,向服务提供方SP发起访问请求,并生成匿名凭证出示服务提供方;
服务提供方对用户代理出示的匿名凭证进行验证,验证通过并满足对应的访问策略,则给予相应的访问权限。

说明书全文

一种基于属性的匿名认证方法及系统

技术领域

[0001] 本发明属于计算机技术与信息安全领域,涉及计算环境下对用户访问服务行为的隐私进行保护以及防止隐私泄露的方法,具体表现为一种基于属性的匿名认证方法及系统。

背景技术

[0002] 随着互联网以及移动互联网的发展,人们的日常生活对网络服务的依赖程度越来越高,网络服务开始涉及衣食住行的各个方面。尤其是近几年云计算概念的提出,使得网络服务汇集到互联网上,电子政务,电子商务,电子医疗,各种企业级应用管理系统广泛应用,网上阅览,购物,社交,游戏等个人消费行为也越来越多。现实生活中的许多活动并不需要出具身份证明,而网络应用中的身份管理系统却要求用户进行身份认证,并严格约束和监控用户访问系统或应用。因此用户在网络活动中的行为,喜好等隐私信息可能会在认证身份时泄露,被服务提供商的审计功能所追踪甚至分析,使用户的利益受到伤害,已经有越来越多的人意识到,这已经严重威胁到用户的隐私,如何避免隐私泄露成为当前网络发展亟待解决的问题。
[0003] 目前身份认证的一项重要技术是基于X.509体系的数字证书体系,但是以X.509公钥证书体系及网络身份认证技术在隐私保护方面存在很多险:第一,在注册RA阶段需要用户提交身份信息;第二,公钥证书可以公开获取,其中包含用户信息;第三,公钥目录和撤销列表会泄露用户的某些隐私信息;第四,进行认证时身份是完全公开的。传统的认证过程,实际上是身份识别与认证的结合,这样就有过多的用户信息提供给了服务提供商,造成了用户隐私的泄露,给用户带来安全威胁。而实际应用场景中,服务提供商需要知道是用户是否具有访问服务的资格,而不是用户具体的身份信息。
[0004] 因此对于用户的隐私保护,匿名凭证及其认证技术的研究成为一个热点,匿名认证的核心思想是在认证过程中将用户的资格与身份识别分开,即在认证过程中只验证用户是某一集合内的成员,而不泄露其具体身份。传统的匿名认证方案如环签名、群签名等,是指用户可以根据具体场景的要求,向服务提供者证明其拥有的身份凭证属于某个特定的用户集合(有资格访问服务的集合),但服务提供者无法识别出用户究竟是该特定用户集合中的哪一个具体用户,因此该技术是通过对用户身份的隐藏来实现个人隐私保护。然而随着基于属性签名等具有隐私保护性质签名技术的出现和发展,为匿名认证方案的设计提出了一种新的思路。基于属性的签名(Atrribute Based Signature,ABS)中用户的密钥中包含若干属性信息,之后用户可使用其私钥对消息进行签名。与环签名类似,ABS方案生成的签名可被验证是满足相关属性组合的用户所生成,但无法确定签名的具体生成者。ABS方案是以属性为中心的匿名凭证及认证体系架构,把用户色、关系、个人信息等抽象成属性,服务方可根据用户属性制定资源访问控制策略;而用户方面也可以建立自己的安全策略,设置是否允许属性提取,通过这种方式实现基于属性的用户匿名访问。由于ABS签名方案本身已经实现了用户匿名性与对属性的证明,因此可以较为容易的转化为匿名认证方案。与传统的匿名认证方案相比,ABS方案具有较高的效率(在一定条件下限ABS方案可实现常数复杂度的签名长度和校验过程,其计算代价与消息长度都要远远小于类似的匿名认证方案),且可以证明更复杂的安全策略(门限等)。综上所述,研究基于ABS等新型签名方案的匿名凭证方案,也是匿名认证证系统可行的研究方向。
[0005] 目前,已经有一些研究项目将匿名认证相关技术作为研究的重点内容,包括Oasis组织的shibboleth项目和自由联盟的Liberty项目等,但这些项目的核心技术是在通信过程中使用假名,使第三方无法获取用户的个人信息,然而服务提供方依然能够获取用户的真实身份,并能够将用户行为进行关联,从而破坏用户的个人隐私。,本发明中服务提供方只能获取服务所需的属性,而获取不到其他属性,从而无法进行活动关联,进而无法获得用户真实身份。

发明内容

[0006] 本发明的目的之一在于克服现有技术中存在的问题,提供一种基于属性的匿名认证方法及系统。具体的说,本发明包括以下两个重要的方面:第一设计了一种基于属性的签名的匿名认证算法;第二设计了一种基于属性的匿名认证系统。
[0007] 一、基于属性的匿名认证方法
[0008] 本发明的目的在于提供一种基于属性的匿名认证系统来加强对用户的隐私保护,通过可信方认证用户并为用户颁发属性凭证,用户向服务方出示属性,并由服务方验证属性凭证的方式来完成认证过程。本发明的基于属性的匿名认证方法主要包括一个基于属性的签名方案,匿名凭证的出示和验证系统为运行匿名认证协议的系统提供匿名凭证的出示和验证功能,提供了匿名凭证出示与验证算法的实现,可支持对用户属性的门限断言出示。
[0009] 属性出示方案的基本性质:
[0010] ●匿名性
[0011] ●不可关联性
[0012] ●属性的选择出示:应用无法获得与策略无关的属性信息
[0013] 该签名方案包含三个主要的算法,各算法的功能如下:(此处仅简单介绍各算法的功能,将在具体实施方式中详细说明算法的参数及计算过程)
[0014] A.System setup算法:该算法是由属性权威(即可信方)完成的概率多项式时间算法,算法输入可信方定义的安全参数(安全参数由可信方选取,每次运算的安全参数不同,则产生的主密钥和公开参数不同,比如根据时间选取),输出主密钥和系统公开参数,主密钥由可信方保存,系统公开参数则对外公开,使其他方容易获取(比如公布在官方网站);
[0015] B.User Grant算法:如图2所示,该算法是由属性权威(即可信方)完成的概率多项式时间算法,算法输入一个用户的属性集(用户的属性集合是用户在可信方注册,可信方通过线下的方式验证得到),主密钥和系统公开参数,算法输出对应属性的私钥,组成属性凭证,并通过可信方与用户之间的秘密信道(比如线下的方式,现场交接等)安全的传送给该用户;同时可信方为用户生成一对公私钥对,并通过安全的信道发送给用户。
[0016] C.User Prove算法:如图3所示,该算法是由用户完成的概率多项式时间算法,用户首先获取可信方发布的公开参数,算法输入系统公开参数(可信方公布)、消息(与所要访问的服务相关的消息)、用户的属性凭证、秘密随机数r(用于生成匿名凭证的私钥),以及目标服务要求访问该服务的用户所需具备的属性条件(比如该服务的用户需要具备所列n个属性中的k个属性,该信息从服务提供方获取),输出匿名凭证,然后将生成的匿名凭证发送给服务提供方;
[0017] D.User Verify算法:如图4所示,该算法是由验证者即服务提供方完成的确定性多项式时间算法,服务提供方首先获取可信方公布的公开参数,当需要对用户的访问资格进行验证时,调用该算法,输入为系统公开参数、消息(与用户所要访问的服务的相关消息)、属性条件(比如该服务的用户需要具备所列n个属性中的k个属性)以及匿名凭证,根据UserVerify算法(具体实施方案中详细描述算法)进行验证,并输出判断值“接受”或者“拒绝”。
[0018] 二、基于属性的匿名认证系统
[0019] 系统主要的参与方由可信方(Trust Provider,TP),用户代理(User Agent,UA)(用户通过用户代理与可信方及服务提供方进行交互),以及服务提供方(Service Provider,SP)三部分,其中可信方TP会对用户属性进行审核,并负责为用户颁发属性凭证;用户代理UA代表用户进行相应的计算,包括用户属性的映射,属性凭证计算,凭证证明计算等。服务提供方SP会定义访问其服务用户所需要具备的属性,获取用户的属性凭证,验证用户的凭证等操作。
[0020] 其构架如图1中所示,图中为一个TP,一个用户U(用户通过UA与TP或SP通信),一个服务提供方SP,应用过程中必然是多个用户U,多个服务提供方SP,当然也可以存在多个可信方TP。系统的主要组成:凭证签发服务,用户代理插件,应用服务三大部分。各部分的主要组成如下:
[0021] A.凭证签发服务
[0022] ●用户身份验证
[0023] ●凭证签发
[0024] B.用户代理插件
[0025] ●凭证请求
[0026] ●凭证管理
[0027] ●凭证出示
[0028] C.应用服务
[0029] ●策略管理
[0030] ●凭证验证
[0031] 凭证签发服务运行在可信方TP端,其中用户身份验证功能,使用公钥加密技术,确认用户有合法的公私密钥对(公私钥对由可信机构比如公安局,根据用户的身份为用户生成),验证用户的合法性;凭证签发功能是在用户向可信方提交属性,并提出属性凭证请求,由可信方对用户所申请的属性进行行政上的审核与验证,验证通过之后,为用户签发对应的属性凭证,该属性凭证是对用户经过认证的属性进行的处理,可以用来进行加密操作。
[0032] 用户代理插件运行在用户端,代表用户完成一些复杂的运算以及匹配。它首先会将用户提交的申请认证的属性分配一个属性标识(分配方法首先由TP规定,并使得其他方容易获取,目的是将属性转换为可以进行加密操作的整数,比如将“age=1”映射为“1”),代替用户向可信方提出属性凭证的申请请求,将用户要申请的属性对应的值发送给TP。凭证管理功能,是将用户所有已经申请到的属性凭证维护一个列表,执行对属性凭证的查找,添加,删除,替换等操作。凭证出示功能是在获取到服务提供方SP要求提供的属性之后,挑选出相应的属性凭证,根据SP的要求对凭证的内容进行选择性隐藏属性计算后,作为一个匿名凭证出示给服务提供方。当对服务提供方发出的挑战(随机数挑战)后根据挑战值的不同计算响应值,向SP证明用户拥有隐藏的属性。
[0033] 应用服务主要是SP端,策略管理功能,主要是维护访问服务所需要的属性策略;凭证验证是对用户端发送过来的属性凭证,根据对应服务的访问策略(服务不同,访问策略不同,均保存在SP端),以及TP公开参数对进行验证,(具体的验证算法在实施方案中详细说明),判断是否满足访问策略的要求。若通过验证,则用户通过该服务的认证。
[0034] 与现有技术相比,本发明的优势主要体现在:
[0035] 1)采用基于属性签名的匿名凭证算法,与现有通用匿名凭证系统相比,用户可以选择性隐藏属性,以可支持更灵活的门限属性选择性出示方案。
[0036] 2)本发明中的属性签名长度为常数,因此匿名认证协议传输的消息长度为常数,提高了协议的通信效率。
[0037] 3)在保证隐私性的同时,使用基于属性的签名技术保证了凭证的不可伪造性和不可出借性质,为实现用户为中心的高隐私高安全性的认证与访问控制过程提供了保证。
[0038] 4)对基于属性匿名凭证方案中具体算法实现与框架相对独立,可在统一框架下进行便捷的扩展,从而支持更多种类的算法。
[0039] 5)不可连接性性,就是说服务或者多个服务一起将用户的活动关联起来是计算困难的,也就是说一个用户无论它访问一个服务多少次,都将保持匿名性。
[0040] 6)最小特权,服务或者多个服务一起计算用户除该服务所需属性以外的属性是困难的。也就是说,每次认证用户的过程,服务只能获取该会话需要并且用户授权出示的属性,而不能获取用户的其他属性信息。附图说明
[0041] 图1匿名凭证体系结构图;
[0042] 图2匿名认证系统凭证签发协议;
[0043] 图3匿名认证系统凭证出示协议;
[0044] 图4匿名认证系统模接口

具体实施方式

[0045] 下面通过具体实施例对本发明作更详细的说明。其中实施例1给出为该系统所涉及的基于属性签名的匿名凭证算法,实施例2给出匿名凭证系统的具体运作方式。
[0046] 实施例1.基于属性的匿名认证算法
[0047] 下面给出一个本发明的基于属性的签名算法的具体实例:
[0048] 设 和 是阶为p的素数阶循环群(t用来表示 ,说明 和 是两个不同的群,即本发明需要设定两个群,用角标t来区分两个不同的素数阶循环群),g为 的生成元。为 到 上的双线性映射。
[0049] A.System setup算法
[0050] 该算法由可信方执行,首先定义凭证中可包含的最大属性个数n,然后为每个可能用到的用户属性i分配属性值ωi(根据预先定义的分配方式),并另外选择n-1个冗余属性dj组成冗余属性集D,(冗余属性的分配需要保证不会与用户属性重复,如果将要构造凭证中的用户属性不足n个时,可信方会选择冗余属性来补充至n个),这些冗余属性不会被颁发给任何用户。接下来随机选择 中生成元g,h,随机选择 作为私钥,即主密钥,计算 作为系统的公共参数的一部分,则方案TP最后生成公共参数为 TP的
主密钥为x。(公共参数包括用户属性集合Ω和冗余属性集合D,冗余属性集合D需要对外公布)
[0051] B.User Grant算法
[0052] 当用户U申请与属性集合ΩU∈Ω的属性凭证时(其中Ω为所有属性的集合,ΩU为用户属性集合),TP执行以下操作:
[0053] 首先检验
[0054] 若否,则拒绝执行,也就是说当用户申请时提交的属性中包含冗余属性,则拒绝执行。
[0055] 若交集为空,则TP随机选择一生成元 ,然后对ΩU中第i个属性的属性值ωUi(对每个属性都计算),计算中间值 计算输出属性凭证cre={gU,{Ui}(ωUi∈ΩU)}。
[0056] C.User Prove算法
[0057] 当用户要访问一项服务时,需要证明其拥有的属性满足SP所定义的对应于该服务的策略,此处的策略为门限策略,即一个应用服务用户属性必须满足:与属性集A中的k个属性中的至少t个属性一致,即Γ=(t,A)(1≤t≤k=|A|≤n,|A|∩ΩU|≥t),用户代理UA从其属性集合中选择一个能够满足SP策略的属性子集然后选择集合D={di}中的前n+t-k-1个元素,将这些元素的集合记为Dn+t-k-1。用户可使用其凭证cre中的Ui计算(每个属性在cre中都有一个Ui值,对应每个属性的凭证值):
[0058]
[0059] 接下来,由于|Dn+t-k-1∩(A-Ω′U)|=(n+t-k-1)+(k-t)=n-1,因此用户可使 用 计 算(其中A1,A2,A3是计算的中间值)。最后,UA随机选择秘密值 ,用于计算
将匿名凭证(π1,π2,π3,π4)发送给SP。
[0060] D.User Verify算法
[0061] 验证者SP获取(π1,π2,π3,π4)后,首先确认gU=π4是否成立,(gU是用户匿名凭证中的第一个元素,π4是C步骤中的UA发送给SP的匿名证据中的最后一个元素),若是,则说明该匿名凭证的用户属于已签发凭证的用户集合,则使用 计算并验证: 以及e(h,π2)=e(g,π3)是否
成立,若成立,则说明用户所拥有的属性满足门限策略Γ。
[0062] 实施例2.基于属性的匿名认证系统
[0063] 本实施例旨在提供本发明基于属性的匿名认证系统的一个具体实例。
[0064] 该系统包含三个主体:可信方(Trust Provider,TP),用户代理(User Agent,UA),以及服务提供方(Service Provider,SP)三部分。三部分之间通过网络连接,可信方负责认证用户,并为用户颁发属性凭证。用户方的主要工作由用户代理来完成,主要是属性凭证接收,存储,查询,以及产生验证断言,协助完成应用服务提供方的验证。用户在请求服务之前需要向可信方申请属性凭证,请求服务的时候只需要出示该应用服务提供方需要被认证的属性,比如网游公司仅需要用户证明年龄大于法定年龄,国别属于指定的国家等。服务提供方对用户出示的属性进行验证,验证通过则给予相应的访问权限。
[0065] 具体的实施过程为四段:系统初始化,凭证签发协议,凭证出示协议以及凭证验证协议。系统初始化过程为协议的运行产生必须的公共参数。凭证签发过程主要有可信方TP和用户共同协商完成。凭证出示协议由用户与服务提供方SP共同完成。
[0066] 本实施例基于如下的情景设定:用户U获取可信方TP颁发的属性凭证后,访问应用提供方SP的资源,SP指定访问策略Γ,若U满足该访问策略则允许用户访问,具体过程如下:
[0067] 1)TP运行实施例1中的setup算法,保存生成的主密钥,并将系统公开参数以其他方容易获取的方式发布出来
[0068] 2)用户U通过用户代理UA向TP发起属性凭证签发请求,即注册提交属性;
[0069] 3)TP与U执行认证协议,验证用户所拥有的属性,并根据U的属性、主密钥x和系统公开参数为其颁发属性凭证cre;
[0070] 4)用户U通过用户代理UA向服务提供方SP发起访问请求,包含所要访问的服务的标识;
[0071] 5)应用服务提供方SP查找用户访问的资源所需的访问策略(策略是预先定制好的,且不同的服务所需的策略不同,此处SP只需查找对应的策略,),并返回给用户U的代理UA;
[0072] 6)用户代理提示用户U选择要使用的属性,用户根据该属性使用自身的属性凭证和一用于生成匿名凭证的私钥r计算匿名凭证(是对TP颁发的属性凭证进行处理,使得SP能解密目标服务所要求的属性,而不能得到属性凭证中的其他属性的具体值,但是可以知道已经得到TP认证,具体的算法在实例1中C算法),并通过用户代理发送给SP;
[0073] 7)应用服务提供方SP验证用户的匿名证明,若验证通过并满足该访问策略,则将资源返回给用户(具体的算法在实例1中D算法)。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈