视频直播支持HTTPS安全加速、强制跳转,本文介绍安全加速的原理、优势、使用方法和注意事项。

背景

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。在安全性上,HTTP明文数据很容易在传输过程中的节点设备被截获,由于数据没有加密,很容易理解其含义。

功能简介

视频直播支持配置HTTPS安全加速以及强制跳转,使用强制跳转需要在已经完成HTTPS证书配置的前提下。

  • HTTPS:

    安全超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer,简称 HTTPS),是以安全为目标的HTTP通道。简单来说,HTTP协议以明文方式发送内容,而HTTPS是HTTP的安全版,将HTTP用SSL/TLS协议进行封装,HTTPS的安全基础是SSL/TLS。

    HTTPS提供了身份验证与加密通讯方法,被广泛用于万维网上安全敏感的通讯,根据2017年EFF(Electronic Frontier Foundation)发布的报告,目前全球已有超过一半的网页端流量采用了加密的HTTPS进行传输。

  • 强制跳转:

    将客户端至边缘节点的原请求方式强制重定向为HTTP或者HTTPS。

    如果您的加速域名开启了HTTPS安全加速,您可以自定义设置,将终端用户的原请求方式进行强制跳转。例如,您开启HTTP -> HTTPS后,终端用户发起了一个HTTP请求,服务端返回301重定向响应,原来的HTTP请求强制重定向为HTTPS请求,如下图所示。

功能原理

在阿里云视频直播控制台开启的HTTPS协议,将实现客户端和阿里云视频直播节点之间请求的HTTPS加密。视频直播节点返回从源站获取的资源给客户端时,按照源站的配置方式进行。建议源站配置并开启HTTPS,实现全链路的HTTPS加密。

HTTPS加密流程如下图所示。HTTPS原理
  1. 客户端发起HTTPS请求。
  2. 服务端生成公钥和私钥(可以自己制作,也可以向专业组织申请)。
  3. 服务端把相应的公钥证书传送给客户端。
  4. 客户端解析证书的正确性。
    • 如果证书正确,则会生成一个随机数(密钥),并用公钥随机数进行加密,传输给服务端。
    • 如果证书不正确,则SSL握手失败。
    说明 正确性包括:
    • 证书未过期;
    • 发行服务器证书的CA可靠;
    • 发行者证书的公钥能够正确解开服务器证书的发行者的数字签名;
    • 服务器证书上的域名和服务器的实际域名相匹配。
  5. 服务端用之前的私钥进行解密,得到随机数(密钥)。
  6. 服务端用密钥对传输的数据进行加密。
  7. 客户端用密钥对服务端的加密数据进行解密,拿到相应的数据。

功能优势

  • 传输安全:HTTPS安全传输,有效防止HTTP明文传输中的窃听、篡改、冒充和劫持风险。
  • 信息加密:数据传输过程中对您的关键信息进行加密,防止类似Session ID或者Cookie内容被攻击者捕获造成的敏感信息泄露等安全隐患。
  • 数据完整:数据传输过程中对数据进行完整性校验,防止DNS或内容遭第三方劫持、篡改等中间人攻击(MITM)隐患,详情请参见使用HTTPS防止流量劫持
  • HTTPS是主流趋势:未来主流浏览器会将HTTP协议标识为不安全,谷歌浏览器Chrome 70以上版本以及Firefox已经在2018年将HTTP网站标识为不安全,若坚持使用HTTP协议,除了安全会埋下隐患外,终端客户在访问网站时出现的不安全标识,也将影响访问。

    主流浏览器对HTTPS网站进行搜索加权,主流浏览器均支持HTTP/2,而支持HTTP/2必须支持HTTPS。无论从安全、市场或用户体验来看,普及HTTPS是未来的一个方向,所以强烈建议您将访问协议升级到HTTPS。

使用方法

视频直播支持通过控制台和API的方式配置HTTPS安全加速和强制跳转。

  • 控制台:
    功能 描述 参考文档
    HTTPS安全加速 配置HTTPS证书。

    您需要配置HTTPS证书,才能通过HTTPS方式访问资源,实现HTTPS安全加速。更多信息,请参见证书格式说明

    配置HTTPS安全加速
    强制跳转 配置强制跳转类型。

    配置强制跳转之前,请确保已成功配置HTTPS证书。

    强制跳转
  • API:
    接口 描述 参考文档
    SetLiveDomainCertificate 设置某域名下证书功能是否启用及修改证书信息。 设置域名证书
    DescribeLiveCertificateList 获取证书列表信息。 查询证书列表
    DescribeLiveCertificateDetail 获取证书详细信息。 查询证书信息
    BatchDeleteLiveDomainConfigs 批量删除域名配置。 批量删除直播域名配置

注意事项

配置 说明
停用启用HTTPS
  • 停用后,不支持HTTPS请求且将不再保留证书/私钥信息。
  • 启用后,再次开启证书,需要重新上传证书/私钥。
上传证书/私钥
  • 开启HTTPS安全加速功能的加速域名,须上传证书,包含证书/私钥,均为PEM格式。
    说明 直播服务采用的Tengine服务是基于Nginx的,因此只支持Nginx能读取的证书,即PEM格式。
  • 只支持带SNI信息的SSL/TLS握手。
  • 您上传的证书和私钥要匹配,否则会校验出错。
  • 更新证书的生效时间是1小时。
  • 不支持带密码的私钥。
查看证书 允许用户查看证书,但是只支持查看证书,由于私钥信息敏感不支持私钥查看,请您妥善保管证书相关信息。
修改编辑证书 支持修改编辑证书,但注意生效时间是1小时,请慎重操作。