一种可穿戴计算自治安全认证系统和安全认证方法
技术领域
本发明属于安全通信技术领域,尤其涉及一种可穿戴计算自治安全认证系统和安全认证方法。
背景技术
目前,各种各样的可穿戴设备正被人们应用于各种领域。这些可穿戴设备可以依附身体的各个部位,如头、手腕,大腿等,用于采集和传输数据。在可穿戴医疗保健应用中,可穿戴设备用于监测患者的重要健康信息,如心率、血氧含量、和血糖水平等,并将采集的信息发送到用户的移动终端。可穿戴设备采集的数据很多是敏感隐私的,它们需要以安全的方式进行通信。但是可穿戴设备与用户移动终端以无线方式进行通信,这种无线通信方式使得可穿戴环境通信会存在各种已知的攻击,如假冒、重复、中间人、信息泄漏、可穿戴设备被盗、移动终端被盗等等攻击。因此在可穿戴设备与移动终端之间建立安全的相互认证,以保证它们之间的安全通信就显得非常重要。
从有效性和安全性来看,目前的技术主要存在下面一些问题:(1)认证方案不是自治的。现有的方案常常借助远距离的云服务器来保证认证安全,这明显增加了认证延迟;(2)大多数认证方案不能抵抗可穿戴设备被盗或者移动终端被盗攻击,这使得攻击者可以通过被盗的设备获取用户敏感信息。(3)大多数认证方案不具备用户匿名性和不可跟踪性。(4)大多数认证方案不是轻量级的,不适合资源受限的可穿戴设备进行安全通信。
通过上述分析,现有技术存在的问题及缺陷为:(1)现有可穿戴设备的通信方法认证方案不自治,增加了认证延迟;且认证方案不具备用户匿名性和不可跟踪性;
(2)现有可穿戴设备的通信方法容易受到攻击,通信不安全;且无法抵抗移动设备和可穿戴设备被盗攻击;
(3)现有通信认证方法不适合资源受限的可穿戴设备。
解决以上问题及缺陷的难度为:可穿戴计算的安全通信需要同时解决上述所有问题。
解决以上问题及缺陷的意义为:可穿戴计算应用领域越来越广泛,保证可穿戴计算的安全通信具有非常重要的实际意义。
发明内容
针对现有技术存在的问题,本发明提供了一种可穿戴计算自治安全认证系统和安全认证方法。
本发明是这样实现的,一种可穿戴计算自治安全认证系统和方法,所述可穿戴计算自治安全认证系统包括:
可穿戴设备、移动终端;
所述可穿戴设备,包括初始化模块和认证与通信模块A;初始化模块用于进行可穿戴设备的初始化设置,认证与通信模块A实现与移动终端进行安全通信;
所述移动终端,包括注册模块和认证与通信模块B;注册模块用于认证拥有移动设备的用户,认证与通信模块B实现与可穿戴设备进行安全通信;
所述可穿戴设备与移动终端之间利用蓝牙、Wifi或其他小范围的通信协议进行无线通信。
本发明的另一目的在于提供一种应用于所述可穿戴计算自治安全认证系统的可穿戴计算自治安全认证方法,所述可穿戴计算自治安全认证方法包括:
步骤一,进行可穿戴设备初始化设置和用户在移动终端注册;
步骤二,用户登陆时,在移动终端上输入用户名、口令和指纹;移动终端根据用户指纹,使用模糊提取器指纹的保密参数ci;并根据用户输入的用户名和口令计算HPWi、随机数Ri和Di *;
步骤三,移动终端比较计算的Di*和存储的Di是否相等;如果不相等,登陆请求终止,如果相等,则转向步骤四;
步骤四,用户成功登陆以后,用户通过移动设备选择需要访问的可穿戴设备,并从移动设备存储器中提取该可穿戴设备的临时身份TIDj,并计算可穿戴设备的伪身份;
步骤五,移动设备产生一个随机数r1和当前时间戳T1,根据M1=r1⊕h(TIDj||PIDj||Sj||T1),M2=h(M1||r1||T1),计算M1、M2,同时将计算得到的M1、M2和T1一起传送给可穿戴设备;
步骤六,可穿戴设备记录接收到消息的当前时间戳T2,判断|T2-T1|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止;如果满足,可则穿戴设备根据存储的信息{PIDj,TIDj,Sj,h(·)},并通过公式r1=M1⊕h(TIDj||PIDj||Sj||T1),M2*=h(M1||r1||T1)计算r1与M2*;
步骤七,比较计算的M2*和存储的M2是否相等,如果不相等,登陆请求终止;如果相等,则表示可穿戴设备成功认证移动终端,转向步骤八;
步骤八,可穿戴设备产生一个随机数r2和当前时间戳T3,并计算M3、会话钥SKij以及M4,产生一个随机数作为新的临时身份TIDj new;计算M5;将计算得到的M3、M4、M5和T3一起传送给移动终端;
步骤九,移动终端记录记录接收到消息的当前时间戳T4,判断|T4-T3|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止,如果满足,移动终端接收到的M3和T3计算r2、SKij、M4 *,并将M4 *与接收到的M4对比,如果相当,表示移动终端认证可穿戴设备;移动终端计算可穿戴设备新的临时身份TIDj new并存储;移动终端和可穿戴设备之间共享一个会话钥;
步骤十,移动终端和可穿戴设备之间利用协商的会话钥SKij加密数据进行安全通信。
进一步,步骤一中,所述可穿戴设备的初始化设置包括:
(1)用户为每一个可穿戴设备选择一个唯一的身份IDj和一个临时身份TIDj,产生两个足够长的随机数R1和R2;
(2)通过对选择的身份IDj及随机数R1进行哈希,计算可穿戴设备的伪身份PIDj;
所述可穿戴设备的伪身份PIDj计算公式为:
PIDj=h(IDj||R1);
其中h(·)表示密码学中的哈希函数;
(3)用户根据当前时间戳Tj,为可穿戴设备计算一个秘密参数Sj;
所述秘密参数Sj计算公式为:
Sj=h(IDj||Tj||R2);
(4)用户在可穿戴设备中存储信息{PIDj,TIDj,Sj,h(·)}。
进一步,步骤一中,所述用户在移动终端注册方法包括:
1)用户选择一个用户名IDi和口令PWi,在移动终端屏幕上按下自己的指纹BIOi;
2)移动终端根据用户的指纹信息用模糊提取器计算出两个生物特征参数:公开参数oi和保密参数ci;
3)用户产生一个随机数Ri,并对可穿戴设备的Sj和PIDj进行隐藏;
所述隐藏公式为:
HPWi=h(PWi||ci||IDi);
Ai=Ri⊕HPWi;
Bi=Sj⊕h(PIDj||PWi||ci||Ri);
Ci=PIDj⊕h(TIDj||PWi||ci||Ri);
Di=h(IDi||PWi||ci||Ri);
4)在移动终端中存储模糊提取器和{TIDj,Ai,Bi,Ci,Di,h(·)}。
进一步,步骤二中,所述HPWi的计算公式为:
HPWi=h(PWi||ci||IDi)以及计算Ri和Di *。
进一步,步骤四中,所述可穿戴设备伪身份计算公式为:
PIDj=Ci⊕h(TIDj||PWi||ci||Ri)和Sj=Bi⊕h(PIDj||PWi||ci||Ri)。
进一步,步骤八中,所述M3、会话钥SKij以及M4、M5的计算公式为:
M3=r2⊕h(TIDj||PIDj||Sj||T3);
会话钥SKij=h(TIDj||Sj||r1||r2||T1||T3);
M4=h(TIDj||SKij||r1||r2||T1||T3);
M5=TIDjnew⊕h(TIDj||SKij||r1||r2||T1||T3)。
进一步,步骤九中,所述r2、M4 *、TIDj new计算公式为:
r2=M3⊕h(TIDj||PIDj||Sj||T3);
M4 *=h(TIDj||SKij||r1||r2||T1||T3);
TIDj new=M5⊕h(TIDj||SKij||r1||r2||T1||T3)。
本发明另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行可穿戴计算自治安全认证方法所述步骤。
本发明另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行可穿戴计算自治安全认证方法所述步骤。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明的可穿戴计算自治安全方法只在可穿戴设备和用户移动终端之间进行,采用轻量级认证方式,能够抵抗已知的各种攻击,该方案不仅有效,也具有很高的安全性,非常适合可穿戴计算环境中用于保护可穿戴设备和移动终端之间的安全通信。
对比的技术效果或者实验效果包括:
计算代价对比如下
表1认证时的计算代价比较(本发明的方法计算代价只为其他方案的1/10)
其中,Th,TE,TME,TQR和Tfe分别表示hash函数,对称密钥加密或者解密,模指数,QR代码等计算时间。实验测试值分别为Th=0.00032s,TE=0.0056s,TME=0.0192s,TQR=0.0171s。
通信代价对比如下
表2通信代价比较
其中,身份、伪身份、临时身份和随机数长度为128bits,时间戳为32bits,哈希摘要值长度为56bit,对称加密/解密块的大小为128bits.QR码的输出为1024bits。
功能特性对比如下
表3功能特性对比
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的可穿戴计算自治安全认证系统结构示意图;
图中:1、可穿戴设备;2、移动终端;11、初始化模块;12、认证与通信模块A;21、注册模块;22、认证与通信模块B。
图2是本发明实施例提供的可穿戴计算自治安全认证系统架构图图。
图3是本发明实施例提供的可穿戴计算自治安全认证方法流程图。
图4是本发明实施例提供的可穿戴计算自治安全认证方法原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种可穿戴计算自治安全认证系统和方法,下面结合附图对本发明作详细的描述。
如图1-图2所示,本发明实施例提供的可穿戴计算自治安全认证系统包括:
可穿戴设备1、移动终端2;
所述可穿戴设备1,包括初始化模块11和认证与通信模块A 12;初始化模块11用于进行可穿戴设备的初始化设置,认证与通信模块A 12实现与移动终端进行通信;
所述移动终端2,包括注册模块21和认证与通信模块B 22;注册模块21用于认证拥有移动设备的用户,认证与通信模块B 22实现与可穿戴设备进行安全通信;
所述可穿戴设备1与移动终端2之间利用蓝牙、Wifi或其他小范围的通信协议进行无线通信。
如图3-图4所示,本发明实施例提供的可穿戴计算自治安全认证方法包括:
S101,进行可穿戴设备初始化设置和用户在移动终端注册;
S102,登陆时,用户在移动终端上输入用户名、口令和指纹;移动终端根据用户指纹,使用模糊提取器指纹的保密参数ci;并根据用户输入的用户名和口令计算HPWi、随机数Ri和Di *;
S103,移动终端比较计算的Di*和存储的Di是否相等;如果不相等,登陆请求终止,如果相等,则转向步骤S104;
S104,移动设备选择需要访问的可穿戴设备,并从移动设备存储器中提取该可穿戴设备的临时身份TIDj,并计算可穿戴设备的伪身份;
S105,移动设备产生一个随机数r1和当前时间戳T1,根据M1=r1⊕h(TIDj||PIDj||Sj||T1),M2=h(M1||r1||T1),计算M1、M2,同时将计算得到的M1、M2和T1一起传送给可穿戴设备;
S106,可穿戴设备记录接收到消息的当前时间戳T2,判断|T2-T1|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止;如果满足,可则穿戴设备根据存储的信息{PIDj,TIDj,Sj,h(·)},并通过公式r1=M1⊕h(TIDj||PIDj||Sj||T1),M2*=h(M1||r1||T1)计算r1与M2*;
S107,比较计算的M2*和存储的M2是否相等,如果不相等,登陆请求终止;如果相等,则表示可穿戴设备成功认证移动终端,转向步骤S108;
S108,可穿戴设备产生一个随机数r2和当前时间戳T3,并计算M3、会话钥SKij以及M4,产生一个随机数作为新的临时身份TIDj new;计算M5;将计算得到的M3、M4、M5和T3一起传送给移动终端;
S109,移动终端记录记录接收到消息的当前时间戳T4,判断|T4-T3|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止,如果满足,移动终端接收到的M3和T3计算r2、SKij、M4 *,并将M4 *与接收到的M4对比,如果相当,表示移动终端认证可穿戴设备;移动终端计算可穿戴设备新的临时身份TIDj new并存储;移动终端和可穿戴设备之间共享一个会话钥;
S110,移动终端和可穿戴设备之间利用协商的会话钥SKij加密数据进行安全通信。
步骤S101中,本发明实施例提供的可穿戴设备的初始化设置包括:
(1)用户为每一个可穿戴设备选择一个唯一的身份IDj和一个临时身份TIDj,产生两个足够长的随机数R1和R2;
(2)通过对选择的身份IDj及随机数R1进行哈希,计算可穿戴设备的伪身份PIDj;
所述可穿戴设备的伪身份PIDj计算公式为:
PIDj=h(IDj||R1);
其中h(·)表示密码学中的哈希函数;
(3)用户根据当前时间戳Tj,为可穿戴设备计算一个秘密参数Sj;
所述秘密参数Sj计算公式为:
Sj=h(IDj||Tj||R2);
(4)用户在可穿戴设备中存储信息{PIDj,TIDj,Sj,h(·)}。
步骤S101中,本发明实施例提供的用户在移动终端注册方法包括:
1)用户选择一个用户名IDi和口令PWi,在移动终端屏幕上按下自己的指纹BIOi;
2)移动终端根据用户的指纹信息用模糊提取器计算出两个生物特征参数:公开参数oi和保密参数ci;
3)用户产生一个随机数Ri,并对可穿戴设备的Sj和PIDj进行隐藏;
所述隐藏公式为:
HPWi=h(PWi||ci||IDi);
Ai=Ri⊕HPWi;
Bi=Sj⊕h(PIDj||PWi||ci||Ri);
Ci=PIDj⊕h(TIDj||PWi||ci||Ri);
Di=h(IDi||PWi||ci||Ri);
4)在移动终端中存储模糊提取器和{TIDj,Ai,Bi,Ci,Di,h(·)}。
步骤S102中,本发明实施例提供的HPWi的计算公式为:
HPWi=h(PWi||ci||IDi)以及计算Ri和Di *。
步骤S104中,本发明实施例提供的可穿戴设备伪身份计算公式为:
PIDj=Ci⊕h(TIDj||PWi||ci||Ri)和Sj=Bi⊕h(PIDj||PWi||ci||Ri)。
步骤S108中,本发明实施例提供的M3、会话钥SKij以及M4、M5的计算公式为:
M3=r2⊕h(TIDj||PIDj||Sj||T3);
会话钥SKij=h(TIDj||Sj||r1||r2||T1||T3);
M4=h(TIDj||SKij||r1||r2||T1||T3);
M5=TIDjnew⊕h(TIDj||SKij||r1||r2||T1||T3)。
步骤S109中,本发明实施例提供的r2、M4 *、TIDj new计算公式为:
r2=M3⊕h(TIDj||PIDj||Sj||T3);
M4 *=h(TIDj||SKij||r1||r2||T1||T3);
TIDj new=M5⊕h(TIDj||SKij||r1||r2||T1||T3)。
下面结合具体实施例对本发明的技术方案作进一步说明。
实施例1:
包括三个方面的技术方案:可穿戴设备的初始化模块的设置方案、移动终端注册模块的设置方案和可穿戴设备与移动终端之间的安全认证的技术方案。
对于可穿戴设备的初始化模式设置方案包括下面的步骤:
(1)用户为自己的每一个可穿戴设备选择一个唯一的身份IDj和一个临时身份TIDj,产生两个足够长的随机数R1和R2。
(2)计算可穿戴设备的伪身份PIDj=h(IDj||R1),其中h(·)表示密码学中的哈希函数。
(3)用户根据当前时间戳Tj,为可穿戴设备计算一个秘密参数Sj=h(IDj||Tj||R2)。
(4)用户在可穿戴设备中存储信息{PIDj,TIDj,Sj,h(·)}。
移动终端注册模块的设置方案包括下面的步骤
(1)用户选择一个用户名IDi和口令PWi,在移动终端屏幕上按下自己的指纹BIOi。
(2)移动终端根据用户的指纹信息用模糊提取器计算出两个生物特征参数:公开参数oi和保密参数ci。
(3)用户产生一个随机数Ri,并对可穿戴设备的Sj和PIDj进行隐藏:HPWi=h(PWi||ci||IDi),Ai=Ri⊕HPWi,Bi=Sj⊕h(PIDj||PWi||ci||Ri),Ci=PIDj⊕h(TIDj||PWi||ci||Ri),Di=h(IDi||PWi||ci||Ri)。
(4)在移动终端中存储模糊提取器和{TIDj,Ai,Bi,Ci,Di,h(·)}。
可穿戴设备与移动终端之间的安全认证的技术方案是实现步骤如下:
(1)用户登陆时在移动终端上输入用户名、口令和指纹。
(2)移动终端根据用户指纹,使用模糊提取器指纹的保密参数ci。再根据用户输入的用户名和口令计算HPWi=h(PWi||ci||IDi),进一步可以计算Ri和Di *。移动终端比较计算的Di *和存储的Di是否相等,如果不相等,登陆请求终止,如果相等,继续后面的步骤。
(3)移动设备选择需要访问的可穿戴设备,从自己的存储器中提取该可穿戴设备的临时身份TIDj,从而可以计算出可穿戴设备的伪身份PIDj=Ci⊕h(TIDj||PWi||ci||Ri)和Sj=Bi⊕h(PIDj||PWi||ci||Ri)。
(4)移动设备产生一个随机数r1和当前时间戳T1,计算M1=r1⊕h(TIDj||PIDj||Sj||T1),M2=h(M1||r1||T1),并将M1、M2和T1一起传送给可穿戴设备。
(5)可穿戴设备记录接收到消息的当前时间戳T2,判断|T2-T1|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止,如果满足,可穿戴设备根据存储的信息{PIDj,TIDj,Sj,h(·)}计算r1=M1⊕h(TIDj||PIDj||Sj||T1),进一步计算M2 *=h(M1||r1||T1),比较计算的M2 *和存储的M2是否相等,如果不相等,登陆请求终止,如果相等,表示可穿戴设备认证了移动终端,继续后面的步骤。
(6)可穿戴设备产生一个随机数r2和当前时间戳T3,计算M3=r2⊕h(TIDj||PIDj||Sj||T3),会话钥SKij=h(TIDj||Sj||r1||r2||T1||T3),M4=h(TIDj||SKij||r1||r2||T1||T3),产生一个随机数作为新的临时身份TIDj new,计算M5=TIDj new⊕h(TIDj||SKij||r1||r2||T1||T3),将M3、M4、M5和T3一起传送给移动终端。
(7)移动终端记录记录接收到消息的当前时间戳T4,判断|T4-T3|是否小于最大允许的传送时间ΔT,如果不满足,认证过程终止,如果满足,移动终端接收到的M3和T3计算r2=M3⊕h(TIDj||PIDj||Sj||T3),接着可以计算出SKij,计算M4 *=h(TIDj||SKij||r1||r2||T1||T3),将M4 *与接收到的M4对比,如果相当,表示移动终端认证可穿戴设备。移动终端计算可穿戴设备新的临时身份TIDj new=M5⊕h(TIDj||SKij||r1||r2||T1||T3),并存储。到此为止,移动终端和可穿戴设备之间共享一个会话钥。
(8)移动终端和可穿戴设备之间利用协商的会话钥SKij加密数据进行安全通信。
与现有技术对比发现,本发明能够以最小的计算代价和通信代价,实现了更多的功能特性。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。