Ця програма для аутентифікації користувачів за допомогою свого стільникового телефону, шляхом дешифрування одноразовий пароль зашифрованого сервером з використанням відкритого ключа. Додаток може використовуватися для будь-якого веб-сервісу, який реалізує цей метод перевірки автентичності.
(Див трекер GitHub для отримання додаткової інформації про те, як здійснити цю перевірку справжності на стороні сервера)
Додаток може використовуватися з необмеженою кількістю належних сторін, так як той же відкритий ключ використовується з усіма сторонами. Після того, як додаток надійшов, додаток генерує пару ключів конкретного пристрою, яке присутнє протягом усього терміну служби додатки (до його деінсталювати). Оновлення програми не будуть видалені ключ, однако.
Github Tracker: https://github.com/sebastiannielsen/QRSA
Необхідні умови для запуску програми:
1. Телефон повинен підтримувати зберігання на основі апаратного забезпечення. Це сховище, яке використовує "Security Chip" всередині телефону, що робить неможливим скопіювати ключ з телефону.
2. Магазин слід буде почати. Іноді його можна форматувати сховище шляхом створення блокування екрану PIN-коду, а потім просто генерації ключа. Розблокування екрана, як правило, тримати ключ, якщо ключові властивості не була установка вимагає блокування екрану.
3. У деяких випадках необхідно використовувати захищений екран блокування. Це залежить від конкретної моделі телефону.
4. Безпечний чіп всередині телефону, повинен підтримувати операції на основі 2048 бітного RSA / ЄЦБ / PKCS1.5
5. У деяких випадках кореневе телефон може повністю відключити чіп безпеки з міркувань безпеки.
Щоб зареєструватися, необхідно запустити URL qrsa: // е з браузера або схожу. Ви також можете зареєструватися за допомогою зворотного виклику URL, за допомогою qrsa: // U. Для використання U, ви повинні спочатку додати в "S", якщо ви хочете використовувати HTTPS, або що-небудь ще для HTTP. Тоді весь URL буде називатися без схеми, в форматі URLSafe Base64. Відкритий ключ буде додано в кінець URL. Якщо пристрій не підтримує, то він поверне INCOMPATIBLE_DEVICE так і ваше відповідальність повернути осмислене повідомлення про помилку користувачеві.
Щоб перевірити справжність, ви запускаєте URL-адресу qrsa: // s або qrsa: // з подальшим URLSafe Base64 закодованих даних RSA відкритого ключа зашифрований текст у форматі PADDING :: OTP :: ПОСЛАННЯ :: HASH :: набиванням. "S" дію призначене для сканованих подій і покаже, як OTP тексту на екрані. Акція "З" призначений для подій клацання. Різниця полягає в тому, що події кліків буде викликати код OTP покласти в буфер обміну користувача замість того, щоб, таким чином, користувач може відразу перейти до вставки коду всередині області ОТП.
HASH будується шляхом створення md5 з ОТП + повідомлення + OTP, де + позначає конкатенацію. Це HASH захищає від деяких грубих форм податливості атак на зашифрованим текстом. Затиснутою конструкція запобігає атакуючого від переміщення роздільник між OTP і повідомлення.
Зверніть увагу, що скріншоти програми були навмисно піддані цензурі, щоб запобігти торгову марку і / або порушення авторських прав (призначений для користувача інтерфейс андроїд і інших додатків, захищені авторськими правами), оскільки взаємодія в додатку здійснюється за допомогою діалогового вікна, які з'являються у верхній частині покликання додаток, яке викликало аутентифікація відбудеться.
Якщо є які-небудь питання по додатки, ви можете знайти приклад коду, і більше команд на сторінці громадських GitHub, так як це додаток з відкритим вихідним кодом.
Крім того, не соромтеся створювати будь-які проблеми в GitHub трекері громадськості.