NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Passkeys for Laravel

Bezpečnostný model

Balík zodpovedá za ceremóniu: viazanie challenge, overenie originu a RP ID, politiku prítomnosti a overenia používateľa, zosúladenie počítadla podpisov a dôveru atestácie. Kryptografia — dekódovanie CBOR/COSE, parsovanie kľúčov a overovanie podpisov — beží na crypto-for-laravel a nikde v reťazci nie je kryptografia tretích strán.

  • Jednorazové challenge s TTL v cache — atomické načítanie a zmazanie, takže sú odolné voči replay útokom.
  • Challenge viazané na ceremóniu — challenge vydanú pre registráciu overovanie prihlásenia odmietne a naopak.
  • Registračné challenge viazané na používateľa — overovanie odmietne odpoveď pre iného používateľa (dodatočná ochrana pri registrácii administrátorom).
  • Prihlasovacie challenge viazané na používateľa (WebAuthn L3 §7.2, kroky 5–6) — kľúč, ktorý možnosti neponúkli, sa odmietne pred overením podpisu a pred akýmkoľvek zápisom.
  • Očakávaný vlastník — AuthenticationExpectation viaže kľúč na typ vlastníka alebo konkrétny účet ešte pred spotrebovaním challenge.
  • Allowlist originov a overenie hashu RP ID pri každej ceremónii.
  • Porovnanie challenge a identifikátora používateľa v konštantnom čase.
  • Overenie podpisov ES256 (s prevodom DER↔raw), RS256 a Ed25519; chyba overenia je vždy neúspech, nikdy úspech.
  • Žiadna zámena algoritmov — algoritmus pochádza z COSE kľúča uloženého kľúča, nikdy z podpísanej odpovede.
  • Politika poklesu počítadla — reject, alebo flag s udalosťou — na odhalenie klonovaných autentifikátorov. Počítadlo sa posúva len dopredu, jedným podmieneným UPDATE … WHERE sign_count < ?, takže nižšiu hodnotu nezapíše späť ani pokles, ani dva súbežné podpisy.
  • Prihlásenie bez mena musí uviesť svoj účet (WebAuthn §7.2, krok 6) — možnosti vydané bez používateľa vyžadujú v odpovedi userHandle, ktorý sa musí zhodovať s identifikátorom kľúča.
  • Žiadna enumerácia používateľov — každý neúspech prihlásenia vráti jednotné CredentialNotFound.
  • Príznaky zálohy podľa WebAuthn L3 — zálohovaný kľúč musí byť na zálohu oprávnený; oprávnenosť na zálohu sa určí pri registrácii a podpis, ktorý ju zmení, sa odmietne; stav zálohy sa zaznamená pri každom prijatom podpise.
  • Monotónna dôvera atestácie (ignore ⊂ self ⊂ basic) s obmedzeniami CA podľa RFC 5280 pre každého vydavateľa v reťazci, pričom všetky rozhodnutia o dôvere padajú na jednom mieste, v AttestationGate.
  • ID roamingových kľúčov sa ukladajú celé; unikátny index stojí na sha-256 hashi ID, takže sa zmestí do limitu dĺžky kľúča každej databázy.

Čo zostáva na vás

Žiadne prihlasovacie routy, controllery, views, cookies ani CSRF; žiadne spúšťanie session ani vydávanie prístupových tokenov; žiadne obmedzovanie pokusov. Balík vám odovzdá overené kľúče a typované udalosti — obmedzovanie pokusov na endpointoch ceremónií aj vydávanie session či tokenov si doplňte sami.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.