发明名称 面向移动终端的动态多属性多级别的身份认证方法
摘要 本发明公开了一种面向移动终端的动态多属性多级别的身份认证方法,选取一个安全的消息认证算法MA,在移动终端中设有和后台数据库DB共享的固化在芯片内部的密钥S,并在后台数据库中存储移动终端的两个不同密钥。本发明在移动终端和后台数据库之间提供了一个多级别的轻量级认证,当用户需要进行最基本的认证需求时,如微支付,则只需移动终端内部的固化密钥进行处理即可安全快速的实现;同时如需进行中高级别认证时,通过用户密钥key<sub>1</sub>(如口令)和key<sub>2</sub>(如指纹),结合门限思想及方法处理移动终端的相关属性,灵活地实现多级别认证,以满足用户的不同应用场合的需求,如小额支付,大额支付等。本发明方法简单,使用方便,实施效果好。
申请公布号 CN103107888B 申请公布日期 2015.11.18
申请号 CN201310026660.2 申请日期 2013.01.24
申请人 贵州大学 发明人 彭长根;杨震;丁红发
分类号 H04L9/32(2006.01)I;H04L9/08(2006.01)I;H04W12/04(2009.01)I;H04W12/06(2009.01)I 主分类号 H04L9/32(2006.01)I
代理机构 贵阳中新专利商标事务所 52100 代理人 李亮;程新敏
主权项 一种面向移动终端的动态多属性多级别的身份认证方法,其特征在于:选取一个安全的消息认证算法MA,在移动终端中设有和后台数据库DB共享的固化在芯片内部的密钥S,并在后台数据库中存储移动终端的两个不同密钥,移动终端用户拥有以下数据:消息认证算法MA模块和AES加密模块, n个属性att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>和固化密钥S,用户共享密钥key<sub>1</sub>和 key<sub>2</sub>;后台数据库DB拥有以下数据:消息认证算法MA模块和AES加密模块,移动终端的n个属性<i>att<sub>1</sub>, att<sub>2</sub></i><i>…</i><i>att<sub>n</sub></i>和固化密钥S,用户共享密钥<i>key<sub>1</sub></i>和 <i>key<sub>2</sub></i>;在认证过程中,(1). 终端阅读器向需要认证的移动终端用户发送一个随机数R<sub>d</sub>和特征值C;(2). 移动终端用户自行生成一个随机数<i>R<sub>t</sub></i>,并根据特征值<i>C</i>判断认证级别e<sub>i</sub>,i=1,2,3;(3). 移动终端用户调用消息认证算法模块,计算σ<sub>1</sub>=h<sub>s</sub>(e<sub>i</sub>,R<sub>d</sub>,R<sub>t</sub>),并分为左右两部分:σ<sub>1L</sub>和σ<sub>1R</sub>,若认证级别为e1则存储σ<sub>1R</sub>,否则不予存储;同时将σ<sub>1</sub>、 R<sub>t</sub>、认证级别e<sub>i</sub>和移动终端ID号发送给终端阅读器;(4). 终端阅读器将σ<sub>1L</sub>、R<sub>d</sub>、 R<sub>t</sub>、认证级别e<sub>i</sub>和移动终端ID号发送给后台数据库DB;(5). 后台数据库DB通过ID号查找出相应的固化密钥<i>S</i>,调用消息认证算法MA模块,计算σ<sub>1</sub>’=h<sub>s</sub>(e<sub>i</sub>’,R<sub>d</sub>,R<sub>t</sub>),通过对比σ’<sub>1L</sub>和σ<sub>1L</sub>是否相同,验证移动终端用户的合法性,如相同,则移动终端用户验证通过;此时根据认证级别执行相应的操作;(6). 若认证级别为e1,则执行如下操作:(7). 后台数据库DB将σ’<sub>1R</sub>发送给移动终端用户;(8)移动终端用户在收到σ’<sub>1R</sub>后,将其与σ<sub>1R</sub>进行对比,如通过则验证通过,否则验证失败,结束通信;(9). 若认证级别为e2,则执行如下操作:(10). 后台数据库DB按照相关要求对移动终端用户进行认证控制,选取一个随机数R<sub>b</sub>和门限值t,并将R<sub>b</sub>和t发送给移动终端用户;(11). 移动终端用户在收到R<sub>b</sub>和门限值t后,选定一个t‑1次插值多项式<i>f</i>(x)=a<sub>t‑1</sub>x<sup>t‑1</sup>+ a<sub>t‑2</sub>x<sup>t‑2</sup>+…+a<sub>1</sub>x<sup>1</sup>+a<sub>0 </sub>mod q,其中,q为一个大素数,Z<sub>q</sub>为整数域,a<sub>0</sub>,a<sub>1</sub>,…,a<sub>t‑1 </sub>mod q,输入移动终端的n个属性att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>,得到对应值 <i>f</i>(att<sub>1</sub>)、<i>f</i>(att<sub>2</sub>)…<i>f</i>(att<sub>n</sub>),调用AES加密模块,计算c<sub>i</sub>=D<sub>s</sub>(<i> f</i>(att<sub>i</sub>)),计算σ<sub>2</sub>=h<sub>key1</sub>(a<sub>0</sub>, σ<sub>1</sub>),将{att<sub>1</sub>, att<sub>2</sub>,…, att<sub>n</sub>, c<sub>1</sub>,c<sub>2</sub>, …, c<sub>n</sub>, σ<sub>2</sub>}发送给后台数据库DB;<sub />(12). 后台数据库DB在收到相关数据后,将属性att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>同后台数据库中存储的属性进行对比,如吻合的属性数目小于t个或必需属性不包含在内,则拒绝认证,否则调用AES模块对c<sub>i</sub>进行解密,并用拉格朗日插值多项式计算出a<sub>0</sub>’,同时计算σ<sub>2</sub>’= h<sub>key1</sub>(a<sub>0</sub>’,σ<sub>1</sub>),并将σ<sub>2</sub>’与σ<sub>2</sub>进行对比,如吻合则验证通过,否则验证失败,结束通信;(13). 若认证级别为e3,则执行如下操作:(14). 后台数据库DB按照相关要求对移动终端用户进行认证控制,选取一个随机数R<sub>b</sub>和门限值t,并将R<sub>b</sub>和 t发送给移动终端用户;(15). 移动终端用户在收到R<sub>b</sub>和门限值t后,选定一个t‑1次插值多项式<i>f</i>(x)=a<sub>t‑1</sub>x<sup>t‑1</sup>+ a<sub>t‑2</sub>x<sup>t‑2</sup>+…+a<sub>1</sub>x<sup>1</sup>+a<sub>0 </sub>mod q,其中,q为一个大素数,Z<sub>q</sub>为整数域,a<sub>0</sub>,a<sub>1</sub>,…<sub></sub>,a<sub>t‑1 </sub>mod q,输入移动终端的n个属性att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>,得到对应值<i>f</i>(att<sub>1</sub>)、<i>f</i>(att<sub>2</sub>)…<i>f</i>(att<sub>n</sub>),调用AES加密模块,计算c<sub>i</sub>=D<sub>s</sub>(<i> f</i>(att<sub>i</sub>)),σ<sub>2</sub>=<i>h<sub>key1</sub></i>(a<sub>0</sub>,σ<sub>1</sub>,key<sub>2</sub>),将{att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>,c<sub>1</sub>,c<sub>2</sub>,…,c<sub>n</sub>,σ<sub>2</sub>}发送给后台数据库DB;(16). 后台数据库DB在收到相关数据后,将属性att<sub>1</sub>、att<sub>2</sub>…att<sub>n</sub>同后台数据库DB中存储的属性进行对比,如吻合的属性数目小于<i>t</i>个或必需属性不包含在内,则拒绝认证,否则调用AES模块对c<sub>i</sub>进行解密,并用拉格朗日插值多项式计算出a<sub>0</sub>’,同时计算σ<sub>2</sub>’=h<sub>key1</sub>(a<sub>0</sub>’,σ<sub>1</sub>,key<sub>2</sub>),并将σ<sub>2</sub>’与σ<sub>2</sub>进行对比,如吻合则验证通过,否则验证失败,结束通信。
地址 550025 贵州省贵阳市花溪区贵州大学北校区科学技术处
您可能感兴趣的专利