محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

OCSP چیست؟ آشنایی با Online Responder و نحوه عملکردش به زبان ساده

قبلا در ITPRO در خصوص معماری و ساختار PKI و همچنین مقاله ای در خصوص ساختار PKI به زبان ساده صحبت کرده ایم . امروز می خواهیم بصورت ساده در خصوص یکی از مفاهیمی که در حوزه PKI وجود دارد به نام Online Responder که ترجمه آن پاسخگوی آنلاین ( همینه دیگه وقتی ترجمه میخاین میشه همین ) صحبت کنیم. همانطور که در طراحی های PKI عنوان کردیم یک کاربر یا یک سرویس گیرنده بایستی از وضعیت Certificate های موجود و معتبر در Certificate Authority ما خبر داشته باشد ، اینکار با استفاده از Certificate Revocation List ها یا همان CRL ( لیست گواهینامه های باطل شده ) انجام می شود.

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

اما همیشه هم این لیست کاربردی نیست و معایب استفاده از CRL را نیز در این مطلب با هم بررسی می کنیم. در ابتدا به بررسی واژه و مفهوم Online Responder می پردازیم ، Online Responder یک سرور مورد اعتماد یا در اصطلاح فنی Trusted Server است که که به درخواست های تک تک کاربران بصورت مجزا پاسخ می دهد ، در واقع موظف است که درخواست ها را دریافت و به آنها پاسخ بدهد اما چه درخواستی ؟ Online Responder در خصوص وضعیت یک Certificate خاص که کلاینت در خصوص اعتبار یا وضعیت آن سئوال پرسیده است به کلاینت پاسخ می دهد.

Online Responder چیست

استفاده کردن از Online Responder تنها یکی از روشهایی است که کلاینت ها می توانند برای بررسی اعتبار یک Certificate استفاده کنند و همانطور که عنوان کردیم از CRL نیز می توان برای اینکار استفاده کرد اما تفاوت Online Responder با CRL در چیست ؟ دقت کنید که برخلاف CRL که بصورت زمانبندی شده اطلاعات مربوط به همه Certificate هایی که در حالت Revoke یا باطل شده یا Suspend شده قرار دارند را منتشر می کند ، قابلیت Online Responder این امکان را می دهد که کلاینت اطلاعات وضعیت مربوط به فقط یک Certificate خاص را بدست بیاورد.

میزان اطلاعاتی که در ازای هر درخواست توسط Online Responder در اختیار کلاینت قرار می گیرد یک مقدار ثابت است و اصلا اهمیتی ندارد که تعداد Certificate های باطل شده در مجموعه چقدر است. در واقع Online Responder الزاما در خصوص منقضی شدن یا باطل شدن Certificate توضیح نمی دهد و وضعیت Certificate های قابل استفاده را نیز در پاسخ به درخواست ها ارسال می کند ، در بسیاری از موارد کاربرد Online Responder در پردازش و پاسخگویی به نیاز کاربران بهتر و کارآمد تر از استفاده از CRL است برای مثال :

  1. در کلاینت هایی که از راه دور به شبکه شرکت متصل می شوند و پهنای باند زیادی هم ندارند که مرتب CRL را از CA دانلود کنند.
  2. در شبکه هایی که دارای تعداد فعالیت های مربوط به بررسی اعتبار Certificate بسیار زیادی وجود دارد ، برای مثال هزاران کلاینت بصورت یکجا به سیستم ها Login می کنند و یا email های sign شده ارسال می کنند.
  3. در سازمان هایی که نیاز به این وجود دارد که CA های غیر مایکروسافتی استفاده شود و توزیع اطلاعات مربوط به Certificate های Revoke شده نیز تابع قوانین مایکروسافت نیست.
  4. در سازمان هایی که نمی خواهند لیست کاملی از Certificate های باطل شده در اختیار کاربران قرار بگیرد و فقط می خواهند بصورت مقطعی و موردی اطلاعات هر Certificate بصورت مجزا قابل استعلام باشند.

OCSP چیست و Online Responder چگونه کار می کند ؟

مواردی بالا که Online Responder می تواند جایگزین مناسبتری برای CRL باشد. قبل از اینکه به سراغ نحوه عملکرد Online Responder برویم ابتدا بایستی مفهومی به نام OCSP را برای شما برای شما تشریح کنیم . Online Responder مایکروسافت یک پروتکل به نام OCSP را در ساختار کاری خودش پیاده سازی می کند که امکان ثبت یک درخواست برای دریافت وضعیت آن از طریق پروتکل HTTP را فراهم می کند. در واقع OCSP همان مفهوم عام Online Responder در همه CA های دنیا است که در Microsoft بصورت Online Responder شناخته می شود. مکانیزم کاری OCSP مایکروسافت یا همان Online Responder بصورت کلاینتی و سروری است. قسمت کلاینتی در یک کتابخانه به نام CryptoAPI 2.0 library قرار گرفته است در حالیکه قسمت سروری ماجرا از طریق سرویس Active Directory Certificate Services ارائه می شود ، فرآیند زیر مراحل انجام ارتباط بین کلاینت و سرور را در Online Responder تشریح می کند :

  1. زمانیکه یک Application می خواهد اعتبار یک Certificate را بررسی کند بایستی محل OCSP Responder یا همان Online Responder را پیدا کند ، در ابتدا قسمت کلاینتی فرآیند تمامی قسمت های حافظه داخلی و کش دیسک را جستجو می کند و به دنبایل OCSP Response های کش شده روی سیستم می گردد تا اطلاعات مربوط به ابطال Certificate ها را تا جای ممکن پیدا کند.
  2. اگر اطلاعات مربوط به یک Cache قابل قبول پیدا نشد ، اطلاعات توسط پروتکل HTTP برای یک Online Responder ارسال می شود.
  3. در این زمان Web Proxy موجود در Online Responder درخواست مورد نظر را Decode و تایید می کند. اگر درخواست معتبر باشد ، کش Web Proxy آماده می شود تا اطلاعات مربوط به ابطال Certificate را برای درخواست مورد نظر پر کند. اگر اطلاعات فعلی درون کش وجود نداشتند ، درخواست به سمت سرویس Online Responder هدایت می شود.
  4. سرویس Online Responder درخواست را دریافت می کند و CRL محلی موجود را بررسی می کند و همچنین نسخه Cache شده آخرین CRL ای که از CA دریافت شده است نیز بررسی می گردد.
  5. اگر Certificate موجود در لیست CRL های محلی یا Cache شده وجود نداشته باشد ، Online Responder از CA یک نسخه بروز رسانی شده از CRL ها را نیز دریافت می کند و در این حالت CA وضعیت نهایی Certificate مورد نظر را بازگشت خواهد داد.
  6. در نهایت Web Proxy درخواست مورد نظر را به همراه تاییده اعتبار Certificate ابتدا Encode کرده و به کلاینت پاسخ می دهد.همچنین یک مدت زمان بسیار کوتاه نیز این درخواست را که پاسخ داده شده است در کش خود برای بررسی های بعدی نگهداری می کند. ITPRO باشید

نویسنده : محمد نصیری

منبع : ITPRO

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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات