PDA

View Full Version : سوال: اگه پسورد کد نشه چی میشه!؟



payamka
پنج شنبه 19 بهمن 1391, 12:42 عصر
سلام
اگه پسوردای کاربرا تو دیتابیس همونجوری ذخیره بشه چه اشکالاتی داره؟

ravand
پنج شنبه 19 بهمن 1391, 13:18 عصر
اگه پسورد شما رمزگزاری شده نباشه و هکر سایت شما رو هک کنه و پسورد شما رو بدست بیاره راحت میتونه لاگین کنه.

tehro0n
پنج شنبه 19 بهمن 1391, 14:38 عصر
استفاده از md5 و .. به این دلیل هست که اگه هکر به دیتابیست دسترسی پیدا کرد حالا با مانع کد شده بودن پسوردها روبه رو شه و امنیت کاربرا تضمین بشه..
مورد های دیگه ای هم هست، مثلا وقتی md5 می کنی کاربر هر کاراکتری می تونه استفاده کنه و شما هم خیالت راحته..
و یا اینکه اگه بیشتر از 32 کاراکتر هم باشه دیتابیست همون 32 کاراکتر کد شده رو ذخیره می کنه

ravand
پنج شنبه 19 بهمن 1391, 15:57 عصر
اگه سایت شما مثلا یه سایت اجتماعی هست و کاربرای بیشتری عضو میشن . ممکنه میون این کاربرا یه سری کاربر هستن که نمیدونن پسورد رو چجوری بنویسن که امنیتش بالا باشه برای همین بهتره شما تنها از md5 استفاده نکنی.

eshpilen
پنج شنبه 19 بهمن 1391, 17:59 عصر
سلام
اگه پسوردای کاربرا تو دیتابیس همونجوری ذخیره بشه چه اشکالاتی داره؟
اونوقت اگر این پسوردها به دست دیگران بیفته، میتونن ازش برای نفوذ به اکانتهای دیگر کاربر که ممکنه روی سایتهای دیگری هم باشن سوء استفاده کنن.
چون خیلی از کاربران ممکنه از پسوردهای یکسان یا مشابه برای سایتها/اکانتهای مختلف استفاده کنن.
به این مسئله در بیشتر منابع امنیتی دربارهء علت هش کردن پسورد به وضوح اشاره شده؛ یعنی دلیل اصلیش اینه، ولی دلایل/مزایای دیگری هم میتونه داشته باشه.
البته یک هش معمولی مثل md5 یا sha256 به تنهایی خیلی ضعیفه و میتونه با روشهای Brute-force و dictionary و rainbow table و غیره کرک بشه (مگر اینکه پسورد کاربر واقعا قوی بوده باشه)؛ بنابراین از یکسری روشهای خاصی مثل salt و key stretching برای دشوارتر کردن کردن کرک هش ها استفاده میکنن که حداقل هزینهء این کار و کندیش خیلی بیشتر بشه برای کرکرها.

MinusOne
جمعه 20 بهمن 1391, 00:23 صبح
اونوقت اگر این پسوردها به دست دیگران بیفته، میتونن ازش برای نفوذ به اکانتهای دیگر کاربر که ممکنه روی سایتهای دیگری هم باشن سوء استفاده کنن.
چون خیلی از کاربران ممکنه از پسوردهای یکسان یا مشابه برای سایتها/اکانتهای مختلف استفاده کنن.
به این مسئله در بیشتر منابع امنیتی دربارهء علت هش کردن پسورد به وضوح اشاره شده؛ یعنی دلیل اصلیش اینه، ولی دلایل/مزایای دیگری هم میتونه داشته باشه.
البته یک هش معمولی مثل md5 یا sha256 به تنهایی خیلی ضعیفه و میتونه با روشهای Brute-force و dictionary و rainbow table و غیره کرک بشه (مگر اینکه پسورد کاربر واقعا قوی بوده باشه)؛ بنابراین از یکسری روشهای خاصی مثل salt و key stretching برای دشوارتر کردن کردن کرک هش ها استفاده میکنن که حداقل هزینهء این کار و کندیش خیلی بیشتر بشه برای کرکرها.
اینکه یک پسورد چند مرتبه پشت سرهم هش بشه و بعد تو دیتابیس ذخیره بشه انجام brute-force و dictionary attack رو سخت می کنه ولو اینکه کاربر یک پسورد ساده رو اتنخاب کرده باشه.

farhadfery
جمعه 20 بهمن 1391, 01:22 صبح
اینکه یک پسورد چند مرتبه پشت سرهم هش بشه و بعد تو دیتابیس ذخیره بشه انجام brute-force و dictionary attack رو سخت می کنه ولو اینکه کاربر یک پسورد ساده رو اتنخاب کرده باشه.
بر چه اساسی این را می فرمایید؟ منبع دارید؟

eshpilen
جمعه 20 بهمن 1391, 08:16 صبح
اینکه یک پسورد چند مرتبه پشت سرهم هش بشه و بعد تو دیتابیس ذخیره بشه انجام brute-force و dictionary attack رو سخت می کنه ولو اینکه کاربر یک پسورد ساده رو اتنخاب کرده باشه.
بله دیگه.
key stretching به همین میگن.
البته key stretching یکسری ریزه کاریها هم داره.
اونکه شما هش های معمولی رو تکرار کنید ساده ترین و ضعیف ترین الگوریتم key stretching است که البته بهرحال از هیچی خیلی بهتره. ضمنا تعداد تکرار باید زیاد باشه، نه مثلا فقط دو سه بار یا حتی چند ده بار. مثلا در برنامهء بنده تعداد پیشفرضش 65536 است (2 به توان 16).

الگوریتم های حرفه ای که مخصوص key stretching ساخته شدن یکسری حمله های اختصاصی و حتی حمله با سخت افزارهای سفارشی رو هم درنظر گرفتن. چون مثلا با سخت افزارهای سفارشی ممکنه بخش بزرگی از عملیات رو بصورت موازی انجام بدن و به این شکل سرعت کرک رو خیلی بالاتر ببرن.
دوتا از الگوریتم های حرفه ای مخصوص key stretching، الگوریتم bcrypt و scrypt هستند.
میشه گفت بهترین الگوریتم scrypt است.

بخشی از متن ویکیپدیا درموردش:


The algorithm was specifically designed to make it costly to perform large scale custom hardware attacks by requiring large amounts of memory

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

منبع: http://en.wikipedia.org/wiki/Scrypt

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

و بر طبق سایت خودش:


the cost of a hardware brute-force attack against scrypt is roughly 4000 times greater than the cost of a similar attack against bcrypt

ترجمه: هزینهء یک حملهء brute-force سخت افزاری در برابر scrypt تقریبا 4000 برابر بیشتر از حملهء مشابهی در برابر bcrypt است.

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

اینم یکسری مقایسهء بیشتر: http://www.hamidreza-mz.tk/?p=506

eshpilen
جمعه 20 بهمن 1391, 08:23 صبح
بر چه اساسی این را می فرمایید؟ منبع دارید؟
en.wikipedia.org/wiki/Key_stretching
مثال هم داره.

eshpilen
جمعه 20 بهمن 1391, 08:53 صبح
ممکنه شما از ساده ترین شکل استفاده کنید:

key = hash(password)
for 1 to 65536 do
key = hash(key)
ولی بهتره پسورد رو هم در هر دور هش دخالت بدید:

key = ""
for 1 to 65536 do
key = hash(key + password)
در مقالهء ویکیپدیا پیشنهاد میکنه که salt رو هم در هر دور دخالت بدیم:

key = ""
for 1 to 65536 do
key = hash(key + password + salt)

