Защита информации в системах дистанционного обучения с монопольным доступом
Категория реферата: Рефераты по информатике, программированию
Теги реферата: гражданское право реферат, реферат на тему человек
Добавил(а) на сайт: Popyrin.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
Теперь пользователь B, желая передать сообщение пользователю A, представляет исходный текст
x = (x0, x1, ..., xn–1), x О Zn , 0 Ј i < n, по основанию nA:
N = c0+c1 nA+....
Пользователь В зашифровывает текст при передаче его пользователю А, применяя к коэффициентам сi отображение [pic]:
[pic], получая зашифрованное сообщение N'. В силу выбора чисел dA и eA, отображение [pic]является взаимно однозначным, и обратным к нему будет
отображение
[pic]
Пользователь А производит расшифрование полученного сообщения N', применяя
[pic].
Для того чтобы найти отображение [pic], обратное по отношению к [pic], требуется знание множителей nA = pAqA. Время выполнения наилучших из известных алгоритмов разложения при n > 10145 на сегодняшний день выходит за пределы современных технологических возможностей.
2.2.2.3. Криптосистема, основанная на эллиптических кривых
Рассмотренная выше криптосистема Эль-Гамаля основана на том, что проблема логарифмирования в конечном простом поле является сложной с вычислительной точки зрения. Однако, конечные поля являются не единственными алгебраическими структурами, в которых может быть поставлена задача вычисления дискретного логарифма. В 1985 году Коблиц и Миллер независимо друг от друга предложили использовать для построения криптосистем алгебраические структуры, определенные на множестве точек на эллиптических кривых.
2.2.3. Адаптированный метод асимметричного шифрования
Рассмотренные ранее методы построения асимметричных алгоритмов
криптопреобразований хоть и интересны, но не достаточно хорошо подходят для
решаемой задачи. Можно было бы взять реализацию уже готового асимметричного
алгоритма, или согласно теоретическому описанию, реализовать его
самостоятельно. Но, во-первых, здесь встает вопрос о лицензировании и
использовании алгоритмов шифрования. Во-вторых, использование стойких
криптоалгоритмов связано с правовой базой, касаться которой бы не хотелось.
Сам по себе стойкий алгоритм шифрования здесь не нужен. Он просто излишен и
создаст лишь дополнительное замедление работы программы при
шифровании/расшифровании данных. Также планируется выполнять код
шифрования/расшифрования в виртуальной машине, из чего вытекают большие
трудности реализации такой системы, если использовать сложные алгоритмы
шифрования. Виртуальная машина дает ряд преимуществ, например, делает более
труднодоступной возможность проведения некоторых операций. В качестве
примера можно привести проверку алгоритмом допустимого срока своего
использования.
Отсюда следует вывод, что создаваемый алгоритм шифрования должен быть достаточен прост. Но при этом он должен обеспечивать асимметричность и быть достаточно сложным для анализа. Именно исходя из этих позиций берет свое начало идея создания полиморфных алгоритмов шифрования.
Основная сложность будет состоять в построении генератора, который
должен выдавать на выходе два алгоритма. Один – для шифрования, другой –
для расшифрования. Ключей у этих алгоритмов шифрования/расшифрования нет.
Можно сказать, что они сами являются ключами, или что они содержат ключ
внутри. Они должны быть устроены таким образом, чтобы производить
уникальные преобразования над данными. То есть два сгенерированных
алгоритма шифрования должны производить шифрования абсолютно различными
способами. И для их расшифровки возможно будет использовать только
соответствующий алгоритм расшифрования, который был сгенерирован в паре с
алгоритмом шифрования.
Уникальность создания таких алгоритмов должен обеспечить полиморфный
генератор кода. Выполняться такие алгоритмы будут в виртуальной машине.
Анализ таких алгоритмов должен стать весьма трудным и нецелесообразным
занятием.
Преобразования над данными будут достаточно тривиальны, но практически, вероятность генерации двух одинаковых алгоритмов должна стремиться к нулю. В качестве элементарных действий следует использовать такие нересурсоемкие операции, как сложение с каким-либо числом или, например, побитовое "исключающее или" (XOR). Но повторение нескольких таких преобразований с изменяющимися аргументами операций (в зависимости от адреса шифруемой ячейки) делает шифр достаточно сложным. Генерации каждый раз новой последовательности таких преобразований с участием различных аргументов усложняет анализ алгоритма.
2.3. Преимущества применения полиморфных алгоритмов шифрования
К преимуществам применения полиморфных алгоритмов шифрования для систем, по функциональности схожим с АСДО, можно отнести следующие пункты:
. слабая очевидность принципа построения системы защиты;
. сложность создания универсальных средств для обхода системы защиты;
. легкая реализация системы асимметрического шифрования;
. возможность легкой, быстрой адаптации и усложнения такой системы;
. возможность расширения виртуальной машины с целью сокрытия части кода.
Рассмотрим теперь каждый их этих пунктов по отдельности и обоснуем эти преимущества. Можно привести и другие удобства, связанные с использование полиморфных механизмов в алгоритмах шифрования. Но, на мой взгляд, перечисленные преимущества являются основными и заслуживающими внимания.
1) Слабая очевидность принципа построения системы защиты, является
следствием выбора достаточно своеобразных механизмов. Во-первых, это само
выполнение кода шифрования/расшифрования в виртуальной машине. Во-вторых, наборы полиморфных алгоритмов, уникальных для каждого пакета защищаемого
программного комплекса. Это должно повлечь серьезные затруднения при
попытке анализа работы такой системы с целью поиска слабых мест для атаки.
Если система сразу создаст видимость сложности и малой очевидности работы
своих внутренних механизмов, то скорее всего это остановит человека от
дальнейших исследований. Правильно построенная программа с использованием
разрабатываемой системой защиты может не только оказаться сложной на вид, но и быть такой в действительности. Выбранные же методы сделают устройство
данной системы нестандартным, и, можно сказать, неожиданным.
2) Сложность создания универсальных средств для обхода системы защиты
заключается в возможности генерации уникальных пакетов защищенного ПО.
Создание универсального механизма взлома средств защиты затруднено при
отсутствии исходного кода. В противном случае необходим глубокий, подробный
и профессиональный анализ такой системы, осложняемый тем, что каждая
система использует свои алгоритмы шифрования/расшифрования. А модификация
отдельного экземпляра защищенного ПО интереса не представляет. Ведь
основной упор сделан на защиту от ее массового взлома, а не на высокую
надежность отдельного экземпляра пакета.
3) Легкая реализация системы асимметрического шифрования, хоть и является побочным эффектом, но очень полезна и важна. Она представляет собой следствие необходимости генерировать два разных алгоритма, один для шифрования, а другой для расшифрования. На основе асимметрического шифрования можно организовать богатый набор различных механизмов в защищаемом программном комплексе. Примеры такого применения будут даны в других разделах данной работы.
4) Возможность легкой, быстрой адаптации и усложнения такой системы.
Поскольку для разработчиков система предоставляется в исходном коде, то у
него есть все возможности для его изменения. Это может быть вызвано
необходимостью добавления новой функциональности. При этом для такой
функциональности может быть реализована поддержка со стороны измененной
виртуальной машины. В этом случае работа новых механизмов может стать
сложной для анализа со стороны. Также легко внести изменения с целью
усложнения генератора полиморфного кода и увеличения блоков, из которых
строятся полиморфные алгоритмы. Это, например, может быть полезно в том
случае, если кем-то, не смотря на все сложности, будет создан универсальный
пакет для взлома системы зашиты. Тогда совсем небольшие изменения в коде, могут свести на нет труды взломщика. Стоит отметить, что это является очень
простым действием, и потенциально способствует защите, так как делает
процесс создания взлома еще более нерациональным.
5) Поскольку программисту отдаются исходные коды система защиты, то он легко может воспользоваться существующей виртуальной машиной и расширить ее для собственных нужд. То же самое касается и генератора полиморфных алгоритмов. Например, он может встроить в полиморфный код ряд специфической для его системы функций. Сейчас имеется возможность ограничить возможность использования алгоритмов по времени. А где-то, возможно, понадобится ограничение по количеству запусков. Можно расширить только виртуальную машину с целью выполнения в ней критических действий. Например, проверку результатов ответа. Выполнение виртуального кода намного сложнее для анализа, а, следовательно, расширяя механизм виртуальной машины, можно добиться существенного повышения защищенности АСДО.
2.4. Функциональность системы защиты
Рекомендуем скачать другие рефераты по теме: ответы 5 класс, реферат теория.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата