Mesalink v1.0.0 发布,正式支持 TLS 1.3 和 IPv6,支持CMake编译,支持Windows,实现生产环境可用

栏目: 软件资讯 · 发布时间: 7年前

内容简介:MesaLink TLS是百度安全实验室研发的下一代传输层安全(Transport Layer Security, TLS)库。2018年4月2日我们发布了MesaLink的第一个公开版本0.6.0。在过去的一年里,我们陆续发布了七个版本,并在百度的智能电视、...

MesaLink TLS是百度安全实验室研发的下一代传输层安全(Transport Layer Security, TLS)库。2018年4月2日我们发布了MesaLink的第一个公开版本0.6.0。在过去的一年里,我们陆续发布了七个版本,并在百度的智能电视、智能音箱、智能车载等生产环境项目中得到了广泛的测试和部署,月活跃用户数量于2018年末突破1000万。在MesaLink满周岁的今天,我们正式发布MesaLink的1.0.0版本,此次发布标志着MesaLink经受住了实战的考验,实现生产环境可用。我们期待MesaLink能够赋能更多智能终端设备,也欢迎更多合作伙伴加入,共同建设安全生态。

首先我们简要回顾一下MesaLink项目的历史。MesaLink于2017年由百度安全实验室硅谷团队立项,其初衷是为了消除OpenSSL中诸如"心脏出血"等威胁通信安全的内存安全漏洞,并在多个场景透明替换OpenSSL。

"心脏出血"是一个典型的由于C/C++语言的内存安全缺陷而引入的漏洞,安全专家戴维·惠勒(David Wheeler)曾撰文阐述使用C/C++这样的内存不安全语言开发OpenSSL是造成"心脏出血"危险因素之一。 尽管如此,OpenSSL、GnuTLS等流行TLS实现依然在使用C/C++语言,而OpenSSL自"心脏出血"之后又不断有新的内存安全漏洞被发现,例如CVE-2017-2800、CVE-2017-3735等。

于是我们跨越了C/C++,转而使用一门新兴的语言:Rust。Rust是一个内存安全的语言,近年来获得工业界和学术界的广泛关注。得益于其独特的所有权、生命周期、和零开销抽象等机制,Rust能够在接近C++性能的前提下提供强内存安全保证。虽然并不是用了Rust世界就安全了,但是有了Rust可以让开发者更专注于TLS协议本身实现的正确性和安全性。同时还有一个很大的挑战在于,如何使用Rust语言实现 C语言 的API,这关系到能不能让用户不用改代码,零成本用MesaLink透明替换OpenSSL。

百度安全实验室硅谷团队作为使用Rust语言研发安全系统的先行者,在百度首席安全科学家韦韬“混合代码内存安全架构三原则”理念指导下进行了很多尝试。团队在Rust SGX SDK、MesaLink、 MesaLock Linux等项目中积累了大量宝贵经验,成功打通了Rust与C语言的“任督二脉”,实现了安全可靠的Rust/C FFI交互接口,为MesaLink的部署和开源奠定了基础。

2018年4月2日,MesaLink发布首个公开版本0.6.0。次日即登上美国科技新闻网站HackerNews新闻热度榜第二名,并进入GitHub流行项目榜,位列Rust语言分榜第一名。这一年里承蒙社区的支持,MesaLink项目在GitHub上已经积累了900多颗星并还在不断增长中,MesaLink也得到了来自CloudFlare和Google的同行的关注和支持,我们有幸能够为全球互联网基础设施建设贡献自己的一份中国力量。

MesaLink项目时间表:

  • 2017年8月:混合代码内存安全架构三原则确立,MesaLink项目立项;

  • 2017年12月:MesaLink 0.1.0版本开始内测;

  • 2018年4月2日:第一个公开版本0.6.0发布,MesaLink进入OASES智能终端安全生态联盟;

  • 2018年7月:百度深圳用户产品团队倾力支援,为MesaLink加入安卓支持,从而在安卓系统中实现透明替换OpenSSL/BoringSSL;

  • 2018年8月:0.7.0版本发布,支持TLS 1.3 Draft 28,兼容cURL;

  • 2018年8月:集成了MesaLink的百度电视助手上线,酷开电视和视九TV系统集成MesaLink,MesaLink月活跃用户突破百万;

  • 2018年11月:MesaLink的工作发表在Rust社区核心会议RustFest上,获得了会议主办方与全球参会者的高度评价;

  • 2018年12月:在CVTE、TCL、康佳、暴风等合作厂商落地,MesaLink月活跃用户突破千万;

  • 2019年1月:0.8.0版本发布,支持百度BRPC框架,支持Intel SGX Enclave远程认证;

  • 2019年4月2日:1.0.0版本发布,正式支持TLS 1.3和IPv6,支持CMake编译,支持Windows。MesaLink实现生产环境可用。

1.0.0 新特性

MesaLink 1.0是一个重视性能的版本,对BRPC的服务器端做了性能优化。我们使用基于SwissTable的散列表实现了MesaLink的TLS会话缓存,所有的互斥锁和读写锁均使用了来自parking_lot项目的高性能实现,此外用户可以选择开启Rust的jemalloc内存分配器。

我们在一台运行Ubuntu 16.04的Intel Core i7-8086K工作站上,使用BRPC项目的SSL测试集测试了MesaLink和OpenSSL最新版的性能,双方均使用TLS 1.2和ECDHE-RSA-WITH-AES-256-GCM-SHA384,结果如下表所示。

 

Mesalink v1.0.0 发布,正式支持 TLS 1.3 和 IPv6,支持CMake编译,支持Windows,实现生产环境可用

MesaLink 1.0开始支持Autotools + CMake双构建系统。CMake的跨平台特性使得我们可以更灵活的在多个平台上编译运行MesaLink,包括Windows和Visual Studio。安装我们发布的MesaLink for Windows安装包后,用户可以在Visual Studio中链接使用MesaLink;我们也准备了对应的样例代码,参见examples/client/client_win.c文件。

最后,欢迎大家访问改版后的新主页:https://mesalink.io。百度安全实验室公众号和其他平台发布的MesaLink中英文文章会统一同步到网站的博客下。

结语

MesaLink是百度AIoT安全解决方案的重要组成部分,也是百度下一代AI安全技术栈的核心技术之一。从新一代安全技术的研发与开源,到为行业提供一体化安全解决方案,再到促进学术、企业、机构间多层面协作,百度安全实验室正在升级打造AI时代的安全生态,打破产业隔阂,避免生态碎片化,以此推动AI时代的安全生态建设。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Computer Age Statistical Inference

Computer Age Statistical Inference

Bradley Efron、Trevor Hastie / Cambridge University Press / 2016-7-21 / USD 74.99

The twenty-first century has seen a breathtaking expansion of statistical methodology, both in scope and in influence. 'Big data', 'data science', and 'machine learning' have become familiar terms in ......一起来看看 《Computer Age Statistical Inference》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码