Creazione di un'app SMS criptata (Android) [chiusa]

1

Dal mio googling limitato ho notato che molte delle principali applicazioni di messaggistica crittografate sono tutte o (o una combinazione di!) closed-source, gestiscono un server di terze parti non controllato, usano un algoritmo proprietario o usano algoritmi obsoleti. A mio parere, questo è semplicemente inaccettabile.

Il mio piano era di creare un'app scheletro open source che implementasse un'interfaccia utente di messaggistica di base, quindi creare un sistema che gestisca gli algoritmi di crittografia personalizzati tramite plugin open source.

Spero che usando un sistema di plugin, gli utenti siano liberi di scegliere quale algoritmo usare e che i plug-in stessi si trovino ad affrontare un serio esame da parte della comunità di sicurezza generale.

Perché sto postando questo qui: attualmente so molto poco su come gestire correttamente i dati crittografati. Quali sono i punti deboli in questa implementazione? In che modo si impongono plug-in open source?

Note generali:

  • So che gli SMS di un fornitore di servizi contano come servizi di terze parti. Sto pensando di includere funzionalità per indirizzare l'app su un server di tua scelta, in modo da avere un maggiore controllo sui tuoi canali di comunicazione (anche se suppongo che il tuo ISP possa ancora tenere traccia dei meta-dati e di quello che hai)
  • Inizialmente, il mio piano è di supportare solo gli scambi di chiavi di persona (o qualsiasi altro metodo di autenticazione è richiesto). Nel tempo, se l'app si rivela utile e utilizzata, l'implementazione del server personalizzato sopra menzionata potrebbe essere utilizzata per le autenticazioni remote
posta Todd Schwine 18.05.2016 - 22:42
fonte

1 risposta

2

Stai reinventando la ruota. Non penso che lo stato dell'arte giustifichi davvero la creazione di una nuova app da zero (OTOH se vuoi farlo per altri motivi, ad esempio esercitarti nella creazione di un'app, quindi sceglierlo).

Si noti che con la crittografia sicura, il server di terze parti non sarebbe in grado di curiosare sulle conversazioni (anche se sarebbe in grado di registrare i metadati). E se è open-source, puoi sostituire il server abbastanza facilmente con il tuo.

Sarebbe interessante che tu abbia dettagliato le app che hai valutato per i motivi che hai avuto per averle scartate, poiché sospetto che il panorama sia non così male .

I'm hoping that by using a plugin system, users are free to choose which algorithm to use and that the plugins themselves will be facing serious scrutiny by the general security community.

Hai bisogno di una linea di base. Si può facilmente finire con gli utenti divisi dalla loro elezione di plugin incompatibili. Inoltre, è generalmente accettato che la maggior parte delle persone comuni facciano pessime decisioni di sicurezza.

Ciò che proponi è giusto come progetto, ma potresti semplicemente offrire un singolo algoritmo sicuro, quindi aggiornare l'app con una più potente quando necessario.

Se l'utente può indirizzare le app a un server di loro scelta, come stanno andando a comunicare? Tutti hanno bisogno di impostare lo stesso server? Cosa succede se ho diversi contatti in quelli disgiunti? Stai progettando un servizio federato?

Lavorare su SMS ha delle buone proprietà, ma significa anche che devi adattare tutto all'sms, tenere traccia dei contatti su cui è installato il programma e quindi dovrebbe avere la comunicazione crittografata. E che non l'hanno disinstallato o modificato il terminale. Questo è stato un problema per TextSecure ( che ha finito per rimuovere sms crittografati ) o anche per Blackberry quando le persone cambiano terminali.

the custom server implementation mentioned above could be used for remote authentications

Non vedo menzione di tale implementazione personalizzata del server per l'autenticazione remota nella tua domanda, ma dovrei notare che l'autenticazione remota è IMHO la parte più debole sulla maggior parte di queste app di messaggistica (a differenza della loro stessa crittografia -quando esse hanno crittografia end-to-end-) in quanto il server potrebbe tranquillamente garantire una persona completamente diversa.

Utilizzare id diversi dai numeri di telefono (come un'impronta digitale chiave) sarebbe leggermente più fastidioso, ma preferibile in termini di sicurezza e privacy.

    
risposta data 18.05.2016 - 23:44
fonte

Leggi altre domande sui tag