ru
Назад к списку

Криптография: сохраняя конфиденциальность

21 Июнь 2019 12:18, UTC
Александр БВ
Криптографические технологии в современном мире используются повсеместно. В любых областях, где происходит передача или обработка данных, во многих продуктах и сервисах, в деятельности государственных, коммерческих и некоммерческих организаций; каждый день, каждую минуту и секунду вокруг нас происходят процессы шифрования и дешифрования данных – криптографические процессы.

Нужны ли современному человеку знания о них? Редакция BNT полагает, что да, нужны – хотя бы на уровне представления о том, кто, как и почему применяет криптографию в областях, которые касаются любого. В первой статье речь пойдет о самой науке, ее принципах и основных методах, а во второй – о том, где конкретно применяются достижения криптографии.

Трудности и заслоны

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

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

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

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

Что есть криптография

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

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

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

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

Ключ: размер имеет значение

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

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

В то же время слишком большой ключ – это не самое разумное решение: шифрование-расшифровка будут «стоить» дороже и для «законных» пользователей – им будут нужны более высокие вычислительные мощности и больше времени. Однако компьютерные системы постоянно совершенствуются, становятся все более производительными и быстрыми. Это приводит к ситуации, когда ключи, считавшиеся достаточно надежными 10 лет назад, сегодня сравнительно легко взламываются.

Симметричный алгоритм

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

Закодированное послание можно отправлять по открытым каналам связи. Злоумышленник может получить к нему доступ, но прочитать не сможет. Получатель сообщения должен обладать тем же самым ключом, иначе и у него не получится узнать содержимое послания.

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

Однако есть и проблема: ключ должен быть секретным и его нужно как-то доставить получателю. Требуется надежный канал, к которому нет доступа у посторонних, а секретный ключ теперь будет известен обеим сторонам – вероятность его раскрытия увеличивается.

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

Асимметричный алгоритм

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

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

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

Гибридная криптосистема

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

Отправитель посылает само зашифрованное сообщение и зашифрованный секретный ключ. Получателю нужно сначала раскодировать ключ, а потом с помощью него раскодировать сообщение.

Хеширование: все в фарш

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

Свойство хеширования – строгое соответствие определенного короткого набора данных, хеша строго одному набору входных данных произвольного размера. Оно позволяет применять хеш-функции для защиты информации от подделки и изменения, для сравнения больших объемов данных, для сопоставления объемного массива данных с гораздо меньшим по размеру.

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

Квантовые компьютеры угрожают

22-05-2019 15:48:38  |   Технологии
В настоящее время квантовые компьютеры еще малы и бессильны – их разработка и создание требуют серьезных ресурсов и глубоких исследований. Но работы ведутся, и недалек тот час, когда квантовые вычисления станут доступными всему человечеству. Этот час станет последним для криптографии в том виде, в котором она известна сейчас.

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

14-06-2019 15:12:24  |   Аналитика
Однако, наверное, не стоит впадать в панику и обреченно ждать апокалипсиса. Вместе с доказательством «слабости» нынешних криптографических алгоритмов проводятся исследования и разработка тех, которые не спасуют, – квантово устойчивых алгоритмов. Область криптографии, в которой изучают такие технологии, называется «постквантовая криптография».

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

Иллюстрация: The SSL Store