رمزنگاری و امنيت تبادل داده

رمزنگاری و امنيت تبادل داده

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

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

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

2- الگوريتم هاي رمزنگاري كليد خصوصي

رمزهاي كليد خصوصي بر مبناي نوع عملكرد ، چگونگي طراحي و پياده سازي و كاربردهايشان به دو گونه رمزهاي قطعه اي و رمزهاي دنباله اي تقسيم مي شوند . كه در هر يك از آ نها عملكرد رمز نگاري به صورت يك عملكرد دوجانبه بين دو طرف فرستنده و گيرنده مي باشد كه با ايجاد يك ارتباط اوليه با يكديگر روي كليد خصوصي توافق ميكنند به گونه اي كه دشمن آن كليد را نداند. فرستنده S مي خواهد پيام m1,….mi را به گونه اي به طرف گيرنده R بفرستد كه او بتواند به محتواي پيام دست يابد و در عين حال حريف مخالف A نتواند محتواي پيام را درك كند حتي اگر A تمامي آنچه بين R و S انتقال مي يابد را دريافت نمايد.

به همين منظور فرستنده S هر متن روشن mi رابه وسيله الگوريتم رمزگذاري E و كليد خصوصي به متن رمز شده تبديل ميكند ودريافت كننده نيزكه متن رمز شده را دريافت كرده مي تواند با الگوريتم رمز گشائي D و كليد خصوصي متن اصلي را بدست آورد.

 

2- 1- رمزهاي دنباله اي

در طراحي رمزهاي دنباله اي يك مولد بيت شبه تصادفي نقش توليد كننده رشته كليد را براي سيستم رمزدنباله اي دارد . در واقع اين مولد ميتواند مولد رشته كليد نيز محسوب شود . از ديدگاه رمز نگاري يك مولد رشته كليد امن بايد داراي سه پارامتر مهم زير باشد :

1- پريود رشته كليد توليد شده بايد به حد كافي بزرگ باشد تا با طول پيام ارسال شده سازگاري داشته باشد .

2- دنباله بيت خروجي حاصله از مولد بايد به راحتي قابل توليد كردن باشد .

3- بيتهاي خروجي بايد به سختي قابل پيش بيني باشند .

در واقع با در اخثيار داشتن مولد و اولين n بيت خروجي a(0) ، a(1) …… . a(n-1) از لحاظ محاسباتي پيش بيني بيت n+1 ام يعني a(n+1) در دنباله با احتمال بيشتر از ½ بايد غير ممكن باشد.

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

2-1 -1- ساختار مولد هاي بيت شبه تصادفي و رمزهاي دنباله اي

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

2-1- 2- مولدهاي همنهشتي خطي (LCG)

در اين روش براي توليد اعداد شبه تصادفي از روابط بازگشتي نظير x j+1=axj+b بهره گرفته ميشود .در اينجا سه تا ئي a) ، b ، m ) پارامترهائي را مشخص ميكنند ،كه مولد را شرح ميدهند از اين سه تائي به عنوان كليد مخفي ميتوان استفاده كرد.با توجه به اينكه x0 هسته مولد ميباشد ، اگر پارامترها بدقت انتخاب شوند اعدادي نظير xj به صورت تكراري نخواهيم داشت مگر آنكه تمامي اعداد صحيح درون فاصله [0,m-1] در خروجي ظاهر شده باشند .« بوير» نشان داد كه دنباله هاي توليد شده توسط LCG ها از نظر رمز نگاري امن نيستند . درواقع با در اختيار داشتن قطعه اي طولاني ازدنباله ميتوان با روشهائي پارامترهاي m و b و a را بازسازي نمود .

2-1- 3- ثبات هاي انتقال پس خور ) FSR (

دنباله هاي مورد استفاده در رمزنگاري مي توانند بر مبناي ثبات هاي انتقال طراحي بشوند حتي وقتي كه داراي پس خوري خطي باشند . يك ثبات انتقال پس خور از N فليپ فلاپ و يك تابع پس خور تشكيل شده است . تابع پس خور هر عنصر جديد همانند t ) ) a از دنباله را به صورت جزئي از عناصري كه از قبل توليد شده اند همانند a(t-1) ، …… a(t-n-1) ، a(t-n) بيان مي كند . گونه اي از توابع پس خور وجود دارند كه به صورت زير عمل ميكنند:

a(t) =g( a(t-1) , a(t-2) ……… , a(t-n+1)) Å a(t-n)

بسته به اينكه آيا تابع g خطي است (با عملگر Xor تنها قابل اجراست ( يانه ،مولد يك ثبات انتقال پس خور خطي ( LFSR ) يا ثبات انتقال پس خور غير خطي ( NLFSR ) خوانده مي شود.

پريود دنباله توليد شده بوسيله يك FSR به تعداد مراحل ذخيره سازي و جزئيات اتصال پس خور بستگي خواهد داشت و بطور كلي حداكثر پريود يك دنباله كه توسط يك FSR داراي n مرحله توليد ميشود ، 2 n خواهد بود .

2-1- 4- ثبات هاي انتقال پس خور غير خطي (NLFSR )

دياگرام حالت گونه هائي از FSR ها ميتواند شامل چرخه هاي كوچك باشد و حالات تكراري داشته باشد و دنباله اگر در يكي از اين حالات قرار بگيرد ممكن است نا امن شود . يك روش مناسب طراحي ثبات انتقال n مرحله اي كه دنباله هائي با حداكثر پريود 2 n توليد مي نمايد و دنباله هاي « دي بروئن » مي باشد.كه تعداد دنباله هاي ممكن n مرحله اي آن به بزرگي 2 (2n-1)-n ميباشد.كه همگي آنها داراي توزيعهاي ايده آلي ميباشند .اما اين دنباله ها كه از ثبات هاي انتقال غير خطي ساخته ميشوند داراي مشكلاتي براي پياده سازي توسط الگوريتمهاي شناخته شده هستند . همچنين توليد سريع اين دنباله ها به سختي صورت مي گيرد . همچنين برخي از خواص همبستگي بين عناصر توليد شده مي تواند راهكارهاي مناسبي براي تحليل اين دنباله ها ايجاد نمايد .

2-1- 5- ثبات هاي انتقال پس خور خطي (LFSR)

اين ثبات ها مدت ها براي كدهاي كنترل خطا ، آزمايشهاي VLSI و مخابرات طيف گسترده مورد استفاده بوده اند و از جمله مهمترين اجزاء در ساختار مولدهاي شبه تصادفي مي با شند آنها توابع پس خوري به شكل زير دارند .

a(t) =c1 a(t-1) Å c2 a(t-2) Å …………. Å c(n-1) a(t-n-1) Å a(t-n)

c i Î [0,1]

و با چند جمله اي پس خور زير نشان داده ميشوند .

f(n) = 1+ c1x + c2x2 + ……..+ c( n-1) x ( n-1) + x(n)

 

به طور كلي براي اينكه حداكثر پريود ممكن 2n-1 را براي دنباله خروجي از يك LFSR داشته باشيم ، چند جمله اي پس خور آن مي بايد اوليه باشد . تعداد چند جمله اي هاي اوليه درجه n از رابطه f (2 n –1)/n بدست مي آيد كه (n) f نمايانگر تابع اويلر مي باشد كه تعداد اعداد صحيح مثبت و اول كوچكتر از عدد n را نشان ميدهد .

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

2- 1-6- كاربردهاي رمزهاي دنباله اي ،مزايا و معايب

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

اما در عين حال مشكلي كه LFSR ها و در نتيجه رمزهاي دنباله اي مبتني بر آنها دارند ، ناكارآمد بودن آنها در نرم افزار است . در واقع براي مناسبت هاي نرم افزاري چندجمله ايهاي فيدبك و تعداد فيدبك ها بسيار مهم مي باشد. در حاليكه مؤثر انتخاب نكردن اين چندجمله ايها امكان حملات وابستگي را نيز ممكن است فراهم آورد .

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

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

2- 1-7- نمونه هاي رمزهاي دنباله اي پياده سازي شده

رمزهاي دنباله اي بسياري در طرح هاي مختلف پياده سازي شده اند .

A5 يك الگوريتم رمز دنباله اي است كه براي رمز نمودن سيستم ارتباط گروهي موبايل و يا در واقع سيستم مخابراتي GSM به كار مي رود . اين الگوريتم براي رمز نمودن لينك ارتباطي ميان گوشي تلفن به ايستگاه پايه به كار مي رود .

الگوريتم XPD/KPD كه توسط شركت هيوز طراحي شده است ، در راديوهاي تاكتيكي نظامي ارتش و تجهيزات جهت ياب به كار رفته است .

الگوريتم رمز دنباله اي NaNoTEQ كه نام يك شركت الكترونيكي در آمريكاي جنوبي است براي رمز نمودن ارتباطات و مراسلات از طريق فاكس در اداره پليس آمريكاي جنوبي بكار رفته است .

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

2-2 – رمز قطعه اي

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

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

1- دستيابي به متن اصلي از طريق متن رمزگذاري شده بدون در اختيار داشتن كليد بايد غيرممكن باشد . مي توان اين خصلت را با يكطرفه بودن الگوريتم رمزنگاري مقايسه نمود . در واقع كليد خصوصي الگوريتم دريچه تابع رمزنگاري مي باشد كه با در اختيار داشتن آن مي توان از متن رمز شده ، متن اصلي را بدست آورد .

2- آگاهي از الگوريتم نبايد سبب تضعيف رمز شود . مخفي نگاه داشتن جزئيات الگوريتم در امنيت آن نقشي ندارد و امنيت الگوريتم بايد تنها به كليد سري بستگي داشته باشد .

3- هر بيت متن رمزشده بايد به تمامي بيت هاي متن اصلي وابسته باشد . در اينصورت كوچكترين تغييردر متن اصلي ، متن رمزشده متفاوتي ايجاد مي نمايد . به اينگونه از رمزها كامل گفته مي شود .

4- هر بيت متن رمزشده مي بايست به تمامي بيت هاي كليد سري وابسته باشد كه در اينحالت در صورت كوچكترين تغيير در كليد ، متن رمزشده متفاوتي ايجاد مي شود .

5- تغيير هر بيت در داده هاي ورودي بدون تغيير كليد ، بايد موجب تغييرات عمده در قطعه خروجي شود .

6- تغيير هر بيت در كليد سري بدون تغيير متن اصلي ، بايد موجب تغييرات عمده در متن رمزگذاري شده گردد .

7- الگوريتم بايد داراي عمل جانشيني بيت ها تحت كنترل داده هاي ورودي وكليد باشد .

8- الگوريتم بايد داراي عملكرد جابجائي بيت ها تحت كنترل داده هاي ورودي وكليد باشد .

9- الگوريتم رمز نبايد داراي ساختار جبري ساده باشد . در غيراينصورت تابع رمزگذاري با يك رابطه داراي بيان جبري ساده معادل خواهد شد .

10- طول متن اصلي بايد با طول متن رمز شده برابر باشد .

11- تمامي كليدهاي سري بكار گرفته شده بايد رمز قوي توليد نمايند .

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

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

الگوريتم DES از انجام عمليت بر روي قطعه هاي 1،4،6و 28 بيت بهره مي گيرد كه اين عملكردهاپياده سازي الگوريتم را براي مصارف نرم افزاري با مشكل روبرو مي سازد . اما الگوريتم هائي نظير FEAL كه به منظور پياده سازي سريع نرم افزاري طراحي شده است ، از زير عمليات هائي بر روي قطعات 8 بيتي بهره مي گيرد . بنابراين ديده مي شود كه يك الگوريتم رمزنگاري متناسب با پياده سازي نرم افزاري لزوماً از عملوندهاي منطبق با بايت و يا ضرايبي از بايت بهره مي گيرد .

2-2-1- احراز هويت و شناسائي و توابع درهم ساز

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

رمزهاي قطعه اي در حالات ECB ، OFB ، CBC و CFB بكاربرده مي شوند . حالات بكارگيري رمز در مدهاي CFB و OFB در ايجاد مولدهاي بيت شبه تصادفي و طراحي رمزهاي دنباله اي كاربردهاي فراوان دارند. در حاليكه مد OFB داراي مزايائي نظير امنيت بالا ، انتشار خطاي محدود و ايمني در برابر حمله هاي لغت نامه اي و فعال مي باشد و در عين حال سنكرون نبودن اين گونه سيستم ها مي تواند معايبي را در اين نوع كاربرد به وجود آورد .

مزاياي بكارگيري روشهاي CBC و CFB را مي توان در جامعيت پيام هاي ارسالي و قابليت دسترسي گسترده به داده ها و تامين ايمني در برابر حملات لغت نامه اي و مهم تر از همه تامين كد هويت و شناسائي پيام دانست .كه قابليت احراز هويت رابه كاربردهاي رمزهاي قطعه اي مي افزايد . اما اين دو حالت بكارگيري عيوب عمده اي نظير انتشار خطا در خطوط ارتباطي را مي توانند در بر داشته باشند .

استاندارد X909 الگوريتم DES را در حالت CBC به عنوان روش احراز هويت بيان مي كند كه در هر هفته در حدود5/1 تريليون دلار از طريق آن ميان مؤسسات مالي به شكل عمده مبادله مي شد .

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

3 – طراحي الگوريتم رمز قطعه اي

الگوريتم بايد به گونه اي طراحي شود كه معيارهاي طراحي رمزهاي استاندارد پيشرفته را برآورده سازد كه اين معيارها در زير آورده شده اند .

¨ طول كليد الگوريتم بايد حداقل 128 بيت باشد . در واقع طبق آخرين استاندارد هاي ارائه شده توسط NIST براي جلوگيري از حمله هاي جستجوي فضاي جامع كلي حداقل طول كليد بايد 80 بيت باشد كه استاندارد آن را براي پياده سازي مناسب نرم افزاري 128 در نظر مي گيرند .

¨ الگوريتم تا حد ممكن كليد ضعيف و نيمه ضعيف نداشته باشد .

¨ پياده سازي الگوريتم بايد روي زمينه هاي مختلف سخت افزاري و نرم افزاري مؤثر و كارا باشد . به خصوص شرايطي كه پياده سازي نرم افزاري الگوريتم را با توجه به طرح حاضر ، مؤثرتر مي سازد فراهم شود .

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

¨ طرح الگوريتم بايد بسيار ساده باشد و به سهولت قابل بيان و آناليز باشد و در عين حال قابل توسعه باشد .

اما با توجه به شرايطي كه الگوريتم هاي رمز قطعه اي امن بايد داشته باشند معيارهاي زير نيز در طراحي الگوريتم و برقراري امنيت آن بايد مورد نظر باشد .

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

¨ الگوريتم داراي طرحي موازي باشد و با استفاده از اين الگوها پياده سازي سريعتر و مؤثرتري داشته باشد .

¨ امنيت الگوريتم در برابر تحليل هاي شناخته شده در رمزنگاري همانند حمله هاي خطي و تفاضلي و تحليل هائي كه مبناي آنها اين نوع حمله ها مي باشند ، تضمين شده باشد . همچنين حاشيه امنيت لازم را براي حمله هاي تازه تر داشته باشد .

¨ طرح توليد زيركليد هاي الگوريتم ، امن و مؤثر باشد كه در برابر حمله هاي مرتبط با كليد بتواند استقامت لازم را ايجاد نمايد .

¨ طرح كليد الگوريتم قابليت پيش محاسبه شدن را با حداكثر سرعت ممكن داشته باشد و يا اينكه با حداقل حافظه مورد نياز و حداكثر سرعت به صورت شناور بتواند زيركليد ها را توليد نمايد .

در طراحي الگوريتم رمز طرح حاضر مي بايست تمامي نكاتي را كه به عنوان اهداف طراحي بيان شد ، لحاظ شود .

 

 

3- 1- طراحي امنيت و اجراي مؤثر الگوريتم رمز قطعه اي

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

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

3-2- انواع حملات قابل اجرا بر روی الگوريتم

v آزمون جامع فضاي كليد: اين حمله با در اختيار داشتن چند زوج متن اصلي و متن رمز شده متناظر با آن صورت مي گيرد وعبارتست از آزمودن تمامي 2 m كليد ممكن به منظور يافتن كليد اصلي رمزنگاري كه همان كليد سري مي باشد .

v حمله مكمليت : اين حمله توسط خاصيت مكمليت صورت مي گيرد . در واقع اگر X و Y دو بردار باينري به طول n باشند و X+Y=(1,…,1) باشد ، در اينصورت اين دو بردار مكمل يكديگر مي باشند و خواهيم داشت Y=X ¢ .

حال اگر f مبين تابع يك رمز قطعه اي باشد و C=f(P,K) ، آنگاه رمز داراي خصلت مكمليت است اگر: ” P , ” K : f(P ¢ ,K ¢ )=C ¢ در اينصورت اگر فضاي كليد رمزنگاري K به دو زير فضاي S و S ¢ كه K=S È S ¢ باشد در اينصورت آزمون جامع فضاي كليد را مي توان فقط در فضاي S اعمال نمود .

v حمله از طريق ويژگي بسته بودن : براي هر رمز قطعه اي به طول n و كليدي به طول m هر كليد يك تابع جابجائي از بردارهاي باينري به طول n را مشخص مي نمايد . اگر G مجموعه تمام اين 2 m جابجائي را نشان بدهد و داشته باشيم H={ Ti*Tj : Ti ,Tj Î G } و * نماد تركيب نگاشت ها باشد ، آنگاه G بسته است اگر H=G باشد . در واقع G بسته است اگر براي هر Ti و Tj در G بتوان Tk را در G به گونه اي يافت كه براي تمام متون اصلي داشته باشيم :

(Ti*Tj )(P) = Tk(P)

اما از آنجا كه يكي از روش هاي متداول افزايش امنيت رمز هاي قطعه اي رمزنگاري متوالي هر قطعه مي باشد ، ويژگي بسته بودن يك رمز تاثير اين روند تكراري را از بين خواهد برد و موجب ضعف در امنيت رمز مي گردد .

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

در ميان دسته بندي تحليل هاي رمزي چهار نوع عمومي از حمله هاي رمزنگاري وجود دارد كه در هر كدام از آنها فرض مي شود كه تحليل گر آگاهي لازم وكامل را از الگوريتم رمزگذاري مورد استفاده در اختيار دارد . اين تحليل ها به صورت زير دسته بندي مي شوند .

3-3- چهار نوع عمومي از حمله هاي رمزنگاري

3-3-1- حمله فقط متن رمز شده

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

در واقع با در اختيار داشتن C1=EK(P1) تا Ci=EK(Pi) تحليل گر سعي مي نمايد P1,…,Pi و K و يا الگوريتمي كه بتواند Pi+1 را از Ci+1=EK(Pi+1) نتيجه بگيرد ، بدست آورد .

3-3-2- حمله متن روشن معلوم

در اين حمله تحليل گر نه تنها به متن رمزي پيام هاي مختلف بلكه به متن روشن اين پيام ها نيز دسترسي دارد و كار اصلي او نتيجه گرفتن كليد و يا كليد هاي استفاده شده براي رمزگذاري پيام ها و يا بدست آوردن الگوريتمي كه بتواند پيام هاي جديد رمزشده با كليد مشابه را رمزگشائي نمايد ، مي باشد . در واقع با در اختيار داشتن C1=EK(P1) و P1 تا Ci=EK(Pi) و Pi بتواند كليد K و يا الگوريتمي را بدست آورد كه Pi+1 را از Ci+1=EK(Pi+1) حاصل نمايد .

 

 

3-3-3- حمله متن روشن منتخب

در اين حمله تحليل گر نه تنها به متن رمز شده و متن روشن مربوط به آن دسترسي دارد بلكه مي تواند متون اصلي را نيز براي رمزگذاري انتخاب نمايد . اين تحليل از يك حمله متن روشن معلوم قويتر مي باشد زيرا تحليل گر مي تواند بلوك هاي متن روشن را براي رمزنمودن تعريف نمايد و قطعه اي را انتخاب نمايد كه اطلاعات بيشتري درباره كليد از آن بدست آيد . كار تحليل گر نتيجه گرفتن كليد مورد استفاده در رمزگذاري پيام و يا بدست آوردن الگوريتمي براي رمزگشائي پيام هاي رمز شده جديد با كليد مشابه مي باشد . در واقع با در اختيار داشتن C1=EK(P1) و P1 تا Ci=EK(Pi) و Pi كه در آن P1 تا Pi را انتخاب نموده است ، كليد K و يا الگوريتمي براي بدست آوردن Pi+1 از Ci+1=EK(Pi+1) حاصل نمايد .

3-3-4- حمله تطبيقي متن روشن منتخب

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

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

3-4- ملزومات طرح مؤثر و كاراي نرم افزاري الگوريتم رمز.

3-4-1- در الگوريتم از پرش هاي شرطي در حلقه دروني الگوريتم بايد اجتناب شود . هر تغيير غير قابل پيش بيني در جريان كنترل الگوريتم به طور طبيعي موجب اختلال در عملكرد مقاوم پردازش و در نتيجه افزايش تعداد سيكل هاي ساعت مورد نياز ، خواهد شد . بنابراين به طور مشخص هر عملگر و يا دستور همانند if ، then و يا else در زبان C و يا اسمبلي موجب پرش در جريان اجرا خواهد شد . پرش ها همچنين آسيب پذيري رمز را در برابر حمله هاي زماني كه در آورده شده ، افزايش مي دهد .

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

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

3-4-4- اندازه جداول بكار رفته تا حد ممكن بايد كوچك باشد . هرچند كه جداول بزرگتر از نظر رمزنگاري مناسبتر مي باشند اما انواع كوچكتر آنها براي اجراي سريعتر نرم افزاري مطلوب تر هستند . با توجه به پردازنده هاي كنوني جداول بايد به گونه اي در نظر گرفته شوند كه بيش از چهار كيلو بايت براي ذخيره سازي نياز نداشته باشند .

3-4-5- در طرح عملگرهاي بكار رفته بايد تا حد ممكن از الگو هاي موازي بسيار استفاده شود . ايده عمومي بكارگيري عملگرهاي مستقل از يكديگر و اجراي همزمان و موازي با هم اين عملگرها مي باشد . اين الگو مي تواند تا حد بسيار زيادي در افزايش سرعت اجرا مؤثر باشد .

نكاتي كه بيان شد بسيار ساده مي باشند اما با بهره گيري از آنها مي توان تا حد بسيار زيادي پياده سازي مؤثر و سرعت اجراي بالاي نرم افزاري را براي الگوريتم ايجاد نمود .

4- مديريت كليد

يك سيستم مخابراتي امن شامل اجزا و قسمت هائي همچون الگوريتم رمزنگاري ، پروتكل هاي قراردادي و … مي باشد . با فرض اينكه تمامي اين اجزاء قابليت اطمينان لازم و كافي را داشته باشند ، هنوز يك مسئله باقي است و آن كليد هاي بكاررفته در مبادلات صورت گرفته است .

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

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

مواردي كه در يك پروسه مديريت كليد بايد در نظر گرفته شود فسمت هاي مختلفي را شامل مي شود كه هر كدام مي توانند معيارهائي براي اجراي يك روند مناسب در اختيار بگذارند .

4-1 توليد كليدها

الگوريتم توليد كليد مي بايست شرايط مناسبي را برقرار نمايد تا كليدهاي ضعيف توليد نشود .بر همين مبنا روند توليد كليدها بايد به گونه اي باشد كه فضاي كليد كاهش يافته به وجود نيايد و از تمامي بيت هاي كليد در نظر گرفته شده استفاده شود . به طور مثال اگر الگوريتمي از يك كليد 56 بيتي استفاده مي نمايد و برنامه اي براي توليد كليدها از قالب ASCII استفاده نمايد به طور طبيعي بيت مرتبه بالاتر هر بايت صفر در نظر گرفته مي شود كه موجب كاهش فضاي كليد و در نتيجه امكان تحليل رمز مورد استفاده شايد تا هزاران بار سريعتر مي گردد .

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

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

به عنوان نمونه هائي از الگوريتم هاي توليد كليد مي توان به استاندارد ANSI X9.17 اشاره نمود كه روشي براي توليد كليد توسط الگوريتم رمز كليد خصوصي 3 DES ارائه مي دهد و مي تواند كليدهاي جلسه مناسب و يا اعداد شبه تصادفي توليد نمايد .

در صورتيكه EK(X) تابع رمزگذاري با 3 DES بر روي X با كليد K باشد و V0 يك هسته 64 بيتي امن و T مهر زماني آن باشد ، براي توليد كليد تصادفي Ri به صورت زير عمل مي شود :

Ri=EK(EK(Ti)+Vi)

Vi+1= EK(EK(Ti)+Ri)

كه كليدهاي 64 بيتي توليد مي نمايد و با به هم چسباندن دنباله هاي 64 بيتي مي توان نمونه هاي بلندتر نيز بدست آورد .

4-2 ارسال و توزيع كليدها در شبكه هاي بزرگ

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

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

روش ديگر مي تواند تقسيم كليدهاي ارتباطي به بخش هاي مختلف و ارسال هر يك از طريق يك كانال باشد كه لزوماً ممكن است روشي مؤثر و قابل بكارگيري نباشد . بنابراين شايد بهترين روش ها براي تبادل كليدهاي جلسه استفاده از الگوريتم هاي تبادل كليد بر مبناي روش هاي كليد عمومي و يا حتي الگوريتم هاي كليد خصوصي باشد .اما توزيع كليد در شبكه هاي بزرگ به لحاظ تبادل هاي بسيار كليد ميان كاربران مشكلاتي را به همراه دارد . به طور مثال در يك شبكه با 6 كاربر تعداد 15 تبادل كليد مورد نياز مي باشد .بنابراين در شبكه هاي گسترده ايجاد و استفاده از يك مركز خدمات كليد امن و يا سازماندهي ساختار هاي كليد عمومي (PKI) مي تواند بسيار مؤثر باشد .

4-3 تصديق كليدها

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

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

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

4-4 – طول عمر كليدها

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

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

5- مديريت كليد توسط روشهاي كليد عمومي

الگوريتم هاي كليد عمومي مي توانند مديريت كليد را بسيار ساده تر نمايند هر چند كه مشكلات مربوط به خود را دارند . در واقع زماني كه كار برها در يك شبكه گسترده زياد مي شوند بدست آوردن كليد عمومي طرف مورد نظر مبادله مي تواند مشكلاتي را به همراه داشته باشد . فرستنده براي ارسال پيام را از وي و يا يك بانك اطلاعاتي شامل كليد عمومي كاربران دريافت نمايد كه اين عمل امكان اجراي حملات شخص در ميانه ( Man in the middle attack ) و جايگزيني كليد نفوذگرها توسط آنها با كليد عمومي گيرنده را به وجود مي آورد .

گواهي هاي عمومي در واقع كليد عمومي كاربري است كه توسط يك مركز قابل اطمينان امضاء مي شود و امكان جايگزيني كليدها را برطرف مي نمايد . گواهي ها معمولاً در برگيرنده اطلاعات شخصي دارنده كليد مي باشند و نقش مهمي را در تعدادي از پروتكل هاي كليد عمومي همانند PEM و X509 دارند . سازماندهي ساختارهاي مطمئن كليد عمومي مي تواند تمامي جزئيات وجود را در بر بگيرد . برقراري ساختارهاي كليد عمومي PKI از جمله روش هائي است كه مي تواند امنيت و در عين حال مديريت كليد را در شبكه هاي كامپيوتري تضمين نمايد . اين ساختارها را مي توان به صورت مجموعه سخت افزارها ، نرم افزارها ، كاربران ، سياست ها و رويه هائي كه براي ايجاد مديريت ، ذخيره ، توزيع و انهدام گواهي هاي مبتني بر رمزنگاري با كليد عمومي مورد نياز مي باضشد ، تعريف نمود . در سازماندهي ساختار هاي كليد عمومي دو عمل اصلي توليد گواهي (Certification) و تعيين اعتبار (Validation) مورد نياز مي باشند تا خصوصياتي نظير محرمانگي ، تماميت ، احراز هويت ، عدم انكار و كنترل مدون را برآورده سازند .

 

6- الگوريتم هاي تبادل كليد

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