آمارهای جالبی دربارهء کرک هش پسورد / key stretching

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

پسوردهای استفاده شده:

- یک رشتهء تصادفی شامل 6 حرف کوچک؛ مثل sfgroy.
- یک رشتهء تصادفی شامل 8 حرف کوچک؛ مثل ksuvnwyf.
- یک رشتهء تصادفی شامل 8 کاراکتر از میان 95 کاراکتر اسکی قابل چاپ؛ مثل 6,uh3y[a.
- یک رشتهء تصادفی شامل 10 کاراکتر از میان 95 کاراکتر اسکی قابل چاپ؛ مثل H.*W8Jz&r3.
- یک رشتهء متنی شامل 40 کاراکتر؛ مثل This is a 40-character string of English.
- یک رشتهء متنی شامل 80 کاراکتر؛ مثل This is an 80-character phrase which you probably won’t be able to crack easily..

توضیحات مترجم:

این تخمین ها بر اساس قیمت سخت افزارهای سفارشی مخصوص کرک و عملیات رمزنگاری تهیه شده اند، نه کرک روی PC.
همانطور که مشاهده میکنید، بطور مثال هش یک پسورد 8 کاراکتری که در آن از حروف بزرگ و کوچک و اعداد و علامتهای مختلف استفاده شده است، در مدت یک سال با صرف هزینه های بسیار متفاوتی امکان پذیر است که این هزینه ها به الگوریتم استفاده شده برای تولید هش از پسورد بستگی دارند. بطور مثال هزینه برای کرک یک مرحله MD5 ساده کمتر از یک دلار است! اما با استفاده از الگوریتم های مخصوص مجهز به متد key stretching میتوان این هزینه را بسیار بالاتر برد. بطور مثال با الگوریتم PBKDF2 به 18 هزار دلار هزینه برای سخت افزار پایه جهت کرک چنین پسوردی نیاز خواهد بود، با الگوریتم bcrypt به 130 هزار دلار، و با الگوریتم scrypt به 4.8 میلیون دلار!

تعداد دورهای اینگونه الگوریتم ها (مجهز به key stretching) قابل تنظیم است که منجر به تفاوت زمان اجرا میشود؛ در مثال و هزینه هایی که ذکر کردم زمان اجرا بر روی یک پردازندهء 2.5 گیگاهرتزی Intel Core 2 Duo درحدود 100 میلی ثانیه (معادل یک دهم ثانیه) تنظیم شده است. زمان اجرای 100 میلی ثانیه از آنجا انتخاب شده است چون از نظر محققان این زمان حداکثر زمانی است که بصورت معقولی میتوان بر روی سیستمهای لاگین تحمیل کرد.

ضمنا توجه داشته باشید که این هزینه ها برای کرک فقط یک هش پسورد هستند. بنابراین اگر کرکر بخواهد 10 هش را مورد حملهء Brute-force قرار دهد، بطور مثال به 10 سال زمان یا 10 برابر هزینهء بیشتر برای سخت افزار پایه نیاز خواهد داشت (یا مثلا 2 سال زمان و 5 برابر هزینهء سخت افزار). هزینهء برق و موارد دیگر هم که جداست و محاسبه نشده است.

هزینهء سخت افزار مورد نیاز برای کرک یک سالهء پسورد 8 کاراکتری که هر کاراکتر از میان یکی از حروف کوچک انگلیسی انتخاب شده است:

PBKDF2: کمتر از یک دلار
bcrypt: چهار دلار
scrypt: صد و پنجاه دلار

هزینهء کرک یک سالهء پسورد 8 کاراکتری هر کاراکتر متشکل از حروف کوچک و بزرگ و اعداد و علامتهای مختلف:

یک مرحله MD5: کمتر از یک دلار
PBKDF2: هجده هزار دلار
bcrypt: صد و سی هزار دلار
scrypt: چهار و هشت دهم میلیون دلار

هزینهء کرک یک سالهء پسورد 10 کاراکتری هر کاراکتر متشکل از حروف کوچک و بزرگ و اعداد و علامتهای مختلف:

یک مرحله MD5: هزار و صد دلار
PBKDF2: صد و شصت میلیون دلار
bcrypt: یک و دو دهم میلیارد دلار
scrypt: چهل و سه میلیارد دلار

هزینهء کرک یک سالهء پسورد متنی (به اینگونه پسوردها Passphrase گفته میشود) 40 کاراکتری:

یک مرحله MD5: یک دلار
PBKDF2: دویست هزار دلار
bcrypt: یک و نیم میلیون دلار
scrypt: پنجاه و دو میلیون دلار

=====================

منبع: http://www.tarsnap.com/scrypt/scrypt.pdf

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>