项目简介
本项目致力于实现无人机(UAV)与验证器(Verifier)间快速且安全的认证过程。借助物理不可复制函数(PUFs)和高性能可编程交换机,程序可在网络速度下完成每笔交易的认证。主要通过XDP(eXpress Data Path)在Linux内核处理网络数据包,使用BPF(Berkeley Packet Filter)对象进行数据包解析和修改。
项目的主要特性和功能
- 认证机制:运用挑战 - 响应机制,验证器生成挑战值并计算哈希值,无人机接收挑战后计算响应哈希值并返回,验证器验证哈希值以确认无人机身份。
- 多线程处理:支持多线程并行处理多个无人机的认证请求,提升系统并发性能。
- 数据完整性校验:利用CRC校验保障数据在传输过程中的完整性。
- 高性能网络处理:借助XDP和BPF技术,实现高效的网络数据包处理与认证过程。
安装使用步骤
环境准备
- 确保系统安装了支持XDP和BPF的Linux内核版本。
- 安装必要的开发工具和库,如GCC、Clang等。
编译程序
- 进入项目根目录,执行以下命令进行编译:
bash make
- 编译完成后,会生成验证器端和无人机端的可执行文件。
配置网络接口
配置验证器和无人机的网络接口,确保它们能相互通信。
运行程序
- 在验证器端运行可执行文件:
bash ./verifier
- 在无人机端运行可执行文件:
bash ./drone
测试认证过程
- 启动无人机和验证器程序后,无人机将发送认证请求,验证器接收到请求后进行挑战 - 响应认证过程。
- 观察验证器和无人机的日志输出,确认认证过程是否成功。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】