Контакты RSS 2.0

Разделы Сайта:

Кубтеле - о компании
Инструменты SEO
FreeBSD
Администрирование
Centos администрирование
Windows администрирование
Программирование для web

Аккаунт

Популярное:

Администрирование › Шифрование данных
В статье я постараюсь кратко рассказать о возможных способа обеспечения безопасности информации путем применения шифрования.



С чем имеем дело

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

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

Симметричное шифрование

Все алгоритмы условно делятся на три группы: алгоритмы симметричного шифрования, асимметричного и необратимого. Начнем с первых. Для шифрования данных этим алгоритмом требуется придумать некий «ключ». Этот ключ будет напрямую влиять на алгоритм. Далее для дешифровки необходимо этот ключ знать. Таким образом, взломщик не сможет вскрыть данные без ключа. По такому алгоритму работает, например, программа WinRar при использовании архивов, защищенных паролями. Пароль к архиву — и есть ключ.

Выбирая алгоритм симметричного шифрования следует придерживаться следующих критерий:
•Алгоритм должен включать в себя множество действий, сгенерированных случайным образом. Если алгоритм построен, исходя из логики, то и вскрыть его можно, пользуясь логикой.
•Алгоритм должен производить расшифровку не очень быстро, но и не сильно медленно. Слишком быстрая скорость облегчит взлом методом подбора ключа, а слишком медленная просто будет не удобна пользователю. Желательно, чтобы скорость не влияла на объем данных.
•Необходимо защититься от самого распространенного способа взлома таких алгоритмов — восстановления ключа, имея часть информации в расшифрованном виде.

Самый простой алгоритм симметричного шифрования — это xor. Он работает следующим образом:
1.Ключ и данные представляются в виде числа в двоичной системе счисления (если шифруются строки, то можно представлять буквы в виде порядкового номера и.т.д.).
2.Данные сверяются справа налево по цифрам. Если цифры из данных и ключа совпадают (1 и 1 или 0 и 0), то результат — ноль. В противном случае результат — 1.
3.Результат 2 действия и есть результат шифрования

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

Более сложные алгоритмы — AES, DES и другие, но разбирать их мы не будем, так как они слишком сложны.

Асимметричное шифрование

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

Таким образом, передавая нужные ключи нужным людям Вы сможете ограничить доступ к данным. Пример: на предприятии сотрудники должны делать отчеты через определенной время. Данные не должны попасть как взломщику, так и самим сотрудником. Вы можете передать открытый ключ всем сотрудникам, а закрытый — администрации.

Кроме того асимметричное шифрование решает проблему «Если информацию знают двое, то ее знают все». Это распространенная фраза в социальной инженерии, делающая очень важное замечание: если человек уверен, что данные знает лишь он один и больше знать никто не должен — такие данные гораздо безопаснее, чем если человек знает, что владелец данных ни он один.

Примеры алгоритмов — RC2, NASH и другие.

Необратимое шифрование

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

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

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

Взломщики создают так называемые радужные таблицы — это таблицы, содержащие пары «строка — хеш». Они генерируются в течение нескольких лет многими машинами, а затем используются для быстрого взлома хешей.

Самый распространенный алгоритм - md5. Хотя этот алгоритм уже взломан (найден алгоритм поиска коллизий) он все еще используется во многих проектах.
скачать dle 10.3фильмы бесплатно
Добавил: admin › 28-12-2014, 11:36
› 0 комментария › печатькатегория
Другие новости по теме
  • AJAX — JS 21 века
  • Advanced CSS
  • Phpmydirectory – описание процедуры обновления
  • Процедура переноса баз данных Mysql на другой сервер
  • Описание установки агента PowerChute Business Edition в Centos 6.5

  • Кубтеле 350000, Россия, Краснодарский край, , город Краснодар,улица Айвазовского, д. 94, корп. А
    Продвижение сайтов,Регистрация доменов,Компьютерная системная интеграция
    8(861) 299-02-62, +7(903) 449-666-8