Обзор криптографических методов защиты электронных устройств

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

Обзор криптографических методов защиты электронных устройств

Предупреждения о новых вирусах, атакующих компьютеры и мобильные устройства, и информация о различного рода нарушениях безопасности, таких как: взлом веб-сайтов, блокирование их работы DDoS-атаками (Distributed Denial of Service), кража учетных данных (логин, пароль), предоставляющих доступ к, например, электронному банкингу и взлому беспроводных сетей, появляются практически каждый день.

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

Это был самый известный случай, но, к сожалению, не единственный. Как до, так и после обнаружения вируса Stuxnet в 2010 году было много подобных атак. Например, в 2003 году вирус SQL Slammer заблокировал SCADA-систему одной из американских атомных электростанций. В 2015 году хакеры вызвали сбой в энергосистеме Украины.

Целей для атак будет все больше и больше.

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

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

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

Классификация угроз

Угрозы можно условно разделить на несколько групп. Первый — удаленные атаки по сетям, как проводным, так и беспроводным. Они популярны из-за постоянно растущего числа подключенных и подключенных устройств к интернету.

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

Сетевые атаки могут принимать различные формы. К ним относятся: подслушивание для перехвата передаваемых сообщений, подслушивание и изменение сообщений, например, для выдачи себя за один из веб-сайтов, которые подключаются друг к другу, например, для кражи данных или предоставления ложной информации вместо правильной, проведение DoS (отказ обслуживания) или DDoS-атака (распределенный отказ в обслуживании), заражение вредоносным ПО.

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

Обзор угроз. Криптографические функции

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

К третьей группе относятся атаки, связанные с заражением устройства вредоносным ПО через интерфейсы связи, доступные на данном устройстве, такие как JTAG или USB.

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

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

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

Конфиденциальность и аутентификация

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

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

Целостность и искажения

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

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

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

Шифрование с помощью ключа

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

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

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

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

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

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

Они предлагаются как самостоятельный продукт или встраиваются внутрь микроконтроллеров. В последние месяцы такие решения появились в предложениях Microchip, ST Micro, NXP, Infineon и других. Ниже приведены сокращенные характеристики двух таких решений.

ATECC608A

ATECC608A — это чип авторизации от Microchip с аппаратными алгоритмами на основе эллиптических кривых, реализующий:

безопасная генерация ключей: RNG (генератор случайных чисел), совместимый с Федеральным стандартом обработки информации (FIPS), генерирует уникальные ключи, соответствующие последним требованиям NIST, что упрощает получение сертификации FIPS для всей системы,
проверка подписи прошивки в приложениях с небольшими микроконтроллерами, такими как ARM Cortex-M0+,
доверенная авторизация сетевых узлов LoRa: механизм AES-128 также позволяет реализовать безопасность инфраструктуры LoRa путем аутентификации доверенных сетевых узлов,
более быстрая обработка данных: аппаратные алгоритмы, основанные на криптографии на эллиптических кривых (ECC), генерируют ключи меньшего размера и создают сертифицированный источник доверия быстрее и безопаснее, чем в случае реализаций, основанных на более старых методах,
защита от несанкционированного доступа: методы защиты от несанкционированного доступа защищают ваши ключи от физических атак и попыток вторжения после развертывания системы. Они обеспечивают безопасную и надежную идентификацию.
А1006

В свою очередь, A1006 Secure Authenticator NXP Semiconductors представляет собой систему авторизации для мобильных устройств и встроенных систем. Обеспечивая сильную авторизацию на основе асимметричного протокола с эллиптическими кривыми и устойчивость к инвазивным и неинвазивным атакам, эта система является отличной защитой от подделки продукции. Он предлагает расширенные функции безопасности , включая генератор реальных случайных чисел (TRNG), активное экранирование, датчики безопасности и многое другое.

A1006 обменивается данными через I²C или однопроводной интерфейс. Включает 4 КБ EEPROM для хранения двух сертификатов, системных данных и пользовательских данных. Он потребляет в среднем 50 мкА тока питания в активном состоянии и 3 мкА в режиме глубокого сна (3,3 В). Он размещен в миниатюрном корпусе WLCSP-4 площадью всего 1 мм² и толщиной 0,5 мм.

Примеры симметричных алгоритмов

Одним из самых популярных асимметричных алгоритмов является RSA. Примером симметричного алгоритма является DES (стандарт шифрования данных). Это блочный шифр, работающий с 64-битными блоками. Ключ состоит из 64 бит, но на практике используются 56 бит, а остальные 8 битов четности. Над каждым блоком выполняется несколько операций.

Во-первых, биты блока случайным образом переставляются. Затем он делится на две равные 32-битные части. Затем набор операций повторяется 16 раз, что упрощает сдвиг и подстановку битов данных и ключей для их объединения.

На следующем шаге объединяются две части блока и, наконец, снова, но в отличие от первого шага, переставляются биты блока. Расшифровка — это та же операция, но в обратном порядке.

Алгоритм DES может быть реализован в блочных режимах, ECB (Electronic CodeBook) или CBC (Cipher Block Chaining), которые лучше всего подходят для шифрования готовых данных, и хуже — с неизвестным объемом и скоростью появления, которые используются для шифрования. режимы потока: CFB (Cipher FeedBack) и OFB (Output FeedBack).

В настоящее время алгоритм DES больше не считается надежной мерой безопасности . Его преемником является AES (Advanced Encryption Standard), основанный на алгоритме Rijndeal. Этот шифр быстрее и сложнее взломать, чем DES. В категорию названий алгоритмов также входят блочные шифры: RC2, RC5 и RC6 и поточные шифры: RC4.

Хэш-функции

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

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

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

Примеры хеш-функций: MD5 и SHA-1. Первый создает подпись длиной 128 бит, а второй — 160 бит. SHA-1 обеспечивает более высокий уровень безопасности, поскольку создает более длинные хэши, устойчивые к некоторым атакам, восприимчивым к сигнатурам, сгенерированным MD5. К сожалению, в настоящее время ни MD5, ни SHA-1 больше не рекомендуются для использования в новых проектах. Функции SHA-2 и SHA-3 более безопасны.

Цифровая подпись

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

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

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

Криптография на практике — пример

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

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

Другой пример — устройства для удаленного наблюдения за комнатой, в которой находится ребенок. Хакер-грабитель, который перепрограммирует так называемый электронная няня может, например, подслушивать и/или просматривать, что происходит в доме, благодаря чему он может, например, проверить, есть ли кто-нибудь в данный момент.

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

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

Исправить

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

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

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

Способы оплаты, защищенные криптогрфическими сертификатами:
Ethereum ETH / Bitcoin: BTC
Binance Coin / Toncoin TON
Tether: USDT / USD Coin / Binance USD
Банковских карт (Россия и Украина)
QIWI
ЮMoney
WebMoney
СберБанк
АльфаБанк
Тинькофф
ВТБ и ГазпромБанк

Резюме

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