در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ذخیره کردن اطلاعات حساس با استفاده از ASP.NET

گاهی اوقات در برنامه ASP.NET نیاز پیدا می کنید که از اطلاعات بسیار حساس استفاده کنید. مثلا ممکن است برای وصل شدن به یک دیتابیس نیاز به یک نام کاربری و رمز عبور داشته باشید و یا یوزرنیم و پسوردهای مشتری هایتان را در دیتابیس ذخیره کنید. با استفاده از secure socket layer یا SSL می توانید اطالاعات را هنگام جابجایی درون شبکه و یا هنگام ذخیره شدن بر روی سرور و کلاینت رمزگذاری کنید. در این مقاله چند را ه حل کلی برای ذخیره سازی اطلاعات حساس را ارایه می دهیم.

تا جایی که امکان دارد از ذخیره اطلاعات حساس خودداری کنید


بهترین راه برای محافظت از اطلاعات حساس این است که آن ها را ذخیره نکنیم. جاهایی که اطلاعات حساس ذخیره می شوند را به حداقل برسانید. از ذخیره کردن اطلاعات حساس در cookie یا یک کنترل که در مرورگر باقی می ماند خودداری کنید. اطلاعات حساس را در منطق برنامه تان ذخیره نکنید. به جای این ها، اطلاعات حساس را از یک مکان امن و یا از کلاینت بگیرید.

اطلاعات حساس را رمزگذاری کنید


زمانی که اطلاعات حساس را ذخیره می کنید، آن ها را به زبان انسان یا با رمزهای ساده (مانند Base64) ذخیره نکنید. به جای آن اطلاعات را رمزنگاری کنید تا اگر روزی یک هکر به اطلاعاتتان دسترسی پیدا کرد، نتواند به راحتی از محتوای آن با خبر شود.اگر تنها لازم است که اطلاعات حساس بازبینی شوند و نیازی به رمزگشایی و تبدیل به زبان انسان ندارید، اطلاعات حساس را با استفاده از روش های hash یک طرفه رمزگذاری کنید. پس از این، هربار که نیاز داشتید که اطلاعات حساس را بازبینی کنید، مقدار را hash کنید و در بازبینی از آن استفاده کنید. برای مثال اگر برای احراز هویت کاربران از ASP.NET Membership and Forms Authentication استفاده می کنید، فرمت پسوردها را hashشده انتخاب کنید تا با استفاده از hash یک طرفه در دیتابیس ذخیره شوند یا مورد بازبینی قرار گیرند.برای ذخیره سازی اطلاعاتی حساس مانند connection stringها، اطلاعات کاربری، یا کلیدهای رمزنگاری در فایل web.config ، قسمت های حساس فایل web.config را با استفاده از protected configuration رمزنگاری کنید.

نویسنده: پویا فضلعلی

منبع: انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر نام منبع و نویسنده دارای اشکال اخلاقی می باشد.

#احراز_هویت_در_کدهای_asp.net #امنیت_در_کدنویسی_asp.net #امنیت_در_cookie_ها #ذخیره_کردن_اطلاعات_با_asp.net #امن_کردن_cookie_ها #کاربرد_usecookies_در_asp.net #cookieless_authentication_چیست #امنیت_در_asp.net #رمزنگاری_اطلاعات_با_asp.net #امنیت_در_کدهای_asp.net
2 نظر
محمد نصیری

خیلی خوب هست ممنون از نکته خوبی که اشاره کردید ، فقط من هم یک نکته رو اضافه کنم که با توجه به اینکه اگر شما و یکی دیگه از کاربران وب سایت رمزتون یکسان باشه طبیعی هست که Hash ای که بدست میباد هم یکسان هست ، حالا اگر یک هکر این پایگاه داده رو پیدا کنه و Hash ها رو مقایسه کنه متوجه میشه که Hash ها یکسان هستند بنابراین رمزها هم یکی هستن و اگر یکی از رمزها رو پیدا کنه رمز کاربر دوم هم پیدا میشه ، برای جلوگیری از چنین موردی ما در Hash ها امروزی یک پارامتر جدید برای Hash کردن مجدد Hash موجود استفاده می کنیم که به Salt یا عملیات Salting معروف هست و باعث میشه که دیگه رمزهای یکسان به یک شکل ذخیره نشن و Hash کاملا متفاوتی داشته باشند ، برای اطلاعات بیشتر به مطلب زیر مراجعه کنید :

حسین احمدی

البته برای Hashing معمولا" الگوریتم های MD5 استفاده میشد که الان بهتره از الگوریتم های بهینه تری مثل SHA1 استفاده بشه...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....