H04L29/06
1.一种基于代理重签名的跨域身份认证方法,其特征在于,该认证方法具体按以下步 骤进行:
步骤1:某用户在若干个信任域中进行注册,每个信任域的证书签证机关均为该用户生 成公钥和私钥,该公钥以证书的形式保存在用户端,该私钥用现有的AES加密算法加密后以 密文形式保存在本地;该用户成为所申请注册的若干个信任域的注册用户,然后该注册用 户向证书注册机构提出申请证书的请求,同时请求注册成为代理者,证书注册机构收到该 注册用户的请求后,对请求信息进行审核,审核通过,则将该注册用户的信息发送给该注册 用户已注册并申请代理的所有证书签证机关,收到证书注册机构发送的该注册用户信息的 证书签证机关为本证书签证机关给该注册用户生成的公钥生成证书,并将该生成的证书颁 发给该注册用户,该注册用户成为所申请代理证书签证机关的代理者,代理者生成所代理 的证书签证机关间的重签名密钥,并保存在表中;
重签名密钥这样生成:代理者输入当前时段i,代理者首先选择一个随机数 发 送给第一用户,然后第一用户利用第i时段的私钥sk A,i计算并发送rk i,2=rk i,1sk A,i(modn) 给第二用户,接着第二用户利用第i时段的私钥sk B,i计算并发送rk i,3=sk B,i/rk i,2(modn) 给代理者,最后代理者利用rk i,1生成第i时段的代理重签名密钥 步 骤2:当一个信任域的第一用户要向另一个信任域的第二用户发送消息时,第一用户将自己 的证书发送给第二用户,第二用户收到第一用户的证书后,发现彼此的证书是不同证书签 证机关颁发的,表明第一用户和第二用户是不同域的用户,此时,第二用户就把第一用户的 证书发送给代理者,代理者收到第一用户发送的第二用户的证书后,先用该证书的根证书 签证机关公钥验证该证书的合法性,然后用重签名密钥和第二用户所在信任域的证书签证 机关的公钥生成第二用户所在信任域的证书签证机关对第一用户的临时证书,即对第一用 户的证书重签名,之后代理者把临时证书发送给第二用户,第二用户收到该临时证书后,用 自己的公钥和收到的临时证书上所携带的公钥进行比较,验证第一用户的身份,若第二用 户的公钥和第一用户的临时证书的公钥相等,第二用户能够确信第一用户是合法用户,则 第二用户和第一用户可直接通信;同理,当第二用户访问第一用户时,以同样的方法进行身 份认证,实现双向身份认证。
2.根据权利要求1所述的基于代理重签名的跨域身份认证方法,其特征在于,所述步 骤1中,每个信任域的证书签证机关为该用户生成的公钥 生成的私钥 式中,n=pq表示有限域 中元素的个数,其中p=2p 1+1,q=2q 1+1,p 1和q 1是两个 大素数;T表示签名的总周期;x是用户从有限域 中选取的随机数。
3.根据权利要求1所述的基于代理重签名的跨域身份认证方法,其特征在于,所述步 骤2中的重签名算法:输入第一用户的公钥pk A和一个第i时间段消息m的原始签名 代理者首先验证σ A的合法性,如果Verify(pk A, m,σ A)=0,则输出⊥;否则,代理者令σ B,1=σ A,1,计算h B=H(m,σ B,1)和,生成第i时段消息m的重 签名σ B=(σ B,1,σ B,2) 式 中r是从有限域 中选取的随机数。
6.根据权利要求3、4或5所述的基于代理重签名的跨域身份认证方法,其特征在于,在 每个时段,用户的密钥不同,用如下算法对用户的密钥进行更新:输入当前时段i的私钥sk i 和用户第i-1时段的私钥sk i-1,如果i>T,输出T;否则,输出第i时段的私钥sk i=(sk i-1) 2 (modn),并删除sk i-1。
4.根据权利要求1所述的基于代理重签名的跨域身份认证方法,其特征在于,所述步骤 2中,第二用户验证第一用户的身份时采用的签名验证算法:第二用户输入时间段i、消息m、 公钥pk和签名σ=(σ 1,σ 2),如果 输出1,表示验证通过;否 则,输出0。
5.根据权利要求1所述的基于代理重签名的跨域身份认证方法,其特征在于,若同时有 多个用户向代理者发送验证请求,此时,代理者可以对多个签名同时进行验证,具体算法如 下:输入时间段i,公钥pk和k个消息签名对(m j,(σ 1,j,σ 2,j))((m j,(σ 1,j,σ 2,j))表示批量验证 算法中的第j个用户的消息和签名对(m j表示第j个用户的明文,(σ 1,j、σ 2,j)表示第j个用户 的签名)),计算 如果 输出1;否则,输出0。
本发明属于网络安全技术领域,涉及一种跨域身份认证方法,尤其涉及一种基于 代理重签名的跨域身份认证方法。
跨域认证的目的是允许用户访问跨多个域的多个用户,而不需要重新认证。也就 是用户在一个web站点登录,一旦认证通过,用户再次访问同信任域时,不需要再次对该用 户进行认证就可以访问相应的资源。目前大部分身份认证平台采用传统的用户名和口令组 合认证机制,这种技术存在两个主要的弊端:一是安全系数低,很容易被截取和监听;二是 如果不同平台使用统一的用户名和密码,很容易造成用户身份信息的泄露。在传统静态网 络上,基于PKI/CA的跨域身份认证研究已经取得了较好的结果。但是,现有基于PKI/CA的跨 域身份认证技术中,信任路径构造复杂,甚至会出现路径无法构造的情况,大大影响了跨域 身份认证技术的应用范围。此外,证书验证时需要从待验证书一直检测到根证书,层层递 推,导致验证路径过长、验证效率较低。
身份认证是任何保密通信系统最为关键的问题之一。安全有效的密钥管理是保证 身份认证系统安全性的基础。在现有的网络环境中,由于网络被划分成了不同的信任域,分 别由各自的CA来认证管理,因此当异域用户通信时,无法直接使用诸如PKI公钥证书等传统 身份认证技术。因为在这类身份认证方案中,需要实时地进行证书状态验证或者定期地发 布证书废除列表。
本发明的目的是提供一种基于代理重签名的跨域身份认证方法,在保证保密通信 的前提下,提高验证效率,实现不同信任域用户之间的快捷通信。
为实现上述目的,本发明所采用的技术方案是:一种基于代理重签名的跨域身份 认证方法,具体按以下步骤进行:
步骤1:某用户在若干个信任域中进行注册,每个信任域的证书签证机关均为该用户生 成公钥和私钥,该公钥以证书的形式保存在用户端,该私钥用现有的AES加密算法加密后以 密文形式保存在本地;该用户成为所申请注册的若干个信任域的注册用户,然后该注册用 户向证书注册机构提出申请证书的请求,同时请求注册成为代理者,证书注册机构收到该 注册用户的请求后,对请求信息进行审核,审核通过,则将该注册用户的信息发送给该注册 用户已注册并申请代理的所有证书签证机关,收到证书注册机构发送的该注册用户信息的 证书签证机关为本证书签证机关给该注册用户生成的公钥生成证书,并将该生成的证书颁 发给该注册用户,该注册用户成为所申请代理证书签证机关的代理者,代理者生成所代理 的证书签证机关间的重签名密钥,并保存在表中;
重签名密钥这样生成:代理者输入当前时段i,代理者首先选择一个随机数发
送给第一用户,然后第一用户利用第i时段的私钥skA,i计算并发送rki,2=rki,1skA,i(modn)
给第二用户,接着第二用户利用第i时段的私钥skB,i计算并发送rki,3=skB,i/rki,2(modn)
给代理者,最后代理者利用rki,1生成第i时段的代理重签名密钥;
步骤2:当一个信任域的第一用户要向另一个信任域的第二用户发送消息时,第一用户 将自己的证书发送给第二用户,第二用户收到第一用户的证书后,发现彼此的证书是不同 证书签证机关颁发的,表明第一用户和第二用户是不同域的用户,此时,第二用户就把第一 用户的证书发送给代理者,代理者收到第一用户发送的第二用户的证书后,先用该证书的 根证书签证机关公钥验证该证书的合法性,然后用重签名密钥和第二用户所在信任域的证 书签证机关的公钥生成第二用户所在信任域的证书签证机关对第一用户的临时证书,即对 第一用户的证书重签名,之后代理者把临时证书发送给第二用户,第二用户收到该临时证 书后,用自己的公钥和收到的临时证书上所携带的公钥进行比较,验证第一用户的身份,若 第二用户的公钥和第一用户的临时证书的公钥相等,第二用户能够确信第一用户是合法用 户,则第二用户和第一用户可直接通信;同理,当第二用户访问第一用户时,以同样的方法 进行身份认证,实现双向身份认证。
本发明跨域身份认证方法在加入了半可信第三方(即代理者)的情况下,通过保护 数据完整性与数据机密性的方法,实现了用户公私钥对的安全分配与确认,获得并确认了 对方用户的公钥证书以后,可以实现与对方的安全通信,避免了传统PKI/CA身份认证方法 中的证书路径过长的问题,有效提高了验证效率。本发明跨域身份认证方法适用于诸如电 子商务,车载通信,电子政务的内外网用户身份认证或者在云计算上的身份认证以及网上 银行等领域具有重要的应用价值。
图1是本发明身份认证方法的原理示意图。
图2是本发明身份认证方法实际应用的原理示意图。
下面结合附图和具体实施方式对本发明进行详细说明。
本发明提供的基于代理重签名的身份认证方法,使处于不同信任域的两个用户进 行通信时,通过代理者将异域用户证书转换成为本域的临时证书,完成身份认证,保证通信 双方的身份的合法性,同时,在不同信任域用户间通信的情况下,为进行身份认证、数据保 密等安全方案提供可靠的证书信息。该认证方法具体按以下步骤进行:
步骤1:某用户在若干个信任域中进行注册,每个信任域的证书签证机关(CA)均为该用
户生成公钥和私钥,该私钥,公钥(式中,n=pq表示有限域中元素的个
数,其中p=2p1+1,q=2q1+1,这里p1和q1是两个大素数;T表示签名的总周期;x是用户从有限
域中选取的随机数),该公钥以证书的形式保存在用户端,采用现有的AES加密算法对该
私钥加密后以密文形式保存在本地;该用户成为所申请注册的若干个信任域的注册用户,
然后该注册用户向证书注册机构(RA)提出申请证书的请求,同时请求注册成为代理者,并
按要求填写和提交相关信息,例如,他必须填写隶属于哪个CA,以及其他身份信息;RA收到
该注册用户的请求后,对请求信息进行审核,比如检查用户所申请的CA及注册用户自身的
份信息是否有效,如果审核通过,则将该注册用户的信息发送给该注册用户已注册并申请
代理的所有CA,收到RA发送的该注册用户信息的CA为本CA给该注册用户生成的公钥生成证
书,并将该生成的证书颁发给该注册用户,该注册用户成为所申请代理CA的代理者,代理者
生成所代理的CA间的重签名密钥,并保存在表中;
重签名密钥这样生成:代理者输入当前时段i,代理者首先选择一个随机数发
送给用户A,然后用户A利用第i时段的私钥skA,i计算并发送rki,2=rki,1skA,i(modn)给用户B
(rki,2是辅助计算而引入的变量,没有实际含义)接着用户B利用第i时段的私钥skB,i计算并
发送rki,3=skB,i/rki,2(modn)(rki,3是辅助计算而引入的变量,没有实际含义)给代理者,
最后代理者利用rki,1生成第i时段的代理重签名密钥。
步骤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时,以同样的方法进行身份认证,实现双向身份认证。
重签名算法:输入用户A的公钥pkA和一个第i时间段消息m的原始签名
代理者首先验证σA的合法性,如果Verify(pkA,m,
σA)=0,则输出⊥(⊥表示签名不合法,验证不通过);否则,代理者令σB,1=σA,1,计算hB=H(m,
σB,1)和生成第i时段消息m的重签名σB=(σB,1,σB,2)
式中r是从有限域中
选取的随机数,Verify()表示下述的签名验证算法。
例如:在网络环境中,首先,两用户建立通信时,需要确定彼此的身份是否合法,对 方是否就是所要通信的对象,即要先利用公钥证书完成身份认证,才可进行会话。在会话过 程中,为防止敌方对会话信息进行窃听、重放、篡改等非法行为,要求通信双方对所有会话 进行数字签名后发送,作为接受收方的用户只需输入自己的公钥证书即可完成认证,如图1 所示。其中的公钥证书中所携带的内容,除了用户自身的公开密钥之外,还可以是公开密钥 的证书的主体信息、证书序列号、证书签发机构和证书有效期等。其中的数字签名是指用户 对自己要发送的消息进行消息摘要后采用系统提供的数字签名算法进行签名,作为接收者 的用户输入自己的公钥即可对签名进行认证,认证通过则表明收到的消息是完整的,可靠 的。采用的签名算法和签名验证算法如下:
签名算法:用户A选择一个随机数首先利用要发送的消息m计算签名的第一部
分和hA=H(m,σA,1)(r表示从有限域中选取的随机数,hA表示对消息m
和签名第一部分σA,1做完哈希函数的值表示安全的哈希函数),然后利用第i
时段的私钥计算签名的第二部分最后生成
第i时间段要发送消息m的用户A的签名σA=(σA,1,σA,2)。
签名验证算法:用户B输入时间段i、消息m、公钥pk和签名σ=(σ1,σ2),如果
输出1,表示验证通过;否则,输出0。(σ1表示签名的第一部
分,σ2分别表示签名的第二部分)
在每个时段,用户的密钥是不同的,用如下算法对用户的密钥进行更新:输入当前时段 i的私钥ski和用户第i-1时段的私钥ski-1,如果i>T,输出T;否则,输出第i时段的私钥ski= (ski-1)2(modn),并删除ski-1。
若同时有多个用户向代理者发送验证请求,此时,代理者可以对多个签名同时进
行验证,具体算法如下:输入时间段i,公钥pk和k个消息签名对(mj,(σ1,j,σ2,j))((mj,(σ1,j,
σ2,j))表示批量验证算法中的第j个用户的消息和签名对(mj表示第j个用户的明文,(σ1,j、
σ2,j)表示第j个用户的签名)),计算
如果输出1;否则,输出0。
接上例,当本域的用户A(用户A的证书由CA1颁发)要向异域用户B(用户B的证书由 CA2颁发)发送消息时,用户A将自己的证书发送给用户B,用户B收到用户A的证书后,发现彼 此的证书是不同CA颁发的,表明用户A和用户B是不同域的用户,此时,用户B就把用户A的 证书发送给代理者,代理者收到证书后,先用证书的根CA公钥验证证书合法性,然后用重签 名密钥和CA2的公钥生成CA2对用户A的临时证书,并把生成临时证书的记录保存在相应的数 据库表中,最后代理者把临时证书发送给用户B,用户B用此临时证书去验证用户A的身份, 发现他们持有同一CA2颁发的证书,之后就可直接进行通信,如图2所示。同理,当用户B访问 用户A时,以同样的方法进行身份认证,从而,可以实现双向身份认证。
假设两个用户通信时,同时存在不安全的非法用户和相对安全的合法用户。非法 用户能够完全控制两个用户的通信过程,包括对所传递的未进行加密和签名的信息进行窃 听、重放、篡改等攻击;但无法对传递的密文信息进行篡改,也无法主动发起会话,因为只有 身份认证通过后才可发起会话,即信道上所传递的信息具备真实性和来源确定性等特点。 因此,本发明认证方法利用代理者转换证书和现有的PKI/CA跨域身份认证技术的特点,用 CA给下属的普通用户和代理者的公钥颁发证书,并且代理者将用户的公钥证书转换为临时 证书,用户收到临时证书后,通过输入自己的公钥并和临时证书上所携带的公钥进行比较, 确认消息双方的身份合法性,并且可以判断信息的完整性。如果临时证书上的公钥和接受 者的公钥相等,则通信双方的身份可以得到确认,接受者能够确信发送者是合法用户。本发 明认证方法利用网络节点,由社会的各级CA来管理或参与的特点,把人与人之间的信任关 系应用到身份认证过程之中。当其它信任域的用户访问本域的用户时,他们仅与代理者(半 可信第三方)直接建立联系,将异域用户的证书发送给代理者;代理者将异域的用户证书转 换为本域的用户新证书,而本域用户通过用户新证书(临时证书)来确认异域访问用户身份 的合法性。
本发明跨域身份认证方法借助代理重签名所具有的转换签名的特性,将PKI/CA与 代理重签名相结合,并且利用加密技术和本发明的代理者身份认证方案来保证公钥证书和 数字签名的可信性和完整性。比如,在车载通信网络中,当两辆汽车距离足够近时,司机可 以相互确认对方汽车或者通过红外技术建立可信通信通道,此时通过车载无线宽带通信信 道,相互可以交换公钥证书,通过可信通信信道确认对方的身份并验证公钥的完整性。这种 特点正好适合公钥证书安全性的要求,因为公钥证书不需要保密,但是需要确保公钥与其 所有者的身份对应关系不被篡改。
本发明认证方法与现有方法的对比,
表1本发明认证方法和现有方法的对比
如表1所示。通过表1可以看出,本发明方法采用证书认证,相较于传统口令认证更安 全;无需建立证书路径,因此更高效;还满足前向安全性,从而说明,本文发明方法满足可行 性,高效性及安全性。
本文发布于:2023-04-15 06:55:39,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/87124.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |