Аппаратная поддержка алгоритма AES современными процессорами
Начинаем
Для начало, необходимо убедится что расширение AES-NI присутствует в нашем процессоре. Для этого существует специальная команда CPUID, которая при значение eax=0x00000001, должна выставить в регистрах биты относительно присутствующих расширений. Для расширения AES это 25 бит регистра ECX:
код проверки AES-NI:
Если бит установлен в 1, значит мы можем переходить к шифрованию.
Расширение ключа/ExpandKey
Алгоритм расширения ключа в псевдокоде выглядит так:
Для аппаратной поддержки надо использовать инструкцию AESKEYGENASSIST, которая выполнит:
Как легко заметить, инструкция не выполняет:
Эти операции придется выполнить самим, используя MMX инструкции
Шифрование/Encryption
Для реализации одного раунда шифрования используется инструкция AESENC, которая выполняет следующие действия:
Последний раунд шифрования реализуется при помощи инструкции AESENCLAST:
Отличие этой инструкции от AESENC состоит в том, что операция MixColums на последнем шаге не выполняется:
Расшифровывание/decryption
Для реализации процедуры расшифрования используется инструкция AESDEC:
Для получения InvKey надо выполнить операцию InvMixClomuns для ключа. Инструкция, которая это делает — AESIMC xmm1.xmm2
И для последнего раунда расшифрования используется Инструкция AESDECLAST:
Итак, аппаратное поддержка должна нам дать приличный прирост к скорости шифрования. В качестве завершения поста приведу класс на C++, реализующий операции шифрования и расшифрования в режиме ECB. После прогона теста была достигнута скорость шифрования на одном ядре i5-3740 (3.2GHz), равная 320MB/sec
990x.top
Простой компьютерный блог для души)
Intel AES-NI что это в биосе?

Intel AES-NI включает в себя семь новых команд и позволяет защитить данные типа на более высоком уровне безопасности. В принципе все понятно, Intel AES-NI это какое-то новое шифрование, но зачем это нужно обычному человеку? Попробую выяснить…
Ага, то есть AES-NI выполняет некоторые моменты AES на аппаратном уровне, то есть прямо в самом проце. Ну вот теперь я немного понимаю. То есть AES-NI улучшает работу AES, ускоряет типа. Шифроваться должно быстрее, единственное что я не понял, это шифроваться что? Диск в винде шифроваться, или архив WinRAR будет быстрее создаваться? Вот это я пока не могу понять. Но по этому вопросу я нашел кое какие разьяснения, гляньте:
То есть шифрование BitLocker должно быть типа быстрее. А вот по поводу транзакций в интернете, это я не совсем понимаю.. Это что, получается процессор может участвовать в шифровании интернет-соединений? Ибо весь процесс транзакции как правило шифруется, даже используется для этого HTTPS-протокол….
Короче ребята, я вроде все понял. Есть такая штука как AES, правильно? Вот что это такое? Это симметричный алгоритм блочного шифрования, короче дичь. Но не в этом суть. Я так понимаю что AES используется в некоторых программах, логично? Ну вот. А вот опция Intel AES-NI она как бэ ускоряет работу алгоритма AES, понимаете? Ибо эта опция работает на аппаратном уровне прямо в проце.
Тогда такой вопрос, получается что Intel AES-NI стоит включать, чтобы что-то там шифровалось быстрее? Да, получается что именно так. Вот еще читаю, что программы для шифрования диска, то они могут использовать Intel AES-NI, вот например одна из таких программ это PGPdisk.
Ребята, нашел оч интересную картинку, где показано преимущество использования AES-NI, посмотрите:
Ну вообщэто разница заметная…
Так, какой вывод можно сделать? Intel AES-NI это некая штука, которая встроена в сам процессор, на самом деле это какие-то инструкции, и эти инструкции помогают работать алгоритму AES быстрее. Сам алгоритм может использоваться разными программами, и при помощи Intel AES-NI, эти программы будут свою работу выполнять быстрее
Ну а вот ребята этот пункт Intel AES-NI в биосе:
Ребята, вот мы и разобрались с тем что такое Intel AES-NI, ну а если что не так, то сильно не ругайте. Удачи вам и чтобы вы были счастливы!
Intel AES-NI что это в биосе? : 4 комментария
По поводу защищенных транзакций через интернет. Имеется в виду случай, когда вы устанавливаете соединение VPN. Обычно, если это делается с ПК (а не с роутера), то трафик шифруется.
Аппаратная поддержка AES снижает нагрузку на процессор при этом. Или при той же нагрузке позволяет увеличить скорость передачи. Причем разница в разы, примерно так же, как в вашем тесте.
Выражаю вам благодарность за ваш комментарий! Реально нанесли пользу сайту. Плюс вам в карму, приходите еще в гости
а что делать если в описании процессора поддержка есть а проги не видят, и в биосе то же нет похожих строк?
Честно — не знаю.
Но вариант только один — еще раз поискать в биосе.
Если нет — обновить биос.
Если все равно нет — писать в поддержку материнской платы (или сделать это до обновления биоса).
Настройки UEFI ноутбука (в картинках): расшифровка основных параметров

