№10 / 2016 / статья 2

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

Вячеслав Гавриков (г. Смоленск)

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

Существует огромное количество приложений, которые по определению должны обеспечивать высокую степень защиты данных. Это касается Интернета вещей (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). Кодирование производится с помощью специальных алгоритмов и ключа шифрования. Обратный процесс декодирования также требует ключа. При этом возможно два варианта. При симметричном шифровании для кодирования и декодирования используется один и тот же ключ. При асимметричном шифровании для кодирования используется один ключ, а для декодирования — другой.

Рис. 1. Механизм шифрования данных

Рис. 1. Механизм шифрования данных

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

Рис. 2. Работа хеш-функций

Рис. 2. Работа хеш-функций

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

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

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

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

Рис. 4. Механизм формирования цифровых подписей

Рис. 4. Механизм формирования цифровых подписей

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

Рис. 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

Рис. 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. ГОСТ Р ИСО 7498−2−99. Взаимовязь открытых систем. Базовая эталонная модель. Часть 2. Архитектура защиты информации.
  3. SLA0048. Software license agreement. ST, 2016.
  4. www.st.com/.

Получение технической информации, заказ образцов, заказ и доставка.

ststm8l152c4_ne_10_16

Наши информационные каналы

Теги: , ,
Рубрики:

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее