CN113347270A - 一种网络传输文件防水平越权方法和装置 - Google Patents
一种网络传输文件防水平越权方法和装置 Download PDFInfo
- Publication number
- CN113347270A CN113347270A CN202110710431.7A CN202110710431A CN113347270A CN 113347270 A CN113347270 A CN 113347270A CN 202110710431 A CN202110710431 A CN 202110710431A CN 113347270 A CN113347270 A CN 113347270A
- Authority
- CN
- China
- Prior art keywords
- character string
- abstract
- key
- transmission file
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种网络传输文件防水平越权方法和装置,涉及网络安全,该方法包括:获取交易的传输文件;通过客户端处理传输文件,确定摘要信息;通过客户端将摘要信息和传输文件上传至后台系统;通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。本发明能防止传输过程中,外部对传输文件的水平越权攻击。
Description
技术领域
本发明涉及计算数据处理技术领域,尤其涉及一种网络传输文件防水平越权方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着互联网的兴起,网络安全形势也日趋严峻。银行的互联网产品众多,涉及文件传输的场景存在水平越权的可能。
互联网产品传输的数据到后台系统时,仅对报文加密,并未对其中的上传文件进行防水平越权操作,存在被替换上传文件的风险。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种网络传输文件防水平越权方法,能防止传输过程中,外部对传输文件的水平越权攻击,该方法包括:
获取交易的传输文件;
通过客户端处理传输文件,确定摘要信息;
通过客户端将摘要信息和传输文件上传至后台系统;
通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
本发明实施例还提供一种网络传输文件防水平越权装置,包括:
传输文件获取模块,用于获取交易的传输文件;
摘要信息确定模块,用于通过客户端处理传输文件,确定摘要信息;
文件上传模块,用于通过客户端将摘要信息和传输文件上传至后台系统;
摘要字符串计算模块,用于通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
水平越权判定模块,用于对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种网络传输文件防水平越权方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述一种网络传输文件防水平越权方法的计算机程序。
本发明实施例提供的一种网络传输文件防水平越权方法和装置,包括:首先获取交易的传输文件;然后通过客户端处理传输文件,确定摘要信息;接着通过客户端将摘要信息和传输文件上传至后台系统;下一步通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;最后对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。本发明实施例能够防止文件传输的过程中发生水平越权所引发的安全问题,保持互联网产品上传的文件和后台系统接收的文件的一致性,能防止传输过程中,外部对传输文件的水平越权攻击,可同时对文件进行防水平越权和端对端加密,提高文件传输的安全性,防止文件被替换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种网络传输文件防水平越权方法示意图。
图2为本发明实施例一种网络传输文件防水平越权方法的生成原始秘钥字符串过程示意图。
图3为本发明实施例一种网络传输文件防水平越权方法的确定待上传数据对象过程示意图。
图4为运行本发明实施的一种网络传输文件防水平越权方法的计算机装置示意图。
图5为本发明实施例一种网络传输文件防水平越权装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明涉及网络安全。图1为本发明实施例一种网络传输文件防水平越权方法示意图,如图1所示,本发明实施例提供一种网络传输文件防水平越权方法,能防止传输过程中,外部对传输文件的水平越权攻击,该方法包括:
步骤101:获取交易的传输文件;
步骤102:通过客户端处理传输文件,确定摘要信息;
步骤103:通过客户端将摘要信息和传输文件上传至后台系统;
步骤104:通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
步骤105:对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
本发明实施例提供的一种网络传输文件防水平越权方法,包括:首先获取交易的传输文件;然后通过客户端处理传输文件,确定摘要信息;接着通过客户端将摘要信息和传输文件上传至后台系统;下一步通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;最后对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。本发明实施例能够防止文件传输的过程中发生水平越权所引发的安全问题,保持互联网产品上传的文件和后台系统接收的文件的一致性,能防止传输过程中,外部对传输文件的水平越权攻击,可同时对文件进行防水平越权和端对端加密,提高文件传输的安全性,防止文件被替换。
在本发明实施例中,涉及的专业名称解释如下:
摘要:对文件进行自定义算法后生成的特定字符串;
摘要因子:生成摘要的特定条件,包含特殊算法、因素等;
互联网产品:用于接收客户操作的客户端,采集客户信息并将信息和文件通过网络服务上传至后台;
后台系统:接收互联网产品上传的信息和文件,对文件进行鉴别,判断是否合法交易。
随着互联网的兴起,网络安全形势也日趋严峻。银行互联网产品众多,涉及文件传输的交易场景存在水平越权的可能。本发明旨在防文件传输的交易过程中发生水平越权,引发安全问题。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,可以包括:
获取交易的传输文件;
通过客户端处理传输文件,确定摘要信息;
通过客户端将摘要信息和传输文件上传至后台系统;
通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
通过后台系统对接收的文件计算摘要字符串,与客户端上传的摘要信息进行对比,可以判定水平越权是否发生,能够防止文件传输的过程中发生水平越权所引发的安全问题,保持互联网产品上传的文件和后台系统接收的文件的一致性,能防止传输过程中,外部对传输文件的水平越权攻击,可同时对文件进行防水平越权和端对端加密,提高文件传输的安全性,防止文件被替换。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,通过客户端处理传输文件,确定摘要信息,包括:
生成原始秘钥字符串;
通过客户端处理传输文件,确定待上传数据对象;
根据待上传数据对象,确定摘要秘钥和摘要原文;
根据原始秘钥字符串,确定二级秘钥;
根据二级秘钥、摘要秘钥和摘要原文,确定摘要信息。
实施例中,为了计算传输文件的摘要信息,主要过程包括:首先生成原始秘钥字符串;然后通过客户端处理传输文件,确定待上传数据对象;接着根据待上传数据对象,确定摘要秘钥和摘要原文;下一步根据原始秘钥字符串,确定二级秘钥;最后根据二级秘钥、摘要秘钥和摘要原文,对上述信息进行组装生成摘要信息。
图2为本发明实施例一种网络传输文件防水平越权方法的生成原始秘钥字符串过程示意图,如图2所示,具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,生成原始秘钥字符串,包括:
生成32位随机数的字符串;其中,随机由数字和大小写字母组成;
对随机数进行处理,截取此随机数后16位,生成新的16位随机数;
将16位随机数的每个字符对应的Unicode码转为16进制字符串,存入数组;
将数组中的数据拼接后组成字符串,生成秘钥字符串;
将秘钥字符串按照键值对的方式保存,确定原始秘钥字符串。
实施例中,生成原始秘钥字符串的主要过程,包括:
①生成32位随机数R的字符串,由数字和大小写字母组成;
②对随机数R进行处理,截取此随机数后16位,生成新的16位随机数RN;
③将16位随机数RN的每个字符对应的Unicode码转为16进制字符串,存入数组A;
④将数组A中的数据拼接后组成加密解密使用的秘钥字符串;
⑤将秘钥字符串按照键值对的方式保存,确定原始秘钥字符串S,每次访问接口时,均需生成不同的密钥字符S串,做到一次一密。
图3为本发明实施例一种网络传输文件防水平越权方法的确定待上传数据对象过程示意图,如图3所示,具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,通过客户端处理传输文件,确定待上传数据对象,包括:
通过客户端将用户信息和传输文件,组装成一个数据对象;
读取数据对象中传输文件的内容,转换为第一字节数组;
根据字节数组长度,生成第一随机数和第二随机数;其中,第一随机数小于第二随机数,且两个随机数均需小于字节数组长度;
将第一随机数作为截取字节数组的起始位置,将第二随机数作为截取字节数组的结束位置,截取生成新的第二字节数组;
将截取生成的第二字节数组转换为Base64字符串,连同第一随机数和第二随机数,组合成新的对象放入数据对象中,生成待上传数据对象。
实施例中,为了在客户端先处理传输文件,确定待上传数据对象的主要过程包括:
①通过客户端将用户信息和传输文件,组装成一个数据对象O;
②通过FileReader读取数据对象O中上传文件的内容U,并将其转换为字节数组UA;
③根据字节数组UA长度,生成两个随机数:第一随机数RA和第二随机数RB,第一随机数RA必须小于第二随机数RB,且两个随机数RA、RB均需小于字节数组UA长度;
④将两个随机数RA、RB作为截取字节数组UA的起始位置和结束位置,将第一随机数RA作为截取字节数组的起始位置,将第二随机数RB作为截取字节数组的结束位置,截取生成新的字节数组UAF;
⑤将截取生成的字节数组UAF转换为Base64字符串,连同③中生成的两个随机数RA、RB,组合成新的对象,放到①的数据对象O中生成待上传数据对象。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,根据待上传数据对象,确定摘要秘钥和摘要原文,包括:
生成16位随机数,由数字和大小写字母组成,作为摘要密钥;
判断Base64字符串的长度;
如果Base64字符串的长度小于8则需从字符串左侧补0,直到补足8位;
将补足的Base64字符串转换为二进制字符串b;
根据二进制字符串b的长度,计算出此长度整除512后生成的最小正整数k;
当此正整数k大于等于448,则k等于512减去k整除448后的最小正整数再减去1后的值;当此正整数k小于448,则k等于448减去k,再减去1的值;
将二进制字符串b拼接数字1,再拼接k位全0字符串,最后拼接字符串b长度向左补0直到满足64位的字符串,得到拼接字符串m;
将二进制字符串b的长度加上最小正整数k,再加上自设值得出的数字,除以512后,取整数部分值,生成数字n;
指定一个64位字符串,将此64位字符串转换为二进制,生成字符串c;
根据生成的数字n做n次循环,每次循环时,对拼接字符串m进行截取,截取位置为当前循环次数乘以512,截取长度为512个字符,生成字符串s;
将生成的字符串c和生成的字符串s,以及摘要密钥,带入SM3的散列算法进行计算,生成待上传数据对象的摘要原文。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,生成摘要秘钥后,还包括:
获取和后台系统约定好的加密公钥G,使用SM2非对称加密算法,通过加密公钥G对摘要密钥进行加密,生成摘要密钥的密文;
实施例中,根据待上传数据对象,确定摘要秘钥和摘要原文的具体过程,包括:
①生成16位随机数,由数字和大小写字母组成,作为摘要密钥;
②首先判断前述生成待上传数据对象中第⑤步生成的截取内容的Base64字符串长度,如果长度小于8则需从字符串左侧补0,直到补足8位;
③将②中补足的Base64字符串转换为二进制字符串b;
④根据上述二进制字符串b的长度,计算出此长度整除512后生成的最小正整数k;
⑤当此正整数k大于等于448,则k等于512减去k整除448后的最小正整数再减去1后的值;当k小于448,则k等于448减去k,再减去1的值;
计算公式代码如下:
k=k>=448?512-(k%448)-1:448-k–1.
⑥将③中生成的二进制字符串b拼接数字1,再拼接⑤中生成的k位全0字符串,最后拼接字符串b长度向左补0直到满足64位的字符串,得到拼接字符串m(如b长度为100,则在100左边补齐61个0:0000000000000000000000000000000000000000000000000000000000000100),生成新的拼接字符串m;
拼接字符串m的计算公式代码如下:
m=`${b}1${leftPad(″,k)}${leftPad(len.toString(2),64)}`.toString().
⑦将③中二进制字符串b的长度加上④中生成的最小正整数k,再加上自设值得出的数字,除以512后,取整数部分值,生成数字n;
⑧指定一个64位字符串,将此字符串转换为二进制,生成字符串c;
⑨根据⑦中生成的数字n做n次循环,每次循环时,对⑥中生成的拼接字符串m进行截取,截取位置为当前循环次数乘以512,截取长度为512个字符,生成字符串s。将⑧中生成的字符串c和刚生成的字符串s、以及①中生成的摘要密钥,带入SM3的散列算法进行计算,生成前述生成待上传数据对象中第⑤步截取Base64字符串文件内容的摘要原文;
进一步的,在前述①-⑨的基础上,还包括:
⑩获取和后台系统服务端约定好的加密公钥G,使用SM2非对称加密算法,通过加密公钥G对①中生成的摘要密钥进行加密,生成摘要密钥的密文。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,根据原始秘钥字符串,确定二级秘钥,包括:
获取和后台系统约定好的加密公钥G和原始秘钥字符串;
创建加密计算对象sc;
对加密公钥G进行计算后,生成新的二级加密公钥G2;
将二级加密公钥G2作为加密因子,初始化加密方法;
使用初始化后的加密方法对原始秘钥字符串进行加密,生成二级秘钥S2。
实施例中,通过计算原始秘钥字符串确定二级秘钥的过程,主要包括:
①获取和后台系统服务端约定的加密公钥G,前述生成的原始秘钥字符串S;首先创建加密计算对象sc;
②对加密公钥G进行计算后,生成新的二级加密公钥G2;
对加密公钥G进行计算的代码如下:
const sc=new SM2Cipher()
if(G.length>128){
G=G.substr(G.length-128)
}
const X=G.substr(0,64)
const Y=G.substr(64)
let G2=sc.createPoint(X,Y).
③将②中生成的二级加密公钥G2作为加密因子,初始化加密方法;
④使用此加密方法对原始秘钥字符串S进行加密,生成新的二级秘钥S2。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,通过客户端将摘要信息和传输文件上传至后台系统,包括:
根据待上传数据对象和原始秘钥字符串,确定密文字符串;
通过客户端将摘要信息中的二级秘钥、摘要秘钥和摘要原文与密文字符串进行组装,确定上送数据对象;
调用后台数据接口,将上送数据对的上传至后台系统。
实施例中,通过客户端将摘要信息和传输文件上传至后台系统,主要包括:
首先根据待上传数据对象和原始秘钥字符串,确定密文字符串;然后通过客户端将摘要信息中的二级秘钥、摘要秘钥和摘要原文与密文字符串进行组装,确定上送数据对象;最后调用后台数据接口,将上送数据对的上传至后台系统。
实施例中,将前述生成的二级秘钥S2、前述生成的密文字符串和前述生成的摘要密钥和摘要原文组装成一个用于传输数据的上送数据对象,调用后台数据接口将此上送数据对象送至后台系统服务端。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,根据待上传数据对象和原始秘钥字符串,确定密文字符串,包括:
将待上传数据对象转换为json格式字符串J;
对json格式字符串J进行编码,生成字符串E;
将字符串E作为待加密数据,结合原始秘钥字符串,调用SM4加密算法进行加密,确定密文字符串。
实施例中,根据待上传数据对象和原始秘钥字符串确定密文字符串,也就是加密报文的具体过程,包括:
①将前述生成的待上传数据对象转换为json格式字符串J;
②对json格式字符串J进行编码,生成字符串E;
③将字符串E作为待加密数据,和前述生成的原始秘钥字符串S,调用SM4加密算法进行加密,生成密文字符串。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串,包括:
通过后台系统接收上送数据对象;
从上送数据对象中获取二级秘钥,使用后台系统的私钥解密二级秘钥,生成原始秘钥字符串;
使用原始秘钥字符串解密上送数据对象中的密文字符串,确定原始的传输文件;
获取上送数据对象中的摘要秘钥,使用后台系统的私钥解密后生成摘要秘钥;
使用摘要秘钥对原始的传输文件进行计算,生成摘要字符串。
具体实施本发明实施例提供的一种网络传输文件防水平越权方法时,在一个实施例中,对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易,包括:
从上送数据对象中获取摘要原文;
对比摘要字符串与摘要原文;
在摘要字符串与摘要原文不同时,判定发生水平越权,丢弃传输文件,中断当前交易并返回响应至客户端;
在摘要字符串与摘要原文一致时,判定未发生水平越权,继续交易。
实施例中,后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串,并对比摘要字符串与摘要信息进行水平越权判定的过程,主要包括:
①后台系统服务端接收到客户端传过来的上送数据对象,获取其中的二级密钥S2,使用后台系统的私钥解密S2后,生成原始密钥字符串S;
②使用原始密钥字符串S解密上送数据对象中的密文字符串,生成上送数据的原文,即原始的传输文件;
③获取上送数据对象中的摘要密钥,使用后台系统的私钥解密后生成摘要密钥;
④使用摘要密钥对②中生成的上送数据的原文(传输文件)生成摘要字符串;
⑤比对④中生成的摘要字符串和上送数据对象中的摘要原文;若摘要不同,判定发生水平越权,说明已被攻击者水平越权,丢弃②中生成的上送数据的原文,中断当前交易,返回客户端报错信息;若摘要相同,判定未发生水平越权,则正常完成交易。
下面结合具体场景,对本发明实施例提供的一种网络传输文件防水平越权方法进行简要描述:
1.本发明旨在防止文件传输的过程中发生水平越权,引发安全问题。
2.本发明主要过程分为三个步骤:
(1)由互联网产品客户端对传输文件生成摘要,连同文件、摘要内容,加密送至后台系统;
(2)后台系统接收到上述数据后,解密后通过此文件生成摘要;
(3)对比摘要。若摘要不同,说明已被攻击者水平越权,中断当前交易,否之则继续交易。
详细过程包括:
2.1客户端生成加密信息:
2.1.1生成原始密钥:
①生成32位随机数的字符串,由数字和大小写字母组成;
②对随机数进行处理,截取此随机数后16位,生成新的16位随机数;
③将16位随机数的每个字符对应的Unicode码转为16进制字符串,存入数组;
④将数组中的数据拼接后组成新字符串,即为原始密钥字符串S;
⑤每次访问接口时,均需生成不同的密钥字符串,做到一次一密。
2.1.2组装数据:
①将用户信息和上传文件等信息,组装成一个数据对象;
②读取数据对象中上传文件的内容,并将其转换为字节数组;
③根据字节数组长度,生成两个随机数,第一个随机数必须小于第二个随机数,且两个随机数均需小于字节数组长度;
④将随机数作为截取字节数组的起始位置和结束位置,截取生成新的字节数组;
⑤将截取生成的字节数组转换为Base64字符串,连同③中生成的两个随机数,组合成新的对象,放到①中待上传的数据对象中。
2.1.3生成摘要密钥和摘要原文:
①生成16位随机数,由数字和大小写字母组成,作为摘要密钥;
②首先判断2.1.2中第⑤步生成的截取内容的Base64字符串,如果长度小于8则需从字符串左侧补0,直到补足8位;
③将②中的Base64字符串转换为二进制字符串b;
④根据上述二进制字符串的长度,计算出此长度整除512后生成的最小正整数k;
⑤当此正整数k大于等于448,则k等于512减去k整除448后的最小正整数再减去1后的值;当k小于448,则k等于448减去k,再减去1的值;
计算公式代码包括:k=k>=448?512-(k%448)-1:448-k–1;
⑥将③中生成的二进制字符串b拼接数字1,再拼接⑤中生成的k位全0字符串,最后拼接字符串b长度向左补0直到满足64位的字符串(如b长度为100,则在100左边补齐61个0:0000000000000000000000000000000000000000000000000000000000000100),生成新字符串m;
计算公式代码如下:
m=`${b}1${leftPad(″,k)}${leftPad(len.toString(2),64)}`.toString();
⑦将③中二进制字符串b的长度加上④中生成的最小正整数k,再加上自设值得出的数字,除以512后,取整数部分值,生成数字n;
⑧指定一个64位字符串,将此字符串转换为二进制,生成字符串c;
⑨根据⑦中生成的数字n做n次循环,每次循环时,对⑥中生成的字符串m进行截取,截取位置为当前循环次数乘以512,截取长度为512个字符,生成字符串s。将⑧中生成的字符串c和刚生成的字符串s、以及①中生成的摘要密钥,带入SM3的散列算法进行计算,生成2.1.2第⑤步中截取文件内容的摘要原文;
⑩获取和服务端约定好的加密公钥G,使用SM2非对称加密算法,通过加密公钥G对①中生成的摘要密钥进行加密,生成摘要密钥的密文。
2.1.4加密密钥:
①获取和服务端约定的加密公钥G,和2.1.1第⑤步生成的密钥S。首先创建加密计算对象sc;
②对公钥进行计算后,生成新的加密公钥G2;
代码如下:
const sc=new SM2Cipher()
if(G.length>128){
G=G.substr(G.length-128)
}
const X=G.substr(0,64)
const Y=G.substr(64)
let G2=sc.createPoint(X,Y);
③将②中生成的公钥G2作为加密因子,初始化加密方法;
④使用此加密方法对密钥S进行加密,生成新的密钥S2;
2.1.5加密报文:
①将2.1.2第⑤步中生成的数据对象转换为json格式字符串J;
②对字符串J进行编码,生成字符串E;
③将字符串E作为待加密数据,和2.1.1第⑤步生成的密钥S,调用SM4加密算法进行加密,获得密文字符串;
2.1.6组装上送的数据对象:
将2.1.4生成的密钥S2、2.1.5生成的密文字符串和2.1.3生成的摘要密钥和摘要原文组装成一个用于传输数据的上送对象,调用后台数据接口将此对象送至服务端。
2.2服务端解密上送信息:
2.2.1获取密钥:
①服务端接收到客户端传过来的数据对象,获取其中的密钥S2,使用后台的私钥解密S2后,生成原始密钥S;
②使用原始密钥S解密数据对象中的密文字符串,生成上送数据的原文;
③获取数据对象中的摘要密钥,使用后台的私钥解密后生成摘要密钥;
④使用摘要密钥对②中生成的上送数据原文生成摘要字符串;
⑤比对④中生成的摘要字符串和数据对象中的摘要原文。若摘要不同,说明已被攻击者水平越权,丢弃②中生成的上送数据原文,中断当前交易,返回客户端报错信息;若摘要相同,则正常完成交易。
通过上述方式,保持互联网产品上传文件和后台系统接收文件的一致性。基于SM3散列算法和SM2非对称算法,使用随机数将待上传文件SM3运算生成摘要,将此随机数通过SM2加密后,连同文件、摘要送往后台系统,后台系统使用SM2解密随机数,对文件使用SM3运算生成摘要。比对两次运算生成的摘要,若不同则说明已被水平越权。本发明实施例提供一种端对端加密功能,可同时对文件进行防水平越权和端对端加密。
本发明能防止传输过程中,外部对文件的水平越权攻击。技术人员需要做的工作:
1、了解SM3散列算法,掌握SM2非对称算法;
2、使用SM3对文件运算生成摘要,和使用SM2加密随机数,熟练掌握代码编写能力;
3、互联网产品和后台系统联调时,解决错误的能力。
第三点是最重要也是最难的,初次联调比较困难,可能发生多种报错,需开发人员一一解决。
本发明实施的一种网络传输文件防水平越权方法的应用在客户端的具体过程,包括:
1、互联网产品接收到客户信息后,将客户信息和文件传送给后台系统请求交易;
2、后台系统接收客户信息和文件,鉴别此数据是合法请求后,执行此请求并返回响应;
3、互联网产品收到响应后,将结果展示于客户。
互联网产品和后台系统的数据服务,均需使用SM2和SM3算法。
本发明实施例的关键点在于互联网产品和后台产品匹配使用SM2算法和SM3算法,分别用于加密随机数和生成文件的摘要;本发明实施例的欲保护点在于文件传输安全性校验规则。可以提高文件传输的安全性,防止文件被替换。
本发明实施例能够防止文件传输的过程中发生水平越权所引发的安全问题,保持互联网产品上传的文件和后台系统接收的文件的一致性,能防止传输过程中,外部对传输文件的水平越权攻击,可同时对文件进行防水平越权和端对端加密,提高文件传输的安全性,防止文件被替换。
图4为运行本发明实施的一种网络传输文件防水平越权方法的计算机装置示意图,如图4所示,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种网络传输文件防水平越权方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述一种网络传输文件防水平越权方法的计算机程序。
本发明实施例中还提供了一种网络传输文件防水平越权装置,如下面的实施例所述。由于该装置解决问题的原理与一种网络传输文件防水平越权方法相似,因此该装置的实施可以参见一种网络传输文件防水平越权方法的实施,重复之处不再赘述。
图5为本发明实施例一种网络传输文件防水平越权装置示意图,如图5所示,本发明实施例还提供一种网络传输文件防水平越权装置,具体实施时可以包括:
传输文件获取模块501,用于获取交易的传输文件;
摘要信息确定模块502,用于通过客户端处理传输文件,确定摘要信息;
文件上传模块503,用于通过客户端将摘要信息和传输文件上传至后台系统;
摘要字符串计算模块504,用于通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
水平越权判定模块505,用于对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
具体实施本发明实施例提供的一种网络传输文件防水平越权装置时,在一个实施例中,摘要信息确定模块,具体用于:
生成原始秘钥字符串;
通过客户端处理传输文件,确定待上传数据对象;
根据待上传数据对象,确定摘要秘钥和摘要原文;
根据原始秘钥字符串,确定二级秘钥;
根据二级秘钥、摘要秘钥和摘要原文,确定摘要信息。
具体实施本发明实施例提供的一种网络传输文件防水平越权装置时,在一个实施例中,摘要信息确定模块,还用于:
生成32位随机数的字符串;其中,随机由数字和大小写字母组成;
对随机数进行处理,截取此随机数后16位,生成新的16位随机数;
将16位随机数的每个字符对应的Unicode码转为16进制字符串,存入数组;
将数组中的数据拼接后组成字符串,生成秘钥字符串;
将秘钥字符串按照键值对的方式保存,确定原始秘钥字符串。
具体实施本发明实施例提供的一种网络传输文件防水平越权装置时,在一个实施例中,文件上传模块,具体用于:
根据待上传数据对象和原始秘钥字符串,确定密文字符串;
通过客户端将摘要信息中的二级秘钥、摘要秘钥和摘要原文与密文字符串进行组装,确定上送数据对象;
调用后台数据接口,将上送数据对的上传至后台系统。
具体实施本发明实施例提供的一种网络传输文件防水平越权装置时,在一个实施例中,摘要字符串计算模块,具体用于:
通过后台系统接收上送数据对象;
从上送数据对象中获取二级秘钥,使用后台系统的私钥解密二级秘钥,生成原始秘钥字符串;
使用原始秘钥字符串解密上送数据对象中的密文字符串,确定原始的传输文件;
获取上送数据对象中的摘要秘钥,使用后台系统的私钥解密后生成摘要秘钥;
使用摘要秘钥对原始的传输文件进行计算,生成摘要字符串。
具体实施本发明实施例提供的一种网络传输文件防水平越权装置时,在一个实施例中,水平越权判定模块,具体用于:
从上送数据对象中获取摘要原文;
对比摘要字符串与摘要原文;
在摘要字符串与摘要原文不同时,判定发生水平越权,丢弃传输文件,中断当前交易并返回响应至客户端;
在摘要字符串与摘要原文一致时,判定未发生水平越权,继续交易。
综上,本发明实施例提供的一种网络传输文件防水平越权方法和装置,包括:首先获取交易的传输文件;然后通过客户端处理传输文件,确定摘要信息;接着通过客户端将摘要信息和传输文件上传至后台系统;下一步通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;最后对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。本发明实施例能够防止文件传输的过程中发生水平越权所引发的安全问题,保持互联网产品上传的文件和后台系统接收的文件的一致性,能防止传输过程中,外部对传输文件的水平越权攻击,可同时对文件进行防水平越权和端对端加密,提高文件传输的安全性,防止文件被替换。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种网络传输文件防水平越权方法,其特征在于,包括:
获取交易的传输文件;
通过客户端处理传输文件,确定摘要信息;
通过客户端将摘要信息和传输文件上传至后台系统;
通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
2.如权利要求1所述的方法,其特征在于,通过客户端处理传输文件,确定摘要信息,包括:
生成原始秘钥字符串;
通过客户端处理传输文件,确定待上传数据对象;
根据待上传数据对象,确定摘要秘钥和摘要原文;
根据原始秘钥字符串,确定二级秘钥;
根据二级秘钥、摘要秘钥和摘要原文,确定摘要信息。
3.如权利要求2所述的方法,其特征在于,生成原始秘钥字符串,包括:
生成32位随机数的字符串;其中,随机由数字和大小写字母组成;
对随机数进行处理,截取此随机数后16位,生成新的16位随机数;
将16位随机数的每个字符对应的Unicode码转为16进制字符串,存入数组;
将数组中的数据拼接后组成字符串,生成秘钥字符串;
将秘钥字符串按照键值对的方式保存,确定原始秘钥字符串。
4.如权利要求2所述的方法,其特征在于,通过客户端将摘要信息和传输文件上传至后台系统,包括:
根据待上传数据对象和原始秘钥字符串,确定密文字符串;
通过客户端将摘要信息中的二级秘钥、摘要秘钥和摘要原文与密文字符串进行组装,确定上送数据对象;
调用后台数据接口,将上送数据对的上传至后台系统。
5.如权利要求4所述的方法,其特征在于,通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串,包括:
通过后台系统接收上送数据对象;
从上送数据对象中获取二级秘钥,使用后台系统的私钥解密二级秘钥,生成原始秘钥字符串;
使用原始秘钥字符串解密上送数据对象中的密文字符串,确定原始的传输文件;
获取上送数据对象中的摘要秘钥,使用后台系统的私钥解密后生成摘要秘钥;
使用摘要秘钥对原始的传输文件进行计算,生成摘要字符串。
6.如权利要求5所述的方法,其特征在于,对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易,包括:
从上送数据对象中获取摘要原文;
对比摘要字符串与摘要原文;
在摘要字符串与摘要原文不同时,判定发生水平越权,丢弃传输文件,中断当前交易并返回响应至客户端;
在摘要字符串与摘要原文一致时,判定未发生水平越权,继续交易。
7.一种网络传输文件防水平越权装置,其特征在于,包括:
传输文件获取模块,用于获取交易的传输文件;
摘要信息确定模块,用于通过客户端处理传输文件,确定摘要信息;
文件上传模块,用于通过客户端将摘要信息和传输文件上传至后台系统;
摘要字符串计算模块,用于通过后台系统接收摘要信息和传输文件,计算传输文件的摘要字符串;
水平越权判定模块,用于对比摘要字符串与摘要信息,在摘要字符串与摘要信息不同时,判定发生水平越权,中断当前交易,在摘要字符串与摘要信息一致时,判定未发生水平越权,继续交易。
8.如权利要求7所述的装置,其特征在于,摘要信息确定模块,具体用于:
生成原始秘钥字符串;
通过客户端处理传输文件,确定待上传数据对象;
根据待上传数据对象,确定摘要秘钥和摘要原文;
根据原始秘钥字符串,确定二级秘钥;
根据二级秘钥、摘要秘钥和摘要原文,确定摘要信息。
9.如权利要求8所述的装置,其特征在于,摘要信息确定模块,还用于:
生成32位随机数的字符串;其中,随机由数字和大小写字母组成;
对随机数进行处理,截取此随机数后16位,生成新的16位随机数;
将16位随机数的每个字符对应的Unicode码转为16进制字符串,存入数组;
将数组中的数据拼接后组成字符串,生成秘钥字符串;
将秘钥字符串按照键值对的方式保存,确定原始秘钥字符串。
10.如权利要求8所述的装置,其特征在于,文件上传模块,具体用于:
根据待上传数据对象和原始秘钥字符串,确定密文字符串;
通过客户端将摘要信息中的二级秘钥、摘要秘钥和摘要原文与密文字符串进行组装,确定上送数据对象;
调用后台数据接口,将上送数据对的上传至后台系统。
11.如权利要求10所述的装置,其特征在于,摘要字符串计算模块,具体用于:
通过后台系统接收上送数据对象;
从上送数据对象中获取二级秘钥,使用后台系统的私钥解密二级秘钥,生成原始秘钥字符串;
使用原始秘钥字符串解密上送数据对象中的密文字符串,确定原始的传输文件;
获取上送数据对象中的摘要秘钥,使用后台系统的私钥解密后生成摘要秘钥;
使用摘要秘钥对原始的传输文件进行计算,生成摘要字符串。
12.如权利要求11所述的装置,其特征在于,水平越权判定模块,具体用于:
从上送数据对象中获取摘要原文;
对比摘要字符串与摘要原文;
在摘要字符串与摘要原文不同时,判定发生水平越权,丢弃传输文件,中断当前交易并返回响应至客户端;
在摘要字符串与摘要原文一致时,判定未发生水平越权,继续交易。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行实现权利要求1至6任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710431.7A CN113347270B (zh) | 2021-06-25 | 2021-06-25 | 一种网络传输文件防水平越权方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710431.7A CN113347270B (zh) | 2021-06-25 | 2021-06-25 | 一种网络传输文件防水平越权方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347270A true CN113347270A (zh) | 2021-09-03 |
CN113347270B CN113347270B (zh) | 2022-12-23 |
Family
ID=77478715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710431.7A Active CN113347270B (zh) | 2021-06-25 | 2021-06-25 | 一种网络传输文件防水平越权方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347270B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827114A (zh) * | 2022-04-22 | 2022-07-29 | 雷沃工程机械集团有限公司 | 一种工程机械车联网平台的数据孪生的实现方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567255A (zh) * | 2003-09-02 | 2005-01-19 | 四川大学 | 一种安全文件系统的存储及访问控制方法 |
US20080292097A1 (en) * | 2007-03-23 | 2008-11-27 | System And Method For Text-Based Encryption | System and method for text-based encryption |
CN108769070A (zh) * | 2018-06-30 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种越权漏洞检测方法及装置 |
CN108769012A (zh) * | 2018-05-29 | 2018-11-06 | 山东恒云信息科技有限公司 | 一种对银行电子信贷档案进行独立认证的方法 |
CN111416811A (zh) * | 2020-03-16 | 2020-07-14 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、系统、设备及存储介质 |
CN112016082A (zh) * | 2020-10-26 | 2020-12-01 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
-
2021
- 2021-06-25 CN CN202110710431.7A patent/CN113347270B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567255A (zh) * | 2003-09-02 | 2005-01-19 | 四川大学 | 一种安全文件系统的存储及访问控制方法 |
US20080292097A1 (en) * | 2007-03-23 | 2008-11-27 | System And Method For Text-Based Encryption | System and method for text-based encryption |
CN108769012A (zh) * | 2018-05-29 | 2018-11-06 | 山东恒云信息科技有限公司 | 一种对银行电子信贷档案进行独立认证的方法 |
CN108769070A (zh) * | 2018-06-30 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种越权漏洞检测方法及装置 |
CN111416811A (zh) * | 2020-03-16 | 2020-07-14 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、系统、设备及存储介质 |
CN112016082A (zh) * | 2020-10-26 | 2020-12-01 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827114A (zh) * | 2022-04-22 | 2022-07-29 | 雷沃工程机械集团有限公司 | 一种工程机械车联网平台的数据孪生的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113347270B (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220141038A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
CN105024803B (zh) | 白箱实现中的行为指纹 | |
US11374975B2 (en) | TLS integration of post quantum cryptographic algorithms | |
US11463242B2 (en) | Padding oracle elimination in RSA encryption | |
RU2696334C1 (ru) | Устройство и способ вычисления блочного шифра | |
US11101977B2 (en) | Data encryption and decryption | |
US20230325516A1 (en) | Method for file encryption, terminal, electronic device and computer-readable storage medium | |
CN112469036A (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
US20220085999A1 (en) | System and method to optimize decryption operations in cryptographic applications | |
US20220085998A1 (en) | System and method to generate prime numbers in cryptographic applications | |
CN112000967B (zh) | 一种机密参数的生成方法及装置 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
US11336425B1 (en) | Cryptographic machines characterized by a Finite Lab-Transform (FLT) | |
US10929151B2 (en) | Computer-implemented method for replacing a data string by a placeholder | |
CN113347270B (zh) | 一种网络传输文件防水平越权方法和装置 | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN113132078B (zh) | 一种基于同态承诺的区块链隐私保护方法及区块链系统 | |
JPWO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
CN116861461A (zh) | 数据处理方法、系统、装置、存储介质及电子设备 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
EP3166013B1 (en) | Modular exponentiation using randomized addition chains | |
CN116781265A (zh) | 一种数据加密的方法和装置 | |
CN114726580A (zh) | 数据处理方法和装置 | |
CN110401533B (zh) | 一种私钥加密方法及装置 | |
CN112069472A (zh) | 一种用户登录认证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |