Mysql AES Encription

MySql AES Encription

Mysql bietet die Möglichkeit an, Einträge bzw. Felder verschlüsselt abzuspeichern. Dazu wird die Stored Function AES_Encrypt und AES_Decrypt angeboten:

Mit Standard aes-128-ecb

Mit aes-256-cbc

Ab Version 5.6.17 bietet MySQL nebst ecb auch noch weitere Modi an. Z.B. 256 bit cbc. CBC benötigt aber zusätzlich noch IV-Bytes:

IV-Bytes werden entsprechend verwendet:

Die IV-Bytes müssen mit (wirklichem!!) Zufallsprinzip erstellt und abgespeichert werden.

Verschlüsselungs-Algorithmus

Mysql benutzt per Standard einen 128-bit Schlüssel mit ECB block cipher mode. Das reicht wohl für die meisten Bedürfnisse aus. Dies kann aber auch bei Bedarf geändert werden.

Anzeigen des verwendeten Algorithmus

Ändern des Algorithmus

Der Standard-Algorithmus kann aber auch auf der DB konfiguriert werden. Dazu muss im File my.ini folgendes eingetragen werden:

Zu erwähnen ist, dass dieser Standard über den obigen SET-Befehl übersteuert werden kann.

 

Referenzen