密码更新方法、智能锁及服务器与流程

文档序号:16324531发布日期:2018-12-19 05:51阅读:374来源:国知局
密码更新方法、智能锁及服务器与流程

本发明涉及车辆领域,具体地涉及一种密码更新方法、智能锁及服务器。

背景技术

当用户使用共享车辆(例如,共享单车)时,需要对共享车辆进行解锁操作。

以共享车辆所使用的智能锁是电子密码锁为例。对于电子密码锁,用户扫码后,手机通过后台查询到该车对应的密码,用户输入对应的密码,匹配成功后开锁。用车结束后电子密码锁向服务器上报订单信息,结束订单。这种开锁方式密码可变,其受环境影响大,如果智能锁端与服务器之间的网络较差,可能出现服务器向智能锁端发送密码不及时的情况,从而导致智能锁端和服务器的解锁密码不一致,使得用户无法从服务器获取到正确的解锁密码。进一步,如果用户通过暴力破解的方式解锁了智能锁的解锁密码,也可能会引起服务器和智能锁端密码不一致的情况,同样会使得用户无法获取到正确的解锁密码。尤其如果用户通过暴力破解的方式解锁了智能锁的解锁密码,而恰好智能锁端与服务器之间的网络较差,则更容易引起服务器和智能锁端密码不一致的情况出现。



技术实现要素:

本发明实施例的目的是提供一种密码更新方法、智能锁及服务器,用于全部解决或至少部分解决上述技术问题。

为了实现上述目的,本发明实施例提供一种密码更新方法,用于智能锁,所述方法包括:响应于所述智能锁锁止,向服务器发送密码更新请求和当前使用的解锁密码;接收服务器发送的新的密码组和密码比对结果,所述密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的密码一致;以及根据所述密码比对结果和所述新的密码组对已存储的密码组进行更新。

可选地,所述方法还包括:向所述服务器发送确认收到所述新的密码组和所述密码比对结果的应答信息。

可选地,所述根据所述密码比对结果和所述新的密码组对已存储的密码组进行更新包括:判断所述已存储的密码组的数量是否达到预定数量;以及如果所述已存储的密码组的数量未达到所述预定数量,则存储所述新的密码组,否则,根据所述密码比对结果使用所述新的密码组对所述已存储的密码组进行更新。

可选地,所述根据所述密码比对结果使用所述新的密码组对所述已存储的密码组进行更新包括执行以下步骤之一:如果所述密码比对结果指示所述当前使用的解锁密码与所述服务器中存储的密码一致,则将所述已存储的密码组中除所述当前使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组;以及如果所述密码比对结果指示所述当前使用的密码与所述服务器中存储的密码均不一致,则将所述已存储的密码组中所述当前使用的解锁密码所在密码组更新为所述新的密码组。

可选地,所述预定数量为2。

相应地,本发明实施例还提供一种密码更新方法,用于服务器,所述方法包括:接收智能锁发送的密码更新请求和当前使用的解锁密码;根据所述密码更新请求生成新的密码组;将所述当前使用的解锁密码与所述服务器中存储的密码进行比对以生成密码比对结果,该密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的密码一致;以及将所述新的密码组和所述密码比对结果发送至所述智能锁。

可选地,所述方法还包括:判断在预设时间内是否接收所述智能锁发送的确认收到所述新的密码组和所述密码比对结果的应答信息;以及如果接收到所述应答信息,则将所述智能锁的密码更新为所述新的密码组,否则,不更新所述智能锁的密码。

可选地,其中所述将所述当前使用的解锁密码与所述服务器中存储的密码进行比对以生成密码比对结果包括:将所述当前使用的解锁密码分别与所述服务器中存储的已使用密码和未使用密码进行比对以生成所述密码比对结果,其中,所述已使用密码为最近一次发送至客户端的解锁密码。

相应地,本发明实施例还提供一种智能锁,所述智能锁包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行上述的用于智能锁密码更新方法。

相应地,本发明实施例还提供一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行上述的用于服务器的密码更新方法。

