В платформе 1С реализовали механизм двухфакторной аутентификации пользователей

15.03.2019     

В версии платформы «1С:Предприятие» 8.3.15 реализовали механизм, который обеспечит дополнительную защиту информационной базы. При входе в базу механизм потребует подтвердить личность пользователя двумя разными способами.

Аутентификация

В системе «1С:Предприятия» аутентификация означает проверку логина и пароля пользователя на корректность. Платформа выполняет эту операцию самостоятельно, или пользуется помощью другого надежного ресурса, будь то операционная система или аутентификация OpenID.

OpenID – открытый стандарт децентрализованной системы аутентификации. Технология позволяет создавать единую учетную запись для аутентификации на множестве не связанных друг с другом интернет-ресурсов.

У такой системы есть недостаток: для своего удобства пользователи придумывают простые и короткие пароли. Но это противоречит сути «запароливания» данных, которые мы хотим защитить: простые пароли легко взломать.

Двухфакторная аутентификация – один из самых надежных способов защиты информации. Чтобы пройти проверку личности, пользователю нужны два из трех типов данных, например:

  • логин / пароль;
  • мобильный телефон;
  • отпечаток пальца.

Например, мы вводим логин и пароль, а затем входим по отпечатку пальца. Либо вводим присланный на мобильный телефон код.

Платформа «1С» проверит первый фактор  самостоятельно, а для второго ей потребуется помощник – провайдер.

Провайдер второго фактора аутентификации

Провайдер-помощник – веб-сервис, обладающий некоторым интерфейсом, состоящим из HTTP-запросов. Это может быть:

  • база «1С:Предприятия» с реализованным набором HTTP-сервисов, позволяющих пересылать сообщения или выполнять аутентификацию;
  • сторонний сервис, генерирующий коды для второго фактора аутентификации.

Для нас важно, чтобы провайдер умел общаться посредством HTTP-запросов.

Сценарии аутентификации

Существует два возможных сценария для второго фактора аутентификации: для «простых» и «умных» провайдеров.

В первом случае клиентское приложение показывает пользователю окно дополнительной аутентификации:

 

 

Сервер генерирует код второго кода и отправляет HTTP-запрос провайдеру с сообщение для пользователя: «Ваш аутентификационный код 94573». Провайдер пересылает СМС с кодом на мобильный телефон пользователя, его остается лишь ввести в специальном окне.

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

«Умные» провайдеры сами генерируют секретный код, сообщение, умеют информировать пользователя и проверять его данные. Сервер сообщает клиентскому приложению о необходимости дополнительно проверить пользователя. Клиентское приложение покажет окно второго фактора аутентификации. 

 

Как работает «умный» провайдер

 

Сервер отправляет HTTP-запрос провайдеру с просьбой самостоятельно аутентифицировать пользователя. «Умный» провайдер просит у пользователя отпечаток пальца через специальное приложение. Пользователь сканирует палец и в окне дополнительной аутентификации указывает, что проверка пройдена. Провайдер сообщит серверу результаты, и при успешном завершении процедуры пользователь сможет начать работу.

Пользователи и провайдеры

Для каждого пользователя провайдер и способ аутентификации определяется отдельно. Чтобы описать HTTP-запросы, которые следует отправить провайдеру, в во встроенном языке платформы реализовали новый тип – ШаблонНастройкиВторогоФактораАутентификации.

Объекты этого типа – именованные объекты, которые можно сохранить в базе данных. Каждый шаблон используется для сохранения двух HTTP-запросов: один для запроса аутентификации, другой – для получения ее результата.

Оба этих запроса описываются с помощью привычных объектов HTTPЗапрос, но имеют две интересные особенности:

  • для каждого из запросов задается свой HTTP-метод в виде строки;
  • некоторые поля в запросах можно «параметризировать», используя «&» (например, &sms_phone_number). Запросы для разных пользователей будут одинаковыми, различаются лишь некоторые поля: номер телефона для отправки кода, например.

Шаблон для простого провайдера, отправляющего СМС, формируется по одному запросу – для аутентификации. Шаблон «умного» провайдера содержит два запроса: просьба выполнить аутентификацию и запрос результатов аутентификации.

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

Для пользователя с шаблоном «простого провайдера» записывается один параметр:  адрес для отправки HTTP-запроса (host):

Пользователь, для которого используется «умный» провайдер, потребует больше параметров:

Важно: каждому пользователю можно задать не один «набор» настроек, а несколько (массив). Свойство ОбработкаНастроекВторогоФактораАутентификации позволяет применять их по очереди в том случае, если исполнение текущего HTTP-запроса закончилось ошибкой. Например, провайдер не работает, тогда можно попробовать другого провайдера, который умеет выполнять аналогичные действия (другой набор настроек).

