Jump to content

The ultimate community for Ruby on Rails developers.


Photo

Need strategy for requiring manual human passphrase entry

encryption secure passenger

  • Please log in to reply
2 replies to this topic

#1 avramd

avramd

    Passenger

  • Members
  • 1 posts

Posted 24 July 2014 - 02:18 PM

Hello,

 

We have some sensitive data for which the requirement is that nothing physically stored on any server is sufficient to decrypt the data. We need it to be the case that a human intervention is required before the data can be read.

 

However of course the application itself needs to be able to read the data. What we need is analagous to the way apache prompts you for your SSL passphrase - Your application is unuseable without it, but once a human enters it, the app runs fine without intervention until a restart.

 

Is anyone aware of a solution for this? One idea I had was to simply have an admin form that stores the passphrase in a global variable - however when running with Passenger, is there a way to systematically pin down each specific process to supply the global to it? 

 

I am considering using memcached, but that would make the sensitive data available to anybody starting up a console on the server. Over time that could be many people, and we need to be able to restrict reading of this data to a smaller group than any app operator. 

 

Thanks!

Avram



#2 Ohm

Ohm

    Driver

  • Moderators
  • 401 posts
  • LocationCopenhagen

Posted 25 July 2014 - 06:43 AM

I'm not sure I understand your problem entirely.

 

You want an app, which is unusable until an administrator has supplied a password? Why launch the app, if it's unusable? Wouldn't the fact that it has been launch render it usable? If only administrators can launch the app, then your problem is solved, before it even became a problem.

 

Otherwise, it sounds like you want some kind of key-pair encryption, similar to how SSH, SSL, and PGP works. Here the server (or something vital for the server to work, e.g. the database connection string) would be encrypted using the public key of the pair. The admin could then decrypt with his private key. If any sort of gem exists for this, I do not know.


Blog: http://ohm.sh | Twitter: @madsohm | Work: Lokalebasen.dk


#3 Ohm

Ohm

    Driver

  • Moderators
  • 401 posts
  • LocationCopenhagen

Posted 25 July 2014 - 10:37 AM

You could also look into two-factor authentication (http://en.wikipedia...._authentication) and time-based one-time passwords (http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm)


Blog: http://ohm.sh | Twitter: @madsohm | Work: Lokalebasen.dk






Also tagged with one or more of these keywords: encryption secure, passenger

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users