پرداختن به مقوله امنيت در برنامه هاي وب با توجه به ماهيت اين نوع از برنامه ها و جايگاه آنان در ارائه سرويس ها و خدمات پيشرفته اي همچون تجارت الکترونيکي بسيار حايز اهميت است . زمانيکه در رابطه با امنيت برنامه هاي وب بحث مي شود، مي بايست بر روي دو محور اساسي متمرکز گرديد:
• با استفاده از چه مکانيزمهائي مي توان دستيابي کاربران به يک برنامه را کنترل و پس از شناسائي آنان ، امکان استفاده از برنامه را براي کاربران تائيد شده و متناسب با سطح دستيابي فراهم نمود؟
• برخي از برنامه هاي وب ، اطلاعات حساس متعددي را از طريق محيط انتقال و زير ساخت ايجاد شده ، ارسال و يا دريافت مي دارند . در اين رابطه از چه نوع مکانيزمهائي مي بايست استفاده گردد تا اين اطمينان حاصل شود که اطلاعات حساس ارسالي (نظير اطلاعات مربوط به کارت هاي اعتباري ) ، توسط افراد غير مجاز قابل خواندن نبوده و امکان دستکاري آنان نيز وجود نداشته باشد.دريافت کننده اطلاعات، مي بايست از صحت اطلاعات ارسالي،اطمينان حاصل نمايد . اين نوع از برنامه هاي وب ، نيازمند استفاده از يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده مي باشند . وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده در برنامه ها ي وب تجاري و يا سايت هائي که بر روي آنان کالا و يا خدماتي عرضه مي گردد ، بسيار حائز اهميت بوده و از موارد حياتي در موفقيت آنان محسوب مي گردد .
در مجموعه مقالاتي که با عنوان "امنيت برنامه هاي وب " ارائه گرديد، اولين محور امنيتي در رابطه با برنامه هاي وب ، بررسي و در اين راستا با تمرکز بر روي پلت فرم دات نت مايکروسافت ، با روش هاي پياده سازي آن در برنامه هاي وب دات نت ، آشنا شديم . در مجموعه مقالاتي که ارائه خواهد شد ، به بررسي محور دوم امنيت در برنامه هاي وب خواهيم پرداخت . در اين رابطه لازم است در ابتدا با ملزومات لازم به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده آشنا شده و در ادامه به بررسي نحوه پياده سازي يک ارتباط ايمن در برنامه هاي وب دانت نت ، خواهيم پرداخت .
ضرورت ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده
همانگونه که اشاره گرديد ، برخي از برنامه هاي وب ، اطلاعات حساسي را از سرويس گيرنده اخذ و در ادامه ، اطلاعات دريافتي بر اساس زيرساخت موجود براي سرويس دهنده ارسال مي گردد. سرويس گيرنده نيز ممکن است اطلاعات حساسي را ( اغلب به منظور تائيد دريافت ) براي سرويس گيرنده ارسال نمايد . بنابراين اين نوع از برنامه ها نيازمند وجود يک کانال ارتباطي ايمن به منظور مبادله اطلاعات مي باشند . به منظور آشنائي بيشتر با اهميت و جايگاه يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، به بررسي تجارت الکترونيکي و از زاويه برنامه هاي وب و ارتباطات ايمن ، اشاره مي گردد .
اينترنت فرصتي استثنائي و طلائي را براي سازمان ها و موسسات ارائه دهنده کالا و يا خدمات فراهم نموده است که بتوانند با استفاده از زيرساخت موجود ، خدمات و يا کالاي خود را در اخيتار متقاضيان و در عرصه جهاني قرار دهند .حجم فروش online در سال 2002 ، نشاندهنده رشد چشمگير تجارت الکترونيکي است : امريکا 47 / 43 ميليارد دلار ، اروپا 29 / 28 ميليارد دلار ، آسياي جنوب شرقي 15 ميليارد دلار ، امريکاي لاتين 3 / 2 ميليارد دلار و افريقا ، 4 ميليون دلار . بر اساس گزارش DoC)Department of Commerce) امريکا ، فروش Online در سه ماهه چهارم سال 2002 بالغ بر 33 / 14 ميليارد دلار بوده که نسبت به مدت مشابه در سال 2001 ، بيش از 2 / 28 درصد رشد و نسبت به سه ماهه سوم سال 2002 ، بيش از 3 / 29 درصد را داشته است .
عليرغم وجود مزايا و فرصت هاي تجاري online ، در اين رابطه چالش ها و مسائل خاصي وجود داشته که مي بايست به دقت بررسي و راهکار مناسب براي آنان انتخاب گردد. بر اساس مطالعه اي که توسط موسسه Yankelovich Partners ، انجام شده است ، هشتاد و پنج درصد افراد شرکت کننده درنظر سنجي ، به اين موضوع اشاره داشته اند که آنان اطمينان لازم در خصوص ارسال شماره کارت اعتباري خود را در اينترنت ندارند. خريداران صرفا" پس از حصول اطمينان از وجود امنيت لازم ، اقدام به ارسال اطلاعات و خريد کالا و يا خدمات از طريق وب سايت ها ي مربوطه مي نمايند. بديهي است شرط اوليه موفقيت سايت هاي تجاري Online ، افزايش ضريب اعتماد کاربران مي باشد .در اين راستا، ايجاد يک زيرساخت ارتباطي ايمن ، جايگاه و اهميت خاص خود را پيدا مي کند . به منظور ايمن سازي تجارت الکترونيکي ، مي بايست از يک زيرساخت قابل اعتماد و ايمن ، استفاده گردد.
با استفاده از رمزنگاري PKI) Public Key Infrastructure ) و تکنولوژي امضاي ديجيتالي از طريق گواهينامه هاي ديجتالي SSL) Secure Sockets Layer) ، امکان تائيد کاربران ، پيوستگي و انسجام داده ها ، حصول اطمينان از عدم خواندن و يا دستکاري اطلاعات ارسالي و ساير ملزومات امنيتي لازم در خصوص تجارت الکترونيکي، فراهم مي گردد .به منظور ايجاد يک زيرساخت ايمن براي فعاليت هاي تجاري ، به دو عنصر مهم زير نياز مي باشد :
• گواهينامه هاي ديجيتالي براي سرويس دهندگان وب تا امکان تائيد ، پيوستگي و محرمانگي اطلاعات در زمان رمزنگاري ، فراهم گردد .
• يک سيستم مديريت پرداخت online ايمن که امکان فعاليت هاي تجاري online را براي وب سايت هاي مربوطه فراهم و بصورت اتوماتيک درخواست ها را مديريت نمايد (دريافت ، پردازش ، پرداخت ) .
در ادامه با عناصر لازم به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، آشنا خواهيم شد .
رمزنگاري کليد عمومي و گواهينامه ديچِيتالي
رمزنگاري کليد عمومي و سيستم زيربنائي SSL از جمله ملزومات مورد نياز براي هر زيرساخت مطمئن در تجارت الکترونيکي مي باشند. رمزنگاري ، فرآيندي است که در آن اطلاعات بگونه اي تبديل مي گردند که براي تمامي افراد ( به غير از گيرندگان تائيد شده )، نامفهوم و عملا" غيرقابل استفاده باشند . در فرآيند فوق ، از فرمول هاي رياضي (الگوريتم هاي رمزنگاري ) و اعداد ( کليد ) ، به منظور رمزنگاري و رمزگشائي اطلاعات استفاده مي گردد .
رمزنگاري کليد خصوصي ( private key )
منداولترين نوع رمزنگاري مبتني بر کليد ، رمزنگاري "کليد خصوصي" است . به اين نوع رمزنگاري ، متقارن ، سنتي ، رمز مشترک ، کليد رمز ، نيز گفته مي شود . در اين نوع رمزنگاري ، فرستنده و گيرنده از کليد استفاده شده به منظور رمزنگاري اطلاعات ، آگاهي دارند. رمزنگاري کليدخصوصي ، گزينه اي مناسب به منظور مبادله اطلاعات بر روي اينترنت و يا ذخيره سازي اطلاعات حساس در يک بانک اطلاعاتي ، ريجستري و يا يک فايل مي باشد . از روش فوق ، به منظورايمن سازي ارسال اطلاعات در شبکه هاي عمومي استفاده مي گردد ( از گذشته تا کنون ) . ايده اوليه و اساسي در چنين سيستم هائي ، "اشتراک يک رمز" بوده و دو گروه شرکت کننده در مبادله اطلاعات ، بر روي يک "کليد رمزمشترک " ، با يکديگر توافق مي نمايند. بدين ترتيب امکان رمزنگاري و رمزگشائي پيام ها براي هر يک از آنان با توجه به آگاهي از "کليد رمز " ، فراهم مي گردد .
رمزنگاري متقارن و يا کليد خصوصي داراي چندين نقطه ضعف مي باشد. مبادله کليدهاي رمز در شبکه هاي بزرگ امري دشوار و مشکل است .علاوه بر اين ، اشتراک کليدهاي رمز ، مستلزم اين واقعيت است که فرستندگان و گيرندگان مي بايست معتبر بوده و قبل از برقراري ارتباط ، آشنائي لازم را نسبت به يکديگر داشته باشند( با تمام افراديکه قصد ارتباط ايمن با آنان وجود داشته باشد ) . همچنين ، اين نوع سيستم هاي رمزنگاري ، نيازمند استفاده از يک کانال ايمن به منظور توزيع کليدهاي " رمز" مي باشند . در صورتيکه چنين کانال ايمني وجود داشته باشد ، چرا از آن به منظور ارسال تمامي پيام رمز استفاده نشود ؟ درسيستم هاي مبتني بر وب که داراي تعاملات گذرا و کاربران متعددي مي باشند، به امکانات قدرتمندتري در ارتباط با رمزنگاري نياز خواهد بود.بنابراين ، رمزنگاري مبتني بر کليد، عملا" به منظورايجاد يک ارتباط ايمن به تنهائي کافي نخواهد بود. توزيع و عرضه کليد ( يکي از مسائل مهم در ارتباط با مديريت کليد ) ، از جمله مسائل مهم و درعين حال موثر به منظور شناخت سيستم هاي رمزنگاري جديد مي باشد. رمزنگاري کليد خصوصي داراي نقشي مهم در پروتکل SSL است( به همراه رمزنگاري کليد عمومي نامتقارن ) .
رمزنگاري کليد عمومي ( Public Key )
رمزنگاري کليد عمومي که از آن با نام رمزنگاري نامتقارن نيز ياد مي گردد ، داراي يک تفاوت مهم با رمزنگاري کليد خصوصي است . رمزنگاري کليد عمومي از دو کليد متفاوت استفاده مي نمايد : يک کليد براي رمزنگاري و کليدي ديگر براي رمزگشائي . در رمزنگاري کليد خصوصي ، فرض بر اين است که فرستنده و گيرنده داراي آگاهي لازم دررابطه با کليد استفاده شده در فرآيند رمزنگاري مي باشند . در رمزنگاري کليد عمومي ، با استفاده از يک روش کاملا" ايمن يک کليد براي ارسال کننده اطلاعات ايجاد و وي با استفاده از کليد فوق ، اقدام به رمزنگاري و ارسال پيام رمز شده براي گيرنده مي نمايد . امکان رمزگشائي پيام رمز شده صرفا" توسط دريافت کننده ، امکان پذير خواهد بود. در رمزنگاري کليد عمومي ، سيستم يک زوج کليد خصوصي و عمومي ايجاد مي نمايد . کليد عمومي براي شخصي که از آن به منظور رمزنگاري يک پيام استفاده مي نمايد ، ارسال مي گردد. وي پس از رمزنگاري پيام با استفاده از کليد عمومي که دراختيار دارد ، پيام رمز شده را ارسال مي نمايد . دريافت کننده با استفاده از کليد خصوصي ، اقدام به رمزگشائي پيام مي نمايد .( ماهيت کليد خصوصي استفاده شده در رمزنگاري کليد عمومي ، مشابه کليد خصوصي استفاده شده در رمزنگاري کليد خصوصي نمي باشد ) .حتي اگر يک فرد مزاحم ، به کليد عمومي دستيابي پيدا نمايد وي نمي تواند با استفاده از آن اقدام به رمزگشائي پيام رمز شده نمايد ، چراکه رمزگشائي پيام ، صرفا" با استفاده از کليد خصوصي امکان پذير مي باشد . برخلاف رمزنگاري کليد خصوصي ، کليد هاي استفاده شده در رمزنگاري کليد عمومي چيزي بمراتب بيشتر از رشته هاي ساده مي باشند . کليد در اين نوع رمزنگاري داراي يک ساختار خاص با هشت فيلد اطلاعاتي است : از دو فيلد آن به منظور رمزنگاري با استفاده از کليد عمومي استفاده مي گردد و شش فيلد ديگر به منظور رمزگشائي پيام با استفاده از کليد خصوصي مورد استفاده قرار مي گيرد. در سيستم رمزنگاري کليد عمومي با توجه به عدم ضرورت مبادله رمز مشترک ، اولين مسئله در مديريت کليد برطرف مي گردد. رمزنگاري کليد عمومي ، شامل مراحل زير است :
• مرحله اول : وب سايت مورد نظر ، يک زوج کليد عمومي و خصوصي را ايجاد مي نمايد .
• مرحله دوم : وب سايت موردنظر ، کليد عمومي را براي کاربر ارسال مي نمايد .
• مرحله سوم : کاربر از کليد عمومي به منظور رمزنگاري داده مورد نظر خود استفاده مي نمايد ( مثلا" شماره کارت اعتباري)
• مرحله چهارم : کاربر پيام رمز شده ( در اين مثال عدد رمز شده ) را براي سرويس دهنده ارسال مي نمايد .
• مرحله پنجم : سرويس دهنده با استفاده از کليد خصوصي ، پيام رمز شده دريافتي را رمزگشائي مي نمايد .
سيستم هاي مدرن رمزنگاري : يک رويکرد ترکيبي
در سيستم هاي جديد رمزنگاري از ترکيب رمرنگاري مبتني بر کليد عمومي و کليد خصوصي ، استفاده مي گردد. هر يک از روش هاي فوق داراي مزاياي خاص خود بوده که با استفاده و ترکيب مزاياي موجود در هر يک مي توان يک مدل جديد رمزنگاري را ايجاد نمود. حجم عمليات محاسباتي در مدل رمزنگاري کليد عمومي بالا مي باشد ( در مقايسه با مدل رمزنگاري کليد خصوصي ) . با توجه به سرعت مناسب مدل رمزنگاري کليد خصوصي ( متقارن ) در رابطه با حجم گسترده اي از اطلاعات ، در سيستم هاي رمزنگاري پيشرفته ، عموما" از مدل رمزنگاري کليد عمومي به منظور عرضه کليد استفاده شده و در ادامه از مدل رمزنگاري خصوصي به منظور رمزنگاري حجم بالائي از اطلاعات استفاده مي گردد . از سيستم هاي پيشرفته رمزنگاري در پروتکل SSL و به منظور ايمن سازي تراکنش هاي وب و يا ايمن سازي مدل نامه هاي الکترونيکي نظير S/MIME که در محصولاتي نظير مرورگر نت اسکيپ و IE پيش بيني شده است ، استفاده مي گردد .
مسئله مديريت کليد
در هر سيستم رمزنگاري ،مجموعه اي از مسائل عملي و سوالات مختلف در رابطه با وجود امنيت لازم ، ميزان اعتماد پذيري سيستم و رعايت حريم اطلاعات خصوصي ، مطرح مي گردد. روش هاي رمزنگاري کليد عمومي و خصوصي که به آنان اشاره گرديد، داراي امکانات لازم به منظور پاسخگوئي وارائه اطمينان لازم در خصوص امنيت اطلاعات مي باشند . مثلا" مرورگرهاي وب از کليد عمومي يک وب سايت به منظور ارسال شماره کارت اعتباري برروي وب استفاده مي نمايند . با روشي مشابه ، شخصي که به فايل ها و يا اطلاعات حفاظت شده و رمز شده دستيابي پيدا مي نمايد ، مي تواند با استفاده از يک کليد خصوصي ، اقدام به رمزگشائي آنان نمايد . در عمل ، هر يک از مسائل فوق ، نيازمند استفاده از يک کليد عمومي تضمين شده بوده که با استفاده از آن صحت عمليات رمزنگاري بين دو طرف درگير در فرآيند رمزنگاري تضمين و امکان دخالت افراد غير مجاز نيز سلب گردد . رويکرد فوق ، سوالات متنوع ديگري را ذهن ايجاد مي نمايد :
• چگونه مي توان اطمينان حاصل نمود که کليد عمومي استفاده شده توسط مرورگر به منظور ارسال اطلاعات کارت اعتباري ، همان کليد عمومي مورد نظر وب سايت دريافت کننده اطلاعات کارت اعتباري مي باشد؟ ( کليد عمومي تقلبي نباشد ) .
• چگونه مي توان با اطمينان اقدام به مبادله کليدهاي عمومي خود براي متقاضيان نمود تا آنان با استفاده از آن اقدام به رمزنگاري و ارسال اطلاعات نمايند ؟
به منظور پاسخگوئي به اين نوع از سوالات و رفع نگراني هاي موجود ، مي بايست فرآيند نسبت دهي يک کليد عمومي ( يک ارتباط ايمن با يک کليد عمومي ، آغاز مي گردد) به يک entity ( يک شي دلخواه که در يک تراکنش فعاليت دارد ) بصورت ايمن و مطمئن انجام شود ( Secure Binding ) .
براي ايجاد امنيت به چهار مولفه نياز مي باشد : رمزنگاري ، الگوريتم هاي Hash ، امضاي ديجيتال و گواهينامه هاي ديجيتال
رمزنگاري ، فرآيندي است که هدف اصلي آن تبديل اطلاعات بگونه اي است که براي تمامي افراد بجزء افراد تائيد شده ، اطلاعات نامفهوم و عملا" غيرقابل استفاده باشد . در فرآيند فوق ، از فرمول هاي رياضي (الگوريتم هاي رمزنگاري ) و اعداد ( کليد ) ، به منظور رمزنگاري و رمزگشائي اطلاعات استفاده مي شود . الگوريتم هاي رمزنگاري به دو گروه عمده تقسيم مي گردند :
• الگوريتم هاي محدود : در اين نوع الگوريتم ها ، محور امنيت اطلاعات بر محرمانه نگه داشتن الگوريتم استفاده شده در فرآيند رمزنگاري استوار است .
• الگوريتم هاي مبتني بر کليد : در اين نوع الگوريتم ها ، کليد محرمانه تلقي شده و الگوريتم مي تواند در دسترس عموم باشد . در اين رابطه از دو مدل رمزنگاري عمده استفاده مي گردد :
کليد خصوصي ( متقارن ) : فرستنده و گيرنده از يک کليد يکسان به منظور رمزنگاري و رمزگشائي استفاده مي نمايند .
کليد عمومي ( نامتقارن ) : به ازاي هر کاربر از دو کليد استفاده مي شود. يکي از کليدها عمومي بوده و در دسترس همگان قرار داشته و کليد دوم بصورت محرمانه مي باشد.
ويژگي مدل رمزنگاري کليد خصوصي
• رمزنگاري و رمزگشائي داده با استفاده از کليد يکساني انجام مي شود .
• تمامي کاربراني که در يک گروه عضويت داشته و قصد اشتراک داده را بين خود دارند ، مي بايست داراي کليد يکساني باشند .
• در صورتيکه يک کليد د چار مشکل گردد ( لورفتن ) ، تمامي کليد ها مي بايست تعويض و با کليدي جديد جايگزين گردند .
• مهمترين مسئله در ارتباط با اين مدل رمزنگاري ، عدم وجود امنيت لازم به منظور توزيع کليد است .
ويژگي مدل رمزنگاري کليد عمومي
• عدم استفاده از کليدهاي مشابه
• هر کاربر داراي يک زوج کليد ( عمومي ، خصوصي ) مي باشد . از کليد عمومي به منظور رمزنگاري داده و از کليد خصوصي به منظور رمزگشائي داده استفاده مي گردد.
• اين مدل رمزنگاري تقريبا" 500 مرتبه کندتر از رمزنگاري کليد خصوصي ( متقارن ) است .
• از مدل رمزنگاري عمومي به منظور مبادله کليد خصوصي و امضاي ديجيتال استفاده مي شود .
Hash
يک Hash که به آن Checksum ، پيام Digest و يا اثرانگشت ، نيز گفته مي شود ، فرآيندي است که بصورت رياضي حجم يک جريان از داده را به يک طول ثابت کاهش مي دهد ( معمولا" 128 و يا 160 بيت ) . عملکرد hash ، مشابه اثرانگشت يک شخص مي باشد. اثرانگشت ، پارامتري منحصربفرد به منظور تشخيص هويت افراد بوده و در ادامه با استفاده از آن امکان دستيابي به ساير مشخصات افراد نظير : رنگ چشم ، قد ، جنسيت و ساير موارد دلخواه ، فراهم مي گردد . اکثر توابع Hash از لحاظ رمزنگاري داراي عملکردي مشابه توابع رمزنگاري مي باشند . در حقيقت ، برخي توابع hash صرفا" تغييرات اندکي را در توابع رمزنگاري ايجاد نموده اند . اکثر عمليات با دريافت يک بلاک از داده شروع و در ادامه با استفاده از يک فرآيند تکرارشونده و بکارگيري يک الگوريتم رمزنگاري ، تغييرات لازم در ارتباط با بيت ها ، اعمال مي شود. hash ، داراي ويژگي هاي مهم زير مي باشد :
• امکان استنتاج ورودي از طريق خروجي وجود ندارد .
• نمي توان دو ورودي را پيدا کرد که به ازاي آنان خروجي يکساني توليد گردد : احتمال توليد مقادير Hash يکسان براي دو مجموعه متفاوت از داده ها کمتر از 001 . / درصد است .
الگوريتم هاي hashing ، از يک تابع ايمن رمزنگاري نظير Message Digest 5)MD5) و يا Secure Hash Algoritm)SHA) به منظور توليد يک مقدار Hash مرتبط با داده ورودي استفاده مي نمايند . Hash ، يک نوع خاص از رمزنگاري يک طرفه است . برخي افراد ، hashing را به عنوان يک مدل رمزنگاري تلقي مي نمايند . Hashing عملا" يک مدل رمزنگاري نمي باشد چراکه Hash نمي تواند رمزگشائي گردد ( بدست آوردن مقدار ورودي با اسنتاد و آناليز مقدار خروجي ) .
امضاي ديجيتال
امضاي ديجيتال ، ماحصل رمزنگاري مقدار Hash داده مبادله شده بوده و روشي ايمن به منظور امضاي الکترونيکي اطلاعات با استفاده از کدها ويا علائمي است که از لحاظ الکترونيکي معادل يک امضاي دستي مي باشند. امضاي ديجيتالي، مبتني بر ترکيب ايده سنتي Hashing داده و رمزنگاري کليد عمومي است .يک مرکز معتبر صدور گواهينامه هاي ديجيتال ، گواهينامه هاي ديجيتالي صادرشده را به کليدهاي عمومي مربوط به هر يک نسبت مي دهد . فرآيند امضاء ، مخالف فرآيند رمزنگاري است : از کليد خصوصي به منظور رمزنگاري Hash و از کليد عمومي براي بررسي صحت امضاء ( رمزگشائي ) استفاده مي شود .
فرآيند امضاي داده توسط فرستنده پيام :
• دريافت پيام اوليه و محاسبه يک مقدار Hash با استفاده از يک الگوريتم hashing
• رمزنگاري Hash توسط يک تابع رمزنگاري و اعمال کليد خصوصي توسط فرستنده پيام ( پيام اوليه به همراه مقدار Hash رمز شده ، يک پيام ديجيتالي امضاء شده را تشکيل مي دهند ) .
• ارسال پيام ديجيتالي امضاء شده براي گيرنده
فرآيند بررسي صحت امضاء ارسالي همراه داده :
• پس از دريافت پيام توسط گيرنده ، در ابتدا ، Hash رمز شده با استفاده از کليد عمومي فرستنده رمزگشائي مي گردد ( Hash رمزگشائي شده ) .
• محاسبه محلي مقدار Hash پيام ارسالي با استفاده از يک الگوريتم Hashing
• مقايسه نتايج بدست آمده در مراحل قبل : Hash رمزگشائي شده با مقدارمحلي 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 نسخه شماره سه گواهينامه ديجيتال استفاده مي نمايد .
• شماره نسخه : شماره نسخه فرمت گواهينامه را نشان مي دهد ( مثلا" نسخه شمار ه سه )
• شماره سريال گواهنيامه : يک شماره سريال منحصربفرد که توسط CA ، در نظر گرفته شده تا در ادامه امکان رديابي آن و باطل نمودن آن وجود داشته باشد.
• شناسه الگوريتم گواهينامه : الگوريتم هاي رمزنگاري کليد عمومي و hashing که مراکز CA از آنان به منظور تائيد ديجيتالي گواهينامه ها استفاده مي نمايند .
• مرکز صادر کننده : نام مرکز صادرکننده CA را مشخص مي نمايد.
• مدت اعتبار : تاريخ شروع و سررسيد گواهينامه را مشخص مي نمايد .
• Subject : نام مالک گواهينامه را مشخص مي نمايد.
• اطلاعات کليد عمومي subject : کليد عمومي و ليستي از الگوريتم هاي رمزنگاري کليد عمومي را مشخص مي نمايد .
• شناسه منحصربفرد صادرکننده : اطلاعات اختياري که در صورت ضرورت بصورت منحصربفرد اطلاعات صادرکننده را مشخص مي نمايد .
• شناسه منحصربفرد مالک گواهينامه : اطلاعات اختياري که در صورت ضرورت بصورت منحصربفرد اطلاعات صاحب گواهينامه را مشخص مي نمايد .
• ضمائم : اطلاعات اضافه اي که زير ساخت PKI درصورت ضرورت استفاده مي نمايد.
• امضاي ديجيتال مجاز گواهينامه : امضاي ديجيتالي CA که در آخرين مرحله ايجاد گواهينامه ، توليد مي گردد .
استفاده از گواهينامه هاي ديجيتال ، اعتبار يک کليد عمومي و انتساب آن به يک فرد معتبر را امکان پذير مي نمايد. بدين ترتيب وضعيت مديريت کليد بهبود يافته و گيرندگان گواهينامه هاي ديجيتال قادر به تائيد CA ، با توجه به آگاهي از کليد عمومي آن مي باشند. گيرندگان گواهينامه هاي ديجيتال ، در مقابل اينکه از کليدهاي عمومي متعلق به تمامي کاربران آگاهي داشته باشند ، با آگاهي از صرفا" يک کليد عمومي (مربوط به CA ) ، قادر به تائيد هويت ارسال کنندگان اطلاعات ،خواهند بود.
مراکز CA ، داراي ويژگي هاي زير مي باشند :
• در صورت تائيد CA صادرکننده گواهينامه توسط کاربر ، امکان تائيد گواهينامه نيز وجود خواهد داشت .
• مسئوليت تائيد و معتبرسازي تمامي مشترکين
• مسئوليت صدور و مديريت گواهينامه ها ( درخواست هاي ارسالي توسط نامه الکترونيکي و يا اينترفيس هاي وب ) .
• مسئوليت ابطال و يا تمديد گواهينامه هاي صادر شده
• مسئوليت ايجاد سياست ها و رويه ها
• چندين CA مي تواند در يک ساختار سلسله مراتبي وجود داشته باشد. در صورتيکه CA ريشه معتبر شناخته گردد، هر يک از مراکز CA در سطوح پائين تر نيز معتبر شناخته خواهند ش.د
مشاهده گواهينامه هاي ديجيتال
براي مشاهده آخرين وضعيت گواهينامه هاي ديجيتال بر روي سيستم خود ، برنامه IE را فعال نموده و از طريق منوي Tools گزينه Internet Options را فعال و درادامه با انتخاب Content Tab و فعال نمودن Certificate مي توان از وضعيت گواهينامه هاي ديجيتال ، آگاهي يافت .
انتقال اطلاعات حساس بر روي يک شبکه مستلزم بکارگيري مکانيزمي است که سه ويژگي زير را تضمين نمايد:
• امنيت : داده ارسالي نمي بايست توسط افراد غير مجاز، استفاده ( خواندن ) گردد .
• هويت : افراد شرکت کننده در ارتباط همان افرادي مي باشند که ادعا مي نمايند .
• غيرجعلي بودن اطلاعات : داده دريافت شده در مقصد با داده ارسال شده در مبداء يکسان بوده و اطلاعات دستکاري نشده باشد.
تکنولوژي هائي که يک ارتباط ايمن را ارائه مي نمايند ، مي بايست مبتني بر مکانيزمي باشند که سه ويژگي فوق را تضمين نمايند . اينگونه تکنولوژي ها ، عموما" از الگوريتم هاي رمزنگاري استفاده نموده و با رمز نمودن اطلاعات ، عملا" امکان رمزگشائي و دستيتابي به داده اوليه توسط افراد غير مجاز را سلب مي نمايند. يکي از بهترين الگوريتم هاي رمزنگاري در حال حاضر ، " رمزنگاري کليد نامتقارن ( کليد عمومي ) " است . نحوه عملکرد اين مدل رمزنگاري ساده بوده ولي در آن از الگوريتم هاي پيچيده رياضي استفاده شده است .مدل رمزنگاري فوق ، قادر به تامين سه ويژگي اشاره شده مي باشد . در ادامه با اين مدل رمزنگاري بيشتر آشنا شده و نحوه برخورد آن در جهت تامين هر يک از ويژگي هاي فوق را بررسي مي نمائيم .
رمزنگاري کليد عمومي ( نامتقارن )
فرض کنيد دو کاربر قصد مبادله اطلاعات بر روي يک شبکه را با استفاده از يک روش ايمن داشته باشند . گيرنده داراي دو کليد است که از لحاط رياضي به نوعي با يکديگر مرتبط شده اند. کليد ، نوع خاصي از داده است که امکان رمزنگاري و يا رمزگشائي داده را فراهم مي نمايد. دوکليد فوق داراي يک ارتباط و وابستگي خاص با يکديگر مي باشند . در صورتيکه داده با استفاده از يکي از آنان رمز گردد ، صرفا" با استفاده از کليد دوم ، امکان رمزگشائي داده رمز شده و بازيابي اطلاعات اوليه ، وجود خواهد داشت ( و بالعکس ) . کليدي که معمولا" بين کاربران مبادله مي گردد ، " کليد عمومي" و کليدي که نزد افراد نگهداري مي گردد ، " کليد خصوصي" ، ناميده مي شود.
دريافت کننده ،کليد خصوصي خود را هرگز آشکار ( فاش کردن ) نمي نمايد ولي مي تواند در صورت تمايل کليد عمومي خود را در اختيار افراد ديگر قرار دهد . در صورتيکه شخصي (فرستنده ) قصد ارسال داده محرمانه براي شخص ديگري (گيرنده) را داشته باشد ، وي در ابتدا اطلاعات را با استفاده از کليدعمومي گيرنده، رمز و در ادامه اطلاعات رمز شده را براي گيرنده ارسال مي نمايد. صرفا" فردي ( يک گيرنده ) که داراي کليد خصوصي مرتبط با کليد عمومي استفاده شده در مبداء به منظور رمزنگاري مي باشد ، قادر به رمزگشائي اطلاعات خواهد بود .
رمزنگاري کليد عمومي و امنيت
روش رمزنگاري کليد عمومي ، مبتني بر رابطه رياضي بين کليدهاي عمومي و خصوصي بوده و داراي قدرت مناسب و تضمين لازم در خصوص ارائه امنيت بالا در مقابل تهاجمات اطلاعاتي است .ارتباط رياضي بين کليد عمومي و خصوصي بسيار پيچيده مي باشد . رابطه موجود مبتني بر مضرب اعداد بزرگ است . مضرب استفاده شده يک عدد دويست رقمي مي باشد که با توجه به امکانات سخت افزاري موجود به چهار ميليارد سال زمان به منظور تشخيص ارتباط موجود بين دو کليد ، نياز مي باشد( با اين فرض که زمان اجراي هر دستورالعمل يک ميکروثانيه در نظر گرفته شود) . همانگونه که ملاحظه مي گردد امنيت روش رمزنگاري فوق ، بسيار بالا مي باشد.رمزنگاري کيلد عمومي، زيرساخت اساسي و اوليه در يک ارتباط ايمن بر روي يک شبکه را فراهم نموده و از آن در پروتکل هاي ارتباطي ايمن نظير SSL)Secure Socket Layer) استفاده مي گردد. پروتکل SSL ، يک مدل handshake امنيتي است که از آن به منظور ارائه يک ارتباط ايمن بين سرويس دهنده و سرويس گيرنده ، استفاده مي گردد .
رمزنگاري کليد عمومي و تشخيص هويت
رمزنگاري کليد عمومي عليرغم دارا بودن پتانسيل لازم در خصوص ايجاد يک ارتباط ايمن ،تضمين لازم در خصوص اينکه فرستنده همان شخصي است که ادعا مي نمايد را ارائه نمي نمايد .در چنين وضعيتي ، به مدلي به منظور بررسي و تائيد هويت افراد ، نياز مي باشد.فرض کنيد شما نامه اي الکترونيکي را از شخصي دريافت نموده ايد که مي دانيد متعلق به يکي از دوستانتان است . به منظور ممانعت از خواندن متن نامه توسط افراد غير مجاز ، از مدل رمزنگاري کليد عمومي که به آن اشاره گرديد ، استفاده مي گردد. بدين ترتيب اطمينان لازم در خصوص عدم خواندن اطلاعات محرمانه شما توسط ساير افراد، حاصل مي گردد. اما يک سوال باقي مي ماند و آن اينکه چگونه مطمئن مي گرديد که نامه ارسالي ، توسط دوست شما ارسال شده است ؟ کليد عمومي شما مي تواند توسط هر شخص ديگر دريافت گردد و چنين شخصي مي تواند خود را به عنوان دوست شما قلمداد نموده و يک نامه جعلي را براي شما ارسال نمايد . در چنين مواردي ، تشخيص هويت و شناسائي فرد ارسال کننده پيام بسيار حائز اهميت مي باشد . صرفا" با حصول اطمينان از شناسائي و تائيد فرد ارسال کننده است که مي توان به صحت نامه ارسال شده ، اطمينان نمود .
موضوع فوق ، يکي از مسائل اساسي و مهم در برنامه هاي وب تجارت الکترونيکي محسوب مي گردد . در چنين برنامه هاي تشخيص و شناسائي افراد درگير در يک ارتباط بسيار حائز اهميت مي باشد . کاربران تمايل دارند که از سايت هائي کالائي را خريداري نمايند که نسبت به هويت و معتبر بودن آنان اطمينان لازم وجود داشته باشد و فروشندگان نيز مي بايست اطمينان حاصل نمايند که مشتريان و خريداران آنان ، دقيقا" همان افرادي مي باشند که ادعا مي نمايند . به عبارت ديگر ، هويت خريداران کالا و يا خدمات مي بايست قبل از خريد ،شناسائي و تائيد گردد . مسئله تشخيص هويت مي تواند به به ساير موارد نيز تعميم يابد که در آن هدف تشخيص هويت فردي است که قفصد مبادله اطلاعات با آن وجود دارد . تشخيص هويت ، مکانيزمي به منظور شناسائي يک فرد ، سازمان ، شرکت و يا موسسه مي باشد . در حقيقت از اين طريق يک موجوديت واقعي نظير انسان و يا يک شرکت به يک موجوديت اينترنتي نظير يک وب سايت ، يک مرورگر وب و يا يک برنامه پست الکترونيکي ، مپ مي گردد .
دراين رابطه و به منظور ارائه راهکار مناسب در جهت تشخيص هويت وشناسائي افراد درگير در يک ارتباط ، مي توان از همان روش رمزنگاري کليد عمومي (نامتقارن) که در بخش قبل به آن اشاره گرديد، استفاده نمود. چيزي که با استفاده از کليد عمومي رمز مي شود را مي توان صرفا" با استفاده از کليد خصوصي رمزگشائي نمود. عکس حالت فوق نيز صادق است . يعني چيزي که با استفاده از کليد خصوصي رمز مي شود را مي توان صرفا" با استفاده از کليد عمومي رمزگشائي نمود. بنابراين با تعويض نقش زوج کليد ( عمومي ، خصوصي ) مي توان مکانيزمي را به منظور بررسي و تشحيص هويت افراد ايجاد نمود. فرستنده ، اقدام به ارسال پيامي مي نمايد که با استفاده از کليد خصوصي خود آن را رمز نموده است ، گيرنده با استفاده از کليد عمومي فرستنده ، قادر به رمزگشائي پيام ارسالي مي باشد . بدين ترتيب اطمينان لازم در خصوص دريافت پيام از صاحب واقعي مرتبط با کليد خصوصي ، فراهم مي گردد.
رمزنگاري کليد عمومي و غيرجعلي بودن اطلاعات
بررسي هويت افراد مستلزم فرآيند ديگري به منظور تشخيص اصالت داده ارسالي ( غيرجعلي بودن ) نيز مي باشد.در اين رابطه هدف ، حصول اطمينان از اين موضوع است که داده دريافتي ، همان داده ارسال شده توسط فرستنده است. با توجه به ماهيت رمزنگاري کليد عمومي ، در صورتيکه يک پيام جعل گردد، دريافت کننده قادر به رمزگشائي آن با استفاده از کليد عمومي فرستنده ، نخواهد بود. عليرغم موضوع فوق ، در برخي حالات ، ممکن است قصد ارسال داده شفاف (Plain ) وجود داشته باشد. در چنين مواردي لازم است ، گيرنده امکان تشخيص هويت ارسال کننده و غير جعلي بودن پيام را دارا باشد. با استفاده از يک امضاي ديجيتالي به افراد اجازه داده شود که بررسي لازم در خصوص جعلي نبودن يک داده شفاف (plain ) را انجام دهند.
يک امضاي ديجيتالي ، مشابه يک امضاي دستي و معمولي بوده و مي توان از آن به منظور تائيد هويت فرستده و اطمينان از عدم تغيير داده ( سند ؛ يک پيام ، يک عنصر نرم افزاري ) در زمان ارسال ، استفاده نمود.
امضاي ديجيتال از رشته اي که hash و يا Checksum ناميده مي شود ، مشتق شده و پس از محاسبه با استفاده از داده ورودي ، با استفاده از کليد خصوصي فرستنده ، رمز مي گردد. hash مشابه يک اثرانگشت بوده و با استفاده از الگوريتم هاي Hash که حجم بالائي از داده را دريافت و بخش بمراتب کوچکتري را برمي گردانند ( معمولا" يک طول ثابت ) ، ايجاد مي شود.الگوريتم هاي Hash ، تضمين لازم در خصوص عدم محاسبه يک مقدار hash يکسان براي داده هاي ورودي متفاوت را ارائه مي نمايند.
مکانيزم امضاي ديجيتال ، به صورت منخصربفرد رشته hash را به سند و کليد خصوصي مالک سند ، نسبت مي دهد . عدم جعلي بودن يک سند مي تواند با رمزگشائي امضاي ديجيتال با استفاده از کليد عمومي فرستنده ( شناسائي هويت فرستنده پيام ) ، محاسبه محلي hash و مقايسه آن با چيزي که دريافت شده است ، محقق گردد .
فرآيند توليد امضاي ديجيتالي براي يک سند، signing ناميده مي گردد .فرآيند فوق ، محتوي يک سند را تغيير نداده و صرفا" يک امضاي ديجيتالي توليد که مي توان آن را همراه سند و يا بصورت جداگانه ارسال نمود.
گواهينامه ها و مراکز صدور گواهينامه ها
همانگونه که ملاحظه گرديد ، رمزنگاري کليد عمومي ، مکانيزم لازم به منظور تامين سه ويژگي اشاره شده ( امنيت ، تشخيص هويت ، عدم جعلي بودن ) را در رابطه با ايجاد يک ارتباط ايمن ، ارائه مي نمايد . در سه ويژگي اشاره شده ، توزيع کليد عمومي و تطبيق آن با کليد خصوصي مربوطه از ارکان بسيار مهم در مدل رمزنگاري کليد عمومي محسوب مي گردد . به عبارت ديگر ، در صورت تمايل براي ارسال يک پيام رمز شده براي فردي خاص ، مي بايست پردازش لازم در خصوص کليد عمومي وي صورت پذيرد.در موارديکه يک سند sign شده دريافت مي گردد ، مجددا" نيازمند پردازش کليد عمومي به منظور بررسي صحت و عدم جعلي بودن آن ، مي باشد.
در صورت دريافت يک کليد عمومي ، آيا اطمينان لازم در خصوص اين موضوع وجود دارد که فرد ارسال کننده ،همان شخصي است که انتظار داريم ؟ همواره اين امکان وجود خواهد داشت که يک کليد عمومي اشتباها" براي افراد ارسال گردد . فراموش نکنيم که رمزنگاري کليد متقارن ، صرفا" تضمين لازم در خصوص تطبيق کليدها را ارائه نموده و در رابطه با تعلق(مالکيت ) يک کليد عمومي به شخصي خاص ، سکوت مي نمايد.
گواهينامه ها ( تائيديه ها) ، امکانات لازم در خصوص برطرف نمودن چنين مسائلي را ارائه مي نمايند . تکنولوژي گواهينامه ، امکان شناسائي منحصربفرد افراد را فراهم مي نمايد . پس از شناسائي يک فرد و تائيد گواهيينامه ، امکان تائيد آنان توسط يک برنامه معتبر و امين و يا سرويس دهنده ، فراهم خواهد شد . تکنولوژي گواهينامه محدود به تائيد فرد خاصي نمي باشد .از تکنولوژي فوق ، به منظور تائيد اسنادي نظير نامه هاي الکترونيکي و يا ساير برنامه ها ئي که قادر به حمايت از رمزنگاري گواهينامه مي باشند ، استفاده مي گردد .
يک گواهينامه چيست ؟
گواهيينامه ديجيتال ،رکوردي منحصربفرد مشتمل بر اطلاعاتي ضروري به منظور بررسي هويت يک فرد و يا يک سازمان مي باشد . گواهينامه هاي ديجيتال از فرمت استاندارد X.509 تبعيت مي نمايند . استاندارد فوق ، برخي از ملزومات موردنياز گواهينامه را تشريح مي نمايد : فرمت نسخه استفاده شده توسط گواهينامه ، شماره سريال گواهينامه ، شناسه الگوريتم استفاده شده به منظور تائيد گواهينامه ،مرکز صادرکننده گواهينامه ، تاريخ صدور و سررسيد اعتبار گواهينامه ، مشخصات صاحب گواهينامه ، کليد عمومي صاحب گواهينامه ، امضاي ديجيتال مرکز صادر کننده گواهينامه .
هر يک از فيلدهاي اطلاعاتي فوق متناظر با فيلدهاي خاصي در ساختار تعريف شده براي يک گواهنيامه مي باشد. گواهينامه ها ، ممکن است شامل اطلاعات ديگري نظير آدرس پستي ، آدرس پست الکترونيکي ، نام کشور ، سن ، جنسيت نيز باشند . اطلاعات اضافي فوق اختياري بوده و بستگي به نوع خاص گواهينامه دارد .
مراکز صدور گواهينامه (CA:Certificate Authority )
مراکز صدور گواهينامه که از آنان با عنوان CA نيز نام برده مي شود ،مراکزي امين و معتبر بوده که مسئوليت تطبيق کليدها ي عمومي به منظور شناسائي و تائيد هويت را برعهده دارند. به عبارت ديگر ، مراکز فوق تعلق يک کليد عمومي خاص به يک کاربر معتبر را تائيد مي نمايند . مراکز CA ، مسئوليت صدور ، ابطال و تمديد يک گواهينامه را برعهده دارند. مراکز CA ،همچنين مي بايست رويه هاي بسيار دقيق و سختگيرانه اي را به منظور تائيد افراد و سازمان ها ئي که درخواست گواهنيامه مي نمايند را نيز دنبال نمايند .بدين ترتيب ، پس از تائيد يک فرد و يا سازمان توسط يک مرکز معتبر و امين CA ، امکان تطبيق کليد ( انطباق کليد عمومي با کليد خصوصي مرتبط با آن ) آنان از يک مرکز ايمن ، فراهم مي گردد. عملکرد چنين مراکزي نظير دفاتراسناد رسمي در اينترنت است .
در ساختار گواهينامه ، دو فيلد اطلاعاتي مرتبط با CA نيز وجود دارد : نام صادرکننده گواهينامه و امضاي ديجيتالي صادرکننده . وجود فيلدهاي فوق در گواهينامه صادر شده ، تضمين لازم در خصوص تعلق کليد عمومي به صاحب آن را ارائه مي نمايد.بدين ترتيب مسئله امين بودن از افراد به مراکز CA منتقل مي گردد.وجود يک مرکز امين و معتبر ، از جمله مهمترين دلايل حضور CA ، محسوب مي گردد . در حال حاضر ، سازمان هاي متعددي ، اقدام به صدور گواهينامه مي نمايند و هر روز نيز تعداد آنان افزايش مي يابد . زمانيکه دو کاربر و يا دو سازمان قصد مبادله گواهينامه را داشته باشند ، هر يک از آنان مي تواند هويت طرف مقابل خود را با استفاده از تائيديه مراکز CA و گواهينامه هاي صادرشده توسط مراکز CA ، انجام دهد. هر گواهينامه شامل کليد عمومي مربوط به خود نيز مي باشد ، بنابراين مي توان از آن به منظور رمزنگاري داده براي ارسال به صاحب گواهينامه استفاده نمود. گواهينامه ها همچنين شامل امضاي ديجيتال مرکز CA صادرکننده گواهينامه نيز مي باشند. يک امضاي ديجيتال با استفاده از کليد خصوصي مولف سند ايجاد مي گردد . بنابراين به منظور بررسي يک گواهينامه که توسط يک مرکز CA خاص تائيد شده است ، به کليد عمومي مرکز CA نيز نياز خواهد بود. کليد ها ي عمومي اکثر مراکز CA به همراه مرورگرها ، برنامه هاي پست الکترونيکي و ساير پکيج هاي نرم افراري توزيع مي گردد .
انواع گواهينامه ها
در اينترنت از چهار نوع گواهينامه ديجيتال استفاده مي گردد که هر يک داراي حوزه عملکردي خاص خود مي باشند :
• گواهينامه هاي سرويس دهنده ، که از آنان با نام Server IDs نيز نام برده مي شود،به سرويس دهندگان امکان استفاده از يک پروتکل ايمن ارتباطي نظير SSL را خواهند داد . گواهينامه هاي فوق ، امکان شناسائي سرويس دهنده و يا وب سايت مربوطه را براي کاربران نيز فراهم مي نمايد( قبل از ارسال اطلاعات محرمانه توسط کاربران ) .
• گواهينامه هاي شخصي ، مسوليت شناسائي افراد را برعهده داشته و ممکن است به منظور تائيد کاربران در يک سرويس دهنده و يا فعال نمودن نامه الکترونيکي ايمن، مورد استفاده قرارگيرند.
• گواهينامه هاي ناشر نرم افزار ، به منظور تائيد نرم افزارهاي توزيع شده بر روي اينترنت استفاده مي گردند.
• گواهينامه هاي مراکز CA ، باعث شناسائي يک CA مي گردند. مراکز CA را مي توان به دو گروه عمده تقسيم نمود : مراکز CA ريشه و مراکز CA مياني . تفاوت بين اين دو گروه بشرح زير است :
يک مرکز CA ريشه ، قادر به صدور هر نوع گواهينامه بوده و شناسائي و تائيد آنان توسط خود مرکز انجام مي شود. يک مرکز CA مياني ، قادر به صدور هر نوع گواهينامه بجزء يک گواهينامه براي خودش ، مي باشد.گواهينامه صادر شده توسط يک مرکز CA ريشه ، تنها نوع گواهينامه اي است که صادرکننده و مالک گواهينامه متعلق به يک محل بوده و مشابه يکديگر مي باشند. اينچنين مراکز ، مي توانند براي يک مرکز CA مياني ديگر ، گواهينامه صادر نمايند و يک مرکز CA مياني نيز مي تواند يک گواهينامه براي يک مرکز CA مياني ديگر صادر نمايد . نوع گواهينامه صادر شده توسط يک مرکز CA براي مرکز CA ديگر ، گواهينامه CA ناميده مي شود . ماحصل فرآيند فوق ، ايجاد يک ساختار سلسله مراتبي CA است . يکي از مزاياي مهم ساختار سلسله مراتبي فوق ، بررسي و تائيد گواهينامه در تعدادي اندک از مراکز ريشه CA ، مي باشد. به عبارت ديگر در صورتيکه يک مرکز CA تائيد گردد ، تمامي مراکز زيرمجموعه ( مراکز مياني CA ) نيز تائيد خواهند شد .
دريافت يک گواهينامه سرويس دهنده
در صورتيکه تصميم به گرفتن يک گواهينامه وجود داشته باشد ، مي بايست با يک مرکز CA تماس گرفته شود. فرآيند دريافت يک گواهينامه که Enrollment ( ثبت نام ) ناميده مي شود ، با توجه به نوع گواهينامه متفاوت مي باشد . همانگونه که اشاره گرديد ، يک گواهينامه سرويس دهنده ، مسئوليت شناسائي يک سرويس دهنده را با استفاده از پروتکل SSL براي يک ارتباط ايمن بر روي وب ، برعهده دارد. زمانيکه يک مرورگر ارتباط خود را با يک سرويس دهنده وب تائيد شده از طريق پروتکل HTTPS ( نسخه ايمن پروتکل HTTP ) برقرار مي نمايد ، کليد عمومي سرويس دهنده را از طريق گواهينامه مربوطه خود دريافت مي نمايد . بدين ترتيب مرورگر ، قادر به شناسائي ايمن صاحب سرويس دهنده و استفاده از کليد عمومي وي به منظور رمزنگاري داده مي باشد .به منظور فعال نمودن يک سرويس دهنده وب براي استفاده از SSL و گواهينامه ها ، مي بايست يک رويه خاص با توجه به نوع سرويس دهنده وب و مرکز صادر کننده CA ، دنبال گردد. مراحل دريافت يک گواهينامه به شرح ذيل مي باشد :
• يک گواهينامه سرويس دهنده به يک Domain اينترنت نسبت داده مي شود ، بنابراين لازم است از ثبت Domain وب سايت مربوطه ، اطمينان حاصل نمود ( قبل از اقدام به دريافت يک گواهينامه مي بايست Domain ثبت گردد) .
• با استفاده از ابزارهاي ارائه شده همراه نرم افزار سرويس دهنده ، مي بايست يک زوج کليد و يک Certificate Signing Request )CSR) ، ايجاد گردد. ماحصل عمليات فوق توليد کليد خصوصي و عمومي مرتبط با سرويس دهنده مي باشد . فرآيند فوق بسيار مهم مي باشد ، چراکه CSR توليد شده شامل يک نسخه از کليد عمومي سرويس دهنده مي باشد .در زمان توليد CSR ، مي بايست اطلاعات ديگري نظير URL وب سايت ، نام شرکت و يا سازمان متقاضي و آدرس مربوطه ، نيز مشخص گردد. ماحصل عمليات فوق ، يک فايل ASCII بوده که شامل درخواست گواهينامه با استفاده از يک فرمت شناخته شده با نام PKCS#10 مي باشد .
• در ادامه،مي توان CSR را به مرکز CA انتخاب شده ، ارسال نمود.بدين منظور مي توان از روش هاي متفاوتي نظير ارسال توسط نامه الکترونيکي و يا استفاده از فرم هاي ثبت نام Online موجود بر روي وب سايت مرکز CA ، استفاده نمود.
• پس از ارسال CSR به مرکز CA ،بررسي لازم در خصوص اطلاعات انجام و در صورت لزوم درخواست اطلاعات تکميلي مي گردد. پس از اتمام مراحل بررسي ، CA يک گواهينامه را بهمراه اطلاعات ذيربط نظير : کليد عمومي ، تاريخ سررسيد و ساير موارد ، صادر و آن را با استفاده از کليد خصوصي خود ، Sign و در ادامه آن را براي متقاضي ارسال و يا بر روي يک وب سايت مستقر تا امکان دريافت آن فراهم گردد.گواهينامه دريافت شده يک فايل ASCII شامل داده با فرمت استاندارد PKCS#7 ، مي باشد.
• در مرحله آخر، مي بايست گواهينامه صادر شده بر روي سرويس دهننده وب ، نصب گردد. بدين منظور مي توان از مستندات ارائه شده به همراه سرويس دهنده وب استفاده نمود.به منظور حفاظت از گواهينامه صادرشده ، لازم است يک نسخه Backup از آن تهيه گردد. در صورتيکه گواهينامه سرويس دهنده گم گردد ، مي بايست يک CSR جديد ارسال و مراحل فوق مجددا" تکرار گردد.
مبادله اطلاعات در اينترنت مبتني بر پروتکل TCP/IP بوده که در آن از پروتکل هاي متعددي نظير HTTP (Hypertext Transfer Protocol )، Telnet و( FTP(File Transfer Protocol ، استفاده مي گردد . پروتکل هاي فوق ، گزينه مناسبي براي ايجاد يک ارتباط ايمن نمي باشند ، چراکه مبادله اطلاعات به صورت Plaintext انجام مي شود . اطلاعات محرمانه و يا حساسي که با استفاده از اينچنين پروتکل هائي منتقل مي گردد ، بسادگي قابل ره گيري و خواندن بوده و در اين رابطه لازم است ،اطلاعات ارسالي با استفاده از روش هاي متفاوت رمزنگاري ، رمز گردند. سرويس گيرندگان وب ، درخواست هاي خود را با استفاده از پروتکل HTTP براي سرويس دهندگان وب ارسال مي نمايد . مبادله اطلاعات با استفاده از پروتکل فوق و با توجه به ماهيت آن ، چالش هاي امنيتي خاصي را براي سرويس دهندگان و سرويس گيرندگان به دنبال خواهد داشت . سرويس دهندگان وبي که صرفا" از استاندارد HTTP به منظور ارتباط با سرويس گيرندگان استفاده مي نمايند ، اهداف مناسبي براي حملاتي از نوع ( DoS (Denial-of-Service و ساير حملاتي از اين نوع مي باشند. علاوه براين ، سرويس دهندگاني اينچنين، اهداف مناسبي براي سرويس دهندگان وب تائيد نشده محسوب خواهند شد. . اين نوع سرويس دهندگان ، وب سايت هائي مي باشند که خود را به عنوان يک سايت مثبت وانمود کرده و نرم افزارهائي شامل ويروس هاي کامپيوتري و يا اسکريپت هاي مخرب را بر روي سايت مستقر تا کاربران با دريافت و نصب آنان ، دچار مشکلات امنيتي گردند.
پروتکل هاي ارتباطي ايمن وب ، روشي به منظور تائيد سرويس گيرندگان و سرويس دهندگان بر روي وب وحفاظت لازم درخصوص محرمانگي ارتباط بين سرويس گيرندگان و سرويس دهندگان را ارائه مي نمايند. تاکنون استانداردهاي ارتباطي ايمن متعددي با استفاده از تکنولوژي رمزنگاري کليد عمومي ، پياده سازي شده است. پروتکل هاي Secure Hypertext Transfer Protocol ) SHTTP ، ( IP Security) IPSec) و PPTP نمونه هائي در اين زمينه مي باشند . پروتکل ( SSL ( Secure Socket Layer ، پيشگام تمامي پروتکل هاي ايمن ارتباطي بوده که در ابعاد گسترده اي به منظور ارائه کانال ايمن ارتباطي و مبادله اطلاعات حساس و محرمانه بر روي وب ، استفاده مي گردد .
در پروتکل SSL از مدل رمزنگاري کليد عمومي به عنوان زيرساخت اوليه و در جهت ارائه يک ارتباط ايمن در شبکه استفاده مي شود.گواهينامه هاي سرويس دهنده ، که از آنان با نام Server IDs نيز نام برده مي شود،به سرويس دهندگان امکان استفاده از يک پروتکل ايمن ارتباطي نظير SSL را داده و همچنين ، امکان شناسائي سرويس دهنده و يا وب سايت مربوطه نيز براي کاربران و قبل از ارسال اطلاعات محرمانه ، فراهم مي گردد . لازم است به اين موضوع مجددا" اشاره گردد که وجود يک کانال ارتباطي ايمن يکي از مهمترين عوامل در ارتباط با گسترش تجارت الکترونيکي محسوب مي گردد. حصول اطمينان از وجود يک ارتباط ايمن بين خريداران ( سرويس گيرندگان ) و ارائه دهندگان کالا و يا خدمات (سرويس دهندگان ) از مهمترين عوامل موفقيت در برپاسازي يک سايت تجارت الکترونيکي است . نقش و جايگاه پروتکل SSL در اين نوع سايت ها بسيار حياتي و تعيين کننده است . در ادامه با اين پروتکل بيشتر آشنا مي شويم .
پروتکل SSL
پروتکل SSL ، توسط نت اسکيپ و با هدف مبادله ايمن اطلاعات بر روي اينترنت پياده سازي گرديده است . پس از گذشت مدت زماني اندک ، پروتکل SSL به عنوان استانداردي در جهت تائيد وب سايت ها براي کاربران و سرويس دهندگان وب و به منظور مبادله اطلاعات رمز شده بين آنان ، مطرح گرديد . گواهينامه هاي سرويس دهنده از طريق مراکز صدور گواهينامه ها ( CA ) براي سازمان ها ، افراد و وب سايت ها ، صادر مي گردد . مراکزصدور گواهينامه ها ، از روش هاي متفاوتي به منظور بررسي و حصول اطمينان از معتبر بودن گواهينامه کاربران ، استفاده مي نمايند . گواهينامه ديجيتال SSL مربوط به مراکز معتبر صدور گواهينامه ، در تمامي مرورگرها ( نظير مرورگر وب مايکروسافت و مرورگر نت اسکيپ ) و سرويس دهندگان وب اصلي ، پيش بيني شده است. بدين ترتيب ، با نصب يک گواهينامه ديجيتال بر روي يک سرويس دهنده وب ، امکان استفاده از قابليت هاي SSL در زمان مبادله اطلاعات با مرورگرهاي وب ، فراهم مي گردد.گواهينامه هاي سرويس دهنده SSL به منظور برقراري يک ارتباط ايمن دو عمليات اساسي زير را انجام مي دهند :
• SSL Server Authentication ، گواهينامه هاي سرويس دهنده امکان شناسائي يک سرويس دهنده وب را براي کاربران فراهم مي نمايند. مرورگرهاي وب به صورت اتوماتيک ، بررسي لازم در خصوص اعتبار يک گواهينامه سرويس دهنده ، شناسه عمومي و صدور آن توسط يک مرکز صدور گواهينامه (CA ) معتبر را انجام مي دهند.تائيد سرويس دهنده SSL ، امري حياتي براي ايمن سازي تراکنش هاي تجارت الکترونيکي بوده که در آن هر يک از کاربران شماره کارت اعتباري خود را بر روي وب ارسال و تمايل دارند در ابتدا بررسي لازم در خصوص هويت سرويس دهنده دريافت کننده را انجام دهند .
• SSL Encryption ، گواهينامه هاي سرويس دهنده يک کانال ايمن به منظور مبادله اطلاعات بين مرورگر کاربر و يک سرويس دهنده وب را با استفاده از ارسال نرم افزار و رمزگشائي توسط نرم افزار دريافت کننده و حفاظت اطلاعات خصوصي در مقابل ره گيري اطلاعات برروي اينترنت را ارائه مي نمايند. علاوه بر اين ، تمامي داده ارسالي از طريق يک ارتباط رمز شده SSL با استفاده از مکانيزم هاي لازم به منظور عدم دستکاري اطلاعات ، حفاظت مي گردد. بدين ترتيب ، کاربران اطمينان لازم به منظور ارسال اطلاعات خصوصي و محرمانه خود را براي يک وب سايت پيدا مي نمايند.
نحوه عملکرد گواهينامه هاي سرويس دهنده SSL
شناسه هاي سرويس دهنده (Server IDs) ، از مزاياي SSL به منظور ارائه يک ارتباط ايمن بين وب سايت ها و مرورگرهاي وب کاربران استفاده مي نمايند. پروتکل SSL از ترکيب مدل رمزنگاري کليد عمومي و رمزنگاري سريع متقارن، استفاده مي نمايد .فرآيند ايجاد يک ارتباط ايمن با برقراري يک SSL Handshake ، آغاز مي گردد.در اين راستا ، سرويس دهنده خود را براي مرورگر کاربر تائيد نموده و در ادامه به سرويس دهنده و سرويس گيرنده اجازه داده مي شود که با همکاري يکديگر کليدهاي خصوصي لازم به منظور استفاده در رمزنگاري ، رمزگشائي و تشخيص عدم دستکاري داده را ايجاد نمايند .
• سرويس گيرنده با يک سايت و به منظور دستيابي به يک URL ايمن ( يک URL که با https در مقابل http شروع شده است) ، ارتباط برقرار مي نمايد . صفحه ايمن درخواستي ، مي تواند يک فرم خريد Online باشد که در آن اطلاعات خصوصي کاربران، نظير : آدرس ، شماره تلفن و شماره کارت اعتباري اخذ مي گردد.
• مرورگر سرويس گيرنده بصورت اتوماتيک شماره نسخه SSL مرورگر ، تنظيمات رمز، داده توليد شده بصورت تصادفي و ساير اطلاعات مورد نياز به منظور برقراري يک ارتباط ايمن را براي سرويس دهنده ارسال مي نمايد.
• سرويس دهنده بصورت اتوماتيک پاسخ لازم را در اين رابطه داده و گواهيينامه ديجيتال ، شماره نسخه SSL سرويس دهنده ، تنظيمات رمز و ساير موارد مورد نياز را براي مرورگر سرويس گيرنده ،ارسال مي نمايد .
• مرورگر سرويس گيرنده بررسي لازم در خصوص اطلاعات موجود در گواهينامه سرويس دهنده را انجام مي دهد :
- آيا گواهينامه سرويس دهنده و تاريخ آن معتبر مي باشند ؟
- آيا مرکزي که گواهينامه را صادر نموده است ، يکي از مراکز صدورمعتبري است که گواهينامه آنان به همراه مرورگر ارائه شده است ؟
- آيا کليد عمومي مرکز صادرکننده گواهينامه ( ايجاد شده درون مرورگر ) ، معتبر بودن امضاي ديجيتالي صادر کننده را تائيد مي نمايد ؟
- آيا نام Domain مشخص شده توسط گواهينامه ديجيتال با نام واقعي Domain سرويس دهنده ، مطابقت مي نمايد ؟
در صورتي که ، سرويس دهنده تائيد نگردد به کاربر اعلام مي گردد که امکان برقراري يک ارتباط رمزشده و مطمئن وجود ندارد .
• در صورتي که سرويس دهنده بصورت موفقيت آميز تائيد گردد ، مرورگر سرويس دهنده يک "session key " منحصربفرد را به منظور رمزنگاري تمامي اطلاعات مبادله شده با سرويس دهنده با استفاده از مدل رمزنگاري کليد عمومي ، ايجاد مي نمايد .
• مرورگر سرويس گيرنده ، session key را با استفاده از کليد عمومي سرويس دهنده ( وب سايت مورد نظر ) ، رمز و آن را براي سرويس دهنده ارسال مي نمايد. بدين ترتيب ، صرفا" سرويس دهنده قادر به خواندن session key ، خواهد بود .
• سرويس دهنده با استفاده از کليد خصوصي مربوط به خود ، اقدام به رمزگشائي session key مي نمايد .
• مرورگر سرويس گيرنده در ادامه پيامي را براي سرويس دهنده ارسال و به وي اعلام مي نمايد که پيام هاي آتي خود را با استفاده از session key رمز و ارسال مي نمايد .
• سرويس دهنده در ادامه ، پيامي را براي سرويس گيرنده ارسال و به وي اعلام مي نمايد که پيام هاي آتي خود را با استفاده از session key رمز و ارسال مي نمايد .
• با اتمام مراحل فوق ، يک ارتباط ايمن مبتني بر SSL بين سرويس گيرنده و سرويس دهنده برقرار مي گردد . در ادامه پروتکل SSL به منظور رمزنگاري و رمزگشائي پيام ها از مدل رمزنگاري متقارن که بمراتب سريعتر نسبت به رمزنگاري کليد عمومي مي باشد ، استفاده مي نمايد .
• پس از اتمام ارتباط بين سرويس دهنده و سرويس گيرنده ، session key حذف مي گردد .
مراحل فوق در زمان بسيار کوتاهي ( چندين ثانيه ) انجام و کاربران در اين رابطه ضرورتي به انجام عملياتي خاص نخواهند داشت . مرورگرهاي نت اسکيپ و IE ، داراي مکانيزم هاي امنيتي از قبل تعبيه شده اي به منظوريشگيري در خصوص ارسال ناخواسته اطلاعات شخصي مي باشند. در صورتي که کاربري قصد ارسال اطلاعات براي يک سايت غيرايمن ( سايتي که داراي يک گواهينامه سرويس دهنده SSL نمي باشد ) را داشته باشد ، مرورگر يک پيام هشداردهنده را نمايش خواهند داد.
در صورتي که ، کاربران شماره کارت اعتباري و ساير اطلاعات خود را براي سايتي ارسال نمايند که داراي يک گواهينامه سرويس دهنده معتبر و يک ارتباط SSL مي باشد ، پيام فوق نمايش داده نمي گردد . عليرغم اعتبار ارتباط ايمن ايجاد شده ، کاربران مي توانند با توجه به نکات زير اطمينان لازم در خصوص ايمن بودن ارتباط برقرار شده با يک وب سايت را پيدا نمايند:
• URL مشخص شده در پنجره مرورگر با https در مقابل http آغاز مي گردد .
• درمرورگر IE ، يک آيکون Podlock ، در قسمت پائين پنجره نمايش داده مي شود .
در صورت کليک بر روي آيکون فوق ، مي توان اطلاعات جامعي را در ارتباط با گواهينامه مشاهده نمود .
انواع SSL ( چهل بيتي و يکصدوبيست و هشت بيتي )
پروتکل SSL به دو صورت 40 و 128 بيتي که به طول session key توليد شده بستگي دارد ، ارائه شده است . هر اندازه طول کليد بيشتر باشد ، امکان شکستن رمز مشکل تر خواهد بود . رمزنگاري SSL از نوع 128 بيتي ، قويترين نوع رمزنگاري بوده که با استفاده از تکنولوژي هاي موجود به ميلياردها سال زمان براي شکستن رمز آن نياز خواهد بود. قدرت رمزنگاري 128 بيتي تقريبا" 26 10 * 3 مرتبه قويتر از رمزنگاري 40 بيتي SSL است. مرورگرهاي IE و نت اسکيپ ، سطوح متفاوتي از رمزنگاري را بر اساس نوع گواهينامه سرويس دهنده SSL ارائه مي نمايند ( گواهينامه هاي سرويس دهنده SSL از نوع 40 بيتي ، گواهينامه هاي سرويس دهنده SSL از نوع 128 بيتي ) .
در رمان ايجاد يک مشخصه سرويس دهنده ( Server ID ) و به منظور استفاده از رمزنگاري 128 بيتي مي بايست کليد خصوصي به درستي ايجاد گردد. در صورتي که کليد خصوصوصي 1024 بيتي انتخاب گردد ، امکان رمزنگاري 128 بيتي و در صورتيکه کليد خصوصي 512 بيتي در نظر گرفته شود، صرفا" امکان رمزنگاري 40 بيتي وجود خواهد داشت . نوع کليد خصوصي در زمان ايجاد يک CSR) Certificate Signing Request ) به همراه سرويس دهنده وب ، مشخص مي گردد .
به منظور استفاده از SSL در برنامه هاي وب ، مي بايست مراحل زير را دنبال نمود :
• ايجاد يک درخواست گواهينامه از طريق IIS
• درخواست يک گواهينامه از يک مرکز صدور گواهينامه ( CA )
• نصب گواهينامه بر روي سرويس دهنده با استفاده از IIS
• نصب گواهينامه بر روي مرورگر در صورتيکه از يک گواهينامه تستي استفاده مي گردد.
• استفاده از پروتکل ايمن https ، در زمان دستيابي به صفحات ايمن در برنامه وب
در ادامه به تشريح هر يک از مراحل فوق ، خواهيم پرداخت .
ايجاد يک درخواست گواهينامه ( ( Certificate Signing Request (CSR)
به منظور درخواست گواهينامه از يک مرکز صدور گواهينامه، مي بايست در ابتدا درخواست يک گواهينامه توسط IIS ، ايجاد گردد . درخواست فوق ، شامل اطلاعات رمزشده در رابطه با سرويس دهنده مورد نظر شما بوده که مرکز صدور گواهينامه از آن به منظور تشخيص هويت وشناسائي سرويس دهنده بر روي اينترنت استفاده مي نمايد . براي ايجاد يک درخواست گواهينامه مراحل زير را در IIS ، دنبال مي نمائيم :
• مرحله اول : انتخاب وب سايت پيش فرص در IIS و گزينه Properties از طريق منوي Action . در ادامه IIS ، جعبه محاوره اي سايت پيش فرض را نمايش خواهد داد .
• مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Server Certificates . ويزارد مربوطه در ادامه توسط IIS فعال مي گردد.
• مرحله سوم : پس از دنبال نمودن ويزارد و اتمام مراحل مربوطه ، IIS يک فايل Text رمزشده با انشعاب cer . را ايجاد مي نمايد . فايل فوق ، درخواست مربوط به يک گواهنيامه بوده که مي بايست به مرکز صدور گواهينامه ارسال گردد.
A Certificate Request ( Text file ) |
-----BEGIN NEW CERTIFICATE REQUEST----- MIIDRTCCAq4CAQAwajESMBAGA1UEAxMJU3JjbyB0ZXN0MR ............................. UfRx3N0vPhXMb+BMLQ90ZvvDPj5eCGrkag== -----END NEW CERTIFICATE REQUEST----- |
در ابتدا مي بايست گواهينامه در ريشه سرويس دهنده ايجاد گردد.( قبل از اين که IIS ، قادر به برقراري يک ارتباط ايمن گردد) . پس از نصب يک گواهينامه سرويس دهنده در سطح ريشه ، مي توان پردازش فوق را براي سايت هاي زيرمجموعه تکرار نمود( در صورتي که لازم است براي هر يک از سايت ها از يک گواهينامه جداگانه ، استفاده گردد ) .
درخواست يک گواهينامه
فرآيند درخواست يک گواهينامه سرويس دهنده از يک مرکز صدور گواهينامه با توجه به مرکز انتخاب شده ، متفاوت مي باشد .براي درخواست يک گواهينامه ، مراحل زير را دنبال مي نمائيم :
• مرحله اول : ملاقات وب سايت مرکز صدور گواهينامه و درخواست يک گواهينامه سرويس دهنده براي SSL . ( در اين رابطه گزينه ها ي متعددي بر اساس سطح امنيت وجود دارد ) .
• مرحله دوم : انتخاب نوع گواهينامه سرويس دهنده مورد نظر و تکميل فرم اطلاعاتي مربوطه .
• مرحله سوم : کپي و يا ارسال درخواست گواهينامه ايجاد شده در مرحله "ايجاد يک درخواست گواهينامه" توسط نامه الکترونيکي
پس از انجام عمليات فوق ، مي بايست در انتظار تائيد اطلاعات ارسالي و صدور گواهينامه توسط مرکز صدور گواهينامه ماند . پس از تائيد ، مرکز صدور گواهنيامه اقدام به ارسال گواهينامه سرويس دهنده مي نمايد. ( معمولا" از طريق يک نامه الکترونيکي ) . گواهينامه صادر شده را در يک فايل متني و با انشعاب cer. ، ذخيره مي نمائيم ( استفاده از عمليات Copy&Paste در ويرايشگر notpad )
Server Certificate |
-----BEGIN CERTIFICATE ----- ................ ----- END CERTIFICATE ------ |
نصب گواهينامه
پس از ذخيره گواهينامه سرويس دهنده ، مي توان در ادامه آن را در IIS نصب تا امکان استفاده از پروتکل SSL در برنامه ها ي وب ، فراهم گردد . به منظور نصب يک گواهينامه سرويس دهنده ، مراحل زير را دنبال مي نمائيم :
• مرحله اول : انتخاب وب سايت پيش فرص در IIS و گزينه Properties از طريق منوي Action . در ادامه IIS ، جعبه محاوره اي سايت پيش فرض را نمايش خواهد داد .
• مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Server Certificates . ويزارد مربوطه در ادامه توسط IIS فعال مي گردد.
• مرحله سوم : دکمه Next را فعال و گزينه ... Prosecc The Pending Request And را انتخاب مي نمائيم .
• مرحله چهارم : دکمه Next را فعال نموده و در ادامه نام فايل حاوي گواهينامه را وارد مي نمائيم ( فايل فوق ، فايلي است که در مرحله " درخواست يک گواهينامه " ايجاد شده است )
• مرحله پنجم : با فعال نمودن دکمه Next و در ادامه Finish ، عمليات نصب گواهينامه به اتمام مي رسد .
استفاده از ارتباط ايمن
پس از نصب گواهينامه سرويس دهنده ، ارتباط ايمن فعال ومي توان با استفاده از پروتکل https ، درخواست يک صفحه ايمن را نمود.
A Secure Web page : |
<a href="https://www.test.com/pay.aspx>Secure Page </a> |
ارتباط ايمن تا زمان معرفي يک سايت غيرايمن ، همچنان وجود خواهد داشت . به منظور اتمام ارتباط ايمن ، مي بايست از پروتکل http ، در URL مربوطه استفاده نمود .
End Secure Communication |
<a href="http://www.test.com/Report.aspx>Not Secure Page </a> |
با استفاده از IIS مي توان ارتباط ايمن را براي فولدرها و يا فايل هاي خاصي در يک برنامه وب ،ايجاد نمود. به منظور ايجاد يک ارتباط ايمن براي يک صفحه خاص با استفاده از IIS ، مراحل زير را دنبال مي نمائيم .
• مرحله اول : انتخاب فولدر و يا فايل مورد نظري که نيازمند استفاده از يک ارتباط ايمن مي باشد .با انتخاب گزينه Properties از طريق منوي Action ، جعبه محاوره اي Properties نمايش داده مي شود.
• مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Secure Communication . در ادامه IIS ، جعبه محاوره اي Secure Communication را نمايش خواهد داد.
• مرحله سوم : گزينه (Require Secure Channel ( SSL را انتخاب و در ادامه دکمه OK را فعال مي نمائيم .
زماني که نحوه دستيابي به يک صفحه توسط يک ارتباط ايمن مشخص مي گردد، امکان مشاهده صفحه فوق با استفاده از پروتکل http وجود نخواهد داشت .