데이터그램 트랜스포트층 보안

Datagram Transport Layer Security

Datagram Transport Layer Security(DTLS; 데이터그램 트랜스포트층 보안)는 데이터그램 기반 응용 프로그램도청, 변조 또는 메시지 위조를 방지하기 위해[1][2] 설계된 방식으로 통신할 수 있도록 함으로써 보안 기능을 제공하는 통신 프로토콜입니다.DTLS 프로토콜은 스트림 지향 TLS(Transport Layer Security) 프로토콜을 기반으로 하며 유사한 보안 보장을 제공하기 위한 것입니다.DTLS 프로토콜 데이터그램은 기본 전송의 의미를 보존합니다. 응용 프로그램은 스트림 프로토콜과 관련된 지연을 겪지 않습니다. 그러나 UDP 또는 SCTP를 사용하기 때문에, 응용 프로그램은 패킷 재정렬, 데이터그램의 손실 및 데이터그램 네트워크 패킷 크기보다 큰 데이터를 처리해야 합니다.DTLS는 TCP가 아닌 UDP 또는 SCTP를 사용하기 때문에 VPN 터널 작성에 사용할 때 발생하는 "TCP 멜트다운 문제"[3][4]를 회피할 수 있습니다.

정의.

다음 문서에서 DTLS를 정의합니다.

  • 사용자 데이터그램 프로토콜(UDP)과 함께 사용하기 위한 RFC 9147
  • RFC 5238(Datagram Congestion Control Protocol(DCCP)과 함께 사용),
  • 무선 액세스 포인트(CAPWAP)의 제어와 프로비저닝에 사용하는 RFC 5415
  • RFC 6083(Stream Control Transmission Protocol(SCTP) 캡슐화와 함께 사용),
  • RFC 5764Secure Real-Time Transport Control Protocol(SRTCP)[5]사용한 드래프트에서 DTLS-SRTP라고 불립니다.

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

실장

라이브러리

DTLS 라이브러리 지원
실행 DTLS 1.0[1] DTLS 1.2[2]
보탄 네. 네.
cryptlib의 아니요. 아니요.
GnuTLS 네. 네.
Java Secure Socket Extension 네. 네.
LibreSSL 네. 네, 그렇습니다[7].
libsystools[8] 네. 아니요.
매트릭스SSL 네. 네.
mbed TLS(이전 PolarSSL) 네, 그렇습니다[9]. 네, 그렇습니다[9].
네트워크 보안 서비스 네, 그렇습니다[10]. 네, 그렇습니다[11].
OpenSSL 네. 네, 그렇습니다[12].
PyDTLS[13][14] 네. 네.
Python3-dtls[15][16] 네. 네.
RSA BSAFE 아니요. 아니요.
s2n 아니요. 아니요.
섀널 XP/2003, Vista/2008 아니요. 아니요.
섀널 7/2008R2, 2012/8/2012R2, 10 네, 그렇습니다[17]. 아니요[17].
섀널 10(1607), 2016 네. 네, 그렇습니다[18].
시큐어 트랜스포트 OS X 10.2 ~10.7 / iOS 1 ~4 아니요. 아니요.
시큐어 트랜스포트 OS X 10.8 ~10.10 / iOS 5 ~8 네, 그렇습니다[19]. 아니요.
SharkSSL 아니요. 아니요.
작은 것 아니요. 네.
와. 보안.DTLS [21] 아니요. 네.
wolfSSL(구 CyaSSL) 네. 네.
@syslogertc/dtls 아니요. 네.
java-dtls[24] 네. 네.
pion/dtls[25](시작) 아니요. 네.
칼리포늄/스칸듐[26](자바) 아니요. 네.
SNF4J[27](자바) 네. 네.
실행 DTLS 1.0 DTLS 1.2

적용들

  • Cisco AnyConnect VPN Client는 TLS를 사용하여 DTLS 기반 [28]VPN을 개발했습니다.
  • OpenConnect는 (D)를 지원하는 오픈소스 AnyConnect 호환 클라이언트 및 ocserv 서버입니다.TLS.[29]
  • Cisco InterCloud Fabric은 DTLS를 사용하여 프라이빗 컴퓨팅 환경과[30] 퍼블릭 컴퓨팅 환경/프로바이더 컴퓨팅 환경 간에 터널을 형성합니다.
  • ZScaler 2.0(일반적인 ZTN 솔루션)은 터널링에 DTLS를 사용합니다.
  • F5 Networks Edge VPN Client는 TLS 및 DTLS를[32] 사용합니다.
  • Citrix Systems NetScaler는 DTLS를 사용하여 UDP 보호[33]
  • 웹 브라우저: Google Chrome, Opera Firefox는 WebRTC용 DTLS-SRTP를[34] 지원합니다.Firefox 86 이후에는 DTLS 1.0을 [35]지원하지 않습니다.

취약성

2013년 2월 런던대학교 Royal Halloway의 두 연구자는 암호 블록 체인 모드 암호화를 사용할 때 DTLS의 OpenSSL 또는 GnuTLS 구현을 사용하여 DTLS 연결에서 평문을 복구할 수 있는 타이밍[36] 공격을 발견했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Rescorla, Eric; Modadugu, Nagendra (April 2006). Datagram Transport Layer Security. doi:10.17487/RFC4347. RFC 4347.
  2. ^ a b c Rescorla, Eric; Modadugu, Nagendra (January 2012). Datagram Transport Layer Security Version 1.2. doi:10.17487/RFC6347. RFC 6347.
  3. ^ Titz, Olaf (2001-04-23). "Why TCP Over TCP Is A Bad Idea". Retrieved 2015-10-17.
  4. ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (October 2005). "Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency". In Atiquzzaman, Mohammed; Balandin, Sergey I (eds.). Performance, Quality of Service, and Control of Next-Generation Communication and Sensor Networks III. Vol. 6011. Bibcode:2005SPIE.6011..138H. CiteSeerX 10.1.1.78.5815. doi:10.1117/12.630496. S2CID 8945952.
  5. ^ Peck, M.; Igoe, K. (2012-09-25). "Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP)". IETF.
  6. ^ "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3".
  7. ^ "LibreSSL 3.3.2 Release Notes". The OpenBSD Project. 2021-05-01. Retrieved 2021-06-13.
  8. ^ Julien Kauffmann. "libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL". SourceForge.
  9. ^ a b "mbed TLS 2.0.0 released". ARM. 2015-07-13. Retrieved 2015-08-25.
  10. ^ "NSS 3.14 release notes". Mozilla Developer Network. Mozilla. Archived from the original on 2013-01-17. Retrieved 2012-10-27.
  11. ^ "NSS 3.16.2 release notes". Mozilla Developer Network. Mozilla. 2014-06-30. Retrieved 2014-06-30.
  12. ^ "As of version 1.0.2". The OpenSSL Project. The OpenSSL Project. 2015-01-22. Retrieved 2015-01-26.
  13. ^ Ray Brown. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  14. ^ Ray Brown. "DTLS for Python". Python Software Foundation.
  15. ^ Ray Brown/Mobius Software LTD. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  16. ^ Ray Brown/Mobius Software LTD. "DTLS for Python3 Based on PyDTLS". Python Software Foundation.
  17. ^ a b "An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1". Microsoft. Retrieved 13 November 2012.
  18. ^ Justinha. "TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016". docs.microsoft.com. Retrieved 2017-09-01.
  19. ^ "Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues". iOS Developer Library. Apple Inc. Retrieved 2012-05-03.
  20. ^ Olaf Bergmann. "tinydtls". Eclipse Foundation.
  21. ^ Peter Waher. "Waher.Security.DTLS". Waher Data AB.
  22. ^ Dmitriy Tsvettsikh. "Secure UDP communications using DTLS in pure js". GitHub.
  23. ^ Dmitriy Tsvettsikh. "DTLS in pure js". npm.
  24. ^ Mobius Software LTD. "Non blocking Java DTLS Implementation based on BouncyCastle and Netty". Mobius Software LTD.
  25. ^ Sean DuBois. "pion/dtls: DTLS 1.2 Server/Client implementation for Go". GitHub.
  26. ^ "californium/scandium: DTLS 1.2 Server/Client implementation for java and coap. Includes connection id extension". Eclipse Foundation.
  27. ^ SNF4J.ORG. "Simple Network Framework for Java (SNF4J)". GitHub.
  28. ^ "AnyConnect FAQ: tunnels, reconnect behavior, and the inactivity timer". Cisco. Retrieved 26 February 2017.
  29. ^ "OpenConnect". OpenConnect. Retrieved 26 February 2017.
  30. ^ "Cisco InterCloud Architectural Overview" (PDF). Cisco Systems.
  31. ^ "ZScaler ZTNA 2.0 Tunnel". ZScaler.
  32. ^ "f5 Datagram Transport Layer Security (DTLS)". f5 Networks.
  33. ^ "Configuring a DTLS Virtual Server". Citrix Systems.
  34. ^ "WebRTC Interop Notes". Archived from the original on 2013-05-11.
  35. ^ "Firefox 86.0, See All New Features, Updates and Fixes". Mozilla. 2021-02-23. Archived from the original on 2021-02-22. Retrieved 2021-02-23. From Firefox 86 onward, DTLS 1.0 is no longer supported for establishing WebRTC's PeerConnections. All WebRTC services need to support DTLS 1.2 from now on as the minimum version.
  36. ^ 데이터그램 TLS에 대한 평문 회복 공격

외부 링크