Railsアプリケーションのメモリにバイナリファイル(数十キロバイトから数キロバイト)を暗号化する必要があります。コンプライアンス上の理由から、ファイルを暗号化されていない形式でディスクに書き込むことはできません。私の懸念は、このアプローチに関連するメモリ消費量です。私は一度にファイル全体を操作しようとするよりもメモリーを消費しないように、これを行う方法(おそらくデータをストリーム/チャンクできる方法がある)のための推奨事項があるかどうか疑問に思っています。Railsアプリケーションでバイナリファイルを暗号化する最もメモリ効率の良い方法は?
私はopenssl aes-256-cbc暗号を使用することをお勧めしますが、それは合理的に安全でメモリの問題を解決する他のアルゴリズム(たとえば、何らかの種類のストリーミング暗号)に開放されています。私は既にファイル上でaes-256-cbcを使用して暗号化作業を行っているので、実際に暗号化を行う方法ではなく、メモリ面に集中しています。
大きなバイナリデータストリームを暗号化するための適切なオプションはありますか?
また、ちょうどのために明快さ - ファイルはユーザーによってアップロードされています。しかし、Amazon S3からロードされたストアド・ファイルも解読する必要があるので、理想的なソリューションがどちらの場合でも有効です。 –
以前に暗号化されたファイルシステムを使用しようとしましたか? – Anatoly
暗号化されたファイルシステムだけでは、コンプライアンスの要件を満たしません。なぜなら、サーバーを侵害すると、fsのデータが自動的に破損するからです(何か不足している場合を除きます)。理想的には、暗号化ソリューションは、鍵ストアと暗号化されたデータの両方を独立して満たす必要があります。 –