身份认证系统认证协议的设计与分析(编辑修改稿)内容摘要:

当认证代理服务器 AA 收到 Ticket_req 消息后,首先根据 CERTc 从CA 或本地缓冲取得用户证书,利用 CRL完成对证书有效性的检查。 如果证书验证通过,则从用户终端 C 的证书中取得其公钥 PUBc,用此公钥来验证 C 对信息( C, S, N)的签名,如果签名验证失败,则向客户端发送验证失败消息。 签名验证通过后, AA 找出 C 要访问的服务器 S,检查其是否有对服务器 S 的信 身份认证系统认证协议的设计与分析 (2) 息的访问权限,如果权限满足,将产生 Ticket_rep 消息: 主页: AAC:Ts,((Kcs,N)SIGNAA)ENCpubc 其中 Ts=((C,S,Kcs,N)SIGNAA)ENCpubs 为用户用以访问服务的票据 Ticket_rep 消息的构造过程如下: AA 首先产生一个会话密钥 Kcs,用于构造票据 Ts,在 Ts 中要加入用户 C 的标识,以说明此票据为用户 C 所拥有,其他人不能使用;加入 S 说明此票据的目的是用于 C 向 S 发出的访问;而后还要加入 N以保证票据的新鲜性;然后将这些信息签名,证明是由 AA 发出的,其它人不能假冒或篡改;最后用 S 的公钥将其加密,使得其它人不能查看其中的会话密钥 Kcs。 Ts 构造完后,还要将会话密钥 Kcs 通知用户 C,与对票据 Ts 的处理相似,首先将其用 AA 的私钥签名,然后用 C 公钥加密以防止其他人查看会话密钥 Kcs。 为了保持其新鲜性,在其中加入了 N。 3)服务请求 当用户收到 Ticket_rep 消息后,用户 C 利用自己的私钥解开((Kcs,N)SIGNAA)ENCpubc,用户检查得到的 N,看 N=Nc 是否成立,如果成立,则证明了其新鲜性;如果 NNc,则认为其为重放数据,主页: 并将其抛弃;如果 NNc,则认为某一方程序出现了错误,则退出。 而后, C 利用 AA 的证书验证 AA 对以上数据的签名,如果成功则说明信息的确是 AA 发送的,而不是别人伪造的。 当以上验证都通过后,C 将票据 Ts 和会话密钥 Kcs 保存下来,用来向服务器申请服务。 向服务器 S 申请服务的 S_req 消息如下: CS:Ts,(C,S,N)Kcs S_req 具体构造过程如下: C 将自己标识 C 和服务器标识 S 以及同步变量 N 用会话密钥 Kcs 加密后,连同 Ts 一起发往服务器 S。 在这里不能单纯地将 Ts 直接发往S,因为如果这样的话,非法用户可以在第二步中截获 Ts,然后去服务器认证。 如果加上( C,S,N) Kcs,则可以说明此消息为拥有 Kcs的用户发过来的,而且使用 N 保证了其新鲜性。 4)服务器身份认证 应用服务器 S 收到服务请求后,首先是对票据 Ts 的检查:先用自己的私钥将其解密,查看 C 和 S 可以知道此票据是否为用户 C 发出的,并且是发给自己的;然后取得 N,检查 NNs 是否成立,如果成立则通过验证,但如果 N=Ns,则认为此数据为重放数据,予以抛弃,主页: 并发回出错消息;以上验证通过后,使用 AA 的证书验证其签名,如果签名不正确发回出错信息。 对票据本身检查完毕后,还要对票据持有者进行检查:使用 Kcs 解开(C,S,N)Kcs,检查这里 C,S,N 是否与票据中的相符,以防止非法攻击者将不同的 Ts 和 (C,S,N)Kcs 组合。 当验证通过后,应该令 Ns=N,以防止重放。 对用户验证通过后,服务。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。