1个不稳定版本
0.1.0 | 2024年4月17日 |
---|
#2021 在 嵌入式开发
在 liboscore 中使用
18KB
324 行
libOSCORE: 一个用于嵌入式系统(不只是)的OSCORE实现
libOSCORE库是OSCORE (RFC8613)的一个可移植(和独立)实现,可用于嵌入式设备。
OSCORE是一种保护(即加密和验证)CoAP消息(典型物联网设备之间的网络流量)的方法,以端到端方式防止窃听或篡改,同时不牺牲消息和协议实现的紧凑性。文章OSCORE: 深入了解新的物联网安全协议提供了一个新手友好的总结。
本实现旨在在各种平台上使用,特别是嵌入式平台上;它通过用一个小型通用API描述对所使用平台CoAP实现的要求来实现这一点,该API可以由不同的CoAP库实现,例如RIOT-OS的gcoap。通过选择编程语言(C)、避免动态内存分配以及广泛使用就地操作,它适用于所有能进行IP流量和执行加密操作的设备中最小的一类。
项目状态
该库功能完整,在RIOT-OS上的OSCORE 插件测试服务器是可用的,尽管它尚未通过所有测试。
使用和文档
根据底层CoAP库的支持情况,libOSCORE库可以以不同的方式使用。
集成级别指南概述了可能性,并作为进入其余文档的起点。
为了快速入门,一些示例和演示涵盖了常见用例
请注意,当前示例中使用的代码是描述为“中间集成”(参见集成级别)。对于高级应用,建议使用完全集成,但该级别在RIOT平台上尚未提供。
库集成
计划集成的库
- RIOT-OS - 可用轻量级集成;完整集成正在跟踪中,见11761
- MoCkoAP – 在测试中用作模拟的内部最小CoAP库
- libcose – 提供所需的加密原语
- Rust集成
- liboscore-cryptobackend – 提供各种(可配置的)加密原语
- liboscore-msgbackend – 在[coap-message]特质上实现libOSCORE的消息访问器
- liboscore-backends-standalone – 为从C应用程序中使用Rust cryptobackend构建基础设施
- liboscore – 高级Rust抽象
潜在未来候选人:(目前没有计划实现,但正在考虑其可移植性)
链接
许可证
版权所有2019年Christian Amsüss和Ericsson AB
根据LICENSE文件中所述的3条款BSD许可证许可。
lib.rs
:
liboscore的本地消息API的后端
这是一个(除非有人想通过Box<dyn ReadableMessage>
进行操作),在某种程度上是有些主观的,因为它绑定到具体的消息类型(或一组类型)。
它使用枚举包装了不同的coap-message实现。
依赖项
~1MB
~17K SLoC