Aes что это в процессоре
Набор команд Advanced Encryption Standard теперь интегрирован во многие процессоры. Целью набора инструкций является повышение скорости и безопасности приложений, выполняющих шифрование и дешифрование с использованием Advanced Encryption Standard (AES).
Они часто реализуются как инструкции, реализующие один цикл AES вместе со специальной версией для последнего цикла, которая имеет немного другой метод.
Сторона канала атаки поверхность AES снижается при implementated в наборе команд, по сравнению с тем, когда AES реализована только в программном обеспечении. [ необходима цитата ]
Intel AES-NI
Intel Advanced Encryption Standard New Instructions (Intel AES-NI) – это набор инструкций, разработанный для ускорения приложений, использующих один из самых популярных симметричных алгоритмов шифрования AES. AES широко используют для шифрования данных, хранящихся в оперативной памяти и на жёстких дисках, для защиты информации, передаваемой по сети. Делается это для того, чтобы защитить конфиденциальные данные даже в том случае, если злоумышленнику удастся их скопировать с некоего носителя или перехватить при передаче.
Шифрование канала передачи данных с использованием AES
Для того, чтобы повысить запас надёжности, рекомендуется выполнять шифрование с использованием нескольких раундов AES, что эквивалентно увеличению длины криптографического ключа. В 2010 году Intel представила новый набор инструкций (Intel AES-NI), который предлагает полную аппаратную поддержку шифрования и дешифровки AES. Это позволяет увеличить производительность и снизить потребление памяти. В наши дни практически все настольные и мобильные процессоры Intel поддерживают AES-NI. Вот, какого прироста производительности удаётся достичь при использовании AES-NI в сравнении с полностью программной реализацией алгоритма, не использующей эти команды.
Тестируемое устройство построено на базе Intel Atom Z3770 (Bay Trail) FFRD8 PR1, оно работало под управлением Android 4.4, использовалось OpenSSL native C API.
Режим (CBC/256) | Размер файла, Мб. | С AES-NI, сек. | Без AES-NI, сек. |
Шифрование | 351 | 2,89 | 14,59 |
56 | 0,48 | 2,63 | |
Дешифровка | 351 | 1,76 | 19,78 |
56 | 0,29 | 3,16 |
Как видно из данных, приведённых в таблице, при шифровании использование инструкций Intel AES-NI дало 5-кратный рост производительности. При дешифровке – 11-кратный рост. Нужно отметить, что использование AES-NI позволяет снизить энергопотребление примерно на 40%.
В настоящее время большинство популярных операционных систем содержат встроенную поддержку Intel AES-NI. Когда некое приложение обращается к криптографическому API, которое предоставляет система, например, к Windows CNG API или к классу Javax.crypto в Android, низкоуровневый драйвер автоматически задействует инструкции AES-NI для повышения производительности. Кроме того, многие библиотеки, например, OpenSSL 1.0.1, Intel Integrated Performance Primitives, Crypto++, оптимизированы с целью максимально эффективного использования AES-NI.
Расширение ключа/ExpandKey
Алгоритм расширения ключа в псевдокоде выглядит так:
Для аппаратной поддержки надо использовать инструкцию AESKEYGENASSIST, которая выполнит:
Как легко заметить, инструкция не выполняет:
Эти операции придется выполнить самим, используя MMX инструкции
Шифрование/Encryption
Для реализации одного раунда шифрования используется инструкция AESENC, которая выполняет следующие действия:
Последний раунд шифрования реализуется при помощи инструкции AESENCLAST:
Отличие этой инструкции от AESENC состоит в том, что операция MixColums на последнем шаге не выполняется:
Как включить функцию в BIOS
Делается это в несколько нажатий кнопок на клавиатуре. Помните, что AES-NI работает только на процессорах от компании Intel. Также стоит проверить поддержку этой технологии вашим ЦП на официальном сайте производителя. Инструкция по включению:
- После включения компьютера, зайдите в его меню базовой системы ввода/вывода.
- Перейдите во вкладку «Advanced». В ней найдите строку «Intel AES-NI» и установите значение «Enabled».
- Сохраните применённые установки и дождитесь загрузки операционной системы.
Итоги
Биометрическая идентификация пользователей отличается от традиционной схемы, использующей имя и пароль. Биометрические данные человека практически невозможно изменить. Как результат, этот подход к аутентификации требует повышенного уровня безопасности систем.
Intel предлагает различные аппаратные технологии, доступные как в настольных компьютерах, оснащённых процессорами Intel, так и на мобильных устройствах. Эти технологии могут помочь разработчикам биометрических решений в создании более защищённых систем аутентификации без необходимости задействовать дополнительное аппаратное обеспечение.
Инструкции AES — расширение системы команд процессора, разработанное в 2008 году компанией Intel с целью ускорения работы и повышения уровня защищенности программ, использующих алгоритм шифрования AES (Advanced Encryption Standard). Расширение AES включает 6 инструкций и впервые было использовано в процессорах Intel с ядром Clarkdale.
Алгоритм AES (также известный как алгоритм «Рэндал») является симметричным алгоритмом блочного шифрования с размером блока 128 бит и ключом 128, 192 или 256 бит. В 2002 году он был принят правительством США в качестве официального стандарта шифрования. Сегодня это один из наиболее распространённых алгоритмов симметричного шифрования данных.
AES используется многими популярными программами с целью защиты конфиденциальной информации, в частности, приложением BitLocker, являющимся частью операционной системы Windows (начиная с версии Vista), почтовым клиентом The Bat!, программой защиты данных TrueCrypt и др.
Взломать AES весьма трудно и возможно только при наличии полного доступа к компьютеру, на котором происходило шифрование. Однако, если в процессор компьютера встроены инструкции AES, задача взлома становится почти невыполнимой.
Результаты тестирования также свидетельствуют, что встроенные в процессор инструкции AES существенно ускоряют процесс шифрования и расшифровки им данных по этому алгоритму (прирост производительности составляет от 30 до 1200 %, в зависимости от приложения и конкретной задачи).
Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.
Отдельные из этих технологий нужны только для решения специфических заданий и в «домашнем» компьютере вряд ли когда-нибудь понадобятся. Наличие же других является непременным условием работы программ, необходимых для повседневного использования.
Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.
Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.
В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка «Добавить процессор»). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.
Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.
Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.
В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.
Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.
Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным «железом». Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).
Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.
Для получения подробной информации о любом процессоре достаточно нажать на его название.
Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.
В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.
Название модели обычно наносится производителем прямо на процессор. Так что если он пока еще не установлен в сокет материнской платы и не прикрыт сверху системой охлаждения, получить необходимые сведения можно из маркировки на его крышке.
Ну а если процессор уже стоит в системном блоке, узнать его модель можно несколькими способами. Некоторые из них работают только в Windows. Другие — подходят для случаев, когда Windows на компьютере отсутствует или не запускается.
ПОКАЗАТЬ ЕЩЕ
Расширение системы команд AES (Intel Advanced Encryption Standard New Instructions; AES-NI) — расширение системы команд x86 для микропроцессоров, предложенное компанией Intel в марте 2008 [1] . Целью данного расширения является ускорение приложений, использующих шифрование по алгоритму AES. Сходное расширение PadLock engine существует в микропроцессорах от VIA Technologies.
Бесспорная популярность персональных компьютеров стимулирует разработчиков делать их совершеннее. Шифрование данных – важная часть использования мессенджеров, социальных сетей и прочих видов интернет-коммуникаций. Без него вся ваша информация доступна любому человеку из сети, из любого места. Команды шифрования AES-NI от компании Intel представляют собой улучшенный алгоритм Advanced Encryption Standard. Эти инструкции используются в серверных процессорах Intel Xeon и десктопных/профессиональных Intel Core. Если вы задаётесь вопросом «Intel AES—NI, что это в биосе?», то эта статья будет для вас как никогда кстати.
Зачем её активировать
Intel добавила в AES 7 инструкций, которые предоставляют лучшую защиту данных. Как они могут сгодиться пользователям и как их активировать?
Intel AES-NI сосредотачивается на таких задачах:
- защита транзакций в Интернете и интрасетях;
- шифровании дисков (при использовании Microsoft BitLocker, к примеру);
- шифровке некоторых частей уже защищённых транзакций (шифрование на прикладном уровне).
Как результат, носители информации зашифровываются быстрее, что можно увидеть на примере программы PGPdisk. Кодировка в режиме CBC/256 с включёнными инструкциями AES-NI эффективней на 20%, нежели без них. Тест производился на файле размером 351 мегабайт. Также стоит отметить скорость дешифрования в CBC/256 с AES-NI – прирост составляет девять процентов.
СОДЕРЖАНИЕ
AES-NI (или новые инструкции Intel Advanced Encryption Standard ; AES-NI ) был первой крупной реализацией. AES-NI является расширение x86 набора инструкций архитектуры для микропроцессоров от Intel и AMD , предложенный Intel в марте 2008 года [1]
Инструкция | Описание [2] |
---|---|
AESENC | Выполните один раунд потока шифрования AES |
AESENCLAST | Выполните последний раунд потока шифрования AES |
AESDEC | Выполните один раунд потока дешифрования AES |
AESDECLAST | Выполните последний раунд потока дешифрования AES |
AESKEYGENASSIST | Помощь в генерации раунда ключа AES [примечание 1] |
AESIMC | Помощь в столбцах обратного микширования AES |
Следующие процессоры Intel поддерживают набор инструкций AES-NI: [3]
-
Процессоры на базе Westmere , а именно:
- Процессоры Westmere-EP (также известные как модель сервера DP Gulftown Xeon 5600) Процессоры Clarkdale (кроме Core i3, Pentium и Celeron) Процессоры Arrandale (кроме Celeron, Pentium, Core i3, Core i5-4XXM)
- Настольный компьютер: все, кроме Pentium, Celeron, Core i3 [4][5]
- Мобильные: все Core i7 и Core i5. Некоторые поставщики поставляют конфигурации BIOS с отключенным расширением; [6] для их включения требуется обновление BIOS. [7]
- Все i5, i7, Xeon и i3-2115C [8] только
- Двухъядерный 64-битный RISC-V Sipeed-M1 поддерживает AES и SHA256. [26]
- Архитектура RISC-V на основе ESP32 -C (не Xtensa, как ESP32), поддерживает AES, SHA, RSA, RNG, HMAC, цифровую подпись и XTS 128 для флэш-памяти. [27]
- Intel SGX
- Защита кода и данных во время выполнения приложений.
- Организация защищённого локального хранения информации.
- Организация безопасного обмена важными данными по сети.
- Защита памяти приложений, работающих с уровнем привилегий Ring-3
- Защита памяти драйверов, работающих с уровнем привилегий Ring-0
- Защита данных, хранимых на различных носителях информации, в оперативной памяти, передаваемых по сети.
- Значительное ускорение процедур шифрования и дешифрования
- Организация многофакторной аутентификации
- Защита информации, выводимой на дисплей, и данных, которые вводит пользователь
- Организация испытаний на живучесть.
Испытания на живучесть и датчик глубины камеры Intel RealSense
Биометрическое распознавание пользователя, основанное на анализе лица, широко используется в повседневной жизни многих людей. Например – для разблокировки Android-устройств и персональных компьютеров. Так как для распознавания лица используется традиционная оптическая камера, умеющая захватывать плоские изображения, система не может отличить реального человека от фотографии. В результате взломщик может пройти процедуру авторизации, воспользовавшись распечатанным фотоснимком лица пользователя.
Камера Intel RealSense умеет захватывать информацию о глубине пространства. Это открывает очень интересные перспективы. Одна из её функций заключается в построении трёхмерных моделей людей и объектов, попадающих в объектив. Данная возможность позволяет задействовать Intel RealSense как инструмент испытания на живучесть в некоторых сценариях захвата биометрических данных, и, как результат, повысить безопасность биометрических систем. Обычная камера, входящая в состав RealSense, фотографирует лицо пользователя, а модуль трёхмерного сканирования пространства одновременно строит объёмную картину того, что находится перед камерой. Сведения о пространственных характеристиках лицевой области легко могут быть использованы для того, чтобы определить, человек ли смотрит в камеру, или, там, где должно находиться объёмное лицо, размещён плоский лист бумаги.
Трёхмерная модель лица с камеры глубины Intel RealSense F200. Очевидно, перед камерой настоящий человек.
Лист бумаги, пусть и с напечатанным фото пользователя, остаётся плоским для камеры глубины Intel RealSense F200. Очевидно, что это – подделка.
Заключение
AES-NI – совокупность инструкций, позволяющая процессору лучше кодировать и декодировать файлы на компьютере. Технология принадлежит компании Интел и используется исключительно её продуктами. Её стоит включить, делается это через БИОС, если вы занимаетесь криптованием объёмных файлов и/или часто проводите транзакции во всемирной паутине.
Инструкции AES - расширение системы команд процессора, разработанное в 2008 году компанией Intel с целью ускорения работы и повышения уровня защищенности программ, использующих алгоритм шифрования AES (Advanced Encryption Standard). Расширение AES включает 6 инструкций и впервые было использовано в процессорах Intel с ядром Clarkdale.
Алгоритм AES (также известный как алгоритм "Рэндал") является симметричным алгоритмом блочного шифрования с размером блока 128 бит и ключом 128, 192 или 256 бит. В 2002 году он был принят правительством США в качестве официального стандарта шифрования. Сегодня это один из наиболее распространённых алгоритмов симметричного шифрования данных.
AES используется многими популярными программами с целью защиты конфиденциальной информации, в частности, приложением BitLocker, являющимся частью операционной системы Windows (начиная с версии Vista), почтовым клиентом The Bat!, программой защиты данных TrueCrypt и др.
Взломать AES весьма трудно и возможно только при наличии полного доступа к компьютеру, на котором происходило шифрование. Однако, если в процессор компьютера встроены инструкции AES, задача взлома становится почти невыполнимой.
Результаты тестирования также свидетельствуют, что встроенные в процессор инструкции AES существенно ускоряют процесс шифрования и расшифровки им данных по этому алгоритму (прирост производительности составляет от 30 до 1200 %, в зависимости от приложения и конкретной задачи).
НАПИСАТЬ АВТОРУТехнологии и инструкции, используемые в процессорах
Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.
Отдельные из этих технологий нужны только для решения специфических заданий и в "домашнем" компьютере вряд ли когда-нибудь понадобятся. Наличие же других является непременным условием работы программ, необходимых для повседневного использования.
Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.
Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.
Таблица совместимости процессоров и материнских плат AMD
Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно "прокачать" компьютер путем простой замены процессора на "камень" из более новой линейки или же флагман из предыдущей.
Если вы принадлежите к их числу и задались вопросом "апгрейда", эта небольшая табличка вам в помощь.
Сравнение процессоров
В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка "Добавить процессор"). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.
Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.
Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.
Спецификации процессоров
В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.
Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.
Таблица процессоров
Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным "железом". Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).
Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.
Для получения подробной информации о любом процессоре достаточно нажать на его название.
Как проверить стабильность процессора
Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.
В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.
ПОКАЗАТЬ ЕЩЕIntel Secure Key
Если нужно сгенерировать ключевую пару или создать случайное адресное пространство, генератор настоящих случайных чисел лучше, чем генератор псевдослучайных чисел. Технология Intel Secure Key предоставляет x86-инструкцию RDRAND, которую можно использовать для создания высококачественного генератора случайных чисел.
Инструкция RDRAND воплощает инновационный подход к созданию высококачественного, высокопроизводительного генератора случайных чисел, основанного на аппаратном источнике энтропии. Генератор построен по каскадной модели, он задействует встроенный в процессор источник энтропии для периодической инициализации аппаратного криптографически безопасного генератора псевдослучайных чисел. В результате инструкция RDRAND может генерировать случайные числа, соответствующие стандарту NIST SP 800-90A. Для наиболее распространённых вариантов использования её можно считать генератором подлинно случайных чисел.
Инструкция RDRAND получает данные из внутреннего аппаратного генератора случайных чисел
Существует много способов использования RDRAND.
1. Вызов RDRAND напрямую в коде на ассемблере или на встроенном ассемблере в C++.
2. Использование библиотеки от Intel (librdrand). Она написана на C/C++. Существуют версии для Windows, и для Linux и OS X.3. Использование библиотек сторонних поставщиков.
Расшифровывание/decryption
Для реализации процедуры расшифрования используется инструкция AESDEC:
Для получения InvKey надо выполнить операцию InvMixClomuns для ключа. Инструкция, которая это делает — AESIMC xmm1.xmm2
И для последнего раунда расшифрования используется Инструкция AESDECLAST:Итак, аппаратное поддержка должна нам дать приличный прирост к скорости шифрования. В качестве завершения поста приведу класс на C++, реализующий операции шифрования и расшифрования в режиме ECB. После прогона теста была достигнута скорость шифрования на одном ядре i5-3740 (3.2GHz), равная 320MB/sec
В первой части мы обсудили проблемы современных биометрических приложений распознавания пользователей и рассказали о том, как Intel SGX, Intel VMX и Intel IPT способны повысить уровень их защиты. Сегодня продолжим разговор о безопасности биометрии, рассмотрим технологии Intel AES-NI, Intel Secure Key и Intel RealSense.
Для того, чтобы защитить важные данные или программный код во время исполнения, широко используются криптографические алгоритмы и рандомизация адресного пространства (Address Space Layout Randomization, ASLR). Подобные технологии применяются как на уровне обычных приложений, так и на уровне операционной системы. Важной их частью являются случайные числа.Читайте также:
Некоторые процессоры AMD поддерживают инструкции AES:
-
Процессоры Jaguar и новее Процессоры Puma и новее
Переработчики "тяжелого оборудования"
-
процессоры [10] Процессоры Piledriver Процессоры Steamroller процессоры и новее
Процессоры мэйнфреймов IBM z9 или более поздних версий поддерживают AES как инструкции AES ECB / CBC с одним кодом операции (KM, KMC) через оборудование IBM CryptoExpress. [14] Эти версии AES с одной инструкцией проще в использовании, чем версии Intel NI, но не могут быть расширены для реализации других алгоритмов, основанных на циклических функциях AES (таких как хэш-функции Whirlpool и Grøstl ).
Процессоры VIA x86 , AMD Geode и Marvell Kirkwood (ARM, mv_cesa в Linux) вместо этого используют ускоренную обработку AES на основе драйверов. (См. Crypto API (Linux) .)
Следующие микросхемы, хотя и поддерживают аппаратное ускорение AES, не поддерживают AES-NI:
-
[28] (ускоритель на кристалле с параллельным выполнением, а не инструкция) Процессоры SPARC T3 и более поздних версий имеют аппаратную поддержку нескольких криптографических алгоритмов, включая AES. [29] Все процессоры на базе Cavium Octeon MIPS имеют аппаратную поддержку нескольких криптографических алгоритмов, включая AES с использованием специальных инструкций сопроцессора 3.
В исследовании AES-NI Performance Analyzed Патрик Шмид и Ахим Роос обнаружили «впечатляющие результаты нескольких приложений, уже оптимизированных для использования возможностей Intel AES-NI». [30] Анализ производительности с использованием библиотеки безопасности Crypto ++ показал увеличение пропускной способности с примерно 28,0 циклов на байт до 3,5 циклов на байт с AES / GCM по сравнению с Pentium 4 без ускорения. [31] [32] [ неудавшаяся проверка ] [ нужен более точный источник ]
Большинство современных компиляторов могут выдавать инструкции AES.
Многие программы безопасности и криптографии поддерживают набор инструкций AES, включая следующую базовую инфраструктуру:
Для начало, необходимо убедится что расширение AES-NI присутствует в нашем процессоре. Для этого существует специальная команда CPUID, которая при значение eax=0x00000001, должна выставить в регистрах биты относительно присутствующих расширений. Для расширения AES это 25 бит регистра ECX:
код проверки AES-NI:
Если бит установлен в 1, значит мы можем переходить к шифрованию.
Обзор технологий
Вот краткий обзор технологий Intel, которые могут поднять безопасность биометрических систем на новый уровень.
Жёлтыми значками показаны области применения технологий Intel для повышения безопасности биометрических приложений.