秘密鍵を保存するための暗号化パーティションの作成

秘密鍵を保存するための暗号化パーティションの作成

私はDebianを実行しているBeagleBone Blackボードを使用しています。

私の意図は、emmc内に秘密鍵を保存するために別々の暗号化されたパーティションを作成することです。このキーはSSL通信に使用されます。もちろん、主な目的は、誰も読めないように鍵を安全に保管することです。 TPMまたはHSMを使用するのが正しいソリューションであることを知っていますが、TPMやHSMなしで作業を実行し、キーを通常のフラッシュメモリに保存できることを確認したかったです。

別々のパーティションが必要なのは、1つのパーティションの現在のイメージを上書きしてデバイスのLinux OSを完全にアップグレードしたい場合です。この方法で保存された秘密鍵に影響を与えたくないため、新しいOSは別のパーティションの最後のキーと同じ方法でキーにアクセスできる必要があります。これがこれを処理する一般的な方法ですか?

dm-cryptはこの問題を解決できますか?しかし、私はこれが低レベルでどのように機能するか理解していません。新しいLinuxオペレーティングシステムは、以前のLinuxインストールと同様に、パーソナルパーティションの復号化を可能にしますか?誰かがデバイスをハッキングしている場合、私の秘密鍵を復号化して表示できないようにするにはどうすればよいですか?

答え1

暗号化技術は、DAR(未使用データ)を保護するのに非常に効果的です。ただし、データが復号化されると、少なくとも復号化を実行したユーザーと root ユーザーがデータを使用できるようになります。

あなたの質問に関して暗号化されたリポジトリがどのような用途に使用されるのかは不明です。鍵素材を長期間保管することが目的の場合は、暗号化された保管場所が適切です。ただし、これらのストレージはオフラインにするのが最善です。これを冷凍といいます。

TLS秘密鍵を保存することを示しました。ただし、TLSキーはオンラインにしておく必要があり、ほとんどの場合、メモリとアクティブファイルシステムに保存する必要があります。そうであれば、ここで疑問が蓄積し始めます。

キーと共に自己署名付きルート証明書を生成すると、問題がより明確になります。これらのシステムの秘密鍵は、オフラインで暗号化されたコールドストレージに保管する必要があります。

追加資料:

OWASP暗号化ストレージチートシート

関連情報