Ez az alkalmazás a felhasználók hitelesítésére keresztül a mobiltelefon, a visszafejtése egy egyszeri jelszót titkosítva a szerver nyilvános kulccsal. Az alkalmazás használható fel semmilyen internetes szolgáltatás, amely megvalósítja ezt a módszert a hitelesítést.
(Lásd a GitHub tracker további információt arról, hogyan kell ezt a hitelesítési szerver-oldali)
Az alkalmazás használható korlátlan számú érintett felek, mint az azonos nyilvános kulcsot használják az összes fél számára. Miután az alkalmazás beiratkozott, az alkalmazás létrehoz egy eszköz-specifikus kulcspár, hogy jelen van az egész életen át az app (amíg a eltávolított). Frissítése az alkalmazás nem törli a kulcsot azonban.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Futtatásának előfeltételei az alkalmazás:
1. A telefon támogatnia kell a hardver alapú tároló. Ez egy tároló, amely egy "biztonsági chip" a készülék belsejében, amely lehetetlenné teszi, hogy másolja a kulcsot ki a telefont.
2. Az üzlet inicializálni kell. Néha lehet inicializálni a bolt létrehozásával PIN zár képernyőn, és aztán csak generál egy kulcsot. Eltávolítása a zár képernyőn általában tartani a gombot, kivéve, ha a kulcs tulajdonságai volt beállítva, hogy szükség zár képernyőn.
3. Bizonyos esetekben egy biztonságos zár képernyőn be kell használni. Ez függ a telefon típusától.
4. A biztonságos chip belsejében telefon, támogatnia kell műveletek alapján 2048 bites RSA / EKB / PKCS1.5
5. Egyes esetekben, egy gyökeres telefon állandóan tiltsa le a biztonsági chipet, biztonsági okokból.
Beiratkozni, meg kell indítani az URL qrsa: // e egy böngészőből vagy similiar. Azt is beiratkozik keresztül visszahívási URL használatával qrsa: // u. Ahhoz, hogy használni u, először meg kell hozzáfűzni "s", ha a használni kívánt HTTPS, vagy bármi más a HTTP. Aztán az egész URL nevezhető NÉLKÜL a rendszert, URLSafe Base64 formátumban. A nyilvános kulcs lesz hozzáfűzve, hogy vessen véget az URL-t. Ha az eszköz nem kompatibilis, akkor vissza INCOMPATIBLE_DEVICE és annak a felelősségét, hogy visszatérjen egy értelmes hibaüzenetet a felhasználónak.
Hitelesítésére, elindítja az url qrsa: // s vagy qrsa: // c követte URLSafe base64 kódolt adatok az RSA nyilvános kulcsú titkosítás szöveg formátumban padding :: OTP :: ÜZENET :: hash :: padding. Az "s" akció célja a beolvasott események, és megmutatja az OTP szöveget a képernyőn. A "c" akció célja a kattintási eseményt. A különbség az, hogy a kattintás esemény hatására az OTP-kódot kell tenni a felhasználó vágólap helyett, így a felhasználó azonnal folytathatja a beillesztés a kódot használjuk az OTP területen.
HASH úgy lehet létrehozni egy md5 ki az OTP + ÜZENET + OTP, ahol + jelöli szövegösszefűzés. Hash véd néhány durva formája alakíthatósága támadások a titkosított szöveget. A szendvics szerkezete megakadályozza a támadó a mozgó közötti elválasztó OTP és az üzenetet.
Megjegyezzük, hogy a screenshotok a app szándékosan cenzúrázott megelőzésére védjegye és / vagy szerzői jog megsértése (UI az Android és más alkalmazások szerzői jogvédelem alatt), mint a kölcsönhatás az alkalmazás elegendő egy párbeszédablak, amely megjelenik a tetején a hívó app, ami miatt a hitelesítés történni.
Ha van olyan kérdések az alkalmazás, megtalálja példa kódot, és több utasítást a nyilvános GitHub oldalon, mivel ez az alkalmazás nyílt forráskódú.
Továbbá, nyugodtan tegyen semmilyen kérdést a nyilvánosság GitHub tracker.