每天都有数十亿人在Android和iOS设备上通过Facebook与朋友建立联系。对我们移动应用和服务器之间传输的数据提供保护,可以帮助人们更安全地使用Facebook。
我们的移动应用使用了一种名为Mobile Proxygen的自定义网络栈,这是一种使用C++14开发的跨平台HTTP客户端,使用我们自己的开源{aa37aa}构建而来。借此我们可以在服务器和客户端之间共享同一套代码,更快速地提供新的安全和性能改进。
我们在移动应用中使用了传输层安全(TLS)1.2协议,并使用带OpenSSL的{aa36aa}作为TLS的具体实现。由于增加了至少一轮往返,TLS 1.2会延长建立连接所需的时间,为了降低TLS的延迟,过去多年来人们提出了多种新的协议和改进。Facebook传输安全团队曾通过多种方式设法尽可能改善TLS的速度,包括通过技术手段在距离用户最近的边缘位置终止TLS连接,重复使用HTTP2连接,使用会话重用(Session resumption)和TLS抢跑(False start),推断式连接启动,以及使用现代化的Cipher套件。从我们的移动应用到Facebook建立的大部分TLS连接仅额外增加了一轮往返(1-RTT)。
来源: