что такое mfa код
Многофакторная идентификация в ASP.NET Core
Многофакторная идентификация (MFA) — это процесс, в ходе которого пользователь запрашивается во время события входа, чтобы получить дополнительные формы идентификации. Этот запрос может быть использован для ввода кода из целлфоне, использования ключа FIDO2 или для обеспечения сканирования отпечатков пальцев. Если требуется Вторая форма проверки подлинности, Безопасность улучшена. Злоумышленник не может легко получить или продублировать дополнительный фактор.
В этой статье рассматриваются следующие вопросы:
MFA, 2FA
MFA требует по крайней мере два типа цветопробы для удостоверения, такого как известное, что вы владеете или биометрической проверки подлинности пользователя.
Двухфакторная проверка подлинности (2FA) похожа на подмножество MFA, но в этом случае в MFA может потребоваться два или более фактора для подтверждения личности.
MFA TOTP (алгоритм одноразового пароля на основе времени)
Сведения о реализации см. по следующей ссылке:
FIDO2 MFA или безпарольный
FIDO2 в настоящее время:
в настоящее время ASP.NET Core не поддерживает FIDO2 напрямую. FIDO2 можно использовать для MFA или беспарольных потоков.
Azure Active Directory обеспечивает поддержку для FIDO2 и безпарольных потоков. Дополнительные сведения см. в разделе Параметры проверки подлинности, не имеющие пароля, для Azure Active Directory.
SMS ДЛЯ MFA
MFA с SMS значительно повышает безопасность с помощью проверки пароля (один фактор). Однако использовать SMS в качестве второго фактора больше не рекомендуется. Для этого типа реализации существует слишком много известных векторов атак.
Настройка MFA для страниц администрирования с помощью ASP.NET Core Identity
MFA можно принудительно заставить пользователей получать доступ к конфиденциальным страницам в ASP.NET Core Identity приложении. Это может быть полезно для приложений, где существуют разные уровни доступа для разных удостоверений. Например, пользователи могут просматривать данные профиля с помощью имени входа с паролем, но для доступа к административным страницам администратору потребуется использовать MFA.
Расширение имени входа с помощью утверждения MFA
демонстрационный код — это программа установки, использующая ASP.NET Core со Identity Razor страницами и. AddIdentity Метод используется вместо AddDefaultIdentity одного, поэтому IUserClaimsPrincipalFactory реализация может использоваться для добавления утверждений в удостоверение после успешного входа.
AdditionalUserClaimsPrincipalFactory Класс добавляет amr утверждение в утверждения пользователя только после успешного входа. Значение утверждения считывается из базы данных. Утверждение добавляется здесь, так как пользователь должен получить доступ к более защищенному представлению, если удостоверение было зарегистрировано с помощью MFA. Если представление базы данных считывается непосредственно из базы данных, а не с помощью утверждения, можно получить доступ к представлению без MFA непосредственно после активации MFA.
Также назначайте макет для всех страниц управления со Identity страниц:
Проверка требования MFA на странице «Администрирование»
Логика пользовательского интерфейса для переключения сведений для входа пользователя
Затем эту политику можно использовать в представлении, _Layout чтобы показать или скрыть меню администрирования с предупреждением:
Если удостоверение было зарегистрировано с помощью MFA, меню Admin отображается без предупреждения о подсказке. Когда пользователь вошел в систему без MFA, меню Администратор (не включено) отображается вместе с подсказкой, которая информирует пользователя (объяснение предупреждения).
Если пользователь входит в систему без MFA, отображается предупреждение:
Пользователь перенаправляется в представление включения MFA при щелчке ссылки администратора :
отправка требования к входу MFA в openid connect Подключение server
acr_values Параметр можно использовать для передачи mfa требуемого значения с клиента на сервер в запросе проверки подлинности.
чтобы acr_values это работало, параметр должен быть обработан на сервере openid connect Подключение.
openid connect Подключение ASP.NET Core клиента
Razorклиентское приложение ASP.NET Core pages openid connect Подключение использует AddOpenIdConnect метод для входа на сервер Подключение openid connect. acr_values Параметр задается со mfa значением и отправляется с запросом проверки подлинности. OpenIdConnectEvents Используется для добавления этого.
Рекомендуемые acr_values значения параметров см. в разделе Ссылочные значения метода проверки подлинности.
пример openid connect Подключение Identity server 4 server сASP.NET Core Identity
в Login методе IIdentityServerInteractionService реализация интерфейса _interaction используется для доступа к параметрам запроса openid connect Подключение. acr_values Доступ к параметру осуществляется с помощью AcrValues Свойства. После отправки клиентом mfa значения SET его можно проверить.
Если требуется MFA и для пользователя в ASP.NET Core Identity включено MFA, то вход будет продолжен. Если для пользователя не включено MFA, пользователь перенаправляется к пользовательскому представлению ErrorEnable2FA. cshtml. Затем ASP.NET Core Identity подписывает пользователя в.
ExternalLoginCallback Метод работает как локальное Identity имя входа. AcrValues Свойство проверяется на наличие mfa значения. Если указано mfa значение, MFA выполняется перед завершением имени входа (например, перенаправлено в ErrorEnable2FA представление).
Если пользователь уже вошел в систему, клиентское приложение:
принудительное ASP.NET Core openid connect Подключение клиента для запроса MFA
в этом примере показано, как Razor приложение ASP.NET Core страниц, использующее openid connect Подключение для входа, может потребовать, чтобы пользователи прошли проверку подлинности с помощью MFA.
Для проверки требования MFA IAuthorizationRequirement создается требование. Это будет добавлено на страницы с помощью политики, требующей MFA.
возвращаемое значение зависит от того, как удостоверение прошло проверку подлинности и в реализации сервера openid connect Подключение.
В Startup.ConfigureServices методе AddOpenIdConnect метод используется в качестве схемы запроса по умолчанию. Обработчик авторизации, который используется для проверки amr утверждения, добавляется в инверсию контейнера управления. Затем создается политика, которая добавляет RequireMfa требование.
Затем эта политика используется на Razor странице при необходимости. Кроме того, политику можно добавить глобально для всего приложения.
При входе без MFA (например, при использовании только пароля):
amr Имеет pwd значение:
Отказано в доступе:
Также можно войти в систему с использованием OTP с помощью Identity :
Общее руководство по многофакторной аутентификации
Если вы не понимаете, что такое MFA и как он помогает в повседневной жизни, эта статья предназначена для вас, поскольку мы подробно объясняем каждый аспект MFA.
Теперь, когда у нас есть краткое представление о том, что такое MFA. Давайте углубимся в более глубокие уровни, касающиеся примеров MFA, того, как это работает, и других часто задаваемых вопросов.
Во-первых, идеальный пример МИД это процедура, в которой вы используете банкомат. Чтобы получить право входа в любую учетную запись, вам необходимо вставить свою банковскую или кредитную карту, которая известна как физический фактор, и ввести свой 6-значный PIN-код; который известен как фактор знания.
Как работает MFA
Далее мы разберемся, как работает MFA. Основным моментом MFA является безопасность и индивидуальная проверочная информация, к которой посторонние не будут иметь доступа. Как следует из названия, MFA требует, чтобы вы вводили более одного типа доказательств для установления вашей личности. Другой альтернативой MFA является двухфакторная аутентификация (2FA). Это гарантирует, что мошенники или угрозы не смогут предоставить два и более доказательств, даже если они каким-то образом связаны с одной частью вашей личности.
Вопреки распространенному мнению, МИД не сложный и представляет собой лишь несколько дополнительных шагов во время входа в систему. Какие несколько минут больше вашего времени в обмен на высокий уровень безопасности в отношении вашей личной информации? Кроме того, считается, что индустрия безопасности постоянно делает систему MFA более эффективной, делая ее более удобной и интуитивно понятной по мере дальнейшего развития технологий верификации.
Это можно наблюдать с помощью таких систем, как сканирование отпечатков пальцев и лица на сенсорном телефоне, где вы можете разблокировать телефон, просто проверив отпечаток большого пальца или показав свое лицо. Кроме того, существуют другие устройства, такие как GPS и камеры, использующие инновации, которые гарантируют лучший процесс идентификации. Некоторые из них настолько высокотехнологичны и эффективны, что для определения вашей личности с помощью push-уведомлений требуется всего лишь одно касание.
Как решают организации?
Далее вы можете спросить, как сделать организации решили начать использовать MFA? Многие поставщики услуг и программы на основе учетных записей используют MFA, поскольку к функциям можно легко получить доступ и включить их через их настройки. Более крупным компаниям с их сетевыми портами и сложными проблемами, связанными с пользователями, возможно, потребуется использовать альтернативное приложение, такое как Duo. Это поможет добавить дополнительный уровень аутентификации во время процесса входа в систему.
Хотя SSO и MFA работают рука об руку, он не заменяет последнее. Компании, которые используют SSO в своих корпоративных почтовых системах, также используют MFA в процессе входа в систему. Следовательно, SSO помогает в проверке личности пользователя с помощью MFA, а оттуда распространяет проверку на несколько систем с использованием программных чипов.
Адаптивная аутентификация
В этой форме аутентификации правила последовательно изменяются на основе массива переменных. К ним относятся изменения группами людей, определяемыми ролью, которую они играют, объемом возложенной на них ответственности и или из какого отдела они происходят. Правила также можно изменять на основе методов. В этом случае проверка пользователей через их уведомления, а не через SMS. В случае необходимости применения более непоколебимых методов, push-уведомления или универсальный 2-й фактор (U2F) будут использоваться для услуг с более высоким риском. Правила также могут зависеть от местоположения, в котором конфиденциальные ресурсы компании будут закрыты, и / или включения только некоторых политик. Они во многом зависят от использования определенных методов в некоторых конкретных местах, а не других. Наконец, они также могут быть перегруппированы по сетевой информации. Это означает, что IP-информация в сети будет использоваться как фактор для проверки, а другие сомнительные попытки со стороны случайных и подозрительных VPN будут заблокированы.
Заключение
How to MFA, или настройка многофакторной аутентификации для удалённого VPN-доступа
Многофакторная аутентификация (MFA) в условиях вынужденной удалённой работы и использования VPN-сервисов приобретает особое значение для многих организаций. На примере RADIUS-сервера и Microsoft Azure, а также FreeRADIUS-сервера и службы Google Authenticator расскажем, как обезопасить учётные данные сотрудников и защитить свою сеть.
Введение
В последнее время удалённая работа становится распространённым видом организации рабочего процесса. Всё больше компаний переводят сотрудников на работу вне офиса. Но кроме всех очевидных выгод растут и риски. По данным ESET, число ежедневных брутфорс-атак выросло до 100 000 из-за самоизоляции. Заметное количество пользователей, работающих с конфиденциальными данными, оказалось под угрозой.
Большинство компаний, перешедших на удалённый формат работы, используют VPN-сервисы для подключения к своим внутренним ресурсам. Идентификация и аутентификация пользователей при этом, как правило, осуществляются путём ввода имени пользователя и пароля.
Учитывая, что имя пользователя зачастую можно найти в открытых источниках, перед злоумышленником остаётся лишь одна преграда — пароль. Подбор, троянская программа, социальная инженерия. способов незаконного получения пароля — множество.
В этой ситуации для усиления безопасности рекомендуется задействовать дополнительные факторы аутентификации пользователей. Применение ещё одного или нескольких паролей, токенов и других методов аутентификации снижает риск компрометации учётных данных и получения несанкционированного доступа.
Сегодня мы рассмотрим примеры организации MFA для VPN-шлюза Check Point. Описание настройки дано в двух вариантах:
Аутентификация удалённого доступа с использованием сервера RADIUS и службы Microsoft Azure
Подробная инструкция по интеграции Microsoft Azure с Active Directory доступна по этой ссылке и здесь рассматриваться не будет.
Для описания процесса интеграции и настройки взаимодействия будем рассматривать схему, приведённую на рисунке ниже.
Рисунок 1. Логическая схема взаимодействия компонентов решения
Настройка RADIUS на Windows Server 2016
Шаг 1. В случае если Network Policy Server (NPS) не установлен на вашем сервере, откройте «Server Manager», далее — «Manage» → «Add roles and features», в открывшемся окне проходим первые этапы настройки без изменений, нажимая «Next» до пункта «Server roles». Находим пункт «Network Policy and Access Services», выбираем его, далее вновь нажимаем «Next» до завершения установки.
После завершения перезагрузите сервер. Далее запускаем «Server Manager» и во вкладке «Tools» открываем появившийся «Network Policy Server».
Рисунок 2. Интерфейс Network Policy Server
Шаг 2. Создайте клиент RADIUS, выбрав «RADIUS» → «New». Заполнять поля следует согласно значениям в вашей инфраструктуре.
Рисунок 3. Создание клиента RADIUS
Шаг 3. Переходим к окну NPS. Выберите «Network policy» и далее «New».
Рисунок 4. Создание политики
Шаг 4. Введите имя для своей политики и оставьте в поле с типом сервера для доступа к сети вариант «Unspecified». Затем нажмите кнопку «Next», в поле «Select condition» выберите «Add».
Рисунок 5. Окно «Specify conditions»
Шаг 5. Выберите «Windows Groups», а затем «Add group». Введите своё название группы и нажмите кнопку «Check Names».
Рисунок 6. Добавление группы
Шаг 6. Нажмите «OK» дважды в соответствующих окнах, а затем — «Next». На следующей странице выберите «Access granted».
Рисунок 7. Назначение доступа
Шаг 7. Нажмите кнопку «Next». Для указания методов проверки подлинности необходима как минимум проверка MS-CHAP-v2 или PAP (в соответствии с аналогичными параметрами протоколов в настройках RADIUS-сервера в консоли управления Check Point (шаг 16)).
Рисунок 8. Настройка метода аутентификации
Шаг 8. Нажмите кнопку «Next». Выберите необходимые дополнительные ограничения, например по времени работы.
Шаг 9. Выберите «Vendor Specific» и нажмите кнопку «Add».
Шаг 10. Нажмите кнопку «Add» в следующем окне.
Шаг 11. Измените вендора на пользовательское значение и выберите «Vendor-Specific». Нажмите кнопку «Add» ещё раз.
Рисунок 9. Добавление вендора
Шаг 12. Нажмите кнопку «Add» ещё раз. Измените значение в поле «Enter Vendor Code» на «2620» (это значение атрибута вендора используется для продуктов Check Point). Затем — «Configure Attribute».
Рисунок 10. Информация о вендоре
Шаг 13. Введите «229» для приписываемого номера, выберите строку для формата атрибута и введите имя созданной группы. Значение «229» используется для продуктов Check Point под управлением ОС Gaia.
Рисунок 11. Определение атрибута вендора
Шаг 14. Нажмите «OK» необходимое количество раз, а затем выберите «Next». Проверьте настройки и нажмите кнопку «Finish».
Рисунок 12. Завершение настройки NPS
Настройка RADIUS-аутентификации для удалённого VPN-доступа в Check Point SmartConsole
Шаг 15. Создайте хост-объект для сервера RADIUS.
Рисунок 13. Создание хост-объекта в консоли Check Point SmartConsole
Шаг 16. Создайте объект «RADIUS Server» (значение поля «Shared secret» должно быть идентично тому, что было на шаге 2).
Рисунок 14. Создание объекта сервера RADIUS
Шаг 17. Создайте пустую группу с названием «RAD-Attributevalue». Значение «Attributevalue» должно соответствовать названию атрибута, указанному в шаге 13.
Рисунок 15. Создание группы
Шаг 18. Опубликуйте свои изменения и закройте консоль.
Шаг 19. Откройте GuiDBedit (находится в директории с установленной консолью Check Point SmartConsole в папке «PROGRAM»).
Шаг 20. Измените свойство «add_radius_groups» («Global properties» → «Firewall properties») с «false» на «true».
Рисунок 16. Изменение параметров «add_radius_groups» в окне GuiDBedit
Шаг 21. Измените значение «radius_groups_attr» с 25 на 26 (атрибут 26 позволяет вендору создавать дополнительные 255 значений IETF и инкапсулировать их за значением атрибута 26). Сохраните изменения и закройте GuiDBedit.
Рисунок 17. Изменение параметров «radius_groups_attr» в окне GuiDBedit
Шаг 22. Откройте SmartConsole. Нажмите на кнопку «Manage & Settings», а затем — «Blades», выберите «Mobile Access», затем «Configure in SmartDashboard».
Рисунок 18. Настройка Mobile Access Blade
Шаг 23. Выберите значок пользователя в «Object Explorer» в левом нижнем углу. Затем выберите правой кнопкой мыши «External user profiles» и «New external user profile».
Рисунок 19. Добавление профиля пользователя
Шаг 24. Откройте раздел «Authentication» и измените схему аутентификации на «RADIUS». Затем выберите созданный на шаге 16 объект сервера RADIUS.
Рисунок 20. Выбор способа аутентификации
Шаг 25. Нажмите «OK» и сохраните изменения. Затем закройте окно SmartConsole.
Шаг 26. В SmartConsole откройте объект шлюза удалённого доступа.
Рисунок 21. Интерфейс объекта шлюза в Smart Center
Шаг 27. Выберите «VPN clients», затем — «Authentication».
Примечание: в данном примере был настроен единственный метод аутентификации с использованием RADIUS. Также можно настроить различные методы через «Multiple authentication settings», добавив необходимые варианты с помощью кнопки «Add». Эта технология поддерживается в Mobile Access Portal и в последних версиях Check Point Endpoint Client:
Рисунок 22. Настройка аутентификации в параметрах шлюза
Шаг 28. Измените метод проверки подлинности на «RADIUS» и выберите сервер, созданный на шаге 16. Установите флажок «Allow older clients to connect to this gateway» (это нужно для того, чтобы удалённые пользователи, подключавшиеся раньше другими методами, смогли выбрать в приложении метод аутентификации и указать «Standard», применив тем самым настройки RADIUS). Далее нажимаем «ОК».
Рисунок 23. Выбор метода аутентификации в настройках шлюза
Шаг 29. Активация мобильного приложения.
Нужно установить на мобильный телефон приложение Microsoft Authenticator. По этой ссылке необходимо зайти под учётной записью Microsoft Azure.
Рисунок 24. Активация мобильного приложения
Шаг 30. Выберите «Настроить приложение Authenticator».
Рисунок 25. Настройка мобильного приложения
Шаг 31. Выбор учётной записи — необходимо в приложении телефона отсканировать QR-код с экрана компьютера.
Рисунок 26. Выбор учётной записи
Шаг 32. В приложении утверждаем вход — Microsoft MFA с учётной записью Azure активирована.
Рисунок 27. Утверждение входа
Шаг 33. Проверка работы MFA для VPN-подключения. С рабочей станции, на которой установлен VPN-клиент, подключаемся используя учётные данные Microsoft Azure.
Рисунок 28. VPN-подключение
Шаг 34. В мобильном приложении появляется всплывающее окно об утверждении или отклонении запрашиваемого удалённого подключения. Важно иметь в виду, что новый пароль генерируется каждые 30 секунд. Если не успеть утвердить в данный отрезок времени — сессия организована не будет.
Рисунок 29. Успешное подключение
Аутентификация удалённого доступа с использованием сервера FreeRADIUS и службы Google Authenticator
Рассмотрим пример при работе под управлением сервера Ubuntu версии 16.04 (дистрибутив данной или более новой версии доступен по ссылке).
Для описания процесса интеграции и настройки взаимодействия будем рассматривать схему, приведённую на рисунке ниже.
Рисунок 30. Логическая схема взаимодействия компонентов
В качестве VPN-сервера выступает шлюз межсетевого экранирования CheckPoint R80.30.
Начальная настройка сервера Ubuntu
Шаг 1. Установите сервер с настройками по умолчанию. После установки убедитесь, что сервер имеет доступ в интернет.
Шаг 2. Выполните конфигурацию сетевого интерфейса и установите корректные настройки времени. Авторизуйтесь под учётными данными, которые были заданы при установке, и выполните конфигурацию.
Пример конфигурации. Файл /etc/network/interfaces:
Пример настройки часового пояса:
Выполните повторную перезагрузку:
Шаг 3. Дополнительно необходимо установить службы:
Настройка RADIUS-аутентификации в политике безопасности Check Point
Шаг 4. Необходимо, чтобы на межсетевом экране были разрешены следующие взаимодействия: доступ с вашего ПК к серверу Ubuntu, доступ Ubuntu в интернет для обновления и установки приложений, доступ Ubuntu к NTP-серверу.
Шаг 5. Создайте хост-объект для сервера FreeRADIUS.
Рисунок 31. Создание хост-объекта FreeRADIUS
Шаг 6. Создайте объект RADIUS-сервера (правое меню в SmartConsole: «New» → «More» → «Server» → «More» → «RADIUS») с указанием значения «Shared secret». Такое же значение «Shared secret» необходимо задать в настройках FreeRADIUS на шаге 13.
Рисунок 32. Создание объекта RADIUS
Шаг 7. В настройках шлюза выберите «VPN clients», затем — «Authentication».
Примечание: В данном примере был настроен единственный метод аутентификации с использованием RADIUS. Также можно настроить различные методы через «Multiple authentication settings», добавив необходимые варианты с помощью кнопки «Add». Эта технология поддерживается в Mobile Access Portal и в последних версиях клиентов для конечных точек:
Установите флажок «Allow older clients to connect to this gateway» (необходимо для того, чтобы удалённые пользователи, подключавшиеся раньше другими методами, смогли выбрать в приложении метод аутентификации и указать «Standard», применив тем самым настройки RADIUS), а затем нажмите «Settings». После этого выберите метод аутентификации «RADIUS» согласно шагу 6.
Рисунок 33. Настройка метода аутентификации
Установка FreeRADIUS и Google Authenticator (генератор QR-кодов)
Шаг 8. Подключитесь к серверу Ubuntu по SSH. В настройках сессии необходимо указать достаточный размер окна для того, чтобы мог быть отображен QR-код.
Рисунок 34. Настройка подключения по SSH
Шаг 9. Установите FreeRADIUS и Google Authenticator:
Шаг 10. Выполните настройку FreeRADIUS для обеспечения второго фактора с использованием Google Authenticator:
Закомментируйте эти записи и вставьте:
Это необходимо для того, чтобы по умолчанию FreeRADIUS использовал учётную запись с правами администратора и не было проблем с доступом.
Шаг 11. Введите команду:
Найдите следующую запись:
Введите под этим блоком:
Шаг 12. Настройте PAM для комбинирования пользовательских паролей и PIN-кодов, генерируемых Google Authenticator:
Приведите файл к следующему виду:
Шаг 13. Выполните настройку:
Шаг 14. Настройка клиентов FreeRADIUS.
Клиенты — рабочие станции и серверы, которые проходят аутентификацию через RADIUS.
В конец файла необходимо добавить информацию о клиентах аналогично примеру ниже:
«CPSG» — это VPN-шлюз Check Point, «endpoint» — рабочая станция, подключающаяся к шлюзу по VPN с использованием Check Point Mobile.
Шаг 15. Настройка пользователей FreeRADIUS.
Процесс состоит из следующих шагов:
Процесс настройки приведён ниже (см. рис. 35).
Рисунок 35. Данные, выводимые программой в процессе настройки пользователей FreeRADIUS
QR-код, изображённый на иллюстрации выше, доступен лишь до конца сессии. Если есть потребность в том, чтобы воспользоваться QR-кодом позднее, то необходимо сохранить ссылку, которая находится непосредственно над ним (в нашем случае — https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth://totp/ [email protected] %3Fsecret%3DZLVQMR7ZTCRP24LZGRL3WQOWRQ%26issuer%3Dubuntu).
Работа мобильного приложения
Шаг 16. В мобильном приложении, которое бесплатно можно скачать на любое мобильное устройство, нужно отсканировать QR-код (иконка «+»), после чего в приложении каждые 30 секунд будет генерироваться 6-значный пароль, который нужно будет вводить после пароля пользователя при подключении с помощью Check Point Mobile.
Рисунок 36. Мобильное приложение Google Authenticator
Шаг 17. Проверить работу RADIUS непосредственно на сервере Ubuntu для данного пользователя можно следующей командой:
Шаг 18. После выполнения всех вышеперечисленных операций можно подключаться, используя 6-значный код из приложения Google Authenticator.
Рисунок 37. Подключение VPN-клиента
Шаг 19. Убеждаемся в том, что аутентификация проходит через FreeRADIUS.
Рисунок 38. Успешное подключение
Выводы
В текущих реалиях высокого запроса на защищённые удалённые подключения вопрос обеспечения безопасности ощущается особо остро. Рассмотренные в статье методы организации мультифакторной аутентификации помогут администратору настроить инфраструктуру Check Point для использования второго фактора при удалённом подключении пользователей.
Решения от Google и Microsoft не являются единственным выбором при настройке мультифакторной аутентификации, но в силу широкого распространения могут быть востребованы во многих организациях. К тому же общий принцип настройки остаётся неизменным вне зависимости от конкретной реализации.
Авторы:
Наиль Насыбуллин, инженер отдела защиты информации, группа компаний «InnoSTage»
Марат Нурмухаметов, ведущий инженер отдела защиты информации, группа компаний «InnoSTage»