CN103368975B - 一种批量数据安全传输的方法及系统 - Google Patents
一种批量数据安全传输的方法及系统 Download PDFInfo
- Publication number
- CN103368975B CN103368975B CN201310329034.0A CN201310329034A CN103368975B CN 103368975 B CN103368975 B CN 103368975B CN 201310329034 A CN201310329034 A CN 201310329034A CN 103368975 B CN103368975 B CN 103368975B
- Authority
- CN
- China
- Prior art keywords
- value
- certificate server
- data
- module
- obtains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Document Processing Apparatus (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种批量数据安全传输的方法及系统,属于信息安全领域。所述方法包括:客户端接收批量数据文件,计算生成第一签名数据,动态令牌计算生成第一签名值,客户端加密批量数据文件和第一签名值,将加密结果发给认证服务器,认证服务器解密加密结果,得到解密文件和解密数据,对解密文件计算生成第二签名值,当第二签名值和解密数据相同时,执行批量数据处理。采用本发明的技术方案,能够实现在应用动态令牌对批量目标数据操作时,无需手动输入大量数据,在易用性方面有大幅度提升,而且能够对所有目标数据做操作,防止数据被篡改或窃取,保障了批量数据传输的安全性。<!--1-->
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种批量数据安全传输的方法及系统。
背景技术
随着互联网技术的发展及网络业务的不断普及,网络数据传输的安全性越来越受到挑战,特别是对于一些网络支付系统,其进行数据传输的安全性更为重要。
发明人在实现本发明的过程中,发现现有技术中至少存在以下问题:
在现有技术中,动态令牌对批量目标数据做签名时,由于数据量庞大,如果手动输入到令牌中做签名,则在易用性方面也会大打折扣,如果只对个别目标数据做签名,则无法获知其他目标数据是否被篡改或窃取,无法保障批量数据的安全性。
发明内容
本发明的目的是解决现有技术中存在的问题,提供了一种批量数据安全传输的方法及系统。
本发明采用的技术方案是:一种批量数据安全传输的方法,包括:
步骤S1:客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的第一关键数据,对所述第一关键数据进行计算,生成第一摘要值,对所述第一摘要值进行处理,得到第一签名数据,显示所述第一签名数据;
步骤S2:动态令牌接收用户输入的所述第一签名数据,对所述第一签名数据进行计算,得到第一签名值,显示所述第一签名值;
步骤S3:所述客户端向认证服务器发送获取挑战值请求;
步骤S4:所述认证服务器根据接收到的所述获取挑战值请求,生成挑战值,将所述挑战值保存在预设存储区中,并将所述挑战值返回给所述客户端;
步骤S5:所述客户端接收到所述挑战值后,显示所述挑战值;
步骤S6:所述动态令牌接收用户输入的所述挑战值,对所述挑战值进行计算生成应答值,显示所述应答值;
步骤S7:所述客户端接收用户输入的所述应答值和所述第一签名值,根据所述应答值对所述批量数据文件和所述第一签名值进行加密得到加密结果,将所述加密结果发送给所述认证服务器;
步骤S8:所述认证服务器从所述预设存储区中获取所述挑战值,对所述挑战值进行计算,生成响应值,根据所述响应值对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据;
步骤S9:所述认证服务器获取所述解密文件中的第二关键数据,对所述第二关键数据进行计算,生成第二摘要值,对所述第二摘要值进行处理,得到第二签名数据,对所述第二签名数据进行计算,生成第二签名值,判断所述解密数据和所述第二签名值是否相同,如果是,则执行批量数据处理,将处理结果返回给所述客户端,否则向所述客户端返回认证失败的响应。
所述步骤S3之前包括:所述客户端向所述认证服务器发送创建本次数据传输的会话请求,所述认证服务器接收到所述会话请求后,创建会话ID,将所述会话ID保存在所述预设存储区中,并将所述会话ID返回给所述客户端;
所述步骤S3还包括:所述客户端将所述会话ID发送给认证服务器;
所述步骤S4具体为:所述认证服务器接收到所述获取挑战值请求和所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则生成挑战值,将所述挑战值保存在所述预设存储区中,并将所述挑战值和所述会话ID返回给客户端,建立所述挑战值与所述会话ID的对应关系,否则返回错误信息;
所述步骤S7还包括:所述客户端将所述会话ID发送给所述认证服务器;
所述步骤S8中,所述认证服务器从所述预设存储区中获取所述挑战值,具体为:所述认证服务器接收到所述会话ID后,根据会话ID与挑战值的对应关系,从所述预设存储区中获取所述挑战值。
所述步骤S8之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S8还包括:所述认证服务器将所述用户ID保存在所述预设存储中,根据所述用户ID检索种子密钥,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器获取所述预设存储区中的用户ID,根据所述用户ID检索种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
所述步骤S4之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S4还包括:所述认证服务器将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述步骤S8还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
所述步骤S4之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S4还包括:所述认证服务器根据所述用户ID,检索种子密钥,将所述用户ID和所述种子密钥保存在所述预设存储区中,建立会话ID、用户ID和种子密钥的对应关系;
所述步骤S8还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
所述步骤S8中,所述根据所述种子密钥和所述挑战值计算响应值,具体为:
所述认证服务器应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值。
所述步骤S6中,所述动态令牌对所述挑战值进行计算生成应答值,具体为:
所述动态令牌应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到应答值。
所述步骤S9中,根据所述种子密钥和所述第二签名数据计算第二签名值,具体为:
所述认证服务器应用所述第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值。
所述步骤S2中,所述对所述第一签名数据进行计算,得到第一签名值,具体为:
所述动态令牌应用所述第三预设算法对所述第一签名数据与所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的事件因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第一签名值。
所述步骤S1具体为:
步骤B1:所述客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的关键信息,根据预设组合形式,将所述关键信息组合生成第一关键数据;
步骤B2:所述客户端应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
步骤B3:所述客户端应用第二预设算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据,显示第一签名数据。
所述客户端获取所述批量数据文件中的关键信息,具体为:如果所述批量数据文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述批量数据文件中不同列的数据组合成关键信息;如果所述批量数据文件为不包含分隔符的文件,则获取所述批量数据文件中不同行的数据组合成关键信息。
所述步骤S9中,所述认证服务器获取所述解密文件中的第二关键数据,对所述第二关键数据进行计算,生成第二摘要值,对所述第二摘要值进行处理,得到第二签名数据,具体为:
步骤C1:所述认证服务器获取所述解密文件中的关键信息,根据所述预设组合形式,将所述关键信息组合生成第二关键数据;
步骤C2:所述认证服务器使用所述第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
步骤C3:所述认证服务器应用所述第二预设算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据。
所述认证服务器获取所述解密文件中的关键信息,具体为:如果所述解密文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述解密文件中不同列的数据组合成关键信息;如果所述解密文件为不包含分隔符的文件,则获取所述解密文件中不同行的数据组合成关键信息。
所述步骤S7具体为:
步骤D1:所述客户端接收用户输入的所述应答值;
步骤D2:所述客户端将所述应答值作为加密密钥,对所述批量数据文件和用户输入的所述第一签名值采用预设加密算法进行加密,得到加密结果。
所述步骤S8具体为:
步骤E1:所述认证服务器从所述预设存储区中获取所述挑战值,应用第三预设算法对所述挑战值进行计算,生成响应值;
步骤E2:所述认证服务器将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据。
所述步骤S4具体为:所述认证服务器接收到所述获取挑战值请求后,采用第四预设算法,生成挑战值,将所述挑战值返回给所述客户端,并将所述挑战值保存在所述预设存储区中。
所述认证服务器采用第四预设算法,生成挑战值,具体为:
步骤C1:所述认证服务器进行随机数加盐操作;
步骤C2:所述认证服务器调用随机数生成函数,生成预设字节的随机数序列;
步骤C3:所述认证服务器将所述预设字节的随机数序列转换为预设形式,将转换结果截短为预设位数的挑战值。
所述认证服务器进行随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中。
一种批量数据安全传输的系统,包括:客户端、认证服务器和动态令牌;
所述客户端包括:
第一接收模块:用于接收批量数据文件;用于接收用户输入的所述动态令牌上显示的第一签名值;用于接收所述认证服务器发送的挑战值;用于接收用户输入的所述动态令牌上显示的应答值;用于接收所述认证服务器发送的处理结果或认证失败的响应;
第一发送模块:用于向所述认证服务器发送获取挑战值请求;用于向所述认证服务器发送经第一加密模块加密后的加密结果;
第一获取模块:用于获取所述批量数据文件中的第一关键数据;
第一计算模块:用于对所述第一获取模块获取到的所述第一关键数据进行计算,生成第一摘要值;
第一处理模块:用于对所述第一计算模块计算得到的所述第一摘要值进行处理,得到第一签名数据;
第一显示模块:用于显示所述第一接收模块接收到的所述挑战值;用于显示所述第一处理模块处理得到的所述第一签名数据;
第一加密模块:用于对所述第一接收模块接收到的所述批量数据文件和所述第一签名值进行加密;
所述认证服务器包括:
第二接收模块:用于接收所述客户端发送的所述获取挑战值请求;用于接收所述客户端发送的所述加密结果;
第二计算模块:用于根据所述第二接收模块接收到的所述挑战值请求,生成挑战值;用于对第二存储模块中存储的所述挑战值进行计算,生成响应值;用于对第二获取模块获得到的第二关键数据进行计算,生成第二摘要值;用于对第二处理模块处理得到的第二签名数据进行计算,生成第二签名值;
第二存储模块:用于将所述第二计算模块生成的所述挑战值保存在预设存储区中;
第二获取模块:用于从所述第二存储模块的所述预设存储区中获取所述挑战值;用于获取第二解密模块得到的解密文件中的第二关键数据;
第二解密模块:用于对所述第二接收模块接收到的所述加密结果进行解密,得到解密文件和解密数据;
第二处理模块:用于对所述第二计算模块计算生成的所述第二摘要值进行处理,得到第二签名数据;
第二判断模块:用于判断所述第二解密模块得到的所述解密数据和所述第二计算模块计算得到的所述第二签名值是否相同,如果是,则执行批量数据处理,触发第二发送模块,否则直接触发第二发送模块;
第二发送模块:用于当所述第二判断模块判断为是时,将操作结果发送给所述客户端;用于当所述第二判断模块判断为否时,向所述客户端返回认证失败的响应;
所述动态令牌包括:
第三接收模块:用于接收用户输入的所述客户端上显示的所述第一签名数据,用于接收用户输入的所述客户端上显示的所述挑战值;
第三计算模块:用于对所述第一签名数据进行计算,得到第一签名值;用于对所述挑战值进行计算,生成应答值;
第三显示模块:用于显示所述第三计算模块计算生成的所述第一签名值;用于显示所述第三计算模块计算生成的所述应答值。
所述客户端,还包括:
所述第一发送模块,具体用于所述客户端向所述认证服务器发送创建本次数据传输的会话请求;用于所述客户端向所述认证服务器发送获取挑战值请求时,所述客户端同时将会话ID发送给认证服务器;用于所述客户端向所述认证服务器发送加密结果时,所述客户端将所述会话ID发送给认证服务器;
所述认证服务器,还包括:
所述第二接收模块:具体用于接收所述客户端发送的所述会话请求;用于接收客户端发送的所述获取挑战值请求和所述会话ID;用于接收客户端发送的所述加密结果和所述会话ID;
创建模块:用于在接收到所述会话请求后,创建会话ID;
所述第二存储模块:具体用于将创建模块创建的会话ID保存在所述预设存储区中,并在所述预设存储区中建立挑战值与所述会话ID的对应关系;
所述第二判断模块:具体用于判断在接收到的客户端发送的所述获取挑战值请求和所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则触发所述第二计算模块,否则触发第二发送模块;
所述第二发送模块:具体用于当所述第二判断模块判断为是时,将所述第二计算模块生成的所述挑战值和所述创建模块创建的会话ID发送给客户端;用于当所述第二判断模块判断为否时,向客户端返回错误信息;
所述第二获取模块:具体用于当所述第二判断模块判断为是时,认证服务器根据所述会话ID与所述挑战值在所述预设存储区中的对应关系,从所述预设存储区中获取所述挑战值。
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
检索模块:用于根据所述用户ID检索种子密钥;
所述第二计算模块:用于根据检索模块检索到的种子密钥和获取到的所述挑战值进行计算,生成响应值;用于根据检索模块检索到的种子密钥和处理得到的第二签名数据进行计算,生成第二签名值。
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
所述第二存储模块:具体用于将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块:具体用于根据所述会话ID,从所述预设存储区中获取所述用户ID;
检索模块:用于根据所述用户ID检索内置的种子密钥;
所述第二计算模块:具体用于根据所述种子密钥和所述挑战值计算生成响应值;用于根据所述种子密钥和所述第二签名数据计算生成第二签名值。
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
检索模块:用于根据所述用户ID,检索内置的种子密钥;
所述第二存储模块:具体用于将所述用户ID和所述种子密钥保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块:具体用于根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值;
所述第二计算模块:具体用于根据所述种子密钥和所述挑战值计算响应值;用于根据所述种子密钥和所述第二签名数据计算第二签名值。
所述第二计算模块中,所述根据所述种子密钥和所述挑战值计算响应值,具体为:
所述认证服务器应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值。
所述第三计算模块中,所述动态令牌对所述挑战值进行计算,生成应答值,具体为:
所述动态令牌应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到应答值。
所述第二计算模块中,所述根据所述种子密钥和所述第二签名数据计算第二签名值,具体为:
所述认证服务器应用所述第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值。
所述第三计算模块中,所述对所述第一签名数据进行计算,得到第一签名值,具体为:
所述动态令牌应用所述第三预设算法对所述第一签名数据与所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的事件因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第一签名值。
所述客户端,还包括:
所述第一获取模块:具体用于获取所述批量数据文件中的关键信息;
第一组合模块:用于根据预设组合形式,将所述关键信息进行组合,生成第一关键数据;
所述第一计算模块:具体用于应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
所述第一处理模块:具体用于应用第二预设算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据。
所述第一获取模块中,所述获取所述批量数据文件中的关键信息,具体为:如果所述批量数据文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述批量数据文件中不同列的数据组合成关键信息;如果所述批量数据文件为不包含分隔符的文件,则获取所述批量数据文件中不同行的数据组合成关键信息。
所述认证服务器,还包括:
所述第二获取模块:具体用于获取所述解密文件中的关键信息;
第二组合模块:用于根据预设组合形式,将所述关键信息组合生成第二关键数据;
所述第二计算模块:具体用于应用所述第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
所述第二处理模块:具体用于应用所述第二预设算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据。
所述第二获取模块中,所述获取所述解密文件中的关键信息,具体为:如果所述解密文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述解密文件中不同列的数据组合成关键信息;如果所述解密文件为不包含分隔符的文件,则获取所述解密文件中不同行的数据组合成关键信息。
所述客户端,还包括:
所述第一加密模块:具体用于将所述应答值作为加密密钥,对所述批量数据文件和第一签名值采用预设加密算法进行加密,得到加密结果。
所述认证服务器,还包括:
所述第二解密模块:具体用于将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果。
所述认证服务器,还包括:
所述第二计算模块:具体用于根据接收到的所述获取挑战值请求,应用第四预设算法,生成挑战值。
所述第二计算模块中,所述应用第四预设算法,生成挑战值,具体为:所述认证服务器进行随机数加盐操作,调用随机数生成函数,生成预设字节的随机数序列,将所述预设字节的随机数序列转换为预设形式,将转换结果截短为预设位数的挑战值。
所述第二计算模块中,所述认证服务器进行随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中。
本发明取得的有益效果是:采用本发明的技术方案,能够实现在应用动态令牌对批量目标数据操作时,无需手动输入大量数据,在易用性方面有大幅度提升,而且能够对所有目标数据做操作,防止数据被篡改或窃取,保障了批量数据传输的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种批量数据安全传输的方法流程图;
图2是本发明实施例1中步骤101的具体细化图;
图3是本发明实施例1中步骤111的具体细化图;
图4是本发明实施例2提供的一种批量数据安全传输的系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参见图1,本发明实施例1提供了一种批量数据安全传输的方法,在本实施例中,优选的,预先在客户端与认证服务器、客户端与动态令牌、动态令牌与认证服务器中设置相对应的预设算法;
步骤101:客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的第一关键数据,对所述第一关键数据进行计算,生成第一摘要值,对所述第一摘要值进行处理,得到第一签名数据,显示所述第一签名数据;
参见图2,所述步骤101具体为:
步骤A1:客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的关键信息,根据预设组合形式,将所述关键信息进行组合,得到第一关键数据;
在本实施例中,优选的,所述批量数据文件可以为CSV文件或文本文件或txt文件等,如果所述批量数据文件为包含分隔符的文件,例如CSV文件,则按照以下方式获取第一关键数据:
在本实施例中,CSV文件为:
9559900089814012345,1215.42
9559900089854515242,2042.25
9559900089814034256,5257.09
优选的,所述获取所述批量数据文件中的关键信息,具体为:获取所述批量数据文件中不同列的数据组合成关键信息,依次遍历字符,如果遍历到分隔符时,根据分隔符出现的次数决定列数,即如果第一次出现预设字符,则表示为第一列,如果第二次出现分隔符,则表示为第二列,依次类推;根据预先设定需要读取的关键信息列,读取对应列中的数据;
得到的第一列的数据:9559900089814012345,955900098551542,99900089814034256,优选截取第一列中每个数据的后六位,得到第一数据为012345,515242,034256;得到的第二列数据,即第二数据为1215.42,2042.25,5257.09;
将第一数据与第二数据进行组合,得到第一关键数据为0123451215.425152422042.250342565257.09;
除此之外,还可以为:
1、获取所述批量数据文件中第一列的每个数据与第二列的每个数据组合得到第一关键数据:95599000898140123451215.4295599000898545152422042.295599000898140342565257.09;
2、获取所述批量数据文件中第一列的所有数据和第二列的所有数据组合成第一关键数据:9559900089814012345955990008985451524295599000898140342561215.422042.255257.09;
3、获取所述批量数据文件中第一列的所有数据和第二列的所有数据组合成第一关键数据(不带小数点):955990008981401234595599000898545152429559900089814034256121542204225525709;
4、只获取所述批量数据文件中第一列的所有数据作为第一关键数据:9559900089814012345,955900098551542,99900089814034256;
5、只获取所述批量数据文件中第二列的所有数据作为第一关键数据:1215.42,2042.25,5257.09;
6、计算所述批量数据文件的第二列中数据的总和为8514.76,并获取所述批量数据文件的总行数为3,组合得到第一关键数据为38514.76;
7、获取认证服务器产生的数据,并和第1至6方法的数据组合得到第一关键数据;
在本实施例中,如果所述批量数据文件为不包含分隔符的文件,例如txt文件,则按照以下方式获取第一关键数据:
例如,txt文件为
9559900089814012345
1215.42
9559900089854515242
2042.25
9559900089814034256
5257.09
优选的,所述获取所述批量数据文件中的关键信息,具体为:逐行读取数据,获取所述批量数据文件中不同行的数据组合成关键信息,获取奇数行数据组成第三数据为:955990008981401234595599000898545152429559900089814034256;获取偶数行数据组成第四数据为:1215.422042.255257.09;
将第一数据与第二数据进行组合,得到第一关键数据为0123451215.425152422042.250342565257.09;
步骤A2:所述客户端应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
优选的,第一预设算法为SM3算法,除此之外,还可以为SHA1算法、SHA256算法等;
在本实施例中,对第一关键数据0123451215.425152422042.250342565257.09,使用第一预设算法,生成的第一摘要值为:363CCC1EE3AD104F5821553542DEE143774F99C8C715F21B8AE3D51D0713251E;
步骤A3:所述客户端应用第二预设算法,对第一摘要值进行处理,得到预设位数的第一签名数据,显示第一签名数据;
在本实施例中,优选的,所述第二预设算法为截位算法,对所述第一摘要值363CCC1EE3AD104F5821553542DEE143774F99C8C715F21B8AE3D51D0713251E应用截位算法处理得到的预设位数的第一签名数据为35996419;
步骤102:动态令牌接收用户输入的第一签名数据,对所述第一签名数据进行计算,得到第一签名值,并在动态令牌上显示;
具体为:动态令牌应用第三预设算法,对所述第一签名数据进行计算,得到第一签名值;
优选的,所述第三预设算法为SM3算法,除此之外,还可以为:OCRA算法;
在本实施例中,应用第三预设算法对所述第一签名数据35996419和种子密钥进行计算,得到第一签名值为:42075689;
除此之外,还可以为:
1、动态令牌应用第三预设算法,对所述第一签名数据、时间因子和种子密钥进行计算,得到第一签名值;
2、动态令牌应用第三预设算法,对所述第一签名数据、事件因子和种子密钥进行计算,得到第一签名值;
3、动态令牌应用第三预设算法,对所述第一签名数据、事件因子、时间因子和种子密钥进行计算,得到第一签名值;
步骤103:客户端接收用户输入的所述第一签名值;
步骤104:客户端向认证服务器发送获取挑战值请求;
所述步骤104之前还包括:客户端向认证服务器发起创建本次数据传输的会话请求,认证服务器接收到所述会话请求后,创建会话ID,将所述会话ID保存在预设存储区中,并将所述会话ID返回给客户端;
本实施例中,客户端向认证服务器发送获取挑战值请求时,客户端将所述会话ID也发送给认证服务器;
在本实施例中,当客户端接收到获取挑战值触发请求时,客户端向认证服务器发送获取挑战值请求;所述获取挑战值触发请求可以为用户在客户端界面上点击获取挑战值按钮;
步骤105:认证服务器根据接收到的所述获取挑战值请求,生成挑战值,将所述挑战值保存在预设存储区中;
具体为:认证服务器接收到所述获取挑战值请求后,应用第四预设算法,生成挑战值;
本实施例中,认证服务器接收到所述获取挑战值请求时,同时接收到所述会话ID,先判断从所述预设存储区中是否能够所述会话ID,如果是,则采用第四预设算法,生成挑战值,并将所述挑战值保存在所述预设存储区中,与所述预设存储区中保存的所述会话ID建立对应关系;
在本实施例中,优选的,第四预设算法为随机数算法,所述采用第四预设算法,生成挑战值,具体为:
步骤T1:认证服务器进行随机数加盐操作;
在本实施例中,所述随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中;
步骤T2:认证服务器调用随机数生成函数,生成预设字节的随机数序列;
优选的,所述预设字节为4字节;
例如,所述随机数序列为:6030D769;
步骤T3:认证服务器将所述预设字节的随机数序列转换为预设形式,并截短转换为预设位数的挑战值;
在本实施例中,根据所述随机数序列6030D769,生成的挑战值为13813609;
步骤106:认证服务器将所述挑战值返回给客户端;
本实施例中,认证服务器将所述挑战值返回给客户端的同时将所述会话ID也发送给客户端;
步骤107:客户端接收到所述挑战值后,显示所述挑战值;
步骤108:动态令牌接收用户输入的所述挑战值,对所述挑战值进行计算,生成应答值,显示所述应答值;
在本实施例中,所述步骤103中,客户端接收用户输入的所述第一签名值,此步骤可以在步骤103至步骤108的任一步骤中执行;
具体的,动态令牌应用第三预设算法对所述挑战值进行计算,生成应答值;
在本实施例中,所述第三预设算法为SM3算法,除此之外,还可以为:OCRA算法等;
在本实施例中,应用第三预设算法对所述挑战值13813609和种子密钥进行计算,得到应答值为:24769918;
除此之外,还可以为:
1、动态令牌应用第三预设算法,对所述挑战值、时间因子和种子密钥进行计算,得到应答值;
2、动态令牌应用第三预设算法,对所述挑战值、事件因子和种子密钥进行计算,得到应答值;
3、动态令牌应用第三预设算法,对所述挑战值、事件因子、时间因子和种子密钥进行计算,得到应答值;
步骤109:客户端接收用户输入的应答值,根据所述应答值对所述批量数据文件和第一签名值进行加密得到加密结果;
在本实施例中,所述步骤109具体为:
步骤B1:客户端接收用户输入的所述应答值;
步骤B2:客户端将所述应答值作为加密密钥,对所述批量数据文件和第一签名值采用预设加密算法进行加密,得到加密结果;
在本实施例中,优选的,所述预设加密算法为对称加密算法,具体为:使用所述应答值对所述批量数据文件和第一签名值进行加密,将所述应答值作为对称加密密钥,将所述批量数据文件和第一签名值的明文加密,转换为密文,其中使用所述应答值对所述批量数据文件进行加密可以是对全部文件进行加密,也可以是对批量数据文件中的关键信息进行加密;
在本实施例中,所述对所述批量数据文件和第一签名值采用预设加密算法进行加密,得到加密结果,可以为:
方法一:将所述第一签名值和所述批量数据文件进行顺序拼接,得到拼接数据,将所述第一签名值作为拼接数据的第一行数据,然后对该拼接数据进行加密,得到加密结果;
方法二:将所述第一签名值和所述批量数据文件进行顺序拼接,得到拼接数据,将所述第一签名值作为拼接数据的最后一行数据,然后对该拼接数据进行加密,得到加密结果;
方法三:对所述第一签名值和所述批量数据文件分别加密,然后将加密后的第一签名值和加密后的批量数据文件进行顺序拼接,得到解密结果,将加密后的第一签名值作为解密结果的第一行数据;
方法四:对所述第一签名值和所述批量数据文件分别加密,然后将加密后的第一签名值和加密后的批量数据文件进行顺序拼接,得到解密结果,将加密后的第一签名值作为解密结果的最后一行数据;
步骤110:客户端将所述加密结果发送给认证服务器;
本实施例中,所述步骤110之前还包括:客户端将所述会话ID发送给认证服务器;
步骤111:认证服务器从所述预设存储区中获取所述挑战值,对挑战值计算生成响应值,应用所述响应值对所述加密结果进行解密,得到解密结果,从解密结果中获取解密文件和解密数据,获取解密文件中的第二关键数据,对第二关键数据进行计算,生成第二摘要值,对第二摘要值进行处理,得到第二签名数据,对第二签名数据进行计算,生成第二签名值,判断解密数据和第二签名值是否相同,如果是,则认证服务器执行批量数据处理,将处理结果返回给客户端,否则向客户端返回认证失败的响应。
本实施例中,认证服务器从所述预设存储区中获取所述挑战值,具体为:认证服务器接收到所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则认证服务器根据所述会话ID与挑战值在所述预设存储区中的对应关系,从所述预设存储区中获取所述挑战值;
参见图3,所述步骤111具体为:
步骤C1:认证服务器从所述预设存储区中获取所述挑战值,应用第三预设算法对所述挑战值进行计算,生成响应值;
在本实施例中,优选的,所述第三预设算法为SM3算法,除此以外,还可以为OCRA算法;
本实施例中,所述应用第三预设算法对所述挑战值进行计算,生成响应值,具体为:所述认证服务器应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;在本实施例中,从所述预设存储区中获取所述挑战值13813609,采用第三预设算法计算生成的响应值为:24769918;
除此之外,还可以为:所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值;
本实施例中,种子密钥的获取和计算得到响应值,具体为:
方案一:步骤C1之前包括:所述客户端将用户ID发送给所述认证服务器;
步骤C1还包括:所述认证服务器根据所述用户ID检索种子密钥,根据所述种子密钥和所述挑战值计算响应值;
本实施例中,除此之外,种子密钥的获取和计算得到响应值,还可以为:
方案二:步骤105之前包括:所述客户端将用户ID发送给所述认证服务器;
步骤105还包括:所述认证服务器将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
步骤C1还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述挑战值计算响应值;
本实施例中,除此之外,种子密钥的获取和计算得到响应值,还可以为:
方案三:所述步骤105之前包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤105还包括:所述认证服务器根据所述用户ID,检索内置的种子密钥,将所述用户ID和所述种子密钥保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述步骤C1还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值,根据所述种子密钥和所述挑战值计算响应值;
步骤C2:认证服务器将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据;
在本实施例中,如果数据传输过程中没有篡改,则解密得到的解密文件为批量数据文件,解密数据为第一签名值;
在本实施例中,根据客户端与认证服务器预先约定的算法,所述对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据,可以为:
方法一:对所述加密结果进行解密,得到解密结果,获取解密结果的第一行数据,作为解密数据,其余数据作为解密文件;
方法二:对所述加密结果进行解密,得到解密结果,获取解密结果的最后一行数据作为解密数据,其余数据作为解密文件;
方法三:获取解密结果的第一行数据,对该第一行数据进行解密,得到解密数据,获取解密结果中的其余数据,对该其余数据进行解密,得到解密文件;
方法四:获取解密结果的最后一行数据,对该最后一行数据进行解密,得到解密数据,获取解密结果中的其余数据,对该其余数据进行解密,得到解密文件;
步骤C3:认证服务器获取所述解密文件中的关键信息,根据预设组合形式,将所述关键信息组合得到第二关键数据;
本实施例中,如果批量数据文件为包含分隔符的文件,则得到的解密文件即为包含分隔符的文件,按照以下方式从所述解密文件获取第二关键数据:
在本实施例中,解密后得到的解密文件为:
9559900089814012345,1215.42
9559900089854515242,2042.25
9559900089814034256,5257.09
优选的,所述获取所述解密文件中的关键信息,具体为:获取所述解密文件中不同列的数据组合成关键数据,依次遍历字符,如果遍历到分隔符时,根据分隔符出现的次数决定列数,即如果第一次出现预设字符,则表示为第一列,如果第二次出现分隔符,则表示为第二列,依次类推;根据预先设定需要读取的关键信息列,读取对应列中的数据;
得到的第一列的数据:9559900089814012345,955900098551542,99900089814034256,优选截取第一列中每个数据的后六位,得到第五数据为012345,515242,034256;得到的第二列数据,即第六数据为1215.42,2042.25,5257.09;
将第五数据与第六数据进行组合,得到第二关键数据为0123451215.425152422042.250342565257.09;
除此之外,还可以为:
1、获取所述解密文件中第一列的每个数据与第二列的每个数据组合得到第二关键数据:95599000898140123451215.4295599000898545152422042.2595599000898140342565257.09;
2、获取所述解密文件中第一列的所有数据和第二列的所有数据组合成第二关键数据:9559900089814012345955990008985451524295599000898140342561215.422042.255257.09;
3、获取所述解密文件中第一列的所有数据和第二列的所有数据组合成第二关键数据(不带小数点):955990008981401234595599000898545152429559900089814034256121542204225525709;
4、只获取所述解密文件中第一列的所有数据作为第二关键数据:9559900089814012345,955900098551542,99900089814034256;
5、只获取所述解密文件中第二列的所有数据作为第二关键数据:1215.42,2042.25,5257.09;
6、计算所述解密文件的第二列中数据的总和为8514.76,并获取所述批量数据文件的总行数为3,组合得到第二关键数据为38514.76;
7、获取认证服务器产生的数据,并和第1至6方法的数据组合得到第二关键数据;
在本实施例中,如果所述批量数据文件为不包含分隔符的文件,则解密得到的解密文件即为不包含分隔符的文件,按照以下方式从所述解密文件中获取第二关键数据:
例如,txt文件为
9559900089814012345
1215.42
9559900089854515242
2042.25
9559900089814034256
5257.09
优选的,所述获取所述批量数据文件中的关键信息,具体为:逐行读取数据,获取奇数行数据组成第七数据为:955990008981401234595599000898545152429559900089814034256;获取偶数行数据组成第八数据为:1215.422042.255257.09;
将第七数据与第八数据进行组合,得到第二关键数据为0123451215.425152422042.250342565257.09;
步骤C4:认证服务器应用第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
优选的,在本实施例中,在客户端与认证服务器中预先设置相同的算法,所述第三预设算法为SM3算法,除此之外,还可以为:SHA1、SHA256等;
在本实施例中,对第二关键数据0123451215.425152422042.250342565257.09,使用第一预设算法,生成的第二摘要值为:363CCC1EE3AD104F5821553542DEE143774F99C8C715F21B8AE3D51D0713251E;
步骤C5:认证服务器应用第二预设算法对第二摘要值进行处理,得到预设位数的第二签名数据;
优选的,在本实施例中,第二预设算法为截位算法,对第二摘要值363CCC1EE3AD104F5821553542DEE143774F99C8C715F21B8AE3D51D0713251E应用截位算法得到的预设位数的第二签名数据为35996419;优选的,所述预设位数为8位;
步骤C6:认证服务器应用第三预设算法对所述第二签名数据进行计算,得到第二签名值;
优选的,所述第三预设算法为SM3算法,除此之外,还可以为:OCRA算法;
本实施例中,所述应用第三预设算法对所述第二签名数据进行计算,得到第二签名值,具体为:所述认证服务器应用所述第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;在本实施例中,应用第三预设算法对所述第二签名数据35996419进行计算,得到第二签名值为:42075689;
除此之外,还可以为:所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值。
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值;
本实施例中,种子密钥的获取和计算得到第二签名值,具体为:如果本实施例中步骤C1使用方案一获取种子密钥,则本步骤中,所述认证服务器根据所述用户ID检索种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值;
如果本实施例中步骤C1使用方案二获取种子密钥,则本步骤中,所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值;
如果本实施例中步骤C1使用方案二获取种子密钥,则本步骤中,所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值;
步骤C7:认证服务器判断所述解密数据和所述第二签名值是否相同,如果是,则认证服务器执行批量数据处理,并将处理结果返回给客户端,否则向客户端返回认证失败的响应;
本实施例中,所述批量数据处理,具体为:对批量数据文件中第一列中的账号原有金额的基础上加上第二列上每个账号对应的金额,对应的,将本实施例中用户ID对应的原有金额减去批量数据文件中第二列的总金额。
实施例2
参见图4,本发明实施例2提供了一种批量数据安全传输的系统结构图,包括:客户端100、认证服务器200和动态令牌300;
所述客户端100包括:
第一接收模块101:用于接收批量数据文件;用于接收用户输入的所述动态令牌300上显示的第一签名值;用于接收所述认证服务器200发送的挑战值;用于接收用户输入的所述动态令牌300上显示的应答值;用于接收所述认证服务器200发送的处理结果或认证失败的响应;
第一发送模块102:用于向所述认证服务器200发送获取挑战值请求;用于向所述认证服务器200发送经第一加密模块107加密后的加密结果;
第一获取模块103:用于获取第一接收模块101接收到的所述批量数据文件中的第一关键数据;
第一计算模块104:用于对所述第一获取模块103获取到的所述第一关键数据进行计算,生成第一摘要值;
第一处理模块105:用于对所述第一计算模块104计算得到的所述第一摘要值进行处理,得到第一签名数据;
第一显示模块106:用于显示所述第一接收模块101接收到的所述挑战值;用于显示所述第一处理模块105处理得到的所述第一签名数据;
第一加密模块107:用于对所述第一接收模块101接收到的所述批量数据文件和所述第一签名值进行加密;
所述认证服务器200包括:
第二接收模块201:用于接收所述客户端100发送的所述获取挑战值请求;用于接收所述客户端100发送的所述加密结果;
第二计算模块202:用于根据所述第二接收模块201接收到的所述挑战值请求,生成挑战值;用于对第二存储模块203中存储的所述挑战值进行计算,生成响应值;用于对第二获取模块204获得到的第二关键数据进行计算,生成第二摘要值;用于对第二处理模块206处理得到的第二签名数据进行计算,生成第二签名值;
第二存储模块203:用于将所述第二计算模块202生成的所述挑战值保存在预设存储区中;
第二获取模块204:用于从所述第二存储模块203的所述预设存储区中获取所述挑战值;用于获取第二解密模块205得到的解密文件中的第二关键数据;
第二解密模块205:用于对所述第二接收模块201接收到的所述加密结果进行解密,得到解密文件和解密数据;
第二处理模块206:用于对所述第二计算模块202计算生成的所述第二摘要值进行处理,得到第二签名数据;
第二判断模块207:用于判断所述第二解密模块205得到的所述解密数据和所述第二计算模块202计算得到的所述第二签名值是否相同,如果是,则执行批量数据处理,触发第二发送模块208,否则直接触发第二发送模块208;
第二发送模块208:用于当所述第二判断模块207判断为是时,将处理结果发送给所述客户端;用于当所述第二判断模块207判断为否时,向所述客户端100返回认证失败的响应;
所述动态令牌300包括:
第三接收模块301:用于接收用户输入的所述客户端100上显示的所述第一签名数据,用于接收用户输入的所述客户端100上显示的所述挑战值;
第三计算模块302:用于对所述第一签名数据进行计算,得到第一签名值;用于对所述挑战值进行计算,生成应答值;
第三显示模块303:用于显示所述第三计算模块302计算生成的所述第一签名值;用于显示所述第三计算模块302计算生成的所述应答值;
所述客户端100,还包括:
所述第一发送模块102,具体用于向所述认证服务器200发送创建本次数据传输的会话请求;用于向所述认证服务器200发送获取挑战值请求时,同时将会话ID发送给认证服务器200;用于向所述认证服务器200发送加密结果时,将所述会话ID发送给认证服务器200。
所述认证服务器200,还包括:
所述第二接收模块201:具体用于接收所述客户端100发送的所述会话请求;用于接收所述客户端100发送的所述获取挑战值请求和所述会话ID;用于接收所述客户端100发送的所述加密结果和所述会话ID;
创建模块:用于在接收到所述会话请求后,创建会话ID;
所述第二存储模块203:具体用于将创建模块创建的会话ID保存在所述预设存储区中,并在所述预设存储区中建立挑战值与所述会话ID的对应关系;
所述第二判断模块207:具体用于判断在接收到的所述客户端100发送的所述获取挑战值请求和所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则触发所述第二计算模块202,否则触发第二发送模块208;
所述第二发送模块208:具体用于当所述第二判断模块207判断为是时,将所述第二计算模块202生成的所述挑战值和所述创建模块创建的会话ID发送给所述客户端100;用于当所述第二判断模块207判断为否时,向所述客户端100返回错误信息;
所述第二获取模块204:具体用于当所述第二判断模块207判断为是时,根据所述会话ID与所述挑战值在所述预设存储区中的对应关系,从所述预设存储区中获取所述挑战值;
所述客户端100,还包括:
所述第一发送模块102:具体用于向所述认证服务器200发送用户ID;
所述认证服务器200,还包括:
检索模块:用于根据所述用户ID检索种子密钥;
所述第二计算模块202:用于根据检索模块检索到的种子密钥和获取到的所述挑战值进行计算,生成响应值;用于根据检索模块检索到的种子密钥和处理得到的第二签名数据进行计算,生成第二签名值;
所述客户端100,还包括:
所述第一发送模块102:具体用于向所述认证服务器200发送用户ID;
所述认证服务器200,还包括:
所述第二存储模块203:具体用于将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块204:具体用于根据所述会话ID,从所述预设存储区中获取所述用户ID;
检索模块:用于根据所述用户ID检索内置的种子密钥;
所述第二计算模块202:具体用于根据所述种子密钥和所述挑战值计算生成响应值;用于根据所述种子密钥和所述第二签名数据计算生成第二签名值。
所述客户端100,还包括:
所述第一发送模块102:具体用于向所述认证服务器200发送用户ID;
所述认证服务器200,还包括:
检索模块:用于根据所述用户ID,检索内置的种子密钥;
所述第二存储模块203:具体用于将所述用户ID和所述种子密钥保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块204:具体用于根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值;
所述第二计算模块202:具体用于根据所述种子密钥和所述挑战值计算响应值;用于根据所述种子密钥和所述第二签名数据计算第二签名值。
所述第二计算模块202中,所述根据所述种子密钥和所述挑战值计算响应值,具体为:
所述认证服务器200应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;
所述认证服务器200应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
所述认证服务器200应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
所述认证服务器200应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值。
所述第三计算模块302中,所述动态令牌300对所述挑战值进行计算,生成应答值,具体为:
所述动态令牌300应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到应答值;
或所述动态令牌300应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到应答值。
或所述动态令牌300应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌300应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到应答值。
所述第二计算模块202中,所述根据所述种子密钥和所述第二签名数据计算第二签名值,具体为:
所述认证服务器200应用所述第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;
或所述认证服务器200应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值。
或所述认证服务器200应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器200应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值。
所述第三计算模块302中,所述对所述第一签名数据进行计算,得到第一签名值,具体为:
所述动态令牌300应用所述第三预设算法对所述第一签名数据与所述种子密钥进行计算,得到第一签名值;
或所述动态令牌300应用所述第三预设算法对所述第一签名数据与内置的时间因子和所述种子密钥进行计算,得到第一签名值。
或所述动态令牌300应用所述第三预设算法对所述第一签名数据与内置的事件因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌300应用所述第三预设算法对所述第一签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第一签名值。
所述客户端100,还包括:
所述第一获取模块103:具体用于获取所述批量数据文件中的关键信息;
第一组合模块:用于根据预设组合形式,将所述关键信息进行组合,生成第一关键数据;
所述第一计算模块104:具体用于应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
所述第一处理模块105:具体用于应用第二预设算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据。
所述第一获取模块103中,所述获取所述批量数据文件中的关键信息,具体为:如果所述批量数据文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述批量数据文件中不同列的数据组合成关键信息;如果所述批量数据文件为不包含分隔符的文件,则获取所述批量数据文件中不同行的数据组合成关键信息。
所述认证服务器200,还包括:
所述第二获取模块204:具体用于获取所述解密文件中的关键信息;
第二组合模块:用于根据预设组合形式,将所述关键信息组合生成第二关键数据;
所述第二计算模块202:具体用于应用所述第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
所述第二处理模块206:具体用于应用所述第二预设算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据。
所述第二获取模块204中,所述获取所述解密文件中的关键信息,具体为:如果所述解密文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述解密文件中不同列的数据组合成关键信息;如果所述解密文件为不包含分隔符的文件,则获取所述解密文件中不同行的数据组合成关键信息。
所述客户端100,还包括:
所述第一加密模块107:具体用于将所述应答值作为加密密钥,对所述批量数据文件和第一签名值采用预设加密算法进行加密,得到加密结果。
所述认证服务器200,还包括:
所述第二解密模块205:具体用于将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果。
所述认证服务器200,还包括:
所述第二计算模块202:具体用于根据接收到的所述获取挑战值请求,应用第四预设算法,生成挑战值。
所述第二计算模块202中,所述应用第四预设算法,生成挑战值,具体为:所述认证服务器进行随机数加盐操作,调用随机数生成函数,生成预设字节的随机数序列,将所述预设字节的随机数序列转换为预设形式,将转换结果截短为预设位数的挑战值。
所述第二计算模块202中,所述认证服务器进行随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (36)
1.一种批量数据安全传输的方法,其特征在于,包括:
步骤S1:客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的第一关键数据,对所述第一关键数据进行计算,生成第一摘要值,应用截位算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据,显示所述第一签名数据;
步骤S2:动态令牌接收用户输入的所述第一签名数据,对所述第一签名数据进行计算,得到第一签名值,显示所述第一签名值;
步骤S3:所述客户端向认证服务器发送获取挑战值请求;
步骤S4:所述认证服务器根据接收到的所述获取挑战值请求,生成挑战值,将所述挑战值保存在预设存储区中,并将所述挑战值返回给所述客户端;
步骤S5:所述客户端接收到所述挑战值后,显示所述挑战值;
步骤S6:所述动态令牌接收用户输入的所述挑战值,对所述挑战值进行计算生成应答值,显示所述应答值;
步骤S7:所述客户端接收用户输入的所述应答值和所述第一签名值,根据所述应答值对所述批量数据文件和所述第一签名值进行加密得到加密结果,将所述加密结果发送给所述认证服务器;
步骤S8:所述认证服务器从所述预设存储区中获取所述挑战值,对所述挑战值进行计算,生成响应值,根据所述响应值对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据;
步骤S9:所述认证服务器获取所述解密文件中的第二关键数据,对所述第二关键数据进行计算,生成第二摘要值,应用截位算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据,对所述第二签名数据进行计算,生成第二签名值,判断所述解密数据和所述第二签名值是否相同,如果是,则执行批量数据处理,将处理结果返回给所述客户端,否则向所述客户端返回认证失败的响应。
2.根据权利要求1所述的方法,其特征在于,
所述步骤S3之前包括:所述客户端向所述认证服务器发送创建本次数据传输的会话请求,所述认证服务器接收到所述会话请求后,创建会话ID,将所述会话ID保存在所述预设存储区中,并将所述会话ID返回给所述客户端;
所述步骤S3还包括:所述客户端将所述会话ID发送给认证服务器;
所述步骤S4具体为:所述认证服务器接收到所述获取挑战值请求和所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则生成挑战值,将所述挑战值保存在所述预设存储区中,并将所述挑战值和所述会话ID返回给客户端,建立所述挑战值与所述会话ID的对应关系,否则返回错误信息;
所述步骤S7还包括:所述客户端将所述会话ID发送给所述认证服务器;
所述步骤S8中,所述认证服务器从所述预设存储区中获取所述挑战值,具体为:所述认证服务器接收到所述会话ID后,根据会话ID与挑战值的对应关系,从所述预设存储区中获取所述挑战值。
3.根据权利要求2所述的方法,其特征在于,
所述步骤S8之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S8还包括:所述认证服务器将所述用户ID保存在所述预设存储区中,根据所述用户ID检索种子密钥,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器获取所述预设存储区中的用户ID,根据所述用户ID检索种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
4.根据权利要求2所述的方法,其特征在于,
所述步骤S4之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S4还包括:所述认证服务器将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述步骤S8还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述用户ID,根据所述用户ID检索内置的种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
5.根据权利要求2所述的方法,其特征在于,
所述步骤S4之前还包括:所述客户端将用户ID发送给所述认证服务器;
所述步骤S4还包括:所述认证服务器根据所述用户ID,检索种子密钥,将所述用户ID和所述种子密钥保存在所述预设存储区中,建立会话ID、用户ID和种子密钥的对应关系;
所述步骤S8还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值,根据所述种子密钥和所述挑战值计算响应值;
所述步骤S9还包括:所述认证服务器根据所述会话ID,从所述预设存储区中获取所述种子密钥,根据所述种子密钥和所述第二签名数据计算第二签名值。
6.根据权利要求3或4或5所述的方法,其特征在于,所述步骤S8中,所述根据所述种子密钥和所述挑战值计算响应值,具体为:
所述认证服务器应用第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值。
7.根据权利要求6所述的方法,其特征在于,所述步骤S6中,所述动态令牌对所述挑战值进行计算生成应答值,具体为:
所述动态令牌应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到应答值。
8.根据权利要求3或4或5所述的方法,其特征在于,所述步骤S9中,根据所述种子密钥和所述第二签名数据计算第二签名值,具体为:
所述认证服务器应用第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值。
9.根据权利要求8所述的方法,其特征在于,所述步骤S2中,所述对所述第一签名数据进行计算,得到第一签名值,具体为:
所述动态令牌应用所述第三预设算法对所述第一签名数据与所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的事件因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第一签名值。
10.根据权利要求1所述的方法,其特征在于,所述步骤S1具体为:
步骤B1:所述客户端接收根据用户输入的数据生成的批量数据文件,获取所述批量数据文件中的关键信息,根据预设组合形式,将所述关键信息组合生成第一关键数据;
步骤B2:所述客户端应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
步骤B3:所述客户端应用第二预设算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据,显示第一签名数据。
11.根据权利要求10所述的方法,其特征在于,所述客户端获取所述批量数据文件中的关键信息,具体为:如果所述批量数据文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述批量数据文件中不同列的数据组合成关键信息;如果所述批量数据文件为不包含分隔符的文件,则获取所述批量数据文件中不同行的数据组合成关键信息。
12.根据权利要求11所述的方法,其特征在于,所述步骤S9中,所述认证服务器获取所述解密文件中的第二关键数据,对所述第二关键数据进行计算,生成第二摘要值,对所述第二摘要值进行处理,得到第二签名数据,具体为:
步骤C1:所述认证服务器获取所述解密文件中的关键信息,根据所述预设组合形式,将所述关键信息组合生成第二关键数据;
步骤C2:所述认证服务器使用所述第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
步骤C3:所述认证服务器应用所述第二预设算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据。
13.根据权利要求12所述的方法,其特征在于,所述认证服务器获取所述解密文件中的关键信息,具体为:如果所述解密文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述解密文件中不同列的数据组合成关键信息;如果所述解密文件为不包含分隔符的文件,则获取所述解密文件中不同行的数据组合成关键信息。
14.根据权利要求1所述的方法,其特征在于,所述步骤S7具体为:
步骤D1:所述客户端接收用户输入的所述应答值;
步骤D2:所述客户端将所述应答值作为加密密钥,对所述批量数据文件和用户输入的所述第一签名值采用预设加密算法进行加密,得到加密结果。
15.根据权利要求14所述的方法,其特征在于,所述步骤S8具体为:
步骤E1:所述认证服务器从所述预设存储区中获取所述挑战值,应用第三预设算法对所述挑战值进行计算,生成响应值;
步骤E2:所述认证服务器将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果,从所述解密结果中获取解密文件和解密数据。
16.根据权利要求1所述的方法,其特征在于,所述步骤S4具体为:所述认证服务器接收到所述获取挑战值请求后,采用第四预设算法,生成挑战值,将所述挑战值返回给所述客户端,并将所述挑战值保存在所述预设存储区中。
17.根据权利要求16所述的方法,其特征在于,所述认证服务器采用第四预设算法,生成挑战值,具体为:
步骤C1:所述认证服务器进行随机数加盐操作;
步骤C2:所述认证服务器调用随机数生成函数,生成预设字节的随机数序列;
步骤C3:所述认证服务器将所述预设字节的随机数序列转换为预设形式,将转换结果截短为预设位数的挑战值。
18.根据权利要求17所述的方法,其特征在于,所述认证服务器进行随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中。
19.一种批量数据安全传输的系统,其特征在于,包括:客户端、认证服务器和动态令牌;
所述客户端包括:
第一接收模块:用于接收批量数据文件;用于接收用户输入的所述动态令牌上显示的第一签名值;用于接收所述认证服务器发送的挑战值;用于接收用户输入的所述动态令牌上显示的应答值;用于接收所述认证服务器发送的处理结果或认证失败的响应;
第一发送模块:用于向所述认证服务器发送获取挑战值请求;用于向所述认证服务器发送经第一加密模块加密后的加密结果;
第一获取模块:用于获取所述批量数据文件中的第一关键数据;
第一计算模块:用于对所述第一获取模块获取到的所述第一关键数据进行计算,生成第一摘要值;
第一处理模块:用于应用截位算法,对所述第一计算模块计算得到的所述第一摘要值进行处理,得到预设位数的第一签名数据;
第一显示模块:用于显示所述第一接收模块接收到的所述挑战值;用于显示所述第一处理模块处理得到的所述第一签名数据;
第一加密模块:用于对所述第一接收模块接收到的所述批量数据文件和所述第一签名值进行加密;
所述认证服务器包括:
第二接收模块:用于接收所述客户端发送的所述获取挑战值请求;用于接收所述客户端发送的所述加密结果;
第二计算模块:用于根据所述第二接收模块接收到的所述挑战值请求,生成挑战值;用于对第二存储模块中存储的所述挑战值进行计算,生成响应值;用于对第二获取模块获得到的第二关键数据进行计算,生成第二摘要值;用于对第二处理模块处理得到的第二签名数据进行计算,生成第二签名值;
第二存储模块:用于将所述第二计算模块生成的所述挑战值保存在预设存储区中;
第二获取模块:用于从所述第二存储模块的所述预设存储区中获取所述挑战值;用于获取第二解密模块得到的解密文件中的第二关键数据;
第二解密模块:用于对所述第二接收模块接收到的所述加密结果进行解密,得到解密文件和解密数据;
第二处理模块:用于应用截位算法,对所述第二计算模块计算生成的所述第二摘要值进行处理,得到预设位数的第二签名数据;
第二判断模块:用于判断所述第二解密模块得到的所述解密数据和所述第二计算模块计算得到的所述第二签名值是否相同,如果是,则执行批量数据处理,触发第二发送模块,否则直接触发第二发送模块;
第二发送模块:用于当所述第二判断模块判断为是时,将操作结果发送给所述客户端;用于当所述第二判断模块判断为否时,向所述客户端返回认证失败的响应;
所述动态令牌包括:
第三接收模块:用于接收用户输入的所述客户端上显示的所述第一签名数据,用于接收用户输入的所述客户端上显示的所述挑战值;
第三计算模块:用于对所述第一签名数据进行计算,得到第一签名值;用于对所述挑战值进行计算,生成应答值;
第三显示模块:用于显示所述第三计算模块计算生成的所述第一签名值;用于显示所述第三计算模块计算生成的所述应答值。
20.根据权利要求19所述的系统,其特征在于,
所述客户端,还包括:
所述第一发送模块,具体用于所述客户端向所述认证服务器发送创建本次数据传输的会话请求;用于所述客户端向所述认证服务器发送获取挑战值请求时,所述客户端同时将会话ID发送给认证服务器;用于所述客户端向所述认证服务器发送加密结果时,所述客户端将所述会话ID发送给认证服务器;
所述认证服务器,还包括:
所述第二接收模块:具体用于接收所述客户端发送的所述会话请求;用于接收客户端发送的所述获取挑战值请求和所述会话ID;用于接收客户端发送的所述加密结果和所述会话ID;
创建模块:用于在接收到所述会话请求后,创建会话ID;
所述第二存储模块:具体用于将创建模块创建的会话ID保存在所述预设存储区中,并在所述预设存储区中建立挑战值与所述会话ID的对应关系;
所述第二判断模块:具体用于判断在接收到的客户端发送的所述获取挑战值请求和所述会话ID后,判断从所述预设存储区中是否能够找到所述会话ID,如果是,则触发所述第二计算模块,否则触发第二发送模块;
所述第二发送模块:具体用于当所述第二判断模块判断为是时,将所述第二计算模块生成的所述挑战值和所述创建模块创建的会话ID发送给客户端;用于当所述第二判断模块判断为否时,向客户端返回错误信息;
所述第二获取模块:具体用于当所述第二判断模块判断为是时,认证服务器根据所述会话ID与所述挑战值在所述预设存储区中的对应关系,从所述预设存储区中获取所述挑战值。
21.根据权利要求20所述的系统,其特征在于,
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
检索模块:用于根据所述用户ID检索种子密钥;
所述第二计算模块:用于根据检索模块检索到的种子密钥和获取到的所述挑战值进行计算,生成响应值;用于根据检索模块检索到的种子密钥和处理得到的第二签名数据进行计算,生成第二签名值。
22.根据权利要求20所述的系统,其特征在于,
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
所述第二存储模块:具体用于将所述用户ID保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块:具体用于根据所述会话ID,从所述预设存储区中获取所述用户ID;
检索模块:用于根据所述用户ID检索内置的种子密钥;
所述第二计算模块:具体用于根据所述种子密钥和所述挑战值计算生成响应值;用于根据所述种子密钥和所述第二签名数据计算生成第二签名值。
23.根据权利要求20所述的系统,其特征在于,
所述客户端,还包括:
所述第一发送模块:具体用于向所述认证服务器发送用户ID;
所述认证服务器,还包括:
检索模块:用于根据所述用户ID,检索内置的种子密钥;
所述第二存储模块:具体用于将所述用户ID和所述种子密钥保存在所述预设存储区中,并与所述会话ID建立对应关系;
所述第二获取模块:具体用于根据所述会话ID,从所述预设存储区中获取所述种子密钥和所述挑战值;
所述第二计算模块:具体用于根据所述种子密钥和所述挑战值计算响应值;用于根据所述种子密钥和所述第二签名数据计算第二签名值。
24.根据权利要求21或22或23所述的系统,其特征在于,
所述第二计算模块中,所述根据所述种子密钥和所述挑战值计算响应值,具体为:
所述认证服务器应用第三预设算法对所述挑战值与所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到响应值;
或所述认证服务器应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到响应值。
25.根据权利要求24所述的系统,其特征在于,
所述第三计算模块中,所述动态令牌对所述挑战值进行计算,生成应答值,具体为:
所述动态令牌应用所述第三预设算法对所述挑战值与所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的事件因子和所述种子密钥进行计算,得到应答值;
或所述动态令牌应用所述第三预设算法对所述挑战值与内置的时间因子、事件因子和所述种子密钥进行计算,得到应答值。
26.根据权利要求21或22或23所述的系统,其特征在于,
所述第二计算模块中,所述根据所述种子密钥和所述第二签名数据计算第二签名值,具体为:
所述认证服务器应用第三预设算法对所述第二签名数据与所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的事件因子和所述种子密钥进行计算,得到第二签名值;
或所述认证服务器应用所述第三预设算法对所述第二签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第二签名值。
27.根据权利要求26所述的系统,其特征在于,
所述第三计算模块中,所述对所述第一签名数据进行计算,得到第一签名值,具体为:
所述动态令牌应用所述第三预设算法对所述第一签名数据与所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的事件因子和所述种子密钥进行计算,得到第一签名值;
或所述动态令牌应用所述第三预设算法对所述第一签名数据与内置的时间因子、事件因子和所述种子密钥进行计算,得到第一签名值。
28.根据权利要求19所述的系统,其特征在于,
所述客户端,还包括:
所述第一获取模块:具体用于获取所述批量数据文件中的关键信息;
第一组合模块:用于根据预设组合形式,将所述关键信息进行组合,生成第一关键数据;
所述第一计算模块:具体用于应用第一预设算法,对所述第一关键数据进行计算,生成第一摘要值;
所述第一处理模块:具体用于应用第二预设算法,对所述第一摘要值进行处理,得到预设位数的第一签名数据。
29.根据权利要求28所述的系统,其特征在于,
所述第一获取模块中,所述获取所述批量数据文件中的关键信息,具体为:如果所述批量数据文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述批量数据文件中不同列的数据组合成关键信息;如果所述批量数据文件为不包含分隔符的文件,则获取所述批量数据文件中不同行的数据组合成关键信息。
30.根据权利要求29所述的系统,其特征在于,
所述认证服务器,还包括:
所述第二获取模块:具体用于获取所述解密文件中的关键信息;
第二组合模块:用于根据预设组合形式,将所述关键信息组合生成第二关键数据;
所述第二计算模块:具体用于应用所述第一预设算法,对所述第二关键数据进行计算,生成第二摘要值;
所述第二处理模块:具体用于应用所述第二预设算法,对所述第二摘要值进行处理,得到预设位数的第二签名数据。
31.根据权利要求30所述的系统,其特征在于,
所述第二获取模块中,所述获取所述解密文件中的关键信息,具体为:如果所述解密文件为包含分隔符的文件,则根据分隔符出现的次数决定列数,获取所述解密文件中不同列的数据组合成关键信息;如果所述解密文件为不包含分隔符的文件,则获取所述解密文件中不同行的数据组合成关键信息。
32.根据权利要求19所述的系统,其特征在于,
所述客户端,还包括:
所述第一加密模块:具体用于将所述应答值作为加密密钥,对所述批量数据文件和第一签名值采用预设加密算法进行加密,得到加密结果。
33.根据权利要求32所述的系统,其特征在于,
所述认证服务器,还包括:
所述第二解密模块:具体用于将所述响应值作为解密密钥,采用预设解密算法,对所述加密结果进行解密,得到解密结果。
34.根据权利要求19所述的系统,其特征在于,
所述认证服务器,还包括:
所述第二计算模块:具体用于根据接收到的所述获取挑战值请求,应用第四预设算法,生成挑战值。
35.根据权利要求34所述的系统,其特征在于,
所述第二计算模块中,所述应用第四预设算法,生成挑战值,具体为:所述认证服务器进行随机数加盐操作,调用随机数生成函数,生成预设字节的随机数序列,将所述预设字节的随机数序列转换为预设形式,将转换结果截短为预设位数的挑战值。
36.根据权利要求35所述的系统,其特征在于,
所述第二计算模块中,所述认证服务器进行随机数加盐操作,具体为:认证服务器将当前网络统计信息、随机数生成函数产生的随机数、顶层窗口句柄、光标信息、系统消息队列信息、进程信息、线程信息、模块信息、内存状态、处理器信息、当前屏幕显示信息、系统时钟以及一个任意字节的随机数分别加入随机数熵池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310329034.0A CN103368975B (zh) | 2013-07-31 | 2013-07-31 | 一种批量数据安全传输的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310329034.0A CN103368975B (zh) | 2013-07-31 | 2013-07-31 | 一种批量数据安全传输的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368975A CN103368975A (zh) | 2013-10-23 |
CN103368975B true CN103368975B (zh) | 2016-04-06 |
Family
ID=49369512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310329034.0A Expired - Fee Related CN103368975B (zh) | 2013-07-31 | 2013-07-31 | 一种批量数据安全传输的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103368975B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873226B (zh) * | 2014-04-02 | 2017-03-29 | 成都西山居互动娱乐科技有限公司 | 针对用户密码的随机混淆方法 |
CN103888243B (zh) * | 2014-04-15 | 2017-03-22 | 飞天诚信科技股份有限公司 | 一种种子密钥安全传输的方法 |
CN109120396B (zh) * | 2018-07-10 | 2021-11-26 | 成都安恒信息技术有限公司 | 一种基于挑战应答码的数据加解密系统的使用方法 |
CN109377679A (zh) * | 2018-09-03 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 取款方法及终端设备 |
CN109617876A (zh) * | 2018-12-11 | 2019-04-12 | 北京首汽智行科技有限公司 | 基于Http协议的数据加密、解密方法及系统 |
CN110365763B (zh) * | 2019-07-11 | 2021-11-23 | 北京蜜莱坞网络科技有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN111917771B (zh) * | 2020-07-31 | 2021-03-30 | 八维通科技有限公司 | 一种应用于地铁系统的数据处理方法 |
CN116167090B (zh) * | 2023-04-21 | 2023-08-22 | 云筑信息科技(成都)有限公司 | 一种基于UKey批量处理PDF文件电子签名的方法 |
CN117201021B (zh) * | 2023-11-08 | 2024-02-23 | 中孚信息股份有限公司 | 用于主业务系统的密钥动态切换方法、系统、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339677A (zh) * | 2008-08-28 | 2009-01-07 | 北京飞天诚信科技有限公司 | 安全授权的方法和系统 |
CN102223237A (zh) * | 2011-07-15 | 2011-10-19 | 飞天诚信科技股份有限公司 | 一种数据签名认证方法及系统 |
-
2013
- 2013-07-31 CN CN201310329034.0A patent/CN103368975B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339677A (zh) * | 2008-08-28 | 2009-01-07 | 北京飞天诚信科技有限公司 | 安全授权的方法和系统 |
CN102223237A (zh) * | 2011-07-15 | 2011-10-19 | 飞天诚信科技股份有限公司 | 一种数据签名认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103368975A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368975B (zh) | 一种批量数据安全传输的方法及系统 | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
US20240080209A1 (en) | Chosen-plaintext secure cryptosystem and authentication | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN112187448B (zh) | 一种数据加密方法及系统 | |
KR20150142623A (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
CN112564887A (zh) | 密钥保护处理方法、装置、设备和存储介质 | |
CN106598882A (zh) | 一种安全的内存数据保护方法及装置 | |
CN103414727A (zh) | 针对input密码输入框的加密保护系统及其使用方法 | |
CN111526007B (zh) | 一种随机数生成方法及系统 | |
CN113572604B (zh) | 一种发送密钥的方法、装置、系统及电子设备 | |
CN115499118A (zh) | 报文密钥生成、文件加密、解密方法、装置、设备和介质 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN115883052A (zh) | 数据加密方法、数据解密方法、设备及存储介质 | |
Kaur et al. | 3D (4 X 4 X 4)-Playfair Cipher | |
CN114443718A (zh) | 一种数据查询方法及系统 | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
CN114205142B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
US9473471B2 (en) | Method, apparatus and system for performing proxy transformation | |
CN114338648A (zh) | 一种基于国密算法的sftp多端文件安全传输的方法及系统 | |
CN104113410A (zh) | 一种基于多表加密法的数据加密传输方法及装置 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
WO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
CN106534077B (zh) | 一种基于对称密码的可认证的代理重加密系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 |
|
CF01 | Termination of patent right due to non-payment of annual fee |