فرهاد خانلری
کارشناس ارشد شبکه مایکروسافت

تفاوت Authentication و Authorization شبکه دومین در چیست؟

همونطور که در لینک زیر قبلاً گفتم ممکنه یک سیستم در شبکه نتونه اشتراک های سیستم مقابلش رو ببینه و اومدیم مرحله به مرحله هر چیزی که ممکنه برطرف کنه این مشکل رو بررسی کردیم البته ممکنه این بررسی ها کمی گنگ باشه به همین جهت در ادامه میخوام کمی راجع به Authentication بین سیستم ها صحبت کنم البته در همینجا باید عرض کنم که در این مطلب اصلاً هدف مقایسه این دو را ندارم و فقط مبحث برقراری ارتباط کامپیوتر ها در این دو مطرح میشود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

شبکه ها از لحاظ مدیریت و سرویس دهی به دو دسته تقسیم بندی می شوند:

  1. work group یا peer to peer
  2. domain یا client -server

شبکه Work Group یا peer to peer

Authentication چیست؟

در خصوص شبکه هایی که به صورت Work Group است مثالی میزنم جهت آشنایی با Authentication بین سیستم ها ، فرض میکنیم من میخوام برم بانک ، آیا دم در بانک کسی ایستاده جلوی منو بگیره که اومدی اینجا چی کار؟ یا برای چی اومدی؟ جواب : خیر . ما همینجوری سرمونو میندازیم پایین میریم داخل بانک اما وقتی نوبتمون میرسه متصدی بانک برای اینکه کارمون رو انجام بده ازمون کارت ملی میخواد و این یعنی Authentication یعنی احراز هویت کارمون تموم میشه میاییم از بانک بیرون و مجدد یادمون میوفته که باز هم کار بانکی داریم مجدد وارد بانک میشیم ولی برای انجام یه فعالیت دیگه مجدد Authentication باید برقرار گردد.

دقیقاً در شبکه های Work Group همین اتفاق سپری میشه و هر سری باید این عملیات معرفی انجام شه پس هر کاربری برای کار کردن در شبکه باید خودش رو به سیستم معرفی کنه کامپیوتر در هنگام برقراری session از سمت کاربر هنگام اتصال و در لحظه ورود هر شخص نام کاربری و رمز عبور کاربران را می پرسد سیستم مقابل نام کاربری و پسورد را بررسی میکند آن در صورتی که آن فرد شناخته شده باشد در خواست راه یافتن آن به سیستم پذیرفته می شود که به این کار Authentication گفته میشه.در Work Group در هر سیستم اعتبار سنجی یا Authentication در همان سیستم انجام میشه و به قولی پراکندگی در این موضوع زیاد است ،هنگامی که windows نصب میشود مکانی برای ما به وجود می آید به نام فایل SAM یا Security Account Manager ،این فایل در مسیر زیر در سیستم عامل ویندوز قرار دارد ، در واقع SAM یک دیتابیس مخصوص و کاملاً مجزا از دیتابیس های کامپیوترهای دیگه هست.

C:\Windows\System32\config
محل قرار گرفت فایل SAM در ویندوز

هر کامپیوتر بخشی به نام LSD یا Local Security Database داره که اطلاعات مربوط به کاربران رو در خودش ثبت می کنه ، LSD هر کامپیوتر نیز متعلق به خود آن کامپیوتر هست ، . در شبکه های Work Group برای اتصال به کامپیوتر دیگر، باید یک User و Pass وارد کرد که این دو، همان نام کاربری و پسورد شما در ویندوز هستند ، بعد از وارد کردن این اطلاعات، کامپیوتر میزبان در LSD خود به دنبال این اطلاعات می گردد و اگر User و Pass شما در LSD آن موجود بود، به شما اجازه ی دسترسی می دهد.در واقع کامپیوتر مقصد با انجام بررسی مشخصات(یوزر و پسورد) سیستمی که میخواهد متصل شود Authentication را انجام می دهد این کار در حقیقت همان login کردن در شبکه است اما موضوع این است که بدانیم صحت نام کاربری و کلمه عبور مربوطه و میزان دسترسی افراد به شبکه (permission) در کجا ثبت و نگهداری می شود.

Authorization چیست؟

در Authorization مشخص می شود که یک user چه اجازه ی دسترسی به چه منبع ای داشته باشد و یا چه مقدار می تواند از یک منبع استفاده کند که این نیز در شبکه ی workgroup به حالت متمرکز نمی باشد و در هر سیستم جداگانه انجام میشود.در شبکه های Work group میتوان گفت No Centraliz Manage یعنی هیچگونه مدیریت مرکزی وجود ندارد، مثلاً در صورت اضافه شدن یک کاربر جدید ، باید User و Pass آن را، در LSD همه ی کامپیوتر ها به صورت دستی وارد کرد یعنی اگر 100 تا کامپیوتر وجود داشته باشه و یک یوزر بخواهد ایجاد شود باید در LSD هر 100 سیستم این کار انجام شود و این یعنی فاجعه! البته فاجعه اصلی زمانی هست که یک یوزر بخواهد پسوردش رو عوض کنه در اون صورت باید در همه سیستم ها این تغییرات انجام شه.

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

شبکه domain یا client -server

در همین پست work Group را مانند بانک در نظر گرفتیم و شبکه Domain را مانند یک پادگان نظامی یا یک سازمان اداری در نظر میگیریم شما وقتی میخواهید وارد یک سازمان یا پادگان شوید آیا میتوانید سرتان را پایین انداخته و وارد پادگان شوید؟ جواب : خیر . برای وارد شدن در لحظه ورود جلوی ما گرفته میشود و از ما کارت شناسایی میخواهند ضمن اینکه میپرسند با چه شخصی در سازمان کار دارید و اگر تایید شدید یک Token یا یک کارت شناسایی به شما میدهند و شما آزادانه و هر بار که میخواهید میتوانید وارد سازمان شوید و این یعنی Authentication در همان بدو ورود انجام میشود دقیقاً سیستم های تحت دامین همین حالت را دارند و زمانی که شما وارد شبکه میشوید یوزر و پسورد شما در LSD دامین ثبت میشه به نقل از محمد نصیری برای مثال ، تصور کنید که نام کاربری به اسم Mohammad داریم . من نام کاربری و رمز عبور خود را در سیستم وارد میکنم که توسط شبکه به Domain Controller منتقل می شود . وقتی Domain Controller من را احراز هویت کرد به من هیچگونه دسترسی به منابع را نخواهد داد !!

او صرفا به من میگوید که شما همانی هستید که واقعا میگویید و یک کاربر معتبر از نظر بنده محسوب می شوید . وقتی شما درخوست دسترسی به منابعی که بر روی یک Member Server قرار گرفته است را میکنید کامپیوتر من یک Token یا بلیط دسترسی ایجاد کرده و آن را به Member Server میگوید که من از نظر Domain Controller کاربر معتبر و قابل اعتمادی هستم . Member Server به شما اعتماد نمیکند و صرفا Domain Controller را به عنوان مرجع انتخاب میکند و هنگامی که DC من را احراز هویت کرده باشد من در شبکه معتبر خواهم بود . و تنها در این صورت خواهد بود که با توجه به سطوح دسترسی که برای کاربر من در روی آن Member Server تعریف شده است من میتوانم از منابع موجود بر روی آن استفاده کنم.

ضمناً جهت اطلاعات بیشتر پیشنهاد میکنم لینک های زیر که در این خصوص هست رو که اثر مهندس محمد نصیری هست رو بخونید

خواهشمند است هر گونه پیشنهاد یا انتقادی که موجب میشود این مقاله تکمیل تر شود در انتهای همین مقاله (قسمت دیدگاه ها) اضافه گردد.


فرهاد خانلری
فرهاد خانلری

کارشناس ارشد شبکه مایکروسافت

فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ...

نظرات