Сайт о телевидении

Сайт о телевидении

» » Открытый и закрытый ключ шифрования. Криптография с открытым ключом Длина ключа шифрования

Открытый и закрытый ключ шифрования. Криптография с открытым ключом Длина ключа шифрования

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

Что такое ключ в криптографии?

Ключ в криптографии представляет собой секретную информацию, которая применяется в криптографии для шифрования и декодирования сообщений, для простановки цифровой подписи и ее проверки, для вычисления кодов аутентичности сообщений и прочее. Насколько ключ надежен определяется так называемой длиной ключа, которая измеряется в битах. Стандартной длиной ключа для SSL сертификатов считается 128 или 256 бит. Длина ключа сертификата корневого центра сертификации (root certificate) не должна быть ниже 4096 бит. Все центры сертификации, с которыми мы сотрудничаем, предоставляют SSL сертификаты с ключом, полностью соответствующим современным стандартам:

Открытый и закрытый ключ в ассиметричном шифровании

В ассиметричном шифровании применяется пара ключей : открытый (Public key) и закрытый , также называемый секретным (Private key ). Открытый и закрытый ключи в данном случае позволяют криптографическому алгоритму шифровать и дешифровать сообщение. При этом сообщения, зашифрованные открытым ключом, расшифровать можно только с помощью закрытого ключа. Открытый ключ публикуется в сертификате владельца и доступен подключившемуся клиенту, а закрытый – хранится у владельца сертификата. Открытый и закрытый ключ между собой связаны математическими зависимостями, поэтому подобрать открытый или закрытый ключ невозможно за короткое время (срок действия сертификата). Именно поэтому максимальный срок действия SSL сертификатов более высого уровня защиты всегда ниже. Так, можно заказать максимум на 2 года. При этом заказывая новый SSL сертификат или продлевая старый, важно генерировать новый CSR запрос, так как к нему привязывается Ваш закрытый ключ и при выпуске нового SSL сертификата лучше его обновлять. Взаимодействие клиента с сервером происходит следующим образом:
  1. браузер на основе открытого ключа шифрует запрос и отправляет его на сервер;
  2. сервер, применяя закрытый ключ, расшифровывает полученное сообщение;
  3. сервер шифрует закрытым ключом свой цифровой идентификатор и передает его клиенту;
  4. клиент сверяет идентификатор сервера и передает свой;
  5. после взаимной аутентификации клиент шифрует открытым ключом ключ будущей сессии и передает его на сервер;
  6. все последующие сообщения, которые передаются между клиентом и сервером, подписываются ключом сессии и шифруются с использованием открытого и закрытого ключа.
Таким образом обеспечиваются несколько пунктов безопасности:
  • исключается возможность утечки информации – при перехвате её нельзя будет расшифровать;
  • сервер подтверждает свой адрес и идентификатор, отсекается возможность перенаправления на другой сайт (фишинг);
  • клиенту присваивается индивидуальная сессия, что позволяет отличать его от других клиентов более надежно;
  • после установки защищенной сессии все сообщения шифруются с использованием идентификатора клиента, и не могут быть незаметно перехвачены или изменены.

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

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

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

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

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

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

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

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



В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей - закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ - открытый (public key), он может быть доступен

любому желающему.

Методы аутентификации

Аутентификация - выдача определённых прав доступа абоненту на основе имеющегося у него идентификатора. IEEE 802.11 предусматривает два метода аутентификации:

1. Открытая аутентификация (англ. Open Authentication ):

Рабочая станция делает запрос аутентификации, в котором присутствует только MAC-адрес клиента. Точка доступа отвечает либо отказом, либо подтверждением аутентификации. Решение принимается на основе MAC-фильтрации, т.е. по сути это защита на основе ограничения доступа, что не безопасно.

2. Аутентификация с общим ключом (англ. Shared Key Authentication ):

Необходимо настроить статический ключ шифрования алгоритма WEP (англ. Wired Equivalent Privacy ). Клиент делает запрос у точки доступа на аутентификацию, на что получает подтверждение, которое содержит 128 байт случайной информации. Станция шифрует полученные данные алгоритмом WEP (проводится побитовое сложение по модулю 2 данных сообщения с последовательностью ключа) и отправляет зашифрованный текст вместе с запросом на ассоциацию. Точка доступа расшифровывает текст и сравнивает с исходными данными. В случае совпадения отсылается подтверждение ассоциации, и клиент считается подключенным к сети.
Схема аутентификации с общим ключом уязвима к атакам «Man in the middle». Алгоритм шифрования WEP – это простой XOR ключевой последовательности с полезной информацией, следовательно, прослушав трафик между станцией и точкой доступа, можно восстановить часть ключа.
IEEE начал разработки нового стандарта IEEE 802.11i, но из-за трудностей утверждения, организация WECA (англ. Wi-Fi Alliance ) совместно с IEEE анонсировали стандарт WPA (англ. Wi-Fi Protected Access ). В WPA используется TKIP (англ.Temporal Key Integrity Protocol , протокол проверки целостности ключа), который использует усовершенствованный способ управления ключами и покадровое изменение ключа.

WPA также использует два способа аутентификации:

1. Аутентификация с помощью предустановленного ключа WPA-PSK (англ. Pre-Shared Key ) (Enterprise Autentification);

2. Аутентификация с помощью RADIUS-сервера (англ. Remote Access Dial-in User Service )

Виды шифрования

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

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

В зависимости от структуры используемых ключей методы шифрования подразделяются на

§ симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации - ключа, одинакового для отправителя и получателя сообщения;

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

Существуют следующие криптографические примитивы:

§ Бесключевые

1. Хеш-функции

2. Односторонние перестановки

3. Генераторы псевдослучайных чисел

§ Симметричные схемы

1. Шифры (блочные,потоковые)

2. Хеш-функции

4. Генераторы псевдослучайных чисел

5. Примитивы идентификации

§ Асимметричные схемы

3. Примитивы идентификации

Шифрование данных на диске
Система Zserver - средство защиты конфиденциальной информации, хранимой и обрабатываемой на корпоративных серверах, методом шифрования данных на диске. Zserver работает по принципу «прозрачного» шифрования разделов жестких дисков. Система автоматически, в online режиме, осуществляет шифрование информации при записи на диск и расшифровывает при чтении с него. Это обеспечивает хранение данных на диске в зашифрованном виде и невозможность использования их без ключа шифрования даже при изъятии сервера или носителя. Система Zserver обеспечивает шифрование файлов и папок на диске, а также всей служебной информации - таблицы размещения файлов и т. д. Таким образом, система Zserver не только надежно защищает конфиденциальные данные, но и скрывает сам факт их наличия от посторонних. Информация на защищенных дисках хранится в зашифрованном виде и становится доступна, только когда администратор сети предоставит пользователю соответствующие полномочия. Права доступа к защищенным дискам устанавливаются средствами операционной системы. Шифрование файлов и папок на диске осуществляется программным драйвером. Ключи шифрования данных на диске вводятся при загрузке сервера со смарт-карты, защищенной PIN-кодом. Не зная PIN-кода, воспользоваться смарт-картой нельзя. Три попытки неправильного ввода PIN-кода заблокируют карту. Смарт-карта необходима только при подключении защищенных носителей, и в процессе работы не требуется. При перезагрузке сервера без смарт-карты, защищенные диски не будут доступны. Система Zserver предоставляет возможность удаленного ввода ключей шифрования и администрирования системы с любой рабочей станции локальной сети, или через Интернет. В настоящее время разработаны системы Zserver, которые работают под управлением следующих операционных систем: Windows 2000/XP/2003/2008 (32- и 64-разрядные); Linux с ядром 2.6.x.

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

