пятница, 18 марта 2011 г.

Безопасность информации

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

Необходимость шифрования возникла в первую очередь для ведения тайной переписки во время военных действий. Я говорю не только о современных войнах, но и о сражениях времен Древней Греции. Похоже, что именно в то время был изобретен первый метод шифрования, а так же первое устройство для его использования. Оно представляло собой палочку определенного диаметра, на которую наматывалась лента из пергамента при написании и чтении(текст наносился вдоль оси палочки). Шифр заключался в том, что сначала читалась каждая n-ная буква, начиная с первой, потом каждая n-ная, начиная со второй и так далее.
Однако такой шифр можно было легко "взломать", используя палочки разных диаметров или конусовидную палочку.

Также известны: шифр Цезаря, в котором каждая буква заменялась на первую(вторую, третью и т.д.) справа от данной буквы в алфавите, шифр Атбаш, в котором буквы заменялись зеркально(первая в алфавите - на последнюю, вторая - на вторую с конца и т. д.), книжный шифр, который использовал книги, как основу для сообщений(рядом с буквами делались небольшие отверстия иглой и можно было "собрать" сообщение по буквам).

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

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

Тогда были придуманы различные алгоритмы хеширования.
Хеш-функции это специальные программы, которые по любому набору символов выдают  ограниченный по длине хеш-код. Например алгоритм MD5 в качестве результата предоставляет последовательность из 32 шестнадцатеричных цифр общим размером всего 16 байт(независимо от размера принимаемых данных). Дело в том, что если хеш-коды различаются, то и наборы символов гарантированно различны, но у разных наборов хеш-коды могут совпадать(коллизии).
Однако у современных методов хеширования коллизии редки и очень долго ищутся.

Но самое главное преимущество хеширования состоит в том, что по хеш-коду НЕВОЗМОЖНО найти исходный набор символов!
Получается, что на сайте интернет-банка хранится не сам пароль а его хеш-код. И даже если злоумышленник получит эти 16 байт информации, он не сможет восстановить ваш пароль и получить доступ к вашим средствам.

Конечно существуют способы взлома хеш-кода путем перебора всех вариантов, но при достаточной длине пароля это очень долго и производится на технике недоступной для обычных пользователей(кластеры).

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

Главное идти в ногу со временем и успевать вовремя переходить на новые методы шифрования нашей чрезвычайно важной информации...

Комментариев нет:

Отправить комментарий