Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Шифрування даних: криптозащита STM32

  1. Огляд основних методів захисту даних
  2. Пакет розширення X-CUBE-CRYPTOLIB для STM32 Cube
  3. Огляд бібліотеки шифрування STM32 crypto library з пакету розширення X-CUBE-CRYPTOLIB
  4. Вибір відповідного файлу-бібліотеки з пакета бібліотек шифрування
  5. Ліцензійна угода при використанні X-CUBE-CRYPTOLIB
  6. Висновок
  7. література
  8. Про компанію ST Microelectronics

З розвитком таких мережевих технологій як Інтернет речей, питання безпечного обміну даними стають все більш важливими З розвитком таких мережевих технологій як Інтернет речей, питання безпечного обміну даними стають все більш важливими. Щоб допомогти своїм споживачам в створенні захищених додатків, компанія STMicroelectronics випустила програмний пакет X-CUBE-CRYPTOLIB. У ньому містяться бібліотеки, які реалізують найбільш популярні алгоритми захисту даних для всіх родин мікроконтролерів STM32, навіть для тих, які не мають в своєму складі апаратних блоків криптографії.

Існує величезна кількість додатків, які за визначенням повинні забезпечувати високу ступінь захисту даних. Це стосується Інтернету речей (IoT), терміналів оплати, банкоматів, лічильників комунальних послуг, систем безпеки та багатьох інших. При цьому в кожному з перерахованих випадків необхідно захистити дані не тільки від крадіжки, а й від шкідливого зміни. Це досить складне завдання.

Частина розробників IoT-пристроїв поки навіть не замислюється про заходи безпеки. Можна лише сподіватися, що ця безпечність рано чи пізно не призведе до плачевних наслідків. З іншого боку, створення механізмів захисту - складне й витратна справа, і не у кожної компанії знайдуться для цього ресурси. У цих умовах рятує те, що великі виробники процесорів і мікроконтролерів прагнуть в тій чи іншій формі забезпечити своїх споживачів інструментами для створення безпечних додатків. Яскравий приклад - новий програмний пакет X-CUBE-CRYPTOLIB від STMicroelectronics.

У липні 2016 року компанія STMicroelectronics повідомила, що її фірмова бібліотека шифрування, що входить до складу X-CUBE-CRYPTOLIB, успішно пройшла сертифікацію відповідно до вимог US 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].

Збереження цілісності інформації має на увазі захист від несанкціонованого або випадкового спотворення даних. Під спотворенням розуміють видалення, зміна або вставку сторонньої інформації в захищається блок даних. Щоб убезпечити себе від подібних впливів, система повинна мати можливості їх виявлення, тобто приймач, отримавши блок даних, повинен переконатися, що вони не були змінені.

Конфіденційність має на увазі, що доступ до закритих даних можуть мати лише авторизовані користувачі. Доступ неавторизованих користувачів або процесів повинен бути виключений.

Ідентифікація та аутентифікація дозволяють сторонам, які беруть участь в обміні даними, ідентифікувати себе. Якщо аутентифікація проходить успішно, користувач або процес отримують доступ до інформації. Аналогічно є необхідність ідентифікації джерела даних.

Безвідмовність. Згідно ДСТУ ISO 7498-2-99, цей метод може приймати дві форми [2].

Безвідмовність з підтвердженням відправника має на увазі, що одержувач даних забезпечується перевіркою відправника даних. Це захищає від будь-якої спроби відправника помилково заперечувати передачу даних або їх вміст.

Безвідмовність з підтвердженням доставки гарантує, що передавач даних забезпечується підтвердженням доставки даних. Це захищає від будь-якого подальшого спроби одержувача помилково заперечувати отримання даних або їх вміст.

Очевидно, що проблема захисту даних зовсім не нова. На даний момент існують надійні і перевірені функції і методи забезпечення безпеки. Всі вони необхідні для вирішення перерахованих подзадач [1].

Шифрування. Суть цього методу полягає в перетворенні відкритих даних в зашифровану форму (рисунок 1). Кодування проводиться за допомогою спеціальних алгоритмів і ключа шифрування. Зворотний процес декодування також вимагає ключа. При цьому можливі два варіанти. При симетричному шифруванні для кодування і декодування використовується один і той же ключ. При асиметричному шифруванні для кодування використовується один ключ, а для декодування - інший.

При асиметричному шифруванні для кодування використовується один ключ, а для декодування - інший

Мал. 1. Механізм шифрування даних

Функції хешування (згортки) - це особливий вид односторонніх функцій, які за допомогою певного алгоритму отримують з вихідного масиву даних бітову рядок заданої довжини (рисунок 2). Вихідні дані часто називають ключем (повідомленням), а вихідну бітову рядок «хеш-кодом», «хеш-сумою» або «зведенням повідомлення». Використовуваний алгоритм перетворення повинен забезпечувати захист від можливостей відновлення вихідних даних за відомим хеш-коду і збіги хеш-кодів різних повідомлень.

Мал. 2. Робота хеш-функцій

Код аутентифікації повідомлень MAC (Message Authentication Code). Даний механізм, як і хеш-функції, використовується для генерації хеш-коду. Однак для цього потрібно не тільки вихідне повідомлення, але і секретний ключ, відомий тільки відправникові й одержувачеві (рисунок 3). Це дозволяє одержувачеві даних перевіряти цілісність інформації та ідентифікувати відправника. Якщо відправник не має секретного ключа - хеш-код буде сформований невірно, що легко знайде одержувач.

Мал. 3. Механізм роботи MAC- алгоритмів

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

Мал. 4. Механізм формування цифрових підписів

Генерація випадкових чисел. Захисне кодування має сенс, тільки якщо неможливо розгадати ключ шифрування. З цієї причини ключ повинен бути випадковим. Для цього застосовується генератор випадкових чисел (малюнок 5). Він може використовувати як програмні методи формування вихідної послідовності випадкових чисел, так і природне джерело випадкового сигналу, наприклад, шум напруги на діоді.

Мал. 5. Приклад роботи генератора випадкових чисел

Якщо проаналізувати завдання захисту даних, то виявиться, що для реалізації кожної з них може знадобитися кілька різних механізмів (таблиця 1).

Таблиця 1. Методи захисту інформації

Метод Контроль цілісності
даних Конфіденційність Ідентифікація
і аутентифікація Безвідмовність Симетричне шифрування Ні так ні ні Захищені хеш-функції Та ні немає ні MAC Та ні так ні Цифрові підписи Та ні так так

Пакет розширення 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). Він включає програмне забезпечення, яке працює на двох рівнях: на рівні додатків і на проміжному рівні.

Він включає програмне забезпечення, яке працює на двох рівнях: на рівні додатків і на проміжному рівні

Мал. 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. Варіанти компіляції апаратно-незалежної бібліотеки шифрування

Сімейство Компілятор Оптимізація Бібліотека STM32F0 IAR Швидкість STM32CryptographicV3.0.0_CM0_IAR_ot.a Розмір STM32CryptographicV3.0.0_CM0_IAR.a KEIL Швидкість STM32CryptographicV3.0.0_CM0_KEIL_otslsm1elfspf.lib Розмір STM32CryptographicV3.0.0_CM0_KEIL_slsm1elfspf.lib GCC Швидкість STM32CryptographicV3.0.0_CM0_GCC_ot.a Розмір STM32CryptographicV3.0.0_CM0_GCC.a STM32L0 IAR Швидкість STM32CryptographicV3.0.0_CM0PLUS_IAR_ot.a Розмір STM32CryptographicV3.0.0_CM0PLUS_IAR.a KEIL Швидкість STM32CryptographicV3.0.0_CM0PLUS_KEIL_otslsm1elfspf.lib Розмір STM32CryptographicV3.0.0_CM0PLUS_KEIL_slsm1elfspf.lib GCC Швидкість STM32CryptographicV3.0.0_CM0PLUS_GCC_ot.a Розмір STM32CryptographicV3.0.0_CM0PLUS_GCC.a STM32F1 , STM32F2 , STM32L1 IAR Швидкість STM32CryptographicV3.0.0_CM3_IAR_ot.a Розмір STM32CryptographicV3.0.0_CM3_IAR.a KEIL Швидкість STM32CryptographicV3.0.0_CM3_KEIL_otslsm1elfspf.lib Розмір STM32CryptographicV3.0.0_CM3_KEIL_slsm1elfspf.lib GCC Швидкість STM32CryptographicV3.0.0_CM3_GCC_ot.a Розмір STM32CryptographicV3.0.0_CM3_GCC.a STM32F3 , STM32F4 , STM32L4 IAR Швидкість STM32CryptographicV3.0.0_CM4_IAR_ot.a Розмір STM32CryptographicV3.0.0_CM4_IAR.a KEIL Швидкість STM32CryptographicV3.0.0_CM4_KEIL_otslsm1elfspf.lib Розмір STM32CryptographicV3.0.0_CM4_KEIL_slsm1elfspf.lib GCC Швидкість STM32CryptographicV3.0.0_CM4_GCC_ot.a Розмір STM32CryptographicV3.0.0_CM4_GCC.a STM32F7 IAR Швидкість STM32CryptographicV3.0.0_CM7_IAR_ot.a Розмір STM32CryptographicV3.0.0_CM7_IAR.a KEIL Швидкість STM32CryptographicV3.0.0_CM7_KEIL_otslsm1elfspf.lib Розмір STM32CryptographicV3.0.0_CM7_KEIL_slsm1elfspf.lib

Файли апаратно залежних реалізацій знаходяться в папці «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. Варіанти компіляції апаратно-залежною бібліотеки шифрування

Сімейство Найменування Підтрімувані алгоритми шифрування Вікорістовуваній пилинг блок STM32F2 STM32F20x ECC: генерація ключів, cкалярное множення, ECDSA Генератор Випадкове чисел (RNG) RSA Функції шифровки / дешіфрування з Використання PKCS # 1v1 STM32F21x AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128, 192, 256 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор Випадкове чисел (RNG) RSA Функції шифровки / дешіфрування з Використання PKCS # 1v1.5 STM32F4 STM32F405 / 407 ECC: генерація ключів, скалярне множення, ECDSA Генератор Випадкове чисел (RNG) STM32F427 / 429 RSA: Функції шифрування / дешіфрування з Використання PKCS # 1v1 STM32F415x / 417x AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128, 192, 256 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор Випадкове чисел (RNG) RSA Функції шифровки / дешіфрування з Використання PKCS # 1v1.5 STM32F437x / 439x AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128, 192, 256 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор Випадкове чисел (RNG) RSA Функції шифровки / дешіфрування з Використання PKCS # 1v1.5 STM32F7 STM32F745x / 746x ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5 STM32F756xx AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128, 192, 256 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5 STM32L0 STM32L05x ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5 STM32L06x AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5 STM32L1 STM32L16x AES: CFB, OFB, XTS, CCM, GCM, CMAC, KeyWrap; розрядність ключа: 128 біт Блок шифрування (Crypto accelerator) STM32L4 STM32L471xx ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5 STM32L486xx AES: CFB, OFB, XTS, CCM, KeyWrap; розрядність ключа: 128, 256 біт Блок шифрування (Crypto accelerator) ECC: генерація ключів, скалярне множення, ECDSA Генератор випадкових чисел (RNG) RSA функції шифровки / дешифрування з використанням PKCS # 1v1.5

Таким чином, вибір відповідного скомпільованої файлу бібліотеки здійснюється за чотири кроки. Незважаючи на те, що бібліотека є вже компільованою, слід зазначити, що вона не «з'їдає» пам'ять даремно, так як має модульну структуру. Це означає, що компілятори автоматично поміщають в пам'ять мікроконтролера тільки необхідні функції.

Перелік функцій окремих алгоритмів не відрізняється при використанні апаратно залежних і апаратно незалежних бібліотек. Наприклад, API для взаємодії з AES AAA включає всього шість функцій для будь-якого з варіантів реалізації (таблиця 4).

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

Функція Опис AES_AAA_Encrypt_Init Ініціалізація і завантаження ключа AES_AAA_Encrypt_Append Запуск операції шифрування AES_AAA_Encrypt_Finish Фіналізація процесу шифрування AES_AAA_Decrypt_Init Ініціалізація і завантаження ключа

Крім розуміння того, як влаштована бібліотека, і як з нею працювати, важливо знати про особливості ліцензійної угоди при використанні 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. ДСТУ ISO 7498-2-99. Взаімовязь відкритих систем. Базова еталонна модель. Частина 2. Архітектура захисту інформації.
  3. SLA0048. Software license agreement. ST, 2016.
  4. www.st.com/ .

Отримання технічної информации , замовлення зразків , замовлення и доставка .

Про компанію ST Microelectronics

Компанія STMicroelectronics є №1 виробника електроніки в Европе Компанія STMicroelectronics є №1 виробника електроніки в Европе. Компоненти ST широко представлені в оточуючіх нас СПОЖИВЧИХ товари - від iPhone до автомобілів різніх марок. Лідери індустріального Сайти Вся вібірають компоненти ST за їх Надійність и видатні технічні параметрами. У компании ST працює 48 000 співробітніків в 35 странах. Виробничі потужності розташовані в 12 странах світу. Понад 11 тисяч співробітніків зайняті дослідженнямі і розробки - інноваційне лідерство ... читати далі

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.