logo
+7 (495) 997-37-74
Москва, ул.Международная, 15

ATSHA204A — Обзор

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

Для подобных задач выпускаются специализированные микросхемы, которые обеспечивают работу специфических алгоритмов и особое внимание уделяют сохранению секретной информации как во время работы системы, так и противостоят попыткам вскрытия и извлечения информации из самих чипов.

В этой статье мы рассмотрим основные свойства и области применения криптографической микросхемы ATSHA204A компании Microchip.

Назначение ATSHA204A

Микросхема ATSHA204A предназначена для работы с алгоритмом хеширования SHA-256, обеспечивает безопасную генерацию и хранение секретных ключей, вычисление HMAC, имеет на борту качественный генератор случайных чисел, область одноразовой записи информации и множество других специализированных крипто-ориентированных свойств.

Алгоритм SHA-256 применяется в основном для хеширования данных и обеспечения контроля целостности информации, поэтому и микросхема ATSHA204A ориентирована на эти области применения — вычисления хешей сообщений, проверки ключей, подтверждения валидности пакетов данных и т. п.

ATSHA204A не предназначена для шифрования трафика и т. п. применений, она не имеет функций работы с популярным алгоритмом AES-128, но может быть полезна и в схеме шифрования, например в качестве безопасного хранилища секретных ключей.

Характеристики ATSHA204A

Основные характеристики ATSHA204A:

    • Аппаратное криптозащищённое хранилище ключей
    • Безопасная симметричная аутентификация сетевых взаимодействий
    • Аппаратная реализация алгоритма SHA-256 с MAC и HMAC
    • Область для хранения 16-и 256-битных ключей
    • Уникальный 72-битный серийный номер
    • Внутренний RNG (High-quality Random Number Generator)
    • 4,5 Kб встроенной EEPROM памяти для хранения ключей и данных
    • Область 512 бит OTP (One Time Programmable)
    • Напряжение питания от 2 до 5,5 В
    • Напряжение логики от 1,8 до 5,5 В
    • Потребление тока в режиме сна < 150 нА

Основные области применения ATSHA204A

Микросхема ATSHA204A может применяться везде, где требуется безопасное хранение ключей и данных, а также контроль целостности передаваемой информации. Вот несколько типовых примеров применения ATSHA204A:

1 Контроль целостности системы. Микросхема ATSHA204A может применяться для для контроля программно-аппаратной среды (экосистемы) различных устройств. Это может быть идентификация оригинальных запасных частей, картриджей, подключаемых модулей, программного обеспечения и т. п. области применения.

2 Безопасная загрузка и контроль программного обеспечения. ATSHA204A может использоваться для проверки и безопасной загрузки оригинального программного обеспечения и предотвращения загрузки сторонних прошивок на устройства, а также для шифрования файлов и фрагментов кода.

3 Безопасные коммуникации. ATSHA204A может хранить секретные ключи и проводить аутентификацию пользователей и сетевых устройств, а также вычислять и сравнивать хеши и участвовать в схемах шифрования данных и трафика.

4 Безопасное хранение данных. Кроме хранения секретных ключей, ATSHA204A может использоваться для хранения небольших объёмов данных, необходимых например для конфигурации или калибровки устройств и прочую конфиденциальную информацию. Микросхема обеспечивает программируемую защиту операций чтения и записи данных.

5 Проверка паролей пользователей. Безопасная проверка паролей в схемах с хешированием вводимых пользователем данных, безопасный обмен данными о паролях между удалёнными системами и т. д.

6 Интернет вещей (IoT). Сам термин «интернет вещей» говорит о том, что в его сфере постоянно осуществляется проводная и беспроводная передача данных и команд между устройствами, которая немыслима без надёжной защиты коммуникаций. Микросхема ATSHA204A позволяет организовать безопасный обмен информацией между ведущими устройствами и различной периферией в виде датчиков, актуаторов и т. п. устройств.

