# Lightweight Trusted Security Solution for IoT Devices Based on PUFs **Repository Path**: WatermelonBOBO/IoTPUF ## Basic Information - **Project Name**: Lightweight Trusted Security Solution for IoT Devices Based on PUFs - **Description**: 基于PUF的物联网设备轻量级可信安全方案 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2024-12-13 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 物联网技术目前应用于众多的应用场景。在物联网终端设备上收集的数据被传输到后端服务器,基于这些数据,服务器可以发布命令来控制物理对象。然而,如果终端设备被替换或这些设备的完整性被破坏,可能会造成严重后果,保护物联网核心的终端嵌入式设备被认为是应对这些安全风险的重要措施。物联网系统的智能终端设备往往缺乏安全机制,而且可能长期处于无人监管的状态。 为了提高物联网环境系统的安全性,确保数据源的可信度,我们专注于自动验证这些智能嵌入式设备的软件完整性和身份真实性,提出了基于PUF的轻量级物联网设备可信安全系统和实现过程。为了提高云服务器的安全性,本作品设计了云服务器对管理员身份的验证方案,并使用BCrypt与NTRU相结合的密码算法来提高口令存储的安全性。此外,在设置或初始化阶段,我们需要保证证明者设备处于初始可信状态,存储在OEM和验证者数据库中的PUF CRP不会泄露给攻击者,防止重要数据遭到篡改或窃取。因此,在实现协议之前必须完成基于嵌入式轻量级内存隔离机制的可信执行环境构建,利用MPU对物理内存区域进行操作实施隔离保护。 最后,我们对PUF性能和整体作品的安全性进行了评估,验证了所提出的基于PUF的轻量级物联网设备可信安全系统的有效性和安全性。 # 项目功能 ### 管理员身份认证 云服务器是执行协议的可信第三方。为了提高云服务器的安全性,实现云服务器对管理员身份的验证,管理员需要注册信息,并在每次启动应用时登录。注册的用户名和口令被存储在本机。如果口令以纯文本形式存储,那么数据库里的信息一旦受到攻击,导致管理员信息泄露,将对云服务器构成非常大的威胁。为了防止这些攻击,必须实现对口令的保护。本项目中,我们提出使用BCrypy与NTRU相结合的密码算法来提高口令存储的安全性。 ### 基于CRP的PUF轻量级证明和认证协议 为了实现服务器对客户端设备的身份认证以及状态完整性验证,我们提出了一个基于PUF轻量级证明和认证协议,其中验证者可以验证远程设备的真实性和完整性。该协议只使用2个PUF CRP,采用弱PUF,而且不需要维护昂贵的注册阶段和大型数据库。为了减少对时间优化的依赖,我们使用基于PUF的内存随机填充,以减少可被攻击者使用的内存资源。该协议还支持相互认证。协议的所有核心组件形成了一个嵌入式设备的信任根,这也被称为基于PUF的信任根(PUFRoT)。 ### 内存隔离机制 在设置或初始化阶段,我们需要保证证明者设备处于初始可信状态(配置了正确的PUFRoT),存储在OEM和验证者数据库中的PUF CRP永远不会泄露给攻击者,防止重要数据遭到篡改或窃取。因此,在实现协议之前必须完成基于嵌入式轻量级内存隔离机制的可信执行环境构建,利用MPU对物理内存区域进行操作实施隔离保护。 ### PUF提取及性能测试 我们选择ALTERA EP2C8F256核心板作为PUF提取设备,尺寸为10*5.6cm,它包含主芯片EP2C8F256C8,配备32Mbyte SDRAM,存储空间大,配备128KbyteSRAM,可以作为高速缓存,此外,还有5个用户可操作LED,4个用户可操作按键,约有84个IO。本方案中我们主要使用256Kbyte SRAM,利用Verilog语言及串口调试工具等实现对SRAM的遍历,并将测试数据记录,借此评估PUF性能,包括唯一性和鲁棒性的检测。 ### 安全性分析 为了验证协议安全性,我们进行了安全执行环境测试和协议安全性测试,其中安全执行环境测试包括对主种子的保护,实施成本和性能等分析,在协议安全性测试中我们展开了对具体攻击的分析。 # 界面构建 根据应用与管理员身份的认证以及设备与云平台之间的轻量级认证协议,基于设备端与云平台的各类功能,我们构建了云平台和设备端的图形化界面,以更方便地展示认证过程。 登录界面展示管理员需要以用户名和口令进行身份认证,才能进入应用;首页展示能与云平台实现通信并接入认证成功的设备信息,设备注册模块能注册想通过此云平台接入的嵌入式设备,即这些设备需要与云平台执行认证协议;设备认证模块即负责对审核通过的设备进行协议认证,并展示认证结果。 # 搭建环境 若要运行程序,请检查文件的存放路径中是否含有中文。因程序内含文件读写函数,因此尽量使文件的存放路径均为英文,否则可能影响程序使用。Server和Client项目均使用QT5.12.12 MSVC2017 64bit编译。 我们选择ALTERA EP2C8F256核心板作为PUF提取设备,尺寸为10*5.6cm,它包含主芯片EP2C8F256C8,配备32MbyteSDRAM,存储空间大,配备128KbyteSRAM,可以作为高速缓存,此外,还有5个用户可操作LED,4个用户可操作按键,约有84个IO。本方案中我们主要使用128KbyteSRAM,利用Verilog语言及串口调试工具等实现对SRAM的遍历,并将测试数据记录,借此评估PUF性能,包括唯一性和鲁棒性的检测。