Криптография предполагает наличие трех компонентов: данных, ключа и криптографического преобразования. При шифровании исходными данными будет сообщение, а результирующими - шифровка. При расшифрований они меняются местами. Считается, что криптографическое преобразование известно всем, но, не зная ключа, с помощью которого пользователь закрыл смысл сообщения от любопытных глаз, требуется потратить невообразимо много усилий на восстановление текста сообщения. (Следует еще раз повторить, что нет абсолютно устойчивого от вскрытия шифрования. Качество шифра определяется лишь деньгами, которые нужно выложить за его вскрытие от $10 и до $1000000.) Такое требование удовлетворяется рядом современных криптографических систем, например, созданных по "Стандарту шифрования данных Национального бюро стандартов США" DES и ГОСТ 28147-89. Так как ряд данных критичен к некоторым их искажениям, которые нельзя обнаружить из контекста, то обычно используются лишь такие способы шифрования, которые чувствительны к искажению любого символа. Они гарантируют не только высокую секретность, но и эффективное обнаружение любых искажений или ошибок.

Параметры алгоритмов

Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:

§ стойкость

§ длина ключа

§ число раундов

§ длина обрабатываемого блока

§ сложность аппаратной/программной реализации

§ сложность преобразования

[Распространенные алгоритмы

§ AES (англ. Advanced Encryption Standard ) - американский стандарт шифрования

§ ГОСТ 28147-89 - отечественный стандарт шифрования данных

§ DES (англ. Data Encryption Standard ) - стандарт шифрования данных в США до AES

§ 3DES (Triple-DES, тройной DES)

§ RC6 (Шифр Ривеста)

§ IDEA (англ. International Data Encryption Algorithm )

§ SEED - корейский стандарт шифрования данных

Криптографические ключи могут отличатся друг от друга по своей длине, что следовательно и по силе данного ключа. Чем больше длина ключа, тем больше возможных комбинаций подбора. К примеру, если использовать ключ длины 128 битов, то ключ будет один из 2128 возможных вариантов. Похититель скорее всего выиграет в лотерею, чем подберет возможный ключ. На стандартном домашнем ПК для ключа длиной 40 бит нужно потратить 6 часов времени для перебора всех возможных. При этом даже ключи с длиной 128 бит могут быть уязвимыми, и профессионалы могут их взломать.

Надежность симметрической на прямую зависит от стойкости длины ключа и алгоритма при шифровании. Если к примеру что алгоритм идеален, то дешифровать его можно только методом перебора всех ключей. Для реализации такого метода нужно немного шифротекста, и открытый текст. К примеру если длина ключа 128 бит, то суперкомпьютеру понадобится 1025 лет для перебора всех ключей. Сразу возникает вопрос, почему не использовать длину ключа over9999, или же в 4000 байт.
При этом криптография очень тонкая наука, там где мы захотим повысить надежность, мы можем минимальными изменениями в алгоритме наоборот понизить. При проверки стойкости алгоритма шифрования, проверяют условия при котором злоумышленник может получить достаточное количество открытого текста или шифротекста. К счастью, в реалиях существует очень мало людей, которые действительно обладают высокой квалификацией что бы реализовать удачные атаки для дешифрования данных.

Многие алгоритмы шифрования с открытым ключом реализуют функции разложения на множители числа, которое является произведением двух больших простых чисел. в 70-х годах для разложения числа из 125 цифр нужно было десятки квадрильонов лет. На сегодня это не состоит большого времени. Выше был задан вопрос, почему же не использовать overr9999 длинные ключи, ведь тогда не будет повставать вопрос со стойкостью и надежностью. Нужно учитывать не только надежность и секретность, но и время ценности информации и время затраченное на реализацию такого шифрования. К примеру информация потеряет ценность через 10 лет, а мы потратили финансовые ресурсы которые окупятся только через 20 лет, где логика?

Для оценки открытого ключа, нужно измерять криптоаналитическую вычислительную силу в мопс-годах. Это количество операций в секунду, которые выполняются за год. К примеру корпорации имеют — 107 мопс-лет, а правительство 109-мопс лет. На рис.1. видно сколько нужно времени для разложении разных по длине чисел. Зачастую все таки ценную информацию шифруют на долгое время. Идея потратить пару месяцев на разложение большого числа на множителя ради того, что бы получить возможность делать покупки чужой кредитной карточкой есть привлекательной. Рекомендуемая длина открытых ключей показана на рис.2.

Рисунок — 1

Рисунок — 2

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