PDA

View Full Version : سوال: امنيت اطلاعات در طول مسير قبل از encryption



hamed_bostan
جمعه 17 خرداد 1387, 10:14 صبح
با سلام
می خواستم ببینم کدوم روش بهینه تر و امن تره

از این سه حالت کدوم رو انتخاب می کنيد؟

2 تا تابع يکی برای decrypt و يکی برای encrypt داريم


حالت اول : نوشتن هر دو تابع به صورت private در هر form و تنظيم کليد IV و ارسال رشته به تابع در همان فرم

حالت دوم: نوشتن هر دو تابع در يک کلاس و تعريف توابع به صورت public و تنظيم و ارسال کليد IV و رشته از فرم به کلاس و دريافت رشته encrypt شده

حالت سوم: نوشتن هر دو تابع در يک کلاس و تعريف توابع به صورت public و فراخوانی کليدی که در web.config مقدار دهی شده به عنوان IV و ارسال رشته از فر م و دريافت پاسخ


من میخوام بدونم کدوم روش احتمال حمله رو کمتر می کنه و هکر نمی تونه تو مسير اطلاعات رو دستکاری کنه يا قبل از encrypt شدن بهش دستيابی داشته باشه

اگر هم دوستان راه بهتری می دونن ممنون میشم راهنمايي کنن

Behrouz_Rad
جمعه 17 خرداد 1387, 11:36 صبح
من میخوام بدونم کدوم روش احتمال حمله رو کمتر می کنه و هکر نمی تونه تو مسير اطلاعات رو دستکاری کنه يا قبل از encrypt شدن بهش دستيابی داشته باشه

گزینه ی "هیچکدام" نداره؟ ;)

SSL

موفق باشید.

hamed_bostan
جمعه 17 خرداد 1387, 12:41 عصر
خوب بهروز جان اومديم و امکان ssl نبود يا نخواستيم از ssl استفاده کنيم . ميون بد و بدتر کدوم بده هست؟؟؟

raravaice
جمعه 17 خرداد 1387, 13:43 عصر
اطلاعات مهم رو قبل از ارسال سمت کلاینت با یکی از الگوریتمهای MD5,SHA1,SHA256 توسط جاوا اسکریپت کد کن بعد بفرست به سرور اونجا Verify کن چون همونطور که میدونی اینا کدهایی که تولید میکنن قابل Decode نیستن و فقط باید مقایسه بشن.

فقط یه نکته رو بهش توجه داشته باش اونم اینکه کلاسهای این الگوریتمها سمت سرور بر مبنای Unicode هستن پس شما هم با جاوا اسکریپت باید اول دیتای مورد نظر رو unicode کنی بعد بفرستی که مشکلی تو مقایسه پیش نیاد.

موفق باشید

Behrouz_Rad
جمعه 17 خرداد 1387, 13:55 عصر
اطلاعات مهم رو قبل از ارسال سمت کلاینت با یکی از الگوریتمهای MD5,SHA1,SHA256 توسط جاوا اسکریپت کد کن بعد بفرست به سرور اونجا Verify کن چون همونطور که میدونی اینا کدهایی که تولید میکنن قابل Decode نیستن و فقط باید مقایسه بشن.

وقتی که نمی دونه اون اطلاعات چی هست با چی مقایسه کنه؟ اصلا چرا مقایسه کنه؟!


اومديم و امکان ssl نبود يا نخواستيم از ssl استفاده کنيم . ميون بد و بدتر کدوم بده هست؟؟؟

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

raravaice
جمعه 17 خرداد 1387, 14:26 عصر
وقتی که نمی دونه اون اطلاعات چی هست با چی مقایسه کنه؟ اصلا چرا مقایسه کنه؟!چرا نمیشه!
اگر بحث کلمه عبور و اطلاعاتی باشه که سمت سرور نمونش رو داریم که خوب این روش واقعا عالی هست که من اینو چند ساله پیش در اصل از یاهو الهام گرفتم.

اگر اطلاعاتی باشه که از اون مطلع نیستیم بازم میشه صحت و دقتش رو تا حدی بررسی کرد!
یه بار اصل دیتا رو میفرستیم و یه بار هم کد شده اونو میفرستیم بعد اونجا "سمت سرور" با هم مقایسه میکنیم که ببینیم دیتا درست رسیذه یا نه؟! برای اطمینا بیشتر میتونیم با هر 3 روش کد کنیم بفرستیم یا به صورت Random یکی رو انتخاب کنیم بفرستیم.
یا حتی میتونی یه کلید بعد از درخواست بفرستی که بیاد به همراه دیتا کد بشه بعد بره به سرور که این کارم دشواریه اون شخص محترم ناظر شبکه رو صد چندان میکنه.

البته این روش هیچوقت قابل مقایسه با SSL نیست . ولی چون این دوستمون میخواد احتمال رو کم کنه با این روش میتونه اون شنونده عزیزی رو که روی شبکه قرار هست دیتا رو تغییر بده تو درد سر بندازه.

از نظر شما معقول نیست؟!

موفق باشید

hamed_bostan
جمعه 17 خرداد 1387, 16:31 عصر
دوستمون raravaice (http://barnamenevis.org/forum/member.php?u=37086) اصلا توجه نکرد من چی پرسيدم . بحث من مقايسه نيست اطلاعات من بايد قابل برگردوندن باشه . بحث من بر سر تقدم اجرا و يا صدا زنی تابع داخل يا خارج کلاسه
دقيقا مشکل من همين بحث اقا بهروزه :


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


من میخوام بدونم چطور قبل از انتقال اين encryption رو انجام بدم؟؟؟

Behrouz_Rad
جمعه 17 خرداد 1387, 16:33 عصر
یه بار اصل دیتا رو میفرستیم و یه بار هم کد شده اونو میفرستیم

خسته نباشی! این که همون انتقال نا امن شد! این برادرمون می خواد اطلاعات "قبل" از ارسال کد بشه! اوکی؟ :)


من میخوام بدونم چطور قبل از انتقال اين encryption رو انجام بدم؟؟؟

تنها راهش همون SSL هست حامد جان.

raravaice
جمعه 17 خرداد 1387, 16:45 عصر
من میخوام بدونم کدوم روش احتمال حمله رو کمتر می کنه و هکر نمی تونه تو مسير اطلاعات رو دستکاری کنه

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

موفق باشید

mehrdad201
دوشنبه 20 خرداد 1387, 11:55 صبح
نظر بنده اینه که باید یه الگوریتم کدیگ بنویسی که شبیه کار اس اس ال باشه (اگه امکانش باشه)

در ضمن در جاوا اسکریپت هم قابل اجرا باشه. بعد بیای در جاوا اسکریپت با یه کلید تصادفی که هم کلاینت ازش با اطلاع هست هم سرور (نمیدونم امیدوارم چرندیات نگفته باشم) اطلاعات رو با جاوا اسکریپت کد کنی بعد سمت سرور اون رو دیکود کنی

به نظر شما این حرفی که من زدم اصلا قابل اجرا هست ؟ (اصلا بگید درست هست؟)

Behrouz_Rad
دوشنبه 20 خرداد 1387, 12:21 عصر
(نمیدونم امیدوارم چرندیات نگفته باشم)

:لبخندساده:
.....................................