
Internet Engineering Task Force (IETF)는 몇 년에 걸쳐, Transport Layer Security (TLS) 프로토콜의 개선에 노력하고 있으며,이 프로토콜은 데이터를 인터넷에 이동시킬 때 개발자가 데이터 보호를 실시하기 쉽게 하는 것이다. Facebook 은 Fizz는 API 라이브러리를 개발했다. 이것은 최신 버전이다 TLS1.3을 Facebbok 네트워크에서 개선하기위한 것이다. 오늘 (미국 시간 8 월 6 일) Facebook은 Fizz를 오픈 소스 화하여 누구나 액세스 할 수 있도록 그것을 GitHub에 둔 것을 발표했다 .
Facebook은 현재 트래픽의 50 % 이상을 TLS 1.3과 Fizz 통해 다루고 있으며, 그들은 그것을 지금까지 가장 큰 TLS 1.3의 구현이라고 생각하고있다.
이들은 모든 트래픽이 인터넷을 어떻게 움직이는 지 서버들이 어떻게 안전하게 통신 할 것인가에 관계하고있는 지금은 Facebook도 지적하고 있듯이, 매우 중요한 일이다. 왜냐하면 현대의 인터넷 서버 아키텍처에서 프로세스의 중요한 부분이 세계 곳곳에 분산되어 버리고있는 것이 드물지 않기 때문이다. 또한이를 통해 데이터를 서버에서 서버로 이동시킬 때의 레이턴시 (지연 시간)을 절감해야하는 과제도 생긴다.
주요 문제 중 하나는 방대한 데이터를 메모리 영역에 기록함으로써 자원의 오버 헤드와 속도 저하가 일어날 것이다. 이 문제를 해결하기 위해 Facebook은 데이터를 메모리로 옮길 때 작은 단위로 분할하고 그들을 그 자리에서 암호화하기로 결정했다. 이 프로세스는 scatter / gather I / O (분단 / 결합 할 I / O)라는 이름으로 불리고있다.
데이터 단위를 암호화하는 것이 아니라 Scatter / Gather Fizz을 이용하여 데이터를 작은 조각으로 분할하여 각각을 암호화한다. 그림 제공 : Facebook
TLS 1.3에서는 "early data"(이것은 제로 왕복 데이터 또는 0-RTT 데이터로도 알려져있다)라는 개념이 도입 된 대기 시간의 감소를 돕는다. ITEF에 따르면 , 이것은 "고객이 최근에 액세스 한 것과 동일한 서버에 연결되어 있다면, 클라이언트가 연결시 첫 라운드 트립시 TLS 핸드 셰이크의 성립을 기다리지 않고 데이터를 보내는 것을 가능하게하는 "것이다. 문제는이 개념이 안전하지 않을 수있는 것이다. 그래서 Fizz는이 개념에 기반한 API를 캡처 알려진 취약점을 제거하면서 그 API에 시스템을 구축했다.
Facebook은 IETF와 협력 해 온이 회사는 매일 취급 수많은 트랜잭션에 유래하는 독특한 요구를 안고 있기 때문이다. Facebook에 의하면, TLS 1.3은 "인터넷 트래픽을보다 안전하게하기 위해 새로운 기능을 추가로 제공한다. 예를 들어 인증서를 개인으로 유지하는 암호화 된 핸드 셰이크 메시지의 캡처와 비밀 키의 도출 방법의 재 설계, 그리고 제로 왕복 연결 설정 (이는 일부 요청은 확실히 TLS 1.2보다 빨라진다) 등이다. "
Fizz에 대해 Facebook은 "TLS 1.3에서 구현 된 개선 사항 이외에 Fizz 미들 상자 핸드 셰이크 오류에 대한 향상된 솔루션, 디폴트의 비동기 I / O 지원, 그리고 불필요한 데이터 복사를 없애 scatter / gather I / O를 이용한다 "고 라이브러리의 오픈 소스 화를 발표 한 블로그 게시물 에서 밝혔다.
Fizz는 Transport Layer Security (TLS) 프로토콜의 최신 버전을 개량 한 것이다. 그리고 그것을 오픈 소스 화하여 Facebook은이 기술을 널리 커뮤니티와 공유하고 모두가 Facebook 만들어 낸 성과물을 이용하여 개발을 할 수있게 한 것이다.