В настоящее время я пытаюсь найти лучшую методологию для интеграции блока криптографического ускорения, присутствующего на моем 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, я не совсем уверен, что было бы лучшим решением в моем случае.
Полезная рекомендация по лучшей стратегии, принятой здесь, чтобы получить наиболее гибкое решение, все еще получая выгоду от улучшения производительности аппаратного криптона, будет приветствоваться.
Hello Christina, спасибо за отзыв. Да, я видел эту возможность, основная проблема заключается в том, что все приложения, которые я видел, обращаются к MMCAU с адресами памяти, как если бы они могли напрямую отображать физический адрес MMCAU из приложения. В случае ucLinux физические адреса недоступны непосредственно из пользовательского пространства. В настоящее время я пытаюсь использовать cryptodev linux и некоторый драйвер custome/linux/crypto для обращения к MMCAU. Он работал без реальной производительности. Затем я написал пользовательский драйвер IOCTL с усилением производительности. Теперь мне нужно вызвать его из библиотеки lib или приложения. – user2457451
Хорошо, если вы решите, что хотите включить wolfSSL в проект FreeScale Kinetis, не стесняйтесь публиковать сообщения прямо на наших [форумах поддержки] (http://www.wolfssl.com/forums/). Мы хорошо знакомы с продуктами FreeScale и можем предоставить дополнительную поддержку там. – lchristina26