-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use attr_encrypted or symmetric_encryption for protecting sensitive data at rest? #413
Comments
Marking this hacktoberfest to increase visibility. As you can imagine, there's a lot of sensitive information in this system -- I'm interested in whether or not this is an effective strategy for safely storing information in such a way that some jerk can't just run the mongodb equivalent of If it's not an effective strategy, I'm pretty interested in what other people's experiences have been. |
@Kevin-Wei I've been thinking about this a lot lately. Would love to pick your brain on this. |
even with heroku configuration http://rocketjob.github.io/symmetric-encryption/heroku.html |
@Kevin-Wei this looks awesome. I think we have two requirements here:
If you have any code in that direction can you whip up a WIP PR with it, so we have it handy? |
Maybe see https://stackoverflow.com/questions/4343996/rails-storing-encrypted-data-in-database |
I'm promoting this to active, but it's definitely complicated and tough, so please.
|
Tagging this as hacktoberfest -- if you have set this up in MongoDB before I would love to talk to you! |
Setting this up has proven to be such an unbelievable pain that I am inclined to mark this futuretech for the time being. |
@colinxfleming interested in bumping this? |
@tingaloo I'd like to keep this in futuretech for the time being I think, at least until we go thru the survey process. I'd rather focus your energy on the budget bar stuff for rn. |
Adding this to our DARIA Independence milestone. I think what we've learned from our attempts at this so far is that a) doing this on the fly is hard; b) plugging it into mongoid is also really hard. (Maybe the ecosystem has changed a bit.) Before we start on this, we should probably make a decision on whether or not to move to postgres one way or the other. |
I'd like to revisit this:
I wonder if the root problem here is secretly closeable / a problem we should just throw money at, and we shouldn't bother doing an app based fix for it. |
Worth noting that this rolled out in rails: https://edgeguides.rubyonrails.org/active_record_encryption.html |
and, uh, it looks like it might plausibly work really well - seems to even solve lookup problems, though not clear whether it would cover our approach of using database |
@colinxfleming glad you're still on top of things. My experience is to wait also. at work we got this white source thing that's catching gems with security vulnerabilties. |
@lomky the thrust of this issue is still the same and yr updated description is pretty much right - column-encrypted fields for our PII, and we'll have to preserve the fields we search on (basically |
@colinxfleming is this related at all to #2586? Now that we have ActiveRecord encryption set up, is there anything else we want to go ahead and encrypt? |
yeah actually - I think that it does kind of behoove us to get more aggressive about data obfuscation, now that we can do it more or less without inventing something from scratch. Would you be so kind as to do the honors here? This is a list of fields in tables that fit the following criteria:
I have similar lists for external pledges and fulfillments, but those tables are part of an archiving process so let's get the reps down on |
@colinxfleming the enum |
@mercedesb sorry for the delay here. I think the sensitive-est things here are CM name and Patient Name, which I believe are stored as strings; if event type or pledge amount require extra work I'm perfectly fine with not scrambling those. |
(updated 2022-July)
We'd like to have our very sensitive / PII shaped data encrypted at rest, especially now that this is built into Rails 7, which we're running now.
As a potential limiting factor, we also want to preserve a reasonable search functionality.
https://guides.rubyonrails.org/v7.0/active_record_encryption.html
The text was updated successfully, but these errors were encountered: