Главная страница
Навигация по странице:

  • Исходный блок 64 бита Результат шифрования Рис. 24.9. Схема шифрования по алгоритму DES

  • Несимметричные алгоритмы шифрования

  • . Использование шифрования с открытым ключом для обеспечения 852

  • Использование шифрования закрытым ключом для подтверждения

  • Таблица 24.1. Сравнительные характеристики алгоритмов шифрования

  • Односторонние функции шифрования

  • Эта функция, примененная к шифруемым данным, дает в результате значение, называемое дайджестом, которое состоит из фиксированного сравнительно небольшого и не зависящего

  • Таким образом, хотя знание дайджеста не дает возможности восстановить исходное сообщение, . оно позвоЛяет проверить целостность данных.

  • Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


    Скачать 22.28 Mb.
    НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
    АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    Дата12.03.2017
    Размер22.28 Mb.
    Формат файлаpdf
    Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
    ТипУчебник
    #3698
    страница89 из 99
    1   ...   85   86   87   88   89   90   91   92   ...   99
    Злоумышленник
    Дешифрирование
    Получатель
    Y = FK(X)
    X = F
    k
    (Y)
    4і-
    X

    исходный текст
    Y —
    зашифрованный текст
    X —
    расшифрованный текст
    F — алгоритм шифрования/дешифрирования
    К — секретный ключ
    Рис. 24.8. Модель симметричного шифрования
    1
    Следует отметить, однако, что сущ ествует немало ф ирм енны х алгоритмов, описание
    которых
    не публикуется.

    Шифрование
    849
    Модель является универсальной — если зашифрованные данные хранятся в компьютере и никуда не передаются, отправитель и получатель совмещаются в одном лице, а в роли злоумышленника выступает некто, имеющий доступ к компьютеру в ваше отсутствие.
    Алгоритм DES
    Наиболее популярным стандартным симметричным алгоритмом шифрования данных яв­
    ляется DES (Data Encryption Standard). Алгоритм разработан фирмой IBM и в 1976 году был рекомендован Национальным бюро стандартов к использованию в открытых секторах экономики. Суть этого алгоритма заключается в следующем (рис. 24.9).
    Исходный блок 64 бита
    Результат шифрования
    Рис. 24.9.
    Схема шифрования по алгоритму DES
    Данные шифруются поблочно. Перед шифрованием любая форма представления данных пре­
    образуется в числовую. Числа получают путем применения любой открытой процедуры пре­
    образования блока текста в число. Например, ими могли бы быть значения двоичных чисел, полученных слиянием кодов ASCII последовательных символов соответствующего блока текста. На вход шифрующей функции поступает блок данных размером 64 бита, он делится пополам на левую (L) и правую (R) части. На первом этапе на место левой части результи­
    рующего блока помещается правая часть исходного блока. Правая часть результирующего блока вычисляется как сумма по модулю 2 (операция XOR) левой и правой частей исходного блока. Затем на основе случайной двоичной последовательности по определенной схеме в полученном результате выполняются побитные замены и перестановки. Используемая двоичная последовательность, представляющая собой ключ данного алгоритма, имеет длину
    64 бита, из которых 56 действительно случайны, а 8 предназначены для контроля ключа.
    Вот уже более трех десятков лет алгоритм DES испытывается на стойкость. И хотя суще­
    ствуют примеры успешных попыток «взлома» данного алгоритма, в целом можно считать, что он выдержал испытания. Алгоритм DES широко используется в различных техноло­
    гиях и продуктах, связанных с безопасностью информационных систем. Для того чтобы повысить криптостойкость алгоритма DES, иногда применяют его усиленный вариант, называемый «тройным алгоритмом DES», который включает троекратное шифрование с использованием двух разных ключей. При этом можно считать, что длина ключа увели­
    чивается с 56 до 112 бит? а 'значит, криптостойкость алгоритма существенно повышается.
    Но за это приходится платить производительностью — тройной алгоритм DES требует в три раза больше времени на реализацию, чем «обычный».
    В 2001 году Национальное бюро стандартов США приняло новый стандарт симметричного шифрования, который получил название AES (Advanced Encryption Standard). Стандарт AES был разработан в результате проведения конкурса на разработку симметричного алгоритма

    850
    Глава 24. Сетевая безопасность шифрования, обладающего лучшим, чем у DES, сочетанием показателей безопасности и ско­
    рости работы. Победителем был признан алгоритм Rijndael, который и был положен в основу
    AES. В результате AES обеспечивает лучшую защиту, так как использует 128-битные ключи
    (а также может работать со 192- и 256-битными ключами) и имеет более высокую скорость ра­
    боты, кодируя за один цикл 128-битный блок в отличие от 64-битного блока DES. В настоящее время AES является наиболее распространенным симметричным алгоритмом шифрования.
    В симметричных алгоритмах главную проблему представляют ключи. Во-первых, крипто­
    стойкость многих симметричных алгоритмов зависит от качества ключа, это предъявляет повышенные требования к службе генерации ключей. Во-вторых, принципиальной явля­
    ется надежность канала передачи ключа второму участнику секретных переговоров. Про­
    блема с ключами возникает даже в системе с двумя абонентами, а в системе с п абонентами, желающими обмениваться секретными данными по принципу «каждый с каждым», потре­
    буется п х ( п - 1)/2 ключей, которые должны быть сгенерированы и распределены надеж­
    ным образом. То есть количество ключей пропорционально квадрату количества абонентов, что при большом числе абонентов делает задачу чрезвычайно сложной. Несимметричные алгоритмы, основанные на использовании открытых ключей, снимают эту проблему.
    Несимметричные алгоритмы шифрования
    В середине 70-х двое ученых — Винфилд Диффи и Мартин Хеллман — описали принци­
    пиально другой подход к шифрованию.
    Особенность шифрования с открытым ключом состоит в том, что одновременно генерируется уникальная
    пара ключей іГатх что тёкст, зашифрованный одним ключом, может быть расшиф­
    рован только
    о
    использованием второго ключа, и наоборот.
    Е — открытый ключ
    « П м »
    ^ "" D — закрытый секретный ключ получателя
    X — исходный текст
    Y — текст, зашифрованный открытым ключом Е
    X — текст, расшифрованный закрытым ключом D

    Шифрование
    851
    В модели криптосхемы с открытым ключом также три участника: отправитель, получатель и злоумышленник (рис. 24.10). Задача отправителя заключается в том, чтобы по открытому каналу связи передать некоторое сообщение в защищенном виде. Получатель генерирует на своей стороне два ключа: открытый Е и закрытый D. Закрытый ключ D (часто называемый также личным ключом) абонент должен сохранять в защищенном месте, а открытый ключ Е он может передать всем, с кем хочет поддерживать защищенные отношения. Для шифрова­
    ния текста служит открытый ключ, но расшифровать этот текст можно только с помощью закрытого ключа. Поэтому открытый ключ передается отправителю в незащищенном виде.
    Отправитель, используя открытый ключ получателя, шифрует сообщение X и передает его получателю. Получатель расшифровывает сообщение своим закрытым ключом D.
    Очевидно, что числа, одно из которых служит для шифрования текста, а другое — для де­
    шифрирования, не могут быть независимыми друг от друга, а значит, есть теоретическая возможность вычисления закрытого ключа по открытому. Однако это связано с огромным объемом вычислений, которые требуют соответственно огромного времени. Поясним прин­
    ципиальную связь между закрытым и открытым ключами следующей аналогией.
    ПРИМ ЕР-АНАЛО ГИЯ ---------------------------------------------------------------------------------------------------
    П усть руководитель предприятия (н а рис. 24.11 это пользователь 1) решает вести секретную пере­
    писку со своими сотрудникам и. Р ассм отрим вариант, когда требуется обеспечить к он ф и ден ц и ­
    альность потока сообщ ений только в одну сторону — от сотрудников к руководителю . Д ля этого руководитель реш ает использовать какой-либо м алоизвестны й язы к, например санскрит. С этой целью он обзаводится единственной копией санскритско-русского словаря, который оставляет себе, и больш им количеством ш ирокодоступных русско-санскритских словарей, которые раздает всем своим сотрудникам.
    Рис. 24.11. Использование шифрования с открытым ключом для обеспечения

    852
    Глава 24. Сетевая безопасность
    Когда у сотрудников возникает необходимость написать секретное сообщение руководителю, они, пользуясь словарем, пишут сообщения на санскрите. Руководитель переводит сообщения на русский язык, пользуясь доступным
    только ему санскритско-русским словарем. Очевидно, что здесь роль открытого ключа
    Е и закрытого ключа D руководителя играют русско-санскритский и санскритско- русский словари соответственно. М огут ли пользователи 2, 3 и 4 прочитать чуж ие сообщ ения 5г,
    5з,
    5
    *
    4
    , которые посылает каждый из них руководителю ? Вообще-то нет, так как для этого им нужен санскритско-русский словарь, обладателем которого является только пользователь 1. Так обеспечи­
    вается конфиденциальность потока сообщений в направлении руководителя.
    Заметим, что у сотрудников имеется теоретическая возможность для разгады вания сообщ ений друг друга, так как, затратив массу времени, можно прямы м перебором составить санскритско-русский словарь по русско-санскритскому. Такая очень трудоемкая процедура, требую щая больш их затрат времени, отдаленно напоминает восстановление закрытого ключа по открытому.
    Н а рис. 24.12 показана другая схема использования открытого и закрытого ключей, целью которой является подтверждение авторства (аутентиф икация) посылаемого сообщ ения. П усть задача под­
    тверж дения авторства ставится только в отнош ении посланий руководителя своим сотрудникам.
    В этом случае роль закрытого (D ) и открытого (Е ) ключей руководителя играют русско-санскритский и санскритско-русский словари соответственно, причем наши предположения о доступности этих словарей меняются на противоположные. И так, руководитель пиш ет письма своим сотрудникам на санскрите (то есть ш ифрует их закрыты м ключом D). Сотрудник, получивш ий послание, пытается перевести заш и ф рован н ую часть письма, п ользуясь сан скритско-русским словарем (откры ты м ключом Е ). Если ему это удается, то это доказывает, что текст был заш иф рован закрыты м ключом, парным открытому ключу
    Е руководителя. А владельцем этого парного ключа может быть только руководитель, значит, именно он является автором этого сообщения.
    D
    - закрытый ключ (русско-санскритский словарь)
    пользователь
    4
    -
    деш иф ри р ов ан ие
    Е — открытый ключ (санскритско-русский словарь)
    Рис. 24.12.
    Использование шифрования закрытым ключом для подтверждения авторства

    Шифрование
    853
    Заметим, что в этом случае сообщ ения первого пользователя S
    12
    , S
    13
    , S
    14
    , адресованные пользова­
    телям 2, 3 и 4, не являю тся секретными, так как все адресаты обладают одним и тем же открытым ключом, с помощью которого они могут расш ифровывать все сообщ ения, поступающие от пользо­
    вателя
    1
    Для того чтобы в сети все п абонентов имели возможность не только принимать зашиф­
    рованные сообщения, но и сами посылать таковые, каждый абонент должен обладать собственной парой ключей Е и D. Всего в сети будет 2п ключей: п открытых ключей для шифрования и п секретных ключей для дешифрирования. Таким образом решается проблема масштабируемости — квадратичная зависимость количества ключей от числа абонентов в симметричных алгоритмах заменяется линейной зависимостью в несимме­
    тричных алгоритмах. Решается и проблема секретной доставки ключа. Злоумышленнику нет смысла стремиться завладеть открытым ключом, поскольку это не дает возможности расшифровывать текст или вычислить закрытый ключ.
    Хотя информация об открытом ключе не является секретной, ее нужно защищать от под­
    логов, чтобы злоумышленник под именем легального пользователя не навязал свой от­
    крытый ключ, после чего с помощью своего закрытого ключа он сможет расшифровывать все сообщения, посылаемые легальному пользователю, и отправлять свои сообщения от его имени. Проще всего было бы распространять списки, связывающие имена пользователей с их открытыми ключами, широковещательно путем публикаций в средствах массовой информации (бюллетени, специализированные журналы и т. п.). Однако при таком подходе мы снова, как и в случае с паролями, сталкиваемся с плохой масштабируемостью. Решени­
    ем проблемы является технология цифровых сертификатов — электронных документов, которые связывают конкретных пользователей с конкретными открытыми ключами.
    Алгоритм RSA
    В настоящее время одним из наиболее популярных криптоалгоритмов с открытым ключом является криптоалгоритм RSA.
    В 1978 году трое ученых (Ривест, Шамир и Адлеман) разработали систему шифрования с открытыми ключами RSA (Rivest, Shamir, Adleman), полностью отвечающую всем прин­
    ципам Диффи—Хеллмана. Этот метод состоит в следующем.
    1. Случайно выбираются два очень больших простых числа р и q.
    Вычисляются два произведения п = р х q и т = (р - 1) х (q - 1).
    3. Выбирается случайное целое число Е, не имеющее общих сомножителей с т.
    4.
    Находится D такое, что DE = 1 по модулю т.
    5. Исходный текст ^разбивается на блоки таким образом, чтобы 0 < Х < п.
    6. Для шифрования сообщения необходимо вычислить С = X
    е
    по модулю п.
    7. Для дешифрирования вычисляется X = CD по модулю п.
    Таким образом, чтобы зашифровать сообщение, необходимо знать пару чисел (£, и), а что­
    бы расшифровать — пару чисел (Д п). Первая пара — это открытый ключ, а вторая — за­
    крытый.
    Зная открытый ключ (£, п), можно вычислить значение закрытого ключа D. Необходимым промежуточным действием в этом преобразовании является нахождение чисел р и q, для чего нужно разложить на простые множители очень большое число и, а на это требуется

    854
    Глава 24. Сетевая безопасность очень много времени. Именно с огромной вычислительной сложностью разложения боль­
    шого числа на простые множители связана высокая криптостойкость алгоритма RSA. В не­
    которых публикациях приводятся следующие оценки: для того чтобы найти разложение
    200-значного числа, понадобится 4 миллиарда лет работы компьютера с быстродействием миллион операций в секунду. Однако следует учесть, что в настоящее время активно ведут­
    ся работы по совершенствованию методов разложения больших чисел, поэтому в алгоритме
    RSA стараются применять числа длиной более 200 десятичных разрядов.
    Программная реализация криптоалгоритмов типа RSA значительно сложнее и менее про­
    изводительна, чем реализации классических криптоалгоритмов тина DES. Вследствие сложности реализации операций модульной арифметики криптоалгоритм RSA обычно используют только для шифрования небольших объемов информации, например для рас­
    сылки классических секретных ключей или в алгоритмах цифровой подписи, а основную часть пересылаемой информации шифруют с помощью симметричных алгоритмов.
    В табл. 24.1 приведены некоторые сравнительные характеристики классического крипто­
    алгоритма DES и криптоалгоритма RSA
    Таблица 24.1. Сравнительные характеристики алгоритмов шифрования
    Характеристика
    DES
    RSA
    Скорость шифрования
    Высокая
    Низкая
    Используемая функция шифрования
    Перестановка и подстановка
    Возведение в степень
    Длина ключа
    56 бит
    Более 500 бит
    Наименее затратный криптоанализ (его слож­
    ность определяет стойкость алгоритма)
    Перебор по всему ключевому пространству
    Разложение числа на простые множители
    Время генерации ключа
    Миллисекунды
    Минуты
    Тип ключа
    Симметричный
    Асимметричный
    Односторонние функции шифрования
    Во многих базовых технологиях безопасности используется еще один прием шифрова­
    ния — шифрование с помощью односторонней функции (one-way function), называемой также необратимой функцией, хэш-функцией (hash function) или дайджест-функцией
    (digest function).
    Эта функция, примененная к шифруемым данным, дает в результате значение, называемое
    дайджестом, которое состоит из фиксированного сравнительно небольшого и не зависящего
    от длины шифруемого текста числа байтов.
    Подчеркнем, знание дайджеста не позволяет и даже не предполагает восстановления ис­
    ходных данных. Для чег&зке нужны односторонние функции шифрования (ОФШ )?
    Для ответа на этот вопрос рассмотрим несколько примеров. Пусть требуется обеспечить целостность сообщения, передаваемого по сети. Отправитель и получатель договорились, какую ОФШ и с каким значением параметра — секретного ключа — они будут использо­
    вать для решения этой задачи. Прежде чем отправить сообщение, отправитель вычисляет для него дайджест и отправляет его вместе с сообщением адресату (рис. 24.13, а). Адресат,

    Шифрование
    855
    получив данные, применяет ОФШ к переданному в открытом виде исходному сообще­
    нию. Если значения вычисленного локально и полученного по сети дайджестов совпадают, значит, содержимое сообщения не было изменено во время передачи.
    Отправитель
    Получатель
    Передача по сети
    Отправитель Г
    Сообщение Ключ
    £
    v
    Сообщение Дайджест
    1
    -- —-- V
    ,
    )
    Г
    . —
    ^Дайджест^—
    Y
    ї ї
    Сообщение
    г
    Ключ
    Сообщение Дайджест
    Передача по сети
    Рис. 24.13.
    Использование односторонних функций шифрования для контроля целостности
    Таким
    образом, хотя
    знание
    дайджеста не дает возможности восстановить исходное сообщение,
    . оно позвоЛяет
    проверить целостность данных.
    На первый взгляд кажется, что дайджест является своего рода контрольной суммой для исходного сообщения. Однако имеется и существенное отличие. Контрольные суммы при­
    меняются тогда, когда нужно обнаружить ошибки, вызванные техническими неполадками, например помехами в линии связи. Это средство не распознает модификацию данных злоумышленником, который, подменив сообщение, может просто добавить к нему заново вычисленную контрольную сумму.
    В отличие от контрольной суммы дайджест вычисляется с использованием параметра — секретного ключа. Поскольку значение секретного ключа для ОФШ известно только отправителю и получателю^Любая модификация исходного сообщения будет немедленно обнаружена.
    На рис. 24.13, б показан другой вариант использования односторонней функции шиф­
    рования для обеспечения целостности данных. Здесь односторонняя функция не имеет параметра-ключа, но зато применяется не просто к сообщению, а к сообщению, дополнен­
    ному секретным ключом. Получатель извлекает из полученных по сети данных исходное

    1   ...   85   86   87   88   89   90   91   92   ...   99


    написать администратору сайта