پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت
شنبه 28 مرداد 1391 1:21 AM
ايجاد يک ارتباط ايمن در برنامه های وب ( بخش دوم )
در بخش اول اين مقاله به ضرورت های وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده اشاره و به بررسی برخی از ملزومات مورد نياز پرداخته گرديد. در بخش دوم اين مقاله به بررسی امضای ديجيتال و گواهينامه های ديجيتالی ، خواهيم پرداخت .برای ايجاد امنيت به چهار مولفه نياز می باشد : رمزنگاری ، الگوريتم های Hash ، امضای ديجيتال و گواهينامه های ديجيتال
رمزنگاری ، فرآيندی است که هدف اصلی آن تبديل اطلاعات بگونه ای است که برای تمامی افراد بجزء افراد تائيد شده ، اطلاعات نامفهوم و عملا" غيرقابل استفاده باشد . در فرآيند فوق ، از فرمول های رياضی (الگوريتم های رمزنگاری ) و اعداد ( کليد ) ، به منظور رمزنگاری و رمزگشائی اطلاعات استفاده می شود . الگوريتم های رمزنگاری به دو گروه عمده تقسيم می گردند :
ويژگی مدل رمزنگاری کليد خصوصی
ويژگی مدل رمزنگاری کليد عمومی
Hash
يک Hash که به آن Checksum ، پيام Digest و يا اثرانگشت ، نيز گفته می شود ، فرآيندی است که بصورت رياضی حجم يک جريان از داده را به يک طول ثابت کاهش می دهد ( معمولا" 128 و يا 160 بيت ) . عملکرد hash ، مشابه اثرانگشت يک شخص می باشد. اثرانگشت ، پارامتری منحصربفرد به منظور تشخيص هويت افراد بوده و در ادامه با استفاده از آن امکان دستيابی به ساير مشخصات افراد نظير : رنگ چشم ، قد ، جنسيت و ساير موارد دلخواه ، فراهم می گردد . اکثر توابع Hash از لحاظ رمزنگاری دارای عملکردی مشابه توابع رمزنگاری می باشند . در حقيقت ، برخی توابع hash صرفا" تغييرات اندکی را در توابع رمزنگاری ايجاد نموده اند . اکثر عمليات با دريافت يک بلاک از داده شروع و در ادامه با استفاده از يک فرآيند تکرارشونده و بکارگيری يک الگوريتم رمزنگاری ، تغييرات لازم در ارتباط با بيت ها ، اعمال می شود. hash ، دارای ويژگی های مهم زير می باشد :
الگوريتم های hashing ، از يک تابع ايمن رمزنگاری نظير Message Digest 5)MD5) و يا Secure Hash Algoritm)SHA) به منظور توليد يک مقدار Hash مرتبط با داده ورودی استفاده می نمايند . Hash ، يک نوع خاص از رمزنگاری يک طرفه است . برخی افراد ، hashing را به عنوان يک مدل رمزنگاری تلقی می نمايند . Hashing عملا" يک مدل رمزنگاری نمی باشد چراکه Hash نمی تواند رمزگشائی گردد ( بدست آوردن مقدار ورودی با اسنتاد و آناليز مقدار خروجی ) . شکل زير ، نحوه عملکرد الگوريتم SHA-1 ( نسخه شماره يک ، پياده سازی شده در سال 1994 ) را نشان می دهد :
امضای ديجيتال
امضای ديجيتال ، ماحصل رمزنگاری مقدار Hash داده مبادله شده بوده و روشی ايمن به منظور امضای الکترونيکی اطلاعات با استفاده از کدها ويا علائمی است که از لحاظ الکترونيکی معادل يک امضای دستی می باشند. امضای ديجيتالی، مبتنی بر ترکيب ايده سنتی Hashing داده و رمزنگاری کليد عمومی است .يک مرکز معتبر صدور گواهينامه های ديجيتال ، گواهينامه های ديجيتالی صادرشده را به کليدهای عمومی مربوط به هر يک نسبت می دهد . فرآيند امضاء ، مخالف فرآيند رمزنگاری است : از کليد خصوصی به منظور رمزنگاری Hash و از کليد عمومی برای بررسی صحت امضاء ( رمزگشائی ) استفاده می شود .
فرآيند امضای داده توسط فرستنده پيام :
فرآيند بررسی صحت امضاء ارسالی همراه داده :
لازم است به اين موضوع دقت شود که ضرورتی به رمزنگاری محتوی پيام وجود نداشته و صرفا" امضای ديجيتالی رمز می گردد( مگر اينکه شرايط خاصی در ارتباط با محرمانگی محتوی وجود داشته باشد که در چنين مواردی می بايست محتوی نيز رمزنگاری گردد ) . در صورتيکه به هر دليلی محتوی پيام توسط افراد غيرمجاز تغيير داده شود ، Hash رمز شده اوليه با مقداری که بصورت محلی مجددا" محاسبه می گردد ، مطابقت نداشته و صحت امضای فرستنده تائيد نمی گردد . همچنين ، ايجاد يک امضای تقلبی عملا" غيرممکن است ، چراکه افراد غير مجاز آگاهی لازم در ارتباط با کليد خصوصی را دارا نمی باشند ( رمزنگاری مقدار محاسبه شده Hash با در نظر گرفتن کليد خصوصی فرستنده انجام خواهد شد ) .
گواهينامه ديجيتال
قبل از اينکه کاربر B پيامی شامل امضای ديجيتال مربوط به کاربر A را قبول نمايد ( پذيرش ) ، می بايست اطمينان لازم در خصوص تعلق کليد عمومی به کاربر A را کسب نموده و مطمئن گردد که شخص ديگری خود را به عنوان کاربر A ، وانموده نکرده باشد. يکی از روش های موجود به منظور حصول اطمينان از ارسال پيام توسط کاربر A ، استفاده از يک مرکز معتبر به منظور تائيد تعلق کليد عمومی به کاربر A ، می باشد. چنين مراکزی CA) Certification Authority) ناميده می شوند. پس از تائيد هويت کاربر A ، مرکز صدور گواهينامه های ديجيتال ، پيامی شامل نام و کليد عمومی A صادر می نمايد . اين پيام ، گواهينامه ديجيتال ناميده می شود. گواهينامه ديجيتال ، يک فايل الکترونيکی است که بصورت منحصربفرد افراد و يا وب سايت ها را بر روی اينترنت شناسائی و امکان ارتباطات ايمن و محرمانه را فراهم می نمايد.عملکرد گواهينامه ديجيتال ، مشابه کارت شناسائی و يا گواهينامه رانندگی است . کارت های شناسائی با توجه به مجوزهای يک سازمان مسئول ، صادر می گردند . زمانيکه يک فرد درخواست يک کارت ملی را می نمايد ، يک موسسه مسئول ، بررسی لازم در ارتباط با هويت فرد متقاضی را انجام و پس از طی مراحل قانونی ( و ملزم نمودن متقاضی به تبعيت از قوانين موجود ) ، کارت شناسائی وی صادرمی گردد . زمانيکه يک کارت شناسائی نظير يک گواهينامه رانندگی صادر و به ديگران ارائه می گردد ، آنان قادر به شناسائی مالک آن می باشند. اين نوع کارت ها دارای مزايای امنيتی زير می باشند :
گواهينامه های ديجيتال توسط مراکز مجاز و معتبر ( CA) صادر و از آنان به منظور حصول اطمينان از شناسائی online موجوديت های متفاوت نظير افراد ، سايت ها و يا کامپيوترها ، استفاده می گردد . يک گواهينامه ديجيتال شامل اطلاعات متفاوتی در ارتباط با تشخيص هويت مالک آن بوده تا بتواند وی را به عنوان يک موجوديت بر روی شبکه ، شناسائی نمايد . گواهينامه ديجيتال يک ساختمان داده تعريف شده بر اساس استاندارد X.509 می باشد . در اين ساختمان داده اطلاعات متنوعی ذخيره می گردد. يک CA ، از کليد خصوصی خود به منظور شناسائی و تائيد گواهينامه های صادر شده توسط خود ، استفاده می نمايد . يکی از اطلاعات مهمی که در ساختمان داده فوق ، قرار می گيرد ، امضای ديجيتال مربوط به CA می باشد . CA ، يک مقدار Hash را در ارتباط با گواهينامه صادر شده ، ايجاد و آن را با استفاده از کليد خصوصی خود رمز و در نهايت آن را در گواهينامه صادر شده قرار می دهد . هر يک از کاربران می توانند به منظور اطمينان از معتبر بودن گواهينامه ديجيتالی صادر شده ، از تابع hash به همراه کليد عمومی CA استفاده نمايند. PKI ( زيرساخت کليد عمومی ) ، از فرمت X.509 نسخه شماره سه گواهينامه ديجيتال استفاده می نمايد . شکل زير ساختار اطلاعات موجود در گواهنيامه ديجيتال را با استفاده از فرمت X.509 نشان می دهد .
استفاده از گواهينامه های ديجيتال ، اعتبار يک کليد عمومی و انتساب آن به يک فرد معتبر را امکان پذير می نمايد. بدين ترتيب وضعيت مديريت کليد بهبود يافته و گيرندگان گواهينامه های ديجيتال قادر به تائيد CA ، با توجه به آگاهی از کليد عمومی آن می باشند. گيرندگان گواهينامه های ديجيتال ، در مقابل اينکه از کليدهای عمومی متعلق به تمامی کاربران آگاهی داشته باشند ، با آگاهی از صرفا" يک کليد عمومی (مربوط به CA ) ، قادر به تائيد هويت ارسال کنندگان اطلاعات ،خواهند بود.
مراکز CA ، دارای ويژگی های زير می باشند :
مشاهده گواهينامه های ديجيتال
برای مشاهده آخرين وضعيت گواهينامه های ديجيتال بر روی سيستم خود ، برنامه IE را فعال نموده و از طريق منوی Tools گزينه Internet Options را فعال و درادامه با انتخاب Content Tab و فعال نمودن Certificate می توان از وضعيت گواهينامه های ديجيتال ، آگاهی يافت .
در بخش سوم اين مقاله به بررسی پروتکل SSL ، خواهيم پرداخت
** دارالولایه **