Приветствую Вас Гость | RSSГлавная | Статьи | Регистрация | Вход
Категории раздела
Wiki
Статьи
Наш опрос
Что вам больше нравится?
Мини-чат
50
Главная » Статьи » Wiki

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

Если вы тоже относитесь к этой категории граждан, то эта короткая заметка поможет вам открыть глаза на некоторые непростые вещи, например, то, что преисподняя успеет замерзнуть, пока спецслужбы вскроют 256-битный ключ AES, в то время как 512-битный ключ RSA может быть вскрыт меньше, чем за сутки. Однако при этом алгоритм шифрования AES совсем не круче RSA. Эти алгоритмы даже сравнивать нельзя, т. к. у них разное назначение: первый является алгоритмом симметричного шифрования, а второй – ассиметричного. Сравнивать их также бессмысленно как, например, сравнивать танк и вертолет, вроде бы и то и другое техника, а назначение разное. Но об этом дальше будет немного подробнее.

А сейчас спросите себя, выдели ли вы когда-нибудь криптографический ключ? Например, в описании к архиватору WinRAR сказано, что в нем для шифрования используется 128-битный ключ AES. Где находится этот ключ? Подумайте, может быть спецслужбам будет гораздо проще взломать ваш пароль из четырех символов, который вы установили на архив, а не какой-то там 128-битный ключ? Об этом мы тоже поговорим.

Лучше запомните сразу твердо и навсегда: для шифрования электронной почтовой переписки следует использовать только и только PGP. Простые способы шифрования информации с помощью пароля и отправки по электронной почте (например, в зашифрованном архиве) являются ненадежными, т. к. основаны на симметричном шифровании. Все системы, основанные на симметричном шифровании, такие как TrueCrypt хорошо подходят только для надежного ХРАНЕНИЯ информации, но не для пересылки по линиям связи. Для пересылки важной информации по линиям связи нужно использовать только системы ассиметричного шифрования. Все современные технологии шифрования трафика, такие как SSL/TLS, SSH, VPN и PGP основаны на ассиметричном шифровании.

А теперь все по порядку. В настоящее время существует два основных способа шифрования:

  • симметричное;
  • ассиметричное, называемое также "шифрованием с открытым ключом".

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

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

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

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

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

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

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

Сертификация осуществляется независимой третьей стороной, так называемым центром сертификации (Certificate Authority (CA)) – это отдельный сервер в сети, который выдает и проверяет цифровые сертификаты пользователей. Сайты некоторых популярных в России центров сертификации: http://www.ank-pki.ru , http://www.y-center.ru , http://ssl.ru/ru/ . Если вы желаете "привязать" к своему открытому ключу сертификат, то можете обратиться в один из центров сертификации и приобрести такую услугу.

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

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

Популярными и наиболее надежными алгоритмами симметричного шифрования являются: TripleDES (3DES), AES (Rijndael), ГОСТ 28147-89, Blowfish, Twofish.

Популярные и надежные алгоритмы асимметричного шифрования: RSA, DSA, Elgamal.

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

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

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

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

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

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

Источник: http://www.sklyaroff.ru/comm.php?mess=13

Категория: Wiki | Добавил: Dark_MX (14.07.2008) | Автор: Иван Скляров
Просмотров: 4078 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт
Поиск