Информационная безопасность: криптография.

Discussion in 'Статьи' started by S7iL3t, 31 Oct 2006.

  1. S7iL3t

    S7iL3t Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    42
    Likes Received:
    26
    Reputations:
    30
    Информационная безопасность: криптография.

    Что заставило меня написать данную статью? Наверное, то, что хотя тема защиты информации стала в наши дни особенно актуальна, многие (в частности даже некоторые специалисты по защите информации!) по-прежнему считают, что им это не надо, наивно полагая, что их информация и так достаточно хорошо защищена. И это является очень большой ошибкой…
    Криптография практически является неотъемлемой частью информационной безопасности. И на это есть серьезные причины: криптография – один из основных инструментов, использующихся для защиты информации. Криптография (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 имеют лазейки для спецслужб.
    Подводя итог, могу сказать, что защищать информацию можно и нужно. На сегодняшний день это является практически обязательным условием качественной защиты важной информации. Конечно, шифрование, как и любое средство защиты, создает дополнительные неудобства для пользователя, но сначала нужно хорошо подумать, что важнее: ограниченный доступ к информации, либо быстрота и легкость доступа к ней. Как всегда выбор остается за вами…

    З.Ы. Статья написана давно, но имхо по-прежнему актуальна ;).
     
    3 people like this.
  2. r0

    r0 Elder - Старейшина

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    Хм.. расписал бы хоть что такое ключ, привел бы алгоритмы.. вот вспомнилась курсовая паранойи.. вот там было интересно
     
  3. TaNkist

    TaNkist Elder - Старейшина

    Joined:
    6 Apr 2006
    Messages:
    147
    Likes Received:
    47
    Reputations:
    19
    По-моему, скорость шифрования по цепочке алгоритмов должна упасть, а тут получается, что скорость возрасла причем в несколько раз.
     
  4. S7iL3t

    S7iL3t Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    42
    Likes Received:
    26
    Reputations:
    30
    TaNkist: я долго думал, каким образом скорость в цепочке (6,8) больше скорости одиночного алгоритма (40,9 или 24,5 или 15,3). Может ты запятой в 6,8 не увидел? %)))))
     
  5. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    и бловфиш, сдается мне, быстрее отрабатывает...
     
  6. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    мне вообще не понятна фраза "..алгоритм Blowfish способен шифровать со скоростью.." Шифрует не алгоритм, шифрует ЭВМ по алгоритму.. и скорость эта будет зависеть как от общей производительности этой ЭВМ, так и от особенностей архитектуры проца..
     
  7. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    имхо тут: http://ref.ewreka.ru/r25577/ лучше расписали + скорость алгоритма мереется его "сложностью" - например, сложность ln(n) и сложность чаще всего различна при разных ограничениях входящих данных (например, сложность алгоритма Форда-Беллмана, при положительных весах равна (количество ребер)*вершин)
    ЗЫ криво, но лучше почитайте: http://www.olympiads.ru/sng/8/index.shtml
     
  8. Kaban

    Kaban Elder - Старейшина

    Joined:
    19 Mar 2006
    Messages:
    248
    Likes Received:
    78
    Reputations:
    14
    как раз щас пишу докладную по защите информации! спасибо, это пригодилось. =)
     
    1 person likes this.
  9. S7iL3t

    S7iL3t Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    42
    Likes Received:
    26
    Reputations:
    30
    /me долго искать тот плюс, который ему кинул =Be$=, но так и не нашел ;))))
     
  10. S7iL3t

    S7iL3t Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    42
    Likes Received:
    26
    Reputations:
    30
    /me долго искать тот плюс, который ему кинул =Be$=, но так и не нашел ;))))

    Digimortal: скорость шифрования измерялась на нескольких тачках с различной конфигурацией, и здесь по сути среднее значение для большинства машин средней производительности.
     
  11. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    Digimortal, ты неправ. если расбираться с алго на самом "низком" уровне (ветки етц), то понимаешь, 4то именно параметры этого уровеня и дикту.т скорость обработки бло4ным шифром отрытого текста
     
  12. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    Почему неправ? Я ведь о том же и говорю. Просто следует различать скорость алгоритма (которая есть, по сути, его сложность) и скорость срабатывания алгоритма в конкретной его реализации на конкретной платформе. Скорость работы криптоалгоритма измеряется числом тактов работы процессора, затраченных на шифрование, разшифрование блока данных, на развертывание ключа и на настройку алгоритма. Поэтому приводить скорость алгоритма в мб/с имхо не совсем правильно. Один и тот же криптоалгоритм в разных программных реализациях может иметь совершенно различную скорость работы даже на одной и той же тачке...
     
    #12 Digimortal, 14 Nov 2006
    Last edited: 14 Nov 2006