Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Например, система nmap.
Сканеры уязвимостей (vulnerability scanners). Программы, которые ищут уязвимости на узлах сети и которые могут быть использованы для реализации атак. Например, система SATAN или ShadowSecurityScanner.
Взломщики паролей (password crackers). Программы, которые "подбирают" пароли пользователей. Например, L0phtCrack для Windows или Crack для Unix.
Анализаторы протоколов (sniffers). Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т.д. Например, Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.
75. ПРОГРАММЫ С ПОТЕНЦИАЛЬНО ОПАСНЫМИ ПОСЛЕДСТВИЯМИ.
Программой с потенциально опасными последствиями назовем программу или часть программы, которая способна выполнить одно из следующих действий:
· скрыть признаки своего присутствия в программной среде ПЭВМ;
· самодублироваться, ассоциировать себя с другими программами и/или переносить свои фрагменты в какие-либо области оперативной или внешней памяти, не принадлежащие программе;
· изменять код программ в оперативной или внешней памяти;
· сохранять фрагменты информации из оперативной памяти в некоторых областях внешней памяти (локальных или удаленных);
· искажать произвольным образом, блокировать и/или подменять выводимый во внешнюю память или канал связи массив информации, образовавшийся в результате работы прикладных программ, или уже находящиеся во внешней памяти массивы данных.
Программы с потенциально опасными последствиями можно условно подразделить на:
- классические программы-"вирусы";
- программы типа "программный червь" или "троянский конь" и фрагменты программ типа "логический люк";
- программы типа "логическая бомба";
- программные закладки - обобщенный класс программ с потенциально опасными последствиями.
Кроме того, такие программы можно классифицировать по методу и месту их внедрения и применения (то есть по "cпособу доставки" в систему):
· закладки, связанные с программно-аппаратной средой (BIOS);
· закладки, связанные с программами первичной загрузки;
· закладки, связанные с драйвером DOS, командным интерпретатором, сетевыми драйверами, то есть с загрузкой и работой операционной среды;
· закладки, связанные с прикладным программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты, файловые оболочки);
· исполняемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа BAT);
· модули-имитаторы, совпадающие по внешнему виду с легальными программами, требующими ввода конфеденциальной информации;
· закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.);
· закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения других закладок; условное название - "исследователь").
76. ПРОГРАММЫ – «ВИРУСЫ», «ТРОЯНСКИЙ КОНЬ», АТАКА «САЛЯМИ».
Вирус
Первые исследования саморазмножающихся искусственных конструкций проводились в середине прошлого столетия: в работах фон Неймана, Винера и др. дано определение и проведен математический анализ конечных автоматов, в том числе самовоспроизводящихся. Термин "компьютерный вирус" появился позднее - официально считается, что его впервые употребил сотрудник Лехайского университета (США) Фред Коэн в 1984 году на 7-й конференции по безопасности информации, проходившей в США.
Компьютерным вирусом называется программа, которая может создавать свои копии (не обязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, сети и так далее. При этом копии сохраняют способность дальнейшего распространения.
Вирусы можно разделить на классы по следующим признакам:
- по среде обитания вируса;
- по способу заражения среды обитания;
- по деструктивным возможностям.
По среде обитания различают вирусы сетевые, файловые, загрузочные и специальные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные в загрузочный сектор диска(Boot) или сектор, содержащий системный загрузчик винчестера(Master Boot Record). Специальные ориентированы на конкретные особенности ПО, например вирус, заражающий документы редактора Word. Существуют сочетания - например, файлово-загрузочные вирусы, заражающие и файлы и загрузочные сектора дисков. Кроме того, по сети могут распространятся вирусы любых типов.
Способы заражения делятся на резидентный и нерезидентный. Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и остаются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.
По деструктивным возможностям вирусы можно разделить на:
- безвредные, никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
- неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и прочими эффектами;
- опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
- очень опасные вирусы, которые могут привести к потере программ, уничтожить данные, способствовать ускоренному износу или повреждению частей механизмов(например, головок винчестеров).
Троянский конь
Существуют программы, реализующие, помимо функций, описанных в документации, и некоторые другие функции, в документации не описанные. Такие программы называются "троянскими конями".
Атака салями
А теперь поговорим о биче банковских компьютерных систем - атаке "салями".
Чтобы понять смысл такой атаки, полезно вспомнить технологию изготовления известного сорта колбасы, которая создается путем соединения в общее целое множества мелких кусочков мяса. Получается достаточно вкусно.
При разработке банковских систем устанавливается правило округления (или усечения), используемое при выполнении всех операций. Вся хитрость состоит в том, как запрограммировать обработку округлений. Можно, конечно, просто удалять несуществующие величины. Но можно и не удалять, а накапливать на некоем специальном счете. Там пол цента, тут пол цента... - а в сумме? Как свидетельствует практика, сумма, составленная буквально из ничего, за пару лет эксплуатации "хитрой" программы в среднем по размеру банке, может исчисляться тысячами долларов.
Можно сказать, что атака салями - компьютерная реализация известной поговорки "С миру по нитке - голому рубаха".
77. ПРОГРАММЫ ТИПА «ПРОГРАММНЫЙ ЧЕРВЬ», «ЛОГИЧЕСКИЙ ЛЮК», «ЛОГИЧЕСКАЯ БОМБА».
Логическая бомба
"Логической бомбой" обычно называют программу или даже участок кода в программе, реализующий некоторую функцию при выполнении определенного условия.
Мировая компьютерная общественность достаточно хорошо знакома с логическими бомбами. Логическая бомба является одним из излюбленных способов мести программистов компаниям, которые их уволили или чем-либо обидели. При этом чаще всего срабатывание бомбы ставится в зависимость от установки в системе даты - так называемые "часовые" бомбы. Это очень удобно: допустим, программист знает, что его уволят 1 марта; в таком случае он может установить "часовую" бомбу на взрыв, допустим, 6 июля или даже на Рождество, когда сам он будет уже вне пределов досягаемости для пострадавшей компании.
Люк
Люком называется не описанная в документации на программный продукт возможность работы с этим программным продуктом. Сущность использования люков состоит в том, что при выполнении пользователем некоторых не описанных в документации действий он получает доступ к возможностям и данным, которые в обычных условиях для него закрыты (в частности - выход в привилегированный режим).
Таким образом, люк (или люки) может присутствовать в программе ввиду того, что программист:
- забыл удалить его;
- умышленно оставил его в программе для обеспечения тестирования или выполнения оставшейся части отладки;
- умышленно оставил его в программе в интересах облегчения окончательной сборки конечного программного продукта;
- умышленно оставил его в программе с тем, чтобы иметь скрытое средство доступа к программе уже после того, как она вошла в состав конечного продукта.
Файловые черви
Файловые черви создают собственные копии с привлекательными для пользователя названиями (например, Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит.
ПРОГРАММЫ-ЗАКЛАДКИ.
Для того чтобы закладка смогла выполнить какие-либо функции по отношению к другой прикладной программе, она должна получить управление на себя, то есть процессор должен начать выполнять инструкции, относящиеся к коду закладки.
Это возможно только при одновременном выполнении двух условий:
- закладка должна находиться в оперативной памяти до начала работы программы, на которую направлено ее воздействие;
- закладка должна активизироваться по некоторому общему для закладки и для прикладной программы событию.
Это достигается путем анализа и обработки закладкой общих относительно нее и прикладной программы событий, например, прерываний. Причем данные события должны сопровождать работу прикладной программы или работу всей ПЭВМ.
Исполнение кода закладки может быть сопровождено операциями несанкционированной записи (НСЗ), например, для сохранения некоторых фрагментов информации, и несанкционированного считывания (НСЧ), которое может происходить отдельно от операций чтения прикладной программы или совместно с ними. При этом операции считывания и записи, возможно, не связаны с получением конфиденциальной информации, например, считывание параметров устройства или его инициализация (закладка может использовать для своей работы и такие операции, в частности, для инициирования сбойных ситуаций или переназначения ввода-вывода).
Несанкционированная запись закладкой может происходить:
в массив данных, не совпадающий с пользовательской информацией - сохранение информации;
в массив данных, совпадающий с пользовательской информацией или ее подмножеством - искажение, уничтожение или навязывание информации закладкой.
Следовательно, можно рассматривать три основные группы деструктивных функций, которые могут выполняться закладками:
сохранение фрагментов информации, возникающей при работе пользователей, прикладных программ, вводе-выводе данных, во внешней памяти сети (локальной или удаленной) или выделенной ПЭВМ, в том числе различных паролей, ключей и кодов доступа, собственно конфиденциальных документов в электронном виде;
изменение алгоритмов функционирования прикладных программ (то есть целенаправленное воздействие во внешней или оперативной памяти), например, программа разграничения доступа станет пропускать пользователей по любому паролю;
навязывание некоторого режима работы (например, при уничтожении информации - блокирование записи на диск, при этом информация, естественно, не уничтожается), либо замена записываемой информации информацией, навязанной закладкой (например, при выводе на экран слово "неверно" заменяется словом "верно", а "рубль" - "доллар" и т.д.).
79. БРАНДМАУЭР (ПАКЕТНЫЕ ФИЛЬТРЫ, СЕРВЕРА ПРИКЛАДНОГО УРОВНЯ, СЕРВЕРА УРОВНЯ СОЕДИНЕНИЯ).
Межсетевой экран или брандмауэр (по-нем. brandmauer, по-англ. firewall, по-рус. граница огня) - это система или комбинация систем, позволяющих разделить сеть на две или более частей и реализовать набор правил, определяющих условия прохождения пакетов из одной части в другую (см. рис.1). Чаще всего эта граница проводится между локальной сетью предприятия и INTERNET, хотя ее можно провести и внутри локальной сети предприятия. Брандмауэр, таким образом, пропускает через себя весь трафик. Для каждого проходящего пакета брандмауэр принимает решение пропускать его или отбросить. Для того чтобы брандмауэр мог принимать эти решения, ему необходимо определить набор правил. О том, как эти правила описываются и какие параметры используются при их описании, речь пойдет чуть позже.
Все брандмауэры можно разделить на три типа:
· пакетные фильтры (packet filter);
Брандмауэры с пакетными фильтрами принимают решение о том, пропускать пакет или отбросить, просматривая IP-адреса, флаги или номера TCP портов в заголовке этого пакета. IP-адрес и номер порта - это информация сетевого и транспортного уровней соответственно, но пакетные фильтры используют и информацию прикладного уровня, т.к. все стандартные сервисы в TCP/IP ассоциируются с определенным номером порта.
Для описания правил прохождения пакетов составляются таблицы типа:
Действие тип пакета адрес источн. порт источн. адрес назнач. порт назнач. флаги
Поле "действие" может принимать значения пропустить или отбросить.
Достоинства пакетных фильтров:
относительно невысокая стоимость;
гибкость в определении правил фильтрации;
небольшая задержка при прохождении пакетов.
Недостатки пакетных фильтров:
локальная сеть видна (маршрутизируется ) из INTERNET;
правила фильтрации пакетов трудны в описании, требуются очень хорошие знания технологий TCP и UDP;
при нарушении работоспособности брандмауэра все компьютеры за ним становятся полностью незащищенными либо недоступными;
аутентификацию с использованием IP-адреса можно обмануть использованием IP-спуфинга (атакующая система выдает себя за другую, используя ее IP-адрес);
отсутствует аутентификация на пользовательском уровне.
· сервера прикладного уровня (application gateways);
Брандмауэры с серверами прикладного уровня используют сервера конкретных сервисов (proxy server) - TELNET, FTP и т.д., запускаемые на брандмауэре и пропускающие через себя весь трафик, относящийся к данному сервису. Таким образом, между клиентом и сервером образуются два соединения: от клиента до брандмауэра и от брандмауэра до места назначения.
Использование серверов прикладного уровня позволяет решить важную задачу - скрыть от внешних пользователей структуру локальной сети, включая информацию в заголовках почтовых пакетов или службы доменных имен (DNS). Другим положительным качеством является возможность аутентификации на пользовательском уровне (напоминаю, что аутентификация - процесс подтверждения идентичности чего-либо; в данном случае это процесс подтверждения, действительно ли пользователь является тем, за кого он себя выдает).
При описании правил доступа используются такие параметры, как
название сервиса,
имя пользователя,
допустимый временной диапазон использования сервиса,
компьютеры, с которых можно пользоваться сервисом,
схемы аутентификации.
Сервера прикладного уровня позволяют обеспечить наиболее высокий уровень защиты, т.к. взаимодействие с внешним миров реализуется через небольшое число прикладных программ, полностью контролирующих весь входящий и выходящий трафик.
Достоинства серверов прикладного уровня:
локальная сеть невидима из INTERNET;
при нарушении работоспособности брандмауэра пакеты перестают проходить через брандмауэр, тем самым не возникает угрозы для защищаемых им машин;
защита на уровне приложений позволяет осуществлять большое количество дополнительных проверок, снижая тем самым вероятность взлома с использованием дыр в программном обеспечении;
аутентификация на пользовательском уровне может быть реализована система немедленного предупреждения о попытке взлома.
Недостатки серверов прикладного уровня:
более высокая, чем для пакетных фильтров стоимость;
невозможность использовании протоколов RPC и UDP;
производительность ниже, чем для пакетных фильтров.
· сервера уровня соединения (circuit gateways).
Сервер уровня соединения представляет из себя транслятор TCP соединения. Пользователь образует соединение с определенным портом на брандмауэре, после чего последний производит соединение с местом назначения по другую сторону от брандмауэра. Во время сеанса этот транслятор копирует байты в обоих направлениях, действуя как провод.
Как правило, пункт назначения задается заранее, в то время как источников может быть много (соединение типа один - много). Используя различные порты, можно создавать различные конфигурации.
Такой тип сервера позволяет создавать транслятор для любого определенного пользователем сервиса, базирующегося на TCP, осуществлять контроль доступа к этому сервису, сбор статистики по его использованию.
Все типы могут одновременно встретиться в одном брандмауэре.
80. СХЕМЫ ПОДКЛЮЧЕНИЯ БРАНДМАУЭРОВ.
Брандмауэр может использоваться в качестве внешнего роутера, используя поддерживаемые типы устройств для подключения к внешней сети
Иногда используется схема, изображенная на рис.2, однако пользоваться ей следует только в крайнем случае, поскольку требуется очень аккуратная настройка роутеров и небольшие ошибки могут образовать серьезные дыры в защите.
Чаще всего подключение осуществляется через внешний маршрутизатор, поддерживающий два Ethernet интерфейса(так называемый dual-homed брандмауэр) (две сетевые карточки в одном компьютре). При этом между внешним роутером и брандмауэром имеется только один путь, по которому идет весь трафик. Обычно роутер настраивается таким образом, что брандмауэр является единственной видимой снаружи машиной. Эта схема является наиболее предпочтительной с точки зрения безопасности и надежности защиты.
При этом брандмауэром защищается только одна подсеть из нескольких выходящих из роутера. В незащищаемой брандмауэром области часто располагают серверы, которые должны быть видимы снаружи (WWW, FTP и т.д.). Большинство брандмауэров позволяет разместить эти сервера на нем самом - решение, далеко не лучшее с точки зрения загрузки машины и безопасности самого брандмауэра.
Существуют решения (см. рис.5), которые позволяют организовать для серверов, которые должны быть видимы снаружи, третью сеть; это позволяет обеспечить контроль за доступом к ним, сохраняя в то же время необходимый уровень защиты машин в основной сети. При этом достаточно много внимания уделяется тому, чтобы пользователи внутренней сети не могли случайно или умышленно открыть дыру в локальную сеть через эти сервера. Для повышения уровня защищенности возможно использовать в одной сети несколько брандмауэров, стоящих друг за другом.
81. НАДЕЖНОСТЬ СИСТЕМ (ПОЛИТИКА БЕЗОПАСНОСТИ, ГАРАНТИРОВАННОСТЬ). ВЫЧИСЛИТЕЛЬНАЯ БАЗА. МОНИТОР ОБРАЩЕНИЙ.
С 1983 по 1988 год Министерство обороны США и Национальный комитет компьютерной безопасности разработали систему стандартов в области компьютерной безопасности, которая включает более десяти документов. Этот список возглавляют "Критерии оценки безопасности компьютерных систем", которые по цвету обложки чаще называют "Оранжевой книгой". В 1995 году Национальный центр компьютерной безопасности США опубликовал "Пояснения к критериям безопасности компьютерных систем", объединившие все имеющиеся на тот момент дополнения и разъяснения к "Оранжевой книге". В "Оранжевой книге" надежная система определяется как "система, использующая достаточные аппаратные и программные средства, чтобы обеспечить одновременную обработку информации разной степени секретности группой пользователей без нарушения прав доступа".
Надежность систем оценивается по двум основным критериям:
· Политика безопасности - набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть политика безопасности. В зависимости от сформулированной политики можно выбирать конкретные механизмы, обеспечивающие безопасность системы. Политика безопасности - это активный компонент защиты, включающий в себя анализ возможных угроз и выбор мер противодействия.
· Гарантированность- мера доверия, которая может быть оказана архитектуре и реализации системы. Гарантированность можно определить тестированием системы в целом и ее компонентов. Гарантированность показывает, насколько корректны механизмы, отвечающие за проведение в жизнь политики безопасности. Гарантированность можно считать пассивным компонентом защиты, надзирающим за самими защитниками.
Важным средством обеспечения безопасности является механизм подотчетности (протоколирования). Надежная система должна фиксировать все события, касающиеся безопасности. Ведение протоколов должно дополняться аудитом, то есть анализом регистрационной информации.
При оценке степени гарантированности, с которой систему можно считать надежной, центральной является концепция надежной вычислительной базы. Вычислительная база - это совокупность защитных механизмов компьютерной системы (включая аппаратное и программное обеспечение), отвечающих за проведение в жизнь политики безопасности. Надежность вычислительной базы определяется исключительно ее реализацией и корректностью исходных данных, которые вводит административный персонал (например, это могут быть данные о степени благонадежности пользователей).
Основное назначение надежной вычислительной базы - выполнять функции монитора обращений, то есть контролировать допустимость выполнения субъектами определенных операций над объектами. Каждое обращение пользователя к программам или данным проверяется на предмет согласованности со списком действий, допустимых для пользователя.
От монитора обращений требуется выполнение трех свойств:
· Изолированность. Монитор должен быть защищен от отслеживания своей работы;
· Полнота. Монитор должен вызываться при каждом обращении, не должно быть способов его обхода;
· Верифицируемость. Монитор должен быть компактным, чтобы его можно было проанализировать и протестировать, будучи уверенным в полноте тестирования.
Согласно "Оранжевой книге", политика безопасности должна включать в себя по крайней мере следующие элементы:
1. произвольное управление доступом;
Произвольное управление доступом - это метод ограничения доступа к объектам, основанный на учете личности субъекта или группы, в которую субъект входит. Произвольность управления состоит в том, что некоторое лицо (обычно владелец объекта) может по своему усмотрению давать другим субъектам или отбирать у них права доступа к объекту.
2. безопасность повторного использования объектов;
Безопасность повторного использования объектов - важное на практике дополнение средств управления доступом, предохраняющее от случайного или преднамеренного извлечения секретной информации из "мусора". Безопасность повторного использования должна гарантироваться для областей оперативной памяти, в частности для буферов с образами экрана, расшифрованными паролями и т.п., для дисковых блоков и магнитных носителей в целом.
3. метки безопасности;
Для реализации принудительного управления доступом с субъектами и объектами используются метки безопасности. Метка субъекта описывает его благонадежность, метка объекта - степень закрытости содержащейся в нем информации.
Согласно "Оранжевой книге", метки безопасности состоят из двух частей: уровня секретности и списка категорий. Уровни секретности, поддерживаемые системой, образуют упорядоченное множество, которое может выглядеть, например, так:
совершенно секретно; секретно; конфиденциально; несекретно.
Категории образуют неупорядоченный набор. Их назначение - описать предметную область, к которой относятся данные.
4. принудительное управление доступом.
Принудительное управление доступом основано на сопоставлении меток безопасности субъекта и объекта.
Субъект может читать информацию из объекта, если уровень секретности субъекта не ниже, чем у объекта, а все категории, перечисленные в метке безопасности объекта, присутствуют в метке субъекта. В таком случае говорят, что метка субъекта доминирует над меткой объекта. Смысл сформулированного правила понятен - читать можно только то, что положено.
82. КРИПТОСИСТЕМЫ (ПОДСТАНОВКА).
Криптографические методы являются наиболее эффективными средствами защиты информации в автоматизированных системах (АС). А при передаче информации по протяженным линиям связи они являются единственным реальным средством предотвращения несанкционированного доступа.
Любой криптографический метод характеризуется такими показателями:
Стойкость метода - это тот минимальный объем зашифрованного текста, статистическим анализом которого можно вскрыть исходный текст. Таким образом стойкость шифра определяет допустимый объем информации, зашифровываемый при использовании одного ключа.
Трудоемкость метода - определяется числом элементарных операций, необходимых для шифрования одного символа исходного текста.
Наиболее простой метод шифрования. Символы шифруемого текста заменяются другими символами, взятыми из одного алфавита (одноалфавитная замена) или нескольких алфавитов (многоалфавитная подстановка).
Одноалфавитная подстановка
Простейшая подстановка - прямая замена символов шифруемого сообщения другими буквами того же самого или другого алфавита.
Стойкость метода равна 20 - 30, трудоемкость определяется поиском символа в таблице замены. Для снижения трудоемкости при шифровании таблица замены сортируется по шифруемым символам, а для расшифровки формируется таблица дешифрования, которая получается из таблицы замены сортировкой по заменяющим символам.
Многоалфавитная одноконтурная обыкновенная подстановка
Для замены символов используются несколько алфавитов, причем смена алфавитов проводится последовательно и циклически: первый символ заменяется на соответствующий символ первого алфавита, второй - из второго алфавита, и т.д. пока не будут исчерпаны все алфавиты. После этого использование алфавитов повторяется.
Многоалфавитная одноконтурная монофоническая подстановка
В монофонической подстановке количество и состав алфавитов выбирается таким образом, чтобы частоты появления всех символов в зашифрованном тексте были одинаковыми. При таком положении затрудняется криптоанализ зашифрованного текста с помощью его статистической обработки. Выравнивание частот появления символов достигается за счет того, что для часто встречающихся символов исходного текста предусматривается большее число заменяющих символов, чем для редко встречающихся
Многоалфавитная многоконтурная подстановка
Многоконтурная подстановка заключается в том, что для шифрования используются несколько наборов (контуров) алфавитов, используемых циклически, причем каждый контур в общем случае имеет свой индивидуальный период применения.
83. КРИПТОСИСТЕМЫ (ПЕРЕСТАНОВКА).
При шифровании перестановкой символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока этого текста.
Простая перестановка
Выбирается размер блока шифрования в n столбцов и m строк и ключевая последовательность, которая формируется из натурального ряда чисел 1,2,...,n случайной перестановкой.
Шифрование проводится в следующем порядке:
Шифруемый текст записывается последовательными строками под числами ключевой последовательности, образуя блок шифрования размером n*m.
Зашифрованный текст выписывается колонками в порядке возрастания номеров колонок, задаваемых ключевой последовательностью.
Заполняется новый блок и т.д.
Например, зашифруем текст ГРУЗИТЕ_АПЕЛЬСИНЫ_БОЧКАХ блоком размером 8*3 и ключом 5-8-1-3-7-4-6-2.
Таблица простой перестановки будет иметь вид:
Ключ
5 8 1 3 7 4 6 2
Г Р У З И Т Е _
А П Е Л Ь С И Н
Ы _ Б О Ч К А Х
Зашифрованное сообщение:УЕБ_НХЗЛОЕСЛГАЫЕИАИЬЧРП_
Расшифрование выполняется в следующем порядке:
Из зашифрованного текста выделяется блок символов размером n*m.
Этот блок разбивается на n групп по m символов.
Символы записываются в те столбцы таблицы перестановки, номера которых совпадают с номерами групп в блоке. Расшифрованный текст читается по строкам таблицы перестановки.
Выделяется новый блок символов и т.д.
Перестановка, усложненная по таблице
При усложнении перестановки по таблицам для повышения стойкости шифра в таблицу перестановки вводятся неиспользуемые клетки таблицы. Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования
Перестановка, усложненная по маршрутам
Высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используются несколько различных маршрутов.
84. КРИПТОСИСТЕМЫ (ГАММИРОВАНИЕ).
Суть метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, называемой гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название "гаммирование".
Наложение гаммы можно осуществить несколькими способами, например по формуле
tш = tо XOR tг ,
где tш, tо, tг - ASCII коды соответственно зашифрованного символа, исходного символа и гаммы,
XOR - побитовая операция "исключающее или".
Расшифрование текста проводится по той же формуле:
tо = tш XOR tг .
Последовательность гаммы удобно формировать с помощью датчика псевдослучайных чисел (ПСЧ).
Стойкость гаммирования однозначно определяется длиной периода гаммы. При использовании современных ПСЧ реальным становится использование бесконечной гаммы, что приводит к бесконечной теоретической стойкости зашифрованного текста.
85. КРИПТОСИСТЕМЫ (АНАЛИТИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ).
Достаточно надежное закрытие информации может обеспечить использование при шифровании некоторых аналитических преобразований. Например, можно использовать методы алгебры матриц - в частности умножение матрицы на вектор.
В качестве ключа задается квадратная матрица ||a|| размера n*n. Исходный текст разбивается на блоки длиной n символов. Каждый блок рассматривается как n-мерный вектор. А процесс шифрования блока заключается в получении нового n-мерного вектора (зашифрованного блока) как результата умножения матрицы ||a|| на исходный вектор.
Расшифрование текста происходит с помощью такого же преобразования, только с помощью матрицы, обратной ||a||. Очевидно, что ключевая матрица ||a|| должна быть невырожденной.