Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Computerstoring >> wachtwoorden >> Content
Wat is het algoritme dat Linux gebruikte om het wachtwoord te decoderen?
Linux "decodeert" geen wachtwoorden. Het maakt gebruik van een proces van hashing en zouten om wachtwoorden veilig op te slaan. Hier is een overzicht van het algoritme en gerelateerde concepten:

1. Het doel:veilige wachtwoordopslag

Het fundamentele principe is dat het daadwerkelijke wachtwoord in leesbare tekst *nooit* ergens wordt opgeslagen. Als de database met wachtwoorden ooit zou worden gehackt, zouden aanvallers onmiddellijk toegang hebben tot alle gebruikersaccounts. Hashen en zouten voorkomen dit.

2. Hashing:

* Eenrichtingsfunctie: Hashing is een wiskundige bewerking die het wachtwoord omzet in een reeks tekens van vaste grootte, een zogenaamde 'hash'. Het is een *eenrichtingsfunctie*, wat betekent dat het rekenkundig onhaalbaar (uiterst moeilijk en tijdrovend) is om het proces om te keren en het oorspronkelijke wachtwoord uit de hash af te leiden.

* Botsweerstand: Idealiter zouden verschillende wachtwoorden verschillende hashes moeten opleveren. Een goed hash-algoritme minimaliseert de kans op een ‘botsing’, waarbij twee verschillende wachtwoorden dezelfde hash genereren.

* Gemeenschappelijke hash-algoritmen in Linux:

* bcrypt: Vaak beschouwd als de sterkste en geprefereerde keuze. Het bevat een ingebouwde salt en is ontworpen om rekentechnisch duur te zijn, waardoor het bestand is tegen brute-force-aanvallen.

* Argon2: Een modern algoritme voor het hashen van wachtwoorden dat ook is ontworpen om rekentechnisch duur en geheugenhard te zijn, waardoor de weerstand tegen aanvallen verder wordt vergroot. Het wordt steeds populairder.

* cryptie: Nog een belangrijke afleidingsfunctie die is ontworpen om bestand te zijn tegen aanvallen met brute kracht.

* SHA-512: (Minder gebruikelijk *nu* voor het direct hashen van wachtwoorden, maar vaak gebruikt als onderdeel van een grotere sleutelafleidingsfunctie). Historisch werd gebruikt. Wordt nog steeds soms gebruikt als onderdeel van PAM-configuraties.

* MD5, SHA-1, SHA-256: Gebruik deze niet! Deze worden als verouderd beschouwd en zijn kwetsbaar voor directe wachtwoordhashing. Ze zijn te snel en gemakkelijk te kraken met moderne hardware en vooraf berekende regenboogtabellen. Ze zijn mogelijk aanwezig in oudere systemen, maar moeten worden geüpgraded.

3. Zouten:

* Willekeurigheid toevoegen: Een "salt" is een willekeurige reeks tekens die uniek is voor elke gebruiker. De salt wordt aaneengeschakeld (toegevoegd aan) het wachtwoord *voordat* het wordt gehasht.

* Rainbow Table-aanvallen voorkomen: Rainbow-tabellen zijn vooraf berekende tabellen met hashes voor algemene wachtwoorden. Zonder te zouten kan een aanvaller eenvoudigweg de hash in een regenboogtabel opzoeken om het bijbehorende wachtwoord te vinden. Salting maakt regenboogtabellen nutteloos omdat elk wachtwoord een unieke salt heeft, wat resulteert in een unieke hash, zelfs voor gewone wachtwoorden.

* Het zout wordt samen met de hasj opgeslagen: Cruciaal is dat de salt zelf naast het gehashte wachtwoord wordt opgeslagen in het bestand `/etc/shadow` (of in een database in moderne systemen). Dit is *geen* een beveiligingsprobleem; het zout is *vereist* om een ​​wachtwoord te verifiëren.

* Waarom het zout opslaan? Om het wachtwoord van een gebruiker te verifiëren, moet het systeem:

1. Haal het opgeslagen zout voor die gebruiker op.

2. Voeg het ingevoerde wachtwoord samen met het zout.

3. Hash het resultaat met *hetzelfde* hash-algoritme dat oorspronkelijk werd gebruikt.

4. Vergelijk de nieuw gegenereerde hash met de opgeslagen hash. Als ze overeenkomen, is het wachtwoord correct.

4. Het `/etc/shadow`-bestand (traditionele aanpak)

Traditioneel worden gebruikerswachtwoorden en de bijbehorende informatie opgeslagen in het `/etc/shadow`-bestand. (Opmerking:voor het rechtstreeks bekijken of wijzigen van dit bestand zijn doorgaans rootrechten vereist).

* Rechten: Het `/etc/shadow`-bestand is doorgaans alleen leesbaar voor de `root`-gebruiker, waardoor gewone gebruikers de gehashte wachtwoorden van andere gebruikers niet kunnen zien.

* Structuur: Elke regel in het bestand `/etc/shadow` vertegenwoordigt een gebruikersaccount en heeft het volgende formaat (vereenvoudigd):

```

gebruikersnaam:hashed_password:last_change:min_days:max_days:warn_days:inactive_days:expire_date:flags

```

* Het `hashed_password`-veld: Dit is waar het gezouten en gehashte wachtwoord wordt opgeslagen. Het formaat van dit veld bevat meestal een identificatie voor het gebruikte hash-algoritme, de salt en de daadwerkelijke hash. Bijvoorbeeld:

* `$6$SOME_RANDOM_SALT$aVeryLongHashedPasswordString` (Dit gebruikt SHA-512)

* `$2b$10$ANOTHER_RANDOM_SALT$EvenLongerHashedPasswordString` (Dit gebruikt bcrypt)

* `$6` geeft SHA-512 aan

* `$2b` geeft bcrypt aan

* Het getal (bijvoorbeeld `10` in bcrypt) geeft de *kostenfactor* of *werkfactor* aan. Een hogere kostenfactor maakt het hashingproces rekentechnisch duurder, waardoor de tijd die nodig is om het wachtwoord te kraken toeneemt.

5. Moderne systemen en PAM (Pluggable Authentication Modules)

* Databases: Moderne systemen maken vaak gebruik van databases (bijvoorbeeld LDAP, Active Directory) om gebruikersaccountinformatie op te slaan, inclusief gehashte wachtwoorden.

* PAM: PAM is een flexibel raamwerk waarmee systeembeheerders verschillende authenticatiemechanismen kunnen configureren. Het wordt gebruikt om het authenticatieproces af te handelen, inclusief het hashen van wachtwoorden, het verifiëren van wachtwoorden en het uitvoeren van andere beveiligingsgerelateerde taken. PAM-configuratiebestanden (bijvoorbeeld in `/etc/pam.d/`) bepalen welke authenticatiemodules worden gebruikt en hoe deze worden geconfigureerd.

Voorbeeldscenario:verificatie van gebruikerswachtwoord

1. Gebruiker voert wachtwoord in: De gebruiker typt zijn wachtwoord in een inlogprompt of applicatie.

2. Systeem haalt zout op: Het systeem zoekt het account van de gebruiker op en haalt de opgeslagen salt op uit `/etc/shadow` (of de juiste database).

3. Aaneenschakeling en hashing: Het systeem voegt het ingevoerde wachtwoord samen met de opgehaalde salt. Vervolgens gebruikt het het hash-algoritme dat is aangegeven in het item `/etc/shadow` (bijvoorbeeld SHA-512 of bcrypt) om het gecombineerde wachtwoord en de salt te hashen.

4. Vergelijking: De nieuw gegenereerde hash wordt vergeleken met de opgeslagen hash in `/etc/shadow`.

5. Authenticatie geslaagd/mislukt: Als de twee hashes overeenkomen, is de authenticatie succesvol. Anders mislukt de authenticatie.

Belangrijke overwegingen:

* Wachtwoordcomplexiteit: Moedig gebruikers aan om sterke wachtwoorden te kiezen die lang, complex en moeilijk te raden zijn.

* Regelmatige wachtwoordwijzigingen: Door gebruikers periodiek te verplichten hun wachtwoord te wijzigen, kan het risico op wachtwoordcompromis worden beperkt.

* Multi-Factor Authenticatie (MFA): Het gebruik van MFA voegt een extra beveiligingslaag toe doordat gebruikers meerdere vormen van identificatie moeten opgeven, zoals een wachtwoord en een code van hun telefoon.

* Beveiligingsaudits: Het regelmatig controleren van de beveiligingsconfiguratie van uw systeem kan helpen bij het identificeren en aanpakken van potentiële kwetsbaarheden.

* Op de hoogte blijven: Houd uw besturingssysteem en software up-to-date met de nieuwste beveiligingspatches.

Samengevat: Linux "decodeert" geen wachtwoorden. Het maakt gebruik van een sterke combinatie van salting en hashing om wachtwoordrepresentaties veilig op te slaan. De 'bcrypt'- en 'Argon2'-algoritmen hebben over het algemeen de voorkeur vanwege hun weerstand tegen brute-force-aanvallen. Het correct configureren van PAM en het veilig houden van uw systeem zijn cruciaal voor het beschermen van gebruikersaccounts.

Previous: Next:
  wachtwoorden
·Hoe maak je een WEP- wachtwoor…
·Hoe kan ik een account wachtwo…
·U bent uw tally-wachtwoord ver…
·Adres en faxnummer om de maand…
·Hoe zet ik een wachtwoord op e…
·Ze willen niet dat onbevoegden…
·Hoe een niet-opgeslagen Passwo…
·Wat is Katie -wachtwoord? 
·Hoe krijg ik mijn wachtwoord t…
  Related Articles
Welke rol speelt de objectieve functie b…
Wat is de betekenis van een universeel z…
Wat is de definitie van een algoritme en…
Wat is de beste manier om het reparatiep…
Wat zijn de belangrijkste kenmerken van …
Wat zijn de belangrijkste verschillen tu…
Wat zijn de belangrijkste verschillen tu…
Wat zijn de belangrijkste verschillen tu…
Wat zijn de nadelen van een grafisch wac…
  Computerstoring Articles
·Hoe Kodi op Smart TV te installeren 
·Welk type malware is ontworpen om het no…
·Waarom Zal niet Chkdsk Run ? 
·Hoe u uw X (Twitter)-account kunt verwij…
·Hoe maak ik waarschuwings-, prompt- en b…
·Hoe reken je 464,5 liter om naar kilogra…
·Waar vind ik Bluetooth op mijn laptop? 
·Hoe verwijder ik een enkel frame uit een…
·Hoe doet u mee rmvb bestanden 
Copyright © Computer Kennis https://www.nldit.com