Ist es notwendig, sensible Daten persistent zu speichern (beispielsweise personenbezogene Daten), müssen diese nach bestimmten Standards und Empfehlungen am Speicherort besonders geschützt werden.
Verschlüsselt man diese Daten vor der Speicherung, sind sie auch nach einem Angriff auf die Datenbank weiterhin geschützt.
Crypto-Key
Um persistente Daten ausreichend sicher zu verschlüsseln, ist ein Crypto-Key notwendig, der bei der Auslieferung von brandbox mitgeliefert wird. Brandbox verschlüsselt Daten per AES in MySQL.
Daten in Datenbank verschlüsseln
Brandbox verschlüsselt die Daten in der Datenbank automatisch mit dem Crypto-Key, sobald das Datenbank-Feld entsprechend ausgezeichnet wurde. Es muss darauf geachtet werden, dass das Feld als binary
deklariert wurde und die Länge ausreicht.
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "identifier": "userFirstname", "labels": { "de": "Vorname", "en": "Firstname" }, "data_type": "varbinary", "form_type": "input", "length": 256, "is_encrypt": true, ... } |
Versionierung abschalten
Werden einzelne Datenbank-Felder verschlüsselt, muss darauf geachtet werden dass diese Daten nicht versioniert werden.
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "name": "component/some_user", "tables": [ { "identifier": "someUser", "is_versionable": false, ... } } |