CN105141636A - 适用于cdn增值业务平台的http安全通信方法及系统 - Google Patents

适用于cdn增值业务平台的http安全通信方法及系统 Download PDF

Info

Publication number
CN105141636A
CN105141636A CN201510617217.1A CN201510617217A CN105141636A CN 105141636 A CN105141636 A CN 105141636A CN 201510617217 A CN201510617217 A CN 201510617217A CN 105141636 A CN105141636 A CN 105141636A
Authority
CN
China
Prior art keywords
token
value
cdn
encryption key
service platform
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
CN201510617217.1A
Other languages
English (en)
Other versions
CN105141636B (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201510617217.1A priority Critical patent/CN105141636B/zh
Publication of CN105141636A publication Critical patent/CN105141636A/zh
Application granted granted Critical
Publication of CN105141636B publication Critical patent/CN105141636B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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]

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种适用于CDN增值业务平台的HTTP安全通信方法及系统,客户端需从增值业务平台调度控制中心获取可用的身份令牌,并在向CDN节点发起HTTP请求时附带身份令牌信息,CDN节点识别身份令牌信息,拒绝令牌无效的请求,放行令牌有效的请求至源站。本发明的适用于CDN增值业务平台的HTTP安全通信方法及系统利用CDN增值业务平台的业务架构特性,在HTTP数据包中增加少量额外的安全数据,进行安全校验,在部署代价和额外资源消耗低于HTTPS的前提下,达成了安全传输的目的。

Description

