CN113556381A - Http请求的优化方法、终端以及存储介质 - Google Patents

Http请求的优化方法、终端以及存储介质 Download PDF

Info

Publication number
CN113556381A
CN113556381A CN202110660300.2A CN202110660300A CN113556381A CN 113556381 A CN113556381 A CN 113556381A CN 202110660300 A CN202110660300 A CN 202110660300A CN 113556381 A CN113556381 A CN 113556381A
Authority
CN
China
Prior art keywords
sequence
coded
coding
symbol
encoding
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
Application number
CN202110660300.2A
Other languages
English (en)
Other versions
CN113556381B (zh
Inventor
喻正军
胡巧云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Mirage Sanlu Technology Co ltd
Original Assignee
Hunan Mirage Sanlu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Mirage Sanlu Technology Co ltd filed Critical Hunan Mirage Sanlu Technology Co ltd
Priority to CN202110660300.2A priority Critical patent/CN113556381B/zh
Publication of CN113556381A publication Critical patent/CN113556381A/zh
Application granted granted Critical
Publication of CN113556381B publication Critical patent/CN113556381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种HTTP请求的优化方法、终端以及存储介质,本发明能够实现对HTTP请求的保护,起到保护数据安全的作用,其中,采用第一编码方式能够使HTTP请求具备无损压缩的效果;采用第二编码方式能够使HTTP具备对称加密的效果;采用第一编码方式及第二编码方式的结合能够使HTTP具备对称加密和无损压缩的双重效果,对于HTTP请求的多次请求时,能够极大的提升服务器负载能力,节约服务器资源。将由HTTP请求转换的明文与随机数线性组合成第一待编码序列,在明文之前添加随机数,随机数起到了额外秘钥的作用,能够极大的增加安全性,提升保障,而且还能保证每一次后续编码得到的哈希值会不一致,这样也增大了安全性。

Description

HTTP请求的优化方法、终端以及存储介质
技术领域
本发明实施例涉及通信编码技术领域,特别涉及一种HTTP请求的优化方法、终端以及存储介质。
背景技术
目前使用的远程控制系统的基本模式为:远程发送端发送数据至云端,由云端进行数据处理后,再发送至远程接收端进行响应。其核心技术为无线接收/发送/传输技术以及云处理、云储存技术。
进行无线发送与接收的过程中,不可避免的需要使用到互联网协议。目前使用最多的是HTTP/HTTPS协议。
HTTP(Hypertext Transfer Protocol,超文本传输协议)协议:使用极为广泛,现有互联网环境中仍大约有65%的网站使用HTTP,但是却存在不小的安全缺陷,主要是其数据的明文传送和消息完整性检测的缺乏,而这两点恰好是网络支付,网络交易等新兴应用中安全方面最需要关注的。
另外,HTTP在传输客户端请求和服务端响应时,唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度,而对内容是否被篡改不作确认。因此攻击者可以轻易的发动中间人攻击,修改客户端和服务端传输的数据,甚至在传输数据中插入恶意代码,导致客户端被引导至恶意网站被植入木马。
HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL(Uniform Resource Locator)全称是资源描述符。可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。
理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,但是通常POST数据量存在80K/100K的大小限制。其起限制作用的是服务器的处理程序的处理能力,不同的服务器在接收POST请求时,对内容的长度进行了限制。
GET是最常用的方法,用于请求服务器发送某个资源,是幂等的。
(1)该操作用于获取信息而非修改信息。GET请求一般不应产生副作用。它仅仅是获取资源信息,就像数据库查询一样,不会修改和增加数据,不会影响资源的状态。
(2)幂等是指对同一个URL的多个请求应该返回同样的结果。
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以“?”分割URL和传输数据,参数之间以“&”相连,如:login.action?name=jiel incode&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母或数字,则原样发送;如果是空格,转换为“+”;如果是中文或其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII码值。
目前的HTTP协议传输存在以下缺陷:
从攻击的角度,无论是GET还是POST都不够安全,因为HTTP本身是明文协议。每个HTTP请求和返回的每个byte(比特)都会在网络上明文传播,不管是URL,Header(头部)还是body(数据部)。这完全不是一个“是否容易在浏览器地址栏上看到”的问题。因此如果请求要经过不信任的公网,就需要避免泄密的手段。
另外,HTTP协议的传输数据会受到浏览器的限制,而有一定的长度上限。
HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)协议是由HTTP加上TLS/SSL协议(安全传输层协议/安全套接字协议)构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
HTTPS仍然无法有效解决HTTP协议存在的问题:
(1)HTTPS=HTTP+SSL/TLS,HTTP和SSL只是简单的组合起来,而非从根本上改造HTTP协议,仍然无法有效解决HTTP数据长度受到限制的问题。
(2)实现HTTP转换为HTTPS,首先要购买一张SSL证书,购买SSL证书后还需要提交CSR文件到CA机构完成验证审核才能安装部署。无论是购买SSL证书,还是交由CA机构进行审核等步骤,无一不是费时费力,且会需要额外成本,甚至是持续性的成本。(SSL证书认证拥有注册时限,过了时限需要重新认证购买)
(3)HTTPS的加密仅针对URL,而没有对附带一起传送的其他数据进行加密,安全性仍有很大的提升。
发明内容
本发明实施例提供了一种HTTP请求的优化方法、终端以及存储介质。能够达到保护数据安全的作用,还能够节约服务器资源,降低成本。
第一方面,本发明实施例提供了一种HTTP请求的优化方法,应用于客户端,包括以下步骤:
生成HTTP请求,将所述HTTP请求进制转换成明文;
生成随机数,将所述随机数与所述明文进行线性组合,得到第一待编码序列;
对所述第一待编码序列进行编码,其中,对所述第一待编码序列按照以下编码方式中的其中一种进行编码,得到编码后的哈希值,其中所述编码方式包括:通过第一编码方式进行编码;或通过第二编码方式进行编码;或通过所述第一编码方式结合所述第二编码方式进行编码;
当所述第一待编码序列为所述第一编码方式的编码对象时,则所述第一编码方式包括:
设定正实数r=2H(X)-L/n,所述H(X)为所述第一待编码序列的归一化信息熵,所述L为预设的所述第一待编码序列的编码输出长度,所述n表示所述第一待编码序列的长度;
对所述第一待编码序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,直至编码完成所述第一待编码序列中所有的符号,并且输出所述第一待编码序列最后一位符号编码后的Li作为所述哈希值;其中,所述Ri的初始值为1,所述Li的初始值为0,所述p(x)为符号x的归一化概率,所述F(x-1,r)为符号x-1的非归一化分布函数;
当所述第一待编码序列为所述第二编码方式的编码对象时,则所述第二编码方式包括:
将所述第一待编码序列进行信源处理,得到第二待编码序列;
Figure BDA0003114949670000031
通过编码公式
Figure BDA0003114949670000032
和Li=Li-1编码所述第二待编码序列中的符号0,通过
Figure BDA0003114949670000033
Figure BDA0003114949670000034
编码所述第二待编码序列中的符号10,以及,当
Figure BDA0003114949670000035
通过编码公式
Figure BDA0003114949670000036
Figure BDA0003114949670000037
编码所述第二待编码序列中的符号10,通过
Figure BDA0003114949670000038
和Li=Li-1编码所述第二待编码序列中的符号1;直至编码完成所述第二待编码序列中所有的符号,并且输出所述第二待编码序列最后一位符号后的Li作为所述哈希值;其中,所述p表示所述第一待编码序列中符号0的概率,所述
Figure BDA0003114949670000039
所述
Figure BDA00031149496700000310
所述p(1)表示所述第二待编码序列中符号1的概率,所述p(0)表示所述第二待编码序列中符号0的概率,所述
Figure BDA00031149496700000311
将所述哈希值发送至服务器。
第二方面,本发明实施例提供了一种HTTP请求的优化方法,基于本发明第一方面所述的HTTP请求的优化方法,应用于服务器,包括以下步骤:
接收所述客户端发送的所述哈希值;
按照所述客户端对所述第一待编码序列进行编码的方式,对所述哈希值进行对应的解码,并进行验证,得到验证结果;
当所述验证结果正确,则匹配与所述明文对应的服务器资源;
将所述服务器资源发送至所述客户端。
第三方面,本发明实施例提供了一种终端,包括:
明文生成单元,用于生成HTTP请求,将所述HTTP请求进制转换成明文;
编码序列生成单元,用于生成随机数,将所述随机数与所述明文进行线性组合,得到第一待编码序列;
编码单元,用于对所述第一待编码序列进行编码,其中,对所述第一待编码序列按照以下编码方式中的其中一种进行编码,得到编码后的哈希值,其中所述编码方式包括:通过第一编码方式进行编码;或通过第二编码方式进行编码;或通过所述第一编码方式结合所述第二编码方式进行编码;
当所述第一待编码序列为所述第一编码方式的编码对象时,则所述第一编码方式包括:
设定正实数r=2H(X)-L,所述H(X)为所述第一待编码序列的归一化信息熵,所述L为预设的所述第一待编码序列的编码输出长度,所述n表示所述第一待编码序列的长度;
对所述第一待编码序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,直至编码完成所述第一待编码序列中所有的符号,并且输出所述第一待编码序列最后一位符号编码后的Li作为所述哈希值;其中,所述Ri的初始值为1,所述Li的初始值为0,所述p(x)为符号x的归一化概率,所述F(x-1,r)为符号x-1的非归一化分布函数;
当所述第一待编码序列为所述第二编码方式的编码对象时,则所述第二编码方式包括:
将所述第一待编码序列进行信源处理,得到第二待编码序列;
Figure BDA00031149496700000312
通过编码公式
Figure BDA00031149496700000313
和Li=Li-1编码所述第二待编码序列中的符号0,通过
Figure BDA00031149496700000314
Figure BDA00031149496700000315
编码所述第二待编码序列中的符号10,以及,当
Figure BDA00031149496700000316
通过编码公式
Figure BDA00031149496700000317
Figure BDA00031149496700000318
编码所述第二待编码序列中的符号10,通过
Figure BDA0003114949670000041
和Li=Li-1编码所述第二待编码序列中的符号1;直至编码完成所述第二待编码序列中所有的符号,并且输出所述第二待编码序列最后一位符号后的Li作为所述哈希值;其中,所述p表示所述第一待编码序列中符号0的概率,所述
Figure BDA0003114949670000042
所述
Figure BDA0003114949670000043
所述p(1)表示所述第二待编码序列中符号1的概率,所述p(0)表示所述第二待编码序列中符号0的概率,所述
Figure BDA0003114949670000044
信号发送单元,用于将所述哈希值发送至服务器。
第四方面,本发明实施例提供了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述的HTTP请求的优化方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述的HTTP请求的优化方法。
本发明实施例包括:
(1)现有技术框架下的HTTP协议,其传输数据会受到浏览器的限制,而有一定的长度上限。本发明可以将传输的各个数据统一化为(可设置的)固定长度的唯一标识,有效的解决了数据长度受到限制的问题。同时,将具体的请求数据加密隐藏,提高了请求的安全性保密性,也提高了HTTP协议传输效率。
(2)本发明能够实现对HTTP请求的保护,起到保护数据安全的作用,其中,采用第一编码方式能够使HTTP请求具备无损压缩的效果;采用第二编码方式能够使HTTP具备对称加密的效果;采用第一编码方式及第二编码方式的结合能够使HTTP具备对称加密和无损压缩的双重效果,对于HTTP请求的多次请求时,能够极大的提升服务器负载能力,节约服务器资源。
(3)相较于现有技术框架下的HTTPS协议,不需要额外购买SSL证书,节省了成本。本发明是从HTTP协议本身的请求方式上入手,不仅仅只针对URL,而且还会对HTTP请求传输的各项数据一并进行加密,从而达到安全加密HTTP协议的目的。
(4)将由HTTP请求转换的明文与随机数线性组合成第一待编码序列,在明文之前添加随机数,使得编码某一明文前先编码随机数,因为随机数是未知的,且加权概率模型的线性编译码特征前面的随机数无法正确解密,必然使得后面的明文也无法正确解密,于是,随机数起到了秘钥的作用,能够极大的增加安全性,提升保障。而且能保证每一次后续编码得到的哈希值会不一致,这样也增大了安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的二元加权模型的编码运算过程的示意图;
图2为本发明提供的加权模型编码码率R与序列X中符号0概率p的关系示意图;
图3为本发明提供的
Figure BDA0003114949670000045
时和
Figure BDA0003114949670000046
时,R与p的关系示意图;
图4为本发明一个实施例提供的HTTP请求的优化方法的流程示意图;
图5为本发明一个实施例提供的第一编码方式的编码流程示意图;
图6为本发明另一个实施例提供的HTTP请求的优化方法的流程示意图;
图7为本发明一个实施例提供的第一待编码序列的组成示意图;
图8为本发明一个实施例提供哈希值与第一待编码序列的组合示意图;
图9为本发明一个实施例提供的一种终端的结构示意图;
图10为本发明另一个实施例提供的一种终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
原理部分;
为了便于本领域技术人员理解,在介绍本发明实施例之前,先对本发明实施例技术方案的原理进行说明,主要包括信源处理、加权概率模型编译码方法和加密编译码三个部分,具体如下所示:
一、信源处理;
发送端的信源生成长度为n(n=1,2,...)的二进制伯努利序列X,序列X存在所有可能性。例如:线性地将X中“1”替换为“10”得到二进制序列Q,于是序列Q需满足以下约束条件:“连续符号1的个数最多为1”。序列X处理后得序列Q,Q必然满足“连续符号1的个数最多为1”。例如:X为0110111100101,根据“连续符号1的个数最多为1”可得序列Q为010100101010100010010。从左边至右,将序列Q中“10”替换为“1”可得序列X。将序列Q的长度记为l。
序列Q通过密码长度为k的加权概率模型编码,得到密文,接收端无法确定密码信息是否正确的情形下对密文进行加权概率模型译码,Y为译码后的二进制序列。因不确定密码信息是否正确,所以序列Y存在很多可能性。但序列Y不满足“连续符号1的个数最多为1”,则密码信息错误或密文数据被篡改。
设事件E表示满足“连续符号1的个数最多为1”的序列Y的集合,且事件E有f(l)个序列Y。
当l=1时,E=(0,1),f(1)=2,互补事件为
Figure BDA0003114949670000051
当l=2时,E=(00,01,10),f(2)=3,
Figure BDA0003114949670000052
当l=3时,E=(000,001,010,100,101),f(3)=5,
Figure BDA0003114949670000053
类推可得,当l≥3时:
f(l)=f(l-1)+f(l-2) (1)
可得事件E的概率为:
Figure BDA0003114949670000054
令事件E中f(l)个序列Y服从均匀分布,则:
Figure BDA0003114949670000055
于是,Y∈E且Y=Q的概率为:
Figure BDA0003114949670000056
P(Y=Q|Y∈E)为错误密码且解密正确概率,记为Perr,即Perr=P(Y=Q|Y∈E)。
令1:序列Y满足“连续符号1的个数最多为1”,liml→∞Perr=0。
证明:因为l→∞,
Figure BDA0003114949670000069
所以liml→∞Perr=0。
通过令1,不难得出,当信源X越长,接收端错误密码解密出明文的概率为0。通过
Figure BDA0003114949670000061
可判断加密系统被非法密码尝试解密。所以可构造密码自校验的密码系统,密码无需存储或独立校验。即
Figure BDA0003114949670000062
则密码错误;Y∈E,则密码正确。
也因为密码可自校验,所以给攻击者提供了试错的方式,但需要进行2k次试错。k为自定义值,当k足够大,则尝试次数趋近于无穷。增加密码的长度主要有两个方法:
(1)不同的比特采用独立密码进行加密编码;
(2)同一个密码,每个比特使用密码不同部位进行加密编码。
二、加权概率模型编译码方法:
基于上述“信源处理”部分,设序列Q为0100100001010,序列Q由“0”,“10”组成。
基于马尔可夫链或条件概率分析,符号0存在两种概率质量函数,分别为p(0|0),p(0|1)。符号1存在一种概率质量函数p(1|0)。编码时,因为序列Q已知,所以每个符号使用的概率质量函数均能准确选择。但接收端在未知密码信息进行译码时无法准确选择概率质量函数。如已经译码出“0”,因符号0存在两种概率质量函数,无法正确选择哪一个概率质量函数译码下一个符号。当已经译码出“1”,因“1”后必然是符号0,所以存在唯一的选择p(110)。因概率质量函数不唯一,所以采用马尔可夫链或条件概率构造加密编译码方法不可行。
设序列Q为010100101010100010010。传统编码方法是:从左边至右,将序列Q中“10”替换为“1”可得序列X为:0110111100101,然后对序列X进行编码从而逼近H(X),H(X)为信息熵。但是传统编码方法在译码时无法进行加密,仅具备数据压缩作用,更无法实现密码自校验。若对序列Q进行编码,因增加了冗余信息,所以H(Q)>H(X),传统编码方法无法逼近H(X)。因无法逼近H(X),则序列Q中的冗余信息没有被完全去除,存在破解的可能。
设存在函数
Figure BDA0003114949670000063
p(x)为符号x的概率。r表征序列Q的形态特征,称为权系数。
Figure BDA0003114949670000064
称为加权概率质量函数,基于
Figure BDA0003114949670000065
构造编译码方法具备:
(1)r在每个比特编码时可采用独立密码给出的值;
(2)r在每个比特编码时可采用由同一密码不同部位给出的值。
2.1、加权概率模型编码;
定义2.1:设离散随机变量X,X∈{0,1},P{X=a}=p(a)(a∈{0,1}),加权概率质量函数为
Figure BDA0003114949670000066
p(a)为符号a的概率质量函数,0≤p(a)≤1,r为权系数,且:
F(a)=∑i≤ap(i) (5)
若F(a,r)满足F(a,r)=rF(a),则称F(a,r)为加权累积分布函数,简称加权分布函数。
显然,所有符号的加权概率之和为
Figure BDA0003114949670000067
根据式(5),F(Xi-1)=F(Xi)-p(Xi),Xi=0时F(Xi-1)=0,Xi=1时
Figure BDA0003114949670000068
将序列Q的加权分布函数记为F(Q,r):
l=1时,F(Q,r)=rF(X1-1)+rp(X1)。
l=2时,F(Q,r)=rF(X1-1)+r2F(X2-1)p(X1)+r2p(X1)p(X2)。
l=3时,F(Q,r)=rF(X1-1)+r2F(X2-1)p(X1)+r3F(X3-1)p(X1)p(X2)+r3p(X1)p(X2)p(X3)。
Figure BDA0003114949670000071
l≥1时:
Figure BDA0003114949670000072
将满足式(6)的加权分布函数的集合定义二元加权模型,简称加权模型,记为{F(Q,r)}。令
Hl=F(Q,r) (7)
Figure BDA00031149496700000714
Figure BDA0003114949670000073
其中Xi∈{0,1},l=1,2,...。当r=1时:
Figure BDA0003114949670000074
Hl=F(Q,1),
Figure BDA0003114949670000075
Ll=Hl-Rl,可得算术编码(又称区间编码)是基于r=1时加权分布函数的无损编码方法。
加权模型可扩展到Xi∈{0,1,2,...}的情形,这里不作讨论。
因Xi必须取A中的值,所以p(Xi)≥0。显然式(7)(8)(9)为区间列。Li,Hi是信源序列X在时刻i(i=0,1,2,...,n)变量Xi对应的区间上下标,Ri=Hi-Li是区间的长度。
根据式(7)(8)(9),加权概率模型线性编码的迭代式为:
Figure BDA0003114949670000076
令r>1且序列Q从i+1位置开始的3个符号为0,1,0。根据式(11)二元加权模型的编码运算过程如图1所示。
根据图1,若Hi+3>Hi+1,因区间[Hi+1,Hi+3)∈[Hi+1,Hi+1+Ri+1),且[Hi+1,Hi+Ri)与符号1对应,所以第i+1个符号0可能被错误译码为符号1。若Hi+3≤Hi+1,则[Li+3,Hi+3)∈[Li+1,Hi+1)。如图1中[Li+1,Hi+1)与符号0唯一对应,所以i+1位置上的符号0被Li+3正确译码,且i+2和i+3位置上的符号1和符号0也能正确译码。当0<r≤1时,任意时刻都有[Li+1,Hi+1)∈[Li,Hi),可无损译码。由于F(0-1)=0,F(0)=p(0),由式(11)可得:
Figure BDA0003114949670000077
因为Hi+3≤Hi+1,所以:
Figure BDA0003114949670000078
设方程ar2+br+c=0,其中a=p(1)p(0),b=p(0),c=-1,且r>0。满足方程的正实数根为
Figure BDA0003114949670000079
因p(1)=1-p(0),且p(1)=0时r≤1,所以:
Figure BDA00031149496700000710
Figure BDA00031149496700000711
rmax为r的最大值,显然rmax仅在序列Q满足“连续符号1的个数最多为1”才能通过Li完整译码。
设序列Q中第i+1个位置起有j+2(j=1,2,3,...)个符号为0,1,...,1,0,其中符号1的连续个数为j,根据“连续符号1的个数最多为1”,j≤1。因Hi+j+2≤Hi+1,根据式(11)有:
Figure BDA00031149496700000712
于是:
Figure BDA00031149496700000713
将式(15)减去式(16),化简得:
r-rj+2p(1)j+1+rj+2p(1)j+2≥1 (17)
p(1)已知,式(17)取等号可得rmax。当p(1)=1或p(0)=0时,rmax=1;当0<p(0)<1,j→∞时,rmax j+2p(1)j+1→0,rmax j+2p(1)j+2→0,则rmax→1。当j<1或r<rmax时rp(0)+r2p(0)p(1)+r3p(0)p(1)2+…+rj+1p(0)p(1)j<1。
2.2、无损译码可行性证明;
令2.2:加权模型满足:
(1)Ll<Hl∧Ll<Hl-1∧...∧Ll<H1,通过Ll可完整还原序列Q;
(2)liml→∞(Hl-Ll)=0,即收敛性;
(3)liml→∞Hl=Ll,即唯一性。
证明(1):根据式(15),j>t或r>rmax,有Hi+j+2>Hi+1,由于[Hi+j+2,Hi+1)对应于符号1,于是第i+1个符号不能被准确译码为符号0,不符合无损译码要求,所以0≤j≤t且0<r≤rmax必须同时满足。因F(0-1,r)=0,Li-1≥0,Ri-1≥0,所以Ll为单调不减函数。当且仅当Ll∈[Ll,Hl)∧Ll∈[Ll-1,Hl-1)∧...∧Ll∈[L1,H1)时,因[Li,Hi)(i=1,2,...,l)与变量Xi为唯一映射关系,所以当Ll∈[Li,Hi)(i=1,2,...,l)时得出唯一的符号Xi,从而完整得出信源序列X,于是Ll<Hl∧Ll<Hl-1∧...∧Ll<H1
证明(2):因j≤t且r≤rmax,有
Figure BDA0003114949670000081
所以Hi+j+2≤Hi+1。当且仅当j=t且r=rmax时Hi+j+2=Hi+1。令
Figure BDA0003114949670000082
Figure BDA0003114949670000083
于是Rl=ΠRj+1ΠRj...ΠR2ΠR1。当j<t且r<rmax时,由式(15)可得
Figure BDA0003114949670000084
Figure BDA0003114949670000085
所以l→∞时Rl→0,则liml→∞(Hl-Ll)=liml→∞Rl=0,加权概率模型是收敛的。
证明(3):{Ll}是严格单调不减且有上界的数列,由单调有界令,设liml→∞Ll=ξ,且ξ≥Ll。因为liml→∞(Hl-Ll)=0,所以liml→∞Ll=liml→∞Hl=ξ,所以ξ=Ll,liml→∞Hl=ξ=Ll,且Ll是唯一的。
推论2.3:设
Figure BDA0003114949670000086
Figure BDA0003114949670000087
时,加权模型通过Ll可完整还原序列Q。
证明:根据式(15),当
Figure BDA0003114949670000088
Figure BDA0003114949670000089
于是
Figure BDA00031149496700000810
根据推论2.3,因
Figure BDA00031149496700000811
于是
Figure BDA00031149496700000812
但是不能得出
Figure BDA00031149496700000813
以t=1为例,
Figure BDA00031149496700000814
代入式(13)求解,当
Figure BDA00031149496700000815
时式(13)成立,加权模型满足令2.2(1)。因为t=1时,序列Q中
Figure BDA00031149496700000816
所以
Figure BDA00031149496700000817
所以rmax-rmax j+2p(1)j+1+rmax j+2p(1)j+2=1(j≤t)是加权模型无损编译码的充要条件。
2.3、加权模型信息熵;
当r=1时,
Figure BDA00031149496700000818
Q的信息熵为:
H(Q)=-p(0)log2 p(0)-p(1)log2 p(1) (18)
当r≠1时,定义具有加权概率
Figure BDA00031149496700000819
的随机变量Xi的自信息量为:
Figure BDA00031149496700000820
设集合{Xi=a}(i=1,2,...,l,a∈{0,1})中有ca个a。当r的值确定,序列Q的总信息量为:
Figure BDA00031149496700000821
于是平均每个符号的信息量为:
Figure BDA00031149496700000822
其中
Figure BDA00031149496700000823
Figure BDA00031149496700000824
为序列Q中符号0和符号1的概率质量函数。
基于上述“2.1、加权概率模型编码”和“2.2、无损译码可行性证明”的介绍,r≤rmax,因rmax>1所以-logr+H(Q)<H(Q)。因r>rmax时加权模型无法还原序列Q,所以r=rmax时I(Xi,r)最小。于是加权模型的信息熵为:
Figure BDA0003114949670000091
2.4、加权模型编码码率;
根据上述“2.3、加权模型信息熵”的介绍,因加权模型编译码满足:
(1)编译码时符号0和符号1存在唯一的概率质量函数p(0)和p(1);
(2)rmax>1时-log rmax<0,所以H(Q,rmax)<H(Q)。加权模型编码更接近H(X)。
(3)V无误译码后Y=Q,Y∈B。
(4)n→∞时l→∞,当
Figure BDA0003114949670000092
V错误或密码错误;当Y∈B,V正确,Y=Q。
(5)rmax作为实数,可以植入独立密码信息,或植入密码的部分信息。
所以在发送端,序列Q经加权模型编码为序列V(密文),序列V(密文)经信道传输至接收端,接收端通过V(密文)经加权模型译码出二进制序列Y。当Y=Q时密码正确,且明文被解密;当Y≠Q时密码错误,解密失败。
根据式(22),序列Q中平均每个比特所携带的信息量为H(Q,rmax)(bit/bit),总信息量为lH(Q,rmax)(bit)。信源序列X的总信息量为nH(X)(bit),可得加权模型的编码码率为:
Figure BDA0003114949670000093
R=1时说明加权模型编码结果达到序列X的信息熵。设长度为n的二进制伯努利信源序列X中符号0的概率为p(0≤p≤1)。于是nH(X)=-pn log2 p-(1-p)n log2(1-p)。经式(2)处理后得序列Q,序列Q的长度为l=(2-p)n,则
Figure BDA0003114949670000094
令2.4:(s→∞,t=1),当n→∞且
Figure BDA0003114949670000095
时,R=1,即加权模型编码达到信息熵。其中s,t分别表示:序列Q中连续符号0个数最多为s,序列Q中连续符号1个数最多为t。
证明:
Figure BDA0003114949670000096
时nH(X)=n。根据上述推论2.3有
Figure BDA0003114949670000097
Figure BDA0003114949670000098
于是
Figure BDA0003114949670000099
由式(23)可得:
Figure BDA00031149496700000910
序列Q中符号0和符号1的概率质量函数
Figure BDA00031149496700000911
Figure BDA00031149496700000912
根据式(14)当p(0)=1时,rmax=1,p=1;当
Figure BDA00031149496700000913
时,
Figure BDA00031149496700000914
Figure BDA00031149496700000915
令2.5(s→∞,t=1),当n→∞时,R≤1,即加权模型编码可达信息熵。
证明:根据式(25)
Figure BDA00031149496700000916
因0≤p≤1,所以4(1-p)2≥0,则4-8p+4p2≥0。因4-8p+4p2=(3-2p)2-(5-4p)≥0,所以
Figure BDA00031149496700000917
Figure BDA00031149496700000918
可得
Figure BDA00031149496700000919
Figure BDA00031149496700000920
因为
Figure BDA00031149496700000921
Figure BDA00031149496700000922
且2-2p≥0,
Figure BDA00031149496700000923
所以
Figure BDA00031149496700000924
即lH(Q,rmax)-nH(X)≥0,可得
Figure BDA00031149496700000925
三、加密编译码;
设长度为n的二进制伯努利信源序列X(作为明文)中符号0的概率为p(0≤p≤1)。
二进制伯努利信源序列X经过上述信源处理之后得到序列Q,根据上述令2.4和2.5,采用
Figure BDA0003114949670000101
对序列Q进行加权模型编码。于是基本运算变量:
Figure BDA0003114949670000102
p(0)表示序列Q中符号0的概率;p(1)表示序列Q中符号1的概率;
Figure BDA0003114949670000103
表示序列Q中符号0的加权概率;
Figure BDA0003114949670000104
表示序列Q中符号1的加权概率。
3.1、发送端在加权模型权系数(即秘钥)之中植入密码。
例如,设密码的比特长度为k,密码被分割为h段,每一段包含
Figure BDA0003114949670000105
个比特,将第s(i=1,2,...,h)段二进制符号植入到rmax的方法有很多,下面举个简单的例子:
Figure BDA0003114949670000106
表1
表1示出了将密码植入至rmax中的伪代码,Algorithm(1)中v需要初始化为0。其中v与100(可以是自定义大于100的任意整数等)比较的目的是让r接近rmax,才能确保具备无损压缩和加密作用。当v太大,则
Figure BDA0003114949670000107
趋近于0,r=rmax,使得权系数没有任何密码信息,无加密作用。所以需要控制v的大小,比如将控制100≤v≤216等。通过Algorithm(1)得出rmax,加权模型的加密编码码率与p的关系如图2和图3所示;图2可得出,当
Figure BDA0003114949670000108
时,将序列X中符号互换;由图3可得,
Figure BDA0003114949670000109
时加权模型编码码率最小,minR=0.85108。
3.2、发送端基于植入密码的加权概率模型的编码过程;
在已知明文的前提下,可通过明文和解密后的数据逐一比对,从而推测出加权系数以及加权系数中所使用的密码。这个主要是加权概率模型是以比特为单位的线性编译码的流程,而密码通过植入到加权系数,使得每个比特加解密时必须是正确的系数。已知明文可通过加权概率模型理论计算出加权系数,通过开源的加解密算法可知密码是如何植入加权系数,于是通过不停的尝试和比对解密后的文件是否与明文相同,从而得出实际的密码。那么漏洞主要体现在利用已知明文破译其他文件。比如某用户使用同一个密码加密了两个以上的文件,这是用户主观原因造成的,用户不希望记下不同的密码,而其中一个文件是破译者已知的明文。破译者可利用该逻辑漏洞通过已知的明文、密文和加密算法源程序推测出加密的系数和实际使用的密码。尽管这个推测所需的时间很长,且十分复杂。
为了解决这个问题,在加解密时,编码某一明文前,先编码长度为t(t可自定义)比特的随机数。因为随机数是未知的,且加权概率模型的线性编译码特征前面的随机数无法正确解密,必然使得后面的明文也无法正确解密。于是t个比特的随机数起到了秘钥的作用,而且t越大,破解的难度也越大,即2t种可能性中仅一种可能性是可正确解密的。
根据上述编码某一明文前先编码长度为t(t可自定义)比特的随机数的思路,加权概率模型编码时,先编码t个比特的随机数,然后在编码明文。值得注意的是,t个比特的随机数与Algorithm(1)中所述的密码不同。算法Algorithm(2)如下表所示:
Figure BDA0003114949670000111
表2
通过Algorithm(2)获取OutBitArray,然后对OutBitArray(需要注意的是,整合后OutBitArray为序列X)进行编码步骤。编码时分两种情形:
根据加权概率模型的迭代式,即上述的式(11),加权概率模型是基于比特的线性编码。需要注意的是,密文是发送端对经过信源处理之后得到的序列Q进行编码而得出,这里将序列X的信源处理过程合并在编码步骤(即将进行“信源处理”的过程在下表3中展示)中。根据图3,编码时分两种情形:
(1)当
Figure BDA0003114949670000112
时,编码序列X中的符号0时
Figure BDA0003114949670000113
Li=Li-1;编码序列X中符号1,因将序列X的信源处理过程合并在编码步骤中,所以实际编码是“10”,
Figure BDA0003114949670000114
(2)当
Figure BDA0003114949670000115
时,编码序列X中的符号0时,实际编码“10”,
Figure BDA0003114949670000116
Figure BDA0003114949670000117
编码序列X中符号1时
Figure BDA0003114949670000118
Li=Li-1
加密编码逻辑如下:
Figure BDA0003114949670000119
Figure BDA0003114949670000121
表3
表3示出了基于植入密码的加权概率模型对经过信源处理后的序列X进行编码的伪代码。伪代码以实现逻辑为目的,其中V、Ri和Li等被定义为无限精度的实数;表3的伪代码输出的VBitArray即为密文。在实际应用中,仅需将
Figure BDA0003114949670000122
Figure BDA0003114949670000123
代入算术编码(区间编码)实现加权模型加密编译码。
3.3、接收端对发送端发送的密文进行译码;
以下给出密码错误校验的解密译码过程。因为经过信源处理后的序列X中“连续符号1的个数最多为1”,即序列Q中“连续符号1的个数最多为1”。因此若在译码密文时,连续译码2个或2个以上符号1时可判定密码错误或V被篡改。接收端在解密时,二进制序列V和c,n+t已知。
译码校验逻辑如下:
Figure BDA0003114949670000124
Figure BDA0003114949670000131
表4
表4示出了接收端对密文进行译码和密码自校验的伪代码。当Algorithm(4)返回null,则密码错误或V被篡改。当Algorithm(4)不返回null,则将返回解密后的明文,需要注意的是,由于在编码时,添加了随机数,因此这里译码时需要含弃t个比特长度的数据,才能得到明文。根据上述令2.5,本方法可达信息熵,所以具备无损压缩和加密作用,且编码后密文各符号的概率均等。其中,长度为k的密码数组SecretkeyBitArray由系统生成或使用者给出。
相对于攻击者,VBitArray,c和n已知,密码是受保护或私有的。因c和n已知,所以攻击者可通过公式得出rmax,但是因未知密码和密码的长度,所以无法通过Algorithm(1)得出正确的r。又因加权模型是线性编译码过程,由式(11)可知,下一个符号译码,必须上一个符号正确解密,所以错误的r造成
Figure BDA0003114949670000141
Figure BDA0003114949670000142
错误,从而解密出错误的符号。又因为每个符号或每一部分符号采用的是不相同的r,于是r无法被逼近或被猜测,所以本方法是安全的。
而且在加解密时,编码某一明文前先编码长度为t比特的随机数。因为随机数是未知的,且加权概率模型的线性编译码特征前面的随机数无法正确解密,必然使得后面的明文也无法正确解密。于是t个比特的随机数起到了秘钥的作用,而且t越大,破解的难度也越大。这进一步证明本方案具有足够的安全性。
实施例部分;
参照图4、5,本发明的第一实施例,提供了一种HTTP请求的优化方法,包括以下步骤:
步骤S101、客户端生成HTTP请求,将HTTP请求进制转换成明文。
本实施例中,改进HTTP请求主要包括改进POST或GET请求,全文以POST请求为例进行说明,本领域技术人员完全可以基于POST请求的具体示例而将本发明方案应用在GET请求中,此处不再赘述。POST请求包括头部和数据部分,例如Header&DATA(头部&数据部分),将POST请求的头部和数据部分转换成明文。需要说明的是,POST请求为本领域技术人员的公知,并且进行进制转换也是本领域技术人员的公知技术,此处不再细述。
步骤S102、客户端生成随机数,将随机数与明文进行线性组合,得到第一待编码序列。
如原理部分所介绍,这里增加随机数,然后将随机数与明文进行线性组合的处理方式,不仅能提高被恶意的第三方破解的难度,增加安全性,而且还能保证每一次经过步骤S103编码之后得到的哈希值会不一致(例如,客户端在一段时间浏览浏览器,会多次向服务器发送请求,此时经过增添随机数处理,由于每一次生成的随机数不同,将使得每一次的第一待编码序列进行编码后得到的哈希值会不同),这样也增大了安全性。需要注意的是,本发明不限制随机数的来源和生成过程。
步骤S103、客户端对第一待编码序列按照第一编码方式,或第二编码方式,或第一编码方式结合第二编码方式中的其中一种方式进行编码,得到编码完成后的哈希值;
其中,当第一待编码序列为第一编码方式的编码对象时,则第一编码方式包括:
设定正实数r=2H(X)-L/n,X表示第一待编码序列,H(X)为第一待编码序列的归一化信息熵,L为预设的第一待编码序列的编码输出长度,n表示第一待编码序列的长度;
对第一待编码序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,直至编码完成第一待编码序列中所有的符号,并且输出第一待编码序列最后一位符号编码后的Li作为哈希值;其中,Ri的初始值为1,Li的初始值为0,p(x)为符号x的归一化概率,F(x-1,r)为符号x-1的非归一化分布函数;
其中,当第一待编码序列为第二编码方式的编码对象时,则第二编码方式包括:
将第一待编码序列进行信源处理,得到第二待编码序列;
Figure BDA0003114949670000143
通过编码公式
Figure BDA0003114949670000144
和Li=Li-1编码第二待编码序列中的符号0,通过
Figure BDA0003114949670000145
Figure BDA0003114949670000146
编码第二待编码序列中的符号10,以及,当
Figure BDA0003114949670000151
通过编码公式
Figure BDA0003114949670000152
Figure BDA0003114949670000153
编码第二待编码序列中的符号10,通过
Figure BDA0003114949670000154
和Li=Li-1编码第二待编码序列中的符号1;直至编码完成第二待编码序列中所有的符号,并且输出第二待编码序列最后一位符号后的Li作为哈希值;其中,p表示第一待编码序列中符号0的概率,
Figure BDA0003114949670000155
p(1)表示第二待编码序列中符号1的概率,p(0)表示第二待编码序列中符号0的概率,
Figure BDA0003114949670000156
在步骤S103中,介绍了三种方式,第一种方式是仅使用第一编码方式进行编码。第二种方式是仅使用第二编码方式进行编码。第三种方式是结合第一编码方式和第二编码方式进行编码。显而易见的,第三种方式的安全性最优。
以下详细介绍第一种方式的具体过程为(假设第一待编码序列为编码对象,且第一待编码序列令为X,长度为n):
参照图5,设L为自定义散列值(哈希值)的比特长度,采用加权概率模型对序列X的区间编码步骤如下:
1)初始化参数,p=0,L0=0,H0=R0=1,i=1;
2)统计序列X中符号0的个数c,序列X的比特长度为n;
3)计算符号0的概率,
Figure BDA0003114949670000157
4)计算权系数,
Figure BDA00031149496700001511
-p log2 p-(1-p)log2(1-p)=H(X);
5)计算加权概率,
Figure BDA0003114949670000158
5)获取序列X的第i个符号Xi
6)若Xi=0,Li=Li-1,Ri=Ri-1rp,否则Li=Li-1+Ri-1rp,Ri=Ri-1r(1-p);
7)i=i+1,若i<n,重复步骤5)到步骤7),得出Ln(直至编码序列X中最后一位符号后得到);
8)结束编码,输出Ln(Ln为散列值),将输出的Ln作为最终需要发送至服务器的哈希值。
需要注意的是,本实施例中的L为预设好的长度。
第二种方式的具体过程,可以参见上述原理部分介绍的Algorithm(31,此处不再细述。
第三种方式的具体过程为(假设第一待编码序列为编码对象):
1)先按照第一编码方式对第一待编码序列进行编码,得到一个输出的哈希值。
2)将步骤1)输出的哈希值与第一待编码序列进行线性组合,得到一个序列。需要注意的是,输出的哈希值与第一待编码序列进行线性组合是以输出的哈希值和第一待编码序列进行并联组合后产生。
3)对步骤2)得到的序列,按照所述第二编码方式进行编码,得到最终需要发送至服务器的哈希值。
作为一种可选的实施方式,可参见上述原理部分的Algorithm(1),在rmax中植入二进制密码且二进制密码大于或等于512位比特。对于攻击者来说,在rmax中植入的二进制密码是受保护或私有的,密码的长度和密码本身是系统或者使用者给出,这是攻击者无法准确得知的,假设攻击者可通过公式得出rmax,但是因未知二进制密码和密码的长度,所以无法通过Algorithm(1)得出正确的r。又因加权模型是线性编译码过程,由上述的式(11)可知,下一个符号译码,必须上一个符号正确解密,所以错误的r造成
Figure BDA0003114949670000159
Figure BDA00031149496700001510
错误,从而解密出错误的符号。而且因为编码时每个符号或每一部分符号可以采用不相同的r,于是r无法被逼近或被猜测,即攻击者未知二进制密码和密码的长度,无法对密文解密出正确的明文。
步骤S104、客户端将哈希值发送至服务器。
本实施例具有以下有益效果:
(1)现有技术框架下的HTTP协议,其传输数据会受到浏览器的限制,而有一定的长度上限。本方法可以将传输的各个数据统一化为(可设置的)固定长度的唯一标识,有效的解决了数据长度受到限制的问题。同时,将具体的请求数据加密隐藏,提高了请求的安全性保密性,也提高了HTTP协议传输效率。
(2)本方法能够实现对HTTP请求的保护,起到保护数据安全的作用,其中,采用第一编码方式能够使HTTP请求具备无损压缩的效果;采用第二编码方式能够使HTTP具备对称加密的效果;采用第一编码方式及第二编码方式的结合能够使HTTP具备对称加密和无损压缩的双重效果,对于HTTP请求的多次请求时,能够极大的提升服务器负载能力,节约服务器资源。
(3)相较于现有技术框架下的HTTPS协议,不需要额外购买SSL证书,节省了成本。本方法是从HTTP协议本身的请求方式上入手,不仅仅只针对URL,而且还会对HTTP请求传输的各项数据一并进行加密,从而达到安全加密HTTP协议的目的。
(4)将由HTTP请求转换的明文与随机数线性组合成第一待编码序列,在明文之前添加随机数,使得编码某一明文前先编码随机数,因为随机数是未知的,且加权概率模型的线性编译码特征前面的随机数无法正确解密,必然使得后面的明文也无法正确解密,于是,随机数起到了秘钥的作用,能够极大的增加安全性,提升保障。而且能保证每一次后续编码得到的哈希值会不一致,这样也增大了安全性。
(5)对于攻击者来说,在rmax中植入的二进制密码是受保护或私有的,密码的长度和密码本身是系统或者使用者给出,这是攻击者无法准确得知的,假设攻击者可通过公式得出rmax,但是因未知二进制密码和密码的长度,所以无法通过Algorithm(1)得出正确的r。又因加权模型是线性编译码过程,由上述的式(11)可知,下一个符号译码,必须上一个符号正确解密,所以错误的r造成
Figure BDA0003114949670000161
Figure BDA0003114949670000162
错误,从而解密出错误的符号。而且因为编码时每个符号或每一部分符号可以采用不相同的r,于是r无法被逼近或被猜测,即攻击者未知二进制密码和密码的长度,无法对密文解密出正确的明文。
参照图6,基于第一实施例,本发明的第二实施例,提供了一种HTTP请求的优化方法,包括以下步骤:
步骤S201、服务器接收客户端发送的哈希值。
需要注意的是,客户端在发送哈希值之后,也会将随机数、明文以及加密使用的参数同步进行发送,这是本领域技术人员的公知,此处不再细述。
步骤S202、按照客户端对第一待编码序列进行编码的方式,对哈希值进行对应的解码,并进行验证,得到验证结果。
步骤S203、当验证结果正确,则匹配与明文对应的服务器资源。
需要注意的是,对应于第一实施例的编码过程,步骤S202至步骤S203的解码和匹配服务器资源的过程也有以下几种情况,具体如下:
当编码使用的是第一种方式(仅使用第一编码方式)时,一方面,服务器可以不进行解码,在验证成功之后,就可以基于验证正确的哈希值,直接在服务器上匹配对应的资源,需要注意的是,这一种实施方式只适用于服务器端的数据库中的各个资源的哈希值具有唯一性的情况。另一方面,服务器可以在验证成功之后,对哈希值进行解码,得到随机数+明文,然后剔除随机数,得到明文,最后基于明文在数据库中进行匹配,得到对应的服务器资源。需要注意的是,其中还包括进制转换的过程,此处不再赘述。
当编码使用的是第二种方式(仅使用第二编码方式)时,需要解码,解码的过程可参见上述原理部分所述的Algorithm(4),此处不再赘述。解码之后,从中截取出随机数,得到明文,通过明文在服务器上匹配对应的资源。
当编码使用的是第三种方式(先使用第一编码方式,再使用第二编码方式)时,需要先解码,解码的过程可参见上述原理部分所述的Algorithm(4);解码之后,得到哈希值,后续可以再进行解码,或者直接通过哈希值匹配,此处不再赘述。
步骤S204、将服务器资源发送至客户端。
为了便于理解,本发明的第三实施例,提供了一种HTTP请求的优化方法,包括以下步骤:
客户端的编码过程:
Step1:明文与生成的随机数线性组合(确保每次生成的哈希值都不一样),组合采用串联的方式,随机数在明文之前,如图7所示。
Step2:通过第一编码方式计算哈希值,将哈希值与原文相整合,如图8所示。
Step3:通过第二编码方式计算整体的密文作为加密后的实际密文。
服务器的解码、匹配过程:
Step1:服务器端将解码获得的带随机数的原文进行第一编码方式编码处理,将得到的哈希值与接收的哈希值进行校验。如果一致,则代表数据在传输过程中保持了一致,没有出错或被篡改,则可以进行下一步。
Step2:按照解码后的Header与对应的变量的值,在服务器数据库内进行匹配。
Step3:将匹配的内容通过HTTP协议向客户端提交信息,并将结果展示给用户。
本实施例具备以下有益效果:
(1)现有技术框架下的HTTP协议,其传输数据会受到浏览器的限制,而有一定的长度上限。本方法可以将传输的各个数据统一化为(可设置的)固定长度的唯一标识,有效的解决了数据长度受到限制的问题。同时,将具体的请求数据加密隐藏,提高了请求的安全性保密性,也提高了HTTP协议传输效率。
(2)本方法能够实现对HTTP请求的保护,起到保护数据安全的作用,其中,采用第一编码方式能够使HTTP请求具备无损压缩的效果;采用第二编码方式能够使HTTP具备对称加密的效果;采用第一编码方式及第二编码方式的结合能够使HTTP具备对称加密和无损压缩的双重效果,对于HTTP请求的多次请求时,能够极大的提升服务器负载能力,节约服务器资源。
(3)相较于现有技术框架下的HTTPS协议,不需要额外购买SSL证书,节省了成本。本方法是从HTTP协议本身的请求方式上入手,不仅仅只针对URL,而且还会对HTTP请求传输的各项数据一并进行加密,从而达到安全加密HTTP协议的目的。
(4)将由HTTP请求转换的明文与随机数线性组合成第一待编码序列,在明文之前添加随机数,使得编码某一明文前先编码随机数,因为随机数是未知的,且加权概率模型的线性编译码特征前面的随机数无法正确解密,必然使得后面的明文也无法正确解密,于是,随机数起到了秘钥的作用,能够极大的增加安全性,提升保障。而且能保证每一次后续编码得到的哈希值会不一致,这样也增大了安全性。
参照图9,本发明的第四实施例,提供了一种终端,包括:明文生成单元100、编码序列生成单元200、编码单元300以及信号发送单元400。
明文生成单元100,用于生成HTTP请求,将HTTP请求进制转换成明文;
编码序列生成单元200,用于生成随机数,将随机数与明文进行线性组合,得到第一待编码序列;
编码单元300,用于对第一待编码序列按照第一编码方式,或第二编码方式,或第一编码方式结合第二编码方式中的其中一种方式进行编码,得到编码完成后的哈希值;
信号发送单元400,用于将哈希值发送至服务器。
由于本实施例与第一实施例是基于相同的发明构思,此处不再赘述。
参照图10,本发明的第五实施例,提供了一种终端,包括:信号接收单元500、编码验证单元600、资源匹配单元700以及资源发送单元800。
信号接收单元500,用于接收客户端发送的哈希值。
编码验证单元600,用于按照客户端对第一待编码序列进行编码的方式,对哈希值进行对应的解码,并进行验证,得到验证结果。
资源匹配单元700,用于当验证结果正确,则匹配与明文对应的服务器资源。
资源发送单元800,用于将服务器资源发送至客户端。
由于本实施例与第二实施例是基于相同的发明构思,此处不再赘述。
本发明的第六实施例,提供了一种终端,该终端包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的HTTP请求的优化方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的HTTP请求的优化方法,例如,执行以上描述的图4中的方法步骤S101至S104、图6中的方法步骤S201至S204。
以上所描述的终端实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的第七实施例,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述终端实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的HTTP请求的优化方法,例如,执行以上描述的图4中的方法步骤S101至S104、图6中的方法步骤S201至S204。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。

Claims (10)

1.一种HTTP请求的优化方法,其特征在于,应用于客户端,包括以下步骤:
生成HTTP请求,将所述HTTP请求进制转换成明文;
生成随机数,将所述随机数与所述明文进行线性组合,得到第一待编码序列;
对所述第一待编码序列按照第一编码方式,或第二编码方式,或所述第一编码方式结合所述第二编码方式中的其中一种方式进行编码,得到编码完成后的哈希值;
其中,当所述第一待编码序列为所述第一编码方式的编码对象时,则所述第一编码方式包括:
设定正实数r=2H(X)-L/n,所述X表示所述第一待编码序列,所述H(X)为所述第一待编码序列的归一化信息熵,所述L为预设的所述第一待编码序列的编码输出长度,所述n表示所述第一待编码序列的长度;
对所述第一待编码序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,直至编码完成所述第一待编码序列中所有的符号,并且输出所述第一待编码序列最后一位符号编码后的Li作为所述哈希值;其中,所述Ri的初始值为1,所述Li的初始值为0,所述p(x)为符号x的归一化概率,所述F(x-1,r)为符号x-1的非归一化分布函数;
其中,当所述第一待编码序列为所述第二编码方式的编码对象时,则所述第二编码方式包括:
将所述第一待编码序列进行信源处理,得到第二待编码序列;
Figure FDA0003114949660000011
通过编码公式
Figure FDA0003114949660000012
和Li=Li-1编码所述第二待编码序列中的符号0,通过
Figure FDA0003114949660000013
Figure FDA0003114949660000014
编码所述第二待编码序列中的符号10,以及,当
Figure FDA0003114949660000015
通过编码公式
Figure FDA0003114949660000016
Figure FDA0003114949660000017
编码所述第二待编码序列中的符号10,通过
Figure FDA0003114949660000018
和Li=Li-1编码所述第二待编码序列中的符号1;直至编码完成所述第二待编码序列中所有的符号,并且输出所述第二待编码序列最后一位符号后的Li作为所述哈希值;其中,所述p表示所述第一待编码序列中符号0的概率,所述
Figure FDA0003114949660000019
所述
Figure FDA00031149496600000110
所述p(1)表示所述第二待编码序列中符号1的概率,所述p(0)表示所述第二待编码序列中符号0的概率,所述
Figure FDA00031149496600000111
将所述哈希值发送至服务器。
2.根据权利要求1所述的HTTP请求的优化方法,其特征在于,所述对所述第一待编码序列按照第一编码方式,或第二编码方式,或所述第一编码方式结合所述第二编码方式中的其中一种方式进行编码,具体包括:通过所述第一编码方式结合所述第二编码方式对所述第一待编码序列进行编码。
3.根据权利要求2所述的HTTP请求的优化方法,其特征在于,所述通过所述第一编码方式结合所述第二编码方式对所述第一待编码序列进行编码,包括步骤:
对所述第一待编码序列先按照所述第一编码方式进行编码,得到第一序列;
将所述第一序列与所述第一待编码序列进行线性组合,得到第二序列;
对所述第二序列按照所述第二编码方式进行编码。
4.根据权利要求1至3任一项所述的HTTP请求的优化方法,其特征在于,还包括步骤:
在所述rmax中植入二进制密码且所述二进制密码大于或等于512位比特。
5.根据权利要求1所述的HTTP请求的优化方法,其特征在于,所述HTTP请求包括POST或GET请求。
6.一种HTTP请求的优化方法,其特征在于,基于权利要求1至5任一项所述的HTTP请求的优化方法,应用于服务器,包括以下步骤:
接收所述客户端发送的所述哈希值;
按照所述客户端对所述第一待编码序列进行编码的方式,对所述哈希值进行对应的解码,并进行验证,得到验证结果;
当所述验证结果正确,则匹配与所述明文对应的服务器资源;
将所述服务器资源发送至所述客户端。
7.一种终端,其特征在于,包括:
明文生成单元,用于生成HTTP请求,将所述HTTP请求进制转换成明文;
编码序列生成单元,用于生成随机数,将所述随机数与所述明文进行线性组合,得到第一待编码序列;
编码单元,用于
对所述第一待编码序列按照第一编码方式,或第二编码方式,或所述第一编码方式结合所述第二编码方式中的其中一种方式进行编码,得到编码完成后的哈希值;
其中,当所述第一待编码序列为所述第一编码方式的编码对象时,则所述第一编码方式包括:
设定正实数r=2H(X)-L/n,所述X表示所述第一待编码序列,所述H(X)为所述第一待编码序列的归一化信息熵,所述L为预设的所述第一待编码序列的编码输出长度,所述n表示所述第一待编码序列的长度;
对所述第一待编码序列中的第i位符号x,按照编码公式Ri=Ri-1rp(x),Li=Li-1+Ri-1F(x-1,r)进行编码,直至编码完成所述第一待编码序列中所有的符号,并且输出所述第一待编码序列最后一位符号编码后的Li作为所述哈希值;其中,所述Ri的初始值为1,所述Li的初始值为0,所述p(x)为符号x的归一化概率,所述F(x-1,r)为符号x-1的非归一化分布函数;
其中,当所述第一待编码序列为所述第二编码方式的编码对象时,则所述第二编码方式包括:
将所述第一待编码序列进行信源处理,得到第二待编码序列;
Figure FDA0003114949660000021
通过编码公式
Figure FDA0003114949660000022
和Li=Li-1编码所述第二待编码序列中的符号0,通过
Figure FDA0003114949660000023
Figure FDA0003114949660000024
编码所述第二待编码序列中的符号10,以及,当
Figure FDA0003114949660000025
通过编码公式
Figure FDA0003114949660000026
Figure FDA0003114949660000027
编码所述第二待编码序列中的符号10,通过
Figure FDA0003114949660000028
和Li=Li-1编码所述第二待编码序列中的符号1;直至编码完成所述第二待编码序列中所有的符号,并且输出所述第二待编码序列最后一位符号后的Li作为所述哈希值;其中,所述p表示所述第一待编码序列中符号0的概率,所述
Figure FDA0003114949660000029
所述
Figure FDA00031149496600000210
所述p(1)表示所述第二待编码序列中符号1的概率,所述p(0)表示所述第二待编码序列中符号0的概率,所述
Figure FDA00031149496600000211
信号发送单元,用于将所述哈希值发送至服务器。
8.根据权利要求7所述的一种终端,其特征在于,包括:
信号接收单元,用于接收所述客户端发送的所述哈希值;
编码验证单元,用于按照所述客户端对所述第一待编码序列进行编码的方式,对所述哈希值进行对应的解码,并进行验证,得到验证结果;
资源匹配单元,用于当所述验证结果正确,则匹配与所述明文对应的服务器资源;
资源发送单元,用于将所述服务器资源发送至所述客户端。
9.一种终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的HTTP请求的优化方法和/或如权利要求6中任意一项所述的HTTP请求的优化方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至5中任意一项所述的HTTP请求的优化方法和/或如权利要求6中任意一项所述的HTTP请求的优化方法。
CN202110660300.2A 2021-06-15 2021-06-15 Http请求的优化方法、终端以及存储介质 Active CN113556381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110660300.2A CN113556381B (zh) 2021-06-15 2021-06-15 Http请求的优化方法、终端以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110660300.2A CN113556381B (zh) 2021-06-15 2021-06-15 Http请求的优化方法、终端以及存储介质

Publications (2)

Publication Number Publication Date
CN113556381A true CN113556381A (zh) 2021-10-26
CN113556381B CN113556381B (zh) 2022-09-30

Family

ID=78102101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110660300.2A Active CN113556381B (zh) 2021-06-15 2021-06-15 Http请求的优化方法、终端以及存储介质

Country Status (1)

Country Link
CN (1) CN113556381B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115758434A (zh) * 2023-01-06 2023-03-07 深圳奥联信息安全技术有限公司 一种数据高效编码加密方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140129824A1 (en) * 2012-11-07 2014-05-08 Centri Technology, Inc. Single-pass data compression and encryption
CN111294058A (zh) * 2020-02-20 2020-06-16 湖南遥昇通信技术有限公司 一种信道编码和纠错译码方法、设备以及存储介质
CN111478885A (zh) * 2020-03-16 2020-07-31 湖南遥昇通信技术有限公司 一种非对称加解密方法、设备及存储介质
CN112039531A (zh) * 2020-08-26 2020-12-04 湖南遥昇通信技术有限公司 杰林码纠错优化方法及装置
CN112465093A (zh) * 2020-11-02 2021-03-09 湖南遥昇通信技术有限公司 一种双层二维码防伪生成方法以及验证方法
CN112821894A (zh) * 2020-12-28 2021-05-18 湖南遥昇通信技术有限公司 一种基于加权概率模型的无损压缩方法和无损解压方法
CN112865961A (zh) * 2021-01-06 2021-05-28 湖南遥昇通信技术有限公司 一种基于加权概率模型的对称加密方法、系统和设备
CN112883386A (zh) * 2021-01-15 2021-06-01 湖南遥昇通信技术有限公司 一种数字指纹处理及签名处理方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140129824A1 (en) * 2012-11-07 2014-05-08 Centri Technology, Inc. Single-pass data compression and encryption
CN111294058A (zh) * 2020-02-20 2020-06-16 湖南遥昇通信技术有限公司 一种信道编码和纠错译码方法、设备以及存储介质
CN111478885A (zh) * 2020-03-16 2020-07-31 湖南遥昇通信技术有限公司 一种非对称加解密方法、设备及存储介质
CN112039531A (zh) * 2020-08-26 2020-12-04 湖南遥昇通信技术有限公司 杰林码纠错优化方法及装置
CN112465093A (zh) * 2020-11-02 2021-03-09 湖南遥昇通信技术有限公司 一种双层二维码防伪生成方法以及验证方法
CN112821894A (zh) * 2020-12-28 2021-05-18 湖南遥昇通信技术有限公司 一种基于加权概率模型的无损压缩方法和无损解压方法
CN112865961A (zh) * 2021-01-06 2021-05-28 湖南遥昇通信技术有限公司 一种基于加权概率模型的对称加密方法、系统和设备
CN112883386A (zh) * 2021-01-15 2021-06-01 湖南遥昇通信技术有限公司 一种数字指纹处理及签名处理方法、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赵博等: "基于加权累积和检验的加密流量盲识别算法", 《软件学报》 *
银伟等: "蜜罐加密技术在私密数据保护中的应用", 《计算机应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115758434A (zh) * 2023-01-06 2023-03-07 深圳奥联信息安全技术有限公司 一种数据高效编码加密方法

Also Published As

Publication number Publication date
CN113556381B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
US6959394B1 (en) Splitting knowledge of a password
CN109347627B (zh) 数据加解密方法、装置、计算机设备及存储介质
JP2016513825A (ja) 安全通信方法および装置
CN105553648A (zh) 量子密钥分发、隐私放大及数据传输方法、装置及系统
JP6497747B2 (ja) 鍵交換方法、鍵交換システム
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
US20090063861A1 (en) Information security transmission system
CN112865961B (zh) 一种基于加权概率模型的对称加密方法、系统和设备
KR101092696B1 (ko) 에러 정정 코드에 기초하는 메시지 인증 코드
CN101682502A (zh) 用于数据块加密的方法和系统
CN113297591B (zh) 一种网页资源加密方法、设备及存储介质
CN105024801A (zh) 一种量子加密通信方法
JP2022500911A (ja) 暗号メッセージのサイズが縮小された公開鍵/秘密鍵システム
CN116418560A (zh) 一种基于区块链智能合约的线上快速身份认证系统及方法
CN112822228B (zh) 一种基于国密算法的浏览器文件加密上传方法及系统
CN113556381B (zh) Http请求的优化方法、终端以及存储介质
US20120017086A1 (en) Information security transmission system
Mohammed et al. Advancing Cloud Image Security via AES Algorithm Enhancement Techniques
CN110932863B (zh) 一种基于编码的广义签密方法
CN112907247B (zh) 一种区块链授权计算控制方法
Ferreira (In) security of the radio interface in Sigfox
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
Amankona et al. A framework for securing data by using elliptic curve cryptography and Reed Solomon coding schemes
CN115103357B (zh) 一种基于fpga的5g通讯加密系统

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