توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله Ssl چيست
MAHDIAR
19th March 2010, 11:47 PM
http://www.developercenter.ir/forum/images/icons/icon1.gif Ssl چيست
SSL چيست و آيا سايت شركت ما بايد به SSL مجهز باشد يا خير ؟
منبع : http://www.winbeta.net (http://njavan.com/forum/redirector.php?url=http%3A%2F%2Fwww.winbeta.net%2F )
بيشتر اطلاعاتي كه روي اينترنت رد و بدل ميشوند به صورت Clear Text مبادله مي شوند و به همين خاطر اطلاعات مبادله شده در بين راه از كامپيوتر شما به وب سرور قابل مشاهده هستند .
به عنوان مثال شما وقتي بر روي يك سايت كه SSL نداشته باشد ، يك فرمي را پر كنيد و اطلاعات شخصي خود را براي اون سايت بفرستيد اين اطلاعات به صورت Clear Text از كامپيوتر شما خارج شده و بعد از گذشتن از ISP شما و دهها گره اينترنتي ديگر به سرور مي رسند ، و اين با اين خطر روبروست كه هر يك از اين گره ها ميتواند اطلاعات رد و بدل شده را به آساني مشاهده كند به عنوان مثال اگر از يك ISP ايراني استفاده مي كنيد ، هم آن ISP و هم شركتي كه به آن ISP خط Send مي دهد و همه شركت هايي كه در مسير هستند قابليت مشاهده اطلاعات فرستاده شما را دارند .
به طور خلاصه SSL يك پروتوكل امنيتي است كه توسط نت اسكيپ ابداع شده است و در تال تاضر رايج ترين پروتوكل انتقال امن اطلاعات در وب ميباشد به شكلي كه مرورگر اينترنتي شما از وجود چنين امكاني در سرور خبر دار شده و از يك Public Key موجود در مرورگراستفاده كرده و اطلاعات شما به صورت كد شده به سرور مي فرستد و اين تنها سرور است كه با استفاده از Private Key خود اطلاعات دريافتي را ميتواند Decode كند . به علت اينكه آن Private Key تنها در سرور نصب شده است ، هيچ نرم افزار ديگري در بين راه نمي تواند آن اطلاعات را مشاهده كند .
از طرف ديگر وجود SSL در سرور اين اطمينان خاطر را به شما مي دهد كه وب سايتي كه شما در تال فرستادن اطلاعات به آن هستيد يك وب سايت تقلبي يا شبيه سازي شده براي بدست آوردن اطلاعات شما نيست و از اصل بودن آن اطمينان تاصل مي كنيد .
آگر وب سايت شما اطلاعات مترمانه اي را از بازديد كننده دريافت ميكند يا داراي قسمتي است كه از بازديد كننده تان شناسه كاربري و پسورد دريافت ميكند و وارد يك User Area ميشود و در آنجا به امكانات خاصي دسترسي دارند بنا بر اهميت آن ، ما توصيه به گرفتن SSL مي كنيم .
(http://njavan.com/forum/redirector.php?url=http%3A%2F%2Fwww.developercente r.ir%2Fforum%2Fnewreply.php%3Fdo%3Dnewreply%26p%3D 12)
MAHDIAR
19th March 2010, 11:48 PM
http://www.developercenter.ir/forum/images/icons/icon1.gif آشنايي با پروتكل Ssl و عملكرد آن
SSL چيست؟
(SSL يا Secure Socket Layer) راه حلي جهت برقراري ارتباطات ايمن ميان يك سرويس دهنده و يك سرويس گيرنده است كه توسط شركت Netscape ارايه شده است. در واقع SSL پروتكلي است كه پايين تر از لايه كاربرد (لايه 4 از مدل TCP/IP) و بالاتر از لايه انتقال (لايه سوم از مدل TCP/IP) قرار مي گيرد.
مزيت استفاده از اين پروتكل بهره گيري از موارد امنيتي تعبيه شده آن براي امن كردن پروتكل هاي غيرامن لايه كاربردي نظير HTTP ،LDAP ،IMAP و... مي باشد كه براساس آن الگوريتم هاي رمزنگاري بر روي داده هاي خام (plain text) كه قرار است از يك كانال ارتباطي غير امن مثل اينترنت عبور كنند، اعمال مي شود و محرمانه ماندن داده ها را در طول كانال انتقال تضمين مي كند.به بيان ديگر شركتي كه صلاحيت صدور و اعطاء گواهي هاي ديجيتال SSL را دارد براي هر كدام از دو طرفي كه قرار است ارتباطات ميان شبكه اي امن داشته باشند، گواهي هاي مخصوص سرويس دهنده و سرويس گيرنده را صادر مي كند و با مكانيزم هاي احراز هويت خاص خود، هويت هر كدام از طرفين را براي طرف مقابل تأييد مي كند، البته غير از اين كار مي بايست تضمين كند كه اگر اطلاعات حين انتقال مورد سرقت قرار گرفت، براي رباينده قابل درك و استفاده نباشد كه اين كار را با كمك الگوريتم هاي رمزنگاري و كليدهاي رمزنگاري نامتقارن و متقارن انجام مي دهد.
ملزومات يك ارتباط مبتني بر پروتكل امنيتي SSL
براي داشتن ارتباطات امن مبتني بر SSL عموماً به دو نوع گواهي ديجيتال SSL يكي براي سرويس دهنده و ديگري براي سرويس گيرنده و يك مركز صدور و اعطاي گواهينامه ديجيتال يا CA نياز مي باشد. وظيفه CA اين است كه هويت طرفين ارتباط، نشاني ها، حساب هاي بانكي و تاريخ انقضاي گواهينامه را بداند و براساس آن ها هويت ها را تعيين نمايد.
مكانيزم هاي تشكيل دهنده SSL
1- تأييد هويت سرويس دهنده
با استفاده از اين ويژگي در SSL، يك كاربر از صحت هويت يك سرويس دهنده مطمئن مي شود. نرم افزارهاي مبتني بر SSL سمت سرويس گيرنده (مثلاً يك مرورگر وب نظيرInternet Explerer از تكنيك هاي استاندارد رمزنگاري مبتني بر كليد عمومي و مقايسه با كليدهاي عمومي يك سرويس دهنده (مثلاً يك برنامه سرويس دهنده وب نظير (IIS مي تواند از هويت او مطلع شود و پس از اطمينان كامل، كاربر مي تواند نسبت به وارد نمودن اطلا عات خود مانند شماره كارت هاي اعتباري و يا گذرواژه ها اقدام نمايد.
2- تأييد هويت سرويس گيرنده
برعكس حالت قبلي در اينجا سرويس دهنده است كه مي بايست از صحت هويت سرويس گيرنده اطمينان يابد. طي اين مكانيزم، نرم افزار مبتني بر SSL سمت سرويس دهنده پس از مقايسه نام سرويس گيرنده با نام هاي مجاز موجود در ليست سرويس گيرنده هاي مجاز كه در داخل سرويس دهنده تعريف مي شود و در صورت وجود، اجازه استفاده از سرويس هاي مجاز را به او مي دهد.
3- ارتباطات رمز شده
كليه اطلاعات مبادله شده ميان سرويس دهنده و گيرنده مي بايست توسط نرم افزارهاي موجود در سمت سرويس دهنده و سرويس گيرنده رمزنگاري (Encrypt) شده و در طرف مقابل رمزگشايي (Decrypt) شوند تا حداكثر محرمانگي (Confidentiality) در اين گونه سيستم ها لحاظ شود.
اجزاي پروتكل SSL
پروتكل SSL داراي دو زير پروتكل تحت عناوين زير مي باشد.
1- SSL Rocord Protocol كه نوع قالب بندي داده هاي ارسالي را تعيين مي كند.
2- SSL Handshake Protocol كه براساس قالب تعيين شده در پروتكل قبلي، مقدمات ارسال داده ها ميان سرويس دهنده ها و سرويس گيرنده هاي مبتني بر SSL را تهيه مي كند.
بخش بندي پروتكل SSL به دو زير پروتكل داراي مزاياي چندي است. از جمله:
اول: در ابتداي كار و طي مراحل اوليه ارتباط (Handshake) هويت سرويس دهنده براي سرويس گيرنده مشخص مي گردد.
دوم: در همان ابتداي شروع مبادلات، سرويس دهنده و گيرنده بر سر نوع الگوريتم رمزنگاري تبادلي توافق مي كنند.
سوم: در صورت لزوم، هويت سرويس گيرنده نيز براي سرويس دهنده احراز مي گردد.
چهارم: در صورت استفاده از تكنيك هاي رمزنگاري مبتني بر كليد عمومي، مي توانند كليدهاي اشتراكي مخفي را ايجاد نمايند.
پنجم: ارتباطات بر مبناي SSL رمزنگاري مي شوند.
الگوريتم هاي رمزنگاري پشتيباني شده در SSL
در استاندارد SSL ، از اغلب الگورتيم هاي عمومي رمزنگاري و مبادلات كليد (Key Exchcenge Algorithm) نظير DES ،DSA ،KEA ، MD5، RC2،RC4، RSA و RSA Key Exchauge ،SHA-1 ،Skipjack و 3DES پشتيباني مي شود و بسته به اين كه نرم افزارهاي سمت سرويس دهنده و سرويس دهنده نيز از موارد مذكور پشتيباني نماييد، ارتباطاتSSL مي تواند براساس هر كدام اين از الگوريتم ها صورت پذيرد. البته بسته به طول كليد مورد استفاده در الگوريتم و قدرت ذاتي الگوريتم مي توان آن ها را در رده هاي مختلفي قرار دارد كه توصيه مي شود با توجه به سناريوهاي موردنظر، از الگوريتم هاي قوي تر نظير 3DES با طول كليد 168 بيت براي رمزنگاري داده ها و همچنين الگوريتم 1-SHA براي مكانيزم هاي تأييد پيغام 5 MD استفاده شود و يا اين كه اگر امنيت در اين حد موردنياز نبود، مي توان در مواردي خاص از الگوريتم رمزنگاري 4 RC با طول كليد 40 بيت و الگوريتم تأييد پيغام 5 MD استفاده نمود
MAHDIAR
19th March 2010, 11:48 PM
نحوه عملكرد داخلي پروتكل SSL
همانطور كه ميدانيد SSL ميتواند از تركيب رمزنگاري متقارن و نامتقارن استفاده كند. رمزنگاري كليد متقارن سريعتر از رمزنگاري كليد عمومي است و از طرف ديگر رمزنگاري كليد عمومي تكنيكهاي احراز هويت قويتري را ارايه ميكند. يك جلسه SSL Session) SSL) با يك تبادل پيغام ساده تحت عنوان SSL Handshake شروع ميشود. اين پيغام اوليه به سرويس دهنده اين امكان را ميدهد تا خودش را به سرويس دهنده داراي كليد عمومي معرفي نمايد و سپس به سرويس گيرنده و سرويس دهنده اين اجازه را ميدهد كه يك كليد متقارن را ايجاد نمايند كه براي رمزنگاريها و رمزگشايي سريعتر در جريان ادامه مبادلات مورد استفاده قرار ميگيرد. گامهايي كه قبل از برگزاري اين جلسه انجام ميشوند براساس الگوريتم RSA Key Exchange عبارتند از:
1- سرويس گيرنده، نسخه SSL مورد استفاده خود، تنظيمات اوليه درباره نحوه رمزگذاري و يك داده تصادفي را براي شروع درخواست يك ارتباط امن مبتني بر SSL به سمت سرويس دهنده ارسال ميكند.
2- سرويس دهنده نيز در پاسخ نسخه SSL مورد استفاده خود، تنظيمات رمزگذاري و داده تصادفي توليد شده توسط خود را به سرويس گيرنده ميفرستد و همچنين سرويس دهنده گواهينامه خود را نيز براي سرويس گيرنده ارسال ميكند و اگر سرويس گيرنده از سرويس دهنده، درخواستي داشت كه نيازمند احراز هويت سرويس گيرنده بود، آن را نيز از سرويس گيرنده درخواست ميكند.
3- سپس سرويس گيرنده با استفاده از اطلاعاتي كه از سرويس دهنده مجاز در خود دارد، داده ها را بررسي ميكند و اگر سرويس دهنده مذكور تأييد هويت شد، وارد مرحله بعدي ميشود و در غير اينصورت با پيغام هشداري به كاربر، ادامه عمليات قطع ميگردد.
4- سرويس گيرنده يك مقدار به نام Premaster Secret را براي شروع جلسه ايجاد ميكند و آن را با استفاده از كليد عمومي (كه اطلاعات آن معمولاً در سرويس دهنده موجود است) رمزنگاري ميكند و اين مقدار رمز شده را به سرويس دهنده ارسال ميكند.
5- اگر سرويس دهنده به گواهينامه سرويس گيرنده نياز داشت ميبايست در اين گام براي سرويس دهنده ارسال شود و اگر سرويس گيرنده نتواند هويت خود را به سرويس دهنده اثبات كند، ارتباط در همينجا قطع ميشود.
6- به محض اينكه هويت سرويس گيرنده براي سرويس دهنده احراز شد، سرويس دهنده با استفاده از كليد اختصاصي خودش مقدار Premaster Secret را رمزگشايي ميكند و سپس اقدام به تهيه مقداري به نام Master Secret مينمايد.
7- هم سرويس دهنده و هم سرويس گيرنده با استفاده از مقدار master Secret كليد جلسه (Session Key) را توليد ميكنند كه در واقع كليد متقارن مورد استفاده در عمل رمزنگاري و رمزگشايي داده ها حين انتقال اطلاعات است و در اين مرحله به نوعي جامعيت داده بررسي ميشود.
8- سرويس گيرنده پيغامي را به سرويس دهنده ميفرستد تا به او اطلاع دهد، داده بعدي كه توسط سرويس گيرنده ارسال ميشود به وسيله كليد جلسه رمزنگاري خواهد شد و در ادامه، پيغام رمز شده نيز ارسال ميشود تا سرويس دهنده از پايان يافتن Handshake سمت سرويس گيرنده مطلع شود.
9- سرويس دهنده پيغامي را به سرويس گيرنده ارسال ميكند تا او را از پايان Handshake سمت سرويس دهنده آگاه نمايد و همچنين اينكه داده بعدي كه ارسال خواهد شد توسط كليد جلسه رمز ميشود.
10- در اين مرحله SSL Handshake تمام ميشود و از اين به بعد جلسه SSL شروع ميشود و هر دو عضو سرويس دهنده و گيرنده شروع به رمزنگاري و رمزگشايي و ارسال داده ها ميكنند. حملات تأثيرگذار برSSL SSL نيز از حملات و نفوذهاي مختلف در امان نيست. بعضي از حملات متداولي كه براين پروتكل واقع ميشود عبارتند ازTraffic Analysis : يا تحليل ترافيك، حملاتCut ِ Paste بلووين، حملات Certification Injection و حملات از نوع Man in the middle.
MAHDIAR
19th March 2010, 11:49 PM
http://www.developercenter.ir/forum/images/icons/icon1.gif نگاهي به پروتكل Secure Sockets Layer
هنگامي كه وبسايت amazon.com از شما ميخواهد «با استفاده از سرور ايمن ما وارد سيستم شويد» و سپس اطلاعات مالي مهم مانند شماره كارت اعتباري خود را وارد كنيد، براي ايمنسازي تبادل اطلاعات بين مرورگر و سرور، چه اتفاقاتي رخ ميدهد؟ براي پاسخ به اين پرسش بايد پروتكل SSL يا Secure Sockets Layer را مورد بررسي قرار دهيم. اين پروتكلِ وبمحور، به منظور ايمنسازي تبادل دادهها در اينترنت ايجاد شده است و براي درك نحوه عملكرد آن بايد با دو تكنيك رمزنگاري كليد متقارن (symetric-key) و كليد عمومي (public-key: PK) كه در اين پروتكل مورد استفاده قرار ميگيرند، آشنا شويد.
http://www.shabakeh-mag.com/Data/1003264_b.jpg
منبع: IEEE Computer
تكنيكهاي رمزنگاري
شيوههاي حفاظت از اطلاعات به واسطه دستكاري آن به نحوي كه منجر به تبديل متن ساده به يك متن رمزشده گردد، با عنوان رمزنگاري يا Cryptography شناخته ميشوند. هدف اصلي تمام روشهاي رمزنگاري، به دستآوردن متني است كه براي تمام افراد، غير از دريافتكننده مجاز آن، نامفهوم باشد.
در بخش «دستگاه رمزنگاري توماس جفرسون» در همين مقاله، يك نمونه از ابزاري كه در قرن هيجدهم براي رمزگذاري و رمزگشايي پيغامها به كار ميرفت، مورد بررسي قرار گرفته است. براي رمزگشايي پيغام، فرستنده و دريافتكننده آن بايد تكنيك يكساني را به كار بگيرند و يك كلمه رمز مشخص كنند.
در رمزگذاري به شيوه كليد متقارن، به اين كلمه رمز كه يك عدد تصادفي است، اصطلاحاً كليد (key) گفته ميشود. در رمزنگاري به شيوه كليد عمومي كه داراي يك جفت كليد عمومي (public) و خصوصي (private) است، اين كلمه رمز درواقع همان كليد خصوصي است. پس از بررسي روشهاي رمزنگاري، علت استفاده همزمان از دو شيوه مذكور مشخص خواهد شد.
رمزنگاري به شيوه كليد متقارن
همانطور كه در شكل 1 ميبينيد، در رمزنگاري به شيوه كليد متقارن، تابع رمزگذاري ()E با استفاده از يك كليد محرمانه k، پيغام متني P را به متن رمزشده C تبديل ميكند. دريافتكننده اين پيغام رمزشده، با اعمال تابع رمزگشايي ()D و همان كليد محرمانه k، اين پيغام را به حالت اوليه P بازميگرداند.
بهترين تكنيك رمزنگاري به شيوه كليد متقارن، DES يا Data Encryption Standard نام دارد و از سال 1976 مورد استفاده قرار گرفته است. تكنيك DES در واقع يك متن كدشدهِ تكراري است كه به قطعات 64 بيتي متن ساده متصل ميشود.
تابع رمزگذاري به واسطه جابهجايي، توسعه، انتقال، فشردهسازي، تعويض و تركيب قطعات 64 بيتي متن پيغام با يك كليد 56 بيتي، هر قطعه از متن ورودي را به يك قطعه متن 64 بيتي كدشده تبديل ميكند. گيرنده پيغام، با اجراي معكوس مراحل رمزگذاري و با استفاده از همان كليد 56 بيتيk ، قادر است پيغام را به حالت اوليه بازگرداند.
http://www.shabakeh-mag.com/Data/Gallery/s77_Secure-Sockets01_s.jpg
شکل1- فرآيند رمزگذاري از فرمول (C=E(P تبعيت ميکند. براي رمزگشايي پيغام از فرمول (P=D(C استفاده ميشود. در رمزگذاري به شيوه کليد متقارن، رابطه K1=K2 برقرار است. در رمزگذاري به شيوه کليد عمومي، کليد رمزگذاري با کليد عمومي دريافتکننده پيغام يکسان است و کليد رمزگشايي همان کليد خصوصي دريافتکننده است.
تكنيك DES از همان ابتداي كار، به عنوان يك روش ايمن براي انجام تراكنشهاي مالي مورد استفاده قرار گرفت، اما امروزه كارايي گذشته را ندارد. فضاي 56 بيتي كليد مورد استفاده در اين تكنيك، 2 به توان 56 كليد منحصر بهفرد توليد ميكند. بنابراين، جستوجوي دقيق فضاي كليد، متضمن دستيابي به مقدار كليدk و تبديل متن كدشدهC به پيغام اوليه P خواهد بود.
با اينكه فضاي 256 بيتي براي انسانها بسيار بزرگ به نظر ميرسد، جستوجوي آن براي ماشينهاي ويژهِ كشفرمز يا سوپركامپيوترهاي امروزي، چندان مشكل نيست. در نتيجه، محققان روشهاي جديدي را براي پيادهسازي الگوريتمهاي رمزنگاري بهشيوه كليد متقارن ابداع كردهاند.
از ميان اين روشها ميتوان از DES سهگانه (در اين روش، تكنيك DES سه بار پياپي و با استفاده از سه كليد 56 بيتي متفاوت اجرا ميشود. در اين نوع رمزنگاري، فضاي كليد مود استفاده، معادل يك كليد 168 بيتي خواهد بود.)، تكنيك IDEA يا International Data Encryption Algorithm با كليدهاي 128 بيتي، تكنيك RC4 (كليدهايي با فضاي بالاي دو كيلوبيت يا 2048 بيت) و تكنيك RC5 (كليدهايي با فضاي بالاي 256 بيت) نام برد.
هنگام استانداردسازي روشهاي رمزنگاري در سال 1997 مؤسسه ملي استاندارد و فناوري با برگزاري يك مسابقه عمومي، تكنيك DES را با تكنيك AES يا Advanced Encription Standard جايگزين كرد. برنده اين مسابقه روشي موسوم به Rijndael يا Rhine-doll بود كه دو رمزنگار بلژيكي معرفي كردند.
تكنيك AES مانند DES نوعي رمزنگاري با استفاده از قطعات تكراري متن كدشده است، اما در آن از متنهاي 128 بيتي همراه كليدهاي 128، 192 يا 256بيتي استفاده ميشود. بهرهگيري از كليد 256 بيتي، تعداد 2 به توان 256 انتخاب را براي كليد فراهم ميكند. جستوجوي اين فضا حتي براي كامپيوترهاي پيشرفتهِ امروزي نيز غيرممكن است.
از آنجايي كه براي اجراي رمزنگاري به شيوه كليد متقارن از فرمولهاي رياضي ساده استفاده ميشود، اين شيوه با سرعت نسبتاً زيادي به اجرا در ميآيد. صرفنظر از فضاي كليد، تمام رويكردهاي رمزنگاري به شيوه كليد متقارن يك ضعف مشابه دارند. براي بازگرداندن پيغام به حالت اوليه، كليد مورد استفاده در رمزگذاري بايد در اختيار دريافتكننده پيغام قرار بگيرد. در اين بين اگر كسي به كليد دسترسي يابد، رمزنگاري پيغام بيفايده خواهد بود. براي رفع مشكل انتقال كليد، ميتوان از رمزنگاري به شيوه كليد عمومي بهره گرفت.
رمزنگاري به شيوه كليد عمومي
تكنيكهاي رمزنگاري به شيوه كليد عمومي، تابع قواعد كاملاً متفاوتي هستند. در اين شيوه، ارسالكننده و دريافتكننده پيغامهاي رمزشده از يك جفت كليد عمومي و خصوصي استفاده ميكنند. اين جفت كليد در واقع دو عدد هستند كه بين آنها نوعي رابطه رياضي وجود دارد.
به علاوه، اين اعداد داراي خصوصيتي هستند كه در صورت دسترسي به يكي از آنها، هيچ اطلاعاتي در مورد عدد ديگر حاصل نميشود. چنانكه از نام اين شيوه رمزنگاري پيداست، كليد عمومي به طور كاملاً آزادانه (از طريق يك صفحه وب يا يك فهرست عمومي) منتشر ميشود و در اختيار همه قرار ميگيرد.
در نتيجه به آساني ميتوان به مقدار كليد عمومي دسترسي يافت. اين كليد عمومي (توسط يك مرجع تأييد صلاحيت مانند Verisign) بهسادگي مورد ارزيابي و تأييد قرار ميگيرد. در مقابل، يك كليد خصوصي پس از ايجاد و نگهداري توسط يكي از طرفين (دريافتكننده يا فرستنده پيغام)، براي هميشه محفوظ ميماند.
براي ارسال يك پيغام ايمن، فرستنده پيغام، آن را با استفاده از كليد عمومي دريافتكننده، رمزگذاري ميكند. سپس دريافتكننده پيغام به منظور رمزگشايي آن، تابعي را اجرا ميكند كه در آن از كليد خصوصي ارسالكننده بهرهگيري شده است.
از آنجا كه معمولاً كليدهاي عمومي و خصوصي از هزاران بيت اطلاعات تشكيل شدهاند و فرمولهاي مورد استفاده براي رمزگذاري (يا رمزگشايي)، متن ساده (يا رمزشده) را به عنوان يك عدد صحيح بزرگ مورد پردازش قرار ميدهند و آن را به توان عددي ميرسانند كه توسط كليد عمومي (خصوصي) دريافتكننده به دست آمده است، سرعت اجراي اين تكنيك بسيار كُند خواهد بود. بنابراين، رمزنگاري به شيوه كليد عمومي در مواردي كه متن پيغام كوتاه باشد، براي مثال هنگامي كه محتواي پيغام، يك كليد متقارن با طول 56 تا 256 بيت است، كاربرد دارد.
MAHDIAR
19th March 2010, 11:50 PM
امضاي ديجيتالي
يكي از مزاياي الگوريتم كليد عمومي اين است كه ميتوان نقش كليدهاي عمومي و خصوصي را جايگزين كرد و در نتيجه عملكرد جديدي به دست آورد كه براي تأييد هويت فرستنده پيغام كاربرد دارد. به اين عملكرد اصطلاحاً امضاي ديجيتالي گفته ميشود.
فرض كنيد عنصر Xقصد ارسال دادههاي ايمن را براي عنصر Yدارد و عنصر Y بخواهد از ارسال اين اطلاعات توسط عنصر Xاطمينان حاصل كند.
براي انجام اين كار ابتدا عنصر X با استفاده از كليد خصوصي مربوط به خود، تابع رمزگشايي را روي متن پيغام اجرا ميكند.
سپس تابع رمزگذاري را با استفاده از كليد عمومي عنصر Y روي متن پيغام اجرا ميكند. بدين ترتيب متن رمزشده به دست ميآيد.
عنصر Y پس از دريافت پيغام رمز، ابتدا آن را با استفاده از كليد خصوصي مربوط به خود، رمزگشايي مينمايد و سپس نتيجه حاصل را با استفاده از كليد عمومي عنصر Xرمزگذاري ميكند.
اگر پس از اجراي اين مراحل متن اصلي پيغام به دست آيد، علاوه بر حصول اطمينان از حفاظت پيغام در هنگام انتقال، هويت منبع ارسالكننده آن نيز تأييد ميشود؛ چراكه در اولين مرحله از كار، تنها عنصر X امكان دسترسي به كليد خصوصي X را دارد.
لازم به ذكر است كه كليدهاي خصوصي بايد براي هميشه مورد محافظت قرار گيرند. در صورت افشاي يكي از كليدهاي خصوصي، بايد جفت كليدهاي خصوصي و عمومي جاري لغو شود و يك جفت كليد جديد مورد استفاده قرار گيرد.
دستگاه رمزنگاري توماس جفرسون
http://www.shabakeh-mag.com/Data/Gallery/s77_Secure-Sockets02_s.jpg
شکل2- دستگاه رمزنگاري جفرسون. روي هر يک از صفحات دوار اين دستگاه، 26 کاراکتر از حروف الفباي انگليسي بهطور تصاوفي نوشته شده است.
توماس جفرسون در دوران وزارت خود بين سالهاي 1790 تا 1793، به منظور حفظ محتواي پيغامها دستگاهي را ابداع کرد که در واقع نوعي دستگاه رمزنگاري محسوب ميشود.
اين دستگاه از 26 صفحه دوار تشکيل شده که روي هر صفحه 26 کاراکتر از حروف الفباي انگليسي بهطور تصادفي حک شده است (شکل2) هنگام استفاده از اين دستگاه، صفحات دوار به گونه خاصي مستقر ميشدند و ترتيب قرارگيري آنها بهعنوان کليد رمز در اختيار دريافتکننده پيغام قرار ميگرفت.
بدين ترتيب، وقتي پيغامي با 26 کاراکتر در يک سطر نوشته ميشد، 25 سطر باقيمانده متنهاي کدشدهاي را در اختيار کاربر ميگذاشتند که وي ميتوانست هر يک از آنها را بهعنوان پيغام رمز براي مخاطب خود ارسال کند.
شخص مخاطب پس از دريافت پيغام رمز، صفحات دوار را براساس کليد رمز مرتب ميکرد و سپس پيغام رمزشده را در يکي از سطرهاي دستگاه مينوشت. با انجام اين کار، پيغام اصلي در يکي از 25 سطر باقيمانده به نمايش درميآمد.
پروتكل Secure Sockets Layer
حال ميتوانيم به بررسي پروتكل SSL بپردازيم. اين پروتكل روي پروتكل TCP/IP و زيرپروتكلهاي برنامههاي سطح بالا (پروتكل HTTP براي وب، پروتكل IMAP براي ايميل، پروتكل FTP براي انتقال فايل) مورد استفاده قرار ميگيرد. اين پروتكل همواره هويت سرور را مورد بررسي و تأييد قرار ميدهد و در صورت لزوم قادر است هويت كلاينت را نيز مورد تأييد قرار دهد.
كلاينت و سرور در مورد نوع الگوريتم مورد استفاده براي رمزگذاري به شيوه كليد متقارن با يكديگر مذاكره ميكنند و سپس براي به اشتراك گذاشتن اطلاعات محرمانه از شيوه كليد عمومي بهره ميگيرند. در نهايت، يك اتصال رمز شده برقرار مينمايند و تا پايان انتقال دادهها از آن استفاده ميكنند.
براي انجام اين كار، پروتكل SSL (نگارش سوم) دو مرحله شامل برقراري اتصال و انتقال دادهها را به انجام ميرساند. كلاينت (مرورگر) با ارسال پيغامي كه حاوي نگارش پروتكل SSL، تنظيمات مربوط به فشردهسازي و رمزنگاري و نوعي اطلاعات تصادفي (موسوم به nonce) است، برقراري يك اتصال ايمن را از سرور مشخصي (براي مثال Amazon) درخواست ميكند.
سرور، اطلاعاتي را از بين تنظيمات كاربر انتخاب مينمايد و اين تنظيمات را به همراه اطلاعات nonce مربوط به خود، براي كلاينت ارسال ميكند. سپس تأييديه كليد عمومي سرور ايجاد ميشود. (بدين معني كه امضاي ديجيتالي يك مرجع تأييد صلاحيت مورد اعتماد، كليد عمومي سرور را تأييد ميكند.)
در ابتدا تعدادي كليد عموميِ شناخته شده كه براي تأييد صحت كليد عمومي سرور مورد استفاده قرار گرفتهاند، در مرورگر كلاينت بارگذاري ميشود. ممكن است اين كليدهاي عمومي شامل زنجيرهاي از تأييديههاي امضا شده توسط يك مرجع صالح باشند.
با اينكه تأييد صلاحيت كلاينت امري اختياري است، در صورت فعال كردن اين ويژگي، سرور درخواستي را براي دريافت كليد عمومي كلاينت ارسال ميكند و با استفاده از فرايندي مشابه، آن را مورد تأييد قرار ميدهد.
در اين مرحله، كلاينت يك عدد تصادفي را (به عنوان رمز مقدماتي) انتخاب ميكند. سپس آن را با استفاده از كليد عمومي سرور، رمزگذاري مينمايد و براي سرور ارسال ميكند.
حال كلاينت و سرور، با تركيب رمز مقدماتي و دادههاي nonce به شيوهاي معين، كليد مربوط به جلسه انتقال اطلاعات را (كه در تكنيك رمزنگاري مورد توافق به كار ميرود) محاسبه ميكنند.
توجه كنيد كه هر دو طرف (كلاينت و سرور)، كليد حقيقي جلسه را به طور مستقل محاسبه ميكنند و اين كليد هرگز بين آنها مخابره نميشود. اين امر موجب افزايش امنيت ميشود. در انتهاي برقراري اتصال، هريك از طرفين اتصال با ارسال يك پيغام، طرف ديگر را از رمزشدن تبادلات بعدي آگاه ميكند.
به منظور انتقال دادهها، پيغامهاي طولاني به چندين پيغام كوچك با حداكثر حجم شانزده كيلوبايت تقسيم ميشوند. هر يك از پيغامها به طور اختياري فشرده ميگردد و سپس كدي موسوم به Message Authentication Code (متني حاوي قطعهاي از محتواي پيغام، دادههاي nonce، و رمز مقدماتي) به آن ضميمه ميشود.
قطعه متن پيغام و كد MAC ضميمه شده، با استفاده از تكنيك رمزنگاري مورد توافق (كه يكي از تكنيكهاي شيوه كليد متقارن است) و كليد مربوط به جلسه تبادل اطلاعات، رمزگذاري ميشود.
به اين ترتيب از اين پس بهخوبي ميدانيد كه هنگام تغيير پروتكل برنامههاي كاربردي مرورگر از HTTP به HTTPS، تمام عمليات رمزنگاري فوق كه دربرگيرنده پروتكل SSL هستند، به دليل افزايش امنيت در زمان انتقال اطلاعات مهم اجرا ميشوند.
ترجمه: محمد ناصح
ماهنامه شبکه
استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است
استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.