一种基于卡片的动态口令生成方法及设备的制造方法

文档序号:8225859阅读:285来源:国知局
一种基于卡片的动态口令生成方法及设备的制造方法
【技术领域】
[0001]本发明涉及身份认证领域,特别涉及一种基于卡片的动态口令生成方法及设备。
【背景技术】
[0002]随着网络的发展,人们越来越多的活动依赖于网络进行,如网上银行、电话银行等,网络信息安全与人们的利益密切相关,身份认证技术也随之发展,比静态口令更为安全的身份认证方法-动态口令认证方法也越来越受到人们的青睐。
[0003]目前,动态口令一般由服务器生成并以短信或者邮件的形式下发给用户或者由用户持有的动态令牌(OTP)生成。倘若短信或邮件被非法截获或者动态令牌被非法用户利用,又或者用户进行交易操作时数据被篡改、用户登录了钓鱼网站,输入的动态口令被截获,都会对用户的利益造成损害,严重影响到用户的权益。

【发明内容】

[0004]鉴于现有技术的不足,本发明提出了一种基于卡片的动态口令生成方法及设备,利用用户持有的卡片和动态口令生成设备来生成动态口令,以提高动态口令的安全性。
[0005]本发明提供的技术方案如下:一种基于卡片的动态口令生成方法,当卡片插入到设备上时,执行以下步骤:
[0006]步骤S1:所述设备上电,初始化当前运行状态为第一状态;
[0007]步骤S2:所述设备判断要执行的操作,若是数字类按键操作则执行步骤S3 ;若是状态类按键操作则执行步骤S4,否则执行步骤S5 ;
[0008]步骤S3:所述设备判断是否需要输入数字,是则根据用户对数字类按键的按下操作获得输入数据,然后返回执行步骤S2 ;否则直接返回步骤S2 ;
[0009]步骤S4:所述设备判断是否需要输入确认状态,是则根据用户对状态类按键的按下操作获得确认状态,然后返回执行步骤S2 ;否则直接返回步骤S2 ;
[0010]步骤S5:所述设备判断当前运行状态;
[0011]若是第一状态则对所述卡片上电,上电成功后向所述卡片发送预设指令,并从卡片返回的第一返回数据中获取第一数据和第二数据并保存,更新当前运行状态为第六状态,然后返回执行步骤S2;
[0012]若是第六状态则提示用户输入PIN码,并在确认状态为确认时将输入数据存储为PIN码,更新当前运行状态为第七状态,然后返回步骤S2 ;
[0013]若是第七状态则获取存储的PIN码,生成验PIN指令发送给卡片,并在卡片验PIN成功后更新当前运行状态为第八状态,然后返回步骤S2 ;
[0014]若是第八状态则根据保存的第一数据和预设缓存中存储的数据生成口令生成指令发送给卡片,从卡片返回的第二返回数据中获取口令数据并校验,并在校验成功后更新当前运行状态为第九状态,然后返回步骤S2 ;
[0015]若是第九状态则根据保存的第二数据对所述口令数据进行压缩处理,并将压缩处理后的数据格式化得到动态口令,显示所述动态口令,对所述卡片下电,初始化当前运行状态为第一状态,然后返回步骤S2。
[0016]上述步骤S5所述判断当前运行状态之后还可以包括,
[0017]若是第二状态则提示用户输入挑战码,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态,然后返回执行步骤S2;相应的,判断当前运行状态为第一状态时所述更新当前运行状态为第六状态替换为,更新当前运行状态为第二状态。
[0018]上述判断当前运行状态为第一状态时还包括根据所述卡片返回的第一返回数据设置货币标志;步骤S5所述判断当前运行状态之后还包括,
[0019]若是第三状态则判断货币标志是否置位,是则提示用户输入货币编号,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第四状态,然后返回步骤S2 ;否则更新当前运行状态为第四状态,然后返回步骤S2 ;
[0020]若是第四状态则提示用户输入金额,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态,然后返回步骤S2 ;
[0021]相应的,判断当前运行状态为第二状态时,所述更新当前运行状态为第六状态替换为更新当前运行状态为第三状态。
[0022]上述步骤S5所述判断当前运行状态之后还包括,
[0023]若是第五状态则提示用户输入签名值,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态,然后返回步骤S2;相应的,判断当前运行状态为第一状态时,所述更新当前运行状态为第六状态替换为更新当前运行状态为第五状态。
[0024]上述步骤SI还可以包括:提示用户选择模式类按键,当模式类按键被按下时,获取与用户所选模式对应的运行状态集合,然后执行步骤S2 ;步骤S5所述判断当前运行状态具体为,判断获取的所述运行状态集合下的当前运行状态。
[0025]所述获取的与用户所选模式对应的运行状态集合可以是包括第一状态、第六状态、第七状态、第八状态和第九状态,或包括第一状态、第二状态、第六状态、第七状态、第八状态和第九状态,或包括第一状态、第二状态、第三状态、第四状态、第六状态、第七状态、第八状态和第九状态,或包括第一状态、第五状态、第六状态、第七状态、第八状态和第九状态。
[0026]上述步骤S3所述判断是否需要输入数字具体为,判断数字输入标志是否为1,是则表示需要输入数字,否则表示不需要输入数字;步骤S3所述根据用户对数字类按键的按下操作获得输入数据具体为:
[0027]步骤3-1:判断位数计数标志是否小于预设值,是则将位数计数标志的值加1,根据数字输入缓存中的数值更新输入数据,然后执行步骤3-2,否则提示达到输入上限,初始化位数计数标志为0,清空数字输入缓存,然后执行步骤3-2 ;
[0028]步骤3-2:设置键值标志为O。
[0029]上述步骤S4所述判断是否需要输入确认状态具体为,判断位数计数标志是否大于0,是则表示需要输入确认状态,否则表示不需要输入确认状态;步骤S4所述根据用户对状态类按键的按下操作获得确认状态具体为:
[0030]步骤4-1:判断键值标志的值,若为第五预设值则置确认标志=1,清空数字输入缓存,初始化位数计数标志为O,执行步骤4-4 ;若为第六预设值则执行步骤4-2 ;
[0031]步骤4-2:判断位数计数标志是否为0,是则置确认标志=2,执行步骤4-4 ;否则执行步骤4-3 ;
[0032]步骤4-3:清除数字输入缓存中的一个数值,并更新输入数据,将位数计数标志的值减I,控制显示屏显示退格,执行步骤4-4 ;
[0033]步骤4_4:设置键值标志为O ;
[0034]所述确认标志=I表示获得的确认状态为确认,所述确认标志=2表示获得的确认状态为取消,所述确认标志=O表示等待获取确认状态。
[0035]本发明还提供了一种基于卡片的动态口令生成设备,包括按键和显示屏,还包括以下功能模块:
[0036]初始化模块,用于在设备上电后,初始化当前运行状态为第一状态;
[0037]第一判断模块,用于判断要执行的操作,用于判断是否需要输入数字,用于判断是否需要输入确认状态;
[0038]第一处理模块,用于在所述第一判断模块判断出要执行的操作是数字类按键操作且需要输入数字时,根据用户对数字类按键的按下操作获得输入数据;用于在所述第一判断模块判断出要执行的操作是状态类按键操作且需要输入确认状态时根据用户对状态类按键的按下操作获得确认状态;
[0039]第二判断模块,用于在所述第一判断模块判断出要执行的操作不是所述数字输入类按键操作或所述状态类按键操作时,判断当前运行状态;
[0040]第二处理模块,用于在所述第二判断模块判断出当前运行状态是第一状态时,对所述卡片上电,上电成功后向所述卡片发送预设指令,并从卡片返回的第一返回数据中获取第一数据和第二数据并保存,更新当前运行状态为第六状态;
[0041]第三处理模块,用于在所述第二判断模块判断出当前运行状态是第六状态时,提示用户输入PIN码,并在所述第一处理模块获取的当前的确认状态为确认时将所述第一处理模块获取的当前的输入数据存储为PIN码,更新当前运行状态为第七状态;
[0042]第四处理模块,用于在所述第二判断模块判断出当前运行状态是第七状态时,获取存储的PIN码,生成验PIN指令发送给卡片,并在得知卡片验PIN成功后更新当前运行状态为第八状态;
[0043]第五处理模块,用于在所述第二判断模块判断出当前运行状态是第八状态时,根据保存的第一数据和预设缓存中存储的数据生成口令生成指令发送给卡片,从卡片返回的第二返回数据中获取口令数据并校验,并在校验成功后更新当前运行状态为第九状态;
[0044]第六处理模块,用于在所述第二判断模块判断出当前运行状态是第九状态时,根据保存的第二数据对所述口令数据进行压缩处理,并将压缩处理后的数据格式化得到动态口令,显示所述动态口令,对所述卡片下电,初始化当前运行状态为第一状态。
[0045]所述设备还包括第七处理模块,用于在所述第二判断模块判断出当前运行状态是第二状态时,提示用户输入挑战码,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态;
[0046]所述第二处理模块,具体用于在所述第二判断模块判断出当前运行状态是第一状态时,对所述卡片上电,上电成功后向所述卡片发送预设指令,并从卡片返回的第一返回数据中获取第一数据和第二数据并保存,更新当前运行状态为第二状态。
[0047]所述设备还包括第八处理模块和第九处理模块,所述第八处理模块用于在所述第二判断模块判断出当前运行状态是第三状态时,判断货币标志是否置位,是则提示用户输入货币编号,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第四状态;否则更新当前运行状态为第四状态;
[0048]所述第九处理模块,用于在所述第二判断模块判断出当前运行状态是第四状态时,提示用户输入金额,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态;
[0049]所述第二处理模块,具体用于在所述第二判断模块判断出当前运行状态是第一状态时,对所述卡片上电,上电成功后向所述卡片发送预设指令,并从卡片返回的第一返回数据中获取第一数据和第二数据并保存,以及根据所述卡片返回的第一返回数据设置货币标志,更新当前运行状态为第二状态;
[0050]所述第七处理模块,具体用于在所述第二判断模块判断出当前运行状态是第二状态时,提示用户输入挑战码,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第三状态。
[0051]所述设备还包括第十处理模块,用于在所述第二判断模块判断出当前运行状态是第五状态时,提示用户输入签名值,并在确认状态为确认时获取输入数据存入预设缓存,更新当前运行状态为第六状态;
[0052]所述第二处理模块,具体用于在所述第二判断模块判断出当前运行状态是第一状态时,对所述卡片上电,上电成功后向所述卡片发送预设指令,并从卡片返回的第一返回数据中获取第一数据和第二数据并保存,更新当前运行状态为第五状态。
[0053]所述初始化模块,还用于初始化模式标志的取值与运行状态集合的对应关系,控制显示屏提示用户按下模式类按键;当模式类按键被按下时,根据模式标志获取与其对应的运行状态集合;所述初始化模块,还具体用于初始化各个运行状态集合的当前运行状态为第一状态;所述第二判断模块,还具体用于判断所述初始化模块获取的所述运行状态集合下的当前运行状态。
[0054]所述初始化模块,具体用于初始化取值为第一预设值的模式标志对应的运行状态集合为包括第一状态、第六状态、第七状态、第八状态和第九状态,和/或初始化取值为第二预设值的模式标志对应的运行状态集合为包括第一状态、第二状态、第六状态、第七状态、第八状态和第九状态,和/或初始化取值为第三预设值的模式标志对应的运行状态集合为包括第一状态、第二状态、第三状态、第四状态、第六状态、第七状态、第八状态和第九状态,和/或初始化取值为第四预设值的模式标志对应的运行状态集合为包括第一状态、第五状态、第六状态、第七状态、第八状态和第九状态。
[0055]进一步的,所述初始化模块,还用于初始化位数计数标志为初值;所述第一判断模块,还具体用于判断数字输入标志是否置位,是则表示需要输入数字,否则表示不需要输入数字;所述第一处理模块,还具体用于在第一判断模块判断出要执行的操作是数字类按键操作且需要输入数字时,判断位数计数标志是否小于预设值,是则将位数计数标志的值加1,根据数字输入缓存中的数值更新输入数据;否则控制显示屏提示达到输入上限,初始化位数计数标志为初值,清空数字输入缓存,设置键值标志为默认值。
[0056]进一步的,所述初始化模块,还用于初始化数字输入标志为第二数值,初始化位数计数标志为初值;所述第一判断模块,还具体用于判断位数计数标志是否大于初值,是则表示需要输入确认状态,否则表示不需要输入确认状态;所述第一处理模块,还具体用于用于在第一判断模块判断出要执行的操作是状态类按键操作且需要输入确认状态时,判断键值标志的值,若为第五预设值则设置确认标志为第一数值,清空数字输入缓存,初始化位数计数标志为初值并设置键值标志为默认值;若为第六预设值则判断位数计数标志是否为初值,是则设置确认标志为第三数值并设置键值标志为默认值,否则执行清除数字输入缓存中的一个数值,并更新输入数据,将位数计数标志的值减1,控制显示屏显示退格,以及设置键值标志为默认值。
[0057]本发明的有益效果在于:用户持有的卡片参与生成动态口令,保证了动态口令生成设备持有者的身份合法性;用户输入的信息参与生成动态口令,避免了数据在操作过程中被篡改的可能性;动态口令在用户处生成,避免了现有技术中出现的动态口令在由服务器传送给用户的过程中被截获的风险。
【附图说明】
[0058]图1是本发明实施例2提供的一种基于卡片的动态口令生成方法的流程图;
[0059]图2是本发明实施例2提供的一种按键中断处理流程图;
[0060]图3a_3c是图1中的动态口令生成模式流程的流程图;
[0061]图4是图1中的数字输入类处理流程的流程图;
[0062]图5是图1中的状态输入类处理流程的流程图。
【具体实施方式】
[0063]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本发明作进一步地详细描述。
[0064]实施例1
[0065]本实施例提供的一种基于卡片的动态口令生成方法,需要用户、卡片、动态口令生成设备三者的参与来完成,所述动态口令生成设备可以是与卡进行交互的各类终端设备,本实施例中以读卡器为例,该读卡器具有显示屏、数字类按键(如数字键0-9)、状态类按键(如取消键和OK键)
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1