Информационная безопасность: криптография. Что заставило меня написать данную статью? Наверное, то, что хотя тема защиты информации стала в наши дни особенно актуальна, многие (в частности даже некоторые специалисты по защите информации!) по-прежнему считают, что им это не надо, наивно полагая, что их информация и так достаточно хорошо защищена. И это является очень большой ошибкой… Криптография практически является неотъемлемой частью информационной безопасности. И на это есть серьезные причины: криптография – один из основных инструментов, использующихся для защиты информации. Криптография (cryptography) переводится, как «тайнопись». Потребность в криптографии возникла, когда требовалось передать нужную информацию таким образом, чтобы никто чужой не мог получить к ней доступ. Параллельно с методами шифрования разрабатывались и методы взлома этих шифров. Исследованием криптографических алгоритмов с целью оценки их стойкости и поиска слабых мест занимается криптоанализ. Основная задача криптографии – обеспечение секретности данных – реализуется с помощью различных алгоритмов шифрования. Для расшифровки информации используются несколько методов, среди которых метод полного перебора. Хороший алгоритм шифрования должно быть невозможно расшифровать более эффективным методом, чем полным перебором, иначе безопасность данных сведется к нулю. Несмотря на то, что криптография и криптоанализ существуют на протяжении многих лет, до сих пор не существует такого математического аппарата, который позволил бы доказать надежность какого-либо алгоритма шифрования данных, вскрыть который нельзя более эффективным способом, чем полным перебором всевозможных значений. Именно поэтому нельзя быть на все сто процентов уверенным в качестве шифрования данного алгоритма, особенно если он не прошел необходимых проверок на надежность и качество защиты данных. На настоящий момент основным методом проверки криптографической стойкости алгоритмов является экспертная оценка. Это значит, что новый алгоритм открыто публикуется, и все желающие получают возможность попытаться найти в нем незащищенные места. Если кто-либо из криптоаналитиков сможет обнаружить серьезные недостатки, алгоритм теряет все свои шансы. Или наоборот: если же не удается обнаружить никаких значимых уязвимостей в течении долгого времени (обычно для этого требуется несколько лет), то он занимает почетное место среди других алгоритмов, рекомендуемых для применения на практике. Именно поэтому проводятся различные конкурсы на выбор лучшего алгоритма для принятия его национальным стандартом шифрования. В Советском Союзе криптография находилась в ведении военных или спецслужб, то есть была строго засекречена. Но с 1989 года это перестало быть государственной тайной. Каждая страна, как правило, имеет свой стандарт шифрования. К примеру в США в 2001 году стандартом шифрования данных стал алгоритм Rijndael (AES). На настоящий момент существует огромное количество самых разнообразных криптографических алгоритмов. Но наиболее широко используются и заслуженно пользуются огромной популярностью такие алгоритмы, как: AES, Blowfish, CAST5, Twofish, Serpent. Конечно все они различаются и имеют свои достоинства и недостатки. Все криптографические алгоритмы проходят многократную проверку, прежде чем начинают использоваться в массовом порядке. Основными критериями оценки криптографического алгоритма являются: · криптостойкость. · скорость алгоритма. · удобство шифрования. · простота. Но, наверное, самыми важными параметрами все же можно считать криптостойкость и скорость алгоритма. Криптостойкость определяет стойкость алгоритма к различным способам расшифровки. Например, большинство крипто-алгоритмов можно расшифровать только методом полного перебора. Скорость алгоритма является также очень важным параметром. К примеру алгоритм Blowfish способен шифровать со скоростью 40,9 мб/с, AES – 24,5 мб/с, Serpent – 15,3 мб/с, а цепочка алгоритмов AES – Twofish – Serpent может шифровать данные со скоростью 6,8 мб/с. В качестве хеш-функции лучшим выбором является модификация одного из алгоритмов семейства SHA (SHA-1, SHA-256, SHA-384, SHA-512). Если на компьютере имеется очень важная информация, то тут на помощь приходит криптография. Существует огромное множество различных программ для шифрования данных. Но лично я использую программу TrueCrypt. В чем заключается работа программы? Она создает том, который впоследствии можно монтировать, как обычный раздел жесткого диска, информация в котором надежно шифруется выбранным алгоритмом или даже цепочкой алгоритмов (в зависимости от вашего выбора). Самое интересное – это то, что данный том может быть сохранен под абсолютно любым именем. То есть, если том сохранить в папке windows\system32 под именем system.dll, то вряд ли кто догадается, что это том, в котором содержится очень важная информация. При создании тома необходимо его качественно защитить паролем, для чего рекомендую указывать сложный пароль длиной не менее 14 символов, включающий в себя цифры и буквы и, желательно, символы. Также очень рекомендуется указать ключевой файл для дополнительной защиты тома (то есть, если файла не будет или он будет поврежден, то том будет непригоден к использованию: вы просто не сможете его смонтировать. Поэтому ключевой файл лучше скопировать на дискету для сохранности.) Какой файл лучше выбрать в качестве ключевого? Такой, что бы подделать его другим лицам было невозможно. Например, можно взять любой exe-файл небольшого размера и сменить расширение на .txt.Потом открыть полученный файл в Блокноте и удалить несколько произвольных строк в начале файла. Все. Теперь данный файл подделать практически нереально. Потом переместить файл куда-нибудь в папку Windows, например, сменив название на security.log и задать его в качестве ключевого файла. Также можно использовать встроенную в программу TrueCrypt утилиту для создания случайного ключевого файла (Ключевые файлы – Создать случайный ключевой файл). В общем, если том защищать подобными средствами, то вероятность того, что к информации, хранящейся в томе, сможет получить доступ посторонний человек, сводится к нулю. Когда том готов к использованию, можно смело сохранять там всю важную информацию безо всякого опасения. Таким образом, TrueCrypt является одной из лучших программ, призванных защитить ваши секретные данные. Также для шифрования данных можно использовать достаточно известную и популярную в широких кругах программу PGP Desktop. Это также достаточно сильное средство криптографической защиты. Сила PGP не в том, что никто не знает, как ее взломать иначе как используя принцип полного перебора (это не сила, а условие существования хорошей программы для шифрования), а в превосходно продуманном и чрезвычайно мощном механизме обработки ключей, быстроте, удобстве и широте распространения. Существуют десятки не менее сильных алгоритмов шифровки, чем тот, который используется в PGP, но популярность и бесплатное распространение сделали PGP фактическим стандартом для электронной переписки во всем мире. Я не стану подробно рассматривать данную программу, так как ходят слухи, что версии "старше" 6 имеют лазейки для спецслужб. Подводя итог, могу сказать, что защищать информацию можно и нужно. На сегодняшний день это является практически обязательным условием качественной защиты важной информации. Конечно, шифрование, как и любое средство защиты, создает дополнительные неудобства для пользователя, но сначала нужно хорошо подумать, что важнее: ограниченный доступ к информации, либо быстрота и легкость доступа к ней. Как всегда выбор остается за вами… З.Ы. Статья написана давно, но имхо по-прежнему актуальна .
Хм.. расписал бы хоть что такое ключ, привел бы алгоритмы.. вот вспомнилась курсовая паранойи.. вот там было интересно
По-моему, скорость шифрования по цепочке алгоритмов должна упасть, а тут получается, что скорость возрасла причем в несколько раз.
TaNkist: я долго думал, каким образом скорость в цепочке (6,8) больше скорости одиночного алгоритма (40,9 или 24,5 или 15,3). Может ты запятой в 6,8 не увидел? %)))))
мне вообще не понятна фраза "..алгоритм Blowfish способен шифровать со скоростью.." Шифрует не алгоритм, шифрует ЭВМ по алгоритму.. и скорость эта будет зависеть как от общей производительности этой ЭВМ, так и от особенностей архитектуры проца..
имхо тут: http://ref.ewreka.ru/r25577/ лучше расписали + скорость алгоритма мереется его "сложностью" - например, сложность ln(n) и сложность чаще всего различна при разных ограничениях входящих данных (например, сложность алгоритма Форда-Беллмана, при положительных весах равна (количество ребер)*вершин) ЗЫ криво, но лучше почитайте: http://www.olympiads.ru/sng/8/index.shtml
/me долго искать тот плюс, который ему кинул =Be$=, но так и не нашел ))) Digimortal: скорость шифрования измерялась на нескольких тачках с различной конфигурацией, и здесь по сути среднее значение для большинства машин средней производительности.
Digimortal, ты неправ. если расбираться с алго на самом "низком" уровне (ветки етц), то понимаешь, 4то именно параметры этого уровеня и дикту.т скорость обработки бло4ным шифром отрытого текста
Почему неправ? Я ведь о том же и говорю. Просто следует различать скорость алгоритма (которая есть, по сути, его сложность) и скорость срабатывания алгоритма в конкретной его реализации на конкретной платформе. Скорость работы криптоалгоритма измеряется числом тактов работы процессора, затраченных на шифрование, разшифрование блока данных, на развертывание ключа и на настройку алгоритма. Поэтому приводить скорость алгоритма в мб/с имхо не совсем правильно. Один и тот же криптоалгоритм в разных программных реализациях может иметь совершенно различную скорость работы даже на одной и той же тачке...