اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

Password Encryption

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

    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 کاراکتر مقایسه می کند و در صورتی که با این مقدار برابر بود به کاربر اجازه ورود می دهد.
    Instagram : https://www.instagram.com/iranlinuxforum

    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 : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X