全部产品
云市场

ID² Client SDK对接SE/MCU

更新时间:2019-08-20 22:43:55

ID² Client SDK对接SE/MCU

代码模块关系

ID² Client SDK各个部件的关系如下:

image.png

场景一:SE安全芯片厂商基于《ID² 安全应用指令规范》来实现的情况下,仅需要根据SE芯片去适配SE驱动层的接口(se_open_session/se_transmit/se_close_session),接口实现参见:《SE芯片驱动API文档》

场景二:SE/MCU芯片厂商自定义的通讯规范(并不遵循ID²安全应用指令规范),可以直接通过实现SE硬件抽象层的接口完成和SE芯片的通信。接口实现参考:《IROT硬件抽象层接口文档》

配置选项说明

SE芯片厂商在移植好SE芯片驱动后,需要根据SE芯片所支持的算法类型做配置,以确保正确的代码执行流程

ID2模块配置

security/include/id2/id2_config.h

配置项 支持的选项 备注说明
CONFIG_ID2_KEY_TYPE ID2_KEY_TYPE_AES
ID2_KEY_TYPE_3DES
ID2_KEY_TYPE_RSA
ID2_KEY_TYPE_SM1
ID2_KEY_TYPE_SM4
选择ID2服务使用的SE芯片的密码算法类型
CONFIG_ID2_HASH_TYPE ID2_HASH_TYPE_SHA256
ID2_HASH_TYPE_SM3
选择ID2服务的散列算法
注:SM3是由SE芯片来计算的,而SHA256是通过icrypto算法库来实现的。因此SM3必须由SE芯片支持

SE驱动配置

se_driver/chip_config.h

配置项 支持的选项 备注说明
CONFIG_CHIP_TYPE CHIP_TYPE_SE_STD_CMD 符合ID2安全应用指令规范的命令
CHIP_TYPE_SE_MTK_CMD 厂商自己实现的SE命令(MCU等)
CONFIG_CHIP_KEY_TYPE ID2_KEY_TYPE_AES
ID2_KEY_TYPE_3DES
ID2_KEY_TYPE_RSA
ID2_KEY_TYPE_SM1
ID2_KEY_TYPE_SM4
选择SE芯片对应的密码算法
注:该配置必须和上面CONFIG_ID2_KEY_TYPE的选择保持一致。