چگونه شکستن بی رحمانه ممکن است رمز عبور شما را فاش کند

یک چکش سعی می کند زورگویی کند و یک قفل باز کند.

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

وقتی صحبت از فرم های وب می شود ، مهاجمان وقت زیادی برای حدس زدن یک کلید ندارند. Google یا Facebook فقط به شخصی اجازه خواهند داد که بارها و بارها وارد حساب شما شود تا “آن را قفل کند.”

هنگامی که هکرها پایگاه داده داخلی یک شرکت را بدست می آورند ، تمام دنیا را برای حدس زدن رمز عبور خود دارند – حتی اگر رمزگذاری شده باشد.

برای محافظت از کاربران ، وب سایتها باید از رمزعبورهای نمکی و هشی استفاده کنند

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

توابع هش ، مانند SHA-256 ، توابع رمزنگاری یک طرفه هستند. هر قطعه از داده ها ، متن ، تصویر یا شماره می تواند “hashed” شود و مهم نیست که ورودی چقدر طولانی باشد ، نتیجه همیشه به طول 256 بیت خواهد بود. هنگامی که در hexadecimal (مانند زیر) رمزگذاری شده باشید ، این یک رشته 64 کاراکتری ایجاد می کند.

هش های نمکی محافظت بیشتری می کنندنمونه هایی از هش های “شور” ، دوباره هش شده است.

چگونه مهاجمان رمز عبور شما را می شکنند

برای سخت تر کردن کارها برای هکرهای احتمالی ، وب سایت ها کلمات عبور را با یک “نمک” اصلاح می کنند ، که یک قطعه داده تصادفی است (ببینید که چگونه نمک و هش کار می کند).

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

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

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

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

چند ترکیب رمز وجود دارد?

فرض گذرواژه فقط از حروف کوچک تشکیل شده است ، برای هر کاراکتر 26 امکان وجود دارد. بنابراین ، شما انتظار دارید که در طی 13 تلاش بتوانید رمز عبور یک شخصیت را حدس بزنید.

رمز عبور دو شخصیت دارای 26 26 26 گزینه است و تلاش برای رمزگشایی (26 × 26) / 2 انجام می شود.

فرمول c = (m ^ n) / 2 رابطه بین امکانات برای هر شخصیت را توصیف می کند (م), طول رمز عبور (ن) و حدس مورد انتظار (ج).

رابطه بین طول رمز عبور و تعداد حدس زدن برای ترک آن

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

  • گذرواژه‌های کوچک (m = 26)
  • حروف بزرگ و بزرگ (m = 52)
  • شخصیت های بزرگ و کوچک و ویژه (m = 67)

اگرچه پیچیدگی و طول هر دو به قدرت یک رمز ورود کمک می کنند ، اضافه کردن یک کاراکتر بسیار مهمتر از افزایش پیچیدگی آن است.

اضافه کردن یک کاراکتر اضافی به یک رمزعبور چهار کاراکتر ، تنها با استفاده از کاراکترهای کوچک باعث می شود که 26 بار شکستن آن سخت تر شود ، در حالی که دو برابر کردن کاراکترهای ممکن به 52 (یعنی اضافه کردن کاراکترهای حروف بزرگ) فقط 16 بار شکستن آن را سخت تر می کند..

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

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

  • گذرواژه‌های کوچک (m = 26)
  • حروف بزرگ و بزرگ (m = 52)
  • شخصیت های بزرگ و کوچک و ویژه (m = 67)

چه مدت طول می کشد تا رمز عبور را بزنید?

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

یک کامپیوتر معمولی احتمالاً در هر ثانیه 100000 حدس می زند. یک پردازنده گرافیکی اختصاصی می تواند 100 برابر سریعتر از این باشد و می توان با وجود صدها GPU مزرعه ترک خوردن رمز ورود ایجاد کرد.

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

اما زمان حل بصورت نمایی افزایش می یابد و رمز عبور 8 کاراکتر 12 روز طول می کشد. گذرواژه 12 کاراکتر 12000 سال طول می کشد.

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

بنابراین ، محافظت از داده های ارزشمند (مانند اطلاعات شخصی یا کلیدهای خصوصی Bitcoin) با گذرواژه‌های بسیار طولانی بسیار مهم است. برای مثال هنگام رمزگذاری کیف پول Bitcoin خود ، ممکن است یک کلید با بیش از 32 کاراکتر ایده خوبی باشد.

هرچه اطلاعات بیشتری راجع به مهاجم داشته باشید ، یک ترک سریعتر اتفاق می افتد

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

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

افراد همچنین تمایل دارند گذرواژاتی را انتخاب کنند که فقط در انتها فقط شماره داشته باشند (مانند hello111) و نام سرویس یا URL را در جایی بنویسید. رمز عبوری که برای Gmail استفاده می شود که حاوی کلمات google یا gmail است و در انتها چهار رقم دارد (مانند gmailpanther1234) ، آسان است آن را شکست ، حتی اگر طولانی باشد.

افراد همچنین تمایل دارند از اسامی حیوانات خانگی یا فرزندان خود به عنوان گذرواژه استفاده کنند ، گاهی اوقات در ترکیب با تاریخ تولد یا سالها ، و رمزعبور بودن آنها را آسان تر از حدس می زنند..

از رمزهای عبور قوی با مدیران رمز عبور استفاده کنید

مهمترین قانون این است: همیشه از یک رمز عبور قوی استفاده کنید.

برای جلوگیری از ایجاد دردسر و به خاطر سپردن گذرواژهای قوی ، از یک مولد رمز عبور تصادفی استفاده کنید تا به راحتی بتوانید رمزهای عبور طولانی ، منحصر به فرد و واقعاً غیر قابل کنترل را ایجاد کنید..

اگر سپس آن رمزعبورها را با یک مدیر رمزعبور ذخیره کنید ، لازم است فقط یک رمزعبور را به خاطر بسپارید (که می توانستید با Diceware تولید کنید ، تا آن را بی خطر تر کنید). علاوه بر این ، احراز هویت دو عاملی به محافظت از حساب در برابر حملات حتی پیچیده تر ، مانند گذرواژهای بدست آمده از حملات فیشینگ کمک می کند.