Поговорим о криптографии
В очередной раз позвонил человек и настойчиво просил "взломать RAR-архив". Это бывает, наверное, раз в три года - но
бывает. Человек пояснил, что пароль содержал минимум девять символов, из которых все девять неизвестны. То есть, вообще
непонятно - что содержал в себе ключ. Я отказался, а человек долго не мог понять: как это так - нельзя взломать?
Что интересно, сплетни и бредни про взлом распространяются не только малограмотными голливудскими боевичками, герои
которых за пять секунд ломают все возможные защиты и дешифруют любые файлы. Какой-нибудь захудаленький программист, в
годы учения в институте еле как написавший на дипломе программу "Hello, world", тоже может сказать эту заветную фразу:
"Взломать можно всё". И будет неправ. Криптография - это наука, а не волшебство.
Дешифрация той или иной информации или "хакерский" вход в какую-то систему (несанкционированный доступ) не
связаны ни с каким волшебством. Чаще всего, в обоих случаях используются несовершенство и ошибки программного
обеспечения, "социальный инжиниринг" и их производные (метод "грубой силы", о котором будет говориться ниже,
применяется сравнительно редко). Поговорим конкретно о шифровании (криптовании) информации.
Криптостойкость зашифрованной информации зависит только от того, каким способом она была зашифрована. Подавляющее
большинство пользовательских программ зачастую не придают этому особого значения - например, пароли на документ в
некоторых версиях MS Word существовали только "для галочки", никак особенно не препятствуя извлечению, собственно,
содержимого документа. Подразумевалось, что среднестатистический пользователь безвольно опустит лапки сразу после
появления окошка "введите пароль".
Но есть случаи и посложнее - например, тот же архиватор RAR. Расшифровать зашифрованную этой программой информацию
можно только с помощью исходного ключа. Другое дело, что ключ этот, зачастую, не особенно сложный - когда пользователь
выбирает что-то, отличное от "111" или "qwe"? Даже если ключ, на первый взгляд, не связан ни с чем логически, но
содержит малое количество символов - его можно довольно быстро подобрать т.н. "брутфорсом" (bruteforce - метод
"грубой силы"). Под "грубой силой" понимается перебор всех возможных комбинаций пароля; для ключа длиной до 4-5 символов
их не так уж и много (впрочем, и немало, если речь идёт о комбинации строчных и прописных букв с цифрами).
Но если задать пароль длиной 10 символов - вероятность взлома в ближайшее время резко падает, т.к.
взломщику придётся ждать перебора довольно долго. А если
применить ключ длиной, к примеру, 16 символов - можно с большой долей уверенности сказать, что на сегодняшний день любой
злоумышленник "устанет" подбирать пароль брутфорсом - если только он не обладает солидным вычислительным комплексом.
Последний, впрочем, тоже выдаст результат далеко не сразу.
Но это RAR - программа с, как ни крути, известным алгоритмом шифрования и с известным форматом данных. А что если
пойти другим путём?
Во-первых, исходную информацию можно представить в каком-нибудь оригинальном формате. Не в привычных текстовых
файлах, JPEG'ах и прочем подобном. Любой опытный программист это сможет - либо переделать заголовки, либо придумать что-нибудь
и покруче. Открыть файл неизвестного формата - проблема сама по себе, даже без шифрования.
Во-вторых, можно написать свой алгоритм шифрования, либо взяв за основу что-то, либо разработав самому. В случае с
квалифицированным программистом это также не представляет проблемы.
В-третьих, информацию можно зашифровать два раза. Или три. Или сколько душе угодно.
И каждый раз с разными "длинными" ключами.
Теперь представим себе задачу для дешифровщика. Ему надо сначала расшифровать что-то, зашифрованное неизвестным
алгоритмом - до чего-то, что тоже зашифровано. То есть, получить из одного бессвязного набора данных другой - но ведь
дешифровщику этот "другой набор" неизвестен! А затем дешифровать ещё и ещё (если шифрований было несколько) - и всё опять до
непонятного результата, поскольку отталкиваться не от чего. Фактически, вероятность успешной дешифровки в таком случае
нулевая. Дело не столько в компьютерных мощностях; дело в том, что каждый полученный результат надо будет проверить
вручную, чтобы понять - представляет он из себя хоть что-то осмысленное, или нет?
Так что, взломать можно далеко не всё. И дело не в чудесах - нужно просто постараться при криптовании. Впрочем, для обычного
применения хватит и того же RAR с криптостойким паролем и шифрованием заголовков - в тот день,
когда вашу информацию расшифрует недруг, вряд ли для вас это будет особо важным событием.
©2013, Анатолий Савенков
опубликовано: 05.04.2013
комментариев: 20
список статей в категории
Комментарии
↑ к началу комментариев ↑↑ к началу страницы
Вы не зарегистрированы. Зарегистрируйтесь или войдите в систему, чтобы не набирать каждый раз проверочный
код (и иметь другие приятные функции на сайте). Действует суточный лимит анонимных комментариев
для защиты от троллей, школоло-хакеров и спам-ботов.
На текущий момент осталось комментариев:
10.
Добавить комментарий
Фулюганствовать не надо: соблюдайте правила приличия. Я не люблю комментариев не по делу типа "Оццтой!" и им подобных.
Если хотите что-то покритиковать или поучить кого-то жизни - делайте это с чувством, с толком и с расстановкой.