使用密码开锁的方法、装置和系统转让专利

申请号 : CN201711262496.X

文献号 : CN107978047B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平念龙龙

申请人 : 北京深思数盾科技股份有限公司

摘要 :

本发明公开了一种使用密码开锁的方法、装置和系统。本发明使用密码开锁的方法,适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,方法包括:所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码;所述解锁装置将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。本发明解决了临时开锁对象拿到开锁授权导致不安全的问题,达到了开锁密码便于管理的效果。

权利要求 :

1.一种使用密码开锁的方法,其特征在于,所述方法适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,所述方法包括:所述解锁装置从所述门锁装置获取所述门锁装置为所述解锁装置分配的开锁密钥;或者,所述解锁装置生成所述开锁密钥;

所述解锁装置生成所述开锁密钥,包括:

所述解锁装置根据从所述门锁装置得到的第一密钥和所述解锁装置的第一随机数生成第一开锁密钥,其中,所述第一密钥是所述门锁装置根据第二随机数生成的,所述解锁装置将所述第一开锁密钥作为用于生成开锁密码的开锁密钥;

所述解锁装置根据所述第一开锁密钥和开锁时间使用单向算法生成开锁密码;

所述解锁装置将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。

2.根据权利要求1所述的方法,其特征在于,在所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码之前,还包括:所述解锁装置向所述门锁装置发送身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;

所述解锁装置接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息。

3.根据权利要求2所述的方法,其特征在于,所述身份认证确认消息中携带所述门锁装置的证书;在所述解锁装置接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息之后,还包括:所述解锁装置根据所述门锁装置的证书对所述门锁装置进行认证。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述解锁装置根据所述第一随机数生成第二密钥;

所述解锁装置将所述第二密钥发送给所述门锁装置,用于所述门锁装置根据所述第二密钥和所述第二随机数生成第二开锁密钥。

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:所述解锁装置对从所述门锁装置获取的密钥进行以下至少一项处理:所述解锁装置使用所述门锁装置的公钥进行验签;

所述解锁装置使用所述解锁装置的私钥进行解密。

6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:所述解锁装置对向所述门锁装置发送的密钥经过以下至少一项处理:所述解锁装置使用所述解锁装置的私钥进行签名;

所述解锁装置使用所述门锁装置的公钥进行加密。

7.根据权利要求1-4中任一项所述的方法,其特征在于,所述单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。

8.一种使用密码开锁的方法,其特征在于,所述方法适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,所述方法包括:所述门锁装置从所述解锁装置获取所述解锁装置生成的开锁密钥;或者,所述门锁装置生成所述开锁密钥;

其中,所述门锁装置生成所述开锁密钥,包括:所述门锁装置根据从所述解锁装置得到的第二密钥和所述门锁装置的第二随机数生成第二开锁密钥,其中,所述第二密钥是所述解锁装置根据第一随机数生成的,所述门锁装置将所述第二开锁密钥作为用于验证开锁密码的开锁密钥;

所述门锁装置接收开锁密码;

所述门锁装置根据接收所述开锁密码的时间和所述第二开锁密钥对所述开锁密码进行验证;

在对所述开锁密码验证通过后,所述门锁装置开锁。

9.根据权利要求8所述的方法,其特征在于,所述门锁装置根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证,包括:所述门锁装置确定多个验证时间,所述多个验证时间包括所述接收所述开锁密码的时间;

所述门锁装置分别根据所述多个验证时间中的每个验证时间和所述开锁密钥生成一个验证密码;

所述门锁装置确定所述多个验证时间各自对应的所述验证密码中是否包括所述开锁密码,若包括则验证通过。

10.根据权利要求8所述的方法,其特征在于,在所述门锁装置接收开锁密码之前,还包括:所述门锁装置接收所述解锁装置发送的身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息;

所述门锁装置根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息。

11.根据权利要求10所述的方法,其特征在于,所述身份认证请求消息中还携带所述解锁装置的证书;在所述门锁装置根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息之前,还包括:所述门锁装置根据所述解锁装置的证书对所述解锁装置进行认证。

12.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述门锁装置根据所述第二随机数生成第一密钥;

所述门锁装置将所述第一密钥发送给所述解锁装置,用于所述解锁装置根据所述第一密钥和所述第一随机数生成第一开锁密钥。

13.根据权利要求8-12中任一项所述的方法,其特征在于,所述方法还包括:所述门锁装置对从所述解锁装置获取的密钥进行以下至少一项处理:所述门锁装置使用所述解锁装置的公钥进行验签;

所述门锁装置使用所述门锁装置的私钥进行解密。

14.根据权利要求8-12中任一项所述的方法,其特征在于,所述方法还包括:所述门锁装置对向所述解锁装置发送的密钥经过以下至少一项处理:所述门锁装置使用所述门锁装置的私钥进行签名;

所述门锁装置使用所述解锁装置的公钥进行加密。

15.一种解锁装置,其特征在于,包括:

密码生成模块,用于根据开锁密钥和开锁时间使用单向算法生成开锁密码;

密码使用模块,用于将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁;

还包括:

密钥获取模块,用于从所述门锁装置获取所述门锁装置为所述解锁装置分配的开锁密钥;

密钥生成模块,用于生成所述开锁密钥;

所述密钥生成模块,具体用于根据从所述门锁装置得到的第一密钥和所述解锁装置的第一随机数生成第一开锁密钥,其中,所述第一密钥是所述门锁装置根据第二随机数生成的,将所述第一开锁密钥作为用于生成开锁密码的开锁密钥。

16.根据权利要求15所述的装置,其特征在于,还包括:发送模块,用于向所述门锁装置发送身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;

接收模块,用于接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息。

17.根据权利要求16所述的装置,其特征在于,所述身份认证确认消息中携带所述门锁装置的证书;所述装置还包括:认证模块,用于根据所述门锁装置的证书对所述门锁装置进行认证。

18.根据权利要求15所述的装置,其特征在于,所述发送模块,还用于根据所述第一随机数生成第二密钥;将所述第二密钥发送给所述门锁装置,用于所述门锁装置根据所述第二密钥和所述第二随机数生成第二开锁密钥。

19.根据权利要求15-18中任一项所述的装置,其特征在于,还包括:解密模块,用于对从所述门锁装置获取的密钥进行以下至少一项处理:使用所述门锁装置的公钥进行验签;

使用所述解锁装置的私钥进行解密。

20.根据权利要求15-18中任一项所述的装置,其特征在于,还包括:加密模块,用于对向所述门锁装置发送的密钥经过以下至少一项处理:使用所述解锁装置的私钥进行签名;

使用所述门锁装置的公钥进行加密。

21.根据权利要求15-18中任一项所述的装置,其特征在于,所述单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。

22.一种门锁装置,其特征在于,包括:

接收模块,用于接收开锁密码;

验证模块,用于根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证;

开锁模块,用于在对所述开锁密码验证通过后开锁;

还包括:

密钥获取模块,用于从所述解锁装置获取所述解锁装置生成的开锁密钥;

密钥生成模块,用于生成所述开锁密钥;

所述密钥生成模块,具体用于根据从所述解锁装置得到的第二密钥和所述门锁装置的第二随机数生成第二开锁密钥,其中,所述第二密钥是所述解锁装置根据第一随机数生成的,将所述第二开锁密钥作为用于验证开锁密码的开锁密钥。

23.根据权利要求22所述的装置,其特征在于,所述验证模块,具体用于确定多个验证时间,所述多个验证时间包括所述接收所述开锁密码的时间;分别根据所述多个验证时间中的每个验证时间和所述开锁密钥生成一个验证密码;确定所述多个验证时间各自对应的所述验证密码中是否包括所述开锁密码,若包括则验证通过。

24.根据权利要求22或23所述的装置,其特征在于,还包括:发送模块;

所述接收模块,还用于接收所述解锁装置发送的身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息;

所述发送模块,用于根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息。

25.根据权利要求24所述的装置,其特征在于,所述身份认证请求消息中还携带所述解锁装置的证书;所述装置还包括:认证模块,用于根据所述解锁装置的证书对所述解锁装置进行认证。

26.根据权利要求22所述的装置,其特征在于,所述发送模块,还用于根据所述第二随机数生成第一密钥;将所述第一密钥发送给所述解锁装置,用于所述解锁装置根据所述第一密钥和所述第一随机数生成第一开锁密钥。

27.根据权利要求22-26中任一项所述的装置,其特征在于,还包括:解密模块,用于对从所述解锁装置获取的密钥进行以下至少一项处理:使用所述解锁装置的公钥进行验签;

使用所述门锁装置的私钥进行解密。

28.根据权利要求22-26中任一项所述的装置,其特征在于,还包括:加密模块,用于对向所述解锁装置发送的密钥经过以下至少一项处理:使用所述门锁装置的私钥进行签名;

使用所述解锁装置的公钥进行加密。

29.一种开锁系统,其特征在于,包括:解锁装置和门锁装置,其中,所述解锁装置采用权利要求15-21中任一项所述的装置,所述门锁装置采用权利要求22-28中任一项所述的装置。

说明书 :

使用密码开锁的方法、装置和系统

技术领域

[0001] 本发明实施例涉及门锁开锁技术,尤其涉及一种使用密码开锁的方法、装置和系统。

背景技术

[0002] 目前门锁的开锁方式主要包括使用钥匙、智能卡片、指纹、密码开锁,因此需要开锁的对象必须拥有相应的授权才能开门,即需要开锁的对象可以用钥匙开门,或者可以用经授权的智能卡片、指纹、密码开门。
[0003] 上述需要开锁的对象既包括常驻对象(例如,房屋的主人、办公室内上班的员工),也包括临时需要开门的对象(例如,钟点工、装修人员),常驻对象使用授权开门通常不存在安全问题,而临时需要开门的对象,如果使其拥有开锁的授权,不便于管理,可能会带来安全问题,例如,给临时需要开门的对象分配钥匙后,其可能会私自备份钥匙非法开锁。

发明内容

[0004] 本发明提供一种使用密码开锁的方法、装置和系统,以解决临时开锁对象拿到开锁授权导致不安全的问题,达到开锁密码便于管理的效果。
[0005] 第一方面,本发明实施例提供了一种使用密码开锁的方法,所述方法适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,所述方法包括:
[0006] 所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码;
[0007] 所述解锁装置将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。
[0008] 可选的,在所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码之前,还包括:
[0009] 所述解锁装置向所述门锁装置发送身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;
[0010] 所述解锁装置接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息。
[0011] 可选的,所述身份认证确认消息中携带所述门锁装置的证书;在所述解锁装置接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息之后,还包括:
[0012] 所述解锁装置根据所述门锁装置的证书对所述门锁装置进行认证。
[0013] 可选的,在所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码之前,还包括:
[0014] 所述解锁装置从所述门锁装置获取所述门锁装置为所述解锁装置分配的开锁密钥;或者,所述解锁装置生成所述开锁密钥。
[0015] 可选的,所述解锁装置生成所述开锁密钥,包括:
[0016] 所述解锁装置根据从所述门锁装置得到的第一密钥和所述解锁装置的第一随机数生成第一开锁密钥,其中,所述第一密钥是所述门锁装置根据第二随机数生成的,所述解锁装置将所述第一开锁密钥作为用于生成开锁密码的开锁密钥。
[0017] 可选的,所述方法还包括:
[0018] 所述解锁装置根据所述第一随机数生成第二密钥;
[0019] 所述解锁装置将所述第二密钥发送给所述门锁装置,用于所述门锁装置根据所述第二密钥和所述第二随机数生成第二开锁密钥。
[0020] 可选的,所述方法还包括:
[0021] 所述解锁装置对从所述门锁装置获取的密钥进行以下至少一项处理:
[0022] 所述解锁装置使用所述门锁装置的公钥进行验签;
[0023] 所述解锁装置使用所述解锁装置的私钥进行解密。
[0024] 可选的,所述方法还包括:
[0025] 所述解锁装置对向所述门锁装置发送的密钥经过以下至少一项处理:
[0026] 所述解锁装置使用所述解锁装置的私钥进行签名;
[0027] 所述解锁装置使用所述门锁装置的公钥进行加密。
[0028] 可选的,所述单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。
[0029] 第二方面,本发明实施例还提供了一种使用密码开锁的方法,其特征在于,所述方法适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,所述方法包括:
[0030] 所述门锁装置接收开锁密码;
[0031] 所述门锁装置根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证;
[0032] 在对所述开锁密码验证通过后,所述门锁装置开锁。
[0033] 可选的,所述门锁装置根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证,包括:
[0034] 所述门锁装置确定多个验证时间,所述多个验证时间包括所述接收所述开锁密码的时间;
[0035] 所述门锁装置分别根据所述多个验证时间中的每个验证时间和所述开锁密钥生成一个验证密码;
[0036] 所述门锁装置确定所述多个验证时间各自对应的所述验证密码中是否包括所述开锁密码,若包括则验证通过。
[0037] 可选的,在所述门锁装置接收开锁密码之前,还包括:
[0038] 所述门锁装置接收所述解锁装置发送的身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息;
[0039] 所述门锁装置根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息。
[0040] 可选的,所述身份认证请求消息中还携带所述解锁装置的证书;在所述门锁装置根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息之前,还包括:
[0041] 所述门锁装置根据所述解锁装置的证书对所述解锁装置进行认证。
[0042] 可选的,在所述门锁装置接收开锁密码之前,还包括:
[0043] 所述门锁装置从所述解锁装置获取所述解锁装置生成的开锁密钥;或者,所述门锁装置生成所述开锁密钥。
[0044] 可选的,所述门锁装置生成所述开锁密钥,包括:
[0045] 所述门锁装置根据从所述解锁装置得到的第二密钥和所述门锁装置的第二随机数生成第二开锁密钥,其中,所述第二密钥是所述解锁装置根据第一随机数生成的,所述门锁装置将所述第二开锁密钥作为用于验证开锁密码的开锁密钥。
[0046] 可选的,所述方法还包括:
[0047] 所述门锁装置根据所述第二随机数生成第一密钥;
[0048] 所述门锁装置将所述第一密钥发送给所述解锁装置,用于所述解锁装置根据所述第一密钥和所述第一随机数生成第一开锁密钥。
[0049] 可选的,所述方法还包括:
[0050] 所述门锁装置对从所述解锁装置获取的密钥进行以下至少一项处理:
[0051] 所述门锁装置使用所述解锁装置的公钥进行验签;
[0052] 所述门锁装置使用所述门锁装置的私钥进行解密。
[0053] 可选的,所述方法还包括:
[0054] 所述门锁装置对向所述解锁装置发送的密钥经过以下至少一项处理:
[0055] 所述门锁装置使用所述门锁装置的私钥进行签名;
[0056] 所述门锁装置使用所述解锁装置的公钥进行加密。
[0057] 第三方面,本发明实施例还提供了一种解锁装置,其特征在于,包括:
[0058] 密码生成模块,用于根据开锁密钥和开锁时间使用单向算法生成开锁密码;
[0059] 密码使用模块,用于将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。
[0060] 可选的,还包括:
[0061] 发送模块,用于向所述门锁装置发送身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;
[0062] 接收模块,用于接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息。
[0063] 可选的,所述身份认证确认消息中携带所述门锁装置的证书;所述装置还包括:
[0064] 认证模块,用于根据所述门锁装置的证书对所述门锁装置进行认证。
[0065] 可选的,还包括:
[0066] 密钥获取模块,用于从所述门锁装置获取所述门锁装置为所述解锁装置分配的开锁密钥;或者,生成所述开锁密钥。
[0067] 可选的,所述密钥获取模块,具体用于根据从所述门锁装置得到的第一密钥和所述解锁装置的第一随机数生成第一开锁密钥,其中,所述第一密钥是所述门锁装置根据第二随机数生成的,将所述第一开锁密钥作为用于生成开锁密码的开锁密钥。
[0068] 可选的,还包括:
[0069] 密钥发送模块,用于根据所述第一随机数生成第二密钥;将所述第二密钥发送给所述门锁装置,用于所述门锁装置根据所述第二密钥和所述第二随机数生成第二开锁密钥。
[0070] 可选的,还包括:
[0071] 解密模块,用于对从所述门锁装置获取的密钥进行以下至少一项处理:
[0072] 使用所述门锁装置的公钥进行验签;
[0073] 使用所述解锁装置的私钥进行解密。
[0074] 可选的,还包括:
[0075] 加密模块,用于对向所述门锁装置发送的密钥经过以下至少一项处理:
[0076] 使用所述解锁装置的私钥进行签名;
[0077] 使用所述门锁装置的公钥进行加密。
[0078] 可选的,所述单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。
[0079] 第四方面,本发明实施例还提供了一种门锁装置,其特征在于,包括:
[0080] 接收模块,用于接收开锁密码;
[0081] 验证模块,用于根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证;
[0082] 开锁模块,用于在对所述开锁密码验证通过后开锁。
[0083] 可选的,所述验证模块,具体用于确定多个验证时间,所述多个验证时间包括所述接收所述开锁密码的时间;分别根据所述多个验证时间中的每个验证时间和所述开锁密钥生成一个验证密码;确定所述多个验证时间各自对应的所述验证密码中是否包括所述开锁密码,若包括则验证通过。
[0084] 可选的,还包括:发送模块;
[0085] 所述接收模块,还用于接收所述解锁装置发送的身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息;
[0086] 所述发送模块,用于根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息。
[0087] 可选的,所述身份认证请求消息中还携带所述解锁装置的证书;所述装置还包括:
[0088] 认证模块,用于根据所述解锁装置的证书对所述解锁装置进行认证。
[0089] 可选的,还包括:
[0090] 密钥获取模块,用于从所述解锁装置获取所述解锁装置生成的开锁密钥;或者,生成所述开锁密钥。
[0091] 可选的,所述密钥获取模块,具体用于根据从所述解锁装置得到的第二密钥和所述门锁装置的第二随机数生成第二开锁密钥,其中,所述第二密钥是所述解锁装置根据第一随机数生成的,将所述第二开锁密钥作为用于验证开锁密码的开锁密钥。
[0092] 可选的,还包括:
[0093] 密钥发送模块,用于根据所述第二随机数生成第一密钥;将所述第一密钥发送给所述解锁装置,用于所述解锁装置根据所述第一密钥和所述第一随机数生成第一开锁密钥。
[0094] 可选的,还包括:
[0095] 解密模块,用于对从所述解锁装置获取的密钥进行以下至少一项处理:
[0096] 使用所述解锁装置的公钥进行验签;
[0097] 使用所述门锁装置的私钥进行解密。
[0098] 可选的,还包括:
[0099] 加密模块,用于对向所述解锁装置发送的密钥经过以下至少一项处理:
[0100] 使用所述门锁装置的私钥进行签名;
[0101] 使用所述解锁装置的公钥进行加密。
[0102] 第五方面,本发明实施例还提供了一种设备,其特征在于,所述设备包括:
[0103] 一个或多个处理器;
[0104] 存储装置,用于存储一个或多个程序,
[0105] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第一方面所述的使用密码开锁的方法。
[0106] 第六方面,本发明实施例还提供了一种设备,其特征在于,所述设备包括:
[0107] 一个或多个处理器;
[0108] 存储装置,用于存储一个或多个程序,
[0109] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第二方面所述的使用密码开锁的方法。
[0110] 第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述第一方面或第二方面所述的使用密码开锁的方法。
[0111] 第八方面,本发明实施例还提供了一种开锁系统,其特征在于,包括:解锁装置和门锁装置,其中,所述解锁装置采用上述第三方面所述的装置,所述门锁装置采用上述第四方面所述的装置。
[0112] 本发明通过解锁装置根据开锁的时间和预先得到的开锁密钥生成动态的开锁密码,这样的开锁密码即用即弃,无论授权给谁使用都不用担心密码被复制的危险,解决了临时开锁对象拿到开锁授权导致不安全的问题,达到了开锁密码便于管理的效果。

附图说明

[0113] 图1为本发明实施例提供的使用密码开锁的方法的流程图;
[0114] 图2为本发明实施例提供的使用密码开锁的方法的流程图;
[0115] 图3为本发明实施例提供的使用密码开锁的方法的流程图;
[0116] 图4为本发明实施例提供的使用密码开锁的方法的流程图;
[0117] 图5为本发明实施例提供的使用密码开锁的方法的流程图;
[0118] 图6为本发明实施例提供的解锁装置的结构示意图;
[0119] 图7为本发明实施例提供的解锁装置的结构示意图;
[0120] 图8为本发明实施例提供的门锁装置的结构示意图;
[0121] 图9为本发明实施例提供的门锁装置的结构示意图;
[0122] 图10为本发明实施例提供的一种设备的结构示意图;
[0123] 图11为本发明实施例提供的一种开锁系统的结构示意图。

具体实施方式

[0124] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0125] 现有的开锁方式中,遇到临时需要开门的对象,如果使其拥有开锁的授权,一方面不便于管理,可能会带来安全问题,例如,给临时需要开门的对象分配钥匙后,其可能会私自备份钥匙非法开锁,另一方面开锁授权的交接过程复杂,导致效率低下。为了解决该问题,本发明提供了一种使用密码开锁的方法,适用于需要开锁的对象通过解锁装置打开门锁装置的过程中,该方法可以由解锁装置和门锁装置共同执行,其中,解锁装置可以是移动终端,在该移动终端上安装具备解锁功能的应用程序就可以实现本实施例的方法,或者,该解锁装置也可以是专用的解锁设备,例如,电子令牌、电子钥匙等,其可以实现本实施例的方法;门锁装置可以是安装在门上的门锁,可以通过密码开锁。该方法的步骤主要包括:初始时解锁装置向门锁装置申请注册,在注册过程中生成开锁密钥;在解锁装置请求开锁时,根据开锁密钥和开锁时间生成动态的开锁密码;门锁装置验证开锁密码通过后开锁。基于此,以下是本发明申请的实施例。
[0126] 图1为本发明实施例提供的使用密码开锁的方法的流程图,该方法具体包括如下步骤:
[0127] 101、解锁装置向门锁装置发送注册请求,该注册请求包括解锁装置的标识信息;
[0128] 解锁装置的标识信息可以是解锁装置的设备编号;如果解锁装置是移动终端,则该标识信息也可以是运营商分配给移动终端的电话号码。本实施例中的注册请求可以是身份认证请求消息的一种具体实现形式。
[0129] 102、门锁装置生成开锁密钥;
[0130] 开锁密钥可以是门锁装置预先生成,在收到解锁装置的注册请求后直接分配给该解锁装置的。本实施例中门锁装置反馈开锁密钥可以是身份认证确认消息的一种具体实现形式。
[0131] 开锁密钥也可以是门锁装置收到解锁装置的注册请求后为其生成的,该生成开锁密钥的过程可以采用预设的密钥生成算法,还可以考虑将解锁装置的标识信息作为密钥生成算法的一个输入参数。
[0132] 103、门锁装置根据标识信息将开锁密钥发送给解锁装置;
[0133] 门锁装置要将开锁密钥发送给相应的解锁装置,为了避免发送错误,门锁装置可以根据解锁装置的标识信息进行发送,例如,以标识信息标记解锁装置,门锁装置要将开锁密钥发送给哪个解锁装置,可以在发出的消息中携带该解锁装置的标识信息。
[0134] 104、解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码;
[0135] 由于解锁装置每次打开门锁装置的时间是不同的,因此每一次解锁装置根据开锁密钥和开锁时间生成的开锁密码也是不相同的,这样的开锁密码即用即弃,无论授权给谁使用都不用担心密码被复制的危险。另外,解锁装置生成开锁密码的算法可以采用单向算法,该单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。
[0136] 105、解锁装置将开锁密码送达门锁装置;
[0137] 本实施例中,解锁装置生成开锁密码后,就要使用开锁密码开门,而首先要将开锁密码送达门锁装置。可以有三种方法送达:解锁装置将开锁密码发送给门锁装置;或者,解锁装置将开锁密码发送给其他解锁装置,以使其他解锁装置将开锁密码发送给门锁装置;或者,显示开锁密码,以使需要开锁的对象将开锁密码输入门锁装置。即,如果是解锁装置的所有者要开门,那么解锁装置生成密码后直接将其发送给门锁装置即可;如果是其他人要临时开门,那么解锁装置就需要先将开锁密码发送给其他人的解锁装置,然后由其他解锁装置将开锁密码发送给门锁装置,这样就可以在屋主不在的情况下打开门,让临时需要开门的对象进门;如果解锁装置具备显示功能,可以在生成开锁密码后,将其显示出来,这样如果是解锁装置的所有者要开门,将其输入门锁装置即可,如果是其他人要开门,解锁装置的所有者将看到的开锁密码通过短信或电话方式告知其他人,由其他人在门锁装置上输入开锁密码。
[0138] 106、门锁装置根据接收开锁密码的时间和开锁密钥对开锁密码进行验证;
[0139] 本实施例中,门锁装置采用时间窗的方式验证开锁密码,即门锁装置确定多个验证时间,该多个验证时间包括接收开锁密码的时间;门锁装置分别根据多个验证时间中的每个验证时间和开锁密钥生成一个验证密码;门锁装置确定多个验证时间各自对应的验证密码中是否包括开锁密码,若包括则验证通过。门锁装置确定一个时间范围[T-N,T+N],其中,T是接收开锁密码的时间,N是大于1的正整数,在该时间范围内,门锁装置根据其实际的时间精度得到多个验证时间,例如,N是3,则这多个验证时间可以是T-3、T-2、T-1、T、T+1、T+2、T+3,其中T+n中的n可以是一个预设时间段,例如1s,1m等,本实施例以门锁装置的时间精度来确定,不做具体限定。然后门锁装置将每一个验证时间都和开锁密钥做一次运算得到一个验证密码,如果这多个验证时间各自对应的验证密码中包括了开锁密码,就是对开锁密码验证通过。
[0140] 107、在对开锁密码验证通过后,门锁装置开锁。
[0141] 本实施例的技术方案,通过解锁装置根据开锁的时间和预先得到的开锁密钥生成动态的开锁密码,这样的开锁密码即用即弃,无论授权给谁使用都不用担心密码被复制的危险,解决了临时开锁对象拿到开锁授权导致不安全的问题,达到了开锁密码便于管理的效果。
[0142] 在上述技术方案的基础上,为了提高开锁密钥在传输过程中的安全性,可以对开锁密钥进行加密,图2为本发明实施例提供的使用密码开锁的方法的流程图,该方法具体包括如下步骤:
[0143] 201、解锁装置向门锁装置发送注册请求,该注册请求包括解锁装置的标识信息和解锁装置的公钥;
[0144] 公钥和私钥是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥则是密钥对中非公开的部分,使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
[0145] 202、门锁装置生成开锁密钥,并使用解锁装置的公钥对开锁密钥加密;
[0146] 为了避免开锁密钥在传输过程中被截获导致泄密,本实施例中门锁装置可以使用解锁装置的公钥对开锁密钥加密,这样即使其他人得到开锁密钥,没有解锁装置的私钥也无法解密得到开锁密钥。
[0147] 203、门锁装置根据标识信息将开锁密钥发送给解锁装置;
[0148] 204、解锁装置使用解锁装置的私钥对开锁密钥解密;
[0149] 如上所述,私钥是密钥对中非公开的部分,解锁装置保存了私钥,可以基于上述原理对加密过的开锁密钥进行解密。
[0150] 205、解锁装置根据开锁密钥和开锁时间生成开锁密码;
[0151] 206、解锁装置将开锁密码送达门锁装置;
[0152] 207、门锁装置根据接收开锁密码的时间和开锁密钥对开锁密码进行验证;
[0153] 208、在对开锁密码验证通过后,门锁装置开锁。
[0154] 本实施例的技术方案,除了上述技术方案的有益效果之外,利用公钥和私钥的加解密原理确保了开锁密钥的安全传输,进一步提高使用密码开锁的安全性。
[0155] 在上述技术方案的基础上,为了进一步提高开锁密钥在传输过程中的安全性,可以通过证书先在解锁装置和门锁装置之间进行相互认证,再对开锁密钥进行签名和加密,图3为本发明实施例提供的使用密码开锁的方法的流程图,该方法具体包括如下步骤:
[0156] 301、解锁装置向门锁装置发送注册请求,该注册请求包括解锁装置的标识信息和解锁装置的证书,该解锁装置的证书包括解锁装置的公钥;
[0157] CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。CA也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证CA的签字从而信任CA,任何人都可以得到CA的证书(含公钥),用以验证它所签发的证书。
[0158] 302、门锁装置对解锁装置的证书进行验证;
[0159] 如上所述,门锁装置使用CA证书对解锁装置的证书进行验证。该验证过程是的门锁装置确保了解锁装置的可靠性,只有解锁装置的证书验证通过,门锁装置才能向该解锁装置发送开锁密钥。
[0160] 303、在对解锁装置的证书验证通过后,门锁装置生成开锁密钥,并使用门锁装置的私钥对开锁密钥签名,再使用解锁装置的公钥加密;
[0161] 同样的,为了避免开锁密钥在传输过程中被截获导致泄密,本实施例中门锁装置可以进一步使用门锁装置的私钥对开锁密钥签名,再使用解锁装置的公钥对开锁密钥加密。
[0162] 304、门锁装置根据标识信息将开锁密钥和门锁装置的证书发送给解锁装置,该门锁装置的证书包括门锁装置的公钥;
[0163] 305、解锁装置使用解锁装置的私钥对开锁密钥解密,再使用门锁装置的公钥解签名;
[0164] 相对的,解锁装置用自己的私钥解密,再用门锁装置的公钥解签名。
[0165] 306、解锁装置根据开锁密钥和开锁时间生成开锁密码;
[0166] 307、解锁装置将开锁密码送达门锁装置;
[0167] 308、门锁装置根据接收开锁密码的时间和开锁密钥对开锁密码进行验证;
[0168] 309、在对开锁密码验证通过后,门锁装置开锁。
[0169] 本实施例的技术方案,除了上述技术方案的有益效果之外,利用证书的CA证书的工作原理和认证过程确保了开锁密钥的安全传输,进一步提高使用密码开锁的安全性。
[0170] 在上述技术方案的基础上,为了使开锁密钥生成方式更加灵活,可以由解锁装置生成开锁密钥,再发送给门锁装置,图4为本发明实施例提供的使用密码开锁的方法的流程图,该方法具体包括如下步骤:
[0171] 401、解锁装置向门锁装置发送注册请求,该注册请求包括解锁装置的标识信息和解锁装置的证书;
[0172] 402、门锁装置对解锁装置的证书进行验证;
[0173] 403、在对解锁装置的证书验证通过后,门锁装置向解锁装置发送注册应答,该注册应答包括门锁装置的证书;
[0174] 本实施例中门锁装置反馈注册应答可以是身份认证确认消息的另一种具体实现形式。
[0175] 404、解锁装置对门锁装置的证书进行验证;
[0176] 上述步骤是解锁装置和门锁装置相互使用CA证书对对方的证书进行验证的过程,彼此确保了对方的可靠性,只有证书验证通过,门锁装置和解锁装置才会认为对方是可信任的。
[0177] 405、在对门锁装置的证书验证通过后,解锁装置生成开锁密钥,并将开锁密钥发送给门锁装置;
[0178] 本实施例由解锁装置生成开锁密钥,然后发送给门锁装置,其可以通过以下方法:解锁装置将开锁密钥发送给门锁装置;或者,解锁装置将开锁密钥发送给其他解锁装置,以使其他解锁装置将开锁密钥发送给门锁装置。
[0179] 406、解锁装置根据开锁密钥和开锁时间生成开锁密码;
[0180] 407、解锁装置将开锁密码送达门锁装置;
[0181] 408、门锁装置根据接收开锁密码的时间和开锁密钥对开锁密码进行验证;
[0182] 409、在对开锁密码验证通过后,门锁装置开锁。
[0183] 需要说明的是,本实施例中也可以采用上述实施例中的方法对开锁密钥进行加密/解密、签名/解签名,以加强开锁密钥的传输安全,其原理类似,本实施例不再赘述。
[0184] 本实施例的技术方案,除了上述技术方案的有益效果之外,可以由解锁装置生成开锁密钥,使得开锁密钥的生成方式更加灵活。
[0185] 在上述技术方案的基础上,图5为本发明实施例提供的使用密码开锁的方法的流程图,该方法具体包括如下步骤:
[0186] 501、解锁装置向门锁装置发送注册请求,该注册请求包括解锁装置的标识信息和解锁装置的证书;
[0187] 502、门锁装置对解锁装置的证书进行验证;
[0188] 503、在对解锁装置的证书验证通过后,门锁装置向解锁装置发送注册应答,该注册应答包括门锁装置的证书;
[0189] 504、解锁装置对门锁装置的证书进行验证;
[0190] 505、在对门锁装置的证书验证通过后,解锁装置生成第一随机数,并根据第一随机数生成第二密钥;
[0191] 506、解锁装置将第二密钥发送给门锁装置;
[0192] 507、门锁装置生成第二随机数,并根据第二随机数生成第一密钥;
[0193] 508、门锁装置将第一密钥发送给解锁装置;
[0194] 本实施例中,解锁装置和门锁装置分别生成一个随机数,然后根据随机数生成密钥,再将各自的密钥发送给对方。
[0195] 509、解锁装置根据第一随机数和第一密钥生成第一开锁密钥;
[0196] 510、门锁装置根据第二随机数和第二密钥生成第二开锁密钥;
[0197] 解锁装置和门锁装置根据自己生成的随机数和对方的密钥各自生成一个开锁密钥。
[0198] 511、解锁装置根据第一开锁密钥和开锁时间生成第一开锁密码;
[0199] 本实施例中,解锁装置将第一开锁密钥当做上述生成开锁密码的开锁密钥。
[0200] 512、解锁装置将第一开锁密码送达门锁装置;
[0201] 513、门锁装置根据接收第一开锁密码的时间和第二开锁密钥对第一开锁密码进行验证;
[0202] 本实施例中,门锁装置将第二开锁密钥当做上述验证开锁密码的开锁密钥。
[0203] 上述生成开锁密码和对开锁密码的验证算法更加灵活和复杂,确保了门锁的安全性。
[0204] 514、在对第一开锁密码验证通过后,门锁装置开锁。
[0205] 需要说明的是,本实施例中也可以采用上述实施例中的方法对第一开锁密钥、第二开锁密钥进行加密/解密、签名/解签名,以加强开锁密钥的传输安全,其原理类似,本实施例不再赘述。
[0206] 本实施例的技术方案,除了上述技术方案的有益效果之外,提高密码的算法复杂度,进一步提高使用密码开锁的安全性。
[0207] 需要说明的是,上述实施例中解锁装置和门锁装置对密钥进行加密/解密、签名/解签名,该密钥可以包括开锁密钥、第一开锁密钥、第二开锁密钥,以及其他需要加密处理的数据。
[0208] 图6为本发明实施例提供的解锁装置的结构示意图,参照图6,该装置包括:密码生成模块11和密码使用模块12,其中,密码生成模块11,用于根据开锁密钥和开锁时间使用单向算法生成开锁密码;密码使用模块12,用于将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。所述单向算法包括哈希HASH算法或者哈希消息认证码HMAC算法。
[0209] 图7为本发明实施例提供的解锁装置的结构示意图,参照图7,在图6基础上,该装置还包括:发送模块13、接收模块14、认证模块15、密钥获取模块16、密钥生成模块17、解密模块18和加密模块19,其中,发送模块13,用于向所述门锁装置发送身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;接收模块14,用于接收所述门锁装置根据所述身份认证请求消息发送的身份认证确认消息,所述身份认证确认消息中携带所述门锁装置的证书;认证模块15,用于根据所述门锁装置的证书对所述门锁装置进行认证;密钥获取模块16,用于从所述门锁装置获取所述门锁装置为所述解锁装置分配的开锁密钥;密钥生成模块17,用于生成所述开锁密钥;解密模块18,用于对从所述门锁装置获取的密钥进行以下至少一项处理:使用所述门锁装置的公钥进行验签;使用所述解锁装置的私钥进行解密;加密模块19,用于对向所述门锁装置发送的密钥经过以下至少一项处理:使用所述解锁装置的私钥进行签名;使用所述门锁装置的公钥进行加密。
[0210] 进一步的,所述密钥生成模块17,具体用于根据从所述门锁装置得到的第一密钥和所述解锁装置的第一随机数生成第一开锁密钥,其中,所述第一密钥是所述门锁装置根据第二随机数生成的,将所述第一开锁密钥作为用于生成开锁密码的开锁密钥;所述发送模块13,还用于根据所述第一随机数生成第二密钥;将所述第二密钥发送给所述门锁装置,用于所述门锁装置根据所述第二密钥和所述第二随机数生成第二开锁密钥。
[0211] 图8为本发明实施例提供的门锁装置的结构示意图,参照图8,该装置包括:接收模块21、验证模块22和开锁模块23,其中,接收模块21,用于接收开锁密码;验证模块22,用于根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证;开锁模块23,用于在对所述开锁密码验证通过后开锁。
[0212] 进一步的,所述验证模块22,具体用于确定多个验证时间,所述多个验证时间包括所述接收所述开锁密码的时间;分别根据所述多个验证时间中的每个验证时间和所述开锁密钥生成一个验证密码;确定所述多个验证时间各自对应的所述验证密码中是否包括所述开锁密码,若包括则验证通过。
[0213] 图9为本发明实施例提供的门锁装置的结构示意图,参照图9,在图8基础上,该装置还包括:发送模块24、认证模块25、密钥获取模块26、密钥生成模块27、解密模块28和加密模块29,其中,所述接收模块21,还用于接收所述解锁装置发送的身份认证请求消息,所述身份认证请求消息中携带所述解锁装置的标识信息和证书;发送模块24,用于根据所述身份认证请求消息向所述解锁装置发送身份认证确认消息;认证模块25,用于根据所述解锁装置的证书对所述解锁装置进行认证;密钥获取模块26,用于从所述解锁装置获取所述解锁装置生成的开锁密钥;密钥生成模块27,用于生成所述开锁密钥;解密模块28,用于对从所述解锁装置获取的密钥进行以下至少一项处理:使用所述解锁装置的公钥进行验签;使用所述门锁装置的私钥进行解密;加密模块29,用于对向所述解锁装置发送的密钥经过以下至少一项处理:使用所述门锁装置的私钥进行签名;使用所述解锁装置的公钥进行加密。
[0214] 进一步的,所述密钥生成模块27,具体用于根据从所述解锁装置得到的第二密钥和所述门锁装置的第二随机数生成第二开锁密钥,其中,所述第二密钥是所述解锁装置根据第一随机数生成的,将所述第二开锁密钥作为用于验证开锁密码的开锁密钥;所述发送模块24,还用于根据所述第二随机数生成第一密钥;将所述第一密钥发送给所述解锁装置,用于所述解锁装置根据所述第一密钥和所述第一随机数生成第一开锁密钥。
[0215] 图10为本发明实施例提供的一种设备的结构示意图,如图10所示,该设备包括处理器30、存储器31、输入装置32和输出装置33;设备中处理器30的数量可以是一个或多个,图10中以一个处理器30为例;设备中的处理器30、存储器31、输入装置32和输出装置33可以通过总线或其他方式连接,图10中以通过总线连接为例。
[0216] 存储器31作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的使用密码开锁的方法对应的程序指令/模块。处理器30通过运行存储在存储器31中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的使用密码开锁的方法。
[0217] 存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器31可进一步包括相对于处理器30远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0218] 输入装置32可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置33可包括显示屏等显示设备。
[0219] 本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种使用密码开锁的方法,该方法包括:
[0220] 所述解锁装置根据开锁密钥和开锁时间使用单向算法生成开锁密码;
[0221] 所述解锁装置将所述开锁密码送达所述门锁装置,以使所述门锁装置对所述开锁密码进行验证并在验证通过后开锁。
[0222] 或者,该方法包括:
[0223] 所述门锁装置接收开锁密码;
[0224] 所述门锁装置根据接收所述开锁密码的时间和开锁密钥对所述开锁密码进行验证;
[0225] 在对所述开锁密码验证通过后,所述门锁装置开锁。
[0226] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的使用密码开锁的方法中的相关操作。
[0227] 图11为本发明实施例提供的一种开锁系统的结构示意图,参照图11,该系统包括:解锁装置和门锁装置,其中,所述解锁装置采用图6或图7所示装置,所述门锁装置采用图8或图9所示装置。
[0228] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0229] 值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0230] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。