رمزنگاری

پیاده سازی رمز سزار یا همان Caesar cipher با زبان سی پلاس پلاس

سلام
در روش رمزنگاری سزار از چرخش حروف الفبا استفاده می شود. بنابراین نمادها و ارقام بدون تغییر خواهند بود. این روش در زمان باستان جهت رمزنگاری پیام های محرمانه استفاده می شد اما امروزه صرفا بیشتر شبیه اسباب بازی رمزنگاری است!
هدف این مقاله ارتقا و توسعه روش رمزنگاری سزار نیست اما به شما نشان خواهد داد که چگونه این روش را برای زبان انگلیسی و به وسیله ++C پیاده سازی کنید.

چگونه NSA می‌تونه تریلیون‌ها اتصال رمزنگاری‌شده رو بشکنه؟!

سلام

How NSA successfully Broke Trillions of Encrypted Connections

اگر محتوای این مطالب واقعیت داشته باشه می‌شه گفت که فاجعه است.

nsa crack encryption

بله، به نظر می‌رسه که این راز برملاء شده.

با تشکر از اسنودن و افشاءگری‌های اون در سال ۲۰۱۳ این رو فهمیدیم که NSA این قدرت رو داره که اکثر اتصالات رمزنگاری شده رو در فضای اینترنت بشکونه.

اما چیزی که نمی‌دونستیم این بود که NSA واقعا چجوری اتصالات VPN یا کانال‌های SSH یا HTTPS رو می‌شکونه و از این طریق می‌تونه به صدها میلیون ایمیل شخصی در سراسر جهان دسترسی پیدا کنه.

اخیرا، الکس هادرمن و نادیا هنینگر در کنفرانس ACM مقاله‌ای رو ارائه دادند که این ارائه تا این لحظه محتمل‌ترین تئوری‌ایه که می‌گه چجوری NSA این کار رو انجام می‌ده.

پایان عمر الگوریتم هش SHA-1 به دلیل وجود تصادم

سلام

Freestart collision for full SHA-1

همونطور که می‌دونید در بخشی از امضای دیجیتال، چکیده یا همون digest پیام محاسبه و برای این کار از الگوریتم‌های هش استفاده می‌شه.

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

collision in SHA1 Hash Algorithm

روش SHA-1 یکی از این الگوریتم‌هاست که در سال ۱۹۹۵ توسط NSA طراحی‌شده و در حال حاضر هم به صورت گسترده‌ای در وب مورد استفاده قرار می‌گیره.

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

نگاهی کلی بر حمله Logjam

سلام

هشدار! مرورگر شما نسبت به Logjam آسیب‌پذیره و ممکنه از نوع ضعیفی از رمزنگاری استفاده کنه => به روزرسانی

تبادل کلید به روش دیفی-هلمن یکی از مشهور ترین الگوریتم‌های رمزنگاریه که به پروتکل‌های اینترنتی اجازه‌ به اشتراک‌گذاری کلید و برقراری یک ارتباط امن رو میده. این روش به عنوان پایه و اساس خیلی از پروتکل‌هاست مثل HTTPS, SSH, IPsec, SMTPA و کلا پروتکل‌هایه که بر TLS تکیه دارند.

logjam attack

که در ادامه نقاط ضعفی که در این روش وجود داره رو آوردم:

حمله‌ Logjam در برابر پروتکل TLS: حمله‌ Logjam در حملات مردی-در-میان این امکان رو به هکر می‌ده که کانکشن‌های آسیب‌پذیر TLS رو مجبور کنه تا خروجی رمزنگاری به صورت ۵۱۲ بیتی باشه.(اسم این رو downgrade میذاریم) این موضوع به هکر اجازه‌ی خواندن و دستکاری هر داده‌ای رو میده که از طریق این کانکشن جابجا می‌شه.

جعل گواهینامه CA با استفاده از تصادم در MD5

سلام

MD5 considered harmful today, Creating a rogue CA certificate

سطح این مقاله بالاست و نیاز به پیش‌زمینه در خصوص رمزنگاری داره. این مطلب بخش کوتاهی از مقاله‌ی اصلیه و صرفا قسمت Outline of the attack رو ترجمه کردم اگر خوشتون اومد می تونید کل مقاله رو از اینجا بخونید. قبلا به پیشنهاد یکی از دوستانی که یادم نیست کیه(!!) روی این کار کرده بودم. درسته که این مقاله خیلی قدیمیه (سال ۲۰۰۸) اما امروز یه مقاله‌ی جدید خوندم که ترکیب این دوتا با هم دیگه می‌تونه محشر بشه. به دلایلی تصمیم گرفتم این مطلب رو امروز منتشرش کنم اما در خصوص مطلب دیگه فعلا تصمیمی ندارم. بیشتر از این توضیحات نمی‌دم و کسی که این مطلب رو درک کنه خودش به خیلی چیزهای دیگه هم می‌رسه:

MD5 considered harmful today

سناریوی حمله در ادامه آمده است. ما درخواست یک گواهینامه را برای سایت قانونی خود به یک مرکز صدور گواهینامه ی تجاری - که از طرف تمام مرورگرها مورد اعتماد است- ارسال می کنیم. با توجه به قانونی بودن درخواستمان، CA گواهینامه را امضا کرده و به ما باز می گرداند. ما از CA ای استفاده می کنیم که برای تولید امضای گواهینامه از هش MD5 بهره می برد و این مورد بسیار با اهمیت است؛ چراکه  در ادامه می خواهیم درخواست گواهینامه را برداشته و از تصادم موجود در MD5 برای گواهینامه ی دوم استفاده کنیم. گواهینامه ی دوم برای یک وب سایت نیست، بلکه از آن برای صدور گواهینامه ی یک CA میانی استفاده می کنیم تا بتوانیم از آن برای صدور سایر گواهینامه های سایت استفاده کنیم. با توجه به یکسان بودن هش MD5 هر دو گواهینامه (سایت قانونی + CA جعلی)، امضای دیجیتال بدست آمده از CA تجاری به سادگی قابل کپی کردن  در گواهینامه ی CA جعلی است و بنابراین CA جعلی نیز معتبر خواهد ماند.

دعواهای رمزنگاری در وب و دو خبر ناامنی HTTP از سال ۲۰۱۵!

سلام

پروژه Let's Encrypt برای رمزنگاری تمام وب

دقیقا در یک ماه پیش یعنی در ۲۷ آبان پروژه ای به نام Let's Encrypt توسط (Electronic Frontier Foundation (EFF کلید خورد که قراره طی این پروژه به زودی و در سال ۲۰۱۵ تمام ترافیک وب از HTTP به HTTPS منتقل شه. این پروژه قرار نیست ترافیک سایت شما رو به HTTPS ببره بلکه قراره روشی رو راه اندازی کنند تا مثل الان، داشتن HTTPS هزینه بر، زمان بر و دارای تنظیمات نسبتا سختی نباشه و هر وب سرویس کوچکی به راحتی بتونه از این خدمات استفاده کنه. اسپانسر های این پروژه شرکت های بزرگی مثل موزیلا، سیسکو و آکامی اند.

 

اعلام ناامن بودن سایت هایی که از HTTP استفاده می کنند از سال ۲۰۱۵ توسط گوگل

Marking HTTP As Non-Secure from 2015

http traffic

حالا چرا پروژه ای رو آوردم که تاریخش مال یک ماهه پیشه؟!! موضوعی که نظر من رو جلب کرد این بود که دوستان گوگلی ما (در پروژه chromium ) هم دیروز یعنی ۲۵ آذر ۹۳ (۱۶ دسامبر۲۰۱۴) در حالی که کمتر از ۱۵ روز به شروع سال ۲۰۱۵ میلادی داریم اعلام کردند که از سال ۲۰۱۵ تمام سایت هایی که از HTTP استفاده می کنند از نظر کروم به صورت ناامن یا insecure شناخته می شوند. تیم امنیت گوگل این گونه عنوان کرده که: