Intel QuickAssist: давай зашифруем это по-быстрому

В нашем беспокойном мире забота о собственной информационной безопасности уже давно перестала рассматриваться как разновидность паранойи, и с этим приходится считаться разработчикам приложений — при прочих равных пользователь выберет то, которое лучше защищает его данные. Чтобы упростить программистам жизнь, Intel в рамках своей open source программы разработала технологию ускорения шифрования и сжатия QuickAssist (QAT). Давайте познакомимся с ней поближе.

3ba12fe27eca4b688f9924fd0c59514a.png

Итак, как уже говорилось, QAT может пригодиться для решения следующих задач:

  • шифрование потоков данных: симметричное шифрование и аутентификация, операции с шифром;
  • криптография с открытым ключом: асимметричное шифрование, цифровые подписи, обмен ключами;
  • сжатие: сжатие данных без потерь «на лету» и статических объектов.

Intel QuickAssist представляет из себя комбинированное аппаратно-программное решение. С программной точки зрения QuickAssist — это набор API, реализующих алгоритмы шифрования и сжатия на определенном специфическом «железе». Для некоторых популярных open source продуктов, таких как zLib, NGINX, Hadoop предусмотрены патчи, позволяющие использовать QuickAssist, вообще не разбираясь в его внутреннем устройстве. В качестве программной основы может выступать любая ОС семейства Linux.

9bd8507f88904637a5b7891af85bfef6.jpg

Теперь о железе. Для функционирования QuickAssist сервер должен иметь один из следующих аппаратных компонентов:

  • либо специализированный QuickAssist адаптер (Intel QuickAssist Adapter), в настоящее время имеется две их разновидности, 8920 и 8950
  • либо материнскую плату с чипсетами 8920 или 8950 и процессорами Intel Xeon

Следует признать, что ни тот, ни другой аппаратный компонент нельзя назвать широко распространенным — желающим попробовать QuickAssist на практике придется основательно заморочиться с поиском подходящего сервера.

a5bd7aaf3ee348b391cb99ce4d9d65b7.png
Внешний вид Intel QuickAssist Adapter

Естественно, возникает вопрос: на сколько использование QuickAssist увеличивает производительность приложений? Полученные результаты тестирования впечатляют. Так, работа Hadoop в связке с QuickAssist ускоряется на 30%. Применение QuickAssist вместе с OpenSSL увеличивает число соединений в секунду в 6 раз! Определенно, в некоторых случаях QuickAssist может очень помочь. Кстати, небольшая подсказка для заинтересовавшихся: хоть об этом и умалчивает сайт Intel, но поддержка QAT есть также и в линейке процессоров Intel Atom C2000.

Напоследок приведу небольшой список ссылок для изучения QAT:

  • Архив с драйвером QAT
  • Release Notes
  • Обучающее видео
    (ссылки на другие уроки — на этой же странице)
  • Страница QuickAssist на сайте Intel

Комментарии (0)

© Habrahabr.ru