当前位置: 首页 > news >正文

【密码学实战】基于SCTP的DTLS协议实验

【免费下载链接】openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
 项目地址:https://gitcode.com/openHiTLS/openhitls

1. 实验目的

通过调用 openHiTLS 功能,实施了对基于 SCTP 的 DTLS 协议的通信测试,以验证其安全通信功能的有效性。

2. 实验相关知识

openHiTLS 是一款高度安全的全面自研密码套件,旨在打造极全特性、极致性能、极高信任的技术领先的密码套件,通过轻量级、可剪裁的软件技术架构,满足各行业不同场景的多样化要求,让应用安全更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座。

3. 实验环境

系统环境:
安装了 sctp 依赖的 Ubuntu 20.04

密码库:
openHiTLS

环境准备

1)部署安装 openHiTLS,准备源码

sh

git clone --recurse-submodules https://gitcode.com/openhitls/openhitls.git

2)安装依赖,配置编译选项

sh

# 由于DTLS特性依赖sctp,默认sctp是关闭,如需开启,需要提前预装sctp依赖。
sudo apt install libsctp-dev # Ubuntu
cd openHiTLS
mkdir -p ./build
cd ./build
python3 ../configure.py --add_options="-O0 -g" --enable-sctp --enable uio_sctp # 默认情况下sctp选项关闭,需要在配置项中开启
cmake ..
make -j

3)构建结果安装

make install

4. 实验步骤

4.1 编译代码

1)将附件dtls.zip解压到 dtls 目录下

2)cd dtls 进入目录

3)修改代码中的宏定义 CERTS_PATH 为证书路径

4)编译服务端和客户端测试代码

sh

gcc -I<openHiTLS头文件安装路径>/crypto -I<openHiTLS头文件安装路径>/bsl -I<openHiTLS头文件安装路径>/tls -I/path/to/openhitls-dev/platform/Secure_C/include dtlss.c -g -o dtlss -pthread -lhitls_tls -lhitls_x509 -lhitls_crypto -lhitls_bsl -lboundscheck -lsctp -L<openHiTLS动态库安装路径>
gcc -I<openHiTLS头文件安装路径>/crypto -I<openHiTLS头文件安装路径>/bsl -I<openHiTLS头文件安装路径>/tls -I/path/to/openhitls-dev/platform/Secure_C/include dtlsc.c -g -o dtlsc -pthread -lhitls_tls -lhitls_x509 -lhitls_crypto -lhitls_bsl -lboundscheck -lsctp -L<openHiTLS动态库安装路径>

4.2 执行服务端及客户端程序

当服务端开始监听、命令行程序进入阻塞状态后,运行客户端程序,应看到如图所示的输出。

image

4.3 查看 DTLS 数据包

若在服务端与客户端进行通信的过程中抓包并对 SCTP 协议进行过滤,应能捕获到如图所示的数据包流量。

image

4.4 查看代码

vim dtlss.c

image

vim dtlsc.c

image

5. 实验结果分析与思考

通过调用 openHiTLS 功能,实施了对基于 SCTP 的 DTLS 协议的通信测试,验证了其安全通信功能的有效性。

http://www.lryc.cn/news/620780.html

相关文章:

  • springboot项目不同平台项目通过http接口AES加密传输
  • AR技术赋能电力巡检:智能化升级的“秘密武器”
  • MicroVM-as-a-Service 后端服务架构设计与实现
  • 顺序表插入删除
  • 常见的Jmeter压测问题
  • OpenCV 视频处理全解析
  • 力扣-295.数据流的中位数
  • 11、C 语言字符串函数总结
  • OpenCV 高斯模糊降噪
  • npm删除包
  • PyCharm性能优化与大型项目管理指南
  • C++:浅尝gdb
  • YouBallin正式上线:用Web3重塑创作者经济
  • 一种适用于 3D 低剂量和少视角心脏单光子发射计算机断层成像(SPECT)的可泛化扩散框架|文献速递-深度学习人工智能医疗图像
  • HTML <link rel=“preload“>:提前加载关键资源的性能优化利器
  • 【AAAI2025】计算机视觉|即插即用|FSTA:炸裂!这个即插即用模块,让你的SNN性能起飞!
  • DeepSeek补全IBM MQ 9.4 REST API 执行命令的PPT
  • 爬虫数据存储全攻略:从 Robots 协议到文件存储
  • 【深度学习新浪潮】VGGT待提升点分析及解决方案的思考
  • 基于大语言模型的爬虫数据清洗与结构化
  • pdf文件流或者本地文件读取
  • 掌握MATLAB三维可视化:从基础到实战技巧
  • OpenCV Canny 边缘检测
  • 【js】让项目支持倾听和朗读AI技术
  • OpenCV图像平滑处理方法详解
  • tp5集成elasticsearch笔记
  • 开疆智能Ethernet转ModbusTCP网关连接UR机器人配置案例
  • ComfyUI工作流不动了?
  • OpenCV 形态学操作
  • Spring AI PagePdfDocumentReader 全解析:基于 Apache PdfBox 的按页 PDF 读取实战