0

Google CloudSQL documentationは、データが転送中および休憩中に暗号化されていることを示します。CloudSQLデータベースのデータを暗号化する必要がありますか?

私は、機密情報を暗号化するためにDjangoアプリケーションでpgcryptoを使用しています。しかし、すでに暗号化されているので、これを行う際に何か問題がないかどうかは疑問です。私が想像することができるのは、コードがデプロイされたGoogle App Engineサーバが侵害され、データベースへのパスワードが何らかの形で漏洩したということです。ハッカーは最終的に暗号化されていないデータにアクセスします。 pgcryptoを使用しても、GAEサーバーが侵害された場合でも、コードを実行して暗号化されていないデータを取得することができます。

私はこれを考えすぎていますか?目標は、データが完全に安全であることを保証するために、できるだけ多くの「ハードル」を導入して、エンドユーザーに心を込めて提供することです。私は本当にpgcryptoは必要ないと感じていますが、教育的な回答を探しています。

+0

あなたが説明したケースでは、データの暗号化を保証することができます。アプリケーションについて知らなくても、ユーザーが自分のデータにアクセスできないということを知ることができます。 –

+0

これは本当ですが、pgcryptoは私に対称暗号化を提供します。つまり、データを直接読み込むことはできませんが、間接的には自分のコードを実行して、その場で解読することができます。キー暗号化)。 CloudSQLに内蔵されている暗号化機能を使用すると、SQLデータベースビューアを使用してプレーンテキストでデータを読み取ることができます(ただし、依然としてデータベースパスワードが必要です)。私はpgcryptoが他の人たちが何をしているのかわからないという利点があると感じています。 – strangetimes

答えて

0

かなり教育的な答えは:はい。

CloudSQLが提供する暗号化の基礎は、OS Xが提供するFileVaultのようなものです。あなたのものは本当に暗号化されていますが、ログインしているとすべてが読めるようになります。

あなたがの場合、またはサーバーを侵害する可能性がある人は、プレーンテキストでデータを読み取ることができます。データを暗号化する必要があります。私は個人的にはほとんどのデータベースで提供されているデフォルトのAES 128ビットを超え、初期化ベクトル(暗号化されたコンテンツごとに異なる)を持つAES 256ビットに切り替えました。これにより、データが暗号化され、アクセスできなくなり、自分自身でも読み取れなくなります。はい、あなたのコードは最終的に解読できますが、解読キーの格納と保護は全く別の話題です。

関連する問題