Фрагмент восточной стены гробницы Хнумхотепа II «Ловля птиц сетью». Пытаясь прославить вельможу, писцы использовали необычные для того времени иероглифы, которые могли прочесть не все египтяне / ©Пресс-служба Ростеха
Криптография для абсолютных новичков
Мы живем в пост-сноуденовском мире. И для многих следствием из этого является то, что ни один из ваших цифровых активов не защищен от слежки. Однако есть способы пользоваться интернетом с применением безумных математических методов таким образом, чтобы никто больше не мог видеть, что вы отправляете кому бы то ни было. Я постараюсь подробно объяснить, как это все работает.
Не стесняйтесь пролистать теоретическую часть, если захотите просто поиграться с PGP-шифрованием в конце статьи.
Криптография – это древняя математическая наука. Изначально она использовалась в военных коммуникациях и предназначалась для сокрытия содержания сообщения на случай, если оно попадет в руки врага. Последние достижения в области криптографии добавили новые возможности ее использования, включая механизмы аутентификации пользователей в сети, обеспечения целостности передаваемой информации и предотвращения отказа пользователей от авторства переданных ими сообщений.
Сегодня шифрование является неотъемлемой частью многих инструментов и протоколов, используемых нами для защиты безопасности повседневных транзакций и онлайн-коммуникаций. Шифрование может использоваться на физическом уровне интернета для скремблирования (обратимого искажения) данных, передаваемых по кабелю или беспроводной связи. Оно добавляет поддержку безопасных коммуникаций для простых текстовых протоколов – таких как Hypertext Transfer Protocol (HTTP), позволяющий просматривать веб-страницы – и может защитить целостность данных, передаваемых через такие приложения, как электронная почта и мобильные мессенджеры. Можно также шифровать данные на мобильных устройствах или компьютерах, защищая от несанкционированного доступа локальные копии электронных писем, текстовых сообщений, документов и фотографий.
То, как и на каком уровне зашифрованы ваши данные, имеет огромное значение. Само по себе то, что продукт или услуга использует шифрование, вовсе не обязательно означает, что все, что хранится на этой платформе или передается посредством ее, является полностью конфиденциальным. Например, Google теперь по умолчанию использует для всего трафика Gmail протокол HTTPS (HTTP по зашифрованному соединению), что предотвращает несанкционированный доступ к электронным письмам во время их передачи между почтовыми серверами Google и компьютерами конечных пользователей, однако это не мешает самому Google получать доступ к текстовым копиям этих писем. Если вы не хотите, чтобы ваш провайдер электронной почты мог читать ваши сообщения, вам придется предпринять дополнительные шаги для реализации сквозного шифрования, то есть системы, в которой «сообщения шифруются таким образом, что расшифровать их может только получатель». При сквозном шифровании содержимое сообщения шифруется на локальном компьютере или устройстве. Затем эти данные в виде зашифрованного текста передаются поставщиком электронной почты предполагаемому получателю, который является единственной стороной, которая может расшифровать их и прочитать исходное сообщение.
Если бы эта статья была зашифрована, любой перехвативший ее зашифрованную версию увидел бы очень длинную строку из несвязных цифр и букв, как, например: «SNaqi82xleab92lkafdtuijgjf0dgfdojtkr8vcp2dso».
Чтобы расшифровать скремблированные данные, вам понадобится «ключ» шифрования (что-то вроде пароля). Ключ – это очень большое число, которое алгоритм шифрования использует для изменения данных обратно в читаемую форму. Без ключа никто, кроме владельца зашифрованных данных, не может получить доступ к читаемой версии. Процесс возврата скремблированных данных к читаемому состоянию называется «расшифровкой». Это и называется шифрованием с симметричным ключом.
У такого шифрования есть свои преимущества. Оно очень быстрое. Оно очень удобно для данных, которые никуда не отправляются. Однако в качестве способа передачи защищенных данных одноключевое шифрование может быть довольно дорогостоящим из-за сложности безопасного распределения ключей.
Вспомните персонажа из какого-нибудь шпионского фильма: человека с запертым портфелем, прикованным наручниками к запястью. Что там у него в портфеле? Вероятно, не сам код запуска ракеты, формула биотоксина или план вторжения. Скорее там лежит ключ для расшифровки секретных данных.
Чтобы отправитель и получатель могли безопасно общаться с помощью симметричного шифрования, они должны договориться о ключе и хранить его в секрете. Если они физически находятся в разных местах, им приходится доверять курьеру, приватной телефонной линии или какому-то другому защищенному средству связи в том, чтобы секретный ключ не был раскрыт во время передачи. Любой, кто случайно получит или намеренно перехватит ключ шифрования при его передаче, сможет прочитать, изменить и подделать информацию, зашифрованную или аутентифицированную с помощью этого ключа. От DES до секретного кольца-декодера капитана Полночь , постоянная проблема с шифрованием с симметричным ключом заключается в распределении ключей: как передать ключ получателю, исключив возможность его перехвата?
В настоящее время действует также Приказ ФСБ России от 9 февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (положение пкз-2005)» 2 , который определяет порядок разработки и эксплуатации криптографических средств.
Что такое криптография
Криптография — это наука о способах и методах шифрования информации. Она защищает передаваемые сообщения и использует опробованные в открытых средах алгоритмы, которые позволяют быстро обнаруживать и устранять любые уязвимости.
К основным принципам работы криптографической системы относят:
- Конфиденциальность — информация никогда не раскрывается не авторизованным пользователям.
- Идентификацию и аутентификацию — перед обменом данными отправитель и получатель идентифицируются, а затем проходят авторизацию.
- Целостность — информация не изменяется и не перемещается.
- Предотвращение отказа — нельзя отказаться от создания или передачи сообщения, что обеспечивает цифровую легитимность и отслеживание транзакций.
Для продолжения изучения криптографии важно разобраться с её основными терминами:
Шифр — совокупность способов преобразования исходного секретного сообщения для его защиты.
Открытый текст — исходное сообщение, которое нужно преобразовать.
Символ — любой знак, который используется для кодирования информации.
Алфавит — множество символов.
Шифрованное сообщение — сообщение, полученное после преобразования с использованием шифра.
Зашифрование — преобразование открытого текста в криптограмму.
Ключ — информация, которая необходима для шифрования и расшифрования сообщений.
Цель криптографии — защита информационной системы от атак злоумышленников.
Криптография решает несколько задач:
- защищает данные от несанкционированного доступа — зашифрованную информацию может прочитать только законный пользователь, обладающий ключом;
- проверяет подлинность сообщений — получатель всегда может проверить источник сообщения;
- проверяет целостность передаваемых данных — получатель может проверить, не было ли сообщение изменено в процессе пересылки;
- гарантирует отправку и получение сообщения — ни получатель, ни отправитель не могут отказаться от факта передачи.
Каждый раунд состоит из нескольких этапов обработки. Набор обратных повторений применяется для преобразования шифротекста в исходный текст с использованием того же самого ключа шифрования.
Современная криптография
Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма криптографически стойки. Распространенные алгоритмы:
Во многих странах приняты национальные стандарты шифрования. В 2001 году в США принят стандарт симметричного шифрования AES на основе алгоритма Rijndael с длиной ключа 128, 192 и 256 бит. Алгоритм AES пришёл на смену прежнему алгоритму DES, который теперь рекомендовано использовать только в режиме Triple DES. В Российской Федерации действует стандарт ГОСТ 28147-89, описывающий алгоритм блочного шифрования с длиной ключа 256 бит, а также алгоритм цифровой подписи ГОСТ Р 34.10-2001.
Криптография с симметричным ключом
Криптография с открытым ключом
Криптоанализ
Криптографические примитивы
Построение криптостойких систем может быть осуществлено путём многократного применения относительно простых криптографических преобразований (примитивов). В качестве таких примитивов Клод Шеннон предложил использовать подстановки (substitution) и перестановки (permutation). Схемы, реализующие эти преобразования, называются SP-сетями. Часто используемыми криптографическими примитивами являются также преобразования типа циклический сдвиг или гаммирование.
Криптографические протоколы
Управление ключами
Государство, законодательство, философия и криптография
Запреты
В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря 2007 N 957 «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты Положения о лицензировании деятельности по:
- распространению шифровальных (криптографических) средств
- техническому обслуживанию шифровальных (криптографических) средств
- предоставлению услуг в области шифрования информации
- разработке, производству шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных и телекоммуникационных систем
Следует отметить, что приложения к данному Постановлению содержат жёсткие требования к лицу-соискателю лицензии, включая его образование, квалификацию, стаж, требования к помещению, охране, информационной и эксплуатационной безопасности при разработке и реализации средств. К примеру, требуется «наличие в штате у соискателя … следующего квалифицированного персонала: руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой деятельности, имеющие высшее профессиональное образование и (или) профессиональную подготовку в области информационной безопасности, а также стаж работы в этой области не менее 5 лет; инженерно-технические работники, имеющие высшее профессиональное образование или прошедшие переподготовку … в области информационной безопасности с получением специализации, необходимой для работы с шифровальными (криптографическими) средствами».
В настоящее время действует также Приказ ФСБ России от 9 февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (положение пкз-2005)» 2 , который определяет порядок разработки и эксплуатации криптографических средств.
В частности, согласно приказу, средства криптографии реализуются «юридическим лицом или индивидуальным предпринимателем, имеющим право на осуществление данного вида деятельности, связанного с шифровальными (криптографическими) средствами … вместе с правилами пользования ими, согласованными с ФСБ России».
Ранее был издан Указ Президента РФ от 3 апреля 1995 N 334 «О мерах по соблюдению законности в области разработки, производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации», постановивший «Запретить использование государственными организациями и предприятиями в информационно-телекоммуникационных системах шифровальных средств, включая криптографические средства обеспечения подлинности информации (электронная подпись), и защищенных технических средств хранения, обработки и передачи информации, не имеющих сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации, а также размещение государственных заказов на предприятиях, в организациях, использующих указанные технические и шифровальные средства, не имеющие сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации» 3 .
Относительно юридических лиц и предпринимателей, желающих разрабатывать либо реализовывать криптосистемы, существуют п. 5―11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О лицензировании отдельных видов деятельности»