چهارشنبه, ۵ اردیبهشت, ۱۴۰۳ / 24 April, 2024
مجله ویستا

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


رمزنگاری و امنیت تبادل داده
رمزنگاری از دیر بازبه عنوان یك ضرورت برای حفاظت ازاطلاعات خصوصی در مقابل دسترسی - های غیر مجاز درتجارت و سیاست و مسایل نظامی وجود داشته است به طور مثال تلاش برای ارسال یك پیام سری بین دو هم پیمان به گونه ای كه حتی اگر توسط دشمن دریافت شود قابل درك نباشد، در رم قدیم نیزدیده شده است(رمز سزار).در سالیان اخیر رمزنگاری وتحلیل رمز از یك هنر پا را فراترگذاشته ویك علم مستقل شده است و در واقع به عنوان یك وسیله عملی برای ارسال اطلاعات محرمانه روی كانا ل های غیر امن همانند تلفن ، ماكرویو و ماهواره ها شناخته می شود.
پیشرفت علم رمز نگاری موجب به وجود آمدن روشهای تحلیل مختلفی شده است به گونه ای كه به طور متناوب سیستم های رمز مختلف شكسته شده اند . معروف ترین نمونه این نوع سیستمها ماشین «انیگما » بوده است . انیگما ماشین رمز گذار و كد گذار وكد كننده ای بوده است كه حزب نازی در زمان جنگ جهانی دوم برای ارسال پیام ها یشان از طریق رادیو به سایر نقاط استفاده می كردند .
رمزنگاری كه به طور عمده به دو بخش رمزنگاری متقارن یا رمزنگاری با كلید خصوصی و رمزنگاری نامتقارن یا رمزنگاری با كلید عمومی صورت می گیرد، تلاش می كند برای ایجاد یك ارتباط سری از طریق سیستمهای مخابراتی و شبكه های كامپیوتری مباحث مربوط به محرمانگی و احراز هویت، را تحت فرضهای مشخص به درستی اثبات نماید .
● الگوریتم های رمزنگاری كلید خصوصی
رمزهای كلید خصوصی بر مبنای نوع عملكرد ، چگونگی طراحی و پیاده سازی و كاربردهایشان به دو گونه رمزهای قطعه ای و رمزهای دنباله ای تقسیم می شوند . كه در هر یك از آ نها عملكرد رمز نگاری به صورت یك عملكرد دوجانبه بین دو طرف فرستنده و گیرنده می باشد كه با ایجاد یك ارتباط اولیه با یكدیگر روی كلید خصوصی توافق میكنند به گونه ای كه دشمن آن كلید را نداند. فرستنده S می خواهد پیام m۱,….mi را به گونه ای به طرف گیرنده R بفرستد كه او بتواند به محتوای پیام دست یابد و در عین حال حریف مخالف A نتواند محتوای پیام را درك كند حتی اگر A تمامی آنچه بین R و S انتقال می یابد را دریافت نماید.
به همین منظور فرستنده S هر متن روشن mi رابه وسیله الگوریتم رمزگذاری E و كلید خصوصی به متن رمز شده تبدیل میكند ودریافت كننده نیزكه متن رمز شده را دریافت كرده می تواند با الگوریتم رمز گشائی D و كلید خصوصی متن اصلی را بدست آورد.
▪ رمزهای دنباله ای
در طراحی رمزهای دنباله ای یك مولد بیت شبه تصادفی نقش تولید كننده رشته كلید را برای سیستم رمزدنباله ای دارد . در واقع این مولد میتواند مولد رشته كلید نیز محسوب شود . از دیدگاه رمز نگاری یك مولد رشته كلید امن باید دارای سه پارامتر مهم زیر باشد :
۱) پریود رشته كلید تولید شده باید به حد كافی بزرگ باشد تا با طول پیام ارسال شده سازگاری داشته باشد .
۲) دنباله بیت خروجی حاصله از مولد باید به راحتی قابل تولید كردن باشد .
۳) بیتهای خروجی باید به سختی قابل پیش بینی باشند .
در واقع با در اخثیار داشتن مولد و اولین n بیت خروجی a(۰) ، a(۱) …… . a(n-۱) از لحاظ محاسباتی پیش بینی بیت n+۱ ام یعنی a(n+۱) در دنباله با احتمال بیشتر از ½ باید غیر ممكن باشد.
حال مسئله اصلی این است با كدام مبنا واصولی میتوان این نتیجه گیری را انجام داد كه سیگنال های خروجی از یك مولد رشته كلید به سختی قابل پیش بینی است ؟ به طور كلی اصولی قابل بررسی و كاربردی ارائه شده است تا امنیت مولد های بیت را ضمانت كند . در واقع تا كنون روشهای بسیاری برای تولید رشته كلیدهای امن پیشنهاد شده است و در مقابل نیز تحلیل هائی طرح شده است كه با توجه به پیچیده ترشدن دنباله ها به صورت ماهرانه تری به تحلیل دنباله ها می پردازند. در ادامه به برخی از روشهای تولید بیت های شبه تصادفی می پردازیم.
▪ ساختار مولد های بیت شبه تصادفی و رمزهای دنباله ای
غیر قابل پیش بینی بودن یك دنباله همانند تصادفی بودن آن تعبیر می شود برای اینكه یك دنباله تصادفی باشد پریود آن باید به حد كافی بزرگ باشد و همچنین تكه های گوناگون درون دنباله دارای توزیعی تا حد ممكن یكنواخت باشند. در اینجا به طور خلاصه چندروش تولید بیت های شبه تصادفی ودنباله های شبه تصادفی شرح داده شده است .در این روش ها به طور مشخص ثبات های انتقال خطی برای ساختن مولدها به كار گرفته شده اند.
▪ مولدهای همنهشتی خطی (LCG)
در این روش برای تولید اعداد شبه تصادفی از روابط بازگشتی نظیر x j+۱=axj+b بهره گرفته میشود .در اینجا سه تا ئی a) ، b ، m ) پارامترهائی را مشخص میكنند ،كه مولد را شرح میدهند از این سه تائی به عنوان كلید مخفی میتوان استفاده كرد.با توجه به اینكه x۰ هسته مولد میباشد ، اگر پارامترها بدقت انتخاب شوند اعدادی نظیر xj به صورت تكراری نخواهیم داشت مگر آنكه تمامی اعداد صحیح درون فاصله [۰,m-۱] در خروجی ظاهر شده باشند .« بویر» نشان داد كه دنباله های تولید شده توسط LCG ها از نظر رمز نگاری امن نیستند . درواقع با در اختیار داشتن قطعه ای طولانی ازدنباله میتوان با روشهائی پارامترهای m و b و a را بازسازی نمود .
▪ ثبات های انتقال پس خور ) FSR (
دنباله های مورد استفاده در رمزنگاری می توانند بر مبنای ثبات های انتقال طراحی بشوند حتی وقتی كه دارای پس خوری خطی باشند . یك ثبات انتقال پس خور از N فلیپ فلاپ و یك تابع پس خور تشكیل شده است . تابع پس خور هر عنصر جدید همانند t ) ) a از دنباله را به صورت جزئی از عناصری كه از قبل تولید شده اند همانند a(t-۱) ، …… a(t-n-۱) ، a(t-n) بیان می كند . گونه ای از توابع پس خور وجود دارند كه به صورت زیر عمل میكنند:
a(t) =g( a(t-۱) , a(t-۲) ……… , a(t-n+۱)) Å a(t-n)
بسته به اینكه آیا تابع g خطی است (با عملگر Xor تنها قابل اجراست ( یانه ،مولد یك ثبات انتقال پس خور خطی ( LFSR ) یا ثبات انتقال پس خور غیر خطی ( NLFSR ) خوانده می شود.
پریود دنباله تولید شده بوسیله یك FSR به تعداد مراحل ذخیره سازی و جزئیات اتصال پس خور بستگی خواهد داشت و بطور كلی حداكثر پریود یك دنباله كه توسط یك FSR دارای n مرحله تولید میشود ، ۲ n خواهد بود .
▪ ثبات های انتقال پس خور غیر خطی (NLFSR )
دیاگرام حالت گونه هائی از FSR ها میتواند شامل چرخه های كوچك باشد و حالات تكراری داشته باشد و دنباله اگر در یكی از این حالات قرار بگیرد ممكن است نا امن شود . یك روش مناسب طراحی ثبات انتقال n مرحله ای كه دنباله هائی با حداكثر پریود ۲ n تولید می نماید و دنباله های « دی بروئن » می باشد.كه تعداد دنباله های ممكن n مرحله ای آن به بزرگی ۲ (۲n-۱)-n میباشد.كه همگی آنها دارای توزیعهای ایده آلی میباشند .اما این دنباله ها كه از ثبات های انتقال غیر خطی ساخته میشوند دارای مشكلاتی برای پیاده سازی توسط الگوریتمهای شناخته شده هستند . همچنین تولید سریع این دنباله ها به سختی صورت می گیرد . همچنین برخی از خواص همبستگی بین عناصر تولید شده می تواند راهكارهای مناسبی برای تحلیل این دنباله ها ایجاد نماید .
▪ ثبات های انتقال پس خور خطی (LFSR)
این ثبات ها مدت ها برای كدهای كنترل خطا ، آزمایشهای VLSI و مخابرات طیف گسترده مورد استفاده بوده اند و از جمله مهمترین اجزاء در ساختار مولدهای شبه تصادفی می با شند آنها توابع پس خوری به شكل زیر دارند .
a(t) =c۱ a(t-۱) Å c۲ a(t-۲) Å …………. Å c(n-۱) a(t-n-۱) Å a(t-n)
c i Î [۰,۱]
و با چند جمله ای پس خور زیر نشان داده میشوند .
f(n) = ۱+ c۱x + c۲x۲ + ……..+ c( n-۱) x ( n-۱) + x(n)
به طور كلی برای اینكه حداكثر پریود ممكن ۲n-۱ را برای دنباله خروجی از یك LFSR داشته باشیم ، چند جمله ای پس خور آن می باید اولیه باشد . تعداد چند جمله ای های اولیه درجه n از رابطه f (۲ n –۱)/n بدست می آید كه (n) f نمایانگر تابع اویلر می باشد كه تعداد اعداد صحیح مثبت و اول كوچكتر از عدد n را نشان میدهد .
به هر صورت با توجه به توابع توزیع احتمال این دنباله ها با حداكثر پریود دیده می شود كه خواص آماری مطلوبی در این دنباله ها به وجود می آید . اما در برابر این خصوصیات مولد های شبه تصادفی وبه علت استفاده گسترده از ثبات های انتقال در این گونه مولدها روش های تحلیل فراوانی نیز برای تحلیل دنباله خروجی حاصل طرح شده كه استفاده از این ثبات ها را در ساختار مولدهای بیت شبه تصادفی دچار مشكل می كند .
▪ كاربردهای رمزهای دنباله ای ،مزایا و معایب
بسیاری از رمزهای دنباله ای كاربردی بر مبنای LFSR ها عمل می نمایند و از آنجائیكه یك ثبات انتقال در واقع آرایه ای از بیت های حافظه و یك سری فیدبك می باشد و با یك سری Xor قابل پیاده سازی است ، می توان امنیت قابل توجهی را تنها با تعداد كمی گیت منطقی بدست آورد .
بنابراین رمزهای دنباله ای می توانند برای مصارف سخت افزاری بسیار مؤثر و كارا باشند .
اما در عین حال مشكلی كه LFSR ها و در نتیجه رمزهای دنباله ای مبتنی بر آنها دارند ، ناكارآمد بودن آنها در نرم افزار است . در واقع برای مناسبت های نرم افزاری چندجمله ایهای فیدبك و تعداد فیدبك ها بسیار مهم می باشد. در حالیكه مؤثر انتخاب نكردن این چندجمله ایها امكان حملات وابستگی را نیز ممكن است فراهم آورد .
بنابراین رمزهای دنباله ای حتی انواع ساده تر آنها در اجراهای نرم افزاری نمی توانند سریعتر از رمزهای قطعه ای عمل نمایند . رمزهای دنباله ای به علت پیاده سازی مؤثرتر سخت افزاری كاربردهای فراوانی در صنایع نظامی به خصوص خطوط مخابرات نظامی دارند . از آنجا كه در اینگونه رمزها هر یك از بیت های داده های اصلی به صورت مستقل رمز می شوند ، بكارگیری اینگونه رمزها در لینك های مخابراتی پر از اغتشاش و نویز به جهت امكان آشكارسازی و تصحیح خطاها مؤثرتر می باشد .
در عین حال كه برای رمز نمودن حجم عظیمی از داده ها بعلت سرعت اجرای بالا، رمزهای دنباله ای می توانند گزینه مناسبی باشند . همانطور كه در سیستم های امنیت مخابراتی و رمزنگاری نظیر BEU ها دیده می شود .
تحلیل و آنالیز نمودن رمزهای دنباله ای نیز معمولاً ساده تر از رمزهای قطعه ای صورت می گیرد . در عین حال امكان طرح حملات وابستگی بر روی اینگونه سیستم ها كه بر مبنای ثبات های انتقال خطی عمل می نمایند ، بیشتر است اغلیب رمزنگارها سعی می نمایند اجزاء مختلف اینگونه الگوریتم ها را در حالتی غیرخطی تركیب نمایند و یا از ثبات های انتقال غیرخطی استفاده نمایند تامصونیت وابستگی لازم پدید آید .
▪ نمونه های رمزهای دنباله ای پیاده سازی شده
رمزهای دنباله ای بسیاری در طرح های مختلف پیاده سازی شده اند .
A۵ یك الگوریتم رمز دنباله ای است كه برای رمز نمودن سیستم ارتباط گروهی موبایل و یا در واقع سیستم مخابراتی GSM به كار می رود . این الگوریتم برای رمز نمودن لینك ارتباطی میان گوشی تلفن به ایستگاه پایه به كار می رود .
الگوریتم XPD/KPD كه توسط شركت هیوز طراحی شده است ، در رادیوهای تاكتیكی نظامی ارتش و تجهیزات جهت یاب به كار رفته است .
الگوریتم رمز دنباله ای NaNoTEQ كه نام یك شركت الكترونیكی در آمریكای جنوبی است برای رمز نمودن ارتباطات و مراسلات از طریق فاكس در اداره پلیس آمریكای جنوبی بكار رفته است .
می توان انواع دیگر رمزهای دنباله ای طرح شده را بیان نمود ، اما آنچه مشخص است اینگونه رمزها در تجهیزات مخابراتی و سخت افزاری كاربرد گسترده و فراوان دارند . به خصوص در خطوط رادیوئی كه امكان اغتشاشات و نویزهای فراوان در آنها موجود می باشد . اما به علت سرعت نامناسب اجرای نرم افزاری آنها ، برای استفاده در شبكه های كامپیوتری و یا ایجاد امنیت در پروتكل های امنیت اینترنت بكار نمی روند .
● رمز قطعه ای
رمزهای قطعه ای كه از جمله پركاربردترین رمزهای كلیدخصوصی هستند ، به علت قابلیت های فراوان كه در اجرای سریعتر و برقراری امنیت و ایجاد مقاومت در برابر انواع حملات متن منتخب و سایر انواع حمله های رمزنگاری دارند ، یكی از بهترین گزینه ها در ایجاد اهداف طرح های رمزنگاری می باشند .
یك رمز قطعه ای قدرتمند قابلیت آن را دارد كه توسط روش های مختلف بكارگیری به عنوان یك رمز دنباله ای قوی استفاده شود و یا اینكه ایجاد یك سامانه احراز هویت نماید .بر همین مبنا همواره سعی می شود یك الگوریتم رمز قطعه ای بر مبنای راهكارها و دستاوردهای نوین روش های طرح اینگونه رمزها و با توجه به تحلیل های جدید تر سامانه های رمز و حمله هائی كه بر مبنای این تحلیل ها برروی رمز های قطعه ای طرح می شوند ، بدست آید ودر عین حال یك ساختار منظم ، قابل توسعه و در عین حال نوین از رمزهای قطعه ای معرفی شود كه در صورت نیاز به توسعه در طول كلید سری مورد استفاده و یا طول قالب داده های ورودی به الگوریتم ، اصل ساختار الگوریتم توانائی این توسعه را بدون از دست دادن ساختار كلی شبكه رمز ، عملگرها و مبناهای بكارگرفته شده داشته باشد .الگوریتم رمز طرح شده باید بتواند امنیت مورد نیاز اطلاعات محرمانه را ایجاد نماید و حاشیه امنیت لازم برای حمله های نوین ارائه شده و قابل توسعه را نیز داشته باشد . در طراحی الگوریتم ، امنیت كامل وقابل اثبات در مقابل حمله های مؤثر و پركاربردی نظیر حمله های تفاضلی و خطی و سایرحمله هائی كه مبنای تازه تری برای تحلیل رمزهای قطعه ای دارند ، هدف اولیه بوده و در ادامه نیزپیاده سازی و اجرای موثر رمز كه لازمه طراحی می باشد جزء اهداف در نظر گرفته می شود . چنین طرحی می تواند با ایجاد حداكثر امنیت ممكن در یك سامانه اطلاعاتی به سرعت اجرا شود و حوزه كاربردهای مختلف اطلاعات را برآورده سازد .در واقع با توجه به نوع اطلاعات مورد استفاده از لحاظ استراتژیك و تاكتیكی بودن می توان در كاربردهای مختلف مورد نیاز طرح كلی این الگوریتم را استفاده نمود .
رمزهای قطعه ای كه تعریف آنها بر مبنای تركیب توابع جایگزینی و جایگشتی می باشد ، ساختارهای متعددی دارند كه هر یك مزایا و كاربردهای متعدد مربوط به خود را دارند . خواص رمزهای قطعه ای امن را به صورت زیر می توان بیان نمود .
۱) دستیابی به متن اصلی از طریق متن رمزگذاری شده بدون در اختیار داشتن كلید باید غیرممكن باشد . می توان این خصلت را با یكطرفه بودن الگوریتم رمزنگاری مقایسه نمود . در واقع كلید خصوصی الگوریتم دریچه تابع رمزنگاری می باشد كه با در اختیار داشتن آن می توان از متن رمز شده ، متن اصلی را بدست آورد .
۲) آگاهی از الگوریتم نباید سبب تضعیف رمز شود . مخفی نگاه داشتن جزئیات الگوریتم در امنیت آن نقشی ندارد و امنیت الگوریتم باید تنها به كلید سری بستگی داشته باشد .
۳) هر بیت متن رمزشده باید به تمامی بیت های متن اصلی وابسته باشد . در اینصورت كوچكترین تغییردر متن اصلی ، متن رمزشده متفاوتی ایجاد می نماید . به اینگونه از رمزها كامل گفته می شود .
۴) هر بیت متن رمزشده می بایست به تمامی بیت های كلید سری وابسته باشد كه در اینحالت در صورت كوچكترین تغییر در كلید ، متن رمزشده متفاوتی ایجاد می شود .
۵) تغییر هر بیت در داده های ورودی بدون تغییر كلید ، باید موجب تغییرات عمده در قطعه خروجی شود .
۶) تغییر هر بیت در كلید سری بدون تغییر متن اصلی ، باید موجب تغییرات عمده در متن رمزگذاری شده گردد .
۷) الگوریتم باید دارای عمل جانشینی بیت ها تحت كنترل داده های ورودی وكلید باشد .
۸) الگوریتم باید دارای عملكرد جابجائی بیت ها تحت كنترل داده های ورودی وكلید باشد .
۹) الگوریتم رمز نباید دارای ساختار جبری ساده باشد . در غیراینصورت تابع رمزگذاری با یك رابطه دارای بیان جبری ساده معادل خواهد شد .
۱۰) طول متن اصلی باید با طول متن رمز شده برابر باشد .
۱۱) تمامی كلیدهای سری بكار گرفته شده باید رمز قوی تولید نمایند .
خصوصیاتی كه بیان شد شرایط لازم برای طرح یك رمز قطعه ای قوی می باشد در حالیكه شروط لازم و كافی برای ارزیابی و حصول اطمینان از امنیت هر سیستم رمزی ، مقاومت آن در برابر حملات نوع اول ، دوم و سوم در رمزنگاری می باشد .
در سال های گذشته بعلت نیازهای فراوانی كه برای كاربردهای غیرنظامی رمزنگارها وجود داشته است ، بحث استاندارد سازی الگوریتم های رمزنگاری مطرح شده است . كه نمونه های استاندارد شده آن در سال های گذشته DES با ساختاری به صورت فیستل و در سال های اخیر AES بوده كه الگوریتم رایندال را با ساختاری نوین و به گونه ای مربعی بكار برده است .
الگوریتم DES از انجام عملیت بر روی قطعه های ۱،۴،۶و ۲۸ بیت بهره می گیرد كه این عملكردهاپیاده سازی الگوریتم را برای مصارف نرم افزاری با مشكل روبرو می سازد . اما الگوریتم هائی نظیر FEAL كه به منظور پیاده سازی سریع نرم افزاری طراحی شده است ، از زیر عملیات هائی بر روی قطعات ۸ بیتی بهره می گیرد . بنابراین دیده می شود كه یك الگوریتم رمزنگاری متناسب با پیاده سازی نرم افزاری لزوماً از عملوندهای منطبق با بایت و یا ضرایبی از بایت بهره می گیرد .
▪ احراز هویت و شناسائی و توابع درهم ساز
كاربردهای گوناگون رمز های قطعه ای را می توان توسط مد های كاربردی كه تعیین كننده گستره وسیع كاربردی رمزهای قطعه ای در مصارفی نظیر احراز هویت پیام ، مولد های بیت شبه تصادفی ، توابع درهم ساز و مدیریت كلید می باشد ، بیان نمود .
رمزهای قطعه ای در حالات ECB ، OFB ، CBC و CFB بكاربرده می شوند . حالات بكارگیری رمز در مدهای CFB و OFB در ایجاد مولدهای بیت شبه تصادفی و طراحی رمزهای دنباله ای كاربردهای فراوان دارند. در حالیكه مد OFB دارای مزایائی نظیر امنیت بالا ، انتشار خطای محدود و ایمنی در برابر حمله های لغت نامه ای و فعال می باشد و در عین حال سنكرون نبودن این گونه سیستم ها می تواند معایبی را در این نوع كاربرد به وجود آورد .
مزایای بكارگیری روشهای CBC و CFB را می توان در جامعیت پیام های ارسالی و قابلیت دسترسی گسترده به داده ها و تامین ایمنی در برابر حملات لغت نامه ای و مهم تر از همه تامین كد هویت و شناسائی پیام دانست .كه قابلیت احراز هویت رابه كاربردهای رمزهای قطعه ای می افزاید . اما این دو حالت بكارگیری عیوب عمده ای نظیر انتشار خطا در خطوط ارتباطی را می توانند در بر داشته باشند .
استاندارد X۹۰۹ الگوریتم DES را در حالت CBC به عنوان روش احراز هویت بیان می كند كه در هر هفته در حدود۵/۱ تریلیون دلار از طریق آن میان مؤسسات مالی به شكل عمده مبادله می شد .
تكنیك های فراوانی نیز موجود می باشد كه در آنها نشان داده شده است كه از رمزهای قطعه ای می توان در طراحی توابع درهم ساز كه از ملزومات روش های احراز هویت و امضاهای دیجیتال می باشند ، استفاده نمود .
● طراحی الگوریتم رمز قطعه ای
الگوریتم باید به گونه ای طراحی شود كه معیارهای طراحی رمزهای استاندارد پیشرفته را برآورده سازد كه این معیارها در زیر آورده شده اند .
▪ طول كلید الگوریتم باید حداقل ۱۲۸ بیت باشد . در واقع طبق آخرین استاندارد های ارائه شده توسط NIST برای جلوگیری از حمله های جستجوی فضای جامع كلی حداقل طول كلید باید ۸۰ بیت باشد كه استاندارد آن را برای پیاده سازی مناسب نرم افزاری ۱۲۸ در نظر می گیرند .
▪ الگوریتم تا حد ممكن كلید ضعیف و نیمه ضعیف نداشته باشد .
▪ پیاده سازی الگوریتم باید روی زمینه های مختلف سخت افزاری و نرم افزاری مؤثر و كارا باشد . به خصوص شرایطی كه پیاده سازی نرم افزاری الگوریتم را با توجه به طرح حاضر ، مؤثرتر می سازد فراهم شود .
▪ طرح الگوریتم در برابر تبادل های موجود میان امنیت و اجرا در كاربردهای مختلف در رمزنگاری باید بسیار منعطف باشد و قابلیت استفاده برای كاربردهائی نظیر مولد بیت های شبه تصادفی امن ، توابع در هم ساز و MAC را داشته باشد وبرای مقاصدی نظیر احراز هویت و مدیریت كلید نیز قابل بكارگیری باشد .
▪ طرح الگوریتم باید بسیار ساده باشد و به سهولت قابل بیان و آنالیز باشد و در عین حال قابل توسعه باشد .
اما با توجه به شرایطی كه الگوریتم های رمز قطعه ای امن باید داشته باشند معیارهای زیر نیز در طراحی الگوریتم و برقراری امنیت آن باید مورد نظر باشد .
▪ الگوریتم به گونه ای طرح شود كه عملكرد های رمزگذاری و رمزگشائی آن تاحد ممكن یكسان عمل نمایند و اجرای سخت افزاری و نرم افزاری آنها مشابه یكدیگر باشند .
▪ الگوریتم دارای طرحی موازی باشد و با استفاده از این الگوها پیاده سازی سریعتر و مؤثرتری داشته باشد .
▪ امنیت الگوریتم در برابر تحلیل های شناخته شده در رمزنگاری همانند حمله های خطی و تفاضلی و تحلیل هائی كه مبنای آنها این نوع حمله ها می باشند ، تضمین شده باشد . همچنین حاشیه امنیت لازم را برای حمله های تازه تر داشته باشد .
▪ طرح تولید زیركلید های الگوریتم ، امن و مؤثر باشد كه در برابر حمله های مرتبط با كلید بتواند استقامت لازم را ایجاد نماید .
▪ طرح كلید الگوریتم قابلیت پیش محاسبه شدن را با حداكثر سرعت ممكن داشته باشد و یا اینكه با حداقل حافظه مورد نیاز و حداكثر سرعت به صورت شناور بتواند زیركلید ها را تولید نماید .
در طراحی الگوریتم رمز طرح حاضر می بایست تمامی نكاتی را كه به عنوان اهداف طراحی بیان شد ، لحاظ شود .
▪ طراحی امنیت و اجرای مؤثر الگوریتم رمز قطعه ای
هر یك از الگوریتم های رمز قطعه ای لزوماً باید خصوصیاتی را برآورده سازند كه این خصوصیات شرایط لازم برای طرح یك رمز قطعه ای قوی می باشند در حالیكه شروط لازم و كافی برای ارزیابی و حصول اطمینان از امنیت هر سیستم رمزی ، مقاومت آن در برابر حملات نوع اول ، دوم و سوم در رمزنگاری می باشد .
حمله های طرح شده بر روی رمزهای قطعه ای نیز می تواند روش هائی برای طرح اینگونه رمز ها پیشنهاد نمایند . در واقع طرح اینگونه حمله ها ، ویژگی ها و معیارهای لازم در رمز های قطعه ای را برای مقاومت در برابر این حمله ها مشخص می نمایند . در ادامه چند حمله مختلف بر روی رمزهای قطعه ای كه در اثر برخی خصوصیات تابع رمزگذاری طرح شده ، آورده می شود.▪ انواع حملات قابل اجرا بر روی الگوریتم
ـ آزمون جامع فضای كلید:
این حمله با در اختیار داشتن چند زوج متن اصلی و متن رمز شده متناظر با آن صورت می گیرد وعبارتست از آزمودن تمامی ۲ m كلید ممكن به منظور یافتن كلید اصلی رمزنگاری كه همان كلید سری می باشد .
ـ حمله مكملیت :
این حمله توسط خاصیت مكملیت صورت می گیرد . در واقع اگر X و Y دو بردار باینری به طول n باشند و X+Y=(۱,…,۱) باشد ، در اینصورت این دو بردار مكمل یكدیگر می باشند و خواهیم داشت Y=X ¢ .
حال اگر f مبین تابع یك رمز قطعه ای باشد و C=f(P,K) ، آنگاه رمز دارای خصلت مكملیت است اگر: " P , " K : f(P ¢ ,K ¢ )=C ¢ در اینصورت اگر فضای كلید رمزنگاری K به دو زیر فضای S و S ¢ كه K=S È S ¢ باشد در اینصورت آزمون جامع فضای كلید را می توان فقط در فضای S اعمال نمود .
ـ حمله از طریق ویژگی بسته بودن :
برای هر رمز قطعه ای به طول n و كلیدی به طول m هر كلید یك تابع جابجائی از بردارهای باینری به طول n را مشخص می نماید . اگر G مجموعه تمام این ۲ m جابجائی را نشان بدهد و داشته باشیم H={ Ti*Tj : Ti ,Tj Î G } و * نماد تركیب نگاشت ها باشد ، آنگاه G بسته است اگر H=G باشد . در واقع G بسته است اگر برای هر Ti و Tj در G بتوان Tk را در G به گونه ای یافت كه برای تمام متون اصلی داشته باشیم :
(Ti*Tj )(P) = Tk(P)
اما از آنجا كه یكی از روش های متداول افزایش امنیت رمز های قطعه ای رمزنگاری متوالی هر قطعه می باشد ، ویژگی بسته بودن یك رمز تاثیر این روند تكراری را از بین خواهد برد و موجب ضعف در امنیت رمز می گردد .
سایر حمله های طرح شده بر روی رمزهای قطعه ای همانند حمله ملاقات در میانه ، حمله از طریق ویژگی آفینی و سایر حمله ها می توانند ویژگی های نامطلوب رمزهای قطعه ای را آشكار نمایند . اما بهترین و مؤثرترین تحلیل های ارائه شده بر روی اینگونه رمزها حمله های خطی وتفاضلی هستند كه از جمله قدرتمندترین حمله ها ی نوع دوم و سوم بر روی رمز های قطعه ای می باشند .
بنابراین امنیت بسیاری از رمز های قطعه ای به استحكام رمز در برابر این دو حمله بستگی خواهد داشت . در واقع معیار اصلی طراحی هررمز قطعه ای مقاومت دربرابر اینگونه حمله ها و سایر انواع حمله های طرح شده با توجه به شرایط تحلیل گر و آگاهی های او می باشد و تحلیل هائی كه در ابتدا بیان شد به عنوان شروط لازم طراحی بكار می روند .
در میان دسته بندی تحلیل های رمزی چهار نوع عمومی از حمله های رمزنگاری وجود دارد كه در هر كدام از آنها فرض می شود كه تحلیل گر آگاهی لازم وكامل را از الگوریتم رمزگذاری مورد استفاده در اختیار دارد . این تحلیل ها به صورت زیر دسته بندی می شوند .
● چهار نوع عمومی از حمله های رمزنگاری
▪ حمله فقط متن رمز شده
در این نوع حمله تحلیل گر متن رمز شده پیام های مختلف را كه همه آنها با استفاده از یك الگوریتم مشابه رمز شده اند ، در اختیار دارد . كار تحلیل گر بدست آوردن متن اصلی پیام های مختلف و یا یافتن كلید استفاده شده در عملكرد رمزگذاری است تا بوسیله آن سایر پیام های رمز شده را بتواند رمزگشائی نماید .
در واقع با در اختیار داشتن C۱=EK(P۱) تا Ci=EK(Pi) تحلیل گر سعی می نماید P۱,…,Pi و K و یا الگوریتمی كه بتواند Pi+۱ را از Ci+۱=EK(Pi+۱) نتیجه بگیرد ، بدست آورد .
▪ حمله متن روشن معلوم
در این حمله تحلیل گر نه تنها به متن رمزی پیام های مختلف بلكه به متن روشن این پیام ها نیز دسترسی دارد و كار اصلی او نتیجه گرفتن كلید و یا كلید های استفاده شده برای رمزگذاری پیام ها و یا بدست آوردن الگوریتمی كه بتواند پیام های جدید رمزشده با كلید مشابه را رمزگشائی نماید ، می باشد . در واقع با در اختیار داشتن C۱=EK(P۱) و P۱ تا Ci=EK(Pi) و Pi بتواند كلید K و یا الگوریتمی را بدست آورد كه Pi+۱ را از Ci+۱=EK(Pi+۱) حاصل نماید .
▪ حمله متن روشن منتخب
در این حمله تحلیل گر نه تنها به متن رمز شده و متن روشن مربوط به آن دسترسی دارد بلكه می تواند متون اصلی را نیز برای رمزگذاری انتخاب نماید . این تحلیل از یك حمله متن روشن معلوم قویتر می باشد زیرا تحلیل گر می تواند بلوك های متن روشن را برای رمزنمودن تعریف نماید و قطعه ای را انتخاب نماید كه اطلاعات بیشتری درباره كلید از آن بدست آید . كار تحلیل گر نتیجه گرفتن كلید مورد استفاده در رمزگذاری پیام و یا بدست آوردن الگوریتمی برای رمزگشائی پیام های رمز شده جدید با كلید مشابه می باشد .
در واقع با در اختیار داشتن C۱=EK(P۱) و P۱ تا Ci=EK(Pi) و Pi كه در آن P۱ تا Pi را انتخاب نموده است ، كلید K و یا الگوریتمی برای بدست آوردن Pi+۱ از Ci+۱=EK(Pi+۱) حاصل نماید .
▪ حمله تطبیقی متن روشن منتخب
این نوع تحلیل یك مورد خاص از حمله متن روشن منتخب می باشد كه در آن تحلیل گر نه فقط می تواند متن روشن را كه رمزگذاری می شود انتخاب نماید بلكه می تواند انتخاب خود را بر مبنای نتایج رمزگذاری قبلی اصلاح نماید . در یك حمله متن روشن منتخب یك تحلیل گر ممكن است فقط قادر به انتخاب یك بلوك بزرگ از متن روشن برای رمزگذاری باشد .اما در یك حمله تطبیقی از نوع متن روشن منتخب او می تواند بلوك كوچكتری از متن روشن انتخاب نماید و سایر بلوك ها را بر مبنای نتایج این بلوك ابتدائی انتخاب نماید و به همین ترتیب ادامه دهد .
چند نوع حمله دیگر بر روی سیستم های رمزنگاری وجود دارد كه در موارد خاص می توان از آنها استفاده نمود . همانند حمله متن رمزی منتخب كه در آن تحلیل گر امكان انتخاب متون رمزشده را نیز دارد و یا حمله كلید منتخب كه در این حمله تحلیل گر آگاهی هائی درباره روابط میان كلید های مختلف در اختیار دارد .
اما تحلیل هائی كه بر مبنای حمله های متن روشن و متن روشن منتخب صورت می گیرند بسیار معمول تر و واقعی تر می باشند و تحلیل های مؤثری بر مبنای این حمله ها تا كنون طرح شده است كه بر روی بسیاری از رمزها مؤثر بوده اند . به طور مثال تحلیل های خطی و تفاضلی كه بر روی DES مؤثر بوده اند از این گونه می باشند .
در بكارگیری حمله های متن روشن منتخب بیشترین آگاهی از سیستم رمز در اختیار تحلیل گر قرار دارد بنابراین قویترین نوع حمله از نوع متن روشن منتخب می باشد كه در آن تحلیل گر آگاهی كامل به الگوریتم رمزنگاری مورد استفاده دارد و امكان انتخاب و نمونه گیری از سیستم رمز را نیز خواهد داشت . بنابراین رمزی كه در برابر این نوع حمله مقاوم باشد در بدترین شرایط می تواند امنیت كافی را اعمال نماید .
● ملزومات طرح مؤثر و كارای نرم افزاری الگوریتم رمز.
▪ در الگوریتم از پرش های شرطی در حلقه درونی الگوریتم باید اجتناب شود . هر تغییر غیر قابل پیش بینی در جریان كنترل الگوریتم به طور طبیعی موجب اختلال در عملكرد مقاوم پردازش و در نتیجه افزایش تعداد سیكل های ساعت مورد نیاز ، خواهد شد . بنابراین به طور مشخص هر عملگر و یا دستور همانند if ، then و یا else در زبان C و یا اسمبلی موجب پرش در جریان اجرا خواهد شد . پرش ها همچنین آسیب پذیری رمز را در برابر حمله های زمانی كه در آورده شده ، افزایش می دهد .
▪ از عملگرهائی كه طبیعتاً ساختارهای سنگینی دارند استفاده نشود . در این دسته بندی می توان عملگرهای ضرب و تقسیم و سایر عملگرهائی را كه بر روی پردازنده ها به سختی اجرا می شوند، قرار دارند . به طور مثال یك عملگر چرخش/انتقال متغیر ، ( كه مقدار چرخش و یا انتقال در مرحله اول مشخص نمی باشد ) بر روی پردازنده پنتیوم نیاز به ۴ سیكل ساعت برای اجرا خواهد داشت و در عین حال با هیچ عملگر دیگری نمی تواند به طور همزمان اجرا شود بنابراین به صورت چند زیر مجموعه از عملگرهای ساده انجام می شود و زمان مورد نیاز اجرای آن بیشتر از یك عملگر ساده تنها خواهد بود .
▪ در طرح الگوریتم باید تا حد ممكن تعداد متغیرهای مورد نیاز را محدود نمود . بسیاری از پردازنده های مدرن شامل تعداد زیادی ثبات چندمنظوره می باشند . اما در برخی این تعداد ثبات چند منظوره بسیار كم می باشد . به طور مثال در پنتیوم تنها هفت ثبات چندمنظوره وجود دارد و در صورتیكه در حلقه درونی الگوریتم تعداد زیادی متغیر بكار رود تمامی آنها در ثبات ها قرار نمی گیرند و به علت نیاز به دسترسی به حافظه ، اجرا سنگین تر خواهد شد .
▪ اندازه جداول بكار رفته تا حد ممكن باید كوچك باشد . هرچند كه جداول بزرگتر از نظر رمزنگاری مناسبتر می باشند اما انواع كوچكتر آنها برای اجرای سریعتر نرم افزاری مطلوب تر هستند . با توجه به پردازنده های كنونی جداول باید به گونه ای در نظر گرفته شوند كه بیش از چهار كیلو بایت برای ذخیره سازی نیاز نداشته باشند .▪ در طرح عملگرهای بكار رفته باید تا حد ممكن از الگو های موازی بسیار استفاده شود . ایده عمومی بكارگیری عملگرهای مستقل از یكدیگر و اجرای همزمان و موازی با هم این عملگرها می باشد . این الگو می تواند تا حد بسیار زیادی در افزایش سرعت اجرا مؤثر باشد .
نكاتی كه بیان شد بسیار ساده می باشند اما با بهره گیری از آنها می توان تا حد بسیار زیادی پیاده سازی مؤثر و سرعت اجرای بالای نرم افزاری را برای الگوریتم ایجاد نمود .
● مدیریت كلید
یك سیستم مخابراتی امن شامل اجزا و قسمت هائی همچون الگوریتم رمزنگاری ، پروتكل های قراردادی و … می باشد . با فرض اینكه تمامی این اجزاء قابلیت اطمینان لازم و كافی را داشته باشند ، هنوز یك مسئله باقی است و آن كلید های بكاررفته در مبادلات صورت گرفته است .
با توجه به اینكه در صورت غیرقابل شكست بودن الگوریتم های رمزنگاری و پروتكل های مورد استفاده ، بكارگیری كلیدهای ضعیف و یا استفاده نامناسب از كلیدهای مورد نیاز می تواند نقاط ضعف بسیاری را برای تحلیل امنیت باقی بگذارد .
در دنیای واقعی مدیریت كلید سخت ترین قسمت رمزنگاری محسوب می شود . طراحی الگوریتم های رمزنگاری امن ساده نیست اما با تكیه بر تحقیقات آكادمیك بسیار می توان به نتایج قابل اطمینانی رسید . اما از آنجا كه امنیت تمامی ارتباطات باید تنها به كلیدهای بكاررفته داشته باشد ، نگاه داشتن سری كلیدها بسیار سخت تر خواهد بود . بطوریكه بسیاری از تحلیل گرها و رمزشكن ها به سیستم های رمز كلید همگانی و الگوریتم های متقارن از طریق مدیریت كلید آنها حمله می نمایند . از اینرو طراحی مطمئن و قدرتمند روند مدیریت كلید نقش بسزائی در امنیت تبادل ها دارد .
مواردی كه در یك پروسه مدیریت كلید باید در نظر گرفته شود فسمت های مختلفی را شامل می شود كه هر كدام می توانند معیارهائی برای اجرای یك روند مناسب در اختیار بگذارند .
▪ تولید كلیدها
الگوریتم تولید كلید می بایست شرایط مناسبی را برقرار نماید تا كلیدهای ضعیف تولید نشود .بر همین مبنا روند تولید كلیدها باید به گونه ای باشد كه فضای كلید كاهش یافته به وجود نیاید و از تمامی بیت های كلید در نظر گرفته شده استفاده شود . به طور مثال اگر الگوریتمی از یك كلید ۵۶ بیتی استفاده می نماید و برنامه ای برای تولید كلیدها از قالب ASCII استفاده نماید به طور طبیعی بیت مرتبه بالاتر هر بایت صفر در نظر گرفته می شود كه موجب كاهش فضای كلید و در نتیجه امكان تحلیل رمز مورد استفاده شاید تا هزاران بار سریعتر می گردد .
همچنین انتخاب كلیدهای ضعیف می تواند منافذی را برای تحلیل امنیت الگوریتم رمز ایجاد نماید . از آنجا كه حملات جستجوی فضای كلید در ابتدا كلیدهای ملموس تررا مورد نظر قرار می دهد ، تحلیل گر می تواند لغتنامه ای از كلیدهای معمول در نظر گرفته و به اصطلاح حمله لغتنامه ای انجام دهد .
كلیدهای خوب معمولاً رشته اعداد تصادفی تولید شده توسط یك پروسه اتوماتیك می باشند . تولید این كلیدها باید توسط یك منبع تصادفی قابل اطمینان و یا یك مولد بیت شبه تصادفی امن صورت بگیرد . همچنین كلیدهای ضعیف الگوریتم رمزنگاری مورد استفاده باید تا حدامكان حذف شود و یا مشخص باشند تا در هنگام تولید و انتخاب كلیدها استفاده نگردند .
به عنوان نمونه هائی از الگوریتم های تولید كلید می توان به استاندارد ANSI X۹.۱۷ اشاره نمود كه روشی برای تولید كلید توسط الگوریتم رمز كلید خصوصی ۳ DES ارائه می دهد و می تواند كلیدهای جلسه مناسب و یا اعداد شبه تصادفی تولید نماید .
در صورتیكه EK(X) تابع رمزگذاری با ۳ DES بر روی X با كلید K باشد و V۰ یك هسته ۶۴ بیتی امن و T مهر زمانی آن باشد ، برای تولید كلید تصادفی Ri به صورت زیر عمل می شود :
Ri=EK(EK(Ti)+Vi)
Vi+۱= EK(EK(Ti)+Ri)
كه كلیدهای ۶۴ بیتی تولید می نماید و با به هم چسباندن دنباله های ۶۴ بیتی می توان نمونه های بلندتر نیز بدست آورد .
▪ ارسال و توزیع كلیدها در شبكه های بزرگ
در یك مبادله اطلاعاتی امن مسئله ارسال كلید جلسه یك الگوریتم متقارن مسئله قابل تعمقی است . رمزنگاری با الگوریتم های كلید عمومی این مشكل را می توانند حل نمایند . هر چند كه ممكن است تكنیك های مناسب را در شرایط گسترده در اختیار نگذارند
از آنجائیكه معمولاً كانال های امن مخابراتی به سادگی قابل حصول نیستند روش های مختلفی برای ارسال كلید سری یك مبادله متقارن در نظر گرفته شده است . استاندارد X ۹.۱۷ دو نوع كلید به صورت كلیدهای رمزگذاری كلید كه برای رمز نمودن سایر كلیدها برای توزیع بكار می روند و كلیدهای داده كه برای رمز نمودن ترافیك پیام ها بكار می روند در نظر گرفته است كه كلید های رمزگذاری كلید معمولاً به صورت تعریفی و یا قراردادی توزیع می شوند .
روش دیگر می تواند تقسیم كلیدهای ارتباطی به بخش های مختلف و ارسال هر یك از طریق یك كانال باشد كه لزوماً ممكن است روشی مؤثر و قابل بكارگیری نباشد . بنابراین شاید بهترین روش ها برای تبادل كلیدهای جلسه استفاده از الگوریتم های تبادل كلید بر مبنای روش های كلید عمومی و یا حتی الگوریتم های كلید خصوصی باشد .اما توزیع كلید در شبكه های بزرگ به لحاظ تبادل های بسیار كلید میان كاربران مشكلاتی را به همراه دارد . به طور مثال در یك شبكه با ۶ كاربر تعداد ۱۵ تبادل كلید مورد نیاز می باشد .بنابراین در شبكه های گسترده ایجاد و استفاده از یك مركز خدمات كلید امن و یا سازماندهی ساختار های كلید عمومی (PKI) می تواند بسیار مؤثر باشد .
▪ تصدیق كلیدها
در تمامی تبادل های كلید در مبادلات امن می بایست كلید های ارسال شده مورد بررسی و تصدیق قرار گیرند . به طور مثال اگر كلید جلسه ارتباطی توسط كلید رمزگذاری كلید رمزشده باشد گیرنده میتواند به این واقعیت اعتماد نماید كه كلید رمزگذاری كلید جلسه تنها در اختیار فرستنده می باشد .
یك روش مطمئن برای تصدیق و احراز اصالت كلیدها می تواند استفاده از پروتكل های امضاء دیجیتال برای امضاء كلیدها باشد و یا استفاده از مركز توزیع و خدمات كلید امن برای انتقال امضاء كلیدهای عمومی بكارگرفته شده باشد كه در اینصورت باید اطمینان كافی به این مركز وجود داشته باشد .
در این میان ممكن است خطاهائی در ارسال كلید به وجود آید و از آنجائیكه كلیدها ممكن است برای رمزگشائی چندین مگابایت از متون رمزشده بكاررود لذا لزوم بررسی و تصحیح خطاها وجود دارد كه لزوماً این خطاها باید آشكارسازی شوند .یكی از پركاربردترین روش های بكاررفته برای این كار رمزنمودن یك مقدار ثابت با كلید دریافت شده و ارسال ۲ تا ۴ بایت متون رمزشده با كلید می باشد در سمت دیگر نیز همین عمل انجام می شود و سپس با انطباق مقادیر رمز شده مشخص می شود كه كلید صحیح ارسال شده و یا نیاز به تصحیح و ارسال دوباره دارد .
▪ طول عمر كلیدها
هیچ یك از كلیدهای رمزنگاری برای مدت نامعینی بكار گرفته نمی شوند . برای هر كاربرد رمزنگاری می بایست یك سیاست امنیتی بر مبنای مدل های امنیتی تعریف شده در سیستم در نظر گرفته شود گه در آن طول عمر كلیدها نیز مشخص شده باشد . كلیدهای متفاوت طول عمرهای متفاوت دارند .
در سیستم هائی كه بر روی كانال های مخابراتی خاص و حساس عمل می نمایند ، كلیدها بسته به ارزش و مقدار داده های اصلی و مقادیر رمز شده و اعتبار آنها در طول مدت تعیین شده باید نسبتاً طول عمرهائی كوتاه داشته باشند .
برای سیستم هائی كه در هر ثانیه چندین گیگا بایت اطلاعات را مبادله می نمایند نیز نسبت به خطوط كم ترافیك تر تغییر كلیدها بیشتر صورت می گیرد . كلیدهای رمزگذاری كلید معمولاً به طور متناوب تغییر نمی كنند . این كلیدها به منظور تبادل كلید به كار می روند كلیدهای خصوصی رمزهای كلید عمومی نیز طول عمرهای متفاوتی وابسته به كاربردهایشان دارند .
از جمله موارد دیگری كه در مدیریت كلید باید مورد نظر قرار گیرد مسائل مربوط به انهدام كلیدهای مصرف شده ، ذخیره نمودن و Backup گرفتن از آنها می باشد كه در طرح یك سیستم جامع باید مد نظر باشد .
● مدیریت كلید توسط روشهای كلید عمومی
الگوریتم های كلید عمومی می توانند مدیریت كلید را بسیار ساده تر نمایند هر چند كه مشكلات مربوط به خود را دارند . در واقع زمانی كه كار برها در یك شبكه گسترده زیاد می شوند بدست آوردن كلید عمومی طرف مورد نظر مبادله می تواند مشكلاتی را به همراه داشته باشد . فرستنده برای ارسال پیام را از وی و یا یك بانك اطلاعاتی شامل كلید عمومی كاربران دریافت نماید كه این عمل امكان اجرای حملات شخص در میانه ( Man in the middle attack ) و جایگزینی كلید نفوذگرها توسط آنها با كلید عمومی گیرنده را به وجود می آورد .
گواهی های عمومی در واقع كلید عمومی كاربری است كه توسط یك مركز قابل اطمینان امضاء می شود و امكان جایگزینی كلیدها را برطرف می نماید . گواهی ها معمولاً در برگیرنده اطلاعات شخصی دارنده كلید می باشند و نقش مهمی را در تعدادی از پروتكل های كلید عمومی همانند PEM و X۵۰۹ دارند . سازماندهی ساختارهای مطمئن كلید عمومی می تواند تمامی جزئیات وجود را در بر بگیرد .
برقراری ساختارهای كلید عمومی PKI از جمله روش هائی است كه می تواند امنیت و در عین حال مدیریت كلید را در شبكه های كامپیوتری تضمین نماید . این ساختارها را می توان به صورت مجموعه سخت افزارها ، نرم افزارها ، كاربران ، سیاست ها و رویه هائی كه برای ایجاد مدیریت ، ذخیره ، توزیع و انهدام گواهی های مبتنی بر رمزنگاری با كلید عمومی مورد نیاز می باضشد ، تعریف نمود . در سازماندهی ساختار های كلید عمومی دو عمل اصلی تولید گواهی (Certification) و تعیین اعتبار (Validation) مورد نیاز می باشند تا خصوصیاتی نظیر محرمانگی ، تمامیت ، احراز هویت ، عدم انكار و كنترل مدون را برآورده سازند .
▪ الگوریتم های تبادل كلید
تبادل و یا توزیع كلیدهای جلسه رمزنگاری میان دو طرف مبادله به طور معمول از روش های كلید عمومی انجام می شود . معروف ترین پروتكل تبادل كلید ، الگوریتم دیفی – هلمن می باشد كه بر مبنای روش های كلید عمومی و با تكیه بر دشواری محاسبه لگاریتم گسسته در یك میدان متناهی صورت می گیرد .
اما این روش در برابر حملات شخص در میانه ضعیف می باشد كه برای برطرف نمودن چنین منافذی پروتكل های ایستگاه به ایستگاه ( Station to Station) ارائه شده كه در آن دو طرف مبادله اطلاعات مورد تبادل را امضاء نموده و از یك مركر بیرونی امن و مطمئن نیز برای گرفتن گواهی اعتماد استفاده می نمایند .
منبع : بانک اطلاعات مهندسی برق


همچنین مشاهده کنید