تا %60 تخفیف خرید برای 2 نفر با صدور مدرک فقط تا
00 00 00

آموزش جامع PKI در مایکروسافت و Certificate Services : قسمت 1

احمد جهلولی
احمد جهلولی
21 پسند
4957 بازدید
12 نظر
56 ماه قبل

در این مقاله و چندین مقاله آتی قصد دارم تمام اطلاعات و اصطلاحاتی که در سرویس Certificate Authority مایکروسافت وجود دارد به علاوه Feature های جدید آن را توضیح و حدالامکان مثالی در رابطه با آن زده بشه تا کاربران بتوانند یک شناخت نسبتا کامل از این سرویس داشته باشند.همانطور که می دانید این سرویس (به نظر خودم) یکی از پیچیدترین سرویس های می باشد که یک آدمین با آن می تواند سرکار داشته باشد. از پیاده سازی آن گرفته تا فهمیدن و درک اصطلاحات آن. سعی می کنم در چند مقاله آتی تمام مباحث این سرویس را پوشش بدم و از دوستان و همکاران گرامی خواهشمندم اگر اشتباهی در انتقال این اطلاعات در این مقاله ها دیدین حتما تذکر بدن ( همه در زمینه IT شاگرد هستن و هیچ کس از هر نظر استاد و کامل نیست) در این مقاله قصد دارم اصطلاحاتی که در این سرویس استفاده می شود را توضیح بدم.

Certificate Authority Server چیست؟

Certificate Authority یا CA که به معنی صدور گواهینامه می باشد مسئول ارائه یک هویت (گواهی) به کاربران ، کامپیوترها ، سرویس ها و سخت افزارهای شبکه می باشد. وقتی کاربری از CA سرور یک Certificate دریافت کند آن کاربر در شبکه یک کاربر مورد اطمینان و تعریف شده برای بقیه کاربران و Resourceهای شبکه می باشد. اگر بخواهیم یک مثال در دنیای واقعی بزنیم رفتار CA سرور مانند رفتار پلیس راهنمائی و رانندگی می باشد. یعنی هر کس که می خواهد در کشور بصورت قانونی رانندگی کند موظف است یک گواهینامه رانندگی ( بستگی به نوع وسیله نقلیه که دارد که این مورد را می توانید برای User, Computer and... etc. در نظر گرفت) از پلیس راهنمائی رانندگی اخذ کند. الان اگر این فرد حقیقی این گواهی نامه را برای هر مامور پلیس راهنمائی رانندگی نشان دهد، آن مامور متوجه می شود این فرد مجاز است در سطح کشور رانندگی کند چون محل صدور گواهینامه رانندگی درکل کشور معتبر است. این مثال دقیقا رفتار CA سرور در شبکه و Authenticate کردن منابع شبکه بوسیله Certificate را نشان می دهد.

Digital Signature چیست؟

Digital Signature به معنای امضای دیجیتالی می باشد. اجازه بدید یک سوال بپرسم و این اصطلاح را توضیح دهیم.ماهیت و علت وجود امضای شما زیر چک بانکی چیست؟؟؟ چرا صاحب چک قبل از واگذار کردن آن به غیر آن را امضا می کند؟ درست است آن امضا صاحب خود را برای بقیه احراز هویت می کند (authentication) یعنی این امضا یک اعتماد و یک اعتبار برای صاحب چک ایجاد می کند. و به همین علت است که برای متصدی بانک یک اعتماد ایجاد می شود که صاحب دست چک این چک را کشیده و او بدون هیچ معطلی آن چک را پاس می کند. Digital Signature یک نوع اعتبار و اعتماد برای اسناد، برنامه ها و سرویس های شبکه بوجود می آورد.Digital Signature باعث عدم جعل هویت ودستکاری منابع شبکه می شود. و این اطمینان را بوجود می آورد که همه سرویس ها و منابع احراز هویت شوند.

Digital Certificate

digital certificate به معنی گواهینامه دیجیتالی می باشد.digital certificate به مثابه یک پاسپورت برای یک کاربر یا کامپیوتر می باشد. که با استفاده از زیر ساخت کلید عمومی باعث امن کردن فعالیتهای شبکه در داخل و بیرون سازمان می شود. اگر کاربر یک Digital Certificate از CA دریافت کند آن کاربر برای همه منابع شبکه مورد اطمینان و تعریف شده ست. اگر سرویسی به این کاربر شک کند که مورد تایید است یا خیر از او تقاضای تایید هویت می کند. که کاربر با ارائه گواهینامه دیجیتالی خود اطمینان آن سرویس را جلب می کند.نکته: گواهینامه دیجیتالی همون Certificateی هستش که کاربر از CA Server دریافت می کند که حاوی Digital Signatureآن کاربر می باشد. این جمله را به خاطر داشته باشید کلا Certificate بستگی به نوع آن دو کار مهم را انجام می دهد:

  1. احراز هویت Authentication
  2. امن کردن یا Secure کرده اطلاعات

 

Asymmetric Encryption

Asymmetric Encryption به معنی رمزگذاری نامتقارن هستش. احتمالا تا حالا با واژه های مثل کلید خصوصی یا کلید عمومی برخورد داشتید! اساس کار کرد Certificate Authorityها استفاده از متد رمزگذاری نامتقارن هستش. وقتی درخواستی به CA سرور شود CA با استفاده از کلید خصوصی خود یک امضای دیجیتالی برای تقاضا کننده ایجاد می کند و آن را بوسیله کلید عمومی رمزگذاری می کند. این را گفتم که بدانید هر واکنش و هر گواهینامه دیجیتالی دارای یک کلید خصوصی و عمومی می باشد. به اصطلاح دیگر ماهیت استفاده از CA سرور ایجاد یک زیر ساخت برای این دو کلید می باشد.

Public Key Infrastructure (PKI)

public key infrastructure (PKI) به معنی زیر بنا یا زیر ساخت کلید عمومی می باشد.PKI مجموعه ای از نقش ها، سیاست ها و روش ها برای ایجاد، مدیریت، توزیع، ذخیره سازی، استفاده و ابطال گواهینامه دیجیتالی در ساختار می باشد.هدف از PKI تعریف یک محیط برای امن کردن فعالیتهای شبکه بوسیله کلید عمومی و خصوصی می باشد.برای اطلاع بیشتر در باره زیر ساخت PKI سلسله مقالات مهندس نصیری را مطالعه کنید.

Registration Authority

Registration Authority به معنی مراکز ثبت صدور گواهینامه می باشد.به مراکزی گفته می شود که درخواست کاربران برای گواهینامه دیجیتالی را برسی و تحویل CA می دهند و به CA سرور میگویند که گواهینامه دیجیتالی مناسب برای آن کاربر ارسال کند.

Certificate Revocation List

Certificate Revocation List به معنی لیست گواهینامه های دیجیتالی باطل شده می باشد. هر Certificateی که توسط CA ایجاد می شود دارای یک مدت زمان خاصی می باشد (life time). قبل از اینکه این Certificate منقضی شود و اعتماد آن از بین برود باید دوباره یک Certificate جدید درخواست دهد یا آن Certificate را Renew کند.CA Server دارای لیستی از تمام Certificateهای می باشد که به زودی تاریخ آنها تمام می شود. و آنها را در شبکه پخش میکند (در ساختار دومین) تا سرویس های شبکه از تاریخ انتقضای فلان Certificate اطلاع داشته باشند.وقتی یک Web Browser به یک https://Web Server وصل می شود از پروتکل TLS/SSL استفاده می کند، اولین مرحله تایید اعتبار، CA سروری می باشد که این Cert را به این Web Server ارائه داده است و در ادامه این پروسه لیست CRL آن CA سرور را چک می کند.

Certificate Enrollment

به نحوه اختصاص دادن یک Certificate به یک سرویس، کاربر یا کامپیوتر را Certificate Enrolment گفته می شود. این اختصاص دادن Certificate به عبارت دیگر نحوه درخواست Certificate توسط منابع شبکه را تعریف می کند.این پروسه به دو صورت انجام می شود بصورت دستی یا بصورت اتوماتیک که به آن Auto-Enrollment Certificate گفته می شود.وقتی پروسه دستی انجام می شود که کاربر صریحا یک Certificate از CA سرور درخواست می کند. و پروسه اتوماتیک وقتی انجام می شود که یک سرویس یا Application بصورت اتوماتیک یک Certificate درخواست دهد که این درخواست و اعمال آن بصورت کاملا اتوماتیک صورت میگیرد و کل این پروسه در بک گراند اتفاق می افتد.

Certificate Life Cycle

Certificate Life Cycle به معنی چرخه عمر یک Certificate می باشد.تا حالا توجه کردید که چرا کارتهای بانکی ATM باید در یک فرجه زمانی خاص تعویض بشن؟؟؟ مثلا کارت ATMمن تا سال 98 فرصت دارد و بعد از سپری شدن این زمان باید کارتم را عوض کنم!!! کارت ATM یک گواهینامه دیجیتالی مخصوص هر فرد می باشد که از طرف CA بانک مرکزی یا بانک مربوطه صادر می شود. و به دلایل زیر باید آن کارت تعویض یا Renew شود:

  1. لو رفتن Private key سرور CA.
  2. Expire شدن Certificate کاربر.
  3. دست آوردن Private key کاربر توسط هکر.
  4. به پایان رسیدن طول عمر Certificate و ....

CLC یک Certificate در شبکه های کامپیوتری، دقیقا مانند رفتار کارتهای ATM می باشد.در هنگام نصب رول Active Directory Certificate Services در ویندوز سرور 2012 R2 شما باید یک مدت زمانی برای Expire شدن یا Renew شدن Private key خود CA Server تعیین کنید که بصورت پیش فرض 5 سال ست شده است.بحث CLC در Certificate Authority Server Microsoft شامل موارد زیر می باشد:

  1. CAs are installed and their certificates are issued.
  2. Certificates are issued by CAs
  3. Certificates are revoked (as necessary).
  4. Certificates are either renewed or allowed to expire.
  5. The CAs' certificates are renewed before they expire.
  6. The CA is revoked or retired.

به این هم توجه داشته باشید که طول عمر یک Certificate که از Enterprise CA صادر شده با Certificateی که بوسیله Stand-alone CA صادر شده فرق می کند. (این اصطلاحات را بعدا یاد خواهیم گرفت)

The certificate lifetimes of certificates that are issued by enterprise CAs are determined differently than the lifetime of certificates that are issued by stand-alone CAs. An enterprise CA issues certificates with lifetimes that are based on the certificate template for the requested certificate type. A stand-alone CA issues certificates with a lifetime that is determined by system registry settings for the CA.

 

Renew a Certificate

Renew a Certificate به معنی تازه سازی و ایجاد یک Certificate جدید می باشد.هر Certificate یک مدت زمان یا طول عمر دارد که بعد از سپری شدن آن مدت زمان آن Certificate قابل قبول نیست و نمی توان از آن استفاده کرد.منابع شبکه قابلیتی دارند که می توانند این Certificate را قبل از Expire شدن Renew کنند. در پروسه Renew شما می توانید از یک کلید جدید یا از همان کلید قبلی استفاده کنید که هر یک از این روش ها معایب و مزایای خود را دارند.اگر به هر دلیلی Certificateی Renew نشد آن Certificate اکسپایرمی شود که CA سرور قبل از اکسپایر شدن آن یک هشدار به شما می دهد. اگر هیچ عکس العملی نشان ندادید آن Certificate باطل می شود. نکته: Certificate های که بوسیله کاربران درخواست داده شده اند توسط خود کاربران یا Administratorsها می توانند Renew شوند و Certificate های که به کامپیوترها و سرویس ها اعمال می شوند فقط توسط Administrators می توان آنها را مدیریت کرد.

Certificate Usage

میتوانم حدس بزنم که از اول مقاله تا الان این سوال ذهن شما رو مشغول کرده که گواهینامه دیجیتالی و Certificate Authority کار اصلی آن چیست؟ چرا باید از آن استفاده کنیم؟ به چه کارمون میاد؟؟؟ و سوالاتی از این قبیل!!!! همانطور که قبلا گفتم کار اصلی سرویس CA دو چیز است، یکی احراز هویت و دومی امن کردن ارتباطات هستش. بعضی از برنامه ها، سرویس ها و دیوایس ها برای کارکرد آنها حتما باید برای آنها یک Certificate درخواست بدید مثل Exchange Server. یا بعضی از آنها به علت محرمانگی اطلاعاتی که ارائه میدن حتما باید از گواهینامه دیجیتالی برای آنها استفاده کنیم مانند IIS, Work Folders یا بعضی از سرویس ها برای احراز هویت اشخاص از آن استفاده می کنند مانند IPsec. همچنین سرویس network access protection یکی از پیش نیازهای آن استفاده از CA سرور می باشد. یک مثال دیگه می زنم که بعضی از کاربران شاید با آن رو به رو شده باشند:
Signed Drivers!!!! بیشتر درایورهای که بر روی Windows نصب می شوند باید Signed شده باشند. وگرنه اجازه نصب نمیده. جالبه بدونید این روش از مکانیزم Certificates for Code Signing استفاده می کند.
استفاده های که از Certificate می شود را بطور اختصار می توانید برای Applicationها در جدول زیر مشاهده کنید:

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت اول


دوستان عزیز توصیه اکید می کنم لینک زیر را مطالعه کنید واقعا دید بهتری به شما نسبت به زیر ساخت کلید عمومی می دهد:

https://technet.microsoft.com/en-us/library/cc700805.aspx

 

Certificate Signing Request

certificate signing request یا CSR به فرایندی گفته می شود که یک برنامه پیامی به یک CA سرور ارسال می کند و CA سرور طبق همین پیام یک Certificate برای او ایجاد و ارسال می کند. این فرایند را می توانید در این مقاله که برای Exchange Server نوشته شده مطالعه کنید.

Certification Authority Hierarchies

Certification Authority Hierarchies یا مراکز صدور گواهینامه سلسله مراتبی.در سازمانهای بسیار بزرگ که دارای چندین هزار کاربر و کامپیوتر و سرویس هستن برای مدیریت و پایداری زیر ساخت کلید عمومی از چندین CA Server استفاده می کنند. نحوه اضافه کردن CA در ساختار و پیکربندی آن مانند ساختار سلسله مراتبی دومین هستش، همانطور که در دومین شما Parent and Child دارید در زیر ساخت کلید عمومی همین ساختار (با نام های متفاوت) پیاده سازی می شود.ساختاری که چندین CA سرور داشته باشد را certification hierarchy می گویند. به عکس زیر توجه کنید

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت اول


به اولین CA سروری که در ساختار ایجاد می شود Root CA گفته می شود و بدیهی است برای ایجاد یک ساختار سلسله مراتبی ایجاد یک Root CA الزامی می باشد. به CA سرورهای Child به اصطلاح Subordinate CA گفته می شود که بوسیله Root CA تایید و مجاز به فعالیت در شبکه هستند که این تایید را بوسیله صدور یک Certificate به Subordinate CA ایجاد می شود.در عکس بالا شما دو اصطلاح دیگه هم می بینید یکی Intermediate CA و Issuing CA.

  1. به CA سرورهای Child به اصطلاح Subordinate CA یا Intermediate CA گفته می شود.
  2. به CA سرورهای که به یوزر، کامپیوتر یا سرویس Certificate صادر می کنند و با منابع شبکه در تعامل هستند را Issuing CA می گویند.

نکته:CA سرورهای Child می توانند در مد Intermediate CA یا Issuing CA فعالیت کنند.
نکته: Intermediate CA ها فقط با CA های زیر دست خود در تعامل می باشد.
شما در ایجاد یک ساختار hierarchy محدودیتی ندارید ولی بیشتر سازمانهای بزرگ از همین سه لایه استفاده می کنند.

Certification Path

با ایجاد ساختار certification hierarchy شما یک ارتباط زنجیره ای از Issuing CA تا Root CA تشکیل می دهید. به این مسیر زنجیره ای Certification Path گفته می شود.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت اول


در تصویر بالا ما یک EFS Recovery Agent داریم که از Issuing CA صادر شده که این CA سرور یک Certificate Path به Root CA دارد.
دوستان به این نکته توجه کنید در تصویر بالا اگر Root CA 2 در Trusted Root Certification Authorities کلاینتها ثبت شده باشد

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت اول


Certificate Path بالا مورد اعتماد است. الان اگر هر Certificateی از هر Issuing CA صادر شود مورد اطمینان است. شاید الان سوال براتون پیش بیاد که من از Issuing CA دارم Cert دریافت می کنم، چه ربطی به Root CA دار؟!!! جواب سادس: هر Certificateی از هر CAی دریافت کنید آن Certificate شما را به Parent CA لینک می کند تا به Root CA برسید.

Certificate Path Validation

قبل از اینکه یک Certificate Path مورد اطمینان قرار بگیرد باید توسط Microsoft CryptoAPI تایید شود، که اینکار را بوسیله چک کردن تمام Certificate های CA سرورها یک Certificate Path انجام می دهد. هر Certificate دارای اطلاعاتی از Parent CA خود می باشد.نکته: CryptoAPI سرتیفیکت های دریافتی از Parent CA را با سرتیفیکتهای که در Intermediate Certification Authorities store or the Trusted Root Certification Authorities stores ذخیره شده اند مقایسه می کند.

آموزش جامع PKI در مایکروسافت و Active Directory Certificate Services : قسمت اول

حالا اگر CryptoAPI سرتیفیکیتی در این دو Store پیدا نکند یا با هم همخوانی نداشته باشند Certificate Path مورد تایید نیست و کلاینتها نمی توانند به آن اطیمینان کنند.

  • نکته: اگر CA Certificateی Expire شود Certificate Path همچنان مورد تایید است و این موضوع ربطی به Expire شدن Certificateها ندارد.

فکر کنم تا حدودی بیشتر اصطلاحات را توضیح دادم و بقیه اصطلاحات مانند Enterprise CA and Stand-alone CA و غیره را در آموزش های بعدی توضیح خواهم داد.

نویسنده : احمد جهلولی
منبع : جزیره امنیت اطلاعات و ارتباطات وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

نظر شما
برای ارسال نظر باید وارد شوید.
12 نظر