본문 바로가기

NETWORK Security/보안 프로토콜

TLS1.3 (3) - TLS1.3 과 기존 TLS 차이점

 

 

 

 


 

TLS1.3 (RFC 8446)

 

2018년 8월 IETF(Internet Engineering Task Force, 인터넷 프로토콜 정의 조직)에서 TLS의 최신 버전 표준화 배포

기존 사용하던 알고리즘 중 취약성이 존재하는 알고리즘을 제거하여 표준안 제시

더 빠른 보안 연결 속도와 보안 강화 제공

 

 


 

 

 

기존 TLS1.2 이하와 TLS1.3 의 차이점을 살펴보자.

 

 

1. 키 교환 알고리즘 & PFS

2.  인증 알고리즘

3. 암호화 및 해시 알고리즘

4. Handshake (0-RTT)

 

 


 

 

 

 

1. 키 교환 알고리즘 & PFS

 

기존 TLS 1.2 이하에서 사용되던 키 교환 알고리즘 중 RSA 와 SRP 등은 PFS 를 보장하지 않기 때문에 TLS 1.3 에서는 제거되었다.

그리고 ECDHE (, )가 추가되었다.

 

*ECDHE (Elliptic Curve Diffie-Hellman Exchange, 타원 곡선 임시 디피-헬만 키 교환)

: 세션 키의 사용 주기를 매우 짧게 하여 지속적으로 변경해주는 방식

*SRP : 인증 과정에서 password를 유추할 수 있는 직접적인 정보가 전달되지 않아 안전한 방식

*PSK (pre-shared key, 키 사전 공유)

: 비대칭 키 (공개 키) 암호의 키 배송 문제를 해결하기 위한 또 다른 키 교환 알고리즘으로,

키 관리기관 (TA, trust authority)이 사전에 임의의 두 사용자에게 비밀 경로를 통하여 임의의 키를 선택하고 전달할 수 있게 해줌

: 세션 재개 시 사용 됨

: 기존 TLS 1.2 이하에서 session ID 와 session ticket 에 해당하던 것

 

 

 


 

 

2. 인증 알고리즘

인증 알고리즘에서는, 

2048 bit 의 키 길이를 지원하는 RSA 와 비교해서 1024 bit 라는 짧은 키를 사용하는 DSA 는 TLS 1.3 에서 삭제되었다.

 

*DSA (Digital Signature Algorithm, 디지털 서명 알고리즘)

*EdDSA (Edwards-curve Digital Signature Algorithm, 에드워드 곡선 디지털 서명 알고리즘)

*ECDSA (Elliptic Curve Digital Signature Algorithm, 타원 곡선 디지털 서명 알고리즘)

 

 

 


 

 

3. 암호화 및 해시 알고리즘

 

암호화 및 해시 알고리즘 중 기존의 불안정한 항목 6가지는 제거되었으며,

트래픽을 잡아서 cipher suites 를 살펴보던 중 ChaCha20_Poly1305 알고리즘도 확인할 수 있었다.

찾아보니 ChaCha20_Poly1305 는 비교적 최근에 등장한 암호 알고리즘으로, TLS 1.2 에서도 사용 가능하다.

 

*ChaCha20 : 대칭 스트링 암호 알고리즘 중 하나

*Poly1305 : (지문)방법을 이용한 해시 알고리즘

: 다양한 소프트웨어 플랫폼에서 높은 성능 및 보안 수준을 제공하는 암호화 알고리즘

 

 

 


 

4. Handshake

TLS 1.3 에서 기존과 가장 큰 차이를 꼽으라면 단축 협상에서의 0-RTT 지원이라고 할 수 있을 것 같다.

 

 

 

 

 

 

 

 

다음은 RFC 8446 에 제시된 TLS 1.3 완전 협상 (1-RTT) 와 TLS 1.3 단축 협상 (0-RTT) Handshake 과정이다.

 

1-RTT

 

0-RTT

 

 

Handshake 과정을 살펴보면 알 수 있듯,

완전 협상에서는 전체 Handshake 과정이 기존 2-RTT 에서 1-RTT 로 단축되어 연결 속도가 향상되었다.

 

또한 세션 재개 시 0-RTT (제로 라운드 트립)을 지원한다.

첫 Handshake 완료 후 서버와 클라이언트에 공유된 암호 키(PSK)를 로컬에 저장하는데,

이 PSK를 통해 이전에 방문한 사이트로 첫 번째 메시지의 메시지를 전송하여 Handshake 과정 없이 바로 연결이 가능하다.

 

 

 

 

 

 

0-RTT 와 1-RTT에 대한 자세한 이해를 위해 환경 구축과 실습을 진행해보자.

 

 

 

 

 

 

 

참고

: blog.naver.com/PostView.nhn?blogId=cr0sscert&logNo=221706613801

: www.mobiinside.co.kr/2019/02/13/buzzvil-tls/