顧客に関する機密情報をdbモデルres_partnersに保存します。
ただし、この情報を単純なテキストフィールドに保存する必要はありません。これらのフィールドでは、可能であれば基本的な暗号化をお勧めします。dbにアクセスできる人がこれらのフィールドにアクセスできるようにしたくありません。
openerpまたはpostgresでこれを実行する方法はありますか?
ありがとう、Vishal Khialani
顧客に関する機密情報をdbモデルres_partnersに保存します。
ただし、この情報を単純なテキストフィールドに保存する必要はありません。これらのフィールドでは、可能であれば基本的な暗号化をお勧めします。dbにアクセスできる人がこれらのフィールドにアクセスできるようにしたくありません。
openerpまたはpostgresでこれを実行する方法はありますか?
ありがとう、Vishal Khialani
「基本的な」暗号化のようなものはありません。Rot13はここにあなたを連れて行くことができません。データが保護に値するほど機密性が高い場合は、Blowfishなどの最先端の暗号を使用する必要があります。ブルース・シュナイアーの著書 『Applied Cryptography 』をよく見てください。
これを実現する簡単な(そして安全でない)方法は、モデルのメソッドwrite
とread
メソッドをオーバーロードして、書き込み前に暗号化し、読み取り後に復号化することです。
トリッキーな部分は、暗号化キーを保存することです。OpenERPサーバーを実行しているコンピューター上のファイルに保存できます(データベースが別のサーバーで実行されていると仮定します)。キーはサーバー上でクリアに利用できるため、これはまだかなり弱いですが、データベースサーバー管理者を信頼していない場合でも、openerpサーバー管理者を信頼している場合は役立つ可能性があります。データベースサーバーを安全で信頼できる場所に配置し、必要に応じてデータベースのオフラインコピー(バックアップなど)を暗号化する方がはるかに簡単です。
より高いセキュリティが必要な場合は、暗号化されたデータをクライアントアプリケーションに送信し、ユーザー指定のキーを使用してそこで復号化を実行させる必要があります。私はopenerpのこの部分について、それが簡単に実行可能かどうかを言うのに十分な知識がありません。