Rate this post

Intel Advanced Encryption Standard (AES) или новые инструкции (AES-NI) включают  быстро аппаратное шифрование и дешифрование для OpenSSL, SSH, VPN Linux / Unix / OSX полное шифрование диска и многое другое. Как проверить поддержку Intel или AMD AES-NI моей Linux системе и включена ли она, в Linux, включая OpenSSL?nnРасширенный стандарт шифрования Набор команд (или Intel Advanced Encryption Standard New Instructions — «AES-NI») позволяет Intel / AMD и другим процессорам, выполнять быстрое аппаратное шифрование и дешифрование.»AES-NI» является расширением множества архитектуры инструкций x86 для микропроцессоров Intel и от AMD. Это увеличивает скорость приложений, выполняющих шифрование и дешифрование с использованием AES. Несколько серверов и ноутбуков производители поставили с конфигурацией в BIOS AES-NI — отключено. Возможно, потребуется обновление BIOS , чтобы включить или изменить данную настройку BIOS. Поддерживаются следующие процессоры:n

  • Intel Westmere / Westmere-EP (Xeon 56xx) / Clarkdale (за исключением Core i3, Pentium и Celeron) / Arrandale (за исключением Celeron, Pentium, Core i3, Core i5-4XXM).
  • Intel Sandy Bridge процессоры (кроме Pentium, Celeron, Core i3).
  • Мобильный Intel Core i7 и Core i5.
  • Intel Ivy Bridge процессоры i5, все i7, Xeon и i3-2115C только.
  • Процессоры Intel Haswell (все, кроме i3-4000m, Pentium и Celeron).nAMD Bulldozer / Piledriver / каток / Jaguar / Puma, основанные процессоры.
  • Процессоры Geode LX AMD.
  • VIA PadLock (другой набор команд, чем Intel AES-NI, но делает то же самое).
  • ARM — выбран ALLWINNER и Broadcom с помощью процессора безопасности.

Пожалуйста, обратите внимание, что поддержка AES-NI включается автоматически, если обнаруженный процессор из списка поддерживаемых, описано выше.nnДля получения списка процессоров, поддерживающих  AES-NI, см Intel / AMD АРК / ARM / VIA официальные сайты и документацию.n

Как я узнать, что процессор имеет набор команд AES / AES-NI?

Чтобы узнать тип процессора и тип архитектуры:n

# lscpu

Введите следующую команду, чтобы убедиться, что в процессор установлена инструкция AES и включена в BIOS:n

# grep -o aes /proc/cpuinfo

ИЛИn

# grep -m1 -o aes /proc/cpuinfo

Примеры:verify-that-processor-has-the-AES-instruction-flagnnВывод команды aes  означает, что у меня  поддержка AES-NI включена на Linux.n

# grep -m1 -o aes /proc/cpuinfo

результатn

aes

Пустой вывод означает, что поддержка AES отключенаn

Как я могу проверить, что все мои процессоры поддерживают AES NI?

Результат выполнения следующих двух команд должен быть такой же:n

# lscpu | grep '^CPU(s):'n32

илиn

# grep -o aes /proc/cpuinfo | wc -l n32

илиn

# sort -u /proc/crypto | grep module

Результатn

module       : aesni_intelnmodule       : aes_x86_64nmodule       : crc32_pclmulnmodule       : crct10dif_pclmulnmodule       : ghash_clmulni_intelnmodule       : kernel

Включен Intel AES-NI для OpenSSL?

$ openssl engine

Результат команды для VIA, если AES поддерживаетсяn

(padlock) VIA PadLock (no-RNG, no-ACE)n(dynamic) Dynamic engine loading support

Результат команды на Intel, с поддержкой AES-NIn

$ openssl enginen(aesni) Intel AES-NI enginen(dynamic) Dynamic engine loading support
Тест: AES-NI процессоров против процессора без поддержки AES-NI / Packlock

В этом примере, SERVERA имеет AES-NI и SERVERB не имеет поддержку аппаратного шифрования:n

$ dd if=/dev/zero count=1000 bs=1M | ssh -l user -c aes128-cbc serverA "cat >/dev/null"nPassword:n1000+0 records inn1000+0 records outn1048576000 bytes (1.0 GB) copied, 10.6691 s, 98.3 MB/s

иn

$ dd if=/dev/zero count=1000 bs=1M | ssh -l user -c aes128-cbc serverB "cat >/dev/null"nuser@localhost's password:n1000+0 records inn1000+0 records outn1048576000 bytes (1.0 GB) copied, 31.6675 s, 33.1 MB/s
Тест: Производительность OpenSSL?

Опять выполните следующие команды на обоих системах:n

# openssl speed

ИЛИn

# openssl speed aes-128-cbc

Популярные Linux или Unix / BSD приложения, которые лучше работают с AES-NI с высокой скоростью шифрования / дешифрования:n

  • dm-crypt шифрование диска
  • 7-Zip приложение.
  • Chrome Google и Firefox браузеров
  • Во FreeBSD OpenCrypto API т.е. AESNI драйвер ZFS и других файловых систем.
  • OpenSSL 1.0.1 и выше.
  • TrueCrypt 7.0 и выше или VeraCrypt.
  • Citrix XenClient 1.0 и выше.
  • GCC 4.4+, Intel C / C ++ компилятор 11.1+, Clang 3.3+ и более.
  • Библиотеки для golang, Java, СНБ, OpenSSL и более.
  • Linux и BSD брандмауэры и VPN особенно легко использовать pfsense, IPCop и более.
  • Операционная система на базе Linux, * BSD, Unix, Microsoft, Android, IOS, Apple OS X и более.

Администрирование серверов Unix-ОС, подробнее [email protected]