OTP — One-Time Password, ya’ni bir martalik parol. OTP foydalanuvchi yoki amalni tasdiqlash uchun ishlatiladigan vaqtinchalik kod bo‘lib, odatda faqat bir marta yoki qisqa vaqt davomida amal qiladi.
OTP authentication, 2FA, MFA, password reset, email verification, phone verification, banking va payment tizimlarida keng qo‘llanadi.
Vazifasi
OTP foydalanuvchini yoki muhim amalni qo‘shimcha tasdiqlash uchun ishlatiladi.
OTP quyidagi vazifalarni bajaradi:
- login jarayonini tasdiqlash;
- 2FA yoki MFA bosqichini bajarish;
- telefon raqamini tasdiqlash;
- email manzilni tasdiqlash;
- parol tiklash jarayonida foydalanuvchini aniqlash;
- to‘lov yoki pul o‘tkazmani tasdiqlash;
- yangi qurilmadan kirishni tekshirish;
- shubhali login urinishlarini aniqlash;
- muhim sozlama o‘zgarishlarini tasdiqlash.
Masalan, foydalanuvchi login qilgandan keyin telefoniga 6 xonali kod keladi va shu kod orqali kirish yakunlanadi.
OTP qanday ishlaydi?
OTP tizim tomonidan yaratiladi va foydalanuvchiga ma’lum kanal orqali yuboriladi yoki authenticator app ichida hosil qilinadi. Foydalanuvchi kodni tizimga kiritadi, backend esa kodni tekshiradi.
Oddiy jarayon:
- foydalanuvchi login yoki tasdiqlash amalini boshlaydi;
- backend OTP yaratadi;
- OTP SMS, email yoki boshqa kanal orqali yuboriladi;
- foydalanuvchi kodni kiritadi;
- backend kodni tekshiradi;
- kod to‘g‘ri va muddati tugamagan bo‘lsa, amal tasdiqlanadi;
- kod ishlatilgandan keyin yaroqsiz bo‘ladi.
OTP vaqtinchalik authentication qiymati sifatida ishlaydi.
Bir martalik parol
OTP oddiy paroldan farqli ravishda doimiy emas. U ma’lum vaqt yoki bitta amal uchun ishlatiladi.
OTP xususiyatlari:
- qisqa muddat amal qiladi;
- odatda bir marta ishlatiladi;
- foydalanuvchi yoki amal bilan bog‘lanadi;
- tasodifiy yoki algoritmik yaratiladi;
- ishlatilgandan keyin yaroqsiz bo‘ladi;
- authentication jarayoniga qo‘shimcha himoya qo‘shadi.
Masalan, oddiy parol doimiy login credential bo‘lsa, OTP vaqtinchalik tasdiqlash kodi hisoblanadi.
OTP formati
OTP turli formatlarda bo‘lishi mumkin. Eng ko‘p ishlatiladigan format — raqamli kod.
OTP formatlari:
- 4 xonali kod;
- 5 xonali kod;
- 6 xonali kod;
- 8 xonali kod;
- harf va raqam aralash kod;
- tokenli link;
- QR yoki app ichidagi kod.
Ko‘p tizimlarda 6 xonali raqamli OTP ishlatiladi.
Numeric OTP
Numeric OTP — faqat raqamlardan iborat bir martalik kod.
Misollar:
123456;849201;004921;7351.
Numeric OTP SMS, email, authenticator app va banking tizimlarida ko‘p ishlatiladi.
Alphanumeric OTP
Alphanumeric OTP — harf va raqamlardan iborat bir martalik kod.
Misollar:
A7K9P2;XZ14QW;9F2M8B.
Bunday OTP email verification, invitation, password reset yoki maxsus tasdiqlash jarayonlarida uchrashi mumkin.
SMS OTP
SMS OTP — foydalanuvchi telefon raqamiga SMS orqali yuboriladigan bir martalik kod.
SMS OTP quyidagi holatlarda ishlatiladi:
- telefon raqamini tasdiqlash;
- login;
- 2FA;
- parol tiklash;
- to‘lovni tasdiqlash;
- yangi qurilmadan kirish;
- banking amallari.
SMS OTP foydalanuvchi telefon raqamiga ega ekanini tasdiqlash uchun ishlatiladi.
Email OTP
Email OTP — foydalanuvchi email manziliga yuboriladigan bir martalik kod.
Email OTP quyidagi joylarda ishlatiladi:
- email tasdiqlash;
- login verification;
- parol tiklash;
- yangi qurilmani tasdiqlash;
- account security;
- muhim sozlamani o‘zgartirish.
Email OTP foydalanuvchi email akkauntiga kira olishini tekshiradi.
Authenticator app OTP
Authenticator app OTP mobil ilova tomonidan yaratiladigan koddir. Bunday kodlar odatda TOTP algoritmiga asoslanadi.
Authenticator app misollari:
- Google Authenticator;
- Microsoft Authenticator;
- Authy;
- Duo Mobile;
- 1Password;
- Bitwarden Authenticator.
Authenticator app internet yoki SMSga doimiy bog‘liq bo‘lmagan holda kod yaratishi mumkin.
TOTP
TOTP — Time-Based One-Time Password, ya’ni vaqtga asoslangan bir martalik kod. TOTP OTP’ning keng tarqalgan turidir.
TOTP xususiyatlari:
- vaqt asosida yaratiladi;
- odatda 30 soniyada yangilanadi;
- secret key asosida ishlaydi;
- authenticator app orqali hosil qilinadi;
- 2FA tizimlarida ko‘p ishlatiladi.
Masalan, authenticator app har 30 soniyada yangi 6 xonali kod chiqaradi.
HOTP
HOTP — HMAC-Based One-Time Password, ya’ni hisoblagichga asoslangan bir martalik kod.
HOTP xususiyatlari:
- vaqtga emas, counter qiymatiga asoslanadi;
- har bir kod yaratilganda counter o‘zgaradi;
- server va client counter qiymatini mos saqlaydi;
- hardware tokenlarda uchrashi mumkin.
TOTP vaqtga asoslangan bo‘lsa, HOTP hisoblagichga asoslanadi.
Push OTP
Push OTP yoki push verification foydalanuvchi qurilmasiga yuboriladigan tasdiqlash xabari bilan bog‘liq. Bunda foydalanuvchi kod kiritishi yoki tasdiqlash tugmasini bosishi mumkin.
Push verification quyidagilarda ishlatiladi:
Push asosidagi tasdiqlash OTP konsepsiyasiga yaqin ishlaydi, lekin har doim kod kiritishni talab qilmaydi.
Voice OTP
Voice OTP — foydalanuvchiga telefon qo‘ng‘irog‘i orqali aytiladigan bir martalik kod.
Voice OTP quyidagi holatlarda ishlatilishi mumkin:
- SMS yetib bormaganda;
- telefon raqamini tasdiqlashda;
- accessibility talablarida;
- banking tizimlarida;
- backup verification sifatida.
Voice OTP telefon aloqasi orqali foydalanuvchini tasdiqlash usullaridan biridir.
OTP muddati
OTP odatda qisqa vaqt amal qiladi. Bu muddat tizim xavfsizlik siyosatiga bog‘liq.
OTP muddati quyidagicha bo‘lishi mumkin:
- 30 soniya;
- 1 daqiqa;
- 2 daqiqa;
- 5 daqiqa;
- 10 daqiqa;
- bitta amal tugaguncha.
Muddati tugagan OTP backend tomonidan yaroqsiz deb hisoblanadi.
OTP expiration
OTP expiration — OTP amal qilish muddati tugashi. Expiration OTP xavfsizligining muhim qismidir.
Expiration quyidagilar uchun ishlatiladi:
- eski kodlarni yaroqsiz qilish;
- kod tarqalib ketgan holatda xavfni kamaytirish;
- login jarayonini vaqt bilan cheklash;
- parol tiklash havolalarini muddatli qilish;
- verification jarayonini nazorat qilish.
Muddati tugagan kod qayta ishlatilmaydi.
OTP validation
OTP validation — foydalanuvchi kiritgan kodni backend tomonidan tekshirish jarayoni.
Validation jarayonida quyidagilar tekshiriladi:
- kod to‘g‘rimi;
- kod muddati tugamaganmi;
- kod shu foydalanuvchiga tegishlimi;
- kod shu amal uchun yaratilganmi;
- kod oldin ishlatilmaganmi;
- urinishlar soni limitdan oshmaganmi.
Validationdan o‘tgan OTP amalni tasdiqlaydi.
OTP storage
OTP tizimda vaqtinchalik saqlanishi mumkin. Saqlash joyi tizim arxitekturasiga bog‘liq.
OTP saqlanadigan joylar:
OTP odatda muddati bilan birga saqlanadi va expirationdan keyin o‘chiriladi.
OTP hash
OTP kodni ochiq holda saqlamaslik uchun u hash ko‘rinishida saqlanishi mumkin. Bu parol hashingga o‘xshash xavfsizlik yondashuvi hisoblanadi.
OTP hash jarayonida:
- kod yaratiladi;
- foydalanuvchiga yuboriladi;
- tizimda kodning hash qiymati saqlanadi;
- foydalanuvchi kod kiritadi;
- backend kiritilgan kod hashini saqlangan hash bilan solishtiradi.
Bu usul kod storage’dan tarqalib ketgan holatda xavfni kamaytiradi.
OTP resend
OTP resend — foydalanuvchi kodni olmagan yoki muddati tugagan holatda yangi kod yuborish jarayoni.
Resend jarayonida:
- eski kod yaroqsiz qilinishi mumkin;
- yangi kod yaratiladi;
- kod qayta yuboriladi;
- resend soni cheklanishi mumkin;
- vaqt oralig‘i qo‘yilishi mumkin.
OTP resend SMS, email va telefon tasdiqlash jarayonlarida ko‘p uchraydi.
OTP retry limit
Retry limit — foydalanuvchi OTP kodni necha marta noto‘g‘ri kiritishi mumkinligini cheklash mexanizmi.
Retry limit quyidagilar uchun ishlatiladi:
- kodni taxmin qilish urinishlarini kamaytirish;
- brute force xavfini cheklash;
- account xavfsizligini oshirish;
- verification jarayonini nazorat qilish.
Masalan, foydalanuvchi kodni 5 marta noto‘g‘ri kiritsa, verification jarayoni vaqtincha bloklanishi mumkin.
OTP rate limiting
Rate limiting — OTP yuborish yoki tekshirish urinishlarini ma’lum vaqt ichida cheklash mexanizmi.
Rate limiting quyidagi joylarda qo‘llanadi:
- OTP yuborish;
- OTP resend;
- OTP validation;
- login verification;
- password reset;
- phone verification;
- email verification.
Bu mexanizm spam, brute force va server yukini kamaytirish uchun ishlatiladi.
OTP challenge
OTP challenge — foydalanuvchidan kod kiritish talab qilinadigan vaqtinchalik authentication bosqichi.
OTP challenge ichida quyidagilar bo‘lishi mumkin:
- challenge ID;
- foydalanuvchi ID;
- OTP hash;
- expiration;
- urinishlar soni;
- verification turi;
- yuborilgan kanal.
Token-based login tizimlarida parol tekshiruvdan o‘tgach, access token berishdan oldin OTP challenge yaratilishi mumkin.
OTP va login
OTP login jarayonida ikkinchi bosqich sifatida ishlatilishi mumkin.
Login jarayoni:
- foydalanuvchi login va parol kiritadi;
- backend credentialni tekshiradi;
- OTP yuboriladi yoki so‘raladi;
- foydalanuvchi kodni kiritadi;
- backend OTP’ni tekshiradi;
- session yoki token yaratiladi.
Bu model 2FA va MFA tizimlarida keng ishlatiladi.
OTP va register
Register jarayonida OTP email yoki telefon raqamini tasdiqlash uchun ishlatilishi mumkin.
Registerda OTP orqali:
- email haqiqiyligi tekshiriladi;
- telefon raqami tasdiqlanadi;
- bot yoki spam akkauntlar kamaytiriladi;
- foydalanuvchi akkaunti aktivlashtiriladi;
- contact ma’lumotlari foydalanuvchiga tegishli ekani aniqlanadi.
Masalan, ro‘yxatdan o‘tishdan keyin emailga tasdiqlash kodi yuborilishi mumkin.
OTP va password reset
Password reset jarayonida OTP foydalanuvchini tasdiqlash uchun ishlatiladi.
Jarayon:
- foydalanuvchi parol tiklashni boshlaydi;
- email yoki telefon kiritadi;
- tizim OTP yuboradi;
- foydalanuvchi kodni kiritadi;
- backend kodni tekshiradi;
- foydalanuvchi yangi parol o‘rnatadi.
OTP password reset jarayonida vaqtinchalik ruxsat kodi sifatida ishlaydi.
OTP va email verification
Email verification jarayonida OTP foydalanuvchi email manzilini tasdiqlash uchun ishlatiladi.
Email verificationda:
- tizim emailga kod yuboradi;
- foydalanuvchi kodni kiritadi;
- backend kodni tekshiradi;
- email tasdiqlangan deb belgilanadi.
Bu jarayon ro‘yxatdan o‘tish va email almashtirishda qo‘llanadi.
OTP va phone verification
Phone verification jarayonida OTP foydalanuvchi telefon raqamiga yuboriladi.
Phone verification quyidagilarda ishlatiladi:
- register;
- login;
- account recovery;
- banking;
- payment tizimlari;
- delivery service;
- marketplace platformalar.
Telefon raqami OTP orqali tasdiqlanganda, tizim foydalanuvchi shu raqamga kirish imkoniga ega deb hisoblaydi.
OTP va 2FA
2FA jarayonida OTP ikkinchi omil sifatida ishlatiladi. Foydalanuvchi parolni bilishini va kodni olish imkoniga ega ekanini ko‘rsatadi.
2FA’da OTP quyidagi ko‘rinishda bo‘lishi mumkin:
OTP 2FA tizimlarida eng keng ishlatiladigan mexanizmlardan biridir.
OTP va MFA
MFA bir nechta omilni talab qilishi mumkin. OTP bu omillardan biri sifatida ishlatiladi.
MFA’da OTP quyidagilar bilan birga kelishi mumkin:
- parol;
- biometric authentication;
- security key;
- device verification;
- push notification;
- passkey.
Masalan, parol + TOTP + biometric tasdiqlash MFA jarayonini hosil qilishi mumkin.
OTP va banking
Banking tizimlarida OTP moliyaviy amallarni tasdiqlash uchun ishlatiladi.
Banking OTP quyidagi joylarda uchraydi:
- login;
- pul o‘tkazish;
- karta ulash;
- tranzaksiya tasdiqlash;
- limit o‘zgartirish;
- yangi qurilma qo‘shish;
- parol tiklash.
Banking OTP odatda SMS, push notification yoki mobile app orqali ishlaydi.
OTP va payment
Payment tizimlarida OTP to‘lovni tasdiqlash yoki xavfli amalni tekshirish uchun ishlatiladi.
Payment OTP quyidagilarda ishlatilishi mumkin:
- karta to‘lovini tasdiqlash;
- pul yechish;
- yangi karta qo‘shish;
- payment account login;
- refund tasdiqlash;
- merchant panelga kirish.
Payment tizimlarida OTP transaction xavfsizligi bilan bog‘liq bo‘ladi.
OTP va API
API tizimlarida OTP login yoki sensitive action jarayonida ishlatilishi mumkin.
API’da OTP quyidagi endpointlar bilan bog‘liq bo‘lishi mumkin:
/login;/otp/send;/otp/verify;/password-reset;/email/verify;/phone/verify;/payment/confirm.
Backend OTP’ni tekshiradi va natijaga qarab session, token yoki confirmation status qaytaradi.
OTP va session
OTP muvaffaqiyatli tasdiqlangandan keyin tizim foydalanuvchi uchun session yaratishi yoki mavjud session holatini yangilashi mumkin.
Session ichida quyidagilar saqlanishi mumkin:
- OTP tasdiqlanganligi;
- tasdiqlash vaqti;
- foydalanuvchi ID;
- login bosqichi;
- MFA holati;
- trusted device holati.
Session tizim foydalanuvchi verification bosqichidan o‘tganini bilishi uchun ishlatiladi.
OTP va token
Token-based authentication tizimlarida OTP access token berishdan oldingi bosqich bo‘lishi mumkin.
Jarayon:
- foydalanuvchi login ma’lumotlarini yuboradi;
- backend OTP challenge yaratadi;
- foydalanuvchi OTP kodni yuboradi;
- backend kodni tekshiradi;
- access token va refresh token beradi.
OTP token yaratish jarayonini qo‘shimcha tasdiqlash bilan bog‘laydi.
OTP va xavfsizlik
OTP xavfsizlik mexanizmi bo‘lsa-da, uning o‘zi ham himoyalanishi kerak.
OTP xavfsizligida quyidagilar muhim:
- qisqa amal qilish muddati;
- bir martalik ishlatilishi;
- retry limit;
- rate limiting;
- kodni hash qilib saqlash;
- OTP’ni logga chiqarmaslik;
- phishing xavfini hisobga olish;
- SIM swapping xavfini hisobga olish;
- resend sonini cheklash.
OTP noto‘g‘ri ishlatilsa, authentication jarayonida zaiflik paydo bo‘lishi mumkin.
OTP phishing
OTP phishing — foydalanuvchidan bir martalik kodni soxta sahifaga kiritishga undash holati.
OTP phishing quyidagilar bilan bog‘liq:
- soxta login sahifalar;
- SMSdagi kodni aldab olish;
- emaildagi kodni so‘rash;
- real vaqt rejimida kodni ishlatish;
- social engineering;
- support nomidan kod so‘rash.
OTP kod vaqtinchalik bo‘lsa ham, real vaqt ichida ishlatilishi mumkin.
SIM swapping
SIM swapping — foydalanuvchi telefon raqamini hujumchi o‘z SIM kartasiga o‘tkazib olishga urinadigan hujum turi. Bu SMS OTP xavfsizligiga ta’sir qilishi mumkin.
SIM swapping natijasida:
- SMS OTP hujumchiga borishi mumkin;
- parol tiklash jarayoni xavfga tushadi;
- telefon raqamiga bog‘langan login buzilishi mumkin;
- banking va payment tizimlariga xavf tug‘iladi.
Bu xavf SMS asosidagi OTP bilan bog‘liq.
OTP bypass
OTP bypass — OTP tekshiruvini chetlab o‘tish holati. Bu authentication tizimidagi jiddiy xavfsizlik muammosi hisoblanadi.
OTP bypass sabablari:
- backendda verification tekshiruvi yetishmasligi;
- expired kodni qabul qilish;
- retry limit yo‘qligi;
- challenge ID noto‘g‘ri tekshirilishi;
- session holati noto‘g‘ri boshqarilishi;
- client tomondagi tekshiruvga tayanish;
- API endpoint noto‘g‘ri himoyalanishi.
OTP bypass authentication oqimini zaiflashtiradi.
Dasturlashdagi o‘rni
OTP foydalanuvchi yoki amalni vaqtinchalik kod orqali tasdiqlash uchun ishlatiladigan muhim authentication mexanizmidir. U login, register, parol tiklash, 2FA, MFA, banking va payment jarayonlarida keng qo‘llanadi.
OTP quyidagi loyihalarda uchraydi:
- web ilovalar;
- mobile ilovalar;
- admin panellar;
- SaaS platformalar;
- banking tizimlari;
- payment tizimlari;
- internet do‘konlar;
- authentication service’lar;
- API tizimlar;
- SSO platformalar.
OTP foydalanuvchini yoki muhim amalni qisqa muddatli bir martalik kod orqali tasdiqlash uchun ishlatiladi.
Bog‘liq tushunchalar
Authentication, 2FA, MFA, TOTP, HOTP, SMS kod, Email verification, Password reset, Session, Token, API, Security