امنیت شبکه

حمیدرضا رضوی-دانشگاه آزاد ابهر

تکنیک های رمزنگاری



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

در بخش «دستگاه رمزنگاري توماس جفرسون» در همين مقاله، يك نمونه از ابزاري كه در قرن هيجدهم براي رمزگذاري و رمزگشايي پيغام‌ها به‌ كار مي‌رفت، مورد بررسي قرار گرفته است. براي رمزگشايي پيغام، فرستنده و دريافت‌كننده آن بايد تكنيك يكساني را به‌ كار بگيرند و يك كلمه رمز مشخص كنند.

در رمزگذاري به شيوه كليد متقارن، به اين كلمه رمز كه يك عدد تصادفي است، اصطلاحاً كليد (
key) گفته مي‌شود. در رمزنگاري به شيوه كليد عمومي كه داراي يك جفت كليد عمومي (public) و خصوصي (private) است، اين كلمه رمز درواقع همان كليد خصوصي است. پس از بررسي روش‌هاي رمزنگاري، علت استفاده همزمان از دو شيوه مذكور مشخص خواهد شد.

رمزنگاري به ‌شيوه كليد متقارن‌

همان‌طور كه در  شكل 1 مي‌بينيد، در رمزنگاري به شيوه كليد متقارن، تابع رمزگذاري (‌)
E با استفاده از يك كليد محرمانه k، پيغام متني P را به متن رمزشده C تبديل مي‌كند. دريافت‌كننده اين پيغام رمزشده، با اعمال تابع رمزگشايي (‌)D و همان كليد محرمانه k، اين پيغام را به حالت اوليه P بازمي‌گرداند.

بهترين تكنيك رمزنگاري به شيوه كليد متقارن،
DES يا‌ Data Encryption Standard نام دارد و از سال 1976 مورد استفاده قرار گرفته است. تكنيك DES در واقع يك متن كدشدهِ تكراري است كه به قطعات 64 بيتي متن ساده متصل مي‌شود.

تابع رمزگذاري به‌ واسطه جابه‌جايي، توسعه، انتقال، فشرده‌سازي، تعويض و تركيب قطعات 64 بيتي متن پيغام با يك كليد 56 بيتي، هر قطعه از متن ورودي را به يك قطعه متن 64 بيتي كدشده تبديل مي‌كند. گيرنده پيغام، با اجراي معكوس مراحل رمزگذاري و با استفاده از همان كليد 56 بيتي
k ، قادر است پيغام را به حالت اوليه بازگرداند.


شکل1- فرآيند رمزگذاري از فرمول (C=E(P تبعيت مي‌کند. براي رمزگشايي پيغام از فرمول (P=D(C استفاده مي‌شود. در رمزگذاري به شيوه کليد متقارن، رابطه K1=K2 برقرار است. در رمزگذاري به شيوه کليد عمومي، کليد رمزگذاري با کليد عمومي دريافت‌کننده پيغام يکسان است و کليد رمزگشايي همان کليد خصوصي دريافت‌کننده است.










تكنيك DES از همان ابتداي كار، به عنوان يك روش ايمن براي انجام تراكنش‌هاي مالي مورد استفاده قرار گرفت، اما امروزه كارايي گذشته را ندارد. فضاي 56 بيتي كليد مورد استفاده در اين تكنيك، 2 به توان 56 كليد منحصر به‌فرد توليد مي‌كند. بنابراين، جست‌وجوي دقيق فضاي كليد، متضمن دستيابي به مقدار كليدk  و تبديل متن كدشدهC  به پيغام اوليه P خواهد بود.

با اين‌كه فضاي 256 بيتي براي انسان‌ها بسيار بزرگ به ‌نظر مي‌رسد، جست‌وجوي آن براي ماشين‌هاي ويژهِ كشف‌رمز يا سوپركامپيوترهاي امروزي، چندان مشكل نيست. در نتيجه، محققان روش‌هاي جديدي را براي پياده‌سازي الگوريتم‌هاي رمزنگاري به‌شيوه كليد متقارن ابداع كرده‌اند.

از ميان اين روش‌ها مي‌توان از
DES سه‌گانه (در اين روش، تكنيك DES سه بار پياپي و با استفاده از سه كليد 56 بيتي متفاوت اجرا مي‌شود. در اين نوع رمزنگاري، فضاي كليد مود استفاده، معادل يك كليد 168 بيتي خواهد بود.)، تكنيك IDEA يا International Data Encryption Algorithm  با كليدهاي 128 بيتي، تكنيك RC4 (كليدهايي با فضاي بالاي دو كيلوبيت يا 2048 بيت) و تكنيك RC5 (كليدهايي با فضاي بالاي 256 بيت) نام برد.

هنگام استانداردسازي روش‌هاي رمزنگاري در سال 1997 مؤسسه ملي استاندارد و فناوري با برگزاري يك مسابقه عمومي، تكنيك
DES را با تكنيك AES يا Advanced Encription Standard جايگزين كرد. برنده اين مسابقه روشي موسوم به Rijndael يا Rhine-doll  بود كه دو رمزنگار بلژيكي معرفي كردند.

تكنيك
AES مانند DES نوعي رمزنگاري با استفاده از قطعات تكراري متن كدشده است، اما در آن از متن‌هاي 128 بيتي همراه كليدهاي 128، 192 يا 256بيتي استفاده مي‌شود. بهره‌گيري از كليد 256 بيتي، تعداد 2 به توان 256 انتخاب را براي كليد فراهم مي‌كند. جست‌وجوي اين فضا حتي براي كامپيوترهاي پيشرفتهِ امروزي نيز غيرممكن است.

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

رمزنگاري به شيوه كليد عمومي‌

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

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

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

براي ارسال يك پيغام ايمن، فرستنده پيغام، آن را با استفاده از كليد عمومي دريافت‌كننده، رمزگذاري مي‌كند. سپس دريافت‌كننده پيغام به ‌منظور رمزگشايي آن، تابعي را اجرا مي‌كند كه در آن از كليد خصوصي ارسال‌كننده بهره‌گيري شده است.

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

امضاي ديجيتالي‌

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

فرض كنيد عنصر
Xقصد ارسال داده‌هاي ايمن را براي عنصر Yدارد و عنصر Y بخواهد از ارسال اين اطلاعات توسط عنصر Xاطمينان حاصل كند.

براي انجام اين كار ابتدا عنصر
X با استفاده از كليد خصوصي مربوط به خود، تابع رمزگشايي را روي متن پيغام اجرا مي‌كند.

سپس تابع رمزگذاري را با استفاده از كليد عمومي عنصر
Y روي متن پيغام اجرا مي‌كند. بدين ترتيب متن رمزشده به ‌دست مي‌آيد.

عنصر
Y پس از دريافت پيغام رمز، ابتدا آن را با استفاده از كليد خصوصي مربوط به خود، رمزگشايي مي‌نمايد و سپس نتيجه حاصل را با استفاده از كليد عمومي عنصر Xرمزگذاري مي‌كند.

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

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

 دستگاه رمزنگاري توماس جفرسون


شکل2- دستگاه رمزنگاري جفرسون. روي هر يک از صفحات دوار اين دستگاه، 26 کاراکتر از حروف الفباي انگليسي به‌طور تصاوفي نوشته شده است.


توماس جفرسون در دوران وزارت خود بين سال‌هاي 1790 تا 1793، به منظور حفظ محتواي پيغام‌ها دستگاهي را ابداع کرد که در واقع نوعي دستگاه رمزنگاري محسوب مي‌شود.

اين دستگاه از 26 صفحه دوار تشکيل شده که روي هر صفحه 26 کاراکتر از حروف الفباي انگليسي به‌طور تصادفي حک شده است (شکل2) هنگام استفاده از اين دستگاه، صفحات دوار به گونه خاصي مستقر مي‌شدند و ترتيب قرارگيري آن‌ها به‌عنوان کليد رمز در اختيار دريافت‌‌کننده پيغام قرار مي‌گرفت.
بدين ترتيب، وقتي پيغامي با 26 کاراکتر در يک سطر نوشته مي‌شد، 25 سطر باقي‌مانده متن‌هاي کدشده‌اي را در اختيار کاربر مي‌گذاشتند که وي مي‌توانست هر يک از آن‌ها را به‌عنوان پيغام رمز براي مخاطب خود ارسال کند.
شخص مخاطب پس از دريافت پيغام رمز، صفحات دوار را براساس کليد رمز مرتب مي‌کرد و سپس پيغام رمزشده را در يکي از سطرهاي دستگاه مي‌نوشت. با انجام اين کار، پيغام اصلي در يکي از 25 سطر باقي‌مانده به نمايش درمي‌آمد.


گزارش تخلف
بعدی