基于代理重签名的跨域身份认证方法

文档序号:9754580阅读:1112来源:国知局
基于代理重签名的跨域身份认证方法
【技术领域】
[0001 ]本发明属于网络安全技术领域,涉及一种跨域身份认证方法,尤其涉及一种基于 代理重签名的跨域身份认证方法。
【背景技术】
[0002] 跨域认证的目的是允许用户访问跨多个域的多个用户,而不需要重新认证。也就 是用户在一个web站点登录,一旦认证通过,用户再次访问同信任域时,不需要再次对该用 户进行认证就可以访问相应的资源。目前大部分身份认证平台采用传统的用户名和口令组 合认证机制,这种技术存在两个主要的弊端:一是安全系数低,很容易被截取和监听;二是 如果不同平台使用统一的用户名和密码,很容易造成用户身份信息的泄露。在传统静态网 络上,基于PKI/CA的跨域身份认证研究已经取得了较好的结果。但是,现有基于PKI/CA的跨 域身份认证技术中,信任路径构造复杂,甚至会出现路径无法构造的情况,大大影响了跨域 身份认证技术的应用范围。此外,证书验证时需要从待验证书一直检测到根证书,层层递 推,导致验证路径过长、验证效率较低。
[0003] 身份认证是任何保密通信系统最为关键的问题之一。安全有效的密钥管理是保证 身份认证系统安全性的基础。在现有的网络环境中,由于网络被划分成了不同的信任域,分 别由各自的CA来认证管理,因此当异域用户通信时,无法直接使用诸如PKI公钥证书等传统 身份认证技术。因为在这类身份认证方案中,需要实时地进行证书状态验证或者定期地发 布证书废除列表。

【发明内容】

[0004] 本发明的目的是提供一种基于代理重签名的跨域身份认证方法,在保证保密通信 的前提下,提高验证效率,实现不同信任域用户之间的快捷通信。
[0005] 为实现上述目的,本发明所采用的技术方案是:一种基于代理重签名的跨域身份 认证方法,具体按以下步骤进行: 步骤1:某用户在若干个信任域中进行注册,每个信任域的证书签证机关均为该用户生 成公钥和私钥,该公钥以证书的形式保存在用户端,该私钥用现有的AES加密算法加密后以 密文形式保存在本地;该用户成为所申请注册的若干个信任域的注册用户,然后该注册用 户向证书注册机构提出申请证书的请求,同时请求注册成为代理者,证书注册机构收到该 注册用户的请求后,对请求信息进行审核,审核通过,则将该注册用户的信息发送给该注册 用户已注册并申请代理的所有证书签证机关,收到证书注册机构发送的该注册用户信息的 证书签证机关为本证书签证机关给该注册用户生成的公钥生成证书,并将该生成的证书颁 发给该注册用户,该注册用户成为所申请代理证书签证机关的代理者,代理者生成所代理 的证书签证机关间的重签名密钥,并保存在表中; 重签名密钥这样生成:代理者输入当前时段i,代理者首先选择一个随机数Ay e Z二发 送给第一用户,然后第一用户利用第i时段的私钥skA>1计算并发送rk1>2= rkuskAjmodn) 给第二用户,接着第二用户利用第i时段的私钥skB,i计算并发送rki,3= skB,i/rki,2 (modn) 给代理者,最后代理者利用rki, 1生成第i时段的代理重签名密钥; 步骤2:当一个信任域的第一用户要向另一个信任域的第二用户发送消息时,第一用户 将自己的证书发送给第二用户,第二用户收到第一用户的证书后,发现彼此的证书是不同 证书签证机关颁发的,表明第一用户和第二用户是不同域的用户,此时,第二用户就把第一 用户的证书发送给代理者,代理者收到第一用户发送的第二用户的证书后,先用该证书的 根证书签证机关公钥验证该证书的合法性,然后用重签名密钥和第二用户所在信任域的证 书签证机关的公钥生成第二用户所在信任域的证书签证机关对第一用户的临时证书,即对 第一用户的证书重签名,之后代理者把临时证书发送给第二用户,第二用户收到该临时证 书后,用自己的公钥和收到的临时证书上所携带的公钥进行比较,验证第一用户的身份,若 第二用户的公钥和第一用户的临时证书的公钥相等,第二用户能够确信第一用户是合法用 户,则第二用户和第一用户可直接通信;同理,当第二用户访问第一用户时,以同样的方法 进行身份认证,实现双向身份认证。
[0006] 本发明跨域身份认证方法在加入了半可信第三方(即代理者)的情况下,通过保护 数据完整性与数据机密性的方法,实现了用户公私钥对的安全分配与确认,获得并确认了 对方用户的公钥证书以后,可以实现与对方的安全通信,避免了传统PKI/CA身份认证方法 中的证书路径过长的问题,有效提高了验证效率。本发明跨域身份认证方法适用于诸如电 子商务,车载通信,电子政务的内外网用户身份认证或者在云计算上的身份认证以及网上 银行等领域具有重要的应用价值。
【附图说明】
[0007] 图1是本发明身份认证方法的原理示意图。
[0008] 图2是本发明身份认证方法实际应用的原理示意图。
【具体实施方式】
[0009] 下面结合附图和【具体实施方式】对本发明进行详细说明。
[0010] 本发明提供的基于代理重签名的身份认证方法,使处于不同信任域的两个用户进 行通信时,通过代理者将异域用户证书转换成为本域的临时证书,完成身份认证,保证通信 双方的身份的合法性,同时,在不同信任域用户间通信的情况下,为进行身份认证、数据保 密等安全方案提供可靠的证书信息。该认证方法具体按以下步骤进行: 步骤1:某用户在若干个信任域中进行注册,每个信任域的证书签证机关(CA)均为该用 户生成公钥和私钥,该私钥这ME: <,公钥(式中,η=Μ表示有限域g中元素的个 数,其中p=2Pl+l,q=2qi +1,这里口丨和如是两个大素数;T表示签名的总周期;X是用户从有限 ±或<:中选取的随机数),该公钥以证书的形式保存在用户端,采用现有的AES加密算法对该 私钥加密后以密文形式保存在本地;该用户成为所申请注册的若干个信任域的注册用户, 然后该注册用户向证书注册机构(RA)提出申请证书的请求,同时请求注册成为代理者,并 按要求填写和提交相关信息,例如,他必须填写隶属于哪个CA,以及其他身份信息;RA收到 该注册用户的请求后,对请求信息进行审核,比如检查用户所申请的CA及注册用户自身的 份信息是否有效,如果审核通过,则将该注册用户的信息发送给该注册用户已注册并申请 代理的所有CA,收到RA发送的该注册用户信息的CA为本CA给该注册用户生成的公钥生成证 书,并将该生成的证书颁发给该注册用户,该注册用户成为所申请代理CA的代理者,代理者 生成所代理的CA间的重签名密钥,并保存在表中; 重签名密钥这样生成:代理者输入当前时段i,代理者首先选择一个随机数汝发 送给用户A,然后用户A利用第i时段的私钥skA>1计算并发送rk1>2= rkusk/uUodn)给用户B (rk1>2是辅助计算而引入的变量,没有实际含义)接着用户B利用第i时段的私钥成^计算并 发送rki,3= skB,i/rki,2 (modn) (rki,3是辅助计算而引入的变量,没有实际含义)给代理者, 最后代理者利用1'匕,1生成第;[时段的代理重签名密钥欢^_^.. = ?^|1南53(31磁?5:}。
[0011] 步骤2:当一个信任域的用户A要向另一个信任域的用户B发送消息时,用户A将自 己的证书发送给用户B,用户B收到用户A的证书后,发现彼此的证书是不同CA颁发的,则表 明用户A和用户B是不同域的用户,此时,用户B就把用户A的证书发送给代理者,代理者收到 用户A发送的用户B的证书后,先用该证书的根CA公钥验证该证书的合法性,然后用重签名 密钥和用户B所在信任域的CA的公钥生成用户B所在信任域的CA对用户A的临时证书,即对 用户A的证书重签名(具体算法如下),并把生成该临时证书的记录保存在相应的数据库表 中,之后代理者把临时证书发送给用户B,用户B收到该临时证书后,用自己的公钥和收到的 临时证书上所携带的公钥进行比较,验证用户A的身份,若用户B的公钥和用户A的临时证书 的公钥相等,用户B能够确信用户A是合法用户,则用户B和用户A可直接进行通信;同理,当 用户B访问用户A时,以同样的方法进行身份认证,实现双向身份认证。
[0012] 重签名算法:输入用户A的公钥pkA和一个第i时间段消息m的原始签名
)>,.代理者首先验证(^的合法性,如果¥61^€7化1^,111, σΑ)=〇,则输出丄(丄表示签名不合法,验证不通过);否则,代理者令σΒ,ρσο,计算hB=H(m, σ b , 1 )和 *^2 = ,生成第 i 时段消息 m 的重签名 σ b = ( σ b , :l,σ b , 2 )
5式中r是从有限域< 中 选取的随机数,Verify ()表示下述的签名验证算法。
[0013] 例如:在网络环境中,首先,两用户建立通信时,需要确定彼此的身份是否合法,对 方是否就是所要通信的对象,即要先利用公钥证书完成身份认证,才可进行会话。在会话过 程中,为防止敌方对会话信息进行窃听、重放、篡改等非法行为,要求通信双方对所有会话 进行数字签名后发送,作为接受收方的用户只需输入自己的公钥证书即可完成认证,如图1 所示。其中的公钥证书中所携带的内容,除了用户自身的公开密钥之外,还可以是公开密钥 的证书的主体信息、证书序列号、证书签发机构和证书有效期等。其中的数字签名是指用户 对自己要发送的消息进行消息摘要后采用系统提供的数字签名算法进行签名,作为接收者 的用户输入自己的公钥即可对签名进行认证,认证通过则表明收到的消息是完整的,可靠 的。采用的签名算法和签名验证算法如下: 签名算法:用户A选择一个随机数re茗,首先利用要发送的消息m计算签名的第一部 AiKr表示从有限域<中选取的随机数,hA表示对消息m 和签名第一部分σΑ>1做完哈希函数的值孖:私fig表示安全的哈希函数),然后利用第i
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1