安全传输机制

内容劫持是指运营商、链接提供商或黑客在路由器上通过连接旁路设备来检测经过的 HTTP 请求,他们采用特定的劫持策略识别出目标 HTTP 请求,在源站反馈数据之前向客户端发送 302 响应,从而迫使客户端跳转到其他服务器请求内容(即 URL 请求被劫持)。

不法分子可能用篡改后的内容替代原始客户端用户的请求内容,达到如非法获利、传播恶意信息或以不正当手段进行竞争等目的。

内容劫持或内容篡改会导致最终用户访问出错或下载错误的文件。

通过 Azure 内容分发网络加速的端到端访问,用于用户内容分发网络节点访问:内容分发网络网络文件传输 > 内容分发网络节点回源。 内容分发网络确保内容分发网络内的文件安全传输。 为预防和处理内容劫持和篡改,内容分发网络还使用证书加密、智能路由和 URI 加密来实现用户访问内容分发网络节点和返回源内容分发网络节点之间的传输。 源站本身的安全取决于客户端采取相应的措施。

内容分发网络内的安全文件传输

内容分发网络加速可确保内容分发网络内的文件安全传输以及内容分发网络节点的文件安全存储。

内容分发网络内的安全文件传输

内容分发网络获得的内容通过内容分发网络运营商的专有传输协议在内容分发网络内进行传输,该协议会对数据包进行加密传输。

内容分发网络节点文件存储安全

  1. 内容分发网络节点文件缓存采用经内容分发网络合作伙伴优化的特殊哈希算法将文件映射到不规则目录下。 如果没有内容分发网络合作伙伴的 HASH 算法,则无法找到文件的存储路径。 此方法可确保文档安全及隐蔽性,从而防止非法用户检索存储的内容或篡改缓存的内容。

  2. 内容分发网络合作伙伴对节点上存储的文件内容进行加密存储,因此即使找到文件存储路径,存储的文件仍然是加密的。 在不知道文件加密算法的情况下,即使获取文件内容,也将变成不可识别的内容。 此举可以杜绝不法分子通过篡改内容来实现其非法目的。

安全传输 本部分讨论访问内容分发网络节点的最终用户与返回源内容分发网络节点之间的安全传输。

HTTPS 加速

请求加密方案即 HTTPS 加速方案。 请求加密方案即 HTTPS 加速方案。 HTTPS 是使用 SSL 和 HTTP 协议构建的网络协议,可执行加速传输和身份验证。 服务器和客户端之间建立加密通信通道,确保数据的在线传输过程不会被拦截或黑客攻击。 这也避免被劫持的可能性。

HTTPS 加速访问模式

内容分发网络合作伙伴为客户端申请 SSL 证书并将其部署到内容分发网络节点。 最终用户发起 HTTPS 连接请求,SSL 握手成功后将请求数据返回给用户。

防止劫持的智能路由选项

规模较小的运营商一般会利用一定拦截概率进行内容劫持,并且通常会用特定链接进行劫持。 如果客户端有多个源,这种方式相当于有多个返回源路径。 此外,多条链接同时发生运营商劫持的概率远低于单条链接发生劫持。 基于这一特性,当返回源内容分发网络被劫持时,通过判断 302 跳转的位置地址的合法性,为下一次尝试的返回源路径选择相应的返回源路径。 智能判断返回源路径,可大大降低内容劫持的风险。

智能防劫持路由选择的访问模式 客户端发起内容分发网络节点访问请求 > 内容分发网络节点未缓存 > 内容分发网络节点回源请求 A > 发生返回源 302 跳转 > 判断 302 跳转合法性并确定为劫持 > 返回源请求自动尝试下一个源 B > 源 B 正常响应。

URI 加密

内容分发网络 URI 加密防劫持功能的工作原理是对 URI 进行一定形式的加密,使得特定文件对应的 URI 不断变化。 这种方式可以防止运营商进行劫持,从而有效降低了劫持活动的发生。

在需要源站配合或存在 [缺少源字符] 端环境的情况下,源站或应用客户端使用与内容分发网络合作伙伴约定的加密密钥对请求 URI 进行加密。

加密原理

  1. 客户端加密:

    原始 URL:Http://[:]/URI?a=1&b=2

    对 URL 进行 DES 加密:DES(当前时间 + 加密密钥 + 路径,加密密钥)= DES 加密字符串

    加密后的 URL:http://[:]/?a=1&b=2

  2. 内容分发网络反向解密

    内容分发网络通过约定的加密密钥对源站 URI 进行反向解密,拼接生成原始 URL,然后按照原始 URL 继续进行后续处理。

解释

  1. 加密密钥的值需要内容分发网络合作伙伴和客户的共同协商。
  2. 由于加密因素之一采用了请求发起的时间,因此同一文件在不同时间会发送不同请求 URL,以此实现自定义 URL。
  3. 如果客户的文件采用 APK 格式,由于移动设备操作系统可能会在下载 APK 之前验证文件的扩展名,因此必须将上一个文件的扩展名(例如 APK)以及其他 query_string 值(如有必要)添加到最终的加密 URL(即,在 DES 加密字符串后)。

处理异常

在请求 URL 形式不符合加密格式、解密失败、或解密后得到的密钥与解密时使用的密钥不同等异常情况中,内容分发网络会默认此情况为非法请求并返回 403 禁止访问错误。

访问模式

源站根据约定的加密算法和密钥对请求的 URI 进行加密,用户发起的请求到达 CDN 节点,CDN 节点进行加密,然后将响应发送给客户端。