北方 发表于 2021-8-20 14:15

【Silicon Labs 开发套件评测】安全代码测试

<p><span style="font-size:20px;">1、安全程序</span></p>

<p><span style="font-size: 20px;">在物联网应用开发中,越来越多的安全漏洞被发现,摄像头被劫持等多次发生。那么从底层就增加安全功能,是MCU的一个重要选择。</span></p>

<p><span style="font-size: 20px;">目前的国产芯片在这方面的储备还是有所欠缺,但是Silab已经在MCU级做到了各种安全算法和加密的应用,非常值得测试和围观一下啊。</span></p>

<p>&nbsp;</p>

<p><span style="font-size:20px;">2、如前所述,创建并选择安全范例下载,其中选择psa_crypto范例如下,</span></p>

<p>这个代码的过程比较多,还是用了标准流程,把代码的核心部分放在app_process.c中实现。</p>

<p>&nbsp;</p>

<p><span style="font-size:20px;">3、代码编译下载后运行,要求选择加密的方式,然后输出加密CSR密钥,并显示出了,具体如下,</span></p>

<p></p>

<p><span style="font-size: 20px;">程序自动启动串口硬件,用115200的速率输出。</span></p>

<p>&nbsp;</p>

<p><span style="font-size:20px;">4、代码的功能,通过分析app_process.c实现。</span></p>

<p><span style="font-size:20px;">4.1 功能</span></p>

<p><span style="font-size:20px;">本示例使用 PSA Crypto API 和 Mbed TLS 为支持的设备上的证书实施 X.509 标准。这个证书需要在wifi等安全数据传输过程中使用,否则不被认定为安全设备。无法进行高级别的安全通信。</span></p>

<p><span style="font-size:20px;">本示例使用设备中的 CRYPTO 引擎来加速 Mbed TLS 的 X.509 API 函数。在此示例中,PSA 加密 API 用于使用给定的椭圆曲线加密 (ECC) 曲线生成私钥-公钥对。根证书的私钥首先用于签署根证书和设备证书。然后使用根证书的公钥验证设备证书中的签名。</span></p>

<p><span style="font-size:20px;">如果该密钥在支持的设备上可用,则可以选择内置私有设备密钥(又名证明密钥)来签署设备证书。</span></p>

<p><span style="font-size:20px;">这样在MCU这样的级别就可以实现桌面计算机需要的证书验证等功能。</span></p>

<p><span style="font-size:20px;">4.2 本示例的程序流程如下:<br />
&bull;初始化根证书签名请求 (CSR) 并为根 CSR 创建 ECC 密钥对<br />
&bull;以隐私增强邮件 (PEM) 格式创建根 CSR<br />
&bull;加载根CSR并初始化根证书<br />
&bull;设置根证书中的参数<br />
&bull; 创建 PEM 格式的根证书(由根证书中的私钥自签名)<br />
&bull;加载根证书并存储其设备证书的专有名称 (DN)<br />
&bull;初始化设备CSR并为设备CSR创建ECC密钥对<br />
&bull;创建 PEM 格式的设备 CSR<br />
&bull;加载设备CSR并初始化设备证书<br />
&bull;设置设备证书中的参数<br />
&bull; 创建 PEM 格式的设备证书(由根证书中的私钥签名)<br />
&bull;加载设备证书以验证根和设备证书链</span></p>

<p><span style="font-size:20px;">4.3 通信和显示</span></p>

<p><span style="font-size:20px;">该示例将标准 I/O 重定向到套件的虚拟串行端口 (VCOM)。默认情况下,串口设置为 115200 bps 和 8-N-1 配置。</span></p>

<p>&nbsp;</p>

<p><span style="font-size:20px;">5、项目的应用</span></p>

<p><span style="font-size:20px;">这个范例实现了X.509的基础功能,在项目中,使用证书的过程,需要对文件或者数据签名才能开始安全传输,这部分安全计算也是开销的一部分,使用了标准的API,可以避免自己去编程序,提高了开发的效率。</span></p>

<p>&nbsp;</p>

<p>&nbsp;</p>

freebsder 发表于 2021-8-20 22:36

<p>证书是怎么生成的?</p>

hqli126 发表于 2021-8-21 11:37

在物联网应用开发中,越来越多的安全漏洞被发现,摄像头被劫持等多次发生。那么从底层就增加安全功能,是MCU的一个重要选择。

北方 发表于 2021-8-23 10:24

freebsder 发表于 2021-8-20 22:36
证书是怎么生成的?

<p>证书是一组数据,按照API算法生成的,见上面的截图的CSR部分</p>

new_one 发表于 2022-4-27 10:25

<p>请问这个第三部的窗口从哪里查看呢,怎么查看这个COM5端口的输出信息呢。</p>

sgsg 发表于 2024-8-17 15:15

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
页: [1]
查看完整版本: 【Silicon Labs 开发套件评测】安全代码测试