Сайт о телевидении

Сайт о телевидении

» » Совет дня. как зашифровать весь интернет-трафик. Значение подобного сообщения. Криптосистема с открытым ключом

Совет дня. как зашифровать весь интернет-трафик. Значение подобного сообщения. Криптосистема с открытым ключом

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

Но как помешать утечкам? Шапочка из фольги тут не поможет, хоть это, бесспорно, и красивое решение. Зато поможет тотальное шифрование данных: перехватив или украв зашифрованные файлы, соглядатай ничего в них не поймёт. Сделать это можно, защитив всю свою цифровую активность с помощью стойкой криптографии (стойкими называются шифры, на взлом которых при существующих компьютерных мощностях потребуется время, по крайней мере большее продолжительности жизни человека). Вот 6 практических рецептов, воспользовавшись которыми, вы решите эту задачу.

Зашифруйте активность веб-браузера. Глобальная сеть устроена таким образом, что ваш запрос даже к близко расположенным сайтам (типа yandex.ru) проходит на своём пути через множество компьютеров («узлов»), которые ретранслируют его туда и обратно. Посмотреть примерный их список можно, введя в командной строке команду tracert адрес_сайта. Первым в таком списке будет ваш интернет-провайдер или владелец точки доступа Wi-Fi, через которую вы подключились к интернету. Потом ещё какие-нибудь промежуточные узлы, и только в самом конце сервер, на котором хранится нужный вам сайт. И если ваше соединение не зашифровано, то есть ведётся по обычному протоколу HTTP, каждый, кто находится между вами и сайтом, сможет пересылаемые данные перехватить и проанализировать.

Поэтому сделайте простую вещь: добавьте к «http» в адресной строке символ «s», чтобы адрес сайта начинался с «https://». Таким образом вы включите шифрование трафика (так называемый слой безопасности SSL/TLS). Если сайт поддерживает HTTPS, он позволит это сделать. А чтобы не мучиться каждый раз, поставьте браузерный плагин : он будет принудительно пытаться включить шифрование на каждом посещаемом вами сайте.

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

Зашифруйте свою электронную почту. Письма, отправленные по e-mail, тоже проходят через посредников, прежде чем попасть к адресату. Зашифровав, вы помешаете соглядатаю понять их содержимое. Однако техническое решение тут более сложное: потребуется применить дополнительную программу для шифрования и дешифровки. Классическим решением, не потерявшим актуальности до сих пор, будет пакет OpenPGP или его свободный аналог GPG , либо поддерживающий те же стандарты шифрования плагин для браузера (например, Mailvelope).

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

Недостатки : начиная переписку, вы должны обменяться ключами со своими корреспондентами. Постарайтесь гарантировать, чтобы никто не смог перехватить и подменить ключ: передайте его из рук в руки, либо опубликуйте на публичном сервере для ключей. Иначе, подменив ваш ключ своим, соглядатай сможет обмануть ваших корреспондентов и будет в курсе вашей переписки (так называемая атака man in the middle - посредника).

Зашифруйте мгновенные сообщения. Проще всего воспользоваться мессенджерами, которые уже умеют шифровать переписку: Telegram, WhatsApp, Facebook Messenger, Signal Private Messenger, Google Allo, Gliph и т.п. В таком случае от любопытных глаз со стороны вы защищены: если случайный человек и перехватит сообщения, то увидит лишь мешанину символов. Но вот от любопытства компании, которая владеет мессенджером, это вас не оградит: у компаний, как правило, есть ключи, позволяющие читать вашу переписку - и мало того, что они любят это делать сами, они по первому требованию сдадут их правоохранительным органам.

Поэтому лучшим решением будет воспользоваться каким-либо популярным свободным (open source) мессенджером с подключенным плагином для шифрования «на лету» (такой плагин часто называют «OTR»: off the record - препятствующий записи). Хорошим выбором будет Pidgin .

Недостатки : как и в случае с электронной почтой, вы не гарантированы от атаки посредника.


Зашифруйте документы в «облаке». Если вы пользуетесь «облачными» хранилищами вроде Google Drive, Dropbox, OneDrive, iCloud, ваши файлы могут быть украдены кем-то, кто подсмотрит (или подберёт) ваш пароль, либо если обнаружится какая-то уязвимость в самом сервисе. Поэтому прежде, чем поместить что-либо в «облако», зашифруйте это. Реализовать такую схему проще и удобней всего с помощью утилиты, которая создаёт на компьютере папку - помещённые куда документы автоматически шифруются и переправляются на «облачный» диск. Такова, например, Boxcryptor . Чуть менее удобно применить для той же цели приложения типа TrueCrypt - создающие целый шифрованный том, размещаемый в «облаке».

Недостатки : отсутствуют.


Зашифруйте весь (не только браузерный) трафик с вашего компьютера. Может пригодиться, если вы вынуждены пользоваться непроверенным открытым выходом в Сеть - например, незашифрованным Wi-Fi в публичном месте. Здесь стоит воспользоваться VPN: несколько упрощая, это защищённый шифрованием канал, протягиваемый от вас до VPN-провайдера. На сервере провайдера трафик дешифруется и отправляется далее по назначению. Провайдеры VPN бывают как бесплатные (VPNbook.com, Freevpn.com, CyberGhostVPN.com), так и платные - различающиеся скоростью доступа, временем сеанса и т.п. Большой бонус такого соединения в том, что для всего мира вы кажетесь выходящим в Сеть с сервера VPN, а не со своего компьютера. Поэтому, если VPN-провайдер находится за пределами Российской Федерации, вам будут доступны сайты, заблокированные внутри РФ.

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

Недостатки : помните, что ваш трафик дешифруется на выходном узле, то есть на сервере VPN-провайдера или компьютере случайного участника TOR. Поэтому если их владельцы пожелают, они смогут анализировать ваш трафик: попробовать перехватить пароли, выделить ценные сведения из переписки и пр. Поэтому пользуясь VPN или TOR, совмещайте их с другими средствами шифрования. Кроме того, настроить TOR правильно - задача непростая. Если у вас нет опыта, лучше воспользоваться готовым решением: комплектом TOR + браузер Firefox (в таком случае будет шифроваться только браузерный трафик) или Linux-дистрибутивом Tails (работающим с компакт-диска или флэшки), где весь трафик уже настроен на маршрутизацию через TOR.

Зашифруйте флэшки и съёмные носители данных, мобильные устройства. Сюда же можно добавить и шифрование жёсткого диска на рабочем компьютере, но его вы по крайней мере не рискуете потерять - вероятность чего всегда присутствует в случае с носимыми накопителями. Чтобы зашифровать не отдельный документ, а сразу целый диск, используйте приложения BitLocker (встроено в MS Windows), FileVault (встроено в OS X), DiskCryptor , 7-Zip и им подобные. Такие программы работают «прозрачно», то есть вы не будете их замечать: файлы шифруются и дешифруются автоматически, «на лету». Однако злоумышленник, в руки которого попадёт закрытая с их помощью, например, флэшка, ничего из неё извлечь не сумеет.

Что касается смартфонов и планшеток, там для полного шифрования лучше воспользоваться встроенным функционалом операционной системы. На Android-устройствах загляните в «Настройки -> Безопасность», на iOS в «Настройки -> Пароль».

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


Таков список действий, которые стоит предпринять, если вас беспокоит возможная утечка файлов в чужие руки. Но помимо этого есть ещё несколько соображений общего характера, которые тоже следует иметь в виду:

Свободное приложение для охраны приватности обычно надёжней проприетарного. Свободное - это такое, исходные тексты которого опубликованы под свободной лицензией (GNU GPL, BSD и т.п.) и могут изменяться всеми желающими. Проприетарное - такое, эксклюзивные права на которое принадлежат какой-либо одной компании или разработчику; исходные тексты таких программ обычно не публикуются.

Шифрование предполагает использование паролей, поэтому позаботьтесь, чтобы ваш пароль был правильным: длинным, случайным, разнообразным.

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

Для задач, которые требуют анонимности/приватности, удобней держать отдельный браузер, настроенный на «параноидальный» режим (вроде уже упоминавшегося комплекта Firefox + TOR).

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

Если пресловутый «закон Яровой» всё-таки вступит в силу (по плану это должно случиться 1 июля 2018 года), запасные ключи от всех шифров в России должны будут быть переданы государству, в противном случае шифр не будет сертифицирован. А за пользование несертифицированным шифрованием даже рядовые обладатели смартфонов смогут быть оштрафованными на сумму от 3 тысяч рублей с конфискацией цифрового устройства.

P.S. В статье использована фотография Christiaan Colen .

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

Программа SoftEnter VPN Client.

