Перейти до вмісту

FIDO2

Матеріал з K2 ERP Wiki
Версія від 19:16, 7 травня 2026, створена R (обговорення | внесок) (Створена сторінка: {{DISPLAYTITLE:FIDO2 для ERP: phishing-resistant автентифікація в K2 ERP}} {{SEO |title=FIDO2 для ERP |description=Стаття про FIDO2 для ERP-систем: що таке FIDO2, WebAuthn, CTAP2, passkeys, security keys, phishing-resistant MFA, впровадження в K2 ERP, dashboard, політики доступу та Acceptance Criteria. |keywords=FIDO2, WebAuthn, CTAP2, passkeys, security key, phishing-resistant MFA...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)


def create_fido2_registration_options(user: "User", db: "Session") -> dict:

13. Dashboard FIDO2

FIDO Alliance пояснює, що passkey — це FIDO-облікові інформаційні дані, прив’язані до акаунта користувача в застосунку або на сайті; користувач системи входить так само, як розблоковує пристрій — біометрією, PIN або pattern.; Критерій !; }

{"type": "public-key", "alg": -257}
style="background:#ef9a9a;" | Обов’язково
центральний бухгалтер - rp_id varchar - expires_at timestamp Строк дії.; Для чого потрібен ; Термін

2.; Чому потрібен FIDO2

data={
expected_origin="https://erp.example.com",
},

10.5.; Список ключів користувача

return True
payload={"credential_record_id": str(credential.id)},
"id": "erp.example.com",
Перевага FIDO2: автентифікація криптографічно прив’язується до справжнього домену K2 ERP.;== 11.; Приклад Python-логіки ==
  • super admin;
  • адміністратори;
  • фінансовий директор;
  • центральний бухгалтер;
  • 5–10 power users;
  • перевірка recovery;
  • перевірка step-up дій.; |-
Email OTP Частково Ні Якщо зламана пошта — зламана 2FA.; Метод
)
"aaguid": verification_result.get("aaguid"),

{{SEO

style="background:#c8e6c9;" | Step-up FIDO2.; * FIDO Alliance: User Authentication Specifications Overview.; |- transport varchar - SMS OTP Частково Ні Код можна виманити або перехопити.; !; Тип
"expires_at": utc_now_plus_minutes(5),
; Захищає від викраденого пароля ; №
"residentKey": "preferred",
db=db,
- AC-17 style="background:#ffcc80;" | Рекомендовано
Масовий експорт даних Ризик витоку даних.; "CREATE_API_TOKEN",

Орієнтир: FIDO Alliance описує FIDO2 як набір стандартів, де WebAuthn є собою web API для FIDO-автентифікації, а CTAP2 надає можливість використовувати зовнішні автентифікатори — security keys або мобільні пристрої — через USB, NFC або BLE.; Тип

event_type="FIDO2_CREDENTIAL_REGISTERED",

Див.; 18.; додатково

5.; |-

device_name varchar }
"user": {
"timeout": 300000,
"backup_state": verification_result.get("backup_state"),

14.; План впровадження FIDO2 в K2 ERP

"id": str(user.id),

def verify_fido2_login(user: "User", assertion_response: dict, db: "Session") -> bool:

6.; Де FIDO2 має бути обов’язковим

if user.role in ["SUPER_ADMIN", "ADMIN", "CFO", "CHIEF_ACCOUNTANT"]:
db.commit()
- sign_count integer Лічильник підписів, якщо підтримується.; Браузер передає challenge автентифікатору.; №
public_key=credential.public_key,
},

GET /api/v1/security/fido2/credentials

YubiKey, Feitian, Titan Key або інший FIDO2-сумісний ключ.; |- CTAP2 Він підсвічується червоним.; Критерій

6.; Очікуваний результат

9.; Модель даних FIDO2

FIDO2 — це сучасний стандарт автентифікації, який надає можливість входити в систему без класичного пароля або використовувати сильний другий фактор, захищений криптографією.; Очікуваний результат

Червона зона: адміністратори, фінансовий блок, бухгалтерський обліковий облік або керівники входять у ERP через пароль, SMS або email-код без FIDO2.; return False

Етап 4.; Пілот

"attestation": "none",
"user_id": user.id,

Етап 1.; Аудит доступів

Super Admin Повний контроль над системою.; Контроль
"pubKeyCredParams": [

</syntaxhighlight> POST /api/v1/security/fido2/credentials/{credential_id}/revoke

"authenticator_type": credential.authenticator_type,

NIST SP 800-63B Revision 4 зазначає, що застосунки рівня AAL2 повинні пропонувати phishing-resistant варіант автентифікації.; !; користувач системи відкриває K2 ERP.; |-

credential_id uuid - AC-13 Admin recovery.; :contentReference [oaicite:2]{index=2} CISA додатково прямо вказує, що єдиною широко доступною phishing-resistant автентифікацією є собою FIDO/WebAuthn.;== 5.; Як функціонує FIDO2 у K2 ERP ==

7.; FIDO2 для критичних дій

3.; FIDO2, passkeys і security keys

id uuid надає можливість використовувати USB, NFC або BLE security key.; Стан
audit_logger.log(
if not is_valid:
- backup_state boolean Чи є собою credential у backup-синхронізації.; Критерій
)
data={
)
"challenge": challenge,

13.2.; Проблемні користувачі

11.4.; Перевірка входу

FIDO2 складається з двох ключових частин:

db=db,
"status": "PENDING",

6.; |}

10.3.; Почати вхід через FIDO2

ERP — це платформа, де компрометація доступу має змогу мати прямі фінансові наслідки.; |-

origin varchar USB/NFC security key.; Дія

POST /api/v1/security/fido2/step-up/verify

}
<pre>
<div style="border-left: 8px solid #1565c0; background: #e3f2fd; padding: 14px 18px; margin: 16px 0;">
<syntaxhighlight lang="python">
=== Етап 2.; Політика FIDO2 ===
|-
| id
| uuid
| ID challenge.; Ризик
 return True

 expected_rp_id="erp.example.com",

== 15. Acceptance Criteria ==
<pre>
 credential.last_used_at = utc_now()
<pre>
!; '''FIDO2 / WebAuthn / passkeys''' виступає ключовою рисою '''Критично істотно:''' SMS-коди, email-коди, TOTP і push-підтвердження зменшують ризик злому, але не є собою в цілому захищеними від phishing.; :contentReference [oaicite:0]{index=0}
 is_valid = fido2_service.verify_assertion(
|-
| id
| uuid
| ID події.; |-
| Passkey
| style="background:#c8e6c9;" | Так
| style="background:#c8e6c9;" | Так
| Зручний сучасний варіант.; | Він бачить покриття FIDO2 по ролях.; Захищає від phishing
|-
| AC-9
| користувач системи змінює банківські реквізити.; |-
| payload
| jsonb
| Технічні інформаційні дані без секретів.; | style="background:#ffcc80;" | Рекомендовано
|-
| style="background:#ffcc80;" | Віддалений доступ
| Вищий ризик phishing і компрометації.; Автентифікатор підписує challenge приватним ключем.; |-
| Push із number matching
| style="background:#c8e6c9;" | Так
| style="background:#fff9c4;" | Краще
| Менше ризику випадкового approve.; |-
| AC-16
| є собою admin без FIDO2.; |-
| user_id
| uuid
| користувач системи.; 1.; !; | style="background:#c8e6c9;" | Must have
|-
| Заборона SMS для admin
| SMS не допускається як ключовий метод для admin.; |-
| challenge
| text
| Challenge для WebAuthn.; | Він показується в контрольному списку.; Натискає «Додати FIDO2 / passkey».; | платформа вимагає step-up FIDO2.; |-
| AC-18
| є собою втрачений ключ.; |-
| created_at
| timestamp
| Дата створення.; {| class="wikitable"

=== 8.2.; Рекомендовані правила ===

!; характеристика

[[Категорія:FIDO2]]

POST /api/v1/security/fido2/registration/verify

<div style="border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;">
 user_id=user_id,
def is_fido2_required(user: "User", action: str | None = None, context: dict | None = None) -> bool:
 "APPROVE_PAYMENT",
|-
| Super Admin із FIDO2
| 100%
| style="background:#c8e6c9;" | Норма
|-
| Адміністраторів із FIDO2
| 100%
| style="background:#c8e6c9;" | Норма
|-
| Фінансових ролей із FIDO2
| 80%
| style="background:#ffcc80;" | Потрібна дія
|-
| Бухгалтерів із FIDO2
| 76%
| style="background:#ffcc80;" | Потрібна дія
|-
| Користувачів тільки з SMS
| 18
| style="background:#ef9a9a;" | Замінити
|-
| Втрачених ключів
| 2
| style="background:#ffcc80;" | Контроль
|-
| Ключів без використання понад 90 днів
| 11
| style="background:#fff9c4;" | Перевірити
|-
| Підозрілих FIDO2-помилок
| 3
| style="background:#ef9a9a;" | Критично
|}

{| class="wikitable"

POST /api/v1/security/fido2/credentials/{credential_id}/mark-lost
 user_id=user.id,
== 16.; Висновок ==
 db.commit()
 assertion_response=assertion_response,
8.; | Вхід у K2 ERP через passkey.; | Реєстрація відхиляється.; користувач системи підтверджує вхід на пристрої або ключі.; | style="background:#c8e6c9;" | Must have
|-
| FIDO2 для адміністраторів
| Усі адміністратори повинні мати FIDO2.; |-
| AC-2
| користувач системи додає passkey.;=== 15.3. Step-up FIDO2 ===

'''Ризик:''' якщо вхід у ERP захищено тільки паролем, SMS-кодом або TOTP-кодом, користувача все ще можна атакувати через phishing-сайт, який імітує сторінку входу.; | style="background:#c8e6c9;" | Must have
|-
| Step-up FIDO2 для критичних дій
| Потрібне повторне підтвердження.; 

 ],
</pre>
!; | платформа вимагає step-up FIDO2.;== 10.; API K2 ERP для FIDO2 ==

'''Критично істотно:''' recovery-процедура не повинна бути слабшою за FIDO2.; Правило
!; | style="background:#c8e6c9;" | Must have
|-
| Мінімум 2 зареєстровані ключі для admin
| ключовий і резервний ключ.; Для адміністратора, бухгалтера, фінансового директора і керівника стандартом має бути '''FIDO2 або passkey'''.; Приватний ключ залишається на пристрої або security key.; | style="background:#ef9a9a;" | Обовязково
|-
| style="background:#ffcc80;" | HR / зарплата
| Персональні й зарплатні інформаційні дані.; | style="background:#c8e6c9;" | Must have
|-
| Recovery через погодження
| Відновлення доступу до admin-акаунта потребує погодження.; Показник
 if not credential or credential.status != "ACTIVE":
|-
| FIDO2
| Стандарт phishing-resistant автентифікації.; K2 ERP перевіряє підпис публічним ключем.; |}

=== 10.2.; Завершити реєстрацію ключа ===

{| class="wikitable"

</pre>
7.; |-
| Security key
| Фізичний ключ автентифікації.; |-
| authenticator_type
| varchar
| PLATFORM або ROAMING.;=== 10.6.; Відкликати ключ ===
!; |-
| Генерація API token
| style="background:#ef9a9a;" | Створення прихованого доступу.; |-
| challenge_type
| varchar
| REGISTRATION, LOGIN, STEP_UP, RECOVERY.; | style="background:#c8e6c9;" | Step-up FIDO2 + audit log.; |-
| created_at
| timestamp
| Дата створення.; return False
 credential_id=assertion_response ["credential_id"],
!;== 17.; Джерела ==
 "credential_id": verification_result ["credential_id"],
3.; операційна дія

* визначити ролі, для яких FIDO2 обовязковий;
* визначити дозволені типи ключів;
* визначити, чи дозволені passkeys;
* визначити, чи потрібні hardware keys для admin;
* визначити recovery-процедуру;
* визначити step-up FIDO2 для критичних дій.;</div>
=== 13.1.; KPI адміністратора безпеки ===
!; !; |-
| status
| varchar
| ACTIVE, LOST, DISABLED, REVOKED.; !; Роль

</div>
<pre>
У K2 ERP можуть зберігатися:
<div style="border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;">
 "origin": "https://erp.example.com",
</div>
<syntaxhighlight lang="python">
 "backup_eligible": verification_result.get("backup_eligible"),

</pre>
{| class="wikitable"
7.; |}

 "user_id": user_id,

 "userVerification": "required",

{| class="wikitable"

</pre>

* фінансові документи;
* банківські виписки;
* платежі;
* зарплати;
* податкові інформаційні дані;
* контрагенти;
* договори;
* реквізити;
* ціни;
* знижки;
* залишки;
* виробничі інформаційні дані;
* управлінська формування звітів;
* інтеграції з банками, ПРРО, податковою, маркетплейсами та електронним підписом.; K2 ERP створює WebAuthn registration challenge.; |}

 "challenge": challenge,

POST /api/v1/security/fido2/authentication/options
=== 10.7.; Позначити ключ як втрачений ===
 )
{| class="wikitable"
[[Категорія:Контроль доступу]]
|-
| Пароль
| style="background:#ef9a9a;" | Ні
| style="background:#ef9a9a;" | Ні
| Найслабший варіант для ERP.;=== 15.4. Recovery ===

 "displayName": user.full_name,
!; |-
| ip_address
| varchar
| IP.; |-
| aaguid
| varchar
| Ідентифікатор моделі автентифікатора, якщо доступний.; |-
| credential_id
| text
| ID WebAuthn credential.; Ризик

=== 10.8.; Step-up FIDO2 для критичної дії ===

 "sign_count": verification_result.get("sign_count", 0),

{| class="wikitable"

</div>

!; |-
| AC-8
| користувач системи із роллю admin не має FIDO2.; |-
| Passkey
| FIDO-облікові інформаційні дані на пристрої або в password manager.; Тип

=== 8.1.; Мінімальні правила ===
<pre>

=== 15.5. Dashboard ===
1.; характеристика

 "CHANGE_BANK_DETAILS",

'''Правильне рішення для бізнесу для K2 ERP:''' впровадити FIDO2 як ключовий або пріоритетний метод входу для критичних ролей: адміністраторів, фінансових користувачів, головного бухгалтера, керівників, HR / зарплати, користувачів із віддаленим доступом і користувачів, які виконують критичні дії.; Критерій
POST /api/v1/security/fido2/registration/options
 return credential
 "authenticatorSelection": {
=== Етап 5.; Масове впровадження ===
 )
'''Зелена зона:''' K2 ERP використовує FIDO2 / passkeys для критичних ролей, step-up FIDO2 для небезпечних операцій, dashboard покриття ключами, журнал подій і контроль recovery.; Значення
'''Правильна модель:''' K2 ERP ніколи не зберігає приватний ключ користувача.;=== 9.3. fido2_events ===

{| class="wikitable"
 db.commit()
 },
</div>
=== Етап 3.; Технічна реалізація ===
== 1.; Що таке FIDO2 ==
 return {
<div style="border-left: 8px solid #6a1b9a; background: #f3e5f5; padding: 14px 18px; margin: 16px 0;">

def save_fido2_credential(user_id: str, verification_result: dict, db: "Session") -> "Fido2Credential":
=== 5.1.; Реєстрація ключа ===

 payload={"credential_record_id": str(credential.id)},
<div style="border-left: 8px solid #2e7d32; background: #e8f5e9; padding: 14px 18px; margin: 16px 0;">

=== 11.3.; Збереження credential ===

!; * CISA: Phishing-resistant MFA.; | style="background:#c8e6c9;" | Must have
|-
| Журнал FIDO2-подій
| Реєстрація, вхід, помилка, видалення ключа.; |}

 "transport": verification_result.get("transport"),

 "name": user.email,
 return True
!; |-
| AC-10
| Адміністратор створює API token.; | Вхід відхиляється.; №

 "public_key": verification_result ["public_key"],
<pre>
 "challenge_type": "REGISTRATION",

 {"type": "public-key", "alg": -7},

</syntaxhighlight>

Для адміністраторів, бухгалтерії, фінансів і керівників ERP потрібна сильніша автентифікація.; |-
| public_key
| text
| Публічний ключ.; * NIST SP 800-63B Revision 4.; |-
| status
| varchar
| PENDING, PASSED, FAILED, EXPIRED.; |-
| created_at
| timestamp
| Дата.; | Ключ позначається LOST або REVOKED.; * Внутрішні вимоги K2 ERP до доступів, MFA, FIDO2, журналювання та критичних дій.; |}

Потрібно передбачити:

 return user.security_policy.require_fido2_for_remote_access
 "authenticator_type": verification_result.get("authenticator_type"),
!; |-
| Roaming authenticator
| Переносний автентифікатор.; Роль / зона
!; Що означає

* [[K2 ERP]]
* [[Кібербезпека ERP]]
* [[MFA]]
* [[2FA]]
* [[FIDO2]]
* [[WebAuthn]]
* [[CTAP2]]
* [[Passkeys]]
* [[Security Key]]
* [[TOTP]]
* [[API Security]]
* [[Журнал аудиту]]
* [[Incident Response]]
* [[Zero Trust]]

 audit_logger.log(
<pre>
== 12.; Recovery та втрата ключа ==
4.; з цієї причини recovery має бути сильним і контрольованим.; |}

POST /api/v1/security/fido2/authentication/verify

 credential = fido2_credential_repository.create(
 "rp_id": "erp.example.com",
AC-12 користувач системи повідомляє про втрату ключа.; Очікуваний результат
payload={

9.; | style="background:#c8e6c9;" | Step-up FIDO2 + двоетапне погодження.; |-

CTAP2 - AC-7 WebAuthn + CTAP2.; |- Масовий експорт клієнтів Витік бази.; Приклад

</syntaxhighlight>

"status": "ACTIVE",
FIDO2 — це один із найсильніших практичних способів захистити ERP від phishing і викрадених паролів.; 2.;

10.4.; Завершити вхід через FIDO2

; Очікуваний результат

<syntaxhighlight lang="python">

Зміна банківських реквізитів Підміна рахунку.; |- AC-14 Recovery завершено.; характеристика

5.2.; Вхід користувача

event_type="FIDO2_LOGIN_FAILED",
WebAuthn style="background:#c8e6c9;" | Step-up FIDO2 + погодження.; | style="background:#ef9a9a;" | Обов’язково
Фінансовий директор - Вимкнення інтеграції Зупинка бізнес-процесу.; |- user_id uuid користувач системи.; user_id=user.id,

5.; Окремо варто відзначити які користувачі мають FIDO2, які досі використовують слабкі методи MFA, які ключі зареєстровані, які втрачено, які входи були підозрілими і які ролі не можна допускати до ERP без phishing-resistant автентифікації.; * CISA: More than a Password.; | Реєстрація не приймається.; :contentReference [oaicite:3]{index=3}

; Коментар
  • FIDO Alliance: Passkeys.; Критерій
credential = fido2_credential_repository.get_by_credential_id(
},

4.; Чим FIDO2 сильніший за SMS, TOTP і push

9.1. fido2_credentials

; характеристика
  • WebAuthn registration;
  • WebAuthn authentication;
  • credential storage;
  • challenge storage;
  • origin / RP ID validation;
  • credential revocation;
  • lost key flow;
  • FIDO2 events;
  • dashboard.; Поточний метод
Подія логуються, користувач системи реєструє новий ключ.; |}
return False

користувач системи має змогу втратити security key або пристрій із passkey.; | Потрібне погодження другим адміністратором.; | Ключ реєструється, публічний ключ зберігається.; * знайти всіх адміністраторів;

  • знайти користувачів фінансових ролей;
  • знайти бухгалтерію;
  • знайти HR / зарплату;
  • знайти керівників;
  • знайти користувачів із віддаленим доступом;
  • знайти користувачів тільки з SMS;
  • знайти користувачів без MFA.; Це означає, що ключ не підтвердить вхід на фальшивому домені.; | style="background:#c8e6c9;" | Must have

11.2.; Створення registration challenge

  • FIDO2 для всіх фінансових ролей;
  • FIDO2 для користувачів із доступом до зарплати;
  • FIDO2 для користувачів із віддаленим доступом;
  • passkeys для зручного входу з корпоративних пристроїв;
  • фізичні security keys для адміністраторів;
  • hardware security key як резерв для керівника;
  • заборона реєстрації невідомих пристроїв без підтвердження;
  • регулярний аудит зареєстрованих FIDO2-ключів.; |-
WebAuthn API браузера для входу через FIDO.; Поле
)
Вхід блокується або вимагається реєстрація FIDO2.; !; db=db, ; !;=== 15.1.; Реєстрація FIDO2 ===
  • бухгалтерський обліковий облік;
  • фінансовий блок;
  • HR;
  • керівники;
  • віддалені користувачі;
  • поступова відмова від SMS.; | style="background:#ffcc80;" | Рекомендовано
Керівники style="background:#ef9a9a;" | Обов’язково
Адміністратор K2 ERP }
]:


"CHANGE_USER_ROLE",
audit_logger.log(
AC-5 Сесія створюється після успішної перевірки assertion.; | Passkey реєструється як platform authenticator.; |- AC-3 Challenge прострочений.; 3.; "name": "K2 ERP",

Управлінський результат: керівник і адміністратор безпеки повинні бачити.; характеристика

},
AC-15 Touch ID, Face ID, Windows Hello.; | style="background:#c8e6c9;" | Step-up FIDO2 адміністратора.; № - AC-4 style="background:#c8e6c9;" | Step-up FIDO2 + журнал.; платформа створює authentication challenge.;
)
- AC-6 користувач системи використовує невідомий ключ.; Поле

11.1.; Перевірка, чи потрібен FIDO2

9.2. fido2_challenges

4.; * мінімум два ключі для адміністраторів;

  • резервний hardware key;
  • recovery codes;
  • заявка на відновлення;
  • перевірка особи користувача;
  • погодження другим адміністратором;
  • журнал recovery;
  • обов’язкове відкликання втраченого ключа;
  • обов’язкова реєстрація нового FIDO2-ключа;
  • тимчасовий доступ тільки з коротким TTL.; |-
TOTP Так Ні - user_id uuid - user_agent text Браузер / пристрій.; Очікуваний результат - AC-11 class="wikitable"
 if context and context.get("remote_access") is True:

=== 10.1.; Почати реєстрацію ключа ===

!; | USB/NFC/BLE security key.; !; |-
| Зміна ролі користувача
| style="background:#ef9a9a;" | Розширення доступу.; |-
| backup_eligible
| boolean
| Чи має змогу credential бути синхронізованим.; | надає можливість web-додатку K2 ERP працювати з passkeys і security keys.; |-
| risk_score
| integer
| Оцінка ризику.; | Windows Hello, macOS/iCloud Keychain, Android, iOS, 1Password, Bitwarden.; |}

!; |-
| Підтвердження платежу
| style="background:#ef9a9a;" | Фінансова втрата.; !; користувач системи

'''Головне правило:''' для ERP пароль і одноразовий код — це вже недостатньо для критичних ролей.; | платформа вимагає step-up FIDO2 і логування.;[[Категорія:Кібербезпека]]
== 8.; Політика FIDO2 для K2 ERP ==
=== 15.2.; Вхід через FIDO2 ===
[[Категорія:WebAuthn]]
<pre>
 },
 fido2_challenge_repository.create(

!; |-
| event_type
| varchar
| REGISTERED, LOGIN_SUCCESS, LOGIN_FAILED, STEP_UP_SUCCESS, REVOKED, LOST.; |-
| admin2
| Адміністратор
| style="background:#ef9a9a;" | TOTP без FIDO2
| style="background:#ef9a9a;" | Критично
| Видати security key
|-
| buh_olena
| Бухгалтер
| style="background:#ffcc80;" | SMS
| style="background:#ffcc80;" | Високий
| Перевести на FIDO2 або TOTP
|-
| cfo
| Фіндиректор
| style="background:#c8e6c9;" | FIDO2 security key
| style="background:#c8e6c9;" | Добре
| Без дії
|-
| director
| Керівник
| style="background:#c8e6c9;" | Passkey
| style="background:#c8e6c9;" | Добре
| Без дії
|}

!; Відкриває конфігурація безпеки.; | style="background:#ffcc80;" | Step-up FIDO2
|}

FIDO2 потрібно використовувати не тільки для входу, а й для підтвердження небезпечних операцій.; |-
| Platform authenticator
| Автентифікатор, вбудований у пристрій.; |-
| last_used_at
| timestamp
| Останнє використання.; | Він підсвічується червоним або помаранчевим.; Поле
 "credential_id": str(credential.id),
FIDO2 для Super Admin Без FIDO2 super admin не має змогу увійти.; користувач системи входить у K2 ERP звичайним способом.;== 2.; Чому FIDO2 важливий саме для ERP ==
AC-1 - FIDO2 security key Так Так Рекомендовано для критичних ролей.; Компонент
"MASS_EXPORT",
challenge = fido2_service.generate_challenge()
; Публічний ключ зберігається в K2 ERP.; :contentReference [oaicite:1]{index=1} event_type="FIDO2_LOGIN_SUCCESS", "rp": {
Вхід відхиляється.; |- Push Так Частково є собою ризик MFA fatigue.; Якщо перевірка успішна — створюється сесія.; Статус
if action in [
; Рівень