CN117040746B - 一种cdn客户端加密防盗链实现方法及电子设备 - Google Patents
一种cdn客户端加密防盗链实现方法及电子设备 Download PDFInfo
- Publication number
- CN117040746B CN117040746B CN202311300246.6A CN202311300246A CN117040746B CN 117040746 B CN117040746 B CN 117040746B CN 202311300246 A CN202311300246 A CN 202311300246A CN 117040746 B CN117040746 B CN 117040746B
- Authority
- CN
- China
- Prior art keywords
- client
- authentication
- encryption
- cdn
- request message
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 12
- 230000006978 adaptation Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- 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/40—Network security protocols
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种CDN客户端加密防盗链实现方法及电子设备,属于互联网技术领域。该方法:客户端从CDN函数库获取SDK资源,获取SDK资源之后,客户端和CDN节分别向远程服务器发送请求鉴权KEY消息,用于获取鉴权KEY信息;客户端基于SDK资源和鉴权KEY信息确定对应的客户端加密逻辑,基于客户端加密逻辑生成鉴权请求消息,鉴权请求消息中包括:时间信息,秘钥信息,类型信息;CDN节点接收客户端发送的鉴权请求消息之后,基于鉴权请求消息和鉴权KEY信息完成鉴权访问判定。本申请提高了鉴权秘钥的保密性和鉴权的安全性,客户端开发方便,只需要将SDK集成后调用即可,不需要客户端进行特定的开发适配,减少客户端的开发,节约成本,且便于更新加密方案。
Description
技术领域
本申请属于互联网技术领域,特别涉及一种CDN客户端加密防盗链实现方法及电子设备。
背景技术
当前对于CDN和客户端之间的鉴权,通常是CDN服务商提前在官方文档制定好防盗链格式,客户端按照格式去适配,如阿里云、腾讯云都有类似的功能开放给客户,其会将算法完全的公布出去,这样单纯依靠密钥来保证防盗链。这样完全公布算法方案有如下缺点:1、加密方案是公开的,依赖于密钥key作为保密的唯一方式;2、开发不方便,客户端需要按照防盗链加密方案进行适配;3、防盗链方案变更在服务过程中变更不方便,因为CDN服务是分布式的,没有过渡方案,无法实现客户端+服务端在同一时刻的防盗链方案变更;4、密钥需要CDN服务器配置好,保密性不好。
针对上述问题,提出本申请的CDN客户端加密防盗链实现方法及电子设备。
发明内容
为了解决所述现有技术的不足,本申请提供了一种CDN客户端加密防盗链实现方法及电子设备,以解决现有技术中CDN和客户端之间的鉴权方法中加密方案公开,秘钥保密性低安全性低,客户端开发成本高,且不易变更加密方案等问题。
本申请所要达到的技术效果通过以下方案实现:
第一方面,本申请提供一种CDN客户端加密防盗链实现方法,所述方法包括:
客户端从CDN函数库获取SDK资源,获取所述SDK资源之后,所述客户端向远程服务器发送第一请求鉴权KEY消息,用于获取鉴权KEY信息;
CDN节点向所述远程服务器发送第二请求鉴权KEY消息,用于获取所述鉴权KEY信息;
所述客户端基于所述SDK资源和所述鉴权KEY信息确定对应的客户端加密逻辑,基于所述客户端加密逻辑生成鉴权请求消息,所述鉴权请求消息中包括:时间信息,秘钥信息,类型信息;
所述CDN节点接收所述客户端发送的所述鉴权请求消息之后,基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,其中,所述鉴权请求消息为URL消息。
在一些实施例中,所述基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,包括:
对所述鉴权请求消息进行解析,获取所述鉴权请求消息中携带的所述时间信息,所述秘钥信息,所述类型信息;根据所述类型信息确定客户端加密方案,并针对所述时间信息进行校验,如果不在有效期内,则拒绝本次鉴权请求,如果在有效期内,则解密所述秘钥信息获得客户端鉴权因子的原始加密密文,并且按照所述客户端鉴权因子的排序,基于所述客户端加密方案和所述鉴权KEY信息对所述客户端鉴权因子进行加密,获得目标加密密文,如果所述原始加密密文等于所述目标加密密文,则接受本次访问,如果所述原始加密密文不等于所述目标加密密文,则拒绝本次访问。
在一些实施例中,所述时间信息表示有效时间戳信息;
所述秘钥信息表示按照排序对所述客户端鉴权因子进行加密后的密文;
所述类型信息表示所述客户端标识及其对应的加密方案。
在一些实施例中,所述CDN函数库为SDK,所述CDN函数库中集成了多种加密方案,鉴权因子相关的路径,参数,秘钥,时间戳,以及干扰串。
在一些实施例中,所述方法还包括:
所述CDN节点在判定接受本次访问之后,向所述客户端返回业务内容信息。
在一些实施例中,所述多种加密方案包括:md5,base64,crc,rsa,aes。
在一些实施例中,所述客户端鉴权因子的排序为路径+参数a+拼写请求头b+客户端秘钥+时间戳+干扰串。
在一些实施例中,在所述客户端的加密方案发生改变的情况下,所述客户端发送鉴权请求更新消息至所述CDN节点,其中所述鉴权请求更新消息携带了所述客户端当前使用的加密方案以及之前使用的加密方案,使得所述CDN节点可以分别使用所述当前使用的加密方案以及所述之前使用的加密方案完成鉴权访问判定,这二者中任意一种加密方案通过鉴权,则接受本次访问。
第二方面,本申请提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任意一项所述的方法。
第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一项所述的方法。
通过本申请实施例提供的CDN客户端加密防盗链实现方法及电子设备,该方法通过CDN函数库(或者说SDK)集成多种加密方案或者算法,加密方案不需要全网公开,只需要针对特定客户告知其对应的key及加密方案式即可,提高了鉴权秘钥的保密性和鉴权的安全性,客户端开发方便,只需要将SDK集成后调用即可,不需要客户端进行特定的开发适配,减少了客户端的开发,节约成本,且便于更新加密方案。
附图说明
为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例中的CDN客户端加密防盗链实现方法的流程图;
图2为本申请一实施例中的CDN客户端加密防盗链实现方法的实现结构图;
图3为本申请一实施例中的电子设备的示意框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,除非另外定义,本申请一个或多个实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本申请中涉及到的相关技术术语的解释如下:
1、防盗链:比如A网站有一张图片,被B网站直接通过img标签属性引入,直接盗用A网站图片展示;内容不在自己的服务器上,通过技术手段将其他网站的内容(比如一些音乐、图片、软件的下载地址)放置在自己的网站中,通过这种方法盗取其他网站的空间和流量。
2、加密防盗链:通过一定的加密鉴权技术,来实现防盗链功能。
3、时间戳防盗链:url表示的是统一资源定位系统(uniform resource locator,URL),其是明文的,所以需要给 url 一条有效期,即便被其他盗链,有效期到了自然失效,可以减小被盗链的影响。
4、加密签名算法:对称加密和非对称加密,常见的对称加密算法主要有DES、3DES、AES 等,常见的非对称算法主要有 RSA、DSA 等,散列算法主要有 SHA-1、MD5 等。
5、鉴权因子:负责参与加密的部分url的属性,其包括路径,文件类型,某些参数,某些header,密钥等。
6、鉴权方式:
1)鉴权因子按照顺序组成加密前的字符串,按照加密算法加密后与加密后的字符串比对。
2)请求的内容本身就是加密的,服务端需要按照密钥解密,最后按照顺序解出各个鉴权因子。
这里想要说明的是本文中不区分大小写,二者表示相同的含义。
下面结合附图,详细说明本申请的各种非限制性实施方式。
首先,参照图1,对本申请的CDN客户端加密防盗链实现方法进行详细说明:
本实施例提供一种CDN客户端加密防盗链实现方法,所述方法包括:
S101:客户端从CDN函数库获取SDK资源,获取所述SDK资源之后,所述客户端向远程服务器发送第一请求鉴权KEY消息,用于获取鉴权KEY信息;
S102:CDN节点向所述远程服务器发送第二请求鉴权KEY消息,用于获取所述鉴权KEY信息;
S103:所述客户端基于所述SDK资源和所述鉴权KEY信息确定对应的客户端加密逻辑,基于所述客户端加密逻辑生成鉴权请求消息,所述鉴权请求消息中包括:时间信息,秘钥信息,类型信息;
S104:所述CDN节点接收所述客户端发送的所述鉴权请求消息之后,基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,其中,所述鉴权请求消息为URL消息。
在一些实施例中,所述基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,包括:
对所述鉴权请求消息进行解析,获取所述鉴权请求消息中携带的所述时间信息,所述秘钥信息,所述类型信息;根据所述类型信息确定客户端加密方案,并针对所述时间信息进行校验,如果不在有效期内,则拒绝本次鉴权请求,如果在有效期内,则解密所述秘钥信息获得客户端鉴权因子的原始加密密文,并且按照所述客户端鉴权因子的排序,基于所述客户端加密方案和所述鉴权KEY信息对所述客户端鉴权因子进行加密,获得目标加密密文,如果所述原始加密密文等于所述目标加密密文,则接受本次访问,如果所述原始加密密文不等于所述目标加密密文,则拒绝本次访问。
具体地,上述的客户端加密方案包括DES、3DES、AES 、RSA、DSA 、CRC、SHA-1、MD5、BASE64等,此处为示例性地,其他本领域人员所示的方法也可以应用与此。
在一些实施例中,所述时间信息表示有效时间戳信息;
所述秘钥信息表示按照排序对所述客户端鉴权因子进行加密后的密文;其中,加密后的密文还支持2次加密,例如可以采用AES算法执行2次加密。
所述类型信息表示所述客户端标识及其对应的加密方案。
在一些实施例中,所述CDN函数库为SDK,所述CDN函数库中集成了多种加密方案,鉴权因子相关的路径,参数,秘钥,时间戳,以及干扰串。
在一些实施例中,所述方法还包括:
所述CDN节点在判定接受本次访问之后,向所述客户端返回业务内容信息。
在一些实施例中,所述多种加密方案包括:md5,base64,crc,rsa,aes。
在一些实施例中,所述客户端鉴权因子的排序为路径+参数a+拼写请求头b+客户端秘钥+时间戳+干扰串。
在一些实施例中,在所述客户端的加密方案发生改变的情况下,所述客户端发送鉴权请求更新消息至所述CDN节点,其中所述鉴权请求更新消息携带了所述客户端当前使用的加密方案以及之前使用的加密方案,使得所述CDN节点可以分别使用所述当前使用的加密方案以及所述之前使用的加密方案完成鉴权访问判定,这二者中任意一种加密方案通过鉴权,则接受本次访问。
具体地,比如当前使用的是第一加密方案,之前使用的是第二加密方案,则CDN节点先针对第一加密方案进行鉴权,如果通过鉴权,则不必针对第二加密方案执行鉴权,如果第一加密方案未通过鉴权,则继续针对第二加密方案执行鉴权,如果第二加密方案通过鉴权,则接受访问,否则拒绝访问,此处为示例性地,对于第一加密方案和第二加密方案的执行顺序可以调换。
该方法通过CDN函数库(或者说SDK)集成多种加密方案或者算法,加密方案不需要全网公开,只需要针对特定客户告知其对应的key及加密方案即可,提高了鉴权秘钥的保密性和鉴权的安全性,客户端开发方便,只需要将SDK集成后调用即可,不需要客户端进行特定的开发适配,减少客户端的开发,节约成本,且便于更新加密方案。
下面根据图2来对本申请的另一实施例进行详细描述:
如图2所示,本实施例的应用场景中包括远程服务器,客户端,CDN节点以及CDN函数库,其中CDN函数库可以是SDK。
远程服务器用于动态秘钥管理,生成动态秘钥,定期更新秘钥,客户端或CDN节点从此处获得动态秘钥加解密。
步骤1:客户端从SDK获取SDK资源。
步骤2:客户端向远程服务器发送请求鉴权KEY消息,用于请求或获取鉴权KEY信息;
步骤3:远程服务器向客户端返回鉴权KEY信息;
步骤4:CDN节点向远程服务器发送请求鉴权KEY消息,用于请求或获取鉴权KEY信息;
步骤5:远程服务器向CDN节点返回鉴权KEY信息;
步骤6:客户端基于SDK资源和获取的鉴权KEY信息生成鉴权请求消息,及鉴权URL,并发送至CDN节点;
步骤7:CDN节点接收鉴权URL,结合获得的鉴权KEY信息完成针对客户端的访问鉴权判定。若鉴权成功,则返回相应的业务内容。
具体地,对每个节点的执行过程进行进一步描述。
第一、客户端加密过程:
SDK提前集成了支持的各种加密算法,例如 md5,base64,crc,rsa,aes等。
客户端只需要集成后按照自己的需求调用函数,并指定自己特定的时间戳有效期,加密算法,密钥,鉴权因子,远程服务器地址,远程服务器内容加密算法,远程服务器内容加密密钥等。
1、确定加密算法,可以从获得的多个加密算法中确定一个。
2、确定鉴权因子排序方式;例如,可以是 path+arg_a+header_b+key+time+“abc”,该加密排序方式为依次按照:路径、参数a、请求头b、客户特定的密钥、时间戳、abc的干扰串进行排序;将其整体作为加密前的字符。
3、针对鉴权后的密文支持2次加密;例如,采用AES加密算法。
4、远程服务器访问采用https密文访问,保护内容不被泄露,同时内容也使用特定的加密方案进行加密,SDK集成的函数会自动解密,保护客户端密钥不被泄漏。
客户端调用函数后得到对应的加密参数和加密方式代号(每一个客户的每一个算法都有特定代号)将整体的参数拼接好,发送服务访问请求消息至给cdn节点。
例如,客户xxx,客户端发送给CDN的请求可以是http://www.test.com/1.txt?xxx0_time=12344&xxx0_key=fsdfgsg&type=xxx0
其中,Time表示时间戳;key表示鉴权因子按照顺序,采用选定算法加密后的秘文再经过密钥2次加密后的密文;type表示客户xxx的xxx0加密方法。
第二、CDN节点的鉴权:
1、根据获得的type的值,得到客户端使用的具体的加密方案。
2、首先针对xxx0_time做时间戳校验,如果已经不在有效期,拒绝请求。
3、如果xxx0_time在有效期内,首先针对xxx0_key做第一步解密,得到客户端鉴权因子的原始加密密文key1。
4、CDN按照客户端鉴权因子的排列顺序按照与客户端相同的加密算法,采用相同的加密方案,得到密文key2。
5、如果key1不等于key2,拒绝访问;如果key1等于key2,则接受访问。
在客户端采用多种加密方案的替换的情况下,针对加密方案的过渡期间:
客户端
首先,客户端发送给CDN的请求携带两种加密方案;
例如,客户xxx客户端发送给CDN的请求是http://www.test.com/1.txt?xxx0_time=12344&xxx0_key=fsdfgsg&type=xxx01&xxx1_key =dfbssss&xxx1_time=12344
其中,Time表示时间戳,key表示鉴权因子按照顺序,采用特定算法加密后的秘文再经过密钥2次加密后的密文,type表示客户xxx的xxx0加密方法。
CDN节点:
1、根据type的值,得到具体的加密方案.
2、首先针对xxx0_time做时间戳校验,如果已经不在xxx0有效期,进入xxx1 的校验。
3、如果在有效期内,首先针对xxx0_key做第一步解密,得到鉴权因子的原始加密密文key1。
4、CDN按照客户端鉴权因子的排列顺序按照与客户端相同的加密算法,执行相同的加密方案,得到密文key2。
5、如果key1不等于key2进入xxx1的校验;如果key1=key2正常服务,不进入xxx1的校验。
6、针对xxx1_time做时间戳校验,如果已经不在xxx1有效期,拒绝访问。
7、如果在有效期内,首先针对xxx1_key做第一步解密,得到鉴权因子的原始加密密文key11。
8、CDN按照客户端鉴权因子的排列顺序按照相同的加密算法,做相同的加密方案,得到密文key22。
9、如果 key11不等于key22拒绝访问。
在客户端采用多种加密方案的替换的情况下,针对加密方案的过渡之后:
例如,客户xxx客户端发送给CDN的请求是:
http://www.test.com/1.txt? type=xxx1&xxx1_key =dfbssss&xxx1_time=12344
校验逻辑替换之前的鉴权过程一样,此处不再赘述。
本申请提供的CDN客户端加密防盗链实现方法及电子设备能够实现如下优点:
1、SDK集成的方式减少了客户端的开发量。
2、客户端防盗链密钥可实现客户端+CDN的同步线上变更。
3、客户端的密钥和加密方式完全保密,单纯攻破密钥无法完全破解防盗链。
4、对于请求中的加密串2次加密,进一步保护真正的加密算法不被泄露。
5、支持远程保存密钥,进一步保护密钥的安全性。
需要说明的是,本申请一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还公开一种电子设备;
具体地,图3示出了本实施例所提供的一种CDN客户端加密防盗链实现方法的电子设备的硬件结构示意图, 该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线 450。其中,处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如,USB、网线等)实现通信,也可以通过无线方式(例如,移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如,处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的CDN客户端加密防盗链实现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的CDN客户端加密防盗链实现方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的CDN客户端加密防盗链实现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以避免使本申请一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种CDN客户端加密防盗链实现方法,其特征在于,所述方法包括:
客户端从CDN函数库获取SDK资源,获取所述SDK资源之后,所述客户端向远程服务器发送第一请求鉴权KEY消息,用于获取鉴权KEY信息;所述CDN函数库为SDK,所述CDN函数库中集成了多种加密方案,鉴权因子相关的路径,参数,秘钥,时间戳,以及干扰串;
CDN节点向所述远程服务器发送第二请求鉴权KEY消息,用于获取所述鉴权KEY信息;
所述客户端基于所述SDK资源和所述鉴权KEY信息确定对应的客户端加密逻辑,基于所述客户端加密逻辑生成鉴权请求消息,所述鉴权请求消息中包括:时间信息,秘钥信息,类型信息;所述时间信息表示有效时间戳信息;所述秘钥信息表示按照排序对所述客户端鉴权因子进行加密后的密文;所述类型信息表示所述客户端标识及其对应的加密方案;
所述CDN节点接收所述客户端发送的所述鉴权请求消息之后,基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,其中,所述鉴权请求消息为URL消息;所述基于所述鉴权请求消息和所述鉴权KEY信息完成鉴权访问判定,包括:
对所述鉴权请求消息进行解析,获取所述鉴权请求消息中携带的所述时间信息,所述秘钥信息,所述类型信息;根据所述类型信息确定客户端加密方案,并针对所述时间信息进行校验:如果不在有效期内,则拒绝本次鉴权请求;
如果在有效期内,则解密所述秘钥信息获得客户端鉴权因子的原始加密密文,并且按照所述客户端鉴权因子的排序,基于所述客户端加密方案和所述鉴权KEY信息对所述客户端鉴权因子进行加密,获得目标加密密文:
如果所述原始加密密文等于所述目标加密密文,则接受本次访问;
如果所述原始加密密文不等于所述目标加密密文,则拒绝本次访问;
在所述客户端的加密方案发生改变的情况下,所述客户端发送鉴权请求更新消息至所述CDN节点,其中所述鉴权请求更新消息携带了所述客户端当前使用的加密方案以及之前使用的加密方案,使得所述CDN节点可以分别使用所述当前使用的加密方案以及所述之前使用的加密方案完成鉴权访问判定,这二者中任意一种加密方案通过鉴权,则接受本次访问。
2.如权利要求1所述的CDN客户端加密防盗链实现方法,其特征在于,所述方法还包括:
所述CDN节点在判定接受本次访问之后,向所述客户端返回业务内容信息。
3.如权利要求1所述的CDN客户端加密防盗链实现方法,其特征在于,所述多种加密方案包括:md5,base64,crc,rsa,aes。
4.如权利要求1所述的CDN客户端加密防盗链实现方法,其特征在于,所述客户端鉴权因子的排序为路径+参数a+拼写请求头b+客户端秘钥+时间戳+干扰串。
5.一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任意一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311300246.6A CN117040746B (zh) | 2023-10-10 | 2023-10-10 | 一种cdn客户端加密防盗链实现方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311300246.6A CN117040746B (zh) | 2023-10-10 | 2023-10-10 | 一种cdn客户端加密防盗链实现方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117040746A CN117040746A (zh) | 2023-11-10 |
CN117040746B true CN117040746B (zh) | 2024-02-27 |
Family
ID=88624870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311300246.6A Active CN117040746B (zh) | 2023-10-10 | 2023-10-10 | 一种cdn客户端加密防盗链实现方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117040746B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998316A (zh) * | 2016-01-22 | 2017-08-01 | 中国移动通信集团公司 | 一种鉴权方法、应用客户端及网关设备 |
CN107689870A (zh) * | 2017-08-29 | 2018-02-13 | 杭州绿湾网络科技有限公司 | 客户端鉴权方法和系统 |
CN111770068A (zh) * | 2020-06-15 | 2020-10-13 | 上海翌旭网络科技有限公司 | 一种基于最优链路选择的一致性鉴权方法 |
CN113568643A (zh) * | 2021-08-04 | 2021-10-29 | 中国建设银行股份有限公司 | 一种资源获取方法、装置、电子设备及计算机可读介质 |
CN114444091A (zh) * | 2021-12-21 | 2022-05-06 | 天翼云科技有限公司 | 一种基于cdn的防盗链定制系统、方法及存储介质 |
WO2023093772A1 (zh) * | 2021-11-24 | 2023-06-01 | 贵州白山云科技股份有限公司 | 一种请求调度的方法、装置、电子设备及存储介质 |
CN116232773A (zh) * | 2023-05-09 | 2023-06-06 | 北京拓普丰联信息科技股份有限公司 | 一种信息发布的方法、装置、设备和介质 |
-
2023
- 2023-10-10 CN CN202311300246.6A patent/CN117040746B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998316A (zh) * | 2016-01-22 | 2017-08-01 | 中国移动通信集团公司 | 一种鉴权方法、应用客户端及网关设备 |
CN107689870A (zh) * | 2017-08-29 | 2018-02-13 | 杭州绿湾网络科技有限公司 | 客户端鉴权方法和系统 |
CN111770068A (zh) * | 2020-06-15 | 2020-10-13 | 上海翌旭网络科技有限公司 | 一种基于最优链路选择的一致性鉴权方法 |
CN113568643A (zh) * | 2021-08-04 | 2021-10-29 | 中国建设银行股份有限公司 | 一种资源获取方法、装置、电子设备及计算机可读介质 |
WO2023093772A1 (zh) * | 2021-11-24 | 2023-06-01 | 贵州白山云科技股份有限公司 | 一种请求调度的方法、装置、电子设备及存储介质 |
CN114444091A (zh) * | 2021-12-21 | 2022-05-06 | 天翼云科技有限公司 | 一种基于cdn的防盗链定制系统、方法及存储介质 |
CN116232773A (zh) * | 2023-05-09 | 2023-06-06 | 北京拓普丰联信息科技股份有限公司 | 一种信息发布的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117040746A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650082B (zh) | 待验证信息的加密和验证方法、相关装置及存储介质 | |
US9875363B2 (en) | Use of generic (browser) encryption API to do key exchange (for media files and player) | |
CN107689869B (zh) | 用户口令管理的方法和服务器 | |
CN105577379B (zh) | 一种信息处理方法及装置 | |
US8763101B2 (en) | Multi-factor authentication using a unique identification header (UIDH) | |
US9413754B2 (en) | Authenticator device facilitating file security | |
US10356088B1 (en) | User authentication based on multiple asymmetric cryptography key pairs | |
CN112866228B (zh) | 一种控制web系统越权访问的方法和装置 | |
US10911538B2 (en) | Management of and persistent storage for nodes in a secure cluster | |
US20170118196A1 (en) | Enforcing server authentication based on a hardware token | |
CN112134708A (zh) | 一种授权方法、请求授权的方法及装置 | |
CN109862560B (zh) | 一种蓝牙认证方法、装置、设备和介质 | |
US20220368526A1 (en) | System and method for securely transferring data using generated encryption keys | |
CN111339536B (zh) | 一种基于安全执行环境的数据验证方法及装置 | |
CN111901287B (zh) | 一种为轻应用提供加密信息的方法、装置和智能设备 | |
CN112004201A (zh) | 一种短信的发送方法、装置及计算机系统 | |
CN109286604B (zh) | 实现容器服务的方法、装置以及电子设备 | |
CN111182010B (zh) | 一种本地服务提供方法及装置 | |
CN115296807B (zh) | 用于预防工控网络病毒的密钥生成方法、装置、设备 | |
CN117040746B (zh) | 一种cdn客户端加密防盗链实现方法及电子设备 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
US20150333909A1 (en) | Information processing system and information processing method | |
CN115277225A (zh) | 一种数据加密方法、解密方法及相关设备 | |
CN112565156B (zh) | 信息注册方法、装置和系统 | |
CN110012319B (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 |