Le vecchie chiavi API nella cronologia git sono vulnerabili alla sicurezza?

7

Recentemente ho commesso l'errore di divulgare la mia chiave API Mailgun in un progetto GitHub open-source. L'ho immediatamente invalidato, ma il supporto di Mailgun mi ha chiesto di fare il passo ulteriore dell'eliminazione del mio repository GitHub. Finora si sono rifiutati di riattivare il mio dominio di invio fino a quando non lo faccio.

Perché è così importante? È certamente imbarazzante averlo nel mio disco pubblico, ma come potrebbe essere usato contro di me?

Aggiornamento: Mailgun ora mi sta dicendo che una vecchia chiave API non è un problema.

    
posta BonsaiOak 19.01.2018 - 23:54
fonte

2 risposte

5

O è sicuro pubblicare una vecchia chiave API sul frontespizio di New York Times, o in realtà non hanno una procedura di invalidazione corretta.

Gli utenti rimangono spesso con le chiavi API per anni, quasi nessuno li sostituirà a meno che non succeda qualcosa di veramente brutto a quelle chiavi, ad es. sono stati rubati o trapelati. In questo caso, verrà emessa una nuova chiave e una vecchia non deve essere valida più (quindi invalidation ) per qualsiasi cosa legata all'API dal momento stesso in cui una nuova chiave è stata rilasciato. Aggiungi un'ora o, diamine, anche un giorno per tutti i tipi di CDN e cache, non ha ancora nulla a che fare con l'eliminazione di un repository Github.

Per quanto riguarda alcuni suggerimenti nei commenti,

New keys may be computable from old keys

Una chiave API stessa è solo una sequenza casuale di byte. Una nuova chiave dovrebbe probabilmente essere calcolabile da nient'altro che pura entropia. Ad ogni modo, una vecchia chiave è una base sbagliata per le nuove chiavi. Se una nuova chiave dipende da quelle precedenti, è meglio pensare ancora una volta alla progettazione dell'autorizzazione dell'API.

Mailgun may be afraid that people will try the old keys against their server, which would increase the server load.

Chiunque può provare una sequenza casuale arbitraria di byte contro un server API. L'elaborazione di una chiave API non valida una volta ogni tanto deve essere conveniente per un server di autenticazione. Esistono anche metodi e persino prodotti che aiutano a proteggere dalla forza bruta se è un problema reale. Non credo che avere una vecchia chiave trapelata possa influenzare in modo significativo il carico del server (eccetto se il loro unico server è un'istanza Raspberry Pi).

Cosa succede se la chiave non è trapelata ma rubata? Devi convincere il ladro a cancellare una vecchia chiave non valida dai loro database? Questo è ridicolo. Mailgun non ha motivo di richiederlo.

    
risposta data 20.01.2018 - 07:09
fonte
2

È possibile utilizzare vecchie chiavi API per indebolire la sicurezza

Ci sono molti modi in cui le vecchie chiavi possono rappresentare un rischio, e poiché il supporto di Mailgun insiste a cancellare il repository, ciò sembra implicare che pensano che sia un rischio.

  • Le nuove chiavi possono essere calcolate da vecchie chiavi
    • Può essere che conoscere una vecchia chiave renda più semplice la rottura di una nuova chiave (questo dipenderebbe dalla modalità di generazione delle chiavi)
  • Le chiavi precedenti non possono essere invalidate immediatamente (o del tutto)
    • I server possono memorizzare nella cache chiavi valide e questa cache non può essere invalidata immediatamente, quindi è possibile utilizzare chiavi vecchie per accedere al servizio finché le chiavi non lasciano la cache.
  • Mailgun potrebbe temere che le persone provino le vecchie chiavi contro il loro server, il che aumenterebbe il carico del server.

Le vecchie chiavi API potrebbero rappresentare un rischio

Le vecchie chiavi API non dovrebbero rappresentare un rischio se sono generate in modo sensato, poiché la parte precedente presuppone che non siano generate in modo ragionevole, perché Mailgun sembra pensare che sia un rischio, e ne sanno di più su come vengono generate le loro chiavi API

    
risposta data 20.01.2018 - 00:35
fonte

Leggi altre domande sui tag