一种安全登录的方法和系统的制作方法

文档序号:7810000阅读:260来源:国知局
一种安全登录的方法和系统的制作方法
【专利摘要】本发明公开一种安全登录的方法和系统,该方法包括:客户端向认证中心发送敏感信息下发请求;认证中心查找第二敏感信息,生成随机数、第一应答数据和应答报文,向客户端发送应答报文;客户端得到第一应答数据和第二敏感信息,将第一应答数据发送到认证设备;认证设备得到第二敏感信息和随机数,向客户端返回第二敏感信息;若客户端判断接收到的第二敏感信息与根据应答报文得到的第二敏感信息一致,则认证设备根据时间因子、预设算法以及随机数生成第一动态口令,通过客户端向认证中心发送所述第一动态口令;认证中心根据随机数、时间因子和预设算法,生成第二动态口令,判断第一动态口令与第二动态口令是否一致,是则认证成功,否则失败。
【专利说明】一种安全登录的方法和系统

【技术领域】
[0001] 本发明涉及信息安全领域,尤其涉及一种安全登录的方法和系统。

【背景技术】
[0002] 动态口令作为身份认证技术之一,目前已经被越来越多的行业所应用。由于它使 用便捷,且与平台无关性,随着移动互联网的发展,动态口令技术已成为用户登录时的身份 认证技术的主流,被广泛应用于企业、电子商务等领域,目前用于生成动态口令终端有硬件 令牌、短信密码和手机令牌。现有的基于动态口令的身份认证技术虽然方便快捷,但是在传 输动态口令的过程中,动态口令易被他人截获、篡改,因此现有的基于动态口令的登录方法 安全性差。


【发明内容】

