تبلیغات
ایرانیکا - نگاهی به پروتكل Secure Sockets Layer

تجهیزات

آرشیو موضوعی

آخرین پست ها

اخبار خودرو

آرشیو

صفحات جانبی

لیست آخرین رویدادها

کتاب و نشریات

← آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

نمایشگاه ها | همایش ها | کنفرانس ها | سمینارها

سایت صنعت ایران

نگاهی به پروتكل Secure Sockets Layer

 

نگاهی به پروتكل Secure Sockets Layer

تكنیك‌های رمزنگاری‌

 

شیوه‌های حفاظت از اطلاعات به واسطه دستكاری آن به ‌نحوی كه منجر به تبدیل متن ساده به یك متن رمزشده گردد، با عنوان رمزنگاری یا Cryptography شناخته می‌شوند. هدف اصلی تمام روش‌های رمزنگاری، به ‌دست‌آوردن متنی است كه برای تمام افراد، ‌غیر از دریافت‌كننده مجاز آن، نامفهوم باشد.

 

در بخش «دستگاه رمزنگاری توماس جفرسون» در همین مقاله، یك نمونه از ابزاری كه در قرن هیجدهم برای رمزگذاری و رمزگشایی پیغام‌ها به‌ كار می‌رفت، مورد بررسی قرار گرفته است. برای رمزگشایی پیغام، فرستنده و دریافت‌كننده آن باید تكنیك یكسانی را به‌ كار بگیرند و یك كلمه رمز مشخص كنند.

 


در رمزگذاری به شیوه كلید متقارن، به این كلمه رمز كه یك عدد تصادفی است، اصطلاحاً كلید (key) گفته می‌شود. در رمزنگاری به شیوه كلید عمومی كه دارای یك جفت كلید عمومی (public) و خصوصی (private) است، این كلمه رمز درواقع همان كلید خصوصی است. پس از بررسی روش‌های رمزنگاری، علت استفاده همزمان از دو شیوه مذكور مشخص خواهد شد.

رمزنگاری به ‌شیوه كلید متقارن‌

 

همان‌طور كه در  شكل 1 می‌بینید، در رمزنگاری به شیوه كلید متقارن، تابع رمزگذاری (‌)E با استفاده از یك كلید محرمانه k، پیغام متنی P را به متن رمزشده C تبدیل می‌كند. دریافت‌كننده این پیغام رمزشده، با اعمال تابع رمزگشایی (‌)D و همان كلید محرمانه k، این پیغام را به حالت اولیه P بازمی‌گرداند.

 

بهترین تكنیك رمزنگاری به شیوه كلید متقارن، DES یا‌ Data Encryption Standard نام دارد و از سال 1976 مورد استفاده قرار گرفته است. تكنیك DES در واقع یك متن كدشدهِ تكراری است كه به قطعات 64 بیتی متن ساده متصل می‌شود.

 

تابع رمزگذاری به‌ واسطه جابه‌جایی، توسعه، انتقال، فشرده‌سازی، تعویض و تركیب قطعات 64 بیتی متن پیغام با یك كلید 56 بیتی، هر قطعه از متن ورودی را به یك قطعه متن 64 بیتی كدشده تبدیل می‌كند. گیرنده پیغام، با اجرای معكوس مراحل رمزگذاری و با استفاده از همان كلید 56 بیتیk ، قادر است پیغام را به حالت اولیه بازگرداند.

 

شکل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 بیت است، كاربرد دارد.

امضای دیجیتالی‌

 

یكی از مزایای الگوریتم كلید عمومی این است كه می‌توان نقش كلیدهای عمومی و خصوصی را جایگزین كرد و در نتیجه عملكرد جدیدی به‌ دست آورد كه برای تأیید هویت فرستنده پیغام كاربرد دارد. به این عملكرد اصطلاحاً امضای دیجیتالی گفته می‌شود.

 

فرض كنید عنصر Xقصد ارسال داده‌های ایمن را برای عنصر Yدارد و عنصر Y بخواهد از ارسال این اطلاعات توسط عنصر Xاطمینان حاصل كند.

 

برای انجام این كار ابتدا عنصر X با استفاده از كلید خصوصی مربوط به خود، تابع رمزگشایی را روی متن پیغام اجرا می‌كند.

 

سپس تابع رمزگذاری را با استفاده از كلید عمومی عنصر Y روی متن پیغام اجرا می‌كند. بدین ترتیب متن رمزشده به ‌دست می‌آید.

 

عنصر Y پس از دریافت پیغام رمز، ابتدا آن را با استفاده از كلید خصوصی مربوط به خود، رمزگشایی می‌نماید و سپس نتیجه حاصل را با استفاده از كلید عمومی عنصر Xرمزگذاری می‌كند.

 

اگر پس از اجرای این مراحل متن اصلی پیغام به‌ دست آید، علاوه بر حصول اطمینان از حفاظت پیغام در هنگام انتقال، هویت منبع ارسال‌كننده آن نیز تأیید می‌شود؛ چراكه در اولین مرحله از كار، تنها عنصر X امكان دسترسی به كلید خصوصی X را دارد.

 

لازم به ذكر است كه كلیدهای خصوصی باید برای همیشه مورد محافظت قرار گیرند. در صورت افشای یكی از كلیدهای خصوصی، باید جفت كلیدهای خصوصی و عمومی جاری لغو شود و یك جفت كلید جدید مورد استفاده قرار گیرد.

 

پروتكل Secure Sockets Layer

 

حال می‌توانیم به بررسی پروتكل SSL بپردازیم. این پروتكل روی پروتكل TCP/IP و زیرپروتكل‌های برنامه‌های سطح بالا (پروتكل HTTP برای وب، پروتكل IMAP برای ایمیل، پروتكل FTP برای انتقال فایل) مورد استفاده قرار می‌گیرد. این پروتكل همواره هویت سرور را مورد بررسی و تأیید قرار می‌دهد و در صورت لزوم قادر است هویت كلاینت را نیز مورد تأیید قرار دهد.

 

كلاینت و سرور در مورد نوع الگوریتم مورد استفاده برای رمزگذاری به ‌شیوه كلید متقارن با یكدیگر مذاكره می‌كنند و سپس برای به اشتراك گذاشتن اطلاعات محرمانه از شیوه كلید عمومی بهره می‌گیرند. در نهایت، یك اتصال رمز شده برقرار می‌نمایند و تا پایان انتقال داده‌ها از آن استفاده می‌كنند.

 

برای انجام این كار، پروتكل SSL (نگارش سوم) دو مرحله شامل برقراری اتصال و انتقال داده‌ها را به انجام می‌رساند. كلاینت (مرورگر) با ارسال پیغامی كه حاوی نگارش پروتكل SSL، تنظیمات مربوط به فشرده‌سازی و رمزنگاری و نوعی اطلاعات تصادفی (موسوم به nonce) است، برقراری یك اتصال ایمن را از سرور مشخصی (برای مثال Amazon) درخواست می‌كند.

 

سرور، اطلاعاتی را از بین تنظیمات كاربر انتخاب می‌نماید و این تنظیمات را به همراه اطلاعات nonce مربوط به خود، برای كلاینت ارسال می‌كند. سپس تأییدیه كلید عمومی سرور ایجاد می‌شود. (بدین معنی كه امضای دیجیتالی یك مرجع تأیید صلاحیت مورد اعتماد، كلید عمومی سرور را تأیید می‌كند.)

 

در ابتدا تعدادی كلید عمومیِ شناخته شده كه برای تأیید صحت كلید عمومی سرور مورد استفاده قرار گرفته‌اند، در مرورگر كلاینت بارگذاری می‌شود. ممكن است این كلیدهای عمومی شامل زنجیره‌ای از تأییدیه‌های امضا شده توسط یك مرجع صالح باشند.

 

با این‌كه تأیید صلاحیت كلاینت امری اختیاری است، در صورت فعال كردن این ویژگی، سرور درخواستی را برای دریافت كلید عمومی كلاینت ارسال می‌كند و با استفاده از فرایندی مشابه، آن را مورد تأیید قرار می‌دهد.

 

در این مرحله، كلاینت یك عدد تصادفی را (به عنوان رمز مقدماتی) انتخاب می‌كند. سپس آن را با استفاده از كلید عمومی سرور، رمزگذاری می‌نماید و برای سرور ارسال می‌كند.

 

حال كلاینت و سرور، با تركیب رمز مقدماتی و داده‌های nonce به شیوه‌ای معین، كلید مربوط به جلسه انتقال اطلاعات را (كه در تكنیك رمزنگاری مورد توافق به كار می‌رود) محاسبه می‌كنند.

 

توجه كنید كه هر دو طرف (كلاینت و سرور)، كلید حقیقی جلسه را به‌ طور مستقل محاسبه می‌كنند و این كلید هرگز بین آن‌ها مخابره نمی‌شود. این امر موجب افزایش امنیت می‌شود. در انتهای برقراری اتصال، هریك از طرفین اتصال با ارسال یك پیغام، طرف دیگر را از رمزشدن تبادلات بعدی آگاه می‌كند.

 

به‌ منظور انتقال داده‌ها، پیغام‌های طولانی به چندین پیغام كوچك با حداكثر حجم شانزده كیلوبایت تقسیم می‌شوند. هر یك از پیغام‌ها به‌ طور اختیاری فشرده می‌گردد و سپس كدی موسوم به Message Authentication Code (متنی حاوی قطعه‌ای از محتوای پیغام، داده‌های nonce، و رمز مقدماتی) به آن‌ ضمیمه می‌شود.

 

قطعه متن پیغام و كد MAC ضمیمه شده، با استفاده از تكنیك رمزنگاری مورد توافق (كه یكی از تكنیك‌های شیوه كلید متقارن است) و كلید مربوط به جلسه تبادل اطلاعات، رمزگذاری می‌شود.

 

به این ترتیب از این پس به‌خوبی می‌دانید كه هنگام تغییر پروتكل برنامه‌های كاربردی مرورگر از HTTP بهHTTPS، تمام عملیات رمزنگاری فوق كه دربرگیرنده پروتكل SSL هستند، به دلیل افزایش امنیت در زمان انتقال اطلاعات مهم اجرا می‌شوند.

تهیه و تنظیم : حمید رضا آسودگان

 منبع : کتب متفاوت تخصصی مخابرات 

سایت های علمی

لینکستان

دانستنیها

اخبار و مقالات علمی

درباره وبلاگ

مقالات فنی و مهندسی
زندگینامه دانشمندان
مطالب آموزشی
مطالب عمومی
داستان های زیبا
مقالات علمی
سخنان بزرگان
سخنان مشاهیر
مدیر وبلاگ : سایت ایرانیکا

لینکدونی

جستجو

نظرسنجی

  • کدام یک از موضوعات وبلاگ بیشتر مورد علاقه شماست؟








----- banner place -------

نویسندگان