Аппаратное шифрование
IBM 4758 Криптографический модуль | |
Тип процесса | Криптография |
---|---|
Промышленный сектор(ы) | Вычисление |
Основные технологии или подпроцессы | Криптографическая хэш-функция , Шифрование |
Аппаратное шифрование — это использование компьютерного оборудования для помощи программному обеспечению или иногда вместо него в процессе шифрования данных . Обычно это реализуется как часть . набора команд процессора Например, алгоритм шифрования AES (современный шифр ) можно реализовать с помощью набора инструкций AES на повсеместно распространенной архитектуре x86 . [1] Подобные инструкции существуют и на архитектуре ARM . [2] Однако существуют более необычные системы, в которых модуль шифрования отделен от центрального процессора, а вместо этого реализован в виде сопроцессора , в частности защищенного криптопроцессора или криптографического ускорителя , примером которых является IBM 4758 или его преемник IBM 4764 . [3] Аппаратные реализации могут быть быстрее и менее подвержены взлому, чем традиционные программные реализации, и, кроме того, могут быть защищены от несанкционированного доступа. [4]
История [ править ]
До использования компьютерного оборудования криптография могла выполняться с помощью различных механических или электромеханических средств. Ранним примером является Scytale, используемый спартанцами . [5] Машина «Энигма» — электромеханическая шифровальная машина, которая широко использовалась немцами во время Второй мировой войны . [ нужна ссылка ] После Второй мировой войны были разработаны чисто электронные системы. В 1987 году был начат проект ABYSS (Базовая система безопасности Йорктауна). [6] [7] Целью этого проекта была защита от пиратства в области программного обеспечения . Однако применение компьютеров в криптографии в целом восходит к 1940-м годам и к Блетчли-Парку , где компьютер Colossus использовался для взлома шифрования, использовавшегося немецким верховным командованием во время Второй мировой войны . Однако использование компьютеров для шифрования появилось позже. В частности, до разработки интегральной схемы , первая из которых была произведена в 1960 году, компьютеры были непрактичны для шифрования, поскольку по сравнению с портативным форм-фактором машины «Энигма » [8] компьютеры той эпохи занимали пространство целого здания. Только с развитием микрокомпьютера компьютерное шифрование стало возможным, выходя за рамки нишевых приложений. Развитие Всемирной паутины привело к тому, что потребителям потребовался доступ к шифрованию, поскольку онлайн-покупки стали широко распространены. [9] Ключевыми проблемами для потребителей были безопасность и скорость. [9] Это привело в конечном итоге к включению ключевых алгоритмов в процессоры как способ повышения скорости и безопасности. [4]
Реализации [ править ]
В наборе инструкций [ править ]
x86 [ править ]
Архитектура X86 , , как архитектура CISC (компьютер со сложным набором команд) обычно реализует сложные алгоритмы на аппаратном уровне. [10] Криптографические алгоритмы не являются исключением. Архитектура x86 реализует важные компоненты алгоритма AES (расширенный стандарт шифрования) , [1] который может быть использован АНБ для получения совершенно секретной информации. [11] Архитектура также включает поддержку алгоритмов хеширования SHA посредством расширений Intel SHA . [1] В то время как AES — это шифр, который полезен для шифрования документов, хеширование используется для проверки, например, паролей (см. PBKDF2 ).
АРМ [ править ]
Процессоры ARM могут дополнительно поддерживать расширения безопасности. Хотя ARM представляет собой архитектуру RISC (компьютер с сокращенным набором команд) , существует несколько дополнительных расширений, указанных ARM Holdings . [2] [12]
В качестве сопроцессора [ править ]
- IBM 4758 — предшественник IBM 4764 . [13] Сюда входит собственный специализированный процессор, память и генератор случайных чисел . [14]
- IBM 4764 и IBM 4765 идентичны, за исключением используемого соединения. [13] Первый использует PCI-X , а второй — PCI-e . [3] Оба являются периферийными устройствами , которые подключаются к материнской плате .
Распространение [ править ]
Процессоры Advanced Micro Devices (AMD) также являются устройствами x86 и поддерживают инструкции AES 2011 года начиная с итерации процессора Bulldozer . [15] Благодаря существованию инструкций шифрования на современных процессорах, предоставляемых как Intel , так и AMD, эти инструкции присутствуют на большинстве современных компьютеров. [16] Они также существуют на многих планшетах и смартфонах благодаря реализации в процессорах ARM . [16]
Преимущества [ править ]
Аппаратная реализация криптографии означает, что для выполнения этой задачи выделяется часть процессора. Это может привести к значительному увеличению скорости. [4] В частности, современные процессорные архитектуры, поддерживающие конвейерную обработку, часто могут выполнять другие инструкции одновременно с выполнением инструкции шифрования. Кроме того, аппаратное обеспечение может иметь методы защиты данных от программного обеспечения. Следовательно, даже если операционная система скомпрометирована, данные могут оставаться в безопасности (см. Расширения Software Guard ). [17]
Недостатки [ править ]
Однако если аппаратная реализация скомпрометирована, возникают серьезные проблемы. Вредоносное программное обеспечение может получить данные с (предположительно) защищенного оборудования. Большой класс используемых методов — это временная атака . [18] Исправить это гораздо сложнее, чем программную ошибку, даже внутри операционной системы . Microsoft регулярно занимается решением проблем безопасности через Центр обновления Windows . Аналогичным образом, регулярные обновления безопасности выпускаются для Mac OS X и Linux , а также мобильных операционных систем, таких как iOS , Android и Windows Phone . Однако аппаратное обеспечение – это другая проблема. процессора Иногда проблему можно решить путем обновления микрокода (программного обеспечения низкого уровня). Однако другие проблемы можно решить только путем замены оборудования или обходного пути в операционной системе, который снижает производительность аппаратной реализации, например, в случае с эксплойтом Spectre . [19]
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32 (PDF) . Интел. Декабрь 2017. С. 303–309, 410.
- ↑ Перейти обратно: Перейти обратно: а б Расширение криптографии процессора ARM® Cortex®-A57 MPCore (PDF) . АРМ Холдингс. 17 декабря 2017 г. Архивировано (PDF) из оригинала 13 декабря 2016 г.
- ↑ Перейти обратно: Перейти обратно: а б «4764 Криптографический сопроцессор» . ИБМ. Архивировано из оригинала 21 января 2018 г. Проверено 20 января 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б с П. Шмид и А. Роос (2010). «Анализ производительности AES-NI» . Аппаратное обеспечение Тома . Проверено 20 января 2018 г.
- ^ Келли, Томас (июль 1998 г.). «Миф о Скайтейле». Криптология . 22 (3): 244–260. дои : 10.1080/0161-119891886902 .
- ^ «ABYSS: надежная архитектура для защиты программного обеспечения» (PDF) . Архивировано (PDF) из оригинала 21 января 2018 г. Проверено 20 января 2018 г.
- ^ «Создание безопасного сопроцессора IBM 4758» (PDF) . ИБМ . Архивировано (PDF) из оригинала 8 августа 2017 г. Проверено 20 января 2018 г.
- ^ «Кейс Энигма-Э» (PDF) . Крипто-музей. Архивировано (PDF) из оригинала 5 ноября 2016 г. Проверено 20 января 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б «Потребители и их ожидания от покупок в Интернете – Новости электронной коммерции» . 20 февраля 2015 г. Архивировано из оригинала 30 сентября 2016 г. Проверено 29 августа 2016 г.
- ^ «Набор инструкций x86-64» (PDF) . Оксфордский университет . 18 апреля 2017 г. с. 1 . Проверено 24 января 2018 г.
- ^ Линн Хэтэуэй (июнь 2003 г.). «Национальная политика использования расширенного стандарта шифрования (AES) для защиты систем национальной безопасности и информации национальной безопасности» (PDF) . Архивировано (PDF) из оригинала 6 ноября 2010 г. Проверено 15 февраля 2011 г.
- ^ «Криптографические аппаратные ускорители» . OpenWRT.org. 17 мая 2016 г. Архивировано из оригинала 21 января 2018 г. Проверено 25 января 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б «Модуль безопасности криптографического сопроцессора IBM 4765» (PDF) . Национальный институт стандартов и технологий . 10 декабря 2012 г. Архивировано (PDF) из оригинала 25 января 2018 г. Проверено 20 января 2018 г.
- ^ «Криптографический сопроцессор PCI IBM 4758 моделей 2 и 23» (PDF) . ИБМ . Май 2004 года . Проверено 24 января 2018 г.
- ^ Брент Холлингсворт ( AMD ) (октябрь 2012 г.). «Новые инструкции для «Бульдозера» и «Сваебойщика»» (PDF) . Обсерватория Аресибо . Архивировано (PDF) из оригинала 9 февраля 2018 г. Проверено 25 января 2018 г.
- ↑ Перейти обратно: Перейти обратно: а б Шей Герон ( Хайфский университет и Intel ) и Ники Муха ( KU Leuven и NIST ) (9 ноября 2016 г.). «Simpira v2: семейство эффективных перестановок с использованием функции раунда AES» (PDF) . Архивировано (PDF) из оригинала 16 июля 2017 г. Проверено 25 января 2018 г.
- ^ «Intel SGX для чайников (цели проектирования Intel SGX)» . intel.com . 26 сентября 2013 г. Архивировано из оригинала 29 апреля 2014 г.
- ^ «BearSSL — криптография с постоянным временем» . www.bearssl.org . Архивировано из оригинала 11 января 2017 г. Проверено 10 января 2017 г.
- ^ Хачман, Марк (9 января 2018 г.). «Тесты Microsoft показывают, что патчи Spectre снижают производительность старых ПК» . Мир ПК . Архивировано из оригинала 9 февраля 2018 года . Проверено 9 января 2018 г.