私はペーパーレス化しようとしています。スキャンするドキュメントを保護したいと考えています。ユースケースでは、紙のドキュメントをスキャンし、各ファイルを暗号化して、ローカルおよびさまざまなバックアップ先に保存します。これらのドキュメントを保護する方法についてさまざまなアイデアを調査してきましたが、さらにガイダンスが必要です。ここに私が実装しようとしているシステムの詳細があります:
私はOS Xでセキュリティと暗号化ライブラリを使用して、このための軽量ツールを作成することを検討しました。私はソフトウェアエンジニアなので、自分のアプリケーションを書くのはまったく問題ありませんが、セキュリティは初めてです。私は、私よりも多くのことを知っている人に相談することなく、セキュリティの決定を下すことに抵抗があります。
これに推奨されるアプローチはありますか?
次のようにopensslを使用できます。
openssl enc -e -aes-256-cbc -salt -a -in /file/to/encrypt -out /file/encrypted
復号化するには、-eを-dに置き換えます。 OS XとLinuxの両方で動作するはずですが、他のシステムではわかりません。 man opensslを使用して、オプションと使用可能な暗号をリストします。
編集:opensslがMD5のいくつかのラウンド(最適なハッシュアルゴリズムではない)をキーの派生に適用するように見えます。これにより、総当たり攻撃が容易になります。
より良い解決策はGnuPGです(私はあなたがプリインストールされたツールを求めていることを知っています):
暗号化するには:
gpg -c -a --cipher-algo AES256 /file/to/encrypt
復号化するには:
gpg /file/to/decrypt