最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

AWS 宣布全新的轻量级 TLS 实现——s2n

  • 2015-07-07
  • 本文字数:1205 字

    阅读完需:约 4 分钟

作为网络通信领域重要的安全协议, SSL 协议(Secure Sockets Layer,安全套接字层)及其升级版 TLS 协议(Transport Layer Security,传输层安全协议)一直为保证网络安全和数据完整性发挥着重要作用。这些协议位于可靠的面向连接的网络层协议和应用层协议之间,利用数据加密技术来保障互联网上数据传输的安全。然而,谷歌在 2014 年发现的 POODLE 漏洞(Padding Oracle On Downloaded Legacy Encryption vulnerability),暴露了 SSL/TLS 在安全方面的重大缺陷。由此,所有与 SSL 或 TLS 协议相关的服务都迫切需要修改安全协议,防范网络中利用该漏洞进行的攻击。近日,亚马逊 AWS 就推出了新的开源加密库 s2n ,来保证 AWS 云服务的安全。接下来,本文就对 s2n 的相关细节进行简要介绍。

TLS 协议之前为保证亚马逊 AWS 相关服务的强安全特性作出了重大贡献。所有 AWS 的 API 以及面向客户的弹性负载均衡(ELB) AWS Elastic Beanstalk Amazon CloudFront Amazon S3 Amazon RDS Amazon SES 等服务都在使用 TLS 协议。TLS 协议的重大安全漏洞给 AWS 的安全性带来了很大的威胁。在震惊之余,AWS 的安全团队开始不遗余力的进行漏洞的修补工作。该工作所面临的一个重大挑战就在于 TLS 协议本身及其可选的扩展已经变得十分复杂。以 OpenSSL 为例,其 50 万行代码中至少 7 万行代码与 TLS 相关。如果每一行代码都可能存在风险,那么针对如此大规模代码的代码审计、安全审核等将十分具有挑战性。为了简化 TLS 实现并保证强加密特性,ASW 实现了一种新的开源 TLS 协议——s2n。

s2n 为“Signal to noise”的简写,其寓意在于就是把有意义的信号变成看起来像是随机噪声的加密过程。在设计之初,s2n 项目充分吸取了之前的教训,以简单化作为优先追求的目标。因此,s2n 避免了很少使用的选项和插件的实现,仅用 6000 行左右代码就完成了协议的编写工作,实现了小巧、快速库的目标。审阅 s2n 由此也变得简单了很多。目前,AWS 已经完成了 3 次额外的安全评估和渗透测试。s2n 项目也已经开源,并放置在 GitHub 中。

在接下来数月,AWS 将开始把 s2n 集成到若干 AWS 服务中。由于 s2n 已经实现了之前 TLS 中用户所使用的所有功能,修改后的 ASW 服务并不需要用户应用程序的任何改变,而且修改前后具有互操作性。此外,在 s2n 与 OpenSSL 的关系方面。OpenSSL 包含了两个库——“libssl”实现了 TLS;“libcrypto”则是一个通用的密码库。S2n 只能算和其中之一的“libssl”库类似。因此,s2n 并不会替代 OpenSSL,且 AWS 也会继续为 OpenSSL 提供支持。


感谢徐川对本文的审校。

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

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

2015-07-07 09:252461
用户头像

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

关注

评论

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

架构实战营 - 模块六作业

李东旭

「架构实战营」

关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~

4ye

Python TCP 爬虫 后端 8月日更

模块六作业

俊杰

架构实战营

认认真真的聊聊"软"中断

编程 架构 后端 计算机

Vue进阶(八十一):Vue+element UI 实现“回到顶部”按钮组件

No Silver Bullet

Vue 8月日更

系统对接阿里云短信接口(Java开发实践)

Python研究者

8月日更

新书介绍 -- 《Redis核心原理与实践》

binecy

redis cluster 书籍 redis sentinel Redis Stream

Golang:并发操作中常见的读写锁

Regan Yue

读写锁 Go 语言 8月日更

架构实战营模块 6 作业指导

华仔

#架构实战营

架构实战营 - 模块六作业

思梦乐

04. 实用主义的人工智能

数据与智能

人工智能

装修记

escray

生活记录 8月日更

☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(下)

洛神灬殇

Java JUnit 8月日更 testNG

百度地图开发 - 在地图上检索数据 08

Andy阿辉

android Android 小菜鸟 Android端 8月日更

基于Netty,20分钟手撸一个RPC框架

码农参上

netty 8月日更

Vue进阶(八十二):updated 应用详解

No Silver Bullet

Vue 8月日更

详解Java方法句柄MethodHandle

Java 方法句柄

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

Java 架构 后端 高并发

操作系统课程学习记录

春秋易简

操作系统

WebAssembly影响未来WEB技术

devpoint

Unity webassembly 8月日更

故事篇:终于给老婆讲明白什么是logback了!

阿Q说代码

故事 实战 logback 8月日更

架构实战营模块6作业

技术是伙伴

架构实战营

难以置信!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

Java 编程 架构 面试 架构师

教你一招疯狂拿Offer!用微服务设计一个超大型分布式电商平台

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

在线JSON转CSV,TSV工具

入门小站

工具

模块六作业

king

架构实战营 - 模块六作业

Julian Chu

架构实战营

Linux之file命令

入门小站

Linux

阿里二面:怎么解决MySQL死锁问题的?

Java MySQL 架构 面试 后端

清华毕业20年从业经验马士兵建议所有Java高工必看的高并发编程

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

业界良心啊!第五次更新的Spring Cloud Alibaba升级太多内容

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

AWS宣布全新的轻量级TLS实现——s2n_安全_张天雷_InfoQ精选文章