Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> otázka >> hesla >> .

Čo je algpritmus, ktorý Linux použil na dekódovanie hesla?

Linux „dekóduje“ heslá. Používa proces hashing a solenie bezpečne ukladať heslá. Tu je rozdelenie algoritmu a súvisiacich konceptov:

1. Cieľ:zabezpečené úložisko hesla

Základným princípom je, že skutočné heslo PlointExt je * nikdy * nikde uložené. Keby bola databáza obsahujúca heslá niekedy ohrozená, útočníci by okamžite mali prístup ku všetkým používateľským účtom. Hashing a solenie tomu zabránia.

2. Hashing:

* jednosmerná funkcia: Hashing je matematická operácia, ktorá transformuje heslo na reťazec znakov s pevnou veľkosťou s názvom „hash“. Je to * jednosmerná * funkcia, čo znamená, že je výpočtovo nerealizovateľná (mimoriadne náročná a časovo náročná) na zvrátenie procesu a odvodenie pôvodného hesla z hashu.

* Odolnosť proti kolízii: V ideálnom prípade by rôzne heslá mali vytvárať rôzne hashy. Dobrý algoritmus hashovania minimalizuje pravdepodobnosť „zrážky“, kde dve rôzne heslá generujú rovnaký hash.

* bežné hashovacie algoritmy v Linuxe:

* bcrypt: Často sa považuje za najsilnejšiu a preferovanú voľbu. Zahŕňa vstavanú soľ a je navrhnutá tak, aby bola výpočtovo drahá, takže je odolná voči útokom brutálnej sily.

* argon2: Algoritmus moderného hesla, ktorý je tiež navrhnutý tak, aby bol výpočtovo drahý a tvrdý pamäť a ďalej zvyšuje odpor voči útokom. Je to populárnejšie.

* scrypt: Ďalšia kľúčová funkcia derivácie navrhnutá tak, aby bola odolná proti útokom brutálnej sily.

* SHA-512: (Menej bežné * teraz * pre priame hashovanie hesla, ale často sa používa ako súčasť väčšej funkcie derivácie kľúča). Historicky sa použili. Sa niekedy používa ako súčasť konfigurácií PAM.

* md5, sha-1, sha-256: Nepoužívajte ich! Tieto sa považujú za zastarané a zraniteľné pre priame hashovanie hesla. Sú príliš rýchle a ľahko prasknuté moderným hardvérom a vopred vysielanými dúhovými stolmi. Môžu sa nachádzať v starších systémoch, ale mali by byť vylepšené.

3. Solenie:

* Pridanie náhodnosti: „Soľ“ je náhodný reťazec znakov, ktorý je pre každého používateľa jedinečný. Soľ je zreťazená (pridaná do) hesla * Pred * je hashed.

* Prevencia útokov na tabuľku dúhových: Dúhové tabuľky sú vopred vysielané tabuľky hash pre bežné heslá. Bez sola by útočník mohol jednoducho vyhľadať hash v dúhovej tabuľke, aby našiel zodpovedajúce heslo. Solovanie robí z dúhových tabuliek zbytočné, pretože každé heslo má jedinečnú soľ, výsledkom čoho je jedinečný hash dokonca aj pre bežné heslá.

* Soľ je uložená s hashom: Je dôležité, že samotná soľ je uložená spolu s hashed heslom v súbore `/etc/Shadow` (alebo v niektorých databázach v moderných systémoch). Toto nie je * bezpečnostná zraniteľnosť; Na overenie hesla sa vyžaduje soľ * *

* Prečo uložiť soľ? Na overenie hesla používateľa musí systém:

1. Získajte uloženú soľ pre tohto používateľa.

2. Zhretnite zadané heslo so soľou.

3. Hash Výsledok pomocou pôvodného algoritmu hashovania * rovnakého *.

4. Porovnajte novo generovaný hash s uloženým hashom. Ak sa zhodujú, heslo je správne.

4. Súbor `/etc/Shadow` (tradičný prístup)

Heslá používateľov a ich súvisiace informácie sa tradične ukladajú v súbore `/etc/Shadow`. (Poznámka:Priame prezeranie alebo úpravy tohto súboru zvyčajne vyžadujú oprávnenia root).

