共通鍵の生成
このステップでは、データの暗号化と復号の両方に使用される秘密鍵である「共通鍵(対称鍵)」を生成します。OpenSSL を使用して、非常に安全で広く採用されている標準規格である AES-256 暗号に適した、強力でランダムな鍵を作成します。
プロジェクトディレクトリ /home/labex/project にいることを確認してください。
cd ~/project
openssl rand コマンドを使用して 32 バイト(256 ビット)のランダムデータを生成し、それを 16 進数形式で symmetric_key.hex という名前のファイルに保存します。
openssl rand -hex 32 > symmetric_key.hex
生成された鍵がどのようなものか確認してみましょう。
cat symmetric_key.hex
出力は 64 文字の 16 進文字列になります。これが 256 ビットの鍵を表します。以下のような形式で表示されます(実際の鍵の内容は実行ごとに異なります)。
2f8b5e9a1c3d4e6f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f
この鍵はデータを解読できる重要なものなので、厳重に保護する必要があります。chmod コマンドを使用して、ファイルの所有者(あなた)だけが読み書きできるようにファイル権限を設定します。
chmod 600 symmetric_key.hex
最後に、ls -l でファイルの権限を確認します。
ls -l symmetric_key.hex
出力の権限部分が -rw------- と表示されていれば、ファイルが保護されていることが確認できます。
-rw------- 1 labex labex 65 Nov 15 10:30 symmetric_key.hex
鍵の生成と保護が完了しました。これでサンプルファイルを暗号化する準備が整いました。