一种蓝牙开锁方法、装置及计算机可读存储介质与流程

文档序号:16682764发布日期:2019-01-19 00:40阅读:206来源:国知局
一种蓝牙开锁方法、装置及计算机可读存储介质与流程

本发明涉及信息安全技术领域,具体涉及一种蓝牙开锁方法、装置及计算机可读存储介质。



背景技术:

随着科技技术的不断的发展,智能化产品逐渐覆盖到社会的各个角落,比如传统的锁具行业已经渐渐的满足不了人们对新事物的追求了,市场上出现了各种各样的智能锁。相较于传统机械锁,智能锁具有更高的安全性,使用方便且便于管理。

在现在的智能锁的领域中,出现了很多以手机app来开锁的功能。而大部分此类的技术,都是基于蓝牙开锁的原理,例如:摩拜单车等等,是由手机蓝牙、锁及远程服务器三端通过必要的私有协议来完成整个开锁的流程。因此整个协议的完整性和安全性决定着蓝牙开锁是否容易被破解。

对于现有的技术,针对蓝牙开锁的应用协议并没有固定的标准,各个厂家都有自己的协议和方法。大部分方法考虑的比较多是便利和快捷,至于安全性则考虑的比较少。由于蓝牙本身工作在2.4ghz公共频率,信道并没有加密,其数据本身很容易被截获。如果数据没有加密或者加密的密钥被泄露,数据完全可以被破解,从而导致锁被没有授权的手机或者其他设备开启,这样失去了锁本身应有的保护作用。



技术实现要素:

为了至少部分地解决现技术存在的问题,本发明实施例期望提供一种蓝牙开锁方法及计算机可读存储介质。

根据第一方面,一种实施例中提供了一种蓝牙开锁方法,包括:

远程服务器接收移动终端发送的针对智能锁的第一开锁请求;

所述远程服务器根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;

当对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙mac地址及所述智能锁当前的蓝牙密码;

在开锁成功之后,接收所述智能锁发送的开锁记录;

生成新的蓝牙密码,将所生成的新的蓝牙密码发送给智能锁并在本地更新所述智能锁的当前蓝牙密码。

优选地,所述远程服务器根据所述开锁请求对发送所述开锁请求的移动终端的开锁权限进行验证,包括:

所述远程服务器根据所述开锁请求中的用户名和密码判断所述用户是否为所述智能锁的合法用户,如果是,则判断所述用户名与所述密码是否匹配,如果匹配,则对所述移动终端的开锁权限验证成功。

优选地,所述方法还包括:

远程服务器接收智能锁发送的状态上报信息,所述状态上报信息是智能锁上电后向远程服务器上报的;

远程服务器产生蓝牙密码,并向智能锁下发所产生的蓝牙密码。

根据第二方面,一种实施例中提供了一种蓝牙开锁方法,所述方法包括:

智能锁接收移动终端发送的第二开锁请求,所述第二开锁请求中包括蓝牙密码;

所述智能锁对所述蓝牙密码进行验证,当验证成功时,执行开锁动作,并向远程服务器发送开锁记录;

接收远程服务器发送的新的蓝牙密码;

根据接收到的新的蓝牙密码更新本地当前存储的蓝牙密码。

优选地,所述方法还包括:

智能锁在上电时,向远程服务器发送状态上报信息;

接收所述远程服务器发送的蓝牙密码并将所述蓝牙密码保存于本地。

根据第三方面,一种实施例中提供了一种蓝牙开锁方法,所述方法包括:

移动终端向远程服务器发送针对智能锁的第一开锁请求;

当远程服务器根据所述第一开锁请求对所述移动终端的开锁权限验证成功时,接收所述远程服务器发送的蓝牙mac地址和蓝牙密码;

所述移动终端根据所述蓝牙mac地址连接所述智能锁的蓝牙,并在连接成功时,向所述智能锁发送第二开锁请求,所述第二开锁请求中包括蓝牙密码;

当所述智能锁对所述蓝牙密码验证成功时,接收所述智能锁发送的开锁成功通知消息,此时所述智能锁开启。

根据第四方面,一种实施例中提供了一种蓝牙开锁装置,所述装置应用于远程服务器,包括:第一接收模块、开锁权限验证模块、第一发送模块、密码生成模块及第一更新模块;其中,

所述第一接收模块,用于接收移动终端发送的针对智能锁的第一开锁请求;

所述开锁权限验证模块,用于根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;

所述第一发送模块,用于在所述开锁权限验证模块对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙mac地址及所述智能锁当前的蓝牙密码;

所述第一接收模块,还用于在智能锁开锁成功之后,接收所述智能锁发送的开锁记录;

所述密码生成模块,用于生成新的蓝牙密码;

所述第一发送模块,用于将所述密码生成模块所产生的新的蓝牙密码发送给智能锁;

所述第一更新模块,用于在密码生成模块生成新的蓝牙密码之后,在本地更新所述智能锁的当前蓝牙密码。

优选地,所述开锁权限验证模块,包括:

第一判断单元,用于根据所述开锁请求中的用户名和密码判断所述用户是否为所述智能锁的合法用户;

第二判断单元,用于在判断单元的判断结果为是时,判断所述用户名与所述密码是否匹配;

确认单元,用于在所述第二判断单元的确认所述用户名与所述密码相匹配时,确认所述移动终端的开锁权限验证成功。

优选地,所述方法还包括:

所述第一接收模块,还用于接收智能锁发送的状态上报信息,所述状态上报信息是智能锁上电后向远程服务器上报的;

所述密码生成模块,还用于生成蓝牙密码,并向智能锁下发所生成的蓝牙密码。

根据第五方面,一种实施例中提供了一种蓝牙开锁装置,所述装置应用于智能锁,包括:第二接收模块、密码验证模块、开锁模块、第二发送模块及第二更新模块;其中,

所述第二接收模块,用于接收移动终端发送的第二开锁请求,所述第二开锁请求中包括蓝牙密码;

所述密码验证模块,用于对所述蓝牙密码进行验证,当验证成功时,触发开锁模块;

所述开锁模块,用于被密码验证模块触发时,执行开锁动作;

所述第二发送模块,用于在开锁成功时,向远程服务器发送开锁记录;

所述第二接收模块,还用于接收远程服务器发送的新的蓝牙密码;

所述第二更新模块,用于根据接收到的新的蓝牙密码更新本地当前存储的蓝牙密码。

优选地,所述第二发送模块,还用于在智能锁上电时,向远程服务器发送状态上报信息;

所述第二接收模块,还用于接收所述远程服务器发送的蓝牙密码并将所述蓝牙密码保存于本地。

根据第六方面,一种实施例中提供了一种蓝牙开锁装置,所述装置应用于移动终端,包括:第三发送模块、第三接收模块及蓝牙连接模块;其中,

所述第三发送模块,用于向远程服务器发送针对智能锁的第一开锁请求;

所述第三接收模块,用于接收所述远程服务器发送的蓝牙mac地址和蓝牙密码;

所述蓝牙连接模块,用于根据所述蓝牙mac地址连接所述智能锁的蓝牙;

所述第三发送模块,还用于在蓝牙连接成功时,向所述智能锁发送第二开锁请求,所述第二开锁请求中包括蓝牙密码;

所述第三接收模块,还用于在所述智能锁对所述蓝牙密码验证成功时,接收所述智能锁发送的开锁成功通知消息,此时所述智能锁开启。

根据第七方面,一种实施例中提供了一种计算机可读存储介质,该计算机可读存储介质包括程序,所述程序用于被处理器执行以实现如上述第一至第三方面中任一方面所述的方法。

与现有技术相比,本发明实施例至少具备以下优点:

根据本发明实施例提供的蓝牙开锁方法,包括:远程服务器接收移动终端发送的针对智能锁的第一开锁请求;所述远程服务器根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;当对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙mac地址及所述智能锁当前的蓝牙密码;在开锁成功之后,接收所述智能锁发送的开锁记录;生成新的蓝牙密码,将所生成的新的蓝牙密码发送给智能锁并在本地更新所述智能锁的当前蓝牙密码。基于本发明实施例所提供的技术方案,由于在每一次开锁流程中均使用新的蓝牙密码进行密码验证,因此,确保了蓝牙密码的非唯一性,即使一个蓝牙密码被破解,也无法预知下一个密码,从而大大提高了蓝牙密码的安全性。可见,基于这种方式,能够确保数据交互的绝对安全性,也就是说,他人无法单从蓝牙数据通道截取密码来打开锁。

附图说明

图1是本发明蓝牙开锁方法在一种实施方式中的流程图;

图2是本发明蓝牙开锁方法在第二种实施方式中的流程图;

图3是本发明蓝牙开锁方法在第三种实施方式中的流程图;

图4是本发明蓝牙开锁装置在一种实施方式中的结构框图;

图5是本发明蓝牙开锁装置中的开锁权限验证模块在一种实施方式中的结构框图;

图6是本发明蓝牙开锁装置在第二种实施方式中的结构框图;

图7是本发明蓝牙开锁装置在第三种实施方式中的结构框图;

图8是本发明蓝牙开锁方法的一种示例性实体交互图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力地认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。

实施例一

本发明实施例一提供了一种蓝牙开锁方法,参照图1,所述方法包括:

步骤101、远程服务器接收移动终端发送的针对智能锁的第一开锁请求;

实际实现中,所述智能锁可以为门锁、车位锁、光交箱锁、物流锁等等。

步骤102、所述远程服务器根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;

具体的,所述远程服务器根据所述开锁请求对发送所述开锁请求的移动终端的开锁权限进行验证,包括:

所述远程服务器根据所述开锁请求中的用户名和密码判断所述用户是否为所述智能锁的合法用户,如果是,则判断所述用户名与所述密码是否匹配,如果匹配,则对所述移动终端的开锁权限验证成功。

步骤103、当对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙媒体访问控制(mac,mediaaccesscontrol地址)地址及所述智能锁当前的蓝牙密码;

所述蓝牙mac地址是所述智能锁的蓝牙mac地址,移动终端可以根据所述蓝牙mac地址与所述智能锁的蓝牙进行连接。

反之,当对所述移动终端的开锁权限验证失败时,则向所述移动终端返回一个开锁权限验证失败的通知消息。

步骤104、在开锁成功之后,接收所述智能锁发送的开锁记录;

步骤105、生成新的蓝牙密码,将所生成的新的蓝牙密码发送给智能锁并在本地更新所述智能锁的当前蓝牙密码。

在接收到智能锁发送的开锁记录之后,确认当前蓝牙密码已被使用,处于失效状态,远程服务器生成新的蓝牙密码,下发给所述智能锁。

同时,在本地更新蓝牙密码,更新后的蓝牙密码作为所述智能锁的当前蓝牙密码,用于下一次开锁时使用。

实际实现时,可以采用各种随机数生成算法来生成新的蓝牙密码,这里不做限制。另外,蓝牙密码可以是多个数字和/或字母的组合,蓝牙密码的位数可以根据实际需要进行设置,这里也不做限制。

在一种具体的应用实例中,可以将蓝牙密码设置为6位数字的随机数,采用java线性同余公式来产生这些随机数。

在本发明的一种可选实施方式中,所述远程服务器与智能锁和移动终端之间的所有交互数据均采用高级加密标准(aes)加密。

在本发明的一种可选实施方式中,所述方法还包括:

远程服务器接收智能锁发送的状态上报信息,所述状态上报信息是智能锁上电后向远程服务器上报的;

远程服务器生成蓝牙密码,并向智能锁下发所产生的蓝牙密码。

上述方案中,当智能锁上电启动后,会第一时间向远程服务器发送一个状态上报信息,上报自身的状态;远程服务器接收到此状态上报信息之后,生成蓝牙密码,并把生成的蓝牙密码下发给所述智能锁。同时,远程服务器也会将所生成的蓝牙密码保存在本地,作为所述智能锁的当前蓝牙密码。

综上,本发明实施例一所提供的蓝牙开锁方法,包括:远程服务器接收移动终端发送的针对智能锁的第一开锁请求;所述远程服务器根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;当对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙mac地址及所述智能锁当前的蓝牙密码;在开锁成功之后,接收所述智能锁发送的开锁记录;生成新的蓝牙密码,将所生成的新的蓝牙密码发送给智能锁并在本地更新所述智能锁的当前蓝牙密码。基于本发明实施例一所提供的技术方案,由于在每一次开锁流程中均使用新的蓝牙密码进行密码验证,因此,确保了蓝牙密码的非唯一性,即使一个蓝牙密码被破解,也无法预知下一个密码,从而大大提高了蓝牙密码的安全性。可见,基于这种方式,能够确保数据交互的绝对安全性,也就是说,他人无法单从蓝牙数据通道截取密码来打开锁。

实施例二

本发明实施例二提供了一种蓝牙开锁方法,参照图2,所述方法包括:

步骤201、智能锁接收移动终端发送的第二开锁请求,所述第二开锁请求中包括蓝牙密码;

步骤202、所述智能锁对所述蓝牙密码进行验证,当验证成功时,执行开锁动作,并向远程服务器发送开锁记录;

步骤203、接收远程服务器发送的新的蓝牙密码;

远程服务器接收到智能锁发送的开锁记录之后,则生成新的蓝牙密码并发送给智能锁。

步骤204、根据接收到的新的蓝牙密码更新本地当前存储的蓝牙密码。

当接收到新的蓝牙密码后,智能锁将本地当前存储的蓝牙密码更新为所述新的蓝牙密码;所述新的蓝牙密码将在下一次开锁流程中使用。

在本发明的一种可选实施方式中,所述方法还包括:

智能锁在上电时,向远程服务器发送状态上报信息;

接收所述远程服务器发送的蓝牙密码并将所述蓝牙密码保存于本地。

在本发明的一种可选实施方式中,所述智能锁与远程服务器和移动终端之间的所有交互数据均采用aes加密。

实施例三

本发明实施例三提供了一种蓝牙开锁方法,参照图3,所述方法包括:

步骤301、移动终端向远程服务器发送针对智能锁的第一开锁请求;

步骤302、当远程服务器根据所述第一开锁请求对所述移动终端的开锁权限验证成功时,接收所述远程服务器发送的蓝牙mac地址和蓝牙密码;

步骤303、所述移动终端根据所述蓝牙mac地址连接所述智能锁的蓝牙,并在连接成功时,向所述智能锁发送第二开锁请求,所述第二开锁请求中包括蓝牙密码;

步骤304、当所述智能锁对所述蓝牙密码验证成功时,接收所述智能锁发送的开锁成功通知消息,此时所述智能锁开启。

在本发明的一种可选实施方式中,所述移动终端与智能锁和远程服务器之间的所有交互数据均采用aes加密。

实施例四

本发明实施例四提供了一种蓝牙开锁装置,所述装置应用于远程服务器,参照图4,所述装置包括:第一接收模块41、开锁权限验证模块42、第一发送模块43、密码生成模块44及第一更新模块45;其中,

所述第一接收模块41,用于接收移动终端发送的针对智能锁的第一开锁请求;

所述开锁权限验证模块42,用于根据所述第一开锁请求对发送所述第一开锁请求的移动终端的开锁权限进行验证;

所述第一发送模块43,用于在所述开锁权限验证模块42对所述移动终端的开锁权限验证成功时,向所述移动终端下发蓝牙mac地址及所述智能锁当前的蓝牙密码;

所述第一接收模块41,还用于在智能锁开锁成功之后,接收所述智能锁发送的开锁记录;

所述密码生成模块44,用于生成新的蓝牙密码;

所述第一发送模块43,还用于将所述密码生成模块所产生的新的蓝牙密码发送给智能锁;

所述第一更新模块45,用于在密码生成模块44生成新的蓝牙密码之后,在本地更新所述智能锁的当前蓝牙密码。

具体的,参照图5,所述开锁权限验证模块42,包括:

第一判断单元4201,用于根据所述开锁请求中的用户名和密码判断所述用户是否为所述智能锁的合法用户;

第二判断单元4202,用于在判断单元的判断结果为是时,判断所述用户名与所述密码是否匹配;

确认单元4203,用于在所述第二判断单元4202的确认所述用户名与所述密码相匹配时,确认所述移动终端的开锁权限验证成功。

