Ik weet niet of er mensen zijn die hier ervaring mee hebben, maar ik zit me het volgende af te vragen.
Hoe kan ik het best (privacy) gevoelige data versleutelen, opslaan en weer ontsleutelen?
Versimpeld voorbeeldje:
Er wordt een database aangelegd waarin user accounts zijn opgeslagen met medische informatie. Denk hierbij aan bepaalde aandoeningen en voedingspatronen.
Nu is het zaak dat bijvoorbeeld een iemand met db-access niet zomaar voor user X kan opzoeken waar hij allemaal last van heeft. Eigenlijk alleen de user en sommige instanties mogen die informatie inzien en voor alle andere mensen moet het onleesbaar zijn.
Op zich is het versleutelen van de data niet zo moeilijk. Je kiest een algoritme (3DES, AES, Blowfish), een keysize (behalve bij 3DES natuurlijk) en je versleuteld de data. Als je de data weer nodig hebt ontsleutel je het weer en toon het in de (web) applicatie.
Mijn vraag is eigenlijk hoe pak je het beste key-management aan:
* Hoe bepaal je beste sleutels (perfomance / security afweging)
* Wanneer verander je van sleutel? (Vertrek van bevoegde personen, als de sleutel compromised is)
* Hoe verander je het beste van sleutel?
* Waar laat je je sleutel (wat voor keystore)
Overigens zijn hardwarematige oplossingen (bijv. HSM's van Thales) voor ons een beetje te duur
Hoe kan ik het best (privacy) gevoelige data versleutelen, opslaan en weer ontsleutelen?
Versimpeld voorbeeldje:
Er wordt een database aangelegd waarin user accounts zijn opgeslagen met medische informatie. Denk hierbij aan bepaalde aandoeningen en voedingspatronen.
Nu is het zaak dat bijvoorbeeld een iemand met db-access niet zomaar voor user X kan opzoeken waar hij allemaal last van heeft. Eigenlijk alleen de user en sommige instanties mogen die informatie inzien en voor alle andere mensen moet het onleesbaar zijn.
Op zich is het versleutelen van de data niet zo moeilijk. Je kiest een algoritme (3DES, AES, Blowfish), een keysize (behalve bij 3DES natuurlijk) en je versleuteld de data. Als je de data weer nodig hebt ontsleutel je het weer en toon het in de (web) applicatie.
Mijn vraag is eigenlijk hoe pak je het beste key-management aan:
* Hoe bepaal je beste sleutels (perfomance / security afweging)
* Wanneer verander je van sleutel? (Vertrek van bevoegde personen, als de sleutel compromised is)
* Hoe verander je het beste van sleutel?
* Waar laat je je sleutel (wat voor keystore)
Overigens zijn hardwarematige oplossingen (bijv. HSM's van Thales) voor ons een beetje te duur
The ships hung in the sky in much the same way that bricks don’t.