---
title: "Bezpečnostný model — Two-Factor for Laravel | Roundly"
description: "Šifrované tajné kľúče, hašované záložné kódy, porovnanie v konštantnom čase, atomická ochrana proti opakovaniu a kontrolovaná konfigurácia."
url: https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/bezpecnost
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Two-Factor for Laravel](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel.md)

# Bezpečnostný model

- Šifrovaný tajný kľúč v databáze — TOTP kľúč sa ukladá cez cast encrypted Laravelu (váš APP\_KEY). Záložné kódy sa predvolene hašujú jednosmerne.
- Skryté pri serializácii — stĺpce tajného kľúča, záložných kódov a posledného časového kroku sú v $hidden, takže return $user; ich nikdy neprezradí. two\_factor\_confirmed\_at zostáva viditeľný pre stav v UI.
- Porovnanie v konštantnom čase — každé porovnanie kódu ide cez ConstantTime z crypto-for-laravel; balík na porovnávanie nikdy nepoužíva ===, md5 ani sha1.
- Atomická ochrana proti opakovaniu — zhodný časový krok sa zaberie jedinou operáciou check-and-set, vrátane kódu, ktorý potvrdil aktiváciu.
- Atomicky jednorazové záložné kódy — spotreba znova načíta riadok pod transakčným zámkom, takže raz vylákaný kód sa nedá použiť dvakrát súbežne.
- Čakajúca aktivácia nikdy neprejde — overenie splní len potvrdený druhý faktor.
- Vstavaná ochrana proti hádaniu — predvolene zapnutá. Každý pokus sa atomicky započíta ešte pred overením, takže súbežné požiadavky nedokážu prepašovať ďalšie pokusy cez limit. Nastavením attempts na null použijete vlastný throttle middleware.
- Kontrolovaná konfigurácia — digits, period, window, secret\_length, attempts a cache.ttl sa overujú za behu; chybné nastavenie vyhodí výnimku namiesto tichého oslabenia 2FA.
- #\[SensitiveParameter\] na každom argumente s tajným kľúčom či kódom ich drží mimo stack trace — fasáda TwoFactor používa RedactsSensitiveArguments z package-toolkit, takže priame volanie currentCode(), verify() či provisioningUri() nenechá tajný kľúč ani vo vlastnom rámci fasády; balík tajné kľúče ani kódy nikdy nezapisuje do logov.

## Žiadna vlastnoručná kryptografia

HOTP/TOTP (RFC 4226 / 6238), URI otpauth://, striktný base32 kodek podľa RFC 4648, generátor tajných kľúčov z CSPRNG aj porovnanie v konštantnom čase pochádzajú z nášho crypto-for-laravel. Nič kryptografické sa tu neimplementuje nanovo — vynucuje to architektonický test. Tento balík zodpovedá za časť na strane Laravelu: aktiváciu, potvrdenie, replay guardy, záložné kódy, obmedzenie pokusov a šifrované stĺpce.

## Hašované vs. šifrované záložné kódy

Režim hashed (predvolený) znamená, že výpis databázy ani uniknutý APP\_KEY nikdy neprezradia platné záložné kódy. Režim encrypted umožní kódy zobraziť znova, za cenu vratnosti pomocou APP\_KEY — pred zmenou si prečítajte sekciu Záložné kódy.

## Čo ponecháva na vás

Balík zámerne nevykresľuje QR obrázky, neobsahuje prihlasovacie obrazovky, routy ani cookies a nevydáva ani neoveruje session či prístupové tokeny. Stará sa o tajný kľúč, kódy a záložné kódy — na notifikácie a auditný log využite jeho udalosti.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel.md)
