使用匿名柔性凭证的用于分布式授权的方法和装置的制作方法

文档序号:7656393阅读:79来源:国知局
专利名称:使用匿名柔性凭证的用于分布式授权的方法和装置的制作方法
技术领域
本发明一般地涉及计算机通信网络安全,更具体地,涉及能够保护隐 私的用于分布式授权的通信方法、系统和装置。
背景技术
随着各种计算机通信网络(在其上已经开展了各种各样的申请)的激 增,在基于访问控制(授权)的应用中,消费者隐私的保护成为刻不容缓 的挑战。逻辑上,认证在授权之前,因为认证确保了用户是他/她所宣称的用 户,而授权使用户基于其身份被允许访问各种服务。当前的产业实践,例如访问控制表(Access Control List, ACL),通过从本地数据库获取用户 的凭证,然后检查出用户的凭证满足与资源相关的给定的访问控制策略, 从而实现授权。由于为了获取用户的凭证,必须向资源保护者公开用户的 唯一身份,因此这种做法是以牺牲用户隐私为代价来实现安全授权。如图16所示,作为各种参与者,授权系统具有伪名机构(Pseudonym Authority, PA)、用户、资源持有者(Resource Holder , RH)和资源保 护者(Resource Protector, RP) 。 PA例如是耦合到网络的管理系统内的伪 名使用的服务器等,RH例如是耦合到网络的具有内容数据、计算资源等 的工作站或提供某些服务的服务器等,RP例如是耦合到网络的控制对资 源的访问的登陆服务器等。用户可以通过例如耦合到网络的个人计算机 (PC)或终端来使用伪名进行资源访问。伪名是不表明用户真实身份的用 户标识。PA担当受信第三方,其能够向用户授予伪名,追查可疑用户,并吊 销不良用户。RH管理若干资源,并向用户授予访问权利,即凭证。RP保护资源,并验证用户的凭证。应当注意,用户可以向RP表明由 不同RH颁发的凭证,这在授权系统中是普遍的做法。举例说明,如果用户既是A公司的黄金客户(有第一RH的凭证),又是B公司的黄金客户 (有第二RH的凭证),则(第三RH的RP)给予其对C公司资源的黄金 成员访问权。希望实现具有如下特点的高隐私性的授权系统(1) 不可关联(unlinkable)的匿名性。用户与一个或多个RH多次 交互之后, 一个RH或多个RH难以探知用户的身份。并且,在用户与一 个或多个RP多次交互之后, 一个RP或多个RP难以探知用户的身份。(2) 可伸縮(scalable)。用户匿名地向RP表明(一个或多个)凭证 并使RP信服,而不用在线地涉及第三方。特别地,对于用户和(一个或 多个)RP之间的每次交互,都不需要(一个或多个)RH重新颁发凭证。(3) 精细(fine-grained)的匿名性。取代总是向(一个或多个)RP 表明全部凭证,用户可以选择其凭证的任何部分来表明给(一个或多个) RP。(4) 精细的可吊销性。可以基于每用户每凭证来进行(一个或多 个)凭证的吊销。用户的任何访问权,即用户的任何凭证,可以被吊销, 而不影响该用户的其他凭证。(5) 恒量的高代价计算。当实现了精细的匿名性时,高代价的密码 计算的数量与被选择要表明的凭证的数目不相关。例如,标量乘法、模指 数运算、双线性对计算一般被认为是高代价的。以及,当实现了精细的可 吊销性时,高代价的密码计算的数量与被选择要验证是否被吊销的凭证的 数目不相关。(6) 可扩充。在授权系统扩充为容纳新的RH,或者现有的RH扩充 为管理新的资源的情况中,不需要改变用户已有的凭证。特别地,应当避 免任何已颁发凭证的重新颁发。在D. Chaum, J. H. Evertst, A Secure and Privacy-protecting Protocol for Transmitting Personal Information Between Organizations. In Proc. of Advances in Cryptology — Crypto,86, LNCS vol. 263, pp. 118~167, 1986中,首先介绍了这样的情形多个用户向资源持有者请求凭证,然后匿名地向 资源保护者出示凭证。在该文献和下面提到的文献中,使用了术语"组织(organization)",来表示资源持有者和资源保护者的逻辑组合。Chaum等提出的上述方案的基础是在所有的交互中都涉及受信第三 方。由 Chen (参见 L. Chen, Access with Pseudonyms, In Proc. of International Conference on Cryptography: Policy and Algorithms, LNCS vol. 1029, pp. 232~243, 1995)禾口 Lysyanskaya等(参见A. Lysyanskaya, R. Rivest, A. Sahai, S. Wolf, Pseudonym Systems. In Proc. of Selected Areas in Cryptography, LNCS vol.1758, pp. 184~199, 1999)提出的后来的方案也是 依赖于在所有的交互中都要被涉及的受信第三方。为了实现不可关联性, 不可避免地需要使得资源持有者为用户和资源保护者之间的每次交互都重 新颁发凭证。因此,这些匿名凭证方案不是可伸縮的。另外,Camenisch等也提出了两种匿名凭证方案(参见J. Camenisch, A. Lysyanskaya, An Efficient System for Non-transferable Anonymous Credentials with Optional Anonymity Revocation, In Proc. of Advances in Cryptology — EuroCrypto,Ol, LNCS vol. 2045, pp. 93~118, 2001禾口 J. Camenisch, A. Lysyanskaya. Signature Schemes and Anonymous Credentials from Bilinear Maps, In Proc. of Advances in Cryptology — Crypto'04, LNCS vol. 3152, pp. 56~72, 2004),其实现了不可关联的匿名性和可伸縮性。但是,在前述各种传统方案中,资源持有者可以管理的资源是由资源 持有者的公钥中的一些参数确定的。对参数的修改必然导致要刷新已经颁 发的凭证。因此,没能实现可扩充性。并且,在传统方案中,要么用户的凭证被资源持有者捆绑在一起,用 户必须向资源保护者表明全部凭证(如图17所示),要么高代价的密码 计算的数量是与所表明的凭证的数目成比例的。因此,没能实现精细的匿 名性和恒量的高代价计算。另外,在传统方案中,为了吊销用户的一个访问权,唯一的办法是吊 销该用户的全部访问权,即,使得该用户的全部凭证都无效,然后向该用 户重新颁发凭证,如图17所示。因此,没能实现精细的可吊销性。发明内容鉴于上述问题,作出了本发明。根据本发明的一个方面,提供了一种用于通信系统的方法,包括颁 发根伪名;获取一个或多个资源凭证;从根伪名生成第一派生伪名;从所 述一个或多个资源凭证中选择一组资源凭证;根据该组资源凭证,生成柔 性凭证;利用第一派生伪名和柔性凭证作出访问请求;以及,在验证第一 派生伪名和柔性凭证之后,准许该访问请求。根据本发明的另一个方面,提供了一种在通信系统中管理伪名的装置 (PA),包括系统参数建立单元,被配置为建立系统参数;身份验证单 元,被配置为执行用户身份验证;用户伪名密钥分配单元,被配置为为用 户分配用户伪名密钥;和,根伪名生成单元,被配置为基于用户伪名密 钥,生成要颁发给用户的根伪名。根据本发明的另一个方面,提供了一种在通信系统中管理伪名的方 法,包括当接收到来自用户终端的用户请求时,验证用户身份;如果用 户身份通过验证,则为该用户分配用户伪名密钥;以及,基于用户伪名密 钥,生成根伪名。根据本发明的另一个方面,提供了一种在通信系统中管理一个或多个 资源的凭证的装置(RH),包括资源密钥生成单元,被配置为为每个资 源生成资源私钥和资源公钥;伪名验证单元,被配置为验证用户的派生伪 名;和,凭证信息生成单元,被配置为基于用户的派生伪名,生成要发送 给该用户的用户终端的关于资源的凭证信息。根据本发明的另一个方面,提供了一种在通信系统中管理一个或多个 资源的凭证的方法,包括为每个资源生成资源私钥和资源公钥;当接收 到来自用户终端的用户请求时,验证用户的派生伪名;以及,如果验证通 过,则基于派生伪名,生成要发送给该用户终端的关于资源的凭证信息。根据本发明的另一个方面,提供了一种通信系统中的用户终端,包 括根伪名获取单元,被配置为获取根伪名;资源凭证获取单元,被配置 为获取一个或多个资源凭证;派生伪名生成单元,被配置为从根伪名生成 第一派生伪名;和,柔性凭证生成单元,被配置为根据所选择的一组资源凭证,生成柔性凭证。其中,用户终端使用第一派生伪名和柔性凭证来获 得对与该组资源凭证相对应的一组资源的访问。根据本发明的另一个方面,提供了一种用于通信系统中的用户终端的 方法,包括获取根伪名;获取一个或多个资源凭证;从根伪名生成第一 派生伪名,并根据所选择的一组资源凭证,生成柔性凭证;以及,使用第 一派生伪名和柔性凭证来获得对与该组资源凭证相对应的一组资源的访 问。根据本发明的另一个方面,提供了一种在通信系统中管理对一个或多 个资源的访问的装置(RP),包括伪名验证单元,被配置为验证用户的 派生伪名;柔性凭证验证单元,被配置为验证用户的柔性凭证;和,授权 单元,被配置为基于伪名验证单元和柔性凭证验证单元的验证结果,授权 用户访问与柔性凭证相对应的一组资源。根据本发明的另一个方面,提供了一种在通信系统中管理对一个或多 个资源的访问的方法,包括验证用户的派生伪名;验证用户的柔性凭 证;以及,基于派生伪名和柔性凭证的验证结果,授权用户访问与柔性凭 证相对应的一组资源。本发明还提供了具有机器可读介质的制品,该机器可读介质上记录有 能够使得处理器执行根据本发明的方法的指令。根据本发明的方案,用户在被授予资源凭证之后,不论多少次向资源 保护者出示其凭证,都可以保持匿名性,而不需要再次联系资源持有者。 并且,在PA的公钥被确定和公布之后,PA可以容纳的RH的数量可变。 在资源持有者的公钥被确定和公布之后,资源持有者可以管理的资源的数 量可以不固定,而不需改变已经颁发的凭证。另外,用户可以有选择地向资源保护者出示其全部访问权的集合的任 何一部分。并且,用于用来证明其任何一部分访问权的计算开销与要被证 明的权利的数量无关(与仅证明一个权利的计算开销相同)。另外,伪名机构可以吊销用户的任何一个访问权,而不改变用户的其 他权利。并且,伪名机构可以在不涉及资源持有者的情况下进行该吊销。 换句话说,实现了精细吊销,并且吊销不用到资源持有者的私钥。验证任意多个访问权是否被吊销所需要的高代价计算量是衡量的,即与验证一个 访问权是否被吊销所需要的高代价计算量相同。从下面结合附图的详细描述中,可以看出本发明的其他特征和优点。 注意,本发明并不限于图中所示的示例或者任何具体的实施例。


结合附图,从下面对本发明优选实施例的详细描述,将更好地理解本 发明,附图中类似的参考标记指示类似的部分,其中图1是示意性地示出了根据本发明的方案的一般性概念的示图;图2是示出了根据本发明的凭证使用和吊销的示意图;图3是示出了根据本发明第一实施例的PA的示例配置的框图;图4是示出了根据本发明第一实施例的RH的示例配置的框图;图5是示出了根据本发明第一实施例的用户终端的示例配置的框图; 图6是示出了根据本发明第一实施例的RP的示例配置的框图; 图7是示出了根据本发明第一实施例的PA建立过程的流程图;图8是示出了根据本发明第一实施例的RH建立过程的流程图;图9是示出了根据本发明第一实施例的根伪名颁发过程的流程图;图IO是示出了根据本发明第一实施例的凭证颁发过程的流程图;图11是示出了根据本发明第一实施例的授权过程的流程图;图12是示出了根据本发明第三实施例的PA的示例配置的框图;图13是示出了根据本发明第三实施例的RH的示例配置的框图;图14是示出了根据本发明第三实施例的用户终端的示例配置的框图;图15是示出了根据本发明第三实施例的资源保护者的示例配置的框图;图16是示出了传统技术的授权系统的框图;以及 图17是示出了传统技术的授权和吊销方案的示图。
具体实施方式
图1示意性地示出了根据本发明的方案的一般性概念。如图1所示,伪名机构PA向用户颁发根伪名,用户利用从根伪名自己计算出的派生伪 名,从资源持有者RH获得资源凭证。当用户希望访问一个或多个资源 时,用户从其全部资源凭证中选择与希望访问的资源相对应的一组资源凭 证,从这组资源凭证生成一个凭证。该凭证可以由用户基于所选的任何资 源凭证来生成,这里将其称为柔性凭证。然后,用户向资源保护者RP出 示所生成的柔性凭证和从根伪名计算得到的派生伪名,经过资源保护者RP的验证之后,获得对希望的资源的访问。根据本发明的方案,用户可以从根伪名生成大量彼此不同的派生伪 名,在每次与资源保护者的交互中,用户可以使用不同的派生伪名,而不 需要向伪名机构的多次申请。图2是示出了根据本发明的方案的凭证使用和吊销的示意图。如图2所示,与如传统技术中将全部资源凭证出示给资源保护者不同,用户可以 选择一部分资源凭证,从其生成一个柔性凭证,并将该柔性凭证发送给资 源保护者进行验证。另外,利用该柔性凭证,验证过程仅在用户与资源保 护者之间进行,并不涉及伪名机构或资源持有者。另外,本发明的伪名机构PA可以吊销用户的资源凭证。并且,伪名机构PA可以维护吊销列 表,从而实现精细的吊销,即仅吊销用户的一个或多个资源凭证,而不影 响用户的其他资源凭证。下面参考附图描述根据本发明的示例性实施例。应当意识到,所描述 的实施例仅是用于举例说明的目的,本发明并不限于所描述的具体实施 例。[第一实施例]在下面的描述中,使用了传统乘法群(multiplicative group)符号作为 示例。但是,本领域的技术人员可以认识到,也可以类似地采用经常在椭 圆曲线设置中使用的加法符号。令G产〈仂〉和 2=〈必〉以及另一个《=〈》〉均为有限循环群,使得l^i二l(G2l叫gi二;7,其中p是某个大素数。双线性映射(参见D. Boneh, M. Franklin, /cfewri(y-jBoset/ £>zc/7/>rtow戶om /力e ^Tez7尸c^n'"g, Proc. Ctypto,Ol,LNCS, vol.2139, pp. 213 229, 2001; S. Galbraith, K. Harrison, D. Soldera, 7mp/emew"wg &e Tate ptn.nVzg, Proc. of the 5th International Symposium on Algorithmic Number Theory, LNCS 2369, 324~337, 2002;以及A. Miyaji, M.Nakabayashi, S. Takano, ^/Vew £!xp/z.c" Cow必/cw5 o/五〃—.c Cwrvas1 /or i7/ -re^crto", IEICE Trans. Fundamentals, E84-A(5): 1234~1243, 2001, 以上文 献通过引用全文结合于此)e:(^xG2—^是一个函数,满足以下要求i. 双线性(bilinear):对于所有^e^, /i2eG2,并且对于所有a》ii. 非退化(non-degenerate) : 3A!e(!^, 3A2eG2,使得/z2)#/, 其中/是G的幺元(identity);并且iii. 可计算存在用于计算e的高效算法。建立算法^ft^(,)被定义为对于输入安全参数1",输出上述双线性映射的配置,并且表示为(A Gi, G2, G,化,e)—5,(1*)其中"意思是系统的安全长度被选择为M立。由于Gp G2和g具有相同素数阶p,因此根据双线性性质和非退化性 质,可以容易地知道6(仂,&)=^系统配置根据本发明的通信系统包括可以彼此通信的伪名机构PA、资源持有 者RH、资源保护者RP以及要访问资源的用户。图3示出了根据本发明第一实施例的伪名机构PA 300的示例配置。 如图3所示,PA 300主要包括互相耦合的用于建立系统参数的系统参数建 立单元310、用于执行用户身份验证的身份验证单元320、用于为用户分 配用户伪名密钥的用户伪名密钥分配单元330、用于为用户生成根伪名的 根伪名生成单元340、用于存储PA运行所需数据的存储单元350,以及用 于与系统中的其他设备通信的通信单元360。图4示出了根据本发明第一实施例的资源持有者RH 400的示例配1置。如图4所示,RH 400主要包括互相耦合的用于为每个资源选择资源私 钥并计算资源公钥的资源密钥生成单元410、验证用户伪名的伪名验证单 元420、用于基于用户伪名为用户生成关于资源的凭证信息的凭证信息生 成单元430、用于存储RH运行所需数据的存储单元440,以及用于与其他 设备通信的通信单元450。图5示出了根据本发明第一实施例的用户终端500的示例配置。如图 5所示,用户终端500主要包括互相耦合的用于获取根伪名的根伪名获取 单元510、用于从根伪名生成派生伪名的派生伪名生成单元520、用于获 取资源凭证的资源凭证获取单元530、用于从所选择的资源凭证生成柔性 凭证的柔性凭证生成单元540、用于存储用户终端500运行所需数据的存 储单元550,以及用于与其他设备通信的通信单元560。图6示出了根据本发明第一实施例的资源保护者RP 600的示例配置。 如图所示,RP 600主要包括互相耦合的用于验证用户的伪名的伪名验证单 元610、用于验证用户的柔性凭证的柔性凭证验证单元620、用于授权用 户访问资源的授权单元630、用于存储RP 600运行所需数据的存储单元 640,以及用于与其他设备通信的通信单元650。下面将详细描述本发明第一实施例的示例过程。伪名机构建立当授权系统启动时,PA需要确定希望的安全强度,选择基本代数, 生成PA的私钥,并公布PA公钥。图7示出了PA的具体建立过程。如图7所示,在步骤S701, PA的系统参数建立单元310根据希望的 安全长度确定安全参数lk,并调用建立算法(p, G2,《化e)—在步骤S702,系统参数建立单元310随机选择整数a^z/作为PA 的私钥,并计算^二5/EG2。在步骤S703, PA通过通信单元360公布其公钥i^p、(p, G2, g, &,资源持有者建立图8示出了根据本发明第一实施例的资源持有者的具体建立过程。如 图8所示,在得到PA的公钥尸兀w之后,管理资源i / (7'=1,2,...,",)的资 源持有者i /^执行以下步骤在步骤S801, i g的资源密钥生成单元410为每个i /选择整数 RZ/,作为i /的资源私钥,并计算每个资源的资源公钥5/二《eG2,户l, 2,…,w(。在步骤S802,资源密钥生成单元410还为每组S/生成关于资源私钥 的知识证明签名S/1XP((x》^ W},产l, 2,…,", 通过2/, 7^^可以证明6/'-l。gf的知识。这里,符号5KP代表所谓的知识证明技术(参见S. Goldwasser, S. Micali, C. Rackoff, T7ze i&wwWge Cowp/exz'(y o/ 7nterac"ve P厂o。/ 5ys/em5, 17th ACM Symposium on Theory of Computation, pp. 291~304, 1985,该文献 通过引用结合与此)。已经提出了许多方法来以零知识证明离散对数知识 (参见A. Fiat, A. Shamir, //cw 7b尸rave Toi/rae^ PraWcfl/ 5b/wrio似to Jiiewf诉ca".cw朋d ^SVg 2她re iVoWems, Advances in Cryptology - CRYPTO'86, pp. 186~194, 1986; D. Chaum, DemcwWra^g尸cwses5iow o/ a D^cre/e 丄ogar"Aw w"Aowf Wevea/z'wg A, Advances in Cryptology — CRYPTO,86, pp. 200 212, 1987; D. Chaum, J. H. Evertse, J. van de Graaf, j /m; rave<i/Vo/oco/Advances in Cryptology - EUROCRYPTO,87, pp. 127~141, 1987; D. Chaum, T. P. Pedersen,肠〃W ZtoaZ^&s w"/z (9Zwervea, Advances in Cryptology — CRYPTO'92, pp. 89 105, 1993; K. Sako, J. Kilian, i ece^^F厂ee M^-7>/7eAdvances in Cryptology - CRYPTO,98, pp. 393 403, 1998;以及Ke Zeng, i^e"(iow,otw尸A7》/" "oi C謹戶^zg, LNCS 4043, pp. 207-222,EuroPKT06, 2006,其提供了如何计算和实现知识证明过程的具体的按步骤 的示例。以上文献通过应用结合于此)。例如,S^((x,) : _5/=&^表示资源持有者^^可以证明其知道X"使得S/二仍、但是并未在计算上泄漏关 于》的任何信息。用于执行知识证明的各种传统方法可以用在本发明的实施例中。由于 它们是本领域中公知的,所以这里不对其详细描述。对本领域的技术人员 来说很明显,交互式和非交互式知识证明都可以用在本发明的实施例中。 非交互式知识证明可以减小用户设备和服务设备之间的往返通信,因此, 在网络使用和时间消耗方面是有利的。但是,它可能要求用户设备和服务 设备共享相同的时间源点,以便防御重放攻击。交互式和非交互式变形的 优点和缺点是本领域技术人员公知的。返回参考图8,在步骤S803, / S通过其通信单元430公布其公钥 復严=脱2/)},产1,2,…,"',其中W是资源A/的公钥。或者,代替 自己公布PI严,i^^可以将K5/, S/)},户l, 2,…, ,发送给PA,并由 PA公布/^严二((5/, 2/)},户1,2,…,",。如所公知的,2/表明了资源持 有者i^^按照不能攻击系统的方式产生了 5/。实际上,也可以由伪名机构代替资源持有者来为资源持有者所管理的 资源分配资源私钥,并发送给资源持有者。另外,资源私钥的知识证明签 名以及资源公钥也可以由伪名机构来计算并公布。在本发明的另外的实施 例中,伪名机构可以包括资源密钥生成单元(未在图中示出),用于分配 资源私钥、计算资源公钥和/或生成资源私钥的知识证明签名。伪名颁发图9示出了根据本发明的第一实施例的颁发根伪名的具体过程。如图 9所示,在得到PA的公钥P^^之后,为了从PA得到根伪名,具有可验 证身份t/的用户与PA执行以下交互在步骤S901,用户终端的根伪名获取单元510向PA请求根伪名,并 通过通信单元560将用户的可验证身份t/发送给PA。在步骤S902, PA的身份验证单元320验证用户身份t/,从而判断是 否可以对该用户颁发根伪名。如果用户未通过验证,则PA不向用户颁发 根伪名,过程进行到步骤S903,进行失败处理。例如向用户通知失败原因并结束过程,或者要求用户重新发送信息。如果判断出可以向该用户颁发伪名,则在步骤S904, PA的用户伪名密钥分配单元330在PA的数据库(可以存储在存储单元350中)中寻找 对于t/存储的用户伪名密钥^。如果找到匹配的用户伪名密钥,则过程进 行到步骤S906。否则,过程进行到步骤S905,用户伪名密钥分配单元330 为t/选择zEj^/作为该用户的伪名密钥。在步骤S906, PA的根伪名生成单元340计算,二化一+》GG,作为用户 的根伪名。在步骤S907, PA将(K z)保存在存储单元350中的数据库中,并通过 通信单元360将用户伪名密钥z和根伪名,发送给用户。接收到PA发送的用户伪名密钥z和根伪名f之后,在步骤S908,用 户终端的根伪名获取单元510验证A免,二e(仂,^)是否成立。如果验证 失败,则过程返回步骤S901,重新作出请求。或者,用户向PA发送通 知,要求重新传送数据。如果验证通过,则在步骤S909,用户在存储单元550中存储其用户伪 名密钥^和根伪名L注意,如所公知的,可以存在各种方法来使得PA验证用户身份并确 保用户的可验证身份t/与真实用户之间的关联。因为PA如何实现这一点 与本发明并不直接相关,因此这里省略对其详细描述。凭证颁发凭证颁发过程可以概念性地解释为两个阶段。第一阶段执行伪名验 证,而第二阶段颁发凭证。图10示出了根据本发明第一实施例的颁发凭 证的具体过程。如图10所示,在得到PA的公钥尸《"和资源i /的公钥5/ 之后,为了获得对资源W的访问权,具有用户伪名密钥z和根伪名f的用 户与管理资源i^的资源持有者/ ^执行以下交互在步骤SlOOl,用户终端的派生伪名生成单元520选择re RZ/,并计算派生伪名T二f。在步骤S1002,用户终端的派生伪名生成单元520计算知识证明签名2 A): e(T, K化仍广 免m在步骤S1003,用户终端的资源凭证获取单元530向资源持有者W7, 请求资源i /的凭证,并通过通信单元560将派生伪名T和知识证明签名2发送到资源持有者/^;。在步骤S1004, i^^接收到2后,其伪名验证单元420检査Z的有效 性。如果2:是无效的,则i^/;不向用户颁发凭证,过程进行到步骤 S1005,进行失败处理。例如向用户通知失败原因并结束过程,或者要求 用户重新发送信息。如果2是有效的,则在步骤S1006, i g的凭证信息生成单元430计 算凭证信息",并通过通信单元450将凭证信息、'发送给用户。用户从Ag接收到凭证 <后,在步骤S1007,用户终端的资源凭证获 取单元530计算资源凭证%二<1/7。然后在步骤S1008,用户终端的资源凭证获取单元530验证50= W是否成立。如果验证失败,则过程返回步骤SlOOl,重新作出请 求。或者,用户向i^i发送通知,要求重新传送数据。如果验证通过,则在步骤S1009,用户在存储单元550中存储、作为 对于资源A/的资源凭证。虽然上面以用户请求资源A/的凭证为例,说明了凭证颁发的过程。但 是,很明显,在资源持有者管理多个资源的情况下,用户可以利用上述过 程的多次执行来获得多个资源凭证,也可以在一次过程同时请求并获得多 个资源凭证。当然,用户也可以直接使用根伪名f从资源持有者获取资源凭证。此 时,上述的派生伪名T被根伪名f代替,并且i /^将向用户发送一',而用 户直接将-存储为资源凭证。授权逻辑上,在授权之前进行认证。因此,授权过程一般可以分为两个阶 段。第一阶段用于验证用户的伪名,第二阶段用于验证用户的与其伪名相 关联的凭证。图ll示出了根据本发明第一实施例的具体授权过程。 给定PA的公钥尸《w、资源持有者的公钥{尸尺 ,并且用户具有用户 伪名密钥Z、根伪名f和一组凭证A二(t^,用户通过这组凭证可以访问具 有一组公钥3={5/}的资源i ={i /}。下面参考图ll描述的步骤说明了用 户使资源保护者i^确信其具有对由用户选择的资源子集及^A的访问权 的过程。基于与^相对应的公钥组》^凡用户需要做的是表明其持有代表对 资源》的访问权的凭证子集X^J。不丧失一般性,这里将》写为^ = {&},将》写为》二^J, ^=1,2, ...,S。作为用户秘密的凭证子集是X二{~},『1,2,…,3。在步骤S1101,用户终端的派生伪名生成单元520选择rG RZ/,并计算派生伪名T二f。注意,在授权过程中一般使用与上述凭证颁 发过程中所用的派生伪名不同的派生伪名。这可以通过选择不同的T来实 现。以下为了简化描述,各种派生伪名均使用相同的符号T表示。但是应 当理解,根据本发明,每次凭证颁发过程和每次授权过程中使用的派生伪 名都可以不同。在步骤S1102,用户终端的柔性凭证生成单元540选择与要访问的资 源相对应的资源凭证子集^={~}, vp=1,2, 3。要访问的一个或多个资 源例如可以由柔性凭证生成单元540根据用户的命令(例如来自另外的输 入装置的用户输入)来确定。或者,用户终端还可以包括与柔性凭证生成 单元540相耦合的另外的资源选择单元(未示出),用于选择希望访问的 资源。在步骤S1103,用户终端的柔性凭证生成单元540根据所选的凭证子集计算柔性凭证v二(n )T。在步骤S1104,用户终端的派生伪名生成单元520计算知识证明签名 2 -SXP((x!, x2) : e(T, J)二e(力,&广 (e(厂1,然后,在步骤S1105,用户向RP请求授权访问资源》,并通过通信 单元560将柔性凭证V、派生伪名T和知识证明签名S发送给资源保护者 RP。在接收到S和柔性凭证V之后,RP的伪名验证单元610在步骤S1106检查2:的有效性。如果i:是无效的,则RP拒绝用户,过程进行到步骤S1107,进行失败处理。例如向用户通知失败原因并结束过程,或者要求 用户重新发送信息。如果2是有效的,则在步骤S1108, RP的柔性凭证验证单元620检查 e(T, n&)二"V,免)是否成立。如果等式不成立,则过程进行到步骤S1107,进行失败处理。例如向用户通知失败原因并结束过程,或者要求 用户重新发送信息。如果等式成立,则RP确信用户具有对资源^的访问权,其中^是A 的子集。于是在步骤S1109, RP的授权单元630允许用户访问资源^。当然,用户也可以直接使用根伪名和柔性凭证来与RP交互。本领域 技术人员可以容易地设计相应的过程,因此这里省略对该过程的详细描 述。显然,与传统技术中需要表明全部凭证不同,根据本发明,在凭证验 证期间,用户可以自由地选择任何一部分凭证来表明给资源保护者。归功 于e(T, fl&)二e(V,仍)的批量验证,高代价的密码计算的量,尤其是有限循环加法群中的标量乘法、有限循环乘法群中的模指数运算以及双线性对 计算的量,保持相同,与具体哪些凭证要被表明无关。在上面描述的实施例中,并未提及PA的追查的能力。但是,根据本 发明的匿名柔性凭证方案,可以对PA添加追查和吊销的能力。下面将描 述具有追查和吊销能力的本发明的另外的实施例。[第二实施例]下面描述根据本发明的具有追查能力的第二实施例。 如上所述,凭证颁发过程和授权过程的第一阶段验证了用户的伪名。 因此,仅需要对伪名颁发和伪名验证稍作修改,便可以使得PA具有追査 能力。注意,实际中,追查和吊销可以分别被指派给另外的追查机构或吊 销机构。但这并不影响本发明的实质。本领域的技术人员可以设计各种方案。例如,可以采用D. Boneh, X.Boyen, H. Shacham, Short Group Signatures. In Proc. of Advances in Cryptology — Crypto,04, LNCS vol. 3152, pp. 41~55, 2004或K. Zeng. Pseudonymous PKI for Ubiquitous Computing. In Proc. of 3rd European PKI Workshop: theory and practice (EuroPKI,06), LNCS vol. 4043, pp. 207 222, 2006中描述的标准做法,上述文献通过引用全文结合于此。此外,这样的修改还可以使得PA具有吊销的能力。但是应当注意, 利用传统技术的修改,得到的吊销能力不是精细的。换句话说,PA只能 同时吊销用户的伪名及其全部凭证。下面,以K. Zeng. Pseudonymous PKI for Ubiquitous Computing. In Proc. of 3rd European PKI Workshop: theory and practice (EuroPKI'06), LNCS vol. 4043, pp. 207~222, 2006中提出的方法为例,说明本发明的具有追查能力的 一个实施例。本实施例的配置与上述本发明的第一实施例类似,并对其作 出了若干修改。为了清楚,下面仅描述本实施例与上述第一实施例的不同 之处,并且使用相同的参考标号表示类似的部分。注意,这里的描述仅是 用于举例说明的目的。如上所述,本领域的技术人员可以在本发明的匿名 柔性凭证方案的基础上,利用其他各种方式,来实现PA的追查能力。下面描述对本发明第一实施例作出的示例修改。在伪名颁发期间,用户需要计算并向PA发送用户公钥(A, A,以及 =^"E(G2,该参数用于追查目的,其中A是PA的公钥/^^的附加参 数,^是用户的私钥。该计算例如可以由用户终端的根伪名获取单元510 执行,或者由另外的能够得到或生成用户私钥和公钥的单元执行。获得和 使用用户公钥和私钥的方法是本领域公知的,这里省略对其的详细描述。 用户可以在上述图9所示的步骤S901中,将用户公钥A&以及y'包括在用 户身份中发送给PA。另外,在上述图9所示的步骤S906中,代替,二仏一^eGp PA的根 伪名生成单元340将计算(~=仍1/(。, 4二(V^广(。+z))EGA其中力二V & 将作为用户的根伪名,&是PA的公钥的附加参数,a是用户的私 钥。并且在步骤S907中,PA将向用户发送",Q (或者发送^以及力二^G),并且还将存储与用户身份相对应的y'。然后,在步骤S909中,用户除了存储根伪名还存储伪名吊销参数e=~,其中伪名吊销参数e是用于非精细吊销目的。对于凭证颁发过程和授权过程中的伪名验证,用户终端的派生伪名生成单元520将选择整数r£RZ/,计算派生伪名T = f。另外,用户还将计 算追查参数Ty=T",并根据伪名吊销参数生成与派生伪名T一同使用的 伪名吊销验证参数0= ^ (例如,由用户终端的派生伪名生成单元520在 上述图IO所示的步骤S1001和图11所示的歩骤S1101中完成该计算,并 且在上述图IO所示的步骤S1003和上述图11所示的步骤S1105中,用户 还将l和0发送给RH或RP)。注意,在凭证颁发过程和授权过程中, 用户可以选择不同的r",以便生成不同的派生伪名。并且,例如在上述图10所示的步骤S1002和上述图11所示的步骤 S1102中,用户终端的派生伪名生成单元520计算知识证明签名 2 二5KP((Xi,JC2,X3) : e(T,^)二《1 . . ", A 1=(T—i严.T,Ae( , A)=",. 其中^二e(^ ~,必),"2=e(0s ',仍),v3=e(/i,仍),"4二e(化,S —\依)从而,当需要追查使用派生伪名的用户的真实身份时,PA可以对存 储在其数据库中的所有y'检查e(T, y')=<i;,仍)是否成立,从匹配的y'找到 用户伪名密钥和其身份。这样,利用少量修改,PA具有了追查任何用户 的真实身份及其用户伪名密钥的能力。在这种情况下,PA可以包括执行 査找的追査单元(未在图中示出)。应当注意,在凭证颁发阶段,资源保护者^;将使用T二(^ /J来向用户颁发凭证,用户的资源凭证将是~=(~ 0~。由于以后改变^和^将 使得用户全部的伪名T无效,从而全部的^.无效,即,使得用户的凭证无 效,因此针对非精细的吊销目的,添加了伪名吊销参数9及其相关的知识 证明签名。相应地,PA可以包括利用上述关于伪名吊销参数^的机制, 吊销用户派生伪名的吊销单元。例如,该吊销单元使得伪名吊销参数9无 效来使得用户的根伪名和从该根伪名生成的任何派生伪名无效。本领域的技术人员可以容易地设计吊销机制。例如,将D. Boneh, X.Boyen, H. Shacham, Short Group Signatures. In Proc. of Advances in Cryptology — Crypto,04, LNCS vol. 3152, pp. 41 55, 2004中的机制应用于伪名吊销参数 ^当然,仅对于追查匿名用户的真实身份而言,伪名吊销参数^并非是 必需的。在用户的根伪名和从其生成的派生伪名被吊销之后,用户不能够再通 过伪名验证过程。自然,与该用户的根伪名和派生伪名相关联的全部凭证 都被吊销了。因此,上述实施例所实现的吊销不是精细的。上面给出了基于用户的私钥A进行追查的一个示例。然而,本领域技 术人员可以理解,在本发明中也可以使用其他参数和追查算法来实现伪名 机构的追查能力。例如,可以使用已有的或另外设计的某个参数(用户唯 一参数),只要该参数对于用户来说是唯一的,并且伪名机构能够从用户 的派生伪名或与派生伪名一起使用的信息中重构该参数,且该参数对于其 他方来说是不可计算的。例如,禾U用D. Boneh, X.Boyen, H. Shacham, Short Group Signatures. In Proc. of Advances in Cryptology — Crypto'04, LNCS vol. 3152, pp. 41 55, 2004中公开的另一种追查机制,可以在本发明中使用用户伪名密钥2来实 现追查能力。下面简要描述基于用户伪名密钥-实现追查的一种示例性的 过程。首先,PA公布额外的公钥(w, v, /0,并且PA保持私钥(x,力,使得 A=i/=/。其中,w, v和A都是群G!的元素。对于凭证颁发过程和授权过程中的伪名验证,代替上述示例中的Ty, 用户从Z/中选择整数a和/5,并计算追查参数T尸ua, TyV3, T3=</^。 在相应的知识证明(计算知识证明签名)中,用户向资源持有者或资源保 护者发送TP 丁2和T3,并相对于基数m, v, A和化,分别证明a, /5, of/3 和z的知识。例如在上述图10所示的步骤S1002和上述图11所示的步骤SI 102 中,用户终端的派生伪名生成单元520计算知识证明签名 <formula>formula see original document page 26</formula><formula>formula see original document page 26</formula><formula>formula see original document page 27</formula>其中<formula>formula see original document page 27</formula>
给定用户的有效的知识证明,伪名机构能够通过计算"^TVOVT/),从Tp T2和T3解出贝z。由于每个用户的用户伪名密钥z是不同的,因此可以利用化z唯一地识别出用户,从而实现了追查。如本领域技术人员所能理解的,追査能力的实现并不限于基于用户私钥A或用户伪名密钥二而是,还可以利用已有技术中任何适当的参数和算法,或者另外设计的参数和算法来实现追查。因此,在本发明的精神和范围中,本领域技术人员能够对上述实施例作出各种替换、修改或改进,而不脱离本发明的精神和范围。在本发明的另外的实施例中,可以实现精细的方法,即可以吊销用户的任何凭证而保留用户的其他凭证的有效性。下面将描述这样的实施例的示例。[第三实施例]下面描述本发明的具有精细吊销能力,即能够基于每用户每凭证来进 行吊销的示例性实施例。假设用户^具有用户伪名密钥5和对资源A/的访问权。 一些情况中, 由于用户的不良行为或者其他原因,需要吊销其例如关于资源i /的资源凭 证。根据本发明的该实施例,PA可以只吊销用户G关于资源i /的资源凭 证,而不是使用非精细的吊销来吊销用户的全部凭证。 一般,在每用户每 凭证的吊销之前,PA需要执行追查,以发现用户^的真实身份及其用户 伪名密钥5 。可以例如使用上述第二实施例中描述的方法来进行追査。下面简要描述具有精细吊销能力的第三实施例。只需对上述第一实施例的PA、 RH、用户和RP的配置添加相应的用 于吊销和更新的部分,就可以实现根据本发明第三实施例的具有精细吊销 能力的方案。图12 图15分别示出了根据本发明第三实施例的PA、 RH、用户和RP的示例配置。具体地说,如图12所示,根据本发明第三实施例的PA 1200除了具有如图3所示的那些部分,还具有用于吊销任一用户的任一资源凭证的吊 销单元1201。如图13所示,根据本发明第三实施例的RH 1300除了具有 如图4所示的那些部分,还具有用于初始化或维护吊销列表的吊销列表单 元BOl。如图14所示,根据本发明第三实施例的用户终端1400除了具有 如图5所示的那些部分,还具有用于更新凭证吊销参数的吊销参数更新单 元1401。如图15所示,根据本发明第三实施例的RP 1500除了具有如图6 所示的那些部分,还具有用于获取最新的吊销列表的吊销列表获取单元 1501。下面将详细描述本发明第三实施例的示例过程。在资源持有者建立过程中,资源持有者i^/,在上述图8所示的步骤 S801生成每个资源A/的私钥^£^/和公钥5/=< GG2,户l, 2,…, , 之后,其吊销列表单元1301对每个7 /初始化吊销列表^:/={(化/,厶)}, 其中,化/二^EGp A代表还没有发生吊销,艮卩,二元组(仏/,A)是^/ (户1,2,…,",)中的第一行。然后,在上述图8所示的步骤S802中,资源密钥生成单元410将为 每组S/和力/',生成如下知识证明签名2/4KP{(x》S/WAW = ^}, )=1,2,…,",并且在上述图8所示的步骤S803中,Ag公布其公钥 ^/, 2/)}, 7=1, 2,…, 。同样,另外,代替自己公布尸《严'i^可以将 脱M/, 2 /)}发送给PA,并由PA公布。实际上,也可以由PA为每个A/.生成初始吊销列表。例如,在本发明 的另外的实施例中,在PA从资源持有者得到资源私钥和公钥,或者由PA 生成资源私钥和公钥的情形中,资源的初始吊销列表可以例如由PA的吊 销单元1201来执行。在凭证颁发过程中,用户在上述参考图10描述的步骤S1009中,除 了 %,用户还将存储其中,是针对每用户每凭证吊销的目的而 添加的凭证吊销参数,该凭证吊销参数可以由用户终端的吊销参数更新单 元1401作为初始值而生成。下面描述PA吊销用户^关于资源i /的资源凭证的过程。 首先,PA的吊销单元1201从与资源i /相关的吊销列表M/的最后 (最新的) 一行获取W。然后,吊销单元1201计算私=。然后,吊销单元1201向吊销列表M/添加新的行(私,巧,并通过通信 单元340公布更新的吊销列表。考虑具有用户伪名密钥^和凭证(、,)的另一用户U,该用户U被授 权访问资源W/。由于用户U的关于资源i /的资源凭证没有被吊销,因此 每当资源i /的更新的吊销列表公布之后,即添加了新的一行,用户U的 吊销参数更新单元1401可以将其用于资源A/.的凭证吊销参数,更新为 A, =(^/%.)1/(") °很容易验证出=《1/(a+i)=私。注意,每当资源的吊销列表被添加了新的一行,用户U都可以相应地 更新相关的凭证吊销参数。或者,用户U可以仅在需要的时候或者定期 地,根据资源的吊销列表中的吊销历史(之前的各个行)和最新的一行, 完成凭证吊销参数的更新。应当注意,授权系统也可以令PA向资源W/的资源持有者发送 (私,S),并要求资源持有者更新化/。在这种情况下,资源持有者的吊销列 表单元执行资源的吊销列表更新。但是根据本发明的精细吊销,吊销并不 使用任何资源持有者的密钥。因此,可以不需要经过资源持有者的允许或 涉及资源持有者,PA自身就能够实现精细的吊销。下面描述根据本发明第三实施例的授权过程。假设在授权过程期间,资源保护者尤为关心用户关于资源A 的资源凭证是否被吊销了。于是,用户U的吊销参数更新单元1401和资 源保护者的吊销列表获取单元1501都将从与资源i^相关的吊销列表虹的最后一行获取化*。并且,在上述参考图11描述的授权过程的步骤 S1103中,用户U的柔性凭证生成单元540除了根据所选的凭证子集计算柔性凭证v=(n :r,还根据资源^的凭证吊销参数计算凭证吊销验证参数W二^T。然后,在上述参考图11描述的步骤S1104中,用户U将计算如下知 识证明签名<formula>formula see original document page 30</formula>现在, 一个有效的2不仅证明了用户U具有对资源》的访问权,而且 还使得^确信其关于资源^e^的资源凭证未被吊销。而由于被吊销了 关于A的资源凭证的用户不能有效更新其凭证吊销参数,因此无法生成有 效的知识证明签名,从而无法通过授权过程。如果RP关心更多的资源凭证是否被吊销了,例如不仅Ae《还有 i m e i ,则户U的吊销参数更新单元1401将进一步更新关于资源TC的凭 证吊销参数wm,并且资源保护者的吊销列表获取单元1501将进一步 从与资源i^相关的吊销列表M的最后一行获取化,并且,在上述参考 图11描述的授权过程的步骤S1103中,用户U的柔性凭证生成单元540 计算凭证吊销验证参数W=(W^Jt。然后,在上述参考图11描述的步骤 S1104中,用户U将计算如下知识证明签名E = Siff((工^): e(T,洵=e(仏,&户.Wr1,"}" Ae(W,局=e(^《,^广■ ,m)—U)了}当然,也可以类似地在一次知识证明中验证更多个凭证是否被吊销。 容易看到,根据本发明的精细吊销能力,所需要的高代价计算量与需要特 别验证的是否被吊销的资源凭证个数无关(即与验证一个资源凭证是否被 吊销相同)。上面描述了根据本发明的PA精细吊销能力。当然,代替由PA执行 追查和吊销,也可以在系统中设立另外的追查机构和吊销机构来利用本发 明的上述方法进行执行追査和吊销。另外,PA或另外的吊销机构就也可以同时具有根据本发明的精细吊 销能力和非精细吊销能力,例如上述第二实施例中的利用伪名吊销参数^ 的吊销,从而可以选择性地执行精细和非精细的吊销。由于本领域技术人 员根据上述说明,可以容易地将用于非精细吊销的参数和相关知识证明结 合到上述具有精细吊销能力的方案中,因此这里省略其算法的具体描述。根据本发明的一个替代实施例,可以由PA的吊销单元1201进行精细和非精细的吊销。根据上述描述可以看出,本发明具有以下效果在用户被授权之后,无论用户多少次向RP表明其凭证,用户都可以 保持匿名,而不需要再次联系RH和/或PA。同时,在PA的公钥被确定和公布之后,PA可以容纳的RH的数量可变。类似的,在资源持有者的公钥被确定和公布之后,资源持有者可以管理的资源的数量可以不固定,而不 需改变己经颁发的凭证。用户可以有选择地向RP同时表明其全部访问权中的任何一个或多 个,并且用户证明其任何一部分访问权时的计算成本与被证明的权利的数 目无关(与证明一个权利的计算成本相同)。PA可以吊销用户的任何一个资源凭证,而不改变用户的其他权利。 并且,PA可以吊销用户的访问权而不涉及到RH,换句话说,实现了不需 要RH的密钥的精细的吊销。另外,验证任意多个资源凭证是否被吊销所 需要的高代价计算量是衡量的,即与验证一个资源凭证是否被吊销所需要 的高代价计算量相同。上面已经参考附图描述了根据本发明的具体实施例。但是,本发明并 不限于图中示出的特定配置和处理。例如,在上述各种交互中,还可以采用各种方法来了保证安全。例如 对于上述凭证颁发过程中的关于使用知识证明签名的步骤,时变参数可以 被用来抵抗重放和交错攻击,提供唯一性和时间性的保证,并防止某些选择文本攻击(参见A. Menezes, P. van Oorschot, S, Vanstone, Handbook ofAppliedCryptography.CRC Press, 1996,其通过引用全文结合于此)。时变 参数例如是时间戳或者随机数挑战。为了简明起见,这里省略对这些已知 方法的详细描述。在上述实施例中,使用了传统乘法群符号作为示例,但是本领域的技 术人员将认识到,也可以类似地采用在椭圆曲线设置中使用的加法符号。 在使用加法符号时,例如上述柔性凭证将被计算为V = 。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本 发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可 以在领会本发明的精神之后,作出各种改变、修改和添加。例如,在上述第一实施例的步骤S1101 S1103中,用户生成派生伪名T之后生成了柔性 凭证V,但是,用户也可以先选择T并生成柔性凭证V之后,生成派生伪名T。根据本发明的PA、 RH、用户终端和RP可以实现为网络中的或者可 耦合到网络的各种设备,例如个人计算机、服务器、诸如移动电话、个人 数字助理、膝上型计算机等移动设备等等,也可以实现为上述各种设备中 的硬件或软件模块。虽然作为PA、 RH、用户终端和RP的示例性配置,附图中已经示出 了耦合在一起的某些单元和模块。但是,每种设备所包括的部分并不限于 所描述的这些单元和模块,并且具体的配置可以被修改或改变。例如,一 些被示出为分立的单元可以组合在一起,或者一个单元可以按照其功能被 分为若干个单元。例如,图示的存储单元可以被实现为若干部件,其中每 个部件被结合到一个单元中用于存储该单元的数据。另外,虽然示出了分别具有特定功能的示例性的单元和模块,但是单 元和模块的功能划分并不限于所示出的示例,而是可以进行任何修改、交 换和组合。例如,上述伪名吊销验证参数和凭证吊销验证参数分别由用户 的派生伪名生成单元和柔性凭证生成单元生成,但是关于各种吊销参数的 计算也可以代替地由吊销参数更新单元或者另外的单元执行。又例如,代 替上述相关单元生成知识证明签名,各个设备也可以另外具有分别的知识 证明单元用于进行相关的知识证明。另外,PA、 RH、用户终端和RP中的每一个也可以同时具有其他方的 功能,例如,RH和RP可以同时实现在同一个服务器中。另外,当实现为具体的设备时,PA、 RH、用户终端和RP还可以包括 作为具体设备所需的其他单元,例如用于向操作者显示信息的显示单元、用于接收操作者的输入的输入单元、用于控制每个单元的操作的控制器等 等。由于这些部件是本领域中公知的,因此并未对其详细描述,并且本领 域的技术人员将容易地想到将它们添加到上述的设备中。本发明的元素可以实现为硬件、软件、固件或者它们的组合,并且可 以用在它们的系统、子系统、部件或者子部件中。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段 可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质 或者通信链路上传送。"机器可读介质"可以包括能够存储或传输信息的 任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM (EROM)、软盘、CD-ROM、光盘、硬盘、 光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网 等的计算机网络被下载。本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例 如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本 发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而 非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落 入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的 范围之中。
权利要求
1.一种用于通信系统的方法,包括颁发根伪名;获取一个或多个资源凭证;从所述根伪名生成第一派生伪名;从所述一个或多个资源凭证中选择一组资源凭证;根据所述一组资源凭证,生成柔性凭证;利用所述第一派生伪名和所述柔性凭证作出访问请求;以及在验证所述第一派生伪名和所述柔性凭证之后,准许所述访问请求。
2. 根据权利要求1所述的方法,还包括 为每个资源生成资源私钥和资源公钥。
3. 根据权利要求1所述的方法,其中,颁发根伪名还包括 分配并存储用户伪名密钥;以及 基于所述用户伪名密钥,生成所述根伪名。
4. 根据权利要求1所述的方法,其中,获取一个或多个资源凭证包括利用所述根伪名,请求资源凭证;计算、=-,其中^是所述根伪名,W是所述资源的资源私钥;以及 将^存储为所述资源的资源凭证。
5. 根据权利要求1所述的方法,其中,获取一个或多个资源凭证包括从所述根伪名生成第二派生伪名;以及 利用所述第二派生伪名获取资源凭证。
6. 根据权利要求5所述的方法,其中,所述第二派生伪名被计算为T 二。其中/是所述根伪名,t是一个整数,并且其中,利用所述第二派生 伪名获取资源凭证还包括计算凭证信息<="。其中,^是所述资源的资源私钥;以及将~=<^存储为所述资源的资源凭证。
7. 根据权利要求l所述的方法,其中,所述第一派生伪名被计算为T' =,,其中,是所述根伪名,T'是一个整数,并且,所述柔性凭证被计算为V二(ft"JT'或V二T'(^"J,其中 ,^=1,..., S,是所述一组资源凭证。
8. 根据权利要求1所述的方法,还包括根据用户唯一参数生成追查参数,其中所述追查参数可以与所述根伪 名或从所述根伪名生成的派生伪名 一 同用于追查。
9. 根据权利要求1所述的方法,还包括颁发伪名吊销参数,所述伪名吊销参数可用于吊销所述根伪名和从所 述根伪名生成的任何派生伪名;以及根据所述伪名吊销参数生成与派生伪名一同使用的伪名吊销验证参数。
10. 根据权利要求1所述的方法,还包括 生成每个资源的初始吊销列表;当一个资源凭证要被吊销时,更新与所述资源凭证相对应的资源的吊 销列表;以及根据更新的吊销列表,更新关于所述资源的凭证吊销参数,并生成凭 证吊销验证参数,其中,验证所述第一派生伪名还包括基于资源的吊销列表中的参数, 验证凭证吊销验证参数。
11. 一种在通信系统中管理伪名的装置,包括 系统参数建立单元,被配置为建立系统参数; 身份验证单元,被配置为执行用户身份验证;用户伪名密钥分配单元,被配置为为用户分配用户伪名密钥;禾口 根伪名生成单元,被配置为基于用户伪名密钥,生成要颁发给用户的 根伪名。
12. 根据权利要求11所述的装置,还包括 资源密钥生成单元,被配置为生成资源私钥和/或资源公钥。
13. 根据权利要求11所述的装置,还包括追查单元,被配置为利用用户唯一参数追查使用派生伪名的用户身份。
14. 根据权利要求13所述的装置,其中,所述用户唯一参数是用户伪 名密钥或用户私钥。
15. 根据权利要求11所述的装置,还包括吊销单元,被配置为通过使用户的伪名吊销参数无效,吊销用户的根 伪名和从所述根伪名生成的任何派生伪名。
16. 根据权利要求11所述的装置,还包括吊销单元,被配置为更新资源的吊销列表,以吊销一个关于该资源的 用户资源凭证。
17. —种在通信系统中管理伪名的方法,包括 当接收到来自用户终端的用户请求时,验证用户身份; 如果所述用户身份通过验证,则为所述用户分配用户伪名密钥;以及基于所述用户伪名密钥,生成根伪名。
18. 根据权利要求17所述的方法,还包括生成资源私钥和/或资源公钥。
19. 根据权利要求17所述的方法,还包括利用用户唯一参数,追查使用派生伪名的用户身份。
20. 根据权利要求19所述的方法,其中,所述用户唯一参数是用户伪名密钥或用户私钥。
21. 根据权利要求n所述的方法,还包括通过使用户的伪名吊销参数无效,吊销用户的根伪名和从所述根伪名 生成的任何派生伪名。
22. 根据权利要求17所述的方法,还包括更新资源的吊销列表,以吊销一个关于该资源的用户资源凭证。
23. —种在通信系统中管理一个或多个资源的凭证的装置,包括资源密钥生成单元,被配置为为每个资源生成资源私钥和资源公钥; 伪名验证单元,被配置为验证用户的派生伪名;和 凭证信息生成单元,被配置为基于用户的派生伪名,生成要发送给所述用户的用户终端的关于资源的凭证信息。
24. 根据权利要求23所述的装置,还包括吊销列表单元,被配置为生成或接收资源的初始吊销列表。
25. 根据权利要求23所述的装置,其中,所述伪名验证单元还被配置为验证所述用户的伪名吊销验证参数。
26. 根据权利要求23所述的装置,其中,所述凭证信息生成单元计算 <=^作为资源的凭证信息,其中T是所述用户的派生伪名,W是所述 资源的资源私钥。
27. —种在通信系统中管理一个或多个资源的凭证的方法,包括 为每个资源生成资源私钥和资源公钥;当接收到来自用户终端的用户请求时,验证所述用户的派生伪名;以及如果验证通过,则基于所述派生伪名,生成要发送给所述用户终端的 关于资源的凭证信息。
28. 根据权利要求27所述的方法,还包括 生成或接收资源的初始吊销列表。
29. 根据权利要求27所述的方法,还包括 验证所述用户的伪名吊销验证参数。
30. 根据权利要求27所述的方法,其中,所述凭证信息被计算为、'= ",其中T是所述用户的派生伪名,^是所述资源的资源私钥。
31. —种通信系统中的用户终端,包括 根伪名获取单元,被配置为获取根伪名; 资源凭证获取单元,被配置为获取一个或多个资源凭证; 派生伪名生成单元,被配置为从所述根伪名生成第一派生伪名;和 柔性凭证生成单元,被配置为根据所选择的一组资源凭证,生成柔性凭证,其中,所述用户终端使用所述第一派生伪名和所述柔性凭证来获得对 与所述一组资源凭证相对应的一组资源的访问。
32. 根据权利要求31所述的用户终端,还包括吊销参数更新单元,被配置为根据资源的吊销列表,更新所述资源的 凭证吊销参数,其中,所述柔性凭证生成单元还被配置为根据所述凭证吊销参数,生 成凭证吊销验证参数。
33. 根据权利要求31所述的用户终端,其中,所述资源凭证获取单元 被配置为利用所述根伪名获取资源凭证。
34. 根据权利要求31所述的用户终端,其中,所述派生伪名生成单元还被配置为从所述根伪名生成第二派生伪名,并且所述资源凭证获取单元 被配置为利用所述第二派生伪名获取资源凭证。
35. 根据权利要求34所述的用户终端,其中,所述派生伪名生成单元 计算为T二H乍为所述第二派生伪名,其中f是所述根伪名,T是一个整数,并且其中,所述资源凭证获取单元获取凭证信息 <,并且将"y.= 、'1/T 存储为所述资源凭证。
36. 根据权利要求31所述的用户终端,其中,所述派生伪名生成单元 计算为T'二f'作为所述第一派生伪名,其中f是所述根伪名,r'是一个整数,并且其中,所述柔性凭证生成单元计算V:(fl"J'或V^T'(t )作为所述柔性凭证,其中、,^=1,..., H,是所述一组资源凭证。
37. 根据权利要求31所述的用户终端,其中,所述派生伪名生成单元 还被配置为根据用户唯一参数生成追査参数,其中所述追査参数可以与所 述根伪名或从所述根伪名生成的派生伪名一同用于追査用户身份。
38. 根据权利要求31所述的用户终端,其中,所述根伪名获取单元还 被配置为获取伪名吊销参数,所述伪名吊销参数可用于吊销所述根伪名和 从所述根伪名生成的任何派生伪名,并且其中,所述派生伪名生成单元还 被配置为根据所述伪名吊销参数,生成与派生伪名一同使用的伪名吊销验 证参数。
39. —种用于通信系统中的用户终端的方法,包括 获取根伪名;获取一个或多个资源凭证;从所述根伪名生成第一派生伪名,并根据所选择的一组资源凭证,生成柔性凭证;以及使用所述第一派生伪名和所述柔性凭证来获得对与所述一组资源凭证 相对应的一组资源的访问。
40. 根据权利要求39所述的方法,还包括根据资源的吊销列表,更新所述资源的凭证吊销参数;以及 根据所述凭证吊销参数,生成凭证吊销验证参数。
41. 根据权利要求39所述的方法,其中,获取一个或多个资源凭证包括利用所述根伪名获取资源凭证。
42. 根据权利要求39所述的方法,其中,获取一个或多个资源凭证包 括从所述根伪名生成第二派生伪名,并且利用所述第二派生伪名获取资源 凭证。
43. 根据权利要求42所述的方法,其中,所述第二派生伪名被计算为 T二f,其中,是所述根伪名,t是一个整数,并且其中,获取一个或多个资源凭证包括获取凭证信息 <,并且将^二、.^存储为资源凭证。
44. 根据权利要求39所述的方法,其中,所述第一派生伪名被计算为 T'=,,其中/是所述根伪名,t'是一个整数,并且其中,所述柔性凭证被计算为V二(fl^T或V二T'(t ),其中 ,『l,..., 6,是所述一组资源 凭证。
45. 根据权利要求39所述的方法,还包括根据用户唯一参数生成追査参数,其中所述追査参数可以与所述根伪 名或从所述根伪名生成的派生伪名 一同用于追査用户身份。
46. 根据权利要求39所述的方法,还包括获取伪名吊销参数,所述伪名吊销参数可用于吊销所述根伪名和从所 述根伪名生成的任何派生伪名;以及根据所述伪名吊销参数,生成与派生伪名一同使用的伪名吊销验证参数。
47. —种在通信系统中管理对一个或多个资源的访问的装置,包括 伪名验证单元,被配置为验证用户的派生伪名; 柔性凭证验证单元,被配置为验证用户的柔性凭证;和授权单元,被配置为基于所述伪名验证单元和所述柔性凭证验证单元 的验证结果,授权用户访问与所述柔性凭证相对应的一组资源。
48. 根据权利要求47所述的装置,还包括 吊销列表获取单元,被配置为获取资源的吊销列表。
49. 根据权利要求48所述的装置,其中,所述伪名验证单元还被配置为基于所述吊销列表中的参数,验证所述用户的凭证吊销验证参数。
50. 根据权利要求47所述的装置,其中,所述伪名验证单元还被配置 为验证用户的伪名吊销验证参数。
51. —种在通信系统中管理对一个或多个资源的访问的方法,包括验证用户的派生伪名; 验证用户的柔性凭证;以及基于所述派生伪名和所述柔性凭证的验证结果,授权用户访问与所述 柔性凭证相对应的一组资源。
52. 根据权利要求51所述的方法,还包括 获取资源的吊销列表。
53. 根据权利要求52所述的方法,其中,验证用户的派生伪名还包括 基于资源的吊销列表中的参数,验证所述用户的凭证吊销验证参数。
54. 根据权利要求51所述的方法,其中,验证用户的派生伪名还包括 验证用户的伪名吊销验证参数。
全文摘要
一种使用匿名柔性凭证的用于分布式授权的方法和装置。伪名机构向用户颁发根伪名。用户可以从根伪名生成大量派生伪名。用户可以使用派生伪名从资源持有者获取资源凭证。用户可以选择一组资源凭证,从这组资源凭证生成一个柔性凭证,并使用该柔性凭证和派生伪名向资源持有者请求访问与这组资源凭证相对应的资源。可以在系统中维护每个资源的吊销列表,从而任一用户的任一资源凭证可以被吊销,而不影响该用户的其他资源凭证。
文档编号H04L9/32GK101335622SQ20071012270
公开日2008年12月31日 申请日期2007年6月27日 优先权日2007年6月27日
发明者柯 曾 申请人:日电(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1