Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Software > Software Security
Register

Reply
 
LinkBack Thread Tools
Old 08.01.2004, 19:52   #1
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Default Расширение кругозора - 2

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

Дешифрование - процесс преобразования закрытых данных в открытые при неизвестных ключе и алгоритме.

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

Криптостойкость - характеристика шифра, определяющая его стойкость к дешифрованию.

Расшифровывание - преобразование по криптографическому алгоритму зашифрованного текста в открытый с использованием известного криптографического ключа.

Шифрование - процесс зашифровывания или расшифровывания.

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

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

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

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

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

Любая криптографическая система шифрования надежна лишь настолько, насколько полно она отвечает следующим требованиям:

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

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

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

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

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

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

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

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

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

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

На сегодня реализовано довольно много различных алгоритмов криптографической защиты информации. Среди них можно назвать алгоритмы DES, Rainbow (США); FEAL-4 и FEAL-8 (Япония); B-Crypt (Великобритания); алгоритм шифрования по ГОСТ 28147-89 (Россия) и ряд других, реализованных зарубежными и отечественными поставщиками программных и аппаратных средств защиты. Рассмотрим основные из них, наиболее широко применяемые в зарубежной и отечественной практике.

Шифрование по стандарту DES
Алгоритм, изложенный в стандарте DES (Data Encryption Standard), наиболее распространен и широко применяется для шифрования данных в США. Этот алгоритм был разработан фирмой IBM для собственных целей. Однако после проверки Агентством Национальной Безопасности (АНБ) США он был рекомендован к применению в качестве федерального стандарта шифрования. Этот стандарт используется многими негосударственными финансовыми институтами, в том числе банками и службами обращения денег. Лишь некоторые данные, методы защиты которых определяются специальными актами, не защищаются стандартом DES.

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

При шифровании применяется 64-разрядный ключ. Для шифрования используются только 56 разрядов ключа, а остальные восемь разрядов являются контрольными.

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

Российский стандарт шифрования данных ГОСТ 28147-89
Алгоритм шифрования, определяемый российским стандартом ГОСТ 28147-89, является единым алгоритмом криптографической защиты данных для крупных информационных систем, локальных вычислительных сетей и автономных компьютеров.

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

В алгоритме ГОСТ 28147-89, в отличие от алгоритма DES, используется 256-разрядный ключ, представляемый в виде восьми 32-разрядных чисел. Расшифровываются данные с помощью того же ключа, посредством которого они были зашифрованы.

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

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

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

Известно несколько криптосистем с открытым ключом, например схема Т. Эль-Гамаля (T. El Gamal), в которой используется идея криптосистемы, предложенная У. Диффи (W. Diffie) и М. Э. Хеллманом (M. E. Hellman), криптосистема RSA и др. Наиболее разработана на сегодня система RSA, предложенная еще в 1978 г. Алгоритм RSA назван по первым буквам фамилий его авторов: Р. Л. Райвеста (R. L. Rivest), А. Шамира (A. Shamir) и Л. Адлемана (L. Adleman). RSA - это система коллективного пользования, в которой каждый из пользователей имеет свои ключи зашифровывания и расшифровывания данных, причем секретен только ключ расшифровывания.

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

Асимметричные криптосистемы наиболее перспективны, так как в них не используется передача ключей другим пользователям и они легко реализуются как аппаратным, так и программным способами. Однако системы типа RSA работают приблизительно в тысячу раз медленнее, чем классические, и требуют длины ключа порядка 300 - 600 бит. Поэтому все их достоинства сводятся на нет чрезвычайно низкой скоростью их работы. Кроме того, для ряда функций уже найдены алгоритмы инвертирования, т.е. доказано, что они не являются необратимыми. Для функций, используемых в системе RSA, такие алгоритмы не найдены, но нет и строгого доказательства необратимости используемых функций.

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

К ЭЦП предъявляются два основных требования:

высокая сложность фальсификации;

легкость проверки.

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

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

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

Подробное описание принципов организации системы цифровой подписи выходит за рамки данной статьи. Отметим лишь, что Центральным Банком РФ был разработан свой вариант стандарта на алгоритм ЭЦП и что в настоящее время в России действуют два стандарта, относящихся к ЭЦП: ГОСТ Р 34.10-94 и ГОСТ Р 34.11-94.

Заключение
Из всего изложенного следует, что надежная криптографическая система должна удовлетворять таким требованиям:

процедуры зашифровывания и расшифровывания должны быть "прозрачны" для пользователя;

дешифрование закрытой информации должно быть максимально затруднено;

содержание передаваемой информации не должно сказываться на эффективности криптографического алгоритма;

надежность криптозащиты не должна зависеть от содержания в секрете самого алгоритма шифрования (примерами этого являются как алгоритм DES, так и алгоритм ГОСТ 28147-89).

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

source: http://www.kiev-security.org.ua/box/1/78.shtml
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
Reply With Quote
Old 09.01.2004, 06:40   #2
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

1. И Des и ГОСТ не стойки перед дифференциальным/линейным криптоанализом - для дальнейшей информации ссылки на хотя бы Б.Шнайера.
2. Для алгоритма Rsa достаточная длинна ключа уже сейчас ~1024 бита. Для личной переписки 512.
3. В части про ЭЦП ничего не сказано про Pgp, который широко используется.
4. Отсутствует часть посвященная односторонним функциям шифрования без лазеек - Md4/5, Ssh, Ssh2
Reply With Quote
Old 09.01.2004, 08:27   #3
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Default

в статье нет рассмотрения конкретных алгоритмов, криптолог ты мой.
Есть описание деления алгоритмов, их принципы - а не длина ключа Rsa.

Однако образованность твою в этом вопросе я заметил, да.
Reply With Quote
Old 09.01.2004, 09:30   #4
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Quote:
и требуют длины ключа порядка 300 - 600 бит
- устарело новые цифры я привел. Кстати из того же Шнайера Там таблица красивая есть - какова должна быть длинна ключа, чтобы ~N лет данные ну были бы вскрыты.
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 23:33.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.