怎样在 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 使用日期和 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 操作系统有各种随机数生成器,例如 /开发/随机/开发/ urandom 文件。 这些是 Linux 中用作伪随机数生成器的特殊文件。 这两个文件, /开发/随机/开发/ urandom 使用 Linux 熵池生成随机数。

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

使用以下命令生成 32 字节的 PSK /开发/随机 文件:

head -c 32 /dev/random | base64

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

head -c 128 /dev/random | base64

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

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

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

加密数据以提高安全性

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

数据加密是一种每个人都应该遵循的被低估的做法。 归根结底,重要的是属于您或与您有关的信息。 如果您真的想对网络犯罪分子隐藏您的信息,那么保护这些数据免受外人侵害应该是重中之重。

相关阅读:

Posted in: Linux