通过上述技术方案,响应于智能锁锁止,智能锁会将密码更新请求和用户当前解锁使用的解锁密码一起发送至服务器。服务器生成新的密码组并将当前用户解锁使用的解锁密码存储的密码进行比对,以判断当前用户解锁使用的密码是否是暴力破解产生密码,然后将密码比对结果发送至智能锁。智能锁根据密码比对结果的不同,而执行不同的密码更新操作,以确保任何情况下服务器和智能锁中存储的密码的一致性,使得用户每次获取到的密码均为有效密码,从而提高用户体验度。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图;

图2示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图;

图3示出了智能锁更新存储的密码组的流程图;

图4示出了根据本发明一实施例的用于服务器的密码更新方法的流程图;

图5示出了根据本发明一实施例的用于服务器的密码更新方法的流程图;

图6示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图;

图7示出了根据本发明一实施例的智能锁和服务器的交互示意图;

图8示出了根据本发明一实施例的智能锁和服务器的交互示意图;

图9示出了智能锁和服务器之间通信失败且用户通过暴力破解的方式解锁智能锁的情况下,密码更新方法的流程示意图;

图10示出了智能锁和服务器之间通信失败且用户通过暴力破解的方式解锁智能锁的情况下,密码更新方法的流程示意图

图11示出了根据本发明一实施例的智能锁的结构框图;以及

图12示出了根据本发明一实施例的服务器的结构框图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

图1示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图。该方法可以用于智能锁,所述智能锁可以是自行车锁、电动车锁、电助力自行车锁、汽车锁、租赁柜锁或者智能家居锁等中的任意一种,本发明实施例是以智能锁为共享单车的智能锁为例进行说明。所述方法可以包括以下步骤:

步骤s110,响应于所述智能锁锁止,向服务器发送密码更新请求和当前使用的解锁密码。

智能锁在出厂时可以内置有初始密码组,该密码组可以包括多个密码,例如可以包括3个密码,针对该智能锁,在服务器中可以存储有相同的初始密码组。

用户可以通过智能终端的客户端对车辆的二维码进行扫描,如此来获得车辆的标识,或者可以在客户端手动输入车辆的标识,客户端可以将包括车辆的标识的密码获取请求发送至服务器。服务器接收到密码获取请求后,可以根据车辆的标识从对应的密码组中选择一个密码以作为解锁密码发送至客户端,客户端接收并显示该解锁密码。用户可以在智能锁上输入所显示的解锁密码,智能锁接收用户输入的解锁密码,然后将所接收的解锁密码与存储的密码组中的密码进行匹配,如果匹配成功,则进行解锁以使用户进行骑行,用户骑行完成后将智能锁锁止。

响应于智能锁锁止,智能锁可以生成包括车辆的标识的密码更新请求,并将所述密码更新请求和当前使用的解锁密码一起发送至服务器,其中所述当前使用的解锁密码为当前用户在智能锁上输入的成功用于解锁的解锁密码。

步骤s120,接收服务器发送的新的密码组和密码比对结果,所述密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的密码一致。

服务器中存储的密码可以包括已使用密码和未使用密码。服务器接收到密码更新请求和当前使用的解锁密码之后,可以根据密码更新请求生成新的密码组,并将智能锁发送的当前使用的解锁密码与服务器中存储的已使用密码和未使用密码进行比较以生成密码比较结果,密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的已使用密码或未使用密码一致。其中,所述已使用密码为服务器最近一次发送给客户端的解锁密码,所述未使用密码为服务器中当前存储的所述智能锁的未发送给客户端的解锁密码。之后,服务器可以将新的密码组和密码比对结果一起发送至智能锁。

步骤s130,根据所述密码比对结果和所述新的密码组对已存储的密码组进行更新。

上述更新可以是直接将所述新的密码组进行存储或者可以是将已存储的密码组中的一个密码组替换为所述新的密码组。此外,根据不同的密码比对结果,密码组的更新方式也不同,关于具体如何更新将在后文中结合图3进行详细描述。

通过上述技术方案,密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的已使用密码或未使用密码一致,即,用于指示当前用户解锁使用的密码是否是暴力破解产生密码。智能锁根据密码比对结果的不同,而执行不同的密码更新操作,以确保任何情况下服务器和智能锁中存储的密码的一致性,使得用户每次获取到的密码均为有效密码,从而提高用户体验度。

可选地,在步骤s120中,智能锁可以判断在第一预设时间内是否接收到服务器发送的新的密码组和密码比对结果,如智能锁在第一预设时间内接收到服务器发送的新的密码组和密码比对结果,则智能锁执行步骤s130,否则智能锁可以不对已存储的密码组进行更新。其中,所述第一预设时间可以根据实际情况而设置为任意合适的值,例如,所述第一预设时间的取值范围可以是几秒到十几分钟,或者几秒到几分钟,或者几秒到几十秒等。

如果第一预设时间内未接收到所述新的密码组,则说明服务器和智能锁之间通信失败,这可能是由于服务器未成功接收到密码更新请求或者由于服务器向智能锁发送新的密码组失败而引起的,这种情况下,智能锁可以不对存储的密码组进行更新,那么服务器也不会收到应答信息,则服务器也不会对所述智能锁的密码进行更新,从而保证服务器和智能锁中存储的密码仍然保持一致。

进一步地,在智能锁向服务器发送密码更新请求和所述当前使用的解锁密码之后,如果智能锁在第一预设时间内未接收到服务器发送的新的密码组,则智能锁可以进入休眠状态,以节省智能锁功耗。

图2示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图。如图2所示,基于上述任意实施例,本发明实施例提供的密码更新方法还可以包括:步骤s140,向所述服务器发送确认收到所述新的密码组和所述密码比对结果的应答信息。可选地,智能锁在完成密码更新且发送应答信息之后,可以进入休眠状态,以节省智能锁功耗。服务器接收到该应答信息之后,才对服务器中存储的密码组进行更新,从而进一步确保服务器和智能锁中存储的密码一致。

这里是以在步骤s130之后执行步骤s140为例进行说明的,可以理解,本发明实施例对步骤s130和步骤s140的执行顺序不进行限制,也可以在步骤s130之前且步骤s120之后执行步骤s140,或者二者可以同时执行。

图3示出了智能锁更新存储的密码组的流程图。如图3所示,根据所述密码比对结果和所述新的密码组对已存储的密码组进行更新包括以下步骤:

步骤s302,判断已存储的密码组的数量是否达到预定数量。

智能锁可以设置为至多可以存储预定数量的密码组,以防止因存储的密码组过多而引起的密码被破解概率升高的情况,所述预定数量优选可以设置为2。密码组中的解锁密码的数量可以不做限制。

步骤s304,如果已存储的密码组的数量未达到所述预定数量,则存储所述新的密码组。

如果智能锁中存储的密码组的数量尚未达到预定数量,则可以直接存储从服务器接收到的新的密码组。

步骤s306,如果所述智能锁已存储的密码组的数量已达到所述预定数量,则可以根据所述密码比对结果使用所用所述新的密码组对所述已存储的密码组进行更新。

密码比对结果可以具体分为以下三种比对结果:当前使用的解锁密码与服务器中存储的已使用密码一致;当前使用的解锁密码与服务器中存储的未使用密码一致;当前使用的解锁密码与服务器中存储的已使用密码和未使用密码均不一致。其中,所述已使用密码为服务器最近一次发送给客户端的解锁密码,所述未使用密码为服务器中当前存储的所述智能锁的未发送给客户端的解锁密码。

如果密码比对结果指示当前使用的解锁密码与服务器中存储的已使用密码一致,则基于该指示,智能锁可以确认,用户是在从服务器获取到解锁密码之后才进行的解锁,这种情况下,智能锁中可以保留当前使用的解锁密码所在密码组,而将所述当前使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组。以使得即使当服务器因为未收到智能锁发送的应答信息而没有对已存储的密码进行更新时,服务器和智能锁中存储密码仍然具有一致性。

