一种基于公钥自证明的认证加密方案
来源:岁月联盟
时间:2010-08-30
1 前言
随着计算机和通信技术的迅速,数字签名在商务、身份认证等方面广泛应用。数字签名通常是指签名者使用私钥对给定的消息签名,而验证者使用签名者的公钥验证签名。为了保证签名者所公布公钥的可靠性,一些学者们提出了基于证书的认证加密方案[1,2]。假定有一个可信任的第三方CA为其用户颁发公钥证书,签名者用私钥对消息签名,验证者验证签名要进行两次签名验证:第一,利用签名者公钥证书中的公钥验证对消息的签名,第二,验证CA对签名人公钥证书的签名。由于用户的公钥保存在一个权威认证机构的公开密钥目录中,系统很容易遭到主动攻击和假冒攻击,而且CA的网络处理能力也成为制约系统效率的一个“瓶颈”。 针对这一安全隐患,Shamir[3]于1984年提出了基于标识(ID)的密码体制思想。在该密码体制中,用户的标识用作公钥,因此用户的公钥不需要单独的认证证书。但是,该方案中用户的私钥由系统提供的,系统能够冒充用户。Girault[4]于1991年提出自证明公钥的方案,有效解决了认证中心假冒用户地问题。在此方案中,认证中心使用系统的私钥为用户的标识签名,任何用户都能够从签名中推导出用户的公钥,用户的公钥不需要单独的认证证书。与基于标识的认证加密体制相比,自证明密码体制大大减少系统存储空间和计算量,且用户自己选择密钥,认证中心不知道用户的私钥,无法冒充用户,具有更高的安全性。一些学者[5,6,7]对公钥自证明密码体制进行了大量研究,将公钥自证明方案沿用到了电子选举、电子商务等领域。 本文基于Girault自证明公钥的原理,提出了一种新的基于公钥自证明的认证加密方案。该方案中,接受者不需要保存用户的公钥,传送消息之前不需要进行公钥的自证明,消息接收者在恢复消息、验证签名的过程中实现对签名者的身份认证;签名者者不需要发送原消息,只有特定的接收者才能接收签名并恢复消息。而且,认证中心使用私钥为用户公钥签名,避免攻者冒充认证中心伪造公钥签名。2 方案描述
2.1 系统初始化阶段
在系统初始化阶段,认证中心(CA)负责生成系统参数。CA首先选择两个大素数p和q,使p=2p’ +1和q=2q’+1,其中p’ 和q’也是素数,然后计算n=p*q,及其欧拉函数 φ(n)=(p-l)(q-1)。然后选择一个随机整数e,l<e< φ(n),gcd(e,φ(n) =1, 并计算 d,使得ed=1 mod φ(n) ,接着CA选择一个整数g,g是n=p*q的基元。还公布一个单向hash函数h( )。 CA的秘密参数:p、q、p’ 、q’、φ(n) 以及d, CA的公开参数:e、n 、g和h( )。2.2 用户注册阶段
为了使向CA注册的用户获取的公钥证书,而CA不知道用户的私钥,因此用户公钥的分发不能简单地由CA 产生颁布。同时也为了用户身份的匿名要求,对CA也不能暴露,因此公钥证书的产生要由用户与CA共同协商完成。把这个注册过程称之为用户注册协议。 步骤1:用户UA计算hA=h(IDA),其中IDA代表UA的身份标识,且对CA保密,UA以匿名的身份hA向CA提出注册申请; 步骤2:CA检查核实用户hA的身份,若hA通过身份检查,则CA计算rA = g-d mod n,将 rA 传送给UA; 步骤3:UA 收到rA 后,任选一个随机数




2.3 签名生成阶段
假定用户UA 对消息M的签名,并将签名的消息传递给指定的接收者UB。消息M签名生成过程如下: 步骤1:UA 向UB发送要进行签名的请求,并将CA, hA 传送给UB; 步骤2:UB 接收到UA的签名请求,将CB 传送给UA; 步骤3:UA 接收到UB 发送的CB后,计算
2.4 消息恢复验证阶段
UB接收到消息M的签名(r1 ,r2 , s)后,恢复消息M,并对恢复的消息M进行验证。恢复并验证消息的过程如下: 步骤1:
;


3 安全性分析
(1)攻击者不可能伪造CA的公钥签名。CA为用户UA的公钥签名时使用了私钥。任何攻击者不知道UA的公钥是不可能伪造CA的签名。因为

4 方案的比较
本文所提出的基于公钥自证明的认证加密方案是根据Girault的公钥自证明原理,在Tseng yuh-Min等人的自证明方案的基础上进行设计的,同时根据[7]中对Tseng yuh- Min方案的缺点分析,提出的一种更安全的公钥自证明方案。 首先,本方案中,CA对用户的公钥签名时有效引入CA的私钥,解决了攻击者可以假冒CA产生有效公钥认证的问题。在Tseng的认证加密方案,CA对用户公钥的证明没有使用CA的私钥,攻击者只要知道CA的签名等式,就可以假冒CA的签名。而本文的认证过程引入了CA的私钥,由于攻击者不知道CA的私钥,就不能产生有效的签名。只有CA才能使用私钥产生有效的签名。 同时,本方案的消息签名改正了Tseng的认证加密方案的缺陷。在tseng的认证加密签名方案中, r1和 r2具有线性关系,由

5 结论
本文的公钥自证明方案,实现了用户匿名注册、双向身份认证、数字签名以及消息恢复和验证。该方案与Tseng提出的方案相比,使用认证中心的私钥产生公钥,防止攻击者伪造公钥证明;而且改进了Tseng方案中攻击者可以伪造用户签名的缺点。同时,用户的身份证明在消息恢复和认证过程中实现,没有单独的用户身份认证阶段,减少了通信次数和信息量,很好地实现了通信双方的身份证明,有效地解决了密钥管理和密钥分发地问题,能够防止内部攻击,而需要的存储空间、通信量和计算量都很少,在IC卡、通信等领域有广泛的应用前景。文献
[1] Nyberg K, Rueppel RA. Message recovery for signature schemes on the discrete logarithm [A] .In: Perugia. pre-proceedings of Eurocyp’94[C].Italy,1994.175~190[2] Lee WB, Chang CC, Yang WP. Authenticated encryption schemes without using it one way function [J]. Electron letter.1995,31(19):1656~165[3]A Shamir. Identify-based cryptosystem based on the discrete logarithm problem[C]. In: Advances in cryptology-Eurocrypt’ 84,Springer,Berlin,1985:47~53 [4]M Girault. Self-certified public keys, LNCS 434 [C].In: Advances in cryptology: Proc.Eurocrypt’91, Springer, 1991: 490~497[5] Y Shang, T C Wu , S C Huang . ElGamal-like digital signature and multisignature schemes using self-certified public keys [J]. Journal of Systems and software, 2000;50(2):99~105[6] Y M Tseng, J K Jan , H Y Chien. Digital signature with message recovery using self-certified public keys and its variants [J]. Applied Mathematics and Computation, 2003; 136(2-3): 203~214[7] Jianhong Zhang, Hu'an Li. On the security of a digital signature with message recovery using self-certified public key [J]. Networking and Mobile Computing, 2005. Proceedings. 2005; 2(23~26): 1171 - 1174[8]. Networking and Mobile Computing, 2005. Proceedings. 2005; 2(23~26): 1171 - 1174上一篇:一个算法演示课件的制作