Hashing in login formulieren gebruiken om veiligheid te verhogen
Inleiding¶
Als je veilig inlog-gegevens wil controleren kun je gebruik maken van hashing of encryptie.
Je maakt er elke dag gebruik van: login-formulieren.\ De digitale leeromgeving (DLO), Git-Lab, je e-mail account, bijna alles zit tegenwoordig verstopt achter slimme login-modules die controleren of jij wel echt bent wie je zegt dat je bent.\ Hoewel het een vanzelfsprekend onderdeel van ons dagelijks leven is geworden, lijkt de techniek die er achter verscholen zit alles behalve vanzelfsprekend. Binnen de kortste keren duizelt het van de vaktermen: hashing, salting, peppering, MD5, SHA256, en nog veel meer. Toch berust het allemaal op simpele principes: principes waar je als cyber security specialist snel bekend mee wordt.
Wat moet ik kunnen?¶
Je moet zelf code kunnen schrijven waarmee wachtwoorden veilig worden opgeslagen, en inlog-gegevens veilig worden gecontroleerd. Hiervoor is het belangrijk dat je weet wat hashing is en hoe het werkt.\ Naast dat je wachtwoorden moet kunnen hashen, is het belangrijk om te beschermen tegen rainbow tables met het gebruik van salting. Er zijn verschillende manieren waarop je een hash kan opstellen: je moet bekend zijn met de belangrijkste hashing-algoritmen, zoals MD5 en SHA.
Hoe leer ik dat?¶
Daarnaast zijn er online goede artikelen beschikbaar die uitleggen hoe dit werkt: - Gegevens valideren:\ Gegevens valideren kan aan de Client-Site (HTML-CSS) en aan de Server-Side (Flask/Python). Het beste is natuurlijk om beide te implementeren.\ Client-Side HMTL validatie zie: HTML/CSS validatie\ Server-Side Flask validatie zie: Flask validatie van [Pythonspot.com] (https://pythonspot.com/login-authentication-with-flask) of Realpython.com.\ Je kan ook kijken op de Flask Tutorial Blueprints and Views.\ Extra Client-Side validatie door middel van JavaScript is ook mogelijk.\ Dat is minder veilig omdat javascript uitgezet kan worden in de browser, maar het kan gebruikersvriendelijk zijn.\ Extra Client-Side Javascript validatie: Flask validatie van w3schools.com of Mozilla.org. - Hashing en Encryption\ Hashing is iets anders dan encryptie.\ Dit staat uitgelegd in geeksforgeeks.org. - Werking van Hashing zie: codecademy.com of [freecodecamp.org}(https://www.freecodecamp.org/news/understanding-encryption-algorithms) of Video op Youtube - Werking van encryptie zie: certera.com of Video op Youtube - Hashing & Salting zie: auth0 of Video op Youtube - What is password protection zie: Microsoft - Google Guidelines on good passwords - OWASP Authentication Cheatsheet
Ook de knowledge base bevat informatie die je kan gebruiken.