Вход/Регистрация
Секреты и ложь. Безопасность данных в цифровом мире
вернуться

Шнайер Брюс

Шрифт:

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

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

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

Если утверждают, что некая программа использует этот алгоритм, то здесь почти наверняка обман. А если и нет, то программа наверняка непригодна для использования или небезопасна.

Протоколы

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

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

Хотите создать безопасный телефон? Используйте криптографию с открытым ключом, чтобы сформировать сеансовый ключ, а затем при помощи этого ключа и симметричной криптографии зашифруйте переговоры. Хэш-функция обеспечивает дополнительную безопасность против атак, проводимых человеком. (Подробнее об этом позже.) Чтобы засекретить сообщение электронной почты, воспользуйтесь криптографией с открытым ключом для соблюдения секретности и схемой цифровой подписи для аутентификации. Электронная торговля? Обычно для нее не требуется ничего, кроме цифровых подписей и, иногда, шифрования для секретности. Секретный контрольный журнал? Возьмите хэш-функции, шифрование, может быть, MAC и перемешайте.

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

1. Покупатель спрашивает у продавца мандарины.

2. Продавец дает ему мандарины.

3. Покупатель платит продавцу.

4. Продавец возвращает ему сдачу.

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

Шаг 2 не будет работать как надо, если продавец не поймет семантическое содержание шага 1. Продавец не выполнит шаг 4, если на шаге 3 не признает деньги настоящими. Попробуйте купить мандарины в США на польские злотые и посмотрите, как вам это удастся.

Нас особо волнуют протоколы безопасности. Кроме всех перечисленных выше требований мы хотим, чтобы покупатель и продавец не имели возможности обманывать (что бы ни означало «обманывать» в нашем контексте). Мы не хотим, чтобы продавец мог заглянуть в бумажник покупателя на шаге 3. Мы не хотим, чтобы продавец не отдал покупателю сдачу на шаге 4. Мы не хотим, чтобы покупатель застрелил продавца на шаге 3 и ушел с украденными мандаринами. Такие способы обмана распространены и в материальном мире, а анонимность киберпространства только увеличивает опасность.

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

1. Алиса передает Бобу ключи и документы.

2. Боб дает Алисе чек на сумму покупки.

3. Алиса кладет деньги в банк.

Здесь Боб запросто может сжульничать. Он может дать Алисе фальшивый чек. Она не будет знать, что чек фальшивый, и не узнает, пока ей не скажут об этом в банке. К тому времени Боб с ее машиной будет уже далеко.

  • Читать дальше
  • 1
  • ...
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: