OCRA (англ. OATH Challenge-Response Algorithm, RFC 6287) — алгоритм, що об'єднує в собі можливості автентифікації клієнта, взаємної автентифікації і підписі транзакцій, використовує одноразові паролі. Є модифікацією алгоритму HOTP. Основною відмінністю OCRA від HOTP є те, що в якості вхідних даних використовується випадкове значення, прийняте від сервера, а не лічильник подій.
Історія
OATH розробляло алгоритми автентифікації на базі одноразових паролів з 2004 року. Через стрімкий розвиток мобільної індустрії ці алгоритми користувалися великою популярністю. Наприкінці 2005 року був опублікований HOTP. Алгоритм HOTP для створення одноразових паролів використовує лічильник, який не залежить від часу. Це дозволяє уникнути розсинхронізації при великій відстані між клієнтом і сервером.
OATH в 2008 році представила алгоритм TOTP, який є модифікацією HOTP. TOTP для аутентифікації генерує пароль, що залежить від часу, на відміну від HOTP, де пароль створювався на основі лічильника. Пароль дійсний лише протягом певного часового проміжку. Завдяки цьому частково вирішується проблема розсинхронізації вузлів, що знаходяться далеко один від одного, при цьому немає втрати зв'язку через випадкове або навмисне скидання лічильників.
Восени 2010 року OATH модифікувала TOTP, представивши алгоритм OCRA. Основна його перевага дає той факт, що є можливість проходження сервером автентифікації. Алгоритм також здатний створювати електронний цифровий підпис, причому сервер також можна автентифікувати.
Загальна схема
Використані позначення:
- — функція, що виконує обчислення, використовуючи секретний ключ K і структуру DataInput.
- За замовчуванням використовується HOTP з шестизначним значенням на базі SHA-1 (HOTP-SHA1-6).
- Рекомендується використовувати наступні криптофункції:
- HOTP-SHA1-4
- HOTP-SHA1-6
- HOTP-SHA1-8
- HOTP-SHA256-6
- HOTP-SHA512-6
- — секретний ключ, відомий обом сторонам.
- — структура, яка містить набір різних вхідних даних.
- Параметри DataInput:
- Позначення:
- — роздільник.
- — лічильник довжиною в 8 байт, повинен бути синхронізований між обома сторонами.
- — апит довжиною в 128 байт, в разі меншої довжини його потрібно доповнити нулями.
- — це геш-функція від PIN-коду, який знають і клієнт і сервер.
- — строка до 512 байт. Описує стан сесії. Довжина вказана в OCRASuite.
- — кількість минулих проміжків часу від умовної точки відліку, за яку прийнята дата 1 січня 1970 року, довжина 8 байт. Одиниці виміру вказані в OCRASuite.
- -строка, що містить набір параметрів для формування відповіді. Для двосторонньої автентифікації і підпису клієнт і сервер повинні обмінятися двома рядками OCRASuite: одна для сервера, інша клієнта.
- Структура : , де:
- — вказує версію OCRA. Значення: OCRA-v, де v - це номер версії OCRA (1 або 2).
- — відображає поточну функцію, яка буде використовуватися для обчислення значення OCRA.
- — відображає список допустимих входів для даного обчислення.
- — параметри DataInput для режиму “запит-відповідьт”.
- — параметри DataInput для звичайного підпису.
- У квадратних дужках дано необов'язкові входи. Кожен параметр обчислень описується однією буквою (крім Q) і відділяється дефісами.
- — вказує на подальше визначення формату F. Можливі значення змінної F: A - алфавітно-цифровий, N - цифровий, H - шістнадцятковий. Можлива довжина xx - від 04 до 64. За замовчуванням формат запиту має значення N08 (цифровий, довжиною в 8 символів).
- — вказує на подальше визначення хеш-функції (H), яка застосовується до PIN-коду (SHA1, SHA256 або SHA512). За замовчуванням SHA1.
- — говорить про надання довжини сесії (nnn). За замовчуванням 064.
- — вказівка кроку часу G. ([1-59] S - кількість секунд, [1-59] M - кількість хвилин, [0-48] H - кількість годин).
Типові режими роботи
Одностороння автентифікація
У цьому режимі сервер повинен відправити випадковий запит клієнтові, який, в свою чергу, повинен надати коректну відповідь, щоб пройти автентифікацію. Обидві сторони повинні заздалегідь узгодити секретний ключ K.
При цьому повинні використовуватися наступні параметри:
- C — лічильник, необов'язковий параметр.
- Q — запит, обов'язковий параметр, формується сервером.
- P — геш-функція від PIN-коду, необов'язковий параметр.
- S — стан сесії, необов'язковий параметр.
- T — крок часу, необов'язковий параметр.
Алгоритм дій:
- Сервер посилає запит Q клієнту.
- Клієнт формує R = OCRA(K, {[C] | Q | [P | S | T]}) і відсилає на сервер відповідь R.
- Сервер перевіряє відповідь R. Якщо відповідь коректний, посилає клієнту OK, в іншому випадку — NOK.
Взаємна автентифікація
У даному режимі клієнт і сервер аутентифікують один одного. Клієнт посилає випадковий запит серверу, який формує відповідь і відправляє клієнту разом зі своїм запитом. Клієнт спочатку перевіряє відповідь сервера, щоб переконатися, що той коректний. Після цього клієнт формує свою відповідь і відправляє його серверу. Сервер перевіряє відповідь клієнта і тим самим завершує процес взаємної автентифікації. Обидві сторони повинні заздалегідь узгодити секретний ключ K.
Параметри сервера для відповіді:
- C — лічильник, необов'язковий параметр.
- QC — запит, обов'язковий параметр, формується клієнтом.
- QS — запит, обов'язковий параметр, формується сервером.
- S — стан сесії, необов'язковий параметр.
- T — крок часу, необов'язковий параметр.
Параметри клієнта для відповіді:
- C — лічильник, необов'язковий параметр.
- QS — запит, обов'язковий параметр, формується сервером.
- QC — запит, обов'язковий параметр, формується клієнтом.
- P — геш-функція від PIN-коду, необов'язковий параметр.
- S — стан сесії, необов'язковий параметр.
- T — крок часу, необов'язковий параметр.
Алгоритм дій:
- Клієнт посилає серверу запит QC.
- Сервер формує RS = OCRA(K, [C] | QC | QS | [S | T]). Відправляє клієнту RS і свій запит QS.
- Клієнт перевіряє відповідь сервера і обчислює свою відповідь RC = OCRA(K, [C] | QS | QC | [P | S | T]). Посилає серверу RC.
- Сервер перевіряє відповідь клієнта і у разі успіху відправляє підтвердження автентифікації.
Простий підпис
Сервер повинен передати клієнту якесь значення на підпис. Цим значенням може бути, наприклад, інформація, яку потрібно підписати, або геш-функція від цієї інформації. Обидві сторони повинні заздалегідь узгодити секретний ключ K.
Використовуються наступні параметри:
- C — лічильник, необов'язковий параметр.
- QS — запит на підпис, обов'язковий параметр, формується сервером.
- P — геш-функція від PIN-коду, необов'язковий параметр.
- T — крок часу, необов'язковий параметр.
Алгоритм дій:
- Сервер посилає запит Q на підпис клієнту.
- Клієнт формує SIGN = OCRA(K, [C] | QS | [P | T]) і відсилає на сервер відповідь SIGN.
- Сервер перевіряє відповідь R. Якщо відповідь коректний, посилає клієнту OK.
Підпис з автентифікацією сервера
У цьому випадку клієнт спочатку перевіряє справжність сервера, а вже потім обчислює і відправляє електронний підпис. Клієнт спочатку відправляє випадкове значення в якості запиту на сервер, після чого сервер посилає клієнтові свою відповідь на його запит та інформацію на підпис. Обидві сторони повинні заздалегідь узгодити секретний ключ K.
Параметри сервера для відповіді:
- C — лічильник, необов'язковий параметр.
- QC — запит, обов'язковий параметр, формується клієнтом.
- QS — запит на підпис, обов'язковий параметр, формується сервером.
- T — крок часу, необов'язковий параметр.
Параметри клієнта для відповіді:
- C — лічильник, необов'язковий параметр.
- QC — запит, обов'язковий параметр, формується клієнтом.
- QS — запит на підпис, обов'язковий параметр, формується сервером.
- P — геш-функція від PIN-коду, необов'язковий параметр.
- T — крок часу, необов'язковий параметр.
Алгоритм дій:
- Клієнт посилає серверу запит QC.
- Сервер формує RS = OCRA(K, [C] | QC | QS | [T]). Відправляє клієнту RS і свій запит QS на підпис.
- Клієнт перевіряє відповідь сервера і обчислює свою відповідь SIGN = OCRA(K, [C] | QS | QC | [P | T]). Посилає серверу SIGN.
- Сервер перевіряє відповідь клієнта і у разі успіху відправляє підтвердження аутентифікації OK.
Вимоги до реалізації
- Алгоритм повинен підтримувати аутентифікацію за методом "запит-відповідь".
- Алгоритм повинен підтримувати алгоритм підпису на основі симетричного ключа.
- Алгоритм повинен підтримувати автентифікацію сервера.
- Рекомендується використовувати в якості криптофункції HOTP.
- Рекомендується довжину і формат вхідного запиту реалізувати з можливістю клнфігурації.
- Рекомендується довжину і формат вихідного відповіді реалізувати з можливістю клнфігурації.
- Запит може бути реалізований з можливістю перевірки цілісності, наприклад, можна використовувати біти парності для простих перевірок на помилки.
- Ключ повинен бути унікальним для кожного генератора, і ключ повинен бути випадковим числом.
- Алгоритм може включати в себе додаткові атрибути даних, такі як інформація про час або номер сеансу, які будуть включені в розрахунок. Ці дані входи можуть використовуватися окремо або всі разом.
Надійність алгоритму
Системи автентифікації, побудовані на базі одноразових паролів, є досить надійними. При цьому OCRA має ряд переваг у порівнянні зі своїми попередниками, алгоритмами TOTP і HOTP.
Один із серйозних методів атаки - підміна сервера аутентифікації, що може виявитися ефективним при атаках на TOTP і HOTP. При цьому зловмисник отримує дані від користувача і може використовувати їх для зв'язку з сервером. Однак у випадку алгоритму OCRA, що працює за методом "запит-відповідь", зловмисник повинен виступати в якості посередника між користувачем і сервером. Зловмиснику доведеться підміняти ще і адресу клієнта, щоб одержувати дані з сервера і використовувати їх для зв'язку з клієнтом.
Також алгоритм OCRA може бути реалізований стійким до атаки, заснованої на розсинхронізації таймерів або лічильників, до якої схильні HOTP і TOTP, так як ці параметри в OCRA можна комбінувати. При введенні лічильника відправка повторного повідомлення зловмисником, що працюють за методом "людина посередині" (Man-in-the-middle), буде невдалою, так як лічильник на стороні сервера (або клієнта, дивлячись кого намагається імітувати зловмисник) зміниться і повідомлення буде перевірятися вже не тим значенням, з допомогою якої воно створювалося. Можна змінювати та проміжок часу, протягом якого пароль дійсний, в залежності від відстані між клієнтом і сервером, уникаючи розсинхронізації.
Порівняння з аналогами
Основними конкурентами OCRA серед алгоритмів, що працюють за методом "запит-відповідь" є SCRAM та CHAP. Порівняно з ними, OCRA має як переваги, так і недоліки. Всі три алгоритму підтримують взаємну автентифікацію, але спочатку в CHAP ця можливість не замислювалася як важлива частина алгоритму. Також в CHAP кожна передача даних здійснюється у вигляді пакета з зазначенням призначення даного пакета, його довжини і т. д. Це збільшує обсяг даних, які пересилаються і може погіршити роботу алгоритму при повільному з'єднанні. Але така форма повідомлень дозволяє проводити деякі додаткові операції, наприклад, зміна секретного слова, що зберігається і у сервера і клієнта. У OCRA така можливість відсутня, алгоритм не підтримує можливість змінювати секрет.
У SCRAM у сервера і клієнта є масиви ключів, захищені сіллю. Це дозволяє змінювати ключ при кожному новому сеансі автентифікації. Також в SCRAM є можливість виявлення атаки методом "людина посередині". При успішному виявленні такої атаки зв'язок між клієнтом і сервером зупиняється.
OCRA і SCRAM, на відміну від CHAP, в якості аргументу криптофункції використовують випадкове значення, отримане з сервера. OCRA володіє можливістю створення електронного підпису, в той час як в SCRAM за допомогою підпису проводиться аутентифікація. Сервер (клієнт) надсилає клієнту (серверу) параметри для криптофункції і зашифрований текст. Після цього клієнт (сервер) розшифровує текст, підписує його і відправляє серверу (клієнту). При підтвердженні справжності підпису автентифікація вважається пройденою. OCRA, на відміну від своїх конкурентів, володіє можливістю використання лічильників і таймерів в якості додаткового захисту від злому.
Примітки
- . Архів оригіналу за 12 грудня 2018. Процитовано 4 квітня 2018.
- Nathan Willis та 2010-12-15.
- HOTP-Based User Authentication Scheme in Home Networks, 2009.
- OATH Submits TOTP: Time-Based One Time Password Specification to IETF.
- Концепция одноразовых паролей в построении системы аутентификации та 2006-07, 2006-08.
- RFC 6287, 2011.
- RFC 5802, 2010.
- RFC 1994, 1996.
Джерела
- Nathan Willis. OATH: yesterday, today, and tomorrow // . — 2010-12-15.
- Joann Killeen, Madison Alexander. OATH Submits TOTP: Time-Based One Time Password Specification to IETF (англ.). Архів оригіналу за 23 січня 2013.
- Давлетханов Марат. Концепция одноразовых паролей в построении системы аутентификации // : журнал. — 2006-07, 2006-08. — № 7-8 (95).
- Binod Vaidya, Jong Hyuk Park, and Joel J.P.C. Rodrigues. HOTP-Based User Authentication Scheme in Home Networks // [en]. — 2009. — No. 5576. — P. 672-681.
- RFC 6287. — 2011. — ISSN 2070-1721.
- RFC 5802. — 2010. — ISSN 2070-1721.
- RFC 1994. — 1996.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
OCRA angl OATH Challenge Response Algorithm RFC 6287 algoritm sho ob yednuye v sobi mozhlivosti avtentifikaciyi kliyenta vzayemnoyi avtentifikaciyi i pidpisi tranzakcij vikoristovuye odnorazovi paroli Ye modifikaciyeyu algoritmu HOTP Osnovnoyu vidminnistyu OCRA vid HOTP ye te sho v yakosti vhidnih danih vikoristovuyetsya vipadkove znachennya prijnyate vid servera a ne lichilnik podij IstoriyaOATH rozroblyalo algoritmi avtentifikaciyi na bazi odnorazovih paroliv z 2004 roku Cherez strimkij rozvitok mobilnoyi industriyi ci algoritmi koristuvalisya velikoyu populyarnistyu Naprikinci 2005 roku buv opublikovanij HOTP Algoritm HOTP dlya stvorennya odnorazovih paroliv vikoristovuye lichilnik yakij ne zalezhit vid chasu Ce dozvolyaye uniknuti rozsinhronizaciyi pri velikij vidstani mizh kliyentom i serverom OATH v 2008 roci predstavila algoritm TOTP yakij ye modifikaciyeyu HOTP TOTP dlya autentifikaciyi generuye parol sho zalezhit vid chasu na vidminu vid HOTP de parol stvoryuvavsya na osnovi lichilnika Parol dijsnij lishe protyagom pevnogo chasovogo promizhku Zavdyaki comu chastkovo virishuyetsya problema rozsinhronizaciyi vuzliv sho znahodyatsya daleko odin vid odnogo pri comu nemaye vtrati zv yazku cherez vipadkove abo navmisne skidannya lichilnikiv Voseni 2010 roku OATH modifikuvala TOTP predstavivshi algoritm OCRA Osnovna jogo perevaga daye toj fakt sho ye mozhlivist prohodzhennya serverom avtentifikaciyi Algoritm takozh zdatnij stvoryuvati elektronnij cifrovij pidpis prichomu server takozh mozhna avtentifikuvati Zagalna shemaO C R A C r y p t o F u n c t i o n K D a t a I n p u t displaystyle OCRA CryptoFunction K DataInput Vikoristani poznachennya C r y p t o F u n c t i o n displaystyle CryptoFunction funkciya sho vikonuye obchislennya vikoristovuyuchi sekretnij klyuch K i strukturu DataInput Za zamovchuvannyam vikoristovuyetsya HOTP z shestiznachnim znachennyam na bazi SHA 1 HOTP SHA1 6 Rekomenduyetsya vikoristovuvati nastupni kriptofunkciyi HOTP SHA1 4 HOTP SHA1 6 HOTP SHA1 8 HOTP SHA256 6 HOTP SHA512 6 K displaystyle K sekretnij klyuch vidomij obom storonam D a t a I n p u t displaystyle DataInput struktura yaka mistit nabir riznih vhidnih danih Parametri DataInput D a t a I n p u t O C R A S u i t e 00 C Q P S T displaystyle DataInput OCRASuite 00 C Q P S T Poznachennya 00 displaystyle 00 rozdilnik C displaystyle C lichilnik dovzhinoyu v 8 bajt povinen buti sinhronizovanij mizh oboma storonami Q displaystyle Q apit dovzhinoyu v 128 bajt v razi menshoyi dovzhini jogo potribno dopovniti nulyami P displaystyle P ce gesh funkciya vid PIN kodu yakij znayut i kliyent i server S displaystyle S stroka do 512 bajt Opisuye stan sesiyi Dovzhina vkazana v OCRASuite T displaystyle T kilkist minulih promizhkiv chasu vid umovnoyi tochki vidliku za yaku prijnyata data 1 sichnya 1970 roku dovzhina 8 bajt Odinici vimiru vkazani v OCRASuite O C R A S u i t e displaystyle OCRASuite stroka sho mistit nabir parametriv dlya formuvannya vidpovidi Dlya dvostoronnoyi avtentifikaciyi i pidpisu kliyent i server povinni obminyatisya dvoma ryadkami OCRASuite odna dlya servera insha kliyenta Struktura lt A l g o r i t h m gt lt C r y p t o F u n c t i o n gt lt D a t a I n p u t gt displaystyle lt Algorithm gt lt CryptoFunction gt lt DataInput gt de A l g o r i t h m displaystyle Algorithm vkazuye versiyu OCRA Znachennya OCRA v de v ce nomer versiyi OCRA 1 abo 2 C r y p t o F u n c t i o n displaystyle CryptoFunction vidobrazhaye potochnu funkciyu yaka bude vikoristovuvatisya dlya obchislennya znachennya OCRA D a t a I n p u t displaystyle DataInput vidobrazhaye spisok dopustimih vhodiv dlya danogo obchislennya C Q F x x P H S n n n T G displaystyle C QFxx PH Snnn TG parametri DataInput dlya rezhimu zapit vidpovidt C Q F x x P H T G displaystyle C QFxx PH TG parametri DataInput dlya zvichajnogo pidpisu U kvadratnih duzhkah dano neobov yazkovi vhodi Kozhen parametr obchislen opisuyetsya odniyeyu bukvoyu krim Q i viddilyayetsya defisami Q displaystyle Q vkazuye na podalshe viznachennya formatu F Mozhlivi znachennya zminnoyi F A alfavitno cifrovij N cifrovij H shistnadcyatkovij Mozhliva dovzhina xx vid 04 do 64 Za zamovchuvannyam format zapitu maye znachennya N08 cifrovij dovzhinoyu v 8 simvoliv P displaystyle P vkazuye na podalshe viznachennya hesh funkciyi H yaka zastosovuyetsya do PIN kodu SHA1 SHA256 abo SHA512 Za zamovchuvannyam SHA1 S displaystyle S govorit pro nadannya dovzhini sesiyi nnn Za zamovchuvannyam 064 T displaystyle T vkazivka kroku chasu G 1 59 S kilkist sekund 1 59 M kilkist hvilin 0 48 H kilkist godin Tipovi rezhimi robotiOdnostoronnya avtentifikaciya U comu rezhimi server povinen vidpraviti vipadkovij zapit kliyentovi yakij v svoyu chergu povinen nadati korektnu vidpovid shob projti avtentifikaciyu Obidvi storoni povinni zazdalegid uzgoditi sekretnij klyuch K Pri comu povinni vikoristovuvatisya nastupni parametri C lichilnik neobov yazkovij parametr Q zapit obov yazkovij parametr formuyetsya serverom P gesh funkciya vid PIN kodu neobov yazkovij parametr S stan sesiyi neobov yazkovij parametr T krok chasu neobov yazkovij parametr Algoritm dij Server posilaye zapit Q kliyentu Kliyent formuye R OCRA K C Q P S T i vidsilaye na server vidpovid R Server pereviryaye vidpovid R Yaksho vidpovid korektnij posilaye kliyentu OK v inshomu vipadku NOK Vzayemna avtentifikaciya U danomu rezhimi kliyent i server autentifikuyut odin odnogo Kliyent posilaye vipadkovij zapit serveru yakij formuye vidpovid i vidpravlyaye kliyentu razom zi svoyim zapitom Kliyent spochatku pereviryaye vidpovid servera shob perekonatisya sho toj korektnij Pislya cogo kliyent formuye svoyu vidpovid i vidpravlyaye jogo serveru Server pereviryaye vidpovid kliyenta i tim samim zavershuye proces vzayemnoyi avtentifikaciyi Obidvi storoni povinni zazdalegid uzgoditi sekretnij klyuch K Parametri servera dlya vidpovidi C lichilnik neobov yazkovij parametr QC zapit obov yazkovij parametr formuyetsya kliyentom QS zapit obov yazkovij parametr formuyetsya serverom S stan sesiyi neobov yazkovij parametr T krok chasu neobov yazkovij parametr Parametri kliyenta dlya vidpovidi C lichilnik neobov yazkovij parametr QS zapit obov yazkovij parametr formuyetsya serverom QC zapit obov yazkovij parametr formuyetsya kliyentom P gesh funkciya vid PIN kodu neobov yazkovij parametr S stan sesiyi neobov yazkovij parametr T krok chasu neobov yazkovij parametr Algoritm dij Kliyent posilaye serveru zapit QC Server formuye RS OCRA K C QC QS S T Vidpravlyaye kliyentu RS i svij zapit QS Kliyent pereviryaye vidpovid servera i obchislyuye svoyu vidpovid RC OCRA K C QS QC P S T Posilaye serveru RC Server pereviryaye vidpovid kliyenta i u razi uspihu vidpravlyaye pidtverdzhennya avtentifikaciyi Prostij pidpis Server povinen peredati kliyentu yakes znachennya na pidpis Cim znachennyam mozhe buti napriklad informaciya yaku potribno pidpisati abo gesh funkciya vid ciyeyi informaciyi Obidvi storoni povinni zazdalegid uzgoditi sekretnij klyuch K Vikoristovuyutsya nastupni parametri C lichilnik neobov yazkovij parametr QS zapit na pidpis obov yazkovij parametr formuyetsya serverom P gesh funkciya vid PIN kodu neobov yazkovij parametr T krok chasu neobov yazkovij parametr Algoritm dij Server posilaye zapit Q na pidpis kliyentu Kliyent formuye SIGN OCRA K C QS P T i vidsilaye na server vidpovid SIGN Server pereviryaye vidpovid R Yaksho vidpovid korektnij posilaye kliyentu OK Pidpis z avtentifikaciyeyu servera U comu vipadku kliyent spochatku pereviryaye spravzhnist servera a vzhe potim obchislyuye i vidpravlyaye elektronnij pidpis Kliyent spochatku vidpravlyaye vipadkove znachennya v yakosti zapitu na server pislya chogo server posilaye kliyentovi svoyu vidpovid na jogo zapit ta informaciyu na pidpis Obidvi storoni povinni zazdalegid uzgoditi sekretnij klyuch K Parametri servera dlya vidpovidi C lichilnik neobov yazkovij parametr QC zapit obov yazkovij parametr formuyetsya kliyentom QS zapit na pidpis obov yazkovij parametr formuyetsya serverom T krok chasu neobov yazkovij parametr Parametri kliyenta dlya vidpovidi C lichilnik neobov yazkovij parametr QC zapit obov yazkovij parametr formuyetsya kliyentom QS zapit na pidpis obov yazkovij parametr formuyetsya serverom P gesh funkciya vid PIN kodu neobov yazkovij parametr T krok chasu neobov yazkovij parametr Algoritm dij Kliyent posilaye serveru zapit QC Server formuye RS OCRA K C QC QS T Vidpravlyaye kliyentu RS i svij zapit QS na pidpis Kliyent pereviryaye vidpovid servera i obchislyuye svoyu vidpovid SIGN OCRA K C QS QC P T Posilaye serveru SIGN Server pereviryaye vidpovid kliyenta i u razi uspihu vidpravlyaye pidtverdzhennya autentifikaciyi OK Vimogi do realizaciyiAlgoritm povinen pidtrimuvati autentifikaciyu za metodom zapit vidpovid Algoritm povinen pidtrimuvati algoritm pidpisu na osnovi simetrichnogo klyucha Algoritm povinen pidtrimuvati avtentifikaciyu servera Rekomenduyetsya vikoristovuvati v yakosti kriptofunkciyi HOTP Rekomenduyetsya dovzhinu i format vhidnogo zapitu realizuvati z mozhlivistyu klnfiguraciyi Rekomenduyetsya dovzhinu i format vihidnogo vidpovidi realizuvati z mozhlivistyu klnfiguraciyi Zapit mozhe buti realizovanij z mozhlivistyu perevirki cilisnosti napriklad mozhna vikoristovuvati biti parnosti dlya prostih perevirok na pomilki Klyuch povinen buti unikalnim dlya kozhnogo generatora i klyuch povinen buti vipadkovim chislom Algoritm mozhe vklyuchati v sebe dodatkovi atributi danih taki yak informaciya pro chas abo nomer seansu yaki budut vklyucheni v rozrahunok Ci dani vhodi mozhut vikoristovuvatisya okremo abo vsi razom Nadijnist algoritmuSistemi avtentifikaciyi pobudovani na bazi odnorazovih paroliv ye dosit nadijnimi Pri comu OCRA maye ryad perevag u porivnyanni zi svoyimi poperednikami algoritmami TOTP i HOTP Odin iz serjoznih metodiv ataki pidmina servera autentifikaciyi sho mozhe viyavitisya efektivnim pri atakah na TOTP i HOTP Pri comu zlovmisnik otrimuye dani vid koristuvacha i mozhe vikoristovuvati yih dlya zv yazku z serverom Odnak u vipadku algoritmu OCRA sho pracyuye za metodom zapit vidpovid zlovmisnik povinen vistupati v yakosti poserednika mizh koristuvachem i serverom Zlovmisniku dovedetsya pidminyati she i adresu kliyenta shob oderzhuvati dani z servera i vikoristovuvati yih dlya zv yazku z kliyentom Takozh algoritm OCRA mozhe buti realizovanij stijkim do ataki zasnovanoyi na rozsinhronizaciyi tajmeriv abo lichilnikiv do yakoyi shilni HOTP i TOTP tak yak ci parametri v OCRA mozhna kombinuvati Pri vvedenni lichilnika vidpravka povtornogo povidomlennya zlovmisnikom sho pracyuyut za metodom lyudina poseredini Man in the middle bude nevdaloyu tak yak lichilnik na storoni servera abo kliyenta divlyachis kogo namagayetsya imituvati zlovmisnik zminitsya i povidomlennya bude pereviryatisya vzhe ne tim znachennyam z dopomogoyu yakoyi vono stvoryuvalosya Mozhna zminyuvati ta promizhok chasu protyagom yakogo parol dijsnij v zalezhnosti vid vidstani mizh kliyentom i serverom unikayuchi rozsinhronizaciyi Porivnyannya z analogamiOsnovnimi konkurentami OCRA sered algoritmiv sho pracyuyut za metodom zapit vidpovid ye SCRAM ta CHAP Porivnyano z nimi OCRA maye yak perevagi tak i nedoliki Vsi tri algoritmu pidtrimuyut vzayemnu avtentifikaciyu ale spochatku v CHAP cya mozhlivist ne zamislyuvalasya yak vazhliva chastina algoritmu Takozh v CHAP kozhna peredacha danih zdijsnyuyetsya u viglyadi paketa z zaznachennyam priznachennya danogo paketa jogo dovzhini i t d Ce zbilshuye obsyag danih yaki peresilayutsya i mozhe pogirshiti robotu algoritmu pri povilnomu z yednanni Ale taka forma povidomlen dozvolyaye provoditi deyaki dodatkovi operaciyi napriklad zmina sekretnogo slova sho zberigayetsya i u servera i kliyenta U OCRA taka mozhlivist vidsutnya algoritm ne pidtrimuye mozhlivist zminyuvati sekret U SCRAM u servera i kliyenta ye masivi klyuchiv zahisheni sillyu Ce dozvolyaye zminyuvati klyuch pri kozhnomu novomu seansi avtentifikaciyi Takozh v SCRAM ye mozhlivist viyavlennya ataki metodom lyudina poseredini Pri uspishnomu viyavlenni takoyi ataki zv yazok mizh kliyentom i serverom zupinyayetsya OCRA i SCRAM na vidminu vid CHAP v yakosti argumentu kriptofunkciyi vikoristovuyut vipadkove znachennya otrimane z servera OCRA volodiye mozhlivistyu stvorennya elektronnogo pidpisu v toj chas yak v SCRAM za dopomogoyu pidpisu provoditsya autentifikaciya Server kliyent nadsilaye kliyentu serveru parametri dlya kriptofunkciyi i zashifrovanij tekst Pislya cogo kliyent server rozshifrovuye tekst pidpisuye jogo i vidpravlyaye serveru kliyentu Pri pidtverdzhenni spravzhnosti pidpisu avtentifikaciya vvazhayetsya projdenoyu OCRA na vidminu vid svoyih konkurentiv volodiye mozhlivistyu vikoristannya lichilnikiv i tajmeriv v yakosti dodatkovogo zahistu vid zlomu Primitki Arhiv originalu za 12 grudnya 2018 Procitovano 4 kvitnya 2018 Nathan Willis ta 2010 12 15 HOTP Based User Authentication Scheme in Home Networks 2009 OATH Submits TOTP Time Based One Time Password Specification to IETF Koncepciya odnorazovyh parolej v postroenii sistemy autentifikacii ta 2006 07 2006 08 RFC 6287 2011 RFC 5802 2010 RFC 1994 1996 DzherelaNathan Willis OATH yesterday today and tomorrow 2010 12 15 Joann Killeen Madison Alexander OATH Submits TOTP Time Based One Time Password Specification to IETF angl Arhiv originalu za 23 sichnya 2013 Davlethanov Marat Koncepciya odnorazovyh parolej v postroenii sistemy autentifikacii zhurnal 2006 07 2006 08 7 8 95 Binod Vaidya Jong Hyuk Park and Joel J P C Rodrigues HOTP Based User Authentication Scheme in Home Networks en 2009 No 5576 P 672 681 RFC 6287 2011 ISSN 2070 1721 RFC 5802 2010 ISSN 2070 1721 RFC 1994 1996