Home > Security
페이스북, TLS 1.3 라이브러리 피즈를 오픈소스로 전환
  |  입력 : 2018-08-08 14:22
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
피즈, 페이스북이 내부 인프라에 먼저 적용했던 TLS 1.3 라이브러리
TLS 1.3과 피즈 모두 통신 효율성 높여...페이스북은 “10% 증가했다”


[보안뉴스 문가용 기자] 페이스북이 미국 현지 시각으로 월요일 피즈(Fizz)라는 TLS 라이브러리를 오픈소스화 하겠다고 발표했다. 피즈는 C++14로 작성된 라이브러리로, TLS의 가장 최신 버전인 1.3을 포함하고 있다.

[이미지 = iclickart]


피즈는 이미 페이스북의 모바일 앱과 부하 분산 장치(load balancer), 내부 서비스에 이미 전부 적용되어 있으며, 하루에도 수백만 건씩 발생하는 TLS 1.3 핸드셰이크를 처리하는 기능을 가지고 있다. 페이스북이라는 거대 인프라 내에서는 이미 사용되고 있었던 것이, 외부로 공개된 것이다.

현재 페이스북의 인터넷 트래픽 중 50%는 TLS 1.3이 적용되어 있고, 페이스북 모바일 앱의 경우는 TLS 1.3의 0-RTT를 활용 중에 있다고 한다. 페이스북은 “이것이 가장 광범위한 TLS 1.3 적용 사례일 것”이라고 말한다. 피즈는 TLS 1.3을 광범위하게 적용하는 데 있어서 지연 속도(latency)를 낮출 뿐만 아니라 CPU 활용 역시 줄여 시스템 효율을 높인 것으로 평가받는다.

페이스북이 피즈를 공개한 이유는, TLS 1.3이라는 새 암호화 프로토콜을 인터넷 전반에 빠르게 확산시키기 위해서다. TLS 1.2에 비해 1.3은 그 자체만으로도 이미 지연 속도를 낮추기 때문에 효율성 측면에서 월등한 면을 가지고 있는데, 피즈까지 합해지면 TLS 1.2 시절과는 비교할 수 없게 된다고 페이스북은 설명한다.

“페이스북 자체 분산 장치의 벤치마크에 따르면 피즈를 통해 TLS 1.3을 도입했을 때, 1.2 때보다 효율성이 약 10% 높아졌습니다. 인프라에 계속해서 TLS 1.3을 도입함으로써 퍼포먼스가 지속적으로 높아질 것을 기대하고 있습니다.”

페이스북에 따르면 피즈 서버들은 디폴트 상 비동기화(async) 되어 있다. 즉 데이터 전송 속도가 고정되지 않았다는 것이다. 또한 인증 관련 운영과 티켓 복호화 등은 원격 서비스로 처리된다. 여기에다가 페이스북은 간단한 비동기 API를 제공하기도 하며, 피즈로부터의 콜백(callback)을 할 경우 다른 핸드셰이크 처리를 차단하지 않은 채로 비동기화 된 응답을 되돌릴 수 있다고 한다.

피즈는 또한 스캐터/개더(scatter/gather) 형식의 I/O API들을 호환한다. 그러므로 대량의 데이터를 처리하고 암호화시켜 메모리에 위치시키는 게 가능하다. 즉, 데이터를 복사할 필요가 없어지고, 피즈 라이브러리를 사용하는 모든 애플리케이션들이 메모리를 적게 사용한다는 뜻이 된다.

피즈는 요청의 지연 속도를 낮추기 위해 이전에 저장된 데이터를 사용하기도 하는데, 여기에는 조건이 하나 있다. 바로 화이트리스팅 된 요청들만 이런 식의 처리를 허용하는 것이다. TLS 1.3에서 이전 데이터를 사용하면 공격자가 데이터를 재생시킬 수 있게 된다.

페이스북은 피즈를 처음 개발할 때부터 보안을 염두에 두었다고 설명한다. TLS의 상태 기계(state machine)는 매우 명확하며 모든 이행과 전개가 한 곳에서 정의되고, 그렇기에 보안을 관리하는 게 훨씬 쉬워진다는 설명도 덧붙인다.

페이스북은 부정확한 상태 변화가 사용되는 것을 막기 위해 추상화도 도입시켰다. 그래서 상태 처리자(state handler)가 상태 기계에서 정의를 내리지 않은 상태 변화를 사용할 경우 코드 컴파일링이 되지 않는다.

보다 정확히 말해 현재 피즈가 지원하는 TLS 1.3은 28번째와 26번째, 23번째 초안 버전들이다. 또한 주요 핸드셰이크 모드들 거의 대부분을 지원하기도 하는데, 여기에는 PSK 리점션(PSK resumption), 클라이언트 인증, HelloRetryRequest 등이 포함된다. 피즈는 folly, OpenSSL, libsodium이라는 세 가지 라이브러리에 의존하고 있기도 하다.

피즈는 여기(https://github.com/facebookincubator/fizz)서 열람이 가능하다.

3줄 요약
1. 페이스북, TLS 1.3 프로토콜 도입 위해 피즈라는 라이브러리 개발해 사용.
2. 피즈 사용해보니 효율성이 10%나 증가하더라. CPU도 덜 잡아먹고, 메모리도 덜 사용하고.
3. 그래서 피즈를 오픈소스로 전환함. 인터넷 통신이 전부 TLS 1.3으로 이뤄지길 바라면서.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
그린존시큐리티 4개월 배너모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 팬더믹 이후, 가장 기승을 부리고 있는 사이버 공격 유형은 무엇이라고 보시나요?
랜섬웨어
피싱/스미싱
스피어피싱(표적 공격)/국가 지원 해킹 공격
디도스 공격
혹스(사기) 메일
악성 앱
해적판 소프트웨어
기타(댓글로)