Шифрование  (encryption)  -  это  мощная  алгоритмическая техника
кодирования,   используемая   для   создания  компьютерных  книг,
подобных   данной  (Ха-ха!).  Шифрование  защищает  файлы  вашего
компьютера  и  передаваемую  по  сети  информацию  от глаз других
пользователей, шпионов и всех остальных, не имеющих права доступа
к    такой   информации.   Выполняется   шифрование   с   помощью
преобразования  данных  к  такой  форме, в которой они могут быть
прочитаны только с помощью специального ключа дешифрования. Любая
мало-мальски приличная система защиты данных должна иметь в своем
составе   подсистему   шифрования  [1]  (даже  некоторые  сетевые
операционные  системы  приятно  удивляют  нас тем, что используют
шифрование     данных).     Компания    Computer    Intelligence,
специализирующаяся  на маркетинговых исследованиях, изучив работу
6000  раз  личных предприятий США с ноября 1987 г. по ноябрь 1988
г.,  установила,  что  29%  всех  компаний и банков, работающих в
основных  отраслях  экономики,  используют системы защиты данных.
Самыми  многочисленными  пользователями  систем  защиты  являются
правительство  (16%),  а  также  медицинские и учебные учреждения
(11%). Шифрование снижает опасность несанкционированного доступа,
обеспечивая   следующие   свойства  системы  управления  данными.
Конфиденциальность  (Confidentiality).  Это  означает, что каждый
пользователь  может  быть уверен в сохранении секретности данных.
Хотя  право  шифрования  данных  может  иметь целая группа пользо
вателей, в то же время только лицо, имеющее ключ дешифрования, мо
жет  просмотреть  закодированный  файл. Таким образом, шифрование
обеспечивает  сохранение  секретности  при передаче информации по
обычным  каналам. Аутентификация (Authentication). Аутентификация
-   механизм   проверки   права   доступа   для  ввода  данных  и
предотвращение  утечки  при их передаче. Целостность (Integrity).
Метод  проверки  "монолитности"  потока  данных. В соответствии с
основами  компьютерной  гигиены  шифрование  защищает  данные  от
вирусной  инфекции.  Управление  доступом  (Access  control). Это
означает  ограничения доступа пользователей к системным ресурсам.
Пользователи,  не видящие опасности потери данных, могут сказать,
что в идее шифрования нет рационального зерна. Их мало радует то,
что шифрование замедляет работу, заставляет их запоминать длинные
клю  чи и вообще навязывает дополнительные правила поведения. Для
того  чтобы  успешно  продать  систему  с  шифрованием данных, вы
должны  пре  дупредить  пользователя  об  опасностях незащищенной
системы  (см.  врезку)  и  в то же время предложить ему простую в
применении  и  не  замедляющую  работу  систему.  Что нужно знать
пользователям   о   шифровании  данных  Проблема.  В  наше  время
злоумышленник   может   беспрепятственно  подключиться  к  любому
сетевому    кабелю.   Более   того,   будучи   зарегистрированным
пользователем на легально подключенной к сети рабочей станции, он
может,  запустив  на  выполнение  программу - сетевой анализатор,
перехватить  любые  данные,  передаваемые по сети. Таким образом,
очень  легко  получить копии паролей или другие кон фиденциальные
данные.  Решение.  Если  вся  информация,  передаваемая  по сети,
автоматически  шифруется  еще  до  начала передачи, злоумышленник
потерпит  фиаско.  "Жучки"  и  сетевые  анализаторы  выдадут  ему
зашифрованные  данные,  но без ключей дешифрования эту информацию
нельзя  интер  претировать.  При  этом  шифрование и дешифрование
данных может вы полняться либо аппаратными средствами, такими как
электронные  ключи  защиты  данных  или модемы, либо специальными
программами,     которые     одновременно     работают    и    на
компьютере-источнике,  и  на  компьютере  - приемнике информации.
Проблема.  Многие  пользователи  работают  на  ПК, подключенных к
сети.   В  этом  случае  для  злоумышленников  жесткие  диски  их
компьютеров   являются   кладезями   информации.   Учитывая,  что
IBM-совместимые   персональные  компьютеры  не  имеют  встроенной
системы  защиты,  то данные, записанные на их дисках, практически
общедоступны.   Решение.   Шифруйте   все   особо  важные  файлы,
записанные на жестком диске или на дискетах. Шифрование не лишено
проблем.  Если все процессы шифрования и дешифрования выполняются
с  одним и тем же ключом, то право доступа к этому ключу означает
получение  доступа  и ко всем данным. Если используется несколько
ключей,  то  пользователям трудно их запомнить, особенно если они
очень  длинные.  К  тому же, забыв ключ, вы рискуете потерять всю
информацию.  Если  в  организации есть люди, которые могут помочь
пользователю,  позабывшему  ключ,  значит в этой организации есть
люди,  которые  могут  помочь  самим  себе  в получении доступа к
секретной  и зашифрованной информации. Как выполняется шифрование
При  шифровании исходное сообщение или файл (plaintext - исходный
текст)  и  ключ  модифицируются  (шифруются)  с помощью алгоритма
кодирования  (encoding  algorithm), в результате чего мы получаем
зашифрованный  текст  (ciphertext).  Для восстановления исходного
текста  необходимо  выполнить обратную операцию, используя ключ и
алгоритм декодирования (decoding algorithm). Рассмотрим пример. Я
хочу  отправить  сообщение  Джиму, которое никто, кроме Джима, не
смог  бы  прочесть. Я шифрую сообщение (исходный текст) с помощью
ключа,  в  результате  чего  получаю  зашифрованный  текст.  Джим
декодирует  зашифрованный  текст,  используя ключ дешифрования, и
читает  сообщение.  Злоумышленник может попытаться либо раздобыть
секретный  ключ,  либо  восстановить  исходный  текст  без ключа,
прибегнув   к  другим  методам.  Однако  система  защиты  данных,
обладающая  высокими  криптографическими  свойствами, не позволит
воcстановить   исходный   текст   из   зашифрованного  без  ключа
дешифрования. Шифрование может применяться и одним пользователем,
например  шифрование  файлов  на жестком диске для предотвращения
попыток  незваных  гостей  ознакомиться  с  их содержимым. В этом
случае   говорят   о  массовом  шифровании  (bulk  encryption)  -
шифровании большого объема данных. При двойном шифровании (double
encryption)  применяется  два  различных метода зашифровывания. В
этом   случае  передача  информации  осуществляется  в  следующей
последовательности.    1.    Получение    исходного   текста   2.
Предварительное  шифрование  3.  Вторичное шифрование 4. Передача
или  запись данных 5. Предварительная дешифрация 6. Окончательная
дешифрация  7. Получение исходного текста Применение шифрования В
работе  сети  шифрование  может выполняться в любой комбинации на
одном   из   следующих  уровней  модели  ISO  OSI  (International
Standards  Organization Open System Interconnection) (рис. 14.1).
Управления  линией  передачи  данных Транспортном Приложений Рис.
14.1.  Шифрование чаще всего выполняется на одном из трех уровней
работы  сети  Шифрование  на  уровне  управления  линией передачи
данных  Отправитель  шифрует информацию только один раз на уровне
управления  линией  передачи данных (уровень 2), а затем передает
по линии связи. При переходе с одной линии связи на другую данные
расшифровываются, а затем снова зашифровываются. Поскольку каждый
этап  шифрования  и дешифрования может потребовать много времени,
скорость передачи информации и производительность сети снижаются.
Кроме  того,  в  каждом  узле  текст  некоторое время находится в
незашифрованном   виде.   Шифрование   на   транспортном   уровне
Информация   шифруется  на  транспортном  уровне  (уровень  4)  и
передается  по сети в зашифрованном виде, что исключает опасность
ее  утечки,  а  также  снижение  производительности.  Этот подход
эффективнее,  когда  протокол  поддержки уровня 4 выполнен в виде
аппаратного  обеспечения, а не реализуется программой, работающей
на   главном  узле,  с  которого  можно  получить  ключ  и  метод
шифрования.  Шифрование на уровне приложений Шифрование на уровне
приложений  (уровень  7)  мало  зависит  от нижележащих уровней и
совсем  не зависит от их протоколов. При таком подходе необходимо
обеспечить  одновременную  работу  соответствующего  программного
обеспечения.  Несколько  общих  вопросов  о  шифровании Что такое
аутентификация  Аутентификация  (authentication)  применительно к
обработке  данных  в  цифровой  форме  - это процесс, при котором
может  выполняться  проверка,  предназначено  ли  данное цифровое
сообщение   или   содержимое  такого  сообщения  его  получателю.
Протоколы   аутентификации  основываются  либо  на  использовании
криптосистем  с  обычным  секретным  ключом, реализующих стандарт
шифрования  данных  DES  (Data  Encryption Standard), - например,
система  Kerberos,  -  либо  на  использовании  систем с открытым
ключом,   в   которых   применяется   цифровая  подпись  (digital
signature),   называемая  также  цифровыми  отпечатками  пальцев,
подобных  системе  RSA  (Rivest-Shamir-Adleman).  В  основном под
аутентификацией  подразумевается  использование цифровой подписи,
имеющей  вид  кода,  которая сообщает получателю, что отправитель
является  именно тем, за кого себя выдает. Такое название выбрано
потому,  что  при  передаче  документов в цифровой форме этот код
выполняет  ту  же  функцию,  что  и  собственноручная  подпись на
печатном  документе. Цифровая подпись, подобно обычной, сообщает,
что  указанное  лицо (организация) написало или, по крайней мере,
согласно с содержимым документа, под которым стоит такая подпись.
Получатель,  как и третья сторона, может проверить, действительно
ли  документ  исходит  от лица, подпись которого стоит под ним, и
что  документ  после его подписания не был прочитан посторонними.
Таким образом, системы обеспечения аутентификации состоят из двух
частей:  метода получения подписи под документом, гаранти рующего
невозможность  подделки, и метода проверки того, что подпись была
действительно  сделана тем лицом, которому она принадлежит. Кроме
того,   секретную   цифровую   подпись   нельзя  изменить  (лицо,
подписавшее  документ, уже не может отказаться от нее, утверждая,
что  она  подделана).  В  отличие от шифрования, цифровая подпись
является сравнительно новым изобретением, поскольку необходимость
в  ней возникла с распро странением систем цифровых коммуникаций.
Что такое криптография с открытым ключом Традиционно криптография
основывалась на том, что отправитель и получатель сообщения знали
и  использовали  один  и тот же секретный ключ. Отправитель с его
помощью  шифровал  сообщение,  а получатель - расшифровывал. Этот
метод  называется  криптографией  с  секретным ключом (secret-key
cryptography)    или    симметричная    криптография   (symmetric
cryptography).  Главная проблема такого метода заключается в том,
чтобы  получатель  и отправитель использовали один и тот же ключ,
который должен быть неизвестен всем остальным. Если они находятся
на  большом  расстоянии  друг  от  друга,  им приходится доверять
курьеру,  телефону или другой системе передачи сообщений, скрывая
то,  что  передается  секретный  ключ.  Любой, кто подслушает (+(
перехватит  ключ во время передачи, сможет затем расшифровать все
сообщения,  используя  этот  ключ.  Создание, передача и хранение
ключей  называется  распределением  ключей  (key management). Все
криптосистемы  должны  выполнять распределение ключей, однако при
использовании метода криптографии с секретным ключом этот процесс
имеет  весьма  сложный  характер.  В 1976 г. был разработан метод
криптографии  с  открытым  ключом  для распределения ключей. Этот
метод  предполагает  наличие  двух  ключей - открытого и личного.
Открытый  ключ  можно  разглашать,  а личный необходимо хранить в
тайне.  При этом необязательно, чтобы и отправитель, и получатель
имели  доступ  к  одной и той же секретной информации. При обмене
сообщениями  пересылается  только  открытый  ключ. Таким образом,
пользуясь  данным  методом,  можно  не  беспокоиться о надежности
каналов   передачи  информации.  Любой  человек  может  отправить
конфиденциальное   послание   точно   так   же,  как  и  открытую
информацию,  поскольку  для  его  расшифровки необходим секретный
ключ,   единственным  обладателем  которого  является  получатель
данного  сообщения. Более того, криптография с открытым ключом, в
отличие  от криптографии с секретным ключом, может применяться не
только  для  секретности  (шифрование),  но  и для аутентификации
(цифровая   подпись).  Несколько  слов  о  том,  как  выполняется
шифрование при использовании открытого ключа. Если я хочу послать
сообщение  Джиму,  я  нахожу  в  справочнике открытый ключ Джима,
использую  его  для  кодирования  сообщения  и  отправляю письмо.
Получив  мое  послание,  Джим  с  помощью  своего  личного  ключа
декодирует  и  читает  мое  сообщение. Таким образом, любой может
послать  Джиму  закодированное  сообщение,  но  только Джим может
прочесть  его.  Естественно,  единственное  требование  к  такому
методу  -  исключение  возможности  получения  личного  ключа  из
соответствующего открытого ключа. При аутентификации криптография
с  открытым  ключом применяется следующим образом. Для того чтобы
подписать сообщение, я выполняю определенные вычисления, применив
секретный  ключ и само сообщение. В результате я получаю подпись,
которая   дополняет   отправляемое  сообщение.  Если  Джим  хочет
убедиться  в  подлинности  подписи,  он также выполняет некоторые
вычисления,  используя  полученный  текст, подпись и мой открытый
ключ.  Если  после  решения  несложных  математических  уравнений
получаем  правильный  результат,  подпись  подлинная. В противном
случае,  можно  сделать  вывод,  что подпись была поддела на либо
сообщение   изменено.  Каковы  достоинства  и  недостатки  метода
криптографии  с открытым ключом Главным достоинством криптографии
с   открытым   ключом   является   повышенная  безопасность:  нет
необходимости  ни  передавать  или  сообщать  кому  бы то ни было
секретные  ключи,  ни  убеждаться  в их подлинности. В системах с
секретным  ключом  существует  опасность,  что  противник  сможет
раскрыть секретный ключ во время его передачи. Системы с открытым
ключом пригодны к применению для цифровой подписи. Аутентификация
с  секретным  ключом  требует  ознакомления  с  некоторой  частью
секретной  информации  и  иногда  сопряжена  с  третьей стороной,
пользующейся  доверием.  Отправитель  может  отказаться  от ранее
отправленного  послания, мотивируя это тем, что кто-то перехватил
секретную   информацию,   предназначенную   другой  стороне.  При
аутентификации,  проводимой  с  использованием  открытого  ключа,
отказ  от  подписи  невозможен, а сообщение, подписанное цифровой
подписью,  может  однозначно  идентифицировать  его  автора и для
третьей  стороны, например судьи. Таким образом, аутентификация с
открытым  ключом  гарантирует подлинность подписи, подтверждающей
документ,  тогда  как  аутентификация с секретным ключом не может
предоставить  таких гарантий. Главным же недостатком криптографии
с   открытым   ключом   является   скорость.   Некоторые   широко
распространенные  методы  шифрования  с секретным ключом работают
значительно  быстрее,  чем  имеющиеся  в настоящее время методы с
открытым ключом. В этой главе будет рассмотрен метод шифрования с
открытым ключом RSA с описанием его скоростных характеристик. При
шифровании   лучше  всего  сочетать  два  метода,  что  позволяет
использовать  преимущества  высокой  секретности, предоставляемые
системами  с  открытым  ключом,  вместе  с преимуществами высокой
скорости  работы,  присущих  системам  с секретным ключом. В этом
случае   система   с  открытым  ключом  используется  только  для
декодирования   секретного   ключа,   с  помощью  которого  затем
расшифровывается   основная  часть  файла  или  сообщения.  Таким
образом,  криптография с открытым ключом не заменяет криптографию
с   секретным   ключом,   а   дополняет   ее,  позволяя  повысить
секретность.  Первоначально техника использования открытого ключа
применялась   для   обмена   секретными   ключами  между  разными
системами,  в  которых  эти  ключи  использовались.  Сегодня  эта
функция  метода  шифрования  с открытым ключом остается основной.
Криптография  с  секретным  ключом  является исключительно важным
методом  и  остается  предметом изучения и исследований. Позже мы
рассмотрим некоторые системы с секретным ключом.
 

Оставит комментарий