2013-09-06 79 views
5

Tôi chạy ứng dụng RoR (Rails 3.21.11) trực tiếp trên Heroku chứa một số thông tin nhạy cảm (nhận dạng cá nhân) mà chúng tôi muốn lưu vào bộ nhớ cache (~ 80kb JSON trên cơ sở mỗi người dùng).Làm cách nào để mã hóa giá trị được lưu trong bộ nhớ cache trước khi lưu trữ trong bộ nhớ cache Rails (trên Heroku)?

Vì chúng tôi chạy trên Heroku, chúng tôi rõ ràng tin tưởng Heroku với dữ liệu này. Tuy nhiên, để sử dụng memcached, chúng tôi cần sử dụng addon của Heroku, chẳng hạn như Memcachier.

Vấn đề kinh doanh: chúng tôi không sẵn lòng đưa thông tin nhạy cảm này vào cơ sở hạ tầng của nhà cung cấp bên thứ ba trừ khi nó được mã hóa đối xứng trên đường ra.

Tất nhiên, tôi có thể làm điều này:

value = encrypt_this(sensitive_value) 
Rails.cache.write('key', value) 

Nhưng chúng ta envisiage một tương lai trong đó đối tượng ActiveRecord, cũng như ol tốt' JSON, sẽ được lưu trữ - vì vậy chúng ta cần mỗi chút dữ liệu sẽ tự động được mã hóa và chúng tôi không muốn phải viết một dòng mã hóa vào mỗi bit mã có thể muốn sử dụng bộ nhớ cache.

Có đá quý/dự án/công cụ nào để thực hiện việc này không?

Trả lời

0

Mặc dù tôi chưa có cơ hội sử dụng tính năng này nhưng the attr_encrypted library có thể giúp bạn có một số hoặc tất cả các cách ở đó.