百度智能云 云生态狂欢季 热门云产品1折起>>>  

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 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时代的安全生态建设。

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

  1. ipv6服务器 支持ipv4,西部数码上线IPv6云服务器,支持IPv4/IPv6双栈运行

    随着物联网.智能制造.人工智能等新型产业的蓬勃发展,各行业对 长期以来,IPv4由于存在地址不够用.安全性不完善.路由存在瓶颈.服务质量差等问题,限制了信息化技术的落地和革新.而IPv6作为下一代网络 ...

  2. FreeBSD 8.0 终于发布正式版了

    马上上两个链接先 http://wiki.freebsdchina.org/news/2009/freebsd_8.0_new_features    FreeBSD 8.0 新特性概览 http:/ ...

  3. 与Andrey Breslav谈论Kotlin 1.0的发布

    在经过了三个月的beta测试后,Kotlin团队终于宣布发布Kotlin的 1.0版本,该版本的目标是提升这门语言在API与ABI方面的稳定性. \\ 从该语言的第四个beta发布,到发布候选版本的出 ...

  4. SpringBoot2.0(一):【重磅】Spring Boot 2.0权威发布

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...

  5. (转)Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布

    http://www.ityouknow.com/springboot/2018/03/01/spring-boot-2.0.html 就在今天Spring Boot2.0.0.RELEASE正式发布 ...

  6. JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 千呼万唤始出来,在经历了整整一年的跳票之后,Java 9 终于在 9 月 21 日拨开云雾, ...

  7. MesaLink v0.7.0发布 | 迎接TLS 1.3时代 更快更安全

    MesaLink是百度安全实验室研发的一个内存安全并且兼容OpenSSL C API的传输层安全(TransportLayer Security, TLS)协议栈.近年来TLS漏洞频发,以2014年的 ...

  8. .NET ORM FreeSql 第一个正式版本发布 v1.0.0

    一.简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin. 从 0.0.1 发布到今 ...

  9. 电商宝SCRM/微信个人号管家v1.1.0成功发布,支持个人号红包收发/批量加好友!...

    电商宝SCRM/微信个人号管家是基于微信生态的社交营销管理系统,旨在帮助商家打造微信私域流量池,精细化营销助力社交电商. 经过电商宝各位同学一周的努力,电商宝SCRM/微信个人号管家V1.1.0版本正 ...

最新文章

  1. 常见字符串和数值间得转换
  2. js 点击最后一个 和倒数第二个_精选一组趣知识;最后一个节目是压轴还是压台...
  3. 优秀案例:12个精美的设计工作室 设计公司网站
  4. keras lstm 层理解
  5. 使用笛卡尔积 cross join解决傻傻的问题
  6. FreeBSD下安装postfixl邮件系统
  7. Linux命令应用大词典-第25章 备份与还原
  8. python中的set方法_Python中set与frozenset方法和区别详解
  9. python自动化办公模块有哪些-python如何实现自动化办公?
  10. iptables 开放端口
  11. 蓝桥杯2016年第七届C/C++省赛B组第八题-四平方和
  12. 智能手机低价“裸奔”( 山寨手机芯片“海思K3”VS“MTK”)
  13. QuantLib 开源金融计量学工具箱下载
  14. 拉格朗日方程的三种推导方法之基于汉密顿原理推导
  15. DQM Serial Sync Index Program ERROR
  16. Linux系统的历史发展演绎
  17. games101 作业4
  18. 佳能700d相机查看快门数
  19. Rikka with Travels
  20. 信息技术计算机说课,信息技术说课稿

热门文章

  1. 记录unity WebGL出现Uncaught ReferenceError: myGameInstance is not defined的问题
  2. python猜大小游戏,Python实现的摇骰子猜大小功能小游戏示例
  3. Windows Server 2008 安装教程——图文小白版(附下载地址)
  4. greendao出现Failed to change locale for db ‘/data/data/xxx/databases/xxx.db‘ to ‘zh_CN‘.
  5. 我的世界服务器皮肤显示不出来,我的世界怎么让皮肤显示,怎么没有皮肤显示不出来怎么办啊...
  6. Sox(Sound eXchange)一款强大的音频处理工具格式转化、切割音频、合并音频等
  7. kubernets(四)创建高可用集群
  8. html字体下划线取消,取消下划线与显示下划线设置
  9. 网络空间搜索引擎及常用的端口漏洞
  10. 瑞萨RA MCU立创EDA训练营——自制瑞萨开发板