جمعه, ۲۰ مهر, ۱۴۰۳ / 11 October, 2024
مجله ویستا

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


زیرساختارهای امنیتی مدرن برای مبادلات در شبکه اینترنت
دكتر شهرام بختیاری، استادیار پژوهشكده الكترونیك دانشگاه صنعتی شریف در یك مقاله‌علمی، زیرساختارهای امنیتی مدرن برای مبادلات در شكبه اینترنت را مورد بررسی قرار داده است.
در این مقاله آمده است:
استفاده از رایانه امروزه جزو كارهای روزمره بسیاری از افراد قرار گرفته و در كشورهای پیشرفته، سیستم‌های رایانه‌ای جزو لاینفك زندگی افراد جامعه می‌باشند. در كشورهای در حال توسعه از جمله ایران، فرهنگ استفاده از رایانه با سرعت زیادی در حالت شكل‌گیری است و پیش‌بینی می‌شود كه در آینده‌ی نه‌چندان دور، شاهد همه‌گیر شدن استفاده از رایانه در ایران باشیم.
در عصر كنونی استفاده از رایانه به تنهایی قابلیت زیادی را برای كاربران فراهم نمی‌كند بلكه عمدتا رایانه‌ها از طریق خطوط تلفنی ( dial-up ) و یا شبكه‌های محلی (lan) به یكدیگر متصل هستند. استقبال جهانی از شبكه اینترنت و وجود ابزار و استانداردهای مختلف، زمینه‌ای را فراهم آورده تا بتوان كاربران را به راحتی با یكدیگر ارتباط داد و منابع و اطلاعات الكترونیكی را درمیان آنها از طریق خطوط شبكه‌ای توزیع نمود. حتی مشاهده می‌شود كه بسیاری از اطلاعات با ارزش از قبیل اطلاعات مالی (خرید و فروش) و یا اطلاعات سری نیز از طریق شكبه اینترنت بین كاربران رد و بدل می‌شوند.
دو مساله مهم كه كاربران شبكه‌های كامپیوتری با آنها دست به گریبانند عبارتند از :
‌١- حفظ حریم خصوصی و محرمانگی: كاربران علاقمند هستند كه كارها و ارتباطات آنها غیر قابل ردیابی توسط دیگران باشد و همچنین پیام‌هایی كه آنها در شبكه می‌فرستند و یا دریافت می‌نمایند، قابل فهم توسط مداخله‌گرانی كه داده‌های رد و بدل شده در مسیر شكبه را شنود می كنند، نباشد.
‌٢- احراز هویت و عدم انكار: كاربران جهت پاره‌ای از مسائل نیاز دارند كه از صحت هویت طرف مقابل، اطمینان حاصل نمایند و مطمئن شوند كه كاربری كه با آن تماس گرفته‌اند واقعا همان فردی است كه انتظارش را داشته‌اند. همچنین در بعضی از مسائل، ارسال كننده‌ی یك پیام نباید بتواند پیامی را كه فرستاده انكار نماید. این ابزار همان امضای معمولی افراد را شبیه سازی می نماید.
رمزنگاری به عنوان یك از روش‌های قابل اعتماد جهت فراهم آوردن سرویس‌های فوق قابل استفاده می‌باشد. كلمه لاتین cryptography به معنی علم نوشتن به رمز می‌باشد. ولی امروز به صورت كلی‌تری جهت فراهم آوردن ابزارهایی كه می‌توانند سرویس‌هایی را برای امنیت اطلاعات و داده‌ها ارائه نمایند، استفاده می‌شود. امروزه رمزنگاری جزو روش‌های الزامی در فراهم نمودن امنیت سیستم‌ها و شبكه‌های كامپیوتری می‌باشد و مانند قدیم، منحصر به سیستم‌های نظامی و بانكی نمی‌شود. در عصر شبكه‌های كامپیوتری، هر فرد می‌تواند از منابع اطلاعاتی خود با استفاده از ابزارهای امنیتی كه عمدتا توسط سیستم‌های رمزنگاری فراهم می‌شوند، محافظت نمایند.
●یستمهای رمزنگاری متقارن و نامتقارن
با وجود اینكه امروزه سیستم‌های رمزنگاری برای كاربردهای مختلفی مورد استفاده قرار می‌گیرند ولی در ابتدا چنین سیستم‌هایی تنها جهت اختفا و به عنوان ابزاری برای به وجود آوردن محرمانگی پیام، طراحی شده بودند. در یك سناریوی كلی می توان فضایی را در نظر گرفت كه در آن، كاربر A قصد ارسال پیام P به كاربر B را دارد.
روش كار بدین ترتیب است كه ابتدا كاربر A ا زالگوریتم E جهت رمز نمودن پیام P استفاده می نماید. الگوریتم‌های رمزنگاری، نیاز به یك كلید رمزنگاری (Ke) دارند تا بتوانند از پیامی مانند P، یك خروجی مانند C تولید نمایند كه با پیچیدگی زیادی وابسته به هر دوی P و Ke باشد. كاربر B كه پیام C را دریافت می‌كند با استفاده از الگوریتم رمزگشایی D و با استفاده از كلید رمزگشایی (Kd) اقدامه به بازنمودن پیام C می‌نماید و نتیجه، پیام P خواهد بود.
فرق اساسی میان سیستم‌های رمزنگاری متقارن و نامتقارن این است كه در سیستم‌های رمزنگاری متقارن Kd یا مساوی Ke است و یا به راحتی از آن استنتاج می شود. در نتیجه كافی است هر دو كاربر A و B، كلید Ke را بدانند تا بتوانند پیام‌هایشان را توسط آن رمز نموده و سپس رمزگشایی نمایند. با توجه به اینكه Ke تنها برای A و B شناخته شده است لذا وقتی كاربر B پیام را باز می‌كند، مطمئن می‌شود كه پیام فوق از طرف A است (خاصیت احراز هویت) . با این وجود A به راحتی می‌تواند ارسال پیام فوق را انكار نماید زیرا B نیز می‌تواند چنان پیامی را به همان شكل، رمز نماید.
در سیستم‌های رمزنگاری نامتقارن، كلیدی‌های رمزگذاری و رمزگشایی متفاوت هستند. در حقیقت هر كاربر دارای یك زوج كلید می‌باشد كه یكی كلید عمومی و دیگری كلید خصوصی می‌باشد. فرض بر این است كه كلید خصوصی، تنها توسط آن كاربر شناخته شده است ولی كلید عمومی برای همه افرادی كه قصد ارتباط با آن كاربر را دارند معلوم است. حال اگر A قصد ارسال پیامی محرمانه به B را داشته باشد، پیام را توسط كلید عمومی B رمز می‌كند و‌آن را ارسال می نماید. كاربر B پیام رمز شده را توسط كلید خصوصی خود، رمزگشایی می‌نماید. با توجه به اینكه تنها B كلید خصوصی را داراست لذا هیچ فرد دیگری نمی‌تواند به محتوای پیام دسترسی پیدا كند. برای ایجاد خاصیت احراز هویت می‌توان پیام را توسط كلید خصوصی رمز نمود تا هر فردی كه كلید عمومی آن كاربر را داراست بتواند رمز را باز نموده و در نتیجه هویت كاربر فوق احراز شود. البته در عمل به‌جای اینكه متن، توسط كلید خصوصی رمز شود، توسط یك تابع در هم ساز (hash function)، یك جمع‌آزما با طول ثابت (مثلا ‌١٢٨ بیت) ایجاد می‌شود و سپس جمع‌آزما رمز می‌شود.
●مقایسه الگوریتم‌های رمزنگاری متقارن و نامتقارن
الگوریتم‌های رمزنگاری متقارن و نامتقارن از جنبه‌های مختلفی قابل مقایسه هستند. با توجه به اینكه هدف ایجاد امنیت قوی در شكبه اینترنت می‌باشد لذا امنیت، سادگی و همچنین افزایش توانایی‌های سیستم، دارای اهمیت بیشتری می‌باشند.
از لحاظ امنیت مشكل می توان سیستم‌های متقارن و نامتقارن را مقایسه نمود. سیستم‌های رمز نامتقارن، عمدتا بر اساس یك مساله سخت ریاضی بنیان نهاده شده‌اند و تا وقتی آن مساله ریاضی حل نشده، سیستم دارای امنیت لازم می‌باشد. به عنوان مثال یكی از مسایل ریاضی كه سیستم‌های رمز بر آن استوار هستند مساله تجزیه اعداد بزرگ می‌باشد. با توجه به اینكه در سیستم‌های رمز نامتقارن، با اعداد بزرگ كار می‌شود لذا اینگونه سیستم‌ها در مقایسه با سیستم‌های رمز متقارن معمولا از سرعت نسبتا پایینی برخوردار هستند.
با وجود سرعت نسبتا كم الگوریتم‌های نامتقارن، سادگی كار با آنها و توانایی‌هایی كه فراهم می‌آورند آنها را برای استفاده از یك سیستم بزرگ و همه‌گیر جذب می‌نمایند. كلیدهای استفاده شده در الگوریتم‌های نامتقارن، راحت‌تر از الگوریتم‌های متقارن قابل توزیع هستند. اگر فرض كنیم در شبكه n كاربرد وجود دارد و همه كاربران بخواهند توسط الگوریتم متقارن با یكدیگر ارتباط امن داشته باشند، نیاز به ‌٢/(n (n-۱ كلید می‌باشد كه بین هر دو كاربر به اشتراك گذاشته شده است. در مقابل، اگر از الگوریتم نامتقارن استفاده شده باشد، به n زوج كلید (عمومی و خصوصی) نیاز می‌باشد. در ضمن چون در الگوریتم‌های نامتقارن، تنها كلید عمومی هر كاربر باید در شبكه توزیع شود لذا بر خلاف الگوریتم‌های متقارن كه در آنها بایستی كلیدها به طور امن (محرمانه) توزیع شوند، در الگوریتم‌های نامتقارن مشكل اساسی وجود ندارد.
●سازماندهی یك ساختار كلید عمومی
با مروری بر روند اعمال امنیت شبكه در چند دهه‌ی اخیر دیده می‌شود كه دیوار آتش ( firewall )، جزو اولین روش‌های حفاظت در شبكه بوده‌ است. سیستم‌های تشخیص نفوذگران ( Intrusion Detection Systems ) و شبكه‌های خصوصی - مجازی ( Virtual Private Networks ) نیز پس از آن پا به عرصه وجود گذاشتند. در عصر كنونی ساختار كلید عمومی و یا اصطلاحا (PKI)، Public Key Infrastructure به‌عنوان بهترین روش برای اعمال امنیت در شبكه شناخته شده است.
در این قسمت قصد بر این است كه ملزومات طراحی و سازماندهی یك ساختار كلی برای شبكه اینترنت بیان شود كه هر كاربر دارای یك زوج كلید مربوط به یكی از الگوریتم‌های نامتقارن باشد. با وجود اینكه امروزه ساختار كلید عمومی بسیار مطرح است ولی هنوز شاهد استفاده از روش‌های قدیمی در شبكه اینترنت برای بسیاری از كارهای حساس و حتی خرید و فروش می‌باشیم. البته به‌دلیل عدم هماهنگی در روش‌های فوق و پیروی نكردن از یك ساختار كلی و استاندارد، نیاز به یك سیستم هماهنگ و كارا احساس می‌شود.
●مشكلاتی كه در شبكه اینترنت وجود دارد
یكی از ساده‌ترین مثال‌هایی كه نشان دهنده‌ی ضعف شبكه اینترنت است؛ پست الكترونیكی می‌باشد. سناریویی را در نظر بگیرید كه در آن كاربر A قصد ارسال پست الكترونیكی به كابر B را دارد. وقتی نامه از مبدا رها می‌شود معمولا چندین گره را پشت سر می‌گذارد و نهایتا به گروه مقصد یعنی كاربر B می‌رسد. در این ارسال مشكلات فروانی ممكن است اتفاق بیافتند كه مهمترین آنها عبارتند از:
‌١) اگر ایجاد ارتباط فقط از طریق اینترنت ممكن است پس چگونه می‌توان آدرس كاربر B را به دست آورد به طوری كه مطمئن بود آدرس صحیح است؟
‌٢) چگونه می‌توان اطمینان حاصل نمود كه پیام ارسالی در بین راه (گره‌های عبوری) بازبینی نشده‌اند و پیام محرمانه باقی مانده؟
‌٣) چگونه هویت فرستنده‌ی پیام توسط گیرنده‌ی پیام احراز می‌گردد؟ به‌عبارت دیگر، كاربر B از كجا بفهمد كه پیام فوق واقعا از طرف كاربر A ارسال گردیده؟
یكی دیگر از مشكلات اساسی كه هم اكنون در شبكه اینترنت وجود دارد؛ انتقال اطلاعات از طریق FTP، HTTP و حتی TELNET می‌باشد. البته گونه‌ای از سرویس‌ها و ابزارهای تكمیلی ساخته شده‌اند كه تا حدی اینگونه مشكلات را رفع می‌نمایند ولی هنوز مكررا دیده می‌شود كه اطلاعات رد و بدل شده در شبكه اینترنت بدون امنیت (محرمانگی و احراز هویت) می‌باشد و حتی دیده می‌شود كه مثلا كلمه عبور استفاده شده در پروتكل‌های FTP و یا TELNET به صورت ساده در شبكه ارسال می‌شود و توسط هر فردی قابل كپی برداری می‌باشد.
مهمترین مشكلی كه شبكه اینترنت با آن دست به گریبان است؛ عدم یك سیستم و ساختار كلی جهت ایجاد ارتباطات امن برای كارهای حساس از قبیل تجارت الكترونیكی می‌باشد. در حال حاضر بسیاری از شركت‌ها از طریق شبكه اینترنت اقدام به فروش كالاهای خود نموده‌اند كه عمدتا به كالاهای ارزان قیمت محدود می‌شوند، زیرا اولا هنوز اعتماد لازم بین كاربران بوجود نیامده و ثانیا بسیاری از پروتكل‌های استفاده شده، از امنیت كافی برخوردار نیستند.
●راه‌كارهای امنیتی
از سالها قبل، كارهای زیادی برای ایجاد امنیت در شبكه اینترنت انجام شده است. به عنوان مثال PGP، SFTP، SHTTP، Secure Shell و Kerberos نمونه‌های عملی هستند كه مورد استفاده قرار گرفته‌اند، ولی هیچ‌یك قابلیت‌های لازم برای یك سیستم همه‌گیر با توانایی‌های لازم برای نیازهای جدید كاربران اینترنت را ندارند.
یكی از معروفترین استانداردهایی كه می‌تواند منجر به ساختار كلی مورد نظر شود، استاندارد X.۵۰۹ می‌باشد. این استاندارد كه توسط ISO/ITU تهیه شده، جهت ایجاد یك چارچوب برای PKI ارائه شده است و مبتنی بر استاندارد X.۵۰۰ می‌باشد. استاندارد X.۵۰۰ برای ایجاد سرویس دایركتوری ( Directory service ) برای شبكه‌های بزرگ كامپیوتری ارائه گردیده است.
استاندارد X.۵۰۹ به‌عنوان یكی از قدیمی‌ترین ساختارهای مبتنی بر كلید عمومی در سال ‌١٩٨٨ میلادی ظاهر شد كه متعاقب آن، نسخه‌های ‌٢ و ‌٣ نیز ارایه شدند. این استاندارد هم اكنون در بعضی از سیستم‌ها و پروتكل‌ها مورد استفاده قرار گرفته و SET و SSL نیز از آن بهره‌ می‌برند. در این استاندارد برای هر كاربر، یك گواهی صادر می‌شود كه از آن طریق می‌توان بسیاری از نیازهای امنیتی را برطرف نمود. تولید گواهی ( Certification ) و عمل تعیین اعتبار ( Validation ) دو عامل اصلی موردنیاز در PKI می‌باشند. هدف در عمل اول ایجاد ارتباط بین كاربر (یا شركت) و كلید عمومی آن بوده و در عمل دوم نیز هدف، تعیین اعتبار گواهی می‌باشد.
▪خصوصیات PKI
با توجه به مطالب ذكر شده، ‌PKI را می‌توان به صورت مجموعه‌ی سخت‌افزار، نرم‌افزار، كاربران، سیاست‌ها و رویه‌هایی كه برای ایجاد مدیریت، ذخیره، توزیع و انهدام گواهی مبتنی بر رمزنگاری با كلید عمومی مورد نیاز می‌باشند تعریف نمود.
خصوصیاتی كه در یك سیستم PKI مورد نیاز می‌باشند عبارتند از:
‌١) محرمانگی (Confidentiality): شامل محرمانگی محتوای پیام و عدم امكان شناسایی گیرنده و فرستنده پیام توسط نفر سوم.
‌٢) تمامیت (integrity): شامل دست‌نخوردگی پیام، اطمینان از رسیدن پیام به مقصد و اطمینان از عدم دریافت بیش از یك نسخه پیام توسط گیرنده.
‌٣) احراز هویت (authentication): شامل اطمینان از اینكه پیام دریافت شده، از كسی ارسال شده باشد كه پیام نشان می‌دهد و اطمینان از اینكه پیام ارسال شده را كسی دریافت می‌كند كه فرستنده مدنظر دارد.
‌٤) عدم انكار (non - repudiation): شامل عدم امكان انكار دریافت پیام، توسط گیرنده پیام و عدم امكان انكار ارسال پیام، توسط فرستنده پیام.
‌٥) كنترل (control): شامل وجود قوانین مدون و منابع مورد اطمینان و همچنین امكان دنبال كردن و ثبت خطا در روند سیستم.
‌٦) در دسترس بودن (availability): اطمینان از فعال بودن سیستم در تمام اوقات.●نحوه توزیع كلید عمومی
روش‌های موجود جهت توزیع كلید عمومی یك كاربر عبارتند از:
‌١) ارسال مستقیم توسط كاربر.
‌٢) ذخیره در دفترچه تلفن.
‌٣) ذخیره در یك گره كه با احراز هویت، قابل دریافت باشد.
‌٤) استفاده از گواهی.
با یك بررسی مختصر معین می‌شود كه روش چهارم از دیگر روش‌ها بهتر است. زیرا ضمن اینكه هویت صاحب كلید در موقع دریافت كلید عمومی قابل احراز می‌باشد، از ایجاد ترافیك در گره‌های خاص (bottle - neck) نیز جلوگیری می‌شود.
●طرح اصلی یك PKI مطلوب
برای طراحی یك سیستم PKI كامل و امن، نیاز است كه ابزارهای آن با دقت انتخاب شده و مشكلات احتمالی آن دقیقا مورد بررسی قرار گیرند. یكی از ابزارهای اصلی در چنین سیستمی، توزیع كلید عمومی می‌باشد كه طبق توضیحات مربوط به قسمت قبل، این سرویس توسط گواهی قابل حل می‌باشد.
●گواهی برای كاربران سیستم
حداقل اطلاعاتی كه در یك گواهی مورد نیاز می‌باشند عبارت است از اطلاعات شناسنامه‌ای صاحب گواهی، كلید عمومی صاحب گواهی، اطلاعات شناسه‌ای صادركننده گواهی (CA:Certificate Authority) و امضای صادر كننده‌ی گواهی. با توجه به اینكه این طرح یك طرح ملی بوده و قابل گسترش در سطح جهانی می‌باشد لذا نمی‌توان انتظار داشت كه تنها یك صادركنند‌ی گواهی برای تمام كاربران وجود داشته باشد. روش‌های مختلفی برای حل این مشكل وجود دارد كه روش سلسله مراتب بصورت cross - reference به عنوان مطلوبترین روش در نظر گرفته می‌شود. در این روش یك صادركننده‌ی اولیه وجود دارد كه كلیه كاربران یك جامعه یا گروه به آن اطمینان دارند. دلیل اینكه چنین ساختاری در نظر گرفته شده، امكان آسان و امن احراز هویت گواهی یك كاربر توسط كاربران دیگر می‌باشد. در روش فوق نیاز نیست كه هر كاربر برای تائید هر كلید عمومی، مستقیما به صادركننده‌ی آن كلید مراجعه نماید.
●نحوه‌ی تعیین اعتبار گواهی كاربران
طبق ساختار سلسله مراتبی كه در قسمت قبل بیان شد، هر كاربر می‌تواند به راحتی هویت كاربر دیگر را احراز و یا رد نماید. با این وجود به دلیل اینكه امنیت كلیدهای استفاده شده در سیستم‌های رمزنگاری، تابع مقدار مصرف آن و همچنین زمان می‌باشد، لذا لازم است كلیدها پس از مدتی عوض شوند. بنابراین یكی دیگر از اقلامی كه باید در گواهی كاربران منظور شود، تاریخ انقضای گواهی می‌باشد كه بر اساس متوسط زمان استفاده از كلید رمز‌نگاری محاسبه می‌گردد.
این روش، مشكلاتی از این قبیل را حل می‌نماید ولی اگر به دلیلی، كلید خصوصی كاربری از محرمانگی خارج شود و یا كاربر تقاضای گواهی جدید نماید آنگاه كلید رمزنگاری قدیمی آن كاربر از درجه اعتبار ساقط می‌شود؛ در صورتی كه هنوز گواهی قدیمی كابر ممكن است اعتبار داشته باشد. برای حل این مشكل از یك لیست شامل شماره گواهی‌های از درجه اعتبار ساقط شده (CRL) استفاده می‌كنیم تا گواهی‌های بی‌اعتبار، قابل پیشگیری باشد. بدین ترتیب اگر كار مهمی مانند انجام یك قرار داد مهم در حال انجام باشد لازم است كه كاربران پس از احراز هویت یكدیگر (توسط گواهی امضا شده) اقدام به جست‌وجو در لیست فوق نیز بنمایند تا مطمئن شوند كه گواهی‌ها باطل نشده باشند.
●محتویات گواهی
جهت سازگاری با استانداردهای جهانی، گواهی كاربران را طبق استاندارد X.۵۰۹ تعریف می نمائیم. براساس این استاندارد، یك گواهی دارای اقلام زیر می‌باشد:
۱- شماره‌ نسخه استاندارد: عددی صحیح كه نشان دهنده‌ی نسخه‌ای از استاندارد می‌باشد كه در گواهی استفاده گردیده است. در حال حاضر بالاترین نسخه، ۳ می‌باشد.
۲- شماره شناسایی: شماره شناسایی گواهی می‌باشد و فرض می‌شود كه یك صادركننده‌ی گواهی هیچ‌گاه دو گواهی با شماره شناسایی یكسان صادر نمی‌نماید.
۳- شماره شناسایی الگوریتم امضا: شناسه‌ای است كه به تعیین الگوریتم صادركننده‌ی گواهی برای امضا كردن می‌پردازد.
۴- نام صادر كننده‌ی گواهی: نام صادر كننده گواهی طبق استاندارد X.۵۰۰.
۵- تاریخ اعتبار: شامل تاریخ شروع و خاتمه اعتبار گواهی.
۶- نام صاحب گواهی: نام صاحب گواهی طبق استاندارد X.۵۰۰.
۷- كلید عمومی صاحب گواهی:‌ شامل شناسه‌ای كه الگوریم نامتقارن استفاده شده و همچنین كلید عمومی متناظر با آن الگوریتم برای صاحب گواهی را معین نماید.
اقلام لیست شده در بالا حداقل اطلاعات لازم در یك گواهی می‌باشند. در بالا نام صادر كننده‌ی گواهی و نام صاحب گواهی، طبق استاندارد X.۵۰۰ می‌باشد كه جهت یكتا بودن نام، شامل اطلاعات سلسله مراتبی كاربر طبق فرمتی مشابه آدرس وب (URL) می‌باشند. موارد اصلی كه در فرمت X.۵۰۰ مورد استفاده قرار می‌گیرند شامل كشور، نام كاربر، مكان، سازمان و واحد سازمانی می‌باشند.
در نسخه‌ی دوم از استاندارد X.۵۰۹ به دلیل اینكه ذخیره نام، طبق استاندارد X.۵۰۰ ممكن است همیشه یك كاربر را به طور یكتا معین ننماید (مثلا وقتی كاربری از شركتی اخراج شده و كاربر جدیدی با همان نام استخدام شده)، لذا برای هر یك از صادر كننده‌های گواهی و صاحب گواهی یك شناسه یكتا در نظر گرفته شده است.
●روش محافظت از كلید خصوصی كاربران
یكی از مهمترین قسمت‌هایی كه باید به طور جدی مورد توجه قرار گیرد؛ اطمینان از محرمانگی كلید خصوصی كاربران می‌باشد. اگر به نحوی كلید خصوصی یك كاربر توسط كاربر دیگری مورد شناسایی قرار گیرد، كلیه كارهایی كه توسط سیستم رمزنگاری نامتقارن امكان‌پذیر است، توسط كاربر فوق قابل انجام خواهد بود. بنابراین محرمانگی، عدم انكار و احراز هویت برای كاربری كه كلیدش كشف شده زیر سوال خواهد رفت.
اولین مرحله‌ای كه در این سیستم برای یك كاربر عملی می‌شود؛ ایجاد گواهی است كه در این مرحله نیاز است كه كاربر یك زوج كلید رمزنگاری داشته باشد. بسته به اینكه سیاست‌های اعمال شده در سیستم چگونه باشد، یكی از دو روش زیر برای تولید كلید استفاده می‌شوند:
۱) تولید كلید توسط كاربر: در این روش كاربر توسط ابزارهای مورد اطمینان، یك زوج كلید برای خود تولید نموده و سپس كلید عمومی خود را به همراه مدارك مورد تایید صاردكننده‌ی گواهی جهت صدور گواهی ارائه می‌دهد. حسن این روش این است كه كاربر از محرمانگی كلید خصوصی خود صد در صد اطمینان دارد. با این وجود ممكن است كاربران عادی نتوانند براحتی ابزار مورد اطمینان برای تولید زوج كلید را فراهم آورند و همچنین برای انتقال كلید عمومی جهت صدور گواهی نیاز است كه حتما هویت كاربر توسط صادركننده گواهی احراز گردد.
۲) تولید كلید توسط صادركننده گواهی:‌ در این روش صادركننده گواهی ابتدا زوج كلید كاربر را تولید می‌نماید و سپس با استفاده از كلید عمومی فوق، یك گواهی صادر می‌گردد. سپس گواهی و كلید خصوصی كاربر به وی داده می‌شوند. در این روش كلید خصوصی باید به صورت محرمانه به كاربر داده شود و بهترین روش حضور فیزیكی كاربر می‌باشد. حسن اساسی این روش، امكان قابلیت كشف كلید (Key Pecovery) در سیستم می‌باشد. با وجود اینكه امكان كشف كلید خصوصی كاربران توسط سیستم، موردعلاقه كاربران نمی‌باشد، ولی در بسیاری از موارد این خاصیت ضروری است. به‌عنوان مثال اگر كاربری اطلاعات مورد نیاز یك سازمان را رمز كرده باشد و سپس از سازمان اخراج گردد، در صورت امكان كشف كلید خصوصی می‌توان به اطلاعات فوق دسترسی پیدا كرد. مستقل از اینكه كدامیك از دو روش فوق در سیستم استفاده گردند، كلید خصوصی كاربر باید همواره به صورت محافظت شده باقی بماند.
چهار راه اصلی برای رسیدن به این هدف عبارتند از:
۱) رمز، توسط كلمه عبور: در این روش كه یكی از مشهورترین و پراستفاده‌ترین روش‌ها می‌باشد، كلید خصوصی توسط یك كلمه عبور رمز می‌شود و سپس به صورت فایل برروی دیسك و یا دستگاه‌های مشابه ذخیره می‌شود.
۲) ذخیره در كارت‌های حافظه‌دار: در این روش كلید خصوصی در كارت‌های با حافظه محافظت شده (معمولا توسط كلمه عبور) ذخیره می‌شود و در موقع نیاز، به حافظه رایانه منتقل شده و پس از استفاده دور ریخته می‌شود.
۳) ذخیره در كارت‌های هوشمند: در این روش از كارت‌های هوشمندی كه دارای پردازنده می‌باشند جهت ذخیره كلید استفاده می‌شود. با فرض اینكه قسمتی از الگوریتم رمزنگاری، داخل كارت انجام می‌شود، كلید خصوصی هیچگاه كارت را ترك نمی‌كند.
۴) ذخیره در دستگاه‌های كاملا غیرقابل نفوذ (Truly attack - resitant devices): در این روش از دستگاه‌های خاصی جهت ذخیره كلید استفاده می‌شود كه بسیار امن‌تر از كارت‌های هوشمند (از نظر نفوذ پذیری توسط دشمن) می‌باشند.
روش اول به دلیل اینكه كلمه عبور، معمولا قابل حدس زدن می‌باشد و یا ممكن است كاربر آن را فراموش كند برای یك سیستم در سطح بزرگ PKI جالب به نظر نمی‌رسد. با مقایسه روش‌های دیگر، روش سوم به دلیل اینكه كلید خصوصی به حافظه رایانه منتقل می‌شود، بسیاری از حملات را توسط نفوذگران فراهم می‌سازد. روش چهارم نیز كاربر را وادار می‌نماید تا به تولیدكننده‌ی دستگاه اطمینان دهد كه مطلوب نیست؛ زیرا مثلا دستگاه ممكن است پیام‌های اضافی را امضا نماید و یا پیام‌های رمزشده را در خود ذخیره نماید.
یكی از مهمترین خصوصیات كارت‌های هوشمند، امكان استفاده از كلید خصوصی در جاهای مختلف می‌باشد. در عصر ارتباطات امروزی نمی‌توان انتظار داشت كه كاربر همیشه از یك رایانه برای ارتباط با شبكه اینترنت استفاده نماید و بنابراین كاربر با حمل كارت هوشمند خود می‌تواند از هر نقطه‌ای كه به شبكه اینترنت متصل است ( و دستگاه كارت‌خوان را داراست) ارتباط امن ایجاد نماید.
كارت هوشمندی كه برای PKI مناسب می‌باشد كارتی است كه در آن قسمتی از الگوریتم رمزنگاری كه نیاز به كلید خصوصی كاربر دارد در كارت پیاده سازی شده است و در نتیجه هیچ‌گاه نیاز نیست كه كلید خصوصی از كارت خارج شود. اینگونه كارت‌ها معمولا توسط یك شماره شناسایی شخصی (PIN) محافظت می‌شوند تا اگر كارت به دلایلی به دست فرد غیرمجاز برسد، قابل استفاده نباشد. اطلاعاتی كه در كارت ذخیره می‌شوند، عبارتند از :
۱) كلید خصوصی كاربر
۲) گواهی كاربر (امضا شده توسط صادركننده گواهی)
۳) كلیدعمومی صادركننده گواهی اولیه (root)
۴) گواهی مربوط به كلیه صادركننده‌های گواهی كه بین root و كاربر قرار می‌گیرند
علاوه بر موارد بالا ممكن است یك شماره سریال برای هر كارت هوشمند در نظر گرفته شود و اطلاعات دیگری مروبط به الگوریتم ذخیره شده در كارت وجود داشته باشد.
●مباحث تکمیلی
لازم به ذكر است با وجود اینكه سیستم‌های PKI بسیار مفید می‌باشند ولی آنها نیز دارای محدودیت‌هایی می‌باشند. به عنوان مثال كاربران باید به یك صادركننده گواهی (جهت امضای گواهی) اعتماد كنند. البته چنین اعتمادی دور از ذهن نیست، زیرا در سیستم‌های قدیمی و حتی سیستم‌های غیرشبكه‌ای نیز همواره اعتماد، جزو ملزومات سیستم بوده است. به عنوان مثال در سیستم بانكی، دارنده حساب باید به سیستم بانكی اعتماد داشته باشد.
یكی از نكات مهم و اساسی در ساختار طراحی شده، اعتماد به امنیت كارت هوشمند می‌باشد. به عنوان مثال اگر كلید خصوصی كاربر و یا كلید عمومی صادركننده گواهی اولیه root، مورد دسترسی غیر مجاز قرار گیرند، امنیت سیستم به خطر می‌افتد.
در طرح ذكر شده فرض می‌شود كه الگوریتم‌های رمزنگاری با شماره شناسایی، قابل تشخیص هستند و بنابراین كاربران می‌توانند از الگوریتم‌های دلخواه خویش استفاده نمایند. همچنین در گواهی می‌توان فیلدهای متغیر داشت و بنابراین بسته به نیاز می‌توان گواهی خاصی ایجاد كرد. به عنوان نمونه گواهی رانندگی، گواهی تحصیلی و غیره.
در سیستم فرض می‌شود كه كاربر، مسولیت هر گونه امضایی كه با كلید خصوصی او انجام گرفته باشد را به عهده می‌گیرد. حالتی را در نظر بگیرید كه كاربری متنی را امضا نموده و سپس تاریخ انقضای كلید رمزنگاری او به سر آمده، چگونه می‌توان چنین امضایی را تایید كرد؟ به عنوان راه اول می‌توان همواره گواهی كاربر (و اطلاعات مربوط به صادركننده گواهی) را به همراه امضای وی نگهداری نمود و در نتیجه امضاهای قدیمی نیز قابل پیگیری باشند. به عنوان راه دوم می‌توان كلید عمومی كلیه كاربران (حتی ابطال شده‌ها) را در یك لیست در سیستم نگهداری كرد تا در موقع بروز شكایت، قابل پیگیری باشند.
●نتیجه گیری
در این مقاله استفاده از الگوریتم رمزنگاری نامتقارن به عنوان یك وسیله كارا برای هماهنگ كردن ساختار امنیتی شبكه در سطح بزرگ مورد بررسی قرار گرفت و یك طرح كلی برای فراهم كردن سرویس‌های محرمانگی، احراز هویت و عدم انكار ارائه شد. ساختار ارائه شده به‌راحتی امكان استفاده از سرویس‌های فوق را فراهم می‌آورد.
دكتر شهرام بختیاری
برگرفته از: خبرگزاری دانشجویان ایران