Интеграция в устройства

ATSHA204A выпускается в различных модификациях и различные её варианты имеют разные корпуса (SOIC, TSSOP, SOT23, UDFN, XDFN, CONTACT) и разные интерфейсы для взаимодействия с микроконтроллером (двухпроводной I2C или однопроводной SWI).

Наиболее простой и подходящий для использования в IoT вариант ATSHA204A — это 3-выводной корпус SOT23 с однопроводным интерфейсом SWI. Достоинства этого варианта — очень небольшие размеры, позволяющие разместить криптомикросхему на любом, даже самом миниатюрном, датчике и однопроводной интерфейс, который занимает всего один GPIO вывод микроконтроллера и требует всего двух элементов обвязки — резистора и конденсатора.

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

Программирование

Использовать криптомикросхему ATSHA204A можно в любом микроконтроллерном устройстве и работать с ней можно в любой привычной вам среде разработки. В этом руководстве мы будем говорить о программировании ATSHA204A в среде Arduino IDE, как наиболее простой и популярной среде разработки для микроконтроллеров.

Как и в случае с любым другим периферийным устройством, для чипа ATSHA204A в среде Arduino IDE существует своя готовая библиотека. Эта библиотека содержит все базовые функции работы с ATSHA204A и, используя их, можно реализовать любой сценарий работы по хранению ключей, хешированию, шифрованию и т. п. функциям.

Типовой пример: симметричная аутентификация

Для того, чтобы более предметно представить и понять специфику применения микросхемы ATSHA204A в ваших проектах, давайте рассмотрим типовой пример сетевой аутентификации двух устройств. Это могут быть, например, базовый блок IoT контроллера и периферийное устройство, например, датчик.

В этом варианте и базовый блок и датчик имеют у себя на борту чипы ATSHA204A и в каждый чип заранее зашит одинаковый секретный ключ.

Как уже было сказано выше, микросхемы ATSHA204A имеют встроенный генератор случайных чисел. В нашем примере чип ATSHA204A базового блока генерирует случайное число и подаёт его на вход как своего блока вычисления хеш-функции SHA-256, так и передаёт контроллеру для отсылки удалённому датчику, который имеет такой же блок хеширования и такой же секретный ключ внутри своего чипа ATSHA204A.

В результате обе микросхемы ATSHA204A вычисляют хеш и датчик отсылает его обратно базовому блоку для сравнения. Далее на базовом блоке происходит сравнение хешей и принимается решение о верификации («легитимности») или не верификации датчика.

Поскольку секретный ключ хранится в микросхемах ATSHA204A, недоступен злоумышленнику и не передаётся по сети, то злоумышленник не может подделать ответ датчика на произвольное случайное число, присылаемое базовым блоком. Таким образом происходит проверка на «легитимность» удалённого датчика.

Это только небольшой пример применения криптомикросхемы ATSHA204A в обеспечении безопасности IoT проектов, на самом деле тема криптографической защиты чрезвычайно объёмна и разнообразна и, по хорошему, тянет на целый университетский курс.

Заключение

В этой статье мы дали общий обзор специализированной микросхемы ATSHA204A и вскользь затронули необъятную тему криптографии и её практического применения в реальных проектах на микроконтроллерах.

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

Ссылки по теме

Работа с SHA-256

ATSHA204 - Спецификации

ATSHA204 - Библиотека и примеры

ATSHA204A - Чтение зоны конфигурации 1

ATSHA204A - Чтение зоны конфигурации 2

ATSHA204A - Чтение зоны конфигурации 3

ATSHA204A - Запись конфигурации 1

ATSHA204A - Запись конфигурации 2

ATSHA204A - Запись конфигурации 3

ATSHA204A - Запись конфигурации 4

ATSHA204A - Config Lock

ATSHA204A - Работа в режиме Config Lock

ATSHA204A - Работа с зонами памяти