使用带有uclinux的加密加速单元和外部库

时间:2015-03-09 21:38:13

标签: c arm kernel-module uclinux wolfssl

我目前正在尝试找到集成我的MCU上的加密加速单元的最佳方法,以利用我的自定义应用程序以及我需要使用的外部SSL / TLS库中的性能提升。

我的平台运行带有uCLinux发行版的Freescale Kinetis(ARM Cortex-M4)设备。我目前设法在用户空间中运行mbed-TLS(Polar SSL)。我也有可能从WolfSSL运行CyASSL。我现在正在研究在处理器上运行“内存映射加密加速单元”(MMCAU)外设以及我的应用程序的最佳策略。代码本身不会太难集成,因为飞思卡尔为程序集优化代码提供了一个带有C包装的库。棘手的一点是中间件允许在用户应用程序和库中使用加密单元。

一种可能性是重写linux加密内核模块(cryptodev)以便在我的用户应用程序中使用MMCAU(这样可以从多个用户应用程序访问MMCAU,而我的平台不支持共享库)。但是我不确定这是最好的策略。此外,mbed-TLS似乎不支持本机linux加密驱动程序。

这里提出了其他替代方案(http://cryptodev-linux.org/)但是,由于我不是真正的Linux专家,我不确定在我的情况下什么是最好的解决方案。

关于采用最佳策略的建议,以获得最灵活的解决方案,同时仍然受益于硬件加密的改进性能将受到欢迎。

1 个答案:

答案 0 :(得分:1)

你能解决这个问题吗? wolfSSL库支持FreeScale Kinetis上的硬件加速,包括MMCAU。您可以通过在项目中定义FREESCALE_MMCAU来利用MMCAU。这主要是使用FreeScale MQX进行测试的,但仍可与其他操作系统一起使用。 This是一篇较旧的博文(没有更新的wolfSSL github页面链接),但确实包含一些可能有用的信息。