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