一种密码生成方法及电子设备与流程

文档序号:12602794阅读:291来源:国知局
一种密码生成方法及电子设备与流程

本发明涉及电子技术领域,特别涉及一种密码生成方法及电子设备。



背景技术:

随着科学技术的不断进步,互联网以及金融信息化技术也得到了快速发展,网上银行以其便利、高效等优点迅速得到用户和银行业界的普遍推崇。银行和各种大型电子商务网站为了克服基于静态口令的认证方式的安全缺陷,大多采用了动态口令令牌或动态口令卡来加强网络身份认证的安全性。

动态口令技术又称为一次性口令(One Time Password,简称OTP)技术,其特点是用户根据服务商提供的动态口令令牌的显示数字来输入电子密码,而动态口令技术根据密码生成方式的不同,可以分为基于时间的动态口令技术、基于事件的动态口令技术以及基于挑战/应答的动态口令技术。

采用基于时间的动态口令技术来生成密码时,首先要获取种子文件,然后获取操作系统的本地时间,最后根据预设的密码生成算法,基于种子文件和本地时间生成密码,并将生成的密码发送至服务器进行认证。

由于现有技术中的基于时间生成密码的方法中,获取的时间为操作系统的本地时间,而系统的时间可以随意改变,如黑客入侵修改系统时间等,从而,当基于操作系统的本地时间与服务器时间不对应时,令牌产生的密码便无效了。

可见,现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题。



技术实现要素:

本发明实施例提供一种密码生成方法及电子设备,用于解决现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题,实现提高令牌产生的密码的有效性的技术效果。

本申请实施例一方面提供一种密码生成方法,应用于电子设备中,所述方法包括:

检测获得用于生成密码的操作;

响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

基于所述种子文件及所述标准时间,生成密码。

可选的,所述检测获得用于生成密码的操作,包括:

检测获得用于对一未完成交易进行支付的支付操作;或

检测获得用于执行一批处理文件的执行操作。

可选的,所述响应所述操作,获得种子文件,包括:

响应所述操作,从与所述电子设备连接的其他电子设备获得种子文件;或

响应所述操作,从所述电子设备的存储单元中获得种子文件。

可选的,所述基于所述种子文件及标准时间,生成密码,包括:

基于所述种子文件及所述标准时间,利用SM3算法,生成密码;或

基于所述种子文件及所述标准时间,利用HMAC-SHA1算法,生成密码。

可选的,所述标准时间为从国家授时中心获取的时间或所述标准时间为从具有授时功能的服务器上获取的时间。

本申请实施例另一方面提供一种电子设备,包括:

第一获得单元,用于检测获得用于生成密码的操作;

第二获得单元,用于响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

密码生成单元,用于基于所述种子文件及所述标准时间,生成密码。

可选的,所述第一获得单元用于:

检测获得用于对一未完成交易进行支付的支付操作;或

检测获得用于执行一批处理文件的执行操作。

可选的,所述第二获得单元用于:

响应所述操作,从与所述电子设备连接的其他电子设备获得种子文件;或

响应所述操作,从所述电子设备的存储单元中获得种子文件。

可选的,所述密码生成单元用于:

基于所述种子文件及所述标准时间,利用SM3算法,生成密码;或

基于所述种子文件及所述标准时间,利用HMAC-SHA1算法,生成密码。

可选的,所述标准时间为从国家授时中心获取的时间或所述标准时间为从具有授时功能的服务器上获取的时间。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

由于本申请实施例中的技术方案,采用检测获得用于生成密码的操作;响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;基于所述种子文件及所述标准时间,生成密码的技术手段,这样,由于用于生成密码的时间为其他电子设备中的标准时间,如服务器中的标准时间或者国家授时中心的标准时间,从而即使电子设备中的系统时间被修改,其生成的密码也不会随系统时间的变化发生改变,从而保证了密码生成过程中的时间的准确性,有效解决了现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题,实现提高令牌产生的密码的有效性的技术效果。

附图说明

图1为本申请实施例一中提供的一种密码生成方法的流程图;

图2为本申请实施例二中提供的一种电子设备的结构框图。

具体实施方式

本发明实施例提供一种密码生成方法及电子设备,用于解决现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题,实现提高令牌产生的密码的有效性的技术效果。

本发明实施例中的技术方案为解决上述的技术问题,总体思路如下:

一种密码生成方法,应用于电子设备中,所述方法包括:

检测获得用于生成密码的操作;

响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

基于所述种子文件及所述标准时间,生成密码。

在上述技术方案中,采用检测获得用于生成密码的操作;响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;基于所述种子文件及所述标准时间,生成密码的技术手段,这样,由于用于生成密码的时间为其他电子设备中的标准时间,如服务器中的标准时间或者国家授时中心的标准时间,从而即使电子设备中的系统时间被修改,其生成的密码也不会随系统时间的变化发生改变,从而保证了密码生成过程中的时间的准确性,有效解决了现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题,实现提高令牌产生的密码的有效性的技术效果。

下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。

实施例一

请参考图1,为本申请实施例一中提供的一种密码生成方法的流程图,所述方法包括:

S101:检测获得用于生成密码的操作;

S102:响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

S103:基于所述种子文件及所述标准时间,生成密码。

在现有技术中,动态口令令牌主要有两种方式:硬件令牌或者软件令牌。两者在生成密码时的原理相同,但是,在对生成密码时所需的时间因子的调整方面,两者完全不同:在硬件令牌中本身中配置有时钟,一旦时钟设置好之后,硬件令牌的时间便不会发生改变。当需要同步令牌时间和服务器的时间时,是利用硬件令牌中的时间去调整服务器的时间,从而使服务器的时间与令牌的时间相接近;而软件令牌其时间调整的过程与硬件令牌完全相反,即,是利用本机系统时间或者服务器时间去调整软件令牌中的时间,软件令牌中的时间是可以发生改变的,当没有外界干预时,本机系统时间或者服务器时间是不变的。

在具体实施过程中,所述密码生成方法应用于电子设备的软件令牌中,所述电子设备具体可以是智能手机、笔记本电脑、或者是其他设置有软件令牌的电子设备,在此,就不一一举例了。软件令牌可以运行在通用的操作系统上,也可以与远程登录客户端集成在一起,方便使用。在本申请实施例中,将以所述密码生成方法应用在笔记本电脑中的软件令牌中为例,来对本申请实施例中的方法进行详细描述。

在采用本申请实施例中的方法进行密码生成时,首先执行步骤S101,即:检测获得用于生成密码的操作。

在本申请实施例中,步骤S101的具体实现方式如下:

检测获得用于对一未完成交易进行支付的支付操作;或

检测获得用于执行一批处理文件的执行操作。

在具体实施过程中,以所述密码生成方法应用在笔记本电脑中的软件令牌中为例,软件令牌可以通过如下方式之一获得支付操作或者执行操作:

第一种方式:

在笔记本电脑上设置有操作按键,如支付按键或者对历史交易记录等进行删除的按键,当用户按压支付按键确认对交易进行支付,或者用户按压删除按键确认对历史交易记录进行删除时,笔记本电脑中的软件令牌将获取上述操作指令。在笔记本电脑的存储器中可以预存一些涉及用户的私密信息的操作,如交易操作、删除历史交易记录的操作等,当笔记本电脑通过按键检测到上述操作后,便与存储器中预存的操作进行匹配,判断当前用户的操作是否为预设操作,若是,则确定当前操作为需要生成密码的操作,便将当前操作发送至软件令牌中,从而使软件令牌获取了用于生成密码的操作。通过按键获取用于生成密码的操作,从硬件上隔离了木马程序等的威胁,提高了安全性。

第二种方式:

在笔记本电脑上设置有接收装置,该接收装置可以通过有线或者无线的方式接收用户的操作指令,例如可以通过音频接口以音频方式接收,通过USB接口接收,通过NFC方式接收,通过蓝牙方式接收,通过光传输方式接收等任意形式接收操作指令。当检测到用户的语音,如“支付账单”,则笔记本电脑则将当前语音操作发送至软件令牌,从而使软件令牌获取了用于生成密码的操作。

在执行完成步骤S101之后,本申请实施例中的方法便执行步骤S102,即:响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间。

在本申请实施例中,步骤S102的具体实现方式包括:

响应所述操作,从与所述电子设备连接的其他电子设备获得种子文件;或

响应所述操作,从所述电子设备的存储单元中获得种子文件。

在具体实施过程中,沿用上述例子,当软件令牌获取用于生成密码的操作后,软件令牌便从所述其他电子设备,如银行的服务器、银行的官网数据库等,获取用于生成密码的种子文件;或者在软件令牌的存储单元中存储有预先设定好的种子文件,则软件令牌直接从存储单元中获取所述种子文件,当然,也可以有其他获取种子文件的方法,在本申请实施例中不作限制。

所述种子文件具体为伪随机数生成器(PRNG)种子值,所述种子值就是PRNG的初始值。同一个种子值在同样结构的PRNG里每次运行都会生成相同的随机数序列。如果不知道种子值,那么生成的随机数可以说是很难预测的。一般来说软件令牌的种子长度在32位以上,在颁发令牌的时候,服务器会生成一个随机的种子值,该种子值可以同时写入服务器及令牌软件里,也可以仅保存在服务器中,当软件令牌需要生成密码时则从服务器中获取。当然,种子文件的产生也可以是通过预设的算法,如AES-128算法计算而来,在本申请实施例中不作限制。

在本申请实施例中,为了确保密码的有效性,所述标准时间具体为与所述电子设备连接的另一电子设备获得,如,与软件令牌相关的具有授时功能的服务器获得时间,或者从国家授时中心的设备上获取的时间。这样,用于生成密码的时间与系统时间不相关联,从而不管笔记本系统时间由于何种原因发生改变,用于生成密码的时间都会与服务器中或者国家授时中心的时间相一致,从而保证了软件令牌中每次生成的密码都是有效的。

在执行完成步骤S102之后,本申请实施例中的方法便执行步骤S103,即:基于所述种子文件及标准时间,生成密码。

在本申请实施例中,步骤S103的具体实现方式包括:

基于所述种子文件及所述标准时间,利用SM3算法,生成密码;或

基于所述种子文件及所述标准时间,利用HMAC-SHA1算法,生成密码。

在具体实施过程中,沿用上述例子,当软件令牌获取标准时间及种子文件后,软件令牌便基于预存的算法,如SM3算法或者HMAC-SHA1算法进行密码生成的运算。SM3算法对长度小于为2^64位的消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,即为密码。HMAC-SHA1算法利用哈希算法,以种子文件及标准时间为输入,生成一个摘要信息作为输出,所述摘要信息即为密码,在本申请实施例中不对上述算法进行详细描述。当然,本领域技术人员也可以采用其他算法生成密码,在本申请实施例中不作限制。

在本申请实施例中,为了提高安全性,防止他人盗用软件令牌进行交易,当软件令牌将生成的密码与银行的服务器进行认证之前,软件令牌还可以获取预设的提示策略,根据提示策略提示动态口令。具体的,软件令牌可以采用如下方式提示动态口令:

第一种:在笔记本电脑的显示屏上显示动态口令,以提示用户动态口令;显示动态口令只有软件令牌持有人可以查看动态口令,提高安全性。

第二种:利用笔记本电脑中的语音输出装置,例如扬声器或者耳机,通过语音播放的方式提示用户动态口令。语音播放动态口令使得无法查看动态口令的人可以知晓动态口令,方便使用。

另外,为了保证用户可以确定该交易是否为用户的真实交易,在软件令牌生成动态口令之后,软件令牌还可以将交易信息发送至笔记本电脑,以使笔记本电脑输出交易信息。只有当用户确认了交易信息正确或者为用户所需的真实交易后,发送确认指令至软件令牌,否则发送取消指令至软件令牌。由此,防止用户在不知情的情况下被他人以任意方式获得动态口令,造成损失。

例如,当软件令牌获得动态口令后,将输出此次交易信息:交易对象:淘宝网,金额为;99。提示交易信息也可以采用显示提示或者语音播放提示等任意形式。当软件令牌获取用户对交易信息的确认操作后,便将生成的密码发送至服务器进行验证,从而完成此次交易。

实施例二

基于与本申请实施例一相同的发明构思,请参考图2,为本申请实施例二中提供的一种电子设备的结构框图,包括:

第一获得单元101,用于检测获得用于生成密码的操作;

第二获得单元102,用于响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

密码生成单元103,用于基于所述种子文件及所述标准时间,生成密码。

在具体实施过程中,所述电子设备具体可以是其他设置有软件令牌的电子设备,如具有软件令牌的智能手机或者具有软件令牌的笔记本,在此,就不一一举例了。在本申请实施例中,将以所述电子设备为具有软件令牌的笔记本为例来进行详细描述。

在本申请实施例二中,第一获得单元101用于:

