- PVSM.RU - https://www.pvsm.ru -
Итак, вы решили внедрить двухфакторную авторизацию для своего проекта, и решили не следовать примеру Яндекса [1]и изобретать свой новый стандарт, а воспользоваться существующим, а именно TOTP по rfc6238 [2]
Алгоритмы генерации и валидации одноразовых кодов достаточно подробно описаны как в самом RFC, так и многочисленных имплементациях для всех языков и платформ [3].
Примеры реализации есть как для серверной части, так и для клиентской (в случае если для TOTP используется не аппаратный ключ, а мобильное приложение). К сожалению, очень часто в команде может не оказаться ресурсов для создания своего мобильного приложения для генерации одноразовых паролей (имею ввиду как отсутствие мобильных разработчиков чтобы сделать самим или финансов для outsource).
В этом случае наиболее распространенным выходом из положения является использование «чужого» приложения (например того же Google Authenticator-а), но в этом случае решение будет не полностью свое (вот на что намекает звездочка в заголовке).
А хотите двухфакторную авторизацию полностью свою и за минимум вложений? Тогда вам под кат
Далее приведены подробные инструкции создания кроссплатформенного мобильного приложения для генерации одноразовых кодов TOTP по rfc6238. Смета расходов подробно описана в нашей предыдущей статье [4] — в общем, примерно 125 USD. Обратите внимание что эти расходы исключительно на публикацию в аппсторах, а не на саму разработку.
Инструкции приведены для Windows, но для других систем отличия минимальные.
a) Скачайте и установите NodeJS [6]
b) Из командной строки запустите команду
npm install -g phonegap
c) Создайте папку для приложения и перейдите в нее (“cd C:MyApp”)
d) Запустите команду
phonegap create my-app
Пустое мобильное приложение будет создано в подпапке my-app («C:MyAppmy-app»). Не забудьте перейти в эту папку при запуске команды build
Скачайте zip файл с GitHub. Замените папку www в вашем проекте («C:MyAppmy-appwww») на папку www из архива
Добавьте в config.xml следующую строку:
<gap:plugin name="com.phonegap.plugins.barcodescanner" version="2.0.0" />
Внимание! Для build.phonegap файл config.xml должен быть скопирован в папку www
a) Войдите в phonegap из командной строки с помощью команды
phonegap remote login
(используйте ваш Adobe account)
b) Из командной строки перейдите в папку проекта («C:MyAppmy-app», не www) и запустите команду
phonegap remote build android
c) Зайдите на сайт build.phonegap.com и скачайте готовый APK файл
По умолчанию build.phonegap создает только APK в формате debug, для release apk и сборки под iOS нужно добавить сертификаты.
На видео демо приложения на Android:
Также в качестве примера можете ознакомиться с нашим приложением Token2 Mobile OTP [7]. Правда в отличие от MyOTP, приложение Token2 Mobile OTP поддерживает кроме TOTP, еще стандарт Mobile-OTP [8] и проприетарный алгоритм Token2. При желании и наличии навыков программирования на JavaScript, вы тоже можете добавить дополнительные алгоритмы в myTOTP
Автор: EminH
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/81966
Ссылки в тексте:
[1] Яндекса : http://habrahabr.ru/company/yandex/blog/249547/
[2] TOTP по rfc6238: https://tools.ietf.org/html/rfc6238
[3] языков и платформ: https://github.com/search?utf8=%E2%9C%93&q=totp
[4] статье: http://habrahabr.ru/company/token2/blog/235641/
[5] Шаблон : https://github.com/eminhuseynov/MyTOTP/
[6] NodeJS : http://nodejs.org/
[7] Token2 Mobile OTP: https://token2.com/ru/?content=mobileapp
[8] Mobile-OTP: http://motp.sourceforge.net/
[9] Источник: http://habrahabr.ru/post/249921/
Нажмите здесь для печати.