Machine Key چیست و نحوه ساخت Machine Key

در این مقاله با مفهوم Machine Key  و نحوه ایجاد آن آشنا می شویم:

Machine Key چیست؟

این ماژول به کاربران کمک می کند تا از داده های view stat و کوکی های هویت سنجی (از طریق تعریف رمزهای عبور) محافظت کنید. با تعریف این ماژول تگی با نام <MachineKey > در فایل web.config ساخته می شود. Viewstat نیز تکنیکی است که در صفحات وب asp.net به منظور ذخیره سازی عملیات postback مورداستفاده قرار می گیرد تا در دفعات بعدی نیازی به وارد کردن مجدد این اطلاعات نباشد.

به عنوان مثال فرض کنید فرمی را پر و سپس ارسال می کنید و سرور خطایی مبنی بر وجود اطلاعات غلط را باز می گرداند. بنابراین بایستی سایر اطلاعات را اصلاح و مجدد وارد کنید. در این حالت می توان گفت که سایت شما از  viewstat استفاده نکرده است. اما با فعال بودن viewstat اطلاعات فرم هنگام تحویل به سرور پاک نخواهند شد. در واقع view stat اطلاعات ارسالی کاربر به سرور را نگهداری می کند. درصورتیکه راهنمای <%@ Page EnableViewState=”false” %>  دارای مقدار false باشد view stat غیرفعال و اگر true باشد فعال خواهد بود.

کار اصلی ماژول MachineKey تولید کلیدهای تصادفی برای اعتبار سنجی ، رمزگذاری /رمزگشایی viewstate است .

viewstate  مفهومی در برنامه های ASP.NET برای حفظ وضعیت کنترل های صفحه در هنگام PostBack هست.

صفات  MachineKey به شکل کلید های  زیر می باشند که نمونه ای از تعریف آن در ادامه ی مقاله قابل مشاهده می باشد. این کلیدها در تگ MachineKey موجود در فایل web.config قرار داده می شوند.

برای درک بهتر کلید های MachineKey ابتدا باید با مفهوم  MAC (Message Authentication Check) آشنا شویم :

MAC قابلیتی از  asp.net است که تنظیمات یک فرم یا اطلاعات وارد شده در آن (یا همان view state)را تحلیل کرده تا از صحت آنها مطمئن شود و  از دستکاری شدنشان هنگام بازگشت از سرور جلوگیری به عمل آید.

کلید Validation :این کلید کد پیام  MAC را تحلیل کرده تا از جامعیت و درستی داده ها اطمینان حاصل کند.

کلید Decryption :از آن برای رمزگذاری و رمزگشایی داده های فرم ها و viewstate ها استفاده می شود.

خاصیت این کلید رمزگذاری  تنظمیات سرویس هایی مانند viewstate ، هویت سنجی اطلاعات وارد شده در فرم ها ، اعضا و role آنها و شناسایی افراد ناشناس می باشد.

همچنین کلیه viewstate ها در صفحه به صورت رمز شده ذخیره می شوند و هر برنامه دات نت در ابتدای اجرا یک کلید برای رمز کردن و رمزگشایی viewstate ها به صورت تصادفی ایجاد می کند.

می توان گفت Machine key یک کلید رمزگشایی ۲۵۶ بیتی و همچنین یک کلید اعتبار سنجی ۵۱۲ بیتی تولید می نماید که به رشته ای از کاراکترهای هگزادسیمال تبدیل می شوند.

 

نحوه ساخت Machine Key :

برای تولید Machine Key مانند دستورالعمل زیر عمل نمایید:
 
ابتدا وارد سایت http://www.allkeysgenerator.com شوید تب "Machine Key" را انتخاب کنید

Online Machine Key Generator

در مرحله بعدی ورژن "asp.net" را مشخص کنید:

Online Machine Key Generator


کار به پایان رسید 
Machine Key برای شما ایجاد شد :


Online Machine Key Generator

Machine Key تولید شده را کپی کرده در فایل web.config داخل تگ system.web قرار دهید.