Sto sviluppando un'applicazione in php / MySql e sto cercando il miglior approccio dal punto di vista della sicurezza. L'applicazione utilizzerà e memorizzerà le informazioni sensibili. Mi rendo conto che ci sono rischi per tutti gli approcci, ma ho bisogno del miglior approccio possibile che riduca al minimo i rischi per la sicurezza delle informazioni sensibili con questa applicazione.
Ecco le basi dell'applicazione:
1) L'intera applicazione viene eseguita con https e php 7.
2) Registri utente per un account su register.php e le password sono hash password_hash e Password_BCRYPT durante la registrazione.
3) L'utente accede all'applicazione web tramite login.php
4) Una volta effettuato l'accesso, le visite dell'utente gestiscono la pagina delle credenziali (manage-accounts.php) e su un sito web immette url, nome utente e password per i siti Web di terze parti (fondamentalmente come un gestore di password).
5) Il prossimo utente visita la pagina manage-customer.php e inserisce le informazioni sensibili sui clienti che includono ssn #.
6) Infine, l'utente visita la pagina submit-customer.php.
- In questa pagina l'utente seleziona uno dei siti Web di terze parti inseriti nel passaggio 4 e un cliente è entrato nel passaggio 5 e invia invio.
- Dopo aver inviato lo script php, verrà selezionato iframe sito Web di terzi (il sito Web di terze parti utilizza https).
- Registrerà automaticamente l'utente nel sito Web di terze parti (con credenziali dal punto 4). Riempirà automaticamente le informazioni sensibili dei clienti sul modulo web https di terze parti (con le informazioni sui clienti del passaggio 5). iii. Invia il modulo web di terze parti.
Ecco le mie domande:
1) Per un sistema come questo, quale è la metodologia di crittografia / sicurezza considerato best practice per massimizzare la sicurezza del sensibile informazioni che sono memorizzate nei passaggi 4 e 5?
- Non sto cercando di creare la mia crittografia personale. Mi piacerebbe usare un quadro comprovato esistente.
2) Qual è il modo più sicuro per trasmettere le informazioni dal passaggio 4 e 5 su un sito Web di terzi tramite il modulo web iframed?
3) È meglio memorizzare le informazioni sensibili immesse nel passaggio 4 e 5 sul server o sul client? Se sul cliente esattamente come dovrebbe essere fatto?