Защитить свои данные можно даже от самых крутых спецслужб
Одним из мотивов создания первых компьютеров стал взлом шифров, защищавших чужие секреты. За прошедшие десятилетия производительность компьютеров выросла многократно. Казалось бы, перед вычислительной мощью современных суперкомпьютеров не может устоять ни один шифр. Почему же тогда крупнейшие государства мира так сопротивляются распространению криптоалгоритмов?
Шифр Цезаря
Лучшие умы человечества помогали шифровать тексты и бились над прочтением перехваченных сообщений еще во времена Римской империи. Правда, тогда алгоритмы были простыми. Так, Гай Юлий Цезарь использовал шифр подстановки, в котором каждая буква открытого текста заменялась буквой алфавита, чья позиция сдвинута на постоянное число. Чтобы взломать такой шифр, достаточно знать алфавит и проявить усидчивость. Алгоритм, которым пользовался римский император, вошел в историю как шифр Цезаря. Зная этот алгоритм,
для дешифровки сообщения нужно было подобрать лишь ключ — число, на которое сдвинут алфавит при преобразовании открытого текста.
Алгоритмы и ключи постепенно усложнялись. Уже в XX веке применяемые шифры достигли такой стадии, которая не позволяет их взламывать даже с применением всех имеющихся вычислительных мощностей в приемлемое время. Так, стандарта AES (США) и российского ГОСТ 28147-89, применяемых в настоящее время для защиты сведений, составляющих государственную тайну, при длине ключа 256 бит должно хватить еще лет на 200. Несмотря на ряд публикаций известных криптографов о потенциальной уязвимости данных алгоритмов, на практике все эти уязвимости остаются чистой теорией. Например, основоположник алгебраического криптоанализа польский исследователь Николя Куртуа опубликовал ряд работ, которые в прессе названы «взлом AES и ГОСТ 28147-89», хотя в них речь идет лишь о теоретической возможности нахождения методов взлома в будущем. Да и эти гипотетические методы немного быстрее, чем полный перебор случайных значений.
Проблема симметричного шифрования
Несмотря на то, что стойкость современных шифров, охраняющих государственные секреты, достаточно высока, у них есть одно качество, которое роднит их с шифром Цезаря: эти алгоритмы симметричны. То есть для зашифровки и расшифровки открытого текста необходим секретный ключ, который должен знать и отправитель, и получатель сообщения. Современные алгоритмы симметричного шифрования при сравнительно небольшой длине ключа быстры в работе и надежны. Но в использовании симметричного шифрования есть одна проблема. Для того, чтобы иметь возможность отправлять защищенное шифром сообщение, получателю нужно как-то передать ключ. Современные ключи представляют собой файлы, которые записаны на цифровых носителях. Перехват и копирование ключа раскрывают всю тайную переписку, позволяя заинтересованному наблюдателю расшифровывать закрытые перехваченным ключом файлы. Государственные органы решают эту проблему просто — достаточно отправить в свое посольство надежного дипкурьера, который пользуется
дипломатической неприкосновенностью на основании международных договоров. Такой курьер просто перевозит ключи, избегая таможенного контроля. Услугами курьера могут воспользоваться и крупные корпорации, защищающие свои секреты. Но если курьеров нужно много, а счет получателей идет на тысячи, то надежность всей структуры резко снижается. Например, коммерческий банк должен иметь возможность обмениваться зашифрованной информацией с тысячами отделений своего и чужих банков. От сохранности ключей зависит, будут ли транзакции защищены, или банк и его клиенты потеряют деньги из-за мошенничества. Учитывая количество безналичных платежей и других банковских операций, широкую сеть контактов любого банка, а также требование о частой смене ключей, становится ясно, что симметричное шифрование для широкого использования абсолютно не подходит. Еще хуже дело обстоит с частной перепиской. Отправить защищенный при помощи симметричного шифрования файл человеку, с которым вы никогда не встречались лично, невозможно, так как нет надежных способов передать адресату секретный ключ. Но ирония в том, что революцию в криптографии совершили именно те, кто веками занимался взломом шифров, — математики.
Асимметричная революция
Уитфилд Диффи и Мартин Хеллман в 1976 году предложили криптографическую схему с открытым, или асимметричным, ключом. Суть схемы в применении для шифрования и рас-
шифрования информации разных ключей, которые математически связаны. С помощью одного из них, открытого ключа, сообщение можно зашифровать. Этот ключ может быть передан через открытые каналы или просто опубликован на сайте. Используемый алгоритм позволяет любому желающему зашифровать сообщение при помощи открытого ключа, но восстановить по нему исходное сообщение невозможно. Для этого служит закрытый ключ, который получатель держит в тайне.
Принцип действия асимметричного шифрования лучше всего поясняет классический пример с телефонным справочником. Можно зашифровать сообщение, подставив вместо каждой буквы один из телефонов людей, чья фамилия на нее начинается. Из-за того, что на каждую букву в справочнике можно найти сотни и тысячи фамилий, а каждый раз одна из этих фамилий и соответствующий телефон выбираются в случайном порядке, восстановить исходное сообщение при помощи того же справочника очень трудно. Для расшифровки сообщения нужен другой справочник, в котором записи упорядочены по номерам телефонов. В данном примере открытым ключом будет обычный телефонный справочник, он может быть передан любому человеку или вообще опубликован свободно. Закрытым ключом, математически связанным с открытым, является второй справочник, которым получатель ни с кем не делится. Конечно, на практике никакими телефонными справочниками никто не пользуется — взлом подобного шифра был бы слишком простой задачей для современного компьютера.
В современных асимметричных шифрах применяют так называемые односторонние функции, которые легко решаются для заданного аргумента, но аргумент по ее конечному значению вычислить трудно. Говоря о «трудности» обращения функции, криптографы подразумевают сотни лет работы высокопроизводительных компьютеров. Одним из самых распространенных шифров стал RSA (назван в честь его создателей — Rivest, Shamir и Adleman). Алгоритм основан на сложности факторизации (разложения на простые множители) больших натуральных чисел. RSA был опубликован в 1977 году, после чего Агентство национальной безопасности США несколько лет пыталось остановить его распространение. Срок действия патента на алгоритм истек в 2000 году, теперь RSA может использоваться всеми желающими. Алгоритм DH (Диффи — Хеллмана), опубликованный Уитфилдом Диффи и Мартином Хеллманом в 1976 году, и разработанный на его основе алгоритм Эль-Гамаля основаны на трудности вычисления дискретных логарифмов в конечных полях. DSA, основанный на этом же принципе шифрования, взят за основу цифровой подписи в США и России. Алгоритм ECDSA основан на проблеме дискретного логарифма в группе точек эллиптической кривой и считается более совершенным вариантом DSA. Строго говоря, используемые в современной асимметричной криптографии функции односторонни лишь гипотетически. Их необратимость не доказана, и остается вероятность определенных прорывов в математике, которые могут поставить надежность асимметричного шифрования под угрозу. Так, алгоритмы, основанные на логарифмических функциях, криптографы всего мира считали самыми надежными и перспективными.
Однако в 90-х годах XX века был опубликован ряд работ, которые убавили логарифмам приоритетности. Так что пока все перечисленные алгоритмы асимметричного шифрования надежны одинаково. У асимметричной криптографии есть недостатки. Первый из них — для надежного шифрования требуется большая длина ключа, чем при использовании симметричных алгоритмов. Сейчас для частного использования рекомендован ключ длиной 1024 бит, для шифрования данных особой важности — 2048 бит. При этом симметричный алгоритм AES более надежен при длине ключа 128 бит.
Впрочем, при современной стоимости хранения цифровой информации длина ключа — не проблема. Более важным недостатком асимметричного шифрования стала проблема идентификации получателя. Да, открытый ключ избавил от необходимости встречаться с адресатом для передачи ему секретного ключа. Но теперь нужно убедиться, что ваше зашифрованное письмо отправлено именно тому, кому нужно! Ведь посторонний наблюдатель может представиться чужим именем, дать вам свой открытый ключ и расшифровать ваше сообщение при помощи своего закрытого ключа. А затем даже переправить письмо вашему адресату, используя уже правильную пару ключей. Криптографы называют эту схему атакой типа «человек посередине», когда ваше общение с адресатом происходит через тайного посредника, о котором вы не знаете. Решить эту проблему помогает цифровая сертификация.
Цифровые сертификаты
Чтобы удостовериться в том, кому принадлежит открытый ключ, а также убедиться в том, не был ли он изменен, применяется цифровой сертификат — электронная подпись с применением шифрования, выданная удостоверяющим центром. Генерируя пару ключей для асимметричного шифрования, каждый желающий может зарегистрировать свой открытый ключ в центре сертификации. Тот, кто хочет отправить защищенное шифром письмо, должен просто обратиться в этот центр и проверить ключ получателя. Центр сертификации при этом выступает в качестве посредника, гарантирующего своей репутацией и применяемыми криптографическими средствами аутентичность и неизменность открытых ключей.
Важная составляющая процесса подписи — вычисление так называемой функции свертки (хэш-функции). Это последовательность битов заданной длины, получаемая при преобразовании файла произвольной длины. Полученное значение — важная часть цифровой подписи. При правильно проведенном хэшировании любое изменение исходного документа сильно изменит значение его хэш-функции и позволит установить факт внесения исправлений.
PGP и TOR
Одна из доступных систем асимметричного шифрования — PGP (Pretty Good Privacy, переводится как «довольно хорошая секретность»). Первый вариант программы был разработан и опубликован в 1991 году американским математиком Филиппом Циммерманном. После обнародования кода программы таможенная служба США несколько лет преследовала ученого в суде на основании действовавшего в то время запрета на экспорт из США стойких криптотехнологий. В конце концов дело было закрыто. Разрабатывалась система PGP в первую очередь для обмена зашифрованными сообщениями электронной почты. Но механизм шифрования может быть использован дла защиты любых файлов, папок или целых дисков. Сейчас PGP — это несколько продуктов, как бесплатных, так и распространяемых за плату. Объединяет их открытый стандарт OpenPGP, который позволяет программистам разрабатывать свои приложения, совместимые с PGP. Например, ряд бесплатных программ доступен на www.gnupg.org. Интересна также бесплатная специализированная программа для хранения паролей Password Safe, которая также использует OpenPGP: www.passwordsafe, sourceforge.net. Еще одна интересная разработка криптографов — анонимизирующая сеть Tor. Установленный на компьютер клиент сети направляет весь трафик через другие компьютеры сети. На каждом этапе обмена трафиком используется шифрование с собственными генерируемыми ключами. Так что после многократной передачи зашифрованного трафика через узлы сети никто не может сказать, кто и на какие сайты обращался, кто и какую информацию передавал и получал. Правда, за анонимность в сети приходится платить удобством: невысокая скорость работы, отказ от технологии cookies, плагинов Adobe, Java-апплетов, компонентов ActiveX и Flash. Анонимность при использовании этой сети достигается при соблюдении четких правил поведения в Интернете. Программы, в том числе браузер, клиент, работающий с флешки, а также приложение для Android доступны на официальном сайте: www.torproject.org. Следует помнить, что анонимность достигается в первую очередь изменением поведения в сети. Так, если вы сами напишете на форуме свое имя, телефон и адрес, то никакие программные средства вам не помогут.
Криптография и закон
Любой государственный орган пытается сохранить свои секреты и раскрыть чужие. Все государства стремятся ограничивать разработку и использование криптотехнологий. Россия не исключение. В нашей стране разработка, продажа, обслуживание систем шифрования, а также оказание услуг по шифрованию требуют лицензии ФСБ. Лицензий требует также ввоз и вывоз криптотехнологий, то есть пересечение таможенных границ. При этом использовать в государственных организациях можно только отечественные шифры, утвержденные соответствующими ГОСТами. Правда, и частные лица, и коммерческие компании могут легально приобретать на территории России системы шифрования и использовать их для своих целей. Так что получение лицензии — проблема продавца. Все, что может потребовать ФСБ при этом, — предоставить данные о продавце или распространителе соответствующих технологий.