Hii ni programu kuthibitisha watumiaji kupitia simu ya mkononi zao, na decrypting wakati mmoja password encrypted na server kwa kutumia ufunguo wa umma. programu ni usable kwa ajili ya huduma yoyote ya mtandao kwamba zana njia hii ya uthibitisho.
(Angalia github tracker kwa habari zaidi juu ya jinsi ya kutekeleza uthibitisho huu juu ya server-upande)
programu inaweza kutumika kwa idadi ya ukomo wa vyama kutegemea, kama ufunguo huo umma hutumiwa na pande zote. Mara baada ya programu ni waliojiunga, programu inazalisha keypair mahususi ya kifaa kwamba ni sasa kwa ajili ya maisha yote ya programu (mpaka uninstalled yake). Uppdatering programu si kufuta muhimu hata hivyo.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Prerequisites kwa ajili ya kuendesha programu:
1. simu lazima mkono vifaa kuhifadhi msingi. Hii ni kuhifadhi ambayo inatumia "Usalama Chip" ndani ya simu, na kuifanya vigumu kwa nakala muhimu mbali ya simu.
2. duka lazima initialized. Wakati mwingine iwezekanavyo yake initialize duka kwa kuweka PIN lock screen, na kisha tu kuzalisha muhimu. Kuondoa lock screen kawaida kuweka muhimu, isipokuwa mali muhimu ilikuwa kuanzisha kuhitaji lock screen.
3. Katika baadhi ya matukio, salama lock screen LAZIMA kutumika. Hii ni tegemezi kwa mfano simu.
4. chip salama ndani ya simu, lazima kusaidia shughuli kwa kuzingatia 2048 bit RSA / ECB / PKCS1.5
5. Katika baadhi ya matukio, simu mizizi inaweza kudumu afya chip usalama kwa sababu za kiusalama.
Kujiandikisha, lazima kuzindua URL qrsa: // e kutoka browser au similiar. Unaweza pia kujiandikisha kupitia URL callback, kwa kutumia qrsa: // u. Kutumia u, lazima kwanza append "s" kama unataka kutumia HTTPS, au kitu kingine chochote kwa HTTP. Kisha URL nzima kuitwa, BILA mpango, katika URLSafe Base64 format. muhimu ya umma itakuwa umeongezewa mwisho wa URL. Kama kifaa ni kinyume, itakuwa kurudi INCOMPATIBLE_DEVICE na wajibu wake wako kurudi maana ujumbe wa makosa kwa mtumiaji.
Kuthibitisha, uzinduzi url qrsa: // s au qrsa: // c ikifuatiwa na URLSafe Base64 encoded data ya RSA umma ufunguo encrypted maandishi katika format padding :: OTP :: UJUMBE :: hash :: padding. "S" hatua imeundwa kwa ajili ya matukio scanned na kuonyesha kama OTP maandishi kwenye screen. "C" hatua imeundwa kwa ajili ya matukio click. Tofauti ni kwamba matukio click itakuwa na kusababisha kificho OTP kuwekwa katika clipboard mtumiaji badala yake, hivyo user mara moja unaweza kuendelea na pasting code ndani ya uwanja OTP.
Hash ni yalijengwa kwa kujenga md5 nje ya OTP + UJUMBE + OTP, ambapo + inaashiria kamba concatenation. Hash Hii kulinda dhidi ya aina fulani mbaya ya mashambulizi malleability juu ya maandishi ya siri. ipo ujenzi kuzuia mshambulizi kutoka kusonga separator kati ya OTP na MESSAGE.
Kumbuka kwamba viwambo ya programu imekuwa makusudi kudhibiti kuzuia biashara na / au hati miliki ukandamizaji (UI ya programu android na mengine ni hati miliki ya ulinzi), kama mwingiliano katika programu ni zinazotolewa kupitia sanduku dialog kwamba kuonekana juu ya wito programu kwamba unasababishwa uthibitisho kutokea.
Kama kuna masuala yoyote juu ya programu, unaweza kupata mfano kanuni na maelekezo zaidi juu ya umma ukurasa GitHub, kama programu hii ni Open Source.
Pia, kujisikia huru na kuunda masuala yoyote katika umma github tracker.
Ilisasishwa tarehe
1 Ago 2016