Журнал регистрации

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

Подробнее о механизме


Автор:
Дарья Расина Редактор


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 27 15.03.19 14:59 Сейчас в теме
Программный API это конечно хорошо, но я думал двухфакторную аутентификацию встроят прямо в платформу - чтобы можно было использовать без программирования.
mnemchinov; w.r.; +2 Ответить
2. s22 19 15.03.19 15:41 Сейчас в теме
(1) А по факту так и сделано.
Только сделали, что бы было удобно через БПС
3. w.r. 590 15.03.19 16:56 Сейчас в теме
(2) сомнительное какое-то «удобство». Все-равно надо пилить напильником конфигурацию похоже
4. s22 19 15.03.19 18:05 Сейчас в теме
(3) Те, у кого конфа на БСП получат данное улучшение без дополнительного программирования.
На мой взгляд 1с приняла наилучшее решение.
A_Max; Артано; +2 Ответить
5. anton3077944 15.03.19 19:06 Сейчас в теме
Вообще неплохо было бы, если бы сделали аутентификацию по сертификату ЭЦП.
Причём аутентификацию не только пользователя, но и компьютера.
Потому как клиент поставил задачу сделать доступ в базу, расположенную во fresh, только с определённых компьютеров (в том числе и некоторых личных ноутбуков), а как это организовать - не знаю
6. s22 19 15.03.19 20:23 Сейчас в теме
(5)
Потому как клиент поставил задачу сделать доступ в базу, расположенную во fresh, только с определённых компьютеров (в том числе и некоторых личных ноутбуков), а как это организовать - не знаю


Доступ только через ВПН.
А ВПН настраивается через сертификат.
dobryiden; anton3077944; +2 Ответить
9. insurgut 192 16.03.19 15:28 Сейчас в теме
7. androgin 16.03.19 01:15 Сейчас в теме
непонятно, как будут теперь мобильные приложения отрабатывать авторизацию.
Если в тонком клиенте я сделаю двойную авторизацию, а для мобильного мне это не нужно - то как это реализовать?)))
У меня в мобильном приложении авторизация проходит при запуске, так как приложение хранить учетные записи пользователя. Это будет сильно раздражать и замедлять запуск приложения.
Мобильное приложение создано в XCode, а не сборщиком 1С
8. PerlAmutor 124 16.03.19 08:08 Сейчас в теме
А как сделать другой тип авторизации - собственный? Я хочу, чтобы всех пользователей без разбора, без какой-либо авторизации сразу запускало в базу, а там я уже сам спрошу с помощью диалогов всю необходимую мне информацию и обработаю собственными алгоритмами.
12. Артано 683 18.03.19 06:32 Сейчас в теме
(8) Руками =) Такие проверки реализовывались еще на семерке, так что проблемы не вижу. Или неверно понял вопрос
13. PerlAmutor 124 18.03.19 06:38 Сейчас в теме
(12) Не знаю в 1С такой настройки для полного отключения типовой авторизации. После запуска конфигурации я хочу, чтобы пользователя сразу пускало в базу без выбора пользователя и ввода (пусть даже пустого) пароля. Чтобы он мог в ней полазить с какими-то минимальными правами, а затем оттуда же, например, авторизоваться под конкретной учетной записью, где бы я ему создал новую сессию с уже другим набором прав (ролей и их RLS).
14. Артано 683 18.03.19 06:41 Сейчас в теме
(13) Понял, такого нет. Подобные вещи реализованы в некоторых конфигурациях, за счет дублирования функциональности. Т.е. все заходят под одной универсальной ролью типа "пользователь", а далее уже по итогам авторизации подключается система контроля по профилю полномочий. РЛС работать не будет, но при подходящей архитектуре решения, это и не потребуется
10. insurgut 192 16.03.19 15:29 Сейчас в теме
Нескромный вопрос - а за СМС кто платит? Сама 1С?
15. androgin 19.03.19 14:05 Сейчас в теме
(10) указано, что сторонние сервисы
16. insurgut 192 19.03.19 15:06 Сейчас в теме
(15) вообще странное нововведение - самому в 5-10 строчек кода это реализуется. На месте 1С можно было бы выпустить свой веб-сервис аутентификации + приложение для мобильных устройств, аналогично Google.Authenticator. Тогда и платить никому ни за что не пришлось бы. 1 раз зарегался и все, пароль всегда под рукой.
17. androgin 19.03.19 21:20 Сейчас в теме
(16) очень сомневаюсь, что никому и ни за что))))
это же 1С ))
сами будут тарифицировать)
11. Идальго 139 16.03.19 16:15 Сейчас в теме
Блин, лучше бы они оптимизацией своего кода занимались, чтобы упр.формы тормозили поменьше.
Skolkovo; anderson; IllayDevel; asupsam; zakiap; +5 Ответить
18. Hokner 12.01.21 10:15 Сейчас в теме
Возможно ли включение двухфакторной авторизации только для веб-клиента?
Оставьте свое сообщение

