맨위로가기

데이터그램 전송 계층 보안

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

데이터그램 전송 계층 보안(DTLS)은 여러 RFC 문서에 의해 정의되며, 사용자 데이터그램 프로토콜(UDP) 등과 함께 사용하기 위한 보안 프로토콜이다. DTLS는 TLS 1.1, TLS 1.2, TLS 1.3을 기반으로 하며, DTLS 1.3은 TLS 1.3과 동등한 보안을 제공한다. 다양한 프로그래밍 언어 및 운영 체제에서 DTLS를 지원하는 라이브러리가 존재하며, AnyConnect VPN 클라이언트, 오픈커넥트, Cisco InterCloud Fabric, Cato Networks, Zscaler 터널 2.0 등 다양한 애플리케이션에서 사용된다. 2013년에는 CBC 모드 암호화를 사용할 때 타이밍 공격에 취약하다는 점이 발견되었다.

더 읽어볼만한 페이지

  • 세션 계층 프로토콜 - SPDY
    SPDY는 웹 페이지 로딩 속도 향상을 위해 구글에서 개발한 네트워크 프로토콜로, HTTP의 전송 방식을 재정의하여 헤더 압축, 다중화, 우선순위 지정, 서버 푸시 등의 기능을 제공하고 HTTP/2 개발에 영향을 미쳤으나 현재는 지원이 중단되었다.
  • 세션 계층 프로토콜 - SOCKS
    SOCKS는 인터넷 트래픽을 프록시 서버를 통해 라우팅하는 클라이언트-서버 프로토콜이며, 여러 버전이 존재하고 IPv6, UDP, DNS 조회 등을 지원하며, 인터넷 필터링 우회, VPN 기능 제공 등 다양한 용도로 사용된다.
  • 가상사설망 - IPsec
    IPsec은 IP 네트워크에서 보안 통신을 제공하기 위한 프로토콜 스위트로서, 전송 모드와 터널 모드를 지원하며, AH, ESP 등의 프로토콜을 사용하여 데이터 무결성, 인증, 기밀성을 제공하고, IKE 프로토콜을 통해 보안 연결을 설정 및 키를 교환하는 개방형 표준이다.
  • 가상사설망 - 계층 2 터널링 프로토콜
    계층 2 터널링 프로토콜(L2TP)은 두 네트워크 노드 간 터널을 생성하여 데이터를 전송하는 데 사용되는 네트워크 프로토콜로, L2F와 PPTP에서 비롯되어 RFC 2661로 표준화되었으며, 자체 보안 기능이 없어 IPsec과 함께 사용되어 L2TP/IPsec으로 보안을 강화한다.
  • 암호 프로토콜 - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • 암호 프로토콜 - IPsec
    IPsec은 IP 네트워크에서 보안 통신을 제공하기 위한 프로토콜 스위트로서, 전송 모드와 터널 모드를 지원하며, AH, ESP 등의 프로토콜을 사용하여 데이터 무결성, 인증, 기밀성을 제공하고, IKE 프로토콜을 통해 보안 연결을 설정 및 키를 교환하는 개방형 표준이다.
데이터그램 전송 계층 보안
개요
이름데이터그램 전송 계층 보안
영문명Datagram Transport Layer Security
약자DTLS
종류통신 프로토콜
상세 정보
RFCRFC 4347
RFC 6347
RFC 9147
참고 사항
관련 문제TCP over TCP (TCP 터널링) 문제 발생 가능

2. 정의

DTLS는 다음 RFC 문서들에 의해 정의된다.[54][59]

프로토콜RFC 문서설명
사용자 데이터그램 프로토콜(UDP)9147UDP와 함께 사용하기 위한 DTLS 정의
데이터그램 혼잡 제어 프로토콜(DCCP)5238DCCP와 함께 사용하기 위한 DTLS 정의
무선 액세스 포인트 제어 및 프로비저닝(CAPWAP)5415CAPWAP와 함께 사용하기 위한 DTLS 정의
스트림 제어 전송 프로토콜(SCTP)6083SCTP 캡슐화와 함께 사용하기 위한 DTLS 정의
보안 실시간 전송 프로토콜(SRTP)5764SRTP와 함께 사용하기 위한 DTLS 정의. 이후 보안 실시간 전송 제어 프로토콜(SRTCP)을 포함하는 초안에서 DTLS-SRTP로 불린다.[58]



DTLS 1.0은 TLS 1.1을 기반으로 하고, DTLS 1.2는 TLS 1.2를 기반으로 하며, DTLS 1.3은 TLS 1.3을 기반으로 한다. 버전 번호를 TLS와 조화시키기 위해 DTLS 1.1은 건너뛰었기 때문에 존재하지 않는다.[54] 이전 DTLS 버전과 마찬가지로 DTLS 1.3은 "주문 보호/재생 불가능성을 제외하고 [TLS 1.3과] 동등한 보안 보장"을 제공하기 위한 것이다.[59]

3. 구현

DTLS는 다양한 프로그래밍 언어 및 운영 체제에서 지원되며, 여러 라이브러리와 WebRTC 등의 애플리케이션에서 구현되어 사용되고 있다.

3. 1. 라이브러리

DTLS에 대한 라이브러리 지원
구현DTLS 1.0DTLS 1.2DTLS 1.3
Botan지원지원
cryptlib미지원미지원
GnuTLS지원지원
Java Secure Socket Extension지원지원
LibreSSL지원지원[5]
libsystools[6]지원미지원
MatrixSSL지원지원
mbed TLS (이전 PolarSSL)지원[7]지원[7]
Network Security Services지원[8]지원[9]
OpenSSL지원지원[10]
PyDTLS[11][12]지원지원
Python3-dtls[13][14]지원지원
RSA BSAFE미지원미지원
s2n미지원미지원
Schannel XP/2003, Vista/2008미지원미지원
Schannel 7/2008R2, 8/2012, 8.1/2012R2, 10지원[15]미지원[15]
Schannel 10 (1607), 2016지원지원[16]
Secure Transport OS X 10.2–10.7 / iOS 1–4미지원미지원
Secure Transport OS X 10.8–10.10 / iOS 5–8지원[17]미지원
SharkSSL미지원미지원
tinydtls [18]미지원지원
Waher.Security.DTLS [19]미지원지원
wolfSSL (이전 CyaSSL)[20]지원지원지원
@nodertc/dtls [21][22]미지원지원
java-dtls[23]지원지원
pion/dtls[24] (Go)미지원지원
californium/scandium[25] (Java)미지원지원
SNF4J[26] (Java)지원지원



다양한 프로그래밍 언어 및 운영 체제에서 DTLS를 지원하는 라이브러리가 존재한다. 주요 DTLS 라이브러리 및 지원 버전은 위 표와 같다.

3. 2. 애플리케이션

다음은 DTLS를 사용하는 주요 애플리케이션이다.

  • 시스코 AnyConnect VPN 클라이언트는 TLS를 사용하며 DTLS 기반 VPN을 발명했다.[27] 오픈커넥트(OpenConnect)는 (D)TLS를 지원하는 오픈 소스 AnyConnect 호환 클라이언트 및 ocserv 서버이다.[28]
  • 시스코 인터클라우드 패브릭(Cisco InterCloud Fabric)은 DTLS를 사용하여 개인 및 공용/제공자 컴퓨팅 환경 간의 터널을 형성한다.[29]
  • 카토 네트웍스(Cato Networks)는 Cato Socket과 Cato ZTNA(구 SDP) 클라이언트가 Cato POP에 대한 터널을 형성할 때[30]와 Cato 소켓 간의 오프 클라우드 터널을 형성할 때 사용되는 언더레이 터널에 DTLS v1.2를 사용한다.[31]
  • Z스케일러(Zscaler) 터널 2.0은 터널링에 DTLS를 사용한다.[32]
  • F5 네트웍스(F5 Networks) Edge VPN 클라이언트는 TLS와 DTLS를 사용한다.[33]
  • 포티넷(Fortinet)의 SSL VPN[34] 및 어레이 네트웍스(Array Networks) SSL VPN[35] 또한 VPN 터널링에 DTLS를 사용한다.
  • 시트릭스 시스템즈(Citrix Systems) NetScaler는 UDP를 보호하기 위해 DTLS를 사용한다.[36]
  • 구글 크롬, 오페라, 파이어폭스는 WebRTC에 DTLS-SRTP를 지원한다.[37] 파이어폭스 86 이상 버전은 DTLS 1.0을 지원하지 않는다.[38]
  • 원격 데스크톱 프로토콜 8.0 이상.
  • ChromeOS, 구글 크롬(Google Chrome), 모질라 파이어폭스(Mozilla Firefox), 오페라 (웹 브라우저)(Opera)는 WebRTC를 위해 DTLS-SRTP를 지원한다[51].

4. 취약점

2013년, 런던 대학교 로열 할러웨이 연구진은 암호 블록 체이닝(CBC) 모드 암호화를 사용할 때 DTLS의 OpenSSL 또는 GnuTLS 구현에서 평문을 복구할 수 있는 타이밍 공격[39][52]을 발견했다.

참조

[1] 웹사이트 Why TCP Over TCP Is A Bad Idea http://sites.inka.de[...] 2001-04-23
[2] 간행물 Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency 2005-10
[3] 웹사이트 Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP) https://tools.ietf.o[...] IETF 2012-09-25
[4] 웹사이트 The Datagram Transport Layer Security (DTLS) Protocol Version 1.3 https://datatracker.[...]
[5] 웹사이트 LibreSSL 3.3.2 Release Notes https://ftp.openbsd.[...] The OpenBSD Project 2021-05-01
[6] 웹사이트 libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL http://sourceforge.n[...] SourceForge
[7] 웹사이트 mbed TLS 2.0.0 released https://tls.mbed.org[...] ARM 2015-07-13
[8] 웹사이트 NSS 3.14 release notes https://developer.mo[...] Mozilla 2012-10-27
[9] 웹사이트 NSS 3.16.2 release notes https://developer.mo[...] Mozilla 2014-06-30
[10] 웹사이트 As of version 1.0.2 https://www.openssl.[...] The OpenSSL Project 2015-01-22
[11] 웹사이트 pydtls - Datagram Transport Layer Security for Python https://github.com/r[...] GitHub
[12] 웹사이트 DTLS for Python https://pypi.python.[...] Python Software Foundation
[13] 웹사이트 pydtls - Datagram Transport Layer Security for Python https://github.com/m[...] GitHub
[14] 웹사이트 DTLS for Python3 Based on PyDTLS https://pypi.python.[...] Python Software Foundation
[15] 웹사이트 An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1 http://support.micro[...] Microsoft 2012-11-13
[16] 웹사이트 TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016 https://docs.microso[...] 2017-09-01
[17] 웹사이트 Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues https://developer.ap[...] Apple Inc. 2012-05-03
[18] 웹사이트 tinydtls https://projects.ecl[...] Eclipse Foundation
[19] 웹사이트 Waher.Security.DTLS https://www.nuget.or[...] Waher Data AB
[20] 웹사이트 wolfSSL Embedded SSL/TLS Library https://www.wolfssl.[...]
[21] 웹사이트 Secure UDP communications using DTLS in pure js https://github.com/n[...] GitHub
[22] 웹사이트 DTLS in pure js https://www.npmjs.co[...] npm
[23] 웹사이트 Non blocking Java DTLS Implementation based on BouncyCastle and Netty https://github.com/m[...] Mobius Software LTD
[24] 웹사이트 pion/dtls: DTLS 1.2 Server/Client implementation for Go https://github.com/p[...] GitHub
[25] 웹사이트 californium/scandium: DTLS 1.2 Server/Client implementation for java and coap. Includes connection id extension. https://github.com/e[...] Eclipse Foundation
[26] 웹사이트 Simple Network Framework for Java (SNF4J). https://github.com/s[...] GitHub
[27] 웹사이트 AnyConnect FAQ: tunnels, reconnect behavior, and the inactivity timer http://www.cisco.com[...] Cisco 2017-02-26
[28] 웹사이트 OpenConnect https://www.infradea[...] OpenConnect 2017-02-26
[29] 웹사이트 Cisco InterCloud Architectural Overview http://www.cisco.com[...] Cisco Systems
[30] 웹사이트 Cato Networks Cipher Suites Used by the Cato Socket and SDP Client https://support.cato[...]
[31] 웹사이트 Cato Networks Routing Traffic to an Off-Cloud Link https://support.cato[...]
[32] 웹사이트 ZScaler ZTNA 2.0 Tunnel https://help.zscaler[...] ZScaler
[33] 웹사이트 f5 Datagram Transport Layer Security (DTLS) https://f5.com/gloss[...] f5 Networks
[34] 웹사이트 Using DTLS to improve SSL VPN performance https://community.fo[...] Fortinet 2016-02-25
[35] 웹사이트 array.c from OpenConnect https://gitlab.com/o[...] 2022-05-23
[36] 웹사이트 Configuring a DTLS Virtual Server http://docs.citrix.c[...] Citrix Systems
[37] 웹사이트 WebRTC Interop Notes https://sites.google[...]
[38] 웹사이트 Firefox 86.0, See All New Features, Updates and Fixes https://www.mozilla.[...] 2021-02-23
[39] 웹사이트 Plaintext-Recovery Attacks Against Datagram TLS http://www.isg.rhul.[...]
[40] 웹사이트 Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP) https://tools.ietf.o[...] IETF 2014-06-29
[41] 웹사이트 libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL http://sourceforge.n[...] Sourceforge 2014-07-02
[42] 웹사이트 mbed TLS 2.0.0 released https://tls.mbed.org[...] ARM 2015-08-26
[43] 웹사이트 NSS 3.14 release notes https://developer.mo[...] Mozilla 2014-07-02
[44] 웹사이트 NSS 3.16.2 release notes https://developer.mo[...] Mozilla 2014-07-02
[45] 웹사이트 pydtls - Datagram Transport Layer Security for Python https://github.com/r[...] GitHub 2014-07-02
[46] 웹사이트 DTLS for Python https://pypi.python.[...] Python Software Foundation 2014-07-02
[47] 웹사이트 An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1 http://support.micro[...] Microsoft 2014-07-02
[48] 웹사이트 Windows 10 および Windows Server 2016 での TLS (Schannel SSP) の変更します。 https://docs.microso[...] 2017-09-01
[49] 웹사이트 Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues http://developer.app[...] Apple Inc. 2014-07-02
[50] 웹사이트 Cisco AnyConnect VPN Client http://www.cisco.com[...] Cisco 2014-06-29
[51] 웹사이트 WebRTC Interop Notes https://sites.google[...] 2014-06-29
[52] 웹사이트 Plaintext-Recovery Attacks Against Datagram TLS http://www.isg.rhul.[...] 2014-06-29
[53] 간행물 Datagram Transport Layer Security 2006-04
[54] 간행물 Datagram Transport Layer Security Version 1.2 2012-01
[55] 간행물 The Datagram Transport Layer Security (DTLS) Protocol Version 1.3 2022-04
[56] 웹인용 Why TCP Over TCP Is A Bad Idea http://sites.inka.de[...] 2001-04-23
[57] 콘퍼런스 Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency 2005-10
[58] 웹인용 Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP) https://tools.ietf.o[...] IETF 2012-09-25
[59] 웹인용 The Datagram Transport Layer Security (DTLS) Protocol Version 1.3 https://datatracker.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com