Data+AI时代,如何打造下一代数智平台? 了解详情
写点什么

Netflix 发布证书管理框架 Lemur

  • 2015-10-12
  • 本文字数:1437 字

    阅读完需:约 5 分钟

作为一家视频租赁供应商, Netflix 近些年开始越来越多的通过网络来来为用户提供电影和电视节目。如何保证这些基于不同硬件和软件的设备在传输用户信息、视频信息时的安全是一个极大的挑战。为此,Netflix 在 HTTPS 和 NTBA 这两种安全机制的基础上,近期又提出了消息安全层的概念。然而,如何管理复杂加密协议中的证书又成为了困扰很多用户的问题。近日,Netflix 宣布推出了开源的x.509 证书管理框架——Lemur,来为证书生成、部署和管理提供便利。

提到加密通信,公钥基础设施(PKI,public key infrastructure)是不可避免的概念。PKI 的核心组件包括发行和验证数字证书的证书授权中心(Certificate Authority,CA)、公钥证书(Public Key Certificate)和私钥(Private Key)。其通过使用从CA 获得和共享的公钥和私钥来实现数据的安全交换。 Neflix 的工程师 Kevin 等给出了一个使用 HTTPS 协议的情况下获得和部署证书的例子。通常情况下,该过程包含以下 5 个步骤。

  1. 生成证书注册请求(Certificate Signing Request,CSR)。作为一个加密的请求,CSR 包含了省份、地点、组织名称等请求机构的信息以及请求的原因。通常情况下,开发人员需要使用 OpenSSL 命令来生成 CSR。然而,OpenSSL 命令包含了大量的可选择项。一旦使用错失误,生成的私钥就会存在风险。
  2. 提交 CSR。开发人员需要把 CSR 提交到 CA,来获得证书。然而,这一步也经常会出现问题。很多大的机构都存在内部 CA 和外部 CA。二者分别负责内部通信和外部通信的信息加密和安全。尤其是外部 CA,肩负着面向互联网通信的安全重任。但是,二者责任划分并不是那么明确,使得开发人员很多时候并不清楚应该把 CSR 提交到哪个 CA。
  3. 批准 CSR。作为关键性的一步,安全工程师会人工仔细审查 CSR 的信息,确保信息正确、有效。
  4. 部署证书。获得证书后,工程师需要将其部署到相应的服务器中。一般情况下,工程师会反复确认证书和密钥配置正确,并放置在安全的位置,以确保通信的安全。
  5. 存储私密信息。该步骤可选,但对于私密信息的恢复十分重要。存储的同时,工程师就需要考虑密钥是否需要重新部署等。

Lemur 包含了几个核心的概念:颁发者、目的点、源点和通知。其中,颁发者指内部或第三方的 CA、目的点指证书部署的目标、源点指任意的证书仓库、通知指订阅者感知证书变化的方式。

在使用 Lemur 时,开发人员管理和部署证书的步骤简化为只有一步——发出网页请求。Lemur 会根据请求自动联系 CA 来获得证书,并自动部署。最后,在证书发生变化时,Lemur 自动向安全工程师发送通知。Lemur 提供了非常友好的图形界面,来为输入提供建议和自动校验。Lemur 的目的点插件使得开发人员可以自己挑选上传证书的环境。而其源点插件使得 Lemur 能够管理不同的环境和已经存在的大量证书。最后,Lemur 特别对流程中的私密材料进行了安全的存储。

目前,Lemur 项目已经放置在 GitHub 中。用户也可以通过 Docker 来尝试 Lemur。详细的安装和配置指令也在网站中进行了说明。 Kevin 等也指出,当前的 Lemur 还不能应对所有的情况。对于第三方维护的销售网站或者支付平台,用于保护其服务中通信安全的证书就不能通过 Lemur 来生成。Netflix 也希望广大用户能够提出更多的建议或者开发出更多的插件来进一步改善 Lemur。


感谢魏星对本文的审校。

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

2015-10-12 19:002415
用户头像

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

关注

评论

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

持续优化,欣欣向云 | RocketMQ Operator 0.3.0 正式发布

阿里巴巴云原生

阿里云 RocketMQ 云原生

Redis的一些概念

饱饱巴士

redis 11月月更 redis梳理

阿里云 Landing Zone 上好云伙伴联盟正式起航

云布道师

阿里云 2022云栖大会

Docker 镜像使用

我是一个茶壶

Docker 镜像 11月月更

Docker容器的使用

我是一个茶壶

容器 11月月更 docker、

SQL编写规范

默默的成长

前端 sql 11月月更

得物极光蓝纸箱尺寸设计实践

得物技术

算法 遗传算法 供应链 建模 运筹

金融服务的超级App

FN0

生态 超级app 组装式应用

大数据生态中的 RocketMQ 5.0

阿里巴巴云原生

阿里云 RocketMQ 云原生

2022-11微软漏洞通告

火绒安全

安全漏洞

非行稳无以致远:华为如何写好数字金融的大文章?

脑极体

五大模型揭秘深度学习用于时序预测的最新进展

云智慧AIOps社区

人工智能 机器学习 深度学习 算法 模型

Knative架构解析

穿过生命散发芬芳

Knative 11月月更

Eureka框架的原理

阿泽🧸

Eureka 11月月更

颠覆传统BOM检查!用这个方法既​简单、快速又准确

华秋PCB

工具 PCB BOM PCB设计

报名|企业数字化转型有何“利器”?一起来揭秘

元年技术洞察

数字化转型

【线上分享会回顾】九科信息董事&产品VP傅恺分享流程挖掘实践案例

九科Ninetech

数据中台选型必读(四):要想中台建的好,数据模型得做好

雨果

数据中台

重磅发布!星汉未来全国开发者悬赏计划

星汉未来

云计算 开发者 运维 云原生 星汉未来

无线标准802.11ac 和 802.11ax到底有什么区别?哪个更快?

wljslmz

网络技术 无线技术 802.11ac 802.11AX 11月月更

实战指南 | Serverless 架构下的应用开发

阿里巴巴云原生

阿里云 Serverless 云原生

袋鼠云产品功能更新报告 02 期丨有亿点点走心!

袋鼠云数栈

官宣!Taier1.3 新版本正式发布,新鲜功能抢先体验

袋鼠云数栈

解决APP抓包问题【网络安全】

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

【kafka运维】 kafka-consumer-groups.sh消费者组管理

石臻臻的杂货铺

kafka kafka运维 11月月更

2022 vivo开发者大会人工智能专场:打造「1001个便利」

极客天地

AI生命周期 | 聊聊数据准备阶段的偏见问题

澳鹏Appen

人工智能 机器学习 数据标注 数据训练 数据偏见

获奖作品《重力》超详细制作过程!建议码住!

Renderbus瑞云渲染农场

Blender制作教程

三分钟带你了解一站式大数据平台运维管家 ChengYing 产品包制作

袋鼠云数栈

极客时间运维进阶训练营第三周作业

好吃不贵

费劲拿到的阿里P8架构师私藏(java岗的)JCF和JUC源码分析与实现笔记

程序知音

Java 高并发 源码刨析 java架构 后端技术

Netflix发布证书管理框架Lemur_语言 & 开发_张天雷_InfoQ精选文章