SSL Cipher Suites

SexyWoong·2025년 3월 27일

프로젝트를 진행하며 WEAK CIPHER SUITES와 SAFE CIPHER SUITES가 있는데 SAFE CIPHER SUITES를 적용해달라는 요청이 왔다.

암호 그룹(Cipher Suites)은 SSL 또는 TLS를 통해 네트워크를 보호하는 방법에 대한 지침 세트이다. 따라서 암호 그룹은 HTTPS, FTPS,SMTP 및 기타 네트워크 프로토콜을 사용할 때 보안 데이터를 통신하는 방법에 대한 필수 정보를 제공한다.

암호 그룹은 서버가 안전하고 안정적인 연결을 만드는 데 사용해야 하는 이러한 알고리즘을 지시한다.

암호 그룹 작동 방식

암호 그룹은 클라이언트와 서버가 SSL/TLS 연결을 통해 정보를 교환하기 전에 작동한다.
클라이언트 애플리케이션은 SSL 핸드셰이크라고 알려진 것을 시작한다.

이 프로세스 과정에서 지원하는 암호 그룹을 서버에 알린다.

서버는 해당 정보를 수신하고 클라이언트 애플리케이션에서 지원하는 암호 그룹을 지원하는 알고리즘과 비교한다.

지원하는 메서드와 일치하는 것을 찾으면 서버는 클라이언트 애플리케이션에 알리고 보안 연결이 설정된다. 일치하는 것을 찾지 못하면 서버는 연결을 거부한다.

암호 그룹 구성

키 교환 알고리즘

SFTP 및 HTTPS와 같은 다양한 보안 파일 전송 프로토콜을 통해 데이터를 전송하는 동안 데이터 기밀성을 보장하려면 데이터를 암호화해야 한다. 이 과정에서 두 통신 당사자가 데이터를 암호화하고 해독하기 위한 공유 키를 가져야 한다. (대칭 암호화)

  • 대칭 암호화의 약점: 공격자가 공유 키를 얻을 수 있다면 모든 데이터를 쉽게 해독할 수 있다. -> 안전하지 않은 네트워크에서 대칭 키를 안전하게 교환하기 위한 키 교환 프로토콜 개발. 이런 것을 '키 교환 알고리즘'이라 하며 RSA, DH, ECDH 및 ECDHE이다.

인증 알고리즘

정확하고 안전한 데이터 전송을 보장하기 위해 웹 서버는 데이터를 수신하는 사용자의 신원을 확인해야 한다. 일반적으로 이 프로세스에는 사용자가 사용자 이름과 비밀번호를 포함한 일련의 자격 증명을 입력하는 것이 포함된다. 이 인증 프로세스를 용이하게 하기 위해 암호 그룹은 RSA, DSA 및 ECDSA와 같은 인증 알고리즘을 사용한다.

대량 데이터 암호화

데이터의 안전한 전송을 보장하기 위해 암호 그룹에는 대량 데이터 암호화 알고리즘이 제공된다. 대량 암호화 키는 CryptHashSessionKey를 사용하여 MAC키 중 하나를 메시지 내용 및 기타 데이터와 함께 해싱하여 생성된다.

메시지 인증 코드(MAC) 알고리즘

메시지를 인증하기 위해 메시지 내용과 함께 전송되는 정보이다. 발신자와 수신자는 MAC 알고리즘이 작동할 수 있도록 공통 키를 공유한다.

이 방법의 단점

  • 인증 코드의 의도적인 변경을 방지할 수 없다.
  • 침입자가 메시지를 변경한 다음 새 체크섬을 계산하고 원래 체크섬을 새 값으로 바꿀 수 있다.
  • 일반적으로 순환 중복 검사(CRC) 알고리즘이 도움이 될 수 있지만, 공격자가 의도적으로 변경한 내용이 아닌 메시지의 무작위로 손상된 부분만 감지하는 데 유용하다.
  • 예) SHA, MD5

TLS 1.2 & TLS 1.3

TLS1.3은 TLS1.2의 가장 큰 단점 중 하나인 SSL/TLS 핸드셰이크를 처리하는 데 걸리는 시간을 해결하기 위해 개발되었다.

profile
함께 있고 싶은 사람, 함께 일하고 싶은 개발자

0개의 댓글