Безопасность Интернета вещей - криптография
Примечание редактора. Защита Интернета вещей важна не только для целостности потоков данных и программного обеспечения в каждом приложении IoT, но и для целостности корпоративных ресурсов, связанных с этими приложениями. Безопасность Интернета вещей - сложная проблема, требующая систематического подхода для понимания возможных угроз и соответствующих методов их устранения.
По материалам книги Перри Ли из Интернета вещей для архитекторов
Глава 12. Безопасность Интернета вещей
Автор:Перри Ли
Криптография
Шифрование и секретность - абсолютные требования к развертыванию Интернета вещей. Они используются для защиты связи, защиты прошивки и аутентификации. Что касается шифрования, обычно следует учитывать три формы:
-
Шифрование с симметричным ключом :Ключи шифрования и дешифрования идентичны. RC5, DES, 3DES и AES - это все формы шифрования с симметричным ключом.
-
Шифрование с открытым ключом :Ключ шифрования публикуется публично, чтобы любой мог использовать и шифровать данные. Только у принимающей стороны есть закрытый ключ, используемый для расшифровки сообщения. Это также известно как асимметричное шифрование. Асимметричная криптография управляет секретностью данных, аутентифицирует участников и обеспечивает неотказуемость. Общеизвестные протоколы интернет-шифрования и сообщений, такие как Elliptic Curve, PGP, RSA, TLS и S / MIME, считаются открытыми ключами.
-
Криптографический хеш :Отображает данные произвольного размера в битовую строку (называемую дайджестом). Эта хеш-функция предназначена для «одностороннего». По сути, единственный способ воссоздать выходной хэш - это принудительно использовать каждую возможную комбинацию входных данных (ее нельзя запустить в обратном порядке). MD5, SHA1, SHA2 и SHA3 - все это формы односторонних хешей. Обычно они используются для кодирования цифровых подписей, таких как подписанные образы прошивки, код аутентификации сообщения . s ( MAC ) или аутентификации. При шифровании короткого сообщения, такого как пароль, ввод может быть слишком маленьким для эффективного создания честного хеша; в этом случае соль или к паролю добавляется неперсональная строка для увеличения энтропии. Соль - это форма функции вывода ключа ( KDF ):
щелкните, чтобы увеличить изображение
Элементы криптографии. Вот симметричные, асимметричные и хеширующие функции. Обратите внимание на использование ключей в симметричной и асимметричной криптографии. Symmetric требует использования идентичных ключей для шифрования и дешифрования данных. Хотя это быстрее, чем асимметричное шифрование, ключи необходимо защищать.
Симметричная криптография
В шифровании открытый текст относится к незашифрованному вводу, а вывод называется зашифрованным текстом, поскольку он зашифрован. Стандарт шифрования - расширенный стандарт шифрования . ( AES ), который заменил старые алгоритмы DES 1970-х годов. AES является частью спецификации FIPS и стандарта ISO / IEC 18033-3, используемого во всем мире. Алгоритмы AES используют фиксированные блоки из 128, 192 или 256 бит. Сообщения, размер которых превышает разрядность, будут разбиты на несколько блоков. AES имеет четыре основных этапа работы во время шифрования. Псевдокод для общего шифрования AES показан здесь:
// Псевдокод для шифра AES-128
// ввод:128 бит (открытый текст)
// вывод:128 бит (зашифрованный текст)
// w :44 слова, 32 бита каждое (расширенный ключ)
state =in
w =KeyExpansion (key) // Фаза расширения ключа (эффективно шифрует сам ключ)
AddRoundKey (state, w [0 , Nb-1]) // Начальный раунд
для раунда =1 шаг от 1 до Nr – 1 // 128 бит =10 раундов, 192 бит =12 раундов, 256 бит =14 раундов
SubBytes (state ) // Обеспечиваем нелинейность шифра
ShiftRows (state) // Избегаем независимого шифрования столбцов,
что может
ослабить алгоритм
MixColumns (state) // Преобразует каждый столбец и добавляет диффузию к
шифру
AddRoundKey (state, w [round * Nb, (round + 1) * Nb-1]) // Генерирует подключ и
объединяет его с состоянием.
Конец для
SubBytes (состояние) // Заключительный раунд и очистка.
ShiftRows (состояние)
AddRoundKey (state, w [Nr * Nb, (Nr + 1) * Nb-1] )
out =состояние
Блочные шифры представляют собой алгоритмы шифрования, основанные на симметричном ключе и оперирующие одним блоком данных. Современные шифры основаны на работе Клода Шеннона над шифрами продукта в 1949 году. Режим работы шифра - это алгоритм, который использует блочный шифр и описывает, как многократно применять шифр для преобразования больших объемов данных, состоящих из многих блоков. Для большинства современных шифров также требуется вектор инициализации . ( IV ), чтобы гарантировать отличные зашифрованные тексты, даже если один и тот же открытый текст вводится повторно. Есть несколько режимов работы, таких как:
-
Электронная кодовая книга (ECB) :Это самая основная форма шифрования AES, но она используется с другими режимами для создания более продвинутой безопасности. Данные разделены на блоки, каждый из которых шифруется индивидуально. Идентичные блоки производят идентичные шифры, что делает этот режим относительно слабым.
-
Цепочка блоков шифрования (CBC) :Сообщения с открытым текстом Xored с предыдущим зашифрованным текстом перед шифрованием.
-
Цепочка обратной связи шифра (CFB) :Аналогично CBC, но формирует поток шифров (вывод предыдущего шифра передается в следующий). CFB зависит от предыдущего блочного шифра для обеспечения ввода для текущего генерируемого шифра. Из-за зависимости предыдущих шифров CFB нельзя обрабатывать параллельно. Потоковые шифры позволяют потерять блок при передаче, но последующие блоки могут восстанавливаться после повреждения.
-
Цепочка обратной связи вывода (OFB) :Подобно CFB, это потоковый шифр, но позволяет применять коды с исправлением ошибок перед шифрованием.
-
Счетчик (CTR) :Превращает блочный шифр в потоковый шифр, но использует счетчик. Увеличивающийся счетчик подает каждый блочный шифр параллельно, обеспечивая быстрое выполнение. Одноразовый номер и счетчик объединяются вместе для передачи блочного шифра.
-
CBC с кодом аутентификации сообщения (CBC-MAC) :MAC (также известный как тег или MIC) используется для аутентификации сообщения и подтверждения того, что сообщение пришло от указанного отправителя. Затем к сообщению добавляется MAC или MIC для проверки получателем.
Эти режимы были впервые созданы в конце 1970-х - начале 1980-х годов и были рекомендованы Национальным институтом стандартов и технологий в FIPS 81 как режимы DES. Эти режимы обеспечивают шифрование для конфиденциальности информации, но не защищают от изменения или подделки. Для этого необходима цифровая подпись, и сообщество безопасности разработало CBC-MAC для аутентификации. Объединение CBC-MAC с одним из устаревших режимов было трудным, пока не были созданы такие алгоритмы, как AES-CCM, которые обеспечивают как аутентификацию, так и секретность. CCM означает счетчик с режимом CBC-MAC.
CCM - важный режим шифрования, используемый для подписи и шифрования данных, и он используется во множестве протоколов, описанных в этой книге, включая Zigbee, Bluetooth Low Energy, TLS 1.2 (после обмена ключами), IPSEC и 802.11 Wi-Fi WPA2.AES-CCM использует двойные шифры:CBC и CTR. AES-CTR или режим счетчика используется для общего дешифрования входящего потока зашифрованного текста. Входящий поток содержит зашифрованный тег аутентификации. AES-CTR расшифрует тег, а также данные полезной нагрузки. На этом этапе алгоритма формируется «ожидаемый тег». Фаза AES-CBC тегов алгоритма в качестве входных дешифрованных блоков из выходных данных AES-CTR и исходного заголовка кадра. Данные зашифрованы; однако единственными релевантными данными, необходимыми для аутентификации, является вычисленный тег. Если рассчитанный тег AES-CBC отличается от ожидаемого тега AES-CTR, то существует вероятность того, что данные были подделаны при передаче.
На рисунке ниже показан входящий зашифрованный поток данных, который аутентифицирован с помощью AES-CBC и расшифрован с помощью AES-CTR. Это гарантирует как секретность, так и подлинность источника сообщения:
щелкните, чтобы увеличить изображение
Режим AES-CCM .
Интернет вещей
- Путь к промышленной безопасности Интернета вещей
- Защита вектора угроз Интернета вещей
- Безопасность Интернета вещей - кто за это отвечает?
- Все идет IoT
- Безопасность Интернета вещей - препятствие для развертывания?
- Защита Интернета вещей с помощью обмана
- Автоматизация и Интернет вещей:рай для логистики и безопасности здравоохранения
- Безопасность раскрывает истинный потенциал Интернета вещей
- Обзор за год:12 соображений безопасности IoT
- Машинное зрение - ключ к Индустрии 4.0 и IoT