在本发明的一种可选实施方式中,所述第一接收模块41,还用于接收智能锁发送的状态上报信息,所述状态上报信息是智能锁上电后向远程服务器上报的;

所述密码生成模块44,还用于生成蓝牙密码,并向智能锁下发所生成的蓝牙密码。

实施例五

本发明实施例五提供了一种蓝牙开锁装置,所述装置应用于智能锁,参照图6,所述装置包括:第二接收模块61、密码验证模块62、开锁模块63、第二发送模块64及第二更新模块65;其中,

所述第二接收模块61,用于接收移动终端发送的第二开锁请求,所述第二开锁请求中包括蓝牙密码;

所述密码验证模块62,用于对所述蓝牙密码进行验证,当验证成功时,触发开锁模块;

所述开锁模块63,用于被密码验证模块62触发时,执行开锁动作;

所述第二发送模块64,用于在开锁成功时,向远程服务器发送开锁记录;

所述第二接收模块61,还用于接收远程服务器发送的新的蓝牙密码;

所述第二更新模块65,用于根据接收到的新的蓝牙密码更新本地当前存储的蓝牙密码。

在本发明的一种可选实施方式中,所述第二发送模块64,还用于在智能锁上电时,向远程服务器发送状态上报信息;

所述第二接收模块61,还用于接收所述远程服务器发送的蓝牙密码并将所述蓝牙密码保存于本地。

实施例六

本发明实施例六提供了一种蓝牙开锁装置,所述装置应用于移动终端,参照图7,所述装置包括:第三发送模块71、第三接收模块72及蓝牙连接模块73;其中,

所述第三发送模块71,用于向远程服务器发送针对智能锁的第一开锁请求;

所述第三接收模块72,用于接收所述远程服务器发送的蓝牙mac地址和蓝牙密码;

所述蓝牙连接模块73,用于根据所述蓝牙mac地址连接所述智能锁的蓝牙;

所述第三发送模块71,还用于在蓝牙连接成功时,向所述智能锁发送第二开锁请求,所述第二开锁请求中包括蓝牙密码;

所述第三接收模块72,还用于在所述智能锁对所述蓝牙密码验证成功时,接收所述智能锁发送的开锁成功通知消息,此时所述智能锁开启。

实施例七

本发明实施例七提供了一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序用于被处理器执行以实现如实施例一所述的方法。

实施例八

本发明实施例八提供了一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序用于被处理器执行以实现如实施例二所述的方法。

实施例九

本发明实施例九提供了一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序用于被处理器执行以实现如实施例三所述的方法。

应用示例

下面举一个具体应用示例,对本发明所述蓝牙开锁方法进行详细介绍。

图8为本发明所提供的蓝牙开锁方法中各物理实体之间的交互示意图,参照图8,本发明所提供的蓝牙开锁方法,可以包括以下步骤:

步骤801、智能锁在上电时,向远程服务器上报状态信息;

步骤802、远程服务器生成蓝牙密码,将生成的蓝牙密码下发给智能锁;

步骤803、智能锁保存接收到的蓝牙密码;

步骤804、智能锁向远程服务器发送保存成功的通知消息;

步骤805、手机app向远程服务器申请开锁权限;

步骤806、远程服务器对开锁权限进行验证;

步骤807、远程服务器对开锁权限验证成功,并向手机app下发蓝牙mac地址、蓝牙密码;

步骤808、手机app根据收到的蓝牙mac地址进行蓝牙连接,并在蓝牙连接成功后,向智能锁发送蓝牙密码,请求开锁;

步骤809、智能锁对手机app发送的蓝牙密码进行验证,密码正确则执行开锁动作,开锁成功;

步骤810、智能锁向手机app发送开锁成功的通知消息;

步骤811、智能锁向远程服务器上报开锁记录;

步骤812、远程服务器随机产生新的蓝牙密码;

步骤813、远程服务器将新的蓝牙密码发送给智能锁;

步骤814、智能锁根据接收到的新的蓝牙密码更新本地存储的蓝牙密码;

步骤815、智能锁向远程服务器发送密码更新成功的通知消息。

本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1