Защита программ и данных от модификации и копирования. Защита от перехвата информации с помощью шифрования

Автор работы: Пользователь скрыл имя, 01 Мая 2013 в 13:20, реферат

Краткое описание

Локальная программная защита
Требование ввода серийного номера (ключа) при установке/запуске. История этого метода началась тогда, когда приложения распространялись только на физических носителях (к примеру, компакт-дисках). На коробке с диском был напечатан серийный номер, подходящий только к данной копии программы.

Прикрепленные файлы: 1 файл

реферат.docx

— 103.31 Кб (Скачать документ)

При шифровании с гаммированием используют линейные конгуэтные датчики – датчики псевдослучайных чисел.

T (i)= (A* T (i-1)+C) mod M,

T (i) – последовательность псевдослучайных чисел

A, C – константы

T0 – выбирается порождающее число.

Такой датчик выдает числа  с периодом М1, который зависит от А и С. Датчик имеет максимальный период   повторений, когда C нечетно и A mod 4= 1. Цифры ключа a1, a2, a3…ai…an, используются в качестве исходной величины Т0. Для каждой ai, генерируется последовательность псевдослучайных чисел H (i), тогда гамма равна объединению непересекающихся подмножеств H (i)

G= H(1)UH(2)…H(i)…H(n)

Для усиления криптографической  стойкости очень часто применяют  гаммирование с обратной связью. Здесь отказываются от ключа, и его формирование зависит от сообщения. Для получения G используется контрольная сумма различных частей сообщений а1, а2, а3 – (s1), a4, a5, a6 – (s2)…an. Для каждого контрольного H(s1), H(s2) суммы генерируется последовательность псевдослучайных чисел.

Стандартный шифр США. DES,

Исходный текст, представленный в 2-ом коде, разбивается на группы по 64 бита. В каждой группе символы сообщения  представляются в определенном порядке. Переставленная последовательность разбивается  на левую и правую часть по 32 бита. Затем идет процесс шифрования для  правой и левой части:

    1. 1

  • 2

  • 3

  • .

  • .

  • .

  • 64


  • R-32


    L-32



      1. L (i)= R (i-1), i= 1, 2…32                                    

      1. R (i)= L (i-1) + f (R (i-1), K (i)), i= 1, 2…32

    K (i) – специальный 48- битный ключ, получаемый по специальным правилам из 64- битного ключа

    f – получается также по специальным правилам

    Получим L|R затем части переставляются, и получается одно 64-битное сообщение R|L.

    Расшифровка производится в  инверсном порядке:

      1. 1

  • 2

  • 3

  • .

  • .

  • .

  • 64


  • R-32


    L-32



      1. R (i-1)= L (i), i= 1, 2…32                                    

      1. L (i-1)= R (i) + f (L (i), K (i)), i= 1, 2…32

      1. L R  R L

     

    Шифрование  с открытым ключом

    В этих системах используется 2 ключа. Один – для шифровки –  несекретный, другой – дешифровки –  секретный.

    Метода RSA  River, Shamir, Adleman.

    Под простым числом будем понимать число, которое делится только на 1 и на само себя.

    Взаимно простые  числа – числа, не имеющие общий делитель, кроме 1.

    Под результатом i mod j будем подразумевать остаток от целочисленного деления i на j.

    Алгоритм  генерации открытых и закрытых ключей.

    1. Выбирают 2 очень больших взаимно простых числа p и q.
    2. Выбирают число n, как результат умножения p на q:  n= p * q
    3. Выбирают большое случайное число d, оно должно быть взаимно простым с результатом умножения (p-1)*(q-1)
    4. Определяем такое число е, для которого истинным будет соотношение: (e*d)mod(p-1)*(q-1)= 1.
    5. Назовем открытым ключом числа {e, n}, а секретным ключом  - {d, n},

     

    Шифрование

    1. Разбить шифруемый текст на блоки, каждый из которых можно представить в виде последовательности M (i)= a1…a(n-1).
    2. Зашифровать данный текст, как последовательность чисел M(i) по формуле C (i)= (M (i) e) mod n

    Дешифрование

    Вычисляют M (i)= (C (i) d) mod n

    Алгоритм

    1. p= 3, q= 11
    2. n= p * q= 33
    3. (p-1)(q-1) = 2* 10= 20: d= 3
    4. (e*3) mod 20 =1: e= 7
    5. {7,33} – открытый ключ; {3,33} – закрытый ключ

    Шифрование CAB (каждая буква - группа) САВ=3,1,2, шифруем при ключе {7,33}.

    С (1)=(37) mod 33 = 2187 mod 33 = 9

    С (2)=(17) mod 33 = 1 mod 33 = 1

    С (3)=(27) mod 33 = 128 mod 33 = 29

    Дешифрование при ключе {3,33}.

    CAB


    M (1)=(93) mod 33 = 729 mod 33 = 3


    M (2)=(13) mod 33 = 1 mod 33 = 1


    M (3)=(293) mod 33 = 24389 mod 33 = 2

     

    Шифрование в  сотовой связи

     

    Стандарт  ТЕТRА задачи обеспечения защиты информации пользователей решает применением механизмов:

    • аутентификации абонентов;
    • шифрования передаваемой информации;
    • обеспечения скрытности номера абонента.

    Под аутентификацией абонента обычно понимается механизм опознавания его подлинности. Процедуры аутентификации используются для исключения несанкционированного использования ресурсов системы связи. В стандарте TETRA применяется относительно новая концепция аутентификации, использующая шифрование. Общий принцип ее реализации состоит в том, что в текст передаваемого сообщения включается пароль, представляющий собой фиксированный или зависящий от передаваемых данных код. Этот код знают отправитель и получатель, или который они могут выделить в процессе передачи. Получатель расшифровывает сообщение и путем сравнения выделенного кода с оригиналом, получает удостоверение, что принятые им данные являются данными санкционированного отправителя.

    Каждый  абонент для выполнения процедуры  аутентификации на время пользования  системой связи получает стандартный  электронный модуль его подлинности (SIM-карту). SIM-карта содержит запоминающее устройство с записанным в нем  индивидуальным ключом аутентификации и контроллер, который обеспечивает выполнение алгоритма аутентификации. С помощью заложенной в SIM-карту информации в результате взаимного обмена данными между мобильной и базовой станциями производится полный цикл аутентификации, в результате которого принимается решение на доступ абонента к сети. Обобщенная процедура аутентификации в стандарте TETRA проиллюстрирована на рисунке 3.

    Рис.3. Обобщенная процедура аутентификации 
    в стандарте TETRA

    Алгоритм  проверки подлинности абонента в  сети стандарта TETRA осуществляется следующим  образом

    Базовая станция посылает случайное число RAND на мобильную станцию. Мобильная  станция проводит над этим числом некоторую операцию, определяемую стандартным  криптографическим преобразованием  ТА12 с использованием индивидуального  ключа идентификации абонента К, и формирует значение отклика RES, которое отправляет на базовую станцию.

    Базовая станция сравнивает полученное значение отклика RES с ожидаемым результатом XRES, вычисленным ею с помощью аналогичного преобразования ТА12. Если эти значения совпадают, процедура аутентификации завершается, и мобильная станция  получает возможность передавать сообщения. В противном случае связь прерывается, и индикатор мобильной станции  показывает сбой процедуры аутентификации.

    Важно отметить, что в процессе аутентификации, наряду со значением RES, на основе случайного числа и индивидуального ключа  идентификации абонента формируется выделенный ключ шифра DCK (Derived Cipher Key), который может использоваться в дальнейшем при ведении связи в зашифрованном режиме.

    Описанная процедура может применяться  также и для аутентификации сети абонентом. Обычно процедура аутентификации сети абонентом используется при  его регистрации в определенной зоне сети связи, хотя может вызываться в любое другое время после  его регистрации. Обеспечение описанных  процедур определяет взаимную аутентификацию абонента и сети стандарта TETRA.

    Обобщенная  процедура аутентификации, описанная  выше, обладает недостатком, связанным  с необходимостью хранения в базовой  станции индивидуальных ключей аутентификации всех абонентов. При компрометации  одной из базовых станций несанкционированный  пользователь может получить доступ к системе связи.

    Для устранения этого недостатка в стандарте TETRA используется иерархическая система  ключей, в которой одни ключи защищаются другими. При этом процесс аутентификации аналогичен изображенному на риунке 3, однако вместо ключа аутентификации К используется сеансовый ключ аутентификации KS, который вычисляется по криптографическому алгоритму из К и некоторого случайного кода RS.

    Распределение сеансовых ключей аутентификации по базовым станциям обеспечивается центром  аутентификации, надежно защищенным от вероятных попыток его компрометации. Процедура аутентификации мобильных  абонентов с использованием сеансовых  ключей показана на рисунке 4.

    Рис.4. Процедура аутентификации мобильных абонентов  
    с использованием сеансовых ключей

    Алгоритм аутентификации пользователей с применением сеансовых ключей состоит в следующем.

    Генератор случайной последовательности, входящий в состав центра аутентификации, вырабатывает некоторый случайный код RS затем, значение RS и индивидуальный ключ аутентификации пользователя К, с помощью криптографического алгоритма ТА 11 аутентификации формирует и передает в базовую станцию сеансовый ключ KS вместе с кодом RS.

    На  базовой станции формируется  случайное число RAND1, которое и  передается на мобильную станцию  совместно с кодом RS.

    В мобильной станции, первоначально  по алгоритму ТА11 вычисляется значение сеансового ключа KS, а затем по алгоритму  ТА12 формируются значение отклика RES1 и выделенный ключ шифра DCK1. Отклик RES1 передается на базовую станцию, где  сравнивается с ожидаемым значением  отклика XRES1, полученным на базовой станции. При совпадении откликов процедура аутентификации завершается, а мобильная станция получает возможность передачи сообщений. В противном случае мобильный абонент получает отказ в обслуживании.

    Аналогично  производится аутентификация сети абонентом. При этом формирование сеансового ключа KS производится по сертифицированному алгоритму ТА21, а вычисление отклика RES2 (XRES2) и выделенного ключа шифра DCK2 осуществляется на основе алгоритма  ТА22.

    Стандарт TETRA имеет широкие возможности  по разграничению доступа к передаваемой информации, чем обеспечивается высокая  степень ее защиты от несанкционированного доступа. Шифрование активизируется только после успешного проведения процедуры  аутентификации и предназначено  для защиты речи и данных, а также  данных сигнализации. На настоящем  этапе развития этого стандарта, он включает четыре алгоритма шифрования(TEA1 – TEA4). Их применение обеспечивает разные степени защиты группам пользователей в соответствии с различными требованиями по уровню безопасности. Шифрование речи реализуется в виде цифровой обработки низкоскоростного потока данных, что позволяет применять сложные алгоритмы с высокой криптостойкостью, не ухудшающие качество восстановленной речи. Такие алгоритмы реализуют почти полную защиту радиопереговоров от прослушивания. Цифровые потоки информации нельзя расшифровывать с помощью простых аналоговых сканеров, что ограждает их от вмешательства несанкционированных пользователей. Аналогичная схема используется и для кодирования данных. При необходимости можно выбирать требуемый уровень защиты, правда, при этом, как это видно из таблицы 3 , скорость передачи может значительно измениться. Необходимо отметить, что скорость передачи данных в сетях TETRA выше, чем в существующих сетях GSM.

    Таблица 3. Зависимость скорости передачи данных (Кбит/с) от степени защищенности канала

     

    Уровень защиты

    Число используемых тайм-слотов

    1

    2

    3

    4

    Без защиты

    7,2

    14,4

    21,6

    28,8

    Низкий

    4,8

    9,6

    14,4

    19,2

    Высокий

    2,4

    4,8

    7,2

    9,6


    В стандарте TETRA используется поточный метод шифрования, при котором формируемая ключевая псевдослучайная последовательность побитно складывается с потоком данных. Зная ключ и начальное значение псевдослучайной последовательности, получатель информации имеет возможность сформировать такую же последовательность и расшифровать закодированное сообщение при сохранении синхронизации между передающей и приемной сторонами.

    Информация о работе Защита программ и данных от модификации и копирования. Защита от перехвата информации с помощью шифрования