如何在 Linux 上生成强随机 PSK 密钥

在数据加密期间,需要 PSK 密钥进行身份验证。 这是一种有效的安全协议,因为不知道密钥的人将无法解密数据。 因此,如果您认真考虑保护您的数据免受入侵者的侵害,那么选择一个强大的 PSK 密钥非常重要。

但是为什么 PSK 密钥很重要,以及如何在 Linux 中自动生成强随机 PSK 密钥?

什么是 PSK 密钥,为什么我需要一个?

预共享密钥,或简称为 PSK,是在加密和解密数据时用作密码的随机字符串。 顾名思义,参与加密过程的双方都事先知道密钥,因为不仅在解密过程中,而且在加密数据时都需要密钥。

PSK 密钥最重要的应用之一是无线网络安全。 Wi-Fi 网络使用各种类型的数据加密,例如 WPA-PSKWPA2-PSK,其中 WPA 代表 Wi-Fi 保护访问。 您在连接 Wi-Fi 之前输入的密码也是一种 PSK。

由于我们的安全几乎一直处于危险之中,因此在数据传输过程中使用预共享密钥可以防止黑客通过网络嗅探我们的数据。 此外,在共享数据时使用 PSK 可确保只有您要与之共享的人才能访问数据。

尽管暴力攻击仍然可以证明对加密密钥有效,但选择强密钥可以减少密钥被破解的机会。

如何在 Linux 上生成强 PSK 密钥

如果 PSK 密钥对我们如此重要,难道我们不应该都有一个可以使用的 PSK 密钥吗? 是的。 事实上,一般来说,使用密码加密您的数据是每个人都应该知道的关键任务。

但是,这并不意味着您必须努力思考并想出一个随机字符串来用作 PSK。 幸运的是,Linux 有几个命令可以生成强大的 PSK 密钥供您使用。

1. 使用 OpenSSL 命令生成强密钥

OpenSSL 是网络安全爱好者中众所周知的命令,因为它提供了许多与加密功能和密钥相关的实用程序。 此工具允许您生成不同字节大小的随机 PSK 密钥。

要使用 openssl 命令生成 32 字节长的 PSK 密钥:

openssl rand -base64 32

输出:

v59AYgTli5LFAJXsIngeQiApSj1u8QJYZvxopSV2Zt0=

同样,您可以将字节大小替换为您想要在 Linux 系统上生成随机大小的预共享密钥的任何数字。

为了 example,发出以下命令以生成 128 字节长的预共享密钥。

openssl rand -base64 128

2. 使用 GPG 实用程序创建 PSK

GPG,英文缩写 GNU 隐私卫士 是用于在 Linux 系统上加密和解密文件的著名工具。 但除此之外,您还可以使用该工具输出强预共享密钥。

调用 –gen-随机 使用 base64 编码的 gpg 命令的方法将允许您生成可用作 PSK 的无限字符组合。

使用 32 字节预共享密钥 gpg 命令:

gpg --gen-random 1 32 | base64

输出:

dYWA8xdcAUAwS/cSopFnRzYuk4zVGWSTJtq87Zg15XU=

1 在上述命令中是 质量等级32 是数量 字节 你想要钥匙。

同样,要生成 64 字节的 PSK:

gpg --gen-random 1 64 | base64

3. 对随机 PSK 使用 date 和 sha256sum

Linux 中的 date 命令向用户显示与系统日期和时间相关的信息。 不是每个人都知道这一点,但是出于安全目的,您可以使用此命令生成强密钥。

管道日期命令与 sha256sumbase64 将输出可用作 PSK 进行加密的随机密钥。

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

输出:

MWVkNzMwOTAzMDgxMTNkZTc3MDFjZjkz

上述命令将打印一个 32 字节的 PSK。 这 命令从输出中读取并显示前 32 个字节。

如果我们要删除 从命令中,系统将显示 92 字节长的字符串:

date | sha256sum | base64

输出:

MTQ1OWVlOGNiODIxYmMyZTEzNGQyZjUyNzkyOTEwOWZmZWQ3MmQxZWExYzhhODM1ZDdmM2ZjZTQ5
ODM4MDI4ZiAgLQo=

请注意,您将无法使用 日期sha256sum 命令。

生成一个 64 字节的随机预共享密钥 日期 sha256sum 命令:

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

4. 使用伪随机数生成器

Linux 操作系统有各种随机数生成器,例如 /开发/随机/dev/urandom 文件。 这些是 Linux 中用作伪随机数生成器的特殊文件。 两个文件, /开发/随机/dev/urandom 使用 Linux 熵池生成随机数。

这些随机数与 base64 命令可以输出适合用作预共享密钥的强字符组合。

生成一个 32 字节的 PSK 使用 /开发/随机 文件:

head -c 32 /dev/random | base64

如果要获取 128 字节长的 PSK 密钥,请发出以下命令:

head -c 128 /dev/random | base64

或者,您也可以使用 /dev/urandom 通过替换文件 /开发/随机/dev/urandom. 这两个文件的工作方式非常相似,不会篡改 PSK 生成。

熵是从环境中收集的噪音,例如 CPU 风扇、鼠标移动等。 Linux 系统上的熵池存储噪声,而这些文件又使用这些噪声。

数代的 /开发/随机 当可用的熵较少时,文件被搁置。 另一方面, /dev/urandom 代表 无限 因为这一代永远不会停止,即使系统中的熵较少。

加密数据以提高安全性

在保护您的隐私方面,密钥和密码很重要。 即使在加密期间,预共享密钥也可以保护整个数据传输过程。 在 Linux 中生成随机预共享密钥很容易,因为您始终可以使用多个实用程序。

数据加密是一种被低估的做法,每个人都应该遵循。 最后,重要的是属于您或与您相关的信息。 如果您认真对待向网络犯罪分子隐藏您的信息,那么保护这些数据不被外人访问应该是重中之重。