Как создать надежный предварительный ключ в Linux
PSK, или предварительный общий ключ, представляет собой пароль, состоящий из случайной строки символов при шифровании и расшифровке данных. Как следует из названия, обе стороны, участвующие в криптографическом процессе, заранее знают ключ, поскольку он необходим не только для расшифровки, но и для шифрования данных.
Хакеры не смогут перехватить наши данные по сети, если мы используем предварительно общие ключи во время передачи данных. Это важно, поскольку наша безопасность практически постоянно находится под угрозой. Использование PSK при обмене данными также гарантирует, что доступ к ним будут иметь только те люди, с которыми вы хотите поделиться ими.
В этой статье я собираюсь объяснить способы создания ключей PSK в Ubuntu Linux с примерами и командами.
Создайте надежный PSK в Linux
С датой и суммой sha256
Пользователи могут просмотреть информацию о системной дате и времени с помощью команды date в Linux. Эта команда может создавать надежные ключи в целях безопасности, о чем не все знают. Когда вы объедините команду date с sha256sum и base, вы получите набор случайных ключей, которые вы можете использовать в качестве PSK для шифрования данных.
ubuntu@server2:~$ date | sha256sum | base64 | head -c 15; echo
ubuntu@server2:~$ date | sha256sum | base64 | head -c 25; echo
ubuntu@server2:~$ date | sha256sum | base64 | head -c 35; echo
Здесь данная команда напечатает выходные данные предварительных ключей (PSK) длиной 15, 25 и 35 байт. Команда head прочитает байты и отобразит их на выходе. Если из команды удалить команду head, система напечатает строку длиной 92 байта как PSK.
С псевдослучайным числом
Файлы /dev/random и /dev/urandom в операционной системе Linux содержат несколько генераторов случайных чисел. В Linux это специальные файлы, которые действуют как генераторы псевдослучайных чисел. И /dev/random, и /dev/urandom создают случайные числа, используя энтропийный пул Linux. Энтропия — это шум, собираемый из окружающей среды, например вентилятора процессора, движений мыши и т. д. В системе Linux шум сохраняется в энтропийном пуле, который затем используется этими файлами. Когда эти случайные целые числа соединяются с командой base64, могут быть сгенерированы сильные комбинации символов, подходящие для использования в качестве предварительного общего ключа.
ubuntu@server2:~$ head -c 20 /dev/random | base64
ubuntu@server2:~$ head -c 30 /dev/random | base64
Примечание. Опция -c, используемая в команде с командой head , предназначена для генерации символьных ключей.
С утилитой GPG
GNU Privacy Guard, или GPG, в системе Linux — это известная утилита для шифрования и дешифрования файлов. Однако вы также можете использовать программу для создания надежных предварительных ключей. Вы можете использовать метод команды gpg - -gen-random с кодировкой base64 для генерации бесконечного числа символов для использования в качестве предварительных ключей. .
В следующих командах 1 — это уровень качества, а 10, 20, 32, 64 и 128 — байты.
ubuntu@server2:~$ gpg - - gen-random 1 10 | base64
ubuntu@server2:~$ gpg - - gen-random 1 20 | base64
ubuntu@server2:~$ gpg - - gen-random 1 32 | base64
ubuntu@server2:~$ gpg - - gen-random 1 64 | base64
ubuntu@server2:~$ gpg - - gen-random 1 128 | base64
Примечание. Вы также можете использовать 2 в качестве уровня качества, как показано ниже:
ubuntu@server2:~$ gpg - - gen-random 2 100 | base64
С помощью команды OpenSSL
OpenSSL — это известное и широко используемое приложение командной строки для доступа к криптографическим возможностям криптографической библиотеки OpenSSL из оболочки. Используйте подкоманду rand для создания надежного PSK, который генерирует псевдослучайные байты и фильтрует их с помощью кодировок Base64, как показано ниже.
Чтобы сгенерировать предварительно общие ключи длиной 32, 64 и 128 байт с помощью команды OpenSSL:
ubuntu@server2:~$ openssl rand -base64 32
ubuntu@server2:~$ openssl rand -base64 64
ubuntu@server2:~$ openssl rand -base64 128
Заключение
В этом руководстве мы показали вам различные способы и команды для создания безопасных общих ключей и паролей. Спасибо, что проверили это!!