PythonWebアプリケーションデータベースのフィールドを暗号化/復号化するためにpycryptoなどの暗号化ライブラリを使用することを検討しています。ただし、暗号化アルゴリズムにはキーが必要です。ソースに暗号化されていないキーがある場合、サーバーのようにdbフィールドの暗号化を試みるのはばかげているようです。誰かがdbファイルにアクセスできる場合、Pythonソースコードにもアクセスできます。
使用するキーを保護するためのベストプラクティスの方法はありますか?または、dbフィールドを暗号化する別の方法(dbレベルではなくアプリケーションで)?
更新:私が保護しようとしているフィールドはoauthトークンです。
更新:これを回避する一般的な方法はないと思います。dbファイルがバックアップされて移動される可能性があるため、とにかくフィールドを暗号化する必要があると思います。少なくとも、問題を1つの脆弱な場所(ソースコードの表示)に減らします。
更新:ユーザーがオフラインのときにAPI呼び出しにoauthトークンを使用する必要があるため、この場合、パスワードをキーとして使用することは適切ではありません。