نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 پنجشنبه  8  تير  1396  2017  Jun.  29   Thursday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول )

 مديريت وب

16391

22

4.1

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

ايجاد يک ارتباط ايمن در برنامه های وب  ( بخش اول )

ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول )
پرداختن به مقوله امنيت در برنامه های وب با توجه  به ماهيت اين نوع از برنامه ها و جايگاه آنان در ارائه سرويس  ها  و خدمات پيشرفته ای همچون تجارت الکترونيکی بسيار حايز اهميت است . زمانيکه در رابطه با امنيت برنامه های وب بحث می شود، می بايست بر روی دو محور اساسی متمرکز گرديد:

  • با استفاده از چه مکانيزمهائی می توان دستيابی کاربران به يک برنامه را کنترل و پس از شناسائی آنان ، امکان استفاده از برنامه را برای کاربران تائيد شده و متناسب با سطح دستيابی فراهم نمود؟

  • برخی از برنامه های وب ، اطلاعات حساس متعددی  را از طريق محيط انتقال و زير ساخت ايجاد شده ، ارسال و يا دريافت می دارند . در اين رابطه از چه نوع مکانيزمهائی می بايست استفاده گردد تا اين اطمينان حاصل شود که اطلاعات حساس ارسالی (نظير اطلاعات مربوط به کارت های اعتباری ) ، توسط افراد غير مجاز  قابل خواندن نبوده و امکان دستکاری آنان نيز وجود نداشته باشد.دريافت کننده اطلاعات، می بايست از صحت اطلاعات ارسالی،اطمينان حاصل نمايد . اين نوع از برنامه های وب ، نيازمند استفاده از يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده می باشند . وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده در برنامه ها ی وب تجاری و يا سايت هائی که بر روی آنان کالا و يا خدماتی عرضه می گردد ، بسيار حائز اهميت بوده و از موارد حياتی در موفقيت آنان محسوب می گردد .

در مجموعه مقالاتی که با عنوان "امنيت برنامه های وب " ارائه گرديد، اولين محور امنيتی در رابطه با  برنامه های وب ، بررسی  و در اين راستا با تمرکز بر روی پلت فرم دات نت مايکروسافت ، با روش های پياده سازی آن  در برنامه های وب دات نت ، آشنا شديم . در مجموعه مقالاتی که ارائه خواهد شد ، به بررسی محور دوم امنيت در برنامه های وب خواهيم پرداخت . در اين رابطه لازم است در ابتدا با ملزومات لازم به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده آشنا شده و در ادامه به بررسی نحوه پياده سازی يک ارتباط ايمن در برنامه های وب دانت نت ، خواهيم پرداخت .

ضرورت ايجاد يک ارتباط ايمن بين سرويس گيرنده  و سرويس دهنده
همانگونه که اشاره گرديد ، برخی از برنامه های وب ، اطلاعات حساسی را از سرويس گيرنده اخذ و در ادامه ، اطلاعات دريافتی  بر اساس زيرساخت موجود برای سرويس دهنده ارسال می گردد. سرويس گيرنده نيز ممکن است اطلاعات حساسی را ( اغلب به منظور تائيد دريافت ) برای سرويس گيرنده ارسال نمايد . بنابراين  اين نوع از برنامه ها نيازمند وجود يک کانال ارتباطی ايمن به منظور مبادله اطلاعات می باشند . به منظور آشنائی بيشتر با اهميت و جايگاه يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، به بررسی تجارت الکترونيکی و از زاويه برنامه های وب و ارتباطات ايمن ، اشاره می گردد .
اينترنت فرصتی استثنائی و طلائی را برای سازمان ها و موسسات ارائه دهنده کالا و يا خدمات فراهم نموده است که بتوانند با استفاده از زيرساخت موجود ، خدمات و يا کالای خود را در اخيتار متقاضيان و در عرصه جهانی قرار دهند .حجم فروش online در سال 2002  ، نشاندهنده رشد چشمگير تجارت الکترونيکی است : امريکا  47 / 43 ميليارد دلار ، اروپا 29 / 28 ميليارد دلار ، آسيای جنوب شرقی 15 ميليارد دلار ، امريکای لاتين 3 / 2 ميليارد دلار و افريقا ، 4 ميليون دلار . بر اساس گزارش DoC)Department of Commerce) امريکا ، فروش Online در سه ماهه چهارم سال 2002 بالغ بر 33 / 14 ميليارد دلار بوده که نسبت به مدت مشابه در سال 2001 ، بيش از 2 / 28 درصد رشد و نسبت به سه ماهه سوم سال 2002 ، بيش از 3 / 29 درصد را داشته است .
عليرغم وجود مزايا و فرصت های تجاری online ، در اين رابطه چالش ها و مسائل خاصی وجود داشته  که می بايست به دقت بررسی و راهکار مناسب برای آنان انتخاب گردد. بر اساس مطالعه ای که توسط  موسسه  Yankelovich Partners  ، انجام شده است ، هشتاد و پنج درصد افراد شرکت کننده درنظر سنجی ، به اين موضوع اشاره داشته اند که  آنان اطمينان لازم در خصوص ارسال شماره کارت اعتباری خود را در  اينترنت ندارند. خريداران صرفا" پس از حصول اطمينان از وجود امنيت لازم ، اقدام به ارسال اطلاعات و خريد کالا و يا خدمات از طريق وب سايت ها ی  مربوطه می نمايند. بديهی است شرط اوليه موفقيت سايت های تجاری Online ، افزايش ضريب اعتماد کاربران می باشد .در اين راستا، ايجاد يک زيرساخت ارتباطی ايمن ، جايگاه و اهميت خاص خود را پيدا می کند . به منظور ايمن سازی تجارت الکترونيکی ، می بايست از يک زيرساخت قابل اعتماد و ايمن ، استفاده گردد.
با استفاده از رمزنگاری PKI) Public Key Infrastructure ) و تکنولوژی امضای ديجيتالی از طريق گواهينامه های ديجتالی SSL) Secure Sockets Layer) ، امکان تائيد کاربران ، پيوستگی و انسجام داده ها ، حصول اطمينان از عدم خواندن و يا دستکاری اطلاعات ارسالی و ساير ملزومات امنيتی لازم در خصوص تجارت الکترونيکی، فراهم می گردد .به منظور ايجاد يک زيرساخت ايمن برای فعاليت های تجاری ، به دو عنصر مهم زير نياز می باشد :

  • گواهينامه  های  ديجيتالی برای سرويس دهندگان وب تا امکان تائيد ، پيوستگی و محرمانگی اطلاعات  در زمان رمزنگاری ، فراهم گردد .
  • يک سيستم مديريت پرداخت online ايمن  که امکان فعاليت های تجاری online را برای وب سايت های مربوطه فراهم و بصورت اتوماتيک درخواست ها  را مديريت نمايد (دريافت ، پردازش ، پرداخت ) .

در ادامه با عناصر لازم  به منظور ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده ، آشنا خواهيم شد .

رمزنگاری کليد عمومی و گواهينامه  ديچِيتالی 
رمزنگاری کليد عمومی و سيستم زيربنائی SSL  از جمله ملزومات مورد نياز برای هر زيرساخت مطمئن در تجارت الکترونيکی می باشند. رمزنگاری ، فرآيندی است که در آن اطلاعات بگونه ای تبديل می گردند که برای تمامی افراد ( به غير از گيرندگان تائيد شده )، نامفهوم و عملا" غيرقابل استفاده باشند . در فرآيند فوق ، از فرمول های رياضی (الگوريتم های رمزنگاری )  و اعداد ( کليد ) ، به منظور رمزنگاری و رمزگشائی اطلاعات استفاده می گردد .

رمزنگاری کليد خصوصی   (  private key   ) 
منداولترين نوع رمزنگاری مبتنی بر کليد ، رمزنگاری "کليد خصوصی"  است . به اين نوع رمزنگاری ، متقارن ، سنتی ، رمز مشترک ، کليد رمز ، نيز گفته می شود . در اين نوع رمزنگاری ، فرستنده و گيرنده از کليد استفاده شده به منظور رمزنگاری اطلاعات ، آگاهی دارند. رمزنگاری کليدخصوصی ، گزينه ای مناسب به منظور مبادله اطلاعات بر روی اينترنت و يا ذخيره سازی اطلاعات حساس در يک بانک اطلاعاتی ، ريجستری و يا يک فايل می باشد . از روش فوق ، به منظورايمن سازی ارسال اطلاعات در شبکه های عمومی استفاده می گردد ( از گذشته تا کنون ) . ايده اوليه و اساسی در  چنين سيستم هائی  ، "اشتراک يک رمز"  بوده و دو گروه شرکت کننده در مبادله اطلاعات ، بر روی يک "کليد رمزمشترک " ، با يکديگر توافق می نمايند. بدين ترتيب  امکان  رمزنگاری و رمزگشائی پيام ها برای هر يک از آنان با توجه به آگاهی از "کليد رمز " ، فراهم می گردد . شکل زير نحوه عملکرد رمزنگاری کليد خصوصی را نشان می دهد .

رمزنگاری متقارن و يا کليد خصوصی  دارای چندين نقطه ضعف می باشد. مبادله کليدهای رمز در شبکه های بزرگ امری دشوار و مشکل است .علاوه بر اين  ، اشتراک کليدهای رمز ، مستلزم اين واقعيت است که  فرستندگان و گيرندگان می بايست معتبر بوده و قبل از برقراری ارتباط ، آشنائی لازم را نسبت به يکديگر داشته باشند( با تمام افراديکه قصد ارتباط ايمن با آنان وجود داشته باشد ) . همچنين ، اين نوع سيستم های رمزنگاری  ، نيازمند استفاده از  يک کانال ايمن به منظور توزيع کليدهای " رمز" می باشند . در صورتيکه چنين کانال ايمنی وجود داشته باشد ، چرا از آن به منظور ارسال تمامی پيام رمز استفاده نشود ؟ درسيستم های مبتنی بر وب که دارای تعاملات گذرا و کاربران متعددی می باشند، به امکانات قدرتمندتری در ارتباط با رمزنگاری نياز خواهد بود.بنابراين ، رمزنگاری مبتنی بر کليد، عملا" به منظورايجاد  يک ارتباط ايمن به تنهائی کافی نخواهد بود. توزيع و عرضه کليد ( يکی از مسائل مهم در ارتباط با مديريت کليد ) ، از جمله مسائل مهم و درعين حال موثر به منظور شناخت سيستم های رمزنگاری جديد می باشد. رمزنگاری کليد خصوصی  دارای نقشی مهم در پروتکل SSL است( به همراه رمزنگاری کليد عمومی نامتقارن ) .

رمزنگاری کليد عمومی  (  Public Key )
رمزنگاری کليد عمومی که از آن با نام رمزنگاری نامتقارن نيز ياد می گردد ، دارای يک تفاوت مهم با رمزنگاری کليد خصوصی است . رمزنگاری کليد عمومی از دو کليد متفاوت استفاده می نمايد : يک کليد برای رمزنگاری  و کليدی ديگر برای رمزگشائی . در رمزنگاری کليد خصوصی ، فرض بر اين است که فرستنده و گيرنده  دارای آگاهی لازم دررابطه با کليد استفاده شده در فرآيند رمزنگاری می باشند . در رمزنگاری کليد عمومی ، با استفاده از يک روش کاملا" ايمن يک کليد برای  ارسال کننده اطلاعات ايجاد و وی با استفاده از کليد فوق ، اقدام به رمزنگاری و ارسال پيام رمز شده برای گيرنده می نمايد . امکان رمزگشائی پيام رمز شده صرفا" توسط دريافت کننده ، امکان پذير خواهد بود. در رمزنگاری کليد عمومی ، سيستم يک زوج کليد خصوصی  و عمومی ايجاد می نمايد . کليد عمومی برای شخصی که از آن به منظور رمزنگاری يک پيام استفاده می نمايد ، ارسال می گردد. وی پس از رمزنگاری پيام با استفاده از کليد عمومی که دراختيار دارد ، پيام رمز شده را ارسال می نمايد . دريافت کننده با استفاده از کليد خصوصی ، اقدام به رمزگشائی پيام می نمايد .( ماهيت کليد خصوصی استفاده شده در رمزنگاری کليد عمومی ، مشابه کليد خصوصی استفاده شده در رمزنگاری کليد خصوصی نمی باشد ) .حتی اگر يک فرد مزاحم ، به کليد عمومی دستيابی پيدا نمايد وی نمی تواند با استفاده از آن اقدام به رمزگشائی پيام رمز شده نمايد ، چراکه رمزگشائی پيام ، صرفا" با استفاده از کليد خصوصی امکان پذير می باشد . برخلاف رمزنگاری کليد خصوصی ، کليد های استفاده شده در رمزنگاری کليد عمومی چيزی بمراتب بيشتر از رشته های ساده می باشند . کليد در اين نوع رمزنگاری دارای  يک ساختار خاص با هشت فيلد اطلاعاتی است : از دو فيلد آن به منظور رمزنگاری با استفاده از کليد عمومی استفاده می گردد و شش فيلد ديگر به منظور رمزگشائی پيام با استفاده از کليد خصوصی مورد استفاده قرار می گيرد. در سيستم رمزنگاری کليد عمومی  با توجه به عدم ضرورت مبادله رمز مشترک ، اولين مسئله در مديريت کليد برطرف می گردد.  رمزنگاری کليد عمومی ، شامل مراحل زير است :

  • مرحله اول : وب سايت مورد نظر ، يک زوج کليد عمومی و خصوصی را ايجاد می نمايد .

  • مرحله دوم : وب سايت موردنظر ، کليد عمومی را برای کاربر ارسال می نمايد .

  • مرحله سوم : کاربر از کليد عمومی به منظور رمزنگاری داده مورد نظر خود استفاده می نمايد ( مثلا" شماره کارت اعتباری)

  • مرحله چهارم : کاربر پيام رمز شده ( در اين مثال عدد رمز شده ) را برای سرويس دهنده ارسال می نمايد .

  • مرحله پنجم : سرويس دهنده با استفاده از کليد خصوصی ، پيام رمز شده دريافتی را رمزگشائی می نمايد .

سيستم های مدرن رمزنگاری : يک رويکرد ترکيبی
در سيستم های جديد رمزنگاری از  ترکيب رمرنگاری مبتنی بر کليد عمومی و کليد خصوصی ، استفاده می گردد. هر يک از روش های فوق دارای مزايای خاص خود بوده که با استفاده و ترکيب مزايای موجود در هر يک می توان يک مدل جديد رمزنگاری را ايجاد نمود. حجم عمليات محاسباتی در مدل رمزنگاری کليد عمومی بالا می باشد ( در مقايسه با مدل رمزنگاری کليد خصوصی ) . با توجه به سرعت مناسب مدل رمزنگاری کليد خصوصی ( متقارن ) در رابطه با حجم گسترده ای از اطلاعات ، در سيستم های رمزنگاری پيشرفته ، عموما" از مدل رمزنگاری کليد عمومی به منظور عرضه کليد استفاده شده و در ادامه از مدل رمزنگاری خصوصی به منظور رمزنگاری حجم بالائی از اطلاعات استفاده می گردد . از سيستم های پيشرفته رمزنگاری در پروتکل SSL و به منظور ايمن سازی تراکنش های وب و يا ايمن سازی مدل نامه های الکترونيکی نظير S/MIME که در محصولاتی نظير مرورگر نت اسکيپ و IE پيش بينی شده است ، استفاده می گردد .

مسئله مديريت کليد
در هر سيستم رمزنگاری ،مجموعه ای از مسائل عملی و سوالات مختلف در رابطه با وجود امنيت لازم ، ميزان اعتماد پذيری سيستم و رعايت حريم اطلاعات  خصوصی ، مطرح می گردد. روش های رمزنگاری کليد عمومی و خصوصی که به آنان اشاره گرديد، دارای امکانات لازم به منظور پاسخگوئی وارائه اطمينان لازم در خصوص امنيت اطلاعات می باشند . مثلا" مرورگرهای وب از کليد عمومی يک وب سايت به منظور ارسال شماره کارت اعتباری برروی وب استفاده می نمايند . با روشی مشابه ، شخصی که به فايل ها و يا اطلاعات حفاظت شده و رمز شده دستيابی پيدا می نمايد ، می تواند با استفاده از يک کليد خصوصی ، اقدام به رمزگشائی آنان نمايد . در عمل ،  هر يک از مسائل فوق ، نيازمند استفاده از يک کليد عمومی تضمين شده بوده که با استفاده از آن صحت عمليات رمزنگاری بين دو طرف درگير در فرآيند رمزنگاری تضمين و امکان دخالت افراد غير مجاز نيز سلب گردد . رويکرد فوق ، سوالات متنوع ديگری را ذهن ايجاد می نمايد :

  • چگونه می توان اطمينان حاصل نمود که کليد عمومی استفاده شده توسط مرورگر به منظور ارسال اطلاعات کارت اعتباری ، همان کليد عمومی مورد نظر وب سايت دريافت کننده اطلاعات کارت اعتباری می باشد؟ ( کليد عمومی  تقلبی نباشد ) .
  • چگونه می توان با اطمينان اقدام به مبادله کليدهای عمومی خود برای متقاضيان نمود تا آنان با استفاده از آن اقدام به رمزنگاری و ارسال اطلاعات نمايند ؟

به منظور پاسخگوئی به اين نوع از سوالات و رفع نگرانی های موجود ، می بايست فرآيند نسبت دهی يک کليد عمومی ( يک ارتباط ايمن با يک کليد عمومی ، آغاز می گردد) به يک entity ( يک شی دلخواه که در يک تراکنش فعاليت دارد ) بصورت ايمن و مطمئن انجام شود ( Secure Binding ) .

در بخش دوم اين مقاله با  امضای ديجيتالی ، گواهينامه های ديجيتالی X.509  ، گواهينامه ديجيتالی سرويس دهنده SSL  و  پروتکل SSL  ، آشنا خواهيم شد.



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382