[发明专利]基于SGX的动态网络身份认证方法有效
申请号: | 201810190643.5 | 申请日: | 2018-03-08 |
公开(公告)号: | CN108418691B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 肖晟;孙海友 | 申请(专利权)人: | 湖南大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L9/06;H04L29/06 |
代理公司: | 长沙正奇专利事务所有限责任公司 43113 | 代理人: | 马强;王娟 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sgx 动态 网络 身份 认证 方法 | ||
1.一种基于SGX的动态网络身份认证方法,其特征在于,包括以下步骤:
1)用户将自身的身份信息注册到服务器的数据库中,用户身份信息包括代表用户U自身的账号id,即IDu以及用户密码Pu的摘要值S;初始化SGX模块和认证服务器;
2)用户发送自己的验证信息Message到SGX模块,开始进行身份验证;用户发送的Message包括:IDu、S′‘以及Rand;其中S′‘=SHA(P′’)是用户当前输入的密码P′'的摘要值,Rand是随机生成的字段;
3)SGX模块在获取到用户发送过来的Message之后,根据IDu,在Enclave中获取IDu所对应的用户目录下的共享密钥Ks;SGX模块使用Ks以及对称加密算法E()对S′‘、初始的序号Seqs、Rand进行加密,生成加密之后的E(Ks,S′‘)、E(Ks,Seqs)与E(Ks,Rand);同时SGX模块对Message进行计算,生成HMAC值,即HMAC;Ks是当前用户IDu当前时刻在SGX中保存的密钥,E为AES对称加密函数,输入密钥以及明文能够输出密文;
4)认证服务器首先根据IDu获数据库中该用户所对应的密码摘要值S与当前的共享密钥Ki_now;接着使用Ki_now以及对称解密算法D()进行解密Sd=D(Ki_now,E(Ks,S′‘))、Seqd=D(Ki_now,E(Ks,Seqs))和Randd=D(Ki_now,E(Ks,Rand)),并对解密之后的数据进行计算,生成HMAC值,即HMAC′=h(Ki_now,IDu+Sd+Seqd+Randd);认证服务器进行身份验证,身份验证成功必须同时满足三个条件:条件1:HMAC′=HMAC;条件2:Seqd=Seqi;条件3:Sd=S;满足条件1说明认证服务器接收到的数据是正确、完整未被篡改的,满足条件2说明认证服务器接收到数据是正确的顺序,满足条件3说明用户IDu的密码是正确的;同时满足三个条件,用户IDu的身份验证成功;当用户IDu的身份验证通过后,认证服务器完成共享密钥的更新,实现共享密钥的动态性,更新基于每次认证接收到的数据,并且生成token返回给SGX模块,Token=E(Ki_now,IDu+Sd+Texpired);Seqi为认证服务器的序号;Ki_now是当前用户IDu在认证服务器数据库中保存的当前的对称密钥;D为AES对称解密函数,输入密钥以及密文能够输出的明文;Texpired为一个有效时间值,当前时间在Texpired之前,我们认为该Token是有效的;h()是MD5摘要值计算函数,输入原文可以输出该原文的MD5摘要值;
5)SGX模块在进行密钥更新之前,先假设用户IDu的身份验证成功,使用密钥更新的方法生成新的临时密钥Ktemp以及新的序号Seqtemp,使用新的临时密钥Ktemp对Token进行处理计算出HMAC值,即HMACtemp,将HMACtemp与HMACtoken进行相等性判断,用来确认HMACtoken与Token的正确与完整性;如果HMACtemp与HMACtoken相等,即验证通过,表明用户身份验证成功的假设成立,更新Ks=Ktemp,并且把HMACtoken与Token一起返回给用户;其中,HMACtoken=h(Ki_now,IDu+Sd+Texpired);HMACtemp=h(Ktemp,D(Ktemp,Token));
6)用户携带Token去请求服务,用户发送代表自己身份的IDu,此外还有身份验证之后获取到的Token以及HMACtoken;当服务提供方接收到信息之后,将IDu、Token以及HMACtoken发送给认证服务器,认证服务器进行Token有效性的判断,认证服务器根据IDu从数据库中获取到用户IDu所对应的共享密钥Ki_now,接着认证服务器使用密钥Ki_now以及解密算法D对Token进行解密:Token′=D(Ki_now,Token);认证服务器通过HMACtoken验证Token的正确和完整性,当确认HMACtoken之后,认证服务器从Token′中获取到用户的身份信息以及Token的有效时间,认证服务器通过判断Texpired是否超时,判断Token是否有效,若Texpired未超时,通知应用服务器返回用户请求的服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810190643.5/1.html,转载请声明来源钻瓜专利网。