写点什么

Netflix 安全通信的新型方案——消息安全层

  • 2014-11-14
  • 本文字数:1472 字

    阅读完需:约 5 分钟

近期,为了改善之前流媒体传输、通信过程中的诸多安全问题,Netflix 公司提出了消息安全层(Message Security Layer,简称 MSL)的概念。作为 1997 年在美国成立的视频租赁公司,Netflix 主要为美国和加拿大的用户提供流媒体播放服务和电视、电影的在线出租业务。经过数十年的发展,Netflix 已经发展成为全球领先的在线流媒体服务公司。目前,Netflix 在美国的订阅人数就已经超过 3300 万,季度营业额达到十几亿美元。

为了能够为千万订阅者提供服务,Netflix 利用庞大的快递体系和互联网系统形成了自己的解决方案。尤其在目前十分火热的流媒体部分,大量的设备来为在线观看视频提供提供支撑。然而,这些基于不同硬件和软件的设备在传输用户信息、视频信息等的时候,如何保证信息的安全性是 Netflix 公司一直在关注的问题。

最初,Netflix 通过结合 HTTPS 和 NTBA 安全机制这两种方式来保证消息传递过程中的安全。这种方法在前期起到了很好的作用,但是随着互联网相关技术的发展,该方法越来越不能满足当前服务对安全的要求。据 Netflix 的安全工程师 Wesley Miaw 和 Mitch Zollinger 分析,HTTPS 在安全方面的问题可以分为四个方面。

首先,HTTPS 最大的问题在于其所采用的 PKI 架构。作为 HTTP 协议的安全版本,HTTPS 通过安全套接字层(SSL)进行信息交换。在 HTTPS 的使用过程中,需要牵涉到 RC4 流加密算法以及数字认证。这其中就需要大量的证书来对服务器等进行证明。而服务器的证书在废除、重新启用等方面就容易引起大量的问题。之前,Netflix 已经尝试利用 CRL 和 OCSP 等来解决这些问题。然而,仍然频繁有安全漏洞出现,消息传递的效率也受到影响。其次,影响 HTTPS 安全性的是其对时间精度的严格要求。对于使用 X.509 数字认证的 HTTPS,如果时间不能明确保证,就不能对链接的安全性进行有效验证。然而,大量的设备现在都没有精确的时间,无法完成该任务。再次,HTTPS 本身在设计过程中就存在一定的安全隐患。其中包括填充攻击以及先 MAC 后加密的工作方式等,都使得 HTTPS 本身的设计不完美。最后,HTTPS 不能很好的支持新的特性和行为。为了能够对某些设备的特性和行为进行支持,需要修改 SSL/TLS 的协议栈,从而会引起大量的问题。

为了能够彻底解决这些问题,Netflix 提出了消息安全层的概念。这一概念的提出主要遵循了跨语言、自动错误恢复、高性能、灵活、可扩展以及标准可兼容等设计思路。消息安全层具备完全性保护、加密、认证、同一消息不可重复传输、可信的服务网络、点到点等基本安全特征。相比于 HTTPS,MSL 有着明显的优点。首先,MSL 采用了 plug-in 结构,使得不同的认证机制、密钥协议等等都可以被集成到 MSL 中。此外,时间无关性和服务环都能够很好增强其安全性。

在 MSL 协议中,一个典型的 MSL 消息包含消息头和负载数据包两个部分。消息头用来建立和维护安全链接,负载数据包承载着需要传输的内容。一旦建立起安全链接,数据就可以进行稳定传输。(而且,在初始链路建立过程中,一旦认证过程完成,以后的消息都可以直接使用已经获得的会话密钥来进行。)在错误处理方面,接收端感知到错误后会返回错误信息,发送端通过对相关信息进行认证完成会话恢复工作。

目前,读者可以在 GitHub 的 Message Security Layer repository 中看到相关的资料。其中,包括了对 MSL 的介绍、使用指南以及利用 Java 和 JavaScript 语言实现的 MSL 协议栈。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-14 09:262640
用户头像

发布了 268 篇内容, 共 138.0 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

源码交付+可控部署:用户行为分析系统的落地经验

ClkLog

开源 数据分析 埋点 用户行为分析 客户画像

YashanDB V23.4 LTS 正式发布|两地三中心、库级闪回重磅特性上线,生产级可用性再升级

极客天地

10 分钟快速搭建一款面试刷题小程序

悟空聊架构

挖到项目中的2高危和中危漏洞

悟空聊架构

CodeBuddy首席试玩官

通义灵码入职表现实测:蔚来汽车AI 生成代码占比在 30% 以上

阿里云云效

阿里云 云原生 通义灵码

京东商品列表接口 item_search 深度解析

tbapi

京东API 关键词搜索京东商品接口 京东商品列表接口 京东数据采集 京东搜索接口

观测云:从云时代走向AI时代

观测云

人工智能

重磅预告 | Apache SeaTunnel接入MCP,即将解锁模型上下文协议超能力!

白鲸开源

开源 AI 大模型 Apache SeaTunnel MCP

通义灵码入职表现实测:蔚来汽车AI 生成代码占比在 30% 以上

阿里巴巴云原生

阿里云 云原生 通义灵码

破解RL训练崩溃难题,快手联合中科院、清华、南大提出多模态奖励模型R1-Reward!

快手技术

人工智能 大模型

什么是区块链dapp开发?它能做什么?

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

自动动手制作一款Chrome扩展,一键转存文章

悟空聊架构

和鲸支持!南大人工智能通识课,让每个学生都懂AI

ModelWhale

接单拒绝别人最好的办法就是:“这个我不会做”

程序员郭顺发

如何用AI工具制作毕业答辩PPT?PPT制作保姆级攻略来袭!

职场工具箱

效率工具 PPT 毕业设计 办公软件 AI生成PPT

Nooka:将书籍生成可互动音频,支持随时打断和提问;Sam Altman:语音与图形界面结合将带来创新丨日报

RTE开发者社区

Arthas ognl(执行ognl表达式)

刘大猫

人工智能 监控 Arthas 监控工具 ognl

图形化编程语言视域下iVX开发平台的技术建构

代码制造者

ide 低代码

入门无压力,进阶有深度:iVX 的开发者友好性双重法则

代码制造者

低代码 无代码

AI题库软件系统的技术难点

北京木奇移动技术有限公司

软件外包公司 AI题库系统 题库软件系统

AI for All,Code for All|七牛云 AI 开源项目扶持计划全面启动

七牛云

开源 AI

手把手教你抓取京东商品评论:API 接口解析与 Python 实战

tbapi

京东商品评论接口 京东API 京东商品评论API 京东评论接口 京东评论内容采集

数安智用·科技强警|万里红依托“三大优势×五大能力”受邀参展第十二届警博会

新消费日报

他为SeaTunnel写下10+高质量PR,还把开源带进了公司生产线!

白鲸开源

公链开发及其配套设施:钱包与区块链浏览器

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 公链开发代币开发

刷脸购物、智能补货:英特尔AI技术重塑零售门店体验

E科讯

Arthas mbean(查看 Mbean 的信息)

刘大猫

Java 监控 Arthas 监控工具 mbean

企业跨国组网怎么选?MPLS与SD-WAN方案对比

Ogcloud

企业组网 异地组网 跨国网络 国际网络专线 跨国网络专线

天下拍-资产拍卖经典案例分享

至存网络

拍卖 拍卖系统 拍卖软件 艺术品拍卖 资产拍卖

交易所功能设计的核心架构与创新实践

区块链软件开发推广运营

交易所开发 链游开发 链游开发dapp开发 代币开发 代币开发公链开发

用 AI 快速开发一款小程序

悟空聊架构

CodeBuddy首席试玩官

Netflix安全通信的新型方案——消息安全层_安全_张天雷_InfoQ精选文章