一种轻量级认证与密钥协商的实现方法

文档序号:7773132阅读:459来源:国知局
一种轻量级认证与密钥协商的实现方法
【专利摘要】本发明涉及一种轻量级认证与密钥协商的实现方法,在任意两个网络节点设备之间预置一个长期共享密钥K,所述任意两个网络节点上各自存储一个计数器CTR;所述两个节点中实现加密算法E和伪随机数生成算法PRNG;在两个节点之间建立认证和共享密钥。本发明针对现有的网络认证技术和密钥协商技术不适合资源受限通信环境的问题,可以高效、安全地适用于具有大量资源受限节点的物联网或者移动通信网络。本发明中认证和密钥协商过程中只用到4次对称密码算法,并且可以使用轻量级的分组对称密码算法,需要的密钥长度较短,加解密速度快。认证过程只有两次信息交互便可以完成双向认证,通信的数据量较小,占用的网络资源少。
【专利说明】一种轻量级认证与密钥协商的实现方法
【技术领域】
[0001]本发明属于身份认证【技术领域】,涉及认证与密钥协商,具体涉及轻量级身份认证与密钥协商的实现方法,该方法适用于资源受限的网络环境中节点间的快速认证以及共
享密钥的建立。
技术背景
[0002]在网络环境中,信息交互是连接网络中节点的必要条件。而在信息交互的过程中,又很容易造成敏感信息的泄露。因此,在网络通信过程中,通过定义一组协议规则来规范节点之间的网络行为,从而实现对网络通信的安全保护是一项重要的研究内容。
[0003]网络通信过程中,保护数据不被非法窃取的最基本的技术手段是使用加密措施。在使用对称加密方案的网络系统中,网络节点间进行加密传输数据前,首先需要享有共同的会话密钥,因此需要定义一整套规则在两个或多个网络节点间协商会话密钥。
[0004]在使用对称加密方案的网络系统中,需要对通信双方的身份通过特定的身份认证机制来证明他们的身份,即验证网络节点的身份与其所宣称的是否一致,然后在通信双方间协商一个会话密钥用于通信过程中的加解密,这就是关键的认证与密钥协商(Authentication and Key Agreement, AKA)过程。AKA过程的基本步骤是先完成认证,然后再进行密钥协商,但有时候认证与密钥协商过程是结合在一起的。
[0005]为了保证3G通信的安全,3GPP的规范中定义了 AKA协议的具体过程和使用方法,为了说明方便,我们先介绍一下一些常用的缩写标记,在接下来要介绍的AKA协议中以及本发明的轻量级认证与密钥协商方法中都需要用到这些标记。
[0006]`
【权利要求】
1.一种轻量级认证与密钥协商的实现方法,在任意两个网络节点设备间预置共享密钥K、各自维护一计数器CTR,其步骤包括: 1)在一节点上生成随机数RAND并更新计数器,所述CTR的值为最近一次两网络节点间成功会话的序列号SQN=++CTR ;根据所述RAND、SQN和共享密钥K执行对称加密算法,计算得到认证消息AUTN、期望的响应XRES以及会话密钥SK ; 2)所述一节点将RAND和AUTN发送给另一节点进行认证; 3)所述另一节点根据接收到的RAND计算AK,并将AK与AUTN异或得到待验证的SQN,在所述另一节点端验证所述待验证SQN>CTR且待验证SQN〈CTR+N,其中N为常数,验证通过后更新CTR=SQN ; 4)所述另一节点根据已验证的SQN、随机数RAND、共享密钥K执行对称加密算法,计算得到响应消息RES以及SK,并将RES发送给所述任意一节点; 5)验证RES=XRES,则双方认证通过,所述两节点之间共享会话密钥SK。
2.如权利要求1所述的轻量级认证与密钥协商的实现方法,其特征在于,根据所述RAND, SQN和共享密钥K执行对称加密算法的具体步骤如下: 1)更新计数器SQN=++CTR后利用共享密钥K和随机数RAND作为输入,执行对称加密算法得到AK ; 2)将AK与SQN异或得到AUTN作为输出; 3)所述SQN与随机数RAND异或,异或结果循环左移之后再次利用密钥K和对称加密算法加密得到XRES作为输出; 4)所述SQN与随机数RAND异或,异或结果循环左移之后利用密钥K和对称加密算法加密得到会话密钥高比特SK作为输出; 5)所述SQN与随机数RAND异或,异或结果循环左移之后利用密钥K和对称加密算法加密得到会话密钥低比特SK作为输出。
3.如权利要求2所述的轻量级认证与密钥协商的实现方法,其特征在于,所述AUTN为64比特认证消息、所述XRES为64比特期望的认证响应、所述SK为128比特会话密钥。
4.如权利要求3所述的轻量级认证与密钥协商的实现方法,其特征在于,会话密钥SK的高64比特和会话密钥SK的低64比特组成所述128比特会话密钥SK。
5.如权利要求1所述的轻量级认证与密钥协商的实现方法,其特征在于,所述另一节点根据已验证的SQN、随机数RAND、共享密钥K执行对称加密算法的步骤如下: 1)利用共享密钥K和随机数RAND作为输入,执行对称加密算法得到AK; 2)将AK与AUTN异或得到SQN作为输出; 3)所述SQN与随机数RAND异或,异或结果循环左移后利用密钥K和对称加密算法加密得到RES作为输出; 4)所述SQN与随机数RAND异或,异或结果循环左移后利用密钥K和对称加密算法加密得到高比特SK作为会话密钥输出; 5)所述SQN与随机数RAND异或,异或结果循环左移后利用密钥K和对称加密算法加密得到低比特SK作为会话密钥输出。
6.如权利要求5所述的轻量级认证与密钥协商的实现方法,其特征在于,所述RES为64比特认证响应,所述SK为128比特会话密钥由低低比特SK和高比特SK会话密钥组成作为输出。
7.如权利要求2-6任意一项所述的轻量级认证与密钥协商的实现方法,其特征在于,所述SQN与随机数RAND异或结果分别循环左移3比特得到RES作为输出、循环左移11比特得到高比特SK作为会话密钥输出和循环左移17比特低比特SK作为会话密钥输出。
8.如权利要求2-6任意一项所述的轻量级认证与密钥协商的实现方法,其特征在于,所述对称加密算法为分组长度64比特,密钥长度128比特的present算法或者分组长度64比特,密钥长度为80比特的LBlock算法。
9.如权利要求2-6任意一项所述的轻量级认证与密钥协商的实现方法,其特征在于,所述对称加密算法可扩展为任意密钥长度、任意数据分组长度的对称分组密码算法,其扩展方法如下: 1)如果密钥K加密算法的密钥长度len>128,则将输入参数密钥K高位填充1,使其长度等于len,作为E的密钥; 2)如果密钥K加密算法的密钥长度len〈128,则截取输入参数密钥K的低Ien比特作为E的密钥; 3)如果密钥K加密算法的数据分组长度L>64比特,则将输入高位填充1,使其长度等于L,作为E的输入,并将E的输出截取低64比特作为输出; 4)如果密钥K加密算法的数据分组长度L〈64比特,则将输入分组截取低L比特,作为E的输入,并将E的输出高位填充1,使其长度为64比特作为输出。
10.如权利要求1所述的轻量级认证与密钥协商的实现方法,其特征在于,预置共享密钥K采用密钥预分配或者密`钥池方法使得每个节点都存有和其他节点共享的长期密钥,存储方式采用二元组表(节点ID,共享密钥)。
【文档编号】H04L9/32GK103560879SQ201310468552
【公开日】2014年2月5日 申请日期:2013年10月9日 优先权日:2013年10月9日
【发明者】武传坤, 刘卓华 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1