SHA-1 (مخفف الگوریتم هش ایمن 1) یکی از چندین توابع هش رمزنگاری است.
اغلب برای تأیید اینکه فایلی تغییر نکرده است استفاده می شود. این کار با تولید یک چکسوم قبل از ارسال فایل انجام میشود، و پس از اینکه فایل به مقصد رسید، دوباره انجام میشود.
فایل ارسال شده را تنها در صورتی می توان واقعی تلقی کرد که هر دو چک جمع یکسان باشند.
تاریخچه و آسیب پذیری های عملکرد هش SHA
SHA-1 تنها یکی از چهار الگوریتم در خانواده الگوریتم هش ایمن (SHA) است. اکثر آنها توسط آژانس امنیت ملی ایالات متحده (NSA) توسعه یافته و توسط موسسه ملی استاندارد و فناوری (NIST) منتشر شده است.
SHA-0 دارای اندازه خلاصه پیام 160 بیتی (مقدار هش) است و اولین نسخه از این الگوریتم بود. مقادیر هش آن 40 رقم است. در سال 1993 با نام "SHA" منتشر شد اما در بسیاری از برنامه ها استفاده نشد زیرا در سال 1995 به دلیل نقص امنیتی به سرعت با SHA-1 جایگزین شد.
SHA-1 دومین تکرار از این تابع هش رمزنگاری است. این یکی همچنین دارای خلاصه پیام 160 بیتی است و به دنبال افزایش امنیت با رفع ضعف موجود در SHA-0 است. با این حال، در سال 2005، SHA-1 نیز ناامن بود.
هنگامی که نقاط ضعف رمزنگاری در SHA-1 یافت شد، NIST در سال 2006 بیانیهای صادر کرد و سازمانهای فدرال را تشویق کرد تا از SHA-2 تا سال 2010 استفاده کنند. SHA-2 قویتر از SHA-1 است و حملاتی انجام شد. در برابر SHA-2 بعید است با قدرت محاسباتی فعلی اتفاق بیفتد.
نه تنها آژانس های فدرال، بلکه حتی شرکت هایی مانند گوگل، موزیلا و مایکروسافت همگی برنامه هایی را برای توقف پذیرش گواهینامه های SHA-1 SSL آغاز کرده اند یا قبلاً بارگیری این نوع صفحات را مسدود کرده اند.
Google شواهدی دال بر برخورد SHA-1 دارد که این روش را برای ایجاد جمعهای کنترلی منحصربهفرد غیرقابل اعتماد میکند، خواه در مورد رمز عبور، فایل یا هر قطعه داده دیگری باشد. می توانید دو فایل PDF منحصربفرد را از SHAttered دانلود کنید تا ببینید چگونه این کار می کند. از یک ماشینحساب SHA-1 از پایین این صفحه برای ایجاد جمعبندی بررسی برای هر دو استفاده کنید، و متوجه خواهید شد که این مقدار دقیقاً یکسان است حتی اگر آنها حاوی دادههای متفاوتی باشند.
SHA-2 و SHA-3
SHA-2 در سال 2001، چندین سال پس از SHA-1 منتشر شد. این شامل شش تابع هش با اندازههای خلاصه متفاوت است: SHA-224، SHA-256، SHA-384، SHA-512، SHA-512/224، و SHA-512/256.
توسط طراحان غیر NSA توسعه یافته و توسط NIST در سال 2015 منتشر شد، یکی دیگر از اعضای خانواده الگوریتم هش امن به نام SHA-3 (که قبلاً Keccak بود).
SHA-3 به معنای جایگزینی SHA-2 نیست، مانند نسخه های قبلی که قرار بود جایگزین نسخه های قبلی شوند. در عوض، آن را درست به عنوان جایگزین دیگری برای SHA-0، SHA-1، و MD5 توسعه داد.
SHA-1 چگونه استفاده می شود؟
یک مثال واقعی که در آن SHA-1 ممکن است استفاده شود، زمانی است که رمز عبور خود را در صفحه ورود به وب سایت وارد می کنید. اگرچه بدون اطلاع شما در پسزمینه اتفاق میافتد، اما ممکن است این روشی باشد که یک وبسایت برای تأیید ایمن بودن رمز عبور شما از آن استفاده میکند.
در این مثال، تصور کنید که سعی می کنید به وب سایتی که اغلب بازدید می کنید وارد شوید. هر بار که درخواست ورود به سیستم می کنید، باید نام کاربری و رمز عبور خود را وارد کنید.
اگر وبسایت از تابع درهمسازی رمزنگاری SHA-1 استفاده میکند، به این معنی است که رمز عبور شما پس از وارد کردن آن به یک چکسوم تبدیل میشود. سپس این چکسوم با چکسوم ذخیرهشده در وبسایت که با فعلی شما مرتبط است مقایسه میشود. رمز عبور، چه از زمان ثبت نام گذرواژه خود را تغییر نداده باشید یا چند لحظه پیش آن را تغییر داده باشید. اگر این دو مطابقت داشته باشند، به شما اجازه دسترسی داده می شود. اگر این کار را نکردند، به شما می گویند رمز عبور نادرست است.
مثال دیگری که ممکن است از این تابع هش استفاده شود، برای تأیید فایل است.برخی از وبسایتها مجموع بررسی SHA-1 فایل را در صفحه دانلود ارائه میکنند تا هنگام دانلود فایل، بتوانید چکسوم را برای خودتان بررسی کنید تا مطمئن شوید که فایل دانلود شده همان فایلی است که میخواهید دانلود کنید.
شما ممکن است تعجب کنید که استفاده واقعی در این نوع تأیید کجاست. سناریویی را در نظر بگیرید که در آن شما چک جمع SHA-1 یک فایل را از وب سایت توسعه دهنده می دانید، اما می خواهید همان نسخه را از وب سایت دیگری دانلود کنید. سپس می توانید چک جمع SHA-1 را برای دانلود خود ایجاد کنید و آن را با جمع چک واقعی از صفحه دانلود توسعه دهنده مقایسه کنید.
اگر این دو متفاوت هستند، نه تنها به این معنی است که محتویات فایل یکسان نیست، بلکه ممکن است بدافزار مخفی در فایل وجود داشته باشد، دادهها ممکن است خراب شده و باعث آسیب به فایلهای رایانه شما شود، این فایل نمیتواند هر چیزی که مربوط به فایل واقعی و غیره باشد.
با این حال، می تواند فقط به این معنی باشد که یک فایل نشان دهنده نسخه قدیمی تر برنامه نسبت به دیگری است، زیرا حتی آن تغییر اندک یک مقدار جمع کنترل منحصر به فرد ایجاد می کند.
همچنین اگر در حال نصب سرویس پک یا برنامه یا بهروزرسانی دیگری هستید، ممکن است بخواهید بررسی کنید که دو فایل یکسان هستند زیرا اگر برخی از فایلها در حین نصب گم شوند، مشکلاتی پیش میآید.
SHA-1 Checksum Calculators
نوع خاصی از ماشین حساب می تواند برای تعیین جمع کنترلی یک فایل یا گروهی از کاراکترها استفاده شود.
برای مثال، SHA1 Online و SHA1 Hash Generator ابزارهای آنلاین رایگانی هستند که می توانند جمع کنترلی SHA-1 را از هر گروهی از متن، نمادها و/یا اعداد ایجاد کنند.
آن وب سایت ها، برای مثال، این جفت را ایجاد می کنند:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba