본문 바로가기
IT KNOWLEDGE

SSL/TLS 보안에 대해 알아보자!

by BTC_양지원 2022. 12. 7.

안녕하세요 보안에 대해 알려주는 Level-up! 팀입니다.

SSL/TLS 개요

1. 기본 개념

  • SSL/TLS에서는 대칭키 암호, 공개키 암호, 일방향 해시함수, 메시지 인증코드, 의사난수 생서기, 전자서명을 조합해서 안전한 통신을 수행한다.
  • SSL/TLS는 암호 스위트를 변경해서강력한 알고리즘을 사용할 수 있다.

2. SSL/TLS상의 HTTP

  • 통신내용을 암호화해주는 프로토콜로 SSL 혹은 TLS를 이용한다. 그리고 SSL/TLS상에 HTTP를 올린다.
  • 이것을 프로토콜 이중 구조라고 하고 이로 인해 HTTP의 통신은 암호화되어 도청을 방지할 수 있고, 통신을 수행할 때 URL은 https:// 로 시작한다.

3.SSL/TLS는 어떻게 작동하나?

  • SSL은 높은 수준의 개인정보 보호를 제공하기 위해, 웹에서 전송되는 데이터를 암호화합니다. 따라서, 데이터를 가로채려는 자는 거의 해독할 수 없는 복잡한 문자만 보게 됩니다.
  • SSL은 두 통신 장치 사이에 핸드셰이크라는 인증 프로세스를 시작하여 두 장치의 ID를 확인합니다.
  • SSL은 또한 데이터 무결성을 제공하기 위해 데이터에 디지털 서명하여 데이터가 의도된 수신자에 도착하기 전에 조작되지 않았다는 것을 확인합니다.

4. SSL과 TLS의 차이

  • SSL은 TLS(Transport Layer Security)이라는 또 다른 프로토콜의 바로 이전 버전입니다.
    • POODLE 공격이란? 프로토콜 버전을 다운그레이드 시키는 공격이다.
    • CVE란? 보안 취약점과 기타 정보 보안 노출 사항을 기록한 규격화된 목록으로 발견년도와 일련번호를 포함한다.
  • SSL은 90년대 중반 넷스케이프에 의해서 생성되었지만, 현재는 폐기된 프로토콜이다.
  • TLS는 IETF에서 유지&관리하는 웹의 보안 암호화를 위한 새로운 프로토콜이다.

 TLS(Transport Layer Security) 프로토콜

1. TLS 구조

TLS는 단일 프로토콜이 아니고 2계층에 걸친 프로토콜이다.

Record 프로토콜은 운반자이며, 응용 계층으로부터 오는 데이터뿐만 아니라 TLS의 상위 프로토콜로부터 오는 메시지를 전송한다. Record 프로토콜에서 오는 메시지는 보통 TCP인 전송 계층의 페이로드이다.

Handshake 프로토콜은 Record 프로토콜에 대한 보안 매개변수를 제공한다.

암호 집합을 설정하고 키와 보안 매개변수를 제공한다

또한, 필요하다면 클라이언트가 서버에 대해 그리고 서버가 클라이언트에 대해 인증된다.

ChangeCipherSpec 프로토콜은 암호학적 비밀을 신속하게 보내는 데 사용된다.

Alert 프로토콜은 비정상 조건을 알리는데 사용된다.

Heartbeat 프로토콜은 프로토콜 객체의 가용성을 모니터링 할 때 사용된다.

 SSL/TLS 공격

1. POODLE 공격(2014년 10월, CVE-2014-3566)

  • TLS를 사용하고 있다고 해도 SSL 3.0으로 다운그레이드 당하여 POODLE 공격을 받을 취약점이 있다.
  • POODLE 공격을 통해 SSL 3.0을 사용하도록 강제한 후 MITM(중간자) 공격을 통해 암호화되어 송수신되는 쿠키정보나 데이터를 추출하는 공격이 가능하다.
  • 블록 암호화 기법인 CBC 모드를 사용하는 경우 발생하는 패딩된 암호블록이 MAC에 의해 보호되지 않는 취약점을 이용한다.

2. OpenSSL의 HeatBleed 취약점(2014년 4월)

  • HeatBleed 취약점은 TLS의 하트비트 확장이라고 하는 기능에 요구 데이터 길이에 대한 점검이 결여되었기 때문에 메모리 상의 정보까지 상대방에게 넘어가 버리는 것이다.
  • 대응책은 HeatBleed 취약점 대책이 실행된 버전으로 OpneSSL을 갱신하거나 하트비트 확장을 사용하지 않는 옵션을 부착해 재컴파일하는 등 조치가 필요하다.
  • 또한 인증서를 재발급 받고, 취약점 조치가 완료된 후 사용자들의 비밀번호를 재설정한다.

3. FREAK 공격(2015년 1월, CVE-2015-0204)

  • RSA_EXPORT는 512비트의 암호화키를 사용하는 수출 등급의 RSA 암호화 알고리즘으로서 현재 주로 사용되는 2,048비트 이상의 암호화키에 비해 brute-force 공격에 취약
  • 과거에는 수출 등급의 암호화 알고리즘도 어느 정도 안전하였으나 컴퓨팅 성능의 비약적인 발전으로 더 이상 안전하지 못한 상황 발생(아마존 웹서비스를 이용하여 512비트의 RSA 키는 7 ~ 12시간 정도면 깨진다고 함)
  • FREAK 취약점 발견 당시 미국 정부 사이트는 물론 전 세계 주요 웹사이트가 취약점에 노출되어 있었음
  • 공격자는 중간자 공격을 통해 표준 RSA 암호화 알고리즘 목록 요청(Standard RSA cipher suite)을 수출등급 RSA 암호화 알고리즘 목록 요청(Export RSA cipher suite)으로 바꿔버림
  • 서버는 long-term 키로 서명된 수출등급 RSA 키로 응답하게 되고, OpenSSL 버그로 인해 이러한 약한 키를 받아들이게 됨
  • 약한 키는 brute-force 공격으로 깨지게 되고 이후 공격자는 서버와 클라이언트 간 주고받는 내용을 복호화하여 볼 수 있음

4. 완전 순방향 비밀성(PFS, Perfect Forward Secrecy)

  • 비밀키가 노출되더라도 그 후의 키 분배 과정에서 얻는 세션 키의 안전성에는 영향을 미칠 수 없어야 한다는 성질이다.
  • 디피 헬먼 알고리즘이 응용된 것으로, 새로운 키 정보가 수학적으로 예전의 키 정보와 관련이 없기 때문에 누군가 예전 세션키를 탐지하더라도 그 키를 사용해서 새로운 세션 키를 추측할 수 없다.

'IT KNOWLEDGE' 카테고리의 다른 글

CWPP(클라우드 워크로드 보안 플랫폼)  (0) 2022.12.15
SLA(Service Level Agreement)란  (0) 2022.12.13
TTS 란?  (0) 2022.11.29
CSPM (Cloud Security Posture Management )이란  (0) 2022.11.24
InfluxDB에 대하여  (0) 2022.11.23

댓글