Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

17.09.19

Разработка - Разработка внешних компонент

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Компонента аутентификации и шифрования с помощью биометрической информации для Андроид:
.cf 1,57Mb ver:1.0.1
5 3 050 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В мобильных приложениях часто бывает необходимо хранить секретную информацию, например пароли. Если записывать ее в базу данных, всегда нужно учитывать риск утери устройства и, соответственно, возможность доступа к ней посторонних лиц. В мобильных операционных системах существуют механизмы защиты ключей шифрования паролями, порождаемыми биометрическими сканерами. Если подробнее, информация шифруется ключом с паролем из хеша, полученного из сканера. Для расшифровки извлеченный из хранилища ключ должен быть "подписан" тем же отпечатком. Данная компонента позволяет воспользоваться такими механизмами ОС Андроид.

Стандартный диалог запроса биометрии введен в 28-ю версию Андроид, именно для этой или более высокой версии предназначена компонента. В меньших версиях она загружается, но метод Подключить возвращает Ложь. Использование стандартного диалога гарантирует поддержку других средств аутентификации (например сканера сетчатки или лица), которые появятся в Андроид позже.

Примечание: Начиная с 23й версии, Андроид имеет другой набор классов для использования сканера отпечатка - fingerprint. Он не содержит визуальных элементов, чтобы им воспользоваться, необходимо самостоятельно делать активность (или форму 1С). Автор этой статьи, его клиенты и коллеги уже два года успешно используют компоненту, выполненную на основе этого, ныне устаревшего, механизма.

Примечание: В 15-й версии платформы 1С объявила о внедрении биометрии в мобильной платформе, но мне не удалось найти способы ее использования и узнать "идеологию" работы ни в справочной информации, ни на сайте ИТС. Возможно, я не проявил необходимой настойчивости в поиске.

Компонента реализована как устройство ввода из данного стандарта. Имя объекта - BiometricDialog:

ПодключитьВнешнююКомпоненту("ОбщийМакет.Компонента", "IKSoftWare", ТипВнешнейКомпоненты.Native);
Компонента = Новый("AddIn.IKSoftWare.BiometricDialog");

Она имеет следующие параметры:

  • KeyName - строка без пробелов. Должен быть обязательно установлен. Он определяет имя контейнера ключа. Если Вы зашифровали информацию с определенным именем ключа, для ее расшифровки необходимо использовать точно такое же имя. Конечно же, вы можете использовать сколько угодно ключей.
  • Action - целое число равное 0 для шифрования или 1 для расшифровки
  • Data - данные для шифрования (строка) или для расшифровки
  • DecodeKey - открытый ключ для расшифровки. Параметр необходимо задать, если Action = 1. Он возвращается во внешнем событии после успешного шифрования (см. ниже)
  • DialogTitle - строка-заголовок диалога, необходимо обязательно установить
  • CancelText - текст на кнопке отмены, необходимо обязательно установить
  • DialogSubtitle - строка-подзаголовок диалога
  • DialogDescription - строка описания, отображаемая на диалоге

После подключения и инициализации параметров, необходимо вызвать метод Подключить. Если все условия вывода диалога выполнены (кроме соответствующего релиза ОС необходима регистрация в системе хотя бы одного отпечатка), он вернет Истину и отобразит всплывающий диалог:

Его закрытие вызывает в платформе такие внешние события:

  • DriverError - ошибка драйвера, аргумент события "Данные" содержит текст описания ошибки
  • AuthenticationFailed - ошибка проверки (приложен чужой или другой палец). Данные пустые.
  • AuthenticationHelp - прочие ошибки распознавания, "Данные" содержит текст
  • AuthenticationCanceled - отмена
  • BiometricData - успешное распознавание. Данные содержат строку xml следующей структуры:
<BiometricTouch>
 <Data>...</Data>
 <DecodeKey>...</DecodeKey>
</BiometricTouch>

Тэг Data содержит зашифрованную строку при шифровании или результат расшифровки, а DecodeKey - открытый ключ в кодировке base64.

Компонента предназначена для релиза мобильной платформы 8.3.15.62.

Вступайте в нашу телеграмм-группу Инфостарт

биометрическая информация внешняя компонента

См. также

Логистика, склад и ТМЦ Мобильная разработка Программист Руководитель проекта 1С v8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

«Склад 15 ПРОДУКТОВЫЙ» - специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода, объединяет в себе несколько товарных групп маркированного товара (АЛКОГОЛЬ, ПИВО, ТАБАК, ШИНЫ, ОБУВЬ, ОДЕЖДА, ПАРФЮМ, МОЛОКО, ВОДА), которые чаще всего встречаются в складской логистике вместе. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения различной сложности. Позволяет ускорить и упростить действия линейного персонала, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

48000 руб.

30.05.2023    4966    2    0    

1

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    64851    218    106    

183

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    108532    652    203    

349

Мобильная разработка Мессенджеры и боты 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    46557    124    172    

219

Логистика, склад и ТМЦ Мобильная разработка 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Специализированное программное обеспечение для мобильных устройств со встроенным сканером штрихкодов. Позволяет быстро автоматизировать, оптимизировать рабочие места и бизнес процессы по учету товара в магазине. Например, приемку товара по штрихкодам или инвентаризацию прямо в торговом зале.

18500 руб.

30.05.2023    4775    3    0    

5

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Вашему вниманию предлагается специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода. Предназначено для цифровизации всех товароучетных операций на любых складах, в том числе с адресным хранением различной сложности. Позволяет ускорить и упростить работу кладовщиков, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

19000 руб.

28.04.2023    11908    18    4    

11

Мобильная разработка 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

"МРМ:Маркировка" для работы с конфигурациями 1С - готовое решение, позволяющее быстро автоматизировать работу учетной системы 1С на ордерном и безордерном складе при работе как с товарами, подлежащими обязательной маркировке, так и с товарами, учет которых построен на базе линейных штрих-кодов. Решение поддерживает большинство распространенных складских документов, необходимых для работы кладовщику на терминале сбора данных. Для начинающих пользователей имеется подробная инструкция по работе с приложением в разрезе видов документов.

15000 руб.

24.06.2025    1012    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. McLer 126 12.11.19 10:06 Сейчас в теме
На iOS нет такой?

Начиная с 23й версии, Андроид имеет другой набор классов для использования сканера отпечатка - fingerprint.

планируете ли обновлять компоненту?
2. IgorKissil 362 13.11.19 08:02 Сейчас в теме
(1)
На iOS нет такой?

На iOS пока нет
(1)
планируете ли обновлять компоненту?

Непонятно про обновление. Если Вы прочитали, компонента, использующая fingerprint у меня есть. Она отдельная с этой никак не связана. Выкладывать в общий доступ не планирую.
4. vsesam80 07.02.20 21:42 Сейчас в теме
(2)
&НаКлиенте 
перем  КлючПароля Экспорт ;
//модуль формы
&НаКлиенте
Процедура Зашифровать(Команда)
    #Если МобильноеПриложениеКлиент Тогда
        ПоддерживаетсяЗащитаДоступа = БезопасноеХранилище.ПоддерживаетсяЗащитаДоступа(СпособЗащитыДоступаБезопасногоХранилища.Нет);
        Если ПоддерживаетсяЗащитаДоступа Тогда
            ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПомещенияБХ", ЭтотОбъект);
            КлючПароля = Строка(Новый УникальныйИдентификатор); // здесь можно любую строку передать
            БезопасноеХранилище.НачатьПомещениеДанных(КлючПароля, "Ключ у прораба!", СпособЗащитыДоступаБезопасногоХранилища.ТребуетсяДополнительнаяПроверкаПользователя,СпособДополнительнойПроверкиПользователя.БиометрическаяИлиВводПароля, ОписаниеОповещения);  
        Иначе
            Сообщить("на вашем устройстве не поддерживается работа безопасного хранилища!");
        КонецЕсли
        #КонецЕсли
КонецПроцедуры
    
&НаКлиенте
Процедура Расшифровать(Команда)
    #Если МобильноеПриложениеКлиент Тогда 
        ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
        БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения); 
    #КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПомещенияБХ(Результат, Ключ, ДополнительныеПараметры) Экспорт
а = 0;
КонецПроцедуры     


&НаКлиенте
Процедура ПолучитьПароль(КлючПароля)
#Если МобильноеПриложениеКлиент Тогда
ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения);  
#КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПолученияЗначения(Результат, Ключ, Значение, ДополнительныеПараметры) Экспорт
а= 0;
Сообщить(Значение);
КонецПроцедуры  

КлючПароля = "555"; 
Показать

Биометрии нет на телефоне, но интересно было бы проверить. А так пинкод работает
В синтаксис помощнике нет описания этой магии. Но, подсказки работают.
3. vsesam80 07.02.20 20:47 Сейчас в теме
В 15-й версии платформы 1С объявила о внедрении биометрии в мобильной платформе, но мне не удалось найти способы ее использования и узнать "идеологию" работы ни в справочной информации, ни на сайте ИТС.

Игорь, вы не про это писали?
&НаКлиенте
Процедура СохранитьПарольВБезопасноеХранилище(ПарольСтрока)
    
    #Если МобильноеПриложениеКлиент Тогда
        ПоддерживаетсяЗащитаДоступа = БезопасноеХранилище.ПоддерживаетсяЗащитаДоступа(СпособЗащитыДоступаБезопасногоХранилища.Нет);
        Если ПоддерживаетсяЗащитаДоступа Тогда
        ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПомещенияБХ", ЭтотОбъект);
        КлючПароля = Строка(Новый УникальныйИдентификатор); // здесь можно любую строку передать
        БезопасноеХранилище.НачатьПомещениеДанных(КлючПароля, ПарольСтрока, СпособЗащитыДоступаБезопасногоХранилища.Нет,, ОписаниеОповещения);    
    #КонецЕсли
    
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПомещенияБХ(Результат, Ключ, ДополнительныеПараметры) Экспорт

КонецПроцедуры


ПОЛУЧЕНИЕ:

&НаКлиенте
Процедура ПолучитьПароль(КлючПароля)

ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения);

КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПолученияЗначения(Результат, Ключ, Значение, ДополнительныеПараметры) Экспорт

КонецПроцедуры
Показать


Если на мобильном устройстве используется биометрическая идентификация пользователя, то узнать, какой способ используется в данный момент, можно с помощью метода ТекущийСпособБиометрическойПроверки(). Результат работы данного метода можно использовать в разных целях, например:

● Для формирования сообщения, которое передается в метод НачатьПроверку().

● Для определения, что надежность используемого способа проверки устраивает разработчика приложения.

В общем случае, пример дополнительной проверки пользователя мобильного приложения может выглядеть следующим образом:

Процедура ПроверитьПользователя()
СпособПроверки = СпособДополнительнойПроверкиПользователя.ТолькоБиометрическая;
Если Не ДополнительнаяПроверкаПользователя.ПоддерживаетсяПроверка(СпособПроверки) Тогда
Возврат;
КонецЕсли;
ТекущаяБиометрия = ДополнительнаяПроверкаПользователя.ТекущийСпособБиометрическойПроверки();
Если ТекущаяБиометрия <> СпособБиометрическойПроверки.РаспознаваниеОтпечаткаПальца Тогда
Возврат;
КонецЕсли;
Сообщение = "Отсканируйте отпечаток пальца";
Обработчик = Новый ОписаниеОповещения();
ДополнительнаяПроверкаПользователя.НачатьПроверку(СпособПроверки, Сообщение, Обработчик);
КонецПроцедуры
Процедура ОбработкаРезультатовПроверки(ОтмененоПользователем, ДополнительныеПараметры) Экспорт
Если Не ОтмененоПользователем Тогда
// пользователь подтвержден
КонецЕсли;
КонецПроцедуры
5. IgorKissil 362 07.02.20 22:02 Сейчас в теме
(3) Похоже - это оно. На момент написания статья последним был 15-й релиз и там описания большинста методов в синтаксис помошнике нет! (Проверил только что) А в 16-м добавили.
6. madonov 264 12.02.20 05:57 Сейчас в теме
(5)
Перепробовал все версии мобильного клиент 8.3.15 - не работает, вылетает клиент без каких-либо ошибок.
Сервер 8.3.15.1778.

Что интересно - конфа сохраняется без ошибок, а вот подсказки через точку при наборе кода нет. Режим совместимости не используется.
7. IgorKissil 362 15.02.20 19:51 Сейчас в теме
(6) Тот же результат. Любое обращение к "ДополнительнаяПроверкаПользователя" приводит к падению приложенния. Мобильная платформа последняя 8.3.15.86. Так что разработка пока актуальна.
8. user1465376 18.09.20 16:30 Сейчас в теме
(3) В коде ошибка
Нужно Обработчик = Новый ОписаниеОповещения("ОбработкаРезультатовПроверки",ЭтаФорма);
Спасибо за код, у меня получилось!
9. user1465376 18.09.20 16:39 Сейчас в теме
(3) В коде ошибка
Нужно Обработчик = Новый ОписаниеОповещения("ОбработкаРезультатовПроверки",ЭтаФорма);
Спасибо за код, у меня получилось !
10. UPKA 10.10.24 11:28 Сейчас в теме
(3)
ТекущаяБиометрия


Подскажите, а каким методом можно получить биометрические данные? Так как не совсем понятно. Я же должен сравнить при входе пользователя его биометрические данные с чем то?
Для отправки сообщения требуется регистрация/авторизация