CN113055343A - Uri构造方法、装置、介质及设备 - Google Patents

Uri构造方法、装置、介质及设备 Download PDF

Info

Publication number
CN113055343A
CN113055343A CN201911372781.6A CN201911372781A CN113055343A CN 113055343 A CN113055343 A CN 113055343A CN 201911372781 A CN201911372781 A CN 201911372781A CN 113055343 A CN113055343 A CN 113055343A
Authority
CN
China
Prior art keywords
uri
character string
encrypted
key
sequence number
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
CN201911372781.6A
Other languages
English (en)
Other versions
CN113055343B (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.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud 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 Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201911372781.6A priority Critical patent/CN113055343B/zh
Priority to PCT/CN2020/138676 priority patent/WO2021129676A1/zh
Publication of CN113055343A publication Critical patent/CN113055343A/zh
Application granted granted Critical
Publication of CN113055343B publication Critical patent/CN113055343B/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/38Telephone uniform resource identifier [URI]

Abstract

本文是关于一种URI构造方法、装置,介质及设备,URI构造方法包括:提取目标URI中的关键字段;对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;基于所述第一字符串,生成加密URI;发送所述加密URI。可以有效防止中间劫持,暴露访问意图,保护用户隐私,用于调度,还可以隐藏调度策略,保护调度系统及业务服务器的安全。

Description

URI构造方法、装置、介质及设备
技术领域
本文涉及互联网技术,尤其涉及URI构造方法、装置、介质及设备。
背景技术
相关技术中,客户端HTTP访问请求,通常是明文的URL。在中间人劫持下,会完全暴露访问意图,从而导致进一步劫持或者暴露客户端隐私的记录。进一步地,如果服务端使用302等调度技术,重定向URL也是明文的,极易泄露调度策略。
发明内容
为克服相关技术中存在的问题,本文提供一种URI构造方法、装置、介质及设备。
根据本文的第一方面,提供一种URI构造方法,应用于发送端,包括:
提取目标URI中的关键字段;
对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
基于所述第一字符串,生成加密URI;
发送所述加密URI。
所述对所述关键字段进行加密,编码后生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述关键字段进行加密运算,编码后生成第一字符串。
所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对所述第一序列号KEY1按预定算法计算,得到所述第二序列号KEY2;
或者,通过随机数生成器或者时间戳生成随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法计算,得到所述第二序列号KEY2。
还包括:
对所述随机数值编码后生成第二字符串;
所述基于所述第一字符串,生成加密URI包括:
当对所述第一序列号KEY1按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串与所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串、所述第二字符串、所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
应用于接收端,包括:
接收加密URI请求;
提取所述加密URI请求中的第一字符串;
对所述第一字符串解密,获取关键字段;
使用所述关键字段替换加密URI中的第一字符串,将加密URI还原为目标URI。
所述对所述第一字符串解密,获取关键字段包括:
对所述第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述加密的关键字段进行解密运算,获取所述关键字段。
当所述加密URI请求包括第一字符串和第二字符串时,所述基于预先定义的第一序列号KEY1,运算后得到第二序列号KEY2包括:对所述第二字符串解码后获得随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
根据本文的另一方面,提供一种URI构造装置,应用于发送端,包括:
关键字段提取模块,用于提取目标URI中关键字段;
加密模块,用于对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
加密URI生成模块,用于基于所述第一字符串,生成加密URI;
发送模块,用于发送所述加密URI。
所述加密模块生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述关键字段进行加密运算,编码后生成第一字符串。
所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对所述第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2;
或者,通过随机数生成器或者时间戳生成随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
所述加密模块还用于对所述随机数值编码后生成第二字符串;
所述基于所述第一字符串,生成加密URI包括:
当对所述第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串与所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串、所述第二字符串、所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
URI构造装置,应用于接收端,包括:
接收模块,用于接收加密URI请求;
字符串提取模块,提取所述第一字符串;
解密模块,对所述第一字符串解密获取关键字段;
还原模块,用于使用所述关键字段替换加密URI中的第一加密字符串,将加密URI还原为目标URI。
所述对所述第一字符串解密,获取原始关键字段包括:
对所述第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述加密的关键字段进行解密运算,获取所述关键字段。
当所述加密URI请求只包括第一字符串时,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对所述预先定义的第一序列号KEY1按预定算法运算,得到所述第二序列号KEY2;
当所述加密URI请求包括第一字符串和第二字符串时,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对所述第二字符串解码后获得随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
根据本文的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现URI构造方法的步骤。
根据本文的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现URI构造方法的步骤。
本文通过RUL构造方法,可以实现发送端将目标URI加密后发送给接收端,接收端收到加密URI请求后,对加密的URI解密,还原为原始目标URI。可以有效防止中间劫持获取真实的访问意图及隐私信息,同时,由于加入随机数值,即使同一资源的获取,也会产生不同的加密URI,避免中间劫持的缓存污染。而实现本文的URI加密方法,不需要对现有服务器进行复杂的改造,只需要在服务器端或客户端设置简单的编码装置和/或解密装置,即可实现。。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:
图1是根据一示例性实施例示出的一种URI构造方法的流程图。
图2是根据一示例性实施例示出的一种URI构造方法的流程图。
图3是根据一示例性实施例示出的一种URI构造装置的框图。
图4是根据一示例性实施例示出的一种URI构造装置的框图。
图5是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。
图1是URI构造方法的流程图。如图1所示,URI构造方法应用于发送端,包括:
步骤S11,提取目标URI中的关键字段;
步骤S12,对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
步骤S13,基于所述第一字符串,生成加密URI;
步骤S14,发送所述加密URI。
为了防止中间劫持,发送端将待发送的目标URI中的关键字段加密,发送加密的URI。客户端发送的请求不再是明文的URI,服务器发送的调度信息也不再是明文的URI,可以有效防止中间劫持。关键字段,根据实际情况确定,可以是待访问的目标文件名称,或者文件的整个路径,达到隐藏访问意图的目的。
在一实施例中,步骤S12中,对关键字段进行加密,编码后生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于第二序列号KEY2,对关键字段进行加密运算,编码后生成第一字符串。
在本文的URI构造方法中,为了保证发送端发送的加密URI能够被解析,需要预先定义第一序列号,并约定预定算法。发送方基于第一序列号KEY1按预定算法运算后得到第二序列号KEY2,使用第二序列号KEY2对提取的关键字段进行加密。解密方也基于第一序列号KEY1按同样的预定算法运算后得到第二序列号KEY2,使用第二序列号KEY2对加密关键字段进行逆运算,进行解密。本文中的预定算法可以为任意算法,比如计算哈希值,或者拼接特定的字符串等,其目的是使发送端和接收端分别根据预先定义第一序列号计算出第二序列号KEY2,使用相同的第二序列号KEY2进行加密或者解密。
发送端使用第二序列号加密关键字段后,生成第一字符串。
例如,原始URI为http://www.baidu.com/doc/2019/readme.txt
客户端首先根据访问意图确定关键字段,本实施例中,确定关键字段为/doc/2019/readme.txt;
预先定义的第一序列号KEY1为text;
对[’t’,’e’,’s’,’t’],按预定算法运算后得到第二序列号key2。
通过预设的加密算法fn(key2,path),path为关键字段,在本实施例中,为/doc/2019/readme.txt,对关键字段进行加密后,进行十六进制编码为:
7a0a071622dec2118eccc5a4b6b1110e85a3989aafd67e594b87c46d28dde2c890b4f088
按照顺序拼接规则,组成新的URI:
http://www.baidu.com/7a0a071622dec2118eccc5a4b6b1110e85a3989aafd67e594b87c46d28dde2c890b4f088
如此,即使该访问请求被劫持,劫持者也不能知道具体的请求内容,保护了客户端隐私信息。
在一实施例中,基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对预先定义的第一序列号KEY1按预定算法运算,得到第二序列号KEY2;
如上述对原始URI为http://www.baidu.com/doc/2019/readme.txt的加密过程,按此种方式加密后,有可能导致不同客户端的相同的URI请求加密后完全一致。因此本文中URI构造方法还提供如下方法,通过随机数生成器或者时间戳生成随机数值,将随机数值与第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。用于加密解密的第二序列号KEY2,基于发送端的随机数值和第一序列号KEY1生成,不同的发送端生成不同的KEY2,使得不同发送端发送的加密请求都是唯一的,进一步避免了被中间劫持篡改的可能。
本文URI构造方法还包括,对随机数值编码后生成第二字符串;
当对第一序列号KEY1通过预先定义的规则计算,得到第二序列号KEY2时,将第一字符串与目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将随机数值与第一序列号KEY1拼接后,通过预先定义的规则计算,得到第二序列号KEY2时,将第一字符串、第二字符串、目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。如果对关键字段加密时,使用的第二序列号KEY2是通过第一序列号KEY1和随机数值计算得到的,为了使接收端能够根据第一序列号KEY1计算出第二序列号KEY2,还需要将第二字符串发送个接收端,以使接收端根据第二字符串,通过预设算法的反运算计算出随机数值。
因为第二字符串是根据机器随机数或者时间戳生成的,从而使得同一用户即使访问相同的内容,其加密后的请求也会不同。
同时,由于不同的使用场景,在构造加密URI时,也会采用不同的方式。例如,客户端发送加密URI请求时,将第一字符串{new_path},第二字符串{new_nonce}(如果有)与目标URI提取关键字段后剩余字段,按预设规则拼接后即可,如:https://domain{new_nonce}{new_path}。在某些特殊场景下,如调度场景,除了将需要拼接的内容按预设规则进行拼接,还会插入特定字段,比如:https://domain/diaodu/{new_nonce}{new_path},将第一字符串,第二字符串与domain拼接后,还插入特定字段:diaodu,接收端可以知道接收的是调度后的URI。
图2是URI构造方法的流程图。如图1所示,URI构造方法应用于接收端,包括;
步骤S21,接收加密URI请求;
步骤S22,提取所述加密URI请求中的第一字符串;
步骤S23,对所述第一字符串解密,获取关键字段;
步骤S24,使用所述关键字段替换加密URI中的第一加密字符串,将加密URI还原为目标URI。
接收方收到加密的URI请求后,提取第一字符串,使用与加密算法对应的逆算法,对第一字符串解密,从而将加密的URI还原为原始的目标URI,根据原始的目标URI进行响应。
在一实施例中,步骤S23对第一字符串解密,获取关键字段包括:
对第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于第二序列号KEY2,对加密的关键字段进行解密运算,获取关键字段。
当加密URI请求只包括第一字符串时,基于预先定义的第一序列号KEY1,加密运算后得到第二序列号KEY2包括:对预先定义的第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2;此时,接收端只需根据预设的第一序列号KEY1,按预定算法运算,即可计算出第二序列号KEY2。
当加密URI请求包括第一字符串和第二字符串时,基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对第二字符串解码后获得随机数值,将该随机数值与第一序列号KEY1拼接后,按预定算法计算,得到第二序列号KEY2。如果发送端在计算第二序列号KEY2时,是根据第一序列号和随机数值进行计算的,接收端为了得到相同的第二序列号KEY2,需要先对第二字符串解码,获取对应的随机数值,再根据第一序列号和随机数值进行计算,得到相同的第二序列号KEY2。
由此可见,在解密过程中,接收方同样根据预先定义的第一序列号KEY1,经过同样的加密运算后,得到第二序列号KEY2,保证与发送方进行加密过程所使用的第二序列号KEY2完全相同,能够对加密的关键字段进行解密。
为更好地理解本文中的URI构造方法,举例如下:
具体实施例一:
假定提取关键字段的策略为:提取URI域名后所有字符串;通过随机数生成器生成随机数值,字符串为二进制,[0x4,0x8,0x6,0x7],随机数值以nonce表示;预先定义的第一序列号KEY1为“test”;二进制序列转换为字符串使用十六进制表示;预定算法为将第一序列号KEY1与nonce拼接后计算哈希值MD5,原始URI为:
http://www.baidu.com/doc/2019/readme.txt。
发送端可以为客户端,也可以为服务器端,在发送上述URI前,先生成加密URI。发送端提取关键字段为/doc/2019/readme.txt。
首先将随机数值nonce和第一序列号KEY进行拼接,[’t’,’e’,’s’,’t’,0x4,0x8,0x6,0x7],然后计算MD5后得到第二序列号KEY2为:
[0x94,0xa4,0x8b,0x86,0x99,’w’,0xbe,0x88,0x17,0xff,0xc9,0x96,’E’,0xe1,0xaa,0x1a]
使用例如AES128_GCM加密算法,使用第二序列号KEY2,对关键字段/doc/2019/readme.txt进行加密计算,结果为[0x7a,0x0a,0x07,0x16,0x22,0xde,0xc2,0x11,0x8e,0xcc,0xc5,0xa4,0xb6,0xb1,0x11,0x0e,0x85,0xa3,0x98,0x9a,0xaf,0xd6,0x7e,0x59,0x4b,0x87,0xc4,0x6d,0x28,0xdd,0xe2,0xc8,0x90,0xb4,0xf0,0x88]
通过十六进制编码后,加密的关键字段以new_path表示,为7a0a071622dec2118eccc5a4b6b1110e85a3989aafd67e594b87c46d28dde2c890b4f088
对随机数值nonce:[0x4,0x8,0x6,0x7],通过十六进制编码,以new_nonce表示,new_nonce为04080607。
按照顺序拼接规则,组成加密的URI:
拼接第一字符串和第二字符串后,与目标URI提取关键字段后剩余字段组成加密URI:http://www.baidu.com/[new_nonce][new_path]。
即加密后的URI为:
http://www.baidu.com/040806077a0a071622dec2118eccc5a4b6b1110e85a3989aafd67e594b87c46d28dde2c890b4f088。
服务器收到加密URI后,
提取new_nonce为04080607,new_path为:
7a0a071622dec2118eccc5a4b6b1110e85a3989aafd67e594b87c46d28dde2c890b4f088
将new_nonce逆十六进制编码为[0x4,0x8,0x6,0x7],将new_path逆十六进制编码为:
[0x7a,0x0a,0x07,0x16,0x22,0xde,0xc2,0x11,0x8e,0xcc,0xc5,0xa4,0xb6,0xb1,0x11,0x0e,0x85,0xa3,0x98,0x9a,0xaf,0xd6,0x7e,0x59,0x4b,0x87,0xc4,0x6d,0x28,0xdd,0xe2,0xc8,0x90,0xb4,0xf0,0x88]
将随机数值nonce和第一序列号KEY进行拼接,[’t’,’e’,’s’,’t’,0x4,0x8,0x6,0x7],然后计算MD5后得到第二序列号KEY2为:
[0x94,0xa4,0x8b,0x86,0x99,’w’,0xbe,0x88,0x17,0xff,0xc9,0x96,’E’,0xe1,0xaa,0x1a]
通过AES128_GCM解密关键字段为/doc/2019/readme.txt。
使用关键字段替换加密URI中的第一加密字符串,删除第二字符串,将加密URI还原为目标URI:http://www.baidu.com/doc/2019/readme.txt。
通过以上方法,客户端和服务器都可以将自己发出的URI进行加密,防止中间劫持,保护隐私安全,保证系统安全。
具体实施例二:
在调度场景下,调度服务器接收到客户端的原始URI请求,或者加密的URI请求后,根据调度策略,会生成302响应,需要生成重定向URI时,例如:原始重定向URI为:
HTTP/1.1302Found
Location:https://www.baidu.com/xxx
加密后,将URI重新构造为加密的URI:
HTTP/1.1 302Found
Location:https://www.baidu.com/{new_nonce}{new_path}。
这里,new_nonce是对随机数编码后的结果,new_path是对关键字段加密后的结果。
调度服务器在构造加密URI时,还可以根据自身的设定,将特定字段(diaodu)插入上述加密的URI中:
HTTP/1.1 302Found
Location:https://www.baidu.com/diaodu/{new_nonce}{new_path}。
调度服务器可以将目标业务服务器的URI进行加密,隐藏业务服务器的真实地址,防止响应被劫持后,暴露业务服务器的真实地址,从而保护调度策略,并提高业务服务器的安全性。
由以上实施例可知,本文提供的RUL构造方法,提供了一种对URI加密及解密的方法,发送端将目标URI加密后发送给接收端,接收端收到加密URI请求后,对加密的URI解密,还原为原始目标URI。可以有效防止中间劫持获取真实的访问意图及隐私信息,同时,由于加入随机数值,即使对同一资源的请求,也会产生不同的加密URI,避免中间劫持的缓存污染。而实现本文的URI加密方法,不需要对现有服务器进行复杂的改造,只需要在服务器端或客户端设置简单的编码装置和/或解密装置,即可实现。
图3是一种URI构造装置的框图,参考图3,URI构造装置应用于发送端,包括:关键字段提取模块301,加密模块302,加密URI生成模块303,发送模块304。
该关键字段提取模块301被配置为用于用于提取目标URI中关键字段;
该加密模块302被配置为用于对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
该加密URI生成模块303被配置为用于基于所述第一字符串,生成加密URI;
该发送模块304,用于发送所述加密URI。
加密模块302生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于第二序列号KEY2,对所述关键字段进行加密运算,编码后生成第一字符串。
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2;
或者,通过随机数生成器或者时间戳生成随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到第二序列号KEY2。
该加密模块302还用于:对随机数值编码后生成第二字符串;
基于第一字符串,生成加密URI包括:
当对所述第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串与所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串、所述第二字符串、所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
图4是一种URI构造装置的框图,参考图4,URI构造装置应用于接收端包括:接收模块401,字符串提取模块402,解密模块403,还原模块404。
该接收模块401被配置为用于接收加密URI请求;
该字符串提取模块402被配置为用于提取所述第一字符串;
该解密模块403被配置为用于对第一字符串解密获取关键字段;
该还原模块404被配置为用于使用关键字段替换加密URI中的第一加密字符串,将加密URI还原为目标URI。
对第一字符串解密,获取原始关键字段包括:
对第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于第二序列号KEY2,对加密的关键字段进行解密运算,获取关键字段。
当加密URI请求只包括第一字符串时,基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对预先定义的第一序列号KEY1按预定算法运算,得到第二序列号KEY2;
当加密URI请求包括第一字符串和第二字符串时,基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对第二字符串解码后获得随机数值,将随机数值与第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于URI构造的计算机设备500的框图。例如,计算机设备500可以被提供为一服务器。参照图5,计算机设备500包括处理器501,处理器的个数可以根据需要设置为一个或者多个。计算机设备500还包括存储器502,用于存储可由处理器501的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器501被配置为执行指令,以执行URI构造方法。
本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。
显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

Claims (16)

1.一种URI构造方法,应用于发送端,其特征在于,包括:
提取目标URI中的关键字段;
对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
基于所述第一字符串,生成加密URI;
发送所述加密URI。
2.如权利要求1所述的URI构造方法,其特征在于,所述对所述关键字段进行加密,编码后生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述关键字段进行加密运算,编码后生成第一字符串。
3.如权利要求2所述的URI构造方法,其特征在于,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对所述第一序列号KEY1按预定算法计算,得到所述第二序列号KEY2;
或者,通过随机数生成器或者时间戳生成随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法计算,得到所述第二序列号KEY2。
4.如权利要求3所述的URI构造方法,其特征在于,还包括:
对所述随机数值编码后生成第二字符串;
所述基于所述第一字符串,生成加密URI包括:
当对所述第一序列号KEY1按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串与所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串、所述第二字符串、所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
5.一种URI构造方法,应用于接收端,其特征在于,包括:
接收加密URI请求;
提取所述加密URI请求中的第一字符串;
对所述第一字符串解密,获取关键字段;
使用所述关键字段替换加密URI中的第一字符串,将加密URI还原为目标URI。
6.如权利要求5所述的URI的构造方法,其特征在于,所述对所述第一字符串解密,获取关键字段包括:
对所述第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述加密的关键字段进行解密运算,获取所述关键字段。
7.如权利要求6所述的URI的构造方法,其特征在于,
当所述加密URI请求包括第一字符串和第二字符串时,所述基于预先定义的第一序列号KEY1,运算后得到第二序列号KEY2包括:对所述第二字符串解码后获得随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
8.一种URI构造装置,应用于发送端,其特征在于,包括:
关键字段提取模块,用于提取目标URI中关键字段;
加密模块,用于对所述关键字段进行加密,加密的关键字段编码后生成第一字符串;
加密URI生成模块,用于基于所述第一字符串,生成加密URI;
发送模块,用于发送所述加密URI。
9.如权利要求8所述的URI构造装置,其特征在于,所述加密模块生成第一字符串包括:
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述关键字段进行加密运算,编码后生成第一字符串。
10.如权利要求9所述的URI构造装置,其特征在于,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:
对所述第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2;
或者,通过随机数生成器或者时间戳生成随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2。
11.如权利要求9所述的URI构造装置,其特征在于,
所述加密模块还用于对所述随机数值编码后生成第二字符串;
所述基于所述第一字符串,生成加密URI包括:
当对所述第一序列号KEY1,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串与所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
当将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算,得到所述第二序列号KEY2时,将所述第一字符串、所述第二字符串、所述目标URI提取关键字段后剩余字段,按预设规则拼接或者按预设规则拼接后再插入特定字段,组成加密URI。
12.一种URI构造装置,应用于接收端,其特征在于,包括:
接收模块,用于接收加密URI请求;
字符串提取模块,提取所述第一字符串;
解密模块,对所述第一字符串解密获取关键字段;
还原模块,用于使用所述关键字段替换加密URI中的第一加密字符串,将加密URI还原为目标URI。
13.如权利要求12所述的URI构造装置,其特征在于,所述对所述第一字符串解密,获取原始关键字段包括:
对所述第一字符串解码,获得加密的关键字段;
基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2;
基于所述第二序列号KEY2,对所述加密的关键字段进行解密运算,获取所述关键字段。
14.如权利要求13所述的URI构造装置,其特征在于,当所述加密URI请求只包括第一字符串时,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对所述预先定义的第一序列号KEY1按预定算法运算,得到所述第二序列号KEY2;
当所述加密URI请求包括第一字符串和第二字符串时,所述基于预先定义的第一序列号KEY1,按预定算法运算后得到第二序列号KEY2包括:对所述第二字符串解码后获得随机数值,将所述随机数值与所述第一序列号KEY1拼接后,按预定算法运算后,得到所述第二序列号KEY2。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-7中任意一项所述方法的步骤。
16.一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一项所述方法的步骤。
CN201911372781.6A 2019-12-27 2019-12-27 Uri构造方法、装置、介质及设备 Active CN113055343B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911372781.6A CN113055343B (zh) 2019-12-27 2019-12-27 Uri构造方法、装置、介质及设备
PCT/CN2020/138676 WO2021129676A1 (zh) 2019-12-27 2020-12-23 一种uri构造方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911372781.6A CN113055343B (zh) 2019-12-27 2019-12-27 Uri构造方法、装置、介质及设备

Publications (2)

Publication Number Publication Date
CN113055343A true CN113055343A (zh) 2021-06-29
CN113055343B CN113055343B (zh) 2023-04-28

Family

ID=76506042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911372781.6A Active CN113055343B (zh) 2019-12-27 2019-12-27 Uri构造方法、装置、介质及设备

Country Status (2)

Country Link
CN (1) CN113055343B (zh)
WO (1) WO2021129676A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785505B (zh) * 2022-06-22 2022-08-23 中科雨辰科技有限公司 一种获取异常设备的数据处理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777090A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 资源隐藏与访问控制支持的无状态方法
CN104009989A (zh) * 2014-05-22 2014-08-27 Tcl集团股份有限公司 一种媒体文件的防盗链方法、系统及服务器
CN108737442A (zh) * 2018-06-12 2018-11-02 北京多采多宜网络科技有限公司 一种加密校验处理方法
CN109547201A (zh) * 2018-12-14 2019-03-29 平安科技(深圳)有限公司 一种根密钥的加密方法、计算机可读存储介质及终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216002A (ja) * 2005-02-02 2006-08-17 Foward Network:Kk Urlセキュリティーシステム
CN103701761B (zh) * 2012-09-28 2017-07-18 中国电信股份有限公司 开放接口调用的认证方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777090A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 资源隐藏与访问控制支持的无状态方法
CN104009989A (zh) * 2014-05-22 2014-08-27 Tcl集团股份有限公司 一种媒体文件的防盗链方法、系统及服务器
CN108737442A (zh) * 2018-06-12 2018-11-02 北京多采多宜网络科技有限公司 一种加密校验处理方法
CN109547201A (zh) * 2018-12-14 2019-03-29 平安科技(深圳)有限公司 一种根密钥的加密方法、计算机可读存储介质及终端设备

Also Published As

Publication number Publication date
WO2021129676A1 (zh) 2021-07-01
CN113055343B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US9985782B2 (en) Network bound decryption with offline encryption
US20140143541A1 (en) Method and Apparatus for Managing Encrypted Files in Network System
CN105245328B (zh) 一种基于第三方的用户及文件的密钥产生管理方法
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
CN104160674A (zh) 内容中心网络
CN111698576B (zh) 信息加密方法、解密方法、服务器、客户端及介质
US10404451B2 (en) Apparatus and method for message communication
EP3614292A1 (en) File transfer system comprising an upload, storage and download device
CN110351304B (zh) 一种不同系统间的一键切换登录实现方法及装置
CN110149312B (zh) 数据处理方法、装置、系统及计算机可读存储介质
CN113055343B (zh) Uri构造方法、装置、介质及设备
Chatterjee et al. Enhancing data security of cloud based lms
US9825920B1 (en) Systems and methods for multi-function and multi-purpose cryptography
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
CN110149311B (zh) 数据处理方法、装置、服务器及可读存储介质
CN113055344B (zh) 调度方法、装置、介质及设备
CN111901287A (zh) 一种为轻应用提供加密信息的方法、装置和智能设备
Lei et al. Towards efficient re-encryption for secure client-side deduplication in public clouds
US20150082054A1 (en) System and Method for Establishing a Secure Digital Environment
CN111709047B (zh) 信息管理系统及其方法
US9699147B2 (en) Method for encrypting digital file
Kumar et al. A review and analysis on text data encryption techniques
US20200275142A1 (en) A method for delivering digital content to at least one client device
GB2495698A (en) Securely storing data file modifications where the file comprises one or more file elements that collectively represent the whole content of the file
DeLorenzo Private group photo sharing with efficient revocation using proxy re-encryption

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