问题标签 [dtls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
758 浏览

c - ipv6 上的 DTLS 握手失败

我有一个 dtls 的演示代码,它适用于 ipv4。但是在我为 ipv6 修改它之后,它在握手阶段失败了。服务器代码如下:

客户端代码是:

SSL_accept 和 SSL_connect 似乎没有回报。我通过将 sockaddr_in 更改为 sockaddr_in6 来修改代码。openssl 版本为: 1.0.2h on linux

我还用wireshark抓到了包裹: 在此处输入图像描述 在此处输入图像描述

有人可以告诉我代码有什么问题吗?

0 投票
1 回答
1045 浏览

webrtc - 为什么在 WebRTC 中选择 DTLS-SRTP?


我想知道导致 DTLS-SRTP 成为 WebRTC 中保护媒体的方法的原因。
我想人们认为最好在信令平面之外交换 SRTP 密钥材料,但为什么不允许其他方法,如 SDES 呢?对我来说,它似乎比通过 DTLS 握手更快,并且如果您可以保证信令通道是安全的,则与 DTLS-SRTP 一样安全......

0 投票
0 回答
112 浏览

c - 编译 tinygroupdtls

我正在尝试在 Contiki 2.7 上编译 tinygroupdtls ( tindygroupdtls )。目前,我收到链接器错误。

我不确定 tinygroupdtls 文件夹中的源文件是否正在编译,并导致此问题...

以下是我的makefile:

项目生成文件

应用程序生成文件 (Makefile.tinygroupdtls)

谁能告诉我我在这里做错了什么?

谢谢

0 投票
0 回答
229 浏览

java - 没有 DTLS 的自定义 UDP 协议加密

背景信息

我正在编写一个自定义 UDP 协议,该协议针对通用用途,但可能会在游戏开发环境中使用。我的协议处理了 UDP 的所有问题,可靠性、排序和分片都得到了处理。我使用 UDP 是因为它具有灵活性,因为我可以发送一些不可靠的数据包和其他可靠的数据包。

问题

我希望我的协议被加密,我也很关心 MITM。我已经阅读了一些人的一些问题,他们也想加密他们的 UDP 协议,大多数人推荐 DTLS。然而,DTLS 的问题在于似乎没有人使用它。我找不到关于如何为我选择的语言 (Java) 设置客户端/服务器程序的体面的指南或文档。看起来唯一的选择是bouncycastle,但考虑到他们的客户端/服务器测试程序不能相互配合,这可能不是一个好主意。

然后我决定用 C 编写底层的数据包接收和发送代码,并使用 OpenSSL 来实现 DTLS。然后我会使用 JNA 调用我的 C 代码。然而,我再一次找不到关于如何进行 DTLS 的体面的指南或教程。我只能找到两个有帮助的,第一个只是遍历了通用 C 函数以按顺序调用。我的印象是您的应用程序必须自己进行客户端验证,因为我不知道该怎么做,所以它不是很有帮助。第二个只是一个原始的客户端/服务器程序,它在运行时可以工作,但经过仔细检查,它似乎禁用了客户端验证。

实际问题

我将如何通过 UDP 创建自己的加密传输系统?我读了一些关于 DHKE 的信息,但我不知道如何使用 UDP 在 Java 中编写一个好的实现,并且仔细检查似乎它并没有阻止 MITM。对于我的特定应用程序,我实际上可能不需要密钥交换,客户端实际上可以将密钥对与预先安装的服务器一起安装。走这条路行得通吗?(我可能只是用这对加密每个数据包主体并将其发送到服务器/客户端)

0 投票
0 回答
1320 浏览

c - getaddrinfo 错误 设备或资源忙

我正在尝试运行 FreeCoap ( https://github.com/keith-cullen/FreeCoAP ) 以便能够在 Intel Galileo gen 上与 COAP 和 DTLS 进行通信。2 板。我已经看到开箱即用的测试可以正确编译和运行(只要我现在能够测试)。

我已经看到它准备在 IPv6 上运行。我不是这方面的专家,但我看到它的值主机配置为 ::1,我理解的是本地主机。当我尝试将其更改为 IPv4(即 127.0.0.1 或板的实际 IP 地址)时,我遇到了错误。

我已经看到它使用 netdb.h 来创建服务器。

作为 getaddrinfo 的结果,我得到的是 -16 值,表示以下错误:

我已经尝试使用 searchignetstat -a并且没有使用这样的端口。

我错过了什么?什么资源很忙,不允许我获取地址?

0 投票
1 回答
1519 浏览

ssl - 为什么在 SCTP 上使用 DTLS?

当已经有TLS over SCTP时,为什么要使用D TLS over SCTP

这个想法有什么(好的)理由或优势吗?

0 投票
0 回答
437 浏览

arduino - 通过 Arduino 以太网 UDP 或 WIfi UDP 支持 DTLS

我也通过 EthernetUDP 和 WIFIUDP 实现了 COAP 协议。我现在需要添加数据报级传输层安全性 (DTLS)。EthernetUdp 或 WifiUdp 是否支持 DTLS ?

谢谢,乔蒂·拉吉·夏尔马

0 投票
1 回答
334 浏览

openssl - SCTP 连接的 DTLS 实现

我正在尝试为 SCTP 连接执行 DTLS。我通过网络搜索,发现许多实现都是指链接。但是这个链接不起作用。

http://sctp.fh-muenster.de/dtls-samples.html

有人可以使用 openSSL 在 SCTP 上共享 DTLS 的示例代码吗?openssl 的文档非常冗长,并没有很好地记录所有 API。

0 投票
1 回答
679 浏览

sockets - DTLS-Server 在第二个 ClientHello 之后没有正确回答

我正在使用与 UDP 不同的网络传输协议构建 DTLS 服务器和客户端设置。但是这个协议也是不可靠的,所以需要 DTLS。该协议使用无线电网络将数据从客户端传输到服务器,反之亦然。为了使其与 DTLS 兼容,接收到的数据随后通过 UDP-Client 转发到服务器端的 DTLS-Server,并通过 UDP-Server 转发到客户端的 DTLS-Client,两者都在 localhost 上工作。

作为基础,我使用了 mbedTLS 的程序/ssl 目录中给出的 DTLS 示例实现。由于在传输的情况下使用的协议不是 fastet,我通过使用 mbedtls_ssl_conf_handshake_timeout 函数调整了握手超时,这样就没有任何可能干扰实际数据传输的早期重传。这是根据需要工作的。

大约 2 分钟后,服务器收到第一个握手消息(ClientHello)。服务器使用 VerifyRequest 进行应答,再过 3 分钟,服务器收到客户端的应答 (ClientHello+Cookie)。但是,服务器没有发送 ServerHello,而是使用另一个 VerifyRequest 来回答,例如他忘记了第一次初始化 ClientHello。

我将收到的 ClientHello 消息与使用相同设置但 UDP 作为网络协议的 DTLS-Handshake 生成的一些消息进行了比较,它们几乎是等效的(除了随机部分和 cookie)。

我是否需要调整另一个超时计时器,以便服务器等待第二个 ClientHello 的时间更长?还是我忽略了另一件事?

如果您需要对问题的任何进一步描述,我会尽力提供。

我将不胜感激任何想法或提示。

0 投票
0 回答
619 浏览

openssl - 用于测试的 DTLS-SRTP 服务器,SRTP Master Key?

我正在尝试创建一个可以接受来自 webrtc 客户端的连接的客户端。我遇到困难的部分是 DTLS-SRTP 部分,我想获得原始 RTP 流。目前我正在使用带有 dtls 和 -use_srtp 的 openssl s_server。我能够获得 SRTP 流,但是没有主密钥我无法解密它(找不到让 openssl 转储密钥的方法..)。如果我能够获得在 dtls 中交换的主密钥,我可以解密数据包。

有人尝试做类似的事情吗?

谢谢