Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1к 2 семестр / Lektsii_po_informatikei / ЛЕКЦИЯ_18_Защита информации в информационных системах.doc
Скачиваний:
104
Добавлен:
02.04.2015
Размер:
173.06 Кб
Скачать
  1. Симметрическое и ассиметричное шифрование

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

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

Среди разнообразнейших способов шифрования можно выделить следующие основные методы:

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

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

Алгоритм гаммирования – символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов “имя пользователя.pwl”, в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUp-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.

Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.

RSA – это система с открытым ключом (public-key) предназначенная как для шифрования, так и для аутентификации. Она основана на трудностях разложения очень больших чисел на простые сомножители.

Существует симметричное (традиционное и ассиметричное) шифрование данных.

Симметричное – это шифрование с секретным ключом, которое было единственным до изобретения шифрования с открытым ключом.

Схема традиционного шифрования складывается из следующих пяти составляющих.

1. Открытый текст. Это исходное сообщение или данные, подаваемые на вход алгоритма шифрования.

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

3. Секретный ключ. Секретный ключ также подается на вход алгоритму. От этого ключа зависят конкретные подстановки и преобразования в открытом тексте.

4. Шифрованный текст. Это перемешанное сообщение, получаемое на выходе алгоритма. Оно зависит от открытого текста и секретного ключа. Для одного и того же сообщения два разных ключа порождают разные шифрованные тексты.

5. Алгоритм дешифрования. По сути, это алгоритм шифрования, выполняемый в обратную сторону. Он берет шифрованный текст и тот же секретный ключ, который применялся при шифровании, и восстанавливает исходный открытый текст.

Для надежности традиционного шифрования необходимо:

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

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

Важно отметить. Что надежность традиционного шифрования зависит от секретности ключа, а не секретности алгоритма.

То есть, не требуется обеспечивать секретность алгоритма – необходимо обеспечить секретность ключа.

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

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

Схема шифрования с открытым ключом складывается из следующих компонентов:

Открытый тест. Это текст сообщения или данные, подаваемые на вход алгоритма.

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

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

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

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

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

Итог:

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

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