智能锁的控制方法、装置及智能锁与流程

文档序号:12722972阅读:202来源:国知局
本申请涉及智能锁
技术领域
:,尤其涉及智能锁的控制方法、装置及智能锁。
背景技术
::随着物联网的发展,越来越多的设备连入网络。例如,智能锁是一种典型的入网设备。智能锁作为一种区别于传统机械锁的智能锁具设备,在用户识别、安全性及管理性方面都更加智能化。目前,采用中心化服务实现对智能锁的控制,例如钥匙端将控制信息发送至中心服务器,通过中心服务器将控制信息转发至锁端,锁端接收到控制信息后进行控制信息对应的操作。然而,由于中心化服务器是由厂商控制的,使用智能锁的用户会对中心化服务器产生信任问题。例如,用于锁门的智能门锁,用户并不希望恶意厂商通过中心服务器对自己的开锁权限进行修改,另外,由于智能锁使用期限长、更换频率低,则增大了中心化服务器的维护成本。技术实现要素:本申请提供智能锁的控制方法、装置及智能锁,以解决现有技术中心化服务维护成本高以及购买者对中心化服务缺乏信任的问题。根据本申请实施例的第一方面,提供一种智能锁的控制方法,所述方法包括:钥匙端将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁端进行控制的信息,所述交易信息中包括标识钥匙端的公钥;所述锁端接收所述网络系统发送的所述交易信息;所述锁端根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。根据本申请实施例的第二方面,提供一种智能锁的控制装置,所述装置包括锁模块和钥匙模块,所述锁模块设于锁设备中,所述钥匙模块设于钥匙设备中:所述钥匙模块,用于将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁模块进行控制的信息,所述交易信息中包括标识钥匙模块的公钥;所述锁模块,用于接收所述网络系统发送的所述交易信息,根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。根据本申请实施例的第三方面,提供一种智能锁,所述智能锁包括钥匙设备和锁设备;钥匙设备将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁设备进行控制的信息,所述交易信息中包括标识钥匙设备的公钥;锁设备接收所述网络系统发送的所述交易信息,并根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。应用本申请实施例智能锁的控制方法、装置及智能锁时,通过钥匙端将携带有控制信息的交易信息发送至基于区块链的网络系统中,实现通过区块链传输钥匙端发给锁端的控制信息,锁端只会信任块链上的控制信息,并根据此控制信息进行相应的操作。由于区块链具有信息不可篡改的特征,则能保证锁端接收到的信息是钥匙端发送的未经过修改的信息,从而保证信息的可靠性,避免中心化服务修改钥匙端发送的信息给用户造成的损失,提高了用户对智能锁的可信任性。另外,用户无需信任任何一个中心化组织,避免了中心化服务维护成本高的问题。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1A为本申请智能锁的控制方法的一个应用场景图。图1B为本申请智能锁的控制方法的一个实施例流程图。图2为本申请根据一示例性实施例示出的一种智能锁的控制方法的时序图。图3为本申请根据一示例性实施例示出的另一种智能锁的控制方法的时序图。图4为本申请智能锁的控制装置所在智能锁的一种硬件结构图。图5为本申请智能锁的控制装置的一个实施例框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。区块链(Blockchain)是由节点参与的分布式数据库系统,可以将其理解为账簿系统,该系统由所有参与者(节点)共同维护。分布式数据库系统中的信息划分成一个一个的区块,每个区块中保存上一个区块的哈希值,而当前区块的哈希值会放入下一个区块中,从而形成一个链状结构。每个参与者都维护一个完整的区块链。当一个攻击者想要修改块链中的信息进行作弊时,其余参与者能通过算力投票发现并拒绝其作弊的修改,算力投票能防止攻击者通过增加节点形成大多数。由于区块的产生需要由节点对网络上的信息进行打包,并完成工作量证明任务。工作量证明任务一般是为了证明该交易没有被篡改过。因此,攻击者需要超过全网总计算能力的50%才有可能实现作弊,而这对于一个成熟的基于区块链的网络而言,由于存在很多节点进行打包,因此作弊是非常困难的;从而保证了块链中信息的可信与安全。区块链无需节点之间彼此信任,所有节点都维护并信任区块链网络。基于区块链的网络可以是比特币网络、以太币网络、比特股网络等。可见,区块链具有分布式(Distributed)、去中心化(Decentrailized)、篡改十分困难(Immutable)、非对称加密(Asymmetriccryptographically)等特征。目前将区块链直接用于银行等相关业务。为了避免中心化服务维护成本高以及购买者对中心化服务缺乏信任的缺陷,本申请提供一种智能锁的控制方法,该方法采用点对点去中心化的区块链技术,将钥匙端发送的信息存储在块链上,实现通过区块链传输钥匙端发给锁端的信息,锁端只会信任块链上的信息,并根据此信息进行相应的操作。由于区块链具有信息不可篡改的特征,则能保证锁端接收到的信息是钥匙端发送的未经过修改的信息,从而保证信息的可靠性,避免相关技术中心化服务修改钥匙端发送的信息给用户造成的损失,提高了用户对智能锁的可信任性。另外,基于区块链技术的网络提供授信、存储、设备间通信的能力,充分利用设备闲置的计算资源,能够对设备提供长期支持,从而实现用户无需信任任何一个中心化组织,避免了中心化服务维护成本高的问题。如图1A所示,图1A为本申请智能锁的控制方法的一个应用场景图,在该应用场景图中包括钥匙设备、基于区块链的网络系统、锁设备。钥匙端是具有控制锁端功能的一端,钥匙端可以是设于钥匙设备中的程序端,也可以是钥匙设备。例如,钥匙设备可以是智能手机、平板电脑、PDA(PersonalDigitalAssistant,个人数字助理)、智能手表、智能手环等具有控制锁端功能的设备。锁端可以是设于锁设备中的程序端,也可以是锁设备。图1A以钥匙设备为具有控制锁端功能的智能手机、锁设备为门锁为例进行示意。可以理解的是,基于区块链的网络系统是由很多基于区块链的网络节点构成的网络,图1A为了示意方便,用计算机对基于区块链的网络系统进行示例。钥匙设备与网络系统的连接可以是临时建立的,即在钥匙设备需要通过网络系统发送交易信息给锁设备时,将钥匙设备与基于区块链的网络系统建立连接,通过所述钥匙设备将携带有控制信息的交易信息发送至基于区块链的网络系统中。其中,在建立钥匙设备与基于区块链的网络系统的连接时,钥匙设备可以获取基于区块链的网络节点的ip地址(InternetProtocolAddress,网际协议地址)和基于区块链的网络的端口号,通过ip地址和端口号与网络节点建立TCP连接。锁设备与网络系统的连接可以是持续性的,即锁设备与网络系统建立TCP连接后不再断开。如图1B所示,图1B为本申请智能锁的控制方法的一个实施例流程图,该方法可以应用在智能锁上,包括以下步骤101至步骤103:在步骤101中,钥匙端将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁端进行控制的信息,所述交易信息中包括标识钥匙端的公钥。在步骤102中,所述锁端接收所述网络系统发送的所述交易信息。在步骤103中,所述锁端根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。关于步骤101,交易信息是遵循区块链协议的信息,能被区块链所识别的信息。为了实现将控制信息发送至区块链,本申请通过交易信息携带该控制信息。作为其中一种交易信息携带控制信息的方式,可以将控制信息写在交易信息的附言中,作为交易信息的附加信息进行传输。可见,该种方式容易实现。另外,也可以将控制信息编码在交易信息中,例如通过不同的交易数据代表不同的控制信息等。控制信息是钥匙端控制锁端执行指定操作的信息。在一个可选的实现方式中,控制信息可以是控制锁端进行开锁关锁操作的信息,例如钥匙端可以将开锁控制信息通过区块链发送至锁端,锁端进行开锁操作,又如,钥匙端可以将关锁控制信息通过区块链发送至锁端,锁端进行关锁操作。可见,通过将开锁/关锁控制信息发送至区块链,区块链将开锁/关锁控制信息发送至锁端,由于区块链的可靠性,从而能保证锁端接收到的开锁/关锁控制信息是钥匙端发送的未经过修改的开锁/关锁控制信息,以便锁端能安全地开锁/关锁。在另一个可选的实现方式中,控制信息可以是控制锁端进行信息更新的信息。例如,控制信息可以是钥匙端控制锁端更新权限列表的信息,又如,控制信息可以是钥匙端控制锁端更新固件的信息等。可见,钥匙端将控制锁端进行信息更新的控制信息发送至区块链,区块链将该控制信息发送至锁端,由于区块链的可靠性,从而能保证锁端接收到的控制信息是钥匙端发送的未经过修改的控制信息,以便锁端能安全地进行信息更新。可以理解的是,控制信息还可以是钥匙端对锁端进行控制的其他控制信息,在此不再一一赘述。另外,为了实现锁端开锁/关锁的及时性,也可以不通过区块链传输开锁/关锁控制信息,而通过蓝牙、NFC等近距离无线通信的方式进行开关锁控制。为了遵循区块链的协议,钥匙端可以基于区块链的算法生成目标公钥和目标私钥,在钥匙端将交易信息发送至基于区块链的网络系统前,钥匙端利用目标私钥对交易信息进行签名,并将签名后的交易信息和目标公钥发送至基于区块链的网络系统。签名后的交易信息包括交易信息和签名数据,签名数据可以是一串数据等。可以理解的是,具体签名方法采用相关技术中的签名方法,在此不作限定。基于区块链的网络系统对交易信息进行处理后,将交易信息发送至锁端。锁端根据目标公钥对签名后的交易信息进行验签,即对签名信息进行验签,验签通过后获得交易信息。针对标识钥匙端的公钥的确定方式,在一个可选的实现方式中,可以直接利用根据区块链的算法生成的目标公钥标识钥匙端,即直接将目标公钥确定为钥匙端的公钥。由上述实施例可见,利用根据区块链的算法生成的目标公钥标识钥匙端,只需对交易信息进行一次签名和验签过程,节约了签名和验签时间。在另一个可选的实现方式中,由于存在多种类型的区块链,每种类型的区块链的算法不同,利用根据区块链的算法生成的目标公钥标识钥匙端,则该交易信息只能通过该种区块链网络系统进行传输。为了避免限定传输交易信息所使用的区块链种类,在钥匙端中定义一对公钥私钥对,利用该定义的公钥标识钥匙端。在该实现方式中,钥匙端可以利用公钥对应的私钥对控制信息进行签名获得控制签名信息,并将携带所述控制签名信息和所述公钥的交易信息发送至基于区块链的网络系统中。为了遵循区块链的协议,钥匙端可以利用目标私钥对交易信息进行签名,并将签名后的交易信息和目标公钥发送至基于区块链的网络系统。基于区块链的网络系统利用目标公钥对签名后的交易信息进行验签,获得交易信息,并进行相应的处理。所述锁端接收所述网络系统发送的所述交易信息,锁端根据所述公钥对所述控制签名信息进行验签,验签通过后获得所述控制信息,并根据所述公钥、所述控制信息和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。其中,控制签名信息是钥匙端对控制信息进行签名后的签名信息,控制签名信息可以包括控制信息和签名数据。为了避免同其他签名信息混淆,将该签名信息命名为控制签名信息。其中,在钥匙端将交易信息发送至基于区块链的网络系统后,基于区块链的网络系统的节点验证交易信息的合法性,例如通过验证该账号是否存在交易信息所需比特币来判断交易信息是否合法。在交易信息合法的情况下,该节点将交易信息打包到区块里,并完成工作量证明任务。例如,根据区块链的算法证明该交易信息未被篡改过。当节点完成工作量证明任务后将区块上的打包信息进行公布,若公布信息被网络系统中的其他节点认可后,将打包信息加载到区块链上,然后通知锁端。作为其中一种认可方式,其他节点可以判断公布信息中的交易是否为新的交易信息,若是,则认可该公布信息。基于区块链的网络系统不会对交易信息中的控制信息进行更改,由于网络系统能保证交易信息的可靠性,则交易信息中的控制信息具有可靠性。关于步骤103,锁端接收到网络系统通知的交易信息后,可以从交易信息中获取控制信息,根据交易信息中的公钥和本地存储的控制权限列表判断钥匙端是否有控制权限,并根据判断结果确定是否执行控制信息对应的操作。针对获取控制信息,当利用根据区块链的算法生成的目标公钥标识钥匙端时,锁端可以直接从交易信息中获取控制信息。当利用钥匙端中定义的公钥标识钥匙端时,锁端可以根据公钥对所述控制签名信息进行验签,验签通过后获得控制信息。可见,通过私钥签名公钥验签的方式可以证明该控制信息的发送者是钥匙端,实现对控制信息来源方的确认。在确定控制信息来源方后,可以根据标识钥匙端的公钥和本地存储的控制权限列表判断钥匙端是否有控制权限,并根据判断结果确定是否执行控制信息对应的操作。其中,控制权限可以是开锁权限、关锁权限、更新固件权限、授权权限、取消授权权限等。本地可以预先存储有控制权限列表,控制权限列表中记录有具有控制权限的钥匙端的公钥。控制权限列表的数量可以为一个,也可以为多个。根据不同的控制权限可以设置相应的控制权限列表,例如可以包括具有开关锁权限的钥匙端的公钥的控制权限列表、具有更新固件权限的钥匙端的公钥的控制权限列表、具有授权/取消授权权限的钥匙端的公钥的控制权限列表等。在根据标识钥匙端的公钥和本地存储的控制权限列表判断钥匙端是否有控制权限时,可以判断标识钥匙端的公钥是否在本地存储的控制权限列表中,当公钥在本地存储的控制权限列表中时,执行控制信息对应的操作,当公钥不在本地存储的控制权限列表中时,不执行控制信息对应的操作。在一个例子中,若存在多种类型的控制权限列表时,可以根据控制信息获取相应的控制权限列表,并通过判断标识钥匙端的公钥是否在控制权限列表里来判断钥匙端是否有控制权限,并根据判断结果确定是否执行控制信息对应的操作。以下列举两种控制信息进行说明。在一个可选的实现方式中,所述钥匙端为第一钥匙端,所述控制信息为所述第一钥匙端向第二钥匙端进行授权/取消授权的权限控制信息,所述权限控制信息包括所述第二钥匙端的公钥,所述控制权限列表中记录有具有授权和/或取消授权权限的钥匙端的公钥,则锁端可以判断标识第一钥匙端的公钥是否在控制权限列表中,在锁端确定第一钥匙端的公钥在所述控制权限列表中时,所述锁端根据所述权限控制信息授予第二钥匙端指定操作权限或取消第二钥匙端的指定操作权限。其中,第一钥匙端的公钥即标识第一钥匙端的公钥,第二钥匙端的公钥即标识第二钥匙端的公钥。在该实施例中,当标识第一钥匙端的公钥在所述控制权限列表中时,可以判定第一钥匙端具有控制权限。控制权限可以是授权权限、取消授权权限、或授权和取消授权权限。因此,根据不同的权限,可以将控制权限列表分为第一控制权限列表、第二控制权限列表和第三控制权限列表。某些钥匙端可以仅具有授权权限,则可以在第一控制权限列表中记录具有授权权限的钥匙端的公钥。某些钥匙端可以仅具有取消授权权限,则可以在第二控制权限列表中记录具有取消授权权限的钥匙端的公钥。某些钥匙端可以同时具有授权权限和取消授权权限,则在第三控制权限列表中记录同时具有授权和取消授权权限的钥匙端的公钥。其中,授权是指授予钥匙端指定操作权限,取消授权是指取消钥匙端的指定操作权限,即第一钥匙端向第二钥匙端进行授权后,第二钥匙端具有指定操作权限;第一钥匙端向第二钥匙端进行取消授权后,取消第二钥匙端的指定操作权限。在一个例子中,为了实现锁端根据权限控制信息授予第二钥匙端指定操作权限或取消第二钥匙端的指定操作权限,锁端可以根据权限控制信息更新指定操作权限所对应的控制权限列表。例如,当控制信息为第一钥匙端向第二钥匙端进行授权的权限控制信息时,锁端可以根据权限控制信息在指定操作权限所对应的控制权限列表中增加第二钥匙端的公钥;当控制信息为第一钥匙端向第二钥匙端进行取消授权的权限控制信息时,锁端可以根据权限控制信息在指定操作权限所对应的控制权限列表中删除第二钥匙端的公钥。其中,指定操作权限可以是开锁权限、关锁权限、更新固件权限、授权权限、取消授权权限等中的一种或多种。在一个可选的实现方式中,指定操作权限可以与控制权限相同,即指定操作权限对应的控制权限列表与控制权限对应的控制权限列表相同。由于控制权限为授权和/或取消授权的权限,则指定操作权限可以是授权和/或取消授权的权限。当第一钥匙端的公钥在控制权限列表中时,锁端可以根据权限控制信息将第二钥匙端的公钥添加至控制权限列表中,以实现根据权限控制信息授予第二钥匙端指定操作权限。当第一钥匙端的公钥在控制权限列表中时,锁端可以根据权限控制信息将第二钥匙端的公钥从控制权限列表中删除,以实现根据权限控制信息取消第二钥匙端的指定操作权限。可见,可以通过权限控制信息授予第二钥匙端授权和/或取消授权的权限,或,取消第二钥匙端授权和/或取消授权的权限。在另一个可选的实现方式中,指定操作权限可以与控制权限不同,即指定操作权限对应的控制权限列表与控制权限对应的控制权限列表不同。指定操作权限可以是开锁权限、关锁权限、更新固件权限等。当第一钥匙端的公钥在控制权限列表中时,锁端可以根据权限控制信息将第二钥匙端的公钥添加至指定操作权限对应的控制权限列表中,以实现根据权限控制信息授予第二钥匙端指定操作权限。当第一钥匙端的公钥在控制权限列表中时,锁端可以根据权限控制信息将第二钥匙端的公钥从指定操作权限对应的控制权限列表中删除,以实现根据权限控制信息取消第二钥匙端的指定操作权限。可见,可以通过权限控制信息授予或取消第二钥匙端开锁权限、关锁权限或更新固件权限等。可以理解的是,指定操作权限可以是一种操作权限,也可以是多种操作权限,在此不再一一赘述。由上述实施例可见,本实施例可以通过判断控制权限列表中是否包括第一钥匙端的公钥来判断第一钥匙端是否存在控制权限。当第一钥匙端的公钥在控制权限列表中、且权限控制信息为第一钥匙端向第二钥匙端进行授权的权限控制信息时,授予第二钥匙端指定操作权限;当第一钥匙端的公钥在控制权限列表中、且权限控制信息为第一钥匙端向第二钥匙端进行取消授权的权限控制信息时,取消第二钥匙端的指定操作权限,从而通过第一钥匙端对第二钥匙端的指定操作权限进行控制,在保证信息安全性的同时,提高智能锁的智能化。针对不同的应用场景,授权和取消授权具有特定的意义。例如,锁生产端生产智能锁时往往附有万能钥匙,万能钥匙可以具有控制权限,即控制权限列表中默认有万能钥匙的公钥。万能钥匙可以授予其他钥匙具有指定操作权限,即在指定操作权限所对应的控制权限列表中增加新钥匙的公钥,从而使其他钥匙具有指定操作权限。指定操作权限可以包括开锁/关锁权限、更新固件权限、授权/取消授权权限等。为了保证锁端的安全性,在指定操作权限所对应的控制权限列表中增加新钥匙的公钥后,新钥匙具有各种指定操作权限,其中一个权限是取消万能钥匙的权限,从而新钥匙可以取消万能钥匙的所有权限,从而使厂商无法通过万能钥匙对锁进行控制,保证了锁端的安全性。又如,房东具有授权/取消授权的权限,房客具有开关锁的权限。需要更改房客时,只需要检查一遍块链即可确定对锁端具有操作权限的钥匙。房东可以采用上述实施例所述方法将自己的钥匙端作为第一钥匙端,将房客的钥匙端作为第二钥匙端,从而一一取消房客钥匙的开关锁权限,从而避免更换智能锁,增加了智能锁的重用性。又如,当快递员到达收件地发现收件人不在时,由于收件地具有收件人的邮箱,邮箱通过智能锁封锁,因此,收件人的钥匙作为第一钥匙端,快递员的钥匙作为第二钥匙端,收件人可以通过自己的钥匙端对快递员的钥匙端进行授权,以使快递员可以通过授权的钥匙端打开邮箱,并将物品投放在邮箱中。为了保证安全性,还可以限定授权次数,例如限定为一次开锁权限。由于仅进行一次性授权,则快递员打开邮箱钥匙后,授权即失效,保证了邮箱的安全性。进一步的,锁端还可以通过交易信息将信息发送至基于区块链的网络系统,通过基于区块链的网络系统将信息传输至钥匙端,由于区块链具有去信任的特征,则能保证钥匙端接收到的信息是锁端发送的未经过修改的信息,从而保证信息的可靠性,避免中心化服务修改锁端发送的信息给用户造成的损失。例如,锁端还可以通过基于区块链的网络系统向第一钥匙端发送授权结果的响应信息。授权结果可以是授权成功,也可以是授权失败。比如,当所述第一钥匙端的公钥不在所述控制权限列表中时,通过基于区块链的网络系统向第一钥匙端发送授权失败的响应信息。其中,锁端可以向基于区块链的网络系统发送交易信息,交易信息中携带授权结果的响应信息,以便告知网络系统授权结果。第一钥匙端可以从基于区块链的网络系统中监听到授权结果,第二钥匙端也可以从基于区块链的网络系统中监听到授权结果,以便第二钥匙端明确自身是否有指定操作权限。如图2所示,图2为本申请根据一示例性实施例示出的一种智能锁的控制方法的时序图。在该时序图中,包括以下步骤:第一钥匙端通过私钥对权限控制信息进行签名获得控制签名信息,并将携带公钥和控制签名信息的交易信息在基于区块链的网络系统进行广播。其中,权限控制信息是第一钥匙端向第二钥匙端进行授权/取消授权的信息。所述公钥和私钥是第一钥匙端中的公钥私钥对。基于区块链的网络系统的节点验证交易信息的合法性,在交易信息合法的情况下,该节点将交易信息打包到区块里,并完成工作量证明任务,当节点完成工作量证明任务后将区块上的打包信息进行公布,若公布信息被网络系统中的其他节点认可后,将打包信息加载到区块链上,然后将交易信息通知至锁端。锁端监听到交易信息后,根据第一钥匙端的公钥对控制签名信息进行验签,验签通过后获得权限控制信息,并根据权限控制信息从本地获取控制权限列表。当第一钥匙端的公钥不在控制权限列表中时,锁端向基于区块链的网络系统发送授权失败的授权结果。当第一钥匙端的公钥在控制权限列表中时,根据权限控制信息授予/取消第二钥匙端指定操作权限,并向基于区块链的网络系统发送授权成功的授权结果。基于区块链的网络系统将授权成功或授权失败的授权结果进行广播,以使第一钥匙端和第二钥匙端监听到授权结果。在另一个可选的实现方式中,所述控制信息为固件更新信息,所述固件为运行在锁端中的程序集合,所述固件更新信息包括新固件的地址信息,本地存储的控制权限列表中记录有具有固件更新权限的钥匙端的公钥。所述锁端根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作,包括:所述锁端确定钥匙端的公钥在所述控制权限列表中时,锁端根据所述新固件的地址信息下载固件签名信息,所述固件签名信息是钥匙端利用所述公钥对应的私钥对新固件进行签名后的信息。所述锁端根据所述公钥对所述固件签名信息进行验签,验签通过后锁端获得新固件,并根据所述新固件进行固件更新。在该实施例中,固件是运行在锁中的程序集合,例如固件可以是控制锁开关的程序,还可以是其他控制逻辑的程序。在一个可选的实现方式中,固件可以是具有以下逻辑的固件:接收钥匙端发送的钥匙端的公钥和开锁/关锁请求,所述开锁/关锁请求是利用钥匙端公钥对应的私钥进行签名后的请求。根据所述钥匙端的公钥对所述开锁/关锁请求进行验签,验签通过后执行所述开锁/关锁请求对应的开关操作。其中,钥匙端可以通过NFC(NearFieldCommunication,近距离无线通讯技术)、声波、蓝牙等方式将钥匙端的公钥和开锁/关锁请求发送至锁端。由上述实施例可见,通过私钥签名、公钥验签的方式验证开锁/关锁请求的来源方,从而提高了来源方的可靠性。在另一个可选的实现方式中,固件可以是具有以下逻辑的固件:接收钥匙端发送的钥匙端的公钥和开锁/关锁请求,所述开锁/关锁请求是利用钥匙端公钥对应的私钥进行签名后的请求。根据所述钥匙端的公钥对所述开锁/关锁请求进行验签,验签通过后,判断钥匙端的公钥是否在本地存储的开关锁控制权限列表中,所述开关锁控制权限列表中记录有具有开关锁权限的钥匙端的公钥;当判定所述钥匙端的公钥在所述开关锁控制权限列表中时,执行所述开锁/关锁请求对应的开关操作。可见,可以通过钥匙端将标识钥匙端的公钥和开锁/关锁请求发送至锁端,所述开锁/关锁请求是利用钥匙端公钥对应的私钥进行签名后的请求。锁端接收钥匙端发送的钥匙端的公钥和开锁/关锁请求,并根据所述钥匙端的公钥对所述开锁/关锁请求进行验签,验签通过后,锁端判断钥匙端的公钥是否在本地存储的开关锁控制权限列表中,所述开关锁控制权限列表中记录有具有开关锁权限的钥匙端的公钥;当锁端判定所述钥匙端的公钥在所述开关锁控制权限列表中时,锁端执行所述开锁/关锁请求对应的开关操作。在一个可选的实现方式中,钥匙端可以通过Telehash协议的方式将钥匙端的公钥和开锁/关锁请求发送至锁端,从而不需要额外的硬件支持,降低了成本。由上述实施例可见,通过私钥签名、公钥验签的方式验证开锁/关锁请求的来源方,从而提高了来源方的可靠性,同时,通过判断钥匙端的公钥是否在开关锁控制权限列表中,从而实现有权限的钥匙端才能对锁进行开关操作。在另一个可选的实现方式中,新固件为预设时间段内接收到预设个数的开锁/关锁请求时执行相应的开锁操作/关锁操作的固件。可见,该实施例限定预设时间段内接收到预设个数的开锁/关锁请求时才能执行相应的开锁操作/关锁操作,从而提高了开锁操作/关锁操作的难度,针对利用锁封存一些比较重要的文件或物件时可以采用该控制逻辑。例如,新固件为具有以下逻辑的固件:接收钥匙端发送的钥匙端的公钥和开锁/关锁请求,所述开锁/关锁请求是利用钥匙端公钥对应的私钥进行签名后的请求。当预设时间段内接收到的开锁/关锁请求的个数大于或等于预设个数、且根据所述钥匙端的公钥对所述开锁/关锁请求进行验签通过,则执行所述开锁/关锁请求对应的开锁操作/关锁操作,否则不执行所述开锁/关锁请求对应的开锁操作/关锁操作。又如,新固件为具有以下逻辑的固件:接收钥匙端发送的钥匙端的公钥和开锁/关锁请求,所述开锁/关锁请求是利用钥匙端公钥对应的私钥进行签名后的请求。当预设时间段内接收到的开锁/关锁请求的个数大于或等于预设个数、且根据所述钥匙端的公钥对所述开锁/关锁请求进行验签通过、且各钥匙端的公钥均在开关锁控制权限列表中,则执行所述开锁/关锁请求对应的开锁操作/关锁操作,否则不执行所述开锁/关锁请求对应的开锁操作/关锁操作。针对新固件,可以是钥匙端开发的固件,例如钥匙端开发的固件,或锁开发商开发的固件。在一个可选的实现方式中,钥匙端利用公钥对应的私钥对新固件进行签名,获得固件签名信息,并将所述固件签名信息发布至比特流网络。其中,比特流(BitTorrent)是一种点对点内容分发协议,它采用高效的软件分发系统和点对点技术共享大体积文件。可见,由于BitTorrent是去中心化的网络,通过BitTorrent存储固件,签名信息,实现智能锁无需中心化服务器,降低了成本。以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书申请的范围。以下列举其中一个组合进行说明,如图3所示,图3为本申请根据一示例性实施例示出的另一种智能锁的控制方法的时序图。在该时序图中,包括以下步骤:持有万能钥匙的开发商开发新固件,并利用私钥对新固件进行签名获得固件签名信息,将固件签名信息发布至BitTorrent网络上。其中,私钥是已公布的钥匙端的公钥对应的私钥。可以理解的是,具有上传固件权限的非开发商也可以上传固件,在此不作限定。BitTorrent网络发布成功后,向钥匙端返回信息发布成功的发布结果。钥匙端利用公钥对应的私钥对固件更新信息进行签名获得控制签名信息,并将携带公钥和控制签名信息的交易信息上传至基于块链的网络系统。其中,固件更新信息包括新固件的地址信息。基于块链的网络系统进行相应的逻辑处理后,将交易信息通知至锁端。当钥匙端的公钥在本地存储的控制权限列表中时,锁端根据钥匙端的公钥对控制签名信息进行验签,验签通过后获得固件更新信息,根据新固件的地址信息从BitTorrent上下载固件签名信息。锁端获得固件签名信息后,根据钥匙端的公钥对固件签名信息进行验签,验签通过后获得新固件,根据所述新固件进行固件更新。当所述钥匙端的公钥不在本地存储的控制权限列表中时,忽略此次交易信息。与本申请智能锁的控制方法的实施例相对应,本申请还提供了智能锁的控制装置及智能锁的实施例。本申请智能锁的控制装置的实施例可以应用在智能锁上,其中,装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在智能锁的处理器410将非易失性存储器420中对应的计算机程序信息读取到内存430中运行形成的。从硬件层面而言,如图4所示,为本申请智能锁的控制装置所在智能锁的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口440、以及非易失性存储器420之外,实施例中装置所在的智能锁通常根据该设备的实际功能,还可以包括其他硬件,图4中不再一一示出。参见图5,为本申请智能锁的控制装置的一个实施例框图:该装置包括:钥匙模块510和锁模块520。所述钥匙模块510,用于将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁模块520进行控制的信息,所述交易信息中包括标识钥匙模块的公钥。所述锁模块520,用于接收所述网络系统发送的所述交易信息,根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。在一个可选的实现方式中,所述钥匙模块510,用于利用公钥对应的私钥对控制信息进行签名获得控制签名信息,并将携带所述控制签名信息和所述公钥的交易信息发送至基于区块链的网络系统中,所述公钥用于标识钥匙模块510。所述锁模块520,用于根据所述公钥对所述控制签名信息进行验签,验签通过后获得所述控制信息,并根据所述公钥、所述控制信息和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。在一个可选的实现方式中,所述钥匙模块510为第一钥匙模块,所述控制信息为所述第一钥匙模块向第二钥匙模块进行授权/取消授权的权限控制信息,所述权限控制信息包括所述第二钥匙模块的公钥,所述控制权限列表中记录有具有授权和/或取消授权权限的钥匙模块的公钥。所述锁模块520,用于确定第一钥匙模块的公钥在所述控制权限列表中时,根据所述权限控制信息授予第二钥匙模块指定操作权限或取消第二钥匙模块的指定操作权限。在一个可选的实现方式中,所述控制信息为固件更新信息,所述固件为运行在锁模块中的程序集合,所述固件更新指令包括新固件的地址信息,本地存储的控制权限列表中记录有具有固件更新权限的钥匙模块的公钥。所述锁模块520,用于确定钥匙模块510的公钥在所述控制权限列表中时,根据所述新固件的地址信息下载固件签名信息,所述固件签名信息是钥匙模块510利用所述公钥对应的私钥对新固件进行签名后的信息;根据所述公钥对所述固件签名信息进行验签,验签通过后获得新固件,并根据所述新固件进行固件更新。在一个可选的实现方式中,所述新固件为预设时间段内接收到预设个数的开锁/关锁请求时执行相应的开锁操作/关锁操作的固件。在一个可选的实现方式中,所述钥匙模块510,还用于:利用所述公钥对应的私钥对新固件进行签名,获得固件签名信息,并将所述固件签名信息发布至比特流网络。在一个可选的实现方式中,所述钥匙模块510还用于:将钥匙模块510的公钥和开锁/关锁请求发送至锁模块520,所述开锁/关锁请求是利用钥匙模块510的公钥对应的私钥进行签名后的请求。所述锁模块520,还用于接收钥匙模块510发送的钥匙模块510的公钥和开锁/关锁请求,并根据所述钥匙模块510的公钥对所述开锁/关锁请求进行验签,验签通过后,判断钥匙模块510的公钥是否在本地存储的开关锁控制权限列表中,所述开关锁控制权限列表中记录有具有开关锁权限的钥匙模块的公钥;当判定所述钥匙模块510的公钥在所述开关锁控制权限列表中时,执行所述开锁/关锁请求对应的开关操作。基于此,本申请还提供一种智能锁,所述智能锁包括钥匙设备和锁设备。钥匙设备将携带有控制信息的交易信息发送至基于区块链的网络系统中,所述控制信息是对锁设备进行控制的信息,所述交易信息中包括标识钥匙设备的公钥。锁设备接收所述网络系统发送的所述交易信息,并根据所述交易信息中的公钥和本地存储的控制权限列表确定是否执行所述控制信息对应的操作。上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,通过钥匙端将携带有控制信息的交易信息发送至基于区块链的网络系统中,实现通过区块链传输钥匙端发给锁端的控制信息,锁端只会信任块链上的控制信息,并根据此控制信息进行相应的操作。由于区块链具有不可篡改的特征,则能保证锁端接收到的信息是钥匙端发送的未经过修改的信息,从而保证信息的可靠性,避免中心化服务修改钥匙端发送的信息给用户造成的损失,提高了用户对智能锁的可信任性。另外,用户无需信任任何一个中心化组织,避免了中心化服务维护成本高的问题。本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1