Шифрование данных: все, о чем вы должны знать, чтоб защитить данные

1. Введение

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

Дополнительные возможности аппаратных шифраторов

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

  • Генератор случайных чисел. Он необходим в основном для генерации криптографических ключей. Вдобавок, большое количество алгоритмов шифрования применяют их и для других целей. К примеру, алгоритм электронной подписи ГОСТ Р 34.10 — 2001: При вычислении подписи используется каждый раз новое случайное число.
  • Доверенная загрузка. Контроль входа на компьютер. Каждый раз, когда пользователь включает персональный компьютер, устройство будет требовать от него ввода персональной информации (например, вставить дискету с ключами). Только если устройство распознает предоставленные ключи и сочтёт их «своими», загрузка будет продолжена. Иначе пользователь будет вынужден разбирать компьютер и вынимать оттуда плату шифратора, чтобы включить компьютер (тем не менее, как известно, информация на жёстком диске также может быть зашифрована).
  • Контроль целостности файлов операционной системы. Злоумышленник не сможет в ваше отсутствие что-либо поменять в операционной системе. Шифратор хранит в своей памяти перечень всех важных файлов с заранее посчитанными для каждого контрольными суммами (или хеш-значениями), и компьютер будет блокирован, если при очередной загрузке не совпадёт контрольная сумма хотя бы одного из файлов.

Устройством криптографической защиты данных (УКЗД) называется плата расширения со всеми вышеперечисленными возможностями. Устройство аппаратного шифрования, контролирующее вход на персональный компьютер и проверяющее целостность всех файлов операционной системы, называется также «электронным замком». Понятно, что аналогия не совсем полная — обычные замки сильно уступают этим интеллектуальным устройствам. Хотя ясно, что последним необходимо программное обеспечение — требуется утилита, генерирующая ключи для пользователей и хранит их список для опознания «свой/чужой». Кроме этого, необходима программа для выбора важных файлов и подсчёта их контрольных сумм. Доступ к этим приложениям обычно есть только у администратора по безопасности. Он должен заранее сконфигурировать все устройства для пользователей, а если появятся проблемы, должен разобраться в их причинах.

Инструкции Intel

AES

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

Набор новых инструкции носит название AES-NI (AES New Instructions) и состоит из четырёх инструкций для шифрования AES:

  • AESENC — выполнить один раунд шифрования AES,
  • AESENCLAST — выполнить последний раунд шифрования AES и расшифровки,
  • AESDEC — выполнить один раунд расшифрования AES,
  • AESDECLAST — выполнить последний раунд расшифрования AES,

и ещё двух инструкции для работы с ключом AES:

  • AESIMC — Inverse Mix Columns,
  • AESKEYGENASSIST — поспособствовать в генерации раундового ключа AES.

Как и раньше, инструкции относятся к SIMD, то есть к типу «одна инструкция много данных» (Single Instruction Multiple Data). Поддерживаются все три ключа режима AES (с длинами ключей 128, 192 и 256 битов с 10, 12 и 14 проходами подстановки и перестановки).

Использование этих инструкций обеспечивает ускорение операций шифрования в несколько раз.

SHA

  • SHA-1: SHA1RNDS4, SHA1NEXTE, SHA1MSG1, SHA1MSG2
  • SHA-256: SHA256RNDS2, SHA256MSG1, SHA256MSG2

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

Первые процессоры с поддержкой данных инструкций были представлены в 2016 году (микроархитектура Goldmont).

Реализации

В наборе инструкций

x86

В X86 архитектура, как CISC (компьютер со сложной системой команд) Архитектура, как правило, реализует сложные алгоритмы в оборудовании. Криптографические алгоритмы — не исключение. Архитектура x86 реализует важные компоненты AES (расширенный стандарт шифрования) алгоритм, который может использоваться АНБ за Совершенно секретно Информация. Архитектура также включает поддержку SHA Алгоритмы хеширования через Расширения Intel SHA

Принимая во внимание, что AES — это шифр, который полезен для шифрования документов, хеширование используется для проверки, например, паролей (см. PBKDF2 )

РУКА

ARM процессоры может опционально поддерживать расширения безопасности. Хотя ARM — это RISC (компьютер с сокращенным набором команд) архитектура, есть несколько дополнительных расширений, указанных ARM Holdings.

Как сопроцессор

  • IBM 4758 — Предшественник IBM 4764. Сюда входит собственный специализированный процессор, объем памяти и Генератор случайных чисел.
  • IBM 4764 и IBM 4765 идентичны, за исключением используемого соединения. Первый использует PCI-X, а последний использует PCI-e. Оба периферийные устройства которые подключаются к материнская плата.

Продвинутые микроустройства (AMD) процессоры также являются устройствами x86 и поддерживают Инструкции AES с 2011 года Бульдозер итерация процессора.Из-за наличия инструкций по шифрованию на современных процессорах, предоставляемых обоими Intel и AMD инструкции присутствуют на большинстве современных компьютеров. Они также существуют на многих планшетах и ​​смартфонах из-за их реализации в ARM процессоры.

Какой метод самый безопасный? И самый быстрый?

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

Для сравнения, скорость, с которой механизм аппаратного шифрования способен выполнять свои операции, в 10-100 раз быстрее, чем программный механизм. Это означает, что на то, что программному ядру требуется 100 мс, аппаратное ядро ​​может занять всего 4 мс.

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

2. Достоинства и недостатки аппаратного шифрования

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

  • аппаратный датчик случайных чисел создает действительно случайные числа для формирования надежных ключей шифрования и электронной цифровой подписи;
  • аппаратная реализация криптоалгоритма гарантирует его целостность;
  • шифрование и хранение ключей осуществляются в самой плате шифратора, а не в оперативной памяти компьютера;
  • загрузка ключей в шифрующее устройство с электронных ключей Touch Memory (i-Button) и смарт-карт производится напрямую, а не через системную шину компьютера и ОЗУ, что исключает возможность перехвата ключей;
  • с помощью аппаратных шифраторов можно реализовать системы разграничения доступа к компьютеру и защиты информации от несанкционированного доступа;
  • применение специализированного процессора для выполнения всех вычислений разгружает центральный процессор компьютера; также можно установить нескольких аппаратных шифраторов на одном компьютере, что еще более повышает скорость обработки информации (это преимущество присуще шифраторам для шины PCI);
  • применение парафазных шин при создании шифрпроцессора исключает угрозу чтения ключевой информации по колебаниям электромагнитного излучения, возникающим при шифровании данных, в цепях «земля — питание» устройства.

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

Недостатки

Однако, если аппаратная реализация скомпрометирована, возникают серьезные проблемы. Вредоносное программное обеспечение может получать данные с (предположительно) защищенного оборудования — большой класс используемых методов — это синхронизация атаки. Решить эту проблему гораздо сложнее, чем программную ошибку, даже в Операционная система. Microsoft регулярно решает проблемы безопасности через Центр обновления Windows. Точно так же регулярно выпускаются обновления безопасности для Mac OS X и Linux, а также мобильные операционные системы, такие как iOS, Android, и телефон с операционной системой Виндоус. Однако оборудование — это совсем другой вопрос. Иногда проблему можно решить, обновив процессор микрокод (программное обеспечение низкого уровня). Однако другие проблемы могут быть решены только путем замены оборудования или обходного пути в операционной системе, который снижает выигрыш в производительности от аппаратной реализации, например, в Спектр эксплойт.

Что такое программное шифрование?

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

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

Другие процессоры

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

Так, поддержка алгоритма AES реализована в процессорах:

  • на основе архитектуры Qualcomm ARMv8 и выше;
  • SPARC T4 и выше;
  • VIA (C3, C7).

Архитектура ARM также имеет набор инструкций для алгоритмов SHA:

  • SHA1C — SHA1 hash update accelerator, choose
  • SHA1H — SHA1 fixed rotate
  • SHA1M — SHA1 hash update accelerator, majority
  • SHA1P — SHA1 hash update accelerator, parity
  • SHA1SU0 — SHA1 schedule update accelerator, first part
  • SHA1SU1 — SHA1 schedule update accelerator, second part
  • SHA256H — SHA256 hash update accelerator
  • SHA256H2 — SHA256 hash update accelerator, upper part
  • SHA256SU0 — SHA256 schedule update accelerator, first part
  • SHA256SU1 — SHA256 schedule update accelerator, second part

Использование шифрования

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

  • при подключении к большинству видов беспроводных сетей передачи данных (Wi-Fi, Bluetooth и пр.);
  • в мобильной связи;
  • мобильные ОС (iOS, Android) шифруют данные на устройствах для защиты от несанкционированного доступа;
  • безопасное хранение паролей требует определенных криптографических функций (т.е. большинство устройств с возможностью задания пароля использует шифрование);
  • банковские карты, банкоматы, терминалы оплаты всегда защищены криптографически;
  • криптовалюты основаны на принципах шифрования.

Все больше организаций и людей осознают важность применения шифрования для защиты данных. Так, совместными усилиями многих компаний, в частности, Google, доля зашифрованного HTTP-трафика выросла с 30% в начале 2014 года до 70% на начало 2018.. В то же время, любое шифрование — математически сложное преобразование данных и требует дополнительных вычислительных ресурсов от аппаратуры

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

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

История

До использования компьютерного оборудования криптография могла выполняться с помощью различных механических или электромеханический средства. Ранним примером является Scytale используется Спартанцы. В Энигма машина была электромеханической системной шифровальной машиной, особенно используемой немцами в Вторая Мировая Война.[нужна цитата ] После Вторая Мировая Война были разработаны чисто электронные системы. В 1987 году был начат проект ABYSS (Базовая система безопасности Йорктауна). Целью этого проекта была защита от использование пиратского программного обеспечения. Однако применение компьютеров в криптографии в целом восходит к 1940-м годам и Bletchley Park, где Колосс компьютер был использован для взлома шифрования, используемого немецким командованием Вторая Мировая Война. Использование компьютеров для зашифроватьправда, пришло позже. В частности, до разработки Интегральная схема, первый из которых был произведен в 1960 году, компьютеры были непрактичны для шифрования, поскольку по сравнению с портативными фактор формы из Энигма машина,компьютеры эпохи занял площадь всего здания. Это было только с развитием микрокомпьютер это компьютерное шифрование стало возможным за пределами нишевых приложений. Развитие Всемирная паутина приводят к необходимости для потребителей иметь доступ к шифрованию, поскольку Онлайн шоппинг стали преобладающими. Основными проблемами потребителей были безопасность и скорость. Это привело к тому, что в конечном итоге ключевые алгоритмы были включены в процессоры как способ повышения скорости и безопасности.

Алгоритмы шифрования

Существует большое количество криптографических алгоритмов. Поддерживать их все было бы технически трудно осуществимо.

Некоторые алгоритмы, однако, используются значительно чаще, чем другие. Это связано с тем, что многие алгоритмы признаны устаревшими или недостаточно безопасными, другие оказываются излишне сложными вычислительно. Есть также и другие причины.

Среди блочных симметричных алгоритмов прежде всего следует выделить AES (Advanced Encryption Standard). Данный алгоритм был отобран в качестве национального стандарта США по результатам конкурса. AES является основным симметричным алгоритмом шифрования во многих протоколах и технологиях (TLS, Wi-Fi, Bluetooth (с версии 4.0), GPG, IPsec, Bitlocker (шифрование файловой системы Windows), LUKS (шифрование файловой системы Linux), Miscrosoft Office, многие программы-архиваторы (WinZip, 7-zip) и пр.).

Также крайне широко используются алгоритмы криптографического хеширования. В связи с тем, что алгоритм MD5 был признан небезопасным, в настоящее время наиболее распространенными являются алгоритмы серии SHA, прежде всего, SHA-1 и SHA-2, также являющимися стандартами FIPS США. Им на смену со временем придет алгоритм SHA-3, ставший в 2012 году победителем соответствующего конкурса.

Среди алгоритмов с открытым ключом стоит отметить RSA, DSA и Diffe-Hellman.

В процессорах наиболее распространенной архитектуры x86-64 (производителей Intel и AMD) последних поколений реализованы специальные инструкции для ускорения вычислений по алгоритмам AES и SHA-1, SHA-2 (256 бит).

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: