В 1929-34 гг., опасаясь военного вторжения со стороны Германии, французский военный министр А. Мажино предложил построить систему неприступных укреплений по всему периметру северо-восточной границы Франции от Швейцарии до Бельгии. Эта система оборонительных укреплений, протянувшаяся на 380 километров и состоящая из 5600 долговременных огневых сооружений, врытых на глубину до 30 метров, получила название "линия Мажино". Охранял этот, считавшийся неприступным, рубеж гарнизон, насчитывающий около 200 тысяч солдат. Однако в 1940 после того как генерал-фельдмаршал немецкой армии фон Бок обошел данные укрепления через Бельгию и взял Париж, "линия Мажино" пала, лишний раз подтвердив поговорку "не все то золото, что блестит".
К сожалению, такая же ситуация складывается в настоящий момент и с шифрованием, которое преподносится многими как панацея от всех бед. И на первый взгляд, может показаться, что это действительно так. Почему-то считается, что шифрование - спасает от неусыпного ока государства, хакеров и им подобных любителей заглянуть в замочную скважину. Если данные скрыты от посторонних глаз и согласно математическим расчетам на вскрытие шифра потребуется сотни лет, то многие закономерно считают, что этого достаточно для безопасности своих данных. Но, как поется в художественном детском фильме "Айболит-69" и как продемонстрировал германский генерал фон Бок: "Нормальные герои всегда идут в обход".
Многие видели на городских улицах банковские бронированные КАМАЗы, перевозящие деньги от одной точки к центральному хранилищу. Закованные в броню КАМАЗы, в недрах которых могут находится баснословные ценности, - это точная аналогия шифрования информации. Кстати, а вы уверены, что эти КАМАЗы перевозят огромные ценности? Может быть они перевозят обеды для сотрудников удаленного офиса? Однако оставим вопрос соизмеримости стоимости защитных мер со стоимостью защищаемой информации за рамками данной статьи и вспомним любой гангстерский боевик, в котором грабители нападают на грузовики, перевозившие ценности. Как они это делали? Случаи грубого взрыва автомобиля или его угона с последующей безрезультатной тратой не одного месяца на вскрытие бронированной двери автогеном практически не встречаются. А если они и происходят, то только по причине неопытности нападавших. Более "продвинутые" грабители идут другим путем. Они или заставляют сидевших в грузовике инкассаторов самим открыть двери фургона, либо совершают свои опустошительные набеги в момент загрузки или выгрузки мешков с деньгами.
В других фильмах, в которых бездарные злоумышленники безуспешно пытались проникнуть за бронированную перегородку, перебирая все возможные вариации или крутя диск на дверце сейфа, "продвинутые" грабители подсматривали в подзорную трубу нужную комбинацию. Эти фильмы и подсказывают нам все слабые места шифрования. Слышали ли о случаях взлома каких-либо шифров по причине слабой математики? И не просто о гипотетической возможности взлома, а о реально произошедшей в каком-либо банке или военном ведомстве примере? Я - нет (если не брать в расчет слухи о том, что Кучма взломал шифры посольств стран НАТО, о чем повествовала "Новая газета" 30 сентября 2002 года). Все о чем мне доводилось слышать - это о различных попытках полного перебора возможных ключей шифрования для распространенных алгоритмов шифрования (например, DES и RC5). Наиболее известный проект - distributed.net, направленный на привлечение свободных сетевых компьютеров для участия в распределенных вычислениях ключа шифрования. Даже для алгоритмов с длиной ключа 64 бит время перебора составляет не менее 3 лет, а современные алгоритмы используют ключи длиной 128 и больше бит. Немного забегая вперед, скажу, что почти все известные случаи взлома шифров были осуществлены другими способами. Например, чтение засекреченных данных немецких военных во время второй мировой войны стало возможным благодаря тому, что в руки союзников попала шифровальная машина Энигма. В других случаях, ключи шифрования попадали в руки военных агентурными или иными (но, как правило, не математическими) методами.
Однако это только так кажется, что шифр ломается только специалистами-математиками, и только используя сложные алгоритмические преобразования. На практике все гораздо прозаичнее и ореол таинственности, которым себя окружают различные спецслужбы, сквозит прорехами, через которые мы и заглянем в эти "тайны". Можете ли вы запомнить ключ "cю}БТфР9" (0x63DE7DC154F4D039)? А ведь именно такой ключ использовался в проекте distributed.net по взлому 64-битного алгоритма RC5. А можете ли вы сами создать такой ключ? Скорее всего, для ключа шифрования вы воспользуетесь гораздо лучше запоминаемым словом. Понимая это, злоумышленники концентрируются на совсем иных способах проникновения за завесу тайны, чем обычный метод "грубой силы". Во-первых, на человеческом факторе. Зная, КАК пользователи выбирают себе пароли, злоумышленник может существенно сэкономить себе время. А как происходит такой выбор? Пользователь, как существо по природе своей ленивое, не хочет утруждать себя процедурой выработки правильного ключа шифрования и тем более заниматься тестированием качества созданного им пароля. Мало того, даже если кто-то побеспокоился о пользователе и создал для него стойкий ключ, пользователь не захочет напрягать свои мозговые клетки для запоминания сложной комбинации цифр и букв в верхнем и нижнем регистрах. В большинстве случаев пользователь выберет для такого ключа свое имя, название своей компании, имя жены или любимой рыбки, номер телефона или автомобиля и т.п. В "лучшем" случае пользователь для ключа выбирает какое-то осмысленное слово, но и здесь его подстерегает ловушка. Несмотря на то, что всех возможных комбинаций букв русского языка очень много, 17-томный "Словарь современного русского литературного языка" включает в себя всего 120480 слов (кстати, 4-хтомный "Словарь живого великорусского языка" В.И. Даля содержит около 200000 слов). Но где вы встречали человека, который оперирует таким многообразием слов? Даже Пушкин оперировал всего 22000 словами ("Словарь языка А.С. Пушкина" включает 21 290 разных слов), а словарный запас современного взрослого образованного человека, по данным ученых, не превышает 10-12 тысяч слов. Осуществить их полный перебор не составляет большого труда даже для персонального компьютера средней мощности. А зная область интересов человека, ключ или пароль которого необходимо узнать, число возможных вариантов сокращается еще больше.
Известен анекдотичный случай, когда при запросе "Введите пароль:" около трети американских военных вводили... "пароль". Еще больше число возможных вариантов сокращается, если знать, что большинство паролей вводится только в нижнем регистре без применения цифр, знаков препинания и иных символов. Ну и, наконец, в Internet можно найти уже готовые файлы, содержащие 200 самых распространенных паролей", "1000 самых распространенных паролей" и т.п. Таким образом, спецслужбам нет нужды заниматься сложными алгоритмическими преобразованиями, направленным на взлом того или иного шифра. Достаточно знать основы человеческой психологии в применении к информационной безопасности.
Другой способ обойти все шифровальные препоны - проникнуть в устройство, осуществляющее шифрование. Другими словами, достаточно внедрить на ваш компьютер троянца и все, "ваше дело в шляпе". Злоумышленники смогут получить доступ ко всей важной информации, в т.ч. к паролям и ключам шифрования. Так, например, поступили в 1999 году агенты ФБР, пытавшиеся получить доказательства преступной деятельности мафиози Никодемо Скарфо, делающего деньги на нелегальном игровом бизнесе в Нью-Джерси. Этот субъект шифровал все компрометирующие себя файлы (по некоторым данным с помощью известной программы PGP). Однако агенты ФБР оказались тоже "не лыком шиты", - они внедрили на компьютер Скарфо клавиатурного шпиона, который регистрировал все нажатия клавиш, в т.ч. и в момент ввода пароля доступа к засекреченным данным. После этого ФБР смогло собрать все необходимые доказательства и улики, и в феврале 2002 года Скарфо был осужден американским правосудием. Именно поэтому в инструкциях ко многим средствам криптографической защиты написано, что пользователь обязан обеспечить защиту своего компьютера и ключей. Но кто из, считающих себя продвинутыми, пользователей читает документацию?
Эти два примера лишний раз показывают, что шифрование само по себе не решает никаких проблем. Без применения дополнительных мер защиты (технических и организационных) использование шифрования лишь введет вас в заблуждение по поводу вашей защищенности. А нет ничего хуже чувства ложной безопасности. Вы будете думать, что ваши данные надежно скрыты от любопытных глаз, а на самом деле к ним смогут получить доступ все желающие.
В заключение хочу только привести слова известного во всем мире специалиста по информационной безопасности Юджина Спаффорд о шифровании: "это эквивалентно применению бронированного автомобиля для перевозки кредитной карты от кого-то, живущего в картонной коробке, кому-то, живущему на скамейке в парке".