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

چگونه اطلاعات حساس را با 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 رمزنگاری کنید.


نظرات