CN113470224A - 开锁方法和系统 - Google Patents
开锁方法和系统 Download PDFInfo
- Publication number
- CN113470224A CN113470224A CN202110664327.9A CN202110664327A CN113470224A CN 113470224 A CN113470224 A CN 113470224A CN 202110664327 A CN202110664327 A CN 202110664327A CN 113470224 A CN113470224 A CN 113470224A
- Authority
- CN
- China
- Prior art keywords
- target
- unlocking
- door lock
- key
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012795 verification Methods 0.000 claims abstract description 23
- 239000006185 dispersion Substances 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 36
- 230000003321 amplification Effects 0.000 claims description 12
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 3
- 230000001976 improved effect Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000005284 excitation Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006698 induction Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 230000001939 inductive effect Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010971 suitability test Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
Abstract
本说明书提供的开锁方法和系统,目标客户端可以主动向目标门锁发起开锁请求,开锁请求中包括基于子密钥对目标客户端的身份标识进行加密得到的加密密文。目标门锁使用目标主密钥对加密密文进行解密,以对目标客户端进行身份验证,以验证目标客户端是否具有开锁权限,只有在目标客户端具有开锁权限的情况下,才会开锁。本说明书提供的开锁方法和系统,将目标门锁作为一个存储身份信息智能卡,而将目标客户端作为具有读取功能的读卡机,开锁过程需要目标客户端主动发起,因此攻击者无法通过中间设备读取目标客户端的数据信息,从而防止接力攻击,提高安全性。
Description
技术领域
本说明书涉及互联网技术领域,尤其涉及一种开锁方法和系统。
背景技术
随着科学技术的发展,智能锁具已经走入人们的生活。智能锁具主要包括使用密码或指纹等进行开锁的接触式智能锁具以及非接触式的智能锁具。现有技术中的非接触式智能锁具开启门锁的方式主要是被动开启。即智能门锁相当于一个读卡机,而移动终端上设置有虚拟门禁卡。当移动终端与智能门锁的距离足够近时,智能门锁通过读取移动终端上的虚拟门禁卡,完成离线鉴权后开启门锁。现有模式下,需要在移动终端内预置虚拟门禁卡,同时需要进行移动终端和智能门锁的适配性测试,而不同的移动终端的硬件配置不同,可能会影响到移动终端的使用,进而影响到开锁成功率。并且,移动终端内的虚拟门禁卡中的数据容易泄露,存在接力攻击的风险。
因此,需要提供一种更便捷、更安全的开锁方法和系统。
发明内容
本说明书提供一种更便捷、更安全的开锁方法和系统。
第一方面,本说明书提供一种,开锁方法,应用于目标客户端,包括:从服务器获取子密钥,所述服务器中预先存储有所述目标客户端关联的目标门锁以及所述目标门锁关联的目标主密钥,所述子密钥是所述目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子;以及向所述目标门锁发送基于所述子密钥加密的开锁请求,以供所述目标门锁基于所述目标主密钥对所述目标客户端进行身份验证,所述开锁请求包括基于所述子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述目标门锁中存储有所述目标主密钥。
在一些实施例中,所述开锁方法还包括:接收目标用户对所述目标客户端的开锁操作。
在一些实施例中,所述从服务器获取子密钥,包括:向所述服务器发送子密钥获取请求,所述子密钥获取请求包括所述目标客户端的身份标识以及所述目标门锁的身份标识,包括以下情况中的一种:基于所述开锁操作实时向所述服务器发送所述子密钥获取请求;以及基于目标时间周期定期向所述服务器发送所述子密钥获取请求;以及接收所述服务器发送的所述子密钥。
在一些实施例中,所述分散因子是时间因子。
在一些实施例中,所述开锁请求还包括基于所述子密钥进行加密的第一随机数的第二加密密文。
在一些实施例中,所述开锁方法还包括:获取所述目标门锁发送的第二随机数;以及将所述第一随机数与所述第二随机数进行匹配,基于所述第一随机数与所述第二随机数的匹配结果,确定开锁结果并向所述服务器发送,包括:确定所述第一随机数与所述第二随机数相匹配,确定所述开锁结果为开锁成功,并向所述服务器发送;或者确定所述第一随机数与所述第二随机数不匹配,确定所述开锁结果为开锁失败,并向所述服务器发送。
第二方面,本说明书还提供一种开锁系统,包括目标客户端,所述目标客户端包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一个指令集用于开锁;所述至少一个处理器同所述至少一个存储介质通信连接,其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施本说明书第一方面所述的开锁方法。
第三方面,本说明书还提供一种开锁方法,应用于服务器,包括:接收目标客户端发送的子密钥获取请求;响应于所述子密钥获取请求,生成子密钥,所述服务器中预先存储有所述目标客户端关联的目标门锁以及所述目标门锁关联的目标主密钥,所述子密钥是所述目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子;以及将所述子密钥发送给所述目标客户端,所述目标客户端向所述目标门锁发送基于所述子密钥加密的开锁请求,以供所述目标门锁基于所述目标主密钥对所述目标客户端进行身份验证,所述开锁请求包括基于所述子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述目标门锁中存储有所述目标主密钥。
在一些实施例中,所述子密钥获取请求包括所述目标客户端的身份标识以及所述目标门锁的身份标识,所述响应于所述子密钥获取请求,生成子密钥,包括:基于所述目标门锁的身份标识,确定与所述目标门锁关联的所述目标主密钥,所述服务器中存储有多个门锁以及所述多个门锁关联的多个主密钥,所述多个门锁包括所述目标门锁,所述多个主密钥包括所述目标主密钥;以及基于所述分散算法和所述分散因子,对所述目标主密钥进行分散,生成所述子密钥。
在一些实施例中,所述分散因子是时间因子。
在一些实施例中,所述开锁方法还包括:接收所述目标客户端发送的开锁结果。
第四方面,本说明书还提供一种开锁系统,包括服务器,所述服务器包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一个指令集用于开锁;所述至少一个处理器同所述至少一个存储介质通信连接,其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施本说明书第三方面所述的开锁方法。
第五方面,本说明书还提供一种开锁方法,应用于目标门锁,包括:接收目标客户端发送的开锁请求,所述目标客户端与所述目标门锁关联,所述开锁请求包括基于子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述子密钥是所述目标门锁关联的目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子,所述目标门锁中存储有所述目标主密钥;基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,生成验证结果;以及确定所述验证结果为通过,控制所述目标门锁打开。
在一些实施例中,所述基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,包括:基于所述子密钥以及所述目标主密钥,对所述第一加密密文进行解密,获取所述目标客户端的身份标识的解密明文;将所述目标客户端的身份标识的解密明文与所述目标门锁中预先存储的至少一个身份信息进行匹配;以及基于所述目标客户端的身份标识的解密明文与所述至少一个身份信息的匹配结果确定所述验证结果,包括:确定所述目标客户端的身份标识的解密明文与所述至少一个身份信息中的至少一个相匹配,确定所述验证结果为所述通过;或者确定所述目标客户端的身份标识的解密明文与所述至少一个身份信息均不匹配,确定所述验证结果为不通过。
在一些实施例中,所述分散因子是时间因子。
在一些实施例中,所述开锁请求还包括基于所述子密钥进行加密的第一随机数的第二加密密文。
在一些实施例中,所述基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,还包括:基于所述子密钥以及所述目标主密钥,对所述第二加密密文进行解密,获取所述第一随机数的解密明文,所述第一随机数的解密明文为第二随机数;向所述目标客户端发送所述第二随机数。
第六方面,本说明书还提供一种开锁系统,包括目标门锁,所述目标门锁包括锁体;以及门锁控制器,所述门锁控制器与所述锁体通信连接以控制所述锁体运动,所述门锁控制器包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一个指令集用于开锁;所述至少一个处理器同所述至少一个存储介质通信连接,其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施本说明书第五方面所述的开锁方法。
在一些实施例中,所述开锁系统还包括信号放大电路,与所述锁体电连接,为所述锁体提供电量驱动所述锁体运动。
由以上技术方案可知,本说明书提供的开锁方法和系统,当目标客户端(移动终端)与目标门锁的距离足够近时,目标客户端可以与目标门锁建立近距离无线通信连接,并基于所述近距离无线通信连接进行数据传输。目标客户端可以读取目标门锁的身份标识信息,并基于目标门锁的身份信息从服务器端获取子密钥,子密钥是服务器基于分散算法和动态的分散因子对与目标门锁关联的目标主密钥进行分散得到的。目标客户端可以主动向目标门锁发起开锁请求,开锁请求中包括基于子密钥对目标客户端的身份标识进行加密得到的加密密文。目标门锁使用目标主密钥对加密密文进行解密,以对目标客户端进行身份验证,以验证目标客户端是否具有开锁权限,只有在目标客户端具有开锁权限的情况下,才会开锁。本说明书提供的开锁方法和系统,将目标门锁作为一个存储身份信息智能卡,而将目标客户端作为具有读取功能的读卡机,开锁过程需要目标客户端主动发起,因此攻击者无法通过中间设备读取目标客户端的数据信息,从而防止接力攻击,提高安全性。同时,目标客户端向目标门锁发送开锁请求时,身份信息是经过子密钥加密的,提高数据传输的安全性。而且,由于目标门锁中保存目标主密钥,目标客户端中只保存有子密钥,即使子密钥泄露也不会导致目标主密钥泄露,进一步提高目标门锁的安全性。
本说明书提供的开锁方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的开锁方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种开锁系统的应用场景示意图;
图2示出了根据本说明书的实施例提供的一种计算设备的示意图;
图3示出了根据本说明书的实施例提供的一种目标门锁初始化的方法流程图;以及
图4示出了根据本说明书的实施例提供的一种开锁方法的流程图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,我们首先对以下描述中将会出现的术语进行如下解释:
接力攻击:属于中间人攻击的一种,非法攻击者完全不需要了解IC卡内部加密的技术规范就可以实施攻击,攻击者A拿着市场上通用的IC卡刷卡器D靠近合法持卡人C,这时会产生一次正常的刷卡行为,数据读取到刷卡器D,然后攻击者A把刷卡器D读到的数据通过其他通信方式发送到攻击者B,比如,手机的3G、4G、5G网络,或者WIFI,等等,那么攻击者B在异地就获得了合法持卡人C的卡内数据,攻击者B就相当于手上拿着合法持卡人C的IC卡一样,可以进行消费或者通过门禁等。
现有技术中的非接触式智能门锁中,移动终端中设置的虚拟门禁卡相当于IC卡,而智能门锁相当于读卡器,非法攻击者可以使用中继刷卡器D靠近移动终端,从而通过接力攻击打开智能门锁。
本说明书提供一种更便捷、更安全的开锁方法和系统,不仅可以应用于智能家居的智能门锁上,还可以应用于其他领域的智能门锁上,比如,社区的智能门禁、汽车的智能门锁、酒店的智能门锁,甚至是无人售货柜的智能门锁,等等。
图1示出了根据本说明书的实施例提供的一种开锁系统001的应用场景示意图。如图1所示,开锁系统001(以下简称系统001)可以包括目标门锁100、服务器200、目标客户端300、网络400以及数据库500。
目标门锁100可以是任意场景的智能门锁。目标门锁100可以是当前时刻等待开启的智能门锁。目标门锁可以包括锁体和门锁控制器。在一些实施例中,目标门锁100还可以包括L/C谐振电路和感应天线。在一些实施例中,目标门锁100还可以包括信号放大电路。
锁体可以包括安装在门体上的机械锁体,起到限制门体打开或关闭的作用。锁体还可以包括驱动电机,以驱动所述机械锁体运动,从而驱动所述机械锁体打开或关闭。
门锁控制器可以存储有执行本说明书描述的开锁方法的数据或指令,并可以执行或用于执行所述数据或指令,以控制所述锁体打开或关闭。门锁控制器可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。当然,门锁控制器也可以仅为具有数据处理能力的硬件设备,或者,仅为运行在硬件设备中的程序。门锁控制器可以安装在锁体的内部或外部。门锁控制器可以与锁体通信连接(比如与锁体的驱动电机通信连接),以控制所述锁体运动,从而控制锁体打开或关闭。
在一些实施例中,目标门锁100还可以包括L/C谐振电路和感应天线(图1中未示出)。所述L/C谐振电路和所述感应天线可以设置在锁体的内部。当外界读卡器(比如目标客户端300)靠近目标门锁100时,读卡器向所述感应天线发送激励,所述感应天线接收到所述读卡器发送的激励,并将所述激励的一部分与其本身的L/C谐振电路作用产生谐振,从而产生一个瞬间能量来供给所述门锁控制器工作。所述激励的另一部分结合产生的能量,使所述门锁控制器完成数据的修改、存储等,并通过所述感应天线将所述数据返回给所述读卡器。
在一些实施例中,目标门锁100还可以包括信号放大电路(图1中未示出)。所述信号放大电路可以设置在锁体的内部。所述信号放大电路的输入端可以与所述L/C谐振电路电连接,以接收所述L/C谐振电路产生的电量,并将所述电量放大。所述信号放大电路的输出端可以与锁体(比如锁体的驱动电机)电连接,从而将放大的电量提供给锁体的驱动电机,为锁体提供电量以驱动锁体运动。当锁体没有打开时,信号放大电路还可以将产生的电量储存下来。
综上所述,本说明书中的目标门锁100,由于门锁控制器是在外界读卡器(比如目标客户端)的激励下工作的,并且目标门锁100中设置有L/C谐振电路,可以在外界激励下产生能量供门锁控制器工作,同时,目标门锁100中还设置有信号放大电路,可以将所述激励产生的电量进行放大,以供给锁体的驱动电机,因此,目标门锁100中可以不设置额外的电源模块为目标门锁100供电。也就是说,目标门锁100可以做到无源开门,在非常低的电量或者没有电源的情况下也可以开门,从而降低设备能耗,节省电量的同时,避免因为电量过低或者断电时导致无法开门的情况出现。
服务器200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。当然,服务器200也可以仅为具有数据处理能力的硬件设备,或者,仅为运行在硬件设备中的程序。服务器200可以存储有执行本说明书描述的开锁方法的数据或指令,并可以执行或用于执行所述数据或指令。本申请实施例中提及的服务器200,其可以为专门为本申请实施例提供的开锁功能而设置的专用门锁服务器,其也可以为具备其它数据处理功能的服务器,本申请实施例不做具体限定。
目标门锁100可以关联有至少一个客户端。目标客户端300可以是当前时间正在对目标门锁100进行开锁的客户端。所述至少一个客户端包括目标客户端300。目标客户端300是目标用户访问服务器200的设备。目标用户可以是目标客户端300的使用者。目标客户端300可以与服务器200通讯连接。在一些实施例中,目标客户端300可以安装有一个或多个应用(APP)。所述APP能够为目标用户提供通过网络400同外界交互的能力以及界面。所述APP包括但不限于:聊天类APP程序、购物类APP程序、视频类APP程序、理财类APP程序等等。目标客户端300上装载有与服务器200相对应的目标APP。所述目标APP可以是能够与服务器200进行数据交互,从而实现与目标门锁100进行交互的应用平台。在一些实施例中,目标客户端300可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁或类似内容,或其中的任何组合。在一些实施例中,机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,目标客户端300可以是具有定位技术的设备,用于定位目标客户端300的位置。
网络400可以促进信息或数据的交换。如图1所示,目标客户端300、服务器200、数据库500可以同网络400连接,并且通过网络400互相传输信息或数据。例如,目标客户端300可以通过网络400从服务器200获取子密钥。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市市区网(MAN)、广域网(WAN)、公用电话交换网(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络或类似网络。在一些实施例中,网络400可以包括一个或多个网络接入点。例如,网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,目标客户端300、服务器200、数据库500的一个或多个组件可以连接到网络400以交换数据或信息。在一些实施例中,目标门锁100也可以连接到网络400以交换数据或信息。
数据库500可以存储数据或指令。在一些实施例中,数据库500可以存储从服务器200或目标客户端300获得的数据。在一些实施例中,数据库500可以存储服务器200可以执行或用于执行本说明书中描述的开锁方法的数据或指令。服务器200和目标客户端300可能具有访问数据库500的权限,服务器200和目标客户端300可以通过网络400访问存储在数据库500中的数据或指令。在一些实施例中,数据库500可以直接连接到服务器200和目标客户端300。在一些实施例中,数据库500可以是服务器200的一部分。在一些实施例中,数据库500可以包括大容量存储、可移动存储、易失性读写存储器、只读存储器(ROM)或类似内容,或其任意组合。示例性大容量存储可能包括磁盘、光盘、固态驱动器等非暂时性存储介质(non-transitory storage medium)。可移动存储可能包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等。典型的易失性读写内存可能包括随机存取存储器(RAM)。RAM可能包括动态RAM(DRAM)、双日期速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。ROM可能包括掩码ROM(MROM)、可编程ROM(PROM)、可虚拟可编程ROM(PEROM)、电子可编程ROM(EEPROM)、光盘(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,数据库500可以在云平台上实现。仅仅作为例子,所述云平台可能包括私有云、公共云、混合云、社区云、分布式云、云间云等形式,或者同上述形式类似的形式,或这上述形式的任意组合。
图2示出了根据本说明书的实施例提供的一种计算设备800的示意图。在一些实施例中,门锁控制器100可以在计算设备800上运行。即门锁控制器100的硬件结构的一部分可以是计算设备800所示的硬件结构。在一些实施例中,服务器200可以在计算设备800上运行。即服务器200的硬件结构的一部分可以是计算设备800所示的硬件结构。
在一些实施例中,目标客户端300可以在计算设备800上运行。即目标客户端300的硬件结构的一部分可以是计算设备800所示的硬件结构。所述开锁方法将在本说明书中的其他部分介绍。
如图2所示,计算设备800可以包括至少一个存储介质830和至少一个处理器820。
在一些实施例中,计算设备800还可以包括通信端口850和内部通信总线810。在一些实施例中,计算设备800还可以包括I/O组件860。
内部通信总线810可以连接不同的系统组件,实现各组件间的数据通信,包括存储介质830、处理器820、通信端口850以及I/O组件860。例如,处理器820可以通过内部通信总线810将数据发送到存储介质830或I/O组件860等其它硬件中。在一些实施例中,内部通信总线810可以为工业标准(ISA)总线、扩展工业标准(EISA)总线、视频电子标准(VESA)总线、外部部件互联标准(PCI)总线等。
I/O组件860可以用于输入或输出信号、数据或信息。I/O组件860支持计算设备800和其他组件之间的输入/输出。在一些实施例中,I/O组件860可以包括输入装置和输出装置。示例性输入装置可以包括摄像头、键盘、鼠标、显示屏和麦克风等,或其任意组合。示例性输出装置可以包括显示装置、语音播放装置(比如,扬声器等等)、打印机、投影仪等或其任意组合。示例性显示装置可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面显示器、电视设备、阴极射线管(CRT)等或其任意组合。
通信端口850可以连接到网络以便计算设备800同外界的数据通信。所述连接可以是有线连接、无线连接或两者的组合。有线连接可以包括电缆、光缆或电话线等或其任意组合。无线连接可以包括蓝牙、Wi-Fi、WiMax、WLAN、ZigBee、移动网络(例如,3G、4G或5G等)等或其任意组合。在一些实施例中,通信端口850可以是标准化端口,如RS232、RS485等。在一些实施例中,通信端口850可以是专门设计的端口。
存储介质830可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘832、只读存储介质(ROM)834或随机存取存储介质(RAM)836中的一种或多种。存储介质830还包括存储在所述数据存储装置中的至少一个指令集。所述至少一个指令集用于开锁。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的开锁方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器820可以同至少一个存储介质830以及通信端口850通过内部通信总线810通信连接。至少一个处理器820用以执行上述至少一个指令集。当计算设备800运行时,至少一个处理器820读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书提供的开锁方法。处理器820可以执行开锁方法包含的所有步骤。处理器820可以是一个或多个处理器的形式,在一些实施例中,处理器820可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中央处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备800中仅描述了一个处理器820。然而,应当注意,本说明书中计算设备800还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备800的处理器820执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器820联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种目标门锁100初始化的方法P100的流程图。在目标门锁100出厂时需要对目标门锁100进行初始化设置,以标定目标门锁100的初始化参数。所述初始化设置主要包括设置目标门锁100的主密钥。为了方便展示,我们将目标门锁100的主密钥定义为目标主密钥。所述目标主密钥主要用于对文件进行加密或解密。如图3所示,所述方法P100可以包括:
S120:目标门锁100向服务器200发送主密钥获取请求。
具体地,目标门锁100可以与服务器200建立通信连接以进行数据传输。所述通信连接可以是有线通信连接,比如,数据线连接,也可以是无线通信连接,比如,NFC、WiFi、网络,等等。所述主密钥获取请求中可以包括目标门锁100的身份标识。目标门锁100的身份标识以获取目标门锁100的身份标识可以用于标识目标门锁100的用户身份,是目标门锁100的唯一身份标识,用于与其他门锁进行区别。目标门锁100的身份标识可以是目标门锁100的设备标识。每个门锁在出厂时可以设置一个唯一的设备标识,以与其他门锁进行区别。所述设备标识可以是门锁的唯一编号。
S140:服务器200生成所述目标主密钥,并将所述目标主密钥发送给目标门锁100。
具体地,服务器200中可以是设置有密钥生成装置,以生成密钥。服务器200可以基于目标门锁100的身份标识,生成与目标门锁100相关联的所述目标主密钥,并将目标门锁100的身份标识与所述目标主密钥的关联关系存储在服务器200中。不同的门锁关联的主密钥是不同的。服务器200中可以存储有多个门锁以及所述多个门锁关联的多个主密钥。所述多个门锁包括目标门锁100。所述多个主密钥包括所述目标主密钥。所述多个门锁与所述多个主密钥一一对应。所述多个主密钥中的每个主密钥与所述多个门锁中的一个关联。具体地,所述门锁与主密钥的关联关系表现为所述门锁的身份标识与主密钥的关联。目标门锁100可以将所述母包主密钥存储在目标门锁100中。
S160:目标门锁100向服务器200发送激活结果。
需要说明的是,在一些实施例中,在目标门锁100的使用过程中,所述目标主密钥可以进行设定或更改,以确保目标门锁100的安全性。比如,目标门锁100上可以设置有重置按钮,当所述重置按钮被触发时,目标门锁100可以与服务器200进行通信连接(比如通过网络400进行无线通信连接),以进行数据传输。此时,目标门锁100和服务器200之间可以重复方法P100的步骤,以对所述目标主密钥进行重置。重置后,目标门锁100中可以存储有重置后的目标主密钥,服务器200中可以存储有目标门锁100与重置后的目标主密钥的关联关系。在一些实施例中,目标门锁100中还可以设置对所述目标主密钥进行定期重置,比如,每间隔一定的时间周期则对目标主密钥进行重置。
图4示出了根据本说明书的实施例提供的一种开锁方法P200的流程图。如前所述,目标门锁100、服务器200以及目标客户端300可以执行本说明书提供的开锁方法P200。具体地,处理器820可以读取存储在其本地存储介质中的指令集,然后根据所述指令集的规定,执行本说明书提供的开锁方法P200。所述方法P200可以包括:
S220:目标客户端300从服务器200获取子密钥。
目标客户端300与服务器200可以通过网络400进行通信连接。目标客户端300从服务器200中获取所述子密钥的方式可以有多种不同的形式。所述目标用户可以在目标客户端300中设置目标客户端300从服务器200获取子密钥的具体形式。在一些实施例中,目标客户端300可以基于所述目标用户对目标客户端300的开锁操作,实时从服务器200中获取所述子密钥。也就是说,当目标客户端300接收到所述目标用户在目标客户端300上执行的所述开锁操作后,目标客户端300就可以从服务器200中获取所述子密钥。在这种情况下,目标客户端300需先接收所述目标客户对目标客户端300的开锁操作。当所述目标用户需要对目标门锁100进行开锁时,所述目标用户可以通过目标客户端300主动向目标门锁100发起开锁请求。具体地,所述目标用户可以在目标客户端300上触发相应的开锁操作,目标客户端300对所述目标用户触发的开锁操作进行响应。所述开锁操作可以是任意可以触发开锁程序的操作。在一些实施例中,目标客户端300上可以安装有开锁应用程序,即所述目标APP,所述目标用户可以在所述目标APP上登录相应的账户,在所述目标APP显示的预设界面上触发相应的开锁操作,从而使得目标客户端300基于该开锁操作生成前述开锁请求。所述预设界面可以是所述目标APP的人机交互界面。本说明书不具体限定所述开锁操作,所述开锁操作例如可以是所述目标用户点击了所述预设界面上显示了某一功能按钮。在一些实施例中,所述开锁操作可以是一些指定的动作,比如,摇一摇目标客户端300,再比如,在目标客户端300的屏幕上做出指定的手势,等等。
在一些实施例中,目标客户端300可以定期从服务器200中获取所述子密钥并保存在目标客户端300中。所述目标用户可以在目标客户端300中设定目标客户端300从服务器200中获取所述子密钥的时间,比如,所述目标用户可以设定每间隔一天、一周、一个月,等等从服务器200中获取一次子密钥。在一些实施例中,所述目标用户还可以设定当目标客户端300闲时可以从服务器200中获取所述子密钥。比如,当目标客户端300的CPU使用率低于一定的阈值时,从服务器200中获取所述子密钥。所述目标用户还可以在目标客户端300中设定所述子密钥的属性信息,比如所述子密钥的限制使用时间,也就是所述子密钥的有效时间。所述子密钥只有在有效时间内是有效的,其他时间是无效的。所述目标用户可以对不同的子密钥设定不同的限制使用时间。
具体地,步骤S220可以包括:
S222:目标客户端300向服务器200发送子密钥获取请求,服务器200接收目标客户端300发送的所述子密钥获取请求。
一些实施例中,所述子密钥获取请求可以包括目标客户端300的身份标识。在一些实施例中,所述子密钥获取请求可以包括目标门锁100的身份标识。在一些实施例中,所述子密钥获取请求可以包括目标客户端300的身份标识以及目标门锁100的身份标识。
在一些实施例中,所述步骤S222可以是基于所述开锁操作实时向所述服务器200发送所述子密钥获取请求。在一些实施例中,所述步骤S222可以是基于目标时间周期定期向所述服务器200发送所述子密钥获取请求。所述目标时间周期可以是任意长度的时间,可以是固定长度的时间,也可以是非固定长度的时间。所述目标时间周期可以有所述目标用户进行设定或更改。
S224:服务器200响应于所述子密钥获取请求,生成子密钥。
如前所述,目标客户端300可以与目标门锁100关联。服务器200中可以存储有目标客户端300与目标门锁100的关联关系。具体地,所述关联关系可以表现为目标客户端300的身份标识与目标门锁100的身份标识的关联关系。服务器200可以对所述子密钥获取请求进行验证,以验证目标客户端300与目标门锁100的关联关系。当目标客户端300与目标门锁100之间存在所述关联关系时,验证通过,服务器200可以生成所述子密钥。所述子密钥可以是所述目标主密钥基于分散算法和动态的分散因子得到的。具体地,所述子密钥包括所述分散因子。
具体地,步骤S224可以包括:服务器200基于目标门锁100的身份标识,确定与目标门锁100关联的所述目标主密钥;以及服务器200基于所述分散算法和所述分散因子,对所述目标主密钥进行分散,生成所述子密钥。
如前所述,服务器200中预先存储有目标门锁100关联的所述目标主密钥。服务器200可以基于分散算法和分散因子对所述目标主密钥进行分散,得到所述子密钥。不同的分散因子得到的子密钥是不同的。因此,所述子密钥是可以变动的,以提升设备的安全性。所述分散算法可以是任意一种分散算法,本说明书对此不做限定。
在一些实施例中,所述分散因子可以是时间因子,即服务器200可以基于时间对所述目标主密钥进行分散。在一些实施例中,所述分散因子可以是编号。即服务器200可以基于编号对所述目标主密钥进行分散。所述目标用户可以在目标客户端300中对所述分散因子的限制使用时间进行设置,以对所述分散因子对应的子密钥的有效时间进行设定。
S226:服务器200将所述子密钥发送给所述目标客户端300,目标客户端300接收所述服务器200发送的所述子密钥。
目标客户端300中可以包括安全模块单元。所述安全模块单元可以是具有安全计算能力的安全单元,以对所述子密钥进行安全保存。
综上所述,本说明书提供的开锁方法P200中,目标客户端300既可以实时从服务器200中获取所述子密钥,也可以定时从服务器200获取所述子密钥并保存。当目标客户端300在线时,目标客户端300可以实时从服务器200中获取所述子密钥。当目标客户端300离线时,目标客户端300可以使用目标客户端300中保存的子密钥进行开锁。因此,本说明书提供的开锁方法P200可以在不降低安全系数的基础上,实现脱机开锁,提升使用便利性。
S240:所述目标客户端300向所述目标门锁100发送基于所述子密钥加密的开锁请求,目标门锁100接收目标客户端300发送的所述开锁请求,以供所述目标门锁100基于所述目标主密钥对所述目标客户端300进行身份验证。
目标客户端300可以基于所述目标用户对目标客户端300的所述开锁操作,生成所述开锁请求向目标门锁100发送。在发送所述开锁请求之前,目标客户端300可以先与目标门锁100建立通信连接,以进行数据传输。所述通信连接可以是近距离通信连接。所述近距离通信连接可以是蓝牙连接、WiFi连接、NFC连接等等。所述近距离通信连接需要两个设备的距离在近距离通信所要求的距离范围内,比如,10cm,20cm,30cm,50cm,甚至,更长,比如1m,2m,等等。所述近距离通信的范围可以进行设定或更改。目标客户端300与目标门锁100中均设置有用于近距离通信的通信模块,且二者的近距离通信模块为相同的模块。例如,目标客户端300与目标门锁100之间的距离处于所述近距离通信连接的范围内时,目标客户端300与目标门锁100之间可以建立所述近距离通信连接。
在一些实施例中,所述开锁请求中可以包括所述子密钥,即所述分散因子。在一些实施例中,所述开锁请求中可以包括基于所述子密钥进行加密的所述目标客户端300的身份标识的第一加密密文。在一些实施例中,所述开锁请求中还可以包括基于所述子密钥进行加密的第一随机数的第二加密密文。
所述目标客户端300的身份标识可以用于标识使用目标客户端300的目标用户的身份。如前所述,目标客户端300可以基于所述目标APP与服务器200进行数据交互。在一些实施例中,则目标客户端300的身份标识可以体现为所述目标APP对应的账户所对应的用户标识。比如,所述目标APP对应的账户所对应的用户标识可以为所述账户所对应的账户的身份识别号码。目标客户端300的身份标识可以是任意形式的可以用于表明目标客户端300的身份的标识,本说明书不具体限定。目标门锁100可以对目标客户端300进行身份验证,以验证目标客户端300是否是与目标门锁100关联的设备。
所述第一随机数可以是由随机数产生装置产生的任意随机数。所述第二随机数可以用于目标客户端300对目标门锁100的认证,也可以用于对开锁数据的统计。
目标客户端300可以使用所述子密钥对所述开锁请求进行加密,以提升数据传输的安全性。同时,目标客户端300中只保存有所述子密钥,没有所述目标主密钥,当所述子密钥泄露时,攻击者也不会通过所述子密钥获取所述目标主密钥,因此,可以进一步提升数据传输的安全性。
在一些实施例中,在接收到所述开锁操作之后,发送所述开锁请求之前,目标客户端300可以对从服务器200中获取的所述子密钥进行验证,以验证所述子密钥是否有效。具体地,目标客户端300可以对所述子密钥的限制使用时间进行验证,以验证所述子密钥在当前时间是否有效。即目标客户端300会获取所述子密钥的有效使用时间,并与当前时间进行匹配,若当前时间在所述有效使用时间之内,则代表所述子密钥在当前时刻有效;若当前时间不在所述有效使用时间之内,则代表所述子密钥在当前时刻无效。比如,若所述子密钥的限制使用时间是每周一的上午9:00-10:00,若当前时间为周二,则所述子密钥在当前时间无效。当所述子密钥在当前时刻无效时,则目标客户端300不会向目标门锁100发送所述开锁请求,即目标客户端300可以禁止所述目标用户在当前时间开锁。
S250:目标门锁100基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端300进行身份验证,生成验证结果。
在一些实施例中,步骤S260可以包括:目标门锁100基于所述子密钥以及所述目标主密钥,对所述第一加密密文进行解密,获取所述目标客户端300的身份标识的解密明文;目标门锁100将所述目标客户端300的身份标识的解密明文与所述目标门锁100中预先存储的至少一个身份信息进行匹配;以及目标门锁100基于所述目标客户端300的身份标识的解密明文与所述至少一个身份信息的匹配结果确定所述验证结果。
如前所述,目标门锁100可以与至少一个客户端进行关联。目标门锁100中可以存储有目标门锁100关联的所述至少一个客户端的至少一个身份信息。所述身份信息可以是每个客户端的身份标识。目标门锁100可以基于所述分散以及所述目标主密钥,对所述开锁请求进行解密,以获取解密明文。目标门锁100可以对目标客户端300的身份标识进行验证。确定当所述目标客户端300的身份标识的解密明文与所述至少一个身份信息中的至少一个相匹配,说明目标客户端300与目标门锁100存在关联,确定目标客户端300的所述验证结果为通过;当所述目标客户端300的身份标识的解密明文与所述至少一个身份信息均不匹配,说明目标客户端300与目标门锁100不存在关联,确定目标客户端300的所述验证结果为不通过。
在一些实施例中,步骤S260还可以是,目标门锁100将所述开锁请求发送给服务器200,由服务器200对目标客户端300进行身份验证,并将所述验证结果发送给目标门锁100。
在一些实施例中,在目标门锁100对目标客户端300进行身份验证之前,目标门锁100可以先对所述子密钥进行验证,以验证所述子密钥是否有效。具体地,目标门锁100可以对所述子密钥的限制使用时间进行验证,以验证所述子密钥在当前时间是否有效。即目标门锁100会获取所述子密钥的有效使用时间,并与当前时间进行匹配,若当前时间在所述有效使用时间之内,则代表所述子密钥在当前时刻有效;若当前时间不在所述有效使用时间之内,则代表所述子密钥在当前时刻无效。比如,若所述子密钥的限制使用时间是每周一的上午9:00-10:00,若当前时间为周二,则所述子密钥在当前时间无效。当所述子密钥在当前时刻无效时,则目标门锁100不会对目标客户端300进行身份验证,也不会进行开锁。
在一些实施例中,步骤S250中还可以包括:目标门锁100基于所述子密钥以及所述目标主密钥,对所述第二加密密文进行解密,获取所述第一随机数的解密明文。其中,所述第一随机数的解密明文为第二随机数。
S260:目标门锁100确定所述验证结果为通过,控制所述目标门锁100打开。
当目标门锁100确定目标客户端300的验证结果为通过时,目标门锁100可以打开。如前所述,目标门锁100中可以包括信号放大电路。当目标门锁接收到目标客户端300发送的所述开锁请求时,目标门锁100中的L/C谐振电路产生谐振,从而产生一个瞬间能量来供给所述门锁控制器工作。此时,所述信号放大电路可以将所述电量放大,以驱动目标门锁100打开。因此,目标门锁100中可以不设置额外的电源模块为目标门锁100供电。也就是说,目标门锁100可以做到无源开门,在非常低的电量或者没有电源的情况下也可以开门,从而降低设备能耗,节省电量的同时,避免因为电量过低或者断电时导致无法开门的情况出现。
综上所述,目标客户端300与目标门锁100之间的开锁程序的启动,由所述目标用户主动触发启动。当所述目标用户没有触发所述开锁程序时,目标客户端300不会启动所述开锁程序,也不会执行后续的操作,从而可以防止接力攻击,降低接力攻击的风险。同时,目标客户端300只需要具有读取能力(13.56MHz的数据读取能力),即可实现目标门锁100的开启。不需要在目标客户端300上预置虚拟门禁卡,对目标客户端300没有其它特殊要求,因此不需要开发单独的虚拟卡应用,降低目标门锁100场景的落地复杂性同时,也降低开发者的接入门槛。
如图4所示,在一些实施例中,所述方法P200还可以包括:
S280:目标门锁100将所述第二随机数发送给目标客户端300,目标客户端300获取目标门锁100发送的所述第二随机数。
在一些实施例中,目标门锁100在向目标客户端300发送所述第二随机数时,可以基于所述子密钥对所述第二随机数进行加密。在一些实施例中,目标门锁100可以直接将所述第二随机数发送给目标客户端300,不进行加密。
S290:目标客户端300将所述第一随机数与所述第二随机数进行匹配,基于所述第一随机数与所述第二随机数的匹配结果,确定开锁结果并向所述服务器200发送。
当目标门锁100基于所述子密钥对所述第二随机数进行加密时,目标客户端300可以基于所述子密钥先对所述第二随机数进行解密。具体地,步骤S290可以是:目标客户端300确定所述第一随机数与所述第二随机数相匹配,确定所述开锁结果为开锁成功,并向所述服务器200发送;或者目标客户端300确定所述第一随机数与所述第二随机数不匹配,确定所述开锁结果为开锁失败,并向所述服务器200发送。
在步骤S280中和S290中,目标客户端300可以通过所述随机数对目标门锁100进行验证,从而实现目标门锁100与目标客户端300之间的双向认证。
在一些实施例中,目标客户端300还可以获取目标门锁100的状态信息,比如,目标门锁100是打开状态还是关闭状态,以及什么时候打开的,什么时候关闭的等等。目标客户端300可以通过近距离通信连接获取所述状态信息,也可以通过远端的服务器200,从服务器200中获取所述状态信息。在一些实施例中,目标门锁100还可以与其他智能家居进行通信连接,以进行联动。目标客户端30可以通过目标门锁100实现对其他智能家居的控制。
综上所述,本说明书提供的开锁方法P200和系统001,目标客户端300可以主动向目标门锁100发起开锁请求,开锁请求中包括基于子密钥对目标客户端300的身份标识进行加密得到的加密密文。目标门锁100使用目标主密钥对加密密文进行解密,以对目标客户端300进行身份验证,以验证目标客户端300是否具有开锁权限,只有在目标客户端300具有开锁权限的情况下,才会开锁。本说明书提供的开锁方法P200和系统001,将目标门锁100作为一个存储身份信息智能卡,而将目标客户端300作为具有读取功能的读卡机,开锁过程需要目标客户端300主动发起,因此攻击者无法通过中间设备读取目标客户端300的数据信息,从而防止接力攻击,提高安全性。同时,目标客户端300向目标门锁发送开锁请求时,身份信息是经过子密钥加密的,提高数据传输的安全性。而且,由于目标门锁100中保存目标主密钥,目标客户端300中只保存有子密钥,即使子密钥泄露也不会导致目标主密钥泄露,进一步提高目标门锁100的安全性。同时,目标门锁100中可以包括信号放大电路,可以将所述电量放大,以驱动目标门锁100打开。因此,目标门锁100中可以不设置额外的电源模块为目标门锁100供电。也就是说,目标门锁100可以做到无源开门,在非常低的电量或者没有电源的情况下也可以开门,从而降低设备能耗,节省电量的同时,避免因为电量过低或者断电时导致无法开门的情况出现。
说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来开锁的可执行指令,当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的开锁方法P200的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备800上运行时,所述程序代码用于使计算设备800执行本说明书描述的开锁的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备800上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统(例如处理器820)使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备800上执行、部分地在计算设备800上执行、作为一个独立的软件包执行、部分在计算设备800上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (19)
1.一种开锁方法,应用于目标客户端,包括:
从服务器获取子密钥,所述服务器中预先存储有所述目标客户端关联的目标门锁以及所述目标门锁关联的目标主密钥,所述子密钥是所述目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子;以及
向所述目标门锁发送基于所述子密钥加密的开锁请求,以供所述目标门锁基于所述目标主密钥对所述目标客户端进行身份验证,所述开锁请求包括基于所述子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述目标门锁中存储有所述目标主密钥。
2.如权利要求1所述的开锁方法,其中,还包括:
接收目标用户对所述目标客户端的开锁操作。
3.如权利要求2所述的开锁方法,其中,所述从服务器获取子密钥,包括:
向所述服务器发送子密钥获取请求,所述子密钥获取请求包括所述目标客户端的身份标识以及所述目标门锁的身份标识,包括以下情况中的一种:
基于所述开锁操作实时向所述服务器发送所述子密钥获取请求;以及
基于目标时间周期定期向所述服务器发送所述子密钥获取请求;以及
接收所述服务器发送的所述子密钥。
4.如权利要求1所述的开锁方法,其中,所述分散因子是时间因子。
5.如权利要求1所述的开锁方法,其中,所述开锁请求还包括基于所述子密钥进行加密的第一随机数的第二加密密文。
6.如权利要求5所述的开锁方法,其中,还包括:
获取所述目标门锁发送的第二随机数;以及
将所述第一随机数与所述第二随机数进行匹配,基于所述第一随机数与所述第二随机数的匹配结果,确定开锁结果并向所述服务器发送,包括:
确定所述第一随机数与所述第二随机数相匹配,确定所述开锁结果为开锁成功,并向所述服务器发送;或者
确定所述第一随机数与所述第二随机数不匹配,确定所述开锁结果为开锁失败,并向所述服务器发送。
7.一种开锁系统,包括目标客户端,所述目标客户端包括:
至少一个存储介质,存储有至少一个指令集用于开锁;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施权利要求1-6中任一项所述的开锁方法。
8.一种开锁方法,应用于服务器,包括:
接收目标客户端发送的子密钥获取请求;
响应于所述子密钥获取请求,生成子密钥,所述服务器中预先存储有所述目标客户端关联的目标门锁以及所述目标门锁关联的目标主密钥,所述子密钥是所述目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子;以及
将所述子密钥发送给所述目标客户端,所述目标客户端向所述目标门锁发送基于所述子密钥加密的开锁请求,以供所述目标门锁基于所述目标主密钥对所述目标客户端进行身份验证,所述开锁请求包括基于所述子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述目标门锁中存储有所述目标主密钥。
9.如权利要求8所述的开锁方法,其中,所述子密钥获取请求包括所述目标客户端的身份标识以及所述目标门锁的身份标识,所述响应于所述子密钥获取请求,生成子密钥,包括:
基于所述目标门锁的身份标识,确定与所述目标门锁关联的所述目标主密钥,所述服务器中存储有多个门锁以及所述多个门锁关联的多个主密钥,所述多个门锁包括所述目标门锁,所述多个主密钥包括所述目标主密钥;以及
基于所述分散算法和所述分散因子,对所述目标主密钥进行分散,生成所述子密钥。
10.如权利要求8所述的开锁方法,其中,所述分散因子是时间因子。
11.如权利要求8所述的开锁方法,其中,还包括:
接收所述目标客户端发送的开锁结果。
12.一种开锁系统,包括服务器,所述服务器包括:
至少一个存储介质,存储有至少一个指令集用于开锁;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施权利要求8-11中任一项所述的开锁方法。
13.一种开锁方法,应用于目标门锁,包括:
接收目标客户端发送的开锁请求,所述目标客户端与所述目标门锁关联,所述开锁请求包括基于子密钥进行加密的所述目标客户端的身份标识的第一加密密文以及所述子密钥,所述子密钥是所述目标门锁关联的目标主密钥基于分散算法和动态的分散因子得到的,所述子密钥包括所述分散因子,所述目标门锁中存储有所述目标主密钥;
基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,生成验证结果;以及
确定所述验证结果为通过,控制所述目标门锁打开。
14.如权利要求13所述的开锁方法,其中,所述基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,包括:
基于所述子密钥以及所述目标主密钥,对所述第一加密密文进行解密,获取所述目标客户端的身份标识的解密明文;
将所述目标客户端的身份标识的解密明文与所述目标门锁中预先存储的至少一个身份信息进行匹配;以及
基于所述目标客户端的身份标识的解密明文与所述至少一个身份信息的匹配结果确定所述验证结果,包括:
确定所述目标客户端的身份标识的解密明文与所述至少一个身份信息中的至少一个相匹配,确定所述验证结果为所述通过;或者
确定所述目标客户端的身份标识的解密明文与所述至少一个身份信息均不匹配,确定所述验证结果为不通过。
15.如权利要求13所述的开锁方法,其中,所述分散因子是时间因子。
16.如权利要求13所述的开锁方法,其中,所述开锁请求还包括基于所述子密钥进行加密的第一随机数的第二加密密文。
17.如权利要求16所述的开锁方法,其中,所述基于所述目标主密钥以及所述子密钥,对所述开锁请求进行解密,以对所述目标客户端进行身份验证,还包括:
基于所述子密钥以及所述目标主密钥,对所述第二加密密文进行解密,获取所述第一随机数的解密明文,所述第一随机数的解密明文为第二随机数;
向所述目标客户端发送所述第二随机数。
18.一种开锁系统,包括目标门锁,所述目标门锁包括:
锁体;以及
门锁控制器,与所述锁体通信连接以控制所述锁体运动,所述门锁控制器包括:
至少一个存储介质,存储有至少一个指令集用于开锁;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述开锁系统运行时,所述至少一个处理器读取所述至少一个指令集并实施权利要求13-17中任一项所述的开锁方法。
19.如权利要求18所述的开锁系统,其中,还包括:
信号放大电路,与所述锁体电连接,为所述锁体提供电量驱动所述锁体运动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110664327.9A CN113470224A (zh) | 2021-06-16 | 2021-06-16 | 开锁方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110664327.9A CN113470224A (zh) | 2021-06-16 | 2021-06-16 | 开锁方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113470224A true CN113470224A (zh) | 2021-10-01 |
Family
ID=77870003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110664327.9A Pending CN113470224A (zh) | 2021-06-16 | 2021-06-16 | 开锁方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113470224A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114241631A (zh) * | 2021-11-24 | 2022-03-25 | 新华三智能终端有限公司 | 一种智能门锁的管控方法、注册方法及相关装置 |
CN115116150A (zh) * | 2022-07-22 | 2022-09-27 | 中国工商银行股份有限公司 | 购票验票方法、装置、离线验票端、电子设备和存储介质 |
CN116052306A (zh) * | 2022-12-27 | 2023-05-02 | 北京深盾科技股份有限公司 | 门锁消息推送方法、用户终端、服务器、智能门锁及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075327A (zh) * | 2010-12-21 | 2011-05-25 | 北京握奇数据系统有限公司 | 一种实现电子钥匙解锁的方法、装置及系统 |
CN104022886A (zh) * | 2014-06-27 | 2014-09-03 | 深圳市捷顺科技实业股份有限公司 | 应用于停车场的安全认证方法、相关装置和系统 |
CN105471903A (zh) * | 2015-12-31 | 2016-04-06 | 中国建设银行股份有限公司 | 电子锁激活信息的产生方法及相关系统、设备和开锁方法 |
JP2018003330A (ja) * | 2016-06-28 | 2018-01-11 | トヨタ自動車株式会社 | 施解錠システム、キーユニット |
CN109448197A (zh) * | 2018-12-18 | 2019-03-08 | 杭州高锦科技有限公司 | 一种基于多重加密模式的云智能锁系统及密钥管理方法 |
CN109754505A (zh) * | 2018-12-19 | 2019-05-14 | 广州羊城通有限公司 | 一种基于ic卡的开锁方法及装置 |
CN110070650A (zh) * | 2019-04-25 | 2019-07-30 | 成都华立达信息技术有限公司 | 一种智能配电箱的智能开锁方法及系统 |
CN110443915A (zh) * | 2019-06-24 | 2019-11-12 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
CN112900975A (zh) * | 2021-03-22 | 2021-06-04 | 河北工业大学 | 具有一次一密和可追溯功能的电子签封锁系统 |
CN114267100A (zh) * | 2021-11-11 | 2022-04-01 | 北京智芯微电子科技有限公司 | 开锁认证方法、装置、安全芯片及电子钥匙管理系统 |
-
2021
- 2021-06-16 CN CN202110664327.9A patent/CN113470224A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075327A (zh) * | 2010-12-21 | 2011-05-25 | 北京握奇数据系统有限公司 | 一种实现电子钥匙解锁的方法、装置及系统 |
CN104022886A (zh) * | 2014-06-27 | 2014-09-03 | 深圳市捷顺科技实业股份有限公司 | 应用于停车场的安全认证方法、相关装置和系统 |
CN105471903A (zh) * | 2015-12-31 | 2016-04-06 | 中国建设银行股份有限公司 | 电子锁激活信息的产生方法及相关系统、设备和开锁方法 |
JP2018003330A (ja) * | 2016-06-28 | 2018-01-11 | トヨタ自動車株式会社 | 施解錠システム、キーユニット |
CN109448197A (zh) * | 2018-12-18 | 2019-03-08 | 杭州高锦科技有限公司 | 一种基于多重加密模式的云智能锁系统及密钥管理方法 |
CN109754505A (zh) * | 2018-12-19 | 2019-05-14 | 广州羊城通有限公司 | 一种基于ic卡的开锁方法及装置 |
CN110070650A (zh) * | 2019-04-25 | 2019-07-30 | 成都华立达信息技术有限公司 | 一种智能配电箱的智能开锁方法及系统 |
CN110443915A (zh) * | 2019-06-24 | 2019-11-12 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
CN112900975A (zh) * | 2021-03-22 | 2021-06-04 | 河北工业大学 | 具有一次一密和可追溯功能的电子签封锁系统 |
CN114267100A (zh) * | 2021-11-11 | 2022-04-01 | 北京智芯微电子科技有限公司 | 开锁认证方法、装置、安全芯片及电子钥匙管理系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114241631A (zh) * | 2021-11-24 | 2022-03-25 | 新华三智能终端有限公司 | 一种智能门锁的管控方法、注册方法及相关装置 |
CN115116150A (zh) * | 2022-07-22 | 2022-09-27 | 中国工商银行股份有限公司 | 购票验票方法、装置、离线验票端、电子设备和存储介质 |
CN116052306A (zh) * | 2022-12-27 | 2023-05-02 | 北京深盾科技股份有限公司 | 门锁消息推送方法、用户终端、服务器、智能门锁及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3657370B1 (en) | Methods and devices for authenticating smart card | |
CN113470224A (zh) | 开锁方法和系统 | |
US20210168602A1 (en) | Vehicle digital key sharing service method and system | |
US9262616B2 (en) | Simplified multi-factor authentication | |
US20180357846A1 (en) | Intelligent vehicular electronic key system | |
CN107021065B (zh) | 使用用户终端控制车辆的装置和方法 | |
CN100541366C (zh) | 车辆信息重写系统 | |
US8689013B2 (en) | Dual-interface key management | |
US9762567B2 (en) | Wireless communication of a user identifier and encrypted time-sensitive data | |
KR102540090B1 (ko) | 전자 장치 및 그의 전자 키 관리 방법 | |
WO2020228442A1 (zh) | 一种车钥匙的控制方法和装置 | |
KR102109981B1 (ko) | 이기종 단말기에 적용이 가능한 하이브리드 보안환경 기반의 호텔용 스마트 키 서비스 방법 및 이를 위한 호텔용 스마트 키 관리시스템 | |
KR102301742B1 (ko) | 키패드 없는 스마트 도어락 키 등록 및 사용방법과 그 출입관리 시스템 | |
KR102251593B1 (ko) | 디지털 키 사용자의 차량탑승 확인이 가능한 차량 운행 제어 시스템 및 차량 단말 장치의 제어 방법 | |
KR102483830B1 (ko) | 전자 장치 및 그의 동작 방법 | |
KR102112975B1 (ko) | 하이브리드 보안환경 기반의 스마트 키를 이용한 출입관리방법 및 이를 위한 출입관리시스템 | |
KR20190115377A (ko) | 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법 | |
US20180054317A1 (en) | Communication system for the detection of a driving license | |
KR101314432B1 (ko) | Se를 탑재한 모바일 단말기를 이용한 네트워크 제어방법 및 시스템 | |
CN103699853B (zh) | 一种智能sd卡及其控制系统及方法 | |
KR101934785B1 (ko) | 출입 통제 시스템 | |
CN107070663B (zh) | 一种基于移动终端的现场认证方法和现场认证系统 | |
KR20230147085A (ko) | 인증 지속성 수립 | |
US10042990B2 (en) | Field revisions for a personal security device | |
US11847232B2 (en) | Secure cloud processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |