0

私は Web アプリを作成していますが、ユーザー データを適切な方法で暗号化できるようにしたいと考えています。

このデータは (医療記録や CC 番号のように) 機密性が高くありませんが、名前、会社、役職、電話番号、電子メール アドレスなど、安全に保管する必要があると思います。そしてもちろんパスワード - しかし、これはハッシュ/ソルトを使用して保護されます...

サイトがハッキングされたりサーバーが侵害されたりするのを防ぐために、ユーザー データを安全に保存したいと考えています。しかし、顧客名、組織、電話番号、電子メール アドレスがサイト管理者に見えるようにする必要もあります。つまり、バックエンドで見えるようにする必要があります。

もちろん、パスワードはサイト管理者には表示されません...

これについてどのように対処すべきかについてアドバイスをいただければ幸いです - 船外に出ることなく「合理的に」安全であるために十分なことをしたいと思います - データは極度に機密ではなく、サイト自体は誰もが恥ずかしいと思うようなものではないと言うように...のメンバー

どうもありがとう。

4

1 に答える 1

0

ハッシュは、データに対する不可逆 (またはほとんど不可逆) な一方向関数を計算するプロセスです。したがって、おそらく暗号化について言及しています。

このコンテキストでのアプリケーションレベルの暗号化に関しては、これを行うことができますが、誰かが生のデータベースをダンプしてそれを読み取ることから保護するだけです. 管理ビューの機能を提供するには、すべてを 1 つのキーで暗号化する必要があります。指摘する価値があるのは、アプリケーションが SQL インジェクションに対して脆弱な場合、これは、暗号化にもかかわらず、誰かがデータを抽出できることを意味する可能性があることです。アプリは、それが正当なデータ フローの一部であると考えて復号化する可能性があるためです。

データを暗号化すると、それらのフィールドの選択を狭めると別の問題が発生しますか? 渡す前にパラメーターを暗号化する必要があります。ただし、フィールド値を一致させるには、同じ IV を使用する必要があります。しかし、有効な IV を使用するには、InitializationVector を抽出するデータベース内の正確なレコードを知る必要があります。私が言ったように、それは難しいかもしれません。

個人的には、暗号化は最後の手段であり、絶対に必要な場合にのみ使用する必要があると考えています。機密性の問題を解決すると、より大きな可能性のあるキー管理の問題が発生するためです。そして、それはあなたの場合だと思います。

于 2012-11-27T16:18:08.020 に答える