[네트워크] TLS에 대해 알아보자(+SSL)

jiwon·2024년 12월 14일
post-thumbnail

📌 SSL/TLS 란?

과거의 데이터는 일반적인 텍스트 형식으로 되어 있어 보안상 이슈가 있었다.
따라서 암호화 통신을 제공하기 위해 설계된 프로토콜로 나온 것이 SSL과 TLS이다.


* SSL (Secure Sockets Layer)

  • 암호화된 인터넷 통신을 처음 구현한 기술
  • 1990년대 중반 Netscape가 설계했으며, 온라인 거래와 데이터 보호를 목표로 했다.
  • SSL 2.0(1995년)과 SSL 3.0(1996년)이 주요 버전으로 발표됨.
  • 보안 취약점으로 인해 더 이상 사용되지 않으며, 모든 SSL버전은 사용 중단된 상태이다.

* TLS (Transport Layer Security)

  • SSL의 후속 프로토콜로, SSL 3.0을 기반으로 보안성과 성능을 개선하였다.
  • 1999년에 처음 발표된 TLS 1.0 이후 현재는 TLS 1.3(2018년)이 최신 버전이다.
    TLS 1.2와 1.3이 인터넷 표준으로 자리 잡았다.
  • 오늘날 HTTPS는 TLS 프로토콜을 사용하여, 'SSL'이라는 용어는 주로 관습적으로 사용될 뿐이다.



📌 SSL과 TLS의 기술적 차이

1. 암호화 알고리즘

  • SSL 은 오래된 알고리즘을 사용하며, 일부는 취약점이 발견되어 더 이상 안전하지 않다.
  • TLS는 AES-GCM, ChaCha20등 최신 알고리즘을 지원하여 더 강력한 보안을 제공한다.

2. 핸드쉐이크

  • SSL에서는 핸드쉐이크 과정이 덜 안전하고 데이터 유출 가능성이 존재한다.
  • TLS는 핸드쉐이크 중 메시지 인증 코드(MAC)을 사용하여 데이터 무결성을 보장하며, TLS 1.3에서는 이 과정을 더욱 간소화하고 안전하게 개선했다.

3. 키 교환

  • SSL은 주로 RSA 기반 키 교환을 사용하지만, 이는 현대적인 공격에 취약하다.
  • TLS는 RSA뿐만 아니라 DH, ECDH 등 보다 안전하고 효율적인 키 교환 방식을 지원한다.

4. 확장성

  • TLS는 애플리케이션 데이터, HTTPS, 이메일, 메시징 등 다양한 서비스와 통합이 가능하며, 확장성이 뛰어나다.


📌 TLS의 주요 기능

1. 암호화 (Encryption)

데이터를 암호화하여 제 3자가 내용을 읽을 수 없도록 한다.

2. 무결성 (Integrity)

데이터가 전송중에 변조되지 않았음을 보장한다.

3. 인증 (Authentication)

서버와 클라이언트 간의 신뢰를 구축하며, 주로 서버 인증서를 통해 이루어진다.



📌 TLS의 동작 방식

TLS는 아래 과정을 통해 데이터를 안전하게 전송한다.

1. 핸드쉐이크

  • 클라이언트와 서버가 서로의 암호화 알고리즘과 키를 교환한다.
  • 이 과정에서 인증서를 사용하여 서버의 신뢰성을 확인한다.

2. 대칭 키 생성

  • 핸드쉐이크 과정에서 공유된 키를 사용하여 데이터를 암호화한다.
  • 대칭 키 암호화는 빠르고 효율적으로 데이터 전송을 처리한다.

3. 데이터 전송

  • 암호화 된 데이터가 안전하게 전송되며, 수신자는 이를 복호화하여 내용을 확인한다.

profile
내가 보려고 올리는 개발 일지

0개의 댓글