Modo più sicuro di utilizzare e archiviare le credenziali di terze parti dell'utente

5

Sto lavorando a un componente aggiuntivo che integrerà git nell'IDE VBA. Sto utilizzando la libreria LibGit2Sharp sotto il cofano, che supporta Credenziali nome utente e password , ma non Chiavi SSH . Userei i tasti SSH di GitHub se la libreria li supportava, ma non lo fa.

Quindi, posso facilmente chiedere all'utente le proprie credenziali prima di tentare di interagire con il repository remoto, ma posso sentire i rapporti "bug" già in arrivo.

Why do I have to provide my password every time I try to push to my repo?

...

Domanda 1:

È sicuro e accettabile conservare la password in memoria dopo che l'utente l'ha inserita la prima volta? Se ci sono avvertimenti a che essere sicuri o non sicuri, cosa sono?

Domanda 2:

Riesco anche a vedere gli utenti che non vogliono continuare a inserire la propria password anche durante l'ora prima che fanno push durante una sessione. Sarebbe abbastanza sicuro per crittografare (non hash) il nome utente e la password e memorizzarli insieme alle altre impostazioni di configurazione del componente aggiuntivo?

Voglio dire, Visual Studio non mi chiede le credenziali di GitHub ogni volta che avvio l'IDE, quindi deve essere possibile farlo in modo relativamente sicuro. Ma come ?

Ho letto molte domande correlate , ma non sentirti più vicino a sapere come andare in sicurezza usando le credenziali dei miei utenti nel mio componente aggiuntivo. La maggior parte delle domande esistenti riguarda siti Web e database, dove la risposta corretta è "non memorizzare la password in modo recuperabile, salarla e cancellarla e archiviare solo l'hash", ma in questo caso, non è una password per < strong> il mio servizio. Devo assicurarlo il meglio che posso, ma in modo recuperabile. In caso contrario, il mio programma non può "accedere" al proprio repository per proprio conto.

    
posta RubberDuck 30.03.2015 - 19:18
fonte

1 risposta

1

Il modo più sicuro per "archiviare le credenziali di terze parti degli utenti" è di non archiviarli: se li archivi, hai due principali problemi:

  • potrebbero cambiare prima di aggiornare la cache di essi (visto più volte)
  • la tua app potrebbe essere compromessa, compromettendo il numero sconosciuto di credenziali di terze parti degli utenti

E probabilmente molti altri.

È necessario utilizzare un sistema diverso (OAuth, OpenID, LDAP / AD, chiavi SSH, ecc.) oppure è necessario ottenere le credenziali dell'utente ogni momento in cui vogliono usarle.

Salvarli ti causerà solo dolore.

    
risposta data 06.04.2015 - 21:46
fonte

Leggi altre domande sui tag