适用于CDN增值业务平台的HTTP安全通信方法及系统
技术领域
本发明涉及HTTP安全通信的技术领域,特别是涉及一种适用于CDN增值业务平台的HTTP安全通信方法及系统。
背景技术
超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。HTTP协议是基于明文文本、无状态的协议,存在严重的安全隐患。
CDN的全称是ContentDeliveryNetwork,即内容分发网络,其通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,并将用户请求导向最近的服务节点,从而缓解网络拥塞,提高用户访问速度。
CDN增值业务平台是指在CDN基础服务平台之上开发出的各种具备高附加值服务提供能力的业务平台。例如定向流量经营平台、移动应用流量加速和监控平台、流媒体内容分发平台等等。这些CDN增值业务平台的共同特点是,在传统的CDN基础架构上增加了“调度和控制中心”这一角色,用于统一处理增值服务的主要业务逻辑和各边缘节点的流量调度控制等功能。
现有技术中,常见的CDN、WEB等HTTP系统使用的安全通信机制主要有以下几种:
(1)HTTPS
通过加入一个SSL/TLS层来对HTTP内容数据进行完整的加密。该方式具有很高等级的安全性,是当前最主流的安全通信方法。然而HTTPS具有部署代价较高、需要高价购买证书、服务器资源开销大等等负面影响,在成本控制严格的小型网站难以普及,也不适用于以HTTP协议流量为主的CDN增值业务。
(2)身份认证
通过HTTPCOOKIE或SESSION机制携带身份认证信息。该方法通常与HTTPS配合使用,身份认证过程中使用HTTPS,主要内容传输则使用HTTP携带会话令牌。其中会话令牌存放在COOKIE或SESSION中。该方法存在明显安全问题,即无法防止中间人攻击。攻击者通过链路嗅探、流量劫持等方式获取会话令牌,之后可以冒用用户身份进行访问,也可以任意进行重放攻击。
(3)客户端时间戳校验和加密
该方法通过客户端服务端的时间同步,在HTTP信息中携带时间戳,并以时间戳作为加密因子对会话令牌进行加密,以防御重放攻击。然而该方法无法防御客户端逆向破解。攻击者通过反编译、反汇编等手段逆向分析客户端逻辑,掌握了同步和加密方法,安全防御能力就彻底失效。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种适用于CDN增值业务平台的HTTP安全通信方法及系统,利用CDN增值业务平台的业务架构特性,在HTTP数据包中增加少量额外的安全数据,进行安全校验,在部署代价和额外资源消耗低于HTTPS的前提下,达成了安全传输的目的。
为实现上述目的及其他相关目的,本发明提供一种适用于CDN增值业务平台的HTTP安全通信方法,包括以下步骤:步骤S1、客户端启动时,向增值业务平台调度控制中心发送鉴权请求及身份信息;步骤S2、增值业务平台调度控制中心验证所述身份信息,若所述身份信息无效,则拒绝所述鉴权请求,流程结束;若所述身份信息有效,转入步骤S3;步骤S3、增值业务平台调度控制中心根据所述身份信息生成身份令牌,并为客户端选定CDN节点,将所述身份令牌以明文方式下发至所述CDN节点;步骤S4、增值业务平台调度控制中心获取自身的鉴权时间戳,根据前半密钥生成规则由所述鉴权时间戳生成前半令牌加密密钥,再根据加密算法选择规则对所述鉴权时间戳进行计算,根据计算结果选择令牌加密算法;步骤S5、增值业务平台调度控制中心响应客户端的鉴权请求,并返回身份令牌明文、鉴权时间戳、前半令牌加密密钥、令牌加密算法和CDN节点IP地址至客户端;步骤S6、客户端接收到鉴权请求的响应后,记录当前设备的鉴权开机时间戳;步骤S7、当客户端发送一个HTTP请求时,记录当前设备的请求开机时间戳,并根据鉴权时间戳、鉴权开机时间戳和请求开机时间戳生成后半令牌加密密钥;步骤S8、客户端将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥;步骤S9、客户端根据令牌加密密钥和令牌加密算法,对身份令牌明文加密,生成身份令牌密文;步骤S10、客户端在HTTP请求头部附加身份令牌密文、鉴权时间戳、请求开机时间戳、鉴权开机时间戳后,发送至所选定的CDN节点;步骤S11、CDN节点接收到客户端发送的HTTP请求后,根据前半密钥生成规则和加密算法选择规则,对鉴权时间戳进行计算,得出前半令牌加密密钥和令牌加密算法;步骤S12、CDN节点根据HTTP请求头部中的鉴权时间戳、请求开机时间戳和鉴权开机时间戳计算后半令牌加密密钥;步骤S13、CDN节点将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥,并通过令牌加密密钥和令牌加密算法,对身份令牌密文解密,得到身份令牌明文;若解密成功且身份令牌有效时,进入步骤S14,否则,所述HTTP请求不合法,拒绝所述HTTP请求,流程结束;步骤S14、CDN节点对后半令牌加密密钥做有效性检查,若有效,转入步骤S15;若无效,CDN节点拒绝所述HTTP请求,流程结束;步骤S15、CDN节点将所述HTTP请求转发回源站,并接收源站发送来的HTTP响应;步骤S16、使用CDN系统证书私钥对后半令牌加密密钥进行加密生成后半令牌加密密钥密文,并将后半令牌加密密钥密文附带在HTTP响应头部,客户端接收到响应时,使用CDN系统证书公钥对后半令牌加密密钥密文进行解密,验证CDN节点返回的后半令牌加密密钥与客户端自身的后半令牌加密密钥是否一致,若无法解密或者数值不一致则说明响应为伪造,停止后续请求并做提示;若正常解密且数值一致,则所述HTTP请求正常结束。
根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述步骤S1之前还包括:增值业务平台调度控制中心和CDN节点定期做时间同步,使增值业务平台调度控制中心和CDN节点间的时间差异小于一定阈值。
进一步地,根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述一定阈值为100毫秒。
根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述步骤S4中,使用不可逆的算法将所述身份信息生成所述身份令牌。
根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述步骤S5中,所述前半密钥生成规则和所述加密算法选择规则均在增值业务平台调度控制中心中动态生成和选择。
根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述步骤S7中,客户端将请求开机时间戳与鉴权开机时间戳相减,得到请求鉴权时间差;再将鉴权时间戳与请求鉴权时间差值相加,得到后半令牌加密密钥。
进一步地,根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:以鉴权时间戳与请求鉴权时间差值相加后的值的十进制整数字符串字面值作为后半令牌加密密钥。
根据上述的适用于CDN增值业务平台的HTTP安全通信方法,其中:所述步骤S14中,将后半令牌加密密钥记为Tkey,身份令牌对应客户端之前所发出的所有HTTP请求中后半令牌加密密钥的最大值记为Tkey_max;发出的上一个HTTP请求的后半令牌加密密钥记为Tkey-prev,CDN节点当前时间戳记为Tnode
对后半令牌加密密钥做有效性检查时,后半令牌加密密钥必须符合以下规则:
1)Tkey-max–HTTP请求超时时间<Tkey
2)Tkey-prev≠Tkey
3)Tnode-最大时间偏差<Tkey<Tnode
根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S16中,CDN系统证书公钥预先存放在客户端中。
同时,本发明还提供一种适用于CDN增值业务平台的HTTP安全通信系统,包括客户端、CDN节点、源站和增值业务平台调度控制中心;
所述客户端和源站间通过所述CDN节点和所述增值业务平台调度控制中心,实现权利要求1-9之一所述的适用于CDN增值业务平台的HTTP安全通信方法。
如上所述,本发明的适用于CDN增值业务平台的HTTP安全通信方法及系统,具有以下有益效果:
(1)利用CDN增值业务平台的业务架构特性,在HTTP数据包中增加少量额外的安全数据,进行安全校验,在部署代价和额外资源消耗低于HTTPS的前提下,达成了安全传输的目的;
(2)对于以HTTP流量为主的CDN增值业务平台,具有普遍的适应性;
(3)除了具备基本的用户身份验证能力以外,还可以有效防御重放攻击、中间人攻击和客户端逆向和破解。
附图说明
图1显示为本发明的适用于CDN增值业务平台的HTTP安全通信系统的结构示意图;
图2显示为本发明的适用于CDN增值业务平台的HTTP安全通信方法中鉴权过程的流程图;
图3显示为本发明的适用于CDN增值业务平台的HTTP安全通信方法中处理HTTP请求的流程图。
元件标号说明
1增值业务平台调度控制中心
2客户端
3CDN节点
4源站
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参照图1,本发明的适用于CDN增值业务平台的HTTP安全通信系统包括客户端2、CDN节点3、源站4和增值业务平台调度控制中心1。
其中,每一个可用的客户端2均需从增值业务平台调度控制中心1获取可用的身份令牌,例如通过账号密码登录或短信验证手机号的方式获取可用的身份令牌。客户端2在向CDN节点3发起HTTP请求时附带身份令牌信息,CDN节点识别该身份令牌信息,拒绝令牌无效的请求,放行令牌有效的请求至源站4。
参照图2和图3,本发明的适用于CDN增值业务平台的HTTP安全通信方法包括以下步骤:
步骤S1、客户端启动时,向增值业务平台调度控制中心发送鉴权请求及身份信息。
其中,客户端启使用HTTPS协议向增值业务平台调度控制中心发起鉴权请求。使用HTTPS协议的目的是防止身份信息和令牌明文被监听或盗取。
具体地,根据实际业务不同,针对不同客户端所需的身份信息也不相同。身份信息可包括账户名、密码、手机识别码(IMEI)、手机号、应用包名称、系统版本、网卡MAC地址等信息中一种或多种的组合。
优选地,在步骤S1之前,还包括:增值业务平台调度控制中心和CDN节点定期做NTP(NetworkTimeProtocol,网络时间协议)时间同步,使增值业务平台调度控制中心和CDN节点间的时间差异小于一定阈值。
优选地,一定阈值为100毫秒。
步骤S2、增值业务平台调度控制中心验证该身份信息,若身份信息无效,则拒绝该鉴权请求,流程结束;若身份信息有效,转入步骤S3。
具体地,若身份信息无效,则拒绝该鉴权请求,同时客户端关闭,流程结束。
步骤S3、增值业务平台调度控制中心根据身份信息生成身份令牌,并为该客户端选定CDN节点,将该身份令牌以明文方式下发至该CDN节点。
其中,身份令牌、身份信息与客户端设备为一一对应的。具体地,使用任意一种不可逆的算法将身份信息生成身份令牌。其中,所使用的算法本身并不重要。例如:当身份信息为账户名和密码时,可以对账户名做MD5计算,得到的值就作为身份令牌。之所以采用不可逆算法,是为了无法从身份令牌反向得出身份信息,从而防止身份信息泄露。
选定一个CDN节点后,该客户端以后的HTTP请求均发送至该CDN节点。
步骤S4、增值业务平台调度控制中心获取自身的鉴权时间戳,根据前半密钥生成规则由鉴权时间戳生成前半令牌加密密钥,再根据加密算法选择规则对鉴权时间戳进行计算,根据计算结果选择令牌加密算法。
具体地,增值业务平台调度控制中心获取自身的当前时间戳,称为鉴权时间戳Tauth;并根据前半密钥生成规则对鉴权时间戳Tauth进行计算生成前半令牌加密密钥;再根据加密算法选择规则对鉴权时间戳进行计算,根据计算结果选择一种令牌加密算法。其中,令牌加密算法可以为AES或DES。需要说明的是,前半密钥生成规则和加密算法选择规则均在增值业务平台调度控制中心中动态生成和选择,且每个客户端的加密密钥都不相同,从而避免了客户端逆向破解造成的安全算法泄露。
步骤S5、增值业务平台调度控制中心响应客户端的鉴权请求,并返回身份令牌明文、鉴权时间戳、前半令牌加密密钥、令牌加密算法和CDN节点IP地址至客户端。
步骤S6、客户端接收到鉴权请求的响应后,记录当前设备的鉴权开机时间戳。
其中,客户端接收到鉴权请求的响应后,则鉴权阶段结束,进入常规内容访问阶段。客户端记录当前设备的开机时间戳,记为Tbase。需要说明的是,开机时间戳并非是指开机的时刻,而是指从设备开机时刻到当前时刻的时间间隔。
步骤S7、当客户端发送一个HTTP请求时,记录当前设备的请求开机时间戳,并根据鉴权时间戳、鉴权开机时间戳和请求开机时间戳生成后半令牌加密密钥。
具体地,当客户端发送一个HTTP请求时,获取当前设备的开机时间戳Tnow,与Tbase相减,便可得到请求-鉴权时间差Tdiff,即Tdiff=Tnow-Tbase。其中,Tnow和Tbase在不同的时刻获取,Tbase在鉴权的时刻获取,Tnow在发出客户端请求的时刻获取,两个时刻距离开机的时刻所经过的时间间隔不同。
鉴权时间戳与请求-鉴权时间差值相加,得到后半令牌加密密钥Tkey,即Tdiff+Tauth=Tkey。具体地,以Tkey的十进制整数字符串字面值作为后半令牌加密密钥。
步骤S8、客户端将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥。
步骤S9、客户端根据令牌加密密钥和令牌加密算法,对身份令牌明文加密,生成身份令牌密文。
其中,对身份令牌明文进行加密是为了避免中间人攻击盗用身份令牌。
步骤S10、客户端在HTTP请求头部附加身份令牌密文、鉴权时间戳、请求开机时间戳和鉴权开机时间戳后,发送至所选定的CDN节点。
步骤S11、CDN节点接收到客户端发送的HTTP请求后,根据前半密钥生成规则和加密算法选择规则,对鉴权时间戳进行计算,得出前半令牌加密密钥和令牌加密算法。
步骤S12、CDN节点根据HTTP请求头部中的鉴权时间戳、请求开机时间戳和鉴权开机时间戳计算后半令牌加密密钥。
其中,Tkey=Tdiff+Tauth。Tkey作为后半令牌加密密钥。
步骤S13、CDN节点将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥,并通过令牌加密密钥和令牌加密算法,对身份令牌密文解密,得到身份令牌明文;若解密成功且身份令牌有效时,进入步骤S14,否则,该HTTP请求不合法,拒绝该HTTP请求。
步骤S14、CDN节点对后半令牌加密密钥做有效性检查,若有效,转入步骤S15;若无效,CDN节点拒绝该HTTP请求,流程结束。
将该身份令牌对应客户端之前所发出的所有HTTP请求中后半令牌加密密钥Tkey的最大值记为Tkey_max;发出的上一个HTTP请求的后半令牌加密密钥Tkey记为Tkey-prev,CDN节点当前时间戳记为Tnode。对后半令牌加密密钥Tkey做有效性检查时,Tkey必须符合以下规则:
(1)Tkey-max–30秒<Tkey
(2)Tkey-prev≠Tkey
(3)Tnode-3分钟<Tkey<Tnode
其中,30秒为常见的HTTP请求超时时间;3分钟为可允许的最大时间偏差。
在该步骤中,通过对时间戳做严格校验以防御重放攻击。
步骤S15、CDN节点将HTTP请求转发回源站,并接收源站发送来的HTTP响应。
步骤S16、使用CDN系统证书私钥对后半令牌加密密钥Tkey进行加密生成后半令牌加密密钥密文,并将后半令牌加密密钥密文附带在HTTP响应头部,客户端接收到响应时,使用CDN系统证书公钥对后半令牌加密密钥密文进行解密,验证CDN节点返回的后半令牌加密密钥与客户端自身的后半令牌加密密钥是否一致,若无法解密或者数值不一致则说明响应为伪造,停止后续请求并做相应提示;若正常解密且数值一致,则该HTTP请求正常结束。
其中,CDN系统证书公钥在应用的编译打包阶段就预先存放在客户端中。此步骤通过对响应增加动态识别标记,以防止响应被中间人攻击伪造。
下面通过具体实施例来说明本发明的适用于CDN增值业务平台的HTTP安全通信方法。设定增值业务平台调度控制中心域名为www.cdnvas.com,鉴权URL为www.cdnvas.com/login,客户端登录账户名为testusr,密码为testpwd,源站域名为www.orgsrc.com,首页URL为www.orgsrc.com/index.html
实施例一:正常的HTTP请求
1)客户端使用HTTPS发起登录请求,请求内容如下:
POST/loginHTTP/1.1
User-Agent:Test-Client
Content-Length:34
Host:www.cdnvas.com
{
username=testusr;
password=testpwd;
}
2)增值业务平台调度控制中心检查账户名和密码,确认有效。使用MD5算法对“用户名_密码”进行计算,得到该用户的身份令牌。MD5(testusr_testpwd)=58d04acca5d09641967d3f28756da156。
3)增值业务平台调度控制中心为客户端选择一个CDN节点,IP地址为123.1.13.76,并将该身份令牌下发至此CDN节点。CDN节点将此身份令牌存入本地数据库。
4)增值业务平台调度控制中心获取当前时间戳,Tauth=1433903295。前半密钥生成规则为对MD5(Tauth)的字符串字面值取前8个字节。MD5(Tauth)=f8ba12fe78420cfc68f15fbbb33214e3,则前半令牌加密密钥为f8ba12fe。
可选的加密算法共有6种,对Tauth除以6取余数为3,选中6种中的第三种为AES加密算法。
5)增值业务平台调度控制中心对鉴权请求返回响应,内容如下:
6)客户端接收到鉴权请求的响应,鉴权结束。客户端记录当前设备的开机时间戳Tbase=42114015,表示从设备开机到现在已经经过了42114015毫秒。
7)某一时刻,客户端准备发起一个对源站首页的HTTP请求。客户端获取当前开机时间Tnow=42192133,Tdiff=Tnow-Tbase=78118。
8)后半令牌加密密钥Tkey=Tauth+Tdiff=1433981413,则完整的加密密钥为f8ba12fe1433981413,使用此密钥和AES对称加密算法对身份令牌明文加密,得到身份令牌密文62fb23de139fb700671b1204e58f5111d6b79a9d。
9)客户端对IP地址为123.1.13.76的CDN节点发起对源站首页的HTTP请求,内容如下:
GET/index.htmlHTTP/1.1
User-Agent:Test-Client
Host:www.orgsrc.com
Token-Cipher:62fb23de139fb700671b1204e58f5111d6b79a9d
Auth-Timestamp:1433903295
Diff-Timestamp:78118
10)CDN节点接收该HTTP请求,从头部中取出相应的安全数据。Token-Cipher字段值为身份令牌密文,Auth-Timestamp字段值为Tauth,Diff-Timestamp字段值为Tdiff,可求得Tkey=Tauth+Tdiff=1433981413。
11)CDN节点根据前半令牌密钥生成规则对Tauth进行计算,得到前半令牌加密密钥f8ba12fe,再根据加密算法选择规则对Tauth取余,选中AES对称加密算法。前半令牌加密密钥和后半令牌加密密钥组合得到完整加密密钥,使用密钥和AES算法对身份令牌密文解密,得到身份令牌明文58d04acca5d09641967d3f28756da156。
12)由于该身份令牌明文已经下发至CDN节点,因此身份令牌验证有效。从CDN节点保存身份令牌的数据库中获取该身份令牌对应客户端的最近访问数据,得到Tkey-max=1433980165,Tkey-prev=1433979322。CDN节点获取当前时间戳,值为Tnode=1433985576。
13)对Tkey进行校验,符合所有校验规则。
由于Tkey>Tkey-max,更新Tkey到数据库作为最新的Tkey-max
14)将请求转发回源站,接收源站响应。
15)CDN节点使用CDN证书私钥对在Tkey进行加密,响应中添加以下头部,值为Tkey密文,并转发回客户端:
Crypto-Timestamp:9adf423a0de87be01d109050fbdd
16)客户端将Crypto-Timestamp字段值用CDN证书公钥解密后,与自身的Tkey相比,值相等,该请求未被劫持,HTTP响应正常结束。
实施例二:重放攻击
1)攻击者通过嗅探方式截获本系统客户端发出的正常HTTP请求。
2)攻击者一段时间后在其他客户端设备使用重放攻击,发出大量与被截获请求的数据完全相同的重放请求。
3)重放请求达到节点时,节点校验时间戳。
4)请求时间戳不符合时间校验规则,请求被拒绝。
实施例三:客户端逆向破解,盗用身份令牌
1)攻击者通过反编译手段对客户端进行逆向,完全了解了客户端加解密流程。
2)攻击者通过嗅探方式截获了鉴权请求,由于鉴权请求使用了HTTPS,攻击者无法获取密钥和所使用的加密算法。
3)攻击者通过嗅探方式截获了HTTP请求,获取了时间戳和身份令牌密文。
4)由于密钥是根据特定规则对时间戳进行计算生成的,且算法只存在于控制中心和节点,攻击者无法知道具体规则,因此攻击者从截获的请求中无法获取密钥信息。
5)攻击者无法解密身份令牌密文,盗用身份令牌失败。
实施例四:中间人攻击,伪造响应
1)攻击者通过修改公开WIFI的DNS设置对客户端做流量劫持。将流量引导到伪造的节点。
2)伪造节点对客户端发出的请求发出伪造响应,由于攻击者并不持有CDN系统证书私钥,因此响应中没有携带Tkey密文,或是Tkey密文由其他私钥进行加密。
3)客户端检查发现响应未携带Tkey密文,或是使用CDN平台证书公钥对Tkey密文解密失败。
4)客户端断开连接,并将异常情况提示用户。
综上所述,本发明的适用于CDN增值业务平台的HTTP安全通信方法及系统利用CDN增值业务平台的业务架构特性,在HTTP数据包中增加少量额外的安全数据,进行安全校验,在部署代价和额外资源消耗低于HTTPS的前提下,达成了安全传输的目的;对于以HTTP流量为主的CDN增值业务平台,具有普遍的适应性;除了具备基本的用户身份验证能力以外,还可以有效防御重放攻击、中间人攻击和客户端逆向和破解。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:包括以下步骤:
步骤S1、客户端启动时,向增值业务平台调度控制中心发送鉴权请求及身份信息;
步骤S2、增值业务平台调度控制中心验证所述身份信息,若所述身份信息无效,则拒绝所述鉴权请求,流程结束;若所述身份信息有效,转入步骤S3;
步骤S3、增值业务平台调度控制中心根据所述身份信息生成身份令牌,并为客户端选定CDN节点,将所述身份令牌以明文方式下发至所述CDN节点;
步骤S4、增值业务平台调度控制中心获取自身的鉴权时间戳,根据前半密钥生成规则由所述鉴权时间戳生成前半令牌加密密钥,再根据加密算法选择规则对所述鉴权时间戳进行计算,根据计算结果选择令牌加密算法;
步骤S5、增值业务平台调度控制中心响应客户端的鉴权请求,并返回身份令牌明文、鉴权时间戳、前半令牌加密密钥、令牌加密算法和CDN节点IP地址至客户端;
步骤S6、客户端接收到鉴权请求的响应后,记录当前设备的鉴权开机时间戳;
步骤S7、当客户端发送一个HTTP请求时,记录当前设备的请求开机时间戳,并根据鉴权时间戳、鉴权开机时间戳和请求开机时间戳生成后半令牌加密密钥;
步骤S8、客户端将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥;
步骤S9、客户端根据令牌加密密钥和令牌加密算法,对身份令牌明文加密,生成身份令牌密文;
步骤S10、客户端在HTTP请求头部附加身份令牌密文、鉴权时间戳、请求开机时间戳、鉴权开机时间戳后,发送至所选定的CDN节点;
步骤S11、CDN节点接收到客户端发送的HTTP请求后,根据前半密钥生成规则和加密算法选择规则,对鉴权时间戳进行计算,得出前半令牌加密密钥和令牌加密算法;
步骤S12、CDN节点根据HTTP请求头部中的鉴权时间戳、请求开机时间戳和鉴权开机时间戳计算后半令牌加密密钥;
步骤S13、CDN节点将前半令牌加密密钥和后半令牌加密密钥相组合,生成令牌加密密钥,并通过令牌加密密钥和令牌加密算法,对身份令牌密文解密,得到身份令牌明文;若解密成功且身份令牌有效时,进入步骤S14,否则,所述HTTP请求不合法,拒绝所述HTTP请求,流程结束;
步骤S14、CDN节点对后半令牌加密密钥做有效性检查,若有效,转入步骤S15;若无效,CDN节点拒绝所述HTTP请求,流程结束;
步骤S15、CDN节点将所述HTTP请求转发回源站,并接收源站发送来的HTTP响应;
步骤S16、使用CDN系统证书私钥对后半令牌加密密钥进行加密生成后半令牌加密密钥密文,并将后半令牌加密密钥密文附带在HTTP响应头部,客户端接收到响应时,使用CDN系统证书公钥对后半令牌加密密钥密文进行解密,验证CDN节点返回的后半令牌加密密钥与客户端自身的后半令牌加密密钥是否一致,若无法解密或者数值不一致则说明响应为伪造,停止后续请求并做提示;若正常解密且数值一致,则所述HTTP请求正常结束。
2.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S1之前还包括:增值业务平台调度控制中心和CDN节点定期做时间同步,使增值业务平台调度控制中心和CDN节点间的时间差异小于一定阈值。
3.根据权利要求2所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述一定阈值为100毫秒。
4.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S4中,使用不可逆的算法将所述身份信息生成所述身份令牌。
5.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S5中,所述前半密钥生成规则和所述加密算法选择规则均在增值业务平台调度控制中心中动态生成和选择。
6.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S7中,客户端将请求开机时间戳与鉴权开机时间戳相减,得到请求鉴权时间差;再将鉴权时间戳与请求鉴权时间差值相加,得到后半令牌加密密钥。
7.根据权利要求6所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:以鉴权时间戳与请求鉴权时间差值相加后的值的十进制整数字符串字面值作为后半令牌加密密钥。
8.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S14中,将后半令牌加密密钥记为Tkey,身份令牌对应客户端之前所发出的所有HTTP请求中后半令牌加密密钥的最大值记为Tkey_max;发出的上一个HTTP请求的后半令牌加密密钥记为Tkey-prev,CDN节点当前时间戳记为Tnode
对后半令牌加密密钥做有效性检查时,后半令牌加密密钥必须符合以下规则:
1)Tkey-max–HTTP请求超时时间<Tkey
2)Tkey-prev≠Tkey
3)Tnode-最大时间偏差<Tkey<Tnode
9.根据权利要求1所述的适用于CDN增值业务平台的HTTP安全通信方法,其特征在于:所述步骤S16中,CDN系统证书公钥预先存放在客户端中。
10.一种适用于CDN增值业务平台的HTTP安全通信系统,其特征在于:包括客户端、CDN节点、源站和增值业务平台调度控制中心;
所述客户端和源站间通过所述CDN节点和所述增值业务平台调度控制中心,实现权利要求1-9之一所述的适用于CDN增值业务平台的HTTP安全通信方法。
CN201510617217.1A 2015-09-24 2015-09-24 适用于cdn增值业务平台的http安全通信方法及系统 Expired - Fee Related CN105141636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510617217.1A CN105141636B (zh) 2015-09-24 2015-09-24 适用于cdn增值业务平台的http安全通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510617217.1A CN105141636B (zh) 2015-09-24 2015-09-24 适用于cdn增值业务平台的http安全通信方法及系统

Publications (2)

Publication Number Publication Date
CN105141636A true CN105141636A (zh) 2015-12-09
CN105141636B CN105141636B (zh) 2018-04-17

Family

ID=54726843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510617217.1A Expired - Fee Related CN105141636B (zh) 2015-09-24 2015-09-24 适用于cdn增值业务平台的http安全通信方法及系统

Country Status (1)

Country Link
CN (1) CN105141636B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106210057A (zh) * 2016-07-13 2016-12-07 成都知道创宇信息技术有限公司 一种基于cdn的云安全防护方法
CN106936782A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 加密方法和加密装置
CN106936574A (zh) * 2017-05-10 2017-07-07 北京奇艺世纪科技有限公司 一种鉴权系统和方法
CN107135085A (zh) * 2017-05-03 2017-09-05 网宿科技股份有限公司 定向流量的统计控制方法、系统
CN107295060A (zh) * 2016-04-11 2017-10-24 第三雷沃通讯有限责任公司 内容传送网络(cdn)中的无效
CN107517194A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 一种内容分发网络的回源认证方法和装置
CN107707514A (zh) * 2017-02-08 2018-02-16 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN108900584A (zh) * 2018-06-15 2018-11-27 网宿科技股份有限公司 内容分发网络的数据传输方法和系统
CN109450990A (zh) * 2018-10-19 2019-03-08 深圳点猫科技有限公司 一种基于教育系统的云存储实现方法及电子设备
CN110324290A (zh) * 2018-03-30 2019-10-11 贵州白山云科技股份有限公司 网络设备认证的方法、网元设备、介质及计算机设备
CN111404761A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 内容成环检测处理方法、装置和计算机可读存储介质
CN112311545A (zh) * 2020-11-05 2021-02-02 杭州电子科技大学 一种基于云mes系统用户登录信息多重加密的传输方法
CN114666841A (zh) * 2020-12-22 2022-06-24 中国联合网络通信集团有限公司 一种定向流量的免流方法及免流系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120184258A1 (en) * 2010-07-15 2012-07-19 Movik Networks Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103227801A (zh) * 2013-05-14 2013-07-31 网宿科技股份有限公司 基于内容分发网络的https证书部署方法及系统
CN103986735A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Cdn网络防盗系统及防盗方法
CN104158816A (zh) * 2014-08-25 2014-11-19 中国科学院声学研究所 认证方法、装置和服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120184258A1 (en) * 2010-07-15 2012-07-19 Movik Networks Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103227801A (zh) * 2013-05-14 2013-07-31 网宿科技股份有限公司 基于内容分发网络的https证书部署方法及系统
CN103986735A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Cdn网络防盗系统及防盗方法
CN104158816A (zh) * 2014-08-25 2014-11-19 中国科学院声学研究所 认证方法、装置和服务器

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936782A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 加密方法和加密装置
CN107295060A (zh) * 2016-04-11 2017-10-24 第三雷沃通讯有限责任公司 内容传送网络(cdn)中的无效
CN107295060B (zh) * 2016-04-11 2020-03-31 第三雷沃通讯有限责任公司 用于内容传送网络cdn的设备、方法以及计算机可读介质
CN107517194B (zh) * 2016-06-17 2020-09-01 阿里巴巴集团控股有限公司 一种内容分发网络的回源认证方法和装置
CN107517194A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 一种内容分发网络的回源认证方法和装置
CN106210057A (zh) * 2016-07-13 2016-12-07 成都知道创宇信息技术有限公司 一种基于cdn的云安全防护方法
CN107707514A (zh) * 2017-02-08 2018-02-16 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置
US11252133B2 (en) 2017-02-08 2022-02-15 Guizhou Baishancloud Technology Co., Ltd. Method, device, medium and apparatus for CDN inter-node encryption
CN107135085A (zh) * 2017-05-03 2017-09-05 网宿科技股份有限公司 定向流量的统计控制方法、系统
CN107135085B (zh) * 2017-05-03 2019-08-27 网宿科技股份有限公司 定向流量的统计控制方法、系统
CN106936574A (zh) * 2017-05-10 2017-07-07 北京奇艺世纪科技有限公司 一种鉴权系统和方法
CN111010404B (zh) * 2018-03-30 2022-07-29 贵州白山云科技股份有限公司 一种数据传输方法、设备及计算机可读存储介质
CN110324290A (zh) * 2018-03-30 2019-10-11 贵州白山云科技股份有限公司 网络设备认证的方法、网元设备、介质及计算机设备
CN111010404A (zh) * 2018-03-30 2020-04-14 贵州白山云科技股份有限公司 一种数据传输方法、设备及计算机可读存储介质
CN110324290B (zh) * 2018-03-30 2022-02-01 贵州白山云科技股份有限公司 网络设备认证的方法、网元设备、介质及计算机设备
CN108900584A (zh) * 2018-06-15 2018-11-27 网宿科技股份有限公司 内容分发网络的数据传输方法和系统
CN108471432B (zh) * 2018-07-11 2020-09-11 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN108471432A (zh) * 2018-07-11 2018-08-31 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
CN109450990A (zh) * 2018-10-19 2019-03-08 深圳点猫科技有限公司 一种基于教育系统的云存储实现方法及电子设备
CN111404761A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 内容成环检测处理方法、装置和计算机可读存储介质
CN112311545A (zh) * 2020-11-05 2021-02-02 杭州电子科技大学 一种基于云mes系统用户登录信息多重加密的传输方法
CN114666841A (zh) * 2020-12-22 2022-06-24 中国联合网络通信集团有限公司 一种定向流量的免流方法及免流系统

Also Published As

Publication number Publication date
CN105141636B (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN105141636A (zh) 适用于cdn增值业务平台的http安全通信方法及系统
CN106357396B (zh) 数字签名方法和系统以及量子密钥卡
US20180294977A1 (en) System for issuing public certificate on basis of block chain, and method for issuing public certificate on basis of block chain by using same
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN110995418B (zh) 云存储认证方法及系统、边缘计算服务器、用户路由器
CN107181599A (zh) 基于区块链的路由位置数据保密存储及共享方法
EP3633949B1 (en) Method and system for performing ssl handshake
CN105681470B (zh) 基于超文本传输协议的通信方法、服务器、终端
CN107332808A (zh) 一种云桌面认证的方法、服务器及终端
CN105871797A (zh) 客户端与服务器进行握手的方法、装置及系统
CN102624740A (zh) 一种数据交互方法及客户端、服务器
CN102685086A (zh) 一种文件访问方法和系统
CN103906052B (zh) 一种移动终端认证方法、业务访问方法及设备
CN101742508A (zh) 一种wapi终端与应用服务器传输文件的系统及方法
CN108040065A (zh) 网页跳转后的免登录方法、装置、计算机设备和存储介质
CN101605137A (zh) 安全分布式文件系统
RU2530691C1 (ru) Способ защищенного удаленного доступа к информационным ресурсам
CN107094156B (zh) 一种基于p2p模式的安全通信方法及系统
CN104486325A (zh) 一种基于RESTful的安全登陆认证方法
CN104901940A (zh) 一种基于cpk标识认证的802.1x网络接入方法
CN104579657A (zh) 身份认证方法及装置
CN106230840B (zh) 一种高安全性的口令认证方法
CN109120408A (zh) 用于认证用户身份的方法、装置和系统
KR101204980B1 (ko) 임의성을 강화시킨 일회용 패스워드 등록 및 인증 방법과 시스템
US10931662B1 (en) Methods for ephemeral authentication screening and devices thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180417