Aceasta este o aplicație pentru a autentifica utilizatorii prin intermediul telefonului mobil, prin decriptarea o singură dată parola criptat de către server folosind o cheie publică. App este utilizabil pentru orice serviciu web, care pune în aplicare această metodă de autentificare.
(A se vedea tracker github pentru mai multe informații despre modul în care să pună în aplicare această autentificare pe server-side)
Aplicația poate fi utilizată cu un număr nelimitat de partide care se bazează, în calitate de aceeași cheie publică este utilizat cu toate părțile. Odată ce aplicația este înscris, aplicația generează un keypair-dispozitiv specific, care este prezent pentru întreaga durată de viață a aplicației (până la neinstalate acestuia). Se actualizează aplicația nu va șterge cheia cu toate acestea.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Condiții prealabile pentru rularea aplicației:
1. Telefonul trebuie să suporte stocarea pe bază de hardware. Acesta este un depozit care utilizează un "Security Chip" în interiorul telefonului, ceea ce face imposibilă copierea cheii de pe telefon.
2. Magazinul trebuie să fie inițializat. Uneori este posibil sa pentru a inițializa magazin prin crearea unui ecran de blocare PIN și apoi doar generarea unei chei. Scoaterea ecranului de blocare se va păstra de obicei cheia, cu excepția cazului în proprietățile cheie a fost de configurare pentru a necesita ecran de blocare.
3. În unele cazuri, trebuie utilizat un ecran de blocare securizat. Acest lucru depinde de modelul de telefon.
4. Chip-ul securizat în interiorul telefonului, trebuie să sprijine operațiile bazate pe 2048 bit RSA / BCE / PKCS1.5
5. În unele cazuri, un telefon înrădăcinată poate dezactiva permanent cipul de securitate din motive de securitate.
Pentru a vă înscrie, trebuie să lansați qrsa URL: // e dintr-un browser sau similar. De asemenea, vă puteți înscrie printr-o adresă URL de apel invers, prin utilizarea qrsa: // u. Pentru a u utiliza, trebuie să adăugați mai întâi un "e", dacă doriți să utilizați HTTPS, sau orice altceva pentru HTTP. Apoi întregul URL-ul care urmează să fie numit, FĂRĂ schema, în format URLSafe Base64. Cheia publică va fi adăugat la sfârșitul adresei URL. În cazul în care dispozitivul este incompatibil, acesta va returna INCOMPATIBLE_DEVICE și responsabilitatea acestuia să returneze un mesaj de eroare semnificativă pentru utilizator.
Pentru a te autentifica, de a lansa qrsa URL-ul: // s sau qrsa: // c urmat de URLSafe Base64 datele codificate ale cheii publice RSA textul criptat în capitonarea formatul :: OTP :: MESAJ :: HASH :: PADDING. "S" acțiune este conceput pentru evenimente scanate și va afișa sub formă de text OTP pe ecran. "C" acțiune este conceput pentru evenimentele legate de clicuri. Diferența este că evenimentele legate de clicuri va duce la codul OTP care urmează să fie pus în clipboard utilizatorului în loc, astfel încât utilizatorul imediat poate proceda la inserarea codului în interiorul câmpului OTP.
HASH este construit prin crearea unui md5 din OTP + MESAJ + OTP, unde + denotă concatenare șir. HASH protejează împotriva This unor forme brute de atacuri maleabilitate asupra textului criptat. Constructia sandwich împiedică un atacator să se deplaseze separator între OTP și un mesaj.
Rețineți că capturi de ecran ale aplicației a fost cenzurat în mod intenționat pentru a preveni mărci comerciale și / sau a drepturilor de autor încălcări (UI de aplicații Android și alte sunt protejate drepturile de autor), astfel cum interacțiunea în aplicația este asigurată printr-o casetă de dialog care apar în partea de sus a chemării app care a cauzat autentificarea să se întâmple.
Dacă există probleme cu privire la app, puteți găsi un exemplu de cod și mai multe instrucțiuni pe pagina GitHub publice, deoarece această aplicație este Open Source.
De asemenea, se simt liber pentru a crea orice probleme in tracker-ul github publice.
Ultima actualizare
1 aug. 2016