专利名称:一种安全交易的方法和系统的制作方法
技术领域:
本发明涉及信息安全领域,特别涉及一种安全交易的方法和系统。
背景技术:
随着网络技术在人们日常生活中的应用越来越广泛,人们已经越来越依赖于网络 进行更多的日常活动,例如利用网络进行购物、办公、娱乐等。也正是由于网络应用的加 强,各种提供便捷服务的网站也应运而生,使得各种网站的数量不断增加,同时对网络的安 全性要求也越来越高,尤其是网络银行、政府办公相关的网站,要求合法用户登录的绝对安 全。由于黑客技术的发展,很明显的,传统的用户名加静态密码的验证方式已经不能满足现 有的安全性要求。 近年来,在认证领域广泛的发展起来动态口令的认证方式,在对静态密码进行验 证的基础上增加了动态密码的验证,使得用户口令多了一层保护,大大增加了安全性。在现 有技术中,动态口令的验证通常是这样进行的,提供服务的一方向客户端的主机发放动态 口令令牌,这种令牌是一种自带有处理器的电子设备,其大小如同U盘,在装有电池或接电 的情况下可以独立运行。通常在动态口令令牌内部安全地存储有与其对应的种子(也称为 静态因子),所述种子为一个长字符串或数据。动态口令令牌可以根据内置的动态口令算法 利用种子和动态因子生成动态口令,动态因子可以为时间或事件因素,因此可以达到一次 一密的效果,安全性相当高。 钓鱼网站是一种假冒网站,其完全模仿真网站的界面,只是在URL上与真网站有
细微差别,普通用户在不仔细查看的情况下很容易混淆钓鱼网站与真网站,钓鱼网站冒充
真网站,如果用户打开了钓鱼网站并进行登录,钓鱼网站会记录用户所输入的登录信息,并
使用这些信息冒充用户在真网站上进行登录,造成用户信息和财产的损失。 在实现本发明的过程中,发明人发现现有技术至少存在以下缺点 在现有技术中,动态口令技术虽然安全性高,不易破解,但是却无法防止钓鱼网站
的攻击,使得用户很多重要信息的安全性受到很大威胁。
发明内容
为了提高用户在交易过程中的安全性,本发明实施例提供了一种安全交易的方 法。所述技术方案如下 —种安全交易的方法,所述方法包括 认证服务器接收来自客户端的交易信息和第一数值,所述第一数值由动态口令令 牌的动态因子得到的; 所述认证服务器根据所述交易信息查找对应的动态口令令牌的种子,根据所述第 一数值校正所述认证服务器的动态因子,并根据所述校正后得到的动态因子及所述查找得 到的动态口令令牌的种子生成第一动态口令,并将所述第一动态口令转换为第一验证口令 和第二验证口令;
所述认证服务器将所述第一验证口令和所述交易信息返回给所述客户端;
所述动态口令令牌根据所述动态口令令牌的动态因子和所述动态口令令牌内预 先存储的种子生成第二动态口令,并将所述第二动态口令转换为第三验证口令和第四验证 口令; 所述客户端在接收到用户核对所述第三验证口令与所述接收到的第一验证口令 一致的确认信息后,使用所述第四验证口令对所述交易信息进行加密,得到密文信息,并将 所述密文信息发送给所述认证服务器,所述认证服务器使用所述第二验证口令对所述密文 信息进行解密,得到明文信息,并判断所述明文信息与所述交易信息是否一致,当一致时, 执行交易;当不一致时,拒绝交易。 所述动态因子为随机数或所述动态口令令牌生成动态口令的次数。
当所述动态因子为随机数时,所述第一数值即为所述随机数; 当所述动态因子为所述动态口令令牌生成动态口令的次数时,所述第一数值由所 述动态口令令牌根据所述动态口令令牌生成的动态口令次数得到。 所述认证服务器根据所述交易信息查找对应的动态口令令牌的种子,并根据所述 第一数值校正所述认证服务器的动态因子,根据所述校正后得到的动态因子及所述查找得 到的动态口令令牌的种子生成第一动态口令,具体包括 所述认证服务器根据接收到的交易信息中的用户账号查找与所述用户账号绑定 的动态口令令牌编号; 根据所述动态口令令牌编号查找与所述动态口令令牌编号对应的动态口令令牌 的种子; 当所述动态因子为随机数时,所述认证服务器将接收到的所述第一数值作为所述 动态因子,并利用所述第一数值和所述查找得到的动态口令令牌的种子,按照动态口令生 成算法生成第一动态口令; 当所述动态因子为所述动态口令令牌生成动态口令的次数时,利用所述第一数值
对所述认证服务器存储的生成动态口令次数进行校正,所述认证服务器使用校正后的生成
动态口令次数和查找得到的种子,按照动态口令生成算法生成第一动态口令。 将所述第一动态口令转换为第一验证口令和第二验证口令,具体包括 所述认证服务器从所述第一动态口令中取出预定长度的数据,将取出的数据转换
为字母后作为第一验证口令,并将所述第一动态口令的其余数据作为第二验证口令; 或者 所述认证服务器从所述第一动态口令中取出预定长度的数据作为第一验证口令, 其余数据转换为字母后作为第二验证口令。 所述将所述第二动态口令转换为第三验证口令和第四验证口令,具体包括
所述动态口令令牌从所述第二动态口令中取出预定长度的数据,将取出的数据转
换为字母后作为第三验证口令,并将所述动态口令的其余数据作为第四验证口令;
或者 所述动态口令令牌从所述第二动态口令中取出预定长度的数据作为第三验证口 令,其余数据转换为字母后作为第四验证口令。 所述加密、解密的算法为所述客户端与所述认证服务器预先约定的。
—种安全交易的系统,所述系统包括客户端、动态口令令牌和认证服务器;
所述动态口令令牌包括 生成模块,用于根据所述动态口令令牌的动态因子生成第一数值,还用于根据动 态因子和预先存储的种子生成第二动态口令; 转换模块,用于将所述生成模块生成的第二动态口令转换为第三验证口令和第四 验证口令; 输出模块,用于输出所述生成模块生成的第一数值,还用于输出所述转换模块转 换得到的第三验证口令和第四验证口令;
所述客户端包括 接收模块,用于接收用户输入的交易信息和所述第一数值,以及接收用户比对第 一验证口令与所述动态口令令牌的转换模块转换得到的第三验证口令一致的确认信息;
所述接收模块还用于接收所述认证服务器发送的第一验证口令和交易信息;
发送模块,用于将所述接收模块接收到的用户输入的交易消息和所述第一数值发 送给所述认证服务器; 输出模块,用于输出所述接收模块接收到的所述认证服务器发送的第一验证口令 和交易信息; 所述接收模块还用于接收所述用户发送的判断所述第三验证口令与所述第一验 证口令是否相同的判断信号; 加密模块,用于当所述接收模块接收到接收用户比对第一验证口令与所述动态口 令令牌的转换模块转换得到的第三验证口令一致的确认信息时,使用所述第四验证口令对 接收到的所述交易信息进行加密,得到密文信息; 所述发送模块还用于将所述密文信息发送给所述认证服务器; 处理模块,用于当所述接收模块接收到的判断信号为不相同时,取消交易; 所述认证服务器包括 接收模块,用于接收所述客户端的发送模块发送的第一数值和交易信息; 生成模块,用于根据所述认证服务器的接收模块接收到的所述第一数值生成第一
动态口令; 转换模块,用于将所述认证服务器的生成模块生成的第一动态口令转换为第一验 证口令和第二验证口令; 发送模块,用于将所述认证服务器的转换模块转换得到的所述第一验证口令和所 述交易信息发送给所述客户端; 所述接收模块还用于接收所述客户端发送的密文信息; 解密模块,用于使用所述第二验证口令对所述密文信息进行解密,得到明文信 息; 判断模块,用于判断所述明文信息与其保存的交易信息是否一致; 交易模块,用于当所述判断模块的判断结果为一致时,执行交易;当所述判断模块
的判断结果为不一致时,拒绝交易。 所述动态因子为随机数或所述动态口令令牌生成动态口令的次数。
当所述动态因子为随机数时,所述第一数值即为所述随机数;
当所述动态因子为所述动态口令令牌生成动态口令的次数时,所述第一数值由所 述动态口令令牌根据生成的动态口令次数得到。
所述认证服务器的生成模块,具体包括 编号查找单元,用于根据接收到的交易信息中的用户账号查找与所述用户账号绑 定的动态口令令牌编号; 种子查找单元,用于根据所述动态口令令牌编号查找动态口令令牌的种子; 动态口令生成单元,用于当所述动态因子为随机数时,所述认证服务器将接收到
的所述第一数值作为所述动态因子,并利用所述第一数值和所述查找得到的动态口令令牌
的种子,按照动态口令生成算法生成第一动态口令;当所述动态因子为动态口令令牌生成
动态口令的次数时,利用所述第一数值对所述认证服务器存储的生成动态口令次数进行校
正,使用校正后的生成动态口令次数和查找得到的种子,按照动态口令生成算法生成第一
动态口令。 所述认证服务器的转换模块,具体用于 从所述第一动态口令中取出预定长度的数据,将取出的数据转换为字母后作为第 一验证口令,并将所述第一动态口令的其余数据作为第二验证口令;
或者 从所述第一动态口令中取出预定长度的数据作为第一验证口令,其余数据转换为 字母后作为第二验证口令。 所述动态口令令牌的转换模块,具体用于 所述动态口令令牌从所述第二动态口令中取出预定长度的数据,将取出的数据转
换为字母后作为第三验证口令,并将所述动态口令的其余数据作为第四验证口令;
或者 所述动态口令令牌从所述第二动态口令中取出预定长度的数据作为第三验证口 令,其余数据转换为字母后作为第四验证口令。 所述客户端所使用的加密算法、所述认证服务器所使用的解密算法为所述客户端 与所述认证服务器预先约定的。 本发明实施例提供的技术方案带来的有益效果是 通过认证服务器与客户端动态口令令牌之间的双向身份认证、以及签名操作等, 验证用户身份的同时,还能保证交易信息的安全性,防止用户身份被假冒、仿冒、以及交易 信息被伪造、篡改等。
图1是本发明实施例1中提供的一种安全交易的方法流程图;
图2是本发明实施例2中提供的一种安全交易的方法流程图;
图3是本发明实施例3中提供的一种安全交易的系统结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
9
实施例1 本发明实施例提供了一种安全交易的方法,该方法可以通过动态口令令牌和认证 服务器来共同实现用户在网络交易的过程中安全。其中,需要说明的是,本实施例提供的每 个动态口令令牌具有唯一的编号,并且每个动态口令令牌中都存储有种子,所述种子为动 态口令令牌利用动态口令算法生成动态口令时所需的静态参数,每个动态口令令牌中存储 的种子不重复,认证服务器预先存储有与用户账号对应的动态口令令牌的编号和种子,并 存储有与动态口令令牌相同的动态口令算法。参见图l,该方法包括 步骤101 : 动态口令令牌生成随机数,将所述随机数作为第一数值,并将该随机 数进行保存; 其中,本发明实施例所提供的动态口令令牌是一种脱机使用的动态口令生成装 置,与客户端主机之间不存在物理意义上的连接关系。动态口令令牌所生成并显示的数据, 均由动态口令令牌的合法持有用户输入到客户端主机中。 需要说明的是,使动态口令令牌生成随机数的方法有多种,例如,动态口令令牌带 有按键,用户第一次按下按键后,动态口令令牌根据内置的算法生成一个随机数,其中,随 机数可以为一个2到8位数字,但不局限于2-8位。
步骤102 :客户端主机接收用户输入的交易信息和第一数值; 其中,用户可以用过客户端主机的输入装置将相关的交易信息、以及步骤101中 动态口令令牌生成的随机数作为第一数值输入到客户端主机中。交易信息中可以但不限于 包括用户账号、用户密码、交易金额、货币类型等。
步骤103 :客户端主机将第一数值和交易信息发送给认证服务器; 其中,认证服务器在线对用户身份进行认证,认证服务器与动态口令令牌之间使
用同样的约定规则生成动态口令。
步骤104 :认证服务器根据接收到的第一数值生成第一动态口令,并根据约定的
规则将第一动态口令转换为第一验证口令和第二验证口令; 其中,认证服务器根据第一数值生成第一动态口令具体包括 认证服务器根据接收到的交易信息中的用户账号查找与该用户的用户账号绑定 的动态口令令牌编号,根据动态口令令牌编号查找动态口令令牌的种子;
认证服务器根据接收到的第一数值(即随机数)和查找得到的种子,按照动态口 令生成算法生成第一动态口令。 进一步的,认证服务器根据用户账号查找用户所持的动态口令令牌的种子还可以 为 在用户将动态口令令牌与用户账号绑定时,服务端建立用户账号与动态口令令牌 种子的对应关系,在认证服务器查找种子时,根据用户账号直接就可以找到对应的动态口 令令牌种子。 在本实施例中,以生成的第一动态口令为8位进行说明,认证服务器根据第一数 值和其保存的与步骤101中的动态口令令牌相应的种子生成第一动态口令,可以应用的动 态口令生成算法包括HMAC-SHAl、MD5、SHA-l、SHA-256等。 优选地,约定的规则可以为认证服务器从第一动态口令中取出预定长度的数据, 转换为字母形式后作为第一验证口令,第一动态口令的其余数据作为第二验证口令;
优选地,约定的规则还可以为从第一动态口令中取出预定长度的数据取出作为 第一验证口令,其余数据转换为字母形式后作为第二验证口令。 需要说明的是,除了字母、数字形式的验证口令之外,还可以包括其他字符形式的 第一验证口令、或第二验证口令,本发明实施例中不做硬性规定。 例如,以生成的第一动态口令为65882632进行说明,将前三位6、5、8取出,第一、
二位进行组合,第一、三位进行组合,第二、三位进行组合,得打65, 68, 58三个数字,使用这
三个数字与26相除,分别得到余数13、 16、6,设26个英文字母A-Z分别与数字1_26相对应
(字母不区分大小写的情况),则根据上述余数对应字母表可以得到字母M、 P、 F,则得到第
一验证口令为MPF,第一动态口令中剩余的部分82632作为第二验证口令。 当步骤101中的动态口令令牌的显示器为段式显示器时,还包括将第一验证码转
换成七段显示码,假设段式显示器可以表示的字母为A、 b、 C、 d、 E、 F、 P,在不区分大小写的
情况下,使上述字母与数字1-7相对应,同上述方法,将第一动态口令65882632的前三位6、
5、8取出,第一、二位进行组合,第一、三位进行组合,第二、三位进行组合,得打65, 68, 58三
个数字,使用这三个数字与7相除,分别得到余数2、5、2,由余数2、5、2对应的字母可知第一
验证口令为bEb,将第一动态口令中剩余的部分82632作为第二验证口令。
步骤105 :认证服务器将第一验证口令及交易信息发送给客户端主机; 步骤106 :客户端主机接收到认证服务器发送的第一验证口令及交易信息,将交
易信息输出,由用户判断输出的交易信息是否正确; 如果是,用户发送确认信号给客户端主机; 如果否,执行步骤lll。 其中,需要说明的是,客户端主机将交易信息输出的方式包括但不显示显示、语 音播报等。 用户判断输出的交易信息是否正确的过程可以包括用户判断客户端主机输出的 交易信息是否与步骤101中提交的交易信息相一致。 当判断结果为一致,用户可以通过按键确认、语音确认等方式对客户端主机输出 的交易信息进行确认。
步骤107 :动态口令令牌生成第二动态口令,并按约定的规则将第二动态口令转
换成第三验证口令和第四验证口令,并将第三验证口令和第四验证口令同时输出; 使动态口令令牌生成第二动态口令的方式有很多种,例如用户第二次按下动态口
令令牌的按键时生成第二动态口令。生成第二动态口令的过程可以包括 动态口令令牌使用步骤101中生成的随机数作为动态因子和其内部存储的种子
按照动态口令算法生成第二动态口令,其中,生成第二动态口令的算法与步骤104中认证
服务器生成第一动态口令的算法相同。 按约定的规则将第二动态口令转换成第三验证口令和第四验证口令与步骤104 中的方法相同,不再赘述,在动态口令令牌将第三验证口令和第四验证口令进行输出时,采 用动态口令令牌显示器同时进行输出,例如动态口令令牌为段码式显示器时,输出形式为 bEb82632 ; 步骤108 :用户将动态口令令牌输出的第三验证口令与客户端主机接收到的认证 服务器发送的第一验证口令进行比对;
如果相同,则认为认证服务器是合法的,执行步骤109 ; 如果不相同,则认为认证服务器不合法,执行步骤112 ; 步骤109 :用户将第四验证口令输入客户端主机,客户端主机根据第四验证口令
对交易信息进行加密操作,并将加密得到的密文信息发送给认证服务器; 步骤110 :认证服务器根据第二验证口令对接收到的密文信息进行解密操作,得
到明文信息,并判断所述明文信息是否与交易信息一致; 如果一致,执行步骤113 ; 如果不一致,执行步骤114。 本发明实施例中,客户端主机与认证服务器采用预先约定的相同的加解密算法进
行加解密操作,例如AES、 RSA、3DES等加解密算法。 步骤111 :用户取消本次交易; 步骤112 :用户停止本次交易; 步骤113 :进行网上交易; 步骤114:拒绝执行交易。
本发明实施例提供了一种安全交易的方法,通过认证服务器与客户端之间的双向 身份认证、以及签名操作等,验证用户身份的同时,还能保证交易信息的安全性,防止用户 身份被假冒、仿冒、以及交易信息被伪造、篡改等。
实施例2 本发明实施例提供了一种安全交易的方法,该方法可以通过动态口令令牌和认证 服务器来共同实现用户在网络交易的过程中安全。其中,需要说明的是,本实施例提供的每 个动态口令令牌具有唯一的编号,并且每个动态口令令牌中都存储有种子,所述种子为动 态口令令牌利用动态口令算法生成动态口令时所需的静态参数,每个动态口令令牌中存储 的种子不重复,认证服务器预先存储有与用户账号对应的动态口令令牌的编号和种子,并 存储有与动态口令令牌相同的动态口令算法。参见图2,该方法包括 步骤201 :动态口令令牌读取其存储的已生成动态口令的次数,并根据该次数生 成第一数值; 在本实施例中,优选地,动态口令令牌输出第一数值可以采取如下方法以动态口 令令牌中已生成动态口令的次数为6322次为例进行说明当用户第一次按下动态口令令 牌的按键(或其他触发方式)时,动态口令令牌将6322的后两位作为第一数值,并在动态 口令令牌的显示器显示输出第一数值为22,即输出实际次数的后两位。采用上述输出第一 数值的方法,不仅输出方便,而且保密性好。 当然,也可以输出实际次数的后三位、后四位、甚至是全部实际次数,本实施例以
后两位为例,但并不用以限制本发明的保护范围。
步骤202 :客户端主机接收用户输入的交易信息; 其中,用户可以用过客户端主机的输入装置将相关的交易信息输入到客户端主机 中。交易信息可以包括用户账号、用户密码、交易金额、货币类型等。
步骤203 :客户端主机将第一数值和交易信息发送给认证服务器;
步骤204 :认证服务器对自身生成的动态口令次数进行校正; 在本实施例中,根据接收到的第一数值的位数对认证服务器自身生成的动态口令次数进行校正。 需要说明的是,在动态口令令牌与用户账号绑定后,认证服务器存储有动态口令 令牌的编号、种子和生成动态口令的次数,并且存储有用户账号与动态口令令牌的编号之 间的对应关系。当认证服务器接收到交易信息中的用户账号和生成动态口令次数时,认证 服务器根据用户账号查找对应的动态口令令牌编号和种子,并读取其生成动态口令令牌的 次数,例如为6320,以用户输入的第一数值为动态口令令牌生成动态口令次数的最后两位 为例,认证服务器对生成次数进行校正时采用如下方法 (1)当认证服务器保存的动态口令生成次数最后两位小于第一数值时,使用第一 数值替换认证服务器保存的动态口令生成次数的最后两位,例如,在本实施例中,第一数值 为22,校正认证服务器保存的动态口令生成次数得到6322 ; (2)当认证服务器保存的动态口令生成次数最后两位大于第一数值时,使用第一 数值替换认证服务器保存的动态口令生成次数的最后两位,并加上ioo,例如,如果第一数 值为15,则校正认证服务器保存的动态口令生成次数得到6415 ; (3) 当认证服务器保存的动态口令生成次数最后两位等于第一数值时,认为认
证服务器保存的动态口令生成次数与动态口令令牌存储的动态口令生成次数一致。 其中,当动态口令令牌存储的动态口令生成次数大于认证服务器保存的动态口令
生成次数100及以上时,认为认证服务器保存的动态口令生成次数与动态口令令牌存储的
动态口令生成次数之间的误差过大,需要将动态口令令牌同用户名重新进行绑定,故在此
不做考虑,即默认动态口令令牌存储的动态口令生成次数大于认证服务器保存的动态口令
生成次数100以下。 当然,需要说明的是,由于本实施例仅以第一数值为实际次数的后两位为例进行 说明,本领域普通技术人员根据此例推导出的第一数值为实际次数的后一位、后三位等,均 在本发明的保护范围之内,在此不做赘述。当第一数值是完整的动态口令令牌生成动态口 令的次数时,认证服务器生将成动态口令次数直接校正为动态口令令牌生成动态口令的次 数,本实施例中即将生成次数校正为6322。 步骤205 :认证服务器根据校正后的动态口令生成次数和种子生成第一动态口
令,并根据约定的规则将第一动态口令转换为第一验证口令和第二验证口令; 在本实施例中,以生成的第一动态口令为8位进行说明,认证服务器根据动态口
令生成次数和其保存的与步骤201中的动态口令令牌相应的种子生成第一动态口令,可以
应用的算法包括HMAC-SHA1、MD5、 SHA-1、 SHA-256等。 优选地,约定的规则可以为认证服务器从第一动态口令中取出预定长度的数据, 转换为字母形式后作为第一验证口令,第一动态口令的其余数据作为第二验证口令;
优选地,约定的规则还可以为从第一动态口令中取出预定长度的数据取出作为 第一验证口令,其余数据转换为字母形式后作为第二验证口令。 需要说明的是,除了字母、数字形式的验证口令之外,还可以包括其他字符形式的 第一验证口令、或第二验证口令,本发明实施例中不做硬性规定。 例如,以生成的第一动态口令为65882632进行说明,将前三位6、5、8取出,第一、 二位进行组合,第一、三位进行组合,第二、三位进行组合,得打65, 68, 58三个数字,使用这 三个数字与26相除,分别得到余数13、 16、6,设26个英文字母A-Z分别与数字1_26相对应
13(字母不区分大小写的情况),则根据上述余数对应字母表可以得到字母M、 P、 F,则得到第
一验证口令为MPF,第一动态口令中剩余的部分82632作为第二验证口令。 当步骤201中的动态口令令牌的显示器为段式显示器时,还包括将第一验证码转
换成七段显示码,假设段式显示器可以表示的字母为A、 b、 C、 d、 E、 F、 P,在不区分大小写的
情况下,使上述字母与数字1-7相对应,同上述方法,将第一动态口令65882632的前三位6、
5、8取出,第一、二位进行组合,第一、三位进行组合,第二、三位进行组合,得打65, 68, 58三
个数字,使用这三个数字与7相除,分别得到余数2、5、2,由余数2、5、2对应的字母可知第一
验证口令为bEb,将第一动态口令中剩余的部分82632作为第二验证口令。
步骤206 :认证服务器将第一验证口令及交易信息发送给客户端主机; 步骤207 :客户端主机接收到认证服务器发送的第一验证口令及交易信息,将交
易信息输出,用户判断输出的交易信息是否正确; 如果是,用户发送确认信号给客户端主机; 如果否,执行步骤211。 其中,需要说明的是,客户端主机将交易信息输出的方式包括但不显示显示、语 音播报等。 用户判断输出的交易信息是否正确的过程可以包括用户判断客户端主机输出的 交易信息是否与步骤101中提交的交易信息相一致。 当判断结果为一致,用户可以通过按键确认、语音确认等方式对客户端主机输出 的交易信息进行确认。
步骤208 :动态口令令牌生成第二动态口令,并按约定的规则将第二动态口令转
换成第三验证口令和第四验证口令,并将第三验证口令和第四验证口令同时输出; 使动态口令令牌生成第二动态口令的方式有很多种,例如用户第二次按下动态口
令令牌的按键时生成第二动态口令。生成第二动态口令的过程可以包括 动态口令令牌使用步骤201中生成动态口令的次数作为动态因子和其内部存储
的种子按照动态口令算法生成第二动态口令,其中,生成第二动态口令的算法与步骤105
中认证服务器生成第一动态口令的算法相同。 按约定的规则将第二动态口令转换成第三验证口令和第四验证口令与步骤205 中的方法相同,不再赘述,在动态口令令牌将第三验证口令和第四验证口令进行输出时,采 用动态口令令牌显示器同时进行输出,例如动态口令令牌为段码式显示器时,输出形式为 bEb82632 ; 步骤209 :用户将第三验证口令与第一验证口令比对;
如果相同,则认为认证服务器是合法的,执行步骤210 ;
如果不相同,则认为认证服务器不合法,执行步骤212 ; 步骤210 :用户将第四验证口令输入客户端主机,客户端主机根据第四验证口令
对交易信息进行加密操作,并将加密得到的密文信息发送给认证服务器; 步骤211 :认证服务器根据第二验证口令对接收到的密文信息进行解密操作,得
到明文信息,并判断所述明文信息是否与交易信息一致; 如果一致,执行步骤214 ; 如果不一致,执行步骤215。
本发明实施例中,客户端主机与认证服务器采用预先约定的相同的加解密算法进
行加解密操作,例如AES、 RSA、3DES等加解密算法。
步骤212 :用户取消本次交易; 步骤213 :用户停止本次交易; 步骤214 :进行网上交易; 步骤214 :拒绝执行交易。 进一步需要说明的是,如果动态口令令牌将动态口令令牌生成动态口令的次数完 整的作为第一数值输出,这样,认证服务器其实并不需要要存储自身生成动态口令的次数, 当然也就不需要对生成动态口令的次数进行校正;因此上述步骤中的201 205还可以有 以下步骤替代 步骤201':动态口令令牌读取其存储的已生成动态口令次数,并将该已动态口令 次数作为第一数值输出; 步骤202':客户端主机接收用户输入的交易信息; 步骤203':客户端主机将第一数值和交易信息发送给认证服务器; 步骤204':认证服务器根据接收到的动态口令生成次数和种子生成第一动态口
令,并根据约定的规则将第一动态口令转换为第一验证口令和第二验证口令。
本发明实施例提供了 一种安全交易的方法,通过认证服务器与客户端动态口令令
牌之间的双向身份认证、以及签名操作等,验证用户身份的同时,还能保证交易信息的安全
性,防止用户身份被假冒、仿冒、以及交易信息被伪造、篡改等。 实施例3 参见图3,本发明实施例提供了一种安全交易的系统,该系统包括客户端301、动
态口令令牌302和认证服务器303 ; 动态口令令牌302包括 输出模块302A,用于输出第一数值; 生成模块302B,用于根据动态因子和预先保持的种子生成第二动态口令; 转换模块302C,用于将生成模块302B生成的第二动态口令转换为第三验证口令
和第四验证口令; 客户端301包括 接收模块301A,用于接收用户输入的交易信息; 发送模块301B,用于将动态口令令牌302的输出模块302A输出的第一数值和接收 模块301A接收到的交易消息发送给认证服务器303 ; 接收模块301A还用于接收认证服务器303发送的第一验证口令和交易信息;
输出模块301C,用于输出接收模块301A接收到的第一验证口令和交易信息;
接收模块301A还用于接收用户发送的判断第三验证口令与第一验证口令是否相 同的判断信号; 加密模块301D,用于当接收模块301A接收到的判断信号为相同时,使用第四验证 口令对交易信息进行加密,得到密文信息; 发送模块301B还用于将密文信息发送给认证服务器303 ; 处理模块301E,用于当接收模块301A接收到的判断信号为不相同时,取消交易;
认证服务器303包括 接收模块303A,用于接收客户端的发送模块301B发送的第一数值和交易信息;
生成模块303B,用于根据认证服务器303的接收模块303A接收到的第一数值生成 第一动态口令; 转换模块303C,用于将认证服务器303的生成模块303B生成的第一动态口令转换 为第一验证口令和第二验证口令; 发送模块303D,用于将认证服务器303的转换模块303C转换得到的第一验证口令 和交易信息发送给客户端301 ; 接收模块303A还用于接收客户端301发送的密文信息; 解密模块303E,用于使用第二验证口令对密文信息进行解密,得到明文信息; 判断模块303F,用于判断明文信息与其保存的交易信息是否一致; 交易模块303G,用于当判断模块303F的判断结果为一致时,执行交易;当判断模
块的判断结果为不一致时,拒绝交易。 其中,动态因子为随机数或动态口令令牌生成动态口令的次数。
当动态因子为随机数时,第一数值即为该随机数; 当动态因子为动态口令令牌生成动态口令的次数时,第一数值由动态口令令牌根 据生成的动态口令次数得到。 相应的,动态口令令牌302的生成模块302B,具体用于 当动态因子为随机数时,利用随机数和动态口令令牌内部存储的种子,按照动态 口令生成算法生成第二动态口令; 当动态因子为动态口令令牌生成动态口令的次数时,利用第一数值对认证服务器
存储的生成动态口令次数进行校正,认证服务器使用校正后的生成动态口令次数和查找得
到的种子,按照动态口令生成算法生成第二动态口令。 相应的,认证服务器303的转换模块303C,具体用于 从第一动态口令中取出预定长度的数据,将取出的数据转换为字母后作为第一验 证口令,并将第一动态口令的其余数据作为第二验证口令;
或者 从第一动态口令中取出预定长度的数据作为第一验证口令,其余数据转换为字母 后作为第二验证口令。 相应的,动态口令令牌302的转换模块302C,具体用于 动态口令令牌从第二动态口令中取出预定长度的数据,将取出的数据转换为字母
后作为第三验证口令,并将动态口令的其余数据作为第四验证口令;
或者 动态口令令牌从第二动态口令中取出预定长度的数据作为第三验证口令,其余数 据转换为字母后作为第四验证口令。 其中,客户端301所使用的加密算法、认证服务器303所使用的解密算法为客户端 301与认证服务器303预先约定的。 本发明实施例提供了一种安全交易的系统,通过认证服务器与客户端动态口令令 牌之间的双向身份认证、以及签名操作等,验证用户身份的同时,还能保证交易信息的安全
16性,防止用户身份被假冒、仿冒、以及交易信息被伪造、篡改等。 以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则 之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种安全交易的方法,其特征在于,所述方法包括认证服务器接收来自客户端的交易信息和第一数值,所述第一数值由动态口令令牌的动态因子得到;所述认证服务器根据所述交易信息查找对应的动态口令令牌的种子,根据所述第一数值校正所述认证服务器的动态因子,并根据所述校正后得到的动态因子及所述查找得到的动态口令令牌的种子生成第一动态口令,并将所述第一动态口令转换为第一验证口令和第二验证口令;所述认证服务器将所述第一验证口令和所述交易信息返回给所述客户端;所述动态口令令牌根据所述动态口令令牌的动态因子和所述动态口令令牌内预先存储的种子生成第二动态口令,并将所述第二动态口令转换为第三验证口令和第四验证口令;所述客户端在接收到用户核对所述第三验证口令与所述接收到的第一验证口令一致的确认信息后,使用所述第四验证口令对所述交易信息进行加密,得到密文信息,并将所述密文信息发送给所述认证服务器,所述认证服务器使用所述第二验证口令对所述密文信息进行解密,得到明文信息,并判断所述明文信息与所述交易信息是否一致,当一致时,执行交易;当不一致时,拒绝交易。
2. 如权利要求1所述的方法,其特征在于,所述动态因子为随机数或所述动态口令令 牌生成动态口令的次数。
3. 如权利要求2所述的方法,其特征在于,当所述动态因子为随机数时,所述第一数值 即为所述随机数;当所述动态因子为所述动态口令令牌生成动态口令的次数时,所述第一数值由所述动 态口令令牌根据所述动态口令令牌生成的动态口令次数得到。
4. 如权利要求3所述的方法,其特征在于,所述认证服务器根据所述交易信息查找对 应的动态口令令牌的种子,并根据所述第一数值校正所述认证服务器的动态因子,根据所 述校正后得到的动态因子及所述查找得到的动态口令令牌的种子生成第一动态口令,具体 包括所述认证服务器根据接收到的交易信息中的用户账号查找与所述用户账号绑定的动 态口令令牌编号;根据所述动态口令令牌编号查找与所述动态口令令牌编号对应的动态口令令牌的种子;当所述动态因子为随机数时,所述认证服务器将接收到的所述第一数值作为所述动态 因子,并利用所述第一数值和所述查找得到的动态口令令牌的种子,按照动态口令生成算 法生成第一动态口令;当所述动态因子为所述动态口令令牌生成动态口令的次数时,利用所述第一数值对所 述认证服务器存储的生成动态口令次数进行校正,所述认证服务器使用校正后的生成动态 口令次数和查找得到的种子,按照动态口令生成算法生成第一动态口令。
5. 如权利要求1所述的方法,其特征在于,将所述第一动态口令转换为第一验证口令 和第二验证口令,具体包括所述认证服务器从所述第一动态口令中取出预定长度的数据,将取出的数据转换为字母后作为第一验证口令,并将所述第一动态口令的其余数据作为第二验证口令; 或者所述认证服务器从所述第一动态口令中取出预定长度的数据作为第一验证口令,其余 数据转换为字母后作为第二验证口令。
6. 如权利要求1所述的方法,其特征在于,所述将所述第二动态口令转换为第三验证 口令和第四验证口令,具体包括所述动态口令令牌从所述第二动态口令中取出预定长度的数据,将取出的数据转换为 字母后作为第三验证口令,并将所述动态口令的其余数据作为第四验证口令;或者所述动态口令令牌从所述第二动态口令中取出预定长度的数据作为第三验证口令,其 余数据转换为字母后作为第四验证口令。
7. 如权利要求1所述的方法,其特征在于,所述加密、解密的算法为所述客户端与所述 认证服务器预先约定的。
8. —种安全交易的系统,其特征在于,所述系统包括客户端、动态口令令牌和认证服 务器;所述动态口令令牌包括生成模块,用于根据所述动态口令令牌的动态因子生成第一数值,还用于根据动态因子和预先存储的种子生成第二动态口令;转换模块,用于将所述生成模块生成的第二动态口令转换为第三验证口令和第四验证 口令;输出模块,用于输出所述生成模块生成的第一数值,还用于输出所述转换模块转换得 到的第三验证口令和第四验证口令; 所述客户端包括接收模块,用于接收用户输入的交易信息和所述第一数值,以及接收用户比对第一验 证口令与所述动态口令令牌的转换模块转换得到的第三验证口令一致的确认信息; 所述接收模块还用于接收所述认证服务器发送的第一验证口令和交易信息; 发送模块,用于将所述接收模块接收到的用户输入的交易消息和所述第一数值发送给 所述认证服务器;输出模块,用于输出所述接收模块接收到的所述认证服务器发送的第一验证口令和交 易信息;所述接收模块还用于接收所述用户发送的判断所述第三验证口令与所述第一验证口 令是否相同的判断信号;加密模块,用于当所述接收模块接收到接收用户比对第一验证口令与所述动态口令令 牌的转换模块转换得到的第三验证口令一致的确认信息时,使用所述第四验证口令对接收 到的所述交易信息进行加密,得到密文信息;所述发送模块还用于将所述密文信息发送给所述认证服务器;处理模块,用于当所述接收模块接收到的判断信号为不相同时,取消交易;所述认证服务器包括接收模块,用于接收所述客户端的发送模块发送的第一数值和交易信息;生成模块,用于根据所述认证服务器的接收模块接收到的所述第一数值生成第一动态 口令;转换模块,用于将所述认证服务器的生成模块生成的第一动态口令转换为第一验证口 令和第二验证口令;发送模块,用于将所述认证服务器的转换模块转换得到的所述第一验证口令和所述交 易信息发送给所述客户端;所述接收模块还用于接收所述客户端发送的密文信息;解密模块,用于使用所述第二验证口令对所述密文信息进行解密,得到明文信息; 判断模块,用于判断所述明文信息与其保存的交易信息是否一致;交易模块,用于当所述判断模块的判断结果为一致时,执行交易;当所述判断模块的判 断结果为不一致时,拒绝交易。
9. 如权利要求8所述的系统,其特征在于,所述动态因子为随机数或所述动态口令令牌生成动态口令的次数。
10. 如权利要求9所述的系统,其特征在于,当所述动态因子为随机数时,所述第一数 值即为所述随机数;当所述动态因子为所述动态口令令牌生成动态口令的次数时,所述第一数值由所述动 态口令令牌根据生成的动态口令次数得到。
11. 如权利要求IO所述的系统,其特征在于,所述认证服务器的生成模块,具体包括 编号查找单元,用于根据接收到的交易信息中的用户账号查找与所述用户账号绑定的动态口令令牌编号;种子查找单元,用于根据所述动态口令令牌编号查找动态口令令牌的种子; 动态口令生成单元,用于当所述动态因子为随机数时,所述认证服务器将接收到的所 述第一数值作为所述动态因子,并利用所述第一数值和所述查找得到的动态口令令牌的种 子,按照动态口令生成算法生成第一动态口令;当所述动态因子为动态口令令牌生成动态 口令的次数时,利用所述第一数值对所述认证服务器存储的生成动态口令次数进行校正, 使用校正后的生成动态口令次数和查找得到的种子,按照动态口令生成算法生成第一动态 口令。
12. 如权利要求8所述的系统,其特征在于,所述认证服务器的转换模块,具体用于 从所述第一动态口令中取出预定长度的数据,将取出的数据转换为字母后作为第一验证口令,并将所述第一动态口令的其余数据作为第二验证口令; 或者从所述第一动态口令中取出预定长度的数据作为第一验证口令,其余数据转换为字母 后作为第二验证口令。
13. 如权利要求8所述的系统,其特征在于,所述动态口令令牌的转换模块,具体用于所述动态口令令牌从所述第二动态口令中取出预定长度的数据,将取出的数据转换为 字母后作为第三验证口令,并将所述动态口令的其余数据作为第四验证口令;或者所述动态口令令牌从所述第二动态口令中取出预定长度的数据作为第三验证口令,其 余数据转换为字母后作为第四验证口令。
14.如权利要求8所述的系统,其特征在于,所述客户端所使用的加密算法、所述认证 服务器所使用的解密算法为所述客户端与所述认证服务器预先约定的。
全文摘要
本发明公开了一种安全交易的方法和系统,属于信息安全领域。方法包括认证服务器接收来自客户端的交易信息和第一数值,第一数值从动态口令令牌处获得;认证服务器根据第一数值生成第一动态口令,并将第一动态口令转换为第一验证口令和第二验证口令;动态口令令牌根据动态因子和预先保存的种子生成第二动态口令,并将第二动态口令转换为第三验证口令和第四验证口令;用户判断第三验证口令与接收到的第一验证口令是否相同;如果相同,客户端使用第四验证口令对交易信息进行加密,得到密文信息,并将密文信息发送给认证服务器,认证服务器使用第二验证口令对密文信息进行解密,得到明文信息,并判断明文信息与交易信息是否一致,当一致时,执行交易。
文档编号G06Q20/00GK101777158SQ20101003416
公开日2010年7月14日 申请日期2010年1月13日 优先权日2010年1月13日
发明者于华章, 陆舟 申请人:北京飞天诚信科技有限公司