如果密码比对结果指示当前使用的解锁密码与服务器中存储的未使用密码一致,则基于该指示,智能锁可以确认,用户通过暴力破解的方式解锁了智能锁的密码,但是由于该解锁密码与服务器中当前存储的未使用的密码一致,所以智能锁中应当保留当前使用的解锁密码所在密码组,而将所述当前使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组。以使得即使当服务器因为未收到智能锁发送的应答信息而没有对已存储的密码进行更新时,服务器和智能锁中存储密码仍然具有一致性。

如果密码比对结果指示当前使用的密码与所述服务器中存储的已使用密码和未使用密码均不一致,则基于该指示,智能锁可以确认,用户通过暴力破解的方式解锁了智能锁的密码。由于当前使用的密码与服务器中存储的已使用密码也不一致,则智能锁可以进一步确认当前使用的解锁密码所在密码组与服务器中存储的密码不具有一致性,而所述当前使用的解锁密码所在密码组之外的其它密码组与服务器中存储的密码具有一致性。因此,智能锁可以将所述已存储的密码组中所述当前使用的解锁密码所在密码组更新为所述新的密码组,以确保智能锁和服务器中存储的密码的一致性。

以智能锁中至多允许存储2个密码组为例,智能锁出厂时仅存储有一个与服务器相同的密码组。在首次从服务器接收到新的密码组和密码比对解锁时,由于智能锁中仅存储有一个密码组,则可以直接存储该新的密码组。在之后的过程中,智能锁中均存储有2个密码组,分别将这2个密码组称为第一密码组和第二密码组。以当前使用的解锁密码为第一密码组中的密码(即,当前用户解锁时使用的解锁密码为第一组中的密码)为例,在接收到新的密码组和密码比对结果时,如果密码比对结果指示所述当前使用的解锁密码与所述服务器中存储的已使用密码或未使用密码一致,则将第二密码组更新为所述新的密码组。如果密码比对结果指示所述当前使用的密码与所述服务器中存储的已使用密码和未使用密码均不一致,则将所述第一密码组更新为所述新的密码组。

进一步地,在响应于所述智能锁锁止,向服务器发送密码更新请求和当前使用解锁密码之前,本发明实施例提供的用于智能锁的密码更新方法还可以包括根据所使用的解锁密码对该解锁密码所在密码中的密码进行处理。可以理解,所使用的解锁密码是用户输入的解锁密码,所述处理过程可以发生在使用用户输入的解锁密码成功解锁之后。

具体地,可以判断当前使用的解锁密码是否是所述解锁密码所在密码组中预定使用顺序排列在最后的密码。如果不是,则从所述解锁密码所在密码组中将所述解锁密码和预定使用顺序排列在所述解锁密码之前的密码删除。如果是,则保留所述当前使用的解锁密码,并从所述解锁密码所在密码组中将预定使用顺序排列在所述解锁密码之前的密码删除。

通过上述实施例,无论服务器和智能锁之间的通信是否成功,且无论用户是否通过暴力破解的方式进行解锁,都可以确保智能锁和服务器中存储的密码具有一致性,从而使得用户无论在何种情况下都可以获取到有效的解锁密码。

图4示出了根据本发明一实施例的用于服务器的密码更新方法的流程图。如图4所示,本发明实施例还提供一种用于服务器的密码更新方法,所述密码为用于智能锁的密码,所述智能锁可以是自行车锁、电动车锁、电助力自行车锁、汽车锁、租赁柜锁或者智能家居锁等中的任意一种,所述方法可以包括以下步骤:

步骤s410,接收智能锁发送的密码更新请求和当前使用的解锁密码。

响应于智能锁锁止,智能锁可以生成包括车辆标识的密码更新请求,并将该密码更新请求和当前使用的解锁密码一起发送至服务器。

步骤s420,根据所述密码更新请求生成新的密码组。

服务器根据接收到的密码更新请求,可以生成新的密码组,该新的密码组中的密码与当前存储的所述智能锁的密码不相同。

步骤s430,将所述当前使用的解锁密码与所述服务器中存储的密码进行比对以生成密码比对结果,该密码比对结果用于指示所述当前使用的解锁密码是否与所述服务器中存储的密码一致。