检测获得用于对一未完成交易进行支付的支付操作;或

检测获得用于执行一批处理文件的执行操作。

在具体实施过程中,以所述电子设备为具有软件令牌的笔记本为例,第一获得单元101具体可以是笔记本电脑上设置的操作按键,用户通过操作按键确认对交易进行支付,或者用户通过操作按键确认对历史交易记录进行删除操作,当然,也可以是其他操作,在本申请实施例中不作限制。

第一获得单元101也可以是笔记本电脑上设置的接收装置,该接收装置可以通过有线或者无线的方式接收用户的操作指令,例如可以通过音频接口以音频方式接收,通过USB接口接收,通过NFC方式接收,通过蓝牙方式接收,通过光传输方式接收等任意形式接收操作指令。通过接收装置接收操作指令,并将所述操作指令发送至软件令牌中。

在本申请实施例二中,第二获得单元102用于:

响应所述操作,从与所述电子设备连接的其他电子设备获得种子文件;或

响应所述操作,从所述电子设备的存储单元中获得种子文件。

在具体实施过程中,沿用上述例子,第二获得单元102具体可以为笔记本电脑中与软件令牌连接的数据采集模块,用于从所述其他电子设备,如银行的服务器、银行的官网数据库等,获取用于生成密码的种子文件;或者直接从笔记本电脑的软件令牌对应的存储单元中获取预先存储好的种子文件。当然,第二获得单元102也可以是其他独立的模块,在本申请实施例中不作限制。

在本申请实施例二中,密码生成单元103用于:

基于所述种子文件及所述标准时间,利用SM3算法,生成密码;或

基于所述种子文件及所述标准时间,利用HMAC-SHA1算法,生成密码。

在具体实施过程中,沿用上述例子,所述密码生成单元103具体可以是软件令牌的处理器。当处理器获取种子文件和标准时间后,便基于处理器中预存的算法,生成密码。在本申请实施例中,为了确保密码的有效性,所述标准时间为从国家授时中心的设备上获取的时间。处理器中预存的算法具体可以是SM3算法、HMAC-SHA1算法,当然,也可以是其他算法,在本申请实施例中不作限制。

为了提高安全性,防止他人盗用软件令牌进行交易,当软件令牌将生成的密码与银行的服务器进行认证之前,软件令牌的处理器还可以在笔记本电脑的显示屏上显示交易信息,如将交易对象及交易金额输出在显示屏中,当用户确认信息无误,并通过按键确认或者语音方式或者其他无线方式确认之后,软件令牌及银行服务器才能完成此次交易过程。

通过本申请实施例中的一个或多个技术方案,可以实现如下一个或多个技术效果:

由于本申请实施例中的技术方案,采用检测获得用于生成密码的操作;响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;基于所述种子文件及所述标准时间,生成密码的技术手段,这样,由于用于生成密码的时间为其他电子设备中的标准时间,如服务器中的标准时间或者国家授时中心的标准时间,从而即使电子设备中的系统时间被修改,其生成的密码也不会随系统时间的变化发生改变,从而保证了密码生成过程中的时间的准确性,有效解决了现有技术中的基于时间生成密码的方法存在无法保证密码的有效性的技术问题,实现提高令牌产生的密码的有效性的技术效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

具体来讲,本申请实施例中的密码生成方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与密码生成方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:

检测获得用于生成密码的操作;

响应所述操作,获得种子文件及从与所述电子设备连接的另一电子设备获得标准时间;

基于所述种子文件及所述标准时间,生成密码。

可选的,所述存储介质中存储的与步骤:检测获得用于生成密码的操作,对应的计算机程序指令在被执行时,包括:

检测获得用于对一未完成交易进行支付的支付操作;或

检测获得用于执行一批处理文件的执行操作。

可选的,所述存储介质中存储的与步骤:响应所述操作,获得种子文件,对应的计算机程序指令在被执行时,包括:

响应所述操作,从与所述电子设备连接的其他电子设备获得种子文件;或

响应所述操作,从所述电子设备的存储单元中获得种子文件。

可选的,所述存储介质中存储的与步骤:基于所述种子文件及标准时间,生成密码,对应的计算机程序指令在被执行时,包括:

基于所述种子文件及所述标准时间,利用SM3算法,生成密码;或

基于所述种子文件及所述标准时间,利用HMAC-SHA1算法,生成密码。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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