我应该如何在UDP套接字上实现安全
How Should I Implement Security On UDP Socket
我正在开发一个对等网络应用程序,但我无法解决如何在UDP套接字上提供安全性
我不想重新发明轮子,但我不知道应该选择哪种方法来实现安全性
我的想法是在每个对等体之间生成RSA密钥,并首先通过不安全的套接字共享这些密钥,并使用这些密钥保持连接的安全。但我不确定如何实施RSA,也不确定这是否是最安全的方法
通过的方式,我在这个项目中使用C++
非常感谢
您正在寻找DTLS,即Datagram TLS。
它就像您从HTTPS和各种其他安全点对点通信链路中了解到的TLS协议,但它是通过UDP实现的。您会发现它已经在各种库中实现,包括GnuTLS和OpenSSL。
从安全角度来看,TLS和DTLS之间的一个主要区别是,TLS将格式错误的消息定义为不可恢复的错误,而DTLS特别允许在这种情况下继续连接。这使得协议对哪怕是轻微的编码错误都更敏感(想想Lucky Third(,所以你最好不要尝试自己实现它。
相关文章:
- 在c++队列中使用pop和visit实现线程安全
- 如何使用winsock在c++应用程序中实现安全套接字通信
- 实现在多线程代码中安全恢复的断点
- 在C++线程内实现多个计时器的最安全方法
- 我是否需要在 OpenSSL 1.1.0+ 中使用加密锁定函数来实现线程安全?
- STR这个实现是否安全且可移植?
- 实现没有不安全服务器凭据的自定义 AuthMetadataProcessor
- 是否有很好的C 实现安全字符串
- 如何实现功能线程安全
- 线程安全堆栈实现
- 是否可以实现由数组组成的线程安全圆形增益?
- 双重检查单例线程的实现是否安全?
- 使用新线程在类似于 Scott Meyer 的单例习惯用法的实现中实例化单例是否安全?
- 使用括号运算符实现矩阵类的安全方法
- 如何使用自然外观的语法实现线程安全容器
- 是否有任何类型安全的、编译时检查的 printf 的实现
- LLVM:在程序内实现安全的多实例环境
- 实现安全空
- 在C++中使用SSPI实现安全连接-澄清一些术语
- 我应该如何在UDP套接字上实现安全