MinusOne
جمعه 20 بهمن 1391, 17:19 عصر
بله دیگه.
key stretching به همین میگن.
البته key stretching یکسری ریزه کاریها هم داره.
اونکه شما هش های معمولی رو تکرار کنید ساده ترین و ضعیف ترین الگوریتم key stretching است که البته بهرحال از هیچی خیلی بهتره. ضمنا تعداد تکرار باید زیاد باشه، نه مثلا فقط دو سه بار یا حتی چند ده بار. مثلا در برنامهء بنده تعداد پیشفرضش 65536 است (2 به توان 16).

الگوریتم های حرفه ای که مخصوص key stretching ساخته شدن یکسری حمله های اختصاصی و حتی حمله با سخت افزارهای سفارشی رو هم درنظر گرفتن. چون مثلا با سخت افزارهای سفارشی ممکنه بخش بزرگی از عملیات رو بصورت موازی انجام بدن و به این شکل سرعت کرک رو خیلی بالاتر ببرن.
دوتا از الگوریتم های حرفه ای مخصوص key stretching، الگوریتم bcrypt و scrypt هستند.
میشه گفت بهترین الگوریتم scrypt است.

بخشی از متن ویکیپدیا درموردش:


The algorithm was specifically designed to make it costly to perform large scale custom hardware attacks by requiring large amounts of memory

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

منبع: http://en.wikipedia.org/wiki/Scrypt

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

و بر طبق سایت خودش:


the cost of a hardware brute-force attack against scrypt is roughly 4000 times greater than the cost of a similar attack against bcrypt

ترجمه: هزینهء یک حملهء brute-force سخت افزاری در برابر scrypt تقریبا 4000 برابر بیشتر از حملهء مشابهی در برابر bcrypt است.

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

اینم یکسری مقایسهء بیشتر: http://www.hamidreza-mz.tk/?p=506
یه سوال برام پیش اومد ، مگه اساس کار brute-force این نیست که همه ی حالات ممکن رو امتحان کنه ؟ حالا ما چندین کاراکتر داریم اگه طرف بخواد فقط تمام حالات ممکن برای ترتیب قرار گیری و تعداد کاراکتر ها رو امتحان کنه ، خیلی طول می کشه ، حالا اگه ما پسورد رو مثلا 10 بار هش کنیم اون زمان 10 برابر میشه . آیا سیستم طرف کشش داره اینهمه کار انجام بده ؟ چقدر طور میکشه ؟ از همه مهمتر مگه سرور اجازه میده بعد از اینهمه تلاش ناموفق بازهم تلاش دیگه ای انجام بشه ؟

eshpilen
جمعه 20 بهمن 1391, 18:01 عصر
یه سوال برام پیش اومد ، مگه اساس کار brute-force این نیست که همه ی حالات ممکن رو امتحان کنه ؟ حالا ما چندین کاراکتر داریم اگه طرف بخواد فقط تمام حالات ممکن برای ترتیب قرار گیری و تعداد کاراکتر ها رو امتحان کنه ، خیلی طول می کشه ، حالا اگه ما پسورد رو مثلا 10 بار هش کنیم اون زمان 10 برابر میشه.
آیا سیستم طرف کشش داره اینهمه کار انجام بده ؟ چقدر طور میکشه ؟
یه آماری قبلا داشتم که با یک کارت گرافیک امروزی میشه حدود 3 میلیارد هش در ثانیه رو محاسبه کرد (البته فکر کنم md5 یا sha1).
خیلی طول نمیکشه!
شما باید سعی کنی این زمان رو به حداکثر برسونی (تا جاییکه برنامه و سرور خودت مختل نشه)، چون برنامه ها و سخت افزارهایی هست که با سرعت مخوفی میتونن هش محاسبه و مقایسه کنن.

حالا البته این آمارها تقریبی هست (احتمالا بعضی عملیات جانبی رو بحساب نیاورده)، ولی بهرحال زیاده.

