Вход

совершенствование механизмов защиты информации в персональных компьютерах на уровне BIOS

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 157440
Дата создания 2007
Страниц 50
Источников 9
Мы сможем обработать ваш заказ (!) 22 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 270руб.
КУПИТЬ

Содержание

Содержание
Введение
1.Анализ средств защиты информации
1.1. Методологическая основа формализации требований к средствам защиты информации
1.2. Вопросы формализации требований к корректности реализации механизмов защиты информации
1.3. Вопросы защиты баз данных
2.Исследование возможности использо-вания отечественных механизмов
2.1. Программы-каталогизаторы, или файловые оболочки ОС
2.2. Программы поиска файлов и текстовых и двоичных последовательностей в текстовых и двоичных файлах
2.3. Программы - мониторы файловой системы (File Monitors)
2.4. Программы - мониторы системных файлов ОС (Registry Monitors)
2.5. Программы - мониторы вызовов подпрограмм ОС (API Monitors)
2.6. Программы - мониторы обмена данными с системны-ми устройствами (портами) (Port Monitors)
2.7. Программы - мониторы сетевого обмена данными (Network Traffic Monitors)
2.8. Программы - мониторы активных задач, процессов, потоков и окон (Process/Windows Managers)
2.9. Программы - мониторы конвейеров данных, систем-ных сообщений и высокоуровневого межпрограммного взаимо-действия (Message/COM hooks)
2.10. Программы перехвата и протоколирования клавиа-турного ввода (Keyboard Loggers)
2.11. Программы копирования областей ОЗУ в ВЗУ (Memory Dumpers)
2.12. Программы восстановления удаленных файлов (Unerase/Undelete Utilities)
2.13. Программы побайтового копирования гибких маг-нитных дисков (ГМД), оптических дисков (ОД) и жестких маг-нитных дисков (ЖМД) (Byte Copiers, CD Rippers)
2.14. Программы - распаковщики/дешифраторы (Unpackers/Decryptors)
2.15. Средства дизассемблирования объектных модулей ПО (Disassemblers)
2.16. Средства декомпиляции объектных модулей ПО (Decompilers)
2.17. Средства отладки объектных модулей (Debuggers)
2.18. Средства поиска и замены текстовых и двоичных последовательностей в текстовых и двоичных файлах (Patchers/Hex-editors)
2.19. Средства редактирования "ресурсов" объектных мо-дулей (Resource Editors)
2.20. Средства загрузки объектных модулей и/или их ди-намической модификации в ОЗУ (Loaders/In-memory Patchers)
2.21. Средства загрузки и/или модификации контекста объектных модулей в регистрах ЦП
2.22. Программы симуляции аппаратных средств (ГМД, ОД, электронных ключей, ЛВС) (FDD/ CD/LPT/Network Emulators)
2.23. Средства симуляции центрального процессора и подпрограмм ОС (CPU/API Emulators)
2.24. Средства симуляции операционных систем или ЭВМ целиком (OS/PC/Mac/... Emulators)
2.25. Средства пакетной обработки команд (Batch Processors/Script Engines)
2.26. Средства криптоанализа (Password Crack-ers/Bruteforcers)
2.27. Средства генерации паролей и серийных ключей (Key Generators)
2.28. Средства ОС по контролю доступа к программам и данным (Access Rights Managers)
3. Усовершенствование механизма вза-имной аутентификации в BIOS
3.1. Формирование и поддержка изолированной про-граммной среды
3.2. Алгоритм ступенчатого контроля для создания ИПС (на примере DOS)
3.3. Методика определения требуемой (целесообразной) длины пароля, используемого в БК СЗИ НСД “Аккорд-АМД3” при аутентификации
3.4. Алгоритм вычисления хэш-функции, применяемый в СЗИ НСД “Аккорд-АМД3” для контроля целостности ПС
4. Детальный анализ и усовершенство-вание систем шифрованных данных
4.1. Ускоренная прошивка BIOS
4.2. Особенности перешивки биосов на платах от Asus
4.3. Основные проблемы (и сообщения об ошибках)
4.4. Восстановление работоспособности
4.5. Принцип работы флэш
4.6. Особенности программирования микросхем Intel 28Fxxx
4.7. Программные особенности программирования флэ-шек
4.8. "Хабовые" флэши
Заключение
Использованная литература

Фрагмент работы для ознакомления

Нужно строго наоборот - чем "безвестнее" и примитивнее плата - тем более лучший получится из неё "программатор". Т.е. для этого просто идеальны всякие Акорпы да PCPartner-ы, а вот любые платы даже с минимальными "претензиями" всегда ухудшают "универсальность". Плюс, конечно, другим важным условием является хороший и удобный доступ к гнезду флэшки.
 
Фото самодельного переходника PLCC32->DIP32
В качестве главного программного обеспечения используются amiflash (конкретно - версия 8.37, только с ключами). Он знает большинство чипсетов/флэшей и очень удобен в работе благодаря удобной коммандной строке.
Для редких случаев, когда не справляется amiflash (некоторые типы флэшек и/или экзотические чипсеты) - используется awdflash (обязательно с ключом /f).
Для тяжёлых случаев (как правило очень экзотические флэши/биосы/чипсеты, очень старые, либо, наоборот, самые новые материнские платы) используется Uniflash. Он же может быть использован с целью визуальной проверки места проблем во флэшке. Плюс особенно стоит обратить на него внимание обладателям современных плат на Nforce2, использующие LPC-флэшки типа PMC (как правило - Epox/Gigabyte). PMC-шки умеют работать сразу во всех трёх режимах (LPC/FWH/PP) и, может быть, из-за этого часто "стандартные" прошивальщики некорректно их перешивают (а то и зависают в процессе перешивки) - uniflash же это делает исключительно корректно.
Экстремальные способы перешивки/восстановления.
В некоторых совсем сложных случаях приходится прибегать к использованию сразу двух прошивальщиков - например, прошиваете сначала с помощью amiflash, а после этого сразу же с помощью uniflash. После первой попытки амифлэш ругнётся, что прошил некорректно, а uniflash перешьёт уже корректно. В то время как другая последовательность действий (например, сначала uniflash, а потом amiflash и т.п.) может не принести должного результата. Это, скорей всего, связано с разными алгоритмами перешивки конкретных флэшей, когда одному прошивальщику удаётся правильно сделать первую часть операции, а другому - заключительную.
Когда у вас есть под рукой только "одномегабитная" плата, а нужно прошить двухмегабитную ("обычную") можно сначала прошить первую половину (1Mbit), а потом "отдельно", вторую половину. Для этого разбиваете файл биоса на две части (по 1Mbit=128kB) с помощью любого hex-редактора и прошиваете сперва последнюю часть. После этого коротите ножку 30 (A17 в 2Mbit и NC в 1Mbit) на землю и заливаете "начальную" половину.
Другим развитием (вариантом) предыдущей ситуации может быть заливка лишь "конечной" части (по сути нам нужен лишь бутблок). После этого таким образом "недошитая" микросхема вставляется в родную плату, где автоматически из-за несоответствия CRC начнёт грузится бутблок. С помощь которого уже в родной плате всё можно будет банально восстановить "с дискетки".
Прошивка флэшек с различными напряжениями перепрограммирования.
Различные типы флэшей рассчитаны на разные вольтажи программирования. Самые распространённые - это 12V/5V для старых плат, для современных, это 3.3V/3V/2.7V и меньше. Теоретически, для каждого типа нужно выставлять нужное конкретной флэшке напряжение с помощью перемычек на материнской плате (если такие, конечно, имеются). Практически же получается, что флэшки с более меньшим напряжением программирования совершенно благополучно шьются более высоким напряжением.
Т.е. если на материнской плате стоит 5V-овая флэшка (например, большинство серии 29xxxx), то флэшки с более низким уровнем перепрошивки тоже на ней прошьются на ура без всяких претензий по его завышенному значению. И без хоть какой-то вероятности повреждения более низковольтных клиентов.
В случае обратного соотношения - перешивка 12V-овых флэшек на 5V-овых матерях (или с перемычками установленными на 5V) тоже часто имеет благополучный исход. Хотя здесь он уже и не является правилом - поэтому при программировании микросхем серии 28xxxx (большинство которых - 12V) - будьте бдительны по поводу правильно выставленных перемычек и не стоит пытаться их перешивать хотсвопом на современных платах (т.к. 12V-ые были лишь P1-P2), т.е. чем старее, тем больше шансов на корректную перешивку.
Если перемычки на плате не подписаны - можете просто померить напряжение на pin32 (справа сразу от ключа, если смотреть ключом вверх). В самом крайнем случае, если на плате нет перемычек - можно отогнуть эту ножку из сокета и подать на неё 12V "вручную" (например прямо от разъёма БП).
4.9. Математическая структура секретных систем
Рассмотрим общую математическую структуру и свойства секретных систем. Секретные системы - системы, где смысл сообщения скрывается при помощи шифра, кода и т.д., но само существование сообщения не скрывается и предполагается, что противник обладает любым специальным оборудованием, необходимым для перехвата и записи переданных сигналов. Ограничимся случаем дискретной информации, где сообщение, которое должно быть зашифровано, состоит из последовательных дискретных символов, каждый из которых выбран из некоторого конечного множества. Эти символы могут быть буквами или словами некоторого языка, амплитудными уровнями «квантованной» речи или видеосигнала и т.д., но главное ударение будет сделано на случае букв.
Исследование делится на три части. В первой части излагается основная математическая структура секретных систем. Язык может рассматриваться как некоторый вероятностный процесс, который создает дискретную последовательность символов в соответствии с некоторой системой вероятностей. С каждым языком связан некоторый параметр , который можно назвать избыточностью этого языка. Избыточность измеряет в некотором смысле, насколько может быть уменьшена длина некоторого текста в данном языке без потери какой-либо части информации. Избыточность играет центральную роль в изучении секретных систем.
Секретная система определяется абстрактно как некоторое множество отображений одного пространства (множества возможных сообщений) в другое пространство (множество возможных криптограмм). Каждое конкретное отображение из этого множества соответствует способу шифрования при помощи конкретного ключа.
Предполагается, что отображения являются взаимнооднозначными, так что если известен ключ, то в результате процесса расшифровки возможен лишь единственный ответ.
Предполагается далее, что каждому ключу (и, следовательно, каждому отображению) соответствует некоторая априорная вероятность - вероятность выбрать этот ключ. Аналогично каждому возможному сообщению соответствует априорная вероятность, определяемая задающим сообщение вероятностным процессом. Эти вероятности различных ключей и сообщений являются фактически априорными вероятностями для шифровальщика противника и характеризуют его априорные знания относительно интересующей его проблемы.
Чтобы использовать такую секретную систему, сначала выбирается некоторый ключ и посылается в точку приема. Выбор ключа определяет конкретное отображение из множества отображений, образующих систему. Затем выбирается сообщение и с помощью отображения, соответствующего выбранному ключу, из этого сообщения формируется криптограмма. Эта криптограмма передается в точку приема по некоторому каналу и может быть перехвачена противником. На приемном конце с помощью отображения, обратного выбранному, из криптограммы восстанавливают первоначальное сообщение.
Если противник перехватит криптограмму, он может с ее помощью сосчитать апостериорные вероятности различных возможных сообщений и ключей, которые могли быть использованы для составления такой криптограммы. Это множество апостериорных вероятностей образует его сведения о ключах и сообщениях после перехвата. «Сведения», таким образом, представляют собой некоторое множество предположений, которым приписаны вероятности. Вычисление апостериорных вероятностей является общей задачей расшифровки.
В результате рассмотрения секретных систем, которые могут быть представлены как совокупность отображений одного множества элементов в другое, возникают две естественные операции комбинирования, производящие из двух данных систем третью. Первая операция комбинирования называется операцией «умножения» (произведением) и соответствует зашифровке сообщения с помощью системы с последующей зашифровкой полученной криптограммы с помощью системы , причем ключи и выбираются независимо. Полный результат этой операции представляет собой секретную систему, отображения которой состоят из всех произведений (в обычном смысле произведений отображений) отображений из на отображения из . Вероятности результирующих отображений являются произведениями вероятностей двух исходных отображений.
Вторая операция комбинирования является «взвешенным сложением»:
Она представляет собой следующее. Сначала делается предварительный выбор, какая из систем или будет использоваться, причем система выбирается с вероятностью , а система с вероятностью . После этого выбранная система используется описанным выше способом.
Секретные системы с этими двумя операциями комбинирования образуют, по существу, «линейную ассоциативную алгебру» с единицей, - алгебраический объект, подробно изучавшийся математиками.
Среди многих возможных секретных систем имеется один тип с многочисленными особыми свойствами. Этот тип назовем «чистой» системой. Система является чистой, если все ключи равновероятны и если для любых трех отображений , , из множества отображений данной системы произведение
также является отображением из этого множества. То есть зашифровка, расшифровка и снова зашифровка с любыми тремя ключами должна быть эквивалентна зашифровке с некоторым ключом.
Можно показать, что для чистого шифра все ключи по существу эквивалентны - все они приводят к тому же самому множеству апостериорных вероятностей. Больше того, каждой криптограмме соответствует некоторое множество сообщений («остаточный класс»), из которых могла бы получиться эта криптограмма, а апостериорные вероятности сообщений в этом классе пропорциональны априорным вероятностям. Вся информация, которую противник получил бы в результате перехвата криптограммы, заключается в установлении остаточного класса. Многие из обычных шифров являются чистыми системами, в том числе простая подстановка со случайным ключом. В этом случае остаточный класс состоит из всех сообщений с таким же набором буквенных повторений, как в перехваченной криптограмме.
По определению, две системы и являются «подобными», если существует фиксированное отображение (имеющее обратное ) такое, что
Если и подобны, то между получающимися в результате применения этих систем множествами криптограмм можно установить взаимнооднозначное соответствие, приводящее к тем же самым апостериорным вероятностям. Такие две системы аналитически записываются одинаково.
4.9.1. Секретные системы
Чтобы приступить к математическому анализу криптографии, необходимо ввести удовлетворительную идеализацию и определить математически приемлемым способом, что будет пониматься под термином секретная система. Схематическая структура секретной системы показана на рис.4.1.
Рис. 4.1. Схема общей секретной системы
На передающем конце имеются два источника информации - источник сообщений и источник ключей. Источник ключей отбирает конкретный ключ среди всех возможных ключей данной системы. Этот ключ передается некоторым способом на приемный конец, причем предполагается, что его нельзя перехватить (например, ключ передается посыльным). Источник сообщений формирует некоторое сообщение (незашифрованное), которое затем зашифровывается, и готовая криптограмма передается на приемный конец, причем криптограмма может быть перехвачена. На приемном конце шифровальщик с помощью ключа по криптограмме восстанавливает исходное сообщение.
Очевидно, шифровальщик на передающем конце выполняет некоторую функциональную операцию. Если  - сообщение,  - ключ и  - зашифрованное сообщение (криптограмма), то имеем
т.е. является функцией от и . Удобнее, однако, понимать не как функцию двух переменных, а как (однопараметрическое) семейство операций или отображений, и записывать его в виде:
Отображение , примененное к сообщению , дает криптограмму . Индекс соответствует конкретному используемому ключу.
Вообще мы будем предполагать, что имеется лишь конечное число возможных ключей, каждому из которых соответствует вероятность . Таким образом, источник ключей является статистическим процессом, или устройством, которое выбирает одно из множества отображений с вероятностями соответственно. Будем также предполагать, что число возможных сообщений конечно и эти сообщения имеют априорные вероятности .
Должна иметься возможность восстанавливать на приемном конце, когда известны и . Поэтому отображение из нашего семейства должно иметь единственное обратное отображение , так что , где  - тождественное отображение. Таким образом:
Во всяком случае, это обратное отображение должно существовать и быть единственным для каждого , которое может быть получено из с помощью ключа . Приходим, таким образом, к следующему определению: секретная система есть семейство однозначно обратимых отображений множества возможных сообщений во множество криптограмм, при этом отображение имеет вероятность . Обратно, любое множество объектов такого типа будет называться «секретной системой». Множество возможных сообщений для удобства будет называться «пространством сообщений», а множество возможных криптограмм – «пространством криптограмм».
Две секретные системы совпадают, если они образованы одним и тем же множеством отображений и одинаковыми пространствами сообщений и криптограмм, причем вероятности ключей в этих системах также совпадают.
Секретную систему можно представлять себе как некоторую машину с одним или более переключающими устройствами. Последовательность букв (сообщение) поступает на вход машины, а на выходе ее получается другая последовательность. Конкретное положение переключающих устройств соответствует конкретному используемому ключу. Для выбора ключа из множества возможных ключей должны быть заданы некоторые статистические методы.
Для того чтобы нашу проблему можно было рассмотреть математически, предположим, что противнику известна используемая система. Иными словами, он знает семейство отображений  и вероятности выбора различных ключей. Можно было бы, во-первых, возразить, что такое предположение нереалистично, так как шифровальщик противника часто не знает, какая система использовалась или чему равны рассматриваемые вероятности. На это возражение имеется два ответа.
1. Наложенное ограничение слабее, чем кажется с первого взгляда, из-за широты нашего определения секретной системы. Предположим, что шифровальщик перехватывает сообщение и не знает, использовалась ли здесь подстановка, или транспозиция, или шифр типа Виженера. Он может считать, что сообщение зашифровано с помощью системы, в которой часть ключа является указанием того, какой из трех типов имеющихся ключей был использован, а следующая часть - конкретный ключ этого типа. Указанным трем различным возможностям шифровальщик приписывает вероятности, учитывая при этом все имеющиеся у него сведения об априорных вероятностях использования шифровальщиком противника соответствующих типов шифров.
2. Наше ограничение обычно в криптографических исследованиях. Оно является пессимистичным, но безопасно, и в конечном счете реалистично, так как можно ожидать, что противник рано или поздно раскроет любую секретную систему. Поэтому даже в том случае, когда разработана совершенно новая система, так что противник не может приписать ей никаких априорных вероятностей, если только он ее уже не раскрыл, нужно иметь в виду его возможную осведомленность.
Второе возможное возражение против нашего определения секретной системы состоит в том, что в нем не принимаются в расчет используемые обычно на практике вставки в сообщение посторонних нулевых знаков и использование многократных подстановок. В таких случаях для данного сообщения и ключа имеется не единственная криптограмма и шифровальщик может выбрать по своему желанию одну из нескольких различных криптограмм. Эту ситуацию можно было бы рассмотреть, но это только внесло бы дополнительные усложнения на данном этапе рассуждений без существенного изменения каких-либо из основных выводов.
Если сообщения создаются марковским процессом, то вероятности разных сообщений определяются структурой этого марковского процесса. Однако подойдем к вопросу с более общей точки зрения и будем трактовать сообщения просто как абстрактное множество объектов, которым приписаны вероятности, причем эти объекты не обязательно состоят из последовательностей букв и не обязательно создаются марковским процессом.
Следует подчеркнуть, что далее во всех случаях секретная система означает не одно, а целое множество отображений. После того как выбран ключ, используется только одно из этих отображений и отсюда можно было бы прийти к определению секретной системы как единственного преобразования языка. Однако противник не знает, какой ключ выбран, и остальные возможные ключи столь же важны для него, как и истинный. Именно существование этих других возможных ключей и придает системе секретность. Так как мы интересуемся в первую очередь секретностью, то вынуждены предпочесть данное нами определение понятия секретной системы.
Следует отметить, что система, состоящая из единственной операции над языком, представляет собой при нашем определении вырожденный тип секретной системы. Это - система с единственным ключом, который имеет вероятность, равную единице. В такой системе нет секретности - шифровальщик противника находит сообщение, применяя к перехваченной криптограмме обратное отображение, также единственное в такой системе. В этом случае шифровальщик противника и шифровальщик получателя информации располагают одинаковой информацией. В общем же случае единственное различие их сведений состоит в том, что последнему известен конкретно использовавшийся ключ, в то время как первому известны лишь априорные вероятности различных ключей из данного множества. Процесс расшифровки для получателя информации состоит в применении к криптограмме отображения, обратного по отношению к конкретному отображению, использованному для составления криптограммы. Процесс расшифровки для противника представляет собой попытку определить сообщение (или конкретный ключ), имея в распоряжении только криптограмму и априорные вероятности различных ключей и сообщений.
Существует много трудных эпистемологических вопросов, связанных с теорией секретности, или вернее с любой теорией, связанной с реальным применением вопросов теории вероятностей (так обстоит дело, в частности, с априорными вероятностями, теоремой Байеса и т.д.). Трактуемая абстрактно теория вероятности может быть изложена на строгих логических основах с использованием современной теории меры. Однако в применениях к физическим ситуациям, особенно когда дело касается «субъективных» вероятностей и неповторимых экспериментов, возникают многочисленные вопросы, связанные с логическим обоснованием. Например, при нашем подходе к проблеме секретности допускается, что априорные вероятности различных ключей и сообщений известны шифровальщику противника, но как он может определить их эффективным способом даже при использовании всех своих сведений о данной обстановке?
На практике только очень большие ошибки в априорных вероятностях ключей и сообщений могут вызвать заметные ошибки в важных параметрах. Это происходит из-за того, что число сообщений и криптограмм ведет себя как экспоненциальная функция, а измеряется логарифмической мерой.
4.9.2. Способы изображения систем
Секретная система, в том виде как она определена выше, может быть изображена различными способами. Один из них (удобный для целей иллюстрации) использует линейные схемы, изображенные на рис.4.2 и рис.4.4. Возможные сообщения представляются точками слева, а возможные криптограммы - точками справа. Если некоторый ключ, скажем, ключ , отображает сообщение в криптограмму , то и соединяются линией, обозначенной значком и т.д. Для каждого ключа из каждого сообщения должна выходить ровно одна линия. Если это же верно и для каждой криптограммы, скажем, что система является замкнутой.
Рис.4.2. Схемы простых систем
Более общий способ описания системы состоит в задании операции, с помощью которой, применяя к сообщению произвольный ключ, можно получить криптограмму. Аналогично неявным образом можно определить вероятности различных ключей или с помощью задания способа выбора ключей, или с помощью описания сведений о том, как обычно выбирает ключи противник. Вероятности сообщений определяются просто посредством изложения наших априорных сведений о языке противника, тактической обстановке (которая будет влиять на возможное содержание сообщений) и любой специальной информации, касающейся криптограммы.
4.9.3. Примеры секретных систем
В данном разделе рассматриваются несколько примеров шифров.
1. Шифр простой подстановки.
В таком шифре производится замена каждой буквы сообщения на некоторый определенный символ (обычно также на букву).
Таким образом, сообщение
где  -- последовательные буквы, переходит в
причем функция имеет обратную функцию. Ключ является просто перестановкой алфавита (если буквы заменяются на буквы), например,
Первая буква - заменяет букву , заменяет и т.д.
2. Транспозиция с фиксированным периодом .
В этом случае сообщение делится на группы символов длины и к каждой группе применяется одна и та же перестановка. Эта перестановка является ключом; она может быть задана некоторой перестановкой первых целых чисел.
Таким образом, для в качестве перестановки можно взять 23154. Это будет означать, что
переходит в
Последовательное применение двух или более транспозиций будет называться составной транспозицией. Если периоды этих транспозиций , ..., , то, очевидно, в результате получится транспозиция периода , где  - наименьшее общее кратное .
3. Шифр Виженера и его варианты.
В шифре Виженера ключ задается набором из букв. Такие наборы подписываются с повторением под сообщением и полученные две последовательности складываются по модулю 26 (каждая буква рассматриваемого алфавита нумеруется от до ).
Таким образом,
где  - буква ключа, полученная сокращением числа по модулю . Например, с помощью ключа получаем
Сообщение Повторяемый ключ Криптограмма
Шифр Виженера с периодом 1 называется шифром Цезаря. Он представляет собой простую подстановку, в которой каждая буква сообщения сдвигается вперед на фиксированное число мест по алфавиту. Это число и является ключом; оно может быть любым от 0 до 25. Так называемый шифр Бофора (Beaufort) и видоизмененный шифр Бофора подобны шифру Виженера. В них сообщения зашифровываются с помощью равенств

соответственно. Шифр Бофора с периодом 1 называется обратным шифром Цезаря.
Повторное применение двух или более шифров Виженера будет называться составным шифром Виженера. Он имеет уравнение
где вообще говоря, имеют различные периоды. Период их суммы , как и в составной транспозиции, будет наименьшим общим кратным отдельных периодов.
Если используется шифр Виженера с неограниченным неповторяющимся ключом, то мы имеем шифр Вернама, в котором
и выбираются случайно и независимо среди чисел 0, 1, ..., 25. Если ключом служит текст, имеющий смысл, то имеем шифр «бегущего ключа».
4. Диграммная, триграммная и -граммная подстановки.
Вместо подстановки одной буквы можно использовать подстановку диграмм, триграмм и т.д. Для диграммной подстановки в общем виде требуется ключ, состоящий из перестановок диграмм. Он может быть представлен с помощью таблицы, в которой ряд соответствует первой букве диграммы, а столбец - второй букве, причем клетки таблицы заполнены заменяющими символами (обычно также диграммами).
5. Шифр Виженера с перемешанным один раз алфавитом.
Такой шифр представляет собой простую подстановку с последующим применением шифра Виженера

«Обратным» к такому шифру является шифр Виженера с последующей простой подстановкой

6. Матричная система
Имеется один метод подстановки -грамм, который заключается в применении к последовательным -граммам некоторой матрицы, имеющей обратную. Предполагается, что буквы занумерованы от 0 до 25 и рассматриваются как элементы некоторого алгебраического кольца. Если к -грамме сообщения применить матрицу , то получится -грамма криптограммы
Матрица является ключом, и расшифровка выполняется с помощью обратной матрицы. Обратная матрица будет существовать тогда и только тогда, когда определитель имеет обратный элемент в нашем кольце.
7. Шифр Плэйфер
Этот шифр является частным видом диграммной подстановки, которая производится с помощью перемешанного алфавита из 25 букв, записанных в виде квадрата . (Буква часто опускается при криптографической работе, так как она редко встречается, и в тех случаях, когда она встречается, ее можно заменить буквой ). Предположим, что ключевой квадрат записывается следующим образом:
В этом случае диграмма , например, заменяется на пару букв, расположенных в противоположных углах прямоугольника, определяемого буквами и , т.е. на , причем взята первой, так как она выше . Если буквы диграммы расположены на одной горизонтали, то используются стоящие справа от них буквы. Таким образом, заменяется на , заменяется на . Если буквы расположены на одной вертикали, то используются буквы, стоящие под ними. Таким образом, заменяется на . Если обе буквы диграммы совпадают, то можно использовать для их разделения нуль или же одну из букв опустить и т.п.
8. Перемешивание алфавита с помощью многократной подстановки.
В этом шифре используются последовательно простых подстановок. Так, если , то
заменяется на
и т.д.
9. Шифр с автоключом.
Шифр типа Виженера, в котором или само сообщение или результирующая криптограмма используются в качестве «ключа», называется шифром с автоключом. Шифрование начинается с помощью «первичного ключа» (который является настоящим ключом в нашем смысле) и продолжается с помощью сообщения или криптограммы, смещенной на длину первичного ключа, как в указанном ниже примере, где первичным ключом является набор букв . В качестве «ключа» используется сообщение:
Сообщение Ключ Криптограмма Если в качестве «ключа» использовать криптограмму, то получится
Сообщение Ключ Криптограмма 10. Дробные шифры.
В этих шифрах каждая буква сначала зашифровывается в две (или более) буквы или в два (или более) числа, затем полученные символы каким-либо способом перемешиваются (например, с помощью транспозиции), после чего их можно снова перевести в первоначальный алфавит. Таким образом, используя в качестве ключа перемешанный 25-буквенный алфавит, можно перевести буквы в двухзначные пятеричные числа с помощью таблицы:
Например, букве соответствует «число» 41. После того как полученный ряд чисел подвергнут некоторой перестановке, его можно снова разбить на пары чисел и перейти к буквам.
11. Коды.
В кодах слова (или иногда слоги) заменяются группами букв. Иногда затем применяется шифр того или иного вида.
4.9.4. Оценка секретных систем
Имеется несколько различных критериев, которые можно было бы использовать для оценки качества предлагаемой секретной системы. Рассмотрим наиболее важные из этих критериев.
1. Количество секретности.
Некоторые секретные системы являются совершенными в том смысле, что положение противника не облегчается в результате перехвата любого количества сообщений. Другие системы, хотя и дают противнику некоторую информацию при перехвате очередной криптограммы, но не допускают единственного «решения». Системы, допускающие единственное решение, очень разнообразны как по затрате времени и сил, необходимых для получения этого решения, так и по количеству материала, который необходимо перехватить для получения единственного решения.
2. Объем ключа.
Ключ должен быть передан из передающего пункта в приемный пункт таким способом, чтобы его нельзя было перехватить. Иногда его нужно запомнить. Поэтому желательно иметь ключ настолько малый, насколько это возможно.
3. Сложность операции шифрования и дешифрирования.
Операции шифрования и дешифрирования должны быть, конечно, по возможности простыми. Если эти операции производятся вручную, то их сложность приводит к потере времени, появлению ошибок и т.д. Если они производятся механически, то сложность приводит к использованию больших и дорогих устройств.
4. Разрастание числа ошибок.
В некоторых типах шифров ошибка в одной букве, допущенная при шифровании или передаче, приводит к большому числу ошибок в расшифрованном тексте. Такие ошибки разрастаются в результате операции дешифрирования, вызывая значительную потерю информации и часто требуя повторной передачи криптограммы. Естественно, желательно минимизировать это возрастание числа ошибок.
5. Увеличение объема сообщения.
В некоторых типах секретных систем объем сообщения увеличивается в результате операции шифрования. Этот нежелательный эффект можно наблюдать в системах, в которых делается попытка потопить статистику сообщения в массе добавляемых нулевых символов, или где используются многократные замены. Он имеет место также во многих системах типа «маскировки» (которые не являются обычными секретными системами в смысле нашего определения).
4.9.5. Алгебра секретных систем
Если имеются две секретные системы и , их часто можно комбинировать различными способами для получения новой секретной системы . Если и имеют одну и ту же область (пространство сообщений), то можно образовать своего рода «взвешенную сумму»
где . Эта операция состоит, во-первых, из предварительного выбора систем или с вероятностями и . Этот выбор является частью ключа . После того как этот выбор сделан, системы или применяются в соответствии с их определениями. Полный ключ должен указывать, какая из систем или выбрана и с каким ключом используется выбранная система.
Если состоит из отображений с вероятностями , а  - из с вероятностями , то система состоит из отображений с вероятностями соответственно.
Обобщая далее, можно образовать сумму нескольких систем
Заметим, что любая система может быть записана как сумма фиксированных операций
где  - определенная операция шифрования в системе , соответствующая выбору ключа , причем вероятность такого выбора равна .
Второй способ комбинирования двух секретных систем заключается в образовании «произведения», как показано схематически на рис.4.3. Предположим, что и  - такие две системы, что область определения (пространство языка) системы может быть отождествлена с областью определения (пространством криптограмм) системы . Тогда можно применить сначала систему к нашему языку, а затем систему к результату этой операции, что дает результирующую операцию , которую запишем в виде произведения
Ключ системы состоит как из ключа системы , так и из ключа системы , причем предполагается, что эти ключи выбираются соответственно их первоначальным вероятностям и независимо.
Рис.4.3. Произведение двух систем S = RT
Таким образом, если ключей системы выбирается с вероятностями

а ключей системы имеют вероятности
то система имеет самое большее ключей с вероятностями . Во многих случаях некоторые из отображений будут одинаковыми и могут быть сгруппированы вместе, а их вероятности при этом сложатся.
Произведение шифров используется часто; например, после подстановки применяют транспозицию или после транспозиции - код Виженера; или же применяют код к тексту и зашифровывают результат с помощью подстановки, транспозиции, дробным шифром и т.д.
Можно заметить, что такое умножение, вообще говоря, некоммутативно (т. е. не всегда ), хотя в частных случаях (таких, как подстановка и транспозиция) коммутативность имеет место. Так как наше умножение представляет собой некоторую операцию, оно по определению ассоциативно, т. е. . Кроме того, верны законы
(взвешенный ассоциативный закон для сложения);

(право- и левосторонние дистрибутивные законы), а также справедливо равенство
Следует подчеркнуть, что эти операции комбинирования сложения и умножения применяются к секретным системам в целом. Произведение двух систем не следует смешивать с произведением отображений в системах . Первое является секретной системой, т.е. множеством отображений с соответствующими вероятностями; второе - является фиксированным отображением. Далее, в то время как сумма двух систем является системой, сумма двух отображений не определена. Системы  и могут коммутировать, в то время как конкретные и не коммутируют. Например, если  - система Бофора данного периода, все ключи которой равновероятны, то, вообще говоря,
но, конечно, произведение не зависит от порядка сомножителей; действительно
является системой Виженера того же самого периода со случайным ключом. С другой стороны, если отдельные отображения и двух систем и коммутируют, то и системы коммутируют.
Системы, у которых пространства и можно отождествить (этот случай является очень частым, если последовательности букв преобразуются в последовательности букв), могут быть названы эндоморфными. Эндоморфная система может быть возведена в степень .
Секретная система , произведение которой на саму себя равно , т.е. такая, что
будет называться идемпотентной. Например, простая подстановка, транспозиция с периодом , система Виженера с периодом (все с равновероятными ключами) являются идемпотентными.
Множество всех эндоморфных секретных систем, определенных в фиксированном пространстве сообщений, образует «алгебраическую систему», т.е. некоторый вид алгебры, использующей операции сложения и умножения. Действительно, рассмотренные свойства сложения и умножения можно резюмировать следующим образом.
Множество эндоморфных шифров с одним и тем же пространством сообщений и двумя операциями комбинирования - операцией взвешенного сложения и операцией умножения -- образуют линейную ассоциативную алгебру с единицей, с той лишь особенностью, что коэффициенты во взвешенном сложении должны быть неотрицательными, а их сумма должна равняться единице.
Эти операции комбинирования дают способы конструирования многих новых типов секретных систем из определенных данных систем, как это было показано в приведенных примерах. Их можно также использовать для описания ситуации, с которой сталкивается шифровальщик противника, когда он пытается расшифровать криптограмму неизвестного типа. Фактически он расшифровывает секретную систему типа
где в данном случае - известные типы шифров с их априорными вероятностями , а соответствует возможности использования совершенно нового неизвестного шифра.
4.9.6. Чистые и смешанные шифры
Некоторые типы шифров, такие как простая подстановка, транспозиция с данным периодом, система Виженера с данным периодом,
Рис. 4.4.
система Виженера со смешанным алфавитом и т.д. (все с равновероятными ключами), обладают некоторой однородностью по отношению к ключу. Каков бы ни был ключ, процессы шифрования, дешифрирования адресатом и дешифрирования противником являются по существу теми же самыми. Эти системы можно противопоставить системе с шифром
где  - простая подстановка, а  - транспозиция с данным периодом. В таком случае процессы шифрования и дешифрирования адресатом или противником полностью меняются в зависимости от того, используется подстановка или транспозиция.
Причина однородности таких систем

