IoT设备身份认证ID²(Internet Device ID),是一种物联网设备的可信身份标识,具备不可篡改、不可伪造、全球唯一的安全属性,是实现万物互联、服务流转的关键基础设施。
ID² Client SDK是用于设备端开发和调试,帮助开发者快速接入ID²开放平台。此SDK, 支持两种载体Demo和SE(Secure Element):
- Demo载体:用于ID²设备端功能的演示,正式产品,需切换到安全载体(Soft-KM, SE, TEE)。
- SE载体:外挂芯片,ID²预烧录在SE芯片上。
|—— app:加解密硬件适配(HAL)接口和ID²接口的测试程序。
|—— doc:相关文档,如ID²指令规范。
|—— include:头文件目录。
|—— makefile:总的编译脚本。
|—— make.rules:编译配置,可配置编译工具链和编译参数。
|—— make.settings:ID²配置,如调试信息、空发功能和载体选择。
|—— modules:ID²和ID²依赖的模块。
|—— sample:示例代码。
描述在Ubuntu上编译和运行ID²Client SDK。
使用Ubuntu 14.04以上版本。
- make.rules:
CROSS_COMPILE: 编译使用的工具链。
CFLAGS:编译工具链的编译参数。
- make.settings:
CONFIG_ID2_DEBUG:ID²调试信息的开关。
CONFIG_ID2_OTP:ID²密钥在使用时动态下发功能的开关。 CONFIG_ID2_KM_SE:ID²的SE载体的开关,关闭时,使用Demo载体。
在SDK目录,运行如下命令:
$ make clean $ make
编译成功,生成的静态库和应用程序统一放在SDK的out目录。
在SDK目录,运行如下命令:
./out/bin/id2_app
测试成功(仅设备端接口测试,非真实交互验证),日志显示如下:
<LS_LOG> id2_client_get_id 649: ID2: 000FFFFFDB1D8DC78DDCB800
<LS_LOG> id2_client_generate_authcode 170:
============ ID2 Validation Json Message ============:
{
"reportVersion": "1.0.0",
"sdkVersion": "2.0.0",
"date": "Aug 23 2019 18:17:13",
"testContent": [{
.......
}]
}
<LS_LOG> id2_client_generate_authcode 186: =====>ID2 Client Generate AuthCode End.
更多文档,如设备端适配和自主验证,请查阅ID²官方。