Методы и средства защиты информации. Внимание!!! В книге могут встречаться существенные ошибки (в рисунках и формулах). Они не связаны ни со
Скачать 4.86 Mb.
|
Глава 18. Криптографическая защита При расшифровывании используется обратный порядок следования подклю - чей В режиме гаммирования последовательность 64- битовых комбинаций гаммы имеет вид : γ K = ГОСТ(φ(σ K–1 )) , k = 1, 2, ... , где σ 0 = ГОСТ(S) При этом для s 1 ||s 2 φ(σ) состоит из двух блоков : s 1 º c 1 , s 2 + c 2 Здесь сложение с c 2 производится по mod 2 32 , а s 1 º c 1 = s 1 + c 1 mod(2 32 – 1) за исключением случая s 1 º c 1 , s 2 + c 2 , когда результат принимается равным 2 32 – 1 Шестнадцатеричное представление c 1 и c 2 , соответственно , следующее : х01010101 и х01010104 , В режиме гаммирования с обратной связью γ 1 = ГОСТ(S) , γ k+1 = ГОСТ(γ k ⊕ t k ) , k = 1, 2, …, t — комбинация открытого текста Рис . 18.9. Цикл шифрования в режиме простой замены Пример реализации алгоритма ГОСТ представлен в листингах 18.5 и 18.6 ( компилятор — Microsoft Visual C 6.0). Листинг 18.5. Пример реализации алгоритма ГОСТ на языке C++ в виде библиотечного класса ( библиотека Crypto++ 5.1) #include "pch.h" #include "gost.h" #include "misc.h" Стандарт криптографического преобразования данных ГОСТ 28147-89 443 Продолжение листинга 18.5 NAMESPACE_BEGIN(CryptoPP) // S- блоки const byte GOST::Base::sBox[8][16]={ {4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3}, {14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9}, {5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11}, {7, 13, 10, 1, 0, 8, 9, 15, 14, 4, 6, 12, 11, 2, 5, 3}, {6, 12, 7, 1, 5, 15, 13, 8, 4, 10, 9, 14, 0, 3, 11, 2}, {4, 11, 10, 0, 7, 2, 1, 13, 3, 6, 8, 5, 9, 12, 15, 14}, {13, 11, 4, 1, 3, 15, 5, 9, 0, 10, 14, 7, 6, 8, 2, 12}, {1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12}}; bool GOST::Base::sTableCalculated = false; word32 GOST::Base::sTable[4][256]; void GOST::Base::UncheckedSetKey(CipherDir direction, const byte *userKey, unsigned int length) { AssertValidKeyLength(length); PrecalculateSTable(); GetUserKey(LITTLE_ENDIAN_ORDER, key.begin(), 8, userKey, KEYLENGTH); } void GOST::Base::PrecalculateSTable() { if (!sTableCalculated) { for (unsigned i = 0; i < 4; i++) for (unsigned j = 0; j < 256; j++) { word32 temp = sBox[2*i][j%16] | (sBox[2*i+1][j/16] << 4); sTable[i][j] = rotlMod(temp, 11+8*i); } sTableCalculated=true; } } #define f(x) ( t=x, \ sTable[3][GETBYTE(t, 3)] ^ sTable[2][GETBYTE(t, 2)] \ 444 Глава 18. Криптографическая защита Продолжение листинга 18.5 ^ sTable[1][GETBYTE(t, 1)] ^ sTable[0][GETBYTE(t, 0)] ) typedef BlockGetAndPut { word32 n1, n2, t; Block::Get(inBlock)(n1)(n2); for (unsigned int i=0; i<3; i++) { n2 ^= f(n1+key[0]); n1 ^= f(n2+key[1]); n2 ^= f(n1+key[2]); n1 ^= f(n2+key[3]); n2 ^= f(n1+key[4]); n1 ^= f(n2+key[5]); n2 ^= f(n1+key[6]); n1 ^= f(n2+key[7]); } n2 ^= f(n1+key[7]); n1 ^= f(n2+key[6]); n2 ^= f(n1+key[5]); n1 ^= f(n2+key[4]); n2 ^= f(n1+key[3]); n1 ^= f(n2+key[2]); n2 ^= f(n1+key[1]); n1 ^= f(n2+key[0]); Block::Put(xorBlock, outBlock)(n2)(n1); } void GOST::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const { word32 n1, n2, t; Block::Get(inBlock)(n1)(n2); Стандарт криптографического преобразования данных ГОСТ 28147-89 445 Окончание листинга 18.5 n2 ^= f(n1+key[0]); n1 ^= f(n2+key[1]); n2 ^= f(n1+key[2]); n1 ^= f(n2+key[3]); n2 ^= f(n1+key[4]); n1 ^= f(n2+key[5]); n2 ^= f(n1+key[6]); n1 ^= f(n2+key[7]); for (unsigned int i=0; i<3; i++) { n2 ^= f(n1+key[7]); n1 ^= f(n2+key[6]); n2 ^= f(n1+key[5]); n1 ^= f(n2+key[4]); n2 ^= f(n1+key[3]); n1 ^= f(n2+key[2]); n2 ^= f(n1+key[1]); n1 ^= f(n2+key[0]); } Block::Put(xorBlock, outBlock)(n2)(n1); } NAMESPACE_END Листинг 18.6. Заголовочный файл gost.h, используемый при реализации алгоритма ГОСТ на языке C++ в виде библиотечного класса ( библиотека Crypto++ 5.1) #ifndef CRYPTOPP_GOST_H #define CRYPTOPP_GOST_H #include "seckey.h" #include "secblock.h" NAMESPACE_BEGIN(CryptoPP) struct GOST_Info : public FixedBlockSize<8>, public FixedKeyLength<32> { static const char *StaticAlgorithmName() {return "GOST";}}; 446 Глава 18. Криптографическая защита Окончание листинга 18.6 { class Base : public BlockCipherBaseTemplate { public: void UncheckedSetKey(CipherDir direction, const byte *userKey, unsigned int length); protected: static void PrecalculateSTable(); static const byte sBox[8][16]; static bool sTableCalculated; static word32 sTable[4][256]; FixedSizeSecBlock }; class Enc : public Base { public: void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; }; class Dec : public Base { public: void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; }; public: typedef BlockCipherTemplate }; typedef GOST::Encryption GOSTEncryption; typedef GOST::Decryption GOSTDecryption; NAMESPACE_END #endif Глава 19 Скремблирование В речевых системах связи известно два основных метода закрытия речевых сигналов , различающихся по способу передачи по каналам связи : аналоговое скремблирование и дискретизация речи с последующим шифрованием Под скремблированием понимается изменение характеристик речевого сигнала , таким образом , что полученный модулированный сигнал , обладая свойствами неразборчивости и неузнаваемости , занимает ту же полосу частот , что и исход - ный сигнал Каждый из этих методов имеет свои достоинства и недостатки Так , для аналоговых скремблеров характерно присутствие при передаче в ка - нале связи фрагментов исходного открытого речевого сообщения , преобразо - ванного в частотной и ( или ) временной области Это означает , что злоумышлен - ники могут попытаться перехватить и проанализировать передаваемую инфор - мацию на уровне звуковых сигналов Поэтому ранее считалось , что , несмотря на высокое качество и разборчивость восстанавливаемой речи , аналоговые скремблеры могут обеспечивать лишь низкую или среднюю , по сравнению с цифровыми системами , степень закрытия Однако новейшие алгоритмы анало - гового скремблирования способны обеспечить не только средний , но очень вы - сокий уровень закрытия Цифровые системы не передают какой - либо части исходного речевого сигна - ла Речевые компоненты кодируются в цифровой поток данных , который смеши - вается с псевдослучайной последовательностью , вырабатываемой ключевым генератором по одному из криптографических алгоритмов Подготовленное та - ким образом сообщение передается с помощью модема в канал связи , на при - емном конце которого проводятся обратные преобразования с целью получения открытого речевого сигнала Технология создания широкополосных систем , предназначенных для закры - тия речи , хорошо известна , а ее реализация не представляет особых трудно - стей При этом используются такие методы кодирования речи , как АДИКМ ( адап - тивная дифференциальная и импульсно - кодовая модуляция ), ДМ ( дельта - модуляция ) и т п Но представленная таким образом дискретизированная речь может передаваться лишь по специально выделенным широкополосным кана - лам связи с полосой пропускания 4,8–19,2 кГц Это означает , что она не пригод - на для передачи по линиям телефонной сети общего пользования , где требуе - мая скорость передачи данных должна составлять не менее 2400 бит / с В таких 448 Глава 19. Скремблирование случаях используются узкополосные системы , главной трудностью при реализа - ции которых является высокая сложность алгоритмов снятия речевых сигналов , осуществляемых в вокодерных устройствах Посредством дискретного кодирования речи с последующим шифрованием всегда достигалась высокая степень закрытия Ранее этот метод имел ограни - ченное применение в имеющихся узкополосных каналах из - за низкого качества восстановления передаваемой речи Достижения в развитии технологий низкоскоростных дискретных кодеров по - зволили значительно улучшить качество речи без снижения надежности закры - тия Аналоговые скремблеры Аналоговые скремблеры подразделяются на : • речевые скремблеры простейших типов на базе временных и ( или ) частотных перестановок речевого сигнала ( рис . 19.1); • комбинированные речевые скремблеры на основе частотно - временных пере - становок отрезков речи , представленных дискретными отсчетами , с примене - нием цифровой обработки сигналов ( рис . 19.2). Рис . 19.1. Схема простейшего речевого скремблера Рис . 19.2. Схема комбинированного речевого скремблера Цифровые системы закрытия речи подразделяются на широкополосные ( рис . 19.3) и узкополосные ( рис . 19.4). Говоря об обеспечиваемом уровне защиты или степени секретности систем закрытия речи , следует отметить , что эти понятия весьма условные К настоя - щему времени не выработано на этот счет четких правил или стандартов Одна - ко в ряде изделий основные уровни защиты определяются , как тактический и Аналоговые скремблеры 449 стратегический , что в некотором смысле перекликается с понятиями практи - ческой и теоретической стойкости криптосистем закрытия данных Рис . 19.3. Схема широкополосной системы закрытия речи Рис . 19.4. Схема узкополосной системы закрытия речи Тактический , или низкий , уровень используется для защиты информации от прослушивания посторонними лицами на период , измеряемый от минут до дней Существует много простых методов и способов обеспечения такого уровня за - щиты с приемлемой стойкостью Стратегический , или высокий , уровень ЗИ от перехвата используется в си - туациях , подразумевающих , что высококвалифицированному , технически хорошо оснащенному специалисту потребуется для дешифрования перехваченного со - общения период времени от нескольких месяцев до нескольких лет Часто применяется и понятие средней степени защиты , занимающее проме - жуточное положение между тактическим и стратегическим уровнем закрытия По результатам проведенных исследований можно составить диаграммы ( рис 19.5), показывающие взаимосвязь между различными методами закры - тия речевых сигналов , степенью секретности и качеством восстановленной речи Следует отметить , что такое понятие , как качество восстановленной речи , строго говоря , достаточно условно Под ним обычно понимают узнаваемость абонента и разборчивость принимаемого сигнала 450 Глава 19. Скремблирование Рис . 19.5. Сравнительные диаграммы разных методов закрытия речевых сигналов Аналоговое скремблирование Среди современных устройств закрытия речевых сигналов наибольшее рас - пространение имеют устройства , использующие метод аналогового скремблиро - вания Это позволяет , во - первых , снизить стоимость таких устройств , во - вторых , эта аппаратура применяется в большинстве случаев в стандартных телефонных каналах с полосой 3 кГц , в - третьих , она обеспечивает коммерческое качество дешифрованной речи , и , в - четвертых , гарантирует достаточно высокую степень закрытия речи Аналоговые скремблеры преобразуют исходный речевой сигнал посредством изменения его амплитудных , частотных и временных параметров в различных комбинациях Скремблированный сигнал затем может быть передан по каналу связи в той же полосе частот , что и открытый В аппаратах такого типа исполь - зуется один или несколько следующих принципов аналогового скремблиро - вания 1. Скремблирование в частотной области : частотная инверсия ( преобра - зование спектра сигнала с помощью гетеродина и фильтра ), частотная ин - версия и смещение ( частотная инверсия с меняющимся скачкообразно сме - щением несущей частоты ), разделение полосы частот речевого сигнала на ряд поддиапазонов с последующей их перестановкой и инверсией 2. Скремблирование во временной области — разбиение фрагментов на сегменты с перемешиванием их по времени с последующим прямым и ( или ) инверсным считыванием 3. Комбинация временного и частотного скремблирования Аналоговое скремблирование 451 Как правило , все перестановки каким - либо образом выделенных сегментов или участков речи во временной и ( или ) в частотной областях осуществляются по закону псевдослучайной последовательности ( ПСП ). ПСП вырабатывается шифратором по ключу , меняющемуся от одного речевого сообщения к другому На стороне приемника выполняется дешифрование цифровых кодов , полу - ченных из канала связи , и преобразование их в аналоговую форму Системы , работа которых основана на таком методе , являются достаточно сложными , по - скольку для обеспечения высокого качества передаваемой речи требуется высо - кая частота дискретизации входного аналогового сигнала и , соответственно , вы - сокая скорость передачи данных ( не менее 2400 бод ). По такому же принципу можно разделить и устройства дискретизации речи с последующим шифровани - ем Несмотря на всю свою сложность , аппаратура данного типа используется в коммерческих структурах , большинство из которых передает данные по каналу связи со скоростями модуляции от 2,4 до 19,2 кбит / с , обеспечивая при этом не - сколько худшее качество воспроизведения речи по сравнению с обычным теле - фоном Основным же преимуществом таких цифровых систем кодирования и шифрования остается высокая степень закрытия речи Это достигается посред - ством использования широкого набора криптографических методов , применяе - мых для защиты передачи данных по каналам связи Так как скремблированные речевые сигналы в аналоговой форме лежат в той же полосе частот , что и исходные открытые , это означает , что их можно переда - вать по обычным каналам связи , используемым для передачи речи , без какого - либо специального оборудования ( модема ). Поэтому устройства речевого скремблирования не так дороги и значительно проще , чем устройства дискрети - зации с последующим цифровым шифрованием По режиму работы аналоговые скремблеры можно разбить на два класса : • статические системы , схема кодирования которых остается неизменной в течение всей передачи речевого сообщения ; • динамические системы , постоянно генерирующие кодовые подстановки в хо - де передачи ( код может быть изменен в процессе передачи в течение каждой секунды ). Очевидно , что динамические системы обеспечивают более высокую степень защиты , поскольку резко ограничивают возможность легкого прослушивания пе - реговоров посторонними лицами Процесс аналогового скремблирования представляет собой сложное преоб - разование речевого сигнала с его последующим восстановлением ( с сохранени - ем разборчивости речи ) после прохождения преобразованного сигнала по узко - полосному каналу связи , подверженному воздействию шумов и помех Возможно преобразование речевого сигнала по трем параметрам : амплитуде , частоте и времени Считается , что использовать амплитуду нецелесообразно , так как изменяющиеся во времени соотношения сигнал / шум делают чрезвычайно слож - |