私は attr_encrypted を見てきましたが、キーをコードに格納しているため、あまり安全ではないようです。Web サーバーが侵害された場合、暗号化はあまり役に立ちません。
ウェブサーバーが侵害された場合でもデータを安全に保つためのオプションは何ですか?
私は attr_encrypted を見てきましたが、キーをコードに格納しているため、あまり安全ではないようです。Web サーバーが侵害された場合、暗号化はあまり役に立ちません。
ウェブサーバーが侵害された場合でもデータを安全に保つためのオプションは何ですか?
環境変数を使用してキーを設定します。開発または本番用にさまざまなアプローチを採用するのは簡単です。
暗号化に関する懸念:
# app/models/concerns/encryption.rb
module Encryption
extend ActiveSupport::Concern
module ClassMethods
def encryption_key
ENV['ENCRYPT_KEY']
end
end
end
モデルでは、懸念の方法を使用します。
class User < ActiveRecord::Base
include Encryption
attr_encrypted :name, :key => encryption_key
end
開発では、.env
ファイルを使用してキーを保存し、環境変数を foreman で取得します。Heroku では、ダッシュボードから環境変数を簡単に設定できます。