Sobes.tech
Middle+

Kuidas õigesti genereerida autoriseerimis tokenid? Mida peaks sisaldama token, et kaitsta end jõu rünnakute eest?

sobes.tech AI

Vastus AI-lt

Õige autoriseerimise tokenite generatsioon peaks tagama unikaalsuse, turvalisuse ja kaitse brute force rünnakute eest. Tavaliselt kasutatakse krüptograafiliselt turvalisi juhuslikke väärtusi või allkirjastatud JWT-sid.

Mida peaks sisaldama token, et kaitsta brute force:

  • Unikaalne identifikaator (näiteks juhuslik UUID või nonce), et tokenid ei korduks.
  • Aja märk või kehtivusaeg (expiration), et piirata tokeni eluiga.
  • Digitaalne allkiri või HMAC, et vältida tokeni võltsimist.
  • Minimaalne vajalik info autentimiseks, ilma liigsete andmeteta.

Näide tokeni genereerimisest Pythonis ja secrets teegiga:

import secrets
import time

def generate_token():
    token = secrets.token_urlsafe(32)  # krüptograafiliselt turvaline juhuslik token
    expiration = int(time.time()) + 3600  # token kehtib 1 tund
    return {'token': token, 'expires_at': expiration}

Brute force rünnakute kaitseks on samuti oluline piirata katsete arvu ning kasutada blokeerimis- või viivituse mehhanisme.