4 способа создания надежных общих ключей в Linux

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

Но почему ключи PSK важны и как вы можете автоматически генерировать сильные и случайные ключи PSK в Linux?

Что такое ключи PSK и зачем они нужны?

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

Одно из наиболее важных применений ключей PSK – безопасность беспроводной сети. В сетях Wi-Fi используются различные типы шифрования данных, такие как WPA-PSK и WPA2-PSK , где WPA означает защищенный доступ Wi-Fi. Пароль, который вы вводите перед подключением к Wi-Fi, также является разновидностью PSK.

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

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

Как сгенерировать надежные ключи PSK в Linux

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

Связанный: Причины шифрования разделов Linux

Но это не значит, что вам придется хорошо подумать и придумать случайную строку символов для использования в качестве PSK. К счастью, в Linux есть несколько команд, которые могут генерировать для вас надежные ключи PSK.

1. Создайте надежный ключ с помощью команды OpenSSL.

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

Чтобы сгенерировать 32-байтовый ключ PSK с помощью команды openssl:

 openssl rand -base64 32

Выход:

 v59AYgTli5LFAJXsIngeQiApSj1u8QJYZvxopSV2Zt0=

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

Например, введите следующую команду, чтобы сгенерировать общий ключ длиной 128 байт.

 openssl rand -base64 128

Узнать больше: способы шифрования вашей повседневной жизни с минимальными усилиями

2. Создайте PSK с помощью утилиты GPG.

GPG, аббревиатура от GNU Privacy Guard, – это известный инструмент, используемый для шифрования и дешифрования файлов в системе Linux. Но в дополнение к этому вы также можете использовать этот инструмент для вывода надежных предварительно общих ключей.

Вызов метода –gen-random команды gpg с кодировкой base64 позволит вам сгенерировать бесконечную комбинацию символов, которую вы можете использовать как PSK.

Чтобы получить общий ключ размером 32 байта с помощью команды gpg :

 gpg --gen-random 1 32 | base64

Выход:

 dYWA8xdcAUAwS/cSopFnRzYuk4zVGWSTJtq87Zg15XU=

1 в вышеупомянутой команде – это уровень качества, а 32 – количество байтов, которое вы хотите, чтобы ключ имел.

Аналогичным образом, чтобы сгенерировать 64-байтовый PSK:

 gpg --gen-random 1 64 | base64

Связанный: Объяснение размеров памяти: биты и байты в контексте

3. Использование даты и sha256sum для случайных PSK

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

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

 date | sha256sum | base64 | head -c 32; echo

Выход:

 MWVkNzMwOTAzMDgxMTNkZTc3MDFjZjkz

Вышеупомянутая команда напечатает 32-байтовый PSK. Команда head считывает и отображает первые 32 байта вывода.

Если бы мы удалили заголовок из команды, система отобразила бы строку длиной 92 байта:

 date | sha256sum | base64

Выход:

 MTQ1OWVlOGNiODIxYmMyZTEzNGQyZjUyNzkyOTEwOWZmZWQ3MmQxZWExYzhhODM1ZDdmM2ZjZTQ5
ODM4MDI4ZiAgLQo=

Обратите внимание, что вы не сможете сгенерировать ключ PSK длиной более 92 байтов, используя команду date и sha256sum .

Чтобы сгенерировать 64-байтовый случайный предварительный общий ключ с помощью команды date и sha256sum :

 date | sha256sum | base64 | head -c 64; echo

4. Использование генераторов псевдослучайных чисел.

В операционной системе Linux есть различные генераторы случайных чисел, такие как файлы / dev / random и / dev / urandom . Это специальные файлы в Linux, которые служат генераторами псевдослучайных чисел. Оба файла, / dev / random и / dev / urandom, используют пул энтропии Linux для генерации случайных чисел.

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

Чтобы сгенерировать 32-байтовый PSK с использованием файла / dev / random :

 head -c 32 /dev/random | base64

Если вы хотите получить ключ PSK длиной 128 байт, введите следующую команду:

 head -c 128 /dev/random | base64

В качестве альтернативы вы также можете использовать файл / dev / urandom , заменив / dev / random на / dev / urandom . Работа обоих этих файлов очень похожа и не влияет на генерацию PSK.

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

Генерация номера файла / dev / random приостанавливается, когда доступно меньше энтропии. С другой стороны, u в / dev / urandom означает неограниченный, поскольку генерация никогда не останавливается, даже когда в системе меньше энтропии.

Связанный: Что такое генераторы случайных чисел?

Шифрование данных для большей безопасности

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

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