صفحه 1:
. SSL PROTOCOL محسن ملکان محمد همتی

صفحه 2:

صفحه 3:
سه مشکل عمده در زمینه تبادل اطلاعات در شبکه: (Confidentiality) ls oslo Silex. * (Integrity) ‏تمامیت داده ها‎ * * تائید هویت طرف های ارسال کننده و دریافت کننده ‎(Authentication)‏

صفحه 4:
رمزنگاری متقارن * کلید رمزنگاری و رمزگشایی یکسان هستند * سهولت پیاده سازی سرعت بالا a2 si. ‎key is used to ۳۷‏ ند ‎and decrypt message‏ ‎Recipient ‎Shared'Seciet'Key”

صفحه 5:
و ي. یه Sender Encrypt Decrypt Recipient \ ۳ oye are used to ۱ ‘encrypt and decrypt meccage Recipients Recipients Pubic Private Key رمزنگاری نامتقای: هر موجودیت یک کلید خصوصی و یک کلید عمومی دارد داده ای که با یکی از اين دو رمز شود با دیگری رمزگشایی میشود * مشکل اصلی این روش تطبیق كليد عمومى با موجودیت است؛ یعنی بتوان اطمینان حاصل کرد کهاکلید,عمومی موجودیت 2 ۱

صفحه 6:
منظور از محزمانگی آن آمست که اطلاعاتزمویدال_شقه ل موجودیت های غیرمجاز قابل فهم نباشد / محرمانگی از طریق رمزکردن اطلاعات ارسالی با یک کلید متقارن تصادفی به دست می آید الگوریتم های متقارن به لحاظ سرعت بیشتری که دارند در رمكردن حجم ها يزرك اطلاعات مورد استفاده رار ‎NSS‏ ‏کلید متقارن تصادفی نیز با کلید عمومی گیرنده رمزمیشود و 3 همراه اطلاعات فرستاده می شود گیرنده ابتدا با استفاده از كليد خصوصی اش کلید متقارن تصادفی را می یابد و سپس با استفاده از آن کل اطلاعات را رمزگشایی مي ‘ozhe.com

صفحه 7:
متكلور از تمامیت داده دریافت داده به همان صورت ارسال شده در سمت فرستنده ‎HASH‏ ييغام ارسالى محاسبه شده و با كليد خصوصی رمزنگاری میشود و سپس به طرف كيرنده ارسال میشود در سمت كيرنده يس از دريافت پیغام و رمزگشایی ‎HASH al‏ مجددا محاسبه ميشود 16511! دريافمتشدماز فرستندم نيز يمزكشايىميشود وبا ‎HASH‏ محاسبه شدم مقايسه ميشود. 3 ‎dailies dbl‏ تمامینهادم ها لحراز میشود ‎vehecom‏

صفحه 8:
é ‏مقدمه ای بر رمزنگاری‎ * *تاریخچه و معماری

صفحه 9:
3 تا رد ‎Sli eal, «Secure Socket Eee ae .‏ تباطاتلی مر یانٍ بیسی‌هنده و بکسروي ‎Steal lous‏ 00 ارلیه شدم لست لاد ریاس کب مهاب یط و بالثر از لایه انتقا (قرار میگ یت استفاده از ۳ پروتکل بهره‌گیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکل‌های غیرامن لایه کاربردی نظیر ۱۷۱۵۳ ۰2۸۳ ۲۱۲۲۳ و.. می‌باشد که براساس آن الگوریتم‌های رمزنگاری » ‎aS (Plain text) ple (clacsls cog)‏ قرار است از یک کانال ارتباطی غیرامن مثل اینترنت ‎WOES gre‏ اعمال می‌شود و محرمانه ماندن داده‌ها را در طول کانال انتقال هیر كن

صفحه 10:
تاریخجه * طراحی نسخه یک 1.0 او توسط ۱۱6166806 در ۱۹۹۴ هیچگاه منتشر نشد * انتشار نسخه ۲ در 1995 ۴۵0 مشکلات امنیتی * انتشار نسخه ۳ در ۱۹۹۶ با تغییرات و جهش عمده نسبت به نسخه های قبلی همراه بود www.prozhe.com

صفحه 11:
تاریخجه * ارائه 1.0 75 توسط 12۲۴ همراه با 2246 8۳6 در" ‎yaaa‏ ‏همان 3.1 551 * انتشار 1 1اماة | در ۲۰۰۶ محافظت در مقابل حملات 08 پشتیبانی از ‎IANA registration of parameters‏ ۴ انتشار نسخه 1.2 اوآ ۲۰:۸

صفحه 12:
معماری با SSL/TLS Protocol Layers

صفحه 13:
Record protocol * فشرده سازی اطلاعات * تولید ‎MAC‏ ‏رمزنگاری اطلاعات www. prozhe.com

صفحه 14:
Record Protocol 1 Byte Majo1 Avtho _1 Byte 2 Byte Ty r| r |Lengt versi | versi h Message * طول قسمت ۷۵5506 * حداکثر ۱۴۲ 5۱۷۲6 ىم سس

صفحه 15:
Record Protocol Fragmentati one on : Compactio n MAC 1 Encryption

صفحه 16:
Alert Protocol * برای اعلان اخطار یا خطا به طرف مقابل استفاده میشود * طول آن دو بایت است. ۱ بایت مشخص کننده سطح هشدار و ۱ بایت آن مشخص کننده نوع هشدار است 3 warning ‏تاد‎ ‎Descripti ‎Level an

صفحه 17:
Alert Protocol jest ۳1 ‏رز‎ ‎Legh ‎۳ 1 1 ‏شما‎ ‎WA in Pacing fk tron) ۳۳ ار si ‏لها‎ Be ۳ لا Ayes 1۳ Uy) 1۳ ol

صفحه 18:
ChangeCipherSpec Protocol * به طرف مقابل اعلام میکند که تمام ارتباطات با استفاده از کلید متقارن مورد توافق رمزنگاری خواهد شد * طول آن ۱ بایت است و مقدار آن هميشه یک میباشد

صفحه 19:
ChangeCipherSpec Protocol . ۳ ed ‏نذا‎ bye 1 1 ليما | 0-0 م ul 0 hj ۱ 1 | ۷ | ‏سس‎ www-prozhe.com

صفحه 20:
۰ اس ‎BH paysiuly‏ ص 8 > 6 1 <!3ناجلاة 3 »دباع لا6ق | ‎O} | @ 25 Fe‏ ۰ 1 و ۶ | اند 5 0 وولجبيدء جهرددبيى ‎a8 1 El‏ © ا 4 ‎ayes,‏ ‎Vv 2 1 ig Bi 901000۱9۲۱9۸95‏ ‎We 1 3‏ 5 ا ‎ysonbayayesyiyo: d‏ § ۱ ووبدریید۱936 چ 00 4 ۱ 2 وا اک ‎g‏ رازه ‎gs fn vy‏ ما اند ‎TO 52‏ ‎DO‏ ‏سه ل ‎ee‏ ‎ou‏ ‎Ol x2‏ 385 رةه 8 2 1 ‎Qe a o1jaHAUa!ID‏ بل > ‎F ysanbayo)|ay‏ 9 إن اتا 0

صفحه 21:
Handshake Protocol + Bye Byes Bj? Bye Bye CO Byes Yasin | Le 4 ‏اج‎ 1 ‘Me I ۳ 1 erg jes nist esa dale ۰ man ‏لت ۳ مم‎ yes 1 nie mesa a Bytes i ] anishke mestag:datlengt oe) oe aed me iwi Byes nto mse faa ۳ — www-prozhe.com

صفحه 22:
* مقدمه ای بر رمزنگاری ‎ees‏ ‏* تاریخچه و معماری تست ۱ ی ادع .02118 ]د لاا

صفحه 23:
عملكرد ‎SSL‏ كك ™ ClientHello| (Server Authenticate Only) Type Message Leng#handshake message 1 0 ۱ آم: با للرینسخه لیکه پشتیبانی‌میکند 0 نمازو تاریخ جاریسیستم و یکعدد تصادفی۲۸ بایتی| ‎‘Session_id‏ > یسکجلسه جدید خا لولست ‎Cipher_suites‏ ليستواز الكوييتم هاىمرد يشتيبانى: ادل كليد توليد 1/186 و يمزنكيىمتن ‎Compression_methods °‏ ليستواز الكوييتمهاىمورد پشتیبانی سولیف شرده سای ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 24:
SSL » Slee (Server Authenticate Only) Type Message Leng#handshake message 2 * ۷6۲5۱00 56۳۷6۲: شمه نسخه مورد تولفق ‎:]٩8]00۳0 ۶‏ دو عدد تتصادفی‌که مستقلو متفلیتاز لعداد فرستادم شده توسط ]60۱ آ) هستند ‎oft Session_id ۴‏ جلسه لیجاد شدم ‏۰ 6]ألا06۲_5آ: | گوریتم لنتخابشده از میانییشنهادهای ‎Client‏ ‏* ۳061۳00 20۲۱۵۲655100): | -لگوریتم‌انتخابشده برلی فسترده سلیواز میانبسیشنهادهای 60 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 25:
SSL » Slee (Server Authenticate Only) Type Message Lengthandshake message 11 7۳ * ارسال گواهینامه سرور مطابق با الگوریتم تبادل کلید توافق شده در مراحل قبل و

صفحه 26:
SSL » Slee (Server Authenticate Only) Type Message Lengthandshake message 14 و اعلام اتمام بيام هاى سرور. :]611617 با دريافت اين ييام شروع به بررسی اعتبار كواهينامه سرور و نيز يارامترهاى ارسال شده از جانب او ميكند

صفحه 27:
SSL » Slee (Server Authenticate Only) Message Lengthandshake message 4 ۰ ۲6۱85۲6۲566۲6۲: بر لساسگوریتم تبادل‌کلید مورد تولفق| در مرلحلقبلولید و لوسا [هیشود Type 16

صفحه 28:
SSL » Slee (Server Authenticate Only) * یک بایت لست و مقدار آن همیشه یک است و به سرور لعلام میکند ‎dngeCipherSb‏ ‏این لحظه تمام داده های ارسالی با استفاده از کلید جدید ‎(MasterSecret)‏ ,5,185( شده اند

صفحه 29:
SSL » Slee (Server Authenticate Only) Type Message Lengthandshake message 20 صحت توافقات اطمینان حاصل شود

صفحه 30:
SSL » Slee (Server Authenticate Only)

صفحه 31:
SSL » Slee (Server Authenticate Only) h

صفحه 32:
ttp://tools.ietf.org/html/rfc2246 ittp://en.wikipedia.org/wiki/Transport_Layer Securit) ttp://technet.microsoft.com/en-us/library/cc781476%28WS.10%29.aspx ttp://www.cgisecurity.com/owasp/html/chO7s04.html SL_TLS by “Nathan Friedly” www-prozhe.com

صفحه 33:
PROZHE.COM

‏SSL PROTOCOL محسن ملکان محمد همتی • مقدمه ای بر رمزنگاری 1 • تاریخچه و معماری 2 • عملکرد 3 ‏www.prozhe.com سه مشکل عمده در زمینه تبادل اطالعات در شبکه: • محرمانگی داده ها () Confidentiality • تمامیت داده ها ()Integrity • تائید هویت طرف های ارسال کننده و دریافت کننده ()Authentication ‏www.prozhe.com رمزنگاری متقارن • کلید رمزنگاری و رمزگشایی یکسان هستند • سهولت پیاده سازی • سرعت باال ‏www.prozhe.com رمزنگاری نامتقارن • • هر موجودیت یک کلید خصوصی و یک کلید عمومی دارد داده ای که با یکی از این دو رمز شود با دیگری رمزگشایی میشود • مشكل اصلي اين روش تطبيق كليد عمومي با موجوديت است؛ يعني بتوان اطمينان حاصل كرد كه Kكليد عمومي موجوديت Xاست ‏www.prozhe.com منظور از محرمانگي آن است كه اطالعات ردوبدل شده توسط موجوديت هاي غيرمجاز قابل فهم نباشد محرمانگي از طريق رمزكردن اطالعات ارسالي با يك كليد متقارن تصادفي به دست مي آيد الگوريتم هاي متقارن به لحاظ سرعت بيشتري كه دارند در رمزكردن حجم هاي بزرگ اطالعات مورد استفاده قرار مي گيرند كليد متقارن تصادفي نيز با كليد عمومي گيرنده رمزميشود و همراه اطالعات فرستاده مي شود گيرنده ابتدا با استفاده از كليد خصوصي اش ،كليد متقارن تصادفي را مي يابد و سپس با استفاده از آن كل اطالعات را رمزگشايي مي كند ‏www.prozhe.com منظور از تمامیت داده دریافت داده به همان صورت ارسال شده است در سمت فرستنده HASHپیغام ارسالی محاسبه شده و با کلید خصوصی رمزنگاری میشود و سپس به طرف گیرنده ارسال میشود در سمت گیرنده پس از دریافت پیغام و رمزگشایی آن HASH مجددا محاسبه میشود HASHدریافت شده از فرستنده نیز رمزگشایی میشود و با HASHمحاسبه شده مقایسه میشود ،اگر مطابقت داشت تمامیت داده ها احراز میشود ‏www.prozhe.com • مقدمه ای بر رمزنگاری 1 • تاریخچه و معماری 2 • عملکرد 3 ‏www.prozhe.com معرفی و تاریخچه • SSLیا ))Secure Socket Layerراه‌حلی جهت برقراری ارتباطات ایمن میان یك سرویس‌دهنده و یك سرویس‌گیرنده است كه توسط شركت Netscapeارایه شده است • SSLپروتكلی است كه پایین‌تر از الیه كاربرد و باالتر از الیه انتقال قرار می‌گیرد • مزیت استفاده از این پروتكل بهره‌گیری از موارد امنیتی تعبیه شده آن برای امن كردن پروتكل‌های غیرامن الیه كاربردی نظیر HTTP ،LDAP ،IMAPو ...می‌باشد كه براساس آن الگوریتم‌های رمزنگاری بر روی داده‌های خام ( )plain textكه قرار است از یك كانال ارتباطی غیرامن مثل اینترنت عبور كنند، اعمال می‌شود و محرمانه ماندن داده‌ها را در طول كانال انتقال تضمین می‌كند ‏www.prozhe.com تاریخچه • طراحی نسخه یک SSL 1.0توسط Netscapeدر 1994 هیچگاه منتشر نشد • انتشار نسخه 2در Feb 1995 مشکالت امنیتی • انتشار نسخه 3در 1996 با تغییرات و جهش عمده نسبت به نسخه های قبلی همراه بود ‏www.prozhe.com تاریخچه • ارائه TSL 1.0توسط IETFهمراه با RFC 2246در 1999 همان SSL 3.1 • انتشار TSL 1.1در 2006 محافظت در مقابل حمالت CBC پشتیبانی از IANA registration of parameters • انتشار نسخه TSL 1.2در 2008 ‏www.prozhe.com SSL معماری www.prozhe.com Aler ‏t ‏Change ‏Cipher ‏Spec ‏Handsh ‏ake ‏Record protocol • • • • • گیرنده اطالعات فرستنده و هویت سازی احراز فشرده • رمزنگاری و استفاده موردبرای توافق های مورد الگوریتم ‏MAC برایاز کلید تولید استفاده توافق • اعالن هشدار یا خطا به طرف مقابل • اشتراکی مورد استفاده اطالعات کلیدها داده رمزنگاری روی رمزگشایی توافق بر و • ...و ... ‏www.prozhe.com Record Protocol 1 Byte Majo1 Byte Mino 16384 Byte Typ e 1 Byte Lengt r r versi versi h on on 2 Byte Message • مشخص کننده نوع پروتوکل استفاده شده در الیه باالتر • مشخص کننده نسخه مورد استفاده SSL 3.0 Message قسمت20 • طول ChangeCipherSpec SSL 3.1 (TSL 1.0) Alert 21 • Byte 14 ^ 2 حداکثر SSL 3.2 (TSL 1.1) Handshake22 SSL 3.3 (TSL 1.2) Application(Data)23 www.prozhe.com Record Protocol اطالعات Fragmentati on F1 F1 Head er F1 MA C Encryption F1 MA C MAC F2 MA C Compactio n F1 www.prozhe.com … Fn Alert Protocol • برای اعالن اخطار یا خطا به طرف مقابل استفاده میشود • طول آن دو بایت است 1 ،بایت مشخص کننده سطح هشدار و 1بایت آن مشخص کننده نوع هشدار است :1 ‏warning ‏fatal :2 ‏Descripti ‏on ‏Level ‏www.prozhe.com Alert Protocol www.prozhe.com ChangeCipherSpec Protocol • به طرف مقابل اعالم میکند که تمام ارتباطات با استفاده از کلید متقارن مورد توافق رمزنگاری خواهد شد • طول آن 1بایت است و مقدار آن همیشه یک میباشد ‏www.prozhe.com ChangeCipherSpec Protocol www.prozhe.com Handshake Protocol Typ e Handshake Handshake message data message data lengt 1 Byte 3 Byte نوع پیغام را مشخص میکند: Type • 20 Finished 16 ClientKeyExchang e 15 CertificateVerify 14 ServerHelloDone 13 CertificateRequest 12 ServerKeyExchang e 11 Certificate 2 ServerHello 1 ClientHello 0 HelloRequest description Cod e وجود داشتهHandshake • در یک رکورد میتواند چندین بسته باشد www.prozhe.com Handshake Protocol www.prozhe.com • مقدمه ای بر رمزنگاری 1 • تاریخچه و معماری 2 • عملکرد 3 ‏www.prozhe.com عملکرد SSL )(Server Authenticate Only ‏Handshake message ‏Type Message Length 1 • • • • • :Client_Versionباالترین نسخه ایکه پشتیبانی میکند :Randomزمان و تاریخ جاری سیستم و یک عدد تصادفی 28بایتی :Session_idدر شروع یک جلسه جدید خالی است :Cipher_suitesلیستی از الگوریتم های مرد پشتیبانی تبادل کلید ،تولید ،MACو رمزنگاری متن :Compression_methodsلیستی از الگوریتم های مورد پشتیبانی برای فشرده سازی ‏www.prozhe.com ‏ClientHello عملکرد SSL )(Server Authenticate Only ‏Handshake message ‏Type Message Length 2 • • • • • :Server_Versionشماره نسخه مورد توافق :Randomدو عدد تصادفی که مستقل و متفاوت از اعداد فرستاده شده توسط Clientهستند :Session_idشماره جلسه ایجاد شده :Cipher_suiteالگوریتم انتخاب شده از میان پیشنهادهای ‏Client :Compression_methodالگوریتم انتخاب شده برای فشرده سازی از میان پیشنهادهای Client ‏www.prozhe.com ‏ClientHello ‏ServerHello ClientHello ServerHello Certificate SSL عملکرد (Server Authenticate Only) Handshake message Type Message Length 11 ارسال گواهینامه سرور مطابق با الگوریتم تبادل کلید توافق شده در مراحل قبل www.prozhe.com • SSL عملکرد (Server Authenticate Only) ClientHello Handshake message Type Message Length ServerHello 14 Certificate ServerHelloDone با دریافت این پیام شروع به بررسیclient ،اعالم اتمام پیام های سرور اعتبار گواهینامه سرور و نیز پارامترهای ارسال شده از جانب او میکند www.prozhe.com • SSL عملکرد (Server Authenticate Only) ClientHello Handshake message Type Message Length ServerHello 16 Certificate ServerHelloDone ClientKeyExchange بر اساس الگوریتم تبادل کلید مورد توافق در:PreMasterSecret مراحل قبل تولید و ارسال میشود www.prozhe.com • ClientHello SSL عملکرد (Server Authenticate Only) ServerHello Certificate ServerHelloDone ClientKeyExchange • یک بایت است و مقدار آن همیشه یک است و به سرور اعالم میکند که از ChangeCipherSpec این لحظه تمام داده های ارسالی با استفاده از کلید جدید ) رمزنگاری شده اندMasterSecret( www.prozhe.com ClientHello ServerHello Certificate SSL عملکرد (Server Authenticate Only) Handshake message Type Message Length 20 ServerHelloDone ClientKeyExchange ChangeCipherSpec• اولین پیامیست که به وسیله کلید جدید رمزنگاری و ارسال میشود تا از صحت توافقات اطمینان حاصل شود Finished www.prozhe.com ClientHello SSL عملکرد (Server Authenticate Only) ServerHello Certificate ServerHelloDone ClientKeyExchange ChangeCipherSpec Finished ChangeCipherSpec www.prozhe.com ClientHello SSL عملکرد (Server Authenticate Only) ServerHello Certificate ServerHelloDone ClientKeyExchange ChangeCipherSpec Finished ChangeCipherSpec Finished www.prozhe.com References http://tools.ietf.org/html/rfc2246 http://en.wikipedia.org/wiki/Transport_Layer_Security http://technet.microsoft.com/en-us/library/cc781476%28WS.10%29.aspx http://www.cgisecurity.com/owasp/html/ch07s04.html SSL_TLS by “Nathan Friedly” www.prozhe.com PROZHE.COM www.prozhe.com

51,000 تومان