パスフレーズを使用して秘密にしながらgpg復号化を自動化するにはどうすればよいですか?


13

私は、cron(またはUbuntu Server互換のジョブスケジューリングツール)を使用してgpg復号化を自動化する仕事をしています。自動化する必要があるため、使用--passphraseしましたが、最終的にシェル履歴に記録されるため、プロセスリストに表示されます。

良い(できれば素晴らしい)セキュリティ標準を維持しながら復号化を自動化するにはどうすればよいですか?

例を高く評価します。


このような引数pshidepid、on を持たない限りetcで表示されますが/proc、スクリプトを実行するシェル(cronなどから)は非対話型であり、誤って設定されない限り履歴を書き込むべきではありません。
-dave_thompson_085

回答:


23

cronジョブのユーザーのみが読み取り可能なファイルにパスフレーズを保存し、--passphrase-fileオプションを使用しgpgてパスフレーズをそこに読み取るように指示します。

これにより、メモリ内のプロセス情報にパスフレーズが表示されなくなります。セキュリティのレベルは、パスフレーズを保存するファイルへのアクセスレベル(およびキーを含むファイルへのアクセスレベル)によって決定されます。オフラインアクセシビリティ(ディスクをサーバーから引き出す)。このレベルのセキュリティが十分であるかどうかは、物理的およびソフトウェアでファイルを保持しているサーバーへのアクセス制御と、緩和しようとしているシナリオに依存します。

優れたセキュリティ標準が必要な場合は、キー(およびパスフレーズ)をローカルに保存する代わりに、ハードウェアセキュリティモジュールを使用する必要があります。これは、キーがその場で使用されるのを防ぎませんが、他の場所でコピーおよび使用されることを防ぎます。


この難問の唯一の解決策であるハードウェアセキュリティモジュールに言及した+1。
MariusMatutiae

スティーブンはハードウェアセキュリティモジュールの言及に感謝します。私を正しい方向に向けてくれてありがとう。
ザックCoetzee

@StephenKittハードウェアキーは、作業時に最適です。そうでない場合は、まあ ...
桂佐藤

@SatōKatsuratrue、ユビキーはHSMではないことを指摘しますが。(HSM がもちろん脆弱ではないという意味ではありません。)
スティーブンキット

「優れたセキュリティ標準が必要な場合」は、自動化されたジョブで復号化や署名を行うことはできません。
JimmyB

5

復号化の自動化は、パスフレーズをどこかに保存するか、パスフレーズを使用しないことを意味します(私の入力中にStephenが提出した他の回答で指摘されている追加オプションを使用しない限り)。どちらも、優れたまたは優れたセキュリティ標準の要件に一致しません。

つまり、要件は安全であると互換性がありません。

あなたは次のようなものに頼ることができます-あなたはルートでなければなりません、パスフレーズが保存されているファイルに本当に紛らわしい名前を付けました、基礎となるファイルシステムなどを暗号化しましたが、それらはすべてレイヤーですそもそもルートになれば、簡単に回避できます。

プロセスリストにパスフレーズが表示されないようにするオプションは--passphrase-file <file-name>です。

ただし、そもそもパスフレーズを削除するだけでは安全ではありません。


トニーを説明してくれてありがとう、あなたは問題についてより良い見方をしました。Stephenが言及したハードウェアセキュリティモジュールが主な目的です。
ザックCoetzee

@ZakkCoetzee:他の回答で述べたように、攻撃者がルートである場合、攻撃者がHSMを使用するのを防ぐものは何ですか?
マーティンボナーはモニカをサポートします

@MartinBonner上記のStephen Kittが言ったように、キーを取得するよりも間違いなく良いキーを取得するのを止めます。
ザックCoetzee

ですが、それほど良くはありません。Diginotar問合せ(HSMでその鍵を持っていたが、接続されており、スロットに関連したスマートカードとのHSMを残した人- 。攻撃者は、攻撃者の証明書の数に署名することができるようにすることを)
マーティン・ボナーはモニカサポート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.