Parol kiritish — bu xavfsizlikning faqat birinchi va eng zaif qadami. Agar login tizimi xato qurilgan bo'lsa, xakerlar sizning parolingizni bilmasdan ham butun hisobingizni o'g'irlashi (Session Hijacking) mumkin. Zamonaviy bulutli tizimlarda identifikatsiyani tasdiqlash uchun JSON Web Token (JWT) va Ikki bosqichli autentifikatsiya (2FA/TOTP) qo'llaniladi. Bugungi darsda siz JWT ning kriptografik imzo mexanizmini, tokenlarni qayerda saqlash xavfsizligini va Google Authenticator qanday qilib internetsiz ham har 30 soniyada yangi 6 xonali kod yaratishini o'rganasiz.
Token turi va ishlatilgan shifrlash algoritmi (masalan, HMAC-SHA256 yoki RSA):{
"alg": "HS256",
"typ": "JWT"
}
Foydalanuvchi ma'lumotlari (ID, ism, rol, amal qilish muddati exp):{
"sub": "user_42",
"role": "admin",
"exp": 1769850000
}
Serverdagi maxfiy kalit bilan hisoblangan imzo. Agar xaker bitta harfni o'zgartirsa, imzo buziladi va token rad etiladi!
localStorage.getItem('token') qilib tokenni o'g'irlay oladi.httpOnly: true belgilangan cookie brauzer konsoli va JS ga ko'rinmaydi.sameSite: 'strict' flagi begonalar soxta so'rov yuborishini to'xtatadi.// Xavfsiz Middleware: Tokenni tekshirish
function verifyAuth(req, res, next) {
const token = req.cookies.access_token;
if (!token) return res.status(401).json({ error: 'Kirish rad etildi' });
jwt.verify(token, process.env.JWT_SECRET, (err, user) => {
if (err) return res.status(403).json({ error: 'Yaroqsiz token' });
req.user = user;
next();
});
}2FA yoqilganda server QR kod ko'rsatadi. Bu QR kod ichida maxfiy matn (Secret Key) yashiringan. Telefon kamerasi uni o'qib, o'zida saqlaydi.
Telefon va server Unix vaqtini oladi va 30 ga bo'ladi: T = Math.floor(UnixVaqt / 30). Har 30 soniyada T soni 1 taga oshadi.
Secret va T soni HMAC-SHA1 algoritmi bilan xeshlanadi va 6 xonali qisqa kod olinadi. Internetsiz ham telefon va serverda bir xil kod chiqadi!
Oddiy 'Ha/Yo'q' tugmalari o'rniga, ekranda 2 xonali tasodifiy raqam (masalan, 47) ko'rsatiladi. Foydalanuvchi ushbu raqamni telefoniga o'zi qo'lda kiritishi shart. Bu tasodifiy bosishlarni 100% to'xtatadi!
2022-yilda 18 yoshli kiber-hujumchi (Lapsus$ guruhi) Uber xodimining parolini Darknetdan sotib oldi. Xodimning telefoniga tinimsiz 2FA so'rovlari yuborildi va WhatsApp orqali o'zini IT yordam xizmati deb tanishtirib: 'Agar tasdiqlasangiz, so'rovlar to'xtaydi' deb aldadi. Xodim tasdiqlagach, xaker butun Uber ichki tarmog'iga, Slack va AWS hisoblariga ega bo'ldi.
Soxtalashtirilgan JWT token server tomonidan "403 Invalid Signature" bilan rad etilishi va 2FA kodi har 30 soniyada to'g'ri yangilanishini ko'rsatish!
`JWT_SECRET` kamida 256-bitli tasodifiy murakkab kalitmi?
Token LocalStorage da emas, HttpOnly Cookie da saqlanmoqdami?
TOTP kodi har 30 soniyada o'zgarishi tekshirildimi?
Xavfsiz autentifikatsiya — faqat parol bilan cheklanmaydi. Kriptografik imzolangan JWT, qisqa umrli Access Tokenlar, HttpOnly Cookielar va internetsiz ishlaydigan TOTP 2FA zamonaviy xavfsizlikning ajralmas poydevoridir.