FIDO2: реалізація вимог PSD2 та Постанови НБУ 58

FIDO2 – це перш за все — технологія автентифікації.
Отже, ми будемо розмовляти про автентифікацію користувачів.
Користувачі — то мається на увазі як ваші клієнти так і ваші співробітники. Ремарка по термінології.
FIDO – альянс, розшифровується як Fast Identity Online.
FIDO2 – остання технологія посиленої автентифікації, стандартизована альянсом.
PSD2Payment Service Directive – директива, прийнята ЕвроПарламентом у 2015 році.
Постанова 58 — Постанова НБУ «Положення про автентифікацію та застосування посиленої автентифікації на платіжному ринку».

За останні роки вже з’явились та ще будуть з’являтися нормативні документи, що вимагають надійну автентифікацію Користувача. Чому? Ми спробуємо розібратися із цим питанням.

Нашою метою буде впевнитись, що технологія FIDO2 вписується у вимоги PSD2 та Постанови #58. Презентація складається з трьох частин. У першій частині ітиметься про спільноту FIDO, ми трохи торкнемося технології та її унікальних властивостей, визначимо головні відмінності від інших технологій. У другій частині ми розберемо узагальнені вимоги PSD2 та Постанови #58 та побачимо, як їх можна виконати, запровадивши технологію FIDO2. У третій частині — дуже коротко про нашу продуктову лінійку CybKey, чому ми вважаємо це рішення дійсно «ключем» до кібербезпеки, та як можна поєднати FIDO2 із платіжними картковими продуктами.

Альянс FIDO було утворено 12 років тому. Сьогодні в альянсі вже майже 300 членів. Якщо поглянути на спільноту FIDO як на величезне дерево, то це дерево має надійне коріння — то виробників мікросхем, плат, електронних компонентів — Intel, Dell, Samsung, Qualcomm, Lenovo. Це дерево має 3 могутні стовбури — то розробники платформ або операційних систем — Microsoft, Apple та Google.  Це дерево має гілля — то виробники засобів захисту. І тут як відомі компанії як Thales, Idemia, Infineon, RSA, так і достатньо молоді – Yubico, Beyond Identity, 1Password. І нарешті це дерево має листя — то компанії, що надають послуги із використанням технологій FIDO – Amazon, PayPal, Wells Fargo, Mercari, . Основною метою альянсу є розробка та впровадження надійних та простих у використанні відкритих стандартів автентифікації. Варто відзначити, що до FIDO ніхто не намагався стандартизувати дії користувача та інструменти автентифікації.

Коли ми кажемо FIDO2, то маємо на увазі 2 стандарти. Перший — то стандарт World Wide Web Consortium, що має назву WebAuthn, та описує, як браузер взаємодіє з операційною системою. Другий стандарт — то специфікація FIDO Альянсу CTAP 2, яка визначає, як операційна система взаємодіє із автентифікатором. Варто відзначити, що FIDO2 вже підтримано у найбільш популярних браузерах: EDGE, Firefox, Safari, Chrome та у найбільш розповсюджених операційних системах — Windows, macOS, Android. Користувачам Linux доведеться встановлювати необхідні бібліотеки, але гарна новина — що вони вже існують. Навіть є інтеграція FIDO автентифікатора з Secure Shell (SSH) та модулі Plug-gable Authentication Module (PAM).

На малюнку подано структурну схему використання автентифікатору FIDO2. Ліворуч — зона відповідальності Користувача. Праворуч — сервер надавача послуг. Користувач взаємодіє із сервером через браузер. Браузер взаємодіє з операційною системою через інтерфейс WebAuthn. Операційна система взаємодіє із Автентифікатором через інтерфейс CTAP. Автентифікатор може бути вбудованим у платформу (Trusted Platform Module, Trusted Execution Environment, Secure Enclave) або зовнішнім (смарт-картка або USBтокен). Праворуч, на стороні серверу, базу даних не випадково подано у зеленому кольорі. Ця БД містить лише псевдоніми користувачів та відкриті ключі. Зберігання відкритих ключів дозволяє економити на забезпеченні безпеки серверу, а псевдоніми — звільняють сервер автентифікації від персональних даних, тобто дозволяють економити на відповідності GDPR – законодавства щодо захисту персональних даних. Відразу відзначимо найпотужнішу властивість FIDO2 – захист приватності. Жодна з інших технологій навіть не наближується до FIDO2 щодо захисту приватності.

За рахунок великої кількості спільноти FIDO, є доволі багато різних рішень. Навіть в Україні є 2 розобники автентифікаторів. І це не враховуючи тих, хто постачає рішення інших компаній. Є автентифікатори внутрішні (вбудовані) та є зовнішні. Є автентифікатори багатофакторні, наприклад, що містять ключ + ПІН, або ключ+відбиток пальця, або ключ + ПІН + відбиток, та є автентифікатори, що можна використовувати лише у якості другого фактору (U2F).

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

Сертифікація має 3 базових рівні: 

L1 – мінімальний обов’язковий

L2 – може бути досягнений лише із використанням захищених апаратних модулів (TPM/TEE/SE);

L3 – містить сертифікований модуль безпеки як то смарт-картка або USBтокен.


За результатом сертифікації до Бази Даних FIDO потрапляють метадані виробника — формалізований опис властивостей автентифікатора та сертифікат виробника.

Розглянемо, як відбувається процес реєстрації користувача на сервері надавача послуг. Під час реєстрації сервер може приймати будь-які автентифікатори, а може запровадити обмеження та приймати лише пристрої конкретного виробника, або навіть ще більше — лише чітко визначену партію заданого виробника. Як це зробити захищаючи приватність? FIDO дає відповідь на це питання. Для реєстрації Автентифікатор отримує ім’я серверу. Наступним кроком він має верифікувати Користувача. Це може бути перевірка ПІНу або відбитку пальця. Далі автентифікатор генерує нову ключову пару, призначену лише для цього серверу. Після цього — підписує «атестаційне свідчення» – щось на кшталп сертифікату нового відкритого ключа. Сервер має можливість перевірити підпис на «атестаційному свідченні» та, якщо усе добре, зберігає відкритий ключ до своєї бази.

Переходимо до автентифікації. Коли сервер відсилає запит на автентифікацію, пристрій клієнта (або картка у
нашому випадку) отримує ім’я серверу та геш даних (наприклад, геш даних транзакції) Першим чином Автентифікатор верифікує Користувача (через ПІН або відбиток пальця) та підписує запит таємним ключем, призначеним для цього серверу. Сервер знаходить відкритий ключ, який було збережено під час реєстрації, перевіряє підпис, впевнюється, що користувача було верифіковано та авторизує Користувача на на виконання подальших дій. Якщо Користувач виконує вхід на корпоративний сервер, то сервер має отримати підтвердження, що цьому користувачу дійсно надано доступ до сервісу. Як це можливо забезпечити гарантуючи приватність? FIDO має відповіді на ці питання, але то вже інша історія.

Повернемось до наших нормативних документів. Буде 3 слайди про специфіку саме PSD2 та потім — 5 узагальнених пунктів вимог щодо автентифікації, спільних для PSD2 та Постанови #58.

Насправді PSD2 – дуже великий документ. На малюнку виділено наступні ключові моменти, що стосуються автентифікації. Стаття 72. Надавач платіжних послуг має довести, що платіжну операцію було авторизовано користувачем. Стаття 74. Сторона, що не запровадила посилену автентифікацію, компенсує збитки. Стаття 94. Персональні дані мають бути захищені відповідно до вимог GDPR Статті 97-98 Вимоги щодо використання посиленої автентифікації, зокрема посилання на Нормативний документ (RTS 389). Стосовно доведення авторизації користувачем — технічно та юридично цю властивість називають неспростовність. Неспростовність властива лише алгоритмам
цифрового підпису та базується на факті, що таємний ключ підпису існує лише в одному примірнику та лише цей Користувач має одноособовий контроль над таємним ключем підпису. FIDO2 може бути кваліфіковано як Удосконалений Електронний Підпис із додатковими властивостями. Тобто FIDO2 забезпечує доведення авторизації транзакції Користувачем. Щодо захисту персональних даних, то завдяки використанню псевдонімів, FIDO не потребує збереження персональних даних та спеціального захисту.

Другий пункт що стосується виключно PSD2 – у нормативно-технічному документі #389 не встановлено, хто саме генерує Код Автентифікації. Це означає, що, наприклад Удосконалений Електронний Підпис, або в термінах FIDO “підписана відповідь» може трактуватись як Код Автентифікації. Це зменшує кількість обмінів даними, спрощує та прискорює виконання транзакцій.

Третій пункт, що має відношення виключно до PSD2 – стосується авторизації транзакцій. Нормативний документ зобов’язує надавача послуг забезпечити конфіденційність, достовірність та цілісність інформації щодо суми та отримувача на всіх етапах автентифікації. Тобто дані щодо суми та отримувача мають завжди передаватись у
зашифрованому вигляді. Це означає, що звичайні смс, тобто ніяк не захищені текстові повідомлення, не можуть використовуватись для авторизації транзакцій. За посиланням можна перейти на сторінку Європейського Банківського
Регулятора із відповідним роз’ясненням.

Із специфічними для PSD2 пунктами ми закінчили, переходимо до п’яти узагальнених пунктів вимог Нормативного Документу 389 та Постанови 58. Стаття 4 — необхідно використовувати багатофакторну автентифікацію.
Автентифікатор FIDO2 забезпечує:
– приватний ключ (елемент «володіння»);
– ПІН (елемент «знання»);
– опційно верифікацію через відбиток пальця (елемент «притаманність»)

Стаття 5. Код автентифікації має бути пов’язаний із отримувачем та сумою транзакції. Автентифікатор FIDO2 забезпечує підписання ґешу даних, тобто може використовуватись для підписання ґешу даних транзакції.

Стаття 6 Постанови та статті 6,7,8 Нормативного документу. Надавач платіжних послуг має забезпечувати захист від нерозголошення елементу «знання» та «притаманність», захист від копіювання елементу «володіння» та захист від несанкціонованого використання елементів «володіння» та «притаманність». Автентифікатор FIDO2 виконує верифікацію ПІНу або відбитку пальця Користувача локально, тобто задовільняє вимогам нерозголошення. Автентифікатор FIDO2 забезпечує надійне зберігання і використання таємного ключу підпису, таким чином, що ключ ніколи не покидає Автентифікатор, таким чином задовільняється вимога захисту від копіювання. Для Автентифікатору може бути встановлено політику використання ключа тільки після верифікації Користувача. Таким чином задовільняється вимога захисту від несанкціонованого використання.

Розділ IV. Надавач платіжних послуг має забезпечити конфіденційність та цілісність вразливих даних. Автентифікатор FIDO2 не потребує генерації, постачання, відновлення, відкликання та знищення вразливих даних. Отже при впровадженні FIDO2, як то кажуть «баба з возу», ці вимоги можуть бути ігноровані.

Стаття 3. Заходи безпеки мають бути документовані. Періодичні аудити мають перевіряти відповідність заходів вимогам.
Відкриті стандарти FIDO та обов’язкова сертифікація суттєво спрощують документування та доведення достатності заходів безпеки. Навіть перед міжнародними аудиторами. Навіть для інших сертифікацій. Рішення на базі відкритих стандартів простіше захищати та аудіювати.

Ми пройшли по узагальнених вимогах нормативних документів та побачили, що автентифікатори FIDO2 задовільняють цим вимогам. Тепер перейдемо до продуктів, які забезпечують реалізацію цих вимог.

Наша лінійка CybKey включає 3 карткових продукти. Це:
– CybKey Base – засіб кваліфікованого електронного підпису;
– CybKey Pro – персональний автентифікатор CTAP 2.1 Consumer;
– CybKey Enterprise – корпоративний автентифікатор CTAP 2.1 Enterprise.

CybKey може містити наступні додатки:
– eID, тобто може використовуватись як корпоративне посвідчення;
– eSign – додаток електронного підпису за державним (ДСТУ 4145) та міжнародним (ECDSA) стандартами на базі еліптичних кривих, має відповідні експертні висновки та може бути використаний в якості засобу кваліфікованого електронного підпису;
– CTAP2.1 – додаток автентифікації FIDO2, що забезпечує приватність та зручність використання.
Цими трьома додатками — ідентифікаційним, автентифікаційним та цифрового підпису – можна закрити майже усі потреби кібербезпеки. Саме тому назва нашого продукту — CybKey – скорочення від Cyber Key.

Нашою мрією є створити ко-брендовий продукт із платіжним та автентифікаційним додатками. Таку ко-брендову картку можна буде використовувати як для оплат через термінали за технологією EMV так і для безпечного доступу та керування власним рахунком. Найімовірніше, простіше буде реалізувати такий ко-бренд із Простіром, хоча і з іншими
платіжними системами також можливо.

Ми розглянули особливості автентифікаторів FIDO2 та побачили, що вони дозволяють реалізувати посилену автентифікацію, відповідно до вимог PSD2 та Постанови #58, але окрім того, ще гарантують захист приватності користувачів та зручність використання. Ми дізнались про CybKey та можливість створення ко-брендінгових карткових
продуктів.

Call Now Button