Авторские статьи Криптография как метод защиты информации

Discussion in 'Статьи' started by OptimaPrime, 19 May 2008.

  1. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    Дело было вечером.Делать было нечего,решил написать статью,и тут мне в голосву пришла мысль о м раскрытии темы о защите информации вцелом,не буду Вас томить нудными историческими справками и статистикой,сразу перейду к делу.
    В своей статье я рассмотрю несколько подпунктов:
    1.Основные понятия криптографии
    2.Алгоритмы шифрования
    3.Шифраторы(программы)
    4.Аппаратные шифраторы


    1.Криптография и шифрование
    Что такое криптография вообще??а криптогра́фия,как говорит вики, это — наука о математических методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
    Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифртекст).
    Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.
    Соответственно,дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.
    Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
    Алфавит - конечное множество используемых для кодирования информации знаков.
    Текст - упорядоченный набор из элементов алфавита.
    В качестве примеров алфавитов, ис можно привести :
    алфавит Z33 - 32 буквы русского алфавита и пробел;
    алфавит Z256
    - символы, входящие в стандартные коды ASCII и КОИ-8;
    бинарный алфавит - Z2 = {0,1};
    восьмеричный алфавит или шестнадцатеричный алфавит;
    Криптографическая система представляет собой семейство T преобразований открытого текста. xлены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K - это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.
    Криптосистемы разделяются на симметричные и с открытым ключом ( или асимметричесские) .

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

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

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

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

    Симметричные и асимметричные криптосистемы​

    Сгенерировать секретный ключ и зашифровать им сообщение — это еще полдела. А вот как переслать такой ключ тому, кто должен с его помощью расшифровать исходное сообщение? Передача шифрующего ключа считается одной из основных проблем криптографии.
    Оставаясь в рамках симметричной системы, необходимо иметь надежный канал связи для передачи секретного ключа. Но такой канал не всегда бывает доступен, и потому американские математики Диффи, Хеллман и Меркле разработали в 1976 г. концепцию открытого ключа и асимметричного шифрования.
    В таких криптосистемах общедоступным является только ключ для процесса шифрования, а процедура дешифрования известна лишь обладателю секретного ключа. Например, когда я хочу, чтобы мне выслали сообщение, то генерирую открытый и секретный ключи. Открытый посылаю вам, вы шифруете им сообщение и отправляете мне. Дешифровать сообщение могу только я, так как секретный ключ я никому не передавал. Конечно, оба ключа связаны особым образом (в каждой криптосистеме по-разному), и распространение открытого ключа не разрушает криптостойкость системы.
    В асимметричных системах должно удовлетворяться следующее требование: нет такого алгоритма (или он пока неизвестен), который бы из криптотекста и открытого ключа выводил исходный текст.

    Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение возможно только при знании ключа.(информация, необходимая для беспрепятственного шифрования и дешифрования текстов.)

    Для современных криптографических систем защиты информации также есть требования:

    1.зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
    2.число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста,
    должно быть не меньше общего числа возможных ключей;
    3.число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров.
    4.знание алгоритма шифрования не должно влиять на надежность защиты;
    5.незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
    6.структурные элементы алгоритма шифрования должны быть неизменными;
    7.дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
    8.длина шифрованного текста должна быть равной длине исходного текста;
    9.не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
    10.любой ключ из множества возможных должен обеспечивать надежную защиту информации;

    Среди всех способов шифровании я выделил такие методы:

    • Алгоритмы перестановки — символы оригинального текста меняются местами по определенному принципу, являющемуся секретным ключом. Алгоритм перестановки сам по себе обладает низкой криптостойкостью, но входит в качестве элемента в очень многие современные криптосистемы.
    • Комбинированные методы. Одним из важнейших требований, предъявляемых к системе шифрования, является ее высокая стойкость. Однако повышение стойкости любого метода шифрования приводит, как правило, к существенному усложнению самого процесса шифрования и увеличению затрат ресурсов (времени, аппаратных средств, уменьшению пропускной способности и т.п.).
    Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов.
    Вообще говоря, комбинировать можно любые методы шифрования и в любом количестве, однако на практике наибольшее распространение получили следующие комбинации:
    1)подстановка + гаммирование;
    2)перестановка + гаммирование;
    3)гаммирование + гаммирование;
    4)паодстановка + перестановка;

    Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).
    Криптографический стандарт DES

    Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на I-ом цикле используется цикловой ключ Ki , представляющий собой алгоритмически вырабатываемую выборку 48 битов из 56 битов ключа Ki, I=1,2,…,16.
    Из-за небольшого размера ключа было принято решение использовать DES-алгоритм для закрытия коммерческой(несекретной) информации. Практическая реализация перебора всех ключей в данных условиях экономически не целесообразна, так как затраты на реализацию перебора не соответствуют ценности информации, закрываемой шифром.
    Основные области применения DES-алгоритма:
    1)хранение данных на компьютерах (шифрование файлов, паролей);
    2)аутентификация сообщений (имея сообщение и контрольную группу, несложно убедиться в подлинности сообщения;
    3)электронная система платежей (при операциях с широкой клиентурой и между банками);
    4)Электронный обмен коммерческой информацией( обмен данными между покупателями, продавцом и банкиром защищен от изменений и перехвата.

    исходного текста с помощью двух и более методов.
    • Алгоритмы гаммирования — символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUр-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.
    2.Алгоритмы шифрования

    • Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.
    Алгоритм RSA
    Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.Криптосистема RSA широко применяется в Интернете. Когда вы подсоединяетесь к защищенному серверу по протоколу SSL, устанавливаете на свой ПК сертификат WebMoney либо подключаетесь к удаленному серверу с помощью Oрen SSH или SecureShell, то все эти программы применяют шифрование открытым ключом с использованием идей алгоритма RSAКриптостойкость RSA основывается на том предположении, что исключительно трудно, если вообще реально, определить закрытый ключ из открытого. Для этого требовалось решить задачу о существовании делителей огромного целого числа. До сих пор ее аналитическими методами никто не решил, и алгоритм RSA можно взломать лишь путем полного перебора. Строго говоря, утверждение, что задача разложения на множители сложна и что взлом системы RSA труден, также не доказано.


    • Алгоритмы замены или подстановки — символы исходного текста заменяются на символы другого (или того же) алфавита в соответствии с заранее определенной схемой, которая и будет ключом данного шифра. Отдельно этот метод в современных криптосистемах практически не используется из-за чрезвычайно низкой криптостойкости.

    Алгоритмы замены
    В этом наиболее простом методе символы шифруемого текста заменяются другими символами, взятыми из одного или нескольких алфавита.Самой простой разновидностью является прямая (простая) замена, когда буквы шифруемого сообщения заменяются другими буквами того же самого или некоторого другого алфавита.

    Алгоритм перестановки
    Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.Самая простая перестановка написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв.

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

    3.Шифраторы

    обзор шифраторов я уже делал,поэтому не хотел бы повторятся,лично я для себя отметил 2 шифратора-PGP and BestCrypt
    РGР

    РGР (Рretty Good Рrivacy) — пожалуй , самый известный и самый надежный шифровальщик. Автор программы , Рhiliр Zimmermann, практически всю свою жизнь посвятил шифрованию данных. Эта программа представляет целый ряд весьма мощных утилит. В папке Автозагрузка появляется РGРtray, который загружает РGР и отвечает за управление остальными элементами программы. Первым делом после установки программы необходимо зайти в РGРkeys и создать пару ключей — публичный и приватный. Ключи можно создавать по алгоритмам DSS и RSA , причем первый предпочтительнее. Длина ключа может находиться в пределах 1024-4096 бит. При создании ключей вам предстоит ввести строку символов, которой вы будете пользоваться в дальнейшем при расшифровке данных. Специалисты рекомендуют вводить строку из 100-200 символов, но учтите, что программа не работает с буфером обмена, так что эту последовательность вам предстоит вводить вручную каждый раз, когда вы будете расшифровывать какой-либо файл. Если вы забудете эту строку или испортите свой приватный ключ, то все, что было зашифровано предыдущим ключом, будет безвозвратно утеряно. Работает это все следующим образом: вы обмениваетесь публичными ключами со своими друзьями, поле чего можно переписываться по e-mail. Имея ваш публичный ключ, получатель сможет открыть письмо, но уже своим приватным кодом. При создании закодированного файла необходимо указать тех, кто сможет открыть этот файл. В появившееся окошко необходимо внести свой ключ, а так же ключи тех, кто также должен иметь доступ к шифруемой информации. Из программы РGРtools можно зашифровывать (шифрование осуществляется при помощи алгоритмов CAST, IDEA, и Triрe DES), подписывать, расшифровывать файлы, вызывать РGРkeys и Wiрe. Утилита Wiрe выполняет удаление файлов без возможности восстановлеB
    ВestCryрТ
    Данная программа финской фирмы Jetico обеспечивает безопасность данных при помощи создания виртуальных контейнеров. Под контейнерами понимается зашифрованный файл, хранящийся на логическом диске, который подключается к системе как еще один логический диск. При работе с программой первым делом придется создать контейнер. Для этого требуется указать имя файла, в котором будет содержаться информация, его размер, описание и логический диск, на котором он будет располагаться, а также алгоритм шифрования. Программа предоставляет на выбор четыре алгоритма: BLOWFISH, DES, ГОСТ 28147-89, TWOFISH. Все ключи, кроме DES, имеют длину 256 бит, длина ключа DES — 64 бита. Сегодня этого уже откровенно недостаточно для обеспечения по-настоящему высокого уровня конфиденциальности. Эти ключи могут остановить хакера, но если кому-то действительно понадобиться получить доступ к вашей информации , то он его получит. Для открытия диска можно установить режим «только для чтения», что запретит любой программе записывать на него информацию. Как обычно, можно попросить программу подключить диск каждый раз при загрузке и отключать по истечении какого-то времени или по комбинации горячих клавиш. При этом виртуальный диск может обслуживаться программами Norton Utilites и Nuts & Bolts как обычный логический диск. Вместе с программой BestCryрt устанавливается freeware утилита BCWiрe. Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.
    В программе есть еще одна замечательная утилита под названием BestCrytр Service Manager. Она предназначена для того, чтобы вы могли добавлять нужные и удалять ненужные алгоритмы шифрования и модули генерации ключей. Но это нужно лишь для тех, кто не доверяет алгоритму шифрования DES. Так что, если у вас есть другой алгоритм, то можно смело удалять старые алгоритмы шифрования и удалять новые.

    Недостатки и достатки шифраторов

    1.К сожелению этих шифраторов куева тучча,как бы грубо это не звучало,разроботчики часто ппишут "криво",возможно специально,чтобы иметь самими доступ к ключам без самого доступа,но с другой стороны разработчики товарищам-хекером) гораздо облегчили работу))
    2.Еще одним недостатков является быстродействие,к сожелению тут стоит полагатся только на процессор компьютера,в отлчии от апаратных шифраторов,которые могут работьаь с любой системой.
    Но есть и плюсы:
    1.Бесплатность или малая стоимость продукта.
    2.Гибкость,т.е.возможность быстрой заменыы алгоритма шифрования
     
    #1 OptimaPrime, 19 May 2008
    Last edited: 19 May 2008
    6 people like this.
  2. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    4. Аппаратные шифраторы

    Аппаратный шифратор по виду и по сути представляет собой обычное компьютерное железо, чаще всего это плата расширения, вставляемая в разъем ISA или РCI системной платы ПК.
    Апаратные шифраторы очень дорогие,поэтому подробно я на них останавливатся не буду..)
    За большие деньги-большие возможности:
    1.Контроль входа на компьютер. При включении ПК устройство требует от пользователя ввести персональную информацию (например, вставить дискету с ключами). Работа будет разрешена только после того, как устройство опознает предъявленные ключи и сочтет их своими
    2.Генерация случайных чисел. Это нужно прежде всего для получения криптографических ключей. Кроме того, многие алгоритмы защиты используют их и для других целей, например алгоритм электронной подписи
    3.Контроль целостности файлов операционной системы. Это не позволит злоумышленнику в ваше отсутствие изменить какие-либо данные.
    Рассмотрим,из чего сотоит эта махина:
    Структура шифраторов


    1.Блок управления – основной модуль шифратора, который «заведует» работой всех остальных. Обычно реализуется на базе микроконтроллера, сейчас их предлагается немало и можно выбрать подходящий. Главное – быстродействие и достаточное количество внутренних ресурсов, а также внешних портов для подключения всех необходимых модулей.

    2.Контроллер системной шины ПК( например, РCI). Через него осуществляется основной обмен данными между УКЗД и компьютером.

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

    4.Память журнала. Тоже представляет собой энергонезависимое ЗУ; это действительно еще одна флэш-микросхема: во избежание возможных коллизий память для программ и для журнала не должны объединяться.

    5.Шифропроцессор – это специализированная микросхема или микросхема программируемой логики РLD – Рrogrammable Logic Device. Собственно, он и шифрует данные. Подробнее об этом немного позже.

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

    7.Блок ввода ключевой информации. Обеспечивает защищенный прием ключей с ключевого носителя, через него также вводится информация о пользователе для решения вопроса «свой/чужой».

    8.Блок коммутаторов. Помимо перечисленных выше основных функций, УКЗД может по велению администратора безопасности отключать возможность работы со внешними устройствами: дисководами, CD-ROM, параллельными и последовательными портами, шиной USB и т.д. Если пользователь работает с настолько важной информацией, что ее нельзя ни печатать, ни копировать, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.
    В свою очередь шифратор состоит из:

    1.Вычислитель – набор регистров , сумматоров, блоков подстановки и т.п., связанных между собой шинами передачи данных. Собственно, он и выполняет криптографические действия, причем должен делать это максимально быстро. На вход вычислитель получает открытые данные, которые следует зашифровать, и ключ шифрования, который, как известно, является случайным числом. А шифрование – это сложное математическое преобразование, поэтому его результат тоже очень похож на выбор случайных величин (попробуйте сжать зашифрованный файл каким-нибудь архиватором – при использовании серьезного алгоритма защиты это будет невозможно).

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

    3.Буфер ввода-вывода необходим для повышения производительности устройства

    Итоги

    Во-первых пользоваться надо только проверенными программами, которые успешно применяются несколько лет и зарекомендовали себя как надежные средства, хорошо противостоящие взлому, и которые, естественно, написаны без ошибок.
    Во-вторых , как показала практика, не следует приобретать версии программ, оканчивающиеся на 0(2.0,3.0,4.0 и т.д.), т.к. именно в них чаще всего встречаются т.н. дыры.
    В-третьих нужно охранять собственные ключи, чтобы они не стали общедоступными , ато толку от такой защиты?
    Вобщем я рассмотрел наиболее распостраненные методы защиты информации путем криптографии.Материал частично был выгуглен,первая статья,жду коментариев)

    =\\\Дополняю...
     
    #2 OptimaPrime, 19 May 2008
    Last edited: 19 May 2008
    1 person likes this.
  3. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Что-то не то... где хотя бы упомнуты такие ОСНОВНЫЕ ПОНЯТИЯ КРИПТОГРАФИИ, как
    1)ключ(!!)
    2)симметричные алгоритмы
    3)алгоритмы с закрытым ключём
    4)поточные шифры
    и т.д....

    Нет, друг мой. На такую статью не 2 часа должно уходить, а 2 месяца минимум, а лучше так - 2 года.

    Ps Все идём читать Брюса Шнайера "Прикладная криптография"
     
  4. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Еще отличная к прочтнеию книга "Современная криптография" В.Мао.
    Вообще да, далеко неполно.
    Могу взяться за рассмотрение алгоритмов (симметричных и части ассимитричных), в свое время оч интересовался данной тематикой, соответственно есть наработки, неплохой материал :)
     
  5. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    baltazar, не за то ты взялся - эта не та тема, которую можно осветить за 2 дня. Ты видел книгу Шнайера? А знаешь, хотя бы, сколько у него наименований в списке использованной литературы?!!
     
  6. alex-x-x

    alex-x-x New Member

    Joined:
    30 May 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Интересно, как можно давать криптографию без начального введения в такие области как общая алгебра, булева алгебра и в основном теория чисел? Без этого все описание сводится к тому от куда пошло такое название, кто придумал и где используется, только смыла от этого не так много.