질문이 있으십니까?

기본 컨텐츠 및 사용자가 직접 참여하여 만들어진 다양한 내용을 검색합니다.

Sweet32 보안 및 TLS 1.2 버전 서비스, AES 256 암호화 통신

개요

SWEET32 취약점은 공격자는 블록암호 SSL/TLS 중 특정한 설정환경에서 collision을 발생시킬 수 있는 취약점입니다. 기존의 64bit 블록암호 중에서 CBC 모드를 사용한다면 collision을 발생시킬 수 있습니다. 3DES 대칭암호의 암호스위트를 지원하는 SSL/TLS 프로토콜 모두(예 ECDHE-RSA-DES-CBC3-SHA) 해당 취약점의 영향을 받는 것으로 나타났습니다.

공격 실행

  1. 우선 DES/3DES의 SSL/TLS중에서 유일하게 64bit 블록을 사용합니다. 앞에서 설명드렸던 것과 같이, 3DES를 포함하는 암호스위트의 우선순위는 다른 암호스위트들 보다 낮습니다.
  2. 64bit 암호화 블럭을 공격하려면, 최소한 32GB 이상의 암호문을 수집해야 합니다. 이것은 SSL/TLS 조건을 충족하는 동시에 하나의 세션에서 이루어져야 합니다. 그렇기 때문에 HTTPS의 긴 연결이 영향을 받을 수 있습니다.
  3. 다양한 상황에 따라 두 암호화 블럭 사이에서의 다른점만을 찾는 것은 실제 공격에 영향을 줄 수 없습니다. 그러나 다음과 같은 조건을 만족하는 경우, 공격이 가능합니다. 첫째, 동일한 비밀키가 중복되어 발송되었을 때이며 둘째, 일부 평문을 알고있을 때 입니다.
  4. 연구 논문에서 언급된 공격의 개념 증명 중, 몇몇 인증토큰이 전체 통신과정 중 서버와 클라이언트 이전에 전송되었다고 가정하였습니다. 이때 공격자는 공격당한 홈페이지에 악성 JavaScript를 운영하고, BruteForce공격을 통해 자격증명을 획득합니다.

완화조치

  1. SSL/TLS 설정 중 AES의 우선순위를 DES보다 높게 설정합니다. 서버에 내장되어 있는 OpenSSL버전은 이미 이렇게 설정되어 있습니다.
  2. 서버에 내장되어 있는 OpenSSL버전 중, 3DES의 우선순위는 AES-256과 AES-128 중간이기 때문에, AES-256 암호스위트를 비활성화 시키면 안됩니다.
  3. OpenSSL 서버를 사용할 때 AES-128과 AES-256 암호스위트를 비활성화 시키면 안됩니다. 웹서버의 기본 암호화 알고리즘 중 DES/3DES 암호화 스위트보다 AES가 더 우선순위로 설정되어 있습니다.

해결방법

  1. 이는 DES/3DES암호화의 설계문제로, 영향받는 서버의 모든 암호 라이브러리(OpenSSL, NSS, GnuTLS)들의 암호 우선순위중 3DES를 가장 낮게 설정합니다.
  2. 서버에서는 AES-128, AES-256을 활성화 시킵니다.

지오유 처리 결과

서비스에서 운용하는 서버들이 TLS 1.0, TLS 1.1로 통신하지 않도록 비활성화해 놓은 상태입니다. 아래 웹브라우저에서 보시면, TLS 1.2로 통신하는 것을 보실 수 있습니다. 그 말은, Sweet32 취약성 공격은 발생하지 않는 환경으로 구성하여 서비스하고 있다는 뜻입니다.
[ 그림. 서버에서 TLS 1.2 하위 버전은 지원하지 않겠다고 설정한 화면 ]
[ 그림. 그룹웨어 서비스가 TLS1.2로 통신하는 화면 ]

댓글을 작성하세요

문서 이력

  • 2021-03-16 날짜로 신달수 님으로 부터 컨텐츠명이 변경 되었습니다.