Come salvare una password per tutti gli utenti senza hashing?

0

Sto lavorando su un plug-in per il sito A che accede a un sito esterno B.

Il plugin deve memorizzare la password nel sito B, ma non posso usare l'hashing perché devo inviare le informazioni di accesso a B. Non posso memorizzare ulteriori informazioni sul dispositivo dell'utente, perché c'è solo una password per tutti gli utenti del sito A. L'amministratore imposta la password e lo script si collega sempre al sito B utilizzando tali informazioni per ogni utente. Quindi deve essere accessibile 24/7. Inoltre il plugin dovrebbe essere utilizzabile anche da altri utenti che utilizzano le loro versioni personali del sito A. Quindi sarebbe bene, se l'amministratore non dovesse fare molto / niente per configurare il plugin e la password potrebbe essere impostata facilmente.

Ho letto di una soluzione utilizzando una VM, ma non è applicabile qui. C'è un modo per salvare la password senza creare problemi di sicurezza?

    
posta Sanshi 22.08.2018 - 12:52
fonte

1 risposta

2

La mia comprensione della tua situazione:

  • Il sito A è interno e ogni utente ha il proprio account.
  • Il sito B è esterno dove l'ente ha un account utente condiviso da tutti (sto immaginando l'accesso a riviste accademiche o qualcosa del genere).
  • Si desidera creare un plug-in per il sito A che estrae il contenuto dal sito B al sito A e, pertanto, deve accedere automaticamente al sito B.

Una corretta?

Ingenitamente vedo un numero di opzioni:

  1. Chiedi all'utente di digitare la password del sito B ogni volta che ne hai bisogno, in questo modo non la stai memorizzando da nessuna parte.
  2. Chiedere all'utente di digitare la password del sito B una volta e memorizzarla nella cache del browser locale. Ciò è meno sicuro in cambio di maggiore praticità.
  3. L'amministratore incorpora il nome utente / password al sito B nel codice sorgente per il plug-in. Questa è la massima praticità, ma la meno sicura perché qualcuno potrebbe decodificare la password dal plug-in (quanto è difficile dipendere dalla lingua in cui si trova il plug-in, se il plug-in gira su un server o nel browser, ecc.) .

In sostanza, o memorizzi le credenziali nel plug-in o non lo fai.

Un'opzione più complessa:

  • Come funziona il meccanismo di autenticazione di Site B? Presumo che quando fornisci il nome utente e la password corretti, il sito B ti restituisce una sorta di token di autenticazione? È possibile posizionare un piccolo server che contiene le credenziali, accedere per te e restituirti il token?

In questo modo:

Browser plugin --log-me-in-plz--> your server --[username/pass]--> Site B

               <-- auth-token--                <--auth-token--

Per essere onesti, sembra che il tuo vero problema qui sia che tutti condividono un nome utente / password. Stai cercando di mettere in sicurezza qualcosa di debole all'inizio.

Hai parlato con le persone che gestiscono il sito B? È così che intendono che tu usi il loro sito? Hanno altri meccanismi di autenticazione oltre a questo nome utente / password condivisi? Puoi avere ciascun utente il proprio account?

La tua situazione sembra un po 'come chiedere di installare i sistemi di sicurezza in una villa, ma viene detto dal proprietario che non chiudono mai le porte e non vogliono dover digitare alcun codice di sicurezza. La risposta corretta è tornare al cliente e dire "Non posso garantirlo, tutto ciò che faccio sarà al massimo teatro della sicurezza".

Dato questo, forse la tua organizzazione andrà bene con l'opzione 3 sopra e accetta solo che se qualcuno è determinato abbastanza, può ottenere la password dallo script.

    
risposta data 22.08.2018 - 14:59
fonte

Leggi altre domande sui tag