Аппаратные технологии безопасности Intel: новое слово в защите биометрических приложений. Часть 2
В первой части мы обсудили проблемы современных биометрических приложений распознавания пользователей и рассказали о том, как Intel SGX, Intel VMX и Intel IPT способны повысить уровень их защиты. Сегодня продолжим разговор о безопасности биометрии, рассмотрим технологии Intel AES-NI, Intel Secure Key и Intel RealSense.
Для того, чтобы защитить важные данные или программный код во время исполнения, широко используются криптографические алгоритмы и рандомизация адресного пространства (Address Space Layout Randomization, ASLR). Подобные технологии применяются как на уровне обычных приложений, так и на уровне операционной системы. Важной их частью являются случайные числа.
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. Использование библиотек сторонних поставщиков.
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.
Испытания на живучесть и датчик глубины камеры Intel RealSense
Биометрическое распознавание пользователя, основанное на анализе лица, широко используется в повседневной жизни многих людей. Например – для разблокировки Android-устройств и персональных компьютеров. Так как для распознавания лица используется традиционная оптическая камера, умеющая захватывать плоские изображения, система не может отличить реального человека от фотографии. В результате взломщик может пройти процедуру авторизации, воспользовавшись распечатанным фотоснимком лица пользователя.
Камера Intel RealSense умеет захватывать информацию о глубине пространства. Это открывает очень интересные перспективы. Одна из её функций заключается в построении трёхмерных моделей людей и объектов, попадающих в объектив. Данная возможность позволяет задействовать Intel RealSense как инструмент испытания на живучесть в некоторых сценариях захвата биометрических данных, и, как результат, повысить безопасность биометрических систем. Обычная камера, входящая в состав RealSense, фотографирует лицо пользователя, а модуль трёхмерного сканирования пространства одновременно строит объёмную картину того, что находится перед камерой. Сведения о пространственных характеристиках лицевой области легко могут быть использованы для того, чтобы определить, человек ли смотрит в камеру, или, там, где должно находиться объёмное лицо, размещён плоский лист бумаги.
Трёхмерная модель лица с камеры глубины Intel RealSense F200. Очевидно, перед камерой настоящий человек.
Лист бумаги, пусть и с напечатанным фото пользователя, остаётся плоским для камеры глубины Intel RealSense F200. Очевидно, что это – подделка.
Обзор технологий
Вот краткий обзор технологий Intel, которые могут поднять безопасность биометрических систем на новый уровень.
Жёлтыми значками показаны области применения технологий Intel для повышения безопасности биометрических приложений.
Итоги
Биометрическая идентификация пользователей отличается от традиционной схемы, использующей имя и пароль. Биометрические данные человека практически невозможно изменить. Как результат, этот подход к аутентификации требует повышенного уровня безопасности систем.
Intel предлагает различные аппаратные технологии, доступные как в настольных компьютерах, оснащённых процессорами Intel, так и на мобильных устройствах. Эти технологии могут помочь разработчикам биометрических решений в создании более защищённых систем аутентификации без необходимости задействовать дополнительное аппаратное обеспечение.
Сравнение производительности различных архитектур CPU по тестам AIDA64
реклама
Многие сталкиваются с проблемами выбора комплектующих для ПК. И одной из них является неочевидность разницы в производительности различных поколений процессоров, ведь не только всё зависит от частоты и количества ядер. В сети множество различных тестов и сравнений, но часто можно натолкнуться на рекламу или просто не понять всей картины, что было до и после, в случае выбора не самой новой архитектуры. Чтобы внести какую-то степень ясности в этот вопрос, сравним производительность популярных архитектур за последние 10 лет.
Методика сравнения
Одним из решений для показательного сравнения различных микроархитектур является AIDA64, а именно все тесты, кроме тестов памяти, CPU Queen и CPU PhotoWorxx, потому что данные тесты не линейны и зависят от используемой памяти. Остальные тесты линейные, не зависят от используемой памяти, их результаты кратны количеству ядер и поэтому повторяемые. Погрешность обычно составляет не более 2%. Также все тесты будут производиться с выключенной HyperThreading.
AMD K10 (45nm)
реклама
Phenom II X6 1100T (релиз декабрь 2010) является флагманом данной микроархитектуры. Socket AM3, шесть ядер, 125W TDP и частота 3.30GHz. Поддержка DDR3-1600. Отличается от современников отсутствием инструкций SSSE3, SSE4.1, SSE4.2, AES, AVX, AVX2, FMA3.
AMD Piledriver (32nm)
FX-8350 (релиз октябрь 2012) заявлен как самый производительный процессор данной микроархитектуры с TDP 125W. Однако не все материнские платы, рассчитанные на Socket AM3+ и поддерживающие 125W K10-процессоры, поддерживают данный процессор официально, и в прошлой статье мы узнали почему это так. Новый техпроцесс, восемь ядер на борту и частота аж в 4.00GHz. Поддержку памяти расширили до стандарта DDR3-1866. Добавили инструкции SSSE3, SSE4.1, SSE4.2, AES, AVX, FMA3. Теперь мы можем оценить результаты сравнения производительности на ядро K10 и Piledriver.
В левом столбце частота K10, необходимая для достижения результата Piledriver, работающего на частоте 4.00GHz. В правом столбце аналогично по отношению к K10.
реклама
Как видно, FX лидирует только в тесте AES, практически 10-кратное увеличение производительности, видимо из-за наличия соответствующей инструкции. Также видно, что более высокая частота на самом деле на 20% кукурузная (3.96/3.30) и в целочисленных операциях ядро Piledriver на частоте 4.00GHz равно ядру K10 на частоте 3.30GHz. Но в тестах FPU наглядно виден регресс по сравнению с поколением K10. Из плюсов только восемь таких ядер, против шести. Сравним данный шедевр процессоростроения с Intel Sandy Bridge, которая явилась на свет за полтора года до AMD Piledriver.
Intel Sandy Bridge (32nm)
Intel для настольных ПК делает процессоры похолоднее. Core i7-2600K (релиз январь 2011) с частотой 3.40GHz и 95W TDP, LGA 1155. четыре ядра. Поддерживает DDR3-1333. Стоит отметить, что у Intel иначе устроен TurboBoost, т.е. базовая частота относительно заявленного TDP является скорее промежуточной, и в данной модели турбо-частота 3.50GHz по всем ядрам (в некоторых моделях встречается и более значительная разница между базовой и турбо частотами). Тем не менее будем проводить тесты с отключенным турбо-режимом. Сравним Intel Sandy Bridge с AMD Piledriver.
Полный разгром. В операциях FPU у Piledriver вообще всё плохо, в 2,5 раза медленнее. Даже восемь ядер, не догонят четырёх, значительно более быстрых. В целочисленных же операциях отставание у Piledriver в 1,2 раза. А ведь i7-2600K может даже 3.50GHz при TDP 95W, в отличие от FX-8350, которому и 125W мало для сохранения своих 4.00GHz.
реклама
Intel Ivy Bridge (22nm)
В целом производительность осталась той же, наблюдается лишь небольшой прирост в целочисленных операциях и SHA3.
Intel Haswell (22nm)
Значительный прирост во многих сценариях.
Intel Broadwell (14nm)
Наблюдается снижение производительности в некоторых AVX-операциях. Проверял несколько раз. Отпишитесь в комментариях, у всех ли так. Очень мало было выпущено моделей для сегмента настольных ПК. Также нет заметной разницы по энергопотреблению в сравнении с Haswell (22nm).
Intel Skylake (14nm)
Небольшой прирост в целочисленных операциях и значительный в AVX.
Intel Kaby Lake (14nm)
Всё в рамках погрешностей в измерении. Архитектурно изменений нет. Но несмотря на те же 14нм, инженеры увеличили частоты при том же уровне TDP.
Intel Coffee Lake (14nm)
Вновь никакой разницы в производительности на такт. Значительные улучшения в техпроцессе, и как следствие повышение частот и количества ядер.
Intel Comet Lake (14nm)
И вновь нет роста производительности на такт. Зато как совершенствуют 14нм техпроцесс… Архитектурно тот же Skylake, который при 65W TDP имел четыре ядра и частоту 3.70GHz, и Comet Lake, у которого при том же TDP восемь ядер по 4.60GHz.
AMD Zen (14nm)
По основным тестам (CPU ZLib, FPU Julia/Mandel) эти архитектуры весьма близки.
AMD Zen+ (12nm)
По сравнению с Zen видно небольшое увеличение производительности на такт во всех сценариях. Также практически незаметное увеличение энергоэффективности, несмотря на переход на 12нм.
AMD Zen 2 (7nm)
Значительный рост производительности на такт. За исключением небольшого отставания в целочисленных операциях, AMD Zen 2 обогнала актуальную архитектуру от Intel. Но всё же по энергоэффективности лидирует 14нм Intel, например немногим ранее выпущенный Core i7-9700KF, работающий в турбо на частоте 4.60GHz по всем восьми ядрам и потребляющий 95W.
Пишите в комментариях, если у вас не согласуются результаты, с полученными мною. Также приветствуется критика и пожелания. Всем добра ^-^
Что означают тесты в AIDA64
Что на самом деле означают тесты в AIDA64
Многим из вас, скорее всего, знакома популярная программа AIDA64. Когда-то она именовалась Everest, но что тогда, что сейчас, программа занимает лидирующие позиции в анализе комплектующих персонального компьютера, тесте его производительности и стабильности.
В комплекте программы есть набор тестов, которые позволяют пользователям оценить, насколько из компьютер силен и могуч.
Вот мне и стало интерестно, что же на самом деле скрывается за замысловатыми названиями тестов и какую сторону производительности ПК каждый из тестов отображает.
Тестирование производительности кэша и дисков
Тестирование производительности GPGPU
Следующая тестовая панель, доступ к которой можно получить в разделе меню Сервис | Тест GPGPU, предлагает набор комплексных тестов производительности OpenCL GPGPU. Они разработаны для оценки вычислительной производительности GPGPU при помощи различных нагрузок OpenCL. Каждый отдельный тест можно выполнить максимум на 16 графических процессорах, включая процессоры AMD, Intel и NVIDIA, или их комбинации. Конечно же, полностью поддерживаются конфигурации CrossFire и SLI, а также dGPU и APU. В общем, данная функция позволяет протестировать производительность практически любого вычислительного устройства, которое представлено как графический процессор среди устройств OpenCL.
Тестирование производительности памяти
Тесты производительности памяти оценивают максимально возможную пропускную способность при выполнении определенных операций (чтение, запись, копирование). Они написаны на языке ассемблера и максимально оптимизированы для всех популярных вариантов ядер процессоров AMD, Intel и VIA путем применения соответствующих расширений набора команд x86/x64, x87, MMX, MMX+, 3DNow!, SSE, SSE2, SSE4.1, AVX и AVX2. Тест задержки памяти оценивает типичную задержку при считывании центральным процессором данных из системной памяти. Задержка памяти — это время для предоставления данных в регистре целочисленной арифметики центрального процессора после выдачи команды считывания.
CPU Queen
Этот простой целочисленный тест оценивает возможности предсказания ветвлений центрального процессора и ошибочного прогнозирования ветви. Он вычисляет решения для классической головоломки с восемью ферзями, размещенными на шахматной доске 10х10. Теоретически, при одинаковой тактовой частоте, процессор с более коротким конвейером и меньшими накладными расходами в случае ошибочного предположения о ветвлении может показать более высокие результаты теста. Например, если отключить гиперпотоковость, процессоры Pentium 4 на базе Intel Northwood получат более высокие баллы, чем центральные процессоры Intel Prescott, поскольку в первых присутствует 20-ступенчатый конвейер, а в последних — 31-ступенчатый. CPU Queen использует целочисленные оптимизации MMX, SSE2 и SSSE3.
CPU PhotoWorxx
Данный целочисленный тест оценивает производительность центрального процессора при помощи нескольких алгоритмов обработки двухмерных фотографий. Он выполняет следующие задачи c довольно крупных RGB-изображениях:
Тест, в основном, предназначен для блоков выполнения операций целочисленной арифметики SIMD-архитектуры центрального процессора и подсистем памяти. Тест CPU PhotoWorxx использует соответствующие расширения наборов команд x87, MMX, MMX+, 3DNow!, 3DNow!+, SSE, SSE2, SSSE3, SSE4.1, SSE4A, AVX, AVX2, и поддерживает NUMA, гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
CPU ZLib
Данный целочисленный тест оценивает комбинированную производительность центрального процессора и подсистемы памяти при помощи свободной библиотеки для сжатия данных ZLib. ЦП ZLib использует только основные инструкции x86, но поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
CPU AES
Этот целочисленный тест оценивает производительность центрального процессора при выполнении шифрования по криптоалгоритму AES. В шифровании AES — это симметричный алгоритм блочного шифрования. Сегодня AES используется в нескольких инструментах сжатия, таких как 7z, RAR, WinZip, а также в программах шифрования BitLocker, FileVault (Mac OS X), TrueCrypt. CPU AES использует соответствующие инструкции x86, MMX и SSE4.1, он является аппаратно ускоренным на процессорах VIA C3, VIA C7, VIA Nano и VIA QuadCore, поддерживающих технологию VIA PadLock Security Engine, а также на процессорах, поддерживающих расширение наборов команд Intel AES-NI. Данный тест поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
CPU Hash
Этот целочисленный тест оценивает производительность центрального процессора при выполнении алгоритма кэширования SHA1 согласно Федеральному стандарту обработки информации 180-4. Код для этого теста написан на языке ассемблера, он оптимизирован для большинства популярных вариантов ядер процессоров AMD, Intel и VIA путем применения соответствующих расширений набора команд MMX, MMX+/SSE, SSE2, SSSE3, AVX, AVX2, XOP, BMI и BMI2. Тест CPU Hash является аппаратно ускоренным на процессорах VIA C7, VIA Nano и VIA QuadCore, поддерживающих технологию VIA PadLock Security Engine.
FPU VP8
Этот тест измеряет производительность сжатия видео кодеком Google VP8 (WebM) версии 1.1.0. Происходит кодирование за 1 проход видеопотока с разрешением 1280×720 («HD ready ») и скоростью 8192 кбит/с при максимальных настройках качества. Содержимое кадров генерируется модулем фракталов Жюлиа FPU. Программный код теста использует расширения и наборы команд MMX, SSE2, SSSE3 или SSE4.1, а также поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
FPU Julia
Этот тест оценивает производительность в операциях одинарной точности с плавающей запятой (32-битная точность) посредством вычислений нескольких фрагментов фрактала Жюлиа. Код для этого теста написан на языке ассемблера, он оптимизирован для большинства популярных вариантов ядер процессоров AMD, Intel и VIA путем применения соответствующих расширений набора команд x87, 3DNow!, 3DNow!+, SSE, AVX, AVX2, FMA и FMA4. FPU Julia поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
FPU Mandel
Этот тест оценивает производительность в операциях двойной точности с плавающей запятой (64-битная точность) путем моделирования нескольких фрагментов фрактала Мандельброта. Код для этого теста написан на языке ассемблера, он оптимизирован для большинства популярных вариантов ядер процессоров AMD, Intel и VIA путем применения соответствующих расширений набора команд x87, SSE2, AVX, AVX2, FMA и FMA4. FPU Mandel поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
FPU SinJulia
Тест оценивает производительность в операциях повышенной точности с плавающей запятой (80-битная точность) посредством вычислений по каждому отдельному кадру с использованием модифицированного фрактала Жюлиа. Код для этого теста написан на языке ассемблера, он оптимизирован для большинства популярных вариантов ядер процессоров AMD, Intel и VIA, позволяет использовать тригонометрические и экспоненциальные инструкции архитектуры x87. FPU SinJulia поддерживает гиперпотоковость, мультипроцессоры (SMP) и многоядерность (CMP).
Ну вот теперь хотя бы немного стало понятнее, что означает количество «попугаев» в том или ином тесте в AIDA64.
Аппаратное шифрование в процессорах
| Шифровальные средства | |
|---|---|
| Шифровальные (криптографические) средства (ШКС) | |
| Основные НПА | |
| Решение ЕЭК №30 от 21 апреля 2015 г. | |
| Перечень | 2.19 |
| Положение | Приложение 9 |
| Услуги IFCG | |
| Энциклопедия IFCG — открытый информационный ресурс для участников и экспертов в области ВЭД. Если Вам требуются услуги по таможенному оформлению, получению разрешительных документов или у Вас есть вопросы, свяжитесь с нами — Контакты IFCG. В частности, мы готовы оказать услуги по оформлению следующих разрешительных документов для ввоза и вывоза товаров с шифровальными функциями: | |






