TLS(Transport Layer Security)는 도청을 방지하기위해 서로 자신을 신뢰할 수 있음을 나타내는 전자 서명이 포함된 인증서를 포함해 통신내용을 암호화한 통신 프로토콜을 의미한다. 우리가 웹브라우저를 이용할 때 주소창에 자물쇠 아이콘이 뜨는것으로 TLS의 적용 여부를 확인할 수 있다. TLS위에 HTTP를 올린 것을 HTTPS(HTTP Secure)라고하는데 이 경우에는 http://가 아닌 https://로 표시한다.
다음으로는 TLS의 버전에 대해 이야기하고자한다. TLS는 1.2 이전 버전의 경우 너무 오래되서 호환을 고려한 부분에 보안상의 이유로 현재 지원하지 않는 경우가 많다. 그래서 요즘 사용되는게 TLS1.2와 TLS1.3이다.
TLS1.2와 TLS1.3의 차이를 설명하기에 앞서 우선 사이퍼 수트에 대해 알아보자.
사이퍼 수트(Cipyer suite)란 키교환 알고리즘, 암호화/복호화, 인증, HASH기술을 어떤 것을 사용할지 정해둔 통신 프로토콜이다.
아래와 같은 TLS1.2의 사이퍼 수트가 있다고 가정해보자.
TLS_DHE_RSA_AES128_SHA1
이 사이퍼 수트의 경우에는 아래와 같은 알고리즘을 사용한다는 것을 의미한다.
키 교환 알고리즘: DHE
인증 알고리즘: RSA
암호화 알고리즘: AES128
HASH 알고리즘: SHA1
차이점1. 축소된 사이퍼 수트
TLS1.2의 경우에는 수십개의 사이퍼 수트를 지원하지만 실제로 안정하다고 여겨지는 것은 얼마되지 않는다.
TLS1.3으로 업그레이드 되면서 지원하는 사이퍼 수트 리스트는 아래와 같다. 추가로 TLS1.3은 하위버전인 TLS1.2를 호환해주기 때문에 통신이 가능하다.
- TLS_AES_128_GCM_SHA256
- TLS_AES_256_GCM_SHA384
- TLS_CHACHA20_POLY1305_SHA256
- TLS_AES_128_CCM_SHA256
- TLS_AES_128_CCM_8_SHA256
TLS1.3 버전의 경우 TLS1.2와는 구성이 조금 다르다.
TLS_AES_128_GCM_SHA256를 예로들면 아래와 같다.
암호화 알고리즘: AES-128
MAC 알고리즘: GCM
HASH 알고리즘: SHA1
차이점2. 간소화된 핸드쉐이킹
핸드쉐이킹의 차이를 설명하기에 앞서 먼저 TLS의 핸드쉐이킹에 대해서 설명하자면 사이퍼 수트를 결정하고 키를 교환해 암호화 통신을 시작할 준비하는 것을 의미한다. TLS1.2와 TLS1.3의 핸드쉐이킹 차이는 아래와 같다.
그림과 같이 TLS1.3의 핸드쉐이킹은 TLS1.2보다 1 RTT가 줄었다. RTT(round trip time)이란 데이터를 상대방에게 보내고 응답받는데 걸리는 시간을 의미한다.
차이점3. 익스텐셜의 활용
TLS1.2의 경우는 핸드세이킹의 인증서, 키교환 메시지, Finished 메시지에 해당하는 정보를 TLS1.3의 경우에는 익스텐션에서 확인할 수 있다. 익스텐션에 대한 내용은 다음에 살펴보도록하자.
'Crypto' 카테고리의 다른 글
AES 알고리즘의 특징 및 Cipher Mode (1) | 2024.03.27 |
---|---|
AUTOSAR 그리고 표준 암호화 알고리즘 (0) | 2024.03.26 |
HASH에 관하여 (0) | 2022.11.03 |
CCM(Counter with CBC-MAC) 과 GCM(Galois / Counter Mode)의 차이 (0) | 2022.11.03 |
CBC와 ECB (0) | 2022.11.03 |