Постараюсь объяснить сложные и непонятные технологии простым и доступным языком, чтобы было понятно и новичку.
Важно! Все программы, представленные в статье бесплатные. Скачивать их можно и нужно только с официальных сайтов разработчиков.
Дисклеймер: я, то есть автор статьи — неспециалист в информационной безопасности и оперирую данными из открытых источников. Я против использования описанных ниже методов для сокрытия противоправных действий.
Основы
Сначала следует разобрать основные, базовые понятия.
Шифрование
Для начала определение:
Шифрование — обратимое преобразование информации в целях скрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма.
Не вдаваясь в технические подробности, можно сказать что шифрование — это преобразование данных для сокрытия информации.
Есть различные алгоритмы шифрования, мы же поверхностно познакомимся с основными актуальными алгоритмами шифрования.
Алгоритмами шифрования делятся на симметричные алгоритмы и ассиметричные алгоритмы:
- Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания.
- Асимметричное шифрование использует два разных ключа: один для зашифровывания (который также называется открытым), другой для расшифровывания (называется закрытым).
Примеры симметричных алгоритмов:
DES — алгоритм для симметричного шифрования, разработанный фирмой IBM и утверждённый правительством США в 1977 году как официальный стандарт.
Прямым развитием DES в настоящее время является алгоритм Triple DES (3DES). В 3DES шифрование/расшифровка выполняются путём троекратного выполнения алгоритма DES.
AES — также известный как Rijndael (произносится [r?inda?l] (Рэндал)) — симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется, как это было с его предшественником DES.
Blowfish (произносится [бло?уфиш]) — криптографический алгоритм, реализующий блочное симметричное шифрование с переменной длиной ключа. Разработан Брюсом Шнайером в 1993 году.
ГОСТ 28147-89 (Магма) — российский стандарт симметричного блочного шифрования, принятый в 1989 году. Является примером DES-подобных криптосистем.
В 2015 г. вместе с новым алгоритмом «Кузнечик» один из вариантов алгоритма ГОСТ-89 был опубликован под названием «Магма» как часть стандарта ГОСТ Р 34.12-2015.
Блочный шифр «Кузнечик» — симметричный алгоритм блочного шифрования с размером блока 128 битов и длиной ключа 256 битов.
Примеры ассиметричных алгоритмов:
RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел.
Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений, включая PGP, S/MIME, TLS/SSL, IPSEC/IKE и других.
ГОСТ Р 34.10-2012 — российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи.
SSL шифрование
SSL (англ. Secure Sockets Layer — уровень защищённых cокетов) — криптографический протокол, который подразумевает более безопасную связь. По сути, это способ передачи информации в интернете, который подразумевает прозрачное шифрование данных. Протокол широко использовался для обмена мгновенными сообщениями и передачи голоса через IP (англ. Voice over IP — VoIP) в таких приложениях, как электронная почта, интернет-факс и др.
Впоследствии на основании протокола SSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.
TLS (англ. Transport Layer Security — Протокол защиты транспортного уровня), как и его предшественник SSL— криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет.
SSL и TLS используют например для шифрования трафика в работе с сайтами. Когда данные передаются по протоколу HTTPS, трафик (данные которые передаются и получаются) шифруется сертификатом который использует тот или иной ресурс.
SSL-сертификат — содержит в себе информацию о своем владельце, а также открытый ключ, использующийся для создания защищенного канала связи. Организации и физические лица получают для подтверждения того, что сайт или иной ресурс действительно представлен ими и это не поддельный ресурс. Сертификаты получают или покупают у авторизированных доверенных центрах сертификации.
Все это делается чтобы человек, который вклинится в канал связи посередине, между вами и адресатом не смог прочитать информацию или изменить ее.
Хеширование
Хеширование или получение контрольные суммы, представляет собой преобразование данных (будь это строка текста или архив данных) произвольной длины в (выходную) строку фиксированной длины, выполняемое определённым алгоритмом.
Особенность в том, что если входные данные поменяются хоть на бит информации, то итоговая (выходная) строка уже будет другая. Таким образом, можно проверить что файл или данные не изменялись.
Перед тем как устанавливать программное обеспечение, скачанное даже с официальных сайтов, следует сравнить контрольную сумму файла что вы скачали с контрольной суммой, указанной на сайте. Атакующий человек может контролировать вашу сеть и при скачивании файла, как вам кажется с официального сайта, может подсовываться модифицированный файл установки с уязвимостью или вовсе с троянским кодом.
Базовые принципы создания стойкого пароля
Для обеспечения безопасности информации доступ к ней необходимо блокировать хорошим паролем. Есть основные принципы создания стойкого пароля:
- Пароль должен быть как минимум длиной в 15 символов, а оптимальным вариантом 20. Больше лучше, но перебарщивать тоже не стоит.
- Отсутствие слов, популярных шаблонов (qwerty и так далее), дат и различной информации, связанной с вами в самом пароле.
- Пароль должен содержать строчные и прописные буквы, цифры, спецсимволы (#%^&*@!).
Двухфакторная аутентификация
Двухфакторная аутентификация – это способ аутентификации (подтверждения личности) который подразумевает под собой использования два способа подтверждения личности.
Например, при входе в аккаунт на каком-либо сайте, вы сначала вводите ваш пароль, а дальше код присланный по СМС на доверенный номер телефона.
Есть много различных способов аутентификации:
- Пароль
- ПИН код
- СМС с кодом
- Отпечаток пальца
- Флеш токен (флешка с записанным уникальным ключом)
- Push уведомления в приложении на смартфоне
Где только возможно, используйте двухфакторную аутентификацию. Даже если ваш пароль узнают или подберут, то нарушитель не сможет пройти второй способ аутентификации.
Двухфакторную аутентификацию можно включить во многих популярных сервисах:
- Telegram
- Вконтакте
- Mail.ru
- Yandex
- DropBox
Хранение данных
Менеджер паролей KeePassX
Если использовать везде стойкий, но одинаковый пароль это ставит под угрозу все ваши данные разом. Ведь если злоумышленникам удастся подсмотреть или узнать ваш пароль, иным другим способ, то они автоматически получают доступ ко всем используемым вами сервисам.
Рекомендуется использовать для разных сервисов разные пароли, лучше всего их генерировать. Но тогда встает вопрос о запоминании всех паролей.
И тут стоит использовать менеджер паролей. Есть разные сервисы, которые предоставляют сохранение и менеджмент паролей. Лично я и различные специалисты по безопасности советуют использовать KeePassX.
Дело в том, что данный проект имеет долгую историю. Все это время у него открытые исходные ходы и разработчики предоставляют все данные, что бы быть уверенным что в программе нет закладок.
Данная программа абсолютно бесплатна, у нее открытые исходные коды и она запускается на всех основных платформах (Windows, macOS, Linux).
Пароли хранятся в специальных базах данных, которые используют шифрование AES и TwoFish. Саму базу данных (хранится в одном файле) лучше хранить в безопасном месте, например, на USB носителе.
В программе есть генератор стойких паролей.
Использовать интернет сервисы для хранения пароля удобнее и мобильнее, но намного менее безопаснее. Ваши пароли могут запросить спецслужбы или может быть заплатка в программном обеспечении, которое используется на серверах сервиса менеджера паролей. Также пароли могут перехватить с помощью уязвимостей в браузере.
Сайт — www.keepassx.org
Шифрование данных VeraCrypt
Также стоит позаботится о надежном хранении файлов на носителях. Дабы исключить вариант, что если устройство, на котором вы храните важные данные, попадет в чужие руки, то данные будут открыты и доступны злоумышленнику.
Довольно надежным способом является – шифрование данных. Есть много различных программ, которые позволяют шифровать данные. Есть платные и бесплатные. Есть даже решения, встроенные в операционную систему. Например, BitLocker в Windows и FireVault в macOS.
К сожалению, в программном обеспечении такого класса часто внедряют закладки для легкого взлома. Да и к разработчикам такого программного обеспечения всегда максимальные требования по безопасности и защищенности их продукта.
Ранее безусловным лидером была программа TrueCrypt. К сожалению, разработчики прекратили развитие данной программы. Тема с TrueCrypt вообще максимально запутанная, многие считают, что там замешаны спец службы и именно они вынудили прекратить разработку программы.
Но так как исходный код TrueCrypt был открытым, за дальнейшую разработку и поддержку взялась другая команда. Они устранили несколько уязвимостей и выпустили новую версию под название VeraCrypt.
Данная программа постоянно проверяется и проходит аудиты безопасности.
Смысл программы в создании зашифрованных контейнеров (на диске располагаются в виде файла), шифровании съемных носителей или полное шифрование жесткого диска включая локальный диск где установлена операционная система.
В случаи создания зашифрованного контейнера, создается файл на диске. Вы задаете его название и размер. Далее выбираете метод шифрования (стоит отметить что выбор довольно большой, а также есть возможность шифрования сразу 3 алгоритмами подряд), пароль и остальные параметры.
Далее вы подключаете (монтируете) ваш контейнер к любой доступному диску. И можете записать любые данные в него. При прекращении работы, вы размонтируете его. Все файлы что расположены в контейнере, будут надежно сохранены в нем. Такой файл можно передавать по менее защищенным каналам, но все-же оставлять его в открытом доступе не стоит.
Есть возможность создания скрытого контейнера в контейнере. Это сделано для того, чтобы если вас схватят и заставят вести пароль к контейнеру с данными, там располагались фиктивные данные, а основные данные, которые вы и намеревались скрыть будут находится в скрытом контейнере внутри этого контейнера.
Можно зашифровать флеш накопитель и тогда его содержимое будет также доступно вам через пароль.
Сайт — www.veracrypt.fr
Общение
Почтовый сервис ProtonMail
Для общения на расстоянии можно использовать и почту. Например, как это сделал Эдвард Сноуден, который поведал миру о тотальной слежке спец служб США.
Есть сервисы, которые предоставляют шифрованный почтовый ящик. Наиболее проверенный и удобный вариант на данный момент ProtonMail. Сам ProtonMail создали под влиянием тех событий что произошли с Сноуденом. Это бесплатный сервис, который предоставляет пользователям зарегистрировать бесплатный зашифрованный почтовый ящик.
За дополнительные функции и расширении памяти хранилища придется заплатить, но для обычной передачи текстовой информации и небольших файлов хватит и бесплатного аккаунта.
Есть веб версия, клиенты под Android и iOS. Сервис переведен на многие языки включая русский.
Сайт — protonmail.com
Защищенный мессенджер Signal
Иногда общения через почту не подходит. Информация нужна здесь и сейчас. Тогда можно использовать формат всем нам знакомым мессенджеров. И тут на помощь приходит приложение Signal. Опять же, есть куча приложений, которые также заявляют о полной безопасности и анонимности, но именно к Signal меньше всего вопросов и подозрений. Его так-же использовал Эдвард Сноуден. Еще его использует Мэт Грин, который довольно известен среди специалистов по шифрованию и безопасности.
Приложение проходило аудит и постоянно проверяется.
Приложение выглядит как обычный мессенджер. В нем можно передавать текст, смайлики, фотографии, аудио, файлы. Есть даже голосовая и видео связь. Информация передается довольно быстро. Интерфейс не перегружен и удобен всем тем кто хоть когда-то отправлял СМС на смартфоне.
Но нужно быть осторожным с данным приложением. Приложение само по себе защищенное, есть даже защита от снятия скриншотов. А вот ваш смартфон скорее всего не так безопасен и защищен. Так что передавать информацию сначала помещая ее на память телефона не очень безопасно. Но при этом отправлять текст и совершать аудио и видео звонки вполне безопасно.
Есть клиенты для Android, iOS, Windows, macOS, Linux.
Сайт — signal.org
Безопасный выход в интернет
Безопасный браузер Tor Browser
Для безопасного посещения сайтов стоит использовать Tor Browser. Вы наверняка слышали о нем. Tor Browser работает на основе луковичных сетей. Смысл такой сети в том, что соединение от вашего устройства до конечного сервера проходит через определенное количество слоев сети. Каждый слой сети или подключение шифруется отдельно. И получается, что передаваемый вами трафик шифруется несколько раз. Это влияет на скорость соединения, но очень эффективно в плане безопасности.
Сам Tor Browser состоит не только из особенностей onion сетей, но и из дополнений, которые выключает все отслеживающие кнопки и скрипты, а также направляют весь трафик через HTTPS.
Сайт — www.torproject.org
Виртуальная частная сеть ProtonVPN
Если вам нужно скрыть и зашифровать весь трафик вашего устройства, можно воспользоваться VPN. VPN расшифровывается как виртуальная персональная сеть. При подключении к VPN абсолютно все соединения вашего устройства проходят через выбранный сервер.
Это позволяет не только скрыть изначальный источник запроса, но и зашифровать данные.
Также это можно использовать для доступа к заблокированным сайтам в вашей сети. Поскольку трафик идет, например, через Нидерланды, где может быть не заблокирован российский локальный информационный ресурс, вы сможете зайти на него.
Я использую программное обеспечение ProtonVPN, от создателей ProtonMail. Их почтовый сервис прекрасно себя зарекомендовал, и увидев доступность VPN клиента от данной команды сразу решил установить и использовать.
Приложение бесплатное, но еще не имеет русского интерфейса. Но разобраться в его работе очень просто.
Если выбрать платный тарифный план, то у вас будет больший выбор стран для подключения. Платные сервера менее загружены, поэтому скорость будет выше. А также будет возможность использовать P2P траффик и сети TOR.
Сайт — protonvpn.com
Анонимная операционная система Tails
Tails это самый ультимативный вариант. Это операционная система, основанная на ядре Linux.
Обычно ее записывают на флеш накопитель или DVD диск и загружаются с них. При том, сами создатели рекомендуют сначала записать операционную систему на флеш накопитель, далее загрузится с него. И уже с этого носителя с помощью специального программного обеспечения записать операционную систему на другой флеш накопитель или DVD диск.
В данной операционной системе можно работать в интернете, работать с почтой и максимально важными данными на компьютере.
В ней используются самые передовые технологии шифрования. Максимальная защита всех данных. Данную ОС постоянно проверяют и исследуют.
Сайт — tails.boum.org
Заключение
Спасибо что дочитали статью до конца. Надеюсь описанные мною вещи стали понятными. За дополнительными деталями вы всегда можете обратиться к сети Интернет.
Буду рад комментариям, замечаниям и критике.
Комментарии (25)
decomeron
10.12.2017 05:07Использовать интернет сервисы для хранения пароля удобнее и мобильнее, но намного менее безопаснее. Ваши пароли могут запросить спецслужбы… а если хоанить пароли в специальных приложениях и программах то пароли заросить не могут?
ImLoaD
10.12.2017 10:41Также стоит позаботится о надежном хранении файлов на носителях. Дабы исключить вариант, что устройство, на котором вы храните важные данные, попадет кому-то другому в руки.
Уверен что уровень надежности хранения данных на носителях не влияет на возможность попадания устройства в руки другим !)
Ну а так вы забыли о I2PVeantm Автор
10.12.2017 10:45Верно, это не влияет на возможность попадания устройства. Но тут речь идёт о сокрытие данных. И в этом случаи, даже если устройство попадет кому-то в руки, данные заполучить у них не получится. А флеш накопителем можно и пожертвовать если идёт речь о коммерческой тайне на несколько миллионов?)
I2P намерено не стал включать, ввиду сложности его настройки и использовании. Это конечно можно оспорить. Но все же статья рассчитана на новичков и обычных пользователей.
Louie
10.12.2017 11:44Пароли — краеугольный камень ИБ. И как раз где-то на хабре уже разбирали, что в современном мире все эти разные регистры и #^%$ практически не влияют на скорость брутфорса, но заставляют пользователей сохранять их во всяких запоминалках. То есть, пароли получаются простыми для взломщиков и сложными для пользователя.
Посему, если разговор о 2017, то желательно, чтобы пароли были длинными и осмысленными хорошо запоминающимися фразами. Пилорамадлягиппопотама сложнее для взлома, чем Qy#$%4XCWildGraf
10.12.2017 11:47Ну смотря с какой стороны смотреть. В вашем длинном пароле все символы из одного алфавита, а вот во втором, коротком использовано 4 различных алфавита, что значительно увеличивает энтропийность. Если увеличить длинну второго пароля хотябы до половины длины первого, они будут относительно равны по энтропийности.
GreedyIvan
10.12.2017 13:34Если увеличить длинну второго пароля хотябы до половины длины первого, они будут относительно равны по энтропийности.
В современных подходах энтропийность стоит далеко не на первом месте. Основную роль играют векторы атаки и их вероятность. Компрометация незапоминаемого пароля на порядки выше, чем у равно по энтропийности, но легко запоминаемого.
Сейчас три ключевых характеристики к парольной защиты следующие:
1. Отсутствие необходимости периодической смены пароля. Пароль должен меняться только при превышении вероятностью, что он был скомпрометирован, определенного порога.
2. Отсутствие искусственной сложности, не позволяющей создавать равные по энтропии, но легко запоминающиеся пароли.
3. Проверка наличия в паролях часто используемых и скомпрометированных паролей.
mogaika
10.12.2017 13:39Допустим заранее известен размер пароля и алфавита.
«Пилорамадлягиппопотама»: длина строки = 22, размер алфавита = 33 * 2 = 66
вариантов пароля = 66^22 = 10714368571740915734427767689504050118656
«Qy#$%4XC»: длина строки = 8, размер алфавита = 255
вариантов пароля = 255^8 = 17878103347812890625
с увеличенной длиной до половины = 255^11 = 296443535898840969287109375
В общем длину увеличивать проще и выгодней, что уже давно известно
Louie
10.12.2017 16:02С энтропийностью всё понятно. Осталось пользователя такого найти, чтоб запомнил второй пароль хотя бы исходной длины.
WildGraf
10.12.2017 11:46Отличная статья, но возник вопрос. Ранее встречал информацию, что TOR на 60% спонсируется правительством США, можем ли мы после этого считать его действительно безопасным? Кто знает, что там может быть вшито по их заказу — большой вопрос.
Veantm Автор
10.12.2017 11:58Вот по данному адресу подымается данный вопрос и там же ответ разработчиков.
safe.cnews.ru/news/top/anonimnaya_set_tor_na_60_finansiruetsya
ATwn
11.12.2017 18:48Тут и не стоит сомневаться! Однозначно TOR не предоставляет абсолютную анонимность в сети. Это уже давно общеизвестный факт.
egor_nullptr
10.12.2017 13:27Он использовал почтовый сервис ProtonMail.
Сноуден использовал Lavabit. ProtonMail в то время даже не был запущен.
mr_tron
10.12.2017 20:26+1статья ни о чём.
в качестве примеров алгоритмов какие-то названия, которые плохо сочетаются с датой в заголовке.
тор вобще разговор в другую стороны. он повышает анонимность ценой уменьшения безопасности.
tails это такой кнопикс с нескучными обоями и тором из коробки. qubes os вот действительно ультимативный вариант. кстати рекомендую.Veantm Автор
10.12.2017 20:58Статье больше для новичков. Брать мейнстрим алгоритмы которые используются только в редком софте здесь мало смысла. А КубыОС уже для очень опытных пользователей.
Я понимаю что у вас больше знаний и вам кажется что это все не стоит упоминать, но я считаю что для базовых знаний это вполне достаточно. А далее человек поймет какое направление для него приоритетней и уже сам будет копать в этом направлении.
AkaZLOY
11.12.2017 09:28Перед чтением пробежался взглядом по статье, хотел найти для себя что-то новое, увы.
Потом увидел заметку:
я, то есть автор статьи — неспециалист в информационной безопасности и оперирую данными из открытых источников
Стало всё ясно. Обычная компиляция уже известных вещей.Veantm Автор
11.12.2017 11:19К сожалению в собранном виде данной информации нигде нет.
Я постарался сделать так, чтобы человек которому нужно сохранить коммерческую тайну например, мог посмотреть что вообще представляет собой шифрование, каким бывает и какие средства можно использовать для безопасности.
Естественно что человек который интересуется данной тематикой не найдёт в данной статье ничего нового.
Спасибо за комментарий, но информация действительно собиралась и готовилась для новичков.
Наверное надо было иначе назвать статью чтобы не приводить в замешательство.
MakeMe5mile
11.12.2017 11:20Сертификат – это аналог ключа (который включает в себя закрытый и открытый ключ),
если сертификат будет содержать открытый и закрытый ключ, то о какой конфиденциальности идет речь?
nmk2002
11.12.2017 13:19Мне статья показалась несколько хаотичной, несвязанной и обрывочной. Однако про ту часть, которая касается аутентификации, я бы хотел вставить свои 5 копеек.
Чтобы аутентификация была двухфакторной надо, чтобы «два способа подтверждения личности» были из разных доменов: что я знаю, что я имею, чем я являюсь(биометрия).
К способам(методам) аутентификации можно добавить одноразовые пароли, которые значительно отличаются от рандомно сгенерированных кодов, получаемых по СМС.
Отпечаток пальца — не единственный биометрический метод аутентификации, который сейчас используется. Еще есть основанные на сканировании лица, сетчатки глаза, радужной оболочки глаза, анализе голоса или почерка, замерах сердечного ритма и другие.
То, что вы называете «флеш токен», на самом деле только частный пример PKI аутентификации или аутентификации по сертификатам. Закрытый ключ может быть и на смарт карте и на криптографическом токене. В самом плохом случае закрытый ключ может храниться на флэшке.
Про push аутентификация добавлю, что обычно она основана на асимметричной криптографии, что в принципе делает ее близкой к PKI аутентификации. Хотя я встречал и варианты, когда push канал использовался для простой передачи одноразовых кодов по аналогии с СМС.
Koba72
Спасибо за статью, узнал про бесплатные почты с шифрацией!)