2015-03-09 2 views
0

В настоящее время я пытаюсь найти лучшую методологию для интеграции блока криптографического ускорения, присутствующего на моем MCU, чтобы использовать преимущества производительности не только в моих пользовательских приложениях, но и в внешнюю библиотеку SSL/TLS, которую мне нужно будет использовать.Использование блока криптографического ускорения с uclinux и внешней библиотекой

Моя платформа запускает устройство Freescale Kinetis (ARM Cortex-M4) с распределением uCLinux. В настоящее время мне удалось запустить mbed-TLS (Polar SSL) в пользовательском пространстве. У меня также есть возможность запускать CyASSL от WolfSSL. Теперь я смотрю на лучшую стратегию для запуска периферийного устройства Crytographic Acceleration Unit (MMCAU) на процессоре вместе с моим приложением. Сам код не должен быть слишком сложным для интеграции, поскольку Freescale предоставляет библиотеку с обертками C вокруг кода, оптимизированного для сборки. Сложная точка - это промежуточное программное обеспечение, позволяющее использовать криптоблоки в пользовательских приложениях и библиотеках.

Одна из возможностей заключается в том, чтобы переписать модуль криптографического ядра linux (cryptodev), чтобы использовать MMCAU в моих пользовательских приложениях (для этого было бы полезно получить доступ к MMCAU из нескольких пользовательских приложений, в то время как моя платформа не поддерживает общие библиотеки). Однако я не уверен, что это лучшая стратегия. Кроме того, mbed-TLS, похоже, не поддерживает встроенный драйвер шифрования linux.

Другие альтернативы предлагаются здесь (http://cryptodev-linux.org/), но, поскольку я не являюсь истинным специалистом по Linux, я не совсем уверен, что было бы лучшим решением в моем случае.

Полезная рекомендация по лучшей стратегии, принятой здесь, чтобы получить наиболее гибкое решение, все еще получая выгоду от улучшения производительности аппаратного криптона, будет приветствоваться.

ответ

1

Вы смогли это решить? Библиотека wolfSSL поддерживает аппаратное ускорение на FreeScale Kinetis, включая MMCAU. Вы можете использовать MMCAU, определив FREESCALE_MMCAU в своем проекте. Это, в первую очередь, было протестировано с помощью FreeScale MQX, но все еще может быть использовано в других операционных системах. This - это старое сообщение в блоге (не имеет обновленной ссылки на страницу github wolfSSL), но содержит некоторую информацию, которая может быть полезна.

+0

Hello Christina, спасибо за отзыв. Да, я видел эту возможность, основная проблема заключается в том, что все приложения, которые я видел, обращаются к MMCAU с адресами памяти, как если бы они могли напрямую отображать физический адрес MMCAU из приложения. В случае ucLinux физические адреса недоступны непосредственно из пользовательского пространства. В настоящее время я пытаюсь использовать cryptodev linux и некоторый драйвер custome/linux/crypto для обращения к MMCAU. Он работал без реальной производительности. Затем я написал пользовательский драйвер IOCTL с усилением производительности. Теперь мне нужно вызвать его из библиотеки lib или приложения. – user2457451

+0

Хорошо, если вы решите, что хотите включить wolfSSL в проект FreeScale Kinetis, не стесняйтесь публиковать сообщения прямо на наших [форумах поддержки] (http://www.wolfssl.com/forums/). Мы хорошо знакомы с продуктами FreeScale и можем предоставить дополнительную поддержку там. – lchristina26

Смежные вопросы