- •Часть 16
- •Часть 121
- •Глава 4 122
- •Глава 5 147
- •Глава 6 164
- •Глава 7 188
- •Глава 12 235
- •Глава 13 255
- •Глава 14 273
- •Часть 303
- •Глава 15 304
- •Глава 16 315
- •Глава 17 371
- •Глава 18 395
- •Глава 19 497
- •Глава 20 515
- •Методы и средства защиты информации
- •Смысл разведки
- •Глава 1
- •Глава 2
- •История разведки и контрразведки
- •Российская разведка
- •Украинская разведка
- •Радиоразведка
- •Радиоразведка во время Второй мировой войны
- •Разведка конца хх века
- •Глава 3
- •Советские спецслужбы
- •Кгб ссср
- •Гру гш вс ссср
- •Спецслужбы сша
- •Цру (cia)
- •Румо (dia)
- •Анб (nsa)
- •Нувкр (nro)
- •Нагк (nima)
- •Бри (inr)
- •Фбр (fbi)
- •Спецслужбы Израиля
- •Шин Бет
- •Спецслужбы Великобритании
- •Швр (dis)
- •Mi5 (SecurityService)
- •Mi6 (sis)
- •Цпс (gchq)
- •Спецслужбы фрг
- •Бнд (bnd)
- •Бфф (BfF)
- •Мад (mad)
- •Спецслужбы Франции
- •Дгсе (dgse)
- •Дрм (drm)
- •Роль средств технической разведки вXxIвеке
- •Глава 4
- •Технические каналы утечки информации. Классификация, причины и источники… образования
- •Сигнал и его описание
- •Сигналы с помехами
- •Излучатели электромагнитных колебаний
- •Низкочастотные излучатели
- •Высокочастотные излучатели
- •Оптические излучатели
- •Глава 5
- •Образование радиоканалов утечки информации
- •Оценка электромагнитных полей
- •Аналитическое представление электромагнитной обстановки
- •Обнаружение сигналов в условиях воздействия непреднамеренных помех
- •Оценка параметров сигналов в условиях воздействия непреднамеренных помех
- •Глава 6
- •Основные определения акустики
- •Распространение звука в пространстве
- •Акустическая классификация помещений
- •Физическая природа, среда распространения и способ перехвата
- •Заходовые методы Перехват акустической информации с помощью радиопередающих средств
- •Перехват акустической информации с помощью ик передатчиков
- •Закладки, использующие в качестве канала передачи акустической информации сеть 220 в и телефонные линии
- •Диктофоны
- •Проводные микрофоны
- •“Телефонное ухо”
- •Беззаходовые методы Аппаратура, использующая микрофонный эффект телефонных аппаратов
- •Аппаратура вч навязывания
- •Стетоскопы
- •Лазерные стетоскопы
- •Направленные акустические микрофоны (нам)
- •Физические преобразователи
- •Характеристики физических преобразователей
- •Виды акустоэлектрических преобразователей
- •Индуктивные преобразователи
- •Микрофонный эффект электромеханического звонка телефонного аппарата
- •Микрофонный эффект громкоговорителей
- •Микрофонный эффект вторичных электрочасов
- •Глава 7
- •Паразитные связи и наводки
- •Паразитные емкостные связи
- •Паразитные индуктивные связи
- •Паразитные электромагнитные связи
- •Паразитные электромеханические связи
- •Паразитные обратные связи через источники питания
- •Утечка информации по цепям заземления
- •Глава 8
- •Визуально-оптическое наблюдение
- •Глава 9
- •Радиационные и химические методы получения информации
- •Глава 10
- •Классификация каналов и линий связи
- •Взаимные влияния в линиях связи
- •Часть III
- •Глава 11
- •Виды и природа каналов утечки информации при эксплуатации эвм
- •Анализ возможности утечки информации через пэми
- •Способы обеспечения зи от утечки через пэми
- •Механизм возникновения пэми средств цифровой электронной техники
- •Техническая реализация устройств маскировки
- •Устройство обнаружения радиомикрофонов
- •Обнаружение записывающих устройств (диктофонов)
- •Физические принципы
- •Спектральный анализ
- •Распознавание событий
- •Многоканальная фильтрация
- •Оценка уровня пэми
- •Метод оценочных расчетов
- •Метод принудительной активизации
- •Метод эквивалентного приемника
- •Методы измерения уровня пэми
- •Ближняя зона
- •Дальняя зона
- •Промежуточная зона
- •Глава 12
- •Средства несанкционированного получения информации
- •Средства проникновения
- •Устройства прослушивания помещений
- •Радиозакладки
- •Устройства для прослушивания телефонных линий
- •Методы и средства подключения
- •Методы и средства удаленного получения информации Дистанционный направленный микрофон
- •Системы скрытого видеонаблюдения
- •Акустический контроль помещений через средства телефонной связи
- •Перехват электромагнитных излучений
- •Глава 13
- •Несанкционированное получение информации из ас
- •Классификация
- •Локальный доступ
- •Удаленный доступ
- •Сбор информации
- •Сканирование
- •Идентификация доступных ресурсов
- •Получение доступа
- •Расширение полномочий
- •Исследование системы и внедрение
- •Сокрытие следов
- •Создание тайных каналов
- •Блокирование
- •Глава 14
- •Намеренное силовое воздействие по сетям питания
- •Технические средства для нсв по сети питания
- •Вирусные методы разрушения информации
- •Разрушающие программные средства
- •Негативное воздействие закладки на программу
- •Сохранение фрагментов информации
- •Перехват вывода на экран
- •Перехват ввода с клавиатуры
- •Перехват и обработка файловых операций
- •Разрушение программы защиты и схем контроля
- •Глава 15
- •Показатели оценки информации как ресурса
- •Классификация методов и средств зи
- •Семантические схемы
- •Некоторые подходы к решению проблемы зи
- •Общая схема проведения работ по зи
- •Глава 16
- •Классификация технических средств защиты
- •Технические средства защиты территории и объектов
- •Акустические средства защиты
- •Особенности защиты от радиозакладок
- •Защита от встроенных и узконаправленных микрофонов
- •Защита линий связи
- •Методы и средства защиты телефонных линий
- •Пассивная защита
- •Приборы для постановки активной заградительной помехи
- •Методы контроля проводных линий
- •Защита факсимильных и телефонных аппаратов, концентраторов
- •Экранирование помещений
- •Защита от намеренного силового воздействия
- •Защита от нсв по цепям питания
- •Защита от нсв по коммуникационным каналам
- •Глава 17
- •Основные принципы построения систем защиты информации в ас
- •Программные средства защиты информации
- •Программы внешней защиты
- •Программы внутренней защиты
- •Простое опознавание пользователя
- •Усложненная процедура опознавания
- •Методы особого надежного опознавания
- •Методы опознавания ас и ее элементов пользователем
- •Проблемы регулирования использования ресурсов
- •Программы защиты программ
- •Защита от копирования
- •Программы ядра системы безопасности
- •Программы контроля
- •Глава 18
- •Основные понятия
- •Немного истории
- •Классификация криптографических методов
- •Требования к криптографическим методам защиты информации
- •Математика разделения секрета
- •Разделение секрета для произвольных структур доступа
- •Определение 18.1
- •Определение 18.2
- •Линейное разделение секрета
- •Идеальное разделение секрета и матроиды
- •Определение 18.3
- •Секретность и имитостойкость
- •Проблема секретности
- •Проблема имитостойкости
- •Безусловная и теоретическая стойкость
- •Анализ основных криптографических методов зи
- •Шифрование методом подстановки (замены)
- •Шифрование методом перестановки
- •Шифрование простой перестановкой
- •Усложненный метод перестановки по таблицам
- •Усложненный метод перестановок по маршрутам
- •Шифрование с помощью аналитических преобразований
- •Шифрование методом гаммирования
- •Комбинированные методы шифрования
- •Кодирование
- •Шифрование с открытым ключом
- •Цифровая подпись
- •Криптографическая система rsa
- •Необходимые сведения из элементарной теории чисел
- •АлгоритмRsa
- •Цифровая (электронная) подпись на основе криптосистемы rsa
- •Стандарт шифрования данных des
- •Принцип работы блочного шифра
- •Процедура формирования подключей
- •Механизм действияS-блоков
- •Другие режимы использования алгоритма шифрования des
- •Стандарт криптографического преобразования данных гост 28147-89
- •Глава 19
- •Аналоговые скремблеры
- •Аналоговое скремблирование
- •Цифровое скремблирование
- •Критерии оценки систем закрытия речи
- •Глава 20
- •Стеганографические технологии
- •Классификация стеганографических методов
- •Классификация стегосистем
- •Безключевые стегосистемы
- •Определение 20.1
- •Стегосистемы с секретным ключом
- •Определение 20.2
- •Стегосистемы с открытым ключом
- •Определение 20.3
- •Смешанные стегосистемы
- •Классификация методов сокрытия информации
- •Текстовые стеганографы
- •Методы искажения формата текстового документа
- •Синтаксические методы
- •Семантические методы
- •Методы генерации стеганограмм
- •Определение 20.4
- •Сокрытие данных в изображении и видео
- •Методы замены
- •Методы сокрытия в частотной области изображения
- •Широкополосные методы
- •Статистические методы
- •Методы искажения
- •Структурные методы
- •Сокрытие информации в звуковой среде
- •Стеганографические методы защиты данных в звуковой среде
- •Музыкальные стегосистемы
- •Методы и средства защиты информации
Другие режимы использования алгоритма шифрования des
Помимо режима ECB, алгоритмDESможет использоваться врежиме сцепления блоков шифртекста(СВС — Сiрhег В1осk Chaining). Суть этого режима состоит в том, что сообщение разбивается на блоки по 64 бит, и их последовательность зашифровывается. Перед шифрованием (в режиме ЕСВ), блок открытого текста поразрядно складывается с предыдущим блоком шифртекста. Для шифрования первого блока шифртекста требуется так называемыйвектор инициализации(IV —initializationvector). Последний не является секретным. Данный режим не позволяет накапливаться ошибкам при передаче, поскольку ошибка при передаче приведет к потере только двух блоков исходного текста. КромеECBиCBC, существуют также режимы шифрования с обратной связью(СFВ — Сiрhеr Fееdbаск) ишифрования с внешней обратной связью(ОFВ — Output Fееdbаск).
Стандарт криптографического преобразования данных гост 28147-89
Стандарт криптографического преобразования данных ГОСТ 28147-89 рекомендован к использованию для защиты любых данных, представленных в виде двоичного кода. Данный стандарт формировался с учетом мирового опыта, и в частности, при его разработке были приняты во внимание недостатки алгоритма DES. Стандарт довольно сложен, поэтому приведем лишь его концептуальное описание.
Алгоритм криптографического преобразования, установленный ГОСТ 28147-89 (далее — ГОСТ) используется для шифрования данных в двух режимах, а также для выработки имитовставки, которая является средством контроля целостности данных и зависит от ключей. При шифровании алгоритм ГОСТ сводится к шифру гаммирования. Блок гаммы представляет собой 64-битовую комбинацию, состоящую из двух последовательных 32-битовых блоков. Исходя из удобства изложения, далее будем называть любой 64-битовый блоккомбинацией, а также считать, что блок состоит их двух сцепленных подблоков из 32-х битов каждый.
Гамма накладывается поразрядно по модулю 2. Каждая комбинация гаммы представляет собой результат шифрпреобразования с помощью шифра простой замены на множестве 64-битовых комбинаций. Входные комбинации для указанного шифра, в общем случае, формируются в зависимости от ключей, псевдослучайного открытого параметра S(синхропосылка), известных константс1,c2и предыдущего блока шифртекста. Фактически задача каждого из режимов шифрования — это формирование 64-битовых комбинаций для входа в основной режим работы ГОСТ, называемыйрежимом простой замены. По сути, ключи необходимы для работы ГОСТ именно в этом режиме. Комбинация гаммы является результатом работы алгоритма в режиме простой замены.
Алгоритм ГОСТ в качестве исходных данных использует три параметра: K, XиZ — 64-битовый блок данных. Первый параметр являетсядолговременным, а второй —сеансовымключом.
Параметры независимы и имеют размер 512, 256 и 64 бита соответственно. K представляет собой отображение множества блоков в себя. Это отображение реализует потетрадную замену 32-разрядных блоков в 32-х разрядные и состоит из 8 подключей. Подключ Ki (i = 1, …, 8), входящий в K, является таблицей замены для i-той (слева) тетрады, т.е. состоит из 16 тетрад. В стандарте ключ K называется блоком подстановки, а подключи K — узлами замены.
Сеансовый ключ Xсостоит из восьми 32-разрядных подключейXi, каждый из которых в соответствующий момент используется для суммирования с некоторым блоком по модулю 2. Режим простой замены алгоритма ГОСТ реализован в виде шифра Файстеля.
Шифрование блока открытого текста Zалгоритмом ГОСТ производится за 32 цикла. На каждом цикле происходит преобразование входной комбинации в выходную. Шифртекстом является результат работы (выход) тридцать второго цикла, подвергнутый очень простому дополнительному преобразованию.
Процесс шифрования в режиме простой замены (рис. , который обозначим через T = ГОСТ(S)можно представить в виде последовательности 34 блоковu = (U–2, U–1, U0, U1, U2, …, U30, U31), где U-1||U0 = S и U31||U30 = T.
Здесь U-1||U0 — результат работы цикла0,U0||U1 — результат работы цикла1и т.д. доU31||U30— результата работы цикла31. Дополнительное преобразование меняет порядок следования блоков:U31||U30= T.
На цикле iиспользуется подключXt(i). При шифровании используется следующая последовательность выбора подключей от начального и до последнего цикла:
t(i) = {0,1,2,3,4,5,6,7; 0,1,2,3,4,5,6,7; 0,1,2,3,4,5,6,7; 7,6,5,4,3,2,1,0}
При расшифровывании используется обратный порядок следования подключей.
В режиме гаммирования последовательность 64-битовых комбинаций гаммы имеет вид: γK = ГОСТ(φ(σK–1)),k = 1, 2, ..., гдеσ0 = ГОСТ(S). При этом дляs1||s2φ(σ)состоит из двух блоков:s1 º c1, s2 + c2.Здесь сложение сc2 производится по mod 232, а s1 º c1 = s1 + c1 mod(232 – 1) за исключением случая s1 º c1, s2 + c2, когда результат принимается равным232 – 1. Шестнадцатеричное представлениеc1иc2, соответственно, следующее:х01010101их01010104,
В режиме гаммирования с обратной связью
γ1 = ГОСТ(S),γk+1 = ГОСТ(γk tk),k = 1, 2, …, t— комбинация открытого текста.
Рис. 18.9.Цикл шифрования в режиме простой замены
Пример реализации алгоритма ГОСТ представлен в листингах 18.5 и 18.6 (компилятор — MicrosoftVisualC6.0).
Листинг 18.5.Пример реализации алгоритма ГОСТ на языкеC++ в виде библиотечного класса (библиотекаCrypto++ 5.1)
#include "pch.h" #include "gost.h" #include "misc.h"
Продолжение листинга 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)] \
Продолжение листинга 18.5
^ sTable[1][GETBYTE(t, 1)] ^ sTable[0][GETBYTE(t, 0)] ) typedef BlockGetAndPut<word32, LittleEndian> Block; void GOST::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const { 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);
Окончание листинга 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";}};
Окончание листинга 18.6
{ class Base : public BlockCipherBaseTemplate<GOST_Info> { 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<word32, 8> key; }; 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<ENCRYPTION, Enc> Encryption; typedef BlockCipherTemplate<DECRYPTION, Dec> Decryption; }; typedef GOST::Encryption GOSTEncryption; typedef GOST::Decryption GOSTDecryption; NAMESPACE_END #endif