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.
- 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:
Ho due domande:
- Esiste ancora un sistema del genere, preferibilmente in un modulo FOSS?
- Oltre a, forse, inadeguatezza per casi d'uso che richiedono grandi quantità di connessioni in entrata, quali sono i difetti in un tale sistema?