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
Примеры:nnВывод команды 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]