RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Сентябрь 2020
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930    

Календарь Календарь

Последние темы
» Тема для вопросов, консультаций и т. д...
автор Atari1974 Вчера в 16:12

» ZX Microdrive
автор barsik Вчера в 02:44

» Флейм только по теме "Радио-86РК".
автор barsik Пн Сен 28 2020, 09:24

» Трансформатор электронный Taschibra 230/12В 60Вт для галогенных ламп. Перестал работать.
автор Viktor2312 Ср Сен 23 2020, 15:05

» Купил с али БП 12в 100w для питания LED лент подсветки. Проблема
автор Viktor2312 Вс Сен 20 2020, 18:07

» Жалобы/пожелания по работе форума
автор Viktor2312 Вс Сен 20 2020, 11:54

» Стабилизированный преобразователь напряжения.
автор Viktor2312 Пн Сен 14 2020, 23:12

» Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000
автор barsik Сб Сен 12 2020, 23:47

» Применение КР580 ВИ53 для генерации музыки
автор Viktor2312 Сб Сен 12 2020, 20:09

» STM32. Статьи, заметки, очерки, разное...
автор Viktor2312 Чт Сен 03 2020, 12:09

» STM32G0. Документация (Datasheet, разное).
автор Viktor2312 Чт Сен 03 2020, 11:52

» Новинки. Книги. Часть 1.
автор Viktor2312 Ср Сен 02 2020, 14:21

» STM32F4. Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Сен 01 2020, 14:44

» Ленинград-0,-1,-2,-3. Статьи, заметки, очерки, разное...
автор barsik Вс Авг 30 2020, 08:32

» Ленинград-0
автор barsik Вс Авг 30 2020, 08:01

» STM32F4. Изучение.
автор Viktor2312 Пт Авг 28 2020, 00:07

» Орион-128: Полезные доработки ПЭВМ
автор barsik Чт Авг 27 2020, 11:21

» STM32H7. Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Авг 25 2020, 10:43

» Радио-86РК: По страницам журнала "Радио" и не только...
автор barsik Вт Авг 25 2020, 01:28

» STM32L0. Документация (Datasheet, разное).
автор Viktor2312 Вс Авг 23 2020, 10:10

» STM32L0. Отладочные платы.
автор Viktor2312 Сб Авг 22 2020, 20:22

» STM32L0. Программное обеспечение, разное...
автор Viktor2312 Сб Авг 22 2020, 17:24

» STM32L0. Статьи, заметки, очерки, разное...
автор Viktor2312 Чт Авг 20 2020, 19:37

» STM32H7. Документация (Datasheet, разное).
автор Admin Чт Авг 20 2020, 13:33

» STM32F7. Документация (Datasheet, разное).
автор Admin Чт Авг 20 2020, 13:32

Самые активные пользователи за месяц
Viktor2312
STM32. Статьи, заметки, очерки, разное... Vote_l10STM32. Статьи, заметки, очерки, разное... Voting10STM32. Статьи, заметки, очерки, разное... Vote_r10 
barsik
STM32. Статьи, заметки, очерки, разное... Vote_l10STM32. Статьи, заметки, очерки, разное... Voting10STM32. Статьи, заметки, очерки, разное... Vote_r10 
Atari1974
STM32. Статьи, заметки, очерки, разное... Vote_l10STM32. Статьи, заметки, очерки, разное... Voting10STM32. Статьи, заметки, очерки, разное... Vote_r10 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


STM32. Статьи, заметки, очерки, разное...

Перейти вниз

STM32. Статьи, заметки, очерки, разное... Empty STM32. Статьи, заметки, очерки, разное...

Сообщение  Viktor2312 в Сб Апр 22 2017, 10:26

1
.
Самый простой путь к процессорам Sitara AM3358:
Отладочные наборы и готовые модули OSD3358 BeagleBone.


Octavo Systems » OSD3358-512M-BAS, OSD3358-512M-IND, OSD3352-512M-BAS, OSD3352-512M-IND


____Микросхемах OSD3358 от компании Octavo Systems. Эти микросхемы при размерах 27×27 мм, объединяли в одном корпусе производительный микропроцессор Sitara™ AM335x (Texas Instruments), до 1 Гб памяти DDR3, системную микросхему питания TPS65217C, линейный регулятор TL5209 и более 140 пассивных компонентов. В той же статье анонсировалось появление отладочного комплекта OSD3358 BeagleBone Development Board от компании GHI Electronics. И вот, наконец, этот набор, а также законченные вычислительные модули на базе OSD3358, поступили в продажу в ограниченном количестве.

STM32. Статьи, заметки, очерки, разное... 0_14ca48_47fa3182_orig
Рис. 1.  Семейство OSD335x от Octavo Systems.

____Микроконтроллеры Texas Instruments Sitara™ AM335x с ядром ARM Cortex-A8 хорошо знакомы разработчикам электроники. Они стали первыми промышленными микроконтроллерами со столь мощным ядром и со сверхразвитым набором периферии (CAN, Ethernet, UART и т. д.).
____AM335x стали настоящей находкой для таких приложений как системы ЧПУ, приводы прецизионных двигателей, системы промышленной автоматизации и т. д. Однако применение контроллеров Sitara ограничивалось вполне понятными схемотехническими сложностями: необходимостью создания сложной системы питания, сложностью разводки дифференциальных шин для связи с памятью и др. Решение этих проблем было предложено компанией Octavo Systems, которая начала выпуск SiP-микросхем OSD335x (Systemin Package).
____OSD335x – семейство микросхем, которые объединяют в одном корпусе целую группу электронных компонентов (Рис. 2): микропроцессор Texas Instruments Sitara™ AM335x с ядром ARM Cortex-A8, оперативную память DDR3 объемом до 512 Мбайт (в перспективе 1 Гбайт), микросхему системы питания TPS65217C (TI), линейный регулятор TL5209 (TI), более 140 пассивных компонентов (индуктивностей, конденсаторов и резисторов).

STM32. Статьи, заметки, очерки, разное... 0_14ca49_16ab82d1_orig
Рис. 2.  Структура SIP микросхем семейства OSD335x от Octavo Systems.

____Стоит отметить, что инженеры Octavo Systems продемонстрировали высший пилотаж в области интеграции, так как умудрились уместить все перечисленные компоненты в корпусе размером 27×27 мм (Рис. 3).

STM32. Статьи, заметки, очерки, разное... 0_14ca4b_cbe8d4e4_orig
Рис. 3.  Размеры SIP микросхем OSD335x сравнимы
с размерами крупной монеты.

____В настоящее время семейство OSD335x включает одну законченную микросхему, а еще три готовятся к выходу:

OSD3358-512M-BAS – SIP с процессором AM3358, объемом памяти 512 Мбайт и рабочим диапазоном температур 0…85 °C. Ориентировочная стоимость около 30$, что не так и много, если учесть, что микросхема заменяет собой целую печатную плату с компонентами.

OSD3358-512M-IND – SIP с процессором AM3358, объемом памяти 512 Мбайт и рабочим диапазоном температур –40…85 °C. Данная SIP сейчас готовится к производству.

OSD3352-512M-BAS – SIP с процессором AM3352, объемом памяти 512 Мбайт и рабочим диапазоном температур 0…85°C. Данная SIP сейчас готовится к производству.

OSD3352-512M-IND – SIP с процессором AM3352, объемом памяти 512 Мбайт и рабочим диапазоном температур –40…85 °C. Данная SIP сейчас готовится к производству.

____Новые микросхемы OSD3358-512M-BAS дают разработчикам целый ряд очевидных преимуществ:

  • Минимизация габаритов.

  • Упрощение разводки печатной платы, так как наиболее сложные интерфейсы скрыты внутри. Это особенно важно для тех разработчиков, которые опасались использовать Sitara™ AM335x из-за сложности разводки DDR3 памяти. Теперь эти сложности позади.

  • Готовая система питания. Разработчикам всего лишь требуется использовать один источник питания 5 В (5 В USB, литиевый аккумулятор или сетевой адаптер 5 В).
     
  • Сокращение времени разработки.

____На момент публикации первой статьи отладочные наборы отсутствовали, что ограничивало возможности применения микросхем OSD335x. В частности, отладочный комплект OSD3358 BeagleBone Development Board от GHI Electronics находился в стадии разработки. И вот, наконец, совсем недавно эти наборы поступили в ограниченную продажу со слегка измененными характеристиками. Кроме того, GHI Electronics начала выпуск готовых модульных решений OSD3358 BeagleBone System on Module и OSD3358 BeagleBone TH Module.
____OSD3358 BeagleBone Development Board – официальный отладочный набор, разработанный GHI Electronics совместно с компанией Octavo Systems. Основой набора является печатная плата, на которой размещена целевая микросхема OSD3358, LCD TFT-дисплей с сенсорным экраном, Ethernet-контроллер LAN8710A-EZC-TR (Microchip), JTAG-интерфейс, коммуникационные интерфейсы (RS232, CAN, Ethernet, USB), пользовательские кнопки, система питания на базе понижающего 1 А преобразователя MIC4680-ADJ (Microchip), микросхема питания светодиодов подсветки FAN5333BSX (Fairchild).
____Благодаря наличию преобразователя MIC4680-ADJ и микросхемы питания подсветки FAN5333BSX, разработчики могут использовать широкий диапазон напряжений 7…30 В. Рабочий диапазон температур для платы составляет 0…+70 °C, а габаритные размеры 194.3 ×133.1 ×17.7 мм.

STM32. Статьи, заметки, очерки, разное... 0_14ca4c_cc13eae3_orig
Рис. 4.  Внешний вид OSD3358 BeagleBone Development Board от GHI Electronics.

____OSD3358 BeagleBone System on Module (SoM) – мощный вычислительный модуль на базе микросхемы OSD3358 с полной поддержкой функций Linux. OSD3358 BeagleBone SoM отличается высоким уровнем интеграции и имеет габариты всего 55.8 × 35.5 × 3.9 мм (Рис. 5). Минимизация габаритов является важным достоинством модуля, так как он предназначен для поверхностного монтажа на материнские платы вычислительных систем. Схема OSD3358 BeagleBone SoM не содержит дополнительных преобразователей напряжения, но благодаря встроенной системе питания OSD3358 для работы ей будет достаточно одного источника 5 В.

STM32. Статьи, заметки, очерки, разное... 0_14ca4d_639c930_orig
Рис. 5.  Внешний вид OSD3358 BeagleBone System on Module (SoM) от GHI Electronics.

____OSD3358 BeagleBone TH Module – еще один мощный вычислительный модуль от GHI Electronics, который представляет собой расширенный вариант OSD3358 BeagleBone SoM (Рис. 6). Не сложно заметить, что модуль OSD3358 BeagleBone SoM является частью OSD3358 BeagleBoneTH Module. При этом габаритные размеры возросли до 88.8 × 50.9 × 5.8 мм.
____Плата OSD3358 BeagleBone TH предназначена для монтажа в отверстия или в колодку. В последнем случае у пользователей будет возможность быстрой замены модуля.

STM32. Статьи, заметки, очерки, разное... 0_14ca4e_3dbe950a_orig
Рис. 6.  Внешний вид OSD3358 BeagleBone TH Module от GHI Electronics.

____Все предложенные наборы и модули находятся в ограниченном доступе, но по заверениям GHI Electronics скоро они станут доступны широкому кругу разработчиков.

Характеристики SiP-микросхемы OSD3358-512M-BAS:

  • процессор: TI AM335x, 1 ГГц, 32 кб L1 Icache, 32 кб L1 DCache, 256 кб L2 Cache;
  • память ОЗУ: 512 Мбайт DDR3;
  • микросхема системы питания: TPS65217C вход 5 В, выход 1.8/3.3 В;
  • встроенный LDO: TL5209 500 мА 3.3 В;
  • число пассивных компонентов: более 140;
  • интерфейсы: UART, SPI, USB, CAN, I2C, Ethernet 1 GB;
  • периферия: 16-Бит АЦП, Таймеры, ЖК-порт, 3D-Ускоритель;
  • напряжение питания: 5 В;
  • диапазон рабочих температур: 0…85 °C;
  • габариты: 27 × 27 мм BGA 400-выводной шаг 1.27.

Характеристики отладочной платы OSD3358 BeagleBone Development Board:

  • базовая микросхема: OSD3358;
  • доступная Flash: 4 Гб;
  • доступное ОЗУ: 512 Гб;
  • GPIO: 39;
  • ШИМ: 6;
  • число аналоговых входов: 7;
  • интерфейсы: UART×3, SPI×2, I2C×2, Ethernet, CAN×1, USB Client и USB Host;
  • поддержка карт памяти: есть;
  • встроенный LCD TFT контроллер (RGB): есть;
  • диапазон напряжений питания: 7…30 В;
  • диапазон рабочих температур: 0…+70 °C;
  • габариты: 194.3 × 133.1 × 17.7 мм;
  • вес: 226 г.

Характеристики отладочной платы OSD3358 BeagleBone System on Module (SoM):

  • базовая микросхема: OSD3358;
  • доступная Flash: 4 Гб;
  • доступное ОЗУ: 512 Гб;
  • GPIO: 114;
  • ШИМ: 6;
  • число аналоговых входов: 8;
  • интерфейсы: UART×6, SPI×2, I2C×3, Ethernet, CAN×1, USB Client и USB Host;
  • поддержка карт памяти: есть;
  • строенный LCD TFT контроллер (RGB): есть;
  • напряжение питания: 5 В;
  • диапазон рабочих температур: 0…+70 °C;
  • габариты: 55.8 × 35.5 × 3.9 мм;
  • вес: 12 г.

Характеристики отладочной платы OSD3358 BeagleBone TH Module:

  • базовая микросхема: OSD3358;
  • доступная Flash: 4 Гб;
  • доступное ОЗУ: 512 Гб;
  • GPIO: 90;
  • ШИМ: 6;
  • число аналоговых входов: 7;
  • интерфейсы: UART×5, SPI×2, I2C×3, Ethernet, CAN×1, USB Client и USB Host;
  • поддержка карт памяти: есть;
  • встроенный LCD TFT контроллер (RGB): есть;
  • напряжение питания: 5 В;
  • диапазон рабочих температур: 0…+70 °C;
  • габариты: 88.8 × 50.9 × 5.8 мм;
  • вес: 28 г.


Посмотреть более подробно технические характеристики отладочных плат OSD3358 BeagleBone от GHI Electronics




источник


Последний раз редактировалось: Viktor2312 (Чт Сен 03 2020, 12:09), всего редактировалось 1 раз(а)

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 12512
Дата регистрации : 2012-08-10
Возраст : 41
Откуда : Пятигорск

Вернуться к началу Перейти вниз

STM32. Статьи, заметки, очерки, разное... Empty .

Сообщение  Viktor2312 в Чт Сен 03 2020, 12:09

2
.
Шифрование данных: криптозащита STM32.

16 ноября 2016г.

____С развитием таких сетевых технологий как Интернет вещей, вопросы безопасного обмена данными становятся всё более важными. Чтобы помочь своим потребителям в создании защищённых приложений, компания STMicroelectronics выпустила программный пакет X-CUBE-CRYPTOLIB. В нём содержатся библиотеки, которые реализуют наиболее популярные алгоритмы защиты данных для всех семейств микроконтроллеров STM32, даже для тех, которые не имеют в своем составе аппаратных блоков криптографии.

STM32. Статьи, заметки, очерки, разное... 31525893

____Существует огромное количество приложений, которые по определению должны обеспечивать высокую степень защиты данных. Это касается Интернета вещей (IoT), терминалов оплаты, банкоматов, счётчиков коммунальных услуг, систем безопасности и многих других. При этом в каждом из перечисленных случаев необходимо защитить данные не только от кражи, но и от вредоносного изменения. Это достаточно сложная задача.
____Часть разработчиков IoT-устройств пока даже не задумывается о мерах безопасности. Можно лишь надеяться, что эта беспечность рано или поздно не приведёт к плачевным последствиям. С другой стороны, создание механизмов защиты — сложное и затратное мероприятие, и не у каждой компании найдутся для этого ресурсы. В этих условиях спасает то, что крупные производители процессоров и микроконтроллеров стремятся в той или иной форме обеспечить своих потребителей инструментами для создания безопасных приложений. Яркий пример — новый программный пакет X-CUBE-CRYPTOLIB от STMicroelectronics.
____В июле 2016 года компания STMicroelectronics сообщила, что её фирменная библиотека шифрования, входящая в состав X-CUBE-CRYPTOLIB, успешно прошла сертификацию в соответствии с требованиями U. S. Cryptographic Algorithm Validation Program (CAVP). Библиотека состоит из двух частей: аппаратно зависимой, для контроллеров с интегрированными блоками шифрования, и аппаратно независимой, для контроллеров, в которых интегрированные аппаратные блоки отсутствуют. Сам пакет X-CUBE-CRYPTOLIB является программным расширением хорошо знакомой программистам системы STM32Cube.
____Библиотека шифрования имеет сертифицированную поддержку следующих алгоритмов:

  • AES-128, AES-192, AES-256 (ECB (Electronic Codebook Mode), CBC (Cipher-Block Chaining), CTR (Counter Mode), CFB (Cipher Feedback), OFB (Output Feedback), CCM (CBC-MAC), GCM (Galois Counter Mode), CMAC, KEY WRAP, XTS);

  • хеш-функции с поддержкой HMAC (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512);

  • программный генератор случайных чисел на базе DRBG-AES-128;

  • RSA с PKCS#1v1.5 (кодирование/декодирование, цифровые подписи);

  • ECC (Elliptic Curve Cryptography) — генерация ключей, Scalar multiplication, ECDSA.

____Кроме того, библиотека имеет несертифицированную поддержку дополнительных алгоритмов ARC4, DES, TripleDES (ECB (Electronic Codebook Mode) и CBC (Cipher-Block Chaining)), хеш-функции (MD5 и HKDF-SHA-512), ChaCha20, Poly1305, CHaCHA20-POLY1305, ED25519, Curve25519.
____Библиотека представляет собой набор скомпилированных файлов, предназначенных для работы с конкретными семействами контроллеров и разработки (IDE). К услугам программистов предлагаются скомпилированные версии для всех семейств STM32 и наиболее популярных систем — Keil MDK-ARM, IAR Embedded Workbench EWARM, IDE на базе GCC, например, SW4STM32 и Atollic TrueSTUDIO.


Обзор основных методов защиты данных.

____Проблему защиты данных можно разделить на несколько задач [1].
____Сохранение целостности информации подразумевает защиту от несанкционированного или случайного искажения данных. Под искажением понимают удаление, изменение или вставку сторонней информации в защищаемый блок данных. Чтобы обезопасить себя от подобных воздействий, система должна иметь возможности их обнаружения, то есть приёмник, получив блок данных, должен убедиться, что они не были изменены.
____Конфиденциальность подразумевает, что доступ к закрытым данным могут иметь только авторизованные пользователи. Доступ неавторизованных пользователей или процессов должен быть исключён.
____Идентификация и аутентификация позволяют сторонам, участвующим в обмене данными, идентифицировать себя. Если аутентификация проходит успешно, пользователь или процесс получают доступ к информации. Аналогично есть необходимость идентификации источника данных.
____Безотказность. Согласно ГОСТ Р ИСО 7498−2−99, этот метод может принимать две формы [2].
____Безотказность с подтверждением отправителя подразумевает, что получатель данных обеспечивается проверкой отправителя данных. Это защищает от любой попытки отправителя ложно отрицать передачу данных или их содержимое.
____Безотказность с подтверждением доставки гарантирует, что передатчик данных обеспечивается подтверждением доставки данных. Это защищает от любой последующей попытки получателя ложно отрицать получение данных или их содержимое.
____Очевидно, что проблема защиты данных вовсе не нова. На настоящий момент существуют надежные и проверенные функции и методы обеспечения безопасности. Все они необходимы для решения перечисленных подзадач [1].
____Шифрование. Суть этого метода заключается в преобразовании открытых данных в зашифрованную форму (рисунок 1). Кодирование производится с помощью специальных алгоритмов и ключа шифрования. Обратный процесс декодирования также требует ключа. При этом возможно два варианта. При симметричном шифровании для кодирования и декодирования используется один и тот же ключ. При асимметричном шифровании для кодирования используется один ключ, а для декодирования — другой.

STM32. Статьи, заметки, очерки, разное... 31526070_m
Рис. 1. Механизм шифрования данных.

____Функции хеширования (свертки) — это особый вид односторонних функций, которые с помощью определенного алгоритма получают из исходного массива данных битовую строку заданной длины (рисунок 2). Исходные данные часто называют ключом (сообщением), а выходную битовую строку «хеш-кодом», «хеш-суммой» или «сводкой сообщения». Используемый алгоритм преобразования должен обеспечивать защиту от возможностей восстановления исходных данных по известному хеш-коду и совпадения хеш-кодов разных сообщений, например SHA-256.

STM32. Статьи, заметки, очерки, разное... 31526126_m
Рис. 2. Работа хеш-функций.

____Код аутентификации сообщений MAC (Message Authentication Code). Данный механизм, как и хеш-функции, используется для генерации хеш-кода. Однако для этого требуется не только исходное сообщение, но и секретный ключ, известный только отправителю и получателю (рисунок 3). Это позволяет получателю данных проверять целостность информации и идентифицировать отправителя. Если отправитель не имеет секретного ключа — хеш-код будет сформирован неверно, что легко обнаружит получатель.

STM32. Статьи, заметки, очерки, разное... 31526154_m
Рис. 3. Механизм работы MAC- алгоритмов.

____Цифровые подписи. Этот механизм позволяет производить аутентификацию сообщений, то есть доказывать их подлинность с помощью цифровой подписи. Цифровая подпись работает практически так же, как и обычная подпись на бумаге — по ней всегда можно распознать отправителя. При получении цифровой подписи применяют ассимметриченое шифрование (рисунок 4). Для шифрования сообщения используется закрытый ключ, а для расшифровки — открытый. Закрытый ключ известен только отправителю, в то время как к открытому ключу доступ может иметь множестов получателей данных.

STM32. Статьи, заметки, очерки, разное... 31555089_m
Рис. 4. Механизм формирования цифровых подписей.

____Генерация случайных чисел. Защитное кодирование имеет смысл, только если невозможно разгадать ключ шифрования. По этой причине ключ должен быть случайным. Для этого применяется генератор случайных чисел (рисунок 5). Он может использовать как программные методы формирования исходной последовательности случайных чисел, так и естественный источник случайного сигнала, например, шум напряжения на диоде.

STM32. Статьи, заметки, очерки, разное... 31555128_m
Рис. 5. Пример работы генератора случайных чисел.

____Если проанализировать задачи защиты данных, то окажется, что для реализации каждой из них может потребоваться несколько различных механизмов (таблица 1).

Таблица 1. Методы защиты информации.

STM32. Статьи, заметки, очерки, разное... 31555140_m


Пакет расширения X-CUBE-CRYPTOLIB для STM32 Cube.

____Для разработки устройств на базе микроконтроллеров семейства STM32 производства компании STMicroelectronics создана целая экосистема — программно-аппаратная платформа STM32 Open Development Environment (STM32 ODE). STM32 ODE объединяет аппаратные инструменты и программные библиотеки, которые, в свою очередь, организованы в виде единого комплекса STM32 Cube. К аппаратной части относятся автономные отладочные наборы (Evaluation boards), стартовые наборы (Discovery boards), базовые платы (Nucleo boards) и платы расширения для Nucleo.
____STM32 Cube — программная часть платформы STM32 ODE. Она объединяет ПО таких уровней как:

  • уровень аппаратно зависимых драйверов (стандартная библиотека периферии);

  • уровень аппаратно независимых драйверов для микроконтроллеров (Hardware abstraction Layer) и драйверы для плат расширения (Board support Package, BSP);

  • ПО промежуточного уровня Middleware (различные стеки протоколов, например, USB, Bluetooth и дополнительные библиотеки, например, рассматриваемая нами библиотека шифрования);

  • ПО прикладного уровня, в основном, примеры для отладочных плат.

____Пакет расширения для защищённых приложений X-CUBE-CRYPTOLIB входит в состав STM32 Cube (рисунок 6). Он включает программное обеспечение, работающее на двух уровнях: на уровне приложений и на промежуточном уровне.

STM32. Статьи, заметки, очерки, разное... 31555159_m
Рис. 6. Положение библиотеки X-CUBE-CRYPTOLIB в системе ПО от STMicroelectronics.

____ПО прикладного уровня. К услугам разработчиков предлагается 31 пример для каждого алгоритма защиты. Также здесь представлены шаблоны для наиболее популярных сред разработки (IAR, Keil ARM, GCC) и шаблоны для различных аппаратных средств (отладочные наборы, стартовые наборы, платы Nucleo).
____Всё ПО этого уровня представлено в виде открытых файлов на языке С. Это значит, что пользователи с легкостью могут применять части кода в своих проектах, изменять и дополнять их, что позволяет максимально быстро освоить работу с библиотекой шифрования, которая функционирует на промежуточном уровне.
____Библиотека шифрования STM32 crypto library представляет собой набор скомпилированных файлов для различных семейств микроконтроллеров и сред разработки. При этом каждый скомпилированный вариант реализации строится по модульному принципу. Такая структура позволяет компилятору использовать только те модули, которые нужны пользователю (AES CTR, AES CCM, HASH SHA, и так далее), а остальные, для экономии памяти, не включать в проект. Это также позволяет при необходимости добавлять модули в любой момент времени, как только это потребуется.
____Так как библиотеки шифрования представлены в виде скомпилированных библиотечных файлов, то пользователи могут включать их в свои проекты, но не могут вносить в них изменения. По этой причине каждая библиотека поставляется в нескольких экземплярах: для каждой среды разработки (IAR, Keil ARM, GCC) и с различными опциями, такими как оптимизация по скорости, оптимизация по объёму памяти и так далее.


Обзор библиотеки шифрования STM32 crypto library из пакета расширения X-CUBE-CRYPTOLIB.

____Библиотека шифрования STM32 crypto library работает на промежуточном уровне (Middlewares) и доступна пользователям в виде большого количества скомпилированных файлов, которые объединены в две группы:

  • аппаратно независимые версии (Firmware implementation) — версии, которые не используют специализированные аппаратные блоки шифрования, а потому способны работать со всеми микроконтроллерами STM32: от STM32F0 до STM32F7;

  • аппаратно зависимые ускорители (Hardware acceleration) — библиотеки-ускорители для микроконтроллеров STM32 со встроенными блоками шифрования. Наличие интегрированных модулей криптографии способно значительно ускорить работу приложений.

____При скачивании X-CUBE-CRYPTOLIB с сайта STMicroelectronics (www.st.com) пользователь получает архив STM32CubeExpansion_Crypto_V3.1.0. При его распаковке создаётся сложная сеть папок и вложенных директорий. Все файлы библиотеки шифрования, относящиеся к аппаратно зависимой части, находятся в папке AccHw_Crypto, а аппаратно независимые — в папке Fw_Crypto. Структура расположения файлов в этих директориях одинакова: для каждой серии STM32 (STM32F0, STM32F1, STM32F2 и так далее) создана своя папка. При этом библиотеки поставляются в скомпилированном виде, поэтому для каждой версии предложено несколько вариантов, отличающихся используемым семейством микроконтроллеров, компилятором и видом оптимизации (по скорости, по занимаемому месту).


Выбор подходящего файла-библиотеки из пакета библиотек шифрования.

____При скачивании X-CUBE-CRYPTOLIB пользователь получает доступ к множеству различных скомпилированных библиотечных файлов:

  • аппаратно независимых и аппаратно зависимых;

  • созданных с помощью различных компиляторов (IAR, Keil ARM, GCC);

  • скомпилированных с различными установками оптимизации (по скорости, по объёму занимаемой памяти).

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

  • выбрать тип аппаратной реализации. Если применяемый микроконтроллер имеет встроенную специализированную периферию криптографии — следует использовать аппаратно зависимые библиотеки, если же это контроллер общего назначения — необходимо использовать аппаратно независимые реализации;

  • необходимо выбрать группу библиотек в соответствии с семейством применяемого микроконтроллера;

  • выбрать реализации алгоритма для своего компилятора (IAR, Keil ARM, GCC);

  • определиться с уровнем оптимизации конкретной скомпилированной версии библиотеки. На этом шаге стоит дать некоторые дополнительные пояснения.

____Файлы аппаратно независимой библиотеки хранятся в отдельной директории «Middleware \ST\ STM32_Cryptographic\Lib» и имеют специальную систему именования: STM32CryptographicV3.0.0_CMx_C_O, где поля x, С и O кодируют информацию о файле:

  • x — кодирует семейство микроконтроллеров: CM0 — STM32F0; CMPLUS — STM32L0; CM3 — STM32F1, STM32F2, STM32L1; CM4 — STM32F3, STM32F4, STM32L4; CM7 — STM32F7;

  • C — кодирует тип компилятора: IAR, KEIL, GCC;

  • O — кодирует тип оптимизации компилятора. (пусто) — оптимизация по размеру кода (для всех компиляторов); ot — оптимизация по скорости (для всех компиляторов); nsc — включена опция «No Size constraints» (только IAR); slsm — включена опция «Split Load и Store Multiple» (только для Keil); o1elfspf — включена опция «One ELF Section per Function» (только для Keil).

____Всего пользователю доступно почти три десятка вариантов скомпилированной библиотеки шифрования (таблица 2).

Таблица 2. Варианты компиляции аппаратно-независимой библиотеки шифрования.

STM32. Статьи, заметки, очерки, разное... 31555227_m

____Файлы аппаратно зависимых реализаций находятся в папке «Middleware\ST\STM32_Crypto_AccHw\Lib». Их название имеет вид STM32AccHwCryptoV3.1.0_Xy_C_O.a. Поля xy, C и О также кодируют особенности файла:

  • xy — кодирует семейство микроконтроллеров (STM32F2, STM32F4, STM32F7, STM32L0, STM32L1, STM32L4);

  • C — кодирует тип компилятора: IAR, KEIL, GCC;

  • O — кодирует тип оптимизации компилятора. (пусто) — оптимизация по размеру кода (для всех компиляторов); ot — оптимизация по скорости (для всех компиляторов); nsc — включена опция «No Size constraints» (только IAR); slsm — включена опция «Split Load и Store Multiple» (только для Keil); o1elfspf — включена опция «One ELF Section per Function» (только для Keil).

____Всего доступно более десятка вариантов компиляции (таблица 3).

Таблица 3. Варианты компиляции аппаратно-зависимой библиотеки шифрования.

STM32. Статьи, заметки, очерки, разное... 31555256_m
STM32. Статьи, заметки, очерки, разное... 31555264_m

____Таким образом, выбор подходящего скомпилированного файла библиотеки осуществляется за четыре шага. Несмотря на то, что библиотека является уже скомпилированной, следует отметить, что она не «съедает» память впустую, так как имеет модульную структуру. Это значит, что компиляторы автоматически помещают в память микроконтроллера только необходимые функции.
____Перечень функций отдельных алгоритмов не отличается при использовании аппаратно зависимых и аппаратно независимых библиотек. Например, API для взаимодействия с AES AAA включает всего шесть функций для любого из вариантов реализации (таблица 4).

Таблица 4. Пример API библиотечных функций для реализации шифровавния AES.

STM32. Статьи, заметки, очерки, разное... 31555269_m

____Кроме понимания того, как устроена библиотека, и как с ней работать, важно знать об особенностях лицензионного соглашения при использовании X-CUBE-CRYPTOLIB.


Лицензионное соглашение при использовании X-CUBE-CRYPTOLIB.

____Главное достоинство X-CUBE-CRYPTOLIB — пакет предоставляется бесплатно. Однако его использование связано с лицензионным соглашением [3], которое, впрочем, мало чем отличается от общей лицензии для аналогичных продуктов производства компании STMicroelectronics.
____Как и в случае применения других программных пакетов производства ST, пользователю предлагается использовать их в том виде, в каком они есть. Этим компания снимает с себя ответственность за нецелевое использование программного обеспечения и возможные ошибки, появляющиеся при изменении исходного ПО. Вместе с тем, потребителю позволяется вносить изменения в ПО, использовать его части в своих разработках и передавать третьим лицам на некоммерческой основе. Продажа ПО. третьим лицам — запрещена.


Заключение.

____В настоящее время защита данных при обмене информацией является одной из важнейших задач не только для традиционных сетей, но и для быстрорастущего сегмента Интернета вещей. Компания STMicroelectronics предлагает пользователям микроконтроллеров STM32 бесплатный программный пакет X-CUBE-CRYPTOLIB для создания безопасных приложений. Он включает в себя скомпилированные файлы библиотеки шифрования для различных семейств микроконтроллеров и компиляторов. Кроме того, для пользователей доступны аппаратно независимые и аппаратно зависимые варианты реализации.
____Для работы с библиотекой достаточно выбрать подходящий файл и использовать его в своём коде. При этом пакет X-CUBE-CRYPTOLIB также включает массу примеров с использованием API библиотеки шифрования для каждого алгоритма защиты.
____Пакет X-CUBE-CRYPTOLIB поставляется бесплатно. Его использование ограничено весьма либеральным лицензионным соглашением.


Литература.

  1. UM1924. User manual. STM32 crypto library. ST, 2015.

  2. ГОСТ Р ИСО 7498−2−99. Взаимовязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура защиты информации.

  3. SLA0048. Software license agreement. ST, 2016.

  4. www.st.com/

***


.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 12512
Дата регистрации : 2012-08-10
Возраст : 41
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения