Archiviazione sicura di password chiare in cui la crittografia / hashing a senso unico non è un'opzione

4

Sto lavorando a un servizio che alla fine estrarrà rapporti sulle vendite da un account App Store. Il problema principale con esso è che Apple (finora) non ha una API pubblica per rendere ciò possibile, quindi l'unico modo per ottenere ciò è di avere l'ID Apple e la password in forma semplice almeno per raggiungerlo attraverso lo scraping.

Questo alla fine ha sollevato un importante problema di sicurezza: come archiviarlo nel modo più sicuro possibile?

Nella parte tecnica, i servizi di back-end del progetto verranno eseguiti da PHP. Ho anche studiato diversi servizi e librerie, ma tutti utilizzano l'uso di una chiara password Apple.

Pensavo principalmente di averli memorizzati su un server separato senza accesso e accessibile solo da un host e con una chiave SSH. Il servizio deve essere in grado di archiviare e recuperare le password.

Ma per me non è ancora abbastanza sicuro dato che la chiave SSH sarebbe ancora sul singolo host e se dovesse essere compromessa, l'accesso all'archivio delle password è a un solo comando.

Come sarebbe più appropriato avere password chiare salvate?

    
posta Karl Viiburg 17.08.2016 - 15:54
fonte

2 risposte

3

La tua idea per un server separato è buona. È necessario modificare leggermente l'interfaccia tra l'app Web e il database delle password. Il database delle password deve supportare due operazioni:

  • Imposta la password per l'utente
  • Ottieni sessione per l'utente

Il database delle password non rivela MAI password. Per recuperare una sessione, si connette direttamente ad Apple, accede usando le credenziali che ha memorizzato, quindi restituisce l'ID di sessione all'applicazione web.

    
risposta data 17.08.2016 - 16:00
fonte
2

Sono d'accordo con i pensieri di paj28. Il servizio aggiuntivo non dovrebbe recuperare la password ma completare l'intera cosa di cui si ha bisogno per la password, cioè ottenere l'ID di sessione o secondo me recuperare ancora meglio i report completi. In tal caso, se qualcuno compromette l'app (e) php, non può fare nient'altro che ottenere quei rapporti. L'impostazione della password è forse una meno buona idea in quanto ciò spezzerebbe l'intera sicurezza. L'ho impostato su qualcosa che conosco e poi ho vinto e non ho più bisogno del servizio.

Proteggere il servizio con una chiave ssh porta di nuovo la stessa domanda: come conservare la chiave ssh in modo sicuro? Preferirei fare affidamento sulla sicurezza di rete, un servizio che ascolta solo sull'interfaccia locale ...

    
risposta data 17.08.2016 - 16:16
fonte

Leggi altre domande sui tag