动态密码生成以及验证方法和系统与流程

文档序号:15749609发布日期:2018-10-26 17:22阅读:460来源:国知局
动态密码生成以及验证方法和系统与流程

本发明涉及动态密码电子锁领域,特别是涉及动态密码生成以及验证方法和系统。



背景技术:

在当前环境下,动态密码技术被广泛应用在金融、生活等安全领域,替代原来的静态密码,为用户的财产安全提供了可靠的保护。由于生成动态密码的设备内部为了生成动态密码,一般都存储有一个预先设置的密码和相对应的规则算法,用于内部计算获得需要的动态密码。

随着网络和智能技术的发展,普通的锁也发展为智能电子锁。电子锁的种类比较多,例如数码锁、指纹锁、磁卡锁、ic卡锁、生物锁等。目前比较广泛应用的还是按键式电子密码锁。电子锁中的密码也是开锁的主要手段。

智能钥匙可以使用生成的动态密码,随着智能钥匙的每次使用和开锁操作,在智能钥匙和对应的电子锁进行各种密码和其它数据的传输的过程中,不断地删除和生成新的密码,并存储在存储器和智能电子钥匙中,使之不易别他人仿制或破解。

现有技术中,包括具有自动生成密码功能的电子锁及其控制方法的研究,其中密码是事先批量生产并存储于eeprom内的,具有一定的安全隐患;或者基于动态密码的电子锁系统中,介绍了基于时间,由于电子锁和令牌都是基于时间产生动态口令,因而长时间处于运行状态,令牌寿命很有限,并且基于时间的产生电路相对复杂得多。

动态密码是变动的口令,由于每次用户所输入的密码不同,使得非法用户无法利用盗用的密码进行电子交易,从而保护了用户的家庭和公共财产的安全。动态密码口令的变动来源于产生口令的运算因子的变动。动态密码的产生因子一般都采用双运算因子:为用户的私有密钥。它是代表用户身份的识别码,是固定不变的,并且,为变动因子。正是变动因子的不断变化,才产生了不断变动的动态密码。现阶段,存在以下几种基于动态密码的认证技术。

口令序列是把口令组的序列顺序(或坐标)作为变动因子。口令为一个单向的前后相关的序列,系统只用记录第n个口令。用户用第n-1个口令登录时,系统用单向算法算出第n个口令与自己保存的第n个口令匹配,以判断用户的身份。

时间同步认证技术,是基于时间同步认证技术是把时间作为变动因子,一般以60秒作为变化单位。所谓“同步”是指用户口令令牌和认证服务器所产生的口令在时间上必须同步。首先,用户通过用户口令令牌基于当前时刻产生一个动态密码,并将该口令输入到与认证服务器网络连接的客户访问端中,请求认证,认证服务器从数据库中获取上述时刻该用户的口令,比较从客户访问端接收到的口令与数据库中的口令是否一致,如果一致,则认证通过。

但是现有技术中的动态密码的生成方式相对简单,而且与用户终端或者智能电子锁等设备关联性比较低,在生成和使用过程中比较容易被破解而提高风险程度,并且上述风险也直接影响了认证的准确性和安全性,容易造成一定损失。



技术实现要素:

一种动态密码生成和验证系统,包括用户终端、智能锁和动态密码服务器;用户终端用于向动态密码服务器发送设置动态密码的请求,该请求中包括设置的数字密码、智能锁标识;动态密码服务器用于接收到上述请求后,获取上述智能锁标识和对应设置的数字密码并存储,并根据智能锁标识从对应的智能锁读取动态密码计算相关信息,随后,根据智能锁标识、数字密码和动态密码计算相关信息生成动态密码,动态密码包括密码一和密码二,动态密码服务器将密码一发送到用户终端,密码二发送到智能锁,同时将数字密码和生成的动态密码与智能锁标识绑定存储;智能锁用于接收到密码一后,与密码二进行匹配。如果匹配成功,智能锁控制门锁打开。如果匹配不成功,将通知信息返回到用户终端。

其中,动态密码计算相关信息包括密码一生成公式和密码二生成公式。生成的随机码是6-10位。

另外,智能锁按照一定时间周期向动态密码服务器发出更新密码请求,该请求包括智能锁标识和动态密码计算相关信息。动态密码服务器接收到请求后,根据从请求中获取的智能锁标识和动态密码计算相关信息生成新的密码二,并且与对应的智能锁标识和数字密码绑定存储,同时将密码二发送到智能锁。

本发明还提供一种动态密码智能解锁方法,该方法具体为:

(1)发送设置动态密码的请求,该请求中包括设置的数字密码、智能锁标识;

(2)接收到上述请求后,获取上述智能锁标识和对应设置的数字密码并存储,并根据智能锁标识从对应的智能锁读取动态密码计算相关信息,

(3)根据智能锁标识、数字密码和动态密码计算相关信息生成动态密码,动态密码包括密码一和密码二;

(4)将密码一发送到用户终端,密码二发送到智能锁,同时将数字密码和生成的动态密码与智能锁标识绑定存储;

(5)接收到密码一后,与密码二进行匹配。如果匹配成功,智能锁控制门锁打开。如果匹配不成功,将通知信息返回到用户终端。

其中,动态密码计算相关信息包括密码一生成公式和密码二生成公式。生成的随机码是6-10位。

步骤(5)之后还包括按照一定时间周期向动态密码服务器发出更新密码请求,该请求包括智能锁标识和动态密码计算相关信息。接收到请求后,根据从请求中获取的智能锁标识和动态密码计算相关信息生成新的密码二,并且与对应的智能锁标识和数字密码绑定存储,同时将密码二发送到智能锁。

本发明有益的技术效果在于:本发明中涉及的动态密码的生成过程结构严谨,与用户终端和智能锁关联紧密,使得动态密码不容易被破解,从而提高了认证的安全性,同时也没有增加过多的运算负担。

附图说明

图1为动态密码生成和验证系统整体结构示意图;

图2为动态密码智能解锁方法流程

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种动态密码生成和验证系统,如图1所示,包括用户终端、智能锁和动态密码服务器。

用户终端与智能锁通过无线网络连接,动态密码服务器通过无线网络分别于用户终端和智能锁连接。

用户终端用于提供用户开锁和设置的应用,并且存储用户终端对应的动态密码和智能锁标识,同时与动态密码服务器进行数据交互,该数据包括动态密码数据和控制信号等。用户终端对应的动态密码是与用户终端标识相关的密码一,智能锁标识是智能锁对应的唯一识别信息。

智能锁用于根据用户终端发送的开锁信息和动态密码服务器控制信号进行开锁控制,并且存储智能锁对应的动态密码和智能锁标识。智能锁对应的动态密码是与智能锁标识相关的密码二。

动态密码服务器用于与用户终端进行数据交互,并且控制智能锁进行开锁。还用于生成动态密码、更新动态密码以及动态密码匹配。同时,动态密码服务器存储生成的动态密码、智能锁标识、数字密码以及生成动态密码所使用的公式。

用户终端向智能锁发出开锁请求时,智能锁发送智能锁标识,用户终端接收到该智能锁标识后,判断是否与用户终端存储的多个智能锁标识其中之一匹配。如果不是,则用户终端显示设置密码界面,用于输入需要设置的数字密码,随后用户终端向动态密码服务器发送设置动态密码的请求,该请求中包括设置的数字密码、智能锁标识;动态密码服务器接收到上述请求后,获取上述智能锁标识和对应设置的数字密码并存储,并根据智能锁标识从对应的智能锁读取动态密码计算相关信息。动态密码服务器根据智能锁标识、数字密码和动态密码计算相关信息生成动态密码,动态密码包括密码一和密码二,动态密码服务器将密码一发送到用户终端,密码二发送到智能锁,同时将数字密码和生成的动态密码与智能锁标识绑定存储;如果是,则用户终端从智能锁读取智能锁标识和密码二,同时显示密码输入界面,并将用户输入的数字密码、智能锁标识和密码二发送到动态密码服务器中。动态密码服务器根据接收到的智能锁标识获取对应的动态密码计算相关信息,根据密码二和输入的数字密码通过动态密码计算相关信息生成密码一,并将密码一发送到用户终端。

用户终端接收到密码一后进行存储,并将密码一发送到智能锁,智能锁接收到密码一后,与密码二进行匹配。如果匹配成功,智能锁控制门锁打开。如果匹配不成功,将通知信息返回到用户终端。

智能锁按照一定时间周期向动态密码服务器发出更新密码请求,该请求包括智能锁标识和动态密码计算相关信息,动态密码服务器接收到请求后,根据从请求中获取的智能锁标识和动态密码计算相关信息生成新的密码二,并且与对应的智能锁标识和数字密码绑定存储,同时将密码二发送到智能锁。智能锁接收到密码二后,替换存储之前的密码二。

其中,动态密码计算相关信息包括密码一生成公式和密码二生成公式。

密码二生成公式为:

密码二=智能锁标识+随机码

生成的随机码可以是6-10位,具体生成方式属于现有技术手段,不再赘述。

例如,当前智能锁标识为“al180101abc”,生成的随机码为“337162”,因此密码二可以生成为“al180101abc337162”,也可以生成为“337162al180101abc”,具体顺序可以有设置为其他形式。

密码一生成公式为:

密码一=密码二+(密码二中随机码与输入的数字密码相加)

数字密码的位置与随机码的位数相同。

例如:密码二为上述生成的“al180101abc337162”,用户输入的数字密码为“123456”,密码二中随机码与输入的数字密码相加时,对应位的两个数字相加有可能超过9,因此将字母a-i设置为10-18。根据密码二生成公式中的规则,密码二的最后6位是随机码“337162”,该随机码与数字密码相加结果为“45a5b8”,最终根据上述公式得到的密码一为“al180101abc45a5b8”。

使用密码一和密码二进行解锁的过程如下:

以上述生成的密码一和密码二为例,当用户请求开锁时,动态密码服务器向用户终端发送根据密码二“al180101abc337162”生成的密码一“al180101abc45a5b8”,密码二是当前智能锁中存储的最新密码二。用户在用户终端输入数字密码,用户终端根据密码一获取当前智能锁标识“al180101abc”,并根据上述标识获取用户预先设定的数字密码“123456”。随后将用户输入的数字密码和预先设定的数字密码进行匹配。如用户输入123456,则匹配成功,如果不是123456,则匹配不成功。

当匹配成功后,用户终端根据智能锁标识将密码一和数字密码发送到对应的智能锁中,智能锁接收到密码一后,获取智能锁标识,并读取对应标识的密码二。随后智能锁提取密码一和密码二的最后六位,分别为“45a5b8”和“337162”。根据上述提取的内容和接收到的数字密码“123456”进行匹配。也就是,根据上述公式和规则,“45a5b8”减去“337162”的结果与数字密码进行匹配。如果相同则开锁成功,如果不相同则不成功。

本发明还提供一种动态密码生成和验证方法,如图2所示,该方法整体流程为:

(1)提供用户开锁和设置的应用,并且存储用户终端对应的动态密码和智能锁标识,同时进行数据交互,该数据包括动态密码数据和控制信号等。用户终端对应的动态密码是与用户终端标识相关的密码一,智能锁标识是智能锁对应的唯一识别信息。

(2)根据用户终端发送的开锁信息和控制信号进行开锁控制,并且存储智能锁对应的动态密码和智能锁标识。智能锁对应的动态密码是与智能锁标识相关的密码二。

(3)生成动态密码、更新动态密码以及动态密码匹配,同时存储生成的动态密码、智能锁标识、数字密码以及生成动态密码所使用的公式。

(4)发出开锁请求时,同时发送智能锁标识。接收到该智能锁标识后,判断是否与存储的多个智能锁标识其中之一匹配。如果不是,则显示设置密码界面,用于输入需要设置的数字密码,随后发送设置动态密码的请求,该请求中包括设置的数字密码、智能锁标识;接收到上述请求后,获取上述智能锁标识和对应设置的数字密码并存储,并根据智能锁标识读取动态密码计算相关信息。

(5)根据智能锁标识、数字密码和动态密码计算相关信息生成动态密码,动态密码包括密码一和密码二。

(6)同时将数字密码和生成的动态密码发送,并与智能锁标识绑定存储;如果是,则读取智能锁标识和密码二,同时显示密码输入界面,并将用户输入的数字密码、智能锁标识和密码二发送出去。

(7)根据接收到的智能锁标识获取对应的动态密码计算相关信息,根据密码二和输入的数字密码通过动态密码计算相关信息生成密码一,并将密码一发送出去。

(8)接收到密码一后进行存储,并将密码一发送到智能锁,智能锁接收到密码一后,与密码二进行匹配。如果匹配成功,控制门锁打开。如果匹配不成功,将通知信息返回。

(9)按照一定时间周期发出更新密码请求,该请求包括智能锁标识和动态密码计算相关信息。接收到请求后,根据从请求中获取的智能锁标识和动态密码计算相关信息生成新的密码二,并且与对应的智能锁标识和数字密码绑定存储,同时将密码二发送,随后在接收到密码二后,替换存储之前的密码二。

其中,动态密码计算相关信息包括密码一生成公式和密码二生成公式。

密码二生成公式为:

密码二=智能锁标识+随机码

生成的随机码可以是6-10位,具体生成方式属于现有技术手段,不再赘述。

例如,当前智能锁标识为“al180101abc”,生成的随机码为“337162”,因此密码二可以生成为“al180101abc337162”,也可以生成为“337162al180101abc”,具体顺序可以有设置为其他形式。

密码一生成公式为:

密码一=密码二+(密码二中随机码与输入的数字密码相加)

数字密码的位置与随机码的位数相同。

例如:密码二为上述生成的“al180101abc337162”,用户输入的数字密码为“123456”,密码二中随机码与输入的数字密码相加时,对应位的两个数字相加有可能超过9,因此将字母a-i设置为10-18。根据密码二生成公式中的规则,密码二的最后6位是随机码“337162”,该随机码与数字密码相加结果为“45a5b8”,最终根据上述公式得到的密码一为“al180101abc45a5b8”。

使用密码一和密码二进行解锁的过程如下:

以上述生成的密码一和密码二为例,当用户请求开锁时,动态密码服务器向用户终端发送根据密码二“al180101abc337162”生成的密码一“al180101abc45a5b8”,密码二是当前智能锁中存储的最新密码二。用户在用户终端输入数字密码,用户终端根据密码一获取当前智能锁标识“al180101abc”,并根据上述标识获取用户预先设定的数字密码“123456”。随后将用户输入的数字密码和预先设定的数字密码进行匹配。如用户输入123456,则匹配成功,如果不是123456,则匹配不成功。

当匹配成功后,用户终端根据智能锁标识将密码一和数字密码发送到对应的智能锁中,智能锁接收到密码一后,获取智能锁标识,并读取对应标识的密码二。随后智能锁提取密码一和密码二的最后六位,分别为“45a5b8”和“337162”。根据上述提取的内容和接收到的数字密码“123456”进行匹配。也就是,根据上述公式和规则,“45a5b8”减去“337162”的结果与数字密码进行匹配。如果相同则开锁成功,如果不相同则不成功。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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