См. также

Infostart Toolkit 1.7: новые инструменты и контекстная подсказка в конструкторе запросов

Новость

В новой версии расширения для редактирования выражений и текста запроса в конструкторе запросов теперь также используется редактор на основе Monaco Editor. Кроме этого появились новые инструменты «Все функции» и «Редактор параметров сеанса».

05.03.2021    816    vikad    2       

Участникам базового курса для начинающих 1С-программистов – 2 видеокурса в подарок

Новость Обучение, бизнес-тренинг, курсы Инфостарт

В три раза больше знаний получат участники «Базового курса для начинающих 1С-программистов». При покупке онлайн-обучения мы открываем доступ к материалам видеокурсов по расчетным и бухгалтерским задачам.

05.03.2021    1052    user997184    0       

Фирма «1С» с 1 мая поднимет цены на 1С-Отчетность

Новость Сервисы

В прошлом году фирма «1С» провела эксперимент по изменению тарифов 1С-Отчетности для нескольких российских регионов. Сейчас решение о повышении цен принято окончательно и затронет всех подписчиков сервиса.

05.03.2021    1314    ЕленаЧерепнева    0       

Готово расписание митапа «Система управления знаниями»

Новость Инфостарт Infostart Meetup Мероприятия

12 марта проведем митап «Система управления знаниями». Как избежать ситуации, когда сотрудники решают схожие задачи, теряя драгоценное время? Как внедрить систему знаний в компании? На эти и другие вопросы ответим на митапе в следующую пятницу.

04.03.2021    2152    eselyanina    0       

Открыт набор на онлайн-курс «Запросы и отчеты»

Новость Обучение, бизнес-тренинг, курсы Инфостарт

15 марта стартует онлайн-курс «Запросы и отчеты». Участники курса изучат язык запросов и возможности системы компоновки данных – эти навыки понадобятся при разработке отчетов в платформе «1С:Предприятие».

04.03.2021    2809    user997184    0       

Второй тур голосования за доклады INFOSTART EVENT 2021

Новость Инфостарт infostartevent Мероприятия

Продолжаем составлять программу INFOSTART EVENT 2021. Ранее мы анонсировали уже принятые доклады технического и управленческого потока, а сегодня открываем второй тур голосования, по результатам которого соберем финальную программу конференции!

04.03.2021    2755    kbazzh    29       

В «Конвертацию данных 3.1» встроили возможности «Конвертации данных 2.0»

Новость Интеграция ИТ-новость

Конфигурация для подготовки правил обмена «КД 3.1» теперь позволяет разрабатывать не только правила формата EnterpriseData, но и классические правила для универсального обмена в формате XML, а также правила регистрации объектов.

03.03.2021    2125    vikad    5       

Фирма «1С» выпустила универсальное рабочее место кассира для типовых конфигураций

Новость ИТ-новость Онлайн-кассы

Продукт «1С:Рабочее место кассира» предназначен для подключения дополнительных касс к основной учетной системе на платформе 1С.

03.03.2021    1950    ЕленаЧерепнева    4       

Неделя до старта базового курса для начинающих 1С-программистов

Новость Обучение, бизнес-тренинг, курсы Инфостарт

С 10 марта участники курса под началом преподавателя – Николая Бондаренко – начнут изучать базовые принципы программирования в платформе «1С:Предприятие» с нуля.

02.03.2021    1769    user997184    0       

Первые управленческие доклады INFOSTART EVENT 2021

Новость Инфостарт infostartevent Мероприятия

Вчера мы объявили первые технические доклады INFOSTART EVENT 2021, а сегодня готовы представить первые управленческие доклады конференции.

02.03.2021    2491    kbazzh    0       

Подводим итоги митапа по современным подходам при сборе требований и составлении ТЗ

Новость Инфостарт Infostart Meetup Мероприятия

26 февраля состоялся митап Инфостарта, где участники вместе с экспертами обсудили роль правильно сформулированных требований и важность технического задания в конечном успехе проекта.

01.03.2021    2101    vikad    0       

Первые технические доклады INFOSTART EVENT 2021

Новость Инфостарт infostartevent Мероприятия

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

01.03.2021    3576    kbazzh    0       

1C:EDT становится полностью бесплатной, начиная с релиза 2021.1

Новость EDT ИТ-новость

Фирма «1С» объявила о выходе нового релиза 1С:EDT и об изменениях лицензионной политики для данного продукта. Теперь 1С:EDT доступна без действующей подписки ИТС, после прохождения несложной регистрации.

01.03.2021    3379    ЕленаЧерепнева    7       

Готово расписание митапа «DevOps в 1С: Инструменты автоматизации рутины в 1С-разработке»

Новость Автоматизация Инфостарт Infostart Meetup Мероприятия

5 марта пройдет митап «DevOps в 1С: Инструменты автоматизации рутины в 1С-разработке». Рассказываем вам, какие доклады вошли в состав митапа, и чем он может быть полезен для участников сообщества.

26.02.2021    5339    kbazzh    2       

INFOSTART PARTY и специальный ужин для VIP-гостей и докладчиков

Новость Инфостарт infostartevent Мероприятия

Кто хорошо слушает доклады, тот хорошо танцует и развлекается на INFOSTART PARTY. Мы определили место проведения вечеринки, а также выбрали ресторан для традиционного VIP-ужина. Сегодня расскажем вам об этом.

26.02.2021    3634    kbazzh    28       

Фирма «1С» продлила действие льготной подписки на «1С:Фреш»

Новость 1С:Фреш Сервисы

Специальные условия позволяют перейти с базовых версий на облачные с очень существенной экономией в первый год пользования подпиской. Рассказываем о преимуществах и возможных рисках такого перехода.

25.02.2021    4840    ЕленаЧерепнева    0       

Оцени свои знания по составлению ТЗ и получи методические материалы

Новость Инфостарт Infostart Meetup Мероприятия

Уже в эту пятницу, 26 февраля, пройдет митап «Сбор требований и составление ТЗ: современные подходы в управлении проектами».

24.02.2021    4378    eselyanina    1       

INFOSTART EVENT 2021: осталось семь дней, чтобы подать заявку на доклад

Новость Инфостарт infostartevent Мероприятия

Мы вышли с февральских праздников и сегодня готовы объявить сроки приема заявок на доклады, а также сроки второго тура голосования. Расскажем вам о том, как будет формироваться программа конференции INFOSTART EVENT.

24.02.2021    4549    kbazzh    5       

Подводим итоги митапа по применению практик CI/CD для решений на 1С

Новость Инфостарт Infostart Meetup Мероприятия

Вчера, 19 февраля, Инфостарт собрал разработчиков в онлайне, чтобы обсудить применимость процессов непрерывной интеграции и поставки (Continuous Integration и Continuous Delivery) для мира 1С.

20.02.2021    3225    vikad    0       

Фирма «1С» опубликовала новую версию «1С:Исполнителя»

Новость Автоматизация ИТ-новость

В языке сценариев, предназначенном для автоматизации и администрирования информационных систем на базе 1С, появились возможности для работы с SSH. Новый релиз уже доступен зарегистрированным пользователям в сервисе «1С:Обновление программ».

19.02.2021    4340    ЕленаЧерепнева    0       

В реестр отечественного ПО хотят включить зарубежный софт

Новость Импортозамещение ИТ-новость Минкомсвязь

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

19.02.2021    2837    user1015646    0       

Открываем продажу видеокурсов по расчетным и бухгалтерским задачам

Новость Обучение, бизнес-тренинг, курсы Инфостарт

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

18.02.2021    3211    user997184    0       

Готово расписание онлайн-митапа «Сбор требований и составление ТЗ: современные подходы в управлении проектами»

Новость Инфостарт Infostart Meetup Мероприятия

26 февраля продолжим традицию онлайн-встреч и проведем митап «Сбор требований и составление ТЗ: современные подходы в управлении проектами».

18.02.2021    4562    eselyanina    0       

Для начинающих 1С-разработчиков – два курса по специальной цене

Новость v8::СКД Обучение, бизнес-тренинг, курсы Инфостарт

Комплексное предложение включает два курса: «Запросы и отчеты» и «Базовый курс по обмену данными в системе 1С:Предприятие». Обучение подойдет начинающим программистам, у которых уже есть опыт работы с платформой.

17.02.2021    4820    user997184    0       

INFOSTART EVENT 2021: конференция состоится!

Новость Инфостарт infostartevent Мероприятия

17 февраля можно помечать красным днем в календаре, ведь сегодня мы получили официальное разрешение на проведение INFOSTART EVENT 2021!

17.02.2021    7322    kbazzh    16