QRSA OTP Authentication

1 k+
Aflaaie
Inhoudgradering
Almal
Skermkiekieprent
Skermkiekieprent

Meer oor hierdie program

Dit is 'n app om gebruikers via hul selfoon, deur decrypten 'n eenmalige wagwoord geïnkripteer deur die bediener met behulp van 'n publieke sleutel. Die inligting is bruikbaar vir enige web diens wat hierdie metode van verifikasie implemente.
(Sien die GitHub Tracker vir meer inligting oor hoe om hierdie verifikasie op bediener-kant te implementeer)
Die app kan gebruik word met 'n onbeperkte aantal vertrou partye, soos dieselfde publieke sleutel word gebruik met alle partye. Sodra die inligting is ingeskryf, die jeug genereer 'n toestel-spesifieke sleutel paar wat teenwoordig vir die hele leeftyd van die jeug is (totdat sy gedeïnstalleer). Opdatering van die jeug sal die sleutel egter nie vee.

GitHub Tracker: https://github.com/sebastiannielsen/QRSA

Voorvereistes vir die uitvoer van die jeug:
1. Die telefoon moet hardeware gebaseer stoor ondersteun. Dit is 'n stoor wat 'n "Security Chip" gebruik in die telefoon, maak dit onmoontlik om die sleutel uit die telefoon kopieer.
2. Die winkel moet dit geïnisialiseer. Soms is dit moontlik om die winkel inisialiseer deur die oprigting van 'n PIN slot skerm, en dan net die opwekking van 'n sleutel. Die verwydering van die slot skerm sal gewoonlik hou die sleutel, tensy die sleutel eienskappe was setup om slot skerm vereis.
3. In sommige gevalle, moet 'n veilige slot skerm gebruik word. Dit is afhanklik van telefoon model.
4. Die veilige chip binnekant telefoon, moet bedrywighede te ondersteun op grond van 2048 bit RSA / ECB / PKCS1.5
5. In sommige gevalle kan 'n gewortel telefoon permanent die sekuriteit chip vir sekuriteitsredes skakel.

// E van 'n leser of soortgelyke: om in te skryf, moet jy die URL qrsa van stapel te stuur. Jy kan ook inskryf deur 'n verifikasie-URL, deur die gebruik van qrsa: // u. Om u gebruik, moet jy eers voeg 'n "s" as jy wil HTTPS, of enigiets anders vir HTTP gebruik. Toe die hele URL genoem te word nie, sonder die skema, in URLSafe Base64 formaat. Die publieke sleutel sal aangeheg word aan die einde van die URL. As die toestel in stryd is, sal dit INCOMPATIBLE_DEVICE en sy jou verantwoordelikheid terug te keer na 'n betekenisvolle foutboodskap terug te keer na die gebruiker.

Om te kontroleer, jy die bekendstelling van die url qrsa: // s of qrsa: // c gevolg deur URLSafe Base64 gekodeerde data van die RSA publieke sleutel geïnkripteer teks in die formaat padding :: OTP :: BOODSKAP :: HASH :: padding. Die "s" aksie is ontwerp vir ingeskandeer gebeure en sal wys as OTP teks op die skerm. Die "c" aksie is ontwerp vir kliek gebeure. Die verskil is dat kliek gebeure sal veroorsaak dat die OTP-kode te sit in knipbord die gebruiker se plaas, sodat die gebruiker onmiddellik kan voortgaan om die kode in die veld OTP plak.
HASH is gebou deur die skep van 'n MD5 uit OTP + BOODSKAP + OTP, waar + dui string aaneenskakellling. Dit HASH beskerm teen 'n paar rowwe vorme van smeebaarheid aanvalle op die geïnkripteer teks. Die landgebonde konstruksie verhoed dat 'n aanvaller uit die verskuiwing van die skeiding tussen OTP en boodskap.

Let daarop dat die screenshots van die jeug het doelbewus gesensor om te verhoed dat die handelsmerk en / of kopiereg oortredings (UI van Android en ander programme is kopiereg beskerm), na gelang van die interaksie in die app verskaf via 'n dialoog wat op die top van die roeping verskyn artikels wat veroorsaak het dat die verifikasie gebeur.

As daar enige probleme op die jeug, kan jy byvoorbeeld kode en meer instruksies oor die openbare GitHub bladsy te vind, as hierdie inligting is open source.
Ook, voel vry om enige kwessies in die openbare GitHub Tracker skep.
Opgedateer op
01 Aug. 2016

Dataveiligheid

Veiligheid begin wanneer jy verstaan hoe ontwikkelaars jou data insamel en deel. Praktyke vir dataprivaatheid en -sekuriteit kan verskil op grond van gebruik, streek en ouderdom. Die ontwikkelaar het hierdie inligting verskaf en kan dit mettertyd opdateer.
Geen data word met derde partye gedeel nie
Kom meer te wete oor hoe ontwikkelaars datadeling verklaar
Geen data ingesamel nie
Kom meer te wete oor hoe ontwikkelaars insameling verklaar

Wat's nuut

1.4:
- Added Md5 hash verification, to further protect against malleability attacks.
1.3:
- Improved code so the app can more reliable kill itself.
1.2:
- Added OTP into @string/app_name to match Google Play app name.
1.1:
- Changed enroll function to exclude linebreaks in the public key.
- Added new "u" enroll function. Read the description or GitHub page for more information. The "u" enroll function is recommended when enrolling from a computer.

Appsteundienste

Meer oor die ontwikkelaar
Sebastian Nielsen
sebastian@sebbe.eu
Sweden
undefined