‫ كليدهاي رمزنگاري

IRCAR200911041

رمزنگاري، شيوه باستاني حفاظت از اطلاعات است كه سابقه آن به حدود 4000 سال پيش از ميلاد باز مي گردد. امروزه رمزنگاري در دنياي مدرن از اهميت ويژه اي برخوردار است، به طوري كه رمزنگاري به عنوان يك روش مؤثر براي حفاظت از اطلاعات حساس به كار مي رود. اطلاعاتي مانند اطلاعات طبقه بندي شده نظامي، اطلاعات حساس مؤسسات مالي، كلمات عبور كه بر روي سيستم هاي كامپيوتري ذخيره شده اند و داده هايي كه بر روي اينترنت و يا از طريق امواج راديويي انتشار مي يابند. در سري مقاله هاي رمزنگاري، مفاهيم اوليه رمزنگاري را شرح خواهيم داد. لازم به ذكر است كه رمزنگاري يك مبحث بسيار پيچيده است و در اينجا ما قصد توضيح پايه هاي رياضي الگوريتمهاي رمزنگاري يا باز كردن تمام جزئيات را نداريم و تنها به معرفي كليات اين مقوله خواهيم پرداخت. براي دريافت اطلاعات و جزئيات بيشتر مي توانيد به كتابهايي كه در اين زمينه نگارش شده اند مراجعه فرماييد. در قسمتهاي قبلي تاريخچه مختصري از رمزنگاري و مفاهيم اوليه آن را توضيح داديم و در اين قسمت كليدهاي رمزنگاري، شيوه انتشار و مديريت كليد و رمزنگاري در شبكه را توضيح خواهيم داد.

كليدهاي رمزنگاري

تكنيك هاي رمزنگاري پيچيده به راحتي از روش هاي جابجايي يا جايگزيني استفاده نمي كنند. در عوض از يك كليد محرمانه براي كنترل يك توالي طولاني از جابجايي و جايگزيني هاي پيچيده استفاده مي كنند. كليدهاي رمزنگاري و الگوريتم هاي رمزنگاري با يكديگر همكاري مي كنند تا يك متن اوليه را به يك متن رمزي تبديل كنند. در اغلب موارد الگوريتم رمزنگاري ثابت و شناخته شده است و اين كليد رمزنگاري است كه يك نسخه يكتا از اطلاعات رمزنگاري شده توليد مي كند. در زير انواع كليدهاي رمزنگاري توضيح داده شده اند.

  • كليدهاي محرمانه

    سيستمهاي كليد محرمانه تنها از يك كليد براي رمزنگاري و رمزگشايي اطلاعات استفاده مي كنند. در اين شيوه رمزنگاري، لازم است كه هر جفت فرستنده و گيرنده اطلاعات كليد جداگانه اي را براي رمزنگاري دارا باشند و حفظ كليد به صورت محرمانه بسيار اهميت دارد. امنيت اين روش در گرو حفظ امنيت كليد است. الگوريتم Data Encryption Standard (DES) كه در قسمت بعدي سري مقاله هاي رمزنگاري توضيح داده خواهد شد، يك نمونه از الگوريتم هاي كليد محرمانه است. چون فرض بر اين است كه الگوريتم شناخته شده و معلوم است، امن بودن انتقال و ذخيره كليد بسيار مهم است. كارتهاي هوشمند معمولا براي ذخيره كليدهاي محرمانه استفاده مي‌شوند. در اين حالت تضمين اينكه قلمرو كليد محدود است، مهم است: بايد هميشه فرض كنيم كه يك كارت ممكن است توسط افراد غيرمجاز با موفقيت تحليل گردد، و به اين ترتيب كل سيستم در مخاطره قرار گيرد. در شكل زير يك عمليات انتقال اطلاعات با استفاده از كليد محرمانه نشان داده شده است كه در آن يك كاربر بانك، اطلاعات را با استفاده از كليد محرمانه رمزنگاري مي كند و براي كارمند بانك ارسال مي كند. وي نيز اطلاعات را با كليد مشابهي رمزگشايي مي كند.



  • كليدهاي عمومي و خصوصي

    سيستم هايي كه از اين نوع كليدها استفاده مي كنند، نامتقارن خوانده شده و در واقع داراي يك زوج كليد هستند: يك كليد عمومي و يك كليد خصوصي. در اين سيستم هر كاربر داراي دو كليد عمومي و خصوصي است كه لازم است كليد خصوصي محرمانه نگهداري شود ولي كليد عمومي در اختيار همگان است. در اينجا كليد عمومي و خصوصي به يكديگر از لحاظ رياضي وابسته هستند. كاربر مي تواند با استفاده از كليد خصوصي كه در اختيار دارد پيغام خود را رمزنگاري كرده و گيرنده آن را با استفاده از كليد عمومي رمزگشايي كند يا بالعكس. امتياز اصلي و مهم سيستمهاي كليد نامتقارن اين است كه آنها اجازه مي‌دهند كه يك كليد (كليد خصوصي) با امنيت بسيار بالا توسط صاحب آن نگهداري شود در حاليكه كليد ديگر (كليد عمومي) مي‌تواند منتشر شود. كليدهاي عمومي مي‌توانند همراه پيامها فرستاده شوند يا در فهرستها ليست شوند (شروط و قوانيني براي كليدهاي عمومي در طرح فهرست پيام‌رساني الكترونيكي ITU X.500 وجود دارد)، و از يك شخص به شخص بعدي داده شوند. مكانيسم توزيع كليدهاي عمومي مي‌تواند رسمي (يك مركز توزيع كليد) يا غيررسمي باشد. يكي از نكات منفي سيستمهاي رمزنگاري با كليد عمومي توسط سناريوي زير توضيح داده شده است. فرض كنيد كاربر پيغام خود را با استفاده از كليد خصوصي رمزنگاري مي كند. دريافت كننده پيغام مي تواند از هويت فرستنده پيغام مطمئن باشد يعني تأييد هويت به خوبي انجام مي شود ولي مشكل اينست كه هر كسي كه دسترسي به كليد عمومي دارد مي تواند اطلاعات مذكور را رمزگشايي كند. لذا اين روش محرمانگي اطلاعات را حفظ نمي كند. از طرف ديگر در صورتي كه اطلاعات توسط كليد عمومي رمزنگاري شوند، از آنجايي كه تنها دارنده كليد خصوصي قادر به رمزگشايي آن است لذا محرمانگي آن حفظ مي شود ولي مشكل در اينست كه چون هر كسي مي تواند به كليد عمومي دسترسي داشته باشد تأييد هويت با مشكل روبرو مي شود.



    راه حل مشكل مذكور، همان طور كه در شكل زير نشان داده شده است، استفاده تركيبي از دو روش است به طوري كه هم امكان تأييد هويت وجود داشته باشد و هم محرمانگي اطلاعات حفظ شود. فرستنده پيغام خود را با استفاده از كليد خصوصي كه در اختيار دارد رمزنگاري مي كند و سپس با استفاده از كليد عمومي كه مربوط به گيرنده است آن را مجدداً رمزنگاري مي كند. در اين حالت لازم است گيرنده پيغام ابتدا با استفاده از كليد خصوصي خود پيغام را رمزگشايي كند و سپس نتيجه را با استفاده از كليد عمومي فرستنده مجدداً رمزگشايي كند تا به اصل پيغام دسترسي پيدا كند. در اين صورت پيغام رمزنگاري شده تنها با كليد خصوصي دريافت كننده قابل رمزگشايي است و در نتيجه هم مشكل تأييد هويت و هم حفظ محرمانگي اطلاعات برطرف شده است. در همه حالات فرض مي شود كه دارندگان كليد خصوصي مراقبت هاي لازم را براي حفظ امنيت كليد مزبور به انجام مي رسانند. البته دو بار رمزنگاري و رمزگشايي همه پيغام لزوماً مورد نياز نيست. از آنجايي كه در صورت استفاده فرستنده از كليد عمومي گيرنده، محرمانگي اطلاعات حفظ مي شود، در نتيجه رمزنگاري تنها بخش كوچكي از پيغام، براي تأييد هويت فرستنده كافي است. اين قضيه ايده اصلي امضاي ديجيتالي را تشكيل مي دهد.



  • كليدهاي اصلي و كليدهاي مشتق‌شده (Master keys and derived keys)

    يكي از ايراداتي كه به روشهاي پيشين وارد است، تعداد زياد كليدها است كه طبيعتاً منجر به سخت تر شدن مديريت كليد مي شود. يك روش براي كاستن از تعداد كليدهايي كه بايد منتقل و ذخيره شوند، مشتق گرفتن از آنها در زمان مورد نياز است. در يك برنامه اشتقاق كليد، يك كليد اصلي همراه با چند پارامتر مجزا براي محاسبه كليد مشتق‌شده استفاده مي‌شود كه بعداً براي رمزنگاري استفاده مي‌گردد. براي مثال، اگر يك صادركننده با تعداد زيادي كارت سروكار دارد، مي‌تواند براي هر كارت، با استفاده از كليد اصلي، شماره كارت را رمز كند و به اين ترتيب كليد مشتق‌شده حاصل مي‌شود و به آن كارت اختصاص داده مي‌شود. شكل ديگري از كليدهاي مشتق‌شده با استفاده از tokenها به دست مي آيند كه tokenها محاسبه‌گرهاي الكترونيكي با عملكردهاي مخصوص هستند. ورودي آنها ممكن است، يك مقدار گرفته شده از سيستم مركزي، يك PIN وارد شده توسط كاربر و يا تاريخ و زمان باشد. خود token شامل الگوريتم و يك كليد اصلي است. چنين tokenهايي اغلب براي دسترسي به سيستمهاي كامپيوتري امن استفاده مي‌شوند.

  • كليدهاي رمزكننده‌كليد (Key-encrypting keys)

    از آنجا كه ارسال كليد يك نقطه ضعف از نظر امنيتي در سيستم ها بشمار مي‌رود، رمزكردن كليدها هنگام ارسال و ذخيره آنها بشكل رمزشده منطقي بنظر مي‌رسد. كليدهاي رمزكننده كليد هرگز به خارج از يك سيستم كامپيوتري (يا كارت هوشمند) ارسال نمي‌شوند و بنابراين مي‌توانند آسانتر محافظت شوند. اغلب براي تبادل كليدها الگوريتم متفاوتي از آنچه كه براي رمزكردن پيامها استفاده مي‌شود، مورد استفاده قرار مي‌گيرد. از مفهوم دامنه كليد (key domain) براي محدود كردن ميدان كليدها و محافظت كردن از كليدها در دامنه‌شان استفاده مي‌كنيم. معمولاً يك دامنه، يك سيستم كامپيوتري خواهد بود كه مي‌تواند به صورت فيزيكي و منطقي محافظت گردد. كليدهاي استفاده شده در يك دامنه توسط يك كليد رمزكننده‌ كليد محلي ذخيره مي‌شوند. هنگامي كه كليدها مي‌خواهند به يك سيستم كامپيوتري ديگر فرستاده شوند، رمزگشايي و تحت يك كليد جديد رمز مي‌شوند كه اغلب بعنوان كليد كنترل ناحيه (zone control key) شناخته مي‌شوند. با دريافت اين كليدها در طرف ديگر، تحت كليد محلي سيستم جديد رمز مي‌شوند. بنابراين كليدهايي كه در دامنه‌هاي يك ناحيه قرار دارند از دامنه‌اي به دامنه ديگر به صورتي كه بيان گرديد منتقل مي‌شوند.

  • كليدهاي نشست (Session keys)

    براي محدود كردن مدت زماني كه كليدها معتبر هستند، اغلب يك كليد جديد براي هر نشست يا هر تراكنش توليد مي‌شود. اين كليد ممكن است يك عدد تصادفي توليد شده توسط ترمينالي باشد كه در مرحله تصديق كارت قرار دارد. اگر كارت قادر به رمزگشايي روش كليد عمومي باشد، يعني كليد نشست مي‌تواند با استفاده از كليد عمومي كارت رمز شود. بخشي از تراكنش كه در آن كليد منتقل مي‌شود اغلب در مقايسه با بقيه تراكنش كوتاهتر است؛ بنابراين بار اضافي اين بخش نسبت به كل تراكنش قابل صرف نظر است. چنانچه بقيه تراكنش به سبب استفاده از كليد متقارن (محرمانه) با بالاسري كمتري رمز شود، زمان پردازش براي فاز تاييد هويت و انتقال كليد قابل پذيرش است. (توضيح اينكه روشهاي رمز متقارن از نامتقارن بمراتب سريعتر هستند بنابراين مي‌توان ابتدا يك كليد متقارن را با استفاده از روش نامتقارن انتقال داد و سپس از آن كليد متقارن براي انجام بقيه تراكنش استفاده كرد.) در مورد الگوريتم هاي رمزنگاري در قسمت بعدي بيشتر توضيح خواهيم داد. شكل خاصي از كليد نشست، سيستم انتقال كليد است كه در برخي سيستمهاي پرداخت الكترونيك و مبادله ديتاي الكترونيك استفاده مي‌شود. بدين صورت كه در پايان هر تراكنش، يك كليد جديد منتقل مي‌شود و اين كليد براي تراكنش بعدي مورد استفاده قرار مي‌گيرد.

  • رمزنگاري مبدأ به مقصد و رمزنگاري انتقال

    دو سطح ارتباطي پايه وجود دارد كه رمزنگاري مي تواند در آن اجرا شود. رمزنگاري بر اساس اين سطوح به دو دسته رمزنگاري مبدأ به مقصد و رمزنگاري انتقال تقسيم مي شود. در رمزنگاري مبدأ به مقصد يا end-to-end كه گاهي اوقات به آن رمزنگاري آفلاين هم گفته مي شود، پيغامها در مبدأ و در زمان ارسال رمزنگاري شده و سپس در مقصد رمزگشايي مي شوند. در اين سطح رمزنگاري نيازي نيست كه شبكه از رمزي بودن پيغام آگاهي داشته باشد. گاهي اوقات اين نوع رمزنگاري مي تواند توسط كاربر مورد انتخاب قرار بگيرد. پيغام در تمام طول انتقال رمزشده باقي مي ماند، از ابتدا تا انتها. فايده اين روش در اين است كه احتياجي نيست در تمام گامهاي مسير، تمام نقاط امن باشند. اين اصلي است كه امروزه در سيستمهاي شناخته شده رمزنگاري پيغام به شيوه تونل مانند SSL و TLS مورد استفاده قرار مي گيرد. در رمزنگاري انتقال يا link encryption كه گاهي به آن رمزنگاري آنلاين هم گفته مي شود، مانند روش قبل پيغام در زمان ارسال رمزنگاري مي شود ولي هر بار كه به يك گره ارتباطي شبكه مي رسد، رمزگشايي شده و دوباره رمزنگاري مي شود. در اين روش رمزنگاري از ديد كاربر پنهان است و به عنوان بخشي از پروسه انتقال اعمال مي شود. براي هر دو روش نقاط مثبت و منفي وجود دارد كه در زير آورده شده است.

    نقاط مثبت روش مبدأ به مقصد:


    • قابليت انعطاف بيشتري دارد. كاربر مي تواند تنها اطلاعات مورد نظر خويش را رمزنگاري كند و هر كاربر نيز مي تواند كليد جداگانه اي داشته باشد.
    • در اين روش انتشار كليد و مديريت آن ساده تر است.
    • با استفاده از اين روش، اطلاعات از ابتدا تا انتها و در كل شبكه محافظت شده باقي مي مانند.
    • روشي كارآمدتر است زيرا لازم نيست شبكه هيچگونه تسهيلات خاص رمزنگاري را دارا باشد.

    نقاط منفي روش مبدأ به مقصد:

    • ممكن است نياز به بررسي برخي از اطلاعات مانند اطلاعات سرآيند و يا مسيريابي به صورت رمزنگاري نشده باشد.
    • هر سيستمي نيازمند اجراي نوع يكساني از رمزنگاري است.
    • اين روش تنها محتويات پيغام را امن نگاه مي دارد ولي نمي تواند اين واقعيت را مخفي كند كه چنين پيغامي فرستاده شده است.


    نقاط مثبت روش انتقال:

    • راحت تر است زيرا لازم نيست كاربر هيچ كاري انجام دهد.
    • استفاده از آن، در شبكه اي كه گره هاي زيادي دارد راحت تر است.
    • در صورتي كه يكي از گره ها مورد سوءاستفاده قرار گيرد تمام شبكه لو نمي رود زيرا هر جفت از گره ها از كليد جداگانه اي استفاده مي كنند.
    • در اين روش تمام اطلاعات، حتي اطلاعات سرآيند و مسيريابي رمزنگاري مي شوند.


    نقاط منفي روش انتقال:

    • انتشار كليد و مديريت آن بسيار مشكل خواهد بود زيرا همه گره هاي شبكه لازم است يك كليد دريافت كنند.
    • نقاط آسيب پذير بيشتري وجود دارد زيرا اطلاعات، چندين نوبت به حالت اوليه تبديل مي شود.

نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 18 مرداد 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها:0