Зачем нужен зашифрованный файловый контейнер
В современном мире сложно сохранить какую-либо информацию в тайне. Особенно если она представляет ценность для кого-либо и вам нужно ее передать. Не важно, какие у вас причины на сокрытие тех или иных данных, в этой статье рассмотрим основные методы и программные средства для сохранения информации в тайне.
Постараюсь объяснить сложные и непонятные технологии простым и доступным языком, чтобы было понятно и новичку.
Важно! Все программы, представленные в статье бесплатные. Скачивать их можно и нужно только с официальных сайтов разработчиков.
Дисклеймер: я, то есть автор статьи — неспециалист в информационной безопасности и оперирую данными из открытых источников. Я против использования описанных ниже методов для сокрытия противоправных действий.
Как защитить себя и свою компанию?
Мы продолжаем цикл статей про безопасность Windows домена. В первой статье из цикла мы рассказали про настройку безопасного входа в домен, а во второй — про настройку безопасной передачи данных в почтовом клиенте:
В этой статье мы расскажем о настройке шифрования информации, хранящейся на жестком диске. Вы поймете, как сделать так, чтобы никто кроме вас не смог прочитать информацию, хранящуюся на вашем компьютере.
Мало кто знает, что в Windows есть встроенные инструменты, которые помогают безопасно хранить информацию. Рассмотрим один из них.
Наверняка, кто-то из вас слышал слово «BitLocker». Давайте разберемся, что же это такое.
Семь бед – один ответ
Угроз, как мы видим, существует много, и от каждой из них можно придумать свой способ защиты: изолировать компьютер в запертой спальне, поставить PIN-код на включение смартфона и так далее. Но если защитить информацию не путем физической изоляции, а так, чтобы ее мог прочитать только владелец, результат будет более надежным и всеобъемлющим. Абсолютно все перечисленные неурядицы – большие и малые – могли бы не случиться, если бы важная информация, предназначенная не для всех глаз, хранилась бы в зашифрованном виде.
Ваш цифровой сейф
Самое удобное на сегодня решение по шифрованию файлов на компьютере – это создание «контейнера», который виден в системе как отдельный диск. На этот диск можно сохранять или копировать любую информацию, с ним можно работать из любой программы, он ничем, по сути, не отличается от флешки или раздела винчестера, чем и удобен.
Важное «но» – на самом деле контейнер является отдельным большим файлом на вашем винчестере, доступ к которому организован через специальную программу, например Kaspersky CRYSTAL. Любой файл, сохраняемый на этот особый диск, будет «на лету» зашифрован и записан в общий файл-контейнер.
Файл-хранилище может увидеть любой посторонний, его даже можно украсть (скопировать). Но это не даст злоумышленнику или просто любопытному ровным счетом ничего – внутри файла содержится лишь мешанина символов, и можно потратить многие годы на то, чтобы подобрать пароль, который превращает этот файл в диск с читабельными файлами.
Чтобы зашифрованный контейнер стал эффективной защитой вашей информации, нужно соблюдать несколько простых правил:
- ключ (пароль) шифрования является единственной защитой информации от посторонних. Он должен быть очень длинным, трудным для подбора, – в общем, стойким. Советы по выбору стойкого пароля можно прочитать в этом посте;
- на диске-хранилище нужно хранить всю конфиденциальную информацию;
- вся информация на диске доступна знающему пароль. Если у вас есть разные группы информации для разных пользователей, заведите несколько хранилищ с разными паролями;
- не держите диск-хранилище постоянно подключенным, иначе с него можно украсть файлы так же, как с обычного диска. Подключайте диск на время работы с важными данными и отключайте сразу после ее завершения;
- информация на зашифрованном диске будет потеряна целиком, если файл-контейнер окажется хоть немного поврежден. Регулярно проводите резервное копирование файла-контейнера;
- обязательно используйте всестороннюю защиту компьютера, чтобы обезопасить свой пароль от троянских приложений и «клавиатурных шпионов». Действующий шпион сводит парольную защиту на нет.
От чего сквозное шифрование не защищает
После того как кто-нибудь расписывает все преимущества сквозного шифрования — примерно так, как это сделали мы сейчас, — слушателям начинает казаться, что оно решает вообще все проблемы передачи информации. Однако это не так, и у сквозного шифрования есть свои ограничения.
И все же, несмотря на ограничения, сквозное шифрование — наиболее безопасный способ передачи конфиденциальных данных, и именно поэтому на него переходит все больше различных сервисов. И это хорошо.
Даже если вы никогда не задумываетесь над этим,у вас наверняка есть тайны, достойные быть зашифрованными!
К счастью, компьютеры, изначально созданные для взлома военных шифров, дают каждому из нас прекрасный способ хранения личных тайн – информацию можно зашифровать. То, что долгое время было доступно только государственным службам, сегодня может применить любой пользователь. И, что более существенно, даже если вы не задумываетесь над этим, у вас наверняка есть тайны, достойные шифрования.
Обеспечение конфиденциальности данных и кода в образах контейнеров
За последние несколько лет в облачной индустрии произошел серьезный сдвиг от развертывания монолитных приложений на виртуальных машинах к разделению приложений на более мелкие компоненты (микросервисы) и их упаковке в контейнеры. Популярность контейнеризации сегодня во многом обусловлена работой Docker. Docker — это компания, которая стала главной движущей силой контейнеров: она предоставила простой в использовании инструмент для создания и запуска контейнеров Docker и реестр контейнеров Docker для решения задачи их распределения.
Успех технологии контейнеризации в основном зависит от безопасности контейнеров на различных этапах их жизненного цикла. Одна из проблем безопасности — наличие уязвимостей внутри отдельных контейнеров. Для их выявления пайплайны DevOps, используемые для создания контейнеров, дополняют сканерами, которые ищут в контейнерах пакеты с возможными уязвимостями и предупреждают их владельцев или технических специалистов в случае их обнаружения. Vulnerability Advisor в IBM Cloud является примером такой утилиты.
Еще один аспект безопасности заключается в том, что нужно убедиться, что запускаемый контейнер — именно тот контейнер, который вам нужен, и он не был изменен. Этот вопрос решается путем использования хранящихся в Notary цифровых подписей, которые защитят контейнеры от каких-либо модификаций. Docker Notary — это пример публичного репозитория, в котором хранятся подписи образов. Используя Notary, клиент может проверить подпись образа контейнера, чтобы убедиться, что образ контейнера не был изменен с момента его подписания ключом владельца или специалиста по обслуживанию.
Еще одна потенциальная проблема безопасности — это изоляция контейнера. Технологии безопасности среды исполнения Linux, такие как пространство имен, контрольные группы (cgroups), возможности Linux, а также профили SELinux, AppArmor и Seccomp, помогают ограничить процессы контейнеров и изолировать контейнеры друг от друга во время исполнения.
В этой статье рассматривается все еще актуальная проблема безопасности предприятий в отношении конфиденциальности данных и кода в образах контейнеров. Основная цель безопасности при работе с образами контейнеров — позволить создавать и распространять зашифрованные образы контейнеров, чтобы сделать их доступными только определенному кругу получателей. В этом случае другие могут иметь доступ к этим образам, но они не смогут запускать их или видеть конфиденциальные данные внутри них. Шифрование контейнеров основано на существующей криптографии, такой как технологии шифрования Ривеста-Шамира-Адлемана (RSA), эллиптической кривой и Advanced Encryption Standard (AES), также известный как Rijndael — симметричный алгоритм блочного шифрования.
Что такое сквозное шифрование и какие еще бывают варианты
В то же время во многих случаях может быть гораздо удобнее использовать транспортное шифрование вместо сквозного. Дело в том, что транспортное шифрование позволяет серверу предоставлять более разнообразные услуги, нежели просто передача зашифрованных данных от одного собеседника к другому. Например, хранить историю переписки, подключать к беседе дополнительных участников по альтернативным каналам (телефонный звонок в видеоконференцию), использовать автоматическую модерацию и так далее.
При этом транспортное шифрование решает важную задачу: исключает перехват данных по дороге от пользователя к серверу и от сервера к пользователю (а это самая опасная часть пути). Так что сервисы не всегда торопятся переходить на сквозное шифрование: для пользователей удобство и разнообразие сервисов может быть важнее повышенной безопасности данных.
Безопасный выход в интернет
Безопасный браузер Tor Browser
Для безопасного посещения сайтов стоит использовать Tor Browser. Вы наверняка слышали о нем. Tor Browser работает на основе луковичных сетей. Смысл такой сети в том, что соединение от вашего устройства до конечного сервера проходит через определенное количество слоев сети. Каждый слой сети или подключение шифруется отдельно. И получается, что передаваемый вами трафик шифруется несколько раз. Это влияет на скорость соединения, но очень эффективно в плане безопасности.
Виртуальная частная сеть ProtonVPN
Если вам нужно скрыть и зашифровать весь трафик вашего устройства, можно воспользоваться VPN. VPN расшифровывается как виртуальная персональная сеть. При подключении к VPN абсолютно все соединения вашего устройства проходят через выбранный сервер.
Это позволяет не только скрыть изначальный источник запроса, но и зашифровать данные.
Также это можно использовать для доступа к заблокированным сайтам в вашей сети. Поскольку трафик идет, например, через Нидерланды, где может быть не заблокирован российский локальный информационный ресурс, вы сможете зайти на него.
Я использую программное обеспечение ProtonVPN, от создателей ProtonMail. Их почтовый сервис прекрасно себя зарекомендовал, и увидев доступность VPN клиента от данной команды сразу решил установить и использовать.
Приложение бесплатное, но еще не имеет русского интерфейса. Но разобраться в его работе очень просто.
Если выбрать платный тарифный план, то у вас будет больший выбор стран для подключения. Платные сервера менее загружены, поэтому скорость будет выше. А также будет возможность использовать P2P траффик и сети TOR.
Анонимная операционная система Tails
Tails это самый ультимативный вариант. Это операционная система, основанная на ядре Linux.
Обычно ее записывают на флеш накопитель или DVD диск и загружаются с них. При том, сами создатели рекомендуют сначала записать операционную систему на флеш накопитель, далее загрузится с него. И уже с этого носителя с помощью специального программного обеспечения записать операционную систему на другой флеш накопитель или DVD диск.
В данной операционной системе можно работать в интернете, работать с почтой и максимально важными данными на компьютере.
В ней используются самые передовые технологии шифрования. Максимальная защита всех данных. Данную ОС постоянно проверяют и исследуют.
Общение
Почтовый сервис ProtonMail
Для общения на расстоянии можно использовать и почту. Например, как это сделал Эдвард Сноуден, который поведал миру о тотальной слежке спец служб США.
Есть сервисы, которые предоставляют шифрованный почтовый ящик. Наиболее проверенный и удобный вариант на данный момент ProtonMail. Сам ProtonMail создали под влиянием тех событий что произошли с Сноуденом. Это бесплатный сервис, который предоставляет пользователям зарегистрировать бесплатный зашифрованный почтовый ящик.
За дополнительные функции и расширении памяти хранилища придется заплатить, но для обычной передачи текстовой информации и небольших файлов хватит и бесплатного аккаунта.
Есть веб версия, клиенты под Android и iOS. Сервис переведен на многие языки включая русский.
Защищенный мессенджер Signal
Иногда общения через почту не подходит. Информация нужна здесь и сейчас. Тогда можно использовать формат всем нам знакомым мессенджеров. И тут на помощь приходит приложение Signal. Опять же, есть куча приложений, которые также заявляют о полной безопасности и анонимности, но именно к Signal меньше всего вопросов и подозрений. Его так-же использовал Эдвард Сноуден. Еще его использует Мэт Грин, который довольно известен среди специалистов по шифрованию и безопасности.
Приложение проходило аудит и постоянно проверяется.
Приложение выглядит как обычный мессенджер. В нем можно передавать текст, смайлики, фотографии, аудио, файлы. Есть даже голосовая и видео связь. Информация передается довольно быстро. Интерфейс не перегружен и удобен всем тем кто хоть когда-то отправлял СМС на смартфоне.
Но нужно быть осторожным с данным приложением. Приложение само по себе защищенное, есть даже защита от снятия скриншотов. А вот ваш смартфон скорее всего не так безопасен и защищен. Так что передавать информацию сначала помещая ее на память телефона не очень безопасно. Но при этом отправлять текст и совершать аудио и видео звонки вполне безопасно.
Есть клиенты для Android, iOS, Windows, macOS, Linux.
Сейф на смартфоне
Ответом на вышеописанную проблему с кражей смартфонов стало включение в современные мобильные ОС функций шифрования. Ключевая информация в смартфоне постоянно хранится в зашифрованном виде и всякий раз расшифровывается, когда владелец вводит пароль или PIN-код разблокировки. Apple не дает пользователю глубоко управлять этой функцией, но значительное количество информации подвергается шифровке при активации защитного PIN-кода на включение смартфона/планшета.
В Android в настройках безопасности имеется опция полной шифровки содержимого телефона, которая делает все данные на устройстве недоступными без ввода пароля. Для максимальной надежности в обоих случаях рекомендованы свежие версии мобильных ОС – iOS с 6.1 и Android с 4.1.
Вводные
Чтобы получить максимальную пользу от прочтения этой статьи, вы должны быть знакомы с контейнерами Linux и образами контейнеров, а также иметь представление об основах безопасности.
Пример реализации: containerd
Мы реализовали наш вариант в новом проекте среды выполнения контейнеров под названием containerd. Его исходный код на golang можно посмотреть, перейдя по ссылке. Docker-демон использует containerd для запуска некоторых своих служб, а у Kubernetes есть плагин для прямого использования containerd. Поэтому мы надеемся, что наши расширения для поддержки зашифрованных образов контейнеров пригодятся обоим.
Реализация многоуровневого шифрования с использованием LEK находится на самом низком архитектурном уровне расширений. Одно из требований к реализации состояло в том, чтобы вместить объемные слои в несколько гигабайтов, сохраняя при этом объем памяти, занимаемый процессом, выполняющим криптографическую операцию в слое, размером всего несколько мегабайт.
Поддержка алгоритмов аутентифицированного шифрования в Golang принимает байтовый массив в качестве входных данных и выполняет весь этап его шифрования (запечатывания) или дешифрования (открытия), не допуская передачи и добавления дополнительных массивов в поток. Поскольку этот криптографический API требовал загрузки всего уровня в память или изобретения некоторой схемы для изменения вектора инициализации (IV) для каждого блока, мы решили не использовать аутентифицированное шифрование golang с поддержкой связанных данных (AEAD). Вместо этого мы использовали крипто-библиотеку miscreant golang, которая поддерживает AEAD в потоках (блоках) и реализует собственную схему изменения IV в каждом блоке. В нашей реализации мы разбиваем уровень на блоки размером 1 МБ, которые и передаем один за другим для шифрования. Такой подход позволяет снизить объем памяти при использовании аутентифицированного шифра. На стороне дешифрования мы делаем обратное и обращаем внимание на ошибки, возвращаемые функцией Open (), чтобы убедиться, что блоки шифрования не были подделаны.
Среда выполнения containerd включает клиентский инструмент ctr для взаимодействия с ней. Мы расширили ctr, чтобы включить тестирование наших изменений и предоставить доступ для пользователей контейнера. ctr уже реализует подкоманду, которая поддерживает операции с образами, такие как взаимодействие с реестром образов через их извлечение и отправку.
Мы расширили эту подкоманду, добавив функционал для шифрования образов и включения шифрования отдельных уровней отдельных архитектур с помощью определенного набора ключей. Такой подход позволяет пользователям шифровать только те слои, которые содержат конфиденциальные данные, и оставлять другие слои без шифрования. Последние можно дедуплицировать, но это вряд ли возможно для зашифрованных слоев.
Точно также мы можем расшифровывать отдельные слои отдельных архитектур. Мы добавили подкоманду layerinfo, которая показывает статус шифрования каждого уровня и отображает технологии шифрования, используемые для него. Для OpenPGP мы также можем отображать идентификаторы ключей, необходимые для дешифрования, или преобразовывать их в адреса электронной почты их получателей с помощью keyring.
Дополнительно можно делать экспорт и импорт образов контейнеров. Мы реализовали поддержку шифрования слоев при экспорте и дешифрования при импорте. Несмотря на то, что мы расшифровываем слои для создания файловой системы rootfs контейнера, зашифрованные слои и исходные файлы метаданных, например, его манифесты, сохраняются. Такой подход позволяет экспортировать образ в зашифрованном виде и выполнять проверки авторизации, когда пользователи хотят запустить контейнер с зашифрованным образом.
Когда простой (незашифрованный) образ извлекается из реестра, он автоматически распаковывается и разархивируется, чтобы из него можно было сразу создавать контейнеры. Чтобы упростить это действие для зашифрованных образов, мы предлагаем передавать закрытый ключ команде, которая занимается распаковкой образов, чтобы они могли расшифровать слои до распаковки. Если образ зашифрован с помощью нескольких ключей, команде pull можно передать несколько. Такая передача также поддерживается. После успешного извлечения зашифрованного образа из реестра любой пользователь, имеющий доступ к containerd, может создать контейнер из образа. Чтобы подтвердить, что пользователь имеет права на использование образа контейнера, мы предлагаем ему предоставить закрытые ключи, используемые для расшифровки контейнера. Мы используем ключи для проверки авторизации пользователя, могут ли они использоваться для расшифровки LEK каждого зашифрованного уровня, и если это подтверждается, разрешаем запуск контейнера.
Пошаговое руководство шифрования с использованием containerd
В этом разделе мы продемонстрируем шаги шифрования, которые применяются с containderd, используя ctr в командной строке. Мы покажем, как происходит шифрование и дешифрование образа контейнера.
В первую очередь, нужно клонировать репозиторий git containerd/imgcrypt, который является подпроектом и может шифровать/дешифровать образ контейнера. Затем необходимо собрать containerd и запустить его. Чтобы выполнить эти шаги, нужно знать, как настраивается среда разработки golang:
Для imgcrypt требуется использовать containerd версии не ниже 1.3.
Собираем и устанавливаем imgcrypt:
Запустите containerd с файлом конфигурации, который можно увидеть на примере ниже. Чтобы избежать возникновения конфликта в containerd, используйте директорию /tmp для каталогов. Также соберите containerd версии 1.3 из исходника, но не устанавливайте его.
Создайте пару ключей RSA с помощью инструмента командной строки openssl и зашифруйте образ:
Отправьте зашифрованный образ в локальный реестр, извлеките его с помощью ctr-enc, а затем запустите образ:
Структура
Экосистема Docker сформировалась для того, чтобы стандартизировать форматы образов контейнеров с помощью группы стандартов Open Container Initiative (OCI), которая теперь контролирует формат времени исполнения контейнера (runtime-spec) и формат образа контейнера (image-spec). Поскольку работа команды требовала расширения существующего формата образа контейнера, мы выделили расширение стандарта для поддержки зашифрованных образов. В следующих разделах описывается существующий формат образа контейнера и расширения.
На верхнем уровне контейнер может состоять из документа в JavaScript Object Notation (JSON), который представляет собой список манифестов образов. Например, вы можете использовать этот список манифестов, когда для образа контейнера используются несколько архитектур или платформ. Список манифестов содержит ссылки на манифесты контейнеров, по одной для каждой комбинации архитектуры и операционной системы. Например, поддерживаемые архитектуры включают amd64, arm и ppc64le, а к поддерживаемым операционным системам относится Linux или Windows. Пример списка манифестов показан на скриншоте ниже:
Поле mediaType описывает точный формат указанного документа. Этот список манифестов позволяет в будущем расширять и выбирать соответствующий синтаксический анализатор для задействованного документа.
Уровень ниже списка манифестов — это манифест. Манифест также является документом JSON и содержит упорядоченный список ссылок на слои образов. Эти ссылки содержат mediaType, описывающий формат слоя. Формат может описывать, сжимается ли слой, и если да, то каким образом. Например, каждый уровень может быть сохранен в виде файла .tar, содержащего файлы, которые были добавлены на определенном этапе сборки при выполнении docker build в файле Docker. Для повышения эффективности хранения слои часто также упаковываются с использованием сжатых файлов .gzip. Пример документа манифеста показан на следующем скриншоте:
Как показано, манифесты и уровни ссылаются через «дайджест», который обычно представляет собой хеш-функцию sha256 в документах JSON. Манифесты и слои обычно хранятся в виде файлов в файловой системе. Зачастую имена файлов представляют собой хеш-функции над содержимым, что упрощает их поиск и загрузку. Следствием этого метода хеш-функции является то, что небольшое изменение в документе, на который есть ссылка, вызывает изменения во всех документах, которые на него ссылаются, вплоть до списка манифестов.
Что такое BitLocker?
BitLocker (точное название BitLocker Drive Encryption) — это технология шифрования содержимого дисков компьютера, разработанная компанией Microsoft. Она впервые появилась в Windows Vista.
С помощью BitLocker можно было шифровать тома жестких дисков, но позже, уже в Windows 7 появилась похожая технология BitLocker To Go, которая предназначена для шифрования съемных дисков и флешек.
BitLocker является стандартным компонентом Windows Professional и серверных версий Windows, а значит в большинстве случаев корпоративного использования он уже доступен. В противном случае вам понадобится обновить лицензию Windows до Professional.
Как восстановить данные, зашифрованные BitLocker, если токен потеряли?
Если вы хотите открыть зашифрованные данные в Windows
Для этого понадобится ключ восстановления, который мы распечатали ранее. Просто вводим его в соответствующее поле и зашифрованный раздел откроется.
Если вы хотите открыть зашифрованные данные в системах GNU/Linux и Mac OS X
Для этого необходима утилита DisLocker и ключ восстановления.
Утилита DisLocker работает в двух режимах:
- FILE — весь раздел, зашифрованный BitLocker, расшифровывается в файл.
- FUSE — расшифровывается только тот блок, к которому обращается система.
Для примера мы будем использовать операционную систему Linux и режим утилиты FUSE.
В последних версиях распространенных дистрибутивов Linux, пакет dislocker уже входит в состав дистрибутива, например, в Ubuntu, начиная с версии 16.10.
Если пакета dislocker по каким-то причинам не оказалось, тогда нужно скачать утилиту DisLocker и скомпилировать ее:
Откроем файл INSTALL.TXT и проверим, какие пакеты нам необходимо доустановить.
В нашем случае необходимо доустановим пакет libfuse-dev:
Приступим к сборке пакета. Перейдем в папку src и воспользуемся командами make и make install:
Когда все скомпилировалось (или вы установили пакет) приступим к настройке.
Перейдем в папку mnt и создадим в ней две папки:
- Encrypted-partition— для зашифрованного раздела;
- Decrypted-partition — для расшифрованного раздела.
Найдем зашифрованный раздел. Расшифруем его с помощью утилиты и переместим его в папку Encrypted-partition:
Выведем на экран список файлов, находящихся в папке Encrypted-partition:
Введем команду для монтирования раздела:
Для просмотра расшифрованного раздела перейдем в папку Encrypted-partition.
Смежные работы по шифрованию и контейнерам
Насколько нам известно, работы в области шифрования образов контейнеров отсутствуют. Однако существует множество реализаций и продуктов, которые поддерживают конфиденциальность данных и защиту от кражи посредством шифрования в файловой системе, на уровне блочного устройства или на уровне оборудования. Последнее реализуется с помощью дисков с самошифрованием. Также существуют зашифрованные образы виртуальных машин.
Зашифрованные файловые системы существуют во многих операционных системах на предприятиях и могут поддерживать монтирование зашифрованных разделов и каталогов. Зашифрованные файловые системы могут даже поддерживать загрузку с зашифрованного загрузочного диска. Linux поддерживает шифрование на уровне блочного устройства с помощью драйвера dm-encrypt; ecryptfs является одним из примеров зашифрованной файловой системы. Для Linux доступны другие решения для шифрования файлов с открытым исходным кодом. В ОС Windows шифрование поддерживает файловая система NTFS v3.0. Кроме того, многие производители создают диски с самошифрованием. Для образов виртуальных машин существует решение, подобное зашифрованным дискам. Эмулятор машины (ПК) QEMU с открытым исходным кодом и продукты виртуализации VMware поддерживают зашифрованные образы виртуальных машин.
Шифрование данных обычно направлено на защиту от кражи данных в то время, когда система отключена. Смежная технология — это подписание образа контейнера ключом, который предоставляется клиентом и сервером Docker Notary. Сервер Docker Notary работает в непосредственной близости с реестром образов контейнера. Пользователи клиентского инструмента Docker имеют возможность подписать образ контейнера и загрузить подпись в свои учетные записи через Docker Notary. В ходе этого процесса подпись привязывается к образу контейнера через имя пути к образу и его версиям. Подпись создается с помощью хеш-функции, которая рассчитывается на основе описания всего содержимого образа. Это описание называется манифестом образа контейнера. Технология подписи образов контейнера решает проблему защиты образов контейнеров от несанкционированного доступа и помогает определить происхождение образа контейнера.
Многослойное шифрование с использованием симметричных ключей
От чего защищает сквозное шифрование
Если в физическом мире такую непобедимую коробку едва ли получится создать, то в мире информации это действительно возможно. Очень крутые математики постоянно разрабатывают новые системы шифрования и совершенствуют старые, чтобы их нельзя было вскрыть.
Как работает BitLocker?
Эта технология основывается на полном шифровании тома, выполняемом с использованием алгоритма AES (Advanced Encryption Standard). Ключи шифрования должны храниться безопасно и для этого в BitLocker есть несколько механизмов.
Самый простой, но одновременно и самый небезопасный метод — это пароль. Ключ получается из пароля каждый раз одинаковым образом, и соответственно, если кто-то узнает ваш пароль, то и ключ шифрования станет известен.
Чтобы не хранить ключ в открытом виде, его можно шифровать либо в TPM (Trusted Platform Module), либо на криптографическом токене или смарт-карте, поддерживающей алгоритм RSA 2048.
TPM — микросхема, предназначенная для реализации основных функций, связанных с обеспечением безопасности, главным образом с использованием ключей шифрования.
Модуль TPM, как правило, установлен на материнской плате компьютера, однако, приобрести в России компьютер со встроенным модулем TPM весьма затруднительно, так как ввоз устройств без нотификации ФСБ в нашу страну запрещен.
Использование смарт-карты или токена для снятия блокировки диска является одним из самых безопасных способов, позволяющих контролировать, кто выполнил данный процесс и когда. Для снятия блокировки в таком случае требуется как сама смарт-карта, так и PIN-код к ней.
Схема работы BitLocker:
- При активации BitLocker с помощью генератора псевдослучайных чисел создается главная битовая последовательность. Это ключ шифрования тома — FVEK (full volume encryption key). Им шифруется содержимое каждого сектора. Ключ FVEK хранится в строжайшей секретности.
- FVEK шифруется при помощи ключа VMK (volume master key). Ключ FVEK (зашифрованный ключом VMK) хранится на диске среди метаданных тома. При этом он никогда не должен попадать на диск в расшифрованном виде.
- Сам VMK тоже шифруется. Способ его шифрования выбирает пользователь.
- Ключ VMK по умолчанию шифруется с помощью ключа SRK (storage root key), который хранится на криптографической смарт-карте или токене. Аналогичным образом это происходит и с TPM.
К слову, ключ шифрования системного диска в BitLocker нельзя защитить с помощью смарт-карты или токена. Это связано с тем, что для доступа к смарт-картам и токенам используются библиотеки от вендора, а до загрузки ОС, они, понятное дело, не доступны.
Если нет TPM, то BitLocker предлагает сохранить ключ системного раздела на USB-флешке, а это, конечно, не самая лучшая идея. Если в вашей системе нет TPM, то мы не рекомендуем шифровать системные диски.
И вообще шифрование системного диска является плохой идеей. При правильной настройке все важные данные хранятся отдельно от системных. Это как минимум удобнее с точки зрения их резервного копирования. Плюс шифрование системных файлов снижает производительность системы в целом, а работа незашифрованного системного диска с зашифрованными файлами происходит без потери скорости. - Ключи шифрования других несистемных и съемных дисков можно защитить с помощью смарт-карты или токена, а также TPM.
Если ни модуля TPM ни смарт-карты нет, то вместо SRK для шифрования ключа VMK используется ключ сгенерированный на основе введенного вами пароля.
При запуске с зашифрованного загрузочного диска система опрашивает все возможные хранилища ключей — проверяет наличие TPM, проверяет USB-порты или, если необходимо, запрашивает пользователя (что называется восстановлением). Обнаружение хранилища ключа позволяет Windows расшифровать ключ VMK, которым расшифровывается ключ FVEK, уже которым расшифровываются данные на диске.
Каждый сектор тома шифруется отдельно, при этом часть ключа шифрования определяется номером этого сектора. В результате два сектора, содержащие одинаковые незашифрованные данные, будут в зашифрованном виде выглядеть по-разному, что сильно затруднит процесс определения ключей шифрования путем записи и расшифровки заранее известных данных.
Помимо FVEK, VMK и SRK, в BitLocker используется еще один тип ключей, создаваемый «на всякий случай». Это ключи восстановления.
Для аварийных случаев (пользователь потерял токен, забыл его PIN-код и т.д.) BitLocker на последнем шаге предлагает создать ключ восстановления. Отказ от его создания в системе не предусмотрен.
Резюмируем
Включить шифрование тома при помощи BitLocker очень просто. Все это делается без особых усилий и бесплатно (при условии наличия профессиональной или серверной версии Windows, конечно).
Для защиты ключа шифрования, которым шифруется диск, можно использовать криптографический токен или смарт-карту, что существенно повышает уровень безопасности.
OpenPGP
Есть что скрывать
«У меня нет никаких тайн, мне нечего скрывать», – часто можно услышать от пользователей, когда речь заходит о шифровании и других средствах защиты конфиденциальности. Обычно за этой фразой стоит нечто другое – «я считаю, что никто не потрудится лезть в мой телефон или компьютер, чтобы там найти что-то ценное». Но практика показывает, что это не так. Файл, сохраненный на рабочий стол компьютера или телефон, оставленный в гостиной, довольно быстро будет изучен кем-то из домочадцев.
Все ли письма, фотографии и документы вы готовы показывать жене, брату, теще, детям? Возможно, там нет ничего криминального. Но готовы ли вы сообщить номер своей кредитной карты и ее PIN-код детям-подросткам? Отдать брату пароли от почты и социальных сетей? Демонстрировать все семейные фото друзьям, которые пришли в гости и на пятнадцать минут сели за компьютер? Есть ли желание объяснять жене, что Элеонора – это начальник отдела смежников на работе, а встреча с ней завтра – это совещание с участием еще десяти человек?
Ваши фото, номера банковских карт и просто личная переписка интересуют всех: домочадцев, работодателей и, конечно, киберпреступников
И уж конечно, совсем грустной будет история, если на компьютер проникнет вредоносное приложение. В последнее время встречаются зловреды, крадущие всю доступную информацию с компьютера: документы, изображения, сохраненные в браузере пароли и формы – все. Известны случаи, когда среди краденых изображений находились фото документов, которые были использованы для разных форм мошенничества. Или случаи, когда пикантные фото использовались для шантажа.
Особо неприятной формой кражи в последние два-три года стала кража смартфона. Теперь это делается не только для перепродажи краденой трубки, более «продвинутые» воры перед сбытом выключают все беспроводные модули и заглядывают в память устройства в надежде найти что-то ценное вроде тех же паролей, номеров кредиток и фото паспорта.
JSON Web Encryption (JWE)
JSON Web Encryption, также известное как JWE, является еще одним интернет-стандартом IETF и определено в RFC7516. Это более новый стандарт шифрования, чем OpenPGP, поэтому в нем используются более свежие низкоуровневые шифры, предназначенные для удовлетворения более строгих требований к шифрованию.
Для поддержки ранее описанных технологий шифрования мы расширили документ манифеста, добавив следующую информацию:
- org.opencontainers.image.enc.keys.openpgp
- org.opencontainers.image.enc.keys.jwe
- org.opencontainers.image.enc.keys.pkcs7
Чтобы определить, что слой был зашифрован с помощью LEK, мы расширили существующие медиатипы суффиксом '+encrypted', как показано в следующих примерах:
- application/vnd.docker.image.rootfs.diff.tar+encrypted
- application/vnd.docker.image.rootfs.diff.tar.gzip+encrypted
«Облачная» защита
Среди прочих видов информации в наибольшей степени требуют шифрованного хранения ваши пароли – ведь к каждому сайту и сервису они должны быть разными, оставаясь надежными, длинными и стойкими. Именно поэтому все качественные «хранители паролей» постоянно держат базу данных в зашифрованном виде. Это позволяет без особых опасений передавать ее по Интернету, синхронизируя между разными компьютерами и мобильными устройствами. Подобные сервисы помогают держать все свои пароли под рукой, не снижая уровень защищенности.
По мнению специалистов, именно кража ноутбука является одной из основных проблем в сфере информационной безопасности (ИБ).
В отличие от других угроз ИБ, природа проблем «украденный ноутбук» или «украденная флешка» довольно примитивна. И если стоимость исчезнувших устройств редко превышает отметку в несколько тысяч американских долларов, то ценность сохраненной на них информации зачастую измеряется в миллионах.
По данным Dell и Ponemon Institute, только в американских аэропортах ежегодно пропадает 637 тысяч ноутбуков. А представьте сколько пропадает флешек, ведь они намного меньше, и выронить флешку случайно проще простого.
Когда пропадает ноутбук, принадлежащий топ-менеджеру крупной компании, ущерб от одной такой кражи может составить десятки миллионов долларов.
Заключение
Объясняем на пальцах, что такое сквозное шифрование и зачем оно нужно обычным людям.
11 сентября 2020
В последнее время всякие сервисы для связи — от WhatsApp до Zoom — часто говорят: вот, мы внедрили сквозное шифрование. Вот только далеко не все пользователи понимают, что это значит. Что такое шифрование, допустим, понятно, — значит, данные превращаются во что-то нечитаемое. А сквозное — это как? В чем его плюсы и минусы? Попробуем объяснить максимально просто, не углубляясь в термины и математику.
Хранение данных
Менеджер паролей KeePassX
Если использовать везде стойкий, но одинаковый пароль это ставит под угрозу все ваши данные разом. Ведь если злоумышленникам удастся подсмотреть или узнать ваш пароль, иным другим способ, то они автоматически получают доступ ко всем используемым вами сервисам.
Рекомендуется использовать для разных сервисов разные пароли, лучше всего их генерировать. Но тогда встает вопрос о запоминании всех паролей.
И тут стоит использовать менеджер паролей. Есть разные сервисы, которые предоставляют сохранение и менеджмент паролей. Лично я и различные специалисты по безопасности советуют использовать KeePassX.
Дело в том, что данный проект имеет долгую историю. Все это время у него открытые исходные ходы и разработчики предоставляют все данные, что бы быть уверенным что в программе нет закладок.
Данная программа абсолютно бесплатна, у нее открытые исходные коды и она запускается на всех основных платформах (Windows, macOS, Linux).
Пароли хранятся в специальных базах данных, которые используют шифрование AES и TwoFish. Саму базу данных (хранится в одном файле) лучше хранить в безопасном месте, например, на USB носителе.
В программе есть генератор стойких паролей.
Использовать интернет сервисы для хранения пароля удобнее и мобильнее, но намного менее безопаснее. Ваши пароли могут запросить спецслужбы или может быть заплатка в программном обеспечении, которое используется на серверах сервиса менеджера паролей. Также пароли могут перехватить с помощью уязвимостей в браузере.
Шифрование данных VeraCrypt
Также стоит позаботится о надежном хранении файлов на носителях. Дабы исключить вариант, что если устройство, на котором вы храните важные данные, попадет в чужие руки, то данные будут открыты и доступны злоумышленнику.
Довольно надежным способом является – шифрование данных. Есть много различных программ, которые позволяют шифровать данные. Есть платные и бесплатные. Есть даже решения, встроенные в операционную систему. Например, BitLocker в Windows и FireVault в macOS.
К сожалению, в программном обеспечении такого класса часто внедряют закладки для легкого взлома. Да и к разработчикам такого программного обеспечения всегда максимальные требования по безопасности и защищенности их продукта.
Ранее безусловным лидером была программа TrueCrypt. К сожалению, разработчики прекратили развитие данной программы. Тема с TrueCrypt вообще максимально запутанная, многие считают, что там замешаны спец службы и именно они вынудили прекратить разработку программы.
Но так как исходный код TrueCrypt был открытым, за дальнейшую разработку и поддержку взялась другая команда. Они устранили несколько уязвимостей и выпустили новую версию под название VeraCrypt.
Данная программа постоянно проверяется и проходит аудиты безопасности.
Смысл программы в создании зашифрованных контейнеров (на диске располагаются в виде файла), шифровании съемных носителей или полное шифрование жесткого диска включая локальный диск где установлена операционная система.
В случаи создания зашифрованного контейнера, создается файл на диске. Вы задаете его название и размер. Далее выбираете метод шифрования (стоит отметить что выбор довольно большой, а также есть возможность шифрования сразу 3 алгоритмами подряд), пароль и остальные параметры.
Далее вы подключаете (монтируете) ваш контейнер к любой доступному диску. И можете записать любые данные в него. При прекращении работы, вы размонтируете его. Все файлы что расположены в контейнере, будут надежно сохранены в нем. Такой файл можно передавать по менее защищенным каналам, но все-же оставлять его в открытом доступе не стоит.
Есть возможность создания скрытого контейнера в контейнере. Это сделано для того, чтобы если вас схватят и заставят вести пароль к контейнеру с данными, там располагались фиктивные данные, а основные данные, которые вы и намеревались скрыть будут находится в скрытом контейнере внутри этого контейнера.
Можно зашифровать флеш накопитель и тогда его содержимое будет также доступно вам через пароль.
Как включить шифрование данных на жестком диске?
Прежде чем приступить к процессу шифрованию томов на жестком диске, важно учесть, что эта процедура займет какое-то время. Ее продолжительность будет зависеть от количества информации на жестком диске.
Если в процессе шифрования или расшифровки компьютер выключится или перейдет в режим гибернации, то эти процессы возобновятся с места остановки при следующем запуске Windows.
Даже в процессе шифрования системой Windows можно будет пользоваться, но, вряд ли она сможет порадовать вас своей производительностью. В итоге, после шифрования, производительность дисков снижается примерно на 10%.
Если BitLocker доступен в вашей системе, то при клике правой кнопкой на названии диска, который необходимо зашифровать, в открывшемся меню отобразится пункт Turn on BitLocker.
На серверных версиях Windows необходимо добавить роль BitLocker Drive Encryption.
Приступим к настройке шифрования несистемного тома и защитим ключ шифрования с помощью криптографического токена.
Мы будем использовать токен производства компании «Актив». В частности, токен Рутокен ЭЦП PKI.
I. Подготовим Рутокен ЭЦП PKI к работе.
В большинстве нормально настроенных системах Windows, после первого подключения Рутокен ЭЦП PKI автоматически загружается и устанавливается специальная библиотека для работы с токенами производства компании «Актив» — Aktiv Rutoken minidriver.
Процесс установки такой библиотеки выглядит следующим образом.
Наличие библиотеки Aktiv Rutoken minidriver можно проверить через Диспетчер устройств.
Если загрузки и установки библиотеки по каким-то причинам не произошло, то следует установить комплект Драйверы Рутокен для Windows.
II. Зашифруем данные на диске с помощью BitLocker.
Щелкнем по названию диска и выберем пункт Turn on BitLocker.
Как мы говорили ранее, для защиты ключа шифрования диска будем использовать токен.
Важно понимать, что для использования токена или смарт-карты в BitLocker, на них должны находиться ключи RSA 2048 и сертификат.
Если вы пользуетесь службой Certificate Authority в домене Windows, то в шаблоне сертификата должна присутствовать область применения сертификата «Disk Encryption» (подробнее про настройку Certificate Authority в первой части нашего цикла статей про безопасность Windows домена).
Если у вас нет домена или вы не можете изменить политику выдачи сертификатов, то можно воспользоваться запасным путем, с помощью самоподписанного сертификата, подробно про то как выписать самому себе самоподписанный сертификат описано здесь.
Теперь установим соответствующий флажок.
На следующем шаге выберем способ сохранения ключа восстановления (рекомендуем выбрать Print the recovery key).
Бумажку с напечатанным ключом восстановления необходимо хранить в безопасном месте, лучше в сейфе.
Далее выберем, какой режим шифрования будет использоваться, для дисков, уже содержащих какие-то ценные данные (рекомендуется выбрать второй вариант).
На следующем этапе запустим процесс шифрования диска. После завершения этого процесса может потребоваться перезагрузить систему.
При включении шифрования иконка зашифрованного диска изменится.
И теперь, когда мы попытаемся открыть этот диск, система попросит вставить токен и ввести его PIN-код.
Развертывание и настройку BitLocker и доверенного платформенного модуля можно автоматизировать с помощью инструмента WMI или сценариев Windows PowerShell. Способ реализации сценариев будет зависеть от среды. Команды для BitLocker в Windows PowerShell описаны в статье.
Основы
Сначала следует разобрать основные, базовые понятия.
Шифрование
Для начала определение:
Шифрование — обратимое преобразование информации в целях скрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма.
Не вдаваясь в технические подробности, можно сказать что шифрование — это преобразование данных для сокрытия информации.
Есть различные алгоритмы шифрования, мы же поверхностно познакомимся с основными актуальными алгоритмами шифрования.
Алгоритмами шифрования делятся на симметричные алгоритмы и ассиметричные алгоритмы:
- Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания.
- Асимметричное шифрование использует два разных ключа: один для зашифровывания (который также называется открытым), другой для расшифровывания (называется закрытым).
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 шифрование
TLS (англ. Transport Layer Security — Протокол защиты транспортного уровня), как и его предшественник SSL— криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет.
SSL-сертификат — содержит в себе информацию о своем владельце, а также открытый ключ, использующийся для создания защищенного канала связи. Организации и физические лица получают для подтверждения того, что сайт или иной ресурс действительно представлен ими и это не поддельный ресурс. Сертификаты получают или покупают у авторизированных доверенных центрах сертификации.
Все это делается чтобы человек, который вклинится в канал связи посередине, между вами и адресатом не смог прочитать информацию или изменить ее.
Хеширование
Хеширование или получение контрольные суммы, представляет собой преобразование данных (будь это строка текста или архив данных) произвольной длины в (выходную) строку фиксированной длины, выполняемое определённым алгоритмом.
Особенность в том, что если входные данные поменяются хоть на бит информации, то итоговая (выходная) строка уже будет другая. Таким образом, можно проверить что файл или данные не изменялись.
Перед тем как устанавливать программное обеспечение, скачанное даже с официальных сайтов, следует сравнить контрольную сумму файла что вы скачали с контрольной суммой, указанной на сайте. Атакующий человек может контролировать вашу сеть и при скачивании файла, как вам кажется с официального сайта, может подсовываться модифицированный файл установки с уязвимостью или вовсе с троянским кодом.
Базовые принципы создания стойкого пароля
Для обеспечения безопасности информации доступ к ней необходимо блокировать хорошим паролем. Есть основные принципы создания стойкого пароля:
Двухфакторная аутентификация
Двухфакторная аутентификация – это способ аутентификации (подтверждения личности) который подразумевает под собой использования два способа подтверждения личности.
Например, при входе в аккаунт на каком-либо сайте, вы сначала вводите ваш пароль, а дальше код присланный по СМС на доверенный номер телефона.
Есть много различных способов аутентификации:
- Пароль
- ПИН код
- СМС с кодом
- Отпечаток пальца
- Флеш токен (флешка с записанным уникальным ключом)
- Push уведомления в приложении на смартфоне
Двухфакторную аутентификацию можно включить во многих популярных сервисах:
Основы
Сначала следует разобрать основные, базовые понятия.
Шифрование
Для начала определение:
Шифрование — обратимое преобразование информации в целях скрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма.
Не вдаваясь в технические подробности, можно сказать что шифрование — это преобразование данных для сокрытия информации.
Есть различные алгоритмы шифрования, мы же поверхностно познакомимся с основными актуальными алгоритмами шифрования.
Алгоритмами шифрования делятся на симметричные алгоритмы и ассиметричные алгоритмы:
- Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания.
- Асимметричное шифрование использует два разных ключа: один для зашифровывания (который также называется открытым), другой для расшифровывания (называется закрытым).
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 шифрование
TLS (англ. Transport Layer Security — Протокол защиты транспортного уровня), как и его предшественник SSL— криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет.
SSL-сертификат — содержит в себе информацию о своем владельце, а также открытый ключ, использующийся для создания защищенного канала связи. Организации и физические лица получают для подтверждения того, что сайт или иной ресурс действительно представлен ими и это не поддельный ресурс. Сертификаты получают или покупают у авторизированных доверенных центрах сертификации.
Все это делается чтобы человек, который вклинится в канал связи посередине, между вами и адресатом не смог прочитать информацию или изменить ее.
Хеширование
Хеширование или получение контрольные суммы, представляет собой преобразование данных (будь это строка текста или архив данных) произвольной длины в (выходную) строку фиксированной длины, выполняемое определённым алгоритмом.
Особенность в том, что если входные данные поменяются хоть на бит информации, то итоговая (выходная) строка уже будет другая. Таким образом, можно проверить что файл или данные не изменялись.
Перед тем как устанавливать программное обеспечение, скачанное даже с официальных сайтов, следует сравнить контрольную сумму файла что вы скачали с контрольной суммой, указанной на сайте. Атакующий человек может контролировать вашу сеть и при скачивании файла, как вам кажется с официального сайта, может подсовываться модифицированный файл установки с уязвимостью или вовсе с троянским кодом.
Базовые принципы создания стойкого пароля
Для обеспечения безопасности информации доступ к ней необходимо блокировать хорошим паролем. Есть основные принципы создания стойкого пароля:
Двухфакторная аутентификация
Двухфакторная аутентификация – это способ аутентификации (подтверждения личности) который подразумевает под собой использования два способа подтверждения личности.
Например, при входе в аккаунт на каком-либо сайте, вы сначала вводите ваш пароль, а дальше код присланный по СМС на доверенный номер телефона.
Есть много различных способов аутентификации:
- Пароль
- ПИН код
- СМС с кодом
- Отпечаток пальца
- Флеш токен (флешка с записанным уникальным ключом)
- Push уведомления в приложении на смартфоне
Двухфакторную аутентификацию можно включить во многих популярных сервисах:
Что такое шифрование
Шифрование – это преобразование информации, делающее ее нечитаемой для посторонних. При этом доверенные лица могут провести дешифрование и прочитать исходную информацию. Существует множество способов шифрования/дешифрования, но секретность данных основана не на тайном алгоритме, а на том, что ключ шифрования (пароль) известен только доверенным лицам.
Необходимо отличать шифрование от кодирования. Кодирование тоже преобразует информацию, но лишь для удобства хранения и передачи, секретность не является основной задачей. Типичные способы кодирования – азбука Морзе и двоичное кодирование букв для хранения в компьютере.
Заключение
Спасибо что дочитали статью до конца. Надеюсь описанные мною вещи стали понятными. За дополнительными деталями вы всегда можете обратиться к сети Интернет.
На днях поступила интересная задачка — необходимо найти способ защитить исходные данные контейнера (читай: не иметь возможности прочитать, что лежит внутри), когда он остановлен. В голову сразу пришла мысль про шифрование, а пальцы начали набирать в гугле заветные слова. Пока разбирался в теме, наткнулся на достаточно интересную статью, которую с удовольствием привожу вам.
Читайте также: