PDA

View Full Version : چند سوال درباره امنیت | آیا این الگوریتم امنه؟



amir1378
سه شنبه 02 دی 1393, 16:32 عصر
باسلام خدمت کاربران گرامی.

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

1: واقعا نحوه ذخیره کردن سریال ها در پایگاه داده برای امنیت خیلی مهمه؟منظورم اینه که اگه سریال ها رو دقیقا همونطوری که هستن و بدون تغییر دادن در دیتابیس ذخیره کنم از لحاظ امنیتی مشکلی پیش میاد ؟در این کد از mysql استفاده میکنم.باز کردن دیتابیس برای هکر چقدر مشکله؟

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

3: آخرین سوالم هم درباره امنیت الگوریتمیه که نوشتم . این الگوریتم رشته رو میگیره و بطور شانسی رشته رو رمزگذاری میکنه.
برای مثال من 5 دفعه متفاوت عبارت PHP5 رو باهاش رمزگذاری و نتایج زیر بدست اومد




//نتیجه رمزگذاری عبارت PHP5 در 5 دفعه متفاوت
"true[62566.3-9890.08!47430.7%46388.5)49406.7$48109.8]35051.9}"

"44728.6;9447.34@71400.9[40155.1@54095.7@63147.4;68612.5]93498.8;"

"15321.3)74727.1(69018.5@his@17911.9(return!15523.1 ;62706.2?"

"12085.7*76512.2$26311%40155.1!87486.6}50258.7&68612.5_88003.1*"

"59212.7-25931.2$2933.24!97560.1)17911.9]94263.5:4673.53[50354.2_"


ساختارش طوریه که هر دفعه یک رشته تصادفی میده ولی وقتی هر کدوم از عبارات بالا رو رمزگشایی کنیم دوباره کلمه PHP5 بدست میاد.
من بار اولمه الگوریتم رمزگذاری می نویسم و نمیدونم آیا این میتونه امنیت داده های دیتابیس رو تامین کنه یا نه؟آیا هکر میتونه با دیدن یکی از رشته ها رمزگشاییش کنه؟در صورتی که این موضوع نیاز به نمونه های بیشتری داره میتونید به آدرس زیر بروید.الگوریتم رمزنگاری و رمزگشایی رو بصورت جدا روی این (http://tipan.ugig.ir/) صفحه قرار دادم:
http://tipan.ugig.ir
به طور کلی میخوام داده هارو به شکل رمزنگاری شده وارد دیتابیس کنم و وقتی خرید کاربر انجام شد اونا رو رمزگشایی کنم و به کاربر نشون بدم.آیا این ساختار کار درستیه؟و آیا میتونم به این الگوریتم واسه این کار اتکا کنم؟
ممنون میشم اگه در این مورد بنده رو راهنمایی کنید.
با تشکر:لبخند:

abolfazl-z
چهارشنبه 03 دی 1393, 17:07 عصر
سلام
همچین گفتین الگوریتم اش رو اینجا قرار دادم که فکر کردم سورس اش رو قرار دادین !

اول این رو دیکد کن :

download (https://cld.persiangig.com/download/Y7mfZ8Bh8x/hack.txt/dl)

در ضمن اگر قرار باشد هکر بتونه به دیتابیس اتون نفوذ کند دیگه هیچ کاریش نمیشه کرد و تقریبا میتونه زمینگیرتون کند.