Bussare a due fattori tramite SMS (TEXT)

2

Mi sembra che un'alternativa utile o un supplemento al tradizionale knock-out, fwknop, ecc., per un sistema che richiede solo un accesso occasionale, sarebbe:

  • Configura un blocco di tasti per una sola volta e una chiave precondivisa.
  • Salva una copia di quel pad e quella chiave pre-condivisa sul server da proteggere e tieni un'altra copia di ciascuno a portata di mano.
  • Mantieni tutte le copie di quelle chiavi private come praticabili (questo è ovvio!).
  • Ordina che il server possa ricevere messaggi SMS (di testo) da una whitelist di numeri di telefono, scartando tutti gli altri.
  • Limita gli SMS in entrata da ciascun numero autorizzato aggiungendo un ritardo progressivamente maggiore prima dell'elaborazione.
  • Fai in modo che il server elabori gli SMS di conseguenza:
    • Se decrittografando il contenuto dell'SMS con la chiave corrente dal pad monouso si ottiene un messaggio in un formato specificato, contenente un numero di porta, un protocollo e la chiave pre-condivisa, quindi:
      • Elimina la chiave corrente dal blocco di una volta e imposta il tasto successivo sulla chiave attuale.
      • Invia una risposta SMS, "OK"; e
      • Consentire una nuova connessione in entrata al server da eseguire su quella porta con quel protocollo fino a quando una tale connessione non è stata stabilita o è trascorso un timeout preconfigurato (ad esempio 5 minuti).
    • Else:
      • Non fare nulla.

Ho due domande:

  1. Esiste ancora un sistema del genere, preferibilmente in un modulo FOSS?
  2. Oltre a, forse, inadeguatezza per casi d'uso che richiedono grandi quantità di connessioni in entrata, quali sono i difetti in un tale sistema?
posta sampablokuper 29.11.2013 - 03:03
fonte

2 risposte

1

Non sono a conoscenza di qualcosa di esattamente come quello che stai cercando. Alcune mancanze strette:

  1. SMSterm fornisce un terminale su SMS, ma con "autenticazione minima". Gratuito, ma sembra in stato di coma (ultimo aggiornamento 2002, nessuna home page)
  2. Ales-U fornisce comandi su SMTP con qualche borbotta sul "metodo sicuro". Non libero, e facendo oscillare un grosso bastone brevettato, non il comportamento di accoppiamento più attraente.

Non ho giocato con nessuno dei due, BTW, è solo un po 'di Google e simili.

Suggerirò i seguenti pensieri riguardo alla tua domanda n. 2:

Pensa SMTP . Qualsiasi soluzione di spazio SMS destinata ai server probabilmente coinvolgerà un gateway SMS-SMTP e probabilmente una soluzione progettata per SMTP funzionerà anche per te.

Le dimensioni contano . I messaggi SMS sono brevi, quindi se stai firmando o crittografando i tuoi comandi, ci vorranno diversi messaggi per portarli sul server. Il server dovrà ricostruire l'intero messaggio. Questo è uno svantaggio.

Nuoto a monte . La maggior parte dei messaggi relativi alla sicurezza di SMS passa da server a client, non da client a server. In sostanza, è perché è più difficile per qualcuno intercettare i messaggi inviati al telefono piuttosto che forgiare messaggi dal tuo telefono. Quindi la crittografia basata sulla chiave che suggerisci è necessaria, ma vedi il mio punto precedente sui problemi che causa. E troverai meno soluzioni perché tutti gli altri stanno nuotando dall'altra parte.

Il bussare al porto è raro . Se stai cercando una soluzione che bussa alla porta , stai pescando una specie piuttosto rara. Se cerchi una soluzione che permetta comandi remoti autenticati, potresti avere più fortuna.

Meno chatter è migliore . Uno dei vantaggi del tuo schema è che non richiede il back-and-forward, è una richiesta a senso unico che viene poi seguita con una connessione a larghezza di banda più ampia.

L'autenticazione è la chiave . Una volta che hai un modo per inviare comandi autenticati a un server e averli convalidati e applicati, la domanda su quale tipo di trasporto utilizzi diventa un componente aggiuntivo. Risolvi per primo questo problema e poi puoi aggiungerlo a qualsiasi trasporto (SMS, SMTP, HTTP POST, ping ICMP, operatore aviano) che desideri.

Le chiavi pubbliche sono migliori . Se hai intenzione di provare a inviare messaggi autenticati, non perdere tempo con "un blocco di tasti monouso e una chiave pre-condivisa". Basta usare i certificati per crittografare e autenticare. I pad unici sono eccezionali, tranne quando non sono pratici, il che è di solito.

HTH!

    
risposta data 29.11.2013 - 05:06
fonte
1

Ecco alcuni difetti a cui posso pensare:

  1. lo spoofing via SMS è banale (ad esempio sul posto di lavoro uso un servizio di invio di SMS online che mi consente di impostare qualsiasi sequenza alfanumerica arbitraria come numero di invio), ovvero l'unica sicurezza fornita dal passaggio di whitelist è che l'utente malintenzionato deve sapere quali numeri sono presenti nella lista bianca. In uno scenario tipico, tali informazioni sono probabilmente prontamente disponibili (la maggior parte delle persone / società non mantiene i propri numeri di telefono segreti).

  2. Non è difficile intercettare comunicazioni da e verso una carta SIM, ovvero qualsiasi cosa inviata a / da il tuo telefono e il server possono essere letti e modificati.

  3. I time pad sono suscettibili all'uomo negli attacchi centrali. Ad esempio, diciamo di sapere in anticipo quale numero di porta e protocollo aprirai (ad esempio osservando le tue richieste precedenti). La prossima volta che invii la stessa richiesta, posso intercettarla e sostituirla con un numero di porta e un protocollo di mia scelta, senza alcuna conoscenza del tuo tasto one time pad .

  4. Utilizzando il punto (1) di cui sopra, posso lanciare un attacco denial of service efficace spoofingando i messaggi SMS da ogni numero whitelist, per forzare la limitazione della velocità.

  5. In alternativa, posso ottenere la negazione del servizio bloccando il segnale del dispositivo GSM (o il telefono o il ricevitore GSM del server).

Questi sono solo difetti che mi sono venuti in mente quando ho letto la tua descrizione. Ce ne potrebbero essere altri.

    
risposta data 21.04.2015 - 02:26
fonte

Leggi altre domande sui tag