بخشی از مقاله


امنيت اطلاعات در شبكه

- سرويس هاي امنيتي در شبكه 3
- ديوار آتش 6


- اصول رمزنگاري 17
- رمزگذاري جانشيني و جايگشتي 19
- رمزگذاري DES 23
- رمزگذاري RSA 30
- اصول احراز هويت در شبكه 3

8
- امضاهاي ديجيتالي 43


1)مقدمه
تا يكي دو دهه قبل شبكه هاي كامپيوتري معمولاً در دو محيط وجود خارجي داشت:
• محيطهاي نظامي كه طبق آئين نامه هاي حفاظتي ويژه بصورت فيزيكي حراست مي شد و چو.ن سايت هاي ارتباطي خودشان هم در محيط حفاظت شدة نظامي مستقر بود و هيچ ارتباط مستقيم با دنياي خارج نداشتند، لذا دغدغة كمتري براي حفظ اسرار و اطلاعات وجود داشت. (نمونه بارز اين شبكه ARPANET در وزارت دفاع آمريكا بود)
• محيط هاي علمي و دانشگاهي كه براي مبادله دستاوردهاي تحقيقي و دسترسي به اطلاعات علمي ازشبكه استفاده مي كردند و معمولاً بر روي چنين شبكه هايي اطلاعاتي مبادله مي شد كه آشكار شدن آن ها لطمة چنداني به كسي وارد نمي كرد.( اداراتي هم كه اطلاعات محرمانه و سري داشتند معمولاً از كامپيوترهاي Mainframe استفاده مي كردند كه هم مديريت و حراست ساده تري نياز دارد و هم كنترل كاربران آن بصورت فيزيكي ساده است)
با گسترش روز افزون شبكه هاي به هم پيوسته و ازدياد حجم اطلاعات مورد مبادله و متكي شدن قسمت زيادي از امور روزمره به شبكه هاي كامپيوتري و ايجاد شبكه‌هاي جهاني چالش بزرگي براي صاحبان اطلاعات پديد آمده است. امروز سرقت دانشي كه براي آن هزينه و وقت، صرف شده يكي از خطرات بالقوه شبكه هاي كامپيوتري به شمار مي آيد.
در جهان امروز با محول شدن امور اداري و مالي به شبكه هاي كامپيوتري زنگ خطر براي تمام مردم به صدا درآمده است و بر خلاف گذشته كه خطراتي نظير دزدي و راهزني معمولاً توسط افراد كم سواد و ولگرد متوجه مردم بود امروزه اين خطر توسط افرادي تحميل مي شود كه با هوش و باسوادند(حتي با هوش تر از افراد معمولي) و قدرت نفوذ و ضربه به شبكه را دارند. معمولاً هدف افرادي كه به شبكه هاي كامپيوتري نفوذ يا حمله مي كنند يكي از موارد زير است:
• تفريح يا اندازه گيري ضريب توانايي فردي يا كنجكاوي (معمولاً دانشجويان!)
• دزديدن دانشي كه براي تهيه آن بايستي صرف هزينه كرد (راهزنان دانش)
• انتقام جويي و ضربه زدن به رقيب


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

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

نوان يك فرد مطلع از خطراتي كه يك شبكه كامپيوتري را دنبال مي كند اين فصل را دنبال كنيد.

1-1) سرويسهاي امنيتي در شبكه ها
تهديد هاي بالقوه براي امنيت شبكه هاي كامپيوتري بصورت عمده عبارتند از:
• فاش شدن غير مجاز اطلاعات در نتيجة استراق سمع داده ها يا پيامهاي در حال مبادله روي شبكه
• قطع ارتباط و اختلال در شبكه به واسطه يك اقدام خرابكارانه
• تغيير و دستكاري غير مجاز اطلاعات با يك پيغام ارسال شده
بايستي با مفاهيم اصطلاحات زير به عنوان سرويسهاي امنيتي آشنا باشيد:
الف) محرمانه ماندن اطلاعات : دلايل متعددي براي يك سازمان يا حتي يك فرد عادي وجود دارد كه بخواهند اطلاعات خود را محرمانه نگه دارد.
ب) احراز هويت : بيش از آنكه محتواي يك پيام يا اطلاعات اهميت داشته باشد بايد مطمئن شويد كه پيام حقيقتاً از كسي كه تصور مي كنيد رسيده است و كسي قصد فريب و گمراه كردن ( يا آزار) شما را ندارد.

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

نقض شود مي گوييم به سيستم حمله شده است.
معمولاً يك شبكه كامپيوتري در معرض چهار نوع حمله قرار دارد:
• حمله از نوع وقفه : بدين معنا كه حمله كننده باعث شود شبكه مختل شده و مبادله اطلاعات امكان پذير نباشد.
• حمله از نوع استراق سمع : بدين معنا كه حمل
• حمله از نوع دستكاري داده ها : يعني حمله كننده توانسته به نحوي اطلاعاتي را كه روي شبكه مبادله مي شود تغيير دهد يعني داده هايي كه در مقصد دريافت مي شود متفاوت با آن چيزي باشد كه از مبدأ آن ارسال شده است.
• حمله از نوع افزودن اطلاعات : يعني حمله كننده اطلاعاتي را كه در حال تبادل روي شبكه است تغيير نمي دهد بلكه اطلاعات ديگري را كه مي تواند مخرب يا بنيانگزار حملات بعدي باشد، به اطلاعات اضافه مي نمايد (مثل ويروس ها)
به حمله اي كه هنگام شروع با بروز اختلال در شبكه علني مي شود و در كار ارسال يا دريافت مشكل ايجاد مي كند “حمله فعال” مي گويند. برعكس حمله اي كه شبكه را با اختلال مواجه نمي كند و ظاهراً مشكلي در كار ارسال و دريافت به وجود نمي آورد “حملة غير فعال” ناميده مي شود و از خطرناكترين انواع حمله ها به شبكه به شمار مي رود.
در ادامه اين فصل دو راه كلي براي حراست و حفظ امنيت اطلاعات در يك شبكه كامپيوتري معرفي مي شود:
• حراست و حفاظت داده ها و شبكه از طريق نظارت بر اطلاعات و دسترسي ها به كمك سيستم هايي كه “ديوار آتش ” ناميده مي شود.
• رمز گذاري اطلاعات به گونه اي كه حتي اگر كسي آنها را دريافت كرد نتواند محتواي آن را بفهمد و از آن بهره برداري كند.
براي تمايز دو مورد فوق مثال عاميانه زير بد نيست:
چون احتمال سرقت هميشه وجود دارد اولاً شما قفلهاي مطمئن و دزدگير براي منزل خود نصب مي كنيد و احتمالاً نگهباني مي گماريد تا ورود و خروج افراد را نظارت كند (كاري كه ديوار آتش انجام مي دهد) ثانياً چون باز هم احتمال نفوذ مي دهيد لوازم قيمتي و وجه نقد را در گوشه اي مخفي مي كنيد تا حتي در صورت ورود سارق موفق به پيدا كردن و بهره برداري از آن نشود. با تمام اين كارها باز هم اطمينان صد در صد وجود ندارد چرا كه هر كاري از يك انسان باهوش بر مي آيد.

2)ديوار آتش
ديوار آتش سيستمي است كه در بين كاربران يك شبكه محلي و شبكه بيروني (مثلاً اينترنت)قرار مي گيرد و ضمن نظارت بر دسترسي ها، در تمام سطوح ورود و خروج اطلاعات را تحت نظر دارد.
مدلي ساده براي يك سيستم ديوار آتش در شكل (1) ارائه شده است. در اين ساختار هر سازمان شبكه داخلي خود را با دنياي خارجي قطع كرده و هر نوع ارتباط خارجي از طريق يك دروازه كه در شكل (1) نشان داده شده، انجام شود.

شكل (1) نمودار كلي بكارگيري يك ديوار آتش

قبل از آنكه اجزاي يك ديوار آتش را تحليل كنيم بايد عملكرد كلي و مشكلات استفاده از يك ديوار آتش را بررسي كنيم.
بسته هاي IP قبل از مسيريابي روي شبكه اينترنت ابتدا وارد ديوار آتش مي شوند و منتظر مي مانند تا طبق معيارهاي حفاظتي و امنيتي پردازش شوند. پس از پردازش و تحليل بسته سه حالت ممكن است اتفاق بيفتد:


الف) اجازه عبور بسته صادر شود.(Accept Mode)
ب)بسته حذف گردد. (Blocking Mode)
بسته حذف شده و پاسخ مناسب به مبداء آن بسته داده شود. (Response Mode)
(به غير از پيغام حذف بسته مي توان عملياتي نظير اخطار، ردگيري، جلوگيري از ادامه استفاده از شبكه و تو بيخ هم در نظر گرفت)
در حقيقت ديوار آتش محلي است براي ايست و بازرسي بسته هاي اطلاعاتي به گونه‌اي كه بسته ها بر اساس تابعي از قواعد امنيتي و حفاظتي، پردازش ده و براي
آنها مجوز عبوز يا يك عدم عبور صادر مي شود.
اگر P مجموعه اي از بسته هاي ورودي به سيستم ديوار آتش در نظر گرفته شود و S مجموعه اي متناهي از قواعد امنيتي باشد داريم:
X=F(p,s)
F تابع عملكرد ديوار آتش و X نتيجة تحليل بسته (شام

ل سه حالت Accept,Biocking,Response) خواهد بود.
همانطوري كه همه جا عمليات ايست وبازرسي وقتگير واعصاب خردكن است ديوار آتش هم به عنوان يك گلوگاه مي تواند منجر به بالا رفتن ترافيك، تاخير، ازدحام و نهايتاً بن بست در شبكه شود ( بن بست زماني است كه بسته ها آنقدر در حافظه ديوار آتش معطل مي شوند تا طول عمرشان تمام شود و فرستنده اقدام به ارسال مجدد آنها كرده و اين كار به طور متناوب تكرار شود) به همين دليل ديوار آتش نياز به طراحي صحيح و دقيق دارد تا از حالت گلوگاهي خارج شود .( تأخير در ديوار آتش مجموعاً اجتناب ناپذير است فقط بايستي به گونه اي باشد كه بحران ايجاد نكند.)

3)مباني طراحي ديوار آتش
از آنجايي كه معماري شبكه بصورت لايه به لايه است، در مدل TCP/IP براي انتقال
يك واحد اطلاعات از لايه چهارم بر روي شبكه بايد تمام لايه ها را بگذراند و هر لايه براي انجام وظيفة خود تعدادي فيلد مشخص به ابتداي بستة اطلاعاتي اضافه كرده و ان را تحويل لاية زيرين مي دهد. قسمت اعظم كار يك ديوار آتش تحليل فيلدهاي اضافه شده در هر لايه و سرآيند هر بسته مي باشد.
در بسته اي كه وارد ديوار آتش مي شود به تعداد لايه ها (4 لايه ) سرآيند متفاوت وجود خواهد داشت معمولاً سرآيند لايه اول (لايه فيزيكي يا Network Interface در شبكه اينترنت) اهميت چنداني ندارد چرا كه محتواي اين فيلد ها فقط روي كانال فيزيكي از شبكه محلي معنا دارد و در گذر از هر شبكه يا مسيرياب اين فيلدها عوض خواهد شد. بيشترين اهميت در سرآيندي است كه در لايه هاي دوم ،سوم و چهارم به يك واحد از اطلاعات اضافه خواهد شد:
• در لايه شبكه ديوار آتش فيلدهاي بسته IP را پردازش و تحليل مي كند.
• در لايه انتقال ديوار آتش فيلدهاي بسته هاي TCP يا UDP را پردازش و تحليل مي كند.
• در لايه كاربرد ديوار آتش فيلدهاي سرآيند و همچنين محتواي خود داده ها را بررسي مي كند.
(مثلاً سرآيند و محتواي يك نامه الكترونيكي يا يك صفحه وب مي تواند مورد بررسي قرار گيرد.)
با توجه به لايه لايه بودن معماري شبكه لاجرم يك ديوار آتش نيز لايه به لايه خواهد بود به شكل (2) دقت كنيد:


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

TP در لايه دوم
• قواعد تحليل سرآيند متن يك نامه الكترنيكي يا صفحه وب در لايه سوم


شكل (2) لايه بندي ساختار يك ديوار آتش

1-3) لايه اول ديوار آتش
لايه اول در ديوار آتش بر اساس تحليل بسته IPو فيلد هاي سرآينداين بسته كار مي كند و در اين بسته فيلدهاي زير قابل نظارت و بررسي هستند:
• آدرس مبداء : برخي از ماشينهاي داخل يا خارج شبكه با آدرس IP خاص “حق ارسال” بسته نداشته باشند و بسته هاي آنها به محض ورود به ديوار آتش حذف شود.
• آدرس مقصد: برخي از ماشينهاي داخل يا خارج شبكه با آدرس IP خاص “حق دريافت” بسته نداشته باشند و بسته هاي آنها به محض ورود به ديوار آتش حذف شوند.
• (آدرسهاي IP غير مجاز توسط مسئول ديوار آتش تعريف مي شود).
• شماره شناسايي يك ديتاگرام :بسته هايي كه متعلق به يك ديتاگرام خاص هستند حذف شوند.
• شماره پروتكل: بسته هايي كه متعلق به پروتكل خاصي در لايه بالاتر هستند مي تواند حذف شود. يعني بررسي اين كه بسته متعلق به چه پروتكلي در لايه بالاتر است و آيا براي تحويل به آن پروتكل مجاز است يا نه.
• زمان حيات بسته: بسته هايي كه بيش از تعداد مشخصي مسيرياب را طي كرده اند مشكوك هستند و بايد حذف شوند.
• بقيه فيلدها بنابر صلاحديد و قواعد امنيتي مسئول ديوار آتش قابل بررسي هستند مهمترين خصوصيت لايه اول از ديوار آتش آن است كه در اين لايه بسته ها به طور مجزا و مستقل از هم بررسي مي شود و هيچ نيازي به نگه داشتن بسته هاي قبلي يا بعدي يك بسته نيست. به همين دليل ساده ترين و سريعترين تصميم گيري در اين

لايه انجام مي شود.
امروزه برخي از مسيرياب ها با امكان لايه اول ديوار آتش به بازار عرضه مي شوند يعني به غير از مسيريابي، وظيفة لايه اول يك ديوار آتش را هم انجام مي دهند كه به آنها “مسيرياب هاي فيلتر كننده بسته” گفته مي شود بنابراين مسيرياب قبل از ا

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

 


2-3) لايه دوم ديوار آتش
در اين لايه از فيلد هاي سرآيند لايه انتقال براي تحليل بسته استفاده مي شود عمومي ترين فيلدهاي بسته هاي لاية انتقال چهت بازرسي در ديوار آتش، عبارتند از:
• شماره پورت پروسه مبداء و شماره پورت پروسه مقصد: با توجه به اينكه پورت هاي استاندارد شناخته شده هستند ممكن است مسئول يك ديوار آتش بخواهد سرويس ftp (انتقال فايل) فقط در محيط شبكه محلي امكان پذير باشد و براي تمام ماشينهاي خارجي اين سرويس وجود نداشته باشد بنابراين ديوار آتش مي تواند بسته هاي TCP با شماره پورت 20 و 21 (مربوط به ftp ) كه قصد ورود يا خروج از شبكه دارند، حدف كند. يكي ديگر از سرويسهاي خطرناك كه ممكن است مورد سوء استفاده قرار گيرد Telnet است كه مي توان براحتي پورت 23 را مسدود كرد يعني بسته هايي كه شماره پورت مقصدشان 23 است حذف شوند.
• فيلد شماره ترتيب و فيلد Acknowledgment : اين دو فيلد بنابر قواعد تعريف شده توسط مسئول شبكه قابل استفاده هستند. از مهمترين خصوصيات اين لايه آن است كه تمام تقاضاهاي برقراري ارتباط TCP بايستي از اين لايه بگذرد و چون در ارتباط TCP،“دست تكاني سه گانه اش” به اتمام نرسد انتقال داده امكان پذير نيست لذا قبل از هر گونه مبادله داده ديوار آتش مي تواند مانع برقراري هر ارتباط غير مجاز شود. يعني ديوار آتش مي تواند تقاضاهاي برقراري ارتباط TCP را قبل از ارائه به ماشين مقصد بررسي نمايد و در صورت غير قابل اعتماد بودن، مانع از برقراري ارتباط شود. ديوار آتش در اين لايه نياز به جدولي از شماره پروت

هاي غير مجاز دارد.

3-3) لايه سوم ديوار آتش
در اين لايه حفاظت بر اساس نوع سرويس و برنامه كاربردي انجام مي شود. يعني با در نظر گرفتن پروتكي در لايه چهارم به تحليل داده ها مي پردازد. تعداد صرايند ها در اين لايه بسته به نوع سرويس بسار متنوع و فراوان است. بنابراين در لايه سومديوار آتش براي هر سرويس مجاز (مثل سرويس پست الكترونيكي، سرويس ftp، سرويس و

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

4) اجزاي جانبي يك ديوار آتش
ديوار آتش يك سيستم امنيتي است كه از سيستم هاي مسئول شبكه را پياده و اعمال مي كند. بنابراين ديوار آتش بايستي از طريق يك ورودي سهل و راحت قواعد را از مسئول شبكه دريافت نمايد و همواره فعاليتهاي موجود روي شبكه را به مسئول شبكه گزارش بدهد. بهمين دليل معمولاً يك سيستم ديوار آتش داراي اجزاي ذيل است:

 

1-4) واسط محاوره اي و ساده ورودي / خروجي
براي تبادل اطلاعات و سهولت در تنظيم قواعد امنيتي و ارائه گزارش، نياز به يك واسط كاربر كه ساده و در عين حال كارآمد باشد وجود دارد. معمولاً واسط كاربر مستقل از سيستم ديوار آتش داراي دستگاهي به عنوان صفحه نمايش وب نيست يلكه از طريق وصل يك ابزار جانبي مثل يك ترمينال ساده يا يك كامپيوتر شخصي معمولي فرمان مي گيرد يا گزارش مي دهد.

2-4) سيستم ثبت
براي بالاتر بردن ضريب امنيت و اطمينان در شبكه، ديوار آتش بايد بتواند حتي در موقعيكه اجازه خروج يا ورود يك بسته به شبكه صادر مي شود اطلاعاتي در مورد آن بسته ذخيره كند تا در صورت هر گونه حمله يا نفوذ بتوان مسئله را پيگيري كرد. در يك ديوار آتش عملي كه ثبت كننده مي تواند انجام بدهد آن است كه مبداء و مقصد بسته هاي خروجي و ورودي، شماره پورتهاي مبداء و مقصد، سرايند يا حتي محتواي پيام در لايه كاربرد را (براي تمام مبادلات خارج از شبكة محلي) ذخيره كند و لحظه به لحظه مبادلة اطلاعات تمام كاربران و حتي مسئول شبكه را در فايلي درج نمايد. اين اطلاعات مي تواند به عنوان سندي بر عليه فرد خاطي استفاده شود يا به يافتن كسي كه در خارج از شبكه مشغول اخلال گري است كمك نمايد.


3-4) سيستم هشدار دهنده
در صورت بروز مشكل يا انتقالي مشكوك، ديوار آتش مي تواند مسئول شبكه را مطلع نمايد و در صورت لزوم كسب تكليف كند. اعمال مشكوك در هر سه لايه تعريف مي شود: مثل تقاضاي ارتباط با آدرسهايIP مشكوك آدرسهاي پورت مشكوك، اطلاعات مشكوك در لايه كاربرد (صفحات وب يا نامه هاي مشكوك).

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

6)رمز نگاري
زمانيكه ژوليوس سزار پيامهايي را براي فرمانده ارتش خود در جنگ مي فرستاد از بيم كشته شدن يا خيانت پيك، در تمام متن نامة خود هر حرف را با حرفي كه سه تا بعد از آن قرار گرفته بود عوض مي كرد (مثلاً بجاي حرف A حرف D و بجاي حرف B حرف E را قرار مي داد) تا متن حالت معني دار خود را از دست بدهد. تنها كسي مي توانست از مفهوم متن چيزي بفهمد كه به رمز آن (يعني Shift by 3) آگاهي داشت.


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

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

1-6)روشهاي جانشيني
روش جانشيني قديمي ترين نوع رمز نگاري است كه اولين بار سزاز آن را بكار برده است. در اين روش هر حرف از جدول حروف الفبا به حرفي ديگر تبديل مي شود. بعنوان مثال در رمز سزار هر حرف به حرف سوم بعد از خودش تبديل مي شد كه با اين روش “حمله” بصورت زير در مي آمد:
Attack متن اصلي
Dwwdfn متن رمز شده
اين روش بعداً بهبود داده شد و بجاي آنكه تمام حروف به طور منظم و با قاعده به يكديگر تبديل شوند جدول حروف الفبا طبق يك قاعده نامشخص كه “جدول رمز” ناميده مي شد به هم تبديل مي شدند. بعنوان مثال اگر نامه يا متن تماماً حروف كوچك در نظر بگيريم جدول رمز مي توان بصورت زير باشد:
a b c d e f g h I j k l m n o p q r s t u v w x y z
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
طبق اين جدول كه گيرنده پيام بايستي از آن آگاهي داشته باشد كلمه attack
به كلمه QZZQEA تبديل مي شود. شايد يك مبتدي احساس كند كه اين روش امروزه مفيد خواهد بود چرا كه جدول رمز داراي 26! (معادل 1026* 4) حالت متفاوت خواهد بود و امتحان تمام اين حالات مختلف براي يافتن جدول رمز كاري بسيار مشكل است، در حالي كه چنين نيست و اين نوع رمز نگاري براي متون معمولي در كسري از ثانيه و بدون كليد رمز شكسته خواهد شد! نقطه ضعف اين روش در مشخصات آماري هر حرف در يك زبان مي باشد. بعنوان مثال در زبان انگليسي حرف e در متن بيش از همه حروف تكرار مي شود.ترتيب فراواني نسبي براي شش حرف پر تكرار درمتون انگليسي بصورت زير است:

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


دومين نكته آنست كه در زباني مثل انگليسي حروف كنار هم وابستگي آماري بهم دارند مثلاً در 9/99 درصد مواقع در سمت راست حرف q حرف u قرار گرفته (qu) يا در كنار حرف t معمولاً (البته با احتمال پايين تر ) h قرار گرفته است. يعني به محض كشف حرف q رمز u هم كشف مي شود و اگر t كشف شد كشف h ساده تر خواهد شد. ترتيب فراواني نسبي براي پنج “دو ح

” پر تكرار در متون انگليسي بصورت زير است:

سومين نكته نيز به سه حرفي ها بر مي گردد. مثلاً در زبان انگليسي سه حرفي هاي and , the , ing , ion به كرات تكرار مي شوند و مي توانند با بررسي آماري تمام سه حرفي هاي يك متن رمز شده، پر تكرار ترين آنها در متن، ملاك رمز شكني قرار بگيرند. در تمام زبانهاي دنيا چنين خصوصيتي را مي توان بررسي كرد.
چهارمين نكته براي رمز شكني مراجعه به فرهنگ لغات يك زبان است كه بر اساس پيدا شدن چند حرف از يك كلمه رمز بقيه حروف آن نيز آشكار ميشود.
به دلائل فوق روش رمز گذاري جانشيني كارآئي مناسبي ندارد و براحتي رمز آن بدست خواهد آمد.

2-6) رمز نگاري جايگشتي
در رمز نگاري جانشيني محل قرار گرفتن و ترتيب حروف كلمات در يك متن بهم نمي خورد بلكه طبق يك جدول رمز جايگزين مي شد. در روش رمز گذاري جايگشتي آرايش و ترتيب كلمات بهم مي خورد.بعنوان يك مثال بسيار ساده فرض كنيد تمام حروف يك متن اصلي را سه تا سه تا جدا كرده و طبق قاعده زير ترتيب آن را بهم بريزيم:
كلمه اصلي:the
كلمه رمز:eth
براي رمز گشايي، گيرنده پيام بايد كليد جايگشت را كه در مثال ما (2 و1 و3) است بداند. معمولاً براي راحتي در بخاط رسپردن كليد رمز، يك كليد متني انتخاب مي شود و سپس جايگشت بر اساس ترتيب حروف كلمة رمز انجام مي شود. براي وضوح اين روش به مثال زير دقت كنيد:
please- trasnfer – one- milion- dollors-to-my- swiss-bank-account-six-:متن اصلي
two- two
MEGA BANK: كلمه رمز
تمام كلمات متن اصلي بصورت دسته هاي هشت تائي جدا شده و تماماً زير هم نوشته مي شود:(علامت – را فاصله خالي در نظر بگيريد)
K C U B A G E M كلمه رمز
6 3 8 2 1 5 4 7 ترتيب حروف كلمه رمز
t - e s a e l p 1
- r e f s n a r 2
l l i m - e n o 3
l l O d - n o i 4
m - O t - s r a 5
- s s i w s - y 6
C C a - k n a b 7
x i S - t n u O 8
- O w t - o w t 9

حال بر اساس ترتيب الفبايي هر حر

 

