2011-08-10 2 views
8

UDP 트래픽을 보호해야합니다. DTLS 프로토콜이 최선의 방법이라고 이해합니다. IPsec과 같은 또 다른 기능이 있지만 사용하기 쉽지 않고 가능한 하드웨어 문제가 있기 때문에 적합하지 않습니다.UDP 보안 - OpenSSL 또는 GnuTls 또는 ...?

DTLS가 구현 된 일부 라이브러리가 있음을 발견했습니다. 이제 OpenSSL 또는 GnuTls를 선택하려고합니다. 사용하는 것이 더 나을 것이라고 조언 해 주시겠습니까? 단점이나 장점은 무엇입니까? 아니면 DTLS 지원이 구현 된 다른 라이브러리가있을 수 있습니까?

감사합니다.

+0

어떤 플랫폼/언어/개발 도구를 타겟팅하고 있습니까? –

+0

@Eugene Mayevski 현재 C/GCC/Linux를 사용하고 있습니다. 아마 나중에 Windows를 사용하고 있습니다. – Rom098

+1

openldap에있는 많은 사람은 gnutls에 문제가 있으며 openssl을 사용하도록 제안합니다. 이 링크를 확인해보십시오. http://www.openldap.org/lists/openldap-technical/201202/msg00379.html – HVNSweeting

답변

11

나는 도서관과 DTLS에 대한 다음과 같은 사실을 발견했습니다.

  1. DTLS를 지원하는 또 다른 lib 인 CyaSSL이 있지만 테스트 모드에서만 DTLS를 지원합니다.

  2. RFC 4347은 2006 년 4 월에 출시되었지만 OpenSSL은 2005 년부터 DTLS를 지원합니다 (v0.9.8). 많은 Linux 배포판에는이 버전이 포함되어 있습니다. OpenSSL API는보기 흉하게 보이지만 DTLS 구현이 안정적으로 보이는 것 같습니다.

  3. 2011 년 (v3.0.0)부터 GnuTls는 DTLS를 지원합니다. Linux에이 버전이 아직없는 것 같습니다. 예를 들어 Ubuntu 11.04는 v2.8.6을 사용하고 Ubuntu 11.10은 v3.0.0이 아니라 v2.10.5를 사용합니다. v3.0을 사용할시기는 없습니다. 수동으로 빌드 할 수 있지만 일부 배포판에서는 기본 지원이없는 라이브러리가 너무 많습니다.

  4. 이 라이브러리는 모두 다른 플랫폼 (예 : Windows)에서 사용할 수 있습니다.

  5. 알려진 OpenSSL 문제 : OpenSSL에는 기본적으로 DTLS에 대해 압축이 활성화되어 있지만, 그렇게해서는 안됩니다. OpenSSL v0.9.8 API는 압축을 비활성화하는 방법을 제공하지 않습니다. 메서드는 수동으로 구현해야합니다. 개인적으로 나는 GnuTls API를 선호, 유용성에 대해 말하기하지만, 시간에 OpenSSL을 사용하는 것이 더 바람직 보이는

    :

요약.

+1

라이센스를 확인하고 적합한 라이센스가있는 라이센스를 사용하고 있는지 확인하십시오. – jtchitty

5

IPsec은 가장 오래되었고 따라서 가장 호환성이 좋고 안정적이지만 sysadmin의 작업이 필요하며 초보자에게는 상당히 어려울 수 있습니다. DTLS는 응용 프로그램 측면에서 문제를 다루고 있습니다. 프로그래머는 기존 환경과 크게 단순화하고 통합 할 수 있습니다.

OpenSSL과 GnuTLS 사이의 선택은 거의 항상 라이센스 때문입니다. * 다음과 같은 내용을 표시해야 소프트웨어 기능이나 이것의 사용에 대해 언급

3. 모든 광고 자료 : * "이 제품은 OpenSSL Project에서 개발 한 소프트웨어가 포함 *

은 OpenSSL 라이센스는 광고 조항을 포함 OpenSSL Toolkit에 사용에 대한 위키 백과 (http://www.openssl.org/) "

GnuTLS :.

GnuTLS는 처음에 GNU 프로젝트 의 응용 프로그램에서 TLS와 같은 보안 프로토콜을 사용할 수 있도록 만들어졌습니다. OpenSSL이 이미 있지만, OpenSSL의 라이센스는 GPL과 호환되지 않으므로 [] GNU 소프트웨어와 같은 GPL에서 GPL 연결 예외를 작성하지 않고 을 사용하지 않으면 OpenSSL을 사용할 수 없습니다.

http://en.wikipedia.org/wiki/GnuTLS

+0

답해 주셔서 감사합니다. RFC 4347 준수, 플랫폼 호환성 또는 특정 버그와 관련된 문제점을 알고 있습니까? – Rom098

관련 문제