Криптографические средства защиты.
Принятие стандарта шифрования DES явилось мощным толчком к широкому применению шифрования в коммерческих системах.
Введение этого стандарта - отличный пример унификации и стандартизации средств защиты. Примером системного подхода к созданию единой крупномасштабной системы защиты информации является директива Министерства финансов США 1984 года, согласно которой все общественные и частные организации, ведущие дела с правительством США, обязаны внедрить процедуру шифрования DES; крупнейшие банки Citibank,Chase Manhattan Bank, Manufaktures Hannover Trust, Bank of America, Security Pacific Bank также внедрили эту систему.
Министерство энергетики США располагает более чем 30 действующими сетями, в которых используется алгоритм DES, Министерство юстиции устанавливает 20000 радиоустройств, располагающих средствами защиты на базе DES.
Стандартизация в последнее время приобретает международный характер, подтверждение тому - международный стандарт 1987 года ISO 8372, разработанный на основе криптоалгоритма DES. В качестве стандартной аппаратуры шифрования можно назвать устройство Cidex-НХ, базирующееся на алгоритме DES; скорость шифрования - от 56 Кбит/с до 7 Мбит/с. Серийно выпускается автономный шифровальный блок DES 2000, в нем также используется процедура шифрования DES; скорость шифрования - от 38,4 Кбит/с до 110 Кбит/с.
В различных секторах коммерческой деятельности используется процессор шифрования/дешифрования данных FACOM 2151А на основе алгоритма DES; скорость от 2,4 Кбит/с до 19,2 Кбит/с. С распространением персональных компьютеров наиболее эффективными для них стали программные средства защиты. Так, разработан пакет программ для шифрования/дешифрования информации СТА (Computer Intelligence Access), реализующий алгоритм DES. Этот же алгоритм использован в пакете SecretDisk (C F Systems) для исключения несанкционированного доступа к дискам. Таким образом, алгоритм DES представляет собой основной механизм, применявшийся частными и государственными учреждениями США для защиты информации. В то же время Агенство национальной безопасности, выступающее как эксперт по криптографическим алгоритмам, разрабатывает новые алгоритмы шифрования данных для массового использования.
В 1987 году Национальное бюро стандартов после обсуждения подтвердило действие DES; его пересмотр намечалось провести не позднее января 1992 года, и на сегодняшний день действие DES ограничивается исключительно коммерческими системами. Криптографические системы с открытым ключом позволят создать в 90-х годах новую защищенную систему телефонной связи с числом абонентов до 3 миллионов. Компании АТ&Т, Motorola, RCA производят аппараты, допускающие совместную работу; компания GTE разрабатывает систему управления ключами. Поставки первых 75000 телефонов начались в 1987 году.
Разработана специализированная интегральная схема IDS-P2 (МВ8763), реализующая алгоритм DH и вычисляющая секретный ключ за 0,9 с. Программная реализация алгоритма RSA осуществлена компанией RSA Data Security, аппаратная реализация того же алгоритма и специализированная интегральная схема выполнены фирмой Sandia. Фирма Cylink выпустила специализированную интегральную схему CY1024, реализующую алгоритм RSA и обеспечивающую скорость шифрования 1000 бит/с.
При шифровании высокоскоростных магистральных линий, как правило, используют системы потокового шифрования. Устройство SEC-17 обеспечивает скорость шифрования от 256 Кбит/с до 2304 Кбит/с, его ключ состоит из 72 шестнадцатиричных цифр; устройство SEC-15 позволяет иметь более 10я534я0 статистически независимых ключей.
Принципы потокового шифрования используются в устройствах fggfhfnehs ibahjdfybz MSDS MARCRYP. В устройстве потокового шифрования CSD 807 в генераторе ключевой последовательности применен 31-разрядный регистр сдвига, в генераторе устройства потокового шифрования SDE 100 используются 2 регистра сдвига. В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отделительных комплексах и ЭВМ, который определяется ГОСТ 28147-89.
Алгоритм криптографического преобразования данных предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. Чтобы получить подробные спецификации алгоритма криптографического преобразования, следует обратиться к ГОСТ 28147-89. Если L и R - это последовательности бит, то LR будет обозначать конкатенацию последовательностей L и R. Под конкатенацией последовательностей L и R понимается последовательность бит, размерность которой равна сумме размерностей L и R.
В этой последовательности биты последовательности R следуют за битами последовательности L. Конкатенация битовых строк является ассоциативной, т.е. запись ABCDE обозначает, что за битами последовательности А следуют биты последовательности В, затем С и т.д. Символом (+) будет обозначаться операция побитового сложения по модулю 2, символом [+] - операция сложения по модулю (2 в 32 степени) двух 32-разрядных чисел. Числа суммируются по следующему правилу: Символом {+} обозначается операция сложения по модулю ((2 в я532я0) -1) двух 32 разрядных чисел.
Правила суммирования чисел следующие: Алгоритм криптографического преобразования предусматривает несколько режимов работы. Но в любом случае для шифрования данных используется ключ, который имеет размерность 256 бит и представляется в виде восьми 32-разрядных чисел Х(i). Если обозначить ключ через W, то расшифрование выполняется по тому же ключу, что и зашифрование, но этот процесс является инверсией процесса зашифрования данных. Первый и самый простой режим: замена. Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бит в каждом, которые можно обозначить Т(j). Очередная последовательность бит Т(j) разделяется на две последовательности В(О) (левые или старшие биты) и А(О) (правые или младшие биты), каждая из которых содержит 32 бита. Затем выполняется итеративный процесс шифрования, который описывается следующими формулами: 2. A(i)=f(A(i-1) [+] X(j) (+) B(i-1)), если i=32. Здесь i обозначается номер итерации (i=1,2,...,32).
Функция f называется функцией шифрования. Ее аргументом является сумма по модулю 2 в я532я0 числа А(i), полученного на предыдущем шаге итерации, и числа Х(j) ключа (размерность каждого из этих чисел равна 32 знакам). Функция шифрования включает две операции над полученной 32-разрядной суммой. Первая операция называется подстановкой К. Блок подстановки К состоит из восьми узлов замены К(1) К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати целых чисел в диапазоне 0....15. Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-разрядные выходные векторы
последовательно объединяются в 32-разрядный вектор. Таблицы блока подстановки К содержит ключевые элементы, общие для сети ЭВМ и редко изменяемые.
Вторая операция - циклический сдвиг влево 32-разрядного вектора, полученного в результате подстановки К. 64-разрядный блок зашифрованных данных Тш представляется в виде Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях.
К этим случаям относится выработка ключа и зашифрование его с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ. Следующий режим шифрования называется режимом гаммирования. Открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1,2,...,m, где m определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит, т.е. Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается. Ш(i)=A(Y(i-1) [+] C2), В этом уравнении Ш(i) обозначает 64-разрядный блок зашифрованного текста, А - функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядного числа), С1 и С2 - константы, заданные в ГОСТ 28147-89.
Величины Y(i) и Z(i) определяются итерационно по мере формирования гаммы, следующим образом: (Y(i),Z(i))=(Y(i-1) [+] C2,Z(i-1) {+} C1), для i=1,2,..,m Расшифрование данных возможно только при наличии синхропосылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашифрованными данными.
Режим гаммирования с обратной связью очень похож на режим гаммирования. Как и в режиме гаммирования, открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1,2,....,m, где m определяет ся объемом шифруемых данных), зашифровывается путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит:
Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается. Ш(1) = A(S) (+) T(1) = Г(1) (+) T(1), Здесь Ш(i) обозначает 64-разрядный блок зашифрованного текста, А - функцию шифрования в режиме простой замены.
Аргументом функции на первом шаге итеративного алгоритма является 64-разрядный синхропосылка, а на всех последующих предыдущий блок зашифрованых данных Ш(i-1). В ГОСТ 28147-89 определяется процесс выработки имитовставки, который единообразен для любого из режимов шифрования данных.
Имитовставка - это блок из p бит ( имитовставка Иp), который вырабатывается любо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываться.
Значение параметра p (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2я5р Для получения имитовставки открытые данные представляются в виде 64-разрядных блоков Т(i) (i=1,2,..., m где m определяется объемом шифруемых данных). Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Причем в качестве ключа для выработки имитовставки используется ключ, по которому шифруются данные. Полученное6 после 16 циклов работы 64-пазрядное число суммируется по модулю 2 со вторым блоком открытых данных Т(2). Результат суммирования снова подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Полученное 64-разрядное число суммируется по модулю 2 с третьим блоком открытых данных Т(3) и т.д. Последний блок Т(m), при необходимости дополненный до полного 64-разрядного блока нулями, суммируется по модулю 2 с результатом работы на шаге m-1, после чего зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма. Из полученного 64-разрядного числа выбирается отрезок Ир длиной р бит. Имитовставка Ир передается по каналу связи или в память ЭВМ после зашифрованных данных.
Поступившие зашифрованные данные расшифровываются и из полученных блоков открытых данных Т(i) вырабатывается имитовставка Ир, которая затем сравнивается с имитовставкой Ир, полученной из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок все расшифрованные данные считаются ложными. Метод шифрования с использованием датчика псевдо-случайных чисел наиболее часто используется в программной реализации системы криптографической защиты данных. Это объясняется тем, что, он достаточно прост для программирования и позволяет создавать алгоритмы с очень высокой криптостойкостью. Кроме того, эффективность данного метода шифрования достаточно высока.
Системы, основанные на этом методе позволяют зашифровать в секунду от нескольких десятков до сотен Кбайт данных. Основным преимуществом метода DES является то, что он стандартный. Важной характеристикой этого алгоритма является его гибкость при реализации и использовании в различных приложениях обработки данных.Каждый блок данных шифруется независимо от других, поэтому можно осуществлять независимую передачу блоков данных и произвольный доступ к зашифрованным данным. Ни временная, ни позиционная синхронизация для операций шифрования не нужна. Алгоритм вырабатывает зашифрованные данные, в которых каждый бит является функцией от всех битов открытых данных и всех битов ключей. Различие лишь в одном бите данных даёт в результате равные вероятности изменения для каждого бита зашифрованных данных. DES может быть реализован аппаратно и программно, но базовый алгоритм всё же рассчитан на реализацию в электронных устройствах специального назначения.
Это свойство DES выгодно отличает его от метода шифрования с использованием датчика ПСЧ, поскольку большинство алгоритмов шифрования построенных на основе датчиков ПСЧ, не характеризуются всеми преимуществами DES. Однако и DES обладает рядом недостатков. Самым существенным недостатком DES считается малый размер ключа. Стандарт в настоящее время не считается неуязвимым, хотя и очень труден для раскрытия до сих пор не были зарегистрированы случаи несанкционированной дешифрации. Ещё один недостаток DES заключается в том, что одинаковые данные будут одинаково выглядеть в зашифрованном тексте.
Алгоритм криптографического преобразования, являющийся отечественным стандартом и определяемый ГОСТ 28147-89, свободен от недостатков стандарта DES и в то же время обладает всеми его преимуществами. Кроме того в него заложен метод, с помощью которого можно зафиксировать необнаруженную случайную или умышленную модификацию зашифрованной информации. Однако у алгоритма есть очень существенный недостаток, который заключается в том, что его программная реализация очень сложна и практически лишена всякого смысла.
Теперь остановимся на методе RSA. Он является очень перспективным, поскольку для зашифрования информации не требуется передачи ключа другим пользователям. Но в настоящее время к этому методу относятся с подозрительностью, поскольку не существует строго доказательства, что не существует другого способа определения секретного ключа по известному, кроме как определения делителей целых чисел. В остальном метод RSA обладает только достоинствами.
К числу этих достоинств следует отнести очень высокую криптостойкость, довольно простую программную и аппаратную реализации. Следует заметить, что использование этого метода для криптографической защиты данных неразрывно связано с очень высоким уровнем развития вычислительной техники.