ضمنا مورد سخت افزار سفارشی (FPGA) باشه و یخورده پول خرج کنن، میتونن سرعت رو حتی از این هم بالاتر ببرن.
یعنی اینا طوری هستن که خود عملیات هش رو موازی میکنن توسط gate های منطقی و مثلا شاید هر هش توسط این مدارها یک صدم یا حتی کمتر از CPU های معمولی زمان ببره. الگوریتم scrypt ظاهرا هدفش همینه که این کار نتونه انجام بشه.
بعد سیستمهای موازی تازه چی؟
مثلا بجای یک رایانه/کارت گرافیک اگر از 50 تا استفاده کنن، طبیعتا میتونن سرعت کرک رو 50 برابر کنن.
به این شکل که بازهء پسوردهای مورد بررسی رو به قسمتهای مساوی تقسیم کرده و پردازش هر قسمت رو به عهدهء یکی از سیستمها/CPU ها میذارن.


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

البته حواست باشه تمام بازهء خود هش رو که Brute-force نمیشه کرد.
بازهء پسورده که محاسبه میشه.
مثلا هش تمام پسوردهای 8 کاراکتری متشکل از اعداد و حروف بزرگ و کوچک رو تولید و با هش مورد نظر مقایسه میکنیم.
بخاطر ضعیف بودن پسوردها هست که این Brute-force ممکن میشه.
وگرنه اگر مثلا پسورد رو مثل خروجی md5 که 128 بیت است با آنتروپی 128 بیت تولید کنیم (مثلا پسوردمون یک رشتهء کاملا رندوم 22 کاراکتری متشکل از اعداد و حروف بزرگ و کوچک باشه)، حتی هش همون md5 ساده هم قابل کرک نیست.

MinusOne
جمعه 20 بهمن 1391, 18:10 عصر
وگرنه اگر مثلا پسورد رو مثل خروجی md5 که 128 بیت است با آنتروپی 128 بیت تولید کنیم (مثلا پسوردمون یک رشتهء کاملا رندوم 22 کاراکتری متشکل از اعداد و حروف بزرگ و کوچک باشه)، حتی هش همون md5 ساده هم قابل کرک نیست.
با این تفاسیر اینکه بعضی از سایت ها حداکثر طول پسورد رو پایین قرار می دن منطقیه ؟ آیا به نفعشونه ؟ از لحاظ حجم یا چیز دیگه ؟

eshpilen
جمعه 20 بهمن 1391, 18:15 عصر
با این تفاسیر اینکه بعضی از سایت ها حداکثر طول پسورد رو پایین قرار می دن منطقیه ؟ آیا به نفعشونه ؟ از لحاظ حجم یا چیز دیگه ؟
نه دیگه منطقی نیست.
اتفاقا بنده قبلا یک تاپیک دقیقا در همین مورد زده بودم: http://barnamenevis.org/showthread.php?345922
حداکثر طول پسورد رو بنظر من 100 یا حتی 200 کاراکتر باید قرار داد (حتی بیشتر از این هم باشه فکر نمیکنم مشکل فنی ایجاد کنه).
چون بعضیا ممکنه از ترکیب جملات و کلمات خاصی بخوان بعنوان یک پسورد قوی استفاده کنن که طولش زیاد بشه.
یه چیزی مثل حداکثر 15 یا 20 کاراکتر که کاملا اشتباهه؛ ولی بعضیا سایتها چنین محدودیت هایی دارن. اصلا نمیدونم برای چی این کار رو میکنن!!

eshpilen
جمعه 20 بهمن 1391, 18:27 عصر
البته کلا از md5 و sha1 برای هش پسورد استفاده نکنید. چون این الگوریتم ها خودشون ضعف دارن و شکسته شده بحساب میان. حالا ما هم میگیم مثال میزنیم و از قدیم و روشهای کلاسیک قدیمی صحبت میکنیم.
بنده در برنامهء خودم برای هش پسورد از sha256 استفاده کردم.

program33r
جمعه 20 بهمن 1391, 18:44 عصر
دوست عزیز بیخیال مگه 200 کارکتر داستان مینویسه ؟
خوب اون کسی که 200 کاراکتر میزاره احتمالا باید اونو یه جایی بنویسه تا یادش بمونه .از همه بدتر میشه
من حساب کردم همون 22 کارکتر انقدر حالت ایجاد میکنه که با 1 میلیارد میلیارد تا از اون کارت گرافیگ ها با صرف 28621 هزار سال طول میکشه تا پسوردو پیدا کنه

