موضوع: رعایت برخی مسائل برای جلوگیری از درز اطلاعات شخصی\n23.06.2016, 00:58 Top | #1\nاينترنت و به دنبال آن وب ، دنيای نرم افزار را دستخوش تحولات فراوانی نموده است . ظهور نسل جديدی از برنامه های كامپيوتری موسوم به "برنامه های وب " از جمله اين تحولات عظيم است . پس از ارائه سرويس وب در سال 1991، وب سايت های متعددی ايجاد گرديد . اينگونه سايت ها به منظور ارائه اطلاعات به مخاطبان خود از صفحات وب ايستا استفاده می كردند . در چنين وب سايت هائی ، امكان تعامل كاربر با برنامه وجود نداشت .\nبا توجه به اين كه رويكرد فوق با ماهيت و يا روح نرم افزار چندان سازگار نمی باشد ، تلاش های گسترده ای در جهت ايجاد محتويات پويا انجام و متعاقب آن ، فن آوری های متعددی ايجاد گرديد . به عنوان نمونه ، با پياده سازی فن آوری CGI ( برگرفته از Common Gateway Interface ) ، امكان استفاده از برنامه های خارجی به منظور توليد محتويات پويا فراهم گرديد . بدين ترتيب ، كاربران قادر به درج اطلاعات و ارسال آنها برای يك برنامه خارجی و يا اسكريپت سمت سرويس دهنده شدند . برنامه موجود در سمت سرويس دهنده پس از دريافت اطلاعات و انجام پردازش های تعريف شده ، نتايج را توليد و آنها را برای كاربر ارسال می نمود .\nرويكرد فوق ، به عنوان نقطه عطفی در برنامه های وب تلقی می گردد چراكه برای اولين مرتبه امكان توليد محتويات پويا در وب سايت ها فراهم گرديد . از آن زمان تاكنون فن آوری های متعددی به منظور توليد برنامه های وب ايجاد شده است . PHP و ASP.NET نمونه هائی در اين زمينه می باشند . صرفنظر از اين كه از كدام فن آوری به منظور ايجاد برنامه های وب استفاده می گردد ، ايمن سازی آنان از جمله اهداف مشترك تمامی پياده كنندگان است .\nامنيت برنامه های وب و برداشت های اوليه\nزمانی كه در رابطه با امنيت برنامه های وب سخن به ميان می آيد ، تهاجم عليه يك سايت ، سرقت كارت های اعتباری ، بمباران وب سايت ها در جهت مستاصل كردن آنان به منظور ارائه خدمات و سرويس های تعريف شده ، ويروس ها ، تروجان ها ، كرم ها و ... در ذهن تداعی می گردد . صرفنظر از نوع برداشت ما در رابطه با موارد فوق ، می بايست بپذيريم كه تهديدات امنيتی متعددی متوجه برنامه های وب با توجه به ماهيت آنان می باشد . سازمان ها و يا موسساتی كه از اينگونه برنامه ها استفاده می نمايند و يا در صدد طراحی و پياده سازی آنان می باشند ، می بايست به اين نكته مهم توجه نمايند كه ايمن سازی يك برنامه وب ، محدود به بكارگيری يك فن آوری خاص نبوده و فرآيندی است مستمر كه عوامل انسانی و غيرانسانی متعددی می توانند بر روی آن تاثيرگذار باشند .\nامنيت برنامه های وب را می بايست با توجه به\nنوع معماری و رفتار آنان بررسی نمود .\nبرداشت های غيرواقعی از امنيت برنامه های وب\nمتاسفانه به دليل عدم شناخت لازم در خصوص ماهيت برنامه های وب از يك طرف و از سوی ديگر عدم آشنائی لازم با مفاهيم امنيت ، شاهد برداشت های نادرست در خصوص امنيت برنامه های وب می باشيم . اجازه دهيد به چند نمونه در اين خصوص اشاره نمائيم :\n• ما ايمن هستيم چون از يك فايروال استفاده می نمائيم . اين تصور كاملا" اشتباه است و به نوع تهديد بستگی خواهد داشت . مثلا" يك فايروال قادر به تشخيص داده ورودی مخرب جهت ارسال به يك برنامه وب نمی باشد . فايروال ها دارای عملكردی قابل قبول در رابطه با اعمال محدوديت بر روی پورت ها می باشند و برخی از آنان می توانند همزمان با بررسی اطلاعات مبادله شده ، امكانات برجسته حفاظتی را ارائه نمايند . فايروال ها جزء لاينفك در يك فريمورك امنيتی می باشند ولی نمی توان آنان را به عنوان يك راهكار جامع به منظور ايجاد و برپائی يك محيط ايمن در نظر گرفت .\n• ما ايمن هستيم چون از SSL ( برگرفته ازSecure Sokets Layer ) استفاده می نمائيم . SSL برای رمزنگاری ترافيك موجود بر روی شبكه يك گزينه ايده آل است ولی قادر به بررسی داده ورودی يك برنامه نمی باشد .\n• ما ايمن هستيم چون از سيستم عاملی استفاده می نمائيم كه نسبت به ساير سيستم های عامل دارای امنيت بيشتری است . استدلال فوق با فرض درست بودن اصل قضيه ، نادرست و غيرمنطقی است چراكه امنيت يك فرآيند است نه يك محصول . بنابراين با بكارگيری يك محصول خاص ( به عنوان نمونه يك سيستم عامل ) نمی توان اين ادعا را داشت كه ما به يك محيط ايمن به منظور ايجاد برنامه های وب دست يافته ايم .\nبا رد امنيت يك سيستم عامل نمی توان امنيت يك سيستم عامل ديگر را تائيد نمود.\n( من خوبم چون شما بد هستيد ! )\nامنيت چيست ؟\nاولين رسالت امنيت ، حفاظت از سرمايه های يك سازمان است كه ممكن است شامل آيتم های ملموسی نظير يك صفحه وب و يا بانك اطلاعاتی مشتريان و يا آيتم های غيرملموسی نظير شهرت و اعتبار يك سازمان باشد. امنيت يك مسير است نه يك مقصد و به موازات تجزيه و تحليل زيرساخت و برنامه های موجود ، می بايست اقدام به شناسائی تهديدات و خطرات ناشی از آنان نمود . در واقع ، امنيت به مديريت خطرات و پياده سازی يك سيستم به منظور پاسخگوئی و مقابله با تهديدات اشاره داشته و در ارتباط با عتاصر كليدی زير است :\n• Authentication ، فرآيندی است كه به كمك آن به صورت منحصربفرد سرويس گيرندگان يك برنامه شناسائی می گردند . كاربران ، سرويس ها ، فرآيندها و كامپيوترها ، نمونه هائی از سرويس گيرندگان يك برنامه می باشند . در واقع ، authentication هويت استفاده كنندگان يك برنامه را بررسی می نمايد .\n• Authorization ، فرآيندی است كه به كمك آن دستيابی سرويس گيرندگان تائيد شده به منابع و عملياتی كه قصد انجام آن را دارند بررسی و مجوز لازم صادر می گردد. فايل ها ، بانك های اطلاعاتی ، جداول ، سطرها ، منابع موجود در سطح سيستم نظير كليدهای ريجتسری و داده پيكربندی ، نمونه هائی از منابع مورد درخواست سرويس گيرندگان می باشند . انجام تراكنش هائی خاص نظير خريد يك محصول ، واريز و انتقال پول از يك حساب به حساب ديگر و يا افزايش اعتبار يك كارت اعتباری از جمله عملياتی می باشند كه می بايست مجوز استفاده از آنان برای سرويس گيرندگان صادر گردد . در واقع ، authorization محدوده مجاز عملياتی را كه يك سرويس گيرنده می تواند انجام دهد را مشخص می نمايد .\n• Auditing : مميزی موثر و ثبت عمليات انجام شده يكی از اصول مهم در جلوگيری از انجام اعمال خلاف قانون است . بدين ترتيب اين اطمينان ايجاد خواهد شد كه يك كاربر نمی تواند باعث عدم انحام يك كار و يا فعاليت در سيستم گردد و يا يك تراكنش را مقداردهی اوليه نمايد . مثلا" در يك سيستم e-commerce می بايست از مكانيزم هائی استفاده گردد تا اين اطمينان حاصل گردد كه يك مصرف كننده نمی تواند سفارش انجام شده برای خريد يكصد نسخه از يك كتاب را انكار نمايد .\n• Confidentiality ، كه از آن با نام privacy نيز نام برده می شود ، فرآيندی است كه به كمك آن اين اطمينان ايجاد می گردد كه حريم خصوصی داده رعايت و امكان مشاهده آن توسط كاربران غيرمجاز و يا ساير افرادی كه قادر به رديابی ترافيك يك شبكه می باشند ، وجود نخواهد داشت .\n• Integrity ، فرآيندی است كه به كمك آن اين اطمينان ايجاد می گردد كه داده در مقابل تغييرات تصادفی و يا تعمدی حفاظت خواهد شد . همانند privacy ، يكپارچگی اطلاعات يك فاكتور اساسی در خصوص امنيت داده محسوب می گردد ، خصوصا" در مواردی كه داده در طول شبكه مبادله خواهد شد . يكپارچگی داده در حال حمل ،عموما" با استفاده از روش هائی نظير hashing و يا كدهای تائيد پيام انجام می شود .\n• Availability ، فرآيندی است كه به كمك آن اين اطمينان ايجاد خواهد شد كه همواره داده برای كاربران مجاز در دسترس و قابل استفاده خواهد بود . در اغلب حملات از نوع DoS ، مهاجمان اين هدف را دنبال می نمايند كه بتوانند امكان استفاده و در دسترس بودن برنامه برای كاربران مجاز را غيرممكن و عملا" آن را از كار بيندازند .\nتعاريف اوليه برخی از اصطلاحات امنيتی : تهديدات ، نقاط آسيب پذير و حملات\n• تهديد ( threat ) : به هرگونه پتانسيل بروز يك رويداد مخرب و يا ساير موارد ديگر كه می تواند به سرمايه های يك سازمان آسيب برساند ، تهديد گفته می شود . به عبارت ديگر، هر رويدادی كه بتواند به سرمايه های يك سازمان آسيب برساند ، در زمره تهديدات محسوب می گردد .\n• نقاط آسيب پذير (vulnerability) : ضعف های موجود در يك سيستم می باشند كه پتانسيل اوليه بروز يك رويداد مخرب را فراهم می نمايند . ضعف در طراحی ، پيكربندی اشتباه ، استفاده از روش های كدينگ غيرايمن مهمترين دلايل ايجاد يك ضعف در سيستم می باشند . ضعف در بررسی صحت داده ورودی توسط كاربر ، نمونه ای از يك لايه آسيب پذير در يك برنامه است كه می تواند زمينه بروز يك تهاجم را فراهم نمايد .\n• تهاجم (attack) : عملياتی است كه محوريت آن سوء استفاده از نقاط آسيب پذير و پتانسيل های بروز يك رويداد مخرب می باشد . ارسال ورودی مخرب به يك برنامه و يا flooding يك شبكه به منظور از كار انداختن يك سرويس ، نمونه هائی در اين زمينه می باشد .\nيك تهديد پتانسيل بروز يك رويداد مخرب را فراهم می نمايد كه می تواند به سرمايه های يك سازمان آسيب برساند\nدر حالی كه در يك تهاجم موفقيت آميز از نقاط آسيب پذير موجود در سيستم استفاده می گردد .\nچگونه می توان يك برنامه وب ايمن را ايجاد نمود ؟\nتا زمانی كه شناخت مناسبی نسبت به تهديدات وجود نداشته باشد ، امكان ايجاد يك برنامه وب ايمن وجود نخواهد داشت . بنابراين قبل از هر چيز لازم است كه با "مدل تهديدات " موجود آشنا شويم . هدف مدل فوق، آناليز معماری و نحوه طراحی برنامه به منظور شناسائی نقاط آسيب پذيری است كه ممكن است به صورت تصادفی توسط يك كاربر ناآگاه و يا مهاجمان با اهداف مخرب مورد سوء استفاده قرار گرفته تا با استناد به آنان بتوانند موجوديت و امنيت سيستم را با خطر مواجه نمايند .\nپس از آسنائی با تهديدات ، می بايست با بكارگيری مجموعه ای از اصول امنيتی اقدام به طراحی سيستم نمود . در ادامه ، پياده كنندگان می بايست از روش های ايمن به منظور نوشتن كدهای مطمئن ، مستحكم و قابل اعتماد استفاده نمايند . پس از طراحی و پياده سازی برنامه ، می بايست از يك شبكه ايمن ، يك host مطمئن و يك پيكربندی مناسب بر روی سرويس دهنده ، استفاده گردد .\nايجاد يك برنامه وب ايمن ، مستلزم اقدامات امنيتی چند جانبه ای است كه موفقيت در تمامی آنان ، ايمن بودن برنامه های وب را تضمين خواهد كرد . ايمن سازی شبكه ، host و برنامه ، رئوس مثلث امنيتی ايجاد برنامه های وب ايمن را تشكيل می دهند .\nايمن سازی شبكه ، host و برنامه\nبه منظور ايجاد برنامه های وب ايمن ، تبعيت از يك رويكرد جامع امری است الزامی . بنابراين ، می بايست امنيت برنامه های وب را در سه لايه متفاوت بررسی و اقدامات لازم را در هر لايه با توجه به جايگاه آن انجام داد . شكل زير سه لايه مهم به منظور ايجاد برنامه های وب ايمن را نشان می دهد .\nوجود يك نقطه آسيب پذير در شبكه وب و یا سرویس دهنده SQL به يك مهاجم اجازه می دهد تا كنترل يك host و يا برنامه را بدست بگيرد .\nوجود يك نقطه آسيب پذير در host به يك مهاجم اجازه می دهد تا بتواند كنترل يك شبكه و يا برنامه را بدست بگيرد .\nوجود يك نقطه آسيب پذير در برنامه به يك مهاجم اجازه می دهد تا كنترل يك host و يا شبكه را بدست بگيرد .\nدر بخش دوم به بررسی هر يك از لايه های فوق خواهيم پرداخت .\nاصول امنيت برنامه های وب ( بخش دوم )\nCapture.JPG (34.7 کیلو بایت, 6 نمايش)\nویرایش توسط ADMIN : 23.06.2016 در ساعت 01:47 دلیل: حذف لینک\n23.06.2016, 00:58 Top | #2\nايمن سازی شبكه\nشبكه ، نقطه ورود به يك برنامه وب است و اولين لايه حفاظتی به منظور كنترل دستيابی به سرويس دهندگان متعدد موجود در محيط عملياتی را فراهم می نمايد . با اين كه سرويس دهندگان توسط سيستم های عامل نصب شده بر روی خود حفاظت می گردند ولی نمی بايست به اين موضوع صرفا" اكتفاء نمود و لازم است كه تدابير لازم به منظور حفاظت آنها در مقابل ساير تهديدات ( نظير ارسال سيلابی از بسته های اطلاعاتی از طريق لايه شبكه ) نيز انديشيده گردد .\nايمن سازی شبكه ، شامل حفاظت از دستگاه های شبكه ای و داده مبادله شده بر روی آنها می باشد . روتر ، فايروال و سوئيچ عناصر اوليه زيرساخت يك شبكه را تشكيل می دهند . شكل زير نحوه استفاده از عناصر فوق را در يك شبكه نشان می دهد .\nعناصر شبكه : روتر ، فايروال و سوئيچ\nيك برنامه وب بر روی يك زيرساخت شبكه ای ايمن فعاليت و به كاربران خود سرويس های لازم را ارائه می نمايد . برای ايمن سازی شبكه ، علاوه بر اين كه شبكه می بايست در مقابل حملات مبتنی بر TCP/IP از خود محافظت نمايد ، بلكه لازم است اقدامات متعدد ديگری نيز در اين رابطه انجام شود . ايجاد اينترفيس های مديريتی ايمن، استفاده از رمزهای عبور قدرتمند ، حصول اطمينان از صحت ترافيك ارسالی از جمله اقدامات ديگر در خصوص ايجاد يك شبكه ايمن می باشد . بدين منظور لازم است كه پورت ها و پروتكل های استفاده شده در هر لايه به دقت بررسی و در صورتی كه وجود آنها غيرضروری تشخيص داده شود و يا استفاده از آنها زمينه بروز تهديداتی را فراهم می نمايد ، می بايست در همان لايه با آنان برخورد و از يك راهكار مناسب امنيتی استفاده گردد .\n• DoS ( برگرفته از Denial of Service )\nمهاجمان در اولين مرحله ،اقدام به جمع آوری اطلاعات در رابطه با اهداف خود می نمايند . جمع آوری اطلاعات می تواند باعث افشای اطلاعات توپولوژی شبكه ، پيكربندی سيستم و دستگاه های شبكه ای گردد . يك مهاجم می تواند در ادامه با استفاده از اطلاعات جمع آوری شده بر روی نقاط آسيب پذير متمركز و از حفره های امنيتی موجود در جهت تامين خواسته های مخرب خود استفاده نمايد .\n• ماهيت غيرايمن ذاتی پروتكل TCP/IP\n• پيكربندی ضعيف دستگاه های شبكه ای\n• استفاده غيرايمن از سرويس هائی كه به وجود آنها در يك شبكه نياز نمی باشد .\n• استفاده از Tracert به منظور تشخيص توپولوژی شبكه\n• استفاده از Telnet به منظور باز نمودن پورت ها و جمع آوری اطلاعات اوليه\n• استفاده از پويشگرهای پورت به منظور تشخيص وضعيت پورت ها\n• استفاده از درخواست های broadcast برای شمارش تعداد host موجود بر روی يك subnet\n• استفاده از امكاناتی كه اطلاعات اضافه ای را در خصوص پيكربندی نظير نام و شماره نسخه نرم افزار ارائه نمی نمايد .\n• استفاده از فايروال ها به منظور پوشش سرويس هائی كه نمی بايست در معرض ديد و استفاده عموم قرار داده شوند .\nsniffing كه به آن "استراق سمع " نيز گفته می شود ، مانيتورينگ ترافيك شبكه برای داده هائی نظير رمزهای عبور ( رمزنشده) و يا اطلاعات پيكربندی است . با استفاده از يك برنامه packet sniffer ، می توان به سادگی تمامی ترافيك plain text ( رمز نشده ) را مشاهده نمود .\n• ضعف امنيت فيزيكی\n• ضعف رمزنگاری در زمان ارسال داده حساس و مهم\n• وجود سرويس هائی كه با يكديگر به صورت متن معمولی ( رمز نشده ) ارتباط برقرار می نمايند .\n• استفاده از الگوريتم های ضعيف رمزنگاری\n• استفاده از يك سيستم امنيت فيزيكی مناسب به منظور پيشگيری از نصب دستگاه های مخرب بر روی شبكه\n• رمزنگاری اطلاعات حساس و ترافيك برنامه بر روی شبكه\nspoofing ، كه به آن "هويت مبهم " نيز گفته می شود ، به كتمان هويت واقعی بر روی شبكه اطلاق می گردد . در اين رابطه از يك آدرس مبداء جعلی كه بيانگر آدرس اوليه صادركننده پيام نمی باشد ، استفاده می گردد . در بسياری موارد از spoofing به منظور مخفی كردن منبع بروز يك تهاجم استفاده می شود. در برخی موارد كه دستيابی به منابع موجود بر روی شبكه بر اساس آدرس متقاضيان انجام می شود ، مهاجمان با تغيير آدرس مبداء سعی می نمايند به اينگونه از منابع دستيابی پيدا نمايند .\n• ضعف در فيلترينگ بسته های اطلاعاتی ورودی و خروجی : ترافيك ورودی و خروجی شبكه به درستی كنترل و فيلتر نمی گردد (ingress & egress filtering )\n• ضعف در امنيت فيزيكی\n• مبادله اطلاعات به صورت رمزنشده\n• رمزنگاری Session\n• استفاده از روش Stateful inspection در سطح فايروال\nدر اين نوع از حملات ، امكان دستيابی كاربران مجاز به يك سرويس دهنده و يا سرويس خاص سلب می گردد .در حملات DoS لايه شبكه ، معمولا" مهاجمان با ارسال سيلابی از بسته های اطلاعاتی امكان استفاده از يك سرويس توسط ساير كاربران را سلب می نمايند . علاوه بر مشكل فوق ، در چنين مواردی از پهنای باند و منابع موجود بر روی شبكه استفاده بهينه نخواهد شد .\n• ضعف در پيكربندی روتر و سوئيچ\n• باگ در سرويسهای نرم افزاری\n• ارسال سيلابی از بسته های اطلاعاتی نظير حملات cascading broadcast\n• بسته های اطلاعاتی SYN flood\n• سوء استفاده از برخی سرويس ها\n• فيلترينگ درخواست های broadcast\n• فيلترينگ درخواست های ICMP ( برگرفته از Internet Control Message Protocol )\n• بهنگام سازی و نصب patches سرويس های نرم افزاری\nبدون آناليز صحيح تهديدات ،\nامكان ايجاد يك محيط و يا شبكه ايمن وجود نخواهد داشت .\nبرای ايمن سازی شبكه از كجا می بايست شروع كرد ؟\nبرای ايمن سازی شبكه می بايست بر روی هر يك از دستگاه های استفاده شده در شبكه متمركز و پس از بررسی چالش های امنيتی هر يك ، از راهكارهای خاصی به منظور ايمن سازی آنها استفاده نمود.\nهمانگونه كه اشاره گرديد در زيرساخت شبكه از روتر ، فايروال و سوئيچ استفاده می گردد كه می بايست ضمن آشنائی با جايگاه آنها در يك شبكه با نحوه عملكرد و ايمن سازی آنها از منظر برنامه های وب نيز آشنا شويم . در بخش سوم به بررسی موارد فوق خواهيم پرداخت .\nاصول امنيت برنامه های وب (بخش سوم)\nدر بخش اول به اين موضوع اشاره گرديد كه به منظور ايجاد برنامه های وب ايمن ، می بايست از يك رويكرد جامع تبعيت و بر روی سه لايه متفاوت شبكه ، host و برنامه متمركز گرديد. در بخش دوم با تمركز بر روی شبكه ، انواع تهديدات موجود بررسی گرديد . در اين بخش ضمن بررسی عناصر موجود در زير ساخت شبكه نظير روتر ، فايروال ، سوئيچ با ملاحظات امنيتی در خصوص بكارگيری روتر بيشتر آشنا خواهيم شد .\nعناصر موجود در زيرساخت شبكه\nزير ساخت شبكه را می توان به سه لايه متفاوت دستيابی ، توزيع و هسته تقسيم نمود . اين لايه ها شامل تمامی سخت افزارهای مورد نياز به منظور كنترل دستيابی به منابع داخلی و خارجی است . روتر ،سوئيچ و فايروال مهمترين عناصر موجود در زير ساخت يك شبكه می باشند .\n• روتر ، حلقه ارتباطی شبكه به دنيای خارج است و كانال بسته های اطلاعاتی به پورت ها و پروتكل های مورد نياز در برنامه های وب را ايجاد می نمايد . مسئوليت روتر ارسال بسته های اطلاعاتی IP به شبكه هائی است كه به آنها متصل شده است . بسته های اطلاعاتی ممكن است درخواست های ارسالی سرويس گيرندگان به سرويس دهنده وب ، پاسخ به درخواست های ارسالی و يا درخواست های صادره توسط سرويس گيرندگان داخلی شبكه باشد . پيكربندی روتر می بايست بگونه ای انجام شود تا ترافيك غيرضروری و غير مجاز را بين شبكه ها فيلتر نمايد . همچنين ، روتر می بايست در مقابل پيكربندی مجدد غيرمطمئن حفاظت و از اينترفيس های مديريتی ايمن به منظور پيكربندی مطمئن آن استفاده نمود . با توجه به نقش كليدی نرم افزار IOS در روتر ، می بايست همواره آخرين patch و نسخه های بهنگام شده بر روی آنها نصب گردد .\n• فايروال ، مسئوليت بلاك كردن تمامی پورت های غيرضروری را برعهده داشته و اين امكان را فراهم می نمايد كه ترافيك صرفا" از طريق پورت های شناخته شده انجام پذيرد. فايروال ها به منظور پيشگيری از حملات شناخته شده ، می بايست دارای امكانات مناسبی به منظور مانيتورينگ درخواست های ورودی باشند . فايروال ها با همكاری نرم افزارهائی كه از آنها به منظور تشخيص مزاحمين استفاده می گردد ، قادر به ايجاد يك محيط ايمن عملياتی می باشند . همانند روتر ، فايروال ها بر روی محيطی اجراء می گردند كه مسئوليت مديريت آن بر عهده يك سيستم عامل گذاشته شده است . بنابراين لازم است كه در فواصل زمانی خاص نرم افزارهای تكميلی و بهنگام شده بر روی آنها نصب گردد . همچنين ، مديريت فايروال می بايست از طريق اينترفيس های ايمن انجام و پورت هائی كه به وجود آنها نياز نمی باشد را غيرفعال نمود .\n• از سوئيچ به منظور تقسيم شبكه به چندين سگمنت استفاده می گردد . سوئيچ دارای كمترين نقش در خصوص ايمن سازی يك شبكه می باشد . يكی از علل طراحی سوئيچ ، بهبود كارآئی و تسهيل در امر مديريت شبكه است .\nروتر و ملاحظات امنيتی آن\nاولين خط دفاعی در يك شبكه را روتر تشكيل می دهد . روتر علاوه بر قابليت روتينگ بسته های اطلاعاتی می تواند بگونه ای پيكربندی گردد تا بسته های اطلاعاتی را بر اساس نوع آنها شناسائی و آندسته از بسته های اطلاعاتی را كه ممكن است زمينه بروز حملات و تهديدات در يك شبكه را ايجاد نمايد ، بلاك نمايد . نظير ICMP ( برگرفته از Internet Control Message Protocol ) و يا SNMP ( برگرفته از Simple Network Management Protocol ) .\nبرای پيكربندی روتر با رعايت ملاحظات امنيتی ، اقدامات متعددی را می بايست در هر يك از گروه های زير انجام داد :\n• نصب آخرين نسخه های بهنگام شده و patch ارائه شده\n• پروتكل ها\n• دستيابی مديريت\n• سرويس ها\n• تشخيص مزاحمين\n• مميزی و لاگ نمودن\nدر ادامه به بررسی هر يك از موارد فوق خواهيم پرداخت .\nنصب آخرين نسخه های بهنگام شده و patch ارائه شده\nبا عضويت در خبرنامه شركت هائی كه از محصولات نرم افزاری و يا سخت افزاری آنها در زيرساخت فن آوری اطلاعات استفاده شده است ، می توان به سرعت از توصيه های امنيتی آنها آگاهی يافت . شركت های معتبر در صورت بروز مشكل در يك محصول سخت افزاری و يا نرم افزاری در اولين فرصت اقدام به ارائه patch مربوطه می نمايند و اين موضوع را از طريق پست الكترونيكی به اطلاع مشتركان خود می رسانند . توجه داشته باشيد كه همواره قبل از بكارگيری نسخه های بهنگام شده در يك محيط عملياتی ، آنها را تست و پس از حصول اطمينان از صحت عملكرد اقدام به نصب نهائی آنها در محيط واقعی نمود .\nبرخی از حملات نظير DoS به دليل وجود ضعف امنيتی در پروتكل ها اتفاق می افتد . به عنوان نمونه ، مهاجمان می توانند با ارسال سيلابی از بسته های اطلاعاتی سرويس و يا سرويس های ارائه شده توسط يك سرويس دهنده را غيرفعال نمايند. به منظور پيشگيری و پاسخ به موقع به اين نوع از حملات می بايست اقدامات زير را انجام داد :\n• استفاده از فيلترينگ ورودی و خروجی : بسته های اطلاعاتی مشكوك می تواند بيانگر كنكاش در شبكه ، تهاجم و يا يك كسب آگاهی لازم از وضعيت شبكه موجود توسط يك مهاجم باشد . بسته های اطلاعاتی دريافتی شامل يك آدرس داخلی می تواند نشاندهنده تلاش جهت نفوذ به شبكه و آناليز آن باشد . با اين نوع بسته های اطلاعاتی می بايست در اولين محل ممكن برخورد نمود ( Perimeter network ) . همچنين ، می بايست پيكربندی روتر بگونه ای انجام شود كه صرفا" اجازه خروج بسته های اطلاعاتی با آدرس های IP داخلی معتبر را بدهد . بررسی بسته های اطلاعاتی خروجی ، يك شبكه را در مقابل حملات از نوع DoS محافظت نخواهد كرد ولی اين تضمين را ايجاد خواهد كرد كه حمله ای با محوريت يكی از سرويس گيرندگان شبكه داخلی شكل نخواهد گرفت .\n• مشاهده ترافيك ICMP از شبكه داخلی : ICMP يك پروتكل stateless است كه اجازه بررسی اطلاعات در دسترس هاست را از يك هاست به هاست ديگر فراهم می نمايد . از پيام های مبتتی بر ICMP در موارد متداول زير استفاده می گردد :\nEcho request : مشخص می نمايد كه يك گره IP ( يك هاست و يا روتر ) بر روی شبكه در دسترس است .\nEcho reply : پاسخ به يك درخواست ICMP echo\nDestination unreachable : به هاست اعلام می شود كه ديتاگرام نمی تواند توزيع گردد .\nSource quench : به هاست اعلام می شود كه ديتاگرام ارسالی را با نرخ پائين تری ارسال نمايد ( به دليل شلوغی )\nRedirect : به هاست يك مسير روت بهتر اعلام می شود .\nTime Exceeded : نشاندهنده اين موضوع است كه عمر مفيد (TTL : Time to live ) يك ديتاگرام به اتمام رسيده است .\nبلاك كردن ترافيك ICMP برروی روتر perimeter باعث حفاظت شبكه در مقابل حملاتی نظير Cascading ping floods می گردد . برای بلاك كردن اين پروتكل دلايل قانع كننده متعددی وجود دارد . عليرغم ديد انتقادی امنيتی نسبت به اين پروتكل ، از آن در موارد متعددی نظير اشكال زدائی شبكه استفاده می گردد. بنابراين لازم است كه استفاده از پروتكل ICMP كاملا" كنترل شده باشد .\n• پيشگيری از پيام های TTL كه اعتبار آنها به اتمام رسيده است با مقادير صفر و يك : برای شمارش تعداد hop بين يك سرويس گيرنده و يك سرويس دهنده ، trace routing از مقادير TTL صفر و يا يك استفاده می نمايد . trace routing ، به مفهوم جمع آوری اطلاعات توپولوژی شبكه است . با بلاك كردن اينچنين بسته های اطلاعاتی ، از ارائه اطلاعات تكميلی كه بيانگر جزئيات شبكه موجود است پيشگيری می گردد .\n• عدم دريافت و يا فوروارد ترافيك directed broadcast : ترافيك هائی اينچنين قادر به شمارش تعداد هاست موجود بر روی يك شبكه می باشند و از آن به عنوان ابزاری جهت آماده سازی و تدارك حملات DoS استفاده می گردد . بسته های اطلاعاتی كه حاوی آدرس های مبداء زير می باشند را می بايست بلاك نمود :\nشرح آدرس مبداء\nHistorical broadcast 0.0.0.0/8\nRFC 1918 Private network 10.0.0.0/8\nLink local networks 169.254.0.0/16\nRFC 1918 private network 172.16.0.0/12\nRFC 1918 private network 192.168.0.0/16\nClass D multicast 224.0.0.0/4\nClass E reserved 240.0.0.0/5\nپيكربندی روتر از چه مكانی و به چه صورت انجام می شود ؟ كدام پورت ها و اينترفيس ها فعال است و مديران شبكه از چه شبكه و يا هاستی برای پيكربندی روتر استفاده می نمايند ؟ دستيابی به مكان پيكربندی روتر میبايست محدود و هرگز از اينترفيس های مديريتی تحت وب بدون رمزنگاری و رعايت مسائل امنيتی نمی بايست استفاده گردد . علاوه بر اين رعايت موارد زير نيز توصيه می گردد :\n• غيرفعال كردن اينترفيس هائی كه از آنان استفاده نمی گردد : صرفا" می بايست اينترفيس های مورد نياز بر روی روتر فعال گردند .\n• ايجاد رمزهای قوی : از رمزهای عبور مناسب و قدرتمند به منظور استفاده در هر mode روتر می بايست استفاده گردد . استفاده تركيبی از حروف الفبائی ، اعداد و حروف ويژه به منظور تعريف يك رمز عبور مناسب توصيه می گردد .\n• استفاده از روتينگ استاتيك : روتينگ ايستا از تغيير اطلاعات موجود در جدول روتينگ پيشگيری می نمايد . يك مهاجم ممكن است بتواند با تغيير مسيرها حملات از نوع DoS را برنامه ريزی و يا درخواست ها را به يك سرويس دهنده مخرب هدايت نمايد .\n• بازبينی اينترفيس های مديريتی وب : حتی المقدور سعی گردد كه اينترفيس های مديريتی خارجی غيرفعال و از روش های دستيابی داخلی به همراه ليست های دستيابی استفاده گردد .\nبر روی يك روتر پيكربندی شده هر پورت فعال با يك سرويس خاص مرتبط می گردد . به منظور كاهش ميدان عملياتی مهاجمان ، سرويس های پيش فرض كه به وجود آنان نياز نمی باشد را می بايست غيرفعال نمود . به عنوان نمونه سرويس های bootps و finger كه از آنان بندرت استفاده می گردد را می توان غيرفعال نمود . همچنين لازم است پورت هایفعال بر روی روتر بررسی و پورت هائی را كه به وجود آْنها نياز نمی باشد را غيرفعال نمود.\nبازبينی و لاگينگ\nبه صورت پيش فرض ، روتر تمامی عمليات deny را لاگ می نمايد . وضعيت فوق نمی بايست تغيير داده شود .همچنين لازم است كه فايل های لاگ شده به صورت اداواری بررسی تا از وقوع حملات احتمالی پيشگيری بعمل آيد . برخی از روترهای مدرن دارای مجموعه ای از امكانات جديد به منظور انجام عمليات مختلف و آماری بر روی داده لاگ شده می باشند .\nبه منظور پيشگيری از حملات مبتنی بر TCP/IP ، روتر می بايست قادر به شناسائی زمان بروز يك تهاجم و اعلام آن به مدير سيستم باشد . مهاجمان در ابتدا سعی می نمايند كه با اولويت های امنيتی يك شبكه آشنا شده و در ادامه با تمركز بر روی آنها حملات خود را برنامه ريزی می نمايند . با استفاده از سيستم های تشخيص دهنده مزاحمين ( IDS برگرفته شده از Intrusion Detection Systems ) ، می توان زمان و ماهيت وقوع يك تهاجم را بررسی نمود .\nدر اين مطلب ضمن بيان عناصر كليدی موجود در زيرساخت يك شبكه به مسائل امنيتی مرتبط با روتر اشاره گرديد . به منظور پيكربندی ايمن روتر ، اقدامات متعددی را می بايست انجام داد :\n• نصب آخرين patch و نسخه های بهنگام شده\n• عضويت در خبرنامه امنيتی توليد كنندگان (سخت افزار، نرم افزار )\n• بلاك كردن پورت های شناخته شده\n• كنترل و نظارت بر ترافيك ورودی و خروجی شبكه\n• مانيتورينگ ترافيك ICMP\n• مديريت و كنترل ايمن اينترفيس ها\n• غيرفعال كردن امكان مديريت از طريق وب\n• استفاده از روتينگ ايستا\n• غيرفعال كردن سرويس های استفاده نشده نظير bootps و Finger\n• استفاده از از رمزهای عبور قدرتمند\n• لاگ كردن فعاليت ها به منظور تشخيص و بررسی ادواری ترافيك غيرطبيعی\n• مشاهده و كنترل ping بسته های اطلاعاتی با ظرفيت بالا\n• غير فعال كردن بسته های اطللاعاتی RIP ( برگرفته از Routing Information Protocol ) در صورت استفاده بر روی روتر مرزی\nدر بخش چهارم به بررسی فايروال و ملاحظات امنيتی در ارتباط با آن خواهيم پرداخت .\nاصول امنيت برنامه های وب (بخش چهارم)\n• بخش اول : تبعيت از يك رويكرد جامع به منظور ايجاد برنامه های وب ايمن و تمركز بر روی سه لايه شبكه ، host و برنامه\n• بخش دوم : بررسی انواع تهديدات در شبكه های كامپيوتری ( لايه شبكه و جايگاه آن در ايمن سازی محيط های عملياتی )\n• بخش سوم : بررسی ملاحظات امنيتی در خصوص بكارگيری روتر ( لايه شبكه و بررسی عناصر موجود در زير ساخت شبكه )\nدر اين بخش به بررسی فايروال و ملاحظات امنيتی در ارتباط با آن خواهيم پرداخت .\nهمانگونه كه در بخش دوم اشاره گرديد ، زير ساخت شبكه را می توان به سه لايه متفاوت دستيابی ، توزيع و هسته تقسيم نمود . اين لايه ها شامل تمامی سخت افزارهای مورد نياز به منظور كنترل دستيابی به منابع داخلی و خارجی است . روتر ،سوئيچ و فايروال مهمترين عناصر موجود در زير ساخت يك شبكه می باشند .\nفايروال می بايست در هر مكانی كه شبكه شما با يك شبكه غيرايمن تعامل دارد ، نصب و پيكربندی گردد ( خصوصا" اگر اين شبكه اينترنت باشد ). توصيه می گردد كه سرويس دهندگان وب و بانك اطلاعاتی توسط يك فايروال داخلی حفاظت گردند .\nپس از روتر كه امكانات متعددی را به منظور فيلترينگ بسته های اطلاعاتی در اختيار قرار می دهد ( استفاده از ليست های كنترل دستيابی ) ، فايروال ها دارای جايگاهی مهم در ايجاد سيستم تدافعی و حفاظتی در يك شبكه می باشند . بديهی است كه مهاجمان برای نفوذ در يك شبكه بر روی دو نقطه فوق بيش از ساير نقاط متمركز شده و از ضعف امنيتی آنان در جهت اهداف مخرب استفاده نمايند. تعداد زيادی از فيلترها و ليست های كنترل دستيابی ( ACLs ) كه در رابطه با روتر اعمال شده است را می توان بر روی يك فايروال نيز پياده سازی نمود .\nبرای نصب و پيكربندی فايروال با رعايت ملاحظات امنيتی ، اقدامات متعددی را می بايست در هر يك از گروه های زير انجام داد :\n• بهنگام سازی و نصب patches\n• تعريف فيلترها متناسب با سيستم فيلترينگ انتخابی\n• مميزی و لاگ حوادث امنيتی\n• استفاده مناسب و بهينه از شبكه های Perimeter\nدر ادامه به تشريح عمليات مرتبط با هر يك از گروه های فوق خواهيم پرداخت .\nبهنگام سازی و نصب patches\nبا عضويت در خبرنامه شركت هائی كه از محصولات نرم افزاری و يا سخت افزاری آنها در زيرساخت فن آوری اطلاعات استفاده شده است ، می توان به سرعت از توصيه های امنيتی آنها آگاهی يافت . شركت های معتبر در صورت بروز مشكل در يك محصول سخت افزاری و يا نرم افزاری در اولين فرصت اقدام به ارائه patch مربوطه می نمايند و اين موضوع را از طريق پست الكترونيكی به اطلاع مشتركان خود می رسانند . توجه داشته باشيد كه همواره قبل از بكارگيری نسخه های بهنگام شده در يك محيط عملياتی ، آنها را تست و پس از حصول اطمينان از صحت عملكرد ، اقدام به نصب نهائی آنها در محيط واقعی نمود .\nفيلترينگ پورت ها بر روی فايروال روشی موثر و كارآمد برای بلاك كردن بسته های اطلاعاتی مخرب و payload می باشد. امروزه از فناوری های متعددی به منظور فيلترينگ بسته های اطلاعاتی استفاده می گردد . عملكرد اين فايروال ها می تواند ساده نظير فايروال های packet filter باشد كه با بررسی هدر IP در لايه شبكه قادر به فيلترينگ بسته های اطلاعاتی بر اساس آدرس مبداء ، آدرس مقصد و شماره پورت می باشند و يا فايروال های پيچيده نظير فايروال هائی باشد كه قادر به بررسی payload يك برنامه خاص می باشند . در استراتژی دفاع در عمق ، استفاده از فيلترهای لايه ای به عنوان يك روش موثر به منظور بلاك كردن حملات پيشنهاد می گردد .\nفايروال ها برای فيلترينگ از روش های متعددی استفاده می نمايند :\n• Packet filters : اين نوع فيلترها قادر به فيلترينگ بسته های اطلاعاتی بر اساس پروتكل ، آدرس مبداء و مقصد ، شماره پورت مبداء و مقصد و يا نام كامپيوتر می باشند . فيلترينگ بسته های اطلاعاتی IP ايستا می باشد و مبادله داده از طريق يك پورت خاص بلاك و يا امكان پذير می گردد . بسته های اطلاعاتی بلاك شده لاگ می گردد تا در آينده بتوان رفتار غيرطبيعی شبكه را در مقاطع زمانی خاص بررسی نمود . در لايه شبكه ، payload ناشناخته است و می تواند خطرناك باشد . بدين منظور لازم است از نوع های خاصی از فيلترينگ هوشمند استفاده گردد تا امكان بررسی payload و اتخاذ تصميم بر اساس قوانين كنترل دستيابی فراهم گردد .\n• Circuit-level filters : در اين نوع فيلترها در مقابل بررسی داده payload ، اطلاعات مربوط به session بررسی می گردد . پس از ايجاد يك درخواست توسط سرويس گيرنده و ارسال مستقيم آن برای فايروال ( و يا gateway ) ، در پاسخ gateway يك ارتباط به سرويس دهنده برای وی را مقداردهی اوليه كرده و خود به عنوان يك كارگزار بين دو نقطه ارتباطی ايفای وظيفه می نمايد . اين نوع فيلترها با آگاهی از قوانين اتصال سطح برنامه ها اين اطمينان را ايجاد می نمايند كه صرفا" بين سرويس گيرنده و سرويس دهنده ارتباطات معتبر برقرار می گردد . همانگونه كه اشاره گرديد فيلترهای فوق payload واقعی را بررسی نمی نمايند و در مقابل ، به منظور حصول اطمينان از يكپارچگی بسته های اطلاعاتی و پيشگيری از سرقت session ، اقدام به شمارش تعداد فريم ها می نمايند .\n• Application filters : فيلترهای هوشمند application قادر به آناليز داده ارسالی برای يك برنامه بوده و می توانند پردازش های مختص برنامه شامل بررسی ، گزينش ، بلاك نمودن ، تغيير مسير و حتی تغيير داده را در زمان ارسال از طريق فايروال انجام دهند . اين نوع فيلترها قادر به ارائه يك سيستم تدافعی مناسب در مقابل حملاتی نظير دستورات غيرايمن SMTP ، تهاجم بر عليه سرويس دهندگان داخلی DNS ، حملات مبتنی بر HTTP ( نظير Code Red و Nimda كه از دانش در ارتباط با برنامه ها استفاده می كردند ) ، می باشند . به عنوان نمونه ، يك application filter قادر به بلاك نمودن يك دستور HTTP DELETE می باشد ولی امكان اجرای دستوری نظير يك HTTP GET را فراهم می نمايد . قابليت گزينش محتويات شامل تشخيص ويروس و آناليز واژه ای ، اين نوع فايروال ها را به عنوان گزينه ای مطلوب در وب مطرح نموده است .\n• Stateful inspection : فيلترهای Application محدود به دانش Payload يك بسته اطلاعاتی می باشند و صرفا" سيستم تصميم گيری آنها بر اساس payload انجام می شود . فيلترهای Stateful از payload و context آن به منظور تشخيص قوانين فيلترينگ استفاده می نمايند . استفاده از payload و محتويات بسته اطلاعاتی توسط فايروال های فوق، يكپارچگی session و communication را تضمين می نمايد .\n• Custom application filters : اين نوع فيلترها يكپارچگی مبادله اطلاعات بين سرويس دهنده و سرويس گيرنده را ايجاد می نمايند .\nدر صورت استفاده از فيلترينگ در چندين سطح شبكه ، امنيت محيط عملياتی بيشتر می گردد . به عنوان نمونه ، از يك packet filter می توان به منظور بلاك نمودن ترافيك IP بر روی هر پورتی غير از پورت 80 استفاده نمود و از يك application filter به منظور اعمال محدوديت در ترافيك بر اساس ماهيت توابع HTTP استفاده نمود ( به عنوان نمونه می توان HTTP DELETE را بلاك نمود ) .\nمميزی و لاگ\nتمامی درخواست های ورودی و خروجی را می بايست صرفنظر از قوانين فايروال لاگ نمود تا امكان تشخيص تلاش برای نفوذ در شبكه و يا حملات موفيقت آميزی كه قبلا" اتفاق افتاده و امكان تشخيص آنها وجود نداشته است ، فراهم گردد . مديران شبكه در برخی موارد مجبور خواهند بود به منظور آگاهی از نحوه انجام يك تهاجم موفقيت آميز ، لاگ های سيستم را بررسی تا نقاط ضعف امنيتی موجود را ترميم و سيستم تدافعی خود را مستحكم تر نمايند . برای ايجاد لاگ و مميزی بكارگيری قوانين زير پيشنهاد می گردد :\n• لاگ نمودن تمامی ترافيكی كه از طريق فايروال انجام می شود\n• نگهداری ايمن و مطمئن فايل های لاگ و بررسی آن در بازه های زمانی خاص ( حتی المقدور می بايست سعی شود كه حجم فايل های لاگ زياد نگردد چراكه بررسی آنها به همان ميزان به زمان بيشتری نياز خواهد داشت ) .\n• يكسان نمودن زمان و تاريخ فايروال با ساير تجهيزات شبكه ای\n23.06.2016, 01:00 Top | #3\nشبكه های Perimeter\nاز يك فايروال می بايست در هر مكانی كه سرويس دهندگان شما با يك شبكه تائيد نشده تعامل دارند ، استفاده گردد . در صورتی كه سرويس دهندگان وب شما به يك شبكه back-end متصل می شوند ( نظير سرويس دهندگان بانك اطلاعاتی ) ، می بايست دو شبكه را از يكديگر تفكيك نمود . محل استقرار سرويس دهندگان وب ( ناحيه وب ) در معرض ديد عموم قرار دارد . بديهی است كه بروز خطر در ناحيه فوق نمی بايست شبكه های درونی سازمان را با مشكل مواجه نمايد . به صورت پيش فرض ، شبكه Perimeter می بايست تمامی ارتباطات خروجی را بجز آنانی كه انتظارشان را داريم ، بلاك نمايد .\nمزايای يك شبكه Perimeter\nشبكه های Perimeter دارای مزايای زير می باشند :\n• هاست ها مستقيما" در معرض ديد شبكه های تائيد نشده نمی باشند .\n• سرويس های فعال تنها نقطه حملات خارجی می باشند .\n• از قوانين امنيتی می توان به منظور كنترل دستيابی بين شبكه ها استفاده نمود .\nمعايب يك شبكه Perimeter\nشبكه های Perimeter دارای معايب زير می باشند :\n• پيچيدگی شبكه\n• مديريت و اختصاص آدرس IP\n• ايجاد هماهنگی لازم بين معماری برنامه و طراحی شبكه Perimeter\nدر اين مطلب به مسائل امنيتی مرتبط با فايروال اشاره گرديد . به منظور پيكربندی ايمن فايروال ، اقدامات متعددی را می بايست انجام داد :\n• نصب آخرين patch و نسخه های بهنگام شده : نرم افزار فايروال و سيستم عامل می بايست با استفاده از آخرين نسخه های امنيتی بهنگام گردند.\n• لاگ و مميزی : تمامی ترافيك مجاز می بايست ثبت و در فواصل زمانی مشخص بررسی گردد .\n• استفاده از يك سيستم فيلترينگ چند لايه\n• استفاده از شبكه های Perimeter ( در مواردی كه لازم است چندين شبكه به سرويس دهندگان دستيابی داشته باشند ) .\n• استفاده از فايروال در نقاطی كه شبكه شما با يك شبكه تائيد نشده تعامل دارد .\nدر بخش پنجم به بررسی سوئيچ و ملاحظات امنيتی در ارتباط با آن و جمع بندی ايمن سازی شبكه خواهيم پرداخت .\nايجاد يک ارتباط ايمن در برنامه های وب( بخش اول )\nپرداختن به مقوله امنيت در برنامه های وب با توجه به ماهيت اين نوع از برنامه ها و جايگاه آنان در ارائه سرويس ها و خدمات پيشرفته ای همچون تجارت الکترونيکی بسيار حايز اهميت است . زمانيکه در رابطه با امنيت برنامه های وب بحث می شود، می بايست بر روی دو محور اساسی متمرکز گرديد:\n• با استفاده از چه مکانيزمهائی می توان دستيابی کاربران به يک برنامه را کنترل و پس از شناسائی آنان ، امکان استفاده از برنامه را برای کاربران تائيد شده و متناسب با سطح دستيابی فراهم نمود؟\n• برخی از برنامه های وب ، اطلاعات حساس متعددی را از طريق محيط انتقال و زير ساخت ايجاد شده ، ارسال و يا دريافت می دارند . در اين رابطه از چه نوع مکانيزمهائی می بايست استفاده گردد تا اين اطمينان حاصل شود که اطلاعات حساس ارسالی (نظير اطلاعات مربوط به کارت های اعتباری ) ، توسط افراد غير مجاز قابل خواندن نبوده و امکان دستکاری آنان نيز وجود نداشته باشد.دريافت کننده اطلاعات، می بايست از صحت اطلاعات ارسالی،اطمينان حاصل نمايد . اين نوع از برنامه های وب ، نيازمند استفاده از يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده می باشند . وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده در برنامه ها ی وب تجاری و يا سايت هائی که بر روی آنان کالا و يا خدماتی عرضه می گردد ، بسيار حائز اهميت بوده و از موارد حياتی در موفقيت آنان محسوب می گردد .\nدر مجموعه مقالاتی که با عنوان "امنيت برنامه های وب " ارائه گرديد، اولين محور امنيتی در رابطه با برنامه های وب ، بررسی و در اين راستا با تمرکز بر روی پلت فرم دات نت مايکروسافت ، با روش های پياده سازی آن در برنامه های وب دات نت ، آشنا شديم . در مجموعه مقالاتی که ارائه خواهد شد ، به بررسی محور دوم امنيت در برنامه های وب خواهيم پرداخت . در اين رابطه لازم است در ابتدا با ملزومات لازم به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده آشنا شده و در ادامه به بررسی نحوه پياده سازی يک ارتباط ايمن در برنامه های وب دانت نت ، خواهيم پرداخت .\nضرورت ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده\nهمانگونه که اشاره گرديد ، برخی از برنامه های وب ، اطلاعات حساسی را از سرويس گيرنده اخذ و در ادامه ، اطلاعات دريافتی بر اساس زيرساخت موجود برای سرويس دهنده ارسال می گردد. سرويس گيرنده نيز ممکن است اطلاعات حساسی را ( اغلب به منظور تائيد دريافت ) برای سرويس گيرنده ارسال نمايد . بنابراين اين نوع از برنامه ها نيازمند وجود يک کانال ارتباطی ايمن به منظور مبادله اطلاعات می باشند . به منظور آشنائی بيشتر با اهميت و جايگاه يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، به بررسی تجارت الکترونيکی و از زاويه برنامه های وب و ارتباطات ايمن ، اشاره می گردد .\nاينترنت فرصتی استثنائی و طلائی را برای سازمان ها و موسسات ارائه دهنده کالا و يا خدمات فراهم نموده است که بتوانند با استفاده از زيرساخت موجود ، خدمات و يا کالای خود را در اخيتار متقاضيان و در عرصه جهانی قرار دهند .حجم فروش online در سال 2002 ، نشاندهنده رشد چشمگير تجارت الکترونيکی است : امريکا 47 / 43 ميليارد دلار ، اروپا 29 / 28 ميليارد دلار ، آسيای جنوب شرقی 15 ميليارد دلار ، امريکای لاتين 3 / 2 ميليارد دلار و افريقا ، 4 ميليون دلار . بر اساس گزارش DoC)Department of Commerce) امريکا ، فروش Online در سه ماهه چهارم سال 2002 بالغ بر 33 / 14 ميليارد دلار بوده که نسبت به مدت مشابه در سال 2001 ، بيش از 2 / 28 درصد رشد و نسبت به سه ماهه سوم سال 2002 ، بيش از 3 / 29 درصد را داشته است .\nعليرغم وجود مزايا و فرصت های تجاری online ، در اين رابطه چالش ها و مسائل خاصی وجود داشته که می بايست به دقت بررسی و راهکار مناسب برای آنان انتخاب گردد. بر اساس مطالعه ای که توسط موسسه Yankelovich Partners ، انجام شده است ، هشتاد و پنج درصد افراد شرکت کننده درنظر سنجی ، به اين موضوع اشاره داشته اند که آنان اطمينان لازم در خصوص ارسال شماره کارت اعتباری خود را در اينترنت ندارند. خريداران صرفا" پس از حصول اطمينان از وجود امنيت لازم ، اقدام به ارسال اطلاعات و خريد کالا و يا خدمات از طريق وب سايت ها ی مربوطه می نمايند. بديهی است شرط اوليه موفقيت سايت های تجاری Online ، افزايش ضريب اعتماد کاربران می باشد .در اين راستا، ايجاد يک زيرساخت ارتباطی ايمن ، جايگاه و اهميت خاص خود را پيدا می کند . به منظور ايمن سازی تجارت الکترونيکی ، می بايست از يک زيرساخت قابل اعتماد و ايمن ، استفاده گردد.\nبا استفاده از رمزنگاری PKI) Public Key Infrastructure ) و تکنولوژی امضای ديجيتالی از طريق گواهينامه های ديجتالی SSL) Secure Sockets Layer) ، امکان تائيد کاربران ، پيوستگی و انسجام داده ها ، حصول اطمينان از عدم خواندن و يا دستکاری اطلاعات ارسالی و ساير ملزومات امنيتی لازم در خصوص تجارت الکترونيکی، فراهم می گردد .به منظور ايجاد يک زيرساخت ايمن برای فعاليت های تجاری ، به دو عنصر مهم زير نياز می باشد :\n• گواهينامه های ديجيتالی برای سرويس دهندگان وب تا امکان تائيد ، پيوستگی و محرمانگی اطلاعات در زمان رمزنگاری ، فراهم گردد .\n• يک سيستم مديريت پرداخت online ايمن که امکان فعاليت های تجاری online را برای وب سايت های مربوطه فراهم و بصورت اتوماتيک درخواست ها را مديريت نمايد (دريافت ، پردازش ، پرداخت ) .\nدر ادامه با عناصر لازم به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، آشنا خواهيم شد .\nرمزنگاری کليد عمومی و گواهينامه ديچِيتالی\nرمزنگاری کليد عمومی و سيستم زيربنائی SSL از جمله ملزومات مورد نياز برای هر زيرساخت مطمئن در تجارت الکترونيکی می باشند. رمزنگاری ، فرآيندی است که در آن اطلاعات بگونه ای تبديل می گردند که برای تمامی افراد ( به غير از گيرندگان تائيد شده )، نامفهوم و عملا" غيرقابل استفاده باشند . در فرآيند فوق ، از فرمول های رياضی (الگوريتم های رمزنگاری ) و اعداد ( کليد ) ، به منظور رمزنگاری و رمزگشائی اطلاعات استفاده می گردد .\nرمزنگاری کليد خصوصی ( private key )\nمنداولترين نوع رمزنگاری مبتنی بر کليد ، رمزنگاری "کليد خصوصی" است . به اين نوع رمزنگاری ، متقارن ، سنتی ، رمز مشترک ، کليد رمز ، نيز گفته می شود . در اين نوع رمزنگاری ، فرستنده و گيرنده از کليد استفاده شده به منظور رمزنگاری اطلاعات ، آگاهی دارند. رمزنگاری کليدخصوصی ، گزينه ای مناسب به منظور مبادله اطلاعات بر روی اينترنت و يا ذخيره سازی اطلاعات حساس در يک بانک اطلاعاتی ، ريجستری و يا يک فايل می باشد . از روش فوق ، به منظورايمن سازی ارسال اطلاعات در شبکه های عمومی استفاده می گردد ( از گذشته تا کنون ) . ايده اوليه و اساسی در چنين سيستم هائی ، "اشتراک يک رمز" بوده و دو گروه شرکت کننده در مبادله اطلاعات ، بر روی يک "کليد رمزمشترک " ، با يکديگر توافق می نمايند. بدين ترتيب امکان رمزنگاری و رمزگشائی پيام ها برای هر يک از آنان با توجه به آگاهی از "کليد رمز " ، فراهم می گردد . شکل زير نحوه عملکرد رمزنگاری کليد خصوصی را نشان می دهد .\nرمزنگاری متقارن و يا کليد خصوصی دارای چندين نقطه ضعف می باشد. مبادله کليدهای رمز در شبکه های بزرگ امری دشوار و مشکل است .علاوه بر اين ، اشتراک کليدهای رمز ، مستلزم اين واقعيت است که فرستندگان و گيرندگان می بايست معتبر بوده و قبل از برقراری ارتباط ، آشنائی لازم را نسبت به يکديگر داشته باشند( با تمام افراديکه قصد ارتباط ايمن با آنان وجود داشته باشد ) . همچنين ، اين نوع سيستم های رمزنگاری ، نيازمند استفاده از يک کانال ايمن به منظور توزيع کليدهای " رمز" می باشند . در صورتيکه چنين کانال ايمنی وجود داشته باشد ، چرا از آن به منظور ارسال تمامی پيام رمز استفاده نشود ؟ درسيستم های مبتنی بر وب که دارای تعاملات گذرا و کاربران متعددی می باشند، به امکانات قدرتمندتری در ارتباط با رمزنگاری نياز خواهد بود.بنابراين ، رمزنگاری مبتنی بر کليد، عملا" به منظورايجاد يک ارتباط ايمن به تنهائی کافی نخواهد بود. توزيع و عرضه کليد ( يکی از مسائل مهم در ارتباط با مديريت کليد ) ، از جمله مسائل مهم و درعين حال موثر به منظور شناخت سيستم های رمزنگاری جديد می باشد. رمزنگاری کليد خصوصی دارای نقشی مهم در پروتکل SSL است( به همراه رمزنگاری کليد عمومی نامتقارن ) .\nرمزنگاری کليد عمومی ( Public Key )\nرمزنگاری کليد عمومی که از آن با نام رمزنگاری نامتقارن نيز ياد می گردد ، دارای يک تفاوت مهم با رمزنگاری کليد خصوصی است . رمزنگاری کليد عمومی از دو کليد متفاوت استفاده می نمايد : يک کليد برای رمزنگاری و کليدی ديگر برای رمزگشائی . در رمزنگاری کليد خصوصی ، فرض بر اين است که فرستنده و گيرنده دارای آگاهی لازم دررابطه با کليد استفاده شده در فرآيند رمزنگاری می باشند . در رمزنگاری کليد عمومی ، با استفاده از يک روش کاملا" ايمن يک کليد برای ارسال کننده اطلاعات ايجاد و وی با استفاده از کليد فوق ، اقدام به رمزنگاری و ارسال پيام رمز شده برای گيرنده می نمايد . امکان رمزگشائی پيام رمز شده صرفا" توسط دريافت کننده ، امکان پذير خواهد بود. در رمزنگاری کليد عمومی ، سيستم يک زوج کليد خصوصی و عمومی ايجاد می نمايد . کليد عمومی برای شخصی که از آن به منظور رمزنگاری يک پيام استفاده می نمايد ، ارسال می گردد. وی پس از رمزنگاری پيام با استفاده از کليد عمومی که دراختيار دارد ، پيام رمز شده را ارسال می نمايد . دريافت کننده با استفاده از کليد خصوصی ، اقدام به رمزگشائی پيام می نمايد .( ماهيت کليد خصوصی استفاده شده در رمزنگاری کليد عمومی ، مشابه کليد خصوصی استفاده شده در رمزنگاری کليد خصوصی نمی باشد ) .حتی اگر يک فرد مزاحم ، به کليد عمومی دستيابی پيدا نمايد وی نمی تواند با استفاده از آن اقدام به رمزگشائی پيام رمز شده نمايد ، چراکه رمزگشائی پيام ، صرفا" با استفاده از کليد خصوصی امکان پذير می باشد . برخلاف رمزنگاری کليد خصوصی ، کليد های استفاده شده در رمزنگاری کليد عمومی چيزی بمراتب بيشتر از رشته های ساده می باشند . کليد در اين نوع رمزنگاری دارای يک ساختار خاص با هشت فيلد اطلاعاتی است : از دو فيلد آن به منظور رمزنگاری با استفاده از کليد عمومی استفاده می گردد و شش فيلد ديگر به منظور رمزگشائی پيام با استفاده از کليد خصوصی مورد استفاده قرار می گيرد. در سيستم رمزنگاری کليد عمومی با توجه به عدم ضرورت مبادله رمز مشترک ، اولين مسئله در مديريت کليد برطرف می گردد. رمزنگاری کليد عمومی ، شامل مراحل زير است :\n• مرحله اول : وب سايت مورد نظر ، يک زوج کليد عمومی و خصوصی را ايجاد می نمايد .\n• مرحله دوم : وب سايت موردنظر ، کليد عمومی را برای کاربر ارسال می نمايد .\n• مرحله سوم : کاربر از کليد عمومی به منظور رمزنگاری داده مورد نظر خود استفاده می نمايد ( مثلا" شماره کارت اعتباری)\n• مرحله چهارم : کاربر پيام رمز شده ( در اين مثال عدد رمز شده ) را برای سرويس دهنده ارسال می نمايد .\n• مرحله پنجم : سرويس دهنده با استفاده از کليد خصوصی ، پيام رمز شده دريافتی را رمزگشائی می نمايد .\nسيستم های مدرن رمزنگاری : يک رويکرد ترکيبی\nدر سيستم های جديد رمزنگاری از ترکيب رمرنگاری مبتنی بر کليد عمومی و کليد خصوصی ، استفاده می گردد. هر يک از روش های فوق دارای مزايای خاص خود بوده که با استفاده و ترکيب مزايای موجود در هر يک می توان يک مدل جديد رمزنگاری را ايجاد نمود. حجم عمليات محاسباتی در مدل رمزنگاری کليد عمومی بالا می باشد ( در مقايسه با مدل رمزنگاری کليد خصوصی ) . با توجه به سرعت مناسب مدل رمزنگاری کليد خصوصی ( متقارن ) در رابطه با حجم گسترده ای از اطلاعات ، در سيستم های رمزنگاری پيشرفته ، عموما" از مدل رمزنگاری کليد عمومی به منظور عرضه کليد استفاده شده و در ادامه از مدل رمزنگاری خصوصی به منظور رمزنگاری حجم بالائی از اطلاعات استفاده می گردد . از سيستم های پيشرفته رمزنگاری در پروتکل SSL و به منظور ايمن سازی تراکنش های وب و يا ايمن سازی مدل نامه های الکترونيکی نظير S/MIME که در محصولاتی نظير مرورگر نت اسکيپ و IE پيش بينی شده است ، استفاده می گردد .\nمسئله مديريت کليد\nدر هر سيستم رمزنگاری ،مجموعه ای از مسائل عملی و سوالات مختلف در رابطه با وجود امنيت لازم ، ميزان اعتماد پذيری سيستم و رعايت حريم اطلاعات خصوصی ، مطرح می گردد. روش های رمزنگاری کليد عمومی و خصوصی که به آنان اشاره گرديد، دارای امکانات لازم به منظور پاسخگوئی وارائه اطمينان لازم در خصوص امنيت اطلاعات می باشند . مثلا" مرورگرهای وب از کليد عمومی يک وب سايت به منظور ارسال شماره کارت اعتباری برروی وب استفاده می نمايند . با روشی مشابه ، شخصی که به فايل ها و يا اطلاعات حفاظت شده و رمز شده دستيابی پيدا می نمايد ، می تواند با استفاده از يک کليد خصوصی ، اقدام به رمزگشائی آنان نمايد . در عمل ، هر يک از مسائل فوق ، نيازمند استفاده از يک کليد عمومی تضمين شده بوده که با استفاده از آن صحت عمليات رمزنگاری بين دو طرف درگير در فرآيند رمزنگاری تضمين و امکان دخالت افراد غير مجاز نيز سلب گردد . رويکرد فوق ، سوالات متنوع ديگری را ذهن ايجاد می نمايد :\n• چگونه می توان اطمينان حاصل نمود که کليد عمومی استفاده شده توسط مرورگر به منظور ارسال اطلاعات کارت اعتباری ، همان کليد عمومی مورد نظر وب سايت دريافت کننده اطلاعات کارت اعتباری می باشد؟ ( کليد عمومی تقلبی نباشد ) .\n• چگونه می توان با اطمينان اقدام به مبادله کليدهای عمومی خود برای متقاضيان نمود تا آنان با استفاده از آن اقدام به رمزنگاری و ارسال اطلاعات نمايند ؟\nبه منظور پاسخگوئی به اين نوع از سوالات و رفع نگرانی های موجود ، می بايست فرآيند نسبت دهی يک کليد عمومی ( يک ارتباط ايمن با يک کليد عمومی ، آغاز می گردد) به يک entity ( يک شی دلخواه که در يک تراکنش فعاليت دارد ) بصورت ايمن و مطمئن انجام شود ( Secure Binding ) .\nدر بخش دوم اين مقاله با امضای ديجيتالی ، گواهينامه های ديجيتالی X.509 ، گواهينامه ديجيتالی سرويس دهنده SSL و پروتکل SSL ، آشنا خواهيم شد.\nايجاد يک ارتباط ايمن در برنامه های وب ( بخش دوم )\nدر بخش اول اين مقاله به ضرورت های وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده اشاره و به بررسی برخی از ملزومات مورد نياز پرداخته گرديد. در بخش دوم اين مقاله به بررسی امضای ديجيتال و گواهينامه های ديجيتالی ، خواهيم پرداخت .برای ايجاد امنيت به چهار مولفه نياز می باشد : رمزنگاری ، الگوريتم های Hash ، امضای ديجيتال و گواهينامه های ديجيتال\nرمزنگاری ، فرآيندی است که هدف اصلی آن تبديل اطلاعات بگونه ای است که برای تمامی افراد بجزء افراد تائيد شده ، اطلاعات نامفهوم و عملا" غيرقابل استفاده باشد . در فرآيند فوق ، از فرمول های رياضی (الگوريتم های رمزنگاری ) و اعداد ( کليد ) ، به منظور رمزنگاری و رمزگشائی اطلاعات استفاده می شود . الگوريتم های رمزنگاری به دو گروه عمده تقسيم می گردند :\n• الگوريتم های محدود : در اين نوع الگوريتم ها ، محور امنيت اطلاعات بر محرمانه نگه داشتن الگوريتم استفاده شده در فرآيند رمزنگاری استوار است .\n• الگوريتم های مبتنی بر کليد : در اين نوع الگوريتم ها ، کليد محرمانه تلقی شده و الگوريتم می تواند در دسترس عموم باشد . در اين رابطه از دو مدل رمزنگاری عمده استفاده می گردد :\nکليد خصوصی ( متقارن ) : فرستنده و گيرنده از يک کليد يکسان به منظور رمزنگاری و رمزگشائی استفاده می نمايند .\nکليد عمومی ( نامتقارن ) : به ازای هر کاربر از دو کليد استفاده می شود. يکی از کليدها عمومی بوده و در دسترس همگان قرار داشته و کليد دوم بصورت محرمانه می باشد.\nويژگی مدل رمزنگاری کليد خصوصی\n• رمزنگاری و رمزگشائی داده با استفاده از کليد يکسانی انجام می شود .\n• تمامی کاربرانی که در يک گروه عضويت داشته و قصد اشتراک داده را بين خود دارند ، می بايست دارای کليد يکسانی باشند .\n• در صورتيکه يک کليد د چار مشکل گردد ( لورفتن ) ، تمامی کليد ها می بايست تعويض و با کليدی جديد جايگزين گردند .\n• مهمترين مسئله در ارتباط با اين مدل رمزنگاری ، عدم وجود امنيت لازم به منظور توزيع کليد است . . .\n• عدم استفاده از کليدهای مشابه\n• هر کاربر دارای يک زوج کليد ( عمومی ، خصوصی ) می باشد . از کليد عمومی به منظور رمزنگاری داده و از کليد خصوصی به منظور رمزگشائی داده استفاده می گردد.\n• اين مدل رمزنگاری تقريبا" 500 مرتبه کندتر از رمزنگاری کليد خصوصی ( متقارن ) است .\n• از مدل رمزنگاری عمومی به منظور مبادله کليد خصوصی و امضای ديجيتال استفاده می شود .\n• شکل زير ، فرآيند رمزنگاری مبتنی بر کليد عمومی بين دو کاربر را نشان می دهد :\nيک Hash که به آن Checksum ، پيام Digest و يا اثرانگشت ، نيز گفته می شود ، فرآيندی است که بصورت رياضی حجم يک جريان از داده را به يک طول ثابت کاهش می دهد ( معمولا" 128 و يا 160 بيت ) . عملکرد hash ، مشابه اثرانگشت يک شخص می باشد. اثرانگشت ، پارامتری منحصربفرد به منظور تشخيص هويت افراد بوده و در ادامه با استفاده از آن امکان دستيابی به ساير مشخصات افراد نظير : رنگ چشم ، قد ، جنسيت و ساير موارد دلخواه ، فراهم می گردد . اکثر توابع Hash از لحاظ رمزنگاری دارای عملکردی مشابه توابع رمزنگاری می باشند . در حقيقت ، برخی توابع hash صرفا" تغييرات اندکی را در توابع رمزنگاری ايجاد نموده اند . اکثر عمليات با دريافت يک بلاک از داده شروع و در ادامه با استفاده از يک فرآيند تکرارشونده و بکارگيری يک الگوريتم رمزنگاری ، تغييرات لازم در ارتباط با بيت ها ، اعمال می شود. hash ، دارای ويژگی های مهم زير می باشد :\n• امکان استنتاج ورودی از طريق خروجی وجود ندارد .\n• نمی توان دو ورودی را پيدا کرد که به ازای آنان خروجی يکسانی توليد گردد : احتمال توليد مقادير Hash يکسان برای دو مجموعه متفاوت از داده ها کمتر از 001 . / درصد است .\nالگوريتم های hashing ، از يک تابع ايمن رمزنگاری نظير Message Digest 5)MD5) و يا Secure Hash Algoritm)SHA) به منظور توليد يک مقدار Hash مرتبط با داده ورودی استفاده می نمايند . Hash ، يک نوع خاص از رمزنگاری يک طرفه است . برخی افراد ، hashing را به عنوان يک مدل رمزنگاری تلقی می نمايند . Hashing عملا" يک مدل رمزنگاری نمی باشد چراکه Hash نمی تواند رمزگشائی گردد ( بدست آوردن مقدار ورودی با اسنتاد و آناليز مقدار خروجی ) . شکل زير ، نحوه عملکرد الگوريتم SHA-1 ( نسخه شماره يک ، پياده سازی شده در سال 1994 ) را نشان می دهد :\nامضای ديجيتال ، ماحصل رمزنگاری مقدار Hash داده مبادله شده بوده و روشی ايمن به منظور امضای الکترونيکی اطلاعات با استفاده از کدها ويا علائمی است که از لحاظ الکترونيکی معادل يک امضای دستی می باشند. امضای ديجيتالی، مبتنی بر ترکيب ايده سنتی Hashing داده و رمزنگاری کليد عمومی است .يک مرکز معتبر صدور گواهينامه های ديجيتال ، گواهينامه های ديجيتالی صادرشده را به کليدهای عمومی مربوط به هر يک نسبت می دهد . فرآيند امضاء ، مخالف فرآيند رمزنگاری است : از کليد خصوصی به منظور رمزنگاری Hash و از کليد عمومی برای بررسی صحت امضاء ( رمزگشائی ) استفاده می شود .\nفرآيند امضای داده توسط فرستنده پيام :\n• دريافت پيام اوليه و محاسبه يک مقدار Hash با استفاده از يک الگوريتم hashing\n• رمزنگاری Hash توسط يک تابع رمزنگاری و اعمال کليد خصوصی توسط فرستنده پيام ( پيام اوليه به همراه مقدار Hash رمز شده ، يک پيام ديجيتالی امضاء شده را تشکيل می دهند ) .\n• ارسال پيام ديجيتالی امضاء شده برای گيرنده\nفرآيند بررسی صحت امضاء ارسالی همراه داده :\n• پس از دريافت پيام توسط گيرنده ، در ابتدا ، Hash رمز شده با استفاده از کليد عمومی فرستنده رمزگشائی می گردد ( Hash رمزگشائی شده ) .\n• محاسبه محلی مقدار Hash پيام ارسالی با استفاده از يک الگوريتم Hashing\n• مقايسه نتايج بدست آمده در مراحل قبل : Hash رمزگشائی شده با مقدارمحلی Hash مقايسه و در صورتيکه نتيجه يکسان باشد ، صحت و اعتبار پيام ارسال شده توسط فرستنده تائيد می گردد .\nلازم است به اين موضوع دقت شود که ضرورتی به رمزنگاری محتوی پيام وجود نداشته و صرفا" امضای ديجيتالی رمز می گردد( مگر اينکه شرايط خاصی در ارتباط با محرمانگی محتوی وجود داشته باشد که در چنين مواردی می بايست محتوی نيز رمزنگاری گردد ) . در صورتيکه به هر دليلی محتوی پيام توسط افراد غيرمجاز تغيير داده شود ، Hash رمز شده اوليه با مقداری که بصورت محلی مجددا" محاسبه می گردد ، مطابقت نداشته و صحت امضای فرستنده تائيد نمی گردد . همچنين ، ايجاد يک امضای تقلبی عملا" غيرممکن است ، چراکه افراد غير مجاز آگاهی لازم در ارتباط با کليد خصوصی را دارا نمی باشند ( رمزنگاری مقدار محاسبه شده Hash با در نظر گرفتن کليد خصوصی فرستنده انجام خواهد شد ) .\nقبل از اينکه کاربر B پيامی شامل امضای ديجيتال مربوط به کاربر A را قبول نمايد ( پذيرش ) ، می بايست اطمينان لازم در خصوص تعلق کليد عمومی به کاربر A را کسب نموده و مطمئن گردد که شخص ديگری خود را به عنوان کاربر A ، وانموده نکرده باشد. يکی از روش های موجود به منظور حصول اطمينان از ارسال پيام توسط کاربر A ، استفاده از يک مرکز معتبر به منظور تائيد تعلق کليد عمومی به کاربر A ، می باشد. چنين مراکزی CA) Certification Authority) ناميده می شوند. پس از تائيد هويت کاربر A ، مرکز صدور گواهينامه های ديجيتال ، پيامی شامل نام و کليد عمومی A صادر می نمايد . اين پيام ، گواهينامه ديجيتال ناميده می شود. گواهينامه ديجيتال ، يک فايل الکترونيکی است که بصورت منحصربفرد افراد و يا وب سايت ها را بر روی اينترنت شناسائی و امکان ارتباطات ايمن و محرمانه را فراهم می نمايد.عملکرد گواهينامه ديجيتال ، مشابه کارت شناسائی و يا گواهينامه رانندگی است . کارت های شناسائی با توجه به مجوزهای يک سازمان مسئول ، صادر می گردند . زمانيکه يک فرد درخواست يک کارت ملی را می نمايد ، يک موسسه مسئول ، بررسی لازم در ارتباط با هويت فرد متقاضی را انجام و پس از طی مراحل قانونی ( و ملزم نمودن متقاضی به تبعيت از قوانين موجود ) ، کارت شناسائی وی صادرمی گردد . زمانيکه يک کارت شناسائی نظير يک گواهينامه رانندگی صادر و به ديگران ارائه می گردد ، آنان قادر به شناسائی مالک آن می باشند. اين نوع کارت ها دارای مزايای امنيتی زير می باشند :\n• شامل اطلاعات شخصی به منظور تسهيل در شناسائی و رديابی صاحب کارت\n• شامل عکس و در صورت لزوم امضای مالک آن بوده تا امکان شناسائی موثرتر صاحب آن فراهم گردد .\n• شامل اطلاعات لازم و مورد نياز در ارتباط با شناسائی و تماس با مرکز صادرکننده مجوز\n• مقاوم در مقابل دستکاری و جعل\n• صادر شده توسط يک مرکز مجاز تا در صورت بروز شرايطی خاص نظير گم شدن و يا سرقت ، امکان باطل نمودن آن وجود داشته باشد.\nگواهينامه های ديجيتال توسط مراکز مجاز و معتبر ( CA) صادر و از آنان به منظور حصول اطمينان از شناسائی online موجوديت های متفاوت نظير افراد ، سايت ها و يا کامپيوترها ، استفاده می گردد . يک گواهينامه ديجيتال شامل اطلاعات متفاوتی در ارتباط با تشخيص هويت مالک آن بوده تا بتواند وی را به عنوان يک موجوديت بر روی شبکه ، شناسائی نمايد . گواهينامه ديجيتال يک ساختمان داده تعريف شده بر اساس استاندارد X.509 می باشد . در اين ساختمان داده اطلاعات متنوعی ذخيره می گردد. يک CA ، از کليد خصوصی خود به منظور شناسائی و تائيد گواهينامه های صادر شده توسط خود ، استفاده می نمايد . يکی از اطلاعات مهمی که در ساختمان داده فوق ، قرار می گيرد ، امضای ديجيتال مربوط به CA می باشد . CA ، يک مقدار Hash را در ارتباط با گواهينامه صادر شده ، ايجاد و آن را با استفاده از کليد خصوصی خود رمز و در نهايت آن را در گواهينامه صادر شده قرار می دهد . هر يک از کاربران می توانند به منظور اطمينان از معتبر بودن گواهينامه ديجيتالی صادر شده ، از تابع hash به همراه کليد عمومی CA استفاده نمايند. PKI ( زيرساخت کليد عمومی ) ، از فرمت X.509 نسخه شماره سه گواهينامه ديجيتال استفاده می نمايد . شکل زير ساختار اطلاعات موجود در گواهنيامه ديجيتال را با استفاده از فرمت X.509 نشان می دهد .\n• شماره نسخه : شماره نسخه فرمت گواهينامه را نشان می دهد ( مثلا" نسخه شمار ه سه )\n• شماره سريال گواهنيامه : يک شماره سريال منحصربفرد که توسط CA ، در نظر گرفته شده تا در ادامه امکان رديابی آن و باطل نمودن آن وجود داشته باشد.\n• شناسه الگوريتم گواهينامه : الگوريتم های رمزنگاری کليد عمومی و hashing که مراکز CA از آنان به منظور تائيد ديجيتالی گواهينامه ها استفاده می نمايند .\n• مرکز صادر کننده : نام مرکز صادرکننده CA را مشخص می نمايد.\n• مدت اعتبار : تاريخ شروع و سررسيد گواهينامه را مشخص می نمايد .\n• Subject : نام مالک گواهينامه را مشخص می نمايد.\n• اطلاعات کليد عمومی subject : کليد عمومی و ليستی از الگوريتم های رمزنگاری کليد عمومی را مشخص می نمايد .\n• شناسه منحصربفرد صادرکننده : اطلاعات اختياری که در صورت ضرورت بصورت منحصربفرد اطلاعات صادرکننده را مشخص می نمايد .\n• شناسه منحصربفرد مالک گواهينامه : اطلاعات اختياری که در صورت ضرورت بصورت منحصربفرد اطلاعات صاحب گواهينامه را مشخص می نمايد .\n• ضمائم : اطلاعات اضافه ای که زير ساخت PKI درصورت ضرورت استفاده می نمايد.\n• امضای ديجيتال مجاز گواهينامه : امضای ديجيتالی CA که در آخرين مرحله ايجاد گواهينامه ، توليد می گردد .\nاستفاده از گواهينامه های ديجيتال ، اعتبار يک کليد عمومی و انتساب آن به يک فرد معتبر را امکان پذير می نمايد. بدين ترتيب وضعيت مديريت کليد بهبود يافته و گيرندگان گواهينامه های ديجيتال قادر به تائيد CA ، با توجه به آگاهی از کليد عمومی آن می باشند. گيرندگان گواهينامه های ديجيتال ، در مقابل اينکه از کليدهای عمومی متعلق به تمامی کاربران آگاهی داشته باشند ، با آگاهی از صرفا" يک کليد عمومی (مربوط به CA ) ، قادر به تائيد هويت ارسال کنندگان اطلاعات ،خواهند بود.\nمراکز CA ، دارای ويژگی های زير می باشند :\n• در صورت تائيد CA صادرکننده گواهينامه توسط کاربر ، امکان تائيد گواهينامه نيز وجود خواهد داشت .\n• مسئوليت تائيد و معتبرسازی تمامی مشترکين\n• مسئوليت صدور و مديريت گواهينامه ها ( درخواست های ارسالی توسط نامه الکترونيکی و يا اينترفيس های وب ) .\n• مسئوليت ابطال و يا تمديد گواهينامه های صادر شده\n• مسئوليت ايجاد سياست ها و رويه ها\n• چندين CA می تواند در يک ساختار سلسله مراتبی وجود داشته باشد. در صورتيکه CA ريشه معتبر شناخته گردد، هر يک از مراکز CA در سطوح پائين تر نيز معتبر شناخته خواهند ش.د\nمشاهده گواهينامه های ديجيتال\nبرای مشاهده آخرين وضعيت گواهينامه های ديجيتال بر روی سيستم خود ، برنامه IE را فعال نموده و از طريق منوی Tools گزينه Internet Options را فعال و درادامه با انتخاب Content Tab و فعال نمودن Certificate می توان از وضعيت گواهينامه های ديجيتال ، آگاهی يافت .\nدر بخش سوم اين مقاله به بررسی پروتکل SSL ، خواهيم پرداخت .\nايجاد يک ارتباط ايمن در برنامه های وب (بخش سوم)\n• بخش اول ضرورت ها ی وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده\n• بخش دوم : بررسی امضای ديجيتال و گواهينامه های ديجيتالی\nدر بخش سوم اين مقاله به بررسی موارد اشاره شده در دو مقاله قبل و از زاويه ديگر پرداخته و با پارامترهای لازم به منظور انتقال اطلاعات حساس در يک شبکه بيشتر آشنا خواهيم شد. انتقال اطلاعات حساس بر روی يک شبکه مستلزم بکارگيری مکانيزمی است که سه ويژگی زير را تضمين نمايد:\n• امنيت : داده ارسالی نمی بايست توسط افراد غير مجاز، استفاده ( خواندن ) گردد .\n• هويت : افراد شرکت کننده در ارتباط همان افرادی می باشند که ادعا می نمايند .\n• غيرجعلی بودن اطلاعات : داده دريافت شده در مقصد با داده ارسال شده در مبداء يکسان بوده و اطلاعات دستکاری نشده باشد.\nویرایش توسط a00b : 24.06.2016 در ساعت 01:05 دلیل: حذف لینک\n23.06.2016, 01:01 Top | #4\nتکنولوژی هائی که يک ارتباط ايمن را ارائه می نمايند ، می بايست مبتنی بر مکانيزمی باشند که سه ويژگی فوق را تضمين نمايند . اينگونه تکنولوژی ها ، عموما" از الگوريتم های رمزنگاری استفاده نموده و با رمز نمودن اطلاعات ، عملا" امکان رمزگشائی و دستيتابی به داده اوليه توسط افراد غير مجاز را سلب می نمايند. يکی از بهترين الگوريتم های رمزنگاری در حال حاضر ، " رمزنگاری کليد نامتقارن ( کليد عمومی ) " است . نحوه عملکرد اين مدل رمزنگاری ساده بوده ولی در آن از الگوريتم های پيچيده رياضی استفاده شده است .مدل رمزنگاری فوق ، قادر به تامين سه ويژگی اشاره شده می باشد . در ادامه با اين مدل رمزنگاری بيشتر آشنا شده و نحوه برخورد آن در جهت تامين هر يک از ويژگی های فوق را بررسی می نمائيم .\nرمزنگاری کليد عمومی ( نامتقارن )\nفرض کنيد دو کاربر قصد مبادله اطلاعات بر روی يک شبکه را با استفاده از يک روش ايمن داشته باشند . گيرنده دارای دو کليد است که از لحاط رياضی به نوعی با يکديگر مرتبط شده اند. کليد ، نوع خاصی از داده است که امکان رمزنگاری و يا رمزگشائی داده را فراهم می نمايد. دوکليد فوق دارای يک ارتباط و وابستگی خاص با يکديگر می باشند . در صورتيکه داده با استفاده از يکی از آنان رمز گردد ، صرفا" با استفاده از کليد دوم ، امکان رمزگشائی داده رمز شده و بازيابی اطلاعات اوليه ، وجود خواهد داشت ( و بالعکس ) . کليدی که معمولا" بين کاربران مبادله می گردد ، " کليد عمومی" و کليدی که نزد افراد نگهداری می گردد ، " کليد خصوصی" ، ناميده می شود.\nدريافت کننده ،کليد خصوصی خود را هرگز آشکار ( فاش کردن ) نمی نمايد ولی می تواند در صورت تمايل کليد عمومی خود را در اختيار افراد ديگر قرار دهد . در صورتيکه شخصی (فرستنده ) قصد ارسال داده محرمانه برای شخص ديگری (گيرنده) را داشته باشد ، وی در ابتدا اطلاعات را با استفاده از کليدعمومی گيرنده، رمز و در ادامه اطلاعات رمز شده را برای گيرنده ارسال می نمايد. صرفا" فردی ( يک گيرنده ) که دارای کليد خصوصی مرتبط با کليد عمومی استفاده شده در مبداء به منظور رمزنگاری می باشد ، قادر به رمزگشائی اطلاعات خواهد بود . شکل زير مراحل لازم به منظور مبادله داده به صورت ايمن با استفاده از مدل رمزنگاری نامتقارن ( کليد عمومی ) را نشان می دهد :\nرمزنگاری کليد عمومی و امنيت\nروش رمزنگاری کليد عمومی ، مبتنی بر رابطه رياضی بين کليدهای عمومی و خصوصی بوده و دارای قدرت مناسب و تضمين لازم در خصوص ارائه امنيت بالا در مقابل تهاجمات اطلاعاتی است .ارتباط رياضی بين کليد عمومی و خصوصی بسيار پيچيده می باشد . رابطه موجود مبتنی بر مضرب اعداد بزرگ است . مضرب استفاده شده يک عدد دويست رقمی می باشد که با توجه به امکانات سخت افزاری موجود به چهار ميليارد سال زمان به منظور تشخيص ارتباط موجود بين دو کليد ، نياز می باشد( با اين فرض که زمان اجرای هر دستورالعمل يک ميکروثانيه در نظر گرفته شود) . همانگونه که ملاحظه می گردد امنيت روش رمزنگاری فوق ، بسيار بالا می باشد.رمزنگاری کيلد عمومی، زيرساخت اساسی و اوليه در يک ارتباط ايمن بر روی يک شبکه را فراهم نموده و از آن در پروتکل های ارتباطی ايمن نظير SSL)Secure Socket Layer) استفاده می گردد. پروتکل SSL ، يک مدل handshake امنيتی است که از آن به منظور ارائه يک ارتباط ايمن بين سرويس دهنده و سرويس گيرنده ، استفاده می گردد .\nرمزنگاری کليد عمومی و تشخيص هويت\nرمزنگاری کليد عمومی عليرغم دارا بودن پتانسيل لازم در خصوص ايجاد يک ارتباط ايمن ،تضمين لازم در خصوص اينکه فرستنده همان شخصی است که ادعا می نمايد را ارائه نمی نمايد .در چنين وضعيتی ، به مدلی به منظور بررسی و تائيد هويت افراد ، نياز می باشد.فرض کنيد شما نامه ای الکترونيکی را از شخصی دريافت نموده ايد که می دانيد متعلق به يکی از دوستانتان است . به منظور ممانعت از خواندن متن نامه توسط افراد غير مجاز ، از مدل رمزنگاری کليد عمومی که به آن اشاره گرديد ، استفاده می گردد. بدين ترتيب اطمينان لازم در خصوص عدم خواندن اطلاعات محرمانه شما توسط ساير افراد، حاصل می گردد. اما يک سوال باقی می ماند و آن اينکه چگونه مطمئن می گرديد که نامه ارسالی ، توسط دوست شما ارسال شده است ؟ کليد عمومی شما می تواند توسط هر شخص ديگر دريافت گردد و چنين شخصی می تواند خود را به عنوان دوست شما قلمداد نموده و يک نامه جعلی را برای شما ارسال نمايد . در چنين مواردی ، تشخيص هويت و شناسائی فرد ارسال کننده پيام بسيار حائز اهميت می باشد . صرفا" با حصول اطمينان از شناسائی و تائيد فرد ارسال کننده است که می توان به صحت نامه ارسال شده ، اطمينان نمود .\nموضوع فوق ، يکی از مسائل اساسی و مهم در برنامه های وب تجارت الکترونيکی محسوب می گردد . در چنين برنامه های تشخيص و شناسائی افراد درگير در يک ارتباط بسيار حائز اهميت می باشد . کاربران تمايل دارند که از سايت هائی کالائی را خريداری نمايند که نسبت به هويت و معتبر بودن آنان اطمينان لازم وجود داشته باشد و فروشندگان نيز می بايست اطمينان حاصل نمايند که مشتريان و خريداران آنان ، دقيقا" همان افرادی می باشند که ادعا می نمايند . به عبارت ديگر ، هويت خريداران کالا و يا خدمات می بايست قبل از خريد ،شناسائی و تائيد گردد . مسئله تشخيص هويت می تواند به به ساير موارد نيز تعميم يابد که در آن هدف تشخيص هويت فردی است که قفصد مبادله اطلاعات با آن وجود دارد . تشخيص هويت ، مکانيزمی به منظور شناسائی يک فرد ، سازمان ، شرکت و يا موسسه می باشد . در حقيقت از اين طريق يک موجوديت واقعی نظير انسان و يا يک شرکت به يک موجوديت اينترنتی نظير يک وب سايت ، يک مرورگر وب و يا يک برنامه پست الکترونيکی ، مپ می گردد .\nدراين رابطه و به منظور ارائه راهکار مناسب در جهت تشخيص هويت وشناسائی افراد درگير در يک ارتباط ، می توان از همان روش رمزنگاری کليد عمومی (نامتقارن) که در بخش قبل به آن اشاره گرديد، استفاده نمود. چيزی که با استفاده از کليد عمومی رمز می شود را می توان صرفا" با استفاده از کليد خصوصی رمزگشائی نمود. عکس حالت فوق نيز صادق است . يعنی چيزی که با استفاده از کليد خصوصی رمز می شود را می توان صرفا" با استفاده از کليد عمومی رمزگشائی نمود. بنابراين با تعويض نقش زوج کليد ( عمومی ، خصوصی ) می توان مکانيزمی را به منظور بررسی و تشحيص هويت افراد ايجاد نمود. فرستنده ، اقدام به ارسال پيامی می نمايد که با استفاده از کليد خصوصی خود آن را رمز نموده است ، گيرنده با استفاده از کليد عمومی فرستنده ، قادر به رمزگشائی پيام ارسالی می باشد . بدين ترتيب اطمينان لازم در خصوص دريافت پيام از صاحب واقعی مرتبط با کليد خصوصی ، فراهم می گردد. شکل زير نحوه تشخيص هويت افراد را نشان می دهد .\nرمزنگاری کليد عمومی و غيرجعلی بودن اطلاعات\nبررسی هويت افراد مستلزم فرآيند ديگری به منظور تشخيص اصالت داده ارسالی ( غيرجعلی بودن ) نيز می باشد.در اين رابطه هدف ، حصول اطمينان از اين موضوع است که داده دريافتی ، همان داده ارسال شده توسط فرستنده است. با توجه به ماهيت رمزنگاری کليد عمومی ، در صورتيکه يک پيام جعل گردد، دريافت کننده قادر به رمزگشائی آن با استفاده از کليد عمومی فرستنده ، نخواهد بود. عليرغم موضوع فوق ، در برخی حالات ، ممکن است قصد ارسال داده شفاف (Plain ) وجود داشته باشد. در چنين مواردی لازم است ، گيرنده امکان تشخيص هويت ارسال کننده و غير جعلی بودن پيام را دارا باشد. با استفاده از يک امضای ديجيتالی به افراد اجازه داده شود که بررسی لازم در خصوص جعلی نبودن يک داده شفاف (plain ) را انجام دهند.\nيک امضای ديجيتالی ، مشابه يک امضای دستی و معمولی بوده و می توان از آن به منظور تائيد هويت فرستده و اطمينان از عدم تغيير داده ( سند ؛ يک پيام ، يک عنصر نرم افزاری ) در زمان ارسال ، استفاده نمود.\nامضای ديجيتال از رشته ای که hash و يا Checksum ناميده می شود ، مشتق شده و پس از محاسبه با استفاده از داده ورودی ، با استفاده از کليد خصوصی فرستنده ، رمز می گردد. hash مشابه يک اثرانگشت بوده و با استفاده از الگوريتم های Hash که حجم بالائی از داده را دريافت و بخش بمراتب کوچکتری را برمی گردانند ( معمولا" يک طول ثابت ) ، ايجاد می شود.الگوريتم های Hash ، تضمين لازم در خصوص عدم محاسبه يک مقدار hash يکسان برای داده های ورودی متفاوت را ارائه می نمايند.\nمکانيزم امضای ديجيتال ، به صورت منخصربفرد رشته hash را به سند و کليد خصوصی مالک سند ، نسبت می دهد . عدم جعلی بودن يک سند می تواند با رمزگشائی امضای ديجيتال با استفاده از کليد عمومی فرستنده ( شناسائی هويت فرستنده پيام ) ، محاسبه محلی hash و مقايسه آن با چيزی که دريافت شده است ، محقق گردد . شکل زير نحوه ايجاد ، بررسی و تائيد امضای ديجيتال را نشان می دهد :\nفرآيند توليد امضای ديجيتالی برای يک سند، signing ناميده می گردد .فرآيند فوق ، محتوی يک سند را تغيير نداده و صرفا" يک امضای ديجيتالی توليد که می توان آن را همراه سند و يا بصورت جداگانه ارسال نمود.\nگواهينامه ها و مراکز صدور گواهينامه ها\nهمانگونه که ملاحظه گرديد ، رمزنگاری کليد عمومی ، مکانيزم لازم به منظور تامين سه ويژگی اشاره شده ( امنيت ، تشخيص هويت ، عدم جعلی بودن ) را در رابطه با ايجاد يک ارتباط ايمن ، ارائه می نمايد . در سه ويژگی اشاره شده ، توزيع کليد عمومی و تطبيق آن با کليد خصوصی مربوطه از ارکان بسيار مهم در مدل رمزنگاری کليد عمومی محسوب می گردد . به عبارت ديگر ، در صورت تمايل برای ارسال يک پيام رمز شده برای فردی خاص ، می بايست پردازش لازم در خصوص کليد عمومی وی صورت پذيرد.در موارديکه يک سند sign شده دريافت می گردد ، مجددا" نيازمند پردازش کليد عمومی به منظور بررسی صحت و عدم جعلی بودن آن ، می باشد.\nدر صورت دريافت يک کليد عمومی ، آيا اطمينان لازم در خصوص اين موضوع وجود دارد که فرد ارسال کننده ،همان شخصی است که انتظار داريم ؟ همواره اين امکان وجود خواهد داشت که يک کليد عمومی اشتباها" برای افراد ارسال گردد . فراموش نکنيم که رمزنگاری کليد متقارن ، صرفا" تضمين لازم در خصوص تطبيق کليدها را ارائه نموده و در رابطه با تعلق(مالکيت ) يک کليد عمومی به شخصی خاص ، سکوت می نمايد.\nگواهينامه ها ( تائيديه ها) ، امکانات لازم در خصوص برطرف نمودن چنين مسائلی را ارائه می نمايند . تکنولوژی گواهينامه ، امکان شناسائی منحصربفرد افراد را فراهم می نمايد . پس از شناسائی يک فرد و تائيد گواهيينامه ، امکان تائيد آنان توسط يک برنامه معتبر و امين و يا سرويس دهنده ، فراهم خواهد شد . تکنولوژی گواهينامه محدود به تائيد فرد خاصی نمی باشد .از تکنولوژی فوق ، به منظور تائيد اسنادی نظير نامه های الکترونيکی و يا ساير برنامه ها ئی که قادر به حمايت از رمزنگاری گواهينامه می باشند ، استفاده می گردد .\nيک گواهينامه چيست ؟\nگواهيينامه ديجيتال ،رکوردی منحصربفرد مشتمل بر اطلاعاتی ضروری به منظور بررسی هويت يک فرد و يا يک سازمان می باشد . گواهينامه های ديجيتال از فرمت استاندارد X.509 تبعيت می نمايند . استاندارد فوق ، برخی از ملزومات موردنياز گواهينامه را تشريح می نمايد : فرمت نسخه استفاده شده توسط گواهينامه ، شماره سريال گواهينامه ، شناسه الگوريتم استفاده شده به منظور تائيد گواهينامه ،مرکز صادرکننده گواهينامه ، تاريخ صدور و سررسيد اعتبار گواهينامه ، مشخصات صاحب گواهينامه ، کليد عمومی صاحب گواهينامه ، امضای ديجيتال مرکز صادر کننده گواهينامه .\nهر يک از فيلدهای اطلاعاتی فوق متناظر با فيلدهای خاصی در ساختار تعريف شده برای يک گواهنيامه می باشد. گواهينامه ها ، ممکن است شامل اطلاعات ديگری نظير آدرس پستی ، آدرس پست الکترونيکی ، نام کشور ، سن ، جنسيت نيز باشند . اطلاعات اضافی فوق اختياری بوده و بستگی به نوع خاص گواهينامه دارد .\nمراکز صدور گواهينامه (CA:Certificate Authority )\nمراکز صدور گواهينامه که از آنان با عنوان CA نيز نام برده می شود ،مراکزی امين و معتبر بوده که مسئوليت تطبيق کليدها ی عمومی به منظور شناسائی و تائيد هويت را برعهده دارند. به عبارت ديگر ، مراکز فوق تعلق يک کليد عمومی خاص به يک کاربر معتبر را تائيد می نمايند . مراکز CA ، مسئوليت صدور ، ابطال و تمديد يک گواهينامه را برعهده دارند. مراکز CA ،همچنين می بايست رويه های بسيار دقيق و سختگيرانه ای را به منظور تائيد افراد و سازمان ها ئی که درخواست گواهنيامه می نمايند را نيز دنبال نمايند .بدين ترتيب ، پس از تائيد يک فرد و يا سازمان توسط يک مرکز معتبر و امين CA ، امکان تطبيق کليد ( انطباق کليد عمومی با کليد خصوصی مرتبط با آن ) آنان از يک مرکز ايمن ، فراهم می گردد. عملکرد چنين مراکزی نظير دفاتراسناد رسمی در اينترنت است .\nدر ساختار گواهينامه ، دو فيلد اطلاعاتی مرتبط با CA نيز وجود دارد : نام صادرکننده گواهينامه و امضای ديجيتالی صادرکننده . وجود فيلدهای فوق در گواهينامه صادر شده ، تضمين لازم در خصوص تعلق کليد عمومی به صاحب آن را ارائه می نمايد.بدين ترتيب مسئله امين بودن از افراد به مراکز CA منتقل می گردد.وجود يک مرکز امين و معتبر ، از جمله مهمترين دلايل حضور CA ، محسوب می گردد . در حال حاضر ، سازمان های متعددی ، اقدام به صدور گواهينامه می نمايند و هر روز نيز تعداد آنان افزايش می يابد . زمانيکه دو کاربر و يا دو سازمان قصد مبادله گواهينامه را داشته باشند ، هر يک از آنان می تواند هويت طرف مقابل خود را با استفاده از تائيديه مراکز CA و گواهينامه های صادرشده توسط مراکز CA ، انجام دهد. هر گواهينامه شامل کليد عمومی مربوط به خود نيز می باشد ، بنابراين می توان از آن به منظور رمزنگاری داده برای ارسال به صاحب گواهينامه استفاده نمود. گواهينامه ها همچنين شامل امضای ديجيتال مرکز CA صادرکننده گواهينامه نيز می باشند. يک امضای ديجيتال با استفاده از کليد خصوصی مولف سند ايجاد می گردد . بنابراين به منظور بررسی يک گواهينامه که توسط يک مرکز CA خاص تائيد شده است ، به کليد عمومی مرکز CA نيز نياز خواهد بود. کليد ها ی عمومی اکثر مراکز CA به همراه مرورگرها ، برنامه های پست الکترونيکی و ساير پکيج های نرم افراری توزيع می گردد .\nدر اينترنت از چهار نوع گواهينامه ديجيتال استفاده می گردد که هر يک دارای حوزه عملکردی خاص خود می باشند :\n• گواهينامه های سرويس دهنده ، که از آنان با نام Server IDs نيز نام برده می شود،به سرويس دهندگان امکان استفاده از يک پروتکل ايمن ارتباطی نظير SSL را خواهند داد . گواهينامه های فوق ، امکان شناسائی سرويس دهنده و يا وب سايت مربوطه را برای کاربران نيز فراهم می نمايد( قبل از ارسال اطلاعات محرمانه توسط کاربران ) .\n• گواهينامه های شخصی ، مسوليت شناسائی افراد را برعهده داشته و ممکن است به منظور تائيد کاربران در يک سرويس دهنده و يا فعال نمودن نامه الکترونيکی ايمن، مورد استفاده قرارگيرند.\n• گواهينامه های ناشر نرم افزار ، به منظور تائيد نرم افزارهای توزيع شده بر روی اينترنت استفاده می گردند.\n• گواهينامه های مراکز CA ، باعث شناسائی يک CA می گردند. مراکز CA را می توان به دو گروه عمده تقسيم نمود : مراکز CA ريشه و مراکز CA ميانی . تفاوت بين اين دو گروه بشرح زير است :\nيک مرکز CA ريشه ، قادر به صدور هر نوع گواهينامه بوده و شناسائی و تائيد آنان توسط خود مرکز انجام می شود. يک مرکز CA ميانی ، قادر به صدور هر نوع گواهينامه بجزء يک گواهينامه برای خودش ، می باشد.گواهينامه صادر شده توسط يک مرکز CA ريشه ، تنها نوع گواهينامه ای است که صادرکننده و مالک گواهينامه متعلق به يک محل بوده و مشابه يکديگر می باشند. اينچنين مراکز ، می توانند برای يک مرکز CA ميانی ديگر ، گواهينامه صادر نمايند و يک مرکز CA ميانی نيز می تواند يک گواهينامه برای يک مرکز CA ميانی ديگر صادر نمايد . نوع گواهينامه صادر شده توسط يک مرکز CA برای مرکز CA ديگر ، گواهينامه CA ناميده می شود . ماحصل فرآيند فوق ، ايجاد يک ساختار سلسله مراتبی CA است . يکی از مزايای مهم ساختار سلسله مراتبی فوق ، بررسی و تائيد گواهينامه در تعدادی اندک از مراکز ريشه CA ، می باشد. به عبارت ديگر در صورتيکه يک مرکز CA تائيد گردد ، تمامی مراکز زيرمجموعه ( مراکز ميانی CA ) نيز تائيد خواهند شد .\nدريافت يک گواهينامه سرويس دهنده\nدر صورتيکه تصميم به گرفتن يک گواهينامه وجود داشته باشد ، می بايست با يک مرکز CA تماس گرفته شود. فرآيند دريافت يک گواهينامه که Enrollment ( ثبت نام ) ناميده می شود ، با توجه به نوع گواهينامه متفاوت می باشد . همانگونه که اشاره گرديد ، يک گواهينامه سرويس دهنده ، مسئوليت شناسائی يک سرويس دهنده را با استفاده از پروتکل SSL برای يک ارتباط ايمن بر روی وب ، برعهده دارد. زمانيکه يک مرورگر ارتباط خود را با يک سرويس دهنده وب تائيد شده از طريق پروتکل HTTPS ( نسخه ايمن پروتکل HTTP ) برقرار می نمايد ، کليد عمومی سرويس دهنده را از طريق گواهينامه مربوطه خود دريافت می نمايد . بدين ترتيب مرورگر ، قادر به شناسائی ايمن صاحب سرويس دهنده و استفاده از کليد عمومی وی به منظور رمزنگاری داده می باشد .به منظور فعال نمودن يک سرويس دهنده وب برای استفاده از SSL و گواهينامه ها ، می بايست يک رويه خاص با توجه به نوع سرويس دهنده وب و مرکز صادر کننده CA ، دنبال گردد. مراحل دريافت يک گواهينامه به شرح ذيل می باشد :\n• يک گواهينامه سرويس دهنده به يک Domain اينترنت نسبت داده می شود ، بنابراين لازم است از ثبت Domain وب سايت مربوطه ، اطمينان حاصل نمود ( قبل از اقدام به دريافت يک گواهينامه می بايست Domain ثبت گردد) .\n• با استفاده از ابزارهای ارائه شده همراه نرم افزار سرويس دهنده ، می بايست يک زوج کليد و يک Certificate Signing Request )CSR) ، ايجاد گردد. ماحصل عمليات فوق توليد کليد خصوصی و عمومی مرتبط با سرويس دهنده می باشد . فرآيند فوق بسيار مهم می باشد ، چراکه CSR توليد شده شامل يک نسخه از کليد عمومی سرويس دهنده می باشد .در زمان توليد CSR ، می بايست اطلاعات ديگری نظير URL وب سايت ، نام شرکت و يا سازمان متقاضی و آدرس مربوطه ، نيز مشخص گردد. ماحصل عمليات فوق ، يک فايل ASCII بوده که شامل درخواست گواهينامه با استفاده از يک فرمت شناخته شده با نام PKCS#10 می باشد .\n• در ادامه،می توان CSR را به مرکز CA انتخاب شده ، ارسال نمود.بدين منظور می توان از روش های متفاوتی نظير ارسال توسط نامه الکترونيکی و يا استفاده از فرم های ثبت نام Online موجود بر روی وب سايت مرکز CA ، استفاده نمود.\n• پس از ارسال CSR به مرکز CA ،بررسی لازم در خصوص اطلاعات انجام و در صورت لزوم درخواست اطلاعات تکميلی می گردد. پس از اتمام مراحل بررسی ، CA يک گواهينامه را بهمراه اطلاعات ذيربط نظير : کليد عمومی ، تاريخ سررسيد و ساير موارد ، صادر و آن را با استفاده از کليد خصوصی خود ، Sign و در ادامه آن را برای متقاضی ارسال و يا بر روی يک وب سايت مستقر تا امکان دريافت آن فراهم گردد.گواهينامه دريافت شده يک فايل ASCII شامل داده با فرمت استاندارد PKCS#7 ، می باشد.\n• در مرحله آخر، می بايست گواهينامه صادر شده بر روی سرويس دهننده وب ، نصب گردد. بدين منظور می توان از مستندات ارائه شده به همراه سرويس دهنده وب استفاده نمود.به منظور حفاظت از گواهينامه صادرشده ، لازم است يک نسخه Backup از آن تهيه گردد. در صورتيکه گواهينامه سرويس دهنده گم گردد ، می بايست يک CSR جديد ارسال و مراحل فوق مجددا" تکرار گردد.\nدر بخش چهارم اين مقاله با پروتکل SSL آشنا خواهيم شد .\nايجاد يک ارتباط ايمن در برنامه های وب (بخش چهارم)\n• بخش اول ضرورت وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده\n• بخش سوم : بررسی پارامترهای لازم به منظور انتقال اطلاعات حساس در يک شبکه\nدر بخش چهارم اين مقاله به بررسی پروتکل SSL ، خواهيم پرداخت.\nمبادله اطلاعات در اينترنت مبتنی بر پروتکل TCP/IP بوده که در آن از پروتکل های متعددی نظير HTTP (Hypertext Transfer Protocol )، Telnet و( FTP(File Transfer Protocol ، استفاده می گردد . پروتکل های فوق ، گزينه مناسبی برای ايجاد يک ارتباط ايمن نمی باشند ، چراکه مبادله اطلاعات به صورت Plaintext انجام می شود . اطلاعات محرمانه و يا حساسی که با استفاده از اينچنين پروتکل هائی منتقل می گردد ، بسادگی قابل ره گيری و خواندن بوده و در اين رابطه لازم است ،اطلاعات ارسالی با استفاده از روش های متفاوت رمزنگاری ، رمز گردند. سرويس گيرندگان وب ، درخواست های خود را با استفاده از پروتکل HTTP برای سرويس دهندگان وب ارسال می نمايد . مبادله اطلاعات با استفاده از پروتکل فوق و با توجه به ماهيت آن ، چالش های امنيتی خاصی را برای سرويس دهندگان و سرويس گيرندگان به دنبال خواهد داشت . سرويس دهندگان وبی که صرفا" از استاندارد HTTP به منظور ارتباط با سرويس گيرندگان استفاده می نمايند ، اهداف مناسبی برای حملاتی از نوع ( DoS (Denial-of-Service و ساير حملاتی از اين نوع می باشند. علاوه براين ، سرويس دهندگانی اينچنين، اهداف مناسبی برای سرويس دهندگان وب تائيد نشده محسوب خواهند شد. . اين نوع سرويس دهندگان ، وب سايت هائی می باشند که خود را به عنوان يک سايت مثبت وانمود کرده و نرم افزارهائی شامل ويروس های کامپيوتری و يا اسکريپت های مخرب را بر روی سايت مستقر تا کاربران با دريافت و نصب آنان ، دچار مشکلات امنيتی گردند.\nپروتکل های ارتباطی ايمن وب ، روشی به منظور تائيد سرويس گيرندگان و سرويس دهندگان بر روی وب وحفاظت لازم درخصوص محرمانگی ارتباط بين سرويس گيرندگان و سرويس دهندگان را ارائه می نمايند. تاکنون استانداردهای ارتباطی ايمن متعددی با استفاده از تکنولوژی رمزنگاری کليد عمومی ، پياده سازی شده است. پروتکل های Secure Hypertext Transfer Protocol ) SHTTP ، ( IP Security) IPSec) و PPTP نمونه هائی در اين زمينه می باشند . پروتکل ( SSL ( Secure Socket Layer ، پيشگام تمامی پروتکل های ايمن ارتباطی بوده که در ابعاد گسترده ای به منظور ارائه کانال ايمن ارتباطی و مبادله اطلاعات حساس و محرمانه بر روی وب ، استفاده می گردد .\nدر پروتکل SSL از مدل رمزنگاری کليد عمومی به عنوان زيرساخت اوليه و در جهت ارائه يک ارتباط ايمن در شبکه استفاده می شود.گواهينامه های سرويس دهنده ، که از آنان با نام Server IDs نيز نام برده می شود،به سرويس دهندگان امکان استفاده از يک پروتکل ايمن ارتباطی نظير SSL را داده و همچنين ، امکان شناسائی سرويس دهنده و يا وب سايت مربوطه نيز برای کاربران و قبل از ارسال اطلاعات محرمانه ، فراهم می گردد . لازم است به اين موضوع مجددا" اشاره گردد که وجود يک کانال ارتباطی ايمن يکی از مهمترين عوامل در ارتباط با گسترش تجارت الکترونيکی محسوب می گردد. حصول اطمينان از وجود يک ارتباط ايمن بين خريداران ( سرويس گيرندگان ) و ارائه دهندگان کالا و يا خدمات (سرويس دهندگان ) از مهمترين عوامل موفقيت در برپاسازی يک سايت تجارت الکترونيکی است . نقش و جايگاه پروتکل SSL در اين نوع سايت ها بسيار حياتی و تعيين کننده است . در ادامه با اين پروتکل بيشتر آشنا می شويم .\nپروتکل SSL ، توسط نت اسکيپ و با هدف مبادله ايمن اطلاعات بر روی اينترنت پياده سازی گرديده است . پس از گذشت مدت زمانی اندک ، پروتکل SSL به عنوان استانداردی در جهت تائيد وب سايت ها برای کاربران و سرويس دهندگان وب و به منظور مبادله اطلاعات رمز شده بين آنان ، مطرح گرديد . گواهينامه های سرويس دهنده از طريق مراکز صدور گواهينامه ها ( CA ) برای سازمان ها ، افراد و وب سايت ها ، صادر می گردد . مراکزصدور گواهينامه ها ، از روش های متفاوتی به منظور بررسی و حصول اطمينان از معتبر بودن گواهينامه کاربران ، استفاده می نمايند . گواهينامه ديجيتال SSL مربوط به مراکز معتبر صدور گواهينامه ، در تمامی مرورگرها ( نظير مرورگر وب مايکروسافت و مرورگر نت اسکيپ ) و سرويس دهندگان وب اصلی ، پيش بينی شده است. بدين ترتيب ، با نصب يک گواهينامه ديجيتال بر روی يک سرويس دهنده وب ، امکان استفاده از قابليت های SSL در زمان مبادله اطلاعات با مرورگرهای وب ، فراهم می گردد.گواهينامه های سرويس دهنده SSL به منظور برقراری يک ارتباط ايمن دو عمليات اساسی زير را انجام می دهند :\n• SSL Server Authentication ، گواهينامه های سرويس دهنده امکان شناسائی يک سرويس دهنده وب را برای کاربران فراهم می نمايند. مرورگرهای وب به صورت اتوماتيک ، بررسی لازم در خصوص اعتبار يک گواهينامه سرويس دهنده ، شناسه عمومی و صدور آن توسط يک مرکز صدور گواهينامه (CA ) معتبر را انجام می دهند.تائيد سرويس دهنده SSL ، امری حياتی برای ايمن سازی تراکنش های تجارت الکترونيکی بوده که در آن هر يک از کاربران شماره کارت اعتباری خود را بر روی وب ارسال و تمايل دارند در ابتدا بررسی لازم در خصوص هويت سرويس دهنده دريافت کننده را انجام دهند .\n• SSL Encryption ، گواهينامه های سرويس دهنده يک کانال ايمن به منظور مبادله اطلاعات بين مرورگر کاربر و يک سرويس دهنده وب را با استفاده از ارسال نرم افزار و رمزگشائی توسط نرم افزار دريافت کننده و حفاظت اطلاعات خصوصی در مقابل ره گيری اطلاعات برروی اينترنت را ارائه می نمايند. علاوه بر اين ، تمامی داده ارسالی از طريق يک ارتباط رمز شده SSL با استفاده از مکانيزم های لازم به منظور عدم دستکاری اطلاعات ، حفاظت می گردد. بدين ترتيب ، کاربران اطمينان لازم به منظور ارسال اطلاعات خصوصی و محرمانه خود را برای يک وب سايت پيدا می نمايند.\nنحوه عملکرد گواهينامه های سرويس دهنده SSL\nشناسه های سرويس دهنده (Server IDs) ، از مزايای SSL به منظور ارائه يک ارتباط ايمن بين وب سايت ها و مرورگرهای وب کاربران استفاده می نمايند. پروتکل SSL از ترکيب مدل رمزنگاری کليد عمومی و رمزنگاری سريع متقارن، استفاده می نمايد .فرآيند ايجاد يک ارتباط ايمن با برقراری يک SSL Handshake ، آغاز می گردد.در اين راستا ، سرويس دهنده خود را برای مرورگر کاربر تائيد نموده و در ادامه به سرويس دهنده و سرويس گيرنده اجازه داده می شود که با همکاری يکديگر کليدهای خصوصی لازم به منظور استفاده در رمزنگاری ، رمزگشائی و تشخيص عدم دستکاری داده را ايجاد نمايند .\n• سرويس گيرنده با يک سايت و به منظور دستيابی به يک URL ايمن ( يک URL که با https در مقابل http شروع شده است) ، ارتباط برقرار می نمايد . صفحه ايمن درخواستی ، می تواند يک فرم خريد Online باشد که در آن اطلاعات خصوصی کاربران، نظير : آدرس ، شماره تلفن و شماره کارت اعتباری اخذ می گردد.\n• مرورگر سرويس گيرنده بصورت اتوماتيک شماره نسخه SSL مرورگر ، تنظيمات رمز، داده توليد شده بصورت تصادفی و ساير اطلاعات مورد نياز به منظور برقراری يک ارتباط ايمن را برای سرويس دهنده ارسال می نمايد.\n• سرويس دهنده بصورت اتوماتيک پاسخ لازم را در اين رابطه داده و گواهيينامه ديجيتال ، شماره نسخه SSL سرويس دهنده ، تنظيمات رمز و ساير موارد مورد نياز را برای مرورگر سرويس گيرنده ،ارسال می نمايد .\n• مرورگر سرويس گيرنده بررسی لازم در خصوص اطلاعات موجود در گواهينامه سرويس دهنده را انجام می دهد :\n- آيا گواهينامه سرويس دهنده و تاريخ آن معتبر می باشند ؟\n- آيا مرکزی که گواهينامه را صادر نموده است ، يکی از مراکز صدورمعتبری است که گواهينامه آنان به همراه مرورگر ارائه شده است ؟\n- آيا کليد عمومی مرکز صادرکننده گواهينامه ( ايجاد شده درون مرورگر ) ، معتبر بودن امضای ديجيتالی صادر کننده را تائيد می نمايد ؟\n- آيا نام Domain مشخص شده توسط گواهينامه ديجيتال با نام واقعی Domain سرويس دهنده ، مطابقت می نمايد ؟\nدر صورتی که ، سرويس دهنده تائيد نگردد به کاربر اعلام می گردد که امکان برقراری يک ارتباط رمزشده و مطمئن وجود ندارد .\n• در صورتی که سرويس دهنده بصورت موفقيت آميز تائيد گردد ، مرورگر سرويس دهنده يک "session key " منحصربفرد را به منظور رمزنگاری تمامی اطلاعات مبادله شده با سرويس دهنده با استفاده از مدل رمزنگاری کليد عمومی ، ايجاد می نمايد .\n• مرورگر سرويس گيرنده ، session key را با استفاده از کليد عمومی سرويس دهنده ( وب سايت مورد نظر ) ، رمز و آن را برای سرويس دهنده ارسال می نمايد. بدين ترتيب ، صرفا" سرويس دهنده قادر به خواندن session key ، خواهد بود .\n• سرويس دهنده با استفاده از کليد خصوصی مربوط به خود ، اقدام به رمزگشائی session key می نمايد .\n• مرورگر سرويس گيرنده در ادامه پيامی را برای سرويس دهنده ارسال و به وی اعلام می نمايد که پيام های آتی خود را با استفاده از session key رمز و ارسال می نمايد .\n• سرويس دهنده در ادامه ، پيامی را برای سرويس گيرنده ارسال و به وی اعلام می نمايد که پيام های آتی خود را با استفاده از session key رمز و ارسال می نمايد .\n• با اتمام مراحل فوق ، يک ارتباط ايمن مبتنی بر SSL بين سرويس گيرنده و سرويس دهنده برقرار می گردد . در ادامه پروتکل SSL به منظور رمزنگاری و رمزگشائی پيام ها از مدل رمزنگاری متقارن که بمراتب سريعتر نسبت به رمزنگاری کليد عمومی می باشد ، استفاده می نمايد .\n• پس از اتمام ارتباط بين سرويس دهنده و سرويس گيرنده ، session key حذف می گردد .\nمراحل فوق در زمان بسيار کوتاهی ( چندين ثانيه ) انجام و کاربران در اين رابطه ضرورتی به انجام عملياتی خاص نخواهند داشت . مرورگرهای نت اسکيپ و IE ، دارای مکانيزم های امنيتی از قبل تعبيه شده ای به منظوريشگيری در خصوص ارسال ناخواسته اطلاعات شخصی می باشند. در صورتی که کاربری قصد ارسال اطلاعات برای يک سايت غيرايمن ( سايتی که دارای يک گواهينامه سرويس دهنده SSL نمی باشد ) را داشته باشد ، مرورگر يک پيام هشداردهنده را نمايش خواهند داد :\nدر صورتی که ، کاربران شماره کارت اعتباری و ساير اطلاعات خود را برای سايتی ارسال نمايند که دارای يک گواهينامه سرويس دهنده معتبر و يک ارتباط SSL می باشد ، پيام فوق نمايش داده نمی گردد . عليرغم اعتبار ارتباط ايمن ايجاد شده ، کاربران می توانند با توجه به نکات زير اطمينان لازم در خصوص ايمن بودن ارتباط برقرار شده با يک وب سايت را پيدا نمايند:\n• URL مشخص شده در پنجره مرورگر با https در مقابل http آغاز می گردد .\n• درمرورگر IE ، يک آيکون Podlock ، در قسمت پائين پنجره نمايش داده می شود .\nدر صورت کليک بر روی آيکون فوق ، می توان اطلاعات جامعی را در ارتباط با گواهينامه مشاهده نمود .\nانواع SSL ( چهل بيتی و يکصدوبيست و هشت بيتی )\nپروتکل SSL به دو صورت 40 و 128 بيتی که به طول session key توليد شده بستگی دارد ، ارائه شده است . هر اندازه طول کليد بيشتر باشد ، امکان شکستن رمز مشکل تر خواهد بود . رمزنگاری SSL از نوع 128 بيتی ، قويترين نوع رمزنگاری بوده که با استفاده از تکنولوژی های موجود به ميلياردها سال زمان برای شکستن رمز آن نياز خواهد بود. قدرت رمزنگاری 128 بيتی تقريبا" 26 10 * 3 مرتبه قويتر از رمزنگاری 40 بيتی SSL است. مرورگرهای IE و نت اسکيپ ، سطوح متفاوتی از رمزنگاری را بر اساس نوع گواهينامه سرويس دهنده SSL ارائه می نمايند ( گواهينامه های سرويس دهنده SSL از نوع 40 بيتی ، گواهينامه های سرويس دهنده SSL از نوع 128 بيتی ) .\nدر رمان ايجاد يک مشخصه سرويس دهنده ( Server ID ) و به منظور استفاده از رمزنگاری 128 بيتی می بايست کليد خصوصی به درستی ايجاد گردد. در صورتی که کليد خصوصوصی 1024 بيتی انتخاب گردد ، امکان رمزنگاری 128 بيتی و در صورتيکه کليد خصوصی 512 بيتی در نظر گرفته شود، صرفا" امکان رمزنگاری 40 بيتی وجود خواهد داشت . نوع کليد خصوصی در زمان ايجاد يک CSR) Certificate Signing Request ) به همراه سرويس دهنده وب ، مشخص می گردد .\nدر بخش پنجم اين مقاله به بررسی مراحل لازم به منظور استفاده از SSL دربرنامه های وب دات نت ، خواهيم پرداخت .\n• Forms Authentication\n• Passport Authentication\n• ورود به شبکه ( Logon ) به عنوان مديريت شبکه\n• اجرای Computer Management ( از طريق : Start | Programs | Administrator Tools )\n• انتخاب فولدر Users به منظور نمايش ليست کاربران\n• مشاهده گروههائی که Account فوق به عنوان عضوی از آنان می باشد( کليک بر روی Member of ) . کاربران Anonymous ، بصورت پيش فرض ، عضوی از گروه Guests بوده که دارای مجوزهای اندکی می باشد. ASP.NET از ASP.NET Account ( با توجه به تنظيمات پيش فرض) ، به منظور اجرای برنامه وب استفاده می نمايد . بدين ترتيب ، در صورتيکه برنامه ای سعی در انجام عملياتی نمايد که در ليست مجوزهای ASP.NET Account وجود نداشته باشد ، يک مورد خاص امنيتی بوجود آمده و امکان دستيابی آن تائيد نخواهد شد.\n• Windows integrated authentication : در روش فوق ، شناسائی و تائيد کاربران بر اساس ليست کاربران تعريف شده بر روی سرويس دهنده انجام خواهد شد. در ادامه با توجه به مجوزها و امتيازات نسبت داده شده به هر Account ، امکان دستيابی و يا عدم دستيابی به منابع موجود بر روی سرويس دهنده ، فراهم می گردد.\n• Forms authentication : در روش فوق ، کاربران به يک فرم وب Logon ، هدايت می گردند . در ادامه ، اطلاعات مربوط به نام و رمز عبور آنان اخذ و فرآيند شناسائی و تائيد بر اساس يک لسيت کاربران و يا از طريق يک بانک اطلاعاتی که برنامه حمايت می نمايد ، انجام خواهد شد.\n• Passport authentication : در روش فوق ، کاربران جديد به يک سايت که توسط مايکروسافت ميزبان شده است ، هدايت می گردند .پس از ريجستر شدن کاربران ، امکان دستيابی آنان به چندين سايت ، فراهم خواهد شد( تمرکز در شناسائی کاربران و استفاده از سايت های متعدد با توجه به تائيد بعمل آمده ) .\n• نوع برنامه : برنامه وب عمومی اينترنت\n• نوع برنامه : برنامه وب اينترانت\n• نوع برنامه : برنامه های وب تجاری\n• نوع برنامه : برنامه های متعدد تجاری\n• انتخاب فولدر شامل برنامه وب و Properties از طريق Action Menu . در ادامه برنامه IIS ، جعبه محاوره ای Properties را نمايش خواهد داد .\n• بر روی Directory Tab کليک نموده و در ادامه گزينه Configuration را انتخاب می نمائيم . IIS در ادامه جعبه محاوره ای Application Configuration را نمايش خواهد داد :\n• بر روی دکمه Add کليک نموده و در ادامه IIS جعبه محاوره ای Add/Edit Application Extension Mapping را نمايش خواهد داد .\n• بر دکمه Browse کليک نموده و فايل aspnet_isapi.dll را انتخاب می نمائيم .فايل فوق در دايرکتوری Windows Microsoft .Net Framework قرار داشته و مسير آن مشابه زير است :\n• htm. را در فيلد File Extension تايپ می نمائيم .\n• مراحل فوق ، برای فايل های با انشعاب html ، تکرار می گردد.\nمنيت برنامه های وب ( بخش دوم )\nدر بخش اول اين مقاله ، به نحوه برخورد ASP.NET با کاربران ناشناس ( Anonymous ) ، روش های متفاوت شناسائی کاربران و پارامترهای لازم در خصوص انتخاب يک استراتژی به منظور شناسائی کاربران با توجه به نوع برنامه ها ، اشاره گرديد.در بخش دوم اين مقاله به بررسی Windows Authentication خواهيم پرداخت .\nهمانگونه که در بخش اول اين مقاله اشاره گرديد ، برنامه های وب ASP.NET از سه روش عمده به منظور تائيد کاربران استفاده می نمايند :\nدر Windows Authentication ، برنامه های وب مسئوليتی را در ارتباط با تائيد کاربران برعهده نگرفته و اين وظيفه تماما" به سيستم عامل ويندوز ، واگذار می گردد. فرآيند تائيد کاربران در روش فوق، بصورت زير است :\n• کاربر درخواستی مبنی بر دريافت يک صفحه وب ايمن را از برنامه وب ، می نمايد .\n• پس از دريافت درخواست توسط سرويس دهنده وب ، IIS عمليات بررسی صلاحيت کاربر را انجام خواهد داد . در اين راستا ، اطلاعات ارائه شده توسط کاربر در زمان logon ( نام و رمز عبور) ، با اطلاعات موجود بر روی سرويس دهنده وب و يا Domain ، مقايسه می گردد .\n• در صورتيکه پس از بررسی مدارک ارائه شده توسط کاربر ( نام و رمز عبور ) ، وی به عنوان کاربر غير مجاز تشخيص داده شود ، درخواست وی ناديده گرفته خواهد شد .\n• کامپيوتر سرويس گيرنده ، يک جعبه محاوره ای Logon را توليد و از کاربر درخواست درج اطلاعات مورد نياز ( نام و رمز عبور ) ، می گردد . پس از درج اطلاعات درخواستی توسط کاربر و ارسال آنان برای سرويس دهنده ، مجددا" IIS بررسی لازم در خصوص صحت آنان را انجام خواهد داد . در صورتيکه صحت اطلاعات ارسالی کاربر ( نام و رمز عبور ) تائيد گردد ، IIS درخواست اوليه کاربر را به سمت برنامه وب هدايت می نمايد .\n• در آخرين مرحله و پس از بررسی و تائيد صلاحيت کاربر ، صفحه وب درخواستی برای کاربر ارسال می گردد .\nمهمترين مزيت روش Windows Authentication ، استفاده مشترک از يک مدل امنيتی به منظور دستيابی به منابع موجود در شبکه و برنامه های وب است . پس از تعريف و اعطای مجوزهای لازم به کاربر ، امکان دستيابی وی به منابع موجود در شبکه و برنامه های وب بر اساس يک سيستم امنيتی مشابه و يکسان ، فراهم می گردد .\n23.06.2016, 01:50 Top | #5\nسلام خوش امدید دوست محترم\nخواهشمند است طبق قوانین کلمات را لینک نکنید ، تمام پست های شما ویرایش گردید و اکیدا از تکرار خودداری نمایید .\n24.06.2016, 01:05 Top | #6\nفرآيندی، فراهم، كاربر، كاربران، منظور، موجود، متعددی، نمونه، نمايند، نمايد، ورودی، گيرندگان، گرديد، پياده، امكان، امنيت، امنيتی، امنیت، انجام، اوليه، ايجاد، ارائه، استفاده، اطلاعات، اطمينان، بايست، باشند، برنامه، برداشت، بررسی، تهاجم، تهديدات، تواند، خواهد، دهنده، سيستم، سازمان، سرمايه، سرويس، طراحی


رقابت برنامه نویسان برتر دنیا در مسابقه برنامه نویسی بیان در ایران - سبز افزار آریا\nHomeاخباراخبار نظام پیشنهادهارقابت برنامه نویسان برتر دنیا در مسابقه برنامه نویسی بیان در ایران\nرقابت برنامه نویسان برتر دنیا در مسابقه برنامه نویسی بیان در ایران\nنوشته شده توسط فردکهن در 28 بهمن 1391 . تحریر شده در اخبار نظام پیشنهادها\nاین رقابت بین‌المللی میان برترین‌های برنامه‌نویسی جهان، با حضور شصت برنامه‌نویس ایرانی و خارجی از هشت کشور جهان آغاز به کار کرد.\nامروز شنبه 91/11/28، نخستین مسابقات بین المللی برنامه نویسی در دو مرحله به مدت 5 ساعت میان 60 برنامه نویس راه یافته به مرحله فینال شامل 10 برنامه‌نویس صاحب نام خارجی و 50 برنامه‌نویس نخبه ایرانی در تهران برگزار شد.\nآقای علی قدیری - مدیر مسابقات برنامه نویسی بیان - در این مراسم گفت: مرحله فینال نخستین دوره مسابقات بین المللی برنامه نویسی پس از گذراندن دو مرحله حذفی و انتخابی از میان 3100 شرکت کننده خارجی از 54 کشور جهان و 1700 شرکت کننده ایرانی امروز آغاز شده است و در نهایت 3 برنامه نویس از میان 60 برنامه نویس راه یافته به مرحله فینال به عنوان برگزیدگان نهایی این مسابقات معرفی خواهند شد.\nوی با تأکید بر سطح علمی بالای ایرانیان در عرصه کامپیوتر و برنامه‌نویسی تصریح کرد: در این راستا، طراح پرسش‌های این مسابقه بین‌المللی نیز نخبگان برنامه‌نویسی ایرانی هستند.\nقدیری با بیان این که در این مسابقات تمام زبان‌های برنامه نویسی جهان به کار گرفته شده است، گفت: فینال این مسابقات میان مدال‌آوران و سهمیه‌داران بین‌المللی برنامه‌نویسی و کامپیوتر در دو رده سنی دانش‌آموزی و دانشجویی در حال برگزاری است.\nوی گفت: در این مسابقات سرعت، دقت، مهارت و خلاقیت برنامه‌نویسان سنجیده می‌شود و برگزاری این مسابقات در الگوی جهانی، قدرت علمی ایرانیان را به رخ می‌کشد؛ افزون بر این که زمینه‌ای فراهم خواهد آورد تا برنامه‌نویسان ایرانی با رقبای خود در سطح جهانی، به رقابت پرداخته و توانایی علمی خود را در زمینه برنامه‌نویسی محک زنند.\nایشان در پاسخ به پرسشی با این مضمون که موقیعت شغلی را برای مهندسی نرم افزار چگونه می بیند و اینکه آیا پیدا کردن افراد خوب مشکل است؟ می گوید: اگر شما یک مهندس نرم افزار خوب باشید، همیشه مشاغل زیادی برای انتخاب هست. اگر شما یک برنامه نویس معمولی باشید همیشه یک شغل برای شما وجود دارد. اگر شما خودتان را برنامه نویس می نامید اما از توانایی بالایی برخوردار نیستید، اگر تلاش زیادی کنید ممکن است شغلی پیدا کنید. و اگر شرکتی بدنبال مهندسان نرم افزار با استعداد و خبره باشد باید با خیلی از شرکت های دیگر رقابت کند. چون پیدا کردن یک برنامه نویس عادی به مراتب ساده تر است و شانس کمتری برای پیدا کردن فردی شایسته و با توانایی بالا وجود دارد.\nنخستین دوره این مسابقات با حضور شرکت‌کنندگانی از روسیه، چین، بلاروس، ژاپن، لهستان، کره جنوبی و سوئیس و ایران برگزار شد.


کیفیت نامطلوب خدمات موزه‌های استان یزد | یزدی نیوز\nشناسه خبر: 14487 منتشر شده در مورخ: 94/07/25 ساعت: 03:16\nبی‌رغبتی به بازدید از موزه‌ها:\nکیفیت نامطلوب خدمات موزه‌های استان یزد\nاستان دارای 24 موزه فعال است که مدیریت 9 موزه مستقیما با اداره کل میراث فرهنگی، صنایع دستی و گردشگری است، 5 موزه با مدیریت بخش خصوصی و 7 موزه دیگر تحت مدیریت سایر ارگان‌های دولتی اداره می‌شوند.\nبه گزارش پایگاه اطلاع رسانی یزدی نیوز اگرچه تعداد موزه‌های استان در خور توجه است اما پراکندگی و کیفیت پایین موزه‌های استان باعث شده که یزدی‌ها تمایل چندانی به بازدید از این مراکز فرهنگی نداشته باشند.\nموزه‌های استان همچنین به ۲ نوع تخصصی و مردم‌شناسی تقسیم می‌شوند که موزه‌های فرش اردکان، آب یزد، نسخ خطی وزیری یزد، موزه موقوفه میرزا محمد کاظمینی یزد، مفاخر اردکان، موزه سفال میبد، موزه زیلوی میبد، موزه آینه و روشنایی یزد و موزه پست میبد در زمره موزه‌های تخصصی قرار دارند.\nاز دیگر موزه‌های تخصصی استان می‌توان به موزه علوم یزد، موزه تاریخ طبیعی مرکز مطالعات زیست محیطی یزد، گنجینه مسجد جامع و موزه فرهنگ اردکان اشاره کرد و مابقی موزه‌ها در زمره موزه‌های مردم شناسی قرار دارند.\nبیشترین بازدیدکنندگان از موزه‌های استان دانشجویان و دانش‌آموزانی هستند که به‌عنوان فعالیت‌های فوق برنامه درسی، سری به موزه‌های استان می‌زنند و جای خالی خانواده‌ها همچنان در موزه‌های استان خالی است.\nبی‌رغبتی به بازدید از موزه‌ها\nمسئول موزه‌های اداره کل میراث فرهنگی، صنایع دستی و گردشگری استان با اشاره به استقبال نامطلوب خانواده‌های یزدی از موزه‌ها، می‌گوید: بیشترین بازدیدکنندگان از موزه‌های استان دانش‌آموزان، دانشجویان و برخی از خانواده‌های غیربومی هستند.\n«الهام جلوداری» با بیان این‌که ۲۴ موزه در استان دایر و فعال است، می‌افزاید: بازدید از موزه باید به یک فرهنگ در بین مردم تبدیل شود و همانطور که مردم را به خواندن کتاب تشویق می‌کنیم، آنها را به بازدید از موزه‌ها نیز تشویق کنیم.\nبه گفته وی، کودکان هم برای آشنایی با فرهنگ و تمدن نیاکان خود باید از سوی خانواده‌ها به بازدید از موزه‌ها تشویق شوند چرا که موزه‌گردی، اهرم توسعه فرهنگی است.\nاین مسئول با اشاره به رتبه چهارم استان در کشور در بخش موزه‌داری، ادامه می‌دهد: توسعه موزه‌های خصوصی به رونق صنعت موزه‌داری می‌انجامد چرا که درآمدهای این صنعت، مجموعه‌داران را به فعالیت ترغیب می‌کند.\nوی موزه‌های آب و آینه و روشنایی را از پربازدیدترین موزه‌های استان معرفی می‌کند و می‌گوید: استقبال بخش خصوصی برای راه‌اندازی موزه در استان وجود دارد و بیشتر متقاضیان علاقه‌مند به ایجاد موزه‌های هنری و باستانی هستند.\nجلوداری از بازدید روزانه ۳۰ بازدیدکننده از موزه‌های استان خبر می‌دهد و می‌افزاید: موزه‌ها تاثیر زیادی بر رونق گردشگری دارند از این رو باید برای معرفی آنها به گردشگران تلاش بیشتری صورت گیرد.\nلزوم تجمیع موزه‌های استان\nمعاون گردشگری، اداره کل میراث فرهنگی، صنایع دستی و گردشگری استان با اشاره به نقش مهم موزه در جذب گردشگر می‌گوید: موزه بیانگر هویت و تمدن یک شهر برای گردشگران است.\n«سیدمصطفی فاطمی» با اشاره به جایگاه خوب استان از حیث تعداد موزه‌ها، می‌افزاید: کوچکی، پراکندگی و تعدد موزه‌ها در استان باعث شده که کیفیت چندان مطلوبی نداشته باشند.\nوی با اشاره به علاقه گردشگران خارجی به بازدید ازموزه‌های مردم‌شناسی می‌گوید: آنها در پی این بازدید به دنبال مطالعه فرهنگ و تمدن مردم بومی هستند.\nفاطمی با اشاره به برنامه‌ریزی برای تجمیع موزه‌های کوچک و پراکنده استان می‌گوید: معاونت گردشگری در صدد است که با تجمیع موزه‌ها در موزه بزرگ منطقه‌ای جنوب کشور تا پایان سال آینده، بهره گیری از موزه‌های استان را افزایش دهد.\nوی از توافق نهایی برای مالکیت محل مورد نظر به‌منظور ساخت موزه منطقه‌ای استان خبر می‌دهد و اظهار می‌کند: تخلیه نخاله‌ها و مرمت یک خانه قدیمی برای دایر کردن موزه منطقه‌ای استان در حال انجام است.\nمعاون گردشگری اداره کل میراث فرهنگی، صنایع دستی و گردشگری استان با تاکید بر استقبال بیشتر مردم برای بازدید از موزه‌های خصوصی، می‌گوید:افرادی علاقه‌مند به دایر کردن موزه در استان هستند اما از امکانات لازم برخوردار نیستند.\n«سیدمصطفی فاطمی» می‌گوید: اداره کل میراث فرهنگی، صنایع دستی و گردشگری استان هم توانایی پرداخت تسهیلات به این افراد را ندارد اما بخش خصوصی تقریبا خوب عمل کرده است.\nبازدید روزانه ۳۰ نفر از موزه‌های استان\nاستان دارای ۲۴ موزه دولتی و خصوصی است که در رشته‌های مختلف برای نمایش هنرهای گذشتگان، دایر شده است اما متاسفانه خانواده‌های یزدی تمایلی به بازدید از این ویترین‌های تاریخ ندارند. روزانه به طور متوسط ۳۰ نفر از موزه‌های استان بازدید می‌کنند در حالی که استان رتبه چهارم را از نظر تعداد موزه‌ها در کشور دارد و این آمار نشان می‌دهد که موزه‌های استان از کیفیت لازم برای جذب مخاطب برخوردار نیستند.همشهری\nهشتگ ها: خدمات موزه‌های استان کیفیت نامطلوب یزد