В связи с реальной угрозой расширения карательных функций «Антипиратского закона» и возможным началом переноса его действия на простых пользователей, а именно, возможным введением штрафов за скачивание пиратского контента (фильмов музыки программ и так далее), продолжаю знакомить посетителей моих сайтов с информацией, как этих штрафов избежать, то есть, как скачивать с интернета АНОНИМНО. Ранее, я показал, как скачивать анонимно по прямым ссылкам и с торрентов. В данной статье рассмотрим один из способов, как зашифровать весь интернет-трафик. Шифрование всего интернет-трафика позволит вам стать полностью анонимным в интернете, сменив свой IP-адрес, на сторонний. После смены IP-адреса при помощи предлагаемого в данной статье приложения никто из посторонних уже не сможет узнать какие сайты вы посещали, что скачивали, в том числе будет зашифрован и ваш интернет-трафик в торрент-клиенте.
Речь пойдет о приложении под названием SoftEnter VPN Client. Это клиентская программа для связи с сервисом под названием VPN Gate.
Сервис VPN Gate - это экспериментальный проект Высшей школы университета г. Цукуба (Япония). Идея проекта заключается в организации добровольцами публичной общественной сети туннелей VPN, которые создаются, с помощью специального программного обеспечения, и бесплатно предоставляются в публичное общее пользование. Подключиться к ним может каждый желающий.
Частные публичные сети VPN Gate предоставляются обычными людьми, а не компаниями и, даже гипотетическая возможность получения логов (истории посещённых Вами сайтов и истории скачивания) по запросу компетентных органов исключена. Сервис VPN Gate и создавался для того, чтобы дать возможность гражданам стран, где блокируются определённые сайты свободно и анонимно посещать их, но сервис можно использовать и для скачивания нужного вам контента, не опасаясь неприятных последствий.
Настроить работу программы SoftEnter VPN Client вовсе несложно. Сейчас покажу, как это сделать.

Для начала скачиваем на сайте разработчика по ссылке архив с установочным файлом программного обеспечения SoftEnter VPN Client.

Кстати, информация для тех, кто уже пользовался универсальным моментальным немецким клеем Nano Kleber и для тех, кто еще не знаком с нашим продуктом - наш клей кардинально изменился.
Естественно в лучшую сторону. Во-первых, изменился внешний вид упаковки и флаконов клея. Во-вторых, объем флаконов увеличился на треть! Теперь вес флакона 31,5 граммов, флакона со сварочным гранулятом, 25 граммов.
И главное, улучшено качество самого клея. По многочисленным просьбам покупателей, клей стал гуще. Это позволяет работать с ним, перед сжатием (склеиванием) не торопясь. Срок подготовки увеличен в 2 раза! При этом его цена осталась прежней.
Подробнее узнать о клее Nano Kleber можно на нашем официальном сайте по ссылке . Там же можно его и заказать. Доставка - по всей России.


После скачивания архива распаковываем папку с установочным файлом на рабочий стол.


Открываем ее и запускаем установку программного обеспечения SoftEnter VPN Client.


После установки программного обеспечения SoftEnter VPN Client запускаем его в работу.


Выбираем один из серверов VPN и подключаемся к нему.


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


То что вы подключены к выбранному вами серверу VPN легко можно узнать, посетив один из сервисов проверки IP-адресов. Найти их несложно. В поисковой строке любого поисковика, например, в Яндексе, пишем поисковую фразу «проверка ip».


Отключить VPN-соединение просто. В трее после установки программного обеспечения SoftEnter VPN Client появиться специальный значок. Кликните по нему правой кнопкой мыши и в выпавшем контекстном меню выберете нижнюю строчку отключения программы.


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

SSH (secure shell) – это безопасный протокол и наиболее распространенный способ защищенного управления удаленными серверами. Используя ряд технологий шифрования, SSH обеспечивает механизм для установления криптографически защищенного соединения между двумя сторонами, аутентификации каждой стороны, обмена командами и выходными данными.

Читайте также :

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

Симметричное шифрование, асимметричное шифрование и хэш

Для обеспечения передачи информации SSH использует несколько различных методов управления данными в разных точках транзакции. К ним относится симметричное шифрование, асимметричное шифрование и хеширование.

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

Способ шифрования определяется связью компонентов, которые шифруют и дешифруют данные.

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

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

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

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

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

Протокол SSH может использовать различные системы симметричного шифрования, включая AES, Blowfish, 3DES, CAST128 и Arcfour. Сервер и клиент могут определить список поддерживаемых шифров и упорядочить его в зависимости от своих предпочтений. Первый шифр из списка клиента, который поддерживается сервером, используется в качестве алгоритма шифрования в обоих направлениях.

В Ubuntu 14.04 клиенты и серверы по умолчанию используют aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, [email protected], [email protected], [email protected], aes128-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour.

То есть если две машины Ubuntu 14.04 пытаются установить соединение, не переопределяя стандартных параметров, они всегда будут использовать aes128-ctr для шифрования их соединения.

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

Асимметричное шифрование отличается от симметричного тем, что для передачи данных в одном направлении необходимы два связанных ключа. Один из них называется закрытым (или секретным) ключом, а второй – открытым ключом.

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

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

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

Более широко асимметричное шифрование SSH используется для беспарольной аутентификации на основе ключей. Пары ключей SSH могут использоваться для аутентификации клиента на сервере. Клиент создает пару ключей и подгружает открытый ключ на удаленный сервер в файл authorized_keys в каталоге ~/.ssh.

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

Хеширование

Еще одна форма обработки данных, которую использует SSH, — это криптографическое хеширование.

Криптографическое хеширование – это совокупность методов создания краткой «подписи» или сводки набора информации. Главными отличительными признаками методов хеширования являются их необратимость, непредсказуемость и уникальность.

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

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

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

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

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

Как работает шифрование?

Теперь у вас есть базовое понимание того, как работает SSH. В протоколе SSH используется модель клиент-сервер для аутентификации двух сторон и шифрования данных между ними.

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

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

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

Согласование шифрования сессии

Когда клиент инициирует TCP-соединение, сервер отвечает версиями протокола, которые он поддерживает. Если клиент тоже поддерживает одну из версий протокола, соединение продолжается. Сервер также предоставляет свой открытый ключ хоста, с помощью которого клиент может подтвердить, что подключается к нужному хосту.

На этом этапе обе стороны обсуждают ключ сеанса с помощью алгоритма Диффи-Хеллмана. Этот алгоритм (и его варианты) позволяет каждой стороне объединить свои личные данные с общедоступными данными другой системы, чтобы получить одинаковый секретный ключ для сессии.

Ключ сессии будет использоваться для шифрования всей сессии. Открытый и закрытый ключ, который используется на этом этапе, не совпадают с парой ключей SSH, используемой для аутентификации клиента на сервере.

Базовый алгоритм Диффи-Хеллмана работает так:

  1. Обе стороны выбирают большое простое число, которое будет служить в качестве начального значения.
  2. Обе стороны выбирают генератор шифрования (обычно AES), который будет предопределенным образом управлять значениями.
  3. Независимо каждая сторона придумывает другое простое число, которое хранится в секрете от другой стороны. Это число используется как закрытый ключ для этого взаимодействия (это не тот SSH-ключ, что используется для аутентификации).
  4. Сгенерированный закрытый ключ, генератор шифрования и общее простое число используются для создания открытого ключа, который является производным от закрытого ключа, но который может также использоваться другой стороной.
  5. Затем оба участника обмениваются открытыми ключами.
  6. Каждая сторона использует свой собственный закрытый ключ, открытый ключ другой стороны и общее простое число для вычисления общего секретного ключа. В результате обе стороны должны получить один и тот же секретный ключ.
  7. Общий секретный ключ затем используется для шифрования всех последующих сообщений.

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

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

После этого этапа начинается аутентификация клиента.

Аутентификация клиента

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

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

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

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

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

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

  1. Клиент отправляет ID для пары ключей, с помощью которой он хотел бы аутентифицироваться на сервере.
  2. Сервер проверяет файл authorized_keys учетной записи, с помощью которой клиент пытается выполнить вход клиент.
  3. Если в файле обнаружен открытый ключ и его ID совпадает с тем, что отправил клиент, сервер генерирует случайное число и использует открытый ключ для шифрования этого числа.
  4. Сервер отправляет клиенту это зашифрованное сообщение.
  5. Если клиент на самом деле клиент имеет связанный закрытый ключ, он сможет расшифровать сообщение с помощью этого ключа и указать переданное число.
  6. Клиент объединяет дешифрованное число с общим ключом сессии, который используется для шифрования связи, и вычисляет хеш MD5 этого значения.
  7. Затем клиент отправляет этот хеш MD5 обратно на сервер в качестве ответа на сообщение с зашифрованным числом.
  8. Сервер использует общий ключ сеанса и исходное число, которое он отправил клиенту, для вычисления значения MD5. Он сравнивает свой результат с тем, что отправил ему клиент. Если эти два значения совпадают, это доказывает, что клиент имеет закрытый ключ. Клиент проходит аутентификацию.

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

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

Tags: