一种集成多种动态口令的认证系统及其工作方法

文档序号:7807677阅读:256来源:国知局
一种集成多种动态口令的认证系统及其工作方法
【专利摘要】本发明公开一种集成多种动态口令的认证系统及其工作方法,所述认证系统中预置有多个认证引擎库,在接收来自所述客户端的认证请求后,从所述认证请求中获取令牌序列号和动态口令,根据所述令牌序列号,从数据库中查找包含所述令牌序列号的令牌信息,从查找到的令牌信息中读取与所述令牌序列号对应的认证引擎标识,调用与读取到的认证引擎标识对应的认证引擎库的认证接口,并获取所述认证接口的返回结果,从而在同一认证系统中集成不同厂商和不同算法的动态口令的认证,提高了认证系统的兼容性,降低了认证系统的工作负担,有效提高了用户的管理方便性和应用灵活性。
【专利说明】一种集成多种动态口令的认证系统及其工作方法

【技术领域】
[0001] 本发明涉及信息安全领域,特别是涉及一种集成多种动态口令的认证系统及其工 作方法。

【背景技术】
[0002] 动态令牌是一种用于生成动态口令的设备,广泛应用于网银、电信运营商和电子 政务等应用领域。动态令牌所生成的动态口令可用于身份认证,能够有效提高身份认证的 安全性。
[0003] 现有技术中,为保证动态令牌的正常工作,令牌设备厂商将种子密钥导入到动态 令牌的同时,还会将包括种子密钥在内的令牌信息配置到认证系统中,认证系统对多个令 牌设备厂商配置的令牌信息进行集成。
[0004] 发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
[0005] 由于同一认证系统下的多种动态令牌属于不同的厂商,并使用不同的算法生成动 态口令,若直接通过同一认证系统进行认证,不仅会加重认证系统的负担,还会降低认证系 统的兼容性和管理方便性。


【发明内容】

[0006] 本发明提供了一种集成多种动态口令的认证系统及其工作方法,以解决现有技术 中认证系统负担重以及认证系统兼容性差的缺陷。
[0007] 本发明提供了一种集成多种动态口令的认证系统的工作方法,所述认证系统中预 置有多个认证引擎库,所述方法包括以下步骤:
[0008] S1、所述认证系统接收来自客户端的认证请求,从所述认证请求中获取令牌序列 号和动态口令;
[0009] S2、所述认证系统根据所述令牌序列号,从数据库中查找包含所述令牌序列号的 令牌信息,如果查找到,则执行步骤S3 ;否则,向所述客户端返回第一错误消息,结束流程;
[0010] S3、所述认证系统从查找到的令牌信息中读取与所述令牌序列号对应的认证引擎 标识;
[0011] S4、所述认证系统使用所述动态口令和所述查找到的令牌信息中与所述令牌序列 号对应的种子数据作为参数,调用与读取到的认证引擎标识对应的认证引擎库的认证接 口,并获取所述认证接口的返回结果;
[0012] S5、所述认证系统根据所述返回结果判断是否认证成功,如果是,则执行步骤S6 ; 否则,则执行步骤S7;
[0013] S6、所述认证系统向所述客户端返回认证成功消息,结束流程;
[0014] S7、所述认证系统向所述客户端返回认证失败消息,结束流程。
[0015] 本发明还提供了一种集成多种动态口令的认证系统,包括:
[0016] 存储模块,用于存储多个认证引擎库和令牌信息;
[0017] 接收模块,用于接收来自客户端的认证请求,从所述认证请求中获取令牌序列号 和动态口令;
[0018] 第一查找模块,用于根据所述接收模块获取到的所述令牌序列号,从所述存储模 块中查找包含所述令牌序列号的令牌信息;
[0019] 读取模块,用于在所述第一查找模块查找到包含所述令牌序列号的令牌信息后, 从所述令牌信息中读取与所述令牌序列号对应的认证引擎标识;
[0020] 处理模块,用于使用所述接收模块获取到的所述动态口令和所述第一查找模块查 找到的所述令牌信息中与所述令牌序列号对应的种子数据作为参数,调用与所述读取模块 读取到的所述认证引擎标识对应的认证引擎库的认证接口,并获取所述认证接口的返回结 果;
[0021] 第一判断模块,用于根据所述处理模块获取到的所述返回结果判断是否认证成 功;
[0022] 发送模块,用于在所述第一查找模块查找不到包含所述令牌序列号的令牌信息 后,向所述客户端返回第一错误消息;在所述第一判断模块判断出认证成功后,向所述客户 端返回认证成功消息;在所述第一判断模块判断出认证失败后,向所述客户端返回认证失 败消息。
[0023] 本发明达到的有益效果:认证系统在接收到认证请求后,调用与认证请求中的令 牌序列号对应的认证引擎库的认证接口,对认证请求中的动态口令进行认证,从而在同一 认证系统中集成不同厂商和不同算法的动态口令的认证,提高了认证系统的兼容性,降低 了认证系统的工作负担,有效提高了用户的管理方便性和应用灵活性。

【专利附图】

【附图说明】
[0024] 图1为本发明实施例中的一种导入令牌信息的方法流程图;
[0025] 图2为本发明实施例中的一种集成多种动态口令的认证系统的工作方法流程图;
[0026] 图3为本发明实施例中的一种集成多种动态口令的认证系统的结构示意图。

【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0028] 本发明实施例中,种子文件系统生成种子文件,并对种子文件进行加密,得到种子 数字信封文件;认证系统获取到种子数字信封文件后,对种子数字信封文件进行解密,并对 解密得到的种子文件进行解析,将解析得到的令牌信息导入到数据库中;认证系统接收到 认证请求后,根据认证请求中的令牌序列号,调用与该令牌序列号对应的认证引擎库的认 证接口,并根据认证接口的返回结果确定是否认证成功。
[0029] 如图1所示,为本发明实施例中的一种导入令牌信息的方法流程图,包括以下步 骤:
[0030] 步骤101,种子文件系统生成种子文件。
[0031] 例如,种子文件系统生成的种子文件的内容为:
[0032] <?xml version-'1.0" encoding="gbk" ?> <Tokenxml> <Tokenspec> 〈Version〉1.1〈/Version〉 <Or i gi n> F </Ori g i n> <FirstToken>2800107</FirstToken> <LastToken>2800108</LastToken> <NumTokens>2</NumTokens>
[0033] <Birth>2014-06-ll 06:54:04</Birth> <Dcarh>2019-06-11 06:53:56</Dcath> <HeaderMAC>bero96a013934d6424d7fl27d58fl260 </HeaderMAC> </Tokenspec> <ΚΕΥΠ?Μ> <SN>2800107</SN> <Seed>gQANMzYyOTQxMjgwMDEwNyDrSqS6as/rdtzUkyqb308xB4f0c sO/vi9qwSoHJirIKnYeAAANBkIAAAAAADwAAAAAAAAAAAAAU5f9DFz/U AQACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAxIAAAAKAAAABJPVFAtU00zLTY6UU4wNilUM lJ0STiRQLVNNMy02OlFONjQtVDF\Dk9UUClTTTMtNjpRTjA2AAAAAAA AAAAAAAAAAAAAAABggQ==</Seed> <KcyItcmMAC>93e72a007cd3fa08ec8ca0388457c9cc</KcyItcmMAC> </ΚΗΥΓΓΗΜ> <KEYITEM> <SN>28001?8</SN> <Seed>gQANMzYyOTQxMjgwMDEwOCBYcCRCBh4etj 1 UUhcpMHtZ d9eGY3f/Ki4cS+dsXHnrril AAANBkIAAAAAADwAAAAAAAAAAAAAU5f9D Fz/UAQACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAxIAAAAKAAAABJPVFAtU00zLTY6UU4wNi 1UMU0ST1RQI JV\\My02OlFONjQtVDFNr)k9UUC 1TT TMtNjpRTj A2A A A A AAAAAAAAAAAAAAAAAABt_rg==</Seed> <KeyItemMAC>35158ced 137666150off8b625dc9b525 </KeyItemMAC> </KEYITEM>
[0034] 〈Token List〉 <TokenListMac>a Ibd77bdd246da8b6c50f99416586el 0 </TokenListMac> </Token.L.ist> </Tokenxml>
[0035] 步骤102,种子文件系统生成随机数,将该随机数转换为对称密钥,从预置的证书 文件中提取公钥,并使用该公钥对上述对称密钥进行加密,得到密钥密文。
[0036] 具体地,种子文件系统可以生成长度为16个字节的随机数,将该随机数转换为长 度为24个字节的对称密钥,从预置的证书文件中提取长度为1024位的RSA公钥,并使用该 RSA公钥对上述对称密钥进行RSA公钥加密,得到长度为128个字节的密钥密文。
[0037] 本实施例中,种子文件系统可以从随机数中选取前8个字节的数据,将选取的数 据作为填充数据添加到随机数后,生成长度为24个字节的对称密钥。
[0038] 例如,种子文件系统生成的随机数为:00 01 02 03 04 05 06 07 08 09 0a Ob 0c 0d 0e Of,转换得到的对称密钥为:00 01 02 03 04 05 06 07 08 09 0a Ob 0c 0d 0e Of 00 01 02 03 04 05 06 07,使用RSA公钥对上述对称密钥进行RSA公钥加密,得到的密 钥密文为:d6 5a 50 ea 33 77 5b 81 a5 35 19 18 ff 5d 87 a8 4d be 20 54 63 fc f0 c6 If 67 11 a7 Id 26 6f dd 4f 46 92 le a3 3d bf f8 59 ff 58 89 5b 19 7e c6 f8 77 53 96 dO 9b eO 8f be 3b lb 75 61 41 bd a3 fa fl a5 ab c9 ae 23 fd 46 c9 97 b5 ba 96 2e 56 b5 67 18 91 53 33 e6 la 87 fl 72 lc 08 b9 a3 Id 69 la 52 13 d5 4e 10 9a 9c 92 c9 31 11 8d 7e 99 If 04 50 7b d3 85 dl eb 4a ab 16 e9 88 af 56 dd。
[0039] 步骤103,种子文件系统使用对称密钥对种子文件进行对称加密,得到种子密文。
[0040] 例如,种子文件系统根据步骤101中的种子文件加密得到的种子密文为:c0 f5 df 9c 61 09 b4 22 b8 51 62 12 6f 37 27 26 ba 8b be c7 d8 9b fd 2b c2 fd 62 bO 30 53 82 68 dl cc b8 8d fO 0a d9 62 24 e7 6d 9a c9 5c ad 23 63 4b d8 d4 cf cb af 77 Od 7a 95 64 39 bd bf d7 5c da 10 bb e8 05 3a 71 e8 b9 c2 33 e7 53 e5 22 c6 31 f3 af e3 61 23 a6 d3 47 39 ee 0a al 19 2d dc e9 6e 21 e6 78 c5 ba 26 al 3d e8 08 3d 20 8c ef If be 36 8e a9 04 d7 42 9d b7 14 01 26 le 11 2b 7f 6c 50 7d db c9 01 73 8e 6c 19 33 2f ac c5 9e e6 la 4d 16 11 d2 8a 8a c7 83 ea 9c d6 c7 32 4b 2f 59 b5 28 6d 7b 4e 54 b7 e3 fe 3f 78 d8 7f 2d f7 34 7f fb 12 86 45 d8 lc de 05 00 9b 97 e8 f6 23 22 35 6b 94 aO 61 de 74 db 72 32 b9 11 3f 5b 2e 7c 17 26 a6 6e e2 36 de 74 3d dO b3 lb 79 bd a7 ce a5 aO 74 al Of 00 92 d8 76 01 f3 3f 65 32 8f ce a8 If 76 96 lc c4 6a 86 84 fe b8 6b Id la fl Id f8 ed 4b 68 35 68 a3 8d 63 0c 77 al e5 3c bd 9d fc e2 dO 50 09 If f7 57 3f 4d ee Id 54 6b f8 f7 Id 51 39 03 79 85 67 e3 2b be ab ce da 26 d5 cl 3e 60 29 27 46 ac 72 2f 2a d2 Oe 6c 65 aO 2f 23 b2 cc c3 Oe 32 97 13 c6 48 22 81 44 d7 0b 38 ed b9 5e dd 55 64 9d b3 8d 6b b7 fa lb 02 bl ce 42 3b f8 c2 8e f2 6e e7 6b 01 c8 05 81 08 9f 99 Ob le b6 aO d3 cb d5 e6 fe 52 fd 70 47 4a 72 la ea 05 01 d3 30 19 2f 08 9d b6 77 36 a8 ec 02 f9 cd 56 57 f4 65 2d Oc 2a d5 26 fe 2b 62 2e 2d ef df cb 65 ce a6 lc ce 17 64 23 5a b3 Ob bb ba 6d f2 c5 45 5b 74 b4 4d f9 4a 66 56 Oc b2 28 77 a2 82 a8 99 8e 2c a6 3e 51 28 aa f6 Oe 26 8c 71 22 56 ea d5 3a 84 b9 80 c4 e9 dd b2 ee e7 86 9e ed f4 48 ea 92 6a be d6 8b eb ad e4 62 a5 83 80 b5 ac c3 c7 44 46 ef b9 7f 61 2e 49 6c ae 89 59 dc f6 85 02 48 b9 14 b4 f3 lc 25 bb fb d5 d6 ae 86 ca 4c 45 5a al 06 6d 4e c4 bl ac e2 3e e7 02 c3 b8 56 f3 ab 55 d4 78 b3 Oe b7 6c 3f c7 91 4c 7e la 17 aO fl fO 2b 78 5c 75 04 a2 22 31 73 b2 d4 bd d6 al 80 6f 00 f9 Of 90 e8 80 42 32 ff 12 f3 17 15 af b8 91 d7 e3 7a e5 9b c3 58 8f 62 61 e9 17 22 f8 c9 15 14 2d b9 9f 64 a7 4d ce 9e fl d4 26 77 cd 6c b5 e2 c8 63 c3 e8 fb e9 61 8c b9 c2 67 la 12 3e 54 lc 05 ac al 90 41 c5 7a 45 75 32 a6 15 fl Od 3b 9b c7 ac f3 ed 99 fe e7 fa bl 9c cO fe ad 4f 06 28 93 07 06 7a Id 8f 9f c2 17 de 60 d5 20 04 30 13 4d 9a eO d9 99 53 77 10 35 dO 59 38 c9 a3 be 92 cb 9e bO 7b 53 2e aO 40 Oe c5 3b cO e8 ac 29 27 be 9f 19 42 aO lc 3c 88 26 38 73 05 ab fd 6d 3a 74 fc 2e 7e db 64 59 bb 4b a9 e6 8c ee Id bb fc 83 80 b2 3e ca 86 62 54 a3 78 41 64 bO 53 68 05 10 63 28 27 ec e8 c9 50 ff 87 69 e6 a7 bb 3b 55 6e 65 31 47 60 71 39 55 53 81 2f ef 49 a2 76 50 99 4f 96 93 8f 21 3f 74 e9 97 b4 f9 36 b6 c7 44 84 d2 6a 24 al 42 76 cd a8 56 f6 aa 3f 7c 95 dl 34 d6 14 19 5b fa 23 le a8 e3 cc 8e fe 9c 5b a5 cl 06 el d6 fO Oc 5d 3e 56 dl 9e 13 8d f6 eO 91 78 98 6b e3 d3 ab 31 7b 6a 64 6e c3 3a 42 54 84 9c d5 85 cl ad 66 Oe 06 36 5f e5 5d 03 49 61 le 2a d3 8d 32 ed db e2 8d cO fe Oa d5 39 57 fb 8a 56 6f le 50 7c 86 74 56 85 10 34 9e 17 ed bf 03 d3 85 61 cO 2e cb 2a f6〇
[0041] 步骤104,种子文件系统对种子文件进行摘要计算,得到第一摘要。
[0042] 其中,第一摘要的长度为20个字节。
[0043] 例如,种子文件系统计算得到的第一摘要为:64 If ef 8c If 9b 2b al bl b6 3d cb 20 f6 21 d3 b5 b8 7d ba〇
[0044] 步骤105,种子文件系统根据密钥密文、种子密文和第一摘要生成种子数字信封文 件,并使用预设的令牌序列信息对种子数字信封文件的文件名进行设置。
[0045] 具体地,种子文件系统可以对密钥密文、种子密文和第一摘要进行依序拼接,将拼 接得到的数据作为种子数字信封文件的内容,并使用预设的令牌序列信息对种子数字信封 文件进行命名。
[0046] 其中,令牌序列信息可以是起始令牌序列号和/或结束令牌序列号,还可进一步 包括种子个数和种子数字信封文件的生成时间。
[0047] 本实施例中,种子文件系统使用起始令牌序列号、种子个数和种子数字信封文件 的生成时间对种子数字信封文件进行命名。
[0048] 例如,令牌起始序列号为2800107,种子个数为1,种子数字信封文件的生成时间 为20140613时,种子文件系统对密钥密文、种子密文和第一摘要依序拼接得到的数据为: d6 5a 50 ea 33 77 5b 81 a5 35 19 18 ff 5d 87 a8 4d be 20 54 63 fc fO c6 If 67 11 a7 Id 26 6f dd 4f 46 92 le a3 3d bf f8 59 ff 58 89 5b 19 7e c6 f8 77 53 96 dO 9b eO 8f be 3b lb 75 61 41 bd a3 fa fl a5 ab c9 ae 23 fd 46 c9 97 b5 ba 96 2e 56 b5 67 18 91 53 33 e6 la 87 fl 72 lc 08 b9 a3 Id 69 la 52 13 d5 4e 10 9a 9c 92 c9 31 11 8d 7e 99 If 04 50 7b d3 85 dl eb 4a ab 16 e9 88 af 56 dd
[0049] cO f5 df 9c 61 09 b4 22 b8 51 62 12 6f 37 27 26 ba 8b be c7 d8 9b fd 2b c2 fd 62 bO 30 53 82 68 dl cc b8 8d fO Oa d9 62 24 e7 6d 9a c9 5c ad 23 63 4b d8 d4 cf cb af 77 Od 7a 95 64 39 bd bf d7 5c da 10 bb e8 05 3a 71 e8 b9 c2 33 e7 53 e5 22 c6 31 f3 af e3 61 23 a6 d3 47 39 ee Oa al 19 2d dc e9 6e 21 e6 78 c5 ba 26 al 3d e8 08 3d 20 8c ef If be 36 8e a9 04 d7 42 9d b7 14 01 26 le 11 2b 7f 6c 50 7d db c9 01 73 8e 6c 19 33 2f ac c5 9e e6 la 4d 16 11 d2 8a 8a c7 83 ea 9c d6 c7 32 4b 2f 59 b5 28 6d 7b 4e 54 b7 e3 fe 3f 78 d8 7f 2d f7 34 7f fb 12 86 45 d8 lc de 05 00 9b 97 e8 f6 23 22 35 6b 94 aO 61 de 74 db 72 32 b9 11 3f 5b 2e 7c 17 26 a6 6e e2 36 de 74 3d dO b3 lb 79 bd a7 ce a5 aO 74 al Of 00 92 d8 76 01 f3 3f 65 32 8f ce a8 If 76 96 lc c4 6a 86 84 fe b8 6b Id la fl Id f8 ed 4b 68 35 68 a3 8d 63 Oc 77 al e5 3c bd 9d fc e2 dO 50 09 If f7 57 3f 4d ee Id 54 6b f8 f7 Id 51 39 03 79 85 67 e3 2b be ab ce da 26 d5 cl 3e 60 29 27 46 ac 72 2f 2a d2 Oe 6c 65 aO 2f 23 b2 cc c3 Oe 32 97 13 c6 48 22 81 44 d7 Ob 38 ed b9 5e dd 55 64 9d b3 8d 6b b7 fa lb 02 bl ce 42 3b f8 c2 8e f2 6e e7 6b 01 c8 05 81 08 9f 99 Ob le b6 aO d3 cb d5 e6 fe 52 fd 70 47 4a 72 la ea 05 01 d3 30 19 2f 08 9d b6 77 36 a8 ec 02 f9 cd 56 57 f4 65 2d Oc 2a d5 26 fe 2b 62 2e 2d ef df cb 65 ce a6 lc ce 17 64 23 5a b3 Ob bb ba 6d f2 c5 45 5b 74 b4 4d f9 4a 66 56 Oc b2 28 77 a2 82 a8 99 8e 2c a6 3e 51 28 aa f6 Oe 26 8c 71 22 56 ea d5 3a 84 b9 80 c4 e9 dd b2 ee e7 86 9e ed f4 48 ea 92 6a be d6 8b eb ad e4 62 a5 83 80 b5 ac c3 c7 44 46 ef b9 7f 61 2e 49 6c ae 89 59 dc f6 85 02 48 b9 14 b4 f3 lc 25 bb fb d5 d6 ae 86 ca 4c 45 5a al 06 6d 4e c4 bl ac e2 3e e7 02 c3 b8 56 f3 ab 55 d4 78 b3 Oe b7 6c 3f c7 91 4c 7e la 17 aO fl fO 2b 78 5c 75 04 a2 22 31 73 b2 d4 bd d6 al 80 6f 00 f9 Of 90 e8 80 42 32 ff 12 f3 17 15 af b8 91 d7 e3 7a e5 9b c3 58 8f 62 61 e9 17 22 f8 c9 15 14 2d b9 9f 64 a7 4d ce 9e fl d4 26 77 cd 6c b5 e2 c8 63 c3 e8 fb e9 61 8c b9 c2 67 la 12 3e 54 lc 05 ac al 90 41 c5 7a 45 75 32 a6 15 fl Od 3b 9b c7 ac f3 ed 99 fe e7 fa bl 9c cO fe ad 4f 06 28 93 07 06 7a Id 8f 9f c2 17 de 60 d5 20 04 30 13 4d 9a eO d9 99 53 77 10 35 dO 59 38 c9 a3 be 92 cb 9e bO 7b 53 2e aO 40 Oe c5 3b cO e8 ac 29 27 be 9f 19 42 aO lc 3c 88 26 38 73 05 ab fd 6d 3a 74 fc 2e 7e db 64 59 bb 4b a9 e6 8c ee Id bb fc 83 80 b2 3e ca 86 62 54 a3 78 41 64 bO 53 68 05 10 63 28 27 ec e8 c9 50 ff 87 69 e6 a7 bb 3b 55 6e 65 31 47 60 71 39 55 53 81 2f ef 49 a2 76 50 99 4f 96 93 8f 21 3f 74 e9 97 b4 f9 36 b6 c7 44 84 d2 6a 24 al 42 76 cd a8 56 f6 aa 3f 7c 95 dl 34 d6 14 19 5b fa 23 le a8 e3 cc 8e fe 9c 5b a5 cl 06 el d6 fO Oc 5d 3e 56 dl 9e 13 8d f6 eO 91 78 98 6b e3 d3 ab 31 7b 6a 64 6e c3 3a 42 54 84 9c d5 85 cl ad 66 Oe 06 36 5f e5 5d 03 49 61 le 2a d3 8d 32 ed db e2 8d cO fe Oa d5 39 57 fb 8a 56 6f le 50 7c 86 74 56 85 10 34 9e 17 ed bf 03 d3 85 61 cO 2e cb 2a f6
[0050] 64 If ef 8c If 9b 2b al bl b6 3d cb 20 f6 21 d3 b5 b8 7d ba〇
[0051] 种子文件系统将上述数据作为种子数字信封文件的内容,并将该种子数字信封文 件的文件名设置为 "2800107-1-20140613. dat"。
[0052] 步骤106,种子文件系统将种子数字信封文件发送给认证系统。
[0053] 例如,种子文件系统将文件名为"2800107-1-20140613. dat"的种子数字信封文件 发送给认证系统。
[0054] 步骤107,认证系统从种子数字信封文件的文件名中获取令牌序列信息,根据该令 牌序列信息查询对应的认证引擎标识,并获取与该认证引擎标识对应的私钥。
[0055] 具体地,认证系统中存储有令牌序列信息与认证引擎标识的对应关系表,认证系 统从种子数字信封文件的文件名中获取令牌序列信息后,根据该令牌序列信息查询上述对 应关系表,得到与该令牌序列信息对应的认证引擎标识,再根据该认证引擎标识,获取对应 的私钥。其中,令牌序列信息可以是起始令牌序列号和/或结束令牌序列号,私钥可以是长 度为1024位的RSA私钥。
[0056] 例如,认证系统中存储的令牌序列信息与认证引擎标识的对应关系表,如表1所 示:
[0057] 表1令牌序列信息与认证引擎标识的对应关系表
[0058]

【权利要求】
1. 一种集成多种动态口令的认证系统的工作方法,其特征在于,所述认证系统中预置 有多个认证引擎库,所述方法包括以下步骤: 51、 所述认证系统接收来自客户端的认证请求,从所述认证请求中获取令牌序列号和 动态口令; 52、 所述认证系统根据所述令牌序列号,从数据库中查找包含所述令牌序列号的令牌 信息,如果查找到,则执行步骤S3 ;否则,向所述客户端返回第一错误消息,结束流程; 53、 所述认证系统从查找到的令牌信息中读取与所述令牌序列号对应的认证引擎标 识; 54、 所述认证系统使用所述动态口令和所述查找到的令牌信息中与所述令牌序列号对 应的种子数据作为参数,调用与读取到的认证引擎标识对应的认证引擎库的认证接口,并 获取所述认证接口的返回结果; 55、 所述认证系统根据所述返回结果判断是否认证成功,如果是,则执行步骤S6;否 贝1J,执行步骤S7 ; 56、 所述认证系统向所述客户端返回认证成功消息,结束流程; 57、 所述认证系统向所述客户端返回认证失败消息,结束流程。
2. 如权利要求1所述的方法,其特征在于,所述数据库中存储有与各个认证引擎库对 应的认证引擎信息; 所述步骤S3之后,还包括: 58、 所述认证系统判断是否已加载与读取到的认证引擎标识对应的认证引擎库,如果 是,则执行步骤S4 ;否则,执行步骤S9 ; 59、 所述认证系统根据所述读取到的认证引擎标识,从所述数据库中查找与所述读取 到的认证引擎标识对应的认证引擎信息,如果查找到,则执行步骤S10 ;否则,向所述客户 端返回第二错误消息,结束流程; 510、 所述认证系统从查找到的认证引擎信息中读取认证引擎库路径,根据所述认证引 擎库路径加载与所述读取到的认证引擎标识对应的认证引擎库; 511、 所述认证系统判断是否加载认证引擎库成功,如果是,则执行步骤S4 ;否则,向所 述客户端返回第三错误消息,结束流程。
3. 如权利要求2所述的方法,其特征在于,所述认证系统判断是否已加载与读取到的 认证引擎标识对应的认证引擎库,具体为: 所述认证系统判断内存中的认证引擎列表中是否包含所述读取到的认证引擎标识,如 果是,则确定已加载与所述读取到的认证引擎标识对应的认证引擎库;否则,确定没有加载 与所述读取到的认证引擎标识对应的认证引擎库; 所述认证系统判断加载认证引擎库成功之后,还包括: 所述认证系统将加载成功的认证引擎库对应的认证引擎标识添加到所述认证引擎列 表中。
4. 如权利要求1所述的方法,其特征在于,所述认证系统使用所述动态口令和所述查 找到的令牌信息中与所述令牌序列号对应的种子数据作为参数,调用与读取到的认证引擎 标识对应的认证引擎库的认证接口之后,还包括: 所述认证引擎库的认证接口获取所述动态口令和所述种子数据,从所述种子数据中获 取种子密钥、动态因子和令牌偏移量,根据所述种子密钥、所述动态因子和所述令牌偏移量 生成动态口令,并判断生成的动态口令是否与获取到的动态口令相同,如果是,则返回表示 认证成功的返回结果;否则,返回表示认证失败的返回结果。
5. 如权利要求4所述的方法,其特征在于,所述表示认证成功的返回结果为预设值; 所述认证系统根据所述返回结果判断是否认证成功,具体为: 所述认证系统判断所述返回结果是否为预设值,如果是,则确定认证成功;否则,确定 认证失败。
6. 如权利要求4所述的方法,其特征在于,所述认证引擎库的认证接口判断出所述生 成的动态口令与所述获取到的动态口令相同之后,还包括: 所述认证引擎库的认证接口对所述种子数据中的令牌偏移量进行更新,所述认证系统 对更新后的种子数据进行保存。
7. 如权利要求1所述的方法,其特征在于,还包括: A1、种子文件系统生成种子文件,对所述种子文件进行加密,得到种子密文; A2、所述种子文件系统根据所述种子密文生成种子数字信封文件; A3、所述认证系统获取所述种子数字信封文件,从所述种子数字信封文件中获取所述 种子密文; A4、所述认证系统对所述种子密文进行解密,得到所述种子文件; A5、所述认证系统对所述种子文件进行解析,将解析得到的令牌信息导入到所述数据 库中。
8. 如权利要求7所述的方法,其特征在于,所述种子文件系统对所述种子文件进行加 密,得到种子密文之前,还包括: 所述种子文件系统生成随机数,将所述随机数转换为对称密钥; 所述种子文件系统对所述种子文件进行加密,得到种子密文,具体为: 所述种子文件系统使用所述对称密钥对所述种子文件进行对称加密,得到所述种子密 文; 所述种子文件系统将所述随机数转换为对称密钥之后,还包括: 所述种子文件系统从预置的证书文件中提取公钥,并使用所述公钥对所述对称密钥进 行加密,得到密钥密文; 所述种子文件系统根据所述种子密文生成种子数字信封文件,具体为: 所述种子文件系统根据所述种子密文和所述密钥密文生成种子数字信封文件; 所述认证系统获取所述种子数字信封文件之后,还包括: 所述认证系统从所述种子数字信封文件中获取所述密钥密文,使用私钥对所述密钥密 文进行解密,得到所述对称密钥; 所述认证系统对所述种子密文进行解密,得到所述种子文件,具体为: 所述认证系统使用所述对称密钥对所述种子密文进行解密,得到所述种子文件。
9. 如权利要求8所述的方法,其特征在于,所述种子文件系统根据所述种子密文和所 述密钥密文生成种子数字信封文件之后,还包括: 所述种子文件系统使用预设的令牌序列信息对所述种子数字信封文件的文件名进行 设置; 所述认证系统使用私钥对所述密钥密文进行解密之前,还包括: 所述认证系统从所述种子数字信封文件的文件名中获取令牌序列信息,根据所述令牌 序列信息查询对应的认证引擎标识,并获取与所述认证引擎标识对应的所述私钥。
10. 如权利要求8所述的方法,其特征在于,所述种子文件系统根据所述种子密文和所 述密钥密文生成种子数字信封文件之后,还包括: 所述种子文件系统使用所述种子文件中的认证引擎标识对所述种子数字信封文件的 文件名进行设置; 所述认证系统使用私钥对所述密钥密文进行解密之前,还包括: 所述认证系统从所述种子数字信封文件的文件名中获取认证引擎标识,并根据所述认 证引擎标识获取对应的所述私钥。
11. 如权利要求8所述的方法,其特征在于,所述种子文件系统生成种子文件之后,还 包括: 所述种子文件系统对所述种子文件进行摘要计算,得到第一摘要; 所述种子文件系统根据所述种子密文和所述密钥密文生成种子数字信封文件,具体 为: 所述种子文件系统根据所述密钥密文、所述种子密文和所述第一摘要生成种子数字信 封文件; 所述认证系统对所述种子密文进行解密,得到所述种子文件之后,还包括: 所述认证系统对所述种子文件进行摘要计算,得到第二摘要,判断所述第二摘要是否 与所述种子数字信封文件中的所述第一摘要相同,如果相同,则执行步骤A5 ;否则,显示错 误信息,结束流程。
12. -种集成多种动态口令的认证系统,其特征在于,包括: 存储模块,用于存储多个认证引擎库和令牌信息; 接收模块,用于接收来自客户端的认证请求,从所述认证请求中获取令牌序列号和动 态口令; 第一查找模块,用于根据所述接收模块获取到的所述令牌序列号,从所述存储模块中 查找包含所述令牌序列号的令牌信息; 读取模块,用于在所述第一查找模块查找到包含所述令牌序列号的令牌信息后,从所 述令牌信息中读取与所述令牌序列号对应的认证引擎标识; 处理模块,用于使用所述接收模块获取到的所述动态口令和所述第一查找模块查找到 的所述令牌信息中与所述令牌序列号对应的种子数据作为参数,调用与所述读取模块读取 到的所述认证引擎标识对应的认证引擎库的认证接口,并获取所述认证接口的返回结果; 第一判断模块,用于根据所述处理模块获取到的所述返回结果判断是否认证成功; 发送模块,用于在所述第一查找模块查找不到包含所述令牌序列号的令牌信息后,向 所述客户端返回第一错误消息;在所述第一判断模块判断出认证成功后,向所述客户端返 回认证成功消息;在所述第一判断模块判断出认证失败后,向所述客户端返回认证失败消 肩、。
13. 如权利要求12所述的认证系统,其特征在于, 所述存储模块,还用于存储与各个认证引擎库对应的认证引擎信息; 所述认证系统,还包括: 第二判断模块,用于判断是否已加载与所述读取模块读取到的认证引擎标识对应的认 证引擎库; 第二查找模块,用于在所述第二判断模块判断出未加载与所述认证引擎标识对应的认 证引擎库后,根据所述读取模块读取到的认证引擎标识,从所述存储模块中查找与所述认 证引擎标识对应的认证引擎信息; 加载模块,用于在所述第二查找模块查找到与所述认证引擎标识对应的认证引擎信息 后,从所述认证引擎信息中读取认证引擎库路径,根据所述认证引擎库路径加载与所述读 取到的认证引擎标识对应的认证引擎库; 第三判断模块,用于判断所述加载模块是否加载认证引擎库成功; 所述处理模块,具体用于在所述第二判断模块判断出已加载与所述认证引擎标识对应 的认证引擎库后,以及,在所述第三判断模块判断出加载认证引擎库成功后,使用所述接收 模块获取到的所述动态口令和所述第一查找模块查找到的所述令牌信息中与所述令牌序 列号对应的种子数据作为参数,调用与所述读取模块读取到的所述认证引擎标识对应的认 证引擎库的认证接口,并获取所述认证接口的返回结果; 所述发送模块,还用于在所述第二查找模块未查找到与所述认证引擎标识对应的认证 引擎信息后,向所述客户端返回第二错误消息;在所述第三判断模块判断出加载认证引擎 库未成功后,向所述客户端返回第三错误消息。
14. 如权利要求13所述的认证系统,其特征在于, 所述第二判断模块,具体用于判断内存中的认证引擎列表中是否包含所述读取模块读 取到的认证引擎标识,如果是,则确定已加载与所述读取模块读取到的认证引擎标识对应 的认证引擎库;否则,确定没有加载与所述读取模块读取到的认证引擎标识对应的认证引 擎库; 所述认证系统,还包括: 添加模块,用于在所述第三判断模块判断出加载认证引擎库成功之后,将加载成功的 认证引擎库对应的认证引擎标识添加到所述认证引擎列表中。
15. 如权利要求12所述的认证系统,其特征在于, 所述认证引擎库的认证接口,用于获取所述动态口令和所述种子数据,从所述种子数 据中获取种子密钥、动态因子和令牌偏移量,根据所述种子密钥、所述动态因子和所述令牌 偏移量生成动态口令,并判断生成的动态口令是否与获取到的动态口令相同,如果是,则返 回表示认证成功的返回结果;否则,返回表示认证失败的返回结果。
16. 如权利要求15所述的认证系统,其特征在于,所述表示认证成功的返回结果为预 设值; 所述第一判断模块,具体用于判断所述处理模块获取到的所述返回结果是否为预设 值,如果是,则确定认证成功;否则,确定认证失败。
17. 如权利要求15所述的认证系统,其特征在于, 所述认证引擎库的认证接口,还用于在判断出所述生成的动态口令与所述获取到的动 态口令相同后,对所述种子数据中的令牌偏移量进行更新; 所述存储模块,用于对所述认证接口更新后的种子数据进行保存。
18. 如权利要求12所述的认证系统,其特征在于,还包括: 获取模块,用于获取种子数字信封文件,从所述种子数字信封文件中获取所述种子密 文; 解密模块,用于对所述获取模块获取到的所述种子密文进行解密,得到所述种子文 件; 导入模块,用于对所述解密模块解密得到的所述种子文件进行解析,将解析得到的令 牌信息导入到所述存储模块中。
19. 如权利要求18所述的认证系统,其特征在于, 所述解密模块,具体用于从所述种子数字信封文件中获取密钥密文,使用私钥对所述 密钥密文进行解密,得到所述对称密钥,使用所述对称密钥对所述种子密文进行解密,得到 所述种子文件。
20. 如权利要求19所述的认证系统,其特征在于, 所述获取模块,还用于从所述种子数字信封文件的文件名中获取令牌序列信息,根据 所述令牌序列信息查询对应的认证引擎标识,并获取与所述认证引擎标识对应的所述私 钥; 所述解密模块,具体用于从所述种子数字信封文件中获取密钥密文,使用所述获取模 块获取到的私钥对所述密钥密文进行解密,得到所述对称密钥,使用所述对称密钥对所述 种子密文进行解密,得到所述种子文件。
21. 如权利要求19所述的认证系统,其特征在于, 所述获取模块,还用于从所述种子数字信封文件的文件名中获取认证引擎标识,并根 据所述认证引擎标识获取对应的所述私钥; 所述解密模块,具体用于从所述种子数字信封文件中获取密钥密文,使用所述获取模 块获取到的私钥对所述密钥密文进行解密,得到所述对称密钥,使用所述对称密钥对所述 种子密文进行解密,得到所述种子文件。
22. 如权利要求19所述的认证系统,其特征在于,还包括:验证模块,用于对所述解密 模块解密得到的所述种子文件进行摘要计算,得到第二摘要,判断所述第二摘要是否与所 述种子数字信封文件中的所述第一摘要相同,如果相同,则触发所述导入模块对所述种子 文件进行解析,将解析得到的令牌信息导入到所述数据库中;否则,显示错误信息。
【文档编号】H04L9/08GK104092545SQ201410304869
【公开日】2014年10月8日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1