پاسخ به:آموزش های تخصصی شبکه و امنیت و ضد امنیت
شنبه 28 مرداد 1391 1:24 AM
ايجاد يک ارتباط ايمن در برنامه های وب (بخش چهارم)
در بخش چهارم اين مقاله به بررسی پروتکل SSL ، خواهيم پرداخت.
مبادله اطلاعات در اينترنت مبتنی بر پروتکل 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 IDs) ، از مزايای SSL به منظور ارائه يک ارتباط ايمن بين وب سايت ها و مرورگرهای وب کاربران استفاده می نمايند. پروتکل SSL از ترکيب مدل رمزنگاری کليد عمومی و رمزنگاری سريع متقارن، استفاده می نمايد .فرآيند ايجاد يک ارتباط ايمن با برقراری يک SSL Handshake ، آغاز می گردد.در اين راستا ، سرويس دهنده خود را برای مرورگر کاربر تائيد نموده و در ادامه به سرويس دهنده و سرويس گيرنده اجازه داده می شود که با همکاری يکديگر کليدهای خصوصی لازم به منظور استفاده در رمزنگاری ، رمزگشائی و تشخيص عدم دستکاری داده را ايجاد نمايند .
مراحل فوق در زمان بسيار کوتاهی ( چندين ثانيه ) انجام و کاربران در اين رابطه ضرورتی به انجام عملياتی خاص نخواهند داشت . مرورگرهای نت اسکيپ و IE ، دارای مکانيزم های امنيتی از قبل تعبيه شده ای به منظوريشگيری در خصوص ارسال ناخواسته اطلاعات شخصی می باشند. در صورتی که کاربری قصد ارسال اطلاعات برای يک سايت غيرايمن ( سايتی که دارای يک گواهينامه سرويس دهنده SSL نمی باشد ) را داشته باشد ، مرورگر يک پيام هشداردهنده را نمايش خواهند داد :
در صورتی که ، کاربران شماره کارت اعتباری و ساير اطلاعات خود را برای سايتی ارسال نمايند که دارای يک گواهينامه سرويس دهنده معتبر و يک ارتباط SSL می باشد ، پيام فوق نمايش داده نمی گردد . عليرغم اعتبار ارتباط ايمن ايجاد شده ، کاربران می توانند با توجه به نکات زير اطمينان لازم در خصوص ايمن بودن ارتباط برقرار شده با يک وب سايت را پيدا نمايند:
در صورت کليک بر روی آيکون فوق ، می توان اطلاعات جامعی را در ارتباط با گواهينامه مشاهده نمود .
انواع 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 دربرنامه های وب دات نت ، خواهيم پرداخت .
** دارالولایه **