View Full Version : Encrypt کردن Data (دیتا) در DataBase (دیتابیس)
majid_darab
جمعه 11 تیر 1389, 16:49 عصر
باسلام و عرض خسته نباشید :
مدتّی است که Encrypt کردن اطّلاعات در دیتا بیس و استفاده از آن اطّلاعات در محیط وب سایت به عنوان یکی از پوئن های وب سایت های داینامیک اعلام می گردد.
واقعاً این موضوع چه طور امکان پذیر است؟
اگر اطّلاعات رو موقع ورود به db هش (Hash) نماییم آیا در این صورت امکان بازگرداندن آن اطّلاعات توسط کد امکان پذیر است ؟
یا در کل از روش دیگری برای این امر استفاده می گردد ؟
در مجموع روش بالا به منظور ایجاد امنیت معرفی می گردد!
امّا آیا به کارگیری روشی که اعلام خواهد شد از نظر سرعت ، منطقی و درست به نظر می رسد؟
با تشکر
مجید داراب
shirin_sh1024
جمعه 11 تیر 1389, 17:08 عصر
اگر اطّلاعات رو موقع ورود به db هش (Hash) نماییم آیا در این صورت امکان بازگرداندن آن اطّلاعات توسط کد امکان پذیر است ؟
سلام
نه دوست عزیز الگوریتم hash برگشت ناپذیره و اطلاعاتی به روش hash ذخیره میشند که نیازی به بازیابی مسقیم اونها نیست مثل کلمه عبور که تنها برای چک کردن معتبر بودن کاربر استفاده میشه برای این کار هم اطلاعات hash شده دیتابیس توسط کد بازگرداند نمیشه بلکه پسورد وارد شده hash میشه و با مقدار hash شده در دیتابیس مقایسه میشه
ویژگی که داره اینه که مقدار hash یک عبارت همیشه همون عبارت میشه ولی شما نمیتونی اطلاعات hash شده رو از طریق کد به مقدار اولیه قبل از hash برگردونی
ricky22
جمعه 11 تیر 1389, 17:08 عصر
مدتّی است که Encrypt کردن اطّلاعات در دیتا بیس و استفاده از آن اطّلاعات در محیط وب سایت به عنوان یکی از پوئن های وب سایت های داینامیک اعلام می گردد.میشه منبع معرفی کنید یا بیشتر توضیح بدید؟
ا
گر اطّلاعات رو موقع ورود به db هش (Hash) نماییم آیا در این صورت امکان بازگرداندن آن اطّلاعات توسط کد امکان پذیر است ؟هش کردن و کد کردن با هم فرق دارن هش برگشت نا پذیر هست برای کلمات عبور از Hash استفاده میشه. کد برگشت پذیر هست بسته به نوع الگوریتم با یه کلید مثلا مثل امضای الکترونیکی.
یا در کل از روش دیگری برای این امر استفاده می گردد ؟دوست عزیزم کدام امر؟
در مجموع روش بالا به منظور ایجاد امنیت معرفی می گردد!
امّا آیا به کارگیری روشی که اعلام خواهد شد از نظر سرعت ، منطقی و درست به نظر می رسد؟روشی که اعلام خواهد شد؟
L_eskandary
جمعه 11 تیر 1389, 17:26 عصر
دوست عزیز سلام .
الگوریتمی که برای رمزگذاری در حال حاضر بیشترین استفاده را دارد الگوریتم md5 می باشد . این الگوریتم نیز یک طرفه بوده و مقدار اولیه قابل برگشت نیست و اطلاعات در database باید به صورت binary ذخیره شوند و مثلا برای بررسی صحت کلمه عبور هم بایستی این اطلاعات را نیز با الگوریتم فوق رمزگذاری نموده و مقایسه را انجام داد .خوب مزیت این روش ها این هستش که اگه کسی تونست وارد بخش مربوط به ذخیره اطلاعات ورود شما هم شود دیگر نمی تواند به اطلاعات کلمه عبور شما دسترسی داشته باشد .
ricky22
جمعه 11 تیر 1389, 17:34 عصر
دوست عزیز سلام .
الگوریتمی که برای رمزگذاری در حال حاضر بیشترین استفاده را دارد الگوریتم md5 می باشد .
خیر کاملا غلط هست.
در همین سایت یک جستجو بفرمایید می بینید که MD5 رو نهی می کنند.
موفق باشید
majid_darab
جمعه 11 تیر 1389, 17:43 عصر
میشه منبع معرفی کنید یا بیشتر توضیح بدید؟
من هم از یکی از دوستان نقل قول کردم و بیان این موضوع زیاد مهم نیست.مهم این است که روش انجام این کار بررسی گردد.(کد کردن)
هش کردن و کد کردن با هم فرق دارن هش برگشت نا پذیر هست برای کلمات عبور از Hash استفاده میشه. کد برگشت پذیر هست بسته به نوع الگوریتم با یه کلید مثلا مثل امضای الکترونیکی.
پس طبق نظرات اعلام شده هش در مورد موضوع اعلام شده رد گردید و منظور کد کردن اطّلاعات موقع ورود به db می باشد.
دوست عزیزم کدام امر؟
کد کردن اطّلاعات موقع ورود به db
روشی که اعلام خواهد شد؟
روشی که توسط دوستان در این تاپیک اعلام خواهد گردید - (الگوریتم کد گذاری که قابل برگشت باشد)
majid_darab
جمعه 11 تیر 1389, 17:47 عصر
خیر کاملا غلط هست.
در همین سایت یک جستجو بفرمایید می بینید که همه MD5 رو می کوبن.
موفق باشید
به نظر من (برگرفته از نظر اساتید) هم md5 اولویت دارد - به هر تقدیر روی این موضوع تعصّبی وجود ندارد و اگر لینک اثبات عدم قدرت md5 هم بزارید ممنون میشم.
majid_darab
جمعه 11 تیر 1389, 17:53 عصر
دوست عزیز سلام .
الگوریتمی که برای رمزگذاری در حال حاضر بیشترین استفاده را دارد الگوریتم md5 می باشد . این الگوریتم نیز یک طرفه بوده و مقدار اولیه قابل برگشت نیست و اطلاعات در database باید به صورت binary ذخیره شوند و مثلا برای بررسی صحت کلمه عبور هم بایستی این اطلاعات را نیز با الگوریتم فوق رمزگذاری نموده و مقایسه را انجام داد .خوب مزیت این روش ها این هستش که اگه کسی تونست وارد بخش مربوط به ذخیره اطلاعات ورود شما هم شود دیگر نمی تواند به اطلاعات کلمه عبور شما دسترسی داشته باشد .
این موضوع درست است...
امّا منظور کدگذاری کل دیتابیس می باشد که قابل بازگشت هم باشند.
هر چند که این روش یه ریزه کار با دیتابیس رو برای Developer دشوار می کنه ولی معمولاً موقعی صورت می گیره که نسخه ی بتای وب سایت آماده شده باشه.
shirin_sh1024
جمعه 11 تیر 1389, 17:55 عصر
به هر تقدیر روی این موضوع تعصّبی وجود ندارد و اگر لینک اثبات عدم قدرت md5 هم بزارید ممنون میشم
MD5 برای کاربرد های امنیتی در سطح معمول روش بدی نیست و میشه ازش استفاده کرد ولی برای رسیدن به امنیت بالاتر معمولا از روش های دیگه ای هم استفاده میشه مثلا نتیجه hash شده رو با یه کلید (sault) کد میکنند تا امنیتش بالاتر بره گرچه در سطح کاربردهای عمومی و رایج فکر میکنم معمولا MD5 کفایت میکنه
پیشنهاد میکنم این تاپیک رو مطالعه کنید
http://barnamenevis.org/forum/showthread.php?t=120547
ricky22
جمعه 11 تیر 1389, 18:01 عصر
به نظر من (برگرفته از نظر اساتید) هم md5 اولویت دارد - به هر تقدیر روی این موضوع تعصّبی وجود ندارد و اگر لینک اثبات عدم قدرت md5 هم بزارید ممنون میشم.
http://barnamenevis.org/forum/showpost.php?p=868655&postcount=10
http://barnamenevis.org/forum/showpost.php?p=586078&postcount=5
http://barnamenevis.org/forum/showpost.php?p=929550&postcount=4
ricky22
جمعه 11 تیر 1389, 18:19 عصر
این موضوع درست است...
امّا منظور کدگذاری کل دیتابیس می باشد که قابل بازگشت هم باشند.
یعنی هر بار که می خوایم یک عملی در دیتابیس انجام بدیم دیتایس رو دیکد کنیم و دوباره کد کنیم؟
خود Sql مگه اطلاعات رو کد نمی کنه؟!
ولی معمولاً موقعی صورت می گیره که نسخه ی بتای وب سایت آماده شده باشه.
یعنی چی؟
majid_darab
جمعه 11 تیر 1389, 18:38 عصر
یعنی هر بار که می خوایم یک عملی در دیتابیس انجام بدیم دیتایس رو دیکد کنیم و دوباره کد کنیم؟
بله ، منظورم همین بود - یعنی هیچ کدام از اطّلاعات موجود در دیتابیس قابل فهم نباشند و درعین حال قابل استفاده باشند
خود Sql مگه اطلاعات رو کد نمی کنه؟!
نمی دونم - اگر روشی دارد اعلام نمایید
شاید این موضوعی که عنوان شد سمت sql حل گردد
یعنی چی؟
منظورم این بود که دیگه کار برنامه نویس با سایت تموم شده و وب سایت از نظر باگ های موجود کاملاً بررسی شده است.
ricky22
جمعه 11 تیر 1389, 18:43 عصر
بله ، منظورم همین بود - یعنی هیچ کدام از اطّلاعات موجود در دیتابیس قابل فهم نباشند و درعین حال قابل استفاده باشند
دوست عزیز
من دلیل شما رو موجه نمی بینم.
ببین مگه کاربر می تونه دیتابیس شما رو باز کنه و محتویات رو ببینه؟!
مسلما خیر. به شما فقط یک کلید قوی برای دیتابیس بزار خیالت راحت باشه.
چون معمولا نفوز سمت دیتابیس باب نیست .
majid_darab
جمعه 11 تیر 1389, 18:53 عصر
دوست عزیز
من دلیل شما رو موجه نمی بینم.
ببین مگه کاربر می تونه دیتابیس شما رو باز کنه و محتویات رو ببینه؟!
مسلما خیر. به شما فقط یک کلید قوی برای دیتابیس بزار خیالت راحت باشه.
چون معمولا نفوز سمت دیتابیس باب نیست .
آیا منظور همان پسورد می باشد یا برای Encryption سمت sql server باید کار دیگری انجام داد؟
ricky22
جمعه 11 تیر 1389, 19:08 عصر
آیا منظور همان پسورد می باشد یا برای Encryption سمت sql server باید کار دیگری انجام داد؟
همان پسورد
majid_darab
جمعه 11 تیر 1389, 20:03 عصر
همان پسورد
به نظر روش خاصّی برای Encryption سمت sql سرور وجود دارد که با Table مستر کار می کند.
دارم روش کار می کنم و نتیجه ی نهایی رو درهمین تاپیک می ذارم ...
(درست است که این موضوع به بخش sql servetr مربوط می شود اما برای اینکه این تاپیک به نتیجه برسد نتیجه ی نهایی را اعلام خواهم کرد)
majid_darab
جمعه 11 تیر 1389, 22:32 عصر
این هم روش اس کیو ال :
http://msdn.microsoft.com/en-us/library/bb934049.aspx
بررسی های بیشتر درقسمت MS SQL SERVER
با تشکّر و درود فراوان
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.