一种基于一次性密码的控制方法及装置与流程

文档序号:21201512发布日期:2020-06-23 19:22阅读:191来源:国知局
一种基于一次性密码的控制方法及装置与流程

本发明属于密码安全领域,具体涉及一种基于一次性密码的控制方法及装置。



背景技术:

随着科学技术的进步,设备控制方式从机械控制转变成智能控制,如对于门锁来说,门锁的开锁方式从机械开锁向智能开锁转变,其中智能开锁方式是:在电子锁中预先设置开锁密码,若当前用户在电子锁中输入的密码与预先设置的开锁密码相同,则控制电子锁开锁,若当前用户在电子锁中输入的密码与预先设置的开锁密码不同,则禁止电子锁开锁。

但是目前对设备控制出现临时控制需求,如一种场景用户不在家,但需要快递员或朋友进门,若将在电子锁中预先设置的开锁密码告知快递员或朋友,则会导致安全性降低,为此需要一种控制方法,在保证安全性的情况下满足临时控制需求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于一次性密码的控制方法及装置,用于提高安全性。技术方案如下:

本发明提供一种基于一次性密码的控制方法,所述方法包括:

获得用户针对智能设备输入的密码;

通过所述智能设备中预设的密码生成算法,生成至少一个一次性密码;

将所述至少一个一次性密码与所述针对智能设备输入的密码进行比对,以确定所述至少一个一次性密码中是否有与所述针对智能设备输入的密码相同的一次性密码;

如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换;

其中如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,表明所述针对智能设备输入的密码是与用户使用的第一终端通信的第二终端通过所述第二终端上预设的密码生成算法生成的一次性密码。

优选的,所述智能设备上预设的密码生成算法和所述第二终端上预设的密码生成算法相同。

优选的,所述通过所述智能设备中预设的密码生成算法,生成至少一个一次性密码包括:

从所述智能设备中存储的一个第一输入参数、多个第二输入参数和多个第三输入参数中选取所述第一输入参数、一个第二输入参数和一个第三输入参数;

每选取一次输入参数,对所选取的输入参数执行以下步骤:

将所选取的所述第一输入参数、第二输入参数和第三输入参数输入到所述密码生成算法的第一密码生成算法中,得到所述第一密码生成算法输出的第一密码;

将所述第一密码和所述智能设备当前的时间戳输入到所述密码生成算法的第二密码生成算法中,得到所述第二密码生成算法输出的第二密码,将所述第二密码作为所述一次性密码。

优选的,所述如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换包括:

如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,验证所述密码的输入时刻和所述时间戳指示的时刻是否在同一个有效时间区间内,所述有效时间区间为从预设时刻起按照预设时长划分得到的多个时间区间中的一个;

如果是,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换。

优选的,所述方法还包括:将所述针对智能设备输入的密码与所述智能设备中的预设密码进行比对,以确定所述针对智能设备输入的密码与所述预设密码是否相同;

如果所述针对智能设备输入的密码与所述预设密码相同,则控制所述智能设备进行状态切换,并禁止执行通过所述智能设备中预设的密码生成算法,生成至少一个一次性密码的步骤;

如果所述针对智能设备输入的密码与所述预设密码不同,则触发执行通过所述智能设备中预设的密码生成算法,生成至少一个一次性密码的步骤。

优选的,所述方法还包括:对所述控制所述智能设备进行状态切换的一次性密码进行标记,以将该一次性密码与没有控制所述智能设备进行状态切换的一次性密码进行区分。

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

向用户提供输入密码的输入方式;

所述获得用户针对智能设备输入的密码包括:获得用户采用所述输入方式输入的密码。

本发明提供一种基于一次性密码的控制装置,所述装置包括:

获得单元,用于获得用户针对智能设备输入的密码;

生成单元,用于通过所述智能设备中预设的密码生成算法,生成至少一个一次性密码;

比对单元,用于将所述至少一个一次性密码与所述针对智能设备输入的密码进行比对,以确定所述至少一个一次性密码中是否有与所述针对智能设备输入的密码相同的一次性密码;

