Przechowujemy poufne dane w MySQL i chcę użyć AES_ENCRYPT (dane, "mój-tajny klucz-tutaj"), a następnie AES_DECRYPT, który działa świetnie. Moje największe pytanie brzmi: jak zabezpieczyć klucz? Wcześniej po prostu byłeś przechowywania klucza w pliku PHP internetowej, więc coś takiego:Jak bezpiecznie przechowywać dane w MySQL przy użyciu AES_ENCRYPT
define("ENCRYPTION_KEY", 'my-secret-key-here');
To naprawdę nie działa, choć, jak nasz serwer MySQL oraz serwer WWW jest taka sama maszyna fizyczna, więc jeśli ktoś uzyska dostęp do serwera, mogą uzyskać zarówno zaszyfrowane dane przechowywane w MySQL jak i klucz.
Wszelkie pomysły? Myślę, że muszę przenieść klucz do oddzielnego serwera i odczytać go zdalnie. Lub, co o dynamicznym generowaniu klucza szyfrowania dla każdego fragmentu danych. Na przykład pobranie customer_id i uruchomienie md5 na nim, a następnie użycie go jako klucza.
Czy możesz nam powiedzieć, jakie byłyby konkretne uprawnienia do pliku? – mozgras