В последние несколько лет вместо всем привычного BIOS на компьютерах и ноутбуках стал появляться UEFI (если кратко, то для обычного пользователя отличий не так уж и много: появилась возможность управлять мышкой, графический интерфейс, поддержка дисков более 2 ТБ, ну и возникшая необходимость подготовки установочной флешки особым образом).
Несмотря на то, что BIOS и UEFI вроде бы схожи, но многие пользователи (впервые сталкиваясь с ними) – попадают в замешательство. Да и я в своих статьях нередко оперирую различными параметрами и настойками из UEFI, и появление подобной заметки выглядит вполне логично (будет куда привести ссылку, где можно уточнить, что значит тот или иной параметр).
Примечание : фото и скрины в статье настроек UEFI приведены с ноутбука Asus (линейка ZenBook). Основные разделы и параметры в большинстве устройств будут идентичными (хотя, конечно, могут быть и отличия: дать универсальный вариант просто нереально).
Основные разделы и настройки
(на примере ноутбуков Asus)
Как войти в UEFI
Да в общем-то также, как и в BIOS – есть несколько способов. Приведу кратко их ниже.
Самый распространенный вариант – это нажать спец. клавишу (на Asus это обычно F2 или Esc) для входа сразу же после включения устройства.
Причем, желательно нажимать ее несколько раз и до, и во время появления логотипа – до того момента, пока не появится первое окно UEFI (как оно выглядит –представлено чуть ниже в статье).
Нажимайте несколько раз кнопку входа в BIOS (F2/Esc) до появления логотипа (и во время его отображения)
Как войти в BIOS (UEFI) на компьютере или ноутбуке — [см. инструкцию с неск. способами]
👉 Если у вас установлена ОС Windows 8/10/11 (и с ней все в порядке, т.е. она загружается)
В этом случае можно войти в вообще UEFI без каких-либо «поисков» клавиш.
Например, в Windows 10/11 достаточно открыть параметры системы (сочетание Win+i) и перейти в раздел «Обновление и безопасность» : далее перезагрузить компьютер с использованием особых вариантов загрузки (см. скрин ниже). 👇
Обновление и безопасность – восстановление – особые варианты загрузки / Windows 10
Параметры встроенного ПО
Инструкция: как войти в UEFI (BIOS) из интерфейса Windows 8, 10, 11 (без использования спец. клавиш F2, Del и др.)
Кнопки управления
Как и в BIOS в UEFI также для справки приведены все клавиши управления (обычно справа). Также не могу не отметить, что в UEFI параметры можно менять с помощью мышки (чего раньше и представить было нельзя ✌).
Основные клавиши управления:
Разделы в UEFI (вкладки)
Основное окно
Появляется сразу же после того, как вы заходите в UEFI. В нем представлено достаточно много полезной информации:
Обратите внимание на нижнюю часть окна (там все самое интересное 😉):
Boot Menu (загрузочное меню)
Boot Menu необходимо для того, чтобы просмотреть все загрузочные накопители (флешки, диски и пр.), подключенные к устройству. По сути говоря, это список устройств, из которых можно выбрать одно из них, и произвести загрузку. Например, часто бывает необходимо загрузиться с установочной флешки, чтобы инсталлировать ОС Windows.
Для вызова Boot Menu – достаточно нажать по клавише F8 (или кликнуть мышкой по данному меню).
Просмотр загрузочного меню
Примечание : также Boot Menu можно вызвать при загрузке ноутбука, использовав 👉 спец. клавишу (для Asus эта клавиша Esc, нажимать нужно сразу же после включения устройства).
Main (базовые)
Основная (или базовая) вкладка UEFI, когда вы заходите в расширенные настройки. Из нее вы можете узнать:
Вкладка Main (основная)
Advanced (расширенные)
Один из главных разделов для задания множества архи-нужных параметров. Перечислю основные из них:
Что касается режима работы видеокарт (вкладка Graphics Cunfiguration):
Вкладка Sata Cunfiguration позволяет изменить режим работы жесткого диска ACHI/IDE. Например, при установке ОС Windows может так стать, что она не «увидит» жесткий диск (т.к. в ее арсенале нет ACHI драйверов (обычно, бывает со старыми ОС)). Переключив же режим в IDE — можно установить систему и разобраться с драйверами после.
Boot (загрузка)
Этот раздел, как следует из названия, отвечает за загрузку устройства: здесь можно указать, с какого носителя загружаться, использовать ли режим поддержки старых ОС и пр. При установке ОС Windows – изменять настройки требуется как раз здесь!
Об основных параметрах этого раздела (см. скрин ниже):
Security (безопасность)
Перечислю основные опции:
Save & Exit (сохранить и выйти)
Раздел для сохранения и сброса настроек. В принципе, в него можно и не заходить, если оперировать кнопками F10 (это сохранение измененных параметров) и Esc (это выход из раздела/вкладки).
Тем не менее, приведу ниже основные опции:
Сохранение и выход (Save and Exit)
Intel aes ni bios
intel aes ni bios
Рассмотрим настройки BIOS бюджетного ноутбука ASUS X550LA (90NB02F2-M00140).
Закладка Main (Главная). Здесь прописана информация о BIOS (AMI), установленном энергоэффективном процессоре Intel Core i3-4010U, объеме оперативной памяти, серийном номере, системных дате и времени, и установленном уровне доступа.
Закладка Advanved (Расширенные). Здесь есть настройки загрузки, возможность включения/отключения дополнительный опций процессора: Intel Virtualization Technology, Intel AES-NI, VT-d. Доступ к настройкам SATA, интегрированой графики, USB, сетевых настроек и т.д.
Раздел SATA Mode Selection, на первом порте у нас висит жесткий диск HGST HTS545050A7E680, на втором DVD оптический привод: HL-DT-ST DVDRAM GU71N производства Hitachi-LG Data Storage. Работа в режиме AHCI.
Закладка Boot (Загрузка). Здесь можно включить/отключить быструю загрузку (Fast Boot). Launch CSM (Launch Compatibility Support Module) – активация режима совместимости, по-умолчанию выключен. Есть включить/отключить быструю загрузку, выбрать/добавить/удалить опцию загрузки.
Закладка Security (Секретность). В данном разделе можно установить пароль на вход, для жесткого диска: для пользователей и администратора.
Для установки операционной системы Windows 7 вместо предустановленной Windows 8, необходимо в разделе Security отключить Secure Boot menu, и затем в разделе Boot включить Launch CSM > Enabled.
Launch CSM (Launch Compatibility Support Module) это «Модуль поддержки запуска в режиме совместимости». Выбор Enabled – активирует специальный режим расширенной совместимости. Этот режим позволяет загружаться и устанавливать различные версии более старых операционных систем, к которым уже можно отнести и Misrosoft Windows 7.
Раздел Save & Exit (Сохранить и выйти). Имеет стандартные параметры: Save Changes and Exit – сохранить изменения и выйти, Discard Changes and Exit – сбросить настройки и выйти.
Для реализации одного раунда шифрования используется инструкция AESENC, которая выполняет следующие действия:
Последний раунд шифрования реализуется при помощи инструкции AESENCLAST:
Отличие этой инструкции от AESENC состоит в том, что операция MixColums на последнем шаге не выполняется:
Как я узнать, что процессор имеет набор команд AES / AES-NI?
Чтобы узнать тип процессора и тип архитектуры:
Введите следующую команду, чтобы убедиться, что в процессор установлена инструкция AES и включена в BIOS:
Вывод команды aes означает, что у меня поддержка AES-NI включена на Linux.
Пустой вывод означает, что поддержка AES отключена
Как я могу проверить, что все мои процессоры поддерживают AES NI?
Результат выполнения следующих двух команд должен быть такой же:
Включен Intel AES-NI для OpenSSL?
Результат команды для VIA, если AES поддерживается
Результат команды на Intel, с поддержкой AES-NI
Тест: AES-NI процессоров против процессора без поддержки AES-NI / Packlock
В этом примере, SERVERA имеет AES-NI и SERVERB не имеет поддержку аппаратного шифрования:
Тест: Производительность OpenSSL?
Опять выполните следующие команды на обоих системах:
Популярные Linux или Unix / BSD приложения, которые лучше работают с AES-NI с высокой скоростью шифрования / дешифрования:
Как я узнать, что процессор имеет набор команд AES / AES-NI?
Чтобы узнать тип процессора и тип архитектуры:
Введите следующую команду, чтобы убедиться, что в процессор установлена инструкция AES и включена в BIOS:
Вывод команды aes означает, что у меня поддержка AES-NI включена на Linux.
Пустой вывод означает, что поддержка AES отключена
Как я могу проверить, что все мои процессоры поддерживают AES NI?
Результат выполнения следующих двух команд должен быть такой же:
Включен Intel AES-NI для OpenSSL?
Результат команды для VIA, если AES поддерживается
Результат команды на Intel, с поддержкой AES-NI
Тест: AES-NI процессоров против процессора без поддержки AES-NI / Packlock
В этом примере, SERVERA имеет AES-NI и SERVERB не имеет поддержку аппаратного шифрования:
Тест: Производительность OpenSSL?
Опять выполните следующие команды на обоих системах:
Популярные Linux или Unix / BSD приложения, которые лучше работают с AES-NI с высокой скоростью шифрования / дешифрования:
Как включить функцию в BIOS
Делается это в несколько нажатий кнопок на клавиатуре. Помните, что AES-NI работает только на процессорах от компании Intel. Также стоит проверить поддержку этой технологии вашим ЦП на официальном сайте производителя. Инструкция по включению:
Для реализации одного раунда шифрования используется инструкция AESENC, которая выполняет следующие действия:
Последний раунд шифрования реализуется при помощи инструкции AESENCLAST:
Отличие этой инструкции от AESENC состоит в том, что операция MixColums на последнем шаге не выполняется:
Безболезненное шифрование: Intel Advanced Encryption Standard New Instructions (AES-NI)
С повышением уровня использования вычислительных устройств, проникающих во все сферы нашей жизни на работе и дома, необходимость в шифровании стала еще более важной. Настольные компьютеры, ноутбуки, смартфоны, КПК, плееры Blue-ray и многие другие устройства связывает такая необходимость в способности шифровать конфиденциальные данные. Без шифрования все, что вы посылаете по сети (или даже храните на локальном устройстве хранения) находится в открытом состоянии, и любой может прочесть эту информацию в любое время. Конечно, управление доступом/разрешения обеспечивают некоторую защиту, но когда вы серьезно настроены относительно безопасности, шифрование должно быть частью вашей многоуровневой стратегии безопасности. Хотя некоторые могут решить, что им нечего скрывать, суть в том, что информация, которая, по-вашему, не представляет никакой ценности, может быть использована самыми удивительными способами теми людьми, которые и не намереваются соблюдать ваши интересы. Так в сегодняшнем деловом мире шифрование, особенно, должно считаться естественным положением дел, а не дополнительной необязательной опцией.
Важность шифрования
Подумайте о тех ситуациях, в которых шифрование используется (или должно использоваться) в вашей повседневной жизни:
Есть еще масса примеров, но вполне очевидно, что шифрование, и AES в особенности, является неотъемлемой частью компьютерной жизни, независимо от того знаете вы об этом или нет.
Будучи сетевым администратором вы знаете, что шифрование является критической частью вашей внутренней инфраструктуры. Хакеров больше не интересует возможность положить всю вашу сеть, как это было раньше. Почему? Потому что на таких атаках по всей организации не заработаешь денег. С применением все более и более суровых наказаний за незаконную хакерскую деятельность, большинство хакеров больше не занимаются этим исключительно ради интереса. Вместо этого сегодняшний хакер представляет собой незаконного предпринимателя, который хочет заработать денег. Одним из способов сделать это является компрометация ключевых серверов и замалчивание этого факта. Хакер хочет украсть информацию, которую можно выгодно продать, например, базы данных, наполненные личной информацией или секретами компании. Хакер обычно не может сделать деньги, если прервет работоспособность сервера, и не сможет сделать денег, если вы будете в курсе, что он там, и вы можете остановить его до того, как он получит желаемое. Таким образом, вам нужно использовать шифрование внутренней части инфраструктуры в качестве защитного механизма «на крайний случай», чтобы не позволить хакерам получить доступ к важной информации.
Шифрование также является важной частью регламента соответствия повседневных задач ИТ; например следующие положения все включают шифрование, как часть своих стандартов:
AES: Новый стандарт
AES является текущим стандартом шифрования, используемым правительством США, и он пришел на смену предыдущему стандарту, тройному DES, который использовал стандартный 56-bit ключ. AES может использовать ключи различной длины, которые характеризуются как AES-128, AES-192 и AES-256. В зависимости от длины ключа может быть до 14 циклов трансформации, необходимой для создания конечного зашифрованного текста.
AES также имеет несколько режимов работы:
Цепочка зашифрованных блоков (Cipher block chaining) является самым распространенным режимом, поскольку он предоставляет приемлемый уровень безопасности и не подвержен уязвимости статистических атак.
Трудности: безопасность vs. производительность
Основной проблемой с такими продвинутыми методами шифрования, как AES с CBC является то, что они потребляют много ресурсов процессора. Это особенно касается серверов, но может создавать проблемы и для загруженных клиентских систем, поскольку на них устанавливаются менее мощные процессоры. Это означает, что вы можете оказаться перед выбором: более высокая степень защиты против высокого уровня производительности вашей системы. Эта ситуация может быть настолько проблематичной на стороне сервера, что такие способы обхода этих проблем, как SSL или IPsec карты разгрузки (карты разгрузки шифрования) используются для снижения уровня нагрузки на процессор и позволяют процессору выполнять и другую работу помимо создания сеансов и шифрования.
Проблема с добавляемыми картами заключается в том, что они зависят от приложений и могут не работать, в зависимости от того, для каких целей вы хотите использовать их. Нам нужно общее решение, которое будет работать во всех сценариях шифрования AES, чтобы не нужно было делать ничего специально для разгрузки задачи шифрования центрального процессора. Нам нужно решение ‘plug and play’, которое было бы встроено в ОС и материнскую плату.
Intel AES-NI приходит на помощь
Если вы согласитесь с этим, то есть несколько хороших новостей для вас ‘ новый набор инструкций Intel AES-NI, который в настоящее время доступен в процессорах серии Intel Xeon5600, отвечает этим критериям. Ранее этот процессор был известен под своим кодовым названием Westmere-EP. AES-NI выполняет некоторые шаги AES на аппаратном уровне, прямо в микросхеме процессора. Однако вы должны знать, что AES-NI на процессоре не включает полный процесс реализации AES, лишь некоторые компоненты, необходимые для оптимизации производительности. AES-NI делает это путем добавления шести новых AES инструкций: четыре из них для шифрования/ расшифровки, одна для колонки ‘mix’ (смешивание), и одна для генерирования текста следующего цикла ‘next round’ (где количество циклов контролируется длиной бит, выбранных вами).
Одним из замечательных моментов в Intel AES-NI заключается то, что, поскольку она построена на базе аппаратных средств, нет необходимости хранить в памяти таблицы просмотра, а блоки шифрования выполняются в процессоре. Это снижает шансы успешности атак сторонних каналов (‘side channel attacks’). К тому же, Intel AES-NI позволяет системе выполнять ключи большей длины, в результате чего данные более надежно защищены.
На настоящий момент Intel AES-NI концентрируется в основном на трех моментах:
Защищенные транзакции по интернету и интрасети могут включать использование SSL для подключения к защищенному веб сайту в интрасети или интернете. Вдобавок, IPsec туннельный и транспортный режим пользуются все большей популярностью для защиты сеансов в интрасети, а в случае с DirectAccess в интернете. Следует учитывать, что SSL используется для защиты коммуникаций уровня 7, а IPsec используется для защиты коммуникаций сетевого (третьего) уровня.
В последнее время можно было слышать, что компьютерное облако становится следующим большим прорывом в компьютерном мире, и поставщики услуг компьютерного облака значительно выиграют от Intel AES-NI, где большинство их коммуникаций будет осуществляться через зашифрованный канал. Что касается IPsec, если с сервером есть всего несколько IPsec соединений, то будет вполне достаточно и разгрузки SSL. Но если ваш сервер загружен, Intel AES-NI в отдельности или в сочетании с SSL разгрузкой будет более подходящим решением.
К тому же, здесь есть компонент транзакции (‘secure transactions’). Вдобавок к шифрованию прикладного или сетевого уровня, есть шифрование прикладного уровня, которое использует Intel AES-NI. Например:
В конечном счете получается, что Intel AES-NI может значительно ускорить время транзакций и сделать покупателей более счастливыми, а сотрудников более продуктивными.
Полное шифрование диска зашифровывает диск полностью за исключением MBR. Вдобавок к Microsoft BitLocker, есть ряд других приложений шифрования диска, которые могут использовать Intel AES-NI, например PGPdisk. Проблема с полным шифрованием диска заключается в том, что оно может вызывать снижение производительности, в результате чего пользователи могут отказываться от использования данного метода шифрования. С Intel AES-NI это воздействие на производительность практически исчезает, и пользователи более охотно будут включать полное шифрование диска и использовать его преимущества.
Улучшение производительности
Так какие улучшения производительности мы на самом деле увидим с Intel AES-NI? Пока что трудно сказать точно, что данная технология может нам предложить, поскольку она довольно новая. Но компания Intel провела ряд собственных испытаний, результаты которых радуют:
Заключение
Шифрование теперь является требованием практически для всех в повседневной жизни. AES – это новый стандарт шифрования. Хотя шифрование позволяет нам защищать данные, оно может вызывать значительное потребление ресурсов и снижение производительности, а иногда оно может просто не позволять процессору выполнять остальные задачи, которые нам нужны. В прошлом с этой проблемой можно было справиться путем перехода на более мощный процессор или путем добавления процессоров, а также с помощью использования решений разгрузки. Однако все эти подходы имели встроенные ограничения. Новый стандарт Intel AES-NI значительно повышает производительность и безопасность путем перевода 6 новых инструкций, связанных с AES, на микросхему процессора. Это обеспечивает повышение производительности и безопасности в ряде ситуаций, таких как защищенные сети и сеансы прикладного уровня, защищенные транзакции и полное шифрование диска с минимальным воздействием или с полным отсутствуем такового на весь процесс использования. Intel AES-NI должен стать частью любого плана установки клиентских и серверных систем, в которых шифрование будет интенсивно использоваться, например когда DirectAccess подключается к корпоративной сети. Сочетание Nehalem архитектуры и технологии Intel AES-NI обещает коренным образом изменить компьютерный мир и улучшить работу пользователей и администраторов наряду с улучшением производительности.
Для дополнительной информации о процессорах серии Intel Xeon 5600 с Intel AES-NI перейдите по следующей ссылке.

