控制单元,用于如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换;

其中如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,表明所述针对智能设备输入的密码是与用户使用的第一终端通信的第二终端通过所述第二终端上预设的密码生成算法生成的一次性密码。

优选的,所述智能设备上预设的密码生成算法和所述第二终端上预设的密码生成算法相同。

优选的,所述生成单元,用于从所述智能设备中存储的一个第一输入参数、多个第二输入参数和多个第三输入参数中选取所述第一输入参数、一个第二输入参数和一个第三输入参数,每选取一次输入参数,对所选取的输入参数执行以下步骤:将所选取的所述第一输入参数、第二输入参数和第三输入参数输入到所述密码生成算法的第一密码生成算法中,得到所述第一密码生成算法输出的第一密码,将所述第一密码和所述智能设备当前的时间戳输入到所述密码生成算法的第二密码生成算法中,得到所述第二密码生成算法输出的第二密码,将所述第二密码作为所述一次性密码。

优选的,所述控制单元,用于如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,验证所述密码的输入时刻和所述时间戳指示的时刻是否在同一个有效时间区间内,如果是,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换,所述有效时间区间为从预设时刻起按照预设时长划分得到的多个时间区间中的一个。

优选的,所述比对单元,还用于将所述针对智能设备输入的密码与所述智能设备中的预设密码进行比对,以确定所述针对智能设备输入的密码与所述预设密码是否相同;

所述控制单元,还用于如果所述针对智能设备输入的密码与所述预设密码相同,则控制所述智能设备进行状态切换,并禁止所述生成单元生成至少一个一次性密码的步骤,以及还用于如果所述针对智能设备输入的密码与所述预设密码不同,则触发所述生成单元生成至少一个一次性密码。

与现有技术相比,本发明提供的上述技术方案具有如下优点:

在获得用户针对智能设备输入的密码情况下,通过触发智能设备中预设的密码生成算法,生成至少一个一次性密码,将至少一个一次性密码与针对智能设备输入的密码进行比对,以确定所述至少一个一次性密码中是否有与针对智能设备输入的密码相同的一次性密码,如果至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码,基于与针对智能设备输入的密码相同的一次性密码,控制智能设备进行状态切换,从而实现基于一次性密码对智能设备的临时控制,保障了用户对于安全性的要求,并且通过智能设备可以生成至少一个一次性密码,这样智能设备就不需要通过网络来获得终端为智能设备所生成的密码,使得智能设备与终端之间可以脱离网络依赖,解决了在网络信号不好时不能及时使得智能设备进行状态切换的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于一次性密码的控制方法的流程图;

图2是本发明实施例提供的一种密码生成算法生成一次性密码的流程图;

图3是本发明实施例提供的另一种基于一次性密码的控制方法的流程图;

图4是本发明实施例提供的一种基于一次性密码的控制装置的结构示意图。

具体实施方式

本发明提供了一种基于一次性密码的控制方法及装置,基于一次性密码对智能设备的临时控制,保障了用户对于安全性的要求,并且通过智能设备可以生成至少一个一次性密码,这样智能设备就不需要通过网络来获得终端为智能设备所生成的密码,使得智能设备与终端之间可以脱离网络依赖,解决了在网络信号不好时不能及时使得智能设备进行状态切换的问题。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,都属于本发明保护范围。

如图1所示,为本发明实施例提供的一种基于一次性密码的控制方法的流程图,该方法包括以下步骤:

s101:获得用户针对智能设备输入的密码。

其中对于用户针对智能设备输入的密码的获得包括:通过与第一终端通信的第二终端上生成密码,并通过第二终端将生成的密码发送至第一终端上,这样用户可以借助第一终端上得到的密码,将该密码输入到智能设备中。

例如:第二终端是户主(门锁的管理者)使用的终端,使用的终端可以是手机、平板电脑等,第一终端是当前要开锁的用户(如亲朋好友)使用的终端,通过第二终端上的app(应用程序)生成密码,发送至第一终端,这样亲朋好友就可以对门锁输入密码。

s102:通过智能设备中预设的密码生成算法,生成至少一个一次性密码:

也就是说在智能设备中存储有一套密码生成算法,当智能设备检测到有密码输入,触发密码生成算法,生成一次性密码,对于密码生成算法生成一个一次性密码或多个一次性密码可以预先进行设置。

例如:用户可以对智能设备设置生成3个一次性密码,一旦有密码输入后,智能设备就会运行密码生成算法生成3个一次性密码,对于一次性密码的生成数量,本实施例不加以限制。

在本实施例中,一次性密码具有一定的有效期限,以基于一次性密码对智能设备进行临时控制,如一次性密码的有效期限是30分钟,该有效期限可以是以该一次性密码生成的时间为开始时间,从该开始时间之后的30分钟为该一次性密码的有效期限,或者一次性密码的有效期限为生成一次性密码的各个参数的有效期限,如生成一次性密码的各个参数的有效期限为1点至1点30分,虽然在1点10分生成一次性密码,但是一次性密码的有效期限仍为1点至1点30分,此处以有效期限是30分钟为例进行说明,对于有效期限的具体取值本实施例不进行限定。

其中生成具有一个有效期限的一次性密码的方式包括但不限于有:每次触发密码生成算法时从预设参数集合中随机选取一套密码生成算法所需的参数,或者在密码生成算法中加入时间参数,如加入时间戳,这样密码生成算法会基于时间戳的不同而使得生成的一次性密码不同,且生成的一次性密码的有效期限与使用的时间戳相关,对此后续会结合附图进行说明。

s103:将所述至少一个一次性密码与所述针对智能设备输入的密码进行比对,以确定所述至少一个一次性密码中是否有与所述针对智能设备输入的密码相同的一次性密码。

在本实施例中,若智能设备生成一个一次性密码,则智能设备生成的一次性密码与针对智能设备输入的密码相同,则视为一次性密码中有与针对智能设备输入的密码相同的一次性密码,若智能设备生成多个一次性密码,则多个一次性密码中的一个一次性密码与针对智能设备输入的密码相同,则视为一次性密码中有与针对智能设备输入的密码相同的一次性密码。

若生成多个一次性密码,在比对时可以按照多个一次性密码的次序将一次性密码与输入的密码进行一一比对,也可以每次随机选取智能设备生成的多个一次性密码中的一个与输入的密码进行比对,且每次所选取的一个是上一次没有选取到的进行比对。

例如:用户输入123456,智能设备生成123456、789123、963258三个一次性密码,将用户输入的密码与这三个一次性密码,根据这三个一次性密码的次序将用户输入的密码与这三个一次性密码进行比对,发现智能设备生成的一次性密码123456与输入密码123456相同,则可以确定至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码;或者每次从三个一次性密码中随机选取一个没有被选取到的一次性密码与输入密码进行比对,以确定三个一次性密码中是否有与针对智能设备输入的密码相同的一次性密码。

s104:如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换,如控制智能设备从目前的状态切换到另一个状态。

以门锁这一智能设备为例,如果至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码,则可以控制门锁从关闭状态切换至打开状态,当然智能设备还可以是其它设备,如智能家居设备,具体的是空调、洗衣机、热水器等智能家居设备中的一种,通过本实施例来控制其状态切换,对于智能设备从那种状态切换到哪种状态,可以根据实际应用需求而定,本实施例不加以限制。

其中如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,表明所述针对智能设备输入的密码是与用户使用的第一终端通信的第二终端通过所述第二终端上预设的密码生成算法生成的一次性密码,由此可以基于第二终端上生成的一次性密码对智能设备进行控制,而生成的一次性密码具有一定有效期限,说明生成的一次性密码是供用户临时使用而非长期使用的,这样就可以基于第二终端上生成的一次性密码对智能设备进行临时控制。

对于控制智能设备进行状态切换的一次性密码来说,可以对该一次性密码进行标记,如将该一次性密码的状态标记为已使用状态,从而可以将该一次性密码与其他一次性密码(即没有控制智能设备进行状态切换的一次性密码)进行区分,那么后续针对智能设备再次输入密码进行比对时跳过此一次性密码,与其他一次性密码进行比对,减小智能设备运行的损耗,加快比对速度。并且若一次性密码的状态标记为已使用状态,则视为该一次性密码为一个失效密码,这样可以禁止非法用户来利用该一次性密码对智能设备进行控制,提高控制安全性。

从上述技术方案可知,通过与第一终端通信的第二终端上生成密码,并通过第二终端将生成的密码发送至第一终端上,这样用户可以借助第一终端上得到的密码,将该密码输入到智能设备中,触发智能设备中预设的密码生成算法,生成至少一个一次性密码,将输入密码和至少一个一次性密码进行比对,若输入密码和至少一个一次性密码中有相同的一次性密码,智能设备的状态进行切换,在保障安全性的同时,实现对智能设备的临时控制,并且通过智能设备可以生成至少一个一次性密码,这样智能设备就不需要通过网络来获得终端为智能设备所生成的密码,使得智能设备与终端之间可以脱离网络依赖,解决了在网络信号不好时不能及时使得智能设备进行状态切换的问题。

这里以快递员上门送快递,户主不在家快递员如何打开门锁为例。在此场景中户主借助于第二终端,如户主的手机上的app(该app上预设有密码生成算法)生成一次性密码,将生成的一次性密码发送给快递员使用的第一终端,如快递员的手机上。快递员将接收到的一次性密码输入到门锁中,门锁通过预设的密码生成算法生成至少一个一次性密码,将输入的密码和至少一个一次性密码进行比对,若输入的密码和至少一个一次性密码中有相同的一次性密码,则门锁从关闭的状态切换到打开的状态,此时门已经打开,快递员可以把快递放家里。但是快递员若想在户主不在家时再次进入户主家里,若此时一次性密码失效,基于一次性密码无法控制门锁从关闭的状态切换到打开的状态,这样在基于一次性密码对门锁控制的同时提高安全性。

在这里需要说明一点的是:本实施例中智能设备上预设的密码生成算法和第二终端上预设的密码生成算法相同,这样智能设备在比对时才有可能从自身生成的至少一个一次性密码中比对到有与输入的密码相同的一次性密码。

如图2所示,其示出了本实施例提供的一种密码生成算法生成一次性密码的流程图,可以包括以下步骤:

s201:从所述智能设备中存储的一个第一输入参数、多个第二输入参数和多个第三输入参数中选取所述第一输入参数、一个第二输入参数和一个第三输入参数。其中第一输入参数、第二输入参数和第三输入参数是生成一次性密码所需的参数,且第二输入参数和第三输入参数的个数与预先设置的每次生成的一次性密码的个数相同,例如预先设置每次生成三个一次性密码,在智能设备存储有三个第二输入参数和三个第三输入参数。

在从多个第二输入参数和多个第三输入参数中选取时,每次选取到的第二输入参数和第三输入参数各不相同,这样就可以保证每次生成的一次性密码不同,例如可以每次从多个第二输入参数和多个第三输入参数中选取出没有被选取到的参数,如基于多个第二输入参数和多个第三输入参数在智能设备中的存储顺序依次选取。

例如第一输入参数为key,第二输入参数为salt,第三输入参数为info,其中key为固定值,第二输入参数salt和第三输入参数info个数与预计生成的一次性密码的个数相同。如预计生成3个一次性密码,第二输入参数就有salt1、salt2、salt3,第三输入参数有info1、info2、info3,则每次选取第二输入参数时可以基于salt1、salt2、salt3的存储顺序来选取一个第二输入参数,同样的对于第三输入参数也可以如此选取。

s202:将所选取的所述第一输入参数、第二输入参数和第三输入参数输入到所述密码生成算法的第一密码生成算法中,得到所述第一密码生成算法输出的第一密码。

可以理解的是:第一密码生成算法是预设的密码生成算法中的一个子算法,用于得到生成一次性密码所需的中间参数,如第一密码生成算法为hkdf(hmac-basedextract-and-expandkeyderivationfunction)算法,将选取的第一输入参数、第二输入参数和第三输入参数输入到hkdf算法中,得到输出的第一密码。

如将上述key、salt1、info1输入到hkdf算法中,hkdf算法输出一个otp_key1,otp_key1为第一密码,若将上述key、salt2、info2输入到hkdf算法中,hkdf算法输出一个otp_key2,otp_key2为另一个第一密码,与otp_key1不同。

s203:将所述第一密码和所述智能设备当前的时间戳输入到所述密码生成算法的第二密码生成算法中,得到所述第二密码生成算法输出的第二密码,将所述第二密码作为所述一次性密码。

即第二密码生成算法是预设的密码生成算法中的另一个子算法,用于得到一次性密码,具体的将第一密码和当前的时间戳作为第二密码生成算法的输入参数,得到第二密码生成算法输出的一次性密码。

例如,第二密码生成算法为hmac-sha256算法,将第一密码和m作为hmac-sha256算法的输入参数,得到hmac-sha256算法输出的一次性密码,其中m为当前的时间戳与n的比值,即m=当前的时间戳/n,n为预设时长,举例来说假设n的取值为1800,单位为秒,这样就会使得m的取值每间隔30分钟发生一次变化,如时间戳指示的时间区间为1点至1点30时得到的m与时间戳指示的时间区间为1点31至2点时得到的m发生改变,保证hmac-sha256算法在两个时间区间虽然有可能选用相同的第一密码但间隔预设时长输出的一次性密码不同,即使在一个时间区间内虽然m的取值相同但选用的第一密码有可能不同,由此也会使得一次性密码不同。

并且基于上述第二密码生成算法可以保证一次性密码的有效期限与预设时长相关,如前述时间戳指示的时间区间为1点至1点30时得到的m与时间戳指示的时间区间为1点31至2点时得到的m发生改变,导致一次性密码发生变化,由此说明经过这两个m得到的一次性密码的有效时间区间为1点至1点30分,1点31至2点,也就是说通过预设时长可以从预设时刻(如格林威治时间1970年01月01日00时00分00秒)起划分得到多个有效时间区间,基于不同有效时间区间内的时刻对应的时间戳生成的一次性密码是不同的,每个有效时间区间内一次性密码的有效时间为该有效时间区间的开始时刻和结束时刻,有效期限为该有效时间区间的结束时刻和开始时刻之差,如上述30分钟。

相对应的,在实施上述基于一次性密码的控制方法时,如果所述至少一个一次性密码中有与所述针对智能设备输入的密码相同的一次性密码,验证所述密码的输入时刻和所述智能设备生成一次性密码使用的时间戳指示的时刻是否在同一个有效时间区间内,如果是,基于与所述针对智能设备输入的密码相同的一次性密码,控制所述智能设备进行状态切换,所述有效时间区间为从预设时刻起按照预设时长划分得到的多个时间区间中的一个,具体说明请参见上述描述。

其中是否在同一个有效时间区间除了将密码的输入时刻和智能设备生成一次性密码使用的时间戳指示的时刻分别与有效时间区间的开始时刻和结束时刻进行比对之外,还可以计算密码的输入时刻与预设时长的第一比值、计算智能设备生成一次性密码使用的时间戳指示的时刻与预设时长的第二比值,如果第一比值和第二比值相同,则确定在同一个有效时间区间内,这是因为不同有效时间区间中的时刻与预设时长的比值是不同的。

基于上述图2所示流程可以得到多个不同的一次性密码,且一次性密码的有效期限与生成一次性密码时的时间戳相关,而非基于生成一次性密码的时间决定有效期限。当然上述仅是一种预设的密码生成算法的举例说明,在实际应用中可以预设其他形式的密码生成算法,对此本实施例不再一一举例说明。

如图3所示,为本发明实施例提供的另一种基于一次性密码的控制方法的流程图,该方法包括以下步骤:

s301:获得用户针对智能设备输入的密码。

步骤s301与图1中的步骤s101的方法和原理相同,这里不再阐述。

s302:将针对智能设备输入的密码与智能设备中的预设密码进行比对,以确定针对智能设备输入的密码与预设密码是否相同。

其中预设密码相对于上述一次性密码来说,预设密码是智能设备中长时间有效的一个密码,用于对智能设备进行长期控制,例如预设门锁可以是在智能设备初始化阶段由用户为智能设备设置的一个密码,以智能设备为门锁为例,预设密码是门锁初始化阶段(如安装且设置门锁参数阶段),用户在门锁中输入的一个密码,可以基于该密码一直控制门锁直至该密码被用户再次修改。当然预设密码也可以是多个,如每个对智能设备有控制权限的用户均可以设置一个各自的预设密码,对此本实施例不加以限定,而所谓控制权限是指智能设备的管理者可长期控制智能设备,仍以门锁为例,该门锁所安装在的房屋的住户均视为是有控制权限的用户。

在获得输入的密码时,触发智能设备内存储的预设密码与输入的密码进行比对,以确定输入的密码与预设密码是否相同,具体比对的方式如步骤s103所述这里不在详细介绍。

s303:如果针对智能设备输入的密码与预设密码相同,则控制智能设备进行状态切换,对于具体说明请参阅上述步骤s104,并且在针对智能设备输入的密码与预设密码相同的情况下,智能设备无需再基于预设的密码生成算法生成一次性密码,这样可以降低对智能设备的资源占用率,使得智能设备可以有更多的资源进行其他处理。

s304:如果针对智能设备输入的密码与预设密码不同,则通过智能设备中预设的密码生成算法,生成至少一个一次性密码。

如果针对智能设备输入的密码与预设密码不同,说明此时输入的不是预设密码,则需要触发智能设备中预设的密码生成算法,以通过密码生成算法来生成一次性密码,对于其过程请参考图1的步骤s102以及图2,对此本实施例不再加以详细阐述。

s305:将至少一个一次性密码与针对智能设备输入的密码进行比对,以确定至少一个一次性密码中是否有与针对智能设备输入的密码相同的一次性密码。

步骤s305与步骤s103的方法和原理相同,这里不再加以阐述。

s306:如果有与针对智能设备输入的密码相同的一次性密码,基于与针对智能设备输入的密码相同的一次性密码,控制智能设备进行状态切换。

步骤s306与步骤s104的方法和原理一样,这里不再加以阐述。

通过上述技术方案可知,将针对智能设备输入的密码和预设密码进行比对,若输入的密码与预设密码相同则可以控制智能设备进行状态切换,从而使得智能设备无需再生成一次性密码,降低对智能设备的资源占用率。

此外在本实施例中,上述基于一次性密码的控制方法还可以向用户提供输入密码的输入方式,如输入方式可以是:手动输入密码,语音输入密码,二维码扫描方式等。相对应的获得用户针对智能设备输入的密码的方式是:获得用户采用输入方式输入的密码,这样可以满足用户多样化输入密码的需求。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

与上述方法实施例相对应,本实施例还提供一种基于一次性密码的控制装置,其结构如图4所示,可以包括:获得单元11、生成单元12、比对单元13以及控制单元14。

获得单元11,用于获得用户针对智能设备输入的密码,其中可通过与第一终端通信的第二终端上生成密码,并通过第二终端将生成的密码发送至第一终端,这样用户可以借助第一终端上获得的密码,将该密码输入到智能设备中。对于第二终端和第一终端的说明请参阅方法实施例,对此不再阐述。

生成单元12,用于通过智能设备中预设的密码生成算法,生成至少一个一次性密码。例如在智能设备中存储有一套密码生成算法,当智能设备检测到有密码输入,触发密码生成算法生成一次性密码。

其中密码生成算法生成一个一次性密码或多个一次性密码可以预先设置,例如生成单元12生成一次性密码的方式为:

从所述智能设备中存储的一个第一输入参数、多个第二输入参数和多个第三输入参数中选取所述第一输入参数、一个第二输入参数和一个第三输入参数,每选取一次输入参数,对所选取的输入参数执行以下步骤:将所选取的所述第一输入参数、第二输入参数和第三输入参数输入到所述密码生成算法的第一密码生成算法中,得到所述第一密码生成算法输出的第一密码,将所述第一密码和所述智能设备当前的时间戳输入到所述密码生成算法的第二密码生成算法中,得到所述第二密码生成算法输出的第二密码,将所述第二密码作为所述一次性密码,具体说明请参阅方法实施例。

当然生成单元12还可以采用其他方式生成一次性密码,一次性密码的有效期可以是一次性密码的生成时间,或者是生成一次性密码的各个参数的有效期限,具体可以参阅方法实施例中的相关说明,对此本实施例不在阐述。

比对单元13,用于将至少一个一次性密码与所述针对智能设备输入的密码进行比对,以确定至少一个一次性密码中是否有与针对智能设备输入的密码相同的一次性密码。

在本实施例中,若智能设备生成一个一次性密码,则智能设备生成的一次性密码与针对智能设备输入的密码相同,则视为一次性密码中有与针对智能设备输入的密码相同的一次性密码,若智能设备生成多个一次性密码,则多个一次性密码中的一个一次性密码与针对智能设备输入的密码相同,则视为一次性密码中有与针对智能设备输入的密码相同的一次性密码,其中智能设备生成多个一次性密码与输入的密码比对的方式请参阅上述相关方法实施例这里不在阐述。

控制单元14,用于如果至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码,基于与针对智能设备输入的密码相同的一次性密码,控制智能设备进行状态切换,如控制智能设备从目前的状态切换到另一个状态。

例如控制单元14,用于控制智能设备进行状态切换包括:如果至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码,验证密码的输入时刻和时间戳指示的时刻是否在同一个有效时间区间内,如果是,基于与针对智能设备输入的密码相同的一次性密码,控制智能设备进行状态切换,有效时间区间为从预设时刻起按照预设时长划分得到的多个时间区间中的一个,具体说明请参阅方法实施例中的相关说明。

此外智能设备除了可以生成一次性密码之外,智能设备中还可以提前设置预设密码,该预设密码是对智能设备进行长期控制的一个密码,如预设密码可以是门锁所在房屋的家庭成员使用的密码,该密码可以在门锁安装时设置每次开门均可以使用该密码,在此场景中,比对单元13还用于将针对智能设备输入的密码与智能设备中的预设密码进行比对,以确定针对智能设备输入的密码与预设密码相同,若针对智能设备输入的密码与预设密码相同,说明此时对智能设备是通过长期控制的密码进行控制,此时可以通过控制单元14控制智能设备进行状态切换,并禁止生成单元12生成至少一个一次性密码,若针对智能设备输入的密码与预设密码不同,说明此时可能是对智能设备进行临时控制,则触发生成单元12,生成至少一个一次性密码。

此外本装置实施例还包括:标记单元,用于对控制单元14控制智能设备进行状态切换的一次性密码进行标记,以将该一次性密码与没有控制智能设备进行状态切换的一次性密码进行区分。对于获得单元11来说,其还可以向用户提供输入密码的输入方式,如输入方式可以是:手动输入密码,语音输入密码,二维码扫描方式等,进而使得获得单元11可以获得用户采用输入方式输入的密码,这样可以满足用户多样化输入密码的需求。

从上述技术方案可知,在获得用户针对智能设备输入的密码情况下,通过触发智能设备中预设的密码生成算法,生成至少一个一次性密码,将至少一个一次性密码与针对智能设备输入的密码进行比对,以确定所述至少一个一次性密码中是否有与针对智能设备输入的密码相同的一次性密码,如果至少一个一次性密码中有与针对智能设备输入的密码相同的一次性密码,基于与针对智能设备输入的密码相同的一次性密码,控制智能设备进行状态切换,从而实现基于一次性密码对智能设备的临时控制,保障了用户对于安全性的要求,并且通过智能设备可以生成至少一个一次性密码,这样智能设备就不需要通过网络来获得终端为智能设备所生成的密码,使得智能设备与终端之间可以脱离网络依赖,解决了在网络信号不好时不能及时使得智能设备进行状态切换的问题。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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