È sicuro usare un'estensione Php personalizzata per la gestione delle chiavi + hashing (db)?

0

Sto progettando la sicurezza di una nuova applicazione e cerco di capire quale sia il modo migliore per archiviare le chiavi della crittografia AES mysql nel file system. Ho visto diverse opzioni come memorizzarlo al di fuori della directory web in una directory limitata nel filesystem. Inoltre è possibile memorizzare la chiave nella memoria di sistema (come si fa e come si usa in php / mysql)? Quindi i miei pensieri erano, perché non scrivere un'estensione php personalizzata con una funzione di hashing e anche il keystore, e limitare l'uso di queste funzioni personalizzate sull'indirizzo ip del server. Quindi questa estensione personalizzata viene compilata e caricata in apache.

Quanto sopra è sicuro? È possibile decompilare un'estensione php? Cosa succede se un hacker ottiene l'accesso al server ed esegue uno script php che utilizza questa funzione personalizzata? (o come l'altra opzione: legge la chiave memorizzata nel filesystem)

Btw: il server web + db e secure db saranno 2 server separati.

Spero che qualcuno possa dare una mano! Grazie:)

    
posta Symtex 11.03.2013 - 10:26
fonte

1 risposta

2

Un'estensione PHP è solo un codice compilato. Se l'attaccante può vedere il codice compilato, allora può, in effetti, decompilarlo. Una chiave memorizzata nel codice compilato che l'utente malintenzionato può vedere, non può essere considerata veramente secret . Altrimenti, DRM sarebbe un problema risolto.

La memorizzazione della chiave in una "directory riservata" è una buona idea (non si desidera che la chiave sia recuperabile con un semplice% sovvertito% co_de); l'utilizzo di un'estensione personalizzata e l'inserimento della DLL di estensione stessa in tale directory limitata non offrono una sicurezza notevolmente maggiore. Tale estensione sarebbe l'aggregato della chiave e l'algoritmo crittografico che utilizza la chiave. È normale pensare che l'hacker conosca già l'algoritmo (cioè principio di Kerckhoffs ), quindi sei tornato a memorizzando la chiave in quella directory.

Pertanto, consiglierei contro l'estensione personalizzata, perché non offre vantaggi per la sicurezza, ma aggiunge complessità (e la complessità è cattiva).

    
risposta data 11.03.2013 - 12:30
fonte

Leggi altre domande sui tag