Содержание:
С возвращением!
Как хакеры, мы часто сталкиваемся с криптографией и шифрованием. В некоторых случаях мы используем его, чтобы скрывать наши действия и сообщения. Многие приложения и протоколы используют шифрование для обеспечения конфиденциальности и целостности передаваемых данных. Чтобы иметь возможность взламывать пароли и шифрованные протоколы, такие как SSL и протоколы беспроводной передачи данных, вам необходимо ознакомиться хотя бы с базовыми концепциями и терминологией криптографии и шифрования.
Для начинающих хакеров концепции и терминология криптографии могут показаться очень запутанными. Криптография — это наука и искусство скрывать сообщения таким образом, чтобы они были конфиденциальными, а затем «раскрывать» их, чтобы только их получатель мог эти сообщения прочитать. В принципе, мы можем сказать, что криптография — это наука о секретных сообщениях.
Этим кратким обзором для новичков мы надеемся приподнять завесу тайны над этой темой и пролить немного света на криптографию. Мы сделаем простой небольшой обзор основ криптографии без описания алгоритмов и математики шифрования. Мы попытаемся ознакомить вас с основной терминологией и концепциями. Так что, когда вы будете читать о хэшировании, взломе паролей или о взломе Wi-Fi, а также о технологиях шифрования, у вас будет некоторое понимание того, что в этих статьях рассматривается.
Поймите нас правильно, мы не собираемся делать из вас криптографов (на это может уйти несколько лет). Здесь мы просто хотим дать самые основы криптографии, чтобы эти вопросы не загоняли вас в тупик.
Мы попытаемся использовать максимально простой язык для описания этих технологий, настолько, насколько это вообще возможно, но, как всегда в ИТ, здесь используется очень специализированный язык. Такие термины как шифр, простой текст, зашифрованный текст, пространство ключей, размер блока и коллизии, могут сделать изучение криптографии несколько запутанным делом для новичков. Мы будем использовать термин «коллизия», так как другого подходящего слова в нашем языке нет.
Давайте начнем с того, что разобьем всю область шифрования на несколько категорий.
Существует несколько способов классифицировать шифрование, но для наших целей мы разбили их на четыре основные области.
В мире криптографии размер имеет значение! В общем, чем больше ключ, тем более безопасным является шифрование. Это означает, что AES с 256-битным ключом сильнее AES с 128-битным ключом и его, вероятно, будет сложнее сломать. В рамках использования одного и того же алгоритма шифрования получается, что чем больше ключ, тем сильнее шифрование.
Но это не обязательно означает, что использование длинного ключа приведет к более сильному шифрованию у разных алгоритмов. У разных алгоритмов сила шифрования одновременно зависит и от самого алгоритма шифрования и от размера ключа.
Симметричное шифрование — это то, где у нас есть один и тот же ключ, как у отправителя, так и у получателя. Это, вероятно, самая распространенная форма шифрования. У вас есть пароль или ключ, который шифрует сообщение, и у меня есть тот же пароль для расшифровки сообщения. Никто кроме нас не в состоянии прочитать наши сообщения.
Симметричное шифрование очень быстрое, поэтому оно хорошо подходит для хранения больших объемов данных или для использования в стриминговых приложениях. Недостатком симметричной криптографии является то, что называется обменом ключами. Если для обоих участников сообщения нужен один и тот же ключ, то им необходимо использовать некий канал для обмена этими ключами, и в этом заключается уязвимость такого способа. Если есть два человека, которые хотят зашифровать свои сообщения, и они находятся на расстоянии 12 000 миль друг от друга, то как они будут обмениваться ключами? Такой обмен имеет все слабости и проблемы конфиденциальности той среды, которую они выбирают для обмена, будь то телефон, почта, электронная почта, беседа с глазу на глаз и т.д. В момент передачи ключ может быть перехвачен и это ставит под угрозу обеспечение конфиденциальности переписки в целом.
Вот список из некоторых общих симметричных алгоритмов шифрования, которые вы должны знать:
Асимметричное шифрование использует разные ключи на обоих концах канала связи. Оно очень медленное, примерно в 1000 раз медленнее симметричного, поэтому мы не используем его для массового шифрования больших объемов данных или при потоковой передаче. Однако оно решает проблему обмена ключами. Поскольку нам не нужно иметь один и тот же ключ на обоих концах канала связи, то у нас и нет проблем с обменом ключами.
Асимметричное шифрование используется в первую очередь в ситуациях, когда у нас есть две неизвестные друг другу единицы, которым нужно обменяться между собой небольшим количеством информации, например, каким-нибудь ключом или некоторой идентифицирующей информацией, сертификатом. Оно не используется для массового или потокового шифрования из-за ограничений по скорости.
Вот список некоторых общеизвестных алгоритмов асимметричного шифрования, с которыми вы должны быть знакомы:
Хэширование — это одностороннее шифрование. Сообщение или пароль зашифровываются таким образом, что его нельзя расшифровать или восстановить исходный текст. Вы можете спросить: «Какой смысл в том, что мы что-то шифруем, а потом никто не может это прочитать?» Это хороший вопрос!
Когда сообщение шифруется, алгоритм хэширования создает «хэш», который становится уникальной, но не расшифровываемой сигнатурой для основного сообщения. Каждое сообщение зашифровывается таким образом, что создает уникальный хэш. Обычно эти хэши фиксированной длины (хеш MD5, например, всегда 32 символа). Таким образом, злоумышленник не может получить никакую информацию о базовом сообщении, имея на руках только хэш. Благодаря этому нам не нужно знать текст исходного сообщения. Достаточно знать, что генерация хэша от какого-то текста создает тот же хэш. Это используется для проверки целостности сообщений или данных (что они не были изменены).
Вот почему хэши используются для хранения паролей. Пароли хранятся как хэши, а затем, когда кто-то пытается войти в систему, она хэширует введенный пароль и проверяет его на соответствие тому хэшу, который в ней сохранен. Так же, хеши полезны для проверки целостности, например, при скачивании файлов.
В мире шифрования и хэширования случаются «коллизии» — это ситуации, когда два разных входных текста создают один и тот же хэш. Другими словами, хеш не уникален. Это может быть проблемой, если предполагать, что все хеши уникальны, например, в обмене сертификатами в SSL. NSA использовала это свойство коллизий во вредоносном ПО Stuxnet, подставляя системе то, что казалось законным сертификатом Microsoft. Хэш-алгоритмы, которые создают коллизии, как вы могли догадаться, являются уязвимыми и небезопасными.
Вот алгоритмы хэширования, с которыми вы должны быть знакомы.
Беспроводное шифрование очень полюбилось нашим читателям, так как многие из них пытаются взломать точки доступа. Как вы могли догадаться, беспроводное шифрование симметрично (из-за требований по скорости), и обмен ключами имеет здесь решающее значение.
Надеемся, что вам понравилась эта статья, и вы вернетесь за продолжением, которое обязательно последует.
Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…
Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…
Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…
В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…
От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…
Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…