Ito ay isang app upang patunayan ang mga gumagamit sa pamamagitan ng kanilang mga cell phone, sa pamamagitan ng decrypting isang isang-beses na password encrypted sa pamamagitan ng server gamit ang isang pampublikong key. Ang app ay kapaki-pakinabang para sa anumang mga serbisyo ng web na nagpapatupad ito paraan ng authentication.
(Tingnan ang github tracker para sa karagdagang impormasyon sa kung paano ipatupad ito authentication sa server-side)
Ang app ay maaaring gamitin sa walang limitasyong bilang ng mga umaasa partido, bilang ang parehong public key ay ginagamit sa lahat ng partido. Kapag ang app ay naka-enroll, ay bumubuo ng app sa isang aparato-tiyak na keypair na ay naroroon para sa buong buhay ng mga app (hanggang nito uninstall). Ina-update ang app ay hindi burahin ang susi gayunman.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Kinakailangan para sa pagpapatakbo ng app:
1. Ang telepono ay dapat sumusuporta sa hardware based na imbakan. Ito ay isang storage na gumagamit ng isang "Security Chip" sa loob ng telepono, na ginagawang mas imposible upang kopyahin ang susi off ang telepono.
2. Ang tindahan ay dapat na nasimulan. Minsan nito posible upang magpasimula ng tindahan sa pamamagitan ng set up ng isang PIN lock screen, at pagkatapos lamang sa pagbuo ng isang key. Pag-aalis ng lock screen ay karaniwang panatilihin ang mga key, maliban na lamang kung ang susi properties ay setup upang mangailangan lock screen.
3. Sa ilang mga kaso, ang isang secure na lock screen DAPAT gamitin. Ito ay nakasalalay sa modelo ng telepono.
4. Ang mga secure na chip sa loob ng telepono, dapat suportahan ang mga operasyon batay sa 2048 bit RSA / ECB / PKCS1.5
5. Sa ilang mga kaso, ang isang may mga ugat telepono ay maaaring permanenteng huwag paganahin ang seguridad chip para sa seguridad.
Upang magpatala, dapat mong ilunsad ang URL qrsa: // e mula sa isang browser o similiar. Maaari mo ring mag-enroll sa pamamagitan ng isang callback URL, sa pamamagitan ng paggamit qrsa: // u. Upang gamitin u, kailangan mo munang idagdag ang isang "s" kung nais mong gamitin ang HTTPS, o anumang bagay para sa HTTP. Pagkatapos ay ang buong URL na tinatawag, WALANG ang scheme, sa URLSafe Base64 format. Ang public key ay nakadugtong sa dulo ng URL. Kung ang aparato ay hindi tugma, ito ay babalik INCOMPATIBLE_DEVICE at ang iyong responsibilidad upang bumalik ng isang makahulugang mensahe ng error sa user.
Upang mapatunayan, ikaw ilunsad ang url qrsa: // so qrsa: // c sinusundan ng URLSafe Base64 naka-encode ng data ng RSA public key na naka-encrypt na teksto sa format padding :: OTP :: MESSAGE :: HASH :: padding. Ang "s" action ay dinisenyo para sa scan na mga kaganapan at ay magpapakita bilang OTP teksto sa screen. Ang "c" action ay dinisenyo para sa pag-click ng mga kaganapan. Ang pagkakaiba ay na click kaganapan ay magiging sanhi ng OTP code na ilalagay sa clipboard ng gumagamit sa halip, kaya ang gumagamit ay agad na maaaring magpatuloy sa pag-paste ang code sa loob ng field OTP.
HASH ay constructed sa pamamagitan ng paglikha ng isang MD5 labas ng OTP + MESSAGE + OTP, kung saan + nagsasaad string pagdudugtong. HASH Pinoprotektahan nito laban sa ilang mga magaspang mga paraan ng pag-atake kalambutan sa naka-encrypt na teksto. Ang sandwiched construction humahadlang sa isang magsasalakay mula sa paglipat ng separator sa pagitan OTP at MESSAGE.
Tandaan na ang mga screenshot ng app ay sadyang censored upang maiwasan trademark at / o copyright infringements (UI ng android at iba pang apps ay protektado ng copyright), pati na ang pakikipag-ugnayan sa app ay ibinigay sa pamamagitan ng isang kahon ng dialogo na lalabas sa itaas ng pagtawag app na sanhi ng authentication sa mangyayari.
Kung may anumang mga isyu sa ang app, maaari kang makahanap ng mga halimbawa code at karagdagang mga tagubilin sa pampublikong pahina GitHub, pati na ang app na ito ay Open Source.
Gayundin, huwag mag-atubiling upang lumikha ng anumang mga isyu sa mga pampublikong github tracker.
Na-update noong
Ago 1, 2016