Список литературы [ всего 9]

Использованная литература
1.Середа С.А. Оценка эффективности систем защиты программного обеспечения. Материалы Международной конференции IPSIT'99, 1999.
2.Середа С.А. Программно-аппаратные системы защиты программно-го обеспечения. Материалы Международной конференции аспирантов при Экономической Академии Республики Молдова, 1999.
3.Материалы узла Fravia's Pages of Reverse Engineering. http://fravia.anticrack.de или http://tsehp.cjb.net
4.Защита программного обеспечения. Под ред. Д. Гроувера: Пер с англ. - М., Мир, 1992.
5.Сяо Д., Керр Д., Мэдник С. Защита ЭВМ: Пер с англ. - М., Мир, 1982.
6.Черней Г.А., Охрименко С.А., Ляху Ф.С. Безопасность автоматизи-рованных информационных систем. - Кишинев, Ruxanda, 1996.
7.Гудман С., Хидетниеми С. Введение в разработку и анализ алго-ритмов: Пер с англ. - М., Мир, 1981.
8.Расторгуев С.П. Программные методы защиты информации в ком-пьютерах и сетях. - М., Яхтсмен, 1993.
9.Щербаков А. Защита от копирования. - М., ЭДЕЛЬ, 1992.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00477
© Рефератбанк, 2002 - 2024