12.01.2022      19      0
 

Краткое руководство по современной криптографии

Криптография стоит за современной инфраструктурой безопасности в Интернете, от цифровых подписей и безопасности транспортного уровня…


Криптография стоит за современной инфраструктурой безопасности в Интернете, от цифровых подписей и безопасности транспортного уровня до блокчейнов и биткойнов.

Значение криптографии в нашей жизни растет. За каждым входом в приложение или отправленным электронным письмом на самом деле стоит гениальная криптографическая инфраструктура, которая во многом унаследована от прорывов 70-х годов.

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

Мы все используем криптографию в повседневной жизни, знаем мы об этом или нет.

Что такое криптография?

Криптография — это практика защиты связи с использованием различных методов, которые сводятся к реализации протоколов, предотвращающих просмотр или изменение данных нежелательными сторонами.

https://forry.ru/sertifikatsiya/notifikatsia-fsb/

Дисциплина криптографии имеет четыре аспекта:

• Конфиденциальность: Данные не подвергаются контакту с посторонними лицами.

• Целостность: данные не манипулируются и не уничтожаются.

• Аутентификация: Стороны могут надежно проверить личность друг друга.

• Неотказуемость: общение может быть подтверждено и впоследствии не отвергнуто участниками.

Симметричные шифры

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

Четырехзначный сдвиг в алфавите очень очевиден и небезопасен. Безопаснее создавать сложные сопоставления, требующие ключа для перевода. Этот ключ должен быть распространен среди всех участвующих сторон. Эта необходимость влечет за собой всевозможные логистические слабости.

Известным примером симметричного шифра является машина Enigma, использовавшаяся во время Второй мировой войны.

Односторонние функции

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

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

Интересен тот факт, что даже если злоумышленники имеют полный доступ к логике алгоритма (например, вот исходник BCrypt), инвертировать функцию они, как правило, не в состоянии. Тем не менее, одностороннее хеширование не идеально, и было введено множество методов его взлома (например, массивы Rainbow).

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

Псевдослучайные функции

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

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

Для предотвращения атак на случайные числа были разработаны более безопасные средства генерации случайных чисел. Большинство криптографических библиотек содержат средства для этих генераторов.

Асимметричные ключи

Возможно, наиболее гениальной и влиятельной разработкой в ​​современной криптографии является пара асимметричных ключей, также известная как пары открытого и закрытого ключей. Основная идея заключается в том, что генерируются два ключа, один для шифрования и один для дешифрования. Ключ шифрования безопасно распространять, ключ дешифрования держится в секрете.

Это нововведение было инициировано в конце 1970-х двумя программистами и математиком, которые назвали свои инициалы: RSA, новаторская криптографическая система, которую они изобрели. Кстати, аналогичная система была изобретена несколькими годами ранее математиком из британской разведки, но изобретение держалось в секрете, и в то время эта система считалась непрактичной из-за ограничений компьютерных систем.

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

Краткое руководство по современной криптографии

Математика этого трюка не так проста. На самом деле какое-то время у исследователей, участвовавших в проекте, были серьезные сомнения в том, что это возможно даже в теории. Сегодня криптография с открытым и закрытым ключом является основой большинства современных инфраструктур интернет-безопасности, включая безопасность «транспортного уровня», используемого SSL/TLS, цифровыми подписями и криптовалютами, такими как биткойн.

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

Это может показаться небезопасным, но, цитируя статью Бретта Слаткина о математике криптографии с открытым ключом, «даже причудливые решения на самом быстром компьютере на Земле справятся с остальной вселенной», чтобы взломать современное асимметричное шифрование. Не считая введения практических квантовых вычислений, которые сделали бы взлом RSA-подобного шифрования проблемой, решаемой за полиномиальное время, современные алгоритмы считаются пригодными для практического применения.

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

Инфраструктура открытого ключа

Еще одно серьезное предостережение относительно асимметричной криптографии заключается в том, что для нее обычно требуется доверенный централизованный орган. Это связано с тем, что проблема подтверждения того, что кто-то является тем, за кого он себя выдает, не ограничивается доказательством того, что у кого-то есть закрытый ключ (что асимметричное шифрование может сделать само по себе). Вместо этого, чтобы убедиться, например, что сертификат SSL/TLS вашего веб-сервера не только технически действителен, но и подлинный (он фактически представляет организацию, за которую себя выдает), вам следует обратиться в центральный орган (например, Google).

Это создает больше возможностей для хакеров, поскольку любое нарушение в иерархии ключей проверки компрометирует все ключи ниже. Хотя такие нарушения имеют место, большая часть Интернета полагается на эту систему. Система в целом известна как инфраструктура открытых ключей (PKI). Доверенной стороной, выдающей сертификаты, является центр сертификации (ЦС).

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

Наиболее продвинутое использование асимметричных ключей и криптографии можно найти в системах блокчейна, примером которых является биткойн. Устраняя необходимость в централизованном органе и перенося проверку криптографически подписанных транзакций в сеть, блокчейн открывает возможности для новых типов систем, построенных на распределенном, но безопасном уровне поверх интернет-инфраструктуры. Сейчас мы наблюдаем появление этих возможностей.

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

Это был тур по текущему ландшафту криптовалюты. Как бы сложно это ни было, понимание того, как это выглядит, становится все более ценным для всех нас, как программистов, так и непрограммистов.


Об авторе: Tanya

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Электрический внедорожник из Китая

Электрический внедорожник из Китая

BYD Tang — электрический внедорожник из Китая, который уже доступен для покупки. Это еще один автомобиль,...

Как подобрать шарф к мужскому пальто? 5 вещей, на которые нужно обратить внимание

Как подобрать шарф к мужскому пальто? 5 вещей, на которые нужно обратить внимание

Многие мужчины считают, что шарф – это аксессуар, который не стоит носить настоящему мужчине. Удивительно,...

Лодка для рыбалки — какую выбрать?

Лодка для рыбалки — какую выбрать?

Для удачного улова не обязательно иметь рыбацкую лодку. Однако очевидно, что она предлагает рыболову новые...

Напиши мне