ف در كلمه رمز، ستونها بصورت پشت سر هم نوشته مي شوند. يعني ابتدا ستون مربوط به حرف A ، سپس B، E و ….
پس رمز بصورت زير در مي آيد:
“as---wkt-sfmdti---rll-sciolanor-auwenenssnnot-llm-cx-proiayboteeioosasw”
بنابراين براي بازيابي اصل پيام در مقصد، گيرنده بايد كليد رمز (يا حداقل ترتيب جايگشت) را بداند.
اين روش رمز هم قابل شكستن است چرا كه اگر چه ترتيب حروف بهم ريخته است ولي در متن رمز شده تمام حروف هر يك از كلمات وجود دارند. بعنوان مثال تك تك حروف dollars يا swiss bank را مي توان در متن رمز شده پيدا كرد لذا با بررسي تمام حالات ممكن كه كلمه dollars زا به صورت پراكنده در متن در مي آورد مي توان رمز را بدست آورد. البته حجم پردازش مورد نياز بيشتر خواهد بود ولي بهر حال اين نوع رمز گذاري براحتي قابل شكستن مي باشد و در دنياي امروز چندان قابل اعتماد نيست.

7)استانداردهاي نوين رمز گذاري
در اوائل دهه هفتاد دولت فدرال آمريكا و شركت آي. بي. ام (IBM) مشتركاً روشي را براي رمز نگاري داده ها ايجاد كردند كه بعنوان استانداردي براي نگهداري اسناد محرمانه دولتي مورد استفاده قرار گرفت. اين استاندارد كه DES نام گرفت امروزه محبوبيت خود را از دست داده است.
الگوريتم روش رمز نگاري DES در شكل (3) نشان داده شده است كه در ادامه كليت آنرا توضيح مي دهيم:
ورودي رمز نگار يك رشته 64 بيتي است، بنابراين متني كه بايد رمز شود بايستي در گروههاي هشت كاراكتري دسته بندي شوند. اولين عملي كه بر روي رشته ورودي 64 بيتي انجام مي شود جابه جا كردن محل بيتهاي 64 بيتي طبق جدول صفحة بعد است. به اين عمل جايگشت مقدماتي گفته مي شود:

جدول جايگشت مقدماتي
2 10 18 26 34 42 50 58
4 12 20 28 36 44 52 60
6 14 22 30 38 46 54 62
8 16 24 32 40 48 56 64
1 9 17 25 33 41 49 57
3 11 19 27 35 43 51 59
5 13 21 29 37 45 53 61
7 15 23 31 39 47 55 63
در جدول بالا پس از عمل جايگشت، بيت اول به موقعيت بيت پنجاه و هشتم و بيت دوم به بيت پنجاهم از رشته جديد منتقل شده و بهمين ترتيب ادامه مي يابد تا رشته 64 بيتي جديد بدست آيد.

شكل (3) الگوريتم روش رمزنگاري DES

در مرحله بعدي رشته بيتي جديد از وسط به دو قسمت 32 بيتي چپ و راست تقسيم مي شود.32 بيت سمت چپ را Lo و 32 بيت سمت راست را Ro مي ناميم. (به شكل (3) نگاه كنيد)
سپس در 16 مرحلة پياپي اعمال زير انجام مي شود:
در هر مرحله 32 بيت سمت راست مستقيماً به سمت چپ منتقل شده و 32 بيت سمت چپ طبق رابطه زير به يك رشته بيت جديد تبديل و به سمت راست منتقل خواهد شد.
Li-1 f (R i-1,Ki)


Li-1 رشته سي و دو بيتي سمت چپ از مرحله قبل مي باشد، علامت بمعناي XOR و f تابع خاصي است كه آنرا به صورت مجزا توضيح خواهيم داد R i-1 رشته سي و دو بيتي سمت راست از مرحله قبل و ki كليد رمز در هر مرحله است. (پس مجموعاً 16 كليد مختلف وجود دارد.)
نمودار زير يك مرحله از 16 مرحله عمليات را نشان مي دهد:

اين عمليات 16 مرحله اجرا مي شود و پس ازمرحله آخر جاي Li و Ri عوض خواهد شد. حال عكس عمل جايگشتي كه در ابتدا انجام شدهبود صورت مي گيرد تا بيتها
سرجايشان برگردند اين كار طبق جدول زير انجام مي شود:

جدول جايگشت معكوس
32 64 24 56 16 48 8 40
31 63 23 55 15 47 7 39


30 62 22 54 14 46 6 38
29 61 21 53 13 45 5 37
28 60 20 52 12 44 4 36

 


27 59 19 51 11 43 3 35
26 58 18 50 10 42 2 34
25 57 17 49 9 41 1 33
پس از اين عمل، 64 بيت جديد معادل هشت كاراكتر رمز شده خواهد بود كه مي توان آنها را به جاي متن اصلي ارسال كرد .
حال بايستي جزئيات تابع f را كه اصل عمل رمز نگاري است تعيين كنيم:
در تابع f كه بصورت يك بلوك پياده سازي مي شود ابتدا رشته 32 بيتي Ri كه از مرحله قبل به دست آمده بر طبق جدول زير به يك رشته 48 بيتي تبديل مي شود. بنابراين بعضي از بيتها در رشته جديد تكراري هستند.

جدول بسط 32 به 48
5 4 3 2 1 32
9 8 7 6 5 4
13 12 11 10 9 8
17 16 15 14 13 12
21 20 19 18 17 16
25 24 23 22 21 20
29 28 27 26 25 24
1 32 31 30 29 28
پس از تبديل RI به رشته 48بيتي عمل XOR روي آن با كليد 48 بيتي KI انجام مي شود. نتيجة عمل يك رشتة 48 بيتي است و بايستي به 32 بيتي تبديل شود. براي اين كار 48 بيت به 8 مجموعه 6 بيتي تبديل شده و هر كدام از 6 بيتي ها طبق جداولي به يك چهار بيتي جديد نگاشته مي شود( در مجموع 8 جدول) .براي كامل شدن عمل تابع f رشتة 32 بيتي جديد طبق جدول زير جايگشت مجددي خواهد داشت.

جايگشت 32 بيتي در تابع f
21 20 7 16
17 28 12 29
26 23 15 1
10 31 18 5
14 24 8 2
9 3 27 32
6 30 13 19


25 4 11 22

در سيستم DES فقط يك كليد 56 بيتي وجود دارد كه تمام 16 كليد مورد نياز در هر مرحله يا جايگشت متفاوت از همان كليد 56 بيتي استخراج خواهد شد. بنابراين كاربر براي رمز گشايي فقط بايد يك كليد در اختيار داشته باشد و آنهم همان كليدي است كه براي رمزنگاري به كار رفته است.
براي رمز گشايي از سيستم DES دقيقاً مراحل قبلي تكرار مي شود با اين تفاوت كه كليد KI براي رمز گشايي، كليد K16 در مرحلة رمز نگاري خواهد بود، كليد K2 همان K15 است و به همين ترتيب .
در حقيقت براي رمزگشايي كافي است 16 كليد بصورت معكوس به سيستم اعمال شوند.
نكتة ديگر كه در مورد سيستم DES قابل توجه است آن است كه چون رشتة رمز شده بصورت هشت كاراكتري رمز مي شود، تكرار بلوك هاي رمز مي تواند به رمز شكنها براي حمله به سيستم DES كمك نمايد. به همين دليل در سيستم DES قبل از آن كه يك بلوك رمز شود ابتدا با بلوك رمز شدة قبلي خود XOR مي شود و سپس اين 8 كاراكتر مجدداً رمز خواهد شد. به شكل (4) دقت كنيد:

شكل(4) عمليات بين بلوكهاي داده در سيستم رمزنگاري DES

بلوك اول با يك رشته 64 بيتي اوليه به نام IV (بردار اوليه) XOR مي شود. نتيجه اين بلوك كد رمز 64 بيتي است. همين كد رمز براي رمز كردن بلوك بعدي به كار مي آيد بدين صورت كه بلوك رمز نشدة Pi با بلوك رمز شدة قبلي Ci-1ابتدا XOR شده و متن جديد مجدداً رمز خواهد شد.
اين الگويي رمز نگاري به عنوان استانداردي براي اسناد حساس فدرال آمريكا پذيرفته شد تا آنكه در سال 1977 يكي از محققين دانشگاه استانفورد با هزينه اي به معادل 20 ميليون دلار ماشيني

طراحي كرد كه در عرض 24 ساعت مي توانست رمز DES را بشكند. بعد از آن ايده هاي جديدي براي رمز نگاري مطرح شد كه DES را در سيستم هاي عملي كنار زد.
نكتة ديگر آن است كه چون كليدي رمز نگاري و رمز گشايي هر دو يكي است لذا بايد از كليد شديداً حفاظت شود. شايد صلاح نباشد كسي كه عمل رمز نگاري را انجام مي دهد، كليد رمز گشايي را بداند !
در مدلهاي جدي كليد رمز نگاري را همه مي دانند ولي كليد رمز گشايي سري است.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید