Кодирование информации как средство обеспечения

advertisement
Финансовая газета.
Региональный выпуск.
Март. №10, 2007, стр. 15.
КОДИРОВАНИЕ ИНФОРМАЦИИ КАК СРЕДСТВО ОБЕСПЕЧЕНИЯ
НАДЕЖНОСТИ И ЗАЩИТЫ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ
В процессе создания и эксплуатации информационных систем управления важное место
отводится процессам кодирования экономической информации. При этом кодированию отводится
две роли: повышение экономической эффективности информационных процессов <1> и
повышение уровня защищенности информационных систем управления. Причем в настоящее
время уровень безопасности систем становится наиболее важным критерием их оценки. С учетом
этого в программах вузовской подготовки специалистов управления вводятся предметы,
посвященные информационной безопасности систем управления, и даже появилась такая
специализация. Например, в Финансовой академии при Правительстве Российской Федерации в
рамках специальности «Финансы и кредит» осуществляется подготовка по специализации
«Экономическая и информационная безопасность в финансово-банковской сфере».
<1> Л. Еремин. Классификация и кодирование экономической информации как средства
повышения экономической эффективности информационных технологий//Финансовая газета
(Рег. вып.), 2005, № 34-35.
В плане достижения информационной надежности систем управления кодирование
информации позволяет осуществлять функции контроля и обеспечивает корректность процессов
передачи и хранения информации, а также ее защиту (на принципах криптографии) от
несанкционированного восприятия и искажения. При этом оно подразумевает преобразование
передаваемой и/или хранимой информации в целях повышения уровня ее защищенности от какихлибо искажений, а также несанкционированного осмысленного восприятия. В связи с этим такое
кодирование (в отличие от кодирования для целей повышения эффективности реализации
информационных процессов) обязательно предполагает последующее преобразование
(«восстановление») информации в первоначальный вид, пригодный для ее использования в
процессах обработки и принятия управленческих решений.
Кодирование информации в целях ее защиты от непреднамеренного искажения
Функция обеспечения контроля и защиты информации от ошибок, возможность возникновения
которых связана главным образом с недостаточной надежностью (несовершенством)
технологических процессов ее передачи в технических системах, реализуется на основе
избыточности данных с помощью помехоустойчивого кодирования. Это позволяет в большинстве
случаев обеспечить наилучшее соотношение параметров «цена-качество» по сравнению с другими
способами защиты информации от ее непреднамеренного искажения.
Помехоустойчивое кодирование обеспечивает возможность автоматического формирования
допустимых (разрешенных) кодовых комбинаций. При искажении кодовой комбинации и
превращении ее в запрещенную система «фиксирует» ошибку. При этом предполагается введение
дополнительных (избыточных) информационных позиций, выполняющих чисто контрольные
функции, так называемая горизонтальная или вертикальная избыточность.
Горизонтальная избыточность заключается в введении дополнительных кодов для каждого
отдельного символа (на уровне их двоичного представления), что позволяет обнаружить
одиночные ошибки, такие, как изменение содержимого информационного бита с 0 на 1 или
наоборот.
Простейшим методом контроля отсутствия искажения информации является соблюдение
принципа четности (нечетности) для хранимой и передаваемой информации. Суть этого метода
заключается в добавлении контрольного разряда (называемого битом четности) к кодовой
комбинации исходного символа, с тем чтобы число единиц в этом символе вместе с контрольным
разрядом было четным.
Обычно на практике данный метод контроля на четность при передаче цифровой информации
применяют не к отдельным символам сообщения, а ко всему исходному числовому
представлению информации путем добавления одного контрольного разряда, в который
записывается соответственно 1 или 0, с тем чтобы общая сумма всех цифр контролируемого числа
и дополнительного разряда образовывала бы четное число. Например, для исходного числа
«13682» в контрольный разряд записывается «0», а для числа «30552» - соответственно «1». Если
при проверке обнаруживается, что общая сумма цифр исходного числа и контрольного разряда
является нечетным числом, то это служит сигналом о том, что в записи либо самого числа, либо
контрольного разряда произошло искажение информации.
Однако данный принцип не обеспечивает достаточной надежности контроля, так как
искажения могут носить взаимно компенсирующий характер или просто не нарушать принятый
принцип четности (либо нечетности). Поэтому более эффективным методом обнаружения ошибок
является вертикальная избыточность, когда проверка на четность (нечетность) осуществляется на
уровне символьного представления информации (т.е. по вертикали) путем добавления к
передаваемому сообщению контрольного символа, обеспечивающего четное значение суммы всех
битов по всем соответствующим разрядам передаваемых символов (вместе с контрольным). Этот
проверочный символ формируется как у отправителя, так и у получателя.
По завершении передачи основного сообщения проверочный символ, полученный
отправителем, пересылается адресату, где он сравнивается с проверочным символом,
сформированным у получателя. Несовпадение этих символов служит сигналом о возможной
ошибке в полученном сообщении.
При одновременном использовании горизонтальной и вертикальной проверок (матричный
контроль) могут быть обнаружены как все двойные, так и многие серии многократных ошибок.
Чтобы обеспечить более надежный контроль за возникновением ошибок, контрольные символы
могут формироваться с использованием так называемого кода по модулю, когда все
информационные разряды передаваемых символов имеют не одинаковые, а разные весовые
коэффициенты. При этом в качестве модуля (цифрового ключа) обычно выбирается определенное
число следующего ряда чисел: 9, 11, 13, 23. Например, для исходного числа 13682 (при
использовании модуля 11) значение контрольного разряда определяется по следующему
алгоритму:
Исходное число
Весовые коэффициенты разрядов числа
1
6
3
5
6
4
8
3
2
2
1. Находится сумма произведений цифр разрядов исходного числа на их весовые
коэффициенты (для приведенного примера – это 73)
2. Данная сумма произведений (для приведенного примера - 73) вычитается из большего
ближайшего к ней значения числа, кратного выбранному модулю (например, для модуля 11 это
будет 77). Полученный результат и будет представлять собой значение контрольного разряда (для
приведенного примера: 4 = 77 - 73).
Таким образом, если в результате проверки полученного или хранимого числа будет
установлено, что сумма значения контрольного разряда и произведений цифр числа на их «веса»
не делится без остатка на значение выбранного модуля, то это является сигналом о возможном
искажении информации <1>.
<1> Аналогичная идея получения цифрового дополнения, алгоритмически связанного с
цифровыми значениями всех информационных разрядов основного сообщения (документа), лежит
и в основе формирования электронной цифровой подписи (ЭЦП).
Конечно, данный способ не обеспечивает 100%-ной гарантии контроля корректности передачи
(хранения) информации, однако он значительно надежнее, чем другие способы. Кроме того,
принцип кодирования по модулю может быть применен и при организации вертикального
контроля (а следовательно, и матричного).
Циклическая избыточная проверка – еще более надежный способ обнаружения факта
искажения информации. Она осуществляется с помощью циклического полинома, когда каждая
последовательность элементарных сигналов передаваемого сообщения сопоставляется с
некоторым многочленом (при этом цифры двоичного кода рассматриваются как коэффициенты
многочлена), который делится на константу по модулю. Полученный от деления остаток
используется в виде двухбайтового символа проверки, который и передается как контрольный
символ. Принимающая станция сравнивает полученный символ с собственным вычислением
остатка. Несовпадение служит сигналом об ошибке и необходимости повторной передачи
сообщения.
Циклические коды (CRC – Cyclic Redundancy Code) широко используются в зарубежной и
отечественной аппаратуре передачи данных, в системах телеобработки и т.п., так как они имеют
сравнительно небольшую избыточность и достаточно просты в обеспечении кодирования и
декодирования.
Наконец, существуют коды, строящиеся также на принципе запрещения некоторой части
кодовых слов или некоторых кодовых символов. С этой целью в устройство контроля за
правильностью предоставления информации вводятся значения разрешенных чисел, а путем
последующего сравнения полученных чисел с разрешенными устанавливается факт наличия или
отсутствия ошибки.
При включении в кодовые слова дополнительной (избыточной) информации ошибки могут не
только обнаруживаться, но и автоматически исправляться. Одним из наиболее известных является
код Хэмминга, который, обладая минимальной избыточностью, обеспечивает автоматическое
исправление одиночных ошибок. Это достигается путем последовательной проверки числа на
соответствие с разрешенными комбинациями кодовых слов по каждому из его разрядов, что
позволяет определить правильное значение числа.
Естественно, что повышение надежности средств контроля, как правило, неизбежно влечет за
собой и усложнение алгоритмов, гарантирующих контрольные функции. Поэтому на практике
следует соотносить цель и средства для ее достижения исходя из требования обеспечения
необходимого и достаточного уровня надежности при минимуме затрат в каждом конкретном
случае.
Финансовая газета.
Региональный выпуск.
Март. №12, 2007, стр. 15.
КОДИРОВАНИЕ ИНФОРМАЦИИ КАК СРЕДСТВО ОБЕСПЕЧЕНИЯ
НАДЕЖНОСТИ И ЗАЩИТЫ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ
(Окончание. Начало см. в № 11)
Криптографические функции систем кодирования информации
В последнее время в связи с расширением возможностей обмена информацией между
удаленными абонентами, расположенными в разных частях света, резко возросла роль
кодирования для обеспечения защиты информации от попыток несанкционированного
воздействия (восприятия и/или искажения сторонними лицами).
Защита информации, передаваемой по каналам, в первую очередь через Интернет,
осуществляется путем ее шифрования, т.е. такого преобразования, в результате которого она
становится нечитаемой (неосмысленной). Чтобы вернуть читаемость принятой адресатом
информации, ее нужно предварительно расшифровать.
Для шифрования и дешифрования информации используются специальные шифровальные
ключи (алгоритмы). При этом шифрование представляет собой определенный способ
преобразования исходной информации в целях сокрытия ее логической сущности (смысла). Для
дешифрования информации необходимо знать соответствующий ключ, не владея которым нельзя
восстановить исходную информацию. В этом случае следует прибегнуть либо к полному перебору
вариантов (что является весьма трудоемким по времени процессом), либо к нахождению (подбору)
ключа шифрования.
Однако с учетом того, что частотное распределение слов в естественных языках подчиняется
определенной закономерности и между словами в предложениях существует определенная
синтаксическая и смысловая связь<1>, для специалиста-лингвиста, владеющего методами
математической статистики, расшифровка закодированных сообщений в принципе не является
неразрешимой задачей, особенно если при этом используются возможности современных
компьютеров. Кроме того, существование всевозможных каналов нелегальной утечки
вспомогательной информации значительно упрощает эту задачу<2>. Вместе с тем сегодня метод
криптозащиты информации является наиболее эффективным (а подчас единственным) способом
обеспечения требуемого уровня защиты передаваемой по каналам связи информации. Долгое
время значительные затраты на приобретение и эксплуатацию электронных сетей в условиях
обеспечения необходимой безопасности этих операций были главными сдерживающими
факторами широкого распространения электронного обмена информацией.
<1> Теория «клампов» (clamps – группа слов, тесно взаимосвязанных между собой по смыслу),
разработанная Р.Нидхэмом, используется для смыслового анализа текста с помощью
компьютера (широко применяется в системах автоматизированного перевода на иностранные
языки, а также в аналитических разведывательных центрах).
<2> В экспериментах, проведенных под руководством М. Куна в израильском институте
Вейцмана, удалось по испускаемым ультразвуковым колебаниям определить, когда в
используемом алгоритме шифрования менялся его ключ. Более того, акустические измерения
позволили приближенно определить длину ключа шифрования.
Впервые широкомасштабно средства криптозащиты для электронного обмена данными (EDI –
Electronic Data Interchange) и электронного перевода средств (EFT – Electronic Funds Transfer)
начали применять в середине 70-х годов прошлого столетия. При этом в основу обеспечения такой
защиты было положено использование симметричных ключей кодирования. На практике все
ключи (алгоритмы) шифрования в принципе можно взломать, поэтому для большинства случаев
коммерческого использования приемлемой считается такая криптозащита, на взлом которой
требуется от года и более времени даже при условии использования самых новейших
суперкомпьютеров или мощных распределенных вычислительных систем. Причем традиционная
криптография на основе симметричного кодирования предполагает, что отправитель и получатель
владеют общим способом, позволяющим зашифровывать и расшифровывать информацию. Это
может быть либо определенный секретный алгоритм, либо секретный ключ шифра. Последнее
представляется более практичным, так как в этом случае проще реализуется важное требование о
повышении степени надежности благодаря более простой возможности периодического
обновления ключей кодирования и декодирования, которые являются симметричными (т.е.
одинаковыми у отправителя и получателя).
Процесс их использования может быть полностью автоматизирован, а для каждого сеанса
связи отправитель и получатель могут генерировать новую пару ключей, представляющих собой
случайную последовательность символов. При этом длину ключа принято измерять в битах,
количество которых служит мерой надежности и соответственно стойкости ключевой защиты.
Если в конце 70-х годов прошлого века использование ключа длиной в 56 бит гарантировало,
что для раскрытия шифра потребуется несколько лет непрерывной работы самых мощных по тем
временам компьютеров, то уже в конце прошлого века считалось, что симметричный ключ длиной
только в 128 бит удовлетворяет требованию надежности для большинства случаев использования
в коммерческих системах. Однако бурное развитие средств вычислительной техники и методов
дешифровки в настоящее время уже не гарантирует требуемой надежности даже при
использовании 512-битных ключей.
Принципиально иным способом организации криптозащиты информации является
использование системы открытых ключей, или асимметричное кодирование.
Рассматривая организацию кодирования с помощью открытых ключей, прежде всего
необходимо иметь в виду, что криптозащита, основанная на открытой криптографии, не может
существовать вне сложной инфрастуктуры открытых ключей (PKI – Public-Key Infrastructure),
которая в настоящее время отвечает требованиям стандарта криптографии – Х.509.
Инфраструктура открытых ключей включает:
обязательное наличие пары асимметричных ключей шифрования, один из которых является
открытым (публичным), а другой - секретным (личным) ключом, любой из которых может
использоваться как для шифрования, так и для дешифрования информации, причем дешифрование
всегда осуществляется противоположным ключом (отсюда и название – асимметричные ключи);
организацию обмена информацией, при которой передающая сторона (помимо своего личного
ключа) должна иметь возможность пользоваться открытым ключом (ОК) адресата, а получатель
(адресат) помимо своего личного ключа (ЛК) должен иметь доступ к ОК отправителя;
формирование электронной цифровой подписи (ЭЦП) как непременного атрибута
передаваемого сообщения, получаемой при обработке (кодировании) исходной информации с
помощью ЛК отправителя.
В целом, осуществляя выбор системы криптографического кодирования информации,
необходимо прежде всего оценить следующие характеристики, влияющие на ее выбор:
уровень защищенности передаваемой информации;
трудоемкость и удобство подготовки процесса передачи закодированной информации;
трудоемкость и удобство проведения сеанса передачи закодированной информации.
Очевидно, что главным критерием выбора должен служить уровень защищенности, т.е. выбор
системы кодирования должен осуществляться только при условии, что требуемому уровню
защиты одновременно отвечают несколько различных систем криптозащиты.
Что касается второго критерия выбора, то использование PKI обладает неоспоримым
преимуществом, так как при этом не требуется предварительной договоренности и обмена
секретными ключами между участниками данного процесса. Главным преимуществом системы
открытых и личных ключей является повышение безопасности в силу отсутствия необходимости
передачи секретных ключей между абонентами системы шифрования. Второе ее важное
преимущество – это механизм цифровой подписи, т.е. возможность удостоверения личности
отправителя (аутентификация) и подтверждения целостности сообщения (отсутствие в нем
искажений).
Общим «узким местом» для организации электронного обмена информацией является
обеспечение невозможности отказа получателя от факта получения им сообщения. Предлагается
несколько вариантов решения этой проблемы:
техническое уведомление о доставке электронных документов, автоматическое формирование
которого возлагается непосредственно на средства системы электронной почты без какого-либо
вмешательства оператора связи;
служебное уведомление о доставке электронных документов, которое формируется при
участии специального уполномоченного адресата. Причем доставка служебных уведомлений в
свою очередь подтверждается техническим уведомлением, но уже со стороны отправителя
электронного документа.
Режим доставки со служебным уведомлением обязателен в случае отправки/получения
электронных документов, являющихся непосредственным основанием для совершения
юридически значимых действий. Для иных электронных документов режим доставки со
служебным уведомлением необязателен.
Как вариант решения данной проблемы в рамках PKI может быть предложена и такая
организация электронного обмена, при которой получатель не может использовать ОК
отправителя для обработки его сообщения без уведомления последнего о факте получения этого
сообщения.
Главным недостатком системы открытых и личных ключей является скорость осуществления
обмена информацией. Наиболее популярные системы симметричного кодирования работают
значительно быстрее, чем любой из известных в настоящее время алгоритмов шифрования с
помощью ОК.
Следовательно, сегодня для практических нужд можно воспользоваться лучшим, что есть в
каждой из этих систем – технологией SSL (Secure Socket Layer): при помощи системы открытых и
личных ключей шифровать, подписывать и передавать секретные ключи, используемые затем для
криптозащиты передаваемой информации. Длина секретных ключей, как правило, невелика, и
небольшая скорость работы системы в данном случае не является существенным препятствием
для организации оперативного обмена конфиденциальной информацией. Таким образом, системы
открытых и личных ключей позволяют дополнить системы секретных ключей и при этом
повысить уровень безопасности работы с ними.
Принцип криптографии с использованием системы открытых и закрытых (личных) ключей был
предложен в 1976 г. У. Диффи и М. Хеллманом.
Благодаря данной системе возможны различные схемы организации обмена информацией
через общедоступные системы передачи данных, обеспечивающие все необходимые требования
такого обмена (конфиденциальность, аутентификацию, проверку целостности данных и т.п.).
Вместе с тем даже среди специалистов все еще нет единого мнения о том, какая технологическая
схема является более предпочтительной. Хотя главное отличие всех этих подходов заключается
лишь в том, что в одних случаях ЛК отправителя используется только для формирования ЭЦП, а в
других - он используется также и для кодирования информации (всего сообщения или его
резюме). Естественно, что во втором случае технология представляется более громоздкой и
трудоемкой (что и делает ее менее привлекательной). однако при первом варианте существует
(хотя и достаточно малая) вероятность одностороннего отказа адресата от факта получения
сообщения, так как для его прочтения не нужно пользоваться ОК отправителя, а во втором –
получатель не может ознакомиться с содержимым сообщения, не прибегнув к использованию ОК
отправителя, что позволяет исключить всякую возможность отказа адресата от факта прочтения
сообщения. В связи с этим, с точки зрения отправителя, второй вариант организации передачи
конфиденциальной информации является более предпочтительным, хотя и более трудоемким и
затратным по времени.
Таким образом, криптосистемы с открытыми ключами предоставляют широкие средства
шифрования сообщений и придание ему юридического статуса с помощью ЭЦП.
Сегодня самой распространенной из известных криптосистем с открытыми ключами является
система RSA, которая была изобретена в 1977 г. Р. Ривестом, А. Шамиром и Л. Адлеманом
(отсюда и название системы, представляющее аббревиатуру фамилий ее создателей: Rivest, Shamir
и Adleman). Алгоритм асимметричного шифрования с помощью RSA использует произведение
двух длинных простых чисел (при длине ключа в 128 бит эти числа содержат порядка 40 знаков).
На основе полученного произведения (путем сложных вычислений по функции Эйлера) получают
два производных числа, которые вместе с исходными множителями RSA и служат для генерации
пары асимметричных ключей: открытого и закрытого. Вычислить по произведению ключи RSA,
не зная исходных множителей, практически невозможно, поскольку для этого потребуется
перебрать несметное количество вариантов. Однако, зная эти числа, можно легко расшифровать
данные.
В 1994 г. на базе RSA был разработан код МРРЕ (Microsoft Point to Point Encryption),
применяемый при передаче информации в виртуальных частных сетях (VPN).
В заключение следует отметить, что применяемые системы охраны информации достаточно
дороги, потому что они, как правило, уникальны и должны включать целый комплекс защитных
мероприятий (организационного, технического, программного и иного характера). При этом доля
затрат на обеспечение защиты информационных ресурсов в системах управления постоянно
растет, так как уровень защищенности информационных систем становится одним из главных
показателей их качества.
Download