Il token HTTPS + FacebookID + Secret Header è sufficiente per un accesso utente?

0

Divulgazione - Non sono un professionista della sicurezza - ma ho un problema di sicurezza (credo) che ho bisogno di articolare con un cliente.

Abbiamo un'organizzazione partner che ha creato un'API per un'app mobile che stiamo costruendo. Anziché utilizzare oAuth per l'accesso a Facebook, è necessario caricare l'ID facebook di un utente sull'endpoint API, tramite HTTPS, con una chiave API statica nell'intestazione.

Considerano questo sufficientemente sicuro da garantire l'accesso all'account dell'utente. Ma puzza di pesce per me.

cioè.

POST a link con intestazione X-Auth-APIKEY = TOPSECRET

Ovviamente, vedo un problema in cui se la chiave è compromessa, è fottuta (perché è codificata nella nostra app) - ma c'è qualcos'altro che mi manca?

I complimenti per la traduzione di qualsiasi potenziale minaccia in linguaggio che un marketing manager potrebbe capire:)

    
posta user2795224 08.01.2014 - 13:25
fonte

2 risposte

-2

Funzionerà, ma non è l'ideale. https crittograferà l'URL e le intestazioni, quindi teoricamente va bene.

Come hai giustamente sottolineato, se l'APIKEY è esposto sei fregato. Il fatto che ci siano due diverse parti coinvolte nella produzione che probabilmente conoscono la password sarebbe anche una preoccupazione.

Potrebbe essere una buona idea anche assicurarsi che APIKEY sia sufficientemente potente, quindi il servizio non è suscettibile agli attacchi di forza bruta.

Modifica: come hanno giustamente sottolineato le persone, il proprietario dell'app può utilizzare un software di sniffing dei pacchetti per vedere la chiave API, cosa che ho trascurato mentre pensavo alla minaccia esterna rispetto al proprietario delle app .. sciocco.

    
risposta data 08.01.2014 - 13:56
fonte
2

Se è server-to-server e controlli il server che potrebbe essere accettabile. Ma se questa API viene utilizzata dal client, No, non è OK

HTTPS protegge il segreto da eves-droppers di terze parti ma non dall'utente stesso. Dal momento che l'utente controlla il computer, decide quali sono i certificati attendibili e può installare il proprio man-in-the-middle. C'è anche uno strumento gratuito che fa questo noto come Fiddler - usato principalmente per scopi di debugging può installare un certificato HTTPS nell'archivio certificati e usarlo per MITM tutte le comunicazioni.

Quindi è banale che qualsiasi utente di computer scopra l'APIKEY, e quindi ogni altro utente viene pwnato. Non buono .

Per il marketing: "Ciò consentirebbe a qualsiasi utente tecnico di scoprire l'APIKEY e potrebbe quindi accedere ai dati di ogni utente."

    
risposta data 08.01.2014 - 18:19
fonte

Leggi altre domande sui tag