DTLS

덤프버전 :

파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
TCP 프로토콜 위에서 구현된 보안 소켓에 대한 내용은 TLS 문서
TLS번 문단을
TLS# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.




1. 개요
2. 배경
3. 표준
3.1. DTLS 1.0
3.2. DTLS 1.2
3.3. DTLS 1.3
3.4. DNS over DTLS
3.5. QUIC over DTLS
4. 호환성


1. 개요[편집]


Datagram Transport Layer Security, DTLS

UDP에서 SSL 기술이 구현된 암호화 프로토콜이다.

2. 배경[편집]


TCP는 종단간 흐름 제어 및 무결성 보장을 특징으로 하는 전송 계층의 프로토콜이다. 그러나 시간이 지날수록 전 세계의 인터넷 속도와 트래픽은 높아지는 데에 반해서 서버와 클라이언트 간의 오버헤드 문제가 더욱 심각해졌다. 이는 TCP에서 쓰인 알고리즘이 컴퓨팅 파워의 발전을 반영하지 못해 비효율적이기 때문이다. 그래서 TCP에서 구현된 웹 프로토콜인 HTTP도 연결 수립 과정에서 상당한 지연 시간을 발생시킨다.

한편, 2010년대에 들어 보다 빠른 웹 프로토콜을 구현하기 위하여 UDP를 기반으로 하는 QUICHTTP/3가 등장하였다. UDP 기반의 웹 프로토콜은 연결성 보장과 관련하여 트렌드에 맞게 구현함으로써 효율적인 성능과 무결성 보장을 가능케 한다. 그러나 이들 프로토콜도 암호화 프로토콜로써 TLS를 디폴트로 채택하였다. 웹 데이터 전송은 UDP로 하지만 암호화 관련 통신은 여전히 TCP를 이용하는 셈이다. QUIC 조차도 암호화는 TCP 기반의 TLS를 사용해야 했고 TLS 핸드쉐이크로 인한 병목 현상이 문제가 되었다. QUIC를 기반으로 하는 HTTP/3가 표준화가 이루어지는 현재 시점에서 이 문제를 해결해야 할 필요성이 생겼다.

DTLS는 TLS의 기능을 UDP 계층 위에 그대로 구현한 암호화 프로토콜로 UDP의 장점인 성능상의 이점을 암호화 핸드쉐이크 과정에서도 극대화할 수 있다. DTLS는 암호화 알고리즘과 헤더 구조 등은 TLS와 동일하며 TCP 대신에 UDP를 사용함으로써 더욱 빠른 암호화 과정을 보장한다.


3. 표준[편집]


DTLS는 TLS 1.1이 등장한 시기부터 표준화가 시작되었다. DTLS 소켓을 이용하는 HTTPS 프로토콜은 UDP 443 포트를 사용한다.


3.1. DTLS 1.0[편집]


DTLS 1.0은 TLS 1.1의 기술이 UDP 소켓에서 구현되는 표준이다. RFC 4347


3.2. DTLS 1.2[편집]


DTLS 1.2는 TLS 1.2의 기술이 UDP 소켓에서 구현되는 표준이다. RFC 6347


3.3. DTLS 1.3[편집]


DTLS 1.3은 TLS 1.3의 기술이 UDP 소켓에서 구현되는 표준이다. RFC 9147

3.4. DNS over DTLS[편집]


DNS over DTLS (DNSoD)는 DTLS 소켓을 이용하여 DNS 프로토콜을 구현하는 표준이다. UDP 853 포트를 사용한다. RFC 8094


3.5. QUIC over DTLS[편집]


구글 자체 프로토콜이였던 QUIC가 HTTP/3로 표준화됨에 따라서 IETF 측에서는 구글이 독자적으로 개발했던 QUIC 프로토콜의 파편화된 구현 알고리즘을 기존의 다른 프로토콜과 상호운용이 용이하도록 대폭 수정하는 과정을 진행중이다. QUIC 내에서 IETF 표준 대비 가장 큰 파편화를 보인 부분이 보안 소켓이다. IETF는 구글이 자체적으로 개발한 보안 소켓을 IETF 표준 프로토콜인 DTLS로 대체하는 QUIC over DTLS 표준을 만들고 있다. #

4. 호환성[편집]


아직까지 DTLS 프로토콜을 지원하는 유틸리티나 프로그램은 많지 않다.

  • Chrome: DTLS 1.0을 지원했으나 TLS 1.1과 함께 deprecated 되었다.
  • OpenSSL: 1.0.2버전부터 DTLS1.2를 지원한다.
  • NGINX: 시범적으로 DTLS 1.2를 지원하고 있다.

[각주]


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r554 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r554 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-23 10:26:06에 나무위키 DTLS 문서에서 가져왔습니다.