اینجا فقط در ProPrivacy عشق نرم افزار منبع باز. این امر عمدتاً به این دلیل است که علیرغم کامل بودن ، منبع باز تنها راهی را برای اطمینان از وجود برنامه در سطح فراهم می کند.

با این وجود ، یک مشکل این است که چگونه می دانید یک برنامه منبع باز که از وب سایت بارگیری می کنید ، برنامه ای است که برنامه نویس (های) شما برای بارگیری آن در نظر گرفته است؟ هش رمزنگاری یک راه حل جزئی برای این مشکل است.

هش رمزنگاری چیست?

هش رمزنگاری یک اثر انگشت چک یا دیجیتالی است که با انجام یک عملکرد هش یک طرفه (یک عمل ریاضی) روی داده های حاوی یک برنامه رایانه ای (یا سایر فایل های دیجیتال) حاصل می شود.

هرگونه تغییر در فقط یک بایت از داده های حاوی برنامه رایانه ، مقدار هش را تغییر می دهد. بنابراین مقدار هش یک اثر انگشت بی نظیر برای هر برنامه یا پرونده های دیجیتالی است.

بررسی هش چیست؟?

اطمینان از عدم دستیابی به یک برنامه یا فقط خراب کردن آن ، یک مسئله نسبتاً ساده برای محاسبه مقدار هش آن است و سپس مقایسه آن با محفظه هش ارائه شده توسط توسعه دهندگان آن..


اگر همین است ، پس شما یک اطمینان معقول دارید که برنامه ای که بارگیری کرده اید دقیقاً مشابه برنامه منتشر شده توسط توسعه دهنده آن است. اگر اینگونه نباشد ، برنامه به نوعی تغییر کرده است.

دلایل این امر همیشه مخرب نیستند (به تصویر زیر مراجعه کنید) ، اما یک هش بررسی نشده باید زنگ های زنگ را تنظیم کند.

مشکلات مربوط به بررسی های هش

شاید هنگام خواندن تمجید از چک های هش ، یادداشتی از احتیاط تشخیص داده باشید...

صداقت اما احراز هویت نیست

بررسی های هش برای اطمینان از صحت پرونده ها مفید هستند ، اما هیچ نوع تأیید اعتبار را ارائه نمی دهند. یعنی ، آنها برای اطمینان از پرونده یا برنامه ای که با منبع مطابقت دارید خوب هستند ، اما آنها هیچ راهی برای تأیید صحت منبع ندارند.

بررسی های هش هیچ گونه تضمینی در مورد منبع چک هش ارائه نمی دهد.

به عنوان مثال ، وب سایتهای جعلی وجود دارد که نسخه های مخرب نرم افزار محبوب منبع آزاد مانند KeePass را توزیع می کنند. بسیاری از این وب سایت ها حتی برنامه های ارائه شده را نیز برای برنامه هایی که تهیه می کنند ارائه می دهند و اگر شما این برنامه ها را بر علیه برنامه جعلی چک کنید ، مطابقت دارند. اوه.

نقاط ضعف ریاضی

یک مشکل دیگر این است که ضعف های ریاضی می تواند به این معنی باشد که هش ها آنطور که باید نیستند.

به عنوان مثال ، الگوریتم MD5 ، علی رغم آسیب پذیری شناخته شده آن در برابر حملات برخورد ، تابعی بسیار محبوب است. در واقع ، حتی SHA1 از این نظر دیگر امنیت محسوب نمی شود.

با وجود این ، MD5 و SHA1 محبوب ترین الگوریتم های مورد استفاده برای تولید مقادیر هش هستند. با این حال ، SHA256 همچنان ایمن است.

تنبلی توسعه دهنده

توسعه دهندگان بعضی اوقات برنامه های خود را با رفع اشکال و ویژگی های جدید به روز می کنند ، اما از انتشار یک چک لیست هش شده غافل می شوند. این نتیجه هنگام بارگیری و بررسی برنامه هشیاری در صورت عدم موفقیت هش انجام می شود.

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

هش رمزنگاری در مقابل امضاهای دیجیتال

بسیاری از مشکلات مربوط به هش رمزنگاری با استفاده از امضاهای دیجیتالی برطرف شده است که هم صداقت و هم تأیید اعتبار را تضمین می کند.

توسعه دهندگان که از استفاده از کدهای اختصاصی خوشحال هستند می توانند با استفاده از مکانیسم هایی مانند مایکروسافت ، اپل یا Google PKI (زیرساخت های کلید عمومی) به طور خودکار و شفاف هنگام امتحان کردن نرم افزار خود ، اعتبار را امضا کنند..

توسعه دهندگان متن باز این لوکس را ندارند. آنها باید از PGP استفاده کنند ، که بطور طبیعی از هیچ سیستم عامل اختصاصی پشتیبانی نمی شود ، و به همین دلیل هیچ معادل مایکروسافت ، اپل یا Google PKI در لینوکس وجود ندارد.

بنابراین امضاهای دیجیتال PGP باید به صورت دستی تأیید شوند. اما PGP یک خوک کامل برای استفاده است و یک فرآیند ساده نیست ، زیرا نگاهی سریع به راهنمای ما برای بررسی امضاهای PGP در ویندوز نشان می دهد..

فرآیند امضای واقعی برای توسعه دهندگان ، که به خوبی می دانند ، در دنیای واقعی کمتر کسی زحمت دارد که امضاهای دیجیتال را به صورت دستی بررسی کند ، انجام نشده است..

هشدارهای رمزنگاری به هیچ وجه به اندازه امضای دیجیتالی PGP امن نیستند ، اما استفاده از آنها بسیار آسان تر است ، با این نتیجه بسیاری از توسعه دهندگان به جای امضای دیجیتالی کار خود ، به سادگی تصمیم می گیرند که به آنها اعتماد کنند..

شما واقعاً باید هش را بررسی کنید (در صورت عدم امضای دیجیتال)

این وضعیت کمتر از ایده آل است ، و باید همیشه امضای دیجیتالی یک برنامه منبع باز را در صورت وجود بررسی کنید. اگر یک نفر نباشد ، بررسی هش رمزنگاری آن بسیار بهتر از انجام هیچ کاری نیست.

تا زمانی که در مورد منبع اطمینان داشته باشید (برای مثال مطمئن هستید که از وب سایت واقعی توسعه دهنده است که برای نمایش هش رمزنگاری جعلی جعلی نشده است) ، پس بررسی مقدار هش آن یک درجه عادلانه از همزمانی را فراهم می کند که نرم افزار شما باشد. بارگیری کرده اید نرم افزاری است که توسعه دهنده آن برای بارگیری شما در نظر گرفته است.

اگر نه یک امضای دیجیتالی و نه یک چک برای نرم افزار منبع باز در دسترس نیست ، آن را نصب یا اجرا نکنید.

چگونگی بررسی هش

روند اساسی به شرح زیر است:

زیرنویس اختیاری

  1. از شماره هش منتشر شده توسط برنامه نویس یادداشت کنید
  2. مقدار هش پرونده ای را که دارید ایجاد کنید
  3. دو مقدار هش را با هم مقایسه کنید

اگر آنها یکسان باشند ، پرونده ای را که توسعه دهنده قصد داشته باشد در اختیار داشته باشید. اگر اینگونه نباشد ، یا فاسد شده یا با آن دستکاری شده است.

اگر یک هش SHA256 + در دسترس است ، در برابر آن بررسی کنید. اگر نه ، پس از SHA1 استفاده کنید. فقط به عنوان آخرین راه حل باید در برابر هش MD5 بررسی کنید.

راه آسان (همه سیستم ها)

ساده ترین روش برای تولید مقدار هش پرونده ها استفاده از وب سایت مانند ابزارهای آنلاین است. فقط نوع مقدار هش مورد نیاز برای انتخاب را انتخاب کنید ، سپس پرونده مورد نظر را به فضای ارائه شده بکشید و مقدار هش مربوطه ایجاد شود.

مثال

ما می خواهیم یکپارچگی پرونده نصب KeePass را که از وب سایت KeePass.org بارگیری کرده ایم بررسی کنیم (که می دانیم دامنه صحیح است). این وب سایت برای همه نسخه های KeePass خود هش های MD5 ، SHA1 و SHA256 را منتشر می کند ، بنابراین ما SHA256 را برای نسخه ای که بارگیری کردیم بررسی خواهیم کرد..

  1. ما همانطور که در وب سایت KeePass منتشر شده است ، مقدار صحیح هش را یادداشت می کنیم.

  2. سپس از وب سایت ابزارهای آنلاین بازدید می کنیم ، File Hash: SHA256 را انتخاب کرده و پرونده نصب KeePass بارگیری شده خود را به فضای ارائه شده بکشید..

  3. ما خروجی را با چک های منتشر شده در وب سایت KeePass مقایسه می کنیم و آنها یکسان هستند. بنابراین با فرض اینکه وب سایت KeePass برای نمایش مقادیر هش کاذب هک نشده است ، می توانیم اطمینان داشته باشیم که یک پرونده بدون چاپ را بارگیری کرده ایم. بله!

    ویندوز ، macOS و لینوکس همچنین توابع ارزش هش داخلی دارند که از طریق خط فرمان قابل دسترسی هستند...

پنجره ها

این روش در ویندوز 10 خارج از جعبه عمل می کند ، در حالی که کاربران ویندوز 7 ابتدا باید Windows PowerShell را با Windows Management Framework 4.0 به روز کنند..

برای به دست آوردن یک هش SHA256 ، بر روی Start کلیک راست کنید -> ویندوز PowerShell و نوع:

دریافت-FileHash [مسیر / به / پرونده]

مثلا:

Get-FileHash C: \ کاربران \ داگلاس \ بارگیری ها \ KeePass-2.43-Setup.exe

هش های MD5 و SHA1 را می توان با استفاده از نحو محاسبه کرد:

Get-FileHash [مسیر [مسیر / به / پرونده] -الگوریتم MD5

و

Get-FileHash [مسیر [مسیر / به / پرونده] -الگوریتم SHA1

مثلا:

Get-FileHash C: \ کاربران \ داگلاس \ بارگیری ها \ KeePass-2.43-Setup.exe -Algorithm MD5

سیستم عامل مک

باز کردن ترمینال و نوع:

opensl [نوع هش] [/ مسیر / به / پرونده]

نوع هاش باید md5 ، SHA1 یا SHA256 باشد.

به عنوان مثال ، برای بررسی hash SHA256 برای نصب کننده Windows KeePass (فقط برای ساده نگه داشتن چیزها برای این آموزش) ، نوع:

openssl sha256 /Users/douglascrawford/Downloads/KeePass-2.43-Setup.exe

لینوکس

ترمینال را باز کرده یا تایپ کنید:

Md5sum [path / to / file] Sha1sum [path / to / file]

یا

Sha256sum [مسیر / به / پرونده]

مثلا:

sha256sum /home/dougie/Downloads/KeePass-2.43-Setup.exe

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me