Tai yra app autentifikuoti vartotojus per savo mobilųjį telefoną, kurį iššifruoti vienkartinis slaptažodį užšifruotos serverio naudojant viešąjį raktą. App yra tinkamos naudoti bet kokią interneto paslauga, kuri įgyvendina šią autentifikavimo metodą.
(Žr GitHub tracker Daugiau informacijos apie tai, kaip įgyvendinti šį autentifikavimą server-side)
Programai gali būti naudojamas su neribotą skaičių pasikliaujant šalių, nes pati viešoji raktas yra naudojamas su visomis šalimis. Kai programa yra įtraukti, app generuoja įrenginio konkrečių Naujas raktų porą, esantis visai gyvenime app (iki jo pašalinta). Atnaujinus programą nebus ištrinti raktą tačiau.
GitHub Tracker: https://github.com/sebastiannielsen/QRSA
Būtinos veikia programa:
1. Telefonas turi palaikyti aparatūros remiantis saugojimo. Tai saugojimas, kuri naudoja "saugumo mikroschema" telefono viduje, todėl neįmanoma nukopijuoti raktą nuo telefono.
2. Laikyti turi būti inicializuoti. Kartais jos galima inicijuoti parduotuvę įsteigiant PIN užrakto ekranas, ir tada tiesiog generuoti klavišą. Šalinama užrakto ekranas bus paprastai saugo raktą, jei pagrindiniai savybės buvo setup reikalauti užrakto ekraną.
3. Kai kuriais atvejais, Turi būti naudojama saugi užrakto ekranas. Tai priklauso nuo telefono modelio.
4. saugi mikroschema viduje telefoną, turi palaikyti operacijas remiantis 2048 bitų RSA / ECB / PKCS1.5
5. Kai kuriais atvejais įsišaknijusi telefonas gali visam laikui išjungti saugumo mikroschema saugumo sumetimais.
Norėdami registruotis, turite pradėti URL qrsa: // e iš naršyklę arba, panašus. Jūs taip pat galite registruotis per atgalinio ryšio URL, naudojant qrsa: // u. Norėdami naudoti u, pirmiausia turite pridėkite "S", jei norite naudoti HTTPS, ar dar ką nors HTTP. Tada visa URL vadinti, BE schemoje, į URLSafe Base64 formatu. Viešasis raktas bus pridėtas prie pabaigos URL. Jei prietaisas yra nesuderinamas, jis grįš INCOMPATIBLE_DEVICE ir jos savo pareigą grąžinti prasmingą klaidos pranešimą vartotojui.
Norėdami patvirtinti, paleidus url qrsa: // S arba qrsa: // C po URLSafe BASE64 užkoduotų duomenų RSA viešojo rakto saugiame tekstą formatu kamšalu :: OTP :: MESSAGE :: HASH :: paminkštinimas. "S" veiksmas yra skirtas nuskaityti įvykius ir parodys kaip OTP tekstą ekrane. "C" veiksmas yra skirtas paspaudimą renginiuose. Skirtumas yra tas paspaudimas įvykiai sukels OTP kodas turi būti įdėti į vartotojo iškarpinę vietoj to, kad vartotojas iš karto gali pradėti įdėjimo kodą viduje OTP srityje.
Maiša yra pastatytas sukurti md5 iš OTP + message + OTP, kur + žymi simbolių eilučių sujungimas. Tai HASH apsaugo nuo kai kurių neapdirbtų formų lankstumas išpuolių šifruotame tekste. Įtvirtinta statybos neleidžia užpuolikas judėti tarp OTP ir žinutės separatorius.
Atkreipkite dėmesį, kad app zrzutek buvo tyčia cenzūruojami, kad būtų išvengta prekių ženklų ir / arba autorių teisių pažeidimus (UI Android ir kitas programas yra taikoma autorių teisių apsauga), nes app sąveika yra numatyta per dialogo lange, kuris pasirodo ant pašaukimo programa, kuri sukėlė autentiškumo atsitikti.
Jei yra kokių nors klausimų apie app, galite rasti pavyzdinį kodą ir daugiau instrukcijas apie viešojo GitHub puslapyje, nes tai app yra atviro kodo.
Be to, jaučiasi laisvai kurti bet kokius viešųjų GitHub tracker klausimus.