파이어폭스, HTTPS 접속 더 안전하고 빨라진다

11월 정식판 보안 엔진에 최신 암호화라이브러리 구현

컴퓨팅입력 :2017/09/19 08:02

모질라가 파이어폭스 사용자의 인터넷 보안성과 웹서핑 체감속도 개선을 예고했다. 여러 인터넷 서비스에 확산되고 있는 HTTPS 접속의 암호화 성능과 소프트웨어 개발 과정상 보안 수준을 높여 주는 기술을 차기 브라우저에 탑재할 계획이다.

해당 기술은 마이크로소프트(MS)와 미국 대학교, 유럽 연구소와의 협력으로 만들어지고 있다는 점이 다른 주요 브라우저 기술로도 확산될 가능성을 시사한다.

모질라는 공식 보안 블로그를 통해 오는 11월 파이어폭스57 버전의 보안 엔진에 HTTPS 접속용 암호화 알고리즘을 효율적으로 구현한 컴포넌트가 탑재될 예정이며 앞서 그 일부를 시험판에 담았다고 밝혔다. 이로써 파이어폭스는 검증된 암호학적 원리(cryptographic primitives)를 구현한 최초의 주요 브라우저가 됐다고 강조했다. [☞원문보기]

보안 블로그의 설명에 따르면 모질라는 최근 파이어폭스 나이틀리(Nightly) 빌드 시험판에서 네트워크시큐리티서비스(NSS)라는 보안 엔진에 '커브25519(Curve25519)'라는 키 생성 알고리즘 구현을 적용했다. 커브25519는 웹용 암호화 통신 HTTPS 접속을 위한 전송계층보안(TLS)의 키 교환 방법으로 널리 쓰이며 국제인터넷표준화기구(IETF)가 최근 표준화했다.

모질라가 2017년 11월 파이어폭스57의 보안 엔진 NSS에 보안성과 성능을 강화한 HTTPS 접속용 암호화 라이브러리 구현을 탑재하기로 했다. [사진=Pixabay]

모질라는 파이어폭스 나이틀리 빌드의 NSS에 커브25519 알고리즘을 구현함으로써 64비트 플랫폼 기준으로 암호 연산 가운데 초당 스칼라 곱셈(scalar multiplications)이 1만5천100회에서 1만9천500회를 기록해, 기존 NSS보다 20%가량 빠른 속도를 얻었다고 밝혔다. 이는 사용자 보안성과 성능면에서 모두 향상된 결과라고 강조했다. 이에 해당하는 새 코드를 파이어폭스57 버전 일부로 내놓기로 했다.

NSS는 보안성을 갖춘 크로스플랫폼용 클라이언트 및 서버 애플리케이션을 지원하도록 설계된 라이브러리 세트다. 모질라 NSS 공식사이트 설명에 따르면 NSS로 개발된 애플리케이션은 SSL v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 인증서 등 보안 표준을 지원할 수 있다. [☞원문보기] 여기에 탑재되는 커브25519 알고리즘은 'HACL스타(HACL*)' 암호화 라이브러리의 컴포넌트다.

HACL스타의 HACL은 '고신뢰 암호화 라이브러리(High-Assurance Cryptographic Library)'를 줄인 말이다. F스타(F*)'라는 함수형 프로그래밍 언어를 위해 아파치2.0 및 MIT 오픈소스 라이선스 기반으로 개발되고 있다. 깃허브 소갯말에 따르면 "F스타를 위해 공식적으로 검증된 암호화 라이브러리"다. [☞원문보기]

F스타는 프로그램 검증을 목적으로 만들어졌다. 아파치2.0 오픈소스 라이선스 기반으로 개발되고 있다. F스타 공식사이트에 담긴 소개 내용을 보면 현재 이 언어의 주 활용 분야는 오픈소스 프로젝트 '에버레스트(Everest)'의 전체 HTTPS 스택에 검증된 대체재를 만드는 것(building a verified, drop-in replacement)이라고 한다. [☞원문보기]

HACL스타와 F스타는 오픈소스 프로젝트 '에버레스트(Everest)'의 일부다. 에버레스트는 MS리서치, 프랑스 국립전산및자동화연구소(INRIA, 인리아) 파리 리서치센터의 프로세코(Prosecco) 팀, 미국 매사추세츠 공과대학교(MIT), 카네기멜런대학교(CMU), 여러 커뮤니티의 협력으로 진행되고 있다.

프로젝트 에버레스트(Everest) 소개 웹페이지. 마이크로소프트리서치(MSR), 프랑스 INRIA 파리연구센터, 이들의 조인트리서치, 카네기멜런대학교 등이 협력하는 오픈소스 프로젝트다. 하트블리드 등 심각한 버그가 많았던 기존 HTTPS 스택 관련 기술을 더 안전하게 구현해 대체한다는 목표를 제시하고 있다.

공식 웹사이트에 따르면 에버레스트는 HTTPS 생태계 표준을 충족하면서 공식적으로 검증된 고성능 컴포넌트를 구현함으로써 관련된 보안 문제를 해결하기 위해 시작됐다. HTTPS 생태계란, 암호화 프로토콜 HTTPS 및 전송계층보안(TLS)과 X.509 공개키인프라 및 암호화 알고리즘을 가리킨다. [☞원문보기]

정리하면 모질라는 프로젝트 에버레스트라는 이름아래 MS리서치, 인리아 파리 리서치센터, MIT, CMU, 이밖에 오픈소스 커뮤니티 개발자의 협력을 통해 구현된 새 암호화 라이브러리를 연내 파이어폭스 최신 정식판에 구현할 계획이다. 이는 파이어폭스 사용자가 HTTPS 암호화 통신을 지원하는 웹사이트 방문시 더 나은 체감 성능과 보안성을 제공할 전망이다.

HTTPS 암호화 성능과 보안성을 높이는 컴포넌트 개발 수단으로, 굳이 F스타라는 새 언어를 위한 HACL스타라는 새 라이브러리가 채택된 배경은 뭘까. 이 라이브러리는 F스타 언어의 특성상 작성된 코드를 컴파일하는 시점에 자동화된 코드 분석을 통해, 기존 수작업만으로 도달이 어려운 수준의 보안 프로그래밍 규정을 충족할 수 있다는 게 모질라 측 설명이다.

관련기사

아래 인용한 F스타 프로그래밍 언어 공식사이트 소개 문구가 이런 특성을 묘사하고 있다.

"F*는 프로그램 검증을 목적으로 하는 ML-like 함수형 프로그래밍 언어다. 이 언어의 타입시스템은 다형성(polymorphism), 의존 타입(dependent types), 모나딕 효과(monadic effects), 정제 타입(refinement types), 최약 사전조건 계산(weakest precondition calculus)을 포함한다. 더불어 이 특성은 기능적 정확성(functional correctness)과 보안 속성을 포함한 프로그램의 규격을 정밀하고 간결하게 표현하도록 해준다. F* 타입체커는 프로그램이 규격에 맞는지 SMT 해법과 수작업 증명의 조합을 사용해 검사하는 게 목적이다. F*로 작성된 프로그램은 실행을 위해 OCaml, F#, C로 번역될 수 있다."