在Linux上生成强大的预共享密钥的4种方法

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

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

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

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

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

由于我们的安全性几乎始终处于危险之中,因此在数据传输期间使用预共享密钥可以防止黑客通过网络嗅探我们的数据。另外,在共享数据时使用PSK可以确保仅要与您共享的人访问数据。

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

如何在Linux上生成强大的PSK密钥

如果PSK密钥对我们如此重要,我们是否都应该拥有一个可以使用的PSK密钥?是的。实际上,通常,用密码加密数据是每个人都应该知道的一项关键任务。

相关:加密Linux分区的原因

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

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

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

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

 openssl rand -base64 32

输出:

 v59AYgTli5LFAJXsIngeQiApSj1u8QJYZvxopSV2Zt0=

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

例如,发出以下命令以生成一个128字节长的预共享密钥。

 openssl rand -base64 128

了解更多:轻松加密日常生活的方法

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

GPG是GNU Privacy Guard的首字母缩写,是一种著名的工具,用于在Linux系统上加密和解密文件。但是除此之外,您还可以使用该工具输出强大的预共享密钥。

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

要使用gpg命令获取32字节的预共享密钥:

 gpg --gen-random 1 32 | base64

输出:

 dYWA8xdcAUAwS/cSopFnRzYuk4zVGWSTJtq87Zg15XU=

上述命令中的1质量级别,32是您希望密钥具有的字节数。

同样,要生成64字节的PSK,请执行以下操作:

 gpg --gen-random 1 64 | base64

相关:解释的内存大小:上下文中的位和字节

3.将date和sha256sum用于随机PSK

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

使用sha256sumbase64输入date命令会输出随机密钥,您可以将其用作PSK进行加密。

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

输出:

 MWVkNzMwOTAzMDgxMTNkZTc3MDFjZjkz

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

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

 date | sha256sum | base64

输出:

 MTQ1OWVlOGNiODIxYmMyZTEzNGQyZjUyNzkyOTEwOWZmZWQ3MmQxZWExYzhhODM1ZDdmM2ZjZTQ5
ODM4MDI4ZiAgLQo=

请注意,您将无法使用date and sha256sum命令生成长度超过92个字节的PSK密钥。

要使用datesha256sum命令生成64字节的随机预共享密钥:

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

4.使用伪随机数生成器

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

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

要使用/ dev / random文件生成32字节的PSK,请执行以下操作:

 head -c 32 /dev/random | base64

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

 head -c 128 /dev/random | base64

另外,您还可以通过替换的/ dev /随机配备的/ dev / urandom的使用在/ dev / urandom的文件。这两个文件的工作方式非常相似,不会干扰PSK的产生。

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

当可用的熵较少时, / dev / random文件的数字生成将被保留。另一方面, / dev / urandom中的u表示无限制,因为即使系统中的熵较少,生成也不会停止。

相关:什么是随机数生成器?

加密数据以提高安全性

当涉及保护您的隐私时,密钥和密码很重要。即使在加密过程中,预共享密钥也可以确保整个数据传输过程。在Linux中,生成随机的预共享密钥非常容易,因为您随时可以使用几个实用程序。

数据加密是每个人都应遵循的被低估的做法。最后,重要的是属于您或与您有关的信息。如果您真的想对网络犯罪分子隐瞒信息,那么保护这些数据不受外部人员的侵害应成为重中之重。