找论文网 > 计算机论文 > 计算机应用 >

一种基于公钥自证明的认证加密方案(1)

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

    步骤4:UA将对消息M的签名(r1 ,r2 , s)送给UB
 

共2页: 1 [2] 下一页


基于UDDI的Web服务发现系统的设计和实现
一个算法演示课件的制作
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图