eshpilen
جمعه 20 بهمن 1391, 19:11 عصر
دوست عزیز بیخیال مگه 200 کارکتر داستان مینویسه؟
بله ممکنه داستان هم بنویسند!
مثلا فرض کن شاید یک بیت شعر هم توش باشه. یا قسمتی از یک توضیحی خاطره ای چیزی.
بطور کلی نباید پسورد رو محدود کرد. چون هرکس ممکنه بنا به دید و شرایط خودش یک عبارت خاصی رو بعنوان پسورد قوی بخواد انتخاب کنه.


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

البته اگر جایی بنویسه هم قبلا بیشتر کارشناسان امنیت میگفتن درست نیست و امنیت رو پایین میاره؛ ولی الان مثلا bruce schneier که متخصص معروف امنیت/رمزنگاری است میگه دیگه اون دوران که بشه پسوردهای بقدر کافی قوی داشت که بشه براحتی به خاطر سپرد تموم شده و الان نیاز به پسوردهای قویتری هست که بیشتر افراد نمیتونن برای مدت طولانی حفظ کنن. ایشون میگه بنابراین بهتره پسوردها رو روی یک تکه کاغذ نوشته و در کیف جیبی خودمون نگهداری کنیم، چون افراد در محافظت از کیف جیبی خودشون معمولا خوب عمل میکنن.
حالا ممکنه بگید که اگر قراره پسورد رو بنویسیم و نیازی به حفظش نیست پس دیگه استفاده از Passphrase چرا؟
خب من فکر میکنم بازم شاید بعضیا با Passphrase راحتتر باشن. گذشته از اینکه ممکنه حفظ کنن، فکر میکنم خوندن اونا راحتتر باشه و همون یک مقدار خوانایی و قابلیت حفظ کردن بهتر هم که دارن باز خودش میتونه توسط بعضی افراد ترجیح داده بشه.


من حساب کردم همون 22 کارکتر انقدر حالت ایجاد میکنه که با 1 میلیارد میلیارد تا از اون کارت گرافیگ ها با صرف 28621 هزار سال طول میکشه تا پسوردو پیدا کنه
آره دیگه 22 تا کاملا کافیه.
منتها 22 کاراکتر کاملا رندوم از میان اعداد و حروف بزرگ و کوچک.
بیشتر کاربران به هر دلیلی، اینطور پسورد انتخاب نمیکنن، و پسوردهایی دارای آنتروپی به مراتب کمتری به ازای هر کاراکتر رو انتخاب میکنن، مثلا کلمات موجود در دیکشنری توش هست، اسمها، شماره های خاص/معنادار و غیره.
این کاربران میتونن با طولانی تر کردن پسورد خودشون حداقل امنیت رو بالاتر ببرن.
اگر شما محدودیت 22 کاراکتر بذارید هم از نظر یوزرفرندلی و هم از نظر امنیت جالب نیست.

کلا شما بهتره طول پسورد رو اینقدر محدود نکنید؛ چون از نظر فنی هم که نیازی نیست! 200 کاراکتر هیچ مشکلی ایجاد نمیکنه. فضای ذخیره سازی پسورد در دیتابیس هم که بخاطر هش شدن یک چیز ثابتی هست و زیاد نمیشه.
حالا 200 تا نمیذارید، حداقل 50 تا رو بذارید. 100 کاراکتر هم بنظرم خوبه.

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

tehro0n
جمعه 20 بهمن 1391, 23:45 عصر
البته کلا از md5 و sha1 برای هش پسورد استفاده نکنید. چون این الگوریتم ها خودشون ضعف دارن و شکسته شده بحساب میان. حالا ما هم میگیم مثال میزنیم و از قدیم و روشهای کلاسیک قدیمی صحبت میکنیم.
بنده در برنامهء خودم برای هش پسورد از sha256 استفاده کردم.

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

برای نمونه شما وارد سایت http://crackstation.net بشید
e644df618fef9fdd44dd7f26f1077051e49538f1b70603631c df0de7c69fb469 ببینید خروجی این چیه؟
حالا خروجی این md5 رو ببینید که کلمه اصلیش طولانی هم نیست
7a95f2cf1288a751eb84a6422e15b460

eshpilen
شنبه 21 بهمن 1391, 10:44 صبح
نه md5 کلا سوراخ شده محسوب میشه.
کاری به این سایت و اون سایت هم نداریم.
چیزی که سوراخ شد یعنی اعتبار بهش نیست.
این سایتها نتونن دربیارن، فردا یکی از یه راه دیگه درمیاره.
بعضی محققان آکادمیک اعلام کردن که به شدت خیلی بیشتری سوراخش کردن، ولی کارشون رو پابلیک نکردن.
از md5 و sha1 استفاده نشه خیلی بهتره.

کلا یک الگوریتم هش باید خصوصیاتی داشته باشه که بقیهء امنیت با فرض اون خصوصیات بنا میشه.
حالا بعضی از اون خصوصیات اساسی درمورد md5 و sha1 دیگه وجود نداره. بنابراین نمیشه برای امنیت و برای آینده روشون هیچ حساب کرد. حداقل من و شما که متخصص در اون حد نیستیم نمیتونیم مطمئن باشیم.

AbiriAmir
شنبه 21 بهمن 1391, 16:55 عصر
سرویس hotmail/live هم محدودیت پسورد داره اونم اگر اشتباه نکنم در حدود 15-20 کاراکتر
اون دیگه چرا آخه؟!
اونم ایمیل که اینقدر امنیتش مهمه...

tehro0n
شنبه 21 بهمن 1391, 17:31 عصر
سرویس hotmail/live هم محدودیت پسورد داره اونم اگر اشتباه نکنم در حدود 15-20 کاراکتر
اون دیگه چرا آخه؟!
اونم ایمیل که اینقدر امنیتش مهمه...

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

eshpilen
شنبه 21 بهمن 1391, 19:19 عصر
سرویس hotmail/live هم محدودیت پسورد داره اونم اگر اشتباه نکنم در حدود 15-20 کاراکتر
اون دیگه چرا آخه؟!
اونم ایمیل که اینقدر امنیتش مهمه...
بیخود کردن!
بگو جرات دارن بیان اینجا با من بحث کنن :عصبانی:

نه حالا جدای از شوخی، من مثلا کامپوننت رجیستر و لاگین دات نت رو هم که قبلا دیدم، موقعی که پسورد یادت میره اصل پسورد رو بهت میده.
یعنی قاعدتا پسورد رو اصلا هش نمیکنه! وگرنه اصلش رو از کجا میاره؟
البته حتما یک سیستمی برای محافظت از پسورد درنظر گرفتن (فکر میکنم با سیستم درونی و API های مربوطه ویندوز رمزگذاری و محافظت میشه)، ولی خب بازم فکر نمیکنم این روش از نظر اصولی بدون مشکل باشه. تاحالا هرچی منبع و کارشناس دیدم میگن که اصل پسوردها رو ذخیره نکنید.
حالا هاتمیل و اینا هم نمیدونم. موقعی که forgot password میکنید، اصل پسورد رو بهتون ارسال میکنه؟
اگر اصل پسورد رو دوباره براتون میفرسته، یعنی اصلا پسورد رو هش نمیکنه. وقتی هم که پسورد هش نشه، دیگه اون قضیهء طولش زیاد مهم نیست، چون دیگه هشی وجود نداره که کسی بخواد کرک کنه. در حالت آنلاین هم که سیستمهای قفل اکانت و اینها جلوی Brute-force رو میگیرن.
درکل هم دلیل نمیشه حالا اگر هاتمیل هرکاری کرده باشه درست باشه.