ورود

View Full Version : حرفه ای: این روش password verifiacation خوبه یا قابل نفوذه؟



FastCode
جمعه 10 اردیبهشت 1389, 07:47 صبح
Client نام کاربر ها رو میخونه و توی صفحه login نمایش میده.(اجازه خوندن رمز از sql رو نداره.)
بعد یه public key برای اتصال از server درخواست میکنه.
بعد خودش یه public key به server میفرسته.
بعد کاراکتر اول رمز عبور وارد شده رو میفرسته برای سرور.
اگر اشتباه بود سرور connection رو میبنده. و تا چند لحظه IP رو Ban میکنه.
اگر درست بود سرور کاراکتر بعدی رو میفرسته و کلاینت اون کاراکتر رو میگیره.
اگر اون کاراکتر با کاراکتر دوم رمز وارد شده یکی بود 3 خط بالا رو برای کاراکتر بعدی اجرا میکنه.
در غیر این صورت دو حالت وجود داره:1.رمز اشتباهه.2.Server هک شده.
در هر دو حالت client فورا" connection رو میبنده.سرور هم از بسته شدن client میفهمه که رمز اشتباه بوده.اما به دلایلی امکان این هم وجود داره که client هک شده باشه و این یه bruteforce یا dictionary attack باشه.پس IP رو تا چند لحظه ban میکنه.
این روش میتونه به جای کاراکتری بیتی هم اجرا بشه.
امیدوارم :گیج: نشده باشید.

فقط میخوام اگر مشکلی داره بگید.
خیلی ممنونم.

xxxxx_xxxxx
جمعه 10 اردیبهشت 1389, 16:22 عصر
بعد یه public key برای اتصال از server درخواست میکنه.
بعد خودش یه public key به server میفرسته.

این کار برای چی انجام بشه؟

FastCode
یک شنبه 12 اردیبهشت 1389, 15:07 عصر
این کار برای چی انجام بشه؟

Data Encryption

eshpilen
جمعه 21 خرداد 1389, 12:40 عصر
هدف این روش و مزایا و معایبش نسبت به روشهای دیگه چیه و در چه مقوله ای قرار میگیره؟ (نام مقولهء پروتکل)

vcldeveloper
جمعه 21 خرداد 1389, 15:52 عصر
Client نام کاربر ها رو میخونه و توی صفحه login نمایش میده.(اجازه خوندن رمز از sql رو نداره.)
چرا نام کاربرها را نمایش میده؟ متناسب با سطح امنیتی که میخواید فراهم کنید، اگر لازم هست سطح امنیت بالا باشه، نام کاربری رو هم باید کاربر خودش وارد کنه.


بعد یه public key برای اتصال از server درخواست میکنه.
بعد خودش یه public key به server میفرسته.
چه تضمینی وجود داره که کلید ارسال شده، حتما همون کلیدی باشه که از سرور یا کلاینت ارسال شده؟ یکی میتونه بیاد بین این دو، و به جای کلید کلاینت یا سرور، public key خودش را به طرف دیگه ارسال کنه. اینطوری میتونه به راحتی داده های دریافتی را رمزگشایی کنه.
برای امنیت در تبادل داده، پروتکل های شناخته شده، و آزمایش شده ایی مثل SSL وجود دارند. باید برید سراغ اونها، غیر از اینکه کار شما خیلی خاص باشه (مثل امور نظامی)، که فکر نمی کنم کار شما از اون دست کارها باشه.


بعد کاراکتر اول رمز عبور وارد شده رو میفرسته برای سرور.
رمز کارکتر به کارکتر می فرستید که چی بشه؟ رمز باید حتما به صورت Hash Code در سرور نگه داری بشه. برای افزایش امنیت اون هم باید از Salt استفاده بشه. کلاینت باید رمز ورودی کاربر را تبدیل به Hash Code کنه، و به سرور ارسال کنه.