[0003] 本发明的目的是为了克服现有技术的不足,提供一种安全登录的方法和系统,实 现安全登录。
[0004] 本发明提供的一种安全登录的方法,应用于包括客户端、认证中心和认证设备的 系统中,所述方法包括:
[0005] 步骤S1 :当所述客户端检测到触发信息后,所述客户端获取所述认证设备的认证 设备序列号和第一敏感信息标识,根据所述认证设备序列号和所述第一敏感信息标识生成 敏感信息下发请求,向所述认证中心发送所述敏感信息下发请求;
[0006] 步骤S2 :所述认证中心根据所述敏感信息下发请求中的所述第一敏感信息标识, 查找对应的第一敏感信息,并在所述认证中心查找第二敏感信息,生成随机数,将所述随机 数与所述敏感信息下发请求中的所述认证设备序列号对应存储,根据所述第一敏感信息、 所述第二敏感信息和所述随机数生成第一应答数据,根据所述第一应答数据和所述第二敏 感信息生成应答报文,向所述客户端发送所述应答报文;
[0007] 步骤S3 :所述客户端根据所述应答报文,得到第一应答数据和第二敏感信息,将 得到的第一应答数据发送到所述认证设备;
[0008] 步骤S4 :所述认证设备根据接收到的第一应答数据,得到第一敏感信息、第二敏 感信息和随机数,对得到的第一敏感信息进行显示;
[0009] 步骤S5 :当所述认证设备检测到按键被触发后,所述认证设备判断所述按键的类 型,若是第一按键则向所述客户端返回从所述第一应答数据中得到的第二敏感信息,执行 步骤S7,若是第二按键则向所述客户端返回错误码,执行步骤S6 ;
[0010] 步骤S6 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录 失败信息,结束;
[0011] 步骤S7 :所述客户端判断接收到的第二敏感信息与根据所述应答报文得到的第 二敏感信息是否一致,是则向所述认证设备发送登录指令,执行步骤S8,否则显示登录失败 信息,结束;
[0012] 步骤S8 :所述认证设备根据所述认证设备中的时间因子、预设算法以及从第一应 答数据中得到的随机数,生成第一动态口令,向所述客户端发送所述第一动态口令和所述 认证设备序列号;
[0013] 步骤S9 :所述客户端向所述认证中心发送所述第一动态口令和所述认证设备序 列号;
[0014] 步骤S10 :所述认证中心根据所述认证设备序列号查找对应的随机数,根据查找 到的随机数、所述认证中心中的时间因子和预设算法,生成第二动态口令,判断所述第一动 态口令与所述第二动态口令是否一致,是则向所述客户端发送认证成功信息,结束,否则向 所述客户端返回错误码,执行步骤S11 ;
[0015] 步骤S11 :所述客户端接收所述认证中心发送的错误码,根据所述错误码显示登 录失败信息,结束。
[0016] 所述客户端获取所述认证设备的认证设备序列号和第一敏感信息标识,具体为: 所述客户端向所述认证设备发送获取指令,接收所述认证设备返回的认证设备序列号和第 一敏感信息标识。
[0017] 所述客户端获取所述认证设备的认证设备序列号和第一敏感信息标识,具体为: 所述客户端接收用户输入的用户信息,根据所述用户信息在所述客户端内部查找对应的认 证设备序列号和第一敏感信息标识。
[0018] 所述步骤S2之前包括:
[0019] 步骤A1 :所述认证中心根据所述敏感信息下发请求,判断所述认证设备是否合 法,是则执行步骤S2,否则向所述客户端返回错误码,执行步骤A2 ;
[0020] 步骤A2 :所述客户端接收所述认证中心发送的错误码,根据所述错误码显示登录 失败信息,结束。
[0021] 所述步骤A1具体为:
[0022] 所述认证中心根据所述敏感信息下发请求中的所述认证设备序列号,查找对应的 认证设备的状态和认证设备公钥,若根据查找到的所述认证设备的状态,判断所述认证设 备可用并且所述认证设备公钥存在时,则执行步骤S2,否则向所述客户端返回错误码,执行 步骤A2。
[0023] 所述根据所述第一敏感信息、所述第二敏感信息和所述随机数生成第一应答数 据,具体为:
[0024] 所述认证中心根据所述敏感信息下发请求中的所述认证设备序列号,在所述认证 中心查找对应的认证设备公钥,所述认证中心对所述第一敏感信息、所述第二敏感信息和 所述随机数进行拼接组合,得到第一数据,根据查找到的所述认证设备公钥对所述第一数 据进行加密,得到第一加密数据,使用认证中心私钥对所述第一加密数据进行签名,得到第 一签名值,根据所述第一加密数据和所述第一签名值得到所述第一应答数据;
[0025] 所述步骤S4之前还包括:
[0026] 步骤B1 :所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行 验签,判断是否验签成功,是则执行步骤S4,否则向所述客户端返回错误码,执行步骤B2 ;
[0027] 步骤B2 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录 失败信息,结束;
[0028] 所述认证设备根据接收到的第一应答数据,得到第一敏感信息、第二敏感信息和 随机数,具体为:
[0029] 所述认证设备根据认证设备私钥对接收到的第一应答数据中的第一加密数据进 行解密,得到第一数据,对得到的第一数据进行拆分,得到第一敏感信息、第二敏感信息和 随机数。
[0030] 所述根据所述第一加密数据和所述第一签名值得到所述第一应答数据,具体为:
[0031] 所述认证中心对所述第一加密数据进行base64编码,得到第一字符数据,对所述 第一签名值进行base64编码,得到第二字符数据,对所述第一字符数据和所述第二字符数 据进行组合拼接,生成所述第一应答数据;
[0032] 所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行验签,具 体为:
[0033] 所述认证设备对接收到的第一应答数据中的第一字符数据进行base64解码,得 到第一加密数据,对第一应答数据中的第二字符数据进行base64解码,得到第一签名值, 根据base64解码得到的第一加密数据和第一签名值对第一应答数据进行验签。
[0034] 所述根据所述第一加密数据和所述第一签名值得到所述第一应答数据,具体为:
[0035] 所述认证中心对所述第一加密数据和所述第一签名值进行组合拼接,得到第二数 据,对所述第二数据进行base64编码,得到所述第一应答数据;
[0036] 所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行验签,具 体为:
[0037] 所述认证设备对接收到的第一应答数据进行base64解码,得到第二数据,根据 base64解码得到的第二数据中的第一加密数据和第一签名值对第一应答数据进行验签。 [0038] 所述对第一应答数据进行验签,具体为:
[0039] 所述认证设备根据认证中心公钥对第一签名值进行运算,得到第一验证数据,判 断运算得到的所述第一验证数据与base64解码得到的第一加密数据是否一致,是则确定 验签成功,否则确定验签失败。
[0040] 所述根据所述第一应答数据和所述第二敏感信息生成应答报文,具体为:
[0041] 所述认证中心将所述第一应答数据和所述第二敏感信息进行组合拼接,生成应答 报文;
[0042] 所述根据所述应答报文,得到第一应答数据和第二敏感信息,具体为:
[0043] 所述客户端对所述应答报文进行拆分,得到第一应答数据和第二敏感信息。
[0044] 所述步骤S3还包括:所述客户端显示所述第二敏感信息;
[0045] 所述步骤S5中当所述认证设备检测到所述第一按键被触发后,还包括:所述认证 设备显示从第一应答数据中得到的第二敏感信息。
[0046] 所述步骤S7中向所述认证设备发送登录指令之前还包括:
[0047] 步骤C1 :所述客户端根据所述认证设备序列号判断所述认证设备是否已与用户 绑定,是则执行步骤C3,否则执行步骤C2 ;
[0048] 步骤C2 :所述客户端提示所述用户进行注册,接收所述用户输入的用户信息,根 据接收到的所述用户信息将所述用户与所述认证设备进行绑定,执行步骤C3 ;
[0049] 步骤C3 :所述客户端向所述认证设备发送所述登录指令。
[0050] 所述客户端根据所述认证设备序列号判断所述认证设备是否已与用户绑定,具体 为:
[0051] 所述客户端判断是否能够在所述客户端内部查找到与所述认证设备序列号对应 的用户信息,是则确定所述认证设备已与所述用户绑定,否则确定所述认证设备未与所述 用户绑定。
[0052] 所述根据接收到的所述用户信息将所述用户与所述认证设备进行绑定,具体为: 所述客户端将接收到的所述用户信息与所述认证设备序列号对应进行存储,完成绑定。
[0053] 所述步骤S7中所述客户端判断接收到的所述第二敏感信息与根据所述应答报文 得到的所述第二敏感信息一致之后,还包括:
[0054] 所述客户端获取与所述认证设备对应的用户信息;
[0055] 所述步骤S9之前包括:所述客户端根据所述用户信息判断所述用户是否合法,是 则执行步骤S9,否则显示登录失败信息,结束。
[0056] 所述客户端根据所述用户信息判断所述用户是否合法,具体为:
[0057] 所述客户端根据所述用户信息查找对应的用户状态,判断所述用户状态是否异 常,是则确定所述用户不合法,否则确定所述用户合法。
[0058] 所述步骤S8之前还包括:
[0059] 步骤D1 :所述认证设备接收到所述登录指令后,提示用户是否登录;
[0060] 步骤D2 :当所述认证设备检测到按键被触发后,所述认证设备判断按键的类型, 若是第一按键则执行步骤S8,若是第二按键则向所述客户端返回错误码,执行步骤D3 ;
[0061] 步骤D3 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录 失败信息,结束。
[0062] 所述认证设备根据所述认证设备中的时间因子、所述预设算法以及从第一应答数 据中得到的随机数,生成第一动态口令,具体为:
[0063] 步骤E1 :所述认证设备根据所述认证设备中的时间因子、所述预设算法以及从第 一应答数据中得到的随机数,生成第一明文动态口令;
[0064] 步骤E2 :所述认证设备根据认证中心公钥对所述第一明文动态口令进行加密,得 到第一密文动态口令;
[0065] 步骤E3 :所述认证设备使用认证设备私钥对所述第一密文动态口令进行签名,得 到第二签名值;
[0066] 步骤E4:所述认证设备根据所述第一密文动态口令和所述第二签名值,得到所述 第一动态口令;
[0067] 所述步骤S10具体为:
[0068] 步骤F1 :所述认证中心根据所述认证设备公钥对接收到的所述第一动态口令进 行验签,判断是否验签成功,是则执行步骤F2,否则向所述客户端返回错误码,执行步骤 S11 ;
[0069] 步骤F2 :所述认证中心根据所述认证设备序列号查找对应的随机数,根据所述随 机数、所述认证中心中的时间因子和预设算法生成第二明文动态口令,根据认证中心私钥 对所述第一动态口令中的第一密文动态口令进行解密,得到第一明文动态口令;
[0070] 步骤F3 :所述认证中心判断所述第一明文动态口令和所述第二明文动态口令是 否一致,是则向客户端发送认证成功信息,结束,否则向客户端返回错误码,执行步骤Sll。
[0071] 所述认证设备根据所述第一密文动态口令和所述第二签名值,得到所述第一动态 口令,包括:
[0072] 所述认证设备对所述第一密文动态口令进行base64编码,得到第三字符数据,对 所述第二签名值进行base64编码,得到第四字符数据,对所述第三字符数据和所述第四字 符数据进行组合拼接,得到所述第一动态口令;
[0073] 所述认证中心根据所述认证设备公钥对所述第一动态口令进行验签,具体为:
[0074] 所述认证中心对所述第一动态口令进行拆分,得到第三字符数据和第四字符数 据,对得到的第三字符数据进行base64解码,得到第一密文动态口令,对得到的第四字符 数据进行base64解码,得到第二签名值,根据认证设备公钥对base64解码得到的第二签名 值进行运算,得到第二验证数据,判断运算得到的所述第二验证数据与base64解码得到的 第一密文动态口令是否一致,是则确定验签成功,否则确定验签失败。
[0075] 所述认证中心判断接收到的所述第一动态口令与生成的所述第二动态口令一致 之后,还包括:清除所述随机数;
[0076] 所述步骤S10中生成第二动态口令之前包括:
[0077] 所述认证中心判断是否查找到随机数,是则继续,否则向所述客户端返回错误码, 执行步骤S11。
[0078] 本发明提供的一种安全登录的系统,所述系统包括客户端、认证中心和认证设 备;
[0079] 所述客户端包括:第一检测模块、第一获取模块、第一生成模块、第一发送模块、第 一接收模块、第一处理模块、第一显示模块和第一判断模块;
[0080] 所述第一检测模块,用于检测是否有触发信息;
[0081] 所述第一获取模块,用于当所述第一检测模块检测到触发信息后,获取所述认证 设备的认证设备序列号和第一敏感信息标识;
[0082] 所述第一生成模块,用于根据所述第一获取模块获取到的所述认证设备序列号和 所述第一敏感信息标识生成敏感信息下发请求;
[0083] 所述第一发送模块,用于向所述认证中心发送所述第一生成模块生成的所述敏感 信息下发请求;向所述认证设备发送所述第一处理模块得到的第一应答数据;当所述第一 判断模块判断所述第一接收模块接收到的第二敏感信息与所述第一处理模块得到的第二 敏感信息一致时,向所述认证设备发送登录指令;当所述第一接收模块接收到所述认证设 备发送的第一动态口令和认证设备序列号后,向所述认证中心发送所述第一动态口令和所 述认证设备序列号;
[0084] 所述第一接收模块,用于接收所述认证中心发送的应答报文,接收所述认证设备 发送的错误码,接收所述认证设备发送的第二敏感信息,接收所述认证设备发送的第一动 态口令和认证设备序列号,接收所述认证中心发送的认证成功信息,接收所述认证中心发 送的错误码;
[0085] 所述第一处理模块,用于根据所述第一接收模块接收到的所述应答报文,得到第 一应答数据和第二敏感信息;
[0086] 所述第一显示模块,用于根据所述第一接收模块接收到的错误码显示登录失败信 息,当所述第一判断模块判断所述第一接收模块接收到的第二敏感信息与所述第一处理模 块得到的第二敏感信息不一致时,显示登录失败信息;
[0087] 所述第一判断模块,用于判断所述第一接收模块接收到的第二敏感信息与所述第 一处理模块得到的第二敏感信息是否一致;
[0088] 所述认证中心包括:第二接收模块、第一查找模块、第二生成模块、第三生成模块、 第四生成模块、第二发送模块、第二查找模块、第五生成模块和第二判断模块;
[0089]所述第二接收模块,用于接收所述客户端发送的所述敏感信息下发请求,接收所 述客户端发送的所述第一动态口令和所述认证设备序列号;
[0090] 所述第一查找模块,用于根据所述第二接收模块接收到的所述敏感信息下发请求 中的所述第一敏感信息标识,查找对应的第一敏感信息,并在所述认证中心查找第二敏感 信息;
[0091] 所述第二生成模块,用于生成随机数,将所述随机数与所述第二接收模块接收到 的所述敏感信息下发请求中的所述认证设备序列号对应存储;
[0092] 所述第三生成模块,用于根据所述第一查找模块查找到的所述第一敏感信息、所 述第二敏感信息和所述第二生成模块生成的所述随机数,生成第一应答数据;
[0093] 所述第四生成模块,用于根据所述第三生成模块生成的所述第一应答数据和所述 第一查找模块查找到的所述第二敏感信息,生成应答报文;
[0094] 所述第二发送模块,用于向所述客户端发送所述第四生成模块生成的所述应答报 文,当所述第二判断模块判断所述第二接收模块接收到的所述第一动态口令与所述第五生 成模块生成的第二动态口令一致时,向所述客户端发送认证成功信息,当所述第二判断模 块判断所述第二接收模块接收到的所述第一动态口令与所述第五生成模块生成的第二动 态口令不一致时,向所述客户端返回错误码;
[0095] 所述第二查找模块,用于根据所述第二接收模块接收到的所述认证设备序列号查 找对应的随机数;
[0096] 所述第五生成模块,用于根据所述第二查找模块查找到的所述随机数、所述认证 中心中的时间因子和预设算法,生成第二动态口令;
[0097] 所述第二判断模块,用于判断所述第二接收模块接收到的所述第一动态口令与所 述第五生成模块生成的所述第二动态口令是否一致;
[0098] 所述认证设备包括:第三接收模块、第二处理模块、第二显示模块、第二检测模块、 第三判断模块、第三发送模块和第六生成模块;
[0099]所述第三接收模块,用于接收所述客户端发送的第一应答数据,接收所述客户端 发送的所述登录指令;
[0100] 所述第二处理模块,用于根据所述第三接收模块接收到的所述第一应答数据,得 到第一敏感信息、第二敏感信息和随机数;
[0101] 所述第二显示模块,用于对所述第二处理模块得到的所述第一敏感信息进行显 示;
[0102] 所述第二检测模块,用于当所述第二显示模块对第一敏感信息进行显示时,检测 按键是否被触发;
[0103] 所述第三判断模块,用于当所述第二检测模块检测到按键被触发后,判断所述按 键的类型;
[0104] 所述第三发送模块,用于向所述客户端发送所述第六生成模块生成的第一动态口 令,当所述第三判断模块判断所述按键为第一按键时,向所述客户端返回所述第二处理模 块得到的第二敏感信息,当所述第三判断模块判断所述按键为第二按键时,向所述客户端 返回错误码;
[0105] 所述第六生成模块,用于当所述第三接收模块接收到所述登录指令后,根据所述 认证设备中的时间因子、预设算法以及所述第二处理模块得到的随机数,生成第一动态口 令。
[0106] 所述第一发送模块还用于向所述认证设备发送获取指令;
[0107] 所述第一接收模块还用于接收所述认证设备返回的认证设备序列号和第一敏感 信息标识。
[0108] 所述第一接收模块还用于接收用户输入的用户信息;
[0109] 所述第一获取模块具体用于根据所述第一接收模块接收到的所述用户信息,在所 述客户端内部查找对应的认证设备序列号和第一敏感信息标识。
[0110] 所述认证中心还包括:第四判断模块,用于根据所述第二接收模块接收到的所述 敏感信息下发请求,判断所述认证设备是否合法;
[0111] 所述第一查找模块,还用于当所述第四判断模块判断所述认证设备合法后,进行 工作;
[0112] 所述第二发送模块,还用于当所述第四判断模块判断所述认证设备不合法后,向 所述客户端返回错误码。
[0113] 所述第四判断模块具体用于根据所述第二接收模块接收到的所述敏感信息下发 请求中的所述认证设备序列号,查找对应的认证设备的状态和认证设备公钥,若根据查找 到的所述认证设备的状态,判断所述认证设备可用并且所述认证设备公钥存在,则确定所 述认证设备合法,否则确定所述认证设备不合法。
[0114] 所述第三生成模块,包括:第一查找单元、第一组合单元、第一加密单元、第一签名 单元和第一处理单元;
[0115] 所述第一查找单元,用于根据所述敏感信息下发请求中的所述认证设备序列号, 在所述认证中心查找对应的认证设备公钥;
[0116] 所述第一组合单元,用于对所述第一敏感信息、所述第二敏感信息和所述随机数 进行拼接组合,得到第一数据;
[0117] 所述第一加密单元,用于根据所述第一查找单元查找到的所述认证设备公钥对所 述第一数据进行加密,得到第一加密数据;
[0118] 所述第一签名单元,用于使用认证中心私钥对所述第一加密数据进行签名,得到 第一签名值;
[0119] 所述第一处理单元,用于根据所述第一加密数据和所述第一签名值得到所述第一 应答数据;
[0120] 所述认证设备还包括第一验签模块;所述第一验签模块,用于根据存储的认证中 心公钥,对所述第三接收模块接收到的第一应答数据进行验签,判断是否验签成功;
[0121] 所述第二处理模块还用于当所述第一验签模块判断验签成功后,进行工作;
[0122] 所述第三发送模块还用于当所述第一验签模块判断验签失败后,向所述客户端返 回错误码;
[0123] 所述第二处理模块,具体用于根据认证设备私钥对所述第三接收模块接收到的第 一应答数据中的第一加密数据进行解密,得到第一数据,对得到的第一数据进行拆分,得到 第一敏感信息、第二敏感信息和随机数。
[0124] 所述第一处理单元具体用于对所述第一加密数据进行base64编码,得到第一字 符数据,对所述第一加密数据进行base64编码,得到第二字符数据,对所述第一字符数据 和所述第二字符数据进行组合拼接,生成所述第一应答数据;
[0125] 所述第一验签模块具体用于对所述第三接收模块接收到的第一应答数据中的第 一字符数据进行base64解码,得到第一加密数据,对第一应答数据中的第二字符数据进行 base64解码,得到第一签名值,根据base64解码得到的第一加密数据和第一签名值对第一 应答数据进行验签。
[0126] 所述第一处理单元具体用于对所述第一加密数据和所述第一签名值进行组合拼 接,得到第二数据,对所述第二数据进行base64编码,得到所述第一应答数据;
[0127] 所述第一验签模块具体用于对所述第三接收模块接收到的第一应答数据进行 base64解码,得到第二数据,根据base64解码得到的第二数据中的第一加密数据和第一签 名值对第一应答数据进行验签。
[0128] 所述第一验签模块,具体用于根据认证中心公钥对第一签名值进行运算,得到第 一验证数据,判断运算得到的所述第一验证数据与base64解码得到的第一加密数据是否 一致,是则确定验签成功,否则确定验签失败。
[0129] 所述第四生成模块,具体用于将所述第一应答数据和所述第二敏感信息进行组合 拼接,生成应答报文;
[0130] 所述第一处理模块,具体用于对所述应答报文进行拆分,得到第一应答数据和第 二敏感信息。
[0131] 所述第一显示模块还用于显示所述第一处理模块处理得到的第二敏感信息;
[0132] 所述第二显示模块还用于显示所述第二处理模块得到的第二敏感信息。
[0133] 所述客户端还包括:第五判断模块和注册模块;
[0134] 所述第五判断模块,用于在所述第一判断模块判断所述第一接收模块接收到的第 二敏感信息与所述第一处理模块得到的第二敏感信息一致时,根据所述认证设备序列号判 断所述认证设备是否已与用户绑定;
[0135] 所述注册模块,用于在所述第五判断模块判断所述认证设备未与用户绑定后,提 示所述用户进行注册,接收所述用户输入的用户信息,根据接收到的所述用户信息将所述 用户与所述认证设备进行绑定;
[0136] 所述第一发送模块,具体用于所述注册模块工作完成后,向所述认证设备发送所 述登录指令,当所述第五判断模块判断所述认证设备已与用户绑定后,向所述认证设备发 送所述登录指令。
[0137] 所述第五判断模块具体用于判断是否能够在所述客户端内部查找到与所述认证 设备序列号对应的用户信息,是则确定所述认证设备已与所述用户绑定,否则确定所述认 证设备未与所述用户绑定。
[0138] 所述注册模块具体用于提示所述用户进行注册,接收所述用户输入的用户信息, 将接收到的所述用户信息与所述认证设备序列号对应进行存储,完成绑定。
[0139] 所述客户端还包括:第二获取模块和第六判断模块;
[0140] 所述第二获取模块,用于所述第一判断模块判断所述第一接收模块接收到的第二 敏感信息与所述第一处理模块得到的第二敏感信息一致时,获取与所述认证设备对应的用 户信息;
[0141] 所述第六判断模块,用于根据所述第二获取模块获取到的所述用户信息判断所述 用户是否合法;
[0142] 所述第一发送模块还用于在所述第六判断模块判断所述用户合法后,向所述认证 中心发送所述第一动态口令和所述认证设备序列号;
[0143] 所述第一显示模块还用于在所述第六判断模块判断所述用户不合法后,显示登录 失败息。
[0144] 所述第六判断模块具体用于根据所述用户信息查找对应的用户状态,判断所述用 户状态是否异常,是则确定所述用户不合法,否则确定所述用户合法。
[0145] 所述第二显示模块,还用于在所述第三接收模块接收到所述登录指令后,提示用 户是否登录;
[0146] 所述第二检测模块,还用于所述第二显示模块提示用户是否登录后,检测按键是 否被触发;
[0147] 所述第三判断模块,还用于所述第二检测模块检测到按键被触发后,判断按键的 类型;
[0148] 所述第六生成模块还用于所述第三判断模块判断出第一按键被触发后,进行工 作;
[0149] 所述第三发送模块还用于所述第三判断模块判断出第二按键被触发后,向所述客 户端返回错误码。
[0150] 所述第六生成模块包括:第一生成单元、第二加密单元、第二签名单元和第二处理 单元;
[0151] 所述第一生成单元,用于根据所述认证设备中的时间因子、所述预设算法以及随 机数,生成第一明文动态口令;
[0152] 所述第二加密单元,用于根据认证中心公钥对所述第一生成单元生成的所述第一 明文动态口令进行加密,得到第一密文动态口令;
[0153] 所述第二签名单元,用于使用认证设备私钥对所述第二加密单元加密得到的所述 第一密文动态口令进行签名,得到第二签名值;
[0154] 所述第二处理单元,用于根据所述第二加密单元加密得到的所述第一密文动态口 令和所述第二签名单元得到的所述第二签名值,得到所述第一动态口令;
[0155] 所述认证中心还包括:第二验签模块、第七生成模块和第七判断模块;
[0156] 所述第二验签模块,用于根据所述认证设备公钥对所述第二接收模块接收到的所 述第一动态口令进行验签,判断是否验签成功;
[0157] 所述第七生成模块,用于在所述第二验签模块判断验签成功后,根据所述认证设 备序列号查找对应的随机数,根据所述随机数、所述认证中心中的时间因子和预设算法生 成第二明文动态口令,根据认证中心私钥对所述第一动态口令中的第一密文动态口令进行 解密,得到第一明文动态口令;
[0158] 所述第二发送模块还用于在所述第二验签模块判断验签失败后,向所述客户端返 回错误码;
[0159] 所述第七判断模块,用于判断所述第七生成模块得到的第一明文动态口令和所述 第二明文动态口令是否一致;
[0160] 所述第二发送模块还用于在所述第七判断模块判断所述第七生成模块得到的第 一明文动态口令和所述第二明文动态口令一致后,向客户端发送认证成功信息,在所述第 七判断模块判断所述第七生成模块得到的第一明文动态口令和所述第二明文动态口令不 一致后,向所述客户端返回错误码。
[0161] 所述第二处理单元具体用于对所述第一密文动态口令进行base64编码,得到第 三字符数据,对所述第二签名值进行base64编码,得到第四字符数据,对所述第三字符数 据和所述第四字符数据进行组合拼接,得到所述第一动态口令;
[0162] 所述第二验签模块,具体用于对所述第一动态口令进行拆分,得到第三字符数据 和第四字符数据,对得到的第三字符数据进行base64解码,得到第一密文动态口令,对得 到的第四字符数据进行base64解码,得到第二签名值,根据认证设备公钥对base64解码 得到的第二签名值进行运算,得到第二验证数据,判断运算得到的所述第二验证数据与 base64解码得到的第一密文动态口令是否一致,是则确定验签成功,否则确定验签失败。
[0163] 所述认证中心还包括清除模块和第八判断模块;
[0164] 所述清除模块,用于在所述第二判断模块判断所述第一动态口令与所述第二动态 口令一致后,清除所述随机数;
[0165] 所述第八判断模块,用于判断是否查找到随机数;
[0166] 所述第五生成模块,用于所述第八判断模块判断查找到随机数后,进行工作;
[0167] 所述第二发送模块还用于所述第八判断模块判断未查找到随机数后,向所述客户 端返回错误码。
[0168] 本发明与现有技术相比,具有以下优点:
[0169] 本发明提供的一种安全登录的方法和系统,认证中心向客户端下发明文形式的敏 感信息,向认证设备发送加密签名后的敏感信息,客户端和认证设备分别显示敏感信息,用 户确认后认证设备产生动态口令,向认证中心返回动态口令,认证中心根据接收到的动态 口令对用户的身份进行认证,从而实现安全登录。

【专利附图】

【附图说明】
[0170] 图1是本发明实施例1提供的一种安全登录的方法的流程图;
[0171] 图2和图3是本发明实施例2提供的一种安全登录的方法的流程图;
[0172] 图4是本发明实施例3提供的一种安全登录的系统的模块图。

【具体实施方式】
[0173] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0174] 本方法应用于包括认证设备、客户端与认证中心的系统中。
[0175] 实施例1
[0176] 本发明的实施例1提供了一种安全登录的方法,如图1所示,包括:
[0177] 步骤S1 :当客户端检测到触发信息后,客户端获取认证设备的认证设备序列号和 第一敏感信息标识,根据认证设备序列号和第一敏感信息标识生成敏感信息下发请求,向 认证中心发送敏感信息下发请求;
[0178] 步骤S2 :认证中心根据敏感信息下发请求中的第一敏感信息标识,查找对应的第 一敏感信息,并在所述认证中心查找第二敏感信息,生成随机数,将随机数与敏感信息下发 请求中的认证设备序列号对应存储,根据第一敏感信息、第二敏感信息和随机数生成第一 应答数据,根据第一应答数据和第二敏感信息生成应答报文,向客户端发送应答报文;
[0179] 步骤S3 :客户端根据应答报文,得到第一应答数据和第二敏感信息,将得到的第 一应答数据发送到认证设备;
[0180] 步骤S4 :认证设备根据接收到的第一应答数据,得到第一敏感信息、第二敏感信 息和随机数,对得到的第一敏感信息进行显示;
[0181] 步骤S5 :当认证设备检测到按键被触发后,认证设备判断按键的类型,若是第一 按键则向客户端返回从第一应答数据中得到的第二敏感信息,执行步骤S7,若是第二按键 则向客户端返回错误码,执行步骤S6 ;
[0182] 步骤S6 :客户端接收认证设备发送的错误码,根据错误码显示登录失败信息,结 束;
[0183] 步骤S7 :客户端判断接收到的第二敏感信息与根据应答报文得到的第二敏感信 息是否一致,是则向认证设备发送登录指令,执行步骤S8,否则显示登录失败信息,结束;
[0184] 步骤S8 :认证设备根据认证设备中的时间因子、预设算法以及从第一应答数据中 得到的随机数,生成第一动态口令,向客户端发送第一动态口令和认证设备序列号;
[0185] 步骤S9 :客户端向认证中心发送第一动态口令和认证设备序列号;
[0186] 步骤S10 :认证中心根据认证设备序列号查找对应的随机数,根据查找到的随机 数、认证中心中的时间因子和预设算法,生成第二动态口令,判断第一动态口令与第二动态 口令是否一致,是则向客户端发送认证成功信息,结束,否则向客户端返回错误码,执行步 骤 S11 ;
[0187] 步骤S11 :客户端接收认证中心发送的错误码,根据错误码显示登录失败信息,结 束。
[0188] 实施例2
[0189] 本发明的实施例2提供了一种安全登录的方法,如图2和图3所示,包括:
[0190] 步骤101 :当客户端检测到触发信息后,客户端获取认证设备的认证设备序列号 和第一敏感信息标识,根据认证设备序列号和第一敏感信息标识生成敏感信息下发请求, 向认证中心发送敏感信息下发请求;
[0191] 具体地,获取认证设备的认证设备序列号和第一敏感信息标识的方法可以为:客 户端向认证设备发送获取指令,接收认证设备返回的认证设备序列号和第一敏感信息标 识;除此之外,还可以为:客户端接收用户输入的用户信息,根据用户信息在客户端内部查 找对应的认证设备序列号和第一敏感信息标识;
[0192] 例如,认证设备序列号为"1000313600001",第一敏感信息标识为"icbc";
[0193] 步骤102 :认证中心接收敏感信息下发请求,根据接收到的敏感信息下发请求,判 断认证设备是否合法,是则执行步骤104,否则向客户端返回错误码,执行步骤103 ;
[0194] 具体地,认证中心根据敏感信息下发请求中的认证设备序列号,查找对应的认证 设备的状态和认证设备公钥,若根据查找到的认证设备的状态,判断该认证设备可用并且 认证设备公钥存在时,则确定认证设备合法,否则确定认证设备不合法;
[0195] 步骤103 :客户端接收认证中心发送的错误码,根据错误码显示登录失败信息,结 束;
[0196] 步骤104 :认证中心根据敏感信息下发请求中的第一敏感信息标识,查找对应的 第一敏感信息,并在认证中心查找第二敏感信息;
[0197] 例如,查找到的第一敏感信息为" icbc95585",查找到的第二敏感信息为 "unionpay";
[0198] 步骤105 :认证中心生成随机数,将生成的随机数与认证设备序列号对应存储,根 据第一敏感信息、第二敏感信息和随机数生成第一应答数据;
[0199] 具体地,认证中心根据敏感信息下发请求中的认证设备序列号,在认证中心查找 对应的认证设备公钥,认证中心对第一敏感信息、第二敏感信息和随机数进行拼接组合,得 到第一数据,根据查找到的认证设备公钥对第一数据进行加密,得到第一加密数据,使用认 证中心私钥对第一加密数据进行签名,得到第一签名值,根据第一加密数据和第一签名值 得到第一应答数据;其中,根据第一加密数据和第一签名值得到第一应答数据,具体为:认 证中心对第一加密数据进行base64编码,得到第一字符数据,对第一签名值进行base64编 码,得到第二字符数据,对得到的第一字符数据和第二字符数据进行组合拼接,生成第一应 答数据;
[0200] 例如,认证中心生成的随机数为"12345678",认证设备序列号"1000313600001";
[0201] 认证中心生成第一应答数据具体包括:
[0202] 认证中心对第一敏感信息、第二敏感信息和随机数进行拼接组合,得到第一数据 为:
[0203] icbc95585[#*#]unionpay[#*#]12345678
[0204] 认证中心先根据认证设备公钥对第一数据进行加密,得到第一加密数据为:
[0205] [22, _85,7,21,_114,69, -34, _89,68, -117, -110, -22, _71,99,79,114,18, -21, 7,-73,78,116,-82,109,-56,-50,-87,-57,-111,-118,-52,-84, 77,-116, 71,60,-23,-47, 42,-88,81,2,63,-66,-109,86, 79, 38, 26,69,9, 38,-43,-45,-40,-73,-15, 2,87,-50,-7, 33,102, -12,80,67,13, -7,96,23, -103,1, -121,71,8,96,65,31, -71,58,43, -92, 83, -28,123,72, -29,80, -113,14,92, -88,40,109,108, -85, -96,19, -27, -65,30, -73, 118, -122, -32,18,3, -101,-66, -58, -43, -6, -124,111,-109, -30, -49,9, -27, -94,41, 122, -99, -73, -18,115,31,-35]
[0206] 认证中心对第一加密数据进行base64编码,得到第一字符数据为:
[0207] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobWyroBPl vx63dobgEgOb vsbV+oRvk+LPCeWiKXqdt+5zH90 =
[0208] 认证中心使用认证中心私钥对第一加密数据进行签名,得到第一签名值为:
[0209] [80,-14, 105, 46,-110,-89,-93, 40,-75, 67,_119,119, 103, -49, -28, -2, -7, -112,25, -85, _118,99,3,87,8, -96,58, -74, -127, -15,8, -92, 83, _127,72,0, -121,88, -110,101, -4, -13,63,24,119,74, -105, -110, -68, -1, 69, -110, -16, -59,124, -45,67,21, -72,78,21, -56, -5,126,97, -3, -55,92,62,81, 31,3, -83, -54,64,35, -100, -101,71, -126, -105,30, -82, -72, -103,102,56,2,29, 35, -82, -104, -118,78, -77, -50,122,32, _72,52,50,38,34, -106,6, -57,53, -11,70, 76,-12,22,-109,-66,-93,68,-76,4, -30,98,-48,4, -2,28,12,43,-55,36]
[0210] 认证中心对第一签名值进行base64编码,得到第二字符数据为:
[0211] UPJpLpKnoyilQ413Z8/k/vmQGauKYwNXCKA6toHxCKRTgUgAhliSZfzzPxh3SpeS vP9F kvDFfNNDFbh0Fcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4Ah0jrpiKTrP0eiC4NDImIpYGxzXlR kzOFpO+oOSOBOJiOAT+HAwrySQ =
[0212] 认证中心对第一字符数据和第二字符数据进行组合拼接,生成第一应答数据为:
[0213] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ =
[0214] 除此之外,认证中心根据第一加密数据和第一签名值得到第一应答数据,也可以 为:先根据认证设备公钥对第一数据进行加密,得到第一加密数据,使用认证中心私钥对第 一加密数据进行签名,得到第一签名值,对第一加密数据和第一签名值进行组合拼接,得到 第二数据,认证中心再对第二数据进行base64编码,得到第一应答数据;
[0215] 步骤106 :认证中心根据第一应答数据和第二敏感信息生成应答报文,向客户端 发送应答报文;
[0216] 具体地,认证中心将第一应答数据和第二敏感信息进行组合拼接,生成应答报 文;
[0217] 例如,认证中心根据第一应答数据和第二敏感信息生成的应答报文为:
[0218] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ = [#*#]unionpay
[0219] 步骤107 :客户端接收应答报文,根据接收到的应答报文得到第一应答数据和第 二敏感信息,显示第二敏感信息,向认证设备发送第一应答数据;
[0220] 具体地,客户端对接收到的应答报文进行拆分,得到第一应答数据和第二敏感信 息;
[0221] 例如,客户端接收到的应答报文为:
[0222] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ = [#*#]unionpay
[0223] 拆分得到的第一应答数据为:
[0224] FqsHFY5F3qdEi5LquffNPchLrB7d0dK5tyM6px5GKzKxNjEc86dEqqFECP76TVk8m GkUJ JtXT2LfxAlf0+SFm9FBDDflgF5kBh0cIYEEfuTorpFPke0jjUI80XKgobffyroBPl vx63dobgEg0b vsbV+oRvk+LPCeffiKXqdt+5zH90 = [#*#]UPJpLpKnoyilQ413Z8/k/vm QGauKYwNXCKA6toHxCK RTgUgAhliSZfzzPxh3SpeSvP9FkvDFfNNDFbhOFcj7fmH9yVw+UR8DrcpAI5ybR4KXHq64mffY4AhO jrpiKTrP0eiC4NDImIpYGxzXlRkz0Fp0+o0S0B0J iOAT+HAwrySQ =
[0225] 拆分得到的第二敏感信息为:unionpay ;客户端显示第二敏感信息"unionpay" ;
[0226] 步骤108 :认证设备接收第一应答数据,根据预设的认证中心公钥对第一应答数 据进行验签,判断是否验签成功,是则执行步骤110,否则向客户端返回错误码,执行步骤 109 ;
[0227] 具体地,认证设备获取第一应答数据中的第一加密数据和第一签名值,根据第一 加密数据和第一签名值对第一应答数据进行验签;
[0228] 例如,认证设备对第一应答数据中的第一字符数据进行base64解码,得到第一加 密数据,认证设备对第一应答数据中的第二字符数据进行base64解码,得到第一签名值, 认证设备根据base64解码得到的第一加密数据和第一签名值对第一应答数据进行验签;
[0229] 认证设备对第一应答数据中的第一字符数据进行base64解码,得到第一加密数 据为:
[0230] [22, -85,7,21,-114,69, -34, -89,68, -117, -110, -22, -71,99,79,114,18, -21, 7,-73,78,116,-82,109,-56,-50,-87,-57,-111,-118,-52,-84, 77,-116, 71,60,-23,-47, 42, -88,81,2,63, -66, -109,86, 79, 38, 26,69,9, 38, -43,-45, -40, -73,-15, 2,87,-50, -7, 33,102, -12,80,67,13, -7,96,23, -103,1, -121,71,8,96,65,31, -71,58,43, -92, 83, -28,123,72, -29,80, -113,14,92, -88,40,109,108, -85, -96,19, -27, -65,30, -73, 118, -122, -32,18,3, -101,-66, -58, -43, -6, -124,111,-109, -30, -49,9, -27, -94,41, 122, -99, -73, -18,115,31,-35]
[0231] 认证设备对第一应答数据中的第二字符数据进行base64解码,得到第一签名值 为:
[0232] [80,-14, 105, 46,-110,-89,-93, 40,-75, 67,_119,119, 103, -49, -28, -2, -7, -112,25, -85, _118,99,3,87,8, -96,58, -74, -127, -15,8, -92, 83, _127,72,0, -121,88, -110,101, -4, -13,63,24,119,74, -105, -110, -68, -1, 69, -110, -16, -59,124, -45,67,21, -72,78,21, -56, -5,126,97, -3, -55,92,62,81, 31,3, -83, -54,64,35, -100, -101,71, -126, -105,30, -82, -72, -103,102,56,2,29, 35, -82, -104, -118,78, -77, -50,122,32, _72,52,50,38,34, -106,6, -57,53, -11,70, 76,-12,22,-109,-66,-93,68,-76,4, -30,98,-48,4, -2,28,12,43,-55,36]
[0233] 认证设备根据认证中心公钥对base64解码得到的第一签名值进行运算,得到第 一验证数据,判断运算得到的第一验证数据与base64解码得到的第一加密数据是否一致, 是则确定验签成功,否则确定验签失败;
[0234] 除此之外,认证设备也可以:对第一应答数据进行base64解码,得到第二数据,认 证设备根据解密得到的第二数据中的第一加密数据和第二数据中的第一签名值对第一应 答数据进行验签;
[0235] 步骤109 :客户端接收认证设备发送的错误码,根据错误码显示登录失败信息,结 束;
[0236] 步骤110 :认证设备根据第一应答数据得到第一敏感信息、第二敏感信息和随机 数;
[0237] 具体地,认证设备根据认证设备私钥对第一应答数据中的第一加密数据进行解 密,得到第一敏感信息、第二敏感信息和随机数;
[0238] 例如,认证设备根据认证设备私钥对第一应答数据中的第一加密数据进行解密, 得到第一数据为:
[0239] icbc95585[#*#]unionpay[#*#]12345678
[0240] 认证设备对第一数据进行拆分,得到的第一敏感信息为"icbc95585",第二敏感信 息为 "unionpay",随机数为 " 12345678" ;
[0241] 步骤111 :认证设备显示第一敏感信息;
[0242] 例如,认证设备显示第一敏感信息"icbc95585" ;
[0243] 步骤112 :当认证设备检测到按键被触发后,认证设备判断按键的类型,若是第一 按键则执行步骤114,若是第二按键则向客户端返回错误码,执行步骤113 ;
[0244] 优选地,本实施例中,第一按键为确认键,第二按键为取消键;
[0245] 步骤113 :客户端接收认证设备发送的错误码,根据错误码显示登录失败信息,结 束;
[0246] 步骤114 :认证设备显示第二敏感信息,向客户端返回第二敏感信息;
[0247] 例如,认证设备显示第二敏感信息"unionpay" ;
[0248] 步骤115 :客户端接收认证设备发送的第二敏感信息,判断接收到的第二敏感信 息与根据应答报文得到的第二敏感信息是否一致,是则执行步骤116,否则显示登录失败信 息,结束;
[0249] 例如,本实施中,客户端根据应答报文得到的第二敏感信息为"unionpay",客户端 接收到的第二敏感信息也为"unionpay",则接收到的第二敏感信息与根据应答报文得到的 第二敏感信息一致;
[0250] 步骤116 :客户端根据认证设备序列号判断认证设备是否已与用户绑定,是则执 行步骤118,否则执行步骤117;
[0251] 具体地,客户端判断是否能够在客户端内部查找到与认证设备序列号对应的用户 信息,是则确定认证设备已与用户绑定,否则确定认证设备未与用户绑定;该步骤判断认证 设备已与用户绑定后,还包括客户端获取与认证设备对应的用户信息;
[0252] 步骤117 :客户端提示用户进行注册,接收用户输入的用户信息,根据接收到的用 户信息将用户与认证设备进行绑定,执行步骤118 ;
[0253] 具体地,客户端将接收到的用户信息与认证设备序列号对应进行存储,完成绑 定;
[0254] 步骤118 :客户端向认证设备发送登录指令;
[0255] 步骤119 :认证设备接收登录指令,提示用户是否登录;
[0256] 步骤120 :当认证设备检测到按键被触发后,认证设备判断按键的类型,若是第一 按键则执行步骤122,若是第二按键则向客户端返回错误码,执行步骤121 ;
[0257] 优选地,本实施例中,第一按键为确认键,第二按键为取消键;
[0258] 步骤121 :客户端接收认证设备发送的错误码,根据错误码显示登录失败信息,结 束;
[0259] 步骤122 :认证设备根据从第一应答数据中得到的随机数、认证设备中的时间因 子和预设算法,生成第一动态口令,向客户端发送第一动态口令和认证设备序列号;
[0260] 例如,从第一应答数据中得到的随机数为"12345678",根据从第一应答数据中得 到的随机数、认证设备中的时间因子和预设算法产生的第一动态口令为"654321";
[0261] 本实施例中,认证设备根据随机数和预设算法产生第一动态口令的过程可以放在 步骤110、步骤111、步骤114、步骤119和步骤122中的任意一个步骤中;
[0262] 除此之外,认证设备产生第一动态口令的方法还可以为:
[0263] 步骤122-1 :认证设备根据从第一应答数据中得到的随机数、认证设备中的时间 因子和预设算法,生成第一明文动态口令;
[0264] 例如,从第一应答数据中得到的随机数为12345678,生成的第一明文动态口令为: 654321 ;
[0265] 步骤122-2 :认证设备使用认证中心公钥对第一明文动态口令进行加密,得到第 一密文动态口令;
[0266] 例如,第一密文动态口令为:
[0267] [38,-90,-125,-5,111,-113,87,-48, -104,120,105,30,23,70,-9,93,-128,55, 25,91,-53, -93, -83, -1,89,107, -12,69, -61,-100, -61,-22, 35,49, 79, -66, 79, -125,19, 57,63,95,-44,61,127,19,-4,91,103,-32,-86,62,78,48,56,-10,126,-34,114,-49,-63, 4,-107,26,-38, -116,51,113, _117,48,61,38,109, -101,26, -25,62,14, -102,115,105, 22,-25,-20,50,-2,16, -35, -34,82,66,67,127, _59,62, _89,97,62,54,24,88,2, _47,22, 97, -87, -103, -32, -82, -126,60, -116, -125, -120,125,125,74,85, -44, -52, -52,102, 102, -12, -106, -30, 25, -23]
[0268] 步骤122-3 :认证设备根据认证设备私钥对第一密文动态口令进行签名,得到第 二签名值;
[0269] 例如,第二签名值为:
[0270] [64,105,108,61,68, -80,64, -1, -12, -7,10,73,93, -67,29,85,112, -54, -50, 107, -101,-125,70, -48, -64, -123, -45,45,35, -53, -34,112, -67, -128, -127, 67,49,47,51,84,114, -83, -72, -68, -6, -34, -97, -83, _108,39,74,55, -66,66, 59, -77, -27, -118,42, -56,95, -86,47,95,49, -45, -45,24, -117,74,13, -91,119, 67, -107, -114, -60, -34, -1,20,94, -115,113, -124,82,40, -111,50, -71,62, -95, -36, 19,111,_125,83,-64, _38,50,20,36,20,-120, _127,58,2,16, _128,48,-3, _113,64,-81, 113, -115,75, -77, -68, -40, -109,126,84,26,11,37,58,110,127]
[0271] 步骤122-4 :认证设备根据第一密文动态口令和第二签名值,得到第一动态口令;
[0272] 具体地,认证设备对第一密文动态口令进行base64编码,得到第三字符数据,对 第二签名值进行base64编码,得到第四字符数据,对第三字符数据和第四字符数据进行组 合拼接,得到第一动态口令;
[0273] 例如,认证设备根据第一密文动态口令和第二签名值,得到第一动态口令,包括:
[0274] 认证设备对第一密文动态口令进行base64编码,得到第三字符数据为:
[0275] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPI1lGGfIfsaV8D9JfVd/wgNu =
[0276] 认证设备对第二签名值进行base64编码,得到第四字符数据为:
[0277] QGlsPUSwQP/0+QpJXb0dVXDKzmubg0bQwIXTLSPL3nC9gIFDMS8zVHKtuLz63p+t lCdK N75C07P1iirIX6ovXzHT0xiLSg21d00VjsTe/xRejXGEUiiRMrk+odwTb4NTwNoy FCQUiIE6AhCA MP2PQK9xjUuzvNiTflQaCyU6bn8 =
[0278] 认证设备对第三字符数据和第四字符数据进行组合拼接,得到第一动态口令为:
[0279] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S+lHBQXL0j ++V504MPIllGGflfsaV8D9JfVd/wgNu = [#*#] QGlsPUSwQP/O+QpJXbOdVX DKzmubgObQwIXTLS PL3nC9gIFDMS8zVHKtuLz63p+tlCdKN75C07PliirIX6ovXzHT0x iLSg21dOOVjsTe/xRejXGEUi iRMrk+odwTb4NTwNoyFCQUiIE6AhCAMP2PQK9xjUuzvN iTflQaCyU6bn8 =
[0280] 步骤123 :客户端接收第一动态口令和认证设备序列号,根据用户信息判断用户 是否合法,是则执行步骤124,否则显示登录失败信息,结束;
[0281] 具体为,客户端根据用户信息查找对应的用户状态,判断用户状态是否异常,是则 确定用户不合法,否则用户合法;
[0282] 步骤124 :客户端向认证中心发送第一动态口令和认证设备序列号;
[0283] 例如,第一动态口令为"654321",认证设备序列号为"1000313600001";
[0284] 步骤125 :认证中心接收第一动态口令和认证设备序列号,根据认证设备序列号 查找对应的随机数,判断是否查找到随机数,是则执行步骤126,否则向客户端返回错误码, 执行步骤127 ;
[0285] 本实施例中,该步骤之前,还包括:
[0286] 认证中心接收第一动态口令和认证设备序列号,根据认证设备公钥对第一动态口 令进行验签,判断是否验签成功,是则执行步骤125,否则向客户端返回错误码,执行步骤 127 ;
[0287] 具体地,认证中心对第一动态口令进行拆分,得到第三字符数据和第四字符数据, 对得到的第三字符数据进行base64解码,得到第一密文动态口令,对得到的第四字符数据 进行base64解码,得到第二签名值,根据认证设备公钥对base64解码得到的第二签名值进 行运算,得到第二验证数据,判断运算得到的第二验证数据与base64解码得到的第一密文 动态口令是否一致,是则确定验签成功,否则确定验签失败。
[0288] 例如,认证中心接收到的第一动态口令为:
[0289] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPIllGGflfsaV8D9JfVd/wgNu = [#*#] QGlsPUSwQP/O+QpJXbOdVX DKzmubgObQwIXTL SPL3nC9gIFDMS8zVHKtuLz63p+tlCdKN75C07PliirIX6ovXzHT0x iLSg21dOOVjsTe/xRejXGEU iiRMrk+odwTb4NTwNoyFCQUiIE6AhCAMP2PQK9xjUuzvN iTflQaCyU6bn8 =
[0290] 认证中心对第一动态口令进行拆分,得到第三字符数据和第四字符数据,分别为: 第三字符数据为:
[0291] fPhTri05/nXaJ4z3B7vzdGGoZ//+lnrddNXVHmTtAyPSmb/9z+P24CTUc3JygoHQ ucd6AfUqz8m+zK0Z9BpzKACnJ/0hPj4J9yX8oKDFW5pjuPt8kdEuq8IZyzrsnc0gPy0S +1HBQXL0 j++V504MPI1lGGfIfsaV8D9JfVd/wgNu =
[0292] 第四字符数据为:
[0293] QGlsPUSwQP/0+QpJXb0dVXDKzmubg0bQwIXTLSPL3nC9gIFDMS8zVHKtuLz63p+t lCdK N75C07P1iirIX6ovXzHT0xiLSg21d00VjsTe/xRejXGEUiiRMrk+odwTb4NTwNoy FCQUiIE6AhCA MP2PQK9xjUuzvNiTflQaCyU6bn8 =
[0294] 认证中心对第三字符数据进行base64解码,得到第一密文动态口令为:
[0295] [38,-90,-125,-5,111,_113,87,-48, -104,120,105,30,23,70, _9,93, _128,55, 25,91,-53, -93, -83, -1,89,107, -12,69, -61,-100, -61,-22, 35,49, 79, -66, 79, -125,19, 57,63,95,-44,61,127,19,-4,91,103,-32,-86,62,78,48,56,-10,126,-34,114,-49,-63, 4, -107,26,-38, -116,51,113, _117,48,61,38,109, -101,26, -25,62,14, -102,115,105, 22,-25,-20,50,-2,16,-35, _34,82,66,67,127, _59,62, _89,97,62,54,24,88,2, _47,22, 97, -87, -103, -32, -82, -126,60, -116, -125, -120,125,125,74,85, -44, -52, -52,102, 102, -12, -106, -30, 25, -23]
[0296] 认证中心对第四字符数据进行base64解码,得到第二签名值为:
[0297] [64,105,108,61,68, -80,64, -1, -12, -7,10,73,93, -67,29,85,112, -54, -50, 107, -101,-125,70, -48, -64, -123, -45,45,35, -53, -34,112, -67, -128, -127, 67,49,47,51,84,114, -83, -72, -68, -6, -34, -97, -83, _108,39,74,55, -66,66, 59, -77, -27, -118,42, -56,95, -86,47,95,49, -45, -45,24, -117,74,13, -91,119, 67, -107, -114, -60, -34, -1,20,94, -115, 113, -124,82,40, -111,50, -71,62, -95, -36, 19,111,_125,83,-64, _38,50,20,36,20,-120, _127,58,2,16, _128,48,-3, _113,64,-81, 113, -115,75, -77, -68, -40, -109,126,84,26,11,37,58,110,127]
[0298] 认证中心根据认证设备公钥对base64解码得到的第二签名值进行运算,得到第 二验证数据,判断运算得到的第二验证数据与base64解码得到的第一密文动态口令是否 一致,是则确定验签成功,否则确定验签失败;
[0299] 步骤126 :认证中心根据查找到的随机数、认证中心中的时间因子和预设算法,生 成第二动态口令,判断接收到的第一动态口令与生成的第二动态口令是否一致,是则向客 户端发送认证成功信息,结束,否则向客户端返回错误码,执行步骤127 ;
[0300] 具体地,该步骤判断接收到的第一动态口令与生成的第二动态口令一致后,还包 括:认证中心清除生成的随机数;
[0301] 例如,认证中心根据认证设备序列号" 1000313600001"查找到的对应的随机数为 "12345678",根据查找到的随机数、认证中心中的时间因子和预设算法产生的第二动态口 令为"654321",由于生成的第二动态口令与接收到的第一动态口令一致,则认证成功;
[0302] 除此之外,步骤126包括:
[0303] 步骤126-1 :认证中心根据查找到的随机数、认证中心中的时间因子和预设算法 生成第二明文动态口令,根据认证中心私钥对第一动态口令中的第一密文动态口令进行解 密,得到第一明文动态口令;
[0304] 例如,认证中心根据认证设备序列号查找对应的随机数为12345678,根据随机数、 认证中心中的时间因子和预设算法生成第二明文动态口令为:654321 ;使用认证中心私钥 对第一动态口令中的第一密文动态口令进行解密,得到第一明文动态口令为:654321 ;
[0305] 步骤126-2 :认证中心判断解密得到的第一明文动态口令和生成的第二明文动态 口令是否一致,是则向客户端发送认证成功信息,结束,否则向客户端返回错误码,执行步 骤 127 ;
[0306] 具体地,该步骤判断判断解密得到的第一明文动态口令和生成的第二明文动态口 令一致后,还包括:认证中心清除生成的随机数;
[0307] 步骤127 :客户端接收认证中心发送的错误码,根据错误码显示登录失败信息,结 束;
[0308] 本实施例中提供的一种安全登录的方法,认证中心向客户端下发明文形式的敏感 信息,向认证设备发送加密签名后的敏感信息,客户端和认证设备分别显示敏感信息,用户 确认后认证设备产生动态口令,向认证中心返回动态口令,认证中心根据接收到的动态口 令对用户的身份进行认证,从而实现安全登录。
[0309] 实施例3
[0310] 本发明的实施例3提供了一种安全登录的系统,如图4所示,包括:客户端、认证中 心和认证设备;
[0311] 客户端包括:第一检测模块201、第一获取模块202、第一生成模块203、第一发送 模块204、第一接收模块205、第一处理模块206、第一显不模块207和第一判断模块208 ;
[0312] 第一检测模块201,用于检测是否有触发信息;
[0313] 第一获取模块202,用于当第一检测模块201检测到触发信息后,获取认证设备的 认证设备序列号和第一敏感信息标识;
[0314] 第一生成模块203,用于根据第一获取模块202获取到的认证设备序列号和第一 敏感信息标识生成敏感信息下发请求;
[0315] 第一发送模块204,用于向认证中心发送第一生成模块203生成的敏感信息下发 请求;向认证设备发送第一处理模块206得到的第一应答数据;当第一判断模块208判断 第一接收模块205接收到的第二敏感信息与第一处理模块206得到的第二敏感信息一致 时,向认证设备发送登录指令;当第一接收模块205接收到认证设备发送的第一动态口令 和认证设备序列号后,向认证中心发送第一动态口令和认证设备序列号;
[0316] 第一接收模块205,用于接收认证中心发送的应答报文,接收认证设备发送的错误 码,接收认证设备发送的第二敏感信息,接收认证设备发送的第一动态口令和认证设备序 列号,接收认证中心发送的认证成功信息,接收认证中心发送的错误码;
[0317] 第一处理模块206,用于根据第一接收模块205接收到的应答报文,得到第一应答 数据和第二敏感信息;
[0318] 第一显示模块207,用于根据第一接收模块205接收到的错误码显示登录失败信 息,当第一判断模块208判断第一接收模块205接收到的第二敏感信息与第一处理模块206 得到的第二敏感信息不一致时,显示登录失败信息;
[0319] 第一判断模块208,用于判断第一接收模块205接收到的第二敏感信息与第一处 理模块206得到的第二敏感信息是否一致;
[0320] 认证中心包括:第二接收模块301、第一查找模块302、第二生成模块303、第三生 成模块304、第四生成模块305、第二发送模块306、第二查找模块307、第五生成模块308和 第二判断模块309 ;
[0321] 第二接收模块301,用于接收客户端发送的敏感信息下发请求,接收客户端发送的 第一动态口令和认证设备序列号;
[0322] 第一查找模块302,用于根据第二接收模块301接收到的敏感信息下发请求中的 第一敏感信息标识,查找对应的第一敏感信息,并在所述认证中心查找第二敏感信息;
[0323] 第二生成模块303,用于生成随机数,将随机数与第二接收模块301接收到的敏感 信息下发请求中的认证设备序列号对应存储;
[0324] 第三生成模块304,用于根据第一查找模块302查找到的第一敏感信息、第二敏感 信息和第二生成模块303生成的随机数,生成第一应答数据;
[0325] 第四生成模块305,用于根据第三生成模块304生成的第一应答数据和第一查找 模块302查找到的第二敏感信息,生成应答报文;
[0326] 第二发送模块306,用于向客户端发送第四生成模块305生成的应答报文,当第二 判断模块309判断第二接收模块301接收到的第一动态口令与第五生成模块308生成的第 二动态口令一致时,向客户端发送认证成功信息,当第二判断模块309判断第二接收模块 301接收到的第一动态口令与第五生成模块308生成的第二动态口令不一致时,向客户端 返回错误码;
[0327] 第二查找模块307,用于根据第二接收模块301接收到的认证设备序列号查找对 应的随机数;
[0328] 第五生成模块308,用于根据第二查找模块307查找到的随机数、认证中心中的时 间因子和预设算法,生成第二动态口令;
[0329] 第二判断模块309,用于判断第二接收模块301接收到的第一动态口令与第五生 成模块308生成的第二动态口令是否一致;
[0330] 认证设备包括:第三接收模块401、第二处理模块402、第二显示模块403、第二检 测模块404、第三判断模块405、第三发送模块406和第六生成模块407 ;
[0331] 第三接收模块401,用于接收客户端发送的第一应答数据,接收客户端发送的登录 指令;
[0332] 第二处理模块402,用于根据第三接收模块401接收到的第一应答数据,得到第一 敏感信息、第二敏感信息和随机数;
[0333] 第二显示模块403,用于对第二处理模块402得到的第一敏感信息进行显示;
[0334] 第二检测模块404,用于当第二显示模块403对第一敏感信息进行显示时,检测按 键是否被触发;
[0335] 第三判断模块405,用于当第二检测模块404检测到按键被触发后,判断按键的类 型;
[0336] 第三发送模块406,用于向客户端发送第六生成模块407生成的第一动态口令,当 第三判断模块405判断按键为第一按键时,向客户端返回第二处理模块402得到的第二敏 感信息,当第三判断模块405判断按键为第二按键时,向客户端返回错误码;
[0337] 第六生成模块407,用于当第三接收模块401接收到登录指令后,根据认证设备中 的时间因子、预设算法以及第二处理模块402得到的随机数,生成第一动态口令。
[0338] 第一发送模块204还用于向认证设备发送获取指令;
[0339] 第一接收模块205还用于接收认证设备返回的认证设备序列号和第一敏感信息 标识。
[0340] 第一接收模块205还用于接收用户输入的用户信息;
[0341] 第一获取模块202具体用于根据第一接收模块205接收到的用户信息,在客户端 内部查找对应的认证设备序列号和第一敏感信息标识。
[0342] 认证中心还包括:第四判断模块,用于根据第二接收模块301接收到的敏感信息 下发请求,判断认证设备是否合法;
[0343] 第一查找模块302,还用于当第四判断模块判断认证设备合法后,进行工作;
[0344] 第二发送模块306,还用于当第四判断模块判断认证设备不合法后,向客户端返回 错误码。
[0345] 第四判断模块具体用于根据第二接收模块301接收到的敏感信息下发请求中的 认证设备序列号,查找对应的认证设备的状态和认证设备公钥,若根据查找到的认证设备 的状态,判断认证设备可用并且认证设备公钥存在,则确定认证设备合法,否则确定认证设 备不合法。
[0346] 第三生成模块304,包括:第一查找单元、第一组合单元、第一加密单元、第一签名 单元和第一处理单元;
[0347] 第一查找单元,用于根据敏感信息下发请求中的认证设备序列号,在认证中心查 找对应的认证设备公钥;
[0348] 第一组合单元,用于对第一敏感信息、第二敏感信息和随机数进行拼接组合,得到 第一数据;
[0349] 第一加密单元,用于根据第一查找单元查找到的认证设备公钥对第一数据进行加 密,得到第一加密数据;
[0350] 第一签名单元,用于使用认证中心私钥对第一加密数据进行签名,得到第一签名 值;
[0351] 第一处理单元,用于根据第一加密数据和第一签名值得到第一应答数据;
[0352] 认证设备还包括第一验签模块;第一验签模块,用于根据存储的认证中心公钥,对 第三接收模块401接收到的第一应答数据进行验签,判断是否验签成功;
[0353] 第二处理模块402还用于当第一验签模块判断验签成功后,进行工作;
[0354] 第三发送模块406还用于当第一验签模块判断验签失败后,向客户端返回错误 码;
[0355] 第二处理模块402,具体用于根据认证设备私钥对第三接收模块401接收到的第 一应答数据中的第一加密数据进行解密,得到第一数据,对得到的第一数据进行拆分,得到 第一敏感信息、第二敏感信息和随机数。
[0356] 第一处理单元具体用于对第一加密数据进行base64编码,得到第一字符数据,对 第一加密数据进行base64编码,得到第二字符数据,对第一字符数据和第二字符数据进行 组合拼接,生成第一应答数据;
[0357] 第一验签模块具体用于对第三接收模块401接收到的第一应答数据中的第一 字符数据进行base64解码,得到第一加密数据,对第一应答数据中的第二字符数据进行 base64解码,得到第一签名值,根据base64解码得到的第一加密数据和第一签名值对第一 应答数据进行验签。
[0358] 第一处理单元具体用于对第一加密数据和第一签名值进行组合拼接,得到第二数 据,对第二数据进行base64编码,得到第一应答数据;
[0359] 第一验签模块具体用于对第三接收模块401接收到的第一应答数据进行base64 解码,得到第二数据,根据base64解码得到的第二数据中的第一加密数据和第一签名值对 第一应答数据进行验签。
[0360] 第一验签模块,具体用于根据认证中心公钥对第一签名值进行运算,得到第一验 证数据,判断运算得到的第一验证数据与base64解码得到的第一加密数据是否一致,是则 确定验签成功,否则确定验签失败。
[0361] 第四生成模块305,具体用于将第一应答数据和第二敏感信息进行组合拼接,生成 应答报文;
[0362] 第一处理模块206,具体用于对应答报文进行拆分,得到第一应答数据和第二敏感 信息。
[0363] 第一显示模块207还用于显示第一处理模块206处理得到的第二敏感信息;
[0364] 第二显示模块403还用于显示第二处理模块402得到的第二敏感信息。
[0365] 客户端还包括:第五判断模块和注册模块;
[0366] 第五判断模块,用于在第一判断模块208判断第一接收模块205接收到的第二敏 感信息与第一处理模块206得到的第二敏感信息一致时,根据认证设备序列号判断认证设 备是否已与用户绑定;
[0367] 注册模块,用于当第五判断模块判断认证设备未与用户绑定后,提示用户进行注 册,接收用户输入的用户信息,根据接收到的用户信息将用户与认证设备进行绑定;
[0368] 第一发送模块204,具体用于注册模块工作完成后,向认证设备发送登录指令,当 第五判断模块判断认证设备已与用户绑定后,向认证设备发送登录指令。
[0369] 第五判断模块具体用于判断是否能够在客户端内部查找到与认证设备序列号对 应的用户信息,是则确定认证设备已与用户绑定,否则确定认证设备未与用户绑定。
[0370] 注册模块具体用于提示用户进行注册,接收用户输入的用户信息,将接收到的用 户信息与认证设备序列号对应进行存储,完成绑定。
[0371] 客户端还包括:第二获取模块和第六判断模块;
[0372] 第二获取模块,用于第一判断模块208判断第一接收模块205接收到的第二敏感 信息与第一处理模块206得到的第二敏感信息一致时,获取与认证设备对应的用户信息;
[0373] 第六判断模块,用于根据第二获取模块获取到的用户信息判断用户是否合法;
[0374] 第一发送模块204还用于在第六判断模块判断用户合法后,向认证中心发送第一 动态口令和认证设备序列号;
[0375] 第一显示模块207还用于在第六判断模块判断用户不合法后,显示登录失败信 肩、。
[0376] 第六判断模块具体用于根据用户信息查找对应的用户状态,判断用户状态是否异 常,是则确定用户不合法,否则确定用户合法。
[0377] 第二显示模块403,还用于在第三接收模块401接收到登录指令后,提示用户是否 登录;
[0378] 第二检测模块404,还用于在第二显示模块403提示用户是否登录后,检测按键是 否被触发;
[0379] 第三判断模块405,用于第二检测模块404检测到按键被触发后,判断按键的类 型;
[0380] 第六生成模块407还用于第三判断模块405判断出第一按键被触发后,进行工 作;
[0381] 第三发送模块406还用于第三判断模块405判断出第二按键被触发后,向客户端 返回错误码。
[0382] 第六生成模块407包括:第一生成单元、第二加密单元、第二签名单元和第二处理 单元;
[0383] 第一生成单元,用于根据认证设备中的时间因子、预设算法以及随机数,生成第一 明文动态口令;
[0384] 第二加密单元,用于根据认证中心公钥对第一生成单元生成的第一明文动态口令 进行加密,得到第一密文动态口令;
[0385] 第二签名单元,用于使用认证设备私钥对第二加密单元加密得到的第一密文动态 口令进行签名,得到第二签名值;
[0386] 第二处理单元,用于根据第二加密单元加密得到的第一密文动态口令和第二签名 单元得到的第二签名值,得到第一动态口令;
[0387] 认证中心还包括:第二验签模块、第七生成模块和第七判断模块;
[0388] 第二验签模块,用于根据认证设备公钥对第二接收模块301接收到的第一动态口 令进行验签,判断是否验签成功;
[0389] 第七生成模块,用于在第二验签模块判断验签成功后,根据认证设备序列号查找 对应的随机数,根据随机数、认证中心中的时间因子和预设算法生成第二明文动态口令, 根据认证中心私钥对第一动态口令中的第一密文动态口令进行解密,得到第一明文动态口 令;
[0390] 第二发送模块306还用于在第二验签模块判断验签失败后,向客户端返回错误 码;
[0391] 第七判断模块,用于判断第七生成模块得到的第一明文动态口令和第二明文动态 口令是否一致;
[0392] 第二发送模块306还用于在第七判断模块判断第七生成模块得到的第一明文动 态口令和第二明文动态口令一致后,向客户端发送认证成功信息,在第七判断模块判断第 七生成模块得到的第一明文动态口令和第二明文动态口令不一致后,向客户端返回错误 码。
[0393] 第二处理单元具体用于对第一密文动态口令进行base64编码,得到第三字符数 据,对第二签名值进行base64编码,得到第四字符数据,对第三字符数据和第四字符数据 进行组合拼接,得到第一动态口令;
[0394] 第二验签模块,具体用于对第一动态口令进行拆分,得到第三字符数据和第四字 符数据,对得到的第三字符数据进行base64解码,得到第一密文动态口令,对得到的第四 字符数据进行base64解码,得到第二签名值,根据认证设备公钥对base64解码得到的第二 签名值进行运算,得到第二验证数据,判断运算得到的第二验证数据与base64解码得到的 第一密文动态口令是否一致,是则确定验签成功,否则确定验签失败。
[0395] 认证中心还包括清除模块和第八判断模块;
[0396] 清除模块,用于在第二判断模块309判断第一动态口令与第二动态口令一致后, 清除随机数;
[0397] 第八判断模块,用于判断是否查找到随机数;
[0398] 第五生成模块308,用于第八判断模块判断查找到随机数后,进行工作;
[0399] 第二发送模块306还用于第八判断模块判断未查找到随机数后,向客户端返回错 误码。
[〇4〇〇] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本【技术领域】的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
【权利要求】
1. 一种安全登录的方法,应用于包括客户端、认证中心和认证设备的系统中,其特征在 于,所述方法包括: 步骤S1 :当所述客户端检测到触发信息后,所述客户端获取所述认证设备的认证设备 序列号和第一敏感信息标识,根据所述认证设备序列号和所述第一敏感信息标识生成敏感 信息下发请求,向所述认证中心发送所述敏感信息下发请求; 步骤S2 :所述认证中心根据所述敏感信息下发请求中的所述第一敏感信息标识,查找 对应的第一敏感信息,并在所述认证中心查找第二敏感信息,生成随机数,将所述随机数与 所述敏感信息下发请求中的所述认证设备序列号对应存储,根据所述第一敏感信息、所述 第二敏感信息和所述随机数生成第一应答数据,根据所述第一应答数据和所述第二敏感信 息生成应答报文,向所述客户端发送所述应答报文; 步骤S3 :所述客户端根据所述应答报文,得到第一应答数据和第二敏感信息,将得到 的第一应答数据发送到所述认证设备; 步骤S4 :所述认证设备根据接收到的第一应答数据,得到第一敏感信息、第二敏感信 息和随机数,对得到的第一敏感信息进行显示; 步骤S5 :当所述认证设备检测到按键被触发后,所述认证设备判断所述按键的类型, 若是第一按键则向所述客户端返回从所述第一应答数据中得到的第二敏感信息,执行步骤 S7,若是第二按键则向所述客户端返回错误码,执行步骤S6 ; 步骤S6 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录失败 信息,结束; 步骤S7 :所述客户端判断接收到的第二敏感信息与根据所述应答报文得到的第二敏 感信息是否一致,是则向所述认证设备发送登录指令,执行步骤S8,否则显示登录失败信 息,结束; 步骤S8 :所述认证设备根据所述认证设备中的时间因子、预设算法以及从第一应答数 据中得到的随机数,生成第一动态口令,向所述客户端发送所述第一动态口令和所述认证 设备序列号; 步骤S9 :所述客户端向所述认证中心发送所述第一动态口令和所述认证设备序列号; 步骤S10 :所述认证中心根据所述认证设备序列号查找对应的随机数,根据查找到的 随机数、所述认证中心中的时间因子和预设算法,生成第二动态口令,判断所述第一动态口 令与所述第二动态口令是否一致,是则向所述客户端发送认证成功信息,结束,否则向所述 客户端返回错误码,执行步骤S11 ; 步骤S11 :所述客户端接收所述认证中心发送的错误码,根据所述错误码显示登录失 败信息,结束。
2. 根据权利要求1所述的方法,其特征在于,所述客户端获取所述认证设备的认证设 备序列号和第一敏感信息标识,具体为:所述客户端向所述认证设备发送获取指令,接收所 述认证设备返回的认证设备序列号和第一敏感信息标识。
3. 根据权利要求1所述的方法,其特征在于,所述客户端获取所述认证设备的认证设 备序列号和第一敏感信息标识,具体为:所述客户端接收用户输入的用户信息,根据所述用 户信息在所述客户端内部查找对应的认证设备序列号和第一敏感信息标识。
4. 根据权利要求1所述的方法,其特征在于,所述步骤S2之前包括: 步骤A1 :所述认证中心根据所述敏感信息下发请求,判断所述认证设备是否合法,是 则执行步骤S2,否则向所述客户端返回错误码,执行步骤A2 ; 步骤A2 :所述客户端接收所述认证中心发送的错误码,根据所述错误码显示登录失败 信息,结束。
5. 根据权利要求4所述的方法,其特征在于,所述步骤A1具体为: 所述认证中心根据所述敏感信息下发请求中的所述认证设备序列号,查找对应的认证 设备的状态和认证设备公钥,若根据查找到的所述认证设备的状态,判断所述认证设备可 用并且所述认证设备公钥存在时,则执行步骤S2,否则向所述客户端返回错误码,执行步骤 A2。
6. 根据权利要求1所述的方法,其特征在于,所述根据所述第一敏感信息、所述第二敏 感信息和所述随机数生成第一应答数据,具体为: 所述认证中心根据所述敏感信息下发请求中的所述认证设备序列号,在所述认证中心 查找对应的认证设备公钥,所述认证中心对所述第一敏感信息、所述第二敏感信息和所述 随机数进行拼接组合,得到第一数据,根据查找到的所述认证设备公钥对所述第一数据进 行加密,得到第一加密数据,使用认证中心私钥对所述第一加密数据进行签名,得到第一签 名值,根据所述第一加密数据和所述第一签名值得到所述第一应答数据; 所述步骤S4之前还包括: 步骤B1 :所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行验 签,判断是否验签成功,是则执行步骤S4,否则向所述客户端返回错误码,执行步骤B2 ; 步骤B2 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录失败 信息,结束; 所述认证设备根据接收到的第一应答数据,得到第一敏感信息、第二敏感信息和随机 数,具体为: 所述认证设备根据认证设备私钥对接收到的第一应答数据中的第一加密数据进行解 密,得到第一数据,对得到的第一数据进行拆分,得到第一敏感信息、第二敏感信息和随机 数。
7. 根据权利要求6所述的方法,其特征在于,所述根据所述第一加密数据和所述第一 签名值得到所述第一应答数据,具体为: 所述认证中心对所述第一加密数据进行base64编码,得到第一字符数据,对所述第一 签名值进行base64编码,得到第二字符数据,对所述第一字符数据和所述第二字符数据进 行组合拼接,生成所述第一应答数据; 所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行验签,具体 为: 所述认证设备对接收到的第一应答数据中的第一字符数据进行base64解码,得到第 一加密数据,对第一应答数据中的第二字符数据进行base64解码,得到第一签名值,根据 base64解码得到的第一加密数据和第一签名值对第一应答数据进行验签。
8. 根据权利要求6所述的方法,其特征在于,所述根据所述第一加密数据和所述第一 签名值得到所述第一应答数据,具体为: 所述认证中心对所述第一加密数据和所述第一签名值进行组合拼接,得到第二数据, 对所述第二数据进行base64编码,得到所述第一应答数据; 所述认证设备根据存储的认证中心公钥,对接收到的第一应答数据进行验签,具体 为: 所述认证设备对接收到的第一应答数据进行base64解码,得到第二数据,根据base64 解码得到的第二数据中的第一加密数据和第一签名值对第一应答数据进行验签。
9. 根据权利要求7或8所述的方法,其特征在于,所述对第一应答数据进行验签,具体 为: 所述认证设备根据认证中心公钥对第一签名值进行运算,得到第一验证数据,判断运 算得到的所述第一验证数据与base64解码得到的第一加密数据是否一致,是则确定验签 成功,否则确定验签失败。
10. 根据权利要求1所述的方法,其特征在于,所述根据所述第一应答数据和所述第二 敏感信息生成应答报文,具体为: 所述认证中心将所述第一应答数据和所述第二敏感信息进行组合拼接,生成应答报 文; 所述根据所述应答报文,得到第一应答数据和第二敏感信息,具体为: 所述客户端对所述应答报文进行拆分,得到第一应答数据和第二敏感信息。
11. 根据权利要求1所述的方法,其特征在于,所述步骤S3还包括:所述客户端显示所 述第二敏感信息; 所述步骤S5中当所述认证设备检测到所述第一按键被触发后,还包括:所述认证设备 显示从第一应答数据中得到的第二敏感信息。
12. 根据权利要求1所述的方法,其特征在于,所述步骤S7中向所述认证设备发送登录 指令之前还包括: 步骤C1 :所述客户端根据所述认证设备序列号判断所述认证设备是否已与用户绑定, 是则执行步骤C3,否则执行步骤C2 ; 步骤C2 :所述客户端提示所述用户进行注册,接收所述用户输入的用户信息,根据接 收到的所述用户信息将所述用户与所述认证设备进行绑定,执行步骤C3 ; 步骤C3 :所述客户端向所述认证设备发送所述登录指令。
13. 根据权利要求12所述的方法,其特征在于,所述客户端根据所述认证设备序列号 判断所述认证设备是否已与用户绑定,具体为: 所述客户端判断是否能够在所述客户端内部查找到与所述认证设备序列号对应的用 户信息,是则确定所述认证设备已与所述用户绑定,否则确定所述认证设备未与所述用户 绑定。
14. 根据权利要求12所述的方法,其特征在于,所述根据接收到的所述用户信息将所 述用户与所述认证设备进行绑定,具体为:所述客户端将接收到的所述用户信息与所述认 证设备序列号对应进行存储,完成绑定。
15. 根据权利要求1所述的方法,其特征在于,所述步骤S7中所述客户端判断接收到的 所述第二敏感信息与根据所述应答报文得到的所述第二敏感信息一致之后,还包括: 所述客户端获取与所述认证设备对应的用户信息; 所述步骤S9之前包括:所述客户端根据所述用户信息判断所述用户是否合法,是则执 行步骤S9,否则显示登录失败信息,结束。
16. 根据权利要求15所述的方法,其特征在于,所述客户端根据所述用户信息判断所 述用户是否合法,具体为: 所述客户端根据所述用户信息查找对应的用户状态,判断所述用户状态是否异常,是 则确定所述用户不合法,否则确定所述用户合法。
17. 根据权利要求1所述的方法,其特征在于,所述步骤S8之前还包括: 步骤D1 :所述认证设备接收到所述登录指令后,提示用户是否登录; 步骤D2:当所述认证设备检测到按键被触发后,所述认证设备判断按键的类型,若是 第一按键则执行步骤S8,若是第二按键则向所述客户端返回错误码,执行步骤D3 ; 步骤D3 :所述客户端接收所述认证设备发送的错误码,根据所述错误码显示登录失败 信息,结束。
18. 根据权利要求1所述的方法,其特征在于,所述认证设备根据所述认证设备中的时 间因子、所述预设算法以及从第一应答数据中得到的随机数,生成第一动态口令,具体为: 步骤E1 :所述认证设备根据所述认证设备中的时间因子、所述预设算法以及从第一应 答数据中得到的随机数,生成第一明文动态口令; 步骤E2 :所述认证设备根据认证中心公钥对所述第一明文动态口令进行加密,得到第 一密文动态口令; 步骤E3 :所述认证设备使用认证设备私钥对所述第一密文动态口令进行签名,得到第 二签名值; 步骤E4:所述认证设备根据所述第一密文动态口令和所述第二签名值,得到所述第一 动态口令; 所述步骤S10具体为: 步骤F1 :所述认证中心根据所述认证设备公钥对接收到的所述第一动态口令进行验 签,判断是否验签成功,是则执行步骤F2,否则向所述客户端返回错误码,执行步骤SI 1 ; 步骤F2 :所述认证中心根据所述认证设备序列号查找对应的随机数,根据所述随机 数、所述认证中心中的时间因子和预设算法生成第二明文动态口令,根据认证中心私钥对 所述第一动态口令中的第一密文动态口令进行解密,得到第一明文动态口令; 步骤F3 :所述认证中心判断所述第一明文动态口令和所述第二明文动态口令是否一 致,是则向客户端发送认证成功信息,结束,否则向客户端返回错误码,执行步骤S11。
19. 根据权利要求18所述的方法,其特征在于,所述认证设备根据所述第一密文动态 口令和所述第二签名值,得到所述第一动态口令,包括: 所述认证设备对所述第一密文动态口令进行base64编码,得到第三字符数据,对所述 第二签名值进行base64编码,得到第四字符数据,对所述第三字符数据和所述第四字符数 据进行组合拼接,得到所述第一动态口令; 所述认证中心根据所述认证设备公钥对所述第一动态口令进行验签,具体为: 所述认证中心对所述第一动态口令进行拆分,得到第三字符数据和第四字符数据,对 得到的第三字符数据进行base64解码,得到第一密文动态口令,对得到的第四字符数据进 行base64解码,得到第二签名值,根据认证设备公钥对base64解码得到的第二签名值进行 运算,得到第二验证数据,判断运算得到的所述第二验证数据与base64解码得到的第一密 文动态口令是否一致,是则确定验签成功,否则确定验签失败。
20. 根据权利要求1所述的方法,其特征在于,所述认证中心判断接收到的所述第一动 态口令与生成的所述第二动态口令一致之后,还包括:清除所述随机数; 所述步骤S10中生成第二动态口令之前包括: 所述认证中心判断是否查找到随机数,是则继续,否则向所述客户端返回错误码,执行 步骤S11。
21. -种安全登录的系统,其特征在于,所述系统包括客户端、认证中心和认证设备; 所述客户端包括:第一检测模块、第一获取模块、第一生成模块、第一发送模块、第一接 收模块、第一处理模块、第一显示模块和第一判断模块; 所述第一检测模块,用于检测是否有触发信息; 所述第一获取模块,用于当所述第一检测模块检测到触发信息后,获取所述认证设备 的认证设备序列号和第一敏感信息标识; 所述第一生成模块,用于根据所述第一获取模块获取到的所述认证设备序列号和所述 第一敏感信息标识生成敏感信息下发请求; 所述第一发送模块,用于向所述认证中心发送所述第一生成模块生成的所述敏感信息 下发请求;向所述认证设备发送所述第一处理模块得到的第一应答数据;当所述第一判断 模块判断所述第一接收模块接收到的第二敏感信息与所述第一处理模块得到的第二敏感 信息一致时,向所述认证设备发送登录指令;当所述第一接收模块接收到所述认证设备发 送的第一动态口令和认证设备序列号后,向所述认证中心发送所述第一动态口令和所述认 证设备序列号; 所述第一接收模块,用于接收所述认证中心发送的应答报文,接收所述认证设备发送 的错误码,接收所述认证设备发送的第二敏感信息,接收所述认证设备发送的第一动态口 令和认证设备序列号,接收所述认证中心发送的认证成功信息,接收所述认证中心发送的 错误码; 所述第一处理模块,用于根据所述第一接收模块接收到的所述应答报文,得到第一应 答数据和第二敏感信息; 所述第一显示模块,用于根据所述第一接收模块接收到的错误码显示登录失败信息, 当所述第一判断模块判断所述第一接收模块接收到的第二敏感信息与所述第一处理模块 得到的第二敏感信息不一致时,显示登录失败信息; 所述第一判断模块,用于判断所述第一接收模块接收到的第二敏感信息与所述第一处 理模块得到的第二敏感信息是否一致; 所述认证中心包括:第二接收模块、第一查找模块、第二生成模块、第三生成模块、第四 生成模块、第二发送模块、第二查找模块、第五生成模块和第二判断模块; 所述第二接收模块,用于接收所述客户端发送的所述敏感信息下发请求,接收所述客 户端发送的所述第一动态口令和所述认证设备序列号; 所述第一查找模块,用于根据所述第二接收模块接收到的所述敏感信息下发请求中 的所述第一敏感信息标识,查找对应的第一敏感信息,并在所述认证中心查找第二敏感信 息; 所述第二生成模块,用于生成随机数,将所述随机数与所述第二接收模块接收到的所 述敏感信息下发请求中的所述认证设备序列号对应存储; 所述第三生成模块,用于根据所述第一查找模块查找到的所述第一敏感信息、所述第 二敏感信息和所述第二生成模块生成的所述随机数,生成第一应答数据; 所述第四生成模块,用于根据所述第三生成模块生成的所述第一应答数据和所述第一 查找模块查找到的所述第二敏感信息,生成应答报文; 所述第二发送模块,用于向所述客户端发送所述第四生成模块生成的所述应答报文, 当所述第二判断模块判断所述第二接收模块接收到的所述第一动态口令与所述第五生成 模块生成的第二动态口令一致时,向所述客户端发送认证成功信息,当所述第二判断模块 判断所述第二接收模块接收到的所述第一动态口令与所述第五生成模块生成的第二动态 口令不一致时,向所述客户端返回错误码; 所述第二查找模块,用于根据所述第二接收模块接收到的所述认证设备序列号查找对 应的随机数; 所述第五生成模块,用于根据所述第二查找模块查找到的所述随机数、所述认证中心 中的时间因子和预设算法,生成第二动态口令; 所述第二判断模块,用于判断所述第二接收模块接收到的所述第一动态口令与所述第 五生成模块生成的所述第二动态口令是否一致; 所述认证设备包括:第三接收模块、第二处理模块、第二显示模块、第二检测模块、第三 判断模块、第三发送模块和第六生成模块; 所述第三接收模块,用于接收所述客户端发送的第一应答数据,接收所述客户端发送 的所述登录指令; 所述第二处理模块,用于根据所述第三接收模块接收到的所述第一应答数据,得到第 一敏感信息、第二敏感信息和随机数; 所述第二显示模块,用于对所述第二处理模块得到的所述第一敏感信息进行显示; 所述第二检测模块,用于当所述第二显示模块对第一敏感信息进行显示时,检测按键 是否被触发; 所述第三判断模块,用于当所述第二检测模块检测到按键被触发后,判断所述按键的 类型; 所述第三发送模块,用于向所述客户端发送所述第六生成模块生成的第一动态口令, 当所述第三判断模块判断所述按键为第一按键时,向所述客户端返回所述第二处理模块得 到的第二敏感信息,当所述第三判断模块判断所述按键为第二按键时,向所述客户端返回 错误码; 所述第六生成模块,用于当所述第三接收模块接收到所述登录指令后,根据所述认证 设备中的时间因子、预设算法以及所述第二处理模块得到的随机数,生成第一动态口令。
22. 根据权利要求21所述的系统,其特征在于,所述第一发送模块还用于向所述认证 设备发送获取指令; 所述第一接收模块还用于接收所述认证设备返回的认证设备序列号和第一敏感信息 标识。
23. 根据权利要求21所述的系统,其特征在于,所述第一接收模块还用于接收用户输 入的用户信息; 所述第一获取模块具体用于根据所述第一接收模块接收到的所述用户信息,在所述客 户端内部查找对应的认证设备序列号和第一敏感信息标识。
24. 根据权利要求21所述的系统,其特征在于,所述认证中心还包括:第四判断模块, 用于根据所述第二接收模块接收到的所述敏感信息下发请求,判断所述认证设备是否合 法; 所述第一查找模块,还用于当所述第四判断模块判断所述认证设备合法后,进行工 作; 所述第二发送模块,还用于当所述第四判断模块判断所述认证设备不合法后,向所述 客户端返回错误码。
25. 根据权利要求24所述的系统,其特征在于,所述第四判断模块具体用于根据所述 第二接收模块接收到的所述敏感信息下发请求中的所述认证设备序列号,查找对应的认证 设备的状态和认证设备公钥,若根据查找到的所述认证设备的状态,判断所述认证设备可 用并且所述认证设备公钥存在,则确定所述认证设备合法,否则确定所述认证设备不合法。
26. 根据权利要求21所述的系统,其特征在于,所述第三生成模块,包括:第一查找单 元、第一组合单元、第一加密单元、第一签名单元和第一处理单元; 所述第一查找单元,用于根据所述敏感信息下发请求中的所述认证设备序列号,在所 述认证中心查找对应的认证设备公钥; 所述第一组合单元,用于对所述第一敏感信息、所述第二敏感信息和所述随机数进行 拼接组合,得到第一数据; 所述第一加密单元,用于根据所述第一查找单元查找到的所述认证设备公钥对所述第 一数据进行加密,得到第一加密数据; 所述第一签名单元,用于使用认证中心私钥对所述第一加密数据进行签名,得到第一 签名值; 所述第一处理单元,用于根据所述第一加密数据和所述第一签名值得到所述第一应答 数据; 所述认证设备还包括第一验签模块;所述第一验签模块,用于根据存储的认证中心公 钥,对所述第三接收模块接收到的第一应答数据进行验签,判断是否验签成功; 所述第二处理模块还用于当所述第一验签模块判断验签成功后,进行工作; 所述第三发送模块还用于当所述第一验签模块判断验签失败后,向所述客户端返回错 误码; 所述第二处理模块,具体用于根据认证设备私钥对所述第三接收模块接收到的第一应 答数据中的第一加密数据进行解密,得到第一数据,对得到的第一数据进行拆分,得到第一 敏感信息、第二敏感信息和随机数。
27. 根据权利要求26所述的系统,其特征在于,所述第一处理单元具体用于对所述第 一加密数据进行base64编码,得到第一字符数据,对所述第一加密数据进行base64编码, 得到第二字符数据,对所述第一字符数据和所述第二字符数据进行组合拼接,生成所述第 一应答数据; 所述第一验签模块具体用于对所述第三接收模块接收到的第一应答数据中的第一 字符数据进行base64解码,得到第一加密数据,对第一应答数据中的第二字符数据进行 base64解码,得到第一签名值,根据base64解码得到的第一加密数据和第一签名值对第一 应答数据进行验签。
28. 根据权利要求26所述的系统,其特征在于,所述第一处理单元具体用于对所述第 一加密数据和所述第一签名值进行组合拼接,得到第二数据,对所述第二数据进行base64 编码,得到所述第一应答数据; 所述第一验签模块具体用于对所述第三接收模块接收到的第一应答数据进行base64 解码,得到第二数据,根据base64解码得到的第二数据中的第一加密数据和第一签名值对 第一应答数据进行验签。
29. 根据权利要求27或28所述的系统,其特征在于,所述第一验签模块,具体用于根 据认证中心公钥对第一签名值进行运算,得到第一验证数据,判断运算得到的所述第一验 证数据与base64解码得到的第一加密数据是否一致,是则确定验签成功,否则确定验签失 败。
30. 根据权利要求21所述的系统,其特征在于,所述第四生成模块,具体用于将所述第 一应答数据和所述第二敏感信息进行组合拼接,生成应答报文; 所述第一处理模块,具体用于对所述应答报文进行拆分,得到第一应答数据和第二敏 感信息。
31. 根据权利要求21所述的系统,其特征在于,所述第一显示模块还用于显示所述第 一处理模块处理得到的第二敏感信息; 所述第二显示模块还用于显示所述第二处理模块得到的第二敏感信息。
32. 根据权利要求21所述的系统,其特征在于,所述客户端还包括:第五判断模块和注 册模块; 所述第五判断模块,用于在所述第一判断模块判断所述第一接收模块接收到的第二敏 感信息与所述第一处理模块得到的第二敏感信息一致时,根据所述认证设备序列号判断所 述认证设备是否已与用户绑定; 所述注册模块,用于当所述第五判断模块判断所述认证设备未与用户绑定后,提示所 述用户进行注册,接收所述用户输入的用户信息,根据接收到的所述用户信息将所述用户 与所述认证设备进行绑定; 所述第一发送模块,具体用于所述注册模块工作完成后,向所述认证设备发送所述登 录指令,当所述第五判断模块判断所述认证设备已与用户绑定后,向所述认证设备发送所 述登录指令。
33. 根据权利要求32所述的系统,其特征在于,所述第五判断模块具体用于判断是否 能够在所述客户端内部查找到与所述认证设备序列号对应的用户信息,是则确定所述认证 设备已与所述用户绑定,否则确定所述认证设备未与所述用户绑定。
34. 根据权利要求32所述的系统,其特征在于,所述注册模块具体用于提示所述用户 进行注册,接收所述用户输入的用户信息,将接收到的所述用户信息与所述认证设备序列 号对应进行存储,完成绑定。
35. 根据权利要求21所述的系统,其特征在于,所述客户端还包括:第二获取模块和第 六判断模块; 所述第二获取模块,用于所述第一判断模块判断所述第一接收模块接收到的第二敏感 信息与所述第一处理模块得到的第二敏感信息一致时,获取与所述认证设备对应的用户信 息; 所述第六判断模块,用于根据所述第二获取模块获取到的所述用户信息判断所述用户 是否合法; 所述第一发送模块还用于在所述第六判断模块判断所述用户合法后,向所述认证中心 发送所述第一动态口令和所述认证设备序列号; 所述第一显示模块还用于在所述第六判断模块判断所述用户不合法后,显示登录失败 信息。
36. 根据权利要求35所述的系统,其特征在于,所述第六判断模块具体用于根据所述 用户信息查找对应的用户状态,判断所述用户状态是否异常,是则确定所述用户不合法,否 则确定所述用户合法。
37. 根据权利要求21所述的系统,其特征在于,所述第二显示模块,还用于在所述第三 接收模块接收到所述登录指令后,提示用户是否登录; 所述第二检测模块,还用于在所述第二显示模块提示用户是否登录后,检测按键是否 被触发; 所述第三判断模块,还用于所述第二检测模块检测到按键被触发后,判断按键的类 型; 所述第六生成模块还用于所述第三判断模块判断出第一按键被触发后,进行工作; 所述第三发送模块还用于所述第三判断模块判断出第二按键被触发后,向所述客户端 返回错误码。
38. 根据权利要求21所述的系统,其特征在于,所述第六生成模块包括:第一生成单 元、第二加密单元、第二签名单元和第二处理单元; 所述第一生成单元,用于根据所述认证设备中的时间因子、所述预设算法以及随机数, 生成第一明文动态口令; 所述第二加密单元,用于根据认证中心公钥对所述第一生成单元生成的所述第一明文 动态口令进行加密,得到第一密文动态口令; 所述第二签名单元,用于使用认证设备私钥对所述第二加密单元加密得到的所述第一 密文动态口令进行签名,得到第二签名值; 所述第二处理单元,用于根据所述第二加密单元加密得到的所述第一密文动态口令和 所述第二签名单元得到的所述第二签名值,得到所述第一动态口令; 所述认证中心还包括:第二验签模块、第七生成模块和第七判断模块; 所述第二验签模块,用于根据所述认证设备公钥对所述第二接收模块接收到的所述第 一动态口令进行验签,判断是否验签成功; 所述第七生成模块,用于在所述第二验签模块判断验签成功后,根据所述认证设备序 列号查找对应的随机数,根据所述随机数、所述认证中心中的时间因子和预设算法生成第 二明文动态口令,根据认证中心私钥对所述第一动态口令中的第一密文动态口令进行解 密,得到第一明文动态口令; 所述第二发送模块还用于在所述第二验签模块判断验签失败后,向所述客户端返回错 误码; 所述第七判断模块,用于判断所述第七生成模块得到的第一明文动态口令和所述第二 明文动态口令是否一致; 所述第二发送模块还用于在所述第七判断模块判断所述第七生成模块得到的第一明 文动态口令和所述第二明文动态口令一致后,向客户端发送认证成功信息,在所述第七判 断模块判断所述第七生成模块得到的第一明文动态口令和所述第二明文动态口令不一致 后,向所述客户端返回错误码。
39. 根据权利要求38所述的系统,其特征在于,所述第二处理单元具体用于对所述第 一密文动态口令进行base64编码,得到第三字符数据,对所述第二签名值进行base64编 码,得到第四字符数据,对所述第三字符数据和所述第四字符数据进行组合拼接,得到所述 第一动态口令; 所述第二验签模块,具体用于对所述第一动态口令进行拆分,得到第三字符数据和第 四字符数据,对得到的第三字符数据进行base64解码,得到第一密文动态口令,对得到的 第四字符数据进行base64解码,得到第二签名值,根据认证设备公钥对base64解码得到的 第二签名值进行运算,得到第二验证数据,判断运算得到的所述第二验证数据与base64解 码得到的第一密文动态口令是否一致,是则确定验签成功,否则确定验签失败。
40. 根据权利要求21所述的系统,其特征在于,所述认证中心还包括清除模块和第八 判断模块; 所述清除模块,用于在所述第二判断模块判断所述第一动态口令与所述第二动态口令 一致后,清除所述随机数; 所述第八判断模块,用于判断是否查找到随机数; 所述第五生成模块,用于所述第八判断模块判断查找到随机数后,进行工作; 所述第二发送模块还用于所述第八判断模块判断未查找到随机数后,向所述客户端返 回错误码。
【文档编号】H04L29/06GK104104687SQ201410362690
【公开日】2014年10月15日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1