Si tratta di un app per autenticare gli utenti tramite il loro telefono cellulare, per decifrare una password one-time crittografati dal server utilizzando una chiave pubblica. L'applicazione è utilizzabile per qualsiasi servizio web che implementa questo metodo di autenticazione.
(Vedere il tracker github per ulteriori informazioni su come implementare questa autenticazione sul lato server)
L'applicazione può essere utilizzata con un numero illimitato di parti coinvolte, come la stessa chiave pubblica viene utilizzata con tutte le parti. Una volta che l'applicazione è iscritto, l'applicazione genera una coppia di chiavi specifiche del dispositivo che è presente per tutta la durata della app (fino alla sua disinstallato). L'aggiornamento l'applicazione non cancellerà la chiave però.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Presupposti per l'esecuzione l'applicazione:
1. Il telefono deve supportare l'archiviazione basata su hardware. Questa è una memoria che utilizza un "Security Chip" all'interno del telefono, rendendo impossibile copiare la chiave dal telefono.
2. Il deposito deve essere inizializzato. A volte la sua possibile inizializzare il negozio attraverso la creazione di una schermata di blocco PIN, quindi solo la generazione di una chiave. La rimozione della schermata di blocco di solito tenere la chiave, a meno che le proprietà chiave è stata messa a punto da richiedere schermata di blocco.
3. In alcuni casi, è necessario utilizzare una schermata di blocco sicuro. Questo dipende dal modello di telefono.
4. Il chip sicuro dentro il telefono, deve supportare le operazioni di base a 2048 bit RSA / BCE / PKCS1.5
5. In alcuni casi, un telefono radicata può disabilitare permanentemente il chip di sicurezza per motivi di sicurezza.
Per iscriversi, è necessario avviare il qrsa URL: // e da un browser o simile. È inoltre possibile iscriversi tramite un URL di richiamata, utilizzando qrsa: // u. Per utilizzare le funzioni u, è necessario innanzitutto aggiungere una "s", se si desidera utilizzare HTTPS, o qualsiasi altra cosa per HTTP. Poi l'intero URL di essere chiamato, senza lo schema, in formato URLSafe Base64. La chiave pubblica verrà aggiunto alla fine dell'URL. Se il dispositivo non è compatibile, verrà restituito INCOMPATIBLE_DEVICE e la sua responsabilità per restituire un messaggio di errore significativo per l'utente.
Per autenticare, si avvia l'qrsa url: // s o qrsa: // c seguito da URLSafe Base64 dati codificati del testo cifrato a chiave pubblica RSA nel formato IMBOTTITURA :: :: OTP messaggio :: :: HASH imbottitura. L'azione di "s" è stata progettata per gli eventi scanditi e mostrerà come testo OTP sullo schermo. L'azione "c" è stato progettato per eventi click. La differenza è che eventi click farà sì che il codice OTP da mettere in Appunti dell'utente, invece, in modo che l'utente può procedere immediatamente ad incollare il codice all'interno del campo di OTP.
Hash viene costruito creando una MD5 di OTP + MESSAGGIO + OTP, dove + denota concatenazione di stringhe. Questo hash protegge contro alcune forme ruvide di attacchi malleabilità sul testo cifrato. La costruzione a sandwich impedisce un utente malintenzionato di spostare il separatore tra OTP e il messaggio.
Si noti che le schermate del applicazione è stata volutamente censurata per prevenire le violazioni dei marchi e / o copyright (interfaccia utente di Android e altre applicazioni sono protetti copyright), come l'interazione in app viene fornito tramite una finestra di dialogo che appaiono in cima alla chiamata App che ha causato l'autenticazione per accadere.
Se ci sono dei problemi sul app, è possibile trovare codice di esempio e ulteriori istruzioni sulla pagina pubblica GitHub, in quanto questa applicazione è open source.
Inoltre, sentitevi liberi di creare eventuali problemi nel inseguitore github pubblico.
Ultimo aggiornamento
1 ago 2016