* Povolenia: Súbor `/etc/Shadow` je zvyčajne čitateľný iba používateľom„ root “, ktorý zaisťuje, že bežní používatelia nemôžu vidieť hashované heslá iných používateľov.

* Štruktúra: Každý riadok v súbore `/etc/Shadow` predstavuje používateľský účet a má nasledujúci formát (zjednodušený):

`` `

Užívateľské meno:hashed_password:last_change:min_days:max_days:warn_days:inaktive_days:expire_date:príznaky

`` `

* pole `hashed_password`: To je miesto, kde sa ukladá heslo soľného a hashedu. Formát tohto poľa zvyčajne obsahuje identifikátor použitého algoritmu hashovania, soľ a skutočný hash. Napríklad:

* `$ 6 $ Niekto_random_salt $ AveryLonghashedpasswordString` (používa sa SHA-512)

* `$ 2B $ 10 $ $ ďalší_random_salt $ EvenLongerhashedpasswordString` (používa sa Bcrypt)

* `$ 6` Označuje SHA-512

* `$ 2b` Označuje bcrypt

*Číslo (napr. `10` v Bcrypt) označuje *nákladový faktor *alebo *pracovný faktor *. Vďaka vyšším nákladovým faktorom je proces hashovania výpočtovejšie drahší a zvyšuje čas potrebný na prelomenie hesla.

5. Moderné systémy a PAM (moduly pluggable Authentication)

* Databázy: Moderné systémy často používajú databázy (napr. LDAP, Active Directory) na ukladanie informácií o používateľskom účte vrátane hesiel hashed.

* pam: PAM je flexibilný rámec, ktorý umožňuje správcom systému nakonfigurovať rôzne mechanizmy autentifikácie. Používa sa na zvládnutie procesu autentifikácie vrátane hashovania hesiel, overenia hesiel a vykonávania ďalších úloh súvisiacich s bezpečnosťou. Konfiguračné súbory PAM (napr. V `/etc/pam.d/`) Stanovte, ktoré autentifikačné moduly sa používajú a ako sú nakonfigurované.

Príklad Scenár:Overenie hesla používateľa

1. používateľ zadáva heslo: Užívateľ zadá svoje heslo do prihlásenia alebo aplikácie.

2. systém načíta soľ: Systém vyhľadáva účet používateľa a načíta uloženú soľ z `/etc/Shadow` (alebo príslušnú databázu).

3. Zhromaždenie a hashing: Systém zrealizuje zadané heslo so získanou soľou. Potom používa hashovací algoritmus uvedený v zázname `/etc/Shadow` (napr. SHA-512 alebo BCrypt) na hash kombinované heslo a soľ.

4. Porovnanie: Novo vygenerovaný hash sa porovnáva s uloženým hashom v `/etc/Shadow`.

5. Autentifikácia Úspech/zlyhanie: Ak sa tieto dva hashové zhodujú, autentifikácia je úspešná. Inak autentifikácia zlyhá.

Dôležité úvahy:

* Zložitosť hesla: Povzbudzujte používateľov, aby si vybrali silné heslá, ktoré sú dlhé, zložité a ťažko uhádnuteľné.

* Pravidelné zmeny hesla: Pravidelne vyžaduje, aby používatelia zmenili svoje heslá, môže pomôcť zmierniť riziko kompromisu hesla.

* Multifaktorové overenie (MFA): Použitie MFA pridáva ďalšiu vrstvu zabezpečenia tým, že používatelia vyžadujú, aby poskytovali viac foriem identifikácie, napríklad heslo a kód z telefónu.

* bezpečnostné audity: Pravidelné audity konfigurácie zabezpečenia vášho systému môže pomôcť identifikovať a riešiť potenciálne zraniteľné miesta.

* Zostanú aktualizované: Udržujte svoj operačný systém a softvér aktuálne pomocou najnovších bezpečnostných záplat.

v súhrne: Linux „dekóduje“ heslá. Používa silnú kombináciu slaného a hashovania na bezpečné ukladanie reprezentácií hesiel. Algoritmy `bcrypt` a` argon2` sú vo všeobecnosti uprednostňované pre ich odpor voči útokom brutálnej sily. Správna konfigurácia PAM a udržiavanie bezpečnosti systému sú rozhodujúce pre ochranu používateľských účtov.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené