Криптографический модуль IBM 4758 | |
Тип процесса | Криптография |
---|---|
Промышленный сектор (ы) | Вычислительная техника |
Основные технологии или подпроцессы | Криптографическая хеш-функция, Шифрование |
Аппаратное шифрование - это использование компьютерного оборудования, чтобы помочь программному обеспечению или иногда заменять программное обеспечение в процессе шифрования данных . Обычно это реализуется как часть набора команд процессора . Например, алгоритм шифрования AES (современный шифр ) может быть реализован с использованием набора инструкций AES на широко распространенной архитектуре x86. Такие инструкции также существуют в архитектуре ARM. Однако существуют более необычные системы, в которых модуль криптографии отделен от центрального процессора, а вместо этого реализован как сопроцессор, в частности, защищенный криптопроцессор или криптографический ускоритель, примером которых является IBM 4758 или его преемник, IBM 4764. Аппаратные реализации могут быть быстрее и менее подвержены эксплуатации, чем традиционные программные реализации, и, кроме того, могут быть защищены от взлома.
До использования компьютерного оборудования криптография могла выполняться с помощью различных механических или электромеханических средств. Ранний пример - Scytale, используемый спартанцами. Энигма машина была электромеханической системной шифровальной машиной, особенно используемой немцами во время Второй мировой войны. После Второй мировой войны были разработаны чисто электронные системы. В 1987 году был начат проект ABYSS (Базовая система безопасности Йорктауна). Целью этого проекта была защита от компьютерного пиратства. Однако применение компьютеров в криптографии в целом восходит к 1940-м годам и в Блетчли-Парк, где компьютер «Колосс» использовался для взлома шифрования, использованного немецким верховным командованием во время Вторая мировая война. Однако использование компьютеров для шифрования пришло позже. В частности, до разработки интегральной схемы, первая из которых была произведена в 1960 году, компьютеры были непрактичными для шифрования, поскольку по сравнению с портативным форм-фактором модели Машина Enigma, компьютеры эпохи занимали площадь всего здания. Только с разработкой микрокомпьютера компьютерное шифрование стало возможным вне нишевых приложений. Развитие всемирной паутины привело к необходимости для потребителей иметь доступ к шифрованию, поскольку покупки в Интернете стали преобладающими. Основными проблемами потребителей были безопасность и скорость. Это привело к тому, что в конечном итоге ключевые алгоритмы были включены в процессоры как способ повышения скорости и безопасности.
Архитектура X86 , как архитектура CISC (компьютер со сложным набором команд), обычно реализует сложные алгоритмы на оборудовании. Криптографические алгоритмы - не исключение. Архитектура x86 реализует важные компоненты алгоритма AES (Advanced Encryption Standard), который может использоваться NSA для информации Совершенно секретно. Архитектура также включает поддержку алгоритмов хеширования SHA через расширения Intel SHA. В то время как AES - это шифр, который полезен для шифрования документов, хеширование используется для проверки, например паролей (см. PBKDF2 ).
Процессоры ARM могут дополнительно поддерживать расширения безопасности. Хотя ARM - это архитектура RISC (компьютер с сокращенным набором команд), существует несколько дополнительных расширений, указанных в ARM Holdings.
Процессоры Advanced Micro Devices (AMD) также являются устройствами x86 и поддерживают инструкции AES начиная с итерации процессора 2011 года Bulldozer. Из-за наличия инструкций шифрования на современных процессорах, предоставляемых как Intel, так и AMD, эти инструкции присутствуют на большинстве современных компьютеров. Они также существуют на многих планшетах и смартфонах из-за их реализации в процессорах ARM.
Внедрение криптографии в аппаратное обеспечение означает, что часть процессора предназначена для выполнения задачи. Это может привести к значительному увеличению скорости. В частности, современные процессорные архитектуры, поддерживающие конвейерную обработку, часто могут выполнять другие инструкции одновременно с выполнением инструкции шифрования. Кроме того, оборудование может иметь методы защиты данных от программного обеспечения. Следовательно, даже если операционная система скомпрометирована, данные могут оставаться в безопасности (см. Software Guard Extensions ).
Однако, если аппаратная реализация скомпрометирована, возникают серьезные проблемы. Вредоносное программное обеспечение может извлекать данные с (предположительно) защищенного оборудования - большой класс используемых методов - это временная атака. Это гораздо более проблематично для решения, чем программная ошибка, даже в пределах операционная система. Microsoft регулярно решает проблемы безопасности через Центр обновления Windows. Аналогичным образом, регулярные обновления безопасности выпускаются для Mac OS X и Linux, а также мобильные операционные системы, такие как iOS, Android и Windows Phone. Однако оборудование - это другая проблема. Иногда проблема будет решена путем обновления микрокода процессора (низкоуровневого программного обеспечения). Однако другие проблемы могут быть решены только путем замены оборудования или исправления ошибок. und в операционной системе, которая снижает производительность аппаратной реализации, например, в эксплойте Spectre.