【Silicon Labs 开发套件评测】安全代码测试
[复制链接]
1、安全程序
在物联网应用开发中,越来越多的安全漏洞被发现,摄像头被劫持等多次发生。那么从底层就增加安全功能,是MCU的一个重要选择。
目前的国产芯片在这方面的储备还是有所欠缺,但是Silab已经在MCU级做到了各种安全算法和加密的应用,非常值得测试和围观一下啊。
2、如前所述,创建并选择安全范例下载,其中选择psa_crypto范例如下,
这个代码的过程比较多,还是用了标准流程,把代码的核心部分放在app_process.c中实现。
3、代码编译下载后运行,要求选择加密的方式,然后输出加密CSR密钥,并显示出了,具体如下,
程序自动启动串口硬件,用115200的速率输出。
4、代码的功能,通过分析app_process.c实现。
4.1 功能
本示例使用 PSA Crypto API 和 Mbed TLS 为支持的设备上的证书实施 X.509 标准。这个证书需要在wifi等安全数据传输过程中使用,否则不被认定为安全设备。无法进行高级别的安全通信。
本示例使用设备中的 CRYPTO 引擎来加速 Mbed TLS 的 X.509 API 函数。在此示例中,PSA 加密 API 用于使用给定的椭圆曲线加密 (ECC) 曲线生成私钥-公钥对。根证书的私钥首先用于签署根证书和设备证书。然后使用根证书的公钥验证设备证书中的签名。
如果该密钥在支持的设备上可用,则可以选择内置私有设备密钥(又名证明密钥)来签署设备证书。
这样在MCU这样的级别就可以实现桌面计算机需要的证书验证等功能。
4.2 本示例的程序流程如下:
•初始化根证书签名请求 (CSR) 并为根 CSR 创建 ECC 密钥对
•以隐私增强邮件 (PEM) 格式创建根 CSR
•加载根CSR并初始化根证书
•设置根证书中的参数
• 创建 PEM 格式的根证书(由根证书中的私钥自签名)
•加载根证书并存储其设备证书的专有名称 (DN)
•初始化设备CSR并为设备CSR创建ECC密钥对
•创建 PEM 格式的设备 CSR
•加载设备CSR并初始化设备证书
•设置设备证书中的参数
• 创建 PEM 格式的设备证书(由根证书中的私钥签名)
•加载设备证书以验证根和设备证书链
4.3 通信和显示
该示例将标准 I/O 重定向到套件的虚拟串行端口 (VCOM)。默认情况下,串口设置为 115200 bps 和 8-N-1 配置。
5、项目的应用
这个范例实现了X.509的基础功能,在项目中,使用证书的过程,需要对文件或者数据签名才能开始安全传输,这部分安全计算也是开销的一部分,使用了标准的API,可以避免自己去编程序,提高了开发的效率。
|