اطلاعیه

بستن
هنوز اعلام نشده است.

Password Encryption

بستن
X
  • فیلتر کردن
  • زمان
  • نمایش
پاک کردن همه
پست های جدید

  • Password Encryption

    همانطور که می دانید پسوردها در لینوکس در فایل /etc/shadow ذخیره می شوند.

    الگوریتمی که لینوکس به طور پیش فرض استفاده می کند MD5 (Message-Digest algorithm 5) است. برای چک کردن این مطلب دستور زیر را می زنیم :

    $ cat /etc/login.defs | grep ENCRYPT_METHOD

    ENCRYPT_METHOD MD5

    همچنین از مقدار $1$ در اول پسورد hash شده این قضیه معلوم می شود :

    # grep vahid /etc/shadow

    vahid:$1$MMeXr9/v$vGA2B5YeLI1dUObfbaCbf/:15675:0:99999:7:::

    لینوکس به جای این که مستقیما MD5 Hash مربوط به پسورد کاربر را در فایل /etc/shadow قرار دهد آن را با یک مقدار به نام salt که یک مقدار random است ترکیب می کند و ترکیب این دو را در فایل /etc/shadow قرار می دهد و برای همین است که دو کاربر که پسورد یکسان دارند با این که MD5 Hash پسوردهای آنها با هم یکی می شود ولی مقادیر متفاوتی را در فایل /etc/shadow می بینیم. می توان برای درک بهتر روش محاسبه آن را به صورت زیر در نظر گرفت (در عمل روش محاسبه پیچیده تر است)

    hash = md5($salt.$password)



    این کار برای جلوگیری از حمله های brute-forceاستفاده می شود این حمله ها از Rainbow tableها استفاده می کنند که میتوان آنها را یک dictionary بزرگ از مقادیر hash های از پیش حساب شده و پسوردهای معادل این hash ها در نظر گرفت.

    ترکیب یک پسورد با مقادیر تصادفی salt حدس زدن آن را برای این حمله مشکلتر می کند.



    اگر دوباره به پسورد hash شده نگاه کنیم می بینیم که از چند قسمت تشکیل شده است که با علامت $ جدا شده است :

    vahab:$1$MMeXr9/v$vGA2B5YeLI1dUObfbaCbf/:15675:0:99999:7:::

    $1$ که نمایانگر الگوریتم MD5 است

    8 کاراکتر بعدی تا قبل از علامت $ که مقدار تصادفی salt است.

    22 کاراکتر آخر که hash شده ترکیب پسورد کاربر و مقدار salt است.



    پس زمانی که کاربر قصد ورود به سیستم را دارد ، سیستم پسورد کاربر را با salt مشخص شده آن کاربر در /etc/shadow ترکیب کرده و سپس مقدار MD5 آن را (پس از انجام یک سری محاسبات) با این 22 کاراکتر مقایسه می کند و در صورتی که با این مقدار برابر بود به کاربر اجازه ورود می دهد.
    Telegram : https://telegram.me/linuxzone

    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : http://www.linkedin.com/profile/view...15&trk=spm_pic
پردازش ...
X