Реализуйте безопасную аутентификацию, не будучи экспертом в криптографии

Обновление: 4 апреля 2023 г.

Цифровая безопасность — одна из самых известных тем в Электронный дизайн сегодня. Шифрование — вероятно, первое слово, которое приходит на ум, когда инженеры думают о безопасности, и лишь немногие инженеры думают об аутентификации. Однако аутентификация является важной функцией безопасного устройства или транзакции.

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

вводить

Цифровая безопасность — одна из самых известных тем в электронном дизайне сегодня. Шифрование — вероятно, первое слово, которое приходит на ум, когда инженеры думают о безопасности, и лишь немногие инженеры думают об аутентификации. Однако аутентификация является важной функцией безопасного устройства или транзакции.

Рассмотрим проверку личности с точки зрения домашнего банкинга. Очевидно, вы хотите зашифровать конфиденциальную информацию, такую ​​как балансы и номера счетов. Это происходит, когда ваш интернет-браузер отображает зеленый замок с https://. То есть первое, что проверяет интернет-браузер при установлении безопасного соединения, это подлинность сайта банка; другими словами, он аутентифицирует веб-сайт банка. Без аутентификации вы можете отправлять информацию о логине и пароле на сайты, выдающие себя за другое лицо, что действительно может быть очень вредным, поскольку эти учетные данные могут быть в дальнейшем повторно использованы для выполнения любых несанкционированных действий от имени ничего не подозревающей транзакции владельца банковского счета. Безопасный просмотр в Интернете обычно достигается с помощью протокола TLS/SSL, который, помимо шифрования, обеспечивает подлинность и конфиденциальность.

Аутентификация также важна для приложений Интернета вещей (IoT): ненадежные конечные точки могут поставить под угрозу всю инфраструктуру. Давайте рассмотрим интеллектуальный счетчик, подключенный к системе распределения электроэнергии. Один из простых способов скомпрометировать сеть — загрузить вирусы или вредоносное ПО в интеллектуальные счетчики. Затем зараженные счетчики могут отправлять в инфраструктуру ложные сообщения, отражающие энергопотребление, которое значительно отличается от фактического энергопотребления, что, в свою очередь, может привести к разбалансировке сети. Если сеть завышает отчетность, это приведет к тому, что кажущаяся избыточная мощность будет перенаправлена ​​в другое место, но если сеть занижает отчетность, это вызовет скачок мощности; в худшем случае атака может привести к полному отключению электроэнергии, нарушив баланс сети. Чтобы избежать этого, необходимо убедиться, что аппаратная часть счетчика и его прошивка являются подлинными. Процесс проверки прошивки называется безопасной загрузкой.

Реализуйте допустимый метод аутентификации

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

Лучшим способом аутентификации в цифровом мире является метод «вызов-ответ». Давайте рассмотрим две разновидности методов запрос-ответ: один основан на симметричной криптографии, а другой основан на асимметричной криптографии.

Симметричная аутентификация по паролю

Аутентификация на основе симметричного шифрования зависит от общего секрета. Хост и устройство для аутентификации имеют одинаковый код ключа. Хост отправляет случайное число, вызов, на устройство. Устройство вычисляет цифровую подпись в зависимости от ключа и запроса и отправляет ее обратно на хост. Затем хост выполняет тот же расчет и сравнивает результаты. Если два вычисления совпадают, устройство аутентифицируется (рис. 1). Чтобы гарантировать невозможность имитации результатов, необходимо использовать функции с достаточными математическими свойствами. Например, секреты не могут быть извлечены без принудительного вычисления результата. Безопасные хеш-функции, такие как SHA-256, поддерживают эти требования. Для метода запрос-ответ устройство доказывает, что оно знает секрет, не раскрывая его. Даже если злоумышленник перехватит сообщение, он все равно не сможет получить доступ к общему секрету.


Рис. 1. Аутентификация, основанная на симметричном шифровании, зависит от номеров ключей, совместно используемых хостом и устройством.

Асимметричная криптографическая аутентификация

Аутентификация на основе асимметричного шифрования опирается на два ключа: закрытый ключ и открытый ключ. Закрытый ключ известен только аутентифицируемому устройству, а открытый ключ может быть раскрыт любому лицу, желающему аутентифицировать устройство. Как и в ранее обсуждаемом методе, хост отправляет запрос на устройство. Устройство вычисляет подпись на основе запроса и закрытого ключа и отправляет ее обратно на хост (рис. 2). Но здесь хост использует открытый ключ для проверки подписи. Также важно, чтобы функция, используемая для вычисления подписи, обладала определенными математическими свойствами. Наиболее часто используемые функции для асимметричных схем — это RSA и ECDSA. Здесь также устройство доказывает, что оно знает секрет, закрытый ключ, не раскрывая его.


Рисунок 2. Аутентификация с асимметричным ключом опирается на открытый и закрытый ключи.

Почему безопасные ИС хороши для аутентификации

Аутентификация запрос-ответ всегда требует аутентификации объекта для сохранения секрета. В симметричном шифровании это общий секрет между хостом и устройством. Для асимметричного шифрования это закрытый ключ. Несмотря на это, безопасность, обеспечиваемая аутентификацией запрос-ответ, нарушается при утечке секретов. Здесь могут помочь ИС безопасности. Неотъемлемое свойство ценной бумаги IC заключается в обеспечении надежной защиты ключей и секретов.

Сентенция предлагает три семейства решений с поддержкой аутентификации:

ИС аутентификации: это настраиваемые устройства с фиксированными функциями, которые обеспечивают наиболее экономичный способ реализации аутентификации типа «запрос-ответ» наряду с компактным набором криптографических операций.

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

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

Сертифицированная ИС

Среди ИС аутентификации продукты на основе SHA-256 поддерживают аутентификацию с использованием общего секрета (рис. 3), а ИС на основе ECDSA используют пары закрытый/открытый ключ (рис. 4). В дополнение к механизму шифрования эти продукты также имеют встроенную память EEPROM. Эта память настраивается и может использоваться для хранения аутентифицированных пользовательских данных, таких как информация о калибровке датчиков.

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


Рисунок 3. Безопасная аутентификация SHA-256 основана на общем секрете.

Микросхемы Maxim DS28E15/DS28E22/DS28E25 основаны на SHA-256. technology и имеют разные размеры внутренней памяти. Поскольку один и тот же ключ хранится на стороне хоста и на стороне устройства, рекомендуется использовать сопроцессор, такой как DS2465, на стороне хоста.

Продукты, основанные на асимметричном шифровании (например, DS28C36 и DS28E35), обеспечивают более гибкое решение, поскольку нет необходимости защищать ключ от раскрытия на стороне хоста. Тем не менее, чтобы разгрузить математику с открытым ключом и обеспечить дополнительные операции безопасности, можно использовать сопроцессор на стороне хоста, такой как DS2476 (компаньон IC для DS28C36), чтобы упростить разработку системного решения.


Рисунок 4. Аутентификация на основе ECDSA опирается на пары закрытый/открытый ключ.

Безопасный микроконтроллер, поддерживающий симметричное и асимметричное шифрование

Maxim предлагает защищенные микроконтроллеры, начиная от процессоров прикладного класса MAX32590 (ARM9, работающая на частоте 384 МГц), которые могут работать под управлением высокоуровневых операционных систем, таких как Linux, до сопроцессоров малого форм-фактора, таких как MAX32555 или MAXQ1061.

Эти микроконтроллеры поддерживают симметричное и асимметричное шифрование и криптографические алгоритмы для цифровых подписей и аутентификации. Они оснащены аппаратными ускорителями для SHA, RSA, ECDSA и AES, а также полной криптографической библиотекой, обеспечивающей готовый API, соответствующий стандартам. В них встроена функция безопасной загрузки, поэтому подлинность прошивки всегда гарантируется. Благодаря обширному набору функций шифрования они могут работать с широким спектром схем аутентификации.

MAXQ1061 — это сопроцессор, который не только поддерживает аутентификацию, но также выполняет наиболее важные этапы стандартного протокола связи TLS/SSL с защитой IP. Обработка протокола TLS на кристалле повышает уровень безопасности и разгружает основной процессор от ресурсоемких задач. Это очень ценно для встраиваемых систем с ограниченными ресурсами.

маломощный микроконтроллер

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