SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Vojtěch Buba / Developer
Pokročilá validace síly hesla
FB facebook.com/peckadesign TW @peckadesignPokročilá validace síly hesla Vojtěch Buba
O čem to bude
• Proč validovat sílu hesla
• Jak posoudit sílu hesla
• Představení knihovny zxcvbn
• Co nového přináší můj fork
• Jak knihovnu nasadit
• Známé nedostatky
• Otázky
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
Proč validovat sílu hesla
• Přístupy do administrací a kritických sekcí webu
• Edukace uživatelů
• Zvyšuje kredit aplikace
• …
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
Jak posoudit sílu hesla?
Často používaná kritéria:
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Malé a velké písmeno
• Alespoň jedna číslice
• Zvláštní znak
• Minimální délka hesla
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
“Much of what I did I now regret”
Bill Burr pro The Wall Street Journal
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
“Much of what I did I now regret”
Bill Burr pro The Wall Street Journal
• P4ssw0rd!1, P4ssw0rd!2 …
Jak posoudit sílu hesla?
Pokročilejší metody:
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Hledání ve slovnících
• Hledání vzorců dle rozložení klávesnice
• Hledání roků narození a jiných datumů
• Hledání sekvencí např. 12345
• Hledání opakujících se znaků
• Hledání substitucí např. P477w0rd
• Bruteforce test
dropbox/zxcvbn
GitHub: https://github.com/dropbox/zxcvbn
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Originální knihovna napsaná v CoffeeScript
GitHub: https://github.com/bjeavons/zxcvbn-php
• Port do PHP
bjeavons/zxcvbn-php
vojtechbuba/zxcvbn-php-cz-sk
GitHub: https://github.com/VojtechBuba/zxcvbn-php-cz-sk
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Lokalizovaná verze pro češtinu a slovenštinu
• Používá data z https://github.com/lpavlicek/zxcvbn-czech
Co v JS verzi je a PHP nebylo
• Upravený Python skript pro generování slovníku jako JSON
• Textová upozornění a doporučení
• Možnost použití překladů z DB
Jak knihovnu použít
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
Jak si vygenerovat vlastní slovník
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Spustit:
• python3 data-scripts/build_frequency_lists_json.py data/ cs_frequency_list.json data/sk.json
• Argumenty
• Složka se zdrojovými daty data/
• Výstupní soubor cs_frequency_list.json
• Konfigurační soubor data/sk.json
• určuje jaké soubory se mají brát v potáz a v jakém rozsahu
Známé nedostatky
FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
• Diakritika dělá neplechu
Otázky
FB facebook.com/peckadesign TW @peckadesignPokročilá validace síly hesla Vojtěch Buba

Contenu connexe

Plus de PeckaDesign.cz

Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022PeckaDesign.cz
 
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...PeckaDesign.cz
 
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlůmWebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlůmPeckaDesign.cz
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....PeckaDesign.cz
 
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...PeckaDesign.cz
 
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...PeckaDesign.cz
 
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019PeckaDesign.cz
 
Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO PeckaDesign.cz
 
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019PeckaDesign.cz
 
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019PeckaDesign.cz
 
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019PeckaDesign.cz
 
Asynchronní programování
Asynchronní programováníAsynchronní programování
Asynchronní programováníPeckaDesign.cz
 
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...PeckaDesign.cz
 
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...PeckaDesign.cz
 
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...PeckaDesign.cz
 
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...PeckaDesign.cz
 
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019PeckaDesign.cz
 
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaDesign.cz
 
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...PeckaDesign.cz
 

Plus de PeckaDesign.cz (20)

Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
 
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
 
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlůmWebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
 
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
 
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
 
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
 
Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO
 
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
 
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
 
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
 
Asynchronní programování
Asynchronní programováníAsynchronní programování
Asynchronní programování
 
ElasticSearch Dump
ElasticSearch DumpElasticSearch Dump
ElasticSearch Dump
 
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
 
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
 
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
 
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
 
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
 
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
 
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...
Péhápkaři v Pecce: A refactoring Journey – From Legacy to Laravel – Christ...
 

Pokročilá validace síly hesla

  • 1. Vojtěch Buba / Developer Pokročilá validace síly hesla FB facebook.com/peckadesign TW @peckadesignPokročilá validace síly hesla Vojtěch Buba
  • 2. O čem to bude • Proč validovat sílu hesla • Jak posoudit sílu hesla • Představení knihovny zxcvbn • Co nového přináší můj fork • Jak knihovnu nasadit • Známé nedostatky • Otázky FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
  • 3. Proč validovat sílu hesla • Přístupy do administrací a kritických sekcí webu • Edukace uživatelů • Zvyšuje kredit aplikace • … FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
  • 4. Jak posoudit sílu hesla? Často používaná kritéria: FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Malé a velké písmeno • Alespoň jedna číslice • Zvláštní znak • Minimální délka hesla
  • 5. FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba “Much of what I did I now regret” Bill Burr pro The Wall Street Journal
  • 6. FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba “Much of what I did I now regret” Bill Burr pro The Wall Street Journal • P4ssw0rd!1, P4ssw0rd!2 …
  • 7. Jak posoudit sílu hesla? Pokročilejší metody: FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Hledání ve slovnících • Hledání vzorců dle rozložení klávesnice • Hledání roků narození a jiných datumů • Hledání sekvencí např. 12345 • Hledání opakujících se znaků • Hledání substitucí např. P477w0rd • Bruteforce test
  • 8. dropbox/zxcvbn GitHub: https://github.com/dropbox/zxcvbn FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Originální knihovna napsaná v CoffeeScript GitHub: https://github.com/bjeavons/zxcvbn-php • Port do PHP bjeavons/zxcvbn-php
  • 9. vojtechbuba/zxcvbn-php-cz-sk GitHub: https://github.com/VojtechBuba/zxcvbn-php-cz-sk FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Lokalizovaná verze pro češtinu a slovenštinu • Používá data z https://github.com/lpavlicek/zxcvbn-czech Co v JS verzi je a PHP nebylo • Upravený Python skript pro generování slovníku jako JSON • Textová upozornění a doporučení • Možnost použití překladů z DB
  • 10. Jak knihovnu použít FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba
  • 11. Jak si vygenerovat vlastní slovník FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Spustit: • python3 data-scripts/build_frequency_lists_json.py data/ cs_frequency_list.json data/sk.json • Argumenty • Složka se zdrojovými daty data/ • Výstupní soubor cs_frequency_list.json • Konfigurační soubor data/sk.json • určuje jaké soubory se mají brát v potáz a v jakém rozsahu
  • 12. Známé nedostatky FB facebook.com/peckadesign TW peckadesignPokročilá validace síly hesla Vojtěch Buba • Diakritika dělá neplechu
  • 13. Otázky FB facebook.com/peckadesign TW @peckadesignPokročilá validace síly hesla Vojtěch Buba