服务器中存储的密码可以包括已使用密码和未使用密码,其中,所述已使用密码为服务器最近一次发送给客户端的解锁密码,也就是说,该已使用密码是指用户通过终端获取的解锁密码。所述未使用密码为服务器中当前存储的所述智能锁的未发送给客户端的解锁密码。

服务器收到智能锁发送的当前使用的解锁密码之后,可以首先判断所述当前使用的解锁密码是否是服务器中存储的已使用密码。如果所述当前使用的解锁密码与服务器中存储的已使用密码不一致,则服务器继续将所述当前使用的解锁密码与服务器中存储的未使用密码进行比对。密码比对结果可以具体分为以下三种比对结果:当前使用的解锁密码与服务器中存储的已使用密码一致;当前使用的解锁密码与服务器中存储的未使用密码一致;当前使用的解锁密码与服务器中存储的已使用密码和未使用密码均不一致。

步骤s440,将所述新的密码组和所述密码比对结果发送至所述智能锁。

智能锁接收到所述新的密码组和所述密码比对结果之后,可以根据所述密码比对结果和所述新的密码组对已存储的密码组进行更新。智能锁根据密码比对结果的不同,而执行不同的密码更新操作,以确保任何情况下服务器和智能锁中存储的密码的一致性,使得用户每次获取到的密码均为有效密码,从而提高用户体验度。

服务器中存储的已使用密码为最近一次发送至客户端的所述智能锁的解锁密码。可选地,服务器可以设置为每向客户端发送一次所述智能锁的解锁密码就对所述已使用密码进行一次更新。

图5示出了根据本发明一实施例的用于服务器的密码更新方法的流程图。如图5所示,基于上述任意实施例,本发明实施例提供的用于服务器的密码更新方法还可以进一步包括:

步骤s450,判断在第二预设时间内是否接收所述智能锁发送的确认收到所述新的密码组和所述密码比对结果的应答信息。

其中,所述第二预设时间可以根据实际情况而设置为任意合适的值,例如,所述第二预设时间的取值范围可以是几秒到十几分钟,或者几秒到几分钟,或者几秒到几十秒等。本发明实施例中所述第二预设时间可以与第一预设时间相同或不同,并不进行限制。

步骤s460,如果在第二预设时间内接收到所述应答信息,则将所述智能锁的密码更新为所述新的密码组,

如果第二预定时间内接收到所述应答信息,则服务器可以确认智能锁已经存储了所述新的密码组,这种情况下,服务器可以将该智能锁的当前密码组更新为所述新的密码组,从而使得服务器中存储的所述智能锁的密码与所述智能锁中存储的密码具有一致性。

步骤s470,如果在第二预设时间内未接收到所述应答信息,则不更新所述智能锁的密码。

如果在第二预设时间内服务器未接收到所述应答信息,说明服务器和智能锁之间通信失败,服务器无法确认智能锁是否已经存储了所述新的密码组。但是可以确认智能锁中具有当前存储的所述智能锁的密码,为确保与智能锁中存储的密码的一致性,服务器可以不更新当前密码组。

通过上述实施例,在第二预定时间内未接收到所述应答信息的情况下,服务器不对当前密码组进行更新。仅在接收到所述应答信息,即确认智能锁已经存储了所述新的密码组的情况下,将当前存储的所述智能锁的密码更新为新的密码组,从而保证了即使在服务器和智能锁通信失败期间,用户从服务器获取到的密码仍然能够正常解锁车辆。

图6示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图。如图6所示,在使用共享单车的场景下,客户端30与服务器20之间通过网络40进行连接,智能锁10与服务器20间通过网络40进行连接。上述的网络40可以包括蜂窝网络、无线局域网络wifi等任何形式的网络,本发明对此没有特别限制。

下面以智能锁为共享单车的智能锁、密码组中包括3个密码为例对本发明实施例进行举例而非限制性说明。在初始状态下,智能锁和服务器对应的存储一个相同的密码组并且密码组中的密码具有对应的相同的预定使用顺序,该密码组中的密码为a、b、c,其预定使用顺序可以设置为a、b、c。智能锁被设置为至多能够存储2个密码组,服务器针对一个车辆仅存储一个密码组。服务器被设置为按照密码组中的预定使用顺序向客户端发送密码。

图7示出了根据本发明一实施例的智能锁和服务器的交互示意图。如图7所示,用户首先通过客户端从服务器获取到密码a,则服务器中密码a为已使用密码,密码b、c为未使用密码。之后用户使用密码a来解锁智能锁。

在步骤s702,响应于智能锁10锁止,智能锁10可以生成密码更新请求,该密码更新请求包括车辆的标识。

在步骤s704,智能锁10可以将密码更新请求和当前使用的解锁密码a一起发送至服务器20。

在步骤s706,服务器20接收智能锁10发送的密码更新请求和当前使用的解锁密码a。

在步骤s708,服务器20可以根据密码更新请求生成新的密码组,该新的密码组中的各密码与密码a、b、c均不相同,新的密码组中包括的密码例如可以是a1、b1、c1。同时根据当前使用的解锁密码a和服务器20中存储的已使用解锁密码a的一致性,生成密码比对结果state1,密码比对结果state1指示当前使用的解锁密码与服务器20中存储的已使用解锁密码一致。

在步骤s710,服务器20向智能锁10发送新的密码组和密码比对结果state1。

在步骤s712,智能锁10接收新的密码组和密码比对结果state1。由于智能锁中当前存储的密码组的数量为1,未达到预定数量,因此,在步骤s714,智能锁10可以直接存储该新的密码组。此时,智能锁10中存储有两个密码组,存储的密码为b、c、a1、b1、c1。

在步骤s716,智能锁10向服务器20发送确认收到新的密码组和密码比对结果state1的应答信息,在发送所述应答信息之后,智能锁10可以进入休眠状态。

在步骤s718,服务器响应于所述应答信息,将智能锁10的解锁密码更新为新的密码组,其密码为a1、b1、c1,则服务器20中,已使用密码为a,未使用密码为a1、b1、c1。之后,用户通过客户端从服务器获取到a1、b1、c1中的任意一个密码都可以正常解锁智能锁。

假定智能锁10中存储的密码为两组,第一组密码组包括密码b、c,第二组密码包括密码a1、b1、c1,服务器20中存储的所述智能锁的解锁密码为a1、b1、c1,其为未使用密码。服务器中存储的已使用密码为密码a。如果用户再次通过终端从服务器获取到所述智能锁的密码a1,则服务器中存储的已使用密码更新为a1,未使用密码更新为b1、c1。图8示出了基于该示例场景的智能锁和服务器的交互示意图。

在步骤s802,响应于智能锁10锁止,智能锁10可以生成密码更新请求,该密码更新请求包括车辆的标识。

在步骤s804,智能锁10可以将密码更新请求和当前使用的解锁密码a1一起发送至服务器20。

在步骤s806,服务器20接收智能锁10发送的密码更新请求和当前使用的解锁密码a1。

在步骤s808,服务器20可以根据密码更新请求生成新的密码组,该新的密码组中的各密码与密码a1、b1、c1均不相同,新的密码组中包括的密码例如可以是a2、b2、c2。同时根据当前使用的解锁密码a1和服务器20中存储的已使用解锁密码a1的一致性,生成密码比对结果state1,密码比对结果state1指示当前使用的解锁密码与服务器20中存储的已使用解锁密码一致。

在步骤s810,服务器20向智能锁10发送新的密码组和密码比对结果state1。

在步骤s812,智能锁10接收新的密码组和密码比对结果state1。由于智能锁中当前存储的密码组的数量为2,已达到预定数量,且由于密码比对结果state1指示当前使用的解锁密码与服务器20中存储的已使用解锁密码一致,因此,在步骤s814,智能锁10可以将密码a1所在第二密码组保留,而将第一密码组更新为新的密码组。此时,智能锁10中存储有两个密码组,其中第一密码组中的密码为a2、b2、c2,第二密码组中的密码为b1、c1。

在步骤s816,智能锁10向服务器20发送确认收到新的密码组和密码比对结果state1的应答信息,在发送所述应答信息之后,智能锁10可以进入休眠状态。

在步骤s818,服务器响应于所述应答信息,将智能锁10的解锁密码更新为新的密码组,其密码为a2、b2、c2,则服务器20中,已使用密码为a1,未使用密码为a2、b2、c2。之后,用户通过客户端从服务器获取到a2、b2、c2中的任意一个密码都可以正常解锁智能锁。

图9示出了智能锁和服务器之间通信失败且用户通过暴力破解的方式解锁智能锁的情况下,密码更新方法的流程示意图。在图9中,假定智能锁10中存储有两个密码组,其中第一密码组中的密码为a2、b2、c2,第二密码组中的密码为b1、c1,服务器20中,已使用密码为a1,未使用密码为a2、b2、c2。同时假定用户通过暴力破解的方式获取到解锁密码a2,并使用解锁密码a2解锁了终端。可以理解,这里a2仅用于举例,也可以假定用户通过暴力破解的方式获取到解锁密码为b2或c2,其执行过程和执行结果与a2类似。

在步骤s902,响应于智能锁10锁止,智能锁10可以生成密码更新请求,该密码更新请求包括车辆的标识。

在步骤s904,智能锁10可以将密码更新请求和当前使用的解锁密码a2一起发送至服务器20。

在步骤s906,服务器20接收智能锁10发送的密码更新请求和当前使用的解锁密码a2。

在步骤s908,服务器20可以根据密码更新请求生成新的密码组,该新的密码组中的各密码与密码a2、b2、c2均不相同,新的密码组中包括的密码例如可以是a3、b3、c3。同时根据当前使用的解锁密码a2和服务器20中存储的未使用解锁密码a2的一致性,生成密码比对结果state2,密码比对结果state2指示当前使用的解锁密码与服务器20中存储的未使用解锁密码一致。

在步骤s910,服务器20向智能锁10发送新的密码组和密码比对结果state2。

在步骤s912,智能锁10接收新的密码组和密码比对结果state2。由于智能锁中当前存储的密码组的数量为2,已达到预定数量,需要对存储的密码组进行更新。由于密码比对结果state2指示当前使用的解锁密码与服务器20中存储的未使用解锁密码一致,则智能锁10可以确定用户通过暴力破解的方式解锁了智能锁10的密码,但是由于该解锁密码与服务器20中当前存储的未使用的密码一致,所以智能锁10中应当保留当前使用的解锁密码a2所在第一密码组,而将所述当前使用的解锁密码所在密码组之外的第二密码组更新为所述新的密码组。因此,在步骤s914,智能锁10可以将密码a2所在第一密码组保留,而将第二密码组更新为新的密码组。此时,智能锁10中存储有两个密码组,其中第一密码组中的密码为b2、c2,第二密码组中的密码为a3、b3、c3。

在步骤s916,智能锁10向服务器20发送确认收到新的密码组和密码比对结果state2的应答信息,在发送所述应答信息之后,智能锁10可以进入休眠状态。

由于智能锁10和服务器20之间通信失败,服务器20未能接收到智能锁10发送的应答信息,则服务器20不对智能锁10的密码进行更新,服务器20中存储的已使用密码为a1,未使用密码为b2和c2。用户通过客户端获取到b2、c2中的任意一个密码都可以正常解锁智能锁。

图10示出了智能锁和服务器之间通信失败且用户通过暴力破解的方式解锁智能锁的情况下,密码更新方法的流程示意图。在图10中,假定智能锁10中存储有两个密码组,其中第一密码组中的密码为a2、b2、c2,第二密码组中的密码为b1、c1,服务器20中,已使用密码为a1,未使用密码为a2、b2、c2。同时假定用户通过暴力破解的方式获取到解锁密码b1,并使用解锁密码b1解锁了终端。可以理解,这里b1仅用于举例,也可以假定用户通过暴力破解的方式获取到解锁密码为c1,其执行过程和执行结果与b1类似。

在步骤s1002,响应于智能锁10锁止,智能锁10可以生成密码更新请求,该密码更新请求包括车辆的标识。

在步骤s1004,智能锁10可以将密码更新请求和当前使用的解锁密码b1一起发送至服务器20。

在步骤s1006,服务器20接收智能锁10发送的密码更新请求和当前使用的解锁密码b1。

在步骤s1008,服务器20可以根据密码更新请求生成新的密码组,该新的密码组中的各密码与密码a2、b2、c2均不相同,新的密码组中包括的密码例如可以是a3、b3、c3。同时根据当前使用的解锁密码b1和服务器20中存储的已使用解锁密码和未使用解锁密码的不一致性,生成密码比对结果state3,密码比对结果state3指示当前使用的解锁密码与服务器20中存储的已使用解锁密码和未使用解锁密码均不一致。

在步骤s1010,服务器20向智能锁10发送新的密码组和密码比对结果state3。

在步骤s1012,智能锁10接收新的密码组和密码比对结果state3。由于智能锁中当前存储的密码组的数量为2,已达到预定数量,需要对存储的密码组进行更新。由于密码比对结果state3指示当前使用的解锁密码与服务器20中存储的已使用解锁密码或未使用解锁密码均不一致,则智能锁10可以确定用户通过暴力破解的方式解锁了智能锁10的密码。由于该解锁密码与服务器20中当前存储的已使用密码和未使用密码均不一致,所以智能锁10可以进一步确认当前使用的解锁密码b1所在第二密码组与服务器中存储的密码不具有一致性,而所述第一密码组与服务器中存储的密码具有一致性。因此,在步骤s914,智能锁10可以第一密码组保留,而将密码b1所在第二密码组更新为新的密码组。此时,智能锁10中存储有两个密码组,其中第一密码组中的密码为a2、b2、c2,第二密码组中的密码为a3、b3、c3。

在步骤s916,智能锁10向服务器20发送确认收到新的密码组和密码比对结果state3的应答信息,在发送所述应答信息之后,智能锁10可以进入休眠状态。

由于智能锁10和服务器20之间通信失败,服务器20未能接收到智能锁10发送的应答信息,则服务器20不对智能锁10的密码进行更新,服务器20中存储的已使用密码为a1,未使用密码为a2、b2和c2。用户通过客户端获取到b2、c2中的任意一个密码都可以正常解锁智能锁。

如果在步骤s914中,智能锁10将当前使用的解锁密码b1所在第二密码组更新为所述新的密码组,则智能锁10中存储有两个密码组,其中第一密码组中的密码为a3、b3、c3,第二密码组中的密码为c1,而后续由于智能锁10和服务器20之间通信失败,服务器20没有更新存储的密码组,未使用密码仍然为a2、b2和c2。这将使得智能锁10和服务器20的解锁密码不一致,用户通过客户端从服务器20获取到的解锁密码将无法解锁智能锁。而通过本发明的实施例,可以使得无论服务器和智能锁之间的通信是否成功,且无论用户是否通过暴力破解的方式进行解锁,都可以确保智能锁和服务器中存储的密码具有一致性,从而使得用户无论在何种情况下都可以获取到有效的解锁密码。

图11示出了根据本发明一实施例的智能锁的结构框图。如图11所示,本发明实施例还提供一种智能锁1100,智能锁1100可以为自行车锁、电动车锁、电助力自行车锁、租赁柜锁或者智能家居锁等中的任意一种。智能锁1100可以包括存储器1110和处理器1120,所述存储器1110中存储有指令,所述指令使得所述处理器1120能够执行根据本发明实施例的用于智能锁的密码更新方法。

本发明实施例提供的智能锁1100的具体工作原理及益处与前述方法相对应,具体实施方式可参见前述方法中的详细描述,在此不再赘述。

图12示出了根据本发明一实施例的服务器的结构框图。如图12所示,本发明实施例还提供一种服务器1200,该服务器1200可以包括存储器1210和处理器1220,所述存储器1210中存储有指令,所述指令使得所述处理器1220能够执行根据本发明实施例的用于服务器的密码更新方法。

发明实施例提供的服务器1200的具体工作原理及益处与前述方法相对应,具体实施方式可参见前述方法中的详细描述,在此不再赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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