[发明专利]一种基于HLC和Time-Lock谜题的智能家庭中的认证协议有效
申请号: | 201911413232.9 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111222134B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 张磊;黄志刚;孟欣宇;赵奕鸥 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F21/55 | 分类号: | G06F21/55 |
代理公司: | 上海蓝迪专利商标事务所(普通合伙) 31215 | 代理人: | 徐筱梅;张翔 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hlc time lock 智能 家庭 中的 认证 协议 | ||
1.一种基于HLC和Time-Lock谜题的智能家庭中的认证方法,包括如下实体:用户,服务器,家庭网关,家庭智能设备,其特征在于,所述认证方法包括如下步骤:
步骤1:系统设置
一个可信实体TA为整个系统生成和分发系统参数params;
步骤2:命令消息初始化
家庭网关生成了一条用来控制家庭智能设备的命令消息CM;
步骤3:相互认证
家庭网关和家庭智能设备通过HLC和Time-lock谜题相互认证;其中:
所述步骤1具体包括:
在系统设置阶段,生成协议中用到的谜题难度值,用来控制计算谜题的时间;使用时间阈值来判断消息是否可信;使用哈希函数来执行计算;具体如下:
·选择ε作为谜题的难度;
·选择ΔT作为消息往返时间的上限;
·选择H(*)作为哈希函数;
TA将params=(ε,ΔT,H(*))分发给家庭网关和家庭智能设备{SD1,SD2,...,SDn},n是家庭智能设备SD的数量;
所述步骤2具体包括:
当家庭网关接收到服务器转发的消息时,就会进入命令消息的初始化阶段;在这个阶段中,家庭网关GW执行如下操作来初始化一条命令消息CM,该消息用来控制家庭智能设备,并将这个命令发送给某个家庭智能设备SDa(a∈{1,...,n});具体如下:
ⅰ)生成一个CM={IDa||Seqcm||CMD},其中IDa是SDa的唯一识别号,Seqcm是每个CM的序列号,Seqcm从0开始增加,CMD是实际上的具体命令,用来操控SD;服务器转发的消息中包含IDa和CMD,并且每当家庭网关发送了一个CM,Seqcm就会自增1;
ⅱ)家庭网关保存一个五元组tup={Seqcm,CMD,Tcm,statecm,IDa}至自身的缓存中,tup用来认证谜题的发送者,Tcm是家庭网关发送CM时的本地时间戳;statecm代表了CM的当前状态;协议中,statecm有如下五种类型的状态,初始化为ini;
·ini:家庭网关生成了一个CM,但是该CM还没有被发送出去;
·com:CM已经被家庭网关发送出去;但是家庭网关还没有收到该CM相应的谜题;
·puz:家庭网关已经收到该CM相应的谜题,但是家庭网关还没有解决这个谜题,生成证据;
·prof:家庭网关生成了证据并且将这个证据发送出去;但是网关还没有收到应答;
·ack:家庭网关收到了SDa对该证据的ack;
所述步骤3具体包括:
在相互认证阶段中,家庭网关和收到CM的家庭智能设备SDa(a∈{1,...,n})互相认证;首先家庭网关将CM发送给SDa;当SDa接收到CM之后,SDa会生成一个谜题R,该谜题用来认证CM的发送者,并将R发送给家庭网关;当家庭网关接收到R之后,首先会验证R的发送者的身份;只有验证通过之后,才会计算R,得到证据PRO;协议的相互认证阶段有如下步骤:
步骤A:发送命令;家庭网关将CM发送给SDa,当家庭网关接收到CM之后,会将CM的状态修改为com;
步骤B:谜题分发;在接收到家庭网关发送的控制命令CM之后,家庭智能设备SDa会发送一个谜题给家庭网关,用来认证家庭网关的合法性;具体过程:
1)通过内部系统状态生成一个伪随机字符串S;
2)从控制命令CM中获取Seqcm以及CMD;
3)选择两个素数p以及q,p和q的选取是一个大整数问题,每个设备自己通过算法计算得出,至少应在256bit以上以防止被短时间内分解;
4)计算φ(n)=(p-1)(q-1)并且保存φ(n);
5)通过HLC,将谜题R={S||Seqcm||CMD||n}发送至家庭网关;
6)保存本地当前时间戳Tsd1;
步骤C:证据生成;在收到SDa发送的谜题R之后,家庭网关首先通过statecm检查谜题的合法性;然后将计算得到的证据通过HCL发送给SDa;如果家庭网关验证了谜题R的合法性,那么家庭网关就需要计算谜题R并获得证据PRO,并使得SDa执行本该完成的命令CMD;家庭网关获得证据PRO过程如下:
1)家庭网关首先计算x=H(R);
2)家庭网关计算
3)家庭网关将计算得到的证据PRO,通过HLC发送给SDa;
4)家庭网关将CM的状态更改为prof;
步骤D:执行以及应答;在这一步,SDa检查家庭网关以及证据PRO的合法性,具体为:
1)当SDa接收到家庭网关发送的证据PRO之后,其会记录下当前本地时间戳Tsd2;
2)检查是否满足(Tsd2-Tsd1)≤ΔT;如果不满足,SDa将不会继续执行;
3)取出保存的谜题R和φ(n);
4)计算x=H(R);
5)计算z=xε(modφ(n));
6)计算y=xz(modn);
7)如果y=PRO,那么SDa就认为该命令是合法的,否则不合法,则终止执行;
8)SDa执行该命令;
9)SDa通过HLC,发送确认消息Aack={IDa||IDg||DSa||Seqcm}至家庭网关GW;
当家庭网关收到确认消息之后,会将相应的CM的状态修改为ack。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911413232.9/1.html,转载请声明来源钻瓜专利网。