Linuxで強力な事前共有キーを生成する4つの方法

データの暗号化中に、認証のためにPSKキーが必要になります。キーを知らない人はデータを復号化できないため、これは効果的なセキュリティプロトコルです。したがって、侵入者からデータを保護することを真剣に考えている場合は、強力なPSKキーを選択することが重要です。

しかし、PSKキーが重要なのはなぜですか。また、Linuxで強力でランダムなPSKキーを自動的に生成するにはどうすればよいでしょうか。

PSKキーとは何ですか?なぜ必要なのですか?

事前共有キー、または単にPSKは、データの暗号化および復号化中にパスワードとして使用されるランダムな文字列です。名前が示すように、キーは復号化プロセス中だけでなくデータの暗号化中にも必要になるため、暗号化プロセスに関与する両方の当事者が事前にキーを知っています。

PSKキーの最も重要なアプリケーションの1つは、ワイヤレスネットワークセキュリティです。 Wi-Fiネットワークは、 WPA-PSKWPA2-PSKなどのさまざまなタイプのデータ暗号化を使用します。WPAはWi-Fi ProtectedAccessの略です。 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を作成します

GNU Privacy Guardの頭字語であるGPGは、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.ランダムPSKにdateとsha256sumを使用する

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およびsha256sumコマンドを使用して、92バイトより長いPSKキーを生成することはできないことに注意してください。

dateおよびsha256sumコマンドを使用して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 / random/ dev / urandomに置き換えて、 / dev / urandomファイルを使用することもできます。これらのファイルの動作は非常に似ており、PSK生成を改ざんすることはありません。

エントロピーは、CPUファン、マウスの動きなど、環境から収集されたノイズです。 Linuxシステムのエントロピープールはノイズを保存し、ノイズはこれらのファイルによって使用されます。

/ dev / randomファイルの番号生成は、使用可能なエントロピーが少なくなると保留になります。一方、 / dev / urandomのuは、システムのエントロピーが少なくても生成が停止しないため、無制限を表します。

関連:乱数ジェネレーターとは何ですか?

セキュリティを強化するためのデータの暗号化

キーとパスワードは、プライバシーを保護する上で重要です。暗号化中であっても、事前共有キーはデータ送信のプロセス全体を保護します。 Linuxでは、いくつかのユーティリティをいつでも自由に利用できるため、ランダムな事前共有キーの生成は簡単です。

データ暗号化は過小評価されている慣行であり、誰もが従う必要があります。結局のところ、重要なのはあなたに属する、またはあなたに関連する情報です。サイバー犯罪者から情報を隠すことを真剣に考えている場合は、このデータを部外者から保護することを最優先する必要があります。