Роль криптографии в обеспечении безопасности банковских систем.

© 2001 Cybervlad

История и теория.

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

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

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

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

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

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

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

А Б В Г Д Е Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я

Г Д Е Е Ж 3 И И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я А Б В

КРИПТОГРАФИЯ -> НУЛТХСЕУГЧЛВ

Рис.1 Шифр Цезаря

Модификацией шифра Цезаря является шифр Виженера, в котором величина сдвига является переменной и зависит от ключевого слова. Например, если в качестве ключевого слова использовать слово "ТАЙНА" (рис. 2), то это будет означать, что первую букву сообщения необходимо сдвинуть на 20 (порядковый номер буквы "Т"), вторую - на 1 (порядковый номер буквы "А"), третью - на 11, четвертую - на 15, пятую - на 1, шестую - снова на 20 (ключевое слово начинаем использовать с начала) и т.д. Таким образом, ключевое слово "накладывается" на защищаемый текст.

20

1

11

15

1

20

1

11

15

1

20

1














Т

А

Й

Н

А

Т

А

Й

Н

А

Т

А














К

Р

И

П

Т

О

Г

Р

А

Ф

И

Я

->

Ю

С

У

Ю

У

В

Д

Ь

О

Х

Ъ

А

Рис.2 Шифр Виженера

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

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

Современность и практика.

В настоящее время во всех развитых странах разработаны стандартные алгоритмы шифрования, имеющие гарантированную стойкость. Это означает, что без знания ключа (даже зная сам алгоритм) злоумышленник не сможет расшифровать сообщение за приемлемое время (менее 20 лет). В России это ГОСТ 28147-89, в США - DES (Data Encryption Standard). Эти алгоритмы разрабатывались очень тщательно; кроме того, они опубликованы (т.е. доступны для изучения всем), что исключает наличие в них возможных изъянов, которыми часто страдают "доморощенные" разработки. Произошедший в 1998 году инцидент с обнаружением изъяна в криптографическом алгоритме, применяемом в сотовых телефонах стандарта GSM, лишний раз подтвердил этот тезис. Фирма-разработчик не опубликовала свой криптоалгоритм для исследования, и его слабость была выявлена только когда миллионы людей во всем мире уже пользовались моделями этих сотовых телефонов. Стоит заметить, что алгоритм DES был разработан достаточно давно и к настоящему времени практически исчерпал себя - по современным меркам у него слишком маленькая длина ключа, что делает его уязвимым к атаке путем полного перебора возможных ключей. Таким образом, он мало подходит для хранения больших секретов длительное время, однако вполне может послужить в приложениях, где информацию необходимо закрывать на небольшое время (например, информацию об объемах планируемых закупок на торгах имеет смысл скрывать только до самого момента сделки, после чего она все равно "саморассекречивается"). В результате недавнего конкурса на новый стандарт шифрования был выбран другой алгоритм - Rijndael, который в скором времени будет официально введен, как стандарт.

Все сказанное выше относится к классической криптографии, так называемой криптографии с "закрытым" ("секретным") ключом - ключом, который должны знать обе обменивающиеся информацией стороны и хранить его в строжайшем секрете. Однако, когда в 1977 году математики Рон Райвест (R. Rivest), Ади Шамир (A. Shamir) и Леонард Аделман (L. Adleman) разработали свой алгоритм RSA (Rivest-Shamir-Adleman), наступила новая эра - эра криптографии с открытым ключом. Теперь отпала необходимость пересылать партнеру секретный ключ по надежному каналу, ключи можно распределять открыто, через любой канал связи (например, Internet). Для шифрования информации используется открытый (публичный, общий) ключ, известный всем, а для расшифрования - соответствующий ему закрытый (секретный, личный) ключ, известный только владельцу. Таким образом, зашифровать информацию может любой, но прочитать (расшифровать) - только владелец. Причем получить закрытый ключ по открытому - задача огромной вычислительной сложности. Такие системы еще называют несимметричными системами или системами с открытым ключом. Человеку, впервые соприкасающемуся с проблемами криптографии, это может показаться неправдоподобным, но никакой мистики здесь нет - все основано исключительно на законах математики.

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

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

Электронная подпись не единственное применение несимметричных систем. На их основе разработано множество интересных криптоалгоритмов, весьма широко применяемых, в том числе и в банковской деятельности.

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

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

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

Y=AX

При больших значениях A, X и Y (их десятичная запись займет не одну строку) в разумные сроки невозможно вычислить X по известным A и Y (необходимо рассчитать логарифм Y по основанию A), в то время как операция возведения в степень производится относительно легко.

Еще одна проблема, практически сводящая на нет все преимущества открытого распределения ключей, это проблема доверия участников обмена друг другу. На самом деле, получая открытый ключ корреспондента по незащищенному каналу связи, мы не можем быть уверены, что это ключ именно того человека, с которым мы хотим обменяться конфиденциальной информацией. Злоумышленнику ничего не стоит "разорвать" канал связи и, обменявшись с обоими абонентами открытыми ключами, читать всю переписку, перешифровывая ее перед посылкой настоящему адресату. Этой атаке, называемой "человек посередине" ("man in the middle"), подвержены все несимметричные криптоалгоритмы. Как же с ней бороться? Обмениваться ключами при личной встрече со всеми корреспондентами? Тогда выгоднее использовать классический подход с симметричными ключами. Наиболее оптимальным решением является создание центра сертификации ключей. В качестве центра сертификации выбирается организация, которой доверяют все участники обмена и которой они лично предъявляют свои открытые ключи. Центр формирует из собранных ключей сертификаты путем подписания их своей электронной подписью. После этого каждый участник получает сертификат (собственный открытый ключ, подписанный центром) и открытый ключ центра. Теперь при установлении связи корреспонденты обмениваются не просто открытыми ключами, а сертификатами, что дает возможность однозначно идентифицировать второго участника обмена путем проведения процедуры проверки электронной подписи центра под его сертификатом.

Достижения современной криптографии позволяют надежно защитить информацию от несанкционированного ознакомления, искажения; позволяют разрешить вопросы с авторством документа и многие другие. Однако не все столь безоблачно. Один из самых сложных вопросов при эксплуатации криптосистем - это сохранение в тайне ключей. На сохранность ключа большое влияние оказывает человеческий фактор, а это - самое слабое звено в системе защиты. Человеку свойственно ошибаться; ему затруднительно хранить в памяти большие объемы ключевой информации, поэтому он вынужден ее куда-то записывать - например, в смарт-карту. Для предотвращения несанкционированного использования смарт-карты в случае ее хищения доступ к ней возможен только после предъявления PIN-кода (PIN - personal identification number, персональный идентификационный номер). Длина PIN-кода составляет обычно 4 цифры (которые многие предпочитают держать записанными на бумажке, да еще и хранить вместе с карточкой). Общая защищенность системы, как известно, определяется ее слабейшим звеном. Человека можно заставить совершить определенные действия под угрозой физической расправы, шантажа, захвата заложников и т.п. Кроме ошибок эксплуатирующего персонала и злоумышленных действий возможны ошибки и просчеты при практической реализации даже очень хорошего и многократно выверенного математического алгоритма. Во избежание хищения ключа при помощи программных или аппаратных "закладок" приходится проводить проверку ЭВМ, на которых будут эксплуатироваться криптосистемы, а также защищать эти ЭВМ и помещения, в которых они находятся от несанкционированного доступа.

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

